#osxchat blog

關於 #osxchat

#osxchat是一群使用 Mac OS X 工作、平時又泡在 IRC 裡頭的人的交流管道,#osxchat blog 是這群人的發表園地,是一群朋友共同主持的「我流媒體」(We the Media!)。這裡的人,有的是在 Mac OS X 上開發應用程式,最近特別熱中的是中文輸入法的開發,有的從事科學工作,有的從事美術或寫作。您可以在 irc.freenode.org 上,找到這樣的一群人。

在 Mac OS X 上,我們推薦您使用以下幾套 IRC 聊天軟體: Conversation使用方法)以及Colloquy使用方法),我們在聊天時,使用的是UTF-8編碼。如果您也有興趣,加入這個 blog 的寫作行列,請先進入聊天室,和成員聊一下,就可以獲得成為這個 blog 作者的方法了。

2007/09/27

OpenVanilla 0.8.0 (beta 1) 發布

作者: lukhnos

我們今天發布了 OpenVanilla 0.8.0 (beta 1) for Mac OS X ,可透過這個網址下載取得

0.8.0 (beta 1) 與前一版本 0.7.2 相比,最重要的改進如下:

  • 選字窗以及整體視覺設計的改進
  • 使用最新版的酷音模組,修正了過去以來使用者詞庫無法正確儲存的問題,同時支援大字集
  • 行列輸入法增加萬用字元(? 及 *)的支援
  • 泛用輸入法增加萬用字元(? 及 *)的支援,但目前需要手動更改設定檔才能開啟
  • 精簡過的預設模組清單,讓第一次安裝後的選單清爽許多
  • 附帶安裝 UIM-Anthy 日文輸入法。要使用本輸入法需另行安裝 MacUIM,可從這個網址取得
  • 修正了不能與QuickSilver搭配使用的問題
  • 修正了雙螢幕模式時,選字窗位置跑掉的問題
  • 修正酷音輸入法容易使Finder當機的問題

已知問題

  • 泛用輸入法模組的萬用字元功能,需用手動修改設定方式開啟
  • 偏好設定面板的選字窗預覽並未反映新介面,同時新選字窗已不再支援背景貼圖和透明色
  • 使用手冊未完成更新
  • 網站未完成更新
  • 選單本地化工作尚未更新
  • 行列反查模組暫時移除,因為目前發現一些資料結構上的問題
  • POJ輸入法的一些規則需要修正
  • 選字窗縮放時的動畫效果,在較慢的機器上可能造成系統延遲。動畫選項需用手動更改設定方式來關閉。
  • 本安裝包並未附上反安裝程式,.cin檔編輯器、螢幕小鍵盤等工具
  • Display Server尚未支援螢幕小鍵盤的「顯示/隱藏」告知功能
  • Loader仍有許多debug訊息未移除
  • 0.7.2的設定並不會被0.8.0沿用
  • 本安裝包為Unicode Script版本,因此對於一些傳統的Carbon應用程式,可能會發生無法使用OpenVanilla來輸入文字的情況

標籤: , ,

2007/09/25

OpenVanilla 0.8 最近的開發進度

作者: zonble

本文同時發表於zonble's promptbook

大概在月初的時候,OpenVanilla 開發團隊決定近期內再推出一個版本,下一版的版次為 0.8 版;實際的推出日期還不確定,到時候新的版本會包含多少新功能,很多也還不確定,總之,在這邊先聊一下這一兩個星期的實作進度。

目前 OpenVanilla 主要在 Windows 以及 Mac OS X 兩個平台上發展,而團隊目前也對於 Mac OS X 平台的開發比較熟悉,我個人也只有處理 Mac OS X 這部份,所以,以下的內容,也以 Mac OS X 平台為主。

目前完成的一些功能…

首先是要解決自前一版本釋出後,一直沒有解決、同時困擾很多人的使用問題,例如酷音輸入法這套智慧選字注音輸入法,在 Finder 下要修改檔名的時候,會造成 Finder 當機的問題。同時將 libchewing 從 0.2 版升級到 0.3 版,換言之,便是酷音輸入法的功能升級到與目前的 Windows 以及 Linux 版本同步,包括內部編碼從 Big5 改為 Unicode,可以直接透過酷音,輸入在 Big5 範圍之外的中文字以及各種符號。

之前也已經完成了一些輸入法相關的小工具,例如通用輸入法表格修改工具,以及圖示修改工具,可以讓使用者自行修改在輸入法選單上顯示的圖示…等。

在外觀設計上,計畫在這一版中翻新從 2004 年起、自 0.6 版使用了將近三年的圖示。之前一直有人說, OpenVanilla 的圖示長得像香蕉(或是這樣的反應:「原來 OpenVanilla 的圖示不是香蕉啊?」),於是花了時間重新繪製了一個香草圖示,以灰色與綠色搭配出一套清爽的外觀。

在選字視窗設計方面,過去一兩年間,開發團隊花了一段時間嘗試是否可能將 Web 技術放入輸入法設計中,甚至透過 Web 物件,呼叫可以做出各種華麗介面的 Quartz Composer,像之前就有提過的「立體旋轉選字窗」或是「涼宮春日選字窗」等;技術上是做出來了,涼宮春日也的確很萌,但是實際上用過一陣子之後,感想還是—不好用。因此,並沒有在下一個釋出版本中,使用 Web 選字窗的計畫。

不過,下一版的選字視窗,也有著不一樣的外觀。下一版的選字窗會有圓角外觀以及 Aqua 風格的漸層;在整個 Mac OS X 中用 OpenVanilla 打字跳出選字窗時,應該不會有那種「某個地方看起來特別不協調的感覺」了吧…。

在下一版中,也加入了各種透過視窗介面輸入文字的支援,換句話說,就是像是螢幕鍵盤或是符號面板的功能。

雖然 Mac OS X 內建的符號面板功能十分強大,除了可以用來查詢、輸入各種亞洲文字以及 Unicode 字元,在繁體中文的部份,可以用筆劃數目與部首查詢文字輸入,但是,內建符號面板的執行速度實在讓人難免有微詞,而且還是有很多各種不同文字或符號面板輸入的需求,很難一次全部做在一起打發,但是直接寫一套 Mac OS X 支援的符號輸入法 Bundle,光看文件就覺得是件麻煩事(君不見除了蘋果之外,還有人在寫第三方的輸入法,但是沒什麼人在寫第三方的符號面板),而我自己覺得,在 OpenVanilla 現在的架構下,要弄出新的符號面板來,會輕鬆容易得多—唯一不便的地方大概在於,要使用 OpenVanilla 的符號面板,一定要將輸入法切換成 OpenVanilla,才能作用。

