% 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
% 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