We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
思源黑体通过 avar 表把用户看到的 wght 值 (user scale) 分段线性映射 OpenType VF 插值算法所用的内部坐标 (design space),如下图所示。具体的数值见 source-han-sans#297 中的讨论。
梦源黑体按照 user scale 线性插值,如上图所示,反映到 design space 就是较细的一端太稀疏,也就是主页上所描述的问题。
如果按照 design space 进行线性插值,就可以保证笔画粗细严格地线性变化。参照下图,反映到 user scale 上,就是把较细的一端加得更密集。(或许可以说和等比版“异曲同工”,但个人感觉这一插值方式在 wght = 350 突变点附近的观感比等比版更好。)
demo.zip
如下图,右边是按 design space 线性插值的版本。相比左边按 user scale 线性插值的版本,右边的版本在字重的分布上更加均匀。
思源宋体的 user scale 和 design space 的对应关系接近线性。如下图,按 user scale 插值的结果相对黑体来说要好得多,也对应了主页上的描述。(当然,提供一个严格线性插值的版本也不错。)
是否有一个(比较容易给出数学描述的)参数能反映人眼对黑度的感受?如果按照那个参数来线性插值,效果应该更好。
举个例子:在 Resource Han Rounded 中,我发现人眼感受到的圆角程度基本上可以用“缺失的面积”(正比于圆角半径的平方)来描述,按这一关系写入 avar 表之后,圆角程度变化看起来就比较均匀了。
OpenType 标准 avar 表。
The text was updated successfully, but these errors were encountered:
很棒的建议!其实我一开始思考过是否要考虑avar的影响,当时觉得思源的avar可能没那么大突变,就没在意。看了你的图之后,发觉还是得考虑avar。我会先自己试一下,不过我的 proposal 会更简单一些:直接删掉 VF 字体文件的avar表,继续使用现行的 wght 量化值,这样就不需要考虑 design space -> user scale 的换算了。
avar
Sorry, something went wrong.
过来更新一下,扔掉avar之后的线性插值无论黑体还是宋体观感都非常均匀,不过黑体还是稍微有点挤压细体字重。我又试了几套参数,发现某种二次多项式组合对黑体效果不错,具体参数已经更新在文档和脚本里了。我现在暂时还没找到一个 one-size-fit-all 的模型能够完美反映人眼对黑度的感受,还处于摸索阶段。
再次感谢你的建议!我已经把这个 issue 的实现更新到项目里面啦。不过我没有再保留 user scale 版本(原来的“线性版”),因为那个版本的黑度实在不够均匀,维持两套版本的使用体验也很糟糕。与其这样,不如只做一个版本,把黑度和字重做到足够细腻即可。如果用户真对思源字重有严格要求,直接使用思源原版就可以了,这个项目没必要重复。
No branches or pull requests
描述
思源黑体通过 avar 表把用户看到的 wght 值 (user scale) 分段线性映射 OpenType VF 插值算法所用的内部坐标 (design space),如下图所示。具体的数值见 source-han-sans#297 中的讨论。
梦源黑体按照 user scale 线性插值,如上图所示,反映到 design space 就是较细的一端太稀疏,也就是主页上所描述的问题。
如果按照 design space 进行线性插值,就可以保证笔画粗细严格地线性变化。参照下图,反映到 user scale 上,就是把较细的一端加得更密集。(或许可以说和等比版“异曲同工”,但个人感觉这一插值方式在 wght = 350 突变点附近的观感比等比版更好。)
demo
demo.zip
如下图,右边是按 design space 线性插值的版本。相比左边按 user scale 线性插值的版本,右边的版本在字重的分布上更加均匀。
实现
关于宋体
思源宋体的 user scale 和 design space 的对应关系接近线性。如下图,按 user scale 插值的结果相对黑体来说要好得多,也对应了主页上的描述。(当然,提供一个严格线性插值的版本也不错。)
更多思考
是否有一个(比较容易给出数学描述的)参数能反映人眼对黑度的感受?如果按照那个参数来线性插值,效果应该更好。
参考
OpenType 标准 avar 表。
The text was updated successfully, but these errors were encountered: