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