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)
相關文章會放置於下列網址: