﻿# © 2016 and later: Unicode, Inc. and others.
# License & terms of use: http://www.unicode.org/copyright.html#License
#
# File: ja_Latn_ko.txt
# Generated from CLDR
#

# Japanese (Rōmaji) to Korean (Hangul) transliteration table for ICU.
# Can be run in sequence after e.g. Katakana-Latin.
#
# Based on 문교부 고시 제85-11호 (1986. 1. 7.) 외래어 표기법
# For background info, see http://ko.wikisource.org/wiki/문교부_고시_제85-11호
# and http://ko.wikipedia.org/wiki/외래어_표기법 (外來語表記法)
::NFD(NFC);
::[:Latin:] Lower();
$consonant = [ᄀᄁᄂᄃᄄᄅᄆᄇᄈᄉᄊᄋᄌᄍᄎᄏᄐᄑᄒ];
$lengthMarker = [\u0302\u0304];
#
#
# Drop hyphens and apostrophes.
[\-\'] → ;
#
#
# Turn long /e:/ into diphthong /ei/.
e $lengthMarker → | e i ;
#
#
# Ignore vowel length everywhere else.
$lengthMarker → ;
#
#
# Vowels.
#
[^$consonant] { ( [aiueoyw] ) → ᄋ | $1 ;  # Supply a required null initial.
a → ᅡ ;
i\~e → | ie ;  # イェ
i → ᅵ ;
u\~a → | wa ;  # クァ, グァ
u\~i → ᅱ ;     # ウィ, クィ, etc.
u\~e → ᅰ ;     # ウェ
u\~o → ᅯ ;     # ウォ
u → ᅮ ;
e → ᅦ ;
o → ᅩ ;
#
#
# Geminates.
#
kk → ᆺ | k ;
ss → ᆺ | s ;
tt → ᆺ | t ;
tc → ᆺ | c ;
cc → ᆺ | c ;
hh → ᆺ | h ;
ff → ᆺ | f ;
rr → ᆺ | r ;
gg → ᆺ | g ;
zz → ᆺ | z ;
jj → ᆺ | j ;
dd → ᆺ | d ;
bb → ᆺ | b ;
vv → ᆺ | v ;
pp → ᆺ | p ;
#
#
# Consonants.
#
' ' { k → | g ;   # Beginning of a word (after space).
^k      → | g ;   # Beginning of the string.
k → ᄏ ;
#
#
sh → | sy ;
su → 스 ;
s → ᄉ ;
#
#
te\~     → | t ;   # テュ
to\~     → | t ;   # トゥ
tsu\~    → | ch ;  # ツァ, ツィ, etc.
tsu → 쓰 ;
ts       → | ch ;
' ' { t  → | d ;
^t       → | d ;
t → ᄐ ;
' ' { ch → | j ;
^ch      → | j ;
ch → ᄎ ;
#
#
n } [\ \'bcdfghjkmnprstwz] → ᆫ ;
n$ → ᆫ ;
n → ᄂ ;
#
#
h → ᄒ ;
fu\~ → | p ;   # フュ
fu   → | hu ;
f    → | p ;
#
#
m } [bmp] → ᆫ ;
m → ᄆ ;
#
#
ya → ᅣ ;
yi → ᅵ ;  # Added for convenience, after shi.
yu → ᅲ ;
ye → ᅨ ;
yo → ᅭ ;
#
#
r → ᄅ ;
#
#
wa → ᅪ ;
w → ;
#
#
g → ᄀ ;
#
#
zu → 즈 ;
z → | j ;
j → ᄌ ;
#
#
de\~  → | d ;   # デュ
dji\~ → | j ;   # ヂァ, ヂゥ, etc.
dji   → | ji ;  # ヂ
do\~  → | d ;   # ドゥ
dzu\~ → | j ;   # ヅァ, ヅィ, etc.
dzu   → | zu ;  # ヅ
dz    → | j ;
d → ᄃ ;
#
#
b → ᄇ ;
vu\~ → | b ;  # ヴァ, etc.
v    → | b ;
#
#
p → ᄑ ;
#
#
::NFC(NFD);

