# 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  :字身資料。

                  網主人白