| Package | flash.text.engine | 
| Class | public final class FontDescription | 
| Inheritance | FontDescription    Object | 
| Language Version: | ActionScript 3.0 | 
| Runtime Versions: | Flash Player 10, AIR 1.5 | 
A FontDescription object is applied to an ElementFormat,
 which is in turn applied to a ContentElement in a TextBlock. Once a FontDescription has been
 applied to an ElementFormat, its locked property is set to true.
 The properties of a locked FontDescription object cannot be changed. Instead, use the clone()
 method to create an unlocked copy of the object, which can be modified and assigned to the ElementFormat.
Note: FTE does not support Type 1 fonts or bitmap fonts such as Type 3, ATC, sfnt-wrapped CID, or Naked CID.
See also
| Property | Defined By | ||
|---|---|---|---|
| cffHinting : String 
	 The type of CFF hinting used for this text.  | FontDescription | ||
![]()  | constructor : Object 
	 A reference to the class object or constructor function for a given object instance.  | Object | |
| fontLookup : String 
	 Specifies how the font should be looked up.  | FontDescription | ||
| fontName : String 
	 The name of the font to use, or a comma-separated list of font names.  | FontDescription | ||
| fontPosture : String 
	 Specifies the font posture.  | FontDescription | ||
| fontWeight : String 
	 Specifies the font weight.  | FontDescription | ||
| locked : Boolean 
	 Indicates whether or not the FontDescription is locked.  | FontDescription | ||
![]()  | prototype : Object [static] 
	 A reference to the prototype object of a class or function object.  | Object | |
| renderingMode : String 
	 The rendering mode used for this text.  | FontDescription | ||
| Method | Defined By | ||
|---|---|---|---|
FontDescription(fontName:String = "_serif", fontWeight:String = "normal", fontPosture:String = "normal", fontLookup:String = "device", renderingMode:String = "cff", cffHinting:String = "horizontalStem") 
 	 Creates a FontDescription object.  | FontDescription | ||
	 Constructs an unlocked, cloned copy of the FontDescription.  | FontDescription | ||
![]()  | 
	 Indicates whether an object has a specified property defined.  | Object | |
[static] 
	 Returns true if an embedded font is available with the specified fontName, fontWeight, and fontPosture
	 where Font.fontType is flash.text.FontType.EMBEDDED_CFF.  | FontDescription | ||
![]()  | 
	 Indicates whether an instance of the Object class is in the prototype chain of the object specified 
	 as the parameter.  | Object | |
![]()  | 
	 Indicates whether the specified property exists and is enumerable.  | Object | |
![]()  | 
     Sets the availability of a dynamic property for loop operations.  | Object | |
![]()  | 
	 Returns the string representation of this object, formatted according to locale-specific conventions.  | Object | |
![]()  | 
	 Returns the string representation of the specified object.  | Object | |
![]()  | 
	 Returns the primitive value of the specified object.  | Object | |
| cffHinting | property | 
cffHinting:String| Language Version: | ActionScript 3.0 | 
| Runtime Versions: | Flash Player 10, AIR 1.5 | 
	 The type of CFF hinting used for this text. Use flash.text.engine.CFFHinting
	 constants for this property. This property applies only if the
	 flash.text.engine.RenderingMode property of the text is set to flash.text.engine.RenderingMode.CFF.
	 
	 
The type of CFF hinting used determines whether Flash Player forces strong horizontal stems to fit to a sub pixel grid or not.
Applies only to embedded fonts.
The default value is flash.text.engine.CFFHinting.HORIZONTAL_STEM.
For the flash.text.engine.CFFHinting property, you can use the following string values:
| String value | Description | 
|---|---|
CFFHinting.NONE | Specifies no CFF hinting. Horizontal stems in the glyphs are not forced to the sub pixel grid. This setting is appropriate for animation or for large font sizes. | 
CFFHinting.HORIZONTAL_STEM | Specifies CFF hinting. Strong horizontal stems are fit to the sub pixel grid on
	         an LCD monitor. To use this setting, the
	         RenderingMode property must be set to RenderingMode.CFF. | 
    public function get cffHinting():String    public function set cffHinting(value:String):voidArgumentError  — If set to any value which is not a member of flash.text.engine.CFFHinting.
	  | |
IllegalOperationError  — If set after the FontDescription object is locked (locked is true).
	  | 
See also
| fontLookup | property | 
fontLookup:String| Language Version: | ActionScript 3.0 | 
| Runtime Versions: | Flash Player 10, AIR 1.5 | 
Specifies how the font should be looked up.
The default value is flash.text.engine.FontLookup.DEVICE.
To set values for this property, use the following string values:
| String value | Description | 
|---|---|
FontLookup.DEVICE | Flash Player looks up a device font with the specified name
	 on the local system with which to render the text. | 
FontLookup.EMBEDDED_CFF | Flash Player looks up an embedded CFF font with the specified name
	 with which to render the text.  Only fonts of type flash.text.Font.fontType.EMBEDDED_CFF
	 are considered.
	 If the specified CFF font is not embedded in the SWF file, Flash Player attempts
	 to use a device fallback font for each glyph.  This method is less efficient 
	 than selecting a device font in the first place. | 
    public function get fontLookup():String    public function set fontLookup(value:String):voidIllegalOperationError  — If set after the FontDescription object is locked (locked is true).
	  | 
| fontName | property | 
fontName:String| Language Version: | ActionScript 3.0 | 
| Runtime Versions: | Flash Player 10, AIR 1.5 | 
The name of the font to use, or a comma-separated list of font names. Flash Player renders the element with the first available font in the list. For example "Arial, Helvetica, _sans" causes the player to search for "Arial", then "Helvetica" if Arial is not found, then _sans if neither is found.
Flash supports three generic device font names: _sans (like Helvetica and Arial), _serif (like Times Roman), and _typewriter (like Courier). These are mapped to specific device fonts depending on the platform.
The default value is "_serif".
Flash Player provides font fallback for glyphs which are not found in the selected font. Whether the font in use is embedded or device, if the glyph is not found in the font, Flash Player attempts to render it using another device font likely to contain the glyph.
    public function get fontName():String    public function set fontName(value:String):voidIllegalOperationError  — If set after the FontDescription object is locked (locked is true).
	  | 
| fontPosture | property | 
fontPosture:String| Language Version: | ActionScript 3.0 | 
| Runtime Versions: | Flash Player 10, AIR 1.5 | 
Specifies the font posture.
Applies only to device fonts.
The default value is flash.text.engine.FontPosture.NORMAL.
To set values for this property, use the following string values:
| String value | Description | 
|---|---|
FontPosture.NORMAL | Normal font posture. | 
FontPosture.ITALIC | Italic font posture. | 
    public function get fontPosture():String    public function set fontPosture(value:String):voidArgumentError  — If set to any value which is not a member of flash.text.engine.FontPosture.
	  | |
IllegalOperationError  — If set after the FontDescription object is locked (locked is true).
	  | 
| fontWeight | property | 
fontWeight:String| Language Version: | ActionScript 3.0 | 
| Runtime Versions: | Flash Player 10, AIR 1.5 | 
Specifies the font weight.
Applies only to device fonts.
The default value is flash.text.engine.FontWeight.NORMAL.
To set values for this property, use the following string values:
| String value | Description | 
|---|---|
FontWeight.NORMAL | Normal font weight. | 
FontWeight.BOLD | Bold font weight. | 
    public function get fontWeight():String    public function set fontWeight(value:String):voidArgumentError  — If set to any value which is not a member of flash.text.engine.FontWeight.
	  | |
IllegalOperationError  — If set after the FontDescription object is locked (locked is true).
	  | 
| locked | property | 
locked:Boolean| Language Version: | ActionScript 3.0 | 
| Runtime Versions: | Flash Player 10, AIR 1.5. | 
	 Indicates whether or not the FontDescription is locked.  If true the FontDescription cannot be modified.
	 Call FontDescription.clone() to get an unlocked copy of the FontDescription object.
	 
	 
    public function get locked():Boolean    public function set locked(value:Boolean):voidIllegalOperationError  — If set after the FontDescription object is locked (locked is true).
	  | 
| renderingMode | property | 
renderingMode:String| Language Version: | ActionScript 3.0 | 
| Runtime Versions: | Flash Player 10, AIR 1.5 | 
	 The rendering mode used for this text. Use flash.text.engine.RenderingMode
	 constants for this property. 
	 
	 
Applies only to embedded fonts.
The default value is flash.text.engine.RenderingMode.CFF.
To set values for this property, use the following string values:
| String value | Description | 
|---|---|
RenderingMode.NORMAL | Applies the regular text rendering, which matches the type of rendering that Flash Player 7 and earlier versions used. | 
RenderingMode.CFF | Applies CFF rendering, which makes text more legible. (This feature became available in Flash Player 10.) CFF rendering allows for high-quality rendering of font faces at small sizes. | 
    public function get renderingMode():String    public function set renderingMode(value:String):voidArgumentError  — If set to any value which is not a member of flash.text.engine.RenderingMode.
	  | |
IllegalOperationError  — If set after the FontDescription object is locked (locked is true).
	  | 
