Cairo 練習:入力娘簡易實做
「入力娘」是輸入法框架一個相當重要的設計,事實上,輸入法不只是一個輔助輸入的程式,能夠發揮的空間太多了,如 vgod 兄曾撰寫 [
輸入法框架帶來的無限可能],引述其中闡述輸入法的概念提示:
輸入法的角色很特別,它位於一般應用程式和作業系統的中間。輸入法可以攔截所有程式的輸入,再加以轉換後輸出給應用程式。所以輸入法是一個非侵入式的輸入過濾器。以中文輸入法來看,就是攔截使用者從鍵盤輸入的一串字元,接著透過某種編碼(注音、倉頡…)轉換為中文字輸出給程式。輸入法一直以來都是扮演著這種輸入各國文字的角色,但輸入法真的只有這樣而已嗎?
其實輸入法在作業系統中是一個可以攔截任何輸入的程式,我們可以在這個位置提供更多方便的功能,不只有打中文這麼單純的事而已。例如,當我們用英文輸入時,輸入法可以幫助我們較正拼字,也可以讓我們只輸入頭幾個字,接著就自動補齊剩餘的部分。甚至還可以作成網址輸入工具:當我們輸入「@台灣大學」時,輸入法就自動到google找出台灣大學的URL http://www.ntu.edu.tw,接著輸出 <a href=”http://www.ntu.edu.tw”>台灣大學</a>。
去年參加 ICOS 2005 (細節可參考 [
ICOS 2005 落幕] 與 [
ICOS 2005 見聞錄] 兩篇 blog),對 OpenVanilla 團隊精湛的演講與對開發輸入法系統的投入,印象深刻,其中也有「入力娘」的展示。
前幾天寫了 blog [
拒絕注音文的小圖示],正巧今天花了一點時間學 [
Cairo Graphics],所以就萌生念頭實做一個 Linux 版的「入力娘」:
這裡展示的技巧是 Alpha blending、cubic Bézier spline、antialiased text rendering,以及簡單的 transformation,目前已經可以把 [
拒絕注音文的小圖示] 的圖示,動態的作透明度處理,並且施加 composition,挺有趣的 :-)
由 jserv 發表於 January 17, 2006 08:44 PM
閣下不謹眼光獨到 , 興趣愛好更是多元 , 在下看完您的文字後 , 深感慚愧不如