這兩天做了兩個符號面板的實驗。一是文字輸入 Snippet(一直以來也不知道 Snippet 到底有什麼好翻譯),大概是,如果你經常輸入某些詞句或段落,你可能會放在某篇文件裡頭剪剪貼貼,而要用的時候,卻又不知道這篇文件放在哪裡;你也可能使用文書編輯軟體提供的功能,例如 Microsoft Word 提供所謂的「自動圖文集」,Mac OS X 上的編輯軟體如 Smultron 等,也提供 Snippet,但是有時候你也會希望同一段文字,可以在很多不同的軟體中使用,而不只侷限在某一套軟體。通常使用者不會一直開著同一套軟體,但是會一直開著輸入法,在輸入法的層次做這件事情,或許是一件比較好的解法。

目前,你在打了某些文字之後,可以將文字選起來,透過服務選單(Service Menu),便可以將這段文字加入到 OpenVanilla Snippet 的列表中,到需要使用的時候,只要點選兩下,就可以將這段文字插入到目前正在使用的應用程式。(順道一提,這個小程式主要用到了 CoreData,CoreData 的確很方便)

另外一個嘗試,就是做了一個常見的中文標點符號表了。在 Windows 上,很多文書軟體都提供了標點符號表或符號列的功能,許多使用者也習慣點選符號表輸入中文,很奇怪的,Mac OS X 上卻一直沒看到什麼人做出這樣的功能;起先就根據 Microsoft Word 2003 依樣畫葫蘆,畫了一個內容相同的符號列,馬上就有人說,這樣長得像麻將,心一橫,就乾脆先畫成麻將的樣子了,沒想到效果還不差啊…。畫面中的麻將,是把第一代「麻雀學園」遊戲畫面裡頭的麻將拿出來用的。

(想想,與其做什麼輸入法,不如去做賭博電玩。)

在 Windows 平台上,b6s 最近接連釋出了幾個 0.7.2 系列的測試版本,目前最新的版本是 0.7.2.7 0.7.2.9 測試版

說到 Windows 上的 OpenVanilla,就覺得這年頭什麼怪事都有—起先你以為 Windows 上面很多輸入法都做了那麼多年,想來不應該會有人什麼問題,但是微軟就是有這個本事,做了那麼多年的輸入法,有一天他就是有辦法給做爛;如果用 Windows Vista 內建的大易輸入法 6.0 ,在 Office 2007 裡頭打字,輸入法會自動在每個字之間插入一大堆空格,讓你每打兩個字,就要回頭刪掉三個空白,舊版的大易輸入法也無法在 Vista 上安裝,也不知道微軟以及太易科技要怎麼解決這個問題,而聽說行列輸入法也有類似的問題。

而目前在網路上面看到的解決之道,要不就是把 Vista 砍掉重新安裝成 Windows XP,要不就是使用還在測試中的 OpenVanilla 加上大易打字; OpenVanilla Windows 版本突然變成了大易輸入法的救星,想來也真是莫名其妙。

總之,這兩天還只能夠先聊聊下一個版本的大概面目,有些其他的功能—包括某些輸入法模組—還在實驗當中,但是,新的版本,會在不久的未來推出,這是可以肯定的。

標籤: , ,

2007/04/02

如果你發現無法在 Flex 網站或 Flash 程式中使用 OpenVanilla 輸入中文

作者: zonble

如果你在 Mac OS X 上在打開 Flex 建構的網頁,或是在 Flash 應用程式中的文字輸入框中,切換成 Mac OS X 內建的輸入法—例如漢音輸入法)—你可以順利輸入中文,但是如果使用最新版本的 OpenVanilla 輸入中文的話,則是無論按下任何按鍵都沒有反應。

會造成這種狀況的原因是,最新版本的 OpenVanilla 程式是設定為 Unicode 語系,而似乎 Mac OS X 上的 Flash Player 似乎還無法正確偵測 Unicode 語系的輸入法,所以,除了 OpenVanilla 之外,其餘各種 Unicode 輸入法—例如作業系統內建的 Tamil 鍵盤,都無法在 Flash Player 中正常運作。

這樣看起來,比較是 Adobe 方面需要解決這個問題,而在 OpenVanilla 開發團隊這方面,則只能在這邊建議,如果您遇到這樣的問題,而且經常需要使用以 Flash 為基礎的各種應用程式,那麼,請先移除目前安裝使用的 Unicode 版本的 OpenVanilla,然後從 OpenVanilla 官方網頁上的下載、安裝、啟用與移除頁面上,下載繁體中文或簡體中文語系的版本,重新安裝使用。

