HPLjetIIPrinterStream.st
author Claus Gittinger <cg@exept.de>
Tue, 26 Feb 2008 11:29:14 +0100
changeset 1930 935b2870be2e
parent 1649 5b56cd237a28
child 4196 bb2ff928a16d
permissions -rw-r--r--
arrow points reusable (class protocol)
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
1cf8d1747859 Initial revision
claus
parents:
diff changeset
     1
"
4
1f66800df351 *** empty log message ***
claus
parents: 2
diff changeset
     2
 COPYRIGHT (c) 1988 by Claus Gittinger
84
claus
parents: 36
diff changeset
     3
	      All Rights Reserved
0
1cf8d1747859 Initial revision
claus
parents:
diff changeset
     4
1cf8d1747859 Initial revision
claus
parents:
diff changeset
     5
 This software is furnished under a license and may be used
1cf8d1747859 Initial revision
claus
parents:
diff changeset
     6
 only in accordance with the terms of that license and with the
1cf8d1747859 Initial revision
claus
parents:
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
1cf8d1747859 Initial revision
claus
parents:
diff changeset
     8
 be provided or otherwise made available to, or used by, any
1cf8d1747859 Initial revision
claus
parents:
diff changeset
     9
 other person.  No title to or ownership of the software is
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    10
 hereby transferred.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    11
"
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    12
1317
890b41076c7c changed inheritance;
Claus Gittinger <cg@exept.de>
parents: 441
diff changeset
    13
"{ Package: 'stx:libbasic2' }"
890b41076c7c changed inheritance;
Claus Gittinger <cg@exept.de>
parents: 441
diff changeset
    14
0
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    15
PrinterStream subclass:#HPLjetIIPrinterStream
259
6d36f3ac42a2 documentation
Claus Gittinger <cg@exept.de>
parents: 179
diff changeset
    16
	instanceVariableNames:''
6d36f3ac42a2 documentation
Claus Gittinger <cg@exept.de>
parents: 179
diff changeset
    17
	classVariableNames:''
6d36f3ac42a2 documentation
Claus Gittinger <cg@exept.de>
parents: 179
diff changeset
    18
	poolDictionaries:''
1649
5b56cd237a28 category change
fm
parents: 1317
diff changeset
    19
	category:'Interface-Printing'
0
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    20
!
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    21
1317
890b41076c7c changed inheritance;
Claus Gittinger <cg@exept.de>
parents: 441
diff changeset
    22
!HPLjetIIPrinterStream class methodsFor:'documentation'!
31
e223f3cf2995 *** empty log message ***
claus
parents: 9
diff changeset
    23
e223f3cf2995 *** empty log message ***
claus
parents: 9
diff changeset
    24
copyright
e223f3cf2995 *** empty log message ***
claus
parents: 9
diff changeset
    25
"
e223f3cf2995 *** empty log message ***
claus
parents: 9
diff changeset
    26
 COPYRIGHT (c) 1988 by Claus Gittinger
84
claus
parents: 36
diff changeset
    27
	      All Rights Reserved
31
e223f3cf2995 *** empty log message ***
claus
parents: 9
diff changeset
    28
e223f3cf2995 *** empty log message ***
claus
parents: 9
diff changeset
    29
 This software is furnished under a license and may be used
e223f3cf2995 *** empty log message ***
claus
parents: 9
diff changeset
    30
 only in accordance with the terms of that license and with the
e223f3cf2995 *** empty log message ***
claus
parents: 9
diff changeset
    31
 inclusion of the above copyright notice.   This software may not
e223f3cf2995 *** empty log message ***
claus
parents: 9
diff changeset
    32
 be provided or otherwise made available to, or used by, any
e223f3cf2995 *** empty log message ***
claus
parents: 9
diff changeset
    33
 other person.  No title to or ownership of the software is
e223f3cf2995 *** empty log message ***
claus
parents: 9
diff changeset
    34
 hereby transferred.
