プログラミング言語:C++
、レンダラー:GLStudio
。私はのようにUnicode文字'GREEK CAPITAL LETTER DELTA' (U+0394)
をレンダリングしたいUnicode文字「GREEK CAPITAL LETTER DELTA」は、C++およびGLStudioで「白い垂直矩形」としてレンダリングされます
:ΔP
コードは次のとおりです。
sprintf(somebuffer,"%cP",'\u0394');
結果は以下のように白い縦長の長方形」(U + 25AF)ですが:
▯P
私が使用した参考資料は次のとおりです。http://www.fileformat.info/info/unicode/char/25af/index.htm
レンダラにはUnicodeマッピングの問題がありますが、それを正確に突き止めることはできませんでしたので、回避策として実際のOpenGL三角形を描画する前に、自分の可能性を試してみたかったのです。どんな助けや提案も大歓迎です!
C++の 'char'は1バイトです。'%c'は 'char'を渡していると言います。 – chris
@chris:それはとても良い点です。私はそれを文字列としてレンダリングしようとしました。それから、まったく異なるユニコード文字を与えました。 –
あなたは '%c'を使用しました。これは' sprint'が単一の 'char'値のプレースホルダです。あなたは '\ u394'を渡しています。ほとんどのC++実装では、シングルバイトではなく、つまり' char'型ではありません。必要なことは、関連するGLStudio関数が必要とするものによって異なります。広い文字列が必要な場合は、それを渡します。 UTF-8でエンコードされた狭い文字列が必要な場合は、それを渡します。 –