2009年11月20日金曜日

WindowsでTLF(Text Layout Framework)で表示したデバイスフォントにアンチエイリアスがかかる条件

WindowsでTLF(Text Layout Frame Work)で表示したデバイスフォントにアンチエイリアスをかけるために,どれだけの労力をかけたかわからない。しかし,ついに,この問題にピリオドを打てそうだ。


テスト環境は先日と同じだ。
OS:XP,VISTA
ブラウザ:IE6 on XP, IE8 on VISTA, FireFox
プレイヤー:FP10,FP10.1
アプリケーション:TLFのデモtypoflo


WindowsでTLFで表示したデバイスフォントにアンチエイリアスがかかる条件

1.「ClearType」を使わず「標準」を使う
2.フォントごとに異なるアンチエイリアスがかかるフォントサイズの閾値以下のサイズで表示させる

先日の結論では一部の高品位OpenTypeにのみアンチエイリアスがかかりTrueTypeにはかからないという結論だったが,これは間違いだった。通常のOpenTypeでもTrueTypeでも「ClearType」を使わず「標準」の設定を使うことでアンチエイリアスがかかる事がわかった。

つまり,Adobeが言うように,FP10はデバイスフォントをアンチエイリアス表示する能力を持っていたのだ。


「ClearType」でなく「標準」を使う設定

XPではデフォルトが「標準」なので特に変更する必要はないが,「ClearType」に変更している場合は設定する必要がある。(ここがハマリポイントだ!)コントロールパネル>画面>デザイン>効果>次の方法でスクリーンフォントの縁を滑らかにする>標準

VISTAではデフォルトが「ClearType」なので,「標準」に変更する必要がある。コントロールパネル>色のカスタマイズ>詳細な色のオプションを設定するにはクラシックスタイルの[デザイン]プロパティーを開きます>効果>次の方法でスクリーンフォントの縁を滑らかにする>標準

調査中にClearTypeという言葉は何度も見たが,「ClearTypeを使え」という記述はあっても「ClearTypeでなく標準を使え」という記述は一度も見たことがなかった。これがハマリポイントだった。


結局,各所で言われていた通り,FPでのデバイスフォントのアンチエイリアスレンダリングはOSの設定次第だということなので,使用するFlashプレイヤーやライブラリ,コンパイラなどの細かいバージョンの違いは恐らく関係がないと思われる。

XPに関しては,デフォルト設定で多くのユーザーは問題無いだろうということが分かった。しかしVISTAの場合は設定項目が相当深く,非常に問題だ。しかもVISTAでは「標準」を選ぶと,ブラウザやOSの表示品質が極端に悪くなるので,ユーザーにこの設定をすすめるわけにはいかない。恐らくWindows7もVISTAと同様ではないかと思われ・・・本当に悩ましい。

とにかく,この問題にはひとまずピリオドを打てた。

分かってしまえば,何とあっけないことか・・・ふぅ・・・