Javaで漢字の読み仮名を取得する
2017-05-23   Java, Windows

Javaでアプリケーションを作っているときに漢字の読み仮名を取得したいことがありました。探してみたのですがJavaだけで実現する方法は見つからず。Windowsであれば、imjpapi.dllを使うことで読み仮名を取得できることが分かりました。

そこで、Javaから呼び出せるようにimjpapi.dllのラッパーを作成してみました。

ZIPファイルを展開すると中にJARとDLLが入っています。

  • phonetic-1.0.jar
  • phonetic-x86.dll
  • phonetic-x64.dll

これらのライブラリーを参照可能な場所にコピーしてください。

あとは、Phoneticクラスのスタティック・メソッドgetPhoneticに文字列を渡せば、戻り値として読み仮名が返ってきます。

Sample.java
import net.osdn.util.phonetic.Phonetic; public class Sample { public static void main(String[] args) { String yomi = Phonetic.getPhonetic("本日は晴天なり"); System.out.println("読み=" + yomi); } }

このサンプルコードを実行すると読み仮名が出力されます。

出力
読み=ほんじつはせいてんなり

とても簡単ですね。