极限社区
第1页,共7页:  1  2  3  4  5   最后 »

极限社区 (http://bbs.themex.net/index.php)
-   字体渲染 (http://bbs.themex.net/forumdisplay.php?f=40)
-   -   使用交流 Windows 10 纯 DirectWrite 渲染效果(附字体修改方法) (http://bbs.themex.net/showthread.php?t=16903935)

RadarNyan 2015-07-24 22:54:36

Windows 10 纯 DirectWrite 渲染效果(附字体修改方法)
 
4 个附件
最新版 Windows 10 1511 (内部版本 10586.0)已经对高分屏进行了类似的优化,详见:






附件 240601
↑1920x1080 100% dpi

附件 240600
↑3840x2160 200% dpi

没有使用 Mactype,纯 Windows 自带 DirectWrite 渲染。
只保证 Windows 10 有效果,我测试的结果是 Windows 7 完全没用,Windows 8.1 部分情况下没有效果,Windows 8 没测试。

写了个批处理,通过 ttx 替换了字体的 gasp 表(附件)
附件 240602
需要已经安装好 ttx(在 path 里有,或者你手动编辑批处理指定路径),将压缩包内的 gasphack.bat 和 gasphack.ttx 文件放在待修改的 .ttf 字体同目录,运行 gasphack.bat 等待执行完毕后会在新建的 output 目录下找到替换完的字体。

PS:图中修改过的字体有微软雅黑(msyh*.ttc)和 Segoe UI(segoeui*.ttf segui*.ttf)
PS2:我的批处理只会处理了 .ttf 字体,.ttc 字体(比如微软雅黑三个字体文件都是 .ttc)需要自己手动用 UniteTTC 什么的拆开,弄完了再合回去即可。



新版本:附件 240657 全自动,使用前请看 再次提醒:这只是个 hack 不是什么正规的解决方案,注意备份,风险自负。

zzy030 2015-07-24 23:50:52

没有使用mactype,那你倒是上个传统桌面下的图啊。。。

Wo是熊猫 2015-07-25 01:01:45

下个月下回Win10试试,谢谢楼主

biuankheinom 2015-07-25 02:48:11

是不是废掉自带的hinting


从我的 iPhone 发送,使用 Tapatalk

deo7655 2015-07-25 07:48:08

win10有个不方便的地方就是每次大小更新之后注册表和替换的字体都会还原……

RadarNyan 2015-07-25 11:25:11

2 个附件
不是,只是通过修改 gasp 表来「告诉」DirectWrite 不进行 Grid-Fitting
比起直接干掉 hinting 信息的优势在于,使用传统 GDI-Cleartype 渲染文字的地方还能维持原来的渲染效果(不会有毛刺、过粗/缺失的笔划)

附件 240603
↑1920x1080 100% dpi
附件 240604
↑3840x2160 200% dpi(看这张截图,就算你换了 4k 高分屏显示器,GDI-Cleartype 这古老的技术也是没法看的……)

Windows 10 依然存在大量还在使用传统 GDI-Cleartype 的地方,所以我修改过的字体不会对这些地方的字体渲染有影响(截图中桌面和资源管理器)不过这部分可以通过 Mactype 来弥补。但是有些 Mactype 也不能渲染、也没有使用 DirectWrite 的地方(比如窗口标题栏)还会是原来的样子。




说到底这也就是个过渡方案,首先修改字体这条路本来就不太对(就算你把本地字体都改了,对 Web Font 也是束手无策)还是得等 Mactype 添加对 DirectWrite 的支持,或者直接对 DirectWrite 下手无视字体自设的 gasp 表,全局不进行 Grid-Fitting。

Rayernas 2015-07-26 01:17:55

简直黑科技 …… 顿时有盼头

来自我的 C6603 上的 Tapatalk

iceboyzhang 2015-07-26 03:16:07

。看不懂怎么用

bglaqaz 2015-07-26 10:22:53

不懂啊。。。。。

RadarNyan 2015-07-26 12:04:42

关于 gasp 表的内容可以看微软的文档(里面 0x 开头的数值都是 16 进制,ttx 里面写的是 10 进制):


简单的讲我是把所有字号(仅保留了 65535 一项,会应用到所有字号)都设成了 GASP_DOGRAY + GASP_SYMMETRIC_SMOOTHING (grayscale + symmetric ClearType,都没有 gridfit)

czyczk 2015-07-26 18:49:03

在尝试处理 segoeui.ttf 时发生这样的错误,请问要怎么处理?
http://chuantu.biz/t2/11/1437907686x-954497712.png

RadarNyan 2015-07-26 18:58:13

我这边测试没有问题,完整的命令行是什么样的?

czyczk 2015-07-26 19:07:53

把 bat, ttx 还有要处理的 ttf 放到一起了,然后在 bat 里设置了 ttx 的路径。

for %%i in (*.ttf) do "D:\Download\Fonts\fonttools-FontTools-2.4\dist\ttx.exe" -o output\%%i -m %%i gasphack.ttx

RadarNyan 2015-07-26 20:05:33

字体传上来看看…?

Wo是熊猫 2015-07-26 23:24:08

求实例讲解,不是特别懂,下回的压缩包就两个文件,双击了bat无用

chrislixu 2015-07-27 00:24:04

1366x768 哭瞎

czyczk 2015-07-27 10:56:38

1 个附件
就是系统自带的 SegoeUI
附件 240626

jonahjrjs 2015-07-27 13:19:59

WIN 10 的效果如果不算糟
会不会不用考虑渲染了

deo7655 2015-07-28 08:47:49

1 个附件
lz的字体效果不错~

love1234 2015-07-28 11:29:14

4 个附件
按照lz的方法处理了雅黑了segoeui,Surface Pro 3上替换后显示完美,而且即使台式机未进行27寸2560x1440显示,未进行dpi缩放时,效果也好多了。补几张台式机100%图,修改前的图来自网络。
1.修改前
附件 240636
修改后
附件 240637

2.修改前
附件 240638
修改后
附件 240639


所有时间均为北京时间。现在的时间是 13:54:00
第1页,共7页:  1  2  3  4  5   最后 »

Powered by vBulletin® v3.8.3 ©Jelsoft Enterprises Ltd.
Copyright ©2003-2014, THEMEX.NET [湘ICP备14009485号]