麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 辦公 > Flash > 正文

Flash as3嵌入中文字體的方法

2020-07-17 13:18:32
字體:
來源:轉載
供稿:網友
因為最近要做一個項目,涉及到要輸入文本,Flash的輸入文本默認下是只能顯示設備字體。連系統內的字體都不能設置,必須要嵌入才能輸入。
as2的時代,可以用加載字體庫的方式來解決,Adobe官方的解釋太煩瑣了,其實總結起來就是一個替換字體的過程,把外部庫的自定義字體替換當前的輸入字體。
例如如下:
如果是as2的話,新建一個Fla文件share.fla,然后在庫里新建一個字體文件,然后設置他的標識為MyFont,隨便選擇系統內的一種字體,然后選擇linkage里的導出as,導出runtime sharing,導出第一幀,然后在url處填寫share.swf,然后編譯成share.swf

然后新建主文件main.fla,同樣在庫里新建一個字體文件,然后設置他的url為share.swf,這樣他就共享了share.swf里的字體文件,可以在場景里放一個textinput文件來做測試

這樣嵌入字體的工作就完成了,as3文件不同的地方在于沒有標識這個東西了,那我們在aa.swf(就是上面的share.swf)里設置Classname為自定義的字體名字zhr_font,然后在Main文件里也設置成zhr_font的ClassName


下面我們要說的是如何用程序來實現as3的中文動態嵌入加載,查了網上的一些資料,老外的做法是新建一個類,然后在類里直接embed這個font,然后最通過加載這個share.swf,然后反射出這個Font類,再注冊一次使用,經試驗,發現這樣的做法英文是可以的,如果是中文,在編譯share.swf的時候會報錯
嵌入字體庫文件類
package {
import flash.display.Sprite;
public class FontLibrary extends Sprite {
[Embed(systemFont=’Bank Gothic’, fontName=’emBank Gothic’, mimeType=’application/x-font’)]
public static var BankGothicFont:Class;
}
}
調用字體庫文件類
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler);
loader.load(new URLRequest(”fontlibrary.swf”));
private function completeHandler(event:Event):void {
var FontLibrary:Class = event.target.applicationDomain.getDefinition(”FontLibrary”) as Class;
Font.registerFont(FontLibrary.BankGothicFont);
var tf:TextField = new TextField();
tf.defaultTextFormat = new TextFormat(”emBank Gothic”, 12, 0);
tf.embedFonts = true;
tf.rotation = 15; // to demonstrate the embed worked
tf.text = “blah blah blahnblah blah blahnblah blah blah “;
addChild(tf);
}
這個是老外的做法,試驗過后發現英文是可以沒有問題的,但是如果是比較大的中文ttf,在嵌入字體庫文件類那處就會有問題,mxmlc編譯的時候會報錯
這樣我們的做法是,在Flash cs3里來做字體共享庫,同樣在庫里新建一個字體

然后在主文件里加載,然后用反射的方法注冊,再使用
var loader:Loader=new Loader;
loader.contentLoaderInfo.addEventListener(Event.COMPLETE,completeHandler);
loader.load(new URLRequest(”shared.swf”));
function completeHandler(event:Event):void {
var fontLibrary:Class=event.target.applicationDomain.getDefinition(”zhr_Font”) as Class;
trace(fontLibrary);
Font.registerFont(fontLibrary);
test();
}
function test() {
var _embeddedFonts:Array = new Array();
_embeddedFonts = Font.enumerateFonts(false);
trace(_embeddedFonts[0].fontName);
//trace(_embeddedFonts.length);
//var tx:TextField=new TextField();
//tx.type=”input”;
tx.embedFonts=true;
//tx.defaultTextFormat=new TextFormat(”zhr_Font”,20,0xFF0000);
var tf=new TextFormat(_embeddedFonts[0].fontName,20,0xFF0000);
//tx.embedFonts = true;
//tx.antiAliasType = AntiAliasType.ADVANCED;
tx.text=”你好”;
tx.setTextFormat(tf);
addChild(tx);
}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 久久久久久艹 | 日韩欧美激情视频 | 欧美亚洲一区二区三区四区 | 国产精品成人一区二区三区电影毛片 | wwwxxx免费视频 | av免费在线观看免费 | 日韩黄在线| 成年免费看 | av在线久草| 99热久草| 精品xxxx户外露出视频 | 亚洲视频高清 | 久久老司机精品视频 | 久久久青 | 美国一级免费视频 | 成人羞羞视频在线观看免费 | 91麻豆精品国产91久久久无需广告 | 久草热久草视频 | 久久精品亚洲国产奇米99 | 日本网站一区 | 午夜激情视频网站 | 中文字幕在线网 | 久久精品女人天堂av | 超碰97最新 | 天堂成人国产精品一区 | h色视频网站 | 黄色网络免费看 | 13一14毛片免费看 | lutube成人福利在线观看 | 一级一级一级一级毛片 | 成人午夜视屏 | 久久情爱网 | 亚洲国产精品久久久久久久久 | 91九色蝌蚪国产 | 九九热精品视频在线播放 | a一级黄色大片 | 国产精品免费一区二区三区四区 | 欧美一级黄色录像片 | av影院在线 | 91精品国 | 亚洲成人免费网站 |