See also
| FontDescription | () | Constructor | 
public function FontDescription(fontName:String = "_serif", fontWeight:String = "normal", fontPosture:String = "normal", fontLookup:String = "device", renderingMode:String = "cff", cffHinting:String = "horizontalStem")| Language Version: | ActionScript 3.0 | 
| Runtime Versions: | Flash Player 10, AIR 1.5 | 
Creates a FontDescription object.
ParametersfontName:String (default = "_serif") — The name of the font to use, or a comma-separated list of font names.
	  | |
fontWeight:String (default = "normal") — Specifies the font weight.
	  | |
fontPosture:String (default = "normal") — Specifies the font posture.
	  | |
fontLookup:String (default = "device") — Specifies how to look up the font.
	  | |
renderingMode:String (default = "cff") — The rendering mode used for this text. Use flash.text.engine.RenderingMode
	 constants for this property.
	  | |
cffHinting:String (default = "horizontalStem") — The type of CFF hinting used for this text. Use flash.text.engine.CFFHinting
	 constants for this property.
   	  | 
ArgumentError  — The fontWeight specified is not a member of flash.text.engine.FontWeight.
      | |
ArgumentError  — The fontPosture specified is not a member of flash.text.engine.FontPosture.
      | |
ArgumentError  — The fontLookup specified is not a member of flash.text.engine.FontLookup.
      | |
ArgumentError  — The renderingMode specified is not a member of flash.text.engine.RenderingMode.
      | |
ArgumentError  — The cffHinting specified is not a member of flash.text.engine.CFFHinting.
 	  | 
| clone | () | method | 
 public function clone():FontDescription| Language Version: | ActionScript 3.0 | 
| Runtime Versions: | Flash Player 10, AIR 1.5 | 
Constructs an unlocked, cloned copy of the FontDescription.
ReturnsFontDescription — An unlocked copy of the FontDescription object.
	  | 
This example creates a FontDescription object, assigns
 a device font to it, sets various font properties,
 and assigns the new object (and therefore locking it) to an ElementFormat object.
 A new TextElement is created, using the ElementFormat, and
 the TextElement is used as content for a TextBlock. A
 line of text is created from the TextBlock.
To modify the FontDescription object, first check its
 locked property. If true, use the clone() method to
 create an unlocked copy of the FontDescription, change its properties,
 and assign it to a new ElementFormat object. Then re-link
 the new ElementFormat to the TextBlock. 
 When the lines are re-broken, the new lines will have the new font settings.
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 | () | method | 
 public static function isFontCompatible(fontName:String, fontWeight:String, fontPosture:String):Boolean| Language Version: | ActionScript 3.0 | 
| Runtime Versions: | Flash Player 10, AIR 1.5 | 
	 Returns true if an embedded font is available with the specified fontName, fontWeight, and fontPosture
	 where Font.fontType is flash.text.FontType.EMBEDDED_CFF.  Starting with Flash Player 10
	 two kinds of embedded fonts can appear in a SWF file.  Normal embedded fonts are only used by TextField.
	 CFF embedded fonts are only used by the flash.text.engine classes.  The two types are distinguised by the 
	 fontType property of the Font class, as returned by the enumerateFonts() function.
	 
	 
The flash.text.engine classes cannot use a font of type EMBEDDED. If fontLookup is set 
	 to FontLookup.EMBEDDED_CFF and the only font available at run time with the specified name, weight, and posture is of type 
	 EMBEDDED, Flash Player falls back to device fonts on a glyph-by-glyph basis to render the text,
	 as if no embedded font were available with the specified name and style.
If both EMBEDDED and EMBEDDED_CFF fonts are available with the same name, weight, and posture, the EMBEDDED_CFF
	 font is selected and text renders with the EMBEDDED_CFF font.
Parameters
fontName:String — The name of the embedded font to check.
	  | |
fontWeight:String — Specifies the font weight.  Use flash.text.engine.FontWeight.
	  | |
fontPosture:String — Specifies the font posture.  Use flash.text.engine.FontPosture.
	  | 
Boolean — true if a compatible embedded font is available, otherwise false.
	 
      | 
ArgumentError  — The fontWeight specified is not a member of flash.text.engine.FontWeight.
      | |
ArgumentError  — The fontPosture specified is not a member of flash.text.engine.FontPosture.
	  | 
See also
This example creates a FontDescription object, assigns
 a device font to it, sets various font properties,
 and assigns the new object to an ElementFormat object.
 Additional font formatting is done within ElementFormat. A new
 TextElement is created, using the ElementFormat, and
 the TextElement is used as content for a TextBlock. A
 line of text is created from the 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);
            
        }
    }    
}