OpenType フォントの作成

makeotf コマンド
これでようやく、makeotf コマンドを実行するためのファイルが揃ったので、これまでに作成したファイルを元に、実際に OpenType フォントを作成します。
ディレクトリ構成
まずは、ディレクトリ内のファイル構成を、以下のようにしてください。

- out.cff (mergefonts で作成したフォント)
- fontinfo (必要であれば)
- FontMenuNameDB
- features.fea
- UniJIS2004-UTF32-H または UniJIS-UTF32-H
- Adobe-Japan1_sequences.txt
コマンド実行
次に、そのディレクトリ内で、以下のコマンドを実行してください。

$ makeotf -f out.cff -mf FontMenuNameDB -ff features.fea -ch UniJIS2004-UTF32-H -ci Adobe-Japan1_sequences.txt

-f FILE入力フォントのファイル名を指定します。
※グリフのアウトラインデータのみ取得されます。フォントに関する情報は取得されません。
Type 1/CFF(CID)/TrueType/OpenType フォントなどを読み込めます。
-mf FILEFontMenuNameDB ファイルを指定します。
省略すると、カレントディレクトリから "FontMenuNameDB" ファイルが検索されます。
-ff FILEfeatures ファイルを指定します。
省略した場合、"features.fea" ファイルが検索されます。
-ch FILECID フォントの場合、CMap ファイル (横書き用) を指定します。
JIS2004 のフォントを作成するなら、UniJIS2004-UTF32-H。
JIS2004 でないフォントを作成するなら、UniJIS-UTF32-H を指定してください。
-ci FILE異体字に対応する場合、マッピングファイルを指定します。
Adobe-Japan1 であれば、Adobe-Japan1_sequences.txt を指定してください。

なお、Adobe-Japan1 などの CID フォントを作成する場合に、このオプションを省略すると、
ROS に応じて、AFDKO にインストールされている各ファイルが使用されます。
異体字に対応したくない場合は、空のテキストファイルを作成して、指定してください。

-o FILE で出力ファイル名を指定できますが、省略すると、<PostScript名>.otf となります。

警告などの情報が表示される場合もありますが、問題なければ、OpenType フォントが作成されます。
実際に使って試してみてください。

※ mergefonts で Adobe-Japan1-7 より前の ROS にして作成した場合、CMap や異体字のマッピングは Adobe-Japan1-7 用のファイルが使われるため、フォントに存在しない CID が指定されることになりますが、それらの CID は、警告が表示された上でスキップされるので、作成上は問題ありません。
ただし、features ファイルにおいては、使用されない CID は除外する必要があります。
グリフなどを確認する
spot コマンドや fontplot コマンドなどを使うと、PDF でグリフを確認できます。

## グリフの一覧を PDF に出力
$ fontplot -o out.pdf [-gpp 1ページのグリフ数] input.otf

## VORG を適用した時のグリフ一覧を出力
$ spot -t VORG=8 input.otf | ps2pdf - vorg.pdf

## GSUB のグリフ置換一覧を出力
$ spot -t GSUB=8 input.otf | ps2pdf - gsub.pdf

## GPOS を適用したグリフ一覧を出力
$ spot -t GPOS=8 input.otf | ps2pdf - gpos.pdf
問題点
源ノフォントのグリフの中には、全角幅であるべきものが、プロポーショナル幅になっているものがいくつかあります。
よく使うものでは、「′」「″」「‼」「⁉」などです。
これらについては、必要であれば、グリフの調整を行わなければなりません。
リリースモードで出力
フォントを確認して、問題がなければ、makeotf に -r オプションを付けて再度作成します。

$ makeotf -r -f out.cff -mf FontMenuNameDB -ff features.fea -ch UniJIS2004-UTF32-H -ci Adobe-Japan1_sequences.txt

-r を付けると、最適化などが行われ、ファイルサイズが少し減少します。
実際にフォントを配布する場合などは、-r を付けて作成してください。

-r が付いていない場合、name テーブル内のバージョンの文字列には、以下のように、開発中であることを示す "DEVELOPMENT" が付加されます。

Version 1.000;hotconv 1.0.118;makeotfexe 2.5.65603 DEVELOPMENT

-r で作成すると、"DEVELOPMENT" の文字列は削除されます。