「Tips & FAQ」の編集履歴(バックアップ)一覧に戻る
Tips & FAQ - (2006/11/02 (木) 00:55:04) の編集履歴(バックアップ)
- 使い方
- 関連サイト
- 概要
- 推奨動作環境
- オプション、その他設定
- FAQ、未解決の問題さすが「開発者が追放されたソフト」のスレだけはあるな
- オプション、その他設定
- FAQ、未解決の問題さすが「開発者が追放されたソフト」のスレだけはあるな
- オプション、その他設定
- FAQ、未解決の問題さすが「開発者が追放されたソフト」のスレだけはあるな
- オプション、その他設定
- FAQ、未解決の問題さすが「開発者が追放されたソフト」のスレだけはあるな
- オプション、その他設定
- FAQ、未解決の問題さすが「開発者が追放されたソフト」のスレだけはあるな
- オプション、その他設定
- FAQ、未解決の問題さすが「開発者が追放されたソフト」のスレだけはあるな
- オプション、その他設定
- FAQ、未解決の問題さすが「開発者が追放されたソフト」のスレだけはあるな
- オプション、その他設定
- FAQ、未解決の問題さすが「開発者が追放されたソフト」のスレだけはあるな
- オプション、その他設定
- FAQ、未解決の問題さすが「開発者が追放されたソフト」のスレだけはあるな
- オプション、その他設定
- FAQ、未解決の問題さすが「開発者が追放されたソフト」のスレだけはあるな
- オプション、その他設定
- FAQ、未解決の問題さすが「開発者が追放されたソフト」のスレだけはあるな
簡単な各ファイルの説明
gdi++.dll
gdi++.dll は、Windows のシステムファイルの一つ、 gdi32.dll の動作を横取りし、文字描画を担当する API をオーバーライドすることで、フォントの表示品質を改善します。APIが呼ばれると、一度バックバッファに最大4倍のフォントサイズで文字を描画し、それを縮小してから画面に転送します。 Mac OS(Classic) 用の有名なシェアウェアに、SmoothType がありますが、すなわちそれと似たような働きをします。本家より抜粋
gdi.exe
- gdi++.exe
仕掛けたい実行ファイルをgdi++.exeにドラッグ&ドロップすると、フックされた状態で起動します。Windows標準のコントロールのフォント描画にも影響が及びます。 - gdi.exe(トレイ格納型)
トレイアイコンを右クリックから「DLLディレクトリを開く・INIを開く・有効/無効の切り替え」ダブルクリックで「有効/無効を切り替え」が可能。
有効にすると実行中の全プロセスに効果が及ぶので注意が必要。適用したくないものは[ExcludeModule]に設定する。
up0060でEXE, DLLのバージョン情報も表示できるように。
up0061(gdipp.exe)ではGUIから設定も可能に。
up0097(gdippManager.exe)はup0060とup0061を併せたもの。
gdi++.ini
- 設定ファイル"gdi++.ini"を同じディレクトリに置くことで、レンダリングの設定ができます。
(なくても動きます)
[General]
Quality=1
Weight=0
Enhance=0
UseSubPixel=0
SubPixelDirection=0
MaxHeight=0
ForceAntialiasedQuality=0
[Exclude]
FixedSys
Marlett
メイリオ
[Individual]
Tahoma=3
[ExcludeModule]
iexplore.exe
firefox.exe
- Quality
フォントの品質を調節します。
0:何もしない 1:2倍キレイ(デフォルト) 2:3倍キレイ 3:4倍キレイ - Weight
フォントの濃さを調節します。(n + 1)回重ねて描画します。 - Enhance
水平・垂直の輪郭線を強調します。
0:強調しない(デフォルト) 1:少し強調 2:ふつうに強調 3:強く強調 4:激しく強調 - UseSubPixel
簡易サブピクセルレンダリング(ClearTypeもどき)を有効にします。
0:つかわない(デフォルト) 1:つかう - SubPixelDirection
サブピクセルレンダリングを使うときの、サブピクセルの並び順を指定します。ほとんどの液晶モニタは左からRGBの順にサブピクセルが並んでいますが、たまにBGRの順で並んでいるモニタもあるようです。
0:RGB(デフォルト) 1:BGR - MaxHeight
スムージングを掛ける最大のフォントサイズを「ピクセル単位で」指定します。
0:すべてのサイズ(デフォルト) - ForceAntialiasedQuality
WindowsのClearTypeを無視するかどうかを指定します。無視すれば描画が高速になります。
0:標準の品質(デフォルト) 1:ClearTypeを無視 - [Exclude]セクション
標準のレンダラで描画したいフォントを一行に一書体ずつ記入します。フォント名がリストに合致すれば、gdi++.dll は標準のレンダラに描画を丸投げします。ビットマップフォントや、ClearType系のフォントにどうぞ。 - [Individual]セクション
指定したフォント毎にWeightを設定できます。 - [ExcludeModule]セクション
gdi++.dllを適用させたくない実行ファイルを指定できます。このセクションに記述された実行ファイルにはgdi++.dllが適用されません。
gdi++.ini (FreeType版)
オプション一覧
[General]#ForceChangeFont
HookChildProcesses=1
[FreeType]
HintingMode=1
AntiAliasMode=2
EnableKerning=0=MS Pゴシック
TextTuning=0
TextTuningR=0
TextTuningG=0
TextTuningB=0
CacheMaxFaces=0
CacheMaxSizes=0
CacheMaxBytes=0
[Exclude]
Marlett
メイリオ
Meiryo
[ExcludeModule]
fontview.exe
- HookChildProcesses
子プロセスにも自動でgdi++を適用
- ForceChangeFont
強制的にそのフォントを使うようになる
ただしこれ使うとダイアログがとんでもない事になるので注意
- CacheMaxFaces、CacheMaxSizes、CacheMaxBytes
FTC_Manager_Newに渡すパラメータ。詳細はFreeTypeのマニュアル参照
※パラメータチェックしてないので大きな値を設定すると暴走する可能性あり
- Exclude
除外フォント。本家と違って上限は無し
- ExcludeModule
除外モジュールリスト。本家と違って上限は無し
- [FreeType]セクションで色々設定できる。
([General]セクションでも設定できるように3px:693氏が変更)
- HintingMode
ヒンティングの設定。0だとバイトコードインタプリタが(ONにしてFreeTypeをコンパイルしていた場合)使われるんじゃないだろうか。
1だとヒンティングをしない。
2はFreeTypeのオートヒンティング。
- AntiAliasMode
0なら普通(256階調)
1はLight。FreeTypeのReferenceによるとMac OS Xっぽいとか。
2、3は液晶用。並びが違う。
- EnableKerning
0だと文字詰めなし
1だと文字詰めあり
- TextTuning
文字の締まりを良くするようなもの(これも下記サイトから)
FreeType2を使ってレンダリング(by 3px:555)
http://hp.vector.co.jp/authors/VA028002/freetype.html
を全面的に参考にした(Thanks higambana)
http://hp.vector.co.jp/authors/VA028002/freetype.html
を全面的に参考にした(Thanks higambana)
各ビルドまとめ
gdi++.dll
■uporg529021 2006/09/26 23:37:27 http://www.uploda.org/uporg529021.lzh.html
└gdi++20060927-enhance (フィルタ修正版) 2006/09/27 12:42:30
└gdi++20060928-enhance (バグ修正) 2006/09/28 07:18:19
└gdi++20060929-enhance (104-106の修正) 2006/09/29 00:45:24
└gdi++20060927-enhance (フィルタ修正版) 2006/09/27 12:42:30
└gdi++20060928-enhance (バグ修正) 2006/09/28 07:18:19
└gdi++20060929-enhance (104-106の修正) 2006/09/29 00:45:24
■stable version (gdi++20060923) 2006/09/23
└up0093 (ソースをシェイプアップ?20060923版相当に戻してみた) 2006/10/01 02:57:42
└up0116 (up0093のバグ修正+Pico氏(up0112)の縮小アルゴリズムを組み込み) 2006/10/06 01:46:58
└up0118 (up0116のバグ修正+おまけ改) 2006/10/06 10:06:38
└up0093 (ソースをシェイプアップ?20060923版相当に戻してみた) 2006/10/01 02:57:42
└up0116 (up0093のバグ修正+Pico氏(up0112)の縮小アルゴリズムを組み込み) 2006/10/06 01:46:58
└up0118 (up0116のバグ修正+おまけ改) 2006/10/06 10:06:38
■stable version (gdi++20060927) 2006/09/27 12:00:00
├up0004 (sse2/pentium4用に最適化したもの) 2006/09/27 15:17:51
│└up0009 (PentiumM(Banias or later) 2006/09/27 16:21:34
│ └up0011 (デバッグビルド) 2006/09/27 16:36:02
│
├up0012 (フォントごとにウェイト指定) 2006/09/27 16:44:08
│└up0017 (up0004lzh+individualセクション有効化) 2006/09/27 18:48:09
│ └up0018 (0017+version+allgdi) 2006/09/27 19:26:38
│
├up0019 (20060927版+バージョンリソース付きdll+730のallgdi++) 2006/09/27 20:37:08
│
├up0021 (最適化ビルド+いろいろ) 2006/09/27 23:30:01
│└up0025 (up0021+953+951+最適化) 2006/09/28 02:13:32
│ └up0049 (up0025+194+ソース分割) 2006/09/29 01:51:55
│ └up0052 (up0049 修正版) 2006/09/29 03:46:30
│ └up0056 (up0052 改変(ソースのみ)) 2006/09/29 12:43:45
│
├up0023 (キャッシュ周りをマルチスレッド化) ExcludeModuleなし 2006/09/27 23:46:43
│└up0027 (944 をベースにソースを整理してみた。) 2006/09/28 02:31:14
│
├up0075 (20060927+allgdi+ExcludeModule+TLS) 2006/09/30 01:01:43
│└up0076 (up0075のズレるバグ修正) 2006/09/30 12:26:32
│ └up0079 (20060927+allgdi+ExcludeModule+TLS その2) 2006/09/30 15:39:26
│ └up0105 (1bit+アルファブレンド(注:要SSE2、きわめて未完成)) 2006/10/04 11:55:16
│ └up0109 (up105のSSE無し版) 2006/10/05 00:19:13
│
├up0107 (up0104-エンハンスフィルタの改良版-のバグ修正) 2006/10/04 12:40:27
│└up0112 (MMX対応など) 2006/10/05 07:43:09
│
└up0139 (FreeType2 MS Pゴシック 16ピクセルのみ) 2006/06/10/23 20:11:47
├up0004 (sse2/pentium4用に最適化したもの) 2006/09/27 15:17:51
│└up0009 (PentiumM(Banias or later) 2006/09/27 16:21:34
│ └up0011 (デバッグビルド) 2006/09/27 16:36:02
│
├up0012 (フォントごとにウェイト指定) 2006/09/27 16:44:08
│└up0017 (up0004lzh+individualセクション有効化) 2006/09/27 18:48:09
│ └up0018 (0017+version+allgdi) 2006/09/27 19:26:38
│
├up0019 (20060927版+バージョンリソース付きdll+730のallgdi++) 2006/09/27 20:37:08
│
├up0021 (最適化ビルド+いろいろ) 2006/09/27 23:30:01
│└up0025 (up0021+953+951+最適化) 2006/09/28 02:13:32
│ └up0049 (up0025+194+ソース分割) 2006/09/29 01:51:55
│ └up0052 (up0049 修正版) 2006/09/29 03:46:30
│ └up0056 (up0052 改変(ソースのみ)) 2006/09/29 12:43:45
│
├up0023 (キャッシュ周りをマルチスレッド化) ExcludeModuleなし 2006/09/27 23:46:43
│└up0027 (944 をベースにソースを整理してみた。) 2006/09/28 02:31:14
│
├up0075 (20060927+allgdi+ExcludeModule+TLS) 2006/09/30 01:01:43
│└up0076 (up0075のズレるバグ修正) 2006/09/30 12:26:32
│ └up0079 (20060927+allgdi+ExcludeModule+TLS その2) 2006/09/30 15:39:26
│ └up0105 (1bit+アルファブレンド(注:要SSE2、きわめて未完成)) 2006/10/04 11:55:16
│ └up0109 (up105のSSE無し版) 2006/10/05 00:19:13
│
├up0107 (up0104-エンハンスフィルタの改良版-のバグ修正) 2006/10/04 12:40:27
│└up0112 (MMX対応など) 2006/10/05 07:43:09
│
└up0139 (FreeType2 MS Pゴシック 16ピクセルのみ) 2006/06/10/23 20:11:47
■gdi0143 (up0133をコンパイルした物) 06/10/27(Fri),01:06:51
└gdi0152 (gdi0143 + FreeType = gdi0149 の修正版) & gdi0151 (FreeType DLL版)06/10/28(Sat),11:31:50
└gdi0156 (gdi0152の修正版)06/10/28(Sat),17:39:45
└gdi0164 (gdi0156の修正版)06/10/28(Sat),17:39:45
└gdi0170 (gdi0168修正版)06/10/29(Sun),13:19:49
├gdi0172 (gdi0170ベース+何か)06/10/29(Sun),14:12:49
│└gdi0177 (gdi0172+カーニングオプションと文字サイズの何)06/10/29(Sun),22:28:35
│ └gdi0181 (gdi0177の修正)06/10/30(Mon),03:53:58
│ ├gdi0193 (gdi0181修正版)06/10/31(Tue),19:06:05
│ ├gdi0202 (gdi0181+gdi0195+gdi0198)06/10/31(Tue),23:10:04
│ └gdi0206 (gdi0181+...)06/11/01(Wed),06:53:30
│ └gdi0216 (gdi0209修正+機能追加)06/11/01(Wed),23:13:25
└gdi0173 (manifest付きgdi0172)06/10/29(Sun),21:25:04
└gdi0152 (gdi0143 + FreeType = gdi0149 の修正版) & gdi0151 (FreeType DLL版)06/10/28(Sat),11:31:50
└gdi0156 (gdi0152の修正版)06/10/28(Sat),17:39:45
└gdi0164 (gdi0156の修正版)06/10/28(Sat),17:39:45
└gdi0170 (gdi0168修正版)06/10/29(Sun),13:19:49
├gdi0172 (gdi0170ベース+何か)06/10/29(Sun),14:12:49
│└gdi0177 (gdi0172+カーニングオプションと文字サイズの何)06/10/29(Sun),22:28:35
│ └gdi0181 (gdi0177の修正)06/10/30(Mon),03:53:58
│ ├gdi0193 (gdi0181修正版)06/10/31(Tue),19:06:05
│ ├gdi0202 (gdi0181+gdi0195+gdi0198)06/10/31(Tue),23:10:04
│ └gdi0206 (gdi0181+...)06/11/01(Wed),06:53:30
│ └gdi0216 (gdi0209修正+機能追加)06/11/01(Wed),23:13:25
└gdi0173 (manifest付きgdi0172)06/10/29(Sun),21:25:04
元のビルドがわからないもの
■up0038 (エンハンサの修正 SSE2 & Normal) 2006/09/28 22:16:08
■up0016 (ICC9.1にてPGO付きビルドSSE2/Pentium4向け) 2006/09/26 23:37:27
■up0038 (エンハンサの修正 SSE2 & Normal) 2006/09/28 22:16:08
■up0016 (ICC9.1にてPGO付きビルドSSE2/Pentium4向け) 2006/09/26 23:37:27
gdi.exe, gdi++ GUI
■up0029 (トレイ格納タイプのgdi.exe) 2006/09/28 02:43:34
│└up0061 (up0029+GUI) 2006/09/29 18:26:49
│
└up0060 (トレイ格納タイプのgdi.exe) 2006/09/29 15:47:40
└up0097 (up0060+up0061) 2006/10/01 16:49:31
└up0102 (up0097の環境設定拡張版) 2006/10/02 22:00:24
└up0110 (up0102 + 735Image) 2006/10/05 03:00:32
│└up0061 (up0029+GUI) 2006/09/29 18:26:49
│
└up0060 (トレイ格納タイプのgdi.exe) 2006/09/29 15:47:40
└up0097 (up0060+up0061) 2006/10/01 16:49:31
└up0102 (up0097の環境設定拡張版) 2006/10/02 22:00:24
└up0110 (up0102 + 735Image) 2006/10/05 03:00:32
■up0116のおまけ (up0093のバグ修正+Pico氏(up0112)の縮小アルゴリズムを組み込み) 2006/10/06 01:46:58
└up0118 (up0116のバグ修正+おまけ改) 2006/10/06 10:06:38
└gdi0143 (up0133をコンパイルした物) 06/10/27(Fri),01:06:51
└up0118 (up0116のバグ修正+おまけ改) 2006/10/06 10:06:38
└gdi0143 (up0133をコンパイルした物) 06/10/27(Fri),01:06:51
サービス
■up0116のおまけ (up0093のバグ修正+Pico氏(up0112)の縮小アルゴリズムを組み込み) 2006/10/06 01:46:58
└up0118 (up0116のバグ修正+おまけ改) 2006/10/06 10:06:38
└up0118 (up0116のバグ修正+おまけ改) 2006/10/06 10:06:38
gdi++.ini推奨設定
[Exclude]セクション
メイリオ
Meiryo
Marlett
System
FixedSys
Modern
MS Sans Serif
MS Serif
Roman
Small Fonts
Script
Courier
Meiryo
Marlett
System
FixedSys
Modern
MS Sans Serif
MS Serif
Roman
Small Fonts
Script
Courier
Terminalも?
[ExcludeModule]セクション
fontview.exe