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