2

すべてはタイトルにあります。独自の OpenGL フォント システムを作成しようとしていますが、スプライト テクスチャに含める各文字のサイズを取得する必要があります。文字「&」(ASCII 38) を除いて、すべてが適切かつ正確に機能します。フォントを変更しても、この文字は常に幅にゼロを返します。高さは良いです。

最も奇妙なことは、「&&」の連結 (Chr(38) & Chr(38)) を測定しようとすると、結果が良さそうに見えることです! 同じフォントの別の範囲の同じコードポイントが同じエラーを生成するかどうかを確認していないため、回避策「if char is "38"」が「38 + 38」のサイズをテストするかどうかはわかりません常に動作します。

編集:申し訳ありませんが、私はとても愚かです。私はVB.Netを使用していると言うのを完全に忘れていました(ただし、C#は理解できます)。バインドにはOpenGLとOpenTKを使用しています。TextRenderer は GDi+ のクラスです。これを使用して、フォント テクスチャを作成します。これは実際には OpenGL の問題ではありません。

4

1 に答える 1

5

& は、次の文字がショートカット キーであることを宣言するためにコントロール テキストで使用されます。たとえば、「E&xit」というテキストのコントロールがあると、「Exit」と表示され、「x」に下線が引かれ、ユーザーが Alt+X を押すとアクティブになります。

測定にアンパサンドを含めるには、次を使用します。

TextRenderer.MeasureText(text, font, Size.Empty, TextFormatFlags.NoPrefix)
于 2011-09-16T03:28:17.597 に答える