16

IE9がフォントスムージング(別名アンチエイリアシング)のOS全体の設定を無視することは十分に文書化されています(例:ここ)。WindowsでフォントスムージングとClearTypeが無効になっている場合でも、IEはアンチエイリアスフォントを表示します。これは、特に小さいフォントサイズでは、一部のユーザーが読むのに苦労します。

IE9ですべてのフォントアンチエイリアシング(ClearTypeまたはその他)を無効にするにはどうすればよいですか?

詳細:

当社は、多くの小さなフォントを使用するWebアプリケーションを構築しています。IE9のリリースに伴い、一部のユーザーは、IE9のデフォルトのアンチエイリアシングにより、小さなフォントがぼやけたりぼやけたりすることに不満を持っています。したがって、IE9をインストールしていて、アンチエイリアシングをオフにしたいユーザーを支援する必要があります。

また、個人的には、アンチエイリアス処理された小さなフォントを読むのに苦労しているので、自分で管理していないサイトでも、自分で使用できるソリューションが欲しいです。

IE8では、[HTMLには常にClearTypeを使用する]のチェックを外してから、OSでClearTypeを無効にすると、IE8はエイリアス化されたすべてのフォントを表示します。しかし、IE9では、このオプションはありません。

問題について調査した後、私が学んだことは次のとおりです。コアの問題は、IEがテキストレンダリングをDirectWriteに依存しており、アンチエイリアシングなしでテキストを描画し、ユーザーのOSを尊重する新しいレンダリングオプションをサポートしていないことです。幅広いデフォルトの選択肢。

さらに悪いことに、OSでClearTypeを無効にすると、IEはDirectWriteのデフォルトの非Cleartypeアンチエイリアシングにフォールバックします。これはClearTypeよりもさらにあいまいです。

4

3 に答える 3

9

数日検索した後、MSDNフォーラムのスレッドを見つけました。これは、ここで解決策を示しています:http: //www.softwareninjas.ca/dwrite-dll-wrapper

そのページの指示に従ってください。IE9からアンチエイリアシングを削除します(64ビットのWindows 7でも、デフォルトのIEである32ビットバージョンのIE)。これまでにWin7x64ラップトップでテストしましたが、問題なく動作しました。

これを作ってくれたOlivierDagenaisに感謝します。これが彼のソリューションがどのように機能するかの技術的な要約です。

これは2段階のプロセスです。まず、レジストリキーを使用してIEでClearTypeを無効にする必要があります。これは、以前のバージョンのIEで使用可能だった設定と同じですが、IE9で機能しなくなったため、IEUIから削除されました。

[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main]
"UseClearType"="no"

次に、ClearTypeが無効になったため、Windowsは非Cleartypeアンチエイリアシングソリューションにフォールバックします。ここで、フォールバックアンチエイリアシングも無効にする必要があります。上記のスレッドからの引用:

残っているのはフォントスムージング(サブピクセルレンダリングとも呼ばれます)であり、これはcleartypeをオフにした後も表示される「ぼかし効果」です。

ご参考までに、これをオフにする方法もあります。

サブピクセルの不思議をオフにするために使用した方法は、dwrite.dllの単純なラッパーを作成することです。このラッパーは、呼び出しをインターセプトして実際のdwrite.dllに転送し、プロセスでフォントスムージングを無効にします。

http://www.softwareninjas.ca/dwrite-dll-wrapperからダウンロードできます。

コードは https://softwareninjas.kilnhg.com/Repo/Open-Source/Group/DWrite-dll-Wrapperにあります。

これはかなりクールなハックでした。おそらくウィンドウとDirectXリリース間でやや脆弱ですが、MicrosoftがIE自体の根本的な「アンチエイリアシングを無効にできない」問題を修正するために彼らの行動をまとめるまで、今のところトリックを行います。

また、IE WebBrowserコントロール(別名MSHTML)を使用するアプリでも機能するため、アプリごとにアンチエイリアスを制御できます。HTMLヘルプビューアでも機能します。

IE9標準モードでのテキスト品質は理想的ではないことに注意してください。具体的には、小さいフォントでは、文字が通常の1ピクセルのスペースなしで一緒に実行されることがあります。同じページを互換モードでレンダリングする場合(またはサイトで非厳密なDTDまたはその他の非標準強制DTDを使用する場合)、問題なく表示されます。したがって、一部のサイトでは、最高のエイリアステキストレンダリングが必要な場合に追加の手順があります。IEのツールバーの互換ボタンを押して、互換モードでサイトを表示するだけです。

于 2011-03-25T00:40:42.117 に答える
5

質問に直接答えるには:

ClearType フォント レンダリングは、すべての IE9 ドキュメント モードで使用されます。サブピクセル配置は、IE9 のデフォルトの標準モードでのみ使用されます。IE9 の互換モード (Quirks、7、および 8) は、ピクセル全体のテキスト メトリックを使用します。

したがって、doctype をQuirks モードを使用するように切り替えてみてください:

 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

考慮すべきもう 1 つの点は、ポイント ベースのフォント サイズを避けることです。


IE9 でのフォント、ぼやけ、レンダリングに関する重要な情報

MSDN ソース:

于 2011-04-13T08:48:30.177 に答える