Flex:在运行时嵌入字体只能在本地使用吗?

时间:2010-09-24 11:43:44

标签: flex3 fonts format embedding

我正在尝试更改从.swf获取的TextField中的文本格式。我将我的字体嵌入myFont.swf:

public class TemplateFont扩展Sprite     {         [Embed(source ='.. / fontFiles / geogrotesque / Geogrotesque-Regular.ttf',fontName ='theFontName')]         public static var FONT_TEXT:Class;     }

然后我将它加载到我需要的地方并注册它:

var FontLibrary:Class = e.target.applicationDomain.getDefinition(“TemplateFont”)as Class; Font.registerFont(FontLibrary.FONT_TEXT);

然后我正在尝试将格式设置为我的Textfield: txtTitle.embedFonts = true; txtTitle.antiAliasType = AntiAliasType.ADVANCED; var titleFormat:TextFormat = txtTitle.getTextFormat(); // TextFormat在swf中设置,只是想在运行时更改字体。

titleFormat.font =“theFontName; txtTitle.htmlText = title; //来自xml与CDATA合作 txtTitle.defaultTextFormat = titleFormat; txtTitle.setTextFormat(titleFormat);

当我在计算机上运行时,这一切都正常,但是一旦我将文件放在服务器上,就没有任何显示。当我跟踪TextField的htmlText时,它看起来很好,但没有显示任何文本。我也跟踪注册的字体,看它们在那里,它们是。

有人知道吗?

1 个答案:

答案 0 :(得分:-1)

两件事:

  1. 此字体的EULA不允许将字体上传到服务器。
  2. 你有Geogrotesque的合法副本吗?我们只销售开放式格式(OT),但不销售True Type(TTF)。
  3. 如果您对此有疑问,请与Emtype联系。

相关问题