包flash.text.engine
类public final class ElementFormat
继承ElementFormat Inheritance Object

语言版本: ActionScript 3.0
运行时版本: Flash Player 10, AIR 1.5

ElementFormat 类表示可应用于 ContentElement 的格式设置信息。使用 ElementFormat 类可以为 ContentElement 的各个子类创建特定的文本格式。ElementFormat 类的属性适用于设备字体和嵌入字体。

将 ElementFormat 对象应用于 TextBlock 中的 ContentElement 不会使 TextBlock 失效。将 ElementFormat 应用于 ContentElement 后,其 locked 属性将设置为 true。无法更改已锁定 ElementFormat 对象的属性。相反,可以使用 clone() 方法创建此对象的没有锁定的副本,可以对此副本进行修改并将其分配给 ContentElement。

查看示例

另请参见

flash.text.engine.ContentElement.elementFormat


公共属性
 属性定义方
  alignmentBaseline : String
指定 dominantBaseline 紧贴到哪条包含该元素的行的基线,从而确定该元素在该行中的垂直位置。
ElementFormat
  alpha : Number
为作者提供了一种自动将基于元素格式的所有行原子的 alpha 属性设置为指定的 Number 的途径。
ElementFormat
  baselineShift : Number
指示元素的基线偏移,以像素为单位。
ElementFormat
  breakOpportunity : String
应用于此文本的换行。
ElementFormat
  color : uint
指示文本的颜色。
ElementFormat
 Inheritedconstructor : Object
对类对象或给定对象实例的构造函数的引用。
Object
  digitCase : String
用于此文本的数字大小写。
ElementFormat
  digitWidth : String
用于此文本的数字宽度。
ElementFormat
  dominantBaseline : String
指定该元素的哪条基线紧贴到 alignmentBaseline 以确定元素在该行上的垂直位置。
ElementFormat
  fontDescription : FontDescription
一个对象,其中封装说明字体所必需的属性.
ElementFormat
  fontSize : Number
文本的大小,以像素为单位。
ElementFormat
  kerning : String
用于此文本的字距调整。
ElementFormat
  ligatureLevel : String
用于此文本的连字级别。
ElementFormat
  locale : String
文本的区域设置。
ElementFormat
  locked : Boolean
指示 ElementFormat 是否已锁定。
ElementFormat
 Inheritedprototype : Object
[静态] 对类或函数对象的原型对象的引用。
Object
  textRotation : String
设置应用于各个字型的旋转。
ElementFormat
  trackingLeft : Number
应用到每个字型左侧的间距或手动字距调整(以像素为单位)。
ElementFormat
  trackingRight : Number
应用到每个字型右侧的间距或手动字距调整(以像素为单位)。
ElementFormat
  typographicCase : String
用于此文本的印刷大小写。
ElementFormat
公共方法
 方法定义方
  
ElementFormat(fontDescription:FontDescription = null, fontSize:Number = 12.0, color:uint = 0x000000, alpha:Number = 1.0, textRotation:String = "auto", dominantBaseline:String = "roman", alignmentBaseline:String = "useDominantBaseline", baselineShift:Number = 0.0, kerning:String = "on", trackingRight:Number = 0.0, trackingLeft:Number = 0.0, locale:String = "en", breakOpportunity:String = "auto", digitCase:String = "default", digitWidth:String = "default", ligatureLevel:String = "common", typographicCase:String = "default")
创建 ElementFormat 对象。
ElementFormat
  
构造 ElementFormat 的没有锁定的克隆副本。
ElementFormat
  
返回一个 FontMetrics 对象,该对象的属性说明由 fontDescription 和 fontSize 指定的字体的全角字框、删除线位置、删除线粗细、下划线位置和下划线粗线。
ElementFormat
 Inherited
指示对象是否已经定义了指定的属性。
Object
 Inherited
指示 Object 类的实例是否在指定为参数的对象的原型链中。
Object
 Inherited
指示指定的属性是否存在、是否可枚举。
Object
 Inherited
设置循环操作动态属性的可用性。
Object
 Inherited
返回指定对象的字符串表示形式。
Object
 Inherited
返回指定对象的原始值。
Object
属性详细信息
alignmentBaseline属性
alignmentBaseline:String  [读写]

语言版本: ActionScript 3.0
运行时版本: Flash Player 10, AIR 1.5

