*** apps/konsole/src/konsole_wcwidth.cpp.org	2009-06-05 16:14:37.000000000 +0900
--- apps/konsole/src/konsole_wcwidth.cpp	2009-06-05 16:14:46.000000000 +0900
***************
*** 65,71 ****
   * in ISO 10646.
   */
  
! int konsole_wcwidth(quint16 ucs)
  {
    /* sorted list of non-overlapping intervals of non-spacing characters */
    static const struct interval combining[] = {
--- 65,72 ----
   * in ISO 10646.
   */
  
! static int __konsole_wcwidth(quint16);
! static int __konsole_wcwidth(quint16 ucs)
  {
    /* sorted list of non-overlapping intervals of non-spacing characters */
    static const struct interval combining[] = {
***************
*** 127,138 ****
        (ucs >= 0xf900 && ucs <= 0xfaff) || /* CJK Compatibility Ideographs */
        (ucs >= 0xfe30 && ucs <= 0xfe6f) || /* CJK Compatibility Forms */
        (ucs >= 0xff00 && ucs <= 0xff5f) || /* Fullwidth Forms */
!       (ucs >= 0xffe0 && ucs <= 0xffe6) || /* do not compare UINT16 with 0x20000 */
!       (ucs >= 0x300a && ucs <= 0x300b)  /* Specal character 《 and 》(Unicode Standard Annex #11) ||
        (ucs >= 0x20000 && ucs <= 0x2ffff) */));
  }
  
! #if 0
  /*
   * The following function is the same as konsole_wcwidth(), except that
   * spacing characters in the East Asian Ambiguous (A) category as
--- 128,138 ----
        (ucs >= 0xf900 && ucs <= 0xfaff) || /* CJK Compatibility Ideographs */
        (ucs >= 0xfe30 && ucs <= 0xfe6f) || /* CJK Compatibility Forms */
        (ucs >= 0xff00 && ucs <= 0xff5f) || /* Fullwidth Forms */
!       (ucs >= 0xffe0 && ucs <= 0xffe6) /* do not compare UINT16 with 0x20000 ||
        (ucs >= 0x20000 && ucs <= 0x2ffff) */));
  }
  
! #if 1
  /*
   * The following function is the same as konsole_wcwidth(), except that
   * spacing characters in the East Asian Ambiguous (A) category as
***************
*** 141,147 ****
   * encodings who want to migrate to UCS. It is not otherwise
   * recommended for general use.
   */
! int konsole_wcwidth_cjk(quint16 ucs)
  {
    /* sorted list of non-overlapping intervals of East Asian Ambiguous
     * characters */
--- 141,147 ----
   * encodings who want to migrate to UCS. It is not otherwise
   * recommended for general use.
   */
! int konsole_wcwidth(quint16 ucs)
  {
    /* sorted list of non-overlapping intervals of East Asian Ambiguous
     * characters */
***************
*** 185,192 ****
      { 0x226E, 0x226F }, { 0x2282, 0x2283 }, { 0x2286, 0x2287 },
      { 0x2295, 0x2295 }, { 0x2299, 0x2299 }, { 0x22A5, 0x22A5 },
      { 0x22BF, 0x22BF }, { 0x2312, 0x2312 }, { 0x2460, 0x24BF },
!     { 0x24D0, 0x24E9 }, { 0x2500, 0x254B }, { 0x2550, 0x2574 },
!     { 0x2580, 0x258F }, { 0x2592, 0x2595 }, { 0x25A0, 0x25A1 },
      { 0x25A3, 0x25A9 }, { 0x25B2, 0x25B3 }, { 0x25B6, 0x25B7 },
      { 0x25BC, 0x25BD }, { 0x25C0, 0x25C1 }, { 0x25C6, 0x25C8 },
      { 0x25CB, 0x25CB }, { 0x25CE, 0x25D1 }, { 0x25E2, 0x25E5 },
--- 185,200 ----
      { 0x226E, 0x226F }, { 0x2282, 0x2283 }, { 0x2286, 0x2287 },
      { 0x2295, 0x2295 }, { 0x2299, 0x2299 }, { 0x22A5, 0x22A5 },
      { 0x22BF, 0x22BF }, { 0x2312, 0x2312 }, { 0x2460, 0x24BF },
!     { 0x24D0, 0x24E9 }, 
! #if	0	// Graphic line chars 
!     { 0x2500, 0x254B }, 
! #endif
!     { 0x2550, 0x2574 },
!     { 0x2580, 0x258F }, 
! #if	0	// Meshed square
!     { 0x2592, 0x2595 }, 
! #endif
!     { 0x25A0, 0x25A1 },
      { 0x25A3, 0x25A9 }, { 0x25B2, 0x25B3 }, { 0x25B6, 0x25B7 },
      { 0x25BC, 0x25BD }, { 0x25C0, 0x25C1 }, { 0x25C6, 0x25C8 },
      { 0x25CB, 0x25CB }, { 0x25CE, 0x25D1 }, { 0x25E2, 0x25E5 },
***************
*** 203,209 ****
             sizeof(ambiguous) / sizeof(struct interval) - 1))
      return 2;
  
!   return konsole_wcwidth(ucs);
  }
  #endif
  
--- 211,217 ----
             sizeof(ambiguous) / sizeof(struct interval) - 1))
      return 2;
  
!   return __konsole_wcwidth(ucs);
  }
  #endif
  
