threejs 中文字体精简方法
2018-01-22 13:47
1476 查看
threejs中需要显示中文字体,这就意味着需要引入中文字体,引入方式这里介绍两种,一种是引擎默认的ttf字体文件转换成json格式然后再使用FontLoader,这种方式目前存在各种问题,第一是ttf转json格式原本2M的ttf字体转后到7-8M,对于网页来说基本没什么用处了,再一个服务器一旦开启gzip就无法获取json格式的content-length,所以加载进度条也没法用了。这里重点介绍TTFLoader直接加载ttf字体文件,这样不存在格式转化问题,不说文件多小么至少没大起来,重点来了,python有一个FontTools字体精简工具,可以生成所需字体的文件,拿我的来说从json
8M的使用TTFLoader缩到2M,加上gzip就更小,再使用FontTools生成字体就只有几10K了,没错,就是10K
下面具体讲下搭配使用FontTools安装和使用过程
首先安装python环境,这个就不再多说了
接下来就是安装FontTools,下载地址https://github.com/behdad/fonttools/releases
安装也非常简单,直接进入目录执行
$python setup.py build
$python setup.py install
就完成了
FontTools有针对字体个各式各样的操作,教程,这里只说我们需要的那个功能
$pyftsubset font.otf --text=" 汉字 "--text选项用于指定需要保留的字符
--text-file选项用于指定一个包含需要保留的字符的 txt 文档
--output-file选项用于指定输出文件的保存位置
eg:pyftsubset msyh.ttf --text="汉字" --output-file msyh_sub.ttf 就生成了
8M的使用TTFLoader缩到2M,加上gzip就更小,再使用FontTools生成字体就只有几10K了,没错,就是10K
下面具体讲下搭配使用FontTools安装和使用过程
首先安装python环境,这个就不再多说了
接下来就是安装FontTools,下载地址https://github.com/behdad/fonttools/releases
安装也非常简单,直接进入目录执行
$python setup.py build
$python setup.py install
就完成了
FontTools有针对字体个各式各样的操作,教程,这里只说我们需要的那个功能
$pyftsubset font.otf --text=" 汉字 "--text选项用于指定需要保留的字符
--text-file选项用于指定一个包含需要保留的字符的 txt 文档
--output-file选项用于指定输出文件的保存位置
eg:pyftsubset msyh.ttf --text="汉字" --output-file msyh_sub.ttf 就生成了
相关文章推荐
- android:设置中文字体的方法
- Sass、Less编译器koala及koala不支持中文字体的解决方法
- Ubuntu/Debian下JAVA 中文/图片中文字体乱码显示问题解决方法
- eclipse下java中注释字体太小和xml中中文字体太小问题解决方法
- android中TextView中文字体粗体的方法 (android:textStyle="bold")
- 在Linux下安装LaTeX+CJK+中文字体的方法 [转]
- Eclipse中文注释字体变大方法
- android中TextView中文字体粗体的方法 (android:textStyle="bold"来使字体显示为粗体,但是这只对英文有效)
- 在visual studio中随意更改中文字体的方法
- BMFont中文字体图集制作的方法~(for unity ngui)
- 使嵌入式Qt支持中文字体变换的方法(makeqpf)
- Debian下中文字体模糊的简单处理方法
- linux安装中文字体方法
- eclipse中文凝视字体太小解决方法
- 【制作fnt格式字体】 BMFont中文字体图集制作的方法~
- Eclipse的中文注释字体过小的解决方法
- BMFont中文字体图集制作的方法~(for unity ngui)
- 开源办公套件onlyoffice打开中文乱码的原因与设置默认字体为中文的解决方法
- centos系统安装中文字体几种方法
- cocos2dx显示中文字体方法Hiero