zoukankan      html  css  js  c++  java
  • 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/

  • 相关阅读:
    程序员常见的坏习惯,你躺枪了吗?
    程序员常见的坏习惯,你躺枪了吗?
    程序员常见的坏习惯,你躺枪了吗?
    ACM2037
    [Golang]字符串拼接方式的性能分析
    如果一个类同时继承的两个类都定义了某一个函数会怎样呢 | Code4Fun
    Python学习笔记(四)函数式编程
    MySql之增删改查 · YbWork's Studio
    季銮西的博客
    ActiveMQ学习总结(一)
  • 原文地址:https://www.cnblogs.com/atong/p/2892640.html
Copyright © 2011-2022 走看看