You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
75 lines
1.9 KiB
75 lines
1.9 KiB
%!
|
|
% 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
|
|
/CurrentSize FirstSize def
|
|
/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
|
|
CurrentSize 50 lt {
|
|
FontName findfont 50 scalefont setfont
|
|
(Q) false charpath pathbbox
|
|
exch pop exch sub exch pop 1.25 mul CurrentSize 50 div mul /height exch def
|
|
}{
|
|
(Q) false charpath pathbbox
|
|
exch pop exch sub exch pop 1.25 mul /height exch def
|
|
} ifelse
|
|
grestore
|
|
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
|
|
/CurrentSize FirstSize Ratio mul def
|
|
FontName findfont CurrentSize scalefont setfont
|
|
/Ratio Ratio dup mul def
|
|
} repeat
|
|
|
|
clear cleardictstack
|
|
alphabetsave restore
|
|
% Per page independence description in the PLRM Section 3.7.3, showpage follows restore
|
|
showpage
|