|
|

楼主 |
发表于 2005-12-17 13:43:26
|
显示全部楼层
去翻vim的源码,似乎是找到问题所在了。
当set encoding=chinese的时候,引号显示正常,但set encoding=utf8的时候则不正常。
vim似乎是根据一个叫mb_bytelen_tab的数组来判断字符宽度的。
在win32平台下,且enc=chinese时,mb_bytelen_tab使用IsDBCSLeadByteEx函数填充,msdn上说这个函数判断一个字节是否为一个双字节字符的起始字节。
enc=utf8时,使用一个预定义的utf8len_tab数组对mb_bytelen_tab进行填充。
引号的utf8编码是0x1c20和0x1d20,我试了试,把utf8len_tab的相关元素改成2,但似乎没有作用的样子。问题还是没有解决,还在找解决的办法。
附件是enc=utf8时出问题的引号 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|