отображать шрифт с помощью специальных символов - UTF-8 - PullRequest
0 голосов
/ 20 апреля 2010

Я пытаюсь отобразить символы типа £ на устройстве, работающем под Linux. он использует формат кодировки utf-8. когда я отображаю строку, содержащую специальные символы, она отображает и другие символы. если я печатаю строку в консоли, она выглядит нормально, но когда я анализирую строку, чтобы загрузить каждый буквенный шрифт на экран, это становится странным, и вывод не правильный.

Кто-нибудь испытывал что-то подобное или может дать мне совет.

Спасибо.

1 Ответ

1 голос
/ 20 апреля 2010

Если строка в UTF-8, вам нужно использовать вызов, такой как TTF_RenderUTF8_Solid (). Thats для шрифтов True Type.

Если у вас есть собственные шрифты и глифы для ваших шрифтов, вам необходимо преобразовать строку UTF-8 в UTF-16 (наиболее часто используемое) или UTF-32 (в случае поддержки i18n), а затем использовать его индексировать в таблицу глифов.

Вы не можете анализировать отдельные байты вашей строки utf-8 в допустимый символ, когда шрифт пересекает пределы ASCII.

См. Эти фрагменты кода: http://unicode.org/faq/utf_bom.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...