The Old Blog Archive (Traditional Chinese), 2004-2009

Archive for October, 2008

ㄜ與ㄝ都對應到漢語拼音 e 的問題

我在很久以前的一篇文章中,提到了注音跟漢語拼音的轉換規則。

不久前我收到這篇pingback,說我的說法是有問題的,其中有一些例外。

我想該文作者顯然認為 pinyin.cin 跟 bpmf.cin (原來為 phone.cin)的資料就一定準確。而諸如「誒」被標為「ㄝˋ」,因此注音符號跟漢語拼音並不存在一對一的對應關係。

回顧來說,我當時的文章在討論拿這兩個原始資料來驗證時,就應該加註這一句的:「根據這兩個 cin 檔來說……」。

事實上,在「正規」的 Mandarin 系統中,ㄜ跟ㄝ是互斥的,而且ㄝ一定跟隨著ㄧ。就如同ㄐ跟ㄓ是互斥的道理一樣(ㄐ跟ㄓ後面不可能接相同的組合)。這也就是為什麼當初漢語拼音的設計者用同樣的拉丁字母 e 來代表這兩個音:因為用注音符號寫成的ㄝ這個音素只可能出現在ㄩㄝ跟ㄧㄝ的場合。也就是說 ue 跟 ie 中的 e 只可能轉換為ㄝ,而其他時候都只會是ㄜ。這是 Mandarin 語音系統的規律。漢語拼音的設計者同注音符號的設計者,這些學者們,當然是認識到了這個規律、服從了這個規律的支配,並且最大程度地掌握了這個規律所起到的作用,從而派生出了一個教學及語用上不會造成歧異的系統。

如果拿 pinyin.cin / phone.cin 的幾個例外來說這套轉換規則只有 “99.519%” 場合正確,那可能是對中文輸入法的資料可靠性有很大的誤會。:)

IMK-Tiger: 將 IMK 寫成的輸入法移植回 OS X Tiger 的輔助元件

這一陣子在 open source 這一塊的工作,主要是在為 OpenVanilla 0.9 做準備。目前這個名為 Oranje 的 branch 已經初步可以運作了,恢復到差不多 OV 0.6 時代的功能。

我們這一次決定打掉 OV 0.7 的 CocoaVanilla ,決定改用 IMK (InputMethodKit) 重寫 loader。IMK 應該是業界 OS-level 最棒的輸入法架構,而確實目前改用 IMK 重寫的部份,就比先前 CocoaVanilla 省下了超過一半以上的程式碼。

但是… OS X 10.4 Tiger 的使用者怎麼辦?

IMK-Tiger 是我們提出的解法。我們直接在 OS X Tiger 上架構一個 InputMethodKit 模擬層,對原本 IMK-based 的 input method server 來說,幾乎是透明的。也就是說,我們藉由這個 emu layer ,可以達到使用同一份 code base ,就可以產製出 OS X Leopard 跟 Tiger 都能使用的輸入法元件了。

IMK-Tiger 放在 Google Code Hosting 上。zonble 寫了完整的中文介紹。英文的 announcement 發表在 OV 討論區