簡體   English   中英

TextRenderer.MeasureText返回字符“&”的Width = 0

[英]TextRenderer.MeasureText return Width=0 for character “&”

全部都在標題中。 我嘗試創建自己的OpenGL字體系統,並且需要獲取要包含在Sprite紋理中的每個字符的大小。 除字符“&”(ASCII 38)外,其他所有命令均正常運行。 即使更改字體,此字符的寬度也始終返回零。 身高好。

最奇怪的是,如果我嘗試測量“ &&”(Chr(38)&Chr(38))的並置,結果似乎不錯! 我沒有檢查是否在相同字體產品的另一個范圍內的相同代碼點具有相同的錯誤,所以我不知道解決方法“如果char為“ 38”,則測試“ 38 + 38”的大小是否會一直在工作。

編輯:對不起,我太傻了。 我完全忘了說我在VB.Net(但是可以理解C#)下,並且我將OpenGL與OpenTK結合使用。 TextRenderer是GDi +的一類。 我用它來創建我的字體紋理。 這確實不是OpenGL問題。

控制文本中使用&來聲明下一個字符是快捷鍵。 例如,具有文本“ E&xit”的控件顯示帶有“ x”下划線的“ Exit”,並在用戶按下Alt + X時激活。

要在測量中包括“&”號,請使用:

TextRenderer.MeasureText(text, font, Size.Empty, TextFormatFlags.NoPrefix)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM