氦版GDI++使用说明

来源:百度文库 编辑:神马文学网 时间:2024/04/28 19:21:51
(2009-09-14 21:17:47)
标签:
分类:
氦版相对于原来的Freetype版有了巨大的变化,总结一下我们实际看得到的变化就是资源占用更小、兼容性提升相当大,但相对的,他的渲染效果相比 Freetype稍微差点,但差距多少这与各个人不同的硬件和系统环境有关,不能一概而论,例如在我的电脑上氦版和Freetype版的差距就不大。
氦版的配置文件结构和Freetype版是不同的,不能混用,但程序的加载方式还是一样的,有兴趣的就去看一文吧。氦版的Gamma值被固定在相当于旧版本中 2.0 的数值,配置文件中,对渲染效果影响最大的参数只有两个,那就是Interpolation和Saturation这两个参数,Interpolation这个参数直接决定了字体渲染时三原色各自所占比例的多少,Saturation决定了字体颜色的深浅,实际效果如何还需各位自己调节后看看效果才能领会。FreeType版的GDI++即使在排除列表里加入了某个程序但在运行那个程序时依然会加载gdi++.dll,而氦版多了一个[UnloadDLL]字段,顾名思义,就是在这个字段下定义的程序是不会加载gdi++.dll的,这对兼容性的提升也相当大,UnloadDLL字段下的程序可以直接用程序名,如QQ.exe,也可以用绝对路径,如 C:\\ProgramFiles\\Tencent\\QQ.exe,需要注意的是使用绝对路径时单斜杠都要改为双斜杠。
如果在Vista下使用GDI++的话还需要注意的一点是Vista默认是不会加载AppInit_DLLs中的值的,这就是很多使用Vista的网友发现在Vista下无法使用注册表加载GDI++的原因。当然,解决起来也很简单,只要把HKEY_LOCAL_MACHINE\SOFTWARE \Microsoft\Windows NT\CurrentVersion\Windows路径下的LoadApplnist_DLLs的值改为1即可。如此,在Vista下使用GDI++时完整的注册表文件应该如下所示:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows]
"AppInit_DLLs"="C:\\WINDOWS\\system32\\GDI++\\gdi++.dll"
"LoadApplnist_DLLs"=1
这里给出我的配置文件:
[General]
; 配置文件的名称
Name=fonlan
; 配置文件的图标(只有在使用gditray进行多配置切换时才有用)
Icon=
; 自动挂钩子进程
; [0:Disable] 1:Enable
HookChildProcesses=1
[Rasterize]
; 字体微调
; 0:NoHinting [1:Normal] 2:AutoHinting 3:Light+AutoHinting
HintingMode=3
; 抗锯齿方式,将此值设的过大的时候可能反而会变得五彩、看起来更费劲,GammaCorrection=1时无效。
; 0:Disable [1:Grayscale] 2:SubPixel(RGB) 3:SubPixel(BGR)
AntiAliasMode=2
; 常规体调整(加粗或减细)
; 可调范围-32~+32
NormalWeight=0
; 粗体字的调整(加粗或减细)
; 可调范围-16~+16
BoldWeight=-2
; 斜体字的倾斜角度微调
; 可调范围-16~+16
ItalicSlant=0
; 字体颜色深浅
; 可调范围-32~+32
Saturation=5
[Misc]
; 交付 gdi++ 处理的最大尺寸(单位为像素)
; 可调范围0~2147483647
MaxHeight=72
; Gamma 开关
; [0:Disable] 1:Enable
GammaCorrection=0
; α修正值,三个参数顺序为R,G,B,分别代表三原色所占比重。0为关闭,但是渲染速度反而会更慢。
; 每个参数的可调范围0~16
; Interpolation=6,5,8 (R=6, G=5, B=8 )
; Interpolation=4 (R=4, G=4, B=4 )
; Interpolation=0 (off)
Interpolation=3,2,3
; 竖向书写开关,建议关闭。
; [0:Disable] 1:Enable
VerticalText=0
; 模块优先度列表
; [0:Deny] 1:Allow 2:Allow->Deny
ModuleListOrder=0
[FreeType]
; 液晶显示器的优化配置
; [0:None] 1:Default 2:Light 16:Legacy
LcdFilter=1
; 检查 FreeType 的版本,不是所有版本的 FreeType 都和本程序兼容,所以此项设定最好别碰。
; [0:Check] 1:Skip
SkipVersionCheck=1
[Cache]
; 缓存
MaxFamilies=8
MaxStyles=12
MaxBytes=8388608
[Individual]
; 单独设置的字体,=1则表示使用字体内集成的微调功能。
; 格式: FontName=Hinting,AAMode,NormalWeight,BoldWeight,ItalicSlant,Saturation
Tahoma=1
MingLiU=1
PMingLiU=1
MeiryoKe_Gothic=1
MeiryoKe_PGothic=1
MeiryoKe_UIGothic=1
微软雅黑 = 3
Lucida Grande = 1
MS Shell Dlg = 1
MS Shell Dlg 2 = 1
Segoe UI = 2,,0,0,0
[FontLink]
; 字体链接
; 格式: FontName=Name1,Name2,Name3, ... (Max:16)
MS Shell Dlg = SimSun, Gulim
MS Shell Dlg 2 = SimSun, Gulim
Segoe UI =  SimSun, Gulim
Tahoma = SimSun, Gulim
Lucida Sans Unicode = SimSun, Gulim
Microsoft Sans Serif = SimSun, Gulim
Lucida Grande = SimSun, STHeiti, STXihei, Gulim
[FontOverride]
; 强制字体替换,氦版中基本无效。
; 格式: FontName=Name
; MS Sans Serif = Tahoma
[Exclude]
; 除外的字体(不用氦渲染的字体)
Marlett
FIXEDSYS
[AllowModule]
; 许可模块列表,是一个优先加载的列表,就算被下面DenyModule这个参数中的定义给拒绝了,但是只要在这个许可模块列表中依然会加载GDI++。
[DenyModule]
; 拒绝模块列表,含有此模块的程序不使用氦版GDI++渲染。
[UnloadDLL]
; 不想载入的进程,这个可是真正的不载入gdi++.dll哦,而不是freetype版那种载入但无效哦!
imejpmgr.exe
msdev.exe
winlogon.exe
fontview.exe
SREngPS.EXE
cstrike.exe
xdict.exe
CppIDE.exe
nvsvc32.exe
services.exe
csrss.exe
lsass.exe
svchost.exe
wmiprvse.exe
Safari.exe
spoolsv.exe
ctfmon.exe
scardsvr.exe
conime.exe
SynTPEnh.exe
RTHDCPL.exe
smss.exe
agrsmsvc.exe
oobechk.exe
jqs.exe
ppsap.exe
TXPlatform.exe
后记:很多朋友使用了自动安装版的GDI++后都不知道如何手工卸载,其实很简单:首先确定你是用什么方法加载GDI++的,如果是注册表加载(自动安装版 GDI++默认使用的就是这种方式),就先运行注册表编辑器,清空HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ Windows NT\CurrentVersion\Windows项下AppInit_DLLs的相关键值(这个键一般是不会有其他的项的,但如果你装有WB之类的软件的话这里还会有一个wbsys.dll的值,注意不要把这个值也删掉,只要删掉和GDI++相关的那部分路径就可以了),如果是快捷方式加载就先删除开始菜单中启动栏里的GDI++的快捷方式,然后重启系统,重启后删除C:\Windows\System32\GDI++目录和System32文件夹下的detoured.dll、freetype.dll、gdi++.dll三个文件即可。
——————————————————————————————————————
本文转自  蓝冰工作室
替换宋体的下载请看这里:
氦版的GDI++补充教程:
GDI++ FAQ:
氦版GDI++下载:
纳米盘下载:
BRSBOX下载: