包 | mx.core |
类 | public class FontAsset |
继承 | FontAsset Font Object |
实现 | IFlexAsset |
嵌入的字体可以是 TrueType (TTF) 或 OpenType (OTF)。您还可以嵌入系统字体或由 Flash 生成的 SWF 文件中的字体。在上述任一情况下,MXML 编译器都会自动生成一个类,用于扩展 FontAsset 以提供嵌入的字体。
在写入 Flex 应用程序时,通常不直接使用 FontAsset 类。例如,您可以使用 font-face
CSS 选择器嵌入字体,而不必了解 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
来引用字体;例如,可以将 fontFamily
CSS 样式设置为字体名称(在本例中为 "Fancy"
),而不将其设置为 FontAsset 实例(如 fancyFont
)或 fancyClass
类引用。例如:
<mx:Label text="Thank you for your order." fontFamily="Fancy"/>
另请参见
方法 | 定义方 | ||
---|---|---|---|
构造函数。 | FontAsset | ||
[静态] 指定是否提供当前可用嵌入字体列表。 | Font | ||
指定能否使用当前指定的字体显示提供的字符串。 | Font | ||
指示对象是否已经定义了指定的属性。 | Object | ||
指示 Object 类的实例是否在指定为参数的对象的原型链中。 | Object | ||
指示指定的属性是否存在、是否可枚举。 | Object | ||
[静态] 在全局字体列表中注册一个字体类。 | Font | ||
设置循环操作动态属性的可用性。 | Object | ||
返回指定对象的字符串表示形式。 | Object | ||
返回指定对象的原始值。 | Object |
FontAsset | () | 构造函数 |
public function FontAsset()
构造函数。