mirror of
https://github.com/9fans/plan9port.git
synced 2025-01-12 11:10:07 +00:00
More files!
This commit is contained in:
parent
36a9115fcb
commit
13f7391e4a
213 changed files with 54952 additions and 0 deletions
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
Loading…
Reference in a new issue