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字型


































