如何使用文本输出正确显示韩语文本



我正在使用UNICODE指令进行编译,因此所有CStrings都是Unicode。如果我将"봉재"放入CString中,选择带有"Arial"的字体,然后使用TextOut或TextOutW显示此文本,将显示两个框。

如果我在文本中添加拉丁字符,例如"봉재 ABC",则显示将变为两个框,后跟"ABC"。

但是,如果我在文本中添加某些其他 CJKV 字符,例如"봉재/元",则显示我的 CString 的文本。

我猜 TextOut 会检查文本,如果找到某些字符,它会用字体代替最佳显示效果。如果我的理论是正确的,那么通过在字符串中添加某些东方字符,我可以强制 TextOut 替换 Unicode 字体,但是如果我添加其他东方字符,TextOut 不会替换正确的字体,并且显示不足。

如何让 TextOut 始终替换正确的字体,或以其他方式一致地显示文本?

请注意,"Arial"根本不支持 CJKV,它只是一种拉丁字体。如果您希望在保持Arial字体外观的同时获得更广泛的Unicode支持,请使用"Arial Unicode"。否则,请使用另一种字体,首先检查它是否包含需要渲染的所有字形。

最新更新