﻿# ***************************************************************************
# *
# *  Copyright (C) 2004-2016, International Business Machines
# *  Corporation; Unicode, Inc.; and others.  All Rights Reserved.
# *
# ***************************************************************************
# 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);

