0

这个问题真的要了我的命,所以任何帮助都会非常棒:)

我有一个加载 flex 模块的 flex 4 应用程序。在这个模块中,我“注册”了一堆字体。我在这个模块中有一个 Spark textArea,它希望通过使用以下方法创建的文本流来使用其中一种字体:


textArea.textFlow = TextConverter.importToFlow(htmlText, TextConverter.TEXT_FIELD_HTML_FORMAT);

我使用以下方法“注册”字体:


[Embed(source='/assets/fonts/book/HogarthScrD-Regular.ttf', embedAsCFF="true",fontName='HogarthScrD')] 
public static var _HogarthScrD:Class;

html文本在哪里:


  var htmlText:String = "<TEXTFORMAT LEADING="2"><P ALIGN="CENTER"><FONT FACE="HogarthScrD" SIZE="19" COLOR="#000000" LETTERSPACING="0" KERNING="0"><B>My html Text</B></FONT></P></TEXTFORMAT>";

我知道字体“HogarthScrD”作为对 Font.enumerateFonts() 数组的调试存在;告诉我'HogarthScrD'是元素之一并且是cff类型

我已经阅读了大量有关此的文档,但未能找到解决方案:(我阅读了这篇文章:http: //blogs.adobe.com/aharui/2010/03/flex_and_embedded_fonts.html 虽然我明白它在说什么不知道我知道如何实现这个......即使有人可以指出我的例子也会很有用!

我在想这是因为它是从 HTML 文本导入的,所以我只是输入了一些文本并使用了也不起作用的嵌入字体。

提前一百万谢谢!

4

1 回答 1

1

好的,我得到了这个工作。这个问题要小得多。他们从来没有!HTML 是一个字符串这一事实导致了问题。如果我使用相同的“字符串”但作为 XML 类型它工作得很好..

因此,而不是我之前所拥有的,只需将类型更改为 XML 并去掉引号!


 var htmlText:XML =<TEXTFORMAT LEADING="2"><P ALIGN="CENTER"><FONT FACE="HogarthScrD" SIZE="19" COLOR="#000000" LETTERSPACING="0" KERNING="0"><B>My html Text</B></FONT></P></TEXTFORMAT>;

于 2010-11-22T21:52:39.743 回答