新酷音 PIME 版釋出 (使用 python 開發 TSF)

316 views
Skip to first unread message

PCMan

unread,
Feb 7, 2016, 2:31:22 PM2/7/16
to chewin...@googlegroups.com
Hi,
最近把新酷音 Windows 版改移植到新開發的 PIME 平台了
PIME 是一個可在 Windows 下用 Python 開發 TSF 輸入法的框架
採用 server/client 設計,目前新酷音已經完成 80% 的移植
主要功能已經都可用了。

所以目前輸入法模組部份是純 python code,開發者不用懂 TSF
設定工具也改用 HTML + JavaScript 重寫,網頁開發者也能改
雖然我們都是慣 C,但 scripting language 還是比較符合大眾口味
為了專案永續經營,能容易開發和維護,降低開發門檻
於是投入時間研究了這個新的架構,歡迎大家試用。
p.s. 我未來不會繼續開發 windows-chewing-tsf,會把重心放在 PIME 上。

詹博丞

unread,
Feb 8, 2016, 5:38:21 AM2/8/16
to chewin...@googlegroups.com
Hi, all

根據之前我回報修改 chewing.py 過程中與 czchen 對話,目前 libchewing 都用 strdup 這種方式給
user, 讓 python CDLL 呼叫的話會 memory leak, 而且
chewing_bopomofo_String_static 沒有對應的 non-static API

在此請教是不是要以 static API 為主?還是把 chewing_bopomofo_String_static 的
non-static API 補回去就好了?依據 PCMan 內容,我傾向於就把主要的 API 命名都指向 static version,
不知道大家意見如何?

Thanks, happy new year

PCMan

unread,
Feb 8, 2016, 6:37:22 AM2/8/16
to chewin...@googlegroups.com
Hi,
我目前在 PIME 內的 libchewing.py 的確是都改用 static
code 在
https://github.com/EasyIME/PIME/blob/master/server/input_methods/chewing/libchewing.py
沒有直接改 libchewing 上游是因為有些函數我改用新名字
和原本contrib 裡面的不相容
目前我這份實驗起來沒有大問題,確實可以這樣修改


--
您已訂閱「Google 網上論壇」的「Chewing IM Development」群組,因此我們特別傳送這封郵件通知您。
如要取消訂閱這個群組並停止接收來自這個群組的郵件,請傳送電子郵件到 chewing-deve...@googlegroups.com
如要在此群組張貼留言,請傳送電子郵件至 chewin...@googlegroups.com
請前往以下網址造訪這個群組:https://groups.google.com/group/chewing-devel
如需更多選項,請前往:https://groups.google.com/d/optout

Tib

unread,
Feb 8, 2016, 6:54:12 AM2/8/16
to chewin...@googlegroups.com
幹得好!! 感謝 PCMan ... 這樣看來哪天要換到 Win10 應該是有望了
改 Python 一定比改 C++ 容易太多, 好想挖下去研究, 不過大概要等手邊的事情忙完 (藉口

每天還在用新酷音寫註解跟翻譯的小碼工敬上 ...

--
這是 Google 網上論壇針對「Chewing IM Development」群組發送的訂閱通知郵件。
如要取消訂閱這個群組並停止接收來自這個群組的郵件,請傳送電子郵件到 chewing-deve...@googlegroups.com
如要在這個群組張貼留言,請傳送電子郵件到 chewin...@googlegroups.com

詹博丞

unread,
Feb 8, 2016, 8:39:58 AM2/8/16
to chewin...@googlegroups.com
Hi, PCMan

我另外可否請教兩個問題:
1. __del__ 連過去看是用 chewing_free 來釋放 ctx, 但看了一下應該是 chewing_delete 才有把
ctx 佔用的資源一起釋放,所以我也有發 issue, 是否用 chewing_delete 比較好?
2. __getattr__ 目前對 API call 沒有管制,但是我想請教是否要管制 new, new2, delete, free 等
API? 前三者是因為它們關係到 ctx 的 construct/destruct, 最好由 __init__, __del__
統一管理,free 因為它的參數沒有 ctx 而且目前 memory leak 的 API 被完全 disable, 所以覺得 free
也該被禁用,不過這個是否要 check 我沒發 issue, 想先在此提出

以上淺見,thanks!
Reply all
Reply to author
Forward
0 new messages