1) Ты говорил, что с Shift-JIS кодировкой всё в порядке. А вот с однобайтовой 1251 вкупе с пробелом 0х20 - происходят креши. Поэтому я так и понял, что в кириллице именно 1251 используются служебные символы.
2) По видимому ты сам значит выставил такой длинный пробел, вместо короткого )))
3) Тогда это причина перейти на другую кодировку, например UTF-8, там символы в диапазоне 0401 - 0451. И возможно игра не использует из этого диапазона служебные коды.
4) Ну и русский 2-байтный шрифт так же в Shift-JIS выводится, как однобайтный, вернее нормальной ширины. Так что не в этом проблема.
2 байта на символ - это всего-лишь порядковый номер символа в таблице шрифтов и это совсем не значит, что символ выводится 2-мя байтами.
5) Я уже посмотрел таблицу шрифтов - там даже нету в таблице этого кода пробела 0х8140. Поэтому этот код пробела берётся не из таблицы шрифтов TTF или PGF, а оно уже заложено в либах.
И поэтому я предлагаю:
- Либо сменить кодировку.
- Либо вместо пробела использовать другой неиспользуемый символ и заменить его стандартным пробелом, т.е. вместо того символа скопировать/вставить пробел. Затем в конвертере пакетно заменить код 0х20 на код того символа, точно так же, как ты заменил на 0х8140.