﻿# ***************************************************************************
# *
# *  Copyright (C) 2004-2006, 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Ӣ-ӣӮ-ӯḀ-ẙẠ-ỹᾱᾹῑῙῡῩK-Å]] ;
:: [: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-゛ゞァ-ヺー-ヾ]] ) ;
