es-hangul 0.1.0__tar.gz
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.
- es_hangul-0.1.0/.gitignore +14 -0
- es_hangul-0.1.0/PKG-INFO +191 -0
- es_hangul-0.1.0/README.md +166 -0
- es_hangul-0.1.0/docs/api/core.md +405 -0
- es_hangul-0.1.0/docs/api/keyboard.md +134 -0
- es_hangul-0.1.0/docs/api/number.md +243 -0
- es_hangul-0.1.0/docs/api/pronunciation.md +216 -0
- es_hangul-0.1.0/docs/index.md +40 -0
- es_hangul-0.1.0/pyproject.toml +42 -0
- es_hangul-0.1.0/src/es_hangul/__init__.py +58 -0
- es_hangul-0.1.0/src/es_hangul/_internal/__init__.py +17 -0
- es_hangul-0.1.0/src/es_hangul/_internal/constants.py +119 -0
- es_hangul-0.1.0/src/es_hangul/_internal/hangul.py +120 -0
- es_hangul-0.1.0/src/es_hangul/_internal/utils.py +36 -0
- es_hangul-0.1.0/src/es_hangul/core/__init__.py +33 -0
- es_hangul-0.1.0/src/es_hangul/core/assemble.py +12 -0
- es_hangul-0.1.0/src/es_hangul/core/can_be_choseong.py +8 -0
- es_hangul-0.1.0/src/es_hangul/core/can_be_jongseong.py +8 -0
- es_hangul-0.1.0/src/es_hangul/core/can_be_jungseong.py +14 -0
- es_hangul-0.1.0/src/es_hangul/core/combine_character.py +33 -0
- es_hangul-0.1.0/src/es_hangul/core/combine_vowels.py +12 -0
- es_hangul-0.1.0/src/es_hangul/core/disassemble.py +8 -0
- es_hangul-0.1.0/src/es_hangul/core/disassemble_complete_character.py +40 -0
- es_hangul-0.1.0/src/es_hangul/core/disassemble_to_groups.py +35 -0
- es_hangul-0.1.0/src/es_hangul/core/get_choseong.py +32 -0
- es_hangul-0.1.0/src/es_hangul/core/has_batchim.py +32 -0
- es_hangul-0.1.0/src/es_hangul/core/josa.py +65 -0
- es_hangul-0.1.0/src/es_hangul/core/remove_last_character.py +39 -0
- es_hangul-0.1.0/src/es_hangul/keyboard/__init__.py +11 -0
- es_hangul-0.1.0/src/es_hangul/keyboard/convert_hangul_to_qwerty.py +23 -0
- es_hangul-0.1.0/src/es_hangul/keyboard/convert_qwerty_to_alphabet.py +19 -0
- es_hangul-0.1.0/src/es_hangul/keyboard/convert_qwerty_to_hangul.py +11 -0
- es_hangul-0.1.0/src/es_hangul/number/__init__.py +17 -0
- es_hangul-0.1.0/src/es_hangul/number/amount_to_hangul.py +62 -0
- es_hangul-0.1.0/src/es_hangul/number/days.py +41 -0
- es_hangul-0.1.0/src/es_hangul/number/number_to_hangul.py +72 -0
- es_hangul-0.1.0/src/es_hangul/number/number_to_hangul_mixed.py +50 -0
- es_hangul-0.1.0/src/es_hangul/number/seosusa.py +41 -0
- es_hangul-0.1.0/src/es_hangul/number/susa.py +62 -0
- es_hangul-0.1.0/src/es_hangul/pronunciation/__init__.py +9 -0
- es_hangul-0.1.0/src/es_hangul/pronunciation/constants.py +113 -0
- es_hangul-0.1.0/src/es_hangul/pronunciation/exception_words.py +13 -0
- es_hangul-0.1.0/src/es_hangul/pronunciation/romanize.py +134 -0
- es_hangul-0.1.0/src/es_hangul/pronunciation/rules/__init__.py +41 -0
- es_hangul-0.1.0/src/es_hangul/pronunciation/rules/transform_12th.py +128 -0
- es_hangul-0.1.0/src/es_hangul/pronunciation/rules/transform_13_14th.py +88 -0
- es_hangul-0.1.0/src/es_hangul/pronunciation/rules/transform_16th.py +75 -0
- es_hangul-0.1.0/src/es_hangul/pronunciation/rules/transform_17th.py +60 -0
- es_hangul-0.1.0/src/es_hangul/pronunciation/rules/transform_18th.py +38 -0
- es_hangul-0.1.0/src/es_hangul/pronunciation/rules/transform_19th.py +25 -0
- es_hangul-0.1.0/src/es_hangul/pronunciation/rules/transform_20th.py +46 -0
- es_hangul-0.1.0/src/es_hangul/pronunciation/rules/transform_9_10_11th.py +36 -0
- es_hangul-0.1.0/src/es_hangul/pronunciation/rules/transform_hard_conversion.py +40 -0
- es_hangul-0.1.0/src/es_hangul/pronunciation/rules/transform_nl_assimilation.py +76 -0
- es_hangul-0.1.0/src/es_hangul/pronunciation/rules/types.py +60 -0
- es_hangul-0.1.0/src/es_hangul/pronunciation/rules/utils.py +8 -0
- es_hangul-0.1.0/src/es_hangul/pronunciation/standardize_pronunciation.py +219 -0
- es_hangul-0.1.0/tests/__init__.py +0 -0
- es_hangul-0.1.0/tests/_internal/__init__.py +0 -0
- es_hangul-0.1.0/tests/_internal/test_constants.py +102 -0
- es_hangul-0.1.0/tests/_internal/test_utils.py +71 -0
- es_hangul-0.1.0/tests/core/__init__.py +0 -0
- es_hangul-0.1.0/tests/core/test_assemble.py +12 -0
- es_hangul-0.1.0/tests/core/test_can_be_choseong.py +21 -0
- es_hangul-0.1.0/tests/core/test_can_be_jongseong.py +24 -0
- es_hangul-0.1.0/tests/core/test_can_be_jungseong.py +21 -0
- es_hangul-0.1.0/tests/core/test_combine_character.py +30 -0
- es_hangul-0.1.0/tests/core/test_combine_vowels.py +16 -0
- es_hangul-0.1.0/tests/core/test_disassemble.py +18 -0
- es_hangul-0.1.0/tests/core/test_disassemble_complete_character.py +31 -0
- es_hangul-0.1.0/tests/core/test_disassemble_to_groups.py +30 -0
- es_hangul-0.1.0/tests/core/test_get_choseong.py +18 -0
- es_hangul-0.1.0/tests/core/test_has_batchim.py +67 -0
- es_hangul-0.1.0/tests/core/test_josa.py +170 -0
- es_hangul-0.1.0/tests/core/test_remove_last_character.py +36 -0
- es_hangul-0.1.0/tests/keyboard/__init__.py +0 -0
- es_hangul-0.1.0/tests/keyboard/test_convert_hangul_to_qwerty.py +26 -0
- es_hangul-0.1.0/tests/keyboard/test_convert_qwerty_to_alphabet.py +25 -0
- es_hangul-0.1.0/tests/keyboard/test_convert_qwerty_to_hangul.py +24 -0
- es_hangul-0.1.0/tests/number/__init__.py +0 -0
- es_hangul-0.1.0/tests/number/test_amount_to_hangul.py +37 -0
- es_hangul-0.1.0/tests/number/test_days.py +22 -0
- es_hangul-0.1.0/tests/number/test_number_to_hangul.py +48 -0
- es_hangul-0.1.0/tests/number/test_number_to_hangul_mixed.py +39 -0
- es_hangul-0.1.0/tests/number/test_seosusa.py +25 -0
- es_hangul-0.1.0/tests/number/test_susa.py +42 -0
- es_hangul-0.1.0/tests/pronunciation/__init__.py +0 -0
- es_hangul-0.1.0/tests/pronunciation/test_romanize.py +55 -0
- es_hangul-0.1.0/tests/pronunciation/test_standardize_pronunciation.py +119 -0
es_hangul-0.1.0/PKG-INFO
ADDED
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: es-hangul
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: Python port of es-hangul: Korean Hangul processing library
|
|
5
|
+
Project-URL: Homepage, https://github.com/dogbull/es-hangul
|
|
6
|
+
Project-URL: Repository, https://github.com/dogbull/es-hangul
|
|
7
|
+
Project-URL: Original (TypeScript), https://github.com/toss/es-hangul
|
|
8
|
+
License-Expression: MIT
|
|
9
|
+
Keywords: assemble,disassemble,hangul,josa,korean,pronunciation,romanize
|
|
10
|
+
Classifier: Development Status :: 4 - Beta
|
|
11
|
+
Classifier: Intended Audience :: Developers
|
|
12
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
13
|
+
Classifier: Natural Language :: Korean
|
|
14
|
+
Classifier: Programming Language :: Python :: 3
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
19
|
+
Classifier: Topic :: Text Processing :: Linguistic
|
|
20
|
+
Requires-Python: >=3.10
|
|
21
|
+
Provides-Extra: dev
|
|
22
|
+
Requires-Dist: pytest-cov>=5.0; extra == 'dev'
|
|
23
|
+
Requires-Dist: pytest>=8.0; extra == 'dev'
|
|
24
|
+
Description-Content-Type: text/markdown
|
|
25
|
+
|
|
26
|
+
# es-hangul-py
|
|
27
|
+
|
|
28
|
+
한국어 한글 처리 Python 라이브러리.
|
|
29
|
+
|
|
30
|
+
## 원본
|
|
31
|
+
|
|
32
|
+
이 라이브러리는 **[es-hangul](https://github.com/toss/es-hangul)** (TypeScript)을 Python으로 포팅한 것입니다.
|
|
33
|
+
|
|
34
|
+
- 원본 저장소: https://github.com/toss/es-hangul
|
|
35
|
+
- 원본 문서: https://es-hangul.slash.page/
|
|
36
|
+
- 원본 라이선스: MIT
|
|
37
|
+
- 원본 언어: TypeScript
|
|
38
|
+
- 포팅 언어: Python 3.10+
|
|
39
|
+
|
|
40
|
+
es-hangul은 [Toss](https://toss.im)에서 개발한 오픈소스 한글 처리 라이브러리로,
|
|
41
|
+
한글 분해/조합, 조사 선택, 숫자 변환, 발음 변환, 키보드 변환 등의 기능을 제공합니다.
|
|
42
|
+
이 패키지는 동일한 기능을 Python 환경에서 사용할 수 있도록 구현했습니다.
|
|
43
|
+
|
|
44
|
+
## 설치
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
pip install es-hangul
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## 기능 목록
|
|
51
|
+
|
|
52
|
+
| 분류 | 함수 | 설명 |
|
|
53
|
+
|------|------|------|
|
|
54
|
+
| 핵심 | `disassemble` | 한글 문자열 분해 |
|
|
55
|
+
| 핵심 | `disassemble_complete_character` | 완성형 한글 낱자 분해 |
|
|
56
|
+
| 핵심 | `disassemble_to_groups` | 어절 단위로 분해 |
|
|
57
|
+
| 핵심 | `assemble` | 자모 조합 |
|
|
58
|
+
| 핵심 | `combine_character` | 초성/중성/종성으로 완성자 조합 |
|
|
59
|
+
| 핵심 | `combine_vowels` | 모음 조합 |
|
|
60
|
+
| 핵심 | `get_choseong` | 초성 추출 |
|
|
61
|
+
| 핵심 | `has_batchim` | 받침 유무 확인 |
|
|
62
|
+
| 핵심 | `can_be_choseong` | 초성 가능 여부 |
|
|
63
|
+
| 핵심 | `can_be_jungseong` | 중성 가능 여부 |
|
|
64
|
+
| 핵심 | `can_be_jongseong` | 종성 가능 여부 |
|
|
65
|
+
| 핵심 | `josa` | 조사 선택 |
|
|
66
|
+
| 핵심 | `remove_last_character` | 마지막 글자 제거 |
|
|
67
|
+
| 키보드 | `convert_qwerty_to_hangul` | 영문 → 한글 변환 |
|
|
68
|
+
| 키보드 | `convert_hangul_to_qwerty` | 한글 → 영문 변환 |
|
|
69
|
+
| 키보드 | `convert_qwerty_to_alphabet` | QWERTY → 영문자 변환 |
|
|
70
|
+
| 숫자 | `number_to_hangul` | 숫자 → 한글 (일억이천...) |
|
|
71
|
+
| 숫자 | `number_to_hangul_mixed` | 숫자 → 한글 혼합 (1억 2천...) |
|
|
72
|
+
| 숫자 | `amount_to_hangul` | 금액 문자열 → 한글 |
|
|
73
|
+
| 숫자 | `susa` | 수사 (하나, 둘, 셋...) |
|
|
74
|
+
| 숫자 | `seosusa` | 서수사 (첫째, 둘째...) |
|
|
75
|
+
| 숫자 | `days` | 날 수 한글 표현 (하루, 이틀...) |
|
|
76
|
+
| 발음 | `standardize_pronunciation` | 표준 발음 변환 |
|
|
77
|
+
| 발음 | `romanize` | 로마자 표기 변환 |
|
|
78
|
+
|
|
79
|
+
## 사용 예시
|
|
80
|
+
|
|
81
|
+
### 한글 분해 / 조합
|
|
82
|
+
|
|
83
|
+
```python
|
|
84
|
+
from es_hangul import disassemble, assemble, combine_character
|
|
85
|
+
|
|
86
|
+
disassemble("안녕")
|
|
87
|
+
# => 'ㅇㅏㄴㄴㅕㅇ'
|
|
88
|
+
|
|
89
|
+
assemble(['ㅎ', 'ㅏ', 'ㄴ', 'ㄱ', 'ㅡ', 'ㄹ'])
|
|
90
|
+
# => '한글'
|
|
91
|
+
|
|
92
|
+
combine_character('ㅎ', 'ㅏ', 'ㄴ')
|
|
93
|
+
# => '한'
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
### 초성 추출
|
|
97
|
+
|
|
98
|
+
```python
|
|
99
|
+
from es_hangul import get_choseong
|
|
100
|
+
|
|
101
|
+
get_choseong("안녕하세요")
|
|
102
|
+
# => 'ㅇㄴㅎㅅㅇ'
|
|
103
|
+
|
|
104
|
+
get_choseong("띄어 쓰기")
|
|
105
|
+
# => 'ㄷ ㅆㄱ'
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
### 받침 확인
|
|
109
|
+
|
|
110
|
+
```python
|
|
111
|
+
from es_hangul import has_batchim
|
|
112
|
+
|
|
113
|
+
has_batchim("한") # => True
|
|
114
|
+
has_batchim("하") # => False
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
### 조사 선택
|
|
118
|
+
|
|
119
|
+
```python
|
|
120
|
+
from es_hangul import josa
|
|
121
|
+
|
|
122
|
+
josa("사과", "을/를") # => '사과를'
|
|
123
|
+
josa("바나나", "을/를") # => '바나나를'
|
|
124
|
+
josa("닭", "을/를") # => '닭을'
|
|
125
|
+
|
|
126
|
+
# 조사만 반환
|
|
127
|
+
josa.pick("사과", "을/를") # => '를'
|
|
128
|
+
josa.pick("닭", "을/를") # => '을'
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
지원하는 조사 목록:
|
|
132
|
+
`이/가`, `을/를`, `은/는`, `으로/로`, `와/과`, `이나/나`, `이란/란`,
|
|
133
|
+
`아/야`, `이랑/랑`, `이에요/예요`, `으로서/로서`, `으로써/로써`,
|
|
134
|
+
`으로부터/로부터`, `이라/라`
|
|
135
|
+
|
|
136
|
+
### 키보드 변환
|
|
137
|
+
|
|
138
|
+
```python
|
|
139
|
+
from es_hangul import convert_qwerty_to_hangul, convert_hangul_to_qwerty
|
|
140
|
+
|
|
141
|
+
convert_qwerty_to_hangul("dkssud") # => '안녕'
|
|
142
|
+
convert_hangul_to_qwerty("안녕") # => 'dkssud'
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
### 숫자 → 한글
|
|
146
|
+
|
|
147
|
+
```python
|
|
148
|
+
from es_hangul import number_to_hangul, number_to_hangul_mixed, susa, seosusa
|
|
149
|
+
|
|
150
|
+
number_to_hangul(1234) # => '천이백삼십사'
|
|
151
|
+
number_to_hangul_mixed(1234) # => '1천2백3십4'
|
|
152
|
+
|
|
153
|
+
susa(3) # => '셋'
|
|
154
|
+
susa(3, True) # => '세' (수관형사: "세 마리")
|
|
155
|
+
|
|
156
|
+
seosusa(1) # => '첫째'
|
|
157
|
+
seosusa(3) # => '셋째'
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
### 표준 발음 / 로마자 표기
|
|
161
|
+
|
|
162
|
+
```python
|
|
163
|
+
from es_hangul import standardize_pronunciation, romanize
|
|
164
|
+
|
|
165
|
+
standardize_pronunciation("닭볶음") # => '닥뽁끔'
|
|
166
|
+
standardize_pronunciation("먹는") # => '멍는'
|
|
167
|
+
|
|
168
|
+
romanize("안녕하세요") # => 'annyeonghaseyo'
|
|
169
|
+
romanize("백마") # => 'baengma'
|
|
170
|
+
romanize("신라") # => 'silla'
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
## 개발
|
|
174
|
+
|
|
175
|
+
```bash
|
|
176
|
+
# 의존성 설치
|
|
177
|
+
pip install -e ".[dev]"
|
|
178
|
+
|
|
179
|
+
# 테스트 실행
|
|
180
|
+
pytest
|
|
181
|
+
|
|
182
|
+
# 커버리지 포함
|
|
183
|
+
pytest --cov=es_hangul
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
## 라이선스
|
|
187
|
+
|
|
188
|
+
MIT
|
|
189
|
+
|
|
190
|
+
원본 es-hangul의 라이선스를 따릅니다.
|
|
191
|
+
원본 저작권: [Toss](https://github.com/toss) and es-hangul contributors
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
# es-hangul-py
|
|
2
|
+
|
|
3
|
+
한국어 한글 처리 Python 라이브러리.
|
|
4
|
+
|
|
5
|
+
## 원본
|
|
6
|
+
|
|
7
|
+
이 라이브러리는 **[es-hangul](https://github.com/toss/es-hangul)** (TypeScript)을 Python으로 포팅한 것입니다.
|
|
8
|
+
|
|
9
|
+
- 원본 저장소: https://github.com/toss/es-hangul
|
|
10
|
+
- 원본 문서: https://es-hangul.slash.page/
|
|
11
|
+
- 원본 라이선스: MIT
|
|
12
|
+
- 원본 언어: TypeScript
|
|
13
|
+
- 포팅 언어: Python 3.10+
|
|
14
|
+
|
|
15
|
+
es-hangul은 [Toss](https://toss.im)에서 개발한 오픈소스 한글 처리 라이브러리로,
|
|
16
|
+
한글 분해/조합, 조사 선택, 숫자 변환, 발음 변환, 키보드 변환 등의 기능을 제공합니다.
|
|
17
|
+
이 패키지는 동일한 기능을 Python 환경에서 사용할 수 있도록 구현했습니다.
|
|
18
|
+
|
|
19
|
+
## 설치
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
pip install es-hangul
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## 기능 목록
|
|
26
|
+
|
|
27
|
+
| 분류 | 함수 | 설명 |
|
|
28
|
+
|------|------|------|
|
|
29
|
+
| 핵심 | `disassemble` | 한글 문자열 분해 |
|
|
30
|
+
| 핵심 | `disassemble_complete_character` | 완성형 한글 낱자 분해 |
|
|
31
|
+
| 핵심 | `disassemble_to_groups` | 어절 단위로 분해 |
|
|
32
|
+
| 핵심 | `assemble` | 자모 조합 |
|
|
33
|
+
| 핵심 | `combine_character` | 초성/중성/종성으로 완성자 조합 |
|
|
34
|
+
| 핵심 | `combine_vowels` | 모음 조합 |
|
|
35
|
+
| 핵심 | `get_choseong` | 초성 추출 |
|
|
36
|
+
| 핵심 | `has_batchim` | 받침 유무 확인 |
|
|
37
|
+
| 핵심 | `can_be_choseong` | 초성 가능 여부 |
|
|
38
|
+
| 핵심 | `can_be_jungseong` | 중성 가능 여부 |
|
|
39
|
+
| 핵심 | `can_be_jongseong` | 종성 가능 여부 |
|
|
40
|
+
| 핵심 | `josa` | 조사 선택 |
|
|
41
|
+
| 핵심 | `remove_last_character` | 마지막 글자 제거 |
|
|
42
|
+
| 키보드 | `convert_qwerty_to_hangul` | 영문 → 한글 변환 |
|
|
43
|
+
| 키보드 | `convert_hangul_to_qwerty` | 한글 → 영문 변환 |
|
|
44
|
+
| 키보드 | `convert_qwerty_to_alphabet` | QWERTY → 영문자 변환 |
|
|
45
|
+
| 숫자 | `number_to_hangul` | 숫자 → 한글 (일억이천...) |
|
|
46
|
+
| 숫자 | `number_to_hangul_mixed` | 숫자 → 한글 혼합 (1억 2천...) |
|
|
47
|
+
| 숫자 | `amount_to_hangul` | 금액 문자열 → 한글 |
|
|
48
|
+
| 숫자 | `susa` | 수사 (하나, 둘, 셋...) |
|
|
49
|
+
| 숫자 | `seosusa` | 서수사 (첫째, 둘째...) |
|
|
50
|
+
| 숫자 | `days` | 날 수 한글 표현 (하루, 이틀...) |
|
|
51
|
+
| 발음 | `standardize_pronunciation` | 표준 발음 변환 |
|
|
52
|
+
| 발음 | `romanize` | 로마자 표기 변환 |
|
|
53
|
+
|
|
54
|
+
## 사용 예시
|
|
55
|
+
|
|
56
|
+
### 한글 분해 / 조합
|
|
57
|
+
|
|
58
|
+
```python
|
|
59
|
+
from es_hangul import disassemble, assemble, combine_character
|
|
60
|
+
|
|
61
|
+
disassemble("안녕")
|
|
62
|
+
# => 'ㅇㅏㄴㄴㅕㅇ'
|
|
63
|
+
|
|
64
|
+
assemble(['ㅎ', 'ㅏ', 'ㄴ', 'ㄱ', 'ㅡ', 'ㄹ'])
|
|
65
|
+
# => '한글'
|
|
66
|
+
|
|
67
|
+
combine_character('ㅎ', 'ㅏ', 'ㄴ')
|
|
68
|
+
# => '한'
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### 초성 추출
|
|
72
|
+
|
|
73
|
+
```python
|
|
74
|
+
from es_hangul import get_choseong
|
|
75
|
+
|
|
76
|
+
get_choseong("안녕하세요")
|
|
77
|
+
# => 'ㅇㄴㅎㅅㅇ'
|
|
78
|
+
|
|
79
|
+
get_choseong("띄어 쓰기")
|
|
80
|
+
# => 'ㄷ ㅆㄱ'
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
### 받침 확인
|
|
84
|
+
|
|
85
|
+
```python
|
|
86
|
+
from es_hangul import has_batchim
|
|
87
|
+
|
|
88
|
+
has_batchim("한") # => True
|
|
89
|
+
has_batchim("하") # => False
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
### 조사 선택
|
|
93
|
+
|
|
94
|
+
```python
|
|
95
|
+
from es_hangul import josa
|
|
96
|
+
|
|
97
|
+
josa("사과", "을/를") # => '사과를'
|
|
98
|
+
josa("바나나", "을/를") # => '바나나를'
|
|
99
|
+
josa("닭", "을/를") # => '닭을'
|
|
100
|
+
|
|
101
|
+
# 조사만 반환
|
|
102
|
+
josa.pick("사과", "을/를") # => '를'
|
|
103
|
+
josa.pick("닭", "을/를") # => '을'
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
지원하는 조사 목록:
|
|
107
|
+
`이/가`, `을/를`, `은/는`, `으로/로`, `와/과`, `이나/나`, `이란/란`,
|
|
108
|
+
`아/야`, `이랑/랑`, `이에요/예요`, `으로서/로서`, `으로써/로써`,
|
|
109
|
+
`으로부터/로부터`, `이라/라`
|
|
110
|
+
|
|
111
|
+
### 키보드 변환
|
|
112
|
+
|
|
113
|
+
```python
|
|
114
|
+
from es_hangul import convert_qwerty_to_hangul, convert_hangul_to_qwerty
|
|
115
|
+
|
|
116
|
+
convert_qwerty_to_hangul("dkssud") # => '안녕'
|
|
117
|
+
convert_hangul_to_qwerty("안녕") # => 'dkssud'
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
### 숫자 → 한글
|
|
121
|
+
|
|
122
|
+
```python
|
|
123
|
+
from es_hangul import number_to_hangul, number_to_hangul_mixed, susa, seosusa
|
|
124
|
+
|
|
125
|
+
number_to_hangul(1234) # => '천이백삼십사'
|
|
126
|
+
number_to_hangul_mixed(1234) # => '1천2백3십4'
|
|
127
|
+
|
|
128
|
+
susa(3) # => '셋'
|
|
129
|
+
susa(3, True) # => '세' (수관형사: "세 마리")
|
|
130
|
+
|
|
131
|
+
seosusa(1) # => '첫째'
|
|
132
|
+
seosusa(3) # => '셋째'
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
### 표준 발음 / 로마자 표기
|
|
136
|
+
|
|
137
|
+
```python
|
|
138
|
+
from es_hangul import standardize_pronunciation, romanize
|
|
139
|
+
|
|
140
|
+
standardize_pronunciation("닭볶음") # => '닥뽁끔'
|
|
141
|
+
standardize_pronunciation("먹는") # => '멍는'
|
|
142
|
+
|
|
143
|
+
romanize("안녕하세요") # => 'annyeonghaseyo'
|
|
144
|
+
romanize("백마") # => 'baengma'
|
|
145
|
+
romanize("신라") # => 'silla'
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
## 개발
|
|
149
|
+
|
|
150
|
+
```bash
|
|
151
|
+
# 의존성 설치
|
|
152
|
+
pip install -e ".[dev]"
|
|
153
|
+
|
|
154
|
+
# 테스트 실행
|
|
155
|
+
pytest
|
|
156
|
+
|
|
157
|
+
# 커버리지 포함
|
|
158
|
+
pytest --cov=es_hangul
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
## 라이선스
|
|
162
|
+
|
|
163
|
+
MIT
|
|
164
|
+
|
|
165
|
+
원본 es-hangul의 라이선스를 따릅니다.
|
|
166
|
+
원본 저작권: [Toss](https://github.com/toss) and es-hangul contributors
|