Friday, September 12, 2008

iTunes 8 的行距問題


↓

這又是一篇抱怨 Mac OS X 繁體中文字體的文章。蘋果在週二推出了 iTunes 8,不過 Mac 使用者會發現,繁體中文版的 iTunes 8 在歌曲列表的地方有字體改變與行距變小的情況,因此整個畫面變得相當擁擠,甚至有些特殊符號也會變得比較奇怪(例如右圖中 To-Do's 的那一撇)。其實這是因為曲目的字體在 iTunes 8 中被設定成「儷黑 Pro」。我們之前就提過這個字體沒有行距,而且英文字也特別的粗,因此造就了 iTunes 8 這種令人不舒服的畫面。至於之前的版本由於是設定成「Lucida Grande」這個字體,因此羅馬字母與一些符號都會以系統常見的方式顯示,也沒有行距太小的問題。

要修正這個問題,可以選取 iTunes 的圖像,按右鍵選擇「顯示套件內容」,然後依序打開 Contents、Resources、zh_TW.lproj,再用 Resorcerer 之類的軟體去編輯 Localized.rsrc 裡面的 Txtr 這個 resource。它這個 Txtr 裡面有幾個地方設定為儷黑 Pro,只要把這些地方〔尤其是 List Contents (Small)、List Contenst (Large)〕改成 Lucida Grande 即可。我把改好的 Localized.rsrc 放上來了(雖然蘋果應該是不准人家這麼做的),如果自己沒辦法改的話,可以直接下載它然後取代原來 zh_TW.lproj 裡的 Localized.rsrc。當然,一切後果自負,還有,它只適用於 iTunes 8.0,如果 iTunes 又升級了,就不能用這個檔案了。

大概是因為 iTunes 從 Mac OS 9 時代就存在了,它的架構一直延續至今,所以現在還可以用這種古代的改法。也不知道蘋果的哪位大德這麼自作聰明,把字體改掉了,不過也正好把 Mac 繁體中文字體很爛的事實凸顯出來。

順便提一下:複數的「to-do's」與「to-dos」,哪一個才對?

最新消息:iTunes 8.0.1 已經解決了這個問題。

本文同步刊登於符號工作站

Thursday, July 31, 2008

「一個」不嫌少

常常發現很多人在公開說話時,很喜歡用「一個」這兩個字。例如,以下是一段股票分析師在廣播上的談話:

如果說指數一旦做一個階梯式的一個向下修正,他就會有變現的一個壓力,其實這也反應在禮拜一的盤勢上面,我們看到很多個股哦,動軏跌停板鎖起來, 這種變現的一個壓力,其實也反應了市場的一個信心不足、成交量的一個萎縮,連要出貨都動軏就打到跌停板,這樣的一些弱勢股哦,可能投資人要先行做一個有效的一個避開。那至於說相對起來盤面會不會有逆勢的一個表現,或者是他可以當作一個多頭的一個風向球來做一個觀察的話,當然今天很明顯的,剛剛提到的面板的一個族群,這也是觀察的一個重點。

這樣的一段文字看起來有點誇張,因為裡面的「一個」實在很多,不過我們平常只要多留意一下廣播電視中的這類談話,就會發現這種用法是很普遍的。「一個」的本意當然是用來指出數量,加在名詞前面,不過以上這段話來看,這些「一個」並沒有表達數量的意義,因為我們根本不需要知道「壓力」、「表現」等名詞的數量,而且把它們都拿掉,也不影響語意的表達,看來這些「一個」和它原始的用法是不太一樣的。這段話還有一種用法也挺有趣,就是動詞會變成「做一個」+動詞,例如他也可以只說「觀察」,但實際上是說成「做一個觀察」。

這種「一個」的用法要研究起來,也許會有點有趣,不過它似乎沒實質語意,也沒啥語法功能,所以也許可以從語用 (pragmatics) 的角度來看看。至於從實際應用面來看,這樣的用法是不是太冗贅、是不是容易讓聽者接受,就是另一回事了。

本文同步刊登於符號工作站

Monday, July 14, 2008

iPod touch 中文手寫辨識初體驗

蘋果剛推出 iPhone 與 iPod touch 的 2.0 版軟體,我自己的 iPod touch 也付費升級了。2.0 版有個特別之處就是它提供了一個中文手寫辨識輸入法。說實話,由於我自己用倉頡輸入的速度不慢,加上手寫辨識有一定的錯誤率,所以我對於用手寫方式輸入中文一直沒什麼興趣。

iPod touch Chinese handwriting recognition

不過到了 iPhone 或 iPod touch 上情況就可能不一樣了。雖然 iPod touch 觸控螢幕上的虛擬鍵盤在打羅馬字母時還算是好用(至少對我來說),但是在輸入中文時就容易顯得麻煩,即使用的是不太需要選字的倉頡輸入法,速度也快不到哪裡去,平常練的十指神功是派不上用場的。既然 iPhone 是用手指去操作觸控螢幕,那麼用手寫的方式來輸入似乎是個不錯的方式。

據說 iPhone 與 iPod touch 的中文手寫辨識技術是蘋果向漢王買的。雖然蘋果以前有「神筆天韻」這玩意兒,不過應該是荒廢很久了。現在的一些中文手寫辨識技術都用各式各樣的字跡來做訓練,可以辨識「不工整」的字,而在 iPod touch 上,許多非標準楷書的書寫方式都能被接受。像「東」、「如」這些字我用許多連筆,甚至有的地方刻意拉長,iPod touch 都能辨識無誤,還有我寫的那個「難」字我自己都覺得是鬼畫符,也照樣能正確辨識。這代表我可以用很快速、很流暢的方式寫字,所以其實輸入的速度是不錯的。這個辨識技術也是看筆順的,我原本一直無法輸入「玉」這個字,調整筆順以後才讓它辨識成功。

iPhone 的中文手寫輸入介面算是很容易使用,使月者只要把字寫進去,就可以在右方的四個候選字中選一個,如果四個都不對還可以按左邊的「其他」來選別的字。要打空白或者要換行,可以按左邊的字樣,要打標點,就在寫字的地方點一點,然後選擇需要的符號即可。

我想 iPod touch 的中文手寫辨識是個可用而且好用的輸入方式,我會繼續使用它。不知未來它有沒有可能出現在 Mac OS X 之中呢?

本文同步刊登於符號工作站

Monday, July 7, 2008

IdeoCal 1.1.1 版

國曆+農曆的萬年曆又做了一次小幅的更新,主要是修正使用者所做的設定無法正常作用的問題,目前的版本為 1.1.1,仍然是適用於 Mac OS X 10.4 與 10.5。另外,往後若需要這個萬年曆的最新資訊,可以到這個固定的網址來看看:http://www.ideographer.com/ideocal/ ,至於要直接下載的話,就請按這裡吧。

過一陣子我也會更新 Google 小工具的版本,讓它跟 Mac 版比較一致。大家若有任何意見還請不吝指教。

本文同步刊登於符號工作站


Sunday, May 25, 2008

Yahoo! 的倉頡輸入法還不錯

近日在 Mac 上試了一下 Yahoo! 奇摩以 OpenVanilla 為基礎發展出來的中文輸入法,這個輸入法在官方網站上強調的是智慧型注音輸入法,不過對於我這個倉頡使用者來說,焦點自然是放在其中倉頡的部份。

在這個輸入法中,我發現一項我夢寐以求的功能,就是打錯碼時,錯誤的碼會被自動清除。這個功能(至少對我來說)非常重要,因為若是每次打錯時就要盯著螢幕一個個把錯誤的碼清掉,實在不知會浪費多少時間,若是要去按 Esc 來清除也實在多此一舉,左手又必須離開原本打字的標準位置。既然錯誤的碼是錯誤的,若是打字者打字速度不慢,那麼最快的方法就是讓它自動消失,並讓打字者重新輸入,這樣要重新輸入正確的字往往不需要多花超過一秒的時間。奇異輸入法有這樣的功能,不過它的 bug 實在稍微多了點,在我的電腦上還會完全失去作用,所以本人就沒有花錢買下來。

Yahoo! 輸入法的倉頡部份還有兩個不錯的功能,就是「使用動態字頻調整(將常用字移到選字列表前方)」,以及可以不接受非 Big 5 以外的字。

但它也有個問題,就是它無法讓使用者順利關掉「打到字根最大長度時立刻組字」的選項,我只好試著到個人專屬 (Home) 之下的資源庫 (Library),打開 Preferences 裡的 com.yahoo.KeyKey.Generic-cj-cin.plist,然後把 ShouldCommitAtMaximumRadicalLength 的值設成 false,終於解決了問題。 另外,它在碰到重覆碼時,是用選字的方式,而不是在輸入碼前加一個X,對我這個討厭選字的人來說比較不合習慣,不過對許多倉頡使用者來說還是標準的輸入方法。在選字時,似乎不能用空白鍵來選第一個字,讓人感到不太方便。

雖然有這些小問題,但使用這個輸入法後 ,我在Mac 上打字的速度的確提升了。它已經成為我現在主要使用的中文輸入工具。感謝!

本文同步刊登於符號工作站

Friday, May 9, 2008

傻傻分不清楚的 t 與 d

最近在使用 Mac OS X 內附的牛津美語字典時,發現只要在發音部份選美國英語 IPA 音標,許多輕音節的開頭 t 字母(特別是在元音之間)都會被標注成 d (舌尖濁塞音)的發音,而非 t (舌尖清塞音)。例如 water 一詞,字典上標注的是 |ˈwɔdər| 或 |ˈwɑdər| 而非 |ˈwɔtər| 或 |ˈwɑtər|。這種標法,看來是為了凸顯美國英語的特色,若是選英國英語,則仍是標注為 t。很多人都知道,美國英語 t 與 d 字母的發音在輕音節常常會變得一樣,例如 latter 與 ladder 雖然有 t 與d 的不同,但這兩個詞的發音是一模一樣的。

但究竟是 t 變得像 d 還是 d 變得像 t 呢?其實都不是,而是在這種環境下,t 變成了舌尖閃音 (flap,IPA: ɾ),d 也變成了舌尖閃音 ɾ,所以兩者就沒有分別了。所謂閃音,就是用舌尖快速拍打一下上門齒內側到上牙齦間的地方而形成的音。我用 Mac OS X Leopard 內建的 text-to-speech 功能,錄了這 latter 與 ladder 兩個詞的發音如下:

latterladder

再看看 Mac OS X 字典裡的音標,輕音節的 d 標成 /d/,與 d 在其他情況下的 d 發音一樣(即舌尖濁塞音),而且輕音節的 t 卻也都標成 d,這恐怕是有討論的空間的。沒有錯,這種輕音節的 t 字母的發音會變得與輕音節的 d 沒有分別,但就如前述,d 不再是舌尖濁塞音 [d],而是閃音 [ɾ],而 t 也沒有變成舌尖濁塞音 [d],而是也變成了 ɾ。

再者,輕音節的 t 與 d 失去分別的這個現象,我相信大多研究英語的語言學者會把它當成語音上的 (phonetic) 現象,而非音韻上的 (phonological),例如,即使在美式發音中,發音者如果想要特別清楚地發音時,輕音節的 t 還是會被發成 [t] 的。而一般的字典注音,應該是標出音韻上的即可,大可不必突然在這個地方用語音學的標法。說白話點,我們在教別人英語發音時,我們還是會告訴他,輕音節 t 的發音仍是 /t/,只不過在實際發音時會受到環境影響而表現得有些不同,進而與 d 混同,而不會告訴他,那個 t 一開始就要被當成 d 來發音。 就算真的要做語音上的標音,這裡也應該是標成閃音 [ɾ] 而非 [d] 才對。

我個人對這樣的標音法是蠻不解的,在此提出給大家參考。

本文同步刊登於符號工作站

Tuesday, March 25, 2008

中文搜尋日久見人性?

相信大家都有在電腦上使用搜尋功能的經驗,不管是 Google、Yahoo、或是應用軟體內裡的搜尋功能。一般最簡單搜尋方式的不外乎是輸入一個詞,然後如果網路上或文件裡出現一模一樣的詞,就會被找到。不過有些搜尋功能不止是這樣,而是會對搜尋條件與結果做多一點的干預。Mac OS X 10.5 Leopard 的中文搜尋就是這樣。

Leopard 有一個新的「tokenization」機制,可以把一向連在一起的中文字做某種的分隔。在蘋果網站的 Leopard 新功能介紹中就說到,10.5 裡增加了新的中文「tokenizer」,它會根據中文字之間的關係與意義,聰明地這些字分割開來,以呈現關聯性最高的搜尋結果。

Tokenization 就是把一連串的字元切開,變成一個個有作用的單位,例如在處理中文時,語言中的「詞」(word) 就是一個很好用的單位,只是在電腦的處理上,這些 token 不一定會跟真實語言中的單位完全吻合,而通常會是對程式的目的有用或有幫助的單位。例如「美國總統候選人」只是一串連續的字元,對程式來說由於沒有其他資訊,可能只能做最基本的搜尋,但經過 tokenization 後可能會分成「美國 總統 候選人」之類的,電腦認得這些單位後,就有機會可以呈現更好的搜尋結果。假如使用者用「共和黨候選人」當關鍵字,而這幾個字元也被切成「共和黨 候選人」的話,則「美國總統候選人」這句話就可以被找出來而呈現在搜尋結果裡,因為兩者都有「候選人」,當然由於「共和黨」一詞未出現,所以其關聯性可以被定得低一點。 假設現在有「什麼時候選人類學教科書?」這句話,它雖然表面上有「候選人」三個字,但如果被切成「什麼 時候 選 人類學 教科書 ?」,那麼在搜尋時就可能與「美國總統候選人」產生不了很大的關聯。

現在用 Mac OS X 10.5 底下的 Mail.app 來做搜尋會發現,用「垃圾郵件」、「垃圾」、「郵件」當作搜尋關鍵字,都可以找到內含「垃圾郵件」的信件,但是如果輸入「圾郵」來搜尋,照很多人的習慣會以為也可以搜尋到「垃圾郵件」,但事實上可能會搜尋不到東西。用 Spotlight 來搜尋也會有這樣的結果。此外,Google 也有類似的效果,例如搜尋「統計報表」,會發現有些只出現「統計」的、只出現「報表」的、或是「統計」與「報表」兩者都出現但分開出現在不同位置的網頁,也被搜尋出來。

這種做法會使搜尋有機會更貼近使用者的需求,不過對於有些已經習慣傳統搜尋的電腦玩家來說,可能會覺得有點囉嗦。在使用 Google 做搜尋時, 若使用者不要搜尋引擎這麼雞婆,可以用雙引號加在關鍵字上,例如打入 "共和黨候選人" ,就只有那些包含這六個字而且這六個字照關鍵字的方式一起出現的網頁才會被搜尋出來了。

但 Leopard 的搜尋有點奇怪, 若一篇文件只出現「報表」而沒出現「統計」,那麼用「統計報表」當關鍵字還是搜尋不到該文件的,不知道是不是搜尋條件本身不會被切開的關係。另外用「圾郵」一律找不出「垃圾郵件」四字,這對某些人來說會有點困惑,如果這時還是可以把「垃圾郵件」找出來,只是關聯度較低的話,也許會比較好用。像我自己在 Mail.app 中用「報表」兩字進行搜尋,竟會找不到標題為「垃圾郵件日報表」的信件,並不符合我的預期。顯然, 搜尋結果是否能讓使用者感到滿意,和 tokenization 的做法有很大的關係。

Leopard 的中文搜尋算是有新意,Google 甚至在搜尋的過程中不斷學習,似乎都是想更接近人性,但搜尋機制改變了,人似乎也要改變自己搜尋方式才能得到最好的結果,Leopard 大概就是一個例子吧。

本文同步刊登於符號工作站