成立 PCMan Facebook 專頁

之前常被許多網友要求加 Facebook,但是數量過多難以管理,大部分也都不認識,無法一一加入,所以成立 PCMan FB 專頁。未來長篇的文章還是會放 Blog 上,而平常的小動態會放在 FB。
另外,現在也可以使用 http://blog.pcman.im/ 來連到本網站

2013年9月10日 星期二

新酷音輸入法 Windows 版,重新出發!

過去曾經把 Linux 上優秀的輸入法「新酷音」移植到 Windows。
雖然後來實在沒時間再參與了,我自己一直還是有在用新酷音
直到現在,因為工作上需要長時間使用 Windows,難用的
微軟新注音,再次喚回我對新酷音輸入法的懷念。
到了 Windows 7 之後,因為系統架構的改變,
新酷音雖有網友做出支援 64 bit Windows,一直沒能運作得很好
因為 Windows 逐步拋棄舊 IME (imm32) 架構,
轉向採用 COM 技術的新 Text Service Framework (TSF)
複雜度呈直線幅度上升,使得許多舊有 IME 常出現難解的奇怪問題
又因 IME 的諸多限制,使舊的新酷音依賴許多 dirty hacks 在運作
最近 Windows 8 更是全面轉向 TSF,開始準備禁用 IME 架構,
以 TSF 全面重寫看來勢在必行了。
先前有網友陳昌倬 (czchen)的努力,用微軟提供的範例程式改造,
初步證實了 TSF 的可行性,在這個鼓舞之下,
我重啟了 Windows 版新酷音計劃
https://github.com/chewing/windows-chewing-tsf/

經過連日熬夜研究,全新 TSF 架構的 Windows 版新酷音終於快可以用了
基本的架構和 API 以及各種工具都完成了,連語言列按鈕和選單,都能正確運作了!
而因為原先微軟提供的範例,是以微軟自己的 MS-PL  (Microsoft Public License)授權,
雖然也算是自由軟體,但是該授權不相容 GPL,而且衍生著作必須沿用 MS-PL
為了避免這個問題,我只好 from scratch 重寫 TSF 支援。
因為 TSF 大量使用 COM (component object model),並且層層疊疊非常複雜,
對開發者並不友善,我將這部份封裝進 libIME 這個函式庫,
這樣未來的其他輸入法開發者,可以直接套用 libIME 封裝的現成架構,
而不需要了解 TSF 就可以快速寫出支援 Windows 的輸入法。

這裡針對 libIME 程式 API 架構寫了簡易說明文件
供有興趣參與開發的朋友參考,希望可以加速大家移植自己的輸入法

基本上透過 libIME 來實做輸入法是很簡單的
只需要碰觸到非常少 TSF,大部分細節和 COM 操作都被隱藏了
libIME 也提供了許多 Windows GUI programming 的工具 classes
Ime::Window, Ime::Dialog, Ime::PropertyDialog...等等,
幫助實做視窗界面和 config dialog

雖然目前進展很順利,大多數問題也克服了,
但是我接下來會需要忙好一陣子,沒時間改太多 code,
文字輸入的部分還有些問題,希望有其他朋友可以
就現有 code 和文件繼續改良,相信很快就能有可用的發行版

至於 Windows 8 store app 支援,看來是沒有指望了
我有 E-mail 給 TSF aware blog 的作者,他是 MS 員工
專精 TSF,經過他的回答,看來要能支援 win 8 app
基本上是需要整個用 win 8 專屬的新 API 重做,
而且設定和資料基本上需要放上 web 才行
因此雖然也是 TSF,但是等於也是要全部重寫另一個
GUI 也是要用新的架構重寫,舊 GUI code 完全不能用
因為限制實在太多,困難度更高,又需要跟 web 連接
我想這不是我們該支援的東西。
詳見微軟的:Guidelines and checklist for IME development (Windows Store apps)

照現有的狀況看,大部分現有軟體要移植到 win 8 metro
基本上是不可能的,除非全部砍掉重寫...
所以,我個人認為,這是一個沒有前途的平台...
把開發應用程式變得比 Linux 上更困難,只是自廢武功而已
集中精力來支援沒人在用的平台,實在不划算
因此,就這樣吧! 支援 desktop mode 就好了

敬請期待,重生的 Window 版本新酷音 TSF 輸入法!

53 則留言:

hepha 提到...

感謝你

Pseric 提到...

謝謝你,很喜歡新酷音輸入法,加油!

Andrew 提到...

太讚了
用過新酷音之後不管用什麼都不太習慣
非常期待他能再次出現!!

Bono 提到...

之前我換到Windows 8,在知道新酷音沒有希望之後,為了把新注音的辭庫上限從2500改到50000花了兩天的冤枉時間,最後只好灌了Windows 7在VM ware上,為的是打逐字稿的時候可以用新酷音。

非常感激你的努力,有了新酷音,會讓令人失望的Windows 8更加友善,而且造福廣大的臺灣的朋友!

Unknown 提到...

辛苦您!謝謝您!

Unknown 提到...

支持新酷音輸入法,希望相容性能再大大提昇

唱秋耳機(源自,約翰就是強) 提到...

加油加油!!!

匿名 提到...

超感謝,新酷音真的是注音輸入法裡最好用的,可惜當初停在 win 7 32 bits, 聽到要支援 win 8 desktop 了真的很鼓舞人心。

白夜騎士 提到...

辛苦你了,謝謝。
但不知 PCMan 有沒有再用 Steam 這遊戲平台,因為 Steam 這程式對應目前的輸入法(Win7)選字方面有問題,所以我該如何跟客服建議?

白夜騎士 提到...
作者已經移除這則留言。
usagi 提到...

新酷音的更新辛苦了!

沒有新酷音的空白鍵選字我都不曉得怎活下去....

私房筆記本 提到...
作者已經移除這則留言。
私房筆記本 提到...

加油~~~支持

Unknown 提到...

太棒啦! 哈哈

還記得 coscup 行前宴那時候才開玩笑問過而已,沒想到竟然這麼快就靈驗了。 XD

Win8 App 我也覺得不是新酷音該支援的東西~

匿名 提到...

結論: 還是繼續用windows 7和mac os
把tablet的界面搬到desktop上用實在是腦殘的做法

小毛 提到...

加油!!期待您的新作,現在真的已經完全習慣使用新酷音了~真的不能沒有它。

A_A 提到...

好用,不過剛剛發現突然打不出字,換成微軟英文或新注音才可以。切換回來後現在又好了。目前不知道如何重現

Unknown 提到...

你好,多年來我一直是新酷音的愛用者,看到新酷音重新開啟專案讓我很感動,我想請問此專案有什麼贊助管道?

匿名 提到...

謝謝你!辛苦你了~
所有的輸入法裡面,新酷音是最好用的,我從第一次知道有新酷音輸入法以後、就一直用到現在了。
真的是造福大眾^ ^ 謝謝

匿名 提到...

非常贊的輸入法~也非常感謝你大大造福注音輸入的人群~
但是有個建議,是否可以設定輸入時的字體顏色或是強制輸入框是白底黑字,因為在暗的背景敲字時,完全看不到輸入的字,都是黑的~

Arthur 提到...

真得很感謝您無私的奉獻,再一次感恩。謝謝您~

匿名 提到...

新酷音真的很棒, 感謝您的努力!

匿名 提到...

感謝!!

匿名 提到...

感謝!!

匿名 提到...

為何 我WIN7 64 安裝後

有時候可以打注音 有時候打不出來全是英文字母??

匿名 提到...

自然輸入法現在以為自己是防毒軟體還有幾年的限制,而且越走越退後啦!新酷音加油!!

匿名 提到...

辛苦了,謝謝你的付出

匿名 提到...

謝謝您的付出,造福廣大的人群。新酷音真的好用又順手。再次感謝您。

匿名 提到...

目前還在用Win7 + 新酷音

看到您的用心
非常的感動
謝謝~
你好棒

匿名 提到...

謝謝!還是新酷音好用
但是win7 64位元
時常發生打不出注音的狀況

匿名 提到...

辛苦了~

我是在win 7 64bit下使用新版的新酷音
使用的英打的鍵盤排列是Dvorak
中打是使用漢語拼音,但也想用Dvorak的鍵盤排列

所以我在舊版的狀況下是使用這種方式來達成修改中打的鍵盤排列 :
修改註冊表
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Keyboard Layouts
可以在這裡找到新酷音相對應的機碼值
並把Layout File改成kbddv.dll就可以解決

但新版的無法用新酷音當關鍵字搜尋到相對應的值
所以搜尋了一下TSF的架構下要怎麼辦
後來發現需要把另一個機碼修改掉,這個機碼是代表所有使用繁體中文輸入法的keyboard layout :
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Keyboard Layouts/00000404/Layout File
kbdus.dll改成kbddv.dll

但是修改後會造成全部的中文輸入法都被改成dvorak排列
因此新注音/新倉頡輸入法之類的中文輸入法就無法用原來的位置輸入
有點困擾,這種情形該如何解決

現在唯一的解決方式
就是自己的電腦都不讓別人碰了... XD

jbc

allies 提到...

看到您的熱血能促使新酷音的更新真的非常開心!用過許多種輸入法,卻還是新酷音最好操作上手~雖然不能做什麼實質上的幫助,但還是想要用剛裝好的新酷音留個言表達謝意 ^w^ 真的太棒了啊啊!

Unknown 提到...

太酷了,完全復活,感謝!

一個建議:希望在英打模式下打英文能直接消除螢幕上已出現的、遺留下的注音符號。

對於用新酷音打英文,常切換中英文的人來說,舊版有個優點在新版消失了,就是當我要打英文,但沒注意到還在中文模式時我就開始英打,於是螢幕上出現了幾個注音符號。此時在舊版我只要直接切換至英打模式,一按任一英文字母,除了螢幕出現英文外,之前的注音符號也會自動消失。到了2013新版,我們還得多按ESC或Backspace來清除注音符號,感覺是多此一舉~

匿名 提到...

真的很謝謝你開發這種軟體。
我瀏覽到這標題時不經覺得有趣:PCMan's Blog - 電腦修得好,好人當到老...,我想出夜店玩得好,女人幹到飽~

匿名 提到...

不知道是否有人遇到跟我一樣的問題
執行環境是win xp sp3
軟體Chrome 版本 31.0.1650.63 m
新酷音2013無法正確執行
整個語言列會直接消失且無法切換輸入法
但在skype上卻又能正常運作

Holo 提到...

非常感謝...
輸入法應該由國家來支援開發協助...
沒有好的輸入法,真的是很痛苦...
尤其我又是用許氏鍵盤...

如果能成立個基金會之類的組織能收點捐款,長期做下去,不知道會不會比較好...

靠微軟修改輸入法,不知道要等多久...

Ben 提到...

現在才發現已有更新,感謝你!

Sam 提到...

感謝版主的分享,超棒的輸入法~

我有一個安裝上的問題想要請教一下,希望沒有打擾到太多~

目前在win7 64專業版與win8.1上安裝TSF 版都順利成功,唯獨在win7 64企業版上執行安裝程式時,會出現訊息說找不到安裝程式,然後就自動將安裝程式刪除,請問這會是哪方面的問題,謝謝~

PigTail Leo 提到...

大大辛苦了!

匿名 提到...

舊版「新酷音輸入法」即使後來有人針對「WIN7 64位元」推出「修正套件」,但偶爾會碰到「打不出字」的狀況,因為還是比「微軟新注音」好用而繼續使用,而後,「新酷音輸入法」推出「2013版」,支援甚到「WIN8」,前天開始安裝使用,首先是「AVAST!」視其為「威脅」,因為一些知名網站推薦文,所以我將「AVAST!」暫時關閉得以安裝,安裝後,發現「打不字來」變成「頻繁」惡夢,這時,網友推薦「YAHOO輸入法」這套,使用一會兒,驚喜順暢好用無比,當下毫不客氣立即將「新酷音輸入法」移除,最後,在此留言提供「改善建議」。

匿名 提到...

沒辦法像舊版一樣,在選字換頁地方用PageDown或是一直按下換頁,一定要按右
這讓選字沒辦法像以前一樣快
不知道是哪裡出了問題QQ

win7-64bit

KAO.atun 提到...

感謝你

Unknown 提到...

非常感謝您,從以前就一直很喜歡新酷音輸入法,想不到居然有再次看到它被更新的一天。
你真的太強了!

匿名 提到...

再也受不了輸入法蠢蠢選字的人來連署吧,讓google輸入法有能獨立運行於pc的版本!
連署網址:http://www.playpcesor.com/2013/09/2013.html

匿名 提到...

再也受不了輸入法蠢蠢選字的人來連署吧,讓google輸入法有能獨立運行於pc的版本!
連署網址:http://www.playpcesor.com/2013/09/2013.html

匿名 提到...

感謝再感謝!

匿名 提到...

您好,提供一點使用經驗。之前在win7使用新酷音一年後,出現語言列在工作列消失的問題,試了各種關於ctfmon的挽救方法都失效,只好忍痛移除新酷音 (語言列在重開機後就回來了)... 新注音爛爆了..希望還能有順利使用酷音輸入的那天

匿名 提到...

Windows新酷音 非官方編譯
(最新開發版 Windows新酷音)
https://github.com/Chocobo1/windows-chewing-tsf-build

Unknown 提到...

謝謝樓上大大,感覺用很順 :3

除了切換英文(SHIFT)部份,
不會顯示,會有些不習慣 :3

感激您的提供 :D

MO 提到...

請接受我的膜拜
本人使用新酷音已經打字打了五十萬字了

匿名 提到...

我也是新酷音的愛用者,感謝您無私的付出和分享。
不過最近因為在Win 10 & Office 2016的環境下無法正常使用官方版,所以在這裡下載了非官方編譯版:https://github.com/Chocobo1/windows-chewing-tsf-build/releases
這樣一來,確實可以在上述環境下使用,不過,輸入的時候,在尚未按enter的選字列上都會是全黑的情況,無法確認自動選出的文字是什麼。請問這是否是設定上可以改變的?還是目前仍無法解決的bug?
謝謝!

夜雨無境 提到...

裝在WINDOWS 10上面是不是會當機 我一用當機

Mason 提到...

終於等到,感謝了