Skip to content

Add Korean (Hangul) language practice with 2-set Dubeolsik layout - #619

Open
MadanChaollaPark wants to merge 2 commits into
aradzie:masterfrom
MadanChaollaPark:feature/korean-language
Open

Add Korean (Hangul) language practice with 2-set Dubeolsik layout#619
MadanChaollaPark wants to merge 2 commits into
aradzie:masterfrom
MadanChaollaPark:feature/korean-language

Conversation

@MadanChaollaPark

Copy link
Copy Markdown

Summary

Adds Korean as a practice language using 2-set (두벌식) jamo keystrokes, so progressive lessons and per-key stats match how Hangul is typed on a 2-set keyboard.

  • Language.KO (hangul script, 33 compatibility jamo)
  • Layout ko-kr / {KR} (두벌식) with layout emulation
  • Korean word dictionary → phonetic model + top 10k word list
  • Hangul script support on system fonts
  • Korean 103 geometry IntlYen label →

Complex vowels/finals are decomposed into the keys actually pressed (e.g. ㅗㅏ).

Why jamo (not composed syllables)?

keybr’s model is per-letter. Hangul syllables would explode the alphabet (~11k). Jamo keystrokes match the keys on 2-set and keep progressive unlocking workable.

Test plan

  • npm --workspace packages/keybr-keyboard run test (includes korean jamo words, ko-kr/* layouts)
  • npm --workspace packages/keybr-content-words run test (words:ko)
  • npm --workspace packages/keybr-phonetic-model run test (ko model)
  • Related lesson / textinput / themes tests
  • Manual: Practice → Language Korean → Layout 두벌식 → type with layout emulation

Refs: #259

Practice Korean as jamo keystrokes so progressive lessons and per-key
stats match how 2-set Hangul is typed. Includes Language.KO, ko-kr
layout, dictionary, phonetic model, word list, hangul font script
support, and FORK.md usage notes.
@semanticdiff-com

semanticdiff-com Bot commented Jul 20, 2026

Copy link
Copy Markdown

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant