Increase library version libiconv-gedcom-1.14
authorRafał Długołęcki <rafal@dlugolecki.net.pl>
Wed, 13 Jul 2016 23:52:36 +0000 (01:52 +0200)
committerRafał Długołęcki <rafal@dlugolecki.net.pl>
Wed, 13 Jul 2016 23:52:36 +0000 (01:52 +0200)
Synchonize patches with libiconv-1.14
Use quilt for applying patches

24 files changed:
debian/control
iconv/libiconv/ChangeLog.gedcom
iconv/libiconv/Makefile.am
iconv/libiconv/Makefile.in.patch [deleted file]
iconv/libiconv/NEWS.gedcom
iconv/libiconv/README.patch [deleted file]
iconv/libiconv/config.charset.patch [deleted file]
iconv/libiconv/configure.in.patch [deleted file]
iconv/libiconv/configure.patch [deleted file]
iconv/libiconv/get_patches [deleted file]
iconv/libiconv/iconv_open.3.html.patch [deleted file]
iconv/libiconv/patch_dist
iconv/libiconv/patches/Makefile.in.patch [new file with mode: 0644]
iconv/libiconv/patches/README.patch [new file with mode: 0644]
iconv/libiconv/patches/ansi_z39_47.patch [new file with mode: 0644]
iconv/libiconv/patches/config.charset.patch [new file with mode: 0644]
iconv/libiconv/patches/configure.ac.patch [new file with mode: 0644]
iconv/libiconv/patches/configure.patch [new file with mode: 0644]
iconv/libiconv/patches/converters.h.patch [moved from iconv/libiconv/converters.h.patch with 61% similarity]
iconv/libiconv/patches/encodings.def.patch [moved from iconv/libiconv/encodings.def.patch with 77% similarity]
iconv/libiconv/patches/iconv_open.3.html.patch [new file with mode: 0644]
iconv/libiconv/patches/iconv_open.3.patch [moved from iconv/libiconv/iconv_open.3.patch with 63% similarity]
iconv/libiconv/patches/series [new file with mode: 0644]
iconv/libiconv/quiltrc [new file with mode: 0644]

index df21513048a7352e02f0769eb3b40ff8d5ab5547..fe79894af667a86b925c88b384485f41f8ed12be 100644 (file)
@@ -3,7 +3,7 @@ Section: devel
 Priority: optional
 Maintainer: Geert Vantienen <Geert.Vantienen@advalvas.be>
 Standards-Version: 3.9.5
-Build-Depends: bison, debhelper (>= 9.0.0), autotools-dev, dh-autoreconf, glibc
+Build-Depends: bison, debhelper (>= 9.0.0), autotools-dev, dh-autoreconf, libc6-dev
 
 Package: libgedcom-dev
 Architecture: any
index fa293dd93cfac7a87484a421c14b1eadce467765..095cc0c2547ec607c93a2bde93ca3e13c8fb83be 100644 (file)
@@ -1,3 +1,7 @@
+2016-07-14  Rafał Długołęcki <rafal@dlugolecki.net.pl>
+
+       * Synchronized patches with libiconv-1.14
+
 2002-10-27  Peter Verthez  <Peter.Verthez@advalvas.be>
 
        * libcharset/lib/config.charset: Add darwin (same as freebsd).
index 8e4774f30a95cb3356d0621a55373209d73f3a9d..fba4ce5fb51a67019788e4178a2457e8aa5266c7 100644 (file)
@@ -1,11 +1,11 @@
-## Process this file with automake to produce Makefile.in
+       ## Process this file with automake to produce Makefile.in
 # $Id$
 # $Name$
 
-PATCH_FILES := $(wildcard $(srcdir)/*.patch)
+PATCH_FILES := $(wildcard $(srcdir)/patches/*.patch) $(srcdir)/patches/series $(srcdir)/quiltrc
 SRC_FILES   := ansi_z39_47.h
 
-EXTRA_DIST = ChangeLog.gedcom NEWS.gedcom get_patches patch_dist \
+EXTRA_DIST = ChangeLog.gedcom NEWS.gedcom patch_dist \
             $(SRC_FILES) $(PATCH_FILES)
 
 all:
diff --git a/iconv/libiconv/Makefile.in.patch b/iconv/libiconv/Makefile.in.patch
deleted file mode 100644 (file)
index bf0eb60..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---- Makefile.in.orig   Thu May 23 13:48:42 2002
-+++ Makefile.in        Sat Oct  5 09:41:32 2002
-@@ -39,7 +39,7 @@
- # Before making a release, change this according to the libtool documentation,
- # section "Library interface versions".
--LIBICONV_VERSION_INFO = 3:0:1
-+LIBICONV_VERSION_INFO = 3:2:1
- # Needed by $(LIBTOOL).
- top_builddir = ..
index 1dba37519c6d9c3138a675fa58f751a0f778ef2e..918ac80e69c219787789dbc00a616db57fd3ea07 100644 (file)
@@ -1,3 +1,6 @@
+New in 1.14:
+* Synchronized patches with libiconv-1.14
+
 New in 1.8.2:
 * Added charset aliases for darwin.
 
diff --git a/iconv/libiconv/README.patch b/iconv/libiconv/README.patch
deleted file mode 100644 (file)
index bebd6fe..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
---- README.orig        Wed May 29 16:06:52 2002
-+++ README     Fri Oct  4 20:36:35 2002
-@@ -12,6 +12,7 @@
-         Mac{Roman,CentralEurope,Iceland,Croatian,Romania},
-         Mac{Cyrillic,Ukraine,Greek,Turkish},
-         Macintosh
-+      ANSEL
-     Semitic languages
-         ISO-8859-{6,8}, CP{1255,1256}, CP862, Mac{Hebrew,Arabic}
-     Japanese
-@@ -132,15 +133,22 @@
-     recompiled. Just set the LD_PRELOAD environment variable, that's it!
--Distribution:
-+Distribution of original package (libiconv):
-     ftp://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.8.tar.gz
-     ftp://ftp.ilog.fr/pub/Users/haible/gnu/libiconv-1.8.tar.gz
--Homepage:
-+Homepage of original package (libiconv):
-     http://www.gnu.org/software/libiconv/
-+Distribution of modified package (libiconv-gedcom):
-+    http://sourceforge.net/projects/gedcom-parse
-+
- Bug reports to:
-     <bug-gnu-libiconv@gnu.org>
-+    For specific ANSEL bugs, please use the web interface at SourceForge
-+    (link given above)
- Bruno Haible <brunoe@clisp.org>
-+
-+Modifications: Peter Verthez <peter.verthez@advalvas.be>
diff --git a/iconv/libiconv/config.charset.patch b/iconv/libiconv/config.charset.patch
deleted file mode 100644 (file)
index 89c76a8..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
---- config.charset.orig        Mon May 13 11:58:22 2002
-+++ config.charset     Sun Oct 27 14:55:03 2002
-@@ -245,12 +245,13 @@
-       #echo "sun_eu_greek ?" # what is this?
-       echo "UTF-8 UTF-8"
-       ;;
--    freebsd* | os2*)
-+    freebsd* | os2* | darwin*)
-       # FreeBSD 4.2 doesn't have nl_langinfo(CODESET); therefore
-       # localcharset.c falls back to using the full locale name
-       # from the environment variables.
-       # Likewise for OS/2. OS/2 has XFree86 just like FreeBSD. Just
-       # reuse FreeBSD's locale data for OS/2.
-+      # Likewise for darwin (MacOS X), which is derived from FreeBSD.
-       echo "C ASCII"
-       echo "US-ASCII ASCII"
-       for l in la_LN lt_LN; do
diff --git a/iconv/libiconv/configure.in.patch b/iconv/libiconv/configure.in.patch
deleted file mode 100644 (file)
index 9b7c6d9..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---- configure.in.orig  Fri May 24 21:22:41 2002
-+++ configure.in       Sat Oct  5 09:41:32 2002
-@@ -18,7 +18,7 @@
- AC_PREREQ(2.52)
--AC_INIT(libiconv,1.8)
-+AC_INIT(libiconv-gedcom,1.8.2)
- PACKAGE=$PACKAGE_NAME
- VERSION=$PACKAGE_VERSION
diff --git a/iconv/libiconv/configure.patch b/iconv/libiconv/configure.patch
deleted file mode 100644 (file)
index 7a0b5e8..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
---- configure.orig     Fri May 24 21:23:09 2002
-+++ configure  Sat Oct  5 09:41:32 2002
-@@ -302,10 +302,10 @@
- mandir='${prefix}/man'
- # Identity of this package.
--PACKAGE_NAME='libiconv'
--PACKAGE_TARNAME='libiconv'
--PACKAGE_VERSION='1.8'
--PACKAGE_STRING='libiconv 1.8'
-+PACKAGE_NAME='libiconv-gedcom'
-+PACKAGE_TARNAME='libiconv-gedcom'
-+PACKAGE_VERSION='1.8.2'
-+PACKAGE_STRING='libiconv-gedcom 1.8.2'
- PACKAGE_BUGREPORT=''
- ac_prev=
diff --git a/iconv/libiconv/get_patches b/iconv/libiconv/get_patches
deleted file mode 100755 (executable)
index 93c8467..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-#!/bin/sh
-
-tarfile=`ls libiconv-*.tar.gz`
-topdir=`pwd`
-libiconvdir=`basename $tarfile .tar.gz`
-libiconvdir="$topdir/$libiconvdir"
-
-#############################################################################
-echo "Getting patches in top directory..."
-cd $libiconvdir
-for file in configure.in configure README
-do
-  echo "  $file"
-  diff -u $file.orig $file > $topdir/$file.patch
-done
-
-#############################################################################
-echo "Getting patches in lib subdirectory..."
-cd $libiconvdir/lib
-for file in encodings.def converters.h Makefile.in
-do
-  echo "  $file"
-  diff -u $file.orig $file > $topdir/$file.patch
-done
-
-#############################################################################
-echo "Getting patches in man subdirectory..."
-cd $libiconvdir/man
-for file in iconv_open.3 iconv_open.3.html
-do
-  echo "  $file"
-  diff -u $file.orig $file > $topdir/$file.patch
-done
-
-#############################################################################
-echo "Getting patches in libcharset/lib subdirectory..."
-cd $libiconvdir/libcharset/lib
-for file in config.charset
-do
-  echo "  $file"
-  diff -u $file.orig $file > $topdir/$file.patch
-done
diff --git a/iconv/libiconv/iconv_open.3.html.patch b/iconv/libiconv/iconv_open.3.html.patch
deleted file mode 100644 (file)
index fe79f80..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
---- iconv_open.3.html.orig     Wed May 29 16:17:03 2002
-+++ iconv_open.3.html  Fri Oct  4 20:36:35 2002
-@@ -71,7 +71,8 @@
- KOI8-U, KOI8-RU, CP{1250,1251,1252,1253,1254,1257},
- CP{850,866},
- Mac{Roman,CentralEurope,Iceland,Croatian,Romania},
--Mac{Cyrillic,Ukraine,Greek,Turkish}, Macintosh</td></table>
-+Mac{Cyrillic,Ukraine,Greek,Turkish}, Macintosh,
-+ANSEL</td></table>
- <table width="100%" border=0 rules="none" frame="void"
-        cols="2" cellspacing="0" cellpadding="0">
index 2f4d1fd3241b73b6b54a1a0c4cfb490ddbf9219b..1f35f7d21ad1b44912659a275fdbaac943ddfdaf 100755 (executable)
@@ -1,6 +1,6 @@
 #!/bin/sh
 
-expected_version=1.8
+expected_version=1.14
 tarfile="libiconv-$expected_version.tar.gz"
 topdir=`pwd`
 libiconvdir=`basename $tarfile .tar.gz`
@@ -26,6 +26,11 @@ echo "Unpacking tar file..."
 if [ -d $libiconvdir ]
 then
   rm -rf $libiconvdir
+
+  if [ -d $topdir/.pc ]
+  then
+    rm -rf $topdir/.pc
+  fi
 fi
 
 tar xvfz $tarfile > /dev/null
@@ -37,46 +42,9 @@ cp $topdir/ChangeLog.gedcom .
 cp $topdir/NEWS.gedcom .
 
 #############################################################################
-echo "Creating header file..."
-cd $libiconvdir/lib
-ln -s $topdir/ansi_z39_47.h .
-ln -s $topdir/../ANSI_Z39.47-tables.h .
-
-#############################################################################
-echo "Patching files in top directory..."
-cd $libiconvdir
-for file in configure.in configure README
-do
-  echo "  $file"
-  patch -s -b -p0 < $topdir/$file.patch
-done
-
-#############################################################################
-echo "Patching files in lib subdirectory..."
-cd $libiconvdir/lib
-for file in encodings.def converters.h Makefile.in
-do
-  echo "  $file"
-  patch -s -b -p0 < $topdir/$file.patch
-done
-
-#############################################################################
-echo "Patching files in man subdirectory..."
-cd $libiconvdir/man
-for file in iconv_open.3 iconv_open.3.html
-do
-  echo "  $file"
-  patch -s -b -p0 < $topdir/$file.patch
-done
-
-#############################################################################
-echo "Patching files in libcharset/lib subdirectory..."
-cd $libiconvdir/libcharset/lib
-for file in config.charset
-do
-  echo "  $file"
-  patch -s -b -p0 < $topdir/$file.patch
-done
+echo "Applying patches..."
+cd $topdir
+quilt --quiltrc=quiltrc push -a
 
 #############################################################################
 echo "Generating flags..."
diff --git a/iconv/libiconv/patches/Makefile.in.patch b/iconv/libiconv/patches/Makefile.in.patch
new file mode 100644 (file)
index 0000000..ca824bd
--- /dev/null
@@ -0,0 +1,11 @@
+--- a/libiconv-1.14/lib/Makefile.in
++++ b/libiconv-1.14/lib/Makefile.in
+@@ -50,7 +50,7 @@
+ # Before making a release, change this according to the libtool documentation,
+ # section "Library interface versions".
+-LIBICONV_VERSION_INFO = 7:1:5
++LIBICONV_VERSION_INFO = 7:2:5
+ PACKAGE_VERSION = @VERSION@
diff --git a/iconv/libiconv/patches/README.patch b/iconv/libiconv/patches/README.patch
new file mode 100644 (file)
index 0000000..d320836
--- /dev/null
@@ -0,0 +1,44 @@
+--- a/libiconv-1.14/README
++++ b/libiconv-1.14/README
+@@ -12,6 +12,7 @@
+         Mac{Roman,CentralEurope,Iceland,Croatian,Romania},
+         Mac{Cyrillic,Ukraine,Greek,Turkish},
+         Macintosh
++        ANSEL
+     Semitic languages
+         ISO-8859-{6,8}, CP{1255,1256}, CP862, Mac{Hebrew,Arabic}
+     Japanese
+@@ -152,20 +153,29 @@
+ The iconv _program_ and the documentation are under GPL, see file COPYING.
+-Download
+---------
++Download of original package (libiconv)
++---------------------------------------
+     http://ftp.gnu.org/gnu/libiconv/libiconv-1.14.tar.gz
+-Homepage
+---------
++Homepage of original package (libiconv)
++---------------------------------------
+     http://www.gnu.org/software/libiconv/
++Homepage of modified package (libiconv-gedcom)
++----------------------------------------------
++
++    http://sourceforge.net/projects/gedcom-parse
++
+ Bug reports to
+ --------------
+     <bug-gnu-libiconv@gnu.org>
++    For specific ANSEL bugs, please use the web interface at SourceForge
++    (link given above)
+ Bruno Haible <bruno@clisp.org>
++
++Modifications: Peter Verthez <peter.verthez@advalvas.be>
diff --git a/iconv/libiconv/patches/ansi_z39_47.patch b/iconv/libiconv/patches/ansi_z39_47.patch
new file mode 100644 (file)
index 0000000..65e795e
--- /dev/null
@@ -0,0 +1,713 @@
+--- /dev/null
++++ b/libiconv-1.14/lib/ansi_z39_47.h
+@@ -0,0 +1,198 @@
++/*
++ * Copyright (C) 1999-2002 Free Software Foundation, Inc.
++ * This file is part of the GNU LIBICONV Library.
++ *
++ * The GNU LIBICONV Library is free software; you can redistribute it
++ * and/or modify it under the terms of the GNU Library General Public
++ * License as published by the Free Software Foundation; either version 2
++ * of the License, or (at your option) any later version.
++ *
++ * The GNU LIBICONV 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
++ * Library General Public License for more details.
++ *
++ * You should have received a copy of the GNU Library General Public
++ * License along with the GNU LIBICONV Library; see the file COPYING.LIB.
++ * If not, write to the Free Software Foundation, Inc., 59 Temple Place -
++ * Suite 330, Boston, MA 02111-1307, USA.
++ */
++
++/*
++ * ANSI_Z39.47
++ */
++
++#include "ANSI_Z39.47-tables.h"
++
++/* Omit first half of table: assume identity mapping (ASCII) */
++static const unsigned short ansi_z39_47_2uni[128] = TABLE_TO_UCS4_BASIC;
++
++/* The outer array range runs from 0xe0 to 0xfe, the inner range from 0x20
++   to 0x7f.  */
++static const unsigned short ansi_z39_47_2uni_comb[31][96] =
++{
++  /* 0xe0 (hook above) */                           TABLE_TO_UCS4_COMBINING_E0,
++  /* 0xe1 (grave) */                                TABLE_TO_UCS4_COMBINING_E1,
++  /* 0xe2 (acute) */                                TABLE_TO_UCS4_COMBINING_E2,
++  /* 0xe3 (circumflex) */                           TABLE_TO_UCS4_COMBINING_E3,
++  /* 0xe4 (tilde) */                                TABLE_TO_UCS4_COMBINING_E4,
++  /* 0xe5 (macron) */                               TABLE_TO_UCS4_COMBINING_E5,
++  /* 0xe6 (breve) */                                TABLE_TO_UCS4_COMBINING_E6,
++  /* 0xe7 (dot above) */                            TABLE_TO_UCS4_COMBINING_E7,
++  /* 0xe8 (umlaut, diaeresis) */                    TABLE_TO_UCS4_COMBINING_E8,
++  /* 0xe9 (caron, hacek) */                         TABLE_TO_UCS4_COMBINING_E9,
++  /* 0xea (ring above) */                           TABLE_TO_UCS4_COMBINING_EA,
++  /* 0xeb (ligature, left half) */                  TABLE_TO_UCS4_COMBINING_EB,
++  /* 0xec (ligature, right half) */                 TABLE_TO_UCS4_COMBINING_EC,
++  /* 0xed (comma above right) */                    TABLE_TO_UCS4_COMBINING_ED,
++  /* 0xee (double acute) */                         TABLE_TO_UCS4_COMBINING_EE,
++  /* 0xef (candrabindu) */                          TABLE_TO_UCS4_COMBINING_EF,
++  /* 0xf0 (cedilla) */                              TABLE_TO_UCS4_COMBINING_F0,
++  /* 0xf1 (ogonek, right hook) */                   TABLE_TO_UCS4_COMBINING_F1,
++  /* 0xf2 (dot below) */                            TABLE_TO_UCS4_COMBINING_F2,
++  /* 0xf3 (double dot below) */                     TABLE_TO_UCS4_COMBINING_F3,
++  /* 0xf4 (ring below) */                           TABLE_TO_UCS4_COMBINING_F4,
++  /* 0xf5 (double low line) */                      TABLE_TO_UCS4_COMBINING_F5,
++  /* 0xf6 (line below) */                           TABLE_TO_UCS4_COMBINING_F6,
++  /* 0xf7 (comma below, left hook) */               TABLE_TO_UCS4_COMBINING_F7,
++  /* 0xf8 (left half ring below, right cedilla) */  TABLE_TO_UCS4_COMBINING_F8,
++  /* 0xf9 (breve below, half circle below) */       TABLE_TO_UCS4_COMBINING_F9,
++  /* 0xfa (double tilde, left half) */              TABLE_TO_UCS4_COMBINING_FA,
++  /* 0xfb (double tilde, right half) */             TABLE_TO_UCS4_COMBINING_FB,
++  /* 0xfc */                                        TABLE_TO_UCS4_COMBINING_FC,
++  /* 0xfd */                                        TABLE_TO_UCS4_COMBINING_FD,
++  /* 0xfe (comma above, high centered comma) */     TABLE_TO_UCS4_COMBINING_FE,
++};
++
++#define BASE_PASSED 0x10000
++
++static int
++ansi_z39_47_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
++{
++  unsigned char c = *s;
++  ucs4_t last_wc = conv->istate;
++  int retval = 1;
++  if (last_wc & BASE_PASSED) {
++    /* base character was already output, reset the state and output the
++       diacritical mark */
++    unsigned char dc = (unsigned char)(last_wc & ~BASE_PASSED);
++    *pwc = ansi_z39_47_2uni[dc-0x80];
++    conv->istate = 0;
++    return 1;
++  }
++  if (last_wc) {
++    conv->istate |= BASE_PASSED;
++    retval = 0;
++  }
++  if (c < 0x80) {
++    if (last_wc && c >= 0x20) {
++      /* Check if we can combine the character with the diacritical mark */
++      unsigned char dc = (unsigned char)(last_wc & ~BASE_PASSED);
++      unsigned short wc = ansi_z39_47_2uni_comb[dc-0xe0][c-0x20];
++      if (wc != 0x0000) {
++      *pwc = (ucs4_t) wc;
++      conv->istate = 0;
++      return 1;
++      }
++    }
++    *pwc = (ucs4_t) c;
++    return retval;
++  }
++  else if (c < 0xe0) {
++    unsigned short wc = ansi_z39_47_2uni[c-0x80];
++    if (wc != 0x0000) {
++      *pwc = (ucs4_t) wc;
++      return retval;
++    }
++  }
++  else {
++    /* The range from 0xe0 to 0xfe are diacritical marks.
++       Note that in ANSEL they come *before* the base characters, in Unicode,
++       they come *after*, so we have to buffer them ... */
++    conv->istate = (state_t)c;
++    return RET_TOOFEW(1);
++  }
++  return RET_ILSEQ;
++}
++
++static const unsigned char ansi_z39_47_page080[][2] = TABLE_FROM_UCS4_BASIC;
++static const unsigned char ansi_z39_47_page01a[][2] = TABLE_FROM_UCS4_PAGE_01A;
++static const unsigned char ansi_z39_47_page022[][2] = TABLE_FROM_UCS4_PAGE_022;
++static const unsigned char ansi_z39_47_page02b[][2] = TABLE_FROM_UCS4_PAGE_02B;
++static const unsigned char ansi_z39_47_page030[][2] = TABLE_FROM_UCS4_PAGE_030;
++static const unsigned char ansi_z39_47_page1ea[][2] = TABLE_FROM_UCS4_PAGE_1EA;
++static const unsigned char ansi_z39_47_page200[][2] = TABLE_FROM_UCS4_PAGE_200;
++static const unsigned char ansi_z39_47_page211[][2] = TABLE_FROM_UCS4_PAGE_211;
++static const unsigned char ansi_z39_47_page266[][2] = TABLE_FROM_UCS4_PAGE_266;
++static const unsigned char ansi_z39_47_pagefe2[][2] = TABLE_FROM_UCS4_PAGE_FE2;
++
++static int
++ansi_z39_47_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
++{
++  const unsigned char* ch = NULL;
++  int output = 0;
++  
++#define OUTPUT(c)  ++output; if (n < output) return RET_TOOSMALL; *(r++) = (c);
++
++  /* Since in UTF-8 diacritical marks come after the base character and in
++     ANSEL before, we need to buffer possible base characters (0x20 to 0x7f)
++     to put the diacritical mark before it if there is one following */
++  if (wc < 0x0080) {
++    if (conv->ostate) {
++      OUTPUT(conv->ostate);
++      conv->ostate = 0;
++    }
++    if (wc >= 0x0020) {
++      conv->ostate = (state_t) wc;
++    }
++    else {
++      OUTPUT(wc);
++    }
++    return output;
++  }
++  else if (wc >= 0x0080 && wc < 0x017f)
++    ch = ansi_z39_47_page080[wc-0x0080];
++  else if (wc >= 0x01a0 && wc < 0x01b4)
++    ch = ansi_z39_47_page01a[wc-0x01a0];
++  else if (wc >= 0x0220 && wc < 0x0234)
++    ch = ansi_z39_47_page022[wc-0x0220];
++  else if (wc >= 0x02b0 && wc < 0x02e2)
++    ch = ansi_z39_47_page02b[wc-0x02b0];
++  else if (wc >= 0x0300 && wc < 0x0337)
++    ch = ansi_z39_47_page030[wc-0x0300];
++  else if (wc >= 0x1ea0 && wc < 0x1efa)
++    ch = ansi_z39_47_page1ea[wc-0x1ea0];
++  else if (wc >= 0x2000 && wc < 0x200f)
++    ch = ansi_z39_47_page200[wc-0x2000];
++  else if (wc >= 0x2110 && wc < 0x211a)
++    ch = ansi_z39_47_page211[wc-0x2110];
++  else if (wc >= 0x2660 && wc < 0x2674)
++    ch = ansi_z39_47_page266[wc-0x2660];
++  else if (wc >= 0xfe20 && wc < 0xfe25)
++    ch = ansi_z39_47_pagefe2[wc-0xfe20];
++  if (ch && ch[0] != 0) {
++    if (ch[1] == 0 && ch[0] >= 0xe0 && ch[0] <= 0xfe) {
++      /* Diacritical mark following a base character, buffered in ostate */
++      /* Output diacritical mark, then base character */
++      if (conv->ostate) {
++      OUTPUT(ch[0]);
++      OUTPUT(conv->ostate);
++      conv->ostate = 0;
++      }
++      else
++      return RET_ILUNI;
++    }
++    else {
++      if (conv->ostate) {
++      OUTPUT(conv->ostate);
++      conv->ostate = 0;
++      }
++      OUTPUT(ch[0]);
++    }
++    if (ch[1] != 0) {
++      OUTPUT(ch[1]);
++    }
++    return output;
++  }
++  return RET_ILUNI;
++}
+--- /dev/null
++++ b/libiconv-1.14/lib/ANSI_Z39.47-tables.h
+@@ -0,0 +1,509 @@
++/* Conversion for ANSI_Z39.47 aka ANSEL.
++   Copyright (C) 2001 The Genes Development Team
++   This file is part of the Gedcom parser library.
++   Contributed by Peter Verthez <Peter.Verthez@advalvas.be>, 2001.
++
++   The Gedcom parser 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 Gedcom parser 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 Gedcom parser library; if not, write to the
++   Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++   02111-1307 USA.  */
++
++/* $Id$ */
++/* $Name$ */
++
++/* Generic conversion to and from ANSI Z39.47 (also known as ANSEL)
++   Data coming from:
++   http://lcweb.loc.gov/marc/specifications/speccharlatin.html
++
++   Note: in ANSEL, diacritical marks come *before* the base character;
++   in Unicode, they come *after*...
++*/
++
++/*****************************************************************************/
++/*    CONVERSION FROM ANSEL TO UCS4                                          */
++/*****************************************************************************/
++
++/* Omit first half of table: assume identity mapping (ASCII) */
++#define TABLE_TO_UCS4_BASIC \
++{                                                                              \
++  /* 0x80 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0x88 */ 0x0088, 0x0089, 0x0000, 0x0000, 0x0000, 0x200d, 0x200c, 0x0000,   \
++  /* 0x90 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0x98 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0xa0 */ 0x0000, 0x0141, 0x00d8, 0x0110, 0x00de, 0x00c6, 0x0152, 0x02b9,   \
++  /* 0xa8 */ 0x00b7, 0x266d, 0x00ae, 0x00b1, 0x01a0, 0x01af, 0x02be, 0x0000,   \
++  /* 0xb0 */ 0x02bb, 0x0142, 0x00f8, 0x0111, 0x00fe, 0x00e6, 0x0153, 0x02ba,   \
++  /* 0xb8 */ 0x0131, 0x00a3, 0x00f0, 0x0000, 0x01a1, 0x01b0, 0x0000, 0x0000,   \
++  /* 0xc0 */ 0x00b0, 0x2113, 0x2117, 0x00a9, 0x266f, 0x00bf, 0x00a1, 0x0000,   \
++  /* 0xc8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00df,   \
++  /* 0xd0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0xd8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0xe0 */ 0x0309, 0x0300, 0x0301, 0x0302, 0x0303, 0x0304, 0x0306, 0x0307,   \
++  /* 0xe8 */ 0x0308, 0x030c, 0x030a, 0xfe20, 0xfe21, 0x0315, 0x030b, 0x0310,   \
++  /* 0xf0 */ 0x0327, 0x0328, 0x0323, 0x0324, 0x0325, 0x0333, 0x0332, 0x0326,   \
++  /* 0xf8 */ 0x031c, 0x032e, 0xfe22, 0xfe23, 0x0000, 0x0000, 0x0313, 0x0000    \
++}
++
++/* 0xe0 (hook above) */
++#define TABLE_TO_UCS4_COMBINING_E0                                             \
++{                                                                              \
++  /* 0x20 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0x28 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0x30 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0x38 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0x40 */ 0x0000, 0x1ea2, 0x0000, 0x0000, 0x0000, 0x1eba, 0x0000, 0x0000,   \
++  /* 0x48 */ 0x0000, 0x1ec8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1ece,   \
++  /* 0x50 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1ee6, 0x0000, 0x0000,   \
++  /* 0x58 */ 0x0000, 0x1ef6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0x60 */ 0x0000, 0x1ea3, 0x0000, 0x0000, 0x0000, 0x1ebb, 0x0000, 0x0000,   \
++  /* 0x68 */ 0x0000, 0x1ec9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1ecf,   \
++  /* 0x70 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1ee7, 0x0000, 0x0000,   \
++  /* 0x78 */ 0x0000, 0x1ef7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000    \
++}
++
++/* 0xe1 (grave) */
++#define TABLE_TO_UCS4_COMBINING_E1                                             \
++{                                                                              \
++  /* 0x20 */ 0x0060, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0x28 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0x30 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0x38 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0x40 */ 0x0000, 0x00c0, 0x0000, 0x0000, 0x0000, 0x00c8, 0x0000, 0x0000,   \
++  /* 0x48 */ 0x0000, 0x00cc, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00d2,   \
++  /* 0x50 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00d9, 0x0000, 0x0000,   \
++  /* 0x58 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0x60 */ 0x0000, 0x00e0, 0x0000, 0x0000, 0x0000, 0x00e8, 0x0000, 0x0000,   \
++  /* 0x68 */ 0x0000, 0x00ec, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00f2,   \
++  /* 0x70 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00f9, 0x0000, 0x0000,   \
++  /* 0x78 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000    \
++}
++
++/* 0xe2 (acute) */
++#define TABLE_TO_UCS4_COMBINING_E2                                             \
++{                                                                              \
++  /* 0x20 */ 0x00b4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0x28 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0x30 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0x38 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0x40 */ 0x0000, 0x00c1, 0x0000, 0x0106, 0x0000, 0x00c9, 0x0000, 0x0000,   \
++  /* 0x48 */ 0x0000, 0x00cd, 0x0000, 0x0000, 0x0139, 0x0000, 0x0143, 0x00d3,   \
++  /* 0x50 */ 0x0000, 0x0000, 0x0154, 0x015a, 0x0000, 0x00da, 0x0000, 0x0000,   \
++  /* 0x58 */ 0x0000, 0x00dd, 0x0179, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0x60 */ 0x0000, 0x00e1, 0x0000, 0x0107, 0x0000, 0x00e9, 0x0000, 0x0000,   \
++  /* 0x68 */ 0x0000, 0x00ed, 0x0000, 0x0000, 0x013a, 0x0000, 0x0144, 0x00f3,   \
++  /* 0x70 */ 0x0000, 0x0000, 0x0155, 0x015b, 0x0000, 0x00fa, 0x0000, 0x0000,   \
++  /* 0x78 */ 0x0000, 0x00fd, 0x017a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000    \
++}
++
++/* 0xe3 (circumflex) */
++#define TABLE_TO_UCS4_COMBINING_E3                                             \
++{                                                                              \
++  /* 0x20 */ 0x005e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0x28 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0x30 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0x38 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0x40 */ 0x0000, 0x00c2, 0x0000, 0x0108, 0x0000, 0x00ca, 0x0000, 0x011c,   \
++  /* 0x48 */ 0x0124, 0x00ce, 0x0134, 0x0000, 0x0000, 0x0000, 0x0000, 0x00d4,   \
++  /* 0x50 */ 0x0000, 0x0000, 0x0000, 0x015c, 0x0000, 0x00db, 0x0000, 0x0174,   \
++  /* 0x58 */ 0x0000, 0x0176, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0x60 */ 0x0000, 0x00e2, 0x0000, 0x0109, 0x0000, 0x00ea, 0x0000, 0x011d,   \
++  /* 0x68 */ 0x0125, 0x00ee, 0x0135, 0x0000, 0x0000, 0x0000, 0x0000, 0x00f4,   \
++  /* 0x70 */ 0x0000, 0x0000, 0x0000, 0x015d, 0x0000, 0x00fb, 0x0000, 0x0175,   \
++  /* 0x78 */ 0x0000, 0x0177, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000    \
++}
++
++/* 0xe4 (tilde) */
++#define TABLE_TO_UCS4_COMBINING_E4                                             \
++{                                                                              \
++  /* 0x20 */ 0x007e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0x28 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0x30 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0x38 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0x40 */ 0x0000, 0x00c3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0x48 */ 0x0000, 0x0128, 0x0000, 0x0000, 0x0000, 0x0000, 0x00d1, 0x00d5,   \
++  /* 0x50 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0168, 0x0000, 0x0000,   \
++  /* 0x58 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0x60 */ 0x0000, 0x00e3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0x68 */ 0x0000, 0x0129, 0x0000, 0x0000, 0x0000, 0x0000, 0x00f1, 0x00f5,   \
++  /* 0x70 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0169, 0x0000, 0x0000,   \
++  /* 0x78 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000    \
++}
++
++/* 0xe5 (macron) */
++#define TABLE_TO_UCS4_COMBINING_E5                                             \
++{                                                                              \
++  /* 0x20 */ 0x00af, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0x28 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0x30 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0x38 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0x40 */ 0x0000, 0x0100, 0x0000, 0x0000, 0x0000, 0x0112, 0x0000, 0x0000,   \
++  /* 0x48 */ 0x0000, 0x012a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x014c,   \
++  /* 0x50 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x016a, 0x0000, 0x0000,   \
++  /* 0x58 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0x60 */ 0x0000, 0x0101, 0x0000, 0x0000, 0x0000, 0x0113, 0x0000, 0x0000,   \
++  /* 0x68 */ 0x0000, 0x012b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x014d,   \
++  /* 0x70 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x016b, 0x0000, 0x0000,   \
++  /* 0x78 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000    \
++}
++
++/* 0xe6 (breve) */
++#define TABLE_TO_UCS4_COMBINING_E6                                             \
++{                                                                              \
++  /* 0x20 */ 0x02d8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0x28 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0x30 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0x38 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0x40 */ 0x0000, 0x0102, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x011e,   \
++  /* 0x48 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0x50 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x016c, 0x0000, 0x0000,   \
++  /* 0x58 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0x60 */ 0x0000, 0x0103, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x011f,   \
++  /* 0x68 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0x70 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x016d, 0x0000, 0x0000,   \
++  /* 0x78 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000    \
++}
++
++/* 0xe7 (dot above) */
++#define TABLE_TO_UCS4_COMBINING_E7                                             \
++{                                                                              \
++  /* 0x20 */ 0x02d9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0x28 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0x30 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0x38 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0x40 */ 0x0000, 0x0226, 0x0000, 0x010a, 0x0000, 0x0116, 0x0000, 0x0120,   \
++  /* 0x48 */ 0x0000, 0x0130, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x022e,   \
++  /* 0x50 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0x58 */ 0x0000, 0x0000, 0x017b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0x60 */ 0x0000, 0x0227, 0x0000, 0x010b, 0x0000, 0x0117, 0x0000, 0x0121,   \
++  /* 0x68 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x022f,   \
++  /* 0x70 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0x78 */ 0x0000, 0x0000, 0x017c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000    \
++}
++
++/* 0xe8 (umlaut, diaeresis) */
++#define TABLE_TO_UCS4_COMBINING_E8                                             \
++{                                                                              \
++  /* 0x20 */ 0x00a8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0x28 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0x30 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0x38 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0x40 */ 0x0000, 0x00c4, 0x0000, 0x0000, 0x0000, 0x00cb, 0x0000, 0x0000,   \
++  /* 0x48 */ 0x0000, 0x00cf, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00d6,   \
++  /* 0x50 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00dc, 0x0000, 0x0000,   \
++  /* 0x58 */ 0x0000, 0x0178, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0x60 */ 0x0000, 0x00e4, 0x0000, 0x0000, 0x0000, 0x00eb, 0x0000, 0x0000,   \
++  /* 0x68 */ 0x0000, 0x00ef, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00f6,   \
++  /* 0x70 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00fc, 0x0000, 0x0000,   \
++  /* 0x78 */ 0x0000, 0x00ff, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000    \
++}
++
++/* 0xe9 (caron, hacek) */
++#define TABLE_TO_UCS4_COMBINING_E9                                             \
++{                                                                              \
++  /* 0x20 */ 0x02c7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0x28 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0x30 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0x38 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0x40 */ 0x0000, 0x0000, 0x0000, 0x010c, 0x010e, 0x011a, 0x0000, 0x0000,   \
++  /* 0x48 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x013d, 0x0000, 0x0147, 0x0000,   \
++  /* 0x50 */ 0x0000, 0x0000, 0x0158, 0x0160, 0x0164, 0x0000, 0x0000, 0x0000,   \
++  /* 0x58 */ 0x0000, 0x0000, 0x017d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0x60 */ 0x0000, 0x0000, 0x0000, 0x010d, 0x010f, 0x011b, 0x0000, 0x0000,   \
++  /* 0x68 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x013e, 0x0000, 0x0148, 0x0000,   \
++  /* 0x70 */ 0x0000, 0x0000, 0x0159, 0x0161, 0x0165, 0x0000, 0x0000, 0x0000,   \
++  /* 0x78 */ 0x0000, 0x0000, 0x017e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000    \
++}
++
++/* 0xea (ring above) */
++#define TABLE_TO_UCS4_COMBINING_EA                                             \
++{                                                                              \
++  /* 0x20 */ 0x02da, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0x28 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0x30 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0x38 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0x40 */ 0x0000, 0x00c5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0x48 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0x50 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x016e, 0x0000, 0x0000,   \
++  /* 0x58 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0x60 */ 0x0000, 0x00e5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0x68 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0x70 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x016f, 0x0000, 0x0000,   \
++  /* 0x78 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000    \
++}
++
++/* 0xeb (ligature, left half) */
++#define TABLE_TO_UCS4_COMBINING_EB { 0x0000, }
++
++/* 0xec (ligature, right half) */
++#define TABLE_TO_UCS4_COMBINING_EC { 0x0000, }
++
++/* 0xed (comma above right) */
++#define TABLE_TO_UCS4_COMBINING_ED { 0x0000, }
++
++/* 0xee (double acute) */
++#define TABLE_TO_UCS4_COMBINING_EE                                             \
++{                                                                              \
++  /* 0x20 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0x28 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0x30 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0x38 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0x40 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0x48 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0150,   \
++  /* 0x50 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0170, 0x0000, 0x0000,   \
++  /* 0x58 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0x60 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0x68 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0151,   \
++  /* 0x70 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0171, 0x0000, 0x0000,   \
++  /* 0x78 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000    \
++}
++
++/* 0xef (candrabindu) */      
++#define TABLE_TO_UCS4_COMBINING_EF { 0x0000, }
++
++/* 0xf0 (cedilla) */
++#define TABLE_TO_UCS4_COMBINING_F0                                             \
++{                                                                              \
++  /* 0x20 */ 0x00b8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0x28 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0x30 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0x38 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0x40 */ 0x0000, 0x0000, 0x0000, 0x00c7, 0x0000, 0x0000, 0x0000, 0x0122,   \
++  /* 0x48 */ 0x0000, 0x0000, 0x0000, 0x0136, 0x013b, 0x0000, 0x0145, 0x0000,   \
++  /* 0x50 */ 0x0000, 0x0000, 0x0156, 0x015e, 0x0162, 0x0000, 0x0000, 0x0000,   \
++  /* 0x58 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0x60 */ 0x0000, 0x0000, 0x0000, 0x00e7, 0x0000, 0x0000, 0x0000, 0x0123,   \
++  /* 0x68 */ 0x0000, 0x0000, 0x0000, 0x0137, 0x013c, 0x0000, 0x0146, 0x0000,   \
++  /* 0x70 */ 0x0000, 0x0000, 0x0157, 0x015f, 0x0163, 0x0000, 0x0000, 0x0000,   \
++  /* 0x78 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000    \
++}
++
++/* 0xf1 (ogonek, right hook) */
++#define TABLE_TO_UCS4_COMBINING_F1                                             \
++{                                                                              \
++  /* 0x20 */ 0x02db, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0x28 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0x30 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0x38 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0x40 */ 0x0000, 0x0104, 0x0000, 0x0000, 0x0000, 0x0118, 0x0000, 0x0000,   \
++  /* 0x48 */ 0x0000, 0x012e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0x50 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0172, 0x0000, 0x0000,   \
++  /* 0x58 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0x60 */ 0x0000, 0x0105, 0x0000, 0x0000, 0x0000, 0x0119, 0x0000, 0x0000,   \
++  /* 0x68 */ 0x0000, 0x012f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   \
++  /* 0x70 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0173, 0x0000, 0x0000,   \
++  /* 0x78 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000    \
++}
++
++/* 0xf2 (dot below) */
++#define TABLE_TO_UCS4_COMBINING_F2 { 0x0000, }
++
++/* 0xf3 (double dot below) */
++#define TABLE_TO_UCS4_COMBINING_F3 { 0x0000, }
++
++/* 0xf4 (ring below) */
++#define TABLE_TO_UCS4_COMBINING_F4 { 0x0000, }
++
++/* 0xf5 (double low line) */
++#define TABLE_TO_UCS4_COMBINING_F5 { 0x0000, }
++
++/* 0xf6 (line below) */
++#define TABLE_TO_UCS4_COMBINING_F6 { 0x0000, }
++
++/* 0xf7 (comma below, left hook) */
++#define TABLE_TO_UCS4_COMBINING_F7 { 0x0000, }
++
++/* 0xf8 (left half ring below, right cedilla) */
++#define TABLE_TO_UCS4_COMBINING_F8 { 0x0000, }
++
++/* 0xf9 (breve below, half circle below) */
++#define TABLE_TO_UCS4_COMBINING_F9 { 0x0000, }
++
++/* 0xfa (double tilde, left half) */
++#define TABLE_TO_UCS4_COMBINING_FA { 0x0000, }
++
++/* 0xfb (double tilde, right half) */
++#define TABLE_TO_UCS4_COMBINING_FB { 0x0000, }
++
++/* 0xfc */
++#define TABLE_TO_UCS4_COMBINING_FC { 0x0000, }
++
++/* 0xfd */
++#define TABLE_TO_UCS4_COMBINING_FD { 0x0000, }
++
++/* 0xfe (comma above, high centered comma) */
++#define TABLE_TO_UCS4_COMBINING_FE { 0x0000, }
++
++/*****************************************************************************/
++/*    CONVERSION FROM UCS4 TO ANSEL                                          */
++/*****************************************************************************/
++
++/* Omit first part of table: assume identity mapping (ASCII) */
++#define TABLE_FROM_UCS4_BASIC                                                  \
++{                                                                              \
++  /* 0x0080 */ "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",     \
++  /* 0x0085 */ "\x00\x00", "\x00\x00", "\x00\x00", "\x88\x00", "\x89\x00",     \
++  /* 0x008a */ "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",     \
++  /* 0x008f */ "\x00\x00",     \
++  /* 0x0090 */ "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",     \
++  /* 0x0095 */ "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",     \
++  /* 0x009a */ "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",     \
++  /* 0x009f */ "\x00\x00",     \
++  /* 0x00a0 */ "\x00\x00", "\xc6\x00", "\x00\x00", "\xb9\x00", "\x00\x00",     \
++  /* 0x00a5 */ "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x20", "\xc3\x00",     \
++  /* 0x00aa */ "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\xaa\x00",     \
++  /* 0x00af */ "\x00\x20",     \
++  /* 0x00b0 */ "\xc0\x00", "\xab\x00", "\x00\x00", "\x00\x00", "\x00\x20",     \
++  /* 0x00b5 */ "\x00\x00", "\x00\x00", "\xa8\x00", "\x00\x00", "\x00\x00",     \
++  /* 0x00ba */ "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",     \
++  /* 0x00bf */ "\xc5\x00",     \
++  /* 0x00c0 */ "\xe1\x41", "\xe2\x41", "\xe3\x41", "\xe4\x41", "\xe8\x41",     \
++  /* 0x00c5 */ "\xea\x41", "\xa5\x00", "\xf0\x43", "\xe1\x45", "\xe2\x45",     \
++  /* 0x00ca */ "\xe3\x45", "\xe8\x45", "\xe1\x49", "\xe2\x49", "\xe3\x49",     \
++  /* 0x00cf */ "\xe8\x49",     \
++  /* 0x00d0 */ "\xa3\x00", "\xe4\x4e", "\xe1\x4f", "\xe2\x4f", "\xe3\x4f",     \
++  /* 0x00d5 */ "\xe4\x4f", "\xe8\x4f", "\x00\x00", "\xa2\x00", "\xe1\x55",     \
++  /* 0x00da */ "\xe2\x55", "\xe3\x55", "\xe8\x55", "\xe2\x59", "\xa4\x00",     \
++  /* 0x00df */ "\xcf\x00",     \
++  /* 0x00e0 */ "\xe1\x61", "\xe2\x61", "\xe3\x61", "\xe4\x61", "\xe8\x61",     \
++  /* 0x00e5 */ "\xea\x61", "\xb5\x00", "\xf0\x63", "\xe1\x65", "\xe2\x65",     \
++  /* 0x00ea */ "\xe3\x65", "\xe8\x65", "\xe1\x69", "\xe2\x69", "\xe3\x69",     \
++  /* 0x00ef */ "\xe8\x69",     \
++  /* 0x00f0 */ "\xba\x00", "\xe4\x6e", "\xe1\x6f", "\xe2\x6f", "\xe3\x6f",     \
++  /* 0x00f5 */ "\xe4\x6f", "\xe8\x6f", "\x00\x00", "\xb2\x00", "\xe1\x75",     \
++  /* 0x00fa */ "\xe2\x75", "\xe3\x75", "\xe8\x75", "\xe2\x79", "\xb4\x00",     \
++  /* 0x00ff */ "\xe8\x79",     \
++  /* 0x0100 */ "\xe5\x41", "\xe5\x61", "\xe6\x41", "\xe6\x61", "\xf1\x41",     \
++  /* 0x0105 */ "\xf1\x61", "\xe2\x43", "\xe2\x63", "\xe3\x43", "\xe3\x63",     \
++  /* 0x010a */ "\xe7\x43", "\xe7\x63", "\xe9\x43", "\xe9\x63", "\xe9\x44",     \
++  /* 0x010f */ "\xe9\x64",     \
++  /* 0x0110 */ "\xa3\x00", "\xb3\x00", "\xe5\x45", "\xe5\x65", "\xe6\x65",     \
++  /* 0x0115 */ "\xe6\x65", "\xe7\x45", "\xe7\x65", "\xf1\x45", "\xf1\x65",     \
++  /* 0x011a */ "\xe9\x45", "\xe9\x65", "\xe3\x47", "\xe3\x67", "\xe6\x47",     \
++  /* 0x011f */ "\xe6\x67",     \
++  /* 0x0120 */ "\xe7\x47", "\xe7\x67", "\xf0\x47", "\xf0\x67", "\xe3\x48",     \
++  /* 0x0125 */ "\xe3\x68", "\x00\x00", "\xe5\x68", "\xe4\x49", "\xe4\x69",     \
++  /* 0x012a */ "\xe5\x49", "\xe5\x69", "\xe6\x49", "\xe6\x69", "\xf1\x49",     \
++  /* 0x012f */ "\xf1\x69",     \
++  /* 0x0130 */ "\xe7\x49", "\xb8\x00", "\x00\x00", "\x00\x00", "\xe3\x4a",     \
++  /* 0x0135 */ "\xe3\x6a", "\xf0\x4b", "\xf0\x6b", "\x00\x00", "\xe2\x4c",     \
++  /* 0x013a */ "\xe2\x6c", "\xf0\x4c", "\xf0\x6c", "\xe9\x4c", "\xe9\x6c",     \
++  /* 0x013f */ "\xe7\x4c",     \
++  /* 0x0140 */ "\xe7\x6c", "\xa1\x00", "\xb1\x00", "\xe2\x4e", "\xe2\x6e",     \
++  /* 0x0145 */ "\xf0\x4e", "\xf0\x6e", "\xe9\x4e", "\xe9\x6e", "\x00\x00",     \
++  /* 0x014a */ "\x00\x00", "\x00\x00", "\xe5\x4f", "\xe5\x6f", "\xe6\x4f",     \
++  /* 0x014f */ "\xe6\x6f",     \
++  /* 0x0150 */ "\xee\x4f", "\xee\x6f", "\xa6\x00", "\xb6\x00", "\xe2\x52",     \
++  /* 0x0155 */ "\xe2\x72", "\xf0\x52", "\xf0\x72", "\xe9\x52", "\xe9\x72",     \
++  /* 0x015a */ "\xe2\x53", "\xe2\x73", "\xe3\x53", "\xe3\x73", "\xf0\x53",     \
++  /* 0x015f */ "\xf0\x73",     \
++  /* 0x0160 */ "\xe9\x53", "\xe9\x73", "\xf0\x54", "\xf0\x74", "\xe9\x54",     \
++  /* 0x0165 */ "\xe9\x74", "\x00\x00", "\x00\x00", "\xe4\x55", "\xe4\x75",     \
++  /* 0x016a */ "\xe5\x55", "\xe5\x75", "\xe6\x55", "\xe6\x75", "\xea\x55",     \
++  /* 0x016f */ "\xea\x75",     \
++  /* 0x0170 */ "\xee\x55", "\xee\x75", "\xf1\x55", "\xf1\x75", "\xe3\x57",     \
++  /* 0x0175 */ "\xe3\x77", "\xe3\x59", "\xe3\x79", "\xe8\x59", "\xe2\x5a",     \
++  /* 0x017a */ "\xe2\x7a", "\xe7\x5a", "\xe7\x7a", "\xe9\x5a", "\xe9\x7a"      \
++}
++
++#define TABLE_FROM_UCS4_PAGE_01A                                               \
++{                                                                              \
++  /* 0x01a0 */ "\xac\x00", "\xbc\x00", "\x00\x00", "\x00\x00", "\x00\x00",     \
++  /* 0x01a5 */ "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",     \
++  /* 0x01aa */ "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",     \
++  /* 0x01af */ "\xad\x00", "\xbd\x00", "\x00\x00", "\x00\x00", "\x00\x00"      \
++}
++
++#define TABLE_FROM_UCS4_PAGE_022                                               \
++{                                                                              \
++  /* 0x0220 */ "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",     \
++  /* 0x0225 */ "\x00\x00", "\xe7\x41", "\xe7\x61", "\x00\x00", "\x00\x00",     \
++  /* 0x022a */ "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\xe7\x4f",     \
++  /* 0x022f */ "\xe7\x6f", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00"      \
++}
++
++#define TABLE_FROM_UCS4_PAGE_02B                                               \
++{                                                                              \
++  /* 0x02b0 */ "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",     \
++  /* 0x02b5 */ "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\xa7\x00",     \
++  /* 0x02ba */ "\xb7\x00", "\xb0\x00", "\x00\x00", "\x00\x00", "\xae\x00",     \
++  /* 0x02bf */ "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",     \
++  /* 0x02c4 */ "\x00\x00", "\x00\x00", "\x00\x00", "\xe9\x20", "\x00\x00",     \
++  /* 0x02c9 */ "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",     \
++  /* 0x02ce */ "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",     \
++  /* 0x02d3 */ "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",     \
++  /* 0x02d8 */ "\xe6\x20", "\xe7\x20", "\xea\x20", "\xf1\x20", "\xe4\x20",     \
++  /* 0x02dd */ "\xee\x20", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00"      \
++}
++
++#define TABLE_FROM_UCS4_PAGE_030                                               \
++{                                                                              \
++  /* 0x0300 */ "\xe1\x00", "\xe2\x00", "\xe3\x00", "\xe4\x00", "\xe5\x00",     \
++  /* 0x0305 */ "\x00\x00", "\xe6\x00", "\xe7\x00", "\xe8\x00", "\xe0\x00",     \
++  /* 0x030a */ "\xea\x00", "\xee\x00", "\xe9\x00", "\x00\x00", "\x00\x00",     \
++  /* 0x030f */ "\x00\x00", "\xef\x00", "\x00\x00", "\x00\x00", "\xfe\x00",     \
++  /* 0x0314 */ "\x00\x00", "\xed\x00", "\x00\x00", "\x00\x00", "\x00\x00",     \
++  /* 0x0319 */ "\x00\x00", "\x00\x00", "\x00\x00", "\xf8\x00", "\x00\x00",     \
++  /* 0x031e */ "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",     \
++  /* 0x0323 */ "\xf2\x00", "\xf3\x00", "\xf4\x00", "\xf7\x00", "\xf0\x00",     \
++  /* 0x0328 */ "\xf1\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",     \
++  /* 0x032d */ "\x00\x00", "\xf9\x00", "\x00\x00", "\x00\x00", "\x00\x00",     \
++  /* 0x0332 */ "\xf6\x00", "\xf5\x00", "\x00\x00", "\x00\x00", "\x00\x00"      \
++}
++
++#define TABLE_FROM_UCS4_PAGE_1EA                                               \
++{                                                                              \
++  /* 0x1ea0 */ "\x00\x00", "\x00\x00", "\xe0\x41", "\xe0\x61", "\x00\x00",     \
++  /* 0x1ea5 */ "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",     \
++  /* 0x1eaa */ "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",     \
++  /* 0x1eaf */ "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",     \
++  /* 0x1eb4 */ "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",     \
++  /* 0x1eb9 */ "\x00\x00", "\xe0\x45", "\xe0\x65", "\x00\x00", "\x00\x00",     \
++  /* 0x1ebe */ "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",     \
++  /* 0x1ec3 */ "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",     \
++  /* 0x1ec8 */ "\xe0\x49", "\xe0\x69", "\x00\x00", "\x00\x00", "\x00\x00",     \
++  /* 0x1ecd */ "\x00\x00", "\xe0\x4f", "\xe0\x6f", "\x00\x00", "\x00\x00",     \
++  /* 0x1ed2 */ "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",     \
++  /* 0x1ed7 */ "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",     \
++  /* 0x1edc */ "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",     \
++  /* 0x1ee1 */ "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",     \
++  /* 0x1ee6 */ "\xe0\x55", "\xe0\x75", "\x00\x00", "\x00\x00", "\x00\x00",     \
++  /* 0x1eeb */ "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",     \
++  /* 0x1ef0 */ "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",     \
++  /* 0x1ef5 */ "\x00\x00", "\xe0\x59", "\xe0\x79", "\x00\x00", "\x00\x00"      \
++}
++
++#define TABLE_FROM_UCS4_PAGE_200                                               \
++{                                                                              \
++  /* 0x2000 */ "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",     \
++  /* 0x2005 */ "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",     \
++  /* 0x200a */ "\x00\x00", "\x00\x00", "\x8e\x00", "\x8d\x00", "\x00\x00"      \
++}
++
++#define TABLE_FROM_UCS4_PAGE_211                                               \
++{                                                                              \
++  /* 0x2110 */ "\x00\x00", "\x00\x00", "\x00\x00", "\xc1\x00", "\x00\x00",     \
++  /* 0x2115 */ "\x00\x00", "\x00\x00", "\xc2\x00", "\x00\x00", "\x00\x00"      \
++};
++
++#define TABLE_FROM_UCS4_PAGE_266                                               \
++{                                                                              \
++  /* 0x2660 */ "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",     \
++  /* 0x2665 */ "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",     \
++  /* 0x266a */ "\x00\x00", "\x00\x00", "\x00\x00", "\xa9\x00", "\x00\x00",     \
++  /* 0x266f */ "\xc4\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00"      \
++}
++
++#define TABLE_FROM_UCS4_PAGE_FE2                                               \
++{                                                                              \
++  /* 0xfe20 */ "\xeb\x00", "\xec\x00", "\xfa\x00", "\xfb\x00", "\x00\x00"      \
++}
diff --git a/iconv/libiconv/patches/config.charset.patch b/iconv/libiconv/patches/config.charset.patch
new file mode 100644 (file)
index 0000000..6f3f1e5
--- /dev/null
@@ -0,0 +1,17 @@
+--- a/libiconv-1.14/libcharset/lib/config.charset
++++ b/libiconv-1.14/libcharset/lib/config.charset
+@@ -348,12 +348,13 @@
+     #echo "sun_eu_greek ?" # what is this?
+     echo "UTF-8 UTF-8"
+     ;;
+-  freebsd* | os2*)
++  freebsd* | os2* | darwin*)
+     # FreeBSD 4.2 doesn't have nl_langinfo(CODESET); therefore
+     # localcharset.c falls back to using the full locale name
+     # from the environment variables.
+     # Likewise for OS/2. OS/2 has XFree86 just like FreeBSD. Just
+     # reuse FreeBSD's locale data for OS/2.
++    # Likewise for darwin (MacOS X), which is derived from FreeBSD.
+     echo "C ASCII"
+     echo "US-ASCII ASCII"
+     for l in la_LN lt_LN; do
diff --git a/iconv/libiconv/patches/configure.ac.patch b/iconv/libiconv/patches/configure.ac.patch
new file mode 100644 (file)
index 0000000..ccf0b37
--- /dev/null
@@ -0,0 +1,11 @@
+--- a/libiconv-1.14/configure.ac
++++ b/libiconv-1.14/configure.ac
+@@ -20,7 +20,7 @@
+ AC_INIT
+ AC_CONFIG_SRCDIR([lib/iconv.c])
+ AC_CONFIG_AUX_DIR([build-aux])
+-AM_INIT_AUTOMAKE([libiconv], [1.14])
++AM_INIT_AUTOMAKE([libiconv-gedcom], [1.14])
+ AC_CONFIG_HEADERS([config.h lib/config.h])
+ AC_PROG_MAKE_SET
diff --git a/iconv/libiconv/patches/configure.patch b/iconv/libiconv/patches/configure.patch
new file mode 100644 (file)
index 0000000..227fba2
--- /dev/null
@@ -0,0 +1,26 @@
+--- a/libiconv-1.14/configure
++++ b/libiconv-1.14/configure
+@@ -565,10 +565,10 @@
+ MAKEFLAGS=
+ # Identity of this package.
+-PACKAGE_NAME=
+-PACKAGE_TARNAME=
+-PACKAGE_VERSION=
+-PACKAGE_STRING=
++PACKAGE_NAME='libiconv-gedcom'
++PACKAGE_TARNAME='libiconv-gedcom'
++PACKAGE_VERSION='1.14'
++PACKAGE_STRING='libiconv-gedcom 1.14'
+ PACKAGE_BUGREPORT=
+ PACKAGE_URL=
+@@ -3502,7 +3502,7 @@
+ # Define the identity of the package.
+- PACKAGE=libiconv
++ PACKAGE=libiconv-gedcom
+  VERSION=1.14
similarity index 61%
rename from iconv/libiconv/converters.h.patch
rename to iconv/libiconv/patches/converters.h.patch
index 9af7a80a05c04ddce40c26149ea4e101d3865433..002b86cf5ade9a91bae9f1800a5fd8ff9ab79fe3 100644 (file)
@@ -1,6 +1,6 @@
---- converters.h.orig  Wed May 29 16:06:52 2002
-+++ converters.h       Fri Oct  4 20:36:35 2002
-@@ -172,6 +172,7 @@
+--- a/libiconv-1.14/lib/converters.h
++++ b/libiconv-1.14/lib/converters.h
+@@ -184,6 +184,7 @@
  #include "mac_thai.h"
  #include "hp_roman8.h"
  #include "nextstep.h"
similarity index 77%
rename from iconv/libiconv/encodings.def.patch
rename to iconv/libiconv/patches/encodings.def.patch
index 01726d946722c12b0b3965fdd5b034e9925142f3..e01e9d1fe535e5966b4380e31e4a8a35c054a515 100644 (file)
@@ -1,6 +1,6 @@
---- encodings.def.orig Wed May 29 16:06:53 2002
-+++ encodings.def      Fri Oct  4 20:36:35 2002
-@@ -527,6 +527,12 @@
+--- a/libiconv-1.14/lib/encodings.def
++++ b/libiconv-1.14/lib/encodings.def
+@@ -633,6 +633,12 @@
              nextstep,
              { nextstep_mbtowc, NULL },    { nextstep_wctomb, NULL })
  
diff --git a/iconv/libiconv/patches/iconv_open.3.html.patch b/iconv/libiconv/patches/iconv_open.3.html.patch
new file mode 100644 (file)
index 0000000..2ac27cc
--- /dev/null
@@ -0,0 +1,12 @@
+--- a/libiconv-1.14/man/iconv_open.3.html
++++ b/libiconv-1.14/man/iconv_open.3.html
+@@ -74,7 +74,8 @@
+ KOI8&minus;R, KOI8&minus;U, KOI8&minus;RU,
+ CP{1250,1251,1252,1253,1254,1257}, CP{850,866,1131},
+ Mac{Roman,CentralEurope,Iceland,Croatian,Romania},
+-Mac{Cyrillic,Ukraine,Greek,Turkish}, Macintosh</p>
++Mac{Cyrillic,Ukraine,Greek,Turkish}, Macintosh,
++ANSEL</p>
+ <p style="margin-left:11%;">Semitic languages</p>
similarity index 63%
rename from iconv/libiconv/iconv_open.3.patch
rename to iconv/libiconv/patches/iconv_open.3.patch
index a4f2c8984e16255b44ec4c4faaf3f0a9777fd4b6..07f5cbafe19fa810cf3198f9f7390b6154fa75db 100644 (file)
@@ -1,5 +1,5 @@
---- iconv_open.3.orig  Wed May 29 16:06:53 2002
-+++ iconv_open.3       Fri Oct  4 20:36:35 2002
+--- a/libiconv-1.14/man/iconv_open.3
++++ b/libiconv-1.14/man/iconv_open.3
 @@ -36,6 +36,7 @@
  Mac{Roman,CentralEurope,Iceland,Croatian,Romania},
  Mac{Cyrillic,Ukraine,Greek,Turkish},
diff --git a/iconv/libiconv/patches/series b/iconv/libiconv/patches/series
new file mode 100644 (file)
index 0000000..9768fad
--- /dev/null
@@ -0,0 +1,10 @@
+config.charset.patch
+iconv_open.3.html.patch
+iconv_open.3.patch
+Makefile.in.patch
+converters.h.patch
+encodings.def.patch
+README.patch
+configure.patch
+configure.ac.patch
+ansi_z39_47.patch
diff --git a/iconv/libiconv/quiltrc b/iconv/libiconv/quiltrc
new file mode 100644 (file)
index 0000000..7e615eb
--- /dev/null
@@ -0,0 +1,30 @@
+# use quilt by invoking:
+# quilt --quiltrc quiltrc [command]
+#
+# Create new patch:
+#
+#     quilt --quiltrc=quiltrc new PATCH_NAME.patch
+#
+# Set file(s) affected by patch:
+#
+#     quilt --quiltrc=quiltrc add FILE_PATH
+#
+# Save patch changes:
+#
+#     quilt --quiltrc=quiltrc refresh
+#
+# Save patch and revert changes on upstream:
+#
+#     quilt --quiltrc=quiltrc pop -a
+
+#
+# Apply patches:
+#
+#     quilt --quiltrc=quiltrc push -a
+
+QUILT_PATCHES="patches"
+QUILT_PATCH_OPTS="--reject-format=unified"
+QUILT_DIFF_ARGS="-p ab --no-timestamps --no-index --color=auto"
+QUILT_REFRESH_ARGS="-p ab --no-timestamps --no-index"
+QUILT_COLORS="diff_hdr=1;32:diff_add=1;34:diff_rem=1;31:diff_hunk=1;33:diff_ctx=35:diff_cctx=33"
+