﻿ // -*- Coding: utf-8; -*-
//--------------------------------------------------------------------
// Copyright (c) 1999-2004, International Business Machines
// Corporation and others.  All Rights Reserved.
//--------------------------------------------------------------------
// THIS IS A MACHINE-GENERATED FILE
// Tool: dumpICUrules.bat
// Source: C:\work\DevICU4J\icu4j\src\com\ibm\icu\impl\data/Transliterator_Latin_Katakana.txt
// Date: Fri Mar  1 16:15:45 2002
//--------------------------------------------------------------------

// Latin_Katakana

t_Latn_Kana {
  Rule {
//--------------------------------------------------------------------
//--------------------------------------------------------------------
//--------------------------------------------------------------------

// note: a global filter is more efficient, but MUST include all source chars
//:: [\\u0000-\u007E \u3001\u3002 \u3099-\u309C \u30A1-\u30FC \uFF61-\uFF9F [:Latin:][:Katakana:] [:nonspacing mark:]] ;
// MINIMAL FILTER GENERATED FOR: Latin-Katakana
//## WARNING -- must add width filter, both here and below!!! ###
":: [[\u1100-\u1112\u111A\u1121\u1160-\u1175\u11AA\u11AC-\u11AD\u11B0-\u11B5\u2190-\u2193\u2502\u25A0\u25CB\u3000-\u3002\u300C-\u300D\u3099-\u309A\u30A1-\u30ED\u30EF\u30F2-\u30F4\u30F7\u30FA-\u30FC\uFF01-\uFF5E\uFFE0-\uFFE6][',.A-Za-z~\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u010F\u0112-\u0125\u0128-\u0130\u0134-\u0137\u0139-\u013E\u0143-\u0148\u014C-\u0151\u0154-\u0165\u0168-\u017E\u01A0-\u01A1\u01AF-\u01B0\u01CD-\u01DC\u01DE-\u01E3\u01E6-\u01ED\u01F0\u01F4-\u01F5\u01F8-\u021B\u021E-\u021F\u0226-\u0233\u0304\u04E2-\u04E3\u04EE-\u04EF\u1E00-\u1E99\u1EA0-\u1EF9\u1FB1\u1FB9\u1FD1\u1FD9\u1FE1\u1FE9\u212A-\u212B]] ;"

":: [:Latin:] fullwidth-halfwidth ();"
":: NFD (NFC);"
":: Lower ();"    // whenever transliterating from cased to uncased script, include this
// :: NFD () ;   # this would catch the odd cases where a lowercase is not in NFD, but none are important for Japanese

// Uses modified Hepburn. Small changes to make  unambiguous.

// | Kunrei-shiki: Hepburn/MHepburn
// | ------------------------------
// | si: shi
// | si ~ya: sha
// | si ~yu: shu
// | si ~yo: sho
// | zi: ji
// | zi ~ya: ja
// | zi ~yu: ju
// | zi ~yo: jo
// | ti: chi
// | ti ~ya: cha
// | ti ~yu: chu
// | ti ~yu: cho
// | tu: tsu
// | di: ji/dji
// | du: zu/dzu
// | hu: fu

// | For foreign words:
// | -----------------
// | se ~i si
// | si ~e she
// | 
// | ze ~i zi
// | zi ~e je
// | 
// | te ~i ti
// | ti ~e che
// | te ~u tu
// | 
// | de ~i di
// | de ~u du
// | de ~i di
// | 
// | he ~u: hu
// | hu ~a fa
// | hu ~i fi
// | hu ~e he
// | hu ~o ho

// Most small forms are generated, but if necessary
// explicit small forms are given with ~a, ~ya, etc.

//------------------------------------------------------
// Variables

"$vowel = [aeiou] ;"
"$consonant = [bcdfghjklmnpqrstvwxyz] ;"
"$macron = \u0304 ;"

// Variables used for doubled-consonants with tsu

"$kana = [\u3041-\u3094] ;"

"$voice = [\u3099\u309B];"
"$semivoice = [\u309A\u309C];"

"$k_start = [カキクケコかきくけこ] ;"

"$s_start = [サシスセソさしすせそ] ;"

"$j_start = [シし] $voice ;"

"$t_start = [タチツテトたちつてと] ;"

"$n_start = [ナニヌネノンなにぬねの] ;"

"$h_start = [ハヒヘホはひへほ] ;"
"$f_start = [フふ] ;"

"$m_start = [マミムメモまみむめも] ;"

"$y_start = [ヤユヨやゆよ] ;"

"$r_start = [ラリルレロらりるれろ] ;"

"$w_start = [ワヰヱヲわゐゑを] ;"

"$v_start = [ワヰヱヲ]゙ ;"

// if ン is followed by $n_quoter, then it needs an
// apostrophe after its romaji form to disambiguate it.
// e.g., ン ア ! =  ナ, so represent as "n'a", not "na".

"$n_quoter  =  [ア イ ウ エ オ ナ ニ ヌ ネ ノ ヤ ユ ヨ ン] ;"

"$small_y = [ャィュェョ] ;"

"$iteration = \u309D ;"

//------------------------------------------------------
// katakana rules

// Punctuation

"'.' <> 。;"
"',' <> 、;"
// ' ' } [a-z] > ; # delete spaces before latin
// ' ' < [^' '\u30A0-\u30ff] {} ['\u30A0-\u30ff] ; #insert spaces before hiragana

// Iteration Mark
// Copy previous letter & marks

// TODO
// | $1 $1 < ($kana [[:M:]$voice$semivoice]?) $iteration

// Specials for katakana -- not shared with hiragana

"va <> ヷ ;"
"vi <> ヸ ;"
"ve <> ヹ ;"
"vo <> ヺ ;"
"'~ka' <> ヵ ;"
"'~ke' <> ヶ ;"

// ~~~ begin shared rules ~~~

//special

"ya < '~'ャ;"
"yi < '~'ィ ;"
"yu < '~'ュ;"
"ye < '~'ェ;"
"yo < '~'ョ;"

//normal

"a <> ア ;"

"b | '~' < ヒ ゙} $small_y ;"
"by } $vowel > ビ | '~y' ;"

"ba <> バ ;"
"bi <> ビ ;"
"bu <> ブ ;"
"be <> ベ ;"
"bo <> ボ ;"

"c } i > | s ;"
"c } e > | s ;"

"da <> ダ ;"
"di <> ディ ;"
"du <> デゥ ;"
"de <> デ ;"
"do <> ド ;"
"dzu <> ヅ ;"
"dja < ヂャ ;"
"dji'~i' < ヂィ ;" // liu
"dju < ヂュ ;"
"dje < ヂェ ;"
"djo < ヂョ ;"
"dji <> ヂ ;"
"dj  } $vowel > ヂ | '~y' ;"

// TODO: QUESTION: use ĵĴżŻ instead of dj, dz

"cha < チャ ;"
"chi'~i' < チィ ;" // liu
"chu < チュ ;"
"che < チェ ;"
"cho < チョ ;"
"chi <> チ ;"
"ch } $vowel > チ | '~y' ;"

"e <> エ ;"

"g | '~' < ギ} $small_y ;"
"gy  } $vowel > ギ | '~y' ;"

"ga <> ガ ;"
"gi <> ギ ;"
"gu <> グ ;"
"ge <> ゲ ;"
"go <> ゴ ;"

"i <> イ ;"

// j  } $vowel > ジ | '~y' ;

"ja <> ジャ ;"
"ji'~i' < ジィ ;" // liu
"ju <> ジュ ;"
"je <> ジェ ;"
"jo <> ジョ ;"
"ji <> ジ ;"

"k | '~' < キ} $small_y ;"
"ky  } $vowel > キ | '~y' ;"

"ka <> カ ;"
"ki <> キ ;"
"ku <> ク ;"
"ke <> ケ ;"
"ko <> コ ;"

"m | '~' < ミ} $small_y ;"
"my  } $vowel > ミ | '~y' ;"

"ma <> マ ;"
"mi <> ミ ;"
"mu <> ム ;"
"me <> メ ;"
"mo <> モ ;"

"m } [pbfv] > ン ;"

"n | '~' < ニ } $small_y ;"
"ny  } $vowel > ニ | '~y' ;"

"na <> ナ ;"
"ni <> ニ ;"
"nu <> ヌ ;"
"ne <> ネ ;"
"no <> ノ ;"

"o <> オ ;"

"p | '~' < ピ } $small_y ;"
"py  } $vowel > ピ | '~y' ;"

"pa <> パ ;"
"pi <> ピ ;"
"pu <> プ ;"
"pe <> ペ ;"
"po <> ポ ;"

"h | '~' < ヒ } $small_y ;"
"hy  } $vowel > ヒ | '~y' ;"

"ha <> ハ ;"
"hi <> ヒ ;"
"hu <> ヘゥ ;"
"he <> ヘ ;"
"ho <> ホ ;"

// f | '~' < フ } $small_y ;
// f } $vowel > フ | '~' ;

"fa <> ファ ;"
"fi <> フィ ;"
"fe <> フェ ;"
"fo <> フォ ;"
"fu <> フ ;"

"r | '~' < リ } $small_y ;"
"ry  } $vowel > リ | '~y' ;"

"ra <> ラ ;"
"ri <> リ ;"
"ru <> ル ;"
"re <> レ ;"
"ro <> ロ ;"

"za <> ザ ;"
"zi <> ゼィ ;"
"zu <> ズ ;"
"ze <> ゼ ;"
"zo <> ゾ ;"

"sa <> サ ;"
"si <> セィ ;"
"su <> ス ;"
"se <> セ ;"
"so <> ソ ;"

"sha < シャ ;"
"shi'~i' < シィ ;" // liu
"shu < シュ ;"
"she < シェ ;"
"sho < ショ ;"
"shi <> シ ;"
"sh } $vowel > シ | '~y' ;"

"ta <> タ ;"
"ti <> ティ ;"
"tu <> テゥ ;"
"te <> テ ;"
"to <> ト ;"

"tsu <> ツ ;"

// v  } $vowel > ヴ | '~' ;

//'v~a' < ヴァ ; # liu
//'v~i' < ヴィ ; # liu
//'v~e' < ヴェ ; # liu
//'v~o' < ヴォ ; # liu
"vu <> ヴ ;"

"u <> ウ ;"

// w  } $vowel > ウ | '~' ;

"wa <> ワ ;"
"wi <> ヰ ;"
"wu > ウ ;"
"we <> ヱ ;"
"wo <> ヲ ;"

"ya <> ヤ ;"
"yi > イ ;"
"yu <> ユ ;"
"ye > エ ;"
"yo <> ヨ ;"

// double consonants

//specials
"s } sh > ッ ;"
"t } ch > ッ ;"

//voiced

"j } j <> ッ } $j_start ;"
"b } b <> ッ } [$h_start$f_start] $voice;"
"d } d <> ッ } $t_start $voice;"
"g } g <> ッ } $k_start $voice;"
"p } p <> ッ } [$h_start$f_start] $semivoice;"
// v } v <> ッ } [ワヰウヱヲう]  $voice ;
"z } z <> ッ } $s_start $voice;"
"v } v <> ッ } $v_start;"

// normal

"k } k <> ッ } $k_start ;"
"m } m <> ッ } $m_start ;"
"n } n <> ッ } $n_start ;"
"h } h <> ッ } $h_start ;"
"f } f <> ッ } $f_start ;"
"r } r <> ッ } $r_start ;"
"t } t <> ッ } $t_start ;"
"s } s <> ッ } $s_start ;"

"w } w  <> ッ } $w_start;"
"y } y <> ッ } $y_start;"

// completeness 
"x } x > ッ ;"
"c } k > ッ ;"
"c } c > ッ ;"
"c } q > ッ ;"
"l } l > ッ ;"
"q } q > ッ ;"
// y } y > ッ ;
// w } w > ッ ;

// prolonged vowel mark. this indicates a doubling of
// the preceding vowel sound

//a < a { ー ; # liu
//e < e { ー ; # liu
//i < i { ー ; # liu
//o < o { ー ; # liu
//u < u { ー ; # liu

"$macron <> ー ;"

// small forms

"'~a' <> ァ ;"
"'~i' <> ィ ;"
"'~u' <> ゥ ;"
"'~e' <> ェ ;"
"'~o' <> ォ ;"
"'~tsu' <> ッ ;"
"'~wa' <> ヮ ;"
"'~ya' <> ャ ;"
"'~yi' > ィ ;"
"'~yu' <> ュ ;"
"'~ye' > ェ ;"
"'~yo' <> ョ ;"

// iteration marks
// TODO: make more accurate

"j $1 < sh (y* $vowel) {ヽ$voice ;"
"dj $1 < ch (y* $vowel) {ヽ$voice ;"
"dz $1 < ts (y* $vowel) {ヽ$voice ;"

"g $1 < k (y* $vowel) {ヽ$voice ;"
"z $1 < s (y* $vowel) {ヽ$voice ;"
"d $1 < t (y* $vowel) {ヽ$voice ;"
"h $1 < b (y* $vowel) {ヽ$voice ;"
"v $1 < w (y* $vowel) {ヽ$voice ;"

"sh $1 < sh (y* $vowel) {ヽ$voice ;"
"j $1 < j (y* $vowel) {ヽ$voice ;"
"ch $1 < ch (y* $vowel) {ヽ$voice ;"
"dj $1 < dj(y* $vowel) {ヽ$voice ;"
"ts $1 < ts (y* $vowel) {ヽ$voice ;"
"dz $1 < dz (y* $vowel) {ヽ$voice ;"

"$1 < ($consonant y* $vowel) {ヽ$voice? ;"
"$1 < (.) {ヽ $voice? ;" // otherwise repeat last character
 "< ヽ $voice? ;" // delete if no characters found

// h- rule: lengthens vowel if not followed by a vowel

"[aeiou] } h > ー ;"

// one-way latin- > kana rules. these do not occur in
// well-formed romaji representing actual japanese text.
// their purpose is to make all romaji map to kana of
// some sort.

// the following are not really necessary, but produce
// slightly more natural results.

"cy > セィ ;"
"dy > ディ ;"
"hy > ヒ ;"
"sy > セィ ;"
"ty > ティ ;"
"zy > ゼィ ;"

"h > ヘ ;"

// isolated consonants listed here so as not to mask
// longer rules above.

"ch > チ;"
"sh > シ ;"
"dz > ヅ ;"
"dj > ヂ;"

"b > ブ ;"
"d > デ ;"
"g > グ ;"
"k > ク ;"
"m > ム ;"
"n'' < ン } $n_quoter ;"
"n <> ン ;"
"p > プ ;"
"r > ル ;"
"s > ス ;"
"t > テ ;"
"y > イ ;"
"z > ズ ;"
"v > ヴ ;"

"f > フ;"
"j  > ジ;"
"w > ウ;"

"ß > | ss ;"
"æ > | e ;"
"ð > | d ;"
"ø > | u ;"
"þ > | th ;"

// simple substitutions using backup

"c > | k ;"
"l > | r ;"
"q > | k ;"
"x > | ks ;"

// ~~~ END shared rules ~~~

//------------------------------------------------------
// Final cleanup

"'~' > ;" // delete stray tildes between letters
"[:Katakana:] { '' } [:Latin:] > ;" // delete stray quotes between letters
// [\u02BE[:Nonspacing Mark:]-[\u3099-\u309C]] > ; # delete any non-spacing marks that we didn't use

":: NFC (NFD) ;" 
":: ([:Katakana:] halfwidth-fullwidth);"

// note: a global filter is more efficient, but MUST include all source chars!!
//:: ([\\u0000-\u007E \u3001\u3002 \u3099-\u309C \u30A1-\u30FC \uFF61-\uFF9F [:Latin:][:Katakana:] [:nonspacing mark:]]);
// MINIMAL FILTER GENERATED FOR: Latin-Katakana BACKWARD
":: ( [[\\\ -~\u00A2-\u00A3\u00A5-\u00A6\u00AC\u0304\u20A9\uFF61-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC\uFFE8-\uFFEE][~\u3001-\u3002\u304C\u304E\u3050\u3052\u3054\u3056\u3058\u305A\u305C\u305E\u3060\u3062\u3065\u3067\u3069\u3070-\u3071\u3073-\u3074\u3076-\u3077\u3079-\u307A\u307C-\u307D\u3094\u3099-\u309B\u309E\u30A1-\u30FA\u30FC-\u30FE]] ) ;"

// eof
  }
}
