清宫Q传有很多文本需要显示,同时为了效果也使用了很多种不同的字体,导致字体文件占据程序包很大比例的空间,搜索了一下,找到了一款工具fontmin可以有效减少字体大小。

fontmin简介

fontmin是一个纯 JavaScript 实现的字体子集化方案,提供了 ttf 子集化,eot/woff/svg格式转换,css 生成等功能。虽说是被设计用来提升网页体验的,但也可以通过减少字体体积从而减少iOS/Android程序包的大小;-)

官网提供了一个很好的示例,展示了其压缩字体前后的效果:

安装fontmin

$ npm install --save fontmin

测试是否安装成功:

$ fontmin

如果出现下面输出,则意为成功安装:

Provide at least one file to optimize
Example
fontmin font/* build
fontmin foo.ttf > foo-optimized.ttf
cat foo.ttf | fontmin > foo-optimized.ttf
See fontmin --help for more information.

使用fontmin优化字体

  • fonts目录存放原始字体文件
  • texts目录存放每种字体需要显示的文字,例如daofeng.txt的内容为:
要把谁打入冷宫
  • generate_fonts.py的内容为:
#!/usr/bin/python
import osdef run():font_dir = './fonts'text_dir = './texts'for d in os.listdir(text_dir):with open(os.path.join(text_dir, d), 'r') as fp:# read texts to be displayed text = fp.read()# get font pathfontname = os.path.splitext(d)[0] + '.ttf'fontpath = os.path.join(font_dir, fontname)# generate compressed fontcmd = 'fontmin -t "{text}" {font}'.format(text=text, font=fontpath)os.system(cmd) if __name__ == "__main__":run()

执行python ./generate_fonts.py之后,会产生一个build目录,可以看到优化后的字体已经变得很小了:

利用fontmin给cocos2d-x游戏字体瘦身相关推荐

  1. TureType/OpenType 字体瘦身、字体转换和字符替换

    TureType/OpenType 字体瘦身.字体转换和字符替换 本文讲解下面一些关于 TTF/OTF 字体的基本知识和操作: 什么是TTF和OTF字体 删除/插入/替换字体中的字符 TTF/OTF ...

  2. python实现英文新闻摘要自动提取_利用Python实现摘要自动提取,完美瘦身只需一行代码...

    原标题:利用Python实现摘要自动提取,完美瘦身只需一行代码 今天给大家推荐一个也可以用于关键字提取的算法TextRank,但主要实现的功能是快速从长篇新闻中抽取精准摘要. 前言介绍 TextRan ...

  3. 精简TTF字体、汉字字体瘦身 FontPruner,并转化为Base64编码

    网上比应用比较多的 字蛛 http://font-spider.org/ 本文使用了本机安装软件,得到瘦身后的 TTF 字体文件 一.使用FontPruner为字体瘦身 准备工具: python : ...

  4. Unity3D游戏内存瘦身指南: UI优化是关键

    游戏占用的内存中,UI部分主要是贴图资源和字体资源.其中贴图是单张图片,而字体包括UIFont和TrueTypeFont(TTF). 资源占用内存大小,从Unity Profiler可看到许多细节. ...

  5. 如何让自定义控件的字体瘦身(优化圆形圆点进度条)

    一.开源 源码及demo下载 二.产品经理来了 本以为写好的圆形圆点进度条没问题了,因为写前篇博客时优化了一些细节.那位提需求的童鞋下班后呼叫我,说UI有点问题:我的百分比字体偏壮,没原版的苗条(告诉 ...

  6. css font字体瘦身

    日常开发中,可能会用到第三方的字体,有时候只是用到了第三方字体里的数字或者字母或者特定的字符,但是却要引用整个字体.动则10M+的字体,这对于网络带宽速度不快的人,通常都需要等个几秒字体才会被加载出来 ...

  7. 【iOS-Cocos2d游戏开发之四】独自收集Cocos2d提供的字体!共57种(有对照的字体图)

     李华明Himi 原创,转载务必在明显处注明: [黑米GameDev街区] 原文链接:  http://www.himigame.com/iphone-cocos2d/444.html 很多游戏中,便 ...

  8. 收集Cocos2d提供的字体!共57种

    很多游戏中,便于开发就会直接采用Cocos2d提供的字体库来使用,但是因为提供的种类很多,那么Himi利用一些时间整理了57种字体样式,这些我想足够你用了: 不多说下面一起来看看吧:(每张图对应11种 ...

  9. 收集Cocos2d提供的字体

    为什么80%的码农都做不了架构师?>>>    原文地址:http://blog.csdn.net/xiaominghimi/article/details/6651818 很多游戏 ...

最新文章

  1. 11.前台文件数据流下载获取源文件名
  2. P3811-[模板]乘法逆元【线性求逆元】
  3. 最新版Byte Buddy完全支持Java 11
  4. python服务端编程_Python实现的简单文件传输服务器和客户端
  5. 计算机cpu型号有,Intel九代CPU型号都有哪些?盘点目前已知的Intel处理器型号大全...
  6. podman的配置以及命令详解
  7. 计算机查询成绩微信公众号,怎么在微信公众号上设置查询成绩?
  8. MLflow机器学习工作流管理使用教程
  9. 通过LR给随手拍的静物照片进行小清新色调的调色
  10. 弘辽科技:什么是淘宝直通车卡位?有哪些卡位技巧?
  11. 解决:“由于可能不会将凭据发送到远程计算机,因此将不会进行连接。若要获得协助,请与您的系统管理员联系”
  12. 主板2个M. 2接口,哪个m2插槽是与CPU直连?总结不得不说PCIE知识
  13. 单独使用elementui_Vue在单独引入js文件中使用ElementUI的组件
  14. css: opacity、transparent、rgba 区别
  15. lichee nano 荔枝派入门——u-boot
  16. 易经读书笔记21火雷噬嗑
  17. 2的多少次方是2048用php代码,js 如何判断一个数字是不是2的n次方幂
  18. 加密前端传参和后端结果返回加密
  19. 设计模式之美总结(面向对象篇)
  20. linux 在本地创建svn服务器_linux下搭建svn服务器及创建项目

热门文章

  1. 怎样将表格拆分为多个独立工作簿
  2. 2023年中国平安最新java面试题
  3. 虚拟机下Ubuntu16.04系统桥接模式连接网络(手机热点)
  4. TeamViewer一个很好的免费远程控制软件
  5. 开源JavaScript插件和库速查表
  6. Excel把文本替换为数字
  7. CRYPTO古典密码学学习
  8. vue生成code128条码
  9. 拉链表应用——财务总账
  10. python爬虫英文翻译_Python爬虫实现翻译功能