[AHK] ホットキー設定ヘルパー

西の方でAutoHotKeyのセミナーがあったようなので、ひとつ話題を投入しておく。

AutoHotKeyのスクリプトを書く際、キーコードで悩むことがありますが、それを簡単に出力してくれるスクリプトが無料で公開されているのをご存じでしょうか?

翻訳者には有名だと思いますが、内山卓則さんが開発されたAHK版「かんざし」に「ホットキー設定ヘルパー.ahk」というスクリプトが同梱されています。これが非常に便利で、スクリプトに記述するキーコードを、該当するキーを押すだけで出力してくれます。

このスクリプトを実行すると、以下のようなダイアログボックスが現れます。

スクリーンショット 2019-04-09 21.39.16

ここで、コードを知りたいキーの組合わせを押すと、「スクリプトに記述するコード」にコードが出力されるようになっています。出力されたコードをコピーして、スクリプトにペーストするだけという手軽さ。

スクリーンショット 2019-04-09 21.48.23

例えば、Ctrl + Alt + W のキーコードを知りたい場合は、その通りにキー操作すれば、こんな感じでコードが出力されます。出力された「^!w」をスクリプトに記述すれば良いことになりますね。

 

私は以前からこのスクリプトにお世話になっています。AutoHotKey でスクリプトを書く方は利用してみては如何でしょうか?

億万単位を自動で英語置換

某所でWildLightセミナーを開催したのですが、こんな課題をいただきました。

  1. 〇〇〇億〇〇百万円 ⇒ 〇〇,〇〇〇 million yen
    ex. 158億32百万円 ⇒ 15,832 million yen
  2. 〇〇億〇〇百万円 ⇒ 〇,〇〇〇 million yen
    ex. 11億70百万円 ⇒ 1,170 million yen
  3. 〇億〇〇百万円 ⇒ 〇〇〇 million yen
    ex. 6億47百万円 ⇒ 647 million yen
  4. 〇〇百万 ⇒ 〇〇 million yen
    ex. 6百万円 ⇒ 6 million yen
  5. 〇〇〇億〇百万円 ⇒ 〇〇,〇0〇million yen
    ex. 530億2百万円 ⇒ 53,002 million yen
  6. 〇〇億〇百万円 ⇒ 〇,〇0〇 million yen
    ex. 10億9百万円 ⇒ 1,009 million yen
  7.  〇,〇〇〇,〇〇〇千円 ⇒ 〇,〇〇〇 million yen
    ex. 9,144,781 ⇒ 9,144 million yen (下3桁を削除)

これを実現するためのWildLight辞書を作ってみました。
DEMO_変換_和数字を英語へ.txt」として公開しておきました。

辞書の中身は、以下のような記述になっています。

WILDCARD:ON
Zen2Han,[0-9]
([0-9]{1,2})([0-9])億([0-9]{2})百万 \1,\2\3 million 
([0-9])([0-9])億([0-9]{2})百万 \1,\2\3 million 
([0-9])億([0-9]{2})百万 \1\2 million 
([0-9]{1,2})([0-9])億([0-9])百万 \1,\20\3 million 
([0-9])([0-9])億([0-9])百万 \1,\20\3 million 
([0-9])億([0-9])百万 \10\2 million 
([0-9])億 \100 million 
([0-9]{1,3},[0-9]{3}),[0-9]{3}千 \1 million 
([0-9]{1,3}),[0-9]{3}千 \1 million 
([0-9,]{1,11})百万 \1 million 
百万 million 
円 yen

1行目:ワイルドカードモードに切り替えます。
2行目:全角の数字を Zen2Han コマンドで半角に変換します。
3~5行目:「〇〇〇億〇〇百万」を置換します。
6~8行目:「〇〇〇億〇百万」を置換します。
9行目:「〇億」を置換します。
10行目:「〇〇〇,〇〇〇,〇〇〇千」を置換します。
11行目:「〇〇〇,〇〇〇千」を置換します。
12行目:「〇〇〇,〇〇〇,〇〇〇百万」を置換します。
13行目:「百万」を置換します。
14行目:「円」を置換します。

