百度空间 | 百度首页 
               
 
查看文章
 
【GDI++】单独放出GDI++氦版使用说明(5月3日更新安装程序)
2008-03-25 16:13
关于GDI++我在这里就不多说了,想了解的可以去看这里:http://hi.baidu.com/fonlan/blog/item/ca7144dc90bec1a5cc11666b.html

        氦版相对于原来的Freetype版有了巨大的变化,总结一下我们实际看得到的变化就是资源占用更小、兼容性提升相当大,但相对的,他的渲染效果相比 Freetype稍微差点,但差距多少这与各个人不同的硬件和系统环境有关,不能一概而论,例如在我的电脑上氦版和Freetype版的差距就不大。
        氦版的配置文件结构和Freetype版是不同的,不能混用,但程序的加载方式还是一样的,有兴趣的就去看《完美的GDI++字体渲染》一文吧。氦版的Gamma值被固定在相当于旧版本中 2.0 的数值,配置文件中,对渲染效果影响最大的参数只有两个,那就是InterpolationSaturation这两个参数,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=..\gditray.exe,-203

; 自动挂钩子进程
; [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=0

; 斜体字的倾斜角度微调
; 可调范围-16~+16

ItalicSlant=0

; 字体颜色深浅
; 可调范围-32~+32

Saturation=10

[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,4

; 竖向书写开关,建议关闭。
; [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
宋体 = ,,12,3
新宋体 = ,,12,3

[FontLink]
; 字体链接
; 格式: FontName=Name1,Name2,Name3, ... (Max:16)


[FontOverride]
; 强制字体替换
; 格式: FontName=Name
; MS Sans Serif = Tahoma


[Exclude]
; 除外的字体(不用氦渲染的字体)
Marlett
FIXEDSYS

[AllowModule]
; 许可模块列表,是一个优先加载的列表,就算被下面
DenyModule这个参数中的定义给拒绝了,但是只要在这个许可模块列表中依然会加载GDI++。

[DenyModule]
; 拒绝模块列表,含有此模块的程序不使用氦版GDI++渲染。

[UnloadDLL]
; 不想载入的进程,这个可是真正的不载入gdi++.dll哦,而不是freetype版那种载入但无效哦!
imejpmgr.exe
msdev.exe
devenv.exe
winlogon.exe
fontview.exe
SREngPS.EXE
cstrike.exe
CppIDE.exe
nvcplui.exe
nvsvc32.exe
xdict.exe
services.exe
csrss.exe
lsass.exe
svchost.exe
wmiprvse.exe
Safari.exe
spoolsv.exe
ctfmon.exe
3DMark06.exe
scardsvr.exe
conime.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三个文件即可。

5月3日更新自动安装版程序,更智能化:

·强行安装在system32\GDI++目录下,安装结束后提示重启。

·安装时可选择使用注册表全局加载还是使用GDI Tray加载。

·使用注册表加载时自动判断操作系统是否为Vista,如果是Vista则将LoadAppInist_DLLs设为1。

·使用GDI Tray加载时在开始菜单建立启动GDI++的快捷方式,使得手动退出GDI++后依然可以快速地重新启动GDI++。

·自动判断操作系统是否为Windows2000,如果是则打上相应的注册表补丁。

·从添加删除程序中可以彻底卸载GDI++(需要重启)。

注意:

1、安装前请尽量彻底卸载已安装过的GDI++,以避免出现各种问题。

2、安装时如选择的是使用注册表加载则请关闭杀毒软件或者其他安全防护软件后再运行本安装程序,否则对AppInist_DLLs的写入可能会被拦截而无法正常加载。

3、此安装程序如果在安装了WB的电脑上安装,当选择使用注册表加载时会出现安装完成后WB失效的情况,请手动定位到注册表的 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows路径下,在右侧的AppInit_DLLs的值C:\WINDOWS\system32\GDI++ \gdi++.dll后加上“,wbsys.dll”(不包括引号)即可。卸载时也同样会造成这个问题,如法炮制加入“wbsys.dll”即可(注意此 时就一项的话逗号都不用了)



类别:gdi++ | 添加到搜藏 | 浏览() | 评论 (50)
 
最近读者:
 
网友评论:
1
2008-03-25 18:22 | 回复
好!!!!来试试先
 
2
2008-05-03 13:41 | 回复
你这个配置真黑啊
 
3
2008-05-03 15:02 | 回复
同一个配置在搭配不同字体、不同显示器时效果都是不一样的,所以在我这儿看着一般的可能到你那儿就很黑了
 
4
2008-05-05 14:39 | 回复
建议提供一个绿色版。虽然绿色版官网也能下,但你这里提供不是更方便吗?而且DIY可以更灵活用这个软件啊~
 
5
2008-05-05 21:23 | 回复
今天调了一整天的氦版,结果还是不能成功调整到与0927一样。在0927下我的Tahoma字体可以正常用在UltraEdit上的,但在1227下就无法GDI++了——反正就是GDI++无法处理Tahoma字体,选用宋体就很正常。另外杀毒软件的字体在1227版下也无法进行平滑处理——当然还有其他情况是无法处理的。网页和系统的字体就处理得非常正常,连QQ也行。 如果是系统有问题我还真是无语,因为我对自己使用系统的能力可是非常有信心的。 下面我贴上我的.ini——基本上是修改版主的文件的
 
7
2008-05-05 21:24 | 回复
[FontLink]在0927下我是不用管的,但如果在1227下对应注册表加入以上那上内容,Tahoma字体就可以处理成平滑的宋体——但非常奇怪的是,原系统的宋体已经被我换成你提供的圆体了,它竟然又成了宋体——还是它其实是明细体?(不太懂分) 反正嘛~~真是乱套了~~据我观察就只是调用Tahoma的软件的字体会有问题。其他一切正常。如果版主能知道问题在哪就好了~~~麻烦发个E-mail给我。 最后,我想为什么有些人觉得氦版兼容性还可以,有些人却不认为呢~~大概和用户所用的软件有关系~ 非常欣赏蓝冰工作室的Blog~支持啊~祝你们好运!
 
8
2008-05-05 22:26 | 回复
因为你的配置文件中有这句:Tahoma=PMingLiU,MS UI Gothic,gulim,SimSun,所以Tahoma会被强行用细明体显示,删掉这句就正常了啊
 
9
2008-05-05 22:27 | 回复
氦版是无法调节到freetype版的效果的。 PS:偶不是版主啊
 
10
2008-05-06 02:12 | 回复
Tahoma=PMingLiU,MS UI Gothic,gulim,SimSun 这句是对应注册表的HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLink\Tahoma的 我看过一些解释,它不是替换的意思,就算我将.ini文件[FontLink]这句改成Tahoma=SimSun,并且注册表也改了~~或者就如你说将这句删了~~~1227版的GDI++就不处理Tahoma的中文字——英文字反而正常~~~~我就是觉得超奇怪 我试过不知道多少个高人的氦版.ini设置了~~反正都是不能处理Tahoma的中文字,而最后我发到上面的设置,中文字终于能处理出效果了,不过竟然变了字体——不能处理的时候,我肯定其是圆体的……总之这真是搞晕了~~~无奈又用回0927版 再说明一次,注册表我是从来没有动过的,是windowsXp的默认值。我在0927是一切正常的,都用了好几个月了,当然设置的ini不是上面那个。在1227下什么都正常,除了用Tahoma字体当中的中文字符无法处理出效果外……现在我的这个系统,除了宋体SimSun换过,其余字体都没有动过~原装的。 难道真的“隔机如隔山”~?不同的机有不同的命~? Orz
 
11
2008-05-06 02:18 | 回复
由于Tahoma中文字体无法处理的问题,我还没有认真微调1227版的字体,不过,应该问题不大,接近原来的效果就可以了。 PS:我称呼你为Fonlan吧~~尽管打字没有打版主爽XD
 
12
2008-05-06 07:54 | 回复
Tahoma本来就不具备中文字体,FontLink的功能是在一个字体里找不到某个字的时候可以自动链接到另外的字体去寻找有没有这个字符,而且这一项的参数是有顺序的,所以如果你把这句改为Tahoma=SimSun,PMingLiU,MS UI Gothic,gulim的话使用Tahoma时如果遇到中文字时便会以宋体替代了。 还有SimSun=PMingLiU,MS UI Gothic,gulim和Microsoft Sans Serif=PMingLiU,MS UI Gothic,gulim,SimSun两句也要去掉,这两句都是把宋体也容易在界面上出现细明体。
 
13
2008-05-06 11:20 | 回复
首先谢谢Fonlan你的回答,尽管对我的系统仍然不起作用——在你“成功者”看来,我这个“失败者”是个麻烦人,所以说感谢是应该的。 Snap1.jpg Snap2.jpg Snap3.jpg Snap4.jpg Snap5.jpg Snap6.jpg 上面是我多种尝试的部分截图,其他你能想像到的情况我或者都试过了,希望你现在能明白我的困境!Orz 可惜我不是极限的会员,上论坛问或者会有更多回音,不然也找不到高手可以知道我的问题。
 
14
2008-05-06 11:25 | 回复
不好意思,不知道Blog能外链图片不,上面试了试,不能,改只好再发一下图片链接~ http://i.namipan.com/files/7225c222fc7889d281a409e18fdc691558857c5b748903005180/0/Snap1.jpg http://i.namipan.com/files/80772bbfe57ce699df52e306298c6699180b783fb66503009d3f/0/Snap2.jpg http://i.namipan.com/files/be2b13b2cb00591d4eb6d0289bbdbc16f55d4161392003003980/0/Snap3.jpg http://i.namipan.com/files/d569a8a89037ff48a475ca8745b2b231cfe3f887f34f0300b302/0/Snap4.jpg http://i.namipan.com/files/800e1dd964d32b507a964891eff183df8480a54cc13603008b9c/0/Snap5.jpg http://i.namipan.com/files/c0d4f4102f63d5fa4170ce77646f63113fa470b7b4730000ccb5/0/Snap6.jpg 最后一张图,就是我注册表的默认值。
 
15
2008-05-06 12:48 | 回复
给我你的邮箱,用邮件讲,毕竟百度的回复功能太有限了
 
16
2008-05-06 13:20 | 回复
已经发送消息给你了~
 
17
2008-05-06 16:17 | 回复
我用了你的这个,发现我的魔兽争霸1.20的小地图黑屏了,什么都没有了 反而1.21版本的还好好的 我把魔兽争霸里所有的程序都添加到UnloadDLL]不想载入的进程里,但是问题依旧呀 能帮我找找毛病吗 ?
 
18
2008-05-06 17:44 | 回复
魔兽的字体本身也是用freetype渲染的,所以会和GDI++冲突,具体解决方法一是在运行魔兽之前先关闭gdi++,二是去极限论坛或者搜索引擎里搜索一下,有相应的解决方法的,好像就是通过替换老版本的文件实现的。
 
19
2008-05-07 08:56 | 回复
我还是喜欢注册表安装的方法 GDI++和魔兽的小地图有冲突,因为魔兽的字体也使用了同样的字体渲染方式。解决方法是使用gditray加载方式,在启动魔兽世界之前关闭GDI++渲染即可。 注册表的方法可以暂时关闭GDI++渲染吗
 
20
2008-05-07 09:53 | 回复
注册表加载的话无法暂时关闭渲染
 
21
2008-05-07 14:42 | 回复
问题解决了,上极限上面找到的方法 我发现了,1.21一直看到小地图,我用mpqmaster解开war3目录下面的war3patch.mpq文件。在ui的目录下面有个war3skins.txt的文件,用1.21的替换了1.20的就可以看小地图了。终于可以方便的上浩方玩了。不过不知道为什么开gditray会卡,全局应用就不会。 谢谢啦!
 
22
2008-05-07 19:52 | 回复
请问输入法可以被渲染吗 ? 嘿嘿
 
23
2008-05-07 23:14 | 回复
只要输入法的字体不是宋体(像搜狗之类都是可以修改显示字体的),都能被GDI++良好地渲染。
 
24
2008-05-10 17:23 | 回复
我的意思是 是不是把ctfmon.exe从UnloadDLL]里面移除,就可以被渲染了? 搜狗没有单独的进程
 
25
2008-05-10 17:34 | 回复
ctfmon.exe并不是挂接搜狗的程序,搜狗是以DLL的形式插入到需要输入文字的程序的,默认安装好后就可以被正常渲染,不需要任何操作。
 
26
2008-05-29 15:46 | 回复
使用氦版后,我把qq.exe加到了[UnloadDLL]中,可是使用一段时间后qq还是直接关闭(在配置文件中是否分别大小写?)
 
27
2008-05-29 15:48 | 回复
不区分大小写,并且氦版的话不需要加入排除列表,默认就不会崩溃,不知道是不是你所使用的QQ版本的问题。
 
28
2008-05-29 17:24 | 回复
我用的版本是刚下载的qq祈福版,LZ用的什么版本的qq可以发个链接过来我做下试验不,qq显ip的工具是否也和gdi++冲突,我开了qq和gdi++后,qq.exe占用突然上升cpu20%,内存50M,感谢楼主,用gdi++渲染之后的,眼睛都犯贱了,看着同学的宋体都不爽,(*^__^*) 嘻嘻……
 
29
2008-05-29 17:52 | 回复
呵呵,GDI++的确是个会让人上瘾的东西。我用的是深度的QQ2008祈福版,默认完美助手外挂,没有任何问题。
 
30
2008-05-29 18:45 | 回复
有点无语。。我也用的deepQQ2008bete祈福版,默认完美助手外挂,下午询问你时问题还存在,打了2局魔兽,吃饭回来再看你的回复,结果居然没问题咯,中途没有重启和关机,有点玄幻的感觉,谢谢lz给的好运气
 
31
2008-05-30 08:37 | 回复
请问有些网站的导航按钮文字会出现像是被选中的效果 那是怎么回事呢 ?
 
32
2008-05-30 13:05 | 回复
你是说那些字变成了黑块吧,那是因为gdi++对IE内核浏览器支持不佳造成的,换用非IE内核浏览器就没问题了 http://hi.baidu.com/fonlan/blog/item/6502991fdcc4b9cda7866904.html
 
33
2008-05-31 09:41 | 回复
呵呵 那我还是将就着用吧,影响也不大 我就喜欢遨游啊
 
34
2008-05-31 14:38 | 回复
老大你好,你这个玩意不错,火狐狸看网页爽多了。有个问题是系统字体比如桌面图标名称的字体不渲染哪,还是原来的样子。怎么回事捏?我已经把系统文件夹里那个宋体(simsun)替换掉了。
 
35
2008-05-31 18:05 | 回复
如果确定桌面图标的字体已经不是宋体了但依然没有被渲染的话你看看GDI++的配置文件的排除程序列表中有没有explorer.exe?如果有的话去掉。还有把系统自带的ClearType关掉(桌面右键属性外观效果,把Cleartype那里的勾去掉)试试,另外再把主题换回XP自带的试试。
 
36
2008-06-26 09:42 | 回复
nami盘的文件没有了
 
38
2008-07-02 20:01 | 回复
似乎是搜狗的问题,大概搜狗采取了和安全软件一样的保护措施吧!
 
39
2008-07-02 21:18 | 回复
我刚把系统的cleartype效果打开了,搜狗上的字体锯齿明显减少了,难道界面上的字体默认不是宋体?还是我的wb主题的原因,可是我已经把主题字体全部换成宋体了啊。还有不晓得cleartype会不会对GDI++的渲染效果有没有影响.........
 
40
2008-07-02 21:46 | 回复
你界面上的字体明显不是宋体,使用ClearType的时候如果没有出现兼容性问题的话对渲染效果是不会有影响的。
 
41
2008-07-02 23:19 | 回复
我看也不像,用的是在你的博客下的无点阵版的雅黑,也不应该有锯齿。搜狗上的命令按钮 多页面控件上字体都显示的很好,哎,不晓得什么原因。。。。。
 
42
2008-07-17 08:11 | 回复
谢谢老大的东西,安装后效果不错,但是我不能运行更换雅黑的程序,即将系统全部字体更换为雅黑,老是提示字体文件有程序正在使用,怎么办啊? 另外,老大能不能给我发一个极限的邀请码啊,谢谢!!Email:jingeda@gmail.com
 
43
2008-07-17 13:23 | 回复
更换雅黑的程序?我没做过这种程序啊。邀请码已发,请尽快使用。
 
44
2008-07-25 19:14 | 回复
什么时候能弄到 不跟卡巴冲突啊 在VISTA下
 
45
2008-07-25 20:03 | 回复
氦版作者已经停止更新,你希望作者解决这个Bug是永远不可能了,还是把卡巴排除吧。
 
46
2008-11-30 21:01 | 回复
GDI++ 和魔兽争霸有冲突的 玩一会就跳出来 内存不能read的什么的 关了GDI++就没问题了 不知道怎么回事
 
47
2008-12-11 20:50 | 回复
怎么才能让它只渲染指定的字体,而对其他的字体都不渲染呢? 事实上我只想渲染方正准圆和楷体。
 
48
2008-12-22 15:45 | 回复
老大,能不能也给我个极限论坛的邀请码啊? 谢谢先~~ 另外..我用的是Freetype版, 跟你这个氦版 效果哪个好点? 貌似我这个用着还不错啊~
 
49
2008-12-22 15:46 | 回复
额..忘记发邮箱了.. jerytang@yahoo.cn
 
50
2009-05-19 18:48 | 回复
设置哪个选项能让字体再黑再粗一点点呀
还有那个shadow1,1,6 能不能给我讲讲!
谢谢啦!
 
51
2009-05-22 08:42 | 回复
fonlan, 你好, 看到你的配置文件中:
Gamma 开关
; [0:Disable] 1:Enable
GammaCorrection=0, 设为0的话不是disable吗? 这个功能不用开启吗?
 
52
2009-05-30 13:48 | 回复
无法编辑Appinit_dlls,写该值的新内容时出错
我用的WB主题,开机时任务栏是黑色的,可能与这个有关,所以我按文中的方法操作,却出现上面的提示。
 
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
验证码: 请点击后输入四位验证码,字母不区分大小写
      

     

©2009 Baidu