﻿# ***************************************************************************
# *
# *  Copyright (C) 2004-2016, International Business Machines
# *  Corporation; Unicode, Inc.; and others.  All Rights Reserved.
# *
# ***************************************************************************
# File: it_ja.txt
# Generated from CLDR 
#

# Italian to Katakana Transliteration Table for ICU
# Based on:
#   "現代イタリア語入門" (大学書林, 1974. ISBN:978-4475017176)
#   http://ja.wikipedia.org/wiki/%E3%82%A4%E3%82%BF%E3%83%AA%E3%82%A2%E8%AA%9E
::NFD(NFC);
::Lower();
::[:Latin:] fullwidth-halfwidth();
#
#
# Variables.
$vowel = [aeiou];
$consonant = [bcdfghjklmnpqrstvwxyz];
#
#
# Ignore apostrophe.
($consonant) \' → | $1;
\' → ;
#
#
cqu → ック;
cc → ッ | c;
ca → カ;
ッ { cia → チャ;
cio → チョ;
ci → チ;
cu → ク;
ce → チェ;
co → コ;
#
#
cha → シャ;
chi → キ;
chu → チュ;
che → ケ;
cho → チョ;
#
#
gg → ッ | g;
ghi → ギ;
ghe → ゲ;
ghu → グ;
gli → | li;
gna → ニャ;
gni → ニ;
gnu → ヌ;
gne → ニェ;
gno → ニョ;
#
#
ga → ガ;
gia → ジャ;
giu → ジュ;
gio → ジョ;
gi → ジ;
gu → グ;
ge → ジェ;
go → ゴ;
#
#
rr → ッ | r;
ra → ラ;
ri → リ;
ru → ル;
re → レ;
ro → ロ;
#
#
ll → ッ | l;
la → ラ;
li → リ;
lu → ル;
le → レ;
lo → ロ;
#
#
tt → ッ | t;
ta → タ;
ti → ティ;
thi → ティ;
tu → トゥ;
thu → トゥ;
te → テ;
the → テ;
to → ト;
tho → ト;
tzu → | ッツ;
tz → | zz;
#
#
dd → ッ | d;
da → ダ;
di → ディ;
du → ドゥ;
de → デ;
do → ド;
#
#
ma → マ;
mi → ミ;
mu → ム;
me → メ;
mo → モ;
m } $consonant → ン;
#
#
na → ナ;
ni → ニ;
nu → ヌ;
ne → ネ;
no → ノ;
#
#
ff → ッ | f;
fa → ファ;
fi → フィ;
fu → フ;
fe → フェ;
fo → フォ;
#
#
bb → ッ | b;
ba → バ;
bi → ビ;
bu → ブ;
be → ベ;
bo → ボ;
#
#
pp → ッ | p;
pa → パ;
pi → ピ;
pu → プ;
pe → ペ;
po → ポ;
#
#
vv → ッ | v;
va → ヴァ;
vi → ヴィ;
vu → ヴ;
ve → ヴェ;
vo → ヴォ;
#
#
sa } nt[ao] → サ;
ss → ッ | \~s;
#
#
# 's' is voiced before [bdglmnrv].
sb → ズ | b;
sd → ズ | d;
sg → ズ | g;
sl → ズ | l;
sm → ズ | m;
sn → ズ | n;
sr → ズ | r;
sv → ズ | v;
#
#
# Force 's' after a consonat to be unvoiced.
($consonant) s } $vowel → | $1 \~ s;
\~sa → サ;
\~si → シ;
\~su → ス;
\~se → セ;
\~so → ソ;
#
#
# 's' at the beginning is usually unvoiced.
[:^Letter:] { sa → サ;
[:^Letter:] { si → シ;
[:^Letter:] { su → ス;
[:^Letter:] { se → セ;
[:^Letter:] { so → ソ;
#
#
# Otherwise voiced 's' are common.
sa → ザ;
si → ジ;
su → ズ;
se → ゼ;
so → ゾ;
#
#
scia → シャ;
sci → シ;
sce → シェ;
#
#
zz → ッ | \~z;
#
# Force 'z' after a consonat to be unvoiced.
($consonant) z → | $1 \~z;
\~za → ツァ;
\~zi → ツィ;
\~zu → ツ;
\~ze → ツェ;
\~zo → ツォ;
#
#
# Otherwise voiced 'z' are common except for 'zi'.
za → ザ;
[:^Letter:] { zi → ジ;
zi → ツィ;
zu → ズ;
ze → ゼ;
zo → ゾ;
#
#
ja → ヤ;
je → イェ;
j → | i;
#
#
# Standalone vowels and consonants.
a → ア;
i → イ;
u → ウ;
e → エ;
o → オ;
#
#
b → ブ;
c → ク;
d → ド;
f → フ;
g → グ;
h → ;
k → | c;
l → ル;
m → ム;
n → ン;
p → プ;
q → | c;
r → ル;
s → ス;
t → ト;
v → ヴ;
x → | cs;
y → | i;
z → ツ;
#
#
# word delimiter of transliterated foreign phrase is '・'.
' ' → ・;
#
#
# Latin hyphen should be transliterated to U+30A0 (KATAKANA-HIRAGANA
# DOUBLE HYPHEN), ideally. But since the character isn't supported by
# many fonts or softwares, we use U+FF1D (FULLWIDTH EQUALS SIGN),
# which is widely used as "double hyphen".
#
\- → ＝;
#
#
[:nonspacing mark:] → ;
::NFC(NFD);

