FontForgeで日本語TrueTypeフォントを出力したとき、文字幅が広すぎることがよくあります。
たとえばIPAゴシックを読み込んですぐ [ファイル>フォントを出力]
でTrueTypeフォント保存するだけで、以下のようにまるで全角文字の幅が2倍になったようになります。
この原因は、FontForgeの不具合です。
詳しくは M+ FONTS >メーリングリストのこのスレッド http://sourceforge.jp/projects/mplus-fonts/lists/archive/dev/2011-July/000601.html にありますが、OS/2テーブルのxAvgCharWidthの値が、FontForgeを通すとおかしくなるためです。
環境
- IPAゴシック(Ver.003.03)
ipag.ttf
http://ipafont.ipa.go.jp/ - fontforge-cygwin_2014_01_04 (FontForge 2.0.20140101) http://www.geocities.jp/meir000/fontforge/
- Windows7 64bit
修正方法
OS/2テーブルのバージョンを書き換える
上記のスレッドにある「OS/2テーブルのバージョンを書き換える」をやっているのが、Rictyフォント https://github.com/yascentur/Ricty のmisc/os2version_reviser.sh
スクリプトです。しかしこれは、Ricty以外のフォントには効果ないことが多いです。
FontForgeで[エレメント>フォント情報>OS/2>OS/2バージョン]
を 1 にすると直る場合もあるようですが、今回のIPAゴシックでは直りませんでした。xAvgCharWidth を直接書き換える
これが確実な方法です。書き換える方法は今だと TTX/FontTools http://sourceforge.net/projects/fonttools/ がよいと思います。
TTXインストール
Unixの人は fonttools-2.4.tar.gz
をそのままインストールもできますし、AFDKO http://www.adobe.com/devnet/opentype/afdko.html をインストールすればTTXもインストールされます。
しかし、Windowsだと http://rtfreesoft.blogspot.jp/search/label/ttx のWinTTX 2.4がよかったです。Pythonインストールしなくてすみますし動作も確実です。以下はこのWinTTXに含まれるttx.exeを使用します。インストールは必要なく、zipファイルから取り出したexeファイルをそのまま使用します。
TTXを準備
C:\font (どこでもよいですが今回はここ)に以下を配置します。
- 文字幅がおかしくなる前の元フォント
ipag.ttf
- 文字幅がおかしい
IPAGothic.ttf
- WinTTXに含まれる
ttx.exe
[Windowsのスタートメニュー>すべてのプログラム>アクセサリ>コマンドプロンプト]
を起動します。
cd c:\font
と入力します。これでttx.exe
を使える場所に来ました。
OS/2テーブルを書き出す
ttx.exe -t OS/2 IPAGothic.ttf
と入力します。OS/2テーブルがテキストファイル IPAGothic.ttx
として出力されましたよ。
ttxファイルを書き換え
ttxファイルをテキストエディターで開いて、 xAvgCharWidth を書き換えましょう。 フォントごとに違う値を指定する必要があります。
今回は 1024 にします。この 1024 はどこから出てきたかというと、書き換え前の ipag.ttf
のOS/2テーブルの xAvgCharWidth の値です。
IPAGothic.ttx
を書き換えて、保存するのですが、このとき注意があります。
- ファイル名は新しいフォント名になるので、IPAGothic.ttx とは違う名前にしておく。
ここでは New1
とファイル名に追加しておきます。
文字幅おかしいフォントのOS/2テーブルを書き換える
文字幅おかしいTrueTypeファイルを修正しましょう。先ほどのttxファイルでOS/2テーブルを上書きします。
ttx.exe -m IPAGothic.ttf IPAGothicNew1.ttx
これでフォントが修正されました。
余談
xAvgCharWidth の値はIPAゴシックの場合 1024 となっていました。等幅フォントの場合、半角英数字の幅も同じ値だと思います。 xAvgCharWidth の意味は「半角英数字の平均的な横幅」ですから、等幅フォントだとそうなりますよね。
日本語デザインフォント デザインワークに使える和文セレクト書体集
- 作者: FLOP DESIGN,Maniackers Design
- 出版社/メーカー: エムディエヌコーポレーション
- 発売日: 2014/03/04
- メディア: 単行本
- この商品を含むブログを見る