Quindi, ho un'implementazione che analizza un xml che, tra le altre cose, contiene le posizioni e le stringhe della pagina principale di Wikipedia. L'analisi viene eseguita con rapidxml dopo il quale le stringhe vengono convertite da UTF-8 a UTF-32 da http://utfcpp.sourceforge.net/. Il codice UTF-32 viene quindi utilizzato in freetype di:Problemi Unicode in FreeType
unsigned long c = FT_Get_Char_Index(face,*p);
FT_Load_Glyph(face,c,FT_LOAD_RENDER);
dove * p è il codice char UTF-32. Questo glifo viene quindi reso in OpenGL.
Ora, non riesco a far funzionare caratteri crilici, né cinese o giapponese o viet, sono sicuro che * p corrisponde al codice corretto, e sarei grato per qualsiasi suggerimento che posso ottenere.
Per questi tipi di carattere viene utilizzato il file arial.ttf, dal Arch linux package e da quello che ho visto nei programmi di visualizzazione dei font, dovrebbe contenere i caratteri che desidero.
Grazie per i vostri suggerimenti! L'utilizzo di FT_Select_Charmap non ha prodotto risultati diversi, suppongo che l'unicode sia l'impostazione predefinita di freetype? C'è qualche font gratuito che contiene i caratteri che sto cercando che tu possa consigliare? –
Re. font, comincerei qui: http://en.wikipedia.org/wiki/Unicode_typeface - e un'altra cosa da verificare è quella di breakpoint prima di chiamare 'FT_Get_Char_Index' e controllare esattamente quale punto di codice stai passando. Potrebbe esserci un bug nel tuo utilizzo di rapidxml o utfcpp ... – Roddy
La codifica predefinita di Freetype dipende dal tipo di carattere che stai utilizzando e da altre cose. Consiglierei di specificare la codifica in modo esplicito. – Roddy