0

我正在尝试嵌入字体以与我使用下面的代码扩展的 TextArea 一起使用,但它不起作用。我之前已将此代码与 TextFlow 对象一起使用,然后使用 flowComposer 设置容器,但我无法让它与 TextArea 一起使用。

当使用下面的代码并使用 setText 设置文本时,我得到的只是 Times New Roman 字体。(其他一切正常)

<s:TextArea ... >

...

<fx:Style>

    @font-face {
     src: url("./fonts/arial.ttf");
     font-family: ArialEmbedded;
   }

</fx:Style>

...

public function setText(text:String):void 
{
  var format:TextLayoutFormat = new TextLayoutFormat();
  format.color = 0x000000;
  format.renderingMode = RenderingMode.CFF;
  format.fontLookup = FontLookup.EMBEDDED_CFF;

  var config:Configuration = new Configuration();
  config.textFlowInitialFormat = format;     

  textFlow = TextConverter.importToFlow(text, TextConverter.TEXT_LAYOUT_FORMAT, config);
  textFlow.interactionManager = new EditManager(); 
}  

</s:TextArea>
4

2 回答 2

0

我想你应该将 embedAsCFF 设置为 true。从 spark 组件开始,文本相关的组件重新基于 Flash Player 10 的文本渲染引擎(FTE)。

http://blog.flexexamples.com/2008/10/15/embedding-fonts-in-flex-gumbo/

于 2010-07-15T01:39:05.097 回答
0

我在 TextArea 和 TextInput 中看到了这种相同类型的行为。spark 组件不会渲染嵌入的字体。

于 2010-07-14T02:42:22.790 回答