[prev in list] [next in list] [prev in thread] [next in thread] 

List:       vim-dev
Subject:    Patch 6.1.004
From:       Bram Moolenaar <Bram () moolenaar ! net>
Date:       2002-03-30 16:15:04
[Download RAW message or body]


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@moolenaar.net -- 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  ///
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic