[BZ #395]
* iconvdata/jis0208.c (__jisx0208_from_ucs4_lat1): Reduce size of array. * iconvdata/jis0208.h (ucs4_to_jisx0208): Adjust access. 2004-08-13 GOTO Masanori <gotom@debian.or.jp> [BZ #395] * iconvdata/jis0208.c: Remove 0x005C mapping from __jisx0208_from_ucs4_lat1. Reported by Fumitoshi UKAI <ukai@debian.or.jp> 2005-09-23 Ulrich Drepper <drepper@redhat.com>
This commit is contained in:
parent
32053042d4
commit
294bda1b5a
13
ChangeLog
13
ChangeLog
@ -1,3 +1,16 @@
|
||||
2005-09-23 Ulrich Drepper <drepper@redhat.com>
|
||||
|
||||
* iconvdata/jis0208.c (__jisx0208_from_ucs4_lat1): Reduce size of
|
||||
array.
|
||||
* iconvdata/jis0208.h (ucs4_to_jisx0208): Adjust access.
|
||||
|
||||
2004-08-13 GOTO Masanori <gotom@debian.or.jp>
|
||||
|
||||
[BZ #395]
|
||||
* iconvdata/jis0208.c: Remove 0x005C mapping from
|
||||
__jisx0208_from_ucs4_lat1.
|
||||
Reported by Fumitoshi UKAI <ukai@debian.or.jp>
|
||||
|
||||
2005-09-23 Ulrich Drepper <drepper@redhat.com>
|
||||
|
||||
[BZ #394]
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Mapping tables for JIS0208 handling.
|
||||
Copyright (C) 1997, 1998, 2002 Free Software Foundation, Inc.
|
||||
Copyright (C) 1997, 1998, 2002, 2004 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
|
||||
|
||||
@ -1783,12 +1783,20 @@ const uint16_t __jis0208_to_ucs[0x1e80] =
|
||||
};
|
||||
|
||||
|
||||
const char __jisx0208_from_ucs4_lat1[256][2] =
|
||||
const char __jisx0208_from_ucs4_lat1[JIS0208_LAT1_MAX + 1
|
||||
- JIS0208_LAT1_MIN][2] =
|
||||
{
|
||||
[0x005C] = "\x21\x40", [0x00A2] = "\x21\x71", [0x00A3] = "\x21\x72",
|
||||
[0x00A7] = "\x21\x78", [0x00A8] = "\x21\x2f", [0x00AC] = "\x22\x4c",
|
||||
[0x00B0] = "\x21\x6B", [0x00B1] = "\x21\x5e", [0x00B4] = "\x21\x2d",
|
||||
[0x00B6] = "\x22\x79", [0x00D7] = "\x21\x5f", [0x00F7] = "\x21\x60"
|
||||
[0x00A2 - JIS0208_LAT1_MIN] = "\x21\x71",
|
||||
[0x00A3 - JIS0208_LAT1_MIN] = "\x21\x72",
|
||||
[0x00A7 - JIS0208_LAT1_MIN] = "\x21\x78",
|
||||
[0x00A8 - JIS0208_LAT1_MIN] = "\x21\x2f",
|
||||
[0x00AC - JIS0208_LAT1_MIN] = "\x22\x4c",
|
||||
[0x00B0 - JIS0208_LAT1_MIN] = "\x21\x6B",
|
||||
[0x00B1 - JIS0208_LAT1_MIN] = "\x21\x5e",
|
||||
[0x00B4 - JIS0208_LAT1_MIN] = "\x21\x2d",
|
||||
[0x00B6 - JIS0208_LAT1_MIN] = "\x22\x79",
|
||||
[0x00D7 - JIS0208_LAT1_MIN] = "\x21\x5f",
|
||||
[0x00F7 - JIS0208_LAT1_MIN] = "\x21\x60"
|
||||
};
|
||||
|
||||
|
||||
|
@ -36,7 +36,10 @@ struct jisx0208_ucs_idx
|
||||
/* Conversion table. */
|
||||
extern const uint16_t __jis0208_to_ucs[];
|
||||
|
||||
extern const char __jisx0208_from_ucs4_lat1[256][2];
|
||||
#define JIS0208_LAT1_MIN 0xa2
|
||||
#define JIS0208_LAT1_MAX 0xf7
|
||||
extern const char __jisx0208_from_ucs4_lat1[JIS0208_LAT1_MAX + 1
|
||||
- JIS0208_LAT1_MIN][2];
|
||||
extern const char __jisx0208_from_ucs4_greek[0xc1][2];
|
||||
extern const struct jisx0208_ucs_idx __jisx0208_from_ucs_idx[];
|
||||
extern const char __jisx0208_from_ucs_tab[][2];
|
||||
@ -80,8 +83,8 @@ ucs4_to_jisx0208 (uint32_t wch, char *s, size_t avail)
|
||||
if (avail < 2)
|
||||
return 0;
|
||||
|
||||
if (ch < 0x100)
|
||||
cp = __jisx0208_from_ucs4_lat1[ch];
|
||||
if (ch >= JIS0208_LAT1_MIN && ch <= JIS0208_LAT1_MAX)
|
||||
cp = __jisx0208_from_ucs4_lat1[ch - JIS0208_LAT1_MIN];
|
||||
else if (ch >= 0x391 && ch <= 0x451)
|
||||
cp = __jisx0208_from_ucs4_greek[ch - 0x391];
|
||||
else
|
||||
|
Loading…
Reference in New Issue
Block a user