summaryrefslogtreecommitdiffstats
path: root/src/gui/painting/qpsprinter.ps
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/painting/qpsprinter.ps')
-rw-r--r--src/gui/painting/qpsprinter.ps449
1 files changed, 0 insertions, 449 deletions
diff --git a/src/gui/painting/qpsprinter.ps b/src/gui/painting/qpsprinter.ps
deleted file mode 100644
index ef3f42970b..0000000000
--- a/src/gui/painting/qpsprinter.ps
+++ /dev/null
@@ -1,449 +0,0 @@
-% the postscript header we use for our qpsprinter in uncompressed and commented form.
-% use the makepsheader perl script to generate a compressed version of this header
-% you can then paste into qpsprinter.cpp
-%
-% some compression of the code is done by the makepsheader script, so we don't need to
-% write too criptically here.
-
-/BD {bind def} bind def
-/d2 {dup dup} BD
-/ED {exch def} BD
-/D0 {0 ED} BD
-
-/F {setfont} BD
-/RL {rlineto} BD
-/CM {currentmatrix} BD
-/SM {setmatrix} BD
-/TR {translate} BD
-/SD {setdash} BD
-/SC {aload pop setrgbcolor} BD
-/CR {currentfile read pop} BD
-/i {index} BD
-/scs {setcolorspace} BD
-/DB {dict dup begin} BD
-/DE {end def} BD
-/ie {ifelse} BD
-/gs {gsave} BD
-/gr {grestore} BD
-
-% these use PDF syntax
-/w {setlinewidth} BD
-/d {setdash} BD
-/J {setlinecap} BD
-/j {setlinejoin} BD
-/scn {3 array astore /BCol exch def} BD
-/SCN {3 array astore /PCol exch def} BD
-/cm {6 array astore concat} BD
-
-/m {moveto} BD
-/l {lineto} BD
-/c {curveto} BD
-/h {closepath} BD
-
-/W {clip} BD
-/W* {eoclip} BD
-/n {newpath} BD
-% ENDUNCOMPRESSED: Warning: leave this line in.
-% Everything before this line will be left untouched by the compression
-
-/q {gsave 10 dict begin} BD
-/Q {end grestore} BD
-
-% PDF operators
-/re { % PDF re operator
- 4 2 roll % w h x y
- moveto % w h
- dup % w h h
- 0 exch rlineto % w h
- exch 0 rlineto % h
- 0 exch neg rlineto
- closepath
-} bind def
-
-/S {
- gsave
- PCol SC stroke
- grestore
- newpath
-} BD
-
-% PDF text operators
-/BT {gsave 10 dict begin /_m matrix currentmatrix def BCol SC} BD
-/ET {end grestore} BD
-/Tf {
- /_fs exch def
- findfont
- [ _fs 0 0 _fs 0 0 ]
- makefont
- setfont
-} BD
-/Tm {6 array astore concat} BD
-/Td {translate} BD
-/Tj {0 0 moveto show} BD
-/BDC {pop pop} BD
-/EMC {} BD
-
-% old operators
-
-/BSt 0 def % brush style
-/WFi false def % winding fill
-
-/BCol [ 1 1 1 ] def % brush color
-/PCol [ 0 0 0 ] def % pen color
-/BDArr [ % Brush dense patterns
- 0.94
- 0.88
- 0.63
- 0.50
- 0.37
- 0.12
- 0.06
-] def
-
-% -- level3 true/false
-/level3 {
- /languagelevel where {
- pop
- languagelevel 3 ge
- } { false } ifelse
-} bind def
-
-
-%% image drawing routines
-
-% defines for QCI
-/QCIgray D0 /QCIcolor D0 /QCIindex D0
-
-% this method prints color images if colorimage is available, otherwise
-% converts the string to a grayscale image and uses the reular postscript image
-% operator for printing.
-% Arguments are the same as for the image operator:
-%
-% width height bits/sample matrix datasrc QCI -
-/QCI {
- /colorimage where {
- pop
- false 3 colorimage
- }{ % the hard way, based on PD code by John Walker <kelvin@autodesk.com>
- exec /QCIcolor exch def
- /QCIgray QCIcolor length 3 idiv string def
- 0 1 QCIcolor length 3 idiv 1 sub
- { /QCIindex exch def
- /_x QCIindex 3 mul def
- QCIgray QCIindex
- QCIcolor _x get 0.30 mul
- QCIcolor _x 1 add get 0.59 mul
- QCIcolor _x 2 add get 0.11 mul
- add add cvi
- put
- } for
- QCIgray image
- } ifelse
-} bind def
-
-% general image drawing routine, used from the postscript driver
-%
-% Draws images with and without mask with 1, 8 and 24(rgb) bits depth.
-%
-% width height matrix image 1|8|24 mask|false x y di
-%
-% width and height specify the width/height of the image,
-% matrix a transformation matrix, image a procedure holding the image data
-% (same for mask) and x/y an additional translation.
-%
-% ### should move the translation into the matrix!!!
-/di
-{
- gsave
- translate
- 1 index 1 eq { % bitmap
- pop pop % get rid of mask and depth
- false 3 1 roll % width height false matrix image
- BCol SC
- imagemask
- } {
- dup false ne {
- % have a mask, see if we can use it
- level3
- } {
- false
- } ifelse
-
- {
- % languagelevel3, we can use image mask and dicts
-
- % store the image mask
- /_ma exch def
- % select colorspace according to 8|24 bit depth and set the decode array /dc
- 8 eq {
- /_dc [0 1] def
- /DeviceGray
- } {
- /_dc [0 1 0 1 0 1] def
- /DeviceRGB
- } ifelse
- setcolorspace
- % the image data
- /_im exch def
- % transformation matrix
- /_mt exch def
- % width and height
- /_h exch def
- /_w exch def
- % and the combined image dict
- <<
- /ImageType 3
- % the image dict
- /DataDict <<
- /ImageType 1
- /Width _w
- /Height _h
- /ImageMatrix _mt
- /DataSource _im
- /BitsPerComponent 8
- /Decode _dc
- >>
- % the mask dictionary
- /MaskDict <<
- /ImageType 1
- /Width _w
- /Height _h
- /ImageMatrix _mt
- /DataSource _ma
- /BitsPerComponent 1
- /Decode [0 1]
- >>
- /InterleaveType 3
- >>
- image
- } {
- pop % no mask or can't use it, get rid of it
- 8 % width height image 8|24 8 matrix
- 4 1 roll
- 8 eq { % grayscale
- image
- } { %color
- QCI
- } ifelse
- } ifelse
- } ifelse
- grestore
-} bind def
-
-
-/BF { % brush fill
- gsave
- BSt 1 eq % solid brush?
- {
- BCol SC
- WFi { fill } { eofill } ifelse
- } if
- BSt 2 ge BSt 8 le and % dense pattern?
- {
- BDArr BSt 2 sub get /_sc exch def
- % the following line scales the brush color according to the pattern. the higher the pattern the lighter the color.
- BCol
- {
- 1. exch sub _sc mul 1. exch sub
- } forall
- 3 array astore
- SC
- WFi { fill } { eofill } ifelse
- } if
- BSt 9 ge BSt 14 le and % brush pattern?
- {
- WFi { clip } { eoclip } ifelse
- pathbbox % left upper right lower
- 3 index 3 index translate
- 4 2 roll % right lower left upper
- 3 2 roll % right left upper lower
- exch % left right lower upper
- sub /_h exch def
- sub /_w exch def
- BCol SC
- 0.3 setlinewidth
- newpath
- BSt 9 eq BSt 11 eq or % horiz or cross pattern
- { 0 4 _h
- { dup 0 exch moveto _w exch lineto } for
- } if
- BSt 10 eq BSt 11 eq or % vert or cross pattern
- { 0 4 _w
- { dup 0 moveto _h lineto } for
- } if
- BSt 12 eq BSt 14 eq or % F-diag or diag cross
- { _w _h gt
- { 0 6 _w _h add
- { dup 0 moveto _h sub _h lineto } for
- } { 0 6 _w _h add
- { dup 0 exch moveto _w sub _w exch lineto } for
- } ifelse
- } if
- BSt 13 eq BSt 14 eq or % B-diag or diag cross
- { _w _h gt
- { 0 6 _w _h add
- { dup _h moveto _h sub 0 lineto } for
- } { 0 6 _w _h add
- { dup _w exch moveto _w sub 0 exch lineto } for
- } ifelse
- } if
- stroke
- } if
- BSt 15 eq
- {
- } if
- BSt 24 eq % TexturePattern
- {
- } if
- grestore
-} bind def
-
-% more PDF operators
-/f { /WFi true def BF newpath } bind def
-/f* { /WFi false def BF newpath } bind def
-/B { /WFi true def BF S newpath } bind def
-/B* { /WFi false def BF S newpath } bind def
-
-%% start of page
-/QI {
- /C save def
- pageinit
- q
- newpath
-} bind def
-
-%% end of page
-/QP {
- Q % show page
- C restore
- showpage
-} bind def
-
-% merges one key value pair into the page device dict
-%
-% key value SPD -
-/SPD {
- /setpagedevice where {
- << 3 1 roll >>
- setpagedevice
- } { pop pop } ifelse
-} bind def
-
-
-% font handling
-
-/T1AddMapping { % basefont [glyphname ...] T1AddMapping -
- 10 dict begin
- /glyphs exch def
- /fnt exch def
- /current fnt /NumGlyphs get def
- /CMap fnt /CMap get def
-
- 0 1 glyphs length 1 sub % 0 1 (num glyphs - 1)
- {
- glyphs exch get /gn exch def
-
- current dup % glyph_index glyph_index
- 256 mod /min exch def % glyph_index
- 256 idiv /maj exch def % -
- CMap dup maj get dup % cmap cmap_maj cmap_maj
- null eq {
- pop 256 array
- 0 1 255 {1 index exch /.notdef put} for
- } if
- dup % cmap cmap_maj cmap_maj
- min gn put % cmap cmap_maj
- maj exch put % -
-
- /current current 1 add def
- } for
-
- fnt /CMap CMap put
- fnt /NumGlyphs current put
- end
-} def
-
-/T1AddGlyphs { % basefont [glyphname charstring ...] T1AddGlyphs -
- 10 dict begin
- /glyphs exch def
- /fnt exch def
- /current fnt /NumGlyphs get def
- /CMap fnt /CMap get def
- /CharStrings fnt /CharStrings get def
-
- 0 1 glyphs length 2 idiv 1 sub % 0 1 (num glyphs - 1)
- {
- 2 mul dup
- glyphs exch get /gn exch def
- 1 add
- glyphs exch get /cs exch def
-
- current dup % glyph_index glyph_index
- 256 mod /min exch def % glyph_index
- 256 idiv /maj exch def % -
- CMap dup maj get dup % cmap cmap_maj cmap_maj
- null eq {
- pop 256 array
- 0 1 255 {1 index exch /.notdef put} for
- } if
- dup % cmap cmap_maj cmap_maj
- min gn put % cmap cmap_maj
- maj exch put % -
-
- CharStrings gn cs put
- /current current 1 add def
- } for
-
- fnt /CharStrings CharStrings put
- fnt /CMap CMap put
- fnt /NumGlyphs current put
- end
-} def
-
-
-
-/StringAdd { % string1 string2 stringadd result
- 1 index length 1 index length add
- string
- 3 1 roll
- 2 index 0 3 index putinterval
- 2 index 2 index length 2 index putinterval
- pop pop
-} def
-
-
-/T1Setup { % fontname T1Setup -
-10 dict begin
- dup /FontName exch def
- (-Base) StringAdd cvx cvn /Font exch def
- /MaxPage Font /NumGlyphs get 1 sub 256 idiv def
-
- /FDepVector MaxPage 1 add array def
- /Encoding MaxPage 1 add array def
-
- 0 1 MaxPage {
- dup Encoding exch dup put
-
-
- dup /Page exch def
- FontName (-) StringAdd
- exch
- 20 string cvs StringAdd % page fontname
- cvn
-
- Font 0 dict copy dup dup /CMap get
- Page get
- /Encoding exch put definefont
- FDepVector exch Page exch put
- } for
-
- FontName cvn <<
- /FontType 0
- /FMapType 2
- /FontMatrix[1 0 0 1 0 0]
- /Encoding Encoding
- /FDepVector FDepVector
- >> definefont pop
- end
-} def
-