2016-01-28 83 views
1

我正在使用UNICODE指令進行編譯,所以所有CStrings都使用Unicode編碼。如果將「봉재」放入CString中,選擇帶有「Arial」的字體,然後使用TextOut或TextOutW顯示該文本,則會顯示兩個框。如何正確使用TextOut顯示韓文文字?

如果我在文本中添加拉丁字符,例如「ABC」,然後顯示變成兩個框,然後是「ABC」。

但是,如果我在文本中添加了某些其他CJKV字符,例如「봉재/元」,然後顯示器顯示我CString的文本。

我猜TextOut檢查文本,如果找到某些字符,它將替換字體以獲得最佳顯示效果。如果我的理論是正確的,那麼通過向字符串添加某些東方字符,我可以強制TextOut替換Unicode字體,但是如果我添加其他東方字符,TextOut不會替換正確的字體,並且顯示不足。

如何讓TextOut始終替換正確的字體,或以其他方式一致顯示文本?

+0

技術問題:「東方」和「歐洲」字母不是東西。如果我們談論的是Unicode,那麼CJKV(中文,日文,韓文和越南文)就是「使用Unicode調用表意字形的語言」的一個流行語,而且還有拉丁語(相當多的塊)。如果您的問題使用韓語,請詢問韓語。這就是說:顯示代碼。如果沒有一個能夠證明你正在嘗試的最簡單的例子,人們就必須猜測,並且由於他們的時間也很有價值,他們可能會轉向一個不需要猜測的問題。 –

回答

1

請注意,「Arial」完全不支持CJKV,它只是一種拉丁字體。如果您希望在保持Arial字體外觀的同時支持更寬的Unicode,請使用「Arial Unicode」。否則,請使用另一種字體,首先檢查它是否包含您需要渲染的所有字形。

相關問題