Главная / Action Script 3
Пакетflash.text.engine
Классpublic final class FontDescription
НаследованиеFontDescription Inheritance Object

Язык версии : ActionScript 3.0
Версии среды выполнения:  10, 1.5

Класс FontDescription представляет свойства, необходимые для описания шрифта. Свойства класса FontDescription применяются к шрифтам устройства и встроенным шрифтам.

Объект FontDescription применен к объекту ElementFormat, который в свою очередь применяется к ContentElement в TextBlock. После применения объекта FontDescription к объекту ElementFormat для его свойства locked задается значение true. Изменение свойств заблокированного объекта FontDescription невозможно. Вместо этого необходимо использовать метод clone() для создания разблокированной копии объекта, который можно изменить и присвоить объекту ElementFormat.

Примечание. FTE не поддерживает шрифты Type 1 или растровые шрифты, такие как Type 3, ATC, sfnt-wrapped CID или Naked CID.

Посмотреть примеры

См. также

flash.text.engine.ElementFormat.fontDescription
Форматирование текста
Работа с шрифтами


Общедоступные свойства
 СвойствоОпределено
  cffHinting : String
Тип используемого для текста хинтинга CFF.
FontDescription
 Inheritedconstructor : Object
Ссылка на объект класса или функцию конструктора для данного экземпляра объекта.
Object
  fontLookup : String
Задает способ поиска шрифта.
FontDescription
  fontName : String
Имя используемого шрифта или разделенный запятой список имен.
FontDescription
  fontPosture : String
Задает начертание шрифта.
FontDescription
  fontWeight : String
Задает толщину шрифта.
FontDescription
  locked : Boolean
Определяет, является ли объект FontDescription заблокированным.
FontDescription
 Inheritedprototype : Object
[статические] Ссылка на модель объекта класса или функции.
Object
  renderingMode : String
Режим визуализации, используемый для данного текста.
FontDescription
Общедоступные методы
 МетодОпределено
  
FontDescription(fontName:String = "_serif", fontWeight:String = "normal", fontPosture:String = "normal", fontLookup:String = "device", renderingMode:String = "cff", cffHinting:String = "horizontalStem")
Создает объект FontDescription.
FontDescription
  
Создание разблокированной клонированной копии объекта FontDescription.
FontDescription
 Inherited
Показывает, определено ли заданное свойство для объекта.
Object
  
isFontCompatible(fontName:String, fontWeight:String, fontPosture:String):Boolean
[статические] Возвращает значение "true", если доступен встроенный шрифт с указанными свойствами fontName, fontWeight и fontPosture, где Font.fontType — это flash.text.FontType.EMBEDDED_CFF.
FontDescription
 Inherited
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра.
Object
 Inherited
Показывает наличие заданного свойства и его перечисляемость.
Object
 Inherited
Задает доступность динамического свойства для операций цикла.
Object
 Inherited
Возвращает строковое представление заданного объекта.
Object
 Inherited
Возвращает элементарное значение заданного объекта.
Object
Сведения о свойстве
cffHintingсвойство
cffHinting:String  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения:  10, 1.5

Тип используемого для текста хинтинга CFF. Используйте константы flash.text.engine.CFFHinting для этого свойства. Это свойство применяется, только если свойство flash.text.engine.RenderingMode текста имеет значение flash.text.engine.RenderingMode.CFF.

Используемый тип хинтинга CFF определяет, будет ли Flash Player в принудительном порядке привязывать жирные горизонтальные основы к подписксельной сетке или нет.

Применяется только к встроенным шрифтам.

Значение по умолчанию — flash.text.engine.CFFHinting.HORIZONTAL_STEM.

Для свойства flash.text.engine.CFFHinting можно использовать следующие строковые значения.

Строковое значениеОписание
CFFHinting.NONEЗадает отсутствие хинтинга CFF. Горизонтальные основы глифов не привязываются к подпиксельной сетке. Этот параметр подходит для анимации или для шрифтов большого размера.
CFFHinting.HORIZONTAL_STEMЗадает хинтинг CFF. Жирные горизонтальные основы привязываются к подпиксельной сетке на ЖК-мониторе. Чтобы использовать этот параметр, свойство RenderingMode должно иметь значение RenderingMode.CFF.



