華文X Window中文輸入系統 版本0.1.0


目錄

本篇網頁以a4c.ime做為中文輸入。

簡介

目前在Linux上所使用的幾個中文系統各有其輸入法程式, 也就是說當我們開發中文系統平台時, 輸入法都是要各別為這些系統 再開發一次. 這浪費我們目前非常有限的中文軟體開發人力以外, 也會造成使用者的混亂, 更嚴重的是開發中文軟體的人員會無所適從. (例如, 最明顯的是Netscape, 在開發Chinese Netscape for UNIX時, 根本就無法找到中文輸入的標準.)

為了解決這個問題, 我提出了All For Chinese IOME Proposal. (IOME stands for Input/Output MEthod.) 關於IOME, 請見相關網頁.

a4c.ime主要是要驗證這個提案在X window下執行的可行性, TTY的部份以a4c.tty來驗證這個提案在TTY下執行的可行性.

這個版本的a4c.ime以XCIN相容為主. 也因為如此, 這個版本無法完全符合All For Chinese IOME Proposal. XCIN的本身設計上有很大的缺陷(與XCIN的原始碼混亂無關), 有許多功能上的限制, 比較主要的問題在於"被動式輸入", 而非"主動式輸入". 因此如果要加上例如"語音辨識輸入法"或"手寫輸入法", 基本上是不可能的. 當然了變通方案還是有的, 輸入法可以先自行儲存資料, 然後再由IME送出.

最大的一項改變是所有輸入法是由ldso載入, 這是要符合 All For Chinese IOME Proposal的第一要件. 這樣的設計提供了很大的彈性, 除了大家都熟知的輸入法外, 我們還可以加上 "日文輸入法","韓文輸入法", 等等這一類特別的輸入法, 而a4c.ime不需要做任何改變.
此外, 除了傳統的輸入法以外, a4c.ime在輸出後端加了一個"轉字法"的過濾器, "轉字法"的功能在所有的中文系統中是一項創新, 除了這個版本的"國標轉字法"及"大五轉字法"以外, 還可以加上"中文轉英文轉字法"(或稱字典法), "中文轉日文轉字法","字庫法"(有點像忘形輸入法, 不過不需要一定要用注音輸入)

輸入法加上轉字法的結合可以大大改變中文系統的方便性, 可以有許多創新的組合出現.

許多網友的建議, A4C.IME在V0.2.0時, 會加入XIM的支援.


使用說明

切換輸入法:
CTRL+SPACE : 在"英數輸入法"及上一個輸入法之間切換, 例如, 如果您上一次是注音輸入法, 那麼它就會在"英數"及"注音"之間切換.
CTRL+SHIFT或滑鼠在輸入法區點一下 : 循序切換輸入法. 其順序是按照/etc/iome/iome.modules所指定的順序.

切換半/全型:
SHIFT+SPACE或滑鼠在半/全型區中點一下.

切換轉字法:
CTRL+'~'或CTRL+'`'(就是鍵盤左上角那個很少用的按鍵)或滑鼠在轉字法區點一下.


設定檔說明

a4c.ime的設定檔放在/etc/iome或$HOME/.iome
搜尋順序為$HOME/.iome, /etc/iome

主要的設定檔為/etc/iome/configure
在這個檔案中有三個主要的設定:

lang big5
configure iome.big5
modules iome.modules
tty /etc/iome/tty.big5
lang指定所用的字集.
configure指定真正的設定檔, 可用不同的字集來做為設定.
modules指定模組檔.
tty為a4c.tty所使用, 一定要完整路徑.

iome.big5
這是系統設定檔, 所有設定值均在此. 這個版本沒有Configurator, Configurator在V0.3會出現.

其它的設定請勿變更. 有關顏色的設定可看一下/usr/X11/lib/X11/rgb.txt.

iome.modules
這個檔案指定要載入的模組.a4c.ime會自動判斷那個模組屬於那一種(輸入法或轉字法).

load big5.filter.so
load gb2312.filter.so
load phonetic.so
load chexcode.so

英漢字典輸入法

