ID3DXFont::DrawText を使用してイタリック体のテキストをレンダリングしています。私は DT_NOCLIP を指定し、長方形は十分に大きいですが、通常、テキストの最後の文字は完全には表示されず、右側から切り取られます。
何が原因で、どうすれば修正できますか? 何か案は?
ID3DXFont::DrawText を使用してイタリック体のテキストをレンダリングしています。私は DT_NOCLIP を指定し、長方形は十分に大きいですが、通常、テキストの最後の文字は完全には表示されず、右側から切り取られます。
何が原因で、どうすれば修正できますか? 何か案は?
これは、ID3DFontクラスでよくある誤動作であり、(私が知っているように) 解決できません。文字の幅とレンダリング幅が異なる場合、主に完全な文の合計四角形面積を計算する場合、実際の四角形面積は計算されません。また、まれなフォント (レンダリング長方形が他の文字と重なっている) も確実にカットされます。他の誤動作には、単にそれらを気にしないカーニング ペアが含まれます。従来の AV の例は、真ん中に空白があるかのようにレンダリングされます。
このため、最善の解決策は、ID3DFontを避け、テキスト レンダラーを自分でコーディングするか、DirectWrite などの他の代替手段を使用することです。
http://msdn.microsoft.com/en-us/library/dd368038%28v=vs.85%29.aspx
エイリアシングの問題である可能性がありますか?おそらく、長方形は実際には十分な大きさではありませんか?
ただし、コードと問題のスクリーンショットを投稿する必要があります...