Реализация
    public function get cffHinting():String
    public function set cffHinting(value:String):void

Выдает
ArgumentError — Если задано значение, не являющееся элементом flash.text.engine.CFFHinting.
 
IllegalOperationError — Если задается после блокирования объекта FontDescription (для свойства locked задано значение true).

См. также

fontLookupсвойство 
fontLookup:String  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения:  10, 1.5

Задает способ поиска шрифта.

Значение по умолчанию — flash.text.engine.FontLookup.DEVICE.

В качестве значений этого свойства используйте следующие строковые значения:

Строковое значениеОписание
FontLookup.DEVICEДля визуализации текста Flash Player ищет шрифт устройства с заданным свойством name в локальной системе.
FontLookup.EMBEDDED_CFFДля визуализации текста Flash Player ищет встроенный шрифт CFF с заданными свойством name. Рассматриваются только шрифты типа flash.text.Font.fontType.EMBEDDED_CFF. Если заданный шрифт CFF не встроен в SWF-файл, Flash Player пытается использовать резервный шрифт устройства для каждого глифа. Этот метод менее эффективен, чем изначальный выбор шрифта устройства.



Реализация
    public function get fontLookup():String
    public function set fontLookup(value:String):void

Выдает
IllegalOperationError — Если задается после блокирования объекта FontDescription (для свойства locked задано значение true).

См. также

fontNameсвойство 
fontName:String  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения:  10, 1.5

Имя используемого шрифта или разделенный запятой список имен. Flash Player визуализирует элемент с помощью первого доступного шрифта в списке. Например, если задать "Arial, Helvetica, _sans" проигрыватель сначала ищет "Arial", затем "Helvetica", если "Arial" не обнаружен, а потом _sans, если не обнаружен ни тот, ни другой.

Flash поддерживает три родовых имени шрифтов устройства: _sans (как Helvetica и Arial), _serif (как Times Roman) и _typewriter (как Courier). Они соотносятся с определенными шрифтами устройств в зависимости от платформы.

Значение по умолчанию — "_serif".

Flash Player обеспечивает резервные шрифты для глифов, которых нет в выбранном шрифте. Независимо от того, встроен используемый шрифт или нет, если глиф не найден в данном шрифте, Flash Player пытается визуализировать его с использованием другого шрифта устройства, который может содержать нужный глиф.



Реализация
    public function get fontName():String
    public function set fontName(value:String):void

Выдает
IllegalOperationError — Если задается после блокирования объекта FontDescription (для свойства locked задано значение true).
fontPostureсвойство 
fontPosture:String  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения:  10, 1.5

Задает начертание шрифта.

Применяется только к шрифтам устройства.

Значение по умолчанию — flash.text.engine.FontPosture.NORMAL.

В качестве значений этого свойства используйте следующие строковые значения:

Строковое значениеОписание
FontPosture.NORMALОбычное начертание шрифта.
FontPosture.ITALICКурсивное начертание шрифта.



Реализация
    public function get fontPosture():String
    public function set fontPosture(value:String):void

Выдает
ArgumentError — Если задано значение, не являющееся элементом flash.text.engine.FontPosture.
 
IllegalOperationError — Если задается после блокирования объекта FontDescription (для свойства locked задано значение true).
fontWeightсвойство 
fontWeight:String  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения:  10, 1.5

Задает толщину шрифта.

Применяется только к шрифтам устройства.

Значение по умолчанию — flash.text.engine.FontWeight.NORMAL.

В качестве значений этого свойства используйте следующие строковые значения:

Строковое значениеОписание
FontWeight.NORMALОбычная толщина шрифта.
FontWeight.BOLDПолужирная толщина шрифта.



Реализация
    public function get fontWeight():String
    public function set fontWeight(value:String):void

Выдает
ArgumentError — Если задано значение, не являющееся элементом flash.text.engine.FontWeight.
 
IllegalOperationError — Если задается после блокирования объекта FontDescription (для свойства locked задано значение true).
lockedсвойство 
locked:Boolean  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения:  10, 1.5.

Определяет, является ли объект FontDescription заблокированным. Если задано значение true, изменение объекта FontDescription невозможно. Вызовите метод FontDescription.clone() для получения разблокированной копии объекта FontDescription.