指定 dominantBaseline 紧贴到哪条包含该元素的行的基线,从而确定该元素在该行中的垂直位置。对此属性使用 flash.text.engine.TextBaseline 常量。

行中的最大元素将确定基线,除非设置 TextBlock.baselineFontDescription 和 TextBlock.baselineFontSize 设置来覆盖此逻辑。

默认值为 flash.text.engine.TextBaseline.USE_DOMINANT_BASELINE。

若要设置此属性的值,请使用下列字符串值:

字符串值Description
TextBaseline.ROMAN dominantBaseline 与该行的罗马字基线对齐。
TextBaseline.ASCENT dominantBaseline 与该行的上缘基线对齐。
TextBaseline.DESCENT dominantBaseline 与该行的下缘基线对齐。
TextBaseline.IDEOGRAPHIC_TOP dominantBaseline 与该行的表意顶部基线对齐。
TextBaseline.IDEOGRAPHIC_CENTER dominantBaseline 与该行的表意中心基线对齐。
TextBaseline.IDEOGRAPHIC_BOTTOM dominantBaseline 与该行的表意底部基线对齐。
TextBaseline.USE_DOMINANT_BASELINE dominantBaseline 与该行的同一基线对齐。

子类设置属性的效果
GraphicElement 设置图形元素的 dominantBaseline 所对齐的行的对齐基线。
GroupElement 没有任何效果。
TextElement 设置文本元素的 dominantBaseline 所对齐的行的对齐基线。



实现
    public function get alignmentBaseline():String
    public function set alignmentBaseline(value:String):void

引发
ArgumentError — 如果设置的值不是 flash.text.engine.TextBaseline 的成员。
 
IllegalOperationError — 如果在锁定 ElementFormat 对象(locked 为 true)之后进行设置。

另请参见

alpha属性 
alpha:Number  [读写]

语言版本: ActionScript 3.0
运行时版本: Flash Player 10, AIR 1.5

为作者提供了一种自动将基于元素格式的所有行原子的 alpha 属性设置为指定的 Number 的途径。

指示指定对象的 Alpha 透明度值。 有效值为 0(完全透明)到 1(完全不透明)。 默认值为 1。 Alpha 设置为 0 的显示对象是活动的,即使它们不可见。

默认值为 1.0。

子类设置属性的效果
GraphicElement 对图形元素应用指定的 Alpha。与在图形的 DisplayObject 本身或在 TextLine 上设置的任何 Alpha 进行乘法合并。
GroupElement 没有任何效果。
TextElement 对文本元素应用指定的 Alpha。与在 TextLine 上设置的任何 Alpha 进行乘法合并。



实现
    public function get alpha():Number
    public function set alpha(value:Number):void

引发
IllegalOperationError — 如果在锁定 ElementFormat 对象(locked 为 true)之后进行设置。

另请参见

baselineShift属性 
baselineShift:Number  [读写]

语言版本: ActionScript 3.0
运行时版本: Flash Player 10, AIR 1.5

指示元素的基线偏移,以像素为单位。

元素将按照这个量偏离 dominantBaseline。此偏移量将加到元素成员的 y 位置中,因此在非旋转的文本中,正基线偏移会向下移动元素,负基线偏移会向上移动元素。

默认值为 0.0,表示不偏移。

子类设置属性的效果
GraphicElement 将图形偏离基线。
GroupElement 没有任何效果。
TextElement 将文本偏离基线。



实现
    public function get baselineShift():Number
    public function set baselineShift(value:Number):void

引发
IllegalOperationError — 如果在锁定 ElementFormat 对象(locked 为 true)之后进行设置。
breakOpportunity属性 
breakOpportunity:String  [读写]

语言版本: ActionScript 3.0
运行时版本: Flash Player 10, AIR 1.5

就用于此文本的换行。此属性确定在将换行文本分为多行时可用于断行的字符。对此属性使用 flash.text.engine.BreakOpportunity 常量。

默认值为 flash.text.engine.BreakOpportunity.AUTO。

若要设置此属性的值,请使用下列字符串值:

字符串值Description
BreakOpportunity.AUTO 换行基于标准的 Unicode 字符属性,如在文字间以及在连字符处换行。
BreakOpportunity.ANY ContentElement 对象中的任何字符均可换行。此值通常用于亚洲文字中嵌入罗马文字并需要在文字的中间换行的场合。
BreakOpportunity.NONE 范围内的任何字符均不可进行换行。
BreakOpportunity.ALL 范围内的所有字符均可进行换行。可用于创建路径文本这样的效果。

子类设置属性的效果
GraphicElement 没有任何效果。
GroupElement 确定组中相邻文本元素间的换行。如果组的 elementFormat 为 null,则使用相邻元素中第一个元素的格式。
TextElement 确定文本元素中字符间的换行。



实现
    public function get breakOpportunity():String
    public function set breakOpportunity(value:String):void

引发
ArgumentError — 如果设置的值不是 flash.text.engine.BreakOpportunity 的成员。
 
IllegalOperationError — 如果在锁定 ElementFormat 对象(locked 为 true)之后进行设置。

另请参见

color属性 
color:uint  [读写]

语言版本: ActionScript 3.0
运行时版本: Flash Player 10, AIR 1.5

指示文本的颜色。一个包含三个 8 位 RGB 分量的整数;例如,0xFF0000 为红色,0x00FF00 为绿色。

默认值为 0x000000,这意味着 Flash Player 使用黑色。

子类设置属性的效果
GraphicElement 没有任何效果。
GroupElement 没有任何效果。
TextElement 设置文本的颜色。



实现
    public function get color():uint
    public function set color(value:uint):void

引发
IllegalOperationError — 如果在锁定 ElementFormat 对象(locked 为 true)之后进行设置。
digitCase属性 
digitCase:String  [读写]

语言版本: ActionScript 3.0
运行时版本: Flash Player 10, AIR 1.5

用于此文本的数字大小写。数字大小写会影响数字字符组的样式和位置。对此属性使用 flash.text.engine.DigitCase 常量。

默认值为 flash.text.engine.DigitCase.DEFAULT。

若要设置此属性的值,请使用下列字符串值:

字符串值Description
DigitCase.DEFAULT 对文本应用默认数字大小写。
DigitCase.LINING 对文本应用全高数字大小写。
DigitCase.OLD_STYLE 对文本应用旧样式数字大小写。

子类设置属性的效果
GraphicElement 没有任何效果。
GroupElement 没有任何效果。
TextElement 确定用于元素中的文本的数字大小写。



实现
    public function get digitCase():String
    public function set digitCase(value:String):void

引发
ArgumentError — 如果设置的值不是 flash.text.engine.DigitCase 的成员。
 
IllegalOperationError — 如果在锁定 ElementFormat 对象(locked 为 true)之后进行设置。

另请参见

digitWidth属性 
digitWidth:String  [读写]

语言版本: ActionScript 3.0
运行时版本: Flash Player 10, AIR 1.5

用于此文本的数字宽度。对此属性使用 flash.text.engine.DigitWidth 常量。

默认值为 flash.text.engine.DigitWidth.DEFAULT。

若要设置此属性的值,请使用下列字符串值:

字符串值Description
DigitWidth.DEFAULT 对文本应用默认数字宽度。
DigitWidth.PROPORTIONAL 对文本应用变宽数字宽度。
DigitWidth.TABULAR 对文本应用定宽数字宽度。

子类设置属性的效果
GraphicElement 没有任何效果。
GroupElement 没有任何效果。
TextElement 确定用于元素中的文本的数字宽度。



实现
    public function get digitWidth():String
    public function set digitWidth(value:String):void

引发
ArgumentError — 如果设置的值不是 flash.text.engine.DigitWidth 的成员。
 
IllegalOperationError — 如果在锁定 ElementFormat 对象(locked 为 true)之后进行设置。

另请参见

dominantBaseline属性 
dominantBaseline:String  [读写]

语言版本: ActionScript 3.0
运行时版本: Flash Player 10, AIR 1.5

指定该元素的哪条基线紧贴到 alignmentBaseline 以确定元素在该行上的垂直位置。对此属性使用 flash.text.engine.TextBaseline 常量。

元素的内容将确定基线。对于 TextElement,字体和磅值将确定基线。对于 GraphicElement,元素的高度将确定基线。

默认值为 flash.text.engine.TextBaseline.ROMAN。

若要设置此属性的值,请使用下列字符串值:

字符串值Description
TextBaseline.ROMAN 元素的罗马字基线将与 alignmentBaseline 对齐。
TextBaseline.ASCENT 元素的上缘基线将与 alignmentBaseline 对齐。
TextBaseline.DESCENT 元素的下缘基线将与 alignmentBaseline 对齐。
TextBaseline.IDEOGRAPHIC_TOP 元素的表意顶部基线将与 alignmentBaseline 对齐。
TextBaseline.IDEOGRAPHIC_CENTER 元素的表意中心基线将与 alignmentBaseline 对齐。
TextBaseline.IDEOGRAPHIC_BOTTOM 元素的表意底部基线将与 alignmentBaseline 对齐。

子类设置属性的效果
GraphicElement 确定图形元素的哪些基线将与 alignmentBaseline 对齐。
GroupElement 没有任何效果。
TextElement 确定文本元素的哪些基线将与 alignmentBaseline 对齐。



实现
    public function get dominantBaseline():String
    public function set dominantBaseline(value:String):void

引发
ArgumentError — 如果设置的值不是 flash.text.engine.TextBaseline 的成员。
 
IllegalOperationError — 如果在锁定 ElementFormat 对象(locked 为 true)之后进行设置。

另请参见

fontDescription属性 
fontDescription:FontDescription  [读写]

语言版本: ActionScript 3.0
运行时版本: Flash Player 10, AIR 1.5

一个对象,其中封装说明字体所必需的属性.

默认值为默认构造的 FontDescription 对象。

如果设置了 fontDescription 属性,提供的 FontDescription 对象已锁定,则 locked 属性将设置为 true。无法修改已锁定 FontDescription。

子类设置属性的效果
GraphicElement 没有任何效果。
GroupElement 没有任何效果。
TextElement 确定用于元素中的文本的字体。



实现
    public function get fontDescription():FontDescription
    public function set fontDescription(value:FontDescription):void

引发
IllegalOperationError — 如果在锁定 ElementFormat 对象(locked 为 true)之后进行设置。

另请参见

fontSize属性 
fontSize:Number  [读写]

语言版本: ActionScript 3.0
运行时版本: Flash Player 10, AIR 1.5

文本的大小,以像素为单位。

默认值为 12.0。

子类设置属性的效果
GraphicElement 没有任何效果。
GroupElement 没有任何效果。
TextElement 确定元素中的文本的大小(以像素为单位)。



实现
    public function get fontSize():Number
    public function set fontSize(value:Number):void

引发
ArgumentError — 如果设置为小于零的值。
 
IllegalOperationError — 如果在锁定 ElementFormat 对象(locked 为 true)之后进行设置。
kerning属性 
kerning:String  [读写]

语言版本: ActionScript 3.0
运行时版本: Flash Player 10, AIR 1.5

用于此文本的字距调整。对此属性使用 flash.text.engine.Kerning 常量。字距调整可调整特定字符对之间的像素以改善可读性。具有字距微调表的所有字体都支持字距调整。

默认值为 flash.text.engine.Kerning.ON。

若要设置此属性的值,请使用下列字符串值:

字符串值Description
Kerning.ON 启用字距调整。
Kerning.OFF 禁用字距调整。
Kerning.AUTO 仅对适合采用中文版式的字符启用字距调整。如果两个字符都不是日文汉字、平假名或片假名,则在这两个字符之间应用字距调整。

子类设置属性的效果
GraphicElement 没有任何效果。
GroupElement 确定是否在组中的相邻文本元素间应用字距调整。如果组的 elementFormat 为 null,则使用相邻元素中第一个元素的格式。
TextElement 确定是否在文本元素中的字符间应用字距调整。



实现
    public function get kerning():String
    public function set kerning(value:String):void

引发
IllegalOperationError — 如果在锁定 ElementFormat 对象(locked 为 true)之后进行设置。
ligatureLevel属性 
ligatureLevel:String  [读写]

语言版本: ActionScript 3.0
运行时版本: Flash Player 10, AIR 1.5

用于此文本的连字级别。由两个或两个以上的字母结合在一起形成单个字型时就是连字。连字通常用于替换一些共享公共部分的连续字符,例如字母对“fi”、“fl”或“ae”。在拉丁语字符集和非拉丁语字符集中均可使用连字。对此属性使用 flash.text.engine.LigatureLevel 常量。

默认值为 flash.text.engine.LigatureLevel.COMMON。

若要设置此属性的值,请使用下列字符串值:

字符串值Description
LigatureLevel.NONE 不创建任何连字。
LigatureLevel.MINIMUM 创建最少的连字。
LigatureLevel.COMMON 创建常见连字。
LigatureLevel.UNCOMMON 创建不常见连字。
LigatureLevel.EXOTIC 创建外来语连字。

子类设置属性的效果
GraphicElement 没有任何效果。
GroupElement 确定组中相邻文本元素间的连字级别。如果组的 elementFormat 为 null,则使用相邻元素中第一个元素的格式。
TextElement 确定文本元素中字符间的连字级别。



实现
    public function get ligatureLevel():String
    public function set ligatureLevel(value:String):void

引发
ArgumentError — 如果设置的值不是 flash.text.engine.LigatureLevel 的成员。
 
IllegalOperationError — 如果在锁定 ElementFormat 对象(locked 为 true)之后进行设置。

另请参见

locale属性 
locale:String  [读写]

语言版本: ActionScript 3.0
运行时版本: Flash Player 10, AIR 1.5

文本的区域设置。控制大小写转换和形状。使用标准区域设置标识符。例如,"en"、"en_US" 和 "en-US" 均表示英语,"ja" 表示日语。

默认值为 "en"。

子类设置属性的效果
GraphicElement 没有任何效果。
GroupElement 没有任何效果。
TextElement 确定元素中文本的转换和形状。



实现
    public function get locale():String
    public function set locale(value:String):void

引发
IllegalOperationError — 如果在锁定 ElementFormat 对象(locked 为 true)之后进行设置。
locked属性 
locked:Boolean  [读写]

语言版本: ActionScript 3.0
运行时版本: Flash Player 10, AIR 1.5.

指示 ElementFormat 是否已锁定。如果为 true,将无法修改 ElementFormat。调用 ElementFormat.clone() 获取 ElementFormat 对象的没有锁定的副本。



实现
    public function get locked():Boolean
    public function set locked(value:Boolean):void

引发
IllegalOperationError — 如果在锁定 ElementFormat 对象(locked 为 true)之后进行设置。
textRotation属性 
textRotation:String  [读写]

语言版本: ActionScript 3.0
运行时版本: Flash Player 10, AIR 1.5

设置应用于各个字型的旋转。对此属性使用 flash.text.engine.TextRotation 常量。

默认值为 flash.text.engine.TextRotation.AUTO。

任何字型的最终旋转均为 ElementFormat.textRotation、ContentElement.textRotation 与 TextBlock.lineRotation 之和。

应用 ElementFormat.textRotation 的一种典型情况是亚洲文字,亚洲文字的字符必须进行旋转才能在垂直布局中正确显示,此时,需要将 flash.text.engine.TextRotation.AUTO 值与 TextBlock.lineRotation = flash.text.engine.ROTATE_90 结合使用。

对不包含垂直布局信息的字体设置此属性可能会产生不良结果。包含 vmtx 或 VORG 表的字体(例如日文字体“MS Mincho”)将可以正常工作,因为这些表提供了布局引擎执行正确布局所需的数据。而未包含必要信息的字体(例如 Verdana)则不能正常工作。

若要设置此属性的值,请使用下列字符串值:

字符串值Description
TextRotation.ROTATE_0 不旋转字型。
TextRotation.ROTATE_90 将字型顺时针旋转 90 度。
TextRotation.ROTATE_180 将字型旋转 180 度。
TextRotation.ROTATE_270 将字型顺时针旋转 270 度。
TextRotation.AUTO 指定仅将全角和宽字型沿逆时针方向旋转 90 度,这是由字型的 Unicode 属性确定的。此值通常与亚洲文字一起使用,以便仅旋转那些需要旋转的字型。此旋转仅应用在垂直文本中,以将全角字符和宽字符返回到垂直方向,而不会影响其他的字符。

子类设置属性的效果
GraphicElement 没有任何效果。
GroupElement 没有任何效果。
TextElement 确定文本元素中字型的旋转。



实现
    public function get textRotation():String
    public function set textRotation(value:String):void

引发
ArgumentError — 如果设置的值不是 flash.text.engine.TextRotation 的成员。
 
IllegalOperationError — 如果在锁定 ElementFormat 对象(locked 为 true)之后进行设置。

另请参见

trackingLeft属性 
trackingLeft:Number  [读写]

语言版本: ActionScript 3.0
运行时版本: Flash Player 10, AIR 1.5.

应用到每个字型左侧的间距或手动字距调整(以像素为单位)。如果启用 kerning,则会将 trackingLeft 值与字体字距微调表中的值相加。如果禁用 kerning,则使用 trackingLeft 值作为手动字距调整值。同时支持正值和负值。

通常,在 trackingRight 与 trackingLeft 之间拆分所需的间距值。否则,在混合方向文本中,一个双向边界处间距加倍,而另一个双向边界处不存在间距。

默认值为 0.0。

子类设置属性的效果
GraphicElement 确定应用到图形左侧的间距。
GroupElement 没有任何效果。
TextElement 确定应用到文本元素中字符左侧的间距。

示例:

//positive tracking added to kerning
       var ef1:ElementFormat = new ElementFormat();
       ef1.kerning = flash.text.engine.Kerning.ON;
       ef1.trackingLeft = 0.5;
         //negative manual kerning
       var ef2:ElementFormat = new ElementFormat();
       ef2.kerning = flash.text.engine.Kerning.OFF;
       ef2.trackingLeft = -1.0;



实现
    public function get trackingLeft():Number
    public function set trackingLeft(value:Number):void

引发
IllegalOperationError — 如果在锁定 ElementFormat 对象(locked 为 true)之后进行设置。
trackingRight属性 
trackingRight:Number  [读写]

语言版本: ActionScript 3.0
运行时版本: Flash Player 10, AIR 1.5.

应用到每个字型右侧的间距或手动字距调整(以像素为单位)。如果启用 kerning,则会将 trackingRight 值与字体字距微调表中的值相加。如果禁用 kerning,则使用 trackingRight 值作为手动字距调整值。同时支持正值和负值。

通常,在 trackingRight 与 trackingLeft 之间拆分所需的间距值。否则,在混合方向文本中,一个双向边界处间距加倍,而另一个双向边界处不存在间距。

默认值为 0.0。

子类设置属性的效果
GraphicElement 确定应用到图形右侧的间距。
GroupElement 没有任何效果。
TextElement 确定应用到文本元素中字符右侧的间距。

示例:

//positive tracking added to kerning
       var ef1:ElementFormat = new ElementFormat();
       ef1.kerning = flash.text.engine.Kerning.ON;
       ef1.trackingRight = 0.5;
         //negative manual kerning
       var ef2:ElementFormat = new ElementFormat();
       ef2.kerning = flash.text.engine.Kerning.OFF;
       ef2.trackingRight = -1.0;



实现
    public function get trackingRight():Number
    public function set trackingRight(value:Number):void

引发
IllegalOperationError — 如果在锁定 ElementFormat 对象(locked 为 true)之后进行设置。
typographicCase属性 
typographicCase:String  [读写]

语言版本: ActionScript 3.0
运行时版本: Flash Player 10, AIR 1.5

用于此文本的印刷大小写。对此属性使用 flash.text.engine.TypographicCase 常量。

默认值为 flash.text.engine.TypographicCase.DEFAULT。

若要设置此属性的值,请使用下列字符串值:

字符串值Description
TypographicCase.DEFAULT 对文本应用默认印刷大小写。
TypographicCase.TITLE 指定大写字符在输出时使用标题字型。
TypographicCase.CAPS 指定在输出时调整大写字符的间距。
TypographicCase.SMALL_CAPS 指定大写字符在输出时使用小型大写字母字型。
TypographicCase.UPPERCASE 指定所有字符在输出时都使用大写字型。
TypographicCase.LOWERCASE 指定所有字符在输出时都使用小写字型。
TypographicCase.CAPS_AND_SMALL_CAPS 指定所有小写字符在输出时都使用小型大写字母字型。

子类设置属性的效果
GraphicElement 没有任何效果。
GroupElement 没有任何效果。
TextElement 确定用于元素中的文本的印刷大小写。



实现
    public function get typographicCase():String
    public function set typographicCase(value:String):void

引发
ArgumentError — 如果设置的值不是 flash.text.engine.TypographicCase 的成员。
 
IllegalOperationError — 如果在锁定 ElementFormat 对象(locked 为 true)之后进行设置。

另请参见

构造函数详细信息
ElementFormat()构造函数
public function ElementFormat(fontDescription:FontDescription = null, fontSize:Number = 12.0, color:uint = 0x000000, alpha:Number = 1.0, textRotation:String = "auto", dominantBaseline:String = "roman", alignmentBaseline:String = "useDominantBaseline", baselineShift:Number = 0.0, kerning:String = "on", trackingRight:Number = 0.0, trackingLeft:Number = 0.0, locale:String = "en", breakOpportunity:String = "auto", digitCase:String = "default", digitWidth:String = "default", ligatureLevel:String = "common", typographicCase:String = "default")

语言版本: ActionScript 3.0
运行时版本: Flash Player 10, AIR 1.5

创建 ElementFormat 对象。

参数
fontDescription:FontDescription (default = null) — 标识要与此元素格式一起使用的字体的 FontDescription 对象。默认值为 null。如果未提供字体说明,则构造默认字体说明。
 
fontSize:Number (default = 12.0) — 文本的大小,以像素为单位。
 
color:uint (default = 0x000000) — 文本的颜色。一个包含三个 8 位 RGB 分量的数字;例如,0xFF0000 为红色,0x00FF00 为绿色。
 
alpha:Number (default = 1.0) — 基于元素格式应用于所有行原子的 alpha 属性。
 
textRotation:String (default = "auto") — 应用于各个字型的旋转。对此属性使用 flash.text.engine.TextRotation 常量。
 
dominantBaseline:String (default = "roman") — 文本中的字型紧贴到的基线。对此属性使用 flash.text.engine.TextBaseline 常量。
 
alignmentBaseline:String (default = "useDominantBaseline") — 字型所在行上的基线,主要基线将贴紧到此基线。对此属性使用 flash.text.engine.TextBaseline 常量。
 
baselineShift:Number (default = 0.0) — 文本的基线偏移,以像素为单位。
 
kerning:String (default = "on") — 用于此文本的字距调整。使用 flash.text.engine.Kerning。
 
trackingRight:Number (default = 0.0) — 应用到每个字型右侧的间距或手动字距调整(以像素为单位)。
 
trackingLeft:Number (default = 0.0) — 应用到每个字型左侧的间距或手动字距调整(以像素为单位)。
 
locale:String (default = "en") — 文本的区域设置。
 
breakOpportunity:String (default = "auto") — 就用于此文本的换行。对此属性使用 flash.text.engine.BreakOpportunity 常量。
 
digitCase:String (default = "default") — 用于此文本的数字大小写。对此属性使用 flash.text.engine.DigitCase 常量。
 
digitWidth:String (default = "default") — 用于此文本的数字宽度。对此属性使用 flash.text.engine.DigitWidth 常量。
 
ligatureLevel:String (default = "common") — 用于此文本的连字级别。对此属性使用 flash.text.engine.LigatureLevel 常量。
 
typographicCase:String (default = "default") — 用于此文本的印刷大小写。对此属性使用 flash.text.engine.TypographicCase 常量。

引发
ArgumentError — 指定的 fontSize 小于 0。
 
ArgumentError — 指定的 textRotation 不是 flash.text.engine.TextRotation 的成员。
 
ArgumentError — 指定的 dominantBaseline 不是 flash.text.engine.TextBaseline 的成员。
 
ArgumentError — 指定的 alignmentBaseline 不是 flash.text.engine.TextBaseline 的成员。
 
ArgumentError — 指定的 kerning 不是 flash.text.engine.Kerning 的成员。
 
ArgumentError — 指定的 breakOpportunity 不是 flash.text.engine.BreakOpportunity 的成员。
 
ArgumentError — 指定的 digitCase 不是 flash.text.engine.DigitCase 的成员。
 
ArgumentError — 指定的 digitWidth 不是 flash.text.engine.DigitWidth 的成员。
 
ArgumentError — 指定的 ligatureLevel 不是 flash.text.engine.LigatureLevel 的成员。
 
ArgumentError — 指定的 typographicCase 不是 flash.text.engine.TypographicCase 的成员。
方法详细信息
clone()方法
public function clone():ElementFormat

语言版本: ActionScript 3.0
运行时版本: Flash Player 10, AIR 1.5

构造 ElementFormat 的没有锁定的克隆副本。

返回
ElementFormat — ElementFormat 对象的没有锁定的副本。

示例

此示例创建了一个 ElementFormat 对象并设置了 FontSize。使用 ElementFormat 创建新的 TextElement(因此锁定它),并将 TextElement 用作 TextBlock 的内容。从 TextBlock 创建的文本行。

