Package | flash.text.engine |
Class | public final class FontDescription |
Inheritance | FontDescription Object |
Language version: | ActionScript 3.0 |
Runtime version: | 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 (Flash Text Engine) 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 | ||
createFromByteArray(fontName:String, fontData:ByteArray, fontWeight:String = "normal", fontPosture:String = "normal"):FontDescription
[static]
Creates a
FontDescription object using font data loaded dynamically from a file. | FontDescription | ||
Indicates whether an object has a specified property defined.
| Object | ||
[static]
Returns true if a usable device font is available with the specified
fontName , fontWeight , and fontPosture . | FontDescription | ||
[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
[read-write]
Language version: | ActionScript 3.0 |
Runtime version: | AIR 1.5 |
The type of CFF hinting used for this text. Use CFFHinting
constants for this property. This property applies only if the
RenderingMode
property of the text is set to RenderingMode.CFF
.
The type of CFF (Compact Font Format) hinting used determines whether the Flash runtime forces strong horizontal stems to fit to a sub-pixel grid or not.
Applies only to embedded fonts.
The default value is CFFHinting.HORIZONTAL_STEM
.
For the CFFHinting
property, you can use the following constants from the CFFHinting class:
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
a screen. To use this setting, the
RenderingMode property must be set to RenderingMode.CFF . |
public function get cffHinting():String
public function set cffHinting(value:String):void
ArgumentError — If set to any value which is not a member of CFFHinting .
|
|
Error — If set after the FontDescription object is locked (locked is true ).
|
See also
fontLookup | property |
fontLookup:String
[read-write]
Language version: | ActionScript 3.0 |
Runtime version: | AIR 1.5 |
Specifies how the font should be looked up.
The default value is FontLookup.DEVICE
.
To set values for this property, use the following string values:
String value | Description |
---|---|
FontLookup.DEVICE |
The runtime looks up a device font with the specified name
on the local system with which to render the text. |
FontLookup.EMBEDDED_CFF |
The runtime 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 application, the runtime attempts
to use a fallback device 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):void
Error — If set after the FontDescription object is locked (locked is true ).
|
See also
fontName | property |
fontName:String
[read-write]
Language version: | ActionScript 3.0 |
Runtime version: | AIR 1.5 |
The name of the font to use, or a comma-separated list of font names. The runtime 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 runtimes support three generic device font names: _sans (for sans serif fonts), _serif (for serif fonts), and _typewriter (for mono-space fonts). These are mapped to specific device fonts depending on the platform.
The default value is "_serif"
.
Flash runtimes provide 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, the runtime attempts to render it using another device font likely to contain the glyph.
Implementation public function get fontName():String
public function set fontName(value:String):void
Error — If set after the FontDescription object is locked (locked is true ).
|
See also
fontPosture | property |
fontPosture:String
[read-write]
Language version: | ActionScript 3.0 |
Runtime version: | AIR 1.5 |
Specifies the font posture.
The default value is FontPosture.NORMAL
.
To set values for this property, use the following constants from the FontPosture class:
Value | Description |
---|---|
FontPosture.NORMAL |
Normal font posture. |
FontPosture.ITALIC |
Italic font posture. |
public function get fontPosture():String
public function set fontPosture(value:String):void
ArgumentError — If set to any value which is not a member of FontPosture .
|
|
Error — If set after the FontDescription object is locked (locked is true ).
|
See also
fontWeight | property |
fontWeight:String
[read-write]
Language version: | ActionScript 3.0 |
Runtime version: | AIR 1.5 |
Specifies the font weight.
The default value is FontWeight.NORMAL
.
To set values for this property, use the following constants from the FontWeight class:
String value | Description |
---|---|
FontWeight.NORMAL |
Normal font weight. |
FontWeight.BOLD |
Bold font weight. |
public function get fontWeight():String
public function set fontWeight(value:String):void
ArgumentError — If set to any value which is not a member of FontWeight .
|
|
Error — If set after the FontDescription object is locked (locked is true ).
|
See also
locked | property |
locked:Boolean
[read-write]
Language version: | ActionScript 3.0 |
Runtime version: | 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):void
Error — If set after the FontDescription object is locked (locked is true ).
|
renderingMode | property |
renderingMode:String
[read-write]
Language version: | ActionScript 3.0 |
Runtime version: | AIR 1.5 |
The rendering mode used for this text. Use RenderingMode
constants for this property.
Applies only to embedded fonts.
The default value is RenderingMode.CFF
.
To set values for this property, use the following constants from the RenderingMode class:
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 (Compact Font Format) 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):void
ArgumentError — If set to any value which is not a member of RenderingMode .
|
|
Error — 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 version: | 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 RenderingMode
constants for this property.
|
|
cffHinting:String (default = "horizontalStem ") — The type of CFF (Compact Font Format) hinting used for this text. Use CFFHinting
constants for this property.
|
ArgumentError — The fontWeight specified is not a member of FontWeight .
|
|
ArgumentError — The fontPosture specified is not a member of FontPosture .
|
|
ArgumentError — The fontLookup specified is not a member of FontLookup .
|
|
ArgumentError — The renderingMode specified is not a member of RenderingMode .
|
|
ArgumentError — The cffHinting specified is not a member of CFFHinting .
|
clone | () | method |
public function clone():FontDescription
Language version: | ActionScript 3.0 |
Runtime version: | 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); } } }
createFromByteArray | () | method |
public static function createFromByteArray(fontName:String, fontData:ByteArray, fontWeight:String = "normal", fontPosture:String = "normal"):FontDescription
Language version: | ActionScript 3.0 |
Runtime version: | AIR 51 |
Creates a FontDescription
object using font data loaded dynamically from a file.
fontName:String — A string that can be used to identify the font when creating future FontDescription objects
|
|
fontData:ByteArray — A byte array containing the font data you want to use. This should be in OpenType format with CFF outlines.
|
|
fontWeight:String (default = "normal ") — Whether the font is bold or not (use FontWeight ). Defaults to normal.
|
|
fontPosture:String (default = "normal ") — Whether the font is italic or not (use FontPosture ). Defaults to normal.
|
FontDescription —
The new FontDescription created from the provided font.
|
ArgumentError — The fontData specified is not in the correct OpenType/CFF format.
|
|
ArgumentError — The fontWeight specified is not a member of FontWeight .
|
|
ArgumentError — The fontPosture specified is not a member of FontPosture .
|
isDeviceFontCompatible | () | method |
public static function isDeviceFontCompatible(fontName:String, fontWeight:String, fontPosture:String):Boolean
Language version: | ActionScript 3.0 |
Runtime version: | AIR 2 |
Returns true if a usable device font is available with the specified fontName
, fontWeight
, and fontPosture
.
The flash.text.engine classes can only use OpenType and TrueType device fonts. If a font based on an older font technology is used, the runtime falls back to known good device fonts on a glyph-by-glyph basis to render the text
ParametersfontName:String — The name of the device font to check.
|
|
fontWeight:String — Specifies the font weight. Use FontWeight .
|
|
fontPosture:String — Specifies the font posture. Use FontPosture .
|
Boolean —
true if a compatible device font is available, otherwise false .
|
ArgumentError — The fontWeight specified is not a member of FontWeight .
|
|
ArgumentError — The fontPosture specified is not a member of FontPosture .
|
See also
isFontCompatible | () | method |
public static function isFontCompatible(fontName:String, fontWeight:String, fontPosture:String):Boolean
Language version: | ActionScript 3.0 |
Runtime version: | 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 application content. 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
, the runtime 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.
fontName:String — The name of the embedded font to check.
|
|
fontWeight:String — Specifies the font weight. Use FontWeight .
|
|
fontPosture:String — Specifies the font posture. Use FontPosture .
|
Boolean —
true if a compatible embedded font is available, otherwise false .
|
ArgumentError — The fontWeight specified is not a member of FontWeight .
|
|
ArgumentError — The fontPosture specified is not a member of 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); } } }