1.0.3 • Published 4 years ago
svg2font-cmss v1.0.3
特别说明
最开始是想找一个可以直接用的工具来生成fonts图标,当时找到svgs2fonts后感觉基本上也解决了问题,但是这个工具可以生成demo.html,但是项目中直接用却需要将demo.hmtl中的css拷贝出来,虽然很好,但还可以更好,查看源码之后发现并没有生成css的方法,当然也可以fork后二次开发,但是基于对github稳定性的不信任,还是决定在gitos上重新实现。
整体上的思路完全来自svgs2fonts, 但是具体代码实现完全是自主开发的,转换的代码来自各个依赖工具本身提供的代码。
生成css文件使用了less,这是一个很坑的东西,出错没有代码提示,基本就是在试错。内置函数各种问题,关键是外部传参,简直欲仙欲死。
生成demo.html使用了ejs,这个就比较友好了,没出什么幺蛾子。
依赖
svgicons2svgfont: 将多个svg文件合并成一个svgfont文件
svg2ttf: 将svgfont文件转换为ttf文件
ttf2eot: 将ttf文件转换为eot文件
ttf2woff: 将ttf文件转换为woff文件
ttf2woff2: 将ttf文件转换为woff2文件
less: 生成svgfont.css
ejs: 生成svgdemo.html
使用
工具已经上传npm,搜索'svg2font-cmss',就可以找到,使用1.0.2版本,前两个版本是测试的。
const svg2font = require('svg2font-cmss');
svg2font.build(svgPath,fontPath);