(本文同步發表於 zonble's promptbook

標籤: , , , ,

2006/10/29

讓 OV 日文輸入法(暫時)能在 Intel Mac 上使用的方法

作者: lukhnos

我終於又有日文輸入法可以用了。

OS X 是有內建的日文輸入法 Kotoeri ,可是 OS X 只要裝一種以上的中日韓輸入法,輸入法切換的行為就變得相當惱人──這一點,在WWDC 2006上,已經被許多同樣需要多語輸入的與會者抱怨過了(顯然再次驗證了「什麼不孤,必有什麼鄰」這種顛撲不破、放諸四海而皆準的真理)。

也因為這樣,在 OV-UIM (Anthy) 開發出來後,我就一直很高興地用 Yatsu-san 包裝的 UIM.framework (附於 MacUIM 中)配合 OV-UIM (Anthy) 來輸入日文。同樣在 OpenVanilla 裡的好處是,可以使用 OV 的快速鍵來切換注音和日文,入力快適感滿點。

可是,因為 MacUIM / UIM.framework 仍是 PPC-only ,因此在 Intel Mac 上是無法使用的。為了這一點,困擾了我很久。在入力法燒鳥會上,Yatsu-san 說會努力(最近 MacUIM 出了 0.5.0 ,確實在 build system 上有些改變),我相信不久之後,我們一定會有 MacUIM 的 universal binary 版本的。

倒是,今天靈機一動,突然想到,其實 OV 是 universal binary ,意思是可以在 MS Office 這一類 PPC-only 的環境下執行。那麼,MS Office 顯然可以把 OV-UIM 以及 UIM.framework 給載進來(如果在 i386 環境下,因為 UIM.framework 沒有相對應的 binary,OS X 的 loader 會拒絕載入,使得 OV-UIM 載入連帶失敗)。

就是這樣。

用 Finder 在 Safari.app 上按 Command-I ,把 "Open using Rosetta" 選項打開,此時 Safari 就變成了一個 PPC application,然後開啟 OV ......

OV-UIM (Anthy) 復活了

啊,三個月了,終於又有好用的日文輸入法。先前偶爾還有跟日本友人書信或 instant messenger 往返的,其實都因為不喜歡在 OV 和 Kotoeri 間切換,頓時沒有了學習書寫日文、學著用日文說話的動機。

如今這些動機又都回來了,雖然必須用 Rosetta。

(是的,這時候覺得,OS X 上有那麼多種 browser ,其實是很幸福的──我把 Camino 撥過來變成「寫日文專用 browser」好了 XD)

標籤: , ,

2006/09/05

輸入法廚房

作者: gugod

這次輸入法廚房的活動,主題便是 Leopard 裡新介紹的輸入法架構:InputMethodKit。整體看起來,與 OpenVanilla 所想要完成的事情很不相同。整個 InputMethodKit 裡頭分成三大部份:Server、Controller、CandidateWindow。而在 OpenVanilla 0.7 裡,大致是拆成 Loader、DisplayServer;而在 OSX 上,Loader 的部份還要拆成 TSMComponent、CocoaLoader 兩部份,TSMComponent 使 OV 可以成為 OSX Text Service Manager (TSM)的一個外掛,而由此外掛載入 CocoaLoader,將所有的輸入法模組載入進來。Leopard 上的 InputMethodKit 所達成的功能,一方面是全面取代原有的 Text Service Manager,另一方面則同時提供了 DisplayServer 顯示選字窗的功能。

在 InputMethodKit 的架構之下,與以往比起來,便是輸入法一口氣由 TSM 外掛,提升成為了應用程式。選字窗很自然地就成為了此應用程式的視窗,此應用程式與其他應用程式不同,它是完全的背景應用程式。所謂背景應用程式,在 OSX 上的說法,就是「執行時不會在 Dock 出現,也不會出現在 Recent Item 清單裡」的應用程式。只要一有切換輸入法的動作,作業系統便會自動執行輸入法的應用程式,但一但此輸入法應用程式執行了一次之後,除非該程式因故終止,否則不會再執行第二次。

這種做法,很明顯地對於記憶體用量會大有改進,因為,在作業系統運作期間,一個輸入法只會被載入一份。如果是以前採用外掛的方式,跑了幾支應用程式,記憶體中便會有數份輸入法。但難處便是,以往只要以函式呼叫便可寫的輸入法,現在要以行程間通訊扯上關係。為此,InputMethodKit 便直接利用了 Objective C 裡的分散式物件,來解決通訊的問題,所以對於寫輸入法的人來說,這是無需處理的細節。

用 InputMethodKit 來寫輸入法,可以直接使用 Xcode 開始寫一個 Cocoa Application,整份 InputMethodKit 都是 Objective C 的函式庫。程式設計師需要做的,大抵便是定義自已的 InputMethodServer 子類別,並定義其 inputText 方法,該方法是個整體的入口,收字元、顯示組字、選字窗、出字串。若要分得細一點,可以自行創建自已的 InputMethod Engine 類別,再於 inputText 方法中,將查表組字的部份完全交遞給 InputMethod Engine 去辨。這 InputMethod Engine 並不是 InputMethodKit 架構的一部份,只是為了讓程式邏輯更加分明,而分開來的另一個類別。與 OpenVanilla 比較來看, inputText 函式便是存在於 Loader 之中,而 InputMethod Engine,就是 OpenVanilla 的輸入法模組。

目前為止並沒有什麼太難的地方,寫完一整個以前的 BasicInputMethod,必要的 Objective C 程式碼不出一百行。可以說,InputMethodKit 將事情簡化的程度,大致上就跟 OpenVanilla 框架是差不多的。這兩天下來,頭痛之處是在弄懂 InputMethodServer 需要的 plist 內容。因為都是應用程式,必需要跟其他的應用程式有所區別,Leopard 的文字服務才可以將此應用程式視為一輸入法,將之載入,並放置於輸入法選單當中。最重要的,便是 CFBundleName 這個識別字的值,需要包括 "inputmethod" 這個字串。如 "org.openvanilla.inputmethod.phonetic"。並不會真的造成程式上的問題,但是對於本來不依此慣例取名的人來講,還得全面將自已的 CFBundleName 都改掉,果然還是有一些代價的。

此外,InputMethodKit,不,應該說 OSX;「輸入法」一詞,在 OSX 的定義,其實與台灣人一般的認知有一點差異。它們所指的「輸入法」,是在輸入法選單中出現的主要項目。如「繁體中文」、「Koetori」、「Hangul」。而其下的子項目,它們稱為「輸入法模式」。對於日文 Koetori 來說這比較沒有什麼問題,平假名與片假名被認為是日文輸入法的兩個模式,也還說得通。但是在兩種中文輸入法底下,以「模式」相稱,反而不對頭。倉頡與行列,並不算是中文輸入法的兩種模式。不過,這說起來只是名稱問題。最主要的重點還是在於,每個「輸入法」是一個應用程式。也就是說,整個繁體中文底下的所有輸入模式(倉頡、漢音、拼音...),其實都是寫在同一個應用程式當中。

這一點對於 OpenVanilla 的架構來講,也不會有很大的影響,反而應該是一個有利的地方。OpenVanilla 架構早就將輸入法獨立成為模組,所以要把輸入法模組調整成 InputMethodKit 可以接受的「輸入法模式」也就行了。

但實做上面,把輸入法模組換成輸入法模式,可能是最難的一點。因為,在 InputMethodKit 裡,所有的輸入法模組都是事先定義在 plist 當中,說起來竟算是個「應用程式設定值」的概念。要 OpenVanilla 來說,也就是要先做一份完整的輸入法模組列表,才能在輸入法選單中,將輸入法模式正確顯示出來。

但這跟 OpenVanilla 目前的做法是完全相反的。OpenVanilla 一直以來都是使用動態載入的方式。大家可以將輸入法模組裝到 /Library/OpenVanilla/ 目錄底下,然後 Loader 會自行偵測並載入。載入了之後,再動態去修改選單的內容。如果要事先將輸入法模組列表做完,那麼使用者就變成沒有選擇,必需要安裝所有的輸入法模組才行了。以 OpenVanilla 專案來說,也可以完全不要理會輸入法模式這個部份,只要一直保致一貫做法即可。比較合理的應用,也許是將 SpaceChewing 輸入法,以 InputMethodKit 重新寫一次,並把各種鍵盤排列做為不同的輸入模式。

標籤: , ,

2006/06/25

It's there.... OpenVanilla 0.7.2發布

作者: lukhnos

這應該是 OpenVanilla 誕生到現在,在包裝上最花時間的一次。It's finally here!

詳細的發布說明、取得方式及安裝說明──這一版請大家至少一定要讀一下「Ok,我到底該安裝哪套variant?」一節──請參考OpenVanilla 0.7.2的版本發布說明

對了,這一次 0.7.2 正式版的推出,有一個要特別感謝的人:davidyu。因為他的耐心與鍥而不捨──或許也因為他的PowerBook特別搞怪(?)──我們終於得以克服0.7.2-beta以來一直很難再現(reproduce)的一個嚴重bug。雖然這一半是OS X的問題,但至少以這次的修正來說,以後應該不會再發生「需要靠砍神秘的 .plist 才能修復 OV」的奇怪情事了。再次謝謝他的熱心幫忙。

標籤: , ,

2006/06/21

OpenVanilla 0.7.2正式版小規模發布(再更新)

作者: lukhnos

Update: 正式發布工作已經完成,取得及安裝方式,請參考OV wiki上的0.7.2版本發布說明

Update: 若您是行列輸入法的使用者,又在 2006/6/21 至 2006/6/25 之間曾安裝過 0.7.2 正式版,請參考這個說明,並至這裡下載修正檔案,就可以解決Caps Lock的問題了。

我們開始針對 OpenVanilla 0.7.2 for OS X 版本做小型的發布。0.7.2 正式版與 beta 版相比,新增及改進的項目主要有幾個:

  • 修正 0.7.2 beta 一直以來的幾個大問題:Num lock key 造成 OV 失靈、長期開機後會完全失效、需要靠刪除某個神奇的 .plist 檔才能修復再起不能的 OV 等難解的麻煩。
  • 增加一個解除安裝程式,可以把舊版或會造成衝突的版本清除掉。

  • 先前所有 patch 都整合了進來,包括針對詞彙管理工具等模組的修正。
  • 簡易/速成輸入法配合 Windows 習慣,改為九個選字鍵。


進一步的說明,請參考OpenVanilla Wiki

標籤: , ,

2006/05/10

OpenVanilla新功能介紹第四彈:輸入法資料檔可以放在自己家目錄下

作者: lukhnos

OpenVanilla最大的特色之一,便是泛用輸入法模組。

泛用輸入法在 OV 內部有一個拗口的表示法,叫 OVIMGeneric ,意思是「OV的Generic(泛用)輸入法模組(IM)」。這麼模組最早叫 OVIMXcin ,以向 Xcin 計劃致敬(註)。在 0.7.2 beta 之前,使用者要自訂或更改輸入法表格,都必須去 /Library/OpenVanilla/(版號)/Modules/OVIMGeneric/ 這個目錄下去修改資料才行。

這個作法一直造成了幾個問題。首先,使用者必須取得管理者權限才能更動該目錄的資料,很不方便。其次,如果用砍掉整個目錄的方法來卸載安裝 OV ,使用者原先自訂的輸入法表格便會消失。最後,一個使用者自訂的輸入法(例如對倉頡表格的變動)會影響同一台機器上的所有其他人,因為該目錄的資料是所有人共用的。

從 OV 0.7.2 beta 開始,泛用輸入法模組會去尋找 ~/Library/OpenVanilla/(版號)/UserSpace/OVIMGeneric/ (如果該目錄不存在,您可以自行建立一個)的資料。如果在該目錄下找到了輸入法資料檔,OVIMGeneric 會優先讀取該目錄的資料。

也就是說,以 0.7.2 beta 為例,如果在 ~/Library/OpenVanilla/0.7.2/UserSpace/OVIMGeneric/ 中有一個 simplex.cin (簡易/速成輸入法)的表格,而 /Library/OpenVanilla/0.7.2/Modules/OVIMGeneric 也有一份 simplex.cin ,OV 會以使用者家目錄下的那一份資料表為準,而忽略在共用資源庫目錄下的資料表。

因此,從 0.7.2 beta 開始,要自訂或修改輸入法的朋友,可直接將資料表建在上述的目錄中(記得版號要隨著 OV 版本而更動),或者如果是修改,可以從 /Library/OpenVanilla/(版號)/Modules/OVIMGeneric/ 中把資料表先拷貝至 ~/Library/OpenVanilla/(版號)/UserSpace/OVIMGeneric/ 中,就可以自由修改了。

最後,「反查模組」也適用上述的目錄。預設的資料表是放在 /Library/OpenVanilla/(版號)/Modules/OVOFReverseLookup 中,使用者自訂的表格則放在 ~/Library/OpenVanilla/(版號)/UserSpace/OVOFReverseLookup/ 裡面。

註:Xcin是台灣最早的開放原始碼中文輸入法計劃,目的是為了讓 X-Window 上能使用各種常見的中文輸入法。OV 的中文輸入法資料表格,多半源自於 Xcin 計劃。

標籤: , ,

2006/05/07

OpenVanilla新功能介紹第三彈:真正的日文輸入法 (OV-UIM-Anthy)

作者: lukhnos

今年一月推出OpenVanilla 0.7.2 beta的時候,原本計劃在#osxchat blog上撰寫一系列新功能介紹的,結果二月一忙,就忙到了現在。

本次要介紹的是0.7.0時就已經開始開發,一直到0.7.2 beta才正式推出的新模組:UIM-Anthy 日文輸入法。

UIM 是一套在日本相當普遍的輸入法程式庫,在open source界有相當重要的地位,裡面整合了數十種各國語言的輸入法。在Mac OS X上,移植UIM最有名的,要屬於Yatsu的MacUIM了,在日本也相當受歡迎。

(附帶一提:在日本,Mac上流行的日文輸入法,似乎以Atok為主,先前還看過Ergosoft、被我們戲稱為「出雲大社輸入法」的egbridge universal,讓我們驚訝原來輸入法可以做這麼多事情──令人好奇的是:Mac使用者都不怎麼用系統內建的輸入法的呀?)

總之,原先是為了實驗在 OV 上使用 UIM 程式庫的可能性,於是我們做了一個小小的試作版。後來我自己覺得,能在 OV 裡面打日文,應該是蠻方便的──配合 OV 的快速鍵切換,打日文就不用跳出 OV ,對我這種僅僅偶爾需要打幾個單詞的人,相當有用。

於是,0.7.2 beta 正式把 OV-UIM-Anthy 收進延伸安裝套件裡。

安裝方法


請先至MacUIM 在 SourceForge 上的下載點,下載 MacUIM 0.4.1-1 (for Tiger) 版本的套件。OV 的 UIM 事實上是利用了 Yatsuさん建立的 UIM.framework ,因此沒有 MacUIM 是不能跑的。

然後接下來請下載 OV 的延伸套件(from SourceForge or OpenFoundry),並按照裡面的說明,把 UIM-Anthy 輸入法模組的安裝起來。

安裝完成,OV 選單會出現這樣的東西(我用的是英文選單):

OpenVanilla Menu

切換至 UIM-Anthy 後,就可以輸入日文:

OV-UIM-Anthy Example

配合 OV 的輸入法切換鍵,就可以在需要打日文時,快速打出想要的字。

功能限制

  • 必須先安裝 MacUIM (但是可以只安裝、不啟用)
  • 目前只支援 UIM 的 Anthy 平假名模式,不支援片假名、羅馬字、半形假名等模式。
  • 詞庫的限制同 Anthy (有的地方比 Kotoeri 好,有時則否)
  • 介面沒有 MacUIM 好看(因為 OV 還沒有好的直式選字窗介面)
  • 選字窗不能用滑鼠選
最後,如果只是偶爾需要出打日文漢字,可以試試看 gugod 開發的開放香草繁體中文轉日文漢字濾嘴

標籤: , ,

2006/04/20

OpenVanilla 0.7.2 beta 可以在 Intel Mac 上正確執行

作者: lukhnos

已經在使用 Intel Mac 的朋友,相信都試過了。不過還是更新並正式確認一下這個消息:OpenVanilla 0.7.2 beta 可以正確地在 Intel Mac 上執行,功能和 PowerPC 版一樣。同時,OV 除了可以搭配 Intel-native 的應用程式使用外,配合 Rosetta 執行 non-Intel 的應用程式也是沒有問題的。

至此,OpenVanilla 正式成為 Apple Universal Binary 應用程式的一員。:)

