kazuy****@mbg*****
kazuy****@mbg*****
2003年 11月 24日 (月) 19:08:27 JST
いまづです。 狩野さん、いろいろとご指摘ありがとうございます・・・ですが、 >[Mplus-fonts-dev 101] のいまづさんのテスト結果 >> 1.PfaEditを通常通りコンパイルしたものでkochi-gothic-substitute.ttfを開き 、 >> Kochi-Gothic.ttfを出力(保存ではなく) >> 2.tottf.cの2851行(・・・だと思いますが)をavg1/cnt1に修正して >> コンパイルしたものでKochi-Gothic2.ttfを出力 >> >> これらをWindowsXPにインストールしてメモ帳、Mozilla、IEで表示確認しましたが 、 >> 1.のほうは日本語部分がスペーシング(というかフォントの幅)が >> リンク先3、4番目のスクリーンショットのようになりました。 > >によると、WindowsXP では、日本語フォントの表示の際に OS/2 テーブルの >avgCharWidth の値を見て送り幅を決めているようですね。 ・・・昨日の時点で気づいておくべきだったのですが、 mplus-bitmapをアウトライン化したものではavgCharWidth問題が発生していませんでし た。そこで、いくつかのTTFでも試してみましたが、avgCharWidth値は全文字の平均値 なものの表示は問題ないようでした。 ひょっとして、私の勘違いだったのかと思い、念のため再度kochi-gothic-substitute. ttfで試してみると、やはり文字幅がおかしいっぽいです。 ということで、どちらかというとxAvgCharWidthの処理がおかしいというよりは、 kochi-gothic-substitute.ttfがたまたまどこかのパラメータの組み合わせが うまくいってないっぽい気がしています。 ですので、あまりひっぱるのものなんなのでxAvgCharWidthの処理部分を除いたものと + 下の部分のパッチだけ投げておこうと思います >ところで、SetPanose() で固定幅を指定してから出力したフォントを >MS Font Validator にかけると、 >「OS/2 テーブルの Panose[3] の値が 9 (Monospaced) なのに、 > post テーブルの isFixedPitch の値が 0 になっている」 >というエラーメッセージが出てきます。 >どうやらこの 2 つは揃っていなければならないようです。 > >というわけで、以下のパッチが必要のようです。 > >(この変数は、tottf.c の 3567 行目で at->isfixed にコピーされ、 >それが 2513 行目で post テーブルに書き出されます。) > >--- tottf.c~ Sun Nov 9 12:49:49 2003 >+++ tottf.c Mon Nov 24 14:23:39 2003 >@@ -4422,7 +4422,8 @@ > at->gi.onlybitmaps = format==ff_none; > at->gi.flags = flags; > at->gi.bsizes = bsizes; >- at->gi.fixed_width = CIDOneWidth(sf); >+ at->gi.fixed_width = (sf->pfminfo.pfmset) ? (sf->pfminfo.panose[3]==9) : >+ CIDOneWidth(sf); > at->isotf = format==ff_otf || format==ff_otfcid; > > at->maxp.version = 0x00010000; > >狩野 宏樹 <kanou****@khdd*****> >_______________________________________________ >mplus-fonts-dev mailing list >mplus****@lists***** >http://lists.sourceforge.jp/mailman/listinfo/mplus-fonts-dev