LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 706|回复: 4

vim6.2-中文符号显示与GB18030编码支持 patch

[复制链接]
发表于 2003-10-23 14:17:00 | 显示全部楼层 |阅读模式
据说vim6.2会认为中文全角符号为英文半角,所以显示会有问题。(我的没有出现过然后这个patch会加上GB18030的支持。代码很短,我贴出来算了
  1. --- vim62/src/mbyte.c        2003-06-01 00:12:56.000000000 +0800
  2. +++ vim62.new/src/mbyte.c        2003-07-30 23:06:57.000000000 +0800
  3. @@ -267,6 +267,7 @@
  4.      {"5601",                IDX_EUC_KR},        /* Sun: KS C 5601 */
  5.      {"euccn",                IDX_EUC_CN},
  6.      {"gb2312",                IDX_EUC_CN},
  7. +    {"gb18030",                IDX_EUC_CN},
  8.      {"euctw",                IDX_EUC_TW},
  9. #if defined(WIN3264) || defined(WIN32UNIX) || defined(MACOS)
  10.      {"japan",                IDX_CP932},
  11. @@ -959,9 +960,19 @@
  12.   * When p_ambw is "double", return 2 for a character with East Asian Width
  13.   * class 'A'(mbiguous).
  14.   */
  15. -    int
  16. -utf_char2cells(c)
  17. -    int                c;
  18. +
  19. +static int _utf_char2cells(int c);
  20. +int utf_char2cells(c)
  21. +{
  22. +#if 0
  23. +    fprintf(stderr, "enc_dbcs=%d(%d), c = %x, ret = %d\n",
  24. +            enc_dbcs, DBCS_CHSU, c, _utf_char2cells(c));
  25. +#endif
  26. +    return (c >= 0x80 && enc_dbcs == DBCS_CHSU) ? 2 : _utf_char2cells(c);
  27. +}
  28. +
  29. +static int _utf_char2cells(c)
  30. +  int                c;
  31. {
  32.      /* sorted list of non-overlapping intervals of East Asian Ambiguous
  33.       * characters, generated with:
  34. @@ -4997,6 +5008,12 @@
  35.      int                from_prop;
  36.      int                to_prop;
  37. +    if (from != NULL && !strcmp(from, "euc-cn"))
  38. +        from = "gb18030";
  39. +
  40. +    if (to != NULL && !strcmp(to, "euc-cn"))
  41. +        to = "gb18030";
  42. +
  43.      /* Reset to no conversion. */
  44. # ifdef USE_ICONV
  45.      if (vcp->vc_type == CONV_ICONV && vcp->vc_fd != (iconv_t)-1)
复制代码
发表于 2003-10-23 17:26:45 | 显示全部楼层
zlb作的,事实证明没用
 楼主| 发表于 2003-10-23 19:34:24 | 显示全部楼层

xixi.

最初由 penny 发表
zlb作的,事实证明没用


反正我这里打上不打上都是一样的。
发表于 2003-10-23 20:49:43 | 显示全部楼层
认为中文全角符号为英文半角

??? 什么意思 ???
 楼主| 发表于 2003-10-26 11:38:29 | 显示全部楼层

不清楚。

最初由 carlos 发表
??? 什么意思 ???


据说显示有问题。可是我的一直也没有问题。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表