標籤: , ,

2006/03/19

OpenVanilla的捐款贊助者名單更新

作者: lukhnos

OpenVanilla的捐款贊助活動,從2005年十月開始,也已經經歷快半年了。這半年來我們持續收到許多朋友的支持。本來我一直提醒自己一個月一定要更新一次捐款名單的,這兩個月先是因為工作,又有一些個人的事,竟然被擱到了一邊。跟大家說聲抱歉。

我們二月和三月都各收到一筆贊助款,在此再次謝謝大家。捐款名單已經更新於OV的捐款贊助者名單,另外如果你有訂閱ov-develoepr這個mailing list,也會收到這份更新的名單。

標籤: , ,

2006/02/22

開放香草繁體中文轉日文漢字濾嘴

作者: gugod

(相當饒舌的抬頭)

因為常常有要打日文漢字的需求,所以簡單做了一個開放香草的濾嘴,可以「打繁出日」。廢話少說,有圖為證:


pic-ov-menu




ovof


簡單示意了,如何把「澀谷一條龍」轉換為「渋谷一条竜」。

目前在這個濾嘴裡的轉換表格還非常陽春,僅有三百餘條轉換,並且沒有詞的對應,只有字的對應。若要打長篇恐怕不怠,但拿來做為日常 google 或查字典已然足夠。

