「使い方(F)」の編集履歴(バックアップ)一覧に戻る

使い方(F) - (2008/06/19 (木) 04:34:56) のソース

1. [[使い方>使い方(F)]] 2. [[バイナリ>バイナリ(F)]] 3. [[更新履歴>更新履歴(F)]] 4. [[FAQ>FAQ(F)]]
----
#contents

----

// **動作環境
// ・Windows 2000またはXP以降(Vistaやx64版は未確認)
// ・動作クロック周波数が1GHz以上のCPU
// ・512MB以上のメモリ
//
**使い方
// +うpろだからfreetype.dllをDLする(※)
// +XPの場合: freetype.dllをgdi++.dllと同じフォルダにコピー&BR()2kの場合: freetype.dllをPATHの通ったフォルダ(system32とか)にコピー
+[[gdi++.dll(FreeType版)本体のバイナリ>バイナリ(F)]]を入手し、ローカルフォルダに解凍。
+[[freetype.dll>freetype.dll]]を入手し、&BR()XPの場合: freetype.dllをgdi++.dllと同じフォルダ&BR()2kの場合: freetype.dllをPATHの通ったフォルダ(system32とか)&BR()にコピー。
+gdi++.exeに対象exeをドロップして起動。
// ※07/01/18 23:17現在
// gdi0467にFreeType 2.3.2のDLLが置いてある。
// このページの下の方にもあります。

**オプション一覧
INIの例。FreeTypeの設定は[General]に書いても動作する。
先頭が ; とか # とか // とか REM とか ' の行はコメント扱い。
 [General]
 HookChildProcesses=1
 [FreeType]
 HintingMode=2
 AntiAliasMode=2
 ForceChangeFont=
 TextTuning=0
 TextTuningR=0
 TextTuningG=0
 TextTuningB=0
 NormalWeight=0
 BoldWeight=0
 ItalicSlant=0
 EnableKerning=0
 MaxHeight=0
 LoadOnDemand=0
 UseMapping=0
 UseManager=0
 UseInclude=0
 #LcdFilter=0
 #Shadow=1,1,4
 CacheMaxFaces=0
 CacheMaxSizes=0
 CacheMaxBytes=0
 [Individual]
 メイリオ=0
 MS Pゴシック=,0,,
 Arial=,,,,,1
 MingLiU=0
 PMingLiU=0
 DF行書体=0
 DF特太ゴシック体=0
 DF平成ゴシック=0
 DF平成ゴシック体W5=0
 DF平成明朝体W3=0
 DF平成明朝体W7=0
 DHP行書体=0
 DHP特太ゴシック体=0
 DHP平成ゴシックW5=0
 DHP平成明朝体W3=0
 DHP平成明朝体W7=0
 [Exclude]
 Marlett
 Tahoma
 [ExcludeModule]
 fontview.exe
 [IncludeModule]
 
****HookChildProcesses
 子プロセスにも自動でgdi++を適用
****HintingMode
 ヒンティングの設定。
 0だとバイトコードインタプリタを使用します
  (フォントに含まれるヒンティングそのもの)。
 1だとヒンティングをしません。
 2はFreeTypeのオートヒンティングを使用します。
※FreeTypeライブラリのバイトコードインタプリタがOFFになっている場合は
 0と2が同等になります。
※一部のフォントではバイトコードインタプリタによるヒンティングを行わないと
 字形が崩れます(例:DF平成ゴシック)。
****AntiAliasMode
 -1でアンチエイリアスを無効化。
 0なら普通のアンチエイリアス(256階調)をかけます。
 1はLightモードです。FreeTypeのReferenceによるとMac OS Xっぽい描画に
 なるらしい。
 2、3は液晶用。並びが違います。
※1を指定したときはHintingModeは2(オートヒンティング)にしてください。
 Lightモード(1)はノーマルモード(0)と比べて字形の変化が少なくなります。
****ForceChangeFont
 強制的にそのフォントを使うようになる
 ダイアログが見づらくなるが一時的に特定のフォントで確認したい時に使用する
****TextTuning、TextTuningR、TextTuningG、TextTuningB
 文字の締まりを良くするようなもの。
 -1を指定すると無効化できる。(注: 0でも有効になっている)
 0-12までの値を指定できます。
 TextTuningはAntiAliasModeが0か1の時に使用します。
 TextTuningR・TextTuningG・TextTuningBはAntiAliasModeが2か3の時に使用します。
※文字と背景の境界を調節し、背景側を文字側に侵食させる(背景を強く出す)ような
 形になっています。より大きな値を指定すると文字がより締まってみえますが
 アンチエイリアスの効果も落ちるので注意してください。
****NormalWeight
 標準のウェイトを相対値で指定(-32~+32)。BoldWeightより変化幅が小さい。
****BoldWeight
 太字のウェイトを相対値で指定(-16~+16)。マイナスにすると細くなる。
****ItalicSlant
 斜体の傾斜を相対値で指定(-16~+16)。
