﻿# ***************************************************************************
# *
# *  Copyright (C) 2004-2006, International Business Machines
# *  Corporation; Unicode, Inc.; and others.  All Rights Reserved.
# *
# ***************************************************************************
# File: Latin_Katakana.txt
# Generated from CLDR: Thu Jul 20 16:27:17 PDT 2006
#
:: [[ᄀ-ᄒᄚᄡ\u1160-ᅵᆪᆬ-ᆭᆰ-ᆵ<-↓│■○\u3000-。「-」\u3099-\u309Aァ-ロワヲ-ヴヷヺ-ー！-～￠-￦][',.A-Za-z~À-ÖØ-öø-ďĒ-ĥĨ-İĴ-ķĹ-ľŃ-ňŌ-őŔ-ťŨ-žƠ-ơƯ-ưǍ-ǜǞ-ǣǦ-ǭǰǴ-ǵǸ-țȞ-ȟȦ-ȳ\u0304Ӣ-ӣӮ-ӯḀ-ẙẠ-ỹᾱᾹῑῙῡῩK-Å]] ;
:: [: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 ;
$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
[aeiou] } 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:] halfwidth-fullwidth);
:: ( [[\ -~¢-£¥-¦¬\u0304₩｡-ﾾￂ-ￇￊ-ￏￒ-ￗￚ-ￜ￨-￮][~、-。がぎぐげござじずぜぞだぢづでどば-ぱび-ぴぶ-ぷべ-ぺぼ-ぽゔ\u3099-゛ゞァ-ヺー-ヾ]] ) ;
