More files!
This commit is contained in:
3
postscript/README
Normal file
3
postscript/README
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
wget -O- http://pdos.lcs.mit.edu/~rsc/software/plan9/postscript.tar.gz|
|
||||||
|
gunzip|
|
||||||
|
tar xf -
|
||||||
19
postscript/font/NOTICE
Normal file
19
postscript/font/NOTICE
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
|
||||||
|
This directory contains Bigelow & Holmes Lucida (R) fonts,
|
||||||
|
as licensed by Y&Y Inc. Copyright 1993 Bigelow & Holmes Inc.
|
||||||
|
P.O. Box 1432, Santa Monica, CA 90406, USA.
|
||||||
|
|
||||||
|
Y&Y LUCIDA FONT SOFTWARE LICENSE AGREEMENT
|
||||||
|
|
||||||
|
NOTICE TO USER:
|
||||||
|
|
||||||
|
No right is granted to create derivative works of or
|
||||||
|
to redistribute (other than with the Plan 9 Operating System)
|
||||||
|
the screen imprinter fonts identified in subdirectory
|
||||||
|
/lib/font/bit/lucida and printer fonts (Lucida Sans Unicode, Lucida
|
||||||
|
Sans Italic, Lucida Sans Demibold, Lucida Typewriter, Lucida Sans
|
||||||
|
Typewriter83), identified in subdirectory /sys/lib/postscript/font.
|
||||||
|
These directories contain material copyrights by B&H Inc. and Y&Y Inc.
|
||||||
|
|
||||||
|
Lucida is a registered trademark of Bigelow & Holmes Incorporated.
|
||||||
|
PostScript is a registered trademark of Adobe Systems Incorporated.
|
||||||
152
postscript/font/fontmap
Normal file
152
postscript/font/fontmap
Normal file
@@ -0,0 +1,152 @@
|
|||||||
|
LucidaSans LucidaSans
|
||||||
|
LucidaSans-Demi LucidaSans-Demi
|
||||||
|
LucidaSans-DemiItalic LucidaSans-DemiItalic
|
||||||
|
LucidaSans-Italic LucidaSans-Italic
|
||||||
|
LucidaSans-Typewriter83 LucidaSans-Typewriter83
|
||||||
|
LucidaSansUnicode00 lsunr00.pfa
|
||||||
|
LucidaSansUnicode01 lsunr01.pfa
|
||||||
|
LucidaSansUnicode02 lsunr02.pfa
|
||||||
|
LucidaSansUnicode03 lsunr03.pfa
|
||||||
|
LucidaSansUnicode04 lsunr04.pfa
|
||||||
|
LucidaSansUnicode05 lsunr05.pfa
|
||||||
|
LucidaSansUnicode20 lsunr20.pfa
|
||||||
|
LucidaSansUnicode21 lsunr21.pfa
|
||||||
|
LucidaSansUnicode22 lsunr22.pfa
|
||||||
|
LucidaSansUnicode24 lsunr24.pfa
|
||||||
|
LucidaSansUnicode25 lsunr25.pfa
|
||||||
|
LucidaTypewriter LucidaTypewriter
|
||||||
|
|
||||||
|
% alias for troff
|
||||||
|
LucidaCW LucidaTypewriter
|
||||||
|
|
||||||
|
% Postscript versions of TeX fonts
|
||||||
|
CMB10 cm/cmb10.pfa
|
||||||
|
CMBSY10 cm/cmbsy10.pfa
|
||||||
|
CMBX10 cm/cmbx10.pfa
|
||||||
|
CMBX12 cm/cmbx12.pfa
|
||||||
|
CMBX5 cm/cmbx5.pfa
|
||||||
|
CMBX6 cm/cmbx6.pfa
|
||||||
|
CMBX7 cm/cmbx7.pfa
|
||||||
|
CMBX8 cm/cmbx8.pfa
|
||||||
|
CMBX9 cm/cmbx9.pfa
|
||||||
|
CMBXSL10 cm/cmbxsl10.pfa
|
||||||
|
CMBXTI10 cm/cmbxti10.pfa
|
||||||
|
CMCSC10 cm/cmcsc10.pfa
|
||||||
|
CMDUNH10 cm/cmdunh10.pfa
|
||||||
|
CMEX10 cm/cmex10.pfa
|
||||||
|
CMFF10 cm/cmff10.pfa
|
||||||
|
CMFI10 cm/cmfi10.pfa
|
||||||
|
CMFIB8 cm/cmfib8.pfa
|
||||||
|
CMINCH cm/cminch.pfa
|
||||||
|
CMITT10 cm/cmitt10.pfa
|
||||||
|
CMMI10 cm/cmmi10.pfa
|
||||||
|
CMMI12 cm/cmmi12.pfa
|
||||||
|
CMMI5 cm/cmmi5.pfa
|
||||||
|
CMMI6 cm/cmmi6.pfa
|
||||||
|
CMMI7 cm/cmmi7.pfa
|
||||||
|
CMMI8 cm/cmmi8.pfa
|
||||||
|
CMMI9 cm/cmmi9.pfa
|
||||||
|
CMMIB10 cm/cmmib10.pfa
|
||||||
|
CMR10 cm/cmr10.pfa
|
||||||
|
CMR12 cm/cmr12.pfa
|
||||||
|
CMR17 cm/cmr17.pfa
|
||||||
|
CMR5 cm/cmr5.pfa
|
||||||
|
CMR6 cm/cmr6.pfa
|
||||||
|
CMR7 cm/cmr7.pfa
|
||||||
|
CMR8 cm/cmr8.pfa
|
||||||
|
CMR9 cm/cmr9.pfa
|
||||||
|
CMSL10 cm/cmsl10.pfa
|
||||||
|
CMSL12 cm/cmsl12.pfa
|
||||||
|
CMSL8 cm/cmsl8.pfa
|
||||||
|
CMSL9 cm/cmsl9.pfa
|
||||||
|
CMSLTT10 cm/cmsltt10.pfa
|
||||||
|
CMSS10 cm/cmss10.pfa
|
||||||
|
CMSS12 cm/cmss12.pfa
|
||||||
|
CMSS17 cm/cmss17.pfa
|
||||||
|
CMSS8 cm/cmss8.pfa
|
||||||
|
CMSS9 cm/cmss9.pfa
|
||||||
|
CMSSBX10 cm/cmssbx10.pfa
|
||||||
|
CMSSDC10 cm/cmssdc10.pfa
|
||||||
|
CMSSI10 cm/cmssi10.pfa
|
||||||
|
CMSSI12 cm/cmssi12.pfa
|
||||||
|
CMSSI17 cm/cmssi17.pfa
|
||||||
|
CMSSI8 cm/cmssi8.pfa
|
||||||
|
CMSSI9 cm/cmssi9.pfa
|
||||||
|
CMSSQ8 cm/cmssq8.pfa
|
||||||
|
CMSSQI8 cm/cmssqi8.pfa
|
||||||
|
CMSY10 cm/cmsy10.pfa
|
||||||
|
CMSY5 cm/cmsy5.pfa
|
||||||
|
CMSY6 cm/cmsy6.pfa
|
||||||
|
CMSY7 cm/cmsy7.pfa
|
||||||
|
CMSY8 cm/cmsy8.pfa
|
||||||
|
CMSY9 cm/cmsy9.pfa
|
||||||
|
CMTCSC10 cm/cmtcsc10.pfa
|
||||||
|
CMTEX10 cm/cmtex10.pfa
|
||||||
|
CMTEX8 cm/cmtex8.pfa
|
||||||
|
CMTEX9 cm/cmtex9.pfa
|
||||||
|
CMTI10 cm/cmti10.pfa
|
||||||
|
CMTI12 cm/cmti12.pfa
|
||||||
|
CMTI7 cm/cmti7.pfa
|
||||||
|
CMTI8 cm/cmti8.pfa
|
||||||
|
CMTI9 cm/cmti9.pfa
|
||||||
|
CMTT10 cm/cmtt10.pfa
|
||||||
|
CMTT12 cm/cmtt12.pfa
|
||||||
|
CMTT8 cm/cmtt8.pfa
|
||||||
|
CMTT9 cm/cmtt9.pfa
|
||||||
|
CMU10 cm/cmu10.pfa
|
||||||
|
CMVTT10 cm/cmvtt10.pfa
|
||||||
|
LASY10 cm/lasy10.pfa
|
||||||
|
LASY5 cm/lasy5.pfa
|
||||||
|
LASY6 cm/lasy6.pfa
|
||||||
|
LASY7 cm/lasy7.pfa
|
||||||
|
LASY8 cm/lasy8.pfa
|
||||||
|
LASY9 cm/lasy9.pfa
|
||||||
|
LASYB10 cm/lasyb10.pfa
|
||||||
|
LCIRCLE1 cm/lcircle1.pfa
|
||||||
|
LCIRCLEW cm/lcirclew.pfa
|
||||||
|
LCMSS8 cm/lcmss8.pfa
|
||||||
|
LCMSSB8 cm/lcmssb8.pfa
|
||||||
|
LCMSSI8 cm/lcmssi8.pfa
|
||||||
|
LINE10 cm/line10.pfa
|
||||||
|
LINEW10 cm/linew10.pfa
|
||||||
|
LOGO10 cm/logo10.pfa
|
||||||
|
LOGO8 cm/logo8.pfa
|
||||||
|
LOGO9 cm/logo9.pfa
|
||||||
|
LOGOBF10 cm/logobf10.pfa
|
||||||
|
LOGOSL10 cm/logosl10.pfa
|
||||||
|
|
||||||
|
% AMS fonts for TeX
|
||||||
|
CMBSY5 ams/cmbsy5.pfa
|
||||||
|
CMBSY7 ams/cmbsy7.pfa
|
||||||
|
CMMIB5 ams/cmmib5.pfa
|
||||||
|
CMMIB7 ams/cmmib7.pfa
|
||||||
|
EUEX10 ams/euex10.pfa
|
||||||
|
EUFB10 ams/eufb10.pfa
|
||||||
|
EUFB5 ams/eufb5.pfa
|
||||||
|
EUFB7 ams/eufb7.pfa
|
||||||
|
EUFM10 ams/eufm10.pfa
|
||||||
|
EUFM5 ams/eufm5.pfa
|
||||||
|
EUFM7 ams/eufm7.pfa
|
||||||
|
EURB10 ams/eurb10.pfa
|
||||||
|
EURB5 ams/eurb5.pfa
|
||||||
|
EURB7 ams/eurb7.pfa
|
||||||
|
EURM10 ams/eurm10.pfa
|
||||||
|
EURM5 ams/eurm5.pfa
|
||||||
|
EURM7 ams/eurm7.pfa
|
||||||
|
EUSB10 ams/eusb10.pfa
|
||||||
|
EUSB5 ams/eusb5.pfa
|
||||||
|
EUSB7 ams/eusb7.pfa
|
||||||
|
EUSM10 ams/eusm10.pfa
|
||||||
|
EUSM5 ams/eusm5.pfa
|
||||||
|
EUSM7 ams/eusm7.pfa
|
||||||
|
MSAM10 ams/msam10.pfa
|
||||||
|
MSAM5 ams/msam5.pfa
|
||||||
|
MSAM7 ams/msam7.pfa
|
||||||
|
MSBM10 ams/msbm10.pfa
|
||||||
|
MSBM5 ams/msbm5.pfa
|
||||||
|
MSBM7 ams/msbm7.pfa
|
||||||
|
WNCYB10 ams/wncyb10.pfa
|
||||||
|
WNCYI10 ams/wncyi10.pfa
|
||||||
|
WNCYR10 ams/wncyr10.pfa
|
||||||
|
WNCYSC10 ams/wncysc10.pfa
|
||||||
|
WNCYSS10 ams/wncyss10.pfa
|
||||||
45
postscript/font/lino
Normal file
45
postscript/font/lino
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
%
|
||||||
|
% Resident font list for Linotronics Typesetter
|
||||||
|
%
|
||||||
|
|
||||||
|
AvantGarde-Book
|
||||||
|
AvantGarde-BookOblique
|
||||||
|
AvantGarde-Demi
|
||||||
|
AvantGarde-DemiOblique
|
||||||
|
Bookman-Demi
|
||||||
|
Bookman-DemiItalic
|
||||||
|
Bookman-Light
|
||||||
|
Bookman-LightItalic
|
||||||
|
Courier
|
||||||
|
Courier-Bold
|
||||||
|
Courier-BoldOblique
|
||||||
|
Courier-Oblique
|
||||||
|
Helvetica
|
||||||
|
Helvetica-Bold
|
||||||
|
Helvetica-BoldOblique
|
||||||
|
Helvetica-Oblique
|
||||||
|
Helvetica-Narrow
|
||||||
|
Helvetica-Narrow-Oblique
|
||||||
|
Helvetica-Narrow-Bold
|
||||||
|
Helvetica-Narrow-BoldOblique
|
||||||
|
NewCenturySchlbk-Roman
|
||||||
|
NewCenturySchlbk-Italic
|
||||||
|
NewCenturySchlbk-Bold
|
||||||
|
NewCenturySchlbk-BoldItalic
|
||||||
|
Palatino-Roman
|
||||||
|
Palatino-Italic
|
||||||
|
Palatino-Bold
|
||||||
|
Palatino-BoldItalic
|
||||||
|
Symbol
|
||||||
|
Times-Bold
|
||||||
|
Times-BoldItalic
|
||||||
|
Times-Italic
|
||||||
|
Times-Roman
|
||||||
|
Universal-MathOne
|
||||||
|
Universal-MathTwo
|
||||||
|
Universal-MathThree
|
||||||
|
Universal-MathFour
|
||||||
|
Universal-MathFive
|
||||||
|
Universal-MathSix
|
||||||
|
ZapfDingbats
|
||||||
|
ZapfChancery-MediumItalic
|
||||||
39
postscript/font/lw+
Normal file
39
postscript/font/lw+
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
%
|
||||||
|
% Resident font list for LaserWriter plus and QMS-PS 800+
|
||||||
|
%
|
||||||
|
|
||||||
|
AvantGarde-Book
|
||||||
|
AvantGarde-BookOblique
|
||||||
|
AvantGarde-Demi
|
||||||
|
AvantGarde-DemiOblique
|
||||||
|
Bookman-Demi
|
||||||
|
Bookman-DemiItalic
|
||||||
|
Bookman-Light
|
||||||
|
Bookman-LightItalic
|
||||||
|
Courier
|
||||||
|
Courier-Bold
|
||||||
|
Courier-BoldOblique
|
||||||
|
Courier-Oblique
|
||||||
|
Helvetica
|
||||||
|
Helvetica-Bold
|
||||||
|
Helvetica-BoldOblique
|
||||||
|
Helvetica-Oblique
|
||||||
|
Helvetica-Narrow
|
||||||
|
Helvetica-Narrow-Oblique
|
||||||
|
Helvetica-Narrow-Bold
|
||||||
|
Helvetica-Narrow-BoldOblique
|
||||||
|
NewCenturySchlbk-Roman
|
||||||
|
NewCenturySchlbk-Italic
|
||||||
|
NewCenturySchlbk-Bold
|
||||||
|
NewCenturySchlbk-BoldItalic
|
||||||
|
Palatino-Roman
|
||||||
|
Palatino-Italic
|
||||||
|
Palatino-Bold
|
||||||
|
Palatino-BoldItalic
|
||||||
|
Symbol
|
||||||
|
Times-Bold
|
||||||
|
Times-BoldItalic
|
||||||
|
Times-Italic
|
||||||
|
Times-Roman
|
||||||
|
ZapfDingbats
|
||||||
|
ZapfChancery-MediumItalic
|
||||||
343
postscript/prologues/Default.enc
Normal file
343
postscript/prologues/Default.enc
Normal file
@@ -0,0 +1,343 @@
|
|||||||
|
%
|
||||||
|
% Encoding vector, operator and procedure redefinitions for Plan 9 UTF
|
||||||
|
% encoding. Prologues are expected to take steps to ensure operator
|
||||||
|
% redefinitions given here are actually used. Current implementation
|
||||||
|
% assumes UTF byte streams that represent ASCII or Latin1 text.
|
||||||
|
%
|
||||||
|
|
||||||
|
/UTFLatin1Encoding [
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/space
|
||||||
|
/exclam
|
||||||
|
/quotedbl
|
||||||
|
/numbersign
|
||||||
|
/dollar
|
||||||
|
/percent
|
||||||
|
/ampersand
|
||||||
|
/quoteright
|
||||||
|
/parenleft
|
||||||
|
/parenright
|
||||||
|
/asterisk
|
||||||
|
/plus
|
||||||
|
/comma
|
||||||
|
/minus
|
||||||
|
/period
|
||||||
|
/slash
|
||||||
|
/zero
|
||||||
|
/one
|
||||||
|
/two
|
||||||
|
/three
|
||||||
|
/four
|
||||||
|
/five
|
||||||
|
/six
|
||||||
|
/seven
|
||||||
|
/eight
|
||||||
|
/nine
|
||||||
|
/colon
|
||||||
|
/semicolon
|
||||||
|
/less
|
||||||
|
/equal
|
||||||
|
/greater
|
||||||
|
/question
|
||||||
|
/at
|
||||||
|
/A
|
||||||
|
/B
|
||||||
|
/C
|
||||||
|
/D
|
||||||
|
/E
|
||||||
|
/F
|
||||||
|
/G
|
||||||
|
/H
|
||||||
|
/I
|
||||||
|
/J
|
||||||
|
/K
|
||||||
|
/L
|
||||||
|
/M
|
||||||
|
/N
|
||||||
|
/O
|
||||||
|
/P
|
||||||
|
/Q
|
||||||
|
/R
|
||||||
|
/S
|
||||||
|
/T
|
||||||
|
/U
|
||||||
|
/V
|
||||||
|
/W
|
||||||
|
/X
|
||||||
|
/Y
|
||||||
|
/Z
|
||||||
|
/bracketleft
|
||||||
|
/backslash
|
||||||
|
/bracketright
|
||||||
|
/asciicircum
|
||||||
|
/underscore
|
||||||
|
/quoteleft
|
||||||
|
/a
|
||||||
|
/b
|
||||||
|
/c
|
||||||
|
/d
|
||||||
|
/e
|
||||||
|
/f
|
||||||
|
/g
|
||||||
|
/h
|
||||||
|
/i
|
||||||
|
/j
|
||||||
|
/k
|
||||||
|
/l
|
||||||
|
/m
|
||||||
|
/n
|
||||||
|
/o
|
||||||
|
/p
|
||||||
|
/q
|
||||||
|
/r
|
||||||
|
/s
|
||||||
|
/t
|
||||||
|
/u
|
||||||
|
/v
|
||||||
|
/w
|
||||||
|
/x
|
||||||
|
/y
|
||||||
|
/z
|
||||||
|
/braceleft
|
||||||
|
/bar
|
||||||
|
/braceright
|
||||||
|
/asciitilde
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/dotlessi
|
||||||
|
/grave
|
||||||
|
/acute
|
||||||
|
/circumflex
|
||||||
|
/tilde
|
||||||
|
/macron
|
||||||
|
/breve
|
||||||
|
/dotaccent
|
||||||
|
/dieresis
|
||||||
|
/.notdef
|
||||||
|
/ring
|
||||||
|
/cedilla
|
||||||
|
/.notdef
|
||||||
|
/hungarumlaut
|
||||||
|
/ogonek
|
||||||
|
/caron
|
||||||
|
/space
|
||||||
|
/exclamdown
|
||||||
|
/cent
|
||||||
|
/sterling
|
||||||
|
/currency
|
||||||
|
/yen
|
||||||
|
/brokenbar
|
||||||
|
/section
|
||||||
|
/dieresis
|
||||||
|
/copyright
|
||||||
|
/ordfeminine
|
||||||
|
/guillemotleft
|
||||||
|
/logicalnot
|
||||||
|
/hyphen
|
||||||
|
/registered
|
||||||
|
/macron
|
||||||
|
/degree
|
||||||
|
/plusminus
|
||||||
|
/twosuperior
|
||||||
|
/threesuperior
|
||||||
|
/acute
|
||||||
|
/mu
|
||||||
|
/paragraph
|
||||||
|
/periodcentered
|
||||||
|
/cedilla
|
||||||
|
/onesuperior
|
||||||
|
/ordmasculine
|
||||||
|
/guillemotright
|
||||||
|
/onequarter
|
||||||
|
/onehalf
|
||||||
|
/threequarters
|
||||||
|
/questiondown
|
||||||
|
/Agrave
|
||||||
|
/Aacute
|
||||||
|
/Acircumflex
|
||||||
|
/Atilde
|
||||||
|
/Adieresis
|
||||||
|
/Aring
|
||||||
|
/AE
|
||||||
|
/Ccedilla
|
||||||
|
/Egrave
|
||||||
|
/Eacute
|
||||||
|
/Ecircumflex
|
||||||
|
/Edieresis
|
||||||
|
/Igrave
|
||||||
|
/Iacute
|
||||||
|
/Icircumflex
|
||||||
|
/Idieresis
|
||||||
|
/Eth
|
||||||
|
/Ntilde
|
||||||
|
/Ograve
|
||||||
|
/Oacute
|
||||||
|
/Ocircumflex
|
||||||
|
/Otilde
|
||||||
|
/Odieresis
|
||||||
|
/multiply
|
||||||
|
/Oslash
|
||||||
|
/Ugrave
|
||||||
|
/Uacute
|
||||||
|
/Ucircumflex
|
||||||
|
/Udieresis
|
||||||
|
/Yacute
|
||||||
|
/Thorn
|
||||||
|
/germandbls
|
||||||
|
/agrave
|
||||||
|
/aacute
|
||||||
|
/acircumflex
|
||||||
|
/atilde
|
||||||
|
/adieresis
|
||||||
|
/aring
|
||||||
|
/ae
|
||||||
|
/ccedilla
|
||||||
|
/egrave
|
||||||
|
/eacute
|
||||||
|
/ecircumflex
|
||||||
|
/edieresis
|
||||||
|
/igrave
|
||||||
|
/iacute
|
||||||
|
/icircumflex
|
||||||
|
/idieresis
|
||||||
|
/eth
|
||||||
|
/ntilde
|
||||||
|
/ograve
|
||||||
|
/oacute
|
||||||
|
/ocircumflex
|
||||||
|
/otilde
|
||||||
|
/odieresis
|
||||||
|
/divide
|
||||||
|
/oslash
|
||||||
|
/ugrave
|
||||||
|
/uacute
|
||||||
|
/ucircumflex
|
||||||
|
/udieresis
|
||||||
|
/yacute
|
||||||
|
/thorn
|
||||||
|
/ydieresis
|
||||||
|
] def
|
||||||
|
|
||||||
|
/NewFontDirectory FontDirectory maxlength dict def
|
||||||
|
|
||||||
|
%
|
||||||
|
% Apparently no guarantee findfont is defined in systemdict so the obvious
|
||||||
|
%
|
||||||
|
% systemdict /findfont get exec
|
||||||
|
%
|
||||||
|
% can generate an error. So far the only exception is a VT600 (version 48.0).
|
||||||
|
%
|
||||||
|
|
||||||
|
userdict /@RealFindfont known not {
|
||||||
|
userdict begin
|
||||||
|
/@RealFindfont systemdict begin /findfont load end def
|
||||||
|
end
|
||||||
|
} if
|
||||||
|
|
||||||
|
/findfont {
|
||||||
|
dup NewFontDirectory exch known not {
|
||||||
|
dup
|
||||||
|
%dup systemdict /findfont get exec % not always in systemdict
|
||||||
|
dup userdict /@RealFindfont get exec
|
||||||
|
dup /Encoding get StandardEncoding eq {
|
||||||
|
dup length 1 add dict begin
|
||||||
|
{1 index /FID ne {def}{pop pop} ifelse} forall
|
||||||
|
/Encoding UTFLatin1Encoding def
|
||||||
|
/Metrics 1 dict def
|
||||||
|
Metrics /.notdef 0 put
|
||||||
|
currentdict
|
||||||
|
end
|
||||||
|
/DummyFontName exch definefont
|
||||||
|
} if
|
||||||
|
NewFontDirectory 3 1 roll put
|
||||||
|
} if
|
||||||
|
NewFontDirectory exch get
|
||||||
|
} bind def
|
||||||
|
|
||||||
|
%
|
||||||
|
% UTF string decoding for ASCII and Latin1 only:
|
||||||
|
%
|
||||||
|
% C2 XX => 00 XX
|
||||||
|
% C3 XX => XX+40 00
|
||||||
|
%
|
||||||
|
% Two passes through each string with search is undoubtedly faster than
|
||||||
|
% PostScript that examines each byte.
|
||||||
|
%
|
||||||
|
|
||||||
|
/UTFstring {
|
||||||
|
dup {
|
||||||
|
(\302) search {
|
||||||
|
pop
|
||||||
|
0 0 put
|
||||||
|
}{pop exit} ifelse
|
||||||
|
} loop
|
||||||
|
dup {
|
||||||
|
(\303) search {
|
||||||
|
pop
|
||||||
|
1 index 0 get 16#40 add 0 exch put
|
||||||
|
dup length 0 gt {dup 0 0 put} if
|
||||||
|
}{pop exit} ifelse
|
||||||
|
} loop
|
||||||
|
} bind def
|
||||||
|
|
||||||
|
/ashow {mark 4 1 roll UTFstring //ashow cvx exec cleartomark} bind def
|
||||||
|
/awidthshow {mark 7 1 roll UTFstring //awidthshow cvx exec cleartomark} bind def
|
||||||
|
/show {mark exch UTFstring //show cvx exec cleartomark} bind def
|
||||||
|
/stringwidth {UTFstring //stringwidth cvx exec} bind def
|
||||||
|
/widthshow {mark 5 1 roll UTFstring //widthshow cvx exec cleartomark} bind def
|
||||||
|
|
||||||
|
%
|
||||||
|
% kshow is harder - stack can't change because of the procedure.
|
||||||
|
%
|
||||||
|
|
||||||
|
/kshow dup load type /operatortype eq
|
||||||
|
{{UTFstring kshow} bind}
|
||||||
|
{{UTFstring //kshow cvx exec} bind}
|
||||||
|
ifelse def
|
||||||
|
|
||||||
299
postscript/prologues/Latin1.enc
Normal file
299
postscript/prologues/Latin1.enc
Normal file
@@ -0,0 +1,299 @@
|
|||||||
|
%
|
||||||
|
% Encoding vector and redefinition of findfont for the ISO Latin1 standard.
|
||||||
|
% The 18 characters missing from ROM based fonts on older printers are noted
|
||||||
|
% below.
|
||||||
|
%
|
||||||
|
|
||||||
|
/ISOLatin1Encoding [
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/space
|
||||||
|
/exclam
|
||||||
|
/quotedbl
|
||||||
|
/numbersign
|
||||||
|
/dollar
|
||||||
|
/percent
|
||||||
|
/ampersand
|
||||||
|
/quoteright
|
||||||
|
/parenleft
|
||||||
|
/parenright
|
||||||
|
/asterisk
|
||||||
|
/plus
|
||||||
|
/comma
|
||||||
|
/minus
|
||||||
|
/period
|
||||||
|
/slash
|
||||||
|
/zero
|
||||||
|
/one
|
||||||
|
/two
|
||||||
|
/three
|
||||||
|
/four
|
||||||
|
/five
|
||||||
|
/six
|
||||||
|
/seven
|
||||||
|
/eight
|
||||||
|
/nine
|
||||||
|
/colon
|
||||||
|
/semicolon
|
||||||
|
/less
|
||||||
|
/equal
|
||||||
|
/greater
|
||||||
|
/question
|
||||||
|
/at
|
||||||
|
/A
|
||||||
|
/B
|
||||||
|
/C
|
||||||
|
/D
|
||||||
|
/E
|
||||||
|
/F
|
||||||
|
/G
|
||||||
|
/H
|
||||||
|
/I
|
||||||
|
/J
|
||||||
|
/K
|
||||||
|
/L
|
||||||
|
/M
|
||||||
|
/N
|
||||||
|
/O
|
||||||
|
/P
|
||||||
|
/Q
|
||||||
|
/R
|
||||||
|
/S
|
||||||
|
/T
|
||||||
|
/U
|
||||||
|
/V
|
||||||
|
/W
|
||||||
|
/X
|
||||||
|
/Y
|
||||||
|
/Z
|
||||||
|
/bracketleft
|
||||||
|
/backslash
|
||||||
|
/bracketright
|
||||||
|
/asciicircum
|
||||||
|
/underscore
|
||||||
|
/quoteleft
|
||||||
|
/a
|
||||||
|
/b
|
||||||
|
/c
|
||||||
|
/d
|
||||||
|
/e
|
||||||
|
/f
|
||||||
|
/g
|
||||||
|
/h
|
||||||
|
/i
|
||||||
|
/j
|
||||||
|
/k
|
||||||
|
/l
|
||||||
|
/m
|
||||||
|
/n
|
||||||
|
/o
|
||||||
|
/p
|
||||||
|
/q
|
||||||
|
/r
|
||||||
|
/s
|
||||||
|
/t
|
||||||
|
/u
|
||||||
|
/v
|
||||||
|
/w
|
||||||
|
/x
|
||||||
|
/y
|
||||||
|
/z
|
||||||
|
/braceleft
|
||||||
|
/bar
|
||||||
|
/braceright
|
||||||
|
/asciitilde
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/dotlessi
|
||||||
|
/grave
|
||||||
|
/acute
|
||||||
|
/circumflex
|
||||||
|
/tilde
|
||||||
|
/macron
|
||||||
|
/breve
|
||||||
|
/dotaccent
|
||||||
|
/dieresis
|
||||||
|
/.notdef
|
||||||
|
/ring
|
||||||
|
/cedilla
|
||||||
|
/.notdef
|
||||||
|
/hungarumlaut
|
||||||
|
/ogonek
|
||||||
|
/caron
|
||||||
|
/space
|
||||||
|
/exclamdown
|
||||||
|
/cent
|
||||||
|
/sterling
|
||||||
|
/currency
|
||||||
|
/yen
|
||||||
|
/brokenbar % missing
|
||||||
|
/section
|
||||||
|
/dieresis
|
||||||
|
/copyright
|
||||||
|
/ordfeminine
|
||||||
|
/guillemotleft
|
||||||
|
/logicalnot
|
||||||
|
/hyphen
|
||||||
|
/registered
|
||||||
|
/macron
|
||||||
|
/degree % missing
|
||||||
|
/plusminus % missing
|
||||||
|
/twosuperior % missing
|
||||||
|
/threesuperior % missing
|
||||||
|
/acute
|
||||||
|
/mu % missing
|
||||||
|
/paragraph
|
||||||
|
/periodcentered
|
||||||
|
/cedilla
|
||||||
|
/onesuperior % missing
|
||||||
|
/ordmasculine
|
||||||
|
/guillemotright
|
||||||
|
/onequarter % missing
|
||||||
|
/onehalf % missing
|
||||||
|
/threequarters % missing
|
||||||
|
/questiondown
|
||||||
|
/Agrave
|
||||||
|
/Aacute
|
||||||
|
/Acircumflex
|
||||||
|
/Atilde
|
||||||
|
/Adieresis
|
||||||
|
/Aring
|
||||||
|
/AE
|
||||||
|
/Ccedilla
|
||||||
|
/Egrave
|
||||||
|
/Eacute
|
||||||
|
/Ecircumflex
|
||||||
|
/Edieresis
|
||||||
|
/Igrave
|
||||||
|
/Iacute
|
||||||
|
/Icircumflex
|
||||||
|
/Idieresis
|
||||||
|
/Eth % missing
|
||||||
|
/Ntilde
|
||||||
|
/Ograve
|
||||||
|
/Oacute
|
||||||
|
/Ocircumflex
|
||||||
|
/Otilde
|
||||||
|
/Odieresis
|
||||||
|
/multiply % missing
|
||||||
|
/Oslash
|
||||||
|
/Ugrave
|
||||||
|
/Uacute
|
||||||
|
/Ucircumflex
|
||||||
|
/Udieresis
|
||||||
|
/Yacute % missing
|
||||||
|
/Thorn % missing
|
||||||
|
/germandbls
|
||||||
|
/agrave
|
||||||
|
/aacute
|
||||||
|
/acircumflex
|
||||||
|
/atilde
|
||||||
|
/adieresis
|
||||||
|
/aring
|
||||||
|
/ae
|
||||||
|
/ccedilla
|
||||||
|
/egrave
|
||||||
|
/eacute
|
||||||
|
/ecircumflex
|
||||||
|
/edieresis
|
||||||
|
/igrave
|
||||||
|
/iacute
|
||||||
|
/icircumflex
|
||||||
|
/idieresis
|
||||||
|
/eth % missing
|
||||||
|
/ntilde
|
||||||
|
/ograve
|
||||||
|
/oacute
|
||||||
|
/ocircumflex
|
||||||
|
/otilde
|
||||||
|
/odieresis
|
||||||
|
/divide % missing
|
||||||
|
/oslash
|
||||||
|
/ugrave
|
||||||
|
/uacute
|
||||||
|
/ucircumflex
|
||||||
|
/udieresis
|
||||||
|
/yacute % missing
|
||||||
|
/thorn % missing
|
||||||
|
/ydieresis
|
||||||
|
] def
|
||||||
|
|
||||||
|
/NewFontDirectory FontDirectory maxlength dict def
|
||||||
|
|
||||||
|
%
|
||||||
|
% Apparently no guarantee findfont is defined in systemdict so the obvious
|
||||||
|
%
|
||||||
|
% systemdict /findfont get exec
|
||||||
|
%
|
||||||
|
% can generate an error. So far the only exception is a VT600 (version 48.0).
|
||||||
|
%
|
||||||
|
|
||||||
|
userdict /@RealFindfont known not {
|
||||||
|
userdict begin
|
||||||
|
/@RealFindfont systemdict begin /findfont load end def
|
||||||
|
end
|
||||||
|
} if
|
||||||
|
|
||||||
|
/findfont {
|
||||||
|
dup NewFontDirectory exch known not {
|
||||||
|
dup
|
||||||
|
%dup systemdict /findfont get exec % not always in systemdict
|
||||||
|
dup userdict /@RealFindfont get exec
|
||||||
|
dup /Encoding get StandardEncoding eq {
|
||||||
|
dup length dict begin
|
||||||
|
{1 index /FID ne {def}{pop pop} ifelse} forall
|
||||||
|
/Encoding ISOLatin1Encoding def
|
||||||
|
currentdict
|
||||||
|
end
|
||||||
|
/DummyFontName exch definefont
|
||||||
|
} if
|
||||||
|
NewFontDirectory 3 1 roll put
|
||||||
|
} if
|
||||||
|
NewFontDirectory exch get
|
||||||
|
} bind def
|
||||||
|
|
||||||
11
postscript/prologues/Nroundpage.ps
Normal file
11
postscript/prologues/Nroundpage.ps
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
%
|
||||||
|
% A version of roundpage.ps that assumes a symmetric clipping path. Thanks
|
||||||
|
% to Matthijs Melchior for the suggestion.
|
||||||
|
%
|
||||||
|
|
||||||
|
/roundpagebbox {
|
||||||
|
pagebbox dup 0 get pagebbox 2 get add 2 exch put
|
||||||
|
pagebbox dup 1 get pagebbox 3 get add 3 exch put
|
||||||
|
pagebbox 0 0 put
|
||||||
|
pagebbox 1 0 put
|
||||||
|
} bind def
|
||||||
332
postscript/prologues/UTF.enc
Normal file
332
postscript/prologues/UTF.enc
Normal file
@@ -0,0 +1,332 @@
|
|||||||
|
%
|
||||||
|
% Encoding vector, operator and procedure redefinitions for Plan 9 UTF
|
||||||
|
% encoding. Prologues are expected to take steps to ensure operator
|
||||||
|
% redefinitions given here are actually used. Current implementation
|
||||||
|
% assumes UTF byte streams that represent ASCII or Latin1 text.
|
||||||
|
%
|
||||||
|
|
||||||
|
/UTFLatin1Encoding [
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/space
|
||||||
|
/exclam
|
||||||
|
/quotedbl
|
||||||
|
/numbersign
|
||||||
|
/dollar
|
||||||
|
/percent
|
||||||
|
/ampersand
|
||||||
|
/quoteright
|
||||||
|
/parenleft
|
||||||
|
/parenright
|
||||||
|
/asterisk
|
||||||
|
/plus
|
||||||
|
/comma
|
||||||
|
/minus
|
||||||
|
/period
|
||||||
|
/slash
|
||||||
|
/zero
|
||||||
|
/one
|
||||||
|
/two
|
||||||
|
/three
|
||||||
|
/four
|
||||||
|
/five
|
||||||
|
/six
|
||||||
|
/seven
|
||||||
|
/eight
|
||||||
|
/nine
|
||||||
|
/colon
|
||||||
|
/semicolon
|
||||||
|
/less
|
||||||
|
/equal
|
||||||
|
/greater
|
||||||
|
/question
|
||||||
|
/at
|
||||||
|
/A
|
||||||
|
/B
|
||||||
|
/C
|
||||||
|
/D
|
||||||
|
/E
|
||||||
|
/F
|
||||||
|
/G
|
||||||
|
/H
|
||||||
|
/I
|
||||||
|
/J
|
||||||
|
/K
|
||||||
|
/L
|
||||||
|
/M
|
||||||
|
/N
|
||||||
|
/O
|
||||||
|
/P
|
||||||
|
/Q
|
||||||
|
/R
|
||||||
|
/S
|
||||||
|
/T
|
||||||
|
/U
|
||||||
|
/V
|
||||||
|
/W
|
||||||
|
/X
|
||||||
|
/Y
|
||||||
|
/Z
|
||||||
|
/bracketleft
|
||||||
|
/backslash
|
||||||
|
/bracketright
|
||||||
|
/asciicircum
|
||||||
|
/underscore
|
||||||
|
/quoteleft
|
||||||
|
/a
|
||||||
|
/b
|
||||||
|
/c
|
||||||
|
/d
|
||||||
|
/e
|
||||||
|
/f
|
||||||
|
/g
|
||||||
|
/h
|
||||||
|
/i
|
||||||
|
/j
|
||||||
|
/k
|
||||||
|
/l
|
||||||
|
/m
|
||||||
|
/n
|
||||||
|
/o
|
||||||
|
/p
|
||||||
|
/q
|
||||||
|
/r
|
||||||
|
/s
|
||||||
|
/t
|
||||||
|
/u
|
||||||
|
/v
|
||||||
|
/w
|
||||||
|
/x
|
||||||
|
/y
|
||||||
|
/z
|
||||||
|
/braceleft
|
||||||
|
/bar
|
||||||
|
/braceright
|
||||||
|
/asciitilde
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/.notdef
|
||||||
|
/dotlessi
|
||||||
|
/grave
|
||||||
|
/acute
|
||||||
|
/circumflex
|
||||||
|
/tilde
|
||||||
|
/macron
|
||||||
|
/breve
|
||||||
|
/dotaccent
|
||||||
|
/dieresis
|
||||||
|
/.notdef
|
||||||
|
/ring
|
||||||
|
/cedilla
|
||||||
|
/.notdef
|
||||||
|
/hungarumlaut
|
||||||
|
/ogonek
|
||||||
|
/caron
|
||||||
|
/.notdef % was space
|
||||||
|
/exclamdown
|
||||||
|
/cent
|
||||||
|
/sterling
|
||||||
|
/currency
|
||||||
|
/yen
|
||||||
|
/brokenbar
|
||||||
|
/section
|
||||||
|
/dieresis
|
||||||
|
/copyright
|
||||||
|
/ordfeminine
|
||||||
|
/guillemotleft
|
||||||
|
/logicalnot
|
||||||
|
/hyphen
|
||||||
|
/registered
|
||||||
|
/macron
|
||||||
|
/degree
|
||||||
|
/plusminus
|
||||||
|
/twosuperior
|
||||||
|
/threesuperior
|
||||||
|
/acute
|
||||||
|
/mu
|
||||||
|
/paragraph
|
||||||
|
/periodcentered
|
||||||
|
/cedilla
|
||||||
|
/onesuperior
|
||||||
|
/ordmasculine
|
||||||
|
/guillemotright
|
||||||
|
/onequarter
|
||||||
|
/onehalf
|
||||||
|
/threequarters
|
||||||
|
/questiondown
|
||||||
|
/Agrave
|
||||||
|
/Aacute
|
||||||
|
/Acircumflex
|
||||||
|
/Atilde
|
||||||
|
/Adieresis
|
||||||
|
/Aring
|
||||||
|
/AE
|
||||||
|
/Ccedilla
|
||||||
|
/Egrave
|
||||||
|
/Eacute
|
||||||
|
/Ecircumflex
|
||||||
|
/Edieresis
|
||||||
|
/Igrave
|
||||||
|
/Iacute
|
||||||
|
/Icircumflex
|
||||||
|
/Idieresis
|
||||||
|
/Eth
|
||||||
|
/Ntilde
|
||||||
|
/Ograve
|
||||||
|
/Oacute
|
||||||
|
/Ocircumflex
|
||||||
|
/Otilde
|
||||||
|
/Odieresis
|
||||||
|
/multiply
|
||||||
|
/Oslash
|
||||||
|
/Ugrave
|
||||||
|
/Uacute
|
||||||
|
/Ucircumflex
|
||||||
|
/Udieresis
|
||||||
|
/Yacute
|
||||||
|
/Thorn
|
||||||
|
/germandbls
|
||||||
|
/agrave
|
||||||
|
/aacute
|
||||||
|
/acircumflex
|
||||||
|
/atilde
|
||||||
|
/adieresis
|
||||||
|
/aring
|
||||||
|
/ae
|
||||||
|
/ccedilla
|
||||||
|
/egrave
|
||||||
|
/eacute
|
||||||
|
/ecircumflex
|
||||||
|
/edieresis
|
||||||
|
/igrave
|
||||||
|
/iacute
|
||||||
|
/icircumflex
|
||||||
|
/idieresis
|
||||||
|
/eth
|
||||||
|
/ntilde
|
||||||
|
/ograve
|
||||||
|
/oacute
|
||||||
|
/ocircumflex
|
||||||
|
/otilde
|
||||||
|
/odieresis
|
||||||
|
/divide
|
||||||
|
/oslash
|
||||||
|
/ugrave
|
||||||
|
/uacute
|
||||||
|
/ucircumflex
|
||||||
|
/udieresis
|
||||||
|
/yacute
|
||||||
|
/thorn
|
||||||
|
/ydieresis
|
||||||
|
] def
|
||||||
|
|
||||||
|
/NewFontDirectory FontDirectory maxlength dict def
|
||||||
|
|
||||||
|
%
|
||||||
|
% Apparently no guarantee findfont is defined in systemdict so the obvious
|
||||||
|
%
|
||||||
|
% systemdict /findfont get exec
|
||||||
|
%
|
||||||
|
% can generate an error. So far the only exception is a VT600 (version 48.0).
|
||||||
|
%
|
||||||
|
|
||||||
|
userdict /@RealFindfont known not {
|
||||||
|
userdict begin
|
||||||
|
/@RealFindfont systemdict begin /findfont load end def
|
||||||
|
end
|
||||||
|
} if
|
||||||
|
|
||||||
|
/findfont {
|
||||||
|
dup NewFontDirectory exch known not {
|
||||||
|
dup
|
||||||
|
%dup systemdict /findfont get exec % not always in systemdict
|
||||||
|
dup userdict /@RealFindfont get exec
|
||||||
|
dup /Encoding get StandardEncoding eq {
|
||||||
|
dup length 1 add dict begin
|
||||||
|
{1 index /FID ne {def}{pop pop} ifelse} forall
|
||||||
|
/Encoding UTFLatin1Encoding def
|
||||||
|
/Metrics 1 dict def
|
||||||
|
Metrics /.notdef 0 put
|
||||||
|
currentdict
|
||||||
|
end
|
||||||
|
/DummyFontName exch definefont
|
||||||
|
} if
|
||||||
|
NewFontDirectory 3 1 roll put
|
||||||
|
} if
|
||||||
|
NewFontDirectory exch get
|
||||||
|
} bind def
|
||||||
|
|
||||||
|
%
|
||||||
|
% Assume A0, except for A0A0 which is replaced by 20A0, can be ignored.
|
||||||
|
% Works with ASCII or Latin1 because A0 has been re-encoded as a zero
|
||||||
|
% width non-printing character.
|
||||||
|
%
|
||||||
|
|
||||||
|
/UTFstring {
|
||||||
|
dup {
|
||||||
|
(\240\240) search {
|
||||||
|
pop
|
||||||
|
0 16#20 put
|
||||||
|
}{pop exit} ifelse
|
||||||
|
} loop
|
||||||
|
} bind def
|
||||||
|
|
||||||
|
/ashow {mark 4 1 roll UTFstring //ashow cvx exec cleartomark} bind def
|
||||||
|
/awidthshow {mark 7 1 roll UTFstring //awidthshow cvx exec cleartomark} bind def
|
||||||
|
/show {mark exch UTFstring //show cvx exec cleartomark} bind def
|
||||||
|
/stringwidth {UTFstring //stringwidth cvx exec} bind def
|
||||||
|
/widthshow {mark 5 1 roll UTFstring //widthshow cvx exec cleartomark} bind def
|
||||||
|
|
||||||
|
%
|
||||||
|
% kshow is harder - stack can't change because of the procedure.
|
||||||
|
%
|
||||||
|
|
||||||
|
/kshow dup load type /operatortype eq
|
||||||
|
{{UTFstring kshow} bind}
|
||||||
|
{{UTFstring //kshow cvx exec} bind}
|
||||||
|
ifelse def
|
||||||
|
|
||||||
127
postscript/prologues/aps.ps
Normal file
127
postscript/prologues/aps.ps
Normal file
@@ -0,0 +1,127 @@
|
|||||||
|
%
|
||||||
|
% Tune things up so Linotronic output looks more like the APS-5. Pull this file
|
||||||
|
% into dpost output using the -C option. To get the best looking output run dpost
|
||||||
|
% with the -e2 option and use special font files that look like the APS tables but
|
||||||
|
% have character codes (ie. the fourth column in the width tables) appropriate for
|
||||||
|
% PostScript fonts. Widths in these tables must be for APS fonts!
|
||||||
|
%
|
||||||
|
% Start with fat versions of the stroked Courier and Courier-Oblique fonts - from
|
||||||
|
% Johnathan Shopiro.
|
||||||
|
%
|
||||||
|
|
||||||
|
/newdict /Courier findfont length dict def
|
||||||
|
/Courier findfont {
|
||||||
|
1 index /FID ne
|
||||||
|
{newdict 3 1 roll put}
|
||||||
|
{pop pop}
|
||||||
|
ifelse
|
||||||
|
} forall
|
||||||
|
newdict /StrokeWidth 65 put
|
||||||
|
/Courier newdict definefont pop
|
||||||
|
|
||||||
|
/newdict /Courier-Oblique findfont length dict def
|
||||||
|
/Courier-Oblique findfont {
|
||||||
|
1 index /FID ne
|
||||||
|
{newdict 3 1 roll put}
|
||||||
|
{pop pop}
|
||||||
|
ifelse
|
||||||
|
} forall
|
||||||
|
newdict /StrokeWidth 65 put
|
||||||
|
/Courier-Oblique newdict definefont pop
|
||||||
|
|
||||||
|
%
|
||||||
|
% Scaled down versions of the Helvetica font family.
|
||||||
|
%
|
||||||
|
|
||||||
|
/newdict /Helvetica findfont length dict def
|
||||||
|
/Helvetica findfont {
|
||||||
|
1 index /FontMatrix eq {.922 .922 matrix scale matrix concatmatrix} if
|
||||||
|
|
||||||
|
1 index /FID ne
|
||||||
|
{newdict 3 1 roll put}
|
||||||
|
{pop pop}
|
||||||
|
ifelse
|
||||||
|
} forall
|
||||||
|
/Helvetica newdict definefont pop
|
||||||
|
|
||||||
|
/newdict /Helvetica-Oblique findfont length dict def
|
||||||
|
/Helvetica-Oblique findfont {
|
||||||
|
1 index /FontMatrix eq {.922 .922 matrix scale matrix concatmatrix} if
|
||||||
|
|
||||||
|
1 index /FID ne
|
||||||
|
{newdict 3 1 roll put}
|
||||||
|
{pop pop}
|
||||||
|
ifelse
|
||||||
|
} forall
|
||||||
|
/Helvetica-Oblique newdict definefont pop
|
||||||
|
|
||||||
|
/newdict /Helvetica-Bold findfont length dict def
|
||||||
|
/Helvetica-Bold findfont {
|
||||||
|
1 index /FontMatrix eq {.922 .922 matrix scale matrix concatmatrix} if
|
||||||
|
|
||||||
|
1 index /FID ne
|
||||||
|
{newdict 3 1 roll put}
|
||||||
|
{pop pop}
|
||||||
|
ifelse
|
||||||
|
} forall
|
||||||
|
/Helvetica-Bold newdict definefont pop
|
||||||
|
|
||||||
|
/newdict /Helvetica-BoldOblique findfont length dict def
|
||||||
|
/Helvetica-BoldOblique findfont {
|
||||||
|
1 index /FontMatrix eq {.922 .922 matrix scale matrix concatmatrix} if
|
||||||
|
|
||||||
|
1 index /FID ne
|
||||||
|
{newdict 3 1 roll put}
|
||||||
|
{pop pop}
|
||||||
|
ifelse
|
||||||
|
} forall
|
||||||
|
/Helvetica-BoldOblique newdict definefont pop
|
||||||
|
|
||||||
|
%
|
||||||
|
% Scaled up versions of the Times font family.
|
||||||
|
%
|
||||||
|
|
||||||
|
/newdict /Times-Roman findfont length dict def
|
||||||
|
/Times-Roman findfont {
|
||||||
|
1 index /FontMatrix eq {1.0225 1.0225 matrix scale matrix concatmatrix} if
|
||||||
|
|
||||||
|
1 index /FID ne
|
||||||
|
{newdict 3 1 roll put}
|
||||||
|
{pop pop}
|
||||||
|
ifelse
|
||||||
|
} forall
|
||||||
|
/Times-Roman newdict definefont pop
|
||||||
|
|
||||||
|
/newdict /Times-Italic findfont length dict def
|
||||||
|
/Times-Italic findfont {
|
||||||
|
1 index /FontMatrix eq {1.0225 1.0225 matrix scale matrix concatmatrix} if
|
||||||
|
|
||||||
|
1 index /FID ne
|
||||||
|
{newdict 3 1 roll put}
|
||||||
|
{pop pop}
|
||||||
|
ifelse
|
||||||
|
} forall
|
||||||
|
/Times-Italic newdict definefont pop
|
||||||
|
|
||||||
|
/newdict /Times-Bold findfont length dict def
|
||||||
|
/Times-Bold findfont {
|
||||||
|
1 index /FontMatrix eq {1.0225 1.0225 matrix scale matrix concatmatrix} if
|
||||||
|
|
||||||
|
1 index /FID ne
|
||||||
|
{newdict 3 1 roll put}
|
||||||
|
{pop pop}
|
||||||
|
ifelse
|
||||||
|
} forall
|
||||||
|
/Times-Bold newdict definefont pop
|
||||||
|
|
||||||
|
/newdict /Times-BoldItalic findfont length dict def
|
||||||
|
/Times-BoldItalic findfont {
|
||||||
|
1 index /FontMatrix eq {1.0225 1.0225 matrix scale matrix concatmatrix} if
|
||||||
|
|
||||||
|
1 index /FID ne
|
||||||
|
{newdict 3 1 roll put}
|
||||||
|
{pop pop}
|
||||||
|
ifelse
|
||||||
|
} forall
|
||||||
|
/Times-BoldItalic newdict definefont pop
|
||||||
|
|
||||||
40
postscript/prologues/banner.ps
Normal file
40
postscript/prologues/banner.ps
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
%
|
||||||
|
% Simple program to print a banner page
|
||||||
|
%
|
||||||
|
|
||||||
|
/banner {
|
||||||
|
/saveobj save def
|
||||||
|
erasepage initgraphics
|
||||||
|
|
||||||
|
/#copies 1 def
|
||||||
|
/inch {72 mul} bind def
|
||||||
|
/pagebbox [clippath pathbbox newpath] def
|
||||||
|
|
||||||
|
/font /Helvetica def
|
||||||
|
/size 20 def
|
||||||
|
/height pagebbox 3 get def
|
||||||
|
/width pagebbox 2 get .09 mul def
|
||||||
|
|
||||||
|
.92 setgray
|
||||||
|
pagebbox 0 get pagebbox 1 get moveto
|
||||||
|
width 0 rlineto 0 height rlineto width neg 0 rlineto closepath eofill
|
||||||
|
pagebbox 2 get pagebbox 1 get moveto
|
||||||
|
width neg 0 rlineto 0 height rlineto width 0 rlineto closepath eofill
|
||||||
|
0 setgray
|
||||||
|
|
||||||
|
font findfont size scalefont setfont
|
||||||
|
/linesp size size .15 mul add neg def
|
||||||
|
/tab (Destination) stringwidth pop 1.5 mul def
|
||||||
|
/nextline {0 0 moveto show tab 0 moveto show 0 linesp translate} def
|
||||||
|
|
||||||
|
pagebbox 0 get 1.5 width mul add pagebbox 3 get 2.0 width mul sub translate
|
||||||
|
(Bin) nextline
|
||||||
|
(Name) nextline
|
||||||
|
(Owner) nextline
|
||||||
|
(File) nextline
|
||||||
|
(Account) nextline
|
||||||
|
(Destination) nextline
|
||||||
|
(Spooldate) nextline
|
||||||
|
showpage
|
||||||
|
saveobj restore
|
||||||
|
} bind def
|
||||||
156
postscript/prologues/baseline.ps
Normal file
156
postscript/prologues/baseline.ps
Normal file
@@ -0,0 +1,156 @@
|
|||||||
|
%
|
||||||
|
% Stuff used to draw or set text along a baseline specified by parametric equations
|
||||||
|
% for x and y.
|
||||||
|
%
|
||||||
|
|
||||||
|
/left -1 def
|
||||||
|
/center 0 def
|
||||||
|
/right 1 def
|
||||||
|
|
||||||
|
/baselinedict 50 dict def
|
||||||
|
|
||||||
|
/newbaseline {
|
||||||
|
baselinedict begin
|
||||||
|
/g' exch bind def
|
||||||
|
/f' exch bind def
|
||||||
|
/g exch bind def
|
||||||
|
/f exch bind def
|
||||||
|
|
||||||
|
counttomark 2 eq {/hoffset exch def} if
|
||||||
|
/res exch def
|
||||||
|
|
||||||
|
/t 0 def
|
||||||
|
/s 0 def
|
||||||
|
/voffset false def
|
||||||
|
cleartomark
|
||||||
|
end
|
||||||
|
} bind def
|
||||||
|
|
||||||
|
/drawfunnytext {
|
||||||
|
baselinedict begin
|
||||||
|
/t exch def
|
||||||
|
/mode exch def
|
||||||
|
/str exch def
|
||||||
|
|
||||||
|
mode left eq {
|
||||||
|
/leftstring emptystring def
|
||||||
|
/rightstring str def
|
||||||
|
} if
|
||||||
|
|
||||||
|
mode right eq {
|
||||||
|
/leftstring str reversestring def
|
||||||
|
/rightstring emptystring def
|
||||||
|
} if
|
||||||
|
|
||||||
|
mode center eq {
|
||||||
|
str splitstring
|
||||||
|
/rightstring exch def
|
||||||
|
/leftstring exch reversestring def
|
||||||
|
} if
|
||||||
|
|
||||||
|
gsave currentpoint translate leftstring left t baselineshow grestore
|
||||||
|
gsave currentpoint translate rightstring right t baselineshow grestore
|
||||||
|
|
||||||
|
/t 0 def
|
||||||
|
/s 0 def
|
||||||
|
/voffset false def
|
||||||
|
cleartomark
|
||||||
|
end
|
||||||
|
} bind def
|
||||||
|
|
||||||
|
/setfunnytext {
|
||||||
|
baselinedict begin
|
||||||
|
/vpos exch def
|
||||||
|
/hpos exch def
|
||||||
|
/str exch def
|
||||||
|
|
||||||
|
voffset vpos ne {
|
||||||
|
/voffset vpos def
|
||||||
|
/t 0 def
|
||||||
|
/s hoffset def
|
||||||
|
} if
|
||||||
|
|
||||||
|
gsave
|
||||||
|
hoffset voffset translate
|
||||||
|
0 0 moveto
|
||||||
|
/ds hpos s sub def
|
||||||
|
/dt ds t f' dup mul t g' dup mul add sqrt res mul div def
|
||||||
|
/s s ds add def
|
||||||
|
/t t dt add def
|
||||||
|
str right t baselineshow
|
||||||
|
grestore
|
||||||
|
end
|
||||||
|
} bind def
|
||||||
|
|
||||||
|
baselinedict begin
|
||||||
|
|
||||||
|
/f {} bind def
|
||||||
|
/g {pop 0} bind def
|
||||||
|
/f' {pop 1} bind def
|
||||||
|
/g' {pop 0} bind def
|
||||||
|
|
||||||
|
/s 0 def
|
||||||
|
/t 0 def
|
||||||
|
/res 72 def
|
||||||
|
|
||||||
|
/onecharstring ( ) def
|
||||||
|
/emptystring () def
|
||||||
|
|
||||||
|
/baselineshow {
|
||||||
|
/t exch def
|
||||||
|
/mode exch def
|
||||||
|
/str exch def
|
||||||
|
|
||||||
|
gsave
|
||||||
|
t f res mul t g res mul translate
|
||||||
|
0 0 moveto
|
||||||
|
t g' t f' atan rotate
|
||||||
|
{
|
||||||
|
mode right eq {pop} if
|
||||||
|
grestore gsave
|
||||||
|
onecharstring 0 3 -1 roll put onecharstring stringwidth pop
|
||||||
|
/ds exch mode mul def
|
||||||
|
/dt ds t f' dup mul t g' dup mul add sqrt res mul div def
|
||||||
|
/t t dt add def
|
||||||
|
/s s ds add def
|
||||||
|
t f res mul t g res mul translate
|
||||||
|
0 0 moveto
|
||||||
|
t g' t f' atan rotate
|
||||||
|
mode left eq {pop} if
|
||||||
|
} str kshow
|
||||||
|
grestore
|
||||||
|
} bind def
|
||||||
|
|
||||||
|
/reversestring {
|
||||||
|
/str1 exch def
|
||||||
|
|
||||||
|
/str2 str1 length string def
|
||||||
|
/i 0 def
|
||||||
|
/n str1 length 1 sub def
|
||||||
|
|
||||||
|
{
|
||||||
|
str1 n get str2 exch i exch put
|
||||||
|
/i i 1 add def
|
||||||
|
/n n 1 sub def
|
||||||
|
n 0 lt {exit} if
|
||||||
|
} loop
|
||||||
|
str2
|
||||||
|
} bind def
|
||||||
|
|
||||||
|
/splitstring {
|
||||||
|
/str1 exch def
|
||||||
|
|
||||||
|
/len str1 stringwidth pop def
|
||||||
|
/s 0 def
|
||||||
|
/n 0 def
|
||||||
|
str1 length {
|
||||||
|
str1 n get onecharstring exch 0 exch put
|
||||||
|
/s onecharstring stringwidth pop s add def
|
||||||
|
s len 2 div ge {exit} if
|
||||||
|
/n n 1 add def
|
||||||
|
} repeat
|
||||||
|
str1 0 n 1 add getinterval
|
||||||
|
str1 n str1 length n sub getinterval
|
||||||
|
} bind def
|
||||||
|
|
||||||
|
end
|
||||||
65
postscript/prologues/color.ps
Normal file
65
postscript/prologues/color.ps
Normal file
@@ -0,0 +1,65 @@
|
|||||||
|
%
|
||||||
|
% Color and reverse video support for dpost. A call made to setcolor with two
|
||||||
|
% arguments implies reverse video printing.
|
||||||
|
%
|
||||||
|
|
||||||
|
/rgb {setrgbcolor} bind def
|
||||||
|
/hsb {sethsbcolor} bind def
|
||||||
|
|
||||||
|
/colordict 50 dict dup begin
|
||||||
|
/red { 1 0 0 } def
|
||||||
|
/green { 0 1 0 } def
|
||||||
|
/blue { 0 0 1 } def
|
||||||
|
/cyan { 0 1 1 } def
|
||||||
|
/magenta { 1 0 1 } def
|
||||||
|
/yellow { 1 1 0 } def
|
||||||
|
/white { 1 1 1 } def
|
||||||
|
/black { 0 0 0 } def
|
||||||
|
end def
|
||||||
|
|
||||||
|
/setcolor {
|
||||||
|
counttomark 1 eq {
|
||||||
|
dup colordict exch known not {pop /black} if
|
||||||
|
colordict exch get exec setrgbcolor
|
||||||
|
} if
|
||||||
|
counttomark 2 eq {
|
||||||
|
/backcolor exch def
|
||||||
|
/textcolor exch def
|
||||||
|
colordict backcolor known not colordict textcolor known not or {
|
||||||
|
/backcolor colordict /black get def
|
||||||
|
/textcolor colordict /white get def
|
||||||
|
} if
|
||||||
|
/backcolor colordict backcolor get def
|
||||||
|
/textcolor colordict textcolor get def
|
||||||
|
/dY1 0 def
|
||||||
|
/dY2 0 def
|
||||||
|
textcolor exec setrgbcolor
|
||||||
|
} if
|
||||||
|
} bind def
|
||||||
|
|
||||||
|
/drawrvbox {
|
||||||
|
/x2 exch def
|
||||||
|
/x1 exch def
|
||||||
|
|
||||||
|
currentpoint dup
|
||||||
|
/y1 exch def
|
||||||
|
/y2 exch def pop
|
||||||
|
|
||||||
|
dY1 0 eq dY2 0 eq and {
|
||||||
|
currentfont /FontBBox get aload pop
|
||||||
|
currentfont /FontMatrix get dtransform /dY2 exch def pop
|
||||||
|
currentfont /FontMatrix get dtransform /dY1 exch def pop
|
||||||
|
} if
|
||||||
|
|
||||||
|
/y1 y1 dY1 add def
|
||||||
|
/y2 y2 dY2 add def
|
||||||
|
|
||||||
|
backcolor exec setrgbcolor
|
||||||
|
newpath
|
||||||
|
x1 y1 moveto
|
||||||
|
x2 y1 lineto
|
||||||
|
x2 y2 lineto
|
||||||
|
x1 y2 lineto
|
||||||
|
closepath fill
|
||||||
|
textcolor exec setrgbcolor
|
||||||
|
} bind def
|
||||||
131
postscript/prologues/cropmarks.ps
Normal file
131
postscript/prologues/cropmarks.ps
Normal file
@@ -0,0 +1,131 @@
|
|||||||
|
%
|
||||||
|
% Center pages, based on pageheight and pagewidth, and redefine showpage
|
||||||
|
% to put cropmarks at each corner. Device dependent code to expand the
|
||||||
|
% paper size goes in procedure expandpagesize. Currently only supports
|
||||||
|
% a Linotronic 200P typesetter using 12 inch wide paper. You'll have to
|
||||||
|
% add code to expandpagesize to support different typesetters or even a
|
||||||
|
% 200P that's running differently.
|
||||||
|
%
|
||||||
|
|
||||||
|
/CropmarkDict 40 dict dup begin
|
||||||
|
|
||||||
|
/expandpage true def
|
||||||
|
/magnification 1 def
|
||||||
|
/pageheight 11.0 def
|
||||||
|
/pagewidth 8.5 def
|
||||||
|
/scaletofit false def
|
||||||
|
/scaling 1 def
|
||||||
|
|
||||||
|
/marklength .3 def % inches
|
||||||
|
/markstart .125 def % inches
|
||||||
|
/markend .04 def % inches
|
||||||
|
/marklinewidth .25 def % points
|
||||||
|
|
||||||
|
/inch {72 mul} def
|
||||||
|
/min {2 copy gt {exch} if pop} def
|
||||||
|
/max {2 copy lt {exch} if pop} def
|
||||||
|
|
||||||
|
/setup {
|
||||||
|
/markspace markstart marklength add markend add inch marklinewidth add def
|
||||||
|
/totalheight pageheight inch markspace 2 mul add def
|
||||||
|
/totalwidth pagewidth inch markspace 2 mul add def
|
||||||
|
|
||||||
|
pagedimensions
|
||||||
|
checkpagesize
|
||||||
|
/scaling getscaling def
|
||||||
|
xcenter ycenter translate
|
||||||
|
scaling scaling scale
|
||||||
|
pagewidth inch 2 div neg pageheight inch 2 div neg translate
|
||||||
|
clippage
|
||||||
|
} def
|
||||||
|
|
||||||
|
/pagedimensions {
|
||||||
|
clippath pathbbox newpath
|
||||||
|
4 -1 roll exch 4 1 roll 4 copy
|
||||||
|
sub /width exch def
|
||||||
|
sub /height exch def
|
||||||
|
add 2 div /xcenter exch def
|
||||||
|
add 2 div /ycenter exch def
|
||||||
|
} def
|
||||||
|
|
||||||
|
/checkpagesize {
|
||||||
|
height totalheight lt width totalwidth lt or expandpage and {
|
||||||
|
expandpagesize
|
||||||
|
pagedimensions
|
||||||
|
} if
|
||||||
|
} def
|
||||||
|
|
||||||
|
/expandpagesize { % device dependent code
|
||||||
|
/Product statusdict begin /product where {pop product}{()} ifelse end def
|
||||||
|
|
||||||
|
Product (Linotype) eq { % Linotronic 200P and other models?
|
||||||
|
statusdict /setpageparams known {
|
||||||
|
/maxwidth 12.0 inch def % 12 inch wide paper?
|
||||||
|
totalheight maxwidth le {
|
||||||
|
totalheight
|
||||||
|
totalwidth
|
||||||
|
maxwidth totalheight sub 2 div
|
||||||
|
0
|
||||||
|
}{
|
||||||
|
totalwidth maxwidth min
|
||||||
|
totalheight
|
||||||
|
maxwidth totalwidth maxwidth min sub 2 div
|
||||||
|
1
|
||||||
|
} ifelse
|
||||||
|
statusdict /setpageparams get exec
|
||||||
|
} if
|
||||||
|
} if
|
||||||
|
} def
|
||||||
|
|
||||||
|
/getscaling {
|
||||||
|
scaletofit
|
||||||
|
{height totalheight div width totalwidth div min 1 min}
|
||||||
|
{1}
|
||||||
|
ifelse
|
||||||
|
} def
|
||||||
|
|
||||||
|
/clippage {
|
||||||
|
newpath
|
||||||
|
0 0 moveto
|
||||||
|
pagewidth inch 0 rlineto
|
||||||
|
0 pageheight inch rlineto
|
||||||
|
pagewidth neg inch 0 rlineto
|
||||||
|
closepath clip
|
||||||
|
newpath
|
||||||
|
} def
|
||||||
|
|
||||||
|
/cropmark {
|
||||||
|
gsave
|
||||||
|
translate
|
||||||
|
rotate
|
||||||
|
marklinewidth dup translate
|
||||||
|
0 0 transform round exch round exch itransform translate
|
||||||
|
markstart inch 0 moveto marklength inch 0 rlineto stroke
|
||||||
|
0 markstart inch moveto 0 marklength inch rlineto stroke
|
||||||
|
grestore
|
||||||
|
} bind def
|
||||||
|
|
||||||
|
/@PreviousShowpage /showpage load def
|
||||||
|
|
||||||
|
end def
|
||||||
|
|
||||||
|
%
|
||||||
|
% Cropmarks - in the default coordinate system.
|
||||||
|
%
|
||||||
|
|
||||||
|
/showpage {
|
||||||
|
gsave
|
||||||
|
CropmarkDict begin
|
||||||
|
initgraphics
|
||||||
|
marklinewidth setlinewidth
|
||||||
|
xcenter ycenter translate
|
||||||
|
scaling scaling scale
|
||||||
|
0 pagewidth inch 2 div pageheight inch 2 div cropmark
|
||||||
|
90 pagewidth inch neg 2 div pageheight inch 2 div cropmark
|
||||||
|
180 pagewidth inch neg 2 div pageheight inch 2 div neg cropmark
|
||||||
|
270 pagewidth inch 2 div pageheight inch 2 div neg cropmark
|
||||||
|
@PreviousShowpage
|
||||||
|
end
|
||||||
|
grestore
|
||||||
|
} bind def
|
||||||
|
|
||||||
197
postscript/prologues/dpost.ps
Normal file
197
postscript/prologues/dpost.ps
Normal file
@@ -0,0 +1,197 @@
|
|||||||
|
%
|
||||||
|
% Version 3.3.2 prologue for troff files.
|
||||||
|
%
|
||||||
|
|
||||||
|
/#copies 1 store
|
||||||
|
/aspectratio 1 def
|
||||||
|
/formsperpage 1 def
|
||||||
|
/landscape false def
|
||||||
|
/linewidth .3 def
|
||||||
|
/magnification 1 def
|
||||||
|
/margin 0 def
|
||||||
|
/orientation 0 def
|
||||||
|
/resolution 720 def
|
||||||
|
/rotation 1 def
|
||||||
|
/xoffset 0 def
|
||||||
|
/yoffset 0 def
|
||||||
|
|
||||||
|
/roundpage true def
|
||||||
|
/useclippath true def
|
||||||
|
/pagebbox [0 0 612 792] def
|
||||||
|
|
||||||
|
/R /Times-Roman def
|
||||||
|
/I /Times-Italic def
|
||||||
|
/B /Times-Bold def
|
||||||
|
/BI /Times-BoldItalic def
|
||||||
|
/H /Helvetica def
|
||||||
|
/HI /Helvetica-Oblique def
|
||||||
|
/HB /Helvetica-Bold def
|
||||||
|
/HX /Helvetica-BoldOblique def
|
||||||
|
/CW /Courier def
|
||||||
|
/CO /Courier def
|
||||||
|
/CI /Courier-Oblique def
|
||||||
|
/CB /Courier-Bold def
|
||||||
|
/CX /Courier-BoldOblique def
|
||||||
|
/PA /Palatino-Roman def
|
||||||
|
/PI /Palatino-Italic def
|
||||||
|
/PB /Palatino-Bold def
|
||||||
|
/PX /Palatino-BoldItalic def
|
||||||
|
/Hr /Helvetica-Narrow def
|
||||||
|
/Hi /Helvetica-Narrow-Oblique def
|
||||||
|
/Hb /Helvetica-Narrow-Bold def
|
||||||
|
/Hx /Helvetica-Narrow-BoldOblique def
|
||||||
|
/KR /Bookman-Light def
|
||||||
|
/KI /Bookman-LightItalic def
|
||||||
|
/KB /Bookman-Demi def
|
||||||
|
/KX /Bookman-DemiItalic def
|
||||||
|
/AR /AvantGarde-Book def
|
||||||
|
/AI /AvantGarde-BookOblique def
|
||||||
|
/AB /AvantGarde-Demi def
|
||||||
|
/AX /AvantGarde-DemiOblique def
|
||||||
|
/NR /NewCenturySchlbk-Roman def
|
||||||
|
/NI /NewCenturySchlbk-Italic def
|
||||||
|
/NB /NewCenturySchlbk-Bold def
|
||||||
|
/NX /NewCenturySchlbk-BoldItalic def
|
||||||
|
/ZD /ZapfDingbats def
|
||||||
|
/ZI /ZapfChancery-MediumItalic def
|
||||||
|
/S /S def
|
||||||
|
/S1 /S1 def
|
||||||
|
/GR /Symbol def
|
||||||
|
|
||||||
|
/inch {72 mul} bind def
|
||||||
|
/min {2 copy gt {exch} if pop} bind def
|
||||||
|
|
||||||
|
/setup {
|
||||||
|
counttomark 2 idiv {def} repeat pop
|
||||||
|
|
||||||
|
landscape {/orientation 90 orientation add def} if
|
||||||
|
/scaling 72 resolution div def
|
||||||
|
linewidth setlinewidth
|
||||||
|
1 setlinecap
|
||||||
|
|
||||||
|
pagedimensions
|
||||||
|
xcenter ycenter translate
|
||||||
|
orientation rotation mul rotate
|
||||||
|
width 2 div neg height 2 div translate
|
||||||
|
xoffset inch yoffset inch neg translate
|
||||||
|
margin 2 div dup neg translate
|
||||||
|
magnification dup aspectratio mul scale
|
||||||
|
scaling scaling scale
|
||||||
|
|
||||||
|
addmetrics
|
||||||
|
0 0 moveto
|
||||||
|
} def
|
||||||
|
|
||||||
|
/pagedimensions {
|
||||||
|
useclippath userdict /gotpagebbox known not and {
|
||||||
|
/pagebbox [clippath pathbbox newpath] def
|
||||||
|
roundpage currentdict /roundpagebbox known and {roundpagebbox} if
|
||||||
|
} if
|
||||||
|
pagebbox aload pop
|
||||||
|
4 -1 roll exch 4 1 roll 4 copy
|
||||||
|
landscape {4 2 roll} if
|
||||||
|
sub /width exch def
|
||||||
|
sub /height exch def
|
||||||
|
add 2 div /xcenter exch def
|
||||||
|
add 2 div /ycenter exch def
|
||||||
|
userdict /gotpagebbox true put
|
||||||
|
} def
|
||||||
|
|
||||||
|
/addmetrics {
|
||||||
|
/Symbol /S null Sdefs cf
|
||||||
|
/Times-Roman /S1 StandardEncoding dup length array copy S1defs cf
|
||||||
|
} def
|
||||||
|
|
||||||
|
/pagesetup {
|
||||||
|
/page exch def
|
||||||
|
currentdict /pagedict known currentdict page known and {
|
||||||
|
page load pagedict exch get cvx exec
|
||||||
|
} if
|
||||||
|
} def
|
||||||
|
|
||||||
|
/decodingdefs [
|
||||||
|
{counttomark 2 idiv {y moveto show} repeat}
|
||||||
|
{neg /y exch def counttomark 2 idiv {y moveto show} repeat}
|
||||||
|
{neg moveto {2 index stringwidth pop sub exch div 0 32 4 -1 roll widthshow} repeat}
|
||||||
|
{neg moveto {spacewidth sub 0.0 32 4 -1 roll widthshow} repeat}
|
||||||
|
{counttomark 2 idiv {y moveto show} repeat}
|
||||||
|
{neg setfunnytext}
|
||||||
|
] def
|
||||||
|
|
||||||
|
/setdecoding {/t decodingdefs 3 -1 roll get bind def} bind def
|
||||||
|
|
||||||
|
/w {neg moveto show} bind def
|
||||||
|
/m {neg dup /y exch def moveto} bind def
|
||||||
|
/done {/lastpage where {pop lastpage} if} def
|
||||||
|
|
||||||
|
/f {
|
||||||
|
dup /font exch def findfont exch
|
||||||
|
dup /ptsize exch def scaling div dup /size exch def scalefont setfont
|
||||||
|
linewidth ptsize mul scaling 10 mul div setlinewidth
|
||||||
|
/spacewidth ( ) stringwidth pop def
|
||||||
|
} bind def
|
||||||
|
|
||||||
|
/changefont {
|
||||||
|
/fontheight exch def
|
||||||
|
/fontslant exch def
|
||||||
|
currentfont [
|
||||||
|
1 0
|
||||||
|
fontheight ptsize div fontslant sin mul fontslant cos div
|
||||||
|
fontheight ptsize div
|
||||||
|
0 0
|
||||||
|
] makefont setfont
|
||||||
|
} bind def
|
||||||
|
|
||||||
|
/sf {f} bind def
|
||||||
|
|
||||||
|
/cf {
|
||||||
|
dup length 2 idiv
|
||||||
|
/entries exch def
|
||||||
|
/chtab exch def
|
||||||
|
/newencoding exch def
|
||||||
|
/newfont exch def
|
||||||
|
|
||||||
|
findfont dup length 1 add dict
|
||||||
|
/newdict exch def
|
||||||
|
{1 index /FID ne {newdict 3 1 roll put}{pop pop} ifelse} forall
|
||||||
|
|
||||||
|
newencoding type /arraytype eq {newdict /Encoding newencoding put} if
|
||||||
|
|
||||||
|
newdict /Metrics entries dict put
|
||||||
|
newdict /Metrics get
|
||||||
|
begin
|
||||||
|
chtab aload pop
|
||||||
|
1 1 entries {pop def} for
|
||||||
|
newfont newdict definefont pop
|
||||||
|
end
|
||||||
|
} bind def
|
||||||
|
|
||||||
|
%
|
||||||
|
% A few arrays used to adjust reference points and character widths in some
|
||||||
|
% of the printer resident fonts. If square roots are too high try changing
|
||||||
|
% the lines describing /radical and /radicalex to,
|
||||||
|
%
|
||||||
|
% /radical [0 -75 550 0]
|
||||||
|
% /radicalex [-50 -75 500 0]
|
||||||
|
%
|
||||||
|
% Move braceleftbt a bit - default PostScript character is off a bit.
|
||||||
|
%
|
||||||
|
|
||||||
|
/Sdefs [
|
||||||
|
/bracketlefttp [201 500]
|
||||||
|
/bracketleftbt [201 500]
|
||||||
|
/bracketrighttp [-81 380]
|
||||||
|
/bracketrightbt [-83 380]
|
||||||
|
/braceleftbt [203 490]
|
||||||
|
/bracketrightex [220 -125 500 0]
|
||||||
|
/radical [0 0 550 0]
|
||||||
|
/radicalex [-50 0 500 0]
|
||||||
|
/parenleftex [-20 -170 0 0]
|
||||||
|
/integral [100 -50 500 0]
|
||||||
|
/infinity [10 -75 730 0]
|
||||||
|
] def
|
||||||
|
|
||||||
|
/S1defs [
|
||||||
|
/underscore [0 80 500 0]
|
||||||
|
/endash [7 90 650 0]
|
||||||
|
] def
|
||||||
76
postscript/prologues/draw.ps
Normal file
76
postscript/prologues/draw.ps
Normal file
@@ -0,0 +1,76 @@
|
|||||||
|
%
|
||||||
|
% Version 3.3.2 drawing procedures for dpost. Automatically pulled in when
|
||||||
|
% needed.
|
||||||
|
%
|
||||||
|
|
||||||
|
/inpath false def
|
||||||
|
/savematrix matrix def
|
||||||
|
|
||||||
|
/Dl {
|
||||||
|
inpath
|
||||||
|
{neg lineto pop pop}
|
||||||
|
{newpath neg moveto neg lineto stroke}
|
||||||
|
ifelse
|
||||||
|
} bind def
|
||||||
|
|
||||||
|
/De {
|
||||||
|
/y1 exch 2 div def
|
||||||
|
/x1 exch 2 div def
|
||||||
|
/savematrix savematrix currentmatrix def
|
||||||
|
neg exch x1 add exch translate
|
||||||
|
x1 y1 scale
|
||||||
|
0 0 1 0 360
|
||||||
|
inpath
|
||||||
|
{1 0 moveto arc savematrix setmatrix}
|
||||||
|
{newpath arc savematrix setmatrix stroke}
|
||||||
|
ifelse
|
||||||
|
} bind def
|
||||||
|
|
||||||
|
/Da {
|
||||||
|
/dy2 exch def
|
||||||
|
/dx2 exch def
|
||||||
|
/dy1 exch def
|
||||||
|
/dx1 exch def
|
||||||
|
dy1 add neg exch dx1 add exch
|
||||||
|
dx1 dx1 mul dy1 dy1 mul add sqrt
|
||||||
|
dy1 dx1 neg atan
|
||||||
|
dy2 neg dx2 atan
|
||||||
|
inpath
|
||||||
|
{arc}
|
||||||
|
{newpath arc stroke}
|
||||||
|
ifelse
|
||||||
|
} bind def
|
||||||
|
|
||||||
|
/DA {
|
||||||
|
/dy2 exch def
|
||||||
|
/dx2 exch def
|
||||||
|
/dy1 exch def
|
||||||
|
/dx1 exch def
|
||||||
|
dy1 add neg exch dx1 add exch
|
||||||
|
dx1 dx1 mul dy1 dy1 mul add sqrt
|
||||||
|
dy1 dx1 neg atan
|
||||||
|
dy2 neg dx2 atan
|
||||||
|
inpath
|
||||||
|
{arcn}
|
||||||
|
{newpath arcn stroke}
|
||||||
|
ifelse
|
||||||
|
} bind def
|
||||||
|
|
||||||
|
/Ds {
|
||||||
|
/y2 exch def
|
||||||
|
/x2 exch def
|
||||||
|
/y1 exch def
|
||||||
|
/x1 exch def
|
||||||
|
/y0 exch def
|
||||||
|
/x0 exch def
|
||||||
|
x0 5 x1 mul add 6 div
|
||||||
|
y0 5 y1 mul add -6 div
|
||||||
|
x2 5 x1 mul add 6 div
|
||||||
|
y2 5 y1 mul add -6 div
|
||||||
|
x1 x2 add 2 div
|
||||||
|
y1 y2 add -2 div
|
||||||
|
inpath
|
||||||
|
{curveto}
|
||||||
|
{newpath x0 x1 add 2 div y0 y1 add -2 div moveto curveto stroke}
|
||||||
|
ifelse
|
||||||
|
} bind def
|
||||||
4
postscript/prologues/duplex.ps
Normal file
4
postscript/prologues/duplex.ps
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
%!PS-Adobe-3.0
|
||||||
|
statusdict /setduplexmode known {
|
||||||
|
statusdict begin true setduplexmode end
|
||||||
|
} if
|
||||||
26
postscript/prologues/fatcourier.ps
Normal file
26
postscript/prologues/fatcourier.ps
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
%
|
||||||
|
% Fat versions of the stroked Courier and Courier-Oblique - from Johnathan Shopiro.
|
||||||
|
% Can be selectively pulled in using the -C option that's available with all the
|
||||||
|
% PostScript translators or permanently added to any of the prologues. Helps on
|
||||||
|
% Linotronic typesetters, where Courier and Courier-Oblique are too light!
|
||||||
|
%
|
||||||
|
|
||||||
|
/newdict /Courier findfont length 1 add dict def
|
||||||
|
/Courier findfont {
|
||||||
|
1 index /FID ne
|
||||||
|
{newdict 3 1 roll put}
|
||||||
|
{pop pop}
|
||||||
|
ifelse
|
||||||
|
} forall
|
||||||
|
newdict /StrokeWidth 60 put
|
||||||
|
/Courier newdict definefont pop
|
||||||
|
|
||||||
|
/newdict /Courier-Oblique findfont length 1 add dict def
|
||||||
|
/Courier-Oblique findfont {
|
||||||
|
1 index /FID ne
|
||||||
|
{newdict 3 1 roll put}
|
||||||
|
{pop pop}
|
||||||
|
ifelse
|
||||||
|
} forall
|
||||||
|
newdict /StrokeWidth 60 put
|
||||||
|
/Courier-Oblique newdict definefont pop
|
||||||
213
postscript/prologues/forms.ps
Normal file
213
postscript/prologues/forms.ps
Normal file
@@ -0,0 +1,213 @@
|
|||||||
|
%
|
||||||
|
% Procedures that let you print any number of pages on each sheet of paper. It's
|
||||||
|
% far from perfect and won't handle everything (eg. it's not recursive), but should
|
||||||
|
% be good enough for now. Assumes the default page coordinate system has been set
|
||||||
|
% up before setupforms is called. lastpage makes certain the last page is printed,
|
||||||
|
% and should be called immediately after the %%Trailer comment.
|
||||||
|
%
|
||||||
|
% Three lines of code needed for page image clipping have been commented out for
|
||||||
|
% now. It works, but can really slow things down on some versions of PostScript.
|
||||||
|
% Uncomment them if you want to clip pages.
|
||||||
|
%
|
||||||
|
|
||||||
|
/setupforms {
|
||||||
|
/formsperpage exch def
|
||||||
|
|
||||||
|
/currentform 0 def
|
||||||
|
/slop 5 def
|
||||||
|
/min {2 copy gt {exch} if pop} def
|
||||||
|
|
||||||
|
%
|
||||||
|
% Save the current environment so the real showpage can be restored when we're all
|
||||||
|
% done. Occasionally helps when a banner page is included with the job.
|
||||||
|
%
|
||||||
|
|
||||||
|
/saveobj save def
|
||||||
|
|
||||||
|
%
|
||||||
|
% Number of rows and columns we'll need - may exchange them later.
|
||||||
|
%
|
||||||
|
|
||||||
|
/columns formsperpage sqrt ceiling cvi def
|
||||||
|
/rows formsperpage columns div ceiling cvi def
|
||||||
|
|
||||||
|
%
|
||||||
|
% Slop leaves a little room around the edge so page images can be outlined and have
|
||||||
|
% the borders show up. Distance is in default coordinates, so we need to figure out
|
||||||
|
% how it maps into user coordinates.
|
||||||
|
%
|
||||||
|
|
||||||
|
6 array defaultmatrix
|
||||||
|
6 array currentmatrix
|
||||||
|
6 array invertmatrix
|
||||||
|
6 array concatmatrix
|
||||||
|
/tempmatrix exch def
|
||||||
|
|
||||||
|
0 slop tempmatrix dtransform dup mul exch dup mul add sqrt
|
||||||
|
/slop exch def
|
||||||
|
|
||||||
|
%
|
||||||
|
% Determine how big the image area is, using the clipping path bounding box minus
|
||||||
|
% a little and leave the coordinates of the lower left corner of the clipping path
|
||||||
|
% on the stack. Also temporarily set the size of each page (ie. formheight and
|
||||||
|
% formwidth) from the clipping path - just in case old software uses this stuff.
|
||||||
|
% Only works for coordinate systems that have been rotated by a multiple of 90
|
||||||
|
% degrees.
|
||||||
|
%
|
||||||
|
|
||||||
|
newpath clippath pathbbox
|
||||||
|
2 index sub dup /formheight exch def slop 2 mul sub /pageheight exch def
|
||||||
|
2 index sub dup /formwidth exch def slop 2 mul sub /pagewidth exch def
|
||||||
|
|
||||||
|
%
|
||||||
|
% New translators all store the size of each page in default coordinates in the
|
||||||
|
% pagebbox array and it can be different than the size determined by the clipping
|
||||||
|
% path. If we can find pagebbox use it to set the real dimensions of each page.
|
||||||
|
% Leaves the coordinates of the lower left corner on the stack, (either from
|
||||||
|
% pagebbox or clippath) so four numbers are there when we're done.
|
||||||
|
%
|
||||||
|
|
||||||
|
userdict /gotpagebbox known userdict /pagebbox known and {
|
||||||
|
newpath
|
||||||
|
pagebbox 0 get pagebbox 1 get tempmatrix transform moveto
|
||||||
|
pagebbox 0 get pagebbox 3 get tempmatrix transform lineto
|
||||||
|
pagebbox 2 get pagebbox 3 get tempmatrix transform lineto
|
||||||
|
pagebbox 2 get pagebbox 1 get tempmatrix transform lineto
|
||||||
|
closepath pathbbox
|
||||||
|
2 index sub /formheight exch def
|
||||||
|
2 index sub /formwidth exch def
|
||||||
|
} {2 copy} ifelse
|
||||||
|
|
||||||
|
%
|
||||||
|
% Top two numbers are the displacement from the job's origin to the lower left
|
||||||
|
% corner of each page image when we finish setting up the new coordinate system.
|
||||||
|
%
|
||||||
|
|
||||||
|
/ycorner exch def
|
||||||
|
/xcorner exch def
|
||||||
|
|
||||||
|
%
|
||||||
|
% The two numbers left on the stack are the coordinates of the lower left corner
|
||||||
|
% of the clipping path. Go there and then up a bit so page images can be outlined.
|
||||||
|
%
|
||||||
|
|
||||||
|
translate
|
||||||
|
slop slop translate
|
||||||
|
|
||||||
|
%
|
||||||
|
% If the page is wider than high we may be able to do better if we exchange rows
|
||||||
|
% and columns. Won't make a difference in the current orientation or if rows and
|
||||||
|
% columns are the same.
|
||||||
|
%
|
||||||
|
|
||||||
|
pagewidth pageheight gt {
|
||||||
|
rows columns /rows exch def /columns exch def
|
||||||
|
} if
|
||||||
|
|
||||||
|
%
|
||||||
|
% Find the orientation and scaling that makes things as large as possible. More
|
||||||
|
% than what's really needed. First calculation essentially finds the minimum of
|
||||||
|
% 1/rows and 1/columns.
|
||||||
|
%
|
||||||
|
|
||||||
|
pagewidth formwidth columns mul div pageheight formheight rows mul div min
|
||||||
|
pageheight formwidth columns mul div pagewidth formheight rows mul div min
|
||||||
|
|
||||||
|
2 copy lt {
|
||||||
|
rotation 1 eq {
|
||||||
|
landscape {
|
||||||
|
0 pageheight translate
|
||||||
|
-90 rotate
|
||||||
|
}{
|
||||||
|
pagewidth 0 translate
|
||||||
|
90 rotate
|
||||||
|
} ifelse
|
||||||
|
}{
|
||||||
|
landscape {
|
||||||
|
pagewidth 0 translate
|
||||||
|
90 rotate
|
||||||
|
}{
|
||||||
|
0 pageheight translate
|
||||||
|
-90 rotate
|
||||||
|
} ifelse
|
||||||
|
} ifelse
|
||||||
|
pagewidth pageheight /pagewidth exch def /pageheight exch def
|
||||||
|
exch
|
||||||
|
} if
|
||||||
|
|
||||||
|
%
|
||||||
|
% Second number from the top is the best choice. Scale so everything will fit on
|
||||||
|
% the current page, go back to the original origin, and then get ready for the
|
||||||
|
% first page - which goes in the upper left corner.
|
||||||
|
%
|
||||||
|
|
||||||
|
pop dup dup scale
|
||||||
|
xcorner neg ycorner neg translate
|
||||||
|
0 rows 1 sub formheight mul translate
|
||||||
|
|
||||||
|
%
|
||||||
|
% Try to center everything on the page - scaling we used is on top of the stack.
|
||||||
|
%
|
||||||
|
|
||||||
|
dup pagewidth exch div formwidth columns mul sub 2 div
|
||||||
|
exch pageheight exch div formheight rows mul sub 2 div translate
|
||||||
|
|
||||||
|
%
|
||||||
|
% Redefine showpage.
|
||||||
|
%
|
||||||
|
|
||||||
|
/!PreForms~showpage~ /showpage load def % save current showpage
|
||||||
|
|
||||||
|
/showpage {
|
||||||
|
saveobj restore
|
||||||
|
% initclip
|
||||||
|
formsperpage 1 gt {
|
||||||
|
gsave .1 setlinewidth outlineform stroke grestore
|
||||||
|
} if
|
||||||
|
formwidth 0 translate
|
||||||
|
/currentform currentform 1 add def
|
||||||
|
currentform columns mod 0 eq {
|
||||||
|
columns formwidth mul neg formheight neg translate
|
||||||
|
} if
|
||||||
|
currentform formsperpage mod 0 eq {
|
||||||
|
gsave !PreForms~showpage~ grestore
|
||||||
|
currentform columns mod formwidth mul neg
|
||||||
|
formsperpage columns idiv formheight mul translate
|
||||||
|
/currentform 0 def
|
||||||
|
} if
|
||||||
|
% outlineform clip newpath
|
||||||
|
/saveobj save def
|
||||||
|
} bind def
|
||||||
|
|
||||||
|
/outlineform {
|
||||||
|
newpath
|
||||||
|
xcorner ycorner moveto
|
||||||
|
formwidth 0 rlineto
|
||||||
|
0 formheight rlineto
|
||||||
|
formwidth neg 0 rlineto
|
||||||
|
closepath
|
||||||
|
} bind def
|
||||||
|
|
||||||
|
/lastpage {
|
||||||
|
formsperpage 1 gt {
|
||||||
|
currentform 0 ne {
|
||||||
|
/saveobj save def
|
||||||
|
0 1 formsperpage currentform sub formsperpage mod {
|
||||||
|
pop showpage
|
||||||
|
} for
|
||||||
|
saveobj restore
|
||||||
|
} if
|
||||||
|
saveobj restore
|
||||||
|
saveobj restore
|
||||||
|
} if
|
||||||
|
} def
|
||||||
|
|
||||||
|
%
|
||||||
|
% Clip the first page image and save the environment we just set up, including
|
||||||
|
% the redefined showpage.
|
||||||
|
%
|
||||||
|
|
||||||
|
% outlineform clip
|
||||||
|
newpath
|
||||||
|
/saveobj save def
|
||||||
|
} def
|
||||||
522
postscript/prologues/grabit.ps
Normal file
522
postscript/prologues/grabit.ps
Normal file
@@ -0,0 +1,522 @@
|
|||||||
|
%
|
||||||
|
% Dump a PostScript object, occasionally in a form that can be sent back
|
||||||
|
% through the interpreter. Similiar to Adobe's == procedure, but output
|
||||||
|
% is usually easier to read. No binding so operators like rcheck and exec
|
||||||
|
% can be conviently redefined.
|
||||||
|
%
|
||||||
|
|
||||||
|
/GrabitDict 100 dict dup begin
|
||||||
|
|
||||||
|
/recursive true def
|
||||||
|
/scratchstring 200 string def
|
||||||
|
/slowdown 100 def
|
||||||
|
|
||||||
|
/column 0 def
|
||||||
|
/lastcolumn 80 def
|
||||||
|
/level 0 def
|
||||||
|
/multiline 100 array def
|
||||||
|
/nextname 0 def
|
||||||
|
/arraylength 0 def
|
||||||
|
/lengthonly false def
|
||||||
|
|
||||||
|
/GrabitSetup {
|
||||||
|
counttomark {OmitNames exch true put} repeat pop
|
||||||
|
0 0 moveto % for hardcopy output
|
||||||
|
} def
|
||||||
|
|
||||||
|
/OmitNames 30 dict def % ignore these names
|
||||||
|
/OtherDicts 200 dict def % unrecognized dictionaries
|
||||||
|
|
||||||
|
%
|
||||||
|
% All strings returned to the host go through Print. First pass through an
|
||||||
|
% array has lengthonly set to true.
|
||||||
|
%
|
||||||
|
|
||||||
|
/Print {
|
||||||
|
dup type /stringtype ne {scratchstring cvs} if
|
||||||
|
lengthonly {
|
||||||
|
length arraylength add /arraylength exch def
|
||||||
|
}{
|
||||||
|
dup length column add /column exch def
|
||||||
|
print flush
|
||||||
|
slowdown {1 pop} repeat
|
||||||
|
} ifelse
|
||||||
|
} def
|
||||||
|
|
||||||
|
/Indent {level {( ) Print} repeat} def
|
||||||
|
/Newline {(\n) Print lengthonly not {/column 0 def} if} def
|
||||||
|
|
||||||
|
/NextLevel {/level level 1 add def multiline level 0 put} def
|
||||||
|
/LastLevel {/level level 1 sub def} def
|
||||||
|
|
||||||
|
%
|
||||||
|
% Make a unique name for each unrecognized dictionary and remember the name
|
||||||
|
% and dictionary in OtherDicts.
|
||||||
|
%
|
||||||
|
|
||||||
|
/Register {
|
||||||
|
dup type /dicttype eq {
|
||||||
|
/nextname nextname 1 add def
|
||||||
|
dup (UnknownDict ) dup
|
||||||
|
(UnknownDict) length nextname ( ) cvs putinterval
|
||||||
|
0 (UnknownDict) length nextname ( ) cvs length add getinterval cvn
|
||||||
|
exch OtherDicts 3 1 roll put
|
||||||
|
} if
|
||||||
|
} def
|
||||||
|
|
||||||
|
%
|
||||||
|
% Replace array or dictionary values by known names. Lookups are in the
|
||||||
|
% standard PostScript dictionaries and in OtherDicts. If found replace
|
||||||
|
% the value by the name and make it executable so nametype omits the
|
||||||
|
% leading /.
|
||||||
|
%
|
||||||
|
|
||||||
|
/Replace {
|
||||||
|
false
|
||||||
|
1 index type /dicttype eq {pop true} if
|
||||||
|
1 index type /arraytype eq 2 index xcheck not and {pop true} if
|
||||||
|
{
|
||||||
|
false
|
||||||
|
[userdict systemdict statusdict serverdict OtherDicts] {
|
||||||
|
{
|
||||||
|
3 index eq
|
||||||
|
{exch pop exch pop cvx true exit}
|
||||||
|
{pop}
|
||||||
|
ifelse
|
||||||
|
} forall
|
||||||
|
dup {exit} if
|
||||||
|
} forall
|
||||||
|
pop
|
||||||
|
} if
|
||||||
|
} def
|
||||||
|
|
||||||
|
%
|
||||||
|
% Simple type handlers. In some cases (e.g. savetype) what's returned can't
|
||||||
|
% be sent back through the interpreter.
|
||||||
|
%
|
||||||
|
|
||||||
|
/booleantype {{(true )}{(false )} ifelse Print} def
|
||||||
|
/marktype {pop (mark ) Print} def
|
||||||
|
/nulltype {pop (null ) Print} def
|
||||||
|
/integertype {Print ( ) Print} def
|
||||||
|
/realtype {Print ( ) Print} def
|
||||||
|
/filetype {pop (-file- ) Print} def
|
||||||
|
/fonttype {pop (-fontID- ) Print} def
|
||||||
|
/savetype {pop (-saveobj- ) Print} def
|
||||||
|
|
||||||
|
%
|
||||||
|
% Special formatting for operators is enabled if the flag in multiline
|
||||||
|
% (for the current level) is set to 1. In that case each operator, after
|
||||||
|
% being printed, is looked up in OperatorDict. If found the value is used
|
||||||
|
% as an index into the OperatorProcs array and the object at that index
|
||||||
|
% is retrieved and executed. Currently only used to choose the operators
|
||||||
|
% that end a line.
|
||||||
|
%
|
||||||
|
|
||||||
|
/operatortype {
|
||||||
|
dup Print ( ) Print
|
||||||
|
multiline level get 1 eq {
|
||||||
|
scratchstring cvs cvn dup OperatorDict exch known {
|
||||||
|
OperatorDict exch get
|
||||||
|
OperatorProcs exch get exec
|
||||||
|
}{
|
||||||
|
pop
|
||||||
|
column lastcolumn gt {Newline Indent} if
|
||||||
|
} ifelse
|
||||||
|
}{pop} ifelse
|
||||||
|
} def
|
||||||
|
|
||||||
|
%
|
||||||
|
% Executable names are passed to operatortype. Non-executable names get a
|
||||||
|
% leading /.
|
||||||
|
%
|
||||||
|
|
||||||
|
/nametype {
|
||||||
|
dup xcheck {
|
||||||
|
operatortype
|
||||||
|
}{
|
||||||
|
(/) Print Print ( ) Print
|
||||||
|
} ifelse
|
||||||
|
} def
|
||||||
|
|
||||||
|
%
|
||||||
|
% Arrays are processed in two passes. The first computes the length of the
|
||||||
|
% string returned to the host without any special formatting. If it extends
|
||||||
|
% past the last column special formatting is enabled by setting a flag in
|
||||||
|
% array multiline. Arrays are processed in a for loop so the last element
|
||||||
|
% easily recognized. At that point special fortmatting is disabled.
|
||||||
|
%
|
||||||
|
|
||||||
|
/packedarraytype {arraytype} def
|
||||||
|
|
||||||
|
/arraytype {
|
||||||
|
NextLevel
|
||||||
|
lengthonly not {
|
||||||
|
/lengthonly true def
|
||||||
|
/arraylength 0 def
|
||||||
|
dup dup type exec
|
||||||
|
arraylength 20 gt arraylength column add lastcolumn gt and {
|
||||||
|
multiline level 1 put
|
||||||
|
} if
|
||||||
|
/lengthonly false def
|
||||||
|
} if
|
||||||
|
|
||||||
|
dup rcheck not {
|
||||||
|
(-array- ) Print pop
|
||||||
|
}{
|
||||||
|
dup xcheck {({)}{([)} ifelse Print
|
||||||
|
multiline level get 0 ne {Newline Indent}{( ) Print} ifelse
|
||||||
|
0 1 2 index length 1 sub {
|
||||||
|
2 copy exch length 1 sub eq multiline level get 1 eq and {
|
||||||
|
multiline level 2 put
|
||||||
|
} if
|
||||||
|
2 copy get exch pop
|
||||||
|
dup type /dicttype eq {
|
||||||
|
Replace
|
||||||
|
dup type /dicttype eq {
|
||||||
|
dup Register Replace
|
||||||
|
recursive {
|
||||||
|
2 copy cvlit
|
||||||
|
/def load 3 1 roll
|
||||||
|
count 3 roll
|
||||||
|
} if
|
||||||
|
exch pop
|
||||||
|
} if
|
||||||
|
} if
|
||||||
|
dup type exec
|
||||||
|
dup xcheck not multiline level get 1 eq and {
|
||||||
|
0 index type /arraytype eq
|
||||||
|
1 index type /packedarray eq or
|
||||||
|
1 index type /stringtype eq or {Newline Indent} if
|
||||||
|
} if
|
||||||
|
} for
|
||||||
|
multiline level get 0 ne {Newline LastLevel Indent NextLevel} if
|
||||||
|
xcheck {(} )}{(] )} ifelse Print
|
||||||
|
} ifelse
|
||||||
|
LastLevel
|
||||||
|
} def
|
||||||
|
|
||||||
|
%
|
||||||
|
% Dictionary handler. Try to replace the value by a name before processing
|
||||||
|
% the dictionary.
|
||||||
|
%
|
||||||
|
|
||||||
|
/dicttype {
|
||||||
|
dup
|
||||||
|
rcheck not {
|
||||||
|
(-dictionary- ) Print pop
|
||||||
|
}{
|
||||||
|
dup maxlength Print ( dict dup begin) Print Newline
|
||||||
|
NextLevel
|
||||||
|
{
|
||||||
|
1 index OmitNames exch known {
|
||||||
|
pop pop
|
||||||
|
}{
|
||||||
|
Indent
|
||||||
|
Replace % arrays and dicts by known names
|
||||||
|
Register % new dictionaries in OtherDicts
|
||||||
|
exch
|
||||||
|
cvlit dup type exec % key first - force a /
|
||||||
|
dup type exec % then the value
|
||||||
|
(def) Print Newline
|
||||||
|
} ifelse
|
||||||
|
} forall
|
||||||
|
LastLevel
|
||||||
|
Indent
|
||||||
|
(end ) Print
|
||||||
|
} ifelse
|
||||||
|
} def
|
||||||
|
|
||||||
|
%
|
||||||
|
% Strings containing characters not in AsciiDict are returned in hex. All
|
||||||
|
% others are ASCII strings and use AsciiDict for character mapping.
|
||||||
|
%
|
||||||
|
|
||||||
|
/onecharstring ( ) def
|
||||||
|
/twocharstring ( ) def
|
||||||
|
|
||||||
|
/stringtype {
|
||||||
|
dup
|
||||||
|
rcheck not {
|
||||||
|
(-string- ) Print
|
||||||
|
}{
|
||||||
|
/hexit false def
|
||||||
|
dup {
|
||||||
|
onecharstring 0 3 -1 roll put
|
||||||
|
AsciiDict onecharstring cvn known not {
|
||||||
|
/hexit true def exit
|
||||||
|
} if
|
||||||
|
} forall
|
||||||
|
|
||||||
|
hexit {(<)}{(\()} ifelse Print
|
||||||
|
0 1 2 index length 1 sub {
|
||||||
|
2 copy 1 getinterval exch pop
|
||||||
|
hexit {
|
||||||
|
0 get /n exch def
|
||||||
|
n -4 bitshift 16#F and 16 twocharstring cvrs pop
|
||||||
|
n 16#F and twocharstring 1 1 getinterval 16 exch cvrs pop
|
||||||
|
twocharstring
|
||||||
|
}{cvn AsciiDict exch get} ifelse
|
||||||
|
Print
|
||||||
|
column lastcolumn gt {
|
||||||
|
hexit not {(\\) Print} if
|
||||||
|
Newline
|
||||||
|
} if
|
||||||
|
} for
|
||||||
|
hexit {(> )}{(\) )} ifelse Print
|
||||||
|
} ifelse
|
||||||
|
pop
|
||||||
|
} def
|
||||||
|
|
||||||
|
%
|
||||||
|
% ASCII characters and replacement strings. Ensures the returned string will
|
||||||
|
% reproduce the original when passed through the scanner. Strings containing
|
||||||
|
% characters not in this list should be returned as hex strings.
|
||||||
|
%
|
||||||
|
|
||||||
|
/AsciiDict 128 dict dup begin
|
||||||
|
(\n) cvn (\\n) def
|
||||||
|
(\r) cvn (\\r) def
|
||||||
|
(\t) cvn (\\t) def
|
||||||
|
(\b) cvn (\\b) def
|
||||||
|
(\f) cvn (\\f) def
|
||||||
|
( ) cvn ( ) def
|
||||||
|
(!) cvn (!) def
|
||||||
|
(") cvn (") def
|
||||||
|
(#) cvn (#) def
|
||||||
|
($) cvn ($) def
|
||||||
|
(%) cvn (\\%) def
|
||||||
|
(&) cvn (&) def
|
||||||
|
(') cvn (') def
|
||||||
|
(\() cvn (\\\() def
|
||||||
|
(\)) cvn (\\\)) def
|
||||||
|
(*) cvn (*) def
|
||||||
|
(+) cvn (+) def
|
||||||
|
(,) cvn (,) def
|
||||||
|
(-) cvn (-) def
|
||||||
|
(.) cvn (.) def
|
||||||
|
(/) cvn (/) def
|
||||||
|
(0) cvn (0) def
|
||||||
|
(1) cvn (1) def
|
||||||
|
(2) cvn (2) def
|
||||||
|
(3) cvn (3) def
|
||||||
|
(4) cvn (4) def
|
||||||
|
(5) cvn (5) def
|
||||||
|
(6) cvn (6) def
|
||||||
|
(7) cvn (7) def
|
||||||
|
(8) cvn (8) def
|
||||||
|
(9) cvn (9) def
|
||||||
|
(:) cvn (:) def
|
||||||
|
(;) cvn (;) def
|
||||||
|
(<) cvn (<) def
|
||||||
|
(=) cvn (=) def
|
||||||
|
(>) cvn (>) def
|
||||||
|
(?) cvn (?) def
|
||||||
|
(@) cvn (@) def
|
||||||
|
(A) cvn (A) def
|
||||||
|
(B) cvn (B) def
|
||||||
|
(C) cvn (C) def
|
||||||
|
(D) cvn (D) def
|
||||||
|
(E) cvn (E) def
|
||||||
|
(F) cvn (F) def
|
||||||
|
(G) cvn (G) def
|
||||||
|
(H) cvn (H) def
|
||||||
|
(I) cvn (I) def
|
||||||
|
(J) cvn (J) def
|
||||||
|
(K) cvn (K) def
|
||||||
|
(L) cvn (L) def
|
||||||
|
(M) cvn (M) def
|
||||||
|
(N) cvn (N) def
|
||||||
|
(O) cvn (O) def
|
||||||
|
(P) cvn (P) def
|
||||||
|
(Q) cvn (Q) def
|
||||||
|
(R) cvn (R) def
|
||||||
|
(S) cvn (S) def
|
||||||
|
(T) cvn (T) def
|
||||||
|
(U) cvn (U) def
|
||||||
|
(V) cvn (V) def
|
||||||
|
(W) cvn (W) def
|
||||||
|
(X) cvn (X) def
|
||||||
|
(Y) cvn (Y) def
|
||||||
|
(Z) cvn (Z) def
|
||||||
|
([) cvn ([) def
|
||||||
|
(\\) cvn (\\\\) def
|
||||||
|
(]) cvn (]) def
|
||||||
|
(^) cvn (^) def
|
||||||
|
(_) cvn (_) def
|
||||||
|
(`) cvn (`) def
|
||||||
|
(a) cvn (a) def
|
||||||
|
(b) cvn (b) def
|
||||||
|
(c) cvn (c) def
|
||||||
|
(d) cvn (d) def
|
||||||
|
(e) cvn (e) def
|
||||||
|
(f) cvn (f) def
|
||||||
|
(g) cvn (g) def
|
||||||
|
(h) cvn (h) def
|
||||||
|
(i) cvn (i) def
|
||||||
|
(j) cvn (j) def
|
||||||
|
(k) cvn (k) def
|
||||||
|
(l) cvn (l) def
|
||||||
|
(m) cvn (m) def
|
||||||
|
(n) cvn (n) def
|
||||||
|
(o) cvn (o) def
|
||||||
|
(p) cvn (p) def
|
||||||
|
(q) cvn (q) def
|
||||||
|
(r) cvn (r) def
|
||||||
|
(s) cvn (s) def
|
||||||
|
(t) cvn (t) def
|
||||||
|
(u) cvn (u) def
|
||||||
|
(v) cvn (v) def
|
||||||
|
(w) cvn (w) def
|
||||||
|
(x) cvn (x) def
|
||||||
|
(y) cvn (y) def
|
||||||
|
(z) cvn (z) def
|
||||||
|
({) cvn ({) def
|
||||||
|
(|) cvn (|) def
|
||||||
|
(}) cvn (}) def
|
||||||
|
(~) cvn (~) def
|
||||||
|
end def
|
||||||
|
|
||||||
|
%
|
||||||
|
% OperatorDict can help format procedure listings. The value assigned to each
|
||||||
|
% name is used as an index into the OperatorProcs array. The procedure at that
|
||||||
|
% index is fetched and executed after the named operator is printed. What's in
|
||||||
|
% OperatorDict is a matter of taste rather than correctness. The default list
|
||||||
|
% represents our choice of which of Adobe's operators should end a line.
|
||||||
|
%
|
||||||
|
|
||||||
|
/OperatorProcs [{} {Newline Indent}] def
|
||||||
|
|
||||||
|
/OperatorDict 250 dict def
|
||||||
|
|
||||||
|
OperatorDict /arc 1 put
|
||||||
|
OperatorDict /arcn 1 put
|
||||||
|
OperatorDict /ashow 1 put
|
||||||
|
OperatorDict /awidthshow 1 put
|
||||||
|
OperatorDict /banddevice 1 put
|
||||||
|
OperatorDict /begin 1 put
|
||||||
|
OperatorDict /charpath 1 put
|
||||||
|
OperatorDict /clear 1 put
|
||||||
|
OperatorDict /cleardictstack 1 put
|
||||||
|
OperatorDict /cleartomark 1 put
|
||||||
|
OperatorDict /clip 1 put
|
||||||
|
OperatorDict /clippath 1 put
|
||||||
|
OperatorDict /closefile 1 put
|
||||||
|
OperatorDict /closepath 1 put
|
||||||
|
OperatorDict /concat 1 put
|
||||||
|
OperatorDict /copypage 1 put
|
||||||
|
OperatorDict /curveto 1 put
|
||||||
|
OperatorDict /def 1 put
|
||||||
|
OperatorDict /end 1 put
|
||||||
|
OperatorDict /eoclip 1 put
|
||||||
|
OperatorDict /eofill 1 put
|
||||||
|
OperatorDict /erasepage 1 put
|
||||||
|
OperatorDict /exec 1 put
|
||||||
|
OperatorDict /exit 1 put
|
||||||
|
OperatorDict /fill 1 put
|
||||||
|
OperatorDict /flattenpath 1 put
|
||||||
|
OperatorDict /flush 1 put
|
||||||
|
OperatorDict /flushfile 1 put
|
||||||
|
OperatorDict /for 1 put
|
||||||
|
OperatorDict /forall 1 put
|
||||||
|
OperatorDict /framedevice 1 put
|
||||||
|
OperatorDict /grestore 1 put
|
||||||
|
OperatorDict /grestoreall 1 put
|
||||||
|
OperatorDict /gsave 1 put
|
||||||
|
OperatorDict /handleerror 1 put
|
||||||
|
OperatorDict /if 1 put
|
||||||
|
OperatorDict /ifelse 1 put
|
||||||
|
OperatorDict /image 1 put
|
||||||
|
OperatorDict /imagemask 1 put
|
||||||
|
OperatorDict /initclip 1 put
|
||||||
|
OperatorDict /initgraphics 1 put
|
||||||
|
OperatorDict /initmatrix 1 put
|
||||||
|
OperatorDict /kshow 1 put
|
||||||
|
OperatorDict /lineto 1 put
|
||||||
|
OperatorDict /loop 1 put
|
||||||
|
OperatorDict /moveto 1 put
|
||||||
|
OperatorDict /newpath 1 put
|
||||||
|
OperatorDict /nulldevice 1 put
|
||||||
|
OperatorDict /pathforall 1 put
|
||||||
|
OperatorDict /print 1 put
|
||||||
|
OperatorDict /prompt 1 put
|
||||||
|
OperatorDict /put 1 put
|
||||||
|
OperatorDict /putinterval 1 put
|
||||||
|
OperatorDict /quit 1 put
|
||||||
|
OperatorDict /rcurveto 1 put
|
||||||
|
OperatorDict /renderbands 1 put
|
||||||
|
OperatorDict /repeat 1 put
|
||||||
|
OperatorDict /resetfile 1 put
|
||||||
|
OperatorDict /restore 1 put
|
||||||
|
OperatorDict /reversepath 1 put
|
||||||
|
OperatorDict /rlineto 1 put
|
||||||
|
OperatorDict /rmoveto 1 put
|
||||||
|
OperatorDict /rotate 1 put
|
||||||
|
OperatorDict /run 1 put
|
||||||
|
OperatorDict /scale 1 put
|
||||||
|
OperatorDict /setcachedevice 1 put
|
||||||
|
OperatorDict /setcachelimit 1 put
|
||||||
|
OperatorDict /setcacheparams 1 put
|
||||||
|
OperatorDict /setcharwidth 1 put
|
||||||
|
OperatorDict /setdash 1 put
|
||||||
|
OperatorDict /setdefaulttimeouts 1 put
|
||||||
|
OperatorDict /setdostartpage 1 put
|
||||||
|
OperatorDict /seteescratch 1 put
|
||||||
|
OperatorDict /setflat 1 put
|
||||||
|
OperatorDict /setfont 1 put
|
||||||
|
OperatorDict /setgray 1 put
|
||||||
|
OperatorDict /sethsbcolor 1 put
|
||||||
|
OperatorDict /setidlefonts 1 put
|
||||||
|
OperatorDict /setjobtimeout 1 put
|
||||||
|
OperatorDict /setlinecap 1 put
|
||||||
|
OperatorDict /setlinejoin 1 put
|
||||||
|
OperatorDict /setlinewidth 1 put
|
||||||
|
OperatorDict /setmargins 1 put
|
||||||
|
OperatorDict /setmatrix 1 put
|
||||||
|
OperatorDict /setmiterlimit 1 put
|
||||||
|
OperatorDict /setpacking 1 put
|
||||||
|
OperatorDict /setpagetype 1 put
|
||||||
|
OperatorDict /setprintname 1 put
|
||||||
|
OperatorDict /setrgbcolor 1 put
|
||||||
|
OperatorDict /setsccbatch 1 put
|
||||||
|
OperatorDict /setsccinteractive 1 put
|
||||||
|
OperatorDict /setscreen 1 put
|
||||||
|
OperatorDict /settransfer 1 put
|
||||||
|
OperatorDict /show 1 put
|
||||||
|
OperatorDict /showpage 1 put
|
||||||
|
OperatorDict /start 1 put
|
||||||
|
OperatorDict /stop 1 put
|
||||||
|
OperatorDict /store 1 put
|
||||||
|
OperatorDict /stroke 1 put
|
||||||
|
OperatorDict /strokepath 1 put
|
||||||
|
OperatorDict /translate 1 put
|
||||||
|
OperatorDict /widthshow 1 put
|
||||||
|
OperatorDict /write 1 put
|
||||||
|
OperatorDict /writehexstring 1 put
|
||||||
|
OperatorDict /writestring 1 put
|
||||||
|
|
||||||
|
end def
|
||||||
|
|
||||||
|
%
|
||||||
|
% Put an object on the stack and call Grabit. Output continues until stack
|
||||||
|
% is empty. For example,
|
||||||
|
%
|
||||||
|
% /letter load Grabit
|
||||||
|
%
|
||||||
|
% prints a listing of the letter procedure.
|
||||||
|
%
|
||||||
|
|
||||||
|
/Grabit {
|
||||||
|
/saveobj save def
|
||||||
|
GrabitDict begin
|
||||||
|
{
|
||||||
|
count 0 eq {exit} if
|
||||||
|
count {dup type exec} repeat
|
||||||
|
(\n) print flush
|
||||||
|
} loop
|
||||||
|
end
|
||||||
|
currentpoint % for hardcopy output
|
||||||
|
saveobj restore
|
||||||
|
moveto
|
||||||
|
} def
|
||||||
|
|
||||||
196
postscript/prologues/hardcopy.ps
Normal file
196
postscript/prologues/hardcopy.ps
Normal file
@@ -0,0 +1,196 @@
|
|||||||
|
%
|
||||||
|
% Redefiniton of the PostScript file output operators so results go to paper.
|
||||||
|
% Complicated and slow, but the implementation doesn't place many demands on
|
||||||
|
% included PostScript. About all that's required is gentle treatment of the
|
||||||
|
% graphics state between write calls.
|
||||||
|
%
|
||||||
|
|
||||||
|
/#copies 1 store
|
||||||
|
/aspectratio 1 def
|
||||||
|
/font /Courier def
|
||||||
|
/formsperpage 1 def
|
||||||
|
/landscape false def
|
||||||
|
/magnification 1 def
|
||||||
|
/orientation 0 def
|
||||||
|
/pointsize 10 def
|
||||||
|
/rotation 1 def
|
||||||
|
/xoffset .1 def
|
||||||
|
/yoffset .1 def
|
||||||
|
|
||||||
|
/roundpage true def
|
||||||
|
/useclippath true def
|
||||||
|
/pagebbox [0 0 612 792] def
|
||||||
|
|
||||||
|
/inch {72 mul} def
|
||||||
|
/min {2 copy gt {exch} if pop} def
|
||||||
|
|
||||||
|
/HardcopySetup {
|
||||||
|
landscape {/orientation 90 orientation add def} if
|
||||||
|
font findfont 1 1.1 div scalefont setfont
|
||||||
|
|
||||||
|
pagedimensions
|
||||||
|
xcenter ycenter translate
|
||||||
|
orientation rotation mul rotate
|
||||||
|
width 2 div neg height 2 div translate
|
||||||
|
xoffset inch yoffset inch neg translate
|
||||||
|
pointsize 1.1 mul dup scale
|
||||||
|
magnification dup aspectratio mul scale
|
||||||
|
height width div 1 min dup scale
|
||||||
|
0 -1 translate
|
||||||
|
0 0 moveto
|
||||||
|
} def
|
||||||
|
|
||||||
|
/pagedimensions {
|
||||||
|
useclippath {
|
||||||
|
/pagebbox [clippath pathbbox newpath] def
|
||||||
|
roundpage currentdict /roundpagebbox known and {roundpagebbox} if
|
||||||
|
} if
|
||||||
|
pagebbox aload pop
|
||||||
|
4 -1 roll exch 4 1 roll 4 copy
|
||||||
|
landscape {4 2 roll} if
|
||||||
|
sub /width exch def
|
||||||
|
sub /height exch def
|
||||||
|
add 2 div /xcenter exch def
|
||||||
|
add 2 div /ycenter exch def
|
||||||
|
} def
|
||||||
|
|
||||||
|
%
|
||||||
|
% Unbind the operators in an executable array or packedarray. Leaves the
|
||||||
|
% unbound array or the original object on the stack.
|
||||||
|
%
|
||||||
|
|
||||||
|
/Unbind {
|
||||||
|
0 index xcheck
|
||||||
|
1 index type /arraytype eq
|
||||||
|
2 index type /packedarraytype eq or and {
|
||||||
|
dup length array copy cvx
|
||||||
|
dup 0 exch {
|
||||||
|
dup type /operatortype eq {
|
||||||
|
( ) cvs cvn cvx
|
||||||
|
} if
|
||||||
|
|
||||||
|
dup type /dicttype eq {
|
||||||
|
dup maxlength dict exch {
|
||||||
|
Unbind
|
||||||
|
3 copy put pop pop
|
||||||
|
} forall
|
||||||
|
} if
|
||||||
|
|
||||||
|
0 index xcheck
|
||||||
|
1 index type /arraytype eq
|
||||||
|
2 index type /packedarraytype eq or and {
|
||||||
|
Unbind
|
||||||
|
} if
|
||||||
|
|
||||||
|
3 copy put pop
|
||||||
|
1 add
|
||||||
|
} forall
|
||||||
|
pop
|
||||||
|
} if
|
||||||
|
} def
|
||||||
|
|
||||||
|
%
|
||||||
|
% New write operator - don't bind the definition! Expands tabs and backspaces,
|
||||||
|
% wraps long lines, and starts a new page whenever necessary. The code that
|
||||||
|
% handles newlines assumes lines are separated by one vertical unit.
|
||||||
|
%
|
||||||
|
|
||||||
|
/write {
|
||||||
|
true exch
|
||||||
|
|
||||||
|
%%case '\b':
|
||||||
|
dup 8#10 eq {
|
||||||
|
( ) stringwidth pop neg 0 rmoveto
|
||||||
|
currentpoint pop 0 lt {
|
||||||
|
currentpoint exch pop 0 exch moveto
|
||||||
|
} if
|
||||||
|
exch pop false exch
|
||||||
|
} if
|
||||||
|
|
||||||
|
%%case '\t':
|
||||||
|
dup 8#11 eq {
|
||||||
|
currentpoint pop ( ) stringwidth pop div round cvi
|
||||||
|
8 mod 8 exch sub {
|
||||||
|
2 index 8#40 write
|
||||||
|
} repeat
|
||||||
|
exch pop false exch
|
||||||
|
} if
|
||||||
|
|
||||||
|
%%case '\n':
|
||||||
|
dup 8#12 eq {
|
||||||
|
currentpoint 0 exch 1 sub moveto pop
|
||||||
|
|
||||||
|
gsave clippath pathbbox pop pop exch pop grestore
|
||||||
|
currentpoint exch pop 1 sub ge {
|
||||||
|
2 index 8#14 write
|
||||||
|
} if
|
||||||
|
exch pop false exch
|
||||||
|
} if
|
||||||
|
|
||||||
|
%%case '\f':
|
||||||
|
dup 8#14 eq {
|
||||||
|
gsave showpage grestore
|
||||||
|
0 0 moveto
|
||||||
|
exch pop false exch
|
||||||
|
} if
|
||||||
|
|
||||||
|
%%case '\r':
|
||||||
|
dup 8#15 eq {
|
||||||
|
currentpoint 0 exch moveto pop
|
||||||
|
exch pop false exch
|
||||||
|
} if
|
||||||
|
|
||||||
|
%%case EOF:
|
||||||
|
dup -1 eq {
|
||||||
|
currentpoint 0 ne exch 0 ne or {
|
||||||
|
2 index 8#14 write
|
||||||
|
} if
|
||||||
|
exch pop false exch
|
||||||
|
} if
|
||||||
|
|
||||||
|
%%default:
|
||||||
|
exch {
|
||||||
|
dup
|
||||||
|
gsave clippath pathbbox pop 3 1 roll pop pop grestore
|
||||||
|
( ) stringwidth pop currentpoint pop add le {
|
||||||
|
2 index 8#12 write
|
||||||
|
} if
|
||||||
|
( ) dup 0 4 -1 roll put show
|
||||||
|
} if
|
||||||
|
|
||||||
|
pop % the character
|
||||||
|
pop % and file object
|
||||||
|
} def
|
||||||
|
|
||||||
|
%
|
||||||
|
% All the other file output operators call our redefined write operator.
|
||||||
|
%
|
||||||
|
|
||||||
|
/print {
|
||||||
|
(%stdout) (w) file exch {1 index exch write} forall
|
||||||
|
pop
|
||||||
|
} def
|
||||||
|
|
||||||
|
/writestring {
|
||||||
|
{1 index exch write} forall
|
||||||
|
pop
|
||||||
|
} def
|
||||||
|
|
||||||
|
/writehexstring {
|
||||||
|
(0123456789ABCDEF) 3 1 roll {
|
||||||
|
dup
|
||||||
|
3 index exch -4 bitshift 16#F and get 2 index exch write
|
||||||
|
2 index exch 16#F and get 1 index exch write
|
||||||
|
} forall
|
||||||
|
pop pop
|
||||||
|
} def
|
||||||
|
|
||||||
|
%
|
||||||
|
% Unbind and redefine the remaining file output procedures.
|
||||||
|
%
|
||||||
|
|
||||||
|
/= dup load Unbind def
|
||||||
|
/== dup load Unbind def
|
||||||
|
/stack dup load Unbind def
|
||||||
|
/pstack dup load Unbind def
|
||||||
|
|
||||||
5
postscript/prologues/hp4simx.ps
Normal file
5
postscript/prologues/hp4simx.ps
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
%!PS-Adobe-3.0
|
||||||
|
serverdict begin 0 exitserver
|
||||||
|
statusdict begin
|
||||||
|
1 setdefaultpapertray
|
||||||
|
end
|
||||||
67
postscript/prologues/patch.err.ps
Normal file
67
postscript/prologues/patch.err.ps
Normal file
@@ -0,0 +1,67 @@
|
|||||||
|
%!PS-Adobe
|
||||||
|
% lib/ehandler.ps -- Downloaded Error Break-page handler
|
||||||
|
% Copyright (c) 1984, 1985, 1986 Adobe Systems Incorporated.
|
||||||
|
% All Rights Reserved.
|
||||||
|
|
||||||
|
0000 % serverloop password
|
||||||
|
/$brkpage where
|
||||||
|
{pop pop(Error Handler in place - not loaded again\n)print flush stop}
|
||||||
|
{dup serverdict begin statusdict begin checkpassword
|
||||||
|
{(Error Handler downloaded.\n)print flush exitserver}
|
||||||
|
{pop(Bad Password on loading error handler!!!\n)print flush stop}ifelse
|
||||||
|
}ifelse
|
||||||
|
/$brkpage 64 dict def $brkpage begin
|
||||||
|
/prnt
|
||||||
|
{dup type/stringtype ne{=string cvs}if dup length 6 mul/tx exch def/ty 10 def
|
||||||
|
currentpoint/toy exch def/tox exch def 1 setgray newpath
|
||||||
|
tox toy 2 sub moveto 0 ty rlineto tx 0 rlineto 0 ty neg rlineto
|
||||||
|
closepath fill tox toy moveto 0 setgray show}bind def
|
||||||
|
/nl{currentpoint exch pop lmargin exch moveto 0 -10 rmoveto}def
|
||||||
|
/=={/cp 0 def typeprint nl}def
|
||||||
|
/typeprint{dup type dup currentdict exch known
|
||||||
|
{exec}{unknowntype}ifelse}readonly def
|
||||||
|
/lmargin 72 def/rmargin 72 def
|
||||||
|
/tprint{dup length cp add rmargin gt{nl/cp 0 def}if
|
||||||
|
dup length cp add/cp exch def prnt}readonly def
|
||||||
|
/cvsprint{=string cvs tprint( )tprint}readonly def
|
||||||
|
/unknowntype{exch pop cvlit(??)tprint cvsprint}readonly def
|
||||||
|
/integertype{cvsprint}readonly def
|
||||||
|
/realtype{cvsprint}readonly def
|
||||||
|
/booleantype{cvsprint}readonly def
|
||||||
|
/operatortype{(//)tprint cvsprint}readonly def
|
||||||
|
/marktype{pop(-mark- )tprint}readonly def
|
||||||
|
/dicttype{pop(-dictionary- )tprint}readonly def
|
||||||
|
/nulltype{pop(-null- )tprint}readonly def
|
||||||
|
/filetype{pop(-filestream- )tprint}readonly def
|
||||||
|
/savetype{pop(-savelevel- )tprint}readonly def
|
||||||
|
/fonttype{pop(-fontid- )tprint}readonly def
|
||||||
|
/nametype{dup xcheck not{(/)tprint}if cvsprint}readonly def
|
||||||
|
/stringtype
|
||||||
|
{dup rcheck{(\()tprint tprint(\))tprint}{pop(-string- )tprint}ifelse
|
||||||
|
}readonly def
|
||||||
|
/arraytype
|
||||||
|
{dup rcheck{dup xcheck
|
||||||
|
{({)tprint{typeprint}forall(})tprint}
|
||||||
|
{([)tprint{typeprint}forall(])tprint}ifelse}{pop(-array- )tprint}ifelse
|
||||||
|
}readonly def
|
||||||
|
/packedarraytype
|
||||||
|
{dup rcheck{dup xcheck
|
||||||
|
{({)tprint{typeprint}forall(})tprint}
|
||||||
|
{([)tprint{typeprint}forall(])tprint}ifelse}{pop(-packedarray- )tprint}ifelse
|
||||||
|
}readonly def
|
||||||
|
/courier/Courier findfont 10 scalefont def
|
||||||
|
/OLDhandleerror errordict /handleerror get def
|
||||||
|
end %$brkpage
|
||||||
|
errordict/handleerror
|
||||||
|
{<< /PageSize [612 792] /ImagingBBox null >> setpagedevice
|
||||||
|
systemdict begin $error begin $brkpage begin newerror
|
||||||
|
{/newerror false store
|
||||||
|
vmstatus pop pop 0 ne{grestoreall}if initgraphics courier setfont
|
||||||
|
lmargin 720 moveto(ERROR: )prnt errorname prnt
|
||||||
|
nl(OFFENDING COMMAND: )prnt/command load prnt
|
||||||
|
$error/ostack
|
||||||
|
known{nl nl(STACK:)prnt nl nl $error/ostack get aload length{==}repeat}if
|
||||||
|
systemdict/showpage get exec
|
||||||
|
/newerror true store/OLDhandleerror load end end end exec}{end end end}
|
||||||
|
ifelse}
|
||||||
|
dup 0 systemdict put dup 4 $brkpage put bind readonly put
|
||||||
41
postscript/prologues/patch.xon.ps
Normal file
41
postscript/prologues/patch.xon.ps
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
%!
|
||||||
|
0000000000 % the exitserver password
|
||||||
|
|
||||||
|
version (23.0) ne
|
||||||
|
{(Patch not installed -- wrong printer type or version) = stop} if
|
||||||
|
statusdict /Patch1Installed known
|
||||||
|
{(Patch already installed -- not installed again) = stop} if
|
||||||
|
serverdict begin exitserver
|
||||||
|
statusdict /Patch1Installed true put
|
||||||
|
currentfile eexec
|
||||||
|
ce1b9f428ac69e75cc47a554265ae625851e0154ac649ad44c1c34e4c60a0493
|
||||||
|
a80212a3bd61248f8859cb1252a7320775a6d4ec524bcbf5771aceb8f61ea2fb
|
||||||
|
48fcb3df8da0f105be40f697239ef0976f92c1d41e915a7389200a3e896cd955
|
||||||
|
d197ff27f22a617c85bce7ed59ef1a6062d01d0fdee5b4e7d298997638497cc6
|
||||||
|
a2d56a0eacc195795949f515bbbda9cfe899e43ad257da93f3144797b00dbb81
|
||||||
|
8a41b4fa56a0295c25e693864084cbb5d63834f1d94a46816d4a2cbe005cc57c
|
||||||
|
38491a6a34cfbdef303ed8731dbbe84dc6f8e1e790f3d89360d063639c8411fd
|
||||||
|
89ad7c53d1b9732bd0942bc36257208d24792ea7c66790b6104c3a2b794a1460
|
||||||
|
c476ffdb5552f428f457b47319cccb0c9980036402eaca80c0b5e0ccb5f579df
|
||||||
|
09cc6f382b536aa64da7152356c377a5b708a378e855a7ec3eccd848d5508dbf
|
||||||
|
5c7bd28c2899e9cfd7f4ff3d7ddc08006cce42b2d8c59ef64af8ec74a2f9d23f
|
||||||
|
e8d4d03ba1e2686138fffc2af9c662c994ec8065a32144ba9ac5002623b39012
|
||||||
|
521eb49cd829c3506af2895bf275367eb4d31908b14f3b1e0abfaca2f98eb9d8
|
||||||
|
8d84ac8271ef44def53d8207ce9653d598fe8046120f223bfca0b5c74a54f70b
|
||||||
|
eb5a0bc09d8e79742048b875864a3b489eb91c09b701f506e994271a6640f78a
|
||||||
|
d131f1eef3c96e546f7273fb3533799a6470be2ed3b8f2e211bf9f9f209edbd2
|
||||||
|
36c19d4b0b3f28ab16c39faa17070699543c212c76081961c949ebd32ada3c93
|
||||||
|
ccdc56c2c940a2061bc11794a0159cc37255aa8c8e7e08d78f204161f1eccb7d
|
||||||
|
ad3313b737e921b7df1fe794e9a7fc2226702ee555ceb8e803a20ebeaa440a40
|
||||||
|
9e1f1a72412586e3071292b10e938e7f386b8e6516758633bab57223e071b1de
|
||||||
|
8c4b73cafababc0af7bc902e8763a2817861591d7ee98f85bc28ad0ea4d13660
|
||||||
|
d3256aa293df1959b7b57b13edee653cfdda2fafe0698898dc5e371ca4c5b72b
|
||||||
|
b92750d0eea5e74955712b06958663f424a46cf75a797590f0d2a36842fe07e3
|
||||||
|
db459215dab6e461a4c3fbb40ee2499af3fe4b13790de87e11afde6aadd12e77
|
||||||
|
d84d8076146d797269c9188d8fb725898aee284e62c472e0e7b585ef3fed434c
|
||||||
|
000b0bb70ad6806e840cfe872ec3f28782dd08b70d29c2da2187e2dc0f13dfc0
|
||||||
|
89f75344e3dad78a1c9b909fc72bdd92421afdc8b80850ff0d43605edfd9be56
|
||||||
|
d81cb17250ce7208354548f6ccc62366e8196d4adeb2d24fd5ce47bb6295fa72
|
||||||
|
c361197cafacbd51efd36dfa59c6f8e6cab8915a8043d609eb64726de86080d2
|
||||||
|
4118cc69e01eab0f4ef1f364c815f306d5f43420cf7c9316e5ee69c7183dd8d2
|
||||||
|
805a9dfe6abb33c46d3a212d5c6b6fd68418eef971
|
||||||
142
postscript/prologues/pjw.char.ps
Normal file
142
postscript/prologues/pjw.char.ps
Normal file
@@ -0,0 +1,142 @@
|
|||||||
|
%!PS-Adobe-3.0 EPSF-3.0
|
||||||
|
%%BoundingBox: 1 -1 199 258
|
||||||
|
%%Creator: MetaPost
|
||||||
|
%%CreationDate: 1994.06.28:1046
|
||||||
|
/pjw1 {
|
||||||
|
37 211 moveto
|
||||||
|
37 206 lineto
|
||||||
|
41 206 lineto
|
||||||
|
43 212 lineto
|
||||||
|
44 212 46 212 46 210 curveto
|
||||||
|
41 198 35 186 35 174 curveto
|
||||||
|
50 174 66 175 81 173 curveto
|
||||||
|
81 171 lineto
|
||||||
|
61 171 lineto
|
||||||
|
61 170 lineto
|
||||||
|
86 170 lineto
|
||||||
|
88 168 89 166 90 164 curveto
|
||||||
|
101 164 111 169 122 172 curveto
|
||||||
|
139 172 lineto
|
||||||
|
125 194 115 219 93 233 curveto
|
||||||
|
87 234 80 236 74 235 curveto
|
||||||
|
64 229 54 224 46 217 curveto
|
||||||
|
45 217 44 217 44 218 curveto
|
||||||
|
61 242 lineto
|
||||||
|
67 248 72 258 82 258 curveto
|
||||||
|
94 257 107 256 119 254 curveto
|
||||||
|
134 247 147 239 161 231 curveto
|
||||||
|
180 231 lineto
|
||||||
|
180 226 174 228 171 226 curveto
|
||||||
|
178 220 185 214 192 207 curveto
|
||||||
|
189 207 187 207 187 205 curveto
|
||||||
|
190 205 193 204 196 203 curveto
|
||||||
|
198 193 202 181 193 181 curveto
|
||||||
|
193 177 198 175 198 171 curveto
|
||||||
|
196 171 194 171 194 169 curveto
|
||||||
|
195 165 196 161 198 157 curveto
|
||||||
|
194 147 193 135 184 130 curveto
|
||||||
|
180 130 lineto
|
||||||
|
169 107 lineto
|
||||||
|
171 103 176 104 180 104 curveto
|
||||||
|
180 93 176 81 166 76 curveto
|
||||||
|
162 76 157 77 155 80 curveto
|
||||||
|
153 80 152 80 151 80 curveto
|
||||||
|
151 71 lineto
|
||||||
|
155 71 lineto
|
||||||
|
155 68 153 65 152 63 curveto
|
||||||
|
145 62 lineto
|
||||||
|
141 47 144 31 144 15 curveto
|
||||||
|
141 0 lineto
|
||||||
|
124 0 107 -1 90 1 curveto
|
||||||
|
72 36 lineto
|
||||||
|
86 48 105 49 122 54 curveto
|
||||||
|
122 54 lineto
|
||||||
|
110 61 97 65 84 69 curveto
|
||||||
|
81 71 78 73 78 76 curveto
|
||||||
|
86 77 93 77 101 77 curveto
|
||||||
|
106 79 113 79 113 84 curveto
|
||||||
|
95 86 77 87 59 89 curveto
|
||||||
|
59 92 61 95 64 95 curveto
|
||||||
|
69 88 80 92 89 92 curveto
|
||||||
|
95 92 104 90 104 96 curveto
|
||||||
|
93 97 lineto
|
||||||
|
87 103 82 109 77 115 curveto
|
||||||
|
89 116 101 117 113 118 curveto
|
||||||
|
99 154 lineto
|
||||||
|
90 154 87 144 82 138 curveto
|
||||||
|
77 132 73 124 66 120 curveto
|
||||||
|
63 120 59 119 59 122 curveto
|
||||||
|
62 123 66 123 66 126 curveto
|
||||||
|
58 126 50 127 42 128 curveto
|
||||||
|
34 137 lineto
|
||||||
|
34 140 34 144 31 144 curveto
|
||||||
|
30 135 31 125 31 116 curveto
|
||||||
|
25 116 22 122 19 127 curveto
|
||||||
|
16 131 15 136 12 139 curveto
|
||||||
|
5 139 15 127 9 127 curveto
|
||||||
|
3 133 3 142 1 150 curveto
|
||||||
|
1 158 6 166 9 173 curveto
|
||||||
|
18 186 25 199 35 211 curveto
|
||||||
|
closepath
|
||||||
|
} bind def
|
||||||
|
|
||||||
|
/pjw2 {
|
||||||
|
27 112 moveto
|
||||||
|
40 75 lineto
|
||||||
|
40 74 38 73 37 73 curveto
|
||||||
|
25 87 lineto
|
||||||
|
17 112 lineto
|
||||||
|
closepath
|
||||||
|
43 154 moveto
|
||||||
|
43 167 lineto
|
||||||
|
41 167 38 167 39 169 curveto
|
||||||
|
57 171 lineto
|
||||||
|
74 167 lineto
|
||||||
|
74 166 73 165 72 165 curveto
|
||||||
|
64 164 56 162 49 158 curveto
|
||||||
|
48 154 45 149 49 149 curveto
|
||||||
|
51 151 53 152 55 154 curveto
|
||||||
|
87 153 lineto
|
||||||
|
87 144 80 136 74 129 curveto
|
||||||
|
64 128 53 126 43 129 curveto
|
||||||
|
37 135 lineto
|
||||||
|
37 138 36 141 36 145 curveto
|
||||||
|
40 145 lineto
|
||||||
|
41 148 42 151 43 154 curveto closepath
|
||||||
|
108 145 moveto
|
||||||
|
119 145 130 143 141 140 curveto
|
||||||
|
146 134 155 129 149 126 curveto
|
||||||
|
138 124 126 123 116 129 curveto
|
||||||
|
113 134 108 139 108 145 curveto
|
||||||
|
closepath
|
||||||
|
114 96 moveto
|
||||||
|
116 103 118 110 121 117 curveto
|
||||||
|
128 117 134 112 139 107 curveto
|
||||||
|
139 101 137 96 132 93 curveto
|
||||||
|
closepath
|
||||||
|
134 162 moveto
|
||||||
|
115 162 lineto
|
||||||
|
115 162 115 163 115 164 curveto
|
||||||
|
134 164 lineto
|
||||||
|
closepath
|
||||||
|
117 73 moveto
|
||||||
|
115 78 121 81 125 85 curveto
|
||||||
|
129 85 lineto
|
||||||
|
130 83 131 81 131 79 curveto
|
||||||
|
128 74 lineto
|
||||||
|
124 74 121 73 117 73 curveto closepath
|
||||||
|
141 119 moveto
|
||||||
|
134 119 126 117 126 123 curveto
|
||||||
|
131 123 136 122 141 121 curveto
|
||||||
|
closepath
|
||||||
|
} bind def
|
||||||
|
|
||||||
|
/pw {
|
||||||
|
%% pop
|
||||||
|
gsave
|
||||||
|
pointsize .0022 mul dup scale
|
||||||
|
currentpoint translate
|
||||||
|
pjw1 pjw2 eofill
|
||||||
|
grestore
|
||||||
|
6 0 rmoveto
|
||||||
|
} bind def
|
||||||
124
postscript/prologues/postdmd.ps
Normal file
124
postscript/prologues/postdmd.ps
Normal file
@@ -0,0 +1,124 @@
|
|||||||
|
%
|
||||||
|
% Version 3.3.2 prologue for DMD bitmap files.
|
||||||
|
%
|
||||||
|
|
||||||
|
/#copies 1 store
|
||||||
|
/aspectratio 1 def
|
||||||
|
/formsperpage 1 def
|
||||||
|
/landscape false def
|
||||||
|
/magnification 1 def
|
||||||
|
/margin 0 def
|
||||||
|
/orientation 0 def
|
||||||
|
/rotation 1 def
|
||||||
|
/screenres 100 def
|
||||||
|
/xoffset 0 def
|
||||||
|
/yoffset 0 def
|
||||||
|
|
||||||
|
/useclippath true def
|
||||||
|
/pagebbox [0 0 612 792] def
|
||||||
|
|
||||||
|
/inch {72 mul} bind def
|
||||||
|
/min {2 copy gt {exch} if pop} bind def
|
||||||
|
|
||||||
|
/setup {
|
||||||
|
counttomark 2 idiv {def} repeat pop
|
||||||
|
|
||||||
|
landscape {/orientation 90 orientation add def} if
|
||||||
|
|
||||||
|
pagedimensions
|
||||||
|
xcenter ycenter translate
|
||||||
|
orientation rotation mul rotate
|
||||||
|
xoffset inch yoffset inch translate
|
||||||
|
magnification dup aspectratio mul scale
|
||||||
|
|
||||||
|
/height height margin sub def
|
||||||
|
/width width margin sub def
|
||||||
|
} def
|
||||||
|
|
||||||
|
/pagedimensions {
|
||||||
|
useclippath {
|
||||||
|
/pagebbox [clippath pathbbox newpath] def
|
||||||
|
} if
|
||||||
|
pagebbox aload pop
|
||||||
|
4 -1 roll exch 4 1 roll 4 copy
|
||||||
|
landscape {4 2 roll} if
|
||||||
|
sub /width exch def
|
||||||
|
sub /height exch def
|
||||||
|
add 2 div /xcenter exch def
|
||||||
|
add 2 div /ycenter exch def
|
||||||
|
userdict /gotpagebbox true put
|
||||||
|
} def
|
||||||
|
|
||||||
|
/pagesetup {/page exch def} bind def
|
||||||
|
|
||||||
|
/bitmap {
|
||||||
|
/scanlines exch def
|
||||||
|
/scanlength exch def
|
||||||
|
/flip exch def
|
||||||
|
/v8format exch def
|
||||||
|
|
||||||
|
/bytelength scanlength 8 idiv def
|
||||||
|
/picstr bytelength string def
|
||||||
|
/lpicstr bytelength string def
|
||||||
|
/bytelength bytelength 1 sub def
|
||||||
|
|
||||||
|
gsave
|
||||||
|
|
||||||
|
% First the overall scaling.
|
||||||
|
|
||||||
|
height scanlines div width scanlength div min
|
||||||
|
72 screenres div min
|
||||||
|
dup scale
|
||||||
|
|
||||||
|
% Followed by the one for the unit square.
|
||||||
|
|
||||||
|
scanlength neg 2 div scanlines neg 2 div translate
|
||||||
|
scanlength scanlines scale
|
||||||
|
v8format {getv8bitmap} {getbitmap} ifelse
|
||||||
|
grestore
|
||||||
|
} bind def
|
||||||
|
|
||||||
|
/getbitmap {
|
||||||
|
scanlength scanlines flip [scanlength 0 0 scanlines neg 0 scanlines] {
|
||||||
|
0 {
|
||||||
|
currentfile token pop dup
|
||||||
|
0 eq {pop pop exit} if
|
||||||
|
/charcount exch def
|
||||||
|
picstr 1 index charcount getinterval
|
||||||
|
/repl exch def
|
||||||
|
currentfile repl readhexstring pop pop
|
||||||
|
charcount add
|
||||||
|
currentfile token pop {
|
||||||
|
picstr 1 index repl putinterval
|
||||||
|
charcount add
|
||||||
|
} repeat
|
||||||
|
} loop
|
||||||
|
picstr
|
||||||
|
} imagemask
|
||||||
|
} bind def
|
||||||
|
|
||||||
|
/getv8bitmap {
|
||||||
|
scanlength scanlines flip not [scanlength 0 0 scanlines neg 0 scanlines] {
|
||||||
|
0 {
|
||||||
|
currentfile token pop dup
|
||||||
|
0 eq {pop pop exit} if
|
||||||
|
/charcount exch def
|
||||||
|
picstr 1 index charcount getinterval
|
||||||
|
/repl exch def
|
||||||
|
currentfile repl readhexstring pop pop
|
||||||
|
charcount add
|
||||||
|
currentfile token pop {
|
||||||
|
picstr 1 index repl putinterval
|
||||||
|
charcount add
|
||||||
|
} repeat
|
||||||
|
} loop
|
||||||
|
0 0 picstr {
|
||||||
|
exch lpicstr exch get xor
|
||||||
|
lpicstr exch 2 index exch put
|
||||||
|
1 add dup
|
||||||
|
} forall
|
||||||
|
pop pop lpicstr
|
||||||
|
} imagemask
|
||||||
|
} bind def
|
||||||
|
|
||||||
|
/done {/lastpage where {pop lastpage} if} def
|
||||||
104
postscript/prologues/postgif.ps
Normal file
104
postscript/prologues/postgif.ps
Normal file
@@ -0,0 +1,104 @@
|
|||||||
|
%
|
||||||
|
% Version 3.3.2 prologue for GIF pixmap files.
|
||||||
|
%
|
||||||
|
|
||||||
|
/#copies 1 store
|
||||||
|
/aspectratio 1 def
|
||||||
|
/formsperpage 1 def
|
||||||
|
/landscape false def
|
||||||
|
/magnification 1 def
|
||||||
|
/margin 0 def
|
||||||
|
/orientation 0 def
|
||||||
|
/rotation 1 def
|
||||||
|
/xoffset 0 def
|
||||||
|
/yoffset 0 def
|
||||||
|
|
||||||
|
/useclippath true def
|
||||||
|
/pagebbox [0 0 612 792] def
|
||||||
|
|
||||||
|
/inch {72 mul} bind def
|
||||||
|
/min {2 copy gt {exch} if pop} bind def
|
||||||
|
|
||||||
|
/setup {
|
||||||
|
counttomark 2 idiv {def} repeat pop
|
||||||
|
|
||||||
|
landscape {/orientation 90 orientation add def} if
|
||||||
|
|
||||||
|
pagedimensions
|
||||||
|
xcenter ycenter translate
|
||||||
|
orientation rotation mul rotate
|
||||||
|
xoffset inch yoffset inch translate
|
||||||
|
magnification dup aspectratio mul scale
|
||||||
|
|
||||||
|
/height height margin sub def
|
||||||
|
/width width margin sub def
|
||||||
|
} def
|
||||||
|
|
||||||
|
/pagedimensions {
|
||||||
|
useclippath {
|
||||||
|
/pagebbox [clippath pathbbox newpath] def
|
||||||
|
} if
|
||||||
|
pagebbox aload pop
|
||||||
|
4 -1 roll exch 4 1 roll 4 copy
|
||||||
|
landscape {4 2 roll} if
|
||||||
|
sub /width exch def
|
||||||
|
sub /height exch def
|
||||||
|
add 2 div /xcenter exch def
|
||||||
|
add 2 div /ycenter exch def
|
||||||
|
userdict /gotpagebbox true put
|
||||||
|
} def
|
||||||
|
|
||||||
|
/pagesetup {/page exch def} bind def
|
||||||
|
|
||||||
|
/done {/lastpage where {pop lastpage} if} def
|
||||||
|
|
||||||
|
/alignment false def
|
||||||
|
|
||||||
|
/gifscreen { % scrwidth scrheight $
|
||||||
|
2 copy
|
||||||
|
|
||||||
|
alignment {
|
||||||
|
100 dup dtransform exch 100 exch div abs exch 100 exch div abs
|
||||||
|
2 copy scale
|
||||||
|
/height exch height exch div def
|
||||||
|
/width exch width exch div def
|
||||||
|
} if
|
||||||
|
|
||||||
|
height exch div exch width exch div
|
||||||
|
2 copy lt { pop } { exch pop } ifelse
|
||||||
|
|
||||||
|
alignment { cvi } if
|
||||||
|
|
||||||
|
dup scale
|
||||||
|
|
||||||
|
neg 2 div exch neg 2 div exch translate
|
||||||
|
} def
|
||||||
|
|
||||||
|
/gifimage { % gray imagewidth imageheight xorigin yorigin $
|
||||||
|
translate
|
||||||
|
2 copy scale
|
||||||
|
/imageheight exch def
|
||||||
|
/imagewidth exch def
|
||||||
|
/gray exch def
|
||||||
|
imagewidth imageheight 8 [imagewidth 0 0 imageheight neg 0 imageheight]
|
||||||
|
gray {
|
||||||
|
{ currentfile codestr readhexstring pop } image
|
||||||
|
} {
|
||||||
|
/colorimage where {
|
||||||
|
pop
|
||||||
|
/picstr imagewidth 3 mul string def
|
||||||
|
{ currentfile codestr readhexstring pop pop
|
||||||
|
0 1 imagewidth 1 sub {
|
||||||
|
picstr exch dup 3 mul exch colortbl exch codestr exch get
|
||||||
|
3 mul 3 getinterval putinterval
|
||||||
|
} for picstr
|
||||||
|
} false 3 colorimage
|
||||||
|
} {
|
||||||
|
{ currentfile codestr readhexstring pop pop
|
||||||
|
0 1 imagewidth 1 sub {
|
||||||
|
codestr exch dup graytbl exch codestr exch get get put
|
||||||
|
} for codestr
|
||||||
|
} image
|
||||||
|
} ifelse
|
||||||
|
} ifelse
|
||||||
|
} def
|
||||||
86
postscript/prologues/postp9bit.ps
Normal file
86
postscript/prologues/postp9bit.ps
Normal file
@@ -0,0 +1,86 @@
|
|||||||
|
%
|
||||||
|
% Version 3.3 prologue for plan9 bitmap files.
|
||||||
|
%
|
||||||
|
|
||||||
|
/#copies 1 store
|
||||||
|
/aspectratio 1 def
|
||||||
|
/formsperpage 1 def
|
||||||
|
/landscape false def
|
||||||
|
/magnification 1 def
|
||||||
|
/margin 0 def
|
||||||
|
/orientation 0 def
|
||||||
|
/rotation 1 def
|
||||||
|
/screenres 100 def
|
||||||
|
/xoffset 0 def
|
||||||
|
/yoffset 0 def
|
||||||
|
|
||||||
|
/useclippath true def
|
||||||
|
/pagebbox [0 0 612 792] def
|
||||||
|
|
||||||
|
/inch {72 mul} bind def
|
||||||
|
/min {2 copy gt {exch} if pop} bind def
|
||||||
|
|
||||||
|
/setup {
|
||||||
|
counttomark 2 idiv {def} repeat pop
|
||||||
|
|
||||||
|
landscape {/orientation 90 orientation add def} if
|
||||||
|
|
||||||
|
pagedimensions
|
||||||
|
xcenter ycenter translate
|
||||||
|
orientation rotation mul rotate
|
||||||
|
xoffset inch yoffset inch translate
|
||||||
|
magnification dup aspectratio mul scale
|
||||||
|
|
||||||
|
/height height margin sub def
|
||||||
|
/width width margin sub def
|
||||||
|
} def
|
||||||
|
|
||||||
|
/pagedimensions {
|
||||||
|
useclippath {
|
||||||
|
/pagebbox [clippath pathbbox newpath] def
|
||||||
|
} if
|
||||||
|
pagebbox aload pop
|
||||||
|
4 -1 roll exch 4 1 roll 4 copy
|
||||||
|
landscape {4 2 roll} if
|
||||||
|
sub /width exch def
|
||||||
|
sub /height exch def
|
||||||
|
add 2 div /xcenter exch def
|
||||||
|
add 2 div /ycenter exch def
|
||||||
|
userdict /gotpagebbox true put
|
||||||
|
} def
|
||||||
|
|
||||||
|
/pagesetup {/page exch def} bind def
|
||||||
|
|
||||||
|
/bitmap {
|
||||||
|
/scanlines exch def
|
||||||
|
/scanlength exch def
|
||||||
|
/bitspersample exch def
|
||||||
|
%% /v8format exch def
|
||||||
|
|
||||||
|
/bytelength scanlength bitspersample mult 7 add 8 idiv def
|
||||||
|
/picstr bytelength string def
|
||||||
|
/lpicstr bytelength string def
|
||||||
|
%% /bytelength bytelength 1 sub def
|
||||||
|
|
||||||
|
gsave
|
||||||
|
|
||||||
|
% First the overall scaling.
|
||||||
|
|
||||||
|
height scanlines div width scanlength div min
|
||||||
|
72 screenres div min
|
||||||
|
dup scale
|
||||||
|
|
||||||
|
% Followed by the one for the unit square.
|
||||||
|
|
||||||
|
scanlength neg 2 div scanlines neg 2 div translate
|
||||||
|
scanlength scanlines scale
|
||||||
|
getp9bitmap
|
||||||
|
grestore
|
||||||
|
} bind def
|
||||||
|
|
||||||
|
/getp9bitmap {
|
||||||
|
scanlength scanlines bitspersample [scanlength 0 0 scanlines neg 0 scanlines] {
|
||||||
|
currentfile picstr readhexstring pop} image
|
||||||
|
} bind def
|
||||||
|
|
||||||
|
/done {/lastpage where {pop lastpage} if} def
|
||||||
75
postscript/prologues/postprint.ps
Normal file
75
postscript/prologues/postprint.ps
Normal file
@@ -0,0 +1,75 @@
|
|||||||
|
%
|
||||||
|
% Version 3.3.2 prologue for text files.
|
||||||
|
%
|
||||||
|
|
||||||
|
/#copies 1 store
|
||||||
|
/aspectratio 1 def
|
||||||
|
/font /Courier def
|
||||||
|
/formsperpage 1 def
|
||||||
|
/landscape false def
|
||||||
|
/magnification 1 def
|
||||||
|
/margin 10 def
|
||||||
|
/orientation 0 def
|
||||||
|
/pointsize 10 def
|
||||||
|
/rotation 1 def
|
||||||
|
/xoffset .25 def
|
||||||
|
/yoffset .25 def
|
||||||
|
|
||||||
|
/roundpage true def
|
||||||
|
/useclippath true def
|
||||||
|
/pagebbox [0 0 612 792] def
|
||||||
|
|
||||||
|
/inch {72 mul} bind def
|
||||||
|
/min {2 copy gt {exch} if pop} bind def
|
||||||
|
|
||||||
|
/show {show} bind def % so later references don't bind
|
||||||
|
/stringwidth {stringwidth} bind def
|
||||||
|
|
||||||
|
/setup {
|
||||||
|
counttomark 2 idiv {def} repeat pop
|
||||||
|
|
||||||
|
landscape {/orientation 90 orientation add def} if
|
||||||
|
font findfont pointsize scalefont setfont
|
||||||
|
/charwidth (M) stringwidth pop def
|
||||||
|
/linespace pointsize pointsize .10 mul add neg def
|
||||||
|
|
||||||
|
pagedimensions
|
||||||
|
xcenter ycenter translate
|
||||||
|
orientation rotation mul rotate
|
||||||
|
width 2 div neg height 2 div translate
|
||||||
|
xoffset inch yoffset inch neg translate
|
||||||
|
margin 2 div dup neg translate
|
||||||
|
magnification dup aspectratio mul scale
|
||||||
|
height width div 1 min dup scale
|
||||||
|
0 linespace translate
|
||||||
|
} def
|
||||||
|
|
||||||
|
/pagedimensions {
|
||||||
|
useclippath userdict /gotpagebbox known not and {
|
||||||
|
/pagebbox [clippath pathbbox newpath] def
|
||||||
|
roundpage currentdict /roundpagebbox known and {roundpagebbox} if
|
||||||
|
} if
|
||||||
|
pagebbox aload pop
|
||||||
|
4 -1 roll exch 4 1 roll 4 copy
|
||||||
|
landscape {4 2 roll} if
|
||||||
|
sub /width exch def
|
||||||
|
sub /height exch def
|
||||||
|
add 2 div /xcenter exch def
|
||||||
|
add 2 div /ycenter exch def
|
||||||
|
userdict /gotpagebbox true put
|
||||||
|
} def
|
||||||
|
|
||||||
|
/pagesetup {/page exch def 0 0 moveto 0} bind def
|
||||||
|
|
||||||
|
/L {
|
||||||
|
counttomark 2 idiv {charwidth mul currentpoint exch pop moveto show} repeat
|
||||||
|
linespace add dup 0 exch moveto
|
||||||
|
} bind def
|
||||||
|
|
||||||
|
/l {show linespace add dup 0 exch moveto} bind def
|
||||||
|
|
||||||
|
/LL {
|
||||||
|
counttomark 2 idiv {charwidth mul currentpoint exch pop moveto show} repeat
|
||||||
|
} bind def
|
||||||
|
|
||||||
|
/done {/lastpage where {pop lastpage} if} def
|
||||||
106
postscript/prologues/posttek.ps
Normal file
106
postscript/prologues/posttek.ps
Normal file
@@ -0,0 +1,106 @@
|
|||||||
|
%
|
||||||
|
% Version 3.3.2 prologue for tektronix 4014 files.
|
||||||
|
%
|
||||||
|
|
||||||
|
/#copies 1 store
|
||||||
|
/aspectratio 1 def
|
||||||
|
/fixlinewidth true def
|
||||||
|
/font /Courier def
|
||||||
|
/formsperpage 1 def
|
||||||
|
/landscape true def
|
||||||
|
/linewidth 0 def
|
||||||
|
/magnification 1 def
|
||||||
|
/margin 10 def
|
||||||
|
/orientation 0 def
|
||||||
|
/rotation 1 def
|
||||||
|
/screenheight 3120 def
|
||||||
|
/screenwidth 4150 def
|
||||||
|
/spotsize 1 def
|
||||||
|
/xoffset 0 def
|
||||||
|
/yoffset 0 def
|
||||||
|
|
||||||
|
/useclippath true def
|
||||||
|
/pagebbox [0 0 612 792] def
|
||||||
|
|
||||||
|
/inch {72 mul} bind def
|
||||||
|
/min {2 copy gt {exch} if pop} bind def
|
||||||
|
|
||||||
|
/kshow {kshow} bind def % so later references don't bind
|
||||||
|
|
||||||
|
/setup {
|
||||||
|
counttomark 2 idiv {def} repeat pop
|
||||||
|
|
||||||
|
landscape {/orientation 90 orientation add def} if
|
||||||
|
|
||||||
|
pagedimensions
|
||||||
|
/scaling
|
||||||
|
height margin sub screenheight div
|
||||||
|
width margin sub screenwidth div
|
||||||
|
min def
|
||||||
|
xcenter ycenter translate
|
||||||
|
orientation rotation mul rotate
|
||||||
|
xoffset inch yoffset inch translate
|
||||||
|
magnification dup aspectratio mul scale
|
||||||
|
scaling scaling scale
|
||||||
|
screenwidth 2 div neg screenheight 2 div neg translate
|
||||||
|
|
||||||
|
tietodevicespace
|
||||||
|
linewidth scaling div setlinewidth
|
||||||
|
1 setlinecap
|
||||||
|
newpath
|
||||||
|
} def
|
||||||
|
|
||||||
|
/pagedimensions {
|
||||||
|
useclippath {
|
||||||
|
/pagebbox [clippath pathbbox newpath] def
|
||||||
|
} if
|
||||||
|
pagebbox aload pop
|
||||||
|
4 -1 roll exch 4 1 roll 4 copy
|
||||||
|
landscape {4 2 roll} if
|
||||||
|
sub /width exch def
|
||||||
|
sub /height exch def
|
||||||
|
add 2 div /xcenter exch def
|
||||||
|
add 2 div /ycenter exch def
|
||||||
|
userdict /gotpagebbox true put
|
||||||
|
} def
|
||||||
|
|
||||||
|
/pagesetup {/page exch def} bind def
|
||||||
|
|
||||||
|
/tietodevicespace {
|
||||||
|
fixlinewidth linewidth 0 gt and linewidth 1 lt and {
|
||||||
|
/moveto {
|
||||||
|
2 copy /Y exch def /X exch def
|
||||||
|
transform round exch round exch itransform
|
||||||
|
moveto
|
||||||
|
} bind def
|
||||||
|
/lineto {
|
||||||
|
2 copy /Y exch def /X exch def
|
||||||
|
transform round exch round exch itransform
|
||||||
|
lineto
|
||||||
|
} bind def
|
||||||
|
/rlineto {Y add exch X add exch lineto} bind def
|
||||||
|
/v V 0 get bind def
|
||||||
|
} if
|
||||||
|
} def
|
||||||
|
|
||||||
|
/V [{moveto counttomark 2 idiv {rlineto} repeat stroke}] def
|
||||||
|
/v V 0 get bind def
|
||||||
|
/p {newpath spotsize 0 360 arc fill} bind def
|
||||||
|
|
||||||
|
/l {{scaling div} forall counttomark array astore 0 setdash} bind def
|
||||||
|
/w {linewidth 0 eq {.3} {linewidth} ifelse mul linewidth add scaling div setlinewidth} bind def
|
||||||
|
/i {3 mul 4 sub -100 div mul .5 add /spotsize exch def} bind def
|
||||||
|
|
||||||
|
/f {/charwidth exch def font findfont charwidth .6 div scalefont setfont} bind def
|
||||||
|
|
||||||
|
/t {
|
||||||
|
3 1 roll moveto
|
||||||
|
currentpoint {
|
||||||
|
pop pop
|
||||||
|
exch charwidth add exch
|
||||||
|
moveto currentpoint
|
||||||
|
} 4 -1 roll kshow
|
||||||
|
pop pop
|
||||||
|
} bind def
|
||||||
|
|
||||||
|
/done {/lastpage where {pop lastpage} if} def
|
||||||
321
postscript/prologues/printfont.ps
Normal file
321
postscript/prologues/printfont.ps
Normal file
@@ -0,0 +1,321 @@
|
|||||||
|
%
|
||||||
|
% Formatted font dump. Assumes all fonts include valid FontBBox arrays.
|
||||||
|
%
|
||||||
|
|
||||||
|
/#copies 1 store
|
||||||
|
/aspectratio 1 def
|
||||||
|
/landscape false def
|
||||||
|
/magnification 1 def
|
||||||
|
/margin 10 def
|
||||||
|
/orientation 0 def
|
||||||
|
/rotation 1 def
|
||||||
|
/xoffset 0 def
|
||||||
|
/yoffset 0 def
|
||||||
|
|
||||||
|
/axescount 0 def
|
||||||
|
/charwidth false def
|
||||||
|
/graynotdef 0.85 def
|
||||||
|
/hireslinewidth 0.2 def
|
||||||
|
/longnames false def
|
||||||
|
/maxsize 6.0 def
|
||||||
|
/minsize 4.5 def
|
||||||
|
/numbercell true def
|
||||||
|
/radix 16 def
|
||||||
|
/labelfont /Helvetica def
|
||||||
|
/labelspace 36 def
|
||||||
|
/zerocell 0 def
|
||||||
|
|
||||||
|
/roundpage true def
|
||||||
|
/useclippath true def
|
||||||
|
/pagebbox [0 0 612 792] def
|
||||||
|
|
||||||
|
/inch {72 mul} def
|
||||||
|
/min {2 copy gt {exch} if pop} def
|
||||||
|
/max {2 copy lt {exch} if pop} def
|
||||||
|
|
||||||
|
/LLx {0 get} bind def
|
||||||
|
/LLy {1 get} bind def
|
||||||
|
/URx {2 get} bind def
|
||||||
|
/URy {3 get} bind def
|
||||||
|
/BBoxHeight {dup URy exch LLy sub} bind def
|
||||||
|
/BBoxWidth {dup URx exch LLx sub} bind def
|
||||||
|
|
||||||
|
/setup {
|
||||||
|
/graylevels [1 0 0] def
|
||||||
|
/scratchstring 512 string def
|
||||||
|
/Product statusdict begin /product where {pop product}{(Unknown)} ifelse end def
|
||||||
|
/Resolution 0 72 dtransform dup mul exch dup mul add sqrt cvi def
|
||||||
|
/Version /version where {pop version}{(???)} ifelse def
|
||||||
|
|
||||||
|
landscape {/orientation 90 orientation add def} if
|
||||||
|
|
||||||
|
pagedimensions
|
||||||
|
xcenter ycenter translate
|
||||||
|
orientation rotation mul rotate
|
||||||
|
width 2 div neg height 2 div translate
|
||||||
|
xoffset inch yoffset inch neg translate
|
||||||
|
margin dup neg translate
|
||||||
|
0 labelspace .75 mul neg translate
|
||||||
|
magnification dup aspectratio mul scale
|
||||||
|
0 0 transform round exch round exch itransform translate
|
||||||
|
|
||||||
|
currentdict /linewidth known not {
|
||||||
|
/linewidth Resolution 400 le {0}{hireslinewidth} ifelse def
|
||||||
|
} if
|
||||||
|
} def
|
||||||
|
|
||||||
|
/pagedimensions {
|
||||||
|
useclippath {
|
||||||
|
/pagebbox [clippath pathbbox newpath] def
|
||||||
|
roundpage currentdict /roundpagebbox known and {roundpagebbox} if
|
||||||
|
} if
|
||||||
|
pagebbox aload pop
|
||||||
|
4 -1 roll exch 4 1 roll 4 copy
|
||||||
|
landscape {4 2 roll} if
|
||||||
|
sub /width exch def
|
||||||
|
sub /height exch def
|
||||||
|
add 2 div /xcenter exch def
|
||||||
|
add 2 div /ycenter exch def
|
||||||
|
} def
|
||||||
|
|
||||||
|
/CharSetup {
|
||||||
|
/chcode exch def
|
||||||
|
/chname Encoding chcode get def
|
||||||
|
/chstring ( ) dup 0 chcode put def
|
||||||
|
/chknown true def
|
||||||
|
|
||||||
|
graylevels 0 1 put % initial cell fill
|
||||||
|
graylevels 1 0 put % cell text
|
||||||
|
graylevels 2 0 put % cell border
|
||||||
|
|
||||||
|
FontDict /CharStrings known {
|
||||||
|
FontDict /CharStrings get chname known not {
|
||||||
|
/chknown false def
|
||||||
|
graylevels 0 0 put
|
||||||
|
graylevels 1 1 put
|
||||||
|
} if
|
||||||
|
} if
|
||||||
|
|
||||||
|
chname /.notdef eq {
|
||||||
|
/chknown false def
|
||||||
|
graylevels 0 graynotdef put
|
||||||
|
graylevels 1 graynotdef put
|
||||||
|
} if
|
||||||
|
|
||||||
|
/chwid chknown
|
||||||
|
{FontDict 1 scalefont setfont chstring stringwidth pop}
|
||||||
|
{0}
|
||||||
|
ifelse def
|
||||||
|
} bind def
|
||||||
|
|
||||||
|
/CellSetup {
|
||||||
|
/gridwidth width margin 2 mul sub def
|
||||||
|
/gridheight height labelspace sub margin 2 mul sub def
|
||||||
|
/cellwidth gridwidth radix div def
|
||||||
|
/cellheight gridheight Entries radix div ceiling div def
|
||||||
|
|
||||||
|
cellwidth cellheight dtransform truncate exch truncate exch idtransform
|
||||||
|
/cellheight exch def
|
||||||
|
/cellwidth exch def
|
||||||
|
|
||||||
|
labelfont findfont 1 scalefont setfont
|
||||||
|
/LabelBBox currentfont /FontBBox get TransformBBox def
|
||||||
|
|
||||||
|
LabelBBox 2 0 Encoding {
|
||||||
|
scratchstring cvs stringwidth pop
|
||||||
|
2 copy lt {exch} if
|
||||||
|
pop
|
||||||
|
} forall put
|
||||||
|
|
||||||
|
/CellLabelSize
|
||||||
|
cellheight .20 mul cellwidth .90 mul LabelBBox BestFit
|
||||||
|
minsize max
|
||||||
|
maxsize min
|
||||||
|
def
|
||||||
|
zerocell CellOrigin cellheight add neg exch neg exch translate
|
||||||
|
} bind def
|
||||||
|
|
||||||
|
/FontSetup {
|
||||||
|
FontName findfont 1 scalefont setfont
|
||||||
|
/BBox currentfont /FontBBox get TransformBBox def
|
||||||
|
/PointSize cellheight .5 mul cellwidth .8 mul BBox BestFit def
|
||||||
|
BBox {PointSize mul} forall BBox astore pop
|
||||||
|
|
||||||
|
/xorigin cellwidth BBox BBoxWidth sub 2 div BBox LLx sub def
|
||||||
|
/yorigin cellheight BBox BBoxHeight sub 2 div BBox LLy sub def
|
||||||
|
} bind def
|
||||||
|
|
||||||
|
/BestFit {
|
||||||
|
/bbox exch def
|
||||||
|
bbox BBoxWidth div exch
|
||||||
|
bbox BBoxHeight div min
|
||||||
|
} bind def
|
||||||
|
|
||||||
|
/TransformBBox { % font bbox to user space
|
||||||
|
aload pop
|
||||||
|
currentfont /FontMatrix get dtransform 4 2 roll
|
||||||
|
currentfont /FontMatrix get dtransform 4 2 roll
|
||||||
|
4 array astore % should build user space bbox if all zeros
|
||||||
|
} bind def
|
||||||
|
|
||||||
|
/CellOrigin {
|
||||||
|
dup
|
||||||
|
exch radix mod cellwidth mul
|
||||||
|
exch radix idiv 1 add neg cellheight mul
|
||||||
|
} bind def
|
||||||
|
|
||||||
|
/CellOutline {
|
||||||
|
newpath
|
||||||
|
CellOrigin moveto
|
||||||
|
cellwidth 0 rlineto
|
||||||
|
0 cellheight rlineto
|
||||||
|
cellwidth neg 0 rlineto
|
||||||
|
closepath
|
||||||
|
} bind def
|
||||||
|
|
||||||
|
/LabelCell {
|
||||||
|
gsave
|
||||||
|
chcode CellOrigin translate
|
||||||
|
linewidth .5 mul setlinewidth
|
||||||
|
labelfont findfont CellLabelSize scalefont setfont
|
||||||
|
|
||||||
|
numbercell {
|
||||||
|
cellwidth .025 mul cellheight .05 mul moveto
|
||||||
|
chcode radix scratchstring cvrs show
|
||||||
|
} if
|
||||||
|
|
||||||
|
charwidth chknown and {
|
||||||
|
/wid chwid 0.0005 add scratchstring cvs 0 5 getinterval def
|
||||||
|
cellwidth wid stringwidth pop 1.10 mul sub cellheight .05 mul moveto
|
||||||
|
wid show
|
||||||
|
} if
|
||||||
|
|
||||||
|
longnames chknown not or {
|
||||||
|
cellwidth .025 mul
|
||||||
|
cellheight LabelBBox URy CellLabelSize mul sub .05 sub moveto
|
||||||
|
Encoding chcode get scratchstring cvs show
|
||||||
|
} if
|
||||||
|
|
||||||
|
axescount 1 ge chknown and { % gsave/grestore if not last
|
||||||
|
newpath
|
||||||
|
xorigin yorigin translate
|
||||||
|
|
||||||
|
BBox LLx 0 moveto % baseline
|
||||||
|
BBox URx 0 lineto stroke
|
||||||
|
|
||||||
|
axescount 2 ge { % vertical through current origin
|
||||||
|
0 BBox LLy moveto
|
||||||
|
0 BBox URy lineto stroke
|
||||||
|
} if
|
||||||
|
|
||||||
|
axescount 3 ge { % vertical through next origin
|
||||||
|
chwid PointSize mul BBox LLy
|
||||||
|
dtransform round exch round exch idtransform moveto
|
||||||
|
0 BBox BBoxHeight rlineto stroke
|
||||||
|
%chwid PointSize mul BBox URy lineto stroke
|
||||||
|
} if
|
||||||
|
} if
|
||||||
|
grestore
|
||||||
|
} bind def
|
||||||
|
|
||||||
|
/PlaceChar {
|
||||||
|
FontName findfont PointSize scalefont setfont
|
||||||
|
chcode CellOrigin moveto
|
||||||
|
xorigin yorigin rmoveto
|
||||||
|
( ) dup 0 chcode put show
|
||||||
|
} bind def
|
||||||
|
|
||||||
|
/LabelPage {
|
||||||
|
labelfont findfont labelspace .75 mul .75 mul 18 min scalefont setfont
|
||||||
|
0 labelspace .75 mul .25 mul moveto
|
||||||
|
FontName scratchstring cvs show
|
||||||
|
|
||||||
|
labelfont findfont labelspace .25 mul .75 mul 9 min scalefont setfont
|
||||||
|
0 gridheight neg moveto
|
||||||
|
0 labelspace .25 mul .75 mul neg rmoveto
|
||||||
|
Product show ( Version ) show Version show
|
||||||
|
( \() show Resolution scratchstring cvs show (dpi\)) show
|
||||||
|
|
||||||
|
gridwidth gridheight neg moveto
|
||||||
|
0 labelspace .25 mul .75 mul neg rmoveto
|
||||||
|
(size=, ) stringwidth pop neg 0 rmoveto
|
||||||
|
PointSize cvi scratchstring cvs stringwidth pop neg 0 rmoveto
|
||||||
|
(gray=, ) stringwidth pop neg 0 rmoveto
|
||||||
|
graynotdef scratchstring cvs stringwidth pop neg 0 rmoveto
|
||||||
|
(linewidth=) stringwidth pop neg 0 rmoveto
|
||||||
|
linewidth scratchstring cvs stringwidth pop neg 0 rmoveto
|
||||||
|
(size=) show PointSize cvi scratchstring cvs show (, ) show
|
||||||
|
(gray=) show graynotdef scratchstring cvs show (, ) show
|
||||||
|
(linewidth=) show linewidth scratchstring cvs show
|
||||||
|
} bind def
|
||||||
|
|
||||||
|
%
|
||||||
|
% Formatted dump of the encoded characters in a single font.
|
||||||
|
%
|
||||||
|
|
||||||
|
/PrintFont {
|
||||||
|
/saveobj save def
|
||||||
|
/FontName exch def
|
||||||
|
/FontDict FontName findfont def
|
||||||
|
/Encoding FontDict /Encoding get def
|
||||||
|
/Entries Encoding length def
|
||||||
|
|
||||||
|
CellSetup
|
||||||
|
FontSetup
|
||||||
|
LabelPage
|
||||||
|
zerocell 1 Entries 1 sub {
|
||||||
|
CharSetup
|
||||||
|
graylevels 0 get setgray
|
||||||
|
chcode CellOutline fill
|
||||||
|
graylevels 1 get setgray
|
||||||
|
LabelCell
|
||||||
|
PlaceChar
|
||||||
|
graylevels 2 get setgray
|
||||||
|
linewidth setlinewidth
|
||||||
|
chcode CellOutline stroke
|
||||||
|
} for
|
||||||
|
showpage
|
||||||
|
saveobj restore
|
||||||
|
} bind def
|
||||||
|
|
||||||
|
%
|
||||||
|
% Dump of all ROM and disk fonts - in alphabetical order.
|
||||||
|
%
|
||||||
|
|
||||||
|
/AllFonts {
|
||||||
|
/AllFontNames FontDirectory maxlength array def
|
||||||
|
AllFontNames 0 0 put
|
||||||
|
|
||||||
|
FontDirectory {pop AllFontNames Insert} forall
|
||||||
|
|
||||||
|
/filenameforall where {
|
||||||
|
pop
|
||||||
|
(fonts/*)
|
||||||
|
{(fonts/) search pop pop pop AllFontNames Insert}
|
||||||
|
200 string
|
||||||
|
filenameforall
|
||||||
|
} if
|
||||||
|
|
||||||
|
1 1 AllFontNames 0 get {
|
||||||
|
AllFontNames exch get cvn PrintFont
|
||||||
|
} for
|
||||||
|
} bind def
|
||||||
|
|
||||||
|
/Insert { % name in a sorted list
|
||||||
|
/List exch def
|
||||||
|
/Name exch 128 string cvs def
|
||||||
|
|
||||||
|
/Slot 1 def
|
||||||
|
List 0 get {
|
||||||
|
Name List Slot get le {exit} if
|
||||||
|
/Slot Slot 1 add def
|
||||||
|
} repeat
|
||||||
|
|
||||||
|
List 0 get -1 Slot {
|
||||||
|
dup List exch get
|
||||||
|
List 3 1 roll exch 1 add exch put
|
||||||
|
} for
|
||||||
|
List Slot Name put
|
||||||
|
List 0 List 0 get 1 add put
|
||||||
|
} bind def
|
||||||
|
|
||||||
16
postscript/prologues/ps.requests
Normal file
16
postscript/prologues/ps.requests
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
%
|
||||||
|
% Keywords begin with an @ in the first column. The value follows on the next
|
||||||
|
% line and includes everything up to next keyword line, except for comments
|
||||||
|
% which are lines that begin with % in the first column.
|
||||||
|
%
|
||||||
|
|
||||||
|
@manualfeed
|
||||||
|
statusdict begin
|
||||||
|
/manualfeedtimeout 300 def
|
||||||
|
/manualfeed true def
|
||||||
|
end
|
||||||
|
|
||||||
|
@ledgertray
|
||||||
|
statusdict begin
|
||||||
|
ledgertray
|
||||||
|
end
|
||||||
30
postscript/prologues/roundpage.ps
Normal file
30
postscript/prologues/roundpage.ps
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
%
|
||||||
|
% Tries to round clipping path dimensions, as stored in array pagebbox, so they
|
||||||
|
% match one of the known sizes in the papersizes array. Lower left coordinates
|
||||||
|
% are always set to 0.
|
||||||
|
%
|
||||||
|
|
||||||
|
/roundpagebbox {
|
||||||
|
7 dict begin
|
||||||
|
/papersizes [8.5 inch 11 inch 14 inch 17 inch] def
|
||||||
|
|
||||||
|
/mappapersize {
|
||||||
|
/val exch def
|
||||||
|
/slop .5 inch def
|
||||||
|
/diff slop def
|
||||||
|
/j 0 def
|
||||||
|
0 1 papersizes length 1 sub {
|
||||||
|
/i exch def
|
||||||
|
papersizes i get val sub abs
|
||||||
|
dup diff le {/diff exch def /j i def} {pop} ifelse
|
||||||
|
} for
|
||||||
|
diff slop lt {papersizes j get} {val} ifelse
|
||||||
|
} def
|
||||||
|
|
||||||
|
pagebbox 0 0 put
|
||||||
|
pagebbox 1 0 put
|
||||||
|
pagebbox dup 2 get mappapersize 2 exch put
|
||||||
|
pagebbox dup 3 get mappapersize 3 exch put
|
||||||
|
end
|
||||||
|
} bind def
|
||||||
|
|
||||||
30
postscript/prologues/set_ip.ps
Normal file
30
postscript/prologues/set_ip.ps
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
%!PS-Adobe-3.0
|
||||||
|
%% This file changes the IP Address on the Xante Accel-a-Writer
|
||||||
|
|
||||||
|
%%Setting the IP Address will restart the printer!!
|
||||||
|
|
||||||
|
%%Set The IP Address
|
||||||
|
%(%IP%) <</IPAddress (135.104.7.83)>> setdevparams
|
||||||
|
%(%IP%) <</NetworkMask (255.255.255.224)>> setdevparams
|
||||||
|
%(%IP%) <</BroadcastAddress (135.104.7.95)>> setdevparams
|
||||||
|
%(%IP%) <</GatewayAddress (0.0.0.0/135.104.7.65)>> setdevparams
|
||||||
|
%serverdict begin 0 exitserver
|
||||||
|
%systemdict /quit get exec
|
||||||
|
|
||||||
|
|
||||||
|
%% Print out the IP address
|
||||||
|
%%To print out the current IP Address, comment out the
|
||||||
|
%%above commands under Set The IP Address with a percent
|
||||||
|
%%sign. Uncomment the lines below by removing the leading % sign.
|
||||||
|
|
||||||
|
/Courier findfont 24 scalefont setfont
|
||||||
|
(%IP%) currentdevparams
|
||||||
|
72 72 moveto
|
||||||
|
/IPAddress get show
|
||||||
|
72 144 moveto
|
||||||
|
/NetworkMask get show
|
||||||
|
72 216 moveto
|
||||||
|
/BroadcastAddress get show
|
||||||
|
72 288 moveto
|
||||||
|
/GatewayAddress get show
|
||||||
|
showpage
|
||||||
52
postscript/prologues/shade.ps
Normal file
52
postscript/prologues/shade.ps
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
%
|
||||||
|
% Shading support - primarily for ASCII file translators.
|
||||||
|
%
|
||||||
|
|
||||||
|
/grays [0.98 0.9 0.75 0.6] def
|
||||||
|
|
||||||
|
/setshade {
|
||||||
|
/level exch def
|
||||||
|
level 0 le {
|
||||||
|
/textgray 0 def
|
||||||
|
/backgray 1 def
|
||||||
|
}{
|
||||||
|
/backgray level grays length gt
|
||||||
|
{/textgray 1 def 0}
|
||||||
|
{/textgray 0 def grays level 1 sub get}
|
||||||
|
ifelse def
|
||||||
|
} ifelse
|
||||||
|
textgray setgray
|
||||||
|
/dY1 0 def
|
||||||
|
/dY2 0 def
|
||||||
|
} bind def
|
||||||
|
|
||||||
|
/drawrvbox {
|
||||||
|
/x2 exch charwidth mul def
|
||||||
|
/x1 exch charwidth mul def
|
||||||
|
|
||||||
|
x1 x2 lt {
|
||||||
|
dup % expects y on top
|
||||||
|
/y1 exch linespace mul def
|
||||||
|
/y2 y1 def
|
||||||
|
|
||||||
|
dY1 0 eq dY2 0 eq and {
|
||||||
|
currentfont /FontBBox get aload pop
|
||||||
|
160 sub
|
||||||
|
currentfont /FontMatrix get dtransform /dY2 exch def pop
|
||||||
|
100 add
|
||||||
|
currentfont /FontMatrix get dtransform /dY1 exch def pop
|
||||||
|
} if
|
||||||
|
|
||||||
|
/y1 y1 dY1 add def
|
||||||
|
/y2 y2 dY2 add def
|
||||||
|
|
||||||
|
backgray setgray
|
||||||
|
newpath
|
||||||
|
x1 y1 moveto
|
||||||
|
x2 y1 lineto
|
||||||
|
x2 y2 lineto
|
||||||
|
x1 y2 lineto
|
||||||
|
closepath fill
|
||||||
|
} if
|
||||||
|
textgray setgray
|
||||||
|
} bind def
|
||||||
28
postscript/prologues/unbind.ps
Normal file
28
postscript/prologues/unbind.ps
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
%
|
||||||
|
% Unbind the operators in an executable array or packedarray. Leaves the
|
||||||
|
% unbound array or the original object on the stack.
|
||||||
|
%
|
||||||
|
|
||||||
|
/unbind {
|
||||||
|
0 index xcheck
|
||||||
|
1 index type /arraytype eq
|
||||||
|
2 index type /packedarraytype eq or and {
|
||||||
|
dup length array copy cvx
|
||||||
|
dup 0 exch {
|
||||||
|
dup type /operatortype eq {
|
||||||
|
( ) cvs cvn cvx
|
||||||
|
} if
|
||||||
|
|
||||||
|
0 index xcheck
|
||||||
|
1 index type /arraytype eq
|
||||||
|
2 index type /packedarraytype eq or and {
|
||||||
|
unbind
|
||||||
|
} if
|
||||||
|
|
||||||
|
3 copy put pop
|
||||||
|
1 add
|
||||||
|
} forall
|
||||||
|
pop
|
||||||
|
} if
|
||||||
|
} def
|
||||||
|
|
||||||
1
postscript/troff/AB
Normal file
1
postscript/troff/AB
Normal file
@@ -0,0 +1 @@
|
|||||||
|
0x0000 0x00ff AvantGarde-Demi
|
||||||
2
postscript/troff/AI
Normal file
2
postscript/troff/AI
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
0x0000 0x00ff AvantGarde-BookOblique
|
||||||
|
|
||||||
1
postscript/troff/AR
Normal file
1
postscript/troff/AR
Normal file
@@ -0,0 +1 @@
|
|||||||
|
0x0000 0x00ff AvantGarde-DemiOblique
|
||||||
11
postscript/troff/B
Normal file
11
postscript/troff/B
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
0x0000 0x00ff Times-Bold
|
||||||
|
0x0100 0x01ff LucidaSansUnicode01
|
||||||
|
0x0200 0x02ff LucidaSansUnicode02
|
||||||
|
0x0300 0x03ff LucidaSansUnicode03
|
||||||
|
0x0400 0x04ff LucidaSansUnicode04
|
||||||
|
0x0500 0x05ff LucidaSansUnicode05
|
||||||
|
0x2000 0x20ff LucidaSansUnicode20
|
||||||
|
0x2100 0x21ff LucidaSansUnicode21
|
||||||
|
0x2200 0x22ff LucidaSansUnicode22
|
||||||
|
0x2400 0x24ff LucidaSansUnicode24
|
||||||
|
0x2500 0x25ff LucidaSansUnicode25
|
||||||
11
postscript/troff/BI
Normal file
11
postscript/troff/BI
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
0x0000 0x00ff Times-BoldItalic
|
||||||
|
0x0100 0x01ff LucidaSansUnicode01
|
||||||
|
0x0200 0x02ff LucidaSansUnicode02
|
||||||
|
0x0300 0x03ff LucidaSansUnicode03
|
||||||
|
0x0400 0x04ff LucidaSansUnicode04
|
||||||
|
0x0500 0x05ff LucidaSansUnicode05
|
||||||
|
0x2000 0x20ff LucidaSansUnicode20
|
||||||
|
0x2100 0x21ff LucidaSansUnicode21
|
||||||
|
0x2200 0x22ff LucidaSansUnicode22
|
||||||
|
0x2400 0x24ff LucidaSansUnicode24
|
||||||
|
0x2500 0x25ff LucidaSansUnicode25
|
||||||
11
postscript/troff/C
Normal file
11
postscript/troff/C
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
0x0000 0x00ff Courier
|
||||||
|
0x0100 0x01ff LucidaSansUnicode01
|
||||||
|
0x0200 0x02ff LucidaSansUnicode02
|
||||||
|
0x0300 0x03ff LucidaSansUnicode03
|
||||||
|
0x0400 0x04ff LucidaSansUnicode04
|
||||||
|
0x0500 0x05ff LucidaSansUnicode05
|
||||||
|
0x2000 0x20ff LucidaSansUnicode20
|
||||||
|
0x2100 0x21ff LucidaSansUnicode21
|
||||||
|
0x2200 0x22ff LucidaSansUnicode22
|
||||||
|
0x2400 0x24ff LucidaSansUnicode24
|
||||||
|
0x2500 0x25ff LucidaSansUnicode25
|
||||||
1
postscript/troff/CB
Normal file
1
postscript/troff/CB
Normal file
@@ -0,0 +1 @@
|
|||||||
|
0x0000 0x00ff Courier-Bold
|
||||||
1
postscript/troff/CI
Normal file
1
postscript/troff/CI
Normal file
@@ -0,0 +1 @@
|
|||||||
|
0x0000 0x00ff Courier-Italic
|
||||||
11
postscript/troff/CW
Normal file
11
postscript/troff/CW
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
0x0000 0x00ff Courier
|
||||||
|
0x0100 0x01ff LucidaSansUnicode01
|
||||||
|
0x0200 0x02ff LucidaSansUnicode02
|
||||||
|
0x0300 0x03ff LucidaSansUnicode03
|
||||||
|
0x0400 0x04ff LucidaSansUnicode04
|
||||||
|
0x0500 0x05ff LucidaSansUnicode05
|
||||||
|
0x2000 0x20ff LucidaSansUnicode20
|
||||||
|
0x2100 0x21ff LucidaSansUnicode21
|
||||||
|
0x2200 0x22ff LucidaSansUnicode22
|
||||||
|
0x2400 0x24ff LucidaSansUnicode24
|
||||||
|
0x2500 0x25ff LucidaSansUnicode25
|
||||||
1
postscript/troff/CX
Normal file
1
postscript/troff/CX
Normal file
@@ -0,0 +1 @@
|
|||||||
|
0x0000 0x00ff Courier-BoldItalic
|
||||||
11
postscript/troff/H
Normal file
11
postscript/troff/H
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
0x0000 0x00ff Helvetica
|
||||||
|
0x0100 0x01ff LucidaSansUnicode01
|
||||||
|
0x0200 0x02ff LucidaSansUnicode02
|
||||||
|
0x0300 0x03ff LucidaSansUnicode03
|
||||||
|
0x0400 0x04ff LucidaSansUnicode04
|
||||||
|
0x0500 0x05ff LucidaSansUnicode05
|
||||||
|
0x2000 0x20ff LucidaSansUnicode20
|
||||||
|
0x2100 0x21ff LucidaSansUnicode21
|
||||||
|
0x2200 0x22ff LucidaSansUnicode22
|
||||||
|
0x2400 0x24ff LucidaSansUnicode24
|
||||||
|
0x2500 0x25ff LucidaSansUnicode25
|
||||||
11
postscript/troff/HB
Normal file
11
postscript/troff/HB
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
0x0000 0x00ff Helvetica-Bold
|
||||||
|
0x0100 0x01ff LucidaSansUnicode01
|
||||||
|
0x0200 0x02ff LucidaSansUnicode02
|
||||||
|
0x0300 0x03ff LucidaSansUnicode03
|
||||||
|
0x0400 0x04ff LucidaSansUnicode04
|
||||||
|
0x0500 0x05ff LucidaSansUnicode05
|
||||||
|
0x2000 0x20ff LucidaSansUnicode20
|
||||||
|
0x2100 0x21ff LucidaSansUnicode21
|
||||||
|
0x2200 0x22ff LucidaSansUnicode22
|
||||||
|
0x2400 0x24ff LucidaSansUnicode24
|
||||||
|
0x2500 0x25ff LucidaSansUnicode25
|
||||||
11
postscript/troff/HI
Normal file
11
postscript/troff/HI
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
0x0000 0x00ff Helvetica-Oblique
|
||||||
|
0x0100 0x01ff LucidaSansUnicode01
|
||||||
|
0x0200 0x02ff LucidaSansUnicode02
|
||||||
|
0x0300 0x03ff LucidaSansUnicode03
|
||||||
|
0x0400 0x04ff LucidaSansUnicode04
|
||||||
|
0x0500 0x05ff LucidaSansUnicode05
|
||||||
|
0x2000 0x20ff LucidaSansUnicode20
|
||||||
|
0x2100 0x21ff LucidaSansUnicode21
|
||||||
|
0x2200 0x22ff LucidaSansUnicode22
|
||||||
|
0x2400 0x24ff LucidaSansUnicode24
|
||||||
|
0x2500 0x25ff LucidaSansUnicode25
|
||||||
1
postscript/troff/HL
Normal file
1
postscript/troff/HL
Normal file
@@ -0,0 +1 @@
|
|||||||
|
0x0000 0x00ff Helvetica-Light
|
||||||
1
postscript/troff/HX
Normal file
1
postscript/troff/HX
Normal file
@@ -0,0 +1 @@
|
|||||||
|
0x0000 0x00ff Helvetica-Narrow-BoldOblique
|
||||||
11
postscript/troff/I
Normal file
11
postscript/troff/I
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
0x0000 0x00ff Times-Italic
|
||||||
|
0x0100 0x01ff LucidaSansUnicode01
|
||||||
|
0x0200 0x02ff LucidaSansUnicode02
|
||||||
|
0x0300 0x03ff LucidaSansUnicode03
|
||||||
|
0x0400 0x04ff LucidaSansUnicode04
|
||||||
|
0x0500 0x05ff LucidaSansUnicode05
|
||||||
|
0x2000 0x20ff LucidaSansUnicode20
|
||||||
|
0x2100 0x21ff LucidaSansUnicode21
|
||||||
|
0x2200 0x22ff LucidaSansUnicode22
|
||||||
|
0x2400 0x24ff LucidaSansUnicode24
|
||||||
|
0x2500 0x25ff LucidaSansUnicode25
|
||||||
1
postscript/troff/Jp
Normal file
1
postscript/troff/Jp
Normal file
@@ -0,0 +1 @@
|
|||||||
|
0x0000 0x0001 Times-Roman
|
||||||
1
postscript/troff/KB
Normal file
1
postscript/troff/KB
Normal file
@@ -0,0 +1 @@
|
|||||||
|
0x0000 0x00ff Bookman-Demi
|
||||||
1
postscript/troff/KI
Normal file
1
postscript/troff/KI
Normal file
@@ -0,0 +1 @@
|
|||||||
|
0x0000 0x00ff Bookman-LightItalic
|
||||||
1
postscript/troff/KR
Normal file
1
postscript/troff/KR
Normal file
@@ -0,0 +1 @@
|
|||||||
|
0x0000 0x00ff Bookman-Light
|
||||||
1
postscript/troff/KX
Normal file
1
postscript/troff/KX
Normal file
@@ -0,0 +1 @@
|
|||||||
|
0x0000 0x00ff Bookman-DemiItalic
|
||||||
1
postscript/troff/LucidaCW
Normal file
1
postscript/troff/LucidaCW
Normal file
@@ -0,0 +1 @@
|
|||||||
|
0x0000 0x00ff LucidaTypewriter
|
||||||
13
postscript/troff/LucidaSans
Normal file
13
postscript/troff/LucidaSans
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
0x0000 0x00ff LucidaSansUnicode00
|
||||||
|
0x0100 0x01ff LucidaSansUnicode01
|
||||||
|
0x0200 0x02ff LucidaSansUnicode02
|
||||||
|
0x0300 0x03ff LucidaSansUnicode03
|
||||||
|
0x0400 0x04ff LucidaSansUnicode04
|
||||||
|
0x0500 0x05ff LucidaSansUnicode05
|
||||||
|
0x2000 0x20ff LucidaSansUnicode20
|
||||||
|
0x2100 0x21ff LucidaSansUnicode21
|
||||||
|
0x2200 0x22ff LucidaSansUnicode22
|
||||||
|
0x2400 0x24ff LucidaSansUnicode24
|
||||||
|
0x2500 0x25ff LucidaSansUnicode25
|
||||||
|
0x0027 0x0027 0x19 LucidaSansUnicode20 # map apostrophe to right quote
|
||||||
|
0x0060 0x0060 0x18 LucidaSansUnicode20 # map grave to left quote
|
||||||
11
postscript/troff/LucidaSansB
Normal file
11
postscript/troff/LucidaSansB
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
0x0000 0x00ff LucidaSans-Demi
|
||||||
|
0x0100 0x01ff LucidaSansUnicode01
|
||||||
|
0x0200 0x02ff LucidaSansUnicode02
|
||||||
|
0x0300 0x03ff LucidaSansUnicode03
|
||||||
|
0x0400 0x04ff LucidaSansUnicode04
|
||||||
|
0x0500 0x05ff LucidaSansUnicode05
|
||||||
|
0x2000 0x20ff LucidaSansUnicode20
|
||||||
|
0x2100 0x21ff LucidaSansUnicode21
|
||||||
|
0x2200 0x22ff LucidaSansUnicode22
|
||||||
|
0x2400 0x24ff LucidaSansUnicode24
|
||||||
|
0x2500 0x25ff LucidaSansUnicode25
|
||||||
1
postscript/troff/LucidaSansCW
Normal file
1
postscript/troff/LucidaSansCW
Normal file
@@ -0,0 +1 @@
|
|||||||
|
0x0000 0x00ff LucidaSans-Typewriter
|
||||||
1
postscript/troff/LucidaSansCW83
Normal file
1
postscript/troff/LucidaSansCW83
Normal file
@@ -0,0 +1 @@
|
|||||||
|
0x0000 0x00ff LucidaSans-Typewriter83
|
||||||
11
postscript/troff/LucidaSansI
Normal file
11
postscript/troff/LucidaSansI
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
0x0000 0x00ff LucidaSans-Italic
|
||||||
|
0x0100 0x01ff LucidaSansUnicode01
|
||||||
|
0x0200 0x02ff LucidaSansUnicode02
|
||||||
|
0x0300 0x03ff LucidaSansUnicode03
|
||||||
|
0x0400 0x04ff LucidaSansUnicode04
|
||||||
|
0x0500 0x05ff LucidaSansUnicode05
|
||||||
|
0x2000 0x20ff LucidaSansUnicode20
|
||||||
|
0x2100 0x21ff LucidaSansUnicode21
|
||||||
|
0x2200 0x22ff LucidaSansUnicode22
|
||||||
|
0x2400 0x24ff LucidaSansUnicode24
|
||||||
|
0x2500 0x25ff LucidaSansUnicode25
|
||||||
1
postscript/troff/NB
Normal file
1
postscript/troff/NB
Normal file
@@ -0,0 +1 @@
|
|||||||
|
0x0000 0x00ff NewCenturySchlbk-Bold
|
||||||
1
postscript/troff/NI
Normal file
1
postscript/troff/NI
Normal file
@@ -0,0 +1 @@
|
|||||||
|
0x0000 0x00ff NewCenturySchlbk-Italic
|
||||||
1
postscript/troff/NR
Normal file
1
postscript/troff/NR
Normal file
@@ -0,0 +1 @@
|
|||||||
|
0x0000 0x00ff NewCenturySchlbk-Roman
|
||||||
1
postscript/troff/NX
Normal file
1
postscript/troff/NX
Normal file
@@ -0,0 +1 @@
|
|||||||
|
0x0000 0x00ff NewCenturySchlbk-BoldItalic
|
||||||
11
postscript/troff/PA
Normal file
11
postscript/troff/PA
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
0x0000 0x00ff Palatino-Roman
|
||||||
|
0x0100 0x01ff LucidaSansUnicode01
|
||||||
|
0x0200 0x02ff LucidaSansUnicode02
|
||||||
|
0x0300 0x03ff LucidaSansUnicode03
|
||||||
|
0x0400 0x04ff LucidaSansUnicode04
|
||||||
|
0x0500 0x05ff LucidaSansUnicode05
|
||||||
|
0x2000 0x20ff LucidaSansUnicode20
|
||||||
|
0x2100 0x21ff LucidaSansUnicode21
|
||||||
|
0x2200 0x22ff LucidaSansUnicode22
|
||||||
|
0x2400 0x24ff LucidaSansUnicode24
|
||||||
|
0x2500 0x25ff LucidaSansUnicode25
|
||||||
1
postscript/troff/PB
Normal file
1
postscript/troff/PB
Normal file
@@ -0,0 +1 @@
|
|||||||
|
0x0000 0x00ff Palatino-Bold
|
||||||
1
postscript/troff/PI
Normal file
1
postscript/troff/PI
Normal file
@@ -0,0 +1 @@
|
|||||||
|
0x0000 0x00ff Palatino-Italic
|
||||||
1
postscript/troff/PX
Normal file
1
postscript/troff/PX
Normal file
@@ -0,0 +1 @@
|
|||||||
|
0x0000 0x00ff Palatino-BoldItalic
|
||||||
11
postscript/troff/R
Normal file
11
postscript/troff/R
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
0x0000 0x00ff Times-Roman
|
||||||
|
0x0100 0x01ff LucidaSansUnicode01
|
||||||
|
0x0200 0x02ff LucidaSansUnicode02
|
||||||
|
0x0300 0x03ff LucidaSansUnicode03
|
||||||
|
0x0400 0x04ff LucidaSansUnicode04
|
||||||
|
0x0500 0x05ff LucidaSansUnicode05
|
||||||
|
0x2000 0x20ff LucidaSansUnicode20
|
||||||
|
0x2100 0x21ff LucidaSansUnicode21
|
||||||
|
0x2200 0x22ff LucidaSansUnicode22
|
||||||
|
0x2400 0x24ff LucidaSansUnicode24
|
||||||
|
0x2500 0x25ff LucidaSansUnicode25
|
||||||
11
postscript/troff/R.nomath
Normal file
11
postscript/troff/R.nomath
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
0x0000 0x00ff Times-Roman
|
||||||
|
0x0100 0x01ff LucidaSansUnicode01
|
||||||
|
0x0200 0x02ff LucidaSansUnicode02
|
||||||
|
0x0300 0x03ff LucidaSansUnicode03
|
||||||
|
0x0400 0x04ff LucidaSansUnicode04
|
||||||
|
0x0500 0x05ff LucidaSansUnicode05
|
||||||
|
0x2000 0x20ff LucidaSansUnicode20
|
||||||
|
0x2100 0x21ff LucidaSansUnicode21
|
||||||
|
0x2200 0x22ff LucidaSansUnicode22
|
||||||
|
0x2400 0x24ff LucidaSansUnicode24
|
||||||
|
0x2500 0x25ff LucidaSansUnicode25
|
||||||
11
postscript/troff/S
Normal file
11
postscript/troff/S
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
0x0000 0x00ff S
|
||||||
|
0x0100 0x01ff LucidaSansUnicode01
|
||||||
|
0x0200 0x02ff LucidaSansUnicode02
|
||||||
|
0x0300 0x03ff LucidaSansUnicode03
|
||||||
|
0x0400 0x04ff LucidaSansUnicode04
|
||||||
|
0x0500 0x05ff LucidaSansUnicode05
|
||||||
|
0x2000 0x20ff LucidaSansUnicode20
|
||||||
|
0x2100 0x21ff LucidaSansUnicode21
|
||||||
|
0x2200 0x22ff LucidaSansUnicode22
|
||||||
|
0x2400 0x24ff LucidaSansUnicode24
|
||||||
|
0x2500 0x25ff LucidaSansUnicode25
|
||||||
11
postscript/troff/S1
Normal file
11
postscript/troff/S1
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
0x0000 0x00ff S1
|
||||||
|
0x0100 0x01ff LucidaSansUnicode01
|
||||||
|
0x0200 0x02ff LucidaSansUnicode02
|
||||||
|
0x0300 0x03ff LucidaSansUnicode03
|
||||||
|
0x0400 0x04ff LucidaSansUnicode04
|
||||||
|
0x0500 0x05ff LucidaSansUnicode05
|
||||||
|
0x2000 0x20ff LucidaSansUnicode20
|
||||||
|
0x2100 0x21ff LucidaSansUnicode21
|
||||||
|
0x2200 0x22ff LucidaSansUnicode22
|
||||||
|
0x2400 0x24ff LucidaSansUnicode24
|
||||||
|
0x2500 0x25ff LucidaSansUnicode25
|
||||||
1
postscript/troff/Syntax
Normal file
1
postscript/troff/Syntax
Normal file
@@ -0,0 +1 @@
|
|||||||
|
0x0000 0x00ff Syntax-Roman
|
||||||
1
postscript/troff/SyntaxB
Normal file
1
postscript/troff/SyntaxB
Normal file
@@ -0,0 +1 @@
|
|||||||
|
0x0000 0x00ff Syntax-Bold
|
||||||
1
postscript/troff/SyntaxI
Normal file
1
postscript/troff/SyntaxI
Normal file
@@ -0,0 +1 @@
|
|||||||
|
0x0000 0x00ff Syntax-Italic
|
||||||
1
postscript/troff/ZD
Normal file
1
postscript/troff/ZD
Normal file
@@ -0,0 +1 @@
|
|||||||
|
0x0000 0x00ff ZapfDingbats
|
||||||
11
postscript/troff/ZI
Normal file
11
postscript/troff/ZI
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
0x0000 0x00ff ZapfChancery-MediumItalic
|
||||||
|
0x0100 0x01ff LucidaSansUnicode01
|
||||||
|
0x0200 0x02ff LucidaSansUnicode02
|
||||||
|
0x0300 0x03ff LucidaSansUnicode03
|
||||||
|
0x0400 0x04ff LucidaSansUnicode04
|
||||||
|
0x0500 0x05ff LucidaSansUnicode05
|
||||||
|
0x2000 0x20ff LucidaSansUnicode20
|
||||||
|
0x2100 0x21ff LucidaSansUnicode21
|
||||||
|
0x2200 0x22ff LucidaSansUnicode22
|
||||||
|
0x2400 0x24ff LucidaSansUnicode24
|
||||||
|
0x2500 0x25ff LucidaSansUnicode25
|
||||||
5
tmac/complet.1127
Normal file
5
tmac/complet.1127
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
Executive Director 112
|
||||||
|
Directors 112
|
||||||
|
Department Heads 1127
|
||||||
|
A. N. Netravali
|
||||||
|
|
||||||
3
tmac/cover.1127
Normal file
3
tmac/cover.1127
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
Arun Netravali
|
||||||
|
Department Heads 1121, 1127
|
||||||
|
D. Dinella
|
||||||
4
tmac/name.sed
Normal file
4
tmac/name.sed
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
s/\([A-Z]\)\./\1/g
|
||||||
|
s/\([A-Z]\)[a-z]*/\1/g
|
||||||
|
s/ //g
|
||||||
|
s/^/.ds T1 /
|
||||||
5
tmac/sendcover
Normal file
5
tmac/sendcover
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
#!/bin/rc
|
||||||
|
T=/tmp/cs$pid
|
||||||
|
cstrans $T $1
|
||||||
|
rc $T
|
||||||
|
rm $T
|
||||||
61
tmac/strings.mm
Normal file
61
tmac/strings.mm
Normal file
@@ -0,0 +1,61 @@
|
|||||||
|
'\" Copyright (c) 1997 Lucent
|
||||||
|
'\" All Rights Reserved
|
||||||
|
'\"
|
||||||
|
'\"#ident "@(#)macros:strings.mm 3.1"
|
||||||
|
'\" UNIX Memorandum Macros, DWB 3.1, April 1990
|
||||||
|
'\" Company-specifics: Lucent Bell Laboratories
|
||||||
|
'''\" '''\"tab begins comments.
|
||||||
|
'''\" No comments should appear on the same line as the string definition.
|
||||||
|
'''\"
|
||||||
|
'''\" The following string is used by the macro MT.
|
||||||
|
'''\" ]S defined as logo character
|
||||||
|
.ds ]S \s36\(LH\s0
|
||||||
|
'''\" }Z defined as Company Name
|
||||||
|
.ds }Z Lucent Bell Laboratories
|
||||||
|
'''\"
|
||||||
|
'''\" Strings for proprietary markings at bottom of page.
|
||||||
|
'''\" Free Strings: ]Q ]R ]H ]L ]V ]W ]X ]k ]l
|
||||||
|
'''\"
|
||||||
|
'''\" Register ;V = user-specified year for copyright date
|
||||||
|
.nr ;V \n(yr
|
||||||
|
'''\" LUCENT PROPRIETARY MARKINGS
|
||||||
|
'''\" The following strings are used by the macro PM:
|
||||||
|
'''\"
|
||||||
|
'''\" Marking Type: PROPRIETARY
|
||||||
|
'''\" Invocation: .PM 1 or .PM P
|
||||||
|
'''\" Strings: ]M ]O
|
||||||
|
.ds ]M \f2LUCENT \- PROPRIETARY\fP
|
||||||
|
.ds ]O \f1Use pursuant to Company Instructions.\fP
|
||||||
|
'''\"
|
||||||
|
'''\" Marking Type: RESTRICTED
|
||||||
|
'''\" Invocation: .PM 2 or .PM RS
|
||||||
|
'''\" Strings: ]A ]F ]G
|
||||||
|
.ds ]A \f2LUCENT \- PROPRIETARY (RESTRICTED)\fP
|
||||||
|
.ds ]F \f1Solely for authorized persons having a need to know
|
||||||
|
.ds ]G pursuant to Company Instructions.\fP
|
||||||
|
'''\"
|
||||||
|
'''\" Marking Type: REGISTERED
|
||||||
|
'''\" Invocation: .PM 3 or .PM RG
|
||||||
|
'''\" Strings: ]I ]J ]K
|
||||||
|
.ds ]I \f2LUCENT \- PROPRIETARY (REGISTERED)\fP
|
||||||
|
.ds ]J \f1Solely for authorized persons having a need to know
|
||||||
|
.ds ]K and subject to cover sheet instructions.\fP
|
||||||
|
'''\"
|
||||||
|
'''\" Marking Type: SEE COVER PAGE
|
||||||
|
'''\" Invocation: .PM 4 or .PM CP
|
||||||
|
'''\" Strings: ]U
|
||||||
|
.ds ]U \f1SEE PROPRIETARY NOTICE ON COVER PAGE\fP
|
||||||
|
'''\"
|
||||||
|
'''\" Marking Type: COPYRIGHT
|
||||||
|
'''\" Invocation: .PM 5 or .PM CR
|
||||||
|
'''\" Strings: ]i ]j
|
||||||
|
.ds ]i \f1Copyright \(co 20\\n(;V Lucent\fP
|
||||||
|
.ds ]j \f1All Rights Reserved.\fP
|
||||||
|
'''\"
|
||||||
|
'''\" Marking Type: UNPUBLISHED WORK
|
||||||
|
'''\" Invocation: .PM 6 or .PM UW
|
||||||
|
'''\" Strings: ]M ]m ]o ]p ]i ]q ]j
|
||||||
|
.ds ]m \f1THIS DOCUMENT CONTAINS PROPRIETARY INFORMATION OF
|
||||||
|
.ds ]o LUCENT AND IS NOT TO BE DISCLOSED OR USED EXCEPT IN
|
||||||
|
.ds ]p ACCORDANCE WITH APPLICABLE AGREEMENTS.\fP
|
||||||
|
.ds ]q \f1Unpublished & Not for Publication\fP
|
||||||
524
tmac/tmac.an
Normal file
524
tmac/tmac.an
Normal file
@@ -0,0 +1,524 @@
|
|||||||
|
.fp 1 R LucidaSans
|
||||||
|
.fp 2 I LucidaSansI
|
||||||
|
.fp 3 B LucidaSansB
|
||||||
|
.fp 5 L LucidaCW
|
||||||
|
.if n .uf 4
|
||||||
|
.if n .bd 3
|
||||||
|
.if n .rm bd
|
||||||
|
'''\" PWB Manual Entry Macros - 1.36 of 11/11/80
|
||||||
|
'''\" Nroff/Troff Version @(#)1.36
|
||||||
|
'''\" Option -rs1 short (9") pages
|
||||||
|
'''\" Option -rp# set no. of first page, put no. of pgs. on stderr
|
||||||
|
'''\" Option -rd1 give modified date instead of printed date
|
||||||
|
... temporary fixes for neat manual printing...
|
||||||
|
.deth
|
||||||
|
.tmwrong version of man entry macros - use -man6
|
||||||
|
.ab
|
||||||
|
..
|
||||||
|
.ifn .ds Tm \uTM\d
|
||||||
|
.ift .ds Tm \v'-0.5m'\s-4TM\s+4\v'0.5m'
|
||||||
|
.de}E
|
||||||
|
.}f
|
||||||
|
.in\\n()Ru+\\n(INu
|
||||||
|
.ll\\n(LLu
|
||||||
|
.lt\\n(LLu
|
||||||
|
.pl\\n()Lu
|
||||||
|
..
|
||||||
|
.deDT
|
||||||
|
.ift .ta 3.6m 7.2m 10.8m 14.4m 18m 21.6m 25.2m 28.8m 32.4m 36m 39.6m 43.2m 46.8m
|
||||||
|
.ifn .ta 5n 10n 15n 20n 25n 30n 35n 40n 45n 50n 55n 60n 65n
|
||||||
|
..
|
||||||
|
.de HY
|
||||||
|
.hy14
|
||||||
|
..
|
||||||
|
.de}f
|
||||||
|
.ift .vs \\n()Vp
|
||||||
|
.ps\\n()S
|
||||||
|
.ft1
|
||||||
|
..
|
||||||
|
.de}H
|
||||||
|
.ev1
|
||||||
|
.}C
|
||||||
|
.}E
|
||||||
|
.ie\\n()s 'sp |2v
|
||||||
|
.el'sp |3v
|
||||||
|
.".ps\\n()S-1
|
||||||
|
.tl \\*(]H\\*(]L\\*(]H
|
||||||
|
.ft1
|
||||||
|
.ps\\n()S
|
||||||
|
.ie\\n()s 'sp 1.5v
|
||||||
|
.el'sp 3v
|
||||||
|
.ev
|
||||||
|
.ns
|
||||||
|
.if \\n(CL .2C
|
||||||
|
..
|
||||||
|
.de}F
|
||||||
|
.ev1
|
||||||
|
.}E
|
||||||
|
.if\\n()s 'sp |\\n(.pu-1v-1p
|
||||||
|
.if\\n()t 'sp |\\n(.pu-3v
|
||||||
|
.ifn 'sp |\\n(.pu-4v
|
||||||
|
.ifn .tl Page %\\*(]D\\*(]W
|
||||||
|
.ift .tl %
|
||||||
|
.ev
|
||||||
|
'bp
|
||||||
|
..
|
||||||
|
.ifn .ig
|
||||||
|
.de}C
|
||||||
|
.if "\\*(.T"aps"\{\
|
||||||
|
. po0i
|
||||||
|
. lt7.5i
|
||||||
|
. if\\n()s .tl \l0.25i\l0.25i\h1i\l0.25i
|
||||||
|
. if\\n()t .tl \l0.25i\l0.25i
|
||||||
|
. lt
|
||||||
|
. po\}
|
||||||
|
..
|
||||||
|
.de}M
|
||||||
|
.}N
|
||||||
|
.wh-.5p }C
|
||||||
|
.ll\\n(LLu
|
||||||
|
.}P
|
||||||
|
..
|
||||||
|
.de}K
|
||||||
|
.}N
|
||||||
|
.pl1
|
||||||
|
.ll\\n(LLu
|
||||||
|
..
|
||||||
|
.de}P
|
||||||
|
.nr )P \\n%+1-\\np
|
||||||
|
.if \\nq .tm \\n(.F \\n()P \\np
|
||||||
|
.bp
|
||||||
|
.if \\nq .nr p \\n%
|
||||||
|
..
|
||||||
|
.deTH
|
||||||
|
.PD
|
||||||
|
.nrIN \\n()Mu
|
||||||
|
.ift .ds ]H \\$1\^(\^\\$2\^)
|
||||||
|
.ifn .ds ]H \\$1(\\$2)
|
||||||
|
.if\\n()s .ds ]D
|
||||||
|
.if\\n()t .ds ]D Plan 9
|
||||||
|
.ifn .ds ]D Plan 9
|
||||||
|
.ds]L
|
||||||
|
.if!\\$3 .ds ]L (\^\\$3\^)
|
||||||
|
.if!\\$4 .ds ]D \\$4
|
||||||
|
.wh0 }H
|
||||||
|
.wh-\\n(:mu }F
|
||||||
|
.em}M
|
||||||
|
.if\\n(nl .}P
|
||||||
|
.nr)I \\n()Mu
|
||||||
|
.nr)R 0
|
||||||
|
.}E
|
||||||
|
.DT
|
||||||
|
.ifn \{.na
|
||||||
|
.nh\}
|
||||||
|
.ift \{.bd S 3 3
|
||||||
|
.HY \}
|
||||||
|
\Xhtml <B>
|
||||||
|
\Xhtml [<A HREF="/sys/man/index.html">manual index</A>]
|
||||||
|
\Xhtml [<A HREF="/sys/man/\\$2/INDEX.html">section index</A>]
|
||||||
|
\Xhtml </B>
|
||||||
|
..
|
||||||
|
.deSH
|
||||||
|
.PD
|
||||||
|
.}X 0 "\\$1"
|
||||||
|
.nr)E 2
|
||||||
|
\&\Xhtml <H4>\\$1 \|\\$2 \|\\$3 \|\\$4 \|\\$5 \|\\$6\Xhtml </H4>
|
||||||
|
..
|
||||||
|
.deSS
|
||||||
|
.PD
|
||||||
|
.}X 3n "" ""
|
||||||
|
.nr)E 2
|
||||||
|
\Xhtml <H4>\&\\$1 \|\\$2 \|\\$3 \|\\$4 \|\\$5 \|\\$6\Xhtml </H4>
|
||||||
|
..
|
||||||
|
.de}X
|
||||||
|
.}E
|
||||||
|
.ti\\$1
|
||||||
|
.sp\\n(PDu
|
||||||
|
.ne1.1v
|
||||||
|
.nr)R 0
|
||||||
|
.fi
|
||||||
|
'''ss12
|
||||||
|
'''if\\$2SYNOPSIS .ss 18
|
||||||
|
.it1 }N
|
||||||
|
.if!\\$3 .SM
|
||||||
|
.ft 3
|
||||||
|
..
|
||||||
|
.de}2
|
||||||
|
.nr)E 0
|
||||||
|
.}E
|
||||||
|
.nr)I \\n()Mu
|
||||||
|
.ns
|
||||||
|
.ft1
|
||||||
|
..
|
||||||
|
.deSM
|
||||||
|
.nh
|
||||||
|
.ps\\n()S-1
|
||||||
|
.if!\\$1 \&\\$1
|
||||||
|
.if!\\$2 \&\\$2
|
||||||
|
.if!\\$3 \&\\$3
|
||||||
|
.if!\\$4 \&\\$4
|
||||||
|
.if!\\$5 \&\\$5
|
||||||
|
.if!\\$6 \&\\$6
|
||||||
|
.if!\\$1 .ps \\n()S
|
||||||
|
.if\\$1 .it 1 }N
|
||||||
|
.HY
|
||||||
|
..
|
||||||
|
.deI
|
||||||
|
.nh
|
||||||
|
.ft2
|
||||||
|
.it1 }N
|
||||||
|
.if!\\$1 \&\\$1 \\$2 \\$3 \\$4 \\$5 \\$6
|
||||||
|
.HY
|
||||||
|
..
|
||||||
|
.deB
|
||||||
|
.nh
|
||||||
|
.it1 }N
|
||||||
|
.ie!\\$1 \%\&\f5\\$1 \\$2 \\$3 \\$4 \\$5 \\$6
|
||||||
|
.el .ft5
|
||||||
|
.HY
|
||||||
|
..
|
||||||
|
.deL
|
||||||
|
.nh
|
||||||
|
.it1 }N
|
||||||
|
.ift \{.ie!\\$1 \%\&\f5\\$1 \\$2 \\$3 \\$4 \\$5 \\$6
|
||||||
|
.el .ft5 \}
|
||||||
|
.ifn \{.ft5
|
||||||
|
.if!\\$1 \{.ie\\$2 `\\$1'
|
||||||
|
.el .ie\\$3 `\\$1 \\$2'
|
||||||
|
.el .ie\\$4 `\\$1 \\$2 \\$3'
|
||||||
|
.el .ie\\$5 `\\$1 \\$2 \\$3 \\$4'
|
||||||
|
.el .ie\\$6 `\\$1 \\$2 \\$3 \\$4 \\$5'
|
||||||
|
.el `\\$1 \\$2 \\$3 \\$4 \\$5 \\$6'\}\}
|
||||||
|
.HY
|
||||||
|
..
|
||||||
|
.deRI
|
||||||
|
.nh
|
||||||
|
.}S 1 2 \& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
|
||||||
|
.HY
|
||||||
|
.}f
|
||||||
|
..
|
||||||
|
.deIR
|
||||||
|
.nh
|
||||||
|
.}S 2 1 \& "\Xhtml manref start \\$1 \\$2\\$1" "\\$2\Xhtml manref end \\$1 \\$2" "\\$3" "\\$4" "\\$5" "\\$6"
|
||||||
|
.HY
|
||||||
|
.}f
|
||||||
|
..
|
||||||
|
.deIB
|
||||||
|
.nh
|
||||||
|
.ift .}S 2 5 \%\& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
|
||||||
|
.ifn .}S 2 1 \%\& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
|
||||||
|
.HY
|
||||||
|
.}f
|
||||||
|
..
|
||||||
|
.deRB
|
||||||
|
.nh
|
||||||
|
.ift .}S 1 5 \%\& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
|
||||||
|
.ifn .}S 1 1 \%\& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
|
||||||
|
.HY
|
||||||
|
.}f
|
||||||
|
..
|
||||||
|
.deBR
|
||||||
|
.nh
|
||||||
|
.ift .}S 5 1 \%\& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
|
||||||
|
.ifn .}S 1 1 \%\& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
|
||||||
|
.HY
|
||||||
|
.}f
|
||||||
|
..
|
||||||
|
.deBI
|
||||||
|
.nh
|
||||||
|
.ift .}S 5 2 \%\& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
|
||||||
|
.ifn .}S 1 2 \%\& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
|
||||||
|
.HY
|
||||||
|
.}f
|
||||||
|
..
|
||||||
|
.de LR
|
||||||
|
.nh
|
||||||
|
.ift \%\&\f5\\$1\f1\\$2
|
||||||
|
.ifn \%`\\$1'\\$2
|
||||||
|
.HY
|
||||||
|
..
|
||||||
|
.de RL
|
||||||
|
.nh
|
||||||
|
.ift \%\&\f1\\$1\\f5\\$2\\f1\\$3
|
||||||
|
.ifn \%\\$1`\\$2'\\$3
|
||||||
|
.HY
|
||||||
|
..
|
||||||
|
.de}S
|
||||||
|
.ds]F
|
||||||
|
.if\\$12 .if !\\$5 .ds ]F \^
|
||||||
|
.if\\$22 .if !\\$5 .ds ]F \^
|
||||||
|
.ie!\\$4 .}S \\$2 \\$1 "\\$3\f\\$1\\$4\\*(]F" "\\$5" "\\$6" "\\$7" "\\$8" "\\$9"
|
||||||
|
.el\\$3
|
||||||
|
.}f
|
||||||
|
..
|
||||||
|
.deEX
|
||||||
|
.ift .ft5
|
||||||
|
.nf
|
||||||
|
..
|
||||||
|
.deEE
|
||||||
|
.ft1
|
||||||
|
.fi
|
||||||
|
..
|
||||||
|
.de}p
|
||||||
|
.sp\\n(PDu
|
||||||
|
.ne1.1v
|
||||||
|
.}E
|
||||||
|
.nr)I \\n()Mu
|
||||||
|
.ns
|
||||||
|
..
|
||||||
|
.dePP \"indirect PP so we can attach html - see tmac.anhtml
|
||||||
|
.}p
|
||||||
|
..
|
||||||
|
.deP
|
||||||
|
.PP
|
||||||
|
..
|
||||||
|
.deLP
|
||||||
|
.PP
|
||||||
|
..
|
||||||
|
.dePD
|
||||||
|
.ift .nr PD .4v
|
||||||
|
.ifn .nr PD 1v
|
||||||
|
.if!\\$1 .nr PD \\$1v
|
||||||
|
..
|
||||||
|
.deHP
|
||||||
|
.sp\\n(PDu
|
||||||
|
.ne1.1v
|
||||||
|
.if!\\$1 .nr )I \\$1n
|
||||||
|
.ll\\n(LLu
|
||||||
|
.in\\n()Ru+\\n(INu+\\n()Iu
|
||||||
|
.ti\\n()Ru+\\n(INu
|
||||||
|
.}f
|
||||||
|
..
|
||||||
|
.deIP
|
||||||
|
.ie!\\$1 \{.TP "\\$2"
|
||||||
|
\&\\$1\}
|
||||||
|
.el\{.sp\\n(PDu
|
||||||
|
.ne1.1v
|
||||||
|
.if!\\$2 .nr )I \\$2n
|
||||||
|
.}f
|
||||||
|
.ll\\n(LLu
|
||||||
|
.in\\n()Ru+\\n(INu+\\n()Iu
|
||||||
|
.lg\}
|
||||||
|
..
|
||||||
|
.deTP
|
||||||
|
.if!\\$1 \{.nr )I \\$1n
|
||||||
|
.if\\$10 .nr )I \\n()M\}
|
||||||
|
.sp\\n(PDu
|
||||||
|
.ne1.1v
|
||||||
|
.in\\n()Ru
|
||||||
|
.lg0
|
||||||
|
.ns
|
||||||
|
.it1 }N
|
||||||
|
.nr)E 1
|
||||||
|
.di]B
|
||||||
|
..
|
||||||
|
.deTF
|
||||||
|
.IP "" "\w'\f5\\$1\ \ \fP'u"
|
||||||
|
.PD0
|
||||||
|
..
|
||||||
|
.de}1
|
||||||
|
.ds]X \&\\*(]B\\
|
||||||
|
.rm]B
|
||||||
|
.nr)E 0
|
||||||
|
.if!\\$1 .nr )I \\$1n
|
||||||
|
.}f
|
||||||
|
.ll\\n(LLu
|
||||||
|
.in\\n()Ru+\\n(INu+\\n()Iu
|
||||||
|
.ti\\n(INu
|
||||||
|
.ie!\\n()Iu+\\n()Ru-\w\\*(]Xu-3p \{\\*(]X
|
||||||
|
.br\}
|
||||||
|
.el\\*(]X\h|\\n()Iu+\\n()Ru\c
|
||||||
|
.}f
|
||||||
|
.lg
|
||||||
|
..
|
||||||
|
.de}N
|
||||||
|
.if\\n()E .br
|
||||||
|
.if\\n()E1 .di
|
||||||
|
.if\\n()E0 .}f
|
||||||
|
.if\\n()E1 .}1
|
||||||
|
.if\\n()E2 .}2
|
||||||
|
..
|
||||||
|
.deRS
|
||||||
|
.nr]\\n+()p \\n()I
|
||||||
|
.nr)\\n()p \\n()R
|
||||||
|
.ie!\\$1 .nr )R +\\$1n
|
||||||
|
.el.nr )R +\\n()I
|
||||||
|
.nr)I \\n()Mu
|
||||||
|
.}E
|
||||||
|
..
|
||||||
|
.deRE
|
||||||
|
.if!\\$1 \{.ie \\$10 .nr )p 1 1
|
||||||
|
.el.nr )p \\$1 1 \}
|
||||||
|
.ds]i \\*(]I\\n()p
|
||||||
|
.ds]r \\*(]R\\n()p
|
||||||
|
.nr)I \\*(]i
|
||||||
|
.nr)R \\*(]r
|
||||||
|
.if\\n()p .nr )p -1
|
||||||
|
.}E
|
||||||
|
..
|
||||||
|
'''\" .2C begin 2-column display, by diversion
|
||||||
|
'''\" CC=amount of text that will fit on page
|
||||||
|
'''\" CL=1 multicolumn in effect, else 0
|
||||||
|
'''\" CI saved indent
|
||||||
|
'''\" CB contains diverted text
|
||||||
|
.de 2C
|
||||||
|
.ne 2
|
||||||
|
.nf
|
||||||
|
.nr CC \\n(.t/1v*2v
|
||||||
|
.nr CI \\n(IN
|
||||||
|
.nr IN 0
|
||||||
|
.di CB
|
||||||
|
.nr CL 1
|
||||||
|
.}E
|
||||||
|
.dt \\n(CCu C1
|
||||||
|
..
|
||||||
|
'''\" .1C return to 1-column
|
||||||
|
.de 1C
|
||||||
|
.nr CL 0
|
||||||
|
.C1
|
||||||
|
.fi
|
||||||
|
..
|
||||||
|
'''\" end of diversion, at end of page or return to 1-column
|
||||||
|
'''\" CC=pos of nominal column end
|
||||||
|
.de C1
|
||||||
|
.dt
|
||||||
|
\!.C3
|
||||||
|
.di
|
||||||
|
.if \\n(dn \{.nr CC \\n(dnu/2u+\\n(nlu
|
||||||
|
.wh \\n(CCu C2
|
||||||
|
.mk
|
||||||
|
.nf
|
||||||
|
.nr IN \\n(CIu
|
||||||
|
.}E
|
||||||
|
.CB \}
|
||||||
|
..
|
||||||
|
'''\" end of first column retrieved from diversion
|
||||||
|
'''\" CC=pos of actual column end
|
||||||
|
.de C2
|
||||||
|
.wh \\n(CCu
|
||||||
|
.mk CC
|
||||||
|
.po +(\\n(LLu/2u)u
|
||||||
|
.rt
|
||||||
|
.if \\n(dn>1v .ns
|
||||||
|
..
|
||||||
|
'''\" end of second column
|
||||||
|
.de C3
|
||||||
|
.br
|
||||||
|
.po -(\\n(LLu/2u)u
|
||||||
|
.if \\n(CC>\\n(nl .sp |\\n(CCu
|
||||||
|
.ne 2
|
||||||
|
..
|
||||||
|
.dePM
|
||||||
|
.if\\$1 .nr !K 0
|
||||||
|
.if\w\\$1 \{\
|
||||||
|
.ie\\$1P .nr !K 1
|
||||||
|
.el.ie \\$1BP .nr !K 3
|
||||||
|
.el.ie \\$1BR .nr !K 4
|
||||||
|
.el.nr !K 2 \}
|
||||||
|
.if\\n(!K .wh -(\\n(:mu+5v) )G
|
||||||
|
..
|
||||||
|
.de)G
|
||||||
|
.if\\n(!K 'sp 2v
|
||||||
|
.ie\\n(!K=1 \{\
|
||||||
|
.iet .bd1 3
|
||||||
|
.el.bd1 0
|
||||||
|
.tlPRIVATE
|
||||||
|
.bd1
|
||||||
|
.tlThis information should not be disclosed to unauthorized persons.
|
||||||
|
.tlIt is meant solely for use by authorized Bell System employees. \}
|
||||||
|
.el.ie \\n(!K=3 \{\
|
||||||
|
.iet .bd1 3
|
||||||
|
.el.bd1 0
|
||||||
|
.tlBELL LABORATORIES PROPRIETARY
|
||||||
|
.bd1
|
||||||
|
.tlNot for use or disclosure outside Bell Laboratories except by
|
||||||
|
.tlwritten approval of the director of the distributing organization. \}
|
||||||
|
.el.ie \\n(!K=4 \{\
|
||||||
|
.iet .bd1 3
|
||||||
|
.el.bd1 0
|
||||||
|
.tlBELL LABORATORIES RESTRICTED
|
||||||
|
.bd1
|
||||||
|
.tlThe information herein is meant solely for use by authorized
|
||||||
|
.tlBell Laboratories employees and is not to be disclosed to others. \}
|
||||||
|
.el.if \\n(!K=2 \{\
|
||||||
|
.iet .bd1 3
|
||||||
|
.el.bd1 0
|
||||||
|
.tlNOTICE
|
||||||
|
.bd1
|
||||||
|
.tlNot for use or disclosure outside the
|
||||||
|
.tlBell System except under written agreement. \}
|
||||||
|
..
|
||||||
|
.nr)s 0
|
||||||
|
.ift .if \ns .nr )s 1
|
||||||
|
.nr)t 0
|
||||||
|
.ift .if !\ns .nr )t 1
|
||||||
|
.if\n()s \{.nr )L 9i
|
||||||
|
.nrLL 4.75i
|
||||||
|
.nr)O .75i
|
||||||
|
.nr)S 8
|
||||||
|
.nr)V 9 \}
|
||||||
|
.if\n()t \{.nr )L 11i
|
||||||
|
.nrLL 6.5i
|
||||||
|
.nr)O 1i
|
||||||
|
.nr)S 9
|
||||||
|
.nr)V 11 \}
|
||||||
|
.ift \{.ds R ®
|
||||||
|
.dsS \s\n()S
|
||||||
|
..\}
|
||||||
|
.ifn \{.nr )L 11i
|
||||||
|
.nrLL 6.5i
|
||||||
|
.nr)O .463i
|
||||||
|
.if '\*(.T'think' \{.nrLL 80n
|
||||||
|
.nr)O 0\}
|
||||||
|
.if '\*(.T'thinksmall' \{.nrLL 142n
|
||||||
|
.vs 9p
|
||||||
|
.nr)O 0\}
|
||||||
|
.dsR (Reg.)
|
||||||
|
.dsS
|
||||||
|
..\}
|
||||||
|
.if\nT .nr LL 80n
|
||||||
|
.if\nV>1 \{
|
||||||
|
.nrLL 82n
|
||||||
|
.nr)L 84v
|
||||||
|
.rmul \}
|
||||||
|
.nr)p 0 1
|
||||||
|
.ds]I \\\\n(]
|
||||||
|
.ds]R \\\\n()
|
||||||
|
.if\nd0 .nr m \n(mo-1
|
||||||
|
.if\nm0 .ds ]m January
|
||||||
|
.if\nm1 .ds ]m February
|
||||||
|
.if\nm2 .ds ]m March
|
||||||
|
.if\nm3 .ds ]m April
|
||||||
|
.if\nm4 .ds ]m May
|
||||||
|
.if\nm5 .ds ]m June
|
||||||
|
.if\nm6 .ds ]m July
|
||||||
|
.if\nm7 .ds ]m August
|
||||||
|
.if\nm8 .ds ]m September
|
||||||
|
.if\nm9 .ds ]m October
|
||||||
|
.if\nm10 .ds ]m November
|
||||||
|
.if\nm11 .ds ]m December
|
||||||
|
.ifn \{.nr m \nm+1
|
||||||
|
.nr yD (\n(yr%100
|
||||||
|
.af yD 01
|
||||||
|
.ie\nd .ds ]W (last mod. \nm/\nd/\ny)
|
||||||
|
.el.ds ]W (printed \n(mo/\n(dy/\n(yD)
|
||||||
|
..\}
|
||||||
|
.if\n()s .ds ]W
|
||||||
|
.if\n()t \{.ie \nd .ds ]W \*(]m \nd, 20\ny
|
||||||
|
.el.ds ]W \*(]m \n(dy, 20\n(yr
|
||||||
|
..\}
|
||||||
|
.pl\n()Lu
|
||||||
|
.ll\n(LLu
|
||||||
|
.lt\n(LLu
|
||||||
|
.po\n()Ou
|
||||||
|
.ift .tr \``\''
|
||||||
|
.}f
|
||||||
|
.if\n()s .nr :m 3.5v
|
||||||
|
.if\n()t .nr :m 6v
|
||||||
|
.ifn .nr :m 7v
|
||||||
|
.ift .nr )M 3.6m
|
||||||
|
.ifn .nr )M 5n
|
||||||
|
.em}K
|
||||||
|
.nr q \np
|
||||||
|
.if!\np .nr p 1
|
||||||
|
.pn \np
|
||||||
14
tmac/tmac.anhtml
Normal file
14
tmac/tmac.anhtml
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
.so #9/sys/lib/tmac/tmac.an
|
||||||
|
.de }H
|
||||||
|
..
|
||||||
|
.de }F
|
||||||
|
..
|
||||||
|
.hy 0
|
||||||
|
.de HY
|
||||||
|
.hy 0
|
||||||
|
..
|
||||||
|
.nr LL 20i
|
||||||
|
.dePP
|
||||||
|
\Xhtml <P>
|
||||||
|
.}p
|
||||||
|
..
|
||||||
509
tmac/tmac.antimes
Normal file
509
tmac/tmac.antimes
Normal file
@@ -0,0 +1,509 @@
|
|||||||
|
'''\" PWB Manual Entry Macros - 1.36 of 11/11/80
|
||||||
|
'''\" Nroff/Troff Version @(#)1.36
|
||||||
|
'''\" Option -rs1 short (9") pages
|
||||||
|
'''\" Option -rp# set no. of first page, put no. of pgs. on stderr
|
||||||
|
'''\" Option -rd1 give modified date instead of printed date
|
||||||
|
... temporary fixes for neat manual printing...
|
||||||
|
.deth
|
||||||
|
.tmwrong version of man entry macros - use -man6
|
||||||
|
.ab
|
||||||
|
..
|
||||||
|
.ifn .ds Tm \uTM\d
|
||||||
|
.ift .ds Tm \v'-0.5m'\s-4TM\s+4\v'0.5m'
|
||||||
|
.de}E
|
||||||
|
.}f
|
||||||
|
.in\\n()Ru+\\n(INu
|
||||||
|
.ll\\n(LLu
|
||||||
|
.lt\\n(LLu
|
||||||
|
.pl\\n()Lu
|
||||||
|
..
|
||||||
|
.deDT
|
||||||
|
.ift .ta 3.6m 7.2m 10.8m 14.4m 18m 21.6m 25.2m 28.8m 32.4m 36m 39.6m 43.2m 46.8m
|
||||||
|
.ifn .ta 5n 10n 15n 20n 25n 30n 35n 40n 45n 50n 55n 60n 65n
|
||||||
|
..
|
||||||
|
.de HY
|
||||||
|
.hy14
|
||||||
|
..
|
||||||
|
.de}f
|
||||||
|
.ift .vs \\n()Vp
|
||||||
|
.ps\\n()S
|
||||||
|
.ft1
|
||||||
|
..
|
||||||
|
.de}H
|
||||||
|
.ev1
|
||||||
|
.}C
|
||||||
|
.}E
|
||||||
|
.ie\\n()s 'sp |2v
|
||||||
|
.el'sp |3v
|
||||||
|
.".ps\\n()S-1
|
||||||
|
.tl \\*(]H\\*(]L\\*(]H
|
||||||
|
.ft1
|
||||||
|
.ps\\n()S
|
||||||
|
.ie\\n()s 'sp 1.5v
|
||||||
|
.el'sp 3v
|
||||||
|
.ev
|
||||||
|
.ns
|
||||||
|
.if \\n(CL .2C
|
||||||
|
..
|
||||||
|
.de}F
|
||||||
|
.ev1
|
||||||
|
.}E
|
||||||
|
.if\\n()s 'sp |\\n(.pu-1v-1p
|
||||||
|
.if\\n()t 'sp |\\n(.pu-3v
|
||||||
|
.ifn 'sp |\\n(.pu-4v
|
||||||
|
.ifn .tl Page %\\*(]D\\*(]W
|
||||||
|
.ift .tl %
|
||||||
|
.ev
|
||||||
|
'bp
|
||||||
|
..
|
||||||
|
.ifn .ig
|
||||||
|
.de}C
|
||||||
|
.if "\\*(.T"aps"\{\
|
||||||
|
. po0i
|
||||||
|
. lt7.5i
|
||||||
|
. if\\n()s .tl \l0.25i\l0.25i\h1i\l0.25i
|
||||||
|
. if\\n()t .tl \l0.25i\l0.25i
|
||||||
|
. lt
|
||||||
|
. po\}
|
||||||
|
..
|
||||||
|
.de}M
|
||||||
|
.}N
|
||||||
|
.wh-.5p }C
|
||||||
|
.ll\\n(LLu
|
||||||
|
.}P
|
||||||
|
..
|
||||||
|
.de}K
|
||||||
|
.}N
|
||||||
|
.pl1
|
||||||
|
.ll\\n(LLu
|
||||||
|
..
|
||||||
|
.de}P
|
||||||
|
.nr )P \\n%+1-\\np
|
||||||
|
.if \\nq .tm \\n(.F \\n()P \\np
|
||||||
|
.bp
|
||||||
|
.if \\nq .nr p \\n%
|
||||||
|
..
|
||||||
|
.deTH
|
||||||
|
.PD
|
||||||
|
.nrIN \\n()Mu
|
||||||
|
.ift .ds ]H \\$1\^(\^\\$2\^)
|
||||||
|
.ifn .ds ]H \\$1(\\$2)
|
||||||
|
.if\\n()s .ds ]D
|
||||||
|
.if\\n()t .ds ]D Plan 9
|
||||||
|
.ifn .ds ]D Plan 9
|
||||||
|
.ds]L
|
||||||
|
.if!\\$3 .ds ]L (\^\\$3\^)
|
||||||
|
.if!\\$4 .ds ]D \\$4
|
||||||
|
.wh0 }H
|
||||||
|
.wh-\\n(:mu }F
|
||||||
|
.em}M
|
||||||
|
.if\\n(nl .}P
|
||||||
|
.nr)I \\n()Mu
|
||||||
|
.nr)R 0
|
||||||
|
.}E
|
||||||
|
.DT
|
||||||
|
.ifn \{.na
|
||||||
|
.nh\}
|
||||||
|
.ift \{.bd S 3 3
|
||||||
|
.HY \}
|
||||||
|
..
|
||||||
|
.deSH
|
||||||
|
.PD
|
||||||
|
.}X 0 "\\$1" smaller
|
||||||
|
.nr)E 2
|
||||||
|
\&\\$1 \|\\$2 \|\\$3 \|\\$4 \|\\$5 \|\\$6
|
||||||
|
..
|
||||||
|
.deSS
|
||||||
|
.PD
|
||||||
|
.}X 3n "" ""
|
||||||
|
.nr)E 2
|
||||||
|
\&\\$1 \|\\$2 \|\\$3 \|\\$4 \|\\$5 \|\\$6
|
||||||
|
..
|
||||||
|
.de}X
|
||||||
|
.}E
|
||||||
|
.ti\\$1
|
||||||
|
.sp\\n(PDu
|
||||||
|
.ne1.1v
|
||||||
|
.nr)R 0
|
||||||
|
.fi
|
||||||
|
'''ss12
|
||||||
|
'''if\\$2SYNOPSIS .ss 18
|
||||||
|
.it1 }N
|
||||||
|
.if!\\$3 .SM
|
||||||
|
.ft 3
|
||||||
|
..
|
||||||
|
.de}2
|
||||||
|
.nr)E 0
|
||||||
|
.}E
|
||||||
|
.nr)I \\n()Mu
|
||||||
|
.ns
|
||||||
|
.ft1
|
||||||
|
..
|
||||||
|
.deSM
|
||||||
|
.nh
|
||||||
|
.ps\\n()S-1
|
||||||
|
.if!\\$1 \&\\$1
|
||||||
|
.if!\\$2 \&\\$2
|
||||||
|
.if!\\$3 \&\\$3
|
||||||
|
.if!\\$4 \&\\$4
|
||||||
|
.if!\\$5 \&\\$5
|
||||||
|
.if!\\$6 \&\\$6
|
||||||
|
.if!\\$1 .ps \\n()S
|
||||||
|
.if\\$1 .it 1 }N
|
||||||
|
.HY
|
||||||
|
..
|
||||||
|
.deI
|
||||||
|
.nh
|
||||||
|
.ft2
|
||||||
|
.it1 }N
|
||||||
|
.if!\\$1 \&\\$1 \\$2 \\$3 \\$4 \\$5 \\$6
|
||||||
|
.HY
|
||||||
|
..
|
||||||
|
.deB
|
||||||
|
.nh
|
||||||
|
.it1 }N
|
||||||
|
.ie!\\$1 \%\&\f5\\$1 \\$2 \\$3 \\$4 \\$5 \\$6
|
||||||
|
.el .ft5
|
||||||
|
.HY
|
||||||
|
..
|
||||||
|
.deL
|
||||||
|
.nh
|
||||||
|
.it1 }N
|
||||||
|
.ift \{.ie!\\$1 \%\&\f5\\$1 \\$2 \\$3 \\$4 \\$5 \\$6
|
||||||
|
.el .ft5 \}
|
||||||
|
.ifn \{.ft5
|
||||||
|
.if!\\$1 \{.ie\\$2 `\\$1'
|
||||||
|
.el .ie\\$3 `\\$1 \\$2'
|
||||||
|
.el .ie\\$4 `\\$1 \\$2 \\$3'
|
||||||
|
.el .ie\\$5 `\\$1 \\$2 \\$3 \\$4'
|
||||||
|
.el .ie\\$6 `\\$1 \\$2 \\$3 \\$4 \\$5'
|
||||||
|
.el `\\$1 \\$2 \\$3 \\$4 \\$5 \\$6'\}\}
|
||||||
|
.HY
|
||||||
|
..
|
||||||
|
.deRI
|
||||||
|
.nh
|
||||||
|
.}S 1 2 \& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
|
||||||
|
.HY
|
||||||
|
.}f
|
||||||
|
..
|
||||||
|
.deIR
|
||||||
|
.nh
|
||||||
|
.}S 2 1 \& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
|
||||||
|
.HY
|
||||||
|
.}f
|
||||||
|
..
|
||||||
|
.deIB
|
||||||
|
.nh
|
||||||
|
.ift .}S 2 5 \%\& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
|
||||||
|
.ifn .}S 2 1 \%\& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
|
||||||
|
.HY
|
||||||
|
.}f
|
||||||
|
..
|
||||||
|
.deRB
|
||||||
|
.nh
|
||||||
|
.ift .}S 1 5 \%\& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
|
||||||
|
.ifn .}S 1 1 \%\& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
|
||||||
|
.HY
|
||||||
|
.}f
|
||||||
|
..
|
||||||
|
.deBR
|
||||||
|
.nh
|
||||||
|
.ift .}S 5 1 \%\& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
|
||||||
|
.ifn .}S 1 1 \%\& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
|
||||||
|
.HY
|
||||||
|
.}f
|
||||||
|
..
|
||||||
|
.deBI
|
||||||
|
.nh
|
||||||
|
.ift .}S 5 2 \%\& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
|
||||||
|
.ifn .}S 1 2 \%\& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
|
||||||
|
.HY
|
||||||
|
.}f
|
||||||
|
..
|
||||||
|
.de LR
|
||||||
|
.nh
|
||||||
|
.ift \%\&\f5\\$1\f1\\$2
|
||||||
|
.ifn \%`\\$1'\\$2
|
||||||
|
.HY
|
||||||
|
..
|
||||||
|
.de RL
|
||||||
|
.nh
|
||||||
|
.ift \%\&\f1\\$1\\f5\\$2\\f1\\$3
|
||||||
|
.ifn \%\\$1`\\$2'\\$3
|
||||||
|
.HY
|
||||||
|
..
|
||||||
|
.de}S
|
||||||
|
.ds]F
|
||||||
|
.if\\$12 .if !\\$5 .ds ]F \^
|
||||||
|
.if\\$22 .if !\\$5 .ds ]F \^
|
||||||
|
.ie!\\$4 .}S \\$2 \\$1 "\\$3\f\\$1\\$4\\*(]F" "\\$5" "\\$6" "\\$7" "\\$8" "\\$9"
|
||||||
|
.el\\$3
|
||||||
|
.}f
|
||||||
|
..
|
||||||
|
.deEX
|
||||||
|
.ift .ft5
|
||||||
|
.nf
|
||||||
|
..
|
||||||
|
.deEE
|
||||||
|
.ft1
|
||||||
|
.fi
|
||||||
|
..
|
||||||
|
.dePP
|
||||||
|
.sp\\n(PDu
|
||||||
|
.ne1.1v
|
||||||
|
.}E
|
||||||
|
.nr)I \\n()Mu
|
||||||
|
.ns
|
||||||
|
..
|
||||||
|
.deP
|
||||||
|
.PP
|
||||||
|
..
|
||||||
|
.deLP
|
||||||
|
.PP
|
||||||
|
..
|
||||||
|
.dePD
|
||||||
|
.ift .nr PD .4v
|
||||||
|
.ifn .nr PD 1v
|
||||||
|
.if!\\$1 .nr PD \\$1v
|
||||||
|
..
|
||||||
|
.deHP
|
||||||
|
.sp\\n(PDu
|
||||||
|
.ne1.1v
|
||||||
|
.if!\\$1 .nr )I \\$1n
|
||||||
|
.ll\\n(LLu
|
||||||
|
.in\\n()Ru+\\n(INu+\\n()Iu
|
||||||
|
.ti\\n()Ru+\\n(INu
|
||||||
|
.}f
|
||||||
|
..
|
||||||
|
.deIP
|
||||||
|
.ie!\\$1 \{.TP "\\$2"
|
||||||
|
\&\\$1\}
|
||||||
|
.el\{.sp\\n(PDu
|
||||||
|
.ne1.1v
|
||||||
|
.if!\\$2 .nr )I \\$2n
|
||||||
|
.}f
|
||||||
|
.ll\\n(LLu
|
||||||
|
.in\\n()Ru+\\n(INu+\\n()Iu
|
||||||
|
.lg\}
|
||||||
|
..
|
||||||
|
.deTP
|
||||||
|
.if!\\$1 \{.nr )I \\$1n
|
||||||
|
.if\\$10 .nr )I \\n()M\}
|
||||||
|
.sp\\n(PDu
|
||||||
|
.ne1.1v
|
||||||
|
.in\\n()Ru
|
||||||
|
.lg0
|
||||||
|
.ns
|
||||||
|
.it1 }N
|
||||||
|
.nr)E 1
|
||||||
|
.di]B
|
||||||
|
..
|
||||||
|
.deTF
|
||||||
|
.IP "" "\w'\f5\\$1\ \ \fP'u"
|
||||||
|
.PD0
|
||||||
|
..
|
||||||
|
.de}1
|
||||||
|
.ds]X \&\\*(]B\\
|
||||||
|
.rm]B
|
||||||
|
.nr)E 0
|
||||||
|
.if!\\$1 .nr )I \\$1n
|
||||||
|
.}f
|
||||||
|
.ll\\n(LLu
|
||||||
|
.in\\n()Ru+\\n(INu+\\n()Iu
|
||||||
|
.ti\\n(INu
|
||||||
|
.ie!\\n()Iu+\\n()Ru-\w\\*(]Xu-3p \{\\*(]X
|
||||||
|
.br\}
|
||||||
|
.el\\*(]X\h|\\n()Iu+\\n()Ru\c
|
||||||
|
.}f
|
||||||
|
.lg
|
||||||
|
..
|
||||||
|
.de}N
|
||||||
|
.if\\n()E .br
|
||||||
|
.if\\n()E1 .di
|
||||||
|
.if\\n()E0 .}f
|
||||||
|
.if\\n()E1 .}1
|
||||||
|
.if\\n()E2 .}2
|
||||||
|
..
|
||||||
|
.deRS
|
||||||
|
.nr]\\n+()p \\n()I
|
||||||
|
.nr)\\n()p \\n()R
|
||||||
|
.ie!\\$1 .nr )R +\\$1n
|
||||||
|
.el.nr )R +\\n()I
|
||||||
|
.nr)I \\n()Mu
|
||||||
|
.}E
|
||||||
|
..
|
||||||
|
.deRE
|
||||||
|
.if!\\$1 \{.ie \\$10 .nr )p 1 1
|
||||||
|
.el.nr )p \\$1 1 \}
|
||||||
|
.ds]i \\*(]I\\n()p
|
||||||
|
.ds]r \\*(]R\\n()p
|
||||||
|
.nr)I \\*(]i
|
||||||
|
.nr)R \\*(]r
|
||||||
|
.if\\n()p .nr )p -1
|
||||||
|
.}E
|
||||||
|
..
|
||||||
|
'''\" .2C begin 2-column display, by diversion
|
||||||
|
'''\" CC=amount of text that will fit on page
|
||||||
|
'''\" CL=1 multicolumn in effect, else 0
|
||||||
|
'''\" CI saved indent
|
||||||
|
'''\" CB contains diverted text
|
||||||
|
.de 2C
|
||||||
|
.ne 2
|
||||||
|
.nf
|
||||||
|
.nr CC \\n(.t/1v*2v
|
||||||
|
.nr CI \\n(IN
|
||||||
|
.nr IN 0
|
||||||
|
.di CB
|
||||||
|
.nr CL 1
|
||||||
|
.}E
|
||||||
|
.dt \\n(CCu C1
|
||||||
|
..
|
||||||
|
'''\" .1C return to 1-column
|
||||||
|
.de 1C
|
||||||
|
.nr CL 0
|
||||||
|
.C1
|
||||||
|
.fi
|
||||||
|
..
|
||||||
|
'''\" end of diversion, at end of page or return to 1-column
|
||||||
|
'''\" CC=pos of nominal column end
|
||||||
|
.de C1
|
||||||
|
.dt
|
||||||
|
\!.C3
|
||||||
|
.di
|
||||||
|
.if \\n(dn \{.nr CC \\n(dnu/2u+\\n(nlu
|
||||||
|
.wh \\n(CCu C2
|
||||||
|
.mk
|
||||||
|
.nf
|
||||||
|
.nr IN \\n(CIu
|
||||||
|
.}E
|
||||||
|
.CB \}
|
||||||
|
..
|
||||||
|
'''\" end of first column retrieved from diversion
|
||||||
|
'''\" CC=pos of actual column end
|
||||||
|
.de C2
|
||||||
|
.wh \\n(CCu
|
||||||
|
.mk CC
|
||||||
|
.po +(\\n(LLu/2u)u
|
||||||
|
.rt
|
||||||
|
.if \\n(dn>1v .ns
|
||||||
|
..
|
||||||
|
'''\" end of second column
|
||||||
|
.de C3
|
||||||
|
.br
|
||||||
|
.po -(\\n(LLu/2u)u
|
||||||
|
.if \\n(CC>\\n(nl .sp |\\n(CCu
|
||||||
|
.ne 2
|
||||||
|
..
|
||||||
|
.dePM
|
||||||
|
.if\\$1 .nr !K 0
|
||||||
|
.if\w\\$1 \{\
|
||||||
|
.ie\\$1P .nr !K 1
|
||||||
|
.el.ie \\$1BP .nr !K 3
|
||||||
|
.el.ie \\$1BR .nr !K 4
|
||||||
|
.el.nr !K 2 \}
|
||||||
|
.if\\n(!K .wh -(\\n(:mu+5v) )G
|
||||||
|
..
|
||||||
|
.de)G
|
||||||
|
.if\\n(!K 'sp 2v
|
||||||
|
.ie\\n(!K=1 \{\
|
||||||
|
.iet .bd1 3
|
||||||
|
.el.bd1 0
|
||||||
|
.tlPRIVATE
|
||||||
|
.bd1
|
||||||
|
.tlThis information should not be disclosed to unauthorized persons.
|
||||||
|
.tlIt is meant solely for use by authorized Bell System employees. \}
|
||||||
|
.el.ie \\n(!K=3 \{\
|
||||||
|
.iet .bd1 3
|
||||||
|
.el.bd1 0
|
||||||
|
.tlBELL LABORATORIES PROPRIETARY
|
||||||
|
.bd1
|
||||||
|
.tlNot for use or disclosure outside Bell Laboratories except by
|
||||||
|
.tlwritten approval of the director of the distributing organization. \}
|
||||||
|
.el.ie \\n(!K=4 \{\
|
||||||
|
.iet .bd1 3
|
||||||
|
.el.bd1 0
|
||||||
|
.tlBELL LABORATORIES RESTRICTED
|
||||||
|
.bd1
|
||||||
|
.tlThe information herein is meant solely for use by authorized
|
||||||
|
.tlBell Laboratories employees and is not to be disclosed to others. \}
|
||||||
|
.el.if \\n(!K=2 \{\
|
||||||
|
.iet .bd1 3
|
||||||
|
.el.bd1 0
|
||||||
|
.tlNOTICE
|
||||||
|
.bd1
|
||||||
|
.tlNot for use or disclosure outside the
|
||||||
|
.tlBell System except under written agreement. \}
|
||||||
|
..
|
||||||
|
.nr)s 0
|
||||||
|
.ift .if \ns .nr )s 1
|
||||||
|
.nr)t 0
|
||||||
|
.ift .if !\ns .nr )t 1
|
||||||
|
.if\n()s \{.nr )L 9i
|
||||||
|
.nrLL 4.75i
|
||||||
|
.nr)O .75i
|
||||||
|
.nr)S 9
|
||||||
|
.nr)V 10 \}
|
||||||
|
.if\n()t \{.nr )L 11i
|
||||||
|
.nrLL 6.5i
|
||||||
|
.nr)O 1i
|
||||||
|
.nr)S 10
|
||||||
|
.nr)V 12 \}
|
||||||
|
.ift \{.ds R \(rg
|
||||||
|
.dsS \s\n()S
|
||||||
|
..\}
|
||||||
|
.ifn \{.nr )L 11i
|
||||||
|
.nrLL 6.5i
|
||||||
|
.nr)O .463i
|
||||||
|
.if '\*(.T'think' \{.nrLL 80n
|
||||||
|
.nr)O 0\}
|
||||||
|
.if '\*(.T'thinksmall' \{.nrLL 142n
|
||||||
|
.vs 9p
|
||||||
|
.nr)O 0\}
|
||||||
|
.dsR (Reg.)
|
||||||
|
.dsS
|
||||||
|
..\}
|
||||||
|
.if\nT .nr LL 80n
|
||||||
|
.if\nV>1 \{
|
||||||
|
.nrLL 82n
|
||||||
|
.nr)L 84v
|
||||||
|
.rmul \}
|
||||||
|
.nr)p 0 1
|
||||||
|
.ds]I \\\\n(]
|
||||||
|
.ds]R \\\\n()
|
||||||
|
.if\nd0 .nr m \n(mo-1
|
||||||
|
.if\nm0 .ds ]m January
|
||||||
|
.if\nm1 .ds ]m February
|
||||||
|
.if\nm2 .ds ]m March
|
||||||
|
.if\nm3 .ds ]m April
|
||||||
|
.if\nm4 .ds ]m May
|
||||||
|
.if\nm5 .ds ]m June
|
||||||
|
.if\nm6 .ds ]m July
|
||||||
|
.if\nm7 .ds ]m August
|
||||||
|
.if\nm8 .ds ]m September
|
||||||
|
.if\nm9 .ds ]m October
|
||||||
|
.if\nm10 .ds ]m November
|
||||||
|
.if\nm11 .ds ]m December
|
||||||
|
.ifn \{.nr m \nm+1
|
||||||
|
.ie\nd .ds ]W (last mod. \nm/\nd/\ny)
|
||||||
|
.el.ds ]W (printed \n(mo/\n(dy/\n(yr)
|
||||||
|
..\}
|
||||||
|
.if\n()s .ds ]W
|
||||||
|
.if\n()t \{.ie \nd .ds ]W \*(]m \nd, 20\ny
|
||||||
|
.el.ds ]W \*(]m \n(dy, 20\n(yr
|
||||||
|
..\}
|
||||||
|
.pl\n()Lu
|
||||||
|
.ll\n(LLu
|
||||||
|
.lt\n(LLu
|
||||||
|
.po\n()Ou
|
||||||
|
.fp 5 L CW
|
||||||
|
.ift .tr \``\''
|
||||||
|
.}f
|
||||||
|
.if\n()s .nr :m 3.5v
|
||||||
|
.if\n()t .nr :m 6v
|
||||||
|
.ifn .nr :m 7v
|
||||||
|
.ift .nr )M 3.6m
|
||||||
|
.ifn .nr )M 5n
|
||||||
|
.em}K
|
||||||
|
.nr q \np
|
||||||
|
.if!\np .nr p 1
|
||||||
|
.pn \np
|
||||||
44
tmac/tmac.bits
Normal file
44
tmac/tmac.bits
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
.ds Bf b \" default format; use i for icons and faces
|
||||||
|
.ds Bn /tmp/btroff\n($$ \" temporary file, reused on each macro call
|
||||||
|
.ds Bp /usr/lib/btroff \" bitmap filter
|
||||||
|
.de BM
|
||||||
|
.if \\n(.$=1 .ds Bf \\$1
|
||||||
|
.if \\n(.$=2 \{. \" copy request, perhaps diverted
|
||||||
|
.ie '\\n(.z'' .Bm \\$1 \\$2
|
||||||
|
.el \!.BM \\$1 \\$2\}
|
||||||
|
.if \\n(.$=4 \{. \" size request, numerator only
|
||||||
|
.nr Bz \\$2
|
||||||
|
.sy \\*(Bp -s -\\*(Bf -d\\n(Bz \\$1 | awk '{\
|
||||||
|
print ".nr \\$3 " $1; \
|
||||||
|
print ".nr \\$4 " $2; \
|
||||||
|
exit }' >\\*(Bn
|
||||||
|
.so \\*(Bn
|
||||||
|
.sy /bin/rm -f \\*(Bn \}
|
||||||
|
.if \\n(.$=5 \{. \" size request, numerator and denominator
|
||||||
|
.nr Bz \\$2
|
||||||
|
.sy \\*(Bp -s -\\*(Bf -d\\n(Bz \\$1 | awk '{\
|
||||||
|
print ".nr \\$4 " $1 "/\\$3"; \
|
||||||
|
print ".nr \\$5 " $2 "/\\$3"; \
|
||||||
|
exit }' >\\*(Bn
|
||||||
|
.so \\*(Bn
|
||||||
|
.sy /bin/rm -f \\*(Bn \}
|
||||||
|
..
|
||||||
|
.de Bm \" copy request, for real
|
||||||
|
.if \\n(.P>0 \{. \" maybe
|
||||||
|
.fl
|
||||||
|
.ie '\\$2'0' \{. \" ask driver to read the bits
|
||||||
|
.br
|
||||||
|
\\X'Bitmap \\$1'
|
||||||
|
.sp -1 \}
|
||||||
|
.el \{. \" use the Bitmap font
|
||||||
|
.sy \\*(Bp -\\*(Bf -d\\$2 \\$1 >\\*(Bn
|
||||||
|
.fp 9 BM Bitmap
|
||||||
|
.ft 9
|
||||||
|
.ps \\$2
|
||||||
|
.cf \\*(Bn \" next line is for pm to consume
|
||||||
|
\!n0 1
|
||||||
|
.ft
|
||||||
|
.ps
|
||||||
|
.sy /bin/rm -f \\*(Bn \}
|
||||||
|
.fl \}
|
||||||
|
..
|
||||||
1150
tmac/tmac.cs
Normal file
1150
tmac/tmac.cs
Normal file
File diff suppressed because it is too large
Load Diff
997
tmac/tmac.e
Normal file
997
tmac/tmac.e
Normal file
@@ -0,0 +1,997 @@
|
|||||||
|
.nr _0 \n(.c
|
||||||
|
.\"**********************************************************************
|
||||||
|
.\"* *
|
||||||
|
.\"* ****** - M E N R O F F / T R O F F M A C R O S ****** *
|
||||||
|
.\"* *
|
||||||
|
.\"* Produced for your edification and enjoyment by: *
|
||||||
|
.\"* Eric Allman *
|
||||||
|
.\"* Electronics Research Laboratory *
|
||||||
|
.\"* U.C. Berkeley. *
|
||||||
|
.\"* *
|
||||||
|
.\"* VERSION 2.9 First Release: 11 Sept 1978 *
|
||||||
|
.\"* See file \*(||/revisions for revision history *
|
||||||
|
.\"* *
|
||||||
|
.\"* Documentation is available. *
|
||||||
|
.\"* *
|
||||||
|
.\"**********************************************************************
|
||||||
|
.\"
|
||||||
|
.\" @(#)tmac.e 2.9 12/10/80
|
||||||
|
.\" This version has had comments stripped; an unstripped version is available.
|
||||||
|
.if !\n(.V .tm You are using the wrong version of NROFF/TROFF!!
|
||||||
|
.if !\n(.V .tm This macro package works only on the version seven
|
||||||
|
.if !\n(.V .tm release of NROFF and TROFF.
|
||||||
|
.if !\n(.V .ex
|
||||||
|
.if \n(pf \
|
||||||
|
. nx \*(||/null.me
|
||||||
|
.de @C
|
||||||
|
.nr _S \\n(.s
|
||||||
|
.nr _V \\n(.v
|
||||||
|
.nr _F \\n(.f
|
||||||
|
.nr _I \\n(.i
|
||||||
|
.ev \\$1
|
||||||
|
.ps \\n(_Su
|
||||||
|
.vs \\n(_Vu
|
||||||
|
.ft \\n(_F
|
||||||
|
'in \\n(_Iu
|
||||||
|
.xl \\n($lu
|
||||||
|
.lt \\n($lu
|
||||||
|
.rr _S
|
||||||
|
.rr _V
|
||||||
|
.rr _F
|
||||||
|
.rr _I
|
||||||
|
.ls 1
|
||||||
|
'ce 0
|
||||||
|
..
|
||||||
|
.de @D
|
||||||
|
.ds |p "\\$3
|
||||||
|
.nr _d \\$1
|
||||||
|
.ie "\\$2"C" \
|
||||||
|
. nr _d 1
|
||||||
|
.el .ie "\\$2"L" \
|
||||||
|
. nr _d 2
|
||||||
|
.el .ie "\\$2"I" \
|
||||||
|
. nr _d 3
|
||||||
|
.el .ie "\\$2"M" \
|
||||||
|
. nr _d 4
|
||||||
|
.el \
|
||||||
|
. ds |p "\\$2
|
||||||
|
..
|
||||||
|
.de @z
|
||||||
|
.if !"\\n(.z"" \
|
||||||
|
\{\
|
||||||
|
. tm Line \\n(c. -- Unclosed block, footnote, or other diversion (\\n(.z)
|
||||||
|
. di
|
||||||
|
. ex
|
||||||
|
.\}
|
||||||
|
.if \\n(?a \
|
||||||
|
. bp
|
||||||
|
.rm bp
|
||||||
|
.rm @b
|
||||||
|
.if t \
|
||||||
|
. wh -1p @m
|
||||||
|
.br
|
||||||
|
..
|
||||||
|
.de @I
|
||||||
|
.rm th
|
||||||
|
.rm ac
|
||||||
|
.rm lo
|
||||||
|
.rm sc
|
||||||
|
.rm @I
|
||||||
|
..
|
||||||
|
.de he
|
||||||
|
.ie !\\n(.$ \
|
||||||
|
\{\
|
||||||
|
. rm |4
|
||||||
|
. rm |5
|
||||||
|
.\}
|
||||||
|
.el \
|
||||||
|
\{\
|
||||||
|
. ds |4 "\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
|
||||||
|
. ds |5 "\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
|
||||||
|
.\}
|
||||||
|
..
|
||||||
|
.de eh
|
||||||
|
.ie !\\n(.$ \
|
||||||
|
. rm |4
|
||||||
|
.el \
|
||||||
|
. ds |4 "\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
|
||||||
|
..
|
||||||
|
.de oh
|
||||||
|
.ie !\\n(.$ \
|
||||||
|
. rm |5
|
||||||
|
.el \
|
||||||
|
. ds |5 "\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
|
||||||
|
..
|
||||||
|
.de fo
|
||||||
|
.ie !\\n(.$ \
|
||||||
|
\{\
|
||||||
|
. rm |6
|
||||||
|
. rm |7
|
||||||
|
.\}
|
||||||
|
.el \
|
||||||
|
\{\
|
||||||
|
. ds |6 "\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
|
||||||
|
. ds |7 "\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
|
||||||
|
.\}
|
||||||
|
..
|
||||||
|
.de ef
|
||||||
|
.ie !\\n(.$ \
|
||||||
|
. rm |6
|
||||||
|
.el \
|
||||||
|
. ds |6 "\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
|
||||||
|
..
|
||||||
|
.de of
|
||||||
|
.ie !\\n(.$ \
|
||||||
|
. rm |7
|
||||||
|
.el \
|
||||||
|
. ds |7 "\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
|
||||||
|
..
|
||||||
|
.de ep
|
||||||
|
.if \\n(nl>0 \
|
||||||
|
\{\
|
||||||
|
. wh 0
|
||||||
|
. rs
|
||||||
|
. @b
|
||||||
|
.\}
|
||||||
|
..
|
||||||
|
.de @h
|
||||||
|
.if (\\n(.i+\\n(.o)>=\\n(.l \
|
||||||
|
. tm Line \\n(c. -- Offset + indent exceeds line length
|
||||||
|
.if t .if (\\n(.l+\\n(.o)>7.75i \
|
||||||
|
. tm Line \\n(c. -- Offset + line length exceeds paper width
|
||||||
|
.nr ?h \\n(?H
|
||||||
|
.rr ?H
|
||||||
|
.nr ?c \\n(?C
|
||||||
|
.rr ?C
|
||||||
|
.rn |4 |0
|
||||||
|
.rn |5 |1
|
||||||
|
.rn |6 |2
|
||||||
|
.rn |7 |3
|
||||||
|
.nr _w 0
|
||||||
|
.nr ?W 0
|
||||||
|
.nr ?I 1
|
||||||
|
.ev 2
|
||||||
|
.rs
|
||||||
|
.if t .@m
|
||||||
|
.if \\n(hm>0 \
|
||||||
|
. sp |\\n(hmu
|
||||||
|
.if \\n($T=2 \\!.
|
||||||
|
.@t $h
|
||||||
|
.if \\n(tm<=0 \
|
||||||
|
. nr tm \n(.Vu
|
||||||
|
.sp |\\n(tmu
|
||||||
|
.ev
|
||||||
|
.mk _k
|
||||||
|
.if \\n(?n .nm 1
|
||||||
|
.nr $c 1
|
||||||
|
.ie \\n(?s \
|
||||||
|
\{\
|
||||||
|
. rr ?s
|
||||||
|
. rs
|
||||||
|
' @b
|
||||||
|
.\}
|
||||||
|
.el \
|
||||||
|
. @n
|
||||||
|
..
|
||||||
|
.de @m
|
||||||
|
.@O 0
|
||||||
|
.lt 7.5i
|
||||||
|
.tl '\(rn''\(rn'
|
||||||
|
.@O
|
||||||
|
.lt
|
||||||
|
..
|
||||||
|
.de @n
|
||||||
|
.if \\n(bm<=0 \
|
||||||
|
. nr bm \\n(.Vu
|
||||||
|
.if (\\n(_w<=\\n($l)&(\\n(?W=0) \
|
||||||
|
\{\
|
||||||
|
. nr _b (\\n(ppu*\\n($ru)/2u
|
||||||
|
. if \\n(_bu>((\\n(bmu-\\n(fmu-(\\n(tpu*\\n($ru))/2u) \
|
||||||
|
. nr _b (\\n(ppu*\\n($ru)-\n(.Vu
|
||||||
|
. nr _b +\\n(bmu
|
||||||
|
.\}
|
||||||
|
.nr _B \\n(_bu
|
||||||
|
.ch @f
|
||||||
|
.wh -\\n(_bu @f
|
||||||
|
.nr ?f 0
|
||||||
|
.if \\n(?o \
|
||||||
|
\{\
|
||||||
|
. (f _
|
||||||
|
. nf
|
||||||
|
. |o
|
||||||
|
. fi
|
||||||
|
. )f
|
||||||
|
. rm |o
|
||||||
|
.\}
|
||||||
|
.nr ?o 0
|
||||||
|
.if \\n(?T \
|
||||||
|
\{\
|
||||||
|
. nr _i \\n(.i
|
||||||
|
. in \\n($iu
|
||||||
|
. |h
|
||||||
|
. in \\n(_iu
|
||||||
|
. rr _i
|
||||||
|
. mk #T
|
||||||
|
. ns
|
||||||
|
.\}
|
||||||
|
.if (\\n(?a)&((\\n($c<2):(\\n(?w=0)) \
|
||||||
|
\{\
|
||||||
|
. nr ?a 0
|
||||||
|
. @k |t
|
||||||
|
. if \\n(?w \
|
||||||
|
. mk _k
|
||||||
|
. nr ?w 0
|
||||||
|
.\}
|
||||||
|
.os
|
||||||
|
.$H
|
||||||
|
.ns
|
||||||
|
..
|
||||||
|
.de @f
|
||||||
|
.ec
|
||||||
|
.if \\n(?T \
|
||||||
|
\{\
|
||||||
|
. nr T. 1
|
||||||
|
. T# 1
|
||||||
|
. br
|
||||||
|
.\}
|
||||||
|
.ev 2
|
||||||
|
.ce 0
|
||||||
|
.if \\n(?b \
|
||||||
|
\{\
|
||||||
|
. nr ?b 0
|
||||||
|
. @k |b
|
||||||
|
.\}
|
||||||
|
.if \\n(?f \
|
||||||
|
. @o
|
||||||
|
.ie \\n($c<\\n($m \
|
||||||
|
. @c
|
||||||
|
.el \
|
||||||
|
. @e
|
||||||
|
.ev
|
||||||
|
..
|
||||||
|
.de @o
|
||||||
|
.nf
|
||||||
|
.ls 1
|
||||||
|
.in 0
|
||||||
|
.wh -\\n(_Bu @r
|
||||||
|
.|f
|
||||||
|
.fi
|
||||||
|
.if \\n(?o \
|
||||||
|
. di
|
||||||
|
. if \\n(dn=0 \
|
||||||
|
\{\
|
||||||
|
. rm |o
|
||||||
|
. nr ?o 0
|
||||||
|
. \}
|
||||||
|
. nr dn \\n(_D
|
||||||
|
. rr _D
|
||||||
|
.\}
|
||||||
|
.rm |f
|
||||||
|
.ch @r
|
||||||
|
..
|
||||||
|
.de @c
|
||||||
|
.rs
|
||||||
|
.sp |\\n(_ku
|
||||||
|
.@O +\\n($lu+\\n($su
|
||||||
|
.nr $c +1
|
||||||
|
.@n
|
||||||
|
..
|
||||||
|
.de @e
|
||||||
|
.@O \\n(_ou
|
||||||
|
.rs
|
||||||
|
.sp |\\n(.pu-\\n(fmu-(\\n(tpu*\\n($ru)
|
||||||
|
.@t $f
|
||||||
|
.nr ?h 0
|
||||||
|
.bp
|
||||||
|
..
|
||||||
|
.de @t
|
||||||
|
.if !\\n(?h \
|
||||||
|
\{\
|
||||||
|
. sz \\n(tp
|
||||||
|
. @F \\n(tf
|
||||||
|
. lt \\n(_Lu
|
||||||
|
. nf
|
||||||
|
. \\$1
|
||||||
|
. br
|
||||||
|
.\}
|
||||||
|
..
|
||||||
|
.de $h
|
||||||
|
.rm |z
|
||||||
|
.if !\\n(?c \
|
||||||
|
\{\
|
||||||
|
. if e .ds |z "\\*(|0
|
||||||
|
. if o .ds |z "\\*(|1
|
||||||
|
.\}
|
||||||
|
.if !\(ts\\*(|z\(ts\(ts \
|
||||||
|
' tl \\*(|z
|
||||||
|
.rm |z
|
||||||
|
..
|
||||||
|
.de $f
|
||||||
|
.rm |z
|
||||||
|
.if \\n(?c \
|
||||||
|
\{\
|
||||||
|
. if e .ds |z "\\*(|0
|
||||||
|
. if o .ds |z "\\*(|1
|
||||||
|
.\}
|
||||||
|
.if \(ts\\*(|z\(ts\(ts \
|
||||||
|
\{\
|
||||||
|
. if e .ds |z "\\*(|2
|
||||||
|
. if o .ds |z "\\*(|3
|
||||||
|
.\}
|
||||||
|
.if !\(ts\\*(|z\(ts\(ts \
|
||||||
|
' tl \\*(|z
|
||||||
|
.rm |z
|
||||||
|
..
|
||||||
|
.de @r
|
||||||
|
.di |o
|
||||||
|
.nr ?o 1
|
||||||
|
.nr _D \\n(dn
|
||||||
|
.ns
|
||||||
|
..
|
||||||
|
.rn bp @b
|
||||||
|
.de bp
|
||||||
|
.nr $c \\n($m
|
||||||
|
.ie \\n(nl>0 \
|
||||||
|
. @b \\$1
|
||||||
|
.el \
|
||||||
|
\{\
|
||||||
|
. if \\n(.$>0 \
|
||||||
|
. pn \\$1
|
||||||
|
. if \\n(?I \
|
||||||
|
. @h
|
||||||
|
.\}
|
||||||
|
.br
|
||||||
|
.wh 0 @h
|
||||||
|
..
|
||||||
|
.rn ll xl
|
||||||
|
.de ll
|
||||||
|
.xl \\$1
|
||||||
|
.lt \\$1
|
||||||
|
.nr $l \\n(.l
|
||||||
|
.if (\\n($m<=1):(\\n($l>\\n(_L) \
|
||||||
|
. nr _L \\n(.l
|
||||||
|
..
|
||||||
|
.rn po @O
|
||||||
|
.de po
|
||||||
|
.@O \\$1
|
||||||
|
.nr _o \\n(.o
|
||||||
|
..
|
||||||
|
.de hx
|
||||||
|
.nr ?H 1
|
||||||
|
..
|
||||||
|
.de ix
|
||||||
|
'in \\$1
|
||||||
|
..
|
||||||
|
.de bl
|
||||||
|
.br
|
||||||
|
.ne \\$1
|
||||||
|
.rs
|
||||||
|
.sp \\$1
|
||||||
|
..
|
||||||
|
.de n1
|
||||||
|
.nm 1
|
||||||
|
.xl -\w'0000'u
|
||||||
|
.nr ?n 1
|
||||||
|
..
|
||||||
|
.de n2
|
||||||
|
.nm \\$1
|
||||||
|
.ie \\n(.$ \
|
||||||
|
. xl -\w'0000'u
|
||||||
|
.el \
|
||||||
|
. xl \\n($lu
|
||||||
|
..
|
||||||
|
.de pa
|
||||||
|
.bp \\$1
|
||||||
|
..
|
||||||
|
.de ro
|
||||||
|
.af % i
|
||||||
|
..
|
||||||
|
.de ar
|
||||||
|
.af % 1
|
||||||
|
..
|
||||||
|
.de m1
|
||||||
|
.nr _0 \\n(hmu
|
||||||
|
.nr hm \\$1v
|
||||||
|
.nr tm +\\n(hmu-\\n(_0u
|
||||||
|
.rr _0
|
||||||
|
..
|
||||||
|
.de m2
|
||||||
|
.nr tm \\n(hmu+\\n(tpp+\\$1v
|
||||||
|
..
|
||||||
|
.de m3
|
||||||
|
.nr bm \\n(fmu+\\n(tpp+\\$1v
|
||||||
|
..
|
||||||
|
.de m4
|
||||||
|
.nr _0 \\n(fmu
|
||||||
|
.nr fm \\$1v
|
||||||
|
.nr bm +\\n(fmu-\\n(_0u
|
||||||
|
..
|
||||||
|
.de sk
|
||||||
|
.if \\n(.$>0 \
|
||||||
|
. tm Line \\n(c. -- I cannot skip multiple pages
|
||||||
|
.nr ?s 1
|
||||||
|
..
|
||||||
|
.de re
|
||||||
|
.ta 0.5i +0.5i +0.5i +0.5i +0.5i +0.5i +0.5i +0.5i +0.5i +0.5i +0.5i +0.5i +0.5i +0.5i +0.5i
|
||||||
|
..
|
||||||
|
.if t .ig
|
||||||
|
.de re
|
||||||
|
.ta 0.8i +0.8i +0.8i +0.8i +0.8i +0.8i +0.8i +0.8i +0.8i +0.8i +0.8i +0.8i +0.8i +0.8i +0.8i
|
||||||
|
..
|
||||||
|
.de ba
|
||||||
|
.ie \\n(.$ \
|
||||||
|
. nr $i \\$1n
|
||||||
|
.el \
|
||||||
|
. nr $i \\n(siu*\\n($0u
|
||||||
|
..
|
||||||
|
.de hl
|
||||||
|
.br
|
||||||
|
\l'\\n(.lu-\\n(.iu'
|
||||||
|
.sp
|
||||||
|
..
|
||||||
|
.de pp
|
||||||
|
.lp \\n(piu
|
||||||
|
..
|
||||||
|
.de lp
|
||||||
|
.@p
|
||||||
|
.if \\n(.$ \
|
||||||
|
. ti +\\$1
|
||||||
|
.nr $p 0 1
|
||||||
|
..
|
||||||
|
.de ip
|
||||||
|
.if (\\n(ii>0)&(\\n(ii<1n) \
|
||||||
|
. nr ii \\n(iin
|
||||||
|
.nr _0 \\n(ii
|
||||||
|
.if \\n(.$>1 \
|
||||||
|
. nr _0 \\$2n
|
||||||
|
.@p \\n(_0u
|
||||||
|
.if \\w"\\$1" \
|
||||||
|
\{\
|
||||||
|
. ti -\\n(_0u
|
||||||
|
. ie \\w"\\$1">=\\n(_0 \
|
||||||
|
\{\
|
||||||
|
\&\\$1
|
||||||
|
. br
|
||||||
|
. \}
|
||||||
|
. el \&\\$1\h'|\\n(_0u'\c
|
||||||
|
.\}
|
||||||
|
.rr _0
|
||||||
|
..
|
||||||
|
.de np
|
||||||
|
.nr $p +1
|
||||||
|
.ip (\\n($p)
|
||||||
|
..
|
||||||
|
.de @p
|
||||||
|
.@I
|
||||||
|
.if "\\n(.z"|e" .tm Line \\n(c. -- Unmatched continued equation
|
||||||
|
.in \\n($iu+\\n(pou
|
||||||
|
.if \\n(.$ \
|
||||||
|
. in +\\$1n
|
||||||
|
.ce 0
|
||||||
|
.fi
|
||||||
|
.@F \\n(pf
|
||||||
|
.sz \\n(ppu
|
||||||
|
.sp \\n(psu
|
||||||
|
.ne \\n(.Lv+\\n(.Vu
|
||||||
|
.ns
|
||||||
|
..
|
||||||
|
.de sh
|
||||||
|
.rn sh @T
|
||||||
|
.so \\*(||/sh.me
|
||||||
|
.sh "\\$1" "\\$2" \\$3 \\$4 \\$5 \\$6 \\$7 \\$8
|
||||||
|
.rm @T
|
||||||
|
..
|
||||||
|
.de $p
|
||||||
|
.if (\\n(si>0)&(\\n(.$>2) \
|
||||||
|
. nr $i \\$3*\\n(si
|
||||||
|
.in \\n($iu
|
||||||
|
.ie !"\\$1\\$2"" \
|
||||||
|
\{\
|
||||||
|
. sp \\n(ssu
|
||||||
|
. ne \\n(.Lv+\\n(.Vu+\\n(psu+(\\n(spu*\\n($ru*\\n(.Lu)
|
||||||
|
. ie \\n(.$>2 \
|
||||||
|
. ti -(\\n(siu-\\n(sou)
|
||||||
|
. el \
|
||||||
|
. ti +\\n(sou
|
||||||
|
. @F \\n(sf
|
||||||
|
. sz \\n(spu
|
||||||
|
. if \\$3>0 \
|
||||||
|
. $\\$3
|
||||||
|
. if \w"\\$2">0 \\$2.
|
||||||
|
. if \w"\\$1">0 \\$1\f1\ \ \"
|
||||||
|
.\}
|
||||||
|
.el \
|
||||||
|
. sp \\n(psu
|
||||||
|
.@F \\n(pf
|
||||||
|
.sz \\n(ppu
|
||||||
|
..
|
||||||
|
.de uh
|
||||||
|
.rn uh @T
|
||||||
|
.so \\*(||/sh.me
|
||||||
|
.uh "\\$1"
|
||||||
|
.rm @T
|
||||||
|
..
|
||||||
|
.de 2c
|
||||||
|
.br
|
||||||
|
.if \\n($m>1 \
|
||||||
|
. 1c
|
||||||
|
.nr $c 1
|
||||||
|
.nr $m 2
|
||||||
|
.if \\n(.$>1 \
|
||||||
|
. nr $m \\$2
|
||||||
|
.if \\n(.$>0 \
|
||||||
|
. nr $s \\$1n
|
||||||
|
.nr $l (\\n(.l-((\\n($m-1)*\\n($s))/\\n($m
|
||||||
|
.xl \\n($lu
|
||||||
|
.mk _k
|
||||||
|
.ns
|
||||||
|
..
|
||||||
|
.de 1c
|
||||||
|
.br
|
||||||
|
.nr $c 1
|
||||||
|
.nr $m 1
|
||||||
|
.ll \\n(_Lu
|
||||||
|
.sp |\\n(.hu
|
||||||
|
.@O \\n(_ou
|
||||||
|
..
|
||||||
|
.de bc
|
||||||
|
.sp 24i
|
||||||
|
..
|
||||||
|
.de (z
|
||||||
|
.rn (z @V
|
||||||
|
.so \\*(||/float.me
|
||||||
|
.(z \\$1 \\$2
|
||||||
|
.rm @V
|
||||||
|
..
|
||||||
|
.de )z
|
||||||
|
.tm Line \\n(c. -- unmatched .)z
|
||||||
|
..
|
||||||
|
.de (t
|
||||||
|
.(z \\$1 \\$2
|
||||||
|
..
|
||||||
|
.de )t
|
||||||
|
.)z \\$1 \\$2
|
||||||
|
..
|
||||||
|
.de (b
|
||||||
|
.br
|
||||||
|
.@D 3 \\$1 \\$2
|
||||||
|
.sp \\n(bsu
|
||||||
|
.@(
|
||||||
|
..
|
||||||
|
.de )b
|
||||||
|
.br
|
||||||
|
.@)
|
||||||
|
.if (\\n(bt=0):(\\n(.t<\\n(bt) \
|
||||||
|
. ne \\n(dnu
|
||||||
|
.ls 1
|
||||||
|
.nf
|
||||||
|
.|k
|
||||||
|
.ec
|
||||||
|
.fi
|
||||||
|
.in 0
|
||||||
|
.xl \\n($lu
|
||||||
|
.ev
|
||||||
|
.rm |k
|
||||||
|
.sp \\n(bsu+\\n(.Lv-1v
|
||||||
|
..
|
||||||
|
.de @(
|
||||||
|
.if !"\\n(.z"" .tm Line \\n(c. -- Illegal nested keep \\n(.z
|
||||||
|
.@M
|
||||||
|
.di |k
|
||||||
|
\!'rs
|
||||||
|
..
|
||||||
|
.de @M
|
||||||
|
.nr ?k 1
|
||||||
|
.@C 1
|
||||||
|
.@F \\n(df
|
||||||
|
.vs \\n(.su*\\n($Ru
|
||||||
|
.nf
|
||||||
|
.if "\\*(|p"F" \
|
||||||
|
. fi
|
||||||
|
.if \\n(_d=4 \
|
||||||
|
. in 0
|
||||||
|
.if \\n(_d=3 \
|
||||||
|
\{\
|
||||||
|
. in +\\n(biu
|
||||||
|
. xl -\\n(biu
|
||||||
|
.\}
|
||||||
|
.if \\n(_d=1 \
|
||||||
|
. ce 10000
|
||||||
|
..
|
||||||
|
.de @)
|
||||||
|
.br
|
||||||
|
.if !"\\n(.z"|k" .tm Line \\n(c. -- Close of a keep which has never been opened
|
||||||
|
.nr ?k 0
|
||||||
|
.di
|
||||||
|
.in 0
|
||||||
|
.ce 0
|
||||||
|
..
|
||||||
|
.de (c
|
||||||
|
.if "\\n(.z"|c" .tm Line \\n(c. -- Nested .(c requests
|
||||||
|
.di |c
|
||||||
|
..
|
||||||
|
.de )c
|
||||||
|
.if !"\\n(.z"|c" .tm Line \\n(c. -- Unmatched .)c
|
||||||
|
.br
|
||||||
|
.di
|
||||||
|
.ev 1
|
||||||
|
.ls 1
|
||||||
|
.in (\\n(.lu-\\n(.iu-\\n(dlu)/2u
|
||||||
|
.nf
|
||||||
|
.|c
|
||||||
|
.ec
|
||||||
|
.in
|
||||||
|
.ls
|
||||||
|
.ev
|
||||||
|
.rm |c
|
||||||
|
..
|
||||||
|
.de (q
|
||||||
|
.br
|
||||||
|
.@C 1
|
||||||
|
.fi
|
||||||
|
.sp \\n(qsu
|
||||||
|
.in +\\n(qiu
|
||||||
|
.xl -\\n(qiu
|
||||||
|
.sz \\n(qp
|
||||||
|
..
|
||||||
|
.de )q
|
||||||
|
.br
|
||||||
|
.ev
|
||||||
|
.sp \\n(qsu+\\n(.Lv-1v
|
||||||
|
.nr ?k 0
|
||||||
|
..
|
||||||
|
.de (l
|
||||||
|
.br
|
||||||
|
.sp \\n(bsu
|
||||||
|
.@D 3 \\$1 \\$2
|
||||||
|
.@M
|
||||||
|
..
|
||||||
|
.de )l
|
||||||
|
.br
|
||||||
|
.ev
|
||||||
|
.sp \\n(bsu+\\n(.Lv-1v
|
||||||
|
.nr ?k 0
|
||||||
|
..
|
||||||
|
.de EQ
|
||||||
|
.rn EQ @T
|
||||||
|
.so \\*(||/eqn.me
|
||||||
|
.EQ \\$1 \\$2
|
||||||
|
.rm @T
|
||||||
|
..
|
||||||
|
.de TS
|
||||||
|
.rn TS @W
|
||||||
|
.so \\*(||/tbl.me
|
||||||
|
.TS \\$1 \\$2
|
||||||
|
.rm @W
|
||||||
|
..
|
||||||
|
.de sz
|
||||||
|
.ps \\$1
|
||||||
|
.vs \\n(.su*\\n($ru
|
||||||
|
.bd S B \\n(.su/3u
|
||||||
|
..
|
||||||
|
.de r
|
||||||
|
.nr _F \\n(.f
|
||||||
|
.ul 0
|
||||||
|
.ft 1
|
||||||
|
.if \\n(.$ \&\\$1\f\\n(_F\\$2
|
||||||
|
.rr _F
|
||||||
|
..
|
||||||
|
.de i
|
||||||
|
.nr _F \\n(.f
|
||||||
|
.ul 0
|
||||||
|
.ft 2
|
||||||
|
.if \\n(.$ \&\\$1\f\\n(_F\\$2
|
||||||
|
.rr _F
|
||||||
|
..
|
||||||
|
.de b
|
||||||
|
.nr _F \\n(.f
|
||||||
|
.ul 0
|
||||||
|
.ie t \
|
||||||
|
. ft 3
|
||||||
|
.el \
|
||||||
|
. ul 10000
|
||||||
|
.if \\n(.$ \&\\$1\f\\n(_F\\$2
|
||||||
|
.if \\n(.$ \
|
||||||
|
. ul 0
|
||||||
|
.rr _F
|
||||||
|
..
|
||||||
|
.de rb
|
||||||
|
.nr _F \\n(.f
|
||||||
|
.ul 0
|
||||||
|
.ft 3
|
||||||
|
.if \\n(.$ \&\\$1\f\\n(_F\\$2
|
||||||
|
.rr _F
|
||||||
|
..
|
||||||
|
.de u
|
||||||
|
\&\\$1\l'|0\(ul'\\$2
|
||||||
|
..
|
||||||
|
.de q
|
||||||
|
\&\\*(lq\\$1\\*(rq\\$2
|
||||||
|
..
|
||||||
|
.de bi
|
||||||
|
.ft 2
|
||||||
|
.ie t \&\k~\\$1\h'|\\n~u+(\\n(.su/3u)'\\$1\fP\\$2
|
||||||
|
.el \&\\$1\fP\\$2
|
||||||
|
..
|
||||||
|
.de bx
|
||||||
|
.ie \\n($T \&\f2\\$1\fP\\$2
|
||||||
|
.el \k~\(br\|\\$1\|\(br\l'|\\n~u\(rn'\l'|\\n~u\(ul'\^\\$2
|
||||||
|
..
|
||||||
|
.de @F
|
||||||
|
.nr ~ \\$1
|
||||||
|
.if \\n~>0 \
|
||||||
|
\{\
|
||||||
|
. ul 0
|
||||||
|
. ie \\n~>4 \
|
||||||
|
\{\
|
||||||
|
. if n .ul 10000
|
||||||
|
. if t .ft 3
|
||||||
|
. \}
|
||||||
|
. el \
|
||||||
|
. ft \\n~
|
||||||
|
.\}
|
||||||
|
.rr ~
|
||||||
|
..
|
||||||
|
.de (f
|
||||||
|
.rn (f @U
|
||||||
|
.so \\*(||/footnote.me
|
||||||
|
.(f \\$1 \\$2
|
||||||
|
.rm @U
|
||||||
|
..
|
||||||
|
.de )f
|
||||||
|
.tm Line \\n(c. -- unmatched .)f
|
||||||
|
..
|
||||||
|
.de $s
|
||||||
|
\l'2i'
|
||||||
|
.if n \
|
||||||
|
. sp 0.3
|
||||||
|
..
|
||||||
|
.de (d
|
||||||
|
.rn (d @U
|
||||||
|
.so \\*(||/deltext.me
|
||||||
|
.(d \\$1 \\$2
|
||||||
|
.rm @U
|
||||||
|
..
|
||||||
|
.de )d
|
||||||
|
.tm Line \\n(c. -- unmatched .)d
|
||||||
|
..
|
||||||
|
.de (x
|
||||||
|
.rn (x @U
|
||||||
|
.so \\*(||/index.me
|
||||||
|
.(x \\$1 \\$2
|
||||||
|
.rm @U
|
||||||
|
..
|
||||||
|
.de )x
|
||||||
|
.tm Line \\n(c. -- unmatched .)x
|
||||||
|
..
|
||||||
|
.de th
|
||||||
|
.so \\*(||/thesis.me
|
||||||
|
.rm th
|
||||||
|
..
|
||||||
|
.de +c
|
||||||
|
.ep
|
||||||
|
.if \\n(?o:\\n(?a \
|
||||||
|
\{\
|
||||||
|
. bp
|
||||||
|
. rs
|
||||||
|
. ep
|
||||||
|
.\}
|
||||||
|
.nr ?C 1
|
||||||
|
.nr $f 1 1
|
||||||
|
.ds * \\*[1\\*]\k*
|
||||||
|
.if \\n(?R \
|
||||||
|
. pn 1
|
||||||
|
.bp
|
||||||
|
.in \\n($iu
|
||||||
|
.rs
|
||||||
|
.ie \\n(.$ \
|
||||||
|
. $c "\\$1"
|
||||||
|
.el \
|
||||||
|
. sp 3
|
||||||
|
..
|
||||||
|
.de ++
|
||||||
|
.nr _0 0
|
||||||
|
.if "\\$1"C" \
|
||||||
|
. nr _0 1
|
||||||
|
.if "\\$1"RC" \
|
||||||
|
. nr _0 11
|
||||||
|
.if "\\$1"A" \
|
||||||
|
. nr _0 2
|
||||||
|
.if "\\$1"RA" \
|
||||||
|
. nr _0 12
|
||||||
|
.if "\\$1"P" \
|
||||||
|
. nr _0 3
|
||||||
|
.if "\\$1"B" \
|
||||||
|
. nr _0 4
|
||||||
|
.if "\\$1"AB" \
|
||||||
|
. nr _0 5
|
||||||
|
.if \\n(_0=0 \
|
||||||
|
. tm Line \\n(c. -- Bad mode to .++
|
||||||
|
.nr ?R 0
|
||||||
|
.if \\n(_0>10 \
|
||||||
|
.\{
|
||||||
|
. nr ?R 1
|
||||||
|
. nr _0 -10
|
||||||
|
.\}
|
||||||
|
.nr ch 0 1
|
||||||
|
.if (\\n(_0=3):(\\n(_0=5) \
|
||||||
|
. pn 1
|
||||||
|
.ep
|
||||||
|
.if \\n(_0=1 \
|
||||||
|
\{\
|
||||||
|
. af ch 1
|
||||||
|
. af % 1
|
||||||
|
.\}
|
||||||
|
.if \\n(_0=2 \
|
||||||
|
\{\
|
||||||
|
. af ch A
|
||||||
|
. af % 1
|
||||||
|
.\}
|
||||||
|
.if \\n(_0=3 \
|
||||||
|
. af % i
|
||||||
|
.if \\n(_0=4 \
|
||||||
|
. af % 1
|
||||||
|
.if \\n(_0=5 \
|
||||||
|
. af % 1
|
||||||
|
.if \\n(.$>1 \
|
||||||
|
. he \\$2
|
||||||
|
.if !\\n(_0=\\n(_M .if \\n(_M=3 \
|
||||||
|
. pn 1
|
||||||
|
.nr _M \\n(_0
|
||||||
|
.rr _0
|
||||||
|
..
|
||||||
|
.de $c
|
||||||
|
.sz 12
|
||||||
|
.ft B
|
||||||
|
.ce 1000
|
||||||
|
.if \\n(_M<3 \
|
||||||
|
. nr ch +1
|
||||||
|
.ie \\n(_M=1 CHAPTER\ \ \\n(ch
|
||||||
|
.el .if \\n(_M=2 APPENDIX\ \ \\n(ch
|
||||||
|
.if \w"\\$1" .sp 3-\\n(.L
|
||||||
|
.if \w"\\$1" \\$1
|
||||||
|
.if (\\n(_M<3):(\w"\\$1") \
|
||||||
|
. sp 4-\\n(.L
|
||||||
|
.ce 0
|
||||||
|
.ft
|
||||||
|
.sz
|
||||||
|
.ie \\n(_M=1 \
|
||||||
|
. $C Chapter \\n(ch "\\$1"
|
||||||
|
.el .if \\n(_M=2 \
|
||||||
|
. $C Appendix \\n(ch "\\$1"
|
||||||
|
..
|
||||||
|
.de tp
|
||||||
|
.hx
|
||||||
|
.bp
|
||||||
|
.br
|
||||||
|
.rs
|
||||||
|
.pn \\n%
|
||||||
|
..
|
||||||
|
.de ac
|
||||||
|
.rn ac @T
|
||||||
|
.so \\*(||/acm.me
|
||||||
|
.ac "\\$1" "\\$2"
|
||||||
|
.rm @T
|
||||||
|
..
|
||||||
|
.de lo
|
||||||
|
.so \\*(||/local.me
|
||||||
|
.rm lo
|
||||||
|
..
|
||||||
|
.if \n(mo=1 .ds mo January
|
||||||
|
.if \n(mo=2 .ds mo February
|
||||||
|
.if \n(mo=3 .ds mo March
|
||||||
|
.if \n(mo=4 .ds mo April
|
||||||
|
.if \n(mo=5 .ds mo May
|
||||||
|
.if \n(mo=6 .ds mo June
|
||||||
|
.if \n(mo=7 .ds mo July
|
||||||
|
.if \n(mo=8 .ds mo August
|
||||||
|
.if \n(mo=9 .ds mo September
|
||||||
|
.if \n(mo=10 .ds mo October
|
||||||
|
.if \n(mo=11 .ds mo November
|
||||||
|
.if \n(mo=12 .ds mo December
|
||||||
|
.if \n(dw=1 .ds dw Sunday
|
||||||
|
.if \n(dw=2 .ds dw Monday
|
||||||
|
.if \n(dw=3 .ds dw Tuesday
|
||||||
|
.if \n(dw=4 .ds dw Wednesday
|
||||||
|
.if \n(dw=5 .ds dw Thursday
|
||||||
|
.if \n(dw=6 .ds dw Friday
|
||||||
|
.if \n(dw=7 .ds dw Saturday
|
||||||
|
.ds td \*(mo \n(dy, 20\n(yr
|
||||||
|
.if (1m<0.1i)&(\nx!=0) \
|
||||||
|
. vs 9p
|
||||||
|
.rr x
|
||||||
|
.nr $r \n(.v/\n(.s
|
||||||
|
.nr $R \n($r
|
||||||
|
.nr hm 4v
|
||||||
|
.nr tm 7v
|
||||||
|
.nr bm 6v
|
||||||
|
.nr fm 3v
|
||||||
|
.nr tf 3
|
||||||
|
.nr tp 10
|
||||||
|
.hy 14
|
||||||
|
.nr bi 4n
|
||||||
|
.nr pi 5n
|
||||||
|
.nr pf 1
|
||||||
|
.nr pp 10
|
||||||
|
.nr qi 4n
|
||||||
|
.nr qp -1
|
||||||
|
.nr ii 5n
|
||||||
|
.nr $m 1
|
||||||
|
.nr $s 4n
|
||||||
|
.ds || #9/sys/lib/tmac/me
|
||||||
|
.bd S B 3
|
||||||
|
.ds [ \u\x'-0.25v'
|
||||||
|
.ds ] \d
|
||||||
|
.ds < \d\x'0.25v'
|
||||||
|
.ds > \u
|
||||||
|
.ds - --
|
||||||
|
.if t \
|
||||||
|
\{\
|
||||||
|
. ds [ \v'-0.4m'\x'-0.2m'\s-3
|
||||||
|
. ds ] \s0\v'0.4m'
|
||||||
|
. ds < \v'0.4m'\x'0.2m'\s-3
|
||||||
|
. ds > \s0\v'-0.4m'
|
||||||
|
. ds - \-
|
||||||
|
. nr fi 0.3i
|
||||||
|
.\}
|
||||||
|
.if n \
|
||||||
|
\{\
|
||||||
|
. nr fi 3n
|
||||||
|
.\}
|
||||||
|
.nr _o \n(.o
|
||||||
|
.if n .po 1i
|
||||||
|
.if \n(.V=1v \
|
||||||
|
. nr $T 2
|
||||||
|
.if \n(.T=0 \
|
||||||
|
. nr $T 1
|
||||||
|
.if t \
|
||||||
|
\{\
|
||||||
|
. nr $T 0
|
||||||
|
. po -0.5i
|
||||||
|
.\}
|
||||||
|
.if \nv \
|
||||||
|
. po 1i
|
||||||
|
.if \n($T \
|
||||||
|
\{\
|
||||||
|
. if \n($T=1 \
|
||||||
|
. po 0
|
||||||
|
. ds [ [
|
||||||
|
. ds ] ]
|
||||||
|
. ds < <
|
||||||
|
. ds > >
|
||||||
|
.\}
|
||||||
|
.nr ps 0.5v
|
||||||
|
.if \n($T \
|
||||||
|
. nr ps 1v
|
||||||
|
.if t .nr ps 0.35v
|
||||||
|
.nr bs \n(ps
|
||||||
|
.nr qs \n(ps
|
||||||
|
.nr zs 1v
|
||||||
|
.nr xs 0.2v
|
||||||
|
.nr fs 0.2v
|
||||||
|
.if \n($T \
|
||||||
|
. nr fs 0
|
||||||
|
.if n .nr es 1v
|
||||||
|
.if t .nr es 0.5v
|
||||||
|
.wh 0 @h
|
||||||
|
.nr $l \n(.lu
|
||||||
|
.nr _L \n(.lu
|
||||||
|
.nr $c 1
|
||||||
|
.nr $f 1 1
|
||||||
|
.ds * \*[1\*]\k*\"
|
||||||
|
.nr $d 1 1
|
||||||
|
.ds # [1]\k#\"
|
||||||
|
.nr _M 1
|
||||||
|
.ds lq \&"\"
|
||||||
|
.ds rq \&"\"
|
||||||
|
.if t \
|
||||||
|
. ds lq ``
|
||||||
|
.if t \
|
||||||
|
. ds rq ''
|
||||||
|
.em @z
|
||||||
|
.de sc
|
||||||
|
.so \\*(||/chars.me
|
||||||
|
.rm sc
|
||||||
|
..
|
||||||
|
.ll 6.0i
|
||||||
|
.lt 6.0i
|
||||||
63
tmac/tmac.jsdisp
Normal file
63
tmac/tmac.jsdisp
Normal file
@@ -0,0 +1,63 @@
|
|||||||
|
. \" DS - display. If .DS C, center; L, left-adjust; I, indent.
|
||||||
|
.de DS
|
||||||
|
.KS
|
||||||
|
.nf
|
||||||
|
.\\$1D \\$2 \\$1
|
||||||
|
.ft 1
|
||||||
|
.ps \\n(PS
|
||||||
|
.if \\n(VS>40 .vs \\n(VSu
|
||||||
|
.if \\n(VS<=39 .vs \\n(VSp
|
||||||
|
..
|
||||||
|
.de D
|
||||||
|
.ID \\$1
|
||||||
|
..
|
||||||
|
.de CD
|
||||||
|
.XD
|
||||||
|
.ce 1000
|
||||||
|
..
|
||||||
|
.de ID
|
||||||
|
.XD
|
||||||
|
.if t .in +0.5i
|
||||||
|
.if n .in +8
|
||||||
|
.if \\n(.$ .if !"\\$1"I" .if !"\\$1"" .in \\n(OIu
|
||||||
|
.if \\n(.$ .if !"\\$1"I" .if !"\\$1"" .in +\\$1n
|
||||||
|
..
|
||||||
|
.de LD
|
||||||
|
.XD
|
||||||
|
..
|
||||||
|
.de XD
|
||||||
|
.nf
|
||||||
|
.nr OI \\n(.i
|
||||||
|
.SP \\n(DVu
|
||||||
|
.sp \\n(DVu
|
||||||
|
..
|
||||||
|
. \" BD - block display: save everything, then center it.
|
||||||
|
.de BD
|
||||||
|
.XD
|
||||||
|
.nr BD 1
|
||||||
|
.nf
|
||||||
|
.in \\n(OIu
|
||||||
|
.di DD
|
||||||
|
..
|
||||||
|
. \"DE - display end
|
||||||
|
.de DE
|
||||||
|
.ce 0
|
||||||
|
.if \\n(BD>0 .DF
|
||||||
|
.nr BD 0
|
||||||
|
.in \\n(OIu
|
||||||
|
.KE
|
||||||
|
.SP \\n(DVu
|
||||||
|
.sp \\n(DVu
|
||||||
|
.fi
|
||||||
|
..
|
||||||
|
. \" DF - finish a block display to be recentered.
|
||||||
|
.de DF
|
||||||
|
.di
|
||||||
|
.if \\n(dl>\\n(BD .nr BD \\n(dl
|
||||||
|
.if \\n(BD<\\n(.l .in (\\n(.lu-\\n(BDu)/2u
|
||||||
|
.nr EI \\n(.l-\\n(.i
|
||||||
|
.ta \\n(EIuR
|
||||||
|
.nf
|
||||||
|
.DD
|
||||||
|
.in \\n(OIu
|
||||||
|
..
|
||||||
3
tmac/tmac.m
Normal file
3
tmac/tmac.m
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
'''\" TMAC.M @(#)tmacs.src 1.7
|
||||||
|
.if n .so #9/sys/lib/tmac/mmn
|
||||||
|
.if t .so #9/sys/lib/tmac/mmt
|
||||||
2014
tmac/tmac.mcs
Normal file
2014
tmac/tmac.mcs
Normal file
File diff suppressed because it is too large
Load Diff
1
tmac/tmac.nihongo
Normal file
1
tmac/tmac.nihongo
Normal file
@@ -0,0 +1 @@
|
|||||||
|
.pi $PLAN9/bin/mnihongo
|
||||||
2
tmac/tmac.org
Normal file
2
tmac/tmac.org
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
'''\" TMAC.ORG @(#)tmacs.src 1.7
|
||||||
|
.so /usr/lib/macros/org
|
||||||
154
tmac/tmac.pictures
Normal file
154
tmac/tmac.pictures
Normal file
@@ -0,0 +1,154 @@
|
|||||||
|
.de PI \" Picture Include
|
||||||
|
. \" $1=file(page) $2=height,width,yoff,xoff $3=flags
|
||||||
|
. \" Height, width, xoff, and yoff are for the frame, flags is for the
|
||||||
|
. \" picture. Default dimensions are inches.
|
||||||
|
\\X'PI:\\n(.o:\\n(.i:\\n(.l:\\n(.t:\\$1:\\$2:\\$3:'\\c
|
||||||
|
..
|
||||||
|
.nr FT 0
|
||||||
|
.de BP \" Begin a Picture
|
||||||
|
. \"
|
||||||
|
. \" $1=file(page) $2=height $3=width $4=position $5=offset $6=flags $7=label
|
||||||
|
. \"
|
||||||
|
. \" Height, width, position, and offset are for the frame, flags is for
|
||||||
|
. \" the picture. The postion flag should be l, c, r, or "". Omitting the
|
||||||
|
. \" position argument is also allowed for compatibility with the original
|
||||||
|
. \" version of the macro. In that case offset is taken relative to your
|
||||||
|
. \" left margin.
|
||||||
|
.if \\n(FT>1 .EP
|
||||||
|
. \" Need these when we switch environments.
|
||||||
|
.nr Ov \\n(.v
|
||||||
|
.nr Oi \\n(.i
|
||||||
|
.nr Ol \\n(.l
|
||||||
|
. \" Remember the arguments - sometimes as both a string and number register.
|
||||||
|
.nr $2 \\$2i
|
||||||
|
.nr $3 \\$3i
|
||||||
|
.nr $4 \\$4i
|
||||||
|
.ds $4 \\$4
|
||||||
|
.nr $5 \\$5i
|
||||||
|
.ds $5 \\$6
|
||||||
|
.ds $6 \\$7
|
||||||
|
. \" Accept a few unadvertised position flags.
|
||||||
|
.if '\\*($4'L' .ds $4 l
|
||||||
|
.if '\\*($4'C' .ds $4 c
|
||||||
|
.if '\\*($4'R' .ds $4 r
|
||||||
|
. \" A null with more than three arguments means l.
|
||||||
|
.if \\n(.$>3 .if '\\*($4'' .ds $4 l
|
||||||
|
. \" Default frame dimensions if missing, zero, or null.
|
||||||
|
.if !\\n($2>0 .nr $2 3.0i
|
||||||
|
.if !\\n($3>0 .nr $3 \\n(.lu-\\n(.iu-\\n($4u
|
||||||
|
.if !\\n($3>0 .nr $3 \\n($2u
|
||||||
|
. \" Figure out the offset that will be used the rest of the way.
|
||||||
|
.if '\\*($4'l' .nr $4 \\n($5u
|
||||||
|
.if '\\*($4'c' .nr $4 (\\n(.lu-\\n(.iu-\\n($3u)/2u+\\n($5u
|
||||||
|
.if '\\*($4'r' .nr $4 \\n(.lu-\\n(.iu-\\n($3u+\\n($5u
|
||||||
|
. \" If we haven't recognized the position flag assume it wasn't given and
|
||||||
|
. \" treat argument four as an offset from the left.
|
||||||
|
.if !'\\*($4'l' .if !'\\*($4'c' .if !'\\*($4'r' .ds $5 \\$5
|
||||||
|
.if !'\\*($4'l' .if !'\\*($4'c' .if !'\\*($4'r' .ds $6 \\$6
|
||||||
|
. \" Set increments for line length and indent.
|
||||||
|
.nr Ii \\n($3u+\\n($4u+.1i
|
||||||
|
.nr Il \\n(.lu-\\n(.iu-\\n($4u+.1i
|
||||||
|
. \" Set the frame type to one of:
|
||||||
|
. \" 0 - frame is as wide as a line of text - skip over it.
|
||||||
|
. \" 1 - fits in left or right margins
|
||||||
|
. \" 2 - fill with text on the right
|
||||||
|
. \" 3 - on the left
|
||||||
|
. \" 4 - or on both sides of the frame
|
||||||
|
. \" 5 - only set in EP if FT was 4 and now filling on the right.
|
||||||
|
. \" Assume the frame is as wide as a line of text, then check dimensions
|
||||||
|
. \" to see what's really true. The order of these tests is important!
|
||||||
|
.nr FT 0
|
||||||
|
.if \\n($4u>1.0i .nr FT 3
|
||||||
|
.if \\n($4u+\\n(.iu>=\\n(.lu .nr FT 1
|
||||||
|
.if \\n($3u+\\n($4u+\\n(.iu+1.0i<\\n(.lu .nr FT 2
|
||||||
|
.if \\n($3u+\\n($4u<=0 .nr FT 1
|
||||||
|
.if \\n(FT=2 .if \\n($4u>1.0i .nr FT 4
|
||||||
|
. \" Ask for some vertical space - labeled pictures need a little extra,
|
||||||
|
. \" margin pictures a little less.
|
||||||
|
.if \\n(FT=1 .if '\\*($6'' .ne \\n($2u
|
||||||
|
.if \\n(FT=1 .if !'\\*($6'' .ne \\n($2u+2v
|
||||||
|
.if !\\n(FT=1 .if '\\*($6'' .ne \\n($2u+3v
|
||||||
|
.if !\\n(FT=1 .if !'\\*($6'' .ne \\n($2u+5v
|
||||||
|
. \" Save our place, draw the picture, label it, and return. Need precise
|
||||||
|
. \" control of when \X'...' is put out - thus the new environment.
|
||||||
|
.mk Oh
|
||||||
|
.ev 1
|
||||||
|
.in \\n(Oiu
|
||||||
|
.ll \\n(Olu
|
||||||
|
.vs \\n(Ovu
|
||||||
|
.if \\n(FT=1 .sp -1v
|
||||||
|
.if \\n(FT=1 .PI \\$1 \\n($2u,\\n($3u,\\n(.vu,\\n($4u t\\*($5
|
||||||
|
.if !\\n(FT=1 .PI \\$1 \\n($2u,\\n($3u,\\n(.vu,\\n($4u \\*($5
|
||||||
|
.in
|
||||||
|
.ll
|
||||||
|
.vs
|
||||||
|
.ev
|
||||||
|
.lt \\n($3u
|
||||||
|
.tl \(ts\(ts\\h'\\n($4u+\\n(.iu'\\v'\\n($2u+1.5v'\\*($6\\v'-\\n($2u-1.5v'\\h'-\\n($4u-\\n(.iu'\(ts\(ts
|
||||||
|
.lt
|
||||||
|
'sp |\\n(Ohu
|
||||||
|
. \" Figure out what to do with the text that follows.
|
||||||
|
.if !'\\*($6'' .nr $2 +2v
|
||||||
|
.if \\n(FT=0 .sp \\n($2u+2v
|
||||||
|
.if \\n(FT=1 .nr FT 0
|
||||||
|
.if \\n(FT=2 'in +\\n(Iiu
|
||||||
|
.if \\n(FT>2 .ll -\\n(Ilu
|
||||||
|
.if \\n(FT>1 .di BB
|
||||||
|
.if \\n(FT>1 .dt \\n($2u+2v+1u EP
|
||||||
|
. \" Clean things up.
|
||||||
|
.rr $2
|
||||||
|
.rr $3
|
||||||
|
.rr $4
|
||||||
|
.rm $4
|
||||||
|
.rr $5
|
||||||
|
.rm $5
|
||||||
|
.rm $6
|
||||||
|
.rr Oh
|
||||||
|
.rr Oi
|
||||||
|
.rr Ol
|
||||||
|
.rr Ov
|
||||||
|
.if \\n(FT=0 .EP
|
||||||
|
..
|
||||||
|
.de EP \" End the Picture - Normally called from a trap, although it can be used
|
||||||
|
. \" on its own to mark the end of a picture.
|
||||||
|
.nr Ot 0
|
||||||
|
.if \\n(.tu<\\n(.pu .nr Ot \\n(.tu
|
||||||
|
.if \\n(Ot>0 .if \\n(FT=4 .nr FT 3
|
||||||
|
.if \\n(FT<2 .nr Ot 0
|
||||||
|
.if \\n(Ot>0 .br
|
||||||
|
.if \\n(FT=5 .nr Ot 0
|
||||||
|
.if \\n(FT>1 \{\
|
||||||
|
. ev 1
|
||||||
|
. eo
|
||||||
|
. br
|
||||||
|
. di
|
||||||
|
. nf
|
||||||
|
. in 0
|
||||||
|
. BB
|
||||||
|
. in
|
||||||
|
. fi
|
||||||
|
. ec
|
||||||
|
. ev
|
||||||
|
. rm BB\}
|
||||||
|
.if \\n(FT=5 \{\
|
||||||
|
. nr FT 2
|
||||||
|
' sp |\\n(Nhu+1v\}
|
||||||
|
.if \\n(FT=4 \{\
|
||||||
|
. mk Nh
|
||||||
|
. nr Nh -1v
|
||||||
|
. nr FT 5
|
||||||
|
' sp -\\n(dnu+1v
|
||||||
|
' in +\\n(Iiu
|
||||||
|
. ll +\\n(Ilu
|
||||||
|
. di BB
|
||||||
|
. dt \\n(dnu-2v+1u EP\}
|
||||||
|
.if \\n(FT=2 'in -\\n(Iiu
|
||||||
|
.if \\n(FT=3 .ll +\\n(Ilu
|
||||||
|
.if \\n(FT<4 .nr FT 0
|
||||||
|
.if \\n(Ot>0 .sp \\n(Otu
|
||||||
|
.rr Ot
|
||||||
|
.if \\n(FT=0 \{\
|
||||||
|
. rr Nh
|
||||||
|
. rr Ii
|
||||||
|
. rr Il\}
|
||||||
|
..
|
||||||
51
tmac/tmac.psychrefs
Normal file
51
tmac/tmac.psychrefs
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
.de [1
|
||||||
|
.in 3n
|
||||||
|
.ti 0
|
||||||
|
\\*([A\c
|
||||||
|
.ie \\n([A=0 \&. \&
|
||||||
|
.el \& \&
|
||||||
|
\\*([T.
|
||||||
|
\f2\\*([J,\f1
|
||||||
|
\\*([D,
|
||||||
|
.if !"\\*([N"" .if !"\\*([V"" \\f3\\*([V\\f1 (\\*([N),
|
||||||
|
.if "\\*([N"" .if !"\\*([V"" \\f3\\*([V\\f1,
|
||||||
|
\\*([P.
|
||||||
|
..
|
||||||
|
.de [2
|
||||||
|
.in 3n
|
||||||
|
.ti 0
|
||||||
|
\\*([A\c
|
||||||
|
.ie \\n([A=0 \&. \&
|
||||||
|
.el \& \&
|
||||||
|
\\f2\\*([T.\\f1
|
||||||
|
\\*([C: \\*([I, \\*([D.
|
||||||
|
..
|
||||||
|
.de [3
|
||||||
|
.in 3n
|
||||||
|
.ti 0
|
||||||
|
\\*([A\c
|
||||||
|
.ie \\n([A=0 \&. \&
|
||||||
|
.el \& \&
|
||||||
|
\\*([T.
|
||||||
|
In \\*([E (Ed.),
|
||||||
|
\\f2\\*([B\\f1.
|
||||||
|
\\*([C: \\*([I, \\*([D.
|
||||||
|
..
|
||||||
|
.de [5
|
||||||
|
.in 3n
|
||||||
|
.ti 0
|
||||||
|
\\*([A\c
|
||||||
|
.ie \\n([A=0 \&. \&
|
||||||
|
.el \& \&
|
||||||
|
\\*([T,
|
||||||
|
\\*([M.
|
||||||
|
..
|
||||||
|
.de [4
|
||||||
|
.in 3n
|
||||||
|
.ti 0
|
||||||
|
\\*([A\c
|
||||||
|
.ie \\n([A=0 \&. \&
|
||||||
|
.el \& \&
|
||||||
|
\\*([T.
|
||||||
|
Report \\*([R, \\*([I, \\*([D.
|
||||||
|
..
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user