home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
swCHIP 1991 January
/
swCHIP_95-1.bin
/
utility
/
gs333ini
/
gs3.33
/
pcharstr.ps
< prev
next >
Wrap
Text File
|
1995-12-09
|
2KB
|
76 lines
% Copyright (C) 1990, 1992 Aladdin Enterprises. All rights reserved.
%
% This file is part of Aladdin Ghostscript.
%
% Aladdin Ghostscript is distributed with NO WARRANTY OF ANY KIND. No author
% or distributor accepts any responsibility for the consequences of using it,
% or for whether it serves any particular purpose or works at all, unless he
% or she says so in writing. Refer to the Aladdin Ghostscript Free Public
% License (the "License") for full details.
%
% Every copy of Aladdin Ghostscript must include a copy of the License,
% normally in a plain ASCII text file named PUBLIC. The License grants you
% the right to copy, modify and redistribute Aladdin Ghostscript, but only
% under certain conditions described in the License. Among other things, the
% License requires that the copyright notice and this notice be preserved on
% all copies.
% pcharstr.ps
% Print the CharStrings and Subrs (if present) from a Type 1 font,
% in symbolic form.
% Load the Type 1 utilities.
(type1ops.ps) run
/printcs
{ dup type /stringtype eq
{ printcs1 (\n) print }
{ ( ) print == }
ifelse
} bind def
/printcs1
{ save exch
4330 exch dup length string .type1decrypt exch pop
dup length lenIV sub lenIV exch getinterval
0 () /SubFileDecode filter
mark exch charstack_read
counttomark 1 sub -1 0
{ index ( ) print ==only
}
for cleartomark restore
} bind def
/pfbbox 4 array def
/printfont
{ currentfont begin Private begin 10 dict begin
% Print the CharStrings and Subrs
CharStrings { exch ==only printcs } forall
/Subrs where
{ pop % the dictionary
0 1 Subrs length 1 sub
{ dup =only
Subrs exch get printcs
} for
} if
% Print the bounding boxes
gsave nulldevice FontMatrix matrix invertmatrix concat
0 1 Encoding length 1 sub
{ dup Encoding exch get dup /.notdef eq
{ pop pop
}
{ 1 index =only ( ) print ==only ( ) print
( ) dup 0 4 -1 roll put
newpath 0 0 moveto false charpath
pathbbox pfbbox astore ==
}
ifelse
} for
grestore
end end end
} bind def