2005-01-16
安岡孝一さんが書かれている、「戸籍統一文字から OTF を作る」と同じ作業を、FontForge を使ってやってみたらどうなるかというシミュレーションです。
potrace が必要なのは安岡さんの方法と変わりません。ここからダウンロードして、パスの通った場所にインストールしておいてください。Windows の場合は cygwin が必要ですが、FontForge が入っているなら当然入っているはずですよね。
PNG 画像の読み込みには、libpng と、それが使う zlib をインストールしておく必要があります。BMP に変換すれば FontForge 単独で (これらのライブラリを使わずに) 画像を読み込めますが、お薦めしません。詳しい方法は、マニュアルに譲ります (Mac の場合)。
安岡さんの例と同じ文字画像をダウンロードします。戸籍統一文字の検索画面から「はま」と入力して、出てきた最初のファイルを保存します。名前は "uni6D5C.png" としておきましょう。
FontForge をコマンドライン「fontforge -new」で起動して、フォントの新規作成を行います。
使用する文字コードとしては、フォント情報(I)→[エンコーディング]で、ISO 10646-1(BMP) を選びます。
他にも設定すべきフォント情報は各種ありますが、今回は、フォント名の変更の例だけを示します。
画像読み込みのオプションを設定します。
ファイル(F)→環境設定(P)→[アプリケーション] で、preferpotrace を「yes」にします (黄色い方がon)
ビットマップの取り込みを行います。ファイル(F)→取り込み(I) で、取り込みダイアログを呼び出し、フォーマットとして「画像テンプレート」を選択します。
その上のテキストボックスにはファイル名のテンプレートとして「uni*.png」を入力します。そうすると、このファイル名にマッチするファイル (上部のファイルピッカーに表示されています) が全て、ファイル名で指定された Unicode の符号位置に取り込まれます。
取り込んだグリフのタイトル部分が黒く反転し、そのグリフに変更が加えられたことが判ります。
文字「浜」を選択し、エレメント(L)→自動トレース(R) で、アウトラインをトレースします。
ここで初めて、フォントビューでグリフが表示されます。
文字ビューを開くとこんな感じです
後はファイルを保存・出力するだけですが、
表示(V)→96 pixel outline で表示を確認してみましょう。
なんだかバランスが悪くありませんか?
せっかく FontForge を使っているのですから、ちょっと手直ししてみましょう。
左がオリジナル、右が修正結果です。 詳細な修正手順は別ページに分けました。
もう背景のビットマップは要らないので、Ctrl-A を押して「すべて選択」を実行した後で、編集(E)→背景をクリア(B)で消去します。
続いてエレメント(L)→整数値に変換(B)を実行し、座標値を整数に丸めます。小数値を使うと、OTF を出力した時のファイルサイズが無駄に大きくなります。
ここでもう一度ファイルを保存してください。
TrueType を作成したいなら、このままファイル→フォントを出力を選択して、フォーマットを選択するだけです。ただし、フォーマット変換が行われるとともに点が追加されますので、元のファイルを別に保管しておくことをお薦めします。
OTF パッケージで使用できるような OpenType を作成する場合、文字の並び順を入れ換え、Adobe-Japan1 グリフ集合に従った CID フォントに変換しなければなりません。
メニューから CID→CIDに変換を選び、 次のダイアログでは CID フォントのグリフ集合名としては、Adobe-Japan1-6 を選択します。
「浜」の位置にあったグリフは、CID 3519 番に移動しています。
これで OpenType を出力することができます。
ファイル(F)→フォントを出力(G)でフォント書き出しダイアログを呼び出します。フォーマットは「OpenType CID」を選択します。ファイル名を指定して [保存(S)] を押すと、フォントが出力されます。