フォントが欲しい話#2

さて、うまくいったように見えたフォント話の続き。
今使いたいのは、Bitstream Vera Sans Monoである。
アウトラインでも綺麗だし、等幅で似た字と間違わない良いフォントだ。
これを普通にWindows XP に入れると、日本語部分は全然等幅じゃない。
おそらくMS PゴシックかUIゴシックで表示されているのだろう。
プロポーショナルフォントに対応したソフトでなら、英語部分さえ等幅なら問題ないが、
等幅フォントにしか対応してないDelphiのエディタでは、日本語で書いたコメントが見にくい。
所々で字間が大きく空いたりしている。



よって、MSゴシックとフォントリンクさせることで、ちゃんと等幅にしようとすると、
MSゴシックにはBitstreamと縦横比が同じビットマップが入っていないのか、
日本語部分は汚いアウトラインになってしまう。
そもそも求めているフォントは9pt以下なのだが、それをアウトラインで綺麗に出せるのは、
画数の少ない欧文ぐらいなので、日本語部分はビットマップで表示したい。
Delphiではさらに悪いことに、このフォントは使えないらしく、
ダイアログで選択できるのに、選択しても勝手にデフォルトのMSゴシックに戻されてしまう。

そこで、FontForgeで内部のどこかをいじれば、
Delphiでもうまく使えるかもだし、MSゴシックのビットマップとリンクできるかもだしと、
あっちこっちイジって試してみたのだが、実はどこもいじらなくても、
BitstreamをFontForgeに読み込んで、そのまま書き出せばビットマップとリンクできたのだ。
しかし、このフォントリンクは失敗であるということがわかった。
せっかくMSゴシックのビットマップとリンクできたのに、
全角文字が半角文字の倍の幅になっていない。
これじゃ等幅とは呼べないし、現にAPIでフォントをリストアップすると等幅とは見なされていない。
Bitstreamに幅の違うMSゴシックをリンクすることが悪いのかと思ったら、
フォントリンクしなくても、FontForgeで読み込んで書き出しただけで、等幅でなくなったみたいだ。
どうしてこれがリンクできたのかはハッキリわかっていないが、
読み込んだフォントを何もいじらずに書き出すことが出来ないソフトらしく、
書き出したフォントは等幅ではないと見なされたから、
縦横比をBitstreamにあわせる必要がなくなり、ビットマップのあるサイズとリンクしたのだろうなと。
今使ってるフォントはFontForgeで改造したのに、日本語の等幅フォントとして認識されている。
何が違うのかわからない。
ただ、確実に言えるのは、このフォントを等幅として保存できたとしても、
それじゃ縦横比が違うからビットマップとはリンクできない。

もう一つ、このソフトの自由にならない点があって、
この、ただ読み込んで書き出したフォントは、メモ帳とかのダイアログでフォントを選ぶとき、
”欧文”のほかに”トルコ語”ってのを勝手に追加してくれる。
今使っているシャープのフォントの改変版も、勝手に”キリル語”の選択肢を足されている。
これはきっと、トルコ語やキリル語の文字を含むフォントでは必ず勝手に追加されるのだろうな。
でも、トルコ語のどの文字が含まれるかみたいなルールはいじれない内部にあるらしく、
実験で全角スペースを足した欧文フォントは日本語フォントにはなってくれなかった。

さて、次にやってみたくなるのは、はじめからMSゴシックと同じ縦横比の欧文フォント作成。
そうすればMSゴシックの欧文部分のみをプログラミング向けに出来ないだろうかと。
んでもこれももしかしたらFontForgeで作ると、勝手に等幅じゃなくしちゃうのだろうか。
おかしいよな。

という、何も実っていないが疑問はふくらみ、フォントが悪いのかソフトが悪いのか、
身を削ってストレスをためる作業なのでフォントに関わるのは自主規制してる話にまたループ。
今度こそ何か成果を上げたいな。

B000EGD45I
B000EGD45I

たぶん関連のある記事:

コメントは終了しています。