2018年2月9日 星期五

漢字使用環境的建置 ㈡ —— 輸入篇

漢字輸入


漢字的輸入一直以來都是個大問題。為此,許多的發明家設計了各式各樣的中文輸入法,像是注音輸入法、倉頡輸入法、大易輸入法、五碼輸入法等等。有些輸入法易學,但效率並不好;有些輸入法難習,卻有著比較高的輸入效率。要找一個易學易用又效率好的中文輸入法,其實並不容易,輸入時遇上一般常用的漢字可能還好,若是遇上了生僻字,很多輸入法便無力駕馭,或者是變得難以使用了。

我設計的「部件檢索」,不算是一種完整的輸入法,也取代不了傳統的中文輸入法。不過它基於漢字的原始構形特性,幾乎不需要學習,因此非常適合做為傳統輸入法的延伸輔助,幫助檢索傳統輸入法難以輸入的生僻漢字。有了「部件檢索」的幫忙,幾乎任何人,不需要經過專業的訓練,都能立刻開始輸入絕大多數的生僻漢字,因此在漢字使用的環境裡,「部件檢索」絕對是一個不可或缺的實用工具。

部件檢索


從一開始的誤打誤撞,一頭撞進漢字構形的世界裡,一轉眼「部件檢索」已經快三歲了。三年來我與幾位朋友長期地對它進行維護、訂正,不停地改進功能,到如今它已經可以檢索從 A 區到 F 區再加上我自定的補充區,總共九萬七千多個漢字,而這數字隨著補充字的擴充還在持續地增加。

近幾日我又將「部件檢索」更新到 0.9.0.14 版,修正了一些拆分、支援「全宋體」的全部漢字,順便增添了幾項新的功能。整個操作介面的說明如下:


  • 「X」:清除按鈕,清除所有的查詢輸入及查詢結果。實體鍵盤的「Esc」鍵有相同作用。
  • 「◃」:倒退按鈕,模擬實體鍵盤的「Backspace」鍵。
  • 「\」:解構按鈕,將輸入點定在某個已輸入的漢字之後,按下此鍵即可直接解構該漢字,例如 "淵" 會裂解成 "氵𣶒"。
  • 「▶」:查詢按鈕,進行查詢檢索,查詢結果的上限為一千字。實體鍵盤的「Enter」鍵有相同作用。
  • 「☑」包容異體:勾選時會將所有互為異體的部件視為相同;反之則視為不同。
  • 「☑」即時查詢:勾選時輸入框裡有任何輸入變動均會自動執行查詢檢索(為縮短反應時間,查詢結果僅限一百字,但「精確命中」的字一定會列出,不在此限。若要查看百字以外的字,可再多按一下「▶」);反之則需等到按下「▶」才會執行查詢檢索。
  • 「☑」較大字形:勾選時檢索結果會以較大的字形來顯示;反之則用較小的字形顯示。
  • 「☑」複製模式:勾選時點擊檢索結果會將該漢字複製到剪貼簿;反之則跳轉至 Unihan 資料庫的對應網頁。
  • 「▲」:收起按鈕,按一下則收起部件鍵盤,方便查看大量的查詢結果。
  • 「▼」:展開按鈕,按一下則展開部件鍵盤,方便輸入難以鍵入的部件。
  • 「◉」214 部首:僅顯示 214 部首的部件鍵盤。
  • 「◉」部首變體:僅顯示部首變體的部件鍵盤。
  • 「◉」難輸部件:僅顯示難輸部件的部件鍵盤。
  • 「◉」常用部件:僅顯示常用部件的部件鍵盤。
  • 「◉」所有部件:顯示所有的部件鍵盤。
  • 「□」基本:僅顯示基本漢字區的字符,相當於輸入 "@" 這個限定運算子。
  • 「□」A區:僅顯示擴展 A 區的字符,相當於輸入 "A" 這個限定運算子。
  • 「□」B區:僅顯示擴展 B 區的字符,相當於輸入 "B" 這個限定運算子。
  • 「□」C區:僅顯示擴展 C 區的字符,相當於輸入 "C" 這個限定運算子。
  • 「□」D區:僅顯示擴展 D 區的字符,相當於輸入 "D" 這個限定運算子。
  • 「□」E區:僅顯示擴展 E 區的字符,相當於輸入 "E" 這個限定運算子。
  • 「□」F區:僅顯示擴展 F 區的字符,相當於輸入 "F" 這個限定運算子。
  • 「□」相容:僅顯示相容表意區、相容表意補充區的字符,相當於輸入 "X" 這個限定運算子。
  • 「□」補充:僅顯示未編碼漢字區的字符,相當於輸入 "Y" 這個限定運算子。
  • 「□」其他:僅顯示非 CJK 漢字區的字符,相當於輸入 "Z" 這個限定運算子。