****EnableKerning
 0だと文字詰めなし
 1だと文字詰めあり
※ONにするとIEとかでずれるので注意
****MaxHeight
 FreeTypeで処理させる最大のフォントサイズ。(ピクセル単位)
 0で全てのサイズ。初期値は0。
****Individual
 フォント別に個別設定する。
 書式: フォント=Hinting,AAMode,NormalWeight,BoldWeight,ItalicSlant,Kerning
 例のように省略可能。その場合は[FreeType]で設定した共通設定が使われる。
****Exclude
 除外フォント。本家と違って上限は無し。
****ExcludeModule
 除外モジュールリスト。本家と違って上限は無し。
****UseInclude
 0の場合(もしくは未定義の場合)は[ExcludeModule]が有効。(従来と同じ)
 1の場合[IncludeModule]が有効。
 Managerによる自動適用は使いたいが、実際に適用するのは特定のアプリに限定
 したいという場合に1を指定してIncludeModuleの方を使う。
****IncludeModule
 対象モジュールリスト。ExcludeModuleの逆で適用したいモジュールを定義する。
----
以下はマニア向けオプションなので使用は自己責任で。
****LoadOnDemand
 フォントを読み込むのをCreateFont系から要求時(TextOut系など)にする。
 FAQにあるManager使用時の問題が解決されるかもしれない。
※ハングアップする可能性があるので低スペックマシンでは絶対にONにしない事。
****UseMapping
 フォント読み取りにMemory Mappingを使う。
****UseManager
 Managerが使用可能になる。(標準では使用できない)
****LcdFilter
 FT_Library_SetLcdFilterに渡すパラメータ。
 0:None、1:Default、2:Light、16:Legacy
 LegacyにするとLibXftと同じアルゴリズムらしい。
※2.3.0以降で使用する事。
****Shadow
 影をつける。
  書式: Shadow=x,y,t (x>0, y>0, t>0, パラメータ省略は不可)
 オフセット(x,y)に100/t (%)の透過率で描画
****CacheMaxFaces、CacheMaxSizes、CacheMaxBytes
 FTC_Manager_Newに渡すパラメータ。詳細はFreeTypeのマニュアル参照
※パラメータチェックしてないので大きな値を設定すると暴走する可能性あり

**その他
-mfdel.exeを使ってManifestを削除すると、XPでも2kと同じ動作にできる。&BR()もちろんgdi++.dllを上書きする度にmfdel.exeを使う必要がある。
-gdippInfo.exeを使うと質問用のテンプレを生成できる。&BR()ただしFreeTypeの情報は自分で埋める。(特にCVSとか)
-gdippEST.exeを使うと設定が簡単に変更できる。
-VC6又はDDKを使ってCVSのFreeTypeを簡単にビルドできるセットがgdi0231にある。&BR()VC8以降を使う場合はgdi0236の.makをコピーする。
-さらに、バッチファイルを実行するだけで全自動でビルドできるセットもある。ビルドに必要なcvsやpatchが予め入っているのでVC持ってるならお勧め。&BR() VC6用:      gdi0258.zip (オリジナル)&BR() VC2003用:   gdi0265.zip&BR() VC2005EE用: gdi0411.zip&BR()※これは「やり方分かってるけど面倒な人向け」の物なので、BATの中身を見て何をやるか理解した上で実行すること。
-十分なCPU、1GB超のメモリを積んでいるPC向け豪速化設定の例(自己責任)&BR()※gdi++.dllがメモリを食い潰すのでManager使うならこんな設定にはしない事。

 その1
 UseMapping=1
 CacheMaxFaces=16
 CacheMaxSizes=16
 CacheMaxBytes=16777216

 その2
 UseMapping=1
 CacheMaxFaces=8
 CacheMaxSizes=8
 CacheMaxBytes=1048576 

**縦書き?
+ FreeTypeのソースコードを取ってくる。
+ freetype.dswまたはfreetype.slnをVCで読み込んで
++ "Win32 Release Multithreaded"を選択する。
++ otvalid\otvalid.cを追加する。
++ base\ftlcdfil.cを追加する。
++ ftmodule.hにFT_USE_MODULE(otv_module_class)を追記する。
+ プロジェクトの設定(プロパティ)で
++ 使用するランタイムライブラリを"マルチスレッド(DLL)"にする。
++ 出力ファイル名をfreetypeMT.libにする。
+ ビルド。
+ freetypeMT.libをgdi++のsrcフォルダにコピーする。
+ nmake ftstatic=1と打ってgdi++.dllをビルドする。
出来たgdi++.dllでgdi0344相当の縦書きが使えるようになるはず。
VC6でしか試してないので他はシラネ。

// **FreeType DLL
// Portions of this software are copyright (c) 2005-2007
// The FreeType Project (www.freetype.org). All rights reserved.
// -%%gdi0467(ft232.zip)%%
目安箱バナー