kazuy****@mbg*****
kazuy****@mbg*****
2003年 11月 18日 (火) 14:26:08 JST
いまづです。 >> #PfaEditでOS/2テーブルがうまくあつかえず、苦戦しました・・・。 >この辺りのノウハウを教えてもらえませんか?。 昨日は上記のように書いてしまいましたが、 よく考えると、私が仕様をちゃんと理解していないため、PfaEditはあまり関係がない かもしれないので、とちと後悔しております。 が、ノウハウと呼べるものではありませんが、 なにかの参考になるかもしれないので、試行錯誤の流れを書いておきます。 また、突っ込み等々もおねがいします。 ・metaconvert.plでmplus.ttfを作成したところ、 新たに設定したAscender、Descenderの値が反映されていない件 1.metaconvert.plでmplus.ttfを作成してみる 2.TTEditで確認したところ、新たに設定したAscender、Descenderが 使用されていない模様。 3.Web等で調べたところWindowsではhheaテーブルのascender、descender ではなくOS2テーブルのsTypo〜の値を使用している模様。 4.PfaEditのソースをみたところ、OS2テーブルのsTypo〜は SplineFont.pfminfoの値を反映しており、 SFD、TTFを読み込む以外は値の設定をしていない。 5.対応策としてSFDに一度落として、テキストエディタで直接OS2テーブルの sTypo〜の値を手で修正後TTFを出力しました。 ・kochi-gothic.ttfにmplusのepsをインポートしたところ、 フォントのスペーシングがおかしくなった件 1.PfaEditでkochi-gothicにmplusのepsをインポートしTTFを作成。 2.TTFをメモ帳@WindowsXPで確認してみたところ日本語のスペーシングがおかしい (一文字分の余計な空白が入る、Konqueror@RedHat9では問題なし。 比較条件が異なるのがなんですが・・・。) 3.元のkochi-gothicと比較した結果、OS2テーブルのxAvgCharWidthの値が異なる。 (kochi=512, mplus=900) 4.TrueTypeの仕様書を見るとxAvgCharWidthの値はalphabet小文字+スペースの 幅の平均値となっており、OpenTypeでは全文字の平均をとっている模様。 5.PfaEditではOpenTypeの仕様になっている模様 6.対応策として小文字+スペースの平均になるようにtottf.cを修正。 (avg2/cnt2→avg1/cnt1にする) 以上ですが、結構適当な対応なので、 対応が間違いとか、そもそも、OTFで出力してれば問題なく動くのでは・・・と思った りもしています。 できれば識者からの突っ込みをおねがいします。