| 包 | flash.text.engine |
| 类 | public final class FontDescription |
| 继承 | FontDescription Object |
| 语言版本: | ActionScript 3.0 |
| 运行时版本: | Flash Player 10, AIR 1.5, Flash Lite 4 |
FontDescription 对象应用于 ElementFormat,后者又应用于 TextBlock 中的 ContentElement。将 FontDescription 应用于 ElementFormat 后,其 locked 属性将设置为 true。无法更改已锁定 FontDescription 对象的属性。相反,可以使用 clone() 方法创建此对象的没有锁定的副本,可以对此副本进行修改并将其分配给 ElementFormat。
注意: FTE(Flash 文本引擎)不支持 Type 1 字体或 Type 3、ATC、sfnt 换行 CID 或 Naked CID 等位图字体。
相关 API 元素
| 属性 | 由以下参数定义 | ||
|---|---|---|---|
| cffHinting : String
用于此文本的 CFF 提示的类型。 | FontDescription | ||
![]() | constructor : Object
对类对象或给定对象实例的构造函数的引用。 | Object | |
| fontLookup : String
指定应该如何查找字体。 | FontDescription | ||
| fontName : String
要使用的字体的名称或用逗号分隔的字体名称列表。 | FontDescription | ||
| fontPosture : String
指定字体形态。 | FontDescription | ||
| fontWeight : String
指定字体粗细。 | FontDescription | ||
| locked : Boolean
表示 FontDescription 是否已经锁定。 | FontDescription | ||
| 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 | ||
![]() |
表示对象是否已经定义了指定的属性。 | Object | |
[静态]
如果可用的设备字体可与指定的 fontName、fontWeight 和 fontPosture 配合使用,则返回 true。 | FontDescription | ||
[静态]
如果使用指定的 fontName、fontWeight 和 fontPosture(其中的 Font.fontType 为 flash.text.FontType.EMBEDDED_CFF)的嵌入字体可用,则将返回 true。 | FontDescription | ||
![]() |
表示 Object 类的实例是否在指定为参数的对象的原型链中。 | Object | |
![]() |
表示指定的属性是否存在、是否可枚举。 | Object | |
![]() |
设置循环操作动态属性的可用性。 | Object | |
![]() |
返回此对象的字符串表示形式,其格式设置遵守区域设置特定的约定。 | Object | |
![]() |
返回指定对象的字符串表示形式。 | Object | |
![]() |
返回指定对象的原始值。 | Object | |
cffHinting | 属性 |
cffHinting:String| 语言版本: | ActionScript 3.0 |
| 运行时版本: | Flash Player 10, AIR 1.5, Flash Lite 4 |
用于此文本的 CFF 提示的类型。对此属性使用 CFFHinting 常量。仅在文本的 RenderingMode 属性设置为 RenderingMode.CFF 时才应用此属性。
使用的 CFF(压缩字体格式)提示的类型决定 Flash 运行时强制粗水平线是否适合子像素网格。
仅适用于嵌入字体。
默认值为 CFFHinting.HORIZONTAL_STEM。
对于 CFFHinting 属性,您可以使用 CFFHinting 类中的下列常量:
| 字符串值 | 说明 |
|---|---|
CFFHinting.NONE | 不指定任何 CFF 提示。对子像素网格不强制在字型中使用水平线。此设置适合动画或大号字。 |
CFFHinting.HORIZONTAL_STEM | 指定 CFF 提示。粗水平线适合屏幕上的子像素网格。要使用此设置,RenderingMode 属性必须设置为 RenderingMode.CFF。 |
实现
public function get cffHinting():String public function set cffHinting(value:String):void引发
ArgumentError — 如果设置的任何值不是 CFFHinting 的成员。
| |
IllegalOperationError — 如果在锁定 FontDescription 对象(locked 为 true)之后进行设置。
|
相关 API 元素
fontLookup | 属性 |
fontLookup:String| 语言版本: | ActionScript 3.0 |
| 运行时版本: | Flash Player 10, AIR 1.5, Flash Lite 4 |
指定应该如何查找字体。
默认值为 FontLookup.DEVICE。
要设置此属性的值,请使用下列字符串值:
| 字符串值 | 说明 |
|---|---|
FontLookup.DEVICE | 运行时在本地系统上查找具有指定 name 的、用于呈现文本的设备字体。 |
FontLookup.EMBEDDED_CFF | 运行时查找具有指定 name 的、用于呈现文本的嵌入 CFF 字体。仅考虑类型为 flash.text.Font.fontType.EMBEDDED_CFF 的字体。如果指定的 CFF 字体未嵌入应用程序中,则运行时将尝试在各个字形中使用回退设备字体。此方法没有首先选择设备字体的效率高。 |
实现
public function get fontLookup():String public function set fontLookup(value:String):void引发
IllegalOperationError — 如果在锁定 FontDescription 对象(locked 为 true)之后进行设置。
|
相关 API 元素
fontName | 属性 |
fontName:String| 语言版本: | ActionScript 3.0 |
| 运行时版本: | Flash Player 10, AIR 1.5 |
要使用的字体的名称或用逗号分隔的字体名称列表。运行时使用列表中的第一个可用字体呈现元素。例如“Arial, Helvetica, _sans”使播放器搜索 Arial,如果找不到 Arial,则搜索 Helvetica,如果这两种字体都找不到,则最后搜索 _sans。
Flash 运行时支持三种通用设备字体名称:sans(对于 sans serif 字体)、_serif(对于 serif 字体)和 _typewriter(对于 mono-space 字体)。这些字体将映射到特定的设备字体,具体取决于平台。
默认值为 "_serif"。
Flash 运行时为所选字体中没有的字形提供字体回退。无论是正在使用的已嵌入字体还是设备,如果字体中没有字形,则运行时将很有可能尝试使用其他设备呈现以包含此字形。
实现
public function get fontName():String public function set fontName(value:String):void引发
IllegalOperationError — 如果在锁定 FontDescription 对象(locked 为 true)之后进行设置。
|
相关 API 元素
fontPosture | 属性 |
fontPosture:String| 语言版本: | ActionScript 3.0 |
| 运行时版本: | Flash Player 10, AIR 1.5, Flash Lite 4 |
指定字体形态。
默认值为 FontPosture.NORMAL。
要设置此属性的值,请使用 FontPosture 类中的下列常量:
| 值 | 说明 |
|---|---|
FontPosture.NORMAL | 标准字体形态。 |
FontPosture.ITALIC | 斜体字体形态。 |
实现
public function get fontPosture():String public function set fontPosture(value:String):void引发
ArgumentError — 如果设置的任何值不是 FontPosture 的成员。
| |
IllegalOperationError — 如果在锁定 FontDescription 对象(locked 为 true)之后进行设置。
|
相关 API 元素
fontWeight | 属性 |
fontWeight:String| 语言版本: | ActionScript 3.0 |
| 运行时版本: | Flash Player 10, AIR 1.5, Flash Lite 4 |
指定字体粗细。
默认值为 FontWeight.NORMAL。
要设置此属性的值,请使用 FontWeight 类中的下列常量:
| 字符串值 | 说明 |
|---|---|
FontWeight.NORMAL | 标准字体的粗细。 |
FontWeight.BOLD | 粗体字体的粗细。 |
实现
public function get fontWeight():String public function set fontWeight(value:String):void引发
ArgumentError — 如果设置的任何值不是 FontWeight 的成员。
| |
IllegalOperationError — 如果在锁定 FontDescription 对象(locked 为 true)之后进行设置。
|
相关 API 元素
locked | 属性 |
locked:Boolean| 语言版本: | ActionScript 3.0 |
| 运行时版本: | Flash Player 10, AIR 1.5., Flash Lite 4 |
表示 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 |
| 运行时版本: | Flash Player 10, AIR 1.5, Flash Lite 4 |
用于此文本的呈现模式。对此属性使用 RenderingMode 常量。
仅适用于嵌入字体。
默认值为 RenderingMode.CFF。
要设置此属性的值,请使用 RenderingMode 类中的下列常量:
| 字符串值 | 说明 |
|---|---|
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 — 如果设置的任何值不是 RenderingMode 的成员。
| |
IllegalOperationError — 如果在锁定 FontDescription 对象(locked 为 true)之后进行设置。
|
相关 API 元素
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 |
| 运行时版本: | Flash Player 10, AIR 1.5, Flash Lite 4 |
创建一个 FontDescription 对象。
参数fontName:String (default = "_serif") — 要使用的字体的名称或用逗号分隔的字体名称列表。
| |
fontWeight:String (default = "normal") — 指定字体粗细。
| |
fontPosture:String (default = "normal") — 指定字体形态。
| |
fontLookup:String (default = "device") — 指定如何查找字体。
| |
renderingMode:String (default = "cff") — 用于此文本的呈现模式。对此属性使用 RenderingMode 常量。
| |
cffHinting:String (default = "horizontalStem") — 用于此文本的 CFF(压缩字体格式)提示的类型。对此属性使用 CFFHinting 常量。
|
引发
ArgumentError — 指定的 fontWeight 不是 FontWeight 的成员。
| |
ArgumentError — 指定的 fontPosture 不是 FontPosture 的成员。
| |
ArgumentError — 指定的 fontLookup 不是 FontLookup 的成员。
| |
ArgumentError — 指定的 renderingMode 不是 RenderingMode 的成员。
| |
ArgumentError — 指定的 cffHinting 不是 CFFHinting 的成员。
|
clone | () | 方法 |
public function clone():FontDescription| 语言版本: | ActionScript 3.0 |
| 运行时版本: | Flash Player 10, AIR 1.5, Flash Lite 4 |
构造 FontDescription 的没有锁定的克隆副本。
返回FontDescription — FontDescription 对象的没有锁定的副本。
|
示例 ( 如何使用本示例 )
此示例将创建一个 FontDescription 对象、将设备字体分配给该对象、设置各种字体属性并将新对象(因此锁定它)分配给 ElementFormat 对象。使用 ElementFormat 创建新的 TextElement,并将 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);
}
}
}
isDeviceFontCompatible | () | 方法 |
public static function isDeviceFontCompatible(fontName:String, fontWeight:String, fontPosture:String):Boolean| 语言版本: | ActionScript 3.0 |
| 运行时版本: | Flash Player 10.1, AIR 2 |
如果可用的设备字体可与指定的 fontName、fontWeight 和 fontPosture 配合使用,则返回 true。
flash.text.engine 类只能使用 OpenType 和 TrueType 设备字体。如果使用基于早期字体技术的字体,则运行时将回退到基于字形的已知设备字体以呈现文本
参数
fontName:String — 要检查的设备字体的名称。
| |
fontWeight:String — 指定字体粗细。使用 FontWeight。
| |
fontPosture:String — 指定字体形态。使用 FontPosture。
|
Boolean — 如果兼容的设备字体可用,则返回 true,否则,返回 false。
|
引发
ArgumentError — 指定的 fontWeight 不是 FontWeight 的成员。
| |
ArgumentError — 指定的 fontPosture 不是 FontPosture 的成员。
|
相关 API 元素
isFontCompatible | () | 方法 |
public static function isFontCompatible(fontName:String, fontWeight:String, fontPosture:String):Boolean| 语言版本: | ActionScript 3.0 |
| 运行时版本: | Flash Player 10, AIR 1.5, Flash Lite 4 |
如果使用指定的 fontName、fontWeight 和 fontPosture(其中 Font.fontType 为 flash.text.FontType.EMBEDDED_CFF)的嵌入字体可用,则将返回 true。从 Flash Player 10 开始,两种嵌入字体可显示在应用程序内容中。标准的嵌入字体只能由 TextField 使用。CFF 嵌入字体只能由 flash.text.engine 类使用。两种类型由 enumerateFonts() 函数返回的 Font 类的 fontType 属性加以区分。
flash.text.engine 类不能使用 EMBEDDED 类型的字体。如果 fontLookup 设置为 FontLookup.EMBEDDED_CFF 并且运行时唯一可用的具有指定名称、粗细和形态的字体的类型为 EMBEDDED,则运行时将回退到基于字形的设备字体以呈现文本,就如同没有任何可用的具有指定名称和样式的嵌入字体。
如果具有相同名称、粗细和形态的 EMBEDDED 和 EMBEDDED_CFF 字体均可用,则将选择 EMBEDDED_CFF 字体并使用 EMBEDDED_CFF 字体呈现文本。
参数
fontName:String — 要检查的嵌入字体的名称。
| |
fontWeight:String — 指定字体粗细。使用 FontWeight。
| |
fontPosture:String — 指定字体形态。使用 FontPosture。
|
Boolean — 如果兼容的嵌入字体可用,则为 true;否则为 false。
|
引发
ArgumentError — 指定的 fontWeight 不是 FontWeight 的成员。
| |
ArgumentError — 指定的 fontPosture 不是 FontPosture 的成员。
|
相关 API 元素
此示例将创建一个 FontDescription 对象、将设备字体分配给该对象、设置各种字体属性并将新对象分配给 ElementFormat 对象。附加字体格式设置是在 ElementFormat 中完成的。使用 ElementFormat 创建新的 TextElement,并将 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);
}
}
}
Tue Jun 12 2018, 11:04 AM Z
隐藏继承的公共属性
显示继承的公共属性