[C++]FTGLの文字コード
Shift_JISだったり, UTF16だったり、なんでこんなよく分からない状態なのかと思っていたら、ふと思い出しました。
そうだFTGLで使っているfreetypeの仕様ですね。
確かにft_encoding_sjisを指定出来ますが、これはSJISをUnicodeに変換してたりするわけではないです。
True Typeフォントの内部エンコーディングのうちどれを使うのかを指定するだけです。
なのでSJISのエンコーディングに対応しているTrue TypeフォントはSJISで表示できるのですが、
Unicodeにしか対応していないTrue TypeフォントはSJISでは表示出来ないわけですね。
詳しくはFT_Select_CharmapなりFT_Get_Charmap_Indexなりを見て頂ければと思います。
ということでUnicodeなTrue Typeフォントを使って、UTF16をfreetypeに渡して文字描画しろということですね。
こんなんでどうでしょ?