精简ttf,svg字体库文件,删除多余字体,保留用到字体
2016-06-20 14:20
295 查看
有一个Android项目使用少女字体, Android手机默认又没有, 一个少女字体大概3M多, APK打包下来6M多, 字体占了一半,于是想办法精简, 办法是找到了如下:
但应用了我提取字体后才发现,这个是行不通了,只提取strings.xml中包含的字体, 但用户输入的字和数据库中保存的字就没有包含, 程序显示部分字是少女字体,部分默认字体. 于是还是放弃了.
提取字体方法贡献出来,在其它很多地方都可以用到的.
1. 安装nodejs
下载: http://nodejs.org/download/
Current version: v0.10.35
Windows Installer (.msi)
2. 安装nodjs, next->next->....
3. git更新依赖库;
git clone https://github.com/qdsang/fonts-streamline
git clone https://github.com/nfroidure/svgfont2svgicons
git clone https://github.com/nfroidure/svgicons2svgfont
4. 安装依赖库
在D:\Program Files\nodejs目录下
npm install E:\source\Font\fonts-streamline-master
npm install E:\source\Font\fonts-streamline-master
npm install E:\source\Font\fonts-streamline-master
运行npm可能报错, 原因是是提示那个目录(如:C:\Users\wv\AppData\Roaming\npm)不存在,自己新建一个.
安装完成,在D:\Program Files\nodejs\node_modules目录下就有一个.bin文件夹,还有三个fonts-streamline,svgfont2svgicons,svgicons2svgfont
把.bin下所有东西copy到D:\Program Files\nodejs目录下,修改.cmd文件. 如:fonts-streamline.cmd(只修改刚安装那三个,参考:npm.cmd)
原来:
Java代码
@IF EXIST "%~dp0\node.exe" (
"%~dp0\node.exe" "%~dp0\..\fonts-streamline\bin\fonts-streamline.js" %*
) ELSE (
@SETLOCAL
@SET PATHEXT=%PATHEXT:;.JS;=;%
node "%~dp0\..\fonts-streamline\bin\fonts-streamline.js" %*
)
修改后:
Java代码
@IF EXIST "%~dp0\node.exe" (
"%~dp0\node.exe" "%~dp0\.\node_modules\fonts-streamline\bin\fonts-streamline.js" %*
) ELSE (
node "%~dp0\.\node_modules\fonts-streamline\bin\fonts-streamline.js" %*
)
不修改运行fonts-streamline时会报错, 一个就是找不到路径, 如果你没有就不用修改这三个文件.
5. 提取字体(只保留需要的)
fonts-streamline "一块钢板的艺术之旅40道工艺制程" ./DFPShaoNvW5.svg ./showNv_drawing_diet.ttf
注意:fonts-streamline只支持输入是.svg格式字体文件.
可以在线转一下ttf2svg: http://onlinefontconverter.com/font?id=p1
6. 附字体去重工具
http://my.oschina.net/vabright/blog/62372
但应用了我提取字体后才发现,这个是行不通了,只提取strings.xml中包含的字体, 但用户输入的字和数据库中保存的字就没有包含, 程序显示部分字是少女字体,部分默认字体. 于是还是放弃了.
提取字体方法贡献出来,在其它很多地方都可以用到的.
1. 安装nodejs
下载: http://nodejs.org/download/
Current version: v0.10.35
Windows Installer (.msi)
2. 安装nodjs, next->next->....
3. git更新依赖库;
git clone https://github.com/qdsang/fonts-streamline
git clone https://github.com/nfroidure/svgfont2svgicons
git clone https://github.com/nfroidure/svgicons2svgfont
4. 安装依赖库
在D:\Program Files\nodejs目录下
npm install E:\source\Font\fonts-streamline-master
npm install E:\source\Font\fonts-streamline-master
npm install E:\source\Font\fonts-streamline-master
运行npm可能报错, 原因是是提示那个目录(如:C:\Users\wv\AppData\Roaming\npm)不存在,自己新建一个.
安装完成,在D:\Program Files\nodejs\node_modules目录下就有一个.bin文件夹,还有三个fonts-streamline,svgfont2svgicons,svgicons2svgfont
把.bin下所有东西copy到D:\Program Files\nodejs目录下,修改.cmd文件. 如:fonts-streamline.cmd(只修改刚安装那三个,参考:npm.cmd)
原来:
Java代码
@IF EXIST "%~dp0\node.exe" (
"%~dp0\node.exe" "%~dp0\..\fonts-streamline\bin\fonts-streamline.js" %*
) ELSE (
@SETLOCAL
@SET PATHEXT=%PATHEXT:;.JS;=;%
node "%~dp0\..\fonts-streamline\bin\fonts-streamline.js" %*
)
修改后:
Java代码
@IF EXIST "%~dp0\node.exe" (
"%~dp0\node.exe" "%~dp0\.\node_modules\fonts-streamline\bin\fonts-streamline.js" %*
) ELSE (
node "%~dp0\.\node_modules\fonts-streamline\bin\fonts-streamline.js" %*
)
不修改运行fonts-streamline时会报错, 一个就是找不到路径, 如果你没有就不用修改这三个文件.
5. 提取字体(只保留需要的)
fonts-streamline "一块钢板的艺术之旅40道工艺制程" ./DFPShaoNvW5.svg ./showNv_drawing_diet.ttf
注意:fonts-streamline只支持输入是.svg格式字体文件.
可以在线转一下ttf2svg: http://onlinefontconverter.com/font?id=p1
6. 附字体去重工具
http://my.oschina.net/vabright/blog/62372
相关文章推荐
- Jenkins+linux安装配置注意事项
- vsprintf函数
- 第13周-阅读程序(3)纯虚函数
- 关于二分搜索中间点的一点感想
- 小玩文件(2)
- Git超简明教程
- 轮播器
- JavaSE入门学习43:文件传输基础之I/O流(二)
- 删除数据库字段约束
- 1.1、Android Studio创建一个项目
- 1.1、Android Studio创建一个项目
- Leetcode 26 Remove Duplicates from Sorted Array
- 由GroupBy-Having想到的
- [linux]using temporary as lvalue [-fpermissive]
- 酷炫的Activity切换动画,打造更好的用户体验
- getopt函数
- 二叉树的创建与遍历1
- JavaSE入门学习44:文件传输基础之I/O流(三)
- 从头认识多线程-4.4 ThreadLocal的实现原理
- 1-2新朋友你在哪里(如何插入JS)