Skip to main content

Crate geulbus_core

Crate geulbus_core 

Source
Expand description

geulbus-core — 날개셋(nalgaeset) 입력 설정을 해석하는 한글 조합 엔진.

ibus 등 프런트엔드와 무관한 순수 라이브러리. 임의의 nalgaeset.xml 설정을 파싱하여(config), 값-식을 평가하고(expr), 자모 단위를 모델링하며(unit), 한글 오토마타로 음절을 조합한다(automaton, engine).

설계 근거는 저장소의 research/01..04-*.md 참고.

Modules§

config
nalgaeset.xml(날개셋 입력 설정) 파싱과 엔진용 컴파일.
engine
한글 조합 엔진: 컴파일된 Layout 위에서 키 입력을 받아 음절을 조합한다.
evdev
Linux evdev keycode → 물리 키 위치의 US-QWERTY ASCII(shift 없는 기준) 매핑.
expr
날개셋 값-식(value expression) 언어: 렉서 + 우선순위 파서 + 평가기.
unit
날개셋 낱자(단위) 모델과 니모닉/operand 해석.

Structs§

Config
전체 설정.
Engine
한글 조합 엔진.
Jamo
해결된 한글 자모 단위: 위치 + 조합용 자모 코드포인트.
KeyOutcome
키 한 번 처리 결과.
Layout
한 입력 항목을 엔진이 바로 쓰도록 컴파일한 배열.

Enums§

Category
자모의 위치(낱자 갈래).
Unit
H3|<operand> 가 가리키는 단위.

Functions§

evdev_to_ascii
evdev keycode → 그 물리 키의 US-QWERTY 기본(비-shift) ASCII 문자. KeyTable 인덱스(0x21..0x7E)와 같은 공간이다. 매핑이 없으면 None.
us_qwerty_ascii
evdev keycode + shift → US-QWERTY 가 만들어낼 ASCII(shift 반영). 이게 날개셋 KeyTable 의 인덱스 공간이다. 사용자 XKB 가 드보락이어도 같은 결과 → 물리 위치 기준으로 세벌식이 고정된다. 매핑이 없으면 None.