Moiz's journal

プログラミングやFPGAなどの技術系の趣味に関するブログです

任意のアプリからATOK用辞典(続、続)

今回は、ATOK連携ツールとAutoHotKeyのみを使って(Opera用検索ツールは使わない!)、任意のアプリからATOK用電子辞書での検索を行う方法についてまとめてみた。

検索ツールもいらない

前々回と、ATOK連携ツールがサポートしていないアプリケーションからATOK用の電子辞書にアクセスする方法を書いてきたが、どちらも中心になるのはOpera用検索ツール。
[f:id:uzusayuu:20110528110350j:image]

Opera, Firefox, 秀丸, Janeで電子辞典(for Windows)を使う
単体で起動すればATOK電子辞書のGUIフロントエンドにもなる非常に便利なソフトで、作者の方には感謝このうえないのだが、直接ATOK連携ツールにアクセスできればそれにこしたことはない。
なんとかならないかと思って調べてみたところ、ATOK連携ツールのDLLに直接アクセスすれば辞書検索ができる、という内容の投稿を見つけた。半信半疑でためしてみたところうまくいったので、こちらに書いておこう。(ただし、まだバグが取り切れていないので実用上はOpera用検索ツールを使う前回の方法のほうが優れている。)

AutoHotKeyスクリプト

注意点:これはあくまで私の環境での動作報告であり、同様の環境で必ず動作することを保証するものではありません。試される方は各ツールのマニュアルに従い、ご自分の判断でご使用ください

まずは準備として、ATOK、ATOK用電子辞書、ATOK連携ツールをインストールしておく。Opera用ツールは今回は必要ない。
私が使っているのはATOK2011、ロングマン英英、大辞林、など。
ATOK連携ツールの辞書検索機能を使うにはATOKEXIF.DLLを使用する。上記の投稿の僅かな情報を元に試行錯誤を行った結果、こんなスクリプトで辞書の検索ができた。

#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
SendMode Input  ; wfor new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.
hModule := DllCall("LoadLibrary", "str", "C:\Program Files (x86)\JustSystems\ATOK\EXT\ATOKEXIF.dll")

!E::              ; Hot key is ALT+ E
Send ^c       ; Send ctrl+C
Sleep, 60     ; Wait for clipboard copy
word = %clipboard%
result := DllCall("ATOKEXIF\ATOKExt_ImmConfigureConsultDrmDicForIEW", "str", word)

最初の3行は自動挿入されたもの。4行目でDLLをロードしている。こちらのパスはATOK連携ツールがインストールされた場所を指定。
ホットキーには今回もALT+Eを指定。コピーコマンドを送信して、少し待った後で変数に代入。
最後の行で、DLLの検索機能にアクセスしている。

あとはスクリプトをセーブして、run scriptしてみる。スクリプトに問題が無ければ、文字を選択してAlt+Eを押すとATOK用電子辞書が立ち上がるはずだ。
何故かスクリプト実行後最初の呼び出しだけは妙なエラーメッセージがでたり、ウィンドウが他のウィンドウの下に表示されたりすることがあるが、一旦それらのウィンドウを閉じてもう一度呼び出すと正常に辞書検索ができる。また、Windows7では、一度他のウィンドウを選択すると、辞書ウィンドウが下に隠れてしまい、選択しても上にあがってこない。このあたりはおいおい直していこう。

まとめ

とうとうATOK連携ツールとAutoHotKeyだけで、ATOK用電子辞書にほぼどこからでもアクセスできるようになった。

感想

エディタで入力中、前に書いた部分の言葉の使い方が不安になったら選択Alt+E。非IEブラウザでWebを見ているときも、Alt+Eで検索と、とても便利。任意のアプリからの呼び出しがATOK電子辞典の標準機能になればいいのに。
あと、バグが取り切れてないのが残念だが、昨日インストールしたばっかりでこれだけのことができるAutoHotKeyはやはりとても便利。

任意のアプリからATOK用辞典(続

オープンソフトウェア AutoHotKey

前回の記事では有料ソフトのMacro Express Proを使って、ATOK用電子辞書に任意の辞書からアクセスしてみた。
ただ、これだけの目的のために約5000円のソフトは高いなあ、ということでフリーソフトAutoHotKeyを試してみところ簡単に動作したので、スクリプトをこちらに書いておく
http://www.autohotkey.com/

AutoHotKeyからATOK用電子辞書を呼び出すスクリプト

注意点:これはあくまで私の環境での動作報告であり、同様の環境で必ず動作することを保証するものではありません。試される方は各ツールのマニュアルに従い、ご自分の判断でご使用ください

まずは前回の記事と同じく、ATOKATOK用電子辞書、オペラ用ATOK辞書検索ツールをインストール。さらにautoHotKeyをインストール
その後右クリックでNewからAutoHotKey Scriptを指定。
以下、使用したスクリプト

#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.

!E::                     ; Hot key is alt + E
clipboard =         ; Clear Clipboard
SendEvent ^c     ; Send ctrl+C
ClipWait              ; Wait for clipboard copy
run "C:\Program Files\GetTextOperaLClick\GetTextOperaLClick.exe" %clipboard%

上3行は自動で追加された者で、私もよくわからない。機能の呼び出しはALT+Eキー。最終行のパスはオペラ用検索ソフトをインストールした場所を指定。
これでセーブして、ファイルを右クリックからRun Scriptを指定。これで準備終了。
あとは任意のソフト上で検索したい文字列を選択してAlt+Eキーを押すと、ATOK用電子辞書が呼び出される
これで、ATOK以外は無料で辞書の呼び出しができるようになった。

まとめ

AutoHotoKeyを使って、任意のアプリケーションからATOK用電子辞書は検索できる

感想

もっと使いにくいソフトかとかってに思っていましたが、インストールから上記のスクリプト実行まで30分ほどでできました。
便利

任意のアプリからATOK用辞典

ATOK用電子辞書

高い変換率で人気のATOK。日本語入力だけに使っていても便利なのだが、最近はEvernoteと連携するATOK Padなど様々な拡張機能が追加されている。なかでも便利なのがATOKと連携する電子辞典の数々。有料ながら、広辞苑ロングマン英英辞典などの定番から、角川俳句歳時記なんていうのまで手に入る。
http://www.atok.com/products/index.html#pgDict
入力中にふと使い方や意味を疑問に思ったら、ENDキー一発で意味が引ける。和英も引ける。半角英数からなら英和や英英も引ける。私が使っている大辞林には画像や音声まで含まれている。

ATOK連携ツールによる、入力済みテキストからの検索

と、便利なATOK用電子辞典も欠点はいちいち入力する必要があること。
ただし、ATOKにはATOK連携ツールというものがあり、別途これをインストールすることにより辞書呼び出しを含むいろいろな追加機能が使えるようになる。これを使えば単語を選択−>右クリックで辞典を呼び出すことができる。残念ながら、今のところ連携ツールが対応するのはMSオフィスとIEのみのもよう。

では、他のソフトやブラウザでATOK用電子辞典を呼び出すことはできなのかというと、世の中にはありがたい人がいるものでOpera用にATOK辞典を呼び出すツールをフリーウェアとして公開している人がいる。さらに、このツール、FireFox秀丸からも呼び出せるらしい。
Opera, Firefox, 秀丸, Janeで電子辞典(for Windows)を使う
Google Chromeでもできると書いてあるので試してみたのだがうまく行かない。さらにいえば、いっそどんなソフトからでも電子辞書が呼び出せればいいのに。

任意のアプリからの検索

ということで、いろいろ試行錯誤したのだが、外部ツールを使えば任意のアプリケーションからのATOK辞典の検索は可能のようだ。

動作環境

注意点:これはあくまで私の環境での動作報告であり、同様の環境で必ず動作することを保証するものではありません。試される方は各ツールのマニュアルに従い、ご自分の判断でご使用ください
ためしたのはWindows。一応XPと7で動作した。
まず事前に、ATOK2011、ATOK用辞典(大辞林など)、ATOK連携ツール、OperaATOK辞典ツール、をインストール。
Opera用ツールには2007用、2008用、2009用があるが、私の環境のATOK2011では2009用が動作した。
使ったツールは任意のキーバインドからマクロを呼び出すMacro Express Pro
http://www.macroexpress.com/
とりあえずテストなので30日トライアル版を使用。

Opera用検索ツール

まずはOpera用ツールの動作確認をしておく。こちらのツール、単体で使用すればGUIからATOK用電子辞典が呼び出せるので動作確認も簡単。インストールしておけば他のソフトと連携しなくても役に立つ。

環境設定で、「アクティブでなくなったら自動で閉じる」を選択してみた。

Macro Express Pro

次は、Macro Express。機能を選んで選択していくだけで、様々な動作が自動化できる。
http://www.macroexpress.com/download.htm

  • マクロの作成

まず、New Macro Buttonで新マクロの作成。起動はHot Keyを選択し、好みのキーコンビネーションを指定(今回はAlt + End)。好きなマクロ名を入力して、OKで次へ。

  • テキストのコピー

まずは選択したテキストをクリップボードへコピー(ScriptペインからClipboard -> Clipboard copyを選択して右矢印)

  • テキストの内部変数への保存

次は、クリップボードからマクロ内変数にコピー(Variable -> Variable Set String, コピー先のVariableを作成(T1)して指定)

  • 検索ツールの呼び出し

最後に検索ツールを起動 (Windows/Program -> Launch Program, Programに上記のOpera用ツールを指定。パラメータに先ほどのテキストVariable T1を指定)

以上、たった3行で終了。あとはセーブして、実行してみよう。

Chrome上でのテスト

まず、ATOK連携ツールが対応していないChromeを起動。次に単語を選択して、Alt + Endを入力。見事ATOK用電子辞書が呼び出された。

課題、

問題点は、

  • 辞書ウィンドウを閉じず次々検索すると、ときどきサーチツールのプロセスが残るときがある。
  • 右クリックには対応していない
  • クリップボードを経由するので、データをコピー中に検索するとコピーする中身が替わってしまう
  • Macro Expressは有料(Pro: $59.95)。Macro Express 自体は高機能なので約5000円の価値はあると思うが、ATOK辞書のためだけにこれだけ払うのはちょっと...。

まとめ、

ATOK用の電子辞書はATOK連携ツール、フリーウェアのOpera用ツール、Macro Expressを使うことで、任意のソフトウェア上から検索できる。

感想

  • Opera用のツールを作ってくれた人に感謝
  • 有料マクロソフト使えばなんでもできて当然だよね。なんとか無料でやる方法はないものか
  • それより、ATOK連携ツールが、他のソフトにも対応してくれればいいのに

iPhoneとGoogle Docsの連携アプリ

EvernoteGoogle Docs

iPhoneとCloudの連携と言うと、どうやら世間ではまずEvernoteとなるらしく、紹介記事も多々ある。
nanapi - iPhoneからEvernoteを便利に使うテク
日経トレンディネット - クラウド“メモ”サービスEvernoteとiPhone 4で仕事スタイルが変わった!
当然、iPhone上で動作するEvernote連携アプリも多種多様
(旧)PUNKSTEADY - Evernoteと連携するiPhoneアプリ72連発
ASCII.jp x MacPeople - Evernoteが進化 連携する16本のiPhoneアプリはコレ!
方やクラウドの先駆けGoogle Docsの方は、iPhone上ではEvernote程の存在感がない。試しにiPhone EvernoteGoogle検索するとヒット件数は約 24,700,000 件。方やiPhone Google Docsでは約 6,860,000 件 と約1/4だ。

確かにEvernoteiPhoneの親和性は高いが、Google DocsEvernoteを比べてみると、Google Docsの方が優れている点も多い。特に、プレゼンテーションやスプレッドシートがオンラインで編集できるのはEvernoteと大きく違うところ。今のところ用途に応じて使い分けるしかないようだ。

Google DocsiPhone上での編集

幸い2010年11月から、iPhone上でもGoogle Docs上のドキュメントとスプレッドシートの編集ができるようになっている(Google Docs for Mobile - Try Google Docs for mobile and edit your docs wherever you are.)。
http://www.youtube.com/watch?v=eAr5VoYdVBo:Movie
もちろんPCから編集するような快適さはないが、出先でちょっと確認、ちょっと編集、といった限定的な用途なら問題なさそうだ。

iPhoneGoogle Docs連携アプリ

iPhone上でGoogle Docsの閲覧編集を楽にするアプリもでている。

閲覧用なら:GoodReader

まずは多くの人が使っているGoodReader(600円) *1。こちらは、Web DownloadsからNew Download->Connect to Servers->Create New Connecton toでGoogle Docsを選べば、自分のGoogle Docs上のファイルを見ることができる。Googleアカウントだけでなく、Google Appsアカウントにも対応している*2。ただし、テキストファイル以外は閲覧専用。
GoodReader for iPadGoodReader(600円)

編集もしたいなら:Go Docs

編集もしたいならGo Docs for iPhone(450円)の方が便利。Googleのアカウントを指定するとファイルが見やすい画面で閲覧でき、必要があれば編集もできる。試してみたところ、閲覧機能は非常に使いやすい。ただし、編集機能はGoogle Mobileと同様だったので、その点に関しては使い勝手は良くない。Google Appsのアカウントにも対応している。また、iPad上ではiPadに最適化されたUIが使える。
GoDocs for iPad/iPhone (Google Docs™ full support)Go Docs for iPhone(450円)

テキストの編集と同期:Rainbow Note

Google Docs for mobileやGo Docsでちょっとした編集はできる。できるにはできるのだが、ちょっと試してみればわかると思うが、Google Mobileの編集機能ではあまり長い文章を入力する気にはなれない。これ以上の使い勝手を得ようとすると後述のオフィスアプリを使うしかなさそうだが、フル機能のオフィスソフトはそれなりに値段もするし、そこまでしてiPhoneの小さい画面で編集する価値があるかどうかも疑問だ。
やはりEvernoteのようにiPhone上のテキストエディタで入力したドキュメントをGoogle Docsにアップデートするような手軽な使用法で、できれば双方向で同期をとりたい。そんな用途にはこういったアプリがある。
RainbowNote (Sync with Google Docs)Rainbow Note(450円)
このアプリでは、直接Google Docs上のDocファイルの作成、閲覧、編集ができる。編集機能はテキストの入力と削除程度だが、カメラでとった写真やiPhone上の挿入もできる上に、なんに使うのかわからないが背景画像の変更も可能。こちらもGoogle Appsアカウントに対応しているのがありがたいところ。

ドキュメントのスキャンとアップロード:Scanner Pro

Scannerソフトで取り込んだレシートや名刺をEvernoteに送るのは非常に便利(館神BLOG - TurboScanのデータをEvernoteに転送する方法)。では、Google Docsでは同じ事はできないかと探してみたところ、Scanner Pro(800円)Google Docs連携機能がある。230円のTurboScanに比べると高いが、若干こちらの方が高機能のようだ。
Scanner Pro: scan multipage documents, upload to Dropbox and EvernoteScanner Pro(800円)

その他のソフト

探してみると、iPhone上で動作するGoogle Docs連携ソフトは他にもあるようだ。まだ試していないが、気になった物は

など。
iPhoneiPad上でGoogle Docsの書類が編集できるオフィスソフトもいくつかある。気になったのはこのあたり。

このあたりのソフトはiPad版もでているようだ。iPadの広い画面上ならフルのオフィスソフトもだいぶ現実的かと思うので機会を見つけて試してみたい。

まとめ

Evernote程ではないが、Google Docs向けにもiPhone用の連携ソフトは多数存在する。今回試してみたのは

*1:価格は私が調べた時点のもので、変更になる可能性があります。購入される方は事前にiTunesストアで確認されることをお勧めします。

*2:GoogleアカウントとGoogle Appsアカウントの違いについてはこちらを->Google アカウント ヘルプ: Google アカウント: Google Apps と Google アカウントの違い

インド旅と腹痛

初のインド旅

 先月インドに行き、帰国後案の定お腹を下し、ひどい目にあったので、記録をかねて顛末を書いておく。
 インドにいたのは7月後半の1週間。滞在したのはバンガロールにある割と高級な(現地基準)ホテル。食事は主にホテルのレストランでとったが、3分の1程度は外のレストランやカフェテリアで食事した。
 不衛生な水が原因で腹痛を起こすことがあるとさんざん聞いていたので、可能な限りペットボトル詰めの水しか飲まないようにはしていた。しかし、歯磨き後のうがいは水道水で行っていたし、一度だけ外のレストランで「処理済み」の水を飲んだ。他にもラッシーやライムジュースなどをのんだので、こういったものの中に不衛生な物が含まれていたのかもしれない。

通過儀礼的腹痛

 滞在中の1週間は、初日こそ疲れにともなう消化不良をおこしたがすぐに回復、正直帰国時にはDelhi Bellyとも呼ばれるインドでの腹痛をあなどっていた。帰国した次の日から、ひどい消化不良を起こしトイレに駆け込むこと数回、数時間後には脱水症状のせいか頭痛と軽いめまいが起き始めた。熱はなく、腹部の痛みもなかったため、たんなる腹下しと自己判断し、日本からもってきた正露丸を飲み、水分補給にゲータレードとミネラルウォーター、食事はチキンヌードルスープのほぼスープ部分のみ、できるだけ安静、という生活を二日ほど続けたところ、どうにか症状が治まってきた。
 もう最悪は超えたかと思い、仕事に復帰。若干食欲も出てきたので夕飯をとったのだが、この判断が大間違い。まず、夕飯が一口とんかつと魚のフライ。さらに、お腹に良いだろうとヨーグルトを追加。後ほど医者に行ってこの組み合わせが最悪に近い事を知る事になる。
 夕飯の数時間後から再び猛烈な消化不良で、明け方まで何度となくトイレに行くはめになる。朝には脱水症状のせいか頭痛ががんがんし、頭はクラクラする。とても仕事に行くのは無理ということで、あきらめて病院へ。

病院にて

 病院での診察の結果は、これはいわゆるTraveler's Diarrheaであるとのこと。旅行の疲れ、食生活の変化などにより引き起こされる病気で、頭痛とめまいはやはり脱水症状のせいであるとのこと。(さらに、CDCのホームページによると、お腹下し自体の原因はやはり汚染された水・食事とのこと。原因菌の多くは病原性大腸菌らしい。)脱水症状を防ぐために、スポーツドリンク等でこまめに水分補給し、消化の良い食事(チキンスープなど)をとること、ゆっくり休むことを指示される。つまり初日の自分の行動は正しかったわけだ。
 逆にやってはいけないことは、消化の良くない物を食べること。特に脂っこいものと乳製品はだめ。良くある失敗は、調子が良くなってお腹が空いてきたからと言って、脂っこい物を食べてぶり返すことだ、とのことでまさにこれは私の二日目の行動そのもの。
 その他は抗生物質が処方され、腸内細菌を増やすサプリメントを渡され、最低二日の安静の指示を受け帰宅。その後48時間程ベットの上で過ごし、ほぼゲータレードとチキンヌードルスープのみの食事を続けたところ症状がかなり改善。さらに三日ほど、スープ+パン程度の食事を続けてほぼ完全に回復。

直ってみると

 ひどい目に遭いはしたが、他にインドに行った経験のある人に聞くと、大概この手の病気にかかっているらしい。ホテルに引きこもってミネラルウォーターと完全に加熱された食事だけを摂っているのならともかく、ある程度現地との交流を行えばお腹を下すのは当然のことらしい。また回復に1週間かかったのも標準的らしく、人によっては2週間も苦しみ続けたとのこと。さらに、アメリカに帰ってきてから症状がでたおかげで家族の助けや、行きつけの病院での処方をうけられたのもある意味幸運。一人外国のホテルにて苦しみ、案内の無い地で途方にくれる姿を想像するとぞっとする。
 さて、何故一緒に食事していた現地の人が平気で私だけがお腹を壊すのか。Wikipediaの記述によれば現地の人間には原因になる菌に対して耐性があるのだとのこと。では、今回お腹を壊したら、免疫を獲得して次回は大丈夫かというとそうでもないらしい。大人が原因菌に対して耐性を勝ち取るにはなんと7年間もかかることさえあるとか。しかも帰国後わずか8週間でせっかく獲得した免疫が消えてしまったケースまであるとのこと。
 残念ながら、やはり、できるだけリスクを避け、なおかつ体調不良の可能性を見込んだ旅程を組む、という方法以外にインド旅の腹下し対策はなさそうだ。