Flex:运行时字体加载

时间:2012-06-12 03:37:51

标签: flex mxml font-face

我已经使用3种不同的TTF字体测试了这个代码段,但我仍然无法在Flex中使用@font-face。我在这里错过了什么吗? 在url()上尝试了绝对和相对路径,没有变化。如果我使用任何标准字体(Arial,Verdana,Tahoma ......),会出现Hello World!文本,但是当我尝试使用任何外部字体时,都没有显示。

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="100%" height="100%">
 <mx:Style>
  @font-face {
      src: url(josefin-sans.ttf);
      fontFamily: JosefinSans;
  }

  .custom {
      fontFamily: JosefinSans;
      fontSize: 36pt;
  }
</mx:Style>
<mx:Text id="text" styleName="custom" text="Hello World!" />

编译:

mxmlc -static-link-runtime-shared-libraries=true flex.mxml

1 个答案:

答案 0 :(得分:2)

在使用MX组件时,应该使用embedAsCFF: false;标志嵌入字体。

@font-face
{
    src: url("josefin-sans.ttf");
    fontFamily: "JosefinSans";
    fontWeight: normal;
    embedAsCFF: false;
}

如果不起作用,请以调试模式启动应用程序并注意错误。另外,如果需要,请确保您使用的字体可以用粗体和斜体显示。