看板 IME 關於我們 聯絡資訊
相關文章會放置於下列網址: http://info.sayya.org/~cnoize/im/ 感謝有讀者願意提出問題. 改編之後的問題和答案如下: Q: 製作動機? A: 這是我自己需要的輸入法, 所以最後做出來的成品會以我個人 的需求為準, 並不需要考慮別人的想法. 我的需求: 盲打(不用選字)、三碼出字、常用簡體字、常用日文、 常用香港字、快速選詞. 輸入法已有數千種, 沒有特色的輸入法沒有必要製作. 我的輸入法特色就是 "常用的編碼無重碼(跟一般的輸入法常用字 無重碼不同)"、"字根數量最多"(最多並不代表最難學習) Q: 字根多會造成學習困難? A: 網友 picmemory 先生製作了下列網頁: 圖像記憶法 - http://home.kimo.com.tw/picmemory/ 學習方法研究會 - http://tw.club.yahoo.com/clubs/study_study 有遇到困難的人可以利用上述資料學習. 我個人從小到現在研究的是: 速算、心算、速讀、速記、速聽術、 記憶術、讀書法、靜坐、氣功及各種提升能力的技術. 雖然只了解 基本的理論, 不過根據我的專業知識判斷, 這個輸入法並不會比其 他的技術困難. Q: 字根過多會讓大腦多花時間來處理字, 讓輸入的時間變長? A: 我的理論是 "按鍵輸入所需的時間跟輸入法學習的難度相關系數低". 輸入法是否易學跟是否易用也無關, 字根數量多也不代表不易學習. Q: 字根過多鍵盤無法容納? A: 這個輸入法的學習方法是以字為主, "字 -> 字根 -> 鍵位", 字根之間並無關聯性, 不需要考慮這類問題. Q: 作者只分析了約兩萬常用字, CCCII/Unicode 五萬字以上的部分 如何處理? A: 三碼標準字的選字區 "5 ~ 0" => 6*26*26*26 = 105456 的空位 將會容納這些較不常用的字. 我可以再增加一萬個字根來讓這些字 盡量平均分配, 不會讓某一個按鍵順序出現超過十個待選字的狀況. 同時這些選字的順序也是固定的, 我的輸入法也把標準字的選字順序 當成一種無重碼的手段. 無重碼只是為了可以盲打而已, 並不會造成 設計上的負擔. Q: "其他特色 -> 無省略字形" 怎麼相反, 如何全取? A: "不但不省略, 字形還常常重複使用" 這一段的意思有兩個方面: 以 "品" 為例 1. U+54C1 : 品 (口) <口> # 品 (b5) "(口)" 是品右下角的 "口", "<口>" 是首碼, 是上面的 "口". 2. 雖然 "品" 已經是字根了, 但是 "喿" 仍然是字根, 它包含了 "品" 這個字形. U+55BF : 喿 (木) # 喿 (b5) 這邊還有一種狀況, "衣" 一個字根, 但是它的部分字形 "衣下" 也是一個字根(副根). U+8881 : 袁 (衣下) # 袁 (b5) 參考 "Google 搜尋: 說文輸入法 字形 損耗率" 說文輸入法 - 中文輸入法大勢評議 http://shuowen.net/DaShiPingYi.htm "字形損耗率   研究輸入法的人還提出一個理論,叫做「字形損耗率」。它的意思是:將一 個字拆開成幾個部件,而將每一個部件賦予一個編碼,如果所採取的部件極小, 例如小至最極端的筆劃,那麼一個字將會包含很多個部件,亦即其編碼會很長。 為了減少編碼,一般輸入法會訂立一些規則 ,例如只取「頭三尾二」,中間的 筆劃不要,這就做成了極大的字形損耗率,亦說明為什麼一個字取五碼之多而仍 然有相當多的重碼字,因為字形損耗率越大,就越不能表現每一個字的特徵。   上舉倉頡輸入法的「順」字是一個例子:倉頡採用的是小部件,所以是眾多 輸入法中字形損耗率較高的,例如「順」字中「頁」的上及中沒有採納作編碼。 反觀理想的輸入法將「順」分成「川」和「頁」兩個部件,將整個字涵蓋,因此 字形損耗率為零。" 我的輸入法正好字形損耗率為 100% 為零, 還可以提出一個新名詞叫做: 字形的 "重複使用率", 例如 "一"、"口"、"十" 等等都是常常被使用的字形. 字形全取的方法當然是增加字根, 2002-02-10 的文章就寫了: ""X X 輸入法" 有一個概念是 "字字皆字根", 意思是每一個字可能 本身就是一個字根, 或是包含著 "完整的字根". 另外的意義是, 每個字的每一個部分, 都是某個字根所包含的範圍. 也就是說, 在 "X X 輸入法" 並沒有被省略的筆劃、字形, 這一點 也跟其他的拆字輸入法不同." Q: "U+4E5C # 乜 (b5) 隨意編成 'EXS'" 是獨立出來的「特殊字」? A: 我的輸入法基本上是查表法, 並沒有規則上未列出的例外字, 會有各項的統計資料顯示每個字根的投資報酬率. Q: 重複字的影響並不大? A: 請參閱下列網址, 主要是 unicode 字數多延伸出的問題. 重複字也會在不同的系統產生選字順序不同的狀況, 這方面的影響 很大. http://www.ideographer.com/article/panthercangjie2.php http://www.ideographer.com/article/panthercangjie.php http://www.array.com.tw/BOX/BOX2.htm "因此規定罕用字需加按「I」鍵" 我的輸入法處理這類字元的方法是: 有 "簡彥" 的就應該不是 big5, 而 gb2312 的字根包含的是 "簡頁". U+984F: 彥 頁 (貝) # U+9854 U+989C # 顏 (b5) U+9854: 簡彥 頁 (貝) # U+989C U+984F # 湧 (jp) U+989C: 簡彥 簡頁 (人) # U+9854 U+984F # 晇 (gb) Q: 新的輸入法沒有辦法隨處安裝? A: 請參考 telnet://ptt.cc IME 版的 "偽.蝦米" 程式, 它是應用軟體層級的輸入法系統. 我在 2002-09-13 寫的文章也早已提出這個概念: "有時候會看到中文討論區內提到輸入法內建的問題. 他們的論點是: 1. 作業系統不內建, 需要另外購買. 2. 公司為了防毒, 不允許安裝軟體. 3. 費用問題, 公司不肯購買輸入法軟體. 其實, 這些全部不是問題, 只要用點小小的技巧即可解決: a. BBS 內建輸入法. b. Editor 內建輸入法. c. WWW Java 網頁內建輸入法. d. 應用程式內建輸入法. e. 寫個使用 ncurses 函式庫或其他工具的輸入法小程式. (非完整的 editor) 使用 unix 的人, 這一項應該很容易寫. 用 Perl/C/Shell script 等等, 很快就可以寫出來. a 項有一個相關的事件我記得很清楚, 記得以前 woju 發展 sob maple bbs 時, ve 有提供注音輸入的功能, 我還以為他有跟我相同的 idea, 結果 仔細一看, 只是輸入注音的功能而已. 不過, 要讓 sob bbs 的 ve 支援完整 的輸入法功能其實是非常簡單的, 只是一些英數等切換方式要改用 ESC-E 之 類的方式而已. (( sob.twbbs.org post => ve => (ESC-P) 切換注音直接打模式 )) (( 只要用用看就知道, 做成一個 BBS 式的輸入法很簡單 ))" 依照目前流行的趨勢, 把輸入法做進跨平台的 BBS 軟體例如 "PCMan/BBMan" 即可解決大部分的輸入法使用問題. (http://pcman.ptt.cc/) 再把輸入法做進跨平台的編輯器 vim, 就可以解決 90% 以上的中文輸入需求了. (http://www.vim.org/) Q: 訪客的輸入法概念. (http://free.tnc.edu.tw/modules/news/article.php?storyid=1746) A: 混合式的輸入法很多. 注音 + 大易 - 盛興輸入法 http://input.cpatch.org/input/dasn/w95chusn.txt 拼音方式(簡體) - 模糊元碼輸入法 http://www.mhym.com/y3.htm 自動學習程式 - 得意輸入法 http://www.smartinside.com.tw/ 游標組合成字 - 衝鋒輸入法 http://jedi.org/blog/archives/003182.html Q: 行列三十就夠用了? (發問的讀者很少需要選字.) 我用的中文系統基礎是 linux 裡面的 yact. ARRAY30.tit (中文【行列30】, yact tit 格式表格, \040 表示空白鍵) q\040 七 # ---> 1^ 0 q\040 工 # ---> 1^ 0 k\040 人 # ---> 8- 0 k\040 入 # ---> 8- 0 k\040 八 # ---> 8- 0 輸入 "k ", 系統會提示 "1人 2入 3八", 此時必須要輸入 "1/2/3" 選字. 這是行列標準原始模式的輸入法, 這十分令我困擾. 同時這些字都是常用字, 所以時常感覺使用行列時需要選字. 所以我就參考嘸蝦米的方法, 改出了一個【行列++】, "k " 會輸出 "人", "k2" => 入, "k3" => 八. 修改之後的行列一級簡碼區是正常的, 不過: /rr\040 蛙 # ---> 0v4^4^ 4 /rr\040 罣 # ---> 0v4^4^ 0 /rr\040 螼 # ---> 0v4^4^ 0 "/rr" => "蛙 1罣 2螼" (選字順序已經變了.) "中文【行列30】" 則是 "1蛙 2罣 3螼 4罫 5蟯" "Window98 內建行列" => "1蛙 2罣 3螼" 也就是我目前使用的輸入法已經不再是真正的行列了, 除了前文 提到的我只練了常用字一千字的問題之外, 我修改過的程式無法 輸出 "zz" 開頭的三、四碼字. 例如: "zza" -> "震". 總之問題 很多, 我早點把自己的輸入法做好才會對自己有幫助. Q: 字根太多? A: 常見的拆字輸入法, 如果能利用 "輔助字形"、"簡速字根" 來幫助學習, 就能事半功倍或提升速度. Google 搜尋: "輔助字形" 字母輔助字形表 http://www.scj2000.com/cjstudy/new_page_10.htm [PDF] 倉頡輸入法教與學心得相似的輔助字形 http://www.ied.edu.hk/cj/tal/signs.pdf 初學者園地‧第四講 簡速字根 http://liu.twbbs.org/chapters/chapte04.htm 簡速字根總表 http://www.liu.com.tw/speeds.htm 參閱前述的 說文輸入法 - "字形損耗率"、"部件拆分" 議題, 使用者 在利用某些輸入法拆字時會遇到許多困難. 而我的輸入法是將 "輔助字形"、"簡速字根"、"所有字形" 直接併入字根 之中, 並且利用使用者的記憶力換取拆字簡便, 這是取捨的問題. 用我的 輸入法完全學會日後 Unicode 4.x 的所有七萬以上的中文字絕對會比用 倉頡輸入法來得快. Q: 簡碼(詞庫)會不會跟輸入法本身衝突? A: 網路上有人提出一種說法, 內容大致是: 詞庫只放常用詞, 以避免 字詞衝碼, 反而造成輸入速度下降. 另一種狀況是找不到詞, 必須改用字. (有大詞庫的拼音輸入法會有這種現象). 我認同這類的看法, 所以輸入法本身並不針對詞庫做特別處理, 只會 放置一些個人常用詞讓使用者參考, 要修改也很簡便. 精簡的詞庫並 不會造成太大的記憶困擾. 這個輸入法主要是三碼(包含選字區)出字, 一、二、四及其他碼出詞 (也會放一些字、符號的簡碼). 使用時也會利用類似行列的預視預選 模式, 例如按 "G" 可能就有提示 "1 好 2 好人 3 遊戲王 4 將帥本 無種,男兒當自強 5 絕體絕命 6 ..." 而系統強制規定的部分只有標準的三碼字(及其選字), 因此不會有衝突. Q: 輸入法比賽可以使用詞庫. A: 參閱: 中文輸入法世界 - 真的“打單字絕對是比打詞快”嗎? http://inputclub.foruto.com/cgi-bin/Forum/UltraBoard.cgi?\ action=Read&BID=6&TID=14505&SID=8180 大新倉頡,已榮登輸入界競速冠軍(一分鐘 220字的記錄) http://inputclub.foruto.com/cgi-bin/Forum/UltraBoard.cgi?\ action=Read&BID=6&TID=14440&SID=17022 "看到第12樓的貼文“的確是不能打詞庫,一律用單字作比賽的標準。” 台灣中打檢測的規定仍然沒變:台灣中打檢測中打只能打字,不允許 打詞。(眾所周知“打詞”與使用“聯想字詞”是兩回事) 由於上面列出的比賽都不允許打詞,因此,所說“有一個事實,那就是 打單字絕對是比打詞快,歷次前幾名的選手,沒有一個是字、詞並打的 ,要打字詞的選手就已註定無法進入決賽,這是不爭的事實。”--是一個 很風趣的說法。 顯然“無法進入決賽”不是“打單字絕對是比打詞快”所致,而是比賽 規定所致。" Q: 內碼輸入法一字一碼,不用選字? A: 內碼輸入法是 16 進位, 鍵盤 26 鍵([a-z]) 是 26 進位. 能夠 記住所有內碼, 並且在輸入時用心算把 16 進位即時轉換成 26 進位 的人, 我個人是十分佩服的. 如果只使用 0 ~ 9, A ~ F 的 16 進位內碼來輸入, 每個字需要 4 個 按鍵, 比我的輸入法多一鍵. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ※ 編輯: cnoize 來自: 140.113.22.98 (03/07 01:31)