More files!
This commit is contained in:
parent
36a9115fcb
commit
13f7391e4a
213 changed files with 54952 additions and 0 deletions
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
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue