PCOTを更新しました。
今回は不具合修正のみです。
以下に更新項目を列挙します。
- FindWindow関数で画面ハンドルを取得できなかった場合、元のメインの画面ハンドルを適用するように修正
- 翻訳表示画面のサイズ変更修正後に、訳文の単語を選択して名詞登録画面を起動すると、選択された単語が表示されない不具合を修正
以下は今回の修正の説明です
【FindWindow関数について】
この関数を使用することにより、同タイトルの別プロセスを取得することが可能になったのですが、1プロセスの中に複数タイトルを持つ場合(ブラウザのタブなど)に正しく画面ハンドルを取得できなかったので、とれない場合はメイン画面の画面ハンドルを適用するように修正しました。
むしろ修正前より対応プロセス減ったんじゃ・・・と思われた方は申し訳ありません。この修正で直っている筈です。
【注意】
FindWindow関数は画面のプロセス名ではなくタイトル名から同じタイトル名でトップにある画面ハンドルを検索しにいく関数のようで、ここで取得される画面ハンドルはフォルダを含みます。
つまり、プロセス名と同じフォルダを開いていたりすると、そちらに接続されてしまいますので不要なフォルダは予め閉じてから操作するようにしてください。
対象プロセスが増えるとはいえ、中々に不便なのでそのうち直せそうなら直します・・・。
ちなみに「画面ハンドル」と言われてもプログラムをしない方にはなんのこっちゃって話なんですが、要は画面の識別番号の様なものです。
【名詞登録用に訳文で選択した単語が適用できない】
偶然見つけました・・・。そもそもこんな面倒な制御をしなきゃいけなくなったのはリッチテキストボックスのせい・・・という愚痴は今更なので言いませんw
最後に妄想を垂れ流します。
PCOTに関して言えば、もう作り切った感はあるのですが・・・翻訳支援ツールとしては実は全然満足していません。
以下に、本当はこうしたかったという妄想を列挙します。
- PCOTは最初に対象プロセスを選択する形式ですが、よくよく考えてみれば起動中のプロセスさえ取れれば、接続先なんていつでも変更可能なので翻訳表示画面でシームレスに接続先を変更できるように作ればよかった・・・。
- フルスクリーンのゲームにも対応したかった
これは、簡易画像ビューアを作って閃いたんですが、PCOTは全てのプロセスというわけではないんですが、フルスクリーンのスクショを取得することができます。なので、現時点のPCOTでも画像翻訳を使用すれば、一部フルスクリーンには対応できます。(実証済み)
手前味噌ですが簡易画像ビューアがとても有能で今までの流れの中に簡易画像ビューアを差し込めば普通にフルスクリーンに対応できそうな気がするんですよね。
というのも、PCOTではキャプチャー画面で編集できるのは読取倍率程度で、キャプチャー画面の起動前に、簡易画像ビューアを差し込めば、「フリー選択」ボタンを押す→スクショを撮る→簡易画像ビューアで表示→倍率などを指定してキャプチャー画面を起動→翻訳範囲選択→OCR→翻訳という流れで、固定翻訳の場合はこの一連の動作を予め設定ファイルで覚えておき「翻訳」ボタンだけで自動化すれば済む話です。
簡易画像ビューア上で、画像の二値化なども出来るようにすれば、Tesseractとあまり相性がよくなかった大津の二値化を使用せずに、ユーザー側でプレビュー見ながら画像の二値化の閾値を設定できるという強みもあります。
PCOTではもうここまで作り込んでしまった後では流用できる処理も多いとはいえ、一から作り直しなレベルなので、流石に自分ひとりでは無理そうです・・・。
開発仲間が増えるか、自分がそうした様に(※)誰かがPCOTからヒントを得て新しい翻訳支援ツールを作成してくれるのを待つか、といったところですね。
※PCOTは元々synctam様の「Translation Aid for Eschalon(TA4E)」からヒントを得て焼き直したものです。現物がなかったので、100%独断と偏見で作ってますがw
ただ・・・誰かが上に挙げた妄想を実現してくれるのを待つのは私の性分ではないので、無駄かも知れませんが開発仲間を募集したいと思います。
誰か「手伝ってもいいよ!」っていう熱い方がいたら声をかけてください。
というわけで、以下の条件で開発仲間を募集します。
- 趣味でも仕事でもなんでもいいので、C#で何かプログラムを作ったことがある人
- 幾つかの守秘義務を守れる人
- Skypeで通話できる人(画面共有しながら話し合いたいです)
- ギャラなしで手伝ってくれる人
- 仲良く作業できる人
- PCOTのソースを見ても顔をしかめない人w
一人でも集まったらPCOT2.0(仮称)を作りたいと思います。
以上の条件を受け入れてくれた上で、もし手伝ってもいいよって方がいたらお気軽にご連絡ください。