Skip to content

Commit

Permalink
* iconvdata/Makefile (modules): Add ISO_11548-1.
Browse files Browse the repository at this point in the history
	(distribute): Add iso_11548-1.c.
	* iconvdata/gconv-modules: Add entries for ISO 11548-1.
	* iconvdata/TESTS: Add entry for ISO 11548-1.

	[BZ 1872]
	* iconvdata/iso_11548-1.c: New file.
	* iconvdata/testdata/ISO_11548-1: New file.
	* iconvdata/testdata/ISO_11548-1..UTF8: New file.
	Patch by Samuel Thibault <samuel.thibault@ens-lyon.org>.
  • Loading branch information
Ulrich Drepper committed Nov 16, 2005
1 parent ff27f3a commit a0e3432
Show file tree
Hide file tree
Showing 9 changed files with 371 additions and 2 deletions.
13 changes: 13 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,16 @@
2005-11-16 Ulrich Drepper <drepper@redhat.com>

* iconvdata/Makefile (modules): Add ISO_11548-1.
(distribute): Add iso_11548-1.c.
* iconvdata/gconv-modules: Add entries for ISO 11548-1.
* iconvdata/TESTS: Add entry for ISO 11548-1.

[BZ 1872]
* iconvdata/iso_11548-1.c: New file.
* iconvdata/testdata/ISO_11548-1: New file.
* iconvdata/testdata/ISO_11548-1..UTF8: New file.
Patch by Samuel Thibault <samuel.thibault@ens-lyon.org>.

2005-11-16 Kaz Kojima <kkojima@rr.iij4u.or.jp>

* sysdeps/sh/bits/setjmp.h (_JMPBUF_UNWINDS): Remove incorrect &.
Expand Down
4 changes: 2 additions & 2 deletions iconvdata/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ modules := ISO8859-1 ISO8859-2 ISO8859-3 ISO8859-4 ISO8859-5 \
IBM1142 IBM1143 IBM1144 IBM1145 IBM1146 IBM1147 IBM1148 \
IBM1149 IBM1166 IBM1167 IBM4517 IBM4899 IBM4909 IBM4971 \
IBM5347 IBM9030 IBM9066 IBM9448 IBM12712 IBM16804 \
IBM1364 IBM1371 IBM1388 IBM1390 IBM1399
IBM1364 IBM1371 IBM1388 IBM1390 IBM1399 ISO_11548-1

modules.so := $(addsuffix .so, $(modules))

Expand Down Expand Up @@ -195,7 +195,7 @@ distribute := gconv-modules extra-module.mk gap.awk gaptab.awk gconv.map \
ibm9030.c ibm9030.h ibm9066.c ibm9066.h ibm9448.c ibm9448.h \
ibm12712.c ibm12712.h ibm16804.c ibm16804.h \
ibm1364.c ibm1364.h ibm1371.c ibm1371.h ibm1388.c ibm1388.h \
ibm1390.c ibm1390.h ibm1399.c ibm1399.h
ibm1390.c ibm1390.h ibm1399.c ibm1399.h iso_11548-1.c

# We build the transformation modules only when we build shared libs.
ifeq (yes,$(build-shared))
Expand Down
1 change: 1 addition & 0 deletions iconvdata/TESTS
Original file line number Diff line number Diff line change
Expand Up @@ -164,3 +164,4 @@ IBM1371 IBM1371 N UTF8
IBM1388 IBM1388 N UTF8
IBM1390 IBM1390 N UTF8
IBM1399 IBM1399 N UTF8
ISO_11548-1 ISO_11548-1 - UTF8
6 changes: 6 additions & 0 deletions iconvdata/gconv-modules
Original file line number Diff line number Diff line change
Expand Up @@ -1897,3 +1897,9 @@ alias CP1399// IBM1399//
alias CSIBM1399// IBM1399//
module IBM1399// INTERNAL IBM1399 1
module INTERNAL IBM1399// IBM1399 1

# from to module cost
alias ISO/TR_11548-1/ ISO_11548-1//
alias ISO11548-1// ISO_11548-1//
module ISO_11548-1// INTERNAL ISO_11548-1 1
module INTERNAL ISO_11548-1// ISO_11548-1 1
73 changes: 73 additions & 0 deletions iconvdata/iso_11548-1.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
/* Conversion to and from ISO 11548-1.
Copyright (C) 1997-1999, 2000-2005 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997,
Samuel Thibault <samuel.thibault@ens-lyon.org>, 2005.
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, write to the Free
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */

#include <dlfcn.h>
#include <stdint.h>

/* Definitions used in the body of the `gconv' function. */
#define CHARSET_NAME "ISO_11548-1//"
#define FROM_LOOP from_iso11548_1
#define TO_LOOP to_iso11548_1
#define DEFINE_INIT 1
#define DEFINE_FINI 1
#define MIN_NEEDED_FROM 1
#define MIN_NEEDED_TO 4

#define BRAILLE_UCS_BASE 0x2800

/* First define the conversion function from ISO 11548-1 to UCS4. */
#define MIN_NEEDED_INPUT MIN_NEEDED_FROM
#define MIN_NEEDED_OUTPUT MIN_NEEDED_TO
#define LOOPFCT FROM_LOOP
#define BODY \
*((uint32_t *) outptr) = BRAILLE_UCS_BASE | (*inptr++); \
outptr += sizeof (uint32_t);
#define ONEBYTE_BODY \
{ \
return BRAILLE_UCS_BASE | c; \
}
#include <iconv/loop.c>


/* Next, define the other direction. */
#define MIN_NEEDED_INPUT MIN_NEEDED_TO
#define MIN_NEEDED_OUTPUT MIN_NEEDED_FROM
#define LOOPFCT TO_LOOP
#define BODY \
{ \
uint32_t ch = *((const uint32_t *) inptr); \
if (__builtin_expect ((ch & 0xffffff00u) != BRAILLE_UCS_BASE, 0)) \
{ \
UNICODE_TAG_HANDLER (ch, 4); \
\
/* We have an illegal character. */ \
STANDARD_TO_LOOP_ERR_HANDLER (4); \
} \
else \
*outptr++ = (unsigned char) (ch & 0xff); \
inptr += 4; \
}
#define LOOP_NEED_FLAGS
#include <iconv/loop.c>


/* Now define the toplevel functions. */
#include <iconv/skeleton.c>
Binary file added iconvdata/testdata/ISO_11548-1
Binary file not shown.
1 change: 1 addition & 0 deletions iconvdata/testdata/ISO_11548-1..UTF8
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
⠀⠁⠂⠃⠄⠅⠆⠇⠈⠉⠊⠋⠌⠍⠎⠏⠐⠑⠒⠓⠔⠕⠖⠗⠘⠙⠚⠛⠜⠝⠞⠟⠠⠡⠢⠣⠤⠥⠦⠧⠨⠩⠪⠫⠬⠭⠮⠯⠰⠱⠲⠳⠴⠵⠶⠷⠸⠹⠺⠻⠼⠽⠾⠿⡀⡁⡂⡃⡄⡅⡆⡇⡈⡉⡊⡋⡌⡍⡎⡏⡐⡑⡒⡓⡔⡕⡖⡗⡘⡙⡚⡛⡜⡝⡞⡟⡠⡡⡢⡣⡤⡥⡦⡧⡨⡩⡪⡫⡬⡭⡮⡯⡰⡱⡲⡳⡴⡵⡶⡷⡸⡹⡺⡻⡼⡽⡾⡿⢀⢁⢂⢃⢄⢅⢆⢇⢈⢉⢊⢋⢌⢍⢎⢏⢐⢑⢒⢓⢔⢕⢖⢗⢘⢙⢚⢛⢜⢝⢞⢟⢠⢡⢢⢣⢤⢥⢦⢧⢨⢩⢪⢫⢬⢭⢮⢯⢰⢱⢲⢳⢴⢵⢶⢷⢸⢹⢺⢻⢼⢽⢾⢿⣀⣁⣂⣃⣄⣅⣆⣇⣈⣉⣊⣋⣌⣍⣎⣏⣐⣑⣒⣓⣔⣕⣖⣗⣘⣙⣚⣛⣜⣝⣞⣟⣠⣡⣢⣣⣤⣥⣦⣧⣨⣩⣪⣫⣬⣭⣮⣯⣰⣱⣲⣳⣴⣵⣶⣷⣸⣹⣺⣻⣼⣽⣾⣿
6 changes: 6 additions & 0 deletions localedata/ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
2005-11-16 Ulrich Drepper <drepper@redhat.com>

[BZ 1872]
* localedata/charmaps/ISO_11548-1. New file.
Patch by Samuel Thibault <samuel.thibault@ens-lyon.org>.

2005-11-11 Ulrich Drepper <drepper@redhat.com>

[BZ #1294]
Expand Down
Loading

0 comments on commit a0e3432

Please sign in to comment.