Flash漢字嵌入助手(HanFont)是一款制作Flash運行時共享字庫的工具。特別針對Flash漢字的嵌入需求進行開發(fā),簡化了煩瑣的生產(chǎn)過程,自動生成as文件甚至是最終的swf文件,讓沒有開發(fā)經(jīng)驗的人員也能夠輕松使用。 簡單來說可以靠這個小工具將一般字型轉(zhuǎn)換為上古卷軸5使用的SWF字庫!不需要再安裝Adobe Flex Builder! 一、簡易製作 1. 第一次執(zhí)行時程式會要求載入Flex SDK的路徑,選擇內(nèi)附的Flex 3 SDK 3.5.0.12683B,這裡用的是Flex SDK 3.5故選擇Flex 3.x。萬一選錯了請執(zhí)行目錄下的清除設(shè)定.bat并重新執(zhí)行程式。 2. 填入fontconfig.txt設(shè)定用到的字型名稱,一般以字型原本的名稱命名,完成后右下角編譯。 類別名稱ClassName 一種字型使用一個類別名稱,程式只會編譯一種,一般不需設(shè)定。 字型名稱FontName 設(shè)定字型名稱,一種字型使用一種名稱,fontconfig.txt填入的字型名稱就是在這裡設(shè)定。 系統(tǒng)字型 選擇已安裝於電腦的字型進行編譯。 外部字型 選擇字型檔案進行編譯,一般以TTF為主,像TTC這類常編譯失敗的字型,若先安裝到電腦中再從系統(tǒng)字型選畢后編譯通常會成功。 嵌入文字范圍 預(yù)設(shè)是全部,若只選擇漢字那麼編譯出來的字庫只含中文字元,若游戲中出現(xiàn)了英數(shù)字元就會顯示口口,故一般不需設(shè)定。 ※ 若使用大學(xué)漢化版,則要多編譯一份粗體樣式的SWF字庫,不然手寫書信類物品會顯示口口 二、進階編譯 若想要將兩種、三種以上的字型全包在一個SWF裡面呢?那麼就需用到Flex SDK中的mxmlc.exe蘿,以命令提示字元操作。 1. 在Flash漢字嵌入助手選擇保存,將內(nèi)容存為as檔案或用記事本編輯亦可,編碼儲存為UTF-8。 含兩種字型樣式的范例: package { import flash.display.Sprite; import flash.text.Font; public class FontLibrary extends Sprite { [Embed(systemFont="華康中圓體", fontName="DFT_R5", fontStyle="normal", fontWeight="normal", advancedAntiAliasing="true", mimeType="application/x-font")] static public var ClassName1 : Class; [Embed(source="C:/王漢宗顏楷體繁.ttf", fontName="wt064", fontStyle="normal", fontWeight="normal", advancedAntiAliasing="true", mimeType="application/x-font")] static public var mybaby520 : Class; [Embed(systemFont="文鼎粗魏碑", fontName="WeiBei-Bold", fontStyle="normal",fontWeight="bold", advancedAntiAliasing="true", unicodeRange="U+0000-U+ffff,U+0000-U+ffFF, mimeType="application/x-font")] static public var test : Class; public function FontLibrary() { Font.registerFont(ClassName1); Font.registerFont(mybaby520); Font.registerFont(test); } } } 上面可以看出差異在哪些地方,fontWeight="bold"是粗體樣式,fontname和classname只要每種字型不要用到相同的名稱就行。unicodeRange是為字型指定字庫范圍,一般說可以不用,但是文鼎系列的字型需要。advancedAntiAliasing是反鋸齒,可有可無。systemFont是調(diào)用系統(tǒng)字型,外部字型則要改為source,雙引號內(nèi)填入字型路徑。 2. 以mxmlc.exe編譯as檔案時路徑含空格需加上雙引號,swf字庫會輸出到as檔案的同目錄下 例:"路徑mxmlc.exe" "路徑*.as" ※ 包入兩種以上字型時,可能會發(fā)生讀取存檔過久的現(xiàn)象,這個問題發(fā)生在編譯后的字型身上,也不是每個字型都會這樣子,不知道如何解決,我是直接換別的字型用,這個問題想請教論壇的前輩解答 一般來說只要正常樣式和粗體樣式兩種就可以打造一個字庫。3dm漢化補丁的簡體或簡轉(zhuǎn)繁字庫并不需要粗體樣式,而以大學(xué)漢化版的fontconfig.txt為例,粗體樣式的字型是這樣設(shè)定: map "$HandwrittenfontB" = "字型名稱" Bold 當(dāng)然除了正常的樣式和粗體樣式外也可以加入龍語、雪精靈語等等字型來完善該字庫檔案,這些游戲字型如何取得? 透過Action Script Viewer反編譯官方的font_en.swf提取出TTF字型。