なげやりろぐ

フテイキコウシン

gdi++からgdippへ

知る人ぞ知るgdi++が開発停止してからかなり立ちますが、その後いろんな派生物も現れては消え、なかにはネタだろコレ…みたいなのもあったりと色々ありました。
ワタシはXPの頃から利用していますが、先日まで以前gdi++スレで運良く手に入れることができたHelium版をWindows7になってからも利用していました。
ただ、残念なことにこのプログラムは32bit環境でしか有効にならないとか一部のアプリやWebページではフォントの描画が乱れてしまうといったこともあり、それらは泣く泣く除外設定して利用していたんです。*1
もちろんその間、64bitネイティブアプリであっても適用可能なgdi++みたいなものは無いかと探し歩いて見つけたezgdiなども試してはいました。*2


先日、2chの巡回スレのいくつかにgdippを宣伝するかのようなコピペ荒らしが発生したんですけどそのせいでしょうか(笑)、あの窓の杜が今日付でgdippのレビューを載せていました。
窓の杜 - 【REVIEW】インストールするだけであらゆるソフトのテキストを美しく滑らかに描画「gdipp」


レビュー記事にもあるとおり、ここで紹介されているgdippはgdi++とは別物なのですが、目指す方向は一緒です。しかも現在公開されているものは64bit環境でもちゃんと効果が適用されるという優れもの♪

配布先に行くと gdipp_x64_0.7.6.msi と gdipp_x86_0.7.6.msi の二つのファイルが用意されていますが、gdipp_x64_0.7.6.msi が64bit環境用でこの中にはWow64で動く32bit用のファイルも同梱されています。
細かな設定はインストール後のフォルダにあるgdipp_setting.xmlを直接編集し、その後はインストール形態にもよりますがサービスとして動作させている場合には管理ツールからサービスのスナップインを呼び出すか、スタートメニューの検索から”サービス”と入力して”ローカルサービスの表示”をクリック。あるいは”ファイル名を指定して実行”からservices.mscを直接呼び出して該当サービスを再起動させる必要があります。
未検証ですがレジストリへの登録タイプでインストールした場合は、設定変更後にOSの再起動が必要になると思われます。もう一つのオプションは眼中に無かったので華麗にスルーってことで♪

  • 64bit版をサービスに登録していた場合、サービスのプロセスは64bitと32bitの二つ存在します。
    設定変更後には両方のサービスを再起動し、現在立ち上がっているアプリを開き直すと適用されます。

設定は特に難しいことは無いのですが、デフォルトではすべてのアプリケーションおよびフォントに適用されるようになっています。
正規表現で全適用されているのですが、個別に適用させたいアプリやフォントがある場合にはデフォルトの部分を削除*3して直接アプリ名やフォント名をいくつでも指定可能です。←コレがなにげに凄い!


逆に適用して欲しくないアプリがある場合は<exclude>以下へ登録してやると除外されます。
設定の詳細はこちらのページに記されていますが、現行スレで親切な方がわかり安く訳してくれていましたしせっかくなのでdat落ちになる前にコピペなど♪

フォントを自分好みに調整するソフト ver1
http://pc12.2ch.net/test/read.cgi/win/1259598381/642

642 名前:名無し~3.EXE[sage] 投稿日:2010/05/15(土) 23:56:34 id:wi7CrMx1
設定っていっても、こんだけだからなぁ。

auto_hinting: 自動ヒンティング

embedded-bitmap: 埋め込みビットマッフ使用の有無

embolden: 太さ

freetype/cache_max_xxx: Freetype のキャッシュ設定

freetype/lcd_filter: Freetype のサブピクセルレンダリング設定

gamma/xxx: 各色のガンマ設定

hinting: ヒンティング使用の有無

light_mode: freetype の light mode 使用の有無

max_height: gdi++ の max_height と同等

render_mono: 白黒テキストのレンダリング (1: Windows / 0: gdimm.dll)

render_non_aa: アンチエイリアスされないフォントのレンダリング設定 (0: 白黒テキストと同様のレンダリング / 1: アンチエイリアスをかける)

renderer: フォントレンダラー設定 (0: Clear Type / 1: GetGlyphOutline API / 2: Freetype)

shadow/offset_xxx: テキスト影のオフセット

shadow/alpha: テキスト影の透過値

subpixel_render: サブピクセルレンダリング設定 (0:グレー / 1: LCD)

zero_alpha: ビットマップフォントのアルファチャンネル使用の有無 (0: フォントの設定を無視)

※初めて試す方で各言葉の意味がわかんないって方はそれぞれググってね♪


基本的にgdi++と同様、Windowsのgdiplusの処理を途中で乗っ取って描画しているらしいのですが、環境によっては動作が緩慢だとか不安定な場合もあるようです。
と、いうかWindowsが持つ描画システムの一部にちゃちゃ入れてるワケなので試す際はお約束の自己責任で。


少なくともワタシの環境ではメインPCでもネットブックでも問題なくかつ快適に動作してくれています♪*4

  • お気に入りのTwitterクライアント、SAEZURIでの表示比較。
    効果の適用方法は人それぞれなのであくまで一例として見てくださいね♪
gdipp無し gdippあり

追記

そうそう、gdippにしてから以前どうしてもダメだったアプリたちにもちゃんと適用されてくれるようになりました。
まだすべての手持ちアプリで検証したわけではないのですが、今のところ大丈夫な感じ♪ Photoshopx64)などでもバッチリ適用されています。

*1:USTREAMのチャット部分とかSkypeのUIフォントとかが残念なことになっていました。

*2:試した当時はまだα版の域をでていないというか不安定すぎてとても常用できるレベルではありませんでした。現在は結構使えるところまで来ているようです。

*3:書式は参考になるのでエディタなどへCut&Pasteしておくといいです。

*4:メイン:Core i-7 920,Win7-64bit,Mem12GB / ネットブック:Atom1.6GHz,Win7-32bit,Mem2GB