To better understand what runes are joined how I've added comments with the actual unicode char. Also clarified that the key has to be sorted by rune value
For a better semigraphics support all related code was moved to its own file. The const names reflect their unicode name to better distinguish the runes.