2012-01-28 7 views
0

特定の言語が使用されている場合、テキストフィールドを_sansに設定する必要があります。通常、埋め込みフォントを使用します。どうすればAS3経由で_sansに設定できますか?AS3 - テキストフィールドを_sansに設定

ありがとうございました。 ウリあなたが使用することができ、クライアントの現在の言語を検出するために

答えて

1

はに最適なルートではないかもしれません取る。例えばインドで働く英語を話す人があなたのファイルを使用したいと思うかもしれません。

いくつかの種類の言語を選択してビルドしたい場合があります。

この例では、選択した言語がラテン語であるかどうかにかかわらず、変数(alphabetToUse)を設定します。

var myFont:Font; 
var alphabetToUse:String; 

myFont = new DinReg(); 

//for latin 
var myFormat:TextFormat = new TextFormat(); 
myFormat.size = 14; 
myFormat.align = TextFormatAlign.LEFT; 
myFormat.font = myFont.fontName; 

//for anything else 
var myDefaultFormat:TextFormat = new TextFormat(); 
myDefaultFormat.size = 14; 
myDefaultFormat.align = TextFormatAlign.LEFT; 
myDefaultFormat.font = "_sans"; 


var myText:TextField = new TextField(); 
myText.type = TextFieldType.DYNAMIC; 
myText.antiAliasType = AntiAliasType.ADVANCED; 
myText.textColor = 0xFFFFFF; 
myText.multiline = true; 


if(alphabetToUse == "latin") { 
    myText.embedFonts = true; 
    myText.defaultTextFormat = myFormat; 
} else { 
    myText.embedFonts = false; 
    myText.defaultTextFormat = myDefaultFormat; 
} 

myText.border = false; 
myText.wordWrap = true; 
myText.width = 345; 
myText.height = 28; 
myText.x = 0; 
myText.y = 0; 

addChild(myText); 

myText.htmlText = "some text"; 
+0

エラーが発生する**定義されていないメソッドを呼び出すDinReg ** DinReg? – Uli

+0

これは私がライブラリに埋め込んだフォントの名前です。ライブラリに独自のフォントを埋め込み、名前を付けてdinregの代わりに使用する必要があります – crooksy88

+0

ありがとう!それは働いている! – Uli

1

:いくつかの良いチュートリアルはこの1つを含む、そこにある実行時に動的にフォントをロードするには

flash.system.Capabilities.language; //in my case returns "en" 

を:http://bryanlangdon.com/blog/2007/03/22/loading-fonts-dynamically-in-actionscript-2-and-3/

私はそれが助けて欲しい

編集

が動的に個々のテキストフィールドに埋め込むすでに埋め込まれているフォント、フォントの最初のターンに変更するには:(未テストコード)すると

myTextField_txt.embedFonts = true; 

作成し、テキスト形式を設定しますあなたが変更したいtextFields。ような何か:システムの言語設定を検出するためのSystem.capabilitiesを使用し

var myformat:TextFormat = new TextFormat(); 
myformat.font = "_sans"; 
myTextField_txt.setTextFormat(myformat); 

オプションでは、などのサイズ、色、として、のTextFormatに追加物事を設定することができます。..

+0

私はフォントをロードしたくありません - 私は_sansシステムフォントを使いたいだけです。テキストフィールドの動作を_sansに変更するにはどうすればよいですか? – Uli

+0

編集を参照してください。タイプミスがある場合や、私が何かを見逃してしまった場合は、教えてください。 – ToddBFisher

+0

フォント部分が機能しません。フォントは同じままです。 – Uli

0

次のコードを使用するシステム_sansフォントを使用するには:

var tf : TextField = new TextField(); // create a text field 
var fmt : TextFormat = new TextFormat(); // create a text format 

with(fmt) { 
    font = "_sans"; // using sans results in the use of arial on windows and helvetica on MacOS 
    size = 12; 
    color = 0xFFFFFF; // white 
} 

with (tf) { 
    embedFonts = false; // if you skip this you'll get Times (at least in Windows) 
    defaultTextFormat = fmt; 
} 

が小さいのswfのでフォント結果を埋め込むない>>短いダウンロード時間、少ないトラフィックを。 特に、異なる文字セット(ロシア語、ギリシャ語、中国語)を使用できるようにするには、swfファイルサイズが大きくなる可能性があります。

関連する問題