2015年08月26日

コピペテキスト修飾除去の加工をスクリプトで書けるようにしたい

昨日のコピペテキスト修飾除去ですが、タイトルにあるとおり、加工をスクリプトで実現したいという野望を達成するために、現在の最新版では、Pythonをスクリプトとして呼び出せるようにしてみました。


Boost::Pythonを利用しています。また、この機能を利用するには Python 3.4.xのインストールが必要であり、Python 3.4.xの32bit版DLL (python34.dll) が必須です。

今のところ、エラーが発生するとすべて「予期せぬ例外」扱いになるなど、技術的にまだまだな部分が多いので、通常の機能追加ではなく、おまけ機能という扱いで。

これ、Boost::PythonのDLLには非依存にすることはできるけど、その先のpython34.dllとかmsvcr100.dllへの依存は残ってしまうんですね。まぁ、static化ができたとして、dllのサイズ2677KBがexeに乗っかってくるのも嫌なので、今のままにしますけどね。
それにしても、スクリプトを使って、事後に好きな機能をどんどん追加できる感動を味わったのは久しぶりかも。R-Scriptを作ったとき以来ですね。
こういうスクリプトの実装が、アッサリと出来てしまうというのも、時代を感じますね。しかも、文字列の扱いは、素のC言語よりは、よっぽどやりやすいし。

なお、Python 3.4の32bit版DLLがなくとも、「コピペテキスト修飾除去」そのもののメイン機能に影響がないように、DAPython.dllというDLLに、Python関連の機能を分離させています。設定ダイアログでPythonスクリプトの機能を使おうとする際に、DAPython.dllの呼び出しが可能かがテストされ、不可能であれば、Pythonスクリプトの機能は利用できなくしてあります。


posted by ayacy at 00:00 | Comment(0) | TrackBack(0) | フリーソフト