如何使用FreeType2以任何字体呈现单空间文本



给定任何典型的字体,而不一定是单空间字体,我如何以单空间风格呈现文本?我试过单独绘制字形的位图,但我永远无法正确绘制字形之间的x和y对齐。我使用的是OpenGL和python,但答案应该适用于任何图形上下文或语言。

好吧,是的,对不起,我很傻。我甚至不确定我以前做错了什么。如果有同样愚蠢的人偶然发现了这一点,最简单的解决方案(伪代码)就是:

int charWidth = width of widest character in font;
void drawString(FT_Face face, string str, int xshift, int yshift) {
    x = 0;
    for (each character c in str) {
        FT_Load_Char(face, c, ...);
        draw the character at (xshift + x, yshift);
        x += charWidth;
    }
}

(它还不能让我接受我自己的答案)

最新更新