On the Mechanics of Hangeul
Hangeul was promulgated in 1446 as 훈민정음 -- the correct sounds for instructing the people. As a writing system, it is featural: the shape of each consonant gestures toward the position of the tongue, and each vowel arises from the elementary marks of heaven (ㆍ), earth (ㅡ), and human (ㅣ).
For the engineer, this poetic origin has practical consequences. Because syllables decompose deterministically, every operation -- collation, search, transliteration, breaking, shaping -- can be expressed as small functions over the jamo space. There are no irregular forms to memorize; the rules are the data.
The Unicode Standard encodes the modern syllable block at U+AC00 through U+D7A3. Software libraries that handle Korean text should canonicalize input with NFC before comparison, decompose to jamo with NFD when reasoning about pronunciation, and never assume one Unicode codepoint equals one user-perceived character.
For input methods, the composition state machine maintains a partial syllable: an accumulating sequence of one to three jamo that may grow, recompose, or commit on every keystroke. Errors here are visible to the user and intolerable; correctness is a non-negotiable contract.
Rendering, by contrast, is mostly the font's responsibility. Modern OpenType-shaped Korean fonts handle composition and arrangement via GSUB lookups; the engine's job is merely to deliver the codepoints in the correct order and let the shaper do its work.
This site is a working notebook: snippets, references, and small libraries gathered for those building Hangeul-aware software. It is meant to be read slowly, like watching light shift on the floor of a tide pool.