cocos2dx FreeType基础知识

简介: cocos2dx FreeType基础知识

FreeType2文档

fontAscender

image.png

横向排版

auto& metrics = _fontRef->glyph->metrics;
outRect.origin.x = metrics.horiBearingX >> 6;   // 字符轮廓 与 字符位置 之间的水平距离。
outRect.origin.y = -(metrics.horiBearingY >> 6);// 字符轮廓 与 字符基线 之间的垂直距离
outRect.size.width = (metrics.width >> 6); // 字形的宽度
outRect.size.height = (metrics.height >> 6);// 字形的高度

outRect存储的是字符纹理的矩形包围盒

  • ascender: 从水平基线最高字符的顶部距离
  • advance:表示字符的前进值,即字符的渲染后应该向前移动的距离

纵向排版

image.png

  • 字符纹理会扩边1像素
  • 相邻的字符纹理间隔2像素
struct FontLetterDefinition
{
    float U;
    float V;
    float width;
    float height;
    float offsetX;
    float offsetY;
    int textureID;
    bool validDefinition;
    int xAdvance;
}    
目录
相关文章
|
7月前
|
存储 PHP Android开发
cocos2dx luajit相关
cocos2dx luajit相关
74 0
CMake教程9:cocos2d-x的CMake逻辑分析
CMake教程9:cocos2d-x的CMake逻辑分析
248 0
SWIG:SWIG的简介、安装、使用方法之详细攻略
SWIG:SWIG的简介、安装、使用方法之详细攻略
SWIG:SWIG的简介、安装、使用方法之详细攻略
|
IDE 编译器 开发工具
麒麟系统开发笔记(四):从Qt源码编译安装之编译安装QtCreator4.8.1,并配置编译测试Demo
麒麟系统开发笔记(四):从Qt源码编译安装之编译安装QtCreator4.8.1,并配置编译测试Demo
麒麟系统开发笔记(四):从Qt源码编译安装之编译安装QtCreator4.8.1,并配置编译测试Demo