summary refs log tree commit diff
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.gz
glibc-799c8d6905433ad56f26ccab4855b36f1d1ddbfc.tar.xz
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