前言
本篇文章将介绍如何和UI设计师配合,制定自定义的图标字体,最终生成自定义的ttf文件和样式。
实现
大致流程如下图所示:
![]()
下面就针对它做具体的分析:
- 首先需要在电脑中安装
sketch软件,因为我们要用到该软件的sketchtool(一个内置工具)命令,将.sketch源文件处理为svg文件,如下所示:
1 | shell.exec(`/Applications/Sketch.app/Contents/Resources/sketchtool/bin/sketchtool export slices --formats=svg --overwriting=YES --save-for-web=YES ${sketch} --output=${svgDir}`) |
- 我们需要创建一个icon文件夹,用于处理sketch文件,目录结构如下所示:

从上图可知,最终我们会生成一个带 md5 标记的ttf文件(通过 [gulp-iconfont](https://www.npmjs.com/package/gulp-iconfont) 模块)和对应的样式文件index.styl (通过 [gulp-iconfont-css](https://www.npmjs.com/package/gulp-iconfont-css) 模块),这2个模块的更多解释请查看各自的npm包介绍
template.css 文件相识代码见: https://github.com/youzan/vant-icons/blob/master/build/template.tpl
template-local.js 文件代码如下所示:
1 | module.exports = (fontName, ttf) => { |
下面是config文件下 index.js文件内容,可以自定义图标的样式名,通过以下格式:
1 | module.exports = { |
具体的 gulp 脚本代码如下所示:
1 | /** |
✨下面是完整的自定义图标字体解决方案的项目地址:https://github.com/youzan/vant-icons