我正在使用 UNICODE 指令进行编译,因此所有 CString 都使用 Unicode。如果我将“봉재”放入 CString,选择带有“Arial”的字体,然后使用 TextOut 或 TextOutW 显示此文本,会显示两个框。
如果我在文本中添加拉丁字符,例如“봉재 ABC”,那么显示会变成两个框,后跟“ABC”。
但是,如果我将某些其他 CJKV 字符添加到文本中,例如“봉재 /元”,则显示会显示我的 CString 的文本。
我猜 TextOut 会检查文本,如果找到某些字符,它会替换字体以获得最佳显示效果。如果我的理论是正确的,那么通过在字符串中添加某些东方字符,我可以强制 TextOut 替换为 Unicode 字体,但如果我添加其他东方字符,TextOut 不会替换正确的字体,显示不足。
如何让 TextOut 始终替换正确的字体,或者以其他方式一致地显示文本?