2009-06-18 3 views
0

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

ответ

1

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

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

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

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

Джош

0

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

Что-то, с чем я играл в текущем проекте, является статическим классом, который определяет все мои текстовые форматы и простой интерфейс для извлечения их из другого места, где в моем заявление. Я принял 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; 
    } 
} 

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

Смежные вопросы