From 495c9b7e52e9b83e58e86c63658fbed260540597 Mon Sep 17 00:00:00 2001 From: Inari Listenmaa Date: Fri, 7 Feb 2020 11:00:37 +0100 Subject: [PATCH 01/35] (Kor) WIP: First draft of Korean RG. Not at all correct, just a minimal implementation that compiles. --- src/korean/AdjectiveKor.gf | 62 +++++ src/korean/AdverbKor.gf | 33 +++ src/korean/AllKor.gf | 6 + src/korean/AllKorAbs.gf | 6 + src/korean/CatKor.gf | 120 ++++++++++ src/korean/ConjunctionKor.gf | 97 ++++++++ src/korean/ConstructionKor.gf | 119 ++++++++++ src/korean/ExtendKor.gf | 8 + src/korean/GrammarKor.gf | 20 ++ src/korean/IdiomKor.gf | 47 ++++ src/korean/LangKor.gf | 4 + src/korean/LexiconKor.gf | 418 ++++++++++++++++++++++++++++++++++ src/korean/MissingKor.gf | 2 + src/korean/NounKor.gf | 190 ++++++++++++++++ src/korean/NumeralKor.gf | 4 + src/korean/ParadigmsKor.gf | 125 ++++++++++ src/korean/ParamKor.gf | 80 +++++++ src/korean/PhraseKor.gf | 29 +++ src/korean/QuestionKor.gf | 78 +++++++ src/korean/RelativeKor.gf | 22 ++ src/korean/ResKor.gf | 196 ++++++++++++++++ src/korean/SentenceKor.gf | 79 +++++++ src/korean/StructuralKor.gf | 171 ++++++++++++++ src/korean/SymbolKor.gf | 50 ++++ src/korean/VerbKor.gf | 138 +++++++++++ 25 files changed, 2104 insertions(+) create mode 100644 src/korean/AdjectiveKor.gf create mode 100644 src/korean/AdverbKor.gf create mode 100644 src/korean/AllKor.gf create mode 100644 src/korean/AllKorAbs.gf create mode 100644 src/korean/CatKor.gf create mode 100644 src/korean/ConjunctionKor.gf create mode 100644 src/korean/ConstructionKor.gf create mode 100644 src/korean/ExtendKor.gf create mode 100644 src/korean/GrammarKor.gf create mode 100644 src/korean/IdiomKor.gf create mode 100644 src/korean/LangKor.gf create mode 100644 src/korean/LexiconKor.gf create mode 100644 src/korean/MissingKor.gf create mode 100644 src/korean/NounKor.gf create mode 100644 src/korean/NumeralKor.gf create mode 100644 src/korean/ParadigmsKor.gf create mode 100644 src/korean/ParamKor.gf create mode 100644 src/korean/PhraseKor.gf create mode 100644 src/korean/QuestionKor.gf create mode 100644 src/korean/RelativeKor.gf create mode 100644 src/korean/ResKor.gf create mode 100644 src/korean/SentenceKor.gf create mode 100644 src/korean/StructuralKor.gf create mode 100644 src/korean/SymbolKor.gf create mode 100644 src/korean/VerbKor.gf diff --git a/src/korean/AdjectiveKor.gf b/src/korean/AdjectiveKor.gf new file mode 100644 index 000000000..a59e74ea5 --- /dev/null +++ b/src/korean/AdjectiveKor.gf @@ -0,0 +1,62 @@ +concrete AdjectiveKor of Adjective = CatKor ** open ResKor, Prelude in { + + flags optimize=all_subs ; + + lin + + -- : A -> AP ; + PositA a = a ** { + compar = [] ; + } ; + + -- : A -> NP -> AP ; + ComparA a np = a ** { + compar = np.s + } ; + + -- : A2 -> NP -> AP ; -- married to her + -- ComplA2 a2 np = a2 ** { } ; + + -- : A2 -> AP ; -- married to itself + -- ReflA2 a2 = a2 ** { } ; + + -- : A2 -> AP ; -- married + UseA2 = PositA ; + + -- : A -> AP ; -- warmer + -- UseComparA a = a ** { + -- s = \\af => "???" ++ a.s ! af ; + -- compar = [] + -- } ; + + + -- : CAdv -> AP -> NP -> AP ; -- as cool as John + -- CAdvAP adv ap np = ap ** { } ; + +-- The superlative use is covered in $Ord$. + + -- : Ord -> AP ; -- warmest + AdjOrd ord = ord ** { + compar = [] + } ; + +-- Sentence and question complements defined for all adjectival +-- phrases, although the semantics is only clear for some adjectives. + + -- : AP -> SC -> AP ; -- good that she is here + -- SentAP ap sc = ap ** { + -- s = \\af => ap.s ! af ++ sc.s + -- } ; + +-- An adjectival phrase can be modified by an *adadjective*, such as "very". + + -- : AdA -> AP -> AP ; + -- AdAP ada ap = ap ** { } ; + + +-- It can also be postmodified by an adverb, typically a prepositional phrase. + + -- : AP -> Adv -> AP ; -- warm by nature + -- AdvAP ap adv = ap ** {} ; + +} diff --git a/src/korean/AdverbKor.gf b/src/korean/AdverbKor.gf new file mode 100644 index 000000000..24da40d26 --- /dev/null +++ b/src/korean/AdverbKor.gf @@ -0,0 +1,33 @@ +concrete AdverbKor of Adverb = CatKor ** open ResKor, ParamKor, ParadigmsKor, Prelude in { + +--lin + + -- : A -> Adv ; + --PositAdvAdj adj = { } ; + + -- : CAdv -> A -> NP -> Adv ; -- more warmly than John + -- ComparAdvAdj cadv a np = { } ; + +-- ComparAdvAdjS : CAdv -> A -> S -> Adv ; -- more warmly than he runs + + -- : Prep -> NP -> Adv ; + -- PrepNP = + +-- Adverbs can be modified by 'adadjectives', just like adjectives. + + --AdAdv : AdA -> Adv -> Adv ; -- very quickly + -- AdAdv ada adv = adv ** +-- Like adverbs, adadjectives can be produced by adjectives. + + -- : A -> AdA ; -- extremely +-- PositAdAAdj a = { } ; +-- Subordinate clauses can function as adverbs. + + -- : Subj -> S -> Adv ; + -- SubjS subj s = + +-- Comparison adverbs also work as numeral adverbs. + + --AdnCAdv : CAdv -> AdN ; -- less (than five) + --AdnCAdv cadv = {s = } ; +} ; diff --git a/src/korean/AllKor.gf b/src/korean/AllKor.gf new file mode 100644 index 000000000..83e04fabb --- /dev/null +++ b/src/korean/AllKor.gf @@ -0,0 +1,6 @@ +--# -path=.:../abstract:../common:../prelude + +concrete AllKor of AllKorAbs = + LangKor, + ExtendKor + ** {} ; diff --git a/src/korean/AllKorAbs.gf b/src/korean/AllKorAbs.gf new file mode 100644 index 000000000..a6eb14173 --- /dev/null +++ b/src/korean/AllKorAbs.gf @@ -0,0 +1,6 @@ +--# -path=.:../abstract:../common:prelude + +abstract AllKorAbs = + Lang, + Extend + ** {} ; diff --git a/src/korean/CatKor.gf b/src/korean/CatKor.gf new file mode 100644 index 000000000..55c38df22 --- /dev/null +++ b/src/korean/CatKor.gf @@ -0,0 +1,120 @@ +concrete CatKor of Cat = CommonX ** open ResKor, Prelude in { + + flags optimize=all_subs ; + + lincat + +--2 Sentences and clauses +-- Constructed in SentenceKor, and also in IdiomKor + + S = ResKor.Sentence ; + QS = SS ; + RS = SS ; + -- relative sentence. Tense and polarity fixed, + -- but agreement may depend on the CN/NP it modifies. + + Cl = ResKor.ClSlash ; + ClSlash = ResKor.ClSlash ; + SSlash = ResKor.Sentence ; -- sentence missing NP; e.g. "she has looked at" + Imp = {s : Number => Polarity => Str} ; -- imperative e.g. "look at this" + +--2 Questions and interrogatives + +-- Constructed in QuestionKor. + + QCl = ResKor.QClause ; + IComp = SS ; -- interrogative complement of copula e.g. "where" + IDet = ResKor.Determiner ; -- interrogative determiner e.g. "how many" + IQuant = ResKor.Quant ; -- interrogative quantifier e.g. "which" + IP = ResKor.NounPhrase ; -- interrogative pronoun e.g. "who" + +--2 Subord clauses and pronouns + + RCl = ResKor.RClause ; + RP = SS ; + +--2 Verb phrases + +-- Constructed in VerbKor. + + VP = ResKor.VerbPhrase ; + VPSlash = ResKor.VPSlash ; + Comp = ResKor.Complement ; + + +--2 Adjectival phrases + +-- Constructed in AdjectiveKor. + + AP = ResKor.AdjPhrase ; + + +--2 Nouns and noun phrases + +-- Constructed in NounKor. +-- Many atomic noun phrases e.g. "everybody" +-- are constructed in StructuralKor. +-- The determiner structure is +-- ``` Predet (QuantSg | QuantPl Num) Ord +-- as defined in NounKor. + + CN = ResKor.CNoun ; + NP = ResKor.NounPhrase ; + Pron = ResKor.Pronoun ; --Pronouns need enough info to turn it into NP or Quant. + Det = ResKor.Determiner ; + Predet = SS ; + Quant = ResKor.Quant ; + Num = ResKor.Num ; + Ord = { + s : Str ; -- AForm => Str ; -- Ord can came from AP and become AP again + n : Number -- Ord can come from Num, which has inherent number + } ; + DAP = ResKor.Determiner ; + + +--2 Numerals + +-- Constructed in NumeralKor. + + Card = ResKor.Num ; + Numeral = ResKor.Numeral ; + Digits = {s : CardOrd => Str ; n : Number} ; + + + +--2 Structural words + +-- Constructed in StructuralKor. + Conj = {s2 : Bool => Str ; s1 : Str ; n : Number } ; + Subj = SS ; + Prep = ResKor.Postposition ; + + + +--2 Words of open classes + +-- These are constructed in LexiconKor and in +-- additional lexicon modules. + + VS, -- sentence-complement verb e.g. "claim" + -- TODO: eventually different lincats + VQ, -- question-complement verb e.g. "wonder" + VA, -- adjective-complement verb e.g. "look" + V = ResKor.Verb ; + + VV, -- verb-phrase-complement verb e.g. "want" + V2A, -- verb with NP and AP complement e.g. "paint" + V2V, -- verb with NP and V complement e.g. "cause" + V2S, -- verb with NP and S complement e.g. "tell" + V2Q, -- verb with NP and Q complement e.g. "ask" + V2 = ResKor.Verb2 ; + V3 = ResKor.Verb3 ; + + A = ResKor.Adjective ; + A2 = ResKor.Adjective2 ; + + N = ResKor.Noun ; + N2 = ResKor.Noun2 ; + N3 = ResKor.Noun3 ; + PN = ResKor.PNoun ; +} diff --git a/src/korean/ConjunctionKor.gf b/src/korean/ConjunctionKor.gf new file mode 100644 index 000000000..ea33c7155 --- /dev/null +++ b/src/korean/ConjunctionKor.gf @@ -0,0 +1,97 @@ +concrete ConjunctionKor of Conjunction = + CatKor ** open ResKor, Coordination, Prelude in { + + flags optimize=all_subs ; + + {- Conjunction for category X needs four things: + lincat [X] + lin BaseX + lin ConsX + lin ConjX + + For example, if X is defined as + + lincat X = {s : Number => Str ; g : Gender} ; + + then [X] will split its s field into two, and retain its other fields as is: + + lincat [X] = {s1,s2 : Number => Str ; g : Gender} ; + + Let us look at a simple case: Adv is of type {s : Str} + Then [Adv] is {s1,s2 : Str}. + BaseAdv, ConsAdv and ConjAdv can all use functions defined in prelude/Coordination: + + BaseAdv = twoSS ; + ConsAdv = consrSS comma ; + ConjAdv = conjunctSS ; + + --} + + +-- Adverb and other simple {s : Str} types. +lincat + [Adv],[AdV],[IAdv] = {s1,s2 : Str} ; + +lin + BaseAdv, BaseAdV, BaseIAdv = twoSS ; + ConsAdv, ConsAdV, ConsIAdv = consrSS comma ; + ConjAdv, ConjAdV, ConjIAdv = conjunctDistrSS ; + + +{- +-- RS depends on X, Y and Z, otherwise exactly like previous. +-- RS can modify CNs, which are open for …, and have inherent … +lincat + [RS] = {s1,s2 : … => Str} ; + +lin + BaseRS = twoTable3 … ; + ConsRS = consrTable3 … comma ; + ConjRS = conjunctRSTable ; + + +lincat + [S] = {} ; + +lin + BaseS x y = y ** { } ; + ConsS x xs = + xs ** { } ; + ConjS co xs = {} ; + +lincat + [AP] = {} ; + +lin + BaseAP x y = twoTable … x y ** y ; --choose all the other fields from second argument + ConsAP as a = consrTable … comma as a ** as ; + ConjAP co as = conjunctDistrTable … co as ** as ; + +lincat + [CN] = { } ; + +lin + BaseCN = {} ; + ConsCN = {} ; + ConjCN co cs = conjunctDistrTable Agr co cs ** cs ; + +lincat + [DAP] = + +lin + BaseDAP x y = x ** + ConsDAP xs x = xs ** + ConjDet conj xs = xs ** + + +-- Noun phrases +lincat + [NP] = + +lin + BaseNP x y = + ConsNP x xs = + ConjNP conj xs = + +-} +} diff --git a/src/korean/ConstructionKor.gf b/src/korean/ConstructionKor.gf new file mode 100644 index 000000000..48660f46c --- /dev/null +++ b/src/korean/ConstructionKor.gf @@ -0,0 +1,119 @@ +concrete ConstructionKor of Construction = CatKor ** open ParadigmsKor in { + +lincat + Timeunit = N ; + Weekday = N ; + Monthday = NP ; + Month = N ; + Year = NP ; +{- +lin + + timeunitAdv n time = + let n_card : Card = n ; + n_hours_NP : NP = mkNP n_card time ; + in SyntaxKor.mkAdv for_Prep n_hours_NP | mkAdv (n_hours_NP.s ! R.npNom) ; + + weekdayPunctualAdv w = ; -- on Sunday + weekdayHabitualAdv w = ; -- on Sundays + weekdayNextAdv w = -- next Sunday + weekdayLastAdv w = -- last Sunday + + monthAdv m = mkAdv in_Prep (mkNP m) ; + yearAdv y = mkAdv in_Prep y ; + dayMonthAdv d m = ; -- on 17 May + monthYearAdv m y = ; -- in May 2012 + dayMonthYearAdv d m y = ; -- on 17 May 2013 + + intYear = symb ; + intMonthday = symb ; + +lincat Language = N ; + +lin InLanguage l = mkAdv ???_Prep (mkNP l) ; + +lin + weekdayN w = w ; + monthN m = m ; + + weekdayPN w = mkPN w ; + monthPN m = mkPN m ; + + languageCN l = mkCN l ; + languageNP l = mkNP l ; + + +oper mkLanguage : Str -> N = \s -> mkN s ; + +---------------------------------------------- +---- lexicon of special names + +lin second_Timeunit = mkN "second" ; +lin minute_Timeunit = mkN "minute" ; +lin hour_Timeunit = mkN "hour" ; +lin day_Timeunit = mkN "day" ; +lin week_Timeunit = mkN "week" ; +lin month_Timeunit = mkN "month" ; +lin year_Timeunit = mkN "year" ; + +lin monday_Weekday = mkN "Monday" ; +lin tuesday_Weekday = mkN "Tuesday" ; +lin wednesday_Weekday = mkN "Wednesday" ; +lin thursday_Weekday = mkN "Thursday" ; +lin friday_Weekday = mkN "Friday" ; +lin saturday_Weekday = mkN "Saturday" ; +lin sunday_Weekday = mkN "Sunday" ; + +lin january_Month = mkN "January" ; +lin february_Month = mkN "February" ; +lin march_Month = mkN "March" ; +lin april_Month = mkN "April" ; +lin may_Month = mkN "May" ; +lin june_Month = mkN "June" ; +lin july_Month = mkN "July" ; +lin august_Month = mkN "August" ; +lin september_Month = mkN "September" ; +lin october_Month = mkN "October" ; +lin november_Month = mkN "November" ; +lin december_Month = mkN "December" ; + +lin afrikaans_Language = mkLanguage "Afrikaans" ; +lin amharic_Language = mkLanguage "Amharic" ; +lin arabic_Language = mkLanguage "Arabic" ; +lin bulgarian_Language = mkLanguage "Bulgarian" ; +lin catalan_Language = mkLanguage "Catalan" ; +lin chinese_Language = mkLanguage "Chinese" ; +lin danish_Language = mkLanguage "Danish" ; +lin dutch_Language = mkLanguage "Dutch" ; +lin english_Language = mkLanguage "Euslish" ; +lin estonian_Language = mkLanguage "Estonian" ; +lin finnish_Language = mkLanguage "Finnish" ; +lin french_Language = mkLanguage "French" ; +lin german_Language = mkLanguage "German" ; +lin greek_Language = mkLanguage "Greek" ; +lin hebrew_Language = mkLanguage "Hebrew" ; +lin hindi_Language = mkLanguage "Hindi" ; +lin japanese_Language = mkLanguage "Japanese" ; +lin italian_Language = mkLanguage "Italian" ; +lin latin_Language = mkLanguage "Latin" ; +lin latvian_Language = mkLanguage "Latvian" ; +lin maltese_Language = mkLanguage "Maltese" ; +lin nepali_Language = mkLanguage "Nepali" ; +lin norwegian_Language = mkLanguage "Norwegian" ; +lin persian_Language = mkLanguage "Persian" ; +lin polish_Language = mkLanguage "Polish" ; +lin punjabi_Language = mkLanguage "Punjabi" ; +lin romanian_Language = mkLanguage "Romanian" ; +lin russian_Language = mkLanguage "Russian" ; +lin sindhi_Language = mkLanguage "Sindhi" ; +lin spanish_Language = mkLanguage "Spanish" ; +lin swahili_Language = mkLanguage "Swahili" ; +lin swedish_Language = mkLanguage "Swedish" ; +lin thai_Language = mkLanguage "Thai" ; +lin turkish_Language = mkLanguage "Turkish" ; +lin urdu_Language = mkLanguage "Urdu" ; + +—} +} +-} +} diff --git a/src/korean/ExtendKor.gf b/src/korean/ExtendKor.gf new file mode 100644 index 000000000..345728b05 --- /dev/null +++ b/src/korean/ExtendKor.gf @@ -0,0 +1,8 @@ +--# -path=.:../common:../abstract + +concrete ExtendKor of Extend = CatKor + -- ** ExtendFunctor - [] + -- with (Grammar=GrammarKor) + ** open Prelude, ResKor, NounKor in { + +} ; diff --git a/src/korean/GrammarKor.gf b/src/korean/GrammarKor.gf new file mode 100644 index 000000000..55550ada2 --- /dev/null +++ b/src/korean/GrammarKor.gf @@ -0,0 +1,20 @@ +concrete GrammarKor of Grammar = + NounKor, + VerbKor, + AdjectiveKor, + AdverbKor, + NumeralKor, + SentenceKor, + QuestionKor, + RelativeKor, + ConjunctionKor, + PhraseKor, + TextX, + StructuralKor, + IdiomKor, + TenseX + ** { + +flags startcat = Phr ; unlexer = text ; lexer = text ; + +} ; diff --git a/src/korean/IdiomKor.gf b/src/korean/IdiomKor.gf new file mode 100644 index 000000000..3eec44d49 --- /dev/null +++ b/src/korean/IdiomKor.gf @@ -0,0 +1,47 @@ + +--1 Idiom: Idiomatic Expressions + +concrete IdiomKor of Idiom = CatKor ** open Prelude, ResKor, VerbKor, NounKor, StructuralKor in { + +-- This module defines constructions that are formed in fixed ways, +-- often different even in closely related languages. + +{- lin + + + -- ImpersCl : VP -> Cl ; -- it is hot + -- GenericCl : VP -> Cl ; -- one sleeps + ImpersCl, + GenericCl = \vp -> predVP impersNP (passVP vp) ; + + CleftNP : NP -> RS -> Cl ; -- it is I who did it + CleftAdv : Adv -> S -> Cl ; -- it is here she slept + + -- : NP -> Cl ; -- there is a house + ExistNP np = + + ExistIP : IP -> QCl ; -- which houses are there + +-- 7/12/2012 generalizations of these + + ExistNPAdv : NP -> Adv -> Cl ; -- there is a house in Paris + ExistIPAdv : IP -> Adv -> QCl ; -- which houses are there in Paris + + -- : VP -> VP ; + ProgrVP vp = vp ** { + } ; + + + -- : VP -> Utt ; -- let's go + ImpPl1 vp = { } ; + + ImpP3 : NP -> VP -> Utt ; -- let John walk + +-- 3/12/2013 non-reflexive uses of "self" + + SelfAdvVP : VP -> VP ; -- is at home himself + SelfAdVVP : VP -> VP ; -- is himself at home + SelfNP : NP -> NP ; -- the president himself (is at home) +-} + +} diff --git a/src/korean/LangKor.gf b/src/korean/LangKor.gf new file mode 100644 index 000000000..3f35a43c9 --- /dev/null +++ b/src/korean/LangKor.gf @@ -0,0 +1,4 @@ +concrete LangKor of Lang = + GrammarKor, + LexiconKor, + ConstructionKor ; diff --git a/src/korean/LexiconKor.gf b/src/korean/LexiconKor.gf new file mode 100644 index 000000000..15f6036a8 --- /dev/null +++ b/src/korean/LexiconKor.gf @@ -0,0 +1,418 @@ +concrete LexiconKor of Lexicon = CatKor ** + open ParadigmsKor, ResKor in { + +---- +-- A + +-- lin add_V3 = mkV3 "" ; +-- lin airplane_N = mkN "" ; +-- lin alas_Interj = mkInterj "" ; +-- lin already_Adv = mkA "" ; +-- lin animal_N = mkN "동물" ; +-- lin answer_V2S = mkV2S "" ; +-- lin apartment_N = mkN "" ; +-- lin apple_N = mkN "" ; +-- lin art_N = mkN "" ; +-- lin ashes_N = mkN "" ; +-- lin ask_V2Q = mkV2 "" ; + +---- +-- B + +-- lin baby_N = mkN "" ; +-- lin back_N = mkN "" ; +-- lin bad_A = mkA "" ; +-- lin bank_N = mkN "" ; +-- lin bark_N = mkN "" ; +-- lin beautiful_A = mkA "" ; +-- lin become_VA = mkVA "" ; +-- lin beer_N = mkN "" ; +-- lin beg_V2V = mkV2 "" ; +-- lin belly_N = mkN "" ; +-- lin big_A = mkA "" ; +-- lin bike_N = mkN "" ; +-- lin bird_N = mkN "" ; +-- lin bite_V2 = mkV2 "" ; +-- lin black_A = mkA "" ; +-- lin blood_N = mkN "" ; +-- lin blow_V = mkV "" ; +-- lin blue_A = mkA "" ; +-- lin boat_N = mkN "" ; +-- lin bone_N = mkN "" ; +-- lin boot_N = mkN "" ; +-- lin boss_N = mkN "" ; +lin book_N = mkN "책" ; +lin boy_N = mkN "남자아이" ; +lin bread_N = mkN "빵" ; +-- lin break_V2 = mkV2 "" ; +-- lin breast_N = mkN "" ; +-- lin breathe_V = mkV "" ; +-- lin broad_A = mkA "" ; +-- lin brother_N2 = mkN "" ; +-- lin brown_A = mkA "" ; +-- lin burn_V = mkV "" ; +-- lin butter_N = mkN "" ; +-- lin buy_V2 = mkV2 "" ; + +---- +-- C + +-- lin camera_N = mkN "" ; +-- lin cap_N = mkN "" ; +-- lin car_N = mkN "" ; +-- lin carpet_N = mkN "" ; +lin cat_N = mkN "고양이" ; +-- lin ceiling_N = mkN "" ; +-- lin chair_N = mkN "" ; +-- lin cheese_N = mkN "" ; +-- lin child_N = mkN "" ; +-- lin church_N = mkN "" ; +-- lin city_N = mkN "" ; +-- lin clean_A = mkA "" ; +-- lin clever_A = mkA "" ; +-- lin close_V2 = mkV2 "" ; +-- lin cloud_N = mkN "" ; +-- lin coat_N = mkN "" ; +-- lin cold_A = mkA "" ; +-- lin come_V = mkV "" ; +-- lin computer_N = mkN "" ; +-- lin correct_A = mkA "" ; +-- lin count_V2 = mkV2 "" ; +-- lin country_N = mkN "" ; +-- lin cousin_N = mkN "" ; +-- lin cow_N = mkN "" ; +-- lin cut_V2 = mkV2 "" ; +-- +-- ---- +-- -- D +-- +-- lin day_N = mkN "" ; +-- lin die_V = mkV "" ; +-- lin dig_V = mkV "" ; +-- lin dirty_A = mkA "" ; +-- lin distance_N3 = mkN "" ; +-- lin do_V2 = lin V2 egin_V ; +-- lin doctor_N = mkN "" ; +-- lin dog_N = mkN "" ; +-- lin door_N = mkN "" ; +-- lin drink_V2 = mkV2 "" ; +-- lin dry_A = mkA "" ; +-- lin dull_A = mkA "" ; +-- lin dust_N = mkN "" ; + +---- +-- E + +-- lin ear_N = mkN "" ; +-- lin earth_N = mkN "" ; +-- lin eat_V2 = mkV2 "" ; +-- lin egg_N = mkN "" ; +-- lin empty_A = mkA "" ; +-- lin enemy_N = mkN "" ; +-- lin eye_N = mkN "" ; + +---- +-- F + +-- lin factory_N = mkN "" ; +-- lin fall_V = mkV "" ; +-- lin far_Adv = mkA "" ; +-- lin fat_N = mkN "" ; +-- lin father_N2 = mkN2 "" ; +-- lin fear_V2 = mkV2 "" ; +-- lin fear_VS = mkVS "" ; +-- lin feather_N = mkN "" ; +-- lin fight_V2 = mkV2 "" ; +-- lin find_V2 = mkV2 "" ; +-- lin fingernail_N = mkN "" ; +-- lin fire_N = mkN "" ; +-- lin fish_N = mkN "" ; +-- lin float_V = mkV "" ; +-- lin floor_N = mkN "" ; +-- lin flow_V = mkV "" ; +-- lin flower_N = mkN "" ; +-- lin fly_V = mkV "" ; +-- lin fog_N = mkN "" ; +-- lin foot_N = mkN "" ; +-- lin forest_N = mkN "" ; +-- lin forget_V2 = mkV2 "" ; +-- lin freeze_V = mkV "" ; +-- lin fridge_N = mkN "" ; +-- lin friend_N = mkN "" ; +-- lin fruit_N = mkN "" ; +-- lin full_A = mkA "" ; +-- --lin fun_AV + +---- +-- G + +-- lin garden_N = mkN "" ; +lin girl_N = mkN "여자아이" ; +-- lin give_V3 = mkV3 "" ; +-- lin glove_N = mkN "" ; +-- lin go_V = mkV "" ; +-- lin gold_N = mkN "" ; +-- lin good_A = mkA "" ; +-- lin grammar_N = mkN "" ; +-- lin grass_N = mkN "" ; +-- lin green_A = mkA "" ; + +---- +-- H + +-- lin hair_N = mkN "" ; +-- lin hand_N = mkN "" ; +-- lin harbour_N = mkN "" ; +-- lin hat_N = mkN "" ; +-- lin hate_V2 = mkV2 "" ; +-- lin head_N = mkN "" ; +-- lin hear_V2 = mkV2 "" ; +-- lin heart_N = mkN "" ; +-- lin heavy_A = mkA "" ; +-- lin hill_N = mkN "" ; +-- lin hit_V2 = mkV2 "" ; +-- lin hold_V2 = mkV2 "" ; +-- lin hope_VS = mkV "" ; +-- lin horn_N = mkN "" ; +-- lin horse_N = mkN "" ; +-- lin hot_A = mkA "" ; +lin house_N = mkN "guri" ; +-- lin hunt_V2 = mkV2 "" ; +-- lin husband_N = mkN "" ; + +-------- +-- I - K + +-- lin ice_N = mkN "" ; +-- lin industry_N = mkN "" ; +-- lin iron_N = mkN "" ; +-- lin john_PN = mkPN "" ; +-- lin jump_V = mkV "" ; +-- lin kill_V2 = mkV2 "" ; +-- lin king_N = mkN "" ; +-- lin knee_N = mkN "" ; +-- lin know_V2 = mkV2 "" ; +-- lin know_VQ = mkVQ "" ; +-- lin know_VS = mkV "" ; + + +---- +-- L + +-- lin lake_N = mkN "" ; +-- lin lamp_N = mkN "" ; +-- lin language_N = mkN "" ; +-- lin laugh_V = mkV "" ; +-- lin leaf_N = mkN "" ; +-- lin learn_V2 = mkV2 "" ; +-- lin leather_N = mkN "" ; +-- lin leave_V2 = mkV2 "" ; +-- lin leg_N = mkN "" ; +-- lin lie_V = mkV "" ; +-- lin like_V2 = mkV2 "" ; +-- lin listen_V2 = mkV2 "" ; +-- lin live_V = mkV ""; +-- lin liver_N = mkN "" ; +-- lin long_A = mkA "" ; +-- lin lose_V2 = mkV2 "" ; +-- lin louse_N = mkN "" ; +-- lin love_N = mkN "" ; +-- lin love_V2 = mkV2 "" ; + +---- +-- M + +lin man_N = mkN "남자" ; +-- lin married_A2 = mkA "" ; +-- lin meat_N = mkN "" ; +lin milk_N = mkN "우유" ; +-- lin moon_N = mkN "" ; +--lin mother_N2 = mkN2 "" ; +-- lin mountain_N = mkN "" ; +-- lin mouth_N = mkN "" ; +-- lin music_N = mkN "" ; + +---- +-- N + +lin name_N = mkN "성함" ; +-- lin narrow_A = mkA "" ; +-- lin near_A = mkA "" ; +-- lin neck_N = mkN "" ; +-- lin new_A = mkA "" ; +-- lin newspaper_N = mkN "" ; +-- lin night_N = mkN "" ; +-- lin nose_N = mkN "" ; +-- lin now_Adv = mkA "" ; +-- lin number_N = mkN "" ; +-- +-- -------- +-- -- O - P +-- +-- +-- lin oil_N = mkN "" ; +-- lin old_A = mkA "" ; +-- lin open_V2 = mkV2 "" ; +-- lin paint_V2A = mkV2A "" ; +-- lin paper_N = mkN "" ; +-- lin paris_PN = mkPN "Paris" ; +-- lin peace_N = mkN "" ; +-- lin pen_N = mkN "" ; +lin person_N = mkN "사람" ; +-- lin planet_N = mkN "" ; +-- lin plastic_N = mkN "" ; +-- lin play_V = mkV "" ; +-- lin policeman_N = mkN "" ; +-- lin priest_N = mkN "" ; +-- lin pull_V2 = mkV2 "" ; +-- lin push_V2 = mkV2 "" ; +-- lin put_V2 = mkV2 "" ; +-- +-- -------- +-- -- Q - R +-- +-- lin queen_N = mkN "" ; +-- lin question_N = mkN "" ; +-- lin radio_N = mkN "" ; +-- lin rain_N = mkN "" ; +-- lin rain_V0 = mkV "" ; +-- lin read_V2 = mkV2 "" ; +-- lin ready_A = mkA "" ; +-- lin reason_N = mkN "" ; +-- lin red_A = mkA "" ; +-- lin religion_N = mkN "" ; +-- lin restaurant_N = mkN "" ; +-- lin river_N = mkN "" ; +-- lin road_N = mkN "" ; +-- lin rock_N = mkN "" ; +-- lin roof_N = mkN "" ; +-- lin root_N = mkN "" ; +-- lin rope_N = mkN "" ; +-- lin rotten_A = mkA "" ; +-- lin round_A = mkA "" ; +-- lin rub_V2 = mkV2 "" ; +-- lin rubber_N = mkN "" ; +-- lin rule_N = mkN "" ; +-- lin run_V = mkV "" ; + +---- +-- S + +-- lin salt_N = mkN "" ; +-- lin sand_N = mkN "" ; +-- lin say_VS = mkVS "" ; +-- lin school_N = mkN "" ; +-- lin science_N = mkN "" ; +-- lin scratch_V2 = mkV2 "" ; +-- lin sea_N = mkN "" ; +-- lin see_V2 = mkV2 "" ; +-- lin seed_N = mkN "" ; +-- lin seek_V2 = mkV2 "" ; +-- lin sell_V3 = mkV3 "" ; +-- lin send_V3 = mkV3 "" ; +-- lin sew_V = mkV "" ; +-- lin sharp_A = mkA "" ; +-- lin sheep_N = mkN "" fem ; +-- lin ship_N = mkN "" ; +-- lin shirt_N = mkN "" ; +-- lin shoe_N = mkN "" ; +-- lin shop_N = mkN "" ; +-- lin short_A = mkA "" ; +-- lin silver_N = mkN "" ; +-- lin sing_V = mkV "" ; +-- lin sister_N = mkN "" ; +-- lin sit_V = mkV "" ; +-- lin skin_N = mkN "" ; +-- lin sky_N = mkN "" ; +-- lin sleep_V = mkV "" ; +lin small_A = mkA "작아" ; +-- lin smell_V = mkV "" ; +-- lin smoke_N = mkN "" ; +-- lin smooth_A = mkA "" ; +-- lin snake_N = mkN "" ; +-- lin snow_N = mkN "" ; +-- lin sock_N = mkN "" ; +-- lin song_N = mkN "" ; +-- lin speak_V2 = mkV2 "" ; +-- lin spit_V = mkV "" ; +-- lin split_V2 = mkV2 "" ; +-- lin squeeze_V2 = mkV2 "" ; +-- lin stab_V2 = mkV2 "" ; +-- lin stand_V = mkV "" ; +-- lin star_N = mkN "" ; +-- lin steel_N = mkN "" ; +-- lin stick_N = mkN "" ; +-- lin stone_N = mkN "" ; +-- lin stop_V = mkV "" ; +-- lin stove_N = mkN "" ; +-- lin straight_A = mkA "" ; +-- lin student_N = mkN "" ; +-- lin stupid_A = mkA "" ; +-- lin suck_V2 = mkV2 "" ; +-- lin sun_N = mkN "" ; +-- lin swell_V = mkV "" ; +-- lin swim_V = mkV "" ; + +---- +-- T + + +-- lin table_N = mkN "" ; +-- lin tail_N = mkN "" ; +-- lin talk_V3 = mkV3 "" ; +-- lin teach_V2 = mkV2 "" ; +-- lin teacher_N = mkN "" ; +-- lin television_N = mkN "" ; +-- lin thick_A = mkA "" ; +-- lin thin_A = mkA "" ; +-- lin think_V = mkV "" ; +-- lin throw_V2 = mkV2 "" ; +-- lin tie_V2 = mkV2 "" ; +-- lin today_Adv = mkA "" ; +-- lin tongue_N = mkN "" ; +-- lin tooth_N = mkN "" ; +-- lin train_N = mkN "" ; +-- lin travel_V = mkV "" ; +-- lin tree_N = mkN "" ; +-- lin turn_V = mkV "" ; + +-------- +-- U - V + +-- lin ugly_A = mkA "" ; +-- lin uncertain_A = mkA "" ; +-- lin understand_V2 = mkV2 "" ; +-- lin university_N = mkN "" ; +-- lin village_N = mkN "" ; +-- lin vomit_V = mkV2 "" ; + +-------- +-- W - Y + +-- lin wait_V2 = mkV2 "" ; +-- lin walk_V = mkV "" ; +-- lin war_N = mkN "" ; +-- lin warm_A = mkA "" ; +-- lin wash_V2 = mkV2 "" ; +-- lin watch_V2 = mkV2 "" ; +-- lin water_N = mkNoun "" ; +-- lin wet_A = mkA "" ; +-- lin white_A = mkA "" ; +-- lin wide_A = mkA "" ; +-- lin wife_N = mkN "" ; +-- lin win_V2 = mkV2 "" ; +-- lin wind_N = mkN "" ; +-- lin window_N = mkN "" ; +-- lin wine_N = mkN "" ; +-- lin wing_N = mkN "" ; +-- lin wipe_V2 = mkV2 "" ; +lin woman_N = mkN "여자" ; +-- lin wonder_VQ = mkVQ "" ; +-- lin wood_N = mkN "" ; +-- lin worm_N = mkN "" ; +-- lin write_V2 = mkV2 "" ; +-- lin year_N = mkN "" ; +-- lin yellow_A = mkA "" ; +-- lin young_A = mkA "" ; + +} diff --git a/src/korean/MissingKor.gf b/src/korean/MissingKor.gf new file mode 100644 index 000000000..628df5577 --- /dev/null +++ b/src/korean/MissingKor.gf @@ -0,0 +1,2 @@ +resource MissingKor = open GrammarKor, SymbolKor, Prelude in { +} diff --git a/src/korean/NounKor.gf b/src/korean/NounKor.gf new file mode 100644 index 000000000..81af0cbfe --- /dev/null +++ b/src/korean/NounKor.gf @@ -0,0 +1,190 @@ +concrete NounKor of Noun = CatKor ** open ResKor, Prelude in { + + flags optimize=all_subs ; + + lin + +--2 Noun phrases + +-- : Det -> CN -> NP + DetCN det cn = {s = det.s ++ cn.s} ; + + -- : PN -> NP ; +-- UsePN pn = pn ** { +-- } ; + + -- : Pron -> NP ; + -- UsePron pron = pron ; + + -- : Predet -> NP -> NP ; -- only the man + -- PredetNP predet np = + +-- A noun phrase can also be postmodified by the past participle of a +-- verb, by an adverb, or by a relative clause + + + -- : NP -> V2 -> NP ; -- the man seen + -- PPartNP np v2 = np ** { + -- s = \\c => v2.s ! ??? ++ np.s ! c } ; ---- + + -- : NP -> Adv -> NP ; -- Paris today ; boys, such as .. + --AdvNP,ExtAdvNP = \np,adv -> np ** {} ; + + -- : NP -> RS -> NP ; -- Paris, which is here + -- RelNP np rs = np ** { + -- } ; + +-- Determiners can form noun phrases directly. + + -- : Det -> NP ; + -- DetNP det = emptyNP ** { + -- } ; + + -- MassNP : CN -> NP ; + -- MassNP cn = useN cn ** { + -- } ; + + +--2 Determiners + +-- The determiner has a fine-grained structure, in which a 'nucleus' +-- quantifier and an optional numeral can be discerned. + + -- : Quant -> Num -> Det ; + DetQuant quant num = quant ** { + n = num.n + } ; + + -- : Quant -> Num -> Ord -> Det ; -- these five best + -- DetQuantOrd quant num ord = + -- let theseFive = DetQuant quant num in theseFive ** { + -- } ; + +-- Whether the resulting determiner is singular or plural depends on the +-- cardinal. + +-- All parts of the determiner can be empty, except $Quant$, which is +-- the "kernel" of a determiner. It is, however, the $Num$ that determines +-- the inherent number. + + NumSg = baseNum ; + NumPl = baseNum ** {n = Pl} ; + + -- : Card -> Num ; + -- NumCard card = + + -- : Digits -> Card ; + -- NumDigits dig = + + -- : Numeral -> Card ; + -- NumNumeral num + +{- + -- : AdN -> Card -> Card ; + AdNum adn card = card ** { s = adn.s ++ card.s } ; + + -- : Digits -> Ord ; + OrdDigits digs = digs ** { s = digs.s ! NOrd } ; +-} + -- : Numeral -> Ord ; + -- OrdNumeral num = num ** { + -- s = \\_ => num.ord + -- } ; + + -- : A -> Ord ; + -- OrdSuperl a = { + -- s = \\af => "제일" ++ a.s ! af ; + -- n = Sg -- ?? is this meaningful? + -- } ; + +-- One can combine a numeral and a superlative. + + -- : Numeral -> A -> Ord ; -- third largest + -- OrdNumeralSuperl num a = num ** { } ; + + -- : Quant + DefArt = baseQuant ** {sp = \\_ => []} ; + + -- : Quant + IndefArt = baseQuant ** {sp = \\_ => []} ; + + -- : Pron -> Quant + -- PossPron pron = + -- let p = pron.poss ; + -- in DefArt ** { + -- } ; + +--2 Common nouns + + -- : N -> CN + -- : N2 -> CN ; + UseN,UseN2 = ResKor.useN ; + + -- : N2 -> NP -> CN ; + -- ComplN2 n2 np = + + -- : N3 -> NP -> N2 ; -- distance from this city (to Paris) + -- ComplN3 n3 np = + + + -- : N3 -> N2 ; -- distance (from this city) + -- Use2N3 n3 = lin N2 n3 ** { c2 = n3.c3 } ; + + -- : N3 -> N2 ; -- distance (to Paris) + -- Use3N3 n3 = lin N2 n3 ; + -- : AP -> CN -> CN + -- AdjCN ap cn = cn ** { + -- } ; + + -- : CN -> RS -> CN ; + -- RelCN cn rs = cn ** { + -- } ; + +{- + -- : CN -> Adv -> CN ; + AdvCN cn adv = cn ** { } ; + +-- Nouns can also be modified by embedded sentences and questions. +-- For some nouns this makes little sense, but we leave this for applications +-- to decide. Sentential complements are defined in VerbKor. + + -- : CN -> SC -> CN ; -- question where she sleeps + SentCN cn sc = cn ** { } ; + + +--2 Apposition + +-- This is certainly overgenerating. + + -- : CN -> NP -> CN ; -- city Paris (, numbers x and y) + ApposCN cn np = cn ** { s = } ; +-} + +--2 Possessive and partitive constructs + + -- : PossNP : CN -> NP -> CN ; + -- PossNP cn np = cn ** { + -- } ; + + -- : CN -> NP -> CN ; -- glass of wine / two kilos of red apples + -- PartNP cn np = cn ** { + -- } ; + +{- + +-- This is different from the partitive, as shown by many languages. + + -- : Det -> NP -> NP ; + CountNP det np = np ** + { } ; -- Nonsense for DefArt or IndefArt + +--3 Conjoinable determiners and ones with adjectives + + -- : DAP -> AP -> DAP ; -- the large (one) + AdjDAP dap ap = dap ** { } ; + + -- : Det -> DAP ; -- this (or that) + DetDAP det = det ; +-} + +} diff --git a/src/korean/NumeralKor.gf b/src/korean/NumeralKor.gf new file mode 100644 index 000000000..83179b773 --- /dev/null +++ b/src/korean/NumeralKor.gf @@ -0,0 +1,4 @@ +concrete NumeralKor of Numeral = CatKor [Numeral,Digits] ** + open Prelude, ResKor, ParamKor in { + +} diff --git a/src/korean/ParadigmsKor.gf b/src/korean/ParadigmsKor.gf new file mode 100644 index 000000000..1825b1e24 --- /dev/null +++ b/src/korean/ParadigmsKor.gf @@ -0,0 +1,125 @@ +resource ParadigmsKor = open CatKor, ResKor, ParamKor, NounKor, Prelude in { + +oper + +--2 Parameters +-- +-- To abstract over number, valency and (some) case names, +-- we define the following identifiers. The application programmer +-- should always use these constants instead of the constructors +-- defined in $ResSom$. + + +--2 Nouns + + mkN : overload { + mkN : (noun : Str) -> N ; -- Predictable nouns + } ; + +--2 Adjectives + + mkA : overload { + mkA : (adj : Str) -> A ; + } ; + + -- mkA2 : Str -> Prep -> A2 ; + +--2 Verbs + + -- Verbs + mkV : overload { + mkV : (inf : Str) -> V ; -- Predictable verb: infinitive form as argument +-- mkV : Str -> V -> V -- Add a prefix to an existing verb, e.g. u baahan+ahay + } ; + + copula : V ; -- The copula verb '' + + mkV2 : overload { + mkV2 : (inf : Str) -> V2 ; + } ; + + -- mkV3 : overload { + -- } ; + + -- mkVV : overload { + -- } ; + + -- + -- mkVA : Str -> VA + -- = \s -> lin VA (regV s) ; + -- mkVQ : Str -> VQ + -- = \s -> lin VQ (regV s) ; + -- mkVS : Str -> VS + -- = \s -> lin VS (regV s) ; + -- + -- mkV2A : Str -> V2A + -- = \s -> lin V2A (regV s ** {c2 = noPrep}) ; + -- mkV2V : Str -> V2V + -- = \s -> lin V2V (regV s ** {c2 = noPrep}) ; + -- mkV2Q : Str -> V2Q + -- = \s -> lin V2Q (regV s ** {c2 = noPrep}) ; + + ----- + +--2 Structural categories + + -- mkPrep = overload { + -- } ; + + -- mkConj : (_,_ : Str) -> Number -> Conj = \s1,s2,num -> + -- lin Conj { s = s1 ; s2 = s2 } ; + + -- mkSubj : Str -> Bool -> Subj = \s,b -> + -- lin Subj { } ; + + mkAdv : Str -> Adv = \s -> lin Adv {s = s} ; + + mkAdV : Str -> AdV = \s -> lin AdV {s = s} ; + + mkAdA : Str -> AdA = \s -> lin AdA {s = s} ; + + +--. +------------------------------------------------------------------------------- +-- The definitions should not bother the user of the API. So they are +-- hidden from the document. + + mkN = overload { + mkN : Str -> N = \s -> lin N (mkNoun s) ; + } ; + + + mkN2 = overload { + mkN2 : Str -> N2 = \s -> lin N2 (mkNoun s) ; + mkN2 : N -> N2 = \n -> lin N2 n ; + } ; + + -- mkPN = overload { + -- } ; + + mkA = overload { + mkA : (adj : Str) -> A = \s -> lin A (mkAdj s) ; + } ; + + mkV = overload { + mkV : (inf : Str) -> V = \v -> lin V (mkVerb v) ; + } ; + + copula = ResKor.copula ; + + -- regV : Str -> Verb = \s -> case s of { + -- } ; + + mkV2 = overload { + mkV2 : (inf : Str) -> V2 = \v2 -> lin V2 (mkVerb v2) ; + } ; + -- + -- mkV3 = overload { + -- } ; + -- + -- mkVV = overload { + -- } ; + +-------------------------------------------------------------------------------- + +} diff --git a/src/korean/ParamKor.gf b/src/korean/ParamKor.gf new file mode 100644 index 000000000..084d72391 --- /dev/null +++ b/src/korean/ParamKor.gf @@ -0,0 +1,80 @@ +resource ParamKor = ParamX ** open Prelude in { + +-------------------------------------------------------------------------------- +-- Phonology + +oper + v : pattern Str = #("아" | "이" | "어" | + "가" | "개" | "갸" | "걔" | "거" | "게" | "겨" | "계" | "고" | "과" | "괘" | "괴" | "교" | "구" | "궈" | "궤" | "귀" | "규" | "그" | "긔" | "기") ; -- TODO: figure out if this is a smart way to do it; if no better way, then complete the table. +-- maybe subpatterns for diphthongs? + + -- c : pattern Str = #("m"|"n"|"p"|"b"|"t"|"d"|"k"|"g"|"f"|"v" + -- |"s"|"h"|"l"|"j"|"r"|"z"|"c"|"q"); + -- + -- voiced : Str -> Str = \s -> case s of { + -- "k" => "g" ; + -- "t" => "d" ; + -- "p" => "b" ; + -- _ => s } ; + +-------------------------------------------------------------------------------- +-- Morphophonology + + + +-------------------------------------------------------------------------------- +-- Nouns + +param + NForm = + Topic + | Subject + | Object ; + + +-------------------------------------------------------------------------------- +-- Numerals + +param + DForm = Indep | Attrib ; + + CardOrd = NOrd | NCard ; + + -- TODO see if this is needed + NumType = NoNum | IsDigit | IsNumber ; + +oper + isNum : NumType -> Bool = \nt -> case nt of { + NoNum => False ; + _ => True + } ; +-------------------------------------------------------------------------------- +-- Adjectives + +param + AForm = AdjPres | AdjPast ; -- TODO: proper thing + +-------------------------------------------------------------------------------- +-- Prepositions + +-------------------------------------------------------------------------------- +-- Verbs +param + VerbType = Active | Stative | Existential | Copula ; -- from Wikipedia https://en.wikipedia.org/wiki/Korean_verbs#Classification + + Aspect = Gnomic | Prospective | Perfect ; + + -- TODO: proper list of forms + VForm = + VInf + | VFin Aspect Polarity ; + + +-------------------------------------------------------------------------------- +-- Clauses + +param + + ClType = Statement | PolarQuestion | WhQuestion | Subord ; + +} diff --git a/src/korean/PhraseKor.gf b/src/korean/PhraseKor.gf new file mode 100644 index 000000000..dc9ba43bf --- /dev/null +++ b/src/korean/PhraseKor.gf @@ -0,0 +1,29 @@ +concrete PhraseKor of Phrase = CatKor ** open Prelude, ResKor in { + + lin + PhrUtt pconj utt voc = {s = pconj.s ++ utt.s ++ voc.s} ; + + UttS s = s ; + UttQS qs = qs ; + UttIAdv iadv = iadv ; +{- + UttImpSg pol imp = + UttImpPl pol imp = + UttImpPol = UttImpSg ; + + UttIP ip = {s = ip.s ! } ; + UttNP np = {s = np.s ! } ; + UttVP vp = {s = } ; + UttAdv adv = {s = } ; + UttCN n = {s = } ; + UttCard n = {s = } ; + UttAP ap = { s = ap.s ! } ; + UttInterj i = i ; +-} + NoPConj = {s = []} ; +-- PConjConj conj = {s = conj.s1 ++ conj.s2 ! …} ; + + NoVoc = {s = []} ; +-- VocNP np = { s = "," ++ np.s ! … } ; -} + +} diff --git a/src/korean/QuestionKor.gf b/src/korean/QuestionKor.gf new file mode 100644 index 000000000..fd1f4f130 --- /dev/null +++ b/src/korean/QuestionKor.gf @@ -0,0 +1,78 @@ +concrete QuestionKor of Question = CatKor ** open + Prelude, ResKor, ParadigmsKor, (VS=VerbKor), (NS=NounKor), (SS=StructuralKor) in { + +-- A question can be formed from a clause ('yes-no question') or +-- with an interrogative. + +{- + lin + -- : Cl -> QCl ; + QuestCl = + + -- : IP -> VP -> QCl ; + QuestVP ip vp = + + -- : IP -> ClSlash -> QCl ; -- whom does John love + QuestSlash ip cls = + + -- : IAdv -> Cl -> QCl ; -- why does John walk + QuestIAdv iadv cls = + + + -- : IComp -> NP -> QCl ; -- where is John? + QuestIComp icomp np = + + +-- Interrogative pronouns can be formed with interrogative +-- determiners, with or without a noun. + + -- : IDet -> CN -> IP ; -- which five songs + IdetCN idet cn = {contractSTM = False} ** NS.DetCN idet cn ; + + -- : IDet -> IP ; -- which five + IdetIP idet = {contractSTM = False} ** NS.DetNP idet ; + +-- They can be modified with adverbs. + -- : IP -> Adv -> IP ; -- who in Paris + --AdvIP = NS.AdvNP ; + +-- Interrogative quantifiers have number forms and can take number modifiers. + + -- : IQuant -> Num -> IDet ; -- which (five) + IdetQuant = NS.DetQuant ; + +-- Interrogative adverbs can be formed prepositionally. + -- : Prep -> IP -> IAdv ; -- with whom + PrepIP prep ip = SS.prepIP prep (ip.s ! Abs) False ; + +-- They can be modified with other adverbs. + + -- : IAdv -> Adv -> IAdv ; -- where in Paris + -- AdvIAdv iadv adv = + +-- Interrogative complements to copulas can be both adverbs and +-- pronouns. + + -- : IAdv -> IComp ; + CompIAdv iadv = iadv ; -- where (is it) + + -- : IP -> IComp ; + CompIP ip = {s = ip.s ! Abs} ; -- who (is it) + + +-- More $IP$, $IDet$, and $IAdv$ are defined in $Structural$. + +-- Wh questions with two or more question words require a new, special category. + + cat + QVP ; -- buy what where + fun + ComplSlashIP : VPSlash -> IP -> QVP ; -- buys what + AdvQVP : VP -> IAdv -> QVP ; -- lives where + AddAdvQVP : QVP -> IAdv -> QVP ; -- buys what where + + QuestQVP : IP -> QVP -> QCl ; -- who buys what where +-} + + +} diff --git a/src/korean/RelativeKor.gf b/src/korean/RelativeKor.gf new file mode 100644 index 000000000..a6c9e3056 --- /dev/null +++ b/src/korean/RelativeKor.gf @@ -0,0 +1,22 @@ +concrete RelativeKor of Relative = CatKor ** open + ResKor, Prelude, (NS=NounKor), (SS=StructuralKor) in { + +{- +lin + -- : Cl -> RCl ; -- such that John loves her + -- RelCl cl = ; + + -- : RP -> VP -> RCl ; + RelVP rp vp = + + -- : RP -> ClSlash -> RCl ; -- whom John loves + RelSlash rp cls = + + -- : RP ; + IdRP = {s = ""} ; + + -- : Prep -> NP -> RP -> RP ; -- the mother of whom + --FunRP prep np rp = {} ; +-} + +} diff --git a/src/korean/ResKor.gf b/src/korean/ResKor.gf new file mode 100644 index 000000000..3303301b2 --- /dev/null +++ b/src/korean/ResKor.gf @@ -0,0 +1,196 @@ +resource ResKor = ParamKor ** open Prelude, Predef, ParamKor in { + +-------------------------------------------------------------------------------- +-- Nouns +oper + + Noun : Type = { + s : Str + } ; + Noun2 : Type = Noun ; -- TODO eventually more parameters? + Noun3 : Type = Noun ; + + CNoun : Type = Noun ** { + } ; + + PNoun : Type = Noun ; + + mkNoun : Str -> Noun = \str -> ss str ; + + useN : Noun -> CNoun = \n -> n ; + +--------------------------------------------- +-- NP + + -- BaseNP : Type = { + -- a : Agreement ; + -- isPron : Bool ; + -- empty : Str ; -- standard trick for pro-drop + -- } ; + -- + -- emptyNP : NounPhrase = { + -- s = \\_ => [] ; + -- a = Sg3 Masc ; + -- isPron = False ; + -- empty = [] ; + -- } ; + -- + -- indeclNP : Str -> NounPhrase = \s -> emptyNP ** {s = \\c => s} ; + + --NounPhrase : Type = BaseNP ** {s : NForm => Str} ; + NounPhrase = Noun ; + +-------------------------------------------------------------------------------- +-- Pronouns + + Pronoun : Type = NounPhrase ** { + -- poss : { -- for PossPron : Pron -> Quant + -- } ; + sp : NForm => Str ; + } ; + + +-------------------------------------------------------------------------------- +-- Det, Quant, Card, Ord + + BaseQuant : Type = { + s : Str ; + isPoss : Bool + } ; + + Determiner : Type = BaseQuant ** { + sp : NForm => Str ; + n : Number ; +-- numtype : NumType ; -- number as in "5" or "Sg/Pl", often makes a difference in lots of things + } ; + + Quant : Type = BaseQuant ** { + sp : NForm => Str ; + } ; + + Num : Type = { + s : DForm => Str ; -- independent or attribute + n : Number + } ; + + baseNum : Num = { + s = \\_ => [] ; + n = Sg ; + numtype = NoNum + } ; + + Numeral : Type = Num ** { + ord : Str + } ; + + baseQuant : BaseQuant = { + s = [] ; + isPoss = False ; + } ; + +-------------------------------------------------------------------------------- +-- Postpositions + + Postposition : Type = SS ; + + mkPrep : Str -> Postposition = \str -> ss str ; + +-------------------------------------------------------------------------------- +-- Adjectives + + Adjective : Type = SS ; -- {s : AForm => Str} ; + Adjective2 : Type = Adjective ; + + mkAdj : Str -> Adjective = \str -> {s = str} ; + + AdjPhrase : Type = Adjective ** {compar : Str} ; +-------------------------------------------------------------------------------- +-- Verbs + + BaseVerb : Type = { + s : VForm => Str ; + type : VerbType ; + } ; + Verb : Type = BaseVerb ** { + } ; + Verb2 : Type = Verb ; -- ** {c2 : Postposition} ; + Verb3 : Type = Verb ; -- ** {c3 : Postposition} ; + +-- VV : Type = Verb ** {vvtype : VVForm} ; + + copula : Verb = { + s = table { + VInf => "이다" ; + VFin Gnomic Pos => "입니다" ; + VFin Gnomic Neg => "아닙니다" ; + _ => "TODO:copula" } ; + type = Copula ; + } ; + + mkVerb : Str -> Verb = \str -> { + s = \\_ => str ; + type = Active + } ; + +------------------ +-- Adv + + Adverb : Type = SS ; + +------------------ +-- VP + + Complement : Type = { + aComp : Str ; -- AForm => Str ; + nComp : Str ; + -- compar : Str ; -- comparative is discontinuous + } ; + + emptyComp : Complement = { + aComp = [] ; + nComp = [] ; + -- compar : Str ; + } ; + + VerbPhrase : Type = BaseVerb ** Complement ** { + vComp : Str + -- {subjunc : Str ; -- inflected verb complement + -- inf : Str ; -- infinitive verb complement + -- subcl : Str} -- clause complement + } ; + + VPSlash : Type = VerbPhrase ; + + useV : Verb -> VerbPhrase = \v -> v ** { + aComp = [] ; -- \\_ => [] ; + nComp = [] ; + vComp = [] ; + } ; +-------------------------------------------------------------------------------- +-- Cl, S + + Clause : Type = {s : Tense => Anteriority => Polarity => Str} ; + + {- After PredVP, we might still want to add more adverbs (QuestIAdv), + but we're done with verb inflection. + -} + ClSlash : Type = Clause ; + + QClause : Type = Clause ; + + RClause : Type = {s : NForm => Tense => Anteriority => Polarity => Str} ; + + Sentence : Type = {s : Str} ; + + predVPslash = predVP ; -- VP==VPSlash, Cl==ClSlash + + predVP : NounPhrase -> VerbPhrase -> ClSlash = \np,vp -> vp ** { + s = \\t,a,p => np.s + ++ vp.aComp ++ vp.nComp -- TODO: embed copula into complement + ++ vp.s ! VFin Gnomic Pos -- TODO: actual forms + } ; + +-------------------------------------------------------------------------------- +-- linrefs + +} diff --git a/src/korean/SentenceKor.gf b/src/korean/SentenceKor.gf new file mode 100644 index 000000000..2f394ca2b --- /dev/null +++ b/src/korean/SentenceKor.gf @@ -0,0 +1,79 @@ +concrete SentenceKor of Sentence = CatKor ** open + TenseX, ResKor, (AK=AdverbKor), Prelude in { + +flags optimize=all_subs ; + +lin + +--2 Clauses + + -- : NP -> VP -> Cl + PredVP = predVP ; + + -- : SC -> VP -> Cl ; -- that she goes is good (Saeed p. 94) + --PredSCVP sc vp = ; + +--2 Clauses missing object noun phrases + -- : NP -> VPSlash -> ClSlash ; + SlashVP = predVP ; +{- + -- : ClSlash -> Adv -> ClSlash ; -- (whom) he sees today + AdvSlash cls adv = cls ** insertAdv adv cls ; + +-- SlashPrep : Cl -> Prep -> ClSlash ; -- (with whom) he walks + + -- : NP -> VS -> SSlash -> ClSlash ; -- (whom) she says that he loves +-- SlashVS np vs ss = {} ; + + + -- : Temp -> Pol -> ClSlash -> SSlash ; -- (that) she had not seen + UseSlash t p cls = { + } ; + +--2 Imperatives + -- : VP -> Imp ; + ImpVP vp = {s = \\num,pol => linVP (VImp num pol) Statement vp} ; + +--2 Embedded sentences + + -- : S -> SC ; + EmbedS s = {s = s.s ! True} ; -- choose subordinate + + -- : QS -> SC ; + -- EmbedQS qs = { } ; + + -- : VP -> SC ; + EmbedVP vp = {s = infVP vp} ; +-} +--2 Sentences + + -- : Temp -> Pol -> Cl -> S ; + UseCl t p cl = { + s = t.s ++ p.s ++ cl.s ! t.t ! t.a ! p.p + } ; + + -- : Temp -> Pol -> QCl -> QS ; + UseQCl t p cl = {s = t.s ++ p.s ++ cl.s ! t.t ! t.a ! p.p} ; + + -- : Temp -> Pol -> RCl -> RS ; + -- UseRCl t p cl = {s = } ; + + -- AdvS : Adv -> S -> S ; -- then I will go home + AdvS = advS "" ; + + -- ExtAdvS : Adv -> S -> S ; -- next week, I will go home + ExtAdvS = advS (SOFT_BIND ++ ","); + + -- : S -> Subj -> S -> S ; + -- SSubjS s1 subj s2 = AdvS (AK.SubjS subj s2) s1 ; + + -- : S -> RS -> S ; -- she sleeps, which is good + -- RelS sent rs = advS {s = rs.s ! Sg3 Masc ++ SOFT_BIND ++ ","} sent ; + +oper + + advS : (comma : Str) -> Adverb -> S -> S = \comma,a,sent -> sent ** { + s = a.s ++ comma ++ sent.s + } ; + +} diff --git a/src/korean/StructuralKor.gf b/src/korean/StructuralKor.gf new file mode 100644 index 000000000..2f4593c86 --- /dev/null +++ b/src/korean/StructuralKor.gf @@ -0,0 +1,171 @@ +concrete StructuralKor of Structural = CatKor ** + open Prelude, ResKor, (N=NounKor), ParadigmsKor in { + +------- +-- Ad* +{- +lin almost_AdA = mkAdA "" ; +lin almost_AdN = ss "" ; +lin at_least_AdN = ss "" ; +lin at_most_AdN = ss "" ; +lin so_AdA = ss "" ; +lin too_AdA = ss "" ; +lin very_AdA = mkAdA "" ; + +lin as_CAdv = { s = "" ; p = [] } ; +lin less_CAdv = { s = "" ; p = [] } ; +lin more_CAdv = { s = "" ; p = [] } ; +lin how_IAdv = ss "" : + +lin how8much_IAdv = ss "" ; +lin when_IAdv = ss "" ; +lin where_IAdv = ss "" : +lin why_IAdv = ss "" : + +lin always_AdV = ss "" ; + +lin everywhere_Adv = ss "" ; +lin here7from_Adv = ss "" ; +lin here7to_Adv = ss "" ; +lin here_Adv = ss "" ; +lin quite_Adv = ss "" ; +lin somewhere_Adv = ss "" ; +lin there7from_Adv = ss "" ; +lin there7to_Adv = ss "" ; +lin there_Adv = ss "" ; + +-} +------- +-- Conj + +-- lin and_Conj = {s2 = table {x => "" ; y => ""} ; s1 = [] ; n = Pl} ; +-- lin or_Conj = {s2 = \\_ => "" ; s1 = [] ; n = Sg} ; +-- lin if_then_Conj = mkConj +-- lin both7and_DConj = mkConj "" "" pl ; +-- lin either7or_DConj = {s2 = \\_ => "" ; s1 = "" ; n = Sg} ; +-- +-- lin but_PConj = ss "" ; +-- lin otherwise_PConj = ss "" ; +-- lin therefore_PConj = ss "" ; + + +----------------- +-- *Det and Quant + +{- +lin how8many_IDet = ; + +lin all_Predet = {s = ""} ; +lin not_Predet = { s = "" } ; +lin only_Predet = { s = "" } ; +lin most_Predet = {s = ""} ; + +lin every_Det = R.defDet [] pl ** + { s = mkVow } ; +lin few_Det = R.indefDet "" pl ; +lin many_Det = R.indefDet "" pl ; +lin much_Det = R.indefDet "" sg ; + +lin somePl_Det = +lin someSg_Det = + +lin no_Quant = +lin that_Quant = +lin this_Quant = +lin which_IQuant = + + +----- +-- NP + +lin everybody_NP = defNP "" N.NumPl ; +lin everything_NP = defNP "" N.NumSg ; +lin nobody_NP = mkVerb; "" +lin nothing_NP = defNP "" N.NumSg ; +lin somebody_NP = defNP "" N.NumSg ; +lin something_NP = defNP "" N.NumSg ; + +oper + defNP : Str -> Num -> NP = {} ; +-} + +------- +-- Prep + +-- lin above_Prep = mkPrep "" +-- lin after_Prep = mkPrep "" +-- lin before_Prep = mkPrep "" ; +-- lin behind_Prep = mkPrep "" ; +-- lin between_Prep = = mkPrep "" ; +-- lin by8agent_Prep = mkPrep ; +-- lin by8means_Prep = mkPrep ; +-- lin during_Prep = mkPrep ; +-- lin except_Prep = mkPrep ; +-- lin for_Prep = mkPrep ; +-- lin from_Prep = mkPrep "" ; +-- lin in8front_Prep = mkPrep "" ; +-- lin in_Prep = mkPrep "" ; +-- lin on_Prep = mkPrep "" ; +-- lin part_Prep = mkPrep ; +-- lin possess_Prep = mkPrep ; +-- lin through_Prep = mkPrep ; +-- lin to_Prep = mkPrep ; +-- lin under_Prep = mkPrep "" ; +-- lin with_Prep = mkPrep "" ; +-- lin without_Prep = mkPrep "" ; + + +------- +-- Pron + +-- Pronouns are closed class, no constructor in ParadigmsKor. + -- it_Pron = + -- i_Pron = + -- youPol_Pron, + -- youSg_Pron = + -- he_Pron = + -- she_Pron = + -- we_Pron = + -- youPl_Pron = + -- they_Pron = + +--lin whatPl_IP = ; +--lin whatSg_IP = : +--lin whoPl_IP = ; +--lin whoSg_IP = ; + +------- +-- Subj + +-- lin although_Subj = +-- lin because_Subj = +-- lin if_Subj = +-- lin that_Subj = +-- lin when_Subj = + + +------ +-- Utt + +lin language_title_Utt = ss "한국어" ; +lin no_Utt = ss "예" ; +lin yes_Utt = ss "아니요" ; + + +------- +-- Verb + +--lin have_V2 = mkV2 have_V ; +-- lin can8know_VV = can_VV ; -- can (capacity) +-- lin can_VV = mkVV "" ; -- can (possibility) +-- lin must_VV = mkVV "" ; +-- lin want_VV = mkVV "" subjunctive ; + + +------ +-- Voc +{- +lin please_Voc = ss "" ; +-} + +} diff --git a/src/korean/SymbolKor.gf b/src/korean/SymbolKor.gf new file mode 100644 index 000000000..2d04509aa --- /dev/null +++ b/src/korean/SymbolKor.gf @@ -0,0 +1,50 @@ +--# -path=.:../abstract:../common:../prelude + +concrete SymbolKor of Symbol = CatKor ** + open Prelude, ParadigmsKor, ResKor, (NS=NounKor) in { + +lin + + -- : Symb -> PN ; -- x + SymbPN i = mkPN i.s ; + + -- : Int -> PN ; -- 27 + IntPN i = mkPN i.s ; + + -- : Float -> PN ; -- 3.14159 + FloatPN i = mkPN i.s ; + + -- : Card -> PN ; -- twelve [as proper name] + NumPN i = mkPN i.s ; + +{- +lin +-- CNIntNP cn i = {} ; + + -- : Det -> CN -> [Symb] -> NP ; -- (the) (2) numbers x and y + CNSymbNP det cn xs = + let cnSymb = cn ** { comp = cn.comp ++ xs.s } + in NS.DetCN det cnSymb ; + + -- : CN -> Card -> NP ; -- level five ; level 5 + CNNumNP cn i = NS.MassNP (cn ** { comp = cn.comp ++ i.s }) ; + + -- : Symb -> S ; + SymbS sy = {s = } ; + -- : Symb -> Card ; + SymbNum sy = { s = sy.s ; n = Pl } ; + + -- : Symb -> Ord ; + SymbOrd sy = { s =} ; +-} +lincat + Symb, [Symb] = SS ; + +lin + MkSymb s = s ; + + BaseSymb = infixSS "과" ; -- 와 after vowel. TODO make it a table. + ConsSymb = infixSS "," ; + + +} diff --git a/src/korean/VerbKor.gf b/src/korean/VerbKor.gf new file mode 100644 index 000000000..126a58294 --- /dev/null +++ b/src/korean/VerbKor.gf @@ -0,0 +1,138 @@ +concrete VerbKor of Verb = CatKor ** open ResKor, AdverbKor, Prelude in { + + +lin + +----- +-- VP + -- : V -> VP + UseV = ResKor.useV ; + + -- : V2 -> VP ; -- be loved + -- PassV2 = ResKor.passV2 ; + + -- : VPSlash -> VP ; + -- ReflVP = ResKor.insertRefl ; + + -- : VV -> VP -> VP ; + -- ComplVV vv vp = let vc = vp.vComp in case vv.vvtype of { + -- + -- } ; + + -- : VS -> S -> VP ; + -- ComplVS vs s = + -- let vps = useV vs ; + -- subord = SubjS {s=""} s ; + -- in vps ** {} ; + +{- + -- : VQ -> QS -> VP ; + ComplVQ vq qs = ; + + -- : VA -> AP -> VP ; -- they become red + ComplVA va ap = ResKor.insertComp (CompAP ap).s (useV va) ; + +-} +-------- +-- Slash +{- + -- : V2 -> VPSlash + SlashV2a = useVc ; + + -- : V3 -> NP -> VPSlash ; -- give it (to her) + -- : V3 -> NP -> VPSlash ; -- give (it) to her + Slash2V3, + Slash3V3 = \v3 -> insertComp (useVc3 v3) ; + + -- : V2S -> S -> VPSlash ; -- answer (to him) that it is good + SlashV2S v2s s = + let vps = useVc v2s ; + subord = SubjS {s=""} s ; + in vps ** {obj = } ; + + + -- : V2V -> VP -> VPSlash ; -- beg (her) to go + SlashV2V v2v vp = ; + + -- : V2Q -> QS -> VPSlash ; -- ask (him) who came + SlashV2Q v2q qs = ; + + -- : V2A -> AP -> VPSlash ; -- paint (it) red + -- TODO: is "red" plural in "paint them red"? + SlashV2A v2a ap = useVc v2a ** { + aComp = \\_ => (CompAP ap).aComp ! Sg3 Masc + } ; + + -- : VPSlash -> NP -> VP + ComplSlash = insertComp ; +-} +{- + -- : VV -> VPSlash -> VPSlash ; + -- Just like ComplVV except missing subject! + SlashVV vv vps = ComplVV vv vps ** { missing = vps.missing ; + post = vps.post } ; + + -- : V2V -> NP -> VPSlash -> VPSlash ; -- beg me to buy + SlashV2VNP v2v np vps = + ComplVV v2v vps ** + { missing = vps.missing ; + post = vps.post ; + iobj = np ** { s = np.s ! Dat } } ; + +-} + + -- : Comp -> VP ; + UseComp comp = UseCopula ** comp ; +{- + -- : VP -> Adv -> VP ; -- sleep here + AdvVP = insertAdv ; + + -- : VPSlash -> Adv -> VPSlash ; -- use (it) here + AdvVPSlash = insertAdv ; + + -- : VP -> Adv -> VP ; -- sleep , even though ... + ExtAdvVP vp adv = ; + + -- : AdV -> VP -> VP ; -- always sleep + AdVVP adv vp = vp ** {adv = adv} ; + + + -- : AdV -> VPSlash -> VPSlash ; -- always use (it) + AdVVPSlash adv vps = vps ** { adv = adv.s ++ vps.adv } ; +-} + -- : VP -> Prep -> VPSlash ; -- live in (it) + -- VPSlashPrep vp prep = + -- let adv = prepNP prep emptyNP + -- in insertAdv vp adv ; + + + + +--2 Complements to copula + +-- Adjectival phrases, noun phrases, and adverbs can be used. + + -- : AP -> Comp ; + CompAP ap = emptyComp ** { + aComp = ap.s ; + } ; + + -- : CN -> Comp ; + CompCN cn = emptyComp ** { + aComp = cn.s ; -- TODO: num. I am [a house that sleeps here] vs. we are [houses that sleep here] + } ; + + -- NP -> Comp ; + CompNP np = emptyComp ** { + nComp = np.s ; -- ! Object ; + } ; + + -- : Adv -> Comp ; + CompAdv adv = emptyComp ** { + aComp = adv.s ; + } ; + + -- : VP -- Copula alone; + UseCopula = useV copula ; + +} From 61fda2f53239ed44505f9e68be7caf9ee0183bbd Mon Sep 17 00:00:00 2001 From: Inari Listenmaa Date: Tue, 11 Feb 2020 12:57:11 +0100 Subject: [PATCH 02/35] Add comments about orthography --- src/korean/ParamKor.gf | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/korean/ParamKor.gf b/src/korean/ParamKor.gf index 084d72391..8931ca04f 100644 --- a/src/korean/ParamKor.gf +++ b/src/korean/ParamKor.gf @@ -3,6 +3,10 @@ resource ParamKor = ParamX ** open Prelude in { -------------------------------------------------------------------------------- -- Phonology +{- Lee & Ramsey 2000, p. 24-25: +The difference in the way these words are written has to do with the productivity of the suffix. While the suffixes -um and -i can be used relatively freely to derive nouns from verbs and adjectives, the others cannot. In the mind of the speaker (and the user of the orthography), the words wus-um ‘laughter’ and noph-i ‘height’ can be thought of as regular derivations of the verb wus- and the adjective noph-, much as are the predicative forms wus-uni, wus-ela, noph-ase, and noph-umyen. But words like makay ‘stopper’ (morphologically mak+ay, but written as ma+kay) and mutem ‘grave’ are not derived productively. The decision to write them without showing the suffix separated was based upon the assumption that most people think of them as single, indivisible words. Their etymologies were thought not to be obvious. +-} + oper v : pattern Str = #("아" | "이" | "어" | "가" | "개" | "갸" | "걔" | "거" | "게" | "겨" | "계" | "고" | "과" | "괘" | "괴" | "교" | "구" | "궈" | "궤" | "귀" | "규" | "그" | "긔" | "기") ; -- TODO: figure out if this is a smart way to do it; if no better way, then complete the table. From 30ce18e12443fec2dbfebd1a03591da320b97dbc Mon Sep 17 00:00:00 2001 From: Inari Listenmaa Date: Wed, 11 Mar 2020 15:28:27 +0100 Subject: [PATCH 03/35] (Kor) Add NForm and some Preps. --- src/korean/AdjectiveKor.gf | 2 +- src/korean/AdverbKor.gf | 4 ++-- src/korean/LexiconKor.gf | 2 +- src/korean/NounKor.gf | 2 +- src/korean/ParamKor.gf | 22 ++++++++++++++++++---- src/korean/ResKor.gf | 8 +++++--- src/korean/StructuralKor.gf | 8 ++++---- src/korean/VerbKor.gf | 4 ++-- 8 files changed, 34 insertions(+), 18 deletions(-) diff --git a/src/korean/AdjectiveKor.gf b/src/korean/AdjectiveKor.gf index a59e74ea5..440a473b1 100644 --- a/src/korean/AdjectiveKor.gf +++ b/src/korean/AdjectiveKor.gf @@ -11,7 +11,7 @@ concrete AdjectiveKor of Adjective = CatKor ** open ResKor, Prelude in { -- : A -> NP -> AP ; ComparA a np = a ** { - compar = np.s + compar = np.s ! Bare } ; -- : A2 -> NP -> AP ; -- married to her diff --git a/src/korean/AdverbKor.gf b/src/korean/AdverbKor.gf index 24da40d26..d332f627a 100644 --- a/src/korean/AdverbKor.gf +++ b/src/korean/AdverbKor.gf @@ -1,6 +1,6 @@ concrete AdverbKor of Adverb = CatKor ** open ResKor, ParamKor, ParadigmsKor, Prelude in { ---lin +lin -- : A -> Adv ; --PositAdvAdj adj = { } ; @@ -11,7 +11,7 @@ concrete AdverbKor of Adverb = CatKor ** open ResKor, ParamKor, ParadigmsKor, Pr -- ComparAdvAdjS : CAdv -> A -> S -> Adv ; -- more warmly than he runs -- : Prep -> NP -> Adv ; - -- PrepNP = + PrepNP prep np = {s = glue (np.s ! Bare) prep.s} ; -- Adverbs can be modified by 'adadjectives', just like adjectives. diff --git a/src/korean/LexiconKor.gf b/src/korean/LexiconKor.gf index 15f6036a8..958640353 100644 --- a/src/korean/LexiconKor.gf +++ b/src/korean/LexiconKor.gf @@ -176,7 +176,7 @@ lin girl_N = mkN "여자아이" ; -- lin horn_N = mkN "" ; -- lin horse_N = mkN "" ; -- lin hot_A = mkA "" ; -lin house_N = mkN "guri" ; +lin house_N = mkN "집" ; -- lin hunt_V2 = mkV2 "" ; -- lin husband_N = mkN "" ; diff --git a/src/korean/NounKor.gf b/src/korean/NounKor.gf index 81af0cbfe..ab79d4f03 100644 --- a/src/korean/NounKor.gf +++ b/src/korean/NounKor.gf @@ -7,7 +7,7 @@ concrete NounKor of Noun = CatKor ** open ResKor, Prelude in { --2 Noun phrases -- : Det -> CN -> NP - DetCN det cn = {s = det.s ++ cn.s} ; + DetCN det cn = {s = \\c => det.s ++ cn.s ! c} ; -- : PN -> NP ; -- UsePN pn = pn ** { diff --git a/src/korean/ParamKor.gf b/src/korean/ParamKor.gf index 8931ca04f..38f081d4d 100644 --- a/src/korean/ParamKor.gf +++ b/src/korean/ParamKor.gf @@ -21,6 +21,7 @@ oper -- "p" => "b" ; -- _ => s } ; + -------------------------------------------------------------------------------- -- Morphophonology @@ -31,11 +32,22 @@ oper param NForm = - Topic - | Subject - | Object ; + Bare -- no case particle + | Topic -- 은 or 는 + | Subject -- 이 or 가 + | Object -- 을 or 를 + ; +oper + allomorph : NForm -> Str -> Str = \nf,s -> + let endsInV : Bool = case s of {_ + #v => True ; _ => False} ; + in case nf of { + Topic => if_then_Str endsInV "은" "는" ; + Subject => if_then_Str endsInV "이" "가" ; + Object => if_then_Str endsInV "을" "를" ; + Bare => [] + } ; -------------------------------------------------------------------------------- -- Numerals @@ -56,7 +68,9 @@ oper -- Adjectives param - AForm = AdjPres | AdjPast ; -- TODO: proper thing + AForm = + AAttr | + APred VForm ; -------------------------------------------------------------------------------- -- Prepositions diff --git a/src/korean/ResKor.gf b/src/korean/ResKor.gf index 3303301b2..a7fcf317d 100644 --- a/src/korean/ResKor.gf +++ b/src/korean/ResKor.gf @@ -5,7 +5,7 @@ resource ResKor = ParamKor ** open Prelude, Predef, ParamKor in { oper Noun : Type = { - s : Str + s : NForm => Str } ; Noun2 : Type = Noun ; -- TODO eventually more parameters? Noun3 : Type = Noun ; @@ -15,7 +15,9 @@ oper PNoun : Type = Noun ; - mkNoun : Str -> Noun = \str -> ss str ; + mkNoun : Str -> Noun = \str -> { + s = \\cas => str + allomorph cas str + } ; useN : Noun -> CNoun = \n -> n ; @@ -185,7 +187,7 @@ oper predVPslash = predVP ; -- VP==VPSlash, Cl==ClSlash predVP : NounPhrase -> VerbPhrase -> ClSlash = \np,vp -> vp ** { - s = \\t,a,p => np.s + s = \\t,a,p => np.s ! Topic ++ vp.aComp ++ vp.nComp -- TODO: embed copula into complement ++ vp.s ! VFin Gnomic Pos -- TODO: actual forms } ; diff --git a/src/korean/StructuralKor.gf b/src/korean/StructuralKor.gf index 2f4593c86..8ae63daea 100644 --- a/src/korean/StructuralKor.gf +++ b/src/korean/StructuralKor.gf @@ -104,12 +104,12 @@ oper -- lin for_Prep = mkPrep ; -- lin from_Prep = mkPrep "" ; -- lin in8front_Prep = mkPrep "" ; --- lin in_Prep = mkPrep "" ; --- lin on_Prep = mkPrep "" ; +lin in_Prep = mkPrep "에서" ; +-- lin on_Prep = mkPrep "에서" ; -- lin part_Prep = mkPrep ; --- lin possess_Prep = mkPrep ; +lin possess_Prep = mkPrep "의" ; -- lin through_Prep = mkPrep ; --- lin to_Prep = mkPrep ; +lin to_Prep = mkPrep "에"; -- lin under_Prep = mkPrep "" ; -- lin with_Prep = mkPrep "" ; -- lin without_Prep = mkPrep "" ; diff --git a/src/korean/VerbKor.gf b/src/korean/VerbKor.gf index 126a58294..2c419583c 100644 --- a/src/korean/VerbKor.gf +++ b/src/korean/VerbKor.gf @@ -119,12 +119,12 @@ lin -- : CN -> Comp ; CompCN cn = emptyComp ** { - aComp = cn.s ; -- TODO: num. I am [a house that sleeps here] vs. we are [houses that sleep here] + aComp = cn.s ! Bare ; -- TODO: num. I am [a house that sleeps here] vs. we are [houses that sleep here] } ; -- NP -> Comp ; CompNP np = emptyComp ** { - nComp = np.s ; -- ! Object ; + nComp = np.s ! Bare ; } ; -- : Adv -> Comp ; From c31c00dd831ddb998f40eb33de3826bbe92400fc Mon Sep 17 00:00:00 2001 From: Inari Listenmaa Date: Wed, 11 Mar 2020 16:54:02 +0100 Subject: [PATCH 04/35] (Kor) Add AForm, change VP and Comp. --- src/korean/AdjectiveKor.gf | 1 + src/korean/LexiconKor.gf | 4 ++-- src/korean/ParamKor.gf | 12 +++++++----- src/korean/ResKor.gf | 23 +++++++++++++++-------- src/korean/VerbKor.gf | 6 +++--- 5 files changed, 28 insertions(+), 18 deletions(-) diff --git a/src/korean/AdjectiveKor.gf b/src/korean/AdjectiveKor.gf index 440a473b1..04a6b82be 100644 --- a/src/korean/AdjectiveKor.gf +++ b/src/korean/AdjectiveKor.gf @@ -37,6 +37,7 @@ concrete AdjectiveKor of Adjective = CatKor ** open ResKor, Prelude in { -- : Ord -> AP ; -- warmest AdjOrd ord = ord ** { + s = \\_ => ord.s ; compar = [] } ; diff --git a/src/korean/LexiconKor.gf b/src/korean/LexiconKor.gf index 958640353..ee5e6080b 100644 --- a/src/korean/LexiconKor.gf +++ b/src/korean/LexiconKor.gf @@ -29,7 +29,7 @@ concrete LexiconKor of Lexicon = CatKor ** -- lin beer_N = mkN "" ; -- lin beg_V2V = mkV2 "" ; -- lin belly_N = mkN "" ; --- lin big_A = mkA "" ; +lin big_A = mkA "크다" ; -- lin bike_N = mkN "" ; -- lin bird_N = mkN "" ; -- lin bite_V2 = mkV2 "" ; @@ -325,7 +325,7 @@ lin person_N = mkN "사람" ; -- lin skin_N = mkN "" ; -- lin sky_N = mkN "" ; -- lin sleep_V = mkV "" ; -lin small_A = mkA "작아" ; +lin small_A = mkA "작아다" ; -- lin smell_V = mkV "" ; -- lin smoke_N = mkN "" ; -- lin smooth_A = mkA "" ; diff --git a/src/korean/ParamKor.gf b/src/korean/ParamKor.gf index 38f081d4d..b862cc2bd 100644 --- a/src/korean/ParamKor.gf +++ b/src/korean/ParamKor.gf @@ -9,7 +9,7 @@ The difference in the way these words are written has to do with the productivit oper v : pattern Str = #("아" | "이" | "어" | - "가" | "개" | "갸" | "걔" | "거" | "게" | "겨" | "계" | "고" | "과" | "괘" | "괴" | "교" | "구" | "궈" | "궤" | "귀" | "규" | "그" | "긔" | "기") ; -- TODO: figure out if this is a smart way to do it; if no better way, then complete the table. + "가" | "개" | "갸" | "걔" | "거" | "게" | "겨" | "계" | "고" | "과" | "괘" | "괴" | "교" | "구" | "궈" | "궤" | "귀" | "규" | "그" | "긔" | "기" | "크") ; -- TODO: figure out if this is a smart way to do it; if no better way, then complete the table. -- maybe subpatterns for diphthongs? -- c : pattern Str = #("m"|"n"|"p"|"b"|"t"|"d"|"k"|"g"|"f"|"v" @@ -22,6 +22,8 @@ oper -- _ => s } ; + vowFinal : Str -> Bool = \str -> + case str of {_ + #v => True ; _ => False} ; -------------------------------------------------------------------------------- -- Morphophonology @@ -41,11 +43,11 @@ param oper allomorph : NForm -> Str -> Str = \nf,s -> - let endsInV : Bool = case s of {_ + #v => True ; _ => False} ; + let finalV : Bool = vowFinal s ; in case nf of { - Topic => if_then_Str endsInV "은" "는" ; - Subject => if_then_Str endsInV "이" "가" ; - Object => if_then_Str endsInV "을" "를" ; + Topic => if_then_Str finalV "은" "는" ; + Subject => if_then_Str finalV "이" "가" ; + Object => if_then_Str finalV "을" "를" ; Bare => [] } ; -------------------------------------------------------------------------------- diff --git a/src/korean/ResKor.gf b/src/korean/ResKor.gf index a7fcf317d..a6cb8277d 100644 --- a/src/korean/ResKor.gf +++ b/src/korean/ResKor.gf @@ -100,20 +100,28 @@ oper -------------------------------------------------------------------------------- -- Adjectives - Adjective : Type = SS ; -- {s : AForm => Str} ; + Adjective : Type = {s : AForm => Str} ; Adjective2 : Type = Adjective ; - mkAdj : Str -> Adjective = \str -> {s = str} ; + mkAdj : Str -> Adjective = \inf -> let stem = init inf in { + s = table { + AAttr => stem + if_then_Str (vowFinal stem) "ᆫ" "은" ; + APred VInf => inf ; + APred (VFin Gnomic Pos) => stem + "ᆸ니다" ; + APred (VFin Gnomic Pos) => "안" ++ stem + "ᆸ니다" ; -- TODO check + APred _ => stem ++ "TODO: proper adjective inflection" + } + } ; AdjPhrase : Type = Adjective ** {compar : Str} ; -------------------------------------------------------------------------------- -- Verbs BaseVerb : Type = { - s : VForm => Str ; type : VerbType ; } ; Verb : Type = BaseVerb ** { + s : VForm => Str ; } ; Verb2 : Type = Verb ; -- ** {c2 : Postposition} ; Verb3 : Type = Verb ; -- ** {c3 : Postposition} ; @@ -143,13 +151,13 @@ oper -- VP Complement : Type = { - aComp : Str ; -- AForm => Str ; + s : VForm => Str ; nComp : Str ; -- compar : Str ; -- comparative is discontinuous } ; emptyComp : Complement = { - aComp = [] ; + s = \\_ => [] ; nComp = [] ; -- compar : Str ; } ; @@ -164,9 +172,8 @@ oper VPSlash : Type = VerbPhrase ; useV : Verb -> VerbPhrase = \v -> v ** { - aComp = [] ; -- \\_ => [] ; + vComp, nComp = [] ; - vComp = [] ; } ; -------------------------------------------------------------------------------- -- Cl, S @@ -188,7 +195,7 @@ oper predVP : NounPhrase -> VerbPhrase -> ClSlash = \np,vp -> vp ** { s = \\t,a,p => np.s ! Topic - ++ vp.aComp ++ vp.nComp -- TODO: embed copula into complement + ++ vp.nComp -- TODO: embed copula into complement ++ vp.s ! VFin Gnomic Pos -- TODO: actual forms } ; diff --git a/src/korean/VerbKor.gf b/src/korean/VerbKor.gf index 2c419583c..60f6966e3 100644 --- a/src/korean/VerbKor.gf +++ b/src/korean/VerbKor.gf @@ -114,12 +114,12 @@ lin -- : AP -> Comp ; CompAP ap = emptyComp ** { - aComp = ap.s ; + s = \\vf => ap.s ! APred vf ; } ; -- : CN -> Comp ; CompCN cn = emptyComp ** { - aComp = cn.s ! Bare ; -- TODO: num. I am [a house that sleeps here] vs. we are [houses that sleep here] + nComp = cn.s ! Bare ; -- TODO: num. I am [a house that sleeps here] vs. we are [houses that sleep here] } ; -- NP -> Comp ; @@ -129,7 +129,7 @@ lin -- : Adv -> Comp ; CompAdv adv = emptyComp ** { - aComp = adv.s ; + nComp = adv.s ; } ; -- : VP -- Copula alone; From 5322b9d90a3b75862ee7d6c957926a0603d6fe95 Mon Sep 17 00:00:00 2001 From: Inari Listenmaa Date: Sun, 22 Mar 2020 08:06:39 +0100 Subject: [PATCH 05/35] (Kor) Add a separate module for handling Hangul trarnsformations --- src/korean/Hangul.gf | 844 +++++++++++++++++++++++++++++++++++++++++ src/korean/ParamKor.gf | 33 +- src/korean/ResKor.gf | 6 +- 3 files changed, 862 insertions(+), 21 deletions(-) create mode 100644 src/korean/Hangul.gf diff --git a/src/korean/Hangul.gf b/src/korean/Hangul.gf new file mode 100644 index 000000000..e1685cdf8 --- /dev/null +++ b/src/korean/Hangul.gf @@ -0,0 +1,844 @@ +resource Hangul = open Prelude in { + +oper + v : pattern Str = #("가" | "까" | "나" | "다" | "따" | "라" | "마" | "바" | "빠" | "사" | "싸" | "아" | "자" | "짜" | "차" | "카" | "타" | "파" | "하" | + "개" | "깨" | "내" | "대" | "때" | "래" | "매" | "배" | "빼" | "새" | "쌔" | "애" | "재" | "째" | "채" | "캐" | "태" | "패" | "해" | + "갸" | "꺄" | "냐" | "댜" | "땨" | "랴" | "먀" | "뱌" | "뺘" | "샤" | "쌰" | "야" | "쟈" | "쨔" | "챠" | "캬" | "탸" | "퍄" | "햐" | + "걔" | "꺠" | "냬" | "댸" | "떄" | "럐" | "먜" | "뱨" | "뺴" | "섀" | "썌" | "얘" | "쟤" | "쨰" | "챼" | "컈" | "턔" | "퍠" | "햬" | + "거" | "꺼" | "너" | "더" | "떠" | "러" | "머" | "버" | "뻐" | "서" | "써" | "어" | "저" | "쩌" | "처" | "커" | "터" | "퍼" | "허" | + "게" | "께" | "네" | "데" | "떼" | "레" | "메" | "베" | "뻬" | "세" | "쎄" | "에" | "제" | "쩨" | "체" | "케" | "테" | "페" | "헤" | + "겨" | "껴" | "녀" | "뎌" | "뗘" | "려" | "며" | "벼" | "뼈" | "셔" | "쎠" | "여" | "져" | "쪄" | "쳐" | "켜" | "텨" | "펴" | "혀" | + "계" | "꼐" | "녜" | "뎨" | "뗴" | "례" | "몌" | "볘" | "뼤" | "셰" | "쎼" | "예" | "졔" | "쪠" | "쳬" | "켸" | "톄" | "폐" | "혜" | + "고" | "꼬" | "노" | "도" | "또" | "로" | "모" | "보" | "뽀" | "소" | "쏘" | "오" | "조" | "쪼" | "초" | "코" | "토" | "포" | "호" | + "과" | "꽈" | "놔" | "돠" | "똬" | "롸" | "뫄" | "봐" | "뽜" | "솨" | "쏴" | "와" | "좌" | "쫘" | "촤" | "콰" | "톼" | "퐈" | "화" | + "괘" | "꽤" | "놰" | "돼" | "뙈" | "뢔" | "뫠" | "봬" | "뽸" | "쇄" | "쐐" | "왜" | "좨" | "쫴" | "쵀" | "쾌" | "퇘" | "퐤" | "홰" | + "괴" | "꾀" | "뇌" | "되" | "뙤" | "뢰" | "뫼" | "뵈" | "뾔" | "쇠" | "쐬" | "외" | "죄" | "쬐" | "최" | "쾨" | "퇴" | "푀" | "회" | + "교" | "꾜" | "뇨" | "됴" | "뚀" | "료" | "묘" | "뵤" | "뾰" | "쇼" | "쑈" | "요" | "죠" | "쬬" | "쵸" | "쿄" | "툐" | "표" | "효" | + "구" | "꾸" | "누" | "두" | "뚜" | "루" | "무" | "부" | "뿌" | "수" | "쑤" | "우" | "주" | "쭈" | "추" | "쿠" | "투" | "푸" | "후" | + "궈" | "꿔" | "눠" | "둬" | "뚸" | "뤄" | "뭐" | "붜" | "뿨" | "숴" | "쒀" | "워" | "줘" | "쭤" | "춰" | "쿼" | "퉈" | "풔" | "훠" | + "궤" | "꿰" | "눼" | "뒈" | "뛔" | "뤠" | "뭬" | "붸" | "쀄" | "쉐" | "쒜" | "웨" | "줴" | "쮀" | "췌" | "퀘" | "퉤" | "풰" | "훼" | + "귀" | "뀌" | "뉘" | "뒤" | "뛰" | "뤼" | "뮈" | "뷔" | "쀠" | "쉬" | "쒸" | "위" | "쥐" | "쮜" | "취" | "퀴" | "튀" | "퓌" | "휘" | + "규" | "뀨" | "뉴" | "듀" | "뜌" | "류" | "뮤" | "뷰" | "쀼" | "슈" | "쓔" | "유" | "쥬" | "쮸" | "츄" | "큐" | "튜" | "퓨" | "휴" | + "그" | "끄" | "느" | "드" | "뜨" | "르" | "므" | "브" | "쁘" | "스" | "쓰" | "으" | "즈" | "쯔" | "츠" | "크" | "트" | "프" | "흐" | + "긔" | "끠" | "늬" | "듸" | "띄" | "릐" | "믜" | "븨" | "쁴" | "싀" | "씌" | "의" | "즤" | "쯰" | "츼" | "킈" | "틔" | "픠" | "희" | + "기" | "끼" | "니" | "디" | "띠" | "리" | "미" | "비" | "삐" | "시" | "씨" | "이" | "지" | "찌" | "치" | "키" | "티" | "피" | "히" ) ; + + -- maybe subpatterns for diphthongs? + + -- c : pattern Str = #(); + -- + -- voiced : Str -> Str = \s -> case s of { + -- "k" => "g" ; + -- "t" => "d" ; + -- "p" => "b" ; + -- _ => s } ; + + + add_N : Str -> Str = \str -> + case str of { + _ + "가" => "간" ; + _ + "까" => "깐" ; + _ + "나" => "난" ; + _ + "다" => "단" ; + _ + "따" => "딴" ; + _ + "라" => "란" ; + _ + "마" => "만" ; + _ + "바" => "반" ; + _ + "빠" => "빤" ; + _ + "사" => "산" ; + _ + "싸" => "싼" ; + _ + "아" => "안" ; + _ + "자" => "잔" ; + _ + "짜" => "짠" ; + _ + "차" => "찬" ; + _ + "카" => "칸" ; + _ + "타" => "탄" ; + _ + "파" => "판" ; + _ + "하" => "한" ; + _ + "개" => "갠" ; + _ + "깨" => "깬" ; + _ + "내" => "낸" ; + _ + "대" => "댄" ; + _ + "때" => "땐" ; + _ + "래" => "랜" ; + _ + "매" => "맨" ; + _ + "배" => "밴" ; + _ + "빼" => "뺀" ; + _ + "새" => "샌" ; + _ + "쌔" => "쌘" ; + _ + "애" => "앤" ; + _ + "재" => "잰" ; + _ + "째" => "짼" ; + _ + "채" => "챈" ; + _ + "캐" => "캔" ; + _ + "태" => "탠" ; + _ + "패" => "팬" ; + _ + "해" => "핸" ; + _ + "갸" => "갼" ; + _ + "꺄" => "꺈" ; + _ + "냐" => "냔" ; + _ + "댜" => "댠" ; + _ + "땨" => "땬" ; + _ + "랴" => "랸" ; + _ + "먀" => "먄" ; + _ + "뱌" => "뱐" ; + _ + "뺘" => "뺜" ; + _ + "샤" => "샨" ; + _ + "쌰" => "쌴" ; + _ + "야" => "얀" ; + _ + "쟈" => "쟌" ; + _ + "쨔" => "쨘" ; + _ + "챠" => "챤" ; + _ + "캬" => "캰" ; + _ + "탸" => "탼" ; + _ + "퍄" => "퍈" ; + _ + "햐" => "햔" ; + _ + "걔" => "걘" ; + _ + "꺠" => "꺤" ; + _ + "냬" => "냰" ; + _ + "댸" => "댼" ; + _ + "떄" => "떈" ; + _ + "럐" => "럔" ; + _ + "먜" => "먠" ; + _ + "뱨" => "뱬" ; + _ + "뺴" => "뺸" ; + _ + "섀" => "섄" ; + _ + "썌" => "썐" ; + _ + "얘" => "얜" ; + _ + "쟤" => "쟨" ; + _ + "쨰" => "쨴" ; + _ + "챼" => "첀" ; + _ + "컈" => "컌" ; + _ + "턔" => "턘" ; + _ + "퍠" => "퍤" ; + _ + "햬" => "햰" ; + _ + "거" => "건" ; + _ + "꺼" => "껀" ; + _ + "너" => "넌" ; + _ + "더" => "던" ; + _ + "떠" => "떤" ; + _ + "러" => "런" ; + _ + "머" => "먼" ; + _ + "버" => "번" ; + _ + "뻐" => "뻔" ; + _ + "서" => "선" ; + _ + "써" => "썬" ; + _ + "어" => "언" ; + _ + "저" => "전" ; + _ + "쩌" => "쩐" ; + _ + "처" => "천" ; + _ + "커" => "컨" ; + _ + "터" => "턴" ; + _ + "퍼" => "펀" ; + _ + "허" => "헌" ; + _ + "게" => "겐" ; + _ + "께" => "껜" ; + _ + "네" => "넨" ; + _ + "데" => "덴" ; + _ + "떼" => "뗀" ; + _ + "레" => "렌" ; + _ + "메" => "멘" ; + _ + "베" => "벤" ; + _ + "뻬" => "뻰" ; + _ + "세" => "센" ; + _ + "쎄" => "쎈" ; + _ + "에" => "엔" ; + _ + "제" => "젠" ; + _ + "쩨" => "쩬" ; + _ + "체" => "첸" ; + _ + "케" => "켄" ; + _ + "테" => "텐" ; + _ + "페" => "펜" ; + _ + "헤" => "헨" ; + _ + "겨" => "견" ; + _ + "껴" => "껸" ; + _ + "녀" => "년" ; + _ + "뎌" => "뎐" ; + _ + "뗘" => "뗜" ; + _ + "려" => "련" ; + _ + "며" => "면" ; + _ + "벼" => "변" ; + _ + "뼈" => "뼌" ; + _ + "셔" => "션" ; + _ + "쎠" => "쎤" ; + _ + "여" => "연" ; + _ + "져" => "젼" ; + _ + "쪄" => "쪈" ; + _ + "쳐" => "쳔" ; + _ + "켜" => "켠" ; + _ + "텨" => "텬" ; + _ + "펴" => "편" ; + _ + "혀" => "현" ; + _ + "계" => "곈" ; + _ + "꼐" => "꼔" ; + _ + "녜" => "녠" ; + _ + "뎨" => "뎬" ; + _ + "뗴" => "뗸" ; + _ + "례" => "롄" ; + _ + "몌" => "몐" ; + _ + "볘" => "볜" ; + _ + "뼤" => "뼨" ; + _ + "셰" => "셴" ; + _ + "쎼" => "쏀" ; + _ + "예" => "옌" ; + _ + "졔" => "졘" ; + _ + "쪠" => "쪤" ; + _ + "쳬" => "쳰" ; + _ + "켸" => "켼" ; + _ + "톄" => "톈" ; + _ + "폐" => "폔" ; + _ + "혜" => "혠" ; + _ + "고" => "곤" ; + _ + "꼬" => "꼰" ; + _ + "노" => "논" ; + _ + "도" => "돈" ; + _ + "또" => "똔" ; + _ + "로" => "론" ; + _ + "모" => "몬" ; + _ + "보" => "본" ; + _ + "뽀" => "뽄" ; + _ + "소" => "손" ; + _ + "쏘" => "쏜" ; + _ + "오" => "온" ; + _ + "조" => "존" ; + _ + "쪼" => "쫀" ; + _ + "초" => "촌" ; + _ + "코" => "콘" ; + _ + "토" => "톤" ; + _ + "포" => "폰" ; + _ + "호" => "혼" ; + _ + "과" => "관" ; + _ + "꽈" => "꽌" ; + _ + "놔" => "놘" ; + _ + "돠" => "돤" ; + _ + "똬" => "똰" ; + _ + "롸" => "롼" ; + _ + "뫄" => "뫈" ; + _ + "봐" => "봔" ; + _ + "뽜" => "뽠" ; + _ + "솨" => "솬" ; + _ + "쏴" => "쏸" ; + _ + "와" => "완" ; + _ + "좌" => "좐" ; + _ + "쫘" => "쫜" ; + _ + "촤" => "촨" ; + _ + "콰" => "콴" ; + _ + "톼" => "퇀" ; + _ + "퐈" => "퐌" ; + _ + "화" => "환" ; + _ + "괘" => "괜" ; + _ + "꽤" => "꽨" ; + _ + "놰" => "놴" ; + _ + "돼" => "됀" ; + _ + "뙈" => "뙌" ; + _ + "뢔" => "뢘" ; + _ + "뫠" => "뫤" ; + _ + "봬" => "봰" ; + _ + "뽸" => "뽼" ; + _ + "쇄" => "쇈" ; + _ + "쐐" => "쐔" ; + _ + "왜" => "왠" ; + _ + "좨" => "좬" ; + _ + "쫴" => "쫸" ; + _ + "쵀" => "쵄" ; + _ + "쾌" => "쾐" ; + _ + "퇘" => "퇜" ; + _ + "퐤" => "퐨" ; + _ + "홰" => "홴" ; + _ + "괴" => "괸" ; + _ + "꾀" => "꾄" ; + _ + "뇌" => "뇐" ; + _ + "되" => "된" ; + _ + "뙤" => "뙨" ; + _ + "뢰" => "뢴" ; + _ + "뫼" => "묀" ; + _ + "뵈" => "뵌" ; + _ + "뾔" => "뾘" ; + _ + "쇠" => "쇤" ; + _ + "쐬" => "쐰" ; + _ + "외" => "왼" ; + _ + "죄" => "죈" ; + _ + "쬐" => "쬔" ; + _ + "최" => "쵠" ; + _ + "쾨" => "쾬" ; + _ + "퇴" => "퇸" ; + _ + "푀" => "푄" ; + _ + "회" => "횐" ; + _ + "교" => "굔" ; + _ + "꾜" => "꾠" ; + _ + "뇨" => "뇬" ; + _ + "됴" => "됸" ; + _ + "뚀" => "뚄" ; + _ + "료" => "룐" ; + _ + "묘" => "묜" ; + _ + "뵤" => "뵨" ; + _ + "뾰" => "뾴" ; + _ + "쇼" => "숀" ; + _ + "쑈" => "쑌" ; + _ + "요" => "욘" ; + _ + "죠" => "죤" ; + _ + "쬬" => "쬰" ; + _ + "쵸" => "쵼" ; + _ + "쿄" => "쿈" ; + _ + "툐" => "툔" ; + _ + "표" => "푠" ; + _ + "효" => "횬" ; + _ + "구" => "군" ; + _ + "꾸" => "꾼" ; + _ + "누" => "눈" ; + _ + "두" => "둔" ; + _ + "뚜" => "뚠" ; + _ + "루" => "룬" ; + _ + "무" => "문" ; + _ + "부" => "분" ; + _ + "뿌" => "뿐" ; + _ + "수" => "순" ; + _ + "쑤" => "쑨" ; + _ + "우" => "운" ; + _ + "주" => "준" ; + _ + "쭈" => "쭌" ; + _ + "추" => "춘" ; + _ + "쿠" => "쿤" ; + _ + "투" => "툰" ; + _ + "푸" => "푼" ; + _ + "후" => "훈" ; + _ + "궈" => "권" ; + _ + "꿔" => "꿘" ; + _ + "눠" => "눤" ; + _ + "둬" => "둰" ; + _ + "뚸" => "뚼" ; + _ + "뤄" => "뤈" ; + _ + "뭐" => "뭔" ; + _ + "붜" => "붠" ; + _ + "뿨" => "뿬" ; + _ + "숴" => "숸" ; + _ + "쒀" => "쒄" ; + _ + "워" => "원" ; + _ + "줘" => "줜" ; + _ + "쭤" => "쭨" ; + _ + "춰" => "춴" ; + _ + "쿼" => "퀀" ; + _ + "퉈" => "퉌" ; + _ + "풔" => "풘" ; + _ + "훠" => "훤" ; + _ + "궤" => "궨" ; + _ + "꿰" => "꿴" ; + _ + "눼" => "뉀" ; + _ + "뒈" => "뒌" ; + _ + "뛔" => "뛘" ; + _ + "뤠" => "뤤" ; + _ + "뭬" => "뭰" ; + _ + "붸" => "붼" ; + _ + "쀄" => "쀈" ; + _ + "쉐" => "쉔" ; + _ + "쒜" => "쒠" ; + _ + "웨" => "웬" ; + _ + "줴" => "줸" ; + _ + "쮀" => "쮄" ; + _ + "췌" => "췐" ; + _ + "퀘" => "퀜" ; + _ + "퉤" => "퉨" ; + _ + "풰" => "풴" ; + _ + "훼" => "휀" ; + _ + "귀" => "귄" ; + _ + "뀌" => "뀐" ; + _ + "뉘" => "뉜" ; + _ + "뒤" => "뒨" ; + _ + "뛰" => "뛴" ; + _ + "뤼" => "륀" ; + _ + "뮈" => "뮌" ; + _ + "뷔" => "뷘" ; + _ + "쀠" => "쀤" ; + _ + "쉬" => "쉰" ; + _ + "쒸" => "쒼" ; + _ + "위" => "윈" ; + _ + "쥐" => "쥔" ; + _ + "쮜" => "쮠" ; + _ + "취" => "췬" ; + _ + "퀴" => "퀸" ; + _ + "튀" => "튄" ; + _ + "퓌" => "퓐" ; + _ + "휘" => "휜" ; + _ + "규" => "균" ; + _ + "뀨" => "뀬" ; + _ + "뉴" => "뉸" ; + _ + "듀" => "듄" ; + _ + "뜌" => "뜐" ; + _ + "류" => "륜" ; + _ + "뮤" => "뮨" ; + _ + "뷰" => "뷴" ; + _ + "쀼" => "쁀" ; + _ + "슈" => "슌" ; + _ + "쓔" => "쓘" ; + _ + "유" => "윤" ; + _ + "쥬" => "쥰" ; + _ + "쮸" => "쮼" ; + _ + "츄" => "츈" ; + _ + "큐" => "큔" ; + _ + "튜" => "튠" ; + _ + "퓨" => "퓬" ; + _ + "휴" => "휸" ; + _ + "그" => "근" ; + _ + "끄" => "끈" ; + _ + "느" => "는" ; + _ + "드" => "든" ; + _ + "뜨" => "뜬" ; + _ + "르" => "른" ; + _ + "므" => "믄" ; + _ + "브" => "븐" ; + _ + "쁘" => "쁜" ; + _ + "스" => "슨" ; + _ + "쓰" => "쓴" ; + _ + "으" => "은" ; + _ + "즈" => "즌" ; + _ + "쯔" => "쯘" ; + _ + "츠" => "츤" ; + _ + "크" => "큰" ; + _ + "트" => "튼" ; + _ + "프" => "픈" ; + _ + "흐" => "흔" ; + _ + "긔" => "긘" ; + _ + "끠" => "끤" ; + _ + "늬" => "늰" ; + _ + "듸" => "듼" ; + _ + "띄" => "띈" ; + _ + "릐" => "릔" ; + _ + "믜" => "믠" ; + _ + "븨" => "븬" ; + _ + "쁴" => "쁸" ; + _ + "싀" => "싄" ; + _ + "씌" => "씐" ; + _ + "의" => "읜" ; + _ + "즤" => "즨" ; + _ + "쯰" => "쯴" ; + _ + "츼" => "칀" ; + _ + "킈" => "킌" ; + _ + "틔" => "틘" ; + _ + "픠" => "픤" ; + _ + "희" => "흰" ; + _ + "기" => "긴" ; + _ + "끼" => "낀" ; + _ + "니" => "닌" ; + _ + "디" => "딘" ; + _ + "띠" => "띤" ; + _ + "리" => "린" ; + _ + "미" => "민" ; + _ + "비" => "빈" ; + _ + "삐" => "삔" ; + _ + "시" => "신" ; + _ + "씨" => "씬" ; + _ + "이" => "인" ; + _ + "지" => "진" ; + _ + "찌" => "찐" ; + _ + "치" => "친" ; + _ + "키" => "킨" ; + _ + "티" => "틴" ; + _ + "피" => "핀" ; + _ + "히" => "힌" ; + _ => str + "은" + } ; + + add_B : Str -> Str = \str -> + case str of { + _ + "가" => "갑" ; + _ + "까" => "깝" ; + _ + "나" => "납" ; + _ + "다" => "답" ; + _ + "따" => "땁" ; + _ + "라" => "랍" ; + _ + "마" => "맙" ; + _ + "바" => "밥" ; + _ + "빠" => "빱" ; + _ + "사" => "삽" ; + _ + "싸" => "쌉" ; + _ + "아" => "압" ; + _ + "자" => "잡" ; + _ + "짜" => "짭" ; + _ + "차" => "찹" ; + _ + "카" => "캅" ; + _ + "타" => "탑" ; + _ + "파" => "팝" ; + _ + "하" => "합" ; + _ + "개" => "갭" ; + _ + "깨" => "깹" ; + _ + "내" => "냅" ; + _ + "대" => "댑" ; + _ + "때" => "땝" ; + _ + "래" => "랩" ; + _ + "매" => "맵" ; + _ + "배" => "뱁" ; + _ + "빼" => "뺍" ; + _ + "새" => "샙" ; + _ + "쌔" => "쌥" ; + _ + "애" => "앱" ; + _ + "재" => "잽" ; + _ + "째" => "쨉" ; + _ + "채" => "챕" ; + _ + "캐" => "캡" ; + _ + "태" => "탭" ; + _ + "패" => "팹" ; + _ + "해" => "햅" ; + _ + "갸" => "걉" ; + _ + "꺄" => "꺕" ; + _ + "냐" => "냡" ; + _ + "댜" => "댭" ; + _ + "땨" => "땹" ; + _ + "랴" => "럅" ; + _ + "먀" => "먑" ; + _ + "뱌" => "뱝" ; + _ + "뺘" => "뺩" ; + _ + "샤" => "샵" ; + _ + "쌰" => "썁" ; + _ + "야" => "얍" ; + _ + "쟈" => "쟙" ; + _ + "쨔" => "쨥" ; + _ + "챠" => "챱" ; + _ + "캬" => "캽" ; + _ + "탸" => "턉" ; + _ + "퍄" => "퍕" ; + _ + "햐" => "햡" ; + _ + "걔" => "걥" ; + _ + "꺠" => "꺱" ; + _ + "냬" => "냽" ; + _ + "댸" => "덉" ; + _ + "떄" => "떕" ; + _ + "럐" => "럡" ; + _ + "먜" => "먭" ; + _ + "뱨" => "뱹" ; + _ + "뺴" => "뻅" ; + _ + "섀" => "섑" ; + _ + "썌" => "썝" ; + _ + "얘" => "얩" ; + _ + "쟤" => "쟵" ; + _ + "쨰" => "쩁" ; + _ + "챼" => "첍" ; + _ + "컈" => "컙" ; + _ + "턔" => "턥" ; + _ + "퍠" => "퍱" ; + _ + "햬" => "햽" ; + _ + "거" => "겁" ; + _ + "꺼" => "껍" ; + _ + "너" => "넙" ; + _ + "더" => "덥" ; + _ + "떠" => "떱" ; + _ + "러" => "럽" ; + _ + "머" => "멉" ; + _ + "버" => "법" ; + _ + "뻐" => "뻡" ; + _ + "서" => "섭" ; + _ + "써" => "썹" ; + _ + "어" => "업" ; + _ + "저" => "접" ; + _ + "쩌" => "쩝" ; + _ + "처" => "첩" ; + _ + "커" => "컵" ; + _ + "터" => "텁" ; + _ + "퍼" => "펍" ; + _ + "허" => "헙" ; + _ + "게" => "겝" ; + _ + "께" => "껩" ; + _ + "네" => "넵" ; + _ + "데" => "뎁" ; + _ + "떼" => "뗍" ; + _ + "레" => "렙" ; + _ + "메" => "멥" ; + _ + "베" => "벱" ; + _ + "뻬" => "뻽" ; + _ + "세" => "셉" ; + _ + "쎄" => "쎕" ; + _ + "에" => "엡" ; + _ + "제" => "젭" ; + _ + "쩨" => "쩹" ; + _ + "체" => "쳅" ; + _ + "케" => "켑" ; + _ + "테" => "텝" ; + _ + "페" => "펩" ; + _ + "헤" => "헵" ; + _ + "겨" => "겹" ; + _ + "껴" => "꼅" ; + _ + "녀" => "녑" ; + _ + "뎌" => "뎝" ; + _ + "뗘" => "뗩" ; + _ + "려" => "렵" ; + _ + "며" => "몁" ; + _ + "벼" => "볍" ; + _ + "뼈" => "뼙" ; + _ + "셔" => "셥" ; + _ + "쎠" => "쎱" ; + _ + "여" => "엽" ; + _ + "져" => "졉" ; + _ + "쪄" => "쪕" ; + _ + "쳐" => "쳡" ; + _ + "켜" => "켭" ; + _ + "텨" => "텹" ; + _ + "펴" => "폅" ; + _ + "혀" => "협" ; + _ + "계" => "곕" ; + _ + "꼐" => "꼡" ; + _ + "녜" => "녭" ; + _ + "뎨" => "뎹" ; + _ + "뗴" => "똅" ; + _ + "례" => "롑" ; + _ + "몌" => "몝" ; + _ + "볘" => "볩" ; + _ + "뼤" => "뼵" ; + _ + "셰" => "솁" ; + _ + "쎼" => "쏍" ; + _ + "예" => "옙" ; + _ + "졔" => "졥" ; + _ + "쪠" => "쪱" ; + _ + "쳬" => "쳽" ; + _ + "켸" => "콉" ; + _ + "톄" => "톕" ; + _ + "폐" => "폡" ; + _ + "혜" => "혭" ; + _ + "고" => "곱" ; + _ + "꼬" => "꼽" ; + _ + "노" => "놉" ; + _ + "도" => "돕" ; + _ + "또" => "똡" ; + _ + "로" => "롭" ; + _ + "모" => "몹" ; + _ + "보" => "봅" ; + _ + "뽀" => "뽑" ; + _ + "소" => "솝" ; + _ + "쏘" => "쏩" ; + _ + "오" => "옵" ; + _ + "조" => "좁" ; + _ + "쪼" => "쫍" ; + _ + "초" => "촙" ; + _ + "코" => "콥" ; + _ + "토" => "톱" ; + _ + "포" => "폽" ; + _ + "호" => "홉" ; + _ + "과" => "괍" ; + _ + "꽈" => "꽙" ; + _ + "놔" => "놥" ; + _ + "돠" => "돱" ; + _ + "똬" => "똽" ; + _ + "롸" => "뢉" ; + _ + "뫄" => "뫕" ; + _ + "봐" => "봡" ; + _ + "뽜" => "뽭" ; + _ + "솨" => "솹" ; + _ + "쏴" => "쐅" ; + _ + "와" => "왑" ; + _ + "좌" => "좝" ; + _ + "쫘" => "쫩" ; + _ + "촤" => "촵" ; + _ + "콰" => "쾁" ; + _ + "톼" => "퇍" ; + _ + "퐈" => "퐙" ; + _ + "화" => "홥" ; + _ + "괘" => "괩" ; + _ + "꽤" => "꽵" ; + _ + "놰" => "뇁" ; + _ + "돼" => "됍" ; + _ + "뙈" => "뙙" ; + _ + "뢔" => "뢥" ; + _ + "뫠" => "뫱" ; + _ + "봬" => "봽" ; + _ + "뽸" => "뾉" ; + _ + "쇄" => "쇕" ; + _ + "쐐" => "쐡" ; + _ + "왜" => "왭" ; + _ + "좨" => "좹" ; + _ + "쫴" => "쬅" ; + _ + "쵀" => "쵑" ; + _ + "쾌" => "쾝" ; + _ + "퇘" => "퇩" ; + _ + "퐤" => "퐵" ; + _ + "홰" => "횁" ; + _ + "괴" => "굅" ; + _ + "꾀" => "꾑" ; + _ + "뇌" => "뇝" ; + _ + "되" => "됩" ; + _ + "뙤" => "뙵" ; + _ + "뢰" => "룁" ; + _ + "뫼" => "묍" ; + _ + "뵈" => "뵙" ; + _ + "뾔" => "뾥" ; + _ + "쇠" => "쇱" ; + _ + "쐬" => "쐽" ; + _ + "외" => "욉" ; + _ + "죄" => "죕" ; + _ + "쬐" => "쬡" ; + _ + "최" => "쵭" ; + _ + "쾨" => "쾹" ; + _ + "퇴" => "툅" ; + _ + "푀" => "푑" ; + _ + "회" => "횝" ; + _ + "교" => "굡" ; + _ + "꾜" => "꾭" ; + _ + "뇨" => "뇹" ; + _ + "됴" => "둅" ; + _ + "뚀" => "뚑" ; + _ + "료" => "룝" ; + _ + "묘" => "묩" ; + _ + "뵤" => "뵵" ; + _ + "뾰" => "뿁" ; + _ + "쇼" => "숍" ; + _ + "쑈" => "쑙" ; + _ + "요" => "욥" ; + _ + "죠" => "죱" ; + _ + "쬬" => "쬽" ; + _ + "쵸" => "춉" ; + _ + "쿄" => "쿕" ; + _ + "툐" => "툡" ; + _ + "표" => "푭" ; + _ + "효" => "횹" ; + _ + "구" => "굽" ; + _ + "꾸" => "꿉" ; + _ + "누" => "눕" ; + _ + "두" => "둡" ; + _ + "뚜" => "뚭" ; + _ + "루" => "룹" ; + _ + "무" => "뭅" ; + _ + "부" => "붑" ; + _ + "뿌" => "뿝" ; + _ + "수" => "숩" ; + _ + "쑤" => "쑵" ; + _ + "우" => "웁" ; + _ + "주" => "줍" ; + _ + "쭈" => "쭙" ; + _ + "추" => "춥" ; + _ + "쿠" => "쿱" ; + _ + "투" => "툽" ; + _ + "푸" => "풉" ; + _ + "후" => "훕" ; + _ + "궈" => "궙" ; + _ + "꿔" => "꿥" ; + _ + "눠" => "눱" ; + _ + "둬" => "둽" ; + _ + "뚸" => "뛉" ; + _ + "뤄" => "뤕" ; + _ + "뭐" => "뭡" ; + _ + "붜" => "붭" ; + _ + "뿨" => "뿹" ; + _ + "숴" => "쉅" ; + _ + "쒀" => "쒑" ; + _ + "워" => "웝" ; + _ + "줘" => "줩" ; + _ + "쭤" => "쭵" ; + _ + "춰" => "췁" ; + _ + "쿼" => "퀍" ; + _ + "퉈" => "퉙" ; + _ + "풔" => "풥" ; + _ + "훠" => "훱" ; + _ + "궤" => "궵" ; + _ + "꿰" => "뀁" ; + _ + "눼" => "뉍" ; + _ + "뒈" => "뒙" ; + _ + "뛔" => "뛥" ; + _ + "뤠" => "뤱" ; + _ + "뭬" => "뭽" ; + _ + "붸" => "뷉" ; + _ + "쀄" => "쀕" ; + _ + "쉐" => "쉡" ; + _ + "쒜" => "쒭" ; + _ + "웨" => "웹" ; + _ + "줴" => "쥅" ; + _ + "쮀" => "쮑" ; + _ + "췌" => "췝" ; + _ + "퀘" => "퀩" ; + _ + "퉤" => "퉵" ; + _ + "풰" => "퓁" ; + _ + "훼" => "휍" ; + _ + "귀" => "귑" ; + _ + "뀌" => "뀝" ; + _ + "뉘" => "뉩" ; + _ + "뒤" => "뒵" ; + _ + "뛰" => "뜁" ; + _ + "뤼" => "륍" ; + _ + "뮈" => "뮙" ; + _ + "뷔" => "뷥" ; + _ + "쀠" => "쀱" ; + _ + "쉬" => "쉽" ; + _ + "쒸" => "쓉" ; + _ + "위" => "윕" ; + _ + "쥐" => "쥡" ; + _ + "쮜" => "쮭" ; + _ + "취" => "췹" ; + _ + "퀴" => "큅" ; + _ + "튀" => "튑" ; + _ + "퓌" => "퓝" ; + _ + "휘" => "휩" ; + _ + "규" => "귭" ; + _ + "뀨" => "뀹" ; + _ + "뉴" => "늅" ; + _ + "듀" => "듑" ; + _ + "뜌" => "뜝" ; + _ + "류" => "륩" ; + _ + "뮤" => "뮵" ; + _ + "뷰" => "븁" ; + _ + "쀼" => "쁍" ; + _ + "슈" => "슙" ; + _ + "쓔" => "쓥" ; + _ + "유" => "윱" ; + _ + "쥬" => "쥽" ; + _ + "쮸" => "쯉" ; + _ + "츄" => "츕" ; + _ + "큐" => "큡" ; + _ + "튜" => "튭" ; + _ + "퓨" => "퓹" ; + _ + "휴" => "흅" ; + _ + "그" => "급" ; + _ + "끄" => "끕" ; + _ + "느" => "늡" ; + _ + "드" => "듭" ; + _ + "뜨" => "뜹" ; + _ + "르" => "릅" ; + _ + "므" => "믑" ; + _ + "브" => "븝" ; + _ + "쁘" => "쁩" ; + _ + "스" => "습" ; + _ + "쓰" => "씁" ; + _ + "으" => "읍" ; + _ + "즈" => "즙" ; + _ + "쯔" => "쯥" ; + _ + "츠" => "츱" ; + _ + "크" => "큽" ; + _ + "트" => "틉" ; + _ + "프" => "픕" ; + _ + "흐" => "흡" ; + _ + "긔" => "긥" ; + _ + "끠" => "끱" ; + _ + "늬" => "늽" ; + _ + "듸" => "딉" ; + _ + "띄" => "띕" ; + _ + "릐" => "릡" ; + _ + "믜" => "믭" ; + _ + "븨" => "븹" ; + _ + "쁴" => "삅" ; + _ + "싀" => "싑" ; + _ + "씌" => "씝" ; + _ + "의" => "읩" ; + _ + "즤" => "즵" ; + _ + "쯰" => "찁" ; + _ + "츼" => "칍" ; + _ + "킈" => "킙" ; + _ + "틔" => "틥" ; + _ + "픠" => "픱" ; + _ + "희" => "흽" ; + _ + "기" => "깁" ; + _ + "끼" => "낍" ; + _ + "니" => "닙" ; + _ + "디" => "딥" ; + _ + "띠" => "띱" ; + _ + "리" => "립" ; + _ + "미" => "밉" ; + _ + "비" => "빕" ; + _ + "삐" => "삡" ; + _ + "시" => "십" ; + _ + "씨" => "씹" ; + _ + "이" => "입" ; + _ + "지" => "집" ; + _ + "찌" => "찝" ; + _ + "치" => "칩" ; + _ + "키" => "킵" ; + _ + "티" => "팁" ; + _ + "피" => "핍" ; + _ + "히" => "힙" ; + _ => str + "ᆸ" -- NB. Combining jamo, doesn't render right in all fonts and probably breaks search + } ; +} \ No newline at end of file diff --git a/src/korean/ParamKor.gf b/src/korean/ParamKor.gf index b862cc2bd..544e38ad9 100644 --- a/src/korean/ParamKor.gf +++ b/src/korean/ParamKor.gf @@ -1,29 +1,26 @@ -resource ParamKor = ParamX ** open Prelude in { +resource ParamKor = ParamX, Hangul ** open Prelude in { -------------------------------------------------------------------------------- -- Phonology {- Lee & Ramsey 2000, p. 24-25: -The difference in the way these words are written has to do with the productivity of the suffix. While the suffixes -um and -i can be used relatively freely to derive nouns from verbs and adjectives, the others cannot. In the mind of the speaker (and the user of the orthography), the words wus-um ‘laughter’ and noph-i ‘height’ can be thought of as regular derivations of the verb wus- and the adjective noph-, much as are the predicative forms wus-uni, wus-ela, noph-ase, and noph-umyen. But words like makay ‘stopper’ (morphologically mak+ay, but written as ma+kay) and mutem ‘grave’ are not derived productively. The decision to write them without showing the suffix separated was based upon the assumption that most people think of them as single, indivisible words. Their etymologies were thought not to be obvious. + The difference in the way these words are written has to do with the productivity of the suffix. + While the suffixes -um and -i can be used relatively freely to derive nouns from verbs and adjectives, + the others cannot. + In the mind of the speaker (and the user of the orthography), the words wus-um ‘laughter’ and noph-i ‘height’ + can be thought of as regular derivations of the verb wus- and the adjective noph-, much as are the + predicative forms wus-uni, wus-ela, noph-ase, and noph-umyen. But words like makay ‘stopper’ + (morphologically mak+ay, but written as ma+kay) and mutem ‘grave’ are not derived productively. + The decision to write them without showing the suffix separated was based upon the assumption that + most people think of them as single, indivisible words. Their etymologies were thought not to be obvious. -} + -- Patterns and replacements defined in Hangul.gf oper - v : pattern Str = #("아" | "이" | "어" | - "가" | "개" | "갸" | "걔" | "거" | "게" | "겨" | "계" | "고" | "과" | "괘" | "괴" | "교" | "구" | "궈" | "궤" | "귀" | "규" | "그" | "긔" | "기" | "크") ; -- TODO: figure out if this is a smart way to do it; if no better way, then complete the table. --- maybe subpatterns for diphthongs? - - -- c : pattern Str = #("m"|"n"|"p"|"b"|"t"|"d"|"k"|"g"|"f"|"v" - -- |"s"|"h"|"l"|"j"|"r"|"z"|"c"|"q"); - -- - -- voiced : Str -> Str = \s -> case s of { - -- "k" => "g" ; - -- "t" => "d" ; - -- "p" => "b" ; - -- _ => s } ; - vowFinal : Str -> Bool = \str -> case str of {_ + #v => True ; _ => False} ; + -------------------------------------------------------------------------------- -- Morphophonology @@ -45,9 +42,9 @@ oper allomorph : NForm -> Str -> Str = \nf,s -> let finalV : Bool = vowFinal s ; in case nf of { - Topic => if_then_Str finalV "은" "는" ; - Subject => if_then_Str finalV "이" "가" ; - Object => if_then_Str finalV "을" "를" ; + Topic => if_then_Str finalV "는" "은" ; + Subject => if_then_Str finalV "가" "이" ; + Object => if_then_Str finalV "를" "을" ; Bare => [] } ; -------------------------------------------------------------------------------- diff --git a/src/korean/ResKor.gf b/src/korean/ResKor.gf index a6cb8277d..8182bb47d 100644 --- a/src/korean/ResKor.gf +++ b/src/korean/ResKor.gf @@ -105,10 +105,10 @@ oper mkAdj : Str -> Adjective = \inf -> let stem = init inf in { s = table { - AAttr => stem + if_then_Str (vowFinal stem) "ᆫ" "은" ; + AAttr => add_N stem ; APred VInf => inf ; - APred (VFin Gnomic Pos) => stem + "ᆸ니다" ; - APred (VFin Gnomic Pos) => "안" ++ stem + "ᆸ니다" ; -- TODO check + APred (VFin Gnomic Pos) => add_B stem + "니다" ; + APred (VFin Gnomic Neg) => "안" ++ add_B stem + "니다" ; -- TODO check APred _ => stem ++ "TODO: proper adjective inflection" } } ; From 703695b2cb8f69ece4b8d5241fa1a0fdf76b3736 Mon Sep 17 00:00:00 2001 From: Inari Listenmaa Date: Mon, 23 Mar 2020 14:23:54 +0100 Subject: [PATCH 06/35] (Kor) Add param Phono for combining particles with nouns --- src/korean/CatKor.gf | 2 +- src/korean/NounKor.gf | 2 +- src/korean/ParamKor.gf | 2 ++ src/korean/ResKor.gf | 6 ++++-- 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/korean/CatKor.gf b/src/korean/CatKor.gf index 55c38df22..0038c46f8 100644 --- a/src/korean/CatKor.gf +++ b/src/korean/CatKor.gf @@ -62,7 +62,7 @@ concrete CatKor of Cat = CommonX ** open ResKor, Prelude in { NP = ResKor.NounPhrase ; Pron = ResKor.Pronoun ; --Pronouns need enough info to turn it into NP or Quant. Det = ResKor.Determiner ; - Predet = SS ; + Predet = {s : Phono => Str ; p : Phono} ; Quant = ResKor.Quant ; Num = ResKor.Num ; Ord = { diff --git a/src/korean/NounKor.gf b/src/korean/NounKor.gf index ab79d4f03..c472c68af 100644 --- a/src/korean/NounKor.gf +++ b/src/korean/NounKor.gf @@ -7,7 +7,7 @@ concrete NounKor of Noun = CatKor ** open ResKor, Prelude in { --2 Noun phrases -- : Det -> CN -> NP - DetCN det cn = {s = \\c => det.s ++ cn.s ! c} ; + DetCN det cn = cn ** {s = \\c => det.s ++ cn.s ! c} ; -- : PN -> NP ; -- UsePN pn = pn ** { diff --git a/src/korean/ParamKor.gf b/src/korean/ParamKor.gf index 544e38ad9..ba92398af 100644 --- a/src/korean/ParamKor.gf +++ b/src/korean/ParamKor.gf @@ -37,6 +37,8 @@ param | Object -- 을 or 를 ; + Phono = Vowel | Consonant ; -- Whether the word ends in vowel or consonant. + oper allomorph : NForm -> Str -> Str = \nf,s -> diff --git a/src/korean/ResKor.gf b/src/korean/ResKor.gf index 8182bb47d..8c3f6c977 100644 --- a/src/korean/ResKor.gf +++ b/src/korean/ResKor.gf @@ -5,7 +5,8 @@ resource ResKor = ParamKor ** open Prelude, Predef, ParamKor in { oper Noun : Type = { - s : NForm => Str + s : NForm => Str ; + p : Phono } ; Noun2 : Type = Noun ; -- TODO eventually more parameters? Noun3 : Type = Noun ; @@ -16,7 +17,8 @@ oper PNoun : Type = Noun ; mkNoun : Str -> Noun = \str -> { - s = \\cas => str + allomorph cas str + s = \\cas => str + allomorph cas str ; + p = if_then_else Phono (vowFinal str) Vowel Consonant ; } ; useN : Noun -> CNoun = \n -> n ; From 779c8d76097ef5cb981c75fcfa9921047b51c57e Mon Sep 17 00:00:00 2001 From: Inari Listenmaa Date: Mon, 23 Mar 2020 14:24:09 +0100 Subject: [PATCH 07/35] (Kor) Add Predets and PredetNP --- src/korean/NounKor.gf | 10 +++++++++- src/korean/StructuralKor.gf | 15 ++++++++------- 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/src/korean/NounKor.gf b/src/korean/NounKor.gf index c472c68af..6009f7e22 100644 --- a/src/korean/NounKor.gf +++ b/src/korean/NounKor.gf @@ -17,7 +17,15 @@ concrete NounKor of Noun = CatKor ** open ResKor, Prelude in { -- UsePron pron = pron ; -- : Predet -> NP -> NP ; -- only the man - -- PredetNP predet np = + PredetNP predet np = np ** {s = + let sakwa = np.s ! Bare ; + man = predet.s ! np.p ; + un = table {Vowel => "는"; Consonant => "은"} ! predet.p + in table { -- TODO: do particles combine? + Topic => glue (glue sakwa man) un ; + _ => glue sakwa man + } + } ; -- A noun phrase can also be postmodified by the past participle of a -- verb, by an adverb, or by a relative clause diff --git a/src/korean/StructuralKor.gf b/src/korean/StructuralKor.gf index 8ae63daea..d36f8d031 100644 --- a/src/korean/StructuralKor.gf +++ b/src/korean/StructuralKor.gf @@ -52,14 +52,15 @@ lin there_Adv = ss "" ; ----------------- -- *Det and Quant + +-- lin how8many_IDet = ; + +lin all_Predet = {s = \\_ => "마다" ; p = Vowel} ; +--lin not_Predet = { s = "" } ; +lin only_Predet = {s = \\_ => "만" ; p = Consonant} ; +--lin most_Predet = {s = ""} ; + {- -lin how8many_IDet = ; - -lin all_Predet = {s = ""} ; -lin not_Predet = { s = "" } ; -lin only_Predet = { s = "" } ; -lin most_Predet = {s = ""} ; - lin every_Det = R.defDet [] pl ** { s = mkVow } ; lin few_Det = R.indefDet "" pl ; From ebd250e0633953bed2a3c627b4bd9d4965c10480 Mon Sep 17 00:00:00 2001 From: Inari Listenmaa Date: Tue, 24 Mar 2020 13:40:21 +0100 Subject: [PATCH 08/35] (Kor) Add present tense in 3 politeness forms, subj+obj cases in V* --- src/korean/ParadigmsKor.gf | 6 +-- src/korean/ParamKor.gf | Bin 2993 -> 4482 bytes src/korean/ResKor.gf | 73 ++++++++++++++++++++++++------------- src/korean/VerbKor.gf | 19 +++++----- 4 files changed, 60 insertions(+), 38 deletions(-) diff --git a/src/korean/ParadigmsKor.gf b/src/korean/ParadigmsKor.gf index 1825b1e24..083513fdf 100644 --- a/src/korean/ParadigmsKor.gf +++ b/src/korean/ParadigmsKor.gf @@ -35,7 +35,7 @@ oper copula : V ; -- The copula verb '' mkV2 : overload { - mkV2 : (inf : Str) -> V2 ; + mkV2 : (inf : Str) -> V2 ; } ; -- mkV3 : overload { @@ -102,7 +102,7 @@ oper } ; mkV = overload { - mkV : (inf : Str) -> V = \v -> lin V (mkVerb v) ; + mkV : (inf : Str) -> V = \v -> lin V (mkVerb v Active) ; } ; copula = ResKor.copula ; @@ -111,7 +111,7 @@ oper -- } ; mkV2 = overload { - mkV2 : (inf : Str) -> V2 = \v2 -> lin V2 (mkVerb v2) ; + mkV2 : (inf : Str) -> V2 = \v2 -> lin V2 (mkVerb2 v2) ; } ; -- -- mkV3 = overload { diff --git a/src/korean/ParamKor.gf b/src/korean/ParamKor.gf index ba92398af2b607c8d46ac3deadf461eb83e2d1d0..0eea49fd88b5a300eade5af5fc506f347a1bbcb2 100644 GIT binary patch delta 1634 zcmdle-lV)?8dp7+0tmRL=A{;8CWDv?3c9)qRjEb!3c2}31sSQisURga3Lc3`nI)x( zIbb!qx(ctmra&YDit>vKQj<$E%TmF5Uu{|dl}Ig0OHD2TYXBMgW_pMIo2fHElGa>Y z3JSp`l{xjP3br5t1qB7S{Gwct@w&PSZ>P?9)4ldh_nbE~mb}@t1+1V(As{~|vjk$t z+o@aL%$kBEm6Mp6rvS2^fkENz)GZ9J=k9^YLhMS-D@n~uP7SFnK-lP#np~fgSd<8I zI@Au&ypq(SqWp9evD|`G6h#3=`33pKnILTn)?6U3=;|tj_`CR9DP-m)=aiJxKv6kwqbQtgtO4094laTq966l@j3+`z$= z3JQe8qRf&?kj2%y3Z8jsnRyVGX!s@;m1O2A7+P8y=_nNFDHxd=7He`TfNWFn&M!($ z%u~ojD9b1` zwA@@z!Bi7uT1mb_PG(-VLP>ePLVi(7W*$scF~|pr3fY+uw<#5+rkCa<7AYj>=N9Cb z=A|gf83mgp*|m*%CU78REy=B23XC_HLdreMvbVXO%av(yw&K!L)r02BksIjIW8 zsZcK^<(EQ2t~fC_6&ysM5Kb&s&@j~0QAjGSF9BtlzfHE5>0h$u15{axE?hu0)-|xyizL)ic*V2&rg3?=lX?ljjqlQKGc&sbQS4hs!IJ8zlJt(=$pGz$Rp- zDQM*9r7EQ4rxt61J(ZhSsi2XPuc-s_Xl5~z291(@g_L}d7d6b#om-!(0FSgBQ0OV- zCT6FC(`jxlC@n*CM`>PRX?{s+ib4Unq$w_`%t^K8(lE!DM~a~tACx&jL7AFYqL8Ri zT#{Ilnwy$eqN7k)np$66l9`{U14^tQ>vTXVy|^?zJryht3LH>Gd-{cV`Z|WVDuC?; zWeYv`Yq=)RX9=5}$Q=Lx DXCx3OBlwXiqq>z(YT%wSlrjV9jlv~WDpb+MkUzDq0%cTGYVV-$uU}lX%m|JF^f+N^i bg@F8=#G=fSN|2FUx==8AC5z8wBf$Uw&)O>H diff --git a/src/korean/ResKor.gf b/src/korean/ResKor.gf index 8c3f6c977..03381d102 100644 --- a/src/korean/ResKor.gf +++ b/src/korean/ResKor.gf @@ -105,15 +105,13 @@ oper Adjective : Type = {s : AForm => Str} ; Adjective2 : Type = Adjective ; - mkAdj : Str -> Adjective = \inf -> let stem = init inf in { - s = table { - AAttr => add_N stem ; - APred VInf => inf ; - APred (VFin Gnomic Pos) => add_B stem + "니다" ; - APred (VFin Gnomic Neg) => "안" ++ add_B stem + "니다" ; -- TODO check - APred _ => stem ++ "TODO: proper adjective inflection" - } - } ; + mkAdj : Str -> Adjective = \plain -> + let stem = init plain ; + verb = mkVerb stem Stative ; + in { + s = table { AAttr => add_N stem ; + APred vf => verb.s ! vf } + } ; AdjPhrase : Type = Adjective ** {compar : Str} ; -------------------------------------------------------------------------------- @@ -121,29 +119,54 @@ oper BaseVerb : Type = { type : VerbType ; + sc : NForm ; -- subject case } ; Verb : Type = BaseVerb ** { s : VForm => Str ; } ; - Verb2 : Type = Verb ; -- ** {c2 : Postposition} ; - Verb3 : Type = Verb ; -- ** {c3 : Postposition} ; + Verb2 : Type = Verb ** {c2 : NForm ; p2 : Postposition} ; + Verb3 : Type = Verb2 ** {c3 : NForm ; p3 : Postposition} ; -- VV : Type = Verb ** {vvtype : VVForm} ; - copula : Verb = { - s = table { - VInf => "이다" ; - VFin Gnomic Pos => "입니다" ; - VFin Gnomic Neg => "아닙니다" ; - _ => "TODO:copula" } ; - type = Copula ; + mkVerb : (plain : Str) -> VerbType -> Verb = \plain,vt -> + mkVerbFull plain plain plain plain plain plain vt ; -- TODO proper forms + + mkVerb2 : (plain : Str) -> Verb2 = \plain -> + let v = mkVerb plain Active + in v ** {c2 = Object ; p2 = mkPrep []} ; + + mkVerbFull : (x1,_,_,_,_,x6 : Str) -> VerbType -> Verb = + \plain,polite,formal,planeg,polneg,formneg,vt -> { + s = table { + VF Plain Pos => plain ; + VF Plain Neg => planeg ; + VF Polite Pos => polite ; + VF Polite Neg => polneg ; + VF Formal Pos => formal ; + VF Formal Neg => formneg + } ; + type = vt ; + sc = Subject } ; - mkVerb : Str -> Verb = \str -> { - s = \\_ => str ; - type = Active + copula : Verb = mkVerbFull + "이다" + "이에요" -- or "이세요" ? + "입니다" + "아니다" + "아니에요" + "아닙니다" + Copula ; + + copulaAfterConsonant : Verb = copula ** { + s = \\vf => case vf of { + VF Plain Pos => "다" ; + VF Polite Pos => "예요" ; + _ => copula.s ! vf } } ; + ------------------ -- Adv @@ -154,13 +177,11 @@ oper Complement : Type = { s : VForm => Str ; - nComp : Str ; -- compar : Str ; -- comparative is discontinuous } ; emptyComp : Complement = { s = \\_ => [] ; - nComp = [] ; -- compar : Str ; } ; @@ -177,6 +198,7 @@ oper vComp, nComp = [] ; } ; + -------------------------------------------------------------------------------- -- Cl, S @@ -196,9 +218,8 @@ oper predVPslash = predVP ; -- VP==VPSlash, Cl==ClSlash predVP : NounPhrase -> VerbPhrase -> ClSlash = \np,vp -> vp ** { - s = \\t,a,p => np.s ! Topic - ++ vp.nComp -- TODO: embed copula into complement - ++ vp.s ! VFin Gnomic Pos -- TODO: actual forms + s = \\t,a,p => np.s ! vp.sc + ++ vp.s ! VF Polite p -- TODO: more tenses } ; -------------------------------------------------------------------------------- diff --git a/src/korean/VerbKor.gf b/src/korean/VerbKor.gf index 60f6966e3..ca846ec89 100644 --- a/src/korean/VerbKor.gf +++ b/src/korean/VerbKor.gf @@ -114,22 +114,23 @@ lin -- : AP -> Comp ; CompAP ap = emptyComp ** { - s = \\vf => ap.s ! APred vf ; + s = \\vf => ap.s ! APred vf } ; -- : CN -> Comp ; - CompCN cn = emptyComp ** { - nComp = cn.s ! Bare ; -- TODO: num. I am [a house that sleeps here] vs. we are [houses that sleep here] - } ; - - -- NP -> Comp ; - CompNP np = emptyComp ** { - nComp = np.s ! Bare ; + -- : NP -> Comp ; + CompCN, + CompNP = \n -> emptyComp ** { + s = \\vf => + let cop = case n.p of { + Vowel => copula.s ; + Consonant => copulaAfterConsonant.s } + in glue (n.s ! Bare) (cop ! vf) } ; -- : Adv -> Comp ; CompAdv adv = emptyComp ** { - nComp = adv.s ; + s = \\vf => adv.s ++ copula.s ! vf ; } ; -- : VP -- Copula alone; From 0351d77357a6f0f5ca7999b390182ee66710a12b Mon Sep 17 00:00:00 2001 From: Inari Listenmaa Date: Tue, 24 Mar 2020 14:24:14 +0100 Subject: [PATCH 09/35] (Kor) Update add_X functions to work for strings of any length --- src/korean/Hangul.gf | 1598 +++++++++++++++++++++--------------------- 1 file changed, 799 insertions(+), 799 deletions(-) diff --git a/src/korean/Hangul.gf b/src/korean/Hangul.gf index e1685cdf8..a89ec8d03 100644 --- a/src/korean/Hangul.gf +++ b/src/korean/Hangul.gf @@ -36,809 +36,809 @@ oper add_N : Str -> Str = \str -> case str of { - _ + "가" => "간" ; - _ + "까" => "깐" ; - _ + "나" => "난" ; - _ + "다" => "단" ; - _ + "따" => "딴" ; - _ + "라" => "란" ; - _ + "마" => "만" ; - _ + "바" => "반" ; - _ + "빠" => "빤" ; - _ + "사" => "산" ; - _ + "싸" => "싼" ; - _ + "아" => "안" ; - _ + "자" => "잔" ; - _ + "짜" => "짠" ; - _ + "차" => "찬" ; - _ + "카" => "칸" ; - _ + "타" => "탄" ; - _ + "파" => "판" ; - _ + "하" => "한" ; - _ + "개" => "갠" ; - _ + "깨" => "깬" ; - _ + "내" => "낸" ; - _ + "대" => "댄" ; - _ + "때" => "땐" ; - _ + "래" => "랜" ; - _ + "매" => "맨" ; - _ + "배" => "밴" ; - _ + "빼" => "뺀" ; - _ + "새" => "샌" ; - _ + "쌔" => "쌘" ; - _ + "애" => "앤" ; - _ + "재" => "잰" ; - _ + "째" => "짼" ; - _ + "채" => "챈" ; - _ + "캐" => "캔" ; - _ + "태" => "탠" ; - _ + "패" => "팬" ; - _ + "해" => "핸" ; - _ + "갸" => "갼" ; - _ + "꺄" => "꺈" ; - _ + "냐" => "냔" ; - _ + "댜" => "댠" ; - _ + "땨" => "땬" ; - _ + "랴" => "랸" ; - _ + "먀" => "먄" ; - _ + "뱌" => "뱐" ; - _ + "뺘" => "뺜" ; - _ + "샤" => "샨" ; - _ + "쌰" => "쌴" ; - _ + "야" => "얀" ; - _ + "쟈" => "쟌" ; - _ + "쨔" => "쨘" ; - _ + "챠" => "챤" ; - _ + "캬" => "캰" ; - _ + "탸" => "탼" ; - _ + "퍄" => "퍈" ; - _ + "햐" => "햔" ; - _ + "걔" => "걘" ; - _ + "꺠" => "꺤" ; - _ + "냬" => "냰" ; - _ + "댸" => "댼" ; - _ + "떄" => "떈" ; - _ + "럐" => "럔" ; - _ + "먜" => "먠" ; - _ + "뱨" => "뱬" ; - _ + "뺴" => "뺸" ; - _ + "섀" => "섄" ; - _ + "썌" => "썐" ; - _ + "얘" => "얜" ; - _ + "쟤" => "쟨" ; - _ + "쨰" => "쨴" ; - _ + "챼" => "첀" ; - _ + "컈" => "컌" ; - _ + "턔" => "턘" ; - _ + "퍠" => "퍤" ; - _ + "햬" => "햰" ; - _ + "거" => "건" ; - _ + "꺼" => "껀" ; - _ + "너" => "넌" ; - _ + "더" => "던" ; - _ + "떠" => "떤" ; - _ + "러" => "런" ; - _ + "머" => "먼" ; - _ + "버" => "번" ; - _ + "뻐" => "뻔" ; - _ + "서" => "선" ; - _ + "써" => "썬" ; - _ + "어" => "언" ; - _ + "저" => "전" ; - _ + "쩌" => "쩐" ; - _ + "처" => "천" ; - _ + "커" => "컨" ; - _ + "터" => "턴" ; - _ + "퍼" => "펀" ; - _ + "허" => "헌" ; - _ + "게" => "겐" ; - _ + "께" => "껜" ; - _ + "네" => "넨" ; - _ + "데" => "덴" ; - _ + "떼" => "뗀" ; - _ + "레" => "렌" ; - _ + "메" => "멘" ; - _ + "베" => "벤" ; - _ + "뻬" => "뻰" ; - _ + "세" => "센" ; - _ + "쎄" => "쎈" ; - _ + "에" => "엔" ; - _ + "제" => "젠" ; - _ + "쩨" => "쩬" ; - _ + "체" => "첸" ; - _ + "케" => "켄" ; - _ + "테" => "텐" ; - _ + "페" => "펜" ; - _ + "헤" => "헨" ; - _ + "겨" => "견" ; - _ + "껴" => "껸" ; - _ + "녀" => "년" ; - _ + "뎌" => "뎐" ; - _ + "뗘" => "뗜" ; - _ + "려" => "련" ; - _ + "며" => "면" ; - _ + "벼" => "변" ; - _ + "뼈" => "뼌" ; - _ + "셔" => "션" ; - _ + "쎠" => "쎤" ; - _ + "여" => "연" ; - _ + "져" => "젼" ; - _ + "쪄" => "쪈" ; - _ + "쳐" => "쳔" ; - _ + "켜" => "켠" ; - _ + "텨" => "텬" ; - _ + "펴" => "편" ; - _ + "혀" => "현" ; - _ + "계" => "곈" ; - _ + "꼐" => "꼔" ; - _ + "녜" => "녠" ; - _ + "뎨" => "뎬" ; - _ + "뗴" => "뗸" ; - _ + "례" => "롄" ; - _ + "몌" => "몐" ; - _ + "볘" => "볜" ; - _ + "뼤" => "뼨" ; - _ + "셰" => "셴" ; - _ + "쎼" => "쏀" ; - _ + "예" => "옌" ; - _ + "졔" => "졘" ; - _ + "쪠" => "쪤" ; - _ + "쳬" => "쳰" ; - _ + "켸" => "켼" ; - _ + "톄" => "톈" ; - _ + "폐" => "폔" ; - _ + "혜" => "혠" ; - _ + "고" => "곤" ; - _ + "꼬" => "꼰" ; - _ + "노" => "논" ; - _ + "도" => "돈" ; - _ + "또" => "똔" ; - _ + "로" => "론" ; - _ + "모" => "몬" ; - _ + "보" => "본" ; - _ + "뽀" => "뽄" ; - _ + "소" => "손" ; - _ + "쏘" => "쏜" ; - _ + "오" => "온" ; - _ + "조" => "존" ; - _ + "쪼" => "쫀" ; - _ + "초" => "촌" ; - _ + "코" => "콘" ; - _ + "토" => "톤" ; - _ + "포" => "폰" ; - _ + "호" => "혼" ; - _ + "과" => "관" ; - _ + "꽈" => "꽌" ; - _ + "놔" => "놘" ; - _ + "돠" => "돤" ; - _ + "똬" => "똰" ; - _ + "롸" => "롼" ; - _ + "뫄" => "뫈" ; - _ + "봐" => "봔" ; - _ + "뽜" => "뽠" ; - _ + "솨" => "솬" ; - _ + "쏴" => "쏸" ; - _ + "와" => "완" ; - _ + "좌" => "좐" ; - _ + "쫘" => "쫜" ; - _ + "촤" => "촨" ; - _ + "콰" => "콴" ; - _ + "톼" => "퇀" ; - _ + "퐈" => "퐌" ; - _ + "화" => "환" ; - _ + "괘" => "괜" ; - _ + "꽤" => "꽨" ; - _ + "놰" => "놴" ; - _ + "돼" => "됀" ; - _ + "뙈" => "뙌" ; - _ + "뢔" => "뢘" ; - _ + "뫠" => "뫤" ; - _ + "봬" => "봰" ; - _ + "뽸" => "뽼" ; - _ + "쇄" => "쇈" ; - _ + "쐐" => "쐔" ; - _ + "왜" => "왠" ; - _ + "좨" => "좬" ; - _ + "쫴" => "쫸" ; - _ + "쵀" => "쵄" ; - _ + "쾌" => "쾐" ; - _ + "퇘" => "퇜" ; - _ + "퐤" => "퐨" ; - _ + "홰" => "홴" ; - _ + "괴" => "괸" ; - _ + "꾀" => "꾄" ; - _ + "뇌" => "뇐" ; - _ + "되" => "된" ; - _ + "뙤" => "뙨" ; - _ + "뢰" => "뢴" ; - _ + "뫼" => "묀" ; - _ + "뵈" => "뵌" ; - _ + "뾔" => "뾘" ; - _ + "쇠" => "쇤" ; - _ + "쐬" => "쐰" ; - _ + "외" => "왼" ; - _ + "죄" => "죈" ; - _ + "쬐" => "쬔" ; - _ + "최" => "쵠" ; - _ + "쾨" => "쾬" ; - _ + "퇴" => "퇸" ; - _ + "푀" => "푄" ; - _ + "회" => "횐" ; - _ + "교" => "굔" ; - _ + "꾜" => "꾠" ; - _ + "뇨" => "뇬" ; - _ + "됴" => "됸" ; - _ + "뚀" => "뚄" ; - _ + "료" => "룐" ; - _ + "묘" => "묜" ; - _ + "뵤" => "뵨" ; - _ + "뾰" => "뾴" ; - _ + "쇼" => "숀" ; - _ + "쑈" => "쑌" ; - _ + "요" => "욘" ; - _ + "죠" => "죤" ; - _ + "쬬" => "쬰" ; - _ + "쵸" => "쵼" ; - _ + "쿄" => "쿈" ; - _ + "툐" => "툔" ; - _ + "표" => "푠" ; - _ + "효" => "횬" ; - _ + "구" => "군" ; - _ + "꾸" => "꾼" ; - _ + "누" => "눈" ; - _ + "두" => "둔" ; - _ + "뚜" => "뚠" ; - _ + "루" => "룬" ; - _ + "무" => "문" ; - _ + "부" => "분" ; - _ + "뿌" => "뿐" ; - _ + "수" => "순" ; - _ + "쑤" => "쑨" ; - _ + "우" => "운" ; - _ + "주" => "준" ; - _ + "쭈" => "쭌" ; - _ + "추" => "춘" ; - _ + "쿠" => "쿤" ; - _ + "투" => "툰" ; - _ + "푸" => "푼" ; - _ + "후" => "훈" ; - _ + "궈" => "권" ; - _ + "꿔" => "꿘" ; - _ + "눠" => "눤" ; - _ + "둬" => "둰" ; - _ + "뚸" => "뚼" ; - _ + "뤄" => "뤈" ; - _ + "뭐" => "뭔" ; - _ + "붜" => "붠" ; - _ + "뿨" => "뿬" ; - _ + "숴" => "숸" ; - _ + "쒀" => "쒄" ; - _ + "워" => "원" ; - _ + "줘" => "줜" ; - _ + "쭤" => "쭨" ; - _ + "춰" => "춴" ; - _ + "쿼" => "퀀" ; - _ + "퉈" => "퉌" ; - _ + "풔" => "풘" ; - _ + "훠" => "훤" ; - _ + "궤" => "궨" ; - _ + "꿰" => "꿴" ; - _ + "눼" => "뉀" ; - _ + "뒈" => "뒌" ; - _ + "뛔" => "뛘" ; - _ + "뤠" => "뤤" ; - _ + "뭬" => "뭰" ; - _ + "붸" => "붼" ; - _ + "쀄" => "쀈" ; - _ + "쉐" => "쉔" ; - _ + "쒜" => "쒠" ; - _ + "웨" => "웬" ; - _ + "줴" => "줸" ; - _ + "쮀" => "쮄" ; - _ + "췌" => "췐" ; - _ + "퀘" => "퀜" ; - _ + "퉤" => "퉨" ; - _ + "풰" => "풴" ; - _ + "훼" => "휀" ; - _ + "귀" => "귄" ; - _ + "뀌" => "뀐" ; - _ + "뉘" => "뉜" ; - _ + "뒤" => "뒨" ; - _ + "뛰" => "뛴" ; - _ + "뤼" => "륀" ; - _ + "뮈" => "뮌" ; - _ + "뷔" => "뷘" ; - _ + "쀠" => "쀤" ; - _ + "쉬" => "쉰" ; - _ + "쒸" => "쒼" ; - _ + "위" => "윈" ; - _ + "쥐" => "쥔" ; - _ + "쮜" => "쮠" ; - _ + "취" => "췬" ; - _ + "퀴" => "퀸" ; - _ + "튀" => "튄" ; - _ + "퓌" => "퓐" ; - _ + "휘" => "휜" ; - _ + "규" => "균" ; - _ + "뀨" => "뀬" ; - _ + "뉴" => "뉸" ; - _ + "듀" => "듄" ; - _ + "뜌" => "뜐" ; - _ + "류" => "륜" ; - _ + "뮤" => "뮨" ; - _ + "뷰" => "뷴" ; - _ + "쀼" => "쁀" ; - _ + "슈" => "슌" ; - _ + "쓔" => "쓘" ; - _ + "유" => "윤" ; - _ + "쥬" => "쥰" ; - _ + "쮸" => "쮼" ; - _ + "츄" => "츈" ; - _ + "큐" => "큔" ; - _ + "튜" => "튠" ; - _ + "퓨" => "퓬" ; - _ + "휴" => "휸" ; - _ + "그" => "근" ; - _ + "끄" => "끈" ; - _ + "느" => "는" ; - _ + "드" => "든" ; - _ + "뜨" => "뜬" ; - _ + "르" => "른" ; - _ + "므" => "믄" ; - _ + "브" => "븐" ; - _ + "쁘" => "쁜" ; - _ + "스" => "슨" ; - _ + "쓰" => "쓴" ; - _ + "으" => "은" ; - _ + "즈" => "즌" ; - _ + "쯔" => "쯘" ; - _ + "츠" => "츤" ; - _ + "크" => "큰" ; - _ + "트" => "튼" ; - _ + "프" => "픈" ; - _ + "흐" => "흔" ; - _ + "긔" => "긘" ; - _ + "끠" => "끤" ; - _ + "늬" => "늰" ; - _ + "듸" => "듼" ; - _ + "띄" => "띈" ; - _ + "릐" => "릔" ; - _ + "믜" => "믠" ; - _ + "븨" => "븬" ; - _ + "쁴" => "쁸" ; - _ + "싀" => "싄" ; - _ + "씌" => "씐" ; - _ + "의" => "읜" ; - _ + "즤" => "즨" ; - _ + "쯰" => "쯴" ; - _ + "츼" => "칀" ; - _ + "킈" => "킌" ; - _ + "틔" => "틘" ; - _ + "픠" => "픤" ; - _ + "희" => "흰" ; - _ + "기" => "긴" ; - _ + "끼" => "낀" ; - _ + "니" => "닌" ; - _ + "디" => "딘" ; - _ + "띠" => "띤" ; - _ + "리" => "린" ; - _ + "미" => "민" ; - _ + "비" => "빈" ; - _ + "삐" => "삔" ; - _ + "시" => "신" ; - _ + "씨" => "씬" ; - _ + "이" => "인" ; - _ + "지" => "진" ; - _ + "찌" => "찐" ; - _ + "치" => "친" ; - _ + "키" => "킨" ; - _ + "티" => "틴" ; - _ + "피" => "핀" ; - _ + "히" => "힌" ; + x + "가" => x + "간" ; + x + "까" => x + "깐" ; + x + "나" => x + "난" ; + x + "다" => x + "단" ; + x + "따" => x + "딴" ; + x + "라" => x + "란" ; + x + "마" => x + "만" ; + x + "바" => x + "반" ; + x + "빠" => x + "빤" ; + x + "사" => x + "산" ; + x + "싸" => x + "싼" ; + x + "아" => x + "안" ; + x + "자" => x + "잔" ; + x + "짜" => x + "짠" ; + x + "차" => x + "찬" ; + x + "카" => x + "칸" ; + x + "타" => x + "탄" ; + x + "파" => x + "판" ; + x + "하" => x + "한" ; + x + "개" => x + "갠" ; + x + "깨" => x + "깬" ; + x + "내" => x + "낸" ; + x + "대" => x + "댄" ; + x + "때" => x + "땐" ; + x + "래" => x + "랜" ; + x + "매" => x + "맨" ; + x + "배" => x + "밴" ; + x + "빼" => x + "뺀" ; + x + "새" => x + "샌" ; + x + "쌔" => x + "쌘" ; + x + "애" => x + "앤" ; + x + "재" => x + "잰" ; + x + "째" => x + "짼" ; + x + "채" => x + "챈" ; + x + "캐" => x + "캔" ; + x + "태" => x + "탠" ; + x + "패" => x + "팬" ; + x + "해" => x + "핸" ; + x + "갸" => x + "갼" ; + x + "꺄" => x + "꺈" ; + x + "냐" => x + "냔" ; + x + "댜" => x + "댠" ; + x + "땨" => x + "땬" ; + x + "랴" => x + "랸" ; + x + "먀" => x + "먄" ; + x + "뱌" => x + "뱐" ; + x + "뺘" => x + "뺜" ; + x + "샤" => x + "샨" ; + x + "쌰" => x + "쌴" ; + x + "야" => x + "얀" ; + x + "쟈" => x + "쟌" ; + x + "쨔" => x + "쨘" ; + x + "챠" => x + "챤" ; + x + "캬" => x + "캰" ; + x + "탸" => x + "탼" ; + x + "퍄" => x + "퍈" ; + x + "햐" => x + "햔" ; + x + "걔" => x + "걘" ; + x + "꺠" => x + "꺤" ; + x + "냬" => x + "냰" ; + x + "댸" => x + "댼" ; + x + "떄" => x + "떈" ; + x + "럐" => x + "럔" ; + x + "먜" => x + "먠" ; + x + "뱨" => x + "뱬" ; + x + "뺴" => x + "뺸" ; + x + "섀" => x + "섄" ; + x + "썌" => x + "썐" ; + x + "얘" => x + "얜" ; + x + "쟤" => x + "쟨" ; + x + "쨰" => x + "쨴" ; + x + "챼" => x + "첀" ; + x + "컈" => x + "컌" ; + x + "턔" => x + "턘" ; + x + "퍠" => x + "퍤" ; + x + "햬" => x + "햰" ; + x + "거" => x + "건" ; + x + "꺼" => x + "껀" ; + x + "너" => x + "넌" ; + x + "더" => x + "던" ; + x + "떠" => x + "떤" ; + x + "러" => x + "런" ; + x + "머" => x + "먼" ; + x + "버" => x + "번" ; + x + "뻐" => x + "뻔" ; + x + "서" => x + "선" ; + x + "써" => x + "썬" ; + x + "어" => x + "언" ; + x + "저" => x + "전" ; + x + "쩌" => x + "쩐" ; + x + "처" => x + "천" ; + x + "커" => x + "컨" ; + x + "터" => x + "턴" ; + x + "퍼" => x + "펀" ; + x + "허" => x + "헌" ; + x + "게" => x + "겐" ; + x + "께" => x + "껜" ; + x + "네" => x + "넨" ; + x + "데" => x + "덴" ; + x + "떼" => x + "뗀" ; + x + "레" => x + "렌" ; + x + "메" => x + "멘" ; + x + "베" => x + "벤" ; + x + "뻬" => x + "뻰" ; + x + "세" => x + "센" ; + x + "쎄" => x + "쎈" ; + x + "에" => x + "엔" ; + x + "제" => x + "젠" ; + x + "쩨" => x + "쩬" ; + x + "체" => x + "첸" ; + x + "케" => x + "켄" ; + x + "테" => x + "텐" ; + x + "페" => x + "펜" ; + x + "헤" => x + "헨" ; + x + "겨" => x + "견" ; + x + "껴" => x + "껸" ; + x + "녀" => x + "년" ; + x + "뎌" => x + "뎐" ; + x + "뗘" => x + "뗜" ; + x + "려" => x + "련" ; + x + "며" => x + "면" ; + x + "벼" => x + "변" ; + x + "뼈" => x + "뼌" ; + x + "셔" => x + "션" ; + x + "쎠" => x + "쎤" ; + x + "여" => x + "연" ; + x + "져" => x + "젼" ; + x + "쪄" => x + "쪈" ; + x + "쳐" => x + "쳔" ; + x + "켜" => x + "켠" ; + x + "텨" => x + "텬" ; + x + "펴" => x + "편" ; + x + "혀" => x + "현" ; + x + "계" => x + "곈" ; + x + "꼐" => x + "꼔" ; + x + "녜" => x + "녠" ; + x + "뎨" => x + "뎬" ; + x + "뗴" => x + "뗸" ; + x + "례" => x + "롄" ; + x + "몌" => x + "몐" ; + x + "볘" => x + "볜" ; + x + "뼤" => x + "뼨" ; + x + "셰" => x + "셴" ; + x + "쎼" => x + "쏀" ; + x + "예" => x + "옌" ; + x + "졔" => x + "졘" ; + x + "쪠" => x + "쪤" ; + x + "쳬" => x + "쳰" ; + x + "켸" => x + "켼" ; + x + "톄" => x + "톈" ; + x + "폐" => x + "폔" ; + x + "혜" => x + "혠" ; + x + "고" => x + "곤" ; + x + "꼬" => x + "꼰" ; + x + "노" => x + "논" ; + x + "도" => x + "돈" ; + x + "또" => x + "똔" ; + x + "로" => x + "론" ; + x + "모" => x + "몬" ; + x + "보" => x + "본" ; + x + "뽀" => x + "뽄" ; + x + "소" => x + "손" ; + x + "쏘" => x + "쏜" ; + x + "오" => x + "온" ; + x + "조" => x + "존" ; + x + "쪼" => x + "쫀" ; + x + "초" => x + "촌" ; + x + "코" => x + "콘" ; + x + "토" => x + "톤" ; + x + "포" => x + "폰" ; + x + "호" => x + "혼" ; + x + "과" => x + "관" ; + x + "꽈" => x + "꽌" ; + x + "놔" => x + "놘" ; + x + "돠" => x + "돤" ; + x + "똬" => x + "똰" ; + x + "롸" => x + "롼" ; + x + "뫄" => x + "뫈" ; + x + "봐" => x + "봔" ; + x + "뽜" => x + "뽠" ; + x + "솨" => x + "솬" ; + x + "쏴" => x + "쏸" ; + x + "와" => x + "완" ; + x + "좌" => x + "좐" ; + x + "쫘" => x + "쫜" ; + x + "촤" => x + "촨" ; + x + "콰" => x + "콴" ; + x + "톼" => x + "퇀" ; + x + "퐈" => x + "퐌" ; + x + "화" => x + "환" ; + x + "괘" => x + "괜" ; + x + "꽤" => x + "꽨" ; + x + "놰" => x + "놴" ; + x + "돼" => x + "됀" ; + x + "뙈" => x + "뙌" ; + x + "뢔" => x + "뢘" ; + x + "뫠" => x + "뫤" ; + x + "봬" => x + "봰" ; + x + "뽸" => x + "뽼" ; + x + "쇄" => x + "쇈" ; + x + "쐐" => x + "쐔" ; + x + "왜" => x + "왠" ; + x + "좨" => x + "좬" ; + x + "쫴" => x + "쫸" ; + x + "쵀" => x + "쵄" ; + x + "쾌" => x + "쾐" ; + x + "퇘" => x + "퇜" ; + x + "퐤" => x + "퐨" ; + x + "홰" => x + "홴" ; + x + "괴" => x + "괸" ; + x + "꾀" => x + "꾄" ; + x + "뇌" => x + "뇐" ; + x + "되" => x + "된" ; + x + "뙤" => x + "뙨" ; + x + "뢰" => x + "뢴" ; + x + "뫼" => x + "묀" ; + x + "뵈" => x + "뵌" ; + x + "뾔" => x + "뾘" ; + x + "쇠" => x + "쇤" ; + x + "쐬" => x + "쐰" ; + x + "외" => x + "왼" ; + x + "죄" => x + "죈" ; + x + "쬐" => x + "쬔" ; + x + "최" => x + "쵠" ; + x + "쾨" => x + "쾬" ; + x + "퇴" => x + "퇸" ; + x + "푀" => x + "푄" ; + x + "회" => x + "횐" ; + x + "교" => x + "굔" ; + x + "꾜" => x + "꾠" ; + x + "뇨" => x + "뇬" ; + x + "됴" => x + "됸" ; + x + "뚀" => x + "뚄" ; + x + "료" => x + "룐" ; + x + "묘" => x + "묜" ; + x + "뵤" => x + "뵨" ; + x + "뾰" => x + "뾴" ; + x + "쇼" => x + "숀" ; + x + "쑈" => x + "쑌" ; + x + "요" => x + "욘" ; + x + "죠" => x + "죤" ; + x + "쬬" => x + "쬰" ; + x + "쵸" => x + "쵼" ; + x + "쿄" => x + "쿈" ; + x + "툐" => x + "툔" ; + x + "표" => x + "푠" ; + x + "효" => x + "횬" ; + x + "구" => x + "군" ; + x + "꾸" => x + "꾼" ; + x + "누" => x + "눈" ; + x + "두" => x + "둔" ; + x + "뚜" => x + "뚠" ; + x + "루" => x + "룬" ; + x + "무" => x + "문" ; + x + "부" => x + "분" ; + x + "뿌" => x + "뿐" ; + x + "수" => x + "순" ; + x + "쑤" => x + "쑨" ; + x + "우" => x + "운" ; + x + "주" => x + "준" ; + x + "쭈" => x + "쭌" ; + x + "추" => x + "춘" ; + x + "쿠" => x + "쿤" ; + x + "투" => x + "툰" ; + x + "푸" => x + "푼" ; + x + "후" => x + "훈" ; + x + "궈" => x + "권" ; + x + "꿔" => x + "꿘" ; + x + "눠" => x + "눤" ; + x + "둬" => x + "둰" ; + x + "뚸" => x + "뚼" ; + x + "뤄" => x + "뤈" ; + x + "뭐" => x + "뭔" ; + x + "붜" => x + "붠" ; + x + "뿨" => x + "뿬" ; + x + "숴" => x + "숸" ; + x + "쒀" => x + "쒄" ; + x + "워" => x + "원" ; + x + "줘" => x + "줜" ; + x + "쭤" => x + "쭨" ; + x + "춰" => x + "춴" ; + x + "쿼" => x + "퀀" ; + x + "퉈" => x + "퉌" ; + x + "풔" => x + "풘" ; + x + "훠" => x + "훤" ; + x + "궤" => x + "궨" ; + x + "꿰" => x + "꿴" ; + x + "눼" => x + "뉀" ; + x + "뒈" => x + "뒌" ; + x + "뛔" => x + "뛘" ; + x + "뤠" => x + "뤤" ; + x + "뭬" => x + "뭰" ; + x + "붸" => x + "붼" ; + x + "쀄" => x + "쀈" ; + x + "쉐" => x + "쉔" ; + x + "쒜" => x + "쒠" ; + x + "웨" => x + "웬" ; + x + "줴" => x + "줸" ; + x + "쮀" => x + "쮄" ; + x + "췌" => x + "췐" ; + x + "퀘" => x + "퀜" ; + x + "퉤" => x + "퉨" ; + x + "풰" => x + "풴" ; + x + "훼" => x + "휀" ; + x + "귀" => x + "귄" ; + x + "뀌" => x + "뀐" ; + x + "뉘" => x + "뉜" ; + x + "뒤" => x + "뒨" ; + x + "뛰" => x + "뛴" ; + x + "뤼" => x + "륀" ; + x + "뮈" => x + "뮌" ; + x + "뷔" => x + "뷘" ; + x + "쀠" => x + "쀤" ; + x + "쉬" => x + "쉰" ; + x + "쒸" => x + "쒼" ; + x + "위" => x + "윈" ; + x + "쥐" => x + "쥔" ; + x + "쮜" => x + "쮠" ; + x + "취" => x + "췬" ; + x + "퀴" => x + "퀸" ; + x + "튀" => x + "튄" ; + x + "퓌" => x + "퓐" ; + x + "휘" => x + "휜" ; + x + "규" => x + "균" ; + x + "뀨" => x + "뀬" ; + x + "뉴" => x + "뉸" ; + x + "듀" => x + "듄" ; + x + "뜌" => x + "뜐" ; + x + "류" => x + "륜" ; + x + "뮤" => x + "뮨" ; + x + "뷰" => x + "뷴" ; + x + "쀼" => x + "쁀" ; + x + "슈" => x + "슌" ; + x + "쓔" => x + "쓘" ; + x + "유" => x + "윤" ; + x + "쥬" => x + "쥰" ; + x + "쮸" => x + "쮼" ; + x + "츄" => x + "츈" ; + x + "큐" => x + "큔" ; + x + "튜" => x + "튠" ; + x + "퓨" => x + "퓬" ; + x + "휴" => x + "휸" ; + x + "그" => x + "근" ; + x + "끄" => x + "끈" ; + x + "느" => x + "는" ; + x + "드" => x + "든" ; + x + "뜨" => x + "뜬" ; + x + "르" => x + "른" ; + x + "므" => x + "믄" ; + x + "브" => x + "븐" ; + x + "쁘" => x + "쁜" ; + x + "스" => x + "슨" ; + x + "쓰" => x + "쓴" ; + x + "으" => x + "은" ; + x + "즈" => x + "즌" ; + x + "쯔" => x + "쯘" ; + x + "츠" => x + "츤" ; + x + "크" => x + "큰" ; + x + "트" => x + "튼" ; + x + "프" => x + "픈" ; + x + "흐" => x + "흔" ; + x + "긔" => x + "긘" ; + x + "끠" => x + "끤" ; + x + "늬" => x + "늰" ; + x + "듸" => x + "듼" ; + x + "띄" => x + "띈" ; + x + "릐" => x + "릔" ; + x + "믜" => x + "믠" ; + x + "븨" => x + "븬" ; + x + "쁴" => x + "쁸" ; + x + "싀" => x + "싄" ; + x + "씌" => x + "씐" ; + x + "의" => x + "읜" ; + x + "즤" => x + "즨" ; + x + "쯰" => x + "쯴" ; + x + "츼" => x + "칀" ; + x + "킈" => x + "킌" ; + x + "틔" => x + "틘" ; + x + "픠" => x + "픤" ; + x + "희" => x + "흰" ; + x + "기" => x + "긴" ; + x + "끼" => x + "낀" ; + x + "니" => x + "닌" ; + x + "디" => x + "딘" ; + x + "띠" => x + "띤" ; + x + "리" => x + "린" ; + x + "미" => x + "민" ; + x + "비" => x + "빈" ; + x + "삐" => x + "삔" ; + x + "시" => x + "신" ; + x + "씨" => x + "씬" ; + x + "이" => x + "인" ; + x + "지" => x + "진" ; + x + "찌" => x + "찐" ; + x + "치" => x + "친" ; + x + "키" => x + "킨" ; + x + "티" => x + "틴" ; + x + "피" => x + "핀" ; + x + "히" => x + "힌" ; _ => str + "은" } ; add_B : Str -> Str = \str -> case str of { - _ + "가" => "갑" ; - _ + "까" => "깝" ; - _ + "나" => "납" ; - _ + "다" => "답" ; - _ + "따" => "땁" ; - _ + "라" => "랍" ; - _ + "마" => "맙" ; - _ + "바" => "밥" ; - _ + "빠" => "빱" ; - _ + "사" => "삽" ; - _ + "싸" => "쌉" ; - _ + "아" => "압" ; - _ + "자" => "잡" ; - _ + "짜" => "짭" ; - _ + "차" => "찹" ; - _ + "카" => "캅" ; - _ + "타" => "탑" ; - _ + "파" => "팝" ; - _ + "하" => "합" ; - _ + "개" => "갭" ; - _ + "깨" => "깹" ; - _ + "내" => "냅" ; - _ + "대" => "댑" ; - _ + "때" => "땝" ; - _ + "래" => "랩" ; - _ + "매" => "맵" ; - _ + "배" => "뱁" ; - _ + "빼" => "뺍" ; - _ + "새" => "샙" ; - _ + "쌔" => "쌥" ; - _ + "애" => "앱" ; - _ + "재" => "잽" ; - _ + "째" => "쨉" ; - _ + "채" => "챕" ; - _ + "캐" => "캡" ; - _ + "태" => "탭" ; - _ + "패" => "팹" ; - _ + "해" => "햅" ; - _ + "갸" => "걉" ; - _ + "꺄" => "꺕" ; - _ + "냐" => "냡" ; - _ + "댜" => "댭" ; - _ + "땨" => "땹" ; - _ + "랴" => "럅" ; - _ + "먀" => "먑" ; - _ + "뱌" => "뱝" ; - _ + "뺘" => "뺩" ; - _ + "샤" => "샵" ; - _ + "쌰" => "썁" ; - _ + "야" => "얍" ; - _ + "쟈" => "쟙" ; - _ + "쨔" => "쨥" ; - _ + "챠" => "챱" ; - _ + "캬" => "캽" ; - _ + "탸" => "턉" ; - _ + "퍄" => "퍕" ; - _ + "햐" => "햡" ; - _ + "걔" => "걥" ; - _ + "꺠" => "꺱" ; - _ + "냬" => "냽" ; - _ + "댸" => "덉" ; - _ + "떄" => "떕" ; - _ + "럐" => "럡" ; - _ + "먜" => "먭" ; - _ + "뱨" => "뱹" ; - _ + "뺴" => "뻅" ; - _ + "섀" => "섑" ; - _ + "썌" => "썝" ; - _ + "얘" => "얩" ; - _ + "쟤" => "쟵" ; - _ + "쨰" => "쩁" ; - _ + "챼" => "첍" ; - _ + "컈" => "컙" ; - _ + "턔" => "턥" ; - _ + "퍠" => "퍱" ; - _ + "햬" => "햽" ; - _ + "거" => "겁" ; - _ + "꺼" => "껍" ; - _ + "너" => "넙" ; - _ + "더" => "덥" ; - _ + "떠" => "떱" ; - _ + "러" => "럽" ; - _ + "머" => "멉" ; - _ + "버" => "법" ; - _ + "뻐" => "뻡" ; - _ + "서" => "섭" ; - _ + "써" => "썹" ; - _ + "어" => "업" ; - _ + "저" => "접" ; - _ + "쩌" => "쩝" ; - _ + "처" => "첩" ; - _ + "커" => "컵" ; - _ + "터" => "텁" ; - _ + "퍼" => "펍" ; - _ + "허" => "헙" ; - _ + "게" => "겝" ; - _ + "께" => "껩" ; - _ + "네" => "넵" ; - _ + "데" => "뎁" ; - _ + "떼" => "뗍" ; - _ + "레" => "렙" ; - _ + "메" => "멥" ; - _ + "베" => "벱" ; - _ + "뻬" => "뻽" ; - _ + "세" => "셉" ; - _ + "쎄" => "쎕" ; - _ + "에" => "엡" ; - _ + "제" => "젭" ; - _ + "쩨" => "쩹" ; - _ + "체" => "쳅" ; - _ + "케" => "켑" ; - _ + "테" => "텝" ; - _ + "페" => "펩" ; - _ + "헤" => "헵" ; - _ + "겨" => "겹" ; - _ + "껴" => "꼅" ; - _ + "녀" => "녑" ; - _ + "뎌" => "뎝" ; - _ + "뗘" => "뗩" ; - _ + "려" => "렵" ; - _ + "며" => "몁" ; - _ + "벼" => "볍" ; - _ + "뼈" => "뼙" ; - _ + "셔" => "셥" ; - _ + "쎠" => "쎱" ; - _ + "여" => "엽" ; - _ + "져" => "졉" ; - _ + "쪄" => "쪕" ; - _ + "쳐" => "쳡" ; - _ + "켜" => "켭" ; - _ + "텨" => "텹" ; - _ + "펴" => "폅" ; - _ + "혀" => "협" ; - _ + "계" => "곕" ; - _ + "꼐" => "꼡" ; - _ + "녜" => "녭" ; - _ + "뎨" => "뎹" ; - _ + "뗴" => "똅" ; - _ + "례" => "롑" ; - _ + "몌" => "몝" ; - _ + "볘" => "볩" ; - _ + "뼤" => "뼵" ; - _ + "셰" => "솁" ; - _ + "쎼" => "쏍" ; - _ + "예" => "옙" ; - _ + "졔" => "졥" ; - _ + "쪠" => "쪱" ; - _ + "쳬" => "쳽" ; - _ + "켸" => "콉" ; - _ + "톄" => "톕" ; - _ + "폐" => "폡" ; - _ + "혜" => "혭" ; - _ + "고" => "곱" ; - _ + "꼬" => "꼽" ; - _ + "노" => "놉" ; - _ + "도" => "돕" ; - _ + "또" => "똡" ; - _ + "로" => "롭" ; - _ + "모" => "몹" ; - _ + "보" => "봅" ; - _ + "뽀" => "뽑" ; - _ + "소" => "솝" ; - _ + "쏘" => "쏩" ; - _ + "오" => "옵" ; - _ + "조" => "좁" ; - _ + "쪼" => "쫍" ; - _ + "초" => "촙" ; - _ + "코" => "콥" ; - _ + "토" => "톱" ; - _ + "포" => "폽" ; - _ + "호" => "홉" ; - _ + "과" => "괍" ; - _ + "꽈" => "꽙" ; - _ + "놔" => "놥" ; - _ + "돠" => "돱" ; - _ + "똬" => "똽" ; - _ + "롸" => "뢉" ; - _ + "뫄" => "뫕" ; - _ + "봐" => "봡" ; - _ + "뽜" => "뽭" ; - _ + "솨" => "솹" ; - _ + "쏴" => "쐅" ; - _ + "와" => "왑" ; - _ + "좌" => "좝" ; - _ + "쫘" => "쫩" ; - _ + "촤" => "촵" ; - _ + "콰" => "쾁" ; - _ + "톼" => "퇍" ; - _ + "퐈" => "퐙" ; - _ + "화" => "홥" ; - _ + "괘" => "괩" ; - _ + "꽤" => "꽵" ; - _ + "놰" => "뇁" ; - _ + "돼" => "됍" ; - _ + "뙈" => "뙙" ; - _ + "뢔" => "뢥" ; - _ + "뫠" => "뫱" ; - _ + "봬" => "봽" ; - _ + "뽸" => "뾉" ; - _ + "쇄" => "쇕" ; - _ + "쐐" => "쐡" ; - _ + "왜" => "왭" ; - _ + "좨" => "좹" ; - _ + "쫴" => "쬅" ; - _ + "쵀" => "쵑" ; - _ + "쾌" => "쾝" ; - _ + "퇘" => "퇩" ; - _ + "퐤" => "퐵" ; - _ + "홰" => "횁" ; - _ + "괴" => "굅" ; - _ + "꾀" => "꾑" ; - _ + "뇌" => "뇝" ; - _ + "되" => "됩" ; - _ + "뙤" => "뙵" ; - _ + "뢰" => "룁" ; - _ + "뫼" => "묍" ; - _ + "뵈" => "뵙" ; - _ + "뾔" => "뾥" ; - _ + "쇠" => "쇱" ; - _ + "쐬" => "쐽" ; - _ + "외" => "욉" ; - _ + "죄" => "죕" ; - _ + "쬐" => "쬡" ; - _ + "최" => "쵭" ; - _ + "쾨" => "쾹" ; - _ + "퇴" => "툅" ; - _ + "푀" => "푑" ; - _ + "회" => "횝" ; - _ + "교" => "굡" ; - _ + "꾜" => "꾭" ; - _ + "뇨" => "뇹" ; - _ + "됴" => "둅" ; - _ + "뚀" => "뚑" ; - _ + "료" => "룝" ; - _ + "묘" => "묩" ; - _ + "뵤" => "뵵" ; - _ + "뾰" => "뿁" ; - _ + "쇼" => "숍" ; - _ + "쑈" => "쑙" ; - _ + "요" => "욥" ; - _ + "죠" => "죱" ; - _ + "쬬" => "쬽" ; - _ + "쵸" => "춉" ; - _ + "쿄" => "쿕" ; - _ + "툐" => "툡" ; - _ + "표" => "푭" ; - _ + "효" => "횹" ; - _ + "구" => "굽" ; - _ + "꾸" => "꿉" ; - _ + "누" => "눕" ; - _ + "두" => "둡" ; - _ + "뚜" => "뚭" ; - _ + "루" => "룹" ; - _ + "무" => "뭅" ; - _ + "부" => "붑" ; - _ + "뿌" => "뿝" ; - _ + "수" => "숩" ; - _ + "쑤" => "쑵" ; - _ + "우" => "웁" ; - _ + "주" => "줍" ; - _ + "쭈" => "쭙" ; - _ + "추" => "춥" ; - _ + "쿠" => "쿱" ; - _ + "투" => "툽" ; - _ + "푸" => "풉" ; - _ + "후" => "훕" ; - _ + "궈" => "궙" ; - _ + "꿔" => "꿥" ; - _ + "눠" => "눱" ; - _ + "둬" => "둽" ; - _ + "뚸" => "뛉" ; - _ + "뤄" => "뤕" ; - _ + "뭐" => "뭡" ; - _ + "붜" => "붭" ; - _ + "뿨" => "뿹" ; - _ + "숴" => "쉅" ; - _ + "쒀" => "쒑" ; - _ + "워" => "웝" ; - _ + "줘" => "줩" ; - _ + "쭤" => "쭵" ; - _ + "춰" => "췁" ; - _ + "쿼" => "퀍" ; - _ + "퉈" => "퉙" ; - _ + "풔" => "풥" ; - _ + "훠" => "훱" ; - _ + "궤" => "궵" ; - _ + "꿰" => "뀁" ; - _ + "눼" => "뉍" ; - _ + "뒈" => "뒙" ; - _ + "뛔" => "뛥" ; - _ + "뤠" => "뤱" ; - _ + "뭬" => "뭽" ; - _ + "붸" => "뷉" ; - _ + "쀄" => "쀕" ; - _ + "쉐" => "쉡" ; - _ + "쒜" => "쒭" ; - _ + "웨" => "웹" ; - _ + "줴" => "쥅" ; - _ + "쮀" => "쮑" ; - _ + "췌" => "췝" ; - _ + "퀘" => "퀩" ; - _ + "퉤" => "퉵" ; - _ + "풰" => "퓁" ; - _ + "훼" => "휍" ; - _ + "귀" => "귑" ; - _ + "뀌" => "뀝" ; - _ + "뉘" => "뉩" ; - _ + "뒤" => "뒵" ; - _ + "뛰" => "뜁" ; - _ + "뤼" => "륍" ; - _ + "뮈" => "뮙" ; - _ + "뷔" => "뷥" ; - _ + "쀠" => "쀱" ; - _ + "쉬" => "쉽" ; - _ + "쒸" => "쓉" ; - _ + "위" => "윕" ; - _ + "쥐" => "쥡" ; - _ + "쮜" => "쮭" ; - _ + "취" => "췹" ; - _ + "퀴" => "큅" ; - _ + "튀" => "튑" ; - _ + "퓌" => "퓝" ; - _ + "휘" => "휩" ; - _ + "규" => "귭" ; - _ + "뀨" => "뀹" ; - _ + "뉴" => "늅" ; - _ + "듀" => "듑" ; - _ + "뜌" => "뜝" ; - _ + "류" => "륩" ; - _ + "뮤" => "뮵" ; - _ + "뷰" => "븁" ; - _ + "쀼" => "쁍" ; - _ + "슈" => "슙" ; - _ + "쓔" => "쓥" ; - _ + "유" => "윱" ; - _ + "쥬" => "쥽" ; - _ + "쮸" => "쯉" ; - _ + "츄" => "츕" ; - _ + "큐" => "큡" ; - _ + "튜" => "튭" ; - _ + "퓨" => "퓹" ; - _ + "휴" => "흅" ; - _ + "그" => "급" ; - _ + "끄" => "끕" ; - _ + "느" => "늡" ; - _ + "드" => "듭" ; - _ + "뜨" => "뜹" ; - _ + "르" => "릅" ; - _ + "므" => "믑" ; - _ + "브" => "븝" ; - _ + "쁘" => "쁩" ; - _ + "스" => "습" ; - _ + "쓰" => "씁" ; - _ + "으" => "읍" ; - _ + "즈" => "즙" ; - _ + "쯔" => "쯥" ; - _ + "츠" => "츱" ; - _ + "크" => "큽" ; - _ + "트" => "틉" ; - _ + "프" => "픕" ; - _ + "흐" => "흡" ; - _ + "긔" => "긥" ; - _ + "끠" => "끱" ; - _ + "늬" => "늽" ; - _ + "듸" => "딉" ; - _ + "띄" => "띕" ; - _ + "릐" => "릡" ; - _ + "믜" => "믭" ; - _ + "븨" => "븹" ; - _ + "쁴" => "삅" ; - _ + "싀" => "싑" ; - _ + "씌" => "씝" ; - _ + "의" => "읩" ; - _ + "즤" => "즵" ; - _ + "쯰" => "찁" ; - _ + "츼" => "칍" ; - _ + "킈" => "킙" ; - _ + "틔" => "틥" ; - _ + "픠" => "픱" ; - _ + "희" => "흽" ; - _ + "기" => "깁" ; - _ + "끼" => "낍" ; - _ + "니" => "닙" ; - _ + "디" => "딥" ; - _ + "띠" => "띱" ; - _ + "리" => "립" ; - _ + "미" => "밉" ; - _ + "비" => "빕" ; - _ + "삐" => "삡" ; - _ + "시" => "십" ; - _ + "씨" => "씹" ; - _ + "이" => "입" ; - _ + "지" => "집" ; - _ + "찌" => "찝" ; - _ + "치" => "칩" ; - _ + "키" => "킵" ; - _ + "티" => "팁" ; - _ + "피" => "핍" ; - _ + "히" => "힙" ; + x + "가" => x + "갑" ; + x + "까" => x + "깝" ; + x + "나" => x + "납" ; + x + "다" => x + "답" ; + x + "따" => x + "땁" ; + x + "라" => x + "랍" ; + x + "마" => x + "맙" ; + x + "바" => x + "밥" ; + x + "빠" => x + "빱" ; + x + "사" => x + "삽" ; + x + "싸" => x + "쌉" ; + x + "아" => x + "압" ; + x + "자" => x + "잡" ; + x + "짜" => x + "짭" ; + x + "차" => x + "찹" ; + x + "카" => x + "캅" ; + x + "타" => x + "탑" ; + x + "파" => x + "팝" ; + x + "하" => x + "합" ; + x + "개" => x + "갭" ; + x + "깨" => x + "깹" ; + x + "내" => x + "냅" ; + x + "대" => x + "댑" ; + x + "때" => x + "땝" ; + x + "래" => x + "랩" ; + x + "매" => x + "맵" ; + x + "배" => x + "뱁" ; + x + "빼" => x + "뺍" ; + x + "새" => x + "샙" ; + x + "쌔" => x + "쌥" ; + x + "애" => x + "앱" ; + x + "재" => x + "잽" ; + x + "째" => x + "쨉" ; + x + "채" => x + "챕" ; + x + "캐" => x + "캡" ; + x + "태" => x + "탭" ; + x + "패" => x + "팹" ; + x + "해" => x + "햅" ; + x + "갸" => x + "걉" ; + x + "꺄" => x + "꺕" ; + x + "냐" => x + "냡" ; + x + "댜" => x + "댭" ; + x + "땨" => x + "땹" ; + x + "랴" => x + "럅" ; + x + "먀" => x + "먑" ; + x + "뱌" => x + "뱝" ; + x + "뺘" => x + "뺩" ; + x + "샤" => x + "샵" ; + x + "쌰" => x + "썁" ; + x + "야" => x + "얍" ; + x + "쟈" => x + "쟙" ; + x + "쨔" => x + "쨥" ; + x + "챠" => x + "챱" ; + x + "캬" => x + "캽" ; + x + "탸" => x + "턉" ; + x + "퍄" => x + "퍕" ; + x + "햐" => x + "햡" ; + x + "걔" => x + "걥" ; + x + "꺠" => x + "꺱" ; + x + "냬" => x + "냽" ; + x + "댸" => x + "덉" ; + x + "떄" => x + "떕" ; + x + "럐" => x + "럡" ; + x + "먜" => x + "먭" ; + x + "뱨" => x + "뱹" ; + x + "뺴" => x + "뻅" ; + x + "섀" => x + "섑" ; + x + "썌" => x + "썝" ; + x + "얘" => x + "얩" ; + x + "쟤" => x + "쟵" ; + x + "쨰" => x + "쩁" ; + x + "챼" => x + "첍" ; + x + "컈" => x + "컙" ; + x + "턔" => x + "턥" ; + x + "퍠" => x + "퍱" ; + x + "햬" => x + "햽" ; + x + "거" => x + "겁" ; + x + "꺼" => x + "껍" ; + x + "너" => x + "넙" ; + x + "더" => x + "덥" ; + x + "떠" => x + "떱" ; + x + "러" => x + "럽" ; + x + "머" => x + "멉" ; + x + "버" => x + "법" ; + x + "뻐" => x + "뻡" ; + x + "서" => x + "섭" ; + x + "써" => x + "썹" ; + x + "어" => x + "업" ; + x + "저" => x + "접" ; + x + "쩌" => x + "쩝" ; + x + "처" => x + "첩" ; + x + "커" => x + "컵" ; + x + "터" => x + "텁" ; + x + "퍼" => x + "펍" ; + x + "허" => x + "헙" ; + x + "게" => x + "겝" ; + x + "께" => x + "껩" ; + x + "네" => x + "넵" ; + x + "데" => x + "뎁" ; + x + "떼" => x + "뗍" ; + x + "레" => x + "렙" ; + x + "메" => x + "멥" ; + x + "베" => x + "벱" ; + x + "뻬" => x + "뻽" ; + x + "세" => x + "셉" ; + x + "쎄" => x + "쎕" ; + x + "에" => x + "엡" ; + x + "제" => x + "젭" ; + x + "쩨" => x + "쩹" ; + x + "체" => x + "쳅" ; + x + "케" => x + "켑" ; + x + "테" => x + "텝" ; + x + "페" => x + "펩" ; + x + "헤" => x + "헵" ; + x + "겨" => x + "겹" ; + x + "껴" => x + "꼅" ; + x + "녀" => x + "녑" ; + x + "뎌" => x + "뎝" ; + x + "뗘" => x + "뗩" ; + x + "려" => x + "렵" ; + x + "며" => x + "몁" ; + x + "벼" => x + "볍" ; + x + "뼈" => x + "뼙" ; + x + "셔" => x + "셥" ; + x + "쎠" => x + "쎱" ; + x + "여" => x + "엽" ; + x + "져" => x + "졉" ; + x + "쪄" => x + "쪕" ; + x + "쳐" => x + "쳡" ; + x + "켜" => x + "켭" ; + x + "텨" => x + "텹" ; + x + "펴" => x + "폅" ; + x + "혀" => x + "협" ; + x + "계" => x + "곕" ; + x + "꼐" => x + "꼡" ; + x + "녜" => x + "녭" ; + x + "뎨" => x + "뎹" ; + x + "뗴" => x + "똅" ; + x + "례" => x + "롑" ; + x + "몌" => x + "몝" ; + x + "볘" => x + "볩" ; + x + "뼤" => x + "뼵" ; + x + "셰" => x + "솁" ; + x + "쎼" => x + "쏍" ; + x + "예" => x + "옙" ; + x + "졔" => x + "졥" ; + x + "쪠" => x + "쪱" ; + x + "쳬" => x + "쳽" ; + x + "켸" => x + "콉" ; + x + "톄" => x + "톕" ; + x + "폐" => x + "폡" ; + x + "혜" => x + "혭" ; + x + "고" => x + "곱" ; + x + "꼬" => x + "꼽" ; + x + "노" => x + "놉" ; + x + "도" => x + "돕" ; + x + "또" => x + "똡" ; + x + "로" => x + "롭" ; + x + "모" => x + "몹" ; + x + "보" => x + "봅" ; + x + "뽀" => x + "뽑" ; + x + "소" => x + "솝" ; + x + "쏘" => x + "쏩" ; + x + "오" => x + "옵" ; + x + "조" => x + "좁" ; + x + "쪼" => x + "쫍" ; + x + "초" => x + "촙" ; + x + "코" => x + "콥" ; + x + "토" => x + "톱" ; + x + "포" => x + "폽" ; + x + "호" => x + "홉" ; + x + "과" => x + "괍" ; + x + "꽈" => x + "꽙" ; + x + "놔" => x + "놥" ; + x + "돠" => x + "돱" ; + x + "똬" => x + "똽" ; + x + "롸" => x + "뢉" ; + x + "뫄" => x + "뫕" ; + x + "봐" => x + "봡" ; + x + "뽜" => x + "뽭" ; + x + "솨" => x + "솹" ; + x + "쏴" => x + "쐅" ; + x + "와" => x + "왑" ; + x + "좌" => x + "좝" ; + x + "쫘" => x + "쫩" ; + x + "촤" => x + "촵" ; + x + "콰" => x + "쾁" ; + x + "톼" => x + "퇍" ; + x + "퐈" => x + "퐙" ; + x + "화" => x + "홥" ; + x + "괘" => x + "괩" ; + x + "꽤" => x + "꽵" ; + x + "놰" => x + "뇁" ; + x + "돼" => x + "됍" ; + x + "뙈" => x + "뙙" ; + x + "뢔" => x + "뢥" ; + x + "뫠" => x + "뫱" ; + x + "봬" => x + "봽" ; + x + "뽸" => x + "뾉" ; + x + "쇄" => x + "쇕" ; + x + "쐐" => x + "쐡" ; + x + "왜" => x + "왭" ; + x + "좨" => x + "좹" ; + x + "쫴" => x + "쬅" ; + x + "쵀" => x + "쵑" ; + x + "쾌" => x + "쾝" ; + x + "퇘" => x + "퇩" ; + x + "퐤" => x + "퐵" ; + x + "홰" => x + "횁" ; + x + "괴" => x + "굅" ; + x + "꾀" => x + "꾑" ; + x + "뇌" => x + "뇝" ; + x + "되" => x + "됩" ; + x + "뙤" => x + "뙵" ; + x + "뢰" => x + "룁" ; + x + "뫼" => x + "묍" ; + x + "뵈" => x + "뵙" ; + x + "뾔" => x + "뾥" ; + x + "쇠" => x + "쇱" ; + x + "쐬" => x + "쐽" ; + x + "외" => x + "욉" ; + x + "죄" => x + "죕" ; + x + "쬐" => x + "쬡" ; + x + "최" => x + "쵭" ; + x + "쾨" => x + "쾹" ; + x + "퇴" => x + "툅" ; + x + "푀" => x + "푑" ; + x + "회" => x + "횝" ; + x + "교" => x + "굡" ; + x + "꾜" => x + "꾭" ; + x + "뇨" => x + "뇹" ; + x + "됴" => x + "둅" ; + x + "뚀" => x + "뚑" ; + x + "료" => x + "룝" ; + x + "묘" => x + "묩" ; + x + "뵤" => x + "뵵" ; + x + "뾰" => x + "뿁" ; + x + "쇼" => x + "숍" ; + x + "쑈" => x + "쑙" ; + x + "요" => x + "욥" ; + x + "죠" => x + "죱" ; + x + "쬬" => x + "쬽" ; + x + "쵸" => x + "춉" ; + x + "쿄" => x + "쿕" ; + x + "툐" => x + "툡" ; + x + "표" => x + "푭" ; + x + "효" => x + "횹" ; + x + "구" => x + "굽" ; + x + "꾸" => x + "꿉" ; + x + "누" => x + "눕" ; + x + "두" => x + "둡" ; + x + "뚜" => x + "뚭" ; + x + "루" => x + "룹" ; + x + "무" => x + "뭅" ; + x + "부" => x + "붑" ; + x + "뿌" => x + "뿝" ; + x + "수" => x + "숩" ; + x + "쑤" => x + "쑵" ; + x + "우" => x + "웁" ; + x + "주" => x + "줍" ; + x + "쭈" => x + "쭙" ; + x + "추" => x + "춥" ; + x + "쿠" => x + "쿱" ; + x + "투" => x + "툽" ; + x + "푸" => x + "풉" ; + x + "후" => x + "훕" ; + x + "궈" => x + "궙" ; + x + "꿔" => x + "꿥" ; + x + "눠" => x + "눱" ; + x + "둬" => x + "둽" ; + x + "뚸" => x + "뛉" ; + x + "뤄" => x + "뤕" ; + x + "뭐" => x + "뭡" ; + x + "붜" => x + "붭" ; + x + "뿨" => x + "뿹" ; + x + "숴" => x + "쉅" ; + x + "쒀" => x + "쒑" ; + x + "워" => x + "웝" ; + x + "줘" => x + "줩" ; + x + "쭤" => x + "쭵" ; + x + "춰" => x + "췁" ; + x + "쿼" => x + "퀍" ; + x + "퉈" => x + "퉙" ; + x + "풔" => x + "풥" ; + x + "훠" => x + "훱" ; + x + "궤" => x + "궵" ; + x + "꿰" => x + "뀁" ; + x + "눼" => x + "뉍" ; + x + "뒈" => x + "뒙" ; + x + "뛔" => x + "뛥" ; + x + "뤠" => x + "뤱" ; + x + "뭬" => x + "뭽" ; + x + "붸" => x + "뷉" ; + x + "쀄" => x + "쀕" ; + x + "쉐" => x + "쉡" ; + x + "쒜" => x + "쒭" ; + x + "웨" => x + "웹" ; + x + "줴" => x + "쥅" ; + x + "쮀" => x + "쮑" ; + x + "췌" => x + "췝" ; + x + "퀘" => x + "퀩" ; + x + "퉤" => x + "퉵" ; + x + "풰" => x + "퓁" ; + x + "훼" => x + "휍" ; + x + "귀" => x + "귑" ; + x + "뀌" => x + "뀝" ; + x + "뉘" => x + "뉩" ; + x + "뒤" => x + "뒵" ; + x + "뛰" => x + "뜁" ; + x + "뤼" => x + "륍" ; + x + "뮈" => x + "뮙" ; + x + "뷔" => x + "뷥" ; + x + "쀠" => x + "쀱" ; + x + "쉬" => x + "쉽" ; + x + "쒸" => x + "쓉" ; + x + "위" => x + "윕" ; + x + "쥐" => x + "쥡" ; + x + "쮜" => x + "쮭" ; + x + "취" => x + "췹" ; + x + "퀴" => x + "큅" ; + x + "튀" => x + "튑" ; + x + "퓌" => x + "퓝" ; + x + "휘" => x + "휩" ; + x + "규" => x + "귭" ; + x + "뀨" => x + "뀹" ; + x + "뉴" => x + "늅" ; + x + "듀" => x + "듑" ; + x + "뜌" => x + "뜝" ; + x + "류" => x + "륩" ; + x + "뮤" => x + "뮵" ; + x + "뷰" => x + "븁" ; + x + "쀼" => x + "쁍" ; + x + "슈" => x + "슙" ; + x + "쓔" => x + "쓥" ; + x + "유" => x + "윱" ; + x + "쥬" => x + "쥽" ; + x + "쮸" => x + "쯉" ; + x + "츄" => x + "츕" ; + x + "큐" => x + "큡" ; + x + "튜" => x + "튭" ; + x + "퓨" => x + "퓹" ; + x + "휴" => x + "흅" ; + x + "그" => x + "급" ; + x + "끄" => x + "끕" ; + x + "느" => x + "늡" ; + x + "드" => x + "듭" ; + x + "뜨" => x + "뜹" ; + x + "르" => x + "릅" ; + x + "므" => x + "믑" ; + x + "브" => x + "븝" ; + x + "쁘" => x + "쁩" ; + x + "스" => x + "습" ; + x + "쓰" => x + "씁" ; + x + "으" => x + "읍" ; + x + "즈" => x + "즙" ; + x + "쯔" => x + "쯥" ; + x + "츠" => x + "츱" ; + x + "크" => x + "큽" ; + x + "트" => x + "틉" ; + x + "프" => x + "픕" ; + x + "흐" => x + "흡" ; + x + "긔" => x + "긥" ; + x + "끠" => x + "끱" ; + x + "늬" => x + "늽" ; + x + "듸" => x + "딉" ; + x + "띄" => x + "띕" ; + x + "릐" => x + "릡" ; + x + "믜" => x + "믭" ; + x + "븨" => x + "븹" ; + x + "쁴" => x + "삅" ; + x + "싀" => x + "싑" ; + x + "씌" => x + "씝" ; + x + "의" => x + "읩" ; + x + "즤" => x + "즵" ; + x + "쯰" => x + "찁" ; + x + "츼" => x + "칍" ; + x + "킈" => x + "킙" ; + x + "틔" => x + "틥" ; + x + "픠" => x + "픱" ; + x + "희" => x + "흽" ; + x + "기" => x + "깁" ; + x + "끼" => x + "낍" ; + x + "니" => x + "닙" ; + x + "디" => x + "딥" ; + x + "띠" => x + "띱" ; + x + "리" => x + "립" ; + x + "미" => x + "밉" ; + x + "비" => x + "빕" ; + x + "삐" => x + "삡" ; + x + "시" => x + "십" ; + x + "씨" => x + "씹" ; + x + "이" => x + "입" ; + x + "지" => x + "집" ; + x + "찌" => x + "찝" ; + x + "치" => x + "칩" ; + x + "키" => x + "킵" ; + x + "티" => x + "팁" ; + x + "피" => x + "핍" ; + x + "히" => x + "힙" ; _ => str + "ᆸ" -- NB. Combining jamo, doesn't render right in all fonts and probably breaks search } ; -} \ No newline at end of file +} From 5f04085084bedb8c2f9dc85c720882a669966497 Mon Sep 17 00:00:00 2001 From: Inari Listenmaa Date: Tue, 24 Mar 2020 14:35:20 +0100 Subject: [PATCH 10/35] (Kor) Add have_V2 --- src/korean/ResKor.gf | 9 ++++++++- src/korean/StructuralKor.gf | 2 +- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/korean/ResKor.gf b/src/korean/ResKor.gf index 03381d102..476f56497 100644 --- a/src/korean/ResKor.gf +++ b/src/korean/ResKor.gf @@ -166,7 +166,14 @@ oper _ => copula.s ! vf } } ; - + have_V : Verb = mkVerbFull + "있다" + "있어요" + "있습니다" + "없다" + "없어요" + "없습니다" + Existential ; ------------------ -- Adv diff --git a/src/korean/StructuralKor.gf b/src/korean/StructuralKor.gf index d36f8d031..5e19f5ceb 100644 --- a/src/korean/StructuralKor.gf +++ b/src/korean/StructuralKor.gf @@ -156,7 +156,7 @@ lin yes_Utt = ss "아니요" ; ------- -- Verb ---lin have_V2 = mkV2 have_V ; +lin have_V2 = have_V ** {sc = Topic; c2 = Subject ; p2 = emptyPP} ; -- lin can8know_VV = can_VV ; -- can (capacity) -- lin can_VV = mkVV "" ; -- can (possibility) -- lin must_VV = mkVV "" ; From cad155b0bb811e393cf1b94f28e259cab864c5c0 Mon Sep 17 00:00:00 2001 From: Inari Listenmaa Date: Tue, 24 Mar 2020 14:36:30 +0100 Subject: [PATCH 11/35] (Kor) Small cleanup --- src/korean/LexiconKor.gf | 2 +- src/korean/ResKor.gf | 4 +++- src/korean/VerbKor.gf | 4 ---- 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/src/korean/LexiconKor.gf b/src/korean/LexiconKor.gf index ee5e6080b..16f58f6e4 100644 --- a/src/korean/LexiconKor.gf +++ b/src/korean/LexiconKor.gf @@ -325,7 +325,7 @@ lin person_N = mkN "사람" ; -- lin skin_N = mkN "" ; -- lin sky_N = mkN "" ; -- lin sleep_V = mkV "" ; -lin small_A = mkA "작아다" ; +lin small_A = mkA "작다" ; -- lin smell_V = mkV "" ; -- lin smoke_N = mkN "" ; -- lin smooth_A = mkA "" ; diff --git a/src/korean/ResKor.gf b/src/korean/ResKor.gf index 476f56497..a57d5f290 100644 --- a/src/korean/ResKor.gf +++ b/src/korean/ResKor.gf @@ -99,6 +99,8 @@ oper mkPrep : Str -> Postposition = \str -> ss str ; + emptyPP = mkPrep [] ; + -------------------------------------------------------------------------------- -- Adjectives @@ -134,7 +136,7 @@ oper mkVerb2 : (plain : Str) -> Verb2 = \plain -> let v = mkVerb plain Active - in v ** {c2 = Object ; p2 = mkPrep []} ; + in v ** {c2 = Object ; p2 = emptyPP} ; mkVerbFull : (x1,_,_,_,_,x6 : Str) -> VerbType -> Verb = \plain,polite,formal,planeg,polneg,formneg,vt -> { diff --git a/src/korean/VerbKor.gf b/src/korean/VerbKor.gf index ca846ec89..8a5a39bdc 100644 --- a/src/korean/VerbKor.gf +++ b/src/korean/VerbKor.gf @@ -58,7 +58,6 @@ lin SlashV2Q v2q qs = ; -- : V2A -> AP -> VPSlash ; -- paint (it) red - -- TODO: is "red" plural in "paint them red"? SlashV2A v2a ap = useVc v2a ** { aComp = \\_ => (CompAP ap).aComp ! Sg3 Masc } ; @@ -105,9 +104,6 @@ lin -- let adv = prepNP prep emptyNP -- in insertAdv vp adv ; - - - --2 Complements to copula -- Adjectival phrases, noun phrases, and adverbs can be used. From 50eeb8757bfb1c70d6396e88eb39412f1c5912f5 Mon Sep 17 00:00:00 2001 From: Inari Listenmaa Date: Tue, 24 Mar 2020 17:00:08 +0100 Subject: [PATCH 12/35] (Kor) WIP Transformation functions for polite verb forms --- src/korean/Hangul.gf | 96 +++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 95 insertions(+), 1 deletion(-) diff --git a/src/korean/Hangul.gf b/src/korean/Hangul.gf index a89ec8d03..c576d9590 100644 --- a/src/korean/Hangul.gf +++ b/src/korean/Hangul.gf @@ -1,6 +1,49 @@ resource Hangul = open Prelude in { oper + add_eo : Str -> Str = \stem -> + case stem of { + -- Final ㅏ or ㅓ does not repeat itself. + _ + #a|#eo -- TODO if it's one syllable long and ends in #a, which rule applies? + => stem ; + + -- Assimilations with ㅣ, ㅗ, ㅜ + start + ult@#i + => start + replaceVowel ult "여" ; + start + ult@#o + => start + replaceVowel ult "와" ; + start + ult@#u + => start + replaceVowel ult "워" ; + + -- Special case: monosyllabic stem + -- 으 is dropped, replace the old vowel. + #eu => replaceVowel stem "어" ; + -- Otherwise add 어. + x@? => stem + "어" ; + + -- Special cases with 으: + -- 으 is dropped, the second vowel from the right becomes + -- the new final vowel and then ㅏ or ㅓ comes accordingly. + start + penult@? + ult@'contains_으' + => let lastVow : Str = getVowel penult ; + lastSyl : Str = replaceVowel ult lastVow ; + in start + penult + case lastSyl of { + #a|#eo => lastSyl ; + #i => replaceVowel lastSyl "여" ; + #o => replaceVowel lastSyl "와" ; + #u => replaceVowel lastSyl "워" ; + #a_o => lastSyl + "아" ; + _ => lastSyl + "어" + } ; + + -- Easy regular cases to finish with. + _ + #a_o => stem + "아" ; + _ => stem + "어" } ; + + + replaceVowel : (syl, vow : Str) -> Str = \syl,vow -> syl ; + getVowel : Str -> Str = \s -> s ; + v : pattern Str = #("가" | "까" | "나" | "다" | "따" | "라" | "마" | "바" | "빠" | "사" | "싸" | "아" | "자" | "짜" | "차" | "카" | "타" | "파" | "하" | "개" | "깨" | "내" | "대" | "때" | "래" | "매" | "배" | "빼" | "새" | "쌔" | "애" | "재" | "째" | "채" | "캐" | "태" | "패" | "해" | "갸" | "꺄" | "냐" | "댜" | "땨" | "랴" | "먀" | "뱌" | "뺘" | "샤" | "쌰" | "야" | "쟈" | "쨔" | "챠" | "캬" | "탸" | "퍄" | "햐" | @@ -22,7 +65,57 @@ oper "그" | "끄" | "느" | "드" | "뜨" | "르" | "므" | "브" | "쁘" | "스" | "쓰" | "으" | "즈" | "쯔" | "츠" | "크" | "트" | "프" | "흐" | "긔" | "끠" | "늬" | "듸" | "띄" | "릐" | "믜" | "븨" | "쁴" | "싀" | "씌" | "의" | "즤" | "쯰" | "츼" | "킈" | "틔" | "픠" | "희" | "기" | "끼" | "니" | "디" | "띠" | "리" | "미" | "비" | "삐" | "시" | "씨" | "이" | "지" | "찌" | "치" | "키" | "티" | "피" | "히" ) ; - + + a : pattern Str = #("가" | "까" | "나" | "다" | "따" | "라" | "마" | "바" | "빠" | "사" | "싸" | "아" | "자" | "짜" | "차" | "카" | "타" | "파" | "하") ; + eo : pattern Str = #("거" | "꺼" | "너" | "더" | "떠" | "러" | "머" | "버" | "뻐" | "서" | "써" | "어" | "저" | "쩌" | "처" | "커" | "터" | "퍼" | "허") ; + eu : pattern Str = #("그" | "끄" | "느" | "드" | "뜨" | "르" | "므" | "브" | "쁘" | "스" | "쓰" | "으" | "즈" | "쯔" | "츠" | "크" | "트" | "프" | "흐") ; + i : pattern Str = #("기" | "끼" | "니" | "디" | "띠" | "리" | "미" | "비" | "삐" | "시" | "씨" | "이" | "지" | "찌" | "치" | "키" | "티" | "피" | "히") ; + o : pattern Str = #("고" | "꼬" | "노" | "도" | "또" | "로" | "모" | "보" | "뽀" | "소" | "쏘" | "오" | "조" | "쪼" | "초" | "코" | "토" | "포" | "호") ; + u : pattern Str = #("구" | "꾸" | "누" | "두" | "뚜" | "루" | "무" | "부" | "뿌" | "수" | "쑤" | "우" | "주" | "쭈" | "추" | "쿠" | "투" | "푸" | "후") ; + + 'all_with_아' : pattern Str = #("가" | "각" | "갂" | "갃" | "간" | "갅" | "갆" | "갇" | "갈" | "갉" | "갊" | "갋" | "갌" | "갍" | "갎" | "갏" | "감" | "갑" | "값" | "갓" | "갔" | "강" | "갖" | "갗" | "갘" | "같" | "갚" | "갛" | "까" | "깍" | "깎" | "깏" | "깐" | "깑" | "깒" | "깓" | "깔" | "깕" | "깖" | "깗" | "깘" | "깙" | "깚" | "깛" | "깜" | "깝" | "깞" | "깟" | "깠" | "깡" | "깢" | "깣" | "깤" | "깥" | "깦" | "깧" | "나" | "낙" | "낚" | "낛" | "난" | "낝" | "낞" | "낟" | "날" | "낡" | "낢" | "낣" | "낤" | "낥" | "낦" | "낧" | "남" | "납" | "낪" | "낫" | "났" | "낭" | "낮" | "낯" | "낰" | "낱" | "낲" | "낳" | "다" | "닥" | "닦" | "닧" | "단" | "닩" | "닪" | "닫" | "달" | "닭" | "닮" | "닯" | "닰" | "닱" | "닲" | "닳" | "담" | "답" | "닶" | "닷" | "닸" | "당" | "닺" | "닻" | "닼" | "닽" | "닾" | "닿" | "따" | "딱" | "딲" | "딳" | "딴" | "딵" | "딶" | "딷" | "딸" | "딹" | "딺" | "딻" | "딼" | "딽" | "딾" | "딿" | "땀" | "땁" | "땂" | "땃" | "땄" | "땅" | "땆" | "땇" | "땈" | "땉" | "땊" | "땋" | "라" | "락" | "띾" | "띿" | "란" | "랁" | "랂" | "랃" | "랄" | "랅" | "랆" | "랇" | "랈" | "랉" | "랊" | "랋" | "람" | "랍" | "랎" | "랏" | "랐" | "랑" | "랒" | "랓" | "랔" | "랕" | "랖" | "랗" | "마" | "막" | "맊" | "맋" | "만" | "맍" | "많" | "맏" | "말" | "맑" | "맒" | "맓" | "맔" | "맕" | "맖" | "맗" | "맘" | "맙" | "맚" | "맛" | "맜" | "망" | "맞" | "맟" | "맠" | "맡" | "맢" | "맣" | "바" | "박" | "밖" | "밗" | "반" | "밙" | "밚" | "받" | "발" | "밝" | "밞" | "밟" | "밠" | "밡" | "밢" | "밣" | "밤" | "밥" | "밦" | "밧" | "밨" | "방" | "밪" | "밫" | "밬" | "밭" | "밮" | "밯" | "빠" | "빡" | "빢" | "빣" | "빤" | "빥" | "빦" | "빧" | "빨" | "빩" | "빪" | "빫" | "빬" | "빭" | "빮" | "빯" | "빰" | "빱" | "빲" | "빳" | "빴" | "빵" | "빶" | "빷" | "빸" | "빹" | "빺" | "빻" | "사" | "삭" | "삮" | "삯" | "산" | "삱" | "삲" | "삳" | "살" | "삵" | "삶" | "삷" | "삸" | "삹" | "삺" | "삻" | "삼" | "삽" | "삾" | "삿" | "샀" | "상" | "샂" | "샃" | "샄" | "샅" | "샆" | "샇" | "싸" | "싹" | "싺" | "싻" | "싼" | "싽" | "싾" | "싿" | "쌀" | "쌁" | "쌂" | "쌃" | "쌄" | "쌅" | "쌆" | "쌇" | "쌈" | "쌉" | "쌊" | "쌋" | "쌌" | "쌍" | "쌎" | "쌏" | "쌐" | "쌑" | "쌒" | "쌓" | "아" | "악" | "앆" | "앇" | "안" | "앉" | "않" | "앋" | "알" | "앍" | "앎" | "앏" | "앐" | "앑" | "앒" | "앓" | "암" | "압" | "앖" | "앗" | "았" | "앙" | "앚" | "앛" | "앜" | "앝" | "앞" | "앟" | "자" | "작" | "잒" | "잓" | "잔" | "잕" | "잖" | "잗" | "잘" | "잙" | "잚" | "잛" | "잜" | "잝" | "잞" | "잟" | "잠" | "잡" | "잢" | "잣" | "잤" | "장" | "잦" | "잧" | "잨" | "잩" | "잪" | "잫" | "짜" | "짝" | "짞" | "짟" | "짠" | "짡" | "짢" | "짣" | "짤" | "짥" | "짦" | "짧" | "짨" | "짩" | "짪" | "짫" | "짬" | "짭" | "짮" | "짯" | "짰" | "짱" | "짲" | "짳" | "짴" | "짵" | "짶" | "짷" | "차" | "착" | "찪" | "찫" | "찬" | "찭" | "찮" | "찯" | "찰" | "찱" | "찲" | "찳" | "찴" | "찵" | "찶" | "찷" | "참" | "찹" | "찺" | "찻" | "찼" | "창" | "찾" | "찿" | "챀" | "챁" | "챂" | "챃" | "카" | "칵" | "칶" | "칷" | "칸" | "칹" | "칺" | "칻" | "칼" | "칽" | "칾" | "칿" | "캀" | "캁" | "캂" | "캃" | "캄" | "캅" | "캆" | "캇" | "캈" | "캉" | "캊" | "캋" | "캌" | "캍" | "캎" | "캏" | "타" | "탁" | "탂" | "탃" | "탄" | "탅" | "탆" | "탇" | "탈" | "탉" | "탊" | "탋" | "탌" | "탍" | "탎" | "탏" | "탐" | "탑" | "탒" | "탓" | "탔" | "탕" | "탖" | "탗" | "탘" | "탙" | "탚" | "탛" | "파" | "팍" | "팎" | "팏" | "판" | "팑" | "팒" | "팓" | "팔" | "팕" | "팖" | "팗" | "팘" | "팙" | "팚" | "팛" | "팜" | "팝" | "팞" | "팟" | "팠" | "팡" | "팢" | "팣" | "팤" | "팥" | "팦" | "팧" | "하" | "학" | "핚" | "핛" | "한" | "핝" | "핞" | "핟" | "할" | "핡" | "핢" | "핣" | "핤" | "핥" | "핦" | "핧" | "함" | "합" | "핪" | "핫" | "핬" | "항" | "핮" | "핯" | "핰" | "핱" | "핲" | "핳") ; + 'all_with_애' : pattern Str = #("개" | "객" | "갞" | "갟" | "갠" | "갡" | "갢" | "갣" | "갤" | "갥" | "갦" | "갧" | "갨" | "갩" | "갪" | "갫" | "갬" | "갭" | "갮" | "갯" | "갰" | "갱" | "갲" | "갳" | "갴" | "갵" | "갶" | "갷" | "깨" | "깩" | "깪" | "깫" | "깬" | "깭" | "깮" | "깯" | "깰" | "깱" | "깲" | "깳" | "깴" | "깵" | "깶" | "깷" | "깸" | "깹" | "깺" | "깻" | "깼" | "깽" | "깾" | "깿" | "꺀" | "꺁" | "꺂" | "꺃" | "내" | "낵" | "낶" | "낷" | "낸" | "낹" | "낺" | "낻" | "낼" | "낽" | "낾" | "낿" | "냀" | "냁" | "냂" | "냃" | "냄" | "냅" | "냆" | "냇" | "냈" | "냉" | "냊" | "냋" | "냌" | "냍" | "냎" | "냏" | "대" | "댁" | "댂" | "댃" | "댄" | "댅" | "댆" | "댇" | "댈" | "댉" | "댊" | "댋" | "댌" | "댍" | "댎" | "댏" | "댐" | "댑" | "댒" | "댓" | "댔" | "댕" | "댖" | "댗" | "댘" | "댙" | "댚" | "댛" | "때" | "땍" | "땎" | "땏" | "땐" | "땑" | "땒" | "땓" | "땔" | "땕" | "땖" | "땗" | "땘" | "땙" | "땚" | "땛" | "땜" | "땝" | "땞" | "땟" | "땠" | "땡" | "땢" | "땣" | "땤" | "땥" | "땦" | "땧" | "래" | "랙" | "랚" | "랛" | "랜" | "랝" | "랞" | "랟" | "랠" | "랡" | "랢" | "랣" | "랤" | "랥" | "랦" | "랧" | "램" | "랩" | "랪" | "랫" | "랬" | "랭" | "랮" | "랯" | "랰" | "랱" | "랲" | "랳" | "매" | "맥" | "맦" | "맧" | "맨" | "맩" | "맪" | "맫" | "맬" | "맭" | "맮" | "맯" | "맰" | "맱" | "맲" | "맳" | "맴" | "맵" | "맶" | "맷" | "맸" | "맹" | "맺" | "맻" | "맼" | "맽" | "맾" | "맿" | "배" | "백" | "밲" | "밳" | "밴" | "밵" | "밶" | "밷" | "밸" | "밹" | "밺" | "밻" | "밼" | "밽" | "밾" | "밿" | "뱀" | "뱁" | "뱂" | "뱃" | "뱄" | "뱅" | "뱆" | "뱇" | "뱈" | "뱉" | "뱊" | "뱋" | "빼" | "빽" | "빾" | "빿" | "뺀" | "뺁" | "뺂" | "뺃" | "뺄" | "뺅" | "뺆" | "뺇" | "뺈" | "뺉" | "뺊" | "뺋" | "뺌" | "뺍" | "뺎" | "뺏" | "뺐" | "뺑" | "뺒" | "뺓" | "뺔" | "뺕" | "뺖" | "뺗" | "새" | "색" | "샊" | "샋" | "샌" | "샍" | "샎" | "샏" | "샐" | "샑" | "샒" | "샓" | "샔" | "샕" | "샖" | "샗" | "샘" | "샙" | "샚" | "샛" | "샜" | "생" | "샞" | "샟" | "샠" | "샡" | "샢" | "샣" | "쌔" | "쌕" | "쌖" | "쌗" | "쌘" | "쌙" | "쌚" | "쌛" | "쌜" | "쌝" | "쌞" | "쌟" | "쌠" | "쌡" | "쌢" | "쌣" | "쌤" | "쌥" | "쌦" | "쌧" | "쌨" | "쌩" | "쌪" | "쌫" | "쌬" | "쌭" | "쌮" | "쌯" | "애" | "액" | "앢" | "앣" | "앤" | "앥" | "앦" | "앧" | "앨" | "앩" | "앪" | "앫" | "앬" | "앭" | "앮" | "앯" | "앰" | "앱" | "앲" | "앳" | "앴" | "앵" | "앶" | "앷" | "앸" | "앹" | "앺" | "앻" | "재" | "잭" | "잮" | "잯" | "잰" | "잱" | "잲" | "잳" | "잴" | "잵" | "잶" | "잷" | "잸" | "잹" | "잺" | "잻" | "잼" | "잽" | "잾" | "잿" | "쟀" | "쟁" | "쟂" | "쟃" | "쟄" | "쟅" | "쟆" | "쟇" | "째" | "짹" | "짺" | "짻" | "짼" | "짽" | "짾" | "짿" | "쨀" | "쨁" | "쨂" | "쨃" | "쨄" | "쨅" | "쨆" | "쨇" | "쨈" | "쨉" | "쨊" | "쨋" | "쨌" | "쨍" | "쨎" | "쨏" | "쨐" | "쨑" | "쨒" | "쨓" | "채" | "책" | "챆" | "챇" | "챈" | "챉" | "챊" | "챋" | "챌" | "챍" | "챎" | "챏" | "챐" | "챑" | "챒" | "챓" | "챔" | "챕" | "챖" | "챗" | "챘" | "챙" | "챚" | "챛" | "챜" | "챝" | "챞" | "챟" | "캐" | "캑" | "캒" | "캓" | "캔" | "캕" | "캖" | "캗" | "캘" | "캙" | "캚" | "캛" | "캜" | "캝" | "캞" | "캟" | "캠" | "캡" | "캢" | "캣" | "캤" | "캥" | "캦" | "캧" | "캨" | "캩" | "캪" | "캫" | "태" | "택" | "탞" | "탟" | "탠" | "탡" | "탢" | "탣" | "탤" | "탥" | "탦" | "탧" | "탨" | "탩" | "탪" | "탫" | "탬" | "탭" | "탮" | "탯" | "탰" | "탱" | "탲" | "탳" | "탴" | "탵" | "탶" | "탷" | "패" | "팩" | "팪" | "팫" | "팬" | "팭" | "팮" | "팯" | "팰" | "팱" | "팲" | "팳" | "팴" | "팵" | "팶" | "팷" | "팸" | "팹" | "팺" | "팻" | "팼" | "팽" | "팾" | "팿" | "퍀" | "퍁" | "퍂" | "퍃" | "해" | "핵" | "핶" | "핷" | "핸" | "핹" | "핺" | "핻" | "핼" | "핽" | "핾" | "핿" | "햀" | "햁" | "햂" | "햃" | "햄" | "햅" | "햆" | "햇" | "했" | "행" | "햊" | "햋" | "햌" | "햍" | "햎" | "햏") ; + 'all_with_야' : pattern Str = #("갸" | "갹" | "갺" | "갻" | "갼" | "갽" | "갾" | "갿" | "걀" | "걁" | "걂" | "걃" | "걄" | "걅" | "걆" | "걇" | "걈" | "걉" | "걊" | "걋" | "걌" | "걍" | "걎" | "걏" | "걐" | "걑" | "걒" | "걓" | "꺄" | "꺅" | "꺆" | "꺇" | "꺈" | "꺉" | "꺊" | "꺋" | "꺌" | "꺍" | "꺎" | "꺏" | "꺐" | "꺑" | "꺒" | "꺓" | "꺔" | "꺕" | "꺖" | "꺗" | "꺘" | "꺙" | "꺚" | "꺛" | "꺜" | "꺝" | "꺞" | "꺟" | "냐" | "냑" | "냒" | "냓" | "냔" | "냕" | "냖" | "냗" | "냘" | "냙" | "냚" | "냛" | "냜" | "냝" | "냞" | "냟" | "냠" | "냡" | "냢" | "냣" | "냤" | "냥" | "냦" | "냧" | "냨" | "냩" | "냪" | "냫" | "댜" | "댝" | "댞" | "댟" | "댠" | "댡" | "댢" | "댣" | "댤" | "댥" | "댦" | "댧" | "댨" | "댩" | "댪" | "댫" | "댬" | "댭" | "댮" | "댯" | "댰" | "댱" | "댲" | "댳" | "댴" | "댵" | "댶" | "댷" | "땨" | "땩" | "땪" | "땫" | "땬" | "땭" | "땮" | "땯" | "땰" | "땱" | "땲" | "땳" | "땴" | "땵" | "땶" | "땷" | "땸" | "땹" | "땺" | "땻" | "땼" | "땽" | "땾" | "땿" | "떀" | "떁" | "떂" | "떃" | "랴" | "략" | "랶" | "랷" | "랸" | "랹" | "랺" | "랻" | "랼" | "랽" | "랾" | "랿" | "럀" | "럁" | "럂" | "럃" | "럄" | "럅" | "럆" | "럇" | "럈" | "량" | "럊" | "럋" | "럌" | "럍" | "럎" | "럏" | "먀" | "먁" | "먂" | "먃" | "먄" | "먅" | "먆" | "먇" | "먈" | "먉" | "먊" | "먋" | "먌" | "먍" | "먎" | "먏" | "먐" | "먑" | "먒" | "먓" | "먔" | "먕" | "먖" | "먗" | "먘" | "먙" | "먚" | "먛" | "뱌" | "뱍" | "뱎" | "뱏" | "뱐" | "뱑" | "뱒" | "뱓" | "뱔" | "뱕" | "뱖" | "뱗" | "뱘" | "뱙" | "뱚" | "뱛" | "뱜" | "뱝" | "뱞" | "뱟" | "뱠" | "뱡" | "뱢" | "뱣" | "뱤" | "뱥" | "뱦" | "뱧" | "뺘" | "뺙" | "뺚" | "뺛" | "뺜" | "뺝" | "뺞" | "뺟" | "뺠" | "뺡" | "뺢" | "뺣" | "뺤" | "뺥" | "뺦" | "뺧" | "뺨" | "뺩" | "뺪" | "뺫" | "뺬" | "뺭" | "뺮" | "뺯" | "뺰" | "뺱" | "뺲" | "뺳" | "샤" | "샥" | "샦" | "샧" | "샨" | "샩" | "샪" | "샫" | "샬" | "샭" | "샮" | "샯" | "샰" | "샱" | "샲" | "샳" | "샴" | "샵" | "샶" | "샷" | "샸" | "샹" | "샺" | "샻" | "샼" | "샽" | "샾" | "샿" | "쌰" | "쌱" | "쌲" | "쌳" | "쌴" | "쌵" | "쌶" | "쌷" | "쌸" | "쌹" | "쌺" | "쌻" | "쌼" | "쌽" | "쌾" | "쌿" | "썀" | "썁" | "썂" | "썃" | "썄" | "썅" | "썆" | "썇" | "썈" | "썉" | "썊" | "썋" | "야" | "약" | "앾" | "앿" | "얀" | "얁" | "얂" | "얃" | "얄" | "얅" | "얆" | "얇" | "얈" | "얉" | "얊" | "얋" | "얌" | "얍" | "얎" | "얏" | "얐" | "양" | "얒" | "얓" | "얔" | "얕" | "얖" | "얗" | "쟈" | "쟉" | "쟊" | "쟋" | "쟌" | "쟍" | "쟎" | "쟏" | "쟐" | "쟑" | "쟒" | "쟓" | "쟔" | "쟕" | "쟖" | "쟗" | "쟘" | "쟙" | "쟚" | "쟛" | "쟜" | "쟝" | "쟞" | "쟟" | "쟠" | "쟡" | "쟢" | "쟣" | "쨔" | "쨕" | "쨖" | "쨗" | "쨘" | "쨙" | "쨚" | "쨛" | "쨜" | "쨝" | "쨞" | "쨟" | "쨠" | "쨡" | "쨢" | "쨣" | "쨤" | "쨥" | "쨦" | "쨧" | "쨨" | "쨩" | "쨪" | "쨫" | "쨬" | "쨭" | "쨮" | "쨯" | "챠" | "챡" | "챢" | "챣" | "챤" | "챥" | "챦" | "챧" | "챨" | "챩" | "챪" | "챫" | "챬" | "챭" | "챮" | "챯" | "챰" | "챱" | "챲" | "챳" | "챴" | "챵" | "챶" | "챷" | "챸" | "챹" | "챺" | "챻" | "캬" | "캭" | "캮" | "캯" | "캰" | "캱" | "캲" | "캳" | "캴" | "캵" | "캶" | "캷" | "캸" | "캹" | "캺" | "캻" | "캼" | "캽" | "캾" | "캿" | "컀" | "컁" | "컂" | "컃" | "컄" | "컅" | "컆" | "컇" | "탸" | "탹" | "탺" | "탻" | "탼" | "탽" | "탾" | "탿" | "턀" | "턁" | "턂" | "턃" | "턄" | "턅" | "턆" | "턇" | "턈" | "턉" | "턊" | "턋" | "턌" | "턍" | "턎" | "턏" | "턐" | "턑" | "턒" | "턓" | "퍄" | "퍅" | "퍆" | "퍇" | "퍈" | "퍉" | "퍊" | "퍋" | "퍌" | "퍍" | "퍎" | "퍏" | "퍐" | "퍑" | "퍒" | "퍓" | "퍔" | "퍕" | "퍖" | "퍗" | "퍘" | "퍙" | "퍚" | "퍛" | "퍜" | "퍝" | "퍞" | "퍟" | "햐" | "햑" | "햒" | "햓" | "햔" | "햕" | "햖" | "햗" | "햘" | "햙" | "햚" | "햛" | "햜" | "햝" | "햞" | "햟" | "햠" | "햡" | "햢" | "햣" | "햤" | "향" | "햦" | "햧" | "햨" | "햩" | "햪" | "햫") ; + 'all_with_얘' : pattern Str = #("걔" | "걕" | "걖" | "걗" | "걘" | "걙" | "걚" | "걛" | "걜" | "걝" | "걞" | "걟" | "걠" | "걡" | "걢" | "걣" | "걤" | "걥" | "걦" | "걧" | "걨" | "걩" | "걪" | "걫" | "걬" | "걭" | "걮" | "걯" | "꺠" | "꺡" | "꺢" | "꺣" | "꺤" | "꺥" | "꺦" | "꺧" | "꺨" | "꺩" | "꺪" | "꺫" | "꺬" | "꺭" | "꺮" | "꺯" | "꺰" | "꺱" | "꺲" | "꺳" | "꺴" | "꺵" | "꺶" | "꺷" | "꺸" | "꺹" | "꺺" | "꺻" | "냬" | "냭" | "냮" | "냯" | "냰" | "냱" | "냲" | "냳" | "냴" | "냵" | "냶" | "냷" | "냸" | "냹" | "냺" | "냻" | "냼" | "냽" | "냾" | "냿" | "넀" | "넁" | "넂" | "넃" | "넄" | "넅" | "넆" | "넇" | "댸" | "댹" | "댺" | "댻" | "댼" | "댽" | "댾" | "댿" | "덀" | "덁" | "덂" | "덃" | "덄" | "덅" | "덆" | "덇" | "덈" | "덉" | "덊" | "덋" | "덌" | "덍" | "덎" | "덏" | "덐" | "덑" | "덒" | "덓" | "떄" | "떅" | "떆" | "떇" | "떈" | "떉" | "떊" | "떋" | "떌" | "떍" | "떎" | "떏" | "떐" | "떑" | "떒" | "떓" | "떔" | "떕" | "떖" | "떗" | "떘" | "떙" | "떚" | "떛" | "떜" | "떝" | "떞" | "떟" | "럐" | "럑" | "럒" | "럓" | "럔" | "럕" | "럖" | "럗" | "럘" | "럙" | "럚" | "럛" | "럜" | "럝" | "럞" | "럟" | "럠" | "럡" | "럢" | "럣" | "럤" | "럥" | "럦" | "럧" | "럨" | "럩" | "럪" | "럫" | "먜" | "먝" | "먞" | "먟" | "먠" | "먡" | "먢" | "먣" | "먤" | "먥" | "먦" | "먧" | "먨" | "먩" | "먪" | "먫" | "먬" | "먭" | "먮" | "먯" | "먰" | "먱" | "먲" | "먳" | "먴" | "먵" | "먶" | "먷" | "뱨" | "뱩" | "뱪" | "뱫" | "뱬" | "뱭" | "뱮" | "뱯" | "뱰" | "뱱" | "뱲" | "뱳" | "뱴" | "뱵" | "뱶" | "뱷" | "뱸" | "뱹" | "뱺" | "뱻" | "뱼" | "뱽" | "뱾" | "뱿" | "벀" | "벁" | "벂" | "벃" | "뺴" | "뺵" | "뺶" | "뺷" | "뺸" | "뺹" | "뺺" | "뺻" | "뺼" | "뺽" | "뺾" | "뺿" | "뻀" | "뻁" | "뻂" | "뻃" | "뻄" | "뻅" | "뻆" | "뻇" | "뻈" | "뻉" | "뻊" | "뻋" | "뻌" | "뻍" | "뻎" | "뻏" | "섀" | "섁" | "섂" | "섃" | "섄" | "섅" | "섆" | "섇" | "섈" | "섉" | "섊" | "섋" | "섌" | "섍" | "섎" | "섏" | "섐" | "섑" | "섒" | "섓" | "섔" | "섕" | "섖" | "섗" | "섘" | "섙" | "섚" | "섛" | "썌" | "썍" | "썎" | "썏" | "썐" | "썑" | "썒" | "썓" | "썔" | "썕" | "썖" | "썗" | "썘" | "썙" | "썚" | "썛" | "썜" | "썝" | "썞" | "썟" | "썠" | "썡" | "썢" | "썣" | "썤" | "썥" | "썦" | "썧" | "얘" | "얙" | "얚" | "얛" | "얜" | "얝" | "얞" | "얟" | "얠" | "얡" | "얢" | "얣" | "얤" | "얥" | "얦" | "얧" | "얨" | "얩" | "얪" | "얫" | "얬" | "얭" | "얮" | "얯" | "얰" | "얱" | "얲" | "얳" | "쟤" | "쟥" | "쟦" | "쟧" | "쟨" | "쟩" | "쟪" | "쟫" | "쟬" | "쟭" | "쟮" | "쟯" | "쟰" | "쟱" | "쟲" | "쟳" | "쟴" | "쟵" | "쟶" | "쟷" | "쟸" | "쟹" | "쟺" | "쟻" | "쟼" | "쟽" | "쟾" | "쟿" | "쨰" | "쨱" | "쨲" | "쨳" | "쨴" | "쨵" | "쨶" | "쨷" | "쨸" | "쨹" | "쨺" | "쨻" | "쨼" | "쨽" | "쨾" | "쨿" | "쩀" | "쩁" | "쩂" | "쩃" | "쩄" | "쩅" | "쩆" | "쩇" | "쩈" | "쩉" | "쩊" | "쩋" | "챼" | "챽" | "챾" | "챿" | "첀" | "첁" | "첂" | "첃" | "첄" | "첅" | "첆" | "첇" | "첈" | "첉" | "첊" | "첋" | "첌" | "첍" | "첎" | "첏" | "첐" | "첑" | "첒" | "첓" | "첔" | "첕" | "첖" | "첗" | "컈" | "컉" | "컊" | "컋" | "컌" | "컍" | "컎" | "컏" | "컐" | "컑" | "컒" | "컓" | "컔" | "컕" | "컖" | "컗" | "컘" | "컙" | "컚" | "컛" | "컜" | "컝" | "컞" | "컟" | "컠" | "컡" | "컢" | "컣" | "턔" | "턕" | "턖" | "턗" | "턘" | "턙" | "턚" | "턛" | "턜" | "턝" | "턞" | "턟" | "턠" | "턡" | "턢" | "턣" | "턤" | "턥" | "턦" | "턧" | "턨" | "턩" | "턪" | "턫" | "턬" | "턭" | "턮" | "턯" | "퍠" | "퍡" | "퍢" | "퍣" | "퍤" | "퍥" | "퍦" | "퍧" | "퍨" | "퍩" | "퍪" | "퍫" | "퍬" | "퍭" | "퍮" | "퍯" | "퍰" | "퍱" | "퍲" | "퍳" | "퍴" | "퍵" | "퍶" | "퍷" | "퍸" | "퍹" | "퍺" | "퍻" | "햬" | "햭" | "햮" | "햯" | "햰" | "햱" | "햲" | "햳" | "햴" | "햵" | "햶" | "햷" | "햸" | "햹" | "햺" | "햻" | "햼" | "햽" | "햾" | "햿" | "헀" | "헁" | "헂" | "헃" | "헄" | "헅" | "헆" | "헇") ; + 'all_with_어' : pattern Str = #("거" | "걱" | "걲" | "걳" | "건" | "걵" | "걶" | "걷" | "걸" | "걹" | "걺" | "걻" | "걼" | "걽" | "걾" | "걿" | "검" | "겁" | "겂" | "것" | "겄" | "겅" | "겆" | "겇" | "겈" | "겉" | "겊" | "겋" | "꺼" | "꺽" | "꺾" | "꺿" | "껀" | "껁" | "껂" | "껃" | "껄" | "껅" | "껆" | "껇" | "껈" | "껉" | "껊" | "껋" | "껌" | "껍" | "껎" | "껏" | "껐" | "껑" | "껒" | "껓" | "껔" | "껕" | "껖" | "껗" | "너" | "넉" | "넊" | "넋" | "넌" | "넍" | "넎" | "넏" | "널" | "넑" | "넒" | "넓" | "넔" | "넕" | "넖" | "넗" | "넘" | "넙" | "넚" | "넛" | "넜" | "넝" | "넞" | "넟" | "넠" | "넡" | "넢" | "넣" | "더" | "덕" | "덖" | "덗" | "던" | "덙" | "덚" | "덛" | "덜" | "덝" | "덞" | "덟" | "덠" | "덡" | "덢" | "덣" | "덤" | "덥" | "덦" | "덧" | "덨" | "덩" | "덪" | "덫" | "덬" | "덭" | "덮" | "덯" | "떠" | "떡" | "떢" | "떣" | "떤" | "떥" | "떦" | "떧" | "떨" | "떩" | "떪" | "떫" | "떬" | "떭" | "떮" | "떯" | "떰" | "떱" | "떲" | "떳" | "떴" | "떵" | "떶" | "떷" | "떸" | "떹" | "떺" | "떻" | "러" | "럭" | "럮" | "럯" | "런" | "럱" | "럲" | "럳" | "럴" | "럵" | "럶" | "럷" | "럸" | "럹" | "럺" | "럻" | "럼" | "럽" | "럾" | "럿" | "렀" | "렁" | "렂" | "렃" | "렄" | "렅" | "렆" | "렇" | "머" | "먹" | "먺" | "먻" | "먼" | "먽" | "먾" | "먿" | "멀" | "멁" | "멂" | "멃" | "멄" | "멅" | "멆" | "멇" | "멈" | "멉" | "멊" | "멋" | "멌" | "멍" | "멎" | "멏" | "멐" | "멑" | "멒" | "멓" | "버" | "벅" | "벆" | "벇" | "번" | "벉" | "벊" | "벋" | "벌" | "벍" | "벎" | "벏" | "벐" | "벑" | "벒" | "벓" | "범" | "법" | "벖" | "벗" | "벘" | "벙" | "벚" | "벛" | "벜" | "벝" | "벞" | "벟" | "뻐" | "뻑" | "뻒" | "뻓" | "뻔" | "뻕" | "뻖" | "뻗" | "뻘" | "뻙" | "뻚" | "뻛" | "뻜" | "뻝" | "뻞" | "뻟" | "뻠" | "뻡" | "뻢" | "뻣" | "뻤" | "뻥" | "뻦" | "뻧" | "뻨" | "뻩" | "뻪" | "뻫" | "서" | "석" | "섞" | "섟" | "선" | "섡" | "섢" | "섣" | "설" | "섥" | "섦" | "섧" | "섨" | "섩" | "섪" | "섫" | "섬" | "섭" | "섮" | "섯" | "섰" | "성" | "섲" | "섳" | "섴" | "섵" | "섶" | "섷" | "써" | "썩" | "썪" | "썫" | "썬" | "썭" | "썮" | "썯" | "썰" | "썱" | "썲" | "썳" | "썴" | "썵" | "썶" | "썷" | "썸" | "썹" | "썺" | "썻" | "썼" | "썽" | "썾" | "썿" | "쎀" | "쎁" | "쎂" | "쎃" | "어" | "억" | "얶" | "얷" | "언" | "얹" | "얺" | "얻" | "얼" | "얽" | "얾" | "얿" | "엀" | "엁" | "엂" | "엃" | "엄" | "업" | "없" | "엇" | "었" | "엉" | "엊" | "엋" | "엌" | "엍" | "엎" | "엏" | "저" | "적" | "젂" | "젃" | "전" | "젅" | "젆" | "젇" | "절" | "젉" | "젊" | "젋" | "젌" | "젍" | "젎" | "젏" | "점" | "접" | "젒" | "젓" | "젔" | "정" | "젖" | "젗" | "젘" | "젙" | "젚" | "젛" | "쩌" | "쩍" | "쩎" | "쩏" | "쩐" | "쩑" | "쩒" | "쩓" | "쩔" | "쩕" | "쩖" | "쩗" | "쩘" | "쩙" | "쩚" | "쩛" | "쩜" | "쩝" | "쩞" | "쩟" | "쩠" | "쩡" | "쩢" | "쩣" | "쩤" | "쩥" | "쩦" | "쩧" | "처" | "척" | "첚" | "첛" | "천" | "첝" | "첞" | "첟" | "철" | "첡" | "첢" | "첣" | "첤" | "첥" | "첦" | "첧" | "첨" | "첩" | "첪" | "첫" | "첬" | "청" | "첮" | "첯" | "첰" | "첱" | "첲" | "첳" | "커" | "컥" | "컦" | "컧" | "컨" | "컩" | "컪" | "컫" | "컬" | "컭" | "컮" | "컯" | "컰" | "컱" | "컲" | "컳" | "컴" | "컵" | "컶" | "컷" | "컸" | "컹" | "컺" | "컻" | "컼" | "컽" | "컾" | "컿" | "터" | "턱" | "턲" | "턳" | "턴" | "턵" | "턶" | "턷" | "털" | "턹" | "턺" | "턻" | "턼" | "턽" | "턾" | "턿" | "텀" | "텁" | "텂" | "텃" | "텄" | "텅" | "텆" | "텇" | "텈" | "텉" | "텊" | "텋" | "퍼" | "퍽" | "퍾" | "퍿" | "펀" | "펁" | "펂" | "펃" | "펄" | "펅" | "펆" | "펇" | "펈" | "펉" | "펊" | "펋" | "펌" | "펍" | "펎" | "펏" | "펐" | "펑" | "펒" | "펓" | "펔" | "펕" | "펖" | "펗" | "허" | "헉" | "헊" | "헋" | "헌" | "헍" | "헎" | "헏" | "헐" | "헑" | "헒" | "헓" | "헔" | "헕" | "헖" | "헗" | "험" | "헙" | "헚" | "헛" | "헜" | "헝" | "헞" | "헟" | "헠" | "헡" | "헢" | "헣") ; + 'all_with_에' : pattern Str = #("게" | "겍" | "겎" | "겏" | "겐" | "겑" | "겒" | "겓" | "겔" | "겕" | "겖" | "겗" | "겘" | "겙" | "겚" | "겛" | "겜" | "겝" | "겞" | "겟" | "겠" | "겡" | "겢" | "겣" | "겤" | "겥" | "겦" | "겧" | "께" | "껙" | "껚" | "껛" | "껜" | "껝" | "껞" | "껟" | "껠" | "껡" | "껢" | "껣" | "껤" | "껥" | "껦" | "껧" | "껨" | "껩" | "껪" | "껫" | "껬" | "껭" | "껮" | "껯" | "껰" | "껱" | "껲" | "껳" | "네" | "넥" | "넦" | "넧" | "넨" | "넩" | "넪" | "넫" | "넬" | "넭" | "넮" | "넯" | "넰" | "넱" | "넲" | "넳" | "넴" | "넵" | "넶" | "넷" | "넸" | "넹" | "넺" | "넻" | "넼" | "넽" | "넾" | "넿" | "데" | "덱" | "덲" | "덳" | "덴" | "덵" | "덶" | "덷" | "델" | "덹" | "덺" | "덻" | "덼" | "덽" | "덾" | "덿" | "뎀" | "뎁" | "뎂" | "뎃" | "뎄" | "뎅" | "뎆" | "뎇" | "뎈" | "뎉" | "뎊" | "뎋" | "떼" | "떽" | "떾" | "떿" | "뗀" | "뗁" | "뗂" | "뗃" | "뗄" | "뗅" | "뗆" | "뗇" | "뗈" | "뗉" | "뗊" | "뗋" | "뗌" | "뗍" | "뗎" | "뗏" | "뗐" | "뗑" | "뗒" | "뗓" | "뗔" | "뗕" | "뗖" | "뗗" | "레" | "렉" | "렊" | "렋" | "렌" | "렍" | "렎" | "렏" | "렐" | "렑" | "렒" | "렓" | "렔" | "렕" | "렖" | "렗" | "렘" | "렙" | "렚" | "렛" | "렜" | "렝" | "렞" | "렟" | "렠" | "렡" | "렢" | "렣" | "메" | "멕" | "멖" | "멗" | "멘" | "멙" | "멚" | "멛" | "멜" | "멝" | "멞" | "멟" | "멠" | "멡" | "멢" | "멣" | "멤" | "멥" | "멦" | "멧" | "멨" | "멩" | "멪" | "멫" | "멬" | "멭" | "멮" | "멯" | "베" | "벡" | "벢" | "벣" | "벤" | "벥" | "벦" | "벧" | "벨" | "벩" | "벪" | "벫" | "벬" | "벭" | "벮" | "벯" | "벰" | "벱" | "벲" | "벳" | "벴" | "벵" | "벶" | "벷" | "벸" | "벹" | "벺" | "벻" | "뻬" | "뻭" | "뻮" | "뻯" | "뻰" | "뻱" | "뻲" | "뻳" | "뻴" | "뻵" | "뻶" | "뻷" | "뻸" | "뻹" | "뻺" | "뻻" | "뻼" | "뻽" | "뻾" | "뻿" | "뼀" | "뼁" | "뼂" | "뼃" | "뼄" | "뼅" | "뼆" | "뼇" | "세" | "섹" | "섺" | "섻" | "센" | "섽" | "섾" | "섿" | "셀" | "셁" | "셂" | "셃" | "셄" | "셅" | "셆" | "셇" | "셈" | "셉" | "셊" | "셋" | "셌" | "셍" | "셎" | "셏" | "셐" | "셑" | "셒" | "셓" | "쎄" | "쎅" | "쎆" | "쎇" | "쎈" | "쎉" | "쎊" | "쎋" | "쎌" | "쎍" | "쎎" | "쎏" | "쎐" | "쎑" | "쎒" | "쎓" | "쎔" | "쎕" | "쎖" | "쎗" | "쎘" | "쎙" | "쎚" | "쎛" | "쎜" | "쎝" | "쎞" | "쎟" | "에" | "엑" | "엒" | "엓" | "엔" | "엕" | "엖" | "엗" | "엘" | "엙" | "엚" | "엛" | "엜" | "엝" | "엞" | "엟" | "엠" | "엡" | "엢" | "엣" | "엤" | "엥" | "엦" | "엧" | "엨" | "엩" | "엪" | "엫" | "제" | "젝" | "젞" | "젟" | "젠" | "젡" | "젢" | "젣" | "젤" | "젥" | "젦" | "젧" | "젨" | "젩" | "젪" | "젫" | "젬" | "젭" | "젮" | "젯" | "젰" | "젱" | "젲" | "젳" | "젴" | "젵" | "젶" | "젷" | "쩨" | "쩩" | "쩪" | "쩫" | "쩬" | "쩭" | "쩮" | "쩯" | "쩰" | "쩱" | "쩲" | "쩳" | "쩴" | "쩵" | "쩶" | "쩷" | "쩸" | "쩹" | "쩺" | "쩻" | "쩼" | "쩽" | "쩾" | "쩿" | "쪀" | "쪁" | "쪂" | "쪃" | "체" | "첵" | "첶" | "첷" | "첸" | "첹" | "첺" | "첻" | "첼" | "첽" | "첾" | "첿" | "쳀" | "쳁" | "쳂" | "쳃" | "쳄" | "쳅" | "쳆" | "쳇" | "쳈" | "쳉" | "쳊" | "쳋" | "쳌" | "쳍" | "쳎" | "쳏" | "케" | "켁" | "켂" | "켃" | "켄" | "켅" | "켆" | "켇" | "켈" | "켉" | "켊" | "켋" | "켌" | "켍" | "켎" | "켏" | "켐" | "켑" | "켒" | "켓" | "켔" | "켕" | "켖" | "켗" | "켘" | "켙" | "켚" | "켛" | "테" | "텍" | "텎" | "텏" | "텐" | "텑" | "텒" | "텓" | "텔" | "텕" | "텖" | "텗" | "텘" | "텙" | "텚" | "텛" | "템" | "텝" | "텞" | "텟" | "텠" | "텡" | "텢" | "텣" | "텤" | "텥" | "텦" | "텧" | "페" | "펙" | "펚" | "펛" | "펜" | "펝" | "펞" | "펟" | "펠" | "펡" | "펢" | "펣" | "펤" | "펥" | "펦" | "펧" | "펨" | "펩" | "펪" | "펫" | "펬" | "펭" | "펮" | "펯" | "펰" | "펱" | "펲" | "펳" | "헤" | "헥" | "헦" | "헧" | "헨" | "헩" | "헪" | "헫" | "헬" | "헭" | "헮" | "헯" | "헰" | "헱" | "헲" | "헳" | "헴" | "헵" | "헶" | "헷" | "헸" | "헹" | "헺" | "헻" | "헼" | "헽" | "헾" | "헿") ; + 'all_with_여' : pattern Str = #("겨" | "격" | "겪" | "겫" | "견" | "겭" | "겮" | "겯" | "결" | "겱" | "겲" | "겳" | "겴" | "겵" | "겶" | "겷" | "겸" | "겹" | "겺" | "겻" | "겼" | "경" | "겾" | "겿" | "곀" | "곁" | "곂" | "곃" | "껴" | "껵" | "껶" | "껷" | "껸" | "껹" | "껺" | "껻" | "껼" | "껽" | "껾" | "껿" | "꼀" | "꼁" | "꼂" | "꼃" | "꼄" | "꼅" | "꼆" | "꼇" | "꼈" | "꼉" | "꼊" | "꼋" | "꼌" | "꼍" | "꼎" | "꼏" | "녀" | "녁" | "녂" | "녃" | "년" | "녅" | "녆" | "녇" | "녈" | "녉" | "녊" | "녋" | "녌" | "녍" | "녎" | "녏" | "념" | "녑" | "녒" | "녓" | "녔" | "녕" | "녖" | "녗" | "녘" | "녙" | "녚" | "녛" | "뎌" | "뎍" | "뎎" | "뎏" | "뎐" | "뎑" | "뎒" | "뎓" | "뎔" | "뎕" | "뎖" | "뎗" | "뎘" | "뎙" | "뎚" | "뎛" | "뎜" | "뎝" | "뎞" | "뎟" | "뎠" | "뎡" | "뎢" | "뎣" | "뎤" | "뎥" | "뎦" | "뎧" | "뗘" | "뗙" | "뗚" | "뗛" | "뗜" | "뗝" | "뗞" | "뗟" | "뗠" | "뗡" | "뗢" | "뗣" | "뗤" | "뗥" | "뗦" | "뗧" | "뗨" | "뗩" | "뗪" | "뗫" | "뗬" | "뗭" | "뗮" | "뗯" | "뗰" | "뗱" | "뗲" | "뗳" | "려" | "력" | "렦" | "렧" | "련" | "렩" | "렪" | "렫" | "렬" | "렭" | "렮" | "렯" | "렰" | "렱" | "렲" | "렳" | "렴" | "렵" | "렶" | "렷" | "렸" | "령" | "렺" | "렻" | "렼" | "렽" | "렾" | "렿" | "며" | "멱" | "멲" | "멳" | "면" | "멵" | "멶" | "멷" | "멸" | "멹" | "멺" | "멻" | "멼" | "멽" | "멾" | "멿" | "몀" | "몁" | "몂" | "몃" | "몄" | "명" | "몆" | "몇" | "몈" | "몉" | "몊" | "몋" | "벼" | "벽" | "벾" | "벿" | "변" | "볁" | "볂" | "볃" | "별" | "볅" | "볆" | "볇" | "볈" | "볉" | "볊" | "볋" | "볌" | "볍" | "볎" | "볏" | "볐" | "병" | "볒" | "볓" | "볔" | "볕" | "볖" | "볗" | "뼈" | "뼉" | "뼊" | "뼋" | "뼌" | "뼍" | "뼎" | "뼏" | "뼐" | "뼑" | "뼒" | "뼓" | "뼔" | "뼕" | "뼖" | "뼗" | "뼘" | "뼙" | "뼚" | "뼛" | "뼜" | "뼝" | "뼞" | "뼟" | "뼠" | "뼡" | "뼢" | "뼣" | "셔" | "셕" | "셖" | "셗" | "션" | "셙" | "셚" | "셛" | "셜" | "셝" | "셞" | "셟" | "셠" | "셡" | "셢" | "셣" | "셤" | "셥" | "셦" | "셧" | "셨" | "셩" | "셪" | "셫" | "셬" | "셭" | "셮" | "셯" | "쎠" | "쎡" | "쎢" | "쎣" | "쎤" | "쎥" | "쎦" | "쎧" | "쎨" | "쎩" | "쎪" | "쎫" | "쎬" | "쎭" | "쎮" | "쎯" | "쎰" | "쎱" | "쎲" | "쎳" | "쎴" | "쎵" | "쎶" | "쎷" | "쎸" | "쎹" | "쎺" | "쎻" | "여" | "역" | "엮" | "엯" | "연" | "엱" | "엲" | "엳" | "열" | "엵" | "엶" | "엷" | "엸" | "엹" | "엺" | "엻" | "염" | "엽" | "엾" | "엿" | "였" | "영" | "옂" | "옃" | "옄" | "옅" | "옆" | "옇" | "져" | "젹" | "젺" | "젻" | "젼" | "젽" | "젾" | "젿" | "졀" | "졁" | "졂" | "졃" | "졄" | "졅" | "졆" | "졇" | "졈" | "졉" | "졊" | "졋" | "졌" | "졍" | "졎" | "졏" | "졐" | "졑" | "졒" | "졓" | "쪄" | "쪅" | "쪆" | "쪇" | "쪈" | "쪉" | "쪊" | "쪋" | "쪌" | "쪍" | "쪎" | "쪏" | "쪐" | "쪑" | "쪒" | "쪓" | "쪔" | "쪕" | "쪖" | "쪗" | "쪘" | "쪙" | "쪚" | "쪛" | "쪜" | "쪝" | "쪞" | "쪟" | "쳐" | "쳑" | "쳒" | "쳓" | "쳔" | "쳕" | "쳖" | "쳗" | "쳘" | "쳙" | "쳚" | "쳛" | "쳜" | "쳝" | "쳞" | "쳟" | "쳠" | "쳡" | "쳢" | "쳣" | "쳤" | "쳥" | "쳦" | "쳧" | "쳨" | "쳩" | "쳪" | "쳫" | "켜" | "켝" | "켞" | "켟" | "켠" | "켡" | "켢" | "켣" | "켤" | "켥" | "켦" | "켧" | "켨" | "켩" | "켪" | "켫" | "켬" | "켭" | "켮" | "켯" | "켰" | "켱" | "켲" | "켳" | "켴" | "켵" | "켶" | "켷" | "텨" | "텩" | "텪" | "텫" | "텬" | "텭" | "텮" | "텯" | "텰" | "텱" | "텲" | "텳" | "텴" | "텵" | "텶" | "텷" | "텸" | "텹" | "텺" | "텻" | "텼" | "텽" | "텾" | "텿" | "톀" | "톁" | "톂" | "톃" | "펴" | "펵" | "펶" | "펷" | "편" | "펹" | "펺" | "펻" | "펼" | "펽" | "펾" | "펿" | "폀" | "폁" | "폂" | "폃" | "폄" | "폅" | "폆" | "폇" | "폈" | "평" | "폊" | "폋" | "폌" | "폍" | "폎" | "폏" | "혀" | "혁" | "혂" | "혃" | "현" | "혅" | "혆" | "혇" | "혈" | "혉" | "혊" | "혋" | "혌" | "혍" | "혎" | "혏" | "혐" | "협" | "혒" | "혓" | "혔" | "형" | "혖" | "혗" | "혘" | "혙" | "혚" | "혛") ; + 'all_with_예' : pattern Str = #("계" | "곅" | "곆" | "곇" | "곈" | "곉" | "곊" | "곋" | "곌" | "곍" | "곎" | "곏" | "곐" | "곑" | "곒" | "곓" | "곔" | "곕" | "곖" | "곗" | "곘" | "곙" | "곚" | "곛" | "곜" | "곝" | "곞" | "곟" | "꼐" | "꼑" | "꼒" | "꼓" | "꼔" | "꼕" | "꼖" | "꼗" | "꼘" | "꼙" | "꼚" | "꼛" | "꼜" | "꼝" | "꼞" | "꼟" | "꼠" | "꼡" | "꼢" | "꼣" | "꼤" | "꼥" | "꼦" | "꼧" | "꼨" | "꼩" | "꼪" | "꼫" | "녜" | "녝" | "녞" | "녟" | "녠" | "녡" | "녢" | "녣" | "녤" | "녥" | "녦" | "녧" | "녨" | "녩" | "녪" | "녫" | "녬" | "녭" | "녮" | "녯" | "녰" | "녱" | "녲" | "녳" | "녴" | "녵" | "녶" | "녷" | "뎨" | "뎩" | "뎪" | "뎫" | "뎬" | "뎭" | "뎮" | "뎯" | "뎰" | "뎱" | "뎲" | "뎳" | "뎴" | "뎵" | "뎶" | "뎷" | "뎸" | "뎹" | "뎺" | "뎻" | "뎼" | "뎽" | "뎾" | "뎿" | "돀" | "돁" | "돂" | "돃" | "뗴" | "뗵" | "뗶" | "뗷" | "뗸" | "뗹" | "뗺" | "뗻" | "뗼" | "뗽" | "뗾" | "뗿" | "똀" | "똁" | "똂" | "똃" | "똄" | "똅" | "똆" | "똇" | "똈" | "똉" | "똊" | "똋" | "똌" | "똍" | "똎" | "똏" | "례" | "롁" | "롂" | "롃" | "롄" | "롅" | "롆" | "롇" | "롈" | "롉" | "롊" | "롋" | "롌" | "롍" | "롎" | "롏" | "롐" | "롑" | "롒" | "롓" | "롔" | "롕" | "롖" | "롗" | "롘" | "롙" | "롚" | "롛" | "몌" | "몍" | "몎" | "몏" | "몐" | "몑" | "몒" | "몓" | "몔" | "몕" | "몖" | "몗" | "몘" | "몙" | "몚" | "몛" | "몜" | "몝" | "몞" | "몟" | "몠" | "몡" | "몢" | "몣" | "몤" | "몥" | "몦" | "몧" | "볘" | "볙" | "볚" | "볛" | "볜" | "볝" | "볞" | "볟" | "볠" | "볡" | "볢" | "볣" | "볤" | "볥" | "볦" | "볧" | "볨" | "볩" | "볪" | "볫" | "볬" | "볭" | "볮" | "볯" | "볰" | "볱" | "볲" | "볳" | "뼤" | "뼥" | "뼦" | "뼧" | "뼨" | "뼩" | "뼪" | "뼫" | "뼬" | "뼭" | "뼮" | "뼯" | "뼰" | "뼱" | "뼲" | "뼳" | "뼴" | "뼵" | "뼶" | "뼷" | "뼸" | "뼹" | "뼺" | "뼻" | "뼼" | "뼽" | "뼾" | "뼿" | "셰" | "셱" | "셲" | "셳" | "셴" | "셵" | "셶" | "셷" | "셸" | "셹" | "셺" | "셻" | "셼" | "셽" | "셾" | "셿" | "솀" | "솁" | "솂" | "솃" | "솄" | "솅" | "솆" | "솇" | "솈" | "솉" | "솊" | "솋" | "쎼" | "쎽" | "쎾" | "쎿" | "쏀" | "쏁" | "쏂" | "쏃" | "쏄" | "쏅" | "쏆" | "쏇" | "쏈" | "쏉" | "쏊" | "쏋" | "쏌" | "쏍" | "쏎" | "쏏" | "쏐" | "쏑" | "쏒" | "쏓" | "쏔" | "쏕" | "쏖" | "쏗" | "예" | "옉" | "옊" | "옋" | "옌" | "옍" | "옎" | "옏" | "옐" | "옑" | "옒" | "옓" | "옔" | "옕" | "옖" | "옗" | "옘" | "옙" | "옚" | "옛" | "옜" | "옝" | "옞" | "옟" | "옠" | "옡" | "옢" | "옣" | "졔" | "졕" | "졖" | "졗" | "졘" | "졙" | "졚" | "졛" | "졜" | "졝" | "졞" | "졟" | "졠" | "졡" | "졢" | "졣" | "졤" | "졥" | "졦" | "졧" | "졨" | "졩" | "졪" | "졫" | "졬" | "졭" | "졮" | "졯" | "쪠" | "쪡" | "쪢" | "쪣" | "쪤" | "쪥" | "쪦" | "쪧" | "쪨" | "쪩" | "쪪" | "쪫" | "쪬" | "쪭" | "쪮" | "쪯" | "쪰" | "쪱" | "쪲" | "쪳" | "쪴" | "쪵" | "쪶" | "쪷" | "쪸" | "쪹" | "쪺" | "쪻" | "쳬" | "쳭" | "쳮" | "쳯" | "쳰" | "쳱" | "쳲" | "쳳" | "쳴" | "쳵" | "쳶" | "쳷" | "쳸" | "쳹" | "쳺" | "쳻" | "쳼" | "쳽" | "쳾" | "쳿" | "촀" | "촁" | "촂" | "촃" | "촄" | "촅" | "촆" | "촇" | "켸" | "켹" | "켺" | "켻" | "켼" | "켽" | "켾" | "켿" | "콀" | "콁" | "콂" | "콃" | "콄" | "콅" | "콆" | "콇" | "콈" | "콉" | "콊" | "콋" | "콌" | "콍" | "콎" | "콏" | "콐" | "콑" | "콒" | "콓" | "톄" | "톅" | "톆" | "톇" | "톈" | "톉" | "톊" | "톋" | "톌" | "톍" | "톎" | "톏" | "톐" | "톑" | "톒" | "톓" | "톔" | "톕" | "톖" | "톗" | "톘" | "톙" | "톚" | "톛" | "톜" | "톝" | "톞" | "톟" | "폐" | "폑" | "폒" | "폓" | "폔" | "폕" | "폖" | "폗" | "폘" | "폙" | "폚" | "폛" | "폜" | "폝" | "폞" | "폟" | "폠" | "폡" | "폢" | "폣" | "폤" | "폥" | "폦" | "폧" | "폨" | "폩" | "폪" | "폫" | "혜" | "혝" | "혞" | "혟" | "혠" | "혡" | "혢" | "혣" | "혤" | "혥" | "혦" | "혧" | "혨" | "혩" | "혪" | "혫" | "혬" | "혭" | "혮" | "혯" | "혰" | "혱" | "혲" | "혳" | "혴" | "혵" | "혶" | "혷") ; + 'all_with_오' : pattern Str = #("고" | "곡" | "곢" | "곣" | "곤" | "곥" | "곦" | "곧" | "골" | "곩" | "곪" | "곫" | "곬" | "곭" | "곮" | "곯" | "곰" | "곱" | "곲" | "곳" | "곴" | "공" | "곶" | "곷" | "곸" | "곹" | "곺" | "곻" | "꼬" | "꼭" | "꼮" | "꼯" | "꼰" | "꼱" | "꼲" | "꼳" | "꼴" | "꼵" | "꼶" | "꼷" | "꼸" | "꼹" | "꼺" | "꼻" | "꼼" | "꼽" | "꼾" | "꼿" | "꽀" | "꽁" | "꽂" | "꽃" | "꽄" | "꽅" | "꽆" | "꽇" | "노" | "녹" | "녺" | "녻" | "논" | "녽" | "녾" | "녿" | "놀" | "놁" | "놂" | "놃" | "놄" | "놅" | "놆" | "놇" | "놈" | "놉" | "놊" | "놋" | "놌" | "농" | "놎" | "놏" | "놐" | "놑" | "높" | "놓" | "도" | "독" | "돆" | "돇" | "돈" | "돉" | "돊" | "돋" | "돌" | "돍" | "돎" | "돏" | "돐" | "돑" | "돒" | "돓" | "돔" | "돕" | "돖" | "돗" | "돘" | "동" | "돚" | "돛" | "돜" | "돝" | "돞" | "돟" | "또" | "똑" | "똒" | "똓" | "똔" | "똕" | "똖" | "똗" | "똘" | "똙" | "똚" | "똛" | "똜" | "똝" | "똞" | "똟" | "똠" | "똡" | "똢" | "똣" | "똤" | "똥" | "똦" | "똧" | "똨" | "똩" | "똪" | "똫" | "로" | "록" | "롞" | "롟" | "론" | "롡" | "롢" | "롣" | "롤" | "롥" | "롦" | "롧" | "롨" | "롩" | "롪" | "롫" | "롬" | "롭" | "롮" | "롯" | "롰" | "롱" | "롲" | "롳" | "롴" | "롵" | "롶" | "롷" | "모" | "목" | "몪" | "몫" | "몬" | "몭" | "몮" | "몯" | "몰" | "몱" | "몲" | "몳" | "몴" | "몵" | "몶" | "몷" | "몸" | "몹" | "몺" | "못" | "몼" | "몽" | "몾" | "몿" | "뫀" | "뫁" | "뫂" | "뫃" | "보" | "복" | "볶" | "볷" | "본" | "볹" | "볺" | "볻" | "볼" | "볽" | "볾" | "볿" | "봀" | "봁" | "봂" | "봃" | "봄" | "봅" | "봆" | "봇" | "봈" | "봉" | "봊" | "봋" | "봌" | "봍" | "봎" | "봏" | "뽀" | "뽁" | "뽂" | "뽃" | "뽄" | "뽅" | "뽆" | "뽇" | "뽈" | "뽉" | "뽊" | "뽋" | "뽌" | "뽍" | "뽎" | "뽏" | "뽐" | "뽑" | "뽒" | "뽓" | "뽔" | "뽕" | "뽖" | "뽗" | "뽘" | "뽙" | "뽚" | "뽛" | "소" | "속" | "솎" | "솏" | "손" | "솑" | "솒" | "솓" | "솔" | "솕" | "솖" | "솗" | "솘" | "솙" | "솚" | "솛" | "솜" | "솝" | "솞" | "솟" | "솠" | "송" | "솢" | "솣" | "솤" | "솥" | "솦" | "솧" | "쏘" | "쏙" | "쏚" | "쏛" | "쏜" | "쏝" | "쏞" | "쏟" | "쏠" | "쏡" | "쏢" | "쏣" | "쏤" | "쏥" | "쏦" | "쏧" | "쏨" | "쏩" | "쏪" | "쏫" | "쏬" | "쏭" | "쏮" | "쏯" | "쏰" | "쏱" | "쏲" | "쏳" | "오" | "옥" | "옦" | "옧" | "온" | "옩" | "옪" | "옫" | "올" | "옭" | "옮" | "옯" | "옰" | "옱" | "옲" | "옳" | "옴" | "옵" | "옶" | "옷" | "옸" | "옹" | "옺" | "옻" | "옼" | "옽" | "옾" | "옿" | "조" | "족" | "졲" | "졳" | "존" | "졵" | "졶" | "졷" | "졸" | "졹" | "졺" | "졻" | "졼" | "졽" | "졾" | "졿" | "좀" | "좁" | "좂" | "좃" | "좄" | "종" | "좆" | "좇" | "좈" | "좉" | "좊" | "좋" | "쪼" | "쪽" | "쪾" | "쪿" | "쫀" | "쫁" | "쫂" | "쫃" | "쫄" | "쫅" | "쫆" | "쫇" | "쫈" | "쫉" | "쫊" | "쫋" | "쫌" | "쫍" | "쫎" | "쫏" | "쫐" | "쫑" | "쫒" | "쫓" | "쫔" | "쫕" | "쫖" | "쫗" | "초" | "촉" | "촊" | "촋" | "촌" | "촍" | "촎" | "촏" | "촐" | "촑" | "촒" | "촓" | "촔" | "촕" | "촖" | "촗" | "촘" | "촙" | "촚" | "촛" | "촜" | "총" | "촞" | "촟" | "촠" | "촡" | "촢" | "촣" | "코" | "콕" | "콖" | "콗" | "콘" | "콙" | "콚" | "콛" | "콜" | "콝" | "콞" | "콟" | "콠" | "콡" | "콢" | "콣" | "콤" | "콥" | "콦" | "콧" | "콨" | "콩" | "콪" | "콫" | "콬" | "콭" | "콮" | "콯" | "토" | "톡" | "톢" | "톣" | "톤" | "톥" | "톦" | "톧" | "톨" | "톩" | "톪" | "톫" | "톬" | "톭" | "톮" | "톯" | "톰" | "톱" | "톲" | "톳" | "톴" | "통" | "톶" | "톷" | "톸" | "톹" | "톺" | "톻" | "포" | "폭" | "폮" | "폯" | "폰" | "폱" | "폲" | "폳" | "폴" | "폵" | "폶" | "폷" | "폸" | "폹" | "폺" | "폻" | "폼" | "폽" | "폾" | "폿" | "퐀" | "퐁" | "퐂" | "퐃" | "퐄" | "퐅" | "퐆" | "퐇" | "호" | "혹" | "혺" | "혻" | "혼" | "혽" | "혾" | "혿" | "홀" | "홁" | "홂" | "홃" | "홄" | "홅" | "홆" | "홇" | "홈" | "홉" | "홊" | "홋" | "홌" | "홍" | "홎" | "홏" | "홐" | "홑" | "홒" | "홓") ; + 'all_with_와' : pattern Str = #("과" | "곽" | "곾" | "곿" | "관" | "괁" | "괂" | "괃" | "괄" | "괅" | "괆" | "괇" | "괈" | "괉" | "괊" | "괋" | "괌" | "괍" | "괎" | "괏" | "괐" | "광" | "괒" | "괓" | "괔" | "괕" | "괖" | "괗" | "꽈" | "꽉" | "꽊" | "꽋" | "꽌" | "꽍" | "꽎" | "꽏" | "꽐" | "꽑" | "꽒" | "꽓" | "꽔" | "꽕" | "꽖" | "꽗" | "꽘" | "꽙" | "꽚" | "꽛" | "꽜" | "꽝" | "꽞" | "꽟" | "꽠" | "꽡" | "꽢" | "꽣" | "놔" | "놕" | "놖" | "놗" | "놘" | "놙" | "놚" | "놛" | "놜" | "놝" | "놞" | "놟" | "놠" | "놡" | "놢" | "놣" | "놤" | "놥" | "놦" | "놧" | "놨" | "놩" | "놪" | "놫" | "놬" | "놭" | "놮" | "놯" | "돠" | "돡" | "돢" | "돣" | "돤" | "돥" | "돦" | "돧" | "돨" | "돩" | "돪" | "돫" | "돬" | "돭" | "돮" | "돯" | "돰" | "돱" | "돲" | "돳" | "돴" | "돵" | "돶" | "돷" | "돸" | "돹" | "돺" | "돻" | "똬" | "똭" | "똮" | "똯" | "똰" | "똱" | "똲" | "똳" | "똴" | "똵" | "똶" | "똷" | "똸" | "똹" | "똺" | "똻" | "똼" | "똽" | "똾" | "똿" | "뙀" | "뙁" | "뙂" | "뙃" | "뙄" | "뙅" | "뙆" | "뙇" | "롸" | "롹" | "롺" | "롻" | "롼" | "롽" | "롾" | "롿" | "뢀" | "뢁" | "뢂" | "뢃" | "뢄" | "뢅" | "뢆" | "뢇" | "뢈" | "뢉" | "뢊" | "뢋" | "뢌" | "뢍" | "뢎" | "뢏" | "뢐" | "뢑" | "뢒" | "뢓" | "뫄" | "뫅" | "뫆" | "뫇" | "뫈" | "뫉" | "뫊" | "뫋" | "뫌" | "뫍" | "뫎" | "뫏" | "뫐" | "뫑" | "뫒" | "뫓" | "뫔" | "뫕" | "뫖" | "뫗" | "뫘" | "뫙" | "뫚" | "뫛" | "뫜" | "뫝" | "뫞" | "뫟" | "봐" | "봑" | "봒" | "봓" | "봔" | "봕" | "봖" | "봗" | "봘" | "봙" | "봚" | "봛" | "봜" | "봝" | "봞" | "봟" | "봠" | "봡" | "봢" | "봣" | "봤" | "봥" | "봦" | "봧" | "봨" | "봩" | "봪" | "봫" | "뽜" | "뽝" | "뽞" | "뽟" | "뽠" | "뽡" | "뽢" | "뽣" | "뽤" | "뽥" | "뽦" | "뽧" | "뽨" | "뽩" | "뽪" | "뽫" | "뽬" | "뽭" | "뽮" | "뽯" | "뽰" | "뽱" | "뽲" | "뽳" | "뽴" | "뽵" | "뽶" | "뽷" | "솨" | "솩" | "솪" | "솫" | "솬" | "솭" | "솮" | "솯" | "솰" | "솱" | "솲" | "솳" | "솴" | "솵" | "솶" | "솷" | "솸" | "솹" | "솺" | "솻" | "솼" | "솽" | "솾" | "솿" | "쇀" | "쇁" | "쇂" | "쇃" | "쏴" | "쏵" | "쏶" | "쏷" | "쏸" | "쏹" | "쏺" | "쏻" | "쏼" | "쏽" | "쏾" | "쏿" | "쐀" | "쐁" | "쐂" | "쐃" | "쐄" | "쐅" | "쐆" | "쐇" | "쐈" | "쐉" | "쐊" | "쐋" | "쐌" | "쐍" | "쐎" | "쐏" | "와" | "왁" | "왂" | "왃" | "완" | "왅" | "왆" | "왇" | "왈" | "왉" | "왊" | "왋" | "왌" | "왍" | "왎" | "왏" | "왐" | "왑" | "왒" | "왓" | "왔" | "왕" | "왖" | "왗" | "왘" | "왙" | "왚" | "왛" | "좌" | "좍" | "좎" | "좏" | "좐" | "좑" | "좒" | "좓" | "좔" | "좕" | "좖" | "좗" | "좘" | "좙" | "좚" | "좛" | "좜" | "좝" | "좞" | "좟" | "좠" | "좡" | "좢" | "좣" | "좤" | "좥" | "좦" | "좧" | "쫘" | "쫙" | "쫚" | "쫛" | "쫜" | "쫝" | "쫞" | "쫟" | "쫠" | "쫡" | "쫢" | "쫣" | "쫤" | "쫥" | "쫦" | "쫧" | "쫨" | "쫩" | "쫪" | "쫫" | "쫬" | "쫭" | "쫮" | "쫯" | "쫰" | "쫱" | "쫲" | "쫳" | "촤" | "촥" | "촦" | "촧" | "촨" | "촩" | "촪" | "촫" | "촬" | "촭" | "촮" | "촯" | "촰" | "촱" | "촲" | "촳" | "촴" | "촵" | "촶" | "촷" | "촸" | "촹" | "촺" | "촻" | "촼" | "촽" | "촾" | "촿" | "콰" | "콱" | "콲" | "콳" | "콴" | "콵" | "콶" | "콷" | "콸" | "콹" | "콺" | "콻" | "콼" | "콽" | "콾" | "콿" | "쾀" | "쾁" | "쾂" | "쾃" | "쾄" | "쾅" | "쾆" | "쾇" | "쾈" | "쾉" | "쾊" | "쾋" | "톼" | "톽" | "톾" | "톿" | "퇀" | "퇁" | "퇂" | "퇃" | "퇄" | "퇅" | "퇆" | "퇇" | "퇈" | "퇉" | "퇊" | "퇋" | "퇌" | "퇍" | "퇎" | "퇏" | "퇐" | "퇑" | "퇒" | "퇓" | "퇔" | "퇕" | "퇖" | "퇗" | "퐈" | "퐉" | "퐊" | "퐋" | "퐌" | "퐍" | "퐎" | "퐏" | "퐐" | "퐑" | "퐒" | "퐓" | "퐔" | "퐕" | "퐖" | "퐗" | "퐘" | "퐙" | "퐚" | "퐛" | "퐜" | "퐝" | "퐞" | "퐟" | "퐠" | "퐡" | "퐢" | "퐣" | "화" | "확" | "홖" | "홗" | "환" | "홙" | "홚" | "홛" | "활" | "홝" | "홞" | "홟" | "홠" | "홡" | "홢" | "홣" | "홤" | "홥" | "홦" | "홧" | "홨" | "황" | "홪" | "홫" | "홬" | "홭" | "홮" | "홯") ; + 'all_with_왜' : pattern Str = #("괘" | "괙" | "괚" | "괛" | "괜" | "괝" | "괞" | "괟" | "괠" | "괡" | "괢" | "괣" | "괤" | "괥" | "괦" | "괧" | "괨" | "괩" | "괪" | "괫" | "괬" | "괭" | "괮" | "괯" | "괰" | "괱" | "괲" | "괳" | "꽤" | "꽥" | "꽦" | "꽧" | "꽨" | "꽩" | "꽪" | "꽫" | "꽬" | "꽭" | "꽮" | "꽯" | "꽰" | "꽱" | "꽲" | "꽳" | "꽴" | "꽵" | "꽶" | "꽷" | "꽸" | "꽹" | "꽺" | "꽻" | "꽼" | "꽽" | "꽾" | "꽿" | "놰" | "놱" | "놲" | "놳" | "놴" | "놵" | "놶" | "놷" | "놸" | "놹" | "놺" | "놻" | "놼" | "놽" | "놾" | "놿" | "뇀" | "뇁" | "뇂" | "뇃" | "뇄" | "뇅" | "뇆" | "뇇" | "뇈" | "뇉" | "뇊" | "뇋" | "돼" | "돽" | "돾" | "돿" | "됀" | "됁" | "됂" | "됃" | "됄" | "됅" | "됆" | "됇" | "됈" | "됉" | "됊" | "됋" | "됌" | "됍" | "됎" | "됏" | "됐" | "됑" | "됒" | "됓" | "됔" | "됕" | "됖" | "됗" | "뙈" | "뙉" | "뙊" | "뙋" | "뙌" | "뙍" | "뙎" | "뙏" | "뙐" | "뙑" | "뙒" | "뙓" | "뙔" | "뙕" | "뙖" | "뙗" | "뙘" | "뙙" | "뙚" | "뙛" | "뙜" | "뙝" | "뙞" | "뙟" | "뙠" | "뙡" | "뙢" | "뙣" | "뢔" | "뢕" | "뢖" | "뢗" | "뢘" | "뢙" | "뢚" | "뢛" | "뢜" | "뢝" | "뢞" | "뢟" | "뢠" | "뢡" | "뢢" | "뢣" | "뢤" | "뢥" | "뢦" | "뢧" | "뢨" | "뢩" | "뢪" | "뢫" | "뢬" | "뢭" | "뢮" | "뢯" | "뫠" | "뫡" | "뫢" | "뫣" | "뫤" | "뫥" | "뫦" | "뫧" | "뫨" | "뫩" | "뫪" | "뫫" | "뫬" | "뫭" | "뫮" | "뫯" | "뫰" | "뫱" | "뫲" | "뫳" | "뫴" | "뫵" | "뫶" | "뫷" | "뫸" | "뫹" | "뫺" | "뫻" | "봬" | "봭" | "봮" | "봯" | "봰" | "봱" | "봲" | "봳" | "봴" | "봵" | "봶" | "봷" | "봸" | "봹" | "봺" | "봻" | "봼" | "봽" | "봾" | "봿" | "뵀" | "뵁" | "뵂" | "뵃" | "뵄" | "뵅" | "뵆" | "뵇" | "뽸" | "뽹" | "뽺" | "뽻" | "뽼" | "뽽" | "뽾" | "뽿" | "뾀" | "뾁" | "뾂" | "뾃" | "뾄" | "뾅" | "뾆" | "뾇" | "뾈" | "뾉" | "뾊" | "뾋" | "뾌" | "뾍" | "뾎" | "뾏" | "뾐" | "뾑" | "뾒" | "뾓" | "쇄" | "쇅" | "쇆" | "쇇" | "쇈" | "쇉" | "쇊" | "쇋" | "쇌" | "쇍" | "쇎" | "쇏" | "쇐" | "쇑" | "쇒" | "쇓" | "쇔" | "쇕" | "쇖" | "쇗" | "쇘" | "쇙" | "쇚" | "쇛" | "쇜" | "쇝" | "쇞" | "쇟" | "쐐" | "쐑" | "쐒" | "쐓" | "쐔" | "쐕" | "쐖" | "쐗" | "쐘" | "쐙" | "쐚" | "쐛" | "쐜" | "쐝" | "쐞" | "쐟" | "쐠" | "쐡" | "쐢" | "쐣" | "쐤" | "쐥" | "쐦" | "쐧" | "쐨" | "쐩" | "쐪" | "쐫" | "왜" | "왝" | "왞" | "왟" | "왠" | "왡" | "왢" | "왣" | "왤" | "왥" | "왦" | "왧" | "왨" | "왩" | "왪" | "왫" | "왬" | "왭" | "왮" | "왯" | "왰" | "왱" | "왲" | "왳" | "왴" | "왵" | "왶" | "왷" | "좨" | "좩" | "좪" | "좫" | "좬" | "좭" | "좮" | "좯" | "좰" | "좱" | "좲" | "좳" | "좴" | "좵" | "좶" | "좷" | "좸" | "좹" | "좺" | "좻" | "좼" | "좽" | "좾" | "좿" | "죀" | "죁" | "죂" | "죃" | "쫴" | "쫵" | "쫶" | "쫷" | "쫸" | "쫹" | "쫺" | "쫻" | "쫼" | "쫽" | "쫾" | "쫿" | "쬀" | "쬁" | "쬂" | "쬃" | "쬄" | "쬅" | "쬆" | "쬇" | "쬈" | "쬉" | "쬊" | "쬋" | "쬌" | "쬍" | "쬎" | "쬏" | "쵀" | "쵁" | "쵂" | "쵃" | "쵄" | "쵅" | "쵆" | "쵇" | "쵈" | "쵉" | "쵊" | "쵋" | "쵌" | "쵍" | "쵎" | "쵏" | "쵐" | "쵑" | "쵒" | "쵓" | "쵔" | "쵕" | "쵖" | "쵗" | "쵘" | "쵙" | "쵚" | "쵛" | "쾌" | "쾍" | "쾎" | "쾏" | "쾐" | "쾑" | "쾒" | "쾓" | "쾔" | "쾕" | "쾖" | "쾗" | "쾘" | "쾙" | "쾚" | "쾛" | "쾜" | "쾝" | "쾞" | "쾟" | "쾠" | "쾡" | "쾢" | "쾣" | "쾤" | "쾥" | "쾦" | "쾧" | "퇘" | "퇙" | "퇚" | "퇛" | "퇜" | "퇝" | "퇞" | "퇟" | "퇠" | "퇡" | "퇢" | "퇣" | "퇤" | "퇥" | "퇦" | "퇧" | "퇨" | "퇩" | "퇪" | "퇫" | "퇬" | "퇭" | "퇮" | "퇯" | "퇰" | "퇱" | "퇲" | "퇳" | "퐤" | "퐥" | "퐦" | "퐧" | "퐨" | "퐩" | "퐪" | "퐫" | "퐬" | "퐭" | "퐮" | "퐯" | "퐰" | "퐱" | "퐲" | "퐳" | "퐴" | "퐵" | "퐶" | "퐷" | "퐸" | "퐹" | "퐺" | "퐻" | "퐼" | "퐽" | "퐾" | "퐿" | "홰" | "홱" | "홲" | "홳" | "홴" | "홵" | "홶" | "홷" | "홸" | "홹" | "홺" | "홻" | "홼" | "홽" | "홾" | "홿" | "횀" | "횁" | "횂" | "횃" | "횄" | "횅" | "횆" | "횇" | "횈" | "횉" | "횊" | "횋") ; + 'all_with_외' : pattern Str = #("괴" | "괵" | "괶" | "괷" | "괸" | "괹" | "괺" | "괻" | "괼" | "괽" | "괾" | "괿" | "굀" | "굁" | "굂" | "굃" | "굄" | "굅" | "굆" | "굇" | "굈" | "굉" | "굊" | "굋" | "굌" | "굍" | "굎" | "굏" | "꾀" | "꾁" | "꾂" | "꾃" | "꾄" | "꾅" | "꾆" | "꾇" | "꾈" | "꾉" | "꾊" | "꾋" | "꾌" | "꾍" | "꾎" | "꾏" | "꾐" | "꾑" | "꾒" | "꾓" | "꾔" | "꾕" | "꾖" | "꾗" | "꾘" | "꾙" | "꾚" | "꾛" | "뇌" | "뇍" | "뇎" | "뇏" | "뇐" | "뇑" | "뇒" | "뇓" | "뇔" | "뇕" | "뇖" | "뇗" | "뇘" | "뇙" | "뇚" | "뇛" | "뇜" | "뇝" | "뇞" | "뇟" | "뇠" | "뇡" | "뇢" | "뇣" | "뇤" | "뇥" | "뇦" | "뇧" | "되" | "됙" | "됚" | "됛" | "된" | "됝" | "됞" | "됟" | "될" | "됡" | "됢" | "됣" | "됤" | "됥" | "됦" | "됧" | "됨" | "됩" | "됪" | "됫" | "됬" | "됭" | "됮" | "됯" | "됰" | "됱" | "됲" | "됳" | "뙤" | "뙥" | "뙦" | "뙧" | "뙨" | "뙩" | "뙪" | "뙫" | "뙬" | "뙭" | "뙮" | "뙯" | "뙰" | "뙱" | "뙲" | "뙳" | "뙴" | "뙵" | "뙶" | "뙷" | "뙸" | "뙹" | "뙺" | "뙻" | "뙼" | "뙽" | "뙾" | "뙿" | "뢰" | "뢱" | "뢲" | "뢳" | "뢴" | "뢵" | "뢶" | "뢷" | "뢸" | "뢹" | "뢺" | "뢻" | "뢼" | "뢽" | "뢾" | "뢿" | "룀" | "룁" | "룂" | "룃" | "룄" | "룅" | "룆" | "룇" | "룈" | "룉" | "룊" | "룋" | "뫼" | "뫽" | "뫾" | "뫿" | "묀" | "묁" | "묂" | "묃" | "묄" | "묅" | "묆" | "묇" | "묈" | "묉" | "묊" | "묋" | "묌" | "묍" | "묎" | "묏" | "묐" | "묑" | "묒" | "묓" | "묔" | "묕" | "묖" | "묗" | "뵈" | "뵉" | "뵊" | "뵋" | "뵌" | "뵍" | "뵎" | "뵏" | "뵐" | "뵑" | "뵒" | "뵓" | "뵔" | "뵕" | "뵖" | "뵗" | "뵘" | "뵙" | "뵚" | "뵛" | "뵜" | "뵝" | "뵞" | "뵟" | "뵠" | "뵡" | "뵢" | "뵣" | "뾔" | "뾕" | "뾖" | "뾗" | "뾘" | "뾙" | "뾚" | "뾛" | "뾜" | "뾝" | "뾞" | "뾟" | "뾠" | "뾡" | "뾢" | "뾣" | "뾤" | "뾥" | "뾦" | "뾧" | "뾨" | "뾩" | "뾪" | "뾫" | "뾬" | "뾭" | "뾮" | "뾯" | "쇠" | "쇡" | "쇢" | "쇣" | "쇤" | "쇥" | "쇦" | "쇧" | "쇨" | "쇩" | "쇪" | "쇫" | "쇬" | "쇭" | "쇮" | "쇯" | "쇰" | "쇱" | "쇲" | "쇳" | "쇴" | "쇵" | "쇶" | "쇷" | "쇸" | "쇹" | "쇺" | "쇻" | "쐬" | "쐭" | "쐮" | "쐯" | "쐰" | "쐱" | "쐲" | "쐳" | "쐴" | "쐵" | "쐶" | "쐷" | "쐸" | "쐹" | "쐺" | "쐻" | "쐼" | "쐽" | "쐾" | "쐿" | "쑀" | "쑁" | "쑂" | "쑃" | "쑄" | "쑅" | "쑆" | "쑇" | "외" | "왹" | "왺" | "왻" | "왼" | "왽" | "왾" | "왿" | "욀" | "욁" | "욂" | "욃" | "욄" | "욅" | "욆" | "욇" | "욈" | "욉" | "욊" | "욋" | "욌" | "욍" | "욎" | "욏" | "욐" | "욑" | "욒" | "욓" | "죄" | "죅" | "죆" | "죇" | "죈" | "죉" | "죊" | "죋" | "죌" | "죍" | "죎" | "죏" | "죐" | "죑" | "죒" | "죓" | "죔" | "죕" | "죖" | "죗" | "죘" | "죙" | "죚" | "죛" | "죜" | "죝" | "죞" | "죟" | "쬐" | "쬑" | "쬒" | "쬓" | "쬔" | "쬕" | "쬖" | "쬗" | "쬘" | "쬙" | "쬚" | "쬛" | "쬜" | "쬝" | "쬞" | "쬟" | "쬠" | "쬡" | "쬢" | "쬣" | "쬤" | "쬥" | "쬦" | "쬧" | "쬨" | "쬩" | "쬪" | "쬫" | "최" | "쵝" | "쵞" | "쵟" | "쵠" | "쵡" | "쵢" | "쵣" | "쵤" | "쵥" | "쵦" | "쵧" | "쵨" | "쵩" | "쵪" | "쵫" | "쵬" | "쵭" | "쵮" | "쵯" | "쵰" | "쵱" | "쵲" | "쵳" | "쵴" | "쵵" | "쵶" | "쵷" | "쾨" | "쾩" | "쾪" | "쾫" | "쾬" | "쾭" | "쾮" | "쾯" | "쾰" | "쾱" | "쾲" | "쾳" | "쾴" | "쾵" | "쾶" | "쾷" | "쾸" | "쾹" | "쾺" | "쾻" | "쾼" | "쾽" | "쾾" | "쾿" | "쿀" | "쿁" | "쿂" | "쿃" | "퇴" | "퇵" | "퇶" | "퇷" | "퇸" | "퇹" | "퇺" | "퇻" | "퇼" | "퇽" | "퇾" | "퇿" | "툀" | "툁" | "툂" | "툃" | "툄" | "툅" | "툆" | "툇" | "툈" | "툉" | "툊" | "툋" | "툌" | "툍" | "툎" | "툏" | "푀" | "푁" | "푂" | "푃" | "푄" | "푅" | "푆" | "푇" | "푈" | "푉" | "푊" | "푋" | "푌" | "푍" | "푎" | "푏" | "푐" | "푑" | "푒" | "푓" | "푔" | "푕" | "푖" | "푗" | "푘" | "푙" | "푚" | "푛" | "회" | "획" | "횎" | "횏" | "횐" | "횑" | "횒" | "횓" | "횔" | "횕" | "횖" | "횗" | "횘" | "횙" | "횚" | "횛" | "횜" | "횝" | "횞" | "횟" | "횠" | "횡" | "횢" | "횣" | "횤" | "횥" | "횦" | "횧") ; + 'all_with_요' : pattern Str = #("교" | "굑" | "굒" | "굓" | "굔" | "굕" | "굖" | "굗" | "굘" | "굙" | "굚" | "굛" | "굜" | "굝" | "굞" | "굟" | "굠" | "굡" | "굢" | "굣" | "굤" | "굥" | "굦" | "굧" | "굨" | "굩" | "굪" | "굫" | "꾜" | "꾝" | "꾞" | "꾟" | "꾠" | "꾡" | "꾢" | "꾣" | "꾤" | "꾥" | "꾦" | "꾧" | "꾨" | "꾩" | "꾪" | "꾫" | "꾬" | "꾭" | "꾮" | "꾯" | "꾰" | "꾱" | "꾲" | "꾳" | "꾴" | "꾵" | "꾶" | "꾷" | "뇨" | "뇩" | "뇪" | "뇫" | "뇬" | "뇭" | "뇮" | "뇯" | "뇰" | "뇱" | "뇲" | "뇳" | "뇴" | "뇵" | "뇶" | "뇷" | "뇸" | "뇹" | "뇺" | "뇻" | "뇼" | "뇽" | "뇾" | "뇿" | "눀" | "눁" | "눂" | "눃" | "됴" | "됵" | "됶" | "됷" | "됸" | "됹" | "됺" | "됻" | "됼" | "됽" | "됾" | "됿" | "둀" | "둁" | "둂" | "둃" | "둄" | "둅" | "둆" | "둇" | "둈" | "둉" | "둊" | "둋" | "둌" | "둍" | "둎" | "둏" | "뚀" | "뚁" | "뚂" | "뚃" | "뚄" | "뚅" | "뚆" | "뚇" | "뚈" | "뚉" | "뚊" | "뚋" | "뚌" | "뚍" | "뚎" | "뚏" | "뚐" | "뚑" | "뚒" | "뚓" | "뚔" | "뚕" | "뚖" | "뚗" | "뚘" | "뚙" | "뚚" | "뚛" | "료" | "룍" | "룎" | "룏" | "룐" | "룑" | "룒" | "룓" | "룔" | "룕" | "룖" | "룗" | "룘" | "룙" | "룚" | "룛" | "룜" | "룝" | "룞" | "룟" | "룠" | "룡" | "룢" | "룣" | "룤" | "룥" | "룦" | "룧" | "묘" | "묙" | "묚" | "묛" | "묜" | "묝" | "묞" | "묟" | "묠" | "묡" | "묢" | "묣" | "묤" | "묥" | "묦" | "묧" | "묨" | "묩" | "묪" | "묫" | "묬" | "묭" | "묮" | "묯" | "묰" | "묱" | "묲" | "묳" | "뵤" | "뵥" | "뵦" | "뵧" | "뵨" | "뵩" | "뵪" | "뵫" | "뵬" | "뵭" | "뵮" | "뵯" | "뵰" | "뵱" | "뵲" | "뵳" | "뵴" | "뵵" | "뵶" | "뵷" | "뵸" | "뵹" | "뵺" | "뵻" | "뵼" | "뵽" | "뵾" | "뵿" | "뾰" | "뾱" | "뾲" | "뾳" | "뾴" | "뾵" | "뾶" | "뾷" | "뾸" | "뾹" | "뾺" | "뾻" | "뾼" | "뾽" | "뾾" | "뾿" | "뿀" | "뿁" | "뿂" | "뿃" | "뿄" | "뿅" | "뿆" | "뿇" | "뿈" | "뿉" | "뿊" | "뿋" | "쇼" | "쇽" | "쇾" | "쇿" | "숀" | "숁" | "숂" | "숃" | "숄" | "숅" | "숆" | "숇" | "숈" | "숉" | "숊" | "숋" | "숌" | "숍" | "숎" | "숏" | "숐" | "숑" | "숒" | "숓" | "숔" | "숕" | "숖" | "숗" | "쑈" | "쑉" | "쑊" | "쑋" | "쑌" | "쑍" | "쑎" | "쑏" | "쑐" | "쑑" | "쑒" | "쑓" | "쑔" | "쑕" | "쑖" | "쑗" | "쑘" | "쑙" | "쑚" | "쑛" | "쑜" | "쑝" | "쑞" | "쑟" | "쑠" | "쑡" | "쑢" | "쑣" | "요" | "욕" | "욖" | "욗" | "욘" | "욙" | "욚" | "욛" | "욜" | "욝" | "욞" | "욟" | "욠" | "욡" | "욢" | "욣" | "욤" | "욥" | "욦" | "욧" | "욨" | "용" | "욪" | "욫" | "욬" | "욭" | "욮" | "욯" | "죠" | "죡" | "죢" | "죣" | "죤" | "죥" | "죦" | "죧" | "죨" | "죩" | "죪" | "죫" | "죬" | "죭" | "죮" | "죯" | "죰" | "죱" | "죲" | "죳" | "죴" | "죵" | "죶" | "죷" | "죸" | "죹" | "죺" | "죻" | "쬬" | "쬭" | "쬮" | "쬯" | "쬰" | "쬱" | "쬲" | "쬳" | "쬴" | "쬵" | "쬶" | "쬷" | "쬸" | "쬹" | "쬺" | "쬻" | "쬼" | "쬽" | "쬾" | "쬿" | "쭀" | "쭁" | "쭂" | "쭃" | "쭄" | "쭅" | "쭆" | "쭇" | "쵸" | "쵹" | "쵺" | "쵻" | "쵼" | "쵽" | "쵾" | "쵿" | "춀" | "춁" | "춂" | "춃" | "춄" | "춅" | "춆" | "춇" | "춈" | "춉" | "춊" | "춋" | "춌" | "춍" | "춎" | "춏" | "춐" | "춑" | "춒" | "춓" | "쿄" | "쿅" | "쿆" | "쿇" | "쿈" | "쿉" | "쿊" | "쿋" | "쿌" | "쿍" | "쿎" | "쿏" | "쿐" | "쿑" | "쿒" | "쿓" | "쿔" | "쿕" | "쿖" | "쿗" | "쿘" | "쿙" | "쿚" | "쿛" | "쿜" | "쿝" | "쿞" | "쿟" | "툐" | "툑" | "툒" | "툓" | "툔" | "툕" | "툖" | "툗" | "툘" | "툙" | "툚" | "툛" | "툜" | "툝" | "툞" | "툟" | "툠" | "툡" | "툢" | "툣" | "툤" | "툥" | "툦" | "툧" | "툨" | "툩" | "툪" | "툫" | "표" | "푝" | "푞" | "푟" | "푠" | "푡" | "푢" | "푣" | "푤" | "푥" | "푦" | "푧" | "푨" | "푩" | "푪" | "푫" | "푬" | "푭" | "푮" | "푯" | "푰" | "푱" | "푲" | "푳" | "푴" | "푵" | "푶" | "푷" | "효" | "횩" | "횪" | "횫" | "횬" | "횭" | "횮" | "횯" | "횰" | "횱" | "횲" | "횳" | "횴" | "횵" | "횶" | "횷" | "횸" | "횹" | "횺" | "횻" | "횼" | "횽" | "횾" | "횿" | "훀" | "훁" | "훂" | "훃") ; + 'all_with_우' : pattern Str = #("구" | "국" | "굮" | "굯" | "군" | "굱" | "굲" | "굳" | "굴" | "굵" | "굶" | "굷" | "굸" | "굹" | "굺" | "굻" | "굼" | "굽" | "굾" | "굿" | "궀" | "궁" | "궂" | "궃" | "궄" | "궅" | "궆" | "궇" | "꾸" | "꾹" | "꾺" | "꾻" | "꾼" | "꾽" | "꾾" | "꾿" | "꿀" | "꿁" | "꿂" | "꿃" | "꿄" | "꿅" | "꿆" | "꿇" | "꿈" | "꿉" | "꿊" | "꿋" | "꿌" | "꿍" | "꿎" | "꿏" | "꿐" | "꿑" | "꿒" | "꿓" | "누" | "눅" | "눆" | "눇" | "눈" | "눉" | "눊" | "눋" | "눌" | "눍" | "눎" | "눏" | "눐" | "눑" | "눒" | "눓" | "눔" | "눕" | "눖" | "눗" | "눘" | "눙" | "눚" | "눛" | "눜" | "눝" | "눞" | "눟" | "두" | "둑" | "둒" | "둓" | "둔" | "둕" | "둖" | "둗" | "둘" | "둙" | "둚" | "둛" | "둜" | "둝" | "둞" | "둟" | "둠" | "둡" | "둢" | "둣" | "둤" | "둥" | "둦" | "둧" | "둨" | "둩" | "둪" | "둫" | "뚜" | "뚝" | "뚞" | "뚟" | "뚠" | "뚡" | "뚢" | "뚣" | "뚤" | "뚥" | "뚦" | "뚧" | "뚨" | "뚩" | "뚪" | "뚫" | "뚬" | "뚭" | "뚮" | "뚯" | "뚰" | "뚱" | "뚲" | "뚳" | "뚴" | "뚵" | "뚶" | "뚷" | "루" | "룩" | "룪" | "룫" | "룬" | "룭" | "룮" | "룯" | "룰" | "룱" | "룲" | "룳" | "룴" | "룵" | "룶" | "룷" | "룸" | "룹" | "룺" | "룻" | "룼" | "룽" | "룾" | "룿" | "뤀" | "뤁" | "뤂" | "뤃" | "무" | "묵" | "묶" | "묷" | "문" | "묹" | "묺" | "묻" | "물" | "묽" | "묾" | "묿" | "뭀" | "뭁" | "뭂" | "뭃" | "뭄" | "뭅" | "뭆" | "뭇" | "뭈" | "뭉" | "뭊" | "뭋" | "뭌" | "뭍" | "뭎" | "뭏" | "부" | "북" | "붂" | "붃" | "분" | "붅" | "붆" | "붇" | "불" | "붉" | "붊" | "붋" | "붌" | "붍" | "붎" | "붏" | "붐" | "붑" | "붒" | "붓" | "붔" | "붕" | "붖" | "붗" | "붘" | "붙" | "붚" | "붛" | "뿌" | "뿍" | "뿎" | "뿏" | "뿐" | "뿑" | "뿒" | "뿓" | "뿔" | "뿕" | "뿖" | "뿗" | "뿘" | "뿙" | "뿚" | "뿛" | "뿜" | "뿝" | "뿞" | "뿟" | "뿠" | "뿡" | "뿢" | "뿣" | "뿤" | "뿥" | "뿦" | "뿧" | "수" | "숙" | "숚" | "숛" | "순" | "숝" | "숞" | "숟" | "술" | "숡" | "숢" | "숣" | "숤" | "숥" | "숦" | "숧" | "숨" | "숩" | "숪" | "숫" | "숬" | "숭" | "숮" | "숯" | "숰" | "숱" | "숲" | "숳" | "쑤" | "쑥" | "쑦" | "쑧" | "쑨" | "쑩" | "쑪" | "쑫" | "쑬" | "쑭" | "쑮" | "쑯" | "쑰" | "쑱" | "쑲" | "쑳" | "쑴" | "쑵" | "쑶" | "쑷" | "쑸" | "쑹" | "쑺" | "쑻" | "쑼" | "쑽" | "쑾" | "쑿" | "우" | "욱" | "욲" | "욳" | "운" | "욵" | "욶" | "욷" | "울" | "욹" | "욺" | "욻" | "욼" | "욽" | "욾" | "욿" | "움" | "웁" | "웂" | "웃" | "웄" | "웅" | "웆" | "웇" | "웈" | "웉" | "웊" | "웋" | "주" | "죽" | "죾" | "죿" | "준" | "줁" | "줂" | "줃" | "줄" | "줅" | "줆" | "줇" | "줈" | "줉" | "줊" | "줋" | "줌" | "줍" | "줎" | "줏" | "줐" | "중" | "줒" | "줓" | "줔" | "줕" | "줖" | "줗" | "쭈" | "쭉" | "쭊" | "쭋" | "쭌" | "쭍" | "쭎" | "쭏" | "쭐" | "쭑" | "쭒" | "쭓" | "쭔" | "쭕" | "쭖" | "쭗" | "쭘" | "쭙" | "쭚" | "쭛" | "쭜" | "쭝" | "쭞" | "쭟" | "쭠" | "쭡" | "쭢" | "쭣" | "추" | "축" | "춖" | "춗" | "춘" | "춙" | "춚" | "춛" | "출" | "춝" | "춞" | "춟" | "춠" | "춡" | "춢" | "춣" | "춤" | "춥" | "춦" | "춧" | "춨" | "충" | "춪" | "춫" | "춬" | "춭" | "춮" | "춯" | "쿠" | "쿡" | "쿢" | "쿣" | "쿤" | "쿥" | "쿦" | "쿧" | "쿨" | "쿩" | "쿪" | "쿫" | "쿬" | "쿭" | "쿮" | "쿯" | "쿰" | "쿱" | "쿲" | "쿳" | "쿴" | "쿵" | "쿶" | "쿷" | "쿸" | "쿹" | "쿺" | "쿻" | "투" | "툭" | "툮" | "툯" | "툰" | "툱" | "툲" | "툳" | "툴" | "툵" | "툶" | "툷" | "툸" | "툹" | "툺" | "툻" | "툼" | "툽" | "툾" | "툿" | "퉀" | "퉁" | "퉂" | "퉃" | "퉄" | "퉅" | "퉆" | "퉇" | "푸" | "푹" | "푺" | "푻" | "푼" | "푽" | "푾" | "푿" | "풀" | "풁" | "풂" | "풃" | "풄" | "풅" | "풆" | "풇" | "품" | "풉" | "풊" | "풋" | "풌" | "풍" | "풎" | "풏" | "풐" | "풑" | "풒" | "풓" | "후" | "훅" | "훆" | "훇" | "훈" | "훉" | "훊" | "훋" | "훌" | "훍" | "훎" | "훏" | "훐" | "훑" | "훒" | "훓" | "훔" | "훕" | "훖" | "훗" | "훘" | "훙" | "훚" | "훛" | "훜" | "훝" | "훞" | "훟") ; + 'all_with_워' : pattern Str = #("궈" | "궉" | "궊" | "궋" | "권" | "궍" | "궎" | "궏" | "궐" | "궑" | "궒" | "궓" | "궔" | "궕" | "궖" | "궗" | "궘" | "궙" | "궚" | "궛" | "궜" | "궝" | "궞" | "궟" | "궠" | "궡" | "궢" | "궣" | "꿔" | "꿕" | "꿖" | "꿗" | "꿘" | "꿙" | "꿚" | "꿛" | "꿜" | "꿝" | "꿞" | "꿟" | "꿠" | "꿡" | "꿢" | "꿣" | "꿤" | "꿥" | "꿦" | "꿧" | "꿨" | "꿩" | "꿪" | "꿫" | "꿬" | "꿭" | "꿮" | "꿯" | "눠" | "눡" | "눢" | "눣" | "눤" | "눥" | "눦" | "눧" | "눨" | "눩" | "눪" | "눫" | "눬" | "눭" | "눮" | "눯" | "눰" | "눱" | "눲" | "눳" | "눴" | "눵" | "눶" | "눷" | "눸" | "눹" | "눺" | "눻" | "둬" | "둭" | "둮" | "둯" | "둰" | "둱" | "둲" | "둳" | "둴" | "둵" | "둶" | "둷" | "둸" | "둹" | "둺" | "둻" | "둼" | "둽" | "둾" | "둿" | "뒀" | "뒁" | "뒂" | "뒃" | "뒄" | "뒅" | "뒆" | "뒇" | "뚸" | "뚹" | "뚺" | "뚻" | "뚼" | "뚽" | "뚾" | "뚿" | "뛀" | "뛁" | "뛂" | "뛃" | "뛄" | "뛅" | "뛆" | "뛇" | "뛈" | "뛉" | "뛊" | "뛋" | "뛌" | "뛍" | "뛎" | "뛏" | "뛐" | "뛑" | "뛒" | "뛓" | "뤄" | "뤅" | "뤆" | "뤇" | "뤈" | "뤉" | "뤊" | "뤋" | "뤌" | "뤍" | "뤎" | "뤏" | "뤐" | "뤑" | "뤒" | "뤓" | "뤔" | "뤕" | "뤖" | "뤗" | "뤘" | "뤙" | "뤚" | "뤛" | "뤜" | "뤝" | "뤞" | "뤟" | "뭐" | "뭑" | "뭒" | "뭓" | "뭔" | "뭕" | "뭖" | "뭗" | "뭘" | "뭙" | "뭚" | "뭛" | "뭜" | "뭝" | "뭞" | "뭟" | "뭠" | "뭡" | "뭢" | "뭣" | "뭤" | "뭥" | "뭦" | "뭧" | "뭨" | "뭩" | "뭪" | "뭫" | "붜" | "붝" | "붞" | "붟" | "붠" | "붡" | "붢" | "붣" | "붤" | "붥" | "붦" | "붧" | "붨" | "붩" | "붪" | "붫" | "붬" | "붭" | "붮" | "붯" | "붰" | "붱" | "붲" | "붳" | "붴" | "붵" | "붶" | "붷" | "뿨" | "뿩" | "뿪" | "뿫" | "뿬" | "뿭" | "뿮" | "뿯" | "뿰" | "뿱" | "뿲" | "뿳" | "뿴" | "뿵" | "뿶" | "뿷" | "뿸" | "뿹" | "뿺" | "뿻" | "뿼" | "뿽" | "뿾" | "뿿" | "쀀" | "쀁" | "쀂" | "쀃" | "숴" | "숵" | "숶" | "숷" | "숸" | "숹" | "숺" | "숻" | "숼" | "숽" | "숾" | "숿" | "쉀" | "쉁" | "쉂" | "쉃" | "쉄" | "쉅" | "쉆" | "쉇" | "쉈" | "쉉" | "쉊" | "쉋" | "쉌" | "쉍" | "쉎" | "쉏" | "쒀" | "쒁" | "쒂" | "쒃" | "쒄" | "쒅" | "쒆" | "쒇" | "쒈" | "쒉" | "쒊" | "쒋" | "쒌" | "쒍" | "쒎" | "쒏" | "쒐" | "쒑" | "쒒" | "쒓" | "쒔" | "쒕" | "쒖" | "쒗" | "쒘" | "쒙" | "쒚" | "쒛" | "워" | "웍" | "웎" | "웏" | "원" | "웑" | "웒" | "웓" | "월" | "웕" | "웖" | "웗" | "웘" | "웙" | "웚" | "웛" | "웜" | "웝" | "웞" | "웟" | "웠" | "웡" | "웢" | "웣" | "웤" | "웥" | "웦" | "웧" | "줘" | "줙" | "줚" | "줛" | "줜" | "줝" | "줞" | "줟" | "줠" | "줡" | "줢" | "줣" | "줤" | "줥" | "줦" | "줧" | "줨" | "줩" | "줪" | "줫" | "줬" | "줭" | "줮" | "줯" | "줰" | "줱" | "줲" | "줳" | "쭤" | "쭥" | "쭦" | "쭧" | "쭨" | "쭩" | "쭪" | "쭫" | "쭬" | "쭭" | "쭮" | "쭯" | "쭰" | "쭱" | "쭲" | "쭳" | "쭴" | "쭵" | "쭶" | "쭷" | "쭸" | "쭹" | "쭺" | "쭻" | "쭼" | "쭽" | "쭾" | "쭿" | "춰" | "춱" | "춲" | "춳" | "춴" | "춵" | "춶" | "춷" | "춸" | "춹" | "춺" | "춻" | "춼" | "춽" | "춾" | "춿" | "췀" | "췁" | "췂" | "췃" | "췄" | "췅" | "췆" | "췇" | "췈" | "췉" | "췊" | "췋" | "쿼" | "쿽" | "쿾" | "쿿" | "퀀" | "퀁" | "퀂" | "퀃" | "퀄" | "퀅" | "퀆" | "퀇" | "퀈" | "퀉" | "퀊" | "퀋" | "퀌" | "퀍" | "퀎" | "퀏" | "퀐" | "퀑" | "퀒" | "퀓" | "퀔" | "퀕" | "퀖" | "퀗" | "퉈" | "퉉" | "퉊" | "퉋" | "퉌" | "퉍" | "퉎" | "퉏" | "퉐" | "퉑" | "퉒" | "퉓" | "퉔" | "퉕" | "퉖" | "퉗" | "퉘" | "퉙" | "퉚" | "퉛" | "퉜" | "퉝" | "퉞" | "퉟" | "퉠" | "퉡" | "퉢" | "퉣" | "풔" | "풕" | "풖" | "풗" | "풘" | "풙" | "풚" | "풛" | "풜" | "풝" | "풞" | "풟" | "풠" | "풡" | "풢" | "풣" | "풤" | "풥" | "풦" | "풧" | "풨" | "풩" | "풪" | "풫" | "풬" | "풭" | "풮" | "풯" | "훠" | "훡" | "훢" | "훣" | "훤" | "훥" | "훦" | "훧" | "훨" | "훩" | "훪" | "훫" | "훬" | "훭" | "훮" | "훯" | "훰" | "훱" | "훲" | "훳" | "훴" | "훵" | "훶" | "훷" | "훸" | "훹" | "훺" | "훻") ; + 'all_with_웨' : pattern Str = #("궤" | "궥" | "궦" | "궧" | "궨" | "궩" | "궪" | "궫" | "궬" | "궭" | "궮" | "궯" | "궰" | "궱" | "궲" | "궳" | "궴" | "궵" | "궶" | "궷" | "궸" | "궹" | "궺" | "궻" | "궼" | "궽" | "궾" | "궿" | "꿰" | "꿱" | "꿲" | "꿳" | "꿴" | "꿵" | "꿶" | "꿷" | "꿸" | "꿹" | "꿺" | "꿻" | "꿼" | "꿽" | "꿾" | "꿿" | "뀀" | "뀁" | "뀂" | "뀃" | "뀄" | "뀅" | "뀆" | "뀇" | "뀈" | "뀉" | "뀊" | "뀋" | "눼" | "눽" | "눾" | "눿" | "뉀" | "뉁" | "뉂" | "뉃" | "뉄" | "뉅" | "뉆" | "뉇" | "뉈" | "뉉" | "뉊" | "뉋" | "뉌" | "뉍" | "뉎" | "뉏" | "뉐" | "뉑" | "뉒" | "뉓" | "뉔" | "뉕" | "뉖" | "뉗" | "뒈" | "뒉" | "뒊" | "뒋" | "뒌" | "뒍" | "뒎" | "뒏" | "뒐" | "뒑" | "뒒" | "뒓" | "뒔" | "뒕" | "뒖" | "뒗" | "뒘" | "뒙" | "뒚" | "뒛" | "뒜" | "뒝" | "뒞" | "뒟" | "뒠" | "뒡" | "뒢" | "뒣" | "뛔" | "뛕" | "뛖" | "뛗" | "뛘" | "뛙" | "뛚" | "뛛" | "뛜" | "뛝" | "뛞" | "뛟" | "뛠" | "뛡" | "뛢" | "뛣" | "뛤" | "뛥" | "뛦" | "뛧" | "뛨" | "뛩" | "뛪" | "뛫" | "뛬" | "뛭" | "뛮" | "뛯" | "뤠" | "뤡" | "뤢" | "뤣" | "뤤" | "뤥" | "뤦" | "뤧" | "뤨" | "뤩" | "뤪" | "뤫" | "뤬" | "뤭" | "뤮" | "뤯" | "뤰" | "뤱" | "뤲" | "뤳" | "뤴" | "뤵" | "뤶" | "뤷" | "뤸" | "뤹" | "뤺" | "뤻" | "뭬" | "뭭" | "뭮" | "뭯" | "뭰" | "뭱" | "뭲" | "뭳" | "뭴" | "뭵" | "뭶" | "뭷" | "뭸" | "뭹" | "뭺" | "뭻" | "뭼" | "뭽" | "뭾" | "뭿" | "뮀" | "뮁" | "뮂" | "뮃" | "뮄" | "뮅" | "뮆" | "뮇" | "붸" | "붹" | "붺" | "붻" | "붼" | "붽" | "붾" | "붿" | "뷀" | "뷁" | "뷂" | "뷃" | "뷄" | "뷅" | "뷆" | "뷇" | "뷈" | "뷉" | "뷊" | "뷋" | "뷌" | "뷍" | "뷎" | "뷏" | "뷐" | "뷑" | "뷒" | "뷓" | "쀄" | "쀅" | "쀆" | "쀇" | "쀈" | "쀉" | "쀊" | "쀋" | "쀌" | "쀍" | "쀎" | "쀏" | "쀐" | "쀑" | "쀒" | "쀓" | "쀔" | "쀕" | "쀖" | "쀗" | "쀘" | "쀙" | "쀚" | "쀛" | "쀜" | "쀝" | "쀞" | "쀟" | "쉐" | "쉑" | "쉒" | "쉓" | "쉔" | "쉕" | "쉖" | "쉗" | "쉘" | "쉙" | "쉚" | "쉛" | "쉜" | "쉝" | "쉞" | "쉟" | "쉠" | "쉡" | "쉢" | "쉣" | "쉤" | "쉥" | "쉦" | "쉧" | "쉨" | "쉩" | "쉪" | "쉫" | "쒜" | "쒝" | "쒞" | "쒟" | "쒠" | "쒡" | "쒢" | "쒣" | "쒤" | "쒥" | "쒦" | "쒧" | "쒨" | "쒩" | "쒪" | "쒫" | "쒬" | "쒭" | "쒮" | "쒯" | "쒰" | "쒱" | "쒲" | "쒳" | "쒴" | "쒵" | "쒶" | "쒷" | "웨" | "웩" | "웪" | "웫" | "웬" | "웭" | "웮" | "웯" | "웰" | "웱" | "웲" | "웳" | "웴" | "웵" | "웶" | "웷" | "웸" | "웹" | "웺" | "웻" | "웼" | "웽" | "웾" | "웿" | "윀" | "윁" | "윂" | "윃" | "줴" | "줵" | "줶" | "줷" | "줸" | "줹" | "줺" | "줻" | "줼" | "줽" | "줾" | "줿" | "쥀" | "쥁" | "쥂" | "쥃" | "쥄" | "쥅" | "쥆" | "쥇" | "쥈" | "쥉" | "쥊" | "쥋" | "쥌" | "쥍" | "쥎" | "쥏" | "쮀" | "쮁" | "쮂" | "쮃" | "쮄" | "쮅" | "쮆" | "쮇" | "쮈" | "쮉" | "쮊" | "쮋" | "쮌" | "쮍" | "쮎" | "쮏" | "쮐" | "쮑" | "쮒" | "쮓" | "쮔" | "쮕" | "쮖" | "쮗" | "쮘" | "쮙" | "쮚" | "쮛" | "췌" | "췍" | "췎" | "췏" | "췐" | "췑" | "췒" | "췓" | "췔" | "췕" | "췖" | "췗" | "췘" | "췙" | "췚" | "췛" | "췜" | "췝" | "췞" | "췟" | "췠" | "췡" | "췢" | "췣" | "췤" | "췥" | "췦" | "췧" | "퀘" | "퀙" | "퀚" | "퀛" | "퀜" | "퀝" | "퀞" | "퀟" | "퀠" | "퀡" | "퀢" | "퀣" | "퀤" | "퀥" | "퀦" | "퀧" | "퀨" | "퀩" | "퀪" | "퀫" | "퀬" | "퀭" | "퀮" | "퀯" | "퀰" | "퀱" | "퀲" | "퀳" | "퉤" | "퉥" | "퉦" | "퉧" | "퉨" | "퉩" | "퉪" | "퉫" | "퉬" | "퉭" | "퉮" | "퉯" | "퉰" | "퉱" | "퉲" | "퉳" | "퉴" | "퉵" | "퉶" | "퉷" | "퉸" | "퉹" | "퉺" | "퉻" | "퉼" | "퉽" | "퉾" | "퉿" | "풰" | "풱" | "풲" | "풳" | "풴" | "풵" | "풶" | "풷" | "풸" | "풹" | "풺" | "풻" | "풼" | "풽" | "풾" | "풿" | "퓀" | "퓁" | "퓂" | "퓃" | "퓄" | "퓅" | "퓆" | "퓇" | "퓈" | "퓉" | "퓊" | "퓋" | "훼" | "훽" | "훾" | "훿" | "휀" | "휁" | "휂" | "휃" | "휄" | "휅" | "휆" | "휇" | "휈" | "휉" | "휊" | "휋" | "휌" | "휍" | "휎" | "휏" | "휐" | "휑" | "휒" | "휓" | "휔" | "휕" | "휖" | "휗") ; + 'all_with_위' : pattern Str = #("귀" | "귁" | "귂" | "귃" | "귄" | "귅" | "귆" | "귇" | "귈" | "귉" | "귊" | "귋" | "귌" | "귍" | "귎" | "귏" | "귐" | "귑" | "귒" | "귓" | "귔" | "귕" | "귖" | "귗" | "귘" | "귙" | "귚" | "귛" | "뀌" | "뀍" | "뀎" | "뀏" | "뀐" | "뀑" | "뀒" | "뀓" | "뀔" | "뀕" | "뀖" | "뀗" | "뀘" | "뀙" | "뀚" | "뀛" | "뀜" | "뀝" | "뀞" | "뀟" | "뀠" | "뀡" | "뀢" | "뀣" | "뀤" | "뀥" | "뀦" | "뀧" | "뉘" | "뉙" | "뉚" | "뉛" | "뉜" | "뉝" | "뉞" | "뉟" | "뉠" | "뉡" | "뉢" | "뉣" | "뉤" | "뉥" | "뉦" | "뉧" | "뉨" | "뉩" | "뉪" | "뉫" | "뉬" | "뉭" | "뉮" | "뉯" | "뉰" | "뉱" | "뉲" | "뉳" | "뒤" | "뒥" | "뒦" | "뒧" | "뒨" | "뒩" | "뒪" | "뒫" | "뒬" | "뒭" | "뒮" | "뒯" | "뒰" | "뒱" | "뒲" | "뒳" | "뒴" | "뒵" | "뒶" | "뒷" | "뒸" | "뒹" | "뒺" | "뒻" | "뒼" | "뒽" | "뒾" | "뒿" | "뛰" | "뛱" | "뛲" | "뛳" | "뛴" | "뛵" | "뛶" | "뛷" | "뛸" | "뛹" | "뛺" | "뛻" | "뛼" | "뛽" | "뛾" | "뛿" | "뜀" | "뜁" | "뜂" | "뜃" | "뜄" | "뜅" | "뜆" | "뜇" | "뜈" | "뜉" | "뜊" | "뜋" | "뤼" | "뤽" | "뤾" | "뤿" | "륀" | "륁" | "륂" | "륃" | "륄" | "륅" | "륆" | "륇" | "륈" | "륉" | "륊" | "륋" | "륌" | "륍" | "륎" | "륏" | "륐" | "륑" | "륒" | "륓" | "륔" | "륕" | "륖" | "륗" | "뮈" | "뮉" | "뮊" | "뮋" | "뮌" | "뮍" | "뮎" | "뮏" | "뮐" | "뮑" | "뮒" | "뮓" | "뮔" | "뮕" | "뮖" | "뮗" | "뮘" | "뮙" | "뮚" | "뮛" | "뮜" | "뮝" | "뮞" | "뮟" | "뮠" | "뮡" | "뮢" | "뮣" | "뷔" | "뷕" | "뷖" | "뷗" | "뷘" | "뷙" | "뷚" | "뷛" | "뷜" | "뷝" | "뷞" | "뷟" | "뷠" | "뷡" | "뷢" | "뷣" | "뷤" | "뷥" | "뷦" | "뷧" | "뷨" | "뷩" | "뷪" | "뷫" | "뷬" | "뷭" | "뷮" | "뷯" | "쀠" | "쀡" | "쀢" | "쀣" | "쀤" | "쀥" | "쀦" | "쀧" | "쀨" | "쀩" | "쀪" | "쀫" | "쀬" | "쀭" | "쀮" | "쀯" | "쀰" | "쀱" | "쀲" | "쀳" | "쀴" | "쀵" | "쀶" | "쀷" | "쀸" | "쀹" | "쀺" | "쀻" | "쉬" | "쉭" | "쉮" | "쉯" | "쉰" | "쉱" | "쉲" | "쉳" | "쉴" | "쉵" | "쉶" | "쉷" | "쉸" | "쉹" | "쉺" | "쉻" | "쉼" | "쉽" | "쉾" | "쉿" | "슀" | "슁" | "슂" | "슃" | "슄" | "슅" | "슆" | "슇" | "쒸" | "쒹" | "쒺" | "쒻" | "쒼" | "쒽" | "쒾" | "쒿" | "쓀" | "쓁" | "쓂" | "쓃" | "쓄" | "쓅" | "쓆" | "쓇" | "쓈" | "쓉" | "쓊" | "쓋" | "쓌" | "쓍" | "쓎" | "쓏" | "쓐" | "쓑" | "쓒" | "쓓" | "위" | "윅" | "윆" | "윇" | "윈" | "윉" | "윊" | "윋" | "윌" | "윍" | "윎" | "윏" | "윐" | "윑" | "윒" | "윓" | "윔" | "윕" | "윖" | "윗" | "윘" | "윙" | "윚" | "윛" | "윜" | "윝" | "윞" | "윟" | "쥐" | "쥑" | "쥒" | "쥓" | "쥔" | "쥕" | "쥖" | "쥗" | "쥘" | "쥙" | "쥚" | "쥛" | "쥜" | "쥝" | "쥞" | "쥟" | "쥠" | "쥡" | "쥢" | "쥣" | "쥤" | "쥥" | "쥦" | "쥧" | "쥨" | "쥩" | "쥪" | "쥫" | "쮜" | "쮝" | "쮞" | "쮟" | "쮠" | "쮡" | "쮢" | "쮣" | "쮤" | "쮥" | "쮦" | "쮧" | "쮨" | "쮩" | "쮪" | "쮫" | "쮬" | "쮭" | "쮮" | "쮯" | "쮰" | "쮱" | "쮲" | "쮳" | "쮴" | "쮵" | "쮶" | "쮷" | "취" | "췩" | "췪" | "췫" | "췬" | "췭" | "췮" | "췯" | "췰" | "췱" | "췲" | "췳" | "췴" | "췵" | "췶" | "췷" | "췸" | "췹" | "췺" | "췻" | "췼" | "췽" | "췾" | "췿" | "츀" | "츁" | "츂" | "츃" | "퀴" | "퀵" | "퀶" | "퀷" | "퀸" | "퀹" | "퀺" | "퀻" | "퀼" | "퀽" | "퀾" | "퀿" | "큀" | "큁" | "큂" | "큃" | "큄" | "큅" | "큆" | "큇" | "큈" | "큉" | "큊" | "큋" | "큌" | "큍" | "큎" | "큏" | "튀" | "튁" | "튂" | "튃" | "튄" | "튅" | "튆" | "튇" | "튈" | "튉" | "튊" | "튋" | "튌" | "튍" | "튎" | "튏" | "튐" | "튑" | "튒" | "튓" | "튔" | "튕" | "튖" | "튗" | "튘" | "튙" | "튚" | "튛" | "퓌" | "퓍" | "퓎" | "퓏" | "퓐" | "퓑" | "퓒" | "퓓" | "퓔" | "퓕" | "퓖" | "퓗" | "퓘" | "퓙" | "퓚" | "퓛" | "퓜" | "퓝" | "퓞" | "퓟" | "퓠" | "퓡" | "퓢" | "퓣" | "퓤" | "퓥" | "퓦" | "퓧" | "휘" | "휙" | "휚" | "휛" | "휜" | "휝" | "휞" | "휟" | "휠" | "휡" | "휢" | "휣" | "휤" | "휥" | "휦" | "휧" | "휨" | "휩" | "휪" | "휫" | "휬" | "휭" | "휮" | "휯" | "휰" | "휱" | "휲" | "휳") ; + 'all_with_유' : pattern Str = #("규" | "귝" | "귞" | "귟" | "균" | "귡" | "귢" | "귣" | "귤" | "귥" | "귦" | "귧" | "귨" | "귩" | "귪" | "귫" | "귬" | "귭" | "귮" | "귯" | "귰" | "귱" | "귲" | "귳" | "귴" | "귵" | "귶" | "귷" | "뀨" | "뀩" | "뀪" | "뀫" | "뀬" | "뀭" | "뀮" | "뀯" | "뀰" | "뀱" | "뀲" | "뀳" | "뀴" | "뀵" | "뀶" | "뀷" | "뀸" | "뀹" | "뀺" | "뀻" | "뀼" | "뀽" | "뀾" | "뀿" | "끀" | "끁" | "끂" | "끃" | "뉴" | "뉵" | "뉶" | "뉷" | "뉸" | "뉹" | "뉺" | "뉻" | "뉼" | "뉽" | "뉾" | "뉿" | "늀" | "늁" | "늂" | "늃" | "늄" | "늅" | "늆" | "늇" | "늈" | "늉" | "늊" | "늋" | "늌" | "늍" | "늎" | "늏" | "듀" | "듁" | "듂" | "듃" | "듄" | "듅" | "듆" | "듇" | "듈" | "듉" | "듊" | "듋" | "듌" | "듍" | "듎" | "듏" | "듐" | "듑" | "듒" | "듓" | "듔" | "듕" | "듖" | "듗" | "듘" | "듙" | "듚" | "듛" | "뜌" | "뜍" | "뜎" | "뜏" | "뜐" | "뜑" | "뜒" | "뜓" | "뜔" | "뜕" | "뜖" | "뜗" | "뜘" | "뜙" | "뜚" | "뜛" | "뜜" | "뜝" | "뜞" | "뜟" | "뜠" | "뜡" | "뜢" | "뜣" | "뜤" | "뜥" | "뜦" | "뜧" | "류" | "륙" | "륚" | "륛" | "륜" | "륝" | "륞" | "륟" | "률" | "륡" | "륢" | "륣" | "륤" | "륥" | "륦" | "륧" | "륨" | "륩" | "륪" | "륫" | "륬" | "륭" | "륮" | "륯" | "륰" | "륱" | "륲" | "륳" | "뮤" | "뮥" | "뮦" | "뮧" | "뮨" | "뮩" | "뮪" | "뮫" | "뮬" | "뮭" | "뮮" | "뮯" | "뮰" | "뮱" | "뮲" | "뮳" | "뮴" | "뮵" | "뮶" | "뮷" | "뮸" | "뮹" | "뮺" | "뮻" | "뮼" | "뮽" | "뮾" | "뮿" | "뷰" | "뷱" | "뷲" | "뷳" | "뷴" | "뷵" | "뷶" | "뷷" | "뷸" | "뷹" | "뷺" | "뷻" | "뷼" | "뷽" | "뷾" | "뷿" | "븀" | "븁" | "븂" | "븃" | "븄" | "븅" | "븆" | "븇" | "븈" | "븉" | "븊" | "븋" | "쀼" | "쀽" | "쀾" | "쀿" | "쁀" | "쁁" | "쁂" | "쁃" | "쁄" | "쁅" | "쁆" | "쁇" | "쁈" | "쁉" | "쁊" | "쁋" | "쁌" | "쁍" | "쁎" | "쁏" | "쁐" | "쁑" | "쁒" | "쁓" | "쁔" | "쁕" | "쁖" | "쁗" | "슈" | "슉" | "슊" | "슋" | "슌" | "슍" | "슎" | "슏" | "슐" | "슑" | "슒" | "슓" | "슔" | "슕" | "슖" | "슗" | "슘" | "슙" | "슚" | "슛" | "슜" | "슝" | "슞" | "슟" | "슠" | "슡" | "슢" | "슣" | "쓔" | "쓕" | "쓖" | "쓗" | "쓘" | "쓙" | "쓚" | "쓛" | "쓜" | "쓝" | "쓞" | "쓟" | "쓠" | "쓡" | "쓢" | "쓣" | "쓤" | "쓥" | "쓦" | "쓧" | "쓨" | "쓩" | "쓪" | "쓫" | "쓬" | "쓭" | "쓮" | "쓯" | "유" | "육" | "윢" | "윣" | "윤" | "윥" | "윦" | "윧" | "율" | "윩" | "윪" | "윫" | "윬" | "윭" | "윮" | "윯" | "윰" | "윱" | "윲" | "윳" | "윴" | "융" | "윶" | "윷" | "윸" | "윹" | "윺" | "윻" | "쥬" | "쥭" | "쥮" | "쥯" | "쥰" | "쥱" | "쥲" | "쥳" | "쥴" | "쥵" | "쥶" | "쥷" | "쥸" | "쥹" | "쥺" | "쥻" | "쥼" | "쥽" | "쥾" | "쥿" | "즀" | "즁" | "즂" | "즃" | "즄" | "즅" | "즆" | "즇" | "쮸" | "쮹" | "쮺" | "쮻" | "쮼" | "쮽" | "쮾" | "쮿" | "쯀" | "쯁" | "쯂" | "쯃" | "쯄" | "쯅" | "쯆" | "쯇" | "쯈" | "쯉" | "쯊" | "쯋" | "쯌" | "쯍" | "쯎" | "쯏" | "쯐" | "쯑" | "쯒" | "쯓" | "츄" | "츅" | "츆" | "츇" | "츈" | "츉" | "츊" | "츋" | "츌" | "츍" | "츎" | "츏" | "츐" | "츑" | "츒" | "츓" | "츔" | "츕" | "츖" | "츗" | "츘" | "츙" | "츚" | "츛" | "츜" | "츝" | "츞" | "츟" | "큐" | "큑" | "큒" | "큓" | "큔" | "큕" | "큖" | "큗" | "큘" | "큙" | "큚" | "큛" | "큜" | "큝" | "큞" | "큟" | "큠" | "큡" | "큢" | "큣" | "큤" | "큥" | "큦" | "큧" | "큨" | "큩" | "큪" | "큫" | "튜" | "튝" | "튞" | "튟" | "튠" | "튡" | "튢" | "튣" | "튤" | "튥" | "튦" | "튧" | "튨" | "튩" | "튪" | "튫" | "튬" | "튭" | "튮" | "튯" | "튰" | "튱" | "튲" | "튳" | "튴" | "튵" | "튶" | "튷" | "퓨" | "퓩" | "퓪" | "퓫" | "퓬" | "퓭" | "퓮" | "퓯" | "퓰" | "퓱" | "퓲" | "퓳" | "퓴" | "퓵" | "퓶" | "퓷" | "퓸" | "퓹" | "퓺" | "퓻" | "퓼" | "퓽" | "퓾" | "퓿" | "픀" | "픁" | "픂" | "픃" | "휴" | "휵" | "휶" | "휷" | "휸" | "휹" | "휺" | "휻" | "휼" | "휽" | "휾" | "휿" | "흀" | "흁" | "흂" | "흃" | "흄" | "흅" | "흆" | "흇" | "흈" | "흉" | "흊" | "흋" | "흌" | "흍" | "흎" | "흏") ; + 'all_with_으' : pattern Str = #("그" | "극" | "귺" | "귻" | "근" | "귽" | "귾" | "귿" | "글" | "긁" | "긂" | "긃" | "긄" | "긅" | "긆" | "긇" | "금" | "급" | "긊" | "긋" | "긌" | "긍" | "긎" | "긏" | "긐" | "긑" | "긒" | "긓" | "끄" | "끅" | "끆" | "끇" | "끈" | "끉" | "끊" | "끋" | "끌" | "끍" | "끎" | "끏" | "끐" | "끑" | "끒" | "끓" | "끔" | "끕" | "끖" | "끗" | "끘" | "끙" | "끚" | "끛" | "끜" | "끝" | "끞" | "끟" | "느" | "늑" | "늒" | "늓" | "는" | "늕" | "늖" | "늗" | "늘" | "늙" | "늚" | "늛" | "늜" | "늝" | "늞" | "늟" | "늠" | "늡" | "늢" | "늣" | "늤" | "능" | "늦" | "늧" | "늨" | "늩" | "늪" | "늫" | "드" | "득" | "듞" | "듟" | "든" | "듡" | "듢" | "듣" | "들" | "듥" | "듦" | "듧" | "듨" | "듩" | "듪" | "듫" | "듬" | "듭" | "듮" | "듯" | "듰" | "등" | "듲" | "듳" | "듴" | "듵" | "듶" | "듷" | "뜨" | "뜩" | "뜪" | "뜫" | "뜬" | "뜭" | "뜮" | "뜯" | "뜰" | "뜱" | "뜲" | "뜳" | "뜴" | "뜵" | "뜶" | "뜷" | "뜸" | "뜹" | "뜺" | "뜻" | "뜼" | "뜽" | "뜾" | "뜿" | "띀" | "띁" | "띂" | "띃" | "르" | "륵" | "륶" | "륷" | "른" | "륹" | "륺" | "륻" | "를" | "륽" | "륾" | "륿" | "릀" | "릁" | "릂" | "릃" | "름" | "릅" | "릆" | "릇" | "릈" | "릉" | "릊" | "릋" | "릌" | "릍" | "릎" | "릏" | "므" | "믁" | "믂" | "믃" | "믄" | "믅" | "믆" | "믇" | "믈" | "믉" | "믊" | "믋" | "믌" | "믍" | "믎" | "믏" | "믐" | "믑" | "믒" | "믓" | "믔" | "믕" | "믖" | "믗" | "믘" | "믙" | "믚" | "믛" | "브" | "븍" | "븎" | "븏" | "븐" | "븑" | "븒" | "븓" | "블" | "븕" | "븖" | "븗" | "븘" | "븙" | "븚" | "븛" | "븜" | "븝" | "븞" | "븟" | "븠" | "븡" | "븢" | "븣" | "븤" | "븥" | "븦" | "븧" | "쁘" | "쁙" | "쁚" | "쁛" | "쁜" | "쁝" | "쁞" | "쁟" | "쁠" | "쁡" | "쁢" | "쁣" | "쁤" | "쁥" | "쁦" | "쁧" | "쁨" | "쁩" | "쁪" | "쁫" | "쁬" | "쁭" | "쁮" | "쁯" | "쁰" | "쁱" | "쁲" | "쁳" | "스" | "슥" | "슦" | "슧" | "슨" | "슩" | "슪" | "슫" | "슬" | "슭" | "슮" | "슯" | "슰" | "슱" | "슲" | "슳" | "슴" | "습" | "슶" | "슷" | "슸" | "승" | "슺" | "슻" | "슼" | "슽" | "슾" | "슿" | "쓰" | "쓱" | "쓲" | "쓳" | "쓴" | "쓵" | "쓶" | "쓷" | "쓸" | "쓹" | "쓺" | "쓻" | "쓼" | "쓽" | "쓾" | "쓿" | "씀" | "씁" | "씂" | "씃" | "씄" | "씅" | "씆" | "씇" | "씈" | "씉" | "씊" | "씋" | "으" | "윽" | "윾" | "윿" | "은" | "읁" | "읂" | "읃" | "을" | "읅" | "읆" | "읇" | "읈" | "읉" | "읊" | "읋" | "음" | "읍" | "읎" | "읏" | "읐" | "응" | "읒" | "읓" | "읔" | "읕" | "읖" | "읗" | "즈" | "즉" | "즊" | "즋" | "즌" | "즍" | "즎" | "즏" | "즐" | "즑" | "즒" | "즓" | "즔" | "즕" | "즖" | "즗" | "즘" | "즙" | "즚" | "즛" | "즜" | "증" | "즞" | "즟" | "즠" | "즡" | "즢" | "즣" | "쯔" | "쯕" | "쯖" | "쯗" | "쯘" | "쯙" | "쯚" | "쯛" | "쯜" | "쯝" | "쯞" | "쯟" | "쯠" | "쯡" | "쯢" | "쯣" | "쯤" | "쯥" | "쯦" | "쯧" | "쯨" | "쯩" | "쯪" | "쯫" | "쯬" | "쯭" | "쯮" | "쯯" | "츠" | "측" | "츢" | "츣" | "츤" | "츥" | "츦" | "츧" | "츨" | "츩" | "츪" | "츫" | "츬" | "츭" | "츮" | "츯" | "츰" | "츱" | "츲" | "츳" | "츴" | "층" | "츶" | "츷" | "츸" | "츹" | "츺" | "츻" | "크" | "큭" | "큮" | "큯" | "큰" | "큱" | "큲" | "큳" | "클" | "큵" | "큶" | "큷" | "큸" | "큹" | "큺" | "큻" | "큼" | "큽" | "큾" | "큿" | "킀" | "킁" | "킂" | "킃" | "킄" | "킅" | "킆" | "킇" | "트" | "특" | "튺" | "튻" | "튼" | "튽" | "튾" | "튿" | "틀" | "틁" | "틂" | "틃" | "틄" | "틅" | "틆" | "틇" | "틈" | "틉" | "틊" | "틋" | "틌" | "틍" | "틎" | "틏" | "틐" | "틑" | "틒" | "틓" | "프" | "픅" | "픆" | "픇" | "픈" | "픉" | "픊" | "픋" | "플" | "픍" | "픎" | "픏" | "픐" | "픑" | "픒" | "픓" | "픔" | "픕" | "픖" | "픗" | "픘" | "픙" | "픚" | "픛" | "픜" | "픝" | "픞" | "픟" | "흐" | "흑" | "흒" | "흓" | "흔" | "흕" | "흖" | "흗" | "흘" | "흙" | "흚" | "흛" | "흜" | "흝" | "흞" | "흟" | "흠" | "흡" | "흢" | "흣" | "흤" | "흥" | "흦" | "흧" | "흨" | "흩" | "흪" | "흫") ; + 'all_with_의' : pattern Str = #("긔" | "긕" | "긖" | "긗" | "긘" | "긙" | "긚" | "긛" | "긜" | "긝" | "긞" | "긟" | "긠" | "긡" | "긢" | "긣" | "긤" | "긥" | "긦" | "긧" | "긨" | "긩" | "긪" | "긫" | "긬" | "긭" | "긮" | "긯" | "끠" | "끡" | "끢" | "끣" | "끤" | "끥" | "끦" | "끧" | "끨" | "끩" | "끪" | "끫" | "끬" | "끭" | "끮" | "끯" | "끰" | "끱" | "끲" | "끳" | "끴" | "끵" | "끶" | "끷" | "끸" | "끹" | "끺" | "끻" | "늬" | "늭" | "늮" | "늯" | "늰" | "늱" | "늲" | "늳" | "늴" | "늵" | "늶" | "늷" | "늸" | "늹" | "늺" | "늻" | "늼" | "늽" | "늾" | "늿" | "닀" | "닁" | "닂" | "닃" | "닄" | "닅" | "닆" | "닇" | "듸" | "듹" | "듺" | "듻" | "듼" | "듽" | "듾" | "듿" | "딀" | "딁" | "딂" | "딃" | "딄" | "딅" | "딆" | "딇" | "딈" | "딉" | "딊" | "딋" | "딌" | "딍" | "딎" | "딏" | "딐" | "딑" | "딒" | "딓" | "띄" | "띅" | "띆" | "띇" | "띈" | "띉" | "띊" | "띋" | "띌" | "띍" | "띎" | "띏" | "띐" | "띑" | "띒" | "띓" | "띔" | "띕" | "띖" | "띗" | "띘" | "띙" | "띚" | "띛" | "띜" | "띝" | "띞" | "띟" | "릐" | "릑" | "릒" | "릓" | "릔" | "릕" | "릖" | "릗" | "릘" | "릙" | "릚" | "릛" | "릜" | "릝" | "릞" | "릟" | "릠" | "릡" | "릢" | "릣" | "릤" | "릥" | "릦" | "릧" | "릨" | "릩" | "릪" | "릫" | "믜" | "믝" | "믞" | "믟" | "믠" | "믡" | "믢" | "믣" | "믤" | "믥" | "믦" | "믧" | "믨" | "믩" | "믪" | "믫" | "믬" | "믭" | "믮" | "믯" | "믰" | "믱" | "믲" | "믳" | "믴" | "믵" | "믶" | "믷" | "븨" | "븩" | "븪" | "븫" | "븬" | "븭" | "븮" | "븯" | "븰" | "븱" | "븲" | "븳" | "븴" | "븵" | "븶" | "븷" | "븸" | "븹" | "븺" | "븻" | "븼" | "븽" | "븾" | "븿" | "빀" | "빁" | "빂" | "빃" | "쁴" | "쁵" | "쁶" | "쁷" | "쁸" | "쁹" | "쁺" | "쁻" | "쁼" | "쁽" | "쁾" | "쁿" | "삀" | "삁" | "삂" | "삃" | "삄" | "삅" | "삆" | "삇" | "삈" | "삉" | "삊" | "삋" | "삌" | "삍" | "삎" | "삏" | "싀" | "싁" | "싂" | "싃" | "싄" | "싅" | "싆" | "싇" | "싈" | "싉" | "싊" | "싋" | "싌" | "싍" | "싎" | "싏" | "싐" | "싑" | "싒" | "싓" | "싔" | "싕" | "싖" | "싗" | "싘" | "싙" | "싚" | "싛" | "씌" | "씍" | "씎" | "씏" | "씐" | "씑" | "씒" | "씓" | "씔" | "씕" | "씖" | "씗" | "씘" | "씙" | "씚" | "씛" | "씜" | "씝" | "씞" | "씟" | "씠" | "씡" | "씢" | "씣" | "씤" | "씥" | "씦" | "씧" | "의" | "읙" | "읚" | "읛" | "읜" | "읝" | "읞" | "읟" | "읠" | "읡" | "읢" | "읣" | "읤" | "읥" | "읦" | "읧" | "읨" | "읩" | "읪" | "읫" | "읬" | "읭" | "읮" | "읯" | "읰" | "읱" | "읲" | "읳" | "즤" | "즥" | "즦" | "즧" | "즨" | "즩" | "즪" | "즫" | "즬" | "즭" | "즮" | "즯" | "즰" | "즱" | "즲" | "즳" | "즴" | "즵" | "즶" | "즷" | "즸" | "즹" | "즺" | "즻" | "즼" | "즽" | "즾" | "즿" | "쯰" | "쯱" | "쯲" | "쯳" | "쯴" | "쯵" | "쯶" | "쯷" | "쯸" | "쯹" | "쯺" | "쯻" | "쯼" | "쯽" | "쯾" | "쯿" | "찀" | "찁" | "찂" | "찃" | "찄" | "찅" | "찆" | "찇" | "찈" | "찉" | "찊" | "찋" | "츼" | "츽" | "츾" | "츿" | "칀" | "칁" | "칂" | "칃" | "칄" | "칅" | "칆" | "칇" | "칈" | "칉" | "칊" | "칋" | "칌" | "칍" | "칎" | "칏" | "칐" | "칑" | "칒" | "칓" | "칔" | "칕" | "칖" | "칗" | "킈" | "킉" | "킊" | "킋" | "킌" | "킍" | "킎" | "킏" | "킐" | "킑" | "킒" | "킓" | "킔" | "킕" | "킖" | "킗" | "킘" | "킙" | "킚" | "킛" | "킜" | "킝" | "킞" | "킟" | "킠" | "킡" | "킢" | "킣" | "틔" | "틕" | "틖" | "틗" | "틘" | "틙" | "틚" | "틛" | "틜" | "틝" | "틞" | "틟" | "틠" | "틡" | "틢" | "틣" | "틤" | "틥" | "틦" | "틧" | "틨" | "틩" | "틪" | "틫" | "틬" | "틭" | "틮" | "틯" | "픠" | "픡" | "픢" | "픣" | "픤" | "픥" | "픦" | "픧" | "픨" | "픩" | "픪" | "픫" | "픬" | "픭" | "픮" | "픯" | "픰" | "픱" | "픲" | "픳" | "픴" | "픵" | "픶" | "픷" | "픸" | "픹" | "픺" | "픻" | "희" | "흭" | "흮" | "흯" | "흰" | "흱" | "흲" | "흳" | "흴" | "흵" | "흶" | "흷" | "흸" | "흹" | "흺" | "흻" | "흼" | "흽" | "흾" | "흿" | "힀" | "힁" | "힂" | "힃" | "힄" | "힅" | "힆" | "힇") ; + 'all_with_이' : pattern Str = #("기" | "긱" | "긲" | "긳" | "긴" | "긵" | "긶" | "긷" | "길" | "긹" | "긺" | "긻" | "긼" | "긽" | "긾" | "긿" | "김" | "깁" | "깂" | "깃" | "깄" | "깅" | "깆" | "깇" | "깈" | "깉" | "깊" | "깋" | "끼" | "끽" | "끾" | "끿" | "낀" | "낁" | "낂" | "낃" | "낄" | "낅" | "낆" | "낇" | "낈" | "낉" | "낊" | "낋" | "낌" | "낍" | "낎" | "낏" | "낐" | "낑" | "낒" | "낓" | "낔" | "낕" | "낖" | "낗" | "니" | "닉" | "닊" | "닋" | "닌" | "닍" | "닎" | "닏" | "닐" | "닑" | "닒" | "닓" | "닔" | "닕" | "닖" | "닗" | "님" | "닙" | "닚" | "닛" | "닜" | "닝" | "닞" | "닟" | "닠" | "닡" | "닢" | "닣" | "디" | "딕" | "딖" | "딗" | "딘" | "딙" | "딚" | "딛" | "딜" | "딝" | "딞" | "딟" | "딠" | "딡" | "딢" | "딣" | "딤" | "딥" | "딦" | "딧" | "딨" | "딩" | "딪" | "딫" | "딬" | "딭" | "딮" | "딯" | "띠" | "띡" | "띢" | "띣" | "띤" | "띥" | "띦" | "띧" | "띨" | "띩" | "띪" | "띫" | "띬" | "띭" | "띮" | "띯" | "띰" | "띱" | "띲" | "띳" | "띴" | "띵" | "띶" | "띷" | "띸" | "띹" | "띺" | "띻" | "리" | "릭" | "릮" | "릯" | "린" | "릱" | "릲" | "릳" | "릴" | "릵" | "릶" | "릷" | "릸" | "릹" | "릺" | "릻" | "림" | "립" | "릾" | "릿" | "맀" | "링" | "맂" | "맃" | "맄" | "맅" | "맆" | "맇" | "미" | "믹" | "믺" | "믻" | "민" | "믽" | "믾" | "믿" | "밀" | "밁" | "밂" | "밃" | "밄" | "밅" | "밆" | "밇" | "밈" | "밉" | "밊" | "밋" | "밌" | "밍" | "밎" | "및" | "밐" | "밑" | "밒" | "밓" | "비" | "빅" | "빆" | "빇" | "빈" | "빉" | "빊" | "빋" | "빌" | "빍" | "빎" | "빏" | "빐" | "빑" | "빒" | "빓" | "빔" | "빕" | "빖" | "빗" | "빘" | "빙" | "빚" | "빛" | "빜" | "빝" | "빞" | "빟" | "삐" | "삑" | "삒" | "삓" | "삔" | "삕" | "삖" | "삗" | "삘" | "삙" | "삚" | "삛" | "삜" | "삝" | "삞" | "삟" | "삠" | "삡" | "삢" | "삣" | "삤" | "삥" | "삦" | "삧" | "삨" | "삩" | "삪" | "삫" | "시" | "식" | "싞" | "싟" | "신" | "싡" | "싢" | "싣" | "실" | "싥" | "싦" | "싧" | "싨" | "싩" | "싪" | "싫" | "심" | "십" | "싮" | "싯" | "싰" | "싱" | "싲" | "싳" | "싴" | "싵" | "싶" | "싷" | "씨" | "씩" | "씪" | "씫" | "씬" | "씭" | "씮" | "씯" | "씰" | "씱" | "씲" | "씳" | "씴" | "씵" | "씶" | "씷" | "씸" | "씹" | "씺" | "씻" | "씼" | "씽" | "씾" | "씿" | "앀" | "앁" | "앂" | "앃" | "이" | "익" | "읶" | "읷" | "인" | "읹" | "읺" | "읻" | "일" | "읽" | "읾" | "읿" | "잀" | "잁" | "잂" | "잃" | "임" | "입" | "잆" | "잇" | "있" | "잉" | "잊" | "잋" | "잌" | "잍" | "잎" | "잏" | "지" | "직" | "짂" | "짃" | "진" | "짅" | "짆" | "짇" | "질" | "짉" | "짊" | "짋" | "짌" | "짍" | "짎" | "짏" | "짐" | "집" | "짒" | "짓" | "짔" | "징" | "짖" | "짗" | "짘" | "짙" | "짚" | "짛" | "찌" | "찍" | "찎" | "찏" | "찐" | "찑" | "찒" | "찓" | "찔" | "찕" | "찖" | "찗" | "찘" | "찙" | "찚" | "찛" | "찜" | "찝" | "찞" | "찟" | "찠" | "찡" | "찢" | "찣" | "찤" | "찥" | "찦" | "찧" | "치" | "칙" | "칚" | "칛" | "친" | "칝" | "칞" | "칟" | "칠" | "칡" | "칢" | "칣" | "칤" | "칥" | "칦" | "칧" | "침" | "칩" | "칪" | "칫" | "칬" | "칭" | "칮" | "칯" | "칰" | "칱" | "칲" | "칳" | "키" | "킥" | "킦" | "킧" | "킨" | "킩" | "킪" | "킫" | "킬" | "킭" | "킮" | "킯" | "킰" | "킱" | "킲" | "킳" | "킴" | "킵" | "킶" | "킷" | "킸" | "킹" | "킺" | "킻" | "킼" | "킽" | "킾" | "킿" | "티" | "틱" | "틲" | "틳" | "틴" | "틵" | "틶" | "틷" | "틸" | "틹" | "틺" | "틻" | "틼" | "틽" | "틾" | "틿" | "팀" | "팁" | "팂" | "팃" | "팄" | "팅" | "팆" | "팇" | "팈" | "팉" | "팊" | "팋" | "피" | "픽" | "픾" | "픿" | "핀" | "핁" | "핂" | "핃" | "필" | "핅" | "핆" | "핇" | "핈" | "핉" | "핊" | "핋" | "핌" | "핍" | "핎" | "핏" | "핐" | "핑" | "핒" | "핓" | "핔" | "핕" | "핖" | "핗" | "히" | "힉" | "힊" | "힋" | "힌" | "힍" | "힎" | "힏" | "힐" | "힑" | "힒" | "힓" | "힔" | "힕" | "힖" | "힗" | "힘" | "힙" | "힚" | "힛" | "힜" | "힝" | "힞" | "힟" | "힠" | "힡" | "힢" | "힣") ; + + -- End or middle vowel is ㅏ, ㅑ, ㅗ, ㅘ or ㅛ + a_o : pattern Str = #("가" | "갸" | "고" | "과" | "교" | "각" | "갹" | "곡" | "곽" | "굑" | "갂" | "갺" | "곢" | "곾" | "굒" | "갃" | "갻" | "곣" | "곿" | "굓" | "간" | "갼" | "곤" | "관" | "굔" | "갅" | "갽" | "곥" | "괁" | "굕" | "갆" | "갾" | "곦" | "괂" | "굖" | "갇" | "갿" | "곧" | "괃" | "굗" | "갈" | "걀" | "골" | "괄" | "굘" | "갉" | "걁" | "곩" | "괅" | "굙" | "갊" | "걂" | "곪" | "괆" | "굚" | "갋" | "걃" | "곫" | "괇" | "굛" | "갌" | "걄" | "곬" | "괈" | "굜" | "갍" | "걅" | "곭" | "괉" | "굝" | "갎" | "걆" | "곮" | "괊" | "굞" | "갏" | "걇" | "곯" | "괋" | "굟" | "감" | "걈" | "곰" | "괌" | "굠" | "갑" | "걉" | "곱" | "괍" | "굡" | "값" | "걊" | "곲" | "괎" | "굢" | "갓" | "걋" | "곳" | "괏" | "굣" | "갔" | "걌" | "곴" | "괐" | "굤" | "강" | "걍" | "공" | "광" | "굥" | "갖" | "걎" | "곶" | "괒" | "굦" | "갗" | "걏" | "곷" | "괓" | "굧" | "갘" | "걐" | "곸" | "괔" | "굨" | "같" | "걑" | "곹" | "괕" | "굩" | "갚" | "걒" | "곺" | "괖" | "굪" | "갛" | "걓" | "곻" | "괗" | "굫" + | "까" | "꺄" | "꼬" | "꽈" | "꾜" | "깍" | "꺅" | "꼭" | "꽉" | "꾝" | "깎" | "꺆" | "꼮" | "꽊" | "꾞" | "깏" | "꺇" | "꼯" | "꽋" | "꾟" | "깐" | "꺈" | "꼰" | "꽌" | "꾠" | "깑" | "꺉" | "꼱" | "꽍" | "꾡" | "깒" | "꺊" | "꼲" | "꽎" | "꾢" | "깓" | "꺋" | "꼳" | "꽏" | "꾣" | "깔" | "꺌" | "꼴" | "꽐" | "꾤" | "깕" | "꺍" | "꼵" | "꽑" | "꾥" | "깖" | "꺎" | "꼶" | "꽒" | "꾦" | "깗" | "꺏" | "꼷" | "꽓" | "꾧" | "깘" | "꺐" | "꼸" | "꽔" | "꾨" | "깙" | "꺑" | "꼹" | "꽕" | "꾩" | "깚" | "꺒" | "꼺" | "꽖" | "꾪" | "깛" | "꺓" | "꼻" | "꽗" | "꾫" | "깜" | "꺔" | "꼼" | "꽘" | "꾬" | "깝" | "꺕" | "꼽" | "꽙" | "꾭" | "깞" | "꺖" | "꼾" | "꽚" | "꾮" | "깟" | "꺗" | "꼿" | "꽛" | "꾯" | "깠" | "꺘" | "꽀" | "꽜" | "꾰" | "깡" | "꺙" | "꽁" | "꽝" | "꾱" | "깢" | "꺚" | "꽂" | "꽞" | "꾲" | "깣" | "꺛" | "꽃" | "꽟" | "꾳" | "깤" | "꺜" | "꽄" | "꽠" | "꾴" | "깥" | "꺝" | "꽅" | "꽡" | "꾵" | "깦" | "꺞" | "꽆" | "꽢" | "꾶" | "깧" | "꺟" | "꽇" | "꽣" | "꾷" + | "나" | "냐" | "노" | "놔" | "뇨" | "낙" | "냑" | "녹" | "놕" | "뇩" | "낚" | "냒" | "녺" | "놖" | "뇪" | "낛" | "냓" | "녻" | "놗" | "뇫" | "난" | "냔" | "논" | "놘" | "뇬" | "낝" | "냕" | "녽" | "놙" | "뇭" | "낞" | "냖" | "녾" | "놚" | "뇮" | "낟" | "냗" | "녿" | "놛" | "뇯" | "날" | "냘" | "놀" | "놜" | "뇰" | "낡" | "냙" | "놁" | "놝" | "뇱" | "낢" | "냚" | "놂" | "놞" | "뇲" | "낣" | "냛" | "놃" | "놟" | "뇳" | "낤" | "냜" | "놄" | "놠" | "뇴" | "낥" | "냝" | "놅" | "놡" | "뇵" | "낦" | "냞" | "놆" | "놢" | "뇶" | "낧" | "냟" | "놇" | "놣" | "뇷" | "남" | "냠" | "놈" | "놤" | "뇸" | "납" | "냡" | "놉" | "놥" | "뇹" | "낪" | "냢" | "놊" | "놦" | "뇺" | "낫" | "냣" | "놋" | "놧" | "뇻" | "났" | "냤" | "놌" | "놨" | "뇼" | "낭" | "냥" | "농" | "놩" | "뇽" | "낮" | "냦" | "놎" | "놪" | "뇾" | "낯" | "냧" | "놏" | "놫" | "뇿" | "낰" | "냨" | "놐" | "놬" | "눀" | "낱" | "냩" | "놑" | "놭" | "눁" | "낲" | "냪" | "높" | "놮" | "눂" | "낳" | "냫" | "놓" | "놯" | "눃" + | "다" | "댜" | "도" | "돠" | "됴" | "닥" | "댝" | "독" | "돡" | "됵" | "닦" | "댞" | "돆" | "돢" | "됶" | "닧" | "댟" | "돇" | "돣" | "됷" | "단" | "댠" | "돈" | "돤" | "됸" | "닩" | "댡" | "돉" | "돥" | "됹" | "닪" | "댢" | "돊" | "돦" | "됺" | "닫" | "댣" | "돋" | "돧" | "됻" | "달" | "댤" | "돌" | "돨" | "됼" | "닭" | "댥" | "돍" | "돩" | "됽" | "닮" | "댦" | "돎" | "돪" | "됾" | "닯" | "댧" | "돏" | "돫" | "됿" | "닰" | "댨" | "돐" | "돬" | "둀" | "닱" | "댩" | "돑" | "돭" | "둁" | "닲" | "댪" | "돒" | "돮" | "둂" | "닳" | "댫" | "돓" | "돯" | "둃" | "담" | "댬" | "돔" | "돰" | "둄" | "답" | "댭" | "돕" | "돱" | "둅" | "닶" | "댮" | "돖" | "돲" | "둆" | "닷" | "댯" | "돗" | "돳" | "둇" | "닸" | "댰" | "돘" | "돴" | "둈" | "당" | "댱" | "동" | "돵" | "둉" | "닺" | "댲" | "돚" | "돶" | "둊" | "닻" | "댳" | "돛" | "돷" | "둋" | "닼" | "댴" | "돜" | "돸" | "둌" | "닽" | "댵" | "돝" | "돹" | "둍" | "닾" | "댶" | "돞" | "돺" | "둎" | "닿" | "댷" | "돟" | "돻" | "둏" + | "따" | "땨" | "또" | "똬" | "뚀" | "딱" | "땩" | "똑" | "똭" | "뚁" | "딲" | "땪" | "똒" | "똮" | "뚂" | "딳" | "땫" | "똓" | "똯" | "뚃" | "딴" | "땬" | "똔" | "똰" | "뚄" | "딵" | "땭" | "똕" | "똱" | "뚅" | "딶" | "땮" | "똖" | "똲" | "뚆" | "딷" | "땯" | "똗" | "똳" | "뚇" | "딸" | "땰" | "똘" | "똴" | "뚈" | "딹" | "땱" | "똙" | "똵" | "뚉" | "딺" | "땲" | "똚" | "똶" | "뚊" | "딻" | "땳" | "똛" | "똷" | "뚋" | "딼" | "땴" | "똜" | "똸" | "뚌" | "딽" | "땵" | "똝" | "똹" | "뚍" | "딾" | "땶" | "똞" | "똺" | "뚎" | "딿" | "땷" | "똟" | "똻" | "뚏" | "땀" | "땸" | "똠" | "똼" | "뚐" | "땁" | "땹" | "똡" | "똽" | "뚑" | "땂" | "땺" | "똢" | "똾" | "뚒" | "땃" | "땻" | "똣" | "똿" | "뚓" | "땄" | "땼" | "똤" | "뙀" | "뚔" | "땅" | "땽" | "똥" | "뙁" | "뚕" | "땆" | "땾" | "똦" | "뙂" | "뚖" | "땇" | "땿" | "똧" | "뙃" | "뚗" | "땈" | "떀" | "똨" | "뙄" | "뚘" | "땉" | "떁" | "똩" | "뙅" | "뚙" | "땊" | "떂" | "똪" | "뙆" | "뚚" | "땋" | "떃" | "똫" | "뙇" | "뚛" + | "라" | "랴" | "로" | "롸" | "료" | "락" | "략" | "록" | "롹" | "룍" | "띾" | "랶" | "롞" | "롺" | "룎" | "띿" | "랷" | "롟" | "롻" | "룏" | "란" | "랸" | "론" | "롼" | "룐" | "랁" | "랹" | "롡" | "롽" | "룑" | "랂" | "랺" | "롢" | "롾" | "룒" | "랃" | "랻" | "롣" | "롿" | "룓" | "랄" | "랼" | "롤" | "뢀" | "룔" | "랅" | "랽" | "롥" | "뢁" | "룕" | "랆" | "랾" | "롦" | "뢂" | "룖" | "랇" | "랿" | "롧" | "뢃" | "룗" | "랈" | "럀" | "롨" | "뢄" | "룘" | "랉" | "럁" | "롩" | "뢅" | "룙" | "랊" | "럂" | "롪" | "뢆" | "룚" | "랋" | "럃" | "롫" | "뢇" | "룛" | "람" | "럄" | "롬" | "뢈" | "룜" | "랍" | "럅" | "롭" | "뢉" | "룝" | "랎" | "럆" | "롮" | "뢊" | "룞" | "랏" | "럇" | "롯" | "뢋" | "룟" | "랐" | "럈" | "롰" | "뢌" | "룠" | "랑" | "량" | "롱" | "뢍" | "룡" | "랒" | "럊" | "롲" | "뢎" | "룢" | "랓" | "럋" | "롳" | "뢏" | "룣" | "랔" | "럌" | "롴" | "뢐" | "룤" | "랕" | "럍" | "롵" | "뢑" | "룥" | "랖" | "럎" | "롶" | "뢒" | "룦" | "랗" | "럏" | "롷" | "뢓" | "룧" + | "마" | "먀" | "모" | "뫄" | "묘" | "막" | "먁" | "목" | "뫅" | "묙" | "맊" | "먂" | "몪" | "뫆" | "묚" | "맋" | "먃" | "몫" | "뫇" | "묛" | "만" | "먄" | "몬" | "뫈" | "묜" | "맍" | "먅" | "몭" | "뫉" | "묝" | "많" | "먆" | "몮" | "뫊" | "묞" | "맏" | "먇" | "몯" | "뫋" | "묟" | "말" | "먈" | "몰" | "뫌" | "묠" | "맑" | "먉" | "몱" | "뫍" | "묡" | "맒" | "먊" | "몲" | "뫎" | "묢" | "맓" | "먋" | "몳" | "뫏" | "묣" | "맔" | "먌" | "몴" | "뫐" | "묤" | "맕" | "먍" | "몵" | "뫑" | "묥" | "맖" | "먎" | "몶" | "뫒" | "묦" | "맗" | "먏" | "몷" | "뫓" | "묧" | "맘" | "먐" | "몸" | "뫔" | "묨" | "맙" | "먑" | "몹" | "뫕" | "묩" | "맚" | "먒" | "몺" | "뫖" | "묪" | "맛" | "먓" | "못" | "뫗" | "묫" | "맜" | "먔" | "몼" | "뫘" | "묬" | "망" | "먕" | "몽" | "뫙" | "묭" | "맞" | "먖" | "몾" | "뫚" | "묮" | "맟" | "먗" | "몿" | "뫛" | "묯" | "맠" | "먘" | "뫀" | "뫜" | "묰" | "맡" | "먙" | "뫁" | "뫝" | "묱" | "맢" | "먚" | "뫂" | "뫞" | "묲" | "맣" | "먛" | "뫃" | "뫟" | "묳" + | "바" | "뱌" | "보" | "봐" | "뵤" | "박" | "뱍" | "복" | "봑" | "뵥" | "밖" | "뱎" | "볶" | "봒" | "뵦" | "밗" | "뱏" | "볷" | "봓" | "뵧" | "반" | "뱐" | "본" | "봔" | "뵨" | "밙" | "뱑" | "볹" | "봕" | "뵩" | "밚" | "뱒" | "볺" | "봖" | "뵪" | "받" | "뱓" | "볻" | "봗" | "뵫" | "발" | "뱔" | "볼" | "봘" | "뵬" | "밝" | "뱕" | "볽" | "봙" | "뵭" | "밞" | "뱖" | "볾" | "봚" | "뵮" | "밟" | "뱗" | "볿" | "봛" | "뵯" | "밠" | "뱘" | "봀" | "봜" | "뵰" | "밡" | "뱙" | "봁" | "봝" | "뵱" | "밢" | "뱚" | "봂" | "봞" | "뵲" | "밣" | "뱛" | "봃" | "봟" | "뵳" | "밤" | "뱜" | "봄" | "봠" | "뵴" | "밥" | "뱝" | "봅" | "봡" | "뵵" | "밦" | "뱞" | "봆" | "봢" | "뵶" | "밧" | "뱟" | "봇" | "봣" | "뵷" | "밨" | "뱠" | "봈" | "봤" | "뵸" | "방" | "뱡" | "봉" | "봥" | "뵹" | "밪" | "뱢" | "봊" | "봦" | "뵺" | "밫" | "뱣" | "봋" | "봧" | "뵻" | "밬" | "뱤" | "봌" | "봨" | "뵼" | "밭" | "뱥" | "봍" | "봩" | "뵽" | "밮" | "뱦" | "봎" | "봪" | "뵾" | "밯" | "뱧" | "봏" | "봫" | "뵿" + | "빠" | "뺘" | "뽀" | "뽜" | "뾰" | "빡" | "뺙" | "뽁" | "뽝" | "뾱" | "빢" | "뺚" | "뽂" | "뽞" | "뾲" | "빣" | "뺛" | "뽃" | "뽟" | "뾳" | "빤" | "뺜" | "뽄" | "뽠" | "뾴" | "빥" | "뺝" | "뽅" | "뽡" | "뾵" | "빦" | "뺞" | "뽆" | "뽢" | "뾶" | "빧" | "뺟" | "뽇" | "뽣" | "뾷" | "빨" | "뺠" | "뽈" | "뽤" | "뾸" | "빩" | "뺡" | "뽉" | "뽥" | "뾹" | "빪" | "뺢" | "뽊" | "뽦" | "뾺" | "빫" | "뺣" | "뽋" | "뽧" | "뾻" | "빬" | "뺤" | "뽌" | "뽨" | "뾼" | "빭" | "뺥" | "뽍" | "뽩" | "뾽" | "빮" | "뺦" | "뽎" | "뽪" | "뾾" | "빯" | "뺧" | "뽏" | "뽫" | "뾿" | "빰" | "뺨" | "뽐" | "뽬" | "뿀" | "빱" | "뺩" | "뽑" | "뽭" | "뿁" | "빲" | "뺪" | "뽒" | "뽮" | "뿂" | "빳" | "뺫" | "뽓" | "뽯" | "뿃" | "빴" | "뺬" | "뽔" | "뽰" | "뿄" | "빵" | "뺭" | "뽕" | "뽱" | "뿅" | "빶" | "뺮" | "뽖" | "뽲" | "뿆" | "빷" | "뺯" | "뽗" | "뽳" | "뿇" | "빸" | "뺰" | "뽘" | "뽴" | "뿈" | "빹" | "뺱" | "뽙" | "뽵" | "뿉" | "빺" | "뺲" | "뽚" | "뽶" | "뿊" | "빻" | "뺳" | "뽛" | "뽷" | "뿋" + | "사" | "샤" | "소" | "솨" | "쇼" | "삭" | "샥" | "속" | "솩" | "쇽" | "삮" | "샦" | "솎" | "솪" | "쇾" | "삯" | "샧" | "솏" | "솫" | "쇿" | "산" | "샨" | "손" | "솬" | "숀" | "삱" | "샩" | "솑" | "솭" | "숁" | "삲" | "샪" | "솒" | "솮" | "숂" | "삳" | "샫" | "솓" | "솯" | "숃" | "살" | "샬" | "솔" | "솰" | "숄" | "삵" | "샭" | "솕" | "솱" | "숅" | "삶" | "샮" | "솖" | "솲" | "숆" | "삷" | "샯" | "솗" | "솳" | "숇" | "삸" | "샰" | "솘" | "솴" | "숈" | "삹" | "샱" | "솙" | "솵" | "숉" | "삺" | "샲" | "솚" | "솶" | "숊" | "삻" | "샳" | "솛" | "솷" | "숋" | "삼" | "샴" | "솜" | "솸" | "숌" | "삽" | "샵" | "솝" | "솹" | "숍" | "삾" | "샶" | "솞" | "솺" | "숎" | "삿" | "샷" | "솟" | "솻" | "숏" | "샀" | "샸" | "솠" | "솼" | "숐" | "상" | "샹" | "송" | "솽" | "숑" | "샂" | "샺" | "솢" | "솾" | "숒" | "샃" | "샻" | "솣" | "솿" | "숓" | "샄" | "샼" | "솤" | "쇀" | "숔" | "샅" | "샽" | "솥" | "쇁" | "숕" | "샆" | "샾" | "솦" | "쇂" | "숖" | "샇" | "샿" | "솧" | "쇃" | "숗" + | "싸" | "쌰" | "쏘" | "쏴" | "쑈" | "싹" | "쌱" | "쏙" | "쏵" | "쑉" | "싺" | "쌲" | "쏚" | "쏶" | "쑊" | "싻" | "쌳" | "쏛" | "쏷" | "쑋" | "싼" | "쌴" | "쏜" | "쏸" | "쑌" | "싽" | "쌵" | "쏝" | "쏹" | "쑍" | "싾" | "쌶" | "쏞" | "쏺" | "쑎" | "싿" | "쌷" | "쏟" | "쏻" | "쑏" | "쌀" | "쌸" | "쏠" | "쏼" | "쑐" | "쌁" | "쌹" | "쏡" | "쏽" | "쑑" | "쌂" | "쌺" | "쏢" | "쏾" | "쑒" | "쌃" | "쌻" | "쏣" | "쏿" | "쑓" | "쌄" | "쌼" | "쏤" | "쐀" | "쑔" | "쌅" | "쌽" | "쏥" | "쐁" | "쑕" | "쌆" | "쌾" | "쏦" | "쐂" | "쑖" | "쌇" | "쌿" | "쏧" | "쐃" | "쑗" | "쌈" | "썀" | "쏨" | "쐄" | "쑘" | "쌉" | "썁" | "쏩" | "쐅" | "쑙" | "쌊" | "썂" | "쏪" | "쐆" | "쑚" | "쌋" | "썃" | "쏫" | "쐇" | "쑛" | "쌌" | "썄" | "쏬" | "쐈" | "쑜" | "쌍" | "썅" | "쏭" | "쐉" | "쑝" | "쌎" | "썆" | "쏮" | "쐊" | "쑞" | "쌏" | "썇" | "쏯" | "쐋" | "쑟" | "쌐" | "썈" | "쏰" | "쐌" | "쑠" | "쌑" | "썉" | "쏱" | "쐍" | "쑡" | "쌒" | "썊" | "쏲" | "쐎" | "쑢" | "쌓" | "썋" | "쏳" | "쐏" | "쑣" + | "아" | "야" | "오" | "와" | "요" | "악" | "약" | "옥" | "왁" | "욕" | "앆" | "앾" | "옦" | "왂" | "욖" | "앇" | "앿" | "옧" | "왃" | "욗" | "안" | "얀" | "온" | "완" | "욘" | "앉" | "얁" | "옩" | "왅" | "욙" | "않" | "얂" | "옪" | "왆" | "욚" | "앋" | "얃" | "옫" | "왇" | "욛" | "알" | "얄" | "올" | "왈" | "욜" | "앍" | "얅" | "옭" | "왉" | "욝" | "앎" | "얆" | "옮" | "왊" | "욞" | "앏" | "얇" | "옯" | "왋" | "욟" | "앐" | "얈" | "옰" | "왌" | "욠" | "앑" | "얉" | "옱" | "왍" | "욡" | "앒" | "얊" | "옲" | "왎" | "욢" | "앓" | "얋" | "옳" | "왏" | "욣" | "암" | "얌" | "옴" | "왐" | "욤" | "압" | "얍" | "옵" | "왑" | "욥" | "앖" | "얎" | "옶" | "왒" | "욦" | "앗" | "얏" | "옷" | "왓" | "욧" | "았" | "얐" | "옸" | "왔" | "욨" | "앙" | "양" | "옹" | "왕" | "용" | "앚" | "얒" | "옺" | "왖" | "욪" | "앛" | "얓" | "옻" | "왗" | "욫" | "앜" | "얔" | "옼" | "왘" | "욬" | "앝" | "얕" | "옽" | "왙" | "욭" | "앞" | "얖" | "옾" | "왚" | "욮" | "앟" | "얗" | "옿" | "왛" | "욯" + | "자" | "쟈" | "조" | "좌" | "죠" | "작" | "쟉" | "족" | "좍" | "죡" | "잒" | "쟊" | "졲" | "좎" | "죢" | "잓" | "쟋" | "졳" | "좏" | "죣" | "잔" | "쟌" | "존" | "좐" | "죤" | "잕" | "쟍" | "졵" | "좑" | "죥" | "잖" | "쟎" | "졶" | "좒" | "죦" | "잗" | "쟏" | "졷" | "좓" | "죧" | "잘" | "쟐" | "졸" | "좔" | "죨" | "잙" | "쟑" | "졹" | "좕" | "죩" | "잚" | "쟒" | "졺" | "좖" | "죪" | "잛" | "쟓" | "졻" | "좗" | "죫" | "잜" | "쟔" | "졼" | "좘" | "죬" | "잝" | "쟕" | "졽" | "좙" | "죭" | "잞" | "쟖" | "졾" | "좚" | "죮" | "잟" | "쟗" | "졿" | "좛" | "죯" | "잠" | "쟘" | "좀" | "좜" | "죰" | "잡" | "쟙" | "좁" | "좝" | "죱" | "잢" | "쟚" | "좂" | "좞" | "죲" | "잣" | "쟛" | "좃" | "좟" | "죳" | "잤" | "쟜" | "좄" | "좠" | "죴" | "장" | "쟝" | "종" | "좡" | "죵" | "잦" | "쟞" | "좆" | "좢" | "죶" | "잧" | "쟟" | "좇" | "좣" | "죷" | "잨" | "쟠" | "좈" | "좤" | "죸" | "잩" | "쟡" | "좉" | "좥" | "죹" | "잪" | "쟢" | "좊" | "좦" | "죺" | "잫" | "쟣" | "좋" | "좧" | "죻" + | "짜" | "쨔" | "쪼" | "쫘" | "쬬" | "짝" | "쨕" | "쪽" | "쫙" | "쬭" | "짞" | "쨖" | "쪾" | "쫚" | "쬮" | "짟" | "쨗" | "쪿" | "쫛" | "쬯" | "짠" | "쨘" | "쫀" | "쫜" | "쬰" | "짡" | "쨙" | "쫁" | "쫝" | "쬱" | "짢" | "쨚" | "쫂" | "쫞" | "쬲" | "짣" | "쨛" | "쫃" | "쫟" | "쬳" | "짤" | "쨜" | "쫄" | "쫠" | "쬴" | "짥" | "쨝" | "쫅" | "쫡" | "쬵" | "짦" | "쨞" | "쫆" | "쫢" | "쬶" | "짧" | "쨟" | "쫇" | "쫣" | "쬷" | "짨" | "쨠" | "쫈" | "쫤" | "쬸" | "짩" | "쨡" | "쫉" | "쫥" | "쬹" | "짪" | "쨢" | "쫊" | "쫦" | "쬺" | "짫" | "쨣" | "쫋" | "쫧" | "쬻" | "짬" | "쨤" | "쫌" | "쫨" | "쬼" | "짭" | "쨥" | "쫍" | "쫩" | "쬽" | "짮" | "쨦" | "쫎" | "쫪" | "쬾" | "짯" | "쨧" | "쫏" | "쫫" | "쬿" | "짰" | "쨨" | "쫐" | "쫬" | "쭀" | "짱" | "쨩" | "쫑" | "쫭" | "쭁" | "짲" | "쨪" | "쫒" | "쫮" | "쭂" | "짳" | "쨫" | "쫓" | "쫯" | "쭃" | "짴" | "쨬" | "쫔" | "쫰" | "쭄" | "짵" | "쨭" | "쫕" | "쫱" | "쭅" | "짶" | "쨮" | "쫖" | "쫲" | "쭆" | "짷" | "쨯" | "쫗" | "쫳" | "쭇" + | "차" | "챠" | "초" | "촤" | "쵸" | "착" | "챡" | "촉" | "촥" | "쵹" | "찪" | "챢" | "촊" | "촦" | "쵺" | "찫" | "챣" | "촋" | "촧" | "쵻" | "찬" | "챤" | "촌" | "촨" | "쵼" | "찭" | "챥" | "촍" | "촩" | "쵽" | "찮" | "챦" | "촎" | "촪" | "쵾" | "찯" | "챧" | "촏" | "촫" | "쵿" | "찰" | "챨" | "촐" | "촬" | "춀" | "찱" | "챩" | "촑" | "촭" | "춁" | "찲" | "챪" | "촒" | "촮" | "춂" | "찳" | "챫" | "촓" | "촯" | "춃" | "찴" | "챬" | "촔" | "촰" | "춄" | "찵" | "챭" | "촕" | "촱" | "춅" | "찶" | "챮" | "촖" | "촲" | "춆" | "찷" | "챯" | "촗" | "촳" | "춇" | "참" | "챰" | "촘" | "촴" | "춈" | "찹" | "챱" | "촙" | "촵" | "춉" | "찺" | "챲" | "촚" | "촶" | "춊" | "찻" | "챳" | "촛" | "촷" | "춋" | "찼" | "챴" | "촜" | "촸" | "춌" | "창" | "챵" | "총" | "촹" | "춍" | "찾" | "챶" | "촞" | "촺" | "춎" | "찿" | "챷" | "촟" | "촻" | "춏" | "챀" | "챸" | "촠" | "촼" | "춐" | "챁" | "챹" | "촡" | "촽" | "춑" | "챂" | "챺" | "촢" | "촾" | "춒" | "챃" | "챻" | "촣" | "촿" | "춓" + | "카" | "캬" | "코" | "콰" | "쿄" | "칵" | "캭" | "콕" | "콱" | "쿅" | "칶" | "캮" | "콖" | "콲" | "쿆" | "칷" | "캯" | "콗" | "콳" | "쿇" | "칸" | "캰" | "콘" | "콴" | "쿈" | "칹" | "캱" | "콙" | "콵" | "쿉" | "칺" | "캲" | "콚" | "콶" | "쿊" | "칻" | "캳" | "콛" | "콷" | "쿋" | "칼" | "캴" | "콜" | "콸" | "쿌" | "칽" | "캵" | "콝" | "콹" | "쿍" | "칾" | "캶" | "콞" | "콺" | "쿎" | "칿" | "캷" | "콟" | "콻" | "쿏" | "캀" | "캸" | "콠" | "콼" | "쿐" | "캁" | "캹" | "콡" | "콽" | "쿑" | "캂" | "캺" | "콢" | "콾" | "쿒" | "캃" | "캻" | "콣" | "콿" | "쿓" | "캄" | "캼" | "콤" | "쾀" | "쿔" | "캅" | "캽" | "콥" | "쾁" | "쿕" | "캆" | "캾" | "콦" | "쾂" | "쿖" | "캇" | "캿" | "콧" | "쾃" | "쿗" | "캈" | "컀" | "콨" | "쾄" | "쿘" | "캉" | "컁" | "콩" | "쾅" | "쿙" | "캊" | "컂" | "콪" | "쾆" | "쿚" | "캋" | "컃" | "콫" | "쾇" | "쿛" | "캌" | "컄" | "콬" | "쾈" | "쿜" | "캍" | "컅" | "콭" | "쾉" | "쿝" | "캎" | "컆" | "콮" | "쾊" | "쿞" | "캏" | "컇" | "콯" | "쾋" | "쿟" + | "타" | "탸" | "토" | "톼" | "툐" | "탁" | "탹" | "톡" | "톽" | "툑" | "탂" | "탺" | "톢" | "톾" | "툒" | "탃" | "탻" | "톣" | "톿" | "툓" | "탄" | "탼" | "톤" | "퇀" | "툔" | "탅" | "탽" | "톥" | "퇁" | "툕" | "탆" | "탾" | "톦" | "퇂" | "툖" | "탇" | "탿" | "톧" | "퇃" | "툗" | "탈" | "턀" | "톨" | "퇄" | "툘" | "탉" | "턁" | "톩" | "퇅" | "툙" | "탊" | "턂" | "톪" | "퇆" | "툚" | "탋" | "턃" | "톫" | "퇇" | "툛" | "탌" | "턄" | "톬" | "퇈" | "툜" | "탍" | "턅" | "톭" | "퇉" | "툝" | "탎" | "턆" | "톮" | "퇊" | "툞" | "탏" | "턇" | "톯" | "퇋" | "툟" | "탐" | "턈" | "톰" | "퇌" | "툠" | "탑" | "턉" | "톱" | "퇍" | "툡" | "탒" | "턊" | "톲" | "퇎" | "툢" | "탓" | "턋" | "톳" | "퇏" | "툣" | "탔" | "턌" | "톴" | "퇐" | "툤" | "탕" | "턍" | "통" | "퇑" | "툥" | "탖" | "턎" | "톶" | "퇒" | "툦" | "탗" | "턏" | "톷" | "퇓" | "툧" | "탘" | "턐" | "톸" | "퇔" | "툨" | "탙" | "턑" | "톹" | "퇕" | "툩" | "탚" | "턒" | "톺" | "퇖" | "툪" | "탛" | "턓" | "톻" | "퇗" | "툫" + | "파" | "퍄" | "포" | "퐈" | "표" | "팍" | "퍅" | "폭" | "퐉" | "푝" | "팎" | "퍆" | "폮" | "퐊" | "푞" | "팏" | "퍇" | "폯" | "퐋" | "푟" | "판" | "퍈" | "폰" | "퐌" | "푠" | "팑" | "퍉" | "폱" | "퐍" | "푡" | "팒" | "퍊" | "폲" | "퐎" | "푢" | "팓" | "퍋" | "폳" | "퐏" | "푣" | "팔" | "퍌" | "폴" | "퐐" | "푤" | "팕" | "퍍" | "폵" | "퐑" | "푥" | "팖" | "퍎" | "폶" | "퐒" | "푦" | "팗" | "퍏" | "폷" | "퐓" | "푧" | "팘" | "퍐" | "폸" | "퐔" | "푨" | "팙" | "퍑" | "폹" | "퐕" | "푩" | "팚" | "퍒" | "폺" | "퐖" | "푪" | "팛" | "퍓" | "폻" | "퐗" | "푫" | "팜" | "퍔" | "폼" | "퐘" | "푬" | "팝" | "퍕" | "폽" | "퐙" | "푭" | "팞" | "퍖" | "폾" | "퐚" | "푮" | "팟" | "퍗" | "폿" | "퐛" | "푯" | "팠" | "퍘" | "퐀" | "퐜" | "푰" | "팡" | "퍙" | "퐁" | "퐝" | "푱" | "팢" | "퍚" | "퐂" | "퐞" | "푲" | "팣" | "퍛" | "퐃" | "퐟" | "푳" | "팤" | "퍜" | "퐄" | "퐠" | "푴" | "팥" | "퍝" | "퐅" | "퐡" | "푵" | "팦" | "퍞" | "퐆" | "퐢" | "푶" | "팧" | "퍟" | "퐇" | "퐣" | "푷" + | "하" | "햐" | "호" | "화" | "효" | "학" | "햑" | "혹" | "확" | "횩" | "핚" | "햒" | "혺" | "홖" | "횪" | "핛" | "햓" | "혻" | "홗" | "횫" | "한" | "햔" | "혼" | "환" | "횬" | "핝" | "햕" | "혽" | "홙" | "횭" | "핞" | "햖" | "혾" | "홚" | "횮" | "핟" | "햗" | "혿" | "홛" | "횯" | "할" | "햘" | "홀" | "활" | "횰" | "핡" | "햙" | "홁" | "홝" | "횱" | "핢" | "햚" | "홂" | "홞" | "횲" | "핣" | "햛" | "홃" | "홟" | "횳" | "핤" | "햜" | "홄" | "홠" | "횴" | "핥" | "햝" | "홅" | "홡" | "횵" | "핦" | "햞" | "홆" | "홢" | "횶" | "핧" | "햟" | "홇" | "홣" | "횷" | "함" | "햠" | "홈" | "홤" | "횸" | "합" | "햡" | "홉" | "홥" | "횹" | "핪" | "햢" | "홊" | "홦" | "횺" | "핫" | "햣" | "홋" | "홧" | "횻" | "핬" | "햤" | "홌" | "홨" | "횼" | "항" | "향" | "홍" | "황" | "횽" | "핮" | "햦" | "홎" | "홪" | "횾" | "핯" | "햧" | "홏" | "홫" | "횿" | "핰" | "햨" | "홐" | "홬" | "훀" | "핱" | "햩" | "홑" | "홭" | "훁" | "핲" | "햪" | "홒" | "홮" | "훂" | "핳" | "햫" | "홓" | "홯" | "훃") ; + -- maybe subpatterns for diphthongs? -- c : pattern Str = #(); @@ -841,4 +934,5 @@ oper x + "히" => x + "힙" ; _ => str + "ᆸ" -- NB. Combining jamo, doesn't render right in all fonts and probably breaks search } ; + } From c6aea7d2576caa3c8b0dcca0898d60d92e8afa0f Mon Sep 17 00:00:00 2001 From: Inari Listenmaa Date: Tue, 24 Mar 2020 17:00:50 +0100 Subject: [PATCH 13/35] (Kor) WIP constructing verb inflection tables --- src/korean/ResKor.gf | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/src/korean/ResKor.gf b/src/korean/ResKor.gf index a57d5f290..9d61d7fc5 100644 --- a/src/korean/ResKor.gf +++ b/src/korean/ResKor.gf @@ -109,9 +109,10 @@ oper mkAdj : Str -> Adjective = \plain -> let stem = init plain ; - verb = mkVerb stem Stative ; + verb = mkVerb plain Stative ; in { s = table { AAttr => add_N stem ; + APred (VF Plain Pos) => plain ; APred vf => verb.s ! vf } } ; @@ -132,7 +133,20 @@ oper -- VV : Type = Verb ** {vvtype : VVForm} ; mkVerb : (plain : Str) -> VerbType -> Verb = \plain,vt -> - mkVerbFull plain plain plain plain plain plain vt ; -- TODO proper forms + let stem = init plain ; + plainpres = case vowFinal stem of { + True => add_N stem + "다" ; + False => stem + "는다" } ; + informal = case vowFinal stem of { -- not used in grammar yet + True => add_eo stem ; + False => stem + "어" } ; + polpres = informal + "요" ; + formalpres = case vowFinal stem of { + True => add_B stem + "니다" ; + False => stem + "습니다" } ; + in mkVerbFull plainpres polpres formalpres + plain plain plain + vt ; -- TODO proper forms mkVerb2 : (plain : Str) -> Verb2 = \plain -> let v = mkVerb plain Active From 48fd16d5da422a2b8b2ba174aae63ac5a6c21f53 Mon Sep 17 00:00:00 2001 From: Inari Listenmaa Date: Tue, 24 Mar 2020 19:42:06 +0100 Subject: [PATCH 14/35] (Kor) More transformations on hanguls --- src/korean/Hangul.gf | 234 +- src/korean/HangulReplaceVowel.gf | 10668 +++++++++++++++++++++++++++++ 2 files changed, 10844 insertions(+), 58 deletions(-) create mode 100644 src/korean/HangulReplaceVowel.gf diff --git a/src/korean/Hangul.gf b/src/korean/Hangul.gf index c576d9590..73d8333f2 100644 --- a/src/korean/Hangul.gf +++ b/src/korean/Hangul.gf @@ -1,48 +1,166 @@ -resource Hangul = open Prelude in { +resource Hangul = HangulReplaceVowel ** open Prelude in { oper - add_eo : Str -> Str = \stem -> - case stem of { - -- Final ㅏ or ㅓ does not repeat itself. - _ + #a|#eo -- TODO if it's one syllable long and ends in #a, which rule applies? - => stem ; + add_eo : Str -> Str = \s -> addSuffix (changeStem s) + where { + changeStem : Str -> Str = \stem -> + case stem of { + -- Monosyllabic 으-final doesn't change + ult@'contains_으' => stem ; - -- Assimilations with ㅣ, ㅗ, ㅜ - start + ult@#i - => start + replaceVowel ult "여" ; - start + ult@#o - => start + replaceVowel ult "와" ; - start + ult@#u - => start + replaceVowel ult "워" ; + -- Polysyllabic final 으 is dropped, + -- penultimate vowel becomes the new final vowel. + start + penult@? + ult@'contains_으' + => let lastVow : Str = getVowel penult ; + lastSyl : Str = replaceEu ult lastVow ; + in start + penult + lastSyl ; - -- Special case: monosyllabic stem - -- 으 is dropped, replace the old vowel. - #eu => replaceVowel stem "어" ; - -- Otherwise add 어. - x@? => stem + "어" ; + -- Otherwise, no changes to stem, only add suffix. + _ => stem } ; - -- Special cases with 으: - -- 으 is dropped, the second vowel from the right becomes - -- the new final vowel and then ㅏ or ㅓ comes accordingly. - start + penult@? + ult@'contains_으' - => let lastVow : Str = getVowel penult ; - lastSyl : Str = replaceVowel ult lastVow ; - in start + penult + case lastSyl of { - #a|#eo => lastSyl ; - #i => replaceVowel lastSyl "여" ; - #o => replaceVowel lastSyl "와" ; - #u => replaceVowel lastSyl "워" ; - #a_o => lastSyl + "아" ; - _ => lastSyl + "어" - } ; + addSuffix : Str -> Str = \stem -> + case stem of { + -- Final ㅏ or ㅓ does not repeat itself. + _ + #a|#eo -- TODO if it's one syllable long and ends in #a, which rule applies? + => stem ; - -- Easy regular cases to finish with. - _ + #a_o => stem + "아" ; - _ => stem + "어" } ; + -- Assimilations with ㅣ, ㅗ, ㅜ + start + ult@#i + => start + i_to_yeo ult ; + start + ult@#o + => start + o_to_wa ult ; + start + ult@#u + => start + u_to_weo ult ; + -- Special case: monosyllabic stem + -- 으 is dropped, replace the old vowel. + #eu => eu_to_eo stem ; + -- Otherwise add 어. + x@? => stem + "어" ; + + -- Easy regular cases to finish with. + _ + #a_o => stem + "아" ; + _ => stem + "어" } ; + } ; + + getVowel : (syl : Str) -> Str = \syl -> + case syl of { + #'contains_으' => "으" ; + #'contains_아' => "아" ; + #'contains_애' => "애" ; + #'contains_야' => "야" ; + #'contains_얘' => "얘" ; + #'contains_어' => "어" ; + #'contains_에' => "에" ; + #'contains_여' => "여" ; + #'contains_예' => "예" ; + #'contains_오' => "오" ; + #'contains_와' => "와" ; + #'contains_왜' => "왜" ; + #'contains_외' => "외" ; + #'contains_요' => "요" ; + #'contains_우' => "우" ; + #'contains_워' => "워" ; + #'contains_웨' => "웨" ; + #'contains_위' => "위" ; + #'contains_유' => "유" ; + #'contains_으' => "으" ; + #'contains_의' => "의" ; + #'contains_이' => "이" + } ; + + i_to_yeo : Str -> Str = \syl -> + case syl of { + "기" => "겨" ; + "끼" => "껴" ; + "니" => "녀" ; + "디" => "뎌" ; + "띠" => "뗘" ; + "리" => "려" ; + "미" => "며" ; + "비" => "벼" ; + "삐" => "뼈" ; + "시" => "셔" ; + "씨" => "쎠" ; + "이" => "여" ; + "지" => "져" ; + "찌" => "쪄" ; + "치" => "쳐" ; + "키" => "켜" ; + "티" => "텨" ; + "피" => "펴" ; + "히" => "혀" + } ; + + o_to_wa : Str -> Str = \syl -> + case syl of { + "고" => "과" ; + "꼬" => "꽈" ; + "노" => "놔" ; + "도" => "돠" ; + "또" => "똬" ; + "로" => "롸" ; + "모" => "뫄" ; + "보" => "봐" ; + "뽀" => "뽜" ; + "소" => "솨" ; + "쏘" => "쏴" ; + "오" => "와" ; + "조" => "좌" ; + "쪼" => "쫘" ; + "초" => "촤" ; + "코" => "콰" ; + "토" => "톼" ; + "포" => "퐈" ; + "호" => "화" + } ; + + u_to_weo : Str -> Str = \syl -> + case syl of { + "구" => "궈" ; + "꾸" => "꿔" ; + "누" => "눠" ; + "두" => "둬" ; + "뚜" => "뚸" ; + "루" => "뤄" ; + "무" => "뭐" ; + "부" => "붜" ; + "뿌" => "뿨" ; + "수" => "숴" ; + "쑤" => "쒀" ; + "우" => "워" ; + "주" => "줘" ; + "쭈" => "쭤" ; + "추" => "춰" ; + "쿠" => "쿼" ; + "투" => "퉈" ; + "푸" => "풔" ; + "후" => "훠" + } ; + + eu_to_eo : Str -> Str = \syl -> + case syl of { + "그" => "거" ; + "끄" => "꺼" ; + "느" => "너" ; + "드" => "더" ; + "뜨" => "떠" ; + "르" => "러" ; + "므" => "머" ; + "브" => "버" ; + "쁘" => "뻐" ; + "스" => "서" ; + "쓰" => "써" ; + "으" => "어" ; + "즈" => "저" ; + "쯔" => "쩌" ; + "츠" => "처" ; + "크" => "커" ; + "트" => "터" ; + "프" => "퍼" ; + "흐" => "허" + } ; - replaceVowel : (syl, vow : Str) -> Str = \syl,vow -> syl ; - getVowel : Str -> Str = \s -> s ; v : pattern Str = #("가" | "까" | "나" | "다" | "따" | "라" | "마" | "바" | "빠" | "사" | "싸" | "아" | "자" | "짜" | "차" | "카" | "타" | "파" | "하" | "개" | "깨" | "내" | "대" | "때" | "래" | "매" | "배" | "빼" | "새" | "쌔" | "애" | "재" | "째" | "채" | "캐" | "태" | "패" | "해" | @@ -73,27 +191,27 @@ oper o : pattern Str = #("고" | "꼬" | "노" | "도" | "또" | "로" | "모" | "보" | "뽀" | "소" | "쏘" | "오" | "조" | "쪼" | "초" | "코" | "토" | "포" | "호") ; u : pattern Str = #("구" | "꾸" | "누" | "두" | "뚜" | "루" | "무" | "부" | "뿌" | "수" | "쑤" | "우" | "주" | "쭈" | "추" | "쿠" | "투" | "푸" | "후") ; - 'all_with_아' : pattern Str = #("가" | "각" | "갂" | "갃" | "간" | "갅" | "갆" | "갇" | "갈" | "갉" | "갊" | "갋" | "갌" | "갍" | "갎" | "갏" | "감" | "갑" | "값" | "갓" | "갔" | "강" | "갖" | "갗" | "갘" | "같" | "갚" | "갛" | "까" | "깍" | "깎" | "깏" | "깐" | "깑" | "깒" | "깓" | "깔" | "깕" | "깖" | "깗" | "깘" | "깙" | "깚" | "깛" | "깜" | "깝" | "깞" | "깟" | "깠" | "깡" | "깢" | "깣" | "깤" | "깥" | "깦" | "깧" | "나" | "낙" | "낚" | "낛" | "난" | "낝" | "낞" | "낟" | "날" | "낡" | "낢" | "낣" | "낤" | "낥" | "낦" | "낧" | "남" | "납" | "낪" | "낫" | "났" | "낭" | "낮" | "낯" | "낰" | "낱" | "낲" | "낳" | "다" | "닥" | "닦" | "닧" | "단" | "닩" | "닪" | "닫" | "달" | "닭" | "닮" | "닯" | "닰" | "닱" | "닲" | "닳" | "담" | "답" | "닶" | "닷" | "닸" | "당" | "닺" | "닻" | "닼" | "닽" | "닾" | "닿" | "따" | "딱" | "딲" | "딳" | "딴" | "딵" | "딶" | "딷" | "딸" | "딹" | "딺" | "딻" | "딼" | "딽" | "딾" | "딿" | "땀" | "땁" | "땂" | "땃" | "땄" | "땅" | "땆" | "땇" | "땈" | "땉" | "땊" | "땋" | "라" | "락" | "띾" | "띿" | "란" | "랁" | "랂" | "랃" | "랄" | "랅" | "랆" | "랇" | "랈" | "랉" | "랊" | "랋" | "람" | "랍" | "랎" | "랏" | "랐" | "랑" | "랒" | "랓" | "랔" | "랕" | "랖" | "랗" | "마" | "막" | "맊" | "맋" | "만" | "맍" | "많" | "맏" | "말" | "맑" | "맒" | "맓" | "맔" | "맕" | "맖" | "맗" | "맘" | "맙" | "맚" | "맛" | "맜" | "망" | "맞" | "맟" | "맠" | "맡" | "맢" | "맣" | "바" | "박" | "밖" | "밗" | "반" | "밙" | "밚" | "받" | "발" | "밝" | "밞" | "밟" | "밠" | "밡" | "밢" | "밣" | "밤" | "밥" | "밦" | "밧" | "밨" | "방" | "밪" | "밫" | "밬" | "밭" | "밮" | "밯" | "빠" | "빡" | "빢" | "빣" | "빤" | "빥" | "빦" | "빧" | "빨" | "빩" | "빪" | "빫" | "빬" | "빭" | "빮" | "빯" | "빰" | "빱" | "빲" | "빳" | "빴" | "빵" | "빶" | "빷" | "빸" | "빹" | "빺" | "빻" | "사" | "삭" | "삮" | "삯" | "산" | "삱" | "삲" | "삳" | "살" | "삵" | "삶" | "삷" | "삸" | "삹" | "삺" | "삻" | "삼" | "삽" | "삾" | "삿" | "샀" | "상" | "샂" | "샃" | "샄" | "샅" | "샆" | "샇" | "싸" | "싹" | "싺" | "싻" | "싼" | "싽" | "싾" | "싿" | "쌀" | "쌁" | "쌂" | "쌃" | "쌄" | "쌅" | "쌆" | "쌇" | "쌈" | "쌉" | "쌊" | "쌋" | "쌌" | "쌍" | "쌎" | "쌏" | "쌐" | "쌑" | "쌒" | "쌓" | "아" | "악" | "앆" | "앇" | "안" | "앉" | "않" | "앋" | "알" | "앍" | "앎" | "앏" | "앐" | "앑" | "앒" | "앓" | "암" | "압" | "앖" | "앗" | "았" | "앙" | "앚" | "앛" | "앜" | "앝" | "앞" | "앟" | "자" | "작" | "잒" | "잓" | "잔" | "잕" | "잖" | "잗" | "잘" | "잙" | "잚" | "잛" | "잜" | "잝" | "잞" | "잟" | "잠" | "잡" | "잢" | "잣" | "잤" | "장" | "잦" | "잧" | "잨" | "잩" | "잪" | "잫" | "짜" | "짝" | "짞" | "짟" | "짠" | "짡" | "짢" | "짣" | "짤" | "짥" | "짦" | "짧" | "짨" | "짩" | "짪" | "짫" | "짬" | "짭" | "짮" | "짯" | "짰" | "짱" | "짲" | "짳" | "짴" | "짵" | "짶" | "짷" | "차" | "착" | "찪" | "찫" | "찬" | "찭" | "찮" | "찯" | "찰" | "찱" | "찲" | "찳" | "찴" | "찵" | "찶" | "찷" | "참" | "찹" | "찺" | "찻" | "찼" | "창" | "찾" | "찿" | "챀" | "챁" | "챂" | "챃" | "카" | "칵" | "칶" | "칷" | "칸" | "칹" | "칺" | "칻" | "칼" | "칽" | "칾" | "칿" | "캀" | "캁" | "캂" | "캃" | "캄" | "캅" | "캆" | "캇" | "캈" | "캉" | "캊" | "캋" | "캌" | "캍" | "캎" | "캏" | "타" | "탁" | "탂" | "탃" | "탄" | "탅" | "탆" | "탇" | "탈" | "탉" | "탊" | "탋" | "탌" | "탍" | "탎" | "탏" | "탐" | "탑" | "탒" | "탓" | "탔" | "탕" | "탖" | "탗" | "탘" | "탙" | "탚" | "탛" | "파" | "팍" | "팎" | "팏" | "판" | "팑" | "팒" | "팓" | "팔" | "팕" | "팖" | "팗" | "팘" | "팙" | "팚" | "팛" | "팜" | "팝" | "팞" | "팟" | "팠" | "팡" | "팢" | "팣" | "팤" | "팥" | "팦" | "팧" | "하" | "학" | "핚" | "핛" | "한" | "핝" | "핞" | "핟" | "할" | "핡" | "핢" | "핣" | "핤" | "핥" | "핦" | "핧" | "함" | "합" | "핪" | "핫" | "핬" | "항" | "핮" | "핯" | "핰" | "핱" | "핲" | "핳") ; - 'all_with_애' : pattern Str = #("개" | "객" | "갞" | "갟" | "갠" | "갡" | "갢" | "갣" | "갤" | "갥" | "갦" | "갧" | "갨" | "갩" | "갪" | "갫" | "갬" | "갭" | "갮" | "갯" | "갰" | "갱" | "갲" | "갳" | "갴" | "갵" | "갶" | "갷" | "깨" | "깩" | "깪" | "깫" | "깬" | "깭" | "깮" | "깯" | "깰" | "깱" | "깲" | "깳" | "깴" | "깵" | "깶" | "깷" | "깸" | "깹" | "깺" | "깻" | "깼" | "깽" | "깾" | "깿" | "꺀" | "꺁" | "꺂" | "꺃" | "내" | "낵" | "낶" | "낷" | "낸" | "낹" | "낺" | "낻" | "낼" | "낽" | "낾" | "낿" | "냀" | "냁" | "냂" | "냃" | "냄" | "냅" | "냆" | "냇" | "냈" | "냉" | "냊" | "냋" | "냌" | "냍" | "냎" | "냏" | "대" | "댁" | "댂" | "댃" | "댄" | "댅" | "댆" | "댇" | "댈" | "댉" | "댊" | "댋" | "댌" | "댍" | "댎" | "댏" | "댐" | "댑" | "댒" | "댓" | "댔" | "댕" | "댖" | "댗" | "댘" | "댙" | "댚" | "댛" | "때" | "땍" | "땎" | "땏" | "땐" | "땑" | "땒" | "땓" | "땔" | "땕" | "땖" | "땗" | "땘" | "땙" | "땚" | "땛" | "땜" | "땝" | "땞" | "땟" | "땠" | "땡" | "땢" | "땣" | "땤" | "땥" | "땦" | "땧" | "래" | "랙" | "랚" | "랛" | "랜" | "랝" | "랞" | "랟" | "랠" | "랡" | "랢" | "랣" | "랤" | "랥" | "랦" | "랧" | "램" | "랩" | "랪" | "랫" | "랬" | "랭" | "랮" | "랯" | "랰" | "랱" | "랲" | "랳" | "매" | "맥" | "맦" | "맧" | "맨" | "맩" | "맪" | "맫" | "맬" | "맭" | "맮" | "맯" | "맰" | "맱" | "맲" | "맳" | "맴" | "맵" | "맶" | "맷" | "맸" | "맹" | "맺" | "맻" | "맼" | "맽" | "맾" | "맿" | "배" | "백" | "밲" | "밳" | "밴" | "밵" | "밶" | "밷" | "밸" | "밹" | "밺" | "밻" | "밼" | "밽" | "밾" | "밿" | "뱀" | "뱁" | "뱂" | "뱃" | "뱄" | "뱅" | "뱆" | "뱇" | "뱈" | "뱉" | "뱊" | "뱋" | "빼" | "빽" | "빾" | "빿" | "뺀" | "뺁" | "뺂" | "뺃" | "뺄" | "뺅" | "뺆" | "뺇" | "뺈" | "뺉" | "뺊" | "뺋" | "뺌" | "뺍" | "뺎" | "뺏" | "뺐" | "뺑" | "뺒" | "뺓" | "뺔" | "뺕" | "뺖" | "뺗" | "새" | "색" | "샊" | "샋" | "샌" | "샍" | "샎" | "샏" | "샐" | "샑" | "샒" | "샓" | "샔" | "샕" | "샖" | "샗" | "샘" | "샙" | "샚" | "샛" | "샜" | "생" | "샞" | "샟" | "샠" | "샡" | "샢" | "샣" | "쌔" | "쌕" | "쌖" | "쌗" | "쌘" | "쌙" | "쌚" | "쌛" | "쌜" | "쌝" | "쌞" | "쌟" | "쌠" | "쌡" | "쌢" | "쌣" | "쌤" | "쌥" | "쌦" | "쌧" | "쌨" | "쌩" | "쌪" | "쌫" | "쌬" | "쌭" | "쌮" | "쌯" | "애" | "액" | "앢" | "앣" | "앤" | "앥" | "앦" | "앧" | "앨" | "앩" | "앪" | "앫" | "앬" | "앭" | "앮" | "앯" | "앰" | "앱" | "앲" | "앳" | "앴" | "앵" | "앶" | "앷" | "앸" | "앹" | "앺" | "앻" | "재" | "잭" | "잮" | "잯" | "잰" | "잱" | "잲" | "잳" | "잴" | "잵" | "잶" | "잷" | "잸" | "잹" | "잺" | "잻" | "잼" | "잽" | "잾" | "잿" | "쟀" | "쟁" | "쟂" | "쟃" | "쟄" | "쟅" | "쟆" | "쟇" | "째" | "짹" | "짺" | "짻" | "짼" | "짽" | "짾" | "짿" | "쨀" | "쨁" | "쨂" | "쨃" | "쨄" | "쨅" | "쨆" | "쨇" | "쨈" | "쨉" | "쨊" | "쨋" | "쨌" | "쨍" | "쨎" | "쨏" | "쨐" | "쨑" | "쨒" | "쨓" | "채" | "책" | "챆" | "챇" | "챈" | "챉" | "챊" | "챋" | "챌" | "챍" | "챎" | "챏" | "챐" | "챑" | "챒" | "챓" | "챔" | "챕" | "챖" | "챗" | "챘" | "챙" | "챚" | "챛" | "챜" | "챝" | "챞" | "챟" | "캐" | "캑" | "캒" | "캓" | "캔" | "캕" | "캖" | "캗" | "캘" | "캙" | "캚" | "캛" | "캜" | "캝" | "캞" | "캟" | "캠" | "캡" | "캢" | "캣" | "캤" | "캥" | "캦" | "캧" | "캨" | "캩" | "캪" | "캫" | "태" | "택" | "탞" | "탟" | "탠" | "탡" | "탢" | "탣" | "탤" | "탥" | "탦" | "탧" | "탨" | "탩" | "탪" | "탫" | "탬" | "탭" | "탮" | "탯" | "탰" | "탱" | "탲" | "탳" | "탴" | "탵" | "탶" | "탷" | "패" | "팩" | "팪" | "팫" | "팬" | "팭" | "팮" | "팯" | "팰" | "팱" | "팲" | "팳" | "팴" | "팵" | "팶" | "팷" | "팸" | "팹" | "팺" | "팻" | "팼" | "팽" | "팾" | "팿" | "퍀" | "퍁" | "퍂" | "퍃" | "해" | "핵" | "핶" | "핷" | "핸" | "핹" | "핺" | "핻" | "핼" | "핽" | "핾" | "핿" | "햀" | "햁" | "햂" | "햃" | "햄" | "햅" | "햆" | "햇" | "했" | "행" | "햊" | "햋" | "햌" | "햍" | "햎" | "햏") ; - 'all_with_야' : pattern Str = #("갸" | "갹" | "갺" | "갻" | "갼" | "갽" | "갾" | "갿" | "걀" | "걁" | "걂" | "걃" | "걄" | "걅" | "걆" | "걇" | "걈" | "걉" | "걊" | "걋" | "걌" | "걍" | "걎" | "걏" | "걐" | "걑" | "걒" | "걓" | "꺄" | "꺅" | "꺆" | "꺇" | "꺈" | "꺉" | "꺊" | "꺋" | "꺌" | "꺍" | "꺎" | "꺏" | "꺐" | "꺑" | "꺒" | "꺓" | "꺔" | "꺕" | "꺖" | "꺗" | "꺘" | "꺙" | "꺚" | "꺛" | "꺜" | "꺝" | "꺞" | "꺟" | "냐" | "냑" | "냒" | "냓" | "냔" | "냕" | "냖" | "냗" | "냘" | "냙" | "냚" | "냛" | "냜" | "냝" | "냞" | "냟" | "냠" | "냡" | "냢" | "냣" | "냤" | "냥" | "냦" | "냧" | "냨" | "냩" | "냪" | "냫" | "댜" | "댝" | "댞" | "댟" | "댠" | "댡" | "댢" | "댣" | "댤" | "댥" | "댦" | "댧" | "댨" | "댩" | "댪" | "댫" | "댬" | "댭" | "댮" | "댯" | "댰" | "댱" | "댲" | "댳" | "댴" | "댵" | "댶" | "댷" | "땨" | "땩" | "땪" | "땫" | "땬" | "땭" | "땮" | "땯" | "땰" | "땱" | "땲" | "땳" | "땴" | "땵" | "땶" | "땷" | "땸" | "땹" | "땺" | "땻" | "땼" | "땽" | "땾" | "땿" | "떀" | "떁" | "떂" | "떃" | "랴" | "략" | "랶" | "랷" | "랸" | "랹" | "랺" | "랻" | "랼" | "랽" | "랾" | "랿" | "럀" | "럁" | "럂" | "럃" | "럄" | "럅" | "럆" | "럇" | "럈" | "량" | "럊" | "럋" | "럌" | "럍" | "럎" | "럏" | "먀" | "먁" | "먂" | "먃" | "먄" | "먅" | "먆" | "먇" | "먈" | "먉" | "먊" | "먋" | "먌" | "먍" | "먎" | "먏" | "먐" | "먑" | "먒" | "먓" | "먔" | "먕" | "먖" | "먗" | "먘" | "먙" | "먚" | "먛" | "뱌" | "뱍" | "뱎" | "뱏" | "뱐" | "뱑" | "뱒" | "뱓" | "뱔" | "뱕" | "뱖" | "뱗" | "뱘" | "뱙" | "뱚" | "뱛" | "뱜" | "뱝" | "뱞" | "뱟" | "뱠" | "뱡" | "뱢" | "뱣" | "뱤" | "뱥" | "뱦" | "뱧" | "뺘" | "뺙" | "뺚" | "뺛" | "뺜" | "뺝" | "뺞" | "뺟" | "뺠" | "뺡" | "뺢" | "뺣" | "뺤" | "뺥" | "뺦" | "뺧" | "뺨" | "뺩" | "뺪" | "뺫" | "뺬" | "뺭" | "뺮" | "뺯" | "뺰" | "뺱" | "뺲" | "뺳" | "샤" | "샥" | "샦" | "샧" | "샨" | "샩" | "샪" | "샫" | "샬" | "샭" | "샮" | "샯" | "샰" | "샱" | "샲" | "샳" | "샴" | "샵" | "샶" | "샷" | "샸" | "샹" | "샺" | "샻" | "샼" | "샽" | "샾" | "샿" | "쌰" | "쌱" | "쌲" | "쌳" | "쌴" | "쌵" | "쌶" | "쌷" | "쌸" | "쌹" | "쌺" | "쌻" | "쌼" | "쌽" | "쌾" | "쌿" | "썀" | "썁" | "썂" | "썃" | "썄" | "썅" | "썆" | "썇" | "썈" | "썉" | "썊" | "썋" | "야" | "약" | "앾" | "앿" | "얀" | "얁" | "얂" | "얃" | "얄" | "얅" | "얆" | "얇" | "얈" | "얉" | "얊" | "얋" | "얌" | "얍" | "얎" | "얏" | "얐" | "양" | "얒" | "얓" | "얔" | "얕" | "얖" | "얗" | "쟈" | "쟉" | "쟊" | "쟋" | "쟌" | "쟍" | "쟎" | "쟏" | "쟐" | "쟑" | "쟒" | "쟓" | "쟔" | "쟕" | "쟖" | "쟗" | "쟘" | "쟙" | "쟚" | "쟛" | "쟜" | "쟝" | "쟞" | "쟟" | "쟠" | "쟡" | "쟢" | "쟣" | "쨔" | "쨕" | "쨖" | "쨗" | "쨘" | "쨙" | "쨚" | "쨛" | "쨜" | "쨝" | "쨞" | "쨟" | "쨠" | "쨡" | "쨢" | "쨣" | "쨤" | "쨥" | "쨦" | "쨧" | "쨨" | "쨩" | "쨪" | "쨫" | "쨬" | "쨭" | "쨮" | "쨯" | "챠" | "챡" | "챢" | "챣" | "챤" | "챥" | "챦" | "챧" | "챨" | "챩" | "챪" | "챫" | "챬" | "챭" | "챮" | "챯" | "챰" | "챱" | "챲" | "챳" | "챴" | "챵" | "챶" | "챷" | "챸" | "챹" | "챺" | "챻" | "캬" | "캭" | "캮" | "캯" | "캰" | "캱" | "캲" | "캳" | "캴" | "캵" | "캶" | "캷" | "캸" | "캹" | "캺" | "캻" | "캼" | "캽" | "캾" | "캿" | "컀" | "컁" | "컂" | "컃" | "컄" | "컅" | "컆" | "컇" | "탸" | "탹" | "탺" | "탻" | "탼" | "탽" | "탾" | "탿" | "턀" | "턁" | "턂" | "턃" | "턄" | "턅" | "턆" | "턇" | "턈" | "턉" | "턊" | "턋" | "턌" | "턍" | "턎" | "턏" | "턐" | "턑" | "턒" | "턓" | "퍄" | "퍅" | "퍆" | "퍇" | "퍈" | "퍉" | "퍊" | "퍋" | "퍌" | "퍍" | "퍎" | "퍏" | "퍐" | "퍑" | "퍒" | "퍓" | "퍔" | "퍕" | "퍖" | "퍗" | "퍘" | "퍙" | "퍚" | "퍛" | "퍜" | "퍝" | "퍞" | "퍟" | "햐" | "햑" | "햒" | "햓" | "햔" | "햕" | "햖" | "햗" | "햘" | "햙" | "햚" | "햛" | "햜" | "햝" | "햞" | "햟" | "햠" | "햡" | "햢" | "햣" | "햤" | "향" | "햦" | "햧" | "햨" | "햩" | "햪" | "햫") ; - 'all_with_얘' : pattern Str = #("걔" | "걕" | "걖" | "걗" | "걘" | "걙" | "걚" | "걛" | "걜" | "걝" | "걞" | "걟" | "걠" | "걡" | "걢" | "걣" | "걤" | "걥" | "걦" | "걧" | "걨" | "걩" | "걪" | "걫" | "걬" | "걭" | "걮" | "걯" | "꺠" | "꺡" | "꺢" | "꺣" | "꺤" | "꺥" | "꺦" | "꺧" | "꺨" | "꺩" | "꺪" | "꺫" | "꺬" | "꺭" | "꺮" | "꺯" | "꺰" | "꺱" | "꺲" | "꺳" | "꺴" | "꺵" | "꺶" | "꺷" | "꺸" | "꺹" | "꺺" | "꺻" | "냬" | "냭" | "냮" | "냯" | "냰" | "냱" | "냲" | "냳" | "냴" | "냵" | "냶" | "냷" | "냸" | "냹" | "냺" | "냻" | "냼" | "냽" | "냾" | "냿" | "넀" | "넁" | "넂" | "넃" | "넄" | "넅" | "넆" | "넇" | "댸" | "댹" | "댺" | "댻" | "댼" | "댽" | "댾" | "댿" | "덀" | "덁" | "덂" | "덃" | "덄" | "덅" | "덆" | "덇" | "덈" | "덉" | "덊" | "덋" | "덌" | "덍" | "덎" | "덏" | "덐" | "덑" | "덒" | "덓" | "떄" | "떅" | "떆" | "떇" | "떈" | "떉" | "떊" | "떋" | "떌" | "떍" | "떎" | "떏" | "떐" | "떑" | "떒" | "떓" | "떔" | "떕" | "떖" | "떗" | "떘" | "떙" | "떚" | "떛" | "떜" | "떝" | "떞" | "떟" | "럐" | "럑" | "럒" | "럓" | "럔" | "럕" | "럖" | "럗" | "럘" | "럙" | "럚" | "럛" | "럜" | "럝" | "럞" | "럟" | "럠" | "럡" | "럢" | "럣" | "럤" | "럥" | "럦" | "럧" | "럨" | "럩" | "럪" | "럫" | "먜" | "먝" | "먞" | "먟" | "먠" | "먡" | "먢" | "먣" | "먤" | "먥" | "먦" | "먧" | "먨" | "먩" | "먪" | "먫" | "먬" | "먭" | "먮" | "먯" | "먰" | "먱" | "먲" | "먳" | "먴" | "먵" | "먶" | "먷" | "뱨" | "뱩" | "뱪" | "뱫" | "뱬" | "뱭" | "뱮" | "뱯" | "뱰" | "뱱" | "뱲" | "뱳" | "뱴" | "뱵" | "뱶" | "뱷" | "뱸" | "뱹" | "뱺" | "뱻" | "뱼" | "뱽" | "뱾" | "뱿" | "벀" | "벁" | "벂" | "벃" | "뺴" | "뺵" | "뺶" | "뺷" | "뺸" | "뺹" | "뺺" | "뺻" | "뺼" | "뺽" | "뺾" | "뺿" | "뻀" | "뻁" | "뻂" | "뻃" | "뻄" | "뻅" | "뻆" | "뻇" | "뻈" | "뻉" | "뻊" | "뻋" | "뻌" | "뻍" | "뻎" | "뻏" | "섀" | "섁" | "섂" | "섃" | "섄" | "섅" | "섆" | "섇" | "섈" | "섉" | "섊" | "섋" | "섌" | "섍" | "섎" | "섏" | "섐" | "섑" | "섒" | "섓" | "섔" | "섕" | "섖" | "섗" | "섘" | "섙" | "섚" | "섛" | "썌" | "썍" | "썎" | "썏" | "썐" | "썑" | "썒" | "썓" | "썔" | "썕" | "썖" | "썗" | "썘" | "썙" | "썚" | "썛" | "썜" | "썝" | "썞" | "썟" | "썠" | "썡" | "썢" | "썣" | "썤" | "썥" | "썦" | "썧" | "얘" | "얙" | "얚" | "얛" | "얜" | "얝" | "얞" | "얟" | "얠" | "얡" | "얢" | "얣" | "얤" | "얥" | "얦" | "얧" | "얨" | "얩" | "얪" | "얫" | "얬" | "얭" | "얮" | "얯" | "얰" | "얱" | "얲" | "얳" | "쟤" | "쟥" | "쟦" | "쟧" | "쟨" | "쟩" | "쟪" | "쟫" | "쟬" | "쟭" | "쟮" | "쟯" | "쟰" | "쟱" | "쟲" | "쟳" | "쟴" | "쟵" | "쟶" | "쟷" | "쟸" | "쟹" | "쟺" | "쟻" | "쟼" | "쟽" | "쟾" | "쟿" | "쨰" | "쨱" | "쨲" | "쨳" | "쨴" | "쨵" | "쨶" | "쨷" | "쨸" | "쨹" | "쨺" | "쨻" | "쨼" | "쨽" | "쨾" | "쨿" | "쩀" | "쩁" | "쩂" | "쩃" | "쩄" | "쩅" | "쩆" | "쩇" | "쩈" | "쩉" | "쩊" | "쩋" | "챼" | "챽" | "챾" | "챿" | "첀" | "첁" | "첂" | "첃" | "첄" | "첅" | "첆" | "첇" | "첈" | "첉" | "첊" | "첋" | "첌" | "첍" | "첎" | "첏" | "첐" | "첑" | "첒" | "첓" | "첔" | "첕" | "첖" | "첗" | "컈" | "컉" | "컊" | "컋" | "컌" | "컍" | "컎" | "컏" | "컐" | "컑" | "컒" | "컓" | "컔" | "컕" | "컖" | "컗" | "컘" | "컙" | "컚" | "컛" | "컜" | "컝" | "컞" | "컟" | "컠" | "컡" | "컢" | "컣" | "턔" | "턕" | "턖" | "턗" | "턘" | "턙" | "턚" | "턛" | "턜" | "턝" | "턞" | "턟" | "턠" | "턡" | "턢" | "턣" | "턤" | "턥" | "턦" | "턧" | "턨" | "턩" | "턪" | "턫" | "턬" | "턭" | "턮" | "턯" | "퍠" | "퍡" | "퍢" | "퍣" | "퍤" | "퍥" | "퍦" | "퍧" | "퍨" | "퍩" | "퍪" | "퍫" | "퍬" | "퍭" | "퍮" | "퍯" | "퍰" | "퍱" | "퍲" | "퍳" | "퍴" | "퍵" | "퍶" | "퍷" | "퍸" | "퍹" | "퍺" | "퍻" | "햬" | "햭" | "햮" | "햯" | "햰" | "햱" | "햲" | "햳" | "햴" | "햵" | "햶" | "햷" | "햸" | "햹" | "햺" | "햻" | "햼" | "햽" | "햾" | "햿" | "헀" | "헁" | "헂" | "헃" | "헄" | "헅" | "헆" | "헇") ; - 'all_with_어' : pattern Str = #("거" | "걱" | "걲" | "걳" | "건" | "걵" | "걶" | "걷" | "걸" | "걹" | "걺" | "걻" | "걼" | "걽" | "걾" | "걿" | "검" | "겁" | "겂" | "것" | "겄" | "겅" | "겆" | "겇" | "겈" | "겉" | "겊" | "겋" | "꺼" | "꺽" | "꺾" | "꺿" | "껀" | "껁" | "껂" | "껃" | "껄" | "껅" | "껆" | "껇" | "껈" | "껉" | "껊" | "껋" | "껌" | "껍" | "껎" | "껏" | "껐" | "껑" | "껒" | "껓" | "껔" | "껕" | "껖" | "껗" | "너" | "넉" | "넊" | "넋" | "넌" | "넍" | "넎" | "넏" | "널" | "넑" | "넒" | "넓" | "넔" | "넕" | "넖" | "넗" | "넘" | "넙" | "넚" | "넛" | "넜" | "넝" | "넞" | "넟" | "넠" | "넡" | "넢" | "넣" | "더" | "덕" | "덖" | "덗" | "던" | "덙" | "덚" | "덛" | "덜" | "덝" | "덞" | "덟" | "덠" | "덡" | "덢" | "덣" | "덤" | "덥" | "덦" | "덧" | "덨" | "덩" | "덪" | "덫" | "덬" | "덭" | "덮" | "덯" | "떠" | "떡" | "떢" | "떣" | "떤" | "떥" | "떦" | "떧" | "떨" | "떩" | "떪" | "떫" | "떬" | "떭" | "떮" | "떯" | "떰" | "떱" | "떲" | "떳" | "떴" | "떵" | "떶" | "떷" | "떸" | "떹" | "떺" | "떻" | "러" | "럭" | "럮" | "럯" | "런" | "럱" | "럲" | "럳" | "럴" | "럵" | "럶" | "럷" | "럸" | "럹" | "럺" | "럻" | "럼" | "럽" | "럾" | "럿" | "렀" | "렁" | "렂" | "렃" | "렄" | "렅" | "렆" | "렇" | "머" | "먹" | "먺" | "먻" | "먼" | "먽" | "먾" | "먿" | "멀" | "멁" | "멂" | "멃" | "멄" | "멅" | "멆" | "멇" | "멈" | "멉" | "멊" | "멋" | "멌" | "멍" | "멎" | "멏" | "멐" | "멑" | "멒" | "멓" | "버" | "벅" | "벆" | "벇" | "번" | "벉" | "벊" | "벋" | "벌" | "벍" | "벎" | "벏" | "벐" | "벑" | "벒" | "벓" | "범" | "법" | "벖" | "벗" | "벘" | "벙" | "벚" | "벛" | "벜" | "벝" | "벞" | "벟" | "뻐" | "뻑" | "뻒" | "뻓" | "뻔" | "뻕" | "뻖" | "뻗" | "뻘" | "뻙" | "뻚" | "뻛" | "뻜" | "뻝" | "뻞" | "뻟" | "뻠" | "뻡" | "뻢" | "뻣" | "뻤" | "뻥" | "뻦" | "뻧" | "뻨" | "뻩" | "뻪" | "뻫" | "서" | "석" | "섞" | "섟" | "선" | "섡" | "섢" | "섣" | "설" | "섥" | "섦" | "섧" | "섨" | "섩" | "섪" | "섫" | "섬" | "섭" | "섮" | "섯" | "섰" | "성" | "섲" | "섳" | "섴" | "섵" | "섶" | "섷" | "써" | "썩" | "썪" | "썫" | "썬" | "썭" | "썮" | "썯" | "썰" | "썱" | "썲" | "썳" | "썴" | "썵" | "썶" | "썷" | "썸" | "썹" | "썺" | "썻" | "썼" | "썽" | "썾" | "썿" | "쎀" | "쎁" | "쎂" | "쎃" | "어" | "억" | "얶" | "얷" | "언" | "얹" | "얺" | "얻" | "얼" | "얽" | "얾" | "얿" | "엀" | "엁" | "엂" | "엃" | "엄" | "업" | "없" | "엇" | "었" | "엉" | "엊" | "엋" | "엌" | "엍" | "엎" | "엏" | "저" | "적" | "젂" | "젃" | "전" | "젅" | "젆" | "젇" | "절" | "젉" | "젊" | "젋" | "젌" | "젍" | "젎" | "젏" | "점" | "접" | "젒" | "젓" | "젔" | "정" | "젖" | "젗" | "젘" | "젙" | "젚" | "젛" | "쩌" | "쩍" | "쩎" | "쩏" | "쩐" | "쩑" | "쩒" | "쩓" | "쩔" | "쩕" | "쩖" | "쩗" | "쩘" | "쩙" | "쩚" | "쩛" | "쩜" | "쩝" | "쩞" | "쩟" | "쩠" | "쩡" | "쩢" | "쩣" | "쩤" | "쩥" | "쩦" | "쩧" | "처" | "척" | "첚" | "첛" | "천" | "첝" | "첞" | "첟" | "철" | "첡" | "첢" | "첣" | "첤" | "첥" | "첦" | "첧" | "첨" | "첩" | "첪" | "첫" | "첬" | "청" | "첮" | "첯" | "첰" | "첱" | "첲" | "첳" | "커" | "컥" | "컦" | "컧" | "컨" | "컩" | "컪" | "컫" | "컬" | "컭" | "컮" | "컯" | "컰" | "컱" | "컲" | "컳" | "컴" | "컵" | "컶" | "컷" | "컸" | "컹" | "컺" | "컻" | "컼" | "컽" | "컾" | "컿" | "터" | "턱" | "턲" | "턳" | "턴" | "턵" | "턶" | "턷" | "털" | "턹" | "턺" | "턻" | "턼" | "턽" | "턾" | "턿" | "텀" | "텁" | "텂" | "텃" | "텄" | "텅" | "텆" | "텇" | "텈" | "텉" | "텊" | "텋" | "퍼" | "퍽" | "퍾" | "퍿" | "펀" | "펁" | "펂" | "펃" | "펄" | "펅" | "펆" | "펇" | "펈" | "펉" | "펊" | "펋" | "펌" | "펍" | "펎" | "펏" | "펐" | "펑" | "펒" | "펓" | "펔" | "펕" | "펖" | "펗" | "허" | "헉" | "헊" | "헋" | "헌" | "헍" | "헎" | "헏" | "헐" | "헑" | "헒" | "헓" | "헔" | "헕" | "헖" | "헗" | "험" | "헙" | "헚" | "헛" | "헜" | "헝" | "헞" | "헟" | "헠" | "헡" | "헢" | "헣") ; - 'all_with_에' : pattern Str = #("게" | "겍" | "겎" | "겏" | "겐" | "겑" | "겒" | "겓" | "겔" | "겕" | "겖" | "겗" | "겘" | "겙" | "겚" | "겛" | "겜" | "겝" | "겞" | "겟" | "겠" | "겡" | "겢" | "겣" | "겤" | "겥" | "겦" | "겧" | "께" | "껙" | "껚" | "껛" | "껜" | "껝" | "껞" | "껟" | "껠" | "껡" | "껢" | "껣" | "껤" | "껥" | "껦" | "껧" | "껨" | "껩" | "껪" | "껫" | "껬" | "껭" | "껮" | "껯" | "껰" | "껱" | "껲" | "껳" | "네" | "넥" | "넦" | "넧" | "넨" | "넩" | "넪" | "넫" | "넬" | "넭" | "넮" | "넯" | "넰" | "넱" | "넲" | "넳" | "넴" | "넵" | "넶" | "넷" | "넸" | "넹" | "넺" | "넻" | "넼" | "넽" | "넾" | "넿" | "데" | "덱" | "덲" | "덳" | "덴" | "덵" | "덶" | "덷" | "델" | "덹" | "덺" | "덻" | "덼" | "덽" | "덾" | "덿" | "뎀" | "뎁" | "뎂" | "뎃" | "뎄" | "뎅" | "뎆" | "뎇" | "뎈" | "뎉" | "뎊" | "뎋" | "떼" | "떽" | "떾" | "떿" | "뗀" | "뗁" | "뗂" | "뗃" | "뗄" | "뗅" | "뗆" | "뗇" | "뗈" | "뗉" | "뗊" | "뗋" | "뗌" | "뗍" | "뗎" | "뗏" | "뗐" | "뗑" | "뗒" | "뗓" | "뗔" | "뗕" | "뗖" | "뗗" | "레" | "렉" | "렊" | "렋" | "렌" | "렍" | "렎" | "렏" | "렐" | "렑" | "렒" | "렓" | "렔" | "렕" | "렖" | "렗" | "렘" | "렙" | "렚" | "렛" | "렜" | "렝" | "렞" | "렟" | "렠" | "렡" | "렢" | "렣" | "메" | "멕" | "멖" | "멗" | "멘" | "멙" | "멚" | "멛" | "멜" | "멝" | "멞" | "멟" | "멠" | "멡" | "멢" | "멣" | "멤" | "멥" | "멦" | "멧" | "멨" | "멩" | "멪" | "멫" | "멬" | "멭" | "멮" | "멯" | "베" | "벡" | "벢" | "벣" | "벤" | "벥" | "벦" | "벧" | "벨" | "벩" | "벪" | "벫" | "벬" | "벭" | "벮" | "벯" | "벰" | "벱" | "벲" | "벳" | "벴" | "벵" | "벶" | "벷" | "벸" | "벹" | "벺" | "벻" | "뻬" | "뻭" | "뻮" | "뻯" | "뻰" | "뻱" | "뻲" | "뻳" | "뻴" | "뻵" | "뻶" | "뻷" | "뻸" | "뻹" | "뻺" | "뻻" | "뻼" | "뻽" | "뻾" | "뻿" | "뼀" | "뼁" | "뼂" | "뼃" | "뼄" | "뼅" | "뼆" | "뼇" | "세" | "섹" | "섺" | "섻" | "센" | "섽" | "섾" | "섿" | "셀" | "셁" | "셂" | "셃" | "셄" | "셅" | "셆" | "셇" | "셈" | "셉" | "셊" | "셋" | "셌" | "셍" | "셎" | "셏" | "셐" | "셑" | "셒" | "셓" | "쎄" | "쎅" | "쎆" | "쎇" | "쎈" | "쎉" | "쎊" | "쎋" | "쎌" | "쎍" | "쎎" | "쎏" | "쎐" | "쎑" | "쎒" | "쎓" | "쎔" | "쎕" | "쎖" | "쎗" | "쎘" | "쎙" | "쎚" | "쎛" | "쎜" | "쎝" | "쎞" | "쎟" | "에" | "엑" | "엒" | "엓" | "엔" | "엕" | "엖" | "엗" | "엘" | "엙" | "엚" | "엛" | "엜" | "엝" | "엞" | "엟" | "엠" | "엡" | "엢" | "엣" | "엤" | "엥" | "엦" | "엧" | "엨" | "엩" | "엪" | "엫" | "제" | "젝" | "젞" | "젟" | "젠" | "젡" | "젢" | "젣" | "젤" | "젥" | "젦" | "젧" | "젨" | "젩" | "젪" | "젫" | "젬" | "젭" | "젮" | "젯" | "젰" | "젱" | "젲" | "젳" | "젴" | "젵" | "젶" | "젷" | "쩨" | "쩩" | "쩪" | "쩫" | "쩬" | "쩭" | "쩮" | "쩯" | "쩰" | "쩱" | "쩲" | "쩳" | "쩴" | "쩵" | "쩶" | "쩷" | "쩸" | "쩹" | "쩺" | "쩻" | "쩼" | "쩽" | "쩾" | "쩿" | "쪀" | "쪁" | "쪂" | "쪃" | "체" | "첵" | "첶" | "첷" | "첸" | "첹" | "첺" | "첻" | "첼" | "첽" | "첾" | "첿" | "쳀" | "쳁" | "쳂" | "쳃" | "쳄" | "쳅" | "쳆" | "쳇" | "쳈" | "쳉" | "쳊" | "쳋" | "쳌" | "쳍" | "쳎" | "쳏" | "케" | "켁" | "켂" | "켃" | "켄" | "켅" | "켆" | "켇" | "켈" | "켉" | "켊" | "켋" | "켌" | "켍" | "켎" | "켏" | "켐" | "켑" | "켒" | "켓" | "켔" | "켕" | "켖" | "켗" | "켘" | "켙" | "켚" | "켛" | "테" | "텍" | "텎" | "텏" | "텐" | "텑" | "텒" | "텓" | "텔" | "텕" | "텖" | "텗" | "텘" | "텙" | "텚" | "텛" | "템" | "텝" | "텞" | "텟" | "텠" | "텡" | "텢" | "텣" | "텤" | "텥" | "텦" | "텧" | "페" | "펙" | "펚" | "펛" | "펜" | "펝" | "펞" | "펟" | "펠" | "펡" | "펢" | "펣" | "펤" | "펥" | "펦" | "펧" | "펨" | "펩" | "펪" | "펫" | "펬" | "펭" | "펮" | "펯" | "펰" | "펱" | "펲" | "펳" | "헤" | "헥" | "헦" | "헧" | "헨" | "헩" | "헪" | "헫" | "헬" | "헭" | "헮" | "헯" | "헰" | "헱" | "헲" | "헳" | "헴" | "헵" | "헶" | "헷" | "헸" | "헹" | "헺" | "헻" | "헼" | "헽" | "헾" | "헿") ; - 'all_with_여' : pattern Str = #("겨" | "격" | "겪" | "겫" | "견" | "겭" | "겮" | "겯" | "결" | "겱" | "겲" | "겳" | "겴" | "겵" | "겶" | "겷" | "겸" | "겹" | "겺" | "겻" | "겼" | "경" | "겾" | "겿" | "곀" | "곁" | "곂" | "곃" | "껴" | "껵" | "껶" | "껷" | "껸" | "껹" | "껺" | "껻" | "껼" | "껽" | "껾" | "껿" | "꼀" | "꼁" | "꼂" | "꼃" | "꼄" | "꼅" | "꼆" | "꼇" | "꼈" | "꼉" | "꼊" | "꼋" | "꼌" | "꼍" | "꼎" | "꼏" | "녀" | "녁" | "녂" | "녃" | "년" | "녅" | "녆" | "녇" | "녈" | "녉" | "녊" | "녋" | "녌" | "녍" | "녎" | "녏" | "념" | "녑" | "녒" | "녓" | "녔" | "녕" | "녖" | "녗" | "녘" | "녙" | "녚" | "녛" | "뎌" | "뎍" | "뎎" | "뎏" | "뎐" | "뎑" | "뎒" | "뎓" | "뎔" | "뎕" | "뎖" | "뎗" | "뎘" | "뎙" | "뎚" | "뎛" | "뎜" | "뎝" | "뎞" | "뎟" | "뎠" | "뎡" | "뎢" | "뎣" | "뎤" | "뎥" | "뎦" | "뎧" | "뗘" | "뗙" | "뗚" | "뗛" | "뗜" | "뗝" | "뗞" | "뗟" | "뗠" | "뗡" | "뗢" | "뗣" | "뗤" | "뗥" | "뗦" | "뗧" | "뗨" | "뗩" | "뗪" | "뗫" | "뗬" | "뗭" | "뗮" | "뗯" | "뗰" | "뗱" | "뗲" | "뗳" | "려" | "력" | "렦" | "렧" | "련" | "렩" | "렪" | "렫" | "렬" | "렭" | "렮" | "렯" | "렰" | "렱" | "렲" | "렳" | "렴" | "렵" | "렶" | "렷" | "렸" | "령" | "렺" | "렻" | "렼" | "렽" | "렾" | "렿" | "며" | "멱" | "멲" | "멳" | "면" | "멵" | "멶" | "멷" | "멸" | "멹" | "멺" | "멻" | "멼" | "멽" | "멾" | "멿" | "몀" | "몁" | "몂" | "몃" | "몄" | "명" | "몆" | "몇" | "몈" | "몉" | "몊" | "몋" | "벼" | "벽" | "벾" | "벿" | "변" | "볁" | "볂" | "볃" | "별" | "볅" | "볆" | "볇" | "볈" | "볉" | "볊" | "볋" | "볌" | "볍" | "볎" | "볏" | "볐" | "병" | "볒" | "볓" | "볔" | "볕" | "볖" | "볗" | "뼈" | "뼉" | "뼊" | "뼋" | "뼌" | "뼍" | "뼎" | "뼏" | "뼐" | "뼑" | "뼒" | "뼓" | "뼔" | "뼕" | "뼖" | "뼗" | "뼘" | "뼙" | "뼚" | "뼛" | "뼜" | "뼝" | "뼞" | "뼟" | "뼠" | "뼡" | "뼢" | "뼣" | "셔" | "셕" | "셖" | "셗" | "션" | "셙" | "셚" | "셛" | "셜" | "셝" | "셞" | "셟" | "셠" | "셡" | "셢" | "셣" | "셤" | "셥" | "셦" | "셧" | "셨" | "셩" | "셪" | "셫" | "셬" | "셭" | "셮" | "셯" | "쎠" | "쎡" | "쎢" | "쎣" | "쎤" | "쎥" | "쎦" | "쎧" | "쎨" | "쎩" | "쎪" | "쎫" | "쎬" | "쎭" | "쎮" | "쎯" | "쎰" | "쎱" | "쎲" | "쎳" | "쎴" | "쎵" | "쎶" | "쎷" | "쎸" | "쎹" | "쎺" | "쎻" | "여" | "역" | "엮" | "엯" | "연" | "엱" | "엲" | "엳" | "열" | "엵" | "엶" | "엷" | "엸" | "엹" | "엺" | "엻" | "염" | "엽" | "엾" | "엿" | "였" | "영" | "옂" | "옃" | "옄" | "옅" | "옆" | "옇" | "져" | "젹" | "젺" | "젻" | "젼" | "젽" | "젾" | "젿" | "졀" | "졁" | "졂" | "졃" | "졄" | "졅" | "졆" | "졇" | "졈" | "졉" | "졊" | "졋" | "졌" | "졍" | "졎" | "졏" | "졐" | "졑" | "졒" | "졓" | "쪄" | "쪅" | "쪆" | "쪇" | "쪈" | "쪉" | "쪊" | "쪋" | "쪌" | "쪍" | "쪎" | "쪏" | "쪐" | "쪑" | "쪒" | "쪓" | "쪔" | "쪕" | "쪖" | "쪗" | "쪘" | "쪙" | "쪚" | "쪛" | "쪜" | "쪝" | "쪞" | "쪟" | "쳐" | "쳑" | "쳒" | "쳓" | "쳔" | "쳕" | "쳖" | "쳗" | "쳘" | "쳙" | "쳚" | "쳛" | "쳜" | "쳝" | "쳞" | "쳟" | "쳠" | "쳡" | "쳢" | "쳣" | "쳤" | "쳥" | "쳦" | "쳧" | "쳨" | "쳩" | "쳪" | "쳫" | "켜" | "켝" | "켞" | "켟" | "켠" | "켡" | "켢" | "켣" | "켤" | "켥" | "켦" | "켧" | "켨" | "켩" | "켪" | "켫" | "켬" | "켭" | "켮" | "켯" | "켰" | "켱" | "켲" | "켳" | "켴" | "켵" | "켶" | "켷" | "텨" | "텩" | "텪" | "텫" | "텬" | "텭" | "텮" | "텯" | "텰" | "텱" | "텲" | "텳" | "텴" | "텵" | "텶" | "텷" | "텸" | "텹" | "텺" | "텻" | "텼" | "텽" | "텾" | "텿" | "톀" | "톁" | "톂" | "톃" | "펴" | "펵" | "펶" | "펷" | "편" | "펹" | "펺" | "펻" | "펼" | "펽" | "펾" | "펿" | "폀" | "폁" | "폂" | "폃" | "폄" | "폅" | "폆" | "폇" | "폈" | "평" | "폊" | "폋" | "폌" | "폍" | "폎" | "폏" | "혀" | "혁" | "혂" | "혃" | "현" | "혅" | "혆" | "혇" | "혈" | "혉" | "혊" | "혋" | "혌" | "혍" | "혎" | "혏" | "혐" | "협" | "혒" | "혓" | "혔" | "형" | "혖" | "혗" | "혘" | "혙" | "혚" | "혛") ; - 'all_with_예' : pattern Str = #("계" | "곅" | "곆" | "곇" | "곈" | "곉" | "곊" | "곋" | "곌" | "곍" | "곎" | "곏" | "곐" | "곑" | "곒" | "곓" | "곔" | "곕" | "곖" | "곗" | "곘" | "곙" | "곚" | "곛" | "곜" | "곝" | "곞" | "곟" | "꼐" | "꼑" | "꼒" | "꼓" | "꼔" | "꼕" | "꼖" | "꼗" | "꼘" | "꼙" | "꼚" | "꼛" | "꼜" | "꼝" | "꼞" | "꼟" | "꼠" | "꼡" | "꼢" | "꼣" | "꼤" | "꼥" | "꼦" | "꼧" | "꼨" | "꼩" | "꼪" | "꼫" | "녜" | "녝" | "녞" | "녟" | "녠" | "녡" | "녢" | "녣" | "녤" | "녥" | "녦" | "녧" | "녨" | "녩" | "녪" | "녫" | "녬" | "녭" | "녮" | "녯" | "녰" | "녱" | "녲" | "녳" | "녴" | "녵" | "녶" | "녷" | "뎨" | "뎩" | "뎪" | "뎫" | "뎬" | "뎭" | "뎮" | "뎯" | "뎰" | "뎱" | "뎲" | "뎳" | "뎴" | "뎵" | "뎶" | "뎷" | "뎸" | "뎹" | "뎺" | "뎻" | "뎼" | "뎽" | "뎾" | "뎿" | "돀" | "돁" | "돂" | "돃" | "뗴" | "뗵" | "뗶" | "뗷" | "뗸" | "뗹" | "뗺" | "뗻" | "뗼" | "뗽" | "뗾" | "뗿" | "똀" | "똁" | "똂" | "똃" | "똄" | "똅" | "똆" | "똇" | "똈" | "똉" | "똊" | "똋" | "똌" | "똍" | "똎" | "똏" | "례" | "롁" | "롂" | "롃" | "롄" | "롅" | "롆" | "롇" | "롈" | "롉" | "롊" | "롋" | "롌" | "롍" | "롎" | "롏" | "롐" | "롑" | "롒" | "롓" | "롔" | "롕" | "롖" | "롗" | "롘" | "롙" | "롚" | "롛" | "몌" | "몍" | "몎" | "몏" | "몐" | "몑" | "몒" | "몓" | "몔" | "몕" | "몖" | "몗" | "몘" | "몙" | "몚" | "몛" | "몜" | "몝" | "몞" | "몟" | "몠" | "몡" | "몢" | "몣" | "몤" | "몥" | "몦" | "몧" | "볘" | "볙" | "볚" | "볛" | "볜" | "볝" | "볞" | "볟" | "볠" | "볡" | "볢" | "볣" | "볤" | "볥" | "볦" | "볧" | "볨" | "볩" | "볪" | "볫" | "볬" | "볭" | "볮" | "볯" | "볰" | "볱" | "볲" | "볳" | "뼤" | "뼥" | "뼦" | "뼧" | "뼨" | "뼩" | "뼪" | "뼫" | "뼬" | "뼭" | "뼮" | "뼯" | "뼰" | "뼱" | "뼲" | "뼳" | "뼴" | "뼵" | "뼶" | "뼷" | "뼸" | "뼹" | "뼺" | "뼻" | "뼼" | "뼽" | "뼾" | "뼿" | "셰" | "셱" | "셲" | "셳" | "셴" | "셵" | "셶" | "셷" | "셸" | "셹" | "셺" | "셻" | "셼" | "셽" | "셾" | "셿" | "솀" | "솁" | "솂" | "솃" | "솄" | "솅" | "솆" | "솇" | "솈" | "솉" | "솊" | "솋" | "쎼" | "쎽" | "쎾" | "쎿" | "쏀" | "쏁" | "쏂" | "쏃" | "쏄" | "쏅" | "쏆" | "쏇" | "쏈" | "쏉" | "쏊" | "쏋" | "쏌" | "쏍" | "쏎" | "쏏" | "쏐" | "쏑" | "쏒" | "쏓" | "쏔" | "쏕" | "쏖" | "쏗" | "예" | "옉" | "옊" | "옋" | "옌" | "옍" | "옎" | "옏" | "옐" | "옑" | "옒" | "옓" | "옔" | "옕" | "옖" | "옗" | "옘" | "옙" | "옚" | "옛" | "옜" | "옝" | "옞" | "옟" | "옠" | "옡" | "옢" | "옣" | "졔" | "졕" | "졖" | "졗" | "졘" | "졙" | "졚" | "졛" | "졜" | "졝" | "졞" | "졟" | "졠" | "졡" | "졢" | "졣" | "졤" | "졥" | "졦" | "졧" | "졨" | "졩" | "졪" | "졫" | "졬" | "졭" | "졮" | "졯" | "쪠" | "쪡" | "쪢" | "쪣" | "쪤" | "쪥" | "쪦" | "쪧" | "쪨" | "쪩" | "쪪" | "쪫" | "쪬" | "쪭" | "쪮" | "쪯" | "쪰" | "쪱" | "쪲" | "쪳" | "쪴" | "쪵" | "쪶" | "쪷" | "쪸" | "쪹" | "쪺" | "쪻" | "쳬" | "쳭" | "쳮" | "쳯" | "쳰" | "쳱" | "쳲" | "쳳" | "쳴" | "쳵" | "쳶" | "쳷" | "쳸" | "쳹" | "쳺" | "쳻" | "쳼" | "쳽" | "쳾" | "쳿" | "촀" | "촁" | "촂" | "촃" | "촄" | "촅" | "촆" | "촇" | "켸" | "켹" | "켺" | "켻" | "켼" | "켽" | "켾" | "켿" | "콀" | "콁" | "콂" | "콃" | "콄" | "콅" | "콆" | "콇" | "콈" | "콉" | "콊" | "콋" | "콌" | "콍" | "콎" | "콏" | "콐" | "콑" | "콒" | "콓" | "톄" | "톅" | "톆" | "톇" | "톈" | "톉" | "톊" | "톋" | "톌" | "톍" | "톎" | "톏" | "톐" | "톑" | "톒" | "톓" | "톔" | "톕" | "톖" | "톗" | "톘" | "톙" | "톚" | "톛" | "톜" | "톝" | "톞" | "톟" | "폐" | "폑" | "폒" | "폓" | "폔" | "폕" | "폖" | "폗" | "폘" | "폙" | "폚" | "폛" | "폜" | "폝" | "폞" | "폟" | "폠" | "폡" | "폢" | "폣" | "폤" | "폥" | "폦" | "폧" | "폨" | "폩" | "폪" | "폫" | "혜" | "혝" | "혞" | "혟" | "혠" | "혡" | "혢" | "혣" | "혤" | "혥" | "혦" | "혧" | "혨" | "혩" | "혪" | "혫" | "혬" | "혭" | "혮" | "혯" | "혰" | "혱" | "혲" | "혳" | "혴" | "혵" | "혶" | "혷") ; - 'all_with_오' : pattern Str = #("고" | "곡" | "곢" | "곣" | "곤" | "곥" | "곦" | "곧" | "골" | "곩" | "곪" | "곫" | "곬" | "곭" | "곮" | "곯" | "곰" | "곱" | "곲" | "곳" | "곴" | "공" | "곶" | "곷" | "곸" | "곹" | "곺" | "곻" | "꼬" | "꼭" | "꼮" | "꼯" | "꼰" | "꼱" | "꼲" | "꼳" | "꼴" | "꼵" | "꼶" | "꼷" | "꼸" | "꼹" | "꼺" | "꼻" | "꼼" | "꼽" | "꼾" | "꼿" | "꽀" | "꽁" | "꽂" | "꽃" | "꽄" | "꽅" | "꽆" | "꽇" | "노" | "녹" | "녺" | "녻" | "논" | "녽" | "녾" | "녿" | "놀" | "놁" | "놂" | "놃" | "놄" | "놅" | "놆" | "놇" | "놈" | "놉" | "놊" | "놋" | "놌" | "농" | "놎" | "놏" | "놐" | "놑" | "높" | "놓" | "도" | "독" | "돆" | "돇" | "돈" | "돉" | "돊" | "돋" | "돌" | "돍" | "돎" | "돏" | "돐" | "돑" | "돒" | "돓" | "돔" | "돕" | "돖" | "돗" | "돘" | "동" | "돚" | "돛" | "돜" | "돝" | "돞" | "돟" | "또" | "똑" | "똒" | "똓" | "똔" | "똕" | "똖" | "똗" | "똘" | "똙" | "똚" | "똛" | "똜" | "똝" | "똞" | "똟" | "똠" | "똡" | "똢" | "똣" | "똤" | "똥" | "똦" | "똧" | "똨" | "똩" | "똪" | "똫" | "로" | "록" | "롞" | "롟" | "론" | "롡" | "롢" | "롣" | "롤" | "롥" | "롦" | "롧" | "롨" | "롩" | "롪" | "롫" | "롬" | "롭" | "롮" | "롯" | "롰" | "롱" | "롲" | "롳" | "롴" | "롵" | "롶" | "롷" | "모" | "목" | "몪" | "몫" | "몬" | "몭" | "몮" | "몯" | "몰" | "몱" | "몲" | "몳" | "몴" | "몵" | "몶" | "몷" | "몸" | "몹" | "몺" | "못" | "몼" | "몽" | "몾" | "몿" | "뫀" | "뫁" | "뫂" | "뫃" | "보" | "복" | "볶" | "볷" | "본" | "볹" | "볺" | "볻" | "볼" | "볽" | "볾" | "볿" | "봀" | "봁" | "봂" | "봃" | "봄" | "봅" | "봆" | "봇" | "봈" | "봉" | "봊" | "봋" | "봌" | "봍" | "봎" | "봏" | "뽀" | "뽁" | "뽂" | "뽃" | "뽄" | "뽅" | "뽆" | "뽇" | "뽈" | "뽉" | "뽊" | "뽋" | "뽌" | "뽍" | "뽎" | "뽏" | "뽐" | "뽑" | "뽒" | "뽓" | "뽔" | "뽕" | "뽖" | "뽗" | "뽘" | "뽙" | "뽚" | "뽛" | "소" | "속" | "솎" | "솏" | "손" | "솑" | "솒" | "솓" | "솔" | "솕" | "솖" | "솗" | "솘" | "솙" | "솚" | "솛" | "솜" | "솝" | "솞" | "솟" | "솠" | "송" | "솢" | "솣" | "솤" | "솥" | "솦" | "솧" | "쏘" | "쏙" | "쏚" | "쏛" | "쏜" | "쏝" | "쏞" | "쏟" | "쏠" | "쏡" | "쏢" | "쏣" | "쏤" | "쏥" | "쏦" | "쏧" | "쏨" | "쏩" | "쏪" | "쏫" | "쏬" | "쏭" | "쏮" | "쏯" | "쏰" | "쏱" | "쏲" | "쏳" | "오" | "옥" | "옦" | "옧" | "온" | "옩" | "옪" | "옫" | "올" | "옭" | "옮" | "옯" | "옰" | "옱" | "옲" | "옳" | "옴" | "옵" | "옶" | "옷" | "옸" | "옹" | "옺" | "옻" | "옼" | "옽" | "옾" | "옿" | "조" | "족" | "졲" | "졳" | "존" | "졵" | "졶" | "졷" | "졸" | "졹" | "졺" | "졻" | "졼" | "졽" | "졾" | "졿" | "좀" | "좁" | "좂" | "좃" | "좄" | "종" | "좆" | "좇" | "좈" | "좉" | "좊" | "좋" | "쪼" | "쪽" | "쪾" | "쪿" | "쫀" | "쫁" | "쫂" | "쫃" | "쫄" | "쫅" | "쫆" | "쫇" | "쫈" | "쫉" | "쫊" | "쫋" | "쫌" | "쫍" | "쫎" | "쫏" | "쫐" | "쫑" | "쫒" | "쫓" | "쫔" | "쫕" | "쫖" | "쫗" | "초" | "촉" | "촊" | "촋" | "촌" | "촍" | "촎" | "촏" | "촐" | "촑" | "촒" | "촓" | "촔" | "촕" | "촖" | "촗" | "촘" | "촙" | "촚" | "촛" | "촜" | "총" | "촞" | "촟" | "촠" | "촡" | "촢" | "촣" | "코" | "콕" | "콖" | "콗" | "콘" | "콙" | "콚" | "콛" | "콜" | "콝" | "콞" | "콟" | "콠" | "콡" | "콢" | "콣" | "콤" | "콥" | "콦" | "콧" | "콨" | "콩" | "콪" | "콫" | "콬" | "콭" | "콮" | "콯" | "토" | "톡" | "톢" | "톣" | "톤" | "톥" | "톦" | "톧" | "톨" | "톩" | "톪" | "톫" | "톬" | "톭" | "톮" | "톯" | "톰" | "톱" | "톲" | "톳" | "톴" | "통" | "톶" | "톷" | "톸" | "톹" | "톺" | "톻" | "포" | "폭" | "폮" | "폯" | "폰" | "폱" | "폲" | "폳" | "폴" | "폵" | "폶" | "폷" | "폸" | "폹" | "폺" | "폻" | "폼" | "폽" | "폾" | "폿" | "퐀" | "퐁" | "퐂" | "퐃" | "퐄" | "퐅" | "퐆" | "퐇" | "호" | "혹" | "혺" | "혻" | "혼" | "혽" | "혾" | "혿" | "홀" | "홁" | "홂" | "홃" | "홄" | "홅" | "홆" | "홇" | "홈" | "홉" | "홊" | "홋" | "홌" | "홍" | "홎" | "홏" | "홐" | "홑" | "홒" | "홓") ; - 'all_with_와' : pattern Str = #("과" | "곽" | "곾" | "곿" | "관" | "괁" | "괂" | "괃" | "괄" | "괅" | "괆" | "괇" | "괈" | "괉" | "괊" | "괋" | "괌" | "괍" | "괎" | "괏" | "괐" | "광" | "괒" | "괓" | "괔" | "괕" | "괖" | "괗" | "꽈" | "꽉" | "꽊" | "꽋" | "꽌" | "꽍" | "꽎" | "꽏" | "꽐" | "꽑" | "꽒" | "꽓" | "꽔" | "꽕" | "꽖" | "꽗" | "꽘" | "꽙" | "꽚" | "꽛" | "꽜" | "꽝" | "꽞" | "꽟" | "꽠" | "꽡" | "꽢" | "꽣" | "놔" | "놕" | "놖" | "놗" | "놘" | "놙" | "놚" | "놛" | "놜" | "놝" | "놞" | "놟" | "놠" | "놡" | "놢" | "놣" | "놤" | "놥" | "놦" | "놧" | "놨" | "놩" | "놪" | "놫" | "놬" | "놭" | "놮" | "놯" | "돠" | "돡" | "돢" | "돣" | "돤" | "돥" | "돦" | "돧" | "돨" | "돩" | "돪" | "돫" | "돬" | "돭" | "돮" | "돯" | "돰" | "돱" | "돲" | "돳" | "돴" | "돵" | "돶" | "돷" | "돸" | "돹" | "돺" | "돻" | "똬" | "똭" | "똮" | "똯" | "똰" | "똱" | "똲" | "똳" | "똴" | "똵" | "똶" | "똷" | "똸" | "똹" | "똺" | "똻" | "똼" | "똽" | "똾" | "똿" | "뙀" | "뙁" | "뙂" | "뙃" | "뙄" | "뙅" | "뙆" | "뙇" | "롸" | "롹" | "롺" | "롻" | "롼" | "롽" | "롾" | "롿" | "뢀" | "뢁" | "뢂" | "뢃" | "뢄" | "뢅" | "뢆" | "뢇" | "뢈" | "뢉" | "뢊" | "뢋" | "뢌" | "뢍" | "뢎" | "뢏" | "뢐" | "뢑" | "뢒" | "뢓" | "뫄" | "뫅" | "뫆" | "뫇" | "뫈" | "뫉" | "뫊" | "뫋" | "뫌" | "뫍" | "뫎" | "뫏" | "뫐" | "뫑" | "뫒" | "뫓" | "뫔" | "뫕" | "뫖" | "뫗" | "뫘" | "뫙" | "뫚" | "뫛" | "뫜" | "뫝" | "뫞" | "뫟" | "봐" | "봑" | "봒" | "봓" | "봔" | "봕" | "봖" | "봗" | "봘" | "봙" | "봚" | "봛" | "봜" | "봝" | "봞" | "봟" | "봠" | "봡" | "봢" | "봣" | "봤" | "봥" | "봦" | "봧" | "봨" | "봩" | "봪" | "봫" | "뽜" | "뽝" | "뽞" | "뽟" | "뽠" | "뽡" | "뽢" | "뽣" | "뽤" | "뽥" | "뽦" | "뽧" | "뽨" | "뽩" | "뽪" | "뽫" | "뽬" | "뽭" | "뽮" | "뽯" | "뽰" | "뽱" | "뽲" | "뽳" | "뽴" | "뽵" | "뽶" | "뽷" | "솨" | "솩" | "솪" | "솫" | "솬" | "솭" | "솮" | "솯" | "솰" | "솱" | "솲" | "솳" | "솴" | "솵" | "솶" | "솷" | "솸" | "솹" | "솺" | "솻" | "솼" | "솽" | "솾" | "솿" | "쇀" | "쇁" | "쇂" | "쇃" | "쏴" | "쏵" | "쏶" | "쏷" | "쏸" | "쏹" | "쏺" | "쏻" | "쏼" | "쏽" | "쏾" | "쏿" | "쐀" | "쐁" | "쐂" | "쐃" | "쐄" | "쐅" | "쐆" | "쐇" | "쐈" | "쐉" | "쐊" | "쐋" | "쐌" | "쐍" | "쐎" | "쐏" | "와" | "왁" | "왂" | "왃" | "완" | "왅" | "왆" | "왇" | "왈" | "왉" | "왊" | "왋" | "왌" | "왍" | "왎" | "왏" | "왐" | "왑" | "왒" | "왓" | "왔" | "왕" | "왖" | "왗" | "왘" | "왙" | "왚" | "왛" | "좌" | "좍" | "좎" | "좏" | "좐" | "좑" | "좒" | "좓" | "좔" | "좕" | "좖" | "좗" | "좘" | "좙" | "좚" | "좛" | "좜" | "좝" | "좞" | "좟" | "좠" | "좡" | "좢" | "좣" | "좤" | "좥" | "좦" | "좧" | "쫘" | "쫙" | "쫚" | "쫛" | "쫜" | "쫝" | "쫞" | "쫟" | "쫠" | "쫡" | "쫢" | "쫣" | "쫤" | "쫥" | "쫦" | "쫧" | "쫨" | "쫩" | "쫪" | "쫫" | "쫬" | "쫭" | "쫮" | "쫯" | "쫰" | "쫱" | "쫲" | "쫳" | "촤" | "촥" | "촦" | "촧" | "촨" | "촩" | "촪" | "촫" | "촬" | "촭" | "촮" | "촯" | "촰" | "촱" | "촲" | "촳" | "촴" | "촵" | "촶" | "촷" | "촸" | "촹" | "촺" | "촻" | "촼" | "촽" | "촾" | "촿" | "콰" | "콱" | "콲" | "콳" | "콴" | "콵" | "콶" | "콷" | "콸" | "콹" | "콺" | "콻" | "콼" | "콽" | "콾" | "콿" | "쾀" | "쾁" | "쾂" | "쾃" | "쾄" | "쾅" | "쾆" | "쾇" | "쾈" | "쾉" | "쾊" | "쾋" | "톼" | "톽" | "톾" | "톿" | "퇀" | "퇁" | "퇂" | "퇃" | "퇄" | "퇅" | "퇆" | "퇇" | "퇈" | "퇉" | "퇊" | "퇋" | "퇌" | "퇍" | "퇎" | "퇏" | "퇐" | "퇑" | "퇒" | "퇓" | "퇔" | "퇕" | "퇖" | "퇗" | "퐈" | "퐉" | "퐊" | "퐋" | "퐌" | "퐍" | "퐎" | "퐏" | "퐐" | "퐑" | "퐒" | "퐓" | "퐔" | "퐕" | "퐖" | "퐗" | "퐘" | "퐙" | "퐚" | "퐛" | "퐜" | "퐝" | "퐞" | "퐟" | "퐠" | "퐡" | "퐢" | "퐣" | "화" | "확" | "홖" | "홗" | "환" | "홙" | "홚" | "홛" | "활" | "홝" | "홞" | "홟" | "홠" | "홡" | "홢" | "홣" | "홤" | "홥" | "홦" | "홧" | "홨" | "황" | "홪" | "홫" | "홬" | "홭" | "홮" | "홯") ; - 'all_with_왜' : pattern Str = #("괘" | "괙" | "괚" | "괛" | "괜" | "괝" | "괞" | "괟" | "괠" | "괡" | "괢" | "괣" | "괤" | "괥" | "괦" | "괧" | "괨" | "괩" | "괪" | "괫" | "괬" | "괭" | "괮" | "괯" | "괰" | "괱" | "괲" | "괳" | "꽤" | "꽥" | "꽦" | "꽧" | "꽨" | "꽩" | "꽪" | "꽫" | "꽬" | "꽭" | "꽮" | "꽯" | "꽰" | "꽱" | "꽲" | "꽳" | "꽴" | "꽵" | "꽶" | "꽷" | "꽸" | "꽹" | "꽺" | "꽻" | "꽼" | "꽽" | "꽾" | "꽿" | "놰" | "놱" | "놲" | "놳" | "놴" | "놵" | "놶" | "놷" | "놸" | "놹" | "놺" | "놻" | "놼" | "놽" | "놾" | "놿" | "뇀" | "뇁" | "뇂" | "뇃" | "뇄" | "뇅" | "뇆" | "뇇" | "뇈" | "뇉" | "뇊" | "뇋" | "돼" | "돽" | "돾" | "돿" | "됀" | "됁" | "됂" | "됃" | "됄" | "됅" | "됆" | "됇" | "됈" | "됉" | "됊" | "됋" | "됌" | "됍" | "됎" | "됏" | "됐" | "됑" | "됒" | "됓" | "됔" | "됕" | "됖" | "됗" | "뙈" | "뙉" | "뙊" | "뙋" | "뙌" | "뙍" | "뙎" | "뙏" | "뙐" | "뙑" | "뙒" | "뙓" | "뙔" | "뙕" | "뙖" | "뙗" | "뙘" | "뙙" | "뙚" | "뙛" | "뙜" | "뙝" | "뙞" | "뙟" | "뙠" | "뙡" | "뙢" | "뙣" | "뢔" | "뢕" | "뢖" | "뢗" | "뢘" | "뢙" | "뢚" | "뢛" | "뢜" | "뢝" | "뢞" | "뢟" | "뢠" | "뢡" | "뢢" | "뢣" | "뢤" | "뢥" | "뢦" | "뢧" | "뢨" | "뢩" | "뢪" | "뢫" | "뢬" | "뢭" | "뢮" | "뢯" | "뫠" | "뫡" | "뫢" | "뫣" | "뫤" | "뫥" | "뫦" | "뫧" | "뫨" | "뫩" | "뫪" | "뫫" | "뫬" | "뫭" | "뫮" | "뫯" | "뫰" | "뫱" | "뫲" | "뫳" | "뫴" | "뫵" | "뫶" | "뫷" | "뫸" | "뫹" | "뫺" | "뫻" | "봬" | "봭" | "봮" | "봯" | "봰" | "봱" | "봲" | "봳" | "봴" | "봵" | "봶" | "봷" | "봸" | "봹" | "봺" | "봻" | "봼" | "봽" | "봾" | "봿" | "뵀" | "뵁" | "뵂" | "뵃" | "뵄" | "뵅" | "뵆" | "뵇" | "뽸" | "뽹" | "뽺" | "뽻" | "뽼" | "뽽" | "뽾" | "뽿" | "뾀" | "뾁" | "뾂" | "뾃" | "뾄" | "뾅" | "뾆" | "뾇" | "뾈" | "뾉" | "뾊" | "뾋" | "뾌" | "뾍" | "뾎" | "뾏" | "뾐" | "뾑" | "뾒" | "뾓" | "쇄" | "쇅" | "쇆" | "쇇" | "쇈" | "쇉" | "쇊" | "쇋" | "쇌" | "쇍" | "쇎" | "쇏" | "쇐" | "쇑" | "쇒" | "쇓" | "쇔" | "쇕" | "쇖" | "쇗" | "쇘" | "쇙" | "쇚" | "쇛" | "쇜" | "쇝" | "쇞" | "쇟" | "쐐" | "쐑" | "쐒" | "쐓" | "쐔" | "쐕" | "쐖" | "쐗" | "쐘" | "쐙" | "쐚" | "쐛" | "쐜" | "쐝" | "쐞" | "쐟" | "쐠" | "쐡" | "쐢" | "쐣" | "쐤" | "쐥" | "쐦" | "쐧" | "쐨" | "쐩" | "쐪" | "쐫" | "왜" | "왝" | "왞" | "왟" | "왠" | "왡" | "왢" | "왣" | "왤" | "왥" | "왦" | "왧" | "왨" | "왩" | "왪" | "왫" | "왬" | "왭" | "왮" | "왯" | "왰" | "왱" | "왲" | "왳" | "왴" | "왵" | "왶" | "왷" | "좨" | "좩" | "좪" | "좫" | "좬" | "좭" | "좮" | "좯" | "좰" | "좱" | "좲" | "좳" | "좴" | "좵" | "좶" | "좷" | "좸" | "좹" | "좺" | "좻" | "좼" | "좽" | "좾" | "좿" | "죀" | "죁" | "죂" | "죃" | "쫴" | "쫵" | "쫶" | "쫷" | "쫸" | "쫹" | "쫺" | "쫻" | "쫼" | "쫽" | "쫾" | "쫿" | "쬀" | "쬁" | "쬂" | "쬃" | "쬄" | "쬅" | "쬆" | "쬇" | "쬈" | "쬉" | "쬊" | "쬋" | "쬌" | "쬍" | "쬎" | "쬏" | "쵀" | "쵁" | "쵂" | "쵃" | "쵄" | "쵅" | "쵆" | "쵇" | "쵈" | "쵉" | "쵊" | "쵋" | "쵌" | "쵍" | "쵎" | "쵏" | "쵐" | "쵑" | "쵒" | "쵓" | "쵔" | "쵕" | "쵖" | "쵗" | "쵘" | "쵙" | "쵚" | "쵛" | "쾌" | "쾍" | "쾎" | "쾏" | "쾐" | "쾑" | "쾒" | "쾓" | "쾔" | "쾕" | "쾖" | "쾗" | "쾘" | "쾙" | "쾚" | "쾛" | "쾜" | "쾝" | "쾞" | "쾟" | "쾠" | "쾡" | "쾢" | "쾣" | "쾤" | "쾥" | "쾦" | "쾧" | "퇘" | "퇙" | "퇚" | "퇛" | "퇜" | "퇝" | "퇞" | "퇟" | "퇠" | "퇡" | "퇢" | "퇣" | "퇤" | "퇥" | "퇦" | "퇧" | "퇨" | "퇩" | "퇪" | "퇫" | "퇬" | "퇭" | "퇮" | "퇯" | "퇰" | "퇱" | "퇲" | "퇳" | "퐤" | "퐥" | "퐦" | "퐧" | "퐨" | "퐩" | "퐪" | "퐫" | "퐬" | "퐭" | "퐮" | "퐯" | "퐰" | "퐱" | "퐲" | "퐳" | "퐴" | "퐵" | "퐶" | "퐷" | "퐸" | "퐹" | "퐺" | "퐻" | "퐼" | "퐽" | "퐾" | "퐿" | "홰" | "홱" | "홲" | "홳" | "홴" | "홵" | "홶" | "홷" | "홸" | "홹" | "홺" | "홻" | "홼" | "홽" | "홾" | "홿" | "횀" | "횁" | "횂" | "횃" | "횄" | "횅" | "횆" | "횇" | "횈" | "횉" | "횊" | "횋") ; - 'all_with_외' : pattern Str = #("괴" | "괵" | "괶" | "괷" | "괸" | "괹" | "괺" | "괻" | "괼" | "괽" | "괾" | "괿" | "굀" | "굁" | "굂" | "굃" | "굄" | "굅" | "굆" | "굇" | "굈" | "굉" | "굊" | "굋" | "굌" | "굍" | "굎" | "굏" | "꾀" | "꾁" | "꾂" | "꾃" | "꾄" | "꾅" | "꾆" | "꾇" | "꾈" | "꾉" | "꾊" | "꾋" | "꾌" | "꾍" | "꾎" | "꾏" | "꾐" | "꾑" | "꾒" | "꾓" | "꾔" | "꾕" | "꾖" | "꾗" | "꾘" | "꾙" | "꾚" | "꾛" | "뇌" | "뇍" | "뇎" | "뇏" | "뇐" | "뇑" | "뇒" | "뇓" | "뇔" | "뇕" | "뇖" | "뇗" | "뇘" | "뇙" | "뇚" | "뇛" | "뇜" | "뇝" | "뇞" | "뇟" | "뇠" | "뇡" | "뇢" | "뇣" | "뇤" | "뇥" | "뇦" | "뇧" | "되" | "됙" | "됚" | "됛" | "된" | "됝" | "됞" | "됟" | "될" | "됡" | "됢" | "됣" | "됤" | "됥" | "됦" | "됧" | "됨" | "됩" | "됪" | "됫" | "됬" | "됭" | "됮" | "됯" | "됰" | "됱" | "됲" | "됳" | "뙤" | "뙥" | "뙦" | "뙧" | "뙨" | "뙩" | "뙪" | "뙫" | "뙬" | "뙭" | "뙮" | "뙯" | "뙰" | "뙱" | "뙲" | "뙳" | "뙴" | "뙵" | "뙶" | "뙷" | "뙸" | "뙹" | "뙺" | "뙻" | "뙼" | "뙽" | "뙾" | "뙿" | "뢰" | "뢱" | "뢲" | "뢳" | "뢴" | "뢵" | "뢶" | "뢷" | "뢸" | "뢹" | "뢺" | "뢻" | "뢼" | "뢽" | "뢾" | "뢿" | "룀" | "룁" | "룂" | "룃" | "룄" | "룅" | "룆" | "룇" | "룈" | "룉" | "룊" | "룋" | "뫼" | "뫽" | "뫾" | "뫿" | "묀" | "묁" | "묂" | "묃" | "묄" | "묅" | "묆" | "묇" | "묈" | "묉" | "묊" | "묋" | "묌" | "묍" | "묎" | "묏" | "묐" | "묑" | "묒" | "묓" | "묔" | "묕" | "묖" | "묗" | "뵈" | "뵉" | "뵊" | "뵋" | "뵌" | "뵍" | "뵎" | "뵏" | "뵐" | "뵑" | "뵒" | "뵓" | "뵔" | "뵕" | "뵖" | "뵗" | "뵘" | "뵙" | "뵚" | "뵛" | "뵜" | "뵝" | "뵞" | "뵟" | "뵠" | "뵡" | "뵢" | "뵣" | "뾔" | "뾕" | "뾖" | "뾗" | "뾘" | "뾙" | "뾚" | "뾛" | "뾜" | "뾝" | "뾞" | "뾟" | "뾠" | "뾡" | "뾢" | "뾣" | "뾤" | "뾥" | "뾦" | "뾧" | "뾨" | "뾩" | "뾪" | "뾫" | "뾬" | "뾭" | "뾮" | "뾯" | "쇠" | "쇡" | "쇢" | "쇣" | "쇤" | "쇥" | "쇦" | "쇧" | "쇨" | "쇩" | "쇪" | "쇫" | "쇬" | "쇭" | "쇮" | "쇯" | "쇰" | "쇱" | "쇲" | "쇳" | "쇴" | "쇵" | "쇶" | "쇷" | "쇸" | "쇹" | "쇺" | "쇻" | "쐬" | "쐭" | "쐮" | "쐯" | "쐰" | "쐱" | "쐲" | "쐳" | "쐴" | "쐵" | "쐶" | "쐷" | "쐸" | "쐹" | "쐺" | "쐻" | "쐼" | "쐽" | "쐾" | "쐿" | "쑀" | "쑁" | "쑂" | "쑃" | "쑄" | "쑅" | "쑆" | "쑇" | "외" | "왹" | "왺" | "왻" | "왼" | "왽" | "왾" | "왿" | "욀" | "욁" | "욂" | "욃" | "욄" | "욅" | "욆" | "욇" | "욈" | "욉" | "욊" | "욋" | "욌" | "욍" | "욎" | "욏" | "욐" | "욑" | "욒" | "욓" | "죄" | "죅" | "죆" | "죇" | "죈" | "죉" | "죊" | "죋" | "죌" | "죍" | "죎" | "죏" | "죐" | "죑" | "죒" | "죓" | "죔" | "죕" | "죖" | "죗" | "죘" | "죙" | "죚" | "죛" | "죜" | "죝" | "죞" | "죟" | "쬐" | "쬑" | "쬒" | "쬓" | "쬔" | "쬕" | "쬖" | "쬗" | "쬘" | "쬙" | "쬚" | "쬛" | "쬜" | "쬝" | "쬞" | "쬟" | "쬠" | "쬡" | "쬢" | "쬣" | "쬤" | "쬥" | "쬦" | "쬧" | "쬨" | "쬩" | "쬪" | "쬫" | "최" | "쵝" | "쵞" | "쵟" | "쵠" | "쵡" | "쵢" | "쵣" | "쵤" | "쵥" | "쵦" | "쵧" | "쵨" | "쵩" | "쵪" | "쵫" | "쵬" | "쵭" | "쵮" | "쵯" | "쵰" | "쵱" | "쵲" | "쵳" | "쵴" | "쵵" | "쵶" | "쵷" | "쾨" | "쾩" | "쾪" | "쾫" | "쾬" | "쾭" | "쾮" | "쾯" | "쾰" | "쾱" | "쾲" | "쾳" | "쾴" | "쾵" | "쾶" | "쾷" | "쾸" | "쾹" | "쾺" | "쾻" | "쾼" | "쾽" | "쾾" | "쾿" | "쿀" | "쿁" | "쿂" | "쿃" | "퇴" | "퇵" | "퇶" | "퇷" | "퇸" | "퇹" | "퇺" | "퇻" | "퇼" | "퇽" | "퇾" | "퇿" | "툀" | "툁" | "툂" | "툃" | "툄" | "툅" | "툆" | "툇" | "툈" | "툉" | "툊" | "툋" | "툌" | "툍" | "툎" | "툏" | "푀" | "푁" | "푂" | "푃" | "푄" | "푅" | "푆" | "푇" | "푈" | "푉" | "푊" | "푋" | "푌" | "푍" | "푎" | "푏" | "푐" | "푑" | "푒" | "푓" | "푔" | "푕" | "푖" | "푗" | "푘" | "푙" | "푚" | "푛" | "회" | "획" | "횎" | "횏" | "횐" | "횑" | "횒" | "횓" | "횔" | "횕" | "횖" | "횗" | "횘" | "횙" | "횚" | "횛" | "횜" | "횝" | "횞" | "횟" | "횠" | "횡" | "횢" | "횣" | "횤" | "횥" | "횦" | "횧") ; - 'all_with_요' : pattern Str = #("교" | "굑" | "굒" | "굓" | "굔" | "굕" | "굖" | "굗" | "굘" | "굙" | "굚" | "굛" | "굜" | "굝" | "굞" | "굟" | "굠" | "굡" | "굢" | "굣" | "굤" | "굥" | "굦" | "굧" | "굨" | "굩" | "굪" | "굫" | "꾜" | "꾝" | "꾞" | "꾟" | "꾠" | "꾡" | "꾢" | "꾣" | "꾤" | "꾥" | "꾦" | "꾧" | "꾨" | "꾩" | "꾪" | "꾫" | "꾬" | "꾭" | "꾮" | "꾯" | "꾰" | "꾱" | "꾲" | "꾳" | "꾴" | "꾵" | "꾶" | "꾷" | "뇨" | "뇩" | "뇪" | "뇫" | "뇬" | "뇭" | "뇮" | "뇯" | "뇰" | "뇱" | "뇲" | "뇳" | "뇴" | "뇵" | "뇶" | "뇷" | "뇸" | "뇹" | "뇺" | "뇻" | "뇼" | "뇽" | "뇾" | "뇿" | "눀" | "눁" | "눂" | "눃" | "됴" | "됵" | "됶" | "됷" | "됸" | "됹" | "됺" | "됻" | "됼" | "됽" | "됾" | "됿" | "둀" | "둁" | "둂" | "둃" | "둄" | "둅" | "둆" | "둇" | "둈" | "둉" | "둊" | "둋" | "둌" | "둍" | "둎" | "둏" | "뚀" | "뚁" | "뚂" | "뚃" | "뚄" | "뚅" | "뚆" | "뚇" | "뚈" | "뚉" | "뚊" | "뚋" | "뚌" | "뚍" | "뚎" | "뚏" | "뚐" | "뚑" | "뚒" | "뚓" | "뚔" | "뚕" | "뚖" | "뚗" | "뚘" | "뚙" | "뚚" | "뚛" | "료" | "룍" | "룎" | "룏" | "룐" | "룑" | "룒" | "룓" | "룔" | "룕" | "룖" | "룗" | "룘" | "룙" | "룚" | "룛" | "룜" | "룝" | "룞" | "룟" | "룠" | "룡" | "룢" | "룣" | "룤" | "룥" | "룦" | "룧" | "묘" | "묙" | "묚" | "묛" | "묜" | "묝" | "묞" | "묟" | "묠" | "묡" | "묢" | "묣" | "묤" | "묥" | "묦" | "묧" | "묨" | "묩" | "묪" | "묫" | "묬" | "묭" | "묮" | "묯" | "묰" | "묱" | "묲" | "묳" | "뵤" | "뵥" | "뵦" | "뵧" | "뵨" | "뵩" | "뵪" | "뵫" | "뵬" | "뵭" | "뵮" | "뵯" | "뵰" | "뵱" | "뵲" | "뵳" | "뵴" | "뵵" | "뵶" | "뵷" | "뵸" | "뵹" | "뵺" | "뵻" | "뵼" | "뵽" | "뵾" | "뵿" | "뾰" | "뾱" | "뾲" | "뾳" | "뾴" | "뾵" | "뾶" | "뾷" | "뾸" | "뾹" | "뾺" | "뾻" | "뾼" | "뾽" | "뾾" | "뾿" | "뿀" | "뿁" | "뿂" | "뿃" | "뿄" | "뿅" | "뿆" | "뿇" | "뿈" | "뿉" | "뿊" | "뿋" | "쇼" | "쇽" | "쇾" | "쇿" | "숀" | "숁" | "숂" | "숃" | "숄" | "숅" | "숆" | "숇" | "숈" | "숉" | "숊" | "숋" | "숌" | "숍" | "숎" | "숏" | "숐" | "숑" | "숒" | "숓" | "숔" | "숕" | "숖" | "숗" | "쑈" | "쑉" | "쑊" | "쑋" | "쑌" | "쑍" | "쑎" | "쑏" | "쑐" | "쑑" | "쑒" | "쑓" | "쑔" | "쑕" | "쑖" | "쑗" | "쑘" | "쑙" | "쑚" | "쑛" | "쑜" | "쑝" | "쑞" | "쑟" | "쑠" | "쑡" | "쑢" | "쑣" | "요" | "욕" | "욖" | "욗" | "욘" | "욙" | "욚" | "욛" | "욜" | "욝" | "욞" | "욟" | "욠" | "욡" | "욢" | "욣" | "욤" | "욥" | "욦" | "욧" | "욨" | "용" | "욪" | "욫" | "욬" | "욭" | "욮" | "욯" | "죠" | "죡" | "죢" | "죣" | "죤" | "죥" | "죦" | "죧" | "죨" | "죩" | "죪" | "죫" | "죬" | "죭" | "죮" | "죯" | "죰" | "죱" | "죲" | "죳" | "죴" | "죵" | "죶" | "죷" | "죸" | "죹" | "죺" | "죻" | "쬬" | "쬭" | "쬮" | "쬯" | "쬰" | "쬱" | "쬲" | "쬳" | "쬴" | "쬵" | "쬶" | "쬷" | "쬸" | "쬹" | "쬺" | "쬻" | "쬼" | "쬽" | "쬾" | "쬿" | "쭀" | "쭁" | "쭂" | "쭃" | "쭄" | "쭅" | "쭆" | "쭇" | "쵸" | "쵹" | "쵺" | "쵻" | "쵼" | "쵽" | "쵾" | "쵿" | "춀" | "춁" | "춂" | "춃" | "춄" | "춅" | "춆" | "춇" | "춈" | "춉" | "춊" | "춋" | "춌" | "춍" | "춎" | "춏" | "춐" | "춑" | "춒" | "춓" | "쿄" | "쿅" | "쿆" | "쿇" | "쿈" | "쿉" | "쿊" | "쿋" | "쿌" | "쿍" | "쿎" | "쿏" | "쿐" | "쿑" | "쿒" | "쿓" | "쿔" | "쿕" | "쿖" | "쿗" | "쿘" | "쿙" | "쿚" | "쿛" | "쿜" | "쿝" | "쿞" | "쿟" | "툐" | "툑" | "툒" | "툓" | "툔" | "툕" | "툖" | "툗" | "툘" | "툙" | "툚" | "툛" | "툜" | "툝" | "툞" | "툟" | "툠" | "툡" | "툢" | "툣" | "툤" | "툥" | "툦" | "툧" | "툨" | "툩" | "툪" | "툫" | "표" | "푝" | "푞" | "푟" | "푠" | "푡" | "푢" | "푣" | "푤" | "푥" | "푦" | "푧" | "푨" | "푩" | "푪" | "푫" | "푬" | "푭" | "푮" | "푯" | "푰" | "푱" | "푲" | "푳" | "푴" | "푵" | "푶" | "푷" | "효" | "횩" | "횪" | "횫" | "횬" | "횭" | "횮" | "횯" | "횰" | "횱" | "횲" | "횳" | "횴" | "횵" | "횶" | "횷" | "횸" | "횹" | "횺" | "횻" | "횼" | "횽" | "횾" | "횿" | "훀" | "훁" | "훂" | "훃") ; - 'all_with_우' : pattern Str = #("구" | "국" | "굮" | "굯" | "군" | "굱" | "굲" | "굳" | "굴" | "굵" | "굶" | "굷" | "굸" | "굹" | "굺" | "굻" | "굼" | "굽" | "굾" | "굿" | "궀" | "궁" | "궂" | "궃" | "궄" | "궅" | "궆" | "궇" | "꾸" | "꾹" | "꾺" | "꾻" | "꾼" | "꾽" | "꾾" | "꾿" | "꿀" | "꿁" | "꿂" | "꿃" | "꿄" | "꿅" | "꿆" | "꿇" | "꿈" | "꿉" | "꿊" | "꿋" | "꿌" | "꿍" | "꿎" | "꿏" | "꿐" | "꿑" | "꿒" | "꿓" | "누" | "눅" | "눆" | "눇" | "눈" | "눉" | "눊" | "눋" | "눌" | "눍" | "눎" | "눏" | "눐" | "눑" | "눒" | "눓" | "눔" | "눕" | "눖" | "눗" | "눘" | "눙" | "눚" | "눛" | "눜" | "눝" | "눞" | "눟" | "두" | "둑" | "둒" | "둓" | "둔" | "둕" | "둖" | "둗" | "둘" | "둙" | "둚" | "둛" | "둜" | "둝" | "둞" | "둟" | "둠" | "둡" | "둢" | "둣" | "둤" | "둥" | "둦" | "둧" | "둨" | "둩" | "둪" | "둫" | "뚜" | "뚝" | "뚞" | "뚟" | "뚠" | "뚡" | "뚢" | "뚣" | "뚤" | "뚥" | "뚦" | "뚧" | "뚨" | "뚩" | "뚪" | "뚫" | "뚬" | "뚭" | "뚮" | "뚯" | "뚰" | "뚱" | "뚲" | "뚳" | "뚴" | "뚵" | "뚶" | "뚷" | "루" | "룩" | "룪" | "룫" | "룬" | "룭" | "룮" | "룯" | "룰" | "룱" | "룲" | "룳" | "룴" | "룵" | "룶" | "룷" | "룸" | "룹" | "룺" | "룻" | "룼" | "룽" | "룾" | "룿" | "뤀" | "뤁" | "뤂" | "뤃" | "무" | "묵" | "묶" | "묷" | "문" | "묹" | "묺" | "묻" | "물" | "묽" | "묾" | "묿" | "뭀" | "뭁" | "뭂" | "뭃" | "뭄" | "뭅" | "뭆" | "뭇" | "뭈" | "뭉" | "뭊" | "뭋" | "뭌" | "뭍" | "뭎" | "뭏" | "부" | "북" | "붂" | "붃" | "분" | "붅" | "붆" | "붇" | "불" | "붉" | "붊" | "붋" | "붌" | "붍" | "붎" | "붏" | "붐" | "붑" | "붒" | "붓" | "붔" | "붕" | "붖" | "붗" | "붘" | "붙" | "붚" | "붛" | "뿌" | "뿍" | "뿎" | "뿏" | "뿐" | "뿑" | "뿒" | "뿓" | "뿔" | "뿕" | "뿖" | "뿗" | "뿘" | "뿙" | "뿚" | "뿛" | "뿜" | "뿝" | "뿞" | "뿟" | "뿠" | "뿡" | "뿢" | "뿣" | "뿤" | "뿥" | "뿦" | "뿧" | "수" | "숙" | "숚" | "숛" | "순" | "숝" | "숞" | "숟" | "술" | "숡" | "숢" | "숣" | "숤" | "숥" | "숦" | "숧" | "숨" | "숩" | "숪" | "숫" | "숬" | "숭" | "숮" | "숯" | "숰" | "숱" | "숲" | "숳" | "쑤" | "쑥" | "쑦" | "쑧" | "쑨" | "쑩" | "쑪" | "쑫" | "쑬" | "쑭" | "쑮" | "쑯" | "쑰" | "쑱" | "쑲" | "쑳" | "쑴" | "쑵" | "쑶" | "쑷" | "쑸" | "쑹" | "쑺" | "쑻" | "쑼" | "쑽" | "쑾" | "쑿" | "우" | "욱" | "욲" | "욳" | "운" | "욵" | "욶" | "욷" | "울" | "욹" | "욺" | "욻" | "욼" | "욽" | "욾" | "욿" | "움" | "웁" | "웂" | "웃" | "웄" | "웅" | "웆" | "웇" | "웈" | "웉" | "웊" | "웋" | "주" | "죽" | "죾" | "죿" | "준" | "줁" | "줂" | "줃" | "줄" | "줅" | "줆" | "줇" | "줈" | "줉" | "줊" | "줋" | "줌" | "줍" | "줎" | "줏" | "줐" | "중" | "줒" | "줓" | "줔" | "줕" | "줖" | "줗" | "쭈" | "쭉" | "쭊" | "쭋" | "쭌" | "쭍" | "쭎" | "쭏" | "쭐" | "쭑" | "쭒" | "쭓" | "쭔" | "쭕" | "쭖" | "쭗" | "쭘" | "쭙" | "쭚" | "쭛" | "쭜" | "쭝" | "쭞" | "쭟" | "쭠" | "쭡" | "쭢" | "쭣" | "추" | "축" | "춖" | "춗" | "춘" | "춙" | "춚" | "춛" | "출" | "춝" | "춞" | "춟" | "춠" | "춡" | "춢" | "춣" | "춤" | "춥" | "춦" | "춧" | "춨" | "충" | "춪" | "춫" | "춬" | "춭" | "춮" | "춯" | "쿠" | "쿡" | "쿢" | "쿣" | "쿤" | "쿥" | "쿦" | "쿧" | "쿨" | "쿩" | "쿪" | "쿫" | "쿬" | "쿭" | "쿮" | "쿯" | "쿰" | "쿱" | "쿲" | "쿳" | "쿴" | "쿵" | "쿶" | "쿷" | "쿸" | "쿹" | "쿺" | "쿻" | "투" | "툭" | "툮" | "툯" | "툰" | "툱" | "툲" | "툳" | "툴" | "툵" | "툶" | "툷" | "툸" | "툹" | "툺" | "툻" | "툼" | "툽" | "툾" | "툿" | "퉀" | "퉁" | "퉂" | "퉃" | "퉄" | "퉅" | "퉆" | "퉇" | "푸" | "푹" | "푺" | "푻" | "푼" | "푽" | "푾" | "푿" | "풀" | "풁" | "풂" | "풃" | "풄" | "풅" | "풆" | "풇" | "품" | "풉" | "풊" | "풋" | "풌" | "풍" | "풎" | "풏" | "풐" | "풑" | "풒" | "풓" | "후" | "훅" | "훆" | "훇" | "훈" | "훉" | "훊" | "훋" | "훌" | "훍" | "훎" | "훏" | "훐" | "훑" | "훒" | "훓" | "훔" | "훕" | "훖" | "훗" | "훘" | "훙" | "훚" | "훛" | "훜" | "훝" | "훞" | "훟") ; - 'all_with_워' : pattern Str = #("궈" | "궉" | "궊" | "궋" | "권" | "궍" | "궎" | "궏" | "궐" | "궑" | "궒" | "궓" | "궔" | "궕" | "궖" | "궗" | "궘" | "궙" | "궚" | "궛" | "궜" | "궝" | "궞" | "궟" | "궠" | "궡" | "궢" | "궣" | "꿔" | "꿕" | "꿖" | "꿗" | "꿘" | "꿙" | "꿚" | "꿛" | "꿜" | "꿝" | "꿞" | "꿟" | "꿠" | "꿡" | "꿢" | "꿣" | "꿤" | "꿥" | "꿦" | "꿧" | "꿨" | "꿩" | "꿪" | "꿫" | "꿬" | "꿭" | "꿮" | "꿯" | "눠" | "눡" | "눢" | "눣" | "눤" | "눥" | "눦" | "눧" | "눨" | "눩" | "눪" | "눫" | "눬" | "눭" | "눮" | "눯" | "눰" | "눱" | "눲" | "눳" | "눴" | "눵" | "눶" | "눷" | "눸" | "눹" | "눺" | "눻" | "둬" | "둭" | "둮" | "둯" | "둰" | "둱" | "둲" | "둳" | "둴" | "둵" | "둶" | "둷" | "둸" | "둹" | "둺" | "둻" | "둼" | "둽" | "둾" | "둿" | "뒀" | "뒁" | "뒂" | "뒃" | "뒄" | "뒅" | "뒆" | "뒇" | "뚸" | "뚹" | "뚺" | "뚻" | "뚼" | "뚽" | "뚾" | "뚿" | "뛀" | "뛁" | "뛂" | "뛃" | "뛄" | "뛅" | "뛆" | "뛇" | "뛈" | "뛉" | "뛊" | "뛋" | "뛌" | "뛍" | "뛎" | "뛏" | "뛐" | "뛑" | "뛒" | "뛓" | "뤄" | "뤅" | "뤆" | "뤇" | "뤈" | "뤉" | "뤊" | "뤋" | "뤌" | "뤍" | "뤎" | "뤏" | "뤐" | "뤑" | "뤒" | "뤓" | "뤔" | "뤕" | "뤖" | "뤗" | "뤘" | "뤙" | "뤚" | "뤛" | "뤜" | "뤝" | "뤞" | "뤟" | "뭐" | "뭑" | "뭒" | "뭓" | "뭔" | "뭕" | "뭖" | "뭗" | "뭘" | "뭙" | "뭚" | "뭛" | "뭜" | "뭝" | "뭞" | "뭟" | "뭠" | "뭡" | "뭢" | "뭣" | "뭤" | "뭥" | "뭦" | "뭧" | "뭨" | "뭩" | "뭪" | "뭫" | "붜" | "붝" | "붞" | "붟" | "붠" | "붡" | "붢" | "붣" | "붤" | "붥" | "붦" | "붧" | "붨" | "붩" | "붪" | "붫" | "붬" | "붭" | "붮" | "붯" | "붰" | "붱" | "붲" | "붳" | "붴" | "붵" | "붶" | "붷" | "뿨" | "뿩" | "뿪" | "뿫" | "뿬" | "뿭" | "뿮" | "뿯" | "뿰" | "뿱" | "뿲" | "뿳" | "뿴" | "뿵" | "뿶" | "뿷" | "뿸" | "뿹" | "뿺" | "뿻" | "뿼" | "뿽" | "뿾" | "뿿" | "쀀" | "쀁" | "쀂" | "쀃" | "숴" | "숵" | "숶" | "숷" | "숸" | "숹" | "숺" | "숻" | "숼" | "숽" | "숾" | "숿" | "쉀" | "쉁" | "쉂" | "쉃" | "쉄" | "쉅" | "쉆" | "쉇" | "쉈" | "쉉" | "쉊" | "쉋" | "쉌" | "쉍" | "쉎" | "쉏" | "쒀" | "쒁" | "쒂" | "쒃" | "쒄" | "쒅" | "쒆" | "쒇" | "쒈" | "쒉" | "쒊" | "쒋" | "쒌" | "쒍" | "쒎" | "쒏" | "쒐" | "쒑" | "쒒" | "쒓" | "쒔" | "쒕" | "쒖" | "쒗" | "쒘" | "쒙" | "쒚" | "쒛" | "워" | "웍" | "웎" | "웏" | "원" | "웑" | "웒" | "웓" | "월" | "웕" | "웖" | "웗" | "웘" | "웙" | "웚" | "웛" | "웜" | "웝" | "웞" | "웟" | "웠" | "웡" | "웢" | "웣" | "웤" | "웥" | "웦" | "웧" | "줘" | "줙" | "줚" | "줛" | "줜" | "줝" | "줞" | "줟" | "줠" | "줡" | "줢" | "줣" | "줤" | "줥" | "줦" | "줧" | "줨" | "줩" | "줪" | "줫" | "줬" | "줭" | "줮" | "줯" | "줰" | "줱" | "줲" | "줳" | "쭤" | "쭥" | "쭦" | "쭧" | "쭨" | "쭩" | "쭪" | "쭫" | "쭬" | "쭭" | "쭮" | "쭯" | "쭰" | "쭱" | "쭲" | "쭳" | "쭴" | "쭵" | "쭶" | "쭷" | "쭸" | "쭹" | "쭺" | "쭻" | "쭼" | "쭽" | "쭾" | "쭿" | "춰" | "춱" | "춲" | "춳" | "춴" | "춵" | "춶" | "춷" | "춸" | "춹" | "춺" | "춻" | "춼" | "춽" | "춾" | "춿" | "췀" | "췁" | "췂" | "췃" | "췄" | "췅" | "췆" | "췇" | "췈" | "췉" | "췊" | "췋" | "쿼" | "쿽" | "쿾" | "쿿" | "퀀" | "퀁" | "퀂" | "퀃" | "퀄" | "퀅" | "퀆" | "퀇" | "퀈" | "퀉" | "퀊" | "퀋" | "퀌" | "퀍" | "퀎" | "퀏" | "퀐" | "퀑" | "퀒" | "퀓" | "퀔" | "퀕" | "퀖" | "퀗" | "퉈" | "퉉" | "퉊" | "퉋" | "퉌" | "퉍" | "퉎" | "퉏" | "퉐" | "퉑" | "퉒" | "퉓" | "퉔" | "퉕" | "퉖" | "퉗" | "퉘" | "퉙" | "퉚" | "퉛" | "퉜" | "퉝" | "퉞" | "퉟" | "퉠" | "퉡" | "퉢" | "퉣" | "풔" | "풕" | "풖" | "풗" | "풘" | "풙" | "풚" | "풛" | "풜" | "풝" | "풞" | "풟" | "풠" | "풡" | "풢" | "풣" | "풤" | "풥" | "풦" | "풧" | "풨" | "풩" | "풪" | "풫" | "풬" | "풭" | "풮" | "풯" | "훠" | "훡" | "훢" | "훣" | "훤" | "훥" | "훦" | "훧" | "훨" | "훩" | "훪" | "훫" | "훬" | "훭" | "훮" | "훯" | "훰" | "훱" | "훲" | "훳" | "훴" | "훵" | "훶" | "훷" | "훸" | "훹" | "훺" | "훻") ; - 'all_with_웨' : pattern Str = #("궤" | "궥" | "궦" | "궧" | "궨" | "궩" | "궪" | "궫" | "궬" | "궭" | "궮" | "궯" | "궰" | "궱" | "궲" | "궳" | "궴" | "궵" | "궶" | "궷" | "궸" | "궹" | "궺" | "궻" | "궼" | "궽" | "궾" | "궿" | "꿰" | "꿱" | "꿲" | "꿳" | "꿴" | "꿵" | "꿶" | "꿷" | "꿸" | "꿹" | "꿺" | "꿻" | "꿼" | "꿽" | "꿾" | "꿿" | "뀀" | "뀁" | "뀂" | "뀃" | "뀄" | "뀅" | "뀆" | "뀇" | "뀈" | "뀉" | "뀊" | "뀋" | "눼" | "눽" | "눾" | "눿" | "뉀" | "뉁" | "뉂" | "뉃" | "뉄" | "뉅" | "뉆" | "뉇" | "뉈" | "뉉" | "뉊" | "뉋" | "뉌" | "뉍" | "뉎" | "뉏" | "뉐" | "뉑" | "뉒" | "뉓" | "뉔" | "뉕" | "뉖" | "뉗" | "뒈" | "뒉" | "뒊" | "뒋" | "뒌" | "뒍" | "뒎" | "뒏" | "뒐" | "뒑" | "뒒" | "뒓" | "뒔" | "뒕" | "뒖" | "뒗" | "뒘" | "뒙" | "뒚" | "뒛" | "뒜" | "뒝" | "뒞" | "뒟" | "뒠" | "뒡" | "뒢" | "뒣" | "뛔" | "뛕" | "뛖" | "뛗" | "뛘" | "뛙" | "뛚" | "뛛" | "뛜" | "뛝" | "뛞" | "뛟" | "뛠" | "뛡" | "뛢" | "뛣" | "뛤" | "뛥" | "뛦" | "뛧" | "뛨" | "뛩" | "뛪" | "뛫" | "뛬" | "뛭" | "뛮" | "뛯" | "뤠" | "뤡" | "뤢" | "뤣" | "뤤" | "뤥" | "뤦" | "뤧" | "뤨" | "뤩" | "뤪" | "뤫" | "뤬" | "뤭" | "뤮" | "뤯" | "뤰" | "뤱" | "뤲" | "뤳" | "뤴" | "뤵" | "뤶" | "뤷" | "뤸" | "뤹" | "뤺" | "뤻" | "뭬" | "뭭" | "뭮" | "뭯" | "뭰" | "뭱" | "뭲" | "뭳" | "뭴" | "뭵" | "뭶" | "뭷" | "뭸" | "뭹" | "뭺" | "뭻" | "뭼" | "뭽" | "뭾" | "뭿" | "뮀" | "뮁" | "뮂" | "뮃" | "뮄" | "뮅" | "뮆" | "뮇" | "붸" | "붹" | "붺" | "붻" | "붼" | "붽" | "붾" | "붿" | "뷀" | "뷁" | "뷂" | "뷃" | "뷄" | "뷅" | "뷆" | "뷇" | "뷈" | "뷉" | "뷊" | "뷋" | "뷌" | "뷍" | "뷎" | "뷏" | "뷐" | "뷑" | "뷒" | "뷓" | "쀄" | "쀅" | "쀆" | "쀇" | "쀈" | "쀉" | "쀊" | "쀋" | "쀌" | "쀍" | "쀎" | "쀏" | "쀐" | "쀑" | "쀒" | "쀓" | "쀔" | "쀕" | "쀖" | "쀗" | "쀘" | "쀙" | "쀚" | "쀛" | "쀜" | "쀝" | "쀞" | "쀟" | "쉐" | "쉑" | "쉒" | "쉓" | "쉔" | "쉕" | "쉖" | "쉗" | "쉘" | "쉙" | "쉚" | "쉛" | "쉜" | "쉝" | "쉞" | "쉟" | "쉠" | "쉡" | "쉢" | "쉣" | "쉤" | "쉥" | "쉦" | "쉧" | "쉨" | "쉩" | "쉪" | "쉫" | "쒜" | "쒝" | "쒞" | "쒟" | "쒠" | "쒡" | "쒢" | "쒣" | "쒤" | "쒥" | "쒦" | "쒧" | "쒨" | "쒩" | "쒪" | "쒫" | "쒬" | "쒭" | "쒮" | "쒯" | "쒰" | "쒱" | "쒲" | "쒳" | "쒴" | "쒵" | "쒶" | "쒷" | "웨" | "웩" | "웪" | "웫" | "웬" | "웭" | "웮" | "웯" | "웰" | "웱" | "웲" | "웳" | "웴" | "웵" | "웶" | "웷" | "웸" | "웹" | "웺" | "웻" | "웼" | "웽" | "웾" | "웿" | "윀" | "윁" | "윂" | "윃" | "줴" | "줵" | "줶" | "줷" | "줸" | "줹" | "줺" | "줻" | "줼" | "줽" | "줾" | "줿" | "쥀" | "쥁" | "쥂" | "쥃" | "쥄" | "쥅" | "쥆" | "쥇" | "쥈" | "쥉" | "쥊" | "쥋" | "쥌" | "쥍" | "쥎" | "쥏" | "쮀" | "쮁" | "쮂" | "쮃" | "쮄" | "쮅" | "쮆" | "쮇" | "쮈" | "쮉" | "쮊" | "쮋" | "쮌" | "쮍" | "쮎" | "쮏" | "쮐" | "쮑" | "쮒" | "쮓" | "쮔" | "쮕" | "쮖" | "쮗" | "쮘" | "쮙" | "쮚" | "쮛" | "췌" | "췍" | "췎" | "췏" | "췐" | "췑" | "췒" | "췓" | "췔" | "췕" | "췖" | "췗" | "췘" | "췙" | "췚" | "췛" | "췜" | "췝" | "췞" | "췟" | "췠" | "췡" | "췢" | "췣" | "췤" | "췥" | "췦" | "췧" | "퀘" | "퀙" | "퀚" | "퀛" | "퀜" | "퀝" | "퀞" | "퀟" | "퀠" | "퀡" | "퀢" | "퀣" | "퀤" | "퀥" | "퀦" | "퀧" | "퀨" | "퀩" | "퀪" | "퀫" | "퀬" | "퀭" | "퀮" | "퀯" | "퀰" | "퀱" | "퀲" | "퀳" | "퉤" | "퉥" | "퉦" | "퉧" | "퉨" | "퉩" | "퉪" | "퉫" | "퉬" | "퉭" | "퉮" | "퉯" | "퉰" | "퉱" | "퉲" | "퉳" | "퉴" | "퉵" | "퉶" | "퉷" | "퉸" | "퉹" | "퉺" | "퉻" | "퉼" | "퉽" | "퉾" | "퉿" | "풰" | "풱" | "풲" | "풳" | "풴" | "풵" | "풶" | "풷" | "풸" | "풹" | "풺" | "풻" | "풼" | "풽" | "풾" | "풿" | "퓀" | "퓁" | "퓂" | "퓃" | "퓄" | "퓅" | "퓆" | "퓇" | "퓈" | "퓉" | "퓊" | "퓋" | "훼" | "훽" | "훾" | "훿" | "휀" | "휁" | "휂" | "휃" | "휄" | "휅" | "휆" | "휇" | "휈" | "휉" | "휊" | "휋" | "휌" | "휍" | "휎" | "휏" | "휐" | "휑" | "휒" | "휓" | "휔" | "휕" | "휖" | "휗") ; - 'all_with_위' : pattern Str = #("귀" | "귁" | "귂" | "귃" | "귄" | "귅" | "귆" | "귇" | "귈" | "귉" | "귊" | "귋" | "귌" | "귍" | "귎" | "귏" | "귐" | "귑" | "귒" | "귓" | "귔" | "귕" | "귖" | "귗" | "귘" | "귙" | "귚" | "귛" | "뀌" | "뀍" | "뀎" | "뀏" | "뀐" | "뀑" | "뀒" | "뀓" | "뀔" | "뀕" | "뀖" | "뀗" | "뀘" | "뀙" | "뀚" | "뀛" | "뀜" | "뀝" | "뀞" | "뀟" | "뀠" | "뀡" | "뀢" | "뀣" | "뀤" | "뀥" | "뀦" | "뀧" | "뉘" | "뉙" | "뉚" | "뉛" | "뉜" | "뉝" | "뉞" | "뉟" | "뉠" | "뉡" | "뉢" | "뉣" | "뉤" | "뉥" | "뉦" | "뉧" | "뉨" | "뉩" | "뉪" | "뉫" | "뉬" | "뉭" | "뉮" | "뉯" | "뉰" | "뉱" | "뉲" | "뉳" | "뒤" | "뒥" | "뒦" | "뒧" | "뒨" | "뒩" | "뒪" | "뒫" | "뒬" | "뒭" | "뒮" | "뒯" | "뒰" | "뒱" | "뒲" | "뒳" | "뒴" | "뒵" | "뒶" | "뒷" | "뒸" | "뒹" | "뒺" | "뒻" | "뒼" | "뒽" | "뒾" | "뒿" | "뛰" | "뛱" | "뛲" | "뛳" | "뛴" | "뛵" | "뛶" | "뛷" | "뛸" | "뛹" | "뛺" | "뛻" | "뛼" | "뛽" | "뛾" | "뛿" | "뜀" | "뜁" | "뜂" | "뜃" | "뜄" | "뜅" | "뜆" | "뜇" | "뜈" | "뜉" | "뜊" | "뜋" | "뤼" | "뤽" | "뤾" | "뤿" | "륀" | "륁" | "륂" | "륃" | "륄" | "륅" | "륆" | "륇" | "륈" | "륉" | "륊" | "륋" | "륌" | "륍" | "륎" | "륏" | "륐" | "륑" | "륒" | "륓" | "륔" | "륕" | "륖" | "륗" | "뮈" | "뮉" | "뮊" | "뮋" | "뮌" | "뮍" | "뮎" | "뮏" | "뮐" | "뮑" | "뮒" | "뮓" | "뮔" | "뮕" | "뮖" | "뮗" | "뮘" | "뮙" | "뮚" | "뮛" | "뮜" | "뮝" | "뮞" | "뮟" | "뮠" | "뮡" | "뮢" | "뮣" | "뷔" | "뷕" | "뷖" | "뷗" | "뷘" | "뷙" | "뷚" | "뷛" | "뷜" | "뷝" | "뷞" | "뷟" | "뷠" | "뷡" | "뷢" | "뷣" | "뷤" | "뷥" | "뷦" | "뷧" | "뷨" | "뷩" | "뷪" | "뷫" | "뷬" | "뷭" | "뷮" | "뷯" | "쀠" | "쀡" | "쀢" | "쀣" | "쀤" | "쀥" | "쀦" | "쀧" | "쀨" | "쀩" | "쀪" | "쀫" | "쀬" | "쀭" | "쀮" | "쀯" | "쀰" | "쀱" | "쀲" | "쀳" | "쀴" | "쀵" | "쀶" | "쀷" | "쀸" | "쀹" | "쀺" | "쀻" | "쉬" | "쉭" | "쉮" | "쉯" | "쉰" | "쉱" | "쉲" | "쉳" | "쉴" | "쉵" | "쉶" | "쉷" | "쉸" | "쉹" | "쉺" | "쉻" | "쉼" | "쉽" | "쉾" | "쉿" | "슀" | "슁" | "슂" | "슃" | "슄" | "슅" | "슆" | "슇" | "쒸" | "쒹" | "쒺" | "쒻" | "쒼" | "쒽" | "쒾" | "쒿" | "쓀" | "쓁" | "쓂" | "쓃" | "쓄" | "쓅" | "쓆" | "쓇" | "쓈" | "쓉" | "쓊" | "쓋" | "쓌" | "쓍" | "쓎" | "쓏" | "쓐" | "쓑" | "쓒" | "쓓" | "위" | "윅" | "윆" | "윇" | "윈" | "윉" | "윊" | "윋" | "윌" | "윍" | "윎" | "윏" | "윐" | "윑" | "윒" | "윓" | "윔" | "윕" | "윖" | "윗" | "윘" | "윙" | "윚" | "윛" | "윜" | "윝" | "윞" | "윟" | "쥐" | "쥑" | "쥒" | "쥓" | "쥔" | "쥕" | "쥖" | "쥗" | "쥘" | "쥙" | "쥚" | "쥛" | "쥜" | "쥝" | "쥞" | "쥟" | "쥠" | "쥡" | "쥢" | "쥣" | "쥤" | "쥥" | "쥦" | "쥧" | "쥨" | "쥩" | "쥪" | "쥫" | "쮜" | "쮝" | "쮞" | "쮟" | "쮠" | "쮡" | "쮢" | "쮣" | "쮤" | "쮥" | "쮦" | "쮧" | "쮨" | "쮩" | "쮪" | "쮫" | "쮬" | "쮭" | "쮮" | "쮯" | "쮰" | "쮱" | "쮲" | "쮳" | "쮴" | "쮵" | "쮶" | "쮷" | "취" | "췩" | "췪" | "췫" | "췬" | "췭" | "췮" | "췯" | "췰" | "췱" | "췲" | "췳" | "췴" | "췵" | "췶" | "췷" | "췸" | "췹" | "췺" | "췻" | "췼" | "췽" | "췾" | "췿" | "츀" | "츁" | "츂" | "츃" | "퀴" | "퀵" | "퀶" | "퀷" | "퀸" | "퀹" | "퀺" | "퀻" | "퀼" | "퀽" | "퀾" | "퀿" | "큀" | "큁" | "큂" | "큃" | "큄" | "큅" | "큆" | "큇" | "큈" | "큉" | "큊" | "큋" | "큌" | "큍" | "큎" | "큏" | "튀" | "튁" | "튂" | "튃" | "튄" | "튅" | "튆" | "튇" | "튈" | "튉" | "튊" | "튋" | "튌" | "튍" | "튎" | "튏" | "튐" | "튑" | "튒" | "튓" | "튔" | "튕" | "튖" | "튗" | "튘" | "튙" | "튚" | "튛" | "퓌" | "퓍" | "퓎" | "퓏" | "퓐" | "퓑" | "퓒" | "퓓" | "퓔" | "퓕" | "퓖" | "퓗" | "퓘" | "퓙" | "퓚" | "퓛" | "퓜" | "퓝" | "퓞" | "퓟" | "퓠" | "퓡" | "퓢" | "퓣" | "퓤" | "퓥" | "퓦" | "퓧" | "휘" | "휙" | "휚" | "휛" | "휜" | "휝" | "휞" | "휟" | "휠" | "휡" | "휢" | "휣" | "휤" | "휥" | "휦" | "휧" | "휨" | "휩" | "휪" | "휫" | "휬" | "휭" | "휮" | "휯" | "휰" | "휱" | "휲" | "휳") ; - 'all_with_유' : pattern Str = #("규" | "귝" | "귞" | "귟" | "균" | "귡" | "귢" | "귣" | "귤" | "귥" | "귦" | "귧" | "귨" | "귩" | "귪" | "귫" | "귬" | "귭" | "귮" | "귯" | "귰" | "귱" | "귲" | "귳" | "귴" | "귵" | "귶" | "귷" | "뀨" | "뀩" | "뀪" | "뀫" | "뀬" | "뀭" | "뀮" | "뀯" | "뀰" | "뀱" | "뀲" | "뀳" | "뀴" | "뀵" | "뀶" | "뀷" | "뀸" | "뀹" | "뀺" | "뀻" | "뀼" | "뀽" | "뀾" | "뀿" | "끀" | "끁" | "끂" | "끃" | "뉴" | "뉵" | "뉶" | "뉷" | "뉸" | "뉹" | "뉺" | "뉻" | "뉼" | "뉽" | "뉾" | "뉿" | "늀" | "늁" | "늂" | "늃" | "늄" | "늅" | "늆" | "늇" | "늈" | "늉" | "늊" | "늋" | "늌" | "늍" | "늎" | "늏" | "듀" | "듁" | "듂" | "듃" | "듄" | "듅" | "듆" | "듇" | "듈" | "듉" | "듊" | "듋" | "듌" | "듍" | "듎" | "듏" | "듐" | "듑" | "듒" | "듓" | "듔" | "듕" | "듖" | "듗" | "듘" | "듙" | "듚" | "듛" | "뜌" | "뜍" | "뜎" | "뜏" | "뜐" | "뜑" | "뜒" | "뜓" | "뜔" | "뜕" | "뜖" | "뜗" | "뜘" | "뜙" | "뜚" | "뜛" | "뜜" | "뜝" | "뜞" | "뜟" | "뜠" | "뜡" | "뜢" | "뜣" | "뜤" | "뜥" | "뜦" | "뜧" | "류" | "륙" | "륚" | "륛" | "륜" | "륝" | "륞" | "륟" | "률" | "륡" | "륢" | "륣" | "륤" | "륥" | "륦" | "륧" | "륨" | "륩" | "륪" | "륫" | "륬" | "륭" | "륮" | "륯" | "륰" | "륱" | "륲" | "륳" | "뮤" | "뮥" | "뮦" | "뮧" | "뮨" | "뮩" | "뮪" | "뮫" | "뮬" | "뮭" | "뮮" | "뮯" | "뮰" | "뮱" | "뮲" | "뮳" | "뮴" | "뮵" | "뮶" | "뮷" | "뮸" | "뮹" | "뮺" | "뮻" | "뮼" | "뮽" | "뮾" | "뮿" | "뷰" | "뷱" | "뷲" | "뷳" | "뷴" | "뷵" | "뷶" | "뷷" | "뷸" | "뷹" | "뷺" | "뷻" | "뷼" | "뷽" | "뷾" | "뷿" | "븀" | "븁" | "븂" | "븃" | "븄" | "븅" | "븆" | "븇" | "븈" | "븉" | "븊" | "븋" | "쀼" | "쀽" | "쀾" | "쀿" | "쁀" | "쁁" | "쁂" | "쁃" | "쁄" | "쁅" | "쁆" | "쁇" | "쁈" | "쁉" | "쁊" | "쁋" | "쁌" | "쁍" | "쁎" | "쁏" | "쁐" | "쁑" | "쁒" | "쁓" | "쁔" | "쁕" | "쁖" | "쁗" | "슈" | "슉" | "슊" | "슋" | "슌" | "슍" | "슎" | "슏" | "슐" | "슑" | "슒" | "슓" | "슔" | "슕" | "슖" | "슗" | "슘" | "슙" | "슚" | "슛" | "슜" | "슝" | "슞" | "슟" | "슠" | "슡" | "슢" | "슣" | "쓔" | "쓕" | "쓖" | "쓗" | "쓘" | "쓙" | "쓚" | "쓛" | "쓜" | "쓝" | "쓞" | "쓟" | "쓠" | "쓡" | "쓢" | "쓣" | "쓤" | "쓥" | "쓦" | "쓧" | "쓨" | "쓩" | "쓪" | "쓫" | "쓬" | "쓭" | "쓮" | "쓯" | "유" | "육" | "윢" | "윣" | "윤" | "윥" | "윦" | "윧" | "율" | "윩" | "윪" | "윫" | "윬" | "윭" | "윮" | "윯" | "윰" | "윱" | "윲" | "윳" | "윴" | "융" | "윶" | "윷" | "윸" | "윹" | "윺" | "윻" | "쥬" | "쥭" | "쥮" | "쥯" | "쥰" | "쥱" | "쥲" | "쥳" | "쥴" | "쥵" | "쥶" | "쥷" | "쥸" | "쥹" | "쥺" | "쥻" | "쥼" | "쥽" | "쥾" | "쥿" | "즀" | "즁" | "즂" | "즃" | "즄" | "즅" | "즆" | "즇" | "쮸" | "쮹" | "쮺" | "쮻" | "쮼" | "쮽" | "쮾" | "쮿" | "쯀" | "쯁" | "쯂" | "쯃" | "쯄" | "쯅" | "쯆" | "쯇" | "쯈" | "쯉" | "쯊" | "쯋" | "쯌" | "쯍" | "쯎" | "쯏" | "쯐" | "쯑" | "쯒" | "쯓" | "츄" | "츅" | "츆" | "츇" | "츈" | "츉" | "츊" | "츋" | "츌" | "츍" | "츎" | "츏" | "츐" | "츑" | "츒" | "츓" | "츔" | "츕" | "츖" | "츗" | "츘" | "츙" | "츚" | "츛" | "츜" | "츝" | "츞" | "츟" | "큐" | "큑" | "큒" | "큓" | "큔" | "큕" | "큖" | "큗" | "큘" | "큙" | "큚" | "큛" | "큜" | "큝" | "큞" | "큟" | "큠" | "큡" | "큢" | "큣" | "큤" | "큥" | "큦" | "큧" | "큨" | "큩" | "큪" | "큫" | "튜" | "튝" | "튞" | "튟" | "튠" | "튡" | "튢" | "튣" | "튤" | "튥" | "튦" | "튧" | "튨" | "튩" | "튪" | "튫" | "튬" | "튭" | "튮" | "튯" | "튰" | "튱" | "튲" | "튳" | "튴" | "튵" | "튶" | "튷" | "퓨" | "퓩" | "퓪" | "퓫" | "퓬" | "퓭" | "퓮" | "퓯" | "퓰" | "퓱" | "퓲" | "퓳" | "퓴" | "퓵" | "퓶" | "퓷" | "퓸" | "퓹" | "퓺" | "퓻" | "퓼" | "퓽" | "퓾" | "퓿" | "픀" | "픁" | "픂" | "픃" | "휴" | "휵" | "휶" | "휷" | "휸" | "휹" | "휺" | "휻" | "휼" | "휽" | "휾" | "휿" | "흀" | "흁" | "흂" | "흃" | "흄" | "흅" | "흆" | "흇" | "흈" | "흉" | "흊" | "흋" | "흌" | "흍" | "흎" | "흏") ; - 'all_with_으' : pattern Str = #("그" | "극" | "귺" | "귻" | "근" | "귽" | "귾" | "귿" | "글" | "긁" | "긂" | "긃" | "긄" | "긅" | "긆" | "긇" | "금" | "급" | "긊" | "긋" | "긌" | "긍" | "긎" | "긏" | "긐" | "긑" | "긒" | "긓" | "끄" | "끅" | "끆" | "끇" | "끈" | "끉" | "끊" | "끋" | "끌" | "끍" | "끎" | "끏" | "끐" | "끑" | "끒" | "끓" | "끔" | "끕" | "끖" | "끗" | "끘" | "끙" | "끚" | "끛" | "끜" | "끝" | "끞" | "끟" | "느" | "늑" | "늒" | "늓" | "는" | "늕" | "늖" | "늗" | "늘" | "늙" | "늚" | "늛" | "늜" | "늝" | "늞" | "늟" | "늠" | "늡" | "늢" | "늣" | "늤" | "능" | "늦" | "늧" | "늨" | "늩" | "늪" | "늫" | "드" | "득" | "듞" | "듟" | "든" | "듡" | "듢" | "듣" | "들" | "듥" | "듦" | "듧" | "듨" | "듩" | "듪" | "듫" | "듬" | "듭" | "듮" | "듯" | "듰" | "등" | "듲" | "듳" | "듴" | "듵" | "듶" | "듷" | "뜨" | "뜩" | "뜪" | "뜫" | "뜬" | "뜭" | "뜮" | "뜯" | "뜰" | "뜱" | "뜲" | "뜳" | "뜴" | "뜵" | "뜶" | "뜷" | "뜸" | "뜹" | "뜺" | "뜻" | "뜼" | "뜽" | "뜾" | "뜿" | "띀" | "띁" | "띂" | "띃" | "르" | "륵" | "륶" | "륷" | "른" | "륹" | "륺" | "륻" | "를" | "륽" | "륾" | "륿" | "릀" | "릁" | "릂" | "릃" | "름" | "릅" | "릆" | "릇" | "릈" | "릉" | "릊" | "릋" | "릌" | "릍" | "릎" | "릏" | "므" | "믁" | "믂" | "믃" | "믄" | "믅" | "믆" | "믇" | "믈" | "믉" | "믊" | "믋" | "믌" | "믍" | "믎" | "믏" | "믐" | "믑" | "믒" | "믓" | "믔" | "믕" | "믖" | "믗" | "믘" | "믙" | "믚" | "믛" | "브" | "븍" | "븎" | "븏" | "븐" | "븑" | "븒" | "븓" | "블" | "븕" | "븖" | "븗" | "븘" | "븙" | "븚" | "븛" | "븜" | "븝" | "븞" | "븟" | "븠" | "븡" | "븢" | "븣" | "븤" | "븥" | "븦" | "븧" | "쁘" | "쁙" | "쁚" | "쁛" | "쁜" | "쁝" | "쁞" | "쁟" | "쁠" | "쁡" | "쁢" | "쁣" | "쁤" | "쁥" | "쁦" | "쁧" | "쁨" | "쁩" | "쁪" | "쁫" | "쁬" | "쁭" | "쁮" | "쁯" | "쁰" | "쁱" | "쁲" | "쁳" | "스" | "슥" | "슦" | "슧" | "슨" | "슩" | "슪" | "슫" | "슬" | "슭" | "슮" | "슯" | "슰" | "슱" | "슲" | "슳" | "슴" | "습" | "슶" | "슷" | "슸" | "승" | "슺" | "슻" | "슼" | "슽" | "슾" | "슿" | "쓰" | "쓱" | "쓲" | "쓳" | "쓴" | "쓵" | "쓶" | "쓷" | "쓸" | "쓹" | "쓺" | "쓻" | "쓼" | "쓽" | "쓾" | "쓿" | "씀" | "씁" | "씂" | "씃" | "씄" | "씅" | "씆" | "씇" | "씈" | "씉" | "씊" | "씋" | "으" | "윽" | "윾" | "윿" | "은" | "읁" | "읂" | "읃" | "을" | "읅" | "읆" | "읇" | "읈" | "읉" | "읊" | "읋" | "음" | "읍" | "읎" | "읏" | "읐" | "응" | "읒" | "읓" | "읔" | "읕" | "읖" | "읗" | "즈" | "즉" | "즊" | "즋" | "즌" | "즍" | "즎" | "즏" | "즐" | "즑" | "즒" | "즓" | "즔" | "즕" | "즖" | "즗" | "즘" | "즙" | "즚" | "즛" | "즜" | "증" | "즞" | "즟" | "즠" | "즡" | "즢" | "즣" | "쯔" | "쯕" | "쯖" | "쯗" | "쯘" | "쯙" | "쯚" | "쯛" | "쯜" | "쯝" | "쯞" | "쯟" | "쯠" | "쯡" | "쯢" | "쯣" | "쯤" | "쯥" | "쯦" | "쯧" | "쯨" | "쯩" | "쯪" | "쯫" | "쯬" | "쯭" | "쯮" | "쯯" | "츠" | "측" | "츢" | "츣" | "츤" | "츥" | "츦" | "츧" | "츨" | "츩" | "츪" | "츫" | "츬" | "츭" | "츮" | "츯" | "츰" | "츱" | "츲" | "츳" | "츴" | "층" | "츶" | "츷" | "츸" | "츹" | "츺" | "츻" | "크" | "큭" | "큮" | "큯" | "큰" | "큱" | "큲" | "큳" | "클" | "큵" | "큶" | "큷" | "큸" | "큹" | "큺" | "큻" | "큼" | "큽" | "큾" | "큿" | "킀" | "킁" | "킂" | "킃" | "킄" | "킅" | "킆" | "킇" | "트" | "특" | "튺" | "튻" | "튼" | "튽" | "튾" | "튿" | "틀" | "틁" | "틂" | "틃" | "틄" | "틅" | "틆" | "틇" | "틈" | "틉" | "틊" | "틋" | "틌" | "틍" | "틎" | "틏" | "틐" | "틑" | "틒" | "틓" | "프" | "픅" | "픆" | "픇" | "픈" | "픉" | "픊" | "픋" | "플" | "픍" | "픎" | "픏" | "픐" | "픑" | "픒" | "픓" | "픔" | "픕" | "픖" | "픗" | "픘" | "픙" | "픚" | "픛" | "픜" | "픝" | "픞" | "픟" | "흐" | "흑" | "흒" | "흓" | "흔" | "흕" | "흖" | "흗" | "흘" | "흙" | "흚" | "흛" | "흜" | "흝" | "흞" | "흟" | "흠" | "흡" | "흢" | "흣" | "흤" | "흥" | "흦" | "흧" | "흨" | "흩" | "흪" | "흫") ; - 'all_with_의' : pattern Str = #("긔" | "긕" | "긖" | "긗" | "긘" | "긙" | "긚" | "긛" | "긜" | "긝" | "긞" | "긟" | "긠" | "긡" | "긢" | "긣" | "긤" | "긥" | "긦" | "긧" | "긨" | "긩" | "긪" | "긫" | "긬" | "긭" | "긮" | "긯" | "끠" | "끡" | "끢" | "끣" | "끤" | "끥" | "끦" | "끧" | "끨" | "끩" | "끪" | "끫" | "끬" | "끭" | "끮" | "끯" | "끰" | "끱" | "끲" | "끳" | "끴" | "끵" | "끶" | "끷" | "끸" | "끹" | "끺" | "끻" | "늬" | "늭" | "늮" | "늯" | "늰" | "늱" | "늲" | "늳" | "늴" | "늵" | "늶" | "늷" | "늸" | "늹" | "늺" | "늻" | "늼" | "늽" | "늾" | "늿" | "닀" | "닁" | "닂" | "닃" | "닄" | "닅" | "닆" | "닇" | "듸" | "듹" | "듺" | "듻" | "듼" | "듽" | "듾" | "듿" | "딀" | "딁" | "딂" | "딃" | "딄" | "딅" | "딆" | "딇" | "딈" | "딉" | "딊" | "딋" | "딌" | "딍" | "딎" | "딏" | "딐" | "딑" | "딒" | "딓" | "띄" | "띅" | "띆" | "띇" | "띈" | "띉" | "띊" | "띋" | "띌" | "띍" | "띎" | "띏" | "띐" | "띑" | "띒" | "띓" | "띔" | "띕" | "띖" | "띗" | "띘" | "띙" | "띚" | "띛" | "띜" | "띝" | "띞" | "띟" | "릐" | "릑" | "릒" | "릓" | "릔" | "릕" | "릖" | "릗" | "릘" | "릙" | "릚" | "릛" | "릜" | "릝" | "릞" | "릟" | "릠" | "릡" | "릢" | "릣" | "릤" | "릥" | "릦" | "릧" | "릨" | "릩" | "릪" | "릫" | "믜" | "믝" | "믞" | "믟" | "믠" | "믡" | "믢" | "믣" | "믤" | "믥" | "믦" | "믧" | "믨" | "믩" | "믪" | "믫" | "믬" | "믭" | "믮" | "믯" | "믰" | "믱" | "믲" | "믳" | "믴" | "믵" | "믶" | "믷" | "븨" | "븩" | "븪" | "븫" | "븬" | "븭" | "븮" | "븯" | "븰" | "븱" | "븲" | "븳" | "븴" | "븵" | "븶" | "븷" | "븸" | "븹" | "븺" | "븻" | "븼" | "븽" | "븾" | "븿" | "빀" | "빁" | "빂" | "빃" | "쁴" | "쁵" | "쁶" | "쁷" | "쁸" | "쁹" | "쁺" | "쁻" | "쁼" | "쁽" | "쁾" | "쁿" | "삀" | "삁" | "삂" | "삃" | "삄" | "삅" | "삆" | "삇" | "삈" | "삉" | "삊" | "삋" | "삌" | "삍" | "삎" | "삏" | "싀" | "싁" | "싂" | "싃" | "싄" | "싅" | "싆" | "싇" | "싈" | "싉" | "싊" | "싋" | "싌" | "싍" | "싎" | "싏" | "싐" | "싑" | "싒" | "싓" | "싔" | "싕" | "싖" | "싗" | "싘" | "싙" | "싚" | "싛" | "씌" | "씍" | "씎" | "씏" | "씐" | "씑" | "씒" | "씓" | "씔" | "씕" | "씖" | "씗" | "씘" | "씙" | "씚" | "씛" | "씜" | "씝" | "씞" | "씟" | "씠" | "씡" | "씢" | "씣" | "씤" | "씥" | "씦" | "씧" | "의" | "읙" | "읚" | "읛" | "읜" | "읝" | "읞" | "읟" | "읠" | "읡" | "읢" | "읣" | "읤" | "읥" | "읦" | "읧" | "읨" | "읩" | "읪" | "읫" | "읬" | "읭" | "읮" | "읯" | "읰" | "읱" | "읲" | "읳" | "즤" | "즥" | "즦" | "즧" | "즨" | "즩" | "즪" | "즫" | "즬" | "즭" | "즮" | "즯" | "즰" | "즱" | "즲" | "즳" | "즴" | "즵" | "즶" | "즷" | "즸" | "즹" | "즺" | "즻" | "즼" | "즽" | "즾" | "즿" | "쯰" | "쯱" | "쯲" | "쯳" | "쯴" | "쯵" | "쯶" | "쯷" | "쯸" | "쯹" | "쯺" | "쯻" | "쯼" | "쯽" | "쯾" | "쯿" | "찀" | "찁" | "찂" | "찃" | "찄" | "찅" | "찆" | "찇" | "찈" | "찉" | "찊" | "찋" | "츼" | "츽" | "츾" | "츿" | "칀" | "칁" | "칂" | "칃" | "칄" | "칅" | "칆" | "칇" | "칈" | "칉" | "칊" | "칋" | "칌" | "칍" | "칎" | "칏" | "칐" | "칑" | "칒" | "칓" | "칔" | "칕" | "칖" | "칗" | "킈" | "킉" | "킊" | "킋" | "킌" | "킍" | "킎" | "킏" | "킐" | "킑" | "킒" | "킓" | "킔" | "킕" | "킖" | "킗" | "킘" | "킙" | "킚" | "킛" | "킜" | "킝" | "킞" | "킟" | "킠" | "킡" | "킢" | "킣" | "틔" | "틕" | "틖" | "틗" | "틘" | "틙" | "틚" | "틛" | "틜" | "틝" | "틞" | "틟" | "틠" | "틡" | "틢" | "틣" | "틤" | "틥" | "틦" | "틧" | "틨" | "틩" | "틪" | "틫" | "틬" | "틭" | "틮" | "틯" | "픠" | "픡" | "픢" | "픣" | "픤" | "픥" | "픦" | "픧" | "픨" | "픩" | "픪" | "픫" | "픬" | "픭" | "픮" | "픯" | "픰" | "픱" | "픲" | "픳" | "픴" | "픵" | "픶" | "픷" | "픸" | "픹" | "픺" | "픻" | "희" | "흭" | "흮" | "흯" | "흰" | "흱" | "흲" | "흳" | "흴" | "흵" | "흶" | "흷" | "흸" | "흹" | "흺" | "흻" | "흼" | "흽" | "흾" | "흿" | "힀" | "힁" | "힂" | "힃" | "힄" | "힅" | "힆" | "힇") ; - 'all_with_이' : pattern Str = #("기" | "긱" | "긲" | "긳" | "긴" | "긵" | "긶" | "긷" | "길" | "긹" | "긺" | "긻" | "긼" | "긽" | "긾" | "긿" | "김" | "깁" | "깂" | "깃" | "깄" | "깅" | "깆" | "깇" | "깈" | "깉" | "깊" | "깋" | "끼" | "끽" | "끾" | "끿" | "낀" | "낁" | "낂" | "낃" | "낄" | "낅" | "낆" | "낇" | "낈" | "낉" | "낊" | "낋" | "낌" | "낍" | "낎" | "낏" | "낐" | "낑" | "낒" | "낓" | "낔" | "낕" | "낖" | "낗" | "니" | "닉" | "닊" | "닋" | "닌" | "닍" | "닎" | "닏" | "닐" | "닑" | "닒" | "닓" | "닔" | "닕" | "닖" | "닗" | "님" | "닙" | "닚" | "닛" | "닜" | "닝" | "닞" | "닟" | "닠" | "닡" | "닢" | "닣" | "디" | "딕" | "딖" | "딗" | "딘" | "딙" | "딚" | "딛" | "딜" | "딝" | "딞" | "딟" | "딠" | "딡" | "딢" | "딣" | "딤" | "딥" | "딦" | "딧" | "딨" | "딩" | "딪" | "딫" | "딬" | "딭" | "딮" | "딯" | "띠" | "띡" | "띢" | "띣" | "띤" | "띥" | "띦" | "띧" | "띨" | "띩" | "띪" | "띫" | "띬" | "띭" | "띮" | "띯" | "띰" | "띱" | "띲" | "띳" | "띴" | "띵" | "띶" | "띷" | "띸" | "띹" | "띺" | "띻" | "리" | "릭" | "릮" | "릯" | "린" | "릱" | "릲" | "릳" | "릴" | "릵" | "릶" | "릷" | "릸" | "릹" | "릺" | "릻" | "림" | "립" | "릾" | "릿" | "맀" | "링" | "맂" | "맃" | "맄" | "맅" | "맆" | "맇" | "미" | "믹" | "믺" | "믻" | "민" | "믽" | "믾" | "믿" | "밀" | "밁" | "밂" | "밃" | "밄" | "밅" | "밆" | "밇" | "밈" | "밉" | "밊" | "밋" | "밌" | "밍" | "밎" | "및" | "밐" | "밑" | "밒" | "밓" | "비" | "빅" | "빆" | "빇" | "빈" | "빉" | "빊" | "빋" | "빌" | "빍" | "빎" | "빏" | "빐" | "빑" | "빒" | "빓" | "빔" | "빕" | "빖" | "빗" | "빘" | "빙" | "빚" | "빛" | "빜" | "빝" | "빞" | "빟" | "삐" | "삑" | "삒" | "삓" | "삔" | "삕" | "삖" | "삗" | "삘" | "삙" | "삚" | "삛" | "삜" | "삝" | "삞" | "삟" | "삠" | "삡" | "삢" | "삣" | "삤" | "삥" | "삦" | "삧" | "삨" | "삩" | "삪" | "삫" | "시" | "식" | "싞" | "싟" | "신" | "싡" | "싢" | "싣" | "실" | "싥" | "싦" | "싧" | "싨" | "싩" | "싪" | "싫" | "심" | "십" | "싮" | "싯" | "싰" | "싱" | "싲" | "싳" | "싴" | "싵" | "싶" | "싷" | "씨" | "씩" | "씪" | "씫" | "씬" | "씭" | "씮" | "씯" | "씰" | "씱" | "씲" | "씳" | "씴" | "씵" | "씶" | "씷" | "씸" | "씹" | "씺" | "씻" | "씼" | "씽" | "씾" | "씿" | "앀" | "앁" | "앂" | "앃" | "이" | "익" | "읶" | "읷" | "인" | "읹" | "읺" | "읻" | "일" | "읽" | "읾" | "읿" | "잀" | "잁" | "잂" | "잃" | "임" | "입" | "잆" | "잇" | "있" | "잉" | "잊" | "잋" | "잌" | "잍" | "잎" | "잏" | "지" | "직" | "짂" | "짃" | "진" | "짅" | "짆" | "짇" | "질" | "짉" | "짊" | "짋" | "짌" | "짍" | "짎" | "짏" | "짐" | "집" | "짒" | "짓" | "짔" | "징" | "짖" | "짗" | "짘" | "짙" | "짚" | "짛" | "찌" | "찍" | "찎" | "찏" | "찐" | "찑" | "찒" | "찓" | "찔" | "찕" | "찖" | "찗" | "찘" | "찙" | "찚" | "찛" | "찜" | "찝" | "찞" | "찟" | "찠" | "찡" | "찢" | "찣" | "찤" | "찥" | "찦" | "찧" | "치" | "칙" | "칚" | "칛" | "친" | "칝" | "칞" | "칟" | "칠" | "칡" | "칢" | "칣" | "칤" | "칥" | "칦" | "칧" | "침" | "칩" | "칪" | "칫" | "칬" | "칭" | "칮" | "칯" | "칰" | "칱" | "칲" | "칳" | "키" | "킥" | "킦" | "킧" | "킨" | "킩" | "킪" | "킫" | "킬" | "킭" | "킮" | "킯" | "킰" | "킱" | "킲" | "킳" | "킴" | "킵" | "킶" | "킷" | "킸" | "킹" | "킺" | "킻" | "킼" | "킽" | "킾" | "킿" | "티" | "틱" | "틲" | "틳" | "틴" | "틵" | "틶" | "틷" | "틸" | "틹" | "틺" | "틻" | "틼" | "틽" | "틾" | "틿" | "팀" | "팁" | "팂" | "팃" | "팄" | "팅" | "팆" | "팇" | "팈" | "팉" | "팊" | "팋" | "피" | "픽" | "픾" | "픿" | "핀" | "핁" | "핂" | "핃" | "필" | "핅" | "핆" | "핇" | "핈" | "핉" | "핊" | "핋" | "핌" | "핍" | "핎" | "핏" | "핐" | "핑" | "핒" | "핓" | "핔" | "핕" | "핖" | "핗" | "히" | "힉" | "힊" | "힋" | "힌" | "힍" | "힎" | "힏" | "힐" | "힑" | "힒" | "힓" | "힔" | "힕" | "힖" | "힗" | "힘" | "힙" | "힚" | "힛" | "힜" | "힝" | "힞" | "힟" | "힠" | "힡" | "힢" | "힣") ; + 'contains_아' : pattern Str = #("가" | "각" | "갂" | "갃" | "간" | "갅" | "갆" | "갇" | "갈" | "갉" | "갊" | "갋" | "갌" | "갍" | "갎" | "갏" | "감" | "갑" | "값" | "갓" | "갔" | "강" | "갖" | "갗" | "갘" | "같" | "갚" | "갛" | "까" | "깍" | "깎" | "깏" | "깐" | "깑" | "깒" | "깓" | "깔" | "깕" | "깖" | "깗" | "깘" | "깙" | "깚" | "깛" | "깜" | "깝" | "깞" | "깟" | "깠" | "깡" | "깢" | "깣" | "깤" | "깥" | "깦" | "깧" | "나" | "낙" | "낚" | "낛" | "난" | "낝" | "낞" | "낟" | "날" | "낡" | "낢" | "낣" | "낤" | "낥" | "낦" | "낧" | "남" | "납" | "낪" | "낫" | "났" | "낭" | "낮" | "낯" | "낰" | "낱" | "낲" | "낳" | "다" | "닥" | "닦" | "닧" | "단" | "닩" | "닪" | "닫" | "달" | "닭" | "닮" | "닯" | "닰" | "닱" | "닲" | "닳" | "담" | "답" | "닶" | "닷" | "닸" | "당" | "닺" | "닻" | "닼" | "닽" | "닾" | "닿" | "따" | "딱" | "딲" | "딳" | "딴" | "딵" | "딶" | "딷" | "딸" | "딹" | "딺" | "딻" | "딼" | "딽" | "딾" | "딿" | "땀" | "땁" | "땂" | "땃" | "땄" | "땅" | "땆" | "땇" | "땈" | "땉" | "땊" | "땋" | "라" | "락" | "띾" | "띿" | "란" | "랁" | "랂" | "랃" | "랄" | "랅" | "랆" | "랇" | "랈" | "랉" | "랊" | "랋" | "람" | "랍" | "랎" | "랏" | "랐" | "랑" | "랒" | "랓" | "랔" | "랕" | "랖" | "랗" | "마" | "막" | "맊" | "맋" | "만" | "맍" | "많" | "맏" | "말" | "맑" | "맒" | "맓" | "맔" | "맕" | "맖" | "맗" | "맘" | "맙" | "맚" | "맛" | "맜" | "망" | "맞" | "맟" | "맠" | "맡" | "맢" | "맣" | "바" | "박" | "밖" | "밗" | "반" | "밙" | "밚" | "받" | "발" | "밝" | "밞" | "밟" | "밠" | "밡" | "밢" | "밣" | "밤" | "밥" | "밦" | "밧" | "밨" | "방" | "밪" | "밫" | "밬" | "밭" | "밮" | "밯" | "빠" | "빡" | "빢" | "빣" | "빤" | "빥" | "빦" | "빧" | "빨" | "빩" | "빪" | "빫" | "빬" | "빭" | "빮" | "빯" | "빰" | "빱" | "빲" | "빳" | "빴" | "빵" | "빶" | "빷" | "빸" | "빹" | "빺" | "빻" | "사" | "삭" | "삮" | "삯" | "산" | "삱" | "삲" | "삳" | "살" | "삵" | "삶" | "삷" | "삸" | "삹" | "삺" | "삻" | "삼" | "삽" | "삾" | "삿" | "샀" | "상" | "샂" | "샃" | "샄" | "샅" | "샆" | "샇" | "싸" | "싹" | "싺" | "싻" | "싼" | "싽" | "싾" | "싿" | "쌀" | "쌁" | "쌂" | "쌃" | "쌄" | "쌅" | "쌆" | "쌇" | "쌈" | "쌉" | "쌊" | "쌋" | "쌌" | "쌍" | "쌎" | "쌏" | "쌐" | "쌑" | "쌒" | "쌓" | "아" | "악" | "앆" | "앇" | "안" | "앉" | "않" | "앋" | "알" | "앍" | "앎" | "앏" | "앐" | "앑" | "앒" | "앓" | "암" | "압" | "앖" | "앗" | "았" | "앙" | "앚" | "앛" | "앜" | "앝" | "앞" | "앟" | "자" | "작" | "잒" | "잓" | "잔" | "잕" | "잖" | "잗" | "잘" | "잙" | "잚" | "잛" | "잜" | "잝" | "잞" | "잟" | "잠" | "잡" | "잢" | "잣" | "잤" | "장" | "잦" | "잧" | "잨" | "잩" | "잪" | "잫" | "짜" | "짝" | "짞" | "짟" | "짠" | "짡" | "짢" | "짣" | "짤" | "짥" | "짦" | "짧" | "짨" | "짩" | "짪" | "짫" | "짬" | "짭" | "짮" | "짯" | "짰" | "짱" | "짲" | "짳" | "짴" | "짵" | "짶" | "짷" | "차" | "착" | "찪" | "찫" | "찬" | "찭" | "찮" | "찯" | "찰" | "찱" | "찲" | "찳" | "찴" | "찵" | "찶" | "찷" | "참" | "찹" | "찺" | "찻" | "찼" | "창" | "찾" | "찿" | "챀" | "챁" | "챂" | "챃" | "카" | "칵" | "칶" | "칷" | "칸" | "칹" | "칺" | "칻" | "칼" | "칽" | "칾" | "칿" | "캀" | "캁" | "캂" | "캃" | "캄" | "캅" | "캆" | "캇" | "캈" | "캉" | "캊" | "캋" | "캌" | "캍" | "캎" | "캏" | "타" | "탁" | "탂" | "탃" | "탄" | "탅" | "탆" | "탇" | "탈" | "탉" | "탊" | "탋" | "탌" | "탍" | "탎" | "탏" | "탐" | "탑" | "탒" | "탓" | "탔" | "탕" | "탖" | "탗" | "탘" | "탙" | "탚" | "탛" | "파" | "팍" | "팎" | "팏" | "판" | "팑" | "팒" | "팓" | "팔" | "팕" | "팖" | "팗" | "팘" | "팙" | "팚" | "팛" | "팜" | "팝" | "팞" | "팟" | "팠" | "팡" | "팢" | "팣" | "팤" | "팥" | "팦" | "팧" | "하" | "학" | "핚" | "핛" | "한" | "핝" | "핞" | "핟" | "할" | "핡" | "핢" | "핣" | "핤" | "핥" | "핦" | "핧" | "함" | "합" | "핪" | "핫" | "핬" | "항" | "핮" | "핯" | "핰" | "핱" | "핲" | "핳") ; + 'contains_애' : pattern Str = #("개" | "객" | "갞" | "갟" | "갠" | "갡" | "갢" | "갣" | "갤" | "갥" | "갦" | "갧" | "갨" | "갩" | "갪" | "갫" | "갬" | "갭" | "갮" | "갯" | "갰" | "갱" | "갲" | "갳" | "갴" | "갵" | "갶" | "갷" | "깨" | "깩" | "깪" | "깫" | "깬" | "깭" | "깮" | "깯" | "깰" | "깱" | "깲" | "깳" | "깴" | "깵" | "깶" | "깷" | "깸" | "깹" | "깺" | "깻" | "깼" | "깽" | "깾" | "깿" | "꺀" | "꺁" | "꺂" | "꺃" | "내" | "낵" | "낶" | "낷" | "낸" | "낹" | "낺" | "낻" | "낼" | "낽" | "낾" | "낿" | "냀" | "냁" | "냂" | "냃" | "냄" | "냅" | "냆" | "냇" | "냈" | "냉" | "냊" | "냋" | "냌" | "냍" | "냎" | "냏" | "대" | "댁" | "댂" | "댃" | "댄" | "댅" | "댆" | "댇" | "댈" | "댉" | "댊" | "댋" | "댌" | "댍" | "댎" | "댏" | "댐" | "댑" | "댒" | "댓" | "댔" | "댕" | "댖" | "댗" | "댘" | "댙" | "댚" | "댛" | "때" | "땍" | "땎" | "땏" | "땐" | "땑" | "땒" | "땓" | "땔" | "땕" | "땖" | "땗" | "땘" | "땙" | "땚" | "땛" | "땜" | "땝" | "땞" | "땟" | "땠" | "땡" | "땢" | "땣" | "땤" | "땥" | "땦" | "땧" | "래" | "랙" | "랚" | "랛" | "랜" | "랝" | "랞" | "랟" | "랠" | "랡" | "랢" | "랣" | "랤" | "랥" | "랦" | "랧" | "램" | "랩" | "랪" | "랫" | "랬" | "랭" | "랮" | "랯" | "랰" | "랱" | "랲" | "랳" | "매" | "맥" | "맦" | "맧" | "맨" | "맩" | "맪" | "맫" | "맬" | "맭" | "맮" | "맯" | "맰" | "맱" | "맲" | "맳" | "맴" | "맵" | "맶" | "맷" | "맸" | "맹" | "맺" | "맻" | "맼" | "맽" | "맾" | "맿" | "배" | "백" | "밲" | "밳" | "밴" | "밵" | "밶" | "밷" | "밸" | "밹" | "밺" | "밻" | "밼" | "밽" | "밾" | "밿" | "뱀" | "뱁" | "뱂" | "뱃" | "뱄" | "뱅" | "뱆" | "뱇" | "뱈" | "뱉" | "뱊" | "뱋" | "빼" | "빽" | "빾" | "빿" | "뺀" | "뺁" | "뺂" | "뺃" | "뺄" | "뺅" | "뺆" | "뺇" | "뺈" | "뺉" | "뺊" | "뺋" | "뺌" | "뺍" | "뺎" | "뺏" | "뺐" | "뺑" | "뺒" | "뺓" | "뺔" | "뺕" | "뺖" | "뺗" | "새" | "색" | "샊" | "샋" | "샌" | "샍" | "샎" | "샏" | "샐" | "샑" | "샒" | "샓" | "샔" | "샕" | "샖" | "샗" | "샘" | "샙" | "샚" | "샛" | "샜" | "생" | "샞" | "샟" | "샠" | "샡" | "샢" | "샣" | "쌔" | "쌕" | "쌖" | "쌗" | "쌘" | "쌙" | "쌚" | "쌛" | "쌜" | "쌝" | "쌞" | "쌟" | "쌠" | "쌡" | "쌢" | "쌣" | "쌤" | "쌥" | "쌦" | "쌧" | "쌨" | "쌩" | "쌪" | "쌫" | "쌬" | "쌭" | "쌮" | "쌯" | "애" | "액" | "앢" | "앣" | "앤" | "앥" | "앦" | "앧" | "앨" | "앩" | "앪" | "앫" | "앬" | "앭" | "앮" | "앯" | "앰" | "앱" | "앲" | "앳" | "앴" | "앵" | "앶" | "앷" | "앸" | "앹" | "앺" | "앻" | "재" | "잭" | "잮" | "잯" | "잰" | "잱" | "잲" | "잳" | "잴" | "잵" | "잶" | "잷" | "잸" | "잹" | "잺" | "잻" | "잼" | "잽" | "잾" | "잿" | "쟀" | "쟁" | "쟂" | "쟃" | "쟄" | "쟅" | "쟆" | "쟇" | "째" | "짹" | "짺" | "짻" | "짼" | "짽" | "짾" | "짿" | "쨀" | "쨁" | "쨂" | "쨃" | "쨄" | "쨅" | "쨆" | "쨇" | "쨈" | "쨉" | "쨊" | "쨋" | "쨌" | "쨍" | "쨎" | "쨏" | "쨐" | "쨑" | "쨒" | "쨓" | "채" | "책" | "챆" | "챇" | "챈" | "챉" | "챊" | "챋" | "챌" | "챍" | "챎" | "챏" | "챐" | "챑" | "챒" | "챓" | "챔" | "챕" | "챖" | "챗" | "챘" | "챙" | "챚" | "챛" | "챜" | "챝" | "챞" | "챟" | "캐" | "캑" | "캒" | "캓" | "캔" | "캕" | "캖" | "캗" | "캘" | "캙" | "캚" | "캛" | "캜" | "캝" | "캞" | "캟" | "캠" | "캡" | "캢" | "캣" | "캤" | "캥" | "캦" | "캧" | "캨" | "캩" | "캪" | "캫" | "태" | "택" | "탞" | "탟" | "탠" | "탡" | "탢" | "탣" | "탤" | "탥" | "탦" | "탧" | "탨" | "탩" | "탪" | "탫" | "탬" | "탭" | "탮" | "탯" | "탰" | "탱" | "탲" | "탳" | "탴" | "탵" | "탶" | "탷" | "패" | "팩" | "팪" | "팫" | "팬" | "팭" | "팮" | "팯" | "팰" | "팱" | "팲" | "팳" | "팴" | "팵" | "팶" | "팷" | "팸" | "팹" | "팺" | "팻" | "팼" | "팽" | "팾" | "팿" | "퍀" | "퍁" | "퍂" | "퍃" | "해" | "핵" | "핶" | "핷" | "핸" | "핹" | "핺" | "핻" | "핼" | "핽" | "핾" | "핿" | "햀" | "햁" | "햂" | "햃" | "햄" | "햅" | "햆" | "햇" | "했" | "행" | "햊" | "햋" | "햌" | "햍" | "햎" | "햏") ; + 'contains_야' : pattern Str = #("갸" | "갹" | "갺" | "갻" | "갼" | "갽" | "갾" | "갿" | "걀" | "걁" | "걂" | "걃" | "걄" | "걅" | "걆" | "걇" | "걈" | "걉" | "걊" | "걋" | "걌" | "걍" | "걎" | "걏" | "걐" | "걑" | "걒" | "걓" | "꺄" | "꺅" | "꺆" | "꺇" | "꺈" | "꺉" | "꺊" | "꺋" | "꺌" | "꺍" | "꺎" | "꺏" | "꺐" | "꺑" | "꺒" | "꺓" | "꺔" | "꺕" | "꺖" | "꺗" | "꺘" | "꺙" | "꺚" | "꺛" | "꺜" | "꺝" | "꺞" | "꺟" | "냐" | "냑" | "냒" | "냓" | "냔" | "냕" | "냖" | "냗" | "냘" | "냙" | "냚" | "냛" | "냜" | "냝" | "냞" | "냟" | "냠" | "냡" | "냢" | "냣" | "냤" | "냥" | "냦" | "냧" | "냨" | "냩" | "냪" | "냫" | "댜" | "댝" | "댞" | "댟" | "댠" | "댡" | "댢" | "댣" | "댤" | "댥" | "댦" | "댧" | "댨" | "댩" | "댪" | "댫" | "댬" | "댭" | "댮" | "댯" | "댰" | "댱" | "댲" | "댳" | "댴" | "댵" | "댶" | "댷" | "땨" | "땩" | "땪" | "땫" | "땬" | "땭" | "땮" | "땯" | "땰" | "땱" | "땲" | "땳" | "땴" | "땵" | "땶" | "땷" | "땸" | "땹" | "땺" | "땻" | "땼" | "땽" | "땾" | "땿" | "떀" | "떁" | "떂" | "떃" | "랴" | "략" | "랶" | "랷" | "랸" | "랹" | "랺" | "랻" | "랼" | "랽" | "랾" | "랿" | "럀" | "럁" | "럂" | "럃" | "럄" | "럅" | "럆" | "럇" | "럈" | "량" | "럊" | "럋" | "럌" | "럍" | "럎" | "럏" | "먀" | "먁" | "먂" | "먃" | "먄" | "먅" | "먆" | "먇" | "먈" | "먉" | "먊" | "먋" | "먌" | "먍" | "먎" | "먏" | "먐" | "먑" | "먒" | "먓" | "먔" | "먕" | "먖" | "먗" | "먘" | "먙" | "먚" | "먛" | "뱌" | "뱍" | "뱎" | "뱏" | "뱐" | "뱑" | "뱒" | "뱓" | "뱔" | "뱕" | "뱖" | "뱗" | "뱘" | "뱙" | "뱚" | "뱛" | "뱜" | "뱝" | "뱞" | "뱟" | "뱠" | "뱡" | "뱢" | "뱣" | "뱤" | "뱥" | "뱦" | "뱧" | "뺘" | "뺙" | "뺚" | "뺛" | "뺜" | "뺝" | "뺞" | "뺟" | "뺠" | "뺡" | "뺢" | "뺣" | "뺤" | "뺥" | "뺦" | "뺧" | "뺨" | "뺩" | "뺪" | "뺫" | "뺬" | "뺭" | "뺮" | "뺯" | "뺰" | "뺱" | "뺲" | "뺳" | "샤" | "샥" | "샦" | "샧" | "샨" | "샩" | "샪" | "샫" | "샬" | "샭" | "샮" | "샯" | "샰" | "샱" | "샲" | "샳" | "샴" | "샵" | "샶" | "샷" | "샸" | "샹" | "샺" | "샻" | "샼" | "샽" | "샾" | "샿" | "쌰" | "쌱" | "쌲" | "쌳" | "쌴" | "쌵" | "쌶" | "쌷" | "쌸" | "쌹" | "쌺" | "쌻" | "쌼" | "쌽" | "쌾" | "쌿" | "썀" | "썁" | "썂" | "썃" | "썄" | "썅" | "썆" | "썇" | "썈" | "썉" | "썊" | "썋" | "야" | "약" | "앾" | "앿" | "얀" | "얁" | "얂" | "얃" | "얄" | "얅" | "얆" | "얇" | "얈" | "얉" | "얊" | "얋" | "얌" | "얍" | "얎" | "얏" | "얐" | "양" | "얒" | "얓" | "얔" | "얕" | "얖" | "얗" | "쟈" | "쟉" | "쟊" | "쟋" | "쟌" | "쟍" | "쟎" | "쟏" | "쟐" | "쟑" | "쟒" | "쟓" | "쟔" | "쟕" | "쟖" | "쟗" | "쟘" | "쟙" | "쟚" | "쟛" | "쟜" | "쟝" | "쟞" | "쟟" | "쟠" | "쟡" | "쟢" | "쟣" | "쨔" | "쨕" | "쨖" | "쨗" | "쨘" | "쨙" | "쨚" | "쨛" | "쨜" | "쨝" | "쨞" | "쨟" | "쨠" | "쨡" | "쨢" | "쨣" | "쨤" | "쨥" | "쨦" | "쨧" | "쨨" | "쨩" | "쨪" | "쨫" | "쨬" | "쨭" | "쨮" | "쨯" | "챠" | "챡" | "챢" | "챣" | "챤" | "챥" | "챦" | "챧" | "챨" | "챩" | "챪" | "챫" | "챬" | "챭" | "챮" | "챯" | "챰" | "챱" | "챲" | "챳" | "챴" | "챵" | "챶" | "챷" | "챸" | "챹" | "챺" | "챻" | "캬" | "캭" | "캮" | "캯" | "캰" | "캱" | "캲" | "캳" | "캴" | "캵" | "캶" | "캷" | "캸" | "캹" | "캺" | "캻" | "캼" | "캽" | "캾" | "캿" | "컀" | "컁" | "컂" | "컃" | "컄" | "컅" | "컆" | "컇" | "탸" | "탹" | "탺" | "탻" | "탼" | "탽" | "탾" | "탿" | "턀" | "턁" | "턂" | "턃" | "턄" | "턅" | "턆" | "턇" | "턈" | "턉" | "턊" | "턋" | "턌" | "턍" | "턎" | "턏" | "턐" | "턑" | "턒" | "턓" | "퍄" | "퍅" | "퍆" | "퍇" | "퍈" | "퍉" | "퍊" | "퍋" | "퍌" | "퍍" | "퍎" | "퍏" | "퍐" | "퍑" | "퍒" | "퍓" | "퍔" | "퍕" | "퍖" | "퍗" | "퍘" | "퍙" | "퍚" | "퍛" | "퍜" | "퍝" | "퍞" | "퍟" | "햐" | "햑" | "햒" | "햓" | "햔" | "햕" | "햖" | "햗" | "햘" | "햙" | "햚" | "햛" | "햜" | "햝" | "햞" | "햟" | "햠" | "햡" | "햢" | "햣" | "햤" | "향" | "햦" | "햧" | "햨" | "햩" | "햪" | "햫") ; + 'contains_얘' : pattern Str = #("걔" | "걕" | "걖" | "걗" | "걘" | "걙" | "걚" | "걛" | "걜" | "걝" | "걞" | "걟" | "걠" | "걡" | "걢" | "걣" | "걤" | "걥" | "걦" | "걧" | "걨" | "걩" | "걪" | "걫" | "걬" | "걭" | "걮" | "걯" | "꺠" | "꺡" | "꺢" | "꺣" | "꺤" | "꺥" | "꺦" | "꺧" | "꺨" | "꺩" | "꺪" | "꺫" | "꺬" | "꺭" | "꺮" | "꺯" | "꺰" | "꺱" | "꺲" | "꺳" | "꺴" | "꺵" | "꺶" | "꺷" | "꺸" | "꺹" | "꺺" | "꺻" | "냬" | "냭" | "냮" | "냯" | "냰" | "냱" | "냲" | "냳" | "냴" | "냵" | "냶" | "냷" | "냸" | "냹" | "냺" | "냻" | "냼" | "냽" | "냾" | "냿" | "넀" | "넁" | "넂" | "넃" | "넄" | "넅" | "넆" | "넇" | "댸" | "댹" | "댺" | "댻" | "댼" | "댽" | "댾" | "댿" | "덀" | "덁" | "덂" | "덃" | "덄" | "덅" | "덆" | "덇" | "덈" | "덉" | "덊" | "덋" | "덌" | "덍" | "덎" | "덏" | "덐" | "덑" | "덒" | "덓" | "떄" | "떅" | "떆" | "떇" | "떈" | "떉" | "떊" | "떋" | "떌" | "떍" | "떎" | "떏" | "떐" | "떑" | "떒" | "떓" | "떔" | "떕" | "떖" | "떗" | "떘" | "떙" | "떚" | "떛" | "떜" | "떝" | "떞" | "떟" | "럐" | "럑" | "럒" | "럓" | "럔" | "럕" | "럖" | "럗" | "럘" | "럙" | "럚" | "럛" | "럜" | "럝" | "럞" | "럟" | "럠" | "럡" | "럢" | "럣" | "럤" | "럥" | "럦" | "럧" | "럨" | "럩" | "럪" | "럫" | "먜" | "먝" | "먞" | "먟" | "먠" | "먡" | "먢" | "먣" | "먤" | "먥" | "먦" | "먧" | "먨" | "먩" | "먪" | "먫" | "먬" | "먭" | "먮" | "먯" | "먰" | "먱" | "먲" | "먳" | "먴" | "먵" | "먶" | "먷" | "뱨" | "뱩" | "뱪" | "뱫" | "뱬" | "뱭" | "뱮" | "뱯" | "뱰" | "뱱" | "뱲" | "뱳" | "뱴" | "뱵" | "뱶" | "뱷" | "뱸" | "뱹" | "뱺" | "뱻" | "뱼" | "뱽" | "뱾" | "뱿" | "벀" | "벁" | "벂" | "벃" | "뺴" | "뺵" | "뺶" | "뺷" | "뺸" | "뺹" | "뺺" | "뺻" | "뺼" | "뺽" | "뺾" | "뺿" | "뻀" | "뻁" | "뻂" | "뻃" | "뻄" | "뻅" | "뻆" | "뻇" | "뻈" | "뻉" | "뻊" | "뻋" | "뻌" | "뻍" | "뻎" | "뻏" | "섀" | "섁" | "섂" | "섃" | "섄" | "섅" | "섆" | "섇" | "섈" | "섉" | "섊" | "섋" | "섌" | "섍" | "섎" | "섏" | "섐" | "섑" | "섒" | "섓" | "섔" | "섕" | "섖" | "섗" | "섘" | "섙" | "섚" | "섛" | "썌" | "썍" | "썎" | "썏" | "썐" | "썑" | "썒" | "썓" | "썔" | "썕" | "썖" | "썗" | "썘" | "썙" | "썚" | "썛" | "썜" | "썝" | "썞" | "썟" | "썠" | "썡" | "썢" | "썣" | "썤" | "썥" | "썦" | "썧" | "얘" | "얙" | "얚" | "얛" | "얜" | "얝" | "얞" | "얟" | "얠" | "얡" | "얢" | "얣" | "얤" | "얥" | "얦" | "얧" | "얨" | "얩" | "얪" | "얫" | "얬" | "얭" | "얮" | "얯" | "얰" | "얱" | "얲" | "얳" | "쟤" | "쟥" | "쟦" | "쟧" | "쟨" | "쟩" | "쟪" | "쟫" | "쟬" | "쟭" | "쟮" | "쟯" | "쟰" | "쟱" | "쟲" | "쟳" | "쟴" | "쟵" | "쟶" | "쟷" | "쟸" | "쟹" | "쟺" | "쟻" | "쟼" | "쟽" | "쟾" | "쟿" | "쨰" | "쨱" | "쨲" | "쨳" | "쨴" | "쨵" | "쨶" | "쨷" | "쨸" | "쨹" | "쨺" | "쨻" | "쨼" | "쨽" | "쨾" | "쨿" | "쩀" | "쩁" | "쩂" | "쩃" | "쩄" | "쩅" | "쩆" | "쩇" | "쩈" | "쩉" | "쩊" | "쩋" | "챼" | "챽" | "챾" | "챿" | "첀" | "첁" | "첂" | "첃" | "첄" | "첅" | "첆" | "첇" | "첈" | "첉" | "첊" | "첋" | "첌" | "첍" | "첎" | "첏" | "첐" | "첑" | "첒" | "첓" | "첔" | "첕" | "첖" | "첗" | "컈" | "컉" | "컊" | "컋" | "컌" | "컍" | "컎" | "컏" | "컐" | "컑" | "컒" | "컓" | "컔" | "컕" | "컖" | "컗" | "컘" | "컙" | "컚" | "컛" | "컜" | "컝" | "컞" | "컟" | "컠" | "컡" | "컢" | "컣" | "턔" | "턕" | "턖" | "턗" | "턘" | "턙" | "턚" | "턛" | "턜" | "턝" | "턞" | "턟" | "턠" | "턡" | "턢" | "턣" | "턤" | "턥" | "턦" | "턧" | "턨" | "턩" | "턪" | "턫" | "턬" | "턭" | "턮" | "턯" | "퍠" | "퍡" | "퍢" | "퍣" | "퍤" | "퍥" | "퍦" | "퍧" | "퍨" | "퍩" | "퍪" | "퍫" | "퍬" | "퍭" | "퍮" | "퍯" | "퍰" | "퍱" | "퍲" | "퍳" | "퍴" | "퍵" | "퍶" | "퍷" | "퍸" | "퍹" | "퍺" | "퍻" | "햬" | "햭" | "햮" | "햯" | "햰" | "햱" | "햲" | "햳" | "햴" | "햵" | "햶" | "햷" | "햸" | "햹" | "햺" | "햻" | "햼" | "햽" | "햾" | "햿" | "헀" | "헁" | "헂" | "헃" | "헄" | "헅" | "헆" | "헇") ; + 'contains_어' : pattern Str = #("거" | "걱" | "걲" | "걳" | "건" | "걵" | "걶" | "걷" | "걸" | "걹" | "걺" | "걻" | "걼" | "걽" | "걾" | "걿" | "검" | "겁" | "겂" | "것" | "겄" | "겅" | "겆" | "겇" | "겈" | "겉" | "겊" | "겋" | "꺼" | "꺽" | "꺾" | "꺿" | "껀" | "껁" | "껂" | "껃" | "껄" | "껅" | "껆" | "껇" | "껈" | "껉" | "껊" | "껋" | "껌" | "껍" | "껎" | "껏" | "껐" | "껑" | "껒" | "껓" | "껔" | "껕" | "껖" | "껗" | "너" | "넉" | "넊" | "넋" | "넌" | "넍" | "넎" | "넏" | "널" | "넑" | "넒" | "넓" | "넔" | "넕" | "넖" | "넗" | "넘" | "넙" | "넚" | "넛" | "넜" | "넝" | "넞" | "넟" | "넠" | "넡" | "넢" | "넣" | "더" | "덕" | "덖" | "덗" | "던" | "덙" | "덚" | "덛" | "덜" | "덝" | "덞" | "덟" | "덠" | "덡" | "덢" | "덣" | "덤" | "덥" | "덦" | "덧" | "덨" | "덩" | "덪" | "덫" | "덬" | "덭" | "덮" | "덯" | "떠" | "떡" | "떢" | "떣" | "떤" | "떥" | "떦" | "떧" | "떨" | "떩" | "떪" | "떫" | "떬" | "떭" | "떮" | "떯" | "떰" | "떱" | "떲" | "떳" | "떴" | "떵" | "떶" | "떷" | "떸" | "떹" | "떺" | "떻" | "러" | "럭" | "럮" | "럯" | "런" | "럱" | "럲" | "럳" | "럴" | "럵" | "럶" | "럷" | "럸" | "럹" | "럺" | "럻" | "럼" | "럽" | "럾" | "럿" | "렀" | "렁" | "렂" | "렃" | "렄" | "렅" | "렆" | "렇" | "머" | "먹" | "먺" | "먻" | "먼" | "먽" | "먾" | "먿" | "멀" | "멁" | "멂" | "멃" | "멄" | "멅" | "멆" | "멇" | "멈" | "멉" | "멊" | "멋" | "멌" | "멍" | "멎" | "멏" | "멐" | "멑" | "멒" | "멓" | "버" | "벅" | "벆" | "벇" | "번" | "벉" | "벊" | "벋" | "벌" | "벍" | "벎" | "벏" | "벐" | "벑" | "벒" | "벓" | "범" | "법" | "벖" | "벗" | "벘" | "벙" | "벚" | "벛" | "벜" | "벝" | "벞" | "벟" | "뻐" | "뻑" | "뻒" | "뻓" | "뻔" | "뻕" | "뻖" | "뻗" | "뻘" | "뻙" | "뻚" | "뻛" | "뻜" | "뻝" | "뻞" | "뻟" | "뻠" | "뻡" | "뻢" | "뻣" | "뻤" | "뻥" | "뻦" | "뻧" | "뻨" | "뻩" | "뻪" | "뻫" | "서" | "석" | "섞" | "섟" | "선" | "섡" | "섢" | "섣" | "설" | "섥" | "섦" | "섧" | "섨" | "섩" | "섪" | "섫" | "섬" | "섭" | "섮" | "섯" | "섰" | "성" | "섲" | "섳" | "섴" | "섵" | "섶" | "섷" | "써" | "썩" | "썪" | "썫" | "썬" | "썭" | "썮" | "썯" | "썰" | "썱" | "썲" | "썳" | "썴" | "썵" | "썶" | "썷" | "썸" | "썹" | "썺" | "썻" | "썼" | "썽" | "썾" | "썿" | "쎀" | "쎁" | "쎂" | "쎃" | "어" | "억" | "얶" | "얷" | "언" | "얹" | "얺" | "얻" | "얼" | "얽" | "얾" | "얿" | "엀" | "엁" | "엂" | "엃" | "엄" | "업" | "없" | "엇" | "었" | "엉" | "엊" | "엋" | "엌" | "엍" | "엎" | "엏" | "저" | "적" | "젂" | "젃" | "전" | "젅" | "젆" | "젇" | "절" | "젉" | "젊" | "젋" | "젌" | "젍" | "젎" | "젏" | "점" | "접" | "젒" | "젓" | "젔" | "정" | "젖" | "젗" | "젘" | "젙" | "젚" | "젛" | "쩌" | "쩍" | "쩎" | "쩏" | "쩐" | "쩑" | "쩒" | "쩓" | "쩔" | "쩕" | "쩖" | "쩗" | "쩘" | "쩙" | "쩚" | "쩛" | "쩜" | "쩝" | "쩞" | "쩟" | "쩠" | "쩡" | "쩢" | "쩣" | "쩤" | "쩥" | "쩦" | "쩧" | "처" | "척" | "첚" | "첛" | "천" | "첝" | "첞" | "첟" | "철" | "첡" | "첢" | "첣" | "첤" | "첥" | "첦" | "첧" | "첨" | "첩" | "첪" | "첫" | "첬" | "청" | "첮" | "첯" | "첰" | "첱" | "첲" | "첳" | "커" | "컥" | "컦" | "컧" | "컨" | "컩" | "컪" | "컫" | "컬" | "컭" | "컮" | "컯" | "컰" | "컱" | "컲" | "컳" | "컴" | "컵" | "컶" | "컷" | "컸" | "컹" | "컺" | "컻" | "컼" | "컽" | "컾" | "컿" | "터" | "턱" | "턲" | "턳" | "턴" | "턵" | "턶" | "턷" | "털" | "턹" | "턺" | "턻" | "턼" | "턽" | "턾" | "턿" | "텀" | "텁" | "텂" | "텃" | "텄" | "텅" | "텆" | "텇" | "텈" | "텉" | "텊" | "텋" | "퍼" | "퍽" | "퍾" | "퍿" | "펀" | "펁" | "펂" | "펃" | "펄" | "펅" | "펆" | "펇" | "펈" | "펉" | "펊" | "펋" | "펌" | "펍" | "펎" | "펏" | "펐" | "펑" | "펒" | "펓" | "펔" | "펕" | "펖" | "펗" | "허" | "헉" | "헊" | "헋" | "헌" | "헍" | "헎" | "헏" | "헐" | "헑" | "헒" | "헓" | "헔" | "헕" | "헖" | "헗" | "험" | "헙" | "헚" | "헛" | "헜" | "헝" | "헞" | "헟" | "헠" | "헡" | "헢" | "헣") ; + 'contains_에' : pattern Str = #("게" | "겍" | "겎" | "겏" | "겐" | "겑" | "겒" | "겓" | "겔" | "겕" | "겖" | "겗" | "겘" | "겙" | "겚" | "겛" | "겜" | "겝" | "겞" | "겟" | "겠" | "겡" | "겢" | "겣" | "겤" | "겥" | "겦" | "겧" | "께" | "껙" | "껚" | "껛" | "껜" | "껝" | "껞" | "껟" | "껠" | "껡" | "껢" | "껣" | "껤" | "껥" | "껦" | "껧" | "껨" | "껩" | "껪" | "껫" | "껬" | "껭" | "껮" | "껯" | "껰" | "껱" | "껲" | "껳" | "네" | "넥" | "넦" | "넧" | "넨" | "넩" | "넪" | "넫" | "넬" | "넭" | "넮" | "넯" | "넰" | "넱" | "넲" | "넳" | "넴" | "넵" | "넶" | "넷" | "넸" | "넹" | "넺" | "넻" | "넼" | "넽" | "넾" | "넿" | "데" | "덱" | "덲" | "덳" | "덴" | "덵" | "덶" | "덷" | "델" | "덹" | "덺" | "덻" | "덼" | "덽" | "덾" | "덿" | "뎀" | "뎁" | "뎂" | "뎃" | "뎄" | "뎅" | "뎆" | "뎇" | "뎈" | "뎉" | "뎊" | "뎋" | "떼" | "떽" | "떾" | "떿" | "뗀" | "뗁" | "뗂" | "뗃" | "뗄" | "뗅" | "뗆" | "뗇" | "뗈" | "뗉" | "뗊" | "뗋" | "뗌" | "뗍" | "뗎" | "뗏" | "뗐" | "뗑" | "뗒" | "뗓" | "뗔" | "뗕" | "뗖" | "뗗" | "레" | "렉" | "렊" | "렋" | "렌" | "렍" | "렎" | "렏" | "렐" | "렑" | "렒" | "렓" | "렔" | "렕" | "렖" | "렗" | "렘" | "렙" | "렚" | "렛" | "렜" | "렝" | "렞" | "렟" | "렠" | "렡" | "렢" | "렣" | "메" | "멕" | "멖" | "멗" | "멘" | "멙" | "멚" | "멛" | "멜" | "멝" | "멞" | "멟" | "멠" | "멡" | "멢" | "멣" | "멤" | "멥" | "멦" | "멧" | "멨" | "멩" | "멪" | "멫" | "멬" | "멭" | "멮" | "멯" | "베" | "벡" | "벢" | "벣" | "벤" | "벥" | "벦" | "벧" | "벨" | "벩" | "벪" | "벫" | "벬" | "벭" | "벮" | "벯" | "벰" | "벱" | "벲" | "벳" | "벴" | "벵" | "벶" | "벷" | "벸" | "벹" | "벺" | "벻" | "뻬" | "뻭" | "뻮" | "뻯" | "뻰" | "뻱" | "뻲" | "뻳" | "뻴" | "뻵" | "뻶" | "뻷" | "뻸" | "뻹" | "뻺" | "뻻" | "뻼" | "뻽" | "뻾" | "뻿" | "뼀" | "뼁" | "뼂" | "뼃" | "뼄" | "뼅" | "뼆" | "뼇" | "세" | "섹" | "섺" | "섻" | "센" | "섽" | "섾" | "섿" | "셀" | "셁" | "셂" | "셃" | "셄" | "셅" | "셆" | "셇" | "셈" | "셉" | "셊" | "셋" | "셌" | "셍" | "셎" | "셏" | "셐" | "셑" | "셒" | "셓" | "쎄" | "쎅" | "쎆" | "쎇" | "쎈" | "쎉" | "쎊" | "쎋" | "쎌" | "쎍" | "쎎" | "쎏" | "쎐" | "쎑" | "쎒" | "쎓" | "쎔" | "쎕" | "쎖" | "쎗" | "쎘" | "쎙" | "쎚" | "쎛" | "쎜" | "쎝" | "쎞" | "쎟" | "에" | "엑" | "엒" | "엓" | "엔" | "엕" | "엖" | "엗" | "엘" | "엙" | "엚" | "엛" | "엜" | "엝" | "엞" | "엟" | "엠" | "엡" | "엢" | "엣" | "엤" | "엥" | "엦" | "엧" | "엨" | "엩" | "엪" | "엫" | "제" | "젝" | "젞" | "젟" | "젠" | "젡" | "젢" | "젣" | "젤" | "젥" | "젦" | "젧" | "젨" | "젩" | "젪" | "젫" | "젬" | "젭" | "젮" | "젯" | "젰" | "젱" | "젲" | "젳" | "젴" | "젵" | "젶" | "젷" | "쩨" | "쩩" | "쩪" | "쩫" | "쩬" | "쩭" | "쩮" | "쩯" | "쩰" | "쩱" | "쩲" | "쩳" | "쩴" | "쩵" | "쩶" | "쩷" | "쩸" | "쩹" | "쩺" | "쩻" | "쩼" | "쩽" | "쩾" | "쩿" | "쪀" | "쪁" | "쪂" | "쪃" | "체" | "첵" | "첶" | "첷" | "첸" | "첹" | "첺" | "첻" | "첼" | "첽" | "첾" | "첿" | "쳀" | "쳁" | "쳂" | "쳃" | "쳄" | "쳅" | "쳆" | "쳇" | "쳈" | "쳉" | "쳊" | "쳋" | "쳌" | "쳍" | "쳎" | "쳏" | "케" | "켁" | "켂" | "켃" | "켄" | "켅" | "켆" | "켇" | "켈" | "켉" | "켊" | "켋" | "켌" | "켍" | "켎" | "켏" | "켐" | "켑" | "켒" | "켓" | "켔" | "켕" | "켖" | "켗" | "켘" | "켙" | "켚" | "켛" | "테" | "텍" | "텎" | "텏" | "텐" | "텑" | "텒" | "텓" | "텔" | "텕" | "텖" | "텗" | "텘" | "텙" | "텚" | "텛" | "템" | "텝" | "텞" | "텟" | "텠" | "텡" | "텢" | "텣" | "텤" | "텥" | "텦" | "텧" | "페" | "펙" | "펚" | "펛" | "펜" | "펝" | "펞" | "펟" | "펠" | "펡" | "펢" | "펣" | "펤" | "펥" | "펦" | "펧" | "펨" | "펩" | "펪" | "펫" | "펬" | "펭" | "펮" | "펯" | "펰" | "펱" | "펲" | "펳" | "헤" | "헥" | "헦" | "헧" | "헨" | "헩" | "헪" | "헫" | "헬" | "헭" | "헮" | "헯" | "헰" | "헱" | "헲" | "헳" | "헴" | "헵" | "헶" | "헷" | "헸" | "헹" | "헺" | "헻" | "헼" | "헽" | "헾" | "헿") ; + 'contains_여' : pattern Str = #("겨" | "격" | "겪" | "겫" | "견" | "겭" | "겮" | "겯" | "결" | "겱" | "겲" | "겳" | "겴" | "겵" | "겶" | "겷" | "겸" | "겹" | "겺" | "겻" | "겼" | "경" | "겾" | "겿" | "곀" | "곁" | "곂" | "곃" | "껴" | "껵" | "껶" | "껷" | "껸" | "껹" | "껺" | "껻" | "껼" | "껽" | "껾" | "껿" | "꼀" | "꼁" | "꼂" | "꼃" | "꼄" | "꼅" | "꼆" | "꼇" | "꼈" | "꼉" | "꼊" | "꼋" | "꼌" | "꼍" | "꼎" | "꼏" | "녀" | "녁" | "녂" | "녃" | "년" | "녅" | "녆" | "녇" | "녈" | "녉" | "녊" | "녋" | "녌" | "녍" | "녎" | "녏" | "념" | "녑" | "녒" | "녓" | "녔" | "녕" | "녖" | "녗" | "녘" | "녙" | "녚" | "녛" | "뎌" | "뎍" | "뎎" | "뎏" | "뎐" | "뎑" | "뎒" | "뎓" | "뎔" | "뎕" | "뎖" | "뎗" | "뎘" | "뎙" | "뎚" | "뎛" | "뎜" | "뎝" | "뎞" | "뎟" | "뎠" | "뎡" | "뎢" | "뎣" | "뎤" | "뎥" | "뎦" | "뎧" | "뗘" | "뗙" | "뗚" | "뗛" | "뗜" | "뗝" | "뗞" | "뗟" | "뗠" | "뗡" | "뗢" | "뗣" | "뗤" | "뗥" | "뗦" | "뗧" | "뗨" | "뗩" | "뗪" | "뗫" | "뗬" | "뗭" | "뗮" | "뗯" | "뗰" | "뗱" | "뗲" | "뗳" | "려" | "력" | "렦" | "렧" | "련" | "렩" | "렪" | "렫" | "렬" | "렭" | "렮" | "렯" | "렰" | "렱" | "렲" | "렳" | "렴" | "렵" | "렶" | "렷" | "렸" | "령" | "렺" | "렻" | "렼" | "렽" | "렾" | "렿" | "며" | "멱" | "멲" | "멳" | "면" | "멵" | "멶" | "멷" | "멸" | "멹" | "멺" | "멻" | "멼" | "멽" | "멾" | "멿" | "몀" | "몁" | "몂" | "몃" | "몄" | "명" | "몆" | "몇" | "몈" | "몉" | "몊" | "몋" | "벼" | "벽" | "벾" | "벿" | "변" | "볁" | "볂" | "볃" | "별" | "볅" | "볆" | "볇" | "볈" | "볉" | "볊" | "볋" | "볌" | "볍" | "볎" | "볏" | "볐" | "병" | "볒" | "볓" | "볔" | "볕" | "볖" | "볗" | "뼈" | "뼉" | "뼊" | "뼋" | "뼌" | "뼍" | "뼎" | "뼏" | "뼐" | "뼑" | "뼒" | "뼓" | "뼔" | "뼕" | "뼖" | "뼗" | "뼘" | "뼙" | "뼚" | "뼛" | "뼜" | "뼝" | "뼞" | "뼟" | "뼠" | "뼡" | "뼢" | "뼣" | "셔" | "셕" | "셖" | "셗" | "션" | "셙" | "셚" | "셛" | "셜" | "셝" | "셞" | "셟" | "셠" | "셡" | "셢" | "셣" | "셤" | "셥" | "셦" | "셧" | "셨" | "셩" | "셪" | "셫" | "셬" | "셭" | "셮" | "셯" | "쎠" | "쎡" | "쎢" | "쎣" | "쎤" | "쎥" | "쎦" | "쎧" | "쎨" | "쎩" | "쎪" | "쎫" | "쎬" | "쎭" | "쎮" | "쎯" | "쎰" | "쎱" | "쎲" | "쎳" | "쎴" | "쎵" | "쎶" | "쎷" | "쎸" | "쎹" | "쎺" | "쎻" | "여" | "역" | "엮" | "엯" | "연" | "엱" | "엲" | "엳" | "열" | "엵" | "엶" | "엷" | "엸" | "엹" | "엺" | "엻" | "염" | "엽" | "엾" | "엿" | "였" | "영" | "옂" | "옃" | "옄" | "옅" | "옆" | "옇" | "져" | "젹" | "젺" | "젻" | "젼" | "젽" | "젾" | "젿" | "졀" | "졁" | "졂" | "졃" | "졄" | "졅" | "졆" | "졇" | "졈" | "졉" | "졊" | "졋" | "졌" | "졍" | "졎" | "졏" | "졐" | "졑" | "졒" | "졓" | "쪄" | "쪅" | "쪆" | "쪇" | "쪈" | "쪉" | "쪊" | "쪋" | "쪌" | "쪍" | "쪎" | "쪏" | "쪐" | "쪑" | "쪒" | "쪓" | "쪔" | "쪕" | "쪖" | "쪗" | "쪘" | "쪙" | "쪚" | "쪛" | "쪜" | "쪝" | "쪞" | "쪟" | "쳐" | "쳑" | "쳒" | "쳓" | "쳔" | "쳕" | "쳖" | "쳗" | "쳘" | "쳙" | "쳚" | "쳛" | "쳜" | "쳝" | "쳞" | "쳟" | "쳠" | "쳡" | "쳢" | "쳣" | "쳤" | "쳥" | "쳦" | "쳧" | "쳨" | "쳩" | "쳪" | "쳫" | "켜" | "켝" | "켞" | "켟" | "켠" | "켡" | "켢" | "켣" | "켤" | "켥" | "켦" | "켧" | "켨" | "켩" | "켪" | "켫" | "켬" | "켭" | "켮" | "켯" | "켰" | "켱" | "켲" | "켳" | "켴" | "켵" | "켶" | "켷" | "텨" | "텩" | "텪" | "텫" | "텬" | "텭" | "텮" | "텯" | "텰" | "텱" | "텲" | "텳" | "텴" | "텵" | "텶" | "텷" | "텸" | "텹" | "텺" | "텻" | "텼" | "텽" | "텾" | "텿" | "톀" | "톁" | "톂" | "톃" | "펴" | "펵" | "펶" | "펷" | "편" | "펹" | "펺" | "펻" | "펼" | "펽" | "펾" | "펿" | "폀" | "폁" | "폂" | "폃" | "폄" | "폅" | "폆" | "폇" | "폈" | "평" | "폊" | "폋" | "폌" | "폍" | "폎" | "폏" | "혀" | "혁" | "혂" | "혃" | "현" | "혅" | "혆" | "혇" | "혈" | "혉" | "혊" | "혋" | "혌" | "혍" | "혎" | "혏" | "혐" | "협" | "혒" | "혓" | "혔" | "형" | "혖" | "혗" | "혘" | "혙" | "혚" | "혛") ; + 'contains_예' : pattern Str = #("계" | "곅" | "곆" | "곇" | "곈" | "곉" | "곊" | "곋" | "곌" | "곍" | "곎" | "곏" | "곐" | "곑" | "곒" | "곓" | "곔" | "곕" | "곖" | "곗" | "곘" | "곙" | "곚" | "곛" | "곜" | "곝" | "곞" | "곟" | "꼐" | "꼑" | "꼒" | "꼓" | "꼔" | "꼕" | "꼖" | "꼗" | "꼘" | "꼙" | "꼚" | "꼛" | "꼜" | "꼝" | "꼞" | "꼟" | "꼠" | "꼡" | "꼢" | "꼣" | "꼤" | "꼥" | "꼦" | "꼧" | "꼨" | "꼩" | "꼪" | "꼫" | "녜" | "녝" | "녞" | "녟" | "녠" | "녡" | "녢" | "녣" | "녤" | "녥" | "녦" | "녧" | "녨" | "녩" | "녪" | "녫" | "녬" | "녭" | "녮" | "녯" | "녰" | "녱" | "녲" | "녳" | "녴" | "녵" | "녶" | "녷" | "뎨" | "뎩" | "뎪" | "뎫" | "뎬" | "뎭" | "뎮" | "뎯" | "뎰" | "뎱" | "뎲" | "뎳" | "뎴" | "뎵" | "뎶" | "뎷" | "뎸" | "뎹" | "뎺" | "뎻" | "뎼" | "뎽" | "뎾" | "뎿" | "돀" | "돁" | "돂" | "돃" | "뗴" | "뗵" | "뗶" | "뗷" | "뗸" | "뗹" | "뗺" | "뗻" | "뗼" | "뗽" | "뗾" | "뗿" | "똀" | "똁" | "똂" | "똃" | "똄" | "똅" | "똆" | "똇" | "똈" | "똉" | "똊" | "똋" | "똌" | "똍" | "똎" | "똏" | "례" | "롁" | "롂" | "롃" | "롄" | "롅" | "롆" | "롇" | "롈" | "롉" | "롊" | "롋" | "롌" | "롍" | "롎" | "롏" | "롐" | "롑" | "롒" | "롓" | "롔" | "롕" | "롖" | "롗" | "롘" | "롙" | "롚" | "롛" | "몌" | "몍" | "몎" | "몏" | "몐" | "몑" | "몒" | "몓" | "몔" | "몕" | "몖" | "몗" | "몘" | "몙" | "몚" | "몛" | "몜" | "몝" | "몞" | "몟" | "몠" | "몡" | "몢" | "몣" | "몤" | "몥" | "몦" | "몧" | "볘" | "볙" | "볚" | "볛" | "볜" | "볝" | "볞" | "볟" | "볠" | "볡" | "볢" | "볣" | "볤" | "볥" | "볦" | "볧" | "볨" | "볩" | "볪" | "볫" | "볬" | "볭" | "볮" | "볯" | "볰" | "볱" | "볲" | "볳" | "뼤" | "뼥" | "뼦" | "뼧" | "뼨" | "뼩" | "뼪" | "뼫" | "뼬" | "뼭" | "뼮" | "뼯" | "뼰" | "뼱" | "뼲" | "뼳" | "뼴" | "뼵" | "뼶" | "뼷" | "뼸" | "뼹" | "뼺" | "뼻" | "뼼" | "뼽" | "뼾" | "뼿" | "셰" | "셱" | "셲" | "셳" | "셴" | "셵" | "셶" | "셷" | "셸" | "셹" | "셺" | "셻" | "셼" | "셽" | "셾" | "셿" | "솀" | "솁" | "솂" | "솃" | "솄" | "솅" | "솆" | "솇" | "솈" | "솉" | "솊" | "솋" | "쎼" | "쎽" | "쎾" | "쎿" | "쏀" | "쏁" | "쏂" | "쏃" | "쏄" | "쏅" | "쏆" | "쏇" | "쏈" | "쏉" | "쏊" | "쏋" | "쏌" | "쏍" | "쏎" | "쏏" | "쏐" | "쏑" | "쏒" | "쏓" | "쏔" | "쏕" | "쏖" | "쏗" | "예" | "옉" | "옊" | "옋" | "옌" | "옍" | "옎" | "옏" | "옐" | "옑" | "옒" | "옓" | "옔" | "옕" | "옖" | "옗" | "옘" | "옙" | "옚" | "옛" | "옜" | "옝" | "옞" | "옟" | "옠" | "옡" | "옢" | "옣" | "졔" | "졕" | "졖" | "졗" | "졘" | "졙" | "졚" | "졛" | "졜" | "졝" | "졞" | "졟" | "졠" | "졡" | "졢" | "졣" | "졤" | "졥" | "졦" | "졧" | "졨" | "졩" | "졪" | "졫" | "졬" | "졭" | "졮" | "졯" | "쪠" | "쪡" | "쪢" | "쪣" | "쪤" | "쪥" | "쪦" | "쪧" | "쪨" | "쪩" | "쪪" | "쪫" | "쪬" | "쪭" | "쪮" | "쪯" | "쪰" | "쪱" | "쪲" | "쪳" | "쪴" | "쪵" | "쪶" | "쪷" | "쪸" | "쪹" | "쪺" | "쪻" | "쳬" | "쳭" | "쳮" | "쳯" | "쳰" | "쳱" | "쳲" | "쳳" | "쳴" | "쳵" | "쳶" | "쳷" | "쳸" | "쳹" | "쳺" | "쳻" | "쳼" | "쳽" | "쳾" | "쳿" | "촀" | "촁" | "촂" | "촃" | "촄" | "촅" | "촆" | "촇" | "켸" | "켹" | "켺" | "켻" | "켼" | "켽" | "켾" | "켿" | "콀" | "콁" | "콂" | "콃" | "콄" | "콅" | "콆" | "콇" | "콈" | "콉" | "콊" | "콋" | "콌" | "콍" | "콎" | "콏" | "콐" | "콑" | "콒" | "콓" | "톄" | "톅" | "톆" | "톇" | "톈" | "톉" | "톊" | "톋" | "톌" | "톍" | "톎" | "톏" | "톐" | "톑" | "톒" | "톓" | "톔" | "톕" | "톖" | "톗" | "톘" | "톙" | "톚" | "톛" | "톜" | "톝" | "톞" | "톟" | "폐" | "폑" | "폒" | "폓" | "폔" | "폕" | "폖" | "폗" | "폘" | "폙" | "폚" | "폛" | "폜" | "폝" | "폞" | "폟" | "폠" | "폡" | "폢" | "폣" | "폤" | "폥" | "폦" | "폧" | "폨" | "폩" | "폪" | "폫" | "혜" | "혝" | "혞" | "혟" | "혠" | "혡" | "혢" | "혣" | "혤" | "혥" | "혦" | "혧" | "혨" | "혩" | "혪" | "혫" | "혬" | "혭" | "혮" | "혯" | "혰" | "혱" | "혲" | "혳" | "혴" | "혵" | "혶" | "혷") ; + 'contains_오' : pattern Str = #("고" | "곡" | "곢" | "곣" | "곤" | "곥" | "곦" | "곧" | "골" | "곩" | "곪" | "곫" | "곬" | "곭" | "곮" | "곯" | "곰" | "곱" | "곲" | "곳" | "곴" | "공" | "곶" | "곷" | "곸" | "곹" | "곺" | "곻" | "꼬" | "꼭" | "꼮" | "꼯" | "꼰" | "꼱" | "꼲" | "꼳" | "꼴" | "꼵" | "꼶" | "꼷" | "꼸" | "꼹" | "꼺" | "꼻" | "꼼" | "꼽" | "꼾" | "꼿" | "꽀" | "꽁" | "꽂" | "꽃" | "꽄" | "꽅" | "꽆" | "꽇" | "노" | "녹" | "녺" | "녻" | "논" | "녽" | "녾" | "녿" | "놀" | "놁" | "놂" | "놃" | "놄" | "놅" | "놆" | "놇" | "놈" | "놉" | "놊" | "놋" | "놌" | "농" | "놎" | "놏" | "놐" | "놑" | "높" | "놓" | "도" | "독" | "돆" | "돇" | "돈" | "돉" | "돊" | "돋" | "돌" | "돍" | "돎" | "돏" | "돐" | "돑" | "돒" | "돓" | "돔" | "돕" | "돖" | "돗" | "돘" | "동" | "돚" | "돛" | "돜" | "돝" | "돞" | "돟" | "또" | "똑" | "똒" | "똓" | "똔" | "똕" | "똖" | "똗" | "똘" | "똙" | "똚" | "똛" | "똜" | "똝" | "똞" | "똟" | "똠" | "똡" | "똢" | "똣" | "똤" | "똥" | "똦" | "똧" | "똨" | "똩" | "똪" | "똫" | "로" | "록" | "롞" | "롟" | "론" | "롡" | "롢" | "롣" | "롤" | "롥" | "롦" | "롧" | "롨" | "롩" | "롪" | "롫" | "롬" | "롭" | "롮" | "롯" | "롰" | "롱" | "롲" | "롳" | "롴" | "롵" | "롶" | "롷" | "모" | "목" | "몪" | "몫" | "몬" | "몭" | "몮" | "몯" | "몰" | "몱" | "몲" | "몳" | "몴" | "몵" | "몶" | "몷" | "몸" | "몹" | "몺" | "못" | "몼" | "몽" | "몾" | "몿" | "뫀" | "뫁" | "뫂" | "뫃" | "보" | "복" | "볶" | "볷" | "본" | "볹" | "볺" | "볻" | "볼" | "볽" | "볾" | "볿" | "봀" | "봁" | "봂" | "봃" | "봄" | "봅" | "봆" | "봇" | "봈" | "봉" | "봊" | "봋" | "봌" | "봍" | "봎" | "봏" | "뽀" | "뽁" | "뽂" | "뽃" | "뽄" | "뽅" | "뽆" | "뽇" | "뽈" | "뽉" | "뽊" | "뽋" | "뽌" | "뽍" | "뽎" | "뽏" | "뽐" | "뽑" | "뽒" | "뽓" | "뽔" | "뽕" | "뽖" | "뽗" | "뽘" | "뽙" | "뽚" | "뽛" | "소" | "속" | "솎" | "솏" | "손" | "솑" | "솒" | "솓" | "솔" | "솕" | "솖" | "솗" | "솘" | "솙" | "솚" | "솛" | "솜" | "솝" | "솞" | "솟" | "솠" | "송" | "솢" | "솣" | "솤" | "솥" | "솦" | "솧" | "쏘" | "쏙" | "쏚" | "쏛" | "쏜" | "쏝" | "쏞" | "쏟" | "쏠" | "쏡" | "쏢" | "쏣" | "쏤" | "쏥" | "쏦" | "쏧" | "쏨" | "쏩" | "쏪" | "쏫" | "쏬" | "쏭" | "쏮" | "쏯" | "쏰" | "쏱" | "쏲" | "쏳" | "오" | "옥" | "옦" | "옧" | "온" | "옩" | "옪" | "옫" | "올" | "옭" | "옮" | "옯" | "옰" | "옱" | "옲" | "옳" | "옴" | "옵" | "옶" | "옷" | "옸" | "옹" | "옺" | "옻" | "옼" | "옽" | "옾" | "옿" | "조" | "족" | "졲" | "졳" | "존" | "졵" | "졶" | "졷" | "졸" | "졹" | "졺" | "졻" | "졼" | "졽" | "졾" | "졿" | "좀" | "좁" | "좂" | "좃" | "좄" | "종" | "좆" | "좇" | "좈" | "좉" | "좊" | "좋" | "쪼" | "쪽" | "쪾" | "쪿" | "쫀" | "쫁" | "쫂" | "쫃" | "쫄" | "쫅" | "쫆" | "쫇" | "쫈" | "쫉" | "쫊" | "쫋" | "쫌" | "쫍" | "쫎" | "쫏" | "쫐" | "쫑" | "쫒" | "쫓" | "쫔" | "쫕" | "쫖" | "쫗" | "초" | "촉" | "촊" | "촋" | "촌" | "촍" | "촎" | "촏" | "촐" | "촑" | "촒" | "촓" | "촔" | "촕" | "촖" | "촗" | "촘" | "촙" | "촚" | "촛" | "촜" | "총" | "촞" | "촟" | "촠" | "촡" | "촢" | "촣" | "코" | "콕" | "콖" | "콗" | "콘" | "콙" | "콚" | "콛" | "콜" | "콝" | "콞" | "콟" | "콠" | "콡" | "콢" | "콣" | "콤" | "콥" | "콦" | "콧" | "콨" | "콩" | "콪" | "콫" | "콬" | "콭" | "콮" | "콯" | "토" | "톡" | "톢" | "톣" | "톤" | "톥" | "톦" | "톧" | "톨" | "톩" | "톪" | "톫" | "톬" | "톭" | "톮" | "톯" | "톰" | "톱" | "톲" | "톳" | "톴" | "통" | "톶" | "톷" | "톸" | "톹" | "톺" | "톻" | "포" | "폭" | "폮" | "폯" | "폰" | "폱" | "폲" | "폳" | "폴" | "폵" | "폶" | "폷" | "폸" | "폹" | "폺" | "폻" | "폼" | "폽" | "폾" | "폿" | "퐀" | "퐁" | "퐂" | "퐃" | "퐄" | "퐅" | "퐆" | "퐇" | "호" | "혹" | "혺" | "혻" | "혼" | "혽" | "혾" | "혿" | "홀" | "홁" | "홂" | "홃" | "홄" | "홅" | "홆" | "홇" | "홈" | "홉" | "홊" | "홋" | "홌" | "홍" | "홎" | "홏" | "홐" | "홑" | "홒" | "홓") ; + 'contains_와' : pattern Str = #("과" | "곽" | "곾" | "곿" | "관" | "괁" | "괂" | "괃" | "괄" | "괅" | "괆" | "괇" | "괈" | "괉" | "괊" | "괋" | "괌" | "괍" | "괎" | "괏" | "괐" | "광" | "괒" | "괓" | "괔" | "괕" | "괖" | "괗" | "꽈" | "꽉" | "꽊" | "꽋" | "꽌" | "꽍" | "꽎" | "꽏" | "꽐" | "꽑" | "꽒" | "꽓" | "꽔" | "꽕" | "꽖" | "꽗" | "꽘" | "꽙" | "꽚" | "꽛" | "꽜" | "꽝" | "꽞" | "꽟" | "꽠" | "꽡" | "꽢" | "꽣" | "놔" | "놕" | "놖" | "놗" | "놘" | "놙" | "놚" | "놛" | "놜" | "놝" | "놞" | "놟" | "놠" | "놡" | "놢" | "놣" | "놤" | "놥" | "놦" | "놧" | "놨" | "놩" | "놪" | "놫" | "놬" | "놭" | "놮" | "놯" | "돠" | "돡" | "돢" | "돣" | "돤" | "돥" | "돦" | "돧" | "돨" | "돩" | "돪" | "돫" | "돬" | "돭" | "돮" | "돯" | "돰" | "돱" | "돲" | "돳" | "돴" | "돵" | "돶" | "돷" | "돸" | "돹" | "돺" | "돻" | "똬" | "똭" | "똮" | "똯" | "똰" | "똱" | "똲" | "똳" | "똴" | "똵" | "똶" | "똷" | "똸" | "똹" | "똺" | "똻" | "똼" | "똽" | "똾" | "똿" | "뙀" | "뙁" | "뙂" | "뙃" | "뙄" | "뙅" | "뙆" | "뙇" | "롸" | "롹" | "롺" | "롻" | "롼" | "롽" | "롾" | "롿" | "뢀" | "뢁" | "뢂" | "뢃" | "뢄" | "뢅" | "뢆" | "뢇" | "뢈" | "뢉" | "뢊" | "뢋" | "뢌" | "뢍" | "뢎" | "뢏" | "뢐" | "뢑" | "뢒" | "뢓" | "뫄" | "뫅" | "뫆" | "뫇" | "뫈" | "뫉" | "뫊" | "뫋" | "뫌" | "뫍" | "뫎" | "뫏" | "뫐" | "뫑" | "뫒" | "뫓" | "뫔" | "뫕" | "뫖" | "뫗" | "뫘" | "뫙" | "뫚" | "뫛" | "뫜" | "뫝" | "뫞" | "뫟" | "봐" | "봑" | "봒" | "봓" | "봔" | "봕" | "봖" | "봗" | "봘" | "봙" | "봚" | "봛" | "봜" | "봝" | "봞" | "봟" | "봠" | "봡" | "봢" | "봣" | "봤" | "봥" | "봦" | "봧" | "봨" | "봩" | "봪" | "봫" | "뽜" | "뽝" | "뽞" | "뽟" | "뽠" | "뽡" | "뽢" | "뽣" | "뽤" | "뽥" | "뽦" | "뽧" | "뽨" | "뽩" | "뽪" | "뽫" | "뽬" | "뽭" | "뽮" | "뽯" | "뽰" | "뽱" | "뽲" | "뽳" | "뽴" | "뽵" | "뽶" | "뽷" | "솨" | "솩" | "솪" | "솫" | "솬" | "솭" | "솮" | "솯" | "솰" | "솱" | "솲" | "솳" | "솴" | "솵" | "솶" | "솷" | "솸" | "솹" | "솺" | "솻" | "솼" | "솽" | "솾" | "솿" | "쇀" | "쇁" | "쇂" | "쇃" | "쏴" | "쏵" | "쏶" | "쏷" | "쏸" | "쏹" | "쏺" | "쏻" | "쏼" | "쏽" | "쏾" | "쏿" | "쐀" | "쐁" | "쐂" | "쐃" | "쐄" | "쐅" | "쐆" | "쐇" | "쐈" | "쐉" | "쐊" | "쐋" | "쐌" | "쐍" | "쐎" | "쐏" | "와" | "왁" | "왂" | "왃" | "완" | "왅" | "왆" | "왇" | "왈" | "왉" | "왊" | "왋" | "왌" | "왍" | "왎" | "왏" | "왐" | "왑" | "왒" | "왓" | "왔" | "왕" | "왖" | "왗" | "왘" | "왙" | "왚" | "왛" | "좌" | "좍" | "좎" | "좏" | "좐" | "좑" | "좒" | "좓" | "좔" | "좕" | "좖" | "좗" | "좘" | "좙" | "좚" | "좛" | "좜" | "좝" | "좞" | "좟" | "좠" | "좡" | "좢" | "좣" | "좤" | "좥" | "좦" | "좧" | "쫘" | "쫙" | "쫚" | "쫛" | "쫜" | "쫝" | "쫞" | "쫟" | "쫠" | "쫡" | "쫢" | "쫣" | "쫤" | "쫥" | "쫦" | "쫧" | "쫨" | "쫩" | "쫪" | "쫫" | "쫬" | "쫭" | "쫮" | "쫯" | "쫰" | "쫱" | "쫲" | "쫳" | "촤" | "촥" | "촦" | "촧" | "촨" | "촩" | "촪" | "촫" | "촬" | "촭" | "촮" | "촯" | "촰" | "촱" | "촲" | "촳" | "촴" | "촵" | "촶" | "촷" | "촸" | "촹" | "촺" | "촻" | "촼" | "촽" | "촾" | "촿" | "콰" | "콱" | "콲" | "콳" | "콴" | "콵" | "콶" | "콷" | "콸" | "콹" | "콺" | "콻" | "콼" | "콽" | "콾" | "콿" | "쾀" | "쾁" | "쾂" | "쾃" | "쾄" | "쾅" | "쾆" | "쾇" | "쾈" | "쾉" | "쾊" | "쾋" | "톼" | "톽" | "톾" | "톿" | "퇀" | "퇁" | "퇂" | "퇃" | "퇄" | "퇅" | "퇆" | "퇇" | "퇈" | "퇉" | "퇊" | "퇋" | "퇌" | "퇍" | "퇎" | "퇏" | "퇐" | "퇑" | "퇒" | "퇓" | "퇔" | "퇕" | "퇖" | "퇗" | "퐈" | "퐉" | "퐊" | "퐋" | "퐌" | "퐍" | "퐎" | "퐏" | "퐐" | "퐑" | "퐒" | "퐓" | "퐔" | "퐕" | "퐖" | "퐗" | "퐘" | "퐙" | "퐚" | "퐛" | "퐜" | "퐝" | "퐞" | "퐟" | "퐠" | "퐡" | "퐢" | "퐣" | "화" | "확" | "홖" | "홗" | "환" | "홙" | "홚" | "홛" | "활" | "홝" | "홞" | "홟" | "홠" | "홡" | "홢" | "홣" | "홤" | "홥" | "홦" | "홧" | "홨" | "황" | "홪" | "홫" | "홬" | "홭" | "홮" | "홯") ; + 'contains_왜' : pattern Str = #("괘" | "괙" | "괚" | "괛" | "괜" | "괝" | "괞" | "괟" | "괠" | "괡" | "괢" | "괣" | "괤" | "괥" | "괦" | "괧" | "괨" | "괩" | "괪" | "괫" | "괬" | "괭" | "괮" | "괯" | "괰" | "괱" | "괲" | "괳" | "꽤" | "꽥" | "꽦" | "꽧" | "꽨" | "꽩" | "꽪" | "꽫" | "꽬" | "꽭" | "꽮" | "꽯" | "꽰" | "꽱" | "꽲" | "꽳" | "꽴" | "꽵" | "꽶" | "꽷" | "꽸" | "꽹" | "꽺" | "꽻" | "꽼" | "꽽" | "꽾" | "꽿" | "놰" | "놱" | "놲" | "놳" | "놴" | "놵" | "놶" | "놷" | "놸" | "놹" | "놺" | "놻" | "놼" | "놽" | "놾" | "놿" | "뇀" | "뇁" | "뇂" | "뇃" | "뇄" | "뇅" | "뇆" | "뇇" | "뇈" | "뇉" | "뇊" | "뇋" | "돼" | "돽" | "돾" | "돿" | "됀" | "됁" | "됂" | "됃" | "됄" | "됅" | "됆" | "됇" | "됈" | "됉" | "됊" | "됋" | "됌" | "됍" | "됎" | "됏" | "됐" | "됑" | "됒" | "됓" | "됔" | "됕" | "됖" | "됗" | "뙈" | "뙉" | "뙊" | "뙋" | "뙌" | "뙍" | "뙎" | "뙏" | "뙐" | "뙑" | "뙒" | "뙓" | "뙔" | "뙕" | "뙖" | "뙗" | "뙘" | "뙙" | "뙚" | "뙛" | "뙜" | "뙝" | "뙞" | "뙟" | "뙠" | "뙡" | "뙢" | "뙣" | "뢔" | "뢕" | "뢖" | "뢗" | "뢘" | "뢙" | "뢚" | "뢛" | "뢜" | "뢝" | "뢞" | "뢟" | "뢠" | "뢡" | "뢢" | "뢣" | "뢤" | "뢥" | "뢦" | "뢧" | "뢨" | "뢩" | "뢪" | "뢫" | "뢬" | "뢭" | "뢮" | "뢯" | "뫠" | "뫡" | "뫢" | "뫣" | "뫤" | "뫥" | "뫦" | "뫧" | "뫨" | "뫩" | "뫪" | "뫫" | "뫬" | "뫭" | "뫮" | "뫯" | "뫰" | "뫱" | "뫲" | "뫳" | "뫴" | "뫵" | "뫶" | "뫷" | "뫸" | "뫹" | "뫺" | "뫻" | "봬" | "봭" | "봮" | "봯" | "봰" | "봱" | "봲" | "봳" | "봴" | "봵" | "봶" | "봷" | "봸" | "봹" | "봺" | "봻" | "봼" | "봽" | "봾" | "봿" | "뵀" | "뵁" | "뵂" | "뵃" | "뵄" | "뵅" | "뵆" | "뵇" | "뽸" | "뽹" | "뽺" | "뽻" | "뽼" | "뽽" | "뽾" | "뽿" | "뾀" | "뾁" | "뾂" | "뾃" | "뾄" | "뾅" | "뾆" | "뾇" | "뾈" | "뾉" | "뾊" | "뾋" | "뾌" | "뾍" | "뾎" | "뾏" | "뾐" | "뾑" | "뾒" | "뾓" | "쇄" | "쇅" | "쇆" | "쇇" | "쇈" | "쇉" | "쇊" | "쇋" | "쇌" | "쇍" | "쇎" | "쇏" | "쇐" | "쇑" | "쇒" | "쇓" | "쇔" | "쇕" | "쇖" | "쇗" | "쇘" | "쇙" | "쇚" | "쇛" | "쇜" | "쇝" | "쇞" | "쇟" | "쐐" | "쐑" | "쐒" | "쐓" | "쐔" | "쐕" | "쐖" | "쐗" | "쐘" | "쐙" | "쐚" | "쐛" | "쐜" | "쐝" | "쐞" | "쐟" | "쐠" | "쐡" | "쐢" | "쐣" | "쐤" | "쐥" | "쐦" | "쐧" | "쐨" | "쐩" | "쐪" | "쐫" | "왜" | "왝" | "왞" | "왟" | "왠" | "왡" | "왢" | "왣" | "왤" | "왥" | "왦" | "왧" | "왨" | "왩" | "왪" | "왫" | "왬" | "왭" | "왮" | "왯" | "왰" | "왱" | "왲" | "왳" | "왴" | "왵" | "왶" | "왷" | "좨" | "좩" | "좪" | "좫" | "좬" | "좭" | "좮" | "좯" | "좰" | "좱" | "좲" | "좳" | "좴" | "좵" | "좶" | "좷" | "좸" | "좹" | "좺" | "좻" | "좼" | "좽" | "좾" | "좿" | "죀" | "죁" | "죂" | "죃" | "쫴" | "쫵" | "쫶" | "쫷" | "쫸" | "쫹" | "쫺" | "쫻" | "쫼" | "쫽" | "쫾" | "쫿" | "쬀" | "쬁" | "쬂" | "쬃" | "쬄" | "쬅" | "쬆" | "쬇" | "쬈" | "쬉" | "쬊" | "쬋" | "쬌" | "쬍" | "쬎" | "쬏" | "쵀" | "쵁" | "쵂" | "쵃" | "쵄" | "쵅" | "쵆" | "쵇" | "쵈" | "쵉" | "쵊" | "쵋" | "쵌" | "쵍" | "쵎" | "쵏" | "쵐" | "쵑" | "쵒" | "쵓" | "쵔" | "쵕" | "쵖" | "쵗" | "쵘" | "쵙" | "쵚" | "쵛" | "쾌" | "쾍" | "쾎" | "쾏" | "쾐" | "쾑" | "쾒" | "쾓" | "쾔" | "쾕" | "쾖" | "쾗" | "쾘" | "쾙" | "쾚" | "쾛" | "쾜" | "쾝" | "쾞" | "쾟" | "쾠" | "쾡" | "쾢" | "쾣" | "쾤" | "쾥" | "쾦" | "쾧" | "퇘" | "퇙" | "퇚" | "퇛" | "퇜" | "퇝" | "퇞" | "퇟" | "퇠" | "퇡" | "퇢" | "퇣" | "퇤" | "퇥" | "퇦" | "퇧" | "퇨" | "퇩" | "퇪" | "퇫" | "퇬" | "퇭" | "퇮" | "퇯" | "퇰" | "퇱" | "퇲" | "퇳" | "퐤" | "퐥" | "퐦" | "퐧" | "퐨" | "퐩" | "퐪" | "퐫" | "퐬" | "퐭" | "퐮" | "퐯" | "퐰" | "퐱" | "퐲" | "퐳" | "퐴" | "퐵" | "퐶" | "퐷" | "퐸" | "퐹" | "퐺" | "퐻" | "퐼" | "퐽" | "퐾" | "퐿" | "홰" | "홱" | "홲" | "홳" | "홴" | "홵" | "홶" | "홷" | "홸" | "홹" | "홺" | "홻" | "홼" | "홽" | "홾" | "홿" | "횀" | "횁" | "횂" | "횃" | "횄" | "횅" | "횆" | "횇" | "횈" | "횉" | "횊" | "횋") ; + 'contains_외' : pattern Str = #("괴" | "괵" | "괶" | "괷" | "괸" | "괹" | "괺" | "괻" | "괼" | "괽" | "괾" | "괿" | "굀" | "굁" | "굂" | "굃" | "굄" | "굅" | "굆" | "굇" | "굈" | "굉" | "굊" | "굋" | "굌" | "굍" | "굎" | "굏" | "꾀" | "꾁" | "꾂" | "꾃" | "꾄" | "꾅" | "꾆" | "꾇" | "꾈" | "꾉" | "꾊" | "꾋" | "꾌" | "꾍" | "꾎" | "꾏" | "꾐" | "꾑" | "꾒" | "꾓" | "꾔" | "꾕" | "꾖" | "꾗" | "꾘" | "꾙" | "꾚" | "꾛" | "뇌" | "뇍" | "뇎" | "뇏" | "뇐" | "뇑" | "뇒" | "뇓" | "뇔" | "뇕" | "뇖" | "뇗" | "뇘" | "뇙" | "뇚" | "뇛" | "뇜" | "뇝" | "뇞" | "뇟" | "뇠" | "뇡" | "뇢" | "뇣" | "뇤" | "뇥" | "뇦" | "뇧" | "되" | "됙" | "됚" | "됛" | "된" | "됝" | "됞" | "됟" | "될" | "됡" | "됢" | "됣" | "됤" | "됥" | "됦" | "됧" | "됨" | "됩" | "됪" | "됫" | "됬" | "됭" | "됮" | "됯" | "됰" | "됱" | "됲" | "됳" | "뙤" | "뙥" | "뙦" | "뙧" | "뙨" | "뙩" | "뙪" | "뙫" | "뙬" | "뙭" | "뙮" | "뙯" | "뙰" | "뙱" | "뙲" | "뙳" | "뙴" | "뙵" | "뙶" | "뙷" | "뙸" | "뙹" | "뙺" | "뙻" | "뙼" | "뙽" | "뙾" | "뙿" | "뢰" | "뢱" | "뢲" | "뢳" | "뢴" | "뢵" | "뢶" | "뢷" | "뢸" | "뢹" | "뢺" | "뢻" | "뢼" | "뢽" | "뢾" | "뢿" | "룀" | "룁" | "룂" | "룃" | "룄" | "룅" | "룆" | "룇" | "룈" | "룉" | "룊" | "룋" | "뫼" | "뫽" | "뫾" | "뫿" | "묀" | "묁" | "묂" | "묃" | "묄" | "묅" | "묆" | "묇" | "묈" | "묉" | "묊" | "묋" | "묌" | "묍" | "묎" | "묏" | "묐" | "묑" | "묒" | "묓" | "묔" | "묕" | "묖" | "묗" | "뵈" | "뵉" | "뵊" | "뵋" | "뵌" | "뵍" | "뵎" | "뵏" | "뵐" | "뵑" | "뵒" | "뵓" | "뵔" | "뵕" | "뵖" | "뵗" | "뵘" | "뵙" | "뵚" | "뵛" | "뵜" | "뵝" | "뵞" | "뵟" | "뵠" | "뵡" | "뵢" | "뵣" | "뾔" | "뾕" | "뾖" | "뾗" | "뾘" | "뾙" | "뾚" | "뾛" | "뾜" | "뾝" | "뾞" | "뾟" | "뾠" | "뾡" | "뾢" | "뾣" | "뾤" | "뾥" | "뾦" | "뾧" | "뾨" | "뾩" | "뾪" | "뾫" | "뾬" | "뾭" | "뾮" | "뾯" | "쇠" | "쇡" | "쇢" | "쇣" | "쇤" | "쇥" | "쇦" | "쇧" | "쇨" | "쇩" | "쇪" | "쇫" | "쇬" | "쇭" | "쇮" | "쇯" | "쇰" | "쇱" | "쇲" | "쇳" | "쇴" | "쇵" | "쇶" | "쇷" | "쇸" | "쇹" | "쇺" | "쇻" | "쐬" | "쐭" | "쐮" | "쐯" | "쐰" | "쐱" | "쐲" | "쐳" | "쐴" | "쐵" | "쐶" | "쐷" | "쐸" | "쐹" | "쐺" | "쐻" | "쐼" | "쐽" | "쐾" | "쐿" | "쑀" | "쑁" | "쑂" | "쑃" | "쑄" | "쑅" | "쑆" | "쑇" | "외" | "왹" | "왺" | "왻" | "왼" | "왽" | "왾" | "왿" | "욀" | "욁" | "욂" | "욃" | "욄" | "욅" | "욆" | "욇" | "욈" | "욉" | "욊" | "욋" | "욌" | "욍" | "욎" | "욏" | "욐" | "욑" | "욒" | "욓" | "죄" | "죅" | "죆" | "죇" | "죈" | "죉" | "죊" | "죋" | "죌" | "죍" | "죎" | "죏" | "죐" | "죑" | "죒" | "죓" | "죔" | "죕" | "죖" | "죗" | "죘" | "죙" | "죚" | "죛" | "죜" | "죝" | "죞" | "죟" | "쬐" | "쬑" | "쬒" | "쬓" | "쬔" | "쬕" | "쬖" | "쬗" | "쬘" | "쬙" | "쬚" | "쬛" | "쬜" | "쬝" | "쬞" | "쬟" | "쬠" | "쬡" | "쬢" | "쬣" | "쬤" | "쬥" | "쬦" | "쬧" | "쬨" | "쬩" | "쬪" | "쬫" | "최" | "쵝" | "쵞" | "쵟" | "쵠" | "쵡" | "쵢" | "쵣" | "쵤" | "쵥" | "쵦" | "쵧" | "쵨" | "쵩" | "쵪" | "쵫" | "쵬" | "쵭" | "쵮" | "쵯" | "쵰" | "쵱" | "쵲" | "쵳" | "쵴" | "쵵" | "쵶" | "쵷" | "쾨" | "쾩" | "쾪" | "쾫" | "쾬" | "쾭" | "쾮" | "쾯" | "쾰" | "쾱" | "쾲" | "쾳" | "쾴" | "쾵" | "쾶" | "쾷" | "쾸" | "쾹" | "쾺" | "쾻" | "쾼" | "쾽" | "쾾" | "쾿" | "쿀" | "쿁" | "쿂" | "쿃" | "퇴" | "퇵" | "퇶" | "퇷" | "퇸" | "퇹" | "퇺" | "퇻" | "퇼" | "퇽" | "퇾" | "퇿" | "툀" | "툁" | "툂" | "툃" | "툄" | "툅" | "툆" | "툇" | "툈" | "툉" | "툊" | "툋" | "툌" | "툍" | "툎" | "툏" | "푀" | "푁" | "푂" | "푃" | "푄" | "푅" | "푆" | "푇" | "푈" | "푉" | "푊" | "푋" | "푌" | "푍" | "푎" | "푏" | "푐" | "푑" | "푒" | "푓" | "푔" | "푕" | "푖" | "푗" | "푘" | "푙" | "푚" | "푛" | "회" | "획" | "횎" | "횏" | "횐" | "횑" | "횒" | "횓" | "횔" | "횕" | "횖" | "횗" | "횘" | "횙" | "횚" | "횛" | "횜" | "횝" | "횞" | "횟" | "횠" | "횡" | "횢" | "횣" | "횤" | "횥" | "횦" | "횧") ; + 'contains_요' : pattern Str = #("교" | "굑" | "굒" | "굓" | "굔" | "굕" | "굖" | "굗" | "굘" | "굙" | "굚" | "굛" | "굜" | "굝" | "굞" | "굟" | "굠" | "굡" | "굢" | "굣" | "굤" | "굥" | "굦" | "굧" | "굨" | "굩" | "굪" | "굫" | "꾜" | "꾝" | "꾞" | "꾟" | "꾠" | "꾡" | "꾢" | "꾣" | "꾤" | "꾥" | "꾦" | "꾧" | "꾨" | "꾩" | "꾪" | "꾫" | "꾬" | "꾭" | "꾮" | "꾯" | "꾰" | "꾱" | "꾲" | "꾳" | "꾴" | "꾵" | "꾶" | "꾷" | "뇨" | "뇩" | "뇪" | "뇫" | "뇬" | "뇭" | "뇮" | "뇯" | "뇰" | "뇱" | "뇲" | "뇳" | "뇴" | "뇵" | "뇶" | "뇷" | "뇸" | "뇹" | "뇺" | "뇻" | "뇼" | "뇽" | "뇾" | "뇿" | "눀" | "눁" | "눂" | "눃" | "됴" | "됵" | "됶" | "됷" | "됸" | "됹" | "됺" | "됻" | "됼" | "됽" | "됾" | "됿" | "둀" | "둁" | "둂" | "둃" | "둄" | "둅" | "둆" | "둇" | "둈" | "둉" | "둊" | "둋" | "둌" | "둍" | "둎" | "둏" | "뚀" | "뚁" | "뚂" | "뚃" | "뚄" | "뚅" | "뚆" | "뚇" | "뚈" | "뚉" | "뚊" | "뚋" | "뚌" | "뚍" | "뚎" | "뚏" | "뚐" | "뚑" | "뚒" | "뚓" | "뚔" | "뚕" | "뚖" | "뚗" | "뚘" | "뚙" | "뚚" | "뚛" | "료" | "룍" | "룎" | "룏" | "룐" | "룑" | "룒" | "룓" | "룔" | "룕" | "룖" | "룗" | "룘" | "룙" | "룚" | "룛" | "룜" | "룝" | "룞" | "룟" | "룠" | "룡" | "룢" | "룣" | "룤" | "룥" | "룦" | "룧" | "묘" | "묙" | "묚" | "묛" | "묜" | "묝" | "묞" | "묟" | "묠" | "묡" | "묢" | "묣" | "묤" | "묥" | "묦" | "묧" | "묨" | "묩" | "묪" | "묫" | "묬" | "묭" | "묮" | "묯" | "묰" | "묱" | "묲" | "묳" | "뵤" | "뵥" | "뵦" | "뵧" | "뵨" | "뵩" | "뵪" | "뵫" | "뵬" | "뵭" | "뵮" | "뵯" | "뵰" | "뵱" | "뵲" | "뵳" | "뵴" | "뵵" | "뵶" | "뵷" | "뵸" | "뵹" | "뵺" | "뵻" | "뵼" | "뵽" | "뵾" | "뵿" | "뾰" | "뾱" | "뾲" | "뾳" | "뾴" | "뾵" | "뾶" | "뾷" | "뾸" | "뾹" | "뾺" | "뾻" | "뾼" | "뾽" | "뾾" | "뾿" | "뿀" | "뿁" | "뿂" | "뿃" | "뿄" | "뿅" | "뿆" | "뿇" | "뿈" | "뿉" | "뿊" | "뿋" | "쇼" | "쇽" | "쇾" | "쇿" | "숀" | "숁" | "숂" | "숃" | "숄" | "숅" | "숆" | "숇" | "숈" | "숉" | "숊" | "숋" | "숌" | "숍" | "숎" | "숏" | "숐" | "숑" | "숒" | "숓" | "숔" | "숕" | "숖" | "숗" | "쑈" | "쑉" | "쑊" | "쑋" | "쑌" | "쑍" | "쑎" | "쑏" | "쑐" | "쑑" | "쑒" | "쑓" | "쑔" | "쑕" | "쑖" | "쑗" | "쑘" | "쑙" | "쑚" | "쑛" | "쑜" | "쑝" | "쑞" | "쑟" | "쑠" | "쑡" | "쑢" | "쑣" | "요" | "욕" | "욖" | "욗" | "욘" | "욙" | "욚" | "욛" | "욜" | "욝" | "욞" | "욟" | "욠" | "욡" | "욢" | "욣" | "욤" | "욥" | "욦" | "욧" | "욨" | "용" | "욪" | "욫" | "욬" | "욭" | "욮" | "욯" | "죠" | "죡" | "죢" | "죣" | "죤" | "죥" | "죦" | "죧" | "죨" | "죩" | "죪" | "죫" | "죬" | "죭" | "죮" | "죯" | "죰" | "죱" | "죲" | "죳" | "죴" | "죵" | "죶" | "죷" | "죸" | "죹" | "죺" | "죻" | "쬬" | "쬭" | "쬮" | "쬯" | "쬰" | "쬱" | "쬲" | "쬳" | "쬴" | "쬵" | "쬶" | "쬷" | "쬸" | "쬹" | "쬺" | "쬻" | "쬼" | "쬽" | "쬾" | "쬿" | "쭀" | "쭁" | "쭂" | "쭃" | "쭄" | "쭅" | "쭆" | "쭇" | "쵸" | "쵹" | "쵺" | "쵻" | "쵼" | "쵽" | "쵾" | "쵿" | "춀" | "춁" | "춂" | "춃" | "춄" | "춅" | "춆" | "춇" | "춈" | "춉" | "춊" | "춋" | "춌" | "춍" | "춎" | "춏" | "춐" | "춑" | "춒" | "춓" | "쿄" | "쿅" | "쿆" | "쿇" | "쿈" | "쿉" | "쿊" | "쿋" | "쿌" | "쿍" | "쿎" | "쿏" | "쿐" | "쿑" | "쿒" | "쿓" | "쿔" | "쿕" | "쿖" | "쿗" | "쿘" | "쿙" | "쿚" | "쿛" | "쿜" | "쿝" | "쿞" | "쿟" | "툐" | "툑" | "툒" | "툓" | "툔" | "툕" | "툖" | "툗" | "툘" | "툙" | "툚" | "툛" | "툜" | "툝" | "툞" | "툟" | "툠" | "툡" | "툢" | "툣" | "툤" | "툥" | "툦" | "툧" | "툨" | "툩" | "툪" | "툫" | "표" | "푝" | "푞" | "푟" | "푠" | "푡" | "푢" | "푣" | "푤" | "푥" | "푦" | "푧" | "푨" | "푩" | "푪" | "푫" | "푬" | "푭" | "푮" | "푯" | "푰" | "푱" | "푲" | "푳" | "푴" | "푵" | "푶" | "푷" | "효" | "횩" | "횪" | "횫" | "횬" | "횭" | "횮" | "횯" | "횰" | "횱" | "횲" | "횳" | "횴" | "횵" | "횶" | "횷" | "횸" | "횹" | "횺" | "횻" | "횼" | "횽" | "횾" | "횿" | "훀" | "훁" | "훂" | "훃") ; + 'contains_우' : pattern Str = #("구" | "국" | "굮" | "굯" | "군" | "굱" | "굲" | "굳" | "굴" | "굵" | "굶" | "굷" | "굸" | "굹" | "굺" | "굻" | "굼" | "굽" | "굾" | "굿" | "궀" | "궁" | "궂" | "궃" | "궄" | "궅" | "궆" | "궇" | "꾸" | "꾹" | "꾺" | "꾻" | "꾼" | "꾽" | "꾾" | "꾿" | "꿀" | "꿁" | "꿂" | "꿃" | "꿄" | "꿅" | "꿆" | "꿇" | "꿈" | "꿉" | "꿊" | "꿋" | "꿌" | "꿍" | "꿎" | "꿏" | "꿐" | "꿑" | "꿒" | "꿓" | "누" | "눅" | "눆" | "눇" | "눈" | "눉" | "눊" | "눋" | "눌" | "눍" | "눎" | "눏" | "눐" | "눑" | "눒" | "눓" | "눔" | "눕" | "눖" | "눗" | "눘" | "눙" | "눚" | "눛" | "눜" | "눝" | "눞" | "눟" | "두" | "둑" | "둒" | "둓" | "둔" | "둕" | "둖" | "둗" | "둘" | "둙" | "둚" | "둛" | "둜" | "둝" | "둞" | "둟" | "둠" | "둡" | "둢" | "둣" | "둤" | "둥" | "둦" | "둧" | "둨" | "둩" | "둪" | "둫" | "뚜" | "뚝" | "뚞" | "뚟" | "뚠" | "뚡" | "뚢" | "뚣" | "뚤" | "뚥" | "뚦" | "뚧" | "뚨" | "뚩" | "뚪" | "뚫" | "뚬" | "뚭" | "뚮" | "뚯" | "뚰" | "뚱" | "뚲" | "뚳" | "뚴" | "뚵" | "뚶" | "뚷" | "루" | "룩" | "룪" | "룫" | "룬" | "룭" | "룮" | "룯" | "룰" | "룱" | "룲" | "룳" | "룴" | "룵" | "룶" | "룷" | "룸" | "룹" | "룺" | "룻" | "룼" | "룽" | "룾" | "룿" | "뤀" | "뤁" | "뤂" | "뤃" | "무" | "묵" | "묶" | "묷" | "문" | "묹" | "묺" | "묻" | "물" | "묽" | "묾" | "묿" | "뭀" | "뭁" | "뭂" | "뭃" | "뭄" | "뭅" | "뭆" | "뭇" | "뭈" | "뭉" | "뭊" | "뭋" | "뭌" | "뭍" | "뭎" | "뭏" | "부" | "북" | "붂" | "붃" | "분" | "붅" | "붆" | "붇" | "불" | "붉" | "붊" | "붋" | "붌" | "붍" | "붎" | "붏" | "붐" | "붑" | "붒" | "붓" | "붔" | "붕" | "붖" | "붗" | "붘" | "붙" | "붚" | "붛" | "뿌" | "뿍" | "뿎" | "뿏" | "뿐" | "뿑" | "뿒" | "뿓" | "뿔" | "뿕" | "뿖" | "뿗" | "뿘" | "뿙" | "뿚" | "뿛" | "뿜" | "뿝" | "뿞" | "뿟" | "뿠" | "뿡" | "뿢" | "뿣" | "뿤" | "뿥" | "뿦" | "뿧" | "수" | "숙" | "숚" | "숛" | "순" | "숝" | "숞" | "숟" | "술" | "숡" | "숢" | "숣" | "숤" | "숥" | "숦" | "숧" | "숨" | "숩" | "숪" | "숫" | "숬" | "숭" | "숮" | "숯" | "숰" | "숱" | "숲" | "숳" | "쑤" | "쑥" | "쑦" | "쑧" | "쑨" | "쑩" | "쑪" | "쑫" | "쑬" | "쑭" | "쑮" | "쑯" | "쑰" | "쑱" | "쑲" | "쑳" | "쑴" | "쑵" | "쑶" | "쑷" | "쑸" | "쑹" | "쑺" | "쑻" | "쑼" | "쑽" | "쑾" | "쑿" | "우" | "욱" | "욲" | "욳" | "운" | "욵" | "욶" | "욷" | "울" | "욹" | "욺" | "욻" | "욼" | "욽" | "욾" | "욿" | "움" | "웁" | "웂" | "웃" | "웄" | "웅" | "웆" | "웇" | "웈" | "웉" | "웊" | "웋" | "주" | "죽" | "죾" | "죿" | "준" | "줁" | "줂" | "줃" | "줄" | "줅" | "줆" | "줇" | "줈" | "줉" | "줊" | "줋" | "줌" | "줍" | "줎" | "줏" | "줐" | "중" | "줒" | "줓" | "줔" | "줕" | "줖" | "줗" | "쭈" | "쭉" | "쭊" | "쭋" | "쭌" | "쭍" | "쭎" | "쭏" | "쭐" | "쭑" | "쭒" | "쭓" | "쭔" | "쭕" | "쭖" | "쭗" | "쭘" | "쭙" | "쭚" | "쭛" | "쭜" | "쭝" | "쭞" | "쭟" | "쭠" | "쭡" | "쭢" | "쭣" | "추" | "축" | "춖" | "춗" | "춘" | "춙" | "춚" | "춛" | "출" | "춝" | "춞" | "춟" | "춠" | "춡" | "춢" | "춣" | "춤" | "춥" | "춦" | "춧" | "춨" | "충" | "춪" | "춫" | "춬" | "춭" | "춮" | "춯" | "쿠" | "쿡" | "쿢" | "쿣" | "쿤" | "쿥" | "쿦" | "쿧" | "쿨" | "쿩" | "쿪" | "쿫" | "쿬" | "쿭" | "쿮" | "쿯" | "쿰" | "쿱" | "쿲" | "쿳" | "쿴" | "쿵" | "쿶" | "쿷" | "쿸" | "쿹" | "쿺" | "쿻" | "투" | "툭" | "툮" | "툯" | "툰" | "툱" | "툲" | "툳" | "툴" | "툵" | "툶" | "툷" | "툸" | "툹" | "툺" | "툻" | "툼" | "툽" | "툾" | "툿" | "퉀" | "퉁" | "퉂" | "퉃" | "퉄" | "퉅" | "퉆" | "퉇" | "푸" | "푹" | "푺" | "푻" | "푼" | "푽" | "푾" | "푿" | "풀" | "풁" | "풂" | "풃" | "풄" | "풅" | "풆" | "풇" | "품" | "풉" | "풊" | "풋" | "풌" | "풍" | "풎" | "풏" | "풐" | "풑" | "풒" | "풓" | "후" | "훅" | "훆" | "훇" | "훈" | "훉" | "훊" | "훋" | "훌" | "훍" | "훎" | "훏" | "훐" | "훑" | "훒" | "훓" | "훔" | "훕" | "훖" | "훗" | "훘" | "훙" | "훚" | "훛" | "훜" | "훝" | "훞" | "훟") ; + 'contains_워' : pattern Str = #("궈" | "궉" | "궊" | "궋" | "권" | "궍" | "궎" | "궏" | "궐" | "궑" | "궒" | "궓" | "궔" | "궕" | "궖" | "궗" | "궘" | "궙" | "궚" | "궛" | "궜" | "궝" | "궞" | "궟" | "궠" | "궡" | "궢" | "궣" | "꿔" | "꿕" | "꿖" | "꿗" | "꿘" | "꿙" | "꿚" | "꿛" | "꿜" | "꿝" | "꿞" | "꿟" | "꿠" | "꿡" | "꿢" | "꿣" | "꿤" | "꿥" | "꿦" | "꿧" | "꿨" | "꿩" | "꿪" | "꿫" | "꿬" | "꿭" | "꿮" | "꿯" | "눠" | "눡" | "눢" | "눣" | "눤" | "눥" | "눦" | "눧" | "눨" | "눩" | "눪" | "눫" | "눬" | "눭" | "눮" | "눯" | "눰" | "눱" | "눲" | "눳" | "눴" | "눵" | "눶" | "눷" | "눸" | "눹" | "눺" | "눻" | "둬" | "둭" | "둮" | "둯" | "둰" | "둱" | "둲" | "둳" | "둴" | "둵" | "둶" | "둷" | "둸" | "둹" | "둺" | "둻" | "둼" | "둽" | "둾" | "둿" | "뒀" | "뒁" | "뒂" | "뒃" | "뒄" | "뒅" | "뒆" | "뒇" | "뚸" | "뚹" | "뚺" | "뚻" | "뚼" | "뚽" | "뚾" | "뚿" | "뛀" | "뛁" | "뛂" | "뛃" | "뛄" | "뛅" | "뛆" | "뛇" | "뛈" | "뛉" | "뛊" | "뛋" | "뛌" | "뛍" | "뛎" | "뛏" | "뛐" | "뛑" | "뛒" | "뛓" | "뤄" | "뤅" | "뤆" | "뤇" | "뤈" | "뤉" | "뤊" | "뤋" | "뤌" | "뤍" | "뤎" | "뤏" | "뤐" | "뤑" | "뤒" | "뤓" | "뤔" | "뤕" | "뤖" | "뤗" | "뤘" | "뤙" | "뤚" | "뤛" | "뤜" | "뤝" | "뤞" | "뤟" | "뭐" | "뭑" | "뭒" | "뭓" | "뭔" | "뭕" | "뭖" | "뭗" | "뭘" | "뭙" | "뭚" | "뭛" | "뭜" | "뭝" | "뭞" | "뭟" | "뭠" | "뭡" | "뭢" | "뭣" | "뭤" | "뭥" | "뭦" | "뭧" | "뭨" | "뭩" | "뭪" | "뭫" | "붜" | "붝" | "붞" | "붟" | "붠" | "붡" | "붢" | "붣" | "붤" | "붥" | "붦" | "붧" | "붨" | "붩" | "붪" | "붫" | "붬" | "붭" | "붮" | "붯" | "붰" | "붱" | "붲" | "붳" | "붴" | "붵" | "붶" | "붷" | "뿨" | "뿩" | "뿪" | "뿫" | "뿬" | "뿭" | "뿮" | "뿯" | "뿰" | "뿱" | "뿲" | "뿳" | "뿴" | "뿵" | "뿶" | "뿷" | "뿸" | "뿹" | "뿺" | "뿻" | "뿼" | "뿽" | "뿾" | "뿿" | "쀀" | "쀁" | "쀂" | "쀃" | "숴" | "숵" | "숶" | "숷" | "숸" | "숹" | "숺" | "숻" | "숼" | "숽" | "숾" | "숿" | "쉀" | "쉁" | "쉂" | "쉃" | "쉄" | "쉅" | "쉆" | "쉇" | "쉈" | "쉉" | "쉊" | "쉋" | "쉌" | "쉍" | "쉎" | "쉏" | "쒀" | "쒁" | "쒂" | "쒃" | "쒄" | "쒅" | "쒆" | "쒇" | "쒈" | "쒉" | "쒊" | "쒋" | "쒌" | "쒍" | "쒎" | "쒏" | "쒐" | "쒑" | "쒒" | "쒓" | "쒔" | "쒕" | "쒖" | "쒗" | "쒘" | "쒙" | "쒚" | "쒛" | "워" | "웍" | "웎" | "웏" | "원" | "웑" | "웒" | "웓" | "월" | "웕" | "웖" | "웗" | "웘" | "웙" | "웚" | "웛" | "웜" | "웝" | "웞" | "웟" | "웠" | "웡" | "웢" | "웣" | "웤" | "웥" | "웦" | "웧" | "줘" | "줙" | "줚" | "줛" | "줜" | "줝" | "줞" | "줟" | "줠" | "줡" | "줢" | "줣" | "줤" | "줥" | "줦" | "줧" | "줨" | "줩" | "줪" | "줫" | "줬" | "줭" | "줮" | "줯" | "줰" | "줱" | "줲" | "줳" | "쭤" | "쭥" | "쭦" | "쭧" | "쭨" | "쭩" | "쭪" | "쭫" | "쭬" | "쭭" | "쭮" | "쭯" | "쭰" | "쭱" | "쭲" | "쭳" | "쭴" | "쭵" | "쭶" | "쭷" | "쭸" | "쭹" | "쭺" | "쭻" | "쭼" | "쭽" | "쭾" | "쭿" | "춰" | "춱" | "춲" | "춳" | "춴" | "춵" | "춶" | "춷" | "춸" | "춹" | "춺" | "춻" | "춼" | "춽" | "춾" | "춿" | "췀" | "췁" | "췂" | "췃" | "췄" | "췅" | "췆" | "췇" | "췈" | "췉" | "췊" | "췋" | "쿼" | "쿽" | "쿾" | "쿿" | "퀀" | "퀁" | "퀂" | "퀃" | "퀄" | "퀅" | "퀆" | "퀇" | "퀈" | "퀉" | "퀊" | "퀋" | "퀌" | "퀍" | "퀎" | "퀏" | "퀐" | "퀑" | "퀒" | "퀓" | "퀔" | "퀕" | "퀖" | "퀗" | "퉈" | "퉉" | "퉊" | "퉋" | "퉌" | "퉍" | "퉎" | "퉏" | "퉐" | "퉑" | "퉒" | "퉓" | "퉔" | "퉕" | "퉖" | "퉗" | "퉘" | "퉙" | "퉚" | "퉛" | "퉜" | "퉝" | "퉞" | "퉟" | "퉠" | "퉡" | "퉢" | "퉣" | "풔" | "풕" | "풖" | "풗" | "풘" | "풙" | "풚" | "풛" | "풜" | "풝" | "풞" | "풟" | "풠" | "풡" | "풢" | "풣" | "풤" | "풥" | "풦" | "풧" | "풨" | "풩" | "풪" | "풫" | "풬" | "풭" | "풮" | "풯" | "훠" | "훡" | "훢" | "훣" | "훤" | "훥" | "훦" | "훧" | "훨" | "훩" | "훪" | "훫" | "훬" | "훭" | "훮" | "훯" | "훰" | "훱" | "훲" | "훳" | "훴" | "훵" | "훶" | "훷" | "훸" | "훹" | "훺" | "훻") ; + 'contains_웨' : pattern Str = #("궤" | "궥" | "궦" | "궧" | "궨" | "궩" | "궪" | "궫" | "궬" | "궭" | "궮" | "궯" | "궰" | "궱" | "궲" | "궳" | "궴" | "궵" | "궶" | "궷" | "궸" | "궹" | "궺" | "궻" | "궼" | "궽" | "궾" | "궿" | "꿰" | "꿱" | "꿲" | "꿳" | "꿴" | "꿵" | "꿶" | "꿷" | "꿸" | "꿹" | "꿺" | "꿻" | "꿼" | "꿽" | "꿾" | "꿿" | "뀀" | "뀁" | "뀂" | "뀃" | "뀄" | "뀅" | "뀆" | "뀇" | "뀈" | "뀉" | "뀊" | "뀋" | "눼" | "눽" | "눾" | "눿" | "뉀" | "뉁" | "뉂" | "뉃" | "뉄" | "뉅" | "뉆" | "뉇" | "뉈" | "뉉" | "뉊" | "뉋" | "뉌" | "뉍" | "뉎" | "뉏" | "뉐" | "뉑" | "뉒" | "뉓" | "뉔" | "뉕" | "뉖" | "뉗" | "뒈" | "뒉" | "뒊" | "뒋" | "뒌" | "뒍" | "뒎" | "뒏" | "뒐" | "뒑" | "뒒" | "뒓" | "뒔" | "뒕" | "뒖" | "뒗" | "뒘" | "뒙" | "뒚" | "뒛" | "뒜" | "뒝" | "뒞" | "뒟" | "뒠" | "뒡" | "뒢" | "뒣" | "뛔" | "뛕" | "뛖" | "뛗" | "뛘" | "뛙" | "뛚" | "뛛" | "뛜" | "뛝" | "뛞" | "뛟" | "뛠" | "뛡" | "뛢" | "뛣" | "뛤" | "뛥" | "뛦" | "뛧" | "뛨" | "뛩" | "뛪" | "뛫" | "뛬" | "뛭" | "뛮" | "뛯" | "뤠" | "뤡" | "뤢" | "뤣" | "뤤" | "뤥" | "뤦" | "뤧" | "뤨" | "뤩" | "뤪" | "뤫" | "뤬" | "뤭" | "뤮" | "뤯" | "뤰" | "뤱" | "뤲" | "뤳" | "뤴" | "뤵" | "뤶" | "뤷" | "뤸" | "뤹" | "뤺" | "뤻" | "뭬" | "뭭" | "뭮" | "뭯" | "뭰" | "뭱" | "뭲" | "뭳" | "뭴" | "뭵" | "뭶" | "뭷" | "뭸" | "뭹" | "뭺" | "뭻" | "뭼" | "뭽" | "뭾" | "뭿" | "뮀" | "뮁" | "뮂" | "뮃" | "뮄" | "뮅" | "뮆" | "뮇" | "붸" | "붹" | "붺" | "붻" | "붼" | "붽" | "붾" | "붿" | "뷀" | "뷁" | "뷂" | "뷃" | "뷄" | "뷅" | "뷆" | "뷇" | "뷈" | "뷉" | "뷊" | "뷋" | "뷌" | "뷍" | "뷎" | "뷏" | "뷐" | "뷑" | "뷒" | "뷓" | "쀄" | "쀅" | "쀆" | "쀇" | "쀈" | "쀉" | "쀊" | "쀋" | "쀌" | "쀍" | "쀎" | "쀏" | "쀐" | "쀑" | "쀒" | "쀓" | "쀔" | "쀕" | "쀖" | "쀗" | "쀘" | "쀙" | "쀚" | "쀛" | "쀜" | "쀝" | "쀞" | "쀟" | "쉐" | "쉑" | "쉒" | "쉓" | "쉔" | "쉕" | "쉖" | "쉗" | "쉘" | "쉙" | "쉚" | "쉛" | "쉜" | "쉝" | "쉞" | "쉟" | "쉠" | "쉡" | "쉢" | "쉣" | "쉤" | "쉥" | "쉦" | "쉧" | "쉨" | "쉩" | "쉪" | "쉫" | "쒜" | "쒝" | "쒞" | "쒟" | "쒠" | "쒡" | "쒢" | "쒣" | "쒤" | "쒥" | "쒦" | "쒧" | "쒨" | "쒩" | "쒪" | "쒫" | "쒬" | "쒭" | "쒮" | "쒯" | "쒰" | "쒱" | "쒲" | "쒳" | "쒴" | "쒵" | "쒶" | "쒷" | "웨" | "웩" | "웪" | "웫" | "웬" | "웭" | "웮" | "웯" | "웰" | "웱" | "웲" | "웳" | "웴" | "웵" | "웶" | "웷" | "웸" | "웹" | "웺" | "웻" | "웼" | "웽" | "웾" | "웿" | "윀" | "윁" | "윂" | "윃" | "줴" | "줵" | "줶" | "줷" | "줸" | "줹" | "줺" | "줻" | "줼" | "줽" | "줾" | "줿" | "쥀" | "쥁" | "쥂" | "쥃" | "쥄" | "쥅" | "쥆" | "쥇" | "쥈" | "쥉" | "쥊" | "쥋" | "쥌" | "쥍" | "쥎" | "쥏" | "쮀" | "쮁" | "쮂" | "쮃" | "쮄" | "쮅" | "쮆" | "쮇" | "쮈" | "쮉" | "쮊" | "쮋" | "쮌" | "쮍" | "쮎" | "쮏" | "쮐" | "쮑" | "쮒" | "쮓" | "쮔" | "쮕" | "쮖" | "쮗" | "쮘" | "쮙" | "쮚" | "쮛" | "췌" | "췍" | "췎" | "췏" | "췐" | "췑" | "췒" | "췓" | "췔" | "췕" | "췖" | "췗" | "췘" | "췙" | "췚" | "췛" | "췜" | "췝" | "췞" | "췟" | "췠" | "췡" | "췢" | "췣" | "췤" | "췥" | "췦" | "췧" | "퀘" | "퀙" | "퀚" | "퀛" | "퀜" | "퀝" | "퀞" | "퀟" | "퀠" | "퀡" | "퀢" | "퀣" | "퀤" | "퀥" | "퀦" | "퀧" | "퀨" | "퀩" | "퀪" | "퀫" | "퀬" | "퀭" | "퀮" | "퀯" | "퀰" | "퀱" | "퀲" | "퀳" | "퉤" | "퉥" | "퉦" | "퉧" | "퉨" | "퉩" | "퉪" | "퉫" | "퉬" | "퉭" | "퉮" | "퉯" | "퉰" | "퉱" | "퉲" | "퉳" | "퉴" | "퉵" | "퉶" | "퉷" | "퉸" | "퉹" | "퉺" | "퉻" | "퉼" | "퉽" | "퉾" | "퉿" | "풰" | "풱" | "풲" | "풳" | "풴" | "풵" | "풶" | "풷" | "풸" | "풹" | "풺" | "풻" | "풼" | "풽" | "풾" | "풿" | "퓀" | "퓁" | "퓂" | "퓃" | "퓄" | "퓅" | "퓆" | "퓇" | "퓈" | "퓉" | "퓊" | "퓋" | "훼" | "훽" | "훾" | "훿" | "휀" | "휁" | "휂" | "휃" | "휄" | "휅" | "휆" | "휇" | "휈" | "휉" | "휊" | "휋" | "휌" | "휍" | "휎" | "휏" | "휐" | "휑" | "휒" | "휓" | "휔" | "휕" | "휖" | "휗") ; + 'contains_위' : pattern Str = #("귀" | "귁" | "귂" | "귃" | "귄" | "귅" | "귆" | "귇" | "귈" | "귉" | "귊" | "귋" | "귌" | "귍" | "귎" | "귏" | "귐" | "귑" | "귒" | "귓" | "귔" | "귕" | "귖" | "귗" | "귘" | "귙" | "귚" | "귛" | "뀌" | "뀍" | "뀎" | "뀏" | "뀐" | "뀑" | "뀒" | "뀓" | "뀔" | "뀕" | "뀖" | "뀗" | "뀘" | "뀙" | "뀚" | "뀛" | "뀜" | "뀝" | "뀞" | "뀟" | "뀠" | "뀡" | "뀢" | "뀣" | "뀤" | "뀥" | "뀦" | "뀧" | "뉘" | "뉙" | "뉚" | "뉛" | "뉜" | "뉝" | "뉞" | "뉟" | "뉠" | "뉡" | "뉢" | "뉣" | "뉤" | "뉥" | "뉦" | "뉧" | "뉨" | "뉩" | "뉪" | "뉫" | "뉬" | "뉭" | "뉮" | "뉯" | "뉰" | "뉱" | "뉲" | "뉳" | "뒤" | "뒥" | "뒦" | "뒧" | "뒨" | "뒩" | "뒪" | "뒫" | "뒬" | "뒭" | "뒮" | "뒯" | "뒰" | "뒱" | "뒲" | "뒳" | "뒴" | "뒵" | "뒶" | "뒷" | "뒸" | "뒹" | "뒺" | "뒻" | "뒼" | "뒽" | "뒾" | "뒿" | "뛰" | "뛱" | "뛲" | "뛳" | "뛴" | "뛵" | "뛶" | "뛷" | "뛸" | "뛹" | "뛺" | "뛻" | "뛼" | "뛽" | "뛾" | "뛿" | "뜀" | "뜁" | "뜂" | "뜃" | "뜄" | "뜅" | "뜆" | "뜇" | "뜈" | "뜉" | "뜊" | "뜋" | "뤼" | "뤽" | "뤾" | "뤿" | "륀" | "륁" | "륂" | "륃" | "륄" | "륅" | "륆" | "륇" | "륈" | "륉" | "륊" | "륋" | "륌" | "륍" | "륎" | "륏" | "륐" | "륑" | "륒" | "륓" | "륔" | "륕" | "륖" | "륗" | "뮈" | "뮉" | "뮊" | "뮋" | "뮌" | "뮍" | "뮎" | "뮏" | "뮐" | "뮑" | "뮒" | "뮓" | "뮔" | "뮕" | "뮖" | "뮗" | "뮘" | "뮙" | "뮚" | "뮛" | "뮜" | "뮝" | "뮞" | "뮟" | "뮠" | "뮡" | "뮢" | "뮣" | "뷔" | "뷕" | "뷖" | "뷗" | "뷘" | "뷙" | "뷚" | "뷛" | "뷜" | "뷝" | "뷞" | "뷟" | "뷠" | "뷡" | "뷢" | "뷣" | "뷤" | "뷥" | "뷦" | "뷧" | "뷨" | "뷩" | "뷪" | "뷫" | "뷬" | "뷭" | "뷮" | "뷯" | "쀠" | "쀡" | "쀢" | "쀣" | "쀤" | "쀥" | "쀦" | "쀧" | "쀨" | "쀩" | "쀪" | "쀫" | "쀬" | "쀭" | "쀮" | "쀯" | "쀰" | "쀱" | "쀲" | "쀳" | "쀴" | "쀵" | "쀶" | "쀷" | "쀸" | "쀹" | "쀺" | "쀻" | "쉬" | "쉭" | "쉮" | "쉯" | "쉰" | "쉱" | "쉲" | "쉳" | "쉴" | "쉵" | "쉶" | "쉷" | "쉸" | "쉹" | "쉺" | "쉻" | "쉼" | "쉽" | "쉾" | "쉿" | "슀" | "슁" | "슂" | "슃" | "슄" | "슅" | "슆" | "슇" | "쒸" | "쒹" | "쒺" | "쒻" | "쒼" | "쒽" | "쒾" | "쒿" | "쓀" | "쓁" | "쓂" | "쓃" | "쓄" | "쓅" | "쓆" | "쓇" | "쓈" | "쓉" | "쓊" | "쓋" | "쓌" | "쓍" | "쓎" | "쓏" | "쓐" | "쓑" | "쓒" | "쓓" | "위" | "윅" | "윆" | "윇" | "윈" | "윉" | "윊" | "윋" | "윌" | "윍" | "윎" | "윏" | "윐" | "윑" | "윒" | "윓" | "윔" | "윕" | "윖" | "윗" | "윘" | "윙" | "윚" | "윛" | "윜" | "윝" | "윞" | "윟" | "쥐" | "쥑" | "쥒" | "쥓" | "쥔" | "쥕" | "쥖" | "쥗" | "쥘" | "쥙" | "쥚" | "쥛" | "쥜" | "쥝" | "쥞" | "쥟" | "쥠" | "쥡" | "쥢" | "쥣" | "쥤" | "쥥" | "쥦" | "쥧" | "쥨" | "쥩" | "쥪" | "쥫" | "쮜" | "쮝" | "쮞" | "쮟" | "쮠" | "쮡" | "쮢" | "쮣" | "쮤" | "쮥" | "쮦" | "쮧" | "쮨" | "쮩" | "쮪" | "쮫" | "쮬" | "쮭" | "쮮" | "쮯" | "쮰" | "쮱" | "쮲" | "쮳" | "쮴" | "쮵" | "쮶" | "쮷" | "취" | "췩" | "췪" | "췫" | "췬" | "췭" | "췮" | "췯" | "췰" | "췱" | "췲" | "췳" | "췴" | "췵" | "췶" | "췷" | "췸" | "췹" | "췺" | "췻" | "췼" | "췽" | "췾" | "췿" | "츀" | "츁" | "츂" | "츃" | "퀴" | "퀵" | "퀶" | "퀷" | "퀸" | "퀹" | "퀺" | "퀻" | "퀼" | "퀽" | "퀾" | "퀿" | "큀" | "큁" | "큂" | "큃" | "큄" | "큅" | "큆" | "큇" | "큈" | "큉" | "큊" | "큋" | "큌" | "큍" | "큎" | "큏" | "튀" | "튁" | "튂" | "튃" | "튄" | "튅" | "튆" | "튇" | "튈" | "튉" | "튊" | "튋" | "튌" | "튍" | "튎" | "튏" | "튐" | "튑" | "튒" | "튓" | "튔" | "튕" | "튖" | "튗" | "튘" | "튙" | "튚" | "튛" | "퓌" | "퓍" | "퓎" | "퓏" | "퓐" | "퓑" | "퓒" | "퓓" | "퓔" | "퓕" | "퓖" | "퓗" | "퓘" | "퓙" | "퓚" | "퓛" | "퓜" | "퓝" | "퓞" | "퓟" | "퓠" | "퓡" | "퓢" | "퓣" | "퓤" | "퓥" | "퓦" | "퓧" | "휘" | "휙" | "휚" | "휛" | "휜" | "휝" | "휞" | "휟" | "휠" | "휡" | "휢" | "휣" | "휤" | "휥" | "휦" | "휧" | "휨" | "휩" | "휪" | "휫" | "휬" | "휭" | "휮" | "휯" | "휰" | "휱" | "휲" | "휳") ; + 'contains_유' : pattern Str = #("규" | "귝" | "귞" | "귟" | "균" | "귡" | "귢" | "귣" | "귤" | "귥" | "귦" | "귧" | "귨" | "귩" | "귪" | "귫" | "귬" | "귭" | "귮" | "귯" | "귰" | "귱" | "귲" | "귳" | "귴" | "귵" | "귶" | "귷" | "뀨" | "뀩" | "뀪" | "뀫" | "뀬" | "뀭" | "뀮" | "뀯" | "뀰" | "뀱" | "뀲" | "뀳" | "뀴" | "뀵" | "뀶" | "뀷" | "뀸" | "뀹" | "뀺" | "뀻" | "뀼" | "뀽" | "뀾" | "뀿" | "끀" | "끁" | "끂" | "끃" | "뉴" | "뉵" | "뉶" | "뉷" | "뉸" | "뉹" | "뉺" | "뉻" | "뉼" | "뉽" | "뉾" | "뉿" | "늀" | "늁" | "늂" | "늃" | "늄" | "늅" | "늆" | "늇" | "늈" | "늉" | "늊" | "늋" | "늌" | "늍" | "늎" | "늏" | "듀" | "듁" | "듂" | "듃" | "듄" | "듅" | "듆" | "듇" | "듈" | "듉" | "듊" | "듋" | "듌" | "듍" | "듎" | "듏" | "듐" | "듑" | "듒" | "듓" | "듔" | "듕" | "듖" | "듗" | "듘" | "듙" | "듚" | "듛" | "뜌" | "뜍" | "뜎" | "뜏" | "뜐" | "뜑" | "뜒" | "뜓" | "뜔" | "뜕" | "뜖" | "뜗" | "뜘" | "뜙" | "뜚" | "뜛" | "뜜" | "뜝" | "뜞" | "뜟" | "뜠" | "뜡" | "뜢" | "뜣" | "뜤" | "뜥" | "뜦" | "뜧" | "류" | "륙" | "륚" | "륛" | "륜" | "륝" | "륞" | "륟" | "률" | "륡" | "륢" | "륣" | "륤" | "륥" | "륦" | "륧" | "륨" | "륩" | "륪" | "륫" | "륬" | "륭" | "륮" | "륯" | "륰" | "륱" | "륲" | "륳" | "뮤" | "뮥" | "뮦" | "뮧" | "뮨" | "뮩" | "뮪" | "뮫" | "뮬" | "뮭" | "뮮" | "뮯" | "뮰" | "뮱" | "뮲" | "뮳" | "뮴" | "뮵" | "뮶" | "뮷" | "뮸" | "뮹" | "뮺" | "뮻" | "뮼" | "뮽" | "뮾" | "뮿" | "뷰" | "뷱" | "뷲" | "뷳" | "뷴" | "뷵" | "뷶" | "뷷" | "뷸" | "뷹" | "뷺" | "뷻" | "뷼" | "뷽" | "뷾" | "뷿" | "븀" | "븁" | "븂" | "븃" | "븄" | "븅" | "븆" | "븇" | "븈" | "븉" | "븊" | "븋" | "쀼" | "쀽" | "쀾" | "쀿" | "쁀" | "쁁" | "쁂" | "쁃" | "쁄" | "쁅" | "쁆" | "쁇" | "쁈" | "쁉" | "쁊" | "쁋" | "쁌" | "쁍" | "쁎" | "쁏" | "쁐" | "쁑" | "쁒" | "쁓" | "쁔" | "쁕" | "쁖" | "쁗" | "슈" | "슉" | "슊" | "슋" | "슌" | "슍" | "슎" | "슏" | "슐" | "슑" | "슒" | "슓" | "슔" | "슕" | "슖" | "슗" | "슘" | "슙" | "슚" | "슛" | "슜" | "슝" | "슞" | "슟" | "슠" | "슡" | "슢" | "슣" | "쓔" | "쓕" | "쓖" | "쓗" | "쓘" | "쓙" | "쓚" | "쓛" | "쓜" | "쓝" | "쓞" | "쓟" | "쓠" | "쓡" | "쓢" | "쓣" | "쓤" | "쓥" | "쓦" | "쓧" | "쓨" | "쓩" | "쓪" | "쓫" | "쓬" | "쓭" | "쓮" | "쓯" | "유" | "육" | "윢" | "윣" | "윤" | "윥" | "윦" | "윧" | "율" | "윩" | "윪" | "윫" | "윬" | "윭" | "윮" | "윯" | "윰" | "윱" | "윲" | "윳" | "윴" | "융" | "윶" | "윷" | "윸" | "윹" | "윺" | "윻" | "쥬" | "쥭" | "쥮" | "쥯" | "쥰" | "쥱" | "쥲" | "쥳" | "쥴" | "쥵" | "쥶" | "쥷" | "쥸" | "쥹" | "쥺" | "쥻" | "쥼" | "쥽" | "쥾" | "쥿" | "즀" | "즁" | "즂" | "즃" | "즄" | "즅" | "즆" | "즇" | "쮸" | "쮹" | "쮺" | "쮻" | "쮼" | "쮽" | "쮾" | "쮿" | "쯀" | "쯁" | "쯂" | "쯃" | "쯄" | "쯅" | "쯆" | "쯇" | "쯈" | "쯉" | "쯊" | "쯋" | "쯌" | "쯍" | "쯎" | "쯏" | "쯐" | "쯑" | "쯒" | "쯓" | "츄" | "츅" | "츆" | "츇" | "츈" | "츉" | "츊" | "츋" | "츌" | "츍" | "츎" | "츏" | "츐" | "츑" | "츒" | "츓" | "츔" | "츕" | "츖" | "츗" | "츘" | "츙" | "츚" | "츛" | "츜" | "츝" | "츞" | "츟" | "큐" | "큑" | "큒" | "큓" | "큔" | "큕" | "큖" | "큗" | "큘" | "큙" | "큚" | "큛" | "큜" | "큝" | "큞" | "큟" | "큠" | "큡" | "큢" | "큣" | "큤" | "큥" | "큦" | "큧" | "큨" | "큩" | "큪" | "큫" | "튜" | "튝" | "튞" | "튟" | "튠" | "튡" | "튢" | "튣" | "튤" | "튥" | "튦" | "튧" | "튨" | "튩" | "튪" | "튫" | "튬" | "튭" | "튮" | "튯" | "튰" | "튱" | "튲" | "튳" | "튴" | "튵" | "튶" | "튷" | "퓨" | "퓩" | "퓪" | "퓫" | "퓬" | "퓭" | "퓮" | "퓯" | "퓰" | "퓱" | "퓲" | "퓳" | "퓴" | "퓵" | "퓶" | "퓷" | "퓸" | "퓹" | "퓺" | "퓻" | "퓼" | "퓽" | "퓾" | "퓿" | "픀" | "픁" | "픂" | "픃" | "휴" | "휵" | "휶" | "휷" | "휸" | "휹" | "휺" | "휻" | "휼" | "휽" | "휾" | "휿" | "흀" | "흁" | "흂" | "흃" | "흄" | "흅" | "흆" | "흇" | "흈" | "흉" | "흊" | "흋" | "흌" | "흍" | "흎" | "흏") ; + 'contains_으' : pattern Str = #("그" | "극" | "귺" | "귻" | "근" | "귽" | "귾" | "귿" | "글" | "긁" | "긂" | "긃" | "긄" | "긅" | "긆" | "긇" | "금" | "급" | "긊" | "긋" | "긌" | "긍" | "긎" | "긏" | "긐" | "긑" | "긒" | "긓" | "끄" | "끅" | "끆" | "끇" | "끈" | "끉" | "끊" | "끋" | "끌" | "끍" | "끎" | "끏" | "끐" | "끑" | "끒" | "끓" | "끔" | "끕" | "끖" | "끗" | "끘" | "끙" | "끚" | "끛" | "끜" | "끝" | "끞" | "끟" | "느" | "늑" | "늒" | "늓" | "는" | "늕" | "늖" | "늗" | "늘" | "늙" | "늚" | "늛" | "늜" | "늝" | "늞" | "늟" | "늠" | "늡" | "늢" | "늣" | "늤" | "능" | "늦" | "늧" | "늨" | "늩" | "늪" | "늫" | "드" | "득" | "듞" | "듟" | "든" | "듡" | "듢" | "듣" | "들" | "듥" | "듦" | "듧" | "듨" | "듩" | "듪" | "듫" | "듬" | "듭" | "듮" | "듯" | "듰" | "등" | "듲" | "듳" | "듴" | "듵" | "듶" | "듷" | "뜨" | "뜩" | "뜪" | "뜫" | "뜬" | "뜭" | "뜮" | "뜯" | "뜰" | "뜱" | "뜲" | "뜳" | "뜴" | "뜵" | "뜶" | "뜷" | "뜸" | "뜹" | "뜺" | "뜻" | "뜼" | "뜽" | "뜾" | "뜿" | "띀" | "띁" | "띂" | "띃" | "르" | "륵" | "륶" | "륷" | "른" | "륹" | "륺" | "륻" | "를" | "륽" | "륾" | "륿" | "릀" | "릁" | "릂" | "릃" | "름" | "릅" | "릆" | "릇" | "릈" | "릉" | "릊" | "릋" | "릌" | "릍" | "릎" | "릏" | "므" | "믁" | "믂" | "믃" | "믄" | "믅" | "믆" | "믇" | "믈" | "믉" | "믊" | "믋" | "믌" | "믍" | "믎" | "믏" | "믐" | "믑" | "믒" | "믓" | "믔" | "믕" | "믖" | "믗" | "믘" | "믙" | "믚" | "믛" | "브" | "븍" | "븎" | "븏" | "븐" | "븑" | "븒" | "븓" | "블" | "븕" | "븖" | "븗" | "븘" | "븙" | "븚" | "븛" | "븜" | "븝" | "븞" | "븟" | "븠" | "븡" | "븢" | "븣" | "븤" | "븥" | "븦" | "븧" | "쁘" | "쁙" | "쁚" | "쁛" | "쁜" | "쁝" | "쁞" | "쁟" | "쁠" | "쁡" | "쁢" | "쁣" | "쁤" | "쁥" | "쁦" | "쁧" | "쁨" | "쁩" | "쁪" | "쁫" | "쁬" | "쁭" | "쁮" | "쁯" | "쁰" | "쁱" | "쁲" | "쁳" | "스" | "슥" | "슦" | "슧" | "슨" | "슩" | "슪" | "슫" | "슬" | "슭" | "슮" | "슯" | "슰" | "슱" | "슲" | "슳" | "슴" | "습" | "슶" | "슷" | "슸" | "승" | "슺" | "슻" | "슼" | "슽" | "슾" | "슿" | "쓰" | "쓱" | "쓲" | "쓳" | "쓴" | "쓵" | "쓶" | "쓷" | "쓸" | "쓹" | "쓺" | "쓻" | "쓼" | "쓽" | "쓾" | "쓿" | "씀" | "씁" | "씂" | "씃" | "씄" | "씅" | "씆" | "씇" | "씈" | "씉" | "씊" | "씋" | "으" | "윽" | "윾" | "윿" | "은" | "읁" | "읂" | "읃" | "을" | "읅" | "읆" | "읇" | "읈" | "읉" | "읊" | "읋" | "음" | "읍" | "읎" | "읏" | "읐" | "응" | "읒" | "읓" | "읔" | "읕" | "읖" | "읗" | "즈" | "즉" | "즊" | "즋" | "즌" | "즍" | "즎" | "즏" | "즐" | "즑" | "즒" | "즓" | "즔" | "즕" | "즖" | "즗" | "즘" | "즙" | "즚" | "즛" | "즜" | "증" | "즞" | "즟" | "즠" | "즡" | "즢" | "즣" | "쯔" | "쯕" | "쯖" | "쯗" | "쯘" | "쯙" | "쯚" | "쯛" | "쯜" | "쯝" | "쯞" | "쯟" | "쯠" | "쯡" | "쯢" | "쯣" | "쯤" | "쯥" | "쯦" | "쯧" | "쯨" | "쯩" | "쯪" | "쯫" | "쯬" | "쯭" | "쯮" | "쯯" | "츠" | "측" | "츢" | "츣" | "츤" | "츥" | "츦" | "츧" | "츨" | "츩" | "츪" | "츫" | "츬" | "츭" | "츮" | "츯" | "츰" | "츱" | "츲" | "츳" | "츴" | "층" | "츶" | "츷" | "츸" | "츹" | "츺" | "츻" | "크" | "큭" | "큮" | "큯" | "큰" | "큱" | "큲" | "큳" | "클" | "큵" | "큶" | "큷" | "큸" | "큹" | "큺" | "큻" | "큼" | "큽" | "큾" | "큿" | "킀" | "킁" | "킂" | "킃" | "킄" | "킅" | "킆" | "킇" | "트" | "특" | "튺" | "튻" | "튼" | "튽" | "튾" | "튿" | "틀" | "틁" | "틂" | "틃" | "틄" | "틅" | "틆" | "틇" | "틈" | "틉" | "틊" | "틋" | "틌" | "틍" | "틎" | "틏" | "틐" | "틑" | "틒" | "틓" | "프" | "픅" | "픆" | "픇" | "픈" | "픉" | "픊" | "픋" | "플" | "픍" | "픎" | "픏" | "픐" | "픑" | "픒" | "픓" | "픔" | "픕" | "픖" | "픗" | "픘" | "픙" | "픚" | "픛" | "픜" | "픝" | "픞" | "픟" | "흐" | "흑" | "흒" | "흓" | "흔" | "흕" | "흖" | "흗" | "흘" | "흙" | "흚" | "흛" | "흜" | "흝" | "흞" | "흟" | "흠" | "흡" | "흢" | "흣" | "흤" | "흥" | "흦" | "흧" | "흨" | "흩" | "흪" | "흫") ; + 'contains_의' : pattern Str = #("긔" | "긕" | "긖" | "긗" | "긘" | "긙" | "긚" | "긛" | "긜" | "긝" | "긞" | "긟" | "긠" | "긡" | "긢" | "긣" | "긤" | "긥" | "긦" | "긧" | "긨" | "긩" | "긪" | "긫" | "긬" | "긭" | "긮" | "긯" | "끠" | "끡" | "끢" | "끣" | "끤" | "끥" | "끦" | "끧" | "끨" | "끩" | "끪" | "끫" | "끬" | "끭" | "끮" | "끯" | "끰" | "끱" | "끲" | "끳" | "끴" | "끵" | "끶" | "끷" | "끸" | "끹" | "끺" | "끻" | "늬" | "늭" | "늮" | "늯" | "늰" | "늱" | "늲" | "늳" | "늴" | "늵" | "늶" | "늷" | "늸" | "늹" | "늺" | "늻" | "늼" | "늽" | "늾" | "늿" | "닀" | "닁" | "닂" | "닃" | "닄" | "닅" | "닆" | "닇" | "듸" | "듹" | "듺" | "듻" | "듼" | "듽" | "듾" | "듿" | "딀" | "딁" | "딂" | "딃" | "딄" | "딅" | "딆" | "딇" | "딈" | "딉" | "딊" | "딋" | "딌" | "딍" | "딎" | "딏" | "딐" | "딑" | "딒" | "딓" | "띄" | "띅" | "띆" | "띇" | "띈" | "띉" | "띊" | "띋" | "띌" | "띍" | "띎" | "띏" | "띐" | "띑" | "띒" | "띓" | "띔" | "띕" | "띖" | "띗" | "띘" | "띙" | "띚" | "띛" | "띜" | "띝" | "띞" | "띟" | "릐" | "릑" | "릒" | "릓" | "릔" | "릕" | "릖" | "릗" | "릘" | "릙" | "릚" | "릛" | "릜" | "릝" | "릞" | "릟" | "릠" | "릡" | "릢" | "릣" | "릤" | "릥" | "릦" | "릧" | "릨" | "릩" | "릪" | "릫" | "믜" | "믝" | "믞" | "믟" | "믠" | "믡" | "믢" | "믣" | "믤" | "믥" | "믦" | "믧" | "믨" | "믩" | "믪" | "믫" | "믬" | "믭" | "믮" | "믯" | "믰" | "믱" | "믲" | "믳" | "믴" | "믵" | "믶" | "믷" | "븨" | "븩" | "븪" | "븫" | "븬" | "븭" | "븮" | "븯" | "븰" | "븱" | "븲" | "븳" | "븴" | "븵" | "븶" | "븷" | "븸" | "븹" | "븺" | "븻" | "븼" | "븽" | "븾" | "븿" | "빀" | "빁" | "빂" | "빃" | "쁴" | "쁵" | "쁶" | "쁷" | "쁸" | "쁹" | "쁺" | "쁻" | "쁼" | "쁽" | "쁾" | "쁿" | "삀" | "삁" | "삂" | "삃" | "삄" | "삅" | "삆" | "삇" | "삈" | "삉" | "삊" | "삋" | "삌" | "삍" | "삎" | "삏" | "싀" | "싁" | "싂" | "싃" | "싄" | "싅" | "싆" | "싇" | "싈" | "싉" | "싊" | "싋" | "싌" | "싍" | "싎" | "싏" | "싐" | "싑" | "싒" | "싓" | "싔" | "싕" | "싖" | "싗" | "싘" | "싙" | "싚" | "싛" | "씌" | "씍" | "씎" | "씏" | "씐" | "씑" | "씒" | "씓" | "씔" | "씕" | "씖" | "씗" | "씘" | "씙" | "씚" | "씛" | "씜" | "씝" | "씞" | "씟" | "씠" | "씡" | "씢" | "씣" | "씤" | "씥" | "씦" | "씧" | "의" | "읙" | "읚" | "읛" | "읜" | "읝" | "읞" | "읟" | "읠" | "읡" | "읢" | "읣" | "읤" | "읥" | "읦" | "읧" | "읨" | "읩" | "읪" | "읫" | "읬" | "읭" | "읮" | "읯" | "읰" | "읱" | "읲" | "읳" | "즤" | "즥" | "즦" | "즧" | "즨" | "즩" | "즪" | "즫" | "즬" | "즭" | "즮" | "즯" | "즰" | "즱" | "즲" | "즳" | "즴" | "즵" | "즶" | "즷" | "즸" | "즹" | "즺" | "즻" | "즼" | "즽" | "즾" | "즿" | "쯰" | "쯱" | "쯲" | "쯳" | "쯴" | "쯵" | "쯶" | "쯷" | "쯸" | "쯹" | "쯺" | "쯻" | "쯼" | "쯽" | "쯾" | "쯿" | "찀" | "찁" | "찂" | "찃" | "찄" | "찅" | "찆" | "찇" | "찈" | "찉" | "찊" | "찋" | "츼" | "츽" | "츾" | "츿" | "칀" | "칁" | "칂" | "칃" | "칄" | "칅" | "칆" | "칇" | "칈" | "칉" | "칊" | "칋" | "칌" | "칍" | "칎" | "칏" | "칐" | "칑" | "칒" | "칓" | "칔" | "칕" | "칖" | "칗" | "킈" | "킉" | "킊" | "킋" | "킌" | "킍" | "킎" | "킏" | "킐" | "킑" | "킒" | "킓" | "킔" | "킕" | "킖" | "킗" | "킘" | "킙" | "킚" | "킛" | "킜" | "킝" | "킞" | "킟" | "킠" | "킡" | "킢" | "킣" | "틔" | "틕" | "틖" | "틗" | "틘" | "틙" | "틚" | "틛" | "틜" | "틝" | "틞" | "틟" | "틠" | "틡" | "틢" | "틣" | "틤" | "틥" | "틦" | "틧" | "틨" | "틩" | "틪" | "틫" | "틬" | "틭" | "틮" | "틯" | "픠" | "픡" | "픢" | "픣" | "픤" | "픥" | "픦" | "픧" | "픨" | "픩" | "픪" | "픫" | "픬" | "픭" | "픮" | "픯" | "픰" | "픱" | "픲" | "픳" | "픴" | "픵" | "픶" | "픷" | "픸" | "픹" | "픺" | "픻" | "희" | "흭" | "흮" | "흯" | "흰" | "흱" | "흲" | "흳" | "흴" | "흵" | "흶" | "흷" | "흸" | "흹" | "흺" | "흻" | "흼" | "흽" | "흾" | "흿" | "힀" | "힁" | "힂" | "힃" | "힄" | "힅" | "힆" | "힇") ; + 'contains_이' : pattern Str = #("기" | "긱" | "긲" | "긳" | "긴" | "긵" | "긶" | "긷" | "길" | "긹" | "긺" | "긻" | "긼" | "긽" | "긾" | "긿" | "김" | "깁" | "깂" | "깃" | "깄" | "깅" | "깆" | "깇" | "깈" | "깉" | "깊" | "깋" | "끼" | "끽" | "끾" | "끿" | "낀" | "낁" | "낂" | "낃" | "낄" | "낅" | "낆" | "낇" | "낈" | "낉" | "낊" | "낋" | "낌" | "낍" | "낎" | "낏" | "낐" | "낑" | "낒" | "낓" | "낔" | "낕" | "낖" | "낗" | "니" | "닉" | "닊" | "닋" | "닌" | "닍" | "닎" | "닏" | "닐" | "닑" | "닒" | "닓" | "닔" | "닕" | "닖" | "닗" | "님" | "닙" | "닚" | "닛" | "닜" | "닝" | "닞" | "닟" | "닠" | "닡" | "닢" | "닣" | "디" | "딕" | "딖" | "딗" | "딘" | "딙" | "딚" | "딛" | "딜" | "딝" | "딞" | "딟" | "딠" | "딡" | "딢" | "딣" | "딤" | "딥" | "딦" | "딧" | "딨" | "딩" | "딪" | "딫" | "딬" | "딭" | "딮" | "딯" | "띠" | "띡" | "띢" | "띣" | "띤" | "띥" | "띦" | "띧" | "띨" | "띩" | "띪" | "띫" | "띬" | "띭" | "띮" | "띯" | "띰" | "띱" | "띲" | "띳" | "띴" | "띵" | "띶" | "띷" | "띸" | "띹" | "띺" | "띻" | "리" | "릭" | "릮" | "릯" | "린" | "릱" | "릲" | "릳" | "릴" | "릵" | "릶" | "릷" | "릸" | "릹" | "릺" | "릻" | "림" | "립" | "릾" | "릿" | "맀" | "링" | "맂" | "맃" | "맄" | "맅" | "맆" | "맇" | "미" | "믹" | "믺" | "믻" | "민" | "믽" | "믾" | "믿" | "밀" | "밁" | "밂" | "밃" | "밄" | "밅" | "밆" | "밇" | "밈" | "밉" | "밊" | "밋" | "밌" | "밍" | "밎" | "및" | "밐" | "밑" | "밒" | "밓" | "비" | "빅" | "빆" | "빇" | "빈" | "빉" | "빊" | "빋" | "빌" | "빍" | "빎" | "빏" | "빐" | "빑" | "빒" | "빓" | "빔" | "빕" | "빖" | "빗" | "빘" | "빙" | "빚" | "빛" | "빜" | "빝" | "빞" | "빟" | "삐" | "삑" | "삒" | "삓" | "삔" | "삕" | "삖" | "삗" | "삘" | "삙" | "삚" | "삛" | "삜" | "삝" | "삞" | "삟" | "삠" | "삡" | "삢" | "삣" | "삤" | "삥" | "삦" | "삧" | "삨" | "삩" | "삪" | "삫" | "시" | "식" | "싞" | "싟" | "신" | "싡" | "싢" | "싣" | "실" | "싥" | "싦" | "싧" | "싨" | "싩" | "싪" | "싫" | "심" | "십" | "싮" | "싯" | "싰" | "싱" | "싲" | "싳" | "싴" | "싵" | "싶" | "싷" | "씨" | "씩" | "씪" | "씫" | "씬" | "씭" | "씮" | "씯" | "씰" | "씱" | "씲" | "씳" | "씴" | "씵" | "씶" | "씷" | "씸" | "씹" | "씺" | "씻" | "씼" | "씽" | "씾" | "씿" | "앀" | "앁" | "앂" | "앃" | "이" | "익" | "읶" | "읷" | "인" | "읹" | "읺" | "읻" | "일" | "읽" | "읾" | "읿" | "잀" | "잁" | "잂" | "잃" | "임" | "입" | "잆" | "잇" | "있" | "잉" | "잊" | "잋" | "잌" | "잍" | "잎" | "잏" | "지" | "직" | "짂" | "짃" | "진" | "짅" | "짆" | "짇" | "질" | "짉" | "짊" | "짋" | "짌" | "짍" | "짎" | "짏" | "짐" | "집" | "짒" | "짓" | "짔" | "징" | "짖" | "짗" | "짘" | "짙" | "짚" | "짛" | "찌" | "찍" | "찎" | "찏" | "찐" | "찑" | "찒" | "찓" | "찔" | "찕" | "찖" | "찗" | "찘" | "찙" | "찚" | "찛" | "찜" | "찝" | "찞" | "찟" | "찠" | "찡" | "찢" | "찣" | "찤" | "찥" | "찦" | "찧" | "치" | "칙" | "칚" | "칛" | "친" | "칝" | "칞" | "칟" | "칠" | "칡" | "칢" | "칣" | "칤" | "칥" | "칦" | "칧" | "침" | "칩" | "칪" | "칫" | "칬" | "칭" | "칮" | "칯" | "칰" | "칱" | "칲" | "칳" | "키" | "킥" | "킦" | "킧" | "킨" | "킩" | "킪" | "킫" | "킬" | "킭" | "킮" | "킯" | "킰" | "킱" | "킲" | "킳" | "킴" | "킵" | "킶" | "킷" | "킸" | "킹" | "킺" | "킻" | "킼" | "킽" | "킾" | "킿" | "티" | "틱" | "틲" | "틳" | "틴" | "틵" | "틶" | "틷" | "틸" | "틹" | "틺" | "틻" | "틼" | "틽" | "틾" | "틿" | "팀" | "팁" | "팂" | "팃" | "팄" | "팅" | "팆" | "팇" | "팈" | "팉" | "팊" | "팋" | "피" | "픽" | "픾" | "픿" | "핀" | "핁" | "핂" | "핃" | "필" | "핅" | "핆" | "핇" | "핈" | "핉" | "핊" | "핋" | "핌" | "핍" | "핎" | "핏" | "핐" | "핑" | "핒" | "핓" | "핔" | "핕" | "핖" | "핗" | "히" | "힉" | "힊" | "힋" | "힌" | "힍" | "힎" | "힏" | "힐" | "힑" | "힒" | "힓" | "힔" | "힕" | "힖" | "힗" | "힘" | "힙" | "힚" | "힛" | "힜" | "힝" | "힞" | "힟" | "힠" | "힡" | "힢" | "힣") ; -- End or middle vowel is ㅏ, ㅑ, ㅗ, ㅘ or ㅛ a_o : pattern Str = #("가" | "갸" | "고" | "과" | "교" | "각" | "갹" | "곡" | "곽" | "굑" | "갂" | "갺" | "곢" | "곾" | "굒" | "갃" | "갻" | "곣" | "곿" | "굓" | "간" | "갼" | "곤" | "관" | "굔" | "갅" | "갽" | "곥" | "괁" | "굕" | "갆" | "갾" | "곦" | "괂" | "굖" | "갇" | "갿" | "곧" | "괃" | "굗" | "갈" | "걀" | "골" | "괄" | "굘" | "갉" | "걁" | "곩" | "괅" | "굙" | "갊" | "걂" | "곪" | "괆" | "굚" | "갋" | "걃" | "곫" | "괇" | "굛" | "갌" | "걄" | "곬" | "괈" | "굜" | "갍" | "걅" | "곭" | "괉" | "굝" | "갎" | "걆" | "곮" | "괊" | "굞" | "갏" | "걇" | "곯" | "괋" | "굟" | "감" | "걈" | "곰" | "괌" | "굠" | "갑" | "걉" | "곱" | "괍" | "굡" | "값" | "걊" | "곲" | "괎" | "굢" | "갓" | "걋" | "곳" | "괏" | "굣" | "갔" | "걌" | "곴" | "괐" | "굤" | "강" | "걍" | "공" | "광" | "굥" | "갖" | "걎" | "곶" | "괒" | "굦" | "갗" | "걏" | "곷" | "괓" | "굧" | "갘" | "걐" | "곸" | "괔" | "굨" | "같" | "걑" | "곹" | "괕" | "굩" | "갚" | "걒" | "곺" | "괖" | "굪" | "갛" | "걓" | "곻" | "괗" | "굫" diff --git a/src/korean/HangulReplaceVowel.gf b/src/korean/HangulReplaceVowel.gf new file mode 100644 index 000000000..0aa8c7187 --- /dev/null +++ b/src/korean/HangulReplaceVowel.gf @@ -0,0 +1,10668 @@ +resource HangulReplaceVowel = open Prelude in { +-- Machine generated, only to replace syllables with 으 as the vowel. +oper + +replaceEu : (syl,vow : Str) -> Str = \syl,vow -> + case vow of { + "아" => case syl of { + "그" => "가" ; + "극" => "각" ; + "귺" => "갂" ; + "귻" => "갃" ; + "근" => "간" ; + "귽" => "갅" ; + "귾" => "갆" ; + "귿" => "갇" ; + "글" => "갈" ; + "긁" => "갉" ; + "긂" => "갊" ; + "긃" => "갋" ; + "긄" => "갌" ; + "긅" => "갍" ; + "긆" => "갎" ; + "긇" => "갏" ; + "금" => "감" ; + "급" => "갑" ; + "긊" => "값" ; + "긋" => "갓" ; + "긌" => "갔" ; + "긍" => "강" ; + "긎" => "갖" ; + "긏" => "갗" ; + "긐" => "갘" ; + "긑" => "같" ; + "긒" => "갚" ; + "긓" => "갛" ; + "끄" => "까" ; + "끅" => "깍" ; + "끆" => "깎" ; + "끇" => "깏" ; + "끈" => "깐" ; + "끉" => "깑" ; + "끊" => "깒" ; + "끋" => "깓" ; + "끌" => "깔" ; + "끍" => "깕" ; + "끎" => "깖" ; + "끏" => "깗" ; + "끐" => "깘" ; + "끑" => "깙" ; + "끒" => "깚" ; + "끓" => "깛" ; + "끔" => "깜" ; + "끕" => "깝" ; + "끖" => "깞" ; + "끗" => "깟" ; + "끘" => "깠" ; + "끙" => "깡" ; + "끚" => "깢" ; + "끛" => "깣" ; + "끜" => "깤" ; + "끝" => "깥" ; + "끞" => "깦" ; + "끟" => "깧" ; + "느" => "나" ; + "늑" => "낙" ; + "늒" => "낚" ; + "늓" => "낛" ; + "는" => "난" ; + "늕" => "낝" ; + "늖" => "낞" ; + "늗" => "낟" ; + "늘" => "날" ; + "늙" => "낡" ; + "늚" => "낢" ; + "늛" => "낣" ; + "늜" => "낤" ; + "늝" => "낥" ; + "늞" => "낦" ; + "늟" => "낧" ; + "늠" => "남" ; + "늡" => "납" ; + "늢" => "낪" ; + "늣" => "낫" ; + "늤" => "났" ; + "능" => "낭" ; + "늦" => "낮" ; + "늧" => "낯" ; + "늨" => "낰" ; + "늩" => "낱" ; + "늪" => "낲" ; + "늫" => "낳" ; + "드" => "다" ; + "득" => "닥" ; + "듞" => "닦" ; + "듟" => "닧" ; + "든" => "단" ; + "듡" => "닩" ; + "듢" => "닪" ; + "듣" => "닫" ; + "들" => "달" ; + "듥" => "닭" ; + "듦" => "닮" ; + "듧" => "닯" ; + "듨" => "닰" ; + "듩" => "닱" ; + "듪" => "닲" ; + "듫" => "닳" ; + "듬" => "담" ; + "듭" => "답" ; + "듮" => "닶" ; + "듯" => "닷" ; + "듰" => "닸" ; + "등" => "당" ; + "듲" => "닺" ; + "듳" => "닻" ; + "듴" => "닼" ; + "듵" => "닽" ; + "듶" => "닾" ; + "듷" => "닿" ; + "뜨" => "따" ; + "뜩" => "딱" ; + "뜪" => "딲" ; + "뜫" => "딳" ; + "뜬" => "딴" ; + "뜭" => "딵" ; + "뜮" => "딶" ; + "뜯" => "딷" ; + "뜰" => "딸" ; + "뜱" => "딹" ; + "뜲" => "딺" ; + "뜳" => "딻" ; + "뜴" => "딼" ; + "뜵" => "딽" ; + "뜶" => "딾" ; + "뜷" => "딿" ; + "뜸" => "땀" ; + "뜹" => "땁" ; + "뜺" => "땂" ; + "뜻" => "땃" ; + "뜼" => "땄" ; + "뜽" => "땅" ; + "뜾" => "땆" ; + "뜿" => "땇" ; + "띀" => "땈" ; + "띁" => "땉" ; + "띂" => "땊" ; + "띃" => "땋" ; + "르" => "라" ; + "륵" => "락" ; + "륶" => "띾" ; + "륷" => "띿" ; + "른" => "란" ; + "륹" => "랁" ; + "륺" => "랂" ; + "륻" => "랃" ; + "를" => "랄" ; + "륽" => "랅" ; + "륾" => "랆" ; + "륿" => "랇" ; + "릀" => "랈" ; + "릁" => "랉" ; + "릂" => "랊" ; + "릃" => "랋" ; + "름" => "람" ; + "릅" => "랍" ; + "릆" => "랎" ; + "릇" => "랏" ; + "릈" => "랐" ; + "릉" => "랑" ; + "릊" => "랒" ; + "릋" => "랓" ; + "릌" => "랔" ; + "릍" => "랕" ; + "릎" => "랖" ; + "릏" => "랗" ; + "므" => "마" ; + "믁" => "막" ; + "믂" => "맊" ; + "믃" => "맋" ; + "믄" => "만" ; + "믅" => "맍" ; + "믆" => "많" ; + "믇" => "맏" ; + "믈" => "말" ; + "믉" => "맑" ; + "믊" => "맒" ; + "믋" => "맓" ; + "믌" => "맔" ; + "믍" => "맕" ; + "믎" => "맖" ; + "믏" => "맗" ; + "믐" => "맘" ; + "믑" => "맙" ; + "믒" => "맚" ; + "믓" => "맛" ; + "믔" => "맜" ; + "믕" => "망" ; + "믖" => "맞" ; + "믗" => "맟" ; + "믘" => "맠" ; + "믙" => "맡" ; + "믚" => "맢" ; + "믛" => "맣" ; + "브" => "바" ; + "븍" => "박" ; + "븎" => "밖" ; + "븏" => "밗" ; + "븐" => "반" ; + "븑" => "밙" ; + "븒" => "밚" ; + "븓" => "받" ; + "블" => "발" ; + "븕" => "밝" ; + "븖" => "밞" ; + "븗" => "밟" ; + "븘" => "밠" ; + "븙" => "밡" ; + "븚" => "밢" ; + "븛" => "밣" ; + "븜" => "밤" ; + "븝" => "밥" ; + "븞" => "밦" ; + "븟" => "밧" ; + "븠" => "밨" ; + "븡" => "방" ; + "븢" => "밪" ; + "븣" => "밫" ; + "븤" => "밬" ; + "븥" => "밭" ; + "븦" => "밮" ; + "븧" => "밯" ; + "쁘" => "빠" ; + "쁙" => "빡" ; + "쁚" => "빢" ; + "쁛" => "빣" ; + "쁜" => "빤" ; + "쁝" => "빥" ; + "쁞" => "빦" ; + "쁟" => "빧" ; + "쁠" => "빨" ; + "쁡" => "빩" ; + "쁢" => "빪" ; + "쁣" => "빫" ; + "쁤" => "빬" ; + "쁥" => "빭" ; + "쁦" => "빮" ; + "쁧" => "빯" ; + "쁨" => "빰" ; + "쁩" => "빱" ; + "쁪" => "빲" ; + "쁫" => "빳" ; + "쁬" => "빴" ; + "쁭" => "빵" ; + "쁮" => "빶" ; + "쁯" => "빷" ; + "쁰" => "빸" ; + "쁱" => "빹" ; + "쁲" => "빺" ; + "쁳" => "빻" ; + "스" => "사" ; + "슥" => "삭" ; + "슦" => "삮" ; + "슧" => "삯" ; + "슨" => "산" ; + "슩" => "삱" ; + "슪" => "삲" ; + "슫" => "삳" ; + "슬" => "살" ; + "슭" => "삵" ; + "슮" => "삶" ; + "슯" => "삷" ; + "슰" => "삸" ; + "슱" => "삹" ; + "슲" => "삺" ; + "슳" => "삻" ; + "슴" => "삼" ; + "습" => "삽" ; + "슶" => "삾" ; + "슷" => "삿" ; + "슸" => "샀" ; + "승" => "상" ; + "슺" => "샂" ; + "슻" => "샃" ; + "슼" => "샄" ; + "슽" => "샅" ; + "슾" => "샆" ; + "슿" => "샇" ; + "쓰" => "싸" ; + "쓱" => "싹" ; + "쓲" => "싺" ; + "쓳" => "싻" ; + "쓴" => "싼" ; + "쓵" => "싽" ; + "쓶" => "싾" ; + "쓷" => "싿" ; + "쓸" => "쌀" ; + "쓹" => "쌁" ; + "쓺" => "쌂" ; + "쓻" => "쌃" ; + "쓼" => "쌄" ; + "쓽" => "쌅" ; + "쓾" => "쌆" ; + "쓿" => "쌇" ; + "씀" => "쌈" ; + "씁" => "쌉" ; + "씂" => "쌊" ; + "씃" => "쌋" ; + "씄" => "쌌" ; + "씅" => "쌍" ; + "씆" => "쌎" ; + "씇" => "쌏" ; + "씈" => "쌐" ; + "씉" => "쌑" ; + "씊" => "쌒" ; + "씋" => "쌓" ; + "으" => "아" ; + "윽" => "악" ; + "윾" => "앆" ; + "윿" => "앇" ; + "은" => "안" ; + "읁" => "앉" ; + "읂" => "않" ; + "읃" => "앋" ; + "을" => "알" ; + "읅" => "앍" ; + "읆" => "앎" ; + "읇" => "앏" ; + "읈" => "앐" ; + "읉" => "앑" ; + "읊" => "앒" ; + "읋" => "앓" ; + "음" => "암" ; + "읍" => "압" ; + "읎" => "앖" ; + "읏" => "앗" ; + "읐" => "았" ; + "응" => "앙" ; + "읒" => "앚" ; + "읓" => "앛" ; + "읔" => "앜" ; + "읕" => "앝" ; + "읖" => "앞" ; + "읗" => "앟" ; + "즈" => "자" ; + "즉" => "작" ; + "즊" => "잒" ; + "즋" => "잓" ; + "즌" => "잔" ; + "즍" => "잕" ; + "즎" => "잖" ; + "즏" => "잗" ; + "즐" => "잘" ; + "즑" => "잙" ; + "즒" => "잚" ; + "즓" => "잛" ; + "즔" => "잜" ; + "즕" => "잝" ; + "즖" => "잞" ; + "즗" => "잟" ; + "즘" => "잠" ; + "즙" => "잡" ; + "즚" => "잢" ; + "즛" => "잣" ; + "즜" => "잤" ; + "증" => "장" ; + "즞" => "잦" ; + "즟" => "잧" ; + "즠" => "잨" ; + "즡" => "잩" ; + "즢" => "잪" ; + "즣" => "잫" ; + "쯔" => "짜" ; + "쯕" => "짝" ; + "쯖" => "짞" ; + "쯗" => "짟" ; + "쯘" => "짠" ; + "쯙" => "짡" ; + "쯚" => "짢" ; + "쯛" => "짣" ; + "쯜" => "짤" ; + "쯝" => "짥" ; + "쯞" => "짦" ; + "쯟" => "짧" ; + "쯠" => "짨" ; + "쯡" => "짩" ; + "쯢" => "짪" ; + "쯣" => "짫" ; + "쯤" => "짬" ; + "쯥" => "짭" ; + "쯦" => "짮" ; + "쯧" => "짯" ; + "쯨" => "짰" ; + "쯩" => "짱" ; + "쯪" => "짲" ; + "쯫" => "짳" ; + "쯬" => "짴" ; + "쯭" => "짵" ; + "쯮" => "짶" ; + "쯯" => "짷" ; + "츠" => "차" ; + "측" => "착" ; + "츢" => "찪" ; + "츣" => "찫" ; + "츤" => "찬" ; + "츥" => "찭" ; + "츦" => "찮" ; + "츧" => "찯" ; + "츨" => "찰" ; + "츩" => "찱" ; + "츪" => "찲" ; + "츫" => "찳" ; + "츬" => "찴" ; + "츭" => "찵" ; + "츮" => "찶" ; + "츯" => "찷" ; + "츰" => "참" ; + "츱" => "찹" ; + "츲" => "찺" ; + "츳" => "찻" ; + "츴" => "찼" ; + "층" => "창" ; + "츶" => "찾" ; + "츷" => "찿" ; + "츸" => "챀" ; + "츹" => "챁" ; + "츺" => "챂" ; + "츻" => "챃" ; + "크" => "카" ; + "큭" => "칵" ; + "큮" => "칶" ; + "큯" => "칷" ; + "큰" => "칸" ; + "큱" => "칹" ; + "큲" => "칺" ; + "큳" => "칻" ; + "클" => "칼" ; + "큵" => "칽" ; + "큶" => "칾" ; + "큷" => "칿" ; + "큸" => "캀" ; + "큹" => "캁" ; + "큺" => "캂" ; + "큻" => "캃" ; + "큼" => "캄" ; + "큽" => "캅" ; + "큾" => "캆" ; + "큿" => "캇" ; + "킀" => "캈" ; + "킁" => "캉" ; + "킂" => "캊" ; + "킃" => "캋" ; + "킄" => "캌" ; + "킅" => "캍" ; + "킆" => "캎" ; + "킇" => "캏" ; + "트" => "타" ; + "특" => "탁" ; + "튺" => "탂" ; + "튻" => "탃" ; + "튼" => "탄" ; + "튽" => "탅" ; + "튾" => "탆" ; + "튿" => "탇" ; + "틀" => "탈" ; + "틁" => "탉" ; + "틂" => "탊" ; + "틃" => "탋" ; + "틄" => "탌" ; + "틅" => "탍" ; + "틆" => "탎" ; + "틇" => "탏" ; + "틈" => "탐" ; + "틉" => "탑" ; + "틊" => "탒" ; + "틋" => "탓" ; + "틌" => "탔" ; + "틍" => "탕" ; + "틎" => "탖" ; + "틏" => "탗" ; + "틐" => "탘" ; + "틑" => "탙" ; + "틒" => "탚" ; + "틓" => "탛" ; + "프" => "파" ; + "픅" => "팍" ; + "픆" => "팎" ; + "픇" => "팏" ; + "픈" => "판" ; + "픉" => "팑" ; + "픊" => "팒" ; + "픋" => "팓" ; + "플" => "팔" ; + "픍" => "팕" ; + "픎" => "팖" ; + "픏" => "팗" ; + "픐" => "팘" ; + "픑" => "팙" ; + "픒" => "팚" ; + "픓" => "팛" ; + "픔" => "팜" ; + "픕" => "팝" ; + "픖" => "팞" ; + "픗" => "팟" ; + "픘" => "팠" ; + "픙" => "팡" ; + "픚" => "팢" ; + "픛" => "팣" ; + "픜" => "팤" ; + "픝" => "팥" ; + "픞" => "팦" ; + "픟" => "팧" ; + "흐" => "하" ; + "흑" => "학" ; + "흒" => "핚" ; + "흓" => "핛" ; + "흔" => "한" ; + "흕" => "핝" ; + "흖" => "핞" ; + "흗" => "핟" ; + "흘" => "할" ; + "흙" => "핡" ; + "흚" => "핢" ; + "흛" => "핣" ; + "흜" => "핤" ; + "흝" => "핥" ; + "흞" => "핦" ; + "흟" => "핧" ; + "흠" => "함" ; + "흡" => "합" ; + "흢" => "핪" ; + "흣" => "핫" ; + "흤" => "핬" ; + "흥" => "항" ; + "흦" => "핮" ; + "흧" => "핯" ; + "흨" => "핰" ; + "흩" => "핱" ; + "흪" => "핲" ; + "흫" => "핳" }; + "애" => case syl of { + "그" => "개" ; + "극" => "객" ; + "귺" => "갞" ; + "귻" => "갟" ; + "근" => "갠" ; + "귽" => "갡" ; + "귾" => "갢" ; + "귿" => "갣" ; + "글" => "갤" ; + "긁" => "갥" ; + "긂" => "갦" ; + "긃" => "갧" ; + "긄" => "갨" ; + "긅" => "갩" ; + "긆" => "갪" ; + "긇" => "갫" ; + "금" => "갬" ; + "급" => "갭" ; + "긊" => "갮" ; + "긋" => "갯" ; + "긌" => "갰" ; + "긍" => "갱" ; + "긎" => "갲" ; + "긏" => "갳" ; + "긐" => "갴" ; + "긑" => "갵" ; + "긒" => "갶" ; + "긓" => "갷" ; + "끄" => "깨" ; + "끅" => "깩" ; + "끆" => "깪" ; + "끇" => "깫" ; + "끈" => "깬" ; + "끉" => "깭" ; + "끊" => "깮" ; + "끋" => "깯" ; + "끌" => "깰" ; + "끍" => "깱" ; + "끎" => "깲" ; + "끏" => "깳" ; + "끐" => "깴" ; + "끑" => "깵" ; + "끒" => "깶" ; + "끓" => "깷" ; + "끔" => "깸" ; + "끕" => "깹" ; + "끖" => "깺" ; + "끗" => "깻" ; + "끘" => "깼" ; + "끙" => "깽" ; + "끚" => "깾" ; + "끛" => "깿" ; + "끜" => "꺀" ; + "끝" => "꺁" ; + "끞" => "꺂" ; + "끟" => "꺃" ; + "느" => "내" ; + "늑" => "낵" ; + "늒" => "낶" ; + "늓" => "낷" ; + "는" => "낸" ; + "늕" => "낹" ; + "늖" => "낺" ; + "늗" => "낻" ; + "늘" => "낼" ; + "늙" => "낽" ; + "늚" => "낾" ; + "늛" => "낿" ; + "늜" => "냀" ; + "늝" => "냁" ; + "늞" => "냂" ; + "늟" => "냃" ; + "늠" => "냄" ; + "늡" => "냅" ; + "늢" => "냆" ; + "늣" => "냇" ; + "늤" => "냈" ; + "능" => "냉" ; + "늦" => "냊" ; + "늧" => "냋" ; + "늨" => "냌" ; + "늩" => "냍" ; + "늪" => "냎" ; + "늫" => "냏" ; + "드" => "대" ; + "득" => "댁" ; + "듞" => "댂" ; + "듟" => "댃" ; + "든" => "댄" ; + "듡" => "댅" ; + "듢" => "댆" ; + "듣" => "댇" ; + "들" => "댈" ; + "듥" => "댉" ; + "듦" => "댊" ; + "듧" => "댋" ; + "듨" => "댌" ; + "듩" => "댍" ; + "듪" => "댎" ; + "듫" => "댏" ; + "듬" => "댐" ; + "듭" => "댑" ; + "듮" => "댒" ; + "듯" => "댓" ; + "듰" => "댔" ; + "등" => "댕" ; + "듲" => "댖" ; + "듳" => "댗" ; + "듴" => "댘" ; + "듵" => "댙" ; + "듶" => "댚" ; + "듷" => "댛" ; + "뜨" => "때" ; + "뜩" => "땍" ; + "뜪" => "땎" ; + "뜫" => "땏" ; + "뜬" => "땐" ; + "뜭" => "땑" ; + "뜮" => "땒" ; + "뜯" => "땓" ; + "뜰" => "땔" ; + "뜱" => "땕" ; + "뜲" => "땖" ; + "뜳" => "땗" ; + "뜴" => "땘" ; + "뜵" => "땙" ; + "뜶" => "땚" ; + "뜷" => "땛" ; + "뜸" => "땜" ; + "뜹" => "땝" ; + "뜺" => "땞" ; + "뜻" => "땟" ; + "뜼" => "땠" ; + "뜽" => "땡" ; + "뜾" => "땢" ; + "뜿" => "땣" ; + "띀" => "땤" ; + "띁" => "땥" ; + "띂" => "땦" ; + "띃" => "땧" ; + "르" => "래" ; + "륵" => "랙" ; + "륶" => "랚" ; + "륷" => "랛" ; + "른" => "랜" ; + "륹" => "랝" ; + "륺" => "랞" ; + "륻" => "랟" ; + "를" => "랠" ; + "륽" => "랡" ; + "륾" => "랢" ; + "륿" => "랣" ; + "릀" => "랤" ; + "릁" => "랥" ; + "릂" => "랦" ; + "릃" => "랧" ; + "름" => "램" ; + "릅" => "랩" ; + "릆" => "랪" ; + "릇" => "랫" ; + "릈" => "랬" ; + "릉" => "랭" ; + "릊" => "랮" ; + "릋" => "랯" ; + "릌" => "랰" ; + "릍" => "랱" ; + "릎" => "랲" ; + "릏" => "랳" ; + "므" => "매" ; + "믁" => "맥" ; + "믂" => "맦" ; + "믃" => "맧" ; + "믄" => "맨" ; + "믅" => "맩" ; + "믆" => "맪" ; + "믇" => "맫" ; + "믈" => "맬" ; + "믉" => "맭" ; + "믊" => "맮" ; + "믋" => "맯" ; + "믌" => "맰" ; + "믍" => "맱" ; + "믎" => "맲" ; + "믏" => "맳" ; + "믐" => "맴" ; + "믑" => "맵" ; + "믒" => "맶" ; + "믓" => "맷" ; + "믔" => "맸" ; + "믕" => "맹" ; + "믖" => "맺" ; + "믗" => "맻" ; + "믘" => "맼" ; + "믙" => "맽" ; + "믚" => "맾" ; + "믛" => "맿" ; + "브" => "배" ; + "븍" => "백" ; + "븎" => "밲" ; + "븏" => "밳" ; + "븐" => "밴" ; + "븑" => "밵" ; + "븒" => "밶" ; + "븓" => "밷" ; + "블" => "밸" ; + "븕" => "밹" ; + "븖" => "밺" ; + "븗" => "밻" ; + "븘" => "밼" ; + "븙" => "밽" ; + "븚" => "밾" ; + "븛" => "밿" ; + "븜" => "뱀" ; + "븝" => "뱁" ; + "븞" => "뱂" ; + "븟" => "뱃" ; + "븠" => "뱄" ; + "븡" => "뱅" ; + "븢" => "뱆" ; + "븣" => "뱇" ; + "븤" => "뱈" ; + "븥" => "뱉" ; + "븦" => "뱊" ; + "븧" => "뱋" ; + "쁘" => "빼" ; + "쁙" => "빽" ; + "쁚" => "빾" ; + "쁛" => "빿" ; + "쁜" => "뺀" ; + "쁝" => "뺁" ; + "쁞" => "뺂" ; + "쁟" => "뺃" ; + "쁠" => "뺄" ; + "쁡" => "뺅" ; + "쁢" => "뺆" ; + "쁣" => "뺇" ; + "쁤" => "뺈" ; + "쁥" => "뺉" ; + "쁦" => "뺊" ; + "쁧" => "뺋" ; + "쁨" => "뺌" ; + "쁩" => "뺍" ; + "쁪" => "뺎" ; + "쁫" => "뺏" ; + "쁬" => "뺐" ; + "쁭" => "뺑" ; + "쁮" => "뺒" ; + "쁯" => "뺓" ; + "쁰" => "뺔" ; + "쁱" => "뺕" ; + "쁲" => "뺖" ; + "쁳" => "뺗" ; + "스" => "새" ; + "슥" => "색" ; + "슦" => "샊" ; + "슧" => "샋" ; + "슨" => "샌" ; + "슩" => "샍" ; + "슪" => "샎" ; + "슫" => "샏" ; + "슬" => "샐" ; + "슭" => "샑" ; + "슮" => "샒" ; + "슯" => "샓" ; + "슰" => "샔" ; + "슱" => "샕" ; + "슲" => "샖" ; + "슳" => "샗" ; + "슴" => "샘" ; + "습" => "샙" ; + "슶" => "샚" ; + "슷" => "샛" ; + "슸" => "샜" ; + "승" => "생" ; + "슺" => "샞" ; + "슻" => "샟" ; + "슼" => "샠" ; + "슽" => "샡" ; + "슾" => "샢" ; + "슿" => "샣" ; + "쓰" => "쌔" ; + "쓱" => "쌕" ; + "쓲" => "쌖" ; + "쓳" => "쌗" ; + "쓴" => "쌘" ; + "쓵" => "쌙" ; + "쓶" => "쌚" ; + "쓷" => "쌛" ; + "쓸" => "쌜" ; + "쓹" => "쌝" ; + "쓺" => "쌞" ; + "쓻" => "쌟" ; + "쓼" => "쌠" ; + "쓽" => "쌡" ; + "쓾" => "쌢" ; + "쓿" => "쌣" ; + "씀" => "쌤" ; + "씁" => "쌥" ; + "씂" => "쌦" ; + "씃" => "쌧" ; + "씄" => "쌨" ; + "씅" => "쌩" ; + "씆" => "쌪" ; + "씇" => "쌫" ; + "씈" => "쌬" ; + "씉" => "쌭" ; + "씊" => "쌮" ; + "씋" => "쌯" ; + "으" => "애" ; + "윽" => "액" ; + "윾" => "앢" ; + "윿" => "앣" ; + "은" => "앤" ; + "읁" => "앥" ; + "읂" => "앦" ; + "읃" => "앧" ; + "을" => "앨" ; + "읅" => "앩" ; + "읆" => "앪" ; + "읇" => "앫" ; + "읈" => "앬" ; + "읉" => "앭" ; + "읊" => "앮" ; + "읋" => "앯" ; + "음" => "앰" ; + "읍" => "앱" ; + "읎" => "앲" ; + "읏" => "앳" ; + "읐" => "앴" ; + "응" => "앵" ; + "읒" => "앶" ; + "읓" => "앷" ; + "읔" => "앸" ; + "읕" => "앹" ; + "읖" => "앺" ; + "읗" => "앻" ; + "즈" => "재" ; + "즉" => "잭" ; + "즊" => "잮" ; + "즋" => "잯" ; + "즌" => "잰" ; + "즍" => "잱" ; + "즎" => "잲" ; + "즏" => "잳" ; + "즐" => "잴" ; + "즑" => "잵" ; + "즒" => "잶" ; + "즓" => "잷" ; + "즔" => "잸" ; + "즕" => "잹" ; + "즖" => "잺" ; + "즗" => "잻" ; + "즘" => "잼" ; + "즙" => "잽" ; + "즚" => "잾" ; + "즛" => "잿" ; + "즜" => "쟀" ; + "증" => "쟁" ; + "즞" => "쟂" ; + "즟" => "쟃" ; + "즠" => "쟄" ; + "즡" => "쟅" ; + "즢" => "쟆" ; + "즣" => "쟇" ; + "쯔" => "째" ; + "쯕" => "짹" ; + "쯖" => "짺" ; + "쯗" => "짻" ; + "쯘" => "짼" ; + "쯙" => "짽" ; + "쯚" => "짾" ; + "쯛" => "짿" ; + "쯜" => "쨀" ; + "쯝" => "쨁" ; + "쯞" => "쨂" ; + "쯟" => "쨃" ; + "쯠" => "쨄" ; + "쯡" => "쨅" ; + "쯢" => "쨆" ; + "쯣" => "쨇" ; + "쯤" => "쨈" ; + "쯥" => "쨉" ; + "쯦" => "쨊" ; + "쯧" => "쨋" ; + "쯨" => "쨌" ; + "쯩" => "쨍" ; + "쯪" => "쨎" ; + "쯫" => "쨏" ; + "쯬" => "쨐" ; + "쯭" => "쨑" ; + "쯮" => "쨒" ; + "쯯" => "쨓" ; + "츠" => "채" ; + "측" => "책" ; + "츢" => "챆" ; + "츣" => "챇" ; + "츤" => "챈" ; + "츥" => "챉" ; + "츦" => "챊" ; + "츧" => "챋" ; + "츨" => "챌" ; + "츩" => "챍" ; + "츪" => "챎" ; + "츫" => "챏" ; + "츬" => "챐" ; + "츭" => "챑" ; + "츮" => "챒" ; + "츯" => "챓" ; + "츰" => "챔" ; + "츱" => "챕" ; + "츲" => "챖" ; + "츳" => "챗" ; + "츴" => "챘" ; + "층" => "챙" ; + "츶" => "챚" ; + "츷" => "챛" ; + "츸" => "챜" ; + "츹" => "챝" ; + "츺" => "챞" ; + "츻" => "챟" ; + "크" => "캐" ; + "큭" => "캑" ; + "큮" => "캒" ; + "큯" => "캓" ; + "큰" => "캔" ; + "큱" => "캕" ; + "큲" => "캖" ; + "큳" => "캗" ; + "클" => "캘" ; + "큵" => "캙" ; + "큶" => "캚" ; + "큷" => "캛" ; + "큸" => "캜" ; + "큹" => "캝" ; + "큺" => "캞" ; + "큻" => "캟" ; + "큼" => "캠" ; + "큽" => "캡" ; + "큾" => "캢" ; + "큿" => "캣" ; + "킀" => "캤" ; + "킁" => "캥" ; + "킂" => "캦" ; + "킃" => "캧" ; + "킄" => "캨" ; + "킅" => "캩" ; + "킆" => "캪" ; + "킇" => "캫" ; + "트" => "태" ; + "특" => "택" ; + "튺" => "탞" ; + "튻" => "탟" ; + "튼" => "탠" ; + "튽" => "탡" ; + "튾" => "탢" ; + "튿" => "탣" ; + "틀" => "탤" ; + "틁" => "탥" ; + "틂" => "탦" ; + "틃" => "탧" ; + "틄" => "탨" ; + "틅" => "탩" ; + "틆" => "탪" ; + "틇" => "탫" ; + "틈" => "탬" ; + "틉" => "탭" ; + "틊" => "탮" ; + "틋" => "탯" ; + "틌" => "탰" ; + "틍" => "탱" ; + "틎" => "탲" ; + "틏" => "탳" ; + "틐" => "탴" ; + "틑" => "탵" ; + "틒" => "탶" ; + "틓" => "탷" ; + "프" => "패" ; + "픅" => "팩" ; + "픆" => "팪" ; + "픇" => "팫" ; + "픈" => "팬" ; + "픉" => "팭" ; + "픊" => "팮" ; + "픋" => "팯" ; + "플" => "팰" ; + "픍" => "팱" ; + "픎" => "팲" ; + "픏" => "팳" ; + "픐" => "팴" ; + "픑" => "팵" ; + "픒" => "팶" ; + "픓" => "팷" ; + "픔" => "팸" ; + "픕" => "팹" ; + "픖" => "팺" ; + "픗" => "팻" ; + "픘" => "팼" ; + "픙" => "팽" ; + "픚" => "팾" ; + "픛" => "팿" ; + "픜" => "퍀" ; + "픝" => "퍁" ; + "픞" => "퍂" ; + "픟" => "퍃" ; + "흐" => "해" ; + "흑" => "핵" ; + "흒" => "핶" ; + "흓" => "핷" ; + "흔" => "핸" ; + "흕" => "핹" ; + "흖" => "핺" ; + "흗" => "핻" ; + "흘" => "핼" ; + "흙" => "핽" ; + "흚" => "핾" ; + "흛" => "핿" ; + "흜" => "햀" ; + "흝" => "햁" ; + "흞" => "햂" ; + "흟" => "햃" ; + "흠" => "햄" ; + "흡" => "햅" ; + "흢" => "햆" ; + "흣" => "햇" ; + "흤" => "했" ; + "흥" => "행" ; + "흦" => "햊" ; + "흧" => "햋" ; + "흨" => "햌" ; + "흩" => "햍" ; + "흪" => "햎" ; + "흫" => "햏" }; + "야" => case syl of { + "그" => "갸" ; + "극" => "갹" ; + "귺" => "갺" ; + "귻" => "갻" ; + "근" => "갼" ; + "귽" => "갽" ; + "귾" => "갾" ; + "귿" => "갿" ; + "글" => "걀" ; + "긁" => "걁" ; + "긂" => "걂" ; + "긃" => "걃" ; + "긄" => "걄" ; + "긅" => "걅" ; + "긆" => "걆" ; + "긇" => "걇" ; + "금" => "걈" ; + "급" => "걉" ; + "긊" => "걊" ; + "긋" => "걋" ; + "긌" => "걌" ; + "긍" => "걍" ; + "긎" => "걎" ; + "긏" => "걏" ; + "긐" => "걐" ; + "긑" => "걑" ; + "긒" => "걒" ; + "긓" => "걓" ; + "끄" => "꺄" ; + "끅" => "꺅" ; + "끆" => "꺆" ; + "끇" => "꺇" ; + "끈" => "꺈" ; + "끉" => "꺉" ; + "끊" => "꺊" ; + "끋" => "꺋" ; + "끌" => "꺌" ; + "끍" => "꺍" ; + "끎" => "꺎" ; + "끏" => "꺏" ; + "끐" => "꺐" ; + "끑" => "꺑" ; + "끒" => "꺒" ; + "끓" => "꺓" ; + "끔" => "꺔" ; + "끕" => "꺕" ; + "끖" => "꺖" ; + "끗" => "꺗" ; + "끘" => "꺘" ; + "끙" => "꺙" ; + "끚" => "꺚" ; + "끛" => "꺛" ; + "끜" => "꺜" ; + "끝" => "꺝" ; + "끞" => "꺞" ; + "끟" => "꺟" ; + "느" => "냐" ; + "늑" => "냑" ; + "늒" => "냒" ; + "늓" => "냓" ; + "는" => "냔" ; + "늕" => "냕" ; + "늖" => "냖" ; + "늗" => "냗" ; + "늘" => "냘" ; + "늙" => "냙" ; + "늚" => "냚" ; + "늛" => "냛" ; + "늜" => "냜" ; + "늝" => "냝" ; + "늞" => "냞" ; + "늟" => "냟" ; + "늠" => "냠" ; + "늡" => "냡" ; + "늢" => "냢" ; + "늣" => "냣" ; + "늤" => "냤" ; + "능" => "냥" ; + "늦" => "냦" ; + "늧" => "냧" ; + "늨" => "냨" ; + "늩" => "냩" ; + "늪" => "냪" ; + "늫" => "냫" ; + "드" => "댜" ; + "득" => "댝" ; + "듞" => "댞" ; + "듟" => "댟" ; + "든" => "댠" ; + "듡" => "댡" ; + "듢" => "댢" ; + "듣" => "댣" ; + "들" => "댤" ; + "듥" => "댥" ; + "듦" => "댦" ; + "듧" => "댧" ; + "듨" => "댨" ; + "듩" => "댩" ; + "듪" => "댪" ; + "듫" => "댫" ; + "듬" => "댬" ; + "듭" => "댭" ; + "듮" => "댮" ; + "듯" => "댯" ; + "듰" => "댰" ; + "등" => "댱" ; + "듲" => "댲" ; + "듳" => "댳" ; + "듴" => "댴" ; + "듵" => "댵" ; + "듶" => "댶" ; + "듷" => "댷" ; + "뜨" => "땨" ; + "뜩" => "땩" ; + "뜪" => "땪" ; + "뜫" => "땫" ; + "뜬" => "땬" ; + "뜭" => "땭" ; + "뜮" => "땮" ; + "뜯" => "땯" ; + "뜰" => "땰" ; + "뜱" => "땱" ; + "뜲" => "땲" ; + "뜳" => "땳" ; + "뜴" => "땴" ; + "뜵" => "땵" ; + "뜶" => "땶" ; + "뜷" => "땷" ; + "뜸" => "땸" ; + "뜹" => "땹" ; + "뜺" => "땺" ; + "뜻" => "땻" ; + "뜼" => "땼" ; + "뜽" => "땽" ; + "뜾" => "땾" ; + "뜿" => "땿" ; + "띀" => "떀" ; + "띁" => "떁" ; + "띂" => "떂" ; + "띃" => "떃" ; + "르" => "랴" ; + "륵" => "략" ; + "륶" => "랶" ; + "륷" => "랷" ; + "른" => "랸" ; + "륹" => "랹" ; + "륺" => "랺" ; + "륻" => "랻" ; + "를" => "랼" ; + "륽" => "랽" ; + "륾" => "랾" ; + "륿" => "랿" ; + "릀" => "럀" ; + "릁" => "럁" ; + "릂" => "럂" ; + "릃" => "럃" ; + "름" => "럄" ; + "릅" => "럅" ; + "릆" => "럆" ; + "릇" => "럇" ; + "릈" => "럈" ; + "릉" => "량" ; + "릊" => "럊" ; + "릋" => "럋" ; + "릌" => "럌" ; + "릍" => "럍" ; + "릎" => "럎" ; + "릏" => "럏" ; + "므" => "먀" ; + "믁" => "먁" ; + "믂" => "먂" ; + "믃" => "먃" ; + "믄" => "먄" ; + "믅" => "먅" ; + "믆" => "먆" ; + "믇" => "먇" ; + "믈" => "먈" ; + "믉" => "먉" ; + "믊" => "먊" ; + "믋" => "먋" ; + "믌" => "먌" ; + "믍" => "먍" ; + "믎" => "먎" ; + "믏" => "먏" ; + "믐" => "먐" ; + "믑" => "먑" ; + "믒" => "먒" ; + "믓" => "먓" ; + "믔" => "먔" ; + "믕" => "먕" ; + "믖" => "먖" ; + "믗" => "먗" ; + "믘" => "먘" ; + "믙" => "먙" ; + "믚" => "먚" ; + "믛" => "먛" ; + "브" => "뱌" ; + "븍" => "뱍" ; + "븎" => "뱎" ; + "븏" => "뱏" ; + "븐" => "뱐" ; + "븑" => "뱑" ; + "븒" => "뱒" ; + "븓" => "뱓" ; + "블" => "뱔" ; + "븕" => "뱕" ; + "븖" => "뱖" ; + "븗" => "뱗" ; + "븘" => "뱘" ; + "븙" => "뱙" ; + "븚" => "뱚" ; + "븛" => "뱛" ; + "븜" => "뱜" ; + "븝" => "뱝" ; + "븞" => "뱞" ; + "븟" => "뱟" ; + "븠" => "뱠" ; + "븡" => "뱡" ; + "븢" => "뱢" ; + "븣" => "뱣" ; + "븤" => "뱤" ; + "븥" => "뱥" ; + "븦" => "뱦" ; + "븧" => "뱧" ; + "쁘" => "뺘" ; + "쁙" => "뺙" ; + "쁚" => "뺚" ; + "쁛" => "뺛" ; + "쁜" => "뺜" ; + "쁝" => "뺝" ; + "쁞" => "뺞" ; + "쁟" => "뺟" ; + "쁠" => "뺠" ; + "쁡" => "뺡" ; + "쁢" => "뺢" ; + "쁣" => "뺣" ; + "쁤" => "뺤" ; + "쁥" => "뺥" ; + "쁦" => "뺦" ; + "쁧" => "뺧" ; + "쁨" => "뺨" ; + "쁩" => "뺩" ; + "쁪" => "뺪" ; + "쁫" => "뺫" ; + "쁬" => "뺬" ; + "쁭" => "뺭" ; + "쁮" => "뺮" ; + "쁯" => "뺯" ; + "쁰" => "뺰" ; + "쁱" => "뺱" ; + "쁲" => "뺲" ; + "쁳" => "뺳" ; + "스" => "샤" ; + "슥" => "샥" ; + "슦" => "샦" ; + "슧" => "샧" ; + "슨" => "샨" ; + "슩" => "샩" ; + "슪" => "샪" ; + "슫" => "샫" ; + "슬" => "샬" ; + "슭" => "샭" ; + "슮" => "샮" ; + "슯" => "샯" ; + "슰" => "샰" ; + "슱" => "샱" ; + "슲" => "샲" ; + "슳" => "샳" ; + "슴" => "샴" ; + "습" => "샵" ; + "슶" => "샶" ; + "슷" => "샷" ; + "슸" => "샸" ; + "승" => "샹" ; + "슺" => "샺" ; + "슻" => "샻" ; + "슼" => "샼" ; + "슽" => "샽" ; + "슾" => "샾" ; + "슿" => "샿" ; + "쓰" => "쌰" ; + "쓱" => "쌱" ; + "쓲" => "쌲" ; + "쓳" => "쌳" ; + "쓴" => "쌴" ; + "쓵" => "쌵" ; + "쓶" => "쌶" ; + "쓷" => "쌷" ; + "쓸" => "쌸" ; + "쓹" => "쌹" ; + "쓺" => "쌺" ; + "쓻" => "쌻" ; + "쓼" => "쌼" ; + "쓽" => "쌽" ; + "쓾" => "쌾" ; + "쓿" => "쌿" ; + "씀" => "썀" ; + "씁" => "썁" ; + "씂" => "썂" ; + "씃" => "썃" ; + "씄" => "썄" ; + "씅" => "썅" ; + "씆" => "썆" ; + "씇" => "썇" ; + "씈" => "썈" ; + "씉" => "썉" ; + "씊" => "썊" ; + "씋" => "썋" ; + "으" => "야" ; + "윽" => "약" ; + "윾" => "앾" ; + "윿" => "앿" ; + "은" => "얀" ; + "읁" => "얁" ; + "읂" => "얂" ; + "읃" => "얃" ; + "을" => "얄" ; + "읅" => "얅" ; + "읆" => "얆" ; + "읇" => "얇" ; + "읈" => "얈" ; + "읉" => "얉" ; + "읊" => "얊" ; + "읋" => "얋" ; + "음" => "얌" ; + "읍" => "얍" ; + "읎" => "얎" ; + "읏" => "얏" ; + "읐" => "얐" ; + "응" => "양" ; + "읒" => "얒" ; + "읓" => "얓" ; + "읔" => "얔" ; + "읕" => "얕" ; + "읖" => "얖" ; + "읗" => "얗" ; + "즈" => "쟈" ; + "즉" => "쟉" ; + "즊" => "쟊" ; + "즋" => "쟋" ; + "즌" => "쟌" ; + "즍" => "쟍" ; + "즎" => "쟎" ; + "즏" => "쟏" ; + "즐" => "쟐" ; + "즑" => "쟑" ; + "즒" => "쟒" ; + "즓" => "쟓" ; + "즔" => "쟔" ; + "즕" => "쟕" ; + "즖" => "쟖" ; + "즗" => "쟗" ; + "즘" => "쟘" ; + "즙" => "쟙" ; + "즚" => "쟚" ; + "즛" => "쟛" ; + "즜" => "쟜" ; + "증" => "쟝" ; + "즞" => "쟞" ; + "즟" => "쟟" ; + "즠" => "쟠" ; + "즡" => "쟡" ; + "즢" => "쟢" ; + "즣" => "쟣" ; + "쯔" => "쨔" ; + "쯕" => "쨕" ; + "쯖" => "쨖" ; + "쯗" => "쨗" ; + "쯘" => "쨘" ; + "쯙" => "쨙" ; + "쯚" => "쨚" ; + "쯛" => "쨛" ; + "쯜" => "쨜" ; + "쯝" => "쨝" ; + "쯞" => "쨞" ; + "쯟" => "쨟" ; + "쯠" => "쨠" ; + "쯡" => "쨡" ; + "쯢" => "쨢" ; + "쯣" => "쨣" ; + "쯤" => "쨤" ; + "쯥" => "쨥" ; + "쯦" => "쨦" ; + "쯧" => "쨧" ; + "쯨" => "쨨" ; + "쯩" => "쨩" ; + "쯪" => "쨪" ; + "쯫" => "쨫" ; + "쯬" => "쨬" ; + "쯭" => "쨭" ; + "쯮" => "쨮" ; + "쯯" => "쨯" ; + "츠" => "챠" ; + "측" => "챡" ; + "츢" => "챢" ; + "츣" => "챣" ; + "츤" => "챤" ; + "츥" => "챥" ; + "츦" => "챦" ; + "츧" => "챧" ; + "츨" => "챨" ; + "츩" => "챩" ; + "츪" => "챪" ; + "츫" => "챫" ; + "츬" => "챬" ; + "츭" => "챭" ; + "츮" => "챮" ; + "츯" => "챯" ; + "츰" => "챰" ; + "츱" => "챱" ; + "츲" => "챲" ; + "츳" => "챳" ; + "츴" => "챴" ; + "층" => "챵" ; + "츶" => "챶" ; + "츷" => "챷" ; + "츸" => "챸" ; + "츹" => "챹" ; + "츺" => "챺" ; + "츻" => "챻" ; + "크" => "캬" ; + "큭" => "캭" ; + "큮" => "캮" ; + "큯" => "캯" ; + "큰" => "캰" ; + "큱" => "캱" ; + "큲" => "캲" ; + "큳" => "캳" ; + "클" => "캴" ; + "큵" => "캵" ; + "큶" => "캶" ; + "큷" => "캷" ; + "큸" => "캸" ; + "큹" => "캹" ; + "큺" => "캺" ; + "큻" => "캻" ; + "큼" => "캼" ; + "큽" => "캽" ; + "큾" => "캾" ; + "큿" => "캿" ; + "킀" => "컀" ; + "킁" => "컁" ; + "킂" => "컂" ; + "킃" => "컃" ; + "킄" => "컄" ; + "킅" => "컅" ; + "킆" => "컆" ; + "킇" => "컇" ; + "트" => "탸" ; + "특" => "탹" ; + "튺" => "탺" ; + "튻" => "탻" ; + "튼" => "탼" ; + "튽" => "탽" ; + "튾" => "탾" ; + "튿" => "탿" ; + "틀" => "턀" ; + "틁" => "턁" ; + "틂" => "턂" ; + "틃" => "턃" ; + "틄" => "턄" ; + "틅" => "턅" ; + "틆" => "턆" ; + "틇" => "턇" ; + "틈" => "턈" ; + "틉" => "턉" ; + "틊" => "턊" ; + "틋" => "턋" ; + "틌" => "턌" ; + "틍" => "턍" ; + "틎" => "턎" ; + "틏" => "턏" ; + "틐" => "턐" ; + "틑" => "턑" ; + "틒" => "턒" ; + "틓" => "턓" ; + "프" => "퍄" ; + "픅" => "퍅" ; + "픆" => "퍆" ; + "픇" => "퍇" ; + "픈" => "퍈" ; + "픉" => "퍉" ; + "픊" => "퍊" ; + "픋" => "퍋" ; + "플" => "퍌" ; + "픍" => "퍍" ; + "픎" => "퍎" ; + "픏" => "퍏" ; + "픐" => "퍐" ; + "픑" => "퍑" ; + "픒" => "퍒" ; + "픓" => "퍓" ; + "픔" => "퍔" ; + "픕" => "퍕" ; + "픖" => "퍖" ; + "픗" => "퍗" ; + "픘" => "퍘" ; + "픙" => "퍙" ; + "픚" => "퍚" ; + "픛" => "퍛" ; + "픜" => "퍜" ; + "픝" => "퍝" ; + "픞" => "퍞" ; + "픟" => "퍟" ; + "흐" => "햐" ; + "흑" => "햑" ; + "흒" => "햒" ; + "흓" => "햓" ; + "흔" => "햔" ; + "흕" => "햕" ; + "흖" => "햖" ; + "흗" => "햗" ; + "흘" => "햘" ; + "흙" => "햙" ; + "흚" => "햚" ; + "흛" => "햛" ; + "흜" => "햜" ; + "흝" => "햝" ; + "흞" => "햞" ; + "흟" => "햟" ; + "흠" => "햠" ; + "흡" => "햡" ; + "흢" => "햢" ; + "흣" => "햣" ; + "흤" => "햤" ; + "흥" => "향" ; + "흦" => "햦" ; + "흧" => "햧" ; + "흨" => "햨" ; + "흩" => "햩" ; + "흪" => "햪" ; + "흫" => "햫" }; + "얘" => case syl of { + "그" => "걔" ; + "극" => "걕" ; + "귺" => "걖" ; + "귻" => "걗" ; + "근" => "걘" ; + "귽" => "걙" ; + "귾" => "걚" ; + "귿" => "걛" ; + "글" => "걜" ; + "긁" => "걝" ; + "긂" => "걞" ; + "긃" => "걟" ; + "긄" => "걠" ; + "긅" => "걡" ; + "긆" => "걢" ; + "긇" => "걣" ; + "금" => "걤" ; + "급" => "걥" ; + "긊" => "걦" ; + "긋" => "걧" ; + "긌" => "걨" ; + "긍" => "걩" ; + "긎" => "걪" ; + "긏" => "걫" ; + "긐" => "걬" ; + "긑" => "걭" ; + "긒" => "걮" ; + "긓" => "걯" ; + "끄" => "꺠" ; + "끅" => "꺡" ; + "끆" => "꺢" ; + "끇" => "꺣" ; + "끈" => "꺤" ; + "끉" => "꺥" ; + "끊" => "꺦" ; + "끋" => "꺧" ; + "끌" => "꺨" ; + "끍" => "꺩" ; + "끎" => "꺪" ; + "끏" => "꺫" ; + "끐" => "꺬" ; + "끑" => "꺭" ; + "끒" => "꺮" ; + "끓" => "꺯" ; + "끔" => "꺰" ; + "끕" => "꺱" ; + "끖" => "꺲" ; + "끗" => "꺳" ; + "끘" => "꺴" ; + "끙" => "꺵" ; + "끚" => "꺶" ; + "끛" => "꺷" ; + "끜" => "꺸" ; + "끝" => "꺹" ; + "끞" => "꺺" ; + "끟" => "꺻" ; + "느" => "냬" ; + "늑" => "냭" ; + "늒" => "냮" ; + "늓" => "냯" ; + "는" => "냰" ; + "늕" => "냱" ; + "늖" => "냲" ; + "늗" => "냳" ; + "늘" => "냴" ; + "늙" => "냵" ; + "늚" => "냶" ; + "늛" => "냷" ; + "늜" => "냸" ; + "늝" => "냹" ; + "늞" => "냺" ; + "늟" => "냻" ; + "늠" => "냼" ; + "늡" => "냽" ; + "늢" => "냾" ; + "늣" => "냿" ; + "늤" => "넀" ; + "능" => "넁" ; + "늦" => "넂" ; + "늧" => "넃" ; + "늨" => "넄" ; + "늩" => "넅" ; + "늪" => "넆" ; + "늫" => "넇" ; + "드" => "댸" ; + "득" => "댹" ; + "듞" => "댺" ; + "듟" => "댻" ; + "든" => "댼" ; + "듡" => "댽" ; + "듢" => "댾" ; + "듣" => "댿" ; + "들" => "덀" ; + "듥" => "덁" ; + "듦" => "덂" ; + "듧" => "덃" ; + "듨" => "덄" ; + "듩" => "덅" ; + "듪" => "덆" ; + "듫" => "덇" ; + "듬" => "덈" ; + "듭" => "덉" ; + "듮" => "덊" ; + "듯" => "덋" ; + "듰" => "덌" ; + "등" => "덍" ; + "듲" => "덎" ; + "듳" => "덏" ; + "듴" => "덐" ; + "듵" => "덑" ; + "듶" => "덒" ; + "듷" => "덓" ; + "뜨" => "떄" ; + "뜩" => "떅" ; + "뜪" => "떆" ; + "뜫" => "떇" ; + "뜬" => "떈" ; + "뜭" => "떉" ; + "뜮" => "떊" ; + "뜯" => "떋" ; + "뜰" => "떌" ; + "뜱" => "떍" ; + "뜲" => "떎" ; + "뜳" => "떏" ; + "뜴" => "떐" ; + "뜵" => "떑" ; + "뜶" => "떒" ; + "뜷" => "떓" ; + "뜸" => "떔" ; + "뜹" => "떕" ; + "뜺" => "떖" ; + "뜻" => "떗" ; + "뜼" => "떘" ; + "뜽" => "떙" ; + "뜾" => "떚" ; + "뜿" => "떛" ; + "띀" => "떜" ; + "띁" => "떝" ; + "띂" => "떞" ; + "띃" => "떟" ; + "르" => "럐" ; + "륵" => "럑" ; + "륶" => "럒" ; + "륷" => "럓" ; + "른" => "럔" ; + "륹" => "럕" ; + "륺" => "럖" ; + "륻" => "럗" ; + "를" => "럘" ; + "륽" => "럙" ; + "륾" => "럚" ; + "륿" => "럛" ; + "릀" => "럜" ; + "릁" => "럝" ; + "릂" => "럞" ; + "릃" => "럟" ; + "름" => "럠" ; + "릅" => "럡" ; + "릆" => "럢" ; + "릇" => "럣" ; + "릈" => "럤" ; + "릉" => "럥" ; + "릊" => "럦" ; + "릋" => "럧" ; + "릌" => "럨" ; + "릍" => "럩" ; + "릎" => "럪" ; + "릏" => "럫" ; + "므" => "먜" ; + "믁" => "먝" ; + "믂" => "먞" ; + "믃" => "먟" ; + "믄" => "먠" ; + "믅" => "먡" ; + "믆" => "먢" ; + "믇" => "먣" ; + "믈" => "먤" ; + "믉" => "먥" ; + "믊" => "먦" ; + "믋" => "먧" ; + "믌" => "먨" ; + "믍" => "먩" ; + "믎" => "먪" ; + "믏" => "먫" ; + "믐" => "먬" ; + "믑" => "먭" ; + "믒" => "먮" ; + "믓" => "먯" ; + "믔" => "먰" ; + "믕" => "먱" ; + "믖" => "먲" ; + "믗" => "먳" ; + "믘" => "먴" ; + "믙" => "먵" ; + "믚" => "먶" ; + "믛" => "먷" ; + "브" => "뱨" ; + "븍" => "뱩" ; + "븎" => "뱪" ; + "븏" => "뱫" ; + "븐" => "뱬" ; + "븑" => "뱭" ; + "븒" => "뱮" ; + "븓" => "뱯" ; + "블" => "뱰" ; + "븕" => "뱱" ; + "븖" => "뱲" ; + "븗" => "뱳" ; + "븘" => "뱴" ; + "븙" => "뱵" ; + "븚" => "뱶" ; + "븛" => "뱷" ; + "븜" => "뱸" ; + "븝" => "뱹" ; + "븞" => "뱺" ; + "븟" => "뱻" ; + "븠" => "뱼" ; + "븡" => "뱽" ; + "븢" => "뱾" ; + "븣" => "뱿" ; + "븤" => "벀" ; + "븥" => "벁" ; + "븦" => "벂" ; + "븧" => "벃" ; + "쁘" => "뺴" ; + "쁙" => "뺵" ; + "쁚" => "뺶" ; + "쁛" => "뺷" ; + "쁜" => "뺸" ; + "쁝" => "뺹" ; + "쁞" => "뺺" ; + "쁟" => "뺻" ; + "쁠" => "뺼" ; + "쁡" => "뺽" ; + "쁢" => "뺾" ; + "쁣" => "뺿" ; + "쁤" => "뻀" ; + "쁥" => "뻁" ; + "쁦" => "뻂" ; + "쁧" => "뻃" ; + "쁨" => "뻄" ; + "쁩" => "뻅" ; + "쁪" => "뻆" ; + "쁫" => "뻇" ; + "쁬" => "뻈" ; + "쁭" => "뻉" ; + "쁮" => "뻊" ; + "쁯" => "뻋" ; + "쁰" => "뻌" ; + "쁱" => "뻍" ; + "쁲" => "뻎" ; + "쁳" => "뻏" ; + "스" => "섀" ; + "슥" => "섁" ; + "슦" => "섂" ; + "슧" => "섃" ; + "슨" => "섄" ; + "슩" => "섅" ; + "슪" => "섆" ; + "슫" => "섇" ; + "슬" => "섈" ; + "슭" => "섉" ; + "슮" => "섊" ; + "슯" => "섋" ; + "슰" => "섌" ; + "슱" => "섍" ; + "슲" => "섎" ; + "슳" => "섏" ; + "슴" => "섐" ; + "습" => "섑" ; + "슶" => "섒" ; + "슷" => "섓" ; + "슸" => "섔" ; + "승" => "섕" ; + "슺" => "섖" ; + "슻" => "섗" ; + "슼" => "섘" ; + "슽" => "섙" ; + "슾" => "섚" ; + "슿" => "섛" ; + "쓰" => "썌" ; + "쓱" => "썍" ; + "쓲" => "썎" ; + "쓳" => "썏" ; + "쓴" => "썐" ; + "쓵" => "썑" ; + "쓶" => "썒" ; + "쓷" => "썓" ; + "쓸" => "썔" ; + "쓹" => "썕" ; + "쓺" => "썖" ; + "쓻" => "썗" ; + "쓼" => "썘" ; + "쓽" => "썙" ; + "쓾" => "썚" ; + "쓿" => "썛" ; + "씀" => "썜" ; + "씁" => "썝" ; + "씂" => "썞" ; + "씃" => "썟" ; + "씄" => "썠" ; + "씅" => "썡" ; + "씆" => "썢" ; + "씇" => "썣" ; + "씈" => "썤" ; + "씉" => "썥" ; + "씊" => "썦" ; + "씋" => "썧" ; + "으" => "얘" ; + "윽" => "얙" ; + "윾" => "얚" ; + "윿" => "얛" ; + "은" => "얜" ; + "읁" => "얝" ; + "읂" => "얞" ; + "읃" => "얟" ; + "을" => "얠" ; + "읅" => "얡" ; + "읆" => "얢" ; + "읇" => "얣" ; + "읈" => "얤" ; + "읉" => "얥" ; + "읊" => "얦" ; + "읋" => "얧" ; + "음" => "얨" ; + "읍" => "얩" ; + "읎" => "얪" ; + "읏" => "얫" ; + "읐" => "얬" ; + "응" => "얭" ; + "읒" => "얮" ; + "읓" => "얯" ; + "읔" => "얰" ; + "읕" => "얱" ; + "읖" => "얲" ; + "읗" => "얳" ; + "즈" => "쟤" ; + "즉" => "쟥" ; + "즊" => "쟦" ; + "즋" => "쟧" ; + "즌" => "쟨" ; + "즍" => "쟩" ; + "즎" => "쟪" ; + "즏" => "쟫" ; + "즐" => "쟬" ; + "즑" => "쟭" ; + "즒" => "쟮" ; + "즓" => "쟯" ; + "즔" => "쟰" ; + "즕" => "쟱" ; + "즖" => "쟲" ; + "즗" => "쟳" ; + "즘" => "쟴" ; + "즙" => "쟵" ; + "즚" => "쟶" ; + "즛" => "쟷" ; + "즜" => "쟸" ; + "증" => "쟹" ; + "즞" => "쟺" ; + "즟" => "쟻" ; + "즠" => "쟼" ; + "즡" => "쟽" ; + "즢" => "쟾" ; + "즣" => "쟿" ; + "쯔" => "쨰" ; + "쯕" => "쨱" ; + "쯖" => "쨲" ; + "쯗" => "쨳" ; + "쯘" => "쨴" ; + "쯙" => "쨵" ; + "쯚" => "쨶" ; + "쯛" => "쨷" ; + "쯜" => "쨸" ; + "쯝" => "쨹" ; + "쯞" => "쨺" ; + "쯟" => "쨻" ; + "쯠" => "쨼" ; + "쯡" => "쨽" ; + "쯢" => "쨾" ; + "쯣" => "쨿" ; + "쯤" => "쩀" ; + "쯥" => "쩁" ; + "쯦" => "쩂" ; + "쯧" => "쩃" ; + "쯨" => "쩄" ; + "쯩" => "쩅" ; + "쯪" => "쩆" ; + "쯫" => "쩇" ; + "쯬" => "쩈" ; + "쯭" => "쩉" ; + "쯮" => "쩊" ; + "쯯" => "쩋" ; + "츠" => "챼" ; + "측" => "챽" ; + "츢" => "챾" ; + "츣" => "챿" ; + "츤" => "첀" ; + "츥" => "첁" ; + "츦" => "첂" ; + "츧" => "첃" ; + "츨" => "첄" ; + "츩" => "첅" ; + "츪" => "첆" ; + "츫" => "첇" ; + "츬" => "첈" ; + "츭" => "첉" ; + "츮" => "첊" ; + "츯" => "첋" ; + "츰" => "첌" ; + "츱" => "첍" ; + "츲" => "첎" ; + "츳" => "첏" ; + "츴" => "첐" ; + "층" => "첑" ; + "츶" => "첒" ; + "츷" => "첓" ; + "츸" => "첔" ; + "츹" => "첕" ; + "츺" => "첖" ; + "츻" => "첗" ; + "크" => "컈" ; + "큭" => "컉" ; + "큮" => "컊" ; + "큯" => "컋" ; + "큰" => "컌" ; + "큱" => "컍" ; + "큲" => "컎" ; + "큳" => "컏" ; + "클" => "컐" ; + "큵" => "컑" ; + "큶" => "컒" ; + "큷" => "컓" ; + "큸" => "컔" ; + "큹" => "컕" ; + "큺" => "컖" ; + "큻" => "컗" ; + "큼" => "컘" ; + "큽" => "컙" ; + "큾" => "컚" ; + "큿" => "컛" ; + "킀" => "컜" ; + "킁" => "컝" ; + "킂" => "컞" ; + "킃" => "컟" ; + "킄" => "컠" ; + "킅" => "컡" ; + "킆" => "컢" ; + "킇" => "컣" ; + "트" => "턔" ; + "특" => "턕" ; + "튺" => "턖" ; + "튻" => "턗" ; + "튼" => "턘" ; + "튽" => "턙" ; + "튾" => "턚" ; + "튿" => "턛" ; + "틀" => "턜" ; + "틁" => "턝" ; + "틂" => "턞" ; + "틃" => "턟" ; + "틄" => "턠" ; + "틅" => "턡" ; + "틆" => "턢" ; + "틇" => "턣" ; + "틈" => "턤" ; + "틉" => "턥" ; + "틊" => "턦" ; + "틋" => "턧" ; + "틌" => "턨" ; + "틍" => "턩" ; + "틎" => "턪" ; + "틏" => "턫" ; + "틐" => "턬" ; + "틑" => "턭" ; + "틒" => "턮" ; + "틓" => "턯" ; + "프" => "퍠" ; + "픅" => "퍡" ; + "픆" => "퍢" ; + "픇" => "퍣" ; + "픈" => "퍤" ; + "픉" => "퍥" ; + "픊" => "퍦" ; + "픋" => "퍧" ; + "플" => "퍨" ; + "픍" => "퍩" ; + "픎" => "퍪" ; + "픏" => "퍫" ; + "픐" => "퍬" ; + "픑" => "퍭" ; + "픒" => "퍮" ; + "픓" => "퍯" ; + "픔" => "퍰" ; + "픕" => "퍱" ; + "픖" => "퍲" ; + "픗" => "퍳" ; + "픘" => "퍴" ; + "픙" => "퍵" ; + "픚" => "퍶" ; + "픛" => "퍷" ; + "픜" => "퍸" ; + "픝" => "퍹" ; + "픞" => "퍺" ; + "픟" => "퍻" ; + "흐" => "햬" ; + "흑" => "햭" ; + "흒" => "햮" ; + "흓" => "햯" ; + "흔" => "햰" ; + "흕" => "햱" ; + "흖" => "햲" ; + "흗" => "햳" ; + "흘" => "햴" ; + "흙" => "햵" ; + "흚" => "햶" ; + "흛" => "햷" ; + "흜" => "햸" ; + "흝" => "햹" ; + "흞" => "햺" ; + "흟" => "햻" ; + "흠" => "햼" ; + "흡" => "햽" ; + "흢" => "햾" ; + "흣" => "햿" ; + "흤" => "헀" ; + "흥" => "헁" ; + "흦" => "헂" ; + "흧" => "헃" ; + "흨" => "헄" ; + "흩" => "헅" ; + "흪" => "헆" ; + "흫" => "헇" }; + "어" => case syl of { + "그" => "거" ; + "극" => "걱" ; + "귺" => "걲" ; + "귻" => "걳" ; + "근" => "건" ; + "귽" => "걵" ; + "귾" => "걶" ; + "귿" => "걷" ; + "글" => "걸" ; + "긁" => "걹" ; + "긂" => "걺" ; + "긃" => "걻" ; + "긄" => "걼" ; + "긅" => "걽" ; + "긆" => "걾" ; + "긇" => "걿" ; + "금" => "검" ; + "급" => "겁" ; + "긊" => "겂" ; + "긋" => "것" ; + "긌" => "겄" ; + "긍" => "겅" ; + "긎" => "겆" ; + "긏" => "겇" ; + "긐" => "겈" ; + "긑" => "겉" ; + "긒" => "겊" ; + "긓" => "겋" ; + "끄" => "꺼" ; + "끅" => "꺽" ; + "끆" => "꺾" ; + "끇" => "꺿" ; + "끈" => "껀" ; + "끉" => "껁" ; + "끊" => "껂" ; + "끋" => "껃" ; + "끌" => "껄" ; + "끍" => "껅" ; + "끎" => "껆" ; + "끏" => "껇" ; + "끐" => "껈" ; + "끑" => "껉" ; + "끒" => "껊" ; + "끓" => "껋" ; + "끔" => "껌" ; + "끕" => "껍" ; + "끖" => "껎" ; + "끗" => "껏" ; + "끘" => "껐" ; + "끙" => "껑" ; + "끚" => "껒" ; + "끛" => "껓" ; + "끜" => "껔" ; + "끝" => "껕" ; + "끞" => "껖" ; + "끟" => "껗" ; + "느" => "너" ; + "늑" => "넉" ; + "늒" => "넊" ; + "늓" => "넋" ; + "는" => "넌" ; + "늕" => "넍" ; + "늖" => "넎" ; + "늗" => "넏" ; + "늘" => "널" ; + "늙" => "넑" ; + "늚" => "넒" ; + "늛" => "넓" ; + "늜" => "넔" ; + "늝" => "넕" ; + "늞" => "넖" ; + "늟" => "넗" ; + "늠" => "넘" ; + "늡" => "넙" ; + "늢" => "넚" ; + "늣" => "넛" ; + "늤" => "넜" ; + "능" => "넝" ; + "늦" => "넞" ; + "늧" => "넟" ; + "늨" => "넠" ; + "늩" => "넡" ; + "늪" => "넢" ; + "늫" => "넣" ; + "드" => "더" ; + "득" => "덕" ; + "듞" => "덖" ; + "듟" => "덗" ; + "든" => "던" ; + "듡" => "덙" ; + "듢" => "덚" ; + "듣" => "덛" ; + "들" => "덜" ; + "듥" => "덝" ; + "듦" => "덞" ; + "듧" => "덟" ; + "듨" => "덠" ; + "듩" => "덡" ; + "듪" => "덢" ; + "듫" => "덣" ; + "듬" => "덤" ; + "듭" => "덥" ; + "듮" => "덦" ; + "듯" => "덧" ; + "듰" => "덨" ; + "등" => "덩" ; + "듲" => "덪" ; + "듳" => "덫" ; + "듴" => "덬" ; + "듵" => "덭" ; + "듶" => "덮" ; + "듷" => "덯" ; + "뜨" => "떠" ; + "뜩" => "떡" ; + "뜪" => "떢" ; + "뜫" => "떣" ; + "뜬" => "떤" ; + "뜭" => "떥" ; + "뜮" => "떦" ; + "뜯" => "떧" ; + "뜰" => "떨" ; + "뜱" => "떩" ; + "뜲" => "떪" ; + "뜳" => "떫" ; + "뜴" => "떬" ; + "뜵" => "떭" ; + "뜶" => "떮" ; + "뜷" => "떯" ; + "뜸" => "떰" ; + "뜹" => "떱" ; + "뜺" => "떲" ; + "뜻" => "떳" ; + "뜼" => "떴" ; + "뜽" => "떵" ; + "뜾" => "떶" ; + "뜿" => "떷" ; + "띀" => "떸" ; + "띁" => "떹" ; + "띂" => "떺" ; + "띃" => "떻" ; + "르" => "러" ; + "륵" => "럭" ; + "륶" => "럮" ; + "륷" => "럯" ; + "른" => "런" ; + "륹" => "럱" ; + "륺" => "럲" ; + "륻" => "럳" ; + "를" => "럴" ; + "륽" => "럵" ; + "륾" => "럶" ; + "륿" => "럷" ; + "릀" => "럸" ; + "릁" => "럹" ; + "릂" => "럺" ; + "릃" => "럻" ; + "름" => "럼" ; + "릅" => "럽" ; + "릆" => "럾" ; + "릇" => "럿" ; + "릈" => "렀" ; + "릉" => "렁" ; + "릊" => "렂" ; + "릋" => "렃" ; + "릌" => "렄" ; + "릍" => "렅" ; + "릎" => "렆" ; + "릏" => "렇" ; + "므" => "머" ; + "믁" => "먹" ; + "믂" => "먺" ; + "믃" => "먻" ; + "믄" => "먼" ; + "믅" => "먽" ; + "믆" => "먾" ; + "믇" => "먿" ; + "믈" => "멀" ; + "믉" => "멁" ; + "믊" => "멂" ; + "믋" => "멃" ; + "믌" => "멄" ; + "믍" => "멅" ; + "믎" => "멆" ; + "믏" => "멇" ; + "믐" => "멈" ; + "믑" => "멉" ; + "믒" => "멊" ; + "믓" => "멋" ; + "믔" => "멌" ; + "믕" => "멍" ; + "믖" => "멎" ; + "믗" => "멏" ; + "믘" => "멐" ; + "믙" => "멑" ; + "믚" => "멒" ; + "믛" => "멓" ; + "브" => "버" ; + "븍" => "벅" ; + "븎" => "벆" ; + "븏" => "벇" ; + "븐" => "번" ; + "븑" => "벉" ; + "븒" => "벊" ; + "븓" => "벋" ; + "블" => "벌" ; + "븕" => "벍" ; + "븖" => "벎" ; + "븗" => "벏" ; + "븘" => "벐" ; + "븙" => "벑" ; + "븚" => "벒" ; + "븛" => "벓" ; + "븜" => "범" ; + "븝" => "법" ; + "븞" => "벖" ; + "븟" => "벗" ; + "븠" => "벘" ; + "븡" => "벙" ; + "븢" => "벚" ; + "븣" => "벛" ; + "븤" => "벜" ; + "븥" => "벝" ; + "븦" => "벞" ; + "븧" => "벟" ; + "쁘" => "뻐" ; + "쁙" => "뻑" ; + "쁚" => "뻒" ; + "쁛" => "뻓" ; + "쁜" => "뻔" ; + "쁝" => "뻕" ; + "쁞" => "뻖" ; + "쁟" => "뻗" ; + "쁠" => "뻘" ; + "쁡" => "뻙" ; + "쁢" => "뻚" ; + "쁣" => "뻛" ; + "쁤" => "뻜" ; + "쁥" => "뻝" ; + "쁦" => "뻞" ; + "쁧" => "뻟" ; + "쁨" => "뻠" ; + "쁩" => "뻡" ; + "쁪" => "뻢" ; + "쁫" => "뻣" ; + "쁬" => "뻤" ; + "쁭" => "뻥" ; + "쁮" => "뻦" ; + "쁯" => "뻧" ; + "쁰" => "뻨" ; + "쁱" => "뻩" ; + "쁲" => "뻪" ; + "쁳" => "뻫" ; + "스" => "서" ; + "슥" => "석" ; + "슦" => "섞" ; + "슧" => "섟" ; + "슨" => "선" ; + "슩" => "섡" ; + "슪" => "섢" ; + "슫" => "섣" ; + "슬" => "설" ; + "슭" => "섥" ; + "슮" => "섦" ; + "슯" => "섧" ; + "슰" => "섨" ; + "슱" => "섩" ; + "슲" => "섪" ; + "슳" => "섫" ; + "슴" => "섬" ; + "습" => "섭" ; + "슶" => "섮" ; + "슷" => "섯" ; + "슸" => "섰" ; + "승" => "성" ; + "슺" => "섲" ; + "슻" => "섳" ; + "슼" => "섴" ; + "슽" => "섵" ; + "슾" => "섶" ; + "슿" => "섷" ; + "쓰" => "써" ; + "쓱" => "썩" ; + "쓲" => "썪" ; + "쓳" => "썫" ; + "쓴" => "썬" ; + "쓵" => "썭" ; + "쓶" => "썮" ; + "쓷" => "썯" ; + "쓸" => "썰" ; + "쓹" => "썱" ; + "쓺" => "썲" ; + "쓻" => "썳" ; + "쓼" => "썴" ; + "쓽" => "썵" ; + "쓾" => "썶" ; + "쓿" => "썷" ; + "씀" => "썸" ; + "씁" => "썹" ; + "씂" => "썺" ; + "씃" => "썻" ; + "씄" => "썼" ; + "씅" => "썽" ; + "씆" => "썾" ; + "씇" => "썿" ; + "씈" => "쎀" ; + "씉" => "쎁" ; + "씊" => "쎂" ; + "씋" => "쎃" ; + "으" => "어" ; + "윽" => "억" ; + "윾" => "얶" ; + "윿" => "얷" ; + "은" => "언" ; + "읁" => "얹" ; + "읂" => "얺" ; + "읃" => "얻" ; + "을" => "얼" ; + "읅" => "얽" ; + "읆" => "얾" ; + "읇" => "얿" ; + "읈" => "엀" ; + "읉" => "엁" ; + "읊" => "엂" ; + "읋" => "엃" ; + "음" => "엄" ; + "읍" => "업" ; + "읎" => "없" ; + "읏" => "엇" ; + "읐" => "었" ; + "응" => "엉" ; + "읒" => "엊" ; + "읓" => "엋" ; + "읔" => "엌" ; + "읕" => "엍" ; + "읖" => "엎" ; + "읗" => "엏" ; + "즈" => "저" ; + "즉" => "적" ; + "즊" => "젂" ; + "즋" => "젃" ; + "즌" => "전" ; + "즍" => "젅" ; + "즎" => "젆" ; + "즏" => "젇" ; + "즐" => "절" ; + "즑" => "젉" ; + "즒" => "젊" ; + "즓" => "젋" ; + "즔" => "젌" ; + "즕" => "젍" ; + "즖" => "젎" ; + "즗" => "젏" ; + "즘" => "점" ; + "즙" => "접" ; + "즚" => "젒" ; + "즛" => "젓" ; + "즜" => "젔" ; + "증" => "정" ; + "즞" => "젖" ; + "즟" => "젗" ; + "즠" => "젘" ; + "즡" => "젙" ; + "즢" => "젚" ; + "즣" => "젛" ; + "쯔" => "쩌" ; + "쯕" => "쩍" ; + "쯖" => "쩎" ; + "쯗" => "쩏" ; + "쯘" => "쩐" ; + "쯙" => "쩑" ; + "쯚" => "쩒" ; + "쯛" => "쩓" ; + "쯜" => "쩔" ; + "쯝" => "쩕" ; + "쯞" => "쩖" ; + "쯟" => "쩗" ; + "쯠" => "쩘" ; + "쯡" => "쩙" ; + "쯢" => "쩚" ; + "쯣" => "쩛" ; + "쯤" => "쩜" ; + "쯥" => "쩝" ; + "쯦" => "쩞" ; + "쯧" => "쩟" ; + "쯨" => "쩠" ; + "쯩" => "쩡" ; + "쯪" => "쩢" ; + "쯫" => "쩣" ; + "쯬" => "쩤" ; + "쯭" => "쩥" ; + "쯮" => "쩦" ; + "쯯" => "쩧" ; + "츠" => "처" ; + "측" => "척" ; + "츢" => "첚" ; + "츣" => "첛" ; + "츤" => "천" ; + "츥" => "첝" ; + "츦" => "첞" ; + "츧" => "첟" ; + "츨" => "철" ; + "츩" => "첡" ; + "츪" => "첢" ; + "츫" => "첣" ; + "츬" => "첤" ; + "츭" => "첥" ; + "츮" => "첦" ; + "츯" => "첧" ; + "츰" => "첨" ; + "츱" => "첩" ; + "츲" => "첪" ; + "츳" => "첫" ; + "츴" => "첬" ; + "층" => "청" ; + "츶" => "첮" ; + "츷" => "첯" ; + "츸" => "첰" ; + "츹" => "첱" ; + "츺" => "첲" ; + "츻" => "첳" ; + "크" => "커" ; + "큭" => "컥" ; + "큮" => "컦" ; + "큯" => "컧" ; + "큰" => "컨" ; + "큱" => "컩" ; + "큲" => "컪" ; + "큳" => "컫" ; + "클" => "컬" ; + "큵" => "컭" ; + "큶" => "컮" ; + "큷" => "컯" ; + "큸" => "컰" ; + "큹" => "컱" ; + "큺" => "컲" ; + "큻" => "컳" ; + "큼" => "컴" ; + "큽" => "컵" ; + "큾" => "컶" ; + "큿" => "컷" ; + "킀" => "컸" ; + "킁" => "컹" ; + "킂" => "컺" ; + "킃" => "컻" ; + "킄" => "컼" ; + "킅" => "컽" ; + "킆" => "컾" ; + "킇" => "컿" ; + "트" => "터" ; + "특" => "턱" ; + "튺" => "턲" ; + "튻" => "턳" ; + "튼" => "턴" ; + "튽" => "턵" ; + "튾" => "턶" ; + "튿" => "턷" ; + "틀" => "털" ; + "틁" => "턹" ; + "틂" => "턺" ; + "틃" => "턻" ; + "틄" => "턼" ; + "틅" => "턽" ; + "틆" => "턾" ; + "틇" => "턿" ; + "틈" => "텀" ; + "틉" => "텁" ; + "틊" => "텂" ; + "틋" => "텃" ; + "틌" => "텄" ; + "틍" => "텅" ; + "틎" => "텆" ; + "틏" => "텇" ; + "틐" => "텈" ; + "틑" => "텉" ; + "틒" => "텊" ; + "틓" => "텋" ; + "프" => "퍼" ; + "픅" => "퍽" ; + "픆" => "퍾" ; + "픇" => "퍿" ; + "픈" => "펀" ; + "픉" => "펁" ; + "픊" => "펂" ; + "픋" => "펃" ; + "플" => "펄" ; + "픍" => "펅" ; + "픎" => "펆" ; + "픏" => "펇" ; + "픐" => "펈" ; + "픑" => "펉" ; + "픒" => "펊" ; + "픓" => "펋" ; + "픔" => "펌" ; + "픕" => "펍" ; + "픖" => "펎" ; + "픗" => "펏" ; + "픘" => "펐" ; + "픙" => "펑" ; + "픚" => "펒" ; + "픛" => "펓" ; + "픜" => "펔" ; + "픝" => "펕" ; + "픞" => "펖" ; + "픟" => "펗" ; + "흐" => "허" ; + "흑" => "헉" ; + "흒" => "헊" ; + "흓" => "헋" ; + "흔" => "헌" ; + "흕" => "헍" ; + "흖" => "헎" ; + "흗" => "헏" ; + "흘" => "헐" ; + "흙" => "헑" ; + "흚" => "헒" ; + "흛" => "헓" ; + "흜" => "헔" ; + "흝" => "헕" ; + "흞" => "헖" ; + "흟" => "헗" ; + "흠" => "험" ; + "흡" => "헙" ; + "흢" => "헚" ; + "흣" => "헛" ; + "흤" => "헜" ; + "흥" => "헝" ; + "흦" => "헞" ; + "흧" => "헟" ; + "흨" => "헠" ; + "흩" => "헡" ; + "흪" => "헢" ; + "흫" => "헣" }; + "에" => case syl of { + "그" => "게" ; + "극" => "겍" ; + "귺" => "겎" ; + "귻" => "겏" ; + "근" => "겐" ; + "귽" => "겑" ; + "귾" => "겒" ; + "귿" => "겓" ; + "글" => "겔" ; + "긁" => "겕" ; + "긂" => "겖" ; + "긃" => "겗" ; + "긄" => "겘" ; + "긅" => "겙" ; + "긆" => "겚" ; + "긇" => "겛" ; + "금" => "겜" ; + "급" => "겝" ; + "긊" => "겞" ; + "긋" => "겟" ; + "긌" => "겠" ; + "긍" => "겡" ; + "긎" => "겢" ; + "긏" => "겣" ; + "긐" => "겤" ; + "긑" => "겥" ; + "긒" => "겦" ; + "긓" => "겧" ; + "끄" => "께" ; + "끅" => "껙" ; + "끆" => "껚" ; + "끇" => "껛" ; + "끈" => "껜" ; + "끉" => "껝" ; + "끊" => "껞" ; + "끋" => "껟" ; + "끌" => "껠" ; + "끍" => "껡" ; + "끎" => "껢" ; + "끏" => "껣" ; + "끐" => "껤" ; + "끑" => "껥" ; + "끒" => "껦" ; + "끓" => "껧" ; + "끔" => "껨" ; + "끕" => "껩" ; + "끖" => "껪" ; + "끗" => "껫" ; + "끘" => "껬" ; + "끙" => "껭" ; + "끚" => "껮" ; + "끛" => "껯" ; + "끜" => "껰" ; + "끝" => "껱" ; + "끞" => "껲" ; + "끟" => "껳" ; + "느" => "네" ; + "늑" => "넥" ; + "늒" => "넦" ; + "늓" => "넧" ; + "는" => "넨" ; + "늕" => "넩" ; + "늖" => "넪" ; + "늗" => "넫" ; + "늘" => "넬" ; + "늙" => "넭" ; + "늚" => "넮" ; + "늛" => "넯" ; + "늜" => "넰" ; + "늝" => "넱" ; + "늞" => "넲" ; + "늟" => "넳" ; + "늠" => "넴" ; + "늡" => "넵" ; + "늢" => "넶" ; + "늣" => "넷" ; + "늤" => "넸" ; + "능" => "넹" ; + "늦" => "넺" ; + "늧" => "넻" ; + "늨" => "넼" ; + "늩" => "넽" ; + "늪" => "넾" ; + "늫" => "넿" ; + "드" => "데" ; + "득" => "덱" ; + "듞" => "덲" ; + "듟" => "덳" ; + "든" => "덴" ; + "듡" => "덵" ; + "듢" => "덶" ; + "듣" => "덷" ; + "들" => "델" ; + "듥" => "덹" ; + "듦" => "덺" ; + "듧" => "덻" ; + "듨" => "덼" ; + "듩" => "덽" ; + "듪" => "덾" ; + "듫" => "덿" ; + "듬" => "뎀" ; + "듭" => "뎁" ; + "듮" => "뎂" ; + "듯" => "뎃" ; + "듰" => "뎄" ; + "등" => "뎅" ; + "듲" => "뎆" ; + "듳" => "뎇" ; + "듴" => "뎈" ; + "듵" => "뎉" ; + "듶" => "뎊" ; + "듷" => "뎋" ; + "뜨" => "떼" ; + "뜩" => "떽" ; + "뜪" => "떾" ; + "뜫" => "떿" ; + "뜬" => "뗀" ; + "뜭" => "뗁" ; + "뜮" => "뗂" ; + "뜯" => "뗃" ; + "뜰" => "뗄" ; + "뜱" => "뗅" ; + "뜲" => "뗆" ; + "뜳" => "뗇" ; + "뜴" => "뗈" ; + "뜵" => "뗉" ; + "뜶" => "뗊" ; + "뜷" => "뗋" ; + "뜸" => "뗌" ; + "뜹" => "뗍" ; + "뜺" => "뗎" ; + "뜻" => "뗏" ; + "뜼" => "뗐" ; + "뜽" => "뗑" ; + "뜾" => "뗒" ; + "뜿" => "뗓" ; + "띀" => "뗔" ; + "띁" => "뗕" ; + "띂" => "뗖" ; + "띃" => "뗗" ; + "르" => "레" ; + "륵" => "렉" ; + "륶" => "렊" ; + "륷" => "렋" ; + "른" => "렌" ; + "륹" => "렍" ; + "륺" => "렎" ; + "륻" => "렏" ; + "를" => "렐" ; + "륽" => "렑" ; + "륾" => "렒" ; + "륿" => "렓" ; + "릀" => "렔" ; + "릁" => "렕" ; + "릂" => "렖" ; + "릃" => "렗" ; + "름" => "렘" ; + "릅" => "렙" ; + "릆" => "렚" ; + "릇" => "렛" ; + "릈" => "렜" ; + "릉" => "렝" ; + "릊" => "렞" ; + "릋" => "렟" ; + "릌" => "렠" ; + "릍" => "렡" ; + "릎" => "렢" ; + "릏" => "렣" ; + "므" => "메" ; + "믁" => "멕" ; + "믂" => "멖" ; + "믃" => "멗" ; + "믄" => "멘" ; + "믅" => "멙" ; + "믆" => "멚" ; + "믇" => "멛" ; + "믈" => "멜" ; + "믉" => "멝" ; + "믊" => "멞" ; + "믋" => "멟" ; + "믌" => "멠" ; + "믍" => "멡" ; + "믎" => "멢" ; + "믏" => "멣" ; + "믐" => "멤" ; + "믑" => "멥" ; + "믒" => "멦" ; + "믓" => "멧" ; + "믔" => "멨" ; + "믕" => "멩" ; + "믖" => "멪" ; + "믗" => "멫" ; + "믘" => "멬" ; + "믙" => "멭" ; + "믚" => "멮" ; + "믛" => "멯" ; + "브" => "베" ; + "븍" => "벡" ; + "븎" => "벢" ; + "븏" => "벣" ; + "븐" => "벤" ; + "븑" => "벥" ; + "븒" => "벦" ; + "븓" => "벧" ; + "블" => "벨" ; + "븕" => "벩" ; + "븖" => "벪" ; + "븗" => "벫" ; + "븘" => "벬" ; + "븙" => "벭" ; + "븚" => "벮" ; + "븛" => "벯" ; + "븜" => "벰" ; + "븝" => "벱" ; + "븞" => "벲" ; + "븟" => "벳" ; + "븠" => "벴" ; + "븡" => "벵" ; + "븢" => "벶" ; + "븣" => "벷" ; + "븤" => "벸" ; + "븥" => "벹" ; + "븦" => "벺" ; + "븧" => "벻" ; + "쁘" => "뻬" ; + "쁙" => "뻭" ; + "쁚" => "뻮" ; + "쁛" => "뻯" ; + "쁜" => "뻰" ; + "쁝" => "뻱" ; + "쁞" => "뻲" ; + "쁟" => "뻳" ; + "쁠" => "뻴" ; + "쁡" => "뻵" ; + "쁢" => "뻶" ; + "쁣" => "뻷" ; + "쁤" => "뻸" ; + "쁥" => "뻹" ; + "쁦" => "뻺" ; + "쁧" => "뻻" ; + "쁨" => "뻼" ; + "쁩" => "뻽" ; + "쁪" => "뻾" ; + "쁫" => "뻿" ; + "쁬" => "뼀" ; + "쁭" => "뼁" ; + "쁮" => "뼂" ; + "쁯" => "뼃" ; + "쁰" => "뼄" ; + "쁱" => "뼅" ; + "쁲" => "뼆" ; + "쁳" => "뼇" ; + "스" => "세" ; + "슥" => "섹" ; + "슦" => "섺" ; + "슧" => "섻" ; + "슨" => "센" ; + "슩" => "섽" ; + "슪" => "섾" ; + "슫" => "섿" ; + "슬" => "셀" ; + "슭" => "셁" ; + "슮" => "셂" ; + "슯" => "셃" ; + "슰" => "셄" ; + "슱" => "셅" ; + "슲" => "셆" ; + "슳" => "셇" ; + "슴" => "셈" ; + "습" => "셉" ; + "슶" => "셊" ; + "슷" => "셋" ; + "슸" => "셌" ; + "승" => "셍" ; + "슺" => "셎" ; + "슻" => "셏" ; + "슼" => "셐" ; + "슽" => "셑" ; + "슾" => "셒" ; + "슿" => "셓" ; + "쓰" => "쎄" ; + "쓱" => "쎅" ; + "쓲" => "쎆" ; + "쓳" => "쎇" ; + "쓴" => "쎈" ; + "쓵" => "쎉" ; + "쓶" => "쎊" ; + "쓷" => "쎋" ; + "쓸" => "쎌" ; + "쓹" => "쎍" ; + "쓺" => "쎎" ; + "쓻" => "쎏" ; + "쓼" => "쎐" ; + "쓽" => "쎑" ; + "쓾" => "쎒" ; + "쓿" => "쎓" ; + "씀" => "쎔" ; + "씁" => "쎕" ; + "씂" => "쎖" ; + "씃" => "쎗" ; + "씄" => "쎘" ; + "씅" => "쎙" ; + "씆" => "쎚" ; + "씇" => "쎛" ; + "씈" => "쎜" ; + "씉" => "쎝" ; + "씊" => "쎞" ; + "씋" => "쎟" ; + "으" => "에" ; + "윽" => "엑" ; + "윾" => "엒" ; + "윿" => "엓" ; + "은" => "엔" ; + "읁" => "엕" ; + "읂" => "엖" ; + "읃" => "엗" ; + "을" => "엘" ; + "읅" => "엙" ; + "읆" => "엚" ; + "읇" => "엛" ; + "읈" => "엜" ; + "읉" => "엝" ; + "읊" => "엞" ; + "읋" => "엟" ; + "음" => "엠" ; + "읍" => "엡" ; + "읎" => "엢" ; + "읏" => "엣" ; + "읐" => "엤" ; + "응" => "엥" ; + "읒" => "엦" ; + "읓" => "엧" ; + "읔" => "엨" ; + "읕" => "엩" ; + "읖" => "엪" ; + "읗" => "엫" ; + "즈" => "제" ; + "즉" => "젝" ; + "즊" => "젞" ; + "즋" => "젟" ; + "즌" => "젠" ; + "즍" => "젡" ; + "즎" => "젢" ; + "즏" => "젣" ; + "즐" => "젤" ; + "즑" => "젥" ; + "즒" => "젦" ; + "즓" => "젧" ; + "즔" => "젨" ; + "즕" => "젩" ; + "즖" => "젪" ; + "즗" => "젫" ; + "즘" => "젬" ; + "즙" => "젭" ; + "즚" => "젮" ; + "즛" => "젯" ; + "즜" => "젰" ; + "증" => "젱" ; + "즞" => "젲" ; + "즟" => "젳" ; + "즠" => "젴" ; + "즡" => "젵" ; + "즢" => "젶" ; + "즣" => "젷" ; + "쯔" => "쩨" ; + "쯕" => "쩩" ; + "쯖" => "쩪" ; + "쯗" => "쩫" ; + "쯘" => "쩬" ; + "쯙" => "쩭" ; + "쯚" => "쩮" ; + "쯛" => "쩯" ; + "쯜" => "쩰" ; + "쯝" => "쩱" ; + "쯞" => "쩲" ; + "쯟" => "쩳" ; + "쯠" => "쩴" ; + "쯡" => "쩵" ; + "쯢" => "쩶" ; + "쯣" => "쩷" ; + "쯤" => "쩸" ; + "쯥" => "쩹" ; + "쯦" => "쩺" ; + "쯧" => "쩻" ; + "쯨" => "쩼" ; + "쯩" => "쩽" ; + "쯪" => "쩾" ; + "쯫" => "쩿" ; + "쯬" => "쪀" ; + "쯭" => "쪁" ; + "쯮" => "쪂" ; + "쯯" => "쪃" ; + "츠" => "체" ; + "측" => "첵" ; + "츢" => "첶" ; + "츣" => "첷" ; + "츤" => "첸" ; + "츥" => "첹" ; + "츦" => "첺" ; + "츧" => "첻" ; + "츨" => "첼" ; + "츩" => "첽" ; + "츪" => "첾" ; + "츫" => "첿" ; + "츬" => "쳀" ; + "츭" => "쳁" ; + "츮" => "쳂" ; + "츯" => "쳃" ; + "츰" => "쳄" ; + "츱" => "쳅" ; + "츲" => "쳆" ; + "츳" => "쳇" ; + "츴" => "쳈" ; + "층" => "쳉" ; + "츶" => "쳊" ; + "츷" => "쳋" ; + "츸" => "쳌" ; + "츹" => "쳍" ; + "츺" => "쳎" ; + "츻" => "쳏" ; + "크" => "케" ; + "큭" => "켁" ; + "큮" => "켂" ; + "큯" => "켃" ; + "큰" => "켄" ; + "큱" => "켅" ; + "큲" => "켆" ; + "큳" => "켇" ; + "클" => "켈" ; + "큵" => "켉" ; + "큶" => "켊" ; + "큷" => "켋" ; + "큸" => "켌" ; + "큹" => "켍" ; + "큺" => "켎" ; + "큻" => "켏" ; + "큼" => "켐" ; + "큽" => "켑" ; + "큾" => "켒" ; + "큿" => "켓" ; + "킀" => "켔" ; + "킁" => "켕" ; + "킂" => "켖" ; + "킃" => "켗" ; + "킄" => "켘" ; + "킅" => "켙" ; + "킆" => "켚" ; + "킇" => "켛" ; + "트" => "테" ; + "특" => "텍" ; + "튺" => "텎" ; + "튻" => "텏" ; + "튼" => "텐" ; + "튽" => "텑" ; + "튾" => "텒" ; + "튿" => "텓" ; + "틀" => "텔" ; + "틁" => "텕" ; + "틂" => "텖" ; + "틃" => "텗" ; + "틄" => "텘" ; + "틅" => "텙" ; + "틆" => "텚" ; + "틇" => "텛" ; + "틈" => "템" ; + "틉" => "텝" ; + "틊" => "텞" ; + "틋" => "텟" ; + "틌" => "텠" ; + "틍" => "텡" ; + "틎" => "텢" ; + "틏" => "텣" ; + "틐" => "텤" ; + "틑" => "텥" ; + "틒" => "텦" ; + "틓" => "텧" ; + "프" => "페" ; + "픅" => "펙" ; + "픆" => "펚" ; + "픇" => "펛" ; + "픈" => "펜" ; + "픉" => "펝" ; + "픊" => "펞" ; + "픋" => "펟" ; + "플" => "펠" ; + "픍" => "펡" ; + "픎" => "펢" ; + "픏" => "펣" ; + "픐" => "펤" ; + "픑" => "펥" ; + "픒" => "펦" ; + "픓" => "펧" ; + "픔" => "펨" ; + "픕" => "펩" ; + "픖" => "펪" ; + "픗" => "펫" ; + "픘" => "펬" ; + "픙" => "펭" ; + "픚" => "펮" ; + "픛" => "펯" ; + "픜" => "펰" ; + "픝" => "펱" ; + "픞" => "펲" ; + "픟" => "펳" ; + "흐" => "헤" ; + "흑" => "헥" ; + "흒" => "헦" ; + "흓" => "헧" ; + "흔" => "헨" ; + "흕" => "헩" ; + "흖" => "헪" ; + "흗" => "헫" ; + "흘" => "헬" ; + "흙" => "헭" ; + "흚" => "헮" ; + "흛" => "헯" ; + "흜" => "헰" ; + "흝" => "헱" ; + "흞" => "헲" ; + "흟" => "헳" ; + "흠" => "헴" ; + "흡" => "헵" ; + "흢" => "헶" ; + "흣" => "헷" ; + "흤" => "헸" ; + "흥" => "헹" ; + "흦" => "헺" ; + "흧" => "헻" ; + "흨" => "헼" ; + "흩" => "헽" ; + "흪" => "헾" ; + "흫" => "헿" }; + "여" => case syl of { + "그" => "겨" ; + "극" => "격" ; + "귺" => "겪" ; + "귻" => "겫" ; + "근" => "견" ; + "귽" => "겭" ; + "귾" => "겮" ; + "귿" => "겯" ; + "글" => "결" ; + "긁" => "겱" ; + "긂" => "겲" ; + "긃" => "겳" ; + "긄" => "겴" ; + "긅" => "겵" ; + "긆" => "겶" ; + "긇" => "겷" ; + "금" => "겸" ; + "급" => "겹" ; + "긊" => "겺" ; + "긋" => "겻" ; + "긌" => "겼" ; + "긍" => "경" ; + "긎" => "겾" ; + "긏" => "겿" ; + "긐" => "곀" ; + "긑" => "곁" ; + "긒" => "곂" ; + "긓" => "곃" ; + "끄" => "껴" ; + "끅" => "껵" ; + "끆" => "껶" ; + "끇" => "껷" ; + "끈" => "껸" ; + "끉" => "껹" ; + "끊" => "껺" ; + "끋" => "껻" ; + "끌" => "껼" ; + "끍" => "껽" ; + "끎" => "껾" ; + "끏" => "껿" ; + "끐" => "꼀" ; + "끑" => "꼁" ; + "끒" => "꼂" ; + "끓" => "꼃" ; + "끔" => "꼄" ; + "끕" => "꼅" ; + "끖" => "꼆" ; + "끗" => "꼇" ; + "끘" => "꼈" ; + "끙" => "꼉" ; + "끚" => "꼊" ; + "끛" => "꼋" ; + "끜" => "꼌" ; + "끝" => "꼍" ; + "끞" => "꼎" ; + "끟" => "꼏" ; + "느" => "녀" ; + "늑" => "녁" ; + "늒" => "녂" ; + "늓" => "녃" ; + "는" => "년" ; + "늕" => "녅" ; + "늖" => "녆" ; + "늗" => "녇" ; + "늘" => "녈" ; + "늙" => "녉" ; + "늚" => "녊" ; + "늛" => "녋" ; + "늜" => "녌" ; + "늝" => "녍" ; + "늞" => "녎" ; + "늟" => "녏" ; + "늠" => "념" ; + "늡" => "녑" ; + "늢" => "녒" ; + "늣" => "녓" ; + "늤" => "녔" ; + "능" => "녕" ; + "늦" => "녖" ; + "늧" => "녗" ; + "늨" => "녘" ; + "늩" => "녙" ; + "늪" => "녚" ; + "늫" => "녛" ; + "드" => "뎌" ; + "득" => "뎍" ; + "듞" => "뎎" ; + "듟" => "뎏" ; + "든" => "뎐" ; + "듡" => "뎑" ; + "듢" => "뎒" ; + "듣" => "뎓" ; + "들" => "뎔" ; + "듥" => "뎕" ; + "듦" => "뎖" ; + "듧" => "뎗" ; + "듨" => "뎘" ; + "듩" => "뎙" ; + "듪" => "뎚" ; + "듫" => "뎛" ; + "듬" => "뎜" ; + "듭" => "뎝" ; + "듮" => "뎞" ; + "듯" => "뎟" ; + "듰" => "뎠" ; + "등" => "뎡" ; + "듲" => "뎢" ; + "듳" => "뎣" ; + "듴" => "뎤" ; + "듵" => "뎥" ; + "듶" => "뎦" ; + "듷" => "뎧" ; + "뜨" => "뗘" ; + "뜩" => "뗙" ; + "뜪" => "뗚" ; + "뜫" => "뗛" ; + "뜬" => "뗜" ; + "뜭" => "뗝" ; + "뜮" => "뗞" ; + "뜯" => "뗟" ; + "뜰" => "뗠" ; + "뜱" => "뗡" ; + "뜲" => "뗢" ; + "뜳" => "뗣" ; + "뜴" => "뗤" ; + "뜵" => "뗥" ; + "뜶" => "뗦" ; + "뜷" => "뗧" ; + "뜸" => "뗨" ; + "뜹" => "뗩" ; + "뜺" => "뗪" ; + "뜻" => "뗫" ; + "뜼" => "뗬" ; + "뜽" => "뗭" ; + "뜾" => "뗮" ; + "뜿" => "뗯" ; + "띀" => "뗰" ; + "띁" => "뗱" ; + "띂" => "뗲" ; + "띃" => "뗳" ; + "르" => "려" ; + "륵" => "력" ; + "륶" => "렦" ; + "륷" => "렧" ; + "른" => "련" ; + "륹" => "렩" ; + "륺" => "렪" ; + "륻" => "렫" ; + "를" => "렬" ; + "륽" => "렭" ; + "륾" => "렮" ; + "륿" => "렯" ; + "릀" => "렰" ; + "릁" => "렱" ; + "릂" => "렲" ; + "릃" => "렳" ; + "름" => "렴" ; + "릅" => "렵" ; + "릆" => "렶" ; + "릇" => "렷" ; + "릈" => "렸" ; + "릉" => "령" ; + "릊" => "렺" ; + "릋" => "렻" ; + "릌" => "렼" ; + "릍" => "렽" ; + "릎" => "렾" ; + "릏" => "렿" ; + "므" => "며" ; + "믁" => "멱" ; + "믂" => "멲" ; + "믃" => "멳" ; + "믄" => "면" ; + "믅" => "멵" ; + "믆" => "멶" ; + "믇" => "멷" ; + "믈" => "멸" ; + "믉" => "멹" ; + "믊" => "멺" ; + "믋" => "멻" ; + "믌" => "멼" ; + "믍" => "멽" ; + "믎" => "멾" ; + "믏" => "멿" ; + "믐" => "몀" ; + "믑" => "몁" ; + "믒" => "몂" ; + "믓" => "몃" ; + "믔" => "몄" ; + "믕" => "명" ; + "믖" => "몆" ; + "믗" => "몇" ; + "믘" => "몈" ; + "믙" => "몉" ; + "믚" => "몊" ; + "믛" => "몋" ; + "브" => "벼" ; + "븍" => "벽" ; + "븎" => "벾" ; + "븏" => "벿" ; + "븐" => "변" ; + "븑" => "볁" ; + "븒" => "볂" ; + "븓" => "볃" ; + "블" => "별" ; + "븕" => "볅" ; + "븖" => "볆" ; + "븗" => "볇" ; + "븘" => "볈" ; + "븙" => "볉" ; + "븚" => "볊" ; + "븛" => "볋" ; + "븜" => "볌" ; + "븝" => "볍" ; + "븞" => "볎" ; + "븟" => "볏" ; + "븠" => "볐" ; + "븡" => "병" ; + "븢" => "볒" ; + "븣" => "볓" ; + "븤" => "볔" ; + "븥" => "볕" ; + "븦" => "볖" ; + "븧" => "볗" ; + "쁘" => "뼈" ; + "쁙" => "뼉" ; + "쁚" => "뼊" ; + "쁛" => "뼋" ; + "쁜" => "뼌" ; + "쁝" => "뼍" ; + "쁞" => "뼎" ; + "쁟" => "뼏" ; + "쁠" => "뼐" ; + "쁡" => "뼑" ; + "쁢" => "뼒" ; + "쁣" => "뼓" ; + "쁤" => "뼔" ; + "쁥" => "뼕" ; + "쁦" => "뼖" ; + "쁧" => "뼗" ; + "쁨" => "뼘" ; + "쁩" => "뼙" ; + "쁪" => "뼚" ; + "쁫" => "뼛" ; + "쁬" => "뼜" ; + "쁭" => "뼝" ; + "쁮" => "뼞" ; + "쁯" => "뼟" ; + "쁰" => "뼠" ; + "쁱" => "뼡" ; + "쁲" => "뼢" ; + "쁳" => "뼣" ; + "스" => "셔" ; + "슥" => "셕" ; + "슦" => "셖" ; + "슧" => "셗" ; + "슨" => "션" ; + "슩" => "셙" ; + "슪" => "셚" ; + "슫" => "셛" ; + "슬" => "셜" ; + "슭" => "셝" ; + "슮" => "셞" ; + "슯" => "셟" ; + "슰" => "셠" ; + "슱" => "셡" ; + "슲" => "셢" ; + "슳" => "셣" ; + "슴" => "셤" ; + "습" => "셥" ; + "슶" => "셦" ; + "슷" => "셧" ; + "슸" => "셨" ; + "승" => "셩" ; + "슺" => "셪" ; + "슻" => "셫" ; + "슼" => "셬" ; + "슽" => "셭" ; + "슾" => "셮" ; + "슿" => "셯" ; + "쓰" => "쎠" ; + "쓱" => "쎡" ; + "쓲" => "쎢" ; + "쓳" => "쎣" ; + "쓴" => "쎤" ; + "쓵" => "쎥" ; + "쓶" => "쎦" ; + "쓷" => "쎧" ; + "쓸" => "쎨" ; + "쓹" => "쎩" ; + "쓺" => "쎪" ; + "쓻" => "쎫" ; + "쓼" => "쎬" ; + "쓽" => "쎭" ; + "쓾" => "쎮" ; + "쓿" => "쎯" ; + "씀" => "쎰" ; + "씁" => "쎱" ; + "씂" => "쎲" ; + "씃" => "쎳" ; + "씄" => "쎴" ; + "씅" => "쎵" ; + "씆" => "쎶" ; + "씇" => "쎷" ; + "씈" => "쎸" ; + "씉" => "쎹" ; + "씊" => "쎺" ; + "씋" => "쎻" ; + "으" => "여" ; + "윽" => "역" ; + "윾" => "엮" ; + "윿" => "엯" ; + "은" => "연" ; + "읁" => "엱" ; + "읂" => "엲" ; + "읃" => "엳" ; + "을" => "열" ; + "읅" => "엵" ; + "읆" => "엶" ; + "읇" => "엷" ; + "읈" => "엸" ; + "읉" => "엹" ; + "읊" => "엺" ; + "읋" => "엻" ; + "음" => "염" ; + "읍" => "엽" ; + "읎" => "엾" ; + "읏" => "엿" ; + "읐" => "였" ; + "응" => "영" ; + "읒" => "옂" ; + "읓" => "옃" ; + "읔" => "옄" ; + "읕" => "옅" ; + "읖" => "옆" ; + "읗" => "옇" ; + "즈" => "져" ; + "즉" => "젹" ; + "즊" => "젺" ; + "즋" => "젻" ; + "즌" => "젼" ; + "즍" => "젽" ; + "즎" => "젾" ; + "즏" => "젿" ; + "즐" => "졀" ; + "즑" => "졁" ; + "즒" => "졂" ; + "즓" => "졃" ; + "즔" => "졄" ; + "즕" => "졅" ; + "즖" => "졆" ; + "즗" => "졇" ; + "즘" => "졈" ; + "즙" => "졉" ; + "즚" => "졊" ; + "즛" => "졋" ; + "즜" => "졌" ; + "증" => "졍" ; + "즞" => "졎" ; + "즟" => "졏" ; + "즠" => "졐" ; + "즡" => "졑" ; + "즢" => "졒" ; + "즣" => "졓" ; + "쯔" => "쪄" ; + "쯕" => "쪅" ; + "쯖" => "쪆" ; + "쯗" => "쪇" ; + "쯘" => "쪈" ; + "쯙" => "쪉" ; + "쯚" => "쪊" ; + "쯛" => "쪋" ; + "쯜" => "쪌" ; + "쯝" => "쪍" ; + "쯞" => "쪎" ; + "쯟" => "쪏" ; + "쯠" => "쪐" ; + "쯡" => "쪑" ; + "쯢" => "쪒" ; + "쯣" => "쪓" ; + "쯤" => "쪔" ; + "쯥" => "쪕" ; + "쯦" => "쪖" ; + "쯧" => "쪗" ; + "쯨" => "쪘" ; + "쯩" => "쪙" ; + "쯪" => "쪚" ; + "쯫" => "쪛" ; + "쯬" => "쪜" ; + "쯭" => "쪝" ; + "쯮" => "쪞" ; + "쯯" => "쪟" ; + "츠" => "쳐" ; + "측" => "쳑" ; + "츢" => "쳒" ; + "츣" => "쳓" ; + "츤" => "쳔" ; + "츥" => "쳕" ; + "츦" => "쳖" ; + "츧" => "쳗" ; + "츨" => "쳘" ; + "츩" => "쳙" ; + "츪" => "쳚" ; + "츫" => "쳛" ; + "츬" => "쳜" ; + "츭" => "쳝" ; + "츮" => "쳞" ; + "츯" => "쳟" ; + "츰" => "쳠" ; + "츱" => "쳡" ; + "츲" => "쳢" ; + "츳" => "쳣" ; + "츴" => "쳤" ; + "층" => "쳥" ; + "츶" => "쳦" ; + "츷" => "쳧" ; + "츸" => "쳨" ; + "츹" => "쳩" ; + "츺" => "쳪" ; + "츻" => "쳫" ; + "크" => "켜" ; + "큭" => "켝" ; + "큮" => "켞" ; + "큯" => "켟" ; + "큰" => "켠" ; + "큱" => "켡" ; + "큲" => "켢" ; + "큳" => "켣" ; + "클" => "켤" ; + "큵" => "켥" ; + "큶" => "켦" ; + "큷" => "켧" ; + "큸" => "켨" ; + "큹" => "켩" ; + "큺" => "켪" ; + "큻" => "켫" ; + "큼" => "켬" ; + "큽" => "켭" ; + "큾" => "켮" ; + "큿" => "켯" ; + "킀" => "켰" ; + "킁" => "켱" ; + "킂" => "켲" ; + "킃" => "켳" ; + "킄" => "켴" ; + "킅" => "켵" ; + "킆" => "켶" ; + "킇" => "켷" ; + "트" => "텨" ; + "특" => "텩" ; + "튺" => "텪" ; + "튻" => "텫" ; + "튼" => "텬" ; + "튽" => "텭" ; + "튾" => "텮" ; + "튿" => "텯" ; + "틀" => "텰" ; + "틁" => "텱" ; + "틂" => "텲" ; + "틃" => "텳" ; + "틄" => "텴" ; + "틅" => "텵" ; + "틆" => "텶" ; + "틇" => "텷" ; + "틈" => "텸" ; + "틉" => "텹" ; + "틊" => "텺" ; + "틋" => "텻" ; + "틌" => "텼" ; + "틍" => "텽" ; + "틎" => "텾" ; + "틏" => "텿" ; + "틐" => "톀" ; + "틑" => "톁" ; + "틒" => "톂" ; + "틓" => "톃" ; + "프" => "펴" ; + "픅" => "펵" ; + "픆" => "펶" ; + "픇" => "펷" ; + "픈" => "편" ; + "픉" => "펹" ; + "픊" => "펺" ; + "픋" => "펻" ; + "플" => "펼" ; + "픍" => "펽" ; + "픎" => "펾" ; + "픏" => "펿" ; + "픐" => "폀" ; + "픑" => "폁" ; + "픒" => "폂" ; + "픓" => "폃" ; + "픔" => "폄" ; + "픕" => "폅" ; + "픖" => "폆" ; + "픗" => "폇" ; + "픘" => "폈" ; + "픙" => "평" ; + "픚" => "폊" ; + "픛" => "폋" ; + "픜" => "폌" ; + "픝" => "폍" ; + "픞" => "폎" ; + "픟" => "폏" ; + "흐" => "혀" ; + "흑" => "혁" ; + "흒" => "혂" ; + "흓" => "혃" ; + "흔" => "현" ; + "흕" => "혅" ; + "흖" => "혆" ; + "흗" => "혇" ; + "흘" => "혈" ; + "흙" => "혉" ; + "흚" => "혊" ; + "흛" => "혋" ; + "흜" => "혌" ; + "흝" => "혍" ; + "흞" => "혎" ; + "흟" => "혏" ; + "흠" => "혐" ; + "흡" => "협" ; + "흢" => "혒" ; + "흣" => "혓" ; + "흤" => "혔" ; + "흥" => "형" ; + "흦" => "혖" ; + "흧" => "혗" ; + "흨" => "혘" ; + "흩" => "혙" ; + "흪" => "혚" ; + "흫" => "혛" }; + "예" => case syl of { + "그" => "계" ; + "극" => "곅" ; + "귺" => "곆" ; + "귻" => "곇" ; + "근" => "곈" ; + "귽" => "곉" ; + "귾" => "곊" ; + "귿" => "곋" ; + "글" => "곌" ; + "긁" => "곍" ; + "긂" => "곎" ; + "긃" => "곏" ; + "긄" => "곐" ; + "긅" => "곑" ; + "긆" => "곒" ; + "긇" => "곓" ; + "금" => "곔" ; + "급" => "곕" ; + "긊" => "곖" ; + "긋" => "곗" ; + "긌" => "곘" ; + "긍" => "곙" ; + "긎" => "곚" ; + "긏" => "곛" ; + "긐" => "곜" ; + "긑" => "곝" ; + "긒" => "곞" ; + "긓" => "곟" ; + "끄" => "꼐" ; + "끅" => "꼑" ; + "끆" => "꼒" ; + "끇" => "꼓" ; + "끈" => "꼔" ; + "끉" => "꼕" ; + "끊" => "꼖" ; + "끋" => "꼗" ; + "끌" => "꼘" ; + "끍" => "꼙" ; + "끎" => "꼚" ; + "끏" => "꼛" ; + "끐" => "꼜" ; + "끑" => "꼝" ; + "끒" => "꼞" ; + "끓" => "꼟" ; + "끔" => "꼠" ; + "끕" => "꼡" ; + "끖" => "꼢" ; + "끗" => "꼣" ; + "끘" => "꼤" ; + "끙" => "꼥" ; + "끚" => "꼦" ; + "끛" => "꼧" ; + "끜" => "꼨" ; + "끝" => "꼩" ; + "끞" => "꼪" ; + "끟" => "꼫" ; + "느" => "녜" ; + "늑" => "녝" ; + "늒" => "녞" ; + "늓" => "녟" ; + "는" => "녠" ; + "늕" => "녡" ; + "늖" => "녢" ; + "늗" => "녣" ; + "늘" => "녤" ; + "늙" => "녥" ; + "늚" => "녦" ; + "늛" => "녧" ; + "늜" => "녨" ; + "늝" => "녩" ; + "늞" => "녪" ; + "늟" => "녫" ; + "늠" => "녬" ; + "늡" => "녭" ; + "늢" => "녮" ; + "늣" => "녯" ; + "늤" => "녰" ; + "능" => "녱" ; + "늦" => "녲" ; + "늧" => "녳" ; + "늨" => "녴" ; + "늩" => "녵" ; + "늪" => "녶" ; + "늫" => "녷" ; + "드" => "뎨" ; + "득" => "뎩" ; + "듞" => "뎪" ; + "듟" => "뎫" ; + "든" => "뎬" ; + "듡" => "뎭" ; + "듢" => "뎮" ; + "듣" => "뎯" ; + "들" => "뎰" ; + "듥" => "뎱" ; + "듦" => "뎲" ; + "듧" => "뎳" ; + "듨" => "뎴" ; + "듩" => "뎵" ; + "듪" => "뎶" ; + "듫" => "뎷" ; + "듬" => "뎸" ; + "듭" => "뎹" ; + "듮" => "뎺" ; + "듯" => "뎻" ; + "듰" => "뎼" ; + "등" => "뎽" ; + "듲" => "뎾" ; + "듳" => "뎿" ; + "듴" => "돀" ; + "듵" => "돁" ; + "듶" => "돂" ; + "듷" => "돃" ; + "뜨" => "뗴" ; + "뜩" => "뗵" ; + "뜪" => "뗶" ; + "뜫" => "뗷" ; + "뜬" => "뗸" ; + "뜭" => "뗹" ; + "뜮" => "뗺" ; + "뜯" => "뗻" ; + "뜰" => "뗼" ; + "뜱" => "뗽" ; + "뜲" => "뗾" ; + "뜳" => "뗿" ; + "뜴" => "똀" ; + "뜵" => "똁" ; + "뜶" => "똂" ; + "뜷" => "똃" ; + "뜸" => "똄" ; + "뜹" => "똅" ; + "뜺" => "똆" ; + "뜻" => "똇" ; + "뜼" => "똈" ; + "뜽" => "똉" ; + "뜾" => "똊" ; + "뜿" => "똋" ; + "띀" => "똌" ; + "띁" => "똍" ; + "띂" => "똎" ; + "띃" => "똏" ; + "르" => "례" ; + "륵" => "롁" ; + "륶" => "롂" ; + "륷" => "롃" ; + "른" => "롄" ; + "륹" => "롅" ; + "륺" => "롆" ; + "륻" => "롇" ; + "를" => "롈" ; + "륽" => "롉" ; + "륾" => "롊" ; + "륿" => "롋" ; + "릀" => "롌" ; + "릁" => "롍" ; + "릂" => "롎" ; + "릃" => "롏" ; + "름" => "롐" ; + "릅" => "롑" ; + "릆" => "롒" ; + "릇" => "롓" ; + "릈" => "롔" ; + "릉" => "롕" ; + "릊" => "롖" ; + "릋" => "롗" ; + "릌" => "롘" ; + "릍" => "롙" ; + "릎" => "롚" ; + "릏" => "롛" ; + "므" => "몌" ; + "믁" => "몍" ; + "믂" => "몎" ; + "믃" => "몏" ; + "믄" => "몐" ; + "믅" => "몑" ; + "믆" => "몒" ; + "믇" => "몓" ; + "믈" => "몔" ; + "믉" => "몕" ; + "믊" => "몖" ; + "믋" => "몗" ; + "믌" => "몘" ; + "믍" => "몙" ; + "믎" => "몚" ; + "믏" => "몛" ; + "믐" => "몜" ; + "믑" => "몝" ; + "믒" => "몞" ; + "믓" => "몟" ; + "믔" => "몠" ; + "믕" => "몡" ; + "믖" => "몢" ; + "믗" => "몣" ; + "믘" => "몤" ; + "믙" => "몥" ; + "믚" => "몦" ; + "믛" => "몧" ; + "브" => "볘" ; + "븍" => "볙" ; + "븎" => "볚" ; + "븏" => "볛" ; + "븐" => "볜" ; + "븑" => "볝" ; + "븒" => "볞" ; + "븓" => "볟" ; + "블" => "볠" ; + "븕" => "볡" ; + "븖" => "볢" ; + "븗" => "볣" ; + "븘" => "볤" ; + "븙" => "볥" ; + "븚" => "볦" ; + "븛" => "볧" ; + "븜" => "볨" ; + "븝" => "볩" ; + "븞" => "볪" ; + "븟" => "볫" ; + "븠" => "볬" ; + "븡" => "볭" ; + "븢" => "볮" ; + "븣" => "볯" ; + "븤" => "볰" ; + "븥" => "볱" ; + "븦" => "볲" ; + "븧" => "볳" ; + "쁘" => "뼤" ; + "쁙" => "뼥" ; + "쁚" => "뼦" ; + "쁛" => "뼧" ; + "쁜" => "뼨" ; + "쁝" => "뼩" ; + "쁞" => "뼪" ; + "쁟" => "뼫" ; + "쁠" => "뼬" ; + "쁡" => "뼭" ; + "쁢" => "뼮" ; + "쁣" => "뼯" ; + "쁤" => "뼰" ; + "쁥" => "뼱" ; + "쁦" => "뼲" ; + "쁧" => "뼳" ; + "쁨" => "뼴" ; + "쁩" => "뼵" ; + "쁪" => "뼶" ; + "쁫" => "뼷" ; + "쁬" => "뼸" ; + "쁭" => "뼹" ; + "쁮" => "뼺" ; + "쁯" => "뼻" ; + "쁰" => "뼼" ; + "쁱" => "뼽" ; + "쁲" => "뼾" ; + "쁳" => "뼿" ; + "스" => "셰" ; + "슥" => "셱" ; + "슦" => "셲" ; + "슧" => "셳" ; + "슨" => "셴" ; + "슩" => "셵" ; + "슪" => "셶" ; + "슫" => "셷" ; + "슬" => "셸" ; + "슭" => "셹" ; + "슮" => "셺" ; + "슯" => "셻" ; + "슰" => "셼" ; + "슱" => "셽" ; + "슲" => "셾" ; + "슳" => "셿" ; + "슴" => "솀" ; + "습" => "솁" ; + "슶" => "솂" ; + "슷" => "솃" ; + "슸" => "솄" ; + "승" => "솅" ; + "슺" => "솆" ; + "슻" => "솇" ; + "슼" => "솈" ; + "슽" => "솉" ; + "슾" => "솊" ; + "슿" => "솋" ; + "쓰" => "쎼" ; + "쓱" => "쎽" ; + "쓲" => "쎾" ; + "쓳" => "쎿" ; + "쓴" => "쏀" ; + "쓵" => "쏁" ; + "쓶" => "쏂" ; + "쓷" => "쏃" ; + "쓸" => "쏄" ; + "쓹" => "쏅" ; + "쓺" => "쏆" ; + "쓻" => "쏇" ; + "쓼" => "쏈" ; + "쓽" => "쏉" ; + "쓾" => "쏊" ; + "쓿" => "쏋" ; + "씀" => "쏌" ; + "씁" => "쏍" ; + "씂" => "쏎" ; + "씃" => "쏏" ; + "씄" => "쏐" ; + "씅" => "쏑" ; + "씆" => "쏒" ; + "씇" => "쏓" ; + "씈" => "쏔" ; + "씉" => "쏕" ; + "씊" => "쏖" ; + "씋" => "쏗" ; + "으" => "예" ; + "윽" => "옉" ; + "윾" => "옊" ; + "윿" => "옋" ; + "은" => "옌" ; + "읁" => "옍" ; + "읂" => "옎" ; + "읃" => "옏" ; + "을" => "옐" ; + "읅" => "옑" ; + "읆" => "옒" ; + "읇" => "옓" ; + "읈" => "옔" ; + "읉" => "옕" ; + "읊" => "옖" ; + "읋" => "옗" ; + "음" => "옘" ; + "읍" => "옙" ; + "읎" => "옚" ; + "읏" => "옛" ; + "읐" => "옜" ; + "응" => "옝" ; + "읒" => "옞" ; + "읓" => "옟" ; + "읔" => "옠" ; + "읕" => "옡" ; + "읖" => "옢" ; + "읗" => "옣" ; + "즈" => "졔" ; + "즉" => "졕" ; + "즊" => "졖" ; + "즋" => "졗" ; + "즌" => "졘" ; + "즍" => "졙" ; + "즎" => "졚" ; + "즏" => "졛" ; + "즐" => "졜" ; + "즑" => "졝" ; + "즒" => "졞" ; + "즓" => "졟" ; + "즔" => "졠" ; + "즕" => "졡" ; + "즖" => "졢" ; + "즗" => "졣" ; + "즘" => "졤" ; + "즙" => "졥" ; + "즚" => "졦" ; + "즛" => "졧" ; + "즜" => "졨" ; + "증" => "졩" ; + "즞" => "졪" ; + "즟" => "졫" ; + "즠" => "졬" ; + "즡" => "졭" ; + "즢" => "졮" ; + "즣" => "졯" ; + "쯔" => "쪠" ; + "쯕" => "쪡" ; + "쯖" => "쪢" ; + "쯗" => "쪣" ; + "쯘" => "쪤" ; + "쯙" => "쪥" ; + "쯚" => "쪦" ; + "쯛" => "쪧" ; + "쯜" => "쪨" ; + "쯝" => "쪩" ; + "쯞" => "쪪" ; + "쯟" => "쪫" ; + "쯠" => "쪬" ; + "쯡" => "쪭" ; + "쯢" => "쪮" ; + "쯣" => "쪯" ; + "쯤" => "쪰" ; + "쯥" => "쪱" ; + "쯦" => "쪲" ; + "쯧" => "쪳" ; + "쯨" => "쪴" ; + "쯩" => "쪵" ; + "쯪" => "쪶" ; + "쯫" => "쪷" ; + "쯬" => "쪸" ; + "쯭" => "쪹" ; + "쯮" => "쪺" ; + "쯯" => "쪻" ; + "츠" => "쳬" ; + "측" => "쳭" ; + "츢" => "쳮" ; + "츣" => "쳯" ; + "츤" => "쳰" ; + "츥" => "쳱" ; + "츦" => "쳲" ; + "츧" => "쳳" ; + "츨" => "쳴" ; + "츩" => "쳵" ; + "츪" => "쳶" ; + "츫" => "쳷" ; + "츬" => "쳸" ; + "츭" => "쳹" ; + "츮" => "쳺" ; + "츯" => "쳻" ; + "츰" => "쳼" ; + "츱" => "쳽" ; + "츲" => "쳾" ; + "츳" => "쳿" ; + "츴" => "촀" ; + "층" => "촁" ; + "츶" => "촂" ; + "츷" => "촃" ; + "츸" => "촄" ; + "츹" => "촅" ; + "츺" => "촆" ; + "츻" => "촇" ; + "크" => "켸" ; + "큭" => "켹" ; + "큮" => "켺" ; + "큯" => "켻" ; + "큰" => "켼" ; + "큱" => "켽" ; + "큲" => "켾" ; + "큳" => "켿" ; + "클" => "콀" ; + "큵" => "콁" ; + "큶" => "콂" ; + "큷" => "콃" ; + "큸" => "콄" ; + "큹" => "콅" ; + "큺" => "콆" ; + "큻" => "콇" ; + "큼" => "콈" ; + "큽" => "콉" ; + "큾" => "콊" ; + "큿" => "콋" ; + "킀" => "콌" ; + "킁" => "콍" ; + "킂" => "콎" ; + "킃" => "콏" ; + "킄" => "콐" ; + "킅" => "콑" ; + "킆" => "콒" ; + "킇" => "콓" ; + "트" => "톄" ; + "특" => "톅" ; + "튺" => "톆" ; + "튻" => "톇" ; + "튼" => "톈" ; + "튽" => "톉" ; + "튾" => "톊" ; + "튿" => "톋" ; + "틀" => "톌" ; + "틁" => "톍" ; + "틂" => "톎" ; + "틃" => "톏" ; + "틄" => "톐" ; + "틅" => "톑" ; + "틆" => "톒" ; + "틇" => "톓" ; + "틈" => "톔" ; + "틉" => "톕" ; + "틊" => "톖" ; + "틋" => "톗" ; + "틌" => "톘" ; + "틍" => "톙" ; + "틎" => "톚" ; + "틏" => "톛" ; + "틐" => "톜" ; + "틑" => "톝" ; + "틒" => "톞" ; + "틓" => "톟" ; + "프" => "폐" ; + "픅" => "폑" ; + "픆" => "폒" ; + "픇" => "폓" ; + "픈" => "폔" ; + "픉" => "폕" ; + "픊" => "폖" ; + "픋" => "폗" ; + "플" => "폘" ; + "픍" => "폙" ; + "픎" => "폚" ; + "픏" => "폛" ; + "픐" => "폜" ; + "픑" => "폝" ; + "픒" => "폞" ; + "픓" => "폟" ; + "픔" => "폠" ; + "픕" => "폡" ; + "픖" => "폢" ; + "픗" => "폣" ; + "픘" => "폤" ; + "픙" => "폥" ; + "픚" => "폦" ; + "픛" => "폧" ; + "픜" => "폨" ; + "픝" => "폩" ; + "픞" => "폪" ; + "픟" => "폫" ; + "흐" => "혜" ; + "흑" => "혝" ; + "흒" => "혞" ; + "흓" => "혟" ; + "흔" => "혠" ; + "흕" => "혡" ; + "흖" => "혢" ; + "흗" => "혣" ; + "흘" => "혤" ; + "흙" => "혥" ; + "흚" => "혦" ; + "흛" => "혧" ; + "흜" => "혨" ; + "흝" => "혩" ; + "흞" => "혪" ; + "흟" => "혫" ; + "흠" => "혬" ; + "흡" => "혭" ; + "흢" => "혮" ; + "흣" => "혯" ; + "흤" => "혰" ; + "흥" => "혱" ; + "흦" => "혲" ; + "흧" => "혳" ; + "흨" => "혴" ; + "흩" => "혵" ; + "흪" => "혶" ; + "흫" => "혷" }; + "오" => case syl of { + "그" => "고" ; + "극" => "곡" ; + "귺" => "곢" ; + "귻" => "곣" ; + "근" => "곤" ; + "귽" => "곥" ; + "귾" => "곦" ; + "귿" => "곧" ; + "글" => "골" ; + "긁" => "곩" ; + "긂" => "곪" ; + "긃" => "곫" ; + "긄" => "곬" ; + "긅" => "곭" ; + "긆" => "곮" ; + "긇" => "곯" ; + "금" => "곰" ; + "급" => "곱" ; + "긊" => "곲" ; + "긋" => "곳" ; + "긌" => "곴" ; + "긍" => "공" ; + "긎" => "곶" ; + "긏" => "곷" ; + "긐" => "곸" ; + "긑" => "곹" ; + "긒" => "곺" ; + "긓" => "곻" ; + "끄" => "꼬" ; + "끅" => "꼭" ; + "끆" => "꼮" ; + "끇" => "꼯" ; + "끈" => "꼰" ; + "끉" => "꼱" ; + "끊" => "꼲" ; + "끋" => "꼳" ; + "끌" => "꼴" ; + "끍" => "꼵" ; + "끎" => "꼶" ; + "끏" => "꼷" ; + "끐" => "꼸" ; + "끑" => "꼹" ; + "끒" => "꼺" ; + "끓" => "꼻" ; + "끔" => "꼼" ; + "끕" => "꼽" ; + "끖" => "꼾" ; + "끗" => "꼿" ; + "끘" => "꽀" ; + "끙" => "꽁" ; + "끚" => "꽂" ; + "끛" => "꽃" ; + "끜" => "꽄" ; + "끝" => "꽅" ; + "끞" => "꽆" ; + "끟" => "꽇" ; + "느" => "노" ; + "늑" => "녹" ; + "늒" => "녺" ; + "늓" => "녻" ; + "는" => "논" ; + "늕" => "녽" ; + "늖" => "녾" ; + "늗" => "녿" ; + "늘" => "놀" ; + "늙" => "놁" ; + "늚" => "놂" ; + "늛" => "놃" ; + "늜" => "놄" ; + "늝" => "놅" ; + "늞" => "놆" ; + "늟" => "놇" ; + "늠" => "놈" ; + "늡" => "놉" ; + "늢" => "놊" ; + "늣" => "놋" ; + "늤" => "놌" ; + "능" => "농" ; + "늦" => "놎" ; + "늧" => "놏" ; + "늨" => "놐" ; + "늩" => "놑" ; + "늪" => "높" ; + "늫" => "놓" ; + "드" => "도" ; + "득" => "독" ; + "듞" => "돆" ; + "듟" => "돇" ; + "든" => "돈" ; + "듡" => "돉" ; + "듢" => "돊" ; + "듣" => "돋" ; + "들" => "돌" ; + "듥" => "돍" ; + "듦" => "돎" ; + "듧" => "돏" ; + "듨" => "돐" ; + "듩" => "돑" ; + "듪" => "돒" ; + "듫" => "돓" ; + "듬" => "돔" ; + "듭" => "돕" ; + "듮" => "돖" ; + "듯" => "돗" ; + "듰" => "돘" ; + "등" => "동" ; + "듲" => "돚" ; + "듳" => "돛" ; + "듴" => "돜" ; + "듵" => "돝" ; + "듶" => "돞" ; + "듷" => "돟" ; + "뜨" => "또" ; + "뜩" => "똑" ; + "뜪" => "똒" ; + "뜫" => "똓" ; + "뜬" => "똔" ; + "뜭" => "똕" ; + "뜮" => "똖" ; + "뜯" => "똗" ; + "뜰" => "똘" ; + "뜱" => "똙" ; + "뜲" => "똚" ; + "뜳" => "똛" ; + "뜴" => "똜" ; + "뜵" => "똝" ; + "뜶" => "똞" ; + "뜷" => "똟" ; + "뜸" => "똠" ; + "뜹" => "똡" ; + "뜺" => "똢" ; + "뜻" => "똣" ; + "뜼" => "똤" ; + "뜽" => "똥" ; + "뜾" => "똦" ; + "뜿" => "똧" ; + "띀" => "똨" ; + "띁" => "똩" ; + "띂" => "똪" ; + "띃" => "똫" ; + "르" => "로" ; + "륵" => "록" ; + "륶" => "롞" ; + "륷" => "롟" ; + "른" => "론" ; + "륹" => "롡" ; + "륺" => "롢" ; + "륻" => "롣" ; + "를" => "롤" ; + "륽" => "롥" ; + "륾" => "롦" ; + "륿" => "롧" ; + "릀" => "롨" ; + "릁" => "롩" ; + "릂" => "롪" ; + "릃" => "롫" ; + "름" => "롬" ; + "릅" => "롭" ; + "릆" => "롮" ; + "릇" => "롯" ; + "릈" => "롰" ; + "릉" => "롱" ; + "릊" => "롲" ; + "릋" => "롳" ; + "릌" => "롴" ; + "릍" => "롵" ; + "릎" => "롶" ; + "릏" => "롷" ; + "므" => "모" ; + "믁" => "목" ; + "믂" => "몪" ; + "믃" => "몫" ; + "믄" => "몬" ; + "믅" => "몭" ; + "믆" => "몮" ; + "믇" => "몯" ; + "믈" => "몰" ; + "믉" => "몱" ; + "믊" => "몲" ; + "믋" => "몳" ; + "믌" => "몴" ; + "믍" => "몵" ; + "믎" => "몶" ; + "믏" => "몷" ; + "믐" => "몸" ; + "믑" => "몹" ; + "믒" => "몺" ; + "믓" => "못" ; + "믔" => "몼" ; + "믕" => "몽" ; + "믖" => "몾" ; + "믗" => "몿" ; + "믘" => "뫀" ; + "믙" => "뫁" ; + "믚" => "뫂" ; + "믛" => "뫃" ; + "브" => "보" ; + "븍" => "복" ; + "븎" => "볶" ; + "븏" => "볷" ; + "븐" => "본" ; + "븑" => "볹" ; + "븒" => "볺" ; + "븓" => "볻" ; + "블" => "볼" ; + "븕" => "볽" ; + "븖" => "볾" ; + "븗" => "볿" ; + "븘" => "봀" ; + "븙" => "봁" ; + "븚" => "봂" ; + "븛" => "봃" ; + "븜" => "봄" ; + "븝" => "봅" ; + "븞" => "봆" ; + "븟" => "봇" ; + "븠" => "봈" ; + "븡" => "봉" ; + "븢" => "봊" ; + "븣" => "봋" ; + "븤" => "봌" ; + "븥" => "봍" ; + "븦" => "봎" ; + "븧" => "봏" ; + "쁘" => "뽀" ; + "쁙" => "뽁" ; + "쁚" => "뽂" ; + "쁛" => "뽃" ; + "쁜" => "뽄" ; + "쁝" => "뽅" ; + "쁞" => "뽆" ; + "쁟" => "뽇" ; + "쁠" => "뽈" ; + "쁡" => "뽉" ; + "쁢" => "뽊" ; + "쁣" => "뽋" ; + "쁤" => "뽌" ; + "쁥" => "뽍" ; + "쁦" => "뽎" ; + "쁧" => "뽏" ; + "쁨" => "뽐" ; + "쁩" => "뽑" ; + "쁪" => "뽒" ; + "쁫" => "뽓" ; + "쁬" => "뽔" ; + "쁭" => "뽕" ; + "쁮" => "뽖" ; + "쁯" => "뽗" ; + "쁰" => "뽘" ; + "쁱" => "뽙" ; + "쁲" => "뽚" ; + "쁳" => "뽛" ; + "스" => "소" ; + "슥" => "속" ; + "슦" => "솎" ; + "슧" => "솏" ; + "슨" => "손" ; + "슩" => "솑" ; + "슪" => "솒" ; + "슫" => "솓" ; + "슬" => "솔" ; + "슭" => "솕" ; + "슮" => "솖" ; + "슯" => "솗" ; + "슰" => "솘" ; + "슱" => "솙" ; + "슲" => "솚" ; + "슳" => "솛" ; + "슴" => "솜" ; + "습" => "솝" ; + "슶" => "솞" ; + "슷" => "솟" ; + "슸" => "솠" ; + "승" => "송" ; + "슺" => "솢" ; + "슻" => "솣" ; + "슼" => "솤" ; + "슽" => "솥" ; + "슾" => "솦" ; + "슿" => "솧" ; + "쓰" => "쏘" ; + "쓱" => "쏙" ; + "쓲" => "쏚" ; + "쓳" => "쏛" ; + "쓴" => "쏜" ; + "쓵" => "쏝" ; + "쓶" => "쏞" ; + "쓷" => "쏟" ; + "쓸" => "쏠" ; + "쓹" => "쏡" ; + "쓺" => "쏢" ; + "쓻" => "쏣" ; + "쓼" => "쏤" ; + "쓽" => "쏥" ; + "쓾" => "쏦" ; + "쓿" => "쏧" ; + "씀" => "쏨" ; + "씁" => "쏩" ; + "씂" => "쏪" ; + "씃" => "쏫" ; + "씄" => "쏬" ; + "씅" => "쏭" ; + "씆" => "쏮" ; + "씇" => "쏯" ; + "씈" => "쏰" ; + "씉" => "쏱" ; + "씊" => "쏲" ; + "씋" => "쏳" ; + "으" => "오" ; + "윽" => "옥" ; + "윾" => "옦" ; + "윿" => "옧" ; + "은" => "온" ; + "읁" => "옩" ; + "읂" => "옪" ; + "읃" => "옫" ; + "을" => "올" ; + "읅" => "옭" ; + "읆" => "옮" ; + "읇" => "옯" ; + "읈" => "옰" ; + "읉" => "옱" ; + "읊" => "옲" ; + "읋" => "옳" ; + "음" => "옴" ; + "읍" => "옵" ; + "읎" => "옶" ; + "읏" => "옷" ; + "읐" => "옸" ; + "응" => "옹" ; + "읒" => "옺" ; + "읓" => "옻" ; + "읔" => "옼" ; + "읕" => "옽" ; + "읖" => "옾" ; + "읗" => "옿" ; + "즈" => "조" ; + "즉" => "족" ; + "즊" => "졲" ; + "즋" => "졳" ; + "즌" => "존" ; + "즍" => "졵" ; + "즎" => "졶" ; + "즏" => "졷" ; + "즐" => "졸" ; + "즑" => "졹" ; + "즒" => "졺" ; + "즓" => "졻" ; + "즔" => "졼" ; + "즕" => "졽" ; + "즖" => "졾" ; + "즗" => "졿" ; + "즘" => "좀" ; + "즙" => "좁" ; + "즚" => "좂" ; + "즛" => "좃" ; + "즜" => "좄" ; + "증" => "종" ; + "즞" => "좆" ; + "즟" => "좇" ; + "즠" => "좈" ; + "즡" => "좉" ; + "즢" => "좊" ; + "즣" => "좋" ; + "쯔" => "쪼" ; + "쯕" => "쪽" ; + "쯖" => "쪾" ; + "쯗" => "쪿" ; + "쯘" => "쫀" ; + "쯙" => "쫁" ; + "쯚" => "쫂" ; + "쯛" => "쫃" ; + "쯜" => "쫄" ; + "쯝" => "쫅" ; + "쯞" => "쫆" ; + "쯟" => "쫇" ; + "쯠" => "쫈" ; + "쯡" => "쫉" ; + "쯢" => "쫊" ; + "쯣" => "쫋" ; + "쯤" => "쫌" ; + "쯥" => "쫍" ; + "쯦" => "쫎" ; + "쯧" => "쫏" ; + "쯨" => "쫐" ; + "쯩" => "쫑" ; + "쯪" => "쫒" ; + "쯫" => "쫓" ; + "쯬" => "쫔" ; + "쯭" => "쫕" ; + "쯮" => "쫖" ; + "쯯" => "쫗" ; + "츠" => "초" ; + "측" => "촉" ; + "츢" => "촊" ; + "츣" => "촋" ; + "츤" => "촌" ; + "츥" => "촍" ; + "츦" => "촎" ; + "츧" => "촏" ; + "츨" => "촐" ; + "츩" => "촑" ; + "츪" => "촒" ; + "츫" => "촓" ; + "츬" => "촔" ; + "츭" => "촕" ; + "츮" => "촖" ; + "츯" => "촗" ; + "츰" => "촘" ; + "츱" => "촙" ; + "츲" => "촚" ; + "츳" => "촛" ; + "츴" => "촜" ; + "층" => "총" ; + "츶" => "촞" ; + "츷" => "촟" ; + "츸" => "촠" ; + "츹" => "촡" ; + "츺" => "촢" ; + "츻" => "촣" ; + "크" => "코" ; + "큭" => "콕" ; + "큮" => "콖" ; + "큯" => "콗" ; + "큰" => "콘" ; + "큱" => "콙" ; + "큲" => "콚" ; + "큳" => "콛" ; + "클" => "콜" ; + "큵" => "콝" ; + "큶" => "콞" ; + "큷" => "콟" ; + "큸" => "콠" ; + "큹" => "콡" ; + "큺" => "콢" ; + "큻" => "콣" ; + "큼" => "콤" ; + "큽" => "콥" ; + "큾" => "콦" ; + "큿" => "콧" ; + "킀" => "콨" ; + "킁" => "콩" ; + "킂" => "콪" ; + "킃" => "콫" ; + "킄" => "콬" ; + "킅" => "콭" ; + "킆" => "콮" ; + "킇" => "콯" ; + "트" => "토" ; + "특" => "톡" ; + "튺" => "톢" ; + "튻" => "톣" ; + "튼" => "톤" ; + "튽" => "톥" ; + "튾" => "톦" ; + "튿" => "톧" ; + "틀" => "톨" ; + "틁" => "톩" ; + "틂" => "톪" ; + "틃" => "톫" ; + "틄" => "톬" ; + "틅" => "톭" ; + "틆" => "톮" ; + "틇" => "톯" ; + "틈" => "톰" ; + "틉" => "톱" ; + "틊" => "톲" ; + "틋" => "톳" ; + "틌" => "톴" ; + "틍" => "통" ; + "틎" => "톶" ; + "틏" => "톷" ; + "틐" => "톸" ; + "틑" => "톹" ; + "틒" => "톺" ; + "틓" => "톻" ; + "프" => "포" ; + "픅" => "폭" ; + "픆" => "폮" ; + "픇" => "폯" ; + "픈" => "폰" ; + "픉" => "폱" ; + "픊" => "폲" ; + "픋" => "폳" ; + "플" => "폴" ; + "픍" => "폵" ; + "픎" => "폶" ; + "픏" => "폷" ; + "픐" => "폸" ; + "픑" => "폹" ; + "픒" => "폺" ; + "픓" => "폻" ; + "픔" => "폼" ; + "픕" => "폽" ; + "픖" => "폾" ; + "픗" => "폿" ; + "픘" => "퐀" ; + "픙" => "퐁" ; + "픚" => "퐂" ; + "픛" => "퐃" ; + "픜" => "퐄" ; + "픝" => "퐅" ; + "픞" => "퐆" ; + "픟" => "퐇" ; + "흐" => "호" ; + "흑" => "혹" ; + "흒" => "혺" ; + "흓" => "혻" ; + "흔" => "혼" ; + "흕" => "혽" ; + "흖" => "혾" ; + "흗" => "혿" ; + "흘" => "홀" ; + "흙" => "홁" ; + "흚" => "홂" ; + "흛" => "홃" ; + "흜" => "홄" ; + "흝" => "홅" ; + "흞" => "홆" ; + "흟" => "홇" ; + "흠" => "홈" ; + "흡" => "홉" ; + "흢" => "홊" ; + "흣" => "홋" ; + "흤" => "홌" ; + "흥" => "홍" ; + "흦" => "홎" ; + "흧" => "홏" ; + "흨" => "홐" ; + "흩" => "홑" ; + "흪" => "홒" ; + "흫" => "홓" }; + "와" => case syl of { + "그" => "과" ; + "극" => "곽" ; + "귺" => "곾" ; + "귻" => "곿" ; + "근" => "관" ; + "귽" => "괁" ; + "귾" => "괂" ; + "귿" => "괃" ; + "글" => "괄" ; + "긁" => "괅" ; + "긂" => "괆" ; + "긃" => "괇" ; + "긄" => "괈" ; + "긅" => "괉" ; + "긆" => "괊" ; + "긇" => "괋" ; + "금" => "괌" ; + "급" => "괍" ; + "긊" => "괎" ; + "긋" => "괏" ; + "긌" => "괐" ; + "긍" => "광" ; + "긎" => "괒" ; + "긏" => "괓" ; + "긐" => "괔" ; + "긑" => "괕" ; + "긒" => "괖" ; + "긓" => "괗" ; + "끄" => "꽈" ; + "끅" => "꽉" ; + "끆" => "꽊" ; + "끇" => "꽋" ; + "끈" => "꽌" ; + "끉" => "꽍" ; + "끊" => "꽎" ; + "끋" => "꽏" ; + "끌" => "꽐" ; + "끍" => "꽑" ; + "끎" => "꽒" ; + "끏" => "꽓" ; + "끐" => "꽔" ; + "끑" => "꽕" ; + "끒" => "꽖" ; + "끓" => "꽗" ; + "끔" => "꽘" ; + "끕" => "꽙" ; + "끖" => "꽚" ; + "끗" => "꽛" ; + "끘" => "꽜" ; + "끙" => "꽝" ; + "끚" => "꽞" ; + "끛" => "꽟" ; + "끜" => "꽠" ; + "끝" => "꽡" ; + "끞" => "꽢" ; + "끟" => "꽣" ; + "느" => "놔" ; + "늑" => "놕" ; + "늒" => "놖" ; + "늓" => "놗" ; + "는" => "놘" ; + "늕" => "놙" ; + "늖" => "놚" ; + "늗" => "놛" ; + "늘" => "놜" ; + "늙" => "놝" ; + "늚" => "놞" ; + "늛" => "놟" ; + "늜" => "놠" ; + "늝" => "놡" ; + "늞" => "놢" ; + "늟" => "놣" ; + "늠" => "놤" ; + "늡" => "놥" ; + "늢" => "놦" ; + "늣" => "놧" ; + "늤" => "놨" ; + "능" => "놩" ; + "늦" => "놪" ; + "늧" => "놫" ; + "늨" => "놬" ; + "늩" => "놭" ; + "늪" => "놮" ; + "늫" => "놯" ; + "드" => "돠" ; + "득" => "돡" ; + "듞" => "돢" ; + "듟" => "돣" ; + "든" => "돤" ; + "듡" => "돥" ; + "듢" => "돦" ; + "듣" => "돧" ; + "들" => "돨" ; + "듥" => "돩" ; + "듦" => "돪" ; + "듧" => "돫" ; + "듨" => "돬" ; + "듩" => "돭" ; + "듪" => "돮" ; + "듫" => "돯" ; + "듬" => "돰" ; + "듭" => "돱" ; + "듮" => "돲" ; + "듯" => "돳" ; + "듰" => "돴" ; + "등" => "돵" ; + "듲" => "돶" ; + "듳" => "돷" ; + "듴" => "돸" ; + "듵" => "돹" ; + "듶" => "돺" ; + "듷" => "돻" ; + "뜨" => "똬" ; + "뜩" => "똭" ; + "뜪" => "똮" ; + "뜫" => "똯" ; + "뜬" => "똰" ; + "뜭" => "똱" ; + "뜮" => "똲" ; + "뜯" => "똳" ; + "뜰" => "똴" ; + "뜱" => "똵" ; + "뜲" => "똶" ; + "뜳" => "똷" ; + "뜴" => "똸" ; + "뜵" => "똹" ; + "뜶" => "똺" ; + "뜷" => "똻" ; + "뜸" => "똼" ; + "뜹" => "똽" ; + "뜺" => "똾" ; + "뜻" => "똿" ; + "뜼" => "뙀" ; + "뜽" => "뙁" ; + "뜾" => "뙂" ; + "뜿" => "뙃" ; + "띀" => "뙄" ; + "띁" => "뙅" ; + "띂" => "뙆" ; + "띃" => "뙇" ; + "르" => "롸" ; + "륵" => "롹" ; + "륶" => "롺" ; + "륷" => "롻" ; + "른" => "롼" ; + "륹" => "롽" ; + "륺" => "롾" ; + "륻" => "롿" ; + "를" => "뢀" ; + "륽" => "뢁" ; + "륾" => "뢂" ; + "륿" => "뢃" ; + "릀" => "뢄" ; + "릁" => "뢅" ; + "릂" => "뢆" ; + "릃" => "뢇" ; + "름" => "뢈" ; + "릅" => "뢉" ; + "릆" => "뢊" ; + "릇" => "뢋" ; + "릈" => "뢌" ; + "릉" => "뢍" ; + "릊" => "뢎" ; + "릋" => "뢏" ; + "릌" => "뢐" ; + "릍" => "뢑" ; + "릎" => "뢒" ; + "릏" => "뢓" ; + "므" => "뫄" ; + "믁" => "뫅" ; + "믂" => "뫆" ; + "믃" => "뫇" ; + "믄" => "뫈" ; + "믅" => "뫉" ; + "믆" => "뫊" ; + "믇" => "뫋" ; + "믈" => "뫌" ; + "믉" => "뫍" ; + "믊" => "뫎" ; + "믋" => "뫏" ; + "믌" => "뫐" ; + "믍" => "뫑" ; + "믎" => "뫒" ; + "믏" => "뫓" ; + "믐" => "뫔" ; + "믑" => "뫕" ; + "믒" => "뫖" ; + "믓" => "뫗" ; + "믔" => "뫘" ; + "믕" => "뫙" ; + "믖" => "뫚" ; + "믗" => "뫛" ; + "믘" => "뫜" ; + "믙" => "뫝" ; + "믚" => "뫞" ; + "믛" => "뫟" ; + "브" => "봐" ; + "븍" => "봑" ; + "븎" => "봒" ; + "븏" => "봓" ; + "븐" => "봔" ; + "븑" => "봕" ; + "븒" => "봖" ; + "븓" => "봗" ; + "블" => "봘" ; + "븕" => "봙" ; + "븖" => "봚" ; + "븗" => "봛" ; + "븘" => "봜" ; + "븙" => "봝" ; + "븚" => "봞" ; + "븛" => "봟" ; + "븜" => "봠" ; + "븝" => "봡" ; + "븞" => "봢" ; + "븟" => "봣" ; + "븠" => "봤" ; + "븡" => "봥" ; + "븢" => "봦" ; + "븣" => "봧" ; + "븤" => "봨" ; + "븥" => "봩" ; + "븦" => "봪" ; + "븧" => "봫" ; + "쁘" => "뽜" ; + "쁙" => "뽝" ; + "쁚" => "뽞" ; + "쁛" => "뽟" ; + "쁜" => "뽠" ; + "쁝" => "뽡" ; + "쁞" => "뽢" ; + "쁟" => "뽣" ; + "쁠" => "뽤" ; + "쁡" => "뽥" ; + "쁢" => "뽦" ; + "쁣" => "뽧" ; + "쁤" => "뽨" ; + "쁥" => "뽩" ; + "쁦" => "뽪" ; + "쁧" => "뽫" ; + "쁨" => "뽬" ; + "쁩" => "뽭" ; + "쁪" => "뽮" ; + "쁫" => "뽯" ; + "쁬" => "뽰" ; + "쁭" => "뽱" ; + "쁮" => "뽲" ; + "쁯" => "뽳" ; + "쁰" => "뽴" ; + "쁱" => "뽵" ; + "쁲" => "뽶" ; + "쁳" => "뽷" ; + "스" => "솨" ; + "슥" => "솩" ; + "슦" => "솪" ; + "슧" => "솫" ; + "슨" => "솬" ; + "슩" => "솭" ; + "슪" => "솮" ; + "슫" => "솯" ; + "슬" => "솰" ; + "슭" => "솱" ; + "슮" => "솲" ; + "슯" => "솳" ; + "슰" => "솴" ; + "슱" => "솵" ; + "슲" => "솶" ; + "슳" => "솷" ; + "슴" => "솸" ; + "습" => "솹" ; + "슶" => "솺" ; + "슷" => "솻" ; + "슸" => "솼" ; + "승" => "솽" ; + "슺" => "솾" ; + "슻" => "솿" ; + "슼" => "쇀" ; + "슽" => "쇁" ; + "슾" => "쇂" ; + "슿" => "쇃" ; + "쓰" => "쏴" ; + "쓱" => "쏵" ; + "쓲" => "쏶" ; + "쓳" => "쏷" ; + "쓴" => "쏸" ; + "쓵" => "쏹" ; + "쓶" => "쏺" ; + "쓷" => "쏻" ; + "쓸" => "쏼" ; + "쓹" => "쏽" ; + "쓺" => "쏾" ; + "쓻" => "쏿" ; + "쓼" => "쐀" ; + "쓽" => "쐁" ; + "쓾" => "쐂" ; + "쓿" => "쐃" ; + "씀" => "쐄" ; + "씁" => "쐅" ; + "씂" => "쐆" ; + "씃" => "쐇" ; + "씄" => "쐈" ; + "씅" => "쐉" ; + "씆" => "쐊" ; + "씇" => "쐋" ; + "씈" => "쐌" ; + "씉" => "쐍" ; + "씊" => "쐎" ; + "씋" => "쐏" ; + "으" => "와" ; + "윽" => "왁" ; + "윾" => "왂" ; + "윿" => "왃" ; + "은" => "완" ; + "읁" => "왅" ; + "읂" => "왆" ; + "읃" => "왇" ; + "을" => "왈" ; + "읅" => "왉" ; + "읆" => "왊" ; + "읇" => "왋" ; + "읈" => "왌" ; + "읉" => "왍" ; + "읊" => "왎" ; + "읋" => "왏" ; + "음" => "왐" ; + "읍" => "왑" ; + "읎" => "왒" ; + "읏" => "왓" ; + "읐" => "왔" ; + "응" => "왕" ; + "읒" => "왖" ; + "읓" => "왗" ; + "읔" => "왘" ; + "읕" => "왙" ; + "읖" => "왚" ; + "읗" => "왛" ; + "즈" => "좌" ; + "즉" => "좍" ; + "즊" => "좎" ; + "즋" => "좏" ; + "즌" => "좐" ; + "즍" => "좑" ; + "즎" => "좒" ; + "즏" => "좓" ; + "즐" => "좔" ; + "즑" => "좕" ; + "즒" => "좖" ; + "즓" => "좗" ; + "즔" => "좘" ; + "즕" => "좙" ; + "즖" => "좚" ; + "즗" => "좛" ; + "즘" => "좜" ; + "즙" => "좝" ; + "즚" => "좞" ; + "즛" => "좟" ; + "즜" => "좠" ; + "증" => "좡" ; + "즞" => "좢" ; + "즟" => "좣" ; + "즠" => "좤" ; + "즡" => "좥" ; + "즢" => "좦" ; + "즣" => "좧" ; + "쯔" => "쫘" ; + "쯕" => "쫙" ; + "쯖" => "쫚" ; + "쯗" => "쫛" ; + "쯘" => "쫜" ; + "쯙" => "쫝" ; + "쯚" => "쫞" ; + "쯛" => "쫟" ; + "쯜" => "쫠" ; + "쯝" => "쫡" ; + "쯞" => "쫢" ; + "쯟" => "쫣" ; + "쯠" => "쫤" ; + "쯡" => "쫥" ; + "쯢" => "쫦" ; + "쯣" => "쫧" ; + "쯤" => "쫨" ; + "쯥" => "쫩" ; + "쯦" => "쫪" ; + "쯧" => "쫫" ; + "쯨" => "쫬" ; + "쯩" => "쫭" ; + "쯪" => "쫮" ; + "쯫" => "쫯" ; + "쯬" => "쫰" ; + "쯭" => "쫱" ; + "쯮" => "쫲" ; + "쯯" => "쫳" ; + "츠" => "촤" ; + "측" => "촥" ; + "츢" => "촦" ; + "츣" => "촧" ; + "츤" => "촨" ; + "츥" => "촩" ; + "츦" => "촪" ; + "츧" => "촫" ; + "츨" => "촬" ; + "츩" => "촭" ; + "츪" => "촮" ; + "츫" => "촯" ; + "츬" => "촰" ; + "츭" => "촱" ; + "츮" => "촲" ; + "츯" => "촳" ; + "츰" => "촴" ; + "츱" => "촵" ; + "츲" => "촶" ; + "츳" => "촷" ; + "츴" => "촸" ; + "층" => "촹" ; + "츶" => "촺" ; + "츷" => "촻" ; + "츸" => "촼" ; + "츹" => "촽" ; + "츺" => "촾" ; + "츻" => "촿" ; + "크" => "콰" ; + "큭" => "콱" ; + "큮" => "콲" ; + "큯" => "콳" ; + "큰" => "콴" ; + "큱" => "콵" ; + "큲" => "콶" ; + "큳" => "콷" ; + "클" => "콸" ; + "큵" => "콹" ; + "큶" => "콺" ; + "큷" => "콻" ; + "큸" => "콼" ; + "큹" => "콽" ; + "큺" => "콾" ; + "큻" => "콿" ; + "큼" => "쾀" ; + "큽" => "쾁" ; + "큾" => "쾂" ; + "큿" => "쾃" ; + "킀" => "쾄" ; + "킁" => "쾅" ; + "킂" => "쾆" ; + "킃" => "쾇" ; + "킄" => "쾈" ; + "킅" => "쾉" ; + "킆" => "쾊" ; + "킇" => "쾋" ; + "트" => "톼" ; + "특" => "톽" ; + "튺" => "톾" ; + "튻" => "톿" ; + "튼" => "퇀" ; + "튽" => "퇁" ; + "튾" => "퇂" ; + "튿" => "퇃" ; + "틀" => "퇄" ; + "틁" => "퇅" ; + "틂" => "퇆" ; + "틃" => "퇇" ; + "틄" => "퇈" ; + "틅" => "퇉" ; + "틆" => "퇊" ; + "틇" => "퇋" ; + "틈" => "퇌" ; + "틉" => "퇍" ; + "틊" => "퇎" ; + "틋" => "퇏" ; + "틌" => "퇐" ; + "틍" => "퇑" ; + "틎" => "퇒" ; + "틏" => "퇓" ; + "틐" => "퇔" ; + "틑" => "퇕" ; + "틒" => "퇖" ; + "틓" => "퇗" ; + "프" => "퐈" ; + "픅" => "퐉" ; + "픆" => "퐊" ; + "픇" => "퐋" ; + "픈" => "퐌" ; + "픉" => "퐍" ; + "픊" => "퐎" ; + "픋" => "퐏" ; + "플" => "퐐" ; + "픍" => "퐑" ; + "픎" => "퐒" ; + "픏" => "퐓" ; + "픐" => "퐔" ; + "픑" => "퐕" ; + "픒" => "퐖" ; + "픓" => "퐗" ; + "픔" => "퐘" ; + "픕" => "퐙" ; + "픖" => "퐚" ; + "픗" => "퐛" ; + "픘" => "퐜" ; + "픙" => "퐝" ; + "픚" => "퐞" ; + "픛" => "퐟" ; + "픜" => "퐠" ; + "픝" => "퐡" ; + "픞" => "퐢" ; + "픟" => "퐣" ; + "흐" => "화" ; + "흑" => "확" ; + "흒" => "홖" ; + "흓" => "홗" ; + "흔" => "환" ; + "흕" => "홙" ; + "흖" => "홚" ; + "흗" => "홛" ; + "흘" => "활" ; + "흙" => "홝" ; + "흚" => "홞" ; + "흛" => "홟" ; + "흜" => "홠" ; + "흝" => "홡" ; + "흞" => "홢" ; + "흟" => "홣" ; + "흠" => "홤" ; + "흡" => "홥" ; + "흢" => "홦" ; + "흣" => "홧" ; + "흤" => "홨" ; + "흥" => "황" ; + "흦" => "홪" ; + "흧" => "홫" ; + "흨" => "홬" ; + "흩" => "홭" ; + "흪" => "홮" ; + "흫" => "홯" }; + "왜" => case syl of { + "그" => "괘" ; + "극" => "괙" ; + "귺" => "괚" ; + "귻" => "괛" ; + "근" => "괜" ; + "귽" => "괝" ; + "귾" => "괞" ; + "귿" => "괟" ; + "글" => "괠" ; + "긁" => "괡" ; + "긂" => "괢" ; + "긃" => "괣" ; + "긄" => "괤" ; + "긅" => "괥" ; + "긆" => "괦" ; + "긇" => "괧" ; + "금" => "괨" ; + "급" => "괩" ; + "긊" => "괪" ; + "긋" => "괫" ; + "긌" => "괬" ; + "긍" => "괭" ; + "긎" => "괮" ; + "긏" => "괯" ; + "긐" => "괰" ; + "긑" => "괱" ; + "긒" => "괲" ; + "긓" => "괳" ; + "끄" => "꽤" ; + "끅" => "꽥" ; + "끆" => "꽦" ; + "끇" => "꽧" ; + "끈" => "꽨" ; + "끉" => "꽩" ; + "끊" => "꽪" ; + "끋" => "꽫" ; + "끌" => "꽬" ; + "끍" => "꽭" ; + "끎" => "꽮" ; + "끏" => "꽯" ; + "끐" => "꽰" ; + "끑" => "꽱" ; + "끒" => "꽲" ; + "끓" => "꽳" ; + "끔" => "꽴" ; + "끕" => "꽵" ; + "끖" => "꽶" ; + "끗" => "꽷" ; + "끘" => "꽸" ; + "끙" => "꽹" ; + "끚" => "꽺" ; + "끛" => "꽻" ; + "끜" => "꽼" ; + "끝" => "꽽" ; + "끞" => "꽾" ; + "끟" => "꽿" ; + "느" => "놰" ; + "늑" => "놱" ; + "늒" => "놲" ; + "늓" => "놳" ; + "는" => "놴" ; + "늕" => "놵" ; + "늖" => "놶" ; + "늗" => "놷" ; + "늘" => "놸" ; + "늙" => "놹" ; + "늚" => "놺" ; + "늛" => "놻" ; + "늜" => "놼" ; + "늝" => "놽" ; + "늞" => "놾" ; + "늟" => "놿" ; + "늠" => "뇀" ; + "늡" => "뇁" ; + "늢" => "뇂" ; + "늣" => "뇃" ; + "늤" => "뇄" ; + "능" => "뇅" ; + "늦" => "뇆" ; + "늧" => "뇇" ; + "늨" => "뇈" ; + "늩" => "뇉" ; + "늪" => "뇊" ; + "늫" => "뇋" ; + "드" => "돼" ; + "득" => "돽" ; + "듞" => "돾" ; + "듟" => "돿" ; + "든" => "됀" ; + "듡" => "됁" ; + "듢" => "됂" ; + "듣" => "됃" ; + "들" => "됄" ; + "듥" => "됅" ; + "듦" => "됆" ; + "듧" => "됇" ; + "듨" => "됈" ; + "듩" => "됉" ; + "듪" => "됊" ; + "듫" => "됋" ; + "듬" => "됌" ; + "듭" => "됍" ; + "듮" => "됎" ; + "듯" => "됏" ; + "듰" => "됐" ; + "등" => "됑" ; + "듲" => "됒" ; + "듳" => "됓" ; + "듴" => "됔" ; + "듵" => "됕" ; + "듶" => "됖" ; + "듷" => "됗" ; + "뜨" => "뙈" ; + "뜩" => "뙉" ; + "뜪" => "뙊" ; + "뜫" => "뙋" ; + "뜬" => "뙌" ; + "뜭" => "뙍" ; + "뜮" => "뙎" ; + "뜯" => "뙏" ; + "뜰" => "뙐" ; + "뜱" => "뙑" ; + "뜲" => "뙒" ; + "뜳" => "뙓" ; + "뜴" => "뙔" ; + "뜵" => "뙕" ; + "뜶" => "뙖" ; + "뜷" => "뙗" ; + "뜸" => "뙘" ; + "뜹" => "뙙" ; + "뜺" => "뙚" ; + "뜻" => "뙛" ; + "뜼" => "뙜" ; + "뜽" => "뙝" ; + "뜾" => "뙞" ; + "뜿" => "뙟" ; + "띀" => "뙠" ; + "띁" => "뙡" ; + "띂" => "뙢" ; + "띃" => "뙣" ; + "르" => "뢔" ; + "륵" => "뢕" ; + "륶" => "뢖" ; + "륷" => "뢗" ; + "른" => "뢘" ; + "륹" => "뢙" ; + "륺" => "뢚" ; + "륻" => "뢛" ; + "를" => "뢜" ; + "륽" => "뢝" ; + "륾" => "뢞" ; + "륿" => "뢟" ; + "릀" => "뢠" ; + "릁" => "뢡" ; + "릂" => "뢢" ; + "릃" => "뢣" ; + "름" => "뢤" ; + "릅" => "뢥" ; + "릆" => "뢦" ; + "릇" => "뢧" ; + "릈" => "뢨" ; + "릉" => "뢩" ; + "릊" => "뢪" ; + "릋" => "뢫" ; + "릌" => "뢬" ; + "릍" => "뢭" ; + "릎" => "뢮" ; + "릏" => "뢯" ; + "므" => "뫠" ; + "믁" => "뫡" ; + "믂" => "뫢" ; + "믃" => "뫣" ; + "믄" => "뫤" ; + "믅" => "뫥" ; + "믆" => "뫦" ; + "믇" => "뫧" ; + "믈" => "뫨" ; + "믉" => "뫩" ; + "믊" => "뫪" ; + "믋" => "뫫" ; + "믌" => "뫬" ; + "믍" => "뫭" ; + "믎" => "뫮" ; + "믏" => "뫯" ; + "믐" => "뫰" ; + "믑" => "뫱" ; + "믒" => "뫲" ; + "믓" => "뫳" ; + "믔" => "뫴" ; + "믕" => "뫵" ; + "믖" => "뫶" ; + "믗" => "뫷" ; + "믘" => "뫸" ; + "믙" => "뫹" ; + "믚" => "뫺" ; + "믛" => "뫻" ; + "브" => "봬" ; + "븍" => "봭" ; + "븎" => "봮" ; + "븏" => "봯" ; + "븐" => "봰" ; + "븑" => "봱" ; + "븒" => "봲" ; + "븓" => "봳" ; + "블" => "봴" ; + "븕" => "봵" ; + "븖" => "봶" ; + "븗" => "봷" ; + "븘" => "봸" ; + "븙" => "봹" ; + "븚" => "봺" ; + "븛" => "봻" ; + "븜" => "봼" ; + "븝" => "봽" ; + "븞" => "봾" ; + "븟" => "봿" ; + "븠" => "뵀" ; + "븡" => "뵁" ; + "븢" => "뵂" ; + "븣" => "뵃" ; + "븤" => "뵄" ; + "븥" => "뵅" ; + "븦" => "뵆" ; + "븧" => "뵇" ; + "쁘" => "뽸" ; + "쁙" => "뽹" ; + "쁚" => "뽺" ; + "쁛" => "뽻" ; + "쁜" => "뽼" ; + "쁝" => "뽽" ; + "쁞" => "뽾" ; + "쁟" => "뽿" ; + "쁠" => "뾀" ; + "쁡" => "뾁" ; + "쁢" => "뾂" ; + "쁣" => "뾃" ; + "쁤" => "뾄" ; + "쁥" => "뾅" ; + "쁦" => "뾆" ; + "쁧" => "뾇" ; + "쁨" => "뾈" ; + "쁩" => "뾉" ; + "쁪" => "뾊" ; + "쁫" => "뾋" ; + "쁬" => "뾌" ; + "쁭" => "뾍" ; + "쁮" => "뾎" ; + "쁯" => "뾏" ; + "쁰" => "뾐" ; + "쁱" => "뾑" ; + "쁲" => "뾒" ; + "쁳" => "뾓" ; + "스" => "쇄" ; + "슥" => "쇅" ; + "슦" => "쇆" ; + "슧" => "쇇" ; + "슨" => "쇈" ; + "슩" => "쇉" ; + "슪" => "쇊" ; + "슫" => "쇋" ; + "슬" => "쇌" ; + "슭" => "쇍" ; + "슮" => "쇎" ; + "슯" => "쇏" ; + "슰" => "쇐" ; + "슱" => "쇑" ; + "슲" => "쇒" ; + "슳" => "쇓" ; + "슴" => "쇔" ; + "습" => "쇕" ; + "슶" => "쇖" ; + "슷" => "쇗" ; + "슸" => "쇘" ; + "승" => "쇙" ; + "슺" => "쇚" ; + "슻" => "쇛" ; + "슼" => "쇜" ; + "슽" => "쇝" ; + "슾" => "쇞" ; + "슿" => "쇟" ; + "쓰" => "쐐" ; + "쓱" => "쐑" ; + "쓲" => "쐒" ; + "쓳" => "쐓" ; + "쓴" => "쐔" ; + "쓵" => "쐕" ; + "쓶" => "쐖" ; + "쓷" => "쐗" ; + "쓸" => "쐘" ; + "쓹" => "쐙" ; + "쓺" => "쐚" ; + "쓻" => "쐛" ; + "쓼" => "쐜" ; + "쓽" => "쐝" ; + "쓾" => "쐞" ; + "쓿" => "쐟" ; + "씀" => "쐠" ; + "씁" => "쐡" ; + "씂" => "쐢" ; + "씃" => "쐣" ; + "씄" => "쐤" ; + "씅" => "쐥" ; + "씆" => "쐦" ; + "씇" => "쐧" ; + "씈" => "쐨" ; + "씉" => "쐩" ; + "씊" => "쐪" ; + "씋" => "쐫" ; + "으" => "왜" ; + "윽" => "왝" ; + "윾" => "왞" ; + "윿" => "왟" ; + "은" => "왠" ; + "읁" => "왡" ; + "읂" => "왢" ; + "읃" => "왣" ; + "을" => "왤" ; + "읅" => "왥" ; + "읆" => "왦" ; + "읇" => "왧" ; + "읈" => "왨" ; + "읉" => "왩" ; + "읊" => "왪" ; + "읋" => "왫" ; + "음" => "왬" ; + "읍" => "왭" ; + "읎" => "왮" ; + "읏" => "왯" ; + "읐" => "왰" ; + "응" => "왱" ; + "읒" => "왲" ; + "읓" => "왳" ; + "읔" => "왴" ; + "읕" => "왵" ; + "읖" => "왶" ; + "읗" => "왷" ; + "즈" => "좨" ; + "즉" => "좩" ; + "즊" => "좪" ; + "즋" => "좫" ; + "즌" => "좬" ; + "즍" => "좭" ; + "즎" => "좮" ; + "즏" => "좯" ; + "즐" => "좰" ; + "즑" => "좱" ; + "즒" => "좲" ; + "즓" => "좳" ; + "즔" => "좴" ; + "즕" => "좵" ; + "즖" => "좶" ; + "즗" => "좷" ; + "즘" => "좸" ; + "즙" => "좹" ; + "즚" => "좺" ; + "즛" => "좻" ; + "즜" => "좼" ; + "증" => "좽" ; + "즞" => "좾" ; + "즟" => "좿" ; + "즠" => "죀" ; + "즡" => "죁" ; + "즢" => "죂" ; + "즣" => "죃" ; + "쯔" => "쫴" ; + "쯕" => "쫵" ; + "쯖" => "쫶" ; + "쯗" => "쫷" ; + "쯘" => "쫸" ; + "쯙" => "쫹" ; + "쯚" => "쫺" ; + "쯛" => "쫻" ; + "쯜" => "쫼" ; + "쯝" => "쫽" ; + "쯞" => "쫾" ; + "쯟" => "쫿" ; + "쯠" => "쬀" ; + "쯡" => "쬁" ; + "쯢" => "쬂" ; + "쯣" => "쬃" ; + "쯤" => "쬄" ; + "쯥" => "쬅" ; + "쯦" => "쬆" ; + "쯧" => "쬇" ; + "쯨" => "쬈" ; + "쯩" => "쬉" ; + "쯪" => "쬊" ; + "쯫" => "쬋" ; + "쯬" => "쬌" ; + "쯭" => "쬍" ; + "쯮" => "쬎" ; + "쯯" => "쬏" ; + "츠" => "쵀" ; + "측" => "쵁" ; + "츢" => "쵂" ; + "츣" => "쵃" ; + "츤" => "쵄" ; + "츥" => "쵅" ; + "츦" => "쵆" ; + "츧" => "쵇" ; + "츨" => "쵈" ; + "츩" => "쵉" ; + "츪" => "쵊" ; + "츫" => "쵋" ; + "츬" => "쵌" ; + "츭" => "쵍" ; + "츮" => "쵎" ; + "츯" => "쵏" ; + "츰" => "쵐" ; + "츱" => "쵑" ; + "츲" => "쵒" ; + "츳" => "쵓" ; + "츴" => "쵔" ; + "층" => "쵕" ; + "츶" => "쵖" ; + "츷" => "쵗" ; + "츸" => "쵘" ; + "츹" => "쵙" ; + "츺" => "쵚" ; + "츻" => "쵛" ; + "크" => "쾌" ; + "큭" => "쾍" ; + "큮" => "쾎" ; + "큯" => "쾏" ; + "큰" => "쾐" ; + "큱" => "쾑" ; + "큲" => "쾒" ; + "큳" => "쾓" ; + "클" => "쾔" ; + "큵" => "쾕" ; + "큶" => "쾖" ; + "큷" => "쾗" ; + "큸" => "쾘" ; + "큹" => "쾙" ; + "큺" => "쾚" ; + "큻" => "쾛" ; + "큼" => "쾜" ; + "큽" => "쾝" ; + "큾" => "쾞" ; + "큿" => "쾟" ; + "킀" => "쾠" ; + "킁" => "쾡" ; + "킂" => "쾢" ; + "킃" => "쾣" ; + "킄" => "쾤" ; + "킅" => "쾥" ; + "킆" => "쾦" ; + "킇" => "쾧" ; + "트" => "퇘" ; + "특" => "퇙" ; + "튺" => "퇚" ; + "튻" => "퇛" ; + "튼" => "퇜" ; + "튽" => "퇝" ; + "튾" => "퇞" ; + "튿" => "퇟" ; + "틀" => "퇠" ; + "틁" => "퇡" ; + "틂" => "퇢" ; + "틃" => "퇣" ; + "틄" => "퇤" ; + "틅" => "퇥" ; + "틆" => "퇦" ; + "틇" => "퇧" ; + "틈" => "퇨" ; + "틉" => "퇩" ; + "틊" => "퇪" ; + "틋" => "퇫" ; + "틌" => "퇬" ; + "틍" => "퇭" ; + "틎" => "퇮" ; + "틏" => "퇯" ; + "틐" => "퇰" ; + "틑" => "퇱" ; + "틒" => "퇲" ; + "틓" => "퇳" ; + "프" => "퐤" ; + "픅" => "퐥" ; + "픆" => "퐦" ; + "픇" => "퐧" ; + "픈" => "퐨" ; + "픉" => "퐩" ; + "픊" => "퐪" ; + "픋" => "퐫" ; + "플" => "퐬" ; + "픍" => "퐭" ; + "픎" => "퐮" ; + "픏" => "퐯" ; + "픐" => "퐰" ; + "픑" => "퐱" ; + "픒" => "퐲" ; + "픓" => "퐳" ; + "픔" => "퐴" ; + "픕" => "퐵" ; + "픖" => "퐶" ; + "픗" => "퐷" ; + "픘" => "퐸" ; + "픙" => "퐹" ; + "픚" => "퐺" ; + "픛" => "퐻" ; + "픜" => "퐼" ; + "픝" => "퐽" ; + "픞" => "퐾" ; + "픟" => "퐿" ; + "흐" => "홰" ; + "흑" => "홱" ; + "흒" => "홲" ; + "흓" => "홳" ; + "흔" => "홴" ; + "흕" => "홵" ; + "흖" => "홶" ; + "흗" => "홷" ; + "흘" => "홸" ; + "흙" => "홹" ; + "흚" => "홺" ; + "흛" => "홻" ; + "흜" => "홼" ; + "흝" => "홽" ; + "흞" => "홾" ; + "흟" => "홿" ; + "흠" => "횀" ; + "흡" => "횁" ; + "흢" => "횂" ; + "흣" => "횃" ; + "흤" => "횄" ; + "흥" => "횅" ; + "흦" => "횆" ; + "흧" => "횇" ; + "흨" => "횈" ; + "흩" => "횉" ; + "흪" => "횊" ; + "흫" => "횋" }; + "외" => case syl of { + "그" => "괴" ; + "극" => "괵" ; + "귺" => "괶" ; + "귻" => "괷" ; + "근" => "괸" ; + "귽" => "괹" ; + "귾" => "괺" ; + "귿" => "괻" ; + "글" => "괼" ; + "긁" => "괽" ; + "긂" => "괾" ; + "긃" => "괿" ; + "긄" => "굀" ; + "긅" => "굁" ; + "긆" => "굂" ; + "긇" => "굃" ; + "금" => "굄" ; + "급" => "굅" ; + "긊" => "굆" ; + "긋" => "굇" ; + "긌" => "굈" ; + "긍" => "굉" ; + "긎" => "굊" ; + "긏" => "굋" ; + "긐" => "굌" ; + "긑" => "굍" ; + "긒" => "굎" ; + "긓" => "굏" ; + "끄" => "꾀" ; + "끅" => "꾁" ; + "끆" => "꾂" ; + "끇" => "꾃" ; + "끈" => "꾄" ; + "끉" => "꾅" ; + "끊" => "꾆" ; + "끋" => "꾇" ; + "끌" => "꾈" ; + "끍" => "꾉" ; + "끎" => "꾊" ; + "끏" => "꾋" ; + "끐" => "꾌" ; + "끑" => "꾍" ; + "끒" => "꾎" ; + "끓" => "꾏" ; + "끔" => "꾐" ; + "끕" => "꾑" ; + "끖" => "꾒" ; + "끗" => "꾓" ; + "끘" => "꾔" ; + "끙" => "꾕" ; + "끚" => "꾖" ; + "끛" => "꾗" ; + "끜" => "꾘" ; + "끝" => "꾙" ; + "끞" => "꾚" ; + "끟" => "꾛" ; + "느" => "뇌" ; + "늑" => "뇍" ; + "늒" => "뇎" ; + "늓" => "뇏" ; + "는" => "뇐" ; + "늕" => "뇑" ; + "늖" => "뇒" ; + "늗" => "뇓" ; + "늘" => "뇔" ; + "늙" => "뇕" ; + "늚" => "뇖" ; + "늛" => "뇗" ; + "늜" => "뇘" ; + "늝" => "뇙" ; + "늞" => "뇚" ; + "늟" => "뇛" ; + "늠" => "뇜" ; + "늡" => "뇝" ; + "늢" => "뇞" ; + "늣" => "뇟" ; + "늤" => "뇠" ; + "능" => "뇡" ; + "늦" => "뇢" ; + "늧" => "뇣" ; + "늨" => "뇤" ; + "늩" => "뇥" ; + "늪" => "뇦" ; + "늫" => "뇧" ; + "드" => "되" ; + "득" => "됙" ; + "듞" => "됚" ; + "듟" => "됛" ; + "든" => "된" ; + "듡" => "됝" ; + "듢" => "됞" ; + "듣" => "됟" ; + "들" => "될" ; + "듥" => "됡" ; + "듦" => "됢" ; + "듧" => "됣" ; + "듨" => "됤" ; + "듩" => "됥" ; + "듪" => "됦" ; + "듫" => "됧" ; + "듬" => "됨" ; + "듭" => "됩" ; + "듮" => "됪" ; + "듯" => "됫" ; + "듰" => "됬" ; + "등" => "됭" ; + "듲" => "됮" ; + "듳" => "됯" ; + "듴" => "됰" ; + "듵" => "됱" ; + "듶" => "됲" ; + "듷" => "됳" ; + "뜨" => "뙤" ; + "뜩" => "뙥" ; + "뜪" => "뙦" ; + "뜫" => "뙧" ; + "뜬" => "뙨" ; + "뜭" => "뙩" ; + "뜮" => "뙪" ; + "뜯" => "뙫" ; + "뜰" => "뙬" ; + "뜱" => "뙭" ; + "뜲" => "뙮" ; + "뜳" => "뙯" ; + "뜴" => "뙰" ; + "뜵" => "뙱" ; + "뜶" => "뙲" ; + "뜷" => "뙳" ; + "뜸" => "뙴" ; + "뜹" => "뙵" ; + "뜺" => "뙶" ; + "뜻" => "뙷" ; + "뜼" => "뙸" ; + "뜽" => "뙹" ; + "뜾" => "뙺" ; + "뜿" => "뙻" ; + "띀" => "뙼" ; + "띁" => "뙽" ; + "띂" => "뙾" ; + "띃" => "뙿" ; + "르" => "뢰" ; + "륵" => "뢱" ; + "륶" => "뢲" ; + "륷" => "뢳" ; + "른" => "뢴" ; + "륹" => "뢵" ; + "륺" => "뢶" ; + "륻" => "뢷" ; + "를" => "뢸" ; + "륽" => "뢹" ; + "륾" => "뢺" ; + "륿" => "뢻" ; + "릀" => "뢼" ; + "릁" => "뢽" ; + "릂" => "뢾" ; + "릃" => "뢿" ; + "름" => "룀" ; + "릅" => "룁" ; + "릆" => "룂" ; + "릇" => "룃" ; + "릈" => "룄" ; + "릉" => "룅" ; + "릊" => "룆" ; + "릋" => "룇" ; + "릌" => "룈" ; + "릍" => "룉" ; + "릎" => "룊" ; + "릏" => "룋" ; + "므" => "뫼" ; + "믁" => "뫽" ; + "믂" => "뫾" ; + "믃" => "뫿" ; + "믄" => "묀" ; + "믅" => "묁" ; + "믆" => "묂" ; + "믇" => "묃" ; + "믈" => "묄" ; + "믉" => "묅" ; + "믊" => "묆" ; + "믋" => "묇" ; + "믌" => "묈" ; + "믍" => "묉" ; + "믎" => "묊" ; + "믏" => "묋" ; + "믐" => "묌" ; + "믑" => "묍" ; + "믒" => "묎" ; + "믓" => "묏" ; + "믔" => "묐" ; + "믕" => "묑" ; + "믖" => "묒" ; + "믗" => "묓" ; + "믘" => "묔" ; + "믙" => "묕" ; + "믚" => "묖" ; + "믛" => "묗" ; + "브" => "뵈" ; + "븍" => "뵉" ; + "븎" => "뵊" ; + "븏" => "뵋" ; + "븐" => "뵌" ; + "븑" => "뵍" ; + "븒" => "뵎" ; + "븓" => "뵏" ; + "블" => "뵐" ; + "븕" => "뵑" ; + "븖" => "뵒" ; + "븗" => "뵓" ; + "븘" => "뵔" ; + "븙" => "뵕" ; + "븚" => "뵖" ; + "븛" => "뵗" ; + "븜" => "뵘" ; + "븝" => "뵙" ; + "븞" => "뵚" ; + "븟" => "뵛" ; + "븠" => "뵜" ; + "븡" => "뵝" ; + "븢" => "뵞" ; + "븣" => "뵟" ; + "븤" => "뵠" ; + "븥" => "뵡" ; + "븦" => "뵢" ; + "븧" => "뵣" ; + "쁘" => "뾔" ; + "쁙" => "뾕" ; + "쁚" => "뾖" ; + "쁛" => "뾗" ; + "쁜" => "뾘" ; + "쁝" => "뾙" ; + "쁞" => "뾚" ; + "쁟" => "뾛" ; + "쁠" => "뾜" ; + "쁡" => "뾝" ; + "쁢" => "뾞" ; + "쁣" => "뾟" ; + "쁤" => "뾠" ; + "쁥" => "뾡" ; + "쁦" => "뾢" ; + "쁧" => "뾣" ; + "쁨" => "뾤" ; + "쁩" => "뾥" ; + "쁪" => "뾦" ; + "쁫" => "뾧" ; + "쁬" => "뾨" ; + "쁭" => "뾩" ; + "쁮" => "뾪" ; + "쁯" => "뾫" ; + "쁰" => "뾬" ; + "쁱" => "뾭" ; + "쁲" => "뾮" ; + "쁳" => "뾯" ; + "스" => "쇠" ; + "슥" => "쇡" ; + "슦" => "쇢" ; + "슧" => "쇣" ; + "슨" => "쇤" ; + "슩" => "쇥" ; + "슪" => "쇦" ; + "슫" => "쇧" ; + "슬" => "쇨" ; + "슭" => "쇩" ; + "슮" => "쇪" ; + "슯" => "쇫" ; + "슰" => "쇬" ; + "슱" => "쇭" ; + "슲" => "쇮" ; + "슳" => "쇯" ; + "슴" => "쇰" ; + "습" => "쇱" ; + "슶" => "쇲" ; + "슷" => "쇳" ; + "슸" => "쇴" ; + "승" => "쇵" ; + "슺" => "쇶" ; + "슻" => "쇷" ; + "슼" => "쇸" ; + "슽" => "쇹" ; + "슾" => "쇺" ; + "슿" => "쇻" ; + "쓰" => "쐬" ; + "쓱" => "쐭" ; + "쓲" => "쐮" ; + "쓳" => "쐯" ; + "쓴" => "쐰" ; + "쓵" => "쐱" ; + "쓶" => "쐲" ; + "쓷" => "쐳" ; + "쓸" => "쐴" ; + "쓹" => "쐵" ; + "쓺" => "쐶" ; + "쓻" => "쐷" ; + "쓼" => "쐸" ; + "쓽" => "쐹" ; + "쓾" => "쐺" ; + "쓿" => "쐻" ; + "씀" => "쐼" ; + "씁" => "쐽" ; + "씂" => "쐾" ; + "씃" => "쐿" ; + "씄" => "쑀" ; + "씅" => "쑁" ; + "씆" => "쑂" ; + "씇" => "쑃" ; + "씈" => "쑄" ; + "씉" => "쑅" ; + "씊" => "쑆" ; + "씋" => "쑇" ; + "으" => "외" ; + "윽" => "왹" ; + "윾" => "왺" ; + "윿" => "왻" ; + "은" => "왼" ; + "읁" => "왽" ; + "읂" => "왾" ; + "읃" => "왿" ; + "을" => "욀" ; + "읅" => "욁" ; + "읆" => "욂" ; + "읇" => "욃" ; + "읈" => "욄" ; + "읉" => "욅" ; + "읊" => "욆" ; + "읋" => "욇" ; + "음" => "욈" ; + "읍" => "욉" ; + "읎" => "욊" ; + "읏" => "욋" ; + "읐" => "욌" ; + "응" => "욍" ; + "읒" => "욎" ; + "읓" => "욏" ; + "읔" => "욐" ; + "읕" => "욑" ; + "읖" => "욒" ; + "읗" => "욓" ; + "즈" => "죄" ; + "즉" => "죅" ; + "즊" => "죆" ; + "즋" => "죇" ; + "즌" => "죈" ; + "즍" => "죉" ; + "즎" => "죊" ; + "즏" => "죋" ; + "즐" => "죌" ; + "즑" => "죍" ; + "즒" => "죎" ; + "즓" => "죏" ; + "즔" => "죐" ; + "즕" => "죑" ; + "즖" => "죒" ; + "즗" => "죓" ; + "즘" => "죔" ; + "즙" => "죕" ; + "즚" => "죖" ; + "즛" => "죗" ; + "즜" => "죘" ; + "증" => "죙" ; + "즞" => "죚" ; + "즟" => "죛" ; + "즠" => "죜" ; + "즡" => "죝" ; + "즢" => "죞" ; + "즣" => "죟" ; + "쯔" => "쬐" ; + "쯕" => "쬑" ; + "쯖" => "쬒" ; + "쯗" => "쬓" ; + "쯘" => "쬔" ; + "쯙" => "쬕" ; + "쯚" => "쬖" ; + "쯛" => "쬗" ; + "쯜" => "쬘" ; + "쯝" => "쬙" ; + "쯞" => "쬚" ; + "쯟" => "쬛" ; + "쯠" => "쬜" ; + "쯡" => "쬝" ; + "쯢" => "쬞" ; + "쯣" => "쬟" ; + "쯤" => "쬠" ; + "쯥" => "쬡" ; + "쯦" => "쬢" ; + "쯧" => "쬣" ; + "쯨" => "쬤" ; + "쯩" => "쬥" ; + "쯪" => "쬦" ; + "쯫" => "쬧" ; + "쯬" => "쬨" ; + "쯭" => "쬩" ; + "쯮" => "쬪" ; + "쯯" => "쬫" ; + "츠" => "최" ; + "측" => "쵝" ; + "츢" => "쵞" ; + "츣" => "쵟" ; + "츤" => "쵠" ; + "츥" => "쵡" ; + "츦" => "쵢" ; + "츧" => "쵣" ; + "츨" => "쵤" ; + "츩" => "쵥" ; + "츪" => "쵦" ; + "츫" => "쵧" ; + "츬" => "쵨" ; + "츭" => "쵩" ; + "츮" => "쵪" ; + "츯" => "쵫" ; + "츰" => "쵬" ; + "츱" => "쵭" ; + "츲" => "쵮" ; + "츳" => "쵯" ; + "츴" => "쵰" ; + "층" => "쵱" ; + "츶" => "쵲" ; + "츷" => "쵳" ; + "츸" => "쵴" ; + "츹" => "쵵" ; + "츺" => "쵶" ; + "츻" => "쵷" ; + "크" => "쾨" ; + "큭" => "쾩" ; + "큮" => "쾪" ; + "큯" => "쾫" ; + "큰" => "쾬" ; + "큱" => "쾭" ; + "큲" => "쾮" ; + "큳" => "쾯" ; + "클" => "쾰" ; + "큵" => "쾱" ; + "큶" => "쾲" ; + "큷" => "쾳" ; + "큸" => "쾴" ; + "큹" => "쾵" ; + "큺" => "쾶" ; + "큻" => "쾷" ; + "큼" => "쾸" ; + "큽" => "쾹" ; + "큾" => "쾺" ; + "큿" => "쾻" ; + "킀" => "쾼" ; + "킁" => "쾽" ; + "킂" => "쾾" ; + "킃" => "쾿" ; + "킄" => "쿀" ; + "킅" => "쿁" ; + "킆" => "쿂" ; + "킇" => "쿃" ; + "트" => "퇴" ; + "특" => "퇵" ; + "튺" => "퇶" ; + "튻" => "퇷" ; + "튼" => "퇸" ; + "튽" => "퇹" ; + "튾" => "퇺" ; + "튿" => "퇻" ; + "틀" => "퇼" ; + "틁" => "퇽" ; + "틂" => "퇾" ; + "틃" => "퇿" ; + "틄" => "툀" ; + "틅" => "툁" ; + "틆" => "툂" ; + "틇" => "툃" ; + "틈" => "툄" ; + "틉" => "툅" ; + "틊" => "툆" ; + "틋" => "툇" ; + "틌" => "툈" ; + "틍" => "툉" ; + "틎" => "툊" ; + "틏" => "툋" ; + "틐" => "툌" ; + "틑" => "툍" ; + "틒" => "툎" ; + "틓" => "툏" ; + "프" => "푀" ; + "픅" => "푁" ; + "픆" => "푂" ; + "픇" => "푃" ; + "픈" => "푄" ; + "픉" => "푅" ; + "픊" => "푆" ; + "픋" => "푇" ; + "플" => "푈" ; + "픍" => "푉" ; + "픎" => "푊" ; + "픏" => "푋" ; + "픐" => "푌" ; + "픑" => "푍" ; + "픒" => "푎" ; + "픓" => "푏" ; + "픔" => "푐" ; + "픕" => "푑" ; + "픖" => "푒" ; + "픗" => "푓" ; + "픘" => "푔" ; + "픙" => "푕" ; + "픚" => "푖" ; + "픛" => "푗" ; + "픜" => "푘" ; + "픝" => "푙" ; + "픞" => "푚" ; + "픟" => "푛" ; + "흐" => "회" ; + "흑" => "획" ; + "흒" => "횎" ; + "흓" => "횏" ; + "흔" => "횐" ; + "흕" => "횑" ; + "흖" => "횒" ; + "흗" => "횓" ; + "흘" => "횔" ; + "흙" => "횕" ; + "흚" => "횖" ; + "흛" => "횗" ; + "흜" => "횘" ; + "흝" => "횙" ; + "흞" => "횚" ; + "흟" => "횛" ; + "흠" => "횜" ; + "흡" => "횝" ; + "흢" => "횞" ; + "흣" => "횟" ; + "흤" => "횠" ; + "흥" => "횡" ; + "흦" => "횢" ; + "흧" => "횣" ; + "흨" => "횤" ; + "흩" => "횥" ; + "흪" => "횦" ; + "흫" => "횧" }; + "요" => case syl of { + "그" => "교" ; + "극" => "굑" ; + "귺" => "굒" ; + "귻" => "굓" ; + "근" => "굔" ; + "귽" => "굕" ; + "귾" => "굖" ; + "귿" => "굗" ; + "글" => "굘" ; + "긁" => "굙" ; + "긂" => "굚" ; + "긃" => "굛" ; + "긄" => "굜" ; + "긅" => "굝" ; + "긆" => "굞" ; + "긇" => "굟" ; + "금" => "굠" ; + "급" => "굡" ; + "긊" => "굢" ; + "긋" => "굣" ; + "긌" => "굤" ; + "긍" => "굥" ; + "긎" => "굦" ; + "긏" => "굧" ; + "긐" => "굨" ; + "긑" => "굩" ; + "긒" => "굪" ; + "긓" => "굫" ; + "끄" => "꾜" ; + "끅" => "꾝" ; + "끆" => "꾞" ; + "끇" => "꾟" ; + "끈" => "꾠" ; + "끉" => "꾡" ; + "끊" => "꾢" ; + "끋" => "꾣" ; + "끌" => "꾤" ; + "끍" => "꾥" ; + "끎" => "꾦" ; + "끏" => "꾧" ; + "끐" => "꾨" ; + "끑" => "꾩" ; + "끒" => "꾪" ; + "끓" => "꾫" ; + "끔" => "꾬" ; + "끕" => "꾭" ; + "끖" => "꾮" ; + "끗" => "꾯" ; + "끘" => "꾰" ; + "끙" => "꾱" ; + "끚" => "꾲" ; + "끛" => "꾳" ; + "끜" => "꾴" ; + "끝" => "꾵" ; + "끞" => "꾶" ; + "끟" => "꾷" ; + "느" => "뇨" ; + "늑" => "뇩" ; + "늒" => "뇪" ; + "늓" => "뇫" ; + "는" => "뇬" ; + "늕" => "뇭" ; + "늖" => "뇮" ; + "늗" => "뇯" ; + "늘" => "뇰" ; + "늙" => "뇱" ; + "늚" => "뇲" ; + "늛" => "뇳" ; + "늜" => "뇴" ; + "늝" => "뇵" ; + "늞" => "뇶" ; + "늟" => "뇷" ; + "늠" => "뇸" ; + "늡" => "뇹" ; + "늢" => "뇺" ; + "늣" => "뇻" ; + "늤" => "뇼" ; + "능" => "뇽" ; + "늦" => "뇾" ; + "늧" => "뇿" ; + "늨" => "눀" ; + "늩" => "눁" ; + "늪" => "눂" ; + "늫" => "눃" ; + "드" => "됴" ; + "득" => "됵" ; + "듞" => "됶" ; + "듟" => "됷" ; + "든" => "됸" ; + "듡" => "됹" ; + "듢" => "됺" ; + "듣" => "됻" ; + "들" => "됼" ; + "듥" => "됽" ; + "듦" => "됾" ; + "듧" => "됿" ; + "듨" => "둀" ; + "듩" => "둁" ; + "듪" => "둂" ; + "듫" => "둃" ; + "듬" => "둄" ; + "듭" => "둅" ; + "듮" => "둆" ; + "듯" => "둇" ; + "듰" => "둈" ; + "등" => "둉" ; + "듲" => "둊" ; + "듳" => "둋" ; + "듴" => "둌" ; + "듵" => "둍" ; + "듶" => "둎" ; + "듷" => "둏" ; + "뜨" => "뚀" ; + "뜩" => "뚁" ; + "뜪" => "뚂" ; + "뜫" => "뚃" ; + "뜬" => "뚄" ; + "뜭" => "뚅" ; + "뜮" => "뚆" ; + "뜯" => "뚇" ; + "뜰" => "뚈" ; + "뜱" => "뚉" ; + "뜲" => "뚊" ; + "뜳" => "뚋" ; + "뜴" => "뚌" ; + "뜵" => "뚍" ; + "뜶" => "뚎" ; + "뜷" => "뚏" ; + "뜸" => "뚐" ; + "뜹" => "뚑" ; + "뜺" => "뚒" ; + "뜻" => "뚓" ; + "뜼" => "뚔" ; + "뜽" => "뚕" ; + "뜾" => "뚖" ; + "뜿" => "뚗" ; + "띀" => "뚘" ; + "띁" => "뚙" ; + "띂" => "뚚" ; + "띃" => "뚛" ; + "르" => "료" ; + "륵" => "룍" ; + "륶" => "룎" ; + "륷" => "룏" ; + "른" => "룐" ; + "륹" => "룑" ; + "륺" => "룒" ; + "륻" => "룓" ; + "를" => "룔" ; + "륽" => "룕" ; + "륾" => "룖" ; + "륿" => "룗" ; + "릀" => "룘" ; + "릁" => "룙" ; + "릂" => "룚" ; + "릃" => "룛" ; + "름" => "룜" ; + "릅" => "룝" ; + "릆" => "룞" ; + "릇" => "룟" ; + "릈" => "룠" ; + "릉" => "룡" ; + "릊" => "룢" ; + "릋" => "룣" ; + "릌" => "룤" ; + "릍" => "룥" ; + "릎" => "룦" ; + "릏" => "룧" ; + "므" => "묘" ; + "믁" => "묙" ; + "믂" => "묚" ; + "믃" => "묛" ; + "믄" => "묜" ; + "믅" => "묝" ; + "믆" => "묞" ; + "믇" => "묟" ; + "믈" => "묠" ; + "믉" => "묡" ; + "믊" => "묢" ; + "믋" => "묣" ; + "믌" => "묤" ; + "믍" => "묥" ; + "믎" => "묦" ; + "믏" => "묧" ; + "믐" => "묨" ; + "믑" => "묩" ; + "믒" => "묪" ; + "믓" => "묫" ; + "믔" => "묬" ; + "믕" => "묭" ; + "믖" => "묮" ; + "믗" => "묯" ; + "믘" => "묰" ; + "믙" => "묱" ; + "믚" => "묲" ; + "믛" => "묳" ; + "브" => "뵤" ; + "븍" => "뵥" ; + "븎" => "뵦" ; + "븏" => "뵧" ; + "븐" => "뵨" ; + "븑" => "뵩" ; + "븒" => "뵪" ; + "븓" => "뵫" ; + "블" => "뵬" ; + "븕" => "뵭" ; + "븖" => "뵮" ; + "븗" => "뵯" ; + "븘" => "뵰" ; + "븙" => "뵱" ; + "븚" => "뵲" ; + "븛" => "뵳" ; + "븜" => "뵴" ; + "븝" => "뵵" ; + "븞" => "뵶" ; + "븟" => "뵷" ; + "븠" => "뵸" ; + "븡" => "뵹" ; + "븢" => "뵺" ; + "븣" => "뵻" ; + "븤" => "뵼" ; + "븥" => "뵽" ; + "븦" => "뵾" ; + "븧" => "뵿" ; + "쁘" => "뾰" ; + "쁙" => "뾱" ; + "쁚" => "뾲" ; + "쁛" => "뾳" ; + "쁜" => "뾴" ; + "쁝" => "뾵" ; + "쁞" => "뾶" ; + "쁟" => "뾷" ; + "쁠" => "뾸" ; + "쁡" => "뾹" ; + "쁢" => "뾺" ; + "쁣" => "뾻" ; + "쁤" => "뾼" ; + "쁥" => "뾽" ; + "쁦" => "뾾" ; + "쁧" => "뾿" ; + "쁨" => "뿀" ; + "쁩" => "뿁" ; + "쁪" => "뿂" ; + "쁫" => "뿃" ; + "쁬" => "뿄" ; + "쁭" => "뿅" ; + "쁮" => "뿆" ; + "쁯" => "뿇" ; + "쁰" => "뿈" ; + "쁱" => "뿉" ; + "쁲" => "뿊" ; + "쁳" => "뿋" ; + "스" => "쇼" ; + "슥" => "쇽" ; + "슦" => "쇾" ; + "슧" => "쇿" ; + "슨" => "숀" ; + "슩" => "숁" ; + "슪" => "숂" ; + "슫" => "숃" ; + "슬" => "숄" ; + "슭" => "숅" ; + "슮" => "숆" ; + "슯" => "숇" ; + "슰" => "숈" ; + "슱" => "숉" ; + "슲" => "숊" ; + "슳" => "숋" ; + "슴" => "숌" ; + "습" => "숍" ; + "슶" => "숎" ; + "슷" => "숏" ; + "슸" => "숐" ; + "승" => "숑" ; + "슺" => "숒" ; + "슻" => "숓" ; + "슼" => "숔" ; + "슽" => "숕" ; + "슾" => "숖" ; + "슿" => "숗" ; + "쓰" => "쑈" ; + "쓱" => "쑉" ; + "쓲" => "쑊" ; + "쓳" => "쑋" ; + "쓴" => "쑌" ; + "쓵" => "쑍" ; + "쓶" => "쑎" ; + "쓷" => "쑏" ; + "쓸" => "쑐" ; + "쓹" => "쑑" ; + "쓺" => "쑒" ; + "쓻" => "쑓" ; + "쓼" => "쑔" ; + "쓽" => "쑕" ; + "쓾" => "쑖" ; + "쓿" => "쑗" ; + "씀" => "쑘" ; + "씁" => "쑙" ; + "씂" => "쑚" ; + "씃" => "쑛" ; + "씄" => "쑜" ; + "씅" => "쑝" ; + "씆" => "쑞" ; + "씇" => "쑟" ; + "씈" => "쑠" ; + "씉" => "쑡" ; + "씊" => "쑢" ; + "씋" => "쑣" ; + "으" => "요" ; + "윽" => "욕" ; + "윾" => "욖" ; + "윿" => "욗" ; + "은" => "욘" ; + "읁" => "욙" ; + "읂" => "욚" ; + "읃" => "욛" ; + "을" => "욜" ; + "읅" => "욝" ; + "읆" => "욞" ; + "읇" => "욟" ; + "읈" => "욠" ; + "읉" => "욡" ; + "읊" => "욢" ; + "읋" => "욣" ; + "음" => "욤" ; + "읍" => "욥" ; + "읎" => "욦" ; + "읏" => "욧" ; + "읐" => "욨" ; + "응" => "용" ; + "읒" => "욪" ; + "읓" => "욫" ; + "읔" => "욬" ; + "읕" => "욭" ; + "읖" => "욮" ; + "읗" => "욯" ; + "즈" => "죠" ; + "즉" => "죡" ; + "즊" => "죢" ; + "즋" => "죣" ; + "즌" => "죤" ; + "즍" => "죥" ; + "즎" => "죦" ; + "즏" => "죧" ; + "즐" => "죨" ; + "즑" => "죩" ; + "즒" => "죪" ; + "즓" => "죫" ; + "즔" => "죬" ; + "즕" => "죭" ; + "즖" => "죮" ; + "즗" => "죯" ; + "즘" => "죰" ; + "즙" => "죱" ; + "즚" => "죲" ; + "즛" => "죳" ; + "즜" => "죴" ; + "증" => "죵" ; + "즞" => "죶" ; + "즟" => "죷" ; + "즠" => "죸" ; + "즡" => "죹" ; + "즢" => "죺" ; + "즣" => "죻" ; + "쯔" => "쬬" ; + "쯕" => "쬭" ; + "쯖" => "쬮" ; + "쯗" => "쬯" ; + "쯘" => "쬰" ; + "쯙" => "쬱" ; + "쯚" => "쬲" ; + "쯛" => "쬳" ; + "쯜" => "쬴" ; + "쯝" => "쬵" ; + "쯞" => "쬶" ; + "쯟" => "쬷" ; + "쯠" => "쬸" ; + "쯡" => "쬹" ; + "쯢" => "쬺" ; + "쯣" => "쬻" ; + "쯤" => "쬼" ; + "쯥" => "쬽" ; + "쯦" => "쬾" ; + "쯧" => "쬿" ; + "쯨" => "쭀" ; + "쯩" => "쭁" ; + "쯪" => "쭂" ; + "쯫" => "쭃" ; + "쯬" => "쭄" ; + "쯭" => "쭅" ; + "쯮" => "쭆" ; + "쯯" => "쭇" ; + "츠" => "쵸" ; + "측" => "쵹" ; + "츢" => "쵺" ; + "츣" => "쵻" ; + "츤" => "쵼" ; + "츥" => "쵽" ; + "츦" => "쵾" ; + "츧" => "쵿" ; + "츨" => "춀" ; + "츩" => "춁" ; + "츪" => "춂" ; + "츫" => "춃" ; + "츬" => "춄" ; + "츭" => "춅" ; + "츮" => "춆" ; + "츯" => "춇" ; + "츰" => "춈" ; + "츱" => "춉" ; + "츲" => "춊" ; + "츳" => "춋" ; + "츴" => "춌" ; + "층" => "춍" ; + "츶" => "춎" ; + "츷" => "춏" ; + "츸" => "춐" ; + "츹" => "춑" ; + "츺" => "춒" ; + "츻" => "춓" ; + "크" => "쿄" ; + "큭" => "쿅" ; + "큮" => "쿆" ; + "큯" => "쿇" ; + "큰" => "쿈" ; + "큱" => "쿉" ; + "큲" => "쿊" ; + "큳" => "쿋" ; + "클" => "쿌" ; + "큵" => "쿍" ; + "큶" => "쿎" ; + "큷" => "쿏" ; + "큸" => "쿐" ; + "큹" => "쿑" ; + "큺" => "쿒" ; + "큻" => "쿓" ; + "큼" => "쿔" ; + "큽" => "쿕" ; + "큾" => "쿖" ; + "큿" => "쿗" ; + "킀" => "쿘" ; + "킁" => "쿙" ; + "킂" => "쿚" ; + "킃" => "쿛" ; + "킄" => "쿜" ; + "킅" => "쿝" ; + "킆" => "쿞" ; + "킇" => "쿟" ; + "트" => "툐" ; + "특" => "툑" ; + "튺" => "툒" ; + "튻" => "툓" ; + "튼" => "툔" ; + "튽" => "툕" ; + "튾" => "툖" ; + "튿" => "툗" ; + "틀" => "툘" ; + "틁" => "툙" ; + "틂" => "툚" ; + "틃" => "툛" ; + "틄" => "툜" ; + "틅" => "툝" ; + "틆" => "툞" ; + "틇" => "툟" ; + "틈" => "툠" ; + "틉" => "툡" ; + "틊" => "툢" ; + "틋" => "툣" ; + "틌" => "툤" ; + "틍" => "툥" ; + "틎" => "툦" ; + "틏" => "툧" ; + "틐" => "툨" ; + "틑" => "툩" ; + "틒" => "툪" ; + "틓" => "툫" ; + "프" => "표" ; + "픅" => "푝" ; + "픆" => "푞" ; + "픇" => "푟" ; + "픈" => "푠" ; + "픉" => "푡" ; + "픊" => "푢" ; + "픋" => "푣" ; + "플" => "푤" ; + "픍" => "푥" ; + "픎" => "푦" ; + "픏" => "푧" ; + "픐" => "푨" ; + "픑" => "푩" ; + "픒" => "푪" ; + "픓" => "푫" ; + "픔" => "푬" ; + "픕" => "푭" ; + "픖" => "푮" ; + "픗" => "푯" ; + "픘" => "푰" ; + "픙" => "푱" ; + "픚" => "푲" ; + "픛" => "푳" ; + "픜" => "푴" ; + "픝" => "푵" ; + "픞" => "푶" ; + "픟" => "푷" ; + "흐" => "효" ; + "흑" => "횩" ; + "흒" => "횪" ; + "흓" => "횫" ; + "흔" => "횬" ; + "흕" => "횭" ; + "흖" => "횮" ; + "흗" => "횯" ; + "흘" => "횰" ; + "흙" => "횱" ; + "흚" => "횲" ; + "흛" => "횳" ; + "흜" => "횴" ; + "흝" => "횵" ; + "흞" => "횶" ; + "흟" => "횷" ; + "흠" => "횸" ; + "흡" => "횹" ; + "흢" => "횺" ; + "흣" => "횻" ; + "흤" => "횼" ; + "흥" => "횽" ; + "흦" => "횾" ; + "흧" => "횿" ; + "흨" => "훀" ; + "흩" => "훁" ; + "흪" => "훂" ; + "흫" => "훃" }; + "우" => case syl of { + "그" => "구" ; + "극" => "국" ; + "귺" => "굮" ; + "귻" => "굯" ; + "근" => "군" ; + "귽" => "굱" ; + "귾" => "굲" ; + "귿" => "굳" ; + "글" => "굴" ; + "긁" => "굵" ; + "긂" => "굶" ; + "긃" => "굷" ; + "긄" => "굸" ; + "긅" => "굹" ; + "긆" => "굺" ; + "긇" => "굻" ; + "금" => "굼" ; + "급" => "굽" ; + "긊" => "굾" ; + "긋" => "굿" ; + "긌" => "궀" ; + "긍" => "궁" ; + "긎" => "궂" ; + "긏" => "궃" ; + "긐" => "궄" ; + "긑" => "궅" ; + "긒" => "궆" ; + "긓" => "궇" ; + "끄" => "꾸" ; + "끅" => "꾹" ; + "끆" => "꾺" ; + "끇" => "꾻" ; + "끈" => "꾼" ; + "끉" => "꾽" ; + "끊" => "꾾" ; + "끋" => "꾿" ; + "끌" => "꿀" ; + "끍" => "꿁" ; + "끎" => "꿂" ; + "끏" => "꿃" ; + "끐" => "꿄" ; + "끑" => "꿅" ; + "끒" => "꿆" ; + "끓" => "꿇" ; + "끔" => "꿈" ; + "끕" => "꿉" ; + "끖" => "꿊" ; + "끗" => "꿋" ; + "끘" => "꿌" ; + "끙" => "꿍" ; + "끚" => "꿎" ; + "끛" => "꿏" ; + "끜" => "꿐" ; + "끝" => "꿑" ; + "끞" => "꿒" ; + "끟" => "꿓" ; + "느" => "누" ; + "늑" => "눅" ; + "늒" => "눆" ; + "늓" => "눇" ; + "는" => "눈" ; + "늕" => "눉" ; + "늖" => "눊" ; + "늗" => "눋" ; + "늘" => "눌" ; + "늙" => "눍" ; + "늚" => "눎" ; + "늛" => "눏" ; + "늜" => "눐" ; + "늝" => "눑" ; + "늞" => "눒" ; + "늟" => "눓" ; + "늠" => "눔" ; + "늡" => "눕" ; + "늢" => "눖" ; + "늣" => "눗" ; + "늤" => "눘" ; + "능" => "눙" ; + "늦" => "눚" ; + "늧" => "눛" ; + "늨" => "눜" ; + "늩" => "눝" ; + "늪" => "눞" ; + "늫" => "눟" ; + "드" => "두" ; + "득" => "둑" ; + "듞" => "둒" ; + "듟" => "둓" ; + "든" => "둔" ; + "듡" => "둕" ; + "듢" => "둖" ; + "듣" => "둗" ; + "들" => "둘" ; + "듥" => "둙" ; + "듦" => "둚" ; + "듧" => "둛" ; + "듨" => "둜" ; + "듩" => "둝" ; + "듪" => "둞" ; + "듫" => "둟" ; + "듬" => "둠" ; + "듭" => "둡" ; + "듮" => "둢" ; + "듯" => "둣" ; + "듰" => "둤" ; + "등" => "둥" ; + "듲" => "둦" ; + "듳" => "둧" ; + "듴" => "둨" ; + "듵" => "둩" ; + "듶" => "둪" ; + "듷" => "둫" ; + "뜨" => "뚜" ; + "뜩" => "뚝" ; + "뜪" => "뚞" ; + "뜫" => "뚟" ; + "뜬" => "뚠" ; + "뜭" => "뚡" ; + "뜮" => "뚢" ; + "뜯" => "뚣" ; + "뜰" => "뚤" ; + "뜱" => "뚥" ; + "뜲" => "뚦" ; + "뜳" => "뚧" ; + "뜴" => "뚨" ; + "뜵" => "뚩" ; + "뜶" => "뚪" ; + "뜷" => "뚫" ; + "뜸" => "뚬" ; + "뜹" => "뚭" ; + "뜺" => "뚮" ; + "뜻" => "뚯" ; + "뜼" => "뚰" ; + "뜽" => "뚱" ; + "뜾" => "뚲" ; + "뜿" => "뚳" ; + "띀" => "뚴" ; + "띁" => "뚵" ; + "띂" => "뚶" ; + "띃" => "뚷" ; + "르" => "루" ; + "륵" => "룩" ; + "륶" => "룪" ; + "륷" => "룫" ; + "른" => "룬" ; + "륹" => "룭" ; + "륺" => "룮" ; + "륻" => "룯" ; + "를" => "룰" ; + "륽" => "룱" ; + "륾" => "룲" ; + "륿" => "룳" ; + "릀" => "룴" ; + "릁" => "룵" ; + "릂" => "룶" ; + "릃" => "룷" ; + "름" => "룸" ; + "릅" => "룹" ; + "릆" => "룺" ; + "릇" => "룻" ; + "릈" => "룼" ; + "릉" => "룽" ; + "릊" => "룾" ; + "릋" => "룿" ; + "릌" => "뤀" ; + "릍" => "뤁" ; + "릎" => "뤂" ; + "릏" => "뤃" ; + "므" => "무" ; + "믁" => "묵" ; + "믂" => "묶" ; + "믃" => "묷" ; + "믄" => "문" ; + "믅" => "묹" ; + "믆" => "묺" ; + "믇" => "묻" ; + "믈" => "물" ; + "믉" => "묽" ; + "믊" => "묾" ; + "믋" => "묿" ; + "믌" => "뭀" ; + "믍" => "뭁" ; + "믎" => "뭂" ; + "믏" => "뭃" ; + "믐" => "뭄" ; + "믑" => "뭅" ; + "믒" => "뭆" ; + "믓" => "뭇" ; + "믔" => "뭈" ; + "믕" => "뭉" ; + "믖" => "뭊" ; + "믗" => "뭋" ; + "믘" => "뭌" ; + "믙" => "뭍" ; + "믚" => "뭎" ; + "믛" => "뭏" ; + "브" => "부" ; + "븍" => "북" ; + "븎" => "붂" ; + "븏" => "붃" ; + "븐" => "분" ; + "븑" => "붅" ; + "븒" => "붆" ; + "븓" => "붇" ; + "블" => "불" ; + "븕" => "붉" ; + "븖" => "붊" ; + "븗" => "붋" ; + "븘" => "붌" ; + "븙" => "붍" ; + "븚" => "붎" ; + "븛" => "붏" ; + "븜" => "붐" ; + "븝" => "붑" ; + "븞" => "붒" ; + "븟" => "붓" ; + "븠" => "붔" ; + "븡" => "붕" ; + "븢" => "붖" ; + "븣" => "붗" ; + "븤" => "붘" ; + "븥" => "붙" ; + "븦" => "붚" ; + "븧" => "붛" ; + "쁘" => "뿌" ; + "쁙" => "뿍" ; + "쁚" => "뿎" ; + "쁛" => "뿏" ; + "쁜" => "뿐" ; + "쁝" => "뿑" ; + "쁞" => "뿒" ; + "쁟" => "뿓" ; + "쁠" => "뿔" ; + "쁡" => "뿕" ; + "쁢" => "뿖" ; + "쁣" => "뿗" ; + "쁤" => "뿘" ; + "쁥" => "뿙" ; + "쁦" => "뿚" ; + "쁧" => "뿛" ; + "쁨" => "뿜" ; + "쁩" => "뿝" ; + "쁪" => "뿞" ; + "쁫" => "뿟" ; + "쁬" => "뿠" ; + "쁭" => "뿡" ; + "쁮" => "뿢" ; + "쁯" => "뿣" ; + "쁰" => "뿤" ; + "쁱" => "뿥" ; + "쁲" => "뿦" ; + "쁳" => "뿧" ; + "스" => "수" ; + "슥" => "숙" ; + "슦" => "숚" ; + "슧" => "숛" ; + "슨" => "순" ; + "슩" => "숝" ; + "슪" => "숞" ; + "슫" => "숟" ; + "슬" => "술" ; + "슭" => "숡" ; + "슮" => "숢" ; + "슯" => "숣" ; + "슰" => "숤" ; + "슱" => "숥" ; + "슲" => "숦" ; + "슳" => "숧" ; + "슴" => "숨" ; + "습" => "숩" ; + "슶" => "숪" ; + "슷" => "숫" ; + "슸" => "숬" ; + "승" => "숭" ; + "슺" => "숮" ; + "슻" => "숯" ; + "슼" => "숰" ; + "슽" => "숱" ; + "슾" => "숲" ; + "슿" => "숳" ; + "쓰" => "쑤" ; + "쓱" => "쑥" ; + "쓲" => "쑦" ; + "쓳" => "쑧" ; + "쓴" => "쑨" ; + "쓵" => "쑩" ; + "쓶" => "쑪" ; + "쓷" => "쑫" ; + "쓸" => "쑬" ; + "쓹" => "쑭" ; + "쓺" => "쑮" ; + "쓻" => "쑯" ; + "쓼" => "쑰" ; + "쓽" => "쑱" ; + "쓾" => "쑲" ; + "쓿" => "쑳" ; + "씀" => "쑴" ; + "씁" => "쑵" ; + "씂" => "쑶" ; + "씃" => "쑷" ; + "씄" => "쑸" ; + "씅" => "쑹" ; + "씆" => "쑺" ; + "씇" => "쑻" ; + "씈" => "쑼" ; + "씉" => "쑽" ; + "씊" => "쑾" ; + "씋" => "쑿" ; + "으" => "우" ; + "윽" => "욱" ; + "윾" => "욲" ; + "윿" => "욳" ; + "은" => "운" ; + "읁" => "욵" ; + "읂" => "욶" ; + "읃" => "욷" ; + "을" => "울" ; + "읅" => "욹" ; + "읆" => "욺" ; + "읇" => "욻" ; + "읈" => "욼" ; + "읉" => "욽" ; + "읊" => "욾" ; + "읋" => "욿" ; + "음" => "움" ; + "읍" => "웁" ; + "읎" => "웂" ; + "읏" => "웃" ; + "읐" => "웄" ; + "응" => "웅" ; + "읒" => "웆" ; + "읓" => "웇" ; + "읔" => "웈" ; + "읕" => "웉" ; + "읖" => "웊" ; + "읗" => "웋" ; + "즈" => "주" ; + "즉" => "죽" ; + "즊" => "죾" ; + "즋" => "죿" ; + "즌" => "준" ; + "즍" => "줁" ; + "즎" => "줂" ; + "즏" => "줃" ; + "즐" => "줄" ; + "즑" => "줅" ; + "즒" => "줆" ; + "즓" => "줇" ; + "즔" => "줈" ; + "즕" => "줉" ; + "즖" => "줊" ; + "즗" => "줋" ; + "즘" => "줌" ; + "즙" => "줍" ; + "즚" => "줎" ; + "즛" => "줏" ; + "즜" => "줐" ; + "증" => "중" ; + "즞" => "줒" ; + "즟" => "줓" ; + "즠" => "줔" ; + "즡" => "줕" ; + "즢" => "줖" ; + "즣" => "줗" ; + "쯔" => "쭈" ; + "쯕" => "쭉" ; + "쯖" => "쭊" ; + "쯗" => "쭋" ; + "쯘" => "쭌" ; + "쯙" => "쭍" ; + "쯚" => "쭎" ; + "쯛" => "쭏" ; + "쯜" => "쭐" ; + "쯝" => "쭑" ; + "쯞" => "쭒" ; + "쯟" => "쭓" ; + "쯠" => "쭔" ; + "쯡" => "쭕" ; + "쯢" => "쭖" ; + "쯣" => "쭗" ; + "쯤" => "쭘" ; + "쯥" => "쭙" ; + "쯦" => "쭚" ; + "쯧" => "쭛" ; + "쯨" => "쭜" ; + "쯩" => "쭝" ; + "쯪" => "쭞" ; + "쯫" => "쭟" ; + "쯬" => "쭠" ; + "쯭" => "쭡" ; + "쯮" => "쭢" ; + "쯯" => "쭣" ; + "츠" => "추" ; + "측" => "축" ; + "츢" => "춖" ; + "츣" => "춗" ; + "츤" => "춘" ; + "츥" => "춙" ; + "츦" => "춚" ; + "츧" => "춛" ; + "츨" => "출" ; + "츩" => "춝" ; + "츪" => "춞" ; + "츫" => "춟" ; + "츬" => "춠" ; + "츭" => "춡" ; + "츮" => "춢" ; + "츯" => "춣" ; + "츰" => "춤" ; + "츱" => "춥" ; + "츲" => "춦" ; + "츳" => "춧" ; + "츴" => "춨" ; + "층" => "충" ; + "츶" => "춪" ; + "츷" => "춫" ; + "츸" => "춬" ; + "츹" => "춭" ; + "츺" => "춮" ; + "츻" => "춯" ; + "크" => "쿠" ; + "큭" => "쿡" ; + "큮" => "쿢" ; + "큯" => "쿣" ; + "큰" => "쿤" ; + "큱" => "쿥" ; + "큲" => "쿦" ; + "큳" => "쿧" ; + "클" => "쿨" ; + "큵" => "쿩" ; + "큶" => "쿪" ; + "큷" => "쿫" ; + "큸" => "쿬" ; + "큹" => "쿭" ; + "큺" => "쿮" ; + "큻" => "쿯" ; + "큼" => "쿰" ; + "큽" => "쿱" ; + "큾" => "쿲" ; + "큿" => "쿳" ; + "킀" => "쿴" ; + "킁" => "쿵" ; + "킂" => "쿶" ; + "킃" => "쿷" ; + "킄" => "쿸" ; + "킅" => "쿹" ; + "킆" => "쿺" ; + "킇" => "쿻" ; + "트" => "투" ; + "특" => "툭" ; + "튺" => "툮" ; + "튻" => "툯" ; + "튼" => "툰" ; + "튽" => "툱" ; + "튾" => "툲" ; + "튿" => "툳" ; + "틀" => "툴" ; + "틁" => "툵" ; + "틂" => "툶" ; + "틃" => "툷" ; + "틄" => "툸" ; + "틅" => "툹" ; + "틆" => "툺" ; + "틇" => "툻" ; + "틈" => "툼" ; + "틉" => "툽" ; + "틊" => "툾" ; + "틋" => "툿" ; + "틌" => "퉀" ; + "틍" => "퉁" ; + "틎" => "퉂" ; + "틏" => "퉃" ; + "틐" => "퉄" ; + "틑" => "퉅" ; + "틒" => "퉆" ; + "틓" => "퉇" ; + "프" => "푸" ; + "픅" => "푹" ; + "픆" => "푺" ; + "픇" => "푻" ; + "픈" => "푼" ; + "픉" => "푽" ; + "픊" => "푾" ; + "픋" => "푿" ; + "플" => "풀" ; + "픍" => "풁" ; + "픎" => "풂" ; + "픏" => "풃" ; + "픐" => "풄" ; + "픑" => "풅" ; + "픒" => "풆" ; + "픓" => "풇" ; + "픔" => "품" ; + "픕" => "풉" ; + "픖" => "풊" ; + "픗" => "풋" ; + "픘" => "풌" ; + "픙" => "풍" ; + "픚" => "풎" ; + "픛" => "풏" ; + "픜" => "풐" ; + "픝" => "풑" ; + "픞" => "풒" ; + "픟" => "풓" ; + "흐" => "후" ; + "흑" => "훅" ; + "흒" => "훆" ; + "흓" => "훇" ; + "흔" => "훈" ; + "흕" => "훉" ; + "흖" => "훊" ; + "흗" => "훋" ; + "흘" => "훌" ; + "흙" => "훍" ; + "흚" => "훎" ; + "흛" => "훏" ; + "흜" => "훐" ; + "흝" => "훑" ; + "흞" => "훒" ; + "흟" => "훓" ; + "흠" => "훔" ; + "흡" => "훕" ; + "흢" => "훖" ; + "흣" => "훗" ; + "흤" => "훘" ; + "흥" => "훙" ; + "흦" => "훚" ; + "흧" => "훛" ; + "흨" => "훜" ; + "흩" => "훝" ; + "흪" => "훞" ; + "흫" => "훟" }; + "워" => case syl of { + "그" => "궈" ; + "극" => "궉" ; + "귺" => "궊" ; + "귻" => "궋" ; + "근" => "권" ; + "귽" => "궍" ; + "귾" => "궎" ; + "귿" => "궏" ; + "글" => "궐" ; + "긁" => "궑" ; + "긂" => "궒" ; + "긃" => "궓" ; + "긄" => "궔" ; + "긅" => "궕" ; + "긆" => "궖" ; + "긇" => "궗" ; + "금" => "궘" ; + "급" => "궙" ; + "긊" => "궚" ; + "긋" => "궛" ; + "긌" => "궜" ; + "긍" => "궝" ; + "긎" => "궞" ; + "긏" => "궟" ; + "긐" => "궠" ; + "긑" => "궡" ; + "긒" => "궢" ; + "긓" => "궣" ; + "끄" => "꿔" ; + "끅" => "꿕" ; + "끆" => "꿖" ; + "끇" => "꿗" ; + "끈" => "꿘" ; + "끉" => "꿙" ; + "끊" => "꿚" ; + "끋" => "꿛" ; + "끌" => "꿜" ; + "끍" => "꿝" ; + "끎" => "꿞" ; + "끏" => "꿟" ; + "끐" => "꿠" ; + "끑" => "꿡" ; + "끒" => "꿢" ; + "끓" => "꿣" ; + "끔" => "꿤" ; + "끕" => "꿥" ; + "끖" => "꿦" ; + "끗" => "꿧" ; + "끘" => "꿨" ; + "끙" => "꿩" ; + "끚" => "꿪" ; + "끛" => "꿫" ; + "끜" => "꿬" ; + "끝" => "꿭" ; + "끞" => "꿮" ; + "끟" => "꿯" ; + "느" => "눠" ; + "늑" => "눡" ; + "늒" => "눢" ; + "늓" => "눣" ; + "는" => "눤" ; + "늕" => "눥" ; + "늖" => "눦" ; + "늗" => "눧" ; + "늘" => "눨" ; + "늙" => "눩" ; + "늚" => "눪" ; + "늛" => "눫" ; + "늜" => "눬" ; + "늝" => "눭" ; + "늞" => "눮" ; + "늟" => "눯" ; + "늠" => "눰" ; + "늡" => "눱" ; + "늢" => "눲" ; + "늣" => "눳" ; + "늤" => "눴" ; + "능" => "눵" ; + "늦" => "눶" ; + "늧" => "눷" ; + "늨" => "눸" ; + "늩" => "눹" ; + "늪" => "눺" ; + "늫" => "눻" ; + "드" => "둬" ; + "득" => "둭" ; + "듞" => "둮" ; + "듟" => "둯" ; + "든" => "둰" ; + "듡" => "둱" ; + "듢" => "둲" ; + "듣" => "둳" ; + "들" => "둴" ; + "듥" => "둵" ; + "듦" => "둶" ; + "듧" => "둷" ; + "듨" => "둸" ; + "듩" => "둹" ; + "듪" => "둺" ; + "듫" => "둻" ; + "듬" => "둼" ; + "듭" => "둽" ; + "듮" => "둾" ; + "듯" => "둿" ; + "듰" => "뒀" ; + "등" => "뒁" ; + "듲" => "뒂" ; + "듳" => "뒃" ; + "듴" => "뒄" ; + "듵" => "뒅" ; + "듶" => "뒆" ; + "듷" => "뒇" ; + "뜨" => "뚸" ; + "뜩" => "뚹" ; + "뜪" => "뚺" ; + "뜫" => "뚻" ; + "뜬" => "뚼" ; + "뜭" => "뚽" ; + "뜮" => "뚾" ; + "뜯" => "뚿" ; + "뜰" => "뛀" ; + "뜱" => "뛁" ; + "뜲" => "뛂" ; + "뜳" => "뛃" ; + "뜴" => "뛄" ; + "뜵" => "뛅" ; + "뜶" => "뛆" ; + "뜷" => "뛇" ; + "뜸" => "뛈" ; + "뜹" => "뛉" ; + "뜺" => "뛊" ; + "뜻" => "뛋" ; + "뜼" => "뛌" ; + "뜽" => "뛍" ; + "뜾" => "뛎" ; + "뜿" => "뛏" ; + "띀" => "뛐" ; + "띁" => "뛑" ; + "띂" => "뛒" ; + "띃" => "뛓" ; + "르" => "뤄" ; + "륵" => "뤅" ; + "륶" => "뤆" ; + "륷" => "뤇" ; + "른" => "뤈" ; + "륹" => "뤉" ; + "륺" => "뤊" ; + "륻" => "뤋" ; + "를" => "뤌" ; + "륽" => "뤍" ; + "륾" => "뤎" ; + "륿" => "뤏" ; + "릀" => "뤐" ; + "릁" => "뤑" ; + "릂" => "뤒" ; + "릃" => "뤓" ; + "름" => "뤔" ; + "릅" => "뤕" ; + "릆" => "뤖" ; + "릇" => "뤗" ; + "릈" => "뤘" ; + "릉" => "뤙" ; + "릊" => "뤚" ; + "릋" => "뤛" ; + "릌" => "뤜" ; + "릍" => "뤝" ; + "릎" => "뤞" ; + "릏" => "뤟" ; + "므" => "뭐" ; + "믁" => "뭑" ; + "믂" => "뭒" ; + "믃" => "뭓" ; + "믄" => "뭔" ; + "믅" => "뭕" ; + "믆" => "뭖" ; + "믇" => "뭗" ; + "믈" => "뭘" ; + "믉" => "뭙" ; + "믊" => "뭚" ; + "믋" => "뭛" ; + "믌" => "뭜" ; + "믍" => "뭝" ; + "믎" => "뭞" ; + "믏" => "뭟" ; + "믐" => "뭠" ; + "믑" => "뭡" ; + "믒" => "뭢" ; + "믓" => "뭣" ; + "믔" => "뭤" ; + "믕" => "뭥" ; + "믖" => "뭦" ; + "믗" => "뭧" ; + "믘" => "뭨" ; + "믙" => "뭩" ; + "믚" => "뭪" ; + "믛" => "뭫" ; + "브" => "붜" ; + "븍" => "붝" ; + "븎" => "붞" ; + "븏" => "붟" ; + "븐" => "붠" ; + "븑" => "붡" ; + "븒" => "붢" ; + "븓" => "붣" ; + "블" => "붤" ; + "븕" => "붥" ; + "븖" => "붦" ; + "븗" => "붧" ; + "븘" => "붨" ; + "븙" => "붩" ; + "븚" => "붪" ; + "븛" => "붫" ; + "븜" => "붬" ; + "븝" => "붭" ; + "븞" => "붮" ; + "븟" => "붯" ; + "븠" => "붰" ; + "븡" => "붱" ; + "븢" => "붲" ; + "븣" => "붳" ; + "븤" => "붴" ; + "븥" => "붵" ; + "븦" => "붶" ; + "븧" => "붷" ; + "쁘" => "뿨" ; + "쁙" => "뿩" ; + "쁚" => "뿪" ; + "쁛" => "뿫" ; + "쁜" => "뿬" ; + "쁝" => "뿭" ; + "쁞" => "뿮" ; + "쁟" => "뿯" ; + "쁠" => "뿰" ; + "쁡" => "뿱" ; + "쁢" => "뿲" ; + "쁣" => "뿳" ; + "쁤" => "뿴" ; + "쁥" => "뿵" ; + "쁦" => "뿶" ; + "쁧" => "뿷" ; + "쁨" => "뿸" ; + "쁩" => "뿹" ; + "쁪" => "뿺" ; + "쁫" => "뿻" ; + "쁬" => "뿼" ; + "쁭" => "뿽" ; + "쁮" => "뿾" ; + "쁯" => "뿿" ; + "쁰" => "쀀" ; + "쁱" => "쀁" ; + "쁲" => "쀂" ; + "쁳" => "쀃" ; + "스" => "숴" ; + "슥" => "숵" ; + "슦" => "숶" ; + "슧" => "숷" ; + "슨" => "숸" ; + "슩" => "숹" ; + "슪" => "숺" ; + "슫" => "숻" ; + "슬" => "숼" ; + "슭" => "숽" ; + "슮" => "숾" ; + "슯" => "숿" ; + "슰" => "쉀" ; + "슱" => "쉁" ; + "슲" => "쉂" ; + "슳" => "쉃" ; + "슴" => "쉄" ; + "습" => "쉅" ; + "슶" => "쉆" ; + "슷" => "쉇" ; + "슸" => "쉈" ; + "승" => "쉉" ; + "슺" => "쉊" ; + "슻" => "쉋" ; + "슼" => "쉌" ; + "슽" => "쉍" ; + "슾" => "쉎" ; + "슿" => "쉏" ; + "쓰" => "쒀" ; + "쓱" => "쒁" ; + "쓲" => "쒂" ; + "쓳" => "쒃" ; + "쓴" => "쒄" ; + "쓵" => "쒅" ; + "쓶" => "쒆" ; + "쓷" => "쒇" ; + "쓸" => "쒈" ; + "쓹" => "쒉" ; + "쓺" => "쒊" ; + "쓻" => "쒋" ; + "쓼" => "쒌" ; + "쓽" => "쒍" ; + "쓾" => "쒎" ; + "쓿" => "쒏" ; + "씀" => "쒐" ; + "씁" => "쒑" ; + "씂" => "쒒" ; + "씃" => "쒓" ; + "씄" => "쒔" ; + "씅" => "쒕" ; + "씆" => "쒖" ; + "씇" => "쒗" ; + "씈" => "쒘" ; + "씉" => "쒙" ; + "씊" => "쒚" ; + "씋" => "쒛" ; + "으" => "워" ; + "윽" => "웍" ; + "윾" => "웎" ; + "윿" => "웏" ; + "은" => "원" ; + "읁" => "웑" ; + "읂" => "웒" ; + "읃" => "웓" ; + "을" => "월" ; + "읅" => "웕" ; + "읆" => "웖" ; + "읇" => "웗" ; + "읈" => "웘" ; + "읉" => "웙" ; + "읊" => "웚" ; + "읋" => "웛" ; + "음" => "웜" ; + "읍" => "웝" ; + "읎" => "웞" ; + "읏" => "웟" ; + "읐" => "웠" ; + "응" => "웡" ; + "읒" => "웢" ; + "읓" => "웣" ; + "읔" => "웤" ; + "읕" => "웥" ; + "읖" => "웦" ; + "읗" => "웧" ; + "즈" => "줘" ; + "즉" => "줙" ; + "즊" => "줚" ; + "즋" => "줛" ; + "즌" => "줜" ; + "즍" => "줝" ; + "즎" => "줞" ; + "즏" => "줟" ; + "즐" => "줠" ; + "즑" => "줡" ; + "즒" => "줢" ; + "즓" => "줣" ; + "즔" => "줤" ; + "즕" => "줥" ; + "즖" => "줦" ; + "즗" => "줧" ; + "즘" => "줨" ; + "즙" => "줩" ; + "즚" => "줪" ; + "즛" => "줫" ; + "즜" => "줬" ; + "증" => "줭" ; + "즞" => "줮" ; + "즟" => "줯" ; + "즠" => "줰" ; + "즡" => "줱" ; + "즢" => "줲" ; + "즣" => "줳" ; + "쯔" => "쭤" ; + "쯕" => "쭥" ; + "쯖" => "쭦" ; + "쯗" => "쭧" ; + "쯘" => "쭨" ; + "쯙" => "쭩" ; + "쯚" => "쭪" ; + "쯛" => "쭫" ; + "쯜" => "쭬" ; + "쯝" => "쭭" ; + "쯞" => "쭮" ; + "쯟" => "쭯" ; + "쯠" => "쭰" ; + "쯡" => "쭱" ; + "쯢" => "쭲" ; + "쯣" => "쭳" ; + "쯤" => "쭴" ; + "쯥" => "쭵" ; + "쯦" => "쭶" ; + "쯧" => "쭷" ; + "쯨" => "쭸" ; + "쯩" => "쭹" ; + "쯪" => "쭺" ; + "쯫" => "쭻" ; + "쯬" => "쭼" ; + "쯭" => "쭽" ; + "쯮" => "쭾" ; + "쯯" => "쭿" ; + "츠" => "춰" ; + "측" => "춱" ; + "츢" => "춲" ; + "츣" => "춳" ; + "츤" => "춴" ; + "츥" => "춵" ; + "츦" => "춶" ; + "츧" => "춷" ; + "츨" => "춸" ; + "츩" => "춹" ; + "츪" => "춺" ; + "츫" => "춻" ; + "츬" => "춼" ; + "츭" => "춽" ; + "츮" => "춾" ; + "츯" => "춿" ; + "츰" => "췀" ; + "츱" => "췁" ; + "츲" => "췂" ; + "츳" => "췃" ; + "츴" => "췄" ; + "층" => "췅" ; + "츶" => "췆" ; + "츷" => "췇" ; + "츸" => "췈" ; + "츹" => "췉" ; + "츺" => "췊" ; + "츻" => "췋" ; + "크" => "쿼" ; + "큭" => "쿽" ; + "큮" => "쿾" ; + "큯" => "쿿" ; + "큰" => "퀀" ; + "큱" => "퀁" ; + "큲" => "퀂" ; + "큳" => "퀃" ; + "클" => "퀄" ; + "큵" => "퀅" ; + "큶" => "퀆" ; + "큷" => "퀇" ; + "큸" => "퀈" ; + "큹" => "퀉" ; + "큺" => "퀊" ; + "큻" => "퀋" ; + "큼" => "퀌" ; + "큽" => "퀍" ; + "큾" => "퀎" ; + "큿" => "퀏" ; + "킀" => "퀐" ; + "킁" => "퀑" ; + "킂" => "퀒" ; + "킃" => "퀓" ; + "킄" => "퀔" ; + "킅" => "퀕" ; + "킆" => "퀖" ; + "킇" => "퀗" ; + "트" => "퉈" ; + "특" => "퉉" ; + "튺" => "퉊" ; + "튻" => "퉋" ; + "튼" => "퉌" ; + "튽" => "퉍" ; + "튾" => "퉎" ; + "튿" => "퉏" ; + "틀" => "퉐" ; + "틁" => "퉑" ; + "틂" => "퉒" ; + "틃" => "퉓" ; + "틄" => "퉔" ; + "틅" => "퉕" ; + "틆" => "퉖" ; + "틇" => "퉗" ; + "틈" => "퉘" ; + "틉" => "퉙" ; + "틊" => "퉚" ; + "틋" => "퉛" ; + "틌" => "퉜" ; + "틍" => "퉝" ; + "틎" => "퉞" ; + "틏" => "퉟" ; + "틐" => "퉠" ; + "틑" => "퉡" ; + "틒" => "퉢" ; + "틓" => "퉣" ; + "프" => "풔" ; + "픅" => "풕" ; + "픆" => "풖" ; + "픇" => "풗" ; + "픈" => "풘" ; + "픉" => "풙" ; + "픊" => "풚" ; + "픋" => "풛" ; + "플" => "풜" ; + "픍" => "풝" ; + "픎" => "풞" ; + "픏" => "풟" ; + "픐" => "풠" ; + "픑" => "풡" ; + "픒" => "풢" ; + "픓" => "풣" ; + "픔" => "풤" ; + "픕" => "풥" ; + "픖" => "풦" ; + "픗" => "풧" ; + "픘" => "풨" ; + "픙" => "풩" ; + "픚" => "풪" ; + "픛" => "풫" ; + "픜" => "풬" ; + "픝" => "풭" ; + "픞" => "풮" ; + "픟" => "풯" ; + "흐" => "훠" ; + "흑" => "훡" ; + "흒" => "훢" ; + "흓" => "훣" ; + "흔" => "훤" ; + "흕" => "훥" ; + "흖" => "훦" ; + "흗" => "훧" ; + "흘" => "훨" ; + "흙" => "훩" ; + "흚" => "훪" ; + "흛" => "훫" ; + "흜" => "훬" ; + "흝" => "훭" ; + "흞" => "훮" ; + "흟" => "훯" ; + "흠" => "훰" ; + "흡" => "훱" ; + "흢" => "훲" ; + "흣" => "훳" ; + "흤" => "훴" ; + "흥" => "훵" ; + "흦" => "훶" ; + "흧" => "훷" ; + "흨" => "훸" ; + "흩" => "훹" ; + "흪" => "훺" ; + "흫" => "훻" }; + "웨" => case syl of { + "그" => "궤" ; + "극" => "궥" ; + "귺" => "궦" ; + "귻" => "궧" ; + "근" => "궨" ; + "귽" => "궩" ; + "귾" => "궪" ; + "귿" => "궫" ; + "글" => "궬" ; + "긁" => "궭" ; + "긂" => "궮" ; + "긃" => "궯" ; + "긄" => "궰" ; + "긅" => "궱" ; + "긆" => "궲" ; + "긇" => "궳" ; + "금" => "궴" ; + "급" => "궵" ; + "긊" => "궶" ; + "긋" => "궷" ; + "긌" => "궸" ; + "긍" => "궹" ; + "긎" => "궺" ; + "긏" => "궻" ; + "긐" => "궼" ; + "긑" => "궽" ; + "긒" => "궾" ; + "긓" => "궿" ; + "끄" => "꿰" ; + "끅" => "꿱" ; + "끆" => "꿲" ; + "끇" => "꿳" ; + "끈" => "꿴" ; + "끉" => "꿵" ; + "끊" => "꿶" ; + "끋" => "꿷" ; + "끌" => "꿸" ; + "끍" => "꿹" ; + "끎" => "꿺" ; + "끏" => "꿻" ; + "끐" => "꿼" ; + "끑" => "꿽" ; + "끒" => "꿾" ; + "끓" => "꿿" ; + "끔" => "뀀" ; + "끕" => "뀁" ; + "끖" => "뀂" ; + "끗" => "뀃" ; + "끘" => "뀄" ; + "끙" => "뀅" ; + "끚" => "뀆" ; + "끛" => "뀇" ; + "끜" => "뀈" ; + "끝" => "뀉" ; + "끞" => "뀊" ; + "끟" => "뀋" ; + "느" => "눼" ; + "늑" => "눽" ; + "늒" => "눾" ; + "늓" => "눿" ; + "는" => "뉀" ; + "늕" => "뉁" ; + "늖" => "뉂" ; + "늗" => "뉃" ; + "늘" => "뉄" ; + "늙" => "뉅" ; + "늚" => "뉆" ; + "늛" => "뉇" ; + "늜" => "뉈" ; + "늝" => "뉉" ; + "늞" => "뉊" ; + "늟" => "뉋" ; + "늠" => "뉌" ; + "늡" => "뉍" ; + "늢" => "뉎" ; + "늣" => "뉏" ; + "늤" => "뉐" ; + "능" => "뉑" ; + "늦" => "뉒" ; + "늧" => "뉓" ; + "늨" => "뉔" ; + "늩" => "뉕" ; + "늪" => "뉖" ; + "늫" => "뉗" ; + "드" => "뒈" ; + "득" => "뒉" ; + "듞" => "뒊" ; + "듟" => "뒋" ; + "든" => "뒌" ; + "듡" => "뒍" ; + "듢" => "뒎" ; + "듣" => "뒏" ; + "들" => "뒐" ; + "듥" => "뒑" ; + "듦" => "뒒" ; + "듧" => "뒓" ; + "듨" => "뒔" ; + "듩" => "뒕" ; + "듪" => "뒖" ; + "듫" => "뒗" ; + "듬" => "뒘" ; + "듭" => "뒙" ; + "듮" => "뒚" ; + "듯" => "뒛" ; + "듰" => "뒜" ; + "등" => "뒝" ; + "듲" => "뒞" ; + "듳" => "뒟" ; + "듴" => "뒠" ; + "듵" => "뒡" ; + "듶" => "뒢" ; + "듷" => "뒣" ; + "뜨" => "뛔" ; + "뜩" => "뛕" ; + "뜪" => "뛖" ; + "뜫" => "뛗" ; + "뜬" => "뛘" ; + "뜭" => "뛙" ; + "뜮" => "뛚" ; + "뜯" => "뛛" ; + "뜰" => "뛜" ; + "뜱" => "뛝" ; + "뜲" => "뛞" ; + "뜳" => "뛟" ; + "뜴" => "뛠" ; + "뜵" => "뛡" ; + "뜶" => "뛢" ; + "뜷" => "뛣" ; + "뜸" => "뛤" ; + "뜹" => "뛥" ; + "뜺" => "뛦" ; + "뜻" => "뛧" ; + "뜼" => "뛨" ; + "뜽" => "뛩" ; + "뜾" => "뛪" ; + "뜿" => "뛫" ; + "띀" => "뛬" ; + "띁" => "뛭" ; + "띂" => "뛮" ; + "띃" => "뛯" ; + "르" => "뤠" ; + "륵" => "뤡" ; + "륶" => "뤢" ; + "륷" => "뤣" ; + "른" => "뤤" ; + "륹" => "뤥" ; + "륺" => "뤦" ; + "륻" => "뤧" ; + "를" => "뤨" ; + "륽" => "뤩" ; + "륾" => "뤪" ; + "륿" => "뤫" ; + "릀" => "뤬" ; + "릁" => "뤭" ; + "릂" => "뤮" ; + "릃" => "뤯" ; + "름" => "뤰" ; + "릅" => "뤱" ; + "릆" => "뤲" ; + "릇" => "뤳" ; + "릈" => "뤴" ; + "릉" => "뤵" ; + "릊" => "뤶" ; + "릋" => "뤷" ; + "릌" => "뤸" ; + "릍" => "뤹" ; + "릎" => "뤺" ; + "릏" => "뤻" ; + "므" => "뭬" ; + "믁" => "뭭" ; + "믂" => "뭮" ; + "믃" => "뭯" ; + "믄" => "뭰" ; + "믅" => "뭱" ; + "믆" => "뭲" ; + "믇" => "뭳" ; + "믈" => "뭴" ; + "믉" => "뭵" ; + "믊" => "뭶" ; + "믋" => "뭷" ; + "믌" => "뭸" ; + "믍" => "뭹" ; + "믎" => "뭺" ; + "믏" => "뭻" ; + "믐" => "뭼" ; + "믑" => "뭽" ; + "믒" => "뭾" ; + "믓" => "뭿" ; + "믔" => "뮀" ; + "믕" => "뮁" ; + "믖" => "뮂" ; + "믗" => "뮃" ; + "믘" => "뮄" ; + "믙" => "뮅" ; + "믚" => "뮆" ; + "믛" => "뮇" ; + "브" => "붸" ; + "븍" => "붹" ; + "븎" => "붺" ; + "븏" => "붻" ; + "븐" => "붼" ; + "븑" => "붽" ; + "븒" => "붾" ; + "븓" => "붿" ; + "블" => "뷀" ; + "븕" => "뷁" ; + "븖" => "뷂" ; + "븗" => "뷃" ; + "븘" => "뷄" ; + "븙" => "뷅" ; + "븚" => "뷆" ; + "븛" => "뷇" ; + "븜" => "뷈" ; + "븝" => "뷉" ; + "븞" => "뷊" ; + "븟" => "뷋" ; + "븠" => "뷌" ; + "븡" => "뷍" ; + "븢" => "뷎" ; + "븣" => "뷏" ; + "븤" => "뷐" ; + "븥" => "뷑" ; + "븦" => "뷒" ; + "븧" => "뷓" ; + "쁘" => "쀄" ; + "쁙" => "쀅" ; + "쁚" => "쀆" ; + "쁛" => "쀇" ; + "쁜" => "쀈" ; + "쁝" => "쀉" ; + "쁞" => "쀊" ; + "쁟" => "쀋" ; + "쁠" => "쀌" ; + "쁡" => "쀍" ; + "쁢" => "쀎" ; + "쁣" => "쀏" ; + "쁤" => "쀐" ; + "쁥" => "쀑" ; + "쁦" => "쀒" ; + "쁧" => "쀓" ; + "쁨" => "쀔" ; + "쁩" => "쀕" ; + "쁪" => "쀖" ; + "쁫" => "쀗" ; + "쁬" => "쀘" ; + "쁭" => "쀙" ; + "쁮" => "쀚" ; + "쁯" => "쀛" ; + "쁰" => "쀜" ; + "쁱" => "쀝" ; + "쁲" => "쀞" ; + "쁳" => "쀟" ; + "스" => "쉐" ; + "슥" => "쉑" ; + "슦" => "쉒" ; + "슧" => "쉓" ; + "슨" => "쉔" ; + "슩" => "쉕" ; + "슪" => "쉖" ; + "슫" => "쉗" ; + "슬" => "쉘" ; + "슭" => "쉙" ; + "슮" => "쉚" ; + "슯" => "쉛" ; + "슰" => "쉜" ; + "슱" => "쉝" ; + "슲" => "쉞" ; + "슳" => "쉟" ; + "슴" => "쉠" ; + "습" => "쉡" ; + "슶" => "쉢" ; + "슷" => "쉣" ; + "슸" => "쉤" ; + "승" => "쉥" ; + "슺" => "쉦" ; + "슻" => "쉧" ; + "슼" => "쉨" ; + "슽" => "쉩" ; + "슾" => "쉪" ; + "슿" => "쉫" ; + "쓰" => "쒜" ; + "쓱" => "쒝" ; + "쓲" => "쒞" ; + "쓳" => "쒟" ; + "쓴" => "쒠" ; + "쓵" => "쒡" ; + "쓶" => "쒢" ; + "쓷" => "쒣" ; + "쓸" => "쒤" ; + "쓹" => "쒥" ; + "쓺" => "쒦" ; + "쓻" => "쒧" ; + "쓼" => "쒨" ; + "쓽" => "쒩" ; + "쓾" => "쒪" ; + "쓿" => "쒫" ; + "씀" => "쒬" ; + "씁" => "쒭" ; + "씂" => "쒮" ; + "씃" => "쒯" ; + "씄" => "쒰" ; + "씅" => "쒱" ; + "씆" => "쒲" ; + "씇" => "쒳" ; + "씈" => "쒴" ; + "씉" => "쒵" ; + "씊" => "쒶" ; + "씋" => "쒷" ; + "으" => "웨" ; + "윽" => "웩" ; + "윾" => "웪" ; + "윿" => "웫" ; + "은" => "웬" ; + "읁" => "웭" ; + "읂" => "웮" ; + "읃" => "웯" ; + "을" => "웰" ; + "읅" => "웱" ; + "읆" => "웲" ; + "읇" => "웳" ; + "읈" => "웴" ; + "읉" => "웵" ; + "읊" => "웶" ; + "읋" => "웷" ; + "음" => "웸" ; + "읍" => "웹" ; + "읎" => "웺" ; + "읏" => "웻" ; + "읐" => "웼" ; + "응" => "웽" ; + "읒" => "웾" ; + "읓" => "웿" ; + "읔" => "윀" ; + "읕" => "윁" ; + "읖" => "윂" ; + "읗" => "윃" ; + "즈" => "줴" ; + "즉" => "줵" ; + "즊" => "줶" ; + "즋" => "줷" ; + "즌" => "줸" ; + "즍" => "줹" ; + "즎" => "줺" ; + "즏" => "줻" ; + "즐" => "줼" ; + "즑" => "줽" ; + "즒" => "줾" ; + "즓" => "줿" ; + "즔" => "쥀" ; + "즕" => "쥁" ; + "즖" => "쥂" ; + "즗" => "쥃" ; + "즘" => "쥄" ; + "즙" => "쥅" ; + "즚" => "쥆" ; + "즛" => "쥇" ; + "즜" => "쥈" ; + "증" => "쥉" ; + "즞" => "쥊" ; + "즟" => "쥋" ; + "즠" => "쥌" ; + "즡" => "쥍" ; + "즢" => "쥎" ; + "즣" => "쥏" ; + "쯔" => "쮀" ; + "쯕" => "쮁" ; + "쯖" => "쮂" ; + "쯗" => "쮃" ; + "쯘" => "쮄" ; + "쯙" => "쮅" ; + "쯚" => "쮆" ; + "쯛" => "쮇" ; + "쯜" => "쮈" ; + "쯝" => "쮉" ; + "쯞" => "쮊" ; + "쯟" => "쮋" ; + "쯠" => "쮌" ; + "쯡" => "쮍" ; + "쯢" => "쮎" ; + "쯣" => "쮏" ; + "쯤" => "쮐" ; + "쯥" => "쮑" ; + "쯦" => "쮒" ; + "쯧" => "쮓" ; + "쯨" => "쮔" ; + "쯩" => "쮕" ; + "쯪" => "쮖" ; + "쯫" => "쮗" ; + "쯬" => "쮘" ; + "쯭" => "쮙" ; + "쯮" => "쮚" ; + "쯯" => "쮛" ; + "츠" => "췌" ; + "측" => "췍" ; + "츢" => "췎" ; + "츣" => "췏" ; + "츤" => "췐" ; + "츥" => "췑" ; + "츦" => "췒" ; + "츧" => "췓" ; + "츨" => "췔" ; + "츩" => "췕" ; + "츪" => "췖" ; + "츫" => "췗" ; + "츬" => "췘" ; + "츭" => "췙" ; + "츮" => "췚" ; + "츯" => "췛" ; + "츰" => "췜" ; + "츱" => "췝" ; + "츲" => "췞" ; + "츳" => "췟" ; + "츴" => "췠" ; + "층" => "췡" ; + "츶" => "췢" ; + "츷" => "췣" ; + "츸" => "췤" ; + "츹" => "췥" ; + "츺" => "췦" ; + "츻" => "췧" ; + "크" => "퀘" ; + "큭" => "퀙" ; + "큮" => "퀚" ; + "큯" => "퀛" ; + "큰" => "퀜" ; + "큱" => "퀝" ; + "큲" => "퀞" ; + "큳" => "퀟" ; + "클" => "퀠" ; + "큵" => "퀡" ; + "큶" => "퀢" ; + "큷" => "퀣" ; + "큸" => "퀤" ; + "큹" => "퀥" ; + "큺" => "퀦" ; + "큻" => "퀧" ; + "큼" => "퀨" ; + "큽" => "퀩" ; + "큾" => "퀪" ; + "큿" => "퀫" ; + "킀" => "퀬" ; + "킁" => "퀭" ; + "킂" => "퀮" ; + "킃" => "퀯" ; + "킄" => "퀰" ; + "킅" => "퀱" ; + "킆" => "퀲" ; + "킇" => "퀳" ; + "트" => "퉤" ; + "특" => "퉥" ; + "튺" => "퉦" ; + "튻" => "퉧" ; + "튼" => "퉨" ; + "튽" => "퉩" ; + "튾" => "퉪" ; + "튿" => "퉫" ; + "틀" => "퉬" ; + "틁" => "퉭" ; + "틂" => "퉮" ; + "틃" => "퉯" ; + "틄" => "퉰" ; + "틅" => "퉱" ; + "틆" => "퉲" ; + "틇" => "퉳" ; + "틈" => "퉴" ; + "틉" => "퉵" ; + "틊" => "퉶" ; + "틋" => "퉷" ; + "틌" => "퉸" ; + "틍" => "퉹" ; + "틎" => "퉺" ; + "틏" => "퉻" ; + "틐" => "퉼" ; + "틑" => "퉽" ; + "틒" => "퉾" ; + "틓" => "퉿" ; + "프" => "풰" ; + "픅" => "풱" ; + "픆" => "풲" ; + "픇" => "풳" ; + "픈" => "풴" ; + "픉" => "풵" ; + "픊" => "풶" ; + "픋" => "풷" ; + "플" => "풸" ; + "픍" => "풹" ; + "픎" => "풺" ; + "픏" => "풻" ; + "픐" => "풼" ; + "픑" => "풽" ; + "픒" => "풾" ; + "픓" => "풿" ; + "픔" => "퓀" ; + "픕" => "퓁" ; + "픖" => "퓂" ; + "픗" => "퓃" ; + "픘" => "퓄" ; + "픙" => "퓅" ; + "픚" => "퓆" ; + "픛" => "퓇" ; + "픜" => "퓈" ; + "픝" => "퓉" ; + "픞" => "퓊" ; + "픟" => "퓋" ; + "흐" => "훼" ; + "흑" => "훽" ; + "흒" => "훾" ; + "흓" => "훿" ; + "흔" => "휀" ; + "흕" => "휁" ; + "흖" => "휂" ; + "흗" => "휃" ; + "흘" => "휄" ; + "흙" => "휅" ; + "흚" => "휆" ; + "흛" => "휇" ; + "흜" => "휈" ; + "흝" => "휉" ; + "흞" => "휊" ; + "흟" => "휋" ; + "흠" => "휌" ; + "흡" => "휍" ; + "흢" => "휎" ; + "흣" => "휏" ; + "흤" => "휐" ; + "흥" => "휑" ; + "흦" => "휒" ; + "흧" => "휓" ; + "흨" => "휔" ; + "흩" => "휕" ; + "흪" => "휖" ; + "흫" => "휗" }; + "위" => case syl of { + "그" => "귀" ; + "극" => "귁" ; + "귺" => "귂" ; + "귻" => "귃" ; + "근" => "귄" ; + "귽" => "귅" ; + "귾" => "귆" ; + "귿" => "귇" ; + "글" => "귈" ; + "긁" => "귉" ; + "긂" => "귊" ; + "긃" => "귋" ; + "긄" => "귌" ; + "긅" => "귍" ; + "긆" => "귎" ; + "긇" => "귏" ; + "금" => "귐" ; + "급" => "귑" ; + "긊" => "귒" ; + "긋" => "귓" ; + "긌" => "귔" ; + "긍" => "귕" ; + "긎" => "귖" ; + "긏" => "귗" ; + "긐" => "귘" ; + "긑" => "귙" ; + "긒" => "귚" ; + "긓" => "귛" ; + "끄" => "뀌" ; + "끅" => "뀍" ; + "끆" => "뀎" ; + "끇" => "뀏" ; + "끈" => "뀐" ; + "끉" => "뀑" ; + "끊" => "뀒" ; + "끋" => "뀓" ; + "끌" => "뀔" ; + "끍" => "뀕" ; + "끎" => "뀖" ; + "끏" => "뀗" ; + "끐" => "뀘" ; + "끑" => "뀙" ; + "끒" => "뀚" ; + "끓" => "뀛" ; + "끔" => "뀜" ; + "끕" => "뀝" ; + "끖" => "뀞" ; + "끗" => "뀟" ; + "끘" => "뀠" ; + "끙" => "뀡" ; + "끚" => "뀢" ; + "끛" => "뀣" ; + "끜" => "뀤" ; + "끝" => "뀥" ; + "끞" => "뀦" ; + "끟" => "뀧" ; + "느" => "뉘" ; + "늑" => "뉙" ; + "늒" => "뉚" ; + "늓" => "뉛" ; + "는" => "뉜" ; + "늕" => "뉝" ; + "늖" => "뉞" ; + "늗" => "뉟" ; + "늘" => "뉠" ; + "늙" => "뉡" ; + "늚" => "뉢" ; + "늛" => "뉣" ; + "늜" => "뉤" ; + "늝" => "뉥" ; + "늞" => "뉦" ; + "늟" => "뉧" ; + "늠" => "뉨" ; + "늡" => "뉩" ; + "늢" => "뉪" ; + "늣" => "뉫" ; + "늤" => "뉬" ; + "능" => "뉭" ; + "늦" => "뉮" ; + "늧" => "뉯" ; + "늨" => "뉰" ; + "늩" => "뉱" ; + "늪" => "뉲" ; + "늫" => "뉳" ; + "드" => "뒤" ; + "득" => "뒥" ; + "듞" => "뒦" ; + "듟" => "뒧" ; + "든" => "뒨" ; + "듡" => "뒩" ; + "듢" => "뒪" ; + "듣" => "뒫" ; + "들" => "뒬" ; + "듥" => "뒭" ; + "듦" => "뒮" ; + "듧" => "뒯" ; + "듨" => "뒰" ; + "듩" => "뒱" ; + "듪" => "뒲" ; + "듫" => "뒳" ; + "듬" => "뒴" ; + "듭" => "뒵" ; + "듮" => "뒶" ; + "듯" => "뒷" ; + "듰" => "뒸" ; + "등" => "뒹" ; + "듲" => "뒺" ; + "듳" => "뒻" ; + "듴" => "뒼" ; + "듵" => "뒽" ; + "듶" => "뒾" ; + "듷" => "뒿" ; + "뜨" => "뛰" ; + "뜩" => "뛱" ; + "뜪" => "뛲" ; + "뜫" => "뛳" ; + "뜬" => "뛴" ; + "뜭" => "뛵" ; + "뜮" => "뛶" ; + "뜯" => "뛷" ; + "뜰" => "뛸" ; + "뜱" => "뛹" ; + "뜲" => "뛺" ; + "뜳" => "뛻" ; + "뜴" => "뛼" ; + "뜵" => "뛽" ; + "뜶" => "뛾" ; + "뜷" => "뛿" ; + "뜸" => "뜀" ; + "뜹" => "뜁" ; + "뜺" => "뜂" ; + "뜻" => "뜃" ; + "뜼" => "뜄" ; + "뜽" => "뜅" ; + "뜾" => "뜆" ; + "뜿" => "뜇" ; + "띀" => "뜈" ; + "띁" => "뜉" ; + "띂" => "뜊" ; + "띃" => "뜋" ; + "르" => "뤼" ; + "륵" => "뤽" ; + "륶" => "뤾" ; + "륷" => "뤿" ; + "른" => "륀" ; + "륹" => "륁" ; + "륺" => "륂" ; + "륻" => "륃" ; + "를" => "륄" ; + "륽" => "륅" ; + "륾" => "륆" ; + "륿" => "륇" ; + "릀" => "륈" ; + "릁" => "륉" ; + "릂" => "륊" ; + "릃" => "륋" ; + "름" => "륌" ; + "릅" => "륍" ; + "릆" => "륎" ; + "릇" => "륏" ; + "릈" => "륐" ; + "릉" => "륑" ; + "릊" => "륒" ; + "릋" => "륓" ; + "릌" => "륔" ; + "릍" => "륕" ; + "릎" => "륖" ; + "릏" => "륗" ; + "므" => "뮈" ; + "믁" => "뮉" ; + "믂" => "뮊" ; + "믃" => "뮋" ; + "믄" => "뮌" ; + "믅" => "뮍" ; + "믆" => "뮎" ; + "믇" => "뮏" ; + "믈" => "뮐" ; + "믉" => "뮑" ; + "믊" => "뮒" ; + "믋" => "뮓" ; + "믌" => "뮔" ; + "믍" => "뮕" ; + "믎" => "뮖" ; + "믏" => "뮗" ; + "믐" => "뮘" ; + "믑" => "뮙" ; + "믒" => "뮚" ; + "믓" => "뮛" ; + "믔" => "뮜" ; + "믕" => "뮝" ; + "믖" => "뮞" ; + "믗" => "뮟" ; + "믘" => "뮠" ; + "믙" => "뮡" ; + "믚" => "뮢" ; + "믛" => "뮣" ; + "브" => "뷔" ; + "븍" => "뷕" ; + "븎" => "뷖" ; + "븏" => "뷗" ; + "븐" => "뷘" ; + "븑" => "뷙" ; + "븒" => "뷚" ; + "븓" => "뷛" ; + "블" => "뷜" ; + "븕" => "뷝" ; + "븖" => "뷞" ; + "븗" => "뷟" ; + "븘" => "뷠" ; + "븙" => "뷡" ; + "븚" => "뷢" ; + "븛" => "뷣" ; + "븜" => "뷤" ; + "븝" => "뷥" ; + "븞" => "뷦" ; + "븟" => "뷧" ; + "븠" => "뷨" ; + "븡" => "뷩" ; + "븢" => "뷪" ; + "븣" => "뷫" ; + "븤" => "뷬" ; + "븥" => "뷭" ; + "븦" => "뷮" ; + "븧" => "뷯" ; + "쁘" => "쀠" ; + "쁙" => "쀡" ; + "쁚" => "쀢" ; + "쁛" => "쀣" ; + "쁜" => "쀤" ; + "쁝" => "쀥" ; + "쁞" => "쀦" ; + "쁟" => "쀧" ; + "쁠" => "쀨" ; + "쁡" => "쀩" ; + "쁢" => "쀪" ; + "쁣" => "쀫" ; + "쁤" => "쀬" ; + "쁥" => "쀭" ; + "쁦" => "쀮" ; + "쁧" => "쀯" ; + "쁨" => "쀰" ; + "쁩" => "쀱" ; + "쁪" => "쀲" ; + "쁫" => "쀳" ; + "쁬" => "쀴" ; + "쁭" => "쀵" ; + "쁮" => "쀶" ; + "쁯" => "쀷" ; + "쁰" => "쀸" ; + "쁱" => "쀹" ; + "쁲" => "쀺" ; + "쁳" => "쀻" ; + "스" => "쉬" ; + "슥" => "쉭" ; + "슦" => "쉮" ; + "슧" => "쉯" ; + "슨" => "쉰" ; + "슩" => "쉱" ; + "슪" => "쉲" ; + "슫" => "쉳" ; + "슬" => "쉴" ; + "슭" => "쉵" ; + "슮" => "쉶" ; + "슯" => "쉷" ; + "슰" => "쉸" ; + "슱" => "쉹" ; + "슲" => "쉺" ; + "슳" => "쉻" ; + "슴" => "쉼" ; + "습" => "쉽" ; + "슶" => "쉾" ; + "슷" => "쉿" ; + "슸" => "슀" ; + "승" => "슁" ; + "슺" => "슂" ; + "슻" => "슃" ; + "슼" => "슄" ; + "슽" => "슅" ; + "슾" => "슆" ; + "슿" => "슇" ; + "쓰" => "쒸" ; + "쓱" => "쒹" ; + "쓲" => "쒺" ; + "쓳" => "쒻" ; + "쓴" => "쒼" ; + "쓵" => "쒽" ; + "쓶" => "쒾" ; + "쓷" => "쒿" ; + "쓸" => "쓀" ; + "쓹" => "쓁" ; + "쓺" => "쓂" ; + "쓻" => "쓃" ; + "쓼" => "쓄" ; + "쓽" => "쓅" ; + "쓾" => "쓆" ; + "쓿" => "쓇" ; + "씀" => "쓈" ; + "씁" => "쓉" ; + "씂" => "쓊" ; + "씃" => "쓋" ; + "씄" => "쓌" ; + "씅" => "쓍" ; + "씆" => "쓎" ; + "씇" => "쓏" ; + "씈" => "쓐" ; + "씉" => "쓑" ; + "씊" => "쓒" ; + "씋" => "쓓" ; + "으" => "위" ; + "윽" => "윅" ; + "윾" => "윆" ; + "윿" => "윇" ; + "은" => "윈" ; + "읁" => "윉" ; + "읂" => "윊" ; + "읃" => "윋" ; + "을" => "윌" ; + "읅" => "윍" ; + "읆" => "윎" ; + "읇" => "윏" ; + "읈" => "윐" ; + "읉" => "윑" ; + "읊" => "윒" ; + "읋" => "윓" ; + "음" => "윔" ; + "읍" => "윕" ; + "읎" => "윖" ; + "읏" => "윗" ; + "읐" => "윘" ; + "응" => "윙" ; + "읒" => "윚" ; + "읓" => "윛" ; + "읔" => "윜" ; + "읕" => "윝" ; + "읖" => "윞" ; + "읗" => "윟" ; + "즈" => "쥐" ; + "즉" => "쥑" ; + "즊" => "쥒" ; + "즋" => "쥓" ; + "즌" => "쥔" ; + "즍" => "쥕" ; + "즎" => "쥖" ; + "즏" => "쥗" ; + "즐" => "쥘" ; + "즑" => "쥙" ; + "즒" => "쥚" ; + "즓" => "쥛" ; + "즔" => "쥜" ; + "즕" => "쥝" ; + "즖" => "쥞" ; + "즗" => "쥟" ; + "즘" => "쥠" ; + "즙" => "쥡" ; + "즚" => "쥢" ; + "즛" => "쥣" ; + "즜" => "쥤" ; + "증" => "쥥" ; + "즞" => "쥦" ; + "즟" => "쥧" ; + "즠" => "쥨" ; + "즡" => "쥩" ; + "즢" => "쥪" ; + "즣" => "쥫" ; + "쯔" => "쮜" ; + "쯕" => "쮝" ; + "쯖" => "쮞" ; + "쯗" => "쮟" ; + "쯘" => "쮠" ; + "쯙" => "쮡" ; + "쯚" => "쮢" ; + "쯛" => "쮣" ; + "쯜" => "쮤" ; + "쯝" => "쮥" ; + "쯞" => "쮦" ; + "쯟" => "쮧" ; + "쯠" => "쮨" ; + "쯡" => "쮩" ; + "쯢" => "쮪" ; + "쯣" => "쮫" ; + "쯤" => "쮬" ; + "쯥" => "쮭" ; + "쯦" => "쮮" ; + "쯧" => "쮯" ; + "쯨" => "쮰" ; + "쯩" => "쮱" ; + "쯪" => "쮲" ; + "쯫" => "쮳" ; + "쯬" => "쮴" ; + "쯭" => "쮵" ; + "쯮" => "쮶" ; + "쯯" => "쮷" ; + "츠" => "취" ; + "측" => "췩" ; + "츢" => "췪" ; + "츣" => "췫" ; + "츤" => "췬" ; + "츥" => "췭" ; + "츦" => "췮" ; + "츧" => "췯" ; + "츨" => "췰" ; + "츩" => "췱" ; + "츪" => "췲" ; + "츫" => "췳" ; + "츬" => "췴" ; + "츭" => "췵" ; + "츮" => "췶" ; + "츯" => "췷" ; + "츰" => "췸" ; + "츱" => "췹" ; + "츲" => "췺" ; + "츳" => "췻" ; + "츴" => "췼" ; + "층" => "췽" ; + "츶" => "췾" ; + "츷" => "췿" ; + "츸" => "츀" ; + "츹" => "츁" ; + "츺" => "츂" ; + "츻" => "츃" ; + "크" => "퀴" ; + "큭" => "퀵" ; + "큮" => "퀶" ; + "큯" => "퀷" ; + "큰" => "퀸" ; + "큱" => "퀹" ; + "큲" => "퀺" ; + "큳" => "퀻" ; + "클" => "퀼" ; + "큵" => "퀽" ; + "큶" => "퀾" ; + "큷" => "퀿" ; + "큸" => "큀" ; + "큹" => "큁" ; + "큺" => "큂" ; + "큻" => "큃" ; + "큼" => "큄" ; + "큽" => "큅" ; + "큾" => "큆" ; + "큿" => "큇" ; + "킀" => "큈" ; + "킁" => "큉" ; + "킂" => "큊" ; + "킃" => "큋" ; + "킄" => "큌" ; + "킅" => "큍" ; + "킆" => "큎" ; + "킇" => "큏" ; + "트" => "튀" ; + "특" => "튁" ; + "튺" => "튂" ; + "튻" => "튃" ; + "튼" => "튄" ; + "튽" => "튅" ; + "튾" => "튆" ; + "튿" => "튇" ; + "틀" => "튈" ; + "틁" => "튉" ; + "틂" => "튊" ; + "틃" => "튋" ; + "틄" => "튌" ; + "틅" => "튍" ; + "틆" => "튎" ; + "틇" => "튏" ; + "틈" => "튐" ; + "틉" => "튑" ; + "틊" => "튒" ; + "틋" => "튓" ; + "틌" => "튔" ; + "틍" => "튕" ; + "틎" => "튖" ; + "틏" => "튗" ; + "틐" => "튘" ; + "틑" => "튙" ; + "틒" => "튚" ; + "틓" => "튛" ; + "프" => "퓌" ; + "픅" => "퓍" ; + "픆" => "퓎" ; + "픇" => "퓏" ; + "픈" => "퓐" ; + "픉" => "퓑" ; + "픊" => "퓒" ; + "픋" => "퓓" ; + "플" => "퓔" ; + "픍" => "퓕" ; + "픎" => "퓖" ; + "픏" => "퓗" ; + "픐" => "퓘" ; + "픑" => "퓙" ; + "픒" => "퓚" ; + "픓" => "퓛" ; + "픔" => "퓜" ; + "픕" => "퓝" ; + "픖" => "퓞" ; + "픗" => "퓟" ; + "픘" => "퓠" ; + "픙" => "퓡" ; + "픚" => "퓢" ; + "픛" => "퓣" ; + "픜" => "퓤" ; + "픝" => "퓥" ; + "픞" => "퓦" ; + "픟" => "퓧" ; + "흐" => "휘" ; + "흑" => "휙" ; + "흒" => "휚" ; + "흓" => "휛" ; + "흔" => "휜" ; + "흕" => "휝" ; + "흖" => "휞" ; + "흗" => "휟" ; + "흘" => "휠" ; + "흙" => "휡" ; + "흚" => "휢" ; + "흛" => "휣" ; + "흜" => "휤" ; + "흝" => "휥" ; + "흞" => "휦" ; + "흟" => "휧" ; + "흠" => "휨" ; + "흡" => "휩" ; + "흢" => "휪" ; + "흣" => "휫" ; + "흤" => "휬" ; + "흥" => "휭" ; + "흦" => "휮" ; + "흧" => "휯" ; + "흨" => "휰" ; + "흩" => "휱" ; + "흪" => "휲" ; + "흫" => "휳" }; + "유" => case syl of { + "그" => "규" ; + "극" => "귝" ; + "귺" => "귞" ; + "귻" => "귟" ; + "근" => "균" ; + "귽" => "귡" ; + "귾" => "귢" ; + "귿" => "귣" ; + "글" => "귤" ; + "긁" => "귥" ; + "긂" => "귦" ; + "긃" => "귧" ; + "긄" => "귨" ; + "긅" => "귩" ; + "긆" => "귪" ; + "긇" => "귫" ; + "금" => "귬" ; + "급" => "귭" ; + "긊" => "귮" ; + "긋" => "귯" ; + "긌" => "귰" ; + "긍" => "귱" ; + "긎" => "귲" ; + "긏" => "귳" ; + "긐" => "귴" ; + "긑" => "귵" ; + "긒" => "귶" ; + "긓" => "귷" ; + "끄" => "뀨" ; + "끅" => "뀩" ; + "끆" => "뀪" ; + "끇" => "뀫" ; + "끈" => "뀬" ; + "끉" => "뀭" ; + "끊" => "뀮" ; + "끋" => "뀯" ; + "끌" => "뀰" ; + "끍" => "뀱" ; + "끎" => "뀲" ; + "끏" => "뀳" ; + "끐" => "뀴" ; + "끑" => "뀵" ; + "끒" => "뀶" ; + "끓" => "뀷" ; + "끔" => "뀸" ; + "끕" => "뀹" ; + "끖" => "뀺" ; + "끗" => "뀻" ; + "끘" => "뀼" ; + "끙" => "뀽" ; + "끚" => "뀾" ; + "끛" => "뀿" ; + "끜" => "끀" ; + "끝" => "끁" ; + "끞" => "끂" ; + "끟" => "끃" ; + "느" => "뉴" ; + "늑" => "뉵" ; + "늒" => "뉶" ; + "늓" => "뉷" ; + "는" => "뉸" ; + "늕" => "뉹" ; + "늖" => "뉺" ; + "늗" => "뉻" ; + "늘" => "뉼" ; + "늙" => "뉽" ; + "늚" => "뉾" ; + "늛" => "뉿" ; + "늜" => "늀" ; + "늝" => "늁" ; + "늞" => "늂" ; + "늟" => "늃" ; + "늠" => "늄" ; + "늡" => "늅" ; + "늢" => "늆" ; + "늣" => "늇" ; + "늤" => "늈" ; + "능" => "늉" ; + "늦" => "늊" ; + "늧" => "늋" ; + "늨" => "늌" ; + "늩" => "늍" ; + "늪" => "늎" ; + "늫" => "늏" ; + "드" => "듀" ; + "득" => "듁" ; + "듞" => "듂" ; + "듟" => "듃" ; + "든" => "듄" ; + "듡" => "듅" ; + "듢" => "듆" ; + "듣" => "듇" ; + "들" => "듈" ; + "듥" => "듉" ; + "듦" => "듊" ; + "듧" => "듋" ; + "듨" => "듌" ; + "듩" => "듍" ; + "듪" => "듎" ; + "듫" => "듏" ; + "듬" => "듐" ; + "듭" => "듑" ; + "듮" => "듒" ; + "듯" => "듓" ; + "듰" => "듔" ; + "등" => "듕" ; + "듲" => "듖" ; + "듳" => "듗" ; + "듴" => "듘" ; + "듵" => "듙" ; + "듶" => "듚" ; + "듷" => "듛" ; + "뜨" => "뜌" ; + "뜩" => "뜍" ; + "뜪" => "뜎" ; + "뜫" => "뜏" ; + "뜬" => "뜐" ; + "뜭" => "뜑" ; + "뜮" => "뜒" ; + "뜯" => "뜓" ; + "뜰" => "뜔" ; + "뜱" => "뜕" ; + "뜲" => "뜖" ; + "뜳" => "뜗" ; + "뜴" => "뜘" ; + "뜵" => "뜙" ; + "뜶" => "뜚" ; + "뜷" => "뜛" ; + "뜸" => "뜜" ; + "뜹" => "뜝" ; + "뜺" => "뜞" ; + "뜻" => "뜟" ; + "뜼" => "뜠" ; + "뜽" => "뜡" ; + "뜾" => "뜢" ; + "뜿" => "뜣" ; + "띀" => "뜤" ; + "띁" => "뜥" ; + "띂" => "뜦" ; + "띃" => "뜧" ; + "르" => "류" ; + "륵" => "륙" ; + "륶" => "륚" ; + "륷" => "륛" ; + "른" => "륜" ; + "륹" => "륝" ; + "륺" => "륞" ; + "륻" => "륟" ; + "를" => "률" ; + "륽" => "륡" ; + "륾" => "륢" ; + "륿" => "륣" ; + "릀" => "륤" ; + "릁" => "륥" ; + "릂" => "륦" ; + "릃" => "륧" ; + "름" => "륨" ; + "릅" => "륩" ; + "릆" => "륪" ; + "릇" => "륫" ; + "릈" => "륬" ; + "릉" => "륭" ; + "릊" => "륮" ; + "릋" => "륯" ; + "릌" => "륰" ; + "릍" => "륱" ; + "릎" => "륲" ; + "릏" => "륳" ; + "므" => "뮤" ; + "믁" => "뮥" ; + "믂" => "뮦" ; + "믃" => "뮧" ; + "믄" => "뮨" ; + "믅" => "뮩" ; + "믆" => "뮪" ; + "믇" => "뮫" ; + "믈" => "뮬" ; + "믉" => "뮭" ; + "믊" => "뮮" ; + "믋" => "뮯" ; + "믌" => "뮰" ; + "믍" => "뮱" ; + "믎" => "뮲" ; + "믏" => "뮳" ; + "믐" => "뮴" ; + "믑" => "뮵" ; + "믒" => "뮶" ; + "믓" => "뮷" ; + "믔" => "뮸" ; + "믕" => "뮹" ; + "믖" => "뮺" ; + "믗" => "뮻" ; + "믘" => "뮼" ; + "믙" => "뮽" ; + "믚" => "뮾" ; + "믛" => "뮿" ; + "브" => "뷰" ; + "븍" => "뷱" ; + "븎" => "뷲" ; + "븏" => "뷳" ; + "븐" => "뷴" ; + "븑" => "뷵" ; + "븒" => "뷶" ; + "븓" => "뷷" ; + "블" => "뷸" ; + "븕" => "뷹" ; + "븖" => "뷺" ; + "븗" => "뷻" ; + "븘" => "뷼" ; + "븙" => "뷽" ; + "븚" => "뷾" ; + "븛" => "뷿" ; + "븜" => "븀" ; + "븝" => "븁" ; + "븞" => "븂" ; + "븟" => "븃" ; + "븠" => "븄" ; + "븡" => "븅" ; + "븢" => "븆" ; + "븣" => "븇" ; + "븤" => "븈" ; + "븥" => "븉" ; + "븦" => "븊" ; + "븧" => "븋" ; + "쁘" => "쀼" ; + "쁙" => "쀽" ; + "쁚" => "쀾" ; + "쁛" => "쀿" ; + "쁜" => "쁀" ; + "쁝" => "쁁" ; + "쁞" => "쁂" ; + "쁟" => "쁃" ; + "쁠" => "쁄" ; + "쁡" => "쁅" ; + "쁢" => "쁆" ; + "쁣" => "쁇" ; + "쁤" => "쁈" ; + "쁥" => "쁉" ; + "쁦" => "쁊" ; + "쁧" => "쁋" ; + "쁨" => "쁌" ; + "쁩" => "쁍" ; + "쁪" => "쁎" ; + "쁫" => "쁏" ; + "쁬" => "쁐" ; + "쁭" => "쁑" ; + "쁮" => "쁒" ; + "쁯" => "쁓" ; + "쁰" => "쁔" ; + "쁱" => "쁕" ; + "쁲" => "쁖" ; + "쁳" => "쁗" ; + "스" => "슈" ; + "슥" => "슉" ; + "슦" => "슊" ; + "슧" => "슋" ; + "슨" => "슌" ; + "슩" => "슍" ; + "슪" => "슎" ; + "슫" => "슏" ; + "슬" => "슐" ; + "슭" => "슑" ; + "슮" => "슒" ; + "슯" => "슓" ; + "슰" => "슔" ; + "슱" => "슕" ; + "슲" => "슖" ; + "슳" => "슗" ; + "슴" => "슘" ; + "습" => "슙" ; + "슶" => "슚" ; + "슷" => "슛" ; + "슸" => "슜" ; + "승" => "슝" ; + "슺" => "슞" ; + "슻" => "슟" ; + "슼" => "슠" ; + "슽" => "슡" ; + "슾" => "슢" ; + "슿" => "슣" ; + "쓰" => "쓔" ; + "쓱" => "쓕" ; + "쓲" => "쓖" ; + "쓳" => "쓗" ; + "쓴" => "쓘" ; + "쓵" => "쓙" ; + "쓶" => "쓚" ; + "쓷" => "쓛" ; + "쓸" => "쓜" ; + "쓹" => "쓝" ; + "쓺" => "쓞" ; + "쓻" => "쓟" ; + "쓼" => "쓠" ; + "쓽" => "쓡" ; + "쓾" => "쓢" ; + "쓿" => "쓣" ; + "씀" => "쓤" ; + "씁" => "쓥" ; + "씂" => "쓦" ; + "씃" => "쓧" ; + "씄" => "쓨" ; + "씅" => "쓩" ; + "씆" => "쓪" ; + "씇" => "쓫" ; + "씈" => "쓬" ; + "씉" => "쓭" ; + "씊" => "쓮" ; + "씋" => "쓯" ; + "으" => "유" ; + "윽" => "육" ; + "윾" => "윢" ; + "윿" => "윣" ; + "은" => "윤" ; + "읁" => "윥" ; + "읂" => "윦" ; + "읃" => "윧" ; + "을" => "율" ; + "읅" => "윩" ; + "읆" => "윪" ; + "읇" => "윫" ; + "읈" => "윬" ; + "읉" => "윭" ; + "읊" => "윮" ; + "읋" => "윯" ; + "음" => "윰" ; + "읍" => "윱" ; + "읎" => "윲" ; + "읏" => "윳" ; + "읐" => "윴" ; + "응" => "융" ; + "읒" => "윶" ; + "읓" => "윷" ; + "읔" => "윸" ; + "읕" => "윹" ; + "읖" => "윺" ; + "읗" => "윻" ; + "즈" => "쥬" ; + "즉" => "쥭" ; + "즊" => "쥮" ; + "즋" => "쥯" ; + "즌" => "쥰" ; + "즍" => "쥱" ; + "즎" => "쥲" ; + "즏" => "쥳" ; + "즐" => "쥴" ; + "즑" => "쥵" ; + "즒" => "쥶" ; + "즓" => "쥷" ; + "즔" => "쥸" ; + "즕" => "쥹" ; + "즖" => "쥺" ; + "즗" => "쥻" ; + "즘" => "쥼" ; + "즙" => "쥽" ; + "즚" => "쥾" ; + "즛" => "쥿" ; + "즜" => "즀" ; + "증" => "즁" ; + "즞" => "즂" ; + "즟" => "즃" ; + "즠" => "즄" ; + "즡" => "즅" ; + "즢" => "즆" ; + "즣" => "즇" ; + "쯔" => "쮸" ; + "쯕" => "쮹" ; + "쯖" => "쮺" ; + "쯗" => "쮻" ; + "쯘" => "쮼" ; + "쯙" => "쮽" ; + "쯚" => "쮾" ; + "쯛" => "쮿" ; + "쯜" => "쯀" ; + "쯝" => "쯁" ; + "쯞" => "쯂" ; + "쯟" => "쯃" ; + "쯠" => "쯄" ; + "쯡" => "쯅" ; + "쯢" => "쯆" ; + "쯣" => "쯇" ; + "쯤" => "쯈" ; + "쯥" => "쯉" ; + "쯦" => "쯊" ; + "쯧" => "쯋" ; + "쯨" => "쯌" ; + "쯩" => "쯍" ; + "쯪" => "쯎" ; + "쯫" => "쯏" ; + "쯬" => "쯐" ; + "쯭" => "쯑" ; + "쯮" => "쯒" ; + "쯯" => "쯓" ; + "츠" => "츄" ; + "측" => "츅" ; + "츢" => "츆" ; + "츣" => "츇" ; + "츤" => "츈" ; + "츥" => "츉" ; + "츦" => "츊" ; + "츧" => "츋" ; + "츨" => "츌" ; + "츩" => "츍" ; + "츪" => "츎" ; + "츫" => "츏" ; + "츬" => "츐" ; + "츭" => "츑" ; + "츮" => "츒" ; + "츯" => "츓" ; + "츰" => "츔" ; + "츱" => "츕" ; + "츲" => "츖" ; + "츳" => "츗" ; + "츴" => "츘" ; + "층" => "츙" ; + "츶" => "츚" ; + "츷" => "츛" ; + "츸" => "츜" ; + "츹" => "츝" ; + "츺" => "츞" ; + "츻" => "츟" ; + "크" => "큐" ; + "큭" => "큑" ; + "큮" => "큒" ; + "큯" => "큓" ; + "큰" => "큔" ; + "큱" => "큕" ; + "큲" => "큖" ; + "큳" => "큗" ; + "클" => "큘" ; + "큵" => "큙" ; + "큶" => "큚" ; + "큷" => "큛" ; + "큸" => "큜" ; + "큹" => "큝" ; + "큺" => "큞" ; + "큻" => "큟" ; + "큼" => "큠" ; + "큽" => "큡" ; + "큾" => "큢" ; + "큿" => "큣" ; + "킀" => "큤" ; + "킁" => "큥" ; + "킂" => "큦" ; + "킃" => "큧" ; + "킄" => "큨" ; + "킅" => "큩" ; + "킆" => "큪" ; + "킇" => "큫" ; + "트" => "튜" ; + "특" => "튝" ; + "튺" => "튞" ; + "튻" => "튟" ; + "튼" => "튠" ; + "튽" => "튡" ; + "튾" => "튢" ; + "튿" => "튣" ; + "틀" => "튤" ; + "틁" => "튥" ; + "틂" => "튦" ; + "틃" => "튧" ; + "틄" => "튨" ; + "틅" => "튩" ; + "틆" => "튪" ; + "틇" => "튫" ; + "틈" => "튬" ; + "틉" => "튭" ; + "틊" => "튮" ; + "틋" => "튯" ; + "틌" => "튰" ; + "틍" => "튱" ; + "틎" => "튲" ; + "틏" => "튳" ; + "틐" => "튴" ; + "틑" => "튵" ; + "틒" => "튶" ; + "틓" => "튷" ; + "프" => "퓨" ; + "픅" => "퓩" ; + "픆" => "퓪" ; + "픇" => "퓫" ; + "픈" => "퓬" ; + "픉" => "퓭" ; + "픊" => "퓮" ; + "픋" => "퓯" ; + "플" => "퓰" ; + "픍" => "퓱" ; + "픎" => "퓲" ; + "픏" => "퓳" ; + "픐" => "퓴" ; + "픑" => "퓵" ; + "픒" => "퓶" ; + "픓" => "퓷" ; + "픔" => "퓸" ; + "픕" => "퓹" ; + "픖" => "퓺" ; + "픗" => "퓻" ; + "픘" => "퓼" ; + "픙" => "퓽" ; + "픚" => "퓾" ; + "픛" => "퓿" ; + "픜" => "픀" ; + "픝" => "픁" ; + "픞" => "픂" ; + "픟" => "픃" ; + "흐" => "휴" ; + "흑" => "휵" ; + "흒" => "휶" ; + "흓" => "휷" ; + "흔" => "휸" ; + "흕" => "휹" ; + "흖" => "휺" ; + "흗" => "휻" ; + "흘" => "휼" ; + "흙" => "휽" ; + "흚" => "휾" ; + "흛" => "휿" ; + "흜" => "흀" ; + "흝" => "흁" ; + "흞" => "흂" ; + "흟" => "흃" ; + "흠" => "흄" ; + "흡" => "흅" ; + "흢" => "흆" ; + "흣" => "흇" ; + "흤" => "흈" ; + "흥" => "흉" ; + "흦" => "흊" ; + "흧" => "흋" ; + "흨" => "흌" ; + "흩" => "흍" ; + "흪" => "흎" ; + "흫" => "흏" }; + "의" => case syl of { + "그" => "긔" ; + "극" => "긕" ; + "귺" => "긖" ; + "귻" => "긗" ; + "근" => "긘" ; + "귽" => "긙" ; + "귾" => "긚" ; + "귿" => "긛" ; + "글" => "긜" ; + "긁" => "긝" ; + "긂" => "긞" ; + "긃" => "긟" ; + "긄" => "긠" ; + "긅" => "긡" ; + "긆" => "긢" ; + "긇" => "긣" ; + "금" => "긤" ; + "급" => "긥" ; + "긊" => "긦" ; + "긋" => "긧" ; + "긌" => "긨" ; + "긍" => "긩" ; + "긎" => "긪" ; + "긏" => "긫" ; + "긐" => "긬" ; + "긑" => "긭" ; + "긒" => "긮" ; + "긓" => "긯" ; + "끄" => "끠" ; + "끅" => "끡" ; + "끆" => "끢" ; + "끇" => "끣" ; + "끈" => "끤" ; + "끉" => "끥" ; + "끊" => "끦" ; + "끋" => "끧" ; + "끌" => "끨" ; + "끍" => "끩" ; + "끎" => "끪" ; + "끏" => "끫" ; + "끐" => "끬" ; + "끑" => "끭" ; + "끒" => "끮" ; + "끓" => "끯" ; + "끔" => "끰" ; + "끕" => "끱" ; + "끖" => "끲" ; + "끗" => "끳" ; + "끘" => "끴" ; + "끙" => "끵" ; + "끚" => "끶" ; + "끛" => "끷" ; + "끜" => "끸" ; + "끝" => "끹" ; + "끞" => "끺" ; + "끟" => "끻" ; + "느" => "늬" ; + "늑" => "늭" ; + "늒" => "늮" ; + "늓" => "늯" ; + "는" => "늰" ; + "늕" => "늱" ; + "늖" => "늲" ; + "늗" => "늳" ; + "늘" => "늴" ; + "늙" => "늵" ; + "늚" => "늶" ; + "늛" => "늷" ; + "늜" => "늸" ; + "늝" => "늹" ; + "늞" => "늺" ; + "늟" => "늻" ; + "늠" => "늼" ; + "늡" => "늽" ; + "늢" => "늾" ; + "늣" => "늿" ; + "늤" => "닀" ; + "능" => "닁" ; + "늦" => "닂" ; + "늧" => "닃" ; + "늨" => "닄" ; + "늩" => "닅" ; + "늪" => "닆" ; + "늫" => "닇" ; + "드" => "듸" ; + "득" => "듹" ; + "듞" => "듺" ; + "듟" => "듻" ; + "든" => "듼" ; + "듡" => "듽" ; + "듢" => "듾" ; + "듣" => "듿" ; + "들" => "딀" ; + "듥" => "딁" ; + "듦" => "딂" ; + "듧" => "딃" ; + "듨" => "딄" ; + "듩" => "딅" ; + "듪" => "딆" ; + "듫" => "딇" ; + "듬" => "딈" ; + "듭" => "딉" ; + "듮" => "딊" ; + "듯" => "딋" ; + "듰" => "딌" ; + "등" => "딍" ; + "듲" => "딎" ; + "듳" => "딏" ; + "듴" => "딐" ; + "듵" => "딑" ; + "듶" => "딒" ; + "듷" => "딓" ; + "뜨" => "띄" ; + "뜩" => "띅" ; + "뜪" => "띆" ; + "뜫" => "띇" ; + "뜬" => "띈" ; + "뜭" => "띉" ; + "뜮" => "띊" ; + "뜯" => "띋" ; + "뜰" => "띌" ; + "뜱" => "띍" ; + "뜲" => "띎" ; + "뜳" => "띏" ; + "뜴" => "띐" ; + "뜵" => "띑" ; + "뜶" => "띒" ; + "뜷" => "띓" ; + "뜸" => "띔" ; + "뜹" => "띕" ; + "뜺" => "띖" ; + "뜻" => "띗" ; + "뜼" => "띘" ; + "뜽" => "띙" ; + "뜾" => "띚" ; + "뜿" => "띛" ; + "띀" => "띜" ; + "띁" => "띝" ; + "띂" => "띞" ; + "띃" => "띟" ; + "르" => "릐" ; + "륵" => "릑" ; + "륶" => "릒" ; + "륷" => "릓" ; + "른" => "릔" ; + "륹" => "릕" ; + "륺" => "릖" ; + "륻" => "릗" ; + "를" => "릘" ; + "륽" => "릙" ; + "륾" => "릚" ; + "륿" => "릛" ; + "릀" => "릜" ; + "릁" => "릝" ; + "릂" => "릞" ; + "릃" => "릟" ; + "름" => "릠" ; + "릅" => "릡" ; + "릆" => "릢" ; + "릇" => "릣" ; + "릈" => "릤" ; + "릉" => "릥" ; + "릊" => "릦" ; + "릋" => "릧" ; + "릌" => "릨" ; + "릍" => "릩" ; + "릎" => "릪" ; + "릏" => "릫" ; + "므" => "믜" ; + "믁" => "믝" ; + "믂" => "믞" ; + "믃" => "믟" ; + "믄" => "믠" ; + "믅" => "믡" ; + "믆" => "믢" ; + "믇" => "믣" ; + "믈" => "믤" ; + "믉" => "믥" ; + "믊" => "믦" ; + "믋" => "믧" ; + "믌" => "믨" ; + "믍" => "믩" ; + "믎" => "믪" ; + "믏" => "믫" ; + "믐" => "믬" ; + "믑" => "믭" ; + "믒" => "믮" ; + "믓" => "믯" ; + "믔" => "믰" ; + "믕" => "믱" ; + "믖" => "믲" ; + "믗" => "믳" ; + "믘" => "믴" ; + "믙" => "믵" ; + "믚" => "믶" ; + "믛" => "믷" ; + "브" => "븨" ; + "븍" => "븩" ; + "븎" => "븪" ; + "븏" => "븫" ; + "븐" => "븬" ; + "븑" => "븭" ; + "븒" => "븮" ; + "븓" => "븯" ; + "블" => "븰" ; + "븕" => "븱" ; + "븖" => "븲" ; + "븗" => "븳" ; + "븘" => "븴" ; + "븙" => "븵" ; + "븚" => "븶" ; + "븛" => "븷" ; + "븜" => "븸" ; + "븝" => "븹" ; + "븞" => "븺" ; + "븟" => "븻" ; + "븠" => "븼" ; + "븡" => "븽" ; + "븢" => "븾" ; + "븣" => "븿" ; + "븤" => "빀" ; + "븥" => "빁" ; + "븦" => "빂" ; + "븧" => "빃" ; + "쁘" => "쁴" ; + "쁙" => "쁵" ; + "쁚" => "쁶" ; + "쁛" => "쁷" ; + "쁜" => "쁸" ; + "쁝" => "쁹" ; + "쁞" => "쁺" ; + "쁟" => "쁻" ; + "쁠" => "쁼" ; + "쁡" => "쁽" ; + "쁢" => "쁾" ; + "쁣" => "쁿" ; + "쁤" => "삀" ; + "쁥" => "삁" ; + "쁦" => "삂" ; + "쁧" => "삃" ; + "쁨" => "삄" ; + "쁩" => "삅" ; + "쁪" => "삆" ; + "쁫" => "삇" ; + "쁬" => "삈" ; + "쁭" => "삉" ; + "쁮" => "삊" ; + "쁯" => "삋" ; + "쁰" => "삌" ; + "쁱" => "삍" ; + "쁲" => "삎" ; + "쁳" => "삏" ; + "스" => "싀" ; + "슥" => "싁" ; + "슦" => "싂" ; + "슧" => "싃" ; + "슨" => "싄" ; + "슩" => "싅" ; + "슪" => "싆" ; + "슫" => "싇" ; + "슬" => "싈" ; + "슭" => "싉" ; + "슮" => "싊" ; + "슯" => "싋" ; + "슰" => "싌" ; + "슱" => "싍" ; + "슲" => "싎" ; + "슳" => "싏" ; + "슴" => "싐" ; + "습" => "싑" ; + "슶" => "싒" ; + "슷" => "싓" ; + "슸" => "싔" ; + "승" => "싕" ; + "슺" => "싖" ; + "슻" => "싗" ; + "슼" => "싘" ; + "슽" => "싙" ; + "슾" => "싚" ; + "슿" => "싛" ; + "쓰" => "씌" ; + "쓱" => "씍" ; + "쓲" => "씎" ; + "쓳" => "씏" ; + "쓴" => "씐" ; + "쓵" => "씑" ; + "쓶" => "씒" ; + "쓷" => "씓" ; + "쓸" => "씔" ; + "쓹" => "씕" ; + "쓺" => "씖" ; + "쓻" => "씗" ; + "쓼" => "씘" ; + "쓽" => "씙" ; + "쓾" => "씚" ; + "쓿" => "씛" ; + "씀" => "씜" ; + "씁" => "씝" ; + "씂" => "씞" ; + "씃" => "씟" ; + "씄" => "씠" ; + "씅" => "씡" ; + "씆" => "씢" ; + "씇" => "씣" ; + "씈" => "씤" ; + "씉" => "씥" ; + "씊" => "씦" ; + "씋" => "씧" ; + "으" => "의" ; + "윽" => "읙" ; + "윾" => "읚" ; + "윿" => "읛" ; + "은" => "읜" ; + "읁" => "읝" ; + "읂" => "읞" ; + "읃" => "읟" ; + "을" => "읠" ; + "읅" => "읡" ; + "읆" => "읢" ; + "읇" => "읣" ; + "읈" => "읤" ; + "읉" => "읥" ; + "읊" => "읦" ; + "읋" => "읧" ; + "음" => "읨" ; + "읍" => "읩" ; + "읎" => "읪" ; + "읏" => "읫" ; + "읐" => "읬" ; + "응" => "읭" ; + "읒" => "읮" ; + "읓" => "읯" ; + "읔" => "읰" ; + "읕" => "읱" ; + "읖" => "읲" ; + "읗" => "읳" ; + "즈" => "즤" ; + "즉" => "즥" ; + "즊" => "즦" ; + "즋" => "즧" ; + "즌" => "즨" ; + "즍" => "즩" ; + "즎" => "즪" ; + "즏" => "즫" ; + "즐" => "즬" ; + "즑" => "즭" ; + "즒" => "즮" ; + "즓" => "즯" ; + "즔" => "즰" ; + "즕" => "즱" ; + "즖" => "즲" ; + "즗" => "즳" ; + "즘" => "즴" ; + "즙" => "즵" ; + "즚" => "즶" ; + "즛" => "즷" ; + "즜" => "즸" ; + "증" => "즹" ; + "즞" => "즺" ; + "즟" => "즻" ; + "즠" => "즼" ; + "즡" => "즽" ; + "즢" => "즾" ; + "즣" => "즿" ; + "쯔" => "쯰" ; + "쯕" => "쯱" ; + "쯖" => "쯲" ; + "쯗" => "쯳" ; + "쯘" => "쯴" ; + "쯙" => "쯵" ; + "쯚" => "쯶" ; + "쯛" => "쯷" ; + "쯜" => "쯸" ; + "쯝" => "쯹" ; + "쯞" => "쯺" ; + "쯟" => "쯻" ; + "쯠" => "쯼" ; + "쯡" => "쯽" ; + "쯢" => "쯾" ; + "쯣" => "쯿" ; + "쯤" => "찀" ; + "쯥" => "찁" ; + "쯦" => "찂" ; + "쯧" => "찃" ; + "쯨" => "찄" ; + "쯩" => "찅" ; + "쯪" => "찆" ; + "쯫" => "찇" ; + "쯬" => "찈" ; + "쯭" => "찉" ; + "쯮" => "찊" ; + "쯯" => "찋" ; + "츠" => "츼" ; + "측" => "츽" ; + "츢" => "츾" ; + "츣" => "츿" ; + "츤" => "칀" ; + "츥" => "칁" ; + "츦" => "칂" ; + "츧" => "칃" ; + "츨" => "칄" ; + "츩" => "칅" ; + "츪" => "칆" ; + "츫" => "칇" ; + "츬" => "칈" ; + "츭" => "칉" ; + "츮" => "칊" ; + "츯" => "칋" ; + "츰" => "칌" ; + "츱" => "칍" ; + "츲" => "칎" ; + "츳" => "칏" ; + "츴" => "칐" ; + "층" => "칑" ; + "츶" => "칒" ; + "츷" => "칓" ; + "츸" => "칔" ; + "츹" => "칕" ; + "츺" => "칖" ; + "츻" => "칗" ; + "크" => "킈" ; + "큭" => "킉" ; + "큮" => "킊" ; + "큯" => "킋" ; + "큰" => "킌" ; + "큱" => "킍" ; + "큲" => "킎" ; + "큳" => "킏" ; + "클" => "킐" ; + "큵" => "킑" ; + "큶" => "킒" ; + "큷" => "킓" ; + "큸" => "킔" ; + "큹" => "킕" ; + "큺" => "킖" ; + "큻" => "킗" ; + "큼" => "킘" ; + "큽" => "킙" ; + "큾" => "킚" ; + "큿" => "킛" ; + "킀" => "킜" ; + "킁" => "킝" ; + "킂" => "킞" ; + "킃" => "킟" ; + "킄" => "킠" ; + "킅" => "킡" ; + "킆" => "킢" ; + "킇" => "킣" ; + "트" => "틔" ; + "특" => "틕" ; + "튺" => "틖" ; + "튻" => "틗" ; + "튼" => "틘" ; + "튽" => "틙" ; + "튾" => "틚" ; + "튿" => "틛" ; + "틀" => "틜" ; + "틁" => "틝" ; + "틂" => "틞" ; + "틃" => "틟" ; + "틄" => "틠" ; + "틅" => "틡" ; + "틆" => "틢" ; + "틇" => "틣" ; + "틈" => "틤" ; + "틉" => "틥" ; + "틊" => "틦" ; + "틋" => "틧" ; + "틌" => "틨" ; + "틍" => "틩" ; + "틎" => "틪" ; + "틏" => "틫" ; + "틐" => "틬" ; + "틑" => "틭" ; + "틒" => "틮" ; + "틓" => "틯" ; + "프" => "픠" ; + "픅" => "픡" ; + "픆" => "픢" ; + "픇" => "픣" ; + "픈" => "픤" ; + "픉" => "픥" ; + "픊" => "픦" ; + "픋" => "픧" ; + "플" => "픨" ; + "픍" => "픩" ; + "픎" => "픪" ; + "픏" => "픫" ; + "픐" => "픬" ; + "픑" => "픭" ; + "픒" => "픮" ; + "픓" => "픯" ; + "픔" => "픰" ; + "픕" => "픱" ; + "픖" => "픲" ; + "픗" => "픳" ; + "픘" => "픴" ; + "픙" => "픵" ; + "픚" => "픶" ; + "픛" => "픷" ; + "픜" => "픸" ; + "픝" => "픹" ; + "픞" => "픺" ; + "픟" => "픻" ; + "흐" => "희" ; + "흑" => "흭" ; + "흒" => "흮" ; + "흓" => "흯" ; + "흔" => "흰" ; + "흕" => "흱" ; + "흖" => "흲" ; + "흗" => "흳" ; + "흘" => "흴" ; + "흙" => "흵" ; + "흚" => "흶" ; + "흛" => "흷" ; + "흜" => "흸" ; + "흝" => "흹" ; + "흞" => "흺" ; + "흟" => "흻" ; + "흠" => "흼" ; + "흡" => "흽" ; + "흢" => "흾" ; + "흣" => "흿" ; + "흤" => "힀" ; + "흥" => "힁" ; + "흦" => "힂" ; + "흧" => "힃" ; + "흨" => "힄" ; + "흩" => "힅" ; + "흪" => "힆" ; + "흫" => "힇" }; + "이" => case syl of { + "그" => "기" ; + "극" => "긱" ; + "귺" => "긲" ; + "귻" => "긳" ; + "근" => "긴" ; + "귽" => "긵" ; + "귾" => "긶" ; + "귿" => "긷" ; + "글" => "길" ; + "긁" => "긹" ; + "긂" => "긺" ; + "긃" => "긻" ; + "긄" => "긼" ; + "긅" => "긽" ; + "긆" => "긾" ; + "긇" => "긿" ; + "금" => "김" ; + "급" => "깁" ; + "긊" => "깂" ; + "긋" => "깃" ; + "긌" => "깄" ; + "긍" => "깅" ; + "긎" => "깆" ; + "긏" => "깇" ; + "긐" => "깈" ; + "긑" => "깉" ; + "긒" => "깊" ; + "긓" => "깋" ; + "끄" => "끼" ; + "끅" => "끽" ; + "끆" => "끾" ; + "끇" => "끿" ; + "끈" => "낀" ; + "끉" => "낁" ; + "끊" => "낂" ; + "끋" => "낃" ; + "끌" => "낄" ; + "끍" => "낅" ; + "끎" => "낆" ; + "끏" => "낇" ; + "끐" => "낈" ; + "끑" => "낉" ; + "끒" => "낊" ; + "끓" => "낋" ; + "끔" => "낌" ; + "끕" => "낍" ; + "끖" => "낎" ; + "끗" => "낏" ; + "끘" => "낐" ; + "끙" => "낑" ; + "끚" => "낒" ; + "끛" => "낓" ; + "끜" => "낔" ; + "끝" => "낕" ; + "끞" => "낖" ; + "끟" => "낗" ; + "느" => "니" ; + "늑" => "닉" ; + "늒" => "닊" ; + "늓" => "닋" ; + "는" => "닌" ; + "늕" => "닍" ; + "늖" => "닎" ; + "늗" => "닏" ; + "늘" => "닐" ; + "늙" => "닑" ; + "늚" => "닒" ; + "늛" => "닓" ; + "늜" => "닔" ; + "늝" => "닕" ; + "늞" => "닖" ; + "늟" => "닗" ; + "늠" => "님" ; + "늡" => "닙" ; + "늢" => "닚" ; + "늣" => "닛" ; + "늤" => "닜" ; + "능" => "닝" ; + "늦" => "닞" ; + "늧" => "닟" ; + "늨" => "닠" ; + "늩" => "닡" ; + "늪" => "닢" ; + "늫" => "닣" ; + "드" => "디" ; + "득" => "딕" ; + "듞" => "딖" ; + "듟" => "딗" ; + "든" => "딘" ; + "듡" => "딙" ; + "듢" => "딚" ; + "듣" => "딛" ; + "들" => "딜" ; + "듥" => "딝" ; + "듦" => "딞" ; + "듧" => "딟" ; + "듨" => "딠" ; + "듩" => "딡" ; + "듪" => "딢" ; + "듫" => "딣" ; + "듬" => "딤" ; + "듭" => "딥" ; + "듮" => "딦" ; + "듯" => "딧" ; + "듰" => "딨" ; + "등" => "딩" ; + "듲" => "딪" ; + "듳" => "딫" ; + "듴" => "딬" ; + "듵" => "딭" ; + "듶" => "딮" ; + "듷" => "딯" ; + "뜨" => "띠" ; + "뜩" => "띡" ; + "뜪" => "띢" ; + "뜫" => "띣" ; + "뜬" => "띤" ; + "뜭" => "띥" ; + "뜮" => "띦" ; + "뜯" => "띧" ; + "뜰" => "띨" ; + "뜱" => "띩" ; + "뜲" => "띪" ; + "뜳" => "띫" ; + "뜴" => "띬" ; + "뜵" => "띭" ; + "뜶" => "띮" ; + "뜷" => "띯" ; + "뜸" => "띰" ; + "뜹" => "띱" ; + "뜺" => "띲" ; + "뜻" => "띳" ; + "뜼" => "띴" ; + "뜽" => "띵" ; + "뜾" => "띶" ; + "뜿" => "띷" ; + "띀" => "띸" ; + "띁" => "띹" ; + "띂" => "띺" ; + "띃" => "띻" ; + "르" => "리" ; + "륵" => "릭" ; + "륶" => "릮" ; + "륷" => "릯" ; + "른" => "린" ; + "륹" => "릱" ; + "륺" => "릲" ; + "륻" => "릳" ; + "를" => "릴" ; + "륽" => "릵" ; + "륾" => "릶" ; + "륿" => "릷" ; + "릀" => "릸" ; + "릁" => "릹" ; + "릂" => "릺" ; + "릃" => "릻" ; + "름" => "림" ; + "릅" => "립" ; + "릆" => "릾" ; + "릇" => "릿" ; + "릈" => "맀" ; + "릉" => "링" ; + "릊" => "맂" ; + "릋" => "맃" ; + "릌" => "맄" ; + "릍" => "맅" ; + "릎" => "맆" ; + "릏" => "맇" ; + "므" => "미" ; + "믁" => "믹" ; + "믂" => "믺" ; + "믃" => "믻" ; + "믄" => "민" ; + "믅" => "믽" ; + "믆" => "믾" ; + "믇" => "믿" ; + "믈" => "밀" ; + "믉" => "밁" ; + "믊" => "밂" ; + "믋" => "밃" ; + "믌" => "밄" ; + "믍" => "밅" ; + "믎" => "밆" ; + "믏" => "밇" ; + "믐" => "밈" ; + "믑" => "밉" ; + "믒" => "밊" ; + "믓" => "밋" ; + "믔" => "밌" ; + "믕" => "밍" ; + "믖" => "밎" ; + "믗" => "및" ; + "믘" => "밐" ; + "믙" => "밑" ; + "믚" => "밒" ; + "믛" => "밓" ; + "브" => "비" ; + "븍" => "빅" ; + "븎" => "빆" ; + "븏" => "빇" ; + "븐" => "빈" ; + "븑" => "빉" ; + "븒" => "빊" ; + "븓" => "빋" ; + "블" => "빌" ; + "븕" => "빍" ; + "븖" => "빎" ; + "븗" => "빏" ; + "븘" => "빐" ; + "븙" => "빑" ; + "븚" => "빒" ; + "븛" => "빓" ; + "븜" => "빔" ; + "븝" => "빕" ; + "븞" => "빖" ; + "븟" => "빗" ; + "븠" => "빘" ; + "븡" => "빙" ; + "븢" => "빚" ; + "븣" => "빛" ; + "븤" => "빜" ; + "븥" => "빝" ; + "븦" => "빞" ; + "븧" => "빟" ; + "쁘" => "삐" ; + "쁙" => "삑" ; + "쁚" => "삒" ; + "쁛" => "삓" ; + "쁜" => "삔" ; + "쁝" => "삕" ; + "쁞" => "삖" ; + "쁟" => "삗" ; + "쁠" => "삘" ; + "쁡" => "삙" ; + "쁢" => "삚" ; + "쁣" => "삛" ; + "쁤" => "삜" ; + "쁥" => "삝" ; + "쁦" => "삞" ; + "쁧" => "삟" ; + "쁨" => "삠" ; + "쁩" => "삡" ; + "쁪" => "삢" ; + "쁫" => "삣" ; + "쁬" => "삤" ; + "쁭" => "삥" ; + "쁮" => "삦" ; + "쁯" => "삧" ; + "쁰" => "삨" ; + "쁱" => "삩" ; + "쁲" => "삪" ; + "쁳" => "삫" ; + "스" => "시" ; + "슥" => "식" ; + "슦" => "싞" ; + "슧" => "싟" ; + "슨" => "신" ; + "슩" => "싡" ; + "슪" => "싢" ; + "슫" => "싣" ; + "슬" => "실" ; + "슭" => "싥" ; + "슮" => "싦" ; + "슯" => "싧" ; + "슰" => "싨" ; + "슱" => "싩" ; + "슲" => "싪" ; + "슳" => "싫" ; + "슴" => "심" ; + "습" => "십" ; + "슶" => "싮" ; + "슷" => "싯" ; + "슸" => "싰" ; + "승" => "싱" ; + "슺" => "싲" ; + "슻" => "싳" ; + "슼" => "싴" ; + "슽" => "싵" ; + "슾" => "싶" ; + "슿" => "싷" ; + "쓰" => "씨" ; + "쓱" => "씩" ; + "쓲" => "씪" ; + "쓳" => "씫" ; + "쓴" => "씬" ; + "쓵" => "씭" ; + "쓶" => "씮" ; + "쓷" => "씯" ; + "쓸" => "씰" ; + "쓹" => "씱" ; + "쓺" => "씲" ; + "쓻" => "씳" ; + "쓼" => "씴" ; + "쓽" => "씵" ; + "쓾" => "씶" ; + "쓿" => "씷" ; + "씀" => "씸" ; + "씁" => "씹" ; + "씂" => "씺" ; + "씃" => "씻" ; + "씄" => "씼" ; + "씅" => "씽" ; + "씆" => "씾" ; + "씇" => "씿" ; + "씈" => "앀" ; + "씉" => "앁" ; + "씊" => "앂" ; + "씋" => "앃" ; + "으" => "이" ; + "윽" => "익" ; + "윾" => "읶" ; + "윿" => "읷" ; + "은" => "인" ; + "읁" => "읹" ; + "읂" => "읺" ; + "읃" => "읻" ; + "을" => "일" ; + "읅" => "읽" ; + "읆" => "읾" ; + "읇" => "읿" ; + "읈" => "잀" ; + "읉" => "잁" ; + "읊" => "잂" ; + "읋" => "잃" ; + "음" => "임" ; + "읍" => "입" ; + "읎" => "잆" ; + "읏" => "잇" ; + "읐" => "있" ; + "응" => "잉" ; + "읒" => "잊" ; + "읓" => "잋" ; + "읔" => "잌" ; + "읕" => "잍" ; + "읖" => "잎" ; + "읗" => "잏" ; + "즈" => "지" ; + "즉" => "직" ; + "즊" => "짂" ; + "즋" => "짃" ; + "즌" => "진" ; + "즍" => "짅" ; + "즎" => "짆" ; + "즏" => "짇" ; + "즐" => "질" ; + "즑" => "짉" ; + "즒" => "짊" ; + "즓" => "짋" ; + "즔" => "짌" ; + "즕" => "짍" ; + "즖" => "짎" ; + "즗" => "짏" ; + "즘" => "짐" ; + "즙" => "집" ; + "즚" => "짒" ; + "즛" => "짓" ; + "즜" => "짔" ; + "증" => "징" ; + "즞" => "짖" ; + "즟" => "짗" ; + "즠" => "짘" ; + "즡" => "짙" ; + "즢" => "짚" ; + "즣" => "짛" ; + "쯔" => "찌" ; + "쯕" => "찍" ; + "쯖" => "찎" ; + "쯗" => "찏" ; + "쯘" => "찐" ; + "쯙" => "찑" ; + "쯚" => "찒" ; + "쯛" => "찓" ; + "쯜" => "찔" ; + "쯝" => "찕" ; + "쯞" => "찖" ; + "쯟" => "찗" ; + "쯠" => "찘" ; + "쯡" => "찙" ; + "쯢" => "찚" ; + "쯣" => "찛" ; + "쯤" => "찜" ; + "쯥" => "찝" ; + "쯦" => "찞" ; + "쯧" => "찟" ; + "쯨" => "찠" ; + "쯩" => "찡" ; + "쯪" => "찢" ; + "쯫" => "찣" ; + "쯬" => "찤" ; + "쯭" => "찥" ; + "쯮" => "찦" ; + "쯯" => "찧" ; + "츠" => "치" ; + "측" => "칙" ; + "츢" => "칚" ; + "츣" => "칛" ; + "츤" => "친" ; + "츥" => "칝" ; + "츦" => "칞" ; + "츧" => "칟" ; + "츨" => "칠" ; + "츩" => "칡" ; + "츪" => "칢" ; + "츫" => "칣" ; + "츬" => "칤" ; + "츭" => "칥" ; + "츮" => "칦" ; + "츯" => "칧" ; + "츰" => "침" ; + "츱" => "칩" ; + "츲" => "칪" ; + "츳" => "칫" ; + "츴" => "칬" ; + "층" => "칭" ; + "츶" => "칮" ; + "츷" => "칯" ; + "츸" => "칰" ; + "츹" => "칱" ; + "츺" => "칲" ; + "츻" => "칳" ; + "크" => "키" ; + "큭" => "킥" ; + "큮" => "킦" ; + "큯" => "킧" ; + "큰" => "킨" ; + "큱" => "킩" ; + "큲" => "킪" ; + "큳" => "킫" ; + "클" => "킬" ; + "큵" => "킭" ; + "큶" => "킮" ; + "큷" => "킯" ; + "큸" => "킰" ; + "큹" => "킱" ; + "큺" => "킲" ; + "큻" => "킳" ; + "큼" => "킴" ; + "큽" => "킵" ; + "큾" => "킶" ; + "큿" => "킷" ; + "킀" => "킸" ; + "킁" => "킹" ; + "킂" => "킺" ; + "킃" => "킻" ; + "킄" => "킼" ; + "킅" => "킽" ; + "킆" => "킾" ; + "킇" => "킿" ; + "트" => "티" ; + "특" => "틱" ; + "튺" => "틲" ; + "튻" => "틳" ; + "튼" => "틴" ; + "튽" => "틵" ; + "튾" => "틶" ; + "튿" => "틷" ; + "틀" => "틸" ; + "틁" => "틹" ; + "틂" => "틺" ; + "틃" => "틻" ; + "틄" => "틼" ; + "틅" => "틽" ; + "틆" => "틾" ; + "틇" => "틿" ; + "틈" => "팀" ; + "틉" => "팁" ; + "틊" => "팂" ; + "틋" => "팃" ; + "틌" => "팄" ; + "틍" => "팅" ; + "틎" => "팆" ; + "틏" => "팇" ; + "틐" => "팈" ; + "틑" => "팉" ; + "틒" => "팊" ; + "틓" => "팋" ; + "프" => "피" ; + "픅" => "픽" ; + "픆" => "픾" ; + "픇" => "픿" ; + "픈" => "핀" ; + "픉" => "핁" ; + "픊" => "핂" ; + "픋" => "핃" ; + "플" => "필" ; + "픍" => "핅" ; + "픎" => "핆" ; + "픏" => "핇" ; + "픐" => "핈" ; + "픑" => "핉" ; + "픒" => "핊" ; + "픓" => "핋" ; + "픔" => "핌" ; + "픕" => "핍" ; + "픖" => "핎" ; + "픗" => "핏" ; + "픘" => "핐" ; + "픙" => "핑" ; + "픚" => "핒" ; + "픛" => "핓" ; + "픜" => "핔" ; + "픝" => "핕" ; + "픞" => "핖" ; + "픟" => "핗" ; + "흐" => "히" ; + "흑" => "힉" ; + "흒" => "힊" ; + "흓" => "힋" ; + "흔" => "힌" ; + "흕" => "힍" ; + "흖" => "힎" ; + "흗" => "힏" ; + "흘" => "힐" ; + "흙" => "힑" ; + "흚" => "힒" ; + "흛" => "힓" ; + "흜" => "힔" ; + "흝" => "힕" ; + "흞" => "힖" ; + "흟" => "힗" ; + "흠" => "힘" ; + "흡" => "힙" ; + "흢" => "힚" ; + "흣" => "힛" ; + "흤" => "힜" ; + "흥" => "힝" ; + "흦" => "힞" ; + "흧" => "힟" ; + "흨" => "힠" ; + "흩" => "힡" ; + "흪" => "힢" ; + "흫" => "힣" } + } ; +} \ No newline at end of file From 5344ca7cce72850e1b80fbe24ff23dc935676112 Mon Sep 17 00:00:00 2001 From: Inari Listenmaa Date: Tue, 24 Mar 2020 20:50:54 +0100 Subject: [PATCH 15/35] (Kor) Add linrefs to V* cats --- src/korean/CatKor.gf | 3 +++ src/korean/ParamKor.gf | Bin 4482 -> 4513 bytes src/korean/ResKor.gf | 2 ++ 3 files changed, 5 insertions(+) diff --git a/src/korean/CatKor.gf b/src/korean/CatKor.gf index 0038c46f8..4f5608bb5 100644 --- a/src/korean/CatKor.gf +++ b/src/korean/CatKor.gf @@ -117,4 +117,7 @@ concrete CatKor of Cat = CommonX ** open ResKor, Prelude in { N2 = ResKor.Noun2 ; N3 = ResKor.Noun3 ; PN = ResKor.PNoun ; + +linref + V, V2, V3, VP = linVerb ; } diff --git a/src/korean/ParamKor.gf b/src/korean/ParamKor.gf index 0eea49fd88b5a300eade5af5fc506f347a1bbcb2..8921172f2786597c88459cfb3b92a6faa27b0396 100644 GIT binary patch delta 43 ycmZotUZ}jmpGPjgAhn1~K_MqIFU(EBRw2wyAs{~|vm{j^Air3_db1yo2`d08-3 delta 12 TcmZ3e+@!q0pJ#I(k1;C%9UlYQ diff --git a/src/korean/ResKor.gf b/src/korean/ResKor.gf index 9d61d7fc5..d0d7c159e 100644 --- a/src/korean/ResKor.gf +++ b/src/korean/ResKor.gf @@ -248,4 +248,6 @@ oper -------------------------------------------------------------------------------- -- linrefs +linVerb : Verb -> Str = \v -> v.s ! linVF ; + } From 4730cae42bea32ae6abea806ac96856fd1261094 Mon Sep 17 00:00:00 2001 From: Inari Listenmaa Date: Tue, 24 Mar 2020 20:51:30 +0100 Subject: [PATCH 16/35] (Kor) Add unit tests about verb inflection --- src/korean/LexiconKor.gf | 14 ++++++------ src/korean/ParadigmsKor.gf | 17 ++++++++------- src/korean/ResKor.gf | 4 ++++ src/korean/unittest/inflection.gftest | 31 +++++++++++++++++++++++++++ 4 files changed, 51 insertions(+), 15 deletions(-) create mode 100644 src/korean/unittest/inflection.gftest diff --git a/src/korean/LexiconKor.gf b/src/korean/LexiconKor.gf index 16f58f6e4..4a9589e55 100644 --- a/src/korean/LexiconKor.gf +++ b/src/korean/LexiconKor.gf @@ -74,7 +74,7 @@ lin cat_N = mkN "고양이" ; -- lin cloud_N = mkN "" ; -- lin coat_N = mkN "" ; -- lin cold_A = mkA "" ; --- lin come_V = mkV "" ; +lin come_V = mkV "오다" ; -- lin computer_N = mkN "" ; -- lin correct_A = mkA "" ; -- lin count_V2 = mkV2 "" ; @@ -105,7 +105,7 @@ lin cat_N = mkN "고양이" ; -- lin ear_N = mkN "" ; -- lin earth_N = mkN "" ; --- lin eat_V2 = mkV2 "" ; +lin eat_V2 = mkV2 "먹다" ; -- lin egg_N = mkN "" ; -- lin empty_A = mkA "" ; -- lin enemy_N = mkN "" ; @@ -148,11 +148,11 @@ lin cat_N = mkN "고양이" ; -- lin garden_N = mkN "" ; lin girl_N = mkN "여자아이" ; --- lin give_V3 = mkV3 "" ; +lin give_V3 = mkV3 "주다" ; -- lin glove_N = mkN "" ; --- lin go_V = mkV "" ; +lin go_V = mkV "가다" ; -- lin gold_N = mkN "" ; --- lin good_A = mkA "" ; +lin good_A = mkA "좋다" ; -- lin grammar_N = mkN "" ; -- lin grass_N = mkN "" ; -- lin green_A = mkA "" ; @@ -202,7 +202,7 @@ lin house_N = mkN "집" ; -- lin lake_N = mkN "" ; -- lin lamp_N = mkN "" ; -- lin language_N = mkN "" ; --- lin laugh_V = mkV "" ; +lin laugh_V = mkV "웃다" ; -- lin leaf_N = mkN "" ; -- lin learn_V2 = mkV2 "" ; -- lin leather_N = mkN "" ; @@ -305,7 +305,7 @@ lin person_N = mkN "사람" ; -- lin science_N = mkN "" ; -- lin scratch_V2 = mkV2 "" ; -- lin sea_N = mkN "" ; --- lin see_V2 = mkV2 "" ; +lin see_V2 = mkV2 "보다" ; -- lin seed_N = mkN "" ; -- lin seek_V2 = mkV2 "" ; -- lin sell_V3 = mkV3 "" ; diff --git a/src/korean/ParadigmsKor.gf b/src/korean/ParadigmsKor.gf index 083513fdf..e2e2872ce 100644 --- a/src/korean/ParadigmsKor.gf +++ b/src/korean/ParadigmsKor.gf @@ -7,7 +7,7 @@ oper -- To abstract over number, valency and (some) case names, -- we define the following identifiers. The application programmer -- should always use these constants instead of the constructors --- defined in $ResSom$. +-- defined in $ResKor$. --2 Nouns @@ -28,14 +28,14 @@ oper -- Verbs mkV : overload { - mkV : (inf : Str) -> V ; -- Predictable verb: infinitive form as argument + mkV : (plain : Str) -> V ; -- Predictable verb: plaininitive form as argument -- mkV : Str -> V -> V -- Add a prefix to an existing verb, e.g. u baahan+ahay } ; copula : V ; -- The copula verb '' mkV2 : overload { - mkV2 : (inf : Str) -> V2 ; + mkV2 : (plain : Str) -> V2 ; } ; -- mkV3 : overload { @@ -102,7 +102,7 @@ oper } ; mkV = overload { - mkV : (inf : Str) -> V = \v -> lin V (mkVerb v Active) ; + mkV : (plain : Str) -> V = \v -> lin V (mkVerb v Active) ; } ; copula = ResKor.copula ; @@ -111,11 +111,12 @@ oper -- } ; mkV2 = overload { - mkV2 : (inf : Str) -> V2 = \v2 -> lin V2 (mkVerb2 v2) ; + mkV2 : (plain : Str) -> V2 = \v2 -> lin V2 (mkVerb2 v2) ; + } ; + + mkV3 = overload { + mkV3 : (plain : Str) -> V3 = \v3 -> lin V3 (mkVerb3 v3) ; } ; - -- - -- mkV3 = overload { - -- } ; -- -- mkVV = overload { -- } ; diff --git a/src/korean/ResKor.gf b/src/korean/ResKor.gf index d0d7c159e..00be5f0ec 100644 --- a/src/korean/ResKor.gf +++ b/src/korean/ResKor.gf @@ -152,6 +152,10 @@ oper let v = mkVerb plain Active in v ** {c2 = Object ; p2 = emptyPP} ; + mkVerb3 : (plain : Str) -> Verb3 = \plain -> + let v = mkVerb2 plain + in v ** {c3 = Bare ; p3 = emptyPP} ; + mkVerbFull : (x1,_,_,_,_,x6 : Str) -> VerbType -> Verb = \plain,polite,formal,planeg,polneg,formneg,vt -> { s = table { diff --git a/src/korean/unittest/inflection.gftest b/src/korean/unittest/inflection.gftest new file mode 100644 index 000000000..80ba19968 --- /dev/null +++ b/src/korean/unittest/inflection.gftest @@ -0,0 +1,31 @@ + +----------------------- +-- Verb inflection -- +-- (Polite informal) -- +----------------------- + +-- Regular +Lang: eat_V2 +LangKor: 먹어요 + +Lang: UseComp (CompAP (PositA good_A)) +LangKor: 좋어요 + +-- Final ㅏ or ㅓ does not repeat itself +Lang: go_V +LangKor: 가요 + +-- Monosyllabic 으-final is dropped +Lang: UseComp (CompAP (PositA big_A)) +LangKor: 커요 + +-- Final ㅗ + -아요 becomes ㅘ요 +Lang: see_V2 +LangKor: 봐요 + +Lang: come_V +LangKor: 와요 + +-- Final ㅜ + -어요 becomes ㅝ요 +Lang: give_V3 +LangKor: 줘요 From 022afabf5077802e50994803476692bcc9d38dcd Mon Sep 17 00:00:00 2001 From: Inari Listenmaa Date: Wed, 25 Mar 2020 10:30:49 +0100 Subject: [PATCH 17/35] (Kor) Add functions for V -> V2 --- src/korean/ParadigmsKor.gf | 6 ++++-- src/korean/ResKor.gf | 13 ++++++------- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/src/korean/ParadigmsKor.gf b/src/korean/ParadigmsKor.gf index e2e2872ce..575e50df4 100644 --- a/src/korean/ParadigmsKor.gf +++ b/src/korean/ParadigmsKor.gf @@ -29,13 +29,14 @@ oper -- Verbs mkV : overload { mkV : (plain : Str) -> V ; -- Predictable verb: plaininitive form as argument --- mkV : Str -> V -> V -- Add a prefix to an existing verb, e.g. u baahan+ahay +-- mkV : Str -> V -> V -- Add a prefix to an existing verb } ; copula : V ; -- The copula verb '' mkV2 : overload { - mkV2 : (plain : Str) -> V2 ; + mkV2 : (plain : Str) -> V2 ; -- Regular verb. Takes -다 form, object particle is 를. + mkV2 : V -> V2 ; -- Takes pre-constructed V, object particle is 를. } ; -- mkV3 : overload { @@ -112,6 +113,7 @@ oper mkV2 = overload { mkV2 : (plain : Str) -> V2 = \v2 -> lin V2 (mkVerb2 v2) ; + mkV2 : V -> V2 = vtov2 ; } ; mkV3 = overload { diff --git a/src/korean/ResKor.gf b/src/korean/ResKor.gf index 00be5f0ec..d2f743fcd 100644 --- a/src/korean/ResKor.gf +++ b/src/korean/ResKor.gf @@ -99,7 +99,8 @@ oper mkPrep : Str -> Postposition = \str -> ss str ; - emptyPP = mkPrep [] ; + emptyPP : Postposition = mkPrep [] ; + datPP : Postposition = mkPrep "에게" ; -------------------------------------------------------------------------------- -- Adjectives @@ -148,13 +149,11 @@ oper plain plain plain vt ; -- TODO proper forms - mkVerb2 : (plain : Str) -> Verb2 = \plain -> - let v = mkVerb plain Active - in v ** {c2 = Object ; p2 = emptyPP} ; + mkVerb2 : (plain : Str) -> Verb2 = \plain -> vtov2 (mkVerb plain Active) ; + mkVerb3 : (plain : Str) -> Verb3 = \plain -> v2tov3 (mkVerb2 plain) ; - mkVerb3 : (plain : Str) -> Verb3 = \plain -> - let v = mkVerb2 plain - in v ** {c3 = Bare ; p3 = emptyPP} ; + vtov2 : Verb -> Verb2 = \v -> v ** {c2 = Object ; p2 = emptyPP} ; + v2tov3 : Verb2 -> Verb3 = \v -> v ** {c3 = Bare ; p3 = datPP} ; mkVerbFull : (x1,_,_,_,_,x6 : Str) -> VerbType -> Verb = \plain,polite,formal,planeg,polneg,formneg,vt -> { From 3f8ccb559a1b6076d7dae498da436c8abd11ea72 Mon Sep 17 00:00:00 2001 From: Inari Listenmaa Date: Wed, 25 Mar 2020 11:37:35 +0100 Subject: [PATCH 18/35] (Kor) Add compound verbs --- src/korean/LexiconKor.gf | 4 ++-- src/korean/ParadigmsKor.gf | 4 +++- src/korean/ResKor.gf | 10 ++++++++++ src/korean/StructuralKor.gf | 2 +- 4 files changed, 16 insertions(+), 4 deletions(-) diff --git a/src/korean/LexiconKor.gf b/src/korean/LexiconKor.gf index 4a9589e55..fa20085c1 100644 --- a/src/korean/LexiconKor.gf +++ b/src/korean/LexiconKor.gf @@ -91,7 +91,7 @@ lin come_V = mkV "오다" ; -- lin dig_V = mkV "" ; -- lin dirty_A = mkA "" ; -- lin distance_N3 = mkN "" ; --- lin do_V2 = lin V2 egin_V ; +lin do_V2 = mkV2 do_V ; -- lin doctor_N = mkN "" ; -- lin dog_N = mkN "" ; -- lin door_N = mkN "" ; @@ -319,7 +319,7 @@ lin see_V2 = mkV2 "보다" ; -- lin shop_N = mkN "" ; -- lin short_A = mkA "" ; -- lin silver_N = mkN "" ; --- lin sing_V = mkV "" ; +lin sing_V = mkV "노래" do_V ; -- lin sister_N = mkN "" ; -- lin sit_V = mkV "" ; -- lin skin_N = mkN "" ; diff --git a/src/korean/ParadigmsKor.gf b/src/korean/ParadigmsKor.gf index 575e50df4..ced866a26 100644 --- a/src/korean/ParadigmsKor.gf +++ b/src/korean/ParadigmsKor.gf @@ -29,7 +29,7 @@ oper -- Verbs mkV : overload { mkV : (plain : Str) -> V ; -- Predictable verb: plaininitive form as argument --- mkV : Str -> V -> V -- Add a prefix to an existing verb + mkV : (nore : Str) -> (hada : V) -> V ; -- Add a prefix to an existing verb, e.g. 노래하다 } ; copula : V ; -- The copula verb '' @@ -104,6 +104,8 @@ oper mkV = overload { mkV : (plain : Str) -> V = \v -> lin V (mkVerb v Active) ; + mkV : (nore : Str) -> (hada : V) -> V = \nore,hada -> hada ** { + s = \\vf => nore + hada.s ! vf} ; } ; copula = ResKor.copula ; diff --git a/src/korean/ResKor.gf b/src/korean/ResKor.gf index d2f743fcd..b98ed3261 100644 --- a/src/korean/ResKor.gf +++ b/src/korean/ResKor.gf @@ -193,6 +193,16 @@ oper "없어요" "없습니다" Existential ; + + do_V : Verb = mkVerbFull + "한다" + "해요" + "합니다" + "todo" + "todo" + "todo" + Active ; + ------------------ -- Adv diff --git a/src/korean/StructuralKor.gf b/src/korean/StructuralKor.gf index 5e19f5ceb..f6df82fca 100644 --- a/src/korean/StructuralKor.gf +++ b/src/korean/StructuralKor.gf @@ -156,7 +156,7 @@ lin yes_Utt = ss "아니요" ; ------- -- Verb -lin have_V2 = have_V ** {sc = Topic; c2 = Subject ; p2 = emptyPP} ; +lin have_V2 = vtov2 have_V ** {sc = Topic ; c2 = Subject} ; -- lin can8know_VV = can_VV ; -- can (capacity) -- lin can_VV = mkVV "" ; -- can (possibility) -- lin must_VV = mkVV "" ; From e93b9c6743762c20f9f4e7e21118672f3e7a5c4a Mon Sep 17 00:00:00 2001 From: Inari Listenmaa Date: Wed, 25 Mar 2020 11:40:07 +0100 Subject: [PATCH 19/35] =?UTF-8?q?(Kor)=20Add=20negation=20with=20~?= =?UTF-8?q?=EC=A7=80=20=EC=95=8A=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/korean/ResKor.gf | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/src/korean/ResKor.gf b/src/korean/ResKor.gf index b98ed3261..dfd9b45a8 100644 --- a/src/korean/ResKor.gf +++ b/src/korean/ResKor.gf @@ -145,9 +145,8 @@ oper formalpres = case vowFinal stem of { True => add_B stem + "니다" ; False => stem + "습니다" } ; - in mkVerbFull plainpres polpres formalpres - plain plain plain - vt ; -- TODO proper forms + neg = stem + "지" ; + in mkVerbReg plainpres polpres formalpres neg vt ; mkVerb2 : (plain : Str) -> Verb2 = \plain -> vtov2 (mkVerb plain Active) ; mkVerb3 : (plain : Str) -> Verb3 = \plain -> v2tov3 (mkVerb2 plain) ; @@ -155,10 +154,17 @@ oper vtov2 : Verb -> Verb2 = \v -> v ** {c2 = Object ; p2 = emptyPP} ; v2tov3 : Verb2 -> Verb3 = \v -> v ** {c3 = Bare ; p3 = datPP} ; + mkVerbReg : (x1,_,_,x4 : Str) -> VerbType -> Verb = + \plainpres,polite,formal,neg,vt -> + let planeg = neg ++ negForms ! Plain ; + polneg = neg ++ negForms ! Polite ; + formneg = neg ++ negForms ! Formal ; + in mkVerbFull plainpres polite formal planeg polneg formneg vt ; + mkVerbFull : (x1,_,_,_,_,x6 : Str) -> VerbType -> Verb = - \plain,polite,formal,planeg,polneg,formneg,vt -> { + \plainpres,polite,formal,planeg,polneg,formneg,vt -> { s = table { - VF Plain Pos => plain ; + VF Plain Pos => plainpres ; VF Plain Neg => planeg ; VF Polite Pos => polite ; VF Polite Neg => polneg ; @@ -194,15 +200,18 @@ oper "없습니다" Existential ; - do_V : Verb = mkVerbFull + do_V : Verb = mkVerbReg "한다" "해요" "합니다" - "todo" - "todo" - "todo" + "하지" Active ; + negForms : Style => Str = + table { Plain => "않다" ; + Polite => "않아요" ; + Formal => "않습니다" } ; + ------------------ -- Adv From b95ed7898264317344438039a7ee70d6ef4fb710 Mon Sep 17 00:00:00 2001 From: Inari Listenmaa Date: Wed, 25 Mar 2020 11:40:46 +0100 Subject: [PATCH 20/35] (Kor) Small cleanup and new words --- src/korean/LexiconKor.gf | 2 +- src/korean/ParadigmsKor.gf | 2 +- src/korean/StructuralKor.gf | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/korean/LexiconKor.gf b/src/korean/LexiconKor.gf index fa20085c1..157ad512d 100644 --- a/src/korean/LexiconKor.gf +++ b/src/korean/LexiconKor.gf @@ -11,7 +11,7 @@ concrete LexiconKor of Lexicon = CatKor ** -- lin animal_N = mkN "동물" ; -- lin answer_V2S = mkV2S "" ; -- lin apartment_N = mkN "" ; --- lin apple_N = mkN "" ; +lin apple_N = mkN "사과" ; -- lin art_N = mkN "" ; -- lin ashes_N = mkN "" ; -- lin ask_V2Q = mkV2 "" ; diff --git a/src/korean/ParadigmsKor.gf b/src/korean/ParadigmsKor.gf index ced866a26..66eeb2379 100644 --- a/src/korean/ParadigmsKor.gf +++ b/src/korean/ParadigmsKor.gf @@ -86,7 +86,7 @@ oper -- hidden from the document. mkN = overload { - mkN : Str -> N = \s -> lin N (mkNoun s) ; + mkN : Str -> N = \s -> lin N (mkNoun s) ; } ; diff --git a/src/korean/StructuralKor.gf b/src/korean/StructuralKor.gf index f6df82fca..892f31cd5 100644 --- a/src/korean/StructuralKor.gf +++ b/src/korean/StructuralKor.gf @@ -102,7 +102,7 @@ oper -- lin by8means_Prep = mkPrep ; -- lin during_Prep = mkPrep ; -- lin except_Prep = mkPrep ; --- lin for_Prep = mkPrep ; +lin for_Prep = mkPrep "에게" ; -- lin from_Prep = mkPrep "" ; -- lin in8front_Prep = mkPrep "" ; lin in_Prep = mkPrep "에서" ; From adfa5ce4fdc6aa1aa9a44044909989f61bedb44c Mon Sep 17 00:00:00 2001 From: Inari Listenmaa Date: Wed, 25 Mar 2020 11:41:57 +0100 Subject: [PATCH 21/35] (Kor) Add space before negation in CompN* + fix copula forms after vowel --- src/korean/ResKor.gf | 2 +- src/korean/VerbKor.gf | 8 +++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/korean/ResKor.gf b/src/korean/ResKor.gf index dfd9b45a8..7f8f21cd1 100644 --- a/src/korean/ResKor.gf +++ b/src/korean/ResKor.gf @@ -184,7 +184,7 @@ oper "아닙니다" Copula ; - copulaAfterConsonant : Verb = copula ** { + copulaAfterVowel : Verb = copula ** { s = \\vf => case vf of { VF Plain Pos => "다" ; VF Polite Pos => "예요" ; diff --git a/src/korean/VerbKor.gf b/src/korean/VerbKor.gf index 8a5a39bdc..4963e8865 100644 --- a/src/korean/VerbKor.gf +++ b/src/korean/VerbKor.gf @@ -119,9 +119,11 @@ lin CompNP = \n -> emptyComp ** { s = \\vf => let cop = case n.p of { - Vowel => copula.s ; - Consonant => copulaAfterConsonant.s } - in glue (n.s ! Bare) (cop ! vf) + Vowel => copulaAfterVowel.s ; + Consonant => copula.s } + in case vf of { + VF _ Pos => glue (n.s ! Bare) (cop ! vf) ; + VF _ Neg => n.s ! Bare ++ cop ! vf } } ; -- : Adv -> Comp ; From f9d23d52ee359268eb4500982478abe8ba904b4a Mon Sep 17 00:00:00 2001 From: Inari Listenmaa Date: Wed, 25 Mar 2020 12:51:51 +0100 Subject: [PATCH 22/35] (Kor) Add more documentation --- src/korean/LexiconKor.gf | 2 +- src/korean/ParadigmsKor.gf | 8 ++++---- src/korean/SentenceKor.gf | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/korean/LexiconKor.gf b/src/korean/LexiconKor.gf index 157ad512d..e73654fb5 100644 --- a/src/korean/LexiconKor.gf +++ b/src/korean/LexiconKor.gf @@ -36,7 +36,7 @@ lin big_A = mkA "크다" ; -- lin black_A = mkA "" ; -- lin blood_N = mkN "" ; -- lin blow_V = mkV "" ; --- lin blue_A = mkA "" ; +lin blue_A = mkA "푸르다" ; -- lin boat_N = mkN "" ; -- lin bone_N = mkN "" ; -- lin boot_N = mkN "" ; diff --git a/src/korean/ParadigmsKor.gf b/src/korean/ParadigmsKor.gf index 66eeb2379..ed5b05236 100644 --- a/src/korean/ParadigmsKor.gf +++ b/src/korean/ParadigmsKor.gf @@ -28,15 +28,15 @@ oper -- Verbs mkV : overload { - mkV : (plain : Str) -> V ; -- Predictable verb: plaininitive form as argument - mkV : (nore : Str) -> (hada : V) -> V ; -- Add a prefix to an existing verb, e.g. 노래하다 + mkV : (plain : Str) -> V ; -- Predictable verb. Takes plain, uninflected -다 form, e.g. 가다 + mkV : (nore : Str) -> (hada : V) -> V ; -- Add a prefix to an existing verb, e.g. 노래+하다 } ; copula : V ; -- The copula verb '' mkV2 : overload { - mkV2 : (plain : Str) -> V2 ; -- Regular verb. Takes -다 form, object particle is 를. - mkV2 : V -> V2 ; -- Takes pre-constructed V, object particle is 를. + mkV2 : (plain : Str) -> V2 ; -- Regular verb. Takes plain, uninflected -다 form, object particle is 를. + mkV2 : V -> V2 ; -- Takes preconstructed V, object particle is 를. } ; -- mkV3 : overload { diff --git a/src/korean/SentenceKor.gf b/src/korean/SentenceKor.gf index 2f394ca2b..a32a80d2c 100644 --- a/src/korean/SentenceKor.gf +++ b/src/korean/SentenceKor.gf @@ -15,7 +15,7 @@ lin --2 Clauses missing object noun phrases -- : NP -> VPSlash -> ClSlash ; - SlashVP = predVP ; + -- SlashVP = predVP ; {- -- : ClSlash -> Adv -> ClSlash ; -- (whom) he sees today AdvSlash cls adv = cls ** insertAdv adv cls ; From 64a66166ebdb8056994f553cbc0030760dca8940 Mon Sep 17 00:00:00 2001 From: Inari Listenmaa Date: Wed, 25 Mar 2020 12:52:18 +0100 Subject: [PATCH 23/35] (Kor) Add compound adjectives --- src/korean/LexiconKor.gf | 2 +- src/korean/ParadigmsKor.gf | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/korean/LexiconKor.gf b/src/korean/LexiconKor.gf index e73654fb5..6e593fdba 100644 --- a/src/korean/LexiconKor.gf +++ b/src/korean/LexiconKor.gf @@ -317,7 +317,7 @@ lin see_V2 = mkV2 "보다" ; -- lin shirt_N = mkN "" ; -- lin shoe_N = mkN "" ; -- lin shop_N = mkN "" ; --- lin short_A = mkA "" ; +lin short_A = mkA "키가" small_A ; -- "height is small" -- lin silver_N = mkN "" ; lin sing_V = mkV "노래" do_V ; -- lin sister_N = mkN "" ; diff --git a/src/korean/ParadigmsKor.gf b/src/korean/ParadigmsKor.gf index ed5b05236..f6ea3837d 100644 --- a/src/korean/ParadigmsKor.gf +++ b/src/korean/ParadigmsKor.gf @@ -19,7 +19,8 @@ oper --2 Adjectives mkA : overload { - mkA : (adj : Str) -> A ; + mkA : (adj : Str) -> A ; -- Regular adjective, given in -다 form + mkA : (kiga : Str) -> (jakda : A) -> A ; -- Compound adjective, e.g. 키가 작다 'short', literally 'height (is) small'. 키가 'height' given as string, 작다 'small' given as preconstructed A. } ; -- mkA2 : Str -> Prep -> A2 ; @@ -99,7 +100,9 @@ oper -- } ; mkA = overload { - mkA : (adj : Str) -> A = \s -> lin A (mkAdj s) ; + mkA : (adj : Str) -> A = \s -> lin A (mkAdj s) ; + mkA : (kiga : Str) -> (jakda : A) -> A = \kiga,jakda -> + jakda ** {s = \\af => kiga ++ jakda.s ! af} ; } ; mkV = overload { From c49bcb2f69569d2045b12a0df1a0215a4d7e57ee Mon Sep 17 00:00:00 2001 From: Inari Listenmaa Date: Wed, 25 Mar 2020 12:52:39 +0100 Subject: [PATCH 24/35] (Kor) Add SlashV2a and ComplSlash --- src/korean/ResKor.gf | 15 +++++++++++---- src/korean/VerbKor.gf | 11 ++++++----- 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/src/korean/ResKor.gf b/src/korean/ResKor.gf index 7f8f21cd1..10621b4a1 100644 --- a/src/korean/ResKor.gf +++ b/src/korean/ResKor.gf @@ -231,19 +231,25 @@ oper } ; VerbPhrase : Type = BaseVerb ** Complement ** { + nObj, vComp : Str -- {subjunc : Str ; -- inflected verb complement -- inf : Str ; -- infinitive verb complement -- subcl : Str} -- clause complement } ; - VPSlash : Type = VerbPhrase ; + VPSlash : Type = Verb2 ; useV : Verb -> VerbPhrase = \v -> v ** { - vComp, - nComp = [] ; + nObj, + vComp = [] ; } ; + useVc : Verb2 -> VPSlash = \v2 -> v2 ; + + insertComp : VPSlash -> NounPhrase -> VerbPhrase = \v2,np -> useV v2 ** { + nObj = np.s ! v2.c2 ++ v2.p2.s + } ; -------------------------------------------------------------------------------- -- Cl, S @@ -264,7 +270,8 @@ oper predVP : NounPhrase -> VerbPhrase -> ClSlash = \np,vp -> vp ** { s = \\t,a,p => np.s ! vp.sc - ++ vp.s ! VF Polite p -- TODO: more tenses + ++ vp.nObj -- an object, not copula complement + ++ vp.s ! VF Polite p -- TODO: more tenses, choose politeness } ; -------------------------------------------------------------------------------- diff --git a/src/korean/VerbKor.gf b/src/korean/VerbKor.gf index 4963e8865..3a00a69c2 100644 --- a/src/korean/VerbKor.gf +++ b/src/korean/VerbKor.gf @@ -35,9 +35,10 @@ lin -} -------- -- Slash -{- -- : V2 -> VPSlash - SlashV2a = useVc ; + SlashV2a = ResKor.useVc ; + +{- -- : V3 -> NP -> VPSlash ; -- give it (to her) -- : V3 -> NP -> VPSlash ; -- give (it) to her @@ -61,10 +62,10 @@ lin SlashV2A v2a ap = useVc v2a ** { aComp = \\_ => (CompAP ap).aComp ! Sg3 Masc } ; - - -- : VPSlash -> NP -> VP - ComplSlash = insertComp ; -} + -- : VPSlash -> NP -> VP + ComplSlash = ResKor.insertComp ; + {- -- : VV -> VPSlash -> VPSlash ; -- Just like ComplVV except missing subject! From cfdc4d9955aaf4cca9ea3d5571c044c1bc0bb0af Mon Sep 17 00:00:00 2001 From: Inari Listenmaa Date: Wed, 25 Mar 2020 13:42:22 +0100 Subject: [PATCH 25/35] (Kor) Adv, AdA and AP related functions --- src/korean/AdjectiveKor.gf | 2 +- src/korean/LexiconKor.gf | 4 ++-- src/korean/NounKor.gf | 5 +++-- src/korean/ResKor.gf | 22 +++++++++++++++------- src/korean/StructuralKor.gf | 16 ++++++++-------- src/korean/VerbKor.gf | 4 ++-- 6 files changed, 31 insertions(+), 22 deletions(-) diff --git a/src/korean/AdjectiveKor.gf b/src/korean/AdjectiveKor.gf index 04a6b82be..b5cd041ff 100644 --- a/src/korean/AdjectiveKor.gf +++ b/src/korean/AdjectiveKor.gf @@ -52,7 +52,7 @@ concrete AdjectiveKor of Adjective = CatKor ** open ResKor, Prelude in { -- An adjectival phrase can be modified by an *adadjective*, such as "very". -- : AdA -> AP -> AP ; - -- AdAP ada ap = ap ** { } ; + AdAP ada ap = ap ** {s = \\af => ada.s ++ ap.s ! af} ; -- It can also be postmodified by an adverb, typically a prepositional phrase. diff --git a/src/korean/LexiconKor.gf b/src/korean/LexiconKor.gf index 6e593fdba..185dc31c0 100644 --- a/src/korean/LexiconKor.gf +++ b/src/korean/LexiconKor.gf @@ -243,7 +243,7 @@ lin name_N = mkN "성함" ; -- lin newspaper_N = mkN "" ; -- lin night_N = mkN "" ; -- lin nose_N = mkN "" ; --- lin now_Adv = mkA "" ; +lin now_Adv = mkAdv "지금" ; -- lin number_N = mkN "" ; -- -- -------- @@ -368,7 +368,7 @@ lin small_A = mkA "작다" ; -- lin think_V = mkV "" ; -- lin throw_V2 = mkV2 "" ; -- lin tie_V2 = mkV2 "" ; --- lin today_Adv = mkA "" ; +lin today_Adv = mkAdv "오늘" ; -- lin tongue_N = mkN "" ; -- lin tooth_N = mkN "" ; -- lin train_N = mkN "" ; diff --git a/src/korean/NounKor.gf b/src/korean/NounKor.gf index 6009f7e22..e15361e53 100644 --- a/src/korean/NounKor.gf +++ b/src/korean/NounKor.gf @@ -141,8 +141,9 @@ concrete NounKor of Noun = CatKor ** open ResKor, Prelude in { -- : N3 -> N2 ; -- distance (to Paris) -- Use3N3 n3 = lin N2 n3 ; -- : AP -> CN -> CN - -- AdjCN ap cn = cn ** { - -- } ; + AdjCN ap cn = cn ** { + s = \\nf => ap.s ! AAttr ++ cn.s ! nf + } ; -- : CN -> RS -> CN ; -- RelCN cn rs = cn ** { diff --git a/src/korean/ResKor.gf b/src/korean/ResKor.gf index 10621b4a1..e7956febd 100644 --- a/src/korean/ResKor.gf +++ b/src/korean/ResKor.gf @@ -230,7 +230,8 @@ oper -- compar : Str ; } ; - VerbPhrase : Type = BaseVerb ** Complement ** { + BaseVP : Type = { + adv, nObj, vComp : Str -- {subjunc : Str ; -- inflected verb complement @@ -238,18 +239,26 @@ oper -- subcl : Str} -- clause complement } ; - VPSlash : Type = Verb2 ; - - useV : Verb -> VerbPhrase = \v -> v ** { + baseVP : BaseVP = { + adv, nObj, vComp = [] ; } ; - useVc : Verb2 -> VPSlash = \v2 -> v2 ; + VerbPhrase : Type = BaseVerb ** Complement ** BaseVP ; + + VPSlash : Type = Verb2 ** BaseVP ; + + useV : Verb -> VerbPhrase = \v -> baseVP ** v ; + + useVc : Verb2 -> VPSlash = \v2 -> baseVP ** v2 ; insertComp : VPSlash -> NounPhrase -> VerbPhrase = \v2,np -> useV v2 ** { nObj = np.s ! v2.c2 ++ v2.p2.s } ; + + insertAdv : VerbPhrase -> SS -> VerbPhrase = \vp,adv -> vp ** {adv = adv.s} ; + insertAdvSlash : VPSlash -> SS -> VPSlash = \v,a -> v ** insertAdv v a ; -------------------------------------------------------------------------------- -- Cl, S @@ -266,11 +275,10 @@ oper Sentence : Type = {s : Str} ; - predVPslash = predVP ; -- VP==VPSlash, Cl==ClSlash - predVP : NounPhrase -> VerbPhrase -> ClSlash = \np,vp -> vp ** { s = \\t,a,p => np.s ! vp.sc ++ vp.nObj -- an object, not copula complement + ++ vp.adv ++ vp.s ! VF Polite p -- TODO: more tenses, choose politeness } ; diff --git a/src/korean/StructuralKor.gf b/src/korean/StructuralKor.gf index 892f31cd5..b3418aae6 100644 --- a/src/korean/StructuralKor.gf +++ b/src/korean/StructuralKor.gf @@ -3,15 +3,15 @@ concrete StructuralKor of Structural = CatKor ** ------- -- Ad* -{- -lin almost_AdA = mkAdA "" ; -lin almost_AdN = ss "" ; -lin at_least_AdN = ss "" ; -lin at_most_AdN = ss "" ; -lin so_AdA = ss "" ; -lin too_AdA = ss "" ; -lin very_AdA = mkAdA "" ; +-- lin almost_AdA = mkAdA "" ; +-- lin almost_AdN = ss "" ; +-- lin at_least_AdN = ss "" ; +-- lin at_most_AdN = ss "" ; +-- lin so_AdA = ss "" ; +-- lin too_AdA = ss "" ; +lin very_AdA = mkAdA "매우" ; +{- lin as_CAdv = { s = "" ; p = [] } ; lin less_CAdv = { s = "" ; p = [] } ; lin more_CAdv = { s = "" ; p = [] } ; diff --git a/src/korean/VerbKor.gf b/src/korean/VerbKor.gf index 3a00a69c2..32660f5e4 100644 --- a/src/korean/VerbKor.gf +++ b/src/korean/VerbKor.gf @@ -83,13 +83,13 @@ lin -- : Comp -> VP ; UseComp comp = UseCopula ** comp ; -{- -- : VP -> Adv -> VP ; -- sleep here AdvVP = insertAdv ; -- : VPSlash -> Adv -> VPSlash ; -- use (it) here - AdvVPSlash = insertAdv ; + AdvVPSlash = insertAdvSlash ; +{- -- : VP -> Adv -> VP ; -- sleep , even though ... ExtAdvVP vp adv = ; From d83ded2624d97904a87ea8bbf50e127717859ebe Mon Sep 17 00:00:00 2001 From: Inari Listenmaa Date: Wed, 25 Mar 2020 14:03:38 +0100 Subject: [PATCH 26/35] (Kor) Det, Quant --- src/korean/NounKor.gf | 12 +++++++++--- src/korean/ResKor.gf | 14 +++++++++++++- src/korean/StructuralKor.gf | 8 ++++---- 3 files changed, 26 insertions(+), 8 deletions(-) diff --git a/src/korean/NounKor.gf b/src/korean/NounKor.gf index e15361e53..c9e71d781 100644 --- a/src/korean/NounKor.gf +++ b/src/korean/NounKor.gf @@ -7,7 +7,11 @@ concrete NounKor of Noun = CatKor ** open ResKor, Prelude in { --2 Noun phrases -- : Det -> CN -> NP - DetCN det cn = cn ** {s = \\c => det.s ++ cn.s ! c} ; + DetCN det cn = cn ** {s = + \\c => case det.n of { + -- Pl => det.s ++ cn.s ! Bare ++ BIND ++ plural ! c ; + _ => det.s ++ cn.s ! c } ; + } ; -- : PN -> NP ; -- UsePN pn = pn ** { @@ -45,8 +49,9 @@ concrete NounKor of Noun = CatKor ** open ResKor, Prelude in { -- Determiners can form noun phrases directly. -- : Det -> NP ; - -- DetNP det = emptyNP ** { - -- } ; + DetNP det = det ** { + s = det.sp + } ; -- MassNP : CN -> NP ; -- MassNP cn = useN cn ** { @@ -60,6 +65,7 @@ concrete NounKor of Noun = CatKor ** open ResKor, Prelude in { -- : Quant -> Num -> Det ; DetQuant quant num = quant ** { + s = quant.s ++ num.s ! Indep ; n = num.n } ; diff --git a/src/korean/ResKor.gf b/src/korean/ResKor.gf index e7956febd..9e07ee371 100644 --- a/src/korean/ResKor.gf +++ b/src/korean/ResKor.gf @@ -59,7 +59,8 @@ oper BaseQuant : Type = { s : Str ; - isPoss : Bool + isPoss : Bool ; + p : Phono } ; Determiner : Type = BaseQuant ** { @@ -90,8 +91,19 @@ oper baseQuant : BaseQuant = { s = [] ; isPoss = False ; + p = Vowel ; } ; + mkQuant : (s,sp : Str) -> Quant = \s,sp -> baseQuant ** { + s = s ; + sp = (mkNoun sp).s ; + p = (mkNoun sp).p ; + } ; + + plural : NForm => Str = table { + Bare => "들" ; + nf => "들" + allomorph nf "들" + } ; -------------------------------------------------------------------------------- -- Postpositions diff --git a/src/korean/StructuralKor.gf b/src/korean/StructuralKor.gf index b3418aae6..93e9c8427 100644 --- a/src/korean/StructuralKor.gf +++ b/src/korean/StructuralKor.gf @@ -69,11 +69,11 @@ lin much_Det = R.indefDet "" sg ; lin somePl_Det = lin someSg_Det = - lin no_Quant = -lin that_Quant = -lin this_Quant = -lin which_IQuant = +-} +lin that_Quant = mkQuant "그" "그것" ; +lin this_Quant = mkQuant "이" "이것" ; +{-lin which_IQuant = ----- From 115e2f1ffa10a30606402f76a32404512aa15ae2 Mon Sep 17 00:00:00 2001 From: Inari Listenmaa Date: Wed, 25 Mar 2020 16:00:48 +0100 Subject: [PATCH 27/35] (Kor) Add counters to N* + preliminary support for numerals --- src/korean/NounKor.gf | 31 +++++++++++++++++++------------ src/korean/ParamKor.gf | Bin 4513 -> 4521 bytes src/korean/ResKor.gf | 28 +++++++++++++++++++++------- 3 files changed, 40 insertions(+), 19 deletions(-) diff --git a/src/korean/NounKor.gf b/src/korean/NounKor.gf index c9e71d781..9e81e44f0 100644 --- a/src/korean/NounKor.gf +++ b/src/korean/NounKor.gf @@ -8,10 +8,19 @@ concrete NounKor of Noun = CatKor ** open ResKor, Prelude in { -- : Det -> CN -> NP DetCN det cn = cn ** {s = - \\c => case det.n of { - -- Pl => det.s ++ cn.s ! Bare ++ BIND ++ plural ! c ; - _ => det.s ++ cn.s ! c } ; - } ; + \\c => + let cns : Str = case det.n of { + -- Pl => n.s ! Bare ++ BIND ++ plural ! c ; + _Sg => cn.s ! c } ; + dets : Str = det.s ! cn.c.origin ; + detnum : Str = case det.numtype of { + IsNum => dets ++ cn.c.s ; + IsDig => glue dets cn.c.s ; + NoNum => dets } ; + in case isNum det of { + True => cns ++ detnum ; + False => detnum ++ cns } + } ; -- : PN -> NP ; -- UsePN pn = pn ** { @@ -50,7 +59,8 @@ concrete NounKor of Noun = CatKor ** open ResKor, Prelude in { -- : Det -> NP ; DetNP det = det ** { - s = det.sp + s = det.sp ; + c = baseCounter } ; -- MassNP : CN -> NP ; @@ -64,9 +74,8 @@ concrete NounKor of Noun = CatKor ** open ResKor, Prelude in { -- quantifier and an optional numeral can be discerned. -- : Quant -> Num -> Det ; - DetQuant quant num = quant ** { - s = quant.s ++ num.s ! Indep ; - n = num.n + DetQuant quant num = quant ** num ** { + s = \\origin => quant.s ++ num.s ! origin ! Attrib } ; -- : Quant -> Num -> Ord -> Det ; -- these five best @@ -117,10 +126,8 @@ concrete NounKor of Noun = CatKor ** open ResKor, Prelude in { -- OrdNumeralSuperl num a = num ** { } ; -- : Quant - DefArt = baseQuant ** {sp = \\_ => []} ; - - -- : Quant - IndefArt = baseQuant ** {sp = \\_ => []} ; + DefArt, + IndefArt = mkQuant [] [] ; -- : Pron -> Quant -- PossPron pron = diff --git a/src/korean/ParamKor.gf b/src/korean/ParamKor.gf index 8921172f2786597c88459cfb3b92a6faa27b0396..b7097c86c434755a34609750a89a7281d8c3d3dd 100644 GIT binary patch delta 87 zcmZ3eyi$1sFUMqE4sk_=8U@c{ztUULemLF(je4#~|u9I~7M>q{HI diff --git a/src/korean/ResKor.gf b/src/korean/ResKor.gf index 9e07ee371..84fcc2eb5 100644 --- a/src/korean/ResKor.gf +++ b/src/korean/ResKor.gf @@ -3,10 +3,20 @@ resource ResKor = ParamKor ** open Prelude, Predef, ParamKor in { -------------------------------------------------------------------------------- -- Nouns oper + Counter : Type = { + s : Str ; + origin : NumOrigin + } ; + + baseCounter : Counter = { + s = "개" ; + origin = NK + } ; Noun : Type = { s : NForm => Str ; - p : Phono + p : Phono ; + c : Counter ; } ; Noun2 : Type = Noun ; -- TODO eventually more parameters? Noun3 : Type = Noun ; @@ -19,6 +29,7 @@ oper mkNoun : Str -> Noun = \str -> { s = \\cas => str + allomorph cas str ; p = if_then_else Phono (vowFinal str) Vowel Consonant ; + c = baseCounter } ; useN : Noun -> CNoun = \n -> n ; @@ -58,28 +69,32 @@ oper -- Det, Quant, Card, Ord BaseQuant : Type = { - s : Str ; isPoss : Bool ; p : Phono } ; Determiner : Type = BaseQuant ** { + s : NumOrigin => Str ; -- Chosen by the counter of CN sp : NForm => Str ; n : Number ; --- numtype : NumType ; -- number as in "5" or "Sg/Pl", often makes a difference in lots of things + numtype : NumType ; -- Whether its Num component is digit, numeral or Sg/Pl } ; Quant : Type = BaseQuant ** { + s : Str ; sp : NForm => Str ; } ; Num : Type = { - s : DForm => Str ; -- independent or attribute - n : Number + s : NumOrigin -- Sino-Korean or native Korean + => DForm -- Independent or attribute + => Str ; + n : Number ; + numtype : NumType ; -- Digit, numeral or Sg/Pl } ; baseNum : Num = { - s = \\_ => [] ; + s = \\_,_ => [] ; n = Sg ; numtype = NoNum } ; @@ -89,7 +104,6 @@ oper } ; baseQuant : BaseQuant = { - s = [] ; isPoss = False ; p = Vowel ; } ; From 602da07d3d48859b6a7369599fdbf6a74dcee28f Mon Sep 17 00:00:00 2001 From: Inari Listenmaa Date: Thu, 26 Mar 2020 12:40:29 +0100 Subject: [PATCH 28/35] (Kor) Add numerals -- so far only up to 100 --- src/korean/NounKor.gf | 4 +- src/korean/NumeralKor.gf | 124 ++++++++++++++++++++++++++++++++++++++- src/korean/ParamKor.gf | Bin 4521 -> 2522 bytes 3 files changed, 125 insertions(+), 3 deletions(-) diff --git a/src/korean/NounKor.gf b/src/korean/NounKor.gf index 9e81e44f0..7f8798ae8 100644 --- a/src/korean/NounKor.gf +++ b/src/korean/NounKor.gf @@ -94,13 +94,13 @@ concrete NounKor of Noun = CatKor ** open ResKor, Prelude in { NumPl = baseNum ** {n = Pl} ; -- : Card -> Num ; - -- NumCard card = + NumCard card = card ; -- : Digits -> Card ; -- NumDigits dig = -- : Numeral -> Card ; - -- NumNumeral num + NumNumeral num = num ; {- -- : AdN -> Card -> Card ; diff --git a/src/korean/NumeralKor.gf b/src/korean/NumeralKor.gf index 83179b773..9b2c6edb7 100644 --- a/src/korean/NumeralKor.gf +++ b/src/korean/NumeralKor.gf @@ -1,4 +1,126 @@ concrete NumeralKor of Numeral = CatKor [Numeral,Digits] ** - open Prelude, ResKor, ParamKor in { + open Prelude, ResKor in { +lincat + Digit = LinDigit ; + Sub10, + Sub100, + Sub1000, + Sub1000000 = ResKor.Numeral ; + +lin + -- : Sub1000000 -> Numeral ; -- 123456 [coercion to top category] + num x = x ; + + -- : Digit ; + n2 = mkNum4 "이" "둘" "두" "스물" ** {isTwo=True} ; + n3 = mkNum4 "삼" "셋" "세" "서른" ; + n4 = mkNum4 "사" "넷" "네" "마흔" ; + n5 = mkNum4 "오" "다섯" "다섯" "쉰" ; + n6 = mkNum2 "육" "여섯" ; + n7 = mkNum2 "칠" "일곱" ; + n8 = mkNum2 "팔" "여덟" ; + n9 = mkNum2 "구" "아홉" ; + + -- : Sub10 ; -- 1 + pot01 = mkNum4 "일" "하나" "한" "첫" ; + + -- : Digit -> Sub10 ; -- d * 1 + pot0 x = x ; + + -- : Sub100 ; -- 10 + pot110 = mkNum2 "십" "열" ; + + -- : Sub100 ; -- 11 + pot111 = mkNum4 "십일" "열하나" "열한" "십첫" ; -- TODO check + + -- : Digit -> Sub100 ; -- 10 + d + pot1to19 d = let newS = xPlus "십" "열" d.s in d ** { + s = newS ; + n = Pl ; + ord = newS ! NK ! Attrib ++ "번째" ; + } ; + + -- : Sub10 -> Sub100 ; -- coercion of 1..9 + pot0as1 x = x ; + + -- : Digit -> Sub100 ; -- d * 10 + pot1 d = let sk = potTimes "십" "열" d in sk ** { + s = table { + SK => sk.s ! SK ; + NK => case d.isTwo of { + True => table {Attrib => "스무" ; Indep => "스물"} ; + False => table {_ => d.ten} + } + } + } ; + + -- : Digit -> Sub10 -> Sub100 ; -- d * 10 + n + pot1plus d n = + let dx10 = pot1 d ; + tenSK = glue (dx10.s ! SK ! Indep) "십" ; + tenNK = d.ten ; + newS = xPlus tenSK tenNK n.s + in dx10 ** { + s = newS ; + ord = newS ! NK ! Attrib ++ "번째" ; -- TODO check + } ; + + -- : Sub100 -> Sub1000 ; -- coercion of 1..99 + pot1as2 x = x ; + + -- : Sub10 -> Sub1000 ; -- m * 100 + pot2 = potTimes "백" "백" ; + + -- : Sub10 -> Sub100 -> Sub1000 ; -- m * 100 + n + pot2plus m n = TODO ; + + -- : Sub1000 -> Sub1000000 ; -- coercion of 1..999 + pot2as3 x = x ; + + -- : Sub1000 -> Sub1000000 ; -- m * 1000 + pot3 m = TODO ; + + -- : Sub1000 -> Sub1000 -> Sub1000000 ; -- m * 1000 + n + pot3plus m n = TODO ; + + +oper + LinDigit : Type = ResKor.Numeral ** {isTwo : Bool ; ten : Str} ; + + mkNum2 : (sk, nk : Str) -> LinDigit = + \sk,nk -> mkNum5 sk nk nk nk (sk+"십") ; -- Digits >5: no NK form for d*10 + + mkNum4 : (x1,_,_,x4 : Str) -> LinDigit = + \sk,nk,ord,ten -> mkNum5 sk nk ord ord ten ; -- Digits >4: NK attrib==indep + + mkNum5 : (x1,_,_,_,x5 : Str) -> LinDigit = \sk,nk,nkAttr,ord,ten -> { + s = table { + SK => \\_ => sk ; + NK => table {Indep => nk ; _ => nkAttr } + } ; + n = Pl ; + numtype = IsNum ; + isTwo = False ; + ten = ten ; + ord = ord ++ "번째" ; + } ; + + NumForm : Type = NumOrigin => DForm => Str ; + + xTimes : (tenSK, tenNK : Str) -> NumForm -> NumForm = \sk,nk,tbl -> + table {SK => \\df => glue (tbl ! SK ! df) sk ; + NK => \\df => glue (tbl ! NK ! Indep) nk } ; + xPlus : (tenSK, tenNK : Str) -> NumForm -> NumForm = \sk,nk,tbl -> + table {SK => \\df => glue sk (tbl ! SK ! df) ; + NK => \\df => glue nk (tbl ! NK ! df) } ; + + potTimes : (sk,nk : Str) -> ResKor.Numeral -> ResKor.Numeral = \sk,nk,num -> + let newS = xTimes sk nk num.s in num ** { + s = newS ; + n = Pl ; + ord = newS ! NK ! Attrib ++ "번째" ; -- TODO check + } ; + + TODO : ResKor.Numeral = mkNum2 "TODO" "TODO" ; } diff --git a/src/korean/ParamKor.gf b/src/korean/ParamKor.gf index b7097c86c434755a34609750a89a7281d8c3d3dd..3f9f909ef47c16e4df0a78482427041cc68be6f9 100644 GIT binary patch delta 81 zcmZ3fd`o!3jLo7fsvPFJx(XrwF8)>uMX8A?3W-Vir6mfPd1;w>nI)NJsS25S3L3tN lMJ1Ve3Wk=JMmh=wdJ0CShMJSjdF&avCeLRHn;a<^001U27^?sP delta 2098 zcmca5yi$3>jQVO_1)tPZ1vQ1B#N6W4N(CbW0|Om}0zCyI6I~-yD=r0vkc?D?l+3iW z)S}e9P;C*~<6r7Dybr=}jZz*gj!WTX}qgG|lKuP*^v?+Ni!Zf0Hz+;Ih|iP@<|3K}3c zfIM7UoLU5v%r7d*$WJdyEXb(T)B&3b354>}Vvw^RHO$CKEKScSNiBNRFca*Gy!?U; z-Asi?4Kp%QGt)Cl9yQG5Qcy@vtOxt7BqJZB9AtcAu|iR5dTCB#kwOZ{SBWK=`FX`4 z8IU7D-ckVB0yY#R0{5N**a{tm+|uL>g+xe%lw_oGDJT>arKV&igF{UrEx#zY7;Hjm zUZ##hd3|ZIZfZ`V4n%iiajFj3WUyJKxs|DTdJ0aZCD1s|$;?hw$W6>ntOR+axFo-z z0PI691qF@V{Gx)4{G9ys%;dzJoJx=~?ZiqQg(Q$}Xu3!&R>)1%&Q7e<1Y43@T9R6y z3ob+(#hLkepd1aclEcJuN}KyFS-Rme{&%giq=*5lG;spaBQ*f>L#WAb+n8&GES z%uCD6%LJux1r6WCqLR!!1w%_qBS@AsH7wSI=1A}SqSVAZg-nF<%wk9mfo9OO{G1#} zNR%g57F%&?7-}jcRVrkb6sP8-DI}JF11J@e;1d<{^7GO%>+=$G6q0iiON&!M4$TEw zpbkp^#rf(A`9%s~c1cERp1L)chLI*HG!hk(^YijR87wayoVXxv0O$L}JcY#4ip-qM z#G*=YhE&ivwA@@z!Bi7uSV_J@4k&0#%JUWSi&8T45{v2~%8Ef{OrkS}{T^K})}lk;;^74l0< z)O8dRL5fRCOLP^~OY>4vi;7DU^HS7x6dpA!Q?TaJFxISBfCO4<3MiyNxvKya1Ian5 z3ZQZhRF)+sfzlXAsyHz>RRI)4pv0C~te|122}$j_`9-M;$)M0LEX_>JvF6e+(Zp?V zWg8pga}q-15wv9EHphg_L}C1zQF6@>GS4 z#4>QCX{6*UWR_^ETXQ{XSjP3JVG$@W!NHYUQBagx49YphpqSH51(}|as0+@Ex*&7w zmvL#B;&E#UQh^S4YHC?3sPqISaRvO=mEPRX+Ee#D9B07%u^^Xsmw{WuIJJ)$CpWpQ}ar|bzn(8s89uQ6%rMSOA<>` zb5rw5bQB6pQ;R_biH<^YKG-@PP)aW@O;3l2gW>{|c0Bz;JbfKQTp{*?vW20cp0Q@V pHJ6439uHOKW8_r%>0Dm7(F$@>!ap~4_O*Ui;o7}}2004WL-^Bm` From 85babd3730b3c6767ebe74dc99a9626cc2d436a1 Mon Sep 17 00:00:00 2001 From: Inari Listenmaa Date: Thu, 26 Mar 2020 16:06:03 +0100 Subject: [PATCH 29/35] (Kor) Minor fixes and cleanup --- src/korean/CatKor.gf | 2 +- src/korean/Hangul.gf | 6 ++---- src/korean/NounKor.gf | 2 +- src/korean/NumeralKor.gf | 2 +- src/korean/ResKor.gf | 4 +--- 5 files changed, 6 insertions(+), 10 deletions(-) diff --git a/src/korean/CatKor.gf b/src/korean/CatKor.gf index 4f5608bb5..f6d3f5c63 100644 --- a/src/korean/CatKor.gf +++ b/src/korean/CatKor.gf @@ -66,7 +66,7 @@ concrete CatKor of Cat = CommonX ** open ResKor, Prelude in { Quant = ResKor.Quant ; Num = ResKor.Num ; Ord = { - s : Str ; -- AForm => Str ; -- Ord can came from AP and become AP again + s : Str ; -- AForm => Str ; -- Ord can come from AP and become AP again n : Number -- Ord can come from Num, which has inherent number } ; DAP = ResKor.Determiner ; diff --git a/src/korean/Hangul.gf b/src/korean/Hangul.gf index 73d8333f2..112649270 100644 --- a/src/korean/Hangul.gf +++ b/src/korean/Hangul.gf @@ -21,7 +21,7 @@ oper addSuffix : Str -> Str = \stem -> case stem of { -- Final ㅏ or ㅓ does not repeat itself. - _ + #a|#eo -- TODO if it's one syllable long and ends in #a, which rule applies? + _ + #a|#eo => stem ; -- Assimilations with ㅣ, ㅗ, ㅜ @@ -32,11 +32,9 @@ oper start + ult@#u => start + u_to_weo ult ; - -- Special case: monosyllabic stem + -- Special case: monosyllabic stem ending in 으 -- 으 is dropped, replace the old vowel. #eu => eu_to_eo stem ; - -- Otherwise add 어. - x@? => stem + "어" ; -- Easy regular cases to finish with. _ + #a_o => stem + "아" ; diff --git a/src/korean/NounKor.gf b/src/korean/NounKor.gf index 7f8798ae8..d2a3860c7 100644 --- a/src/korean/NounKor.gf +++ b/src/korean/NounKor.gf @@ -10,7 +10,7 @@ concrete NounKor of Noun = CatKor ** open ResKor, Prelude in { DetCN det cn = cn ** {s = \\c => let cns : Str = case det.n of { - -- Pl => n.s ! Bare ++ BIND ++ plural ! c ; + -- Pl => cn.s ! Bare ++ BIND ++ plural ! c ; _Sg => cn.s ! c } ; dets : Str = det.s ! cn.c.origin ; detnum : Str = case det.numtype of { diff --git a/src/korean/NumeralKor.gf b/src/korean/NumeralKor.gf index 9b2c6edb7..31be00cc3 100644 --- a/src/korean/NumeralKor.gf +++ b/src/korean/NumeralKor.gf @@ -23,7 +23,7 @@ lin n9 = mkNum2 "구" "아홉" ; -- : Sub10 ; -- 1 - pot01 = mkNum4 "일" "하나" "한" "첫" ; + pot01 = mkNum5 "일" "하나" "한" "첫" "열" ; -- : Digit -> Sub10 ; -- d * 1 pot0 x = x ; diff --git a/src/korean/ResKor.gf b/src/korean/ResKor.gf index 84fcc2eb5..e6fa8aa29 100644 --- a/src/korean/ResKor.gf +++ b/src/korean/ResKor.gf @@ -164,9 +164,7 @@ oper plainpres = case vowFinal stem of { True => add_N stem + "다" ; False => stem + "는다" } ; - informal = case vowFinal stem of { -- not used in grammar yet - True => add_eo stem ; - False => stem + "어" } ; + informal = add_eo stem ; -- not used in grammar yet polpres = informal + "요" ; formalpres = case vowFinal stem of { True => add_B stem + "니다" ; From afdff2e37480302bc6e1ec1487baddc3bc5af540 Mon Sep 17 00:00:00 2001 From: Inari Listenmaa Date: Thu, 26 Mar 2020 17:03:52 +0100 Subject: [PATCH 30/35] (Kor) Remove unused VerbType parameter --- src/korean/ParadigmsKor.gf | 2 +- src/korean/ParamKor.gf | Bin 2522 -> 2391 bytes src/korean/ResKor.gf | 29 ++++++++++++----------------- 3 files changed, 13 insertions(+), 18 deletions(-) diff --git a/src/korean/ParadigmsKor.gf b/src/korean/ParadigmsKor.gf index f6ea3837d..a4d930019 100644 --- a/src/korean/ParadigmsKor.gf +++ b/src/korean/ParadigmsKor.gf @@ -106,7 +106,7 @@ oper } ; mkV = overload { - mkV : (plain : Str) -> V = \v -> lin V (mkVerb v Active) ; + mkV : (plain : Str) -> V = \v -> lin V (mkVerb v) ; mkV : (nore : Str) -> (hada : V) -> V = \nore,hada -> hada ** { s = \\vf => nore + hada.s ! vf} ; } ; diff --git a/src/korean/ParamKor.gf b/src/korean/ParamKor.gf index 3f9f909ef47c16e4df0a78482427041cc68be6f9..8acbf647f61e45cc9155e881411546327d6a0c9a 100644 GIT binary patch delta 12 Tcmca5d|hb6WVX#>>_?aYBRmAQ delta 144 zcmcaEbW3={WVU(*g|O73q>##jR0UfF$K;aCvQ&i{h2WAzD9g1Xv$!NRuOu@uN1;Z+ zIlrJZCsDy#L04BHttdZNAv`lXvmiAkGf^RIW iCg#PLr4}U>D?8^T78hrxWhN( diff --git a/src/korean/ResKor.gf b/src/korean/ResKor.gf index e6fa8aa29..65d320d7f 100644 --- a/src/korean/ResKor.gf +++ b/src/korean/ResKor.gf @@ -136,7 +136,7 @@ oper mkAdj : Str -> Adjective = \plain -> let stem = init plain ; - verb = mkVerb plain Stative ; + verb = mkVerb plain ; in { s = table { AAttr => add_N stem ; APred (VF Plain Pos) => plain ; @@ -148,7 +148,6 @@ oper -- Verbs BaseVerb : Type = { - type : VerbType ; sc : NForm ; -- subject case } ; Verb : Type = BaseVerb ** { @@ -159,7 +158,7 @@ oper -- VV : Type = Verb ** {vvtype : VVForm} ; - mkVerb : (plain : Str) -> VerbType -> Verb = \plain,vt -> + mkVerb : (plain : Str) -> Verb = \plain -> let stem = init plain ; plainpres = case vowFinal stem of { True => add_N stem + "다" ; @@ -170,23 +169,23 @@ oper True => add_B stem + "니다" ; False => stem + "습니다" } ; neg = stem + "지" ; - in mkVerbReg plainpres polpres formalpres neg vt ; + in mkVerbReg plainpres polpres formalpres neg ; - mkVerb2 : (plain : Str) -> Verb2 = \plain -> vtov2 (mkVerb plain Active) ; + mkVerb2 : (plain : Str) -> Verb2 = \plain -> vtov2 (mkVerb plain) ; mkVerb3 : (plain : Str) -> Verb3 = \plain -> v2tov3 (mkVerb2 plain) ; vtov2 : Verb -> Verb2 = \v -> v ** {c2 = Object ; p2 = emptyPP} ; v2tov3 : Verb2 -> Verb3 = \v -> v ** {c3 = Bare ; p3 = datPP} ; - mkVerbReg : (x1,_,_,x4 : Str) -> VerbType -> Verb = - \plainpres,polite,formal,neg,vt -> + mkVerbReg : (x1,_,_,x4 : Str) -> Verb = + \plainpres,polite,formal,neg -> let planeg = neg ++ negForms ! Plain ; polneg = neg ++ negForms ! Polite ; formneg = neg ++ negForms ! Formal ; - in mkVerbFull plainpres polite formal planeg polneg formneg vt ; + in mkVerbFull plainpres polite formal planeg polneg formneg ; - mkVerbFull : (x1,_,_,_,_,x6 : Str) -> VerbType -> Verb = - \plainpres,polite,formal,planeg,polneg,formneg,vt -> { + mkVerbFull : (x1,_,_,_,_,x6 : Str) -> Verb = + \plainpres,polite,formal,planeg,polneg,formneg -> { s = table { VF Plain Pos => plainpres ; VF Plain Neg => planeg ; @@ -195,7 +194,6 @@ oper VF Formal Pos => formal ; VF Formal Neg => formneg } ; - type = vt ; sc = Subject } ; @@ -205,8 +203,7 @@ oper "입니다" "아니다" "아니에요" - "아닙니다" - Copula ; + "아닙니다" ; copulaAfterVowel : Verb = copula ** { s = \\vf => case vf of { @@ -221,15 +218,13 @@ oper "있습니다" "없다" "없어요" - "없습니다" - Existential ; + "없습니다" ; do_V : Verb = mkVerbReg "한다" "해요" "합니다" - "하지" - Active ; + "하지" ; negForms : Style => Str = table { Plain => "않다" ; From 1acaa57c49900d188105b3de05034d92739af813 Mon Sep 17 00:00:00 2001 From: Inari Listenmaa Date: Thu, 26 Mar 2020 17:16:41 +0100 Subject: [PATCH 31/35] (Kor) New verb forms --- src/korean/ParamKor.gf | Bin 2391 -> 2436 bytes src/korean/ResKor.gf | 28 ++++++++++++++++------------ src/korean/VerbKor.gf | 5 +++-- 3 files changed, 19 insertions(+), 14 deletions(-) diff --git a/src/korean/ParamKor.gf b/src/korean/ParamKor.gf index 8acbf647f61e45cc9155e881411546327d6a0c9a..f5e47bf96cc43b21f3f47c67b1ffadcdc1b5ee0f 100644 GIT binary patch delta 57 zcmcaE)FQm0nnRaM0Sv-|OHy+cbafTd@{1G_Q&KYX(iM{P^Ri0wl1no4^NPXBY9?26 G+yMab2NE{` delta 11 ScmZn>zAm((nq%?`jynJwo&?hX diff --git a/src/korean/ResKor.gf b/src/korean/ResKor.gf index 65d320d7f..3b29b6ac2 100644 --- a/src/korean/ResKor.gf +++ b/src/korean/ResKor.gf @@ -160,16 +160,16 @@ oper mkVerb : (plain : Str) -> Verb = \plain -> let stem = init plain ; - plainpres = case vowFinal stem of { - True => add_N stem + "다" ; - False => stem + "는다" } ; + -- plainpres = case vowFinal stem of { -- not used in grammar yet + -- True => add_N stem + "다" ; + -- False => stem + "는다" } ; informal = add_eo stem ; -- not used in grammar yet polpres = informal + "요" ; formalpres = case vowFinal stem of { True => add_B stem + "니다" ; False => stem + "습니다" } ; neg = stem + "지" ; - in mkVerbReg plainpres polpres formalpres neg ; + in mkVerbReg plain polpres formalpres neg ; mkVerb2 : (plain : Str) -> Verb2 = \plain -> vtov2 (mkVerb plain) ; mkVerb3 : (plain : Str) -> Verb3 = \plain -> v2tov3 (mkVerb2 plain) ; @@ -178,16 +178,18 @@ oper v2tov3 : Verb2 -> Verb3 = \v -> v ** {c3 = Bare ; p3 = datPP} ; mkVerbReg : (x1,_,_,x4 : Str) -> Verb = - \plainpres,polite,formal,neg -> - let planeg = neg ++ negForms ! Plain ; + \plain,polite,formal,neg -> + let stem = init plain ; + planeg = neg ++ negForms ! Plain ; polneg = neg ++ negForms ! Polite ; formneg = neg ++ negForms ! Formal ; - in mkVerbFull plainpres polite formal planeg polneg formneg ; + in mkVerbFull stem plain polite formal planeg polneg formneg ; - mkVerbFull : (x1,_,_,_,_,x6 : Str) -> Verb = - \plainpres,polite,formal,planeg,polneg,formneg -> { + mkVerbFull : (x1,_,_,_,_,_,x7 : Str) -> Verb = + \stem,plain,polite,formal,planeg,polneg,formneg -> { s = table { - VF Plain Pos => plainpres ; + VStem => stem ; + VF Plain Pos => plain ; VF Plain Neg => planeg ; VF Polite Pos => polite ; VF Polite Neg => polneg ; @@ -198,8 +200,9 @@ oper } ; copula : Verb = mkVerbFull + "이" "이다" - "이에요" -- or "이세요" ? + "이에요" "입니다" "아니다" "아니에요" @@ -213,6 +216,7 @@ oper } ; have_V : Verb = mkVerbFull + "있" "있다" "있어요" "있습니다" @@ -221,7 +225,7 @@ oper "없습니다" ; do_V : Verb = mkVerbReg - "한다" + "하다" "해요" "합니다" "하지" ; diff --git a/src/korean/VerbKor.gf b/src/korean/VerbKor.gf index 32660f5e4..914d8215b 100644 --- a/src/korean/VerbKor.gf +++ b/src/korean/VerbKor.gf @@ -123,8 +123,9 @@ lin Vowel => copulaAfterVowel.s ; Consonant => copula.s } in case vf of { - VF _ Pos => glue (n.s ! Bare) (cop ! vf) ; - VF _ Neg => n.s ! Bare ++ cop ! vf } + VF _ Neg => n.s ! Bare ++ cop ! vf ; + _ => glue (n.s ! Bare) (cop ! vf) + } } ; -- : Adv -> Comp ; From dbaa52be089a553239220ecc688fd5abcf3c6518 Mon Sep 17 00:00:00 2001 From: Inari Listenmaa Date: Thu, 26 Mar 2020 20:43:52 +0100 Subject: [PATCH 32/35] (Kor) Fixes in adverbs + related unit tests --- src/korean/AdverbKor.gf | 6 +++++- src/korean/ParadigmsKor.gf | 12 ++++++++++-- src/korean/ResKor.gf | 6 +++--- src/korean/StructuralKor.gf | 2 +- src/korean/VerbKor.gf | 2 +- src/korean/unittest/adverb.gftest | 7 +++++++ 6 files changed, 27 insertions(+), 8 deletions(-) create mode 100644 src/korean/unittest/adverb.gftest diff --git a/src/korean/AdverbKor.gf b/src/korean/AdverbKor.gf index d332f627a..01fb1ec68 100644 --- a/src/korean/AdverbKor.gf +++ b/src/korean/AdverbKor.gf @@ -11,7 +11,11 @@ lin -- ComparAdvAdjS : CAdv -> A -> S -> Adv ; -- more warmly than he runs -- : Prep -> NP -> Adv ; - PrepNP prep np = {s = glue (np.s ! Bare) prep.s} ; + PrepNP prep np = { + s = case prep.attaches of { + True => glue (np.s ! Bare) prep.s ; + False => np.s ! Bare ++ prep.s } + } ; -- Adverbs can be modified by 'adadjectives', just like adjectives. diff --git a/src/korean/ParadigmsKor.gf b/src/korean/ParadigmsKor.gf index a4d930019..6e2782835 100644 --- a/src/korean/ParadigmsKor.gf +++ b/src/korean/ParadigmsKor.gf @@ -65,8 +65,10 @@ oper --2 Structural categories - -- mkPrep = overload { - -- } ; + mkPrep : overload { + mkPrep : (e : Str) -> Prep ; -- Particle like 에, attaches to the NP. + mkPrep : (dwie : Str) -> (attaches : Bool) -> Prep ; -- `mkPrep "뒤에" False` for a postposition that doesn't attach to the NP. + } ; -- mkConj : (_,_ : Str) -> Number -> Conj = \s1,s2,num -> -- lin Conj { s = s1 ; s2 = s2 } ; @@ -128,6 +130,12 @@ oper -- mkVV = overload { -- } ; + mkPrep = overload { + mkPrep : (e : Str) -> Prep -- Particle like 에, attaches to the NP. + = \e -> lin Prep (ResKor.mkPrep e) ; + mkPrep : (dwie : Str) -> (attaches : Bool) -> Prep -- `mkPrep "뒤에" False` for a postposition that doesn't attach to the NP. + = \dwie,f -> lin Prep (ResKor.mkPrep dwie ** {attaches = f}) ; + } ; -------------------------------------------------------------------------------- } diff --git a/src/korean/ResKor.gf b/src/korean/ResKor.gf index 3b29b6ac2..9892bc118 100644 --- a/src/korean/ResKor.gf +++ b/src/korean/ResKor.gf @@ -121,11 +121,11 @@ oper -------------------------------------------------------------------------------- -- Postpositions - Postposition : Type = SS ; + Postposition : Type = {s : Str ; attaches : Bool} ; - mkPrep : Str -> Postposition = \str -> ss str ; + mkPrep : Str -> Postposition = \str -> {s=str ; attaches=True} ; - emptyPP : Postposition = mkPrep [] ; + emptyPP : Postposition = mkPrep [] ** {attaches=False} ; datPP : Postposition = mkPrep "에게" ; -------------------------------------------------------------------------------- diff --git a/src/korean/StructuralKor.gf b/src/korean/StructuralKor.gf index 93e9c8427..498408da4 100644 --- a/src/korean/StructuralKor.gf +++ b/src/korean/StructuralKor.gf @@ -96,7 +96,7 @@ oper -- lin above_Prep = mkPrep "" -- lin after_Prep = mkPrep "" -- lin before_Prep = mkPrep "" ; --- lin behind_Prep = mkPrep "" ; +lin behind_Prep = mkPrep "뒤에" False ; -- lin between_Prep = = mkPrep "" ; -- lin by8agent_Prep = mkPrep ; -- lin by8means_Prep = mkPrep ; diff --git a/src/korean/VerbKor.gf b/src/korean/VerbKor.gf index 914d8215b..33dc4c180 100644 --- a/src/korean/VerbKor.gf +++ b/src/korean/VerbKor.gf @@ -130,7 +130,7 @@ lin -- : Adv -> Comp ; CompAdv adv = emptyComp ** { - s = \\vf => adv.s ++ copula.s ! vf ; + s = \\vf => adv.s ++ have_V.s ! vf ; } ; -- : VP -- Copula alone; diff --git a/src/korean/unittest/adverb.gftest b/src/korean/unittest/adverb.gftest new file mode 100644 index 000000000..af31bbb5b --- /dev/null +++ b/src/korean/unittest/adverb.gftest @@ -0,0 +1,7 @@ +Lang: PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (DetCN (DetQuant DefArt NumSg) (UseN cat_N)) (UseComp (CompAdv (PrepNP in_Prep (DetCN (DetQuant DefArt NumSg) (UseN house_N)))))))) NoVoc +LangEng: the cat is in the house +LangKor: 고양이가 집 BIND 에서 있어요 + +Lang: PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (DetCN (DetQuant DefArt NumSg) (UseN cat_N)) (UseComp (CompAdv (PrepNP behind_Prep (DetCN (DetQuant DefArt NumSg) (UseN house_N)))))))) NoVoc +LangEng: the cat is behind the house +LangKor: 고양이가 집 뒤에 있어요 From ec0173c587f33e53501789a9d13dc8f9ba27fe7b Mon Sep 17 00:00:00 2001 From: Inari Listenmaa Date: Fri, 27 Mar 2020 11:25:48 +0100 Subject: [PATCH 33/35] (Kor) Add conjunctions for AP and CN --- src/korean/CatKor.gf | 2 +- src/korean/ConjunctionKor.gf | 47 +++++++++++++++++++++++++++-------- src/korean/ParamKor.gf | Bin 2436 -> 2740 bytes src/korean/ResKor.gf | 9 +++++++ src/korean/StructuralKor.gf | 10 +++++++- 5 files changed, 55 insertions(+), 13 deletions(-) diff --git a/src/korean/CatKor.gf b/src/korean/CatKor.gf index f6d3f5c63..97939e9bf 100644 --- a/src/korean/CatKor.gf +++ b/src/korean/CatKor.gf @@ -85,7 +85,7 @@ concrete CatKor of Cat = CommonX ** open ResKor, Prelude in { --2 Structural words -- Constructed in StructuralKor. - Conj = {s2 : Bool => Str ; s1 : Str ; n : Number } ; + Conj = ResKor.Conj ; Subj = SS ; Prep = ResKor.Postposition ; diff --git a/src/korean/ConjunctionKor.gf b/src/korean/ConjunctionKor.gf index ea33c7155..6837d5542 100644 --- a/src/korean/ConjunctionKor.gf +++ b/src/korean/ConjunctionKor.gf @@ -58,15 +58,32 @@ lin ConsS x xs = xs ** { } ; ConjS co xs = {} ; - +-} lincat - [AP] = {} ; + [AP] = ResKor.AdjPhrase ** {firstAP : AForm => ConjType => Str} ; lin - BaseAP x y = twoTable … x y ** y ; --choose all the other fields from second argument - ConsAP as a = consrTable … comma as a ** as ; - ConjAP co as = conjunctDistrTable … co as ** as ; + BaseAP a1 a2 = a2 ** { + firstAP = mkFirstAP a1 ; + } ; + ConsAP a as = as ** { + firstAP = \\af,conj => + mkFirstAP a ! af ! conj ++ as.firstAP ! af ! conj ; + } ; + + ConjAP co as = as ** { + s = \\af => co.s1 ++ as.firstAP ! af ! co.c ++ as.s ! af + } ; + + +oper + mkFirstAP : ResKor.AdjPhrase -> AForm => ConjType => Str = \ap -> + \\af,conj => case af of { + AAttr => glue (ap.s ! AAttr) (conjTable ! NStar ! conj) ; + APred _ => glue (ap.s ! APred VStem) (conjTable ! VStar ! conj) } ; + +{- lincat [CN] = { } ; @@ -83,15 +100,23 @@ lin ConsDAP xs x = xs ** ConjDet conj xs = xs ** - +-} -- Noun phrases lincat - [NP] = + [NP] = ResKor.NounPhrase ** {firstNP : ConjType => Str} ; lin - BaseNP x y = - ConsNP x xs = - ConjNP conj xs = + BaseNP np1 np2 = np2 ** {firstNP = mkFirstNP np1} ; + ConsNP np nps = nps ** { + firstNP = \\conj => mkFirstNP np ! conj ++ nps.firstNP ! conj + } ; + ConjNP co nps = nps ** { + s = \\nf => co.s1 ++ nps.firstNP ! co.c ++ nps.s ! nf ; + n = co.n + } ; + +oper + mkFirstNP : ResKor.NounPhrase -> ConjType => Str = \np -> + \\conj => glue (np.s ! Bare) (conjTable ! NStar ! conj) ; --} } diff --git a/src/korean/ParamKor.gf b/src/korean/ParamKor.gf index f5e47bf96cc43b21f3f47c67b1ffadcdc1b5ee0f..41435567029f22740162d7214891072ca0b3aad2 100644 GIT binary patch delta 393 zcmZn>-XgkTJ1d`pf`X%CNl6ixf`WoV&E$iuDfQ0zd0C}-$t9WjdBt2@1&Kw8xm;Wd z3LxQ-%7Rn{TLs6w6oncE{~`rzkVJrgu!1dEzd~4WNn(+Lf`YEDLRe~1Qn5l}UW!6u zN>*xeNoHAUF-TF3f*)9sHAsod^ zTwtdVTvDW9s}K`Ypp&d%Yp0N$Se&Y0ldMxcuFtHUq|B1i#2iqlf;{@VYYLabjw0O$}Ip#T5? diff --git a/src/korean/ResKor.gf b/src/korean/ResKor.gf index 9892bc118..da744d4c5 100644 --- a/src/korean/ResKor.gf +++ b/src/korean/ResKor.gf @@ -241,6 +241,15 @@ oper Adverb : Type = SS ; ------------------ +-- Conj + + Conj : Type = { + s1 : Str ; + c : ConjType ; -- if it's And, Or, … + -- Need to add conjunction already in ConsX funs. + n : Number ; + } ; +------------------ -- VP Complement : Type = { diff --git a/src/korean/StructuralKor.gf b/src/korean/StructuralKor.gf index 498408da4..ec2587720 100644 --- a/src/korean/StructuralKor.gf +++ b/src/korean/StructuralKor.gf @@ -38,7 +38,15 @@ lin there_Adv = ss "" ; ------- -- Conj --- lin and_Conj = {s2 = table {x => "" ; y => ""} ; s1 = [] ; n = Pl} ; + and_Conj = { + s1 = [] ; + -- no need for strings here, actual values come from ParamKor.conjTable + -- s2 = \\phono => table { + -- VStar => "고" ; + -- NStar => "하고"} ; + n = Pl ; + c = And + } ; -- lin or_Conj = {s2 = \\_ => "" ; s1 = [] ; n = Sg} ; -- lin if_then_Conj = mkConj -- lin both7and_DConj = mkConj "" "" pl ; From 8a151c684af6aa5df20dc99bb23e51cfa0206a5a Mon Sep 17 00:00:00 2001 From: Inari Listenmaa Date: Fri, 27 Mar 2020 11:42:05 +0100 Subject: [PATCH 34/35] (Kor) Add ConjS + new form in S and Cl inflection table --- src/korean/ConjunctionKor.gf | 26 +++++++++++++++++++------- src/korean/ParamKor.gf | Bin 2740 -> 2764 bytes src/korean/PhraseKor.gf | 2 +- src/korean/ResKor.gf | 16 ++++++++++------ src/korean/SentenceKor.gf | 6 +++--- 5 files changed, 33 insertions(+), 17 deletions(-) diff --git a/src/korean/ConjunctionKor.gf b/src/korean/ConjunctionKor.gf index 6837d5542..ba0edcf6f 100644 --- a/src/korean/ConjunctionKor.gf +++ b/src/korean/ConjunctionKor.gf @@ -48,17 +48,29 @@ lin BaseRS = twoTable3 … ; ConsRS = consrTable3 … comma ; ConjRS = conjunctRSTable ; - +-} lincat - [S] = {} ; + [S] = ResKor.Sentence ** {firstS : ConjType => Str} ; lin - BaseS x y = y ** { } ; - ConsS x xs = - xs ** { } ; - ConjS co xs = {} ; --} + BaseS s1 s2 = s2 ** { + firstS = mkFirstS s1 + } ; + + ConsS s ss = ss ** { + firstS = \\conj => + mkFirstS s ! conj ++ ss.firstS ! conj ; + } ; + + ConjS co ss = ss ** { + s = \\st => co.s1 ++ ss.firstS ! co.c ++ ss.s ! st + } ; + +oper + mkFirstS : ResKor.Sentence -> ConjType => Str = \s -> + \\conj => glue (s.s ! Subord) (conjTable ! NStar ! conj) ; + lincat [AP] = ResKor.AdjPhrase ** {firstAP : AForm => ConjType => Str} ; diff --git a/src/korean/ParamKor.gf b/src/korean/ParamKor.gf index 41435567029f22740162d7214891072ca0b3aad2..d37f35f8fa24923b7901221c07d032871ab33c4e 100644 GIT binary patch delta 86 zcmdlYdPa0Z9hV=M0vH6BB$lM+rskD^`MSCaH3|XwIf+GqrK!awnfZAL;qVL;u^NTo P(xm*N6a{N8u39btQG^)i delta 62 zcmX>jxeQQDA9maY<%=osCk0N5%O^Z)<= diff --git a/src/korean/PhraseKor.gf b/src/korean/PhraseKor.gf index dc9ba43bf..84498a3ef 100644 --- a/src/korean/PhraseKor.gf +++ b/src/korean/PhraseKor.gf @@ -3,7 +3,7 @@ concrete PhraseKor of Phrase = CatKor ** open Prelude, ResKor in { lin PhrUtt pconj utt voc = {s = pconj.s ++ utt.s ++ voc.s} ; - UttS s = s ; + UttS s = {s = s.s ! Statement} ; UttQS qs = qs ; UttIAdv iadv = iadv ; {- diff --git a/src/korean/ResKor.gf b/src/korean/ResKor.gf index da744d4c5..3634f32fd 100644 --- a/src/korean/ResKor.gf +++ b/src/korean/ResKor.gf @@ -294,7 +294,7 @@ oper -------------------------------------------------------------------------------- -- Cl, S - Clause : Type = {s : Tense => Anteriority => Polarity => Str} ; + Clause : Type = {s : Tense => Anteriority => Polarity => ClType => Str} ; {- After PredVP, we might still want to add more adverbs (QuestIAdv), but we're done with verb inflection. @@ -305,13 +305,17 @@ oper RClause : Type = {s : NForm => Tense => Anteriority => Polarity => Str} ; - Sentence : Type = {s : Str} ; + Sentence : Type = {s : ClType => Str} ; predVP : NounPhrase -> VerbPhrase -> ClSlash = \np,vp -> vp ** { - s = \\t,a,p => np.s ! vp.sc - ++ vp.nObj -- an object, not copula complement - ++ vp.adv - ++ vp.s ! VF Polite p -- TODO: more tenses, choose politeness + s = \\t,a,p,cltyp => + let vf = case cltyp of { + Subord => VStem ; + _ => VF Polite p } -- TODO: more tenses, politeness + in np.s ! vp.sc + ++ vp.nObj -- an object, not copula complement + ++ vp.adv + ++ vp.s ! vf } ; -------------------------------------------------------------------------------- diff --git a/src/korean/SentenceKor.gf b/src/korean/SentenceKor.gf index a32a80d2c..a87ce9e6c 100644 --- a/src/korean/SentenceKor.gf +++ b/src/korean/SentenceKor.gf @@ -49,11 +49,11 @@ lin -- : Temp -> Pol -> Cl -> S ; UseCl t p cl = { - s = t.s ++ p.s ++ cl.s ! t.t ! t.a ! p.p + s = \\c => t.s ++ p.s ++ cl.s ! t.t ! t.a ! p.p ! c } ; -- : Temp -> Pol -> QCl -> QS ; - UseQCl t p cl = {s = t.s ++ p.s ++ cl.s ! t.t ! t.a ! p.p} ; + UseQCl t p cl = {s = t.s ++ p.s ++ cl.s ! t.t ! t.a ! p.p ! Statement} ; -- : Temp -> Pol -> RCl -> RS ; -- UseRCl t p cl = {s = } ; @@ -73,7 +73,7 @@ lin oper advS : (comma : Str) -> Adverb -> S -> S = \comma,a,sent -> sent ** { - s = a.s ++ comma ++ sent.s + s = \\c => a.s ++ comma ++ sent.s ! c } ; } From be10915fcbf2aa59e4140ad4b85952992e9eeeaa Mon Sep 17 00:00:00 2001 From: Inari Listenmaa Date: Fri, 27 Mar 2020 14:18:03 +0100 Subject: [PATCH 35/35] (Kor) Add api + languages.csv + minor fixes --- languages.csv | 1 + src/api/CombinatorsKor.gf | 7 + src/api/ConstructorsKor.gf | 3 + src/api/SymbolicKor.gf | 5 + src/api/SyntaxKor.gf | 5 + src/api/TryKor.gf | 3 + src/korean/MissingKor.gf | 590 ++++++++++++++++++++++++++++++++++++- src/korean/ParadigmsKor.gf | 9 +- src/korean/ResKor.gf | 1 - 9 files changed, 619 insertions(+), 5 deletions(-) create mode 100644 src/api/CombinatorsKor.gf create mode 100644 src/api/ConstructorsKor.gf create mode 100644 src/api/SymbolicKor.gf create mode 100644 src/api/SyntaxKor.gf create mode 100644 src/api/TryKor.gf diff --git a/languages.csv b/languages.csv index 013c68874..c96573a33 100644 --- a/languages.csv +++ b/languages.csv @@ -22,6 +22,7 @@ Ice,Icelandic,icelandic,,,,,,n,,y Ina,Interlingua,interlingua,,,y,,n,n,,n Ita,Italian,italian,Romance,,y,,,,y,y Jpn,Japanese,japanese,,,,,,,,y +Kor,Korean,korean,,,n,n,n,n,n,n Lat,Latin,latin,,,,,y,y,n,y Lav,Latvian,latvian,,,,,,,y,y Mlt,Maltese,maltese,,,,,,,,y diff --git a/src/api/CombinatorsKor.gf b/src/api/CombinatorsKor.gf new file mode 100644 index 000000000..5881a4dac --- /dev/null +++ b/src/api/CombinatorsKor.gf @@ -0,0 +1,7 @@ +--# -path=.:alltenses:prelude:src/korean + +resource CombinatorsKor = Combinators with + (Cat = CatKor), + (Structural = StructuralKor), + (Noun = NounKor), + (Constructors = ConstructorsKor) ** open MissingKor in {} ; diff --git a/src/api/ConstructorsKor.gf b/src/api/ConstructorsKor.gf new file mode 100644 index 000000000..8999fe020 --- /dev/null +++ b/src/api/ConstructorsKor.gf @@ -0,0 +1,3 @@ +--# -path=.:alltenses:prelude:../korean + +resource ConstructorsKor = Constructors with (Grammar = GrammarKor) ** open MissingKor in {} ; diff --git a/src/api/SymbolicKor.gf b/src/api/SymbolicKor.gf new file mode 100644 index 000000000..22c91f20a --- /dev/null +++ b/src/api/SymbolicKor.gf @@ -0,0 +1,5 @@ +--# -path=.:../korean:../common:../abstract:../prelude + +resource SymbolicKor = Symbolic with + (Symbol = SymbolKor), + (Grammar = GrammarKor) ** open MissingKor in {} ; diff --git a/src/api/SyntaxKor.gf b/src/api/SyntaxKor.gf new file mode 100644 index 000000000..589ef9de8 --- /dev/null +++ b/src/api/SyntaxKor.gf @@ -0,0 +1,5 @@ +--# -path=.:alltenses:prelude + +instance SyntaxKor of Syntax = + ConstructorsKor, CatKor, StructuralKor, CombinatorsKor ; + diff --git a/src/api/TryKor.gf b/src/api/TryKor.gf new file mode 100644 index 000000000..9b165362d --- /dev/null +++ b/src/api/TryKor.gf @@ -0,0 +1,3 @@ +--# -path=.:../korean:../common:../abstract:../prelude + +resource TryKor = SyntaxKor, LexiconKor, ParadigmsKor - [mkAdv] ; diff --git a/src/korean/MissingKor.gf b/src/korean/MissingKor.gf index 628df5577..2fc1ed3f0 100644 --- a/src/korean/MissingKor.gf +++ b/src/korean/MissingKor.gf @@ -1,2 +1,590 @@ -resource MissingKor = open GrammarKor, SymbolKor, Prelude in { +resource MissingKor = open GrammarKor, Prelude in { +-- temporary definitions to enable the compilation of RGL API + +oper AdAdv : AdA -> Adv -> Adv = notYet "AdAdv" ; +oper AdNum : AdN -> Card -> Card = notYet "AdNum" ; +oper AdVVP : AdV -> VP -> VP = notYet "AdVVP" ; +oper AdVVPSlash : AdV -> VPSlash -> VPSlash = notYet "AdVVPSlash" ; +oper AddAdvQVP : QVP -> IAdv -> QVP = notYet "AddAdvQVP" ; +oper AdjDAP : DAP -> AP -> DAP = notYet "AdjDAP" ; +oper AdnCAdv : CAdv -> AdN = notYet "AdnCAdv" ; +oper AdvAP : AP -> Adv -> AP = notYet "AdvAP" ; +oper AdvCN : CN -> Adv -> CN = notYet "AdvCN" ; +oper AdvIAdv : IAdv -> Adv -> IAdv = notYet "AdvIAdv" ; +oper AdvIP : IP -> Adv -> IP = notYet "AdvIP" ; +oper AdvNP : NP -> Adv -> NP = notYet "AdvNP" ; +oper AdvQVP : VP -> IAdv -> QVP = notYet "AdvQVP" ; +oper AdvSlash : ClSlash -> Adv -> ClSlash = notYet "AdvSlash" ; +oper ApposCN : CN -> NP -> CN = notYet "ApposCN" ; +oper BaseAdV : AdV -> AdV -> ListAdV = notYet "BaseAdV" ; +oper BaseAdv : Adv -> Adv -> ListAdv = notYet "BaseAdv" ; +oper BaseCN : CN -> CN -> ListCN = notYet "BaseCN" ; +oper BaseIAdv : IAdv -> IAdv -> ListIAdv = notYet "BaseIAdv" ; +oper BaseRS : RS -> RS -> ListRS = notYet "BaseRS" ; +oper CAdvAP : CAdv -> AP -> NP -> AP = notYet "CAdvAP" ; +oper CleftAdv : Adv -> S -> Cl = notYet "CleftAdv" ; +oper CleftNP : NP -> RS -> Cl = notYet "CleftNP" ; +oper CompIAdv : IAdv -> IComp = notYet "CompIAdv" ; +oper CompIP : IP -> IComp = notYet "CompIP" ; +oper ComparAdvAdj : CAdv -> A -> NP -> Adv = notYet "ComparAdvAdj" ; +oper ComparAdvAdjS : CAdv -> A -> S -> Adv = notYet "ComparAdvAdjS" ; +oper ComplA2 : A2 -> NP -> AP = notYet "ComplA2" ; +oper ComplN2 : N2 -> NP -> CN = notYet "ComplN2" ; +oper ComplN3 : N3 -> NP -> N2 = notYet "ComplN3" ; +oper ComplSlashIP : VPSlash -> IP -> QVP = notYet "ComplSlashIP" ; +oper ComplVA : VA -> AP -> VP = notYet "ComplVA" ; +oper ComplVQ : VQ -> QS -> VP = notYet "ComplVQ" ; +oper ComplVS : VS -> S -> VP = notYet "ComplVS" ; +oper ComplVV : VV -> VP -> VP = notYet "ComplVV" ; +oper ConjAdV : Conj -> ListAdV -> AdV = notYet "ConjAdV" ; +oper ConjAdv : Conj -> ListAdv -> Adv = notYet "ConjAdv" ; +oper ConjCN : Conj -> ListCN -> CN = notYet "ConjCN" ; +oper ConjDet : Conj -> ListDAP -> Det = notYet "ConjDet" ; +oper ConjIAdv : Conj -> ListIAdv -> IAdv = notYet "ConjIAdv" ; +oper ConjRS : Conj -> ListRS -> RS = notYet "ConjRS" ; +oper ConsAdV : AdV -> ListAdV -> ListAdV = notYet "ConsAdV" ; +oper ConsAdv : Adv -> ListAdv -> ListAdv = notYet "ConsAdv" ; +oper ConsCN : CN -> ListCN -> ListCN = notYet "ConsCN" ; +oper ConsIAdv : IAdv -> ListIAdv -> ListIAdv = notYet "ConsIAdv" ; +oper ConsRS : RS -> ListRS -> ListRS = notYet "ConsRS" ; +oper CountNP : Det -> NP -> NP = notYet "CountNP" ; +oper D_0, D_1, D_2, D_3, D_4, D_5, D_6, D_7, D_8, D_9 : Dig = notYet "D_9" ; +oper DetDAP : Det -> DAP = notYet "DetDAP" ; +oper DetQuantOrd : Quant -> Num -> Ord -> Det = notYet "DetQuantOrd" ; +oper EmbedQS : QS -> SC = notYet "EmbedQS" ; +oper EmbedS : S -> SC = notYet "EmbedS" ; +oper EmbedVP : VP -> SC = notYet "EmbedVP" ; +oper ExistIP : IP -> QCl = notYet "ExistIP" ; +oper ExistIPAdv : IP -> Adv -> QCl = notYet "ExistIPAdv" ; +oper ExistNP : NP -> Cl = notYet "ExistNP" ; +oper ExistNPAdv : NP -> Adv -> Cl = notYet "ExistNPAdv" ; +oper ExtAdvVP : VP -> Adv -> VP = notYet "ExtAdvVP" ; +oper FunRP : Prep -> NP -> RP -> RP = notYet "FunRP" ; +oper GenericCl : VP -> Cl = notYet "GenericCl" ; +oper IDig : Dig -> Digits = notYet "IDig" ; +oper IIDig : Dig -> Digits -> Digits = notYet "IIDig" ; +oper IdRP : RP = notYet "IdRP" ; +oper IdetCN : IDet -> CN -> IP = notYet "IdetCN" ; +oper IdetIP : IDet -> IP = notYet "IdetIP" ; +oper IdetQuant : IQuant -> Num -> IDet = notYet "IdetQuant" ; +oper ImpP3 : NP -> VP -> Utt = notYet "ImpP3" ; +oper ImpPl1 : VP -> Utt = notYet "ImpPl1" ; +oper ImpVP : VP -> Imp = notYet "ImpVP" ; +oper ImpersCl : VP -> Cl = notYet "ImpersCl" ; +oper MassNP : CN -> NP = notYet "MassNP" ; +oper NumDigits : Digits -> Card = notYet "NumDigits" ; +oper OrdDigits : Digits -> Ord = notYet "OrdDigits" ; +oper OrdNumeral : Numeral -> Ord = notYet "OrdNumeral" ; +oper OrdNumeralSuperl : Numeral -> A -> Ord = notYet "OrdNumeralSuperl" ; +oper OrdSuperl : A -> Ord = notYet "OrdSuperl" ; +oper PConjConj : Conj -> PConj = notYet "PConjConj" ; +oper PPartNP : NP -> V2 -> NP = notYet "PPartNP" ; +oper PartNP : CN -> NP -> CN = notYet "PartNP" ; +oper PassV2 : V2 -> VP = notYet "PassV2" ; +oper PositAdAAdj : A -> AdA = notYet "PositAdAAdj" ; +oper PositAdvAdj : A -> Adv = notYet "PositAdvAdj" ; +oper PossNP : CN -> NP -> CN = notYet "PossNP" ; +oper PossPron : Pron -> Quant = notYet "PossPron" ; +oper PredSCVP : SC -> VP -> Cl = notYet "PredSCVP" ; +oper PrepIP : Prep -> IP -> IAdv = notYet "PrepIP" ; +oper ProgrVP : VP -> VP = notYet "ProgrVP" ; +oper QuestCl : Cl -> QCl = notYet "QuestCl" ; +oper QuestIAdv : IAdv -> Cl -> QCl = notYet "QuestIAdv" ; +oper QuestIComp : IComp -> NP -> QCl = notYet "QuestIComp" ; +oper QuestQVP : IP -> QVP -> QCl = notYet "QuestQVP" ; +oper QuestSlash : IP -> ClSlash -> QCl = notYet "QuestSlash" ; +oper QuestVP : IP -> VP -> QCl = notYet "QuestVP" ; +oper ReflA2 : A2 -> AP = notYet "ReflA2" ; +oper ReflVP : VPSlash -> VP = notYet "ReflVP" ; +oper RelCN : CN -> RS -> CN = notYet "RelCN" ; +oper RelCl : Cl -> RCl = notYet "RelCl" ; +oper RelNP : NP -> RS -> NP = notYet "RelNP" ; +oper RelS : S -> RS -> S = notYet "RelS" ; +oper RelSlash : RP -> ClSlash -> RCl = notYet "RelSlash" ; +oper RelVP : RP -> VP -> RCl = notYet "RelVP" ; +oper SSubjS : S -> Subj -> S -> S = notYet "SSubjS" ; +oper SelfAdVVP : VP -> VP = notYet "SelfAdVVP" ; +oper SelfAdvVP : VP -> VP = notYet "SelfAdvVP" ; +oper SelfNP : NP -> NP = notYet "SelfNP" ; +oper SentAP : AP -> SC -> AP = notYet "SentAP" ; +oper SentCN : CN -> SC -> CN = notYet "SentCN" ; +oper Slash2V3 : V3 -> NP -> VPSlash = notYet "Slash2V3" ; +oper Slash3V3 : V3 -> NP -> VPSlash = notYet "Slash3V3" ; +oper SlashPrep : Cl -> Prep -> ClSlash = notYet "SlashPrep" ; +oper SlashV2A : V2A -> AP -> VPSlash = notYet "SlashV2A" ; +oper SlashV2Q : V2Q -> QS -> VPSlash = notYet "SlashV2Q" ; +oper SlashV2S : V2S -> S -> VPSlash = notYet "SlashV2S" ; +oper SlashV2V : V2V -> VP -> VPSlash = notYet "SlashV2V" ; +oper SlashV2VNP : V2V -> NP -> VPSlash -> VPSlash = notYet "SlashV2VNP" ; +oper SlashVP : NP -> VPSlash -> ClSlash = notYet "SlashVP" ; +oper SlashVS : NP -> VS -> SSlash -> ClSlash = notYet "SlashVS" ; +oper SlashVV : VV -> VPSlash -> VPSlash = notYet "SlashVV" ; +oper SubjS : Subj -> S -> Adv = notYet "SubjS" ; +oper Use2N3 : N3 -> N2 = notYet "Use2N3" ; +oper Use3N3 : N3 -> N2 = notYet "Use3N3" ; +oper UseComparA : A -> AP = notYet "UseComparA" ; +oper UsePN : PN -> NP = notYet "UsePN" ; +oper UsePron : Pron -> NP = notYet "UsePron" ; +oper UseRCl : Temp -> Pol -> RCl -> RS = notYet "UseRCl" ; +oper UseSlash : Temp -> Pol -> ClSlash -> SSlash = notYet "UseSlash" ; +oper UttAP : AP -> Utt = notYet "UttAP" ; +oper UttAdv : Adv -> Utt = notYet "UttAdv" ; +oper UttCN : CN -> Utt = notYet "UttCN" ; +oper UttCard : Card -> Utt = notYet "UttCard" ; +oper UttIP : IP -> Utt = notYet "UttIP" ; +oper UttImpPl : Pol -> Imp -> Utt = notYet "UttImpPl" ; +oper UttImpPol : Pol -> Imp -> Utt = notYet "UttImpPol" ; +oper UttImpSg : Pol -> Imp -> Utt = notYet "UttImpSg" ; +oper UttInterj : Interj -> Utt = notYet "UttInterj" ; +oper UttNP : NP -> Utt = notYet "UttNP" ; +oper UttVP : VP -> Utt = notYet "UttVP" ; +oper VPSlashPrep : VP -> Prep -> VPSlash = notYet "VPSlashPrep" ; +oper VocNP : NP -> Voc = notYet "VocNP" ; +oper above_Prep : Prep = notYet "above_Prep" ; +oper active2passive : Cl -> Cl = notYet "active2passive" ; +oper add_V3 : V3 = notYet "add_V3" ; +oper after_Prep : Prep = notYet "after_Prep" ; +oper airplane_N : N = notYet "airplane_N" ; +oper alas_Interj : Interj = notYet "alas_Interj" ; +oper almost_AdA : AdA = notYet "almost_AdA" ; +oper almost_AdN : AdN = notYet "almost_AdN" ; +oper already_Adv : Adv = notYet "already_Adv" ; +oper although_Subj : Subj = notYet "although_Subj" ; +oper always_AdV : AdV = notYet "always_AdV" ; +oper animal_N : N = notYet "animal_N" ; +oper answer_V2S : V2S = notYet "answer_V2S" ; +oper apartment_N : N = notYet "apartment_N" ; +oper art_N : N = notYet "art_N" ; +oper as_CAdv : CAdv = notYet "as_CAdv" ; +oper ashes_N : N = notYet "ashes_N" ; +oper ask_V2Q : V2Q = notYet "ask_V2Q" ; +oper at_least_AdN : AdN = notYet "at_least_AdN" ; +oper at_most_AdN : AdN = notYet "at_most_AdN" ; +oper baby_N : N = notYet "baby_N" ; +oper back_N : N = notYet "back_N" ; +oper bad_A : A = notYet "bad_A" ; +oper bank_N : N = notYet "bank_N" ; +oper bark_N : N = notYet "bark_N" ; +oper beautiful_A : A = notYet "beautiful_A" ; +oper because_Subj : Subj = notYet "because_Subj" ; +oper become_VA : VA = notYet "become_VA" ; +oper beer_N : N = notYet "beer_N" ; +oper before_Prep : Prep = notYet "before_Prep" ; +oper beg_V2V : V2V = notYet "beg_V2V" ; +oper belly_N : N = notYet "belly_N" ; +oper between_Prep : Prep = notYet "between_Prep" ; +oper bike_N : N = notYet "bike_N" ; +oper bird_N : N = notYet "bird_N" ; +oper bite_V2 : V2 = notYet "bite_V2" ; +oper black_A : A = notYet "black_A" ; +oper blood_N : N = notYet "blood_N" ; +oper blow_V : V = notYet "blow_V" ; +oper boat_N : N = notYet "boat_N" ; +oper bone_N : N = notYet "bone_N" ; +oper boot_N : N = notYet "boot_N" ; +oper boss_N : N = notYet "boss_N" ; +oper both7and_DConj : Conj = notYet "both7and_DConj" ; +oper bottle_of_CN : NP -> CN = notYet "bottle_of_CN" ; +oper break_V2 : V2 = notYet "break_V2" ; +oper breast_N : N = notYet "breast_N" ; +oper breathe_V : V = notYet "breathe_V" ; +oper broad_A : A = notYet "broad_A" ; +oper brother_N2 : N2 = notYet "brother_N2" ; +oper brown_A : A = notYet "brown_A" ; +oper burn_V : V = notYet "burn_V" ; +oper but_PConj : PConj = notYet "but_PConj" ; +oper butter_N : N = notYet "butter_N" ; +oper buy_V2 : V2 = notYet "buy_V2" ; +oper by8agent_Prep : Prep = notYet "by8agent_Prep" ; +oper by8means_Prep : Prep = notYet "by8means_Prep" ; +oper camera_N : N = notYet "camera_N" ; +oper can8know_VV : VV = notYet "can8know_VV" ; +oper can_VV : VV = notYet "can_VV" ; +oper cap_N : N = notYet "cap_N" ; +oper car_N : N = notYet "car_N" ; +oper carpet_N : N = notYet "carpet_N" ; +oper ceiling_N : N = notYet "ceiling_N" ; +oper chair_N : N = notYet "chair_N" ; +oper cheese_N : N = notYet "cheese_N" ; +oper child_N : N = notYet "child_N" ; +oper church_N : N = notYet "church_N" ; +oper city_N : N = notYet "city_N" ; +oper clean_A : A = notYet "clean_A" ; +oper clever_A : A = notYet "clever_A" ; +oper close_V2 : V2 = notYet "close_V2" ; +oper cloud_N : N = notYet "cloud_N" ; +oper coat_N : N = notYet "coat_N" ; +oper cold_A : A = notYet "cold_A" ; +oper computer_N : N = notYet "computer_N" ; +oper correct_A : A = notYet "correct_A" ; +oper count_V2 : V2 = notYet "count_V2" ; +oper country_N : N = notYet "country_N" ; +oper cousin_N : N = notYet "cousin_N" ; +oper cow_N : N = notYet "cow_N" ; +oper cup_of_CN : NP -> CN = notYet "cup_of_CN" ; +oper cut_V2 : V2 = notYet "cut_V2" ; +oper day_N : N = notYet "day_N" ; +oper dconcat : Digits -> Digits -> Digits = notYet "dconcat" ; +oper die_V : V = notYet "die_V" ; +oper dig_V : V = notYet "dig_V" ; +oper digits2num : Digits -> Numeral = notYet "digits2num" ; +oper digits2numeral : Card -> Card = notYet "digits2numeral" ; +oper dirty_A : A = notYet "dirty_A" ; +oper distance_N3 : N3 = notYet "distance_N3" ; +oper dn : Dig -> Digit = notYet "dn" ; +oper dn10 : Dig -> Sub10 = notYet "dn10" ; +oper dn100 : Dig -> Dig -> Sub100 = notYet "dn100" ; +oper dn1000 : Dig -> Dig -> Dig -> Sub1000 = notYet "dn1000" ; +oper dn1000000a : Dig -> Dig -> Dig -> Dig -> Sub1000000 = notYet "dn1000000a" ; +oper dn1000000b : Dig -> Dig -> Dig -> Dig -> Dig -> Sub1000000 = notYet "dn1000000b" ; +oper dn1000000c : Dig -> Dig -> Dig -> Dig -> Dig -> Dig -> Sub1000000 = notYet "dn1000000c" ; +oper doctor_N : N = notYet "doctor_N" ; +oper dog_N : N = notYet "dog_N" ; +oper door_N : N = notYet "door_N" ; +oper drink_V2 : V2 = notYet "drink_V2" ; +oper dry_A : A = notYet "dry_A" ; +oper dull_A : A = notYet "dull_A" ; +oper during_Prep : Prep = notYet "during_Prep" ; +oper dust_N : N = notYet "dust_N" ; +oper ear_N : N = notYet "ear_N" ; +oper earth_N : N = notYet "earth_N" ; +oper easy_A2V : A2 = notYet "easy_A2V" ; +oper egg_N : N = notYet "egg_N" ; +oper either7or_DConj : Conj = notYet "either7or_DConj" ; +oper empty_A : A = notYet "empty_A" ; +oper enemy_N : N = notYet "enemy_N" ; +oper every_Det : Det = notYet "every_Det" ; +oper everybody_NP : NP = notYet "everybody_NP" ; +oper everything_NP : NP = notYet "everything_NP" ; +oper everywhere_Adv : Adv = notYet "everywhere_Adv" ; +oper except_Prep : Prep = notYet "except_Prep" ; +oper eye_N : N = notYet "eye_N" ; +oper factory_N : N = notYet "factory_N" ; +oper fall_V : V = notYet "fall_V" ; +oper far_Adv : Adv = notYet "far_Adv" ; +oper fat_N : N = notYet "fat_N" ; +oper father_N2 : N2 = notYet "father_N2" ; +oper fear_V2 : V2 = notYet "fear_V2" ; +oper fear_VS : VS = notYet "fear_VS" ; +oper feather_N : N = notYet "feather_N" ; +oper few_Det : Det = notYet "few_Det" ; +oper few_X_short_of_Y : NP -> CN -> CN -> S = notYet "few_X_short_of_Y" ; +oper fight_V2 : V2 = notYet "fight_V2" ; +oper find_V2 : V2 = notYet "find_V2" ; +oper fingernail_N : N = notYet "fingernail_N" ; +oper fire_N : N = notYet "fire_N" ; +oper fish_N : N = notYet "fish_N" ; +oper float_V : V = notYet "float_V" ; +oper floor_N : N = notYet "floor_N" ; +oper flow_V : V = notYet "flow_V" ; +oper flower_N : N = notYet "flower_N" ; +oper fly_V : V = notYet "fly_V" ; +oper fog_N : N = notYet "fog_N" ; +oper foot_N : N = notYet "foot_N" ; +oper forest_N : N = notYet "forest_N" ; +oper forget_V2 : V2 = notYet "forget_V2" ; +oper freeze_V : V = notYet "freeze_V" ; +oper fridge_N : N = notYet "fridge_N" ; +oper friend_N : N = notYet "friend_N" ; +oper from_Prep : Prep = notYet "from_Prep" ; +oper fruit_N : N = notYet "fruit_N" ; +oper full_A : A = notYet "full_A" ; +oper fun_AV : A = notYet "fun_AV" ; +oper garden_N : N = notYet "garden_N" ; +oper glass_of_CN : NP -> CN = notYet "glass_of_CN" ; +oper glove_N : N = notYet "glove_N" ; +oper gold_N : N = notYet "gold_N" ; +oper grammar_N : N = notYet "grammar_N" ; +oper grass_N : N = notYet "grass_N" ; +oper green_A : A = notYet "green_A" ; +oper guts_N : N = notYet "guts_N" ; +oper hair_N : N = notYet "hair_N" ; +oper hand_N : N = notYet "hand_N" ; +oper harbour_N : N = notYet "harbour_N" ; +oper has_age_VP : Card -> VP = notYet "has_age_VP" ; +oper hat_N : N = notYet "hat_N" ; +oper hate_V2 : V2 = notYet "hate_V2" ; +oper have_name_Cl : NP -> NP -> Cl = notYet "have_name_Cl" ; +oper he_Pron : Pron = notYet "he_Pron" ; +oper head_N : N = notYet "head_N" ; +oper hear_V2 : V2 = notYet "hear_V2" ; +oper heart_N : N = notYet "heart_N" ; +oper heavy_A : A = notYet "heavy_A" ; +oper here7from_Adv : Adv = notYet "here7from_Adv" ; +oper here7to_Adv : Adv = notYet "here7to_Adv" ; +oper here_Adv : Adv = notYet "here_Adv" ; +oper hill_N : N = notYet "hill_N" ; +oper hit_V2 : V2 = notYet "hit_V2" ; +oper hold_V2 : V2 = notYet "hold_V2" ; +oper hope_VS : VS = notYet "hope_VS" ; +oper horn_N : N = notYet "horn_N" ; +oper horse_N : N = notYet "horse_N" ; +oper hot_A : A = notYet "hot_A" ; +oper how8many_IDet : IDet = notYet "how8many_IDet" ; +oper how8much_IAdv : IAdv = notYet "how8much_IAdv" ; +oper how_IAdv : IAdv = notYet "how_IAdv" ; +oper how_far_QCl : NP -> QCl = notYet "how_far_QCl" ; +oper how_old_QCl : NP -> QCl = notYet "how_old_QCl" ; +oper hungry_VP : VP = notYet "hungry_VP" ; +oper hunt_V2 : V2 = notYet "hunt_V2" ; +oper husband_N : N = notYet "husband_N" ; +oper i_Pron : Pron = notYet "i_Pron" ; +oper ice_N : N = notYet "ice_N" ; +oper if_Subj : Subj = notYet "if_Subj" ; +oper if_then_Conj : Conj = notYet "if_then_Conj" ; +oper ill_VP : VP = notYet "ill_VP" ; +oper important_A : A = notYet "important_A" ; +oper in8front_Prep : Prep = notYet "in8front_Prep" ; +oper industry_N : N = notYet "industry_N" ; +oper iron_N : N = notYet "iron_N" ; +oper is_right_VP : VP = notYet "is_right_VP" ; +oper is_wrong_VP : VP = notYet "is_wrong_VP" ; +oper it_Pron : Pron = notYet "it_Pron" ; +oper john_PN : PN = notYet "john_PN" ; +oper jump_V : V = notYet "jump_V" ; +oper kill_V2 : V2 = notYet "kill_V2" ; +oper king_N : N = notYet "king_N" ; +oper knee_N : N = notYet "knee_N" ; +oper know_V2 : V2 = notYet "know_V2" ; +oper know_VQ : VQ = notYet "know_VQ" ; +oper know_VS : VS = notYet "know_VS" ; +oper lake_N : N = notYet "lake_N" ; +oper lamp_N : N = notYet "lamp_N" ; +oper language_N : N = notYet "language_N" ; +oper leaf_N : N = notYet "leaf_N" ; +oper learn_V2 : V2 = notYet "learn_V2" ; +oper leather_N : N = notYet "leather_N" ; +oper leave_V2 : V2 = notYet "leave_V2" ; +oper left_Ord : Ord = notYet "left_Ord" ; +oper leg_N : N = notYet "leg_N" ; +oper less_CAdv : CAdv = notYet "less_CAdv" ; +oper lie_V : V = notYet "lie_V" ; +oper like_V2 : V2 = notYet "like_V2" ; +oper listen_V2 : V2 = notYet "listen_V2" ; +oper live_V : V = notYet "live_V" ; +oper liver_N : N = notYet "liver_N" ; +oper long_A : A = notYet "long_A" ; +oper lose_V2 : V2 = notYet "lose_V2" ; +oper louse_N : N = notYet "louse_N" ; +oper love_N : N = notYet "love_N" ; +oper love_V2 : V2 = notYet "love_V2" ; +oper many_Det : Det = notYet "many_Det" ; +oper married_A2 : A2 = notYet "married_A2" ; +oper married_Cl : NP -> NP -> Cl = notYet "married_Cl" ; +oper meat_N : N = notYet "meat_N" ; +oper moon_N : N = notYet "moon_N" ; +oper more_CAdv : CAdv = notYet "more_CAdv" ; +oper most_Predet : Predet = notYet "most_Predet" ; +oper mother_N2 : N2 = notYet "mother_N2" ; +oper mountain_N : N = notYet "mountain_N" ; +oper mouth_N : N = notYet "mouth_N" ; +oper much_Det : Det = notYet "much_Det" ; +oper music_N : N = notYet "music_N" ; +oper must_VV : VV = notYet "must_VV" ; +oper n_unit_CN : Card -> CN -> CN -> CN = notYet "n_unit_CN" ; +oper n_units_AP : Card -> CN -> A -> AP = notYet "n_units_AP" ; +oper n_units_of_NP : Card -> CN -> NP -> NP = notYet "n_units_of_NP" ; +oper narrow_A : A = notYet "narrow_A" ; +oper nd : Digit -> Dig = notYet "nd" ; +oper nd10 : Sub10 -> Digits = notYet "nd10" ; +oper nd100 : Sub100 -> Digits = notYet "nd100" ; +oper nd1000 : Sub1000 -> Digits = notYet "nd1000" ; +oper nd1000000 : Sub1000000 -> Digits = notYet "nd1000000" ; +oper near_A : A = notYet "near_A" ; +oper neck_N : N = notYet "neck_N" ; +oper new_A : A = notYet "new_A" ; +oper newspaper_N : N = notYet "newspaper_N" ; +oper night_N : N = notYet "night_N" ; +oper no_Quant : Quant = notYet "no_Quant" ; +oper nobody_NP : NP = notYet "nobody_NP" ; +oper nose_N : N = notYet "nose_N" ; +oper not_Predet : Predet = notYet "not_Predet" ; +oper nothing_NP : NP = notYet "nothing_NP" ; +oper num2digits : Numeral -> Digits = notYet "num2digits" ; +oper number_N : N = notYet "number_N" ; +oper oil_N : N = notYet "oil_N" ; +oper old_A : A = notYet "old_A" ; +oper on_Prep : Prep = notYet "on_Prep" ; +oper open_V2 : V2 = notYet "open_V2" ; +oper or_Conj : Conj = notYet "or_Conj" ; +oper otherwise_PConj : PConj = notYet "otherwise_PConj" ; +oper paint_V2A : V2A = notYet "paint_V2A" ; +oper paper_N : N = notYet "paper_N" ; +oper paris_PN : PN = notYet "paris_PN" ; +oper part_Prep : Prep = notYet "part_Prep" ; +oper peace_N : N = notYet "peace_N" ; +oper pen_N : N = notYet "pen_N" ; +oper planet_N : N = notYet "planet_N" ; +oper plastic_N : N = notYet "plastic_N" ; +oper play_V : V = notYet "play_V" ; +oper play_V2 : V2 = notYet "play_V2" ; +oper please_Voc : Voc = notYet "please_Voc" ; +oper policeman_N : N = notYet "policeman_N" ; +oper priest_N : N = notYet "priest_N" ; +oper probable_AS : A = notYet "probable_AS" ; +oper pull_V2 : V2 = notYet "pull_V2" ; +oper push_V2 : V2 = notYet "push_V2" ; +oper put_V2 : V2 = notYet "put_V2" ; +oper queen_N : N = notYet "queen_N" ; +oper question_N : N = notYet "question_N" ; +oper quite_Adv : AdA = notYet "quite_Adv" ; +oper radio_N : N = notYet "radio_N" ; +oper rain_N : N = notYet "rain_N" ; +oper rain_V0 : V = notYet "rain_V0" ; +oper read_V2 : V2 = notYet "read_V2" ; +oper ready_A : A = notYet "ready_A" ; +oper ready_VP : VP = notYet "ready_VP" ; +oper reason_N : N = notYet "reason_N" ; +oper red_A : A = notYet "red_A" ; +oper religion_N : N = notYet "religion_N" ; +oper restaurant_N : N = notYet "restaurant_N" ; +oper right_Ord : Ord = notYet "right_Ord" ; +oper river_N : N = notYet "river_N" ; +oper road_N : N = notYet "road_N" ; +oper rock_N : N = notYet "rock_N" ; +oper roof_N : N = notYet "roof_N" ; +oper root_N : N = notYet "root_N" ; +oper rope_N : N = notYet "rope_N" ; +oper rotten_A : A = notYet "rotten_A" ; +oper round_A : A = notYet "round_A" ; +oper rub_V2 : V2 = notYet "rub_V2" ; +oper rubber_N : N = notYet "rubber_N" ; +oper rule_N : N = notYet "rule_N" ; +oper run_V : V = notYet "run_V" ; +oper salt_N : N = notYet "salt_N" ; +oper sand_N : N = notYet "sand_N" ; +oper say_VS : VS = notYet "say_VS" ; +oper scared_VP : VP = notYet "scared_VP" ; +oper school_N : N = notYet "school_N" ; +oper science_N : N = notYet "science_N" ; +oper scratch_V2 : V2 = notYet "scratch_V2" ; +oper sea_N : N = notYet "sea_N" ; +oper seed_N : N = notYet "seed_N" ; +oper seek_V2 : V2 = notYet "seek_V2" ; +oper sell_V3 : V3 = notYet "sell_V3" ; +oper send_V3 : V3 = notYet "send_V3" ; +oper sew_V : V = notYet "sew_V" ; +oper sharp_A : A = notYet "sharp_A" ; +oper she_Pron : Pron = notYet "she_Pron" ; +oper sheep_N : N = notYet "sheep_N" ; +oper ship_N : N = notYet "ship_N" ; +oper shirt_N : N = notYet "shirt_N" ; +oper shoe_N : N = notYet "shoe_N" ; +oper shop_N : N = notYet "shop_N" ; +oper silver_N : N = notYet "silver_N" ; +oper sister_N : N = notYet "sister_N" ; +oper sit_V : V = notYet "sit_V" ; +oper skin_N : N = notYet "skin_N" ; +oper sky_N : N = notYet "sky_N" ; +oper sleep_V : V = notYet "sleep_V" ; +oper smell_V : V = notYet "smell_V" ; +oper smoke_N : N = notYet "smoke_N" ; +oper smooth_A : A = notYet "smooth_A" ; +oper snake_N : N = notYet "snake_N" ; +oper snow_N : N = notYet "snow_N" ; +oper so_AdA : AdA = notYet "so_AdA" ; +oper sock_N : N = notYet "sock_N" ; +oper somePl_Det : Det = notYet "somePl_Det" ; +oper someSg_Det : Det = notYet "someSg_Det" ; +oper somebody_NP : NP = notYet "somebody_NP" ; +oper something_NP : NP = notYet "something_NP" ; +oper somewhere_Adv : Adv = notYet "somewhere_Adv" ; +oper song_N : N = notYet "song_N" ; +oper speak_V2 : V2 = notYet "speak_V2" ; +oper spit_V : V = notYet "spit_V" ; +oper split_V2 : V2 = notYet "split_V2" ; +oper squeeze_V2 : V2 = notYet "squeeze_V2" ; +oper stab_V2 : V2 = notYet "stab_V2" ; +oper stand_V : V = notYet "stand_V" ; +oper star_N : N = notYet "star_N" ; +oper steel_N : N = notYet "steel_N" ; +oper stick_N : N = notYet "stick_N" ; +oper stone_N : N = notYet "stone_N" ; +oper stop_V : V = notYet "stop_V" ; +oper stove_N : N = notYet "stove_N" ; +oper straight_A : A = notYet "straight_A" ; +oper student_N : N = notYet "student_N" ; +oper stupid_A : A = notYet "stupid_A" ; +oper suck_V2 : V2 = notYet "suck_V2" ; +oper sun_N : N = notYet "sun_N" ; +oper swell_V : V = notYet "swell_V" ; +oper swim_V : V = notYet "swim_V" ; +oper switch8off_V2 : V2 = notYet "switch8off_V2" ; +oper switch8on_V2 : V2 = notYet "switch8on_V2" ; +oper table_N : N = notYet "table_N" ; +oper tail_N : N = notYet "tail_N" ; +oper talk_V3 : V3 = notYet "talk_V3" ; +oper teach_V2 : V2 = notYet "teach_V2" ; +oper teacher_N : N = notYet "teacher_N" ; +oper television_N : N = notYet "television_N" ; +oper that_Subj : Subj = notYet "that_Subj" ; +oper there7from_Adv : Adv = notYet "there7from_Adv" ; +oper there7to_Adv : Adv = notYet "there7to_Adv" ; +oper there_Adv : Adv = notYet "there_Adv" ; +oper therefore_PConj : PConj = notYet "therefore_PConj" ; +oper they_Pron : Pron = notYet "they_Pron" ; +oper thick_A : A = notYet "thick_A" ; +oper thin_A : A = notYet "thin_A" ; +oper think_V : V = notYet "think_V" ; +oper thirsty_VP : VP = notYet "thirsty_VP" ; +oper through_Prep : Prep = notYet "through_Prep" ; +oper throw_V2 : V2 = notYet "throw_V2" ; +oper tie_V2 : V2 = notYet "tie_V2" ; +oper tired_VP : VP = notYet "tired_VP" ; +oper tongue_N : N = notYet "tongue_N" ; +oper too_AdA : AdA = notYet "too_AdA" ; +oper tooth_N : N = notYet "tooth_N" ; +oper train_N : N = notYet "train_N" ; +oper travel_V : V = notYet "travel_V" ; +oper tree_N : N = notYet "tree_N" ; +oper turn_V : V = notYet "turn_V" ; +oper ugly_A : A = notYet "ugly_A" ; +oper uncertain_A : A = notYet "uncertain_A" ; +oper under_Prep : Prep = notYet "under_Prep" ; +oper understand_V2 : V2 = notYet "understand_V2" ; +oper university_N : N = notYet "university_N" ; +oper village_N : N = notYet "village_N" ; +oper vomit_V : V = notYet "vomit_V" ; +oper wait_V2 : V2 = notYet "wait_V2" ; +oper walk_V : V = notYet "walk_V" ; +oper want_VV : VV = notYet "want_VV" ; +oper war_N : N = notYet "war_N" ; +oper warm_A : A = notYet "warm_A" ; +oper wash_V2 : V2 = notYet "wash_V2" ; +oper watch_V2 : V2 = notYet "watch_V2" ; +oper water_N : N = notYet "water_N" ; +oper we_Pron : Pron = notYet "we_Pron" ; +oper weather_adjCl : AP -> Cl = notYet "weather_adjCl" ; +oper wet_A : A = notYet "wet_A" ; +oper whatPl_IP : IP = notYet "whatPl_IP" ; +oper whatSg_IP : IP = notYet "whatSg_IP" ; +oper what_name_QCl : NP -> QCl = notYet "what_name_QCl" ; +oper when_IAdv : IAdv = notYet "when_IAdv" ; +oper when_Subj : Subj = notYet "when_Subj" ; +oper where_IAdv : IAdv = notYet "where_IAdv" ; +oper which_IQuant : IQuant = notYet "which_IQuant" ; +oper white_A : A = notYet "white_A" ; +oper whoPl_IP : IP = notYet "whoPl_IP" ; +oper whoSg_IP : IP = notYet "whoSg_IP" ; +oper why_IAdv : IAdv = notYet "why_IAdv" ; +oper wide_A : A = notYet "wide_A" ; +oper wife_N : N = notYet "wife_N" ; +oper win_V2 : V2 = notYet "win_V2" ; +oper wind_N : N = notYet "wind_N" ; +oper window_N : N = notYet "window_N" ; +oper wine_N : N = notYet "wine_N" ; +oper wing_N : N = notYet "wing_N" ; +oper wipe_V2 : V2 = notYet "wipe_V2" ; +oper with_Prep : Prep = notYet "with_Prep" ; +oper without_Prep : Prep = notYet "without_Prep" ; +oper wonder_VQ : VQ = notYet "wonder_VQ" ; +oper wood_N : N = notYet "wood_N" ; +oper worm_N : N = notYet "worm_N" ; +oper write_V2 : V2 = notYet "write_V2" ; +oper year_N : N = notYet "year_N" ; +oper yellow_A : A = notYet "yellow_A" ; +oper youPl_Pron : Pron = notYet "youPl_Pron" ; +oper youPol_Pron : Pron = notYet "youPol_Pron" ; +oper youSg_Pron : Pron = notYet "youSg_Pron" ; +oper young_A : A = notYet "young_A" ; } diff --git a/src/korean/ParadigmsKor.gf b/src/korean/ParadigmsKor.gf index 6e2782835..a8e1d6d73 100644 --- a/src/korean/ParadigmsKor.gf +++ b/src/korean/ParadigmsKor.gf @@ -76,11 +76,14 @@ oper -- mkSubj : Str -> Bool -> Subj = \s,b -> -- lin Subj { } ; - mkAdv : Str -> Adv = \s -> lin Adv {s = s} ; + mkAdv : Str -> Adv + = \s -> lin Adv {s = s} ; - mkAdV : Str -> AdV = \s -> lin AdV {s = s} ; + mkAdV : Str -> AdV + = \s -> lin AdV {s = s} ; - mkAdA : Str -> AdA = \s -> lin AdA {s = s} ; + mkAdA : Str -> AdA + = \s -> lin AdA {s = s} ; --. diff --git a/src/korean/ResKor.gf b/src/korean/ResKor.gf index 3634f32fd..9993ba138 100644 --- a/src/korean/ResKor.gf +++ b/src/korean/ResKor.gf @@ -139,7 +139,6 @@ oper verb = mkVerb plain ; in { s = table { AAttr => add_N stem ; - APred (VF Plain Pos) => plain ; APred vf => verb.s ! vf } } ;