Flash Pro - AS3 嵌入字体未显示在 iOS 中的按钮标签上

Flash Pro - AS3 embeded font not Showing up on Button Label in iOS

所以我有一个烦人的问题,我无法解决。我正在为 iOS 在 Flash Pro/AS3 中创建一个应用程序。我有一个按钮,我想更改其标签字体:

var ButtonTextFormat:TextFormat = new TextFormat("Showcard Gothic", 120);
//ButtonTextFormat.size         = 120;
//ButtonTextFormat.font         = "Showcard Gothic";
//ButtonTextFormat.embedFonts           = true;
ButtonTextFormat.color          = 0x00FF00;
//ButtonTextFormat.embedFonts = true;
SMButton.label                  = "PUSHME!";
SMButton.setStyle("textFormat", ButtonTextFormat);

我刚刚使用了 Flash 组件工具箱中的标准按钮。 它在调试期间显示正确,但一旦加载到 iPhone,标签就会更改为默认字体。

我确实通过 Text>Font Embedding... 嵌入了所需的字体,它适用于我拥有的文本字段,但为什么按钮标签不行?

我试过 ButtonTextFormat.embedFonts = true; 但我收到错误消息:

1119: Access of possibly undefined property embedFonts through a reference with static type flash.text:TextFormat.

如有任何帮助,我们将不胜感激。谢谢。

embedFonts 属性 适用于 TextField class,不适用于 TextFormat class.

按照此说明正确嵌入和使用您的嵌入字体Embedding Fonts for Components in Flash

我最近遇到了同样的问题。对于组件,您必须使用 .setStyle() 方法设置 embedFonts。

SMButton.setStyle("fontFamily", "Showcard Gothic");
SMButton.setStyle("embedFonts", true);

在 Flash IDE 中,您可能需要将字体添加到库中,然后导出为 ActionScript。例如 class 名称 "TreasureMapDeadhand"。

然后在你的文档中class:

import flash.text.Font;

Font.registerFont(TreasureMapDeadhand);

如果你多次链接你的字体,另一个选择是将你的字体存储在 public 变量中。

public var f:Font = new TreasureMapDeadhand();

SMButton.setStyle("fontFamily", f.fontName);
SMButton.setStyle("embedFonts", true);

无论如何,我希望这对您有所帮助!