[Mplus-fonts-dev 51] Re: 「あ - そ」再び修正しました。

Back to archive index

KANOU Hiroki kanou****@khdd*****
2003年 11月 9日 (日) 23:29:25 JST


狩野です。

[Mplus-fonts-dev 46] にて森下さん:
> 仮想ボディ枠を 1024 * 1024 に変更するとともに、
> 全ての文字を再び太くし、文字バランスも見直しました。

今になって言うのもなんですが、1000 のほうがよかったかもしれません。
まずは OpenType を目標において作るのが分かりやすいからです。

TrueType のアウトラインは 2 次ベジェ曲線を元にしていますから、
Illustrator で編集して作った 3 次ベジェ曲線より自由度が低いのです。
フォント化のときは必ず、曲線のフォーマットを変換しなくてはなりません。
これによって必ず誤差が生じます。(逆ならば誤差を生じずに変換できます。
ただし、座標値に 1/3 の端数 (TrueType では曲線上の点の座標に 1/2 の
端数が生じることがあるので、最小で 1/6 刻みになります) が生じます。

中間に点を増やすなどすれば誤差を減らすことができますが、現在の PfaEdit
のアルゴリズムはあまり精度が高くないようで、変換後のパスを元の文字に
重ね合わせてみると、最大で2〜3ユニットの誤差が生まれます。

「フォント情報」の「一般情報」で一番下の「2 次スプライン」をチェック
すると、曲線のフォーマットが変換されます。別ウィンドウで元のフォントを
開いて、そこに変換した文字をコピペすると、完全に一致しないのがお分かり
頂けるかと思います。

OpenType (Type1 や CID など、他の PostScript フォントも同様) の座標は
1000 ユニットにするのが慣例ですが、1024 でもできないことはない (この
場合 /FontMatrix [ 0.0009765625 0 0 0.0009765625 0 0 ] def という半端な
値になりますが) ので、一旦変換したからには、このまま進めたほうがいいと
思います。

一般的にフォント作成の注意点としては、
・座標値は整数値にする (PS フォントでは分数の座標を使えますが、フォント
  サイズが大きくなるので避けるべき) 
・極値 (曲線の接線が水平・垂直になる点) に点を置く
ことが、レンダリング品質を良くするためには必要だとされています。極値への
点の追加は、PfaEditでは「エレメント」→「極大点の追加」で自動的に行われ
ます。ただし、この点の座標が整数値とは限らないので、出力時の変換の結果、
誤差が生じる可能性もあるので、最初から点を置いておくに越したことはあり
ません。

> 例によって仮想ボディ枠の左下が基準点 (0,0) となっています。
> 全体を Descent 値の分だけ下げたいのですが、スクリプト内での修正方法が
> 分かりません、よろしくお願いいたします。

SelectAll(); Move(0, -123)

みたいにすると全部の文字が下がります。

ところで、EPS ファイルを cvs に置いてはいかがでしょうか。現在の Web の
サンプル表示はどんどん変わっていくので、前に文字を見て感じた印象と
現在の印象が異なるのが字体が変化したからなのか、自分が見慣れたからなのか
分からないことがあります。もし、お使いの Illustrator が SVG 書き出しに
対応しているなら、cvsweb 経由で、ブラウザ上に表示させてみることができ、
形を見比べることができます。

狩野 宏樹  <kanou****@khdd*****>



mplus-fonts-dev メーリングリストの案内
Back to archive index