PSPrStr.st
author claus
Wed, 13 Oct 1993 03:14:30 +0100
changeset 4 1f66800df351
parent 2 07d9ee98e092
child 6 96ce41566060
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'
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    16
       classVariableNames:'prolog trailer
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    17
                           pageProlog pageTrailer
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    18
                           fontHeight fontWidth leftX topY linesPerPage
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:'
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    26
4
1f66800df351 *** empty log message ***
claus
parents: 2
diff changeset
    27
COPYRIGHT (c) 1988 by Claus Gittinger
0
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    28
             All Rights Reserved
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    29
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    30
This class provides output to postscript printers;
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    31
to use it, evaluate Smalltalk at:#Printer put:PostscriptPrinterStream
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    32
(usually in -rc file).
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    33
4
1f66800df351 *** empty log message ***
claus
parents: 2
diff changeset
    34
$Header: /cvs/stx/stx/libbasic2/Attic/PSPrStr.st,v 1.4 1993-10-13 02:13:03 claus Exp $
0
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    35
'!
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    36
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    37
!PostscriptPrinterStream class methodsFor:'initialization'!
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    38
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    39
fontNames
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    40
    ^ #('/Helvetica-Oblique'
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    41
        '/Helvetica-Bold'
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    42
        '/Helvetica'
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    43
        '/Times-Italic'
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    44
        '/Times-Bold'
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    45
        '/Times'
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    46
        '/Courier-Oblique'
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    47
        '/Courier-Bold'
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    48
        '/Courier' )
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    49
!
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    50
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    51
initialize
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    52
    |tmpString t fontNr|
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    53
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    54
    super initialize.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    55
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    56
    Normal := 0.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    57
    Bold := 1.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    58
    Italic := 2.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    59
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    60
    Courier := 0.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    61
    Times := 3.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    62
    Helvetica := 6.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    63
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    64
    linesPerPage := 66.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    65
    fontHeight := 200.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    66
    fontWidth := 120.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    67
    leftX := 900.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    68
    topY := 14900.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    69
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    70
    tmpString :=
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    71
'%!!PS-Adobe-1.0
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    72
%%Creator: Smalltalk
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    73
%%DocumentFonts: Courier-Oblique Courier-Bold Courier Times-Italic Times-Bold Times
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    74
save/SmalltalkJob exch def
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    75
/StartSmalltalkDoc{$smalltalk begin}def
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    76
/$smalltalk 50 dict def $smalltalk begin
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    77
/EndSmalltalkDoc{end}def
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    78
/S/show load def
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    79
/X{exch 0 rmoveto S}def
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    80
/Y{exch 0 exch rmoveto S}def
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    81
/B{3 1 roll moveto S}def
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    82
/F{$fd exch get setfont}def
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    83
/StartPage{/svpg save def .05 dup scale}def
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    84
/EndPage{svpg restore showpage}def
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    85
/DoPreFeed{/statusdict where{pop
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    86
 statusdict/prefeed known{statusdict exch/prefeed exch put 0}if}if pop}def
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    87
/Landscape{90 rotate 0 -15840 translate}def
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    88
/SetUpFonts
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    89
 {dup/$fd exch array def{findfont exch scalefont $fd 3 1 roll put}repeat}def
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    90
/InitGaudy{/TwoColumn exch def /BarLength exch def
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    91
 /ftD /Times-Bold findfont 12 UP scalefont def
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    92
 /ftF /Times-Roman findfont 14 UP scalefont def
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    93
 /ftP /Helvetica-Bold findfont 30 UP scalefont def}def
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    94
/U{1440 mul}def
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    95
/UP{U 72 div}def
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    96
/LB{/pts exch UP def /charcolor exch def /boxcolor exch def /font exch def
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    97
 /label exch def /dy exch def /dx exch def /lly exch def /llx exch def
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    98
 gsave boxcolor setgray
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    99
 llx lly moveto dx 0 rlineto 0 dy rlineto dx neg 0 rlineto closepath fill
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   100
 /lines label length def
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   101
 /yp lly dy add dy lines pts mul sub 2 div sub pts .85 mul sub def
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   102
 font setfont charcolor setgray
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   103
 label {dup stringwidth pop 2 div llx dx 2 div add exch sub yp moveto show
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   104
   /yp yp pts sub def}forall grestore}def
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   105
/Gaudy{/Page exch def /Date exch def /File exch def /Comment exch def
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   106
 .25 U 10.2 U BarLength .1 sub U .25 U [File] ftF .97 0 14 LB
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   107
 .25 U 10.45 U BarLength .1 sub U .25 U [Comment] ftF 1 0 14 LB
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   108
 .25 U 10.2 U 1 U .5 U Date ftD .7 0 12 LB
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   109
 BarLength .75 sub U 10.2 U 1 U .5 U [Page] ftP .7 1 30 LB
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   110
 TwoColumn{BarLength 2 div .19 add U 10.2 U moveto 0 -10 U rlineto stroke}if
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   111
}def
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   112
end
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   113
StartSmalltalkDoc % end fixed prolog
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   114
'.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   115
    fontNr := 8.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   116
    t := ''.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   117
    self fontNames do:[:aName |
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   118
        t := t , (fontNr printString) , ' ' 
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   119
               , (fontHeight printString) , ' '
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   120
               , aName , (Character nl) asString.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   121
        fontNr := fontNr - 1
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   122
    ].
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   123
    tmpString := tmpString , t.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   124
    tmpString := tmpString , '9 SetUpFonts
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   125
'.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   126
    prolog := tmpString.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   127
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   128
    pageProlog :=
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   129
'StartPage
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   130
'.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   131
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   132
    pageTrailer :=
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   133
'EndPage
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   134
'.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   135
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   136
    trailer :=
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   137
'EndSmalltalkDoc
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   138
SmalltalkJob restore
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   139
'
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   140
! !
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   141
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   142
!PostscriptPrinterStream methodsFor:'open/close'!
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   143
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   144
startPrint
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   145
    prolog isNil ifTrue:[
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   146
        self class initialize
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   147
    ].
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   148
    fFamily := Courier.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   149
    fStyle := Normal.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   150
    super writingTo:printCommand.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   151
    super nextPutAllUntranslated:prolog.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   152
    self startPage
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   153
!
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   154
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   155
endPrint
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   156
    self endPage.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   157
    super nextPutAll:trailer.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   158
    super endPrint
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   159
! ! 
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   160
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   161
!PostscriptPrinterStream methodsFor:'private'!
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   162
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   163
startPage
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   164
    super nextPutAllUntranslated:pageProlog.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   165
    self setFont.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   166
    yPos := topY.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   167
    xPos := leftX.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   168
    lineBuffer := ''.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   169
    lineNr := 1.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   170
    colNr := 0
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   171
!
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   172
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   173
endPage
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   174
    self flushLine.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   175
    super nextPutAllUntranslated:pageTrailer
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   176
!
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   177
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   178
nextPage
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   179
    self endPage.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   180
    self startPage
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   181
!
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   182
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   183
setFont
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   184
    |fontNumber|
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   185
    fontNumber := fFamily + fStyle.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   186
    super nextPutAllUntranslated:fontNumber printString.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   187
    super nextPutAllUntranslated:' F'. 
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   188
    super nextPutUntranslated:(Character cr)
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   189
!
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   190
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   191
flushLine
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   192
    (lineBuffer size > 0) ifTrue:[
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   193
        super nextPutAllUntranslated:(xPos printString ).
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   194
        super nextPutAllUntranslated:' '.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   195
        super nextPutAllUntranslated:(yPos printString).
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   196
        super nextPutAllUntranslated:'('.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   197
        super nextPutAllUntranslated:lineBuffer.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   198
        super nextPutAllUntranslated:')B'.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   199
        super nextPutUntranslated:(Character cr).
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   200
        xPos := xPos + (fontWidth * lineBuffer size).
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   201
        colNr := colNr + lineBuffer size
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   202
    ].
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   203
    lineBuffer := ''
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   204
! !
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   205
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   206
!PostscriptPrinterStream methodsFor:'access writing'!
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   207
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   208
cr
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   209
    self flushLine.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   210
    xPos := leftX.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   211
    colNr := 0.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   212
    yPos := yPos - fontHeight.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   213
    lineNr := lineNr + 1.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   214
    lineNr > linesPerPage ifTrue:[
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   215
        self nextPage
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   216
    ]
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   217
!
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   218
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   219
nextPut:aCharacter
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   220
    (aCharacter == Character cr) ifTrue:[
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   221
        ^ self cr
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   222
    ].
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   223
    (aCharacter == $( ) ifTrue:[
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   224
        lineBuffer := lineBuffer , '\(' .
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   225
        ^ self
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   226
    ].
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   227
    (aCharacter == $) ) ifTrue:[
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   228
        lineBuffer := lineBuffer , '\)' .
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   229
        ^ self
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   230
    ].
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   231
    (aCharacter == $\ ) ifTrue:[
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   232
        lineBuffer := lineBuffer , '\\' .
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   233
        ^ self
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   234
    ].
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   235
    (aCharacter == Character tab ) ifTrue:[
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   236
        self flushLine.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   237
        colNr := ((colNr + 8) // 8) * 8. 
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   238
        xPos := leftX + (colNr * fontWidth).
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   239
        ^ self
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   240
    ].
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   241
    lineBuffer := lineBuffer copyWith:aCharacter
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   242
!
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   243
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   244
courier
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   245
    self flushLine.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   246
    fFamily := Courier.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   247
    self setFont
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   248
!
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   249
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   250
times
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   251
    self flushLine.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   252
    fFamily := Times.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   253
    self setFont
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   254
!
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   255
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   256
helvetica
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   257
    self flushLine.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   258
    fFamily := Helvetica.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   259
    self setFont
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   260
!
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   261
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   262
italic
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   263
    self flushLine.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   264
    fStyle := Italic.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   265
    self setFont
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   266
!
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   267
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   268
bold
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   269
    self flushLine.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   270
    fStyle := Bold.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   271
    self setFont
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   272
!
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   273
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   274
normal
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   275
    self flushLine.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   276
    fStyle := Normal.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   277
    self setFont
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   278
! !