這一版有兩項新增的功能:

一是增加了可以指定「只顯示某些字區」的「限定運算子」。如上圖的例子中,查詢「金木BCEFY」,意即查詢「同時有 "金"、"木" 這兩個部件,且落在 B、C、E、F 或補充字區的所有字」。

一是增加了一個「快捷鍵暫存區」。如上圖的例子中,位於「⌘」符號之後的 10 個淡紅色按鍵即是快捷鍵。舉個例,如果我想查詢包含如上圖第一個快捷鍵部件(反彐,這個部件象左手)的相關字,可是部件鍵盤中並無提供此部件,此時可以先查此部件,輸入「匚一」即可查得。
双擊查得的結果,這個字便會釘選到快捷鍵的暫存區,成為一個自訂的快捷鍵。之後的查詢便可以利用這個快捷鍵來輸入,不必每次都清空查詢區,重新查詢。快捷鍵最多可以放 10 個,超過之後,最舊的便會被擠掉,也就是說只保留最新的 10 個。

下載連結:部件檢索(測試版).7z

請參考前一篇「漢字使用環境的建置 ㈠ —— 顯示篇」,搭配安裝「全宋體」字型,以正確顯示所有的漢字以及構形用的各式部件。

結語


有了「部件檢索」,幾乎可以解決大部分生僻字難以輸入的問題,再搭配「全宋體」的顯示,這讓漢字的使用環境更趨近於完整。不但可以利用在字、辭典的資料整理上,也可以幫助典籍的數位化工作,甚至閱讀時遇到生僻字想要查查字典,「部件檢索」都可以幫上一點忙。

還是那句老話:「有人利用的資料才能彰顯它的價值,鎖在抽屜沒人加以利用的資料,只是垃圾。」我本著這個信念,將我灌注大量心力製作出來的「部件檢索」,完全開放出來,歡迎大家多加利用。



8 則留言:

  1. 看到您無私的奉獻,超感敬佩,
    以我的看法,罕用字的輸入法,
    應該是手寫輸入法是最好用的,
    我曾嘗試使用
    逍遙筆手寫輸入、google手寫輸入、微軟輸入法整合器的手寫識別,
    可惜都無法支援CJK擴展E區以後的輸入,
    希望google、微軟或
    中研院國際電腦漢字及異體字知識庫-首頁http://chardb.iis.sinica.edu.tw/
    教育部異體字字典-首頁http://dict.variants.moe.edu.tw/variants/rbt/home.do
    等國家級的單位,能提供支援最好的手寫輸入法,跟上世界的腳步。
    只可惜沒有門路,讓相關單位知道網民的心聲。

    回覆刪除
    回覆
    1. 我在平板、手機上也都用手寫輸入。擴展區的漢字多半是冷僻字,一般人的需求少,自然不能引起相關單位的重視,只能自立自強靠自己了,呵呵!

      刪除
  2. 我希望将部件检索转为mdx版本,以便用于GoldenDict,并尽量使用原版的内容,因此将部件检索的html原文直接完整地作为mdx的一个词条内容,并打包为mdx。

    我在Win 10中用QT5 x64版GoldenDict 1.5-RC2-372 打开,出现了一个问题:无法切换“全部部件”或“部分部件”或“关闭键盘”。其他一切正常。

    请教:该如何改造其中的javascript,以便GoldenDict可以使用?

    回覆刪除
  3. 我对比了几个版本(pdawiki论坛上流传的mdx改造版本),发现原版最新的版本无法通过搜索“国”而得到“國”相关的字,但其他不少版本是可以的,不知原版是特意这样处理,还是有什么设置我还不了解?

    回覆刪除
  4. ■新增部件拆分

    ⺄ 一㇂
    ㇅ 一㇄
    ㇆ 一亅
    ㇇ 一丿
    ㇈ 一乚
    ㇉ 丨㇆;𠃊亅
    ㇊ 一𠄌

    回覆刪除
    回覆
    1. 兄好,這些單筆的筆畫,原則上就不再拆分了。

      刪除
    2.   原則嘛!能拆就拆,直到‥拆無可拆!

      刪除
    3. 單筆的筆畫再拆,於檢字,通常有害而無益,故不再拆。

      刪除