mx.core
public class FontAsset
继承FontAsset Inheritance Font Inheritance Object
实现 IFlexAsset

FontAsset 是 flash.text.Font 类的子类,提供在 Flex 应用程序中嵌入的字体。

嵌入的字体可以是 TrueType (TTF) 或 OpenType (OTF)。您还可以嵌入系统字体或由 Flash 生成的 SWF 文件中的字体。在上述任一情况下,MXML 编译器都会自动生成一个类,用于扩展 FontAsset 以提供嵌入的字体。

在写入 Flex 应用程序时,通常不直接使用 FontAsset 类。例如,您可以使用 font-faceCSS 选择器嵌入字体,而不必了解 MXML 编译器已为您创建了 FontAsset 子类。

但是,了解在 ActionScript 级别发生了什么可能非常有用。要在 ActionScript 中嵌入字体,需要声明一个 Class 类型的变量,然后在其中放置 [Embed] 元数据。例如,您按如下方式嵌入了一个 TTF 文件:

[Embed(source="Fancy.ttf", fontName="Fancy")] 
  var fancyClass:Class;

MXML 编译器将 TTF 数据的代码转化为播放器使用的字体格式,然后自动生成一个 FontAsset 类的子类,并将变量设置为引用此自动生成的类。接着,您可以借助 new 运算符使用此类引用来创建 FontAsset 实例,还可以对其应用 Font 类的 API;例如:

var fancyFont:FontAsset = FontAsset(new fancyClass());
  var hasDigits:Boolean = fancyFont.hasGlyphs("0123456789");

但是,您基本不需要自己创建 FontAsset 实例,因为您使用在 [Embed] 元数据中指定的 fontName 来引用字体;例如,可以将 fontFamilyCSS 样式设置为字体名称(在本例中为 "Fancy"),而不将其设置为 FontAsset 实例(如 fancyFont)或 fancyClass 类引用。例如:

<mx:Label text="Thank you for your order." fontFamily="Fancy"/>

另请参见

flash.text.Font
About fonts
Using embedded fonts


公共属性
 属性定义方
 Inheritedconstructor : Object
对类对象或给定对象实例的构造函数的引用。
Object
 InheritedfontName : String
[只读 (read-only)] 嵌入字体的名称。
Font
 InheritedfontStyle : String
[只读 (read-only)] 字体的样式。
Font
 InheritedfontType : String
[只读 (read-only)] 字体的类型。
Font
 Inheritedprototype : Object
[静态] 对类或函数对象的原型对象的引用。
Object
公共方法
 方法定义方
  
构造函数。
FontAsset
 Inherited
enumerateFonts(enumerateDeviceFonts:Boolean = false):Array
[静态] 指定是否提供当前可用嵌入字体列表。
Font
 Inherited
指定能否使用当前指定的字体显示提供的字符串。
Font
 Inherited
指示对象是否已经定义了指定的属性。
Object
 Inherited
指示 Object 类的实例是否在指定为参数的对象的原型链中。
Object
 Inherited
指示指定的属性是否存在、是否可枚举。
Object
 Inherited
[静态] 在全局字体列表中注册一个字体类。
Font
 Inherited
设置循环操作动态属性的可用性。
Object
 Inherited
返回指定对象的字符串表示形式。
Object
 Inherited
返回指定对象的原始值。
Object
构造函数详细信息
FontAsset()构造函数
public function FontAsset()

构造函数。