`或~(就是鍵盤左上角那不太常用的按鍵): 輸出在選字區所顯示的英文字.
ENTER: 輸出在輸入區所輸入的英文字.
>: 顯示下一排選字.
ESC: 清除.
Up: 向上找字.
Down: 向下找字.
1-5: 選字.

如何新增自定字

這個版本的英漢對照大約30,000字, 英文大約有47,000字, 因此, 您可以用自定字的方式來新增, 如果您有自行新增的話, 請寄給我一份, 這樣可以在下一次, 將大家新增的字整合起來, 如此大家共享成果. 而如果您有妙手空空的本領或是通曉門道, 知道去那裡弄英漢對照的字典檔(要有檔案格式的, 別叫我巧婦難為無米之炊), 也請告訴我.
在iome的目錄下, 有個dict.pages的檔案, 內容為
load /usr/dict/dict.extra
load /usr/dict/dict.phrase
load /usr/dict/dict.main
您可以再加一個自己的, 以dict.phrase做為範例:
"get rid of" 清出 理出 排除
"you bet" 沒錯 謝謝 不客氣
"for god's sake" 老天爺啊
"god bless you" 上天保佑
"buddha bless" 佛祖保佑
"you bet cha" 不用客氣
"right now" 現在     
注意到英文字一定要框起來, 而中文字以空格做為分格. 英文字重複沒有關係, dict.so會自動把內容合併到同一個英文底下.

就是這麼簡單.

目前我正在製作, 字典工具集, 將目前載入過慢的缺點改進. 並加強字典管理的方便性. 同時, 加強英漢/漢英的交互使用功能.


內碼輸入法

這個版本的內碼輸入法可預覽. 按下<或>可前後移動預覽字. 對大部份人來說, 這個功能方便許多, 畢竟沒人能夠把內碼全部背起來.

注音輸入法

在這個版本的注音輸入法, 於選字區左邊有三個記號:
< - 表示可按下<向前導覽.
: - 表示可按下SPACE.
> - 表示可按下>向後導覽.

標準碼模式

標準碼模式是完全不過濾輸出. 輸入法給什麼就吐什麼, 沒有經過任何的轉字法模組.

大五碼模式

大五碼模式的作用是將所有輸出全部轉換成大五碼, 不管輸入法使用的字集為何. 如此若有以國標碼為基礎的輸入法, 您可以用國標碼來輸入大五碼. 這個功能使用big5.filter.so轉字法模組. 目前來說不重要, 因為所有輸入法都是大五碼Based.

國標碼模式

國標碼模式的作用是將所有輸出全部轉換成國標碼, 不管輸入法使用的字集為何. 如此您可以用注音或內碼輸入而輸出國標碼. 這個功能使用gb2312.filter.so轉字法模組.

Screenshots

以下是在AfterStep下的Screen Shots

在上方的一列被稱為ListArea, 選字區
在左下角的位置被稱為Method, 輸入法區
在右下角第一為被稱為FontSize, 半/全型區
在右下角第二為被稱為Charset, 轉字法區
在中間的一區被稱為KeyArea, 輸入區

正常外觀

注音輸入法

內碼輸入法

英漢字典法

行列輸入法

三碼大易輸入法

漢語拼音輸入法

蝦米輸入法

倉頡輸入法

四角號碼輸入法

大易輸入法

普實台文輸入法

輕鬆輸入法

華象輸入法

許式輸入法

客家注音輸入法

簡易輸入法

王碼輸入法

羅馬拼音輸入法

劉式粵音輸入法

國標內碼法(國標)

五筆輸入法(國標)

國標自然輸入法(國標)

雙拼輸入法(國標)

全型輸出模式

大五碼輸出模式

國標碼輸出模式

ltcolor及dkcolor交換的設定

ltcolor = grey96, dkcolor = grey32, bgcolor = grey84


下載及安裝

All For Chinese IME X window 0.1.0下載處
ftp://ftp.okstation.com/all4chinese/a4c.suite/a4c.suite-0.1.0.tgz, 1.9MB
ftp://freebsd.ntu.edu.tw./freebsd/taiwan/all4chinese/a4c.suite, update daily.

歡迎Mirror, 如果您要Mirror, 請來信通知, 我會把您的站列在這裡. 安裝說明可在a4c.tty一部份找到.

執行 輸入

a4c.ime &
即可執行All For Chinese IME X window 0.1.0

All For Chinese CX Disguise, 中文易容術

這個程式是由XA+CV偷來的, 我做了一些修正,
因為CV功能每次都要載入一些字型, 因此速度太慢, 
所以我把CV功能關閉了, 配合a4c.cx.so, 可在 X window下所有
視窗輸入中文. 當然了, 遇到8-bit clear的程式是沒輒了.

安裝disguise

make disguise
如此會將a4c.cx.so複製到/usr/X11/lib
cx,nx安裝到/usr/bin

要特別注意
cx : 內容為
export LD_PRELOAD=/usr/X11/lib/a4c.cx.so
$@
unset LD_PRELOAD
它是用來啟動disguise的功能的

nx : 內容為
unset LD_PRELOAD
$@
它是用來關閉disguise的功能的

您可以在$HOME/.xinitrc裡面加入這一行
.
.
.
export LD_PRELOAD=/usr/X11/lib/a4c/cx.so
afterstep # 假設您是用AfterStep的話

千萬不可使crxvt載入a4c.cx.so或wrap.so,
如果您的視窗選單有crxvt, 記得要改成
nx crxvt ...

如果您沒有在.xinitrc加上那一行的話,
可用
cx netscape or whatsoever
來啟動disguise的功能

千萬千萬不要把
export LD_PRELOAD=/usr/X11/lib/a4c.cx.so
放到profile或.bashrc裡面

如果您遇到始終出現會載入a4c.cx.so的問題的話
試試
unset LD_PRELOAD
或
set LD_PRELOAD=
這樣就會取消掉Preload的問題

OK STATION, Webmaster, Brian Lin, 狐仙, foxman@okstation.com, 最後更新日期, 10/6/1998.