fontAscender
横向排版
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:表示字符的前进值,即字符的渲染后应该向前移动的距离
纵向排版
- 字符纹理会扩边1像素
- 相邻的字符纹理间隔2像素
struct FontLetterDefinition
{
float U;
float V;
float width;
float height;
float offsetX;
float offsetY;
int textureID;
bool validDefinition;
int xAdvance;
}