e223f3cf2995 *** empty log message ***
claus
parents: 9
diff changeset
    35
"
e223f3cf2995 *** empty log message ***
claus
parents: 9
diff changeset
    36
!
e223f3cf2995 *** empty log message ***
claus
parents: 9
diff changeset
    37
e223f3cf2995 *** empty log message ***
claus
parents: 9
diff changeset
    38
documentation
e223f3cf2995 *** empty log message ***
claus
parents: 9
diff changeset
    39
"
179
38773360f4b7 more on printing (printerType-query)
Claus Gittinger <cg@exept.de>
parents: 126
diff changeset
    40
    This class defines protocol for simple text prinitng on an HP Laserjet 2/3
38773360f4b7 more on printing (printerType-query)
Claus Gittinger <cg@exept.de>
parents: 126
diff changeset
    41
    (and compatible) printer. 
38773360f4b7 more on printing (printerType-query)
Claus Gittinger <cg@exept.de>
parents: 126
diff changeset
    42
    It does not support multiple fonts, but knows how to print bold, italic etc.
38773360f4b7 more on printing (printerType-query)
Claus Gittinger <cg@exept.de>
parents: 126
diff changeset
    43
38773360f4b7 more on printing (printerType-query)
Claus Gittinger <cg@exept.de>
parents: 126
diff changeset
    44
    Graphics printing is not supported - you need a postscriptprinter for this.
259
6d36f3ac42a2 documentation
Claus Gittinger <cg@exept.de>
parents: 179
diff changeset
    45
348
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 259
diff changeset
    46
    Notice: 
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 259
diff changeset
    47
        This class only defines some minimum protocol for printing on
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 259
diff changeset
    48
        HP-LJ - you really should use a PostscriptPrinter ...
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 259
diff changeset
    49
        ... however, if you own a LJ, here is some class to start with.
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 259
diff changeset
    50
        It may need to be enhanced at some places (for example: provide more
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 259
diff changeset
    51
        fonts/emphasis's, better international character translation,
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 259
diff changeset
    52
        image printing etc.)
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 259
diff changeset
    53
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 259
diff changeset
    54
        This class is not officially supported - take it or leave it.
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 259
diff changeset
    55
259
6d36f3ac42a2 documentation
Claus Gittinger <cg@exept.de>
parents: 179
diff changeset
    56
    [author:]
6d36f3ac42a2 documentation
Claus Gittinger <cg@exept.de>
parents: 179
diff changeset
    57
        Claus Gittinger
31
e223f3cf2995 *** empty log message ***
claus
parents: 9
diff changeset
    58
"
179
38773360f4b7 more on printing (printerType-query)
Claus Gittinger <cg@exept.de>
parents: 126
diff changeset
    59
! !
38773360f4b7 more on printing (printerType-query)
Claus Gittinger <cg@exept.de>
parents: 126
diff changeset
    60
1317
890b41076c7c changed inheritance;
Claus Gittinger <cg@exept.de>
parents: 441
diff changeset
    61
!HPLjetIIPrinterStream class methodsFor:'initialization'!
441
dbbbefa3beae no a2ps in command-list
dq
parents: 370
diff changeset
    62
dbbbefa3beae no a2ps in command-list
dq
parents: 370
diff changeset
    63
initialize
dbbbefa3beae no a2ps in command-list
dq
parents: 370
diff changeset
    64
    DefaultCommands := #('lpr' 
dbbbefa3beae no a2ps in command-list
dq
parents: 370
diff changeset
    65
                         'lpr -P<your-printer>' 
dbbbefa3beae no a2ps in command-list
dq
parents: 370
diff changeset
    66
                         'cat | rsh <printHost> lpr -h' 
dbbbefa3beae no a2ps in command-list
dq
parents: 370
diff changeset
    67
                        ).
dbbbefa3beae no a2ps in command-list
dq
parents: 370
diff changeset
    68
    super initialize
dbbbefa3beae no a2ps in command-list
dq
parents: 370
diff changeset
    69
dbbbefa3beae no a2ps in command-list
dq
parents: 370
diff changeset
    70
    "
dbbbefa3beae no a2ps in command-list
dq
parents: 370
diff changeset
    71
     self initialize
dbbbefa3beae no a2ps in command-list
dq
parents: 370
diff changeset
    72
    "
dbbbefa3beae no a2ps in command-list
dq
parents: 370
diff changeset
    73
dbbbefa3beae no a2ps in command-list
dq
parents: 370
diff changeset
    74
! !
dbbbefa3beae no a2ps in command-list
dq
parents: 370
diff changeset
    75
1317
890b41076c7c changed inheritance;
Claus Gittinger <cg@exept.de>
parents: 441
diff changeset
    76
!HPLjetIIPrinterStream class methodsFor:'queries'!
179
38773360f4b7 more on printing (printerType-query)
Claus Gittinger <cg@exept.de>
parents: 126
diff changeset
    77
38773360f4b7 more on printing (printerType-query)
Claus Gittinger <cg@exept.de>
parents: 126
diff changeset
    78
printerTypeName
38773360f4b7 more on printing (printerType-query)
Claus Gittinger <cg@exept.de>
parents: 126
diff changeset
    79
    "return a descriptive name"
38773360f4b7 more on printing (printerType-query)
Claus Gittinger <cg@exept.de>
parents: 126
diff changeset
    80
38773360f4b7 more on printing (printerType-query)
Claus Gittinger <cg@exept.de>
parents: 126
diff changeset
    81
    ^ 'hp laserjet III compatible printer'
31
e223f3cf2995 *** empty log message ***
claus
parents: 9
diff changeset
    82
! !
e223f3cf2995 *** empty log message ***
claus
parents: 9
diff changeset
    83
0
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    84
!HPLjetIIPrinterStream methodsFor:'access writing'!
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    85
348
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 259
diff changeset
    86
cr
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 259
diff changeset
    87
    "send a carriage-return (newLine) to the printer.
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 259
diff changeset
    88
     We have to output cr-nl here"
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 259
diff changeset
    89
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 259
diff changeset
    90
    super nextPutUntranslated:(Character value:13).
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 259
diff changeset
    91
    super nextPutUntranslated:(Character value:10).
370
705453f00711 keep per-printer defaults
Claus Gittinger <cg@exept.de>
parents: 348
diff changeset
    92
    self spaces:self class leftMargin
348
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 259
diff changeset
    93
370
705453f00711 keep per-printer defaults
Claus Gittinger <cg@exept.de>
parents: 348
diff changeset
    94
    "Modified: 1.6.1996 / 00:13:42 / cg"
1317
890b41076c7c changed inheritance;
Claus Gittinger <cg@exept.de>
parents: 441
diff changeset
    95
!
890b41076c7c changed inheritance;
Claus Gittinger <cg@exept.de>
parents: 441
diff changeset
    96
890b41076c7c changed inheritance;
Claus Gittinger <cg@exept.de>
parents: 441
diff changeset
    97
nextPut:aCharacter
890b41076c7c changed inheritance;
Claus Gittinger <cg@exept.de>
parents: 441
diff changeset
    98
    stream nextPut:aCharacter
348
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 259
diff changeset
    99
! !
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 259
diff changeset
   100
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 259
diff changeset
   101
!HPLjetIIPrinterStream methodsFor:'emphasis change'!
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 259
diff changeset
   102
126
fca9404da9d4 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
   103
bold
348
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 259
diff changeset
   104
    "switch to bold emphasis"
0
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   105
179
38773360f4b7 more on printing (printerType-query)
Claus Gittinger <cg@exept.de>
parents: 126
diff changeset
   106
    "send <ESC>(s0S<ESC>(s3B"
38773360f4b7 more on printing (printerType-query)
Claus Gittinger <cg@exept.de>
parents: 126
diff changeset
   107
38773360f4b7 more on printing (printerType-query)
Claus Gittinger <cg@exept.de>
parents: 126
diff changeset
   108
    super escapeAll:'(s0S'.
38773360f4b7 more on printing (printerType-query)
Claus Gittinger <cg@exept.de>
parents: 126
diff changeset
   109
    super escapeAll:'(s3B'
348
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 259
diff changeset
   110
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 259
diff changeset
   111
    "Modified: 18.5.1996 / 09:10:39 / cg"
0
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   112
!
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   113
348
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 259
diff changeset
   114
italic
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 259
diff changeset
   115
    "switch to italic/oblique emphasis"
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 259
diff changeset
   116
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 259
diff changeset
   117
    super escapeAll:'(s1S'.
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 259
diff changeset
   118
    super escapeAll:'(s0B'
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 259
diff changeset
   119
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 259
diff changeset
   120
    "Modified: 18.5.1996 / 09:10:44 / cg"
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 259
diff changeset
   121
!
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 259
diff changeset
   122
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 259
diff changeset
   123
normal
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 259
diff changeset
   124
    "switch to normal/roman emphasis"
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 259
diff changeset
   125
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 259
diff changeset
   126
    super escapeAll:'(s0S'.
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 259
diff changeset
   127
    super escapeAll:'(s0B'
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 259
diff changeset
   128
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 259
diff changeset
   129
    "Modified: 18.5.1996 / 09:10:48 / cg"
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 259
diff changeset
   130
! !
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 259
diff changeset
   131
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 259
diff changeset
   132
!HPLjetIIPrinterStream methodsFor:'font change'!
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 259
diff changeset
   133
0
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   134
courier
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   135
    "switch to courier font"
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   136
179
38773360f4b7 more on printing (printerType-query)
Claus Gittinger <cg@exept.de>
parents: 126
diff changeset
   137
    super escapeAll:'(s3T'
0
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   138
!
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   139
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   140
helvetica
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   141
    "switch to helvetica font"
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   142
179
38773360f4b7 more on printing (printerType-query)
Claus Gittinger <cg@exept.de>
parents: 126
diff changeset
   143
    super escapeAll:'(s4T'
0
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   144
!
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   145
126
fca9404da9d4 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
   146
times
fca9404da9d4 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
   147
    "switch to times font"
fca9404da9d4 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
   148
179
38773360f4b7 more on printing (printerType-query)
Claus Gittinger <cg@exept.de>
parents: 126
diff changeset
   149
    super escapeAll:'(s5T'
0
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   150
! !
259
6d36f3ac42a2 documentation
Claus Gittinger <cg@exept.de>
parents: 179
diff changeset
   151
1317
890b41076c7c changed inheritance;
Claus Gittinger <cg@exept.de>
parents: 441
diff changeset
   152
!HPLjetIIPrinterStream class methodsFor:'documentation'!
259
6d36f3ac42a2 documentation
Claus Gittinger <cg@exept.de>
parents: 179
diff changeset
   153
6d36f3ac42a2 documentation
Claus Gittinger <cg@exept.de>
parents: 179
diff changeset
   154
version
1649
5b56cd237a28 category change
fm
parents: 1317
diff changeset
   155
    ^ '$Header: /cvs/stx/stx/libbasic2/HPLjetIIPrinterStream.st,v 1.18 2006-08-07 13:26:59 fm Exp $'
259
6d36f3ac42a2 documentation
Claus Gittinger <cg@exept.de>
parents: 179
diff changeset
   156
! !
1317
890b41076c7c changed inheritance;
Claus Gittinger <cg@exept.de>
parents: 441
diff changeset
   157
441
dbbbefa3beae no a2ps in command-list
dq
parents: 370
diff changeset
   158
HPLjetIIPrinterStream initialize!