我正在学习用于OpenGL的FreeType API的基础知识,我对一件事感到困惑.您加载字体,然后逐个加载每个字形到字体的字形槽.字形具有许多字段,包括advance具有a x和a y字段的字段.现在,据我所知,它表示y使用不多,但是在我使用的情况下y,我不明白的是每个字符都是单独渲染到字形槽,所以如何知道所有后续字符应该使用特定的小数偏移进行渲染?如果你连续渲染了很多相同的角色怎么办?难道你不会以最慢的对角倾斜或最终文本块的下降结束吗?
历史上advance.y主要用于垂直文本,如在亚洲使用(FT_LOAD_VERTICAL_LAYOUT将触发它)。在正常渲染情况下,您不应同时获得 和 的非零advance.x值advance.y。
但以更通用的方式使用 Freetype 也很有用。如果你想以 30\xc2\xb0 倾斜方式书写拉丁文直立文本,你仍然可以使用相同的结构:你将FT_Set_Transform30\xc2\xb0 倾斜矩阵应用到每个字形,也应用到前进向量;结果确实会有对角线倾斜;如预期!
| 归档时间: |
|
| 查看次数: |
301 次 |
| 最近记录: |