0
0

More than 1 year has passed since last update.

ICU4Jでカタカナをヘボン式ローマ字に変換する

Posted at
build.gradle
implementation 'com.ibm.icu:icu4j:70.1'
import com.ibm.icu.text.Transliterator;

public class KatakanaToHepburn{
  public static void main(String[] args) {
    Transliterator latin = Transliterator.getInstance("Katakana-Latin");
    Transliterator hepburn = Transliterator.getInstance("Katakana-Latin/BGN");

    System.out.println(latin.transform("トウキョウ"));
    System.out.println(hepburn.transform("トウキョウ"));

    System.out.println(latin.transform("シンバシ"));
    System.out.println(hepburn.transform("シンバシ"));

    System.out.println(latin.transform("ッア"));
    System.out.println(hepburn.transform("ッア"));
  }
}

詳細は BGN/PCGNラテン文字表記法(wikipedia) にある。日本語ではBGNがヘボン式ローマ字を指す、という理解でとりあえずはOKと思われる。

実行結果は以下の通り。

toukyou
tōkyō
shinbashi
shimbashi
~tsua
ッa

上記の通り「トウキョウ」などは長音符号つき文字になるのでそこは必要に応じて変換が必要。また、ヘボン式として変換出来ないカタカナはそのままになる点にも注意が必要。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0