點此下載 本濾嘴的安裝程式。

標籤: , ,

2006/01/23

OpenVanilla偏好設定介紹(一)

作者: lukhnos

今天要介紹的不是OV的新功能,而是從0.7.0一開始就提供的「偏好設定」。

從輸入法選單那邊,選「偏好設定…」,就可以進入OV的偏好設定程式了。這其實是個有點複雜的程式,功能分為好幾區,我們將陸續介紹。

進入偏好設定程式後,視窗主要分為四個tabs:共用設定、模組載入清單及快速鍵、個別模組設定以及文字輸出處理模組。

今天先來介紹共用設定。



共用設定,顧名思議,當然是所有輸入法都可以共用的設定了,例如:選字窗的字體和顏色。算來惡搞的成份有些,OV的選字窗可以設成「透明背影」,或是指定「背景圖」,再者要弄成半透明若隱若現的,也是可以。老實說我到現在還是不知道,為什麼好好一個選字窗要能設背景圖或是全透明。也許套用那時Apple工程師在回答為什麼OS X登入後要弄個畫面球狀旋轉效果的話,還算合適:嗯,because we can。



「使用訊息窗」預設是打開的。如果要使用字根反查,或是詞彙管理模組,不打開是沒得用的(因為你就無法知道字根反查的結果,或是詞彙管理模組現在的狀態)。但是有些人也許就是不想看到任何非選字窗的訊息顯示。

警示音就是打錯字時的「嗶」一聲,聲音檔是可以自訂的,格式要是.aiff(為什麼不支援MP3?因為內建的NSSound就只支援.aiff;更何況,才不過打一次錯字,就要從頭聽一遍從ABBA的歌咪來的娜媽,好像有點痛苦......)。

倒是,有些輸入法(例如所有「泛用模組輸入法產生器」所產生的模組),都可以再另外設定是否要在打錯字時出警示聲。如果在那邊聲音就被關掉了,不管共用設定裡設的是Susomi還是Submarine聲,都是不會響的啦。

有一個東西是我們之前一直沒好好說明的,就是「切換最近使用的兩個輸入法」選項。顧名思議,只要把這個選項的快速鍵設好,就可以在最近使用過的兩個輸入法間做快速切換了。例如,我都是把它設成CTRL-SPACE,這樣就可以快速地在注音跟漁村符號(或是注音跟UIM日文輸入法)之間做切換。

