PostscriptPrinterStream.st
author Claus Gittinger <cg@exept.de>
Sat, 02 May 2020 21:40:13 +0200
changeset 5476 7355a4b11cb6
parent 5184 3e452dc19ab2
permissions -rw-r--r--
#FEATURE by cg class: Socket class added: #newTCPclientToHost:port:domain:domainOrder:withTimeout: changed: #newTCPclientToHost:port:domain:withTimeout:
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
5171
45a689bbf0d2 #OTHER by exept
Claus Gittinger <cg@exept.de>
parents: 5149
diff changeset
     1
"{ Encoding: utf8 }"
45a689bbf0d2 #OTHER by exept
Claus Gittinger <cg@exept.de>
parents: 5149
diff changeset
     2
0
1cf8d1747859 Initial revision
claus
parents:
diff changeset
     3
"
4
1f66800df351 *** empty log message ***
claus
parents: 2
diff changeset
     4
 COPYRIGHT (c) 1988 by Claus Gittinger
71
claus
parents: 36
diff changeset
     5
	      All Rights Reserved
0
1cf8d1747859 Initial revision
claus
parents:
diff changeset
     6
1cf8d1747859 Initial revision
claus
parents:
diff changeset
     7
 This software is furnished under a license and may be used
1cf8d1747859 Initial revision
claus
parents:
diff changeset
     8
 only in accordance with the terms of that license and with the
1cf8d1747859 Initial revision
claus
parents:
diff changeset
     9
 inclusion of the above copyright notice.   This software may not
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    10
 be provided or otherwise made available to, or used by, any
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    11
 other person.  No title to or ownership of the software is
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    12
 hereby transferred.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    13
"
913
99228537653d Speed up native printing: #nextPutAll
Stefan Vogel <sv@exept.de>
parents: 879
diff changeset
    14
"{ Package: 'stx:libbasic2' }"
99228537653d Speed up native printing: #nextPutAll
Stefan Vogel <sv@exept.de>
parents: 879
diff changeset
    15
3827
c0411e2ffe2a #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 2970
diff changeset
    16
"{ NameSpace: Smalltalk }"
c0411e2ffe2a #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 2970
diff changeset
    17
0
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    18
PrinterStream subclass:#PostscriptPrinterStream
1075
7272338c6b53 Speed up everything.
Stefan Vogel <sv@exept.de>
parents: 965
diff changeset
    19
	instanceVariableNames:'xPos yPos lineStream colNr lineNr fFamily fStyle pageStartAction
7272338c6b53 Speed up everything.
Stefan Vogel <sv@exept.de>
parents: 965
diff changeset
    20
		pageEndAction pageCount sendXPosition'
246
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
    21
	classVariableNames:'Prolog Trailer PageProlog PageTrailer FontNames FontHeight
378
91abcf70e0c3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 375
diff changeset
    22
		FontWidth LeftX TopY PageHeight LinesPerPage PhysicalPageHeight
433
2b5b9df0981c renamed *Inset to *Margin; cleanup.
Claus Gittinger <cg@exept.de>
parents: 432
diff changeset
    23
		Italic Bold Normal BoldItalic Courier Times Helvetica TopMargin
2109
edfb1b251b62 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1907
diff changeset
    24
		LeftMargin BottomMargin RightMargin SupportsColor Resolution
edfb1b251b62 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1907
diff changeset
    25
		SupportsGreyscale'
186
bc1b056b097c added #supportsPostscript query
Claus Gittinger <cg@exept.de>
parents: 179
diff changeset
    26
	poolDictionaries:''
1650
8eec99801a7e category change
fm
parents: 1569
diff changeset
    27
	category:'Interface-Printing'
0
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    28
!
1cf8d1747859 Initial revision
claus
parents:
diff changeset
    29
467
10cca849db9e added #lineNr & #colNr
Claus Gittinger <cg@exept.de>
parents: 447
diff changeset
    30
!PostscriptPrinterStream class methodsFor:'documentation'!
6
claus
parents: 4
diff changeset
    31
31
e223f3cf2995 *** empty log message ***
claus
parents: 28
diff changeset
    32
copyright
e223f3cf2995 *** empty log message ***
claus
parents: 28
diff changeset
    33
"
e223f3cf2995 *** empty log message ***
claus
parents: 28
diff changeset
    34
 COPYRIGHT (c) 1988 by Claus Gittinger
71
claus
parents: 36
diff changeset
    35
	      All Rights Reserved
31
e223f3cf2995 *** empty log message ***
claus
parents: 28
diff changeset
    36
e223f3cf2995 *** empty log message ***
claus
parents: 28
diff changeset
    37
 This software is furnished under a license and may be used
e223f3cf2995 *** empty log message ***
claus
parents: 28
diff changeset
    38
 only in accordance with the terms of that license and with the
e223f3cf2995 *** empty log message ***
claus
parents: 28
diff changeset
    39
 inclusion of the above copyright notice.   This software may not
e223f3cf2995 *** empty log message ***
claus
parents: 28
diff changeset
    40
 be provided or otherwise made available to, or used by, any
e223f3cf2995 *** empty log message ***
claus
parents: 28
diff changeset
    41
 other person.  No title to or ownership of the software is
e223f3cf2995 *** empty log message ***
claus
parents: 28
diff changeset
    42
 hereby transferred.
e223f3cf2995 *** empty log message ***
claus
parents: 28
diff changeset
    43
"
e223f3cf2995 *** empty log message ***
claus
parents: 28
diff changeset
    44
!
e223f3cf2995 *** empty log message ***
claus
parents: 28
diff changeset
    45
6
claus
parents: 4
diff changeset
    46
documentation
claus
parents: 4
diff changeset
    47
"
28
350f8e9493a4 *** empty log message ***
claus
parents: 10
diff changeset
    48
    This class provides simple text output to postscript printers;
31
e223f3cf2995 *** empty log message ***
claus
parents: 28
diff changeset
    49
    to use it, evaluate 
1297
b64daacfb5fe comment
Claus Gittinger <cg@exept.de>
parents: 1220
diff changeset
    50
        Smalltalk at:#Printer put:PostscriptPrinterStream
1773
cf124aecd818 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1650
diff changeset
    51
    (usually in some rc file) or change it via the launchers settings-menu.
179
38773360f4b7 more on printing (printerType-query)
Claus Gittinger <cg@exept.de>
parents: 170
diff changeset
    52
246
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
    53
    See examples on how to send something to the printer.
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
    54
1297
b64daacfb5fe comment
Claus Gittinger <cg@exept.de>
parents: 1220
diff changeset
    55
    For now, only Helvetica, Courier and Times fonts in italic, roman and bold are supported.
246
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
    56
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
    57
    It does not directly support graphics and other fancy features of Postscript,
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
    58
    but provides a compatible interface for simple text line-printing 
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
    59
    (see other subclasses of PrinterStream).
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
    60
1297
b64daacfb5fe comment
Claus Gittinger <cg@exept.de>
parents: 1220
diff changeset
    61
    If you already have a postscript string at hand, this can be sent to the printer in native mode.
246
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
    62
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
    63
    To output graphics, you need the PSGraphicsContext (and friend-) classes.
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
    64
    These provide protocol similar to the one provided by display graphicContexts.
1297
b64daacfb5fe comment
Claus Gittinger <cg@exept.de>
parents: 1220
diff changeset
    65
    PSGraphicsContext generates its own postscript - not caring for the margin/font settings
