Я использовал FreeType2 для рендеринга по тексту с помощью OpenGL, но теперь мне нужно сделать арабский более сложным, поэтому я установил libraqm , чтобы помочь, и я собрал и запустил пример кода , который показывает мне, как получить индекс глифа, смещение, продвижение и кластер каждого символа.
Что мне нужно знать, это как получить изображение глифа.
В FreeType2 я использовал FT_Render_Glyph()
, который принимает FT_GlyphSlot
и FT_RenderMode
, затем я получаю растровое изображение из этого FT_GlyphSlot.
Но так как у меня есть неподписанный int как глифindex от libraqm , я не уверен, как получить правильное растровое изображение глифа ...
Я также пытался вручную установить FT_GlyphSlot, например: ftGlyphSlot->glyph_index = glyphs[i].index;
перед вызовом FT_Render_Glyph()
, но тогда текст вообще не отображается.
Кстати, мне удалось отобразить арабский текст арабским шрифтом, но на данный момент он написан слева направо, и большая часть текстаглифы не правы. Я почти уверен, что смогу разобрать справа налево и объединение глифа, если смогу получить правильное изображение глифа.