«

用font-spider压缩字体

发布于 阅读:4 日记


那天询问了微博一美食博主的字母字体,终于得知是逗你玩趣黑体

也就是下面这样的字体:

uuii.jpg

登录万能淘宝,搜到了作者的店铺,经过询问后购买了该字体的非商业使用权。

下载后是一款ttf格式的文件,

89.jpg

5.75M大小,很明显不适合作为网络字体来使用。

我从网上搜索了一番,得知可以用font-sider来压缩字体,所以有了这篇文章。

以下是我亲自测试的结果,希望能给看到的朋友带来帮助。


首先下载nodejs:

http://nodejs.cn/download/

比如下载windows版本

nodejs.jpg

按键盘上的win+r,输入cmd,按回车

在出现的屏幕中点右键,就会自动粘贴

npm install font-spider -g

回车,开始安装。

cmd.jpg

安装过程会很慢。

提示:

如果打开C:\Program Files\nodejs 里的node.exe来执行这行npm install font-spider -g,

就会提示nmp should be run outside of node repl in your normal shell。


安装终于结束了,但是抛出了这么多错误

ins1.jpg

没关系,点右键粘贴font-spider -V

如果出现版本号,就证明安装成功了。

bb.jpg



下面是很多文章都没有详细说明的地方:

在桌面新建一个html文件,名字任意,该html文件内容如下:

<!DOCTYPE html>
<html>
<head>
    <title>ceshi</title>
    <link rel="stylesheet" type="text/css" href="css/fontcss.css">
</head>
<body>
你好
</body>
</html>


在桌面新建两个文件夹,一个名为font,一个名为css

把你需要转换的体积很大的ttf字体文件放到font文件夹里,

在css文件夹里新建一个名为fontcss的css文件,(这里的文件名和上面的html文件引用的css文件名一致就可以)

该css文件内容如下:

/*声明 WebFont*/
@font-face {
  font-family: 'source';
  src: url('../font/douniwan.eot');
  src:
    url('../font/douniwan.eot?#font-spider') format('embedded-opentype'),
    url('../font/douniwan.woff2') format('woff2'),
    url('../font/douniwan.woff') format('woff'),
    url('../font/douniwan.ttf') format('truetype'),
    url('../font/douniwan.svg') format('svg');
  font-weight: normal;
  font-style: normal;
}

/*使用指定字体*/
.home h1, .demo > .test {
    font-family: 'source';
}

总之,桌面需要有一个html文件两个文件夹一个名为font,一个名为css。

路径不对的话,会提示:<web font not found>

下面,开始关键的一步操作:压缩字体


返回cmd窗口,用cd命令进入当前桌面,

并用命令

font-spider 33.html

来执行压缩命令(其中,33.html为刚才你在桌面自建的html文件名)

56.jpg


如果出现上图的样式,恭喜你操作成功了!

下面打开桌面的font文件夹

kk.jpg

看到压缩后的字体了吗,几K的大小。

这下就可以放心上传字体了。

是不是很简单啊!


原来放在font里的原始文件自动被移动到了.font-spider文件夹里。


修改自己网站相关字体的方法:

比如本站,修改文章标题为刚才上传的自定义字体。

用谷歌浏览器打开网页,按F12,在右侧点击DIV标签,页面左边会出现相对应的框,当框内刚好是要修改的文章标题时,看右边的div中的id。

比如下图中


id.jpg


右侧的class="post-title",post-title就是ID名,

下载主题文件夹到本地电脑,用文件搜索软件,比如FileSearchEX来搜索包含该id的文件,一般是CSS文件

767.jpg

用编辑器(比如sublime)打开右侧的style.css,

查找post-title

在{}里添加下面两行代码:

   font-family: 'douniwan';
   src: url('./font/douniwan.ttf');

里面的douniwan是自定义上传字体的名字,

第二行的url里面是字体的存放位置。

./font/代表font文件夹和当前的style.css是同级目录,

如果是../font/代表font文件夹是上级目录。

kk1.jpg

保存,上传覆盖原CSS即可。


其实也不难吧。