| # 9780 網主 [ 2010-03-04 03:11:00 ] |
| 告網友: 每日一得 2010年3月4日 星期四 室溫26度 濕度76% 昨日薄晴 漢字字庫(下) 字庫本小,能高速顯示字形(一萬個16*16 字形在4GHZ須時 .01秒),且可自動組合數千萬個各種大小之漢字。但為了「正確地」顯示「大五碼」,特地裝了一個大五碼的碼表(約佔60KB)。天下之荒唐事莫過於此!削足為了適履,為了爛五碼,字庫反而要犧牲60KB(約佔40%空間)!奈何? 熟悉匯編(組合)語言之程式師,可以「反匯編」將此字庫重新設計之(筆形可改計算數學公式,老朽僅用了乘法,且係拋物線,X=NY平方)。原設計係供一般使用,最大字形為256*256,只要再將緩衝器加大(注意筆劃參數也要適度放大),或利用圖形之放縮軟件,可以做到任意大小。 茲再簡述程式內容如下: 一、字形指令以中央為準,分八個向量,由始筆至終筆,代表此一方格中之字形。 二、依據倉頡組字規律,各碼與向量字形對應,以資應用。 輸入字碼後,將之重新組合成「倉頡內碼」,其中首兩碼為單、複字首,三碼代 表字身,進入組成程序。 三、組字程序分成獨體字及組合字二類,用程式控制其流程。 凡符合自動組合之字形,通向單字首及複字首自動組合。 四、根據倉頡碼取字形資料,先分析其向量指令,形成座標值。 五、自動組合時將字首及字身分別組妥,再依註明之比例、特徵、條件組合之。 六、資料已全,進入繪圖程式。 先查明所定文字大小、筆劃粗細、字體特性、其他條件等。根據座標值,依序作 圖,完成輸出至指定位置。 以下是所附之各個模組內容(定名為「字庫資料」,貼在「技術交流」欄),提供參考(已擱置二十年,且因搬家頻繁,原資料散失嚴重,所找到者未必絕對正確,且說明僅憑記憶、錯誤必多): 原掛於本網之「倉頡輸入法及字形產生器」一文中,「十、字形產生器技術說明之1-2用軟體程式…」已改為modxy,效果較為理想。 以下為原始程式及資料內容: 系統:modinit :開始進入之準備程式。 組字:mod1 :輸入倉頡碼,找到字形資料。 mod2 :將字形資料化為xy筆形。 modvec:將筆形畫出。 副程式: modsub:共用之副程式。 modxy :xy筆形之運算,如拋物線等。 modtrace:供測試之程式。 modasc:英文等符號。 modspc:特殊字形變化。 索引:i1 :字首索引。 i2 :字身索引。 i3 :字身索引。 i4 :字身索引。 字形:t11 :字首資料。 t12 :字首資料。 t21 :複字首。 t3 :字身資料。 t4 :字身資料。 網主人白 |