At Fri, 6 Apr 2001 20:15:25 +0900, Taketoshi Sano wrote: > *** gs-CID-V.diff + gs-PDF-V.diff に相当する PS ファイルの変更 *** とりあえずこれを当てて、gs.defoma を修正して、 gs_5.50-4.1cid1 としてビルドしてみました。 そして cmap-adobe-japan1 を install して GS> /EUC-H /CMap findresource してみると、こちらは問題無しなのですが GS> /EUC-V /CMap findresource では Error: /undefined in --get-- になります。/V でも同様。 というわけで、縦書き用 CMap がダメっぽいです。 ちなみに、ちゃんとCIDフォントでグリフが表示できることも 確認済です。 次のような hintfile を /etc/defoma/hints などにでも置いてやって # defoma-font register-all /etc/defoma/hints/hogehoge.hints で自動的に /usr/hare/ghostscript/fonts や .../CIDFont に 必要なファイルが生成されます。 /WadaMin-Regular-EUC-H findfont 20 scalefont setfont 100 500 moveto (あいうえお) show で表示されるのを確認しました。 当然ながら -EUC-V では無理。 --------------------------from here------------------ category cid begin /usr/local/CID/Wadalab/CIDFont/WadaGo-Bold FontName = WadaGo-Bold CIDRegistry = Adobe CIDOrdering = Japan1 CIDSupplement = 1 Family = WadaGo GeneralFamily = Gothic Weight = Bold Width = Variable Shape = Upright Priority = 20 end begin /usr/local/CID/Wadalab/CIDFont/WadaMaruGo-Regular FontName = WadaMaruGo-Regular CIDRegistry = Adobe CIDOrdering = Japan1 CIDSupplement = 1 Family = WadaMaruGo GeneralFamily = Maru Weight = Medium Width = Variable Shape = Upright Priority = 20 end begin /usr/local/CID/Wadalab/CIDFont/WadaMaruGo-RegularH FontName = WadaMaruGo-RegularH CIDRegistry = Adobe CIDOrdering = Japan2 CIDSupplement = 0 Family = WadaMaruGo GeneralFamily = Maru Weight = Medium Width = Variable Shape = Upright Priority = 20 end begin /usr/local/CID/Wadalab/CIDFont/WadaMin-Bold FontName = WadaMin-Bold CIDRegistry = Adobe CIDOrdering = Japan1 CIDSupplement = 1 Family = WadaMin GeneralFamily = Mincho Weight = Bold Width = Variable Shape = Upright Priority = 20 end begin /usr/local/CID/Wadalab/CIDFont/WadaMin-Regular FontName = WadaMin-Regular CIDRegistry = Adobe CIDOrdering = Japan1 CIDSupplement = 1 Family = WadaMin GeneralFamily = Mincho Weight = Medium Width = Variable Shape = Upright Priority = 20 end begin /usr/local/CID/Wadalab/CIDFont/WadaMin-RegularH FontName = WadaMin-RegularH CIDRegistry = Adobe CIDOrdering = Japan2 CIDSupplement = 0 Family = WadaMin GeneralFamily = Mincho Weight = Medium Width = Variable Shape = Upright Priority = 20 end --------------------------end here---------------- んでこれの原因としては、 > その中で、CMap の EUC-H をロードした直後に出るエラー、 > 「zgeneric.c の 160 行目で undefined 」というのに注目してみました。 > > zgeneric.c の該当する箇所は > > 156 switch (r_type(op1)) { > 157 case t_dictionary: > 158 check_dict_read(*op1); > 159 if (dict_find(op1, op, &pvalue) <= 0) > 160 return_error(e_undefined); > 161 op[-1] = *pvalue; > 162 break; > > となっているのですが、試しにダメモトでこれを > > 156 switch (r_type(op1)) { > 157 case t_dictionary: > 158 check_dict_read(*op1); > 159 if (dict_find(op1, op, &pvalue) <= 0) > 160 /* return_error(e_undefined); */ > 161 break; > 162 op[-1] = *pvalue; > 163 break; > > として make してみたところ、なんか article9.ps も表示できたっぽい > 感じです。 これ(EUC-H じゃなくて EUC-V ですよね?違う?)が原因かなぁ、と 思っています。 縦書き CMap が使えるようにならないとどうしようもなさそうですね。 使えるようになれば、ttf を CID type 2 に dump することが出来るので、 それを使って、後 ztype42.c への縦書き support patch も取り込めれば、 gs 5.5 でも CID テクノロジで日本語を(縦書きでも横書きでも)表示させることが 出来そうです。 というわけで、 1. EUC-V とか V などの CMap が通るように。 2. CID type 2 でも vertical writing 通るように。 が TODO? 力尽きたので今日はここまで。 cu hirot
Attachment:
pgpSLp6LS6e6R.pgp
Description: PGP signature