gdi++/FreeType2 ----- Note: This document is partially translated from "ネトラン禁止.txt". ----- Requirements: * Windows 2000 SP4/XP SP2/Vista * 1 GHz or faster CPU * 512 MB of RAM or greater Usage: 1. Compile FreeType2 on Visual C++ 2. Compile included source codes of gdi++/FreeType2 on Visual C++ 3. Copy "freetype.dll" into the same folder with "gdi++.dll" 4. Drag and Drop the target EXE into "gdi++.exe" Configuration (gdi++.ini): HookChildProcesses  - gdi++ is applied to child processes. AlternativeFile - The specified file (relative paths can be used) is used instead of "gdi++.ini". FontLoader - The method how to load fonts. 0: Use FreeType 1: Use GetGlyphOutline() (This changes behaviours of some options, so be careful) WidthMode - The method how to determine widths of characters. 0: Use the same width with the original GDI32 (characters may sometimes displayed condensed or expanded weirdly) 1: Use the width measured by FreeType (looks good, but characters may sometimes be layouted glitchly) HintingMode  - The method of hinting. (if FontLoader == 0) 0: Use FreeType's bytecode interpreter (this option conflics with the patent problems in some regions. See: http://freetype.sourceforge.net/patents.html) 1: Use no hints 2: Use FreeType's auto-hinting the value '0' will be equivalent to '2' if the bytecode interpreter of the FreeType library is disabled. (if FontLoader == 1) 0: Use hints 1: Use no hints 2: Use hints with the fix for garble character problem FontLink - The method how to deal with FontLink. (if FontLoader == 0) 0: Do nothing 1: Find glyphs from other fonts based on the information on the registry (if FontLoader == 0) Always enabled, but depends on WIN32API. The value will be ignored FontSubstitutes - The method how to deal with FontSubstitutes. (if FontLoader == 0) 1: Substitute fonts based on the information on the [FontSubstitutes] section of this file 2: Substitute fonts based on the information on the registry and the [FontSubstitutes] section (if FontLoader == 1) Always enabled, but depends on WIN32API. The value will be ignored. AntiAliasMode - The method how to antialias the characters. -1: Disable antialiasing 0: Enable antialiasing with 256 levels of grey 1: Enable 'Light' mode (According to the Freetype reference, you'll get the result like Max OS X.) 2: Enable a method For LCD 3: Enable a method For LCD (reversed arrangement to the value '2') # HintingMode should be '2' when you set this value to '1'. # 'Light' mode will decrease distortions of the glyphs. BolderMode - The method how to bold the glyphs. (if FontLoader == 0) 0: Use the algorithm after gdi0440 1: Use the algorithm before gdi0424 2: Use the algorithm before gdi0347 (the original FreeType method) (if FontLoader == 1) The value will be ignored. ForceChangeFont - The specified font is forced to be used system-widely. Use this option only when you see how the font is displayed temporarily. TextTuning, TextTuningR, TextTuningG, TextTuningB - The glyphs are sharpened by the specified value. Be careful that large values would be too edgy. -1: Disabled 0-12: Extent to sharpen TextTuning should be used when AntiAliasMode is either 0 or 1. TextTuningR / TextTuningG / TextTuningB should be used when AntiAliasMode is either 2 or 3. NormalWeight - The specified value changes the weight of regular fonts relatively. -64 - +64: Extent to bold BoldWeight - The specified value changes the weight of bold fonts relatively. -32 - +32: Extent to bold (values less than zero makes the glyphs thin) (if FontLoader == 1) The value will be ignored.  ItalicSlant - The specified value changes the slant of italic fonts relatively. -32 - +32: Extent to slant (if FontLoader == 1) The value will be ignored.  MaxHeight - Bypass when the font is bigger than the specified height. 0: Always enabled (default)  Individual - Each font is configurated by the specified value individually. Format: Fontname=Hinting,AntiAliasMode,NormalWeight,BoldWeight,ItalicSlant,Kerning You don't have to specify all values. The common value will be used if you keep the value blank. Exclude - The specified fonts are bypassed. UseInclude - The method how to specify bypassed modules. 0: Enable [ExcludeModule] section (default) 1: Enable [IncludeModule] section If you want to apply gdi++ only to some applications using "gdippManager.exe", you should set it to '1' and use [IncludeModule]. [ExcludeModule] - The modules which should not be applied. [IncludeModule] - The modules which should be applied. The following options are not for all people, so please use them at your own risk. LoadOnDemand - Load fonts when TextOut() and the other function are called, instead of CreateFont(). Don't enable this on weak PCs. LoadOnDemand - Use memory mapping when loading fonts. (if FontLoader == 1) The value will be ignored. LcdFilter - The parameters which send to FT_Library_SetLcdFilter(). Use this option when FreeType is 2.3.0 or greater. 0: None 1: Default 2: Light 16: Legacy   Legacy seems the same algorithm to LibXft. Shadow  - Draw shadows around the glyphs, at the offset position (x,y) in transparency of 100/t (%). Format: Shadow=x,y,t (x>0, y>0, t>0, no parameters are optional) CacheMaxFaces, CacheMaxSizes, CacheMaxBytes - The parameters which send to FTC_Manager_New(). For details, see the manual of FreeType. gdi++ doesn't check the value, so it may get panic when you set the value too large. GammaMode - The method how to deal with the gamma correction. -1: Disabled 0: Use the value of GammaValue. 1: Use the value of sRGB. GammaValue - The gamma value (0.0625 - 10.0). The default value of ClearType is 1.4.   This value is enabled only when GammaMode = 0. Contrast  - The contrast of glyphs (0.0625 - 10.0). Example configuration Configurations on [FreeType] can be work if you write on [General]. Expressions are treated as a comment when the line begins with ";", "#", "//", or "REM". Only 9 digits or fewer value is valid when you specify numbers. [General] HookChildProcesses=1 #AlternativeFile= [FreeType] HintingMode=2 AntiAliasMode=2 ForceChangeFont= TextTuning=0 TextTuningR=0 TextTuningG=0 TextTuningB=0 BolderMode=0 GammaMode=1 GammaValue=2.2 Contrast=1.0 NormalWeight=0 BoldWeight=0 ItalicSlant=0 MaxHeight=0 LoadOnDemand=0 UseMapping=0 #LcdFilter=0 #Shadow=1,1,4 CacheMaxFaces=0 CacheMaxSizes=0 CacheMaxBytes=0 [Individual] メイリオ=0 MS Pゴシック=,0,, Arial=,,,,,1 [Exclude] Marlett Tahoma [ExcludeModule] fontview.exe License: This software is released under FreeType License. Links: * FreeType Project http://www.freetype.org/ Portions of this software are copyright (c) 2005-2006 The FreeType Project (www.freetype.org). All rights reserved. * higambana  http://hp.vector.co.jp/authors/VA028002/freetype.html  helped us a lot, Thanks higambana * ◆0x0D/0x20I  http://drwatson.nobody.jp/gdi++/  The authour of the original version and the icons. * Uploader  http://free.flop.jp/gdi++/ * wiki  http://www18.atwiki.jp/gdiplus2/