お役に立つようでしたら、お使いくださいませ。

全角スペースを半角に変換する

先日、某所でWildLight初級セミナーを行いました。そこで「全角スペースを半角へ変換する方法」の質問を受けましたので、WildLight辞書の記述方法を記しておきます。

' ワイルドカードモードにする
WILDCARD:ON
' 全角スペースに蛍光ペンを付ける(変換箇所が分かるように)
[ ]
Zen2Han,[ ]

辞書ファイル「WLDIC_変換_全角スペースを半角へ変換.txt」としてWildLight共有フォルダーに公開しておきましたので、ダウンロードしてご利用ください。

対訳表作成時間

WildLightを使って翻訳チェックする上で、欠かせないのが対訳表作成。

対訳表によるチェックは、問題検出効果が大きいという話を、いままであちこちの講演でしてきました。ところが、対訳表作成に時間が掛かることから、なかなか踏み込めない方が多いようです。

対訳表作成に、どれくらいの時間を見積もっておけばいいのでしょうか?

“対訳表作成時間”の続きを読む

AutoHotKeyでEBWin4検索 パート3

帽子屋さんこと高橋聡さんがブログで「# 複数単語(連語)の検索方法 – EBWin4」という記事を公開されました。この記事の中で、熟語検索をするなら単語間スペースなしの条件検索が良いと書かれています。

ということで以前公開した AutoHotKey スクリプトを、これに対応するように作り変えてみました。

以前紹介したスクリプトは、単語の検索と連語の検索でEBWin4の検索モードを切り替えるように作ってありました。その「連語の検索」で条件検索が行われるように変更しました。具体的には、EBWin4を呼び出すときのスイッチをkに変えたことと、検索文字列の中の半角スペースをすべて削除するようにスクリプト追加しました。1単語だけ指定のときは前方検索連続した2単語以上を指定したときは条件検索になります。

; ━━━━━━━━━━━━━━━━━━━━━━━━━━━
; ● Control + Shift + E でEBWin4検索
; EBWin4 Ver. 4.4.4 以降で動作します
; http://ebstudio.info/manual/EBWin4/EBWin4.html
; ――――――――――――――――――――――――――――――――――
^+e::
 Backup := ClipboardAll
 clipboard = 
 Send ^c
 ClipWait, 1
 keyword = %clipboard%
 Clipboard := Backup
 Backup =
 keyword := trim(keyword)
 if strlen(keyword) = 0
    {
    msgbox, 検索する文字列を範囲指定してから実行してください。
    return
    }
; EBWin4 のコマンド引数; /M= p[refix]|s[suffix]|e[xact]|c[rossword]|k[eyword]|f[ull text]|a[uto]
; p:前方一致, s:後方一致, e:完全一致, c:クロス条件検索, k:条件検索, f:全文検索, a:自動検索
 if Instr(keyword, " ")
    {
    StringReplace, keyword, keyword, %A_Space%, , All
    RUN C:\Program Files (x86)\EBWin4\EBWin4.exe /M=k /S="%keyword%"
    } else {
    RUN C:\Program Files (x86)\EBWin4\EBWin4.exe /M=p /S="%keyword%"
    }
return

 

WildLight

前回の記事を書いたとき、単語を選択した場合と連語を選択した場合で、辞書引きのモードを切り替えられたらいいなぁと思い、EBWin4のマニュアルで調べたのですが、コマンド引数で検索モードを切り替えることができないことが分かりました。

