OpenVanilla 專案的近況

我們最近又修改了 OpenVanilla 專案的程式碼的一些地方,包括:

1. 新的偏好設定工具

我們最近整個重寫了 Mac OS X 版本的偏好設定工具。新的偏好設定中,一方面外觀有所不同,另一方面也簡化了各項設定的操作方式。比方說,我們將原本散落在三個 tab 中的各項設定,精簡集中在同一個 tab 上;如果您移除了、或是從來沒有安裝過某些模組,例如藏文輸入法等,也便不會顯示在設定頁面中。

在設定用來切換輸入法或啟用/停用輸出轉換模組的快捷鍵時,也改用像是「系統偏好設定」中設定快速鍵的方式,只要直接按下鍵盤上的按鍵組合便可完成設定,而不用從下拉選單中慢慢選擇某組設定。

Picture 1

Picture 2

2. 程式碼的重整

我們重新整理了 Mac OS X 版本的模組載入器(Loader)以及 CocoaVanilla Framework 的程式碼,大幅改寫了原本不安全的部份。例如,我們在呼叫外部應用程式時(例如叫出偏好設定程式),我們改呼叫 Cocoa 提供的 API,而不是呼叫 system() 函式。

3. 文件工作

因為許多開發者的需求,我們也開始著手撰寫開發者文件。因為這個專案主要使用 C++ 與 Objectve-C 語言開發,所以我們使用 headerdoc 作為我們的文件工具。

我們已經在 OpenVanilla.h 這個檔案中加入了相當的註解-OpenVanilla.h 是 OpenVanilla 專案最重要的一份定義,包括撰寫一套 OpenVanilla 模組所需要使用的各種物件定義與函式。如果您使用 Mac OS X、安裝了 Xcode,也從我們的 svn repository 中取得了一份 OpenVanilla 的程式碼,便可以直接使用 headerdoc2html,從各個 header file 中,產生 HTML 格式的說明文件。

4. 開發環境與工具

接下來,我們會只使用 Mac OS X 10.5 SDK 以及 Xcode 3 或是更新版本的 Xcode,開發 OpenVanilla。我們會開始使用一些原本在 10.4 SDK 所沒有的 API 以及檔案格式,例如,前述的新版偏好設定工具,介面上就全部使用 xib 檔案,而不是使用 nib 檔案。

我們還是會繼續推出供 10.4 使用的版本,但是,如果您想要自行編譯 OpenVanilla,或是加入開發行列,您必須在 Mac OS X 10.5 Leopard 使用 Xcode 3,而無法使用 Xcode 2.5 或是其他較早版本開啟專案檔案。

沒有完成的事情還有太多太多,但是我們是會繼續努力。

Continue reading

鎚子與釘子

做輸入法這種工作最基本、也最麻煩的地方就在於相容性,當你開始做了輸入法之後,弄個一個線上討論區,你會看到最多的問題、也是讓你最為無力的問題,也就是相容性。

就像你做個網站,先不管網站上的內容如何功能如何,你會遇到的最基本的問題是怎樣在 Internet Explorer、Firefox、Safari、Opera 等不同瀏覽器中,都可以看到相同的頁面;而當你開始做一套輸入法,也先不要說輸入法的功能如何,第一個要求就是怎樣可以在各式各樣的應用程式中-辦公軟體、通訊軟體、美工軟體、線上遊戲,都可以打出字,都可以正確出現選字窗等輸入法所需要的使用介面,還有,因為輸入法基本上屬於每個應用程式都會載入的外掛程式,你也不能夠讓各個應用程式在載入了你這個輸入法外掛之後因此當機。

如果你想要靠單打獨鬥或是光是仰仗社群,光是相容性這份本分,就不知道可以消磨掉多少熱情。文書或是辦公軟體,如果是使用系統的文字元件,或是規規矩矩的按照系統規格實作,大多沒有問題,但是,你在 2008 年還在做輸入法,你就會發現,許多人的需求,並不是在辦公軟體中使用輸入法,或是用在所謂生產力的用途上,而輸入法最大的相容性問題,大多來自於-線上遊戲。

Continue reading

Esperanto Keyboard Module for OpenVanilla 0.8

Today we have a new OpenVanilla module which is called Esperanto Keyboard. We have upload the Mac OS X version to the download area of OpenVanilla Project hosted in Google Code. If you need to write in Esperanto on a Mac, it might be a choice. You can download it via the following URL: http://openvanilla.googlecode.com/files/OpenVanilla-Mac-0.8.0-Esperanto.zip

我們今天弄了一個供 OpenVanilla 0.8 使用的世界語(Esperanto)模組,您可以從 OpenVanilla 計畫的下載區下載 Mac OS X 版本。您必須要安裝 OpenVanilla 0.8 版,才能夠使用;在下載了前述檔案後,請將檔案放在 /Library/OpenVanilla/0.8/Modules/ 目錄下,重新登入,或是手動重新啟動 OpenVanilla 後,就可以在 OpenVanilla 選單中,看到「世界語」這個選項。

Continue reading

Input Method Kit

上周五終於(是的,終於)釋出了 OpenVanilla 0.8 的正式版本。

在這一次釋出中,包含了一套專供蘋果的最新作業系統—Mac OS X 10.5 Leopard 的專用版本,而另外一個 0.8 的安裝套件,除了可以在 Tiger 上使用,其實也是可以在 Leopard 上面安裝的。如果您在安裝了 Leopard 版本後遇到使用問題,也可以改裝這個版本。

這兩個版本的差別在於,非 Leopard 專用版用的是蘋果過去的輸入法架構,將輸入法模組寫成 System Component,透過 Carbon API 提供文字服務(Text Service Manager,TSM);而 Leopard 專用版本,則是使用了 Leopard 所提供的新的輸入法架構—Input Method Kit(以下簡稱IMK)。

Continue reading

還是 OpenVanilla

最近 OpenVanilla 的相關進度上,都是在—做網頁、寫手冊,除了修了一下酷音輸入法的一些問題外,幾乎都是跟程式本身沒有什麼關係的事情。忘記之前聽誰說過,在 Mac 上面弄軟體,幾乎都是花一個小時寫好程式之後,要花三個小時去調整 icon,想想這些週邊工作搞起來也不會比較不花精神。

之前重新看了一下 OpenVanilla 手冊的內容,發現大部分的說明,幾乎都是在釋出 0.6.3 版左右寫的,那至少已經是兩年前的事情了。時間的巨輪卻總是不斷地向前滾動,兩年間 OpenVanilla 的程式也幾乎翻修了好幾次,像是從 0.6 系列到 0.7 之間,就因為種種原因—從 Panther 跨越到 Tiger 之後,選字窗必需要能夠放在比 Dashboard 更高的位置上;有一天蘋果推出了 Intel CPU 主機,所以要能夠編譯 Universal Binary…等,翻修了好幾次,而因為視覺介面改過了,手冊中用的圖片還是舊版的,也不對勁:加上OpenVanilla 的 Windows Beta 版本也逐步穩定,所以手冊的內容不但要修,還是要大修。

在過去幾個版本裡頭,OpenVanilla 的手冊是隨軟體附帶了一個 PDF 檔案,另外就是以 Media Wiki 管理文件內容的 OpenVanilla 網站;而接下來我們不再提供 PDF 格式的手冊,只提供線上版本的使用說明,位置是 http://openvanilla.org/help/。手冊裡頭還有些缺漏,最近有時間便會補上。

Continue reading