專(zhuān)利名稱(chēng):夫子碼的制作方法
技術(shù)領(lǐng)域:
夫子碼是拼形碼,屬于漢字編碼領(lǐng)域的發(fā)明,其成果可為中文信息處理提供超過(guò)十萬(wàn)個(gè)漢字字符的碼本,也為辭書(shū)界提供新的單字檢索表。
背景技術(shù):
信息技術(shù)需要處理十萬(wàn)個(gè)以上漢字字符,唯有拼形碼能做到低重碼率,使中文的鍵盤(pán)輸入快捷。內(nèi)碼雖然無(wú)重碼,但它具有不可記憶性;拼形碼是有規(guī)則的編碼,具有可記憶性,數(shù)碼能在碼長(zhǎng)為6且無(wú)簡(jiǎn)碼時(shí)實(shí)現(xiàn)無(wú)重碼,可做交換碼使用,并使字、詞混合處理成為可能。
發(fā)明內(nèi)容
夫子碼將漢字筆畫(huà)分為直、彎、鉤三種類(lèi)型(三筆直彎鉤),把輸入鍵盤(pán)劃分為三個(gè)筆畫(huà)區(qū)和一個(gè)共容區(qū)(調(diào)節(jié)區(qū)),作為字根定位的依據(jù),對(duì)宋體字作四位數(shù)編碼(數(shù)碼再加序號(hào)碼)。共容區(qū)區(qū)內(nèi)的字根,首筆可直、可彎、可鉤,共容字根使一些單字在替換字體文件時(shí)做到形變碼不變。字根的設(shè)置和組合只考慮字形、筆順,不考慮字源、字理。復(fù)合字根確保單字拆分的單一性。
鍵盤(pán)有字母鍵盤(pán)和數(shù)字鍵盤(pán)。字母鍵盤(pán)以26個(gè)字母為碼元,441個(gè)字根與之對(duì)應(yīng)。中排鍵為直筆區(qū),其中A、S、D、F、G五個(gè)鍵橫起筆,H、J、K、L四個(gè)鍵豎起筆。上排鍵為彎筆區(qū),其中Q、W、E、R、T五個(gè)鍵撇起筆,Y、U、I、O、P五個(gè)鍵點(diǎn)、捺起筆。下排鍵的B、N、M三個(gè)鍵為鉤筆區(qū),M為順時(shí)針?lè)较虻你^折,N為逆時(shí)針?lè)较虻你^折,B鍵是這個(gè)區(qū)的調(diào)節(jié)鍵,未在這個(gè)區(qū)列出的所有單筆畫(huà)鉤筆字根按鉤折方向取M或N為字根碼。Z、X、C、V四個(gè)鍵組成共容區(qū)。
數(shù)字鍵盤(pán)以0至9十個(gè)數(shù)字為碼元,417個(gè)字根與之對(duì)應(yīng)。①、④、⑦三個(gè)鍵為直筆區(qū),其中④鍵橫起筆,⑦鍵豎起筆,①鍵是這個(gè)區(qū)的調(diào)節(jié)鍵。②、⑤、⑧三個(gè)鍵為彎筆區(qū),其中⑤鍵撇起筆,⑧鍵點(diǎn)、捺起筆,②鍵是這個(gè)區(qū)的調(diào)節(jié)鍵。③、⑥、⑨三個(gè)鍵為鉤筆區(qū),⑥鍵為橫起筆后鉤折,⑨為豎或斜起筆后鉤折,③鍵是這個(gè)區(qū)的調(diào)節(jié)鍵,未在這個(gè)區(qū)內(nèi)列出的所有單筆畫(huà)鉤折字根均以“3”為字根碼。鉤筆區(qū)的單字較少,所以每個(gè)鍵各安排一組“借位字根”,三個(gè)“半鍵”和 鍵構(gòu)成分散型的共容區(qū)(調(diào)節(jié)區(qū))。字根“二、三、四、五、六、七、八、九”也屬“借位字根”。
圖一為字母鍵盤(pán)“字根鍵盤(pán)圖”,圖上26鍵位,26個(gè)碼元,441個(gè)字根與之對(duì)應(yīng)。標(biāo)在字母旁的單字是一級(jí)簡(jiǎn)碼。
圖二為對(duì)“外字”的GIF格式編碼。圖片(1∶1)下方的字母既是編碼,也是文件名。
圖三為數(shù)字鍵盤(pán)“字根鍵盤(pán)圖”,圖上10鍵位,10個(gè)碼元,417個(gè)字根與之對(duì)應(yīng)。
具體實(shí)施例方式
一、編碼對(duì)象夫子碼以宋體字為編碼對(duì)象,并以大陸本土的宋體字字體文件的字形為標(biāo)準(zhǔn),依形編碼。凡是字形不一致或在電腦上打不出的字,統(tǒng)稱(chēng)為外字,單字制成GIF格式圖片后編碼,并以編碼為GIF文件名,重碼時(shí)加兩位數(shù)序號(hào)??傋?jǐn)?shù)在十萬(wàn)個(gè)以上。
二、筆畫(huà)與字根1、筆畫(huà)“豎撇”歸入“彎”區(qū),“豎鉤”歸入“鉤”區(qū),“辶、之”的最后一筆也歸入“鉤”區(qū)。舊字型的筆畫(huà),“豎點(diǎn)”按豎筆編碼,折筆按新字型的折筆處理。
2、筆畫(huà)的長(zhǎng)短不作為區(qū)別字根的標(biāo)志,如兩橫的“上長(zhǎng)下短”與“上短下長(zhǎng)”、兩豎的“左長(zhǎng)右短”與“左短右長(zhǎng)”無(wú)區(qū)別。鉤筆只區(qū)分第一折是否同一方向,不區(qū)分筆畫(huà)末是否帶鉤。如“、”是同一個(gè)字根,所以,“ 冂”也是同一個(gè)字根。
3、字根在具體字例中的筆畫(huà)變形分為同類(lèi)變形和異類(lèi)變形兩種。最常見(jiàn)的同類(lèi)變形如橫改提,捺改點(diǎn),“乚”改 。異類(lèi)變形只有豎改豎撇。同類(lèi)變形視為同一字根,不在字根表中列出,如“人、 ”是同一個(gè)字根;異類(lèi)變形視為不同的字根,在字根表中列出,如“辛、 ”是不同的字根。“月(在左)”和“ (在下)”是不同的字根,因?yàn)榈谝还P的筆畫(huà)新型不同。
4、能使單字在替換字體文件后形變碼不變的字根稱(chēng)為共容字根。單個(gè)字根不成為共容字根。以“組”出現(xiàn)的共容字根,首筆筆畫(huà)類(lèi)型相同的安排在各自的筆畫(huà)區(qū),不同的安排在共容區(qū)。如 是一組共容字根,首筆相同,不安排在共容區(qū);“月、 ”首筆筆形不同,安排在共容區(qū)。
三、字根構(gòu)字原則1、字根構(gòu)字的過(guò)程必須符合筆順。
當(dāng)兩個(gè)字根相互包容交錯(cuò)時(shí),首筆的先后決定字根碼的先后。如,“身”由 包容“二”, 的字根碼在前。“百”由“ 二”組合而成,但不屬于包容,因?yàn)槊恳还P都符合筆順。再如,“乘”由“禾”包容“ 匕”,筆畫(huà)發(fā)生交錯(cuò),但不交叉。夫子碼里不存在筆畫(huà)交叉的包容。單寫(xiě)字根如“人、口、木”和雙寫(xiě)字根如“從、吅、林”組合時(shí),單寫(xiě)的字根碼在前。
2、字根構(gòu)字的結(jié)果不改變單字的筆劃數(shù)。
四、編碼規(guī)則如下1、單字依筆順取前四個(gè)字根,構(gòu)成四位數(shù)編碼。字根只有三個(gè)時(shí),加單補(bǔ)碼;字根只有兩個(gè)時(shí),加雙補(bǔ)碼。字母鍵盤(pán)上的單補(bǔ)碼取“o”,雙補(bǔ)碼取“ow”(單字左右結(jié)構(gòu))和“oe”(其它結(jié)構(gòu));數(shù)字鍵盤(pán)上的單補(bǔ)碼取“0”,雙補(bǔ)碼取“03”(左右結(jié)構(gòu))和“09”(其它結(jié)構(gòu))。單字根字按字根的編碼規(guī)則編碼。
2、詞匯雙字詞取各字的頭兩碼,三字詞取第一、二字的首碼、第三字的頭兩碼,四字詞取各字的首碼,多字詞取前四個(gè)字的首碼,構(gòu)成四位數(shù)編碼。
3、字根夫子碼為字母碼時(shí),先取字根的鍵位碼,再依筆順取前三個(gè)筆畫(huà)的鍵位碼,構(gòu)成四位數(shù)編碼。筆畫(huà)數(shù)不夠時(shí),加補(bǔ)碼“o”、“oe”,如“丨”在H鍵上,只有一個(gè)筆畫(huà),編碼是“hhoe”。夫子碼為數(shù)碼(夫子數(shù)碼)時(shí),先取字根的鍵位碼,加個(gè)“0”,再加前兩個(gè)筆畫(huà)的鍵位碼,構(gòu)成四位數(shù)編碼筆畫(huà)數(shù)不夠時(shí),再加“0”,如“一”在“1”鍵上,只有一個(gè)筆畫(huà),編碼是“1010”。
五、序號(hào)碼。夫子碼為數(shù)碼時(shí),在字、詞四位數(shù)編碼后面加序號(hào)碼。碼長(zhǎng)為5時(shí),序號(hào)碼為一位數(shù)(0至9),重碼字的序號(hào)碼均為“9”;可設(shè)簡(jiǎn)碼(一級(jí)簡(jiǎn)碼0 都、1 不、2 人、3 也、4 要、5 的、6 又、7 是、8 就、9 能)。碼長(zhǎng)為6時(shí),不設(shè)簡(jiǎn)碼,序號(hào)碼為兩位數(shù)(00至99),無(wú)重碼。序號(hào)碼是擇字序號(hào)的碼表化,成為字、詞全碼的一個(gè)組成部分。
六、復(fù)合字根。具有可逆性的“復(fù)合字根”確保單字拆分的單一性,所以,夫子碼不設(shè)容錯(cuò)碼。在復(fù)合字根中找不到單字拆分依據(jù)時(shí),一律“取小優(yōu)先”?!叭⌒?yōu)先”的含義是前一個(gè)字根讓出一個(gè)筆畫(huà)給后一個(gè)字根,如果能使后一個(gè)字根組成另一個(gè)字根,這個(gè)筆畫(huà)必須讓給。復(fù)合字根如下 a104 fz 42 jz72 sg 41 xa 81耂 aa 01豆 g178 甲ka71 sj 97 xa 00 aa 04于 ga 10曱ka71 sjg 471 xa 84 ab 06未 ga 14 ka014 sjv 010xa 04 ad 04末 ga 14 ka60 sk47 蘭 xc 83 af 04 ga 14 kd74sn13 xc 83 ag 11 gay 232 kg02 st42 羊 xc 83直 ajg 071 gbh 161 里kg71 su08 xc 83 aka 070 gc 18 中kh71共 sx48 xc 83 al 07 gc 13 kh77余 ta214xc 8
麗al60gd14kj77tc23xd04alg 061豕ge15 髙kk07tb26 xd03反am16geh 151 kl76 tb26 xd03尢an13ggd 114 kr72 td291xd84and 131 gh11ks73垂tdh 237xd84麗ap68 正gh17kx78重tdz 294xe85ar06gh17kx78tf51 用xf04ar42 亙ghg 91 龍la04牛tf51 冉xf04來(lái)ar068更ghr 92ma30 tf24xf04arg 061來(lái)gi184 md34 tf20xf04as04gj17me35 tg21 xf84as04 柬gjc 177 mh31 tg21 酋xf842哉as04gkj 177 mf34 th20 且xg01ax08gl17mh37片thg 271 xge 015be95gl 10 mj37合tk27 xh01聿bf64gmy 132 mj37釆ti284巾xh01bh61gn 19mj37令tm26 xh07bh67gn19 廴mm33 tm26xhc 013bj67 丈gr12mm33 tm26 xhf 012皮bm36 友gr15 已mn33 tmf 234 皿xj07巴bn63gr15 己mn33及tmy 232xjd 074艮bn69 巫grg 161 mn33 tmz 232 xjg071弗br62 天gs14 mn33 tn29 xk87尹bt62gs17mn39 tn29 關(guān)xs84bt62gs14 夬 ms34 tn29 央xs04bt62gtt 122 ms34 tn26 xs04ca30 開(kāi)gv11 韋ms64 tnm 236xs04耒cc37gv11 飛mty 322 反tr25xv84cb33 亞gv48mu68 trr 266并xv81氶cb36 亞gv191 mu68氏ts24 幷xv51光cd74 嚴(yán)gvt 482巳mv33 tsn 243 並xv878雀ce728 gxj 107 mv33丘tv21 xv01cg71 朿gxc 107 mv33兵tvx 218xv01豐ch31 夾gxs 184 mw35 tw25 xx84毛cn33 山h 19mx38乎txa 283 前xx80cn33ha11 刅mx68 txa 281 丹xy08手cm33ha11 廴my32血txj 207xz82cr32 疒he72 丑mz62今tz23 xz02ct32hb13mzt 322 tz22 xz02ct32hbd 134 mzt 322 tzn 223 半 xzh 821ct32hc77na90 tzr 222 xzj 027cu38 六hd14nc97忄u 81 ya84cy72hd14nh97業(yè)v 78 衣 ydn 829d 41hd74 出nh99 v 71 ye82
西d 41衣hdn 729 nhl 977 va11 yf84車(chē)d 90 he75 母ni98vch 131 卞ygy 812da30 he75 鄉(xiāng)nn39vd04 yj 87頁(yè)dd94主hf14nn99vf14 ykg 871dg41申hh71 毌nmg 361羋vf14亡yn83dg97 hj17 夨ns34vf14 yn 89而dj47hj17 nu98vg11 ynp 891面djc 473 hj17nu32vg11 yu28dm15 hk77 nx98 卡vhy 012 yv878dn19 hkg 771 nx90vh11 yv81dx38 hlg 161 ny92 vh11 yx880東dx97hmm 133 ox88 vj11 yz22甚dxn 483 hmx 130 pbb 933 vjh 171 yz02不dy112電hn 73po98vm13永zb86百dz42hn16px88 無(wú)vn43 zc27e 28 hn79qa50vn09示zc27朱ec24 岡hn79 鬼qe55vn09 ze25缶eh519 hnk 737 qg51vr06 ze25eh57 宀hp18qjv 510 vv10丬zh21氣em53hpd 184 qnn 599 vw05擊zh49en59 文hr72qt52vx08 zh21失et24 網(wǎng)hr72qu58 甘vz12 zj27兆eu58hrg 161皀qv50vz12 zk07酉f 42 ht12 身qz52 角wf54言zk07fa41hx78 夂r 52 wg51 zm23耳fc43 立hx78 攵r 52 wg231辶zm83fc43 辛hx78 午ra51舟wi58zm83fd44hxv 784先rd54乘wjv 510之zm83fem 456米i 84 生rf23象wke 575之zm13fg41 京ic877乍rj27 wl57 云zn29壹fpg 4817 ik86rn23豸wm59 zn23fgm 413高ik877矢rs24 wm56亐zn23fp08 交ir62rs61饣wn53井zr22fs44 產(chǎn)it82 川rh5wq55 zr25ft42it82ruy 222 勿wr52 zt22ft42刂 j 13s 13 wx50 zt22fu48 具jd74 車(chē)s 40勺wy232 zty 422fvm 413jg71 革sa00 wy52 zv21fw45jg71 堇sd03 wy58 zx28束fx08 同jk017 殹 sem 956勻wz232 zx28fpz 482 jm013 sf04勻wz232 zx28執(zhí)fy92jx08sf04 x 21zy4權(quán)利要求
一、夫子碼將漢字筆畫(huà)分為直、彎、鉤三種類(lèi)型(三筆直彎鉤),把輸入鍵盤(pán)劃分為三個(gè)筆畫(huà)區(qū)和一個(gè)共容區(qū)(調(diào)節(jié)區(qū))。字母鍵盤(pán)以26個(gè)字母為碼元,441個(gè)字根與之對(duì)應(yīng)。中排鍵為直筆區(qū),其中A、S、D、F、G五個(gè)鍵橫起筆,H、J、K、L四個(gè)鍵豎起筆。上排鍵為彎筆區(qū),其中Q、W、E、R、T五個(gè)鍵撇起筆,Y、U、I、O、P五個(gè)鍵點(diǎn)、捺起筆。下排鍵的B、N、M三個(gè)鍵為鉤筆區(qū),M為順時(shí)針?lè)较虻你^折,N為逆時(shí)針?lè)较虻你^折,B鍵是這個(gè)區(qū)的調(diào)節(jié)鍵,未在這個(gè)區(qū)列出的所有單筆畫(huà)鉤筆字根按鉤折方向取M或N為字根碼。Z、X、C、V四個(gè)鍵組成共容區(qū)。數(shù)字鍵盤(pán)以0至9十個(gè)數(shù)字為碼元,417個(gè)字根與之對(duì)應(yīng)。①、④、⑦三個(gè)鍵為直筆區(qū),其中④鍵橫起筆,⑦鍵豎起筆,①鍵是這個(gè)區(qū)的調(diào)節(jié)鍵。②、⑤、⑧三個(gè)鍵為彎筆區(qū),其中⑤鍵撇起筆,⑧鍵點(diǎn)、捺起筆,②鍵是這個(gè)區(qū)的調(diào)節(jié)鍵。③、⑥、⑨三個(gè)鍵為鉤筆區(qū),⑥鍵為橫起筆后鉤折,⑨為豎或斜起筆后鉤折,③鍵是這個(gè)區(qū)的調(diào)節(jié)鍵,未在這個(gè)區(qū)內(nèi)列出的所有單筆畫(huà)鉤折字根均以“3”為字根碼。鉤筆區(qū)的的每個(gè)鍵各安排一組“借位字根”,三個(gè)“半鍵”和 鍵構(gòu)成分散型的共容區(qū)(調(diào)節(jié)區(qū))。字根“二、三、四、五、六、七、八、九”屬“借位字根”。
二、編碼規(guī)則單字依筆順取前四個(gè)字根,構(gòu)成四位數(shù)編碼。字根只有三個(gè)時(shí),加單補(bǔ)碼;字根只有兩個(gè)時(shí),加雙補(bǔ)碼。字母鍵盤(pán)上的單補(bǔ)碼取“o”,雙補(bǔ)碼取“ow”(單字左右結(jié)構(gòu))和“oe”(其它結(jié)構(gòu));數(shù)字鍵盤(pán)上的單補(bǔ)碼取“0”,雙補(bǔ)碼取“03”(左右結(jié)構(gòu))和“09”(其它結(jié)構(gòu))。雙字詞取各字的頭兩碼,三字詞取第一、二字的首碼、第三字的頭兩碼,四字詞取各字的首碼,多字詞取前四個(gè)字的首碼,構(gòu)成四位數(shù)編碼。字根的編碼規(guī)則分字母碼和數(shù)碼夫子碼為字母碼時(shí),先取字根的鍵位碼,再依筆順取前三個(gè)筆畫(huà)的鍵位碼,構(gòu)成四位數(shù)編碼。筆畫(huà)數(shù)不夠時(shí),加補(bǔ)碼“o”、“oe”。夫子碼為數(shù)碼(夫子數(shù)碼)時(shí),先取字根的鍵位碼,加個(gè)“0”,再加前兩個(gè)筆畫(huà)的鍵位碼,構(gòu)成四位數(shù)編碼;筆畫(huà)數(shù)不夠時(shí),再加“0”。
三、序號(hào)碼。夫子碼為數(shù)碼時(shí),在字、詞四位數(shù)編碼后面加序號(hào)碼。碼長(zhǎng)為5時(shí),序號(hào)碼為一位數(shù)(0至9),重碼字的序號(hào)碼均為“9”;可設(shè)簡(jiǎn)碼。碼長(zhǎng)為6時(shí),不設(shè)簡(jiǎn)碼,序號(hào)碼為兩位數(shù)(00至99),無(wú)重碼。序號(hào)碼是數(shù)碼字、詞全碼的一個(gè)組成部分。
四、夫子碼以宋體字為編碼對(duì)象,依形編碼。筆畫(huà)“豎撇”為彎筆,“豎鉤”為鉤筆,“辶、之”的最后一筆也歸入鉤筆。鉤筆只區(qū)分第一折是否同一方向,不區(qū)分筆畫(huà)末是否帶鉤。舊字型的筆畫(huà),“豎點(diǎn)”按豎筆編碼,折筆按新字型的折筆處理。
五、以“組”出現(xiàn)的共容字根使一些單字在替換字體文件時(shí)做到形變碼不變。首筆筆畫(huà)類(lèi)型相同的共容字根安排在各自的筆畫(huà)區(qū),不同的安排在共容區(qū)。
六、夫子碼依靠具有可逆性的“復(fù)合字根”確保單字拆分的單一性。在“復(fù)合字根”中查閱不到單字拆分依據(jù)的,一律“取小優(yōu)先”。
全文摘要
夫子碼是拼形碼,屬于漢字編碼領(lǐng)域的發(fā)明,其成果可為中文信息處理提供超過(guò)十萬(wàn)個(gè)漢字字符的碼本,也為辭書(shū)界提供新的單字檢索表。夫子碼將夫子碼將漢字筆畫(huà)分為直、彎、鉤三種類(lèi)型(三筆直彎鉤),把輸入鍵盤(pán)劃分為三個(gè)筆畫(huà)區(qū)和一個(gè)共容區(qū)(調(diào)節(jié)區(qū))。字母碼以26個(gè)字母為碼元,441個(gè)字根與之對(duì)應(yīng);數(shù)碼以0至9十個(gè)數(shù)字為碼元,417個(gè)字根與之對(duì)應(yīng)。共容字根使一些單字在更換字體文件后,形變碼不變。復(fù)合字根確保單字拆分的單一性。夫子碼以宋體字為編碼對(duì)象,依形做四位數(shù)(字根)編碼,數(shù)碼再加序號(hào)碼。序號(hào)碼為兩位,數(shù)碼能在碼長(zhǎng)為6且無(wú)簡(jiǎn)碼時(shí)實(shí)現(xiàn)無(wú)重碼,可做交換碼使用,并使字、詞混合處理成為可能。
文檔編號(hào)G06F3/023GK1967452SQ20051012557
公開(kāi)日2007年5月23日 申請(qǐng)日期2005年11月20日 優(yōu)先權(quán)日2005年11月20日
發(fā)明者陳清鈺 申請(qǐng)人:陳清鈺