そこで、EBwinのサポート掲示板に「お願い」書き込んだところ、作者のhishidaさんが、もの凄い速さで対応してくださり、Ver. 4.4.4 として公開されました。hishidaさんにはこの場を借りて、厚くお礼申し上げます。(EBWin4: http://ebstudio.info/manual/EBWin4/EBWin4.html )

検索モードをコマンド引数で切り替えられるようになりましたので、さっそく、先のスクリプトを修正いたしました。このスクリプトでは英語(1バイト言語)において、単語の検索と連語の検索で検索モードを切り替えています。私は1単語だけ指定のときは前方検索連続した2単語以上を指定したときは全文検索する場合が多いので、そういう設定で作ってあります。

; ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
; ● Control + Shift + E でEBWin4検索
; EBWin4 Ver. 4.4.4 以降で動作します
; http://ebstudio.info/manual/EBWin4/EBWin4.html
; ――――――――――――――――――――――――――――――――――
^+e::
    Backup := ClipboardAll
    clipboard =
    Send ^c
    ClipWait, 1
    keyword = %clipboard%
    Clipboard := Backup
    Backup =
    keyword := trim(keyword)

    if strlen(keyword) = 0
        {
            msgbox, 検索する文字列を範囲指定してから実行してください。
            return
        }

;   EBWin4 のコマンド引数
;   /M= p[refix]|s[suffix]|e[xact]|c[rossword]|k[eyword]|f[ull text]|a[uto]     
;   p:前方一致, s:後方一致, e:完全一致, c:クロス条件検索, k:条件検索, f:全文検索, a:自動検索       
    if Instr(keyword, " ")
        {
        RUN C:Program Files (x86)EBWin4EBWin4.exe /M=f /S="%keyword%"
        } else {
        RUN C:Program Files (x86)EBWin4EBWin4.exe /M=p /S="%keyword%"
        }

return
  • このスクリプトは EBWin4 の Ver. 4.4.4 以降で動作します。
  • 検索モードは、自分の好みに変更してお使いください。
  • ショートカットキーも、自分の好みに変更してお使いください。(上記スクリプトでは Ctrl + Shift + e になっています)

元の投稿を表示

[AHK] 範囲指定した文字列をWクォーテーションで括る

SNSで「範囲指定した文字列の前後にダブルクォーテーションを付けて貼り付る」ためのAHKスクリプトの質問がありました。

; Alt + Q でダブルクオテーションマークを前後に付与する
!Q::
Send, ^c
Clipboard = "%Clipboard%"
Send, ^v
Return

何のエラー対策もしていませんが、取りあえず必要な機能は実現していると思います。文字列を範囲指定して Alt + Q を押すと、範囲指定した文字列の前後にダブルクォーテーションが付きます。

やっていること:

  1. Ctrl + C を送信し、範囲指定している文字列をクリップボードに入れます。
  2. クリップボードの内容の前後にダブルクォーテーションを付けて、クリップボードに戻します。
  3. Ctrl + V を送信し、クリップボードの内容を範囲指定している文字列へ上書きします。

実用的なスクリプトにするには、「範囲指定文字列が無い時の処理」と「元々入っていたクリップボードの内容のバックアップと復元」ですかね。ダブルクォーテーションをカギ括弧や丸括弧にしても役立ちそうですね。

お試しください。

WildLight初級セミナー(12/10日)開催

wildlight-logo

10月28日発売のイカロス出版「新・翻訳力を鍛える本」。この中で「Lesson 1 効率&スピードを上げる」や「Lesson 2 ミスをなくして品質を上げる」のいくつかの記事でWildLightを取り上げていただきました。ありがとうございました。そこで、2017年最後の初級セミナーを東京ほんま会の主催で開催いたします。詳しくは、以下のリンクからご参照ください。

東京ほんま会:WildLight初級セミナー(12/10日)

セミナーでは、お持ちいただいたノートパソコンへWildLightをインストールするところから始めます。導入したいけどハードルが高くて…と考えていた方にも、東京ほんま会スタッフが手取り足取りサポートする会になります。是非、ご参加ください。

WildLightの対訳表作成機能

WildLightの「対訳表作成機能」について、説明ビデオをYouTubeにアップロードしましたので、お役立てください。

今後、WildLightの機能紹介をYouTubeへ続々とアップロードしていく予定です。(場合によっては、オンラインセミナーの開催も考えています。)

WildLight関連の動画リスト

※アライメントをする前に「数チェック辞書」を適用しておくと、作業がやりやすいです。