Cocos2dx 使用系统字体减少游戏包大小

  1. 概念
概念 备注
TTF True Type Font全真字体 是一种字库规范 .
Font Stroke 描边
glow 外发光
quad command 矩形绘制(四边形)
setGLProgramState 设置Shader
  1. 系统字体的渲染采取了和图片一样的渲染方式,渲染核心代码:texture->initWithString();
    新建系统字体类LabelForSystemFont参照CCLabel实现对系统字体的支持,继承自CustomLabel,并且重写CustomLabel的接口。
    更改创建接口:
CustomLabel::create()
{
      //CustomLabel *label = new CustomLabel() ;
      CustomLabel *label = new LabelForSystemFont() ;
}
  1. 统一相应接口
  2. Android:读取系统字体TTF文件"/System/Fonts/"
String path = "/system/fonts";
File file = new File(path);
File ff[] = file.listFiles();

Array ff[] will contain all the font files.
Cocos2dx直接使用Android系统字体:

Android系统字体.png

Cocos2dx 使用系统字体减少游戏包大小_第1张图片
Cocos2dx使用系统TTF.png

  1. iOS:读取字体信息UIFont/CGFont,保存成需要的TTF文件
    https://gist.github.com/Jyczeal/1892760
CGFontToFontData.m 

接口调用

[CopySystemFontImp CopySystemFont:"PingFang SC" fontSize:10 savePath:"yourTargetPath"] ;

CopySystemFontImp.mm

Cocos2dx 使用系统字体减少游戏包大小_第2张图片
CopySystemFontImp.png

你可能感兴趣的:(Cocos2dx 使用系统字体减少游戏包大小)