對了,有些朋友可能會問:每次改完,都要離開偏好設定程式後才能生效,要改又要叫出程式,看那個香草icon在Dock上跳上跳下的...... 其實呢,如果只是為了馬上見到效果,可以按COMMAND-S (-S),然後切到另一個應用程式,效果就立現了。嗯?為什麼之前都沒說可以這樣做?因為,我也是前幾天才發現,原來當時程式有這樣寫的...... orz

標籤: , ,

2006/01/22

針對OV 0.7.2 (beta)不能跟AppleWorks等軟體共同使用所做的修正

作者: lukhnos

從0.7.2開始,OV便不再於OS X輸入法選單中列為「繁體中文」輸入法,而列在「Unicode輸入法」之列。這樣的改變增加了對非繁體中文語言的支援,卻也造成了諸如AppleWorks等較早軟體無法與OV一起使用的問題。

目前這個問題,可透過剛發佈的一組修正套件(SourceForge下載 / OpenFoundry下載)來克服。本修正套件將安裝一套「繁體中文版」的OpenVanilla於輸入法選單裡。安裝完、重新開完機後,請進「系統偏好設定」→「國際設定」中的「輸入法選單」,請務必將目前正啟用的"OpenVanilla 0.7.2 (beta)"給停用,然後將另一個列名繁體中文語系的"OpenVanilla 0.7.2 (TC)"給啟用。這樣子便可以在AppleWorks等軟體中使用OpenVanilla了。



又,經過測試,MSN Messenger 5(正式名稱為Microsoft Messenger 5)和OpenVanilla使用上並沒有相容性問題,但是輸入法選單卻顯示不出來。同樣的問題即使裝了修正套件也無法解決。另經測試,「空白鍵版酷音輸入法」(SpaceChewingOSX)在該軟體上也有同樣的問題,顯然是微軟不知道利用了哪組API,以致於讓3rd party的輸入法程式,都遭遇同樣問題。雖然不致於到無法使用的程度,卻很惱人。這就必須請微軟來解決了,因為只有他們家的程式有這種問題。

標籤: , ,

OpenVanilla 0.7.2 (beta) 也可以透過 DarwinPorts 安裝

作者: lukhnos

雖然這其實已經算舊聞了,但還是應該要提一下:OpenVanilla 0.7.2 (beta) 也可以透過 DarwinPorts 來安裝。安裝的版本跟由 .dmg 安裝是一樣的。至於用 DarwinPorts 來安裝有什麼好處呢?這...... 嚴格說來可能是沒有的。倒是對我這個只有一台機器的開發者(是的,開發輸入法這種高風險的軟體,卻只能拿自己工作用的家當來當測試機,偏偏我好像現在的工作叫「文字工作者」)來說,DarwinPorts的好處是,我可以把安裝好的 OV 暫時「解除使用」(deactivate),DP 就會把 OV 封存起來,把檔案搬開,然後我就可以安裝測試版,當需要做正經事時,再把測試版搬開,叫 DP 把先前封存起來的版本「啟用」(activate),然後我就不用跑那個安裝程式的 .dmg 了。

標籤: , ,

2006/01/20

OpenVanilla新功能介紹第二彈:詞彙管理工具

作者: lukhnos

呃,在介紹之前,我要先懺悔一下:這個模組在英文選單下有一個礙眼的錯字,還有兩個設定鍵碼錯了,請先下載修正套件補一補吧(SourceForge下載OpenFoundry下載)。

安裝完了,我們可以切入正題。嗯,OV 0.7.2新加入的詞彙管理工具...... 簡言之,這是一套可以在任何輸入法下(或任何輸入法「上」)錄製新詞彙、叫出詞庫的工具。暫不說設計緣由,先來看看怎麼使用吧!

首先,請先開啟OpenVanilla選單上的「詞彙管理工具」以及「詞彙管理─文字輸出記錄器」給啟用(如果你用的是英文選單,請點選"Phrase Management"跟"Phrase Tools: Text Recorder"兩個模組),並確定選單上這兩個模組是打了勾的:



一旦啟用之後,我們便可以用「詞彙工具啟用鍵」進入詞彙管理模式了。預設的啟用鍵是「~」。如果連按兩次「~」(~~),就會輸出原來啟用鍵代表的字──這個設定當然是可以改的,我們等會說明。

進入了詞彙管理模式後,會看到OV的狀態回報:

目前詞彙管理模式有三件事可以做:
  • 錄製新詞彙
  • 將錄到的詞彙加進資料庫
  • 叫出資料庫裡的詞
