tmytのらくがき

個人の日記レベルです

gdipp with DirectWrite

※タイトルはてけとーです。

gdi++ってアプリがあって、GDIのTextOut関数をフックして自前のFreetypeでオーバーライドしてWindowsのあまりにも残念なフォントレンダラを入れ替えちゃえってアプリです。最近派生プロジェクトであるgdippってのがあるらしくGoogle Projectのソースコードを見たらDirectWrite版のbranchが切られてたのでビルドしてみたのでその記録。
とりあえずソースコードをもらってきます。

hg clone -b DirectWrite https://gdipp.googlecode.com/hg/ gdipp

必要な依存関係をダウンロードします。

とりあえずVisualStudio2010が必要なので各自どうにかしてください。


依存関係をセットアップする。

gdipp以下にWTLディレクトリを作って、展開して出てきたIncludeをWTL以下にコピー。

gdipp以下のfreetypeディレクトリにfreetype2.4.tar.gzとかを展開して出てきタフィあるを全部突っ込む。

  • Easyhook

gdipp以下にEasyhookディレクトリを作ってdllとか一式をほりこむ。

3.5以降のmsiを使ってインストール

  • pugixml

gdipp以下にpugixmlディレクトリを作ってpugixml-0.9.zipとかを展開して出てきたファイル一式をほりこむ。


ビルド設定を手直しする。
gdipp_commonとpugixmlのプリプロセッサにPUGIXML_WCHAR_MODEを追加する。gdipp_commonがWCHAR前提で書いてあるのでこれ書いとかないとエラーになる。
x86の人はWin32のビルド設定だけで大丈夫。x64の人は両方。

ビルドする。
たぶんビルド通るはず。x86でビルドして、x64でビルドして、Mixed Platformでビルドしてやればインストーラがビルドできると思う。


あとはインストールするなりなんなりてきとーにどうぞ。
インストーラは

\installer\bin\Release\en-us

に入ってますよ


追記:動かしたらこうなりました・・・。