Можно ли использовать не встроенный резервный шрифт при использовании встроенного шрифта с AS3 TextField? - PullRequest
3 голосов
/ 11 сентября 2010

У меня есть встроенный шрифт в моем приложении AIR / AS3, в котором отсутствует поддержка большинства международных символов. Используя TextField и StyleSheet со свойством font-family, я предположил, что мне просто нужно сделать это:

font-family: Interstate-Regular, _sans;

Это работает, если TextField.embedFonts = false;, но тогда Interstate-Regular не встроен для пользователей, у которых его нет в их системе. С TextField.embedFonts = true; текст даже не отображается. Есть ли способ встроить Interstate-Regular и по-прежнему использовать _sans в качестве резервного системного шрифта, не встраивая его также?

Ответы [ 2 ]

1 голос
/ 03 декабря 2014

Flash Text Engine имеет эту функцию «отката», но она медленнее, чем обычная TextField, и ее сложнее использовать.

Ссылка на руководство по Adobe

0 голосов
/ 11 сентября 2010

Вы можете реализовать переключатель в пользовательском классе FontManagement, если язык не поддерживается вашим основным шрифтом, вернитесь к не встроенному шрифту. Чтобы достичь этого, вы можете использовать этот класс FontManagement в качестве централизованной точки для форматирования ваших TextFields. Это может быть достигнуто путем создания общедоступной статической функции, которая будет возвращать TextField с соответствующим форматом.

//where you need to format a TextField
var params:Object = {color:0xffffff , size:12, supported:false , etc...};
var tf:Texfield = FontManagement.formatTextField(tf , params );

public class FontManagement
{
    //A basic example 
    public static function formatTextField( tf:TextField , params:Object ):TextField
    {
        //since this is a static function , the Boolean is passed as an argument
        //but there are other ways to set it, depending on where in your app
        //the language is identified
        if( params.supported )
           tf.embedFonts = true;
        else
           tf.embedFonts = false;

        //here the rest of your formatting code
        return tf;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...