* 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]
This commit is contained in:
Ulrich Drepper 2007-02-16 01:25:28 +00:00
parent 3dc08a7eec
commit 06c17c788b
8 changed files with 34 additions and 13 deletions

View File

@ -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>.

View 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); \

View 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"},

View 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>

View 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; \

View 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>.

View 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

View 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