Я создал класс, который будет использовать встроенный шрифт для динамического создания растрового шрифта во время выполнения.До сих пор это работает хорошо, за исключением того, что у меня есть небольшая проблема с межсимвольным интервалом.
На изображении ниже первой строки указан фактический TextField
, а вторая визуализирована с использованием сгенерированного растрового шрифта.
Если вы посмотрите на слово «лиса» или «эд» слова «прыгнул», вы увидите, что расстояние между буквами выглядит немного странно.
Существуют ли какие-либо альтернативы классу TextLineMetrics
, которые дадут мне более точные метрики символов?
ОБНОВЛЕНИЕ:
Качество визуализации текста с использованиемновый Flash Text Engine:
ОБНОВЛЕНИЕ 2:
Случайно я в конце концов нашел решение:
Первой проблемой было свойство antiAliasType
, которое было установлено на AntiAliasType.ADVANCED
.
. Хотя оно производит текст более высокого качества, оно также заставляет TextLineMetrics
возвращать неправильные значения ширины символов.
Вторая причина заключалась в том, чтопришлось также округлить (используя Math.ceil
) до ближайшего пикселя, а не вниз.