Chiharu の日記

絵描き C/C++ プログラマーの日記です。

ClearType

突然ですが、WindowsClearType (フォントのアンチエイリアシング機能の一種) は水平方向にしかアンチエイリアシングしないんですね。まぁ、オーバースキャンの手間を考えると、実行コストがその方が軽いんですけどね。水平方向のオーバースキャンはスキャンライン時の交点計算を固定小数化することで実現できますが、垂直方向のオーバースキャンは単純にスキャン回数を増やす必要がありますので、計算コストがα値の分解能 (階調) に比例して計算コストが増えることになります。なので、この実装は理解できなくはないのですが、これだと水平方向に傾いている (水平ラインに傾きが近い) 形状の文字はほとんどアンチエイリアシングされないことになります。英語フォントだと、真横と垂直方向に傾く (垂直ラインに傾きが近い) 成分でそのほとんどが構成されているようで、ClearType も有効だと思うのですが、日本語のように縦にも横にもグリフが伸びているような文字はあんましキレイにならないですね。例えば“ら”の 1 角目など、アンチエイリアシングあってもなくても変わらないんじゃないか、と。そうした箇所が日本語には多いな、と。Vista 上でメイリオ フォントを見ていてそう思いました。縦横方向に正直にアンチエイリアシングしている MacOS X のフォント表示はキレイだな、と。そう思いました。いや、ホントにふと思っただけなんですけれどね。