Apache flex flex 4.5嵌入字体使textarea不可见

Apache flex flex 4.5嵌入字体使textarea不可见,apache-flex,flex4,flex4.5,Apache Flex,Flex4,Flex4.5,我的目标是在Flex应用程序中嵌入Arial字体。 我使用了MX和SPARK组件: <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:s="library://ns.adobe.com/flex/spark" width="100%" height="100%" > <mx:Style> @name

我的目标是在Flex应用程序中嵌入Arial字体。 我使用了MX和SPARK组件:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
xmlns:s="library://ns.adobe.com/flex/spark"
    width="100%" height="100%" >
<mx:Style>
@namespace s "library://ns.adobe.com/flex/spark";
@namespace mx "library://ns.adobe.com/flex/mx";

@font-face {
    src:url("assets/arial.ttf");
    fontFamily: Arial;
    embedAsCFF: true;
}
</mx:Style> 
<s:Button label="Button"/>
<mx:TextArea x="213" y="156" width="264" height="131" fontFamily="Arial"/>
</mx:Application>

@命名空间s“library://ns.adobe.com/flex/spark";
@名称空间mx“library://ns.adobe.com/flex/mx";
@字体{
src:url(“assets/arial.ttf”);
方特家族:Arial;
embedAsCFF:正确;
}
按钮显示良好。 但是textArea有空白字符。如果我将texteArea字体更改为Verdana(不嵌入),它可以正常工作

我的问题是:如何在Flex中为MX和SPARK组件嵌入字体


关于

您需要为MX和Spark组件指定单独的字体声明。只有Spark组件支持EmbeddeAsCff:true。看

下面,我将Spark字体声明命名为ArialCFF,并将s | Button fontFamily样式属性设置为ArialCFF。我还将全局默认fontFamily设置为Arial,将mx | TextArea fontFamily设置为Arial

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
xmlns:s="library://ns.adobe.com/flex/spark"
    width="100%" height="100%" >
<mx:Style>
@namespace s "library://ns.adobe.com/flex/spark";
@namespace mx "library://ns.adobe.com/flex/mx";

global {
    fontFamily: Arial;
}

@font-face {
    src:url("assets/arial.ttf");
    fontFamily: ArialCFF;
    embedAsCFF: true;
}

@font-face {
    src:url("assets/arial.ttf");
    fontFamily: Arial;
    embedAsCFF: false;
}

s|Button {
    fontFamily: ArialCFF;
}

mx|TextArea {
    fontFamily: Arial;
}

</mx:Style> 
<s:Button label="Button"/>
<mx:TextArea x="213" y="156" width="264" height="131"/>
</mx:Application>

@命名空间s“library://ns.adobe.com/flex/spark";
@名称空间mx“library://ns.adobe.com/flex/mx";
全球的{
方特家族:Arial;
}
@字体{
src:url(“assets/arial.ttf”);
丰特家族:阿里亚尔科夫;
embedAsCFF:正确;
}
@字体{
src:url(“assets/arial.ttf”);
方特家族:Arial;
embedAsCFF:假;
}
s |按钮{
丰特家族:阿里亚尔科夫;
}
mx |文本区域{
方特家族:Arial;
}