Browsers 板


LINE

打上下面的补丁可以让MacType修改系统的DirectWrite设置, 关闭DirectWrite使用的Grid-fitting,让高DPI下字体显示变好看。 效果Win10 Edge打补丁前 Edge打补丁後 背景说明 1. 因为中文字笔画很多很复杂,当小字体的时候能使用的像素点很少, 像素不够多描绘出所有的笔画,字体会黏成黑黑的一团无法分辨, 所以这时候必须要省略一些笔画细节,将字体扭曲变形, 以有限的像素点来呈现原本字体大略的形象,才能让人看得懂显示的是什麽字。 这个包含在字型里,告诉渲染引擎要省略哪些笔画(像素点)的资讯, 称为Hinting,在ClearType、DirectWrite底下就是由Grid-fitting这个功能来完成的。 2. 然而现在萤幕的解析度越来越高,人们通常使用高DPI来显示字体, 在大号的字体下,已经有足够多的像素点来显示所有的中文笔画, 所以省略笔画的Hinting已经没有必要,而且有一些字体附带的Hinting讯息效果不好, 加上Hinting後字体反而残缺不全,高低不齐,变得非常难看。 3. 所以之前人们提出了二种方法来解决这个Hinting的问题。 第一个方法是去掉字型本身附带的Hinting资讯,改造成没有Hinting的字型, 用来替换掉原本的系统字型。 这个方法的缺点是使用传统GDI渲染的应用使用这个字型时,显示效果会非常惨烈。 第二个方法是修改字型里面的GASP表格, 让使用DirectWrite渲染的应用不会读取字型内建的Hinting讯息, 但是GDI应用则不受影响,就不会有第一个方法的缺失。 不过这个方法只对本地替换过GASP表格的字型有效, 如果网页使用的是Web Font就一样没辄, 还有在Win7下也没有作用。 4. 微软在Win10 10586以後自己修改了字型的GASP表格,降低了一点点门槛, 让大字号(21px以上)的字体不使用Grid-fitting, 然而...21px的门槛还是太高了,系统DPI要设置为200%才有作用, 而拥有超高解析度萤幕的使用者目前还不普及,所以这个修改仍然不太实用。 因此只有直接修改系统的DirectWrite设置, 在全域关闭DirectWrite的Grid-fitting, 这样不管用什麽字型都不会受到Hinting的摧残, 才能够完美解决Windows字体显示的问题。 现在日本2ch上有一位网友利用开放原始码的MacType, 为MacType加上了可以修改系统DirectWrite设定的功能, 让我们可以利用MacType关闭DirectWrite的Grid-fitting, 在Win10 HiDPI下可以呈现最忠实自然无破坏的字体显示效果。 下载 http://silight.hatenablog.jp/entry/MacTypePatch 按照说明替换MacType的档案 How to use 1. Open MacType directory. 2. Rename or delete EasyHK32.dll and EasyHK64.dll(64bit only) 3. Copy our DLLs and UserParams.ini to MacType directory. 4. Also Copy our DLLs to System directory as below. 32bit C:\Windows\System32\EasyHK32.dll 64bit C:\Windows\System32\EasyHK64.dll C:\Windows\SysWOW64\EasyHK32.dll Good Luck! 打完补丁後GDI的部分仍然是使用原本MacType(FreeType)的渲染设定, 而使用DirectWrite渲染的程式则会按照UserParams.ini里设置的参数来渲染。 注意事项 1. 这个补丁在Win8.1/Win10下的效果和Win7/Win8是不同的 因为Win8.1/Win10的DirectWrite有关掉Grid-fitting的选项, 而Win7/Win8并不支援这个功能,所以最重要的GridFitMode = 1参数没有作用。 2. 在Win7/Win8下如果要避免Grid-fitting, 渲染模式只能选Outline(RenderingMode = 6), 但是在Outline模式下,调整Gamma值这些参数,还有双向的次像素渲染都会失效, 在DirectWrite+D2D硬体加速下也只能用x轴的灰阶抗锯齿,y轴无渲染效果, 所以抗锯齿的效果会不太好。 效果Win7 IE11打补丁前 IE11打补丁後 修改UserParams.ini 将Win7的渲染模式设定改为 6 = Outline 可以看到原本高低不齐的微软雅黑变得相当整齐, (例如第一行的「火烧车酿成」的「成」这个字特别扁) 锯齿稍微减少一点,字体稍微变黑一点, 不过最重要的还是高低不齐的字体会变得比较整齐。 3. 对Chrome部分参数设定没有作用 Chrome部分渲染处理是自行处理的,所以无法通过DW设置修改 4. 对Chrome的Flash文字没有抗锯齿的效果 这是已知的Chrome的Bug,要等Chrome修正他的Flash外挂之後才会正常 5. 使用MacTray拖盘加载的渲染方式,结果无法渲染商店应用 本来就是如此,这是正常的,请改用服务加载或者注册表加载 (图等有空再补...) --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 61.219.36.191
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Browsers/M.1469056177.A.B96.html
1F:→ zhtw: 前几天有看的 还没时间测试 不知道效果好不好…chromium要用 07/21 08:28
2F:→ zhtw: mactype渲染蛮麻烦的 还有Bug偶尔会缺字 07/21 08:28
3F:→ rick: 等图中.. 07/21 08:47
4F:→ mayuyu: 不不,这个补丁不是用MacType(FreeType)来渲染Chrome 07/21 08:50
5F:→ mayuyu: 他是透过MacType使用的EZHook,去Hook DirectWrite的API 07/21 08:50
6F:→ mayuyu: 然後凡是使用DirectWrite渲染的应用 就会通过EZHook 07/21 08:50
7F:→ mayuyu: 覆写的参数来进行渲染 所以我们就可以改变原本 07/21 08:50
8F:→ mayuyu: DirectWrite输出的效果 07/21 08:51
9F:→ mayuyu: 就好像...送货的途中被别人拦截绑票一样xD 07/21 08:51
10F:→ mayuyu: 所以Chrome不用改任何设定 还是一样用原本的DirectWrite 07/21 08:51
11F:→ mayuyu: 输出 处理的引擎还是DirectWrite 只是覆写修改了 07/21 08:51
12F:→ mayuyu: DirectWrite本身提供的参数 主要是去掉Grid-fitting 07/21 08:51
13F:→ mayuyu: 所以这个补丁不是将DW的程式改用MacType渲染 07/21 08:51
14F:→ mayuyu: 而是利用MacType使用的EZHook来覆写DW的设定 07/21 08:51
15F:→ mayuyu: 真正在处理渲染的仍然是DirectWrite 所以有二条路线 07/21 08:52
16F:→ mayuyu: DW渲染的应用 -> 覆写DW参数 -> 交由DW渲染 07/21 08:52
17F:→ mayuyu: GDI渲染的应用 -> MacType(FreeType)渲染 07/21 08:52
18F:→ mayuyu: 还有Chrome从52版以後 就会拔掉传统GDI输出 07/21 08:55
19F:→ mayuyu: 以後将只能使用DirectWrite渲染 不能关闭DirectWrite 07/21 08:55
20F:→ mayuyu: 所以现在关闭Chrome的DW 让MacType可以渲染Chrome的方法 07/21 08:55
21F:→ mayuyu: 将会在52版以後失效 07/21 08:55
22F:→ mayuyu: 而这个补丁由於上述的原理 不会有失不失效的问题 07/21 08:57
23F:→ mayuyu: 图不太有时间弄 作者的网页有附看不太出来效果的简图 07/21 08:59
24F:→ mayuyu: 可以加减看:p 07/21 09:00
25F:→ zhtw: 我说的就是关掉DW後的渲染啦 关掉DW再渲染有时候会漏字 07/21 09:16
26F:→ hohiyan: 麻友友的图呢?(我要看绑马尾的 07/21 09:51
27F:推 shasen1235: 比较想等Stylish出来比较方便 如果有的话XDD 07/21 09:58
28F:推 abccbaandy: 同楼上,web还是用stylish比较稳 07/21 10:16
29F:→ abccbaandy: 不过其他程式就无解了...有些游戏的中文真的看到快瞎 07/21 10:17
30F:→ abccbaandy: 掉 07/21 10:17
31F:→ mayuyu: 图来了 http://i.imgur.com/vN6pxLk.gif 360度无死角 07/21 12:18
32F:→ t7yang: 我可以嘘吗?害我还很认真地点开图来看(笑 07/21 12:46
33F:→ mayuyu: 就h大要求的mayuyu马尾图啊(无辜 07/21 13:17
34F:→ mayuyu: 正经的图 来不及撷Win10的 用Win7的IE11当范例吧 07/21 13:18
35F:→ mayuyu: 打补丁前 http://i.imgur.com/VFxRIQo.png 07/21 13:18
36F:→ mayuyu: 打补丁後+RenderingMode设为6=Outline 07/21 13:19
37F:→ mayuyu: http://i.imgur.com/wdaj8BG.png 07/21 13:19
38F:→ mayuyu: 图里面的字型是微软雅黑 因为Win7的IE11在设定里选 07/21 13:19
39F:→ mayuyu: 「忽略网页指定的字型」 雅虎奇摩新闻会变成用 07/21 13:19
40F:→ mayuyu: IE简体中文字型那边的设定 用雅黑当范例有一个好处是 07/21 13:19
41F:→ mayuyu: 雅黑的Hinting是公认的非常惨烈 07/21 13:19
42F:→ mayuyu: 开了Hinting後字体的高低变化会非常剧烈 07/21 13:20
43F:→ mayuyu: 造成字体排起来特别不整齐 例如第一行的「火烧车酿成」 07/21 13:20
44F:→ mayuyu: 的「成」这个字特别扁 和旁边的字形成很大的落差 07/21 13:20
45F:→ mayuyu: 变得非常难看 所以去掉Hinting後的改善特别明显 07/21 13:20
46F:→ mayuyu: 不过要注意的是中国繁体字的写法和台湾的标准写法不同 07/21 13:20
47F:→ mayuyu: 例如「超过负载」的「过」这个字 07/21 13:20
48F:→ mayuyu: 对比表 http://i.imgur.com/HHgr6fQ.png 07/21 13:21
49F:→ mayuyu: 如果你用明兰字型的话 明兰是旧字体(康熙字体) 07/21 13:21
50F:→ mayuyu: 辶上面会有二点 手机上的Droid Sans Fallback和文泉驿 07/21 13:21
51F:→ mayuyu: 都是使用中国的繁体标准 所以如果是要给学习教育部 07/21 13:21
52F:→ mayuyu: 标准写法的学生使用的话 就不适合采用这些字型 07/21 13:21
53F:推 abc0922001: 冲着麻友,来试试看。我的是15.6寸1080p的萤幕,会变 07/21 13:47
54F:→ abc0922001: 比较好吗? 07/21 13:47
55F:→ hohiyan: 这图好(赞 XDDDD 07/21 14:31
56F:推 Kreen: Mayuyu 用的是哪个版本的 Mactray 和 Mactype 呀?还是这点 07/21 15:43
57F:→ Kreen: 没关系? 07/21 15:43
58F:推 kaoh08: Safari支援 http://i.imgur.com/4Zoih2l.png 07/21 17:14
59F:推 Weikey: 请问Chrome52以後要怎麽办, 我真的快被中文字体的渲染气疯 07/24 09:11
60F:→ Weikey: 了,他们开发的时候就不能把字体的美观放在心上吗? 还是处 07/24 09:12
61F:→ Weikey: 理字体其实很简单, 是我不知道方法?? 怎麽好像很多人都没 07/24 09:12
62F:→ Weikey: 这问题, 一直以为觉得字体的问题应该是月经文,很泛滥的.. 07/24 09:13
63F:→ Weikey: 今天起来看到chorme又怎麽模糊,一整个火气很大 >< 07/24 09:14
64F:→ Weikey: 已经先用回chorme50了~~ 要不然眼睛真的受不了 07/24 09:45
65F:→ tom27751989: 是说我用了之後好像还是一样... 07/24 13:10
66F:推 tom27751989: chrome系的浏览器还是要停用dw 渲染才会成功 07/24 13:13
67F:→ tom27751989: 但是flag里面设定会变乱码 07/24 13:13
68F:推 junorn: 图比字重要(O 07/25 14:34
69F:推 Chemise: 用了没变+1 想请问如何解? 52版看了眼睛很瞎orz.. 07/25 21:49
70F:→ zhtw: 偷偷说 Cent新版会把DW选项做回去 目前在测试中了(还有BUG) 07/27 11:48
71F:→ sate5232: 我照做了 UWP程式例如Edge等都还是没渲染.... 08/02 21:45
72F:→ sate5232: 也是用注册表加载 08/02 21:49
73F:推 maxximus: 感谢mayuyu的详细解释,之前在另一个对岸网友的网页看到 08/12 09:58
74F:→ maxximus: 那个日本网友的补丁,但是不太了解原理,现在知道了。 08/12 09:59
75F:→ maxximus: https://zhuanlan.zhihu.com/p/21676135 08/12 09:59







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:iOS站内搜寻

TOP