b64daacfb5fe comment
Claus Gittinger <cg@exept.de>
parents: 1220
diff changeset
    66
    here (these are only used if the printer-stream protocol is used (i.e. nextPut, cr etc.)
b64daacfb5fe comment
Claus Gittinger <cg@exept.de>
parents: 1220
diff changeset
    67
4195
863a4e793d4e #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 4012
diff changeset
    68
    [Disclaimer:]    
863a4e793d4e #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 4012
diff changeset
    69
        Notice, that these postscript classes are derived from public domain code; 
863a4e793d4e #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 4012
diff changeset
    70
        there is no warranty.
246
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
    71
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
    72
    [see also:]
1297
b64daacfb5fe comment
Claus Gittinger <cg@exept.de>
parents: 1220
diff changeset
    73
        PSGraphicsContext 
b64daacfb5fe comment
Claus Gittinger <cg@exept.de>
parents: 1220
diff changeset
    74
        EpsonFX1PrinterStream HPLjetIIPrinterStream PrinterStream
259
6d36f3ac42a2 documentation
Claus Gittinger <cg@exept.de>
parents: 249
diff changeset
    75
6d36f3ac42a2 documentation
Claus Gittinger <cg@exept.de>
parents: 249
diff changeset
    76
    [author:]
1297
b64daacfb5fe comment
Claus Gittinger <cg@exept.de>
parents: 1220
diff changeset
    77
        Claus Gittinger
246
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
    78
"
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
    79
!
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
    80
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
    81
examples
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
    82
"
223
a204fe6b665c commentary & image fixes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    83
    For text printing, use:
391
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
    84
                                                                        [exBegin]
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
    85
        |s|
223
a204fe6b665c commentary & image fixes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    86
391
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
    87
        s := Printer new.
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
    88
        s nextPutAll:'hello'; cr.
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
    89
        s nextPutAll:'normal '.
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
    90
        s bold; nextPutAll:'this is bold'; normal; cr.
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
    91
        s nextPutAll:'normal '.
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
    92
        s italic; nextPutAll:'this is italic'; normal; cr.
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
    93
        s nextPutAll:'normal '.
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
    94
        s boldItalic; nextPutAll:'this is boldItalic'; normal; cr.
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
    95
        s nextPutAll:'normal '.
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
    96
        s underline; nextPutAll:'this is underlined'; noUnderline; cr.
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
    97
        s nextPutAll:'normal again '.
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
    98
        s strikeout; nextPutAll:'this is strikedout'; noStrikeout; cr.
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
    99
        s helvetica.
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   100
        s nextPutAll:'helvetica '.
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   101
        s underline; nextPutAll:' helv-underline'; noUnderline;
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   102
          space; strikeout; nextPutAll:'helv-strikeout'; noStrikeout;
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   103
          bold; nextPutAll:' helv-bold'; normal; cr.
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   104
        s times.
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   105
        s nextPutAll:'times'; cr.
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   106
        s courier.
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   107
        s nextPutAll:'courier'; cr.
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   108
        s close
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   109
                                                                        [exEnd]
349
e2806ca1c634 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 348
diff changeset
   110
    or, if you already have emphasized text at hand:
391
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   111
                                                                        [exBegin]
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   112
        |s|
349
e2806ca1c634 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 348
diff changeset
   113
391
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   114
        s := Printer new.
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   115
        s nextPutAll:'hello'; cr.
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   116
        s nextPutAll:'this is '; 
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   117
          nextPutAll:(Text string:'bold' emphasis:#bold); 
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   118
          cr;
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   119
          nextPutAll:'this is '; 
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   120
          nextPutAll:(Text string:'italic' emphasis:#italic); 
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   121
          cr;
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   122
          nextPutAll:'this is ';
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   123
          nextPutAll:(Text string:'boldItalic' emphasis:#(bold italic)); 
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   124
          cr;
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   125
          nextPutAll:'normal again'; 
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   126
          cr;
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   127
          helvetica;
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   128
          nextPutAll:'helvetica';
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   129
          cr;
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   130
          times;
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   131
          nextPutAll:'times'; 
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   132
          cr;
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   133
          courier;
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   134
          nextPutAll:'courier';
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   135
          cr.
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   136
        s close
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   137
                                                                        [exEnd]
179
38773360f4b7 more on printing (printerType-query)
Claus Gittinger <cg@exept.de>
parents: 170
diff changeset
   138
361
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
   139
    placing a page-hook, to add a page number:
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
   140
    (page hooks require that you understand some postscript ...
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
   141
     ... and have a look at how this class generates its postscript code)
391
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   142
                                                                        [exBegin]
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   143
        |s hook pageNr|
361
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
   144
391
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   145
        s := Printer new.
361
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
   146
391
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   147
        pageNr := 0.
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   148
        hook := [ 
361
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
   149
391
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   150
                    pageNr := pageNr + 1.
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   151
                    s placeString:('page ' , pageNr printString) at:(5500 @ 400).
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   152
                ].
361
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
   153
391
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   154
        s pageEndAction:hook.
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   155
        (1 to:200) do:[:lineNr |
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   156
            s nextPutAll:'line ' , lineNr printString.
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   157
            s cr.
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   158
        ].
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   159
        s close.
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   160
                                                                        [exEnd]
361
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
   161
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
   162
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
   163
    placing a page-hook, to add a custom frame, logo or company letter-head:
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
   164
    (page hooks require that you understand some postscript ...
375
ab43222a70ce added access methods for margins
Claus Gittinger <cg@exept.de>
parents: 373
diff changeset
   165
     ... and have a look at how this class generates its postscript code.
ab43222a70ce added access methods for margins
Claus Gittinger <cg@exept.de>
parents: 373
diff changeset
   166
     ... and notice that the code below is a q&d demo, working with letter-sized
ab43222a70ce added access methods for margins
Claus Gittinger <cg@exept.de>
parents: 373
diff changeset
   167
     pages only; a real program should ask the printerStream about the actual 
ab43222a70ce added access methods for margins
Claus Gittinger <cg@exept.de>
parents: 373
diff changeset
   168
     pageHeight/pageWidth.)
391
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   169
                                                                        [exBegin]
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   170
        |s hook pageNr|
361
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
   171
391
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   172
        s := Printer new.
361
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
   173
391
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   174
        pageNr := 0.
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   175
        hook := [ 
361
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
   176
391
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   177
                    pageNr := pageNr + 1.
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   178
                    s placeString:('page ' , pageNr printString) at:(5500 @ 400).
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   179
                    s placeString:('Document revision:') at:(900 @ 1200).
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   180
                    s placeString:('Revieved by:')       at:(900 @ 900).
361
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
   181
391
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   182
                    s setNative:true.
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   183
                    s nextPutAll:'0 setlinewidth'; cr.
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   184
                    s nextPutAll:'800 800 moveto'; cr.
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   185
                    s nextPutAll:'11000 800 lineto'; cr.
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   186
                    s nextPutAll:'11000 15500 lineto'; cr.
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   187
                    s nextPutAll:'800 15500 lineto'; cr.
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   188
                    s nextPutAll:'800 800 lineto'; cr.
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   189
                    s nextPutAll:'stroke'; cr.
361
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
   190
391
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   191
                    s nextPutAll:'800 1100 moveto'; cr.
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   192
                    s nextPutAll:'11000 1100 lineto'; cr.
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   193
                    s nextPutAll:'stroke'; cr.
361
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
   194
391
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   195
                    s nextPutAll:'800 1400 moveto'; cr.
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   196
                    s nextPutAll:'11000 1400 lineto'; cr.
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   197
                    s nextPutAll:'stroke'; cr.
361
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
   198
391
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   199
                    s setNative:false.
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   200
                ].
361
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
   201
391
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   202
        s pageEndAction:hook.
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   203
        (1 to:200) do:[:lineNr |
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   204
            s nextPutAll:'line ' , lineNr printString.
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   205
            s cr.
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   206
        ].
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   207
        s close.
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   208
                                                                        [exEnd]
361
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
   209
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
   210
223
a204fe6b665c commentary & image fixes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   211
    If you already have a postscript string at hand, this can be sent to
a204fe6b665c commentary & image fixes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   212
    the printer in native mode:
391
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   213
                                                                        [exBegin]
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   214
        |s|
223
a204fe6b665c commentary & image fixes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   215
391
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   216
        s := Printer newNative.
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   217
        s nextPutAll:<your postscript string>.
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   218
                                                                        [exEnd]
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   219
        s close
223
a204fe6b665c commentary & image fixes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   220
179
38773360f4b7 more on printing (printerType-query)
Claus Gittinger <cg@exept.de>
parents: 170
diff changeset
   221
    To output graphics, you need the PSGraphicsContext (and friend-) classes.
38773360f4b7 more on printing (printerType-query)
Claus Gittinger <cg@exept.de>
parents: 170
diff changeset
   222
    These provide protocol similar to the one provided by display graphicContexts.
223
a204fe6b665c commentary & image fixes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   223
    Notice, that these postscript classes are derived from public domain code;
a204fe6b665c commentary & image fixes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   224
    there is no warranty.
a204fe6b665c commentary & image fixes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   225
a204fe6b665c commentary & image fixes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   226
    Usage:
391
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   227
                                                                        [exBegin]
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   228
        |drawable s|
223
a204fe6b665c commentary & image fixes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   229
391
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   230
        s := Printer newNative.
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   231
        drawable := PSGraphicsContext on:s.
223
a204fe6b665c commentary & image fixes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   232
391
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   233
        drawable displayLineFrom:(0@0) to:(100@100).
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   234
        drawable displayLineFrom:(100@0) to:(0@100).
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   235
        drawable displayCircle:(150@150) radius:50.
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   236
        (Image fromFile:'bitmaps/SBrowser.xbm') displayOn:drawable at:(50@30).
223
a204fe6b665c commentary & image fixes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   237
391
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   238
        drawable close.
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   239
                                                                        [exEnd]
246
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   240
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   241
      the same in a view:
391
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   242
                                                                        [exBegin]
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   243
        |drawable|
246
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   244
391
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   245
        drawable := (View extent:200@200) openAndWait.
246
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   246
391
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   247
        drawable displayLineFrom:(0@0) to:(100@100).
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   248
        drawable displayLineFrom:(100@0) to:(0@100).
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   249
        drawable displayCircle:(150@150) radius:50.
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   250
        (Image fromFile:'bitmaps/SBrowser.xbm') displayOn:drawable at:(50@30).
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   251
                                                                        [exEnd]
6
claus
parents: 4
diff changeset
   252
"
claus
parents: 4
diff changeset
   253
! !
0
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   254
467
10cca849db9e added #lineNr & #colNr
Claus Gittinger <cg@exept.de>
parents: 447
diff changeset
   255
!PostscriptPrinterStream class methodsFor:'initialization'!
0
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   256
246
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   257
initCharacterSize
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   258
    "setup the character parameters"
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   259
361
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
   260
    FontHeight := 200.   "/ used to scale fonts - corresponds to a 10 point font size
246
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   261
    FontWidth := 120.    "/ used to compute width of tabs
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   262
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   263
    "Created: 23.4.1996 / 19:53:34 / cg"
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   264
    "Modified: 23.4.1996 / 20:05:17 / cg"
361
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
   265
    "Modified: 30.5.1996 / 17:24:05 / ca"
0
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   266
!
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   267
246
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   268
initFonts
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   269
    "setup the font names.
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   270
     initProlog uses those parameters."
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   271
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   272
    Italic := 0.     "/ offset from base-font# to italic version
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   273
    Bold := 1.       "/ offset from base-font# to bold version
349
e2806ca1c634 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 348
diff changeset
   274
    BoldItalic := 2. "/ offset from base-font# to boldItalic version
e2806ca1c634 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 348
diff changeset
   275
    Normal := 3.     "/ offset from base-font# to normal version
246
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   276
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   277
    Helvetica := 0.  "/ # of helvetica base font
349
e2806ca1c634 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 348
diff changeset
   278
    Times := 4.      "/ # of times base font
e2806ca1c634 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 348
diff changeset
   279
    Courier := 8.    "/ # of courier base font
246
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   280
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   281
    FontNames := #( 
432
c8b2fa21b747 count pages (for ghostview to be able to page)
Claus Gittinger <cg@exept.de>
parents: 431
diff changeset
   282
                    'Helvetica-Oblique'
c8b2fa21b747 count pages (for ghostview to be able to page)
Claus Gittinger <cg@exept.de>
parents: 431
diff changeset
   283
                    'Helvetica-Bold'
c8b2fa21b747 count pages (for ghostview to be able to page)
Claus Gittinger <cg@exept.de>
parents: 431
diff changeset
   284
                    'Helvetica-BoldOblique'
c8b2fa21b747 count pages (for ghostview to be able to page)
Claus Gittinger <cg@exept.de>
parents: 431
diff changeset
   285
                    'Helvetica'
c8b2fa21b747 count pages (for ghostview to be able to page)
Claus Gittinger <cg@exept.de>
parents: 431
diff changeset
   286
                    'Times-Italic'
c8b2fa21b747 count pages (for ghostview to be able to page)
Claus Gittinger <cg@exept.de>
parents: 431
diff changeset
   287
                    'Times-Bold'
c8b2fa21b747 count pages (for ghostview to be able to page)
Claus Gittinger <cg@exept.de>
parents: 431
diff changeset
   288
                    'Times-BoldItalic'
c8b2fa21b747 count pages (for ghostview to be able to page)
Claus Gittinger <cg@exept.de>
parents: 431
diff changeset
   289
                    'Times'
c8b2fa21b747 count pages (for ghostview to be able to page)
Claus Gittinger <cg@exept.de>
parents: 431
diff changeset
   290
                    'Courier-Oblique'
c8b2fa21b747 count pages (for ghostview to be able to page)
Claus Gittinger <cg@exept.de>
parents: 431
diff changeset
   291
                    'Courier-Bold'
c8b2fa21b747 count pages (for ghostview to be able to page)
Claus Gittinger <cg@exept.de>
parents: 431
diff changeset
   292
                    'Courier-BoldOblique'
c8b2fa21b747 count pages (for ghostview to be able to page)
Claus Gittinger <cg@exept.de>
parents: 431
diff changeset
   293
                    'Courier' 
c8b2fa21b747 count pages (for ghostview to be able to page)
Claus Gittinger <cg@exept.de>
parents: 431
diff changeset
   294
                  )
246
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   295
432
c8b2fa21b747 count pages (for ghostview to be able to page)
Claus Gittinger <cg@exept.de>
parents: 431
diff changeset
   296
    "
c8b2fa21b747 count pages (for ghostview to be able to page)
Claus Gittinger <cg@exept.de>
parents: 431
diff changeset
   297
     PostscriptPrinterStream initFonts
c8b2fa21b747 count pages (for ghostview to be able to page)
Claus Gittinger <cg@exept.de>
parents: 431
diff changeset
   298
    "
c8b2fa21b747 count pages (for ghostview to be able to page)
Claus Gittinger <cg@exept.de>
parents: 431
diff changeset
   299
246
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   300
!
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   301
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   302
initPage
361
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
   303
    "setup the page parameters.
370
705453f00711 keep per-printer defaults
Claus Gittinger <cg@exept.de>
parents: 368
diff changeset
   304
     All coordinates are scaled by 20 w.r.t the PS coordinates (i.e. in twips)."
705453f00711 keep per-printer defaults
Claus Gittinger <cg@exept.de>
parents: 368
diff changeset
   305
4516
6f042ebe7abb #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 4195
diff changeset
   306
    |fmt|
6f042ebe7abb #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 4195
diff changeset
   307
    
6f042ebe7abb #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 4195
diff changeset
   308
    (fmt := self pageFormat) isNil ifTrue:[
6f042ebe7abb #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 4195
diff changeset
   309
        self pageFormat:#a4.
6f042ebe7abb #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 4195
diff changeset
   310
        fmt := self pageFormat.
370
705453f00711 keep per-printer defaults
Claus Gittinger <cg@exept.de>
parents: 368
diff changeset
   311
    ].
246
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   312
433
2b5b9df0981c renamed *Inset to *Margin; cleanup.
Claus Gittinger <cg@exept.de>
parents: 432
diff changeset
   313
    TopMargin isNil ifTrue:[
2b5b9df0981c renamed *Inset to *Margin; cleanup.
Claus Gittinger <cg@exept.de>
parents: 432
diff changeset
   314
        TopMargin := 0.6.      "/ inches
370
705453f00711 keep per-printer defaults
Claus Gittinger <cg@exept.de>
parents: 368
diff changeset
   315
    ].
433
2b5b9df0981c renamed *Inset to *Margin; cleanup.
Claus Gittinger <cg@exept.de>
parents: 432
diff changeset
   316
    BottomMargin isNil ifTrue:[
2b5b9df0981c renamed *Inset to *Margin; cleanup.
Claus Gittinger <cg@exept.de>
parents: 432
diff changeset
   317
        BottomMargin := 1.2    "/ inches
370
705453f00711 keep per-printer defaults
Claus Gittinger <cg@exept.de>
parents: 368
diff changeset
   318
    ].
433
2b5b9df0981c renamed *Inset to *Margin; cleanup.
Claus Gittinger <cg@exept.de>
parents: 432
diff changeset
   319
    LeftMargin isNil ifTrue:[
2b5b9df0981c renamed *Inset to *Margin; cleanup.
Claus Gittinger <cg@exept.de>
parents: 432
diff changeset
   320
        LeftMargin := 0.6.     "/ inches
370
705453f00711 keep per-printer defaults
Claus Gittinger <cg@exept.de>
parents: 368
diff changeset
   321
    ].
437
59142d78f87d rightMargin
ca
parents: 436
diff changeset
   322
    RightMargin isNil ifTrue:[
59142d78f87d rightMargin
ca
parents: 436
diff changeset
   323
        RightMargin := 0.6.    "/ inches
59142d78f87d rightMargin
ca
parents: 436
diff changeset
   324
    ].
59142d78f87d rightMargin
ca
parents: 436
diff changeset
   325
    Resolution isNil ifTrue:[
59142d78f87d rightMargin
ca
parents: 436
diff changeset
   326
        Resolution := 300@300. "/ DPI
59142d78f87d rightMargin
ca
parents: 436
diff changeset
   327
    ].
246
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   328
361
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
   329
    "/     +-----------------------------------------------+  PageHeight
437
59142d78f87d rightMargin
ca
parents: 436
diff changeset
   330
    "/     |                   TOPMARGIN             |     |
361
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
   331
    "/     | LeftX +---------------------------------------|  TopY
437
59142d78f87d rightMargin
ca
parents: 436
diff changeset
   332
    "/     |       |1st printed line                 |     |
59142d78f87d rightMargin
ca
parents: 436
diff changeset
   333
    "/     |       |                                 |     |
59142d78f87d rightMargin
ca
parents: 436
diff changeset
   334
    "/     | LEFT  |                                 |RIGHT| (only used by
59142d78f87d rightMargin
ca
parents: 436
diff changeset
   335
    "/     | MARGIN|                                 |MARG.|  PSGraphicsContext)
59142d78f87d rightMargin
ca
parents: 436
diff changeset
   336
    "/     |       |                                 |     |
59142d78f87d rightMargin
ca
parents: 436
diff changeset
   337
    "/     |       |last line (linesPerPage)         |     |
361
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
   338
    "/     |       +---------------------------------------|
437
59142d78f87d rightMargin
ca
parents: 436
diff changeset
   339
    "/     |                   BOTTOMMARGIN          |     |
361
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
   340
    "/     (0/0)-------------------------------------------+  0
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
   341
433
2b5b9df0981c renamed *Inset to *Margin; cleanup.
Claus Gittinger <cg@exept.de>
parents: 432
diff changeset
   342
    LeftX := (UnitConverter convert:LeftMargin from:#inch to:#twip) rounded.
246
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   343
4516
6f042ebe7abb #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 4195
diff changeset
   344
    PhysicalPageHeight := (UnitConverter convert:1 from:(fmt , 'H') to:#twip) rounded.
2968
bb3ea109cbe6 lazy initialization
Claus Gittinger <cg@exept.de>
parents: 2109
diff changeset
   345
    self landscape == true ifTrue:[
4516
6f042ebe7abb #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 4195
diff changeset
   346
        PageHeight := (UnitConverter convert:1 from:(fmt , 'lH') to:#twip) rounded.
370
705453f00711 keep per-printer defaults
Claus Gittinger <cg@exept.de>
parents: 368
diff changeset
   347
    ] ifFalse:[
4516
6f042ebe7abb #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 4195
diff changeset
   348
        PageHeight := (UnitConverter convert:1 from:(fmt , 'H') to:#twip) rounded.
370
705453f00711 keep per-printer defaults
Claus Gittinger <cg@exept.de>
parents: 368
diff changeset
   349
    ].
705453f00711 keep per-printer defaults
Claus Gittinger <cg@exept.de>
parents: 368
diff changeset
   350
433
2b5b9df0981c renamed *Inset to *Margin; cleanup.
Claus Gittinger <cg@exept.de>
parents: 432
diff changeset
   351
    TopY := PageHeight - (UnitConverter convert:TopMargin from:#inch to:#twip) rounded.
4516
6f042ebe7abb #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 4195
diff changeset
   352
    LinesPerPage := (TopY - (UnitConverter convert:BottomMargin from:#inch to:#twip) rounded) // 200.
370
705453f00711 keep per-printer defaults
Claus Gittinger <cg@exept.de>
parents: 368
diff changeset
   353
386
cebdfb2e9cf0 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 382
diff changeset
   354
    "
433
2b5b9df0981c renamed *Inset to *Margin; cleanup.
Claus Gittinger <cg@exept.de>
parents: 432
diff changeset
   355
     TopMargin := LeftMargin := BottomMargin := nil.
386
cebdfb2e9cf0 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 382
diff changeset
   356
     self initPage
cebdfb2e9cf0 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 382
diff changeset
   357
    "
cebdfb2e9cf0 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 382
diff changeset
   358
4516
6f042ebe7abb #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 4195
diff changeset
   359
    "Modified: / 30-05-1996 / 17:24:55 / ca"
6f042ebe7abb #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 4195
diff changeset
   360
    "Modified (format): / 18-09-2017 / 10:20:37 / cg"
246
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   361
!
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   362
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   363
initPageProlog
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   364
    "define the page prolog"
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   365
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   366
    PageProlog :=
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   367
'StartPage
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   368
'.
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   369
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   370
    "Created: 23.4.1996 / 19:56:16 / cg"
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   371
!
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   372
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   373
initPageTrailer
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   374
    "define the page epilog"
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   375
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   376
    PageTrailer :=
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   377
'EndPage
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   378
'.
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   379
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   380
    "Modified: 23.4.1996 / 19:55:50 / cg"
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   381
    "Created: 23.4.1996 / 19:56:30 / cg"
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   382
!
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   383
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   384
initProlog
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   385
    "define the documents prolog"
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   386
0
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   387
    |tmpString t fontNr|
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   388
246
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   389
    tmpString :=
432
c8b2fa21b747 count pages (for ghostview to be able to page)
Claus Gittinger <cg@exept.de>
parents: 431
diff changeset
   390
'%!!PS-Adobe-2.0
246
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   391
%%Creator: Smalltalk/X
1437
e8f0a47618dc Use Timestamp/#asTimestamp instead of AbsoluteTime/#asAbsoluteTime
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
   392
%%CreationDate: ' , Timestamp now printString , '
432
c8b2fa21b747 count pages (for ghostview to be able to page)
Claus Gittinger <cg@exept.de>
parents: 431
diff changeset
   393
%%DocumentFonts: '.
c8b2fa21b747 count pages (for ghostview to be able to page)
Claus Gittinger <cg@exept.de>
parents: 431
diff changeset
   394
c8b2fa21b747 count pages (for ghostview to be able to page)
Claus Gittinger <cg@exept.de>
parents: 431
diff changeset
   395
    FontNames do:[:aName |
c8b2fa21b747 count pages (for ghostview to be able to page)
Claus Gittinger <cg@exept.de>
parents: 431
diff changeset
   396
        tmpString := tmpString , aName , ' '
c8b2fa21b747 count pages (for ghostview to be able to page)
Claus Gittinger <cg@exept.de>
parents: 431
diff changeset
   397
    ].
c8b2fa21b747 count pages (for ghostview to be able to page)
Claus Gittinger <cg@exept.de>
parents: 431
diff changeset
   398
c8b2fa21b747 count pages (for ghostview to be able to page)
Claus Gittinger <cg@exept.de>
parents: 431
diff changeset
   399
    tmpString := tmpString , '
c8b2fa21b747 count pages (for ghostview to be able to page)
Claus Gittinger <cg@exept.de>
parents: 431
diff changeset
   400
%%Pages: (atend)
c8b2fa21b747 count pages (for ghostview to be able to page)
Claus Gittinger <cg@exept.de>
parents: 431
diff changeset
   401
%%EndComments
c8b2fa21b747 count pages (for ghostview to be able to page)
Claus Gittinger <cg@exept.de>
parents: 431
diff changeset
   402
c8b2fa21b747 count pages (for ghostview to be able to page)
Claus Gittinger <cg@exept.de>
parents: 431
diff changeset
   403
save /SmalltalkJob exch def
c8b2fa21b747 count pages (for ghostview to be able to page)
Claus Gittinger <cg@exept.de>
parents: 431
diff changeset
   404
361
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
   405
/OriginalState gstate def
0
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   406
/StartSmalltalkDoc{$smalltalk begin}def
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   407
/$smalltalk 50 dict def $smalltalk begin
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   408
/EndSmalltalkDoc{end}def
432
c8b2fa21b747 count pages (for ghostview to be able to page)
Claus Gittinger <cg@exept.de>
parents: 431
diff changeset
   409
0
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   410
/S/show load def
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   411
/X{exch 0 rmoveto S}def
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   412
/Y{exch 0 exch rmoveto S}def
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   413
/B{3 1 roll moveto S}def
382
113b013200d3 implement underline
Claus Gittinger <cg@exept.de>
parents: 380
diff changeset
   414
/SUL {gsave currentpoint currentfont /FontInfo get /UnderlinePosition get
113b013200d3 implement underline
Claus Gittinger <cg@exept.de>
parents: 380
diff changeset
   415
 0 exch currentfont /FontMatrix get dtransform exch pop add newpath moveto
113b013200d3 implement underline
Claus Gittinger <cg@exept.de>
parents: 380
diff changeset
   416
 dup stringwidth rlineto stroke grestore S} def
391
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   417
/SSO {gsave currentpoint 300
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   418
 0 exch currentfont /FontMatrix get dtransform exch pop add 
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   419
 newpath moveto dup stringwidth rlineto stroke grestore S} def
382
113b013200d3 implement underline
Claus Gittinger <cg@exept.de>
parents: 380
diff changeset
   420
/BUL{3 1 roll moveto SUL}def
391
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   421
/BSO{3 1 roll moveto SSO}def
0
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   422
/F{$fd exch get setfont}def
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   423
/StartPage{/svpg save def .05 dup scale}def
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   424
/EndPage{svpg restore showpage}def
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   425
/DoPreFeed{/statusdict where{pop
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   426
 statusdict/prefeed known{statusdict exch/prefeed exch put 0}if}if pop}def
373
6834d6a61ea9 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 372
diff changeset
   427
/Landscape{90 rotate 0 -' , PageHeight printString "15840", ' translate}def
246
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   428
/ISOrecode {findfont dup length dict begin
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   429
 {1 index /FID ne {def} {pop pop} ifelse} forall
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   430
 /Encoding ISOLatin1Encoding def
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   431
 currentdict end definefont pop} def
0
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   432
/SetUpFonts
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   433
 {dup/$fd exch array def{findfont exch scalefont $fd 3 1 roll put}repeat}def
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   434
/InitGaudy{/TwoColumn exch def /BarLength exch def
246
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   435
/ftD /ISO-Times-Bold findfont 12 UP scalefont def
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   436
/ftF /ISO-Times-Roman findfont 14 UP scalefont def
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   437
/ftP /ISO-Helvetica-Bold findfont 30 UP scalefont def}def
0
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   438
/U{1440 mul}def
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   439
/UP{U 72 div}def
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   440
/LB{/pts exch UP def /charcolor exch def /boxcolor exch def /font exch def
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   441
 /label exch def /dy exch def /dx exch def /lly exch def /llx exch def
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   442
 gsave boxcolor setgray
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   443
 llx lly moveto dx 0 rlineto 0 dy rlineto dx neg 0 rlineto closepath fill
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   444
 /lines label length def
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   445
 /yp lly dy add dy lines pts mul sub 2 div sub pts .85 mul sub def
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   446
 font setfont charcolor setgray
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   447
 label {dup stringwidth pop 2 div llx dx 2 div add exch sub yp moveto show
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   448
   /yp yp pts sub def}forall grestore}def
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   449
/Gaudy{/Page exch def /Date exch def /File exch def /Comment exch def
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   450
 .25 U 10.2 U BarLength .1 sub U .25 U [File] ftF .97 0 14 LB
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   451
 .25 U 10.45 U BarLength .1 sub U .25 U [Comment] ftF 1 0 14 LB
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   452
 .25 U 10.2 U 1 U .5 U Date ftD .7 0 12 LB
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   453
 BarLength .75 sub U 10.2 U 1 U .5 U [Page] ftP .7 1 30 LB
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   454
 TwoColumn{BarLength 2 div .19 add U 10.2 U moveto 0 -10 U rlineto stroke}if
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   455
}def
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   456
end
246
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   457
StartSmalltalkDoc 
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   458
% end of fixed prolog
0
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   459
'.
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   460
246
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   461
    t := ''.
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   462
    FontNames do:[:aName |
432
c8b2fa21b747 count pages (for ghostview to be able to page)
Claus Gittinger <cg@exept.de>
parents: 431
diff changeset
   463
        t := t , '/ISO-' , aName , ' /' , aName , ' ISOrecode
246
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   464
'.
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   465
    ].
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   466
    t := t , '
0
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   467
'.
246
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   468
    tmpString := tmpString , t.
0
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   469
246
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   470
    t := ''.
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   471
    fontNr := 0.
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   472
    FontNames do:[:aName |
391
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   473
        t := t , (fontNr printString) , ' ' 
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   474
               , (FontHeight printString) , ' '
432
c8b2fa21b747 count pages (for ghostview to be able to page)
Claus Gittinger <cg@exept.de>
parents: 431
diff changeset
   475
               , '/ISO-' , aName , (Character nl) asString.
391
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   476
        fontNr := fontNr + 1
246
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   477
    ].
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   478
    tmpString := tmpString , t.
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   479
    tmpString := tmpString , fontNr printString , ' SetUpFonts
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   480
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   481
% end of prolog
432
c8b2fa21b747 count pages (for ghostview to be able to page)
Claus Gittinger <cg@exept.de>
parents: 431
diff changeset
   482
%%EndProlog
246
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   483
'.
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   484
    Prolog := tmpString.
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   485
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   486
    "
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   487
     PostscriptPrinterStream initProlog
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   488
    "
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   489
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   490
    "Created: 23.4.1996 / 19:40:44 / cg"
438
c38453be27ae put cleanup stuff after %%Trailer
Claus Gittinger <cg@exept.de>
parents: 437
diff changeset
   491
    "Modified: 7.9.1996 / 16:01:52 / cg"
246
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   492
!
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   493
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   494
initTrailer
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   495
    "define the documents epilog"
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   496
432
c8b2fa21b747 count pages (for ghostview to be able to page)
Claus Gittinger <cg@exept.de>
parents: 431
diff changeset
   497
        Trailer :=
c8b2fa21b747 count pages (for ghostview to be able to page)
Claus Gittinger <cg@exept.de>
parents: 431
diff changeset
   498
'
438
c38453be27ae put cleanup stuff after %%Trailer
Claus Gittinger <cg@exept.de>
parents: 437
diff changeset
   499
%%Trailer
432
c8b2fa21b747 count pages (for ghostview to be able to page)
Claus Gittinger <cg@exept.de>
parents: 431
diff changeset
   500
EndSmalltalkDoc
0
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   501
SmalltalkJob restore
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   502
'
246
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   503
440
da568c775e8b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 439
diff changeset
   504
    "Modified: 7.9.1996 / 16:27:49 / cg"
246
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   505
!
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   506
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   507
initialize
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   508
    Normal isNil ifTrue:[
965
21f25a87c5c6 prolog initialization now lazy (when needed, not when class is initialized)
Claus Gittinger <cg@exept.de>
parents: 914
diff changeset
   509
        self initFonts.
21f25a87c5c6 prolog initialization now lazy (when needed, not when class is initialized)
Claus Gittinger <cg@exept.de>
parents: 914
diff changeset
   510
        self initPage.
21f25a87c5c6 prolog initialization now lazy (when needed, not when class is initialized)
Claus Gittinger <cg@exept.de>
parents: 914
diff changeset
   511
        self initCharacterSize.
246
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   512
965
21f25a87c5c6 prolog initialization now lazy (when needed, not when class is initialized)
Claus Gittinger <cg@exept.de>
parents: 914
diff changeset
   513
        "/ self initProlog.   - now done lazy
21f25a87c5c6 prolog initialization now lazy (when needed, not when class is initialized)
Claus Gittinger <cg@exept.de>
parents: 914
diff changeset
   514
        "/ self initTrailer.  - now done lazy
246
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   515
965
21f25a87c5c6 prolog initialization now lazy (when needed, not when class is initialized)
Claus Gittinger <cg@exept.de>
parents: 914
diff changeset
   516
        self initPageProlog.
21f25a87c5c6 prolog initialization now lazy (when needed, not when class is initialized)
Claus Gittinger <cg@exept.de>
parents: 914
diff changeset
   517
        self initPageTrailer
170
7194ef17f5b8 only init once
Claus Gittinger <cg@exept.de>
parents: 126
diff changeset
   518
    ]
246
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   519
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   520
    "
349
e2806ca1c634 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 348
diff changeset
   521
     Normal := nil.
246
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   522
     self initialize
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   523
    "
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   524
349
e2806ca1c634 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 348
diff changeset
   525
    "Modified: 18.5.1996 / 09:46:15 / cg"
370
705453f00711 keep per-printer defaults
Claus Gittinger <cg@exept.de>
parents: 368
diff changeset
   526
!
705453f00711 keep per-printer defaults
Claus Gittinger <cg@exept.de>
parents: 368
diff changeset
   527
705453f00711 keep per-printer defaults
Claus Gittinger <cg@exept.de>
parents: 368
diff changeset
   528
reInitPage
705453f00711 keep per-printer defaults
Claus Gittinger <cg@exept.de>
parents: 368
diff changeset
   529
    self initPage.
965
21f25a87c5c6 prolog initialization now lazy (when needed, not when class is initialized)
Claus Gittinger <cg@exept.de>
parents: 914
diff changeset
   530
    Prolog := nil.
21f25a87c5c6 prolog initialization now lazy (when needed, not when class is initialized)
Claus Gittinger <cg@exept.de>
parents: 914
diff changeset
   531
    "/ self initProlog.   - now done lazy
370
705453f00711 keep per-printer defaults
Claus Gittinger <cg@exept.de>
parents: 368
diff changeset
   532
705453f00711 keep per-printer defaults
Claus Gittinger <cg@exept.de>
parents: 368
diff changeset
   533
    "Created: 31.5.1996 / 23:35:18 / cg"
705453f00711 keep per-printer defaults
Claus Gittinger <cg@exept.de>
parents: 368
diff changeset
   534
! !
705453f00711 keep per-printer defaults
Claus Gittinger <cg@exept.de>
parents: 368
diff changeset
   535
1220
33fa58c0596d category
Claus Gittinger <cg@exept.de>
parents: 1108
diff changeset
   536
!PostscriptPrinterStream class methodsFor:'accessing-defaults'!
375
ab43222a70ce added access methods for margins
Claus Gittinger <cg@exept.de>
parents: 373
diff changeset
   537
433
2b5b9df0981c renamed *Inset to *Margin; cleanup.
Claus Gittinger <cg@exept.de>
parents: 432
diff changeset
   538
bottomMargin
375
ab43222a70ce added access methods for margins
Claus Gittinger <cg@exept.de>
parents: 373
diff changeset
   539
    "return the bottom margin (in inches)"
ab43222a70ce added access methods for margins
Claus Gittinger <cg@exept.de>
parents: 373
diff changeset
   540
433
2b5b9df0981c renamed *Inset to *Margin; cleanup.
Claus Gittinger <cg@exept.de>
parents: 432
diff changeset
   541
    ^ BottomMargin
375
ab43222a70ce added access methods for margins
Claus Gittinger <cg@exept.de>
parents: 373
diff changeset
   542
378
91abcf70e0c3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 375
diff changeset
   543
    "Modified: 3.6.1996 / 10:44:44 / cg"
433
2b5b9df0981c renamed *Inset to *Margin; cleanup.
Claus Gittinger <cg@exept.de>
parents: 432
diff changeset
   544
    "Created: 5.9.1996 / 21:42:08 / cg"
378
91abcf70e0c3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 375
diff changeset
   545
!
91abcf70e0c3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 375
diff changeset
   546
433
2b5b9df0981c renamed *Inset to *Margin; cleanup.
Claus Gittinger <cg@exept.de>
parents: 432
diff changeset
   547
bottomMargin:inches
378
91abcf70e0c3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 375
diff changeset
   548
    "set the bottom margin (in inches)"
91abcf70e0c3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 375
diff changeset
   549
433
2b5b9df0981c renamed *Inset to *Margin; cleanup.
Claus Gittinger <cg@exept.de>
parents: 432
diff changeset
   550
    BottomMargin := inches.
378
91abcf70e0c3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 375
diff changeset
   551
    self reInitPage.
91abcf70e0c3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 375
diff changeset
   552
91abcf70e0c3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 375
diff changeset
   553
    "Modified: 3.6.1996 / 10:47:16 / cg"
433
2b5b9df0981c renamed *Inset to *Margin; cleanup.
Claus Gittinger <cg@exept.de>
parents: 432
diff changeset
   554
    "Created: 5.9.1996 / 21:42:13 / cg"
375
ab43222a70ce added access methods for margins
Claus Gittinger <cg@exept.de>
parents: 373
diff changeset
   555
!
ab43222a70ce added access methods for margins
Claus Gittinger <cg@exept.de>
parents: 373
diff changeset
   556
433
2b5b9df0981c renamed *Inset to *Margin; cleanup.
Claus Gittinger <cg@exept.de>
parents: 432
diff changeset
   557
leftMargin
375
ab43222a70ce added access methods for margins
Claus Gittinger <cg@exept.de>
parents: 373
diff changeset
   558
    "return the left margin (in inches)"
ab43222a70ce added access methods for margins
Claus Gittinger <cg@exept.de>
parents: 373
diff changeset
   559
433
2b5b9df0981c renamed *Inset to *Margin; cleanup.
Claus Gittinger <cg@exept.de>
parents: 432
diff changeset
   560
    ^ LeftMargin
375
ab43222a70ce added access methods for margins
Claus Gittinger <cg@exept.de>
parents: 373
diff changeset
   561
378
91abcf70e0c3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 375
diff changeset
   562
    "Modified: 3.6.1996 / 10:45:11 / cg"
433
2b5b9df0981c renamed *Inset to *Margin; cleanup.
Claus Gittinger <cg@exept.de>
parents: 432
diff changeset
   563
    "Created: 5.9.1996 / 21:42:16 / cg"
378
91abcf70e0c3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 375
diff changeset
   564
!
91abcf70e0c3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 375
diff changeset
   565
433
2b5b9df0981c renamed *Inset to *Margin; cleanup.
Claus Gittinger <cg@exept.de>
parents: 432
diff changeset
   566
leftMargin:inches
378
91abcf70e0c3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 375
diff changeset
   567
    "set the left margin (in inches)"
91abcf70e0c3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 375
diff changeset
   568
433
2b5b9df0981c renamed *Inset to *Margin; cleanup.
Claus Gittinger <cg@exept.de>
parents: 432
diff changeset
   569
    LeftMargin := inches.
378
91abcf70e0c3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 375
diff changeset
   570
    self reInitPage.
91abcf70e0c3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 375
diff changeset
   571
91abcf70e0c3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 375
diff changeset
   572
    "Created: 3.6.1996 / 10:46:33 / cg"
433
2b5b9df0981c renamed *Inset to *Margin; cleanup.
Claus Gittinger <cg@exept.de>
parents: 432
diff changeset
   573
    "Modified: 5.9.1996 / 21:42:19 / cg"
375
ab43222a70ce added access methods for margins
Claus Gittinger <cg@exept.de>
parents: 373
diff changeset
   574
!
ab43222a70ce added access methods for margins
Claus Gittinger <cg@exept.de>
parents: 373
diff changeset
   575
965
21f25a87c5c6 prolog initialization now lazy (when needed, not when class is initialized)
Claus Gittinger <cg@exept.de>
parents: 914
diff changeset
   576
psProlog
21f25a87c5c6 prolog initialization now lazy (when needed, not when class is initialized)
Claus Gittinger <cg@exept.de>
parents: 914
diff changeset
   577
    Prolog isNil ifTrue:[
21f25a87c5c6 prolog initialization now lazy (when needed, not when class is initialized)
Claus Gittinger <cg@exept.de>
parents: 914
diff changeset
   578
        self initProlog
21f25a87c5c6 prolog initialization now lazy (when needed, not when class is initialized)
Claus Gittinger <cg@exept.de>
parents: 914
diff changeset
   579
    ].
21f25a87c5c6 prolog initialization now lazy (when needed, not when class is initialized)
Claus Gittinger <cg@exept.de>
parents: 914
diff changeset
   580
    ^ Prolog
21f25a87c5c6 prolog initialization now lazy (when needed, not when class is initialized)
Claus Gittinger <cg@exept.de>
parents: 914
diff changeset
   581
!
21f25a87c5c6 prolog initialization now lazy (when needed, not when class is initialized)
Claus Gittinger <cg@exept.de>
parents: 914
diff changeset
   582
21f25a87c5c6 prolog initialization now lazy (when needed, not when class is initialized)
Claus Gittinger <cg@exept.de>
parents: 914
diff changeset
   583
psTrailer
21f25a87c5c6 prolog initialization now lazy (when needed, not when class is initialized)
Claus Gittinger <cg@exept.de>
parents: 914
diff changeset
   584
    Trailer isNil ifTrue:[
21f25a87c5c6 prolog initialization now lazy (when needed, not when class is initialized)
Claus Gittinger <cg@exept.de>
parents: 914
diff changeset
   585
        self initTrailer
21f25a87c5c6 prolog initialization now lazy (when needed, not when class is initialized)
Claus Gittinger <cg@exept.de>
parents: 914
diff changeset
   586
    ].
21f25a87c5c6 prolog initialization now lazy (when needed, not when class is initialized)
Claus Gittinger <cg@exept.de>
parents: 914
diff changeset
   587
    ^ Trailer
21f25a87c5c6 prolog initialization now lazy (when needed, not when class is initialized)
Claus Gittinger <cg@exept.de>
parents: 914
diff changeset
   588
!
21f25a87c5c6 prolog initialization now lazy (when needed, not when class is initialized)
Claus Gittinger <cg@exept.de>
parents: 914
diff changeset
   589
437
59142d78f87d rightMargin
ca
parents: 436
diff changeset
   590
resolution
59142d78f87d rightMargin
ca
parents: 436
diff changeset
   591
    "return the printers actual resolution (if known)"
59142d78f87d rightMargin
ca
parents: 436
diff changeset
   592
59142d78f87d rightMargin
ca
parents: 436
diff changeset
   593
    ^ Resolution
59142d78f87d rightMargin
ca
parents: 436
diff changeset
   594
59142d78f87d rightMargin
ca
parents: 436
diff changeset
   595
    "Modified: 3.6.1996 / 10:45:17 / cg"
59142d78f87d rightMargin
ca
parents: 436
diff changeset
   596
    "Created: 5.9.1996 / 21:41:49 / cg"
59142d78f87d rightMargin
ca
parents: 436
diff changeset
   597
!
59142d78f87d rightMargin
ca
parents: 436
diff changeset
   598
59142d78f87d rightMargin
ca
parents: 436
diff changeset
   599
resolution:dpiValuePoint
59142d78f87d rightMargin
ca
parents: 436
diff changeset
   600
    "set the printers actual resolution (if known)"
59142d78f87d rightMargin
ca
parents: 436
diff changeset
   601
59142d78f87d rightMargin
ca
parents: 436
diff changeset
   602
    Resolution := dpiValuePoint
59142d78f87d rightMargin
ca
parents: 436
diff changeset
   603
59142d78f87d rightMargin
ca
parents: 436
diff changeset
   604
    "Modified: 3.6.1996 / 10:45:17 / cg"
59142d78f87d rightMargin
ca
parents: 436
diff changeset
   605
    "Created: 5.9.1996 / 21:41:49 / cg"
59142d78f87d rightMargin
ca
parents: 436
diff changeset
   606
!
59142d78f87d rightMargin
ca
parents: 436
diff changeset
   607
59142d78f87d rightMargin
ca
parents: 436
diff changeset
   608
rightMargin
59142d78f87d rightMargin
ca
parents: 436
diff changeset
   609
    "return the right margin (in inches)"
59142d78f87d rightMargin
ca
parents: 436
diff changeset
   610
59142d78f87d rightMargin
ca
parents: 436
diff changeset
   611
    ^ RightMargin
59142d78f87d rightMargin
ca
parents: 436
diff changeset
   612
59142d78f87d rightMargin
ca
parents: 436
diff changeset
   613
    "Modified: 3.6.1996 / 10:45:11 / cg"
59142d78f87d rightMargin
ca
parents: 436
diff changeset
   614
    "Created: 5.9.1996 / 21:42:16 / cg"
59142d78f87d rightMargin
ca
parents: 436
diff changeset
   615
!
59142d78f87d rightMargin
ca
parents: 436
diff changeset
   616
59142d78f87d rightMargin
ca
parents: 436
diff changeset
   617
rightMargin:inches
59142d78f87d rightMargin
ca
parents: 436
diff changeset
   618
    "set the right margin (in inches)"
59142d78f87d rightMargin
ca
parents: 436
diff changeset
   619
59142d78f87d rightMargin
ca
parents: 436
diff changeset
   620
    RightMargin := inches.
59142d78f87d rightMargin
ca
parents: 436
diff changeset
   621
    self reInitPage.
59142d78f87d rightMargin
ca
parents: 436
diff changeset
   622
!
59142d78f87d rightMargin
ca
parents: 436
diff changeset
   623
431
4d66e2730d76 supports color
ca
parents: 391
diff changeset
   624
supportsColor
4d66e2730d76 supports color
ca
parents: 391
diff changeset
   625
    SupportsColor notNil ifTrue:[^ SupportsColor].
4d66e2730d76 supports color
ca
parents: 391
diff changeset
   626
    ^ false
4d66e2730d76 supports color
ca
parents: 391
diff changeset
   627
!
4d66e2730d76 supports color
ca
parents: 391
diff changeset
   628
4d66e2730d76 supports color
ca
parents: 391
diff changeset
   629
supportsColor:aBoolean
4d66e2730d76 supports color
ca
parents: 391
diff changeset
   630
    SupportsColor := aBoolean.
4d66e2730d76 supports color
ca
parents: 391
diff changeset
   631
!
4d66e2730d76 supports color
ca
parents: 391
diff changeset
   632
2109
edfb1b251b62 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1907
diff changeset
   633
supportsGreyscale
edfb1b251b62 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1907
diff changeset
   634
    SupportsGreyscale notNil ifTrue:[^ SupportsGreyscale].
edfb1b251b62 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1907
diff changeset
   635
    ^ true
edfb1b251b62 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1907
diff changeset
   636
!
edfb1b251b62 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1907
diff changeset
   637
edfb1b251b62 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1907
diff changeset
   638
supportsGreyscale:aBoolean
edfb1b251b62 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1907
diff changeset
   639
    SupportsGreyscale := aBoolean.
edfb1b251b62 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1907
diff changeset
   640
!
edfb1b251b62 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1907
diff changeset
   641
433
2b5b9df0981c renamed *Inset to *Margin; cleanup.
Claus Gittinger <cg@exept.de>
parents: 432
diff changeset
   642
topMargin
375
ab43222a70ce added access methods for margins
Claus Gittinger <cg@exept.de>
parents: 373
diff changeset
   643
    "return the top margin (in inches)"
ab43222a70ce added access methods for margins
Claus Gittinger <cg@exept.de>
parents: 373
diff changeset
   644
433
2b5b9df0981c renamed *Inset to *Margin; cleanup.
Claus Gittinger <cg@exept.de>
parents: 432
diff changeset
   645
    ^ TopMargin
375
ab43222a70ce added access methods for margins
Claus Gittinger <cg@exept.de>
parents: 373
diff changeset
   646
378
91abcf70e0c3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 375
diff changeset
   647
    "Modified: 3.6.1996 / 10:45:17 / cg"
433
2b5b9df0981c renamed *Inset to *Margin; cleanup.
Claus Gittinger <cg@exept.de>
parents: 432
diff changeset
   648
    "Created: 5.9.1996 / 21:41:49 / cg"
378
91abcf70e0c3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 375
diff changeset
   649
!
91abcf70e0c3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 375
diff changeset
   650
433
2b5b9df0981c renamed *Inset to *Margin; cleanup.
Claus Gittinger <cg@exept.de>
parents: 432
diff changeset
   651
topMargin:inches
378
91abcf70e0c3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 375
diff changeset
   652
    "set the top margin (in inches)"
91abcf70e0c3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 375
diff changeset
   653
433
2b5b9df0981c renamed *Inset to *Margin; cleanup.
Claus Gittinger <cg@exept.de>
parents: 432
diff changeset
   654
    TopMargin := inches.
378
91abcf70e0c3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 375
diff changeset
   655
    self reInitPage.
91abcf70e0c3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 375
diff changeset
   656
91abcf70e0c3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 375
diff changeset
   657
    "Modified: 3.6.1996 / 10:47:26 / cg"
433
2b5b9df0981c renamed *Inset to *Margin; cleanup.
Claus Gittinger <cg@exept.de>
parents: 432
diff changeset
   658
    "Created: 5.9.1996 / 21:41:55 / cg"
375
ab43222a70ce added access methods for margins
Claus Gittinger <cg@exept.de>
parents: 373
diff changeset
   659
! !
ab43222a70ce added access methods for margins
Claus Gittinger <cg@exept.de>
parents: 373
diff changeset
   660
467
10cca849db9e added #lineNr & #colNr
Claus Gittinger <cg@exept.de>
parents: 447
diff changeset
   661
!PostscriptPrinterStream class methodsFor:'queries'!
186
bc1b056b097c added #supportsPostscript query
Claus Gittinger <cg@exept.de>
parents: 179
diff changeset
   662
bc1b056b097c added #supportsPostscript query
Claus Gittinger <cg@exept.de>
parents: 179
diff changeset
   663
printerTypeName
bc1b056b097c added #supportsPostscript query
Claus Gittinger <cg@exept.de>
parents: 179
diff changeset
   664
    "return a descriptive name"
bc1b056b097c added #supportsPostscript query
Claus Gittinger <cg@exept.de>
parents: 179
diff changeset
   665
1907
839cd32bb1d8 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1773
diff changeset
   666
    ^ 'Postscript Printer'
839cd32bb1d8 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1773
diff changeset
   667
839cd32bb1d8 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1773
diff changeset
   668
    "Modified: / 08-11-2007 / 12:14:05 / cg"
186
bc1b056b097c added #supportsPostscript query
Claus Gittinger <cg@exept.de>
parents: 179
diff changeset
   669
!
bc1b056b097c added #supportsPostscript query
Claus Gittinger <cg@exept.de>
parents: 179
diff changeset
   670
378
91abcf70e0c3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 375
diff changeset
   671
supportsMargins
91abcf70e0c3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 375
diff changeset
   672
    "return true if this printer supports margins"
91abcf70e0c3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 375
diff changeset
   673
91abcf70e0c3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 375
diff changeset
   674
    ^ true
91abcf70e0c3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 375
diff changeset
   675
91abcf70e0c3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 375
diff changeset
   676
    "Created: 3.6.1996 / 10:48:04 / cg"
91abcf70e0c3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 375
diff changeset
   677
!
91abcf70e0c3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 375
diff changeset
   678
368
423cf3f4e522 added query if printer supports pages at all (only PS does)
Claus Gittinger <cg@exept.de>
parents: 361
diff changeset
   679
supportsPageSizes
423cf3f4e522 added query if printer supports pages at all (only PS does)
Claus Gittinger <cg@exept.de>
parents: 361
diff changeset
   680
    "return true if this printer supports different page sizes"
423cf3f4e522 added query if printer supports pages at all (only PS does)
Claus Gittinger <cg@exept.de>
parents: 361
diff changeset
   681
423cf3f4e522 added query if printer supports pages at all (only PS does)
Claus Gittinger <cg@exept.de>
parents: 361
diff changeset
   682
    ^ true
423cf3f4e522 added query if printer supports pages at all (only PS does)
Claus Gittinger <cg@exept.de>
parents: 361
diff changeset
   683
423cf3f4e522 added query if printer supports pages at all (only PS does)
Claus Gittinger <cg@exept.de>
parents: 361
diff changeset
   684
    "Created: 31.5.1996 / 22:35:39 / cg"
423cf3f4e522 added query if printer supports pages at all (only PS does)
Claus Gittinger <cg@exept.de>
parents: 361
diff changeset
   685
!
423cf3f4e522 added query if printer supports pages at all (only PS does)
Claus Gittinger <cg@exept.de>
parents: 361
diff changeset
   686
186
bc1b056b097c added #supportsPostscript query
Claus Gittinger <cg@exept.de>
parents: 179
diff changeset
   687
supportsPostscript
bc1b056b097c added #supportsPostscript query
Claus Gittinger <cg@exept.de>
parents: 179
diff changeset
   688
    "return true if this is a postscript printer"
bc1b056b097c added #supportsPostscript query
Claus Gittinger <cg@exept.de>
parents: 179
diff changeset
   689
bc1b056b097c added #supportsPostscript query
Claus Gittinger <cg@exept.de>
parents: 179
diff changeset
   690
    ^ true
bc1b056b097c added #supportsPostscript query
Claus Gittinger <cg@exept.de>
parents: 179
diff changeset
   691
bc1b056b097c added #supportsPostscript query
Claus Gittinger <cg@exept.de>
parents: 179
diff changeset
   692
    "Created: 10.2.1996 / 16:23:23 / cg"
bc1b056b097c added #supportsPostscript query
Claus Gittinger <cg@exept.de>
parents: 179
diff changeset
   693
! !
bc1b056b097c added #supportsPostscript query
Claus Gittinger <cg@exept.de>
parents: 179
diff changeset
   694
879
e69bf56dc758 category change
Claus Gittinger <cg@exept.de>
parents: 866
diff changeset
   695
!PostscriptPrinterStream methodsFor:'access-writing'!
222
15d1c9a82bc6 suppress trailer in native printing (used to disturb the output of html printouts)
Claus Gittinger <cg@exept.de>
parents: 186
diff changeset
   696
15d1c9a82bc6 suppress trailer in native printing (used to disturb the output of html printouts)
Claus Gittinger <cg@exept.de>
parents: 186
diff changeset
   697
cr
15d1c9a82bc6 suppress trailer in native printing (used to disturb the output of html printouts)
Claus Gittinger <cg@exept.de>
parents: 186
diff changeset
   698
    "send line termination"
15d1c9a82bc6 suppress trailer in native printing (used to disturb the output of html printouts)
Claus Gittinger <cg@exept.de>
parents: 186
diff changeset
   699
15d1c9a82bc6 suppress trailer in native printing (used to disturb the output of html printouts)
Claus Gittinger <cg@exept.de>
parents: 186
diff changeset
   700
    self flushLine.
1317
890b41076c7c changed inheritance;
Claus Gittinger <cg@exept.de>
parents: 1297
diff changeset
   701
    native == true ifTrue:[
890b41076c7c changed inheritance;
Claus Gittinger <cg@exept.de>
parents: 1297
diff changeset
   702
        stream cr.
890b41076c7c changed inheritance;
Claus Gittinger <cg@exept.de>
parents: 1297
diff changeset
   703
        ^ self
890b41076c7c changed inheritance;
Claus Gittinger <cg@exept.de>
parents: 1297
diff changeset
   704
    ].
222
15d1c9a82bc6 suppress trailer in native printing (used to disturb the output of html printouts)
Claus Gittinger <cg@exept.de>
parents: 186
diff changeset
   705
15d1c9a82bc6 suppress trailer in native printing (used to disturb the output of html printouts)
Claus Gittinger <cg@exept.de>
parents: 186
diff changeset
   706
    xPos := LeftX.
15d1c9a82bc6 suppress trailer in native printing (used to disturb the output of html printouts)
Claus Gittinger <cg@exept.de>
parents: 186
diff changeset
   707
    colNr := 0.
1075
7272338c6b53 Speed up everything.
Stefan Vogel <sv@exept.de>
parents: 965
diff changeset
   708
    sendXPosition := true.
222
15d1c9a82bc6 suppress trailer in native printing (used to disturb the output of html printouts)
Claus Gittinger <cg@exept.de>
parents: 186
diff changeset
   709
    yPos := yPos - FontHeight.
375
ab43222a70ce added access methods for margins
Claus Gittinger <cg@exept.de>
parents: 373
diff changeset
   710
222
15d1c9a82bc6 suppress trailer in native printing (used to disturb the output of html printouts)
Claus Gittinger <cg@exept.de>
parents: 186
diff changeset
   711
    lineNr := lineNr + 1.
15d1c9a82bc6 suppress trailer in native printing (used to disturb the output of html printouts)
Claus Gittinger <cg@exept.de>
parents: 186
diff changeset
   712
    lineNr > LinesPerPage ifTrue:[
1075
7272338c6b53 Speed up everything.
Stefan Vogel <sv@exept.de>
parents: 965
diff changeset
   713
        self nextPage
222
15d1c9a82bc6 suppress trailer in native printing (used to disturb the output of html printouts)
Claus Gittinger <cg@exept.de>
parents: 186
diff changeset
   714
    ]
15d1c9a82bc6 suppress trailer in native printing (used to disturb the output of html printouts)
Claus Gittinger <cg@exept.de>
parents: 186
diff changeset
   715
375
ab43222a70ce added access methods for margins
Claus Gittinger <cg@exept.de>
parents: 373
diff changeset
   716
    "Modified: 1.6.1996 / 13:09:30 / cg"
222
15d1c9a82bc6 suppress trailer in native printing (used to disturb the output of html printouts)
Claus Gittinger <cg@exept.de>
parents: 186
diff changeset
   717
!
15d1c9a82bc6 suppress trailer in native printing (used to disturb the output of html printouts)
Claus Gittinger <cg@exept.de>
parents: 186
diff changeset
   718
4585
86ce5f304955 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 4516
diff changeset
   719
nextPut:aCharacterOrByte
5184
3e452dc19ab2 #DOCUMENTATION by exept
Claus Gittinger <cg@exept.de>
parents: 5171
diff changeset
   720
    "print aCharacter.
3e452dc19ab2 #DOCUMENTATION by exept
Claus Gittinger <cg@exept.de>
parents: 5171
diff changeset
   721
     Answer the argument."
3e452dc19ab2 #DOCUMENTATION by exept
Claus Gittinger <cg@exept.de>
parents: 5171
diff changeset
   722
4585
86ce5f304955 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 4516
diff changeset
   723
    |character code|
246
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   724
4585
86ce5f304955 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 4516
diff changeset
   725
    (character := aCharacterOrByte) isCharacter ifFalse:[
86ce5f304955 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 4516
diff changeset
   726
        character := aCharacterOrByte asCharacter
86ce5f304955 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 4516
diff changeset
   727
    ].
86ce5f304955 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 4516
diff changeset
   728
86ce5f304955 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 4516
diff changeset
   729
    (character == Character cr) ifTrue:[
5149
6d993b208d41 #QUALITY by exept
Claus Gittinger <cg@exept.de>
parents: 4585
diff changeset
   730
        self cr.
5171
45a689bbf0d2 #OTHER by exept
Claus Gittinger <cg@exept.de>
parents: 5149
diff changeset
   731
        ^ aCharacterOrByte.
222
15d1c9a82bc6 suppress trailer in native printing (used to disturb the output of html printouts)
Claus Gittinger <cg@exept.de>
parents: 186
diff changeset
   732
    ].
15d1c9a82bc6 suppress trailer in native printing (used to disturb the output of html printouts)
Claus Gittinger <cg@exept.de>
parents: 186
diff changeset
   733
15d1c9a82bc6 suppress trailer in native printing (used to disturb the output of html printouts)
Claus Gittinger <cg@exept.de>
parents: 186
diff changeset
   734
    native == true ifTrue:[
4585
86ce5f304955 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 4516
diff changeset
   735
        stream nextPut:character.
5171
45a689bbf0d2 #OTHER by exept
Claus Gittinger <cg@exept.de>
parents: 5149
diff changeset
   736
        ^ aCharacterOrByte.
222
15d1c9a82bc6 suppress trailer in native printing (used to disturb the output of html printouts)
Claus Gittinger <cg@exept.de>
parents: 186
diff changeset
   737
    ].
15d1c9a82bc6 suppress trailer in native printing (used to disturb the output of html printouts)
Claus Gittinger <cg@exept.de>
parents: 186
diff changeset
   738
4585
86ce5f304955 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 4516
diff changeset
   739
    (character == $( ) ifTrue:[
1075
7272338c6b53 Speed up everything.
Stefan Vogel <sv@exept.de>
parents: 965
diff changeset
   740
        lineStream nextPutAll:'\(' .
5171
45a689bbf0d2 #OTHER by exept
Claus Gittinger <cg@exept.de>
parents: 5149
diff changeset
   741
        ^ aCharacterOrByte
222
15d1c9a82bc6 suppress trailer in native printing (used to disturb the output of html printouts)
Claus Gittinger <cg@exept.de>
parents: 186
diff changeset
   742
    ].
4585
86ce5f304955 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 4516
diff changeset
   743
    (character == $) ) ifTrue:[
1075
7272338c6b53 Speed up everything.
Stefan Vogel <sv@exept.de>
parents: 965
diff changeset
   744
        lineStream nextPutAll:'\)' .
5171
45a689bbf0d2 #OTHER by exept
Claus Gittinger <cg@exept.de>
parents: 5149
diff changeset
   745
        ^ aCharacterOrByte
222
15d1c9a82bc6 suppress trailer in native printing (used to disturb the output of html printouts)
Claus Gittinger <cg@exept.de>
parents: 186
diff changeset
   746
    ].
4585
86ce5f304955 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 4516
diff changeset
   747
    (character == $\ ) ifTrue:[
1075
7272338c6b53 Speed up everything.
Stefan Vogel <sv@exept.de>
parents: 965
diff changeset
   748
        lineStream nextPutAll:'\\' .
5171
45a689bbf0d2 #OTHER by exept
Claus Gittinger <cg@exept.de>
parents: 5149
diff changeset
   749
        ^ aCharacterOrByte
222
15d1c9a82bc6 suppress trailer in native printing (used to disturb the output of html printouts)
Claus Gittinger <cg@exept.de>
parents: 186
diff changeset
   750
    ].
246
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   751
4585
86ce5f304955 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 4516
diff changeset
   752
    (character == Character tab ) ifTrue:[
913
99228537653d Speed up native printing: #nextPutAll
Stefan Vogel <sv@exept.de>
parents: 879
diff changeset
   753
        self flushLine.
99228537653d Speed up native printing: #nextPutAll
Stefan Vogel <sv@exept.de>
parents: 879
diff changeset
   754
        colNr := ((colNr + 8) // 8) * 8. 
99228537653d Speed up native printing: #nextPutAll
Stefan Vogel <sv@exept.de>
parents: 879
diff changeset
   755
        xPos := LeftX + (colNr * FontWidth).
1075
7272338c6b53 Speed up everything.
Stefan Vogel <sv@exept.de>
parents: 965
diff changeset
   756
        sendXPosition := true.
5171
45a689bbf0d2 #OTHER by exept
Claus Gittinger <cg@exept.de>
parents: 5149
diff changeset
   757
        ^ aCharacterOrByte
222
15d1c9a82bc6 suppress trailer in native printing (used to disturb the output of html printouts)
Claus Gittinger <cg@exept.de>
parents: 186
diff changeset
   758
    ].
15d1c9a82bc6 suppress trailer in native printing (used to disturb the output of html printouts)
Claus Gittinger <cg@exept.de>
parents: 186
diff changeset
   759
4585
86ce5f304955 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 4516
diff changeset
   760
    (code := character codePoint) > 16r7F ifTrue:[
1075
7272338c6b53 Speed up everything.
Stefan Vogel <sv@exept.de>
parents: 965
diff changeset
   761
        lineStream nextPut:$\ ; nextPutAll:(code printStringRadix:8)
246
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   762
    ] ifFalse:[
4585
86ce5f304955 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 4516
diff changeset
   763
        lineStream nextPut:character
246
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   764
    ].
5171
45a689bbf0d2 #OTHER by exept
Claus Gittinger <cg@exept.de>
parents: 5149
diff changeset
   765
    ^ aCharacterOrByte
222
15d1c9a82bc6 suppress trailer in native printing (used to disturb the output of html printouts)
Claus Gittinger <cg@exept.de>
parents: 186
diff changeset
   766
246
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   767
    "Modified: 23.4.1996 / 20:05:59 / cg"
222
15d1c9a82bc6 suppress trailer in native printing (used to disturb the output of html printouts)
Claus Gittinger <cg@exept.de>
parents: 186
diff changeset
   768
! !
15d1c9a82bc6 suppress trailer in native printing (used to disturb the output of html printouts)
Claus Gittinger <cg@exept.de>
parents: 186
diff changeset
   769
361
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
   770
!PostscriptPrinterStream methodsFor:'accessing'!
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
   771
467
10cca849db9e added #lineNr & #colNr
Claus Gittinger <cg@exept.de>
parents: 447
diff changeset
   772
colNr
10cca849db9e added #lineNr & #colNr
Claus Gittinger <cg@exept.de>
parents: 447
diff changeset
   773
    "return the current column-Nr (within the line)"
10cca849db9e added #lineNr & #colNr
Claus Gittinger <cg@exept.de>
parents: 447
diff changeset
   774
10cca849db9e added #lineNr & #colNr
Claus Gittinger <cg@exept.de>
parents: 447
diff changeset
   775
    ^ colNr
10cca849db9e added #lineNr & #colNr
Claus Gittinger <cg@exept.de>
parents: 447
diff changeset
   776
10cca849db9e added #lineNr & #colNr
Claus Gittinger <cg@exept.de>
parents: 447
diff changeset
   777
    "Created: 2.1.1997 / 13:29:55 / cg"
10cca849db9e added #lineNr & #colNr
Claus Gittinger <cg@exept.de>
parents: 447
diff changeset
   778
!
10cca849db9e added #lineNr & #colNr
Claus Gittinger <cg@exept.de>
parents: 447
diff changeset
   779
10cca849db9e added #lineNr & #colNr
Claus Gittinger <cg@exept.de>
parents: 447
diff changeset
   780
lineNr
10cca849db9e added #lineNr & #colNr
Claus Gittinger <cg@exept.de>
parents: 447
diff changeset
   781
    "return the current line-Nr (within the page)"
10cca849db9e added #lineNr & #colNr
Claus Gittinger <cg@exept.de>
parents: 447
diff changeset
   782
10cca849db9e added #lineNr & #colNr
Claus Gittinger <cg@exept.de>
parents: 447
diff changeset
   783
    ^ lineNr
10cca849db9e added #lineNr & #colNr
Claus Gittinger <cg@exept.de>
parents: 447
diff changeset
   784
10cca849db9e added #lineNr & #colNr
Claus Gittinger <cg@exept.de>
parents: 447
diff changeset
   785
    "Created: 2.1.1997 / 13:29:38 / cg"
10cca849db9e added #lineNr & #colNr
Claus Gittinger <cg@exept.de>
parents: 447
diff changeset
   786
!
10cca849db9e added #lineNr & #colNr
Claus Gittinger <cg@exept.de>
parents: 447
diff changeset
   787
432
c8b2fa21b747 count pages (for ghostview to be able to page)
Claus Gittinger <cg@exept.de>
parents: 431
diff changeset
   788
pageCount
c8b2fa21b747 count pages (for ghostview to be able to page)
Claus Gittinger <cg@exept.de>
parents: 431
diff changeset
   789
    "returns the number of the currently printed page"
c8b2fa21b747 count pages (for ghostview to be able to page)
Claus Gittinger <cg@exept.de>
parents: 431
diff changeset
   790
c8b2fa21b747 count pages (for ghostview to be able to page)
Claus Gittinger <cg@exept.de>
parents: 431
diff changeset
   791
    ^ pageCount
c8b2fa21b747 count pages (for ghostview to be able to page)
Claus Gittinger <cg@exept.de>
parents: 431
diff changeset
   792
c8b2fa21b747 count pages (for ghostview to be able to page)
Claus Gittinger <cg@exept.de>
parents: 431
diff changeset
   793
    "Created: 5.9.1996 / 18:29:23 / cg"
c8b2fa21b747 count pages (for ghostview to be able to page)
Claus Gittinger <cg@exept.de>
parents: 431
diff changeset
   794
!
c8b2fa21b747 count pages (for ghostview to be able to page)
Claus Gittinger <cg@exept.de>
parents: 431
diff changeset
   795
361
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
   796
pageEndAction:something
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
   797
    "set pageEndAction - if non-nil, that will be called before
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
   798
     and EndPage is emmitted. 
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
   799
     An example use is a private block,
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
   800
     which draws a company frame around the page ..."
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
   801
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
   802
    pageEndAction := something.
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
   803
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
   804
    "Modified: 30.5.1996 / 16:45:09 / ca"
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
   805
!
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
   806
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
   807
pageStartAction:something
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
   808
    "set pageStartAction - if nonNil, that is evaluated prior to every page."
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
   809
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
   810
    pageStartAction := something.
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
   811
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
   812
    "Modified: 30.5.1996 / 16:44:20 / ca"
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
   813
! !
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
   814
348
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   815
!PostscriptPrinterStream methodsFor:'emphasis change'!
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   816
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   817
bold
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   818
    "further printing is in bold"
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   819
390
3f22865fa873 fixed handling of underline; no longer affects bold/italic setting.
Claus Gittinger <cg@exept.de>
parents: 386
diff changeset
   820
    (fStyle ~~ Bold) ifTrue:[
3f22865fa873 fixed handling of underline; no longer affects bold/italic setting.
Claus Gittinger <cg@exept.de>
parents: 386
diff changeset
   821
	self flushLine.
3f22865fa873 fixed handling of underline; no longer affects bold/italic setting.
Claus Gittinger <cg@exept.de>
parents: 386
diff changeset
   822
	fStyle := Bold.
3f22865fa873 fixed handling of underline; no longer affects bold/italic setting.
Claus Gittinger <cg@exept.de>
parents: 386
diff changeset
   823
	self setFont.
382
113b013200d3 implement underline
Claus Gittinger <cg@exept.de>
parents: 380
diff changeset
   824
    ].
348
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   825
390
3f22865fa873 fixed handling of underline; no longer affects bold/italic setting.
Claus Gittinger <cg@exept.de>
parents: 386
diff changeset
   826
    "Modified: 8.6.1996 / 08:17:15 / cg"
348
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   827
!
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   828
349
e2806ca1c634 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 348
diff changeset
   829
boldItalic
e2806ca1c634 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 348
diff changeset
   830
    "further printing is in boldItalic"
e2806ca1c634 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 348
diff changeset
   831
390
3f22865fa873 fixed handling of underline; no longer affects bold/italic setting.
Claus Gittinger <cg@exept.de>
parents: 386
diff changeset
   832
    (fStyle ~~ BoldItalic) ifTrue:[
3f22865fa873 fixed handling of underline; no longer affects bold/italic setting.
Claus Gittinger <cg@exept.de>
parents: 386
diff changeset
   833
	self flushLine.
3f22865fa873 fixed handling of underline; no longer affects bold/italic setting.
Claus Gittinger <cg@exept.de>
parents: 386
diff changeset
   834
	fStyle := BoldItalic.
3f22865fa873 fixed handling of underline; no longer affects bold/italic setting.
Claus Gittinger <cg@exept.de>
parents: 386
diff changeset
   835
	self setFont.
382
113b013200d3 implement underline
Claus Gittinger <cg@exept.de>
parents: 380
diff changeset
   836
    ].
349
e2806ca1c634 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 348
diff changeset
   837
e2806ca1c634 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 348
diff changeset
   838
    "Created: 18.5.1996 / 09:36:36 / cg"
390
3f22865fa873 fixed handling of underline; no longer affects bold/italic setting.
Claus Gittinger <cg@exept.de>
parents: 386
diff changeset
   839
    "Modified: 8.6.1996 / 08:17:21 / cg"
349
e2806ca1c634 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 348
diff changeset
   840
!
e2806ca1c634 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 348
diff changeset
   841
348
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   842
italic
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   843
    "further printing is in italic"
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   844
390
3f22865fa873 fixed handling of underline; no longer affects bold/italic setting.
Claus Gittinger <cg@exept.de>
parents: 386
diff changeset
   845
    (fStyle ~~ Italic) ifTrue:[
3f22865fa873 fixed handling of underline; no longer affects bold/italic setting.
Claus Gittinger <cg@exept.de>
parents: 386
diff changeset
   846
	self flushLine.
3f22865fa873 fixed handling of underline; no longer affects bold/italic setting.
Claus Gittinger <cg@exept.de>
parents: 386
diff changeset
   847
	fStyle := Italic.
3f22865fa873 fixed handling of underline; no longer affects bold/italic setting.
Claus Gittinger <cg@exept.de>
parents: 386
diff changeset
   848
	self setFont.
382
113b013200d3 implement underline
Claus Gittinger <cg@exept.de>
parents: 380
diff changeset
   849
    ].
348
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   850
390
3f22865fa873 fixed handling of underline; no longer affects bold/italic setting.
Claus Gittinger <cg@exept.de>
parents: 386
diff changeset
   851
    "Modified: 8.6.1996 / 08:17:28 / cg"
3f22865fa873 fixed handling of underline; no longer affects bold/italic setting.
Claus Gittinger <cg@exept.de>
parents: 386
diff changeset
   852
!
3f22865fa873 fixed handling of underline; no longer affects bold/italic setting.
Claus Gittinger <cg@exept.de>
parents: 386
diff changeset
   853
391
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   854
noStrikeout
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   855
    "further printing is not strikedout"
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   856
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   857
    strikeout ifTrue:[
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   858
	self flushLine.
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   859
	strikeout := false
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   860
    ]
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   861
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   862
    "Modified: 8.6.1996 / 08:15:56 / cg"
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   863
    "Created: 8.6.1996 / 08:16:35 / cg"
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   864
!
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   865
390
3f22865fa873 fixed handling of underline; no longer affects bold/italic setting.
Claus Gittinger <cg@exept.de>
parents: 386
diff changeset
   866
noUnderline
3f22865fa873 fixed handling of underline; no longer affects bold/italic setting.
Claus Gittinger <cg@exept.de>
parents: 386
diff changeset
   867
    "further printing is not underlined"
3f22865fa873 fixed handling of underline; no longer affects bold/italic setting.
Claus Gittinger <cg@exept.de>
parents: 386
diff changeset
   868
3f22865fa873 fixed handling of underline; no longer affects bold/italic setting.
Claus Gittinger <cg@exept.de>
parents: 386
diff changeset
   869
    underline ifTrue:[
3f22865fa873 fixed handling of underline; no longer affects bold/italic setting.
Claus Gittinger <cg@exept.de>
parents: 386
diff changeset
   870
	self flushLine.
3f22865fa873 fixed handling of underline; no longer affects bold/italic setting.
Claus Gittinger <cg@exept.de>
parents: 386
diff changeset
   871
	underline := false
3f22865fa873 fixed handling of underline; no longer affects bold/italic setting.
Claus Gittinger <cg@exept.de>
parents: 386
diff changeset
   872
    ]
3f22865fa873 fixed handling of underline; no longer affects bold/italic setting.
Claus Gittinger <cg@exept.de>
parents: 386
diff changeset
   873
3f22865fa873 fixed handling of underline; no longer affects bold/italic setting.
Claus Gittinger <cg@exept.de>
parents: 386
diff changeset
   874
    "Created: 8.6.1996 / 08:11:07 / cg"
3f22865fa873 fixed handling of underline; no longer affects bold/italic setting.
Claus Gittinger <cg@exept.de>
parents: 386
diff changeset
   875
    "Modified: 8.6.1996 / 08:15:56 / cg"
3f22865fa873 fixed handling of underline; no longer affects bold/italic setting.
Claus Gittinger <cg@exept.de>
parents: 386
diff changeset
   876
!
3f22865fa873 fixed handling of underline; no longer affects bold/italic setting.
Claus Gittinger <cg@exept.de>
parents: 386
diff changeset
   877
348
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   878
normal
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   879
    "further printing is in normal style (i.e. non-bold/non-italic)"
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   880
390
3f22865fa873 fixed handling of underline; no longer affects bold/italic setting.
Claus Gittinger <cg@exept.de>
parents: 386
diff changeset
   881
    (fStyle ~~ Normal) ifTrue:[
3f22865fa873 fixed handling of underline; no longer affects bold/italic setting.
Claus Gittinger <cg@exept.de>
parents: 386
diff changeset
   882
	self flushLine.
3f22865fa873 fixed handling of underline; no longer affects bold/italic setting.
Claus Gittinger <cg@exept.de>
parents: 386
diff changeset
   883
	fStyle := Normal.
3f22865fa873 fixed handling of underline; no longer affects bold/italic setting.
Claus Gittinger <cg@exept.de>
parents: 386
diff changeset
   884
	self setFont.
380
fa5adc326473 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 378
diff changeset
   885
    ].
348
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   886
390
3f22865fa873 fixed handling of underline; no longer affects bold/italic setting.
Claus Gittinger <cg@exept.de>
parents: 386
diff changeset
   887
    "Modified: 8.6.1996 / 08:17:34 / cg"
3f22865fa873 fixed handling of underline; no longer affects bold/italic setting.
Claus Gittinger <cg@exept.de>
parents: 386
diff changeset
   888
!
3f22865fa873 fixed handling of underline; no longer affects bold/italic setting.
Claus Gittinger <cg@exept.de>
parents: 386
diff changeset
   889
3f22865fa873 fixed handling of underline; no longer affects bold/italic setting.
Claus Gittinger <cg@exept.de>
parents: 386
diff changeset
   890
strikeout
3f22865fa873 fixed handling of underline; no longer affects bold/italic setting.
Claus Gittinger <cg@exept.de>
parents: 386
diff changeset
   891
    "further printing is strikedout"
3f22865fa873 fixed handling of underline; no longer affects bold/italic setting.
Claus Gittinger <cg@exept.de>
parents: 386
diff changeset
   892
3f22865fa873 fixed handling of underline; no longer affects bold/italic setting.
Claus Gittinger <cg@exept.de>
parents: 386
diff changeset
   893
    strikeout ifFalse:[
3f22865fa873 fixed handling of underline; no longer affects bold/italic setting.
Claus Gittinger <cg@exept.de>
parents: 386
diff changeset
   894
	self flushLine.
3f22865fa873 fixed handling of underline; no longer affects bold/italic setting.
Claus Gittinger <cg@exept.de>
parents: 386
diff changeset
   895
	strikeout := true
3f22865fa873 fixed handling of underline; no longer affects bold/italic setting.
Claus Gittinger <cg@exept.de>
parents: 386
diff changeset
   896
    ]
3f22865fa873 fixed handling of underline; no longer affects bold/italic setting.
Claus Gittinger <cg@exept.de>
parents: 386
diff changeset
   897
3f22865fa873 fixed handling of underline; no longer affects bold/italic setting.
Claus Gittinger <cg@exept.de>
parents: 386
diff changeset
   898
    "Modified: 8.6.1996 / 08:10:49 / cg"
3f22865fa873 fixed handling of underline; no longer affects bold/italic setting.
Claus Gittinger <cg@exept.de>
parents: 386
diff changeset
   899
    "Created: 8.6.1996 / 08:16:18 / cg"
382
113b013200d3 implement underline
Claus Gittinger <cg@exept.de>
parents: 380
diff changeset
   900
!
113b013200d3 implement underline
Claus Gittinger <cg@exept.de>
parents: 380
diff changeset
   901
113b013200d3 implement underline
Claus Gittinger <cg@exept.de>
parents: 380
diff changeset
   902
underline
113b013200d3 implement underline
Claus Gittinger <cg@exept.de>
parents: 380
diff changeset
   903
    "further printing is underlined"
113b013200d3 implement underline
Claus Gittinger <cg@exept.de>
parents: 380
diff changeset
   904
390
3f22865fa873 fixed handling of underline; no longer affects bold/italic setting.
Claus Gittinger <cg@exept.de>
parents: 386
diff changeset
   905
    underline ifFalse:[
3f22865fa873 fixed handling of underline; no longer affects bold/italic setting.
Claus Gittinger <cg@exept.de>
parents: 386
diff changeset
   906
	self flushLine.
3f22865fa873 fixed handling of underline; no longer affects bold/italic setting.
Claus Gittinger <cg@exept.de>
parents: 386
diff changeset
   907
	underline := true
3f22865fa873 fixed handling of underline; no longer affects bold/italic setting.
Claus Gittinger <cg@exept.de>
parents: 386
diff changeset
   908
    ]
382
113b013200d3 implement underline
Claus Gittinger <cg@exept.de>
parents: 380
diff changeset
   909
390
3f22865fa873 fixed handling of underline; no longer affects bold/italic setting.
Claus Gittinger <cg@exept.de>
parents: 386
diff changeset
   910
    "Modified: 8.6.1996 / 08:16:05 / cg"
348
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   911
! !
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   912
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   913
!PostscriptPrinterStream methodsFor:'font change'!
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   914
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   915
courier
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   916
    "further printing is in the courier font"
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   917
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   918
    self flushLine.
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   919
    fFamily := Courier.
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   920
    self setFont
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   921
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   922
    "Modified: 10.4.1996 / 13:34:49 / cg"
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   923
!
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   924
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   925
helvetica
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   926
    "further printing is in the helvetica font"
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   927
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   928
    self flushLine.
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   929
    fFamily := Helvetica.
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   930
    self setFont
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   931
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   932
    "Modified: 10.4.1996 / 13:34:58 / cg"
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   933
!
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   934
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   935
times
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   936
    "further printing is in the times font"
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   937
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   938
    self flushLine.
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   939
    fFamily := Times.
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   940
    self setFont
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   941
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   942
    "Modified: 10.4.1996 / 13:36:07 / cg"
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   943
! !
e4790af5d077 comments & category rename
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   944
4012
87692af9cae9 #OTHER by mawalch
mawalch
parents: 3827
diff changeset
   945
!PostscriptPrinterStream methodsFor:'open & close'!
126
fca9404da9d4 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
   946
fca9404da9d4 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
   947
endPrint
246
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   948
    "finish a document - finish page; then send documentTrailer.
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   949
     Send nothing if nativePrinting."
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   950
222
15d1c9a82bc6 suppress trailer in native printing (used to disturb the output of html printouts)
Claus Gittinger <cg@exept.de>
parents: 186
diff changeset
   951
    native == true ifFalse:[
432
c8b2fa21b747 count pages (for ghostview to be able to page)
Claus Gittinger <cg@exept.de>
parents: 431
diff changeset
   952
        self endPage.
1317
890b41076c7c changed inheritance;
Claus Gittinger <cg@exept.de>
parents: 1297
diff changeset
   953
890b41076c7c changed inheritance;
Claus Gittinger <cg@exept.de>
parents: 1297
diff changeset
   954
        self nextPutAllUntranslated:(self class psTrailer).
890b41076c7c changed inheritance;
Claus Gittinger <cg@exept.de>
parents: 1297
diff changeset
   955
        self nextPutAllUntranslated:'%%Pages: ' , pageCount printString.
890b41076c7c changed inheritance;
Claus Gittinger <cg@exept.de>
parents: 1297
diff changeset
   956
        self nextPutUntranslated:(Character cr).
890b41076c7c changed inheritance;
Claus Gittinger <cg@exept.de>
parents: 1297
diff changeset
   957
        self nextPutAllUntranslated:'%%EOF'.
890b41076c7c changed inheritance;
Claus Gittinger <cg@exept.de>
parents: 1297
diff changeset
   958
        self nextPutUntranslated:(Character cr).
222
15d1c9a82bc6 suppress trailer in native printing (used to disturb the output of html printouts)
Claus Gittinger <cg@exept.de>
parents: 186
diff changeset
   959
    ].
126
fca9404da9d4 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
   960
    super endPrint
222
15d1c9a82bc6 suppress trailer in native printing (used to disturb the output of html printouts)
Claus Gittinger <cg@exept.de>
parents: 186
diff changeset
   961
440
da568c775e8b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 439
diff changeset
   962
    "Modified: 7.9.1996 / 16:28:20 / cg"
0
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   963
!
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   964
913
99228537653d Speed up native printing: #nextPutAll
Stefan Vogel <sv@exept.de>
parents: 879
diff changeset
   965
setNative:aBoolean
99228537653d Speed up native printing: #nextPutAll
Stefan Vogel <sv@exept.de>
parents: 879
diff changeset
   966
99228537653d Speed up native printing: #nextPutAll
Stefan Vogel <sv@exept.de>
parents: 879
diff changeset
   967
    aBoolean ifTrue:[self flushLine].
965
21f25a87c5c6 prolog initialization now lazy (when needed, not when class is initialized)
Claus Gittinger <cg@exept.de>
parents: 914
diff changeset
   968
    super setNative:aBoolean.
21f25a87c5c6 prolog initialization now lazy (when needed, not when class is initialized)
Claus Gittinger <cg@exept.de>
parents: 914
diff changeset
   969
!
913
99228537653d Speed up native printing: #nextPutAll
Stefan Vogel <sv@exept.de>
parents: 879
diff changeset
   970
126
fca9404da9d4 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
   971
startPrint
246
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   972
    "start a document - send documentProlog & start a page.
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   973
     Send nothing if nativePrinting."
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   974
432
c8b2fa21b747 count pages (for ghostview to be able to page)
Claus Gittinger <cg@exept.de>
parents: 431
diff changeset
   975
    pageCount := 1.
c8b2fa21b747 count pages (for ghostview to be able to page)
Claus Gittinger <cg@exept.de>
parents: 431
diff changeset
   976
246
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   977
    fFamily := Courier.
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   978
    fStyle := Normal.
390
3f22865fa873 fixed handling of underline; no longer affects bold/italic setting.
Claus Gittinger <cg@exept.de>
parents: 386
diff changeset
   979
    underline := false.
3f22865fa873 fixed handling of underline; no longer affects bold/italic setting.
Claus Gittinger <cg@exept.de>
parents: 386
diff changeset
   980
    strikeout := false.
246
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   981
914
7db1f3375ac9 Use startPrint from superclass.
Stefan Vogel <sv@exept.de>
parents: 913
diff changeset
   982
    super startPrint.
222
15d1c9a82bc6 suppress trailer in native printing (used to disturb the output of html printouts)
Claus Gittinger <cg@exept.de>
parents: 186
diff changeset
   983
    native == true ifFalse:[
1317
890b41076c7c changed inheritance;
Claus Gittinger <cg@exept.de>
parents: 1297
diff changeset
   984
        self nextPutAllUntranslated:(self class psProlog).
432
c8b2fa21b747 count pages (for ghostview to be able to page)
Claus Gittinger <cg@exept.de>
parents: 431
diff changeset
   985
        self startPage
222
15d1c9a82bc6 suppress trailer in native printing (used to disturb the output of html printouts)
Claus Gittinger <cg@exept.de>
parents: 186
diff changeset
   986
    ]
15d1c9a82bc6 suppress trailer in native printing (used to disturb the output of html printouts)
Claus Gittinger <cg@exept.de>
parents: 186
diff changeset
   987
965
21f25a87c5c6 prolog initialization now lazy (when needed, not when class is initialized)
Claus Gittinger <cg@exept.de>
parents: 914
diff changeset
   988
    "Modified: / 26.5.1999 / 16:15:27 / cg"
21f25a87c5c6 prolog initialization now lazy (when needed, not when class is initialized)
Claus Gittinger <cg@exept.de>
parents: 914
diff changeset
   989
! !
126
fca9404da9d4 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
   990
fca9404da9d4 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
   991
!PostscriptPrinterStream methodsFor:'private'!
fca9404da9d4 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
   992
fca9404da9d4 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
   993
endPage
246
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   994
    "end a page - flush buffered text & send pageTrailer"
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   995
0
1cf8d1747859 Initial revision
claus
parents:
diff changeset
   996
    self flushLine.
1569
6373292f574f code cleanup
Claus Gittinger <cg@exept.de>
parents: 1437
diff changeset
   997
    pageEndAction value.
1317
890b41076c7c changed inheritance;
Claus Gittinger <cg@exept.de>
parents: 1297
diff changeset
   998
    self nextPutAllUntranslated:PageTrailer
246
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   999
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
  1000
    "Modified: 23.4.1996 / 20:00:01 / cg"
0
1cf8d1747859 Initial revision
claus
parents:
diff changeset
  1001
!
1cf8d1747859 Initial revision
claus
parents:
diff changeset
  1002
126
fca9404da9d4 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
  1003
flushLine
246
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
  1004
    "flush buffered line text"
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
  1005
1075
7272338c6b53 Speed up everything.
Stefan Vogel <sv@exept.de>
parents: 965
diff changeset
  1006
    |lineBuffer|
7272338c6b53 Speed up everything.
Stefan Vogel <sv@exept.de>
parents: 965
diff changeset
  1007
1091
153d101d7015 fixed: flushLine -> access on unspecified lineStream
tm
parents: 1075
diff changeset
  1008
    lineStream isNil ifTrue:[^ self].
153d101d7015 fixed: flushLine -> access on unspecified lineStream
tm
parents: 1075
diff changeset
  1009
1075
7272338c6b53 Speed up everything.
Stefan Vogel <sv@exept.de>
parents: 965
diff changeset
  1010
    lineBuffer := lineStream contents.
391
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
  1011
126
fca9404da9d4 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
  1012
    (lineBuffer size > 0) ifTrue:[
1075
7272338c6b53 Speed up everything.
Stefan Vogel <sv@exept.de>
parents: 965
diff changeset
  1013
        sendXPosition ifTrue:[
7272338c6b53 Speed up everything.
Stefan Vogel <sv@exept.de>
parents: 965
diff changeset
  1014
            self nextPutAllUntranslated:(xPos printString).
7272338c6b53 Speed up everything.
Stefan Vogel <sv@exept.de>
parents: 965
diff changeset
  1015
            self nextPutUntranslated:Character space.
7272338c6b53 Speed up everything.
Stefan Vogel <sv@exept.de>
parents: 965
diff changeset
  1016
            self nextPutAllUntranslated:(yPos printString).
391
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
  1017
        ].
1075
7272338c6b53 Speed up everything.
Stefan Vogel <sv@exept.de>
parents: 965
diff changeset
  1018
        self nextPutUntranslated:$(.
7272338c6b53 Speed up everything.
Stefan Vogel <sv@exept.de>
parents: 965
diff changeset
  1019
        self nextPutAllUntranslated:lineBuffer.
7272338c6b53 Speed up everything.
Stefan Vogel <sv@exept.de>
parents: 965
diff changeset
  1020
        self nextPutUntranslated:$).
391
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
  1021
        sendXPosition ifTrue:[
1075
7272338c6b53 Speed up everything.
Stefan Vogel <sv@exept.de>
parents: 965
diff changeset
  1022
            self nextPutUntranslated:$B.
7272338c6b53 Speed up everything.
Stefan Vogel <sv@exept.de>
parents: 965
diff changeset
  1023
            sendXPosition := false.
391
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
  1024
        ] ifFalse:[
1075
7272338c6b53 Speed up everything.
Stefan Vogel <sv@exept.de>
parents: 965
diff changeset
  1025
            self nextPutUntranslated:$S.
391
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
  1026
        ].
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
  1027
        underline == true ifTrue:[
1075
7272338c6b53 Speed up everything.
Stefan Vogel <sv@exept.de>
parents: 965
diff changeset
  1028
            self nextPutAllUntranslated:'UL'.
391
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
  1029
        ] ifFalse:[
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
  1030
            strikeout == true ifTrue:[
1075
7272338c6b53 Speed up everything.
Stefan Vogel <sv@exept.de>
parents: 965
diff changeset
  1031
                self nextPutAllUntranslated:'SO'.
391
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
  1032
            ]
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
  1033
        ].
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
  1034
1075
7272338c6b53 Speed up everything.
Stefan Vogel <sv@exept.de>
parents: 965
diff changeset
  1035
        self nextPutUntranslated:(Character cr).
391
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
  1036
        xPos := xPos + (FontWidth * lineBuffer size).
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
  1037
        colNr := colNr + lineBuffer size
126
fca9404da9d4 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
  1038
    ].
866
2b25a5a53929 physical flush after flushLine
ca
parents: 751
diff changeset
  1039
    self flush.
1075
7272338c6b53 Speed up everything.
Stefan Vogel <sv@exept.de>
parents: 965
diff changeset
  1040
    lineStream reset.
246
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
  1041
391
244f0e731912 added strikeout
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
  1042
    "Modified: 8.6.1996 / 11:40:29 / cg"
126
fca9404da9d4 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
  1043
!
fca9404da9d4 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
  1044
fca9404da9d4 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
  1045
nextPage
246
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
  1046
    "new page - finish previous page & start enew.
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
  1047
     Should not be sent when nativePrinting."
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
  1048
126
fca9404da9d4 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
  1049
    self endPage.
432
c8b2fa21b747 count pages (for ghostview to be able to page)
Claus Gittinger <cg@exept.de>
parents: 431
diff changeset
  1050
c8b2fa21b747 count pages (for ghostview to be able to page)
Claus Gittinger <cg@exept.de>
parents: 431
diff changeset
  1051
    pageCount := pageCount + 1.
126
fca9404da9d4 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
  1052
    self startPage
246
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
  1053
432
c8b2fa21b747 count pages (for ghostview to be able to page)
Claus Gittinger <cg@exept.de>
parents: 431
diff changeset
  1054
    "Modified: 5.9.1996 / 18:30:00 / cg"
0
1cf8d1747859 Initial revision
claus
parents:
diff changeset
  1055
!
1cf8d1747859 Initial revision
claus
parents:
diff changeset
  1056
361
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
  1057
placeString:aString at:pos
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
  1058
    "special entry: place a string at some particular position in my ps-coordinate
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
  1059
     system. Can be used with endPageActions to place a page-number."
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
  1060
1075
7272338c6b53 Speed up everything.
Stefan Vogel <sv@exept.de>
parents: 965
diff changeset
  1061
    self flushLine;
7272338c6b53 Speed up everything.
Stefan Vogel <sv@exept.de>
parents: 965
diff changeset
  1062
         nextPutAllUntranslated:(pos x printString);
7272338c6b53 Speed up everything.
Stefan Vogel <sv@exept.de>
parents: 965
diff changeset
  1063
         nextPutUntranslated:Character space;
7272338c6b53 Speed up everything.
Stefan Vogel <sv@exept.de>
parents: 965
diff changeset
  1064
         nextPutAllUntranslated:(pos y printString);
7272338c6b53 Speed up everything.
Stefan Vogel <sv@exept.de>
parents: 965
diff changeset
  1065
         nextPutUntranslated:$(;
7272338c6b53 Speed up everything.
Stefan Vogel <sv@exept.de>
parents: 965
diff changeset
  1066
         nextPutAllUntranslated:aString;
7272338c6b53 Speed up everything.
Stefan Vogel <sv@exept.de>
parents: 965
diff changeset
  1067
         nextPutAllUntranslated:')B';
7272338c6b53 Speed up everything.
Stefan Vogel <sv@exept.de>
parents: 965
diff changeset
  1068
         nextPutUntranslated:(Character cr).
361
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
  1069
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
  1070
    "Created: 30.5.1996 / 17:06:36 / ca"
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
  1071
!
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
  1072
126
fca9404da9d4 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
  1073
setFont
246
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
  1074
    "change the font. 
3827
c0411e2ffe2a #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 2970
diff changeset
  1075
     Uses current fFamily and fStyle (which give the font's nr)"
246
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
  1076
126
fca9404da9d4 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
  1077
    |fontNumber|
246
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
  1078
126
fca9404da9d4 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
  1079
    fontNumber := fFamily + fStyle.
1075
7272338c6b53 Speed up everything.
Stefan Vogel <sv@exept.de>
parents: 965
diff changeset
  1080
    self nextPutAllUntranslated:fontNumber printString;
7272338c6b53 Speed up everything.
Stefan Vogel <sv@exept.de>
parents: 965
diff changeset
  1081
         nextPutAllUntranslated:' F'; 
7272338c6b53 Speed up everything.
Stefan Vogel <sv@exept.de>
parents: 965
diff changeset
  1082
         nextPutUntranslated:(Character cr).
246
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
  1083
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
  1084
    "Modified: 23.4.1996 / 20:01:28 / cg"
0
1cf8d1747859 Initial revision
claus
parents:
diff changeset
  1085
!
1cf8d1747859 Initial revision
claus
parents:
diff changeset
  1086
126
fca9404da9d4 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
  1087
startPage
246
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
  1088
    "start a page - send pageProlog, reset x/y position and line/col."
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
  1089
1075
7272338c6b53 Speed up everything.
Stefan Vogel <sv@exept.de>
parents: 965
diff changeset
  1090
    self nextPutAllUntranslated:'%%Page: ' , pageCount printString , ' ' , pageCount printString.
7272338c6b53 Speed up everything.
Stefan Vogel <sv@exept.de>
parents: 965
diff changeset
  1091
    self nextPutUntranslated:(Character cr).
432
c8b2fa21b747 count pages (for ghostview to be able to page)
Claus Gittinger <cg@exept.de>
parents: 431
diff changeset
  1092
1569
6373292f574f code cleanup
Claus Gittinger <cg@exept.de>
parents: 1437
diff changeset
  1093
    pageStartAction value.
1075
7272338c6b53 Speed up everything.
Stefan Vogel <sv@exept.de>
parents: 965
diff changeset
  1094
    self nextPutAllUntranslated:PageProlog.
373
6834d6a61ea9 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 372
diff changeset
  1095
    self class landscape ifTrue:[
1075
7272338c6b53 Speed up everything.
Stefan Vogel <sv@exept.de>
parents: 965
diff changeset
  1096
        self nextPutAllUntranslated:'Landscape
373
6834d6a61ea9 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 372
diff changeset
  1097
'.
6834d6a61ea9 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 372
diff changeset
  1098
    ].
246
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
  1099
126
fca9404da9d4 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
  1100
    self setFont.
246
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
  1101
126
fca9404da9d4 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
  1102
    yPos := TopY.
fca9404da9d4 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
  1103
    xPos := LeftX.
1075
7272338c6b53 Speed up everything.
Stefan Vogel <sv@exept.de>
parents: 965
diff changeset
  1104
    lineStream isNil ifTrue:[
7272338c6b53 Speed up everything.
Stefan Vogel <sv@exept.de>
parents: 965
diff changeset
  1105
        lineStream := WriteStream on:''.
7272338c6b53 Speed up everything.
Stefan Vogel <sv@exept.de>
parents: 965
diff changeset
  1106
    ] ifFalse:[
7272338c6b53 Speed up everything.
Stefan Vogel <sv@exept.de>
parents: 965
diff changeset
  1107
        lineStream reset.
7272338c6b53 Speed up everything.
Stefan Vogel <sv@exept.de>
parents: 965
diff changeset
  1108
    ].
126
fca9404da9d4 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
  1109
    lineNr := 1.
1075
7272338c6b53 Speed up everything.
Stefan Vogel <sv@exept.de>
parents: 965
diff changeset
  1110
    colNr := 0.
7272338c6b53 Speed up everything.
Stefan Vogel <sv@exept.de>
parents: 965
diff changeset
  1111
    sendXPosition := true.
246
ba03a2af594c fixed ISO-latin1 encoding (national characters)
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
  1112
432
c8b2fa21b747 count pages (for ghostview to be able to page)
Claus Gittinger <cg@exept.de>
parents: 431
diff changeset
  1113
    "Modified: 5.9.1996 / 18:30:08 / cg"
0
1cf8d1747859 Initial revision
claus
parents:
diff changeset
  1114
! !
126
fca9404da9d4 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
  1115
361
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
  1116
!PostscriptPrinterStream methodsFor:'queries'!
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
  1117
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
  1118
fontHeight
375
ab43222a70ce added access methods for margins
Claus Gittinger <cg@exept.de>
parents: 373
diff changeset
  1119
    "the used fonts height in my postscript coordinate system 
ab43222a70ce added access methods for margins
Claus Gittinger <cg@exept.de>
parents: 373
diff changeset
  1120
     (i.e. in twips, which is 1/20th of a point)"
361
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
  1121
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
  1122
    ^ FontHeight
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
  1123
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
  1124
    "Modified: 30.5.1996 / 16:47:37 / ca"
375
ab43222a70ce added access methods for margins
Claus Gittinger <cg@exept.de>
parents: 373
diff changeset
  1125
    "Modified: 1.6.1996 / 13:14:51 / cg"
361
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
  1126
!
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
  1127
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
  1128
leftX
375
ab43222a70ce added access methods for margins
Claus Gittinger <cg@exept.de>
parents: 373
diff changeset
  1129
    "the left x startPosition (i.e. leftMargin) in my postscript coordinate system.
ab43222a70ce added access methods for margins
Claus Gittinger <cg@exept.de>
parents: 373
diff changeset
  1130
     (i.e. in twips, which is 1/20th of a point)"
361
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
  1131
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
  1132
    ^ LeftX
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
  1133
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
  1134
    "Modified: 30.5.1996 / 16:48:56 / ca"
375
ab43222a70ce added access methods for margins
Claus Gittinger <cg@exept.de>
parents: 373
diff changeset
  1135
    "Modified: 1.6.1996 / 13:14:59 / cg"
361
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
  1136
!
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
  1137
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
  1138
linesPerPage
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
  1139
    "the number of lines per page"
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
  1140
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
  1141
    ^ LinesPerPage
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
  1142
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
  1143
    "Modified: 30.5.1996 / 16:48:20 / ca"
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
  1144
!
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
  1145
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
  1146
overAllPageSize
375
ab43222a70ce added access methods for margins
Claus Gittinger <cg@exept.de>
parents: 373
diff changeset
  1147
    "the overAll pageSize in my postscript coordinate system.
ab43222a70ce added access methods for margins
Claus Gittinger <cg@exept.de>
parents: 373
diff changeset
  1148
     (i.e. in twips, which is 1/20th of a point)"
361
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
  1149
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
  1150
    ^ PageHeight
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
  1151
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
  1152
    "Created: 30.5.1996 / 16:56:51 / ca"
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
  1153
    "Modified: 30.5.1996 / 16:58:01 / ca"
375
ab43222a70ce added access methods for margins
Claus Gittinger <cg@exept.de>
parents: 373
diff changeset
  1154
    "Modified: 1.6.1996 / 13:15:06 / cg"
361
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
  1155
!
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
  1156
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
  1157
topY
375
ab43222a70ce added access methods for margins
Claus Gittinger <cg@exept.de>
parents: 373
diff changeset
  1158
    "the top y startPosition (i.e. page-size - topMargin) in my own coordinate system
ab43222a70ce added access methods for margins
Claus Gittinger <cg@exept.de>
parents: 373
diff changeset
  1159
     (i.e. in twips, which is 1/20th of a point)"
361
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
  1160
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
  1161
    ^ TopY
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
  1162
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
  1163
    "Modified: 30.5.1996 / 16:48:48 / ca"
375
ab43222a70ce added access methods for margins
Claus Gittinger <cg@exept.de>
parents: 373
diff changeset
  1164
    "Modified: 1.6.1996 / 13:15:23 / cg"
361
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
  1165
! !
4b3d82315b8a added hooks & query methods (see hook-example)
ca
parents: 349
diff changeset
  1166
467
10cca849db9e added #lineNr & #colNr
Claus Gittinger <cg@exept.de>
parents: 447
diff changeset
  1167
!PostscriptPrinterStream class methodsFor:'documentation'!
186
bc1b056b097c added #supportsPostscript query
Claus Gittinger <cg@exept.de>
parents: 179
diff changeset
  1168
bc1b056b097c added #supportsPostscript query
Claus Gittinger <cg@exept.de>
parents: 179
diff changeset
  1169
version
3827
c0411e2ffe2a #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 2970
diff changeset
  1170
    ^ '$Header$'
186
bc1b056b097c added #supportsPostscript query
Claus Gittinger <cg@exept.de>
parents: 179
diff changeset
  1171
! !
1091
153d101d7015 fixed: flushLine -> access on unspecified lineStream
tm
parents: 1075
diff changeset
  1172
2968
bb3ea109cbe6 lazy initialization
Claus Gittinger <cg@exept.de>
parents: 2109
diff changeset
  1173
126
fca9404da9d4 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
  1174
PostscriptPrinterStream initialize!