0

私の目標は、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>

ボタンがうまく表示されます。ただし、textAreaには空白文字があります。texteAreaフォントをVerdana(埋め込みではない)に変更すると、正常に機能します。

私の質問は次のとおりです。FlexでMXおよびSPARKコンポーネントのフォントを埋め込むにはどうすればよいですか?

よろしく

4

1 に答える 1

1

MXコンポーネントとSparkコンポーネントに個別のフォント宣言を指定する必要があります。SparkコンポーネントのみがembedAsCFFをサポートします:true。MXコンポーネント用の非CFFバージョンのフォントの埋め込みを参照してください。

以下では、Sparkフォント宣言にArialCFFという名前を付け、s |ButtonfontFamilyスタイルプロパティをArialCFFに設定しました。また、グローバルデフォルトのfontFamilyをArialに設定し、mx |TextAreafontFamilyを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>
于 2012-09-12T23:19:27.763 に答える