--------------------------
                             AddRuby for Win32
                         --------------------------
                           Version 1.0 2003/06/11
                               by Kengo Jinno
                            KHB04045@nifty.ne.jp
                         --------------------------

============================================================================
■概要

かな漢字混じりテキストの漢字部分に、YAT(R-YAT)のデータ形式でルビを付ける
ソフトです。

たとえば、「今日もいい天気ですね。」というテキストが
「#(今日)<きょう>もいい#(天気)<てんき>ですね。」という風に変換されます。

★重要★
漢字からかなへの変換に、MS-IME98(以降)で提供されている機能を使っています。
そのため、MS-IME98(以降)がインストールされている環境でないと動作しません。
★重要★

変換結果は100%正しいものではありません。さまざまな条件によって認識率は
上下しますが、私の試した範囲では80〜90%程度のように思います。
変換結果の確認・修正は必要ですが、大量の漢字に手作業でいちいちルビを振る
よりは省力化できるのではないかと思います。

============================================================================
■動作環境

MS-IME98(以降)がインストールされたWindows95/98で動作します。動作確認は
次の環境です。

No-brand mini-tower Celeron     366MHz 96MB Windows98 (4.10.1998) MS-IME2000
NEC LaVieNX LB20    MMX-Pentium 200MHz 64MB Windows98 (4.10.1998) MS-IME98

WindowsNT/2000での動作は不明です。

============================================================================
■インストール

アーカイブを解凍してできる以下のファイルを、AddRuby専用のフォルダに格納して
ください。(たとえば、C:\Program Files\AddRuby)

AddRuby.exe     実行ファイル
AddRuby.txt     説明ファイル    (実行には必要ありません)
AddRuby.c       ソースファイル  (実行には必要ありません)

アンインストールする時は、AddRubyのフォルダごと削除してください。
AddRubyは、レジストリに書き込んだりWindowsフォルダにINIファイルを作成したり
することはありません。

============================================================================
■使い方

AddRubyは一般のWindowsソフトとは異なり、「ウィンドウを持たないソフト」
(コンソールアプリ)です。実行は、MS-DOSプロンプトを開いて、コマンドを入力
して行ないます。

[スタート]→[プログラム]→[MS-DOSプロンプト]で、MS-DOSプロンプトを開き、
CDコマンドでAddRubyをインストールしたフォルダに移動します。

+--------------------------------------------------------------------+
|C:\WINDOWS>cd "\Program Files\AddRuby"                              |
|                                                                    |
|C:\Program Files\AddRuby>                                           |
+--------------------------------------------------------------------+

※空白を含むディレクトリ名はダブルコーテーションで囲む必要があります。

AddRubyをインストールしたフォルダに変換元のテキストファイルをコピーし、
以下のように実行します。
変換元のテキストファイルをfoo.txt、変換結果をbar.txtに格納するとします。

+--------------------------------------------------------------------+
|C:\Program Files\AddRuby>addruby foo.txt > bar.txt                  |
|                                                                    |
|C:\Program Files\AddRuby>                                           |
+--------------------------------------------------------------------+

この場合、変換結果はbar.txtに上書きされるので注意してください。

変換処理には時間がかかります。CPU能力やテキストファイルの大きさにも
よりますが、最大で数分程度かかることがあります。

変換が終了したら、bar.txtをテキストエディタで開いて、誤認識の部分を
手修正してください。

============================================================================
■制限事項など

・特殊な読みで単語登録していると、その読みに変換されることがあります。
 例:「要約筆記」→「よひ」
   「以上」→「いうえ」
   「異常」→「いつね」

・変換処理は行単位で行なわれます。そのため「泣き別れ」があると正しく変換
 できません。

・固有名詞や当て字には弱いです。

・アルゴリズムの関係上、複数の読みを持つ字で誤認識が多いです。
 例:「行った」(いった、おこなった)
   「方」(かた、ほう)

・くれぐれも、変換結果を信用しないでください。人間が読みにくい漢字と
 パソコンが読みにくい漢字はまったく異なります。もっともらしい大ウソの
 読みに変換されることもよくあります。

============================================================================
■ヒント

・頻出語句に誤認識が多い場合は、単語登録すれば(ほぼ)確実に変換できます。

・ルビを含んだテキストは「1行何文字か」を確認するのが難しいので、適切な
 長さに整形した後で使うのが効果的です。

・ルビを除去するawkスクリプト(ついでにインラインカラーも)

#!/usr/bin/awk -f
{
    while( match( $0, /[#$]\(/ ) ) {
        st = RSTART;
        s = substr( $0, st+2 );
        if( match( s, /^[^)]+\)/ ) ) {
            kanji = substr( s, 1, RLENGTH-1 );
            $0 = substr( $0, 1, st-1 ) kanji substr( s, RLENGTH+1 );
        }
    }
    gsub( /<[^>]*>/, "", $0 );
    print $0;
}

============================================================================
■お約束

・このソフトは作者である神野健吾<KHB04045@nifty.ne.jp>が著作権を持つ
 フリーソフトウェアです。
・このソフトは無保証です。バグの対処には努力しますが、解決を約束する
 ことはできません。
・このソフトを使うことによって、あるいは使えなかったことによって発生した
 問題について、作者はその責任を負えません。
・原則として無償で自由に再配布・転載して構いませんが、転載の場合は事後に
 メールで知らせてくれるとうれしいです。
・ソースの流用・改造は自由です。

============================================================================
■開発者向け情報

コンパイラには、LCC-Win32 を使っています。
http://www.cs.virginia.edu/~lcc-win32/

Microsoft Visual C++ 5.0 や Borland C++ Compiler 5.5 でもコンパイル
できることを確認しています。

main()から始まる単純なWin32コンソールアプリです。
MS-IME APIはCOMインターフェイスで提供されています。C++ならもっと簡単に扱う
ことができます。
漢字→かな変換には、IFELanguageを使っています。

============================================================================
■改版履歴

2003/06/11
 ・ソースにコメント追加しただけ。

2000/05/03 Version 1.0
 ・初版作成

============================================================================
HTTPでダウンロード(12,255bytes)