给定任何典型的字体,而不一定是单空间字体,我如何以单空间风格呈现文本?我试过单独绘制字形的位图,但我永远无法正确绘制字形之间的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;
}
}
(它还不能让我接受我自己的答案)