Let’s translate old video games!

Custom encodings are not all bad, and are usually used for perf reasons. Encoding the index of a character in the font file directly saves an extra look up.

Ditto for fixed (all characters use 2 bytes) encodings vs variable (some characters use 1 byte, others use 2-4 bytes) encodings. The renderer can always read two bytes at a time without any conditional logic.