2009-10-27 2 views
2

Я могу отображать китайский символ правильно, но когда я пытаюсь отобразить арабскую строку, вывод, отображаемый в сцене OpenGL, отличается от арабской строки, отображаемой в редакторе Visual Studio. Я знаю, что это должно быть связано с «Сложным сценарием», но я не могу найти хороший пример в этом вопросе. Я хотел бы знать, как правильно отображать арабский текст?Как визуализировать арабский символ в OpenGL?

+1

Как вы показываете китайские символы? –

+0

Я использовал FTGL и FreeType. – 2009-10-27 14:58:44

ответ

5

В отличие от латинских символов, каждая из которых имеет единое визуальное представление, каждый арабский символ может иметь много разных проявлений в зависимости от окружающих персонажей. Логические символы в арабской строке необходимо преобразовать в последовательность визуальных глифов, чтобы их можно было правильно отобразить. OpenGL не выполняет эту обработку для вас, поэтому вы видите отображаемые логические символы без этой обработки.

Чтобы обойти это, вам понадобится использовать библиотеку, такую ​​как Uniscribe, чтобы преобразовать логическую строку в визуальную строку, которую вы затем передаете OpenGL для рендеринга. Есть несколько образцов here.

+0

очень информативный - спасибо – philsquared

+0

Спасибо за подсказки. Думаю, я смогу немного поработать над этим. – 2009-10-27 15:19:55

Смежные вопросы