所有都在标题中。我尝试创建自己的OpenGL字体系统,我需要获得我想要包含在Sprite纹理中的每个字符的大小。 除了角色“&”之外,一切都运作良好而准确(ascii 38)。即使我更改了字体,该字符的宽度也始终为零。身高很好。
最奇怪的是,如果我尝试测量“&&”的串联(Chr(38)& Chr(38)),结果似乎很好! 我没有检查相同的代码是否在同一字体产品的另一个范围内相同的错误,所以我不知道是否解决方法“如果char是”38“测试”38 + 38“的大小将永远都有效。
编辑: 对不起,我太蠢了。我完全忘了说我在VB.Net下(但可以理解C#)并且我使用OpenGL和OpenTK进行绑定。 TextRenderer是一类GDi +。我用它来创建我的字体纹理。这实际上不是OpenGL问题。
答案 0 :(得分:5)
&在控制文本中用于声明下一个字符是快捷键。例如,使用带有“E& xit”文本的控件显示“退出”,下划线标有“x”,并在用户按下Alt + X时激活。
要在测量中加入&符号,请使用:
TextRenderer.MeasureText(text, font, Size.Empty, TextFormatFlags.NoPrefix)