blob: 0f2950067ca93fbfeb3533abb9dfd755f8640470 [file] [log] [blame]
%!PS-Adobe-1.0
%%Creator: Eric Gisin <egisin@waterloo.csnet>
%%Title: Print font catalog
% Copyright (c) 1986 Eric Gisin
% Example usages at bottom of file
/#copies 1 def
/T6 /Times-Roman findfont 6 scalefont def
/Temp 64 string def
/Inch {72 mul} def
/Base 16 def % char code output base
% do single character of page
% output to rectangle ll=(0,-24) ur=(36,24)
/DoChar {
/C exch def
/S (_) dup 0 C put def
/N F /Encoding get C get def
% print code name, width and char name
/W F setfont S stringwidth pop def
T6 setfont
N /.notdef ne {0 -20 moveto N Temp cvs show} if
0 -12 moveto C Base Temp cvrs show ( ) show
W 0.0005 add Temp cvs 0 5 getinterval show
% print char with reference lines
N /.notdef ne {
3 0 translate
0 0 moveto F24 setfont S show
/W S stringwidth pop def
0 -6 moveto 0 24 lineto
W -6 moveto W 24 lineto
-3 0 moveto W 3 add 0 lineto
0 setlinewidth stroke
} if
} def
% print font sample page
/DoFont {
/FName exch def % font name
/F FName findfont def
/F24 F 24 scalefont def
/Line0 96 string def
/Line1 96 string def
/Times-Roman findfont 18 scalefont setfont
18 10.5 Inch moveto FName Temp cvs show ( ) show ((24 point)) show
0 1 95 {
/I exch def
/Xn I 16 mod def /Yn I 16 idiv def
% chars 20-7F
gsave
Xn 36 mul 18 add Yn -48 mul 9.5 Inch add translate
Line0 I I 16#20 add put
I 16#20 add DoChar
grestore
% chars A0-FF
gsave
Xn 36 mul 18 add Yn -48 mul 4.5 Inch add translate
Line1 I I 16#A0 add put
I 16#A0 add DoChar
grestore
} for
F 10 scalefont setfont
18 5.5 Inch moveto Line0 show
18 0.5 Inch moveto Line1 show
showpage
} def
% Do font samples
% /Times-Roman DoFont % Test (less than a minute)
% /Hershey-Gothic-English DoFont % Test (8 minutes)
% Do a complete catalog
% FontDirectory {pop DoFont} forall % All fonts (quite a long time)