2008-09-30 2 views
0

Я работаю над игрой (используя Ruby) и планирую иметь ее на нескольких языках. Мне было интересно, что лучший вариант для рендеринга текста. В частности, все, что я использую, должно иметь возможность создавать сложные шрифты (в частности, арабский и персидский).Что является лучшим вариантом для рендеринга сложных шрифтов?

Я искал вокруг и наткнулся на freetype, графит и использовал собственные функции api для Windows (я в порядке, если не кросс-платформенный), чтобы назвать несколько. С чем мне пойти, и каковы разные компромиссы?

ответ

1

Если вы ищете способ растрировать шрифты в растровые изображения, как Freetype, так и Windows API прекрасно справятся с этим.

Если вы ищете способ нарисовать текст на экране, пойдите с родными API-интерфейсами Window, если сможете; двунаправленный текст и акценты, и все это довольно сложно и требует много времени, чтобы получить право, поэтому вам идеально нужен API, который обрабатывает его для вас. Независимо от того, является ли это жизнеспособным для вашей игры, зависит от того, какие графические API вы используете, чего не указали.

Редактировать: Чтобы растрировать целые строки текста, вам необходимо использовать DrawText от win32, что означает, что вам нужно достать руки slightly dirty.

+0

Есть ли какой-либо API, который просто выводит строку на нужный язык на растровое изображение (как это будет отображаться на экране), которое я просто блистаю на экране? Я использую API абстракции поверх DirectX, и у меня есть только программы drawPixel и drawImage. – 2008-09-30 20:31:33

1

Отъезд www.freetype.org Он обрабатывает шрифты без левого края. Он генерирует глифы для вас, но вы должны отображать их на устройстве (OpenGL/DirectX и т. Д.).

2

Для кросс-платформенного решения ознакомьтесь с Pango.

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