[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-devel:14032] Re: test packages of gs and gs-aladdin.



佐野@浜松です。

In <20010408020326C.take@master.debian.or.jp>,
 on "Sun, 8 Apr 2001 02:04:20 +0900",
 with "[debian-devel:14027] Re: test packages of gs and gs-aladdin.",
  Yasuhiro Take <take@debian.or.jp> さん wrote:

> 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 がダメっぽいです。

試しに「縦書き用 CMap」の中で縦書き用の記号などを再定義している
箇所 ("begincidrange" から "endcidrange" まで) を削除して
実行してみてください。おそらく横書用のグリフになるので表示は
おかしくなりますが、一応表示の処理を完了してくれるはずだと
思います。

> ちなみに、ちゃんと CID フォントでグリフが表示できることも
> 確認済です。
> 次のような hintfile を /etc/defoma/hints などにでも置いてやって
> # defoma-font register-all /etc/defoma/hints/hogehoge.hints 
> で自動的に /usr/hare/ghostscript/fonts や .../CIDFont に
> 必要なファイルが生成されます。

どうもです。defoma 関連の資料は調べてないのでまたおいおい
眺めてみることにします。

> 当然ながら -EUC-V では無理。

> んでこれの原因としては、
> 
> > その中で、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 ですよね?違う?)が原因かなぁ、と
> 思っています。

中身を見るとわかりますが、V 系の CMap は usecmap を使って
内部で H 系の CMap を読んでいます。

コメントにも

%%DocumentNeededResources: CMap (EUC-H)

とか

%%IncludeResource: CMap (EUC-H)

などと書かれてますよね。

これはエンコーディングに依らず、すべての V 系 CMap に共通しています。

なので、EUC-V を読みに行って、usecmap を使って EUC-H を LOAD した後、

27 begincidrange

以降で縦書き用のグリフにアクセスしに行って、そこで落ちる、という
ことではないかなと考えています。

> 縦書き CMap が使えるようにならないとどうしようもなさそうですね。

「縦書き用グリフ」が確実に (sort disorder もなく) 含まれている
 CID フォントを使った場合の動作を確認したいのですが、なんとか
なりませんかね ?

> 使えるようになれば、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?

そのとおり、だと思います。

> 力尽きたので今日はここまで。

謝々 :)

--
     # (わたしのおうちは浜松市、「夜のお菓子」で有名さ。)
    <kgh12351@xxxxxxxxxxx> : Taketoshi Sano (佐野 武俊)