以编程方式在文本字段中嵌入汉字

时间:2009-02-11 17:06:41

标签: flash embedded-fonts

在Flash环境中的“嵌入...字符嵌入”窗口中,您可以选择嵌入日语汉字。有没有人知道使用使用Actionscript创建的TextField来嵌入相同的方法?

3 个答案:

答案 0 :(得分:1)

您需要在库中创建一个字体符号并指定一个链接类(在本例中为“Font1”):

var myFont:Font = new Font1();
var myFormat:TextFormat = new TextFormat();
myFormat.font = myFont.fontName;

var myTextField:TextField = new TextField();
myTextField.defaultTextFormat = myFormat;
myTextField.embedFonts = true;
myTextField.text = "Hello World!";
addChild(myTextField);

请参阅Embedding fonts

上的文章

答案 1 :(得分:1)

我通常会成功地使用它:

    package
{


        import flash.display.Sprite;
        import flash.display.TextField;
        import flash.display.TextFieldAutoSize;

        import flash.text.TextFormat;
        import flash.text.AntiAliasType;



        public class EmbedFontTest extends Sprite
        {



                [Embed(source="C:\WINDOWS\Fonts\ARIAL.TTF", fontFamily="Arial")]
                private var _arial_str:String;

                private var _arial_fmt:TextFormat;
                private var _text_txt:TextField;



                public function EmbedFontTest()
                {
                        super();

                        this.initEmbedFontTest();
                }



                private function initEmbedFontTest():Void
                {
                        this._arial_fmt = new TextFormat();
                        this._arial_fmt.font = "Arial";
                        this._arial_fmt.size = 40;

                        this._text_txt = new TextField();
                        this._text_txt.embedFonts = true;
                        this._text_txt.autoSize = TextFieldAutoSize.LEFT;
                        this._text_txt.defaultTextFormat = this._arial_fmt;
                        this._text_txt.text = "Test Arial Format";

                        this.addChild(this._text_txt);
                }
        }



}

答案 2 :(得分:0)

实际上,我最终发现支持Kanji的最佳方式(在我的情况下)是嵌入字体,只需使用TextField中的_sans选项。