diff options
Diffstat (limited to 'gs/lib/cid2code.ps')
-rw-r--r-- | gs/lib/cid2code.ps | 36 |
1 files changed, 18 insertions, 18 deletions
diff --git a/gs/lib/cid2code.ps b/gs/lib/cid2code.ps index 6e609553f..7d26ccf55 100644 --- a/gs/lib/cid2code.ps +++ b/gs/lib/cid2code.ps @@ -1,12 +1,12 @@ % Copyright (C) 1998, 2000 Aladdin Enterprises. All rights reserved. -% +% % This software is provided AS-IS with no warranty, either express or % implied. -% +% % This software is distributed under license and may not be copied, % modified or distributed except as expressly authorized under the terms % of the license contained in the file LICENSE in this distribution. -% +% % For more information about licensing, please refer to % http://www.ghostscript.com/licensing/. For information on % commercial licensing, go to http://www.artifex.com/licensing/ or @@ -30,33 +30,33 @@ mark } def /endcmap { - % Stack: mark code_lo1 code_hi1 cid1 ... + % Stack: mark code_lo1 code_hi1 cid1 ... 20 dict begin /depth counttomark 3 sub def - % Do a first pass to determine the maximum CID. + % Do a first pass to determine the maximum CID. 0 0 3 depth { 1 add /d exch def d index d 2 add index 1 get add d 3 add index 1 get sub .max } for 1 add /ncid exch def /map ncid 2 mul string def - % Now fill in the map. + % Now fill in the map. 0 3 depth { /d exch def d index 2 mul /cid2 exch def d 1 add index /hi exch def d 2 add index 2 string copy /lo exch def lo 1 get 1 hi 1 get { - map cid2 lo 0 get put - map cid2 1 add 3 -1 roll put - /cid2 cid2 2 add def + map cid2 lo 0 get put + map cid2 1 add 3 -1 roll put + /cid2 cid2 2 add def } for } for - % Print the map. + % Print the map. (%stdout) (w) file dup (<) print dup /ASCIIHexEncode filter - dup map writestring + dup map writestring closefile () = flush closefile @@ -105,18 +105,18 @@ currentdict end readonly def (r) file /f exch def (%!) = (/CIDInit /ProcSet findresource begin 12 dict begin begincmap) = - % Print the information from the template. + % Print the information from the template. { exch ==only ( ) print dup type /dicttype eq { dup length =only ( dict dup begin) = { - ( ) print exch ===only ( ) print ===only ( def) = + ( ) print exch ===only ( ) print ===only ( def) = } forall (end def) = } { ===only } ifelse ( def) = } forall - % Read the data from the cid2code.txt file. + % Read the data from the cid2code.txt file. { f =string readline pop (CID\t) anchorsearch { pop pop exit } if pop } loop @@ -129,7 +129,7 @@ currentdict end readonly def dup (*) eq { pop (0000) } if (16#) exch concatstrings cvi } loop ] def - % Print the code space range(s). + % Print the code space range(s). /maxcid map length 1 sub def mark maxcid dup 255 and 255 eq { @@ -140,7 +140,7 @@ currentdict end readonly def counttomark 2 idiv dup =only ( begincodespacerange) = { exch .printhex2 .printhex2 () = } repeat (endcodespacerange) = - % Print the map data. + % Print the map data. 0 1 100 maxcid { /lo exch def /hi lo 99 add maxcid .min def @@ -149,11 +149,11 @@ currentdict end readonly def pop } { =only ( begincidchar) = lo 1 hi { - map 1 index get dup 0 eq { pop pop } { exch .printhex2 = } ifelse + map 1 index get dup 0 eq { pop pop } { exch .printhex2 = } ifelse } for (endcidchar) = } ifelse } for - % Wrap up. + % Wrap up. (endcmap CMapName currentdict /CMap defineresource pop end end) = f closefile end |