Я компилирую с директивой UNICODE, поэтому все CStrings в Unicode. Если я помещу «봉재» в CString, выберу шрифт с «Arial», а затем использую TextOut или TextOutW для отображения этого текста, отобразятся два поля.
Если я добавлю латинские символы в текст, например. «봉재 ABC», затем на дисплее появляется два прямоугольника, за которыми следует «ABC».
Однако, если я добавлю в текст некоторые другие символы CJKV, например. «봉재 / 元», затем на дисплее отображается текст моей CString.
Я предполагаю, что TextOut проверяет текст, и если определенные символы найдены, он заменяет шрифты для лучшего отображения. Если моя теория верна, то, добавляя в строку определенные восточные символы, я могу заставить TextOut заменить шрифт Unicode, но если я добавлю другие восточные символы, TextOut не заменит правильный шрифт, и отображение будет неадекватным.
Как я могу заставить TextOut всегда заменять правильный шрифт или иначе отображать текст последовательно?