本發(fā)明涉及計算機中文信息處理領(lǐng)域,特別涉及一種漢字部件鍵盤兼并的零重碼程序設(shè)計方法,籍此實現(xiàn)真實的零重碼字輸入操作,即所謂“盲打”字操作。
背景技術(shù):
當今中文輸入法正向著漢字全面拼音化的趨勢發(fā)展,這不僅會導致漢字輸入永遠落后于西方的拼音文字輸入,甚至會對中華漢文化產(chǎn)生沖擊。形碼的優(yōu)勢是輸入效果優(yōu)于音碼和筆碼。至今落到邊緣化的根本原因在于形碼設(shè)計一開始走上了一條碼表檢索道路。從因果關(guān)系看,這個問題好像與碼表關(guān)系不大,碼表作為漢字檢索工具,簡單又直觀,殊不知這不是明智之舉。碼表不僅捆綁了操作員手腳,同樣也捆綁了設(shè)計者手腳。碼表系統(tǒng)中,即使修改一個部件的鍵盤設(shè)置,也將涉及一大片碼表更改,修改部件配置表很容易,修改碼表很難,所以形碼一般都是原地踏步,很難前進一步。形碼設(shè)計應(yīng)該走自動編碼道路,不應(yīng)把漢字鍵盤表作為編碼檢索工具,應(yīng)把它作為漢字的信息源走程序設(shè)計道路。自動編碼系統(tǒng)中,創(chuàng)建任何編碼設(shè)計方案不僅更簡單更靈活,修改編碼設(shè)計也不再有后顧之憂,只需要修改部件配置表。同時又為零重碼漢字部件的鍵盤兼并設(shè)計鋪平道路。自動編碼系統(tǒng)中部件兼并產(chǎn)生的重碼是可以測定的,因而也是可以規(guī)避的,但實施零重碼漢字部件的鍵盤兼并設(shè)計非人腦所能負荷,唯有在回避兼并重碼的設(shè)計條件下,由系統(tǒng)程序?qū)嵤┎考g的選擇性鍵盤兼并,這項工程只能由自動編碼系統(tǒng)來完成。
通過漢字部件鍵盤兼并轉(zhuǎn)換為可操作的碼元是漢字編碼的核心技術(shù)。不同的字漢部件兼并方式?jīng)Q定著系統(tǒng)的輸入效果。目前漢字系統(tǒng)幾乎都是按部件本身特征來配置鍵盤,屬于一種“固定配置部件”。編碼設(shè)計者無法控制這類配置部件的重碼產(chǎn)生,如依據(jù)部件的雙筆組合(五筆字型)配置鍵盤;依據(jù)部件的“音托”(部件名稱的發(fā)音或其“稱說”,如沈碼)或“形托”來配置。上述配置方式一定程度上便于操作者對鍵位的辨識,即所謂“易記”方式。由于漢字構(gòu)字特殊性,無論用雙筆組合還是用音托、形托方式,都會有相當一部分部件無法按既定規(guī)則來配置鍵盤,這些部件配置依然要記憶。然而這種鍵盤配置方式必然會導致大量重碼產(chǎn)生。為此,有人添加輔助碼,有人則添加離奇的編碼規(guī)則,重碼降低了,輸入速度也降低了。為此,有人提出降低重碼是一個“誤區(qū)”,以此來回避漢字編碼設(shè)計中的這個難題。
技術(shù)實現(xiàn)要素:
鑒于以上所述現(xiàn)有技術(shù)的不足,本發(fā)明的目的在于提供一種零重碼的漢字編碼部件鍵盤兼并的零重碼設(shè)計方法,試圖從根本上解決漢字編碼設(shè)計中的兼并重碼問題。
為實現(xiàn)上述目的及其他相關(guān)目的,本發(fā)明提供的漢字編碼部件鍵盤兼并零重碼設(shè)計方法,其中所述漢字編碼既可以是單一部件信息,也可以還輔以字的拼音與筆劃等綜合類信息,其特征在于該設(shè)計方法包括如下步驟:在系統(tǒng)中采用了一種漢字部件配置鍵盤的新方法和一種零重碼漢字部件鍵盤兼并的程序設(shè)計方法二項重要技術(shù)措施,以實現(xiàn)在設(shè)定的編碼漢字表范圍內(nèi)和設(shè)定的碼長條件下的零重碼字輸入操作,實施方法是,根據(jù)規(guī)避重碼條件把漢字編碼部件劃分為二類:不可控配置部件和可控配置部件,二類部件分別作出不同的鍵盤配置,其中不可控配置部件按常規(guī)方式配置鍵盤,以便于記憶和操作,如根據(jù)漢字部件的首、次筆劃配置于相應(yīng)字符鍵,這類部件的鍵盤配置是固定的,不受零重碼漢字部件兼并程序操控,選擇不可控配置部件的條件是,不論是部件信息,或是包含有拼音和筆劃等綜合類信息,所有這些不可控配置信息的鍵盤兼并產(chǎn)生的兼并重碼應(yīng)為零,不可控配置部件以外的漢字部件都劃歸可控配置部件,可控配置部件的鍵盤兼并由系統(tǒng)運行零重碼部件兼并設(shè)計程序作出選擇,實施零重碼部件兼并的設(shè)計條件是,這二類不同配置部件之間的鍵盤兼并產(chǎn)生的兼并重碼必須控制在一個極低的系統(tǒng)設(shè)定值之內(nèi),符合此條件的鍵盤兼并測試系統(tǒng)被選定為零重碼漢字部件鍵盤兼并實驗系統(tǒng),在系統(tǒng)設(shè)定值之內(nèi)的個別重碼字將取代與之鍵序操作一致的相應(yīng)簡碼,以此確保實驗系統(tǒng)的字重碼率為真實的“零”。
優(yōu)選地,劃歸不可控配置部件的方法為:首先,把全部漢字編碼部件臨時設(shè)定為不可控配置部件,根據(jù)系統(tǒng)設(shè)定的編碼規(guī)則構(gòu)建相應(yīng)的鍵盤表測定系統(tǒng)重碼,并在每個系統(tǒng)重碼字組中取出一個組字部件,如果前面劃出的部件中已包含有該重碼字的一個組字部件,就無需再從中劃出部件,跳過它取下一個重碼字,直至所有系統(tǒng)重碼字處理完畢;從重碼字中被劃出的部件都歸入可控配置部件,其余所有部件,包括不產(chǎn)生重碼的部件都留歸不可控配置部件,經(jīng)過部件更新處理后,所有的不可控配置部件以及拼音、筆劃等不可控配置信息,它們之間產(chǎn)生的兼并重碼應(yīng)為零。
優(yōu)選地,為了確保不可控配置部件和可控配置部件二類不同配置部件的鍵盤兼并產(chǎn)生的兼并重碼接近零,按以下方法和步驟首先測出一系列零重碼漢字部件兼并測試單元:
1)逐個地提取漢字的可控配置部件,測定它與各個鍵位的不可控配置部件的鍵盤兼并是否會產(chǎn)生重碼,系統(tǒng)記錄下不產(chǎn)生兼并重碼的單個可控配置部件,于是各鍵位組建起一系列零重碼單部件可容性兼并對;
2)接著根據(jù)零重碼部件互容性兼并原則,即在同一鍵位的零重碼單部件可容性兼并對之間才具有提升為雙部件互容性合成兼并對的必要條件,據(jù)此條件,并經(jīng)兼并重碼測定與篩檢,把每個單部件可容性兼并對提升為一組雙部件互容性兼并對;
3)同樣方法,進一步提升可控配置部件兼并對至系統(tǒng)設(shè)定值??紤]到可控配置部件將被均衡標識于26個字符鍵鍵面,可控配置部件兼并對的系統(tǒng)設(shè)定值,不宜超過“4”,即提升至最高的互容性合成兼并對為4個可控配置部件,至此,組建成26個鍵位屬下的一系列零重碼漢字部件的兼并測試單元,并依次給各鍵位屬下的每一個兼并測試單元賦于一個序號,如“a”鍵位屬下的第1個測試單元的序號為ja1,第n個測試單元的序號為jan,同樣,“b”鍵位屬下的第1個、第n個測試單元序號分別為jb1、jbn,也因此把ja~jz分別設(shè)定為26個鍵位的零重碼部件兼并測試單元的本地計數(shù)器,而這26個本地計數(shù)器的集合體便設(shè)定為零重碼部件兼并測試系統(tǒng)的系統(tǒng)計數(shù)器j*。
優(yōu)選地,經(jīng)過系統(tǒng)測定,每個字符鍵均包含有一系列零重碼漢字部件兼并測試單元,依次從每個鍵位取出一個兼并測試單元有序地組建成一個零重碼漢字部件兼并測試系統(tǒng),具體包括如下步驟:
1)依次取出的26個不同鍵位的測試單元而組建成一個零重碼漢字部件兼并測試系統(tǒng)。測試系統(tǒng)中全體可控配置部件必須保持“互補性兼并”條件,即從各鍵位提取的零重碼漢字部件兼并測試單元中不能有相同的可控配置部件;
2)接著測定其中每一個符合“互補性兼并”條件的零重碼漢字部件兼并測試系統(tǒng)產(chǎn)生的兼并重碼,系統(tǒng)程序?qū)⒆詣优懦舫^系統(tǒng)重碼設(shè)定值的部件兼并測試系統(tǒng),留下不超過系統(tǒng)重碼設(shè)定值的測試系統(tǒng)被選定為“零重碼漢字部件鍵盤兼并實驗系統(tǒng)”。
優(yōu)選地,零重碼漢字部件兼并測試系統(tǒng)的檢測條件是系統(tǒng)中26個鍵位的零重碼部件兼并測試單元中無相同的可控配置部件,為達成這一條件又不遺漏掉任何一個可能的零重碼漢字部件鍵盤兼并測試系統(tǒng),在系統(tǒng)中創(chuàng)建二類計數(shù)器以保證測試過程有序而自動地進行:一類是本地計數(shù)器ja~jz,共26個,用以指示各鍵位系列中當前的零重碼漢字部件兼并測試單元的序號;另一類是系統(tǒng)計數(shù)器j*,是系統(tǒng)26個鍵位本地計數(shù)器ja~jz的集合,其中“ja”為最低鍵位,“jz”為最高鍵位,系統(tǒng)計數(shù)器j*的計數(shù)特點:只有檢測到當前鍵位的兼并測試單元和之前檢測過的所有低鍵位當前測試單元中無一個相同可控配置部件,系統(tǒng)計數(shù)器j*才向相鄰的一個高鍵位本地計數(shù)器進位,否則繼續(xù)往下計數(shù),直至該鍵位本地計數(shù)器計數(shù)至最高值,接著該鍵位本地計數(shù)器清零,系統(tǒng)計數(shù)器j*向相鄰的一個低鍵位本地計數(shù)器進位,并繼續(xù)往下計數(shù),直到在該鍵位上搜索到當前鍵位測試單元和之前檢測過的所有低鍵位當前測試單元中無一個相同可控配置部件,系統(tǒng)計數(shù)器j*才向相鄰的一個高鍵位本地計數(shù)器進位,這樣的搜索過程直到系統(tǒng)計數(shù)器j*增至極限值,即26個本地計數(shù)器均計數(shù)至最高值,零重碼漢字部件兼并測試系統(tǒng)搜索完畢,搜索到的零重碼漢字部件兼并測試系統(tǒng)按系統(tǒng)計數(shù)器j*當前指示值,即26個鍵位本地計數(shù)器ja~jz的當前指示值,記錄在“系統(tǒng)待測區(qū)”,等待作零重碼漢字部件兼并測試系統(tǒng)的兼并重碼測定。其中,兼并重碼數(shù)不超過系統(tǒng)重碼設(shè)定值的測試系統(tǒng)被選定為“零重碼漢字部件鍵盤兼并實驗系統(tǒng)”。
如上所述,本發(fā)明的漢字編碼部件鍵盤兼并的零重碼設(shè)計方法具有以下有益效果:該設(shè)計方法基本原理是籍助程序?qū)Σ考娌⑦M行重碼檢測和規(guī)避處理。部件兼并產(chǎn)生的是“兼并重碼”,通過程序設(shè)計是可以預(yù)先測定的,因而也是可以規(guī)避的,以達到最大限度地利用不同部件間的離散特性,其得益最大,付出代價幾乎是零。然而零重碼部件兼并不是人腦所能負荷。唯有在規(guī)避兼并重碼的設(shè)計條件下,運行零重碼漢字部件鍵盤兼并程序,由系統(tǒng)程序?qū)嵤┎考g的選擇性兼并組合,才可能把兼并重碼科學地和理性地降至零,從而在5000常用字范圍內(nèi)、四碼甚至三碼長條件下真實地實施零重碼字輸入操作。
附圖說明
圖1為本發(fā)明實施例的基本設(shè)計流程。
具體實施方式
以下通過特定的具體實例說明本發(fā)明的實施方式,本領(lǐng)域技術(shù)人員可由本說明書所揭露的內(nèi)容了解本發(fā)明的技術(shù)特點與功效。本發(fā)明還可以通過另外不同的方式加以實施或應(yīng)用,本說明書中的各項細節(jié)也可以基于不同應(yīng)用場合,在沒有背離本發(fā)明的精神下進行各種修飾或改變。需要說明的是,本實施例中所提供的圖示僅以示意方式說明本發(fā)明的基本構(gòu)想,圖示中僅顯示與本發(fā)明中相關(guān)的一些構(gòu)件,而在實際實施時的構(gòu)件內(nèi)容與圖示中描述的可能有所變化。本發(fā)明將通過這個設(shè)計方案來說明漢字部件鍵盤兼并的零重碼設(shè)計方法。至今尚未查到類似的設(shè)計方法及其資料,為此這里對本發(fā)明從原理開始作較詳細說明。
一,漢字離散性分析
漢字編碼設(shè)計的目的在于,利用漢字特征信息(部件、拼音、筆劃等)充分地離散漢字以利于機器能自動地識別不同漢字。因此編碼設(shè)計的核心技術(shù)就是在易識別的編碼規(guī)則、有規(guī)則的鍵盤配置與零重碼部件兼并設(shè)計等編碼三要素之間,找到一個互相依托的支撐點。
這里提出5000常用字、三碼(或四碼)的零重碼字操作設(shè)計方案正是出于這種均衡性、實用性和可行性的綜合考量。
字元(部件、拼音、筆劃等構(gòu)字元素)兼并重碼是怎么產(chǎn)生的?以三碼長字編碼為例,如果字的首、次、末三個同序字元分別兼并于相同鍵位,這些字便構(gòu)成重碼字。只要其中一個鍵序處于不同鍵位即可避免兼并重碼。零重碼部件兼并設(shè)計就是根據(jù)這一簡單原理,但是要把數(shù)百個部件配置到26個字符鍵而不產(chǎn)生兼并重碼就不簡單了,非人腦所能負荷。
實施零重碼字元兼并設(shè)計必須充分提升漢字離散性。否則,難以在易識別的編碼規(guī)則、有規(guī)則的鍵盤配置環(huán)境下達成5000常用字、三碼(或四碼)的零重碼字輸入目的。
傳統(tǒng)漢字系統(tǒng)提升離散性的措施通常是細化漢字部件拆分規(guī)則。部件劃分越細,分配給每個部件的漢字數(shù)就少,其離散性就越好,但是大部件(高頻組字部件)往往很難進一步拆分,所以增加部件數(shù)量未必是提升漢字離散性的有效措施,反而會增加操作難度。
那末,本方案將采取哪些措施來提升漢字離散性?
1,信息分類編碼:充分利用漢字多信息類特征,采用綜合信息(部件、聲母和筆劃等)編碼可增加字的信息量,提升漢字離散性。其中的聲母和筆劃也容易分辨。
2,鍵序分級編碼:不同鍵序級別下的漢字分別進行編碼,可大幅提升漢字離散性。
對于一個真實的零重碼輸入系統(tǒng),數(shù)字鍵已失去“選字”功能。鍵序分級編碼系統(tǒng)將重新開發(fā)數(shù)字鍵功能:同一數(shù)字鍵視其不同鍵序位既可執(zhí)行原始的數(shù)字或符號功能、代行筆劃功能或作為輔助鍵替代“字結(jié)束鍵(space)”,起到一鍵多功能作用(見下述表一)。
3,運行零重碼部件兼并程序,籍助程序?qū)Σ考娌⑦M行重碼檢測和規(guī)避處理,最大限度地發(fā)揮不同部件間的離散特性,是降低系統(tǒng)重碼乃至實施零重碼的最科學有效方法。
二,易識別的編碼規(guī)則
編碼規(guī)則關(guān)系到鍵盤操作的品質(zhì)和效率。編碼規(guī)則與漢字離散性往往有矛盾,“易識別的編碼規(guī)則”會造成漢字離散性不足。為彌補離散性不足,本方案規(guī)則作了全面革新:
1,易識別的字體結(jié)構(gòu)為編碼要素:傳統(tǒng)編碼設(shè)計都把漢字直接拆分為部件。這種解析漢字的離散性雖好,但漢字結(jié)構(gòu)復(fù)雜多變,難以確立明析的拆分規(guī)則,易產(chǎn)生歧義。拆分標準往往因人迥異,當今形碼方案,幾乎是一個方案一個標準,讓人們無所適從。為此,本系統(tǒng)提供一種新的編碼設(shè)計方案:回避直接部件拆分法,以人們?nèi)菀妆孀R的字體結(jié)構(gòu)為先導。在此基礎(chǔ)上劃定編碼單體,并以大眾熟悉的傳統(tǒng)偏旁部首為主體字元,輔以漢字的其它類信息元素(聲母、筆劃等),構(gòu)建5000常用字的編碼字元表。這樣一來,好處是小部件拆分改換為大部件拆分,漢字拆分規(guī)則中一些難鑒定,一直存在爭議和歧義的問題較容易解決。不足處是,這種解析方法的編碼部件數(shù)量較少,對于獨體字僅一碼,雙體字也只二碼,漢字離散性較差,因此要用字的其它類信息,如字的聲母(shift/字符鍵為代碼)作補充,再輔以一個字末筆劃(數(shù)字鍵1~5為代碼),充分提升離散性。同時,筆劃鍵充當“字結(jié)束鍵”。
2,漢字編碼字元:
①獨體字:5000常用字內(nèi)有組字功能的獨體字(成字部件)構(gòu)成一類組字部件。
②類獨體:為了便于用戶對漢字字體結(jié)構(gòu)的分析和編碼,漢字拆分過程中,凡遇到既不屬于有組字功能的獨體字,又不屬于偏旁部首,都將歸納為“類獨體”部件。
③偏旁部首:獨體字以外有組字功能的部件,也是人們查字典養(yǎng)成的習慣。
④聲母:漢字聲母按其輔音配置鍵盤(ch、sh、zh分別定位i、u、v)。
⑤末筆劃:選擇末筆作為輔助鍵是它與部件離散沒有沖突,對提升漢字離散性有一定作用。
3,確立5000常用字編碼規(guī)則:
①獨體字(包含難檢字):5000常用字內(nèi)不論有組字和無組字功能的獨體字以及按字體結(jié)構(gòu)難以解析的字(所謂的“難檢字”)以及少于三筆(含三筆)的字,均稱之謂獨體字。
②雙體字:明顯分為左右型、上下型、包圍(內(nèi)外)型二個單體的字,均稱雙體字。
凡屬“交接型”結(jié)構(gòu)的單體不再拆分為二個部件或單體,如“中”不拆分為“口”和“丨”?!跋嘟有汀苯Y(jié)構(gòu)單體除可明顯拆分為二部件(如“另”可拆為“口”和“力”)的,一般不拆。
③三體字(或多體字):包含左中右型、上中下型、框內(nèi)左右、框內(nèi)上下等漢字,即使包含不止三個單體,均按三體字取碼,按序取其首、次、末三個單體(部件)進行編碼。
若雙體字中的一個單體既不是獨體字,又能被分解為二個獨體字(或構(gòu)字部件)或一個獨體字和一個構(gòu)字部件,則按三體字取碼。三體字一般不作進一步拆分。
④雙體或三體字的取碼按其字體結(jié)構(gòu)而非書寫次序:先外后內(nèi)、先上后下、先左后右。
⑤遇到與傳統(tǒng)部件相似不相同構(gòu)件(個別筆劃有異),作模糊處理,按傳統(tǒng)部件取碼。
列出5000常用字編碼的壓鍵規(guī)則見表一。
表一:5000常用字編碼的壓鍵規(guī)則
注:表中所述重碼,即是經(jīng)零重碼部件兼并設(shè)計程序處理后留下的個別重碼;表中“x”為無效鍵。
三,漢字特征碼信息結(jié)構(gòu)
特征碼漢字(編碼)表分為字元表與鍵盤表二類。前者用于編碼設(shè)計,后者用于編碼操作。1,漢字特征碼字元表(以下簡稱yg表)
構(gòu)建特征碼字元表(構(gòu)字元素表),首先要設(shè)定漢字構(gòu)字(編碼)字元的代碼表,依次分解漢字庫(如gb2312)中的每個漢字。漢字特征碼包括國標地址及特征單元二部份。其中所述的“國標地址”是虛擬地址,用來標示pc(處理器)地址到國標漢字的一種特定“映射”關(guān)系,用國標地址來映射漢字。在這里,有二種處理方式可供選擇:
通常的程序處理采用漢字集成式字元表,因集成式字元表中漢字排列與字庫地址(存放漢字國標碼)都是連續(xù)的,一種簡單處理方式,使二者的高位地址碼保持區(qū)域差,而低位地址碼則相同,通過(立即)尋址找出國標地址在字庫中映射的國標碼(漢字),簡單直觀;
確定編碼字元和編碼規(guī)則后,就可以構(gòu)建5000常用字集成式編碼字元表,作為實施零重碼部件兼并設(shè)計系統(tǒng)的信息源,其示例見表二。
表二:5000常用字編碼字元表(yg表)示例
注1,實際列表中字庫采用gb2312,按國標碼排序。示例是為體現(xiàn)5000常用字編碼特征和分類;
2,輔助(字結(jié)束)字元欄中“00”標示為無效位。
當處理零重碼部件兼并設(shè)計時,宜采用漢字分列式字元表,由于表中漢字排列是離散的,要設(shè)置一個地址轉(zhuǎn)換器,其中的操作數(shù)存放字庫中每個漢字的地址碼,通過(直接)尋址找出它在字庫中映射的國標碼(漢字),直接便捷。
程序設(shè)計時,為使雙字節(jié)國標碼有別于單字節(jié)字符代碼,免于機器難以分辨而產(chǎn)生亂碼,系統(tǒng)中的國標碼常用機內(nèi)碼替代。
2,漢字特征碼鍵盤表(以下簡稱jg表)
為了實施有效的鍵盤輸入操作,要在上述漢字特征碼yg表基礎(chǔ)上進行編碼設(shè)計,即要對字元(部件)進行鍵盤兼并,設(shè)計一個高效高質(zhì)的“字元(部件)/鍵位代碼配置表”是一項艱難任務(wù),但把特征碼yg表轉(zhuǎn)換為特征碼jg表十分簡單,通過變換字元(部件)代碼為所屬鍵位代碼(如ascii碼),電腦將自動把yg表轉(zhuǎn)換為jg表。因此jg表與yg表的結(jié)構(gòu)相同,同樣包含國標地址和特征單元二部分。
分列式特征碼信息列表是一種開放型掛接式結(jié)構(gòu),處理信息快速靈活。它的一個重要特征:復(fù)合部件的分列式特征碼鍵盤表可通過配置于同一鍵位的各個部件的分列式特征碼鍵盤表的“或”操作直接生成,無需另建jg表,因而有利于零重碼部件兼并程序的自動化處理。兼并重碼是在jg表基礎(chǔ)上測定的,涉及到各鍵位復(fù)合配置部件的急速變換,若不采用分列式特征碼列表結(jié)構(gòu),每次都要轉(zhuǎn)換為集成式j(luò)g表再來測定系統(tǒng)重碼,勢必嚴重影響零重碼部件兼并程序的自動化進程。分列式信息列表結(jié)構(gòu)的這一特性將簡化零重碼部件兼并設(shè)計程序,加速系統(tǒng)程序的自動化處理。
3,設(shè)立字編碼緩沖區(qū)。
字編碼緩沖區(qū)包含國標地址和國標單元二部份。同上所述,國標地址映射漢字庫。國標單元記錄字輸入信息。國標單元與特征碼鍵位表(jg表)中的特征單元,二者結(jié)構(gòu)與作用完全不同。特征單元是預(yù)先設(shè)定的系統(tǒng)信息源,與輸入信息無關(guān),信息單位是byte(字節(jié));而國標單元中的數(shù)據(jù)是輸入操作決定的,記錄的是輸入信息與特征單元中相應(yīng)鍵序信息的比對結(jié)果:“是”或“否”,其信息單位是bit(位元)。
緩沖區(qū)的作用是儲存輸入信息、判別編碼操作,在零重碼兼并設(shè)計中參與重碼監(jiān)測過程。4,實施本方案要創(chuàng)建每一個部件、聲母和末筆的分列式特征碼字元表。
聲母與末筆的分列式鍵盤表與其字元表是同一的(不存在鍵盤兼并問題),而部件的分列式鍵盤表即是配置于同一鍵位的復(fù)合部件表。
分列式部件表均可通過系統(tǒng)程序?qū)ζ浼墒讲考硭阉骱吞幚碜詣由伞R越⒉考翱凇钡姆至惺搅斜頌槔?,其生成步驟如下:
①從5000常用字編碼字元表(表二)中依次搜索每個漢字的首鍵序是否屬于部件“口”?若“是”,在其分列式部件“口”列表中該字控制碼的相應(yīng)位d0標記“1”。若“不是”,則保持“0”。
②同樣方法,從yg表中依次搜索每個字的次鍵序和末鍵序是否屬于部件“口”?若“是”,在其分列式部件“口”列表中該字控制碼的相應(yīng)位d1、d2分別標記“1”。若“不是”,則保持“0”。
部件“口”分列式特征碼列表結(jié)構(gòu)(示例)見表三。
表三:漢字特征碼分列式字元(部件)列表結(jié)構(gòu)(示例)
聲母的分列式列表需分別列出其代碼“shift/a~z”等26個不同聲母及類聲母的漢字表;末筆劃的分列式列表需分別列出其代碼“數(shù)字1~5”等5個不同末筆劃的漢字表。
以上內(nèi)容為實施本發(fā)明有關(guān)的技術(shù)支柱,下面是與本發(fā)明相關(guān)的實質(zhì)性(主體)內(nèi)容。
四,合理的鍵盤配置
鍵盤配置把字元轉(zhuǎn)換為可操作的碼元,也因此產(chǎn)生重碼。規(guī)避兼并重碼是編碼設(shè)計的重要內(nèi)容。
1,漢字系統(tǒng)中的重碼分為固有重碼和兼并重碼:固有重碼是字元碼基礎(chǔ)上產(chǎn)生的重碼,而兼并重碼是鍵盤碼基礎(chǔ)上產(chǎn)生的重碼。
2,合理的鍵盤配置意味著在同等的記憶條件下,操作容易和重碼最低。這里提出一種行之有效的漢字部件配置方法,在同樣的記憶負擔下甚至有可能把字重碼降至零。實施方法:設(shè)計者主動把編碼部件劃歸二類:不可控配置部件和可控配置部件。二者不同配置部件分別作不同配置處理:
①不可控配置部件:一般按部件本身特點,如構(gòu)件筆順或其發(fā)音等特點來配置鍵盤。不可控配置部件產(chǎn)生的重碼,無法運行零重碼部件兼并程序來控制,但可以通過更新部件配置方式來規(guī)避重碼,如控制配置部件范圍和產(chǎn)生重碼條件,也就是說,把其中的一部分不可控配置部件劃歸為可控配置部件,使更新后的不可控配置(復(fù)合)部件之間不再產(chǎn)生重碼。由于不可控(固定)配置部件的鍵盤定位有規(guī)則可循,這類配置部件一般無需標識于鍵面;
②可控配置部件:不可控配置部件以外的編碼部件均劃歸可控配置部件,將運行零重碼漢字部件兼并程序與上述不可控(固定)配置部件作兼并處理,以此規(guī)避所有可控配置部件產(chǎn)生鍵盤兼并重碼??煽嘏渲貌考逆I盤配置無規(guī)則可循,為便于操作,擬應(yīng)標識在鍵面。出于均衡配置,每個字符鍵面不宜超過4個,因此可控配置部件數(shù)量應(yīng)控制在100個以內(nèi)。
3,那么,究竟如何規(guī)劃上述二類不同配置部件?
首先把全部編碼部件暫定為不可控配置部件,從中選定組字率最高的一個部件(如獨體字“口”),定位于“z”鍵,其余部件按首次筆劃配置在“a~y”等25個鍵位中的相應(yīng)鍵位。為此,建立一個“不可控(固定)配置部件鍵盤表”,見表四。
表四:不可控(固定)配置部件鍵盤表(按標準鍵盤位置列表,配置部件均按首次筆劃定位)
根據(jù)表四,把yg表轉(zhuǎn)換成jg表,即把yg表中的部件代碼改換為所屬鍵位代碼。前面曾說過,若系統(tǒng)中采用的是分列式信息結(jié)構(gòu)的yg列表,無需把yg表轉(zhuǎn)換成jg表。從不可控(固定)配置(復(fù)合)部件鍵盤表(表四)中搜索同鍵位的所屬部件,通過這些分列式y(tǒng)g表的“或”操作即可直接生成相應(yīng)鍵位的分列式j(luò)g表。
4,搜索系統(tǒng)重碼。搜索系統(tǒng)固有重碼是在漢字字元表(即yg表)基礎(chǔ)上展開的,而兼并重碼是在漢字鍵盤表(jg表)基礎(chǔ)上展開的。
搜索固有重碼:
在漢字編碼字元表(表二)中搜索出首字元、次字元、末字元以及輔助字元等信息都相同的漢字,便構(gòu)成系統(tǒng)固有重碼。由于部件的離散率大大高于碼元,因此固有重碼一般極少。
搜索兼并重碼:
①從5000常用字編碼字元表(表二)中排除固有重碼字。把其余所有字列為“重碼監(jiān)測字組”,并把指針指向其字組的第一個字作為“當前重碼監(jiān)測字”進行兼并重碼監(jiān)測。
②檢出“當前重碼監(jiān)測字”的首鍵序、次鍵序、末鍵序、輔助鍵序等信息,根據(jù)“不可控(固定)配置(復(fù)合)部件鍵盤表”(表四)中各個鍵序信息所屬鍵位。找出配置于所屬鍵位的各字元分列式y(tǒng)g列表,把列表中相應(yīng)控制碼為“1”的字分別置入字編碼緩沖區(qū)該字國標單元的d0、d1、d2、d3位。
③搜索字編碼緩沖區(qū)國標單元,其中d0d1d2d3均為“1”的漢字即為“當前重碼監(jiān)測字”的兼并重碼字,記錄這些字在系統(tǒng)設(shè)定的“重碼列表”。若沒有搜索到d0d1d2d3均為“1”的漢字,說明該“當前重碼監(jiān)測字”不存在兼并重碼。
④接著把系統(tǒng)緩沖區(qū)清零,并檢出“重碼監(jiān)測字組”中的第二個漢字移入“當前重碼監(jiān)測字”作以上相同監(jiān)測。直至“重碼監(jiān)測字組”中最后一個漢字移出為止。“重碼列表”記錄有搜索到的所有兼并重碼。
5,分析“重碼列表”與劃定二類不同配置部件
實現(xiàn)零重碼字操作的條件是系統(tǒng)重碼降至零,方法是調(diào)整每個重碼字組中一個部件的配置地位。依次從“重碼列表”找出每一組重碼字,如果其中沒有發(fā)現(xiàn)改編后的可控配置部件,一般地把其中的高頻組字部件改編為可控配置部件。這是因為組字頻率較高的部件產(chǎn)生重碼的幾率一般也較高,因此調(diào)整重碼的效果也較好。除此以外的編碼部件留歸不可控配置(復(fù)合)部件。調(diào)整后的“不可控配置部件”與聲母及末筆等其它“不可控配置信息”之間產(chǎn)生的重碼應(yīng)降至零(固有重碼除外)。接著,被劃出的“可控配置部件”與調(diào)整后的“不可控配置部件”將運行零重碼部件兼并程序把系統(tǒng)兼并重碼降至零。
五,零重碼漢字部件兼并測試單元
零重碼漢字部件兼并測試單元是創(chuàng)建零重碼漢字部件兼并測試系統(tǒng)的基本測試單位。
1,規(guī)劃了不可控配置部件和可控配置部件,接著要進行二者不同配置部件間的鍵盤兼并。參與零重碼兼并測試的漢字只是包含可控配置部件的雙體字和三(多)體字。聲母和末筆劃要參與零重碼兼并測定,但它們與部件屬不同鍵位、鍵序特征,二者間不作兼并,實施鍵盤兼并只是在可控配置部件與不可控(固定)配置部件之間。
2,參與零重碼字元兼并測試的字元有二部分:
一是將被測定(兼并)的可控配置部件。這里假定參與測定的可控配置部件不足80個。根據(jù)可控配置部件均衡分配原則,系統(tǒng)可控配置部件設(shè)定值為其部件實際數(shù)量的1/26,這里可控配置部件的系統(tǒng)設(shè)定值取“3”。y0即為可控配置部件列表(表五縱列所示)。
二是經(jīng)過重碼測定與分析,更新后的不可控(固定)配置字元列表y1(表五橫列所示)包含有ya~yy和yz等26個鍵位列表,更新后的復(fù)合配置字元之間經(jīng)過系統(tǒng)測定不會產(chǎn)生兼并重碼。這是確保系統(tǒng)重碼為零的一個必要條件。
為了有序地測定一系列的部件兼并測試單元,擬建一個“可控配置部件與不可控(固定)配置部件之間的零重碼部件兼并測定圖表”是有助的,其示例見表五。
在此基礎(chǔ)上測定出每個鍵位的不可控(固定)配置(復(fù)合)部件表y1與每個可控配置部件y0之間是否產(chǎn)生兼并重碼?籍此完成整個零重碼漢字部件兼并測試圖表(表五)的測定。
表五:可控配置部件與不可控(固定)配置部件之間零重碼漢字部件兼并測定圖表(示例)
注1,橫向列表y1標示不可控配置(復(fù)合)部件兼并鍵盤后的相應(yīng)鍵位代碼,縱向列表(y0)為可控配置部件代碼。
2,圖表中“x”標示二者不同配置字元兼并后有重碼,空格標示沒有重碼(本圖表僅是示例,非實例)。
為了兼并處理和重碼測定能有序地進行,系統(tǒng)給每個鍵位在測定零重碼兼并測試單元時設(shè)立一個本地計數(shù)器ja~jz。測定之前,本地計數(shù)器ja~jz置“0”。
3,獨體字、雙體字的編碼都輔以聲母信息,各有獨特的鍵序操作(分級編碼),它門之間不會產(chǎn)生兼并重碼,也不會與三體字產(chǎn)生兼并重碼,因此測定零重碼部件兼并測試單元只需在同一字體內(nèi)進行。獨體字、雙體字及三體字既可以分別進行兼并重碼測定,以便提高測定效率,也可以合并一起進行兼并重碼測定,以便簡化程序設(shè)計,二種測定結(jié)果是相同的。這里將以雙體字進行兼并重碼測定為例,敘述可控配置部件與不可控配置部件二者之間的零重碼部件兼并測試過程,通過這項測試,檢出其中一個鍵位的不可控配置(復(fù)合)部件與一個可控配置部件的兼并不產(chǎn)生兼并重碼,而成為零重碼單個(可控配置)部件可容性兼并對,并在此基礎(chǔ)上逐步提升零重碼可控配置部件的兼并率,直至達系統(tǒng)設(shè)定值(這里系統(tǒng)兼并率設(shè)定值選定為“3”),即完成一個零重碼可控配置部件兼并測試單元的測定,同時該鍵位本地計數(shù)器增“1”。4,測定零重碼漢字部件兼并測試單元與搜索兼并重碼是不同的,零重碼部件兼并測試單元屬二者不同配置部件間的兼并重碼測定,要把可控配置部件的兼并率提升至系統(tǒng)設(shè)定值:
①從表五中取出y1列表中的a鍵位復(fù)合部件列表ya,ya與y0列表中01號可控配置部件y01(如:部件“扌”)作兼并,二者兼并后的更新復(fù)合部件列表(y=y(tǒng)a+y01)將是不可控配置分列式復(fù)合列表ya加入可控配置部件y01分列式列表(二者的“或操作”)。從“5000常用字編碼字元表”(表五)中檢出具雙體字特征(其末鍵序是聲母信息)的漢字作為“重碼監(jiān)測字組”。這些字有可能因y1與ya兼并而產(chǎn)生兼并重碼。把其中的第一個漢字移入“當前重碼監(jiān)測字”開始作部件兼并重碼監(jiān)測。
②檢出“當前重碼監(jiān)測字”的首鍵序信息,找出該信息所屬鍵位(更新后的)分列式復(fù)合部件列表。檢出列表中d0=1的所有字移入字緩沖區(qū)同一字(相應(yīng)國標地址)國標單元d0位;
③檢出“當前重碼監(jiān)測字”的次鍵序信息,找出該信息所屬鍵位(更新后的)分列式復(fù)合部件列表。檢出列表中d1=1的所有字移入字緩沖區(qū)同一字(相應(yīng)國標地址)國標單元d1位;
④檢出“當前重碼監(jiān)測字”的末鍵序信息,找出該聲母的分列式(shift/字符信息)列表。檢出列表中d2=1的所有字移入字緩沖區(qū)同一字(相應(yīng)國標地址)國標單元d2位。這里需要注意的是末鍵序信息對雙體字來說屬字的聲母;
⑤最后檢出“當前重碼監(jiān)測字”的輔助(字結(jié)束鍵)信息,找出該字末筆的分列式(數(shù)字1~5)列表。檢出列表中d3=1的所有字移入字緩沖區(qū)同一字(相應(yīng)國標地址)國標單元d3位。這里需要注意的是輔助鍵序?qū)﹄p體字屬字結(jié)束鍵。
⑥搜索字緩沖區(qū)國標單元的d0d1d2d3均為“1”的漢字,即為“當前重碼監(jiān)測字”的兼并重碼。有二種情況需分別處理:
一是沒有搜索到d0d1d2d3均為“1”的漢字,說明該“當前重碼監(jiān)測字”不存在兼并重碼。接著把系統(tǒng)緩沖區(qū)清零,并檢出“當前重碼監(jiān)測字”中的第二個漢字,并把它列為“當前重碼監(jiān)測字”作以上相同監(jiān)測,從②開始。直至“重碼監(jiān)測字組”中最后一個漢字移入“當前重碼監(jiān)測字”,若都沒有產(chǎn)生兼并重碼,說明二者兼并不會產(chǎn)生重碼,表五中相應(yīng)格不作標記,并在此合成兼并對(即把原來的合成字元y重新定義為ya)基礎(chǔ)上“提升”下一個可控配置字元(部件)y02,作新的合成兼并對y=y(tǒng)a+y02的監(jiān)測,從①開始。
二是若搜索到d0d1d2d3均為“1”的漢字,說明該“當前重碼監(jiān)測字”因二者兼并而產(chǎn)生了兼并重碼,表明零重碼兼并監(jiān)測失敗。立刻停止當前監(jiān)測,在表五相應(yīng)格作出標記“x”。并在原有合成兼并對(即原來的合成部件ya)基礎(chǔ)上把y01“換成”下一個兼并部件y02,作新的合成兼并對y=y(tǒng)a+y02的監(jiān)測,從①開始。
直至表五中最末一個可控配置部件合成兼并對y=y(tǒng)a+y4fh的監(jiān)測完成,表五a鍵位系列作出相應(yīng)可行性“兼并”標記。
接著監(jiān)測b鍵位的合成兼并對y=y(tǒng)b+y1,------直至表五b鍵位系列的最末一個可控配置部件與不可控配置(復(fù)合)部件二者兼并監(jiān)測完成。------
直至表五的最末一個可控配置部件(如“廴”)與尾鍵位(z)系列的不可控配置(復(fù)合)部件,二者的合成兼并對y=y(tǒng)z+y4fh全部測定完成,如同表五中所示。
雖然完成整個表五的過程很繁雜,但并不十分復(fù)雜。均由系統(tǒng)高速循環(huán)程序完成。
5,完成了表五制作,只是實現(xiàn)了單個可控配置部件與固定配置復(fù)合部件間的零重碼部件兼并測定,必須提升可控配置部件兼并率至系統(tǒng)設(shè)定值(如“3”),即逐步提升至y0的三個可控配置部件合成兼并對,成為一個零重碼可控配置部件兼并測試單元。步驟如下:
①以測定后的表五為示例??梢钥闯鯽鍵位固定配置(復(fù)合)部件ya構(gòu)建零重碼單部件兼并對的可控配置部件有:y01、y03、y06、y08、y0a、-------等部件,屬ya的可容性兼并部件。而ya與其它可控配置部件如:y02、y04、y05、y07、y09、y0b、-------等部件之間的兼并測定會產(chǎn)生兼并重碼。在ya單部件可容性兼并對基礎(chǔ)上逐個地提升為雙部件互容性兼并對,并作提升后的兼并測定。
②搜索表五中ya的可容性兼并部件,列出全部的單部件可容性合成兼并對,如y=y(tǒng)a+y01、y=y(tǒng)a+y03、y=y(tǒng)a+y06、y=y(tǒng)a+y08,------,根據(jù)零重碼部件互容性兼并原則,即在同一ya單部件可容性合成兼并對之間才具有提升為雙部件互容性兼并對的必要條件。據(jù)此條件,把每個單部件可容性兼并對提升為雙部件互容性兼并對。提升后的雙部件互容性兼并對:
y=y(tǒng)a+y01升至y=y(tǒng)a+y01+y03、y=y(tǒng)a+y01+y06、y=y(tǒng)a+y01+y08、y=y(tǒng)a+y01+y0a------,y=y(tǒng)a+y03升至y=y(tǒng)a+y03+y06、y=y(tǒng)a+y03+y08、y=y(tǒng)a+y03+y0a、y=y(tǒng)a+y03+y0c------,y=y(tǒng)a+y06升至y=y(tǒng)a+y06+y08、y=y(tǒng)a+y06+y0a、y=y(tǒng)a+y06+y0c、------等雙部件互容性兼并對系列。并逐一地對每個提升后的雙部件兼并對作兼并重碼測定(方法同上)。淘汰產(chǎn)生兼并重碼的雙部件兼并對,留下不產(chǎn)生兼并重碼的雙部件互容性兼并對,并在零重碼雙部件互容性兼并對基礎(chǔ)上再進一步提升為三部件互容性合戍兼并對。如果系統(tǒng)設(shè)定的零重碼兼并測試單元的兼并率為“3”,那末,經(jīng)互容性測定后的三部件兼并對就是一個待測定的零重碼兼并測試單元。如果系統(tǒng)設(shè)定的零重碼兼并測試單元的兼并率為“4”,那末,要繼續(xù)把三部件合成兼并對提升為四部件互容性合成兼并對。測定方法和步驟是相似的。一旦完成一個零重碼兼并測試單元,相應(yīng)鍵位本地計數(shù)器(ja)增“1”。------直至ya與最末一個可控配置部件的零重碼兼并測試單元測定完成。此時,該鍵位本地計數(shù)器(ja)增至最高值。
③接著同樣方法完成其它鍵位的固定配置復(fù)合部件yb~yz的零重碼部件兼并測試單元的系列測定。至此,26個鍵位本地計數(shù)器(ja~jz)都增至最高值,但各鍵位的計數(shù)值是不同的。所有26個鍵位的每一個零重碼兼并測試單元都有各自本地計數(shù)器的一個序號。
最終產(chǎn)生的零重碼部件兼并測試單元數(shù)量將是十分龐大,這龐大數(shù)量或許是必要的,因為一個零重碼漢字部件的鍵盤兼并系統(tǒng)就是在眾多部件相互兼并的夾縫中產(chǎn)生的。重要的是,在不遺留任何一個零重碼測試單元的同時,把運行零重碼部件兼并程序限定在有限時段之內(nèi)。
六,組建零重碼漢字部件兼并測試系統(tǒng)
組建零重碼漢字部件兼并測試系統(tǒng)的一個基本條件,就是各鍵位的零重碼漢字部件兼并測試單元間不應(yīng)包含有相同的可控配置部件,遵循測試系統(tǒng)部件“互補性兼并”條件。
被測定的26個兼并單元ya~yz,其中每個鍵位都包含有一定數(shù)量的零重碼測試單元(系列)。為了從中疏而不漏地組建零重碼字元(部件)兼并測試系統(tǒng),接著要在26個不同鍵位的零重碼測試單元系列之間進行互補性兼并條件檢測,這也是組建零重碼測試系統(tǒng)的一個必要條件。檢測方法如下:
1,這里設(shè)定另一個計數(shù)器:系統(tǒng)計數(shù)器j*。它只是26個本地(鍵位)計數(shù)器的集合體,其中ja為低鍵位,jz為高鍵位。j*進位模式和普通計數(shù)器稍有不同。
2,從26個兼并測試單元系列中取出ya系列中的第一組兼并測試單元(ja增至為“1”),同時又取出yb系列中的第一組兼并測試單元(jb=1)。接著檢測它們二組之間有無相同部件?若有,則jb增“1”(jb=2),取yb系列中的第二組兼并測試單元,繼續(xù)檢測它和ya的當前測試單元(ja=1)二組之間有無相同部件?------直到發(fā)現(xiàn)當前的這二組測試單元之間沒有一個相同部件,即符合部件互補性兼并條件,同時jb本地計數(shù)器停止計數(shù),隨即系統(tǒng)計數(shù)器j*進入高鍵位(z方向)開始計數(shù),即yc本地計數(shù)器jc從0增至“1”(即jc=1);若jb計數(shù)至尾值(最高值)依然存在有相同部件,即全部測試單元都不符合互補性兼并條件,jb返“0”,但不是往高鍵進位,而是往低鍵進位(a方向),即ja增“1”(ja=2)。接著如同上述計數(shù)那樣作互補性兼并條件測定,直到發(fā)現(xiàn)當前的這二個測試單元間無相同部件,即二者符合互補性兼并條件,系統(tǒng)計數(shù)器j*才進入高鍵位計數(shù)(jc=1)。
3,接著取出下一個鍵位yc系列中的第一組兼并測試單元,檢測它與前二組(ya、yb)之間有無相同部件?若有,本地計數(shù)器jc計數(shù)增至“2”(即jc=2),取出yc系列中的第二組兼并測試單元,并檢測它和ya、yb當前測試單元之間有無相同部件?若有,jc繼續(xù)計數(shù)(jc=3),若jc計數(shù)至尾值(最高值)依然存在有相同部件,即當前三個測試單元ya、yb、yc之間依然不符合互補性兼并條件,jc返“0”,jb增“1”。接著j*繼續(xù)計數(shù),并作互補性兼并條件測定,直到發(fā)現(xiàn)當前的這三個測試單元之間符合互補性兼并條件,系統(tǒng)計數(shù)器j*才進入高鍵位計數(shù)(jd=1)。
4,從yd取出第一組兼并測試單元,同法處理。------直至檢出第26個鍵位yz中的首組零重碼兼并測試單元(jz=1),并檢索和前面25個鍵位中檢出的當前測試單元(本地計數(shù)器指示值)中有無相同部件?若有,當前本地計數(shù)器jz增“1”,即取當前鍵位的下一組兼并測試單元,繼續(xù)檢索和前面檢出的所有測試單元中有無相同部件?若無,則把該鍵位計數(shù)器jz指向當前兼并測試單元。至此,找出了首個符合互補性兼并條件的零重碼字元(部件)兼并測試系統(tǒng)。把即時的系統(tǒng)計數(shù)器j*當前計數(shù)值(即26個鍵位本地計數(shù)器ja~jz的當前計數(shù)值)列入“零重碼系統(tǒng)待測區(qū)”,編號為“待測系統(tǒng)#1”。
5,不論jz測試單元中有沒有找出和前25個鍵位測試單元中有無相同部件,只要jz本地計數(shù)器計數(shù)至尾值,jz即刻返回至“0”(jz=0),即yy本地計數(shù)器jy增“1”(也即系統(tǒng)計數(shù)器j*增“1”)。接著按此計數(shù)規(guī)則繼續(xù)往下計數(shù)。如果本地計數(shù)器jy、jz計數(shù)至尾值都沒有發(fā)現(xiàn)符合互補性兼并條件的測試單元,同樣,系統(tǒng)計數(shù)器j*向低鍵進位,即本地計數(shù)器jy、jz返“0”,而jx增“1”,j*繼續(xù)往下計數(shù)。
6,總之,根據(jù)互補性兼并條件,搜索零重碼字元(部件)兼并測試系統(tǒng)過程中,遵循一個原則:只有檢測到當前鍵位測試單元和之前所有的當前測試單元(本地計數(shù)器指示值)中的兼并部件無一個相同部件,系統(tǒng)計數(shù)器j*才向高鍵進位,否則和普通計數(shù)器相同,往低鍵進位。直至系統(tǒng)計數(shù)器j*增至極限值(26個鍵位的本地計數(shù)器都計數(shù)至最高值)。檢測到的符合互補性部件兼并條件的零重碼測試系統(tǒng)均按系統(tǒng)計數(shù)器j*當時的指示值有序地記錄在“零重碼系統(tǒng)待測區(qū)”,等待作零重碼部件兼并測試系統(tǒng)的最終重碼測定。
七,零重碼部件兼并測試系統(tǒng)的重碼測定
“零重碼系統(tǒng)待測區(qū)”中每一個符合互補性兼并條件的測試系統(tǒng)只是符合了零重碼漢字部件兼并系統(tǒng)的一個基本測試條件,并不是充分的。接著要逐一測定“零重碼系統(tǒng)待測區(qū)”中的每一個部件兼并測試系統(tǒng)實際產(chǎn)生的兼并重碼及其數(shù)目。首先確定系統(tǒng)重碼設(shè)定值(如設(shè)定值為“5”),然后從5000常用字yg表中排除一級簡碼字以及獨體、雙體和三體字中消釋的固有重碼字,列為“重碼監(jiān)測字組”。把其中第一個字移入“當前重碼監(jiān)測字”進行重碼監(jiān)測。待測系統(tǒng)的重碼測定與前面所述的兼并重碼搜索方法基本相同。
1,從“零重碼系統(tǒng)待測區(qū)”中檢出“待測系統(tǒng)#1”(根據(jù)待測區(qū)中j*指示值更新待測系統(tǒng))。待測系統(tǒng)漢字鍵盤表即為各鍵位的不可控配置部件和可控配置部件二者組成的復(fù)合部件鍵盤表。前面說過,復(fù)合部件的分列式鍵盤表可通邊配置于同一鍵位的各個部件的分列式鍵盤表的“或”操作生成。根據(jù)鍵盤表即可測定兼并重碼,具體步驟:
①檢出“當前重碼監(jiān)測字”首鍵序信息,搜索“待測系統(tǒng)鍵盤表”中該信息所屬鍵位。找出配置于所屬鍵位的各部件分列式列表,把其中控制碼d0=1的字置入編碼緩沖區(qū)該字國標單元d0位。
②檢出“當前重碼監(jiān)測字”的次鍵序、末鍵序、輔助鍵序等信息,分別搜索“待測系統(tǒng)鍵盤表”中各鍵序代碼所屬鍵位。找出配置于所屬鍵位的各部件分列式列表,把其中相應(yīng)控制碼為“1”的字分別置入系統(tǒng)字編碼緩沖區(qū)該字國標單元d1、d2、d3位;
③搜索字緩沖區(qū)國標單元,其中d0d1d2d3均為“1”的字即為“當前重碼監(jiān)測字”的兼并重碼,被記錄在“重碼列表”。只要其中有一位是“0”,說明該字不存在兼并重碼。
接著把緩沖區(qū)清零,并檢出“重碼監(jiān)測字組”中的第二個字移入“當前重碼監(jiān)測字”作以上相同監(jiān)測。直至字組中最后一個字移出為止?!爸卮a列表”記錄有搜索到的重碼字。
2,接著把“重碼監(jiān)測字組”中第二個字移入“當前重碼監(jiān)測字”進行上述同樣的重碼監(jiān)測------,檢測到的重碼字存入“重碼列表”,一旦“重碼列表”中記錄的重碼數(shù)超過系統(tǒng)設(shè)定值,立即取消當前系統(tǒng)重碼測定,轉(zhuǎn)向“零重碼系統(tǒng)待測區(qū)”中下一個兼并測試系統(tǒng)。如果沒有超過,重碼測定繼續(xù)進行。直至“重碼監(jiān)測字組”中最后一個字的兼并重碼測定完畢,從中列出低于系統(tǒng)重碼設(shè)定值的漢字部件兼并測試系統(tǒng)作進一步的消釋系統(tǒng)重碼處理。
3,接著從“零重碼系統(tǒng)待測區(qū)”中檢出“待測系統(tǒng)#2”。同法測定出它的系統(tǒng)重碼。直至從“零重碼系統(tǒng)待測區(qū)”中檢出最后一個兼并測試系統(tǒng)和測定出它的系統(tǒng)重碼。
4,依次列出重碼數(shù)低于系統(tǒng)設(shè)定值的零重碼部件兼并測試系統(tǒng)及其重碼列表,采用下述方法消釋其中系統(tǒng)重碼,并作為“零重碼漢字部件兼并實驗系統(tǒng)”進入實際操作和檢驗。
八,消釋系統(tǒng)重碼(固有重碼和兼并重碼)
實際上,系統(tǒng)可能還會出現(xiàn)極少量的固有重碼和兼并重碼,尤其是獨體字重碼。雖說獨體字數(shù)量不多,加之聲母與末筆的離散,產(chǎn)生重碼的幾率很小,但獨體字編碼信息中的漢字部件(只有部件能轉(zhuǎn)換為可控配置地位)僅占一個鍵序,其它的聲母和末筆鍵序都屬不可控配置字元,無法更新鍵盤配置。雙體字鍵序中,部件也僅占二個鍵序,最終也可能留存極少量重碼無法靠更新鍵盤配置來化解。為此都可采用簡碼校正法來消釋留存的個別重碼:
重碼屬獨體字:選擇其中符合鍵序操作的重碼字作為一級簡碼;
重碼屬雙或三(多)體字:可選擇其中符合鍵序操作的重碼字選為二級簡碼。
上述實施例僅例示性說明本發(fā)明的原理及其功效,而非用于限制本發(fā)明。熟悉了本發(fā)明的技術(shù)人士皆可在不違背本發(fā)明的精神及范疇下,對上述實施例進行修飾或改變。因此一切在本發(fā)明所揭示的精神與思想下完成的等效修飾或改變,仍應(yīng)由本發(fā)明權(quán)利要求所涵蓋。