好的,我正在为我正在开发的应用程序成功嵌入和使用我的字体存在问题。
我正在使用Flash Builder 4.7,Flex 4.11,AIR 4.0和AS3开发应用程序,主要依靠AS3,因为它通常是我的力量。
我希望看到显示的字体,但它会以典型的衬线字体显示它们,而不是我正在加载的字体,而不是默认的无衬线字体。我有时也会收到关于embedAsCFF需要为真的警告。这已经设置为true,您可以在下面的代码摘录中看到,并且警告不一致,但错误是一致的。
这是我在App的mxml文件中嵌入字体的地方:
[Embed(source="fonts/Interstate-LightItalic.ttf",
fontFamily="LogoLight",
fontName="LogoLight",
fontStyle="italic",
mimeType="application/x-font",
embedAsCFF="true")]
var LogoLightFont:Class;
[Embed(source="fonts/Interstate-BlackItalic.ttf",
fontFamily="LogoBlack",
fontName="LogoBlack",
fontStyle="italic",
mimeType="application/x-font",
embedAsCFF="true")]
var LogoBlackFont:Class;
在我的班级中,我正在创建两个Spark标签(import spark.components.Label;
),并在updateDisplayList
内设置他们的样式,如下所示:
构造函数内部:
this._appLabel = new Label();
this._subLabel = new Label();
然后覆盖updateDisplayList
:
override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
{
super.updateDisplayList(unscaledWidth, unscaledHeight);
//style text fields
this._appLabel.setStyle('fontFamily', EmbeddedImages.logoBlack);
this._appLabel.setStyle('fontStyle', 'italic');
this._appLabel.setStyle('fontSize', 72);
this._appLabel.setStyle('color', 0xFFFFFF);
this._subLabel.setStyle('fontFamily', 'LogoLight');
this._subLabel.setStyle('fontSize', 28);
this._subLabel.setStyle('color', 0xFFFFFF);
...
}
我遗漏了展示位置以及updateDisplayList的其余部分,以及应用程序的其余部分,但我希望我已经提供了足够多的人可以提供帮助。我查看了Stack Overflow以及Google搜索,虽然我发现了许多建议,却没有找到适用于我情况的内容。大多数解决方案都集中在TextField元素上,但这些是Spark标签。
我已经使用Spark Labels编写了大部分应用程序(如果适用)并且将嵌入更多字体,因此我更愿意留下它们。
答案 0 :(得分:0)
您可以尝试设置标签对象的样式类。我的css文件下面的内容适用于sans-serif和serif。通过TextAreaSkin运行将其设置为serif字体。
@font-face {
src: url("../assets/fonts/MyriadPro-Regular.otf");
fontFamily: "myriad";
embedAsCFF: true;
}
// sans-serif
.font24Style {
fontFamily: "myriad";
fontSize: 24;
}
// serif
.font14Style {
fontFamily: "myraid";
fontSize: 14;
skinClass: ClassReference("spark.skins.mobile.TextAreaSkin");
}
View的代码......
...
<s:Label id="toName"
styleName="font24Style"
alpha=".5"
width="20%"/>
<s:Label id="toAddress"
styleName="font14Style"
alpha=".5"
width="40%"/>