最近终于成功更换了字体到小米的Misans。handsome自带的字体个人感觉阅读感觉太疲劳了,我个人还是喜欢宋体和小米这套字体,再三斟酌下还是选用了小米的Misans。
但是经过在网上的不断寻找,发现网上的教程都不大和我心意,通过css引入字体的教程也难以找到,于是我就总结了多日冲浪的经验,整理成这篇教程
首先找到合适的css源,这里可以自己上传到网站目录内调用、找一些权威的css源调用或者上传到自己oss储存进行调用,这里我仅讲述前两者
第三方托管调用
css源推荐
这里推荐:中国网字计划 —— 字体多,加载快,适合新手
Google fonts —— 不太推荐,需要自己摸索,慢
还有 小米字体 —— 个人用的挺舒畅,可以调用Misans字体,跟Google fonts一样需要自己摸索,下列给出两个小米字体中MiSans和思源宋体的加载链接:
MiSans
https://font.sec.miui.com/font/css?family=MiSans:400,450:Chinese_Simplify,Latin&display=swap
思源宋体
https://font.sec.miui.com/font/css?family=Source_Han_Serif:400,600:Chinese_Simplify,Latin&display=swap
在Typecho中加载并使用
由于Typecho中并没有快捷更换字体的选项,部分有更换字体的功能的主题内也只支持本地tff文件woff2文件之类的,所以我们需要在head中手动输入代码,大部分主题应该都支持在设置中去自定义head头部输出的代码,若是原生主题或者比较朴素的主题则需要到header.php
中手动添加代码(记得填写在head标签内)
现在给出需要填写的代码
<style>
@import url("https://font.sec.miui.com/font/css?family=MiSans:400,450:Chinese_Simplify,Latin&display=swap");
@font-face {
font-family: "MiSans";
font-style: normal;
font-weight: normal;
}
/* 应用于除图标元素以外的所有文字 */
*:not([class*="icon"]):not(i) {
font-family: "MiSans", serif !important;
}
</style>
这里以小米字体的Misans引入为例
一般情况下将@import url("")
内链接改为其他字体的css链接即可,同时将两个font-family 的定义名称换为字体名称(一般就是链接内的),然后保存,control+R重新加载网页一般就可以看到效果
中国网字计划也是如此,进入它的主页点击“复制CSS”然后将链接定义名称更换一下就可以更换字体了
Google fonts暂未尝试,应该原理差不多。如果在尝试的过程中产生问题,也可以留言询问。
在本地自托管调用
虽然用这些大厂的cdn源又快又好,但总不免的喜欢折腾的家伙,而且一旦本地会调用了那么oss储存调用也就学会了
首先我们先要将字体包下载下来,这里以小米的MiSans举例
下载解压发现小米给我们准备好了需要使用的woff2文件
虽然MiSans自带的woff2文件仅有5mb的大小,但还是太大了,对于自己的小破主机而言更本吃不消,所以还是得分包
如果觉得加载速度不重要,想要直接调用woff2文件的话,那可以参考以下代码,同样还是放在head内
<style>
/* 加载 woff2 字体 */
@font-face {
font-family: "MiSans";
src: url("/字体路径.woff2") format("woff2");
font-weight: 400;
font-style: normal;
}
*:not([class*="icon"]):not(i) {
font-family: "MiSans", sans-serif !important;
}
</style>
分包结束后解压得到:
里面包含了细分 woff2 文件、CSS 索引文件、reporter.json 等静态文件
这时候上传到网站上,解压,将上文中“第三方托管调用”的代码中的链接修改成本地网站的链接,定义字体名也进行相应的修改,就可以本地托管字体了。在oss的操作也应当类似,就是需要注意防盗刷。