簡介自由行列專案

By Shaform, Mon 15 February 2010, in category Projects

軟體開發, 輸入法, 自由行列

本持自由軟體,Release Early, Release Often 之精神,我實在應該趕快把自由行列的程式碼公開出來。不過覺得程式碼實在太醜,而且其實根本也還沒寫出什麼,再者我現在其實是一邊寫一邊學 OOP,因此程式碼常有大幅改動,再者又覺 SVN 操作好麻煩,所以遲遲未發。

不過為了避免自由行列的想法消失在歷史之中。於是決定,先把自由行列專案的簡介發出。

簡易使用

行列輸入法雖然是用字根組字的輸入法,然而由於其字根的特性,需要花的記憶心力其實是比較小的,只是為了求快或者避免選字,時常必須記憶特別碼或簡碼。並且因為有些組字必須選字,而有些則不用,使得要時常注意螢幕或者把它的行為強記下來。

引入智慧選字的功能之後,自由行列的新特性將是簡易。也許不再追求最快的輸入法,但是卻有機會成為組字輸入法中最易上手,選字機會最低的輸入法。每次出字時,不會再有依是否要選字而有的不一致行為,同時我也想將加上特定字尾才能輸出難字的功能去掉,而藏在「w」中的符號表,也被拿到「`」之下。如此一來,輸入的一致性將大為提高。

符號輸入

符號輸入是自由行列要改進的核心事項之一。除了符號表之外,還有從透過從行列字根發展出的「符根」輸出符號的「行列定符」,以及透過英文鍵盤,輸出全形中文符號的簡易符號輸入。

使用過行列輸入法的人,即使不用特別說明,只要看到以下符號表,就會明白行列定符的意義。由於和字根非常相似,幾乎不用什麼記憶。

按鍵 符號 按鍵 符號 按鍵 符號
1^ 5^ 8-
1- 5^5^ 8v
2^ 5- 8v8v
2^2^ 5-5- 9^
2- 5v 9-
2-2- 5v 9v
2v 5v5v 9v9v
2v2v 5v5v5v 0^
2v2v2v 6- 0-
3- 7^ 0-0- ·
4- 7- 0-0-0-
4-4- 0v

在輸入完符碼後,按下 Shift+「詞彙鍵」即可輸出符號。

簡易符號輸入則是像新注音或新酷音那樣,在全型模式下,可輸入英文符號而輸出中文符號。此外,各種符號都可在緩衝區中再按下選字鍵選擇類似的符號。關於簡易符號輸入其實還是有很多改進的方法,有待開發。

事實上,對於符號輸入的改進,一部分的原因是要完全解決 Jedi 在他文章中所提出的跨 qwerty/dvorak 鍵盤時會遇到的問題。透過行列定符,使用者可以在完全不知道英文鍵盤的符號在哪的情況下輸出符號,讓行列自成一體系。而特意加強的簡易符號輸入,則是可依不同鍵盤輸出對應的中/英文符號。

繁簡分離

行列輸入法的字根除了可以用來拆繁體字外,其實也可以輸人簡體字。原本的設計是在輸入特定字尾時輸出簡體,但我想將簡體輸入獨立出來做為簡體模式。也就是說,我想嘗試讓自由行列具有做為一個簡體中文輸入法的可能性。

不只是輸入法

在製作 libfreearray 時,我所考慮的其實不只是輸入法而已,而是要將其發展成自由行列的通用函式庫。例如 typing tutor 或查碼程式,或其他更多的應用,都可基於其上發展。特別是一個可以在 Linux 平台上執行的 typing tutor,更是我將來有機會想實行的方向。覺得行列輸入法實在是一個很好的輸入法,現在似乎不太多人學,實為可惜。

手機輸入法

行列輸入法做為一個用數字排列字根的輸入法,自然具有成為手機輸入法的潛力,甚至要做到只有十鍵輸入,且不看螢幕都有可能。libfreearray 既然想成為行列的通用函式庫,最後很可能會希望建立起一個具有原始拆字字根,而非減縮後的 30 字根,的文字資料庫。屆時,當可研究如何製作手機輸入法。想來,要把行列字根轉到手機上其實有很多種做法,優缺點也不一,有心人可細細研究。

也許後來手機的鍵盤將不再有十鍵的限制,但行列做作手機輸入法的可能性還是令人憧憬。