PostscriptPrinterStream.st
author claus
Fri, 05 Aug 1994 03:08:16 +0200
changeset 36 d046fe84ea67
parent 31 e223f3cf2995
child 71 632e2cc151c9
permissions -rw-r--r--
*** empty log message ***
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
0
1cf8d1747859 Initial revision
claus
parents:
diff changeset
     3
              All Rights Reserved
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
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    13
PrinterStream subclass:#PostscriptPrinterStream
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    14
       instanceVariableNames:'xPos yPos lineBuffer colNr lineNr
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    15
                              fFamily fStyle'
28
350f8e9493a4 *** empty log message ***
claus
parents: 10
diff changeset
    16
       classVariableNames:'Prolog Trailer
350f8e9493a4 *** empty log message ***
claus
parents: 10
diff changeset
    17
                           PageProlog PageTrailer
350f8e9493a4 *** empty log message ***
claus
parents: 10
diff changeset
    18
                           FontHeight FontWidth LeftX TopY LinesPerPage
0
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    19
                           Italic Bold Normal 
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    20
                           Courier Times Helvetica'
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    21
       poolDictionaries:''
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    22
       category:'Streams-External'
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    23
!
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    24
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    25
PostscriptPrinterStream comment:'
4
1f66800df351 *** empty log message ***
claus
parents: 2
diff changeset
    26
COPYRIGHT (c) 1988 by Claus Gittinger
0
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    27
             All Rights Reserved
36
d046fe84ea67 *** empty log message ***
claus
parents: 31
diff changeset
    28
d046fe84ea67 *** empty log message ***
claus
parents: 31
diff changeset
    29
$Header: /cvs/stx/stx/libbasic2/PostscriptPrinterStream.st,v 1.9 1994-08-05 01:07:05 claus Exp $
6
claus
parents: 4
diff changeset
    30
'!
0
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    31
6
claus
parents: 4
diff changeset
    32
!PostscriptPrinterStream class methodsFor:'documentation'!
claus
parents: 4
diff changeset
    33
31
e223f3cf2995 *** empty log message ***
claus
parents: 28
diff changeset
    34
copyright
e223f3cf2995 *** empty log message ***
claus
parents: 28
diff changeset
    35
"
e223f3cf2995 *** empty log message ***
claus
parents: 28
diff changeset
    36
 COPYRIGHT (c) 1988 by Claus Gittinger
e223f3cf2995 *** empty log message ***
claus
parents: 28
diff changeset
    37
              All Rights Reserved
e223f3cf2995 *** empty log message ***
claus
parents: 28
diff changeset
    38
e223f3cf2995 *** empty log message ***
claus
parents: 28
diff changeset
    39
 This software is furnished under a license and may be used
e223f3cf2995 *** empty log message ***
claus
parents: 28
diff changeset
    40
 only in accordance with the terms of that license and with the
e223f3cf2995 *** empty log message ***
claus
parents: 28
diff changeset
    41
 inclusion of the above copyright notice.   This software may not
e223f3cf2995 *** empty log message ***
claus
parents: 28
diff changeset
    42
 be provided or otherwise made available to, or used by, any
e223f3cf2995 *** empty log message ***
claus
parents: 28
diff changeset
    43
 other person.  No title to or ownership of the software is
e223f3cf2995 *** empty log message ***
claus
parents: 28
diff changeset
    44
 hereby transferred.
e223f3cf2995 *** empty log message ***
claus
parents: 28
diff changeset
    45
"
e223f3cf2995 *** empty log message ***
claus
parents: 28
diff changeset
    46
!
e223f3cf2995 *** empty log message ***
claus
parents: 28
diff changeset
    47
e223f3cf2995 *** empty log message ***
claus
parents: 28
diff changeset
    48
version
e223f3cf2995 *** empty log message ***
claus
parents: 28
diff changeset
    49
"
36
d046fe84ea67 *** empty log message ***
claus
parents: 31
diff changeset
    50
$Header: /cvs/stx/stx/libbasic2/PostscriptPrinterStream.st,v 1.9 1994-08-05 01:07:05 claus Exp $
31
e223f3cf2995 *** empty log message ***
claus
parents: 28
diff changeset
    51
"
e223f3cf2995 *** empty log message ***
claus
parents: 28
diff changeset
    52
