-
谢益辉大神你好,我按照你的博客内容成功把引用部分变成楷体,电脑平板可以正常显示楷体。就是手机不能显示。这几天看你博客手机应用文字字体也能支持显示楷体了,这是怎么做到的? |
Beta Was this translation helpful? Give feedback.
Replies: 3 comments 9 replies
-
奥勒留大帝你好: 这个稍微有一丁点复杂。手机上通常没有楷体或思源宋体,而要是完整加载这些字体的话,会非常慢,因为完整的中文字体文件通常都非常大,不适合作为网络资源加载。我的办法是提取了字体的子集、保存到我的一个 Github 库中,然后通过 jsdelivr 的 CDN 加载: yihui.org/static/css/fonts.css Lines 1 to 12 in 384bd48 提取子集的代码在此:https://github.com/yihui/cron/blob/main/.github/workflows/fonts.yaml 我提取的是我网站所有 .md 文件中的所有常用中文字符(4E00 到 9FFF)。子集字体的大小比完整字体会小很多,思源宋体只有不到 1 兆,楷体比较大,有 2 兆多。我用的楷体是 LaTeX 里的 Fandol 楷体,据说是开源的。当然思源宋体也是开源的。用别的楷体也许能减小文件大小,但可能会涉及侵权,所以目前也就这样了。据我所知似乎没有其它的楷体是开源的(霞鹜字体是开源的,但它的楷体我觉得实在太不像楷体了)。 所有通过网络加载的中文字体都是这个原理,即:按子集加载。霞鹜字体就是这么干的。 |
Beta Was this translation helpful? Give feedback.
-
益辉你好!我这段时间也一直在琢磨如何给网站设置思源宋体。之前我是直接在仓库引用otf格式的字体,但是只能在个人电脑端显示,于是找到了这里。我想下载一份你的子集字体放到自己的仓库,然后使用jsDelivr引入,可以按照你的方法使用你放在cron文件夹中的字体吗^^? |
Beta Was this translation helpful? Give feedback.
-
CTeX 的楷体也用的是 AR PL KaitiM GB,繁体的楷体不知道怎么处理的,不知道是 fandol 还是 adobe 的开源字体。 |
Beta Was this translation helpful? Give feedback.
奥勒留大帝你好:
这个稍微有一丁点复杂。手机上通常没有楷体或思源宋体,而要是完整加载这些字体的话,会非常慢,因为完整的中文字体文件通常都非常大,不适合作为网络资源加载。我的办法是提取了字体的子集、保存到我的一个 Github 库中,然后通过 jsdelivr 的 CDN 加载:
yihui.org/static/css/fonts.css
Lines 1 to 12 in 384bd48