在Flex中嵌入字体的错误 - 面板标题将不会显示

时间:2010-11-25 11:17:43

标签: flex

早上好,

当我尝试在Flex中的mx:Panel对象中设置fontstyle时,我遇到了一个奇怪的错误。

<?xml version="1.0" encoding="utf-8"?>
<mx:Panel xmlns:fx="http://ns.adobe.com/mxml/2009"    
          xmlns:s="library://ns.adobe.com/flex/spark" 
          xmlns:mx="library://ns.adobe.com/flex/mx"
          layout="absolute" title="Test"
          titleStyleName="titleAssumed" >


    <mx:Label x="0" y="-5" styleName="othersAssumed" />
    <mx:Label x="0" y="16" styleName="othersAssumed"/>

关联的CSS文件包含以下相关样式:

/* CSS file */
@namespace s "library://ns.adobe.com/flex/spark";
@namespace mx "library://ns.adobe.com/flex/mx";

@font-face{
    src: url("ttf\\ControlSign Bold.ttf");
    fontFamily: ControlSign;
    fontWeight: bold;
}

@font-face{
src: url("ttf\\ControlMono Regular.ttf");
fontFamily: ControlMono;
}

.titleAssumed
{
fontFamily: ControlSign;
font-weight: bold;
font-size: 12;
color: #FFFFFF;
} 

.othersAssumed
{
fontFamily: ControlMono;
font-size: 15;
color: #ADADAD;
}

使用这种配置,一旦我在Eclipse中设置了编译器属性,编译器就可以使用MX组件的Flash文本引擎,我可以看到Panel的两个标签的正确字体和样式;但小组的标题不会出现。即使我将“embedAsCff:false”行添加到我的样式.titleAssumed中,标题也拒绝显示。

有什么可能导致麻烦的想法?谢谢!

编辑:修复了语法错误。

1 个答案:

答案 0 :(得分:1)

您需要在字体中设置embedAsCFF:true。此外,如果您没有关闭字体上的大括号,则会出现语法错误。以下是一个示例,此处为some more

@font-face{
    src: url("ttf\\ControlSign Bold.ttf");
    fontFamily: ControlSign;
    fontWeight: bold;
    embedAsCFF: true; 
}