*** 5.10/gs_cidfn.ps Tue Jun 17 23:34:15 1997 --- ./gs_cidfn.ps Sat Jan 3 20:29:04 1998 *************** *** 24,31 **** % the CIDFont resource category. ! /.definecidfont [ ! % CIDFontType 0 ! { dup /FontMatrix known not { dup /FontMatrix [0.001 0 0 0.001 0 0] put dup /FDArray get --- 24,37 ---- % the CIDFont resource category. ! /.cidfonttypes where { pop } { /.cidfonttypes 6 dict def } ifelse ! .cidfonttypes begin ! % The key in .cidfonttypes is the CIDFontType value; ! % the value is a procedure that takes a font name and the CIDFont dictionary ! % and replaces the latter with a real font. ! ! 0 % CIDFontType 0 = FontType 9 ! { dup /FontType 9 put ! dup /FontMatrix known not { dup /FontMatrix [0.001 0 0 0.001 0 0] put dup /FDArray get *************** *** 37,41 **** { % Add pro forma entries dup /FontType 1 put ! dup /CharStrings 10 dict put dup /Encoding [] put % Create a dummy Subrs array now. --- 43,47 ---- { % Add pro forma entries dup /FontType 1 put ! dup /CharStrings mark /.notdef () .dicttomark put dup /Encoding [] put % Create a dummy Subrs array now. *************** *** 47,61 **** forall ] 1 index /FDepVector 3 -1 roll put 1 index exch .buildfont9 exch pop ! } bind ! % CIDFontType 1 ! { 1 index exch .buildfont10 exch pop ! } bind ! % CIDFontType 2 ! { 1 index exch .buildfont11 exch pop ! } bind ! ] def % ---------------- Reading CIDFontType 0 files ---------------- % --- 53,69 ---- forall ] 1 index /FDepVector 3 -1 roll put 1 index exch .buildfont9 exch pop ! } bind def ! 1 % CIDFontType 1 = FontType 10 ! { dup /FontType 10 put ! 1 index exch .buildfont10 exch pop ! } bind def ! 2 % CIDFontType 2 = FontType 11 ! { dup /FontType 11 put ! 1 index exch .buildfont11 exch pop ! } bind def ! end % .cidfonttypes % ---------------- Reading CIDFontType 0 files ---------------- % *************** *** 385,399 **** % Define the CIDFont resource category. /CIDFont /Generic /Category findresource dup length dict .copydict dup /InstanceType /dicttype put dup /DefineResource { ! dup /CIDFontType get dup 9 add /FontType exch 3 index 3 1 roll put ! //.definecidfont exch get exec /Generic /Category findresource /DefineResource get exec } put /Category defineresource pop - - currentdict /.definecidfont undef % Add the new FontType resources. --- 393,411 ---- % Define the CIDFont resource category. + % We break out .buildcidfont because it appears that at least for + % Type 32 (CIDFontType 4) fonts, the font can be registered in the Font + % category with only a CIDFontType and no FontType. + /.buildcidfont { % .buildcidfont + % + dup /CIDFontType get //.cidfonttypes exch get exec + } odef /CIDFont /Generic /Category findresource dup length dict .copydict dup /InstanceType /dicttype put dup /DefineResource { ! .buildcidfont /Generic /Category findresource /DefineResource get exec } put /Category defineresource pop % Add the new FontType resources.