+
+# Follows the Ministry of Culture and Tourism romanization: see http://www.korea.net/korea/kor_loca.asp?code=A020303
+# http://www.unicode.org/cldr/transliteration_guidelines.html#Korean
+#- N.B. DO NOT put any filters, NFD, etc. here -- those are aliased in
+#- the INDEX file. This transliterator is, by itself, not
+#- instantiated. It is used as a part of Latin-Jamo, Latin-Hangul, or
+#- inverses thereof.
+# Transliteration from Latin characters to Korean script is done in
+# two steps: Latin to Jamo, then Jamo to Hangul. The Jamo-Hangul
+# transliteration is done algorithmically following Unicode 3.0
+# section 3.11. This file implements the Latin to Jamo
+# transliteration using rules.
+# Jamo occupy the block 1100-11FF. Within this block there are three
+# groups of characters: initial consonants or choseong (I), medial
+# vowels or jungseong (M), and trailing consonants or jongseong (F).
+# Standard Korean syllables are of the form I+M+F*.
+# Section 3.11 describes the use of 'filler' jamo to convert
+# nonstandard syllables to standard form: the choseong filler 115F and
+# the junseong filler 1160. In this transliterator, we will not use
+# 115F or 1160.
+# We will, however, insert two 'null' jamo to make foreign words
+# conform to Korean syllable structure. These are the null initial
+# consonant 110B (IEUNG) and the null vowel 1173 (EU). In Latin text,
+# we will use the separator in order to disambiguate strings,
+# e.g. "kan-ggan" (initial GG) vs. "kanggan" (final NG + initial G).
+# We will not use all of the characters in the jamo block. We will
+# only use the 19 initials, 21 medials, and 27 finals possessing a
+# jamo short name as defined in section 4.4 of the Unicode book.
+# Rules of thumb. These guidelines provide the basic framework
+# for the rules. They are phrased in terms of Latin-Jamo transliteration.
+# The Jamo-Latin rules derive from these, since the Jamo-Latin rules are
+# just context-free transliteration of jamo to corresponding short names,
+# with the addition of separators to maintain round-trip integrity
+# in the context of the Latin-Jamo rules.
+# A sequence of vowels:
+# - Take the longest sequence you can. If there are too many, or you don't
+# have a starting consonant, introduce a 110B necessary.
+# A sequence of consonants.
+# - First join the double consonants: G + G -→ GG
+# - In the remaining list,
+# -- If there is no preceding vowel, take the first consonant, and insert EU
+# after it. Continue with the rest of the consonants.
+# -- If there is one consonant, attach to the following vowel
+# -- If there are two consonants and a following vowel, attach one to the
+# preceeding vowel, and one to the following vowel.
+# -- If there are more than two consonants, join the first two together if you
+# can: L + G =→ LG
+# -- If you still end up with more than 2 consonants, insert EU after the
+# first one, and continue with the rest of the consonants.
+#----------------------------------------------------------------------
+# Variables
+# Some latin consonants or consonant pairs only occur as initials, and
+# some only as finals, but some occur as both. This makes some jamo
+# consonants ambiguous when transliterated into latin.
+# Initial only: IEUNG BB DD JJ R
+# Final only: BS GS L LB LG LH LM LP LS LT NG NH NJ
+# Initial and Final: B C D G GG H J K M N P S SS T