Реализация
    public function get locked():Boolean
    public function set locked(value:Boolean):void

Выдает
IllegalOperationError — Если задается после блокирования объекта FontDescription (для свойства locked задано значение true).

См. также

renderingModeсвойство 
renderingMode:String  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения:  10, 1.5

Режим визуализации, используемый для данного текста. Используйте константы flash.text.engine.RenderingMode для этого свойства.

Применяется только к встроенным шрифтам.

Значение по умолчанию — flash.text.engine.RenderingMode.CFF.

В качестве значений этого свойства используйте следующие строковые значения:

Строковое значениеОписание
RenderingMode.NORMALПрименяет обычную визуализацию текста, которая соответствует типу визуализации, используемому в Flash Player 7 и более ранних версиях.
RenderingMode.CFFПрименяет визуализацию CFF, которая делает текст более удобочитаемым. (Эта функция стала доступной в проигрывателе Flash Player 10.) Визуализация CFF обеспечивает высококачественную визуализацию шрифтов мелкого размера.



Реализация
    public function get renderingMode():String
    public function set renderingMode(value:String):void

Выдает
ArgumentError — Если задано значение, не являющееся элементом flash.text.engine.RenderingMode.
 
IllegalOperationError — Если задается после блокирования объекта FontDescription (для свойства locked задано значение true).

См. также

Сведения о конструкторе
FontDescription()Конструктор
public function FontDescription(fontName:String = "_serif", fontWeight:String = "normal", fontPosture:String = "normal", fontLookup:String = "device", renderingMode:String = "cff", cffHinting:String = "horizontalStem")

Язык версии : ActionScript 3.0
Версии среды выполнения:  10, 1.5

Создает объект FontDescription.

Параметры
fontName:String (default = "_serif") — Имя используемого шрифта или разделенный запятой список имен.
 
fontWeight:String (default = "normal") — Задает толщину шрифта.
 
fontPosture:String (default = "normal") — Задает начертание шрифта.
 
fontLookup:String (default = "device") — Задает метод поиска шрифта.
 
renderingMode:String (default = "cff") — Режим визуализации, используемый для данного текста. Используйте константы flash.text.engine.RenderingMode для этого свойства.
 
cffHinting:String (default = "horizontalStem") — Тип используемого для текста хинтинга CFF. Используйте константы flash.text.engine.CFFHinting для этого свойства.

Выдает
ArgumentError — Заданная локаль fontWeight не является членом flash.text.engine.FontWeight.
 
ArgumentError — Заданная локаль lineJustification не является членом LineJustification.
 
ArgumentError — Заданная локаль fontPosture не является членом flash.text.engine.FontLookup.
 
ArgumentError — Заданное свойство renderingMode не является членом flash.text.engine.renderingMode.
 
ArgumentError — Заданное свойство cffHinting не является членом flash.text.engine.CFFHinting.
Сведения о методе
clone()метод
public function clone():FontDescription

Язык версии : ActionScript 3.0
Версии среды выполнения:  10, 1.5

Создание разблокированной клонированной копии объекта FontDescription.

Возвращает
FontDescription — Разблокированная копия объекта FontDescription.

См. также


Пример

В этом примере создается объект FontDescription, ему назначается шрифт устройства, задаются разные свойства шрифта и назначается новый объект (и таким образом блокируется) объекту ElementFormat. Создается новый объект TextElement с использованием ElementFormat, затем этотTextElement используется в качестве содержимого для объекта TextBlock. Из объекта TextBlock создается текстовая строка.

Для изменения объекта FontDescription сначала проверьте его свойство locked. Если значение true, используйте метод clone() для создания разблокированной копии объекта FontDescription, измените его свойства и назначьте его новому объекту ElementFormat. Затем повторно создайте связь нового объекта ElementFormat и объекта TextBlock. При повторной разбивке строк новые строки получат новые параметры шрифтов.


