* iconvdata/euc-kr.c (euckr_from_ucs4): Handle U20a9.
	(BODY from direction): Map \x5c to U20a9.
	* iconvdata/testdata/EUC-KR..UTF8: Adjust to this change.
	* iconvdata/EUC-KR.irreversible: New file.
This commit is contained in:
Ulrich Drepper 2000-10-04 23:52:14 +00:00
parent 9ecb7b363d
commit 228cc8780f
6 changed files with 25 additions and 17 deletions

View File

@ -1,5 +1,10 @@
2000-10-04 Ulrich Drepper <drepper@redhat.com> 2000-10-04 Ulrich Drepper <drepper@redhat.com>
* iconvdata/euc-kr.c (euckr_from_ucs4): Handle U20a9.
(BODY from direction): Map \x5c to U20a9.
* iconvdata/testdata/EUC-KR..UTF8: Adjust to this change.
* iconvdata/EUC-KR.irreversible: New file.
* argp/argp-parse.c (argp_default_argp): Set libc as message domain. * argp/argp-parse.c (argp_default_argp): Set libc as message domain.
(argp_version_argp): Likewise. (argp_version_argp): Likewise.

View File

@ -0,0 +1 @@
0x5C 0x005C

View File

@ -29,7 +29,13 @@ euckr_from_ucs4 (uint32_t ch, unsigned char *cp)
{ {
if (ch > 0x9f) if (ch > 0x9f)
{ {
if (__builtin_expect (ucs4_to_ksc5601 (ch, cp, 2), 0) if (__builtin_expect (ch, 0) == 0x20a9)
{
/* Half-width Korean Currency WON sign. */
cp[0] = '\\';
cp[1] = '\0';
}
else if (__builtin_expect (ucs4_to_ksc5601 (ch, cp, 2), 0)
!= __UNKNOWN_10646_CHAR) != __UNKNOWN_10646_CHAR)
{ {
cp[0] |= 0x80; cp[0] |= 0x80;
@ -38,9 +44,10 @@ euckr_from_ucs4 (uint32_t ch, unsigned char *cp)
else else
cp[0] = '\0'; cp[0] = '\0';
} }
/* XXX Think about 0x5c ; '\'. */
else else
{ {
/* There is no mapping for U005c but we nevertheless map it to
\x5c. */
cp[0] = (unsigned char) ch; cp[0] = (unsigned char) ch;
cp[1] = '\0'; cp[1] = '\0';
} }
@ -67,17 +74,14 @@ euckr_from_ucs4 (uint32_t ch, unsigned char *cp)
{ \ { \
uint32_t ch = *inptr; \ uint32_t ch = *inptr; \
\ \
/* Half-width Korean Currency WON sign \
\
if (inchar == 0x5c) \
ch = 0x20a9; \
else if (inchar <= 0x7f) \
ch = (uint32_t) inchar; \
*/ \
\
if (ch <= 0x9f) \ if (ch <= 0x9f) \
/* Plain ASCII. */ \ { \
++inptr; \ /* Plain ASCII with one exception. */ \
if (ch == 0x5c) \
/* Half-width Korean Currency WON sign. */ \
ch = 0x20a9; \
++inptr; \
} \
/* 0xfe(->0x7e : row 94) and 0xc9(->0x59 : row 41) are \ /* 0xfe(->0x7e : row 94) and 0xc9(->0x59 : row 41) are \
user-defined areas. */ \ user-defined areas. */ \
else if (__builtin_expect (ch, 0xa1) == 0xa0 \ else if (__builtin_expect (ch, 0xa1) == 0xa0 \

View File

@ -1,7 +1,7 @@
! " # $ % & ' ( ) * + , - . / ! " # $ % & ' ( ) * + , - . /
0 1 2 3 4 5 6 7 8 9 : ; < = > ? 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
@ A B C D E F G H I J K L M N O @ A B C D E F G H I J K L M N O
P Q R S T U V W X Y Z [ \ ] ^ _ P Q R S T U V W X Y Z [ ] ^ _
` a b c d e f g h i j k l m n o ` a b c d e f g h i j k l m n o
p q r s t u v w x y z { | } ~ p q r s t u v w x y z { | } ~

View File

@ -100,7 +100,7 @@ CHARMAP
<U0059> /x59 LATIN CAPITAL LETTER Y <U0059> /x59 LATIN CAPITAL LETTER Y
<U005A> /x5a LATIN CAPITAL LETTER Z <U005A> /x5a LATIN CAPITAL LETTER Z
<U005B> /x5b LEFT SQUARE BRACKET <U005B> /x5b LEFT SQUARE BRACKET
<U005C> /x5c REVERSE SOLIDUS <U20A9> /x5c WON SIGN
<U005D> /x5d RIGHT SQUARE BRACKET <U005D> /x5d RIGHT SQUARE BRACKET
<U005E> /x5e CIRCUMFLEX ACCENT <U005E> /x5e CIRCUMFLEX ACCENT
<U005F> /x5f LOW LINE <U005F> /x5f LOW LINE

View File

@ -11120,9 +11120,7 @@ END LC_CTYPE
LC_MONETARY LC_MONETARY
int_curr_symbol "<U004B><U0052><U0057><U0020>" int_curr_symbol "<U004B><U0052><U0057><U0020>"
% Should be U20A9 but this is not in EUC-KR. Or is it? currency_symbol "<U20A9>"
% currency_symbol "<U20A9>"
currency_symbol "<UFFE6>"
mon_decimal_point "<U002E>" mon_decimal_point "<U002E>"
mon_thousands_sep "<U002C>" mon_thousands_sep "<U002C>"
mon_grouping 3;3 mon_grouping 3;3