# ***************************************************************************
# *
# *  Copyright (C) 2004-2011, International Business Machines
# *  Corporation; Unicode, Inc.; and others.  All Rights Reserved.
# *
# ***************************************************************************
# File: Latin_Katakana.txt
# Generated from CLDR 
#
:: [[ᄀ-ᄒᄚᄡ\u1160-ᅵᆪᆬ-ᆭᆰ-ᆵ←-↓│■○\u3000-。「-」\u3099-\u309Aァ-ロワヲ-ヴヷヺ-ー!-~¢-₩][',.A-Za-z~À-ÖØ-öø-ďĒ-ĥĨ-İĴ-ķĹ-ľŃ-ňŌ-őŔ-ťŨ-žƠ-ơƯ-ưǍ-ǜǞ-ǣǦ-ǭǰǴ-ǵǸ-țȞ-ȟȦ-ȳ\u0304Ӣ-ӣӮ-ӯḀ-ẙẠ-ỹᾱᾹῑῙῡῩK-Å]] ;
:: [:Latin:] fullwidth-halfwidth ();
:: NFD (NFC);
:: Lower ();    # whenever transliterating from cased to uncased script, include this
$vowel = [aeiou] ;
$consonant = [bcdfghjklmnpqrstvwxyz] ;
$macron = \u0304 ;
$kana = [ぁ-ゔ] ;
$voice = [\u3099゛];
$semivoice = [\u309A゜];
$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 = [ワヰヱヲ]\u3099 ;
$voweled_basekana = [ァ-オカキクケコサシスセソタチッツテトナ-ノハヒフヘホマ-ヲヵヶ] ;
$n_quoter  =  [ア イ ウ エ オ ナ ニ ヌ ネ ノ ヤ ユ ヨ ン] ;
$small_y = [ャィュェョ] ;
$iteration = ゝ ;
'.' ↔ 。;
',' ↔ 、;
va ↔ ワ\u3099 ;
vi ↔ ヰ\u3099 ;
ve ↔ ヱ\u3099 ;
vo ↔ ヲ\u3099 ;
'~ka' ↔ ヵ ;
'~ke' ↔ ヶ ;
ya ← '~'ャ;
yi ← '~'ィ ;
yu ← '~'ュ;
ye ← '~'ェ;
yo ← '~'ョ;
a ↔ ア ;
b | '~' ← ヒ \u3099} $small_y ;
by } $vowel → ヒ\u3099 | '~y' ;
ba ↔ ハ\u3099 ;
bi ↔ ヒ\u3099 ;
bu ↔ フ\u3099 ;
be ↔ ヘ\u3099 ;
bo ↔ ホ\u3099 ;
c } i → | s ;
c } e → | s ;
da ↔ タ\u3099 ;
di ↔ テ\u3099ィ ;
du ↔ テ\u3099ゥ ;
de ↔ テ\u3099 ;
do ↔ ト\u3099 ;
dzu ↔ ツ\u3099 ;
dja ← チ\u3099ャ ;
dji'~i' ← チ\u3099ィ ; # liu
dju ← チ\u3099ュ ;
dje ← チ\u3099ェ ;
djo ← チ\u3099ョ ;
dji ↔ チ\u3099 ;
dj  } $vowel → チ\u3099 | '~y' ;
cha ← チャ ;
chi'~i' ← チィ ; # liu
chu ← チュ ;
che ← チェ ;
cho ← チョ ;
chi ↔ チ ;
ch } $vowel → チ | '~y' ;
e ↔ エ ;
g | '~' ← キ\u3099} $small_y ;
gy  } $vowel → キ\u3099 | '~y' ;
ga ↔ カ\u3099 ;
gi ↔ キ\u3099 ;
gu ↔ ク\u3099 ;
ge ↔ ケ\u3099 ;
go ↔ コ\u3099 ;
i ↔ イ ;
ja ↔ シ\u3099ャ ;
ji'~i' ← シ\u3099ィ ; # liu
ju ↔ シ\u3099ュ ;
je ↔ シ\u3099ェ ;
jo ↔ シ\u3099ョ ;
ji ↔ シ\u3099 ;
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 | '~' ← ヒ\u309A } $small_y ;
py  } $vowel → ヒ\u309A | '~y' ;
pa ↔ ハ\u309A ;
pi ↔ ヒ\u309A ;
pu ↔ フ\u309A ;
pe ↔ ヘ\u309A ;
po ↔ ホ\u309A ;
h | '~' ← ヒ } $small_y ;
hy  } $vowel → ヒ | '~y' ;
ha ↔ ハ ;
hi ↔ ヒ ;
hu ↔ ヘゥ ;
he ↔ ヘ ;
ho ↔ ホ ;
fa ↔ ファ ;
fi ↔ フィ ;
fe ↔ フェ ;
fo ↔ フォ ;
fu ↔ フ ;
r | '~' ← リ } $small_y ;
ry  } $vowel → リ | '~y' ;
ra ↔ ラ ;
ri ↔ リ ;
ru ↔ ル ;
re ↔ レ ;
ro ↔ ロ ;
za ↔ サ\u3099 ;
zi ↔ セ\u3099ィ ;
zu ↔ ス\u3099 ;
ze ↔ セ\u3099 ;
zo ↔ ソ\u3099 ;
sa ↔ サ ;
si ↔ セィ ;
su ↔ ス ;
se ↔ セ ;
so ↔ ソ ;
sha ← シャ ;
shi'~i' ← シィ ; # liu
shu ← シュ ;
she ← シェ ;
sho ← ショ ;
shi ↔ シ ;
sh } $vowel → シ | '~y' ;
ta ↔ タ ;
ti ↔ ティ ;
tu ↔ テゥ ;
te ↔ テ ;
to ↔ ト ;
tsu ↔ ツ ;
vu ↔ ウ\u3099 ;
u ↔ ウ ;
wa ↔ ワ ;
wi ↔ ヰ ;
wu → ウ ;
we ↔ ヱ ;
wo ↔ ヲ ;
ya ↔ ヤ ;
yi → イ ;
yu ↔ ユ ;
ye → エ ;
yo ↔ ヨ ;
s } sh → ッ ;
t } ch → ッ ;
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;
z } z ↔ ッ } $s_start $voice;
v } v ↔ ッ } $v_start;
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;
x } x → ッ ;
c } k → ッ ;
c } c → ッ ;
c } q → ッ ;
l } l → ッ ;
q } q → ッ ;
$macron ↔ ー ;
'~a' ↔ ァ ;
'~i' ↔ ィ ;
'~u' ↔ ゥ ;
'~e' ↔ ェ ;
'~o' ↔ ォ ;
'~tsu' ↔ ッ ;
'~wa' ↔ ヮ ;
'~ya' ↔ ャ ;
'~yi' → ィ ;
'~yu' ↔ ュ ;
'~ye' → ェ ;
'~yo' ↔ ョ ;
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
$voweled_basekana [\u3099 \u309A]? { h → ー ;
cy → セィ ;
dy → テ\u3099ィ ;
hy → ヒ ;
sy → セィ ;
ty → ティ ;
zy → セ\u3099ィ ;
h → ヘ ;
ch → チ;
sh → シ ;
dz → ツ\u3099 ;
dj → チ\u3099;
b → フ\u3099 ;
d → テ\u3099 ;
g → ク\u3099 ;
k → ク ;
m → ム ;
n'' ← ン } $n_quoter ;
n ↔ ン ;
p → フ\u309A ;
r → ル ;
s → ス ;
t → テ ;
y → イ ;
z → ス\u3099 ;
v → ウ\u3099 ;
f → フ;
j  → シ\u3099;
w → ウ;
ß → | ss ;
æ → | e ;
ð → | d ;
ø → | u ;
þ → | th ;
c → | k ;
l → | r ;
q → | k ;
x → | ks ;
'~' → ; # delete stray tildes between letters
[:Katakana:] { '' } [:Latin:] → ; # delete stray quotes between letters
:: NFC (NFD) ;
:: ([[:Katakana:][\u309B\u309C\u30A0\u30FC\uFF70\uFF9E\uFF9F]] halfwidth-fullwidth);
:: ( [[\ -~¢-£¥-¦¬\u0304₩。-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ│-○][~、-。がぎぐげござじずぜぞだぢづでどば-ぱび-ぴぶ-ぷべ-ぺぼ-ぽゔ\u3099-゛ゞァ-ヺー-ヾ][\u309B\u309C\u30A0\u30FC\uFF70\uFF9E\uFF9F]] ) ;