package {

    import flash.display.Sprite;
    import flash.text.engine.*;

    
    public class FontDescription_cloneExample extends Sprite {
        private var fd:FontDescription;
        private var fd2:FontDescription;
        
        public function FontDescription_cloneExample():void {
            fd = new FontDescription();
            fd.fontLookup = flash.text.engine.FontLookup.DEVICE;
            fd.fontName = "Palatino";
            fd.fontWeight = flash.text.engine.FontWeight.BOLD;
            fd.fontPosture = flash.text.engine.FontPosture.ITALIC;

            var ef1:ElementFormat = new ElementFormat(fd);
            
            var str:String = "This is flash text 0123456789";
            var tb:TextBlock = new TextBlock();
            var te1:TextElement = new TextElement(str, ef1);
            tb.content = te1;
            var line1:TextLine = tb.createTextLine(null, 600);
            addChild(line1);
            
            fd2 = (fd.locked) ? fd.clone() : fd;    
            fd2.fontWeight = flash.text.engine.FontWeight.NORMAL;
            var ef2:ElementFormat = new ElementFormat(fd2);

            tb.content.elementFormat=ef2;
            var line2:TextLine = tb.createTextLine(null, 600);
            addChild(line2);
            
        }
    }    
}
isFontCompatible()метод 
public static function isFontCompatible(fontName:String, fontWeight:String, fontPosture:String):Boolean

Язык версии : ActionScript 3.0
Версии среды выполнения:  10, 1.5

Возвращает значение "true", если доступен встроенный шрифт с указанными свойствами fontName, fontWeight и fontPosture, где Font.fontType — это flash.text.FontType.EMBEDDED_CFF. Начиная с Flash Player 10, SWF-файле могут отображаться два вида встроенных шрифтов. Обычные встроенные шрифты используются только объектами TextField. Встроенные шрифты CFF используются только классами flash.text.engine. Два типа различаются свойством fontType класса Font, возвращенным функцией enumerateFonts().

Классы flash.text.engine не могут использовать шрифты типа EMBEDDED. Если fontLookup имеет значение FontLookup.EMBEDDED_CFF в среде выполнения единственным доступным шрифтом с заданным именем и стилем является шрифт типа EMBEDDED, Flash Player использует шрифты устройства и визуализирует текст глиф за глифом, как будто в файле нет встроенного шрифта с заданным именем и стилем.

Если имеются шрифты EMBEDDED и EMBEDDED_CFF с одинаковым именем и стилем, выбирается шрифт типа EMBEDDED_CFF и используется для визуализации текста.

Параметры

fontName:String — Имя проверяемого встроенного шрифта.
 
fontWeight:String — Задает толщину шрифта. Используйте flash.text.engine.FontWeight
 
fontPosture:String — Задает начертание шрифта. Используйте flash.text.engine.FontPosture

Возвращает
Boolean — Значение true, если доступен совместимый встроенный шрифт, в противном случае, значение — false.

Выдает
ArgumentError — Заданная локаль fontWeight не является членом flash.text.engine.FontWeight.
 
ArgumentError — Заданная локаль lineJustification не является членом LineJustification.

См. также

Примеры Как пользоваться примерами
FontDescriptionExample.as

В этом примере создается объект FontDescription, ему назначается шрифт устройства, задаются разные свойства шрифта и назначается новый объект объекту ElementFormat. Дополнительное форматирование шрифта выполняется с помощью ElementFormat. Создается новый объект TextElement с использованием ElementFormat, затем этотTextElement используется в качестве содержимого для объекта TextBlock. Из объекта TextBlock создается текстовая строка.


package {

    import flash.display.Sprite;
    import flash.text.engine.*;

    
    public class FontDescriptionExample extends Sprite {
        
        public function FontDescriptionExample():void {
            var fd:FontDescription = new FontDescription();
            fd.fontLookup = flash.text.engine.FontLookup.DEVICE;
            fd.fontName = "Palatino";
            fd.fontWeight = flash.text.engine.FontWeight.BOLD;
            fd.fontPosture = flash.text.engine.FontPosture.ITALIC;

            var ef1:ElementFormat = new ElementFormat(fd);
            ef1.fontSize = 30;
            ef1.color = 0xFF0000;
            
            var str:String = "This is flash text 0123456789";
            var tb:TextBlock = new TextBlock();
            var te1:TextElement = new TextElement(str, ef1);
            tb.content = te1;
            var line1:TextLine = tb.createTextLine(null, 600);
            addChild(line1);
            
        }
    }    
}