私は、とりわけWikipediaのメインページの位置と文字列を解析する実装を持っています。解析はrapidxmlで行われ、その後、文字列はhttp://utfcpp.sourceforge.net/によってUTF-8からUTF-32に変換されます。FreeTypeでのUnicodeの問題
unsigned long c = FT_Get_Char_Index(face,*p);
FT_Load_Glyph(face,c,FT_LOAD_RENDER);
ここで、* pはUTF-32 charコードです。このコードは、フリータイプのコードで使用されます。このグリフはOpenGLでレンダリングされます。
今、私はクリトリック文字や中国語、日本語、またはビエトを使うことができません。* pが正しいコードに対応していると確信しています。
Arch linux packageからMicrosofts arial.ttfが使用され、fontviewingプログラムで見たことから、必要な文字が含まれているはずです。提案する
ありがとうございました! FT_Select_Charmapを使用しても異なる結果は得られませんでしたが、私はそのユニコードがfreetypeのデフォルトであると推測していますか? あなたがお勧めしたい文字を含むフリーフォントはありますか? –
Re。フォントは、私はここから始めたいと思います:http://en.wikipedia.org/wiki/Unicode_typeface - もう1つの点は、 'FT_Get_Char_Index'を呼び出す前にブレークポイントを指定し、渡すコードポイントを正確に調べることです。バグがrapidxmlやutfcppの使用にある可能性があります。 – Roddy
Freetypeのデフォルトのエンコーディングは、使用しているフォントやその他のいくつかの項目によって異なります。エンコードを明示的に指定することをおすすめします。 – Roddy