about summary refs log tree commit diff
path: root/iconvdata/ibm858.c
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/ibm858.c
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/ibm858.c')
-rw-r--r--iconvdata/ibm858.c27
1 files changed, 27 insertions, 0 deletions
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>