BonsKakasi(win)

「漢字」を「ひらがな」に変換

「漢字」を「ひらがな」や「カタカナ」に変換します。

変換には「kakasi(カカシ)」という形態素解析のツールを使用します。

形態素解析ツールの「kakasi(カカシ)」の説明


KAKASI は漢字かなまじり文をひらがな文やローマ字文に変換することを目的として作成したプログラムと辞書の総称です。


エディタ の Mery のフォーラムで、ボーカロイド用に漢字をひらがなに変換するという話があり、興味がわきました。

WEB で調査すると kakasi と Mecab がヒットし、今回は kakasi を使用してみる事にしました。


最初に Windows に kakasi をインストールしました。

動作の確認はコマンドラインで行い、これは簡単に動作確認ができました。


次のステップはアプリケーションからの使用です。

Windows で使用するには kakasi.dll(32bits版) を使用するのが一般的かもしれませんが、Windows の開発環境の Delphi からは DLL の呼び出しで失敗してしまいました。

試行錯誤を行いましたが、どうしても解決する事ができなくて、半分あきらめの境地でした。


先日作成した拙作の BonsSpmSpl では、外部アプリを起動して終了まで待つという処理を実装していて、この機能が流用できると試しました。

DLL を使用するのではなくコマンドラインで使用するために、バッチファイルを Windows から起動させます。

バッチファイルの中は以下の記述です。

"C:\kakasi\bin\kakasi.exe" -JH -KH < "C:\Tmp\BonsKakasi-Src.txt" > "C:\Tmp\BonsKakasi-Dst.txt"

kakasi.dll(32bits版) を使用しないコマンドラインなので、32bitsOS でも 64bitsOS でも使用が可能となりました。

変換速度も速くて十分使えそうです。


次は辞書関連です。

コマンドラインで複数の辞書を指定しましたが設定が悪いのか認識しません。

ユーザが作成する辞書は1個(実際には5個をまとめて1個にしている)として、オリジナルの辞書に追加する方法に落ち着きました。

この辞書作成は一瞬で完了してしまうという驚きの速度でした。


追加する最終形のユーザ辞書(1個にまとめたもの)は、文字コードは EUC-JP、改行コードは Lf としなくてはいけませんが、こちらは拙作のエディタの BonsMemo で EUC-JP と Lf を扱っていたので、すんなりと実装できました。

5個のユーザ辞書は、文字コードは UTF8 BOM 有、改行コードは CrLf なので、通常のエディタでも編集が可能です。


需要があるかどうかは良くわかりませんが、使ってもらえたら作成した甲斐があります。 


▼Ver1.09 2022-10-24

01:Windows11でIMEを使用した時にクラッシュする不具合の対策を行いました。ただし手元では確認ができる環境が在りませんので対策の確認は出来ていません。

▼Ver1.08 2022-08-20

01:「辞書メンテナンス」画面の動作を変更しました。

▼Ver1.07 2022-08-19

01:「辞書メンテナンス」画面の内容を変更しました。

▼Ver1.06 2022-08-18

01:「辞書メンテナンス」画面の内容を変更しました。

▼Ver1.05 2022-08-15

01:メニューの「設定」に、「同一項目の検索」を追加しました。

▼Ver1.04 2022-08-14

01:辞書メンテナンスの機能を追加しました。

▼Ver1.03 2022-08-10

01:コマンドライン引数を変更しました。

▼Ver1.02 2022-08-10

01:画面構成を見直しました。

▼Ver1.01 2022-08-09

01:全体を見直しました。

▼Ver1.00 2022-08-08

01:最初の公開版です。