AS3使用中文字体嵌入
新建一个Flash,命名为fontLibrary,在第一帧写上下面代码var MyClass : Class;
Font.registerFont(MyClass);
然后CTRL+Enter生成swf
要调用就再新建另一个Flash,代码如下:
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler);
loader.load(new URLRequest("fontLibrary.swf"));
function completeHandler(event : Event):void {
loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, completeHandler);
var fmt:TextFormat=new TextFormat("MyFont",25,0x336699);
var txt : TextField = new TextField();
txt.autoSize=TextFieldAutoSize.LEFT;
txt.embedFonts=true;
txt.text="中文字体在中文输入法中测试";
txt.setTextFormat(fmt);
addChild(txt);
} 说明:DFPShaoNvW5-GB.ttf是在跟swf同一目录下的字体文件名字。
我这里用的是“华康少女字体”
unicodeRange=后面跟随的一堆U+XXXX是常用汉字的unicode编码。
本人经整理,把汉字+数字+常用标点符号都放进去了。 如果要用类的方式,请参照下面的写法。
package {
import flash.display.Sprite;
import flash.text.Font;
public class FontLibrary extends Sprite {
static public var MyClass : Class;
public function FontLibrary() {
Font.registerFont(MyClass);
}
}
} 附件是用变量的写法,就是在时间轴第一帧写下一堆UNICODE而不是写AS类
仅供参考。
UNICOE查询:http://rishida.net/scripts/uniview/conversion
中文字体嵌入助手:http://kevincao.com/app/font/ 辛苦了 这是必要物~ 引用第4楼franniss于2009-12-07 15:50发表的:
辛苦了 这是必要物~
看来要自己加精华才行,我自己也花了好长时间去翻UNICODE,最可恶和无奈的是,Flash CS4经常崩溃。
顺便贴一下老外的视频教程。有不明白的话请看。
http://www.scile.cn/lab/videos/runtimefonts.mov
页:
[1]