使用Unicode同时显示多种文字的问题

maplexp 2003-11-19 03:17:45
我要在一个程序里同时显示多种语言的文字,字符串用的Unicode,
要正确显示一个Unicode字符串,必须保证选入当前DC的字体中有这个字符串的字符集。
如果一屏显示多种语言的文字,那么可能会需要几种字体支持,这就产生了两个问题:
1. 如何知道一个Unicode字符串的字符集,也就是说这个字符串是哪种语言的?
2. 如何知道一个字体支持哪些字符集?

我用GetTextCharsetInfo函数,但这个函数返回的值并不精确,比如幼圆字体支持韩文显示,但GetTextCharsetInfo返回的值说幼圆只支持简体中文的code page

有没有其他办法可以解决这两个问题?

谢谢!分不够可以再加。
...全文
109 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
txdxun 2003-11-19
  • 打赏
  • 举报
回复
mark
gz
maplexp 2003-11-19
  • 打赏
  • 举报
回复
谢谢!不过你这种做法是判断本机的代码页,并不能获得一个已有Unicode字符串的语言类型
beyondtkl 2003-11-19
  • 打赏
  • 举报
回复
1. 如何知道一个Unicode字符串的字符集,也就是说这个字符串是哪种语言的?

int GetLocaleLanguage()

int iResult = ENGLISH;
UINT uACP;
uACP = GetACP();
switch(uACP)
{
case 936:
iResult = CHINESE_GB;
break;
case 950:
iResult = CHINESE_BIG5;
break;
default:
iResult = ENGLISH;
break;
}

我们现在就是处理简繁体的转化 在所有发出数据前面加上一位 标识属于何语言
我想其他的语言比如韩文可能就是 933之类的 你需要的时候就对其解包就Ok
希望对你有帮助
maplexp 2003-11-19
  • 打赏
  • 举报
回复
谢谢薄荷!

最好可以不用IMLangCodePages

还有别的办法吗?谢谢
bluebohe 2003-11-19
  • 打赏
  • 举报
回复
1:IMLangCodePages
?

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