首先是錄製新詞彙。預設的快速鍵是 [ ,也就是說,平常在輸入法模式下,只要順序按「詞彙工具啟用鍵+錄製鍵」(例如 ~[ ),就會進入錄製模式啦:



進入錄製模式,就又回到了正常的輸入法狀態。這時你所打的每個字,都會被錄進去。不過,如果你切回英文鍵盤(也就是只要離開了OV),剛錄的東西就不算數了。

Ok,來錄點什麼吧。好比說,前陣子我幫忙翻譯了一篇跟HTML有關的文章,不時提到CSS。CSS有個很拗口的中譯叫「階層樣式表」,我每次都要去查hlb翻譯的W3C glossary才知道這東西中文名字這麼叫。我希望能有個方法,只要打「css」就給我出「階層樣式表」。那麼,我們就把這幾個字錄起來吧:

一邊打字,OV會一邊記錄。萬一打錯了,按個backspace,OV也會跟著把錯字給清掉。

嗯,打完了。然後我們這時再次進入詞彙管理模式,把剛剛錄好的詞給存進資料庫裡。來按個 ~ 鍵吧:

「詞彙管理工具」其實像是某種命令列工具。我們這時輸入「a css」然後按enter,代表說把「錄到目前為止的詞(「階層樣式表」)給加進資料庫裡,並且用『css』這一串字來代表」。

打完指令,按下enter後,詞彙管理工具會回報:

Ok! 這樣就錄好詞了。那麼以後我們要叫出這個詞的時候,只要進入詞彙管理工具,打「css」再按enter:

詞彙管理工具就會自動吐出「階層樣式表」這幾個字,節省一串打字的力氣。我們甚至可以記下這一串鍵盤操作方式:「~css [enter] → 階層樣式表」。

如果記不起來這個詞的代稱全名是css,按個字頭c,再按個[tab]鍵,OV就會列出所有c字頭的詞:

這個選單就跟輸入法的選字一樣,如果有很多選擇,可以用翻頁的方式來找。當然不一定只能打字頭,例如打「cs」再按tab,就會列出所有以cs開頭能叫出的詞,以此類推。

剛剛說到,只要一離開OV,詞彙記錄功能就停了。如果我要想記錄英文詞,或是記錄中英混合的詞,該怎麼辦?這時OV大多數輸入法都支援的「按caps lock進入英數模式」就很有用了,我們可以在需要打英文詞時按一下caps lock,打完英文,再按一下caps lock繼續打中文:

這時再用cs字頭來查,就會有兩種選擇了:

選完字後:

Ok,以下是「詞彙管理工具」的操作總結,假設你用的都是預設鍵的話:
~[進入錄製新詞模式
~~連按兩次啟用鍵就會輸出原符號
~a foo [enter]把錄到的詞加到資料庫中,關鍵字是foo
~foo [enter]叫出關鍵字foo所代表的詞
~foo [tab]列出關鍵字以foo開頭所代表的詞
~h [enter]叫出詞彙管理工具的求助訊息


此外,在詞彙管理模式中,隨時按 [esc] 就可以跳出詞彙管理模式:

然後,可以進 OV 的偏好設定,找到「個別模組設定」那一區的右下角,就可以更改上述的兩個快速鍵:

上述的activationKey就是啟用鍵,textRecordingKey就是錄製鍵。例如我的設定是:

那麼我的錄製鍵就變成了 @[ ,而叫出 css 的方法也變成了 @css (enter) 了。

最後要提兩件事。一個是,這其實是 OV 的新應用,如果你對這個工具有任何想法(增加功能、改變操作方式或使用介面),請不吝提出意見。事實上很多能修改資料表的輸入法(例如OV的倉頡或大易)都可以透過改資料表的方法,來達到加詞的功能,但是改資料表麻煩,注音或酷音等輸入法又用不到,這是設計這個工具的另一個理由。

另一件事情是,這個詞彙工具的資料庫,是利用sqlite做的。OS X從10.4開始內附sqlite這套簡單快速又強大的迷你資料庫系統。詞彙管理工具的資料庫目前是放在這個位置:
~/Library/OpenVanilla/0.7.2/UserSpace/OVKPPhraseTools/userphrase-0.7.2.0.db
如果你有興趣,可以去這個連結抓取這兩個範例詞庫:然後將它們倒進資料庫裡:
sqlite3 userphrase-0.7.2.0.db < w3c-glossary-tw.sql
sqlite3 userphrase-0.7.2.0.db < phrase-example.sql
然後再進入詞彙管裡工具,打個 syspref (enter) 或 w (tab),就會看到一堆詞了。

Have fun!

標籤: , ,

2006/01/19

OpenVanilla新功能介紹第一彈:如何更換「香草」圖示

作者: lukhnos

OpenVanilla 0.7.2的新功能之一,便是可以更換預設的「香草」圖示。請依照以下步驟,將「香草」換成你喜歡的圖案。

首先,OpenVanilla提供了一個「可選用的圖示套件」,可以從這裡(或這裡)下載取得。

或者你可以挑任何你喜歡的.icns圖示檔來使用。

接著,請進到你主硬碟裡「資源庫」下面一個叫Components的資料夾,找到一個名叫OpenVanilla-TSComponent-0.7.2.bundle(Finder會說檔案種類是「套件」)的檔案。

然後,點選滑鼠右鍵(或者是control-click...),這時Finder會顯示一個pop-upmenu,然後點選「顯示套件內容」,這時Finder便會顯示該套件檔的內部。



請往裡面找,進去「Contents」再進去「Resources」資料夾,然後就會看到一個名叫 OpenVanillaMenuIcon.icns 的檔案。這就是我們要更換掉的圖示檔了。

請從本icon套件挑一個你喜歡的圖示,或是找任何.icns格式的檔案,將之改名為OpenVanillaMenuIcon.icns,然後把檔案拖進去,蓋寫掉原檔案(Finder可能會跟你要管理者權限),就大功告成啦。

不過,你可能會發現,輸入法選單拉下來的圖案,還是「香草」。因此我們得要叫OS X更新圖示。要怎麼做呢?最簡單的方法當然是登出後再登入,但是這有一點遜(蓋OpenVanilla當初設計的理由,實在是為了減少這種登出再登入、只有Windows才需要做的事,雖然事與願違)。於是還有第二管道可走:騙「國際選單」重新載入OpenVanilla圖示。

做法有點複雜,簡單地說,就是去「系統偏好設定」裡的「國際設定」,然後進「輸入法選單」,把OpenVanilla給勾掉(就是關掉它)。然後離開「系統偏好設定」,然後再進一次同一個設定的同一選單,把OpenVanilla勾起來(啟用它)。然後...... 新圖示就出現了。

圖示套件裡的檔案,多半是zonble做的,至於版權問題,也依往例,是以所謂的〈zonble條款〉授權的,該條款只有一句話:「要怎麼叫一個連法律都不相信的人,去使用任何授權條款呢?」

好了,來看看可以換成什麼樣的圖案:


換成著名的溫泉圖示... (上面的版號還是0.7.1,這不重要):




換成格瓦拉...




換成BSD小惡魔...




好了,更換圖示的方法就介紹到這邊。如果拿本圖示套件包裡面的weed.icns來更換OpenVanilla的圖示,「香草」輸入法架構就瞬間變成「哈草」輸入法架構了...... 下一版改名叫OpenHashish好了,a new name for the new year, anyone?



標籤: , ,

2006/01/18

OpenVanilla 0.7.2 (beta) for OS X 發表

作者: lukhnos

在這一陣子的密集測試和整理後,OpenVanilla 0.7.2 (beta)推出了。這一版除了修正先前版本常遇到的多個缺陷外,還將過去以來一直以零散方式推出的多種模組,集合起來,包裝成一個延伸的安裝套件(Extra Pack)。除此之外,例如資料表格可以改放在使用家目錄下的「資源庫」中,或是可更改「香草」icon等等,都是0.7.2版的新功能。
  • OpenVanilla 0.7.2 (beta) 的標準套件可由以下連結下載:OpenFoundry / SourceForge
  • 安裝完標準套件後,您也許會希望增加額外的模組或輸入法資料表。您可從以下連結下載延伸套件:OpenFoundry / SourceForge
請您在安裝之前,務必詳讀安裝程式顯示的版本說明,或是openvanilla.org網站上的版本訊息。如果您有安裝OpenVanilla先前的版本,請您尤其注意,新版本可能會造成舊版無法使用。前述的說明會告訴您如何排除這樣的障礙。

以下是0.7.2 (beta)新增或更動的項目概要:
  1. 新增一套「詞彙管理功能」,不論您使用何種輸入法均能使用。這套工具可以節省重覆性的文字輸入,對翻譯及專業文字寫作應有能發揮之處。
  2. 軟體穩定性提高,泛用輸入法產生器模組的載入速度加快。
  3. OpenVanilla於「國際設定」的「輸入法選單」中,改列為「Unicode語系」的輸入法。如此在諸於Microsoft Word等會依語系改變字型的軟體,就不會有輸入非繁體中文文字時,字型遭任意切換的情況。
  4. OpenVanilla的「香草」icon可以換成使用者自訂的圖案。
  5. 外掛模組及資料表格(泛用輸入法產生器及反查模組的表格),可以放在自己家目錄下面的指定位置,不再需要放在系統資料夾裡了。
  6. 標準安裝套件增加簡體漢語拼音及簡體五筆字型兩套輸入法。
  7. 「延伸安裝套件」提供多種輸入法及文字處理工具,包括各種主要倉頡版本、全字集輸入法資料表格、各種可自訂的icon、Unicode輸入法及反查模組、英文智慧引號模組等等。
  8. 修正了在使用輸入法時,外接鍵盤的數字鍵區無法使用的問題。
針對上述的新功能(例如如何自訂icon),我們將陸續利用OpenVanilla網站或#osxchat blog一一介紹使用細節,stay tuned!

我們的網站最近也搬了家,網址仍在http://openvanilla.org,網站系統則有了不一樣的面貌。如果您覺得OpenVanilla對您有所幫助,我們歡迎您的贊助支持!我們在網站上也出了幾種贊助支持OpenVanilla的方式

標籤: , ,

2005/11/15

OV 使用者自製輸入法再添一套:TeX 符號

作者: lukhnos

我們在 OpenVanilla mailing list 上收到 Likai Liu 的來信,他說他製作了一份使用 TeX 慣例輸入希臘文及常用數理符號的泛用輸入法表格。如果你是 TeX 的使用者,或許你會喜歡使用 TeX 的指令來輸入這些符號,例如 \theta 可以出 θ,\^3 可以出上標數字 ³ 等等。詳細的取得、安裝及使用方式,都可從他的網頁上取得。

另外,nikolaoschen 先前也製作了一份古希臘文的 OV 泛用輸入法表格,對於西洋古典文史哲類的文件處理,有很大的幫助。詳細的取得、安裝及使用說明,可參考他的 blog

這裡再提供兩個 OV 的小秘訣。在 OV 的偏好設定裡,找到「共用設定」(shared settings) 中的輸入法切換鍵,設定這個鍵的話,就可以用快鍵來切換最近過用的兩個輸入法。我自己是將它設為 CTRL-SPACE,這樣一來就可以在注音及漁村之間切換。

另一個秘訣是,大家都知道 OV 的全形字(包括全形空白)都是透過「全形英數字」這個輸出轉換模組(output filter)做到的。OV 提供模組的快速切換功能。要設定全形模組的切換鍵,可以進入 OV 的偏好設定,選「模組載入選單及快速鍵」(load list and shortcut)這一項,點選「全形英數字」,先確定它旁邊的「載入」方塊是被選起來的後,幫它設一個快速鍵,然後離開偏好設定就會立刻生效。我自己是將它設在 SHIFT-SPACE,這樣就可以跟過去的倚天中文一樣切換全形字(尤其是全形空白)的輸出了。

對我自己來說搭配 CTRL-SPACE 及 SHIFT-SPACE,再配合原有的 CMD-SPACE 切換 OV 及預設英文語系鍵盤,對日常工作便相當順手。倒是後來覺得應該也要能支援「輸入法輪動」(類似 CMD-TAB 輪流切換視窗那樣)的功能,這樣對掛載多種常用輸入法的場合應該會更有幫助。

就寫程式的觀點來說,要增加全形支援,是也可以從輸入法框架本身下手。但 OV 沒這樣做,反而是將全形字放到一個外掛模組中,這樣既讓框架維持簡單,又同時賺到了可自由設定任一切換鍵的好處,一舉數得。

標籤: , ,

2005/11/02

一個拼錯了二十年的名字

作者: lukhnos

「倉頡」輸入法究竟是怎麼被拼成 Changjei 的,恐怕已不可考。我印象能及,這個拼法最早見於倚天中文系統的 CHANGJEI.TAB 檔(約 1984 年前後)。這完全是錯誤的拼法。首先,照威妥瑪拼音的話,CHANG 可能是「昌」或「張」(嚴格說來是 ch'ang),無論如何絕不可能是「倉」字──理應拼成 tsang 才對。再來,j 開頭的拼音,只有在漢語拼音中,才拿來拼國語中ㄐ聲母開頭的字。不幸的是,這一部份的字也拼錯了,應該是拼成 jie 才對。

如果照威妥瑪的拼法,這檔案理應拼為 TSANGCHIEH.TAB (chieh才是「頡」或「切」,如果你很講究的話,應該要用 ch'ieh 跟 chieh 來區分這兩者的),但是當年 MS-DOS 檔名前半部只能容許八個字。那麼,用漢語拼音的話,理應拼成 CANGJIE.TAB 才對。

沒想到這錯誤一錯就錯了二十餘年,從倚天「飛碟一號」一路錯錯錯錯錯到現在。我們在整理 OpenVanilla 所用的倉頡資料檔時,因為有想到這件事,於是將倉頡資料表格中的英文描述,改成了 Cangjei,結果沒想到還是改錯了。今天終於正式改回了 Cangjie,會在以後的版本中發佈。

至於那個 Changjei 已經進入了各種平台的中文輸入法中,積非成是...... 「倉頡」變成了「昌頡」(按照 jei 還原,會寫成ㄐㄟˊ,一個台灣講的國語/大陸講的普通話/外國人稱Mandarin的語言裡不存在的音),這,也只能說是歷史的玩笑了。

標籤: , ,