gdi++ Heliumの設定
以前の記事: [フォント] gdi++の設定 http://d.hatena.ne.jp/itouhiro/20100613
Windows環境でフォントをキレイに表示する gdi++(ジーディーアイ・プラスプラス)だけど、別のを使うことにしたんだ。
なぜ変更したの?
変更した理由
これまで使っていた gdi++ FreeType(フリータイプ)版 (gdi0787) は、Google Chromeで効かないという問題があった。
そこで、gdi++ Helium(ヘリウム)版に替えてみた。Google Chromeもこれで効くようになった。
使用方法がこれまでと変わってしまったので、以下にメモするよ。
ダウンロード
http://free.flop.jp/gdi++/
にある gdi0930.zip をダウンロードして展開(解凍)する。
このzipファイルに含まれるバージョンは gdi++ Helium 20090211 だ。
インストール
ハードディスクのどこか適当な場所に、展開したフォルダを置く。
今回は C:\home\local の下に置くことにする。
実行
C:\home\local\gdi++ Helium 20090211\gditray.exe を実行する。
これで、指定したソフトのフォント表示が改善される。
フォント表示がおかしいぞ‥というときは「通知領域」のGDI trayアイコンを右クリックして、いったん「終了」する。
そして、先ほどのgditray.exe をまた実行する。それでもだめならアプリのほうを再立ち上げする。
設定ファイル
設定ファイルは、以下のようにしている。
[General] Name=itouhiro20110125 ; 子プロセスにも自動適用 ; [0:Disable] 1:Enable HookChildProcesses=1 [Rasterize] ; ヒンティング方式 ; ※"=0"を推奨 ; 0:NoHinting [1:Normal] 2:AutoHinting 3:Light+AutoHinting HintingMode=0 ; アンチエイリアス方式 ; ※一般的なRGB配列の液晶モニタであれば"=0"を推奨(BGR配列のモニタに於いては"=3") ; 0:Disable [1:Grayscale] 2:SubPixel(RGB) 3:SubPixel(BGR) AntiAliasMode=2 ; 標準のウェイト ; ※"Individual"で個別設定されているフォントには適用されない ; -32:+32 NormalWeight=0 ; 太字のウェイト ; ※"Individual"で個別設定されているフォントには適用されない ; -16:+16 BoldWeight=0 ; 斜体の傾き具合 ; -16:+16 ItalicSlant=0 ; 濃さの調整 ; -32:+32 Saturation=4 [Misc] ; gdi++に処理させる最大サイズ(ピクセル単位) ; 0-2147483647 MaxHeight=72 ; ガンマ補正を使う ; [0:Disable] 1:Enable GammaCorrection=0 ; α値を補間する ; ※GammaCorrection="0"の場合のみ有効 ; 0-16 Interpolation=0 ; 縦書きを使用する ; [0:Disable] 1:Enable VerticalText=0 ; モジュールリストの優先順位 ; [0:Deny] 1:Allow 2:Allow->Deny ModuleListOrder=1 [FreeType] ; FT_Library_SetLcdFilterに渡すパラメータ ; [0:None] 1:Default 2:Light 16:Legacy LcdFilter=1 ; FreeTypeのバージョンチェックをスキップ SkipVersionCheck=1 [Cache] ; キャッシュ MaxFamilies=8 MaxStyles=12 MaxBytes=8388608 [Individual] ; フォント別設定 [FontLink] ; フォントリンクのような物 ; Format: FontName=Name1,Name2,Name3, ... (Max:16) Lucida Sans Unicode = MS UI Gothic MS UI Gothic = SimSun, PMingLiU Microsoft Sans Serif = MS UI Gothic Courier New = Migu 1M [Exclude] ; 除外フォント Marlett Tahoma MS UI Gothic MS Pゴシック MS ゴシック Terminus-ja [AllowModule] ; 許可モジュールリスト iexplore.exe firefox.exe chrome.exe iron.exe opera.exe thunderbird.exe notepad.exe WINWORD.EXE EXCEL.EXE POWERPNT.EXE soffice.bin sakura.exe [DenyModule] ; 拒否モジュールリスト [UnloadDLL] ; ロードさせたくないプロセス [GdiTray] ; 起動時、自動で有効にします。 ; 0:off 1:on AutoEnable=1 ; メッセージ表示にバルーンを使用します。 ; 0:off 1:on NotifyBalloon=1 ; INI切り替え機能を使います。 ; 0:off 1:on MultiINISelector=1 ; アイコン付きメニューを使います。 ; 0:off 1:on CoolMenu=1 ; 左ダブルクリックの動作を指定します。 ; 0:再適用 1:on/off切り替え(gdippManager互換) ToggleDoubleClick=0 ; タスクトレイのアイコンを変更します。 ; 0-9 IconIndex=3 ; 再描画のウェイトを指定します。 ; 1-2000 [ms] RedrawDelay=250
この設定にはどんな特徴が?
■表示品質
表示の品質を選べるけど、この設定は「サブピクセルレンダリング」「ヒンティングなし」だ。
Linuxの表示と比べるとすこし太くて、文字が丸い感じだが、個人的には読みやすい。
■アプリ限定
そしてgditray.exeの特徴だけど、特定のアプリ(ソフト)にだけ、フォントなめらか効果をかけることができるんだ。
初期設定だと、すべてのソフトにフォントなめらか効果がかかってしまうんだけど、
「モジュールリストの優先順位」 ModuleListOrder を 1:Allowのみ
にして、gdi++効果をかけてもよい許可モジュールを [AllowModule] に並べれば、指定アプリだけ効果がかかる。
上の設定で、以下のアプリだけなめらかになるよ。
- InternetExplorer 6, 7
- Firefox 3
- Google Chrome 8, 9
- SRware Iron 8
- Opera 10
- Thunderbird 2
- メモ帳(notepad.exe)
- Microsoft Word 2003
- Microsoft Excel 2003
- Microsoft PowerPoint 2003
- OpenOffice.org 3.2
- サクラエディタ
アプリのバージョン番号は念のために書いたけど、バージョンに関係なく、[タスクマネージャー>プロセス>イメージ名]に chrome.exe 等と表示されるアプリなら効果がある。
64bitで問題あり
Windows XP + Office2003 なら上の設定でとくに問題ないんだ。
ただし挙動にはクセがあって、
メモ帳(notepad.exe)を起動してから3秒くらいたって、やっとフォントなめらか化が始まる。
だから、それより前に表示した文字は一時的にgdi++が効いてない状態で表示されるんだ。まあこれは3秒待てばいいので、たいしたことではない。
メモ帳は起動が早いからわかるけど、ほかのアプリは起動に3秒くらいは時間かかるので、ぜんぜん気にならないよ。
でもね、Windows 7 64bitで試したら、問題がいくつかあった。
- 64bitアプリで効果がない。
たとえばメモ帳(notepad)にも効かない。 - IE8にも効果がない。
- Wordへの効果も中途半端。
それでも、Google Chromeは32bitアプリだから効果あったし、じゅうぶん使えると思ったよ。
64bitへの対応は、ezgdiとかgdippという別のソフトでできるらしい‥‥
それはまだ試してないんだ。
へー。
というわけで、http://mix-mplus-ipa.sourceforge.jp の補足記事でした。