@laeng/ko 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/__tests__/korean-characters.test.d.ts +2 -0
- package/dist/__tests__/korean-characters.test.d.ts.map +1 -0
- package/dist/characters/compound-vowels.d.ts +7 -0
- package/dist/characters/compound-vowels.d.ts.map +1 -0
- package/dist/characters/compound-vowels.js +117 -0
- package/dist/characters/consonants.d.ts +19 -0
- package/dist/characters/consonants.d.ts.map +1 -0
- package/dist/characters/consonants.js +160 -0
- package/dist/characters/double-consonants.d.ts +9 -0
- package/dist/characters/double-consonants.d.ts.map +1 -0
- package/dist/characters/double-consonants.js +60 -0
- package/dist/characters/index.d.ts +5 -0
- package/dist/characters/index.d.ts.map +1 -0
- package/dist/characters/vowels.d.ts +7 -0
- package/dist/characters/vowels.d.ts.map +1 -0
- package/dist/characters/vowels.js +105 -0
- package/dist/characters.js +10 -0
- package/dist/ids.d.ts +42 -0
- package/dist/ids.d.ts.map +1 -0
- package/dist/ids.js +97 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +27 -0
- package/dist/types/index.d.ts +44 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types.js +14 -0
- package/package.json +58 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"korean-characters.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/korean-characters.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { KoreanVowelInfo } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* Korean compound vowels (이중모음 / 합성모음) — 11 diphthongs
|
|
4
|
+
* Formed by combining basic vowels. Ordered by standard Hangul alphabet order.
|
|
5
|
+
*/
|
|
6
|
+
export declare const koreanCompoundVowels: KoreanVowelInfo[];
|
|
7
|
+
//# sourceMappingURL=compound-vowels.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compound-vowels.d.ts","sourceRoot":"","sources":["../../src/characters/compound-vowels.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAEhD;;;GAGG;AACH,eAAO,MAAM,oBAAoB,EAAE,eAAe,EAiHjD,CAAC"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
const a = [
|
|
2
|
+
{
|
|
3
|
+
char: "ㅐ",
|
|
4
|
+
id: "ae",
|
|
5
|
+
charType: "vowel",
|
|
6
|
+
name: "애",
|
|
7
|
+
nativeName: "애",
|
|
8
|
+
romanization: "ae",
|
|
9
|
+
ipa: "ɛ",
|
|
10
|
+
isCompound: !0
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
char: "ㅒ",
|
|
14
|
+
id: "yae",
|
|
15
|
+
charType: "vowel",
|
|
16
|
+
name: "얘",
|
|
17
|
+
nativeName: "얘",
|
|
18
|
+
romanization: "yae",
|
|
19
|
+
ipa: "jɛ",
|
|
20
|
+
isCompound: !0
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
char: "ㅔ",
|
|
24
|
+
id: "e",
|
|
25
|
+
charType: "vowel",
|
|
26
|
+
name: "에",
|
|
27
|
+
nativeName: "에",
|
|
28
|
+
romanization: "e",
|
|
29
|
+
ipa: "e",
|
|
30
|
+
isCompound: !0
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
char: "ㅖ",
|
|
34
|
+
id: "ye",
|
|
35
|
+
charType: "vowel",
|
|
36
|
+
name: "예",
|
|
37
|
+
nativeName: "예",
|
|
38
|
+
romanization: "ye",
|
|
39
|
+
ipa: "je",
|
|
40
|
+
isCompound: !0
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
char: "ㅘ",
|
|
44
|
+
id: "wa",
|
|
45
|
+
charType: "vowel",
|
|
46
|
+
name: "와",
|
|
47
|
+
nativeName: "와",
|
|
48
|
+
romanization: "wa",
|
|
49
|
+
ipa: "wa",
|
|
50
|
+
isCompound: !0
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
char: "ㅙ",
|
|
54
|
+
id: "wae",
|
|
55
|
+
charType: "vowel",
|
|
56
|
+
name: "왜",
|
|
57
|
+
nativeName: "왜",
|
|
58
|
+
romanization: "wae",
|
|
59
|
+
ipa: "wɛ",
|
|
60
|
+
isCompound: !0
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
char: "ㅚ",
|
|
64
|
+
id: "oe",
|
|
65
|
+
charType: "vowel",
|
|
66
|
+
name: "외",
|
|
67
|
+
nativeName: "외",
|
|
68
|
+
romanization: "oe",
|
|
69
|
+
ipa: "we",
|
|
70
|
+
isCompound: !0,
|
|
71
|
+
notes: "Traditionally /ø/, realized as /we/ in modern Seoul Korean"
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
char: "ㅝ",
|
|
75
|
+
id: "wo",
|
|
76
|
+
charType: "vowel",
|
|
77
|
+
name: "워",
|
|
78
|
+
nativeName: "워",
|
|
79
|
+
romanization: "wo",
|
|
80
|
+
ipa: "wʌ",
|
|
81
|
+
isCompound: !0
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
char: "ㅞ",
|
|
85
|
+
id: "we",
|
|
86
|
+
charType: "vowel",
|
|
87
|
+
name: "웨",
|
|
88
|
+
nativeName: "웨",
|
|
89
|
+
romanization: "we",
|
|
90
|
+
ipa: "we",
|
|
91
|
+
isCompound: !0
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
char: "ㅟ",
|
|
95
|
+
id: "wi",
|
|
96
|
+
charType: "vowel",
|
|
97
|
+
name: "위",
|
|
98
|
+
nativeName: "위",
|
|
99
|
+
romanization: "wi",
|
|
100
|
+
ipa: "wi",
|
|
101
|
+
isCompound: !0
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
char: "ㅢ",
|
|
105
|
+
id: "ui",
|
|
106
|
+
charType: "vowel",
|
|
107
|
+
name: "의",
|
|
108
|
+
nativeName: "의",
|
|
109
|
+
romanization: "ui",
|
|
110
|
+
ipa: "ɰi",
|
|
111
|
+
isCompound: !0,
|
|
112
|
+
notes: "Realized as /i/ or /e/ in many phonological environments"
|
|
113
|
+
}
|
|
114
|
+
];
|
|
115
|
+
export {
|
|
116
|
+
a as koreanCompoundVowels
|
|
117
|
+
};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { KoreanConsonantInfo } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* Korean basic consonants (기본 자음) — 14 consonants
|
|
4
|
+
* Ordered by standard Hangul alphabet order
|
|
5
|
+
*
|
|
6
|
+
* phoneticCategory values:
|
|
7
|
+
* plosive — stops (oral closure with burst release)
|
|
8
|
+
* fricative — continuous air turbulence
|
|
9
|
+
* nasal — nasal resonance
|
|
10
|
+
* lateral — lateral approximant
|
|
11
|
+
* affricate — stop + fricative release
|
|
12
|
+
*
|
|
13
|
+
* aspiration values:
|
|
14
|
+
* plain — lax/unaspirated stops (voiceless in onset)
|
|
15
|
+
* aspirated — strongly aspirated stops
|
|
16
|
+
* tense — fortis/glottalized (no strong aspiration, more tense closure)
|
|
17
|
+
*/
|
|
18
|
+
export declare const koreanConsonants: KoreanConsonantInfo[];
|
|
19
|
+
//# sourceMappingURL=consonants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consonants.d.ts","sourceRoot":"","sources":["../../src/characters/consonants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAEpD;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,gBAAgB,EAAE,mBAAmB,EA4JjD,CAAC"}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
const a = [
|
|
2
|
+
{
|
|
3
|
+
char: "ㄱ",
|
|
4
|
+
id: "giyeok",
|
|
5
|
+
charType: "consonant",
|
|
6
|
+
name: "기역",
|
|
7
|
+
nativeName: "기역",
|
|
8
|
+
romanization: "g/k",
|
|
9
|
+
ipa: "k / ɡ",
|
|
10
|
+
phoneticCategory: "plosive",
|
|
11
|
+
aspiration: "plain"
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
char: "ㄴ",
|
|
15
|
+
id: "nieun",
|
|
16
|
+
charType: "consonant",
|
|
17
|
+
name: "니은",
|
|
18
|
+
nativeName: "니은",
|
|
19
|
+
romanization: "n",
|
|
20
|
+
ipa: "n",
|
|
21
|
+
phoneticCategory: "nasal",
|
|
22
|
+
aspiration: "plain"
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
char: "ㄷ",
|
|
26
|
+
id: "digeut",
|
|
27
|
+
charType: "consonant",
|
|
28
|
+
name: "디귿",
|
|
29
|
+
nativeName: "디귿",
|
|
30
|
+
romanization: "d/t",
|
|
31
|
+
ipa: "t / d",
|
|
32
|
+
phoneticCategory: "plosive",
|
|
33
|
+
aspiration: "plain"
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
char: "ㄹ",
|
|
37
|
+
id: "rieul",
|
|
38
|
+
charType: "consonant",
|
|
39
|
+
name: "리을",
|
|
40
|
+
nativeName: "리을",
|
|
41
|
+
romanization: "r/l",
|
|
42
|
+
ipa: "ɾ / l",
|
|
43
|
+
phoneticCategory: "lateral",
|
|
44
|
+
aspiration: "plain"
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
char: "ㅁ",
|
|
48
|
+
id: "mieum",
|
|
49
|
+
charType: "consonant",
|
|
50
|
+
name: "미음",
|
|
51
|
+
nativeName: "미음",
|
|
52
|
+
romanization: "m",
|
|
53
|
+
ipa: "m",
|
|
54
|
+
phoneticCategory: "nasal",
|
|
55
|
+
aspiration: "plain"
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
char: "ㅂ",
|
|
59
|
+
id: "bieup",
|
|
60
|
+
charType: "consonant",
|
|
61
|
+
name: "비읍",
|
|
62
|
+
nativeName: "비읍",
|
|
63
|
+
romanization: "b/p",
|
|
64
|
+
ipa: "p / b",
|
|
65
|
+
phoneticCategory: "plosive",
|
|
66
|
+
aspiration: "plain"
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
char: "ㅅ",
|
|
70
|
+
id: "siot",
|
|
71
|
+
charType: "consonant",
|
|
72
|
+
name: "시옷",
|
|
73
|
+
nativeName: "시옷",
|
|
74
|
+
romanization: "s",
|
|
75
|
+
ipa: "s / ɕ",
|
|
76
|
+
phoneticCategory: "fricative",
|
|
77
|
+
aspiration: "plain"
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
char: "ㅇ",
|
|
81
|
+
id: "ieung",
|
|
82
|
+
charType: "consonant",
|
|
83
|
+
name: "이응",
|
|
84
|
+
nativeName: "이응",
|
|
85
|
+
romanization: "ng/-",
|
|
86
|
+
ipa: "ŋ / ∅",
|
|
87
|
+
phoneticCategory: "nasal",
|
|
88
|
+
aspiration: "plain",
|
|
89
|
+
notes: "Silent in syllable onset; nasal velar /ŋ/ in coda"
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
char: "ㅈ",
|
|
93
|
+
id: "jieut",
|
|
94
|
+
charType: "consonant",
|
|
95
|
+
name: "지읒",
|
|
96
|
+
nativeName: "지읒",
|
|
97
|
+
romanization: "j",
|
|
98
|
+
ipa: "tɕ / dʑ",
|
|
99
|
+
phoneticCategory: "affricate",
|
|
100
|
+
aspiration: "plain"
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
char: "ㅊ",
|
|
104
|
+
id: "chieut",
|
|
105
|
+
charType: "consonant",
|
|
106
|
+
name: "치읓",
|
|
107
|
+
nativeName: "치읓",
|
|
108
|
+
romanization: "ch",
|
|
109
|
+
ipa: "tɕʰ",
|
|
110
|
+
phoneticCategory: "affricate",
|
|
111
|
+
aspiration: "aspirated"
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
char: "ㅋ",
|
|
115
|
+
id: "kieuk",
|
|
116
|
+
charType: "consonant",
|
|
117
|
+
name: "키읔",
|
|
118
|
+
nativeName: "키읔",
|
|
119
|
+
romanization: "k",
|
|
120
|
+
ipa: "kʰ",
|
|
121
|
+
phoneticCategory: "plosive",
|
|
122
|
+
aspiration: "aspirated"
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
char: "ㅌ",
|
|
126
|
+
id: "tieut",
|
|
127
|
+
charType: "consonant",
|
|
128
|
+
name: "티읕",
|
|
129
|
+
nativeName: "티읕",
|
|
130
|
+
romanization: "t",
|
|
131
|
+
ipa: "tʰ",
|
|
132
|
+
phoneticCategory: "plosive",
|
|
133
|
+
aspiration: "aspirated"
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
char: "ㅍ",
|
|
137
|
+
id: "pieup",
|
|
138
|
+
charType: "consonant",
|
|
139
|
+
name: "피읖",
|
|
140
|
+
nativeName: "피읖",
|
|
141
|
+
romanization: "p",
|
|
142
|
+
ipa: "pʰ",
|
|
143
|
+
phoneticCategory: "plosive",
|
|
144
|
+
aspiration: "aspirated"
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
char: "ㅎ",
|
|
148
|
+
id: "hieut",
|
|
149
|
+
charType: "consonant",
|
|
150
|
+
name: "히읗",
|
|
151
|
+
nativeName: "히읗",
|
|
152
|
+
romanization: "h",
|
|
153
|
+
ipa: "h",
|
|
154
|
+
phoneticCategory: "fricative",
|
|
155
|
+
aspiration: "plain"
|
|
156
|
+
}
|
|
157
|
+
];
|
|
158
|
+
export {
|
|
159
|
+
a as koreanConsonants
|
|
160
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { KoreanConsonantInfo } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* Korean double (tense/fortis) consonants (쌍자음) — 5 consonants
|
|
4
|
+
* These are the tensed (fortis) counterparts of the plain lax consonants.
|
|
5
|
+
* They are produced with greater laryngeal tension and no aspiration.
|
|
6
|
+
* Ordered by standard Hangul alphabet order.
|
|
7
|
+
*/
|
|
8
|
+
export declare const koreanDoubleConsonants: KoreanConsonantInfo[];
|
|
9
|
+
//# sourceMappingURL=double-consonants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"double-consonants.d.ts","sourceRoot":"","sources":["../../src/characters/double-consonants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAEpD;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,EAAE,mBAAmB,EAwDvD,CAAC"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
const a = [
|
|
2
|
+
{
|
|
3
|
+
char: "ㄲ",
|
|
4
|
+
id: "ssang-giyeok",
|
|
5
|
+
charType: "consonant",
|
|
6
|
+
name: "쌍기역",
|
|
7
|
+
nativeName: "쌍기역",
|
|
8
|
+
romanization: "kk",
|
|
9
|
+
ipa: "k͈",
|
|
10
|
+
phoneticCategory: "plosive",
|
|
11
|
+
aspiration: "tense"
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
char: "ㄸ",
|
|
15
|
+
id: "ssang-digeut",
|
|
16
|
+
charType: "consonant",
|
|
17
|
+
name: "쌍디귿",
|
|
18
|
+
nativeName: "쌍디귿",
|
|
19
|
+
romanization: "tt",
|
|
20
|
+
ipa: "t͈",
|
|
21
|
+
phoneticCategory: "plosive",
|
|
22
|
+
aspiration: "tense"
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
char: "ㅃ",
|
|
26
|
+
id: "ssang-bieup",
|
|
27
|
+
charType: "consonant",
|
|
28
|
+
name: "쌍비읍",
|
|
29
|
+
nativeName: "쌍비읍",
|
|
30
|
+
romanization: "pp",
|
|
31
|
+
ipa: "p͈",
|
|
32
|
+
phoneticCategory: "plosive",
|
|
33
|
+
aspiration: "tense"
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
char: "ㅆ",
|
|
37
|
+
id: "ssang-siot",
|
|
38
|
+
charType: "consonant",
|
|
39
|
+
name: "쌍시옷",
|
|
40
|
+
nativeName: "쌍시옷",
|
|
41
|
+
romanization: "ss",
|
|
42
|
+
ipa: "s͈",
|
|
43
|
+
phoneticCategory: "fricative",
|
|
44
|
+
aspiration: "tense"
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
char: "ㅉ",
|
|
48
|
+
id: "ssang-jieut",
|
|
49
|
+
charType: "consonant",
|
|
50
|
+
name: "쌍지읒",
|
|
51
|
+
nativeName: "쌍지읒",
|
|
52
|
+
romanization: "jj",
|
|
53
|
+
ipa: "t͈ɕ",
|
|
54
|
+
phoneticCategory: "affricate",
|
|
55
|
+
aspiration: "tense"
|
|
56
|
+
}
|
|
57
|
+
];
|
|
58
|
+
export {
|
|
59
|
+
a as koreanDoubleConsonants
|
|
60
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/characters/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vowels.d.ts","sourceRoot":"","sources":["../../src/characters/vowels.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAEhD;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,eAAe,EAqGzC,CAAC"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
const a = [
|
|
2
|
+
{
|
|
3
|
+
char: "ㅏ",
|
|
4
|
+
id: "a",
|
|
5
|
+
charType: "vowel",
|
|
6
|
+
name: "아",
|
|
7
|
+
nativeName: "아",
|
|
8
|
+
romanization: "a",
|
|
9
|
+
ipa: "a",
|
|
10
|
+
isCompound: !1
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
char: "ㅑ",
|
|
14
|
+
id: "ya",
|
|
15
|
+
charType: "vowel",
|
|
16
|
+
name: "야",
|
|
17
|
+
nativeName: "야",
|
|
18
|
+
romanization: "ya",
|
|
19
|
+
ipa: "ja",
|
|
20
|
+
isCompound: !1
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
char: "ㅓ",
|
|
24
|
+
id: "eo",
|
|
25
|
+
charType: "vowel",
|
|
26
|
+
name: "어",
|
|
27
|
+
nativeName: "어",
|
|
28
|
+
romanization: "eo",
|
|
29
|
+
ipa: "ʌ",
|
|
30
|
+
isCompound: !1
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
char: "ㅕ",
|
|
34
|
+
id: "yeo",
|
|
35
|
+
charType: "vowel",
|
|
36
|
+
name: "여",
|
|
37
|
+
nativeName: "여",
|
|
38
|
+
romanization: "yeo",
|
|
39
|
+
ipa: "jʌ",
|
|
40
|
+
isCompound: !1
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
char: "ㅗ",
|
|
44
|
+
id: "o",
|
|
45
|
+
charType: "vowel",
|
|
46
|
+
name: "오",
|
|
47
|
+
nativeName: "오",
|
|
48
|
+
romanization: "o",
|
|
49
|
+
ipa: "o",
|
|
50
|
+
isCompound: !1
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
char: "ㅛ",
|
|
54
|
+
id: "yo",
|
|
55
|
+
charType: "vowel",
|
|
56
|
+
name: "요",
|
|
57
|
+
nativeName: "요",
|
|
58
|
+
romanization: "yo",
|
|
59
|
+
ipa: "jo",
|
|
60
|
+
isCompound: !1
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
char: "ㅜ",
|
|
64
|
+
id: "u",
|
|
65
|
+
charType: "vowel",
|
|
66
|
+
name: "우",
|
|
67
|
+
nativeName: "우",
|
|
68
|
+
romanization: "u",
|
|
69
|
+
ipa: "u",
|
|
70
|
+
isCompound: !1
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
char: "ㅠ",
|
|
74
|
+
id: "yu",
|
|
75
|
+
charType: "vowel",
|
|
76
|
+
name: "유",
|
|
77
|
+
nativeName: "유",
|
|
78
|
+
romanization: "yu",
|
|
79
|
+
ipa: "ju",
|
|
80
|
+
isCompound: !1
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
char: "ㅡ",
|
|
84
|
+
id: "eu",
|
|
85
|
+
charType: "vowel",
|
|
86
|
+
name: "으",
|
|
87
|
+
nativeName: "으",
|
|
88
|
+
romanization: "eu",
|
|
89
|
+
ipa: "ɯ",
|
|
90
|
+
isCompound: !1
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
char: "ㅣ",
|
|
94
|
+
id: "i",
|
|
95
|
+
charType: "vowel",
|
|
96
|
+
name: "이",
|
|
97
|
+
nativeName: "이",
|
|
98
|
+
romanization: "i",
|
|
99
|
+
ipa: "i",
|
|
100
|
+
isCompound: !1
|
|
101
|
+
}
|
|
102
|
+
];
|
|
103
|
+
export {
|
|
104
|
+
a as koreanVowels
|
|
105
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { koreanConsonants as e } from "./characters/consonants.js";
|
|
2
|
+
import { koreanDoubleConsonants as a } from "./characters/double-consonants.js";
|
|
3
|
+
import { koreanVowels as t } from "./characters/vowels.js";
|
|
4
|
+
import { koreanCompoundVowels as p } from "./characters/compound-vowels.js";
|
|
5
|
+
export {
|
|
6
|
+
p as koreanCompoundVowels,
|
|
7
|
+
e as koreanConsonants,
|
|
8
|
+
a as koreanDoubleConsonants,
|
|
9
|
+
t as koreanVowels
|
|
10
|
+
};
|
package/dist/ids.d.ts
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Canonical Korean Hangul Jamo Character IDs
|
|
3
|
+
*
|
|
4
|
+
* This file exports the canonical IDs used across Korean language learning content.
|
|
5
|
+
* These IDs are the source of truth for @syllst/ko and other packages.
|
|
6
|
+
* IDs use the romanized names of the Hangul jamo (letter components).
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Korean basic consonant IDs — 14 basic consonants (기본 자음)
|
|
10
|
+
* Ordered by standard Hangul alphabet order
|
|
11
|
+
*/
|
|
12
|
+
export declare const KOREAN_CONSONANT_IDS: readonly ["giyeok", "nieun", "digeut", "rieul", "mieum", "bieup", "siot", "ieung", "jieut", "chieut", "kieuk", "tieut", "pieup", "hieut"];
|
|
13
|
+
/**
|
|
14
|
+
* Korean double consonant IDs — 5 tense (fortis) consonants (쌍자음)
|
|
15
|
+
* Ordered by standard Hangul alphabet order
|
|
16
|
+
*/
|
|
17
|
+
export declare const KOREAN_DOUBLE_CONSONANT_IDS: readonly ["ssang-giyeok", "ssang-digeut", "ssang-bieup", "ssang-siot", "ssang-jieut"];
|
|
18
|
+
/**
|
|
19
|
+
* Korean basic vowel IDs — 10 basic vowels (기본 모음)
|
|
20
|
+
* Ordered by standard Hangul alphabet order
|
|
21
|
+
*/
|
|
22
|
+
export declare const KOREAN_VOWEL_IDS: readonly ["a", "ya", "eo", "yeo", "o", "yo", "u", "yu", "eu", "i"];
|
|
23
|
+
/**
|
|
24
|
+
* Korean compound vowel IDs — 11 compound vowels (이중모음/합성모음)
|
|
25
|
+
* Ordered by standard Hangul alphabet order
|
|
26
|
+
*/
|
|
27
|
+
export declare const KOREAN_COMPOUND_VOWEL_IDS: readonly ["ae", "yae", "e", "ye", "wa", "wae", "oe", "wo", "we", "wi", "ui"];
|
|
28
|
+
/**
|
|
29
|
+
* All Korean character IDs grouped by type
|
|
30
|
+
*/
|
|
31
|
+
export declare const KOREAN_CHAR_IDS: {
|
|
32
|
+
readonly consonants: readonly ["giyeok", "nieun", "digeut", "rieul", "mieum", "bieup", "siot", "ieung", "jieut", "chieut", "kieuk", "tieut", "pieup", "hieut"];
|
|
33
|
+
readonly doubleConsonants: readonly ["ssang-giyeok", "ssang-digeut", "ssang-bieup", "ssang-siot", "ssang-jieut"];
|
|
34
|
+
readonly vowels: readonly ["a", "ya", "eo", "yeo", "o", "yo", "u", "yu", "eu", "i"];
|
|
35
|
+
readonly compoundVowels: readonly ["ae", "yae", "e", "ye", "wa", "wae", "oe", "wo", "we", "wi", "ui"];
|
|
36
|
+
};
|
|
37
|
+
export type KoreanConsonantId = typeof KOREAN_CONSONANT_IDS[number];
|
|
38
|
+
export type KoreanDoubleConsonantId = typeof KOREAN_DOUBLE_CONSONANT_IDS[number];
|
|
39
|
+
export type KoreanVowelId = typeof KOREAN_VOWEL_IDS[number];
|
|
40
|
+
export type KoreanCompoundVowelId = typeof KOREAN_COMPOUND_VOWEL_IDS[number];
|
|
41
|
+
export type KoreanCharacterId = KoreanConsonantId | KoreanDoubleConsonantId | KoreanVowelId | KoreanCompoundVowelId;
|
|
42
|
+
//# sourceMappingURL=ids.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ids.d.ts","sourceRoot":"","sources":["../src/ids.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;GAGG;AACH,eAAO,MAAM,oBAAoB,2IAevB,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,2BAA2B,uFAM9B,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,gBAAgB,oEAWnB,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,yBAAyB,8EAY5B,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;CAKlB,CAAC;AAGX,MAAM,MAAM,iBAAiB,GAAG,OAAO,oBAAoB,CAAC,MAAM,CAAC,CAAC;AACpE,MAAM,MAAM,uBAAuB,GAAG,OAAO,2BAA2B,CAAC,MAAM,CAAC,CAAC;AACjF,MAAM,MAAM,aAAa,GAAG,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC;AAC5D,MAAM,MAAM,qBAAqB,GAAG,OAAO,yBAAyB,CAAC,MAAM,CAAC,CAAC;AAE7E,MAAM,MAAM,iBAAiB,GACzB,iBAAiB,GACjB,uBAAuB,GACvB,aAAa,GACb,qBAAqB,CAAC"}
|
package/dist/ids.js
ADDED
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
const e = [
|
|
2
|
+
"giyeok",
|
|
3
|
+
// ㄱ — 기역
|
|
4
|
+
"nieun",
|
|
5
|
+
// ㄴ — 니은
|
|
6
|
+
"digeut",
|
|
7
|
+
// ㄷ — 디귿
|
|
8
|
+
"rieul",
|
|
9
|
+
// ㄹ — 리을
|
|
10
|
+
"mieum",
|
|
11
|
+
// ㅁ — 미음
|
|
12
|
+
"bieup",
|
|
13
|
+
// ㅂ — 비읍
|
|
14
|
+
"siot",
|
|
15
|
+
// ㅅ — 시옷
|
|
16
|
+
"ieung",
|
|
17
|
+
// ㅇ — 이응
|
|
18
|
+
"jieut",
|
|
19
|
+
// ㅈ — 지읒
|
|
20
|
+
"chieut",
|
|
21
|
+
// ㅊ — 치읓
|
|
22
|
+
"kieuk",
|
|
23
|
+
// ㅋ — 키읔
|
|
24
|
+
"tieut",
|
|
25
|
+
// ㅌ — 티읕
|
|
26
|
+
"pieup",
|
|
27
|
+
// ㅍ — 피읖
|
|
28
|
+
"hieut"
|
|
29
|
+
// ㅎ — 히읗
|
|
30
|
+
], o = [
|
|
31
|
+
"ssang-giyeok",
|
|
32
|
+
// ㄲ — 쌍기역
|
|
33
|
+
"ssang-digeut",
|
|
34
|
+
// ㄸ — 쌍디귿
|
|
35
|
+
"ssang-bieup",
|
|
36
|
+
// ㅃ — 쌍비읍
|
|
37
|
+
"ssang-siot",
|
|
38
|
+
// ㅆ — 쌍시옷
|
|
39
|
+
"ssang-jieut"
|
|
40
|
+
// ㅉ — 쌍지읒
|
|
41
|
+
], s = [
|
|
42
|
+
"a",
|
|
43
|
+
// ㅏ — 아
|
|
44
|
+
"ya",
|
|
45
|
+
// ㅑ — 야
|
|
46
|
+
"eo",
|
|
47
|
+
// ㅓ — 어
|
|
48
|
+
"yeo",
|
|
49
|
+
// ㅕ — 여
|
|
50
|
+
"o",
|
|
51
|
+
// ㅗ — 오
|
|
52
|
+
"yo",
|
|
53
|
+
// ㅛ — 요
|
|
54
|
+
"u",
|
|
55
|
+
// ㅜ — 우
|
|
56
|
+
"yu",
|
|
57
|
+
// ㅠ — 유
|
|
58
|
+
"eu",
|
|
59
|
+
// ㅡ — 으
|
|
60
|
+
"i"
|
|
61
|
+
// ㅣ — 이
|
|
62
|
+
], i = [
|
|
63
|
+
"ae",
|
|
64
|
+
// ㅐ — 애
|
|
65
|
+
"yae",
|
|
66
|
+
// ㅒ — 얘
|
|
67
|
+
"e",
|
|
68
|
+
// ㅔ — 에
|
|
69
|
+
"ye",
|
|
70
|
+
// ㅖ — 예
|
|
71
|
+
"wa",
|
|
72
|
+
// ㅘ — 와
|
|
73
|
+
"wae",
|
|
74
|
+
// ㅙ — 왜
|
|
75
|
+
"oe",
|
|
76
|
+
// ㅚ — 외
|
|
77
|
+
"wo",
|
|
78
|
+
// ㅝ — 워
|
|
79
|
+
"we",
|
|
80
|
+
// ㅞ — 웨
|
|
81
|
+
"wi",
|
|
82
|
+
// ㅟ — 위
|
|
83
|
+
"ui"
|
|
84
|
+
// ㅢ — 의
|
|
85
|
+
], u = {
|
|
86
|
+
consonants: e,
|
|
87
|
+
doubleConsonants: o,
|
|
88
|
+
vowels: s,
|
|
89
|
+
compoundVowels: i
|
|
90
|
+
};
|
|
91
|
+
export {
|
|
92
|
+
u as KOREAN_CHAR_IDS,
|
|
93
|
+
i as KOREAN_COMPOUND_VOWEL_IDS,
|
|
94
|
+
e as KOREAN_CONSONANT_IDS,
|
|
95
|
+
o as KOREAN_DOUBLE_CONSONANT_IDS,
|
|
96
|
+
s as KOREAN_VOWEL_IDS
|
|
97
|
+
};
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { KoreanCharacter } from './types';
|
|
2
|
+
export { koreanConsonants, koreanDoubleConsonants, koreanVowels, koreanCompoundVowels, } from './characters';
|
|
3
|
+
/**
|
|
4
|
+
* All Korean jamo characters in a single flat array, ordered:
|
|
5
|
+
* basic consonants → double consonants → basic vowels → compound vowels
|
|
6
|
+
*/
|
|
7
|
+
export declare const allKoreanCharacters: KoreanCharacter[];
|
|
8
|
+
export { KOREAN_CONSONANT_IDS, KOREAN_DOUBLE_CONSONANT_IDS, KOREAN_VOWEL_IDS, KOREAN_COMPOUND_VOWEL_IDS, KOREAN_CHAR_IDS, } from './ids';
|
|
9
|
+
export type { KoreanConsonantInfo, KoreanVowelInfo, KoreanCharacter, } from './types';
|
|
10
|
+
export { isVowel, isConsonant, getDisplayCharacter, } from './types';
|
|
11
|
+
export type { KoreanConsonantId, KoreanDoubleConsonantId, KoreanVowelId, KoreanCompoundVowelId, KoreanCharacterId, } from './ids';
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAQH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAG/C,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,YAAY,EACZ,oBAAoB,GACrB,MAAM,cAAc,CAAC;AAEtB;;;GAGG;AACH,eAAO,MAAM,mBAAmB,EAAE,eAAe,EAKhD,CAAC;AAGF,OAAO,EACL,oBAAoB,EACpB,2BAA2B,EAC3B,gBAAgB,EAChB,yBAAyB,EACzB,eAAe,GAChB,MAAM,OAAO,CAAC;AAGf,YAAY,EACV,mBAAmB,EACnB,eAAe,EACf,eAAe,GAChB,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,OAAO,EACP,WAAW,EACX,mBAAmB,GACpB,MAAM,SAAS,CAAC;AAGjB,YAAY,EACV,iBAAiB,EACjB,uBAAuB,EACvB,aAAa,EACb,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,OAAO,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { koreanConsonants as o } from "./characters/consonants.js";
|
|
2
|
+
import { koreanDoubleConsonants as r } from "./characters/double-consonants.js";
|
|
3
|
+
import { koreanVowels as n } from "./characters/vowels.js";
|
|
4
|
+
import { koreanCompoundVowels as e } from "./characters/compound-vowels.js";
|
|
5
|
+
import { KOREAN_CHAR_IDS as C, KOREAN_COMPOUND_VOWEL_IDS as p, KOREAN_CONSONANT_IDS as D, KOREAN_DOUBLE_CONSONANT_IDS as A, KOREAN_VOWEL_IDS as E } from "./ids.js";
|
|
6
|
+
import { getDisplayCharacter as l, isConsonant as S, isVowel as f } from "./types.js";
|
|
7
|
+
const N = [
|
|
8
|
+
...o,
|
|
9
|
+
...r,
|
|
10
|
+
...n,
|
|
11
|
+
...e
|
|
12
|
+
];
|
|
13
|
+
export {
|
|
14
|
+
C as KOREAN_CHAR_IDS,
|
|
15
|
+
p as KOREAN_COMPOUND_VOWEL_IDS,
|
|
16
|
+
D as KOREAN_CONSONANT_IDS,
|
|
17
|
+
A as KOREAN_DOUBLE_CONSONANT_IDS,
|
|
18
|
+
E as KOREAN_VOWEL_IDS,
|
|
19
|
+
N as allKoreanCharacters,
|
|
20
|
+
l as getDisplayCharacter,
|
|
21
|
+
S as isConsonant,
|
|
22
|
+
f as isVowel,
|
|
23
|
+
e as koreanCompoundVowels,
|
|
24
|
+
o as koreanConsonants,
|
|
25
|
+
r as koreanDoubleConsonants,
|
|
26
|
+
n as koreanVowels
|
|
27
|
+
};
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Korean Hangul Character Types
|
|
3
|
+
*
|
|
4
|
+
* Type definitions for Korean Hangul jamo characters.
|
|
5
|
+
* Korean has 14 basic consonants (자음), 5 double/tense consonants (쌍자음),
|
|
6
|
+
* 10 basic vowels (모음), and 11 compound vowels (합성모음).
|
|
7
|
+
*
|
|
8
|
+
* Consonants are classified by:
|
|
9
|
+
* - phoneticCategory: plosive, fricative, nasal, lateral, affricate
|
|
10
|
+
* - aspiration: plain, aspirated, tense (fortis)
|
|
11
|
+
*/
|
|
12
|
+
type KoreanCharacterBaseInfo = {
|
|
13
|
+
char: string;
|
|
14
|
+
id: string;
|
|
15
|
+
display?: string;
|
|
16
|
+
audio?: string;
|
|
17
|
+
notes?: string;
|
|
18
|
+
};
|
|
19
|
+
export type KoreanConsonantInfo = {
|
|
20
|
+
charType: "consonant";
|
|
21
|
+
name: string;
|
|
22
|
+
nativeName: string;
|
|
23
|
+
romanization: string;
|
|
24
|
+
ipa: string;
|
|
25
|
+
phoneticCategory: "plosive" | "fricative" | "nasal" | "lateral" | "affricate";
|
|
26
|
+
aspiration: "plain" | "aspirated" | "tense";
|
|
27
|
+
} & KoreanCharacterBaseInfo;
|
|
28
|
+
export type KoreanVowelInfo = {
|
|
29
|
+
charType: "vowel";
|
|
30
|
+
name: string;
|
|
31
|
+
nativeName: string;
|
|
32
|
+
romanization: string;
|
|
33
|
+
ipa: string;
|
|
34
|
+
isCompound: boolean;
|
|
35
|
+
} & KoreanCharacterBaseInfo;
|
|
36
|
+
export type KoreanCharacter = KoreanConsonantInfo | KoreanVowelInfo;
|
|
37
|
+
export declare function isVowel(character: KoreanCharacter): character is KoreanVowelInfo;
|
|
38
|
+
export declare function isConsonant(character: KoreanCharacter): character is KoreanConsonantInfo;
|
|
39
|
+
/**
|
|
40
|
+
* Get the display character for a Korean jamo
|
|
41
|
+
*/
|
|
42
|
+
export declare function getDisplayCharacter(character: KoreanCharacter): string;
|
|
43
|
+
export {};
|
|
44
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,KAAK,uBAAuB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,EAAE,WAAW,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,gBAAgB,EAAE,SAAS,GAAG,WAAW,GAAG,OAAO,GAAG,SAAS,GAAG,WAAW,CAAC;IAC9E,UAAU,EAAE,OAAO,GAAG,WAAW,GAAG,OAAO,CAAC;CAC7C,GAAG,uBAAuB,CAAC;AAE5B,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,OAAO,CAAC;CACrB,GAAG,uBAAuB,CAAC;AAG5B,MAAM,MAAM,eAAe,GACvB,mBAAmB,GACnB,eAAe,CAAC;AAGpB,wBAAgB,OAAO,CAAC,SAAS,EAAE,eAAe,GAAG,SAAS,IAAI,eAAe,CAEhF;AAED,wBAAgB,WAAW,CAAC,SAAS,EAAE,eAAe,GAAG,SAAS,IAAI,mBAAmB,CAExF;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,eAAe,GAAG,MAAM,CAEtE"}
|
package/dist/types.js
ADDED
package/package.json
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@laeng/ko",
|
|
3
|
+
"version": "0.1.1",
|
|
4
|
+
"description": "Korean language foundation data - Hangul jamo characters (consonants and vowels)",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/index.js",
|
|
7
|
+
"types": "./dist/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"types": "./dist/index.d.ts",
|
|
11
|
+
"import": "./dist/index.js"
|
|
12
|
+
},
|
|
13
|
+
"./characters": {
|
|
14
|
+
"types": "./dist/characters/index.d.ts",
|
|
15
|
+
"import": "./dist/characters/index.js"
|
|
16
|
+
},
|
|
17
|
+
"./types": {
|
|
18
|
+
"types": "./dist/types/index.d.ts",
|
|
19
|
+
"import": "./dist/types/index.js"
|
|
20
|
+
},
|
|
21
|
+
"./ids": {
|
|
22
|
+
"types": "./dist/ids.d.ts",
|
|
23
|
+
"import": "./dist/ids.js"
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
"files": [
|
|
27
|
+
"dist"
|
|
28
|
+
],
|
|
29
|
+
"dependencies": {},
|
|
30
|
+
"devDependencies": {
|
|
31
|
+
"vite": "^7.3.1",
|
|
32
|
+
"vite-plugin-dts": "^4.5.4",
|
|
33
|
+
"vitest": "^4.0.18"
|
|
34
|
+
},
|
|
35
|
+
"publishConfig": {
|
|
36
|
+
"access": "public"
|
|
37
|
+
},
|
|
38
|
+
"keywords": [
|
|
39
|
+
"korean",
|
|
40
|
+
"hangul",
|
|
41
|
+
"language-learning",
|
|
42
|
+
"laeng",
|
|
43
|
+
"characters",
|
|
44
|
+
"jamo"
|
|
45
|
+
],
|
|
46
|
+
"license": "MIT",
|
|
47
|
+
"repository": {
|
|
48
|
+
"type": "git",
|
|
49
|
+
"url": "https://github.com/fustilio/polyglot-bundles",
|
|
50
|
+
"directory": "packages/ko/laeng"
|
|
51
|
+
},
|
|
52
|
+
"scripts": {
|
|
53
|
+
"build": "vite build",
|
|
54
|
+
"clean": "rm -rf dist",
|
|
55
|
+
"lint": "eslint src",
|
|
56
|
+
"test": "vitest run"
|
|
57
|
+
}
|
|
58
|
+
}
|