VC6 IDE的选项对话框显示中文字体

花了几个小时,终于解决了中文版VC6的选项对话框的字体显示问题。不知道为什么总是把中文字显示成黑色的方块,很多项目编译设置都不知道是什么,只能靠经验猜,虽然不影响使用,但很麻烦。

google了一下,发现了注册表 HKEY_CURRENT_USERSoftwareMicrosoftDevStudio6.0Format,可是设了一遍黑体,基本没用。唯一有区别的是workspace,原先的黑色方块,显示出中文项目名称了。至少是有了头绪,是字体问题。可是怎么把对话框里的字体给改了呢?

找了半天,除了上面的注册表,彻底淹没在怎么用VC6对话框做中文编程的无效信息里,难道竟要手工去改Devstudio IDE的资源库?

再回过头仔细研究,发现对话框缺省用的等宽字体也颇为巧妙。原来是win3.1就开始有的点阵字体,但到win2000以后变成一种映射,在简体中文平台下,缺省是映射到宋体simsun.ttc里。而为了屏幕显示Clear Type,曾把缺省的系统宋体手工换成了雅黑字体。而网上的介绍提到了一句,这可能会对某些Fixedsys字体显示带来问题。估计就是这个了,这个雅黑很可能不支持等宽显示,所以中文都变成了黑方块。

于是找到下了个所谓带点阵的豪华版雅黑,替换掉原来的那个,重启,这次果然解决了,可以显示中文字了。不过Clear Type又没了,而且中英文那个难看阿,不忍卒视。没办法,还是麻烦点,再换回来,手工自己做映射。好在原先的宋体还备份了simsun_old.ttc。把HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionFontLinkSystemLink,和HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlFontAssocAssociated DefaultFonts 都给设成simsun_old.ttc,再重启。

总算过得去了。