Какой вариант лучше всего подходит для рендеринга сложных шрифтов?

StackOverflow https://stackoverflow.com/questions/154808

Вопрос

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

Я осматривался и наткнулся на FreeType, Graphite и использование собственных функций API Windows (меня устраивает, что они не кросс-платформенные), и это лишь некоторые из них.Что мне следует использовать и каковы различные компромиссы?

Это было полезно?

Решение

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

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

Редактировать: Чтобы растрировать целые строки текста, вам нужно использовать Win32 DrawText, а это значит, что вам нужно набраться сил. слегка грязный.

Другие советы

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top