From 6488a2cabea50250330253ee32ebd85574498fb3 Mon Sep 17 00:00:00 2001 From: Philipp Reh Date: Sat, 1 Aug 2009 20:13:09 +0200 Subject: [PATCH] Changed kana2romaji. --- kana2romaji.cpp | 31 +++++++++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/kana2romaji.cpp b/kana2romaji.cpp index 646e47c..7024f3f 100644 --- a/kana2romaji.cpp +++ b/kana2romaji.cpp @@ -374,7 +374,9 @@ void kana2romaji(const string& kana, string& rom) { string const pred = rom.substr(pos - 3, 3); if(pred == "chi" || pred == "shi" || - pred == "dzi" + pred == "dzi" || + pred == "tsu" || + pred == "shi" ) { remove_quote_1(pos, rom); pos -= 2; @@ -416,6 +418,31 @@ void kana2romaji(const string& kana, string& rom) { remove_quote_1(pos, rom); pos -= 2; } + else if( + pred == "su" || + pred == "zu" || + pred == "te" || + pred == "de" || + pred == "ku" || + pred == "gu" || + pred == "mu" + ) + { + rom[pos - 1] = 'w'; + rom.erase(pos); + } + else if( + pred == "to" || + pred == "do" + ) + { + rom[pos - 1] = 'h'; + rom.erase(pos); + } + else + { + cout << "Encountered a special character in " << kana << " but don't know what to do with it.\n"; + } } else { @@ -437,7 +464,7 @@ void kana2romaji(const string& kana, string& rom) { { if(pos == 0) { - cout << "ー is the first letter of a word. Don't know how to translate this.\n"; + cout << "ー is the first letter of " << kana << ". Don't know how to translate this.\n"; rom.erase(pos); --pos; } -- 2.30.2