秀丸エディタから misima を使う
since Nov. 2 2007
人間の精神には,今ここに流通する言葉から抜け出したいという欲求がある.
— 水村美苗
   
-   概要
-   パッケージ内容
-   環境前提
-   インストール
-   使い方
-   misima オプション
-   制限事項
-   利用条件

お断り
2015.8.17

 

Web Service のプラットフォームとして,最近は SOAP よりも RESTful が主流となっている.この事情のため,misima SOAP Web Service は現在運用を停止している.よって,本ページは記録として残すのみである.

これに替え,2015.08 現在,misima RESTful Web Service が稼働中である(ただし,一般公開はせず,友人のための限定公開である).秀丸用の misima RESTful Web Service マクロについては,筆者のブログ記事「misima RESTful Web Service 秀丸マクロ」を参照いただきたい.

概要

 

秀丸エディタは Windows で人気の高いテキストエディタである. misima​Soap​Service-​2.5 を導入することにより, 秀丸エディタから直截, misima 旧仮名遣い・旧字変換支援を利用することができる.すなわち,秀丸エディタ上で文書作成作業を行うなかで,旧仮名遣い・旧字に変換したいテキストを選択し, misima​Soap​Service-​2.5 提供マクロを実行すると, SOAP Web Service インタフェースで筆者の misima SOAP サーバ http://​yasuda.homeip.net/​axis/​services/​misimaSoapConnector で変換を行い,その結果で秀丸エディタ上の選択テキストを置換する.西欧語,スラヴ語,ギリシア語,タイ語,日中韓 Unicode 文字の TeX 多言語変換も可能である.本稿は秀丸エディタ利用のための misimaSoapService-2.5 の導入手順及び使い方を示す.

misimaSoapService-2.5 パッケージはこのほか, GNU Emacs(Meadow), Microsoft Word 2003, Mac OS X Jedit X, TeXShop から misima SOAP Web Service を利用するためのクライアントを同梱している.

詳細は『利用の手引き』を参照.

パッケージ内容

 

パッケージはダウンロード・サービスから最新版が取得できる.
[パッケージ内容表示/非表示]

misima 変換機能については Web 公開しているサービスとほぼ同等である.ただし,ユーザ辞書には未対応である.

misima 機能・インストール・利用全般についてはドキュメント misimadoc.pdf を参照のこと.

環境前提

 

OS は Windows 2000/XP で動作する. Windows 95/98 では,確認していないが,恐らく動作しない.筆者は Windows 2000 SP4, Windows XP Professional SP2 で開発/動作確認を行っている.

秀丸エディタのバージョンは 6.09 で試験している. runsync2 命令 (外部コマンドを実行し,終了するまでウェイトする) をサポートする秀丸エディタ版ならば動作すると思われる.

秀丸用 misima クライアントは秀丸マクロ, Java, C プログラムで実現している. SOAP アクセス基幹部分は Java クラスライブラリ (misima.jar) である. java コマンド (クラスランチャ) が正常に動作するようになっていなければならない. JVM [Java Virtual Machine] が動作する Java 5.0 以上の実行環境が必要である.「コマンドプロンプト」を開いて, java -version と投入して, "java version 1.5.x" よりも新しいバージョン番号が表示されればよい. "1.5" 以下のバージョンの場合は JavaWorld などの雑誌の付録 CD-ROM を手に入れるなり,サン・マイクロシステムズのサイトからダウンロードするなりして, Java 2 Platform, Standard Edition [J2SE] 5.0 以上の Java Runtime Environment [JRE] もしくは Software Development Kit [SDK] をインストールしておく. Java 実行環境の設置については, JRE, SDK のドキュメントやインターネット・リソースを参照していただきたい.

インストール

 

コマンドプロンプトの画面からコマンドを入力して行う手順を以下に示す.ファイルのコピー,フォルダの作成などエクスプローラでも可能である.「コマンドプロンプト」は Windows XP 標準では,「スタート」→「プログラム」→「アクセサリ」→「コマンドプロンプト」で起動する.本稿で示すコマンドラインの入力において "\" 記号はブラウザによってバックスラッシュで表示されるが,円記号で入力するものと捉えてほしい.

misima Java クラスライブラリ

まず misima Java クラスライブラリをインストールする.

(1) インストール・ディレクトリ (フォルダ) の作成
misima SOAP クライアントをインストールするフォルダ (以下インストール・ディレクトリ) を作成する.本説明では C:\misima と仮定する.

- Windows のコマンドプロンプトを起動する.
- 以下を入力してディレクトリを作成する.

C:\WINDOWS>mkdir c:\misima
	

