如何提取中文字体包的部分字体?

2014-11-07 16:38:11 +08:00
 OrangeHat
小米网站 http://www.mi.com/mi4#fea-one

其中 Banner 的字体,使用了方正兰亭黑。
按理应该不是整个 方正兰亭黑 字体包下载来使用,可能提取了部分需要使用的字体。

那么问题来了,如何提取中文字体包的部分字体呢?
8154 次点击
所在节点    问与答
8 条回复
OrangeHat
2014-11-07 17:07:04 +08:00
发现原来是 Mac 自身带有兰亭黑。

那么换个问题,要使用思源黑体的话,能否使用提取部分需要的字体的方式呢?
Daniel65536
2014-11-07 19:38:00 +08:00
7654
2014-11-07 21:27:47 +08:00
Windows显示的是雅黑
用woff格式
Ricky123
2014-11-07 21:38:55 +08:00
楼主问我跟我一样的问题
可以参考一下: http://www.v2ex.com/t/112938#reply25
notcome
2014-11-07 23:16:26 +08:00
对于思源黑体,可以先用 tx 对 PS 字体文件子集化,再 makeotf。

对于通用的字体,可以用 fontforge 生成子集,封装好的有 fonttools,提供了 pyftsubset。

对于兰亭黑——我咨询过方正和汉仪,都提供 web font 服务,前者公益项目免费。后者贵(几千一年),但旗黑质量高。
notcome
2014-11-07 23:19:19 +08:00
tx 是 AFODK 的一部分,使用方式——可以搜思源黑体的 issues,小林剑回答过的。
OrangeHat
2014-11-08 17:27:34 +08:00
@Ricky123

有一个问题,如果小米是跟方正合作,通过方正的接口生成页面所需的文件字体,再转 base64。
那么在 Windows 下,也应该显示 兰亭黑 才更合理啊。
这是为什么呢?
OrangeHat
2014-11-08 23:13:23 +08:00
跟朋友交流后,明白其原理,来总结一下:

小米通过提取网页需要用到的中文字体,转成 base64,嵌入 css 当中。

小米官网通过 js 判断是否为 Mac ,是的话使用 兰亭黑(纤细)。不是的话,使用默认 fontfamily. 为什么不在 Windows 下使用 兰亭黑 ,可能是因为渲染的效果不大好。

如何提取中文字体包子集,可参考: http://hxgdzyuyi.github.io/blog/chinese-subset.html

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/144729

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX