makeotf コマンド
これでようやく、makeotf コマンドを実行するためのファイルが揃ったので、これまでに作成したファイルを元に、実際に OpenType フォントを作成します。
ディレクトリ構成
まずは、ディレクトリ内のファイル構成を、以下のようにしてください。
- out.cff (mergefonts で作成したフォント) - fontinfo (必要であれば) - FontMenuNameDB - features.fea - UniJIS2004-UTF32-H または UniJIS-UTF32-H - Adobe-Japan1_sequences.txt
コマンド実行
次に、そのディレクトリ内で、以下のコマンドを実行してください。
-o FILE で出力ファイル名を指定できますが、省略すると、<PostScript名>.otf となります。
警告などの情報が表示される場合もありますが、問題なければ、OpenType フォントが作成されます。
実際に使って試してみてください。
※ mergefonts で Adobe-Japan1-7 より前の ROS にして作成した場合、CMap や異体字のマッピングは Adobe-Japan1-7 用のファイルが使われるため、フォントに存在しない CID が指定されることになりますが、それらの CID は、警告が表示された上でスキップされるので、作成上は問題ありません。
ただし、features ファイルにおいては、使用されない CID は除外する必要があります。
$ 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 FILE | FontMenuNameDB ファイルを指定します。 省略すると、カレントディレクトリから "FontMenuNameDB" ファイルが検索されます。 |
-ff FILE | features ファイルを指定します。 省略した場合、"features.fea" ファイルが検索されます。 |
-ch FILE | CID フォントの場合、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 オプションを付けて再度作成します。
-r を付けると、最適化などが行われ、ファイルサイズが少し減少します。
実際にフォントを配布する場合などは、-r を付けて作成してください。
-r が付いていない場合、name テーブル内のバージョンの文字列には、以下のように、開発中であることを示す "DEVELOPMENT" が付加されます。
-r で作成すると、"DEVELOPMENT" の文字列は削除されます。
$ 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" の文字列は削除されます。