2

我正在使用以下代码创建一个文本字段:

window_title = p.createTextField("border"+diepixWindow.NextBorderDepth, p.getNextHighestDepth(), wx1+TITLE_OFFSETX, wy1+TITLE_OFFSETY, ww, 64);
var fformat:TextFormat = new TextFormat();
fformat.font = "TF2 构建";
fformat.size = 36;
window_title.setTextFormat(fformat);
window_title.setNewTextFormat(fformat);

但问题是,如果客户端没有“TF2 Build”字体,字体将是Times New Roman。
我想知道将字体附加到 .swf 文件。

4

2 回答 2

3

这将解决它:

window_title.embedFonts = true;

不过,您还需要将字体实际嵌入到 swf 文件中。如果您使用的是 Flash 应用程序,请在属性窗口中设置字体,然后选中嵌入框。如果您使用的是 mxmlc,则可以使用 @Embed 嵌入字体。

请参阅此处: http: //www.adobe.com/devnet/flash/quickstart/embedding_fonts/

于 2010-01-05T21:15:21.110 回答
2

如果您的目标是 FP10+,您也可以在纯 AS3 中使用嵌入元标记。例如,在一个类中添加:

[Embed(source="C:\WINDOWS\Fonts\myfontfile.ttf", fontFamily="myFont")]

然后...

TextField.embedFonts = true;
myTextFormat.font = "myFont";

在这里查看一个很好的例子: http: //marumushi.com/news/embedding-fonts-in-as3 任何避免库字体链接巫毒的方法都是一个不错的选择。哦,请确保您的字体文件是可接受的字体格式。

于 2010-01-05T21:45:26.463 回答