!
e223f3cf2995 *** empty log message ***
claus
parents: 28
diff changeset
    53
6
claus
parents: 4
diff changeset
    54
documentation
claus
parents: 4
diff changeset
    55
"
28
350f8e9493a4 *** empty log message ***
claus
parents: 10
diff changeset
    56
    This class provides simple text output to postscript printers;
31
e223f3cf2995 *** empty log message ***
claus
parents: 28
diff changeset
    57
    to use it, evaluate 
e223f3cf2995 *** empty log message ***
claus
parents: 28
diff changeset
    58
	Smalltalk at:#Printer put:PostscriptPrinterStream
28
350f8e9493a4 *** empty log message ***
claus
parents: 10
diff changeset
    59
    (usually in -rc file).
0
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    60
28
350f8e9493a4 *** empty log message ***
claus
parents: 10
diff changeset
    61
    It does not support graphics and other fancy features of Postscript, but
350f8e9493a4 *** empty log message ***
claus
parents: 10
diff changeset
    62
    provides a compatible interface to line-printing (see other subclasses of
350f8e9493a4 *** empty log message ***
claus
parents: 10
diff changeset
    63
    PrinterStream).
6
claus
parents: 4
diff changeset
    64
"
claus
parents: 4
diff changeset
    65
! !
0
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    66
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    67
!PostscriptPrinterStream class methodsFor:'initialization'!
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    68
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    69
fontNames
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    70
    ^ #('/Helvetica-Oblique'
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    71
        '/Helvetica-Bold'
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    72
        '/Helvetica'
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    73
        '/Times-Italic'
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    74
        '/Times-Bold'
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    75
        '/Times'
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    76
        '/Courier-Oblique'
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    77
        '/Courier-Bold'
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    78
        '/Courier' )
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    79
!
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    80
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    81
initialize
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    82
    |tmpString t fontNr|
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    83
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    84
    super initialize.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    85
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    86
    Normal := 0.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    87
    Bold := 1.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    88
    Italic := 2.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    89
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    90
    Courier := 0.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    91
    Times := 3.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    92
    Helvetica := 6.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    93
28
350f8e9493a4 *** empty log message ***
claus
parents: 10
diff changeset
    94
    LinesPerPage := 66.
350f8e9493a4 *** empty log message ***
claus
parents: 10
diff changeset
    95
    FontHeight := 200.
350f8e9493a4 *** empty log message ***
claus
parents: 10
diff changeset
    96
    FontWidth := 120.
350f8e9493a4 *** empty log message ***
claus
parents: 10
diff changeset
    97
    LeftX := 900.
350f8e9493a4 *** empty log message ***
claus
parents: 10
diff changeset
    98
    TopY := 14900.
0
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    99
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   100
    tmpString :=
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   101
'%!!PS-Adobe-1.0
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   102
%%Creator: Smalltalk
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   103
%%DocumentFonts: Courier-Oblique Courier-Bold Courier Times-Italic Times-Bold Times
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   104
save/SmalltalkJob exch def
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   105
/StartSmalltalkDoc{$smalltalk begin}def
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   106
/$smalltalk 50 dict def $smalltalk begin
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   107
/EndSmalltalkDoc{end}def
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   108
/S/show load def
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   109
/X{exch 0 rmoveto S}def
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   110
/Y{exch 0 exch rmoveto S}def
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   111
/B{3 1 roll moveto S}def
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   112
/F{$fd exch get setfont}def
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   113
/StartPage{/svpg save def .05 dup scale}def
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   114
/EndPage{svpg restore showpage}def
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   115
/DoPreFeed{/statusdict where{pop
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   116
 statusdict/prefeed known{statusdict exch/prefeed exch put 0}if}if pop}def
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   117
/Landscape{90 rotate 0 -15840 translate}def
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   118
/SetUpFonts
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   119
 {dup/$fd exch array def{findfont exch scalefont $fd 3 1 roll put}repeat}def
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   120
/InitGaudy{/TwoColumn exch def /BarLength exch def
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   121
 /ftD /Times-Bold findfont 12 UP scalefont def
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   122
 /ftF /Times-Roman findfont 14 UP scalefont def
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   123
 /ftP /Helvetica-Bold findfont 30 UP scalefont def}def
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   124
/U{1440 mul}def
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   125
/UP{U 72 div}def
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   126
/LB{/pts exch UP def /charcolor exch def /boxcolor exch def /font exch def
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   127
 /label exch def /dy exch def /dx exch def /lly exch def /llx exch def
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   128
 gsave boxcolor setgray
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   129
 llx lly moveto dx 0 rlineto 0 dy rlineto dx neg 0 rlineto closepath fill
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   130
 /lines label length def
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   131
 /yp lly dy add dy lines pts mul sub 2 div sub pts .85 mul sub def
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   132
 font setfont charcolor setgray
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   133
 label {dup stringwidth pop 2 div llx dx 2 div add exch sub yp moveto show
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   134
   /yp yp pts sub def}forall grestore}def
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   135
/Gaudy{/Page exch def /Date exch def /File exch def /Comment exch def
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   136
 .25 U 10.2 U BarLength .1 sub U .25 U [File] ftF .97 0 14 LB
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   137
 .25 U 10.45 U BarLength .1 sub U .25 U [Comment] ftF 1 0 14 LB
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   138
 .25 U 10.2 U 1 U .5 U Date ftD .7 0 12 LB
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   139
 BarLength .75 sub U 10.2 U 1 U .5 U [Page] ftP .7 1 30 LB
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   140
 TwoColumn{BarLength 2 div .19 add U 10.2 U moveto 0 -10 U rlineto stroke}if
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   141
}def
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   142
end
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   143
StartSmalltalkDoc % end fixed prolog
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   144
'.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   145
    fontNr := 8.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   146
    t := ''.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   147
    self fontNames do:[:aName |
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   148
        t := t , (fontNr printString) , ' ' 
28
350f8e9493a4 *** empty log message ***
claus
parents: 10
diff changeset
   149
               , (FontHeight printString) , ' '
0
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   150
               , aName , (Character nl) asString.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   151
        fontNr := fontNr - 1
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   152
    ].
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   153
    tmpString := tmpString , t.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   154
    tmpString := tmpString , '9 SetUpFonts
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   155
'.
28
350f8e9493a4 *** empty log message ***
claus
parents: 10
diff changeset
   156
    Prolog := tmpString.
0
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   157
28
350f8e9493a4 *** empty log message ***
claus
parents: 10
diff changeset
   158
    PageProlog :=
0
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   159
'StartPage
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   160
'.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   161
28
350f8e9493a4 *** empty log message ***
claus
parents: 10
diff changeset
   162
    PageTrailer :=
0
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   163
'EndPage
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   164
'.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   165
28
350f8e9493a4 *** empty log message ***
claus
parents: 10
diff changeset
   166
    Trailer :=
0
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   167
'EndSmalltalkDoc
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   168
SmalltalkJob restore
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   169
'
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   170
! !
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   171
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   172
!PostscriptPrinterStream methodsFor:'open/close'!
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   173
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   174
startPrint
28
350f8e9493a4 *** empty log message ***
claus
parents: 10
diff changeset
   175
    Prolog isNil ifTrue:[
0
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   176
        self class initialize
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   177
    ].
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   178
    fFamily := Courier.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   179
    fStyle := Normal.
10
460b2ab7c51f *** empty log message ***
claus
parents: 6
diff changeset
   180
    super writingTo:PrintCommand.
28
350f8e9493a4 *** empty log message ***
claus
parents: 10
diff changeset
   181
    super nextPutAllUntranslated:Prolog.
0
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   182
    self startPage
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   183
!
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   184
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   185
endPrint
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   186
    self endPage.
28
350f8e9493a4 *** empty log message ***
claus
parents: 10
diff changeset
   187
    super nextPutAll:Trailer.
0
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   188
    super endPrint
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   189
! ! 
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   190
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   191
!PostscriptPrinterStream methodsFor:'private'!
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   192
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   193
startPage
28
350f8e9493a4 *** empty log message ***
claus
parents: 10
diff changeset
   194
    super nextPutAllUntranslated:PageProlog.
0
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   195
    self setFont.
28
350f8e9493a4 *** empty log message ***
claus
parents: 10
diff changeset
   196
    yPos := TopY.
350f8e9493a4 *** empty log message ***
claus
parents: 10
diff changeset
   197
    xPos := LeftX.
