blob: 95137585b258b68591f16953e896f72f445afa8f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
%!
% Check for command line parameters:
% Name, FirstSize, Ratio, NumSizes, UseOutline.
/alphabetsave save def % prevent left over effects
/FontName where { pop } { /FontName (Palatino-Italic) def } ifelse
/FirstSize where { pop } { /FirstSize 15 def } ifelse
/Ratio where { pop } { /Ratio 1.6 def } ifelse
/NumSizes where { pop } { /NumSizes 3 def } ifelse
/UseOutline where { pop } { /UseOutline false def } ifelse
/Strings FirstSize 20 gt
{ [
(ABCDEFGHIJ) (KLMNOPQR) (STUVWXYZ)
(abcdefghijklm) (nopqrstuvwxyz)
(0123456789<=>) (:;?@ !"#$%&')
(\(\)*+,-./[\\]^_) (`{|}~)
] }
{ [
(ABCDEFGHIJKLMNOPQRSTUVWXYZ)
(abcdefghijklmnopqrstuvwxyz)
(0123456789<=>:;?@ !"#$%&')
(\(\)*+,-./ [\\]^_ `{|}~)
] }
ifelse def
/sshow
{ gsave UseOutline
{ { gsave ( ) dup 0 4 -1 roll put
false charpath pathbbox 0 setlinewidth stroke grestore
pop 8 add currentpoint exch pop moveto pop
} forall
}
{ 2 0 3 -1 roll ashow }
ifelse grestore
} def
FontName findfont FirstSize scalefont setfont
clippath pathbbox /top exch def pop pop pop newpath
10 10 moveto
NumSizes
{ gsave nulldevice (Q) false charpath pathbbox grestore
exch pop exch sub exch pop 1.25 mul /height exch def
Strings
{ currentpoint exch pop top height 3 mul sub gt
{ showpage 10 10 height sub moveto
}
if
dup sshow
UseOutline not
{ 0 height rmoveto gsave 0.01 rotate sshow grestore }
if
0 height rmoveto
} forall
Ratio dup scale
} repeat
showpage
clear cleardictstack
alphabetsave restore
|