DOSEIの日記

技術メモ+日常ログ

フォント考

現在 Firefox で MathML を使うにあたって、まともなフォントがないことが問題である。 Mozilla Project では、 STIX フォントのリリースを待っているとしている
が、その STIX フォントはいつまでたってもリリースされないので待ちくたびれた(ようやく今月 23 日にベータリリースをするらしい)。

が、やっぱり Computer Modern (CM) フォントが大好きな私としては、これを使いたい。が、 CM フォントを ttf 化した BaKoMa font は、 Unicodeエンコーディングを施してないので、なんかいや。 Unicode にマップしてある CMU font は、ギリシャ文字が cbgreek っていうなんかダサいフォントになってるので、あんまり使いたくないが、少なくともローマ字はいい感じなのでとりあえず使っている。でも、このフォントは数学記号類がぜんぜん入ってないので、結局 MathML のためのフォントとしてはいまいち。

現在は、 math 要素に font: "CMU Serif", "DejaVu Serif", "Dejavu Sans"; を指定して、 font.mathfont-family にも "CMU Serif", "DejaVu Serif", "DejaVu Sans" を指定してある。
math 要素のほうの DejaVu は、 CMU にない数学記号( ⊕ とか)が非常にきれいに作られてるフォントだからであり、後者の方は、ある程度のストレッチ文字が実装されているからである。当然、 Symbol フォントを使わないように、 res/fonts/mathfontDejaVuSerif.properties なる( Unicode の範囲でストレッチを表現するための)ものを作ったりしてる。(一部を除いて、それなりにうまくいってる)。どのフォントにもかけてる文字が存在するのが惜しい。とりあえず、がんばれ DejaVu。

しかし、一番いいのは、 CM フォントを素直にマップしただけの ttf がほしい。 ttf はフォントサイズごとにフォントの形状を変えるということが(アウトラインでは)できないらしいので、どのサイズの CM を採用するかが問題だけど…。自分で、 fontforge とかで、 BaKoMa フォントにエンコーディング情報をくっつけるか? 面倒だからいやw

…って、これ、自分以外しかわからんな。