我创建了一个样式,我在其中定义了一个字体系列。当我将这个样式应用于标签时,它反映了字体,因为当它应用于spark按钮时没有变化。我尝试了各种方式来应用字体风格,但它不起作用。其他属性工作正常,除了字体系列。即使我尝试创建皮肤类并在其中设置标签的字体系列样式。在预览皮肤时,我可以看到更改但是当我将其应用于按钮时,它会显示默认字体。下面给出的代码是用View编写的。我遵循了2种方法,但都没有。
@font-face{
src:url("HARNGTON.TTF");
fontFamily: MyF;
embed-as-cff: false;
}
<s:Button x="143" y="108" width>="471" label="Course" color="white" fontFamily="MyF"
>
方法2
我创建了一个样式,我也使用了按钮的皮肤类。我没有在皮肤类中定义字体系列。所以我希望按钮不会覆盖皮肤类的字体系列,即默认值。
@font-face{
src:url("HARNGTON.TTF");
fontFamily: MyF;
embed-as-cff: false;
}
.myFont
{
fontFamily: MyF;
}
<s:Button x="143" y="108" width="471" label="Course" color="white" styleName=myFont skinclass="MyButton_skin">
我也尝试过使用CSS文件,但它仍然无效。 CSS文件的示例如下:
/ * CSS文件* /
@namespace s "library://ns.adobe.com/flex/spark";
@font-face{
src:url("/views/abc.ttf");
fontFamily: MyF;
fontWeight:bold;
embed-as-cff: false;
}
s|Button {
fontFamily: MyF;
color: #000000;
fontSize: 34;
}
我在视图初始化期间使用它
public function init():void{
styleManager.loadStyleDeclarations("Basic.swf",true);
}
但字体样式仍然没有变化。
答案 0 :(得分:2)
这通常是因为您嵌入了normal
重量的字体。按钮使用bold
标签。如果您正常嵌入字体并将其用作粗体,则无法正确呈现。
除非您指定嵌入字体是粗体(在font-family声明中,将font-weight
属性设置为bold
),否则它不会添加到按钮标签。
查看您发布的代码后,很明显font-family声明并未定义嵌入字体的权重,因此Flex假定它设置为normal
。这就是为什么你没有看到带有嵌入字体的标签的原因。
答案 1 :(得分:0)
将字体与Spark组件一起使用时,应将embedAsCFF设置为true而不是false。在传统mx组件中嵌入字体时使用False。
答案 2 :(得分:0)