(2) 解凍
適当なフォルダに misimaSoapService-2.5.zip パッケージをコピー (ダウンロード) し, Windows のアーカイバで解凍する. ZIP 形式なのでたいていのアーカイバが対応していると思う.その後 misimaSoapService-2.5 フォルダの下にある shells/​misima.bat, misima-2.5.jar をインストール・ディレクトリ直下にコピーする.このときパッケージ添付のファイル名称 misima-2.5.jar を misima.jar に変更しておく.名称を変えない場合は, misima.bat 内の変数定義を同期させる必要がある.

(3) バッチファイル misima.bat の修正
misima.bat の MISIMAJARDIR 変数を,パッケージを展開したインストール・ディレクトリ名に修正する.

set MISIMAJARDIR=c:\misima
	

もし企業ネットワークなど,社内 PC から外部ネットワークにアクセスするとき Squid などのプロキシーサーバを経由しなければならない場合, misima.bat を次のように設定する.通常の個人のインターネット接続環境では,この設定を行ってはならない.

set PROXY=-Dhttp.proxyHost=ProxyHost →
          -Dhttp.proxyPort=ProxyPort →
          -Dhttp.proxyUser=UserId →
          -Dhttp.proxyPassword=Pass
	

"→" は行の折り返しを示すもので,実際は全体を一行で記述する必要がある. Proxy​Host, Proxy​Port, UserId, Pass の各値には,プロキシー環境に従う値をセットする.

(4) CLASSPATH の登録
C:\misima\misima.jar を Java クラスパスに登録する (Windows 環境変数).

(5) 実行パスの設定
インストール・ディレクトリを Windows 実行パスに登録する (Windows 環境変数).

秀丸マクロ

(1) マクロファイルのコピー
パッケージ hidemaru フォルダ内の秀丸マクロ *.mac 一式を C:\misima にコピーする.

(2) misimalaunch.exe のコピー
パッケージ hidemaru フォルダ内の misimalaunch.exe を C:\misima にコピーする.これは秀丸マクロ内から misima Java クラスライブラリを利用するための Windows プログラムである.

(3) マクロの登録
秀丸エディタを起動し,「マクロ」→「マクロの登録」からマクロ登録画面 (図 1) を表示させる.「ファイル名」ボックス右にある「...」をクリックして C:\misima 下にコピーした秀丸マクロファイルを指定する.登録の際,マクロ名 (「タイトル」ボックス) やショートカットは適宜ユーザが分かりやすいよう設定する.提供する各マクロは misima 変換オプションが用途に応じて異なる.マクロファイル名と変換操作内容, misima オプションは次のとおりである. misima オプションを変更することで, misima SOAP サーバの変換方法を変更することができる.

- マクロファイル名:     変換操作内容 (misima オプション)
- misima-kyits-c.mac:   旧字旧仮名変換 (-kyit -s c)
- misima-kyits-tex.mac: 旧字旧仮名TeX変換 (-kyit -s a -x kuitx)
- misima-tex.mac:       TeX変換 (-x kutx)
- misima-ts-c.mac:      旧字変換 (-t -s c)

"-kyit -s c" などの変換オプションについては項「misimia オプション」を参照.


図1 misima 秀丸マクロの登録

使い方

 

秀丸エディタで文書を作成するなかで, misima 旧字・旧仮名遣い変換が必要となるテキストを選択 (マウスで範囲をドラッグ) し,適当な変換オプションにバインドした misima 用マクロを実行すればよい.秀丸文書のエンコーディングは Unicode UTF-8 に設定しておく必要がある.

マクロを実行すると,選択テキストが消えて削除されたように見えるが,しばらくすると変換結果が挿入され,結果的に選択テキストが変換結果で置換される.

テキストが選択されていないと,エラーメッセージを出力する.

もし,結果が変るはずなのに変換されない場合 (時折発生する),再度変換操作を行ってみるとよい. misima 変換プロセスエラーを検知したときは元の変換対象テキストが復元されるようにしているが,万一,変換中になんらかの障害が発生してテキストが失われるような事態が起きたら,「コントロール+z」でアンドゥーして戻してほしい.

変換前後をそれぞれ図 2, 図 3 に示す.


図2 対象テキストを選択してマクロを実行

図3 対象テキストが変換結果で置換される

misima
オプション

 

misima オプションの書式及びオプション機能を以下に示す.

書式: [-k|-y|-i|-t|-n|-h|-d|-g|-b|-q|-s {cjhua}|
       -x <kuixhrtTaf>|-c {CTK}|-m {ht}| 
       -u URI]

 [ ] は | 区切りのオプションが選択可能であることを示す (複数可).
 { } は引数指定時にいずれかひとつを指定すべきことを示す.
 < > は引数指定時に複数を指定できることを示す.
 -kyit のように指定してもよい.

