促音(っ)を考慮する改良

mainメソッドの書き換え

Hira2Roma01.javaに次の部分を追加してHira2Roma02.javaにします。

(1)はこの色の部分を追加します。mainメソッドの中です。

プログラム名 Hira2Roma02.java の一部 (1)mainに追加

        hiralines = kanayoui("hiragana2.txt");
        for ( String hira : hiralines ){
            String roma = trans(hira,hira2romamap);
            String roma2 = sokuon(roma);
            System.out.println(hira);
            System.out.println(roma);
            System.out.println(roma2);
        }

ひらがなのファイルも作り直し

ひらがなのファイルの名前をが変わっています。このファイルも新たに作ります。促音を含むものにします。

ファイル名 hiragana2.txt

かっこ
とっさのきっく
あっちこっち

「_」の部分を書き換える新しいメソッド

さらにメソッドを追加します。以下をまるごとmainやtransと同様なメソッドとして並べます。

プログラム名 Hira2Roma02.java の一部 (2)メソッドの一つとして追加

    public static String sokuon(String line){
        String result = "";
        String r1,r2;
        for (int i=0; line.length()>i; i++){
            r1 = line.substring(i,i+1);
            if (r1.equals("_")){
                if (line.length()>(i+1)) {
                    r2 = line.substring(i+1,i+2);
                    if (r2.equals("c")) r2="t";
                    result += r2;
                }
                else{
                    result += r1;
                }
            }
            else{
                result += r1;
            }
        }
        return result;
    }

実行結果

かっこ
ka_ko
kakko
とっさのきっく
to_sa_noki_ku
tossanokikku
あっちこっち
a_chiko_chi
atchikotchi

「あっちこっち」は「最初の子音字を重ねて表わす」という決まりからすると「acchikocchi」ですが、「ち」をtiでなくて「chi」にしたのと同じ理由から「tchi」にしています。

ローマ字のつづり方 (昭和二十九年内閣告示)

文部科学省のウェブページに、昭和二十九年十二月九日に内閣告示第一号として示された「ローマ字のつづり方」が掲載されています。以下に引用します。背景色が塗ってあるのはHira2Roma01.javaで採用したつづりと、Hira2Roma03.javaで採用する予定の拗音です。

まえがき

1 一般に国語を書き表わす場合は、第1表に掲げたつづり方によるものとする。

2 国際的関係その他従来の慣例をにわかに改めがたい事情にある場合に限り、第2表に掲げたつづり方によつてもさしつかえない。

3 前二項のいずれの場合においても、おおむねそえがきを適用する。

第1表 〔( )は重出を示す。〕

a i u e o
ka ki ku ke ko kya kyu kyo
sa si su se so sya syu syo
ta ti tu te to tya tyu tyo
na ni nu ne no nya nyu nyo
ha hi hu he ho hya hyu hyo
ma mi mu me mo mya myu myo
ya (i) yu (e) yo
ra ri ru re ro rya ryu ryo
wa (i) (u) (e) (o)
ga gi gu ge go gya gyu gyo
za zi zu ze zo zya zyu zyo
da (zi) (zu) de do (zya) (zyu) (zyo)
ba bi bu be bo bya byu byo
pa pi pu pe po pya pyu pyo

第2表

sha shi shu sho
tsu
cha chi chu cho
fu
ja ji ju jo
di du dya dyu dyo
kwa
gwa
wo

そえがき

前表に定めたもののほか、おおむね次の各項による。

1 はねる音「ン」はすべてnと書く。

2 はねる音を表わすnと次にくる母音字またはyとを切り離す必要がある場合には、nの次に’を入れる。

3 つまる音は、最初の子音字を重ねて表わす。

4 長音は母音字の上に^をつけて表わす。なお、大文字の場合は母音字を並べてもよい。

5 特殊音の書き表わし方は自由とする。

6 文の書きはじめ、および固有名詞は語頭を大文字で書く。なお、固有名詞以外の名詞の語頭を大文字で書いてもよい。

課題

1

Hira2Roma02.javaをつくりなさい。変換するデータのファイルは前回のhiragana.txtとは別に、hiragana2.txtをつくること。