1

Flash CS5.5 を使用していますが、埋め込みではなくデバイス フォントを指定したいと考えています。

問題は、デバイス上のフォントの正確な名前を知っていても、そのフォント名を Flash オーサリング環境に入力できないことです。私が持っているのは、オーサリング マシンにインストールされているフォントのドロップ ダウン リストだけです。ドロップダウンから同様のフォント名を選択して「デバイス フォントを使用」を選択すると、ムービーはデバイスのデフォルトで _sans になります。

AS3 を使用して、テキスト ボックスの指定やフォントの割り当てを開始したくありません。

前もって感謝します。

4

2 に答える 2

0

私の知る限り、これを行う方法はありません。これは、多くの人が不在を嘆くのを見た機能です。

あなたができる最善の/唯一のことは、埋め込み設定を使用して、必要な文字だけを埋め込むことです(これを理解するのが現実的でない場合は、99%の確率で「基本的なラテン語」で問題ありません-私があなたに教えている場合はお詫びしますここで卵を吸う)、使用するフォントの数を制限します。これは、デザインの観点からもおそらく良い考えです。

最後の文については、フォントを1回埋め込むだけで済みます。そのフォントを含むすべてのテキストボックスで、フォントを参照できます。

申し訳ありませんが、これ以上お役に立てることはありませんが、あなたが探していることはできないと思います。

PSこれに代わる方法として、フォントを別のswfファイルに埋め込み、そこから動的にロードできるため、メインファイルを不要なフォントで肥大化させる必要はありません。

http://www.mokisystems.com/blog/flash-as3-loading-fonts/

于 2012-10-21T18:40:32.817 に答える
0

知る限り、これは AS3 でのみ実行できます。AS3 を使用したくないとおっしゃっていたのは承知していますが、それは非常に簡単です。コードは次のとおりです。

フォントの正確な名前を知るには、これを使用します

var f:Font;
var fonts:Array = Font.enumerateFonts(true);
for(var i:int = 0; i < fonts.length; i++) {
    f = fonts[i];
    trace(f.fontName + "," + f.fontStyle + "," + f.fontType);
}

最初にフォントを使用するには、この方法で TextFormat オブジェクトを作成します

var myFormat:TextFormat = new TextFormat();
myFormat.font = "Helvetica"; //use your own font here

次に、このフォーマットを、AS3 によって作成された、または Flash IDE で手動で作成された任意のテキスト フィールドに適用できます。

myTextfield.setTextFormat(myFormat);

シングルトン パターンを使用するなど、TextFormat がグローバルにアクセスできる場合は、コード内のどこでも使用できます。でもそれはまた別の話…

于 2012-12-06T03:02:15.757 に答える