KAKASI/Java は、漢字→かな(ローマ字)変換プログラム KAKASI とほぼ同等の機能を Java で実装したものです。 現在のところ、一部の機能しか実装していませんが、おいおい機能を追加していく予定です。
最新版は、 http://www.kawao.com/java/kakasi/ から入手することができます。
コメントやバグレポートは、 kawao@kawao.com 宛にお送りください。
KAKASI/Java はフリーソフトウェアです。あなたは、 Free Software Foundation が公表した GNU General Public License (GNU 一般公有使用許諾) バージョン 2 あるいはそれ以降の各バージョンの中からいずれかを選択し、そのバージョンが定める条項に従って本プログラムを再頒布または変更することができます。
KAKASI/Java は有用とは思いますが、頒布にあたっては、市場性及び特定目的適合性についての暗黙の保証を含めて、いかなる保証も行ないません。詳細については GNU General Public License をお読みください。
JDK1.2 以上が必要です。 動作確認は、JDK 1.3.1 及び JDK 1.4.1 で行っています。
ソースからビルドするには、 Apache Ant 1.5 以上が必要になります。
バイナリ版は、アーカイブを解凍するだけでインストール完了です。 あとは、必要に応じて、 bin ディレクトリに PATH を設定するか、bin 以下のコマンドに対して PATH の設定されているディレクトリにシンボリックリンクをはるなどしてください。
ソース版からは、 Apache Ant を使用して、インストールを行います。 アーカイブを解凍して生成されるディレクトリ kakasi-java-x.x.x-src に移動して、
$ ant installと実行すると、 /usr/local の下に ディレクトリ kakasi-java-x.x.x が生成され、そこにインストールされます。 この時、 辞書の作成にしばらくの時間がかかります。 /usr/local 以外のディレクトリにインストールしたい場合、以下の要領でディレクトリを指定します。
$ ant -Dinstall.base=/some/dir install
インストール先の bin ディレクトリにある kakasi_j コマンドで KAKASI/Java を起動します。 kakasi_j は、 sh スクリプトですが、後述しますように、直接 java コマンドを使用することもできます。
kakasi_j [-JH | -JK | -JA] [-HK | -Ha] [-KH | -Ka] [-i<input-encoding>] [-o<output-encoding>] [-p] [-f] [-c] [-s] [-b] [-r{hepburn|kunrei}] [-C | -U] [-w] [dictionary1 [dictionary2 [,,,]]]
kakasi_j は、標準入力から入力された日本語の文章を、指定された文字セットに変換して標準出力に出力します。例えば、次の例では、ファイル document の中の漢字がひらがなに変換されて、標準出力に出力されます。
$ kakasi_j -JH < document
オプション | 説明 |
---|---|
-JH | 漢字をひらがなに変換します。 |
-JK | 漢字をかたかなに変換します。 |
-Ja | 漢字をローマ字に変換します。 |
-HK | ひらがなをかたかなに変換します。 |
-Ha | ひらがなをローマ字に変換します。 |
-KH | かたかなをひらがなに変換します。 |
-Ka | かたかなをローマ字に変換します。 |
オプション | 説明 |
---|---|
-i<input-encoding> | 入力される文字のエンコーディングを指定します。MS932、EUC_JPなどJDKによりサポートされるエンコーディングが指定できます。デフォルトは、JDKのデフォルトエンコーディングが使用されます。 |
-o<output-encoding> | 出力する文字のエンコーディングを指定します。MS932、EUC_JPなどJDKによりサポートされるエンコーディングが指定できます。デフォルトは、JDKのデフォルトエンコーディングが使用されます。 |
変換指定オプションに -Jx を使って漢字を変換する場合にのみ適用されるオプションです。
オプション | 説明 |
---|---|
-p | 辞書中で照合した読み方が複数ある時に、そのすべてを{} でくくって表示します。
牧場 -> |
-f | ふりがなモード。変換前の漢字の脇にその読みを差し込みます。
漢字の脇に -> |
オプション | 説明 |
---|---|
-c | 単語/熟語中に含まれる空白や改行を除いて読むようにします。これにより、複数の行に改行で分割されたり、行の先頭にタブや引用符がある時でもよみがなの解釈が行えるようになります。分かち書きを行うときは、オリジナルのKAKASIと違い、ひらがなやカタカナの中でも有効になります。 |
-s | 漢字からの変換で変換ごとに空白の区切りをいれます。また、ASCII/ひらがな/カタカナ/記号などの文字種が切りわるときにも区切り文字を入れます。 |
-b | 改行文字を出力するときに、出力バッファをフラッシュしないようにします。オリジナルのKAKASIにはない独自のオプションです。 |
-r | ローマ字への変換様式を指定します。hepburn(ヘボン式)とkunrei(訓令式)のどちらかを指定することができます。デフォルトは、ヘボン式です。 |
-C | ローマ字に変換する際に、単語/熟語の先頭のアルファベットを大文字にします。 |
-U | ローマ字に変換する際に、アルファベットを全て大文字にします。 |
-w | 分かち書きをします。オリジナルのKAKASI-2.3.4と違い、"-c"オプションとは独立していますので、必要であれば、別途"-c"オプションを付加してください。 |
コマンドラインの最後に、ユーザの辞書を任意に追加指定することができます。 辞書ファイルのフォーマットについては、こちらを参照してください。 辞書ファイル読み込み時のエンコーディングには、JISAutoDetect (JDK による Shift-JIS、EUC-JP、ISO 2022 JP の自動検出) が使用されます。
必要に応じて以下の環境変数を設定してください。
環境変数 | 説明 |
---|---|
JAVACMD | Javaの実行コマンドを指定します。 |
JAVA_HOME | JDKのインストールディレクトリを指定します。Javaの実行コマンドを特定するために使用されます。 |
KAKASI_HOME | KAKASI/Javaをインストールしたディレクトリを指定します。 |
JAVA_OPTS | Javaコマンドへ渡すオプションを指定します。この変数に-Dxxx=yyyの形式でシステムプロパティを指定することができます。 |
KAKASI_ARGS | KAKASI/Javaのオプションを指定します。 |
上記の環境変数は、ファイル $HOME/.kakasirc に sh スクリプトの形式で記述しておくことができます。以下は、その記述例です。
JAVA_OPTS="-Dkakasi.kanwaDictionary=/some/dir/kanwadict" KAKASI_HOME="/some/dir/kakasi-java-0.3.0"
kakasi_j コマンドを使用せずに、以下の形式で直接 Java コマンドを使用して、KAKASI/Java を起動することができます。
java <JAVA オプション> -jar /installdir/kakasi-java-x.x.x/lib/kakasi.jar <kakasi オプション>
JAVA オプションには最低限、システムプロパティ kakasi.home に KAKASI/Java をインストールしたディレクトリを指定する必要があります。
kakasi オプションは、kakasi_j コマンドと同じです。
以下は、実行例です。
$ java -Dkakasi.home=/usr/local/kakasi-java-0.3.0 -jar \ /usr/local/kakasi-java-0.3.0/lib/kakasi.jar -JH
インストール先の bin ディレクトリにある mkkanwa_j コマンドで KAKASI/Java が使用する漢和辞書を作成することができます。 mkkanwa_j は、 sh スクリプトですが、後述しますように、直接 java コマンドを使用することもできます。
mkkanwa_j kanwadict dictionary1 [dictionary2 [,,,]]
引数 | 説明 |
---|---|
kanwadict | 作成する漢和辞書ファイルを指定します。 |
dictionary1 [dictionary2 [,,,]] | 読み込む辞書ファイルを指定します。辞書ファイルのフォーマットについては、こちらを参照してください。辞書ファイル読み込み時のエンコーディングには、JISAutoDetect (JDKによるShift-JIS、EUC-JP、ISO 2022 JPの自動検出)が使用されます。 |
作成された漢和辞書ファイルを使用するには、システムプロパティ kakasi.kanwaDictionary に指定します。kakasi_j コマンドで使用する場合は、環境変数 JAVA_OPTS に "-Dkakasi.kanwaDictionary=/some/dir/kanwadict" の形式で指定します。
なお、作成される漢和辞書ファイルは、オリジナルの kakasi とは互換性がありません。
必要に応じて以下の環境変数を設定してください。
環境変数 | 説明 |
---|---|
JAVACMD | Javaの実行コマンドを指定します。 |
JAVA_HOME | JDKのインストールディレクトリを指定します。Javaの実行コマンドを特定するために使用されます。 |
KAKASI_HOME | KAKASI/Javaをインストールしたディレクトリを指定します。 |
JAVA_OPTS | Javaコマンドへ渡すオプションを指定します。この変数に-Dxxx=yyyの形式でシステムプロパティを指定することができます。 |
MKKANWA_ARGS | mkkanwa_jコマンドへ渡す引数を指定します。 |
上記の環境変数は、ファイル $HOME/.kakasirc に sh スクリプトの形式で記述しておくことができます。
mkkanwa_j コマンドを使用せずに、以下の形式で直接 Java を使用して、漢和辞書を作成することができます。
java <JAVA オプション> -classpath /installdir/kakasi-java-x.x.x/lib/kakasi.jar com.kawao.kakasi.KanwaDictionary kanwadict dictionary1 [dictionary2 [,,,]]
辞書ファイルの指定方法は mkkanwa_j コマンドと同じです。
以下は、実行例です。
$ java -classpath /usr/local/kakasi-java-0.3.0/lib/kakasi.jar \ com.kawao.kakasi.KanwaDictionary kanwadict mydict kakasidict
API ドキュメント を参照してください。 使い方のサンプルとしては、Kakasi.java のメインメソッドが参考になると思います。
また、ライブラリとして使用する際は、システムプロパティ kakasi.home を適切に設定しておく必要があります。
KAKASI WebService を参照してください。
システムプロパティ | 説明 |
---|---|
kakasi.home | KAKASI/Javaのインストールされているディレクトリを指定します。直接Javaコマンドを起動する場合や、KAKASI/Javaをライブラリとして使用する場合は、このプロパティの値を適切に設定しておく必要があります。 |
kakasi.kanwaDictionary | 漢和辞書ファイルを指定します。未指定の場合は、システムプロパティkakasi.homeで示されるディレクトリの下の、"/lib/kanwadict"が使用されます。 |
kakasi.itaijiDictionary.path | 異体字辞書ファイルを指定します。未指定の場合は、kakasi.jarの中に含まれているデフォルトの異体字辞書ファイルが使用されます。 |
kakasi.itaijiDictionary.encoding | 異体字辞書ファイルのエンコーディングを指定します。未指定の場合は、JISAutoDetect (JDKによるShift-JIS、EUC-JP、ISO 2022 JPの自動検出)が使用されます。 |
kakasi_j 及び mkkanwa_j へ指定する辞書ファイルのフォーマットは、オリジナルの kakasi と同様に SKK 型の辞書と標準的な辞書の双方が使えます。
よみ[ \t]+/漢字1/[漢字2/[漢字3/[,,,]]]
よみ[, \t]+漢字[, \t]*
異体字辞書ファイルについても、オリジナルの kakasi と同じ、一行に "壱一" など、一組の異体字を記述したフォーマットです。
KAKASI/Java の配布ファイルには、オリジナルの KAKASI-2.3.4 に含まれる辞書ファイル(kakasidict 及び itaijidict) が含まれています。 ソース版にはこれらのファイルが未変更のまま、バイナリ版には KAKASI/Java 用に変換したものが含まれています。 これらのファイルの著作権は、KAKASIのオリジナルの作者である高橋裕信さん他が所持しており、利用条件は、 KAKASI/Java と同様 GPL ライセンスに従います。
Copyright (c) 2002-2003 Tomoyuki Kawao. All Rights Reserved. |
kawao@kawao.com |
$Date: 2003/03/02 10:12:20 $ |