看板 IME 關於我們 聯絡資訊
由於內容沒有條理, 本系列文章為草稿. 在此為各位讀者介紹一個史上最多字根(字塊)的輸入法, 它的名字是: "快速記憶機器人腦輸入法", 所使用的編碼可以稱為 "千萬字塊碼". 類型:全形 碼鍵:標準文字 26 個 [a-z]{3}, 選字鍵 " 1234567890-=", 符號及控制鍵 "`[]\;',./", 三字詞 "[a-z]{3};", 輸出鍵為 選字鍵 加 ",."(已輸入超過三碼時) 授權: 免費使用. 進度: 編碼中, 目前 2187 個字根, 15681 個字. 這不是給平凡人使用的輸入法. 將打字比賽當作是休閒活動的電腦重度使用者或許可以一試, 也可以用相似的觀念做出較實用、適合自己的輸入法. 這個輸入法的字根大約從 3500 個到 100000 個之間. 字根多的原因是因為編碼範圍大, 作者會盡量將所能找到的電腦文字編入. 受限於規則, 字根數量增加得很快. 目前看到的文字數量如下: 今昔文字鏡 漢字 128573字 Unicode 累計的 74480 字. CCCII 75684 字 CNS11643 全字庫 92690 碼 四庫全書逾82000字(造字約 1 萬字) 香港常用中文字體 約 4900 字. 佛典造字 數量不明. 不過這個輸入法的重點不是那些很少用到的不常用字, 而是分為四組的標準字集. 標準字集內部不重碼, 用補碼將每個字補成固定三碼. 三字詞的簡碼預設為加上 ";". 預設的標準模式, 標準字集 = 標準字集1 (可用熱鍵切換) (切換時可以一起切換簡碼區). 標準字集1 = big5 + gb2312 + jis0208 標準字集2 = GBK/2 漢字6763個 + GBK/3 漢字6080個 + 其他常用字. 標準字集3 = jisx 0208 + jisx 0212 + ... 標準字集4 = BIG5HKSCS 為主 作者本人常用的標準字集1 big5 約 13053 (再加 7 個倚天字), 在 unicode 中, gb2312 約有 6763 字, 去掉與 big5 同位置的部分,還有 2381 個. jisx 0208 約有 6356 字, 去掉與 big5 & gb2312 同位置的部分, 還有 848 字. 13060+2381+848 = 16289 字. 26*26*26 = 17576 字, 所以每個字都用三鍵, 可以做到不重碼. (big5 + gb2312 + jisx 0208 的文字) (符號另外處理) 在標準模式是標準字集1時, 輸入三鍵 + "2" 是輸出 GBK 字元, + "3" 輸出 JIS 字元, + "4" 輸出 BIG5HKSCS 字元. 輸入三鍵 + "1" 不變, 輸出標準字集1字元. 標準字集1 ~ 4 之間, 同形的字鍵位相同. 不常用字選字區 [a-z]{3} + "567890-=", 空間 26*26*26*8 = 140608. 三鍵 + "5" 越文漢字、喃字 三鍵 + "9" 韓文漢字的同形異音字. (編碼不同) (參考 CJKV 933 頁, Duplicate Hanja in KS X 1001:1992) 讓標準字集內部不重碼的技巧有三種: 1. 補碼, 以尾碼為主, 容易造成重碼的狀況就補首碼. 2. 增加字根, 將其他輸入法重碼的字形用不同的字根分開. U+54E1: 員 (貝) (八) # 員 (b5) U+5504 : 口 貝 (八) # 唄 (b5) 3. 一個字根可以對應到多鍵. 例如這個不常用字 "乜", 可以依需求, 找一個空位, 隨意編成 "EXS". 由於這是一個不常用字, 所以可以不必學. 不過對於有需求的人而言, 不需要選字, 整個系統仍然無重碼. U+4E5C : 乜 EXS # 乜 (b5) 4. 因此標準輸入方式是四鍵出字. (包含空白或 1 ~ 0-= 選字鍵) 用獨有的無智能整句方式輸入時, 平均約三鍵出字. 特色: 1. 無省略字形, 字形損耗率為零: 一般的拆字輸入法, 常常採用 "首、次、三、尾" 的方式取碼, 我認為 這樣子不合理, 會造成訊息的損失, 所以用相反的方法處理, 字根一定 可以組成完整的文字. 2. 用可見字組描述字根: 在每一個獨立支援的字集, 都可以用字集內的字元描述字根. 如此就不必造字, 也可以描述字根, 方便使用者學習. U+897B : 左衣 攀 (手) # 襻 (b5) U+7126 : 隹 下火 (點) # 焦 (b5) 這個設計可以用電腦程式語言的機器碼和組合語言來說明. [a-z]{3} 的鍵位是機器碼, 數量達到 3500 個以上的字根(字塊), 是組合語言的助憶碼. 直接將字塊連結到鍵位的原因是雖然這樣記憶量大, 但從學習到使用 的時間短, 就如同使用九九乘法表計算一樣. 一般的輸入法就像是用 C 語言寫程式, 再運用一些簡單的規則在腦中 轉成機械碼, 雖然整個語言的規則和關鍵字(保留字)(字根)不多, 學習 容易, 但是使用時要花一點時間拆字、轉成鍵位. 3. 拆字時不會有困難: 所有的字形都包含在字根表之中了, 拆字一定不會有問題. 不會的字 只需查表即可. 4. 沒有容錯編碼. 一字三碼, 三碼一字. 5. 如果正式版本編碼錯誤, 則增加注解、不予修正. 改版的全新版本, 所有鍵位對應會全部改變. 6. 簡碼區優先放詞. 因此標準的簡碼數量為: 26 ([a-z] 加一個空白.) 26 * 10 = 260 ([a-z] 加 1 ~ 0 選字.) 26 * 26 = 676 ([a-z] 兩個鍵加一個空白.) 26 * 26 * 10 = 6760 ([a-z] 兩個鍵加 1 ~ 0 選字.) 例如 "s " => "所以", "u " => 於是, "y " => "因為" 簡碼區優先輸出詞語的輸入法不多. 7. 在 1997 年時的設計是只有標準字集1. 當時有一種單字比賽模式 (三鍵輸出, 免按空白鍵)的想法, 不過這個模式無法跟詞結合. (例如: 如果要四鍵產生四字詞, 就不能三鍵上屏). 最近有新的修正想法, 這應該也是目前世面上的輸入法所無的特殊設計. 稱為 "無智能的整句輸入", 包含修正碼的設計. 設計的思路是 "免按空白鍵"、"可以用backspace或修正碼修正"、"可以使用超過三鍵的詞". 輸出鍵是 " 1234567890-="(選字鍵) ",."(常用標點, 需要已輸入三碼, 未達三碼是符號或使用者自訂簡碼.) 程式的設計很簡單: 選擇最長的序列斷字斷詞. 有提示區顯示目前狀態, 按輸出鍵時輸出. 例如編碼是: . 。 # 句號 , , # 逗號 abc AA # 字 abcde; TTUUIIDDRRLL # 詞 abcde;1 SSTTUUVVWWXXYYZZ # 詞, 選字鍵 "1" "abcde;1" => SSTTUUVVWWXXYYZZ # "abcde;" 選 1, 輸出八字詞. "abc de;1" => AA(輸出)BBCCDDEE # abc 輸出字 AA, "de;" 選 1 輸出四字詞 "abcde;/a1" => AABBCCDDEE # /a 修正碼, 讓程式在 "abc" 就輸出字, 而不選取最長詞 "SSTTUUVVWWXXYYZZ" "abcde;" 提示區顯示 "TTUUIIDDRRLL", 但不輸出, 按 " ,." 時才輸出. ",." 分別再多輸出逗號、句號。 (已有三鍵輸入時 ",." 的單鍵出字技巧). 所以短句: "開門見山。" 可以用五鍵輸入: "odsm." 一鍵一字. 8. 常用詞、常用字會依據雙手按鍵的均衡度排列. 由於支援的字數過多, 這個輸入法在這方面不容易做得好. 9. 學習方式: 查表, 參閱字塊聯想到鍵位的說明. 左衣: 衣服 (C)loth 攀: 攀爬 (C)limb 手: 手 (H)and 還右: 歸還 (R)eturn 隹: 隹, 尾巴短的鳥 (B)ird 下火: 火 (F)ire 點: 點 (D)ot U+897B : 左衣 攀 (手) C C H # 襻 (b5) U+7126 : 隹 下火 (點) B F D # 焦 (b5) 未完,待續. 請參考作者的輸入法網頁: http://info.sayya.org/~cnoize/im/ :liame (gmail) moc.liamg ta sohtne -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 202.145.82.143