• flash 嵌入字体方法


    1、建立FontLibrary.fla文件,在其文档类FontLibrary.as中写如下代码:

    package { 
        import flash.text.Font; 
     
        public class FontLibrary extends Sprite { 
            [Embed(systemFont="华文中宋", fontName="MyFont", unicodeRange="U+8f93,U+5165,U+6587,U+5b57", mimeType="application/x-font")] 
            static public var MyClass : Class; 
     
            public function FontLibrary() { 
                Font.registerFont(MyClass);  
            } 
        } 
    }

    如果不是嵌入系统字体,而是嵌入外部路径的字体,则按照如下写:

    package { 
        import flash.text.Font; 
     
        public class FontLibrary extends Sprite { 
            [Embed(source="pages/simhei.ttf", fontName="MyFont", unicodeRange="U+8f93,U+5165,U+6587,U+5b57", mimeType="application/x-font")] 
            static public var MyClass : Class; 
     
            public function FontLibrary() { 
                Font.registerFont(MyClass);  
            } 
        } 
    }

    执行编译生成FontLibrary.swf

    2、调用嵌入的字体文件,在主程序中写如下代码:

    package{ 
         
        import flash.display.MovieClip; 
        import flash.display.Loader; 
        import flash.events.Event; 
        import flash.net.URLRequest; 
        import flash.text.TextFormat; 
        import flash.text.TextField; 
        import flash.text.TextFieldAutoSize; 
     
        public class Main extends MovieClip{ 
             
            private var fontLoader:Loader; 
            private var txtFmt:TextFormat; 
            private var txtFld:TextField; 
             
            public function Main(){ 
                 
                fontLoader = new Loader(); 
                fontLoader.load(new URLRequest("FontLibrary.swf")); 
                fontLoader.contentLoaderInfo.addEventListener(Event.COMPLETE,completeHandler); 
            } 
             
            private function completeHandler(e:Event):void{ 
                txtFmt=new TextFormat("MyFont",68,0x000000); 
                txtFld=new TextField(); 
                txtFld.autoSize=TextFieldAutoSize.LEFT; 
                txtFld.embedFonts=true; 
                txtFld.text="显示中文"; 
                txtFld.setTextFormat(txtFmt); 
                addChild(txtFld); 
            } 
        } 
    }

    可以去这个网页自动生成类代码 http://kevincao.com/app/font/

  • 相关阅读:
    牛人一个
    hdu 1106 排序
    中国历史上著名的年号
    十万个为什么 —— 名词解释(历史)
    十万个为什么 —— 名词解释(历史)
    数学可视化
    数学可视化
    高观点下的初等数学
    高观点下的初等数学
    同一性(identical)
  • 原文地址:https://www.cnblogs.com/atong/p/2892640.html
Copyright © 2020-2023  润新知