Hatena::ブログ(Diary)

日記

2012-11-20

IMESupportが64bit版に対応しました。

https://github.com/chikatoike/IMESupport

これまでWindows 64bitでは、Sublime Text 2のx86版では動作するものの、x64版では動作しない状態でした。

今回正式にx64版のSublime Text 2に対応しました。

動作確認はWindows 8 64bitのみで行なっているので、Windows XP/Vista/7 では確認していませんが、多分動作するでしょう。

また、以前のバージョンには、プロジェクト移動でクラッシュするという問題があったのですが、これもx64対応と同時に修正しました。

また、現在Package Controlへ登録申請中です。登録されたらまた報告します。

実装方法の変更

以前の記事で、ウィンドウのサブクラス化を使っていると書きましたが、これは SetWindowsHookEx を使ってローカルフックする方法に変更しました。元々最初に実装していたときは、フックを利用しようとしていましたが、フック関数DLL内に実装する必要があると書いてあったので、pythonのみでは実装できないと思って、サブクラス化を使用していました。その後、あらためて確認したら、DLLにする必要があるのはグローバルフックのみであることに気付きました。IMESupportはSublime Text 2のウィンドウメッセージのみフックできればよいので、pythonのみでローカルフックする処理を実装しました。