|
縱橫碼如何掛接在WINDOWS 95下
江蘇淮陰市職業技術教育中心
葛川
縱橫漢字編碼法是一種具有直觀性和科學性的漢字編碼法,它又是按照字形對漢字進行分類的一種分類法,採用“
0”-“9”十個數字作為基本碼元,同時它也作為筆形、部首及整個漢字的編碼,有點與四角號碼相似。它將漢字分為兩類:一類是無部首的漢字;一類是有部首的漢字,同時對漢字的部首又進行了挑選,選出了55個部首作為主部首,並對其進行編碼。縱橫漢字編碼法的取碼規則有:無部首的漢字取該漢字的四個角上的筆形編碼;有部首的漢字取該漢字的主部首編碼,再取字身編碼,若沒有主部首,則取副部首,再取字身編碼。詞的取碼規則:二字詞,取每個漢字的前三碼;三字詞,取每個漢字的前兩碼;四字詞,取第一、第四個漢字的前兩碼,第二、第三個漢字再各取前一碼;多字詞,取第一個漢字的前兩碼,再取第二、三、四、五字的第一碼。
WINDOWS 95提供的輸入法生成器,可以讓您生成自己的WINDOWS 95中文輸入法。具體步驟如下:
1.單按[開始]按鈕,指向[程式]、[附屬應用程式],然後單按[輸入法生成器]。
2.單按[創建輸入法]功能鈕。
3.單按[打開文件]按鈕,將碼表源文件打開。
4.單按[轉換]按鈕,將生成一個擴展名為MB的詞庫文件。
5.單按[創建]按鈕,添入版本號和機構名稱,接著點取 [自定義]按鈕,輸入位圖文件名(bmp)和圖示文件名(ico),對於幫助文件,根據自己的能力,若能編出WINDOWS
95下的幫助文件,則可以在這個地方輸入幫助文件名(hlp),否則可以不輸入。
6.單按[確定]按鈕,即可生成擴展名為IME輸入法文件。
7.生成輸入法文件後,系統提示“是否安裝”,選擇[是(Y)],系統將自動安裝輸入法。
在以上的步驟中,我們只需要一個縱橫漢字編碼的碼表源文件就能生成WINDOWS
95下的縱橫輸入法了。那麼如何建立碼表源文件(txt文件)呢?根據WINDOWS
95中的“輸入法生成器”提供的“逆轉換”功能,我們可以將WINDOWS 95本身自帶的輸入法轉換成其對應的碼表源文件。利用寫字板觀察可以看出,碼表源文件由三個部分組成:[Description]段、[Rule]段和[Text]段。介紹如下:
1 [Description]段
Name= 輸入法的名稱
MaxCodes= 輸入法最大的編碼長度
MaxElement= 輸入法編碼 信息元最大長度
UsedCodes= 輸入法碼元集合
WildChar= 輸入法查詢鍵
NumRules= 輸入法構詞規則條數
[Rule]段
該段描述輸入法詞組的構成規則。規則表達式如下:
c[描述符][詞語長度]=p[漢字序號][構成編碼序號]+p[漢字序號][構成編碼序號]+p[漢字序號][構成編碼序號]+…
其中[描述符]可 以為a、b、e中的任一個,p也可以用n代替。(WINDOWS 95碼表源文件中規定)
3 [Text]段
該段是碼表正文部分,格式如下:[漢字][編碼][構詞碼]。[漢字]與[編碼]之間無空格,[編碼]與[構詞碼]之間有一空格,[構詞碼]可以為空。[漢字]部分不允許有超過2個以上(包括2個)的單字或詞組,對於重碼的詞組需拆分成兩行以滿足格式的需要。
知道碼表源文件的格式,我們就可以構建縱橫漢字編碼的碼表源文件了(txt文件)。假設文件名為zhhz.txt,構建如下:
[Description]
Name=縱橫
MaxCodes=6
Max Element=3
UsedCodes=0123456789
WildChar=*
NumRules=4
[Rule]
ce2=p11+p12+p13+ p21+p22+p23
ce3=p11+p12+p21+p22+p31+p32
ce4=p11+p12+p21+p31+p41+p42
ce5=p1 1+p1 2+p21+p31+p41+p51
[Text]
的0
多00
夕00
.
.
.
對於編碼部分,可以根據縱橫漢字系統中的編碼庫文件(設為gaok.txt)利用FOX編碼來轉換得到。編碼思想:建立一個庫文件1(兩個字段word,c,6;code,c,30),利用資料庫命令append
from gaok.txt type sdf向這個資料庫文件添加記錄,另建一個庫文件2(含一個字段,c,50),其中已有13條記錄(碼表源文件除去編碼部分後的內容)。對庫文件1中的兩個字段進行相加處理添加到庫文件2中,如果有重碼,則對code字段進行拆分處理。處理後,對庫文件2用命令copy
to zhhz.txt type sdf生成文字文件(即縱橫漢字編碼的碼表源文件)。有了這個碼表源文件,就可以把縱橫漢字輸入法掛接在WINDOWS
95下了。
利用這種方法其優點是簡單、方便,缺點是不能實現縱橫碼特有的功能,如自定義詞輸入、縮碼輸入、聯想輸入。另外,由於受系統限制,用該方法字詞碼本的記錄數不能超過65700條,否則系統會出錯。
返回上頁 |
|