Refactor and fix class method `generate_cjk`

Refactor method with the intent of making it easier to understand. The method is
now shorter (6 LoC instead of 12) and has more descriptive variable names.

Also fix a minor bug. Formerly, the method would never return the character with
codepoint 0x9FCC, which is at the upper limit of the CJK character set.