У меня есть многоязычный проект (в настоящее время - 13 языков), который использует множество различных вариантов шрифтов "Helvetica Neue", в основном смелые, сжатые и регулярные сокращения из набора шрифтов LinoType Pro (включая западные европейские символы) и то же самое для кириллица. Вероятно, мы добавим китайские и японские вариации в будущем.
Я создал проект, чтобы использовать разные таблицы стилей CSS и отдельно загружать шрифты для каждой версии, в зависимости от того, какой язык пользователь выбирает, поэтому я могу иметь разные высоты линий, кернинг и/или размер шрифта, чтобы все оригинальный внешний вид, даже если шрифты не похожи ни на что.
Все это хорошо работает, за исключением одной проблемы: по какой-то причине все кириллические буквы, кажется, смещены. Они отображаются на 2-3 пикселя ниже правильной базовой линии и фактически выступают через нижнюю границу текстового поля, даже если для поля установлено значение автосохранения. Когда я использую textfield.getCharBoundaries()
, все значения кажутся правильными, хотя они явно не отображаются правильно.
Чтобы все выглядело аккуратно, я мог бы вручную переместить все проблемные текстовые поля вверх или вниз в зависимости от языка и размера шрифта, но мне было интересно, есть ли способ предотвратить или хотя бы обнаружить такое перемещение, чтобы автоматически обрабатывать настройки - у Flash Player должна быть какая-то информация о том, как вещи отображаются, не так ли? У кого-нибудь из вас были подобные проблемы? Или еще лучше: решение?