Features:
- Print hangul strings on screen. Outlines and general control characters are supported, but most of the kana(Japanese characters) are disabled.
- Import drag-dropped txt file(utf-8 only). p8scii special characters can be written in \000 ~ \256 (3 digits decimal) form.
- Type hangul by keyboard. Keyboard layout is 두벌식(two-set).
Technical details:
- Hangul characters are stored in 2 characters, which corresponds to 2-byte unicode, big endian. First byte of such code is 0xAC ~ 0xD7, so this blocks the usage of kana.
- Originally single-consonants or single-vowels correspond to 0x1100 ~ 0x11FF, but storing such value will conflict with regular ASCII. It is replaced to codespace of 0xD800~. 0xD800~0xD812 is single (first) consonant, 0xD820~0xD834 is single vowel.

An example for quadtree implementation, including following functions:
- divide the quadtree nodes by a line segment. The nodes will subdivide until size is 1.
- find a node that contains the given point. floor inclusive, ceiling exclusive.
It is somewhat bulky(around 600 tokens), and might need flood filling or some other features to be practical.





2 comments