Flash 以编程方式将汉字嵌入文本字段

Flash 以编程方式将汉字嵌入文本字段,flash,embedded-fonts,Flash,Embedded Fonts,在Flash环境中的“嵌入…字符嵌入”窗口中,您可以选择嵌入日文汉字。是否有人知道使用Actionscript创建的文本字段嵌入相同内容的方法?您需要在库中创建字体符号并指定链接类(在本例中为“Font1”): 参见上的文章,我通常在成功时使用此选项: package { import flash.display.Sprite; import flash.display.TextField; import flash.display.T

在Flash环境中的“嵌入…字符嵌入”窗口中,您可以选择嵌入日文汉字。是否有人知道使用Actionscript创建的
文本字段嵌入相同内容的方法?

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


参见

上的文章,我通常在成功时使用此选项:

    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);
                }
        }



}

事实上,我最终发现支持汉字的最好方法(在我的例子中)是根本不嵌入字体,只在文本字段中使用_sans选项

    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);
                }
        }



}