# *************************************************************************** # * # * Copyright (C) 2004-2007, 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 ; $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:][\u309B\u309C\u30A0\u30FC\uFF70\uFF9E\uFF9F]] halfwidth-fullwidth); :: ( [[\ -~¢-£¥-¦¬\u0304₩。-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ│-○][~、-。がぎぐげござじずぜぞだぢづでどば-ぱび-ぴぶ-ぷべ-ぺぼ-ぽゔ\u3099-゛ゞァ-ヺー-ヾ][\u309B\u309C\u30A0\u30FC\uFF70\uFF9E\uFF9F]] ) ;