issues
search
yoogail105
/
KkokkoSwift
꼬리에 꼬리를 무는 swift 개념 정리
28
stars
0
forks
source link
# 한글 오토마타
#46
Open
yoogail105
opened
2 years ago
yoogail105
commented
2 years ago
한글 오토마타
한글 오토마타는 오토마타라는 알고리즘을 이용해 한글 입력의 기본 원리를 구현한 것
ㄱ, ㅏ를 치면 ‘가’가 입력되는, 키보드를 통해 한글을 타이핑할 때 내부에서 일어나는 조합 과정
쉽게 말하면, 한글을 한글 답게 입력되도록 하는 것이 ‘한글 오토마타’라고 할 수 있다.
현재 입력하고 있는 글자의 상태에 따라 초성, 중성, 종성을 조립
상태도(출처:
한 달짜리 개인 프로젝트 이야기 (3) — 한글 입력 오토마타
)
S0
에서 시작
S0
에서 홑자음(ㄱ,ㄴ,ㄷ, ㄹ, ...) 입력 →
S10
: ㄱ, ㄷ, ㄷ, ㄹ, ...
S0
에서 쌍자음(ㄲ, ㄸ, ㅃ, ㅆ)dlqfur →
S11
: ㄲ, ㄸ, ㅃ, ㅆ
S0
z에서 바로 모음(ㅜ, ㅠ, ...) 입력 →
S20
: ㅜ, ㅠ, ...
S10
에서
S10
에서 다시 홑자음( ㄱ, ㄷ, ㅂ, ㅅ) 입력 →
S11
: ㄲ, ㄸ, ㅃ, ㅆ
S10
,
S11
에서 중성 모음 입력(ㅏ,ㅑ,ㅓ,ㅕ, ...) 입력 →
S20
: 가,갸,거,겨, 까, 꺄, 꺼, 껴, ...
S20
에서
S20
에서 다시 중성 자음 입력 →
S21
: 긔, 귀, ...
S20
,
S21
에서 종성 홑자음 입력 →
S30
: 각, 갓, 갑, 귓, ...
S30
에서
S30
에서 다시 종성 자음 입력 → 값, ...
S30
,
S31
에서 모음 입력 → 마지막 자음을 다음 글자의 초성으로 보냄
🔖 참고
PHP '크레이한글' 클래스 - 한글 조합(오토마타) / 자소 분리
한 달짜리 개인 프로젝트 이야기 (3) — 한글 입력 오토마타
한글 오토마타
S0
에서 시작S0
에서 홑자음(ㄱ,ㄴ,ㄷ, ㄹ, ...) 입력 →S10
: ㄱ, ㄷ, ㄷ, ㄹ, ...S0
에서 쌍자음(ㄲ, ㄸ, ㅃ, ㅆ)dlqfur →S11
: ㄲ, ㄸ, ㅃ, ㅆS0
z에서 바로 모음(ㅜ, ㅠ, ...) 입력 →S20
: ㅜ, ㅠ, ...S10
에서S10
에서 다시 홑자음( ㄱ, ㄷ, ㅂ, ㅅ) 입력 →S11
: ㄲ, ㄸ, ㅃ, ㅆS10
,S11
에서 중성 모음 입력(ㅏ,ㅑ,ㅓ,ㅕ, ...) 입력 →S20
: 가,갸,거,겨, 까, 꺄, 꺼, 껴, ...S20
에서S20
에서 다시 중성 자음 입력 →S21
: 긔, 귀, ...S20
,S21
에서 종성 홑자음 입력 →S30
: 각, 갓, 갑, 귓, ...S30
에서S30
에서 다시 종성 자음 입력 → 값, ...S30
,S31
에서 모음 입력 → 마지막 자음을 다음 글자의 초성으로 보냄🔖 참고