若要修改 ElementFormat 对象,请首先检查其 locked 属性。如果为 true,则使用 clone() 方法创建 ElementFormat 的没有锁定的副本,更改其属性,然后将此新的 ElementFormat 重新链接到 TextBlock。重新断开这些行后,新行将具有新的字体设置。

package {

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

    
    public class ElementFormat_cloneExample extends Sprite {
        private var ef1:ElementFormat;
        private var ef2:ElementFormat;
        
        public function ElementFormat_cloneExample():void {
            var fd:FontDescription = new FontDescription();
            fd.fontLookup = flash.text.engine.FontLookup.DEVICE;
            fd.fontName = "Palatino";

            var ef1:ElementFormat = new ElementFormat(fd);
            ef1.fontSize=20;
            
            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);
            
            ef2 = (ef1.locked) ? ef1.clone() : ef1;    
            ef2.fontSize = 32;

            tb.content.elementFormat=ef2;
            var line2:TextLine = tb.createTextLine(null, 600);
            addChild(line2);
            
        }
    }    
}
getFontMetrics()方法 
public function getFontMetrics():FontMetrics

语言版本: ActionScript 3.0
运行时版本: Flash Player 10, AIR 1.5

返回一个 FontMetrics 对象,该对象的属性说明由 fontDescription 和 fontSize 指定的字体的全角字框、删除线位置、删除线粗细、下划线位置和下划线粗线。

返回
FontMetrics — 说明由 fontDescription 指定的字体的属性的 FontMetrics 对象。

另请参见


示例

此示例创建了一个具有指定的 FontDescription 的 ElementFormat 对象并使用 getFontMetrics 方法显示所选字体的度量。
package {

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

    
    public class FontMetricsExample extends Sprite {
        
        public function FontMetricsExample():void {
            var fd:FontDescription = new FontDescription();
            fd.fontName = "Garamond";
            fd.fontWeight = flash.text.engine.FontWeight.BOLD;

            var ef1:ElementFormat = new ElementFormat(fd);
            var fm1:FontMetrics = ef1.getFontMetrics();
            trace(fm1.emBox);
            trace(fm1.strikethroughOffset);
            trace(fm1.strikethroughThickness);
            trace(fm1.subscriptScale);
            trace(fm1.subscriptOffset);
            trace(fm1.superscriptScale);
            trace(fm1.superscriptOffset);
            trace(fm1.underlineOffset);
            trace(fm1.underlineThickness);
            
            
        }
    }    
}
示例 如何使用示例
ElementFormatExample.as

此示例创建了两个 ElementFormat 对象并设置了它们的一些属性。然后,该示例将新的 ElementFormat 分配给 TextElement 对象,该对象已经被指定为 TextBlock 的内容。请注意,更改 TextElement 的 ElementFormat 不会影响父 TextBlock 以前创建的 TextLine。

package {

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

    
    public class ElementFormatExample extends Sprite {
        
        public function ElementFormatExample():void {
            var fd:FontDescription = new FontDescription();
            fd.fontName = "Garamond";
            fd.fontWeight = flash.text.engine.FontWeight.BOLD;

            var ef1:ElementFormat = new ElementFormat(fd);
            ef1.fontSize = 30;
            ef1.color = 0xFF0000;
            ef1.alpha = 100;
            ef1.kerning = flash.text.engine.Kerning.ON;
            ef1.trackingRight = 2;
            ef1.typographicCase = flash.text.engine.TypographicCase.UPPERCASE;
            ef1.alignmentBaseline = flash.text.engine.TextBaseline.DESCENT;
            ef1.ligatureLevel = flash.text.engine.LigatureLevel.EXOTIC;
            
            var ef2:ElementFormat = new ElementFormat(fd);
            ef2.fontSize = 30;
            ef2.color = 0xFF0000;
            ef2.alpha = 0.3;
            ef2.kerning = flash.text.engine.Kerning.OFF;
            ef2.typographicCase = flash.text.engine.TypographicCase.LOWERCASE;
            ef2.digitCase = flash.text.engine.DigitCase.OLD_STYLE;
            ef2.textRotation = flash.text.engine.TextRotation.ROTATE_180;
            
            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);
            line1.x = 15;
            line1.y = 30;

            tb.content.elementFormat = ef2;
            var line2:TextLine = tb.createTextLine(null, 600);
            addChild(line2);
            line2.x = 15;
            line2.y = 60;
            
        }
    }    
}