我最近将Flex3 AIR项目转换为Flex4,因此它现在使用Flex4.1 sdk和<s:WindowedApplication>
。这是一个大项目,并且已经精心更新了所有重要的代码,以便与Flex4一起工作,现在它很乐意编译。
项目中的大多数组件都是基于mx的组件的几代代表,所以由于工作量的原因,我还没有将其更新为spark。我遇到的问题是我无法使用嵌入式字体来处理我现在添加到mx组件的spark组件。
例如,我编辑了一个(基于mx的)组件并添加了一些项目。我的嵌入字体必须具有embedAsCFF = false,以便它适用于我的mx组件。所以为了得到这个也嵌入火花,我应该能够用embedAsCFF = true再次嵌入它,如下所示:
@font-face
{
src: url("assets/fonts/MyriadWebPro.ttf");
font-family: mainWithCFF;
font-style: normal;
font-weight: normal;
font-anti-alias-type: "advanced";
embedAsCFF: true;
}
s|Label{
font-family: mainWithCFF;
}
我已经尝试了Adobe提供的基本示例,这个示例工作正常,但在我的复杂项目中,它不起作用。我没有得到任何错误,但使用MyriadWebPro而不是spark组件,它默认为Times。
我想知道这是因为我的组件是基于mx而不是基于spark的。也许这只适用于在spark组件中使用mx组件的情况?如果有的话,是否有人知道你有一个mx组件的问题的解决方案,并希望在其中有一个spark标签?
答案 0 :(得分:3)
如果您的组件是MX(Halo),则希望embedAsCFF为false。
对于Spark组件,您可以嵌入AsCFF:true。
另外,我不确定您的高级抗锯齿是否正确。
Spark示例:
@font-face { font-family: "Myriad Web Pro"; src: url("./assets/fonts/MyriadWebPro.ttf"); font-weight: normal; embedAsCFF: true; /* Spark */ advancedAntiAliasing: true; unicodeRange: U+0041-U+005A, /* Upper-Case [A..Z] */ U+0061-U+007A, /* Lower-Case a-z */ U+0030-U+003F, /* Numbers [0..9] */ U+0020-U+002F, /* Space + Punctuation [ !"#$%&'()*+,-./ ] */ U+003A-U+0040; /* Special Chars [ :;?@ ] */ }
MX Halo示例:
@font-face { font-family: "Myriad Web Pro"; src: url("./assets/fonts/MyriadWebPro.ttf"); font-weight: normal; embedAsCFF: false; /* Halo */ advancedAntiAliasing: true; unicodeRange: U+0041-U+005A, /* Upper-Case [A..Z] */ U+0061-U+007A, /* Lower-Case a-z */ U+0030-U+003F, /* Numbers [0..9] */ U+0020-U+002F, /* Space + Punctuation [ !"#$%&'()*+,-./ ] */ U+003A-U+0040; /* Special Chars [ :;?@ ] */ }