Subversion Repositories planix.SVN

Rev

Rev 2 | Blame | Compare with Previous | Last modification | View Log | RSS feed

%
% 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