Несколько шрифтов в flash.text.TextFormat - PullRequest
0 голосов
/ 18 июня 2009

Есть ли способ установить несколько шрифтов во flash.text.TextFormat так же, как во flash.text.StyleSheet? Я пытаюсь создать общий текстовый формат для всех текстов в моем проекте, и я хотел бы сделать его гибким, предоставив несколько шрифтов. Я выбирал между flash.text.TextFormat и flash.text.StyleSheet, и в конце концов я решил использовать flash.text.TextFormat, поскольку мне не нужно какое-либо необычное форматирование и я не хочу обернуть все тексты в что-то вроде <span class="common">...</span>, поскольку flash.text.StyleSheet не поддерживает * селектор (если я не ошибаюсь).

Ответы [ 2 ]

1 голос
/ 18 июня 2009

Я использую таблицы стилей - мне гораздо проще управлять ими. Вы даже можете проанализировать внешнюю таблицу стилей CSS, используя функцию parseCSS.

Вы можете обойти проблему без * селектора, обернув все в теге - возможно, с помощью функции, а затем установите в качестве стиля по умолчанию тег body.

Использование таблиц стилей также значительно упрощает стилизацию частей вашего текста, просто определяя другой стиль.

надеюсь, это поможет

Josh

0 голосов
/ 18 июня 2009

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

Что-то, с чем я играл в текущем проекте, это статический класс, который определяет все мои текстовые форматы, и простой интерфейс для их извлечения из другого места в моем приложении. Я принял соглашение об именовании в стиле HTML, чтобы они были понятны. Это выглядит примерно так:

public class TextFormats 
{
    public static const NONE:uint = 0;
    public static const H1:uint = 1;
    public static const H2:uint = 2;
    public static const H3:uint = 3;
    public static const P:uint = 4;
    public static const EM:uint = 5;
    public static const ERROR:uint = 6;
    //ect...

    static private var _initialized:Boolean;
    static private var _formats:Object;

    public static function getFormat(type:uint):TextFormat
    {
        if (!_initialized) init();
        return _formats[type] || _formats[NONE];
    }

    static private function init():void
    {
        _formats = { };
        _formats[NONE] = new TextFormat();
        ///ect...

        _initialized = true;
    }
}

Я знаю, что это не совсем то, что вы ищете, но это может помочь или подстегнуть идею.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...