---
 -k   旧仮名変換を行う.
 -y   用語・用字変換を行う.
 -i   繰返文字変換を行う.
 -t   単純変換を行う.
 -n   仮名反転変換を行う.
 -h   変換結果を UCS 十六進数形式で返却する.
 -s   指定に従って旧字変換を行う.
    c   UTF-8 文字
    j   JIS 第一・第二水準内文字
    h   HTML 数値参照
    u   TeX OTF パッケージ UTF-8 数値参照 (十六進数)
    a   TeX OTF パッケージ CID 数値参照
 -x   指定に従って TeX 変換を行う.
    k   漢文訓読文訓点変換
    u   TeX 文字変換 (Cyrillic, Latin, polytonic-Greek, 
                      UTF8-CJK 漢字)
    i   くの字点変換
    r   キリルT2A変換
    t   タイ語変換
    T   タイ語変換 UTF-8 出力
    x   拡張変換表を使用
    h   ^^十六進数変換
    a   上記 k, u 及び i の同時指定
    f   TeX 文字変換 (強制変換)
 -c   指定に従って中韓漢字 TeX 変換を行う.
    C   中国語簡体字
    T   中国語繁体字
    K   韓国語
 -m   指定に従ってマーキングを行う.
    h   HTML タグ:
        辞書変換時 <font color="Red"></font>  で囲む
        本則変換時 <font color="Blue"></font> で囲む
    t   TeX コントロール・シーケンス:
        辞書変換時 \red{ }  で囲む
        本則変換時 \blue{ } で囲む
 -g   TeX ラテン文字ドイツ語スタイル
 -b   TeX ラテン文字 BibTeX 向けスタイル
 -u   接続先 URI を指定する.
      省略すると筆者のサイト URI が仮定される.
	

制限事項

 

一回当たりの変換実行指示は,実行速度,サーバの負荷等の事情を考慮し 8,000 文字に制限している.思考,推敲しながら文書作成を行うにあたっては十分であると考える.

本サービスはヤワなサーバで運用している上,旧仮名遣い変換において辞書を多量に読み,なおかつ茶筌で形態素解析を行うため性能がよいとはいえない.混雑すると (は思えないが) 処理が遅延する場合がある.長文をまとめて処理するよりも,数行程度のテキスト断片を推敲しつつ間欠的に変換指示していただけるとありがたい.

通常だと, 2,000 文字サイズのテキストで 15 秒程度, 100 文字で 6, 7 秒はかかるものと考えていただきたい.

Web フォーム版と比較すると,ユーザ辞書の指定ができない.トラフィックを抑制することが専らの目的であるが, Web でのオプション利用状況を見ると,ユーザ辞書を独自に設定した例はほとんどない.

利用条件

 

ソフトウェアの利用条件はパッケージ添付の LICENSE を参照のこと.

本プログラム,サービスはその運用結果についていかなる場合においても無保証である.

本サービスはまだα版レベルである.思いついて突貫で作ったのでつまらないバグもあろうかと思うが,ご意見・ご指摘をいただきながら改善したいと思う.

サーバは個人で設置した古いノート PC (ThinkPad X20 Pentium III 600MHz, 主記憶 340MB) である.個人の PC でもってなにが起こるか分からないし,またメンテナンス等の事情により停止していてもご了承いただきたい.とくに ADSL のルータがよくハングする...

もし独自にアクセスプログラムを作成する場合は筆者に必ずご連絡をいただきたい.

お断りなくクライアント,サーバの仕様を変更することがある.そのうちキーを配布してアクセス利用制限を行う予定である.できればご利用になる場合はメールでご連絡いただけるとよい.なるたけメール,筆者の Web サイトで通知するつもりである.

とくに暗号化等のセキュリティ対策は施してはいない.テキストは平文でネットワークを流れることを認識いただきたい.また本アプリケーションは Web のポートを経由して misima 変換サーバにアクセスする.不安な方はソースコードを添付しているので,ヘンなことはやっていないことを (コーディングはヘボかもしれないが) ご確認いただけるはずである. SOAP サーバも含めて Javadoc で生成したプログラム・ドキュメントを掲載しておく.

ご意見や不具合の連絡はメールでいただけるとありがたい.ご質問にも可能な限り対応したい.

更新履歴

 

Nov. 2, 2007 初稿
Jan. 1, 2008 Ver. 2.5
Feb. 6, 2008 記述訂正
Dec. 21, 2008 Unicode 前提追記