]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
[BZ #3954]
authorUlrich Drepper <drepper@redhat.com>
Fri, 16 Feb 2007 01:25:28 +0000 (01:25 +0000)
committerUlrich Drepper <drepper@redhat.com>
Fri, 16 Feb 2007 01:25:28 +0000 (01:25 +0000)
* iconvdata/ksc5601.c (__ksc5601_sym_to_ucs, __ksc5601_sym_from_ucs):
Add mapping for U+327E.
* iconvdata/ksc5601.h (KSC5601_SYMBOL): Increment.
* iconvdata/johab.c (BODY for FROM_LOOP, BODY for TO_LOOP): Enable
mapping of 0xD9 0xE8.
* iconvdata/uhc.c (BODY for FROM_LOOP, BODY for TO_LOOP): Disable
mapping of U+327E.
Reported by Jungshik Shin <jungshik@google.com>.

[BZ #3955]

ChangeLog
iconvdata/johab.c
iconvdata/ksc5601.c
iconvdata/ksc5601.h
iconvdata/uhc.c
localedata/ChangeLog
localedata/charmaps/EUC-KR
localedata/charmaps/JOHAB

index c4da7c3a2ed74ea74ec7afcca9a359859a835995..52058a175dc6df011e8ffa0beb0186add667759a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,16 @@
 2007-02-02  Bruno Haible  <bruno@clisp.org>
 
+       [BZ #3954]
+       * iconvdata/ksc5601.c (__ksc5601_sym_to_ucs, __ksc5601_sym_from_ucs):
+       Add mapping for U+327E.
+       * iconvdata/ksc5601.h (KSC5601_SYMBOL): Increment.
+       * iconvdata/johab.c (BODY for FROM_LOOP, BODY for TO_LOOP): Enable
+       mapping of 0xD9 0xE8.
+       * iconvdata/uhc.c (BODY for FROM_LOOP, BODY for TO_LOOP): Disable
+       mapping of U+327E.
+       Reported by Jungshik Shin <jungshik@google.com>.
+
+       [BZ #3955]
        * iconvdata/johab.c (BODY for FROM_LOOP, BODY for TO_LOOP): Enable
        mapping of 0xD9 0xE6 and of 0xD9 0xE7.
        Reported by Jungshik Shin <jungshik@google.com>.
index 8f0ab64e8efb28f3193d6b1529165969b6b2eef4..58cb5bcc0d0f1bcf56428b3776d81dc0b23d6a12 100644 (file)
@@ -239,7 +239,7 @@ johab_sym_hanja_to_ucs (uint_fast32_t idx, uint_fast32_t c1, uint_fast32_t c2)
                if (__builtin_expect (ch2 < 0x31, 0)                          \
                    || (__builtin_expect (ch2 > 0x7e, 0) && ch2 < 0x91)       \
                    || __builtin_expect (ch2, 0) == 0xff                      \
-                   || (__builtin_expect (ch, 0) == 0xd9 && ch2 > 0xe7)       \
+                   || (__builtin_expect (ch, 0) == 0xd9 && ch2 > 0xe8)       \
                    || (__builtin_expect (ch, 0) == 0xda                      \
                        && ch2 > 0xa0 && ch2 < 0xd4)                          \
                    || (__builtin_expect (ch, 0) == 0xde && ch2 > 0xf1))      \
@@ -386,7 +386,7 @@ johab_sym_hanja_to_ucs (uint_fast32_t idx, uint_fast32_t c1, uint_fast32_t c2)
                break;                                                        \
              }                                                               \
            if (__builtin_expect (written == __UNKNOWN_10646_CHAR, 0)         \
-               || (outptr[0] == 0x22 && outptr[1] > 0x67))                   \
+               || (outptr[0] == 0x22 && outptr[1] > 0x68))                   \
              {                                                               \
                UNICODE_TAG_HANDLER (ch, 4);                                  \
                STANDARD_TO_LOOP_ERR_HANDLER (4);                             \
index bf8ce35cc6cd657ddedb749b4e0391d841d6aff5..30e468150d3441ed5925d93b564447a578cfe0c6 100644 (file)
@@ -1,5 +1,5 @@
 /* Conversion tables for KS C 5601-1992 based encoding conversion.
-   Copyright (C) 1998, 2000 Free Software Foundation, Inc.
+   Copyright (C) 1998, 2000, 2007 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Jungshik Shin <jshin@pantheon.yale.edu>, 1998.
 
@@ -412,7 +412,8 @@ const uint16_t __ksc5601_sym_to_ucs[] =
   [0x0098] = 0x2669, [0x0099] = 0x266a, [0x009a] = 0x266c, [0x009b] = 0x327f,
   [0x009c] = 0x321c, [0x009d] = 0x2116, [0x009e] = 0x33c7, [0x009f] = 0x2122,
   [0x00a0] = 0x33c2, [0x00a1] = 0x33d8, [0x00a2] = 0x2121, [0x00a3] = 0x20ac,
-  [0x00a4] = 0x00ae, [0x00bc] = 0xff01, [0x00bd] = 0xff02, [0x00be] = 0xff03,
+  [0x00a4] = 0x00ae, [0x00a5] = 0x327e,
+                     [0x00bc] = 0xff01, [0x00bd] = 0xff02, [0x00be] = 0xff03,
   [0x00bf] = 0xff04, [0x00c0] = 0xff05, [0x00c1] = 0xff06, [0x00c2] = 0xff07,
   [0x00c3] = 0xff08, [0x00c4] = 0xff09, [0x00c5] = 0xff0a, [0x00c6] = 0xff0b,
   [0x00c7] = 0xff0c, [0x00c8] = 0xff0d, [0x00c9] = 0xff0e, [0x00ca] = 0xff0f,
@@ -917,6 +918,7 @@ const struct map __ksc5601_sym_from_ucs[KSC5601_SYMBOL] =
   {0x3273, "\x28\x44"}, {0x3274, "\x28\x45"}, {0x3275, "\x28\x46"},
   {0x3276, "\x28\x47"}, {0x3277, "\x28\x48"}, {0x3278, "\x28\x49"},
   {0x3279, "\x28\x4a"}, {0x327a, "\x28\x4b"}, {0x327b, "\x28\x4c"},
+  {0x327e, "\x22\x68"},
   {0x327f, "\x22\x5e"}, {0x3380, "\x27\x49"}, {0x3381, "\x27\x4a"},
   {0x3382, "\x27\x4b"}, {0x3383, "\x27\x4c"}, {0x3384, "\x27\x4d"},
   {0x3388, "\x27\x3a"}, {0x3389, "\x27\x3b"}, {0x338a, "\x27\x5c"},
index 603a337f891f14e8a12dac0a957f50cf522ea120..77f47ca834e39972ae64d84cc56e5cc6d5f0363f 100644 (file)
@@ -1,5 +1,5 @@
 /* Access functions for KS C 5601-1992 based encoding conversion.
-   Copyright (C) 1998, 1999, 2000, 2003 Free Software Foundation, Inc.
+   Copyright (C) 1998, 1999, 2000, 2003, 2007 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -22,7 +22,7 @@
 
 #define KSC5601_HANGUL 2350
 #define KSC5601_HANJA  4888
-#define KSC5601_SYMBOL  988
+#define KSC5601_SYMBOL  989
 
 #include <gconv.h>
 #include <stdint.h>
index 5d25b863eeaf96d99b4516a574cbebb150e89b79..1234346c8d81186efaa87106838a2b841028e657 100644 (file)
@@ -1,5 +1,5 @@
 /* Mapping tables for UHC handling.
-   Copyright (C) 1998, 1999, 2000-2002 Free Software Foundation, Inc.
+   Copyright (C) 1998, 1999, 2000-2002, 2007 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Jungshik Shin <jshin@pantheon.yale.edu>, 1998.
 
@@ -3135,7 +3135,8 @@ static const char uhc_hangul_from_ucs[11172][2] =
        else                                                                  \
          {                                                                   \
            ch = ksc5601_to_ucs4 (&inptr, 2, 0x80);                           \
-           if (__builtin_expect (ch == __UNKNOWN_10646_CHAR, 0))             \
+           if (__builtin_expect (ch == __UNKNOWN_10646_CHAR, 0)              \
+               || __builtin_expect (ch == 0x327e, 0))                        \
              {                                                               \
                /* Illegal.  */                                               \
                STANDARD_FROM_LOOP_ERR_HANDLER (2);                           \
@@ -3207,15 +3208,16 @@ static const char uhc_hangul_from_ucs[11172][2] =
       {                                                                              \
        size_t written = ucs4_to_ksc5601_sym (ch, outptr, outend - outptr);   \
                                                                              \
+       if (__builtin_expect (ch == 0x327e, 0)                                \
+           || __builtin_expect (written == __UNKNOWN_10646_CHAR, 0))         \
+         {                                                                   \
+           UNICODE_TAG_HANDLER (ch, 4);                                      \
+           STANDARD_TO_LOOP_ERR_HANDLER (4);                                 \
+         }                                                                   \
        if (__builtin_expect (written == 0, 0))                               \
          {                                                                   \
            result = __GCONV_FULL_OUTPUT;                                     \
            break;                                                            \
-         }                                                                   \
-       if (__builtin_expect (written == __UNKNOWN_10646_CHAR, 0))            \
-         {                                                                   \
-           UNICODE_TAG_HANDLER (ch, 4);                                      \
-           STANDARD_TO_LOOP_ERR_HANDLER (4);                                 \
          }                                                                   \
                                                                              \
        *outptr++ |= 0x80;                                                    \
index 459a74188a98fc9c5015d4067e9fc356e08ad93e..9f29138f2bd5fe4b3ab3245eda40cb27c047a9b1 100644 (file)
@@ -1,5 +1,9 @@
 2007-02-02  Bruno Haible  <bruno@clisp.org>
 
+       * charmaps/EUC-KR: Add mapping for 0xA2 0xE8.
+       * charmaps/JOHAB: Add mapping for 0xD9 0xE8.
+       Reported by Jungshik Shin <jungshik@google.com>.
+
        * charmaps/JOHAB: Add mappings for 0xD9 0xE6 and 0xD9 0xE7.
        Reported by Jungshik Shin <jungshik@google.com>.
 
index 9957c44d69dc98f19a3c43a6eb1ba691a70daec3..9c48668b7220a5ae7fc18c4bfb367bf2b11bc12d 100644 (file)
@@ -341,6 +341,7 @@ CHARMAP
 <U2121>     /xa2/xe5     TELEPHONE SIGN
 <U20AC>     /xa2/xe6     EURO SIGN
 <U00AE>     /xa2/xe7     REGISTERED SIGN
+<U327E>     /xa2/xe8     CIRCLED HANGUL IEUNG U
 <UFF01>     /xa3/xa1     FULLWIDTH EXCLAMATION MARK
 <UFF02>     /xa3/xa2     FULLWIDTH QUOTATION MARK
 <UFF03>     /xa3/xa3     FULLWIDTH NUMBER SIGN
index 5a638eebcfdd461aa2a24603da7b739a9f131411..b088b23042716efc9c5bde49325d789a0c6718e8 100644 (file)
@@ -11522,6 +11522,7 @@ CHARMAP
 <U2121>     /xd9/xe5     TELEPHONE SIGN
 <U20AC>     /xd9/xe6     EURO SIGN
 <U00AE>     /xd9/xe7     REGISTERED SIGN
+<U327E>     /xd9/xe8     CIRCLED HANGUL IEUNG U
 <UFF01>     /xda/x31     FULLWIDTH EXCLAMATION MARK
 <UFF02>     /xda/x32     FULLWIDTH QUOTATION MARK
 <UFF03>     /xda/x33     FULLWIDTH NUMBER SIGN