成立 PCMan Facebook 專頁

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

2016年2月11日 星期四

PIME 輸入法平台 + 新酷音輸入法 v0.08

新酷音輸入法 Windows 版 v0.08 又來了
下載: https://github.com/EasyIME/PIME/releases/download/v0.08/PIME-0.08-setup.exe
本次修正:
  1. 無法正確設定選字按鍵
  2. 修正 Windows 8/10 app 內無法使用
  3. 改善安裝程式,協助安裝 VC++ 2015 runtime,及改善解安裝流程
  4. 嘗試改善設定工具無法儲存問題 (不確定有無修好)
  5. 新酷音模組程式碼註解全面中文化,方便開發者研究
若安裝後遇到找不到 dll 無法執行的朋友,請參考微軟文件,確定你有 Universal C Runtime: https://support.microsoft.com/en-us/kb/2999226 的 Windows Update。

本次最重要的修改,其實是程式碼註解的全面中文化。以往開發自由軟體的習慣,為了和跨國的不同開發者合作,文件和程式碼及註解都是全英文。但考量注音類的中文輸入法是台灣特有,沒有跨國合作開發的需求,反而是應該幫助本國開發者理解程式,所以花了一天重整,加上大量的中文註解,讓有興趣動手改良的朋友容易研究。
只要用文字編輯器打開 C:\Program Files (x86)\PIME\server\input_methods\chewing\chewing_ime.py 這個檔案,就可以閱讀 Python 撰寫的程式碼,甚至動手修改。
節錄其中一小段程式碼:


可以發現,真的很好閱讀。主要處理輸入的部份在 filterKeyDown()onKeyDown() 兩個函數內,如果是熟悉 Python 的開發者,搭配中文註解很容易就能讀懂。
本軟體還在開發中,難免會有些 bugs。如果你是會寫 python 的使用者,不妨點開程式碼,或許馬上就會發現有能協助修正的地方。

自己動手修改並除錯程式的方法:
  1. Ctrl + Alt + Del 叫出工作管理員,強制關閉 PIMELauncher.exe 和 pythonw.exe 兩個 processes (這是 PIME 的 server 部份)
  2. 修改 chewing_ime.py 或是其他想修改的 python code
  3. 手動執行 C:\Program Files (x86)\PIME\server\server.py 這個程式,就能顯示出 python 的終端機視窗,可在裡面看到除錯訊息
  4. 打開記事本或其他軟體,測試輸入
  5. 發現錯誤,關掉 server.py,改過之後,再重新啟動 server.p,即可繼續測試 (須先在記事本切換到其他輸入法,再切回來,讓它重新連上 server)
整個專案完整的程式碼在:https://github.com/EasyIME/PIME
關於程式的架構,這裡有完整的 Hacking guide 有介紹:
https://github.com/EasyIME/PIME/blob/master/HACKING.txt
有興趣參與開發或研究的朋友,歡迎閱讀!


2016年2月9日 星期二

PIME 輸入法架構 + 新酷音輸入法 v0.06 正式釋出

春節假期「一日雙版」紀錄達成,早上出 v0.05,晚上出 v0.06
下載網址:https://github.com/EasyIME/PIME/releases/download/v0.06/PIME-0.06-setup.exe
這個版本,是開發 PIME 平台到現在為止,第一個日常可用的穩定版!
久違的新酷音輸入法 Windows 版本又回來了,歡迎大家下載使用。

基本上已可取代原先 TSF 版的大部分功能,操作上差異不大。
本次改版重點:
1. 中英文全半形切換 bug修正
2. 偵測變更正確重新載入設定
3. IPC 安全性修正
4. 改進安裝程式,更穩固正確
5. 支援語言列圖示
6. 修正部份記憶體沒有正確釋放問題


程式碼主要由 python 和 javascript 寫成,註解很多,容易閱讀
歡迎有興趣的朋友下載研究,加入開發或改進的行列!

2016年2月7日 星期日

PIME 輸入法架構 + 新酷音輸入法 v0.05

新酷音輸入法 for Windows 有新版本了 ,但這次沒有新功能,而是移植到了新的輸入法平台 PIME,改為用 Python 語言開發,並且換成 server/client 架構。經過連日開發,終於達到接近日常可用的狀態。(但很多細部功能和設定還沒有效果)

PIME 輸入法安裝程式,預設將會安裝新酷音輸入法的模組。
在此可以下載最新的 PIME v0.05: https://github.com/EasyIME/PIME/releases/download/v0.05/PIME-0.05-setup.exe



 

本次並內建了新的新酷音輸入法設定工具 。對使用者來說沒有顯著的差別,並沒有新功能 (甚至部份功能還沒完成),但是這個工具完全是使用 HTML + JavaScript 撰寫。(但讀寫設定檔的部份,無法用標準 JavaScript 達成,不得已用了一點微軟特有的 ActiveX 元件搭配)

很多朋友應該覺得奇怪,先前我移植了新酷音輸入法到 TSF 架構之後,為何遲遲沒有繼續開發。一方面當然是因為時間不太夠,但另一方面則是發展重心移動到 PIME 平台去了。
對使用者來說,這樣的重寫意義不大,畢竟功能沒有改善。但對於開發者來說,這是意義相當重大的改變。過往開發 Windows 輸入法的門檻很高,需要 C++ 和 COM  的技術,還要了解很多低階的系統細節,但藉由 PIME 的包裝,撰寫輸入法模組的開發者,只需要會寫 Python 即可,不需要了解 Windows TSF 底層細節,大大降低一般開發者加入維護的門檻。
設定工具改用 JavaScript 和 HTML 重寫也是一樣的原因,降低開發的門檻。
而改為 server/client 架構可以增進穩定性,也讓除錯和開發變得快速許多。現在看不到顯著的好處,但是對於未來長遠的維護和開發,這樣的架構是大大有利。

新年新氣象,就是要用新架構,開發新軟體!
祝大家新年快樂!

PIME 系統架構介紹:https://github.com/EasyIME/PIME/blob/master/HACKING.txt
開發輸入法模組範例:https://github.com/EasyIME/PIME/tree/master/server/input_methods/meow

(p.s. 吃自己的狗食:本文在 Windows 10 系統下,使用 PIME 版的新酷音撰寫完成。)