home *** CD-ROM | disk | FTP | other *** search
- % Copyright (C) 1990, 1991 Aladdin Enterprises. All rights reserved.
- % Distributed by Free Software Foundation, Inc.
- %
- % This file is part of Ghostscript.
- %
- % Ghostscript is distributed in the hope that it will be useful, but
- % WITHOUT ANY WARRANTY. No author or distributor accepts responsibility
- % to anyone for the consequences of using it or for whether it serves any
- % particular purpose or works at all, unless he says so in writing. Refer
- % to the Ghostscript General Public License for full details.
- %
- % Everyone is granted permission to copy, modify and redistribute
- % Ghostscript, but only under the conditions described in the Ghostscript
- % General Public License. A copy of this license is supposed to have been
- % given to you along with Ghostscript so you can know your rights and
- % responsibilities. It should be in a file named COPYING. Among other
- % things, the copyright notice and this notice must be preserved on all
- % copies.
-
- % Print the CharStrings and Subrs from a Type 1 font in symbolic form.
-
- 30 dict dup begin
- 1 (hstem) def 3 (vstem) def 4 (vmoveto) def
- 5 (rlineto) def 6 (hlineto) def 7 (vlineto) def
- 8 (rrcurveto) def 9 (closepath) def 10 (callsubr) def
- 11 (return) def 13 (hsbw) def 14 (endchar) def
- 21 (rmoveto) def 22 (hmoveto) def 30 (vhcurveto) def
- 31 (hvcurveto) def
- 32 (dotsection) def 33 (vstem3) def 34 (hstem3) def
- 38 (seac) def 39 (sbw) def 44 (div) def
- 48 (callothersubr) def 49 (pop) def 65 (setcurrentpoint) def
- end /csdict exch def
-
- /printcs
- { dup type /stringtype eq
- { printcs1 (\n) print }
- { ( ) print == }
- ifelse
- } bind def
- /printcs1
- { 4330 exch dup length string type1decrypt exch pop
- dup /s exch def length /n exch def
- /lenIV where { pop lenIV } { 4 } ifelse
- 1 sub
- { 1 add dup n ge { exit } if
- ( ) print dup s exch get
- dup 31 le
- { dup 12 eq { pop 1 add dup s exch get 32 add } if
- dup csdict exch known
- { csdict exch get print }
- { =only (?) print }
- ifelse
- }
- { dup 247 lt
- { 139 sub }
- { dup 255 eq
- { pop 4 add (****)
- }
- { 247 sub {108 364 620 876 -108 -364 -620 -876} exch get
- exch 1 add exch s 2 index get add
- }
- ifelse
- }
- ifelse =only
- }
- ifelse
- } loop
- pop
- } bind def
-
- /printfont
- { currentfont begin Private begin 10 dict begin
- CharStrings { exch ==only printcs } forall
- 0 1 Subrs length 1 sub
- { dup =only
- Subrs exch get printcs
- } for
- end end end
- } bind def
-
- % /Times-Roman findfont setfont
- % printfont
-