0
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   198
    lineBuffer := ''.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   199
    lineNr := 1.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   200
    colNr := 0
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   201
!
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   202
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   203
endPage
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   204
    self flushLine.
28
350f8e9493a4 *** empty log message ***
claus
parents: 10
diff changeset
   205
    super nextPutAllUntranslated:PageTrailer
0
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   206
!
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   207
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   208
nextPage
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   209
    self endPage.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   210
    self startPage
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   211
!
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   212
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   213
setFont
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   214
    |fontNumber|
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   215
    fontNumber := fFamily + fStyle.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   216
    super nextPutAllUntranslated:fontNumber printString.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   217
    super nextPutAllUntranslated:' F'. 
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   218
    super nextPutUntranslated:(Character cr)
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   219
!
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   220
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   221
flushLine
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   222
    (lineBuffer size > 0) ifTrue:[
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   223
        super nextPutAllUntranslated:(xPos printString ).
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   224
        super nextPutAllUntranslated:' '.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   225
        super nextPutAllUntranslated:(yPos printString).
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   226
        super nextPutAllUntranslated:'('.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   227
        super nextPutAllUntranslated:lineBuffer.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   228
        super nextPutAllUntranslated:')B'.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   229
        super nextPutUntranslated:(Character cr).
28
350f8e9493a4 *** empty log message ***
claus
parents: 10
diff changeset
   230
        xPos := xPos + (FontWidth * lineBuffer size).
0
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   231
        colNr := colNr + lineBuffer size
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   232
    ].
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   233
    lineBuffer := ''
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   234
! !
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   235
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   236
!PostscriptPrinterStream methodsFor:'access writing'!
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   237
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   238
cr
6
claus
parents: 4
diff changeset
   239
    "send line termination"
claus
parents: 4
diff changeset
   240
0
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   241
    self flushLine.
28
350f8e9493a4 *** empty log message ***
claus
parents: 10
diff changeset
   242
    xPos := LeftX.
0
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   243
    colNr := 0.
28
350f8e9493a4 *** empty log message ***
claus
parents: 10
diff changeset
   244
    yPos := yPos - FontHeight.
0
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   245
    lineNr := lineNr + 1.
28
350f8e9493a4 *** empty log message ***
claus
parents: 10
diff changeset
   246
    lineNr > LinesPerPage ifTrue:[
0
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   247
        self nextPage
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   248
    ]
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   249
!
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   250
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   251
nextPut:aCharacter
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   252
    (aCharacter == Character cr) ifTrue:[
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   253
        ^ self cr
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   254
    ].
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   255
    (aCharacter == $( ) ifTrue:[
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   256
        lineBuffer := lineBuffer , '\(' .
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   257
        ^ self
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   258
    ].
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   259
    (aCharacter == $) ) ifTrue:[
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   260
        lineBuffer := lineBuffer , '\)' .
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   261
        ^ self
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   262
    ].
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   263
    (aCharacter == $\ ) ifTrue:[
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   264
        lineBuffer := lineBuffer , '\\' .
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   265
        ^ self
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   266
    ].
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   267
    (aCharacter == Character tab ) ifTrue:[
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   268
        self flushLine.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   269
        colNr := ((colNr + 8) // 8) * 8. 
28
350f8e9493a4 *** empty log message ***
claus
parents: 10
diff changeset
   270
        xPos := LeftX + (colNr * FontWidth).
0
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   271
        ^ self
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   272
    ].
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   273
    lineBuffer := lineBuffer copyWith:aCharacter
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   274
!
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   275
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   276
courier
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   277
    self flushLine.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   278
    fFamily := Courier.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   279
    self setFont
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   280
!
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   281
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   282
times
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   283
    self flushLine.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   284
    fFamily := Times.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   285
    self setFont
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   286
!
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   287
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   288
helvetica
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   289
    self flushLine.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   290
    fFamily := Helvetica.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   291
    self setFont
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   292
!
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   293
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   294
italic
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   295
    self flushLine.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   296
    fStyle := Italic.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   297
    self setFont
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   298
!
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   299
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   300
bold
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   301
    self flushLine.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   302
    fStyle := Bold.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   303
    self setFont
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   304
!
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   305
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   306
normal
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   307
    self flushLine.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   308
    fStyle := Normal.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   309
    self setFont
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   310
! !