FontforgeでTextMateの日本語表示合成フォント作り Andale+Osaka mono

2012/02/12

こんにちは。きんくまです。

いまエディタどれ使おうか迷ってしまっています。
TextMate, Sublime Text, Emacsといろいろあって優柔不断な私には決めがたいところ。

今回はTextMateについてです。
最新版のTextMate2は日本語の表示は普通に表示されていいのですが、なんだかバージョン1とは
使い勝手が違う印象を持ちました。えーと、特に使い込んでいないので、あくまで印象です。

先日amazonでこんな本を注文しました。

>> Textmate: Power Editing for the Mac (Pragmatic Programmers) [ペーパーバック]

それで、もうすぐ届くはずなんですけど、できればバージョン1の方をみながら、やっていきたいなと思いました。

ただし、バージョン1はデフォルトだと日本語入力、表示ともに全然駄目なものなので、調べました。

>> TextMate で日本語をわりとまともに表示する

作者様が、日本語入力を可能にするプラグインを公開してくれたり、さらに日本語表示ができるフォント作りの方法まで買いてくれてます。すばらしい!

私は、去年まではWinユーザーで、かつプログラムするときは、「MSゴシックのアンチエイリアスなし」が大好きでした。だから、Macに移ったときは、なんとかして「MSゴシックのアンチエイリアスなし」環境を実現しようと試行錯誤したことがあります。結局うまくいかなくて、アンチありのMenloフォントで慣れてしまいましたけど。

それで、Terminalでは「Andaleでアンチなし設定」をするとそれっぽい感じでうまく表示されたので、なんとかしてTextMateでもやってみたいと思いました。TextMateのバージョン1の方はアンチなし設定がすぐにできるのです。

なので、
日本語はOsakaの長体50%+英文はAndaleのそのまま
というものを目指しました。

結論からいうとできました!

andale_osaka

やりかた > Fontforgeを使う

FontforgeというUnixのアプリを使います。

インストールはhomebrewが入っていたら下記のコマンドを入力します。

brew update //しなくてもよいかもです。私の場合はしないとうまくいきませんでした。
brew install fontforge

参考サイトです。私の場合は、brew updateでインストールできたのですが、ご参考まで。
プログラミングやコンソールアプリケーションに最適なフォント「Ricty」#LOVEFONT

それで、インストール後にさきほどのhetimaさんのサイトにならってスクリプトを頑張って書いてみたのですが、最後の行間設定が全然うまくいかない!!!!
なので、GUIでやることにしました。

完成までのメモを残しておきます。

参考サイトです。わかりやすいです。
>> Fontforge(その4) – むにむにの日記

X11というアプリケーションを起動。
OsakaMono.ttfを右クリックでFontforge.appから起動します。

Fontforge.appがない場合は、/Applicationsに
/usr/local/Cellar/fontforge/20110222/FontForge.app
というエイリアスを作れば大丈夫です。

ビットマップのダイアログがでますが、Select Allを選択して開きます。

andale_osaka_fig1

ためしに何かの文字をダブルクリックすると、こうなります。
これの定規の縮尺に注目してください。横軸が130ぐらいで縦軸が250くらいになっています。
あとで、フォントを合成するときに、ここがポイントになってきます。

andale_osaka_fig2

横幅を縮めます。
Edit > Select > Select All (Control + AでもオK)
Element > Transforms > Transform

真んなか辺の幅を50%に設定してOKをおします。

andale_osaka_fig3

そしたら長体フォントができあがります。オー簡単。

andale_osaka_fig4

さて、これから英文フォントのAndaleとマージするんですが、Andaleとは縮尺が違うために、そのままマージするとOsakaがものすごく小さい状態でマージされます。ていうか豆粒みたいな文字!
なので、縮尺を合わせます。

Element > Font Info > General > Em Sizeをプルダウンから 256を2048に変更します。

andale_osaka_fig5

この状態で、一度保存します。
まず、File > SaveでOsaka-Mono-Condensed.sfdという名前ででも(拡張子がsfdというこのアプリで使うための形式になっています)保存した後に、
File > Generate Fontsを選択してから、Osaka-Mono-Condensed.ttf とTrueTypeフォントで書き出します。
これで、長体フォントがいつでも利用できます。

あとは、Andaleをマージしてできあがりです。
Andale Mono.ttfを、Fontforgeで開きます。

Element > Merge Fontsででてきたダイアログにさきほど保存した
Osaka-Mono-Condensed.ttfを選択します。
するとマージができました!!!

あとは、できた新しいフォントの情報を設定します。
まずは名前です。
Ctrl+Aで全選択したあとに、Element > Font Infoを押します。

FontNameなんかを設定します。

andale_osaka_fig6

次に、大事な行間の設定です。そのままだと10文字分くらいの行間になってしまっているので、
Generalタブを選択したあとに、Has Vertical Metricsにチェックをいれます。
スクリプトではこれがわからなくてできなかったのですが、何故かGUIでは簡単にできました。

andale_osaka_fig7

あとは、さきほどと同様に、AndaleOsaka.sfdという名前でどこかにもとファイルを保存してから、
File > Generates FontsでAndaleOsaka.ttfという名前で書き出します。

これでフォントの完成です。

今回はTextMate用の特殊なフォントを作りましたけど、いろいろと遊べそうな感じがします。
MacはUnixが中に仕込んであるだけ、Unixの資産がすぐに使えてなかなか便利ですね。

あとMSゴシックばんざい。好きなフォントです!


自作iPhoneアプリ 好評発売中!
フォルメモ - シンプルなフォルダつきメモ帳
ジッピー電卓 - 消費税や割引もサクサク計算!

ページトップへ戻る