Loading ...
Sorry, an error occurred while loading the content.

Patch 6.1.004

Expand Messages
  • Bram Moolenaar
    Patch 6.1.004 Problem: Unicode 3.2 changes width and composing of a few characters. (Markus Kuhn) Solution: Adjust the Unicode functions for the character
    Message 1 of 1 , Mar 30, 2002
    • 0 Attachment
      Patch 6.1.004
      Problem: Unicode 3.2 changes width and composing of a few characters.
      (Markus Kuhn)
      Solution: Adjust the Unicode functions for the character width and composing
      characters.
      Files: src/mbyte.c


      *** ../vim61.003/src/mbyte.c Sat Mar 9 20:38:05 2002
      --- src/mbyte.c Fri Mar 29 16:01:29 2002
      ***************
      *** 927,939 ****
      return 6; /* unprintable, displays <xxxx> */
      if (c >= 0x1100
      && (c <= 0x115f /* Hangul Jamo */
      ! || (c >= 0x2e80 && c <= 0xa4cf && (c & ~0x0011) != 0x300a
      && c != 0x303f) /* CJK ... Yi */
      || (c >= 0xac00 && c <= 0xd7a3) /* Hangul Syllables */
      || (c >= 0xf900 && c <= 0xfaff) /* CJK Compatibility
      Ideographs */
      || (c >= 0xfe30 && c <= 0xfe6f) /* CJK Compatibility Forms */
      ! || (c >= 0xff00 && c <= 0xff5f) /* Fullwidth Forms */
      || (c >= 0xffe0 && c <= 0xffe6)
      || (c >= 0x20000 && c <= 0x2ffff)))
      return 2;
      --- 927,941 ----
      return 6; /* unprintable, displays <xxxx> */
      if (c >= 0x1100
      && (c <= 0x115f /* Hangul Jamo */
      ! || c == 0x2329
      ! || c == 0x232a
      ! || (c >= 0x2e80 && c <= 0xa4cf
      && c != 0x303f) /* CJK ... Yi */
      || (c >= 0xac00 && c <= 0xd7a3) /* Hangul Syllables */
      || (c >= 0xf900 && c <= 0xfaff) /* CJK Compatibility
      Ideographs */
      || (c >= 0xfe30 && c <= 0xfe6f) /* CJK Compatibility Forms */
      ! || (c >= 0xff00 && c <= 0xff60) /* Fullwidth Forms */
      || (c >= 0xffe0 && c <= 0xffe6)
      || (c >= 0x20000 && c <= 0x2ffff)))
      return 2;
      ***************
      *** 1447,1475 ****
      /* sorted list of non-overlapping intervals */
      static struct interval combining[] =
      {
      ! {0x0300, 0x034E}, {0x0360, 0x0362}, {0x0483, 0x0486}, {0x0488, 0x0489},
      {0x0591, 0x05A1}, {0x05A3, 0x05B9}, {0x05BB, 0x05BD}, {0x05BF, 0x05BF},
      {0x05C1, 0x05C2}, {0x05C4, 0x05C4}, {0x064B, 0x0655}, {0x0670, 0x0670},
      ! {0x06D6, 0x06E4}, {0x06E7, 0x06E8}, {0x06EA, 0x06ED}, {0x0711, 0x0711},
      ! {0x0730, 0x074A}, {0x07A6, 0x07B0}, {0x0901, 0x0902}, {0x093C, 0x093C},
      ! {0x0941, 0x0948}, {0x094D, 0x094D}, {0x0951, 0x0954}, {0x0962, 0x0963},
      ! {0x0981, 0x0981}, {0x09BC, 0x09BC}, {0x09C1, 0x09C4}, {0x09CD, 0x09CD},
      ! {0x09E2, 0x09E3}, {0x0A02, 0x0A02}, {0x0A3C, 0x0A3C}, {0x0A41, 0x0A42},
      ! {0x0A47, 0x0A48}, {0x0A4B, 0x0A4D}, {0x0A70, 0x0A71}, {0x0A81, 0x0A82},
      ! {0x0ABC, 0x0ABC}, {0x0AC1, 0x0AC5}, {0x0AC7, 0x0AC8}, {0x0ACD, 0x0ACD},
      ! {0x0B01, 0x0B01}, {0x0B3C, 0x0B3C}, {0x0B3F, 0x0B3F}, {0x0B41, 0x0B43},
      ! {0x0B4D, 0x0B4D}, {0x0B56, 0x0B56}, {0x0B82, 0x0B82}, {0x0BC0, 0x0BC0},
      ! {0x0BCD, 0x0BCD}, {0x0C3E, 0x0C40}, {0x0C46, 0x0C48}, {0x0C4A, 0x0C4D},
      ! {0x0C55, 0x0C56}, {0x0CBF, 0x0CBF}, {0x0CC6, 0x0CC6}, {0x0CCC, 0x0CCD},
      ! {0x0D41, 0x0D43}, {0x0D4D, 0x0D4D}, {0x0DCA, 0x0DCA}, {0x0DD2, 0x0DD4},
      ! {0x0DD6, 0x0DD6}, {0x0E31, 0x0E31}, {0x0E34, 0x0E3A}, {0x0E47, 0x0E4E},
      ! {0x0EB1, 0x0EB1}, {0x0EB4, 0x0EB9}, {0x0EBB, 0x0EBC}, {0x0EC8, 0x0ECD},
      ! {0x0F18, 0x0F19}, {0x0F35, 0x0F35}, {0x0F37, 0x0F37}, {0x0F39, 0x0F39},
      ! {0x0F71, 0x0F7E}, {0x0F80, 0x0F84}, {0x0F86, 0x0F87}, {0x0F90, 0x0F97},
      ! {0x0F99, 0x0FBC}, {0x0FC6, 0x0FC6}, {0x102D, 0x1030}, {0x1032, 0x1032},
      ! {0x1036, 0x1037}, {0x1039, 0x1039}, {0x1058, 0x1059}, {0x17B7, 0x17BD},
      ! {0x17C6, 0x17C6}, {0x17C9, 0x17D3}, {0x18A9, 0x18A9}, {0x20D0, 0x20E3},
      ! {0x302A, 0x302F}, {0x3099, 0x309A}, {0xFB1E, 0xFB1E}, {0xFE20, 0xFE23}
      };

      return intable(combining, sizeof(combining) / sizeof(struct interval), c);
      --- 1449,1479 ----
      /* sorted list of non-overlapping intervals */
      static struct interval combining[] =
      {
      ! {0x0300, 0x034F}, {0x0360, 0x036F}, {0x0483, 0x0486}, {0x0488, 0x0489},
      {0x0591, 0x05A1}, {0x05A3, 0x05B9}, {0x05BB, 0x05BD}, {0x05BF, 0x05BF},
      {0x05C1, 0x05C2}, {0x05C4, 0x05C4}, {0x064B, 0x0655}, {0x0670, 0x0670},
      ! {0x06D6, 0x06DC}, {0x06DE, 0x06E4}, {0x06E7, 0x06E8}, {0x06EA, 0x06ED},
      ! {0x0711, 0x0711}, {0x0730, 0x074A}, {0x07A6, 0x07B0}, {0x0901, 0x0902},
      ! {0x093C, 0x093C}, {0x0941, 0x0948}, {0x094D, 0x094D}, {0x0951, 0x0954},
      ! {0x0962, 0x0963}, {0x0981, 0x0981}, {0x09BC, 0x09BC}, {0x09C1, 0x09C4},
      ! {0x09CD, 0x09CD}, {0x09E2, 0x09E3}, {0x0A02, 0x0A02}, {0x0A3C, 0x0A3C},
      ! {0x0A41, 0x0A42}, {0x0A47, 0x0A48}, {0x0A4B, 0x0A4D}, {0x0A70, 0x0A71},
      ! {0x0A81, 0x0A82}, {0x0ABC, 0x0ABC}, {0x0AC1, 0x0AC5}, {0x0AC7, 0x0AC8},
      ! {0x0ACD, 0x0ACD}, {0x0B01, 0x0B01}, {0x0B3C, 0x0B3C}, {0x0B3F, 0x0B3F},
      ! {0x0B41, 0x0B43}, {0x0B4D, 0x0B4D}, {0x0B56, 0x0B56}, {0x0B82, 0x0B82},
      ! {0x0BC0, 0x0BC0}, {0x0BCD, 0x0BCD}, {0x0C3E, 0x0C40}, {0x0C46, 0x0C48},
      ! {0x0C4A, 0x0C4D}, {0x0C55, 0x0C56}, {0x0CBF, 0x0CBF}, {0x0CC6, 0x0CC6},
      ! {0x0CCC, 0x0CCD}, {0x0D41, 0x0D43}, {0x0D4D, 0x0D4D}, {0x0DCA, 0x0DCA},
      ! {0x0DD2, 0x0DD4}, {0x0DD6, 0x0DD6}, {0x0E31, 0x0E31}, {0x0E34, 0x0E3A},
      ! {0x0E47, 0x0E4E}, {0x0EB1, 0x0EB1}, {0x0EB4, 0x0EB9}, {0x0EBB, 0x0EBC},
      ! {0x0EC8, 0x0ECD}, {0x0F18, 0x0F19}, {0x0F35, 0x0F35}, {0x0F37, 0x0F37},
      ! {0x0F39, 0x0F39}, {0x0F71, 0x0F7E}, {0x0F80, 0x0F84}, {0x0F86, 0x0F87},
      ! {0x0F90, 0x0F97}, {0x0F99, 0x0FBC}, {0x0FC6, 0x0FC6}, {0x102D, 0x1030},
      ! {0x1032, 0x1032}, {0x1036, 0x1037}, {0x1039, 0x1039}, {0x1058, 0x1059},
      ! {0x1712, 0x1714}, {0x1732, 0x1734}, {0x1752, 0x1753}, {0x1772, 0x1773},
      ! {0x17B7, 0x17BD}, {0x17C6, 0x17C6}, {0x17C9, 0x17D3}, {0x180B, 0x180D},
      ! {0x18A9, 0x18A9}, {0x20D0, 0x20EA}, {0x302A, 0x302F}, {0x3099, 0x309A},
      ! {0xFB1E, 0xFB1E}, {0xFE00, 0xFE0F}, {0xFE20, 0xFE23}
      };

      return intable(combining, sizeof(combining) / sizeof(struct interval), c);
      *** ../vim61.003/src/version.c Sat Mar 30 17:11:06 2002
      --- src/version.c Sat Mar 30 17:13:41 2002
      ***************
      *** 608,609 ****
      --- 608,611 ----
      { /* Add new patch number below this line */
      + /**/
      + 4,
      /**/

      --
      What a wonderfully exciting cough! Do you mind if I join you?
      -- Douglas Adams, "The Hitchhiker's Guide to the Galaxy"

      /// Bram Moolenaar -- Bram@... -- http://www.moolenaar.net \\\
      /// Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim \\\
      \\\ Project leader for A-A-P -- http://www.a-a-p.org ///
      \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org ///
    Your message has been successfully submitted and would be delivered to recipients shortly.