aboutsummaryrefslogtreecommitdiff
path: root/iconvdata
diff options
context:
space:
mode:
authorMike FABIAN <mfabian@redhat.com>2017-09-07 15:28:28 +0200
committerMike FABIAN <mfabian@redhat.com>2017-09-14 15:50:57 +0200
commit799c8d6905433ad56f26ccab4855b36f1d1ddbfc (patch)
treea5443b4b7f6255c9b71e9bfb2a0d41b9904b9c68 /iconvdata
parentfcc82c06dc77bee380c3232827827e995064da4c (diff)
downloadglibc-799c8d6905433ad56f26ccab4855b36f1d1ddbfc.tar
glibc-799c8d6905433ad56f26ccab4855b36f1d1ddbfc.tar.gz
glibc-799c8d6905433ad56f26ccab4855b36f1d1ddbfc.tar.bz2
glibc-799c8d6905433ad56f26ccab4855b36f1d1ddbfc.zip
Add new codepage charmaps/IBM858 [BZ #21084]
This code page is identical to code page 850 except that X'D5' has been changed from LI61 (dotless i) to SC20 (euro symbol). The code points from /x01 to /x1f in the /localedata/charmaps/IBM858 file have the same mapping as those in localedata/charmaps/ANSI_X3.4-1968. That means they disagree with with ftp://ftp.software.ibm.com/software/globalization/gcoc/attachments/CP00858.txt in that range. For example, localedata/charmaps/IBM858 and localedata/charmaps/ANSI_X3.4-1968 have: “<U0001> /x01 START OF HEADING (SOH)” whereas CP00858.txt has: “01 SS000000 Smiling Face” That means that CP00858.txt is not really ASCII-compatible and to make it ASCII-compatible we deviate fro CP00858.txt in the code points from /x01 to /x1f. [BZ #21084] * benchtests/strcoll-inputs/filelist#en_US.UTF-8: Add IBM858 and ibm858.c. * iconvdata/Makefile: Add IBM858. * iconvdata/gconv-modules: Add IBM858. * iconvdata/ibm858.c: New file. * iconvdata/tst-tables.sh: Add IBM858 * localedata/charmaps/IBM858: New file.
Diffstat (limited to 'iconvdata')
-rw-r--r--iconvdata/Makefile16
-rw-r--r--iconvdata/gconv-modules7
-rw-r--r--iconvdata/ibm858.c27
-rwxr-xr-xiconvdata/tst-tables.sh1
4 files changed, 43 insertions, 8 deletions
diff --git a/iconvdata/Makefile b/iconvdata/Makefile
index a0e297e4de..504d195265 100644
--- a/iconvdata/Makefile
+++ b/iconvdata/Makefile
@@ -36,9 +36,9 @@ modules := ISO8859-1 ISO8859-2 ISO8859-3 ISO8859-4 ISO8859-5 \
IBM874 CP737 CP775 ISO-2022-KR HP-TURKISH8 HP-THAI8 HP-GREEK8 \
KOI8-R LATIN-GREEK LATIN-GREEK-1 IBM256 IBM273 IBM277 IBM278 \
IBM280 IBM281 IBM284 IBM285 IBM290 IBM297 IBM420 IBM424 \
- IBM437 IBM850 IBM851 IBM852 IBM855 IBM857 IBM860 IBM861 \
- IBM862 IBM863 IBM864 IBM865 IBM868 IBM869 IBM875 IBM880 \
- IBM866 CP1258 IBM922 IBM1124 IBM1129 IBM932 IBM943 \
+ IBM437 IBM850 IBM851 IBM852 IBM855 IBM857 IBM858 IBM860 \
+ IBM861 IBM862 IBM863 IBM864 IBM865 IBM868 IBM869 IBM875 \
+ IBM880 IBM866 CP1258 IBM922 IBM1124 IBM1129 IBM932 IBM943 \
IBM856 IBM930 IBM933 IBM935 IBM937 IBM939 IBM1046 \
IBM1132 IBM1133 IBM1160 IBM1161 IBM1162 IBM1163 IBM1164 \
IBM918 IBM1004 IBM1026 CP1125 CP1250 CP1251 CP1252 CP1253 \
@@ -153,11 +153,11 @@ gen-8bit-modules := iso8859-2 iso8859-3 iso8859-4 iso8859-6 iso8859-9 koi-8 \
gen-8bit-gap-modules := koi8-r latin-greek latin-greek-1 ibm256 ibm273 \
ibm277 ibm278 ibm280 ibm281 ibm284 ibm285 ibm290 \
ibm297 ibm420 ibm424 ibm437 ibm850 ibm851 ibm852 \
- ibm855 ibm857 ibm860 ibm861 ibm862 ibm863 ibm864 \
- ibm865 ibm868 ibm869 ibm875 ibm880 ibm918 ibm1004 \
- ibm1026 cp1125 cp1250 cp1251 cp1252 cp1253 cp1254 \
- cp1256 cp1257 ibm866 iso8859-5 iso8859-7 iso8859-8 \
- iso8859-10 macintosh iec_p27-1 asmo_449 \
+ ibm855 ibm857 ibm858 ibm860 ibm861 ibm862 ibm863 \
+ ibm864 ibm865 ibm868 ibm869 ibm875 ibm880 ibm918 \
+ ibm1004 ibm1026 cp1125 cp1250 cp1251 cp1252 cp1253 \
+ cp1254 cp1256 cp1257 ibm866 iso8859-5 iso8859-7 \
+ iso8859-8 iso8859-10 macintosh iec_p27-1 asmo_449 \
csn_369103 cwi dec-mcs ecma-cyrillic gost_19768-74 \
greek-ccitt greek7 greek7-old inis inis-8 \
inis-cyrillic iso_2033 iso_5427 iso_5427-ext \
diff --git a/iconvdata/gconv-modules b/iconvdata/gconv-modules
index 19bec0cd0a..1c48bc3e45 100644
--- a/iconvdata/gconv-modules
+++ b/iconvdata/gconv-modules
@@ -744,6 +744,13 @@ module IBM850// INTERNAL IBM850 1
module INTERNAL IBM850// IBM850 1
# from to module cost
+alias CP858// IBM858//
+alias 858// IBM858//
+alias CSPC858MULTILINGUAL// IBM858//
+module IBM858// INTERNAL IBM858 1
+module INTERNAL IBM858// IBM858 1
+
+# from to module cost
alias CP851// IBM851//
alias 851// IBM851//
alias CSIBM851// IBM851//
diff --git a/iconvdata/ibm858.c b/iconvdata/ibm858.c
new file mode 100644
index 0000000000..ed2a48e3cf
--- /dev/null
+++ b/iconvdata/ibm858.c
@@ -0,0 +1,27 @@
+/* Conversion from and to IBM858.
+ Copyright (C) 2017 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
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
+
+#include <stdint.h>
+
+/* Get the conversion table. */
+#define TABLES <ibm858.h>
+
+#define CHARSET_NAME "IBM858//"
+#define HAS_HOLES 1 /* Not all 256 character are defined. */
+
+#include <8bit-gap.c>
diff --git a/iconvdata/tst-tables.sh b/iconvdata/tst-tables.sh
index a027f5df5b..77338f0514 100755
--- a/iconvdata/tst-tables.sh
+++ b/iconvdata/tst-tables.sh
@@ -125,6 +125,7 @@ cat <<EOF |
IBM855
IBM856
IBM857
+ IBM858
IBM860
IBM861
IBM862