这个问题其实源自于强迫症…… 在成功换掉了 blog 的字体以后每次打开网页都要加载大概半分多钟,经常一篇文章看都看完了字体还没有加载出来,姗姗来迟的加载好像马后炮,总是让人非常暴躁。
人一暴躁就吃不下睡不好,虽然我想减肥但是也得解决它,抄起 Google 百度我就上了。

通过 Google,发现中文字体的加载本身就是一个老大难问题,英文只有 26 个字母,而中文有几千个字,字体文件很大,所以加载会很慢。所以最开始的思路是能不能通过对字库的精简来解决这个加载问题——没打开一篇文章,只加载文章里用到的字。
在这里通用的网页解决方法似乎是 字蛛,一个中文字体压缩器,但 CMX 的 lanee 告诉我说字蛛不适合 blog,粗看了一下也确实太麻烦,就放弃了。
并且后来发现 Abode Typekit 本身就是动态调用的,所以搞了半天就调用这么几个字也这么慢……

晚上和旋岚在研究这个问题,我觉得他能跟我一起纠结这种纯属强迫症发作的问题真的是人太好了…… 讨论以后明确了字体加载过程是不可避的,那么只能想办法把它变慢(调用 / 下载速度更快),或者想办法绕开这个问题。
这时候我找到了两个 blog,共同的特点是不需要经过加载过程,直接显示思源宋体,非常流畅。
…… 我十分不乐意,凭什么我做不到嘛!发给旋岚,结果旋岚说这两个 blog 他是需要加载的,我和他唯一的区别是我在电脑上装了思源而他没有,因此这两个 blog 实际上调用的是我的本地字库,不从 Abode Typekit 调用,那当然没有加载过程啦。

那么解决方案就变成了:

  1. 如果电脑上有思源宋体,那么调用本地字体
  2. 如果电脑上没有,从 Abode Typekit 调用加载

之前 shioko 给过我一个类似的解决方案,但是她说这个方案会更慢,我研究了一下,果不其然,成功报错。(事实上我搞代码这种东西不报错才不正常……)
两个人又吭哧吭哧研究了半天,旋岚突然截个图跟我说,你看你这个字体文件的名字显示的不是 source-han-serif-sc, serif 而是 思源宋体 CN Medium
我福至心灵一拍大腿,去重写了 family-font

font-family: " 思源宋体 CN", "source-han-serif-sc", serif,"PingFangSC-Regular", Helvetica, "Helvetica Neue", "Segoe UI", "Hiragino Sans GB", "Source Han Sans CN", "Microsoft YaHei", "STHeiti", "WenQuanYi Micro Hei", sans-serif !important;

hexo s -debug,成功了!


最后的解决方案

在 Style.css 文件的 pure-g,body,.post-title 下面的 family-font 行的最前面分别加上 "思源宋体 CN", serif,,当你电脑里有思源宋体的时候,就会直接调用你的本地字体

至于没有的人从 Abode Typekit 加载慢怎么办…… 反正客观事实是字体文件每个 10M,这种老大难问题就交给比较会玩的人来研究吧,我先自己爽了再说(……

以及另一个小优化

放弃使用 <!--more--> 而使用在 front-matter 中添加 description: 的方式来显示文章首页的摘要,这样做的优势是点进正文以后不会再显示缩略部分和一个奇丑无比的分割线上文字,那个位置真的很多次让我想要打人。

title: 题红 | 解决 Abode typekit 加载字体过慢 
categories:
- 飞来就我题红
description:
- 其实是一个妥协方案,但是毕竟我拯救不了世界

之前疯狂报错的原因:front-matter 最下面那道分割线真的不能删(:з」∠)