FontForge で戸籍統一文字を使う

2005-01-16

FontForge レシピ集トップへ

概要

安岡孝一さんが書かれている、「戸籍統一文字から OTF を作る」と同じ作業を、FontForge を使ってやってみたらどうなるかというシミュレーションです。

準備

potrace が必要なのは安岡さんの方法と変わりません。ここからダウンロードして、パスの通った場所にインストールしておいてください。Windows の場合は cygwin が必要ですが、FontForge が入っているなら当然入っているはずですよね。

PNG 画像の読み込みには、libpng と、それが使う zlib をインストールしておく必要があります。BMP に変換すれば FontForge 単独で (これらのライブラリを使わずに) 画像を読み込めますが、お薦めしません。詳しい方法は、マニュアルに譲ります (Mac の場合)。

手順

1.

安岡さんの例と同じ文字画像をダウンロードします。戸籍統一文字の検索画面から「はま」と入力して、出てきた最初のファイルを保存します。名前は "uni6D5C.png" としておきましょう。

2.

FontForge をコマンドライン「fontforge -new」で起動して、フォントの新規作成を行います。

使用する文字コードとしては、フォント情報(I)→[エンコーディング]で、ISO 10646-1(BMP) を選びます。

他にも設定すべきフォント情報は各種ありますが、今回は、フォント名の変更の例だけを示します。

3.

画像読み込みのオプションを設定します。

ファイル(F)→環境設定(P)→[アプリケーション] で、preferpotrace を「yes」にします (黄色い方がon)

4.

ビットマップの取り込みを行います。ファイル(F)→取り込み(I) で、取り込みダイアログを呼び出し、フォーマットとして「画像テンプレート」を選択します。

その上のテキストボックスにはファイル名のテンプレートとして「uni*.png」を入力します。そうすると、このファイル名にマッチするファイル (上部のファイルピッカーに表示されています) が全て、ファイル名で指定された Unicode の符号位置に取り込まれます。

取り込んだグリフのタイトル部分が黒く反転し、そのグリフに変更が加えられたことが判ります。

5.

文字「浜」を選択し、エレメント(L)→自動トレース(R) で、アウトラインをトレースします。

ここで初めて、フォントビューでグリフが表示されます。

文字ビューを開くとこんな感じです

6.

後はファイルを保存・出力するだけですが、 表示(V)→96 pixel outline で表示を確認してみましょう。

なんだかバランスが悪くありませんか?

7.

せっかく FontForge を使っているのですから、ちょっと手直ししてみましょう。

左がオリジナル、右が修正結果です。 詳細な修正手順は別ページに分けました。

8.

もう背景のビットマップは要らないので、Ctrl-A を押して「すべて選択」を実行した後で、編集(E)→背景をクリア(B)で消去します。

続いてエレメント(L)→整数値に変換(B)を実行し、座標値を整数に丸めます。小数値を使うと、OTF を出力した時のファイルサイズが無駄に大きくなります。

ここでもう一度ファイルを保存してください。

9.

TrueType を作成したいなら、このままファイル→フォントを出力を選択して、フォーマットを選択するだけです。ただし、フォーマット変換が行われるとともに点が追加されますので、元のファイルを別に保管しておくことをお薦めします。

10.

OTF パッケージで使用できるような OpenType を作成する場合、文字の並び順を入れ換え、Adobe-Japan1 グリフ集合に従った CID フォントに変換しなければなりません。

メニューから CID→CIDに変換を選び、 次のダイアログでは CID フォントのグリフ集合名としては、Adobe-Japan1-6 を選択します。

「浜」の位置にあったグリフは、CID 3519 番に移動しています。

11.

これで OpenType を出力することができます。

ファイル(F)→フォントを出力(G)でフォント書き出しダイアログを呼び出します。フォーマットは「OpenType CID」を選択します。ファイル名を指定して [保存(S)] を押すと、フォントが出力されます。