LIBICONV Bruno Haible Germany/France 1965 1999-12-08
Assigns program and future changes.
haible@clisp.cons.org
+
+RECODE Linus Walleij Sweden 1972 2000-07-03
+Assigns past and future changes (rtf.c).
+triad@df.lth.se
+2001-01-03 Bruno Haible <haible@clisp.cons.org>
+
+ * configure.in: Version 3.6.
+
+2001-01-03 Bruno Haible <haible@clisp.cons.org>
+
+ * configure.in: Test for memory.h and strndup.
+
+2000-12-06 Bruno Haible <haible@clisp.cons.org>
+
+ * configure.in: Remove determination of compile-time DEFAULT_CHARSET.
+ * README: Remove section about DEFAULT_CHARSET at installation time.
+
+2000-12-05 Bruno Haible <haible@clisp.cons.org>
+
+ * configure.in: Call AC_CANONICAL_HOST, jm_LANGINFO_CODESET,
+ jm_GLIBC21. Check for locale.h, stddef.h, stdlib.h, mbrtowc, wcrtomb,
+ setlocale.
+
+2000-08-30 Bruno Haible <haible@clisp.cons.org>
+
+ * Makefile.am (ACLOCAL): New definition.
+ * aclocal.sh: New file.
+ * Makefile.am (EXTRA_DIST): Add it.
+
2000-06-28 François Pinard <pinard@iro.umontreal.ca>
* configure.in: Version 3.5e.
# 02111-1307, USA.
AUTOMAKE_OPTIONS = gnits
+ACLOCAL = ./aclocal.sh @ACLOCAL@
ACLOCAL_AMFLAGS = -I m4
BABYL = ../rmail/* ../*/rmail/* ../*/*/RMAIL ../*/*/rmail/*
-EXTRA_DIST = COPYING-LIB PATCHES-AC rebox.el recode.spec
+EXTRA_DIST = COPYING-LIB PATCHES-AC rebox.el recode.spec aclocal.sh
SUBDIRS = m4 doc lib libiconv i18n src tests contrib
POTFILES = src/main.c src/names.c src/outer.c src/recode.c \
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = .
-
-ACLOCAL = @ACLOCAL@
AUTOCONF = @AUTOCONF@
AUTOMAKE = @AUTOMAKE@
AUTOHEADER = @AUTOHEADER@
DLLTOOL = @DLLTOOL@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
+GLIBC21 = @GLIBC21@
LEX = @LEX@
LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
LIBOBJS = @LIBOBJS@
VERSION = @VERSION@
AUTOMAKE_OPTIONS = gnits
+ACLOCAL = ./aclocal.sh @ACLOCAL@
ACLOCAL_AMFLAGS = -I m4
BABYL = ../rmail/* ../*/rmail/* ../*/*/RMAIL ../*/*/rmail/*
-EXTRA_DIST = COPYING-LIB PATCHES-AC rebox.el recode.spec
+EXTRA_DIST = COPYING-LIB PATCHES-AC rebox.el recode.spec aclocal.sh
SUBDIRS = m4 doc lib libiconv i18n src tests contrib
POTFILES = src/main.c src/names.c src/outer.c src/recode.c src/request.c src/strip-data.c src/task.c src/testdump.c
CONFIG_HEADER = config.h
CONFIG_CLEAN_FILES =
DIST_COMMON = README ./stamp-h.in ABOUT-NLS AUTHORS BACKLOG COPYING \
-ChangeLog INSTALL Makefile.am Makefile.in NEWS README-alpha THANKS TODO \
-acconfig.h acinclude.m4 aclocal.m4 config.guess config.h.in config.sub \
-configure configure.in install-sh ltconfig ltmain.sh missing \
-mkinstalldirs
+ChangeLog INSTALL Makefile.am Makefile.in NEWS THANKS TODO acconfig.h \
+acinclude.m4 aclocal.m4 config.guess config.h.in config.sub configure \
+configure.in install-sh ltconfig ltmain.sh missing mkinstalldirs
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
all: all-redirect
.SUFFIXES:
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && $(AUTOMAKE) --gnits Makefile
+ cd $(top_srcdir) && $(AUTOMAKE) --gnits --include-deps Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES)
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) \
&& CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
-$(ACLOCAL_M4): configure.in acinclude.m4 m4/atconfig.m4 m4/flex.m4 \
- m4/gettext.m4 m4/lcmessage.m4 m4/malloc.m4 \
- m4/microsoft.m4 m4/realloc.m4 m4/utimbuf.m4
+$(ACLOCAL_M4): configure.in acinclude.m4 m4/atconfig.m4 m4/codeset.m4 \
+ m4/flex.m4 m4/gettext.m4 m4/glibc21.m4 m4/lcmessage.m4 \
+ m4/libtool.m4 m4/malloc.m4 m4/realloc.m4 m4/utimbuf.m4
cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
-rm -rf $(distdir)
mkdir $(distdir)
-chmod 777 $(distdir)
- here=`cd $(top_builddir) && pwd`; \
- top_distdir=`cd $(distdir) && pwd`; \
- distdir=`cd $(distdir) && pwd`; \
- cd $(top_srcdir) \
- && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnits Makefile
@for file in $(DISTFILES); do \
d=$(srcdir); \
if test -d $$d/$$file; then \
Free recode NEWS - User visible changes. -*- outline -*- (allout)
-Copyright © 1993, 94, 96, 97, 98, 99, 00 Free Software Foundation, Inc.
+Copyright © 1993-1999, 2000, 2001 Free Software Foundation, Inc.
-* Version 3.5d - François Pinard, 2000-03.
+* Version 3.6 - François Pinard, Bruno Haible, 2001-01.
.* General changes
-. + The Texinfo manual is now indexed, by charset, by concept, etc.
+. + The recode manual is now indexed, by charset, by concept, etc.
. + Program messages are also available in Greek, Gallicean and Italian.
. + Bruno Haible's nice portable iconv library has been integrated.
. + RFC 1345 tables and French character names have been updated.
. + The Texinfo charset has been refreshed, and made reversible.
-.* New charsets (most from libiconv) [list to be revised]
+.* New charsets (most from libiconv)
. + Japanese
- EUC-JP (csEUCPkdFmtJapanese,
+ EUC-JP (csEUCPkdFmtJapanese, EUC_JP,
Extended_UNIX_Code_Packed_Format_for_Japanese);
ISO-2022-JP (csISO2022JP); ISO-2022-JP-1; ISO-2022-JP-2 (csISO2022JP2);
- JIS_X0201 (csHalfWidthKatakana, JISX0201-1976, JISX0201.1976-0, X0201);
- JIS_X0208 (JIS0208, JIS_X0208.1983-0, JIS_X0208-1983, JIS_X0208-1990,
- JIS_X0208.1983-1);
- JIS_X0212 (csISO159JISX02121990, ISO-IR-159, JIS_X0212.1990-0,
+ JIS_C6220-1969-ro (csISO14JISC6220ro, ISO646-JP, iso-ir-14, jp);
+ JIS_X0201 (csHalfWidthKatakana, JIS0201, JISX0201-1976, JISX0201.1976-0,
+ X0201);
+ JIS_X0208 (csISO87JISX0208, ISO-IR-87, JIS0208, JIS_X0208.1983-0,
+ JIS_X0208.1983-1, JIS_X0208-1990-0, JIS_X0208.1983-1, X0208);
+ JIS_X0212 (csISO159JISX02121990, ISO-IR-159, JIS0212, JIS_X0212.1990-0,
JIS_X0212-1990, X0212);
SJIS (csShiftJIS, MS_KANJI, SHIFT-JIS).
. + Chinese
- BIG5 (BIG-5, BIG-FIVE, BIGFIVE, csBig5);
- EUC-CN (csGB2312, EUCCN, GB2312); EUC-TW (csEUCTW, EUCTW);
- HZ (HZ-GB-2312); ISO-2022-CN (csISO2022CN); ISO-2022-CN-EXT.
+ BIG5 (BIG-5, BIG-FIVE, BIGFIVE, CN-BIG5 csBig5); BIG5HKSCS;
+ EUC-CN (CN-GB, csGB2312, EUC_CN, GB2312); EUC-TW (csEUCTW, EUC_TW);
+ GB18030; HZ (HZ-GB-2312); ISO-2022-CN (csISO2022CN); ISO-2022-CN-EXT;
+ GB_1988-80 (cn, csISO57GB1988, ISO646-CN, iso-ir-57);
+ GB_2312-80 (CHINESE, csISO58GB231280, GB2312.1980-0, ISO-IR-58);
+ ISO-IR-165 (CN-GB-ISOIR165).
. + Korean
- JOHAB (CP1361); EUC-KR (csEUCKR, EUCKR); GBK (CP936);
+ JOHAB (CP1361); EUC-KR (csEUCKR, EUC_KR); GBK (CP936);
ISO-2022-KR (csISO2022KR);
KSC_5601 (CP949, csKSC56011987, ISO-IR-149, KOREAN, KSC5601.1987-0,
- KS_C_5601-1987, KS_C_5601-1989).
+ KS_C_5601-1987, KS_C_5601-1989, KSX1001:1992).
. + Vietnamese (independently of libiconv)
TCVN; VIQR; VISCII; VNI; VPS.
MacHebrew; MacIceland; MacRomania; MacThai; MacTurkish; MacUkraine
. + Unicode
- JAVA; UCS-2-BE (csUnicode11, UNICODE-1-1, UnicodeBIG); UCS-2-INTERNAL;
- UCS-2-LE (UnicodeLITTLE); UCS-2-SWAPPED; UCS-4-BE; UCS-4-INTERNAL;
- UCS-4-LE; UCS-4-SWAPPED; UCS-2BE; UCS-2LE; UCS-4BE; UCS-4LE.
+ JAVA; UCS-2-INTERNAL; UCS-2LE (UnicodeLITTLE); UCS-2-SWAPPED; UCS-4BE;
+ UCS-4-INTERNAL; UCS-4LE; UCS-4-SWAPPED; UTF-16BE; UTF-16LE.
. + Others
- CP932; CP950; CP866 (866, csIBM866, IBM866).
+ CP932; CP949 (UHC); CP950; CP866 (866, csIBM866, IBM866).
+ ISO-8859-16 (ISO-IR-226, ISO_8859-16:2000).
. + Recode internal
:libiconv: (:) [so option -x: avoids going through libiconv]
csISOLatinArabic (for ISO-8859-6); csISOLatinCyrillic (for ISO-8859-5);
csISOLatinGreek (for ISO-8859-7); csISOLatinHebrew (for ISO-8859-8);
csKOI8R (for KOI8-R); csPC850Multilingual (for IBM850);
- csUCS4 (for ISO-10646-UCS-4); csUnicode (for ISO-10646-UCS-2);
+ csUCS4 (for ISO-10646-UCS-4);
+ csUnicode, csUnicode11, UCS-2BE, UnicodeBIG (for ISO-10646-UCS-2);
csUnicode11UTF7 (for UNICODE-1-1-UTF-7);
csVISCII and VISCII1.1-1 (for VISCII);
ISO-IR-179 (for ISO-8859-13); csMacintosh and MacRoman (for macintosh);
TCVN5712-1, TCVN5712-1:1993 and TCVN-5712 (for TCVN).
+.* New surfaces
+ tree (experimental).
+
* Version 3.5 - François Pinard, 1999-05.
.* Incompatible changes
. - combined-UCS-2: pseudo-charset.
. - count-characters: pseudo-charset.
. - dump-with-names: pseudo-charset.
-. - ISO-10646-UCS-2: aliases are UNICODE-1-1, BMP, rune and u2.
-. - ISO-10646-UCS-4: aliases are 10646, ISO-10646, UCS-4 and u4.
-. - UNICODE-1-1-UTF-7: aliases are TF-7 and u7.
-. - UTF-8: aliases are UTF-2, UTF-FSS, FSS_UTF, TF-8 and u8.
-. - UTF-16: aliases are Unicode, TF-16 and u6.
+. - ISO-10646-UCS-2 (UNICODE-1-1, BMP, rune, u2).
+. - ISO-10646-UCS-4 (10646, ISO-10646, UCS-4, u4).
+. - UNICODE-1-1-UTF-7 (TF-7, u7).
+. - UTF-8 (UTF-2, UTF-FSS, FSS_UTF, TF-8, u8).
+. - UTF-16 (Unicode, TF-16, u6).
. + RFC 1345.bis matters
. - Deleted charsets
dk-us, us-dk (because of &duplicate which `recode' does not handle yet).
. - New charsets
baltic (alias is iso-ir-179); CP1250 (1250, ms-ee, windows-1250);
- CP1251 (1251, ms-cyrl, windows-1251); CP1252 (1252, ms-ansi, windows-1252);
+ CP1251 (1251, ms-cyrl, windows-1251);
+ CP1252 (1252, ms-ansi, windows-1252);
CP1253 (1253, ms-greek, windows-1253);
- CP1254 (1254, ms-turk, windows-1254); CP1255 (1255, ms-hebr, windows-1255);
+ CP1254 (1254, ms-turk, windows-1254);
+ CP1255 (1255, ms-hebr, windows-1255);
CP1256 (1256, ms-arab, windows-1256);
CP1257 (1257, WinBaltRim, windows-1257);
CWI (CWI-2, cp-hu); EBCDIC-IS-FRISS (friss);
KOI8_L2 (CSN_369103); pclatin2, pcl2 (IBM852); SS636127 (SEN_850200_B).
. + New African charsets
-. - AFRL1-101-BPI_OCIL: aliases are t-francais and t-fra.
-. - AFRFUL-102-BPI_OCIL: aliases are bambara, bra, ewondo and fulfulde.
-. - AFRFUL-103-BPI_OCIL: aliases are t-bambara, t-bra, t-ewondo and t-fulfulde.
-. - AFRLIN-104-BPI_OCIL: aliases are lingala, lin, sango and wolof.
-. - AFRLIN-105-BPI_OCIL: aliases are t-lingala, t-lin, t-sango and t-wolof.
+ AFRL1-101-BPI_OCIL (t-francais, t-fra);
+ AFRFUL-102-BPI_OCIL (bambara, bra, ewondo, fulfulde);
+ AFRFUL-103-BPI_OCIL (t-bambara, t-bra, t-ewondo, t-fulfulde);
+ AFRLIN-104-BPI_OCIL (lingala, lin, sango, wolof);
+ AFRLIN-105-BPI_OCIL (t-lingala, t-lin, t-sango, t-wolof).
. + Extra miscellaneous charsets
-. - KEYBCS2, Kamenicky.
-. - CORK, T1.
-. - KOI-8_CS2.
+ KEYBCS2 (Kamenicky); CORK (T1); KOI-8_CS2.
. + New HTML pseudo-charsets
-. - HTML_1.1: alias is h1.
-. - HTML_2.0: aliases are RFC 1866, 1866 and h2.
-. - HTML-i18n: alias is RFC 2070.
-. - HTML_3.2: reimplemented; alias is h3.
-. - HTML_4.0: aliases are h4, HTML and h.
-. - Deleted aliases: HTF, 8859, ISO 8859, Entities, SGML, WWW, w3.
+ HTML_1.1 (h1); HTML_2.0 (RFC 1866, 1866, h2); HTML-i18n (RFC 2070);
+ HTML_3.2 (h3) reimplemented; HTML_4.0 (h4, HTML, h);
+ deleted aliases HTF, 8859, ISO 8859, Entities, SGML, WWW, w3.
.* Surfaces & aliases
-
-. + New MIME encoding surfaces
-. - Base64: aliases are 64 and b64.
-. - Quoted-Printable: aliases are qp and Quote-Printable.
-
-. + New permutation surfaces
-. - 21-Permutation: alias is swabytes.
-. - 4321-Permutation.
-
-. + New end of line surfaces
-. - CR.
-. - CR-LF: alias is cl.
-
-. + New (fully reversible) dump surfaces
-. - Decimal-1: aliases are d and d1.
-. - Decimal-2: alias is d2.
-. - Decimal-4: alias is d4.
-. - Hexadecimal-1: aliases are x and x1.
-. - Hexadecimal-2: alias is x2.
-. - Hexadecimal-4: alias is x4.
-. - Octal-1: aliases are o and o1.
-. - Octal-2: alias is o2.
-. - Octal-4: alias is o4.
-
-. + New miscellaneous surfaces.
-. - data, test7, test8, test15, test16.
+ Base64 (64, b64); Quoted-Printable (qp, Quote-Printable);
+ 21-Permutation (swabytes); 4321-Permutation; CR; CR-LF (cl);
+ Decimal-1 (d, d1); Decimal-2 (d2), Decimal-4 (d4);
+ Hexadecimal-1 (x, x1); Hexadecimal-2 (x2); Hexadecimal-4 (x4);
+ Octal-1 (o, o1); Octal-2 (o2); Octal-4 (o4).
+ data; test7; test8; test15; test16.
* Version 3.4 - François Pinard, 1994-11.
* README file for `recode' allout -*- outline -*-
- Here is version 3.5d for the Free `recode' program and library. Glance
+ Here is version 3.6 for the Free `recode' program and library. Glance
through this `README' file before starting configuration. Make sure
you read files `ABOUT-NLS' and `INSTALL' if you are not familiar with
them already.
The canonical distribution point for this version is:
- http://www.iro.umontreal.ca/contrib/recode/recode-3.5d.tar.gz
+ http://www.iro.umontreal.ca/contrib/recode/recode-3.6.tar.gz
- yet the second URL (the FTP one) might disappear one day. GNU mirrors
- usually hold a copy of non-pretest releases, the canonical distribution
- point for the last such release is:
+ GNU mirrors usually hold a copy of non-pretest releases, the canonical
+ distribution point for the last such release is:
- ftp://ftp.gnu.org/pub/gnu/recode/recode-3.5.tar.gz
+ ftp://ftp.gnu.org/pub/gnu/recode/recode-3.6.tar.gz
.* Introduction
------------
The `recode' library converts files between character sets and usages.
It recognises or produces more than 300 different character sets and
transliterates files between almost any pair. When exact transliteration
- are not possible, it gets rid of offending characters or fall back
+ are not possible, it gets rid of offending characters or falls back
on approximations. The `recode' program is a handy front-end to
the library.
Have Perl installed before Automake and `help2man'.
Python 1.5 and Flex 2.5, or better, are needed for remaking `merged.c',
- after you modify or add an `.l' source file.
+ after you modify an `.l' source file.
. + Mailing lists and collaboration
subscribe recode-forum
- Look into `http://www.iro.umontreal.ca/contrib/recode for various
+ Look into `http://www.iro.umontreal.ca/contrib/recode' for various
releases, pretests, and related files. In particular, button `Browse'
gives access to a weekly mirror of the current unpackaged work files,
while button `Folders' gives access to saved or pending correspondence.
Many may be applied by temporary presetting environment variables while
calling `./configure'. File `INSTALL' explains this.
-. + Default charset
-
- You may override the usual charset while configuring. The usual
- charset is implied when a charset name is omitted or empty, and when
- `DEFAULT_CHARSET' is unset in the environment at run time. For example,
- on an AtariST using `bash', one could do:
-
- DEFAULT_CHARSET=AtariST ./configure
-
- If you prefer to not have any usual charset at all, then use:
-
- DEFAULT_CHARSET= ./configure
-
- that is, define `DEFAULT_CHARSET' to the empty string before configuring.
- When installed this way, `recode' will not accept omitted charsets at
- run time, unless `DEFAULT_CHARSET' is set to some value in the environment.
-
. + Compilation time
Some C compilers, like Apollo's, have a real hard time compiling
+++ /dev/null
-A new pretest for the `recode' program and library is now available as:
-
- http://www.iro.umontreal.ca/contrib/recode/recode-3.5d.tar.gz
-
-This pretest release is a snapshot to help testing `libiconv' matters.
-Many matters are pending yet, to my knowledge, none is critical. I might
-process a few more, not much, with the goal of freezing features at the
-next pretest, and then prepare a real release if all goes well enough.
-
-Use mailto:recode-bugs@iro.umontreal.ca to report problems, or
-mailto:recode-forum@iro.umontreal.ca for a discussion mailing list.
-You need to subscribe first, see the `README' file to find how.
-Free recode has originally been written by François Pinard. Other people
+Free `recode' has originally been written by François Pinard. Other people
contributed to Free recode by reporting problems, suggesting various
improvements or submitting actual code. Here is a list of these people.
Help me keeping it complete and exempt of errors. See various ChangeLogs
David E. A. Wilson david_wilson@uow.edu.au
http://www.uow.edu.au/~david
David Kastrup
-David Lebel lebel@iro.umontreal.ca
+David Lebel lebel@lebel.org
David Mentre
David van Leeuwen
Detlev Droege droege@informatik.uni-koblenz.de
Francois-Xavier Bergot bergotfx@com.enst.fr
Françoise Audebrand audebran@ere.umontreal.ca
Frederic Albrecht
+Frederic Gobry frederic.gobry@epfl.ch
Frère Roy roy@taize.fr
http://www.taize.fr
Gabriel P. Silva gpsilva@geocities.com
Significant contributions require written assignments and disclaimers.
.* Before next official release
-
+. + Memory leaks: see add_to_sequence, ALLOC, recode_{m,re}alloc}.
+. + Revise everything about explodes.
. + Update NEWS for latest libiconv and latest Keld tables.
. + Remove TeX edition warnings, rephrase whatever required.
. + Complete inter-node and menu references, as necessary.
. + Resolve THANKS, which Emacs does not save correctly.
. + Check with recent versions for Autoconf, Automake, Libtool.
+. + See make and configure HAVE_UNION_WAIT, see `lr /conf-wait-'.
+. + Solaris cc 4.2 with option "-O" miscompiles src/libiconv.c, probably
+ the function module_libiconv. The symptom is that
+ "src/recode --quiet --force ascii-bs..ebcdic < COPYING > output"
+ creates an output file smaller than COPYING. The only known workaround
+ is to not use "-O".
+
+.* Keld
+. + recode
+. - New tables from Keld
+. - Revise diagnostics
+. + Standards aspects
+. - Wait for PostScript
+. : charset in 14652
+. : transliteration in 14652
+. : API in 15435
+. : recoding/iconv APIs (->Handa)
+. + Miscellaneous
+. - African tables
+. - Unicode/W3C short-comings
+. : Lithuanian
.* Particular notes
+. + feuille Tamil
. + Autoconf and DOSWIN
. + New RFC 1345 tables, still some diagnostics
. + Check notes from ORA
. + Option -M (implying -i) to process MIME headers
.* Mechanics
+. + Create a Python prototype of full `recode'.
. + Intercept signals to cleanup the temporary files in any event.
. + Revise --sequence=pipe thoroughly.
. + Rewrite execute_pipe_sequence for having only one child per parent.
fi
])
+#serial 2
-AC_DEFUN(fp_OS_MICROSOFT,
-[AC_CACHE_CHECK([for MSDOS, Win95 or WinNT], fp_cv_os_microsoft,
-[if test -n "$COMSPEC"; then
- # MSDOS or Win95
- fp_cv_os_microsoft=yes
-elif test -n "$ComSpec"; then
- # WinNT
- fp_cv_os_microsoft=yes
-else
- fp_cv_os_microsoft=no
-fi
-])])
+dnl From Bruno Haible.
+
+AC_DEFUN(jm_LANGINFO_CODESET,
+[
+ AC_CHECK_HEADERS(langinfo.h)
+ AC_CHECK_FUNCS(nl_langinfo)
+
+ AC_CACHE_CHECK([for nl_langinfo and CODESET], jm_cv_langinfo_codeset,
+ [AC_TRY_LINK([#include <langinfo.h>],
+ [char* cs = nl_langinfo(CODESET);],
+ jm_cv_langinfo_codeset=yes,
+ jm_cv_langinfo_codeset=no)
+ ])
+ if test $jm_cv_langinfo_codeset = yes; then
+ AC_DEFINE(HAVE_LANGINFO_CODESET, 1,
+ [Define if you have <langinfo.h> and nl_langinfo(CODESET).])
+ fi
+])
+
+#serial 2
+
+# Test for the GNU C Library, version 2.1 or newer.
+# From Bruno Haible.
+
+AC_DEFUN(jm_GLIBC21,
+ [
+ AC_CACHE_CHECK(whether we are using the GNU C Library 2.1 or newer,
+ ac_cv_gnu_library_2_1,
+ [AC_EGREP_CPP([Lucky GNU user],
+ [
+#include <features.h>
+#ifdef __GNU_LIBRARY__
+ #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2)
+ Lucky GNU user
+ #endif
+#endif
+ ],
+ ac_cv_gnu_library_2_1=yes,
+ ac_cv_gnu_library_2_1=no)
+ ]
+ )
+ AC_SUBST(GLIBC21)
+ GLIBC21="$ac_cv_gnu_library_2_1"
+ ]
+)
# serial 1
AC_CHECK_FUNCS(dcgettext gettext)
fi
- AC_CHECK_HEADERS(locale.h)
- AC_CHECK_FUNCS(getcwd setlocale stpcpy)
+ AC_CHECK_HEADERS(argz.h limits.h locale.h malloc.h string.h unistd.h sys/param.h)
+ AC_FUNC_MMAP
+ AC_CHECK_FUNCS(getcwd mempcpy munmap setlocale stpcpy strcasecmp strchr strdup __argz_count __argz_stringify __argz_next)
AM_LC_MESSAGES
if test -z "$ALL_LINGUAS"; then
--- /dev/null
+#! /bin/sh
+
+# This script is a work-alike of `aclocal' contained in the GNU automake
+# package. It is needed because our aclocal.m4 must be generated from the
+# non-gettext .m4 files in /usr/share/aclocal and from the gettext specific
+# .m4 files in the local m4 directory.
+# With "aclocal --acdir=m4"
+# we get an error: macro `AM_INIT_AUTOMAKE' not found in library
+# With "aclocal -I m4"
+# we get an error: duplicated macro `AM_GNU_GETTEXT'
+# The solution is to put all the .m4 files into a temporary directory.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program 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 General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+set -e
+
+if test $# = 0; then
+ echo "Usage: $0 aclocal-program [aclocal-options]" 1>&2
+ exit 1
+fi
+
+ACLOCAL="$1"
+shift
+
+# Prepare temporary directory.
+mkdir aclocal.tmp
+trap "rm -rf aclocal.tmp; exit 1" 1 2 15
+
+# First, copy the standard m4 files.
+for f in `"$ACLOCAL" --print-ac-dir`/*.m4; do
+ cp $f aclocal.tmp
+done
+
+# Then, copy the contents of any -I directories, overriding previously
+# copied files of the same name.
+options=""
+last_was_I=no
+for arg
+do
+ if test $last_was_I = yes; then
+ for f in "$arg"/*.m4; do
+ cp $f aclocal.tmp
+ done
+ last_was_I=no
+ else
+ case "$arg" in
+ -I) last_was_I=yes;;
+ *) last_was_I=no options="$options $arg";;
+ esac
+ fi
+done
+
+# Now call `aclocal' for real.
+"$ACLOCAL" --acdir=aclocal.tmp $options
+
+# Clean up temporary directory.
+rm -rf aclocal.tmp
+
/* config.h.in. Generated automatically from configure.in by autoheader. */
-/* Default charset is `Latin-1' on UNIX, `IBM-PC' on MSDOS. */
-#undef DEFAULT_CHARSET
+/* Define if on AIX 3.
+ System headers sometimes define this.
+ We just want to avoid a redefinition error message. */
+#ifndef _ALL_SOURCE
+#undef _ALL_SOURCE
+#endif
+
+/* Define if using alloca.c. */
+#undef C_ALLOCA
+
+/* Define to empty if the keyword does not work. */
+#undef const
+
+/* Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP systems.
+ This function is required for alloca.c support on those systems. */
+#undef CRAY_STACKSEG_END
+
+/* Define if you have alloca, as a function or macro. */
+#undef HAVE_ALLOCA
+
+/* Define if you have <alloca.h> and it should be used (not on Ultrix). */
+#undef HAVE_ALLOCA_H
+
+/* Define if you don't have vprintf but do have _doprnt. */
+#undef HAVE_DOPRNT
+
+/* Define if you have a working `mmap' system call. */
+#undef HAVE_MMAP
+
+/* Define if you have the vprintf function. */
+#undef HAVE_VPRINTF
+
+/* Define as __inline if that's what the C compiler calls it. */
+#undef inline
+
+/* Define if on MINIX. */
+#undef _MINIX
+
+/* Define if the system does not provide POSIX.1 features except
+ with this defined. */
+#undef _POSIX_1_SOURCE
+
+/* Define if you need to in order for stat and other things to work. */
+#undef _POSIX_SOURCE
+
+/* Define as the return type of signal handlers (int or void). */
+#undef RETSIGTYPE
+
+/* If using the C implementation of alloca, define if you know the
+ direction of stack growth for your system; otherwise it will be
+ automatically deduced at run-time.
+ STACK_DIRECTION > 0 => grows toward higher addresses
+ STACK_DIRECTION < 0 => grows toward lower addresses
+ STACK_DIRECTION = 0 => direction of growth unknown
+ */
+#undef STACK_DIRECTION
+
+/* Define if you have the ANSI C header files. */
+#undef STDC_HEADERS
+
+/* Define if you can safely include both <sys/time.h> and <time.h>. */
+#undef TIME_WITH_SYS_TIME
+
+/* Define if lex declares yytext as a char * by default, not a char[]. */
+#undef YYTEXT_POINTER
/* Define to 1 if NLS is requested. */
#undef ENABLE_NLS
/* Define to the installation directory for locales. */
#undef LOCALEDIR
-/* Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP systems.
- This function is required for alloca.c support on those systems. */
-#undef CRAY_STACKSEG_END
-
-/* Define if using `alloca.c'. */
-#undef C_ALLOCA
+/* Define if you have the __argz_count function. */
+#undef HAVE___ARGZ_COUNT
-/* Define if you have `alloca', as a function or macro. */
-#undef HAVE_ALLOCA
+/* Define if you have the __argz_next function. */
+#undef HAVE___ARGZ_NEXT
-/* Define if you have <alloca.h> and it should be used (not on Ultrix). */
-#undef HAVE_ALLOCA_H
+/* Define if you have the __argz_stringify function. */
+#undef HAVE___ARGZ_STRINGIFY
-/* Define if you have the `dcgettext' function. */
+/* Define if you have the dcgettext function. */
#undef HAVE_DCGETTEXT
-/* Define if the malloc check has been performed. */
-#undef HAVE_DONE_WORKING_MALLOC_CHECK
-
-/* Define if the realloc check has been performed. */
-#undef HAVE_DONE_WORKING_REALLOC_CHECK
-
-/* Define if you don't have `vprintf' but do have `_doprnt.' */
-#undef HAVE_DOPRNT
-
-/* Define if you have the `dup2' function. */
+/* Define if you have the dup2 function. */
#undef HAVE_DUP2
-/* Define if you have the `getcwd' function. */
+/* Define if you have the getcwd function. */
#undef HAVE_GETCWD
-/* Define if you have the `gettext' function. */
-#undef HAVE_GETTEXT
+/* Define if you have the getpagesize function. */
+#undef HAVE_GETPAGESIZE
-/* Define if your locale.h file contains LC_MESSAGES. */
-#undef HAVE_LC_MESSAGES
-
-/* Define if you have the `fl' library (-lfl). */
-#undef HAVE_LIBFL
+/* Define if you have the gettext function. */
+#undef HAVE_GETTEXT
-/* Define if you have the `intl' library (-lintl). */
-#undef HAVE_LIBINTL
+/* Define if you have the mbrtowc function. */
+#undef HAVE_MBRTOWC
-/* Define if you have the <libintl.h> header file. */
-#undef HAVE_LIBINTL_H
+/* Define if you have the mempcpy function. */
+#undef HAVE_MEMPCPY
-/* Define if you have the `l' library (-ll). */
-#undef HAVE_LIBL
+/* Define if you have the munmap function. */
+#undef HAVE_MUNMAP
-/* Define if you have the <limits.h> header file. */
-#undef HAVE_LIMITS_H
-
-/* Define if you have the <locale.h> header file. */
-#undef HAVE_LOCALE_H
+/* Define if you have the nl_langinfo function. */
+#undef HAVE_NL_LANGINFO
-/* Define if you have the `rename' function. */
+/* Define if you have the rename function. */
#undef HAVE_RENAME
-/* Define if you have the `setlocale' function. */
+/* Define if you have the setlocale function. */
#undef HAVE_SETLOCALE
-/* Define if you have the <stdbool.h> header file. */
-#undef HAVE_STDBOOL_H
-
-/* Define if you have the `stpcpy' function. */
+/* Define if you have the stpcpy function. */
#undef HAVE_STPCPY
-/* Define if you have the `strerror' function. */
+/* Define if you have the strcasecmp function. */
+#undef HAVE_STRCASECMP
+
+/* Define if you have the strchr function. */
+#undef HAVE_STRCHR
+
+/* Define if you have the strdup function. */
+#undef HAVE_STRDUP
+
+/* Define if you have the strerror function. */
#undef HAVE_STRERROR
-/* Define if you have the <string.h> header file. */
-#undef HAVE_STRING_H
+/* Define if you have the strndup function. */
+#undef HAVE_STRNDUP
-/* Define if you have the `strtol' function. */
+/* Define if you have the strtol function. */
#undef HAVE_STRTOL
-/* Define if you have the `strtoul' function. */
+/* Define if you have the strtoul function. */
#undef HAVE_STRTOUL
-/* Define if struct utimbuf is declared -- usually in <utime.h>. Some systems
- have utime.h but don't declare the struct anywhere. */
-#undef HAVE_STRUCT_UTIMBUF
+/* Define if you have the wcrtomb function. */
+#undef HAVE_WCRTOMB
-/* Define if you have the <unistd.h> header file. */
-#undef HAVE_UNISTD_H
+/* Define if you have the <argz.h> header file. */
+#undef HAVE_ARGZ_H
-/* Define if you have the <utime.h> header file. */
-#undef HAVE_UTIME_H
+/* Define if you have the <langinfo.h> header file. */
+#undef HAVE_LANGINFO_H
-/* Define if you have the `vprintf' function. */
-#undef HAVE_VPRINTF
+/* Define if you have the <libintl.h> header file. */
+#undef HAVE_LIBINTL_H
-/* Name of package */
-#undef PACKAGE
+/* Define if you have the <limits.h> header file. */
+#undef HAVE_LIMITS_H
-/* Define if compiler has function prototypes */
-#undef PROTOTYPES
+/* Define if you have the <locale.h> header file. */
+#undef HAVE_LOCALE_H
-/* Define as the return type of signal handlers (`int' or `void'). */
-#undef RETSIGTYPE
+/* Define if you have the <malloc.h> header file. */
+#undef HAVE_MALLOC_H
-/* If using the C implementation of alloca, define if you know the
- direction of stack growth for your system; otherwise it will be
- automatically deduced at run-time.
- STACK_DIRECTION > 0 => grows toward higher addresses
- STACK_DIRECTION < 0 => grows toward lower addresses
- STACK_DIRECTION = 0 => direction of growth unknown */
-#undef STACK_DIRECTION
+/* Define if you have the <memory.h> header file. */
+#undef HAVE_MEMORY_H
-/* Define if you have the ANSI C header files. */
-#undef STDC_HEADERS
+/* Define if you have the <stdbool.h> header file. */
+#undef HAVE_STDBOOL_H
-/* Define if you can safely include both <sys/time.h> and <time.h>. */
-#undef TIME_WITH_SYS_TIME
+/* Define if you have the <stddef.h> header file. */
+#undef HAVE_STDDEF_H
-/* Version number of package */
-#undef VERSION
+/* Define if you have the <stdlib.h> header file. */
+#undef HAVE_STDLIB_H
-/* Define if using the dmalloc debugging malloc package */
-#undef WITH_DMALLOC
+/* Define if you have the <string.h> header file. */
+#undef HAVE_STRING_H
-/* Define if `lex' declares `yytext' as a `char *' by default, not a `char[]'.
- */
-#undef YYTEXT_POINTER
+/* Define if you have the <sys/param.h> header file. */
+#undef HAVE_SYS_PARAM_H
-/* Define if on AIX 3.
- System headers sometimes define this.
- We just want to avoid a redefinition error message. */
-#ifndef _ALL_SOURCE
-# undef _ALL_SOURCE
-#endif
+/* Define if you have the <unistd.h> header file. */
+#undef HAVE_UNISTD_H
-/* Define if on MINIX. */
-#undef _MINIX
+/* Define if you have the <utime.h> header file. */
+#undef HAVE_UTIME_H
-/* Define if the system does not provide POSIX.1 features except with this
- defined. */
-#undef _POSIX_1_SOURCE
+/* Name of package */
+#undef PACKAGE
-/* Define if you need to in order for stat and other things to work. */
-#undef _POSIX_SOURCE
+/* Version number of package */
+#undef VERSION
-/* Define to empty if the keyword `const' is not conform to ANSI C. */
-#undef const
+/* Define if compiler has function prototypes */
+#undef PROTOTYPES
-/* Define as `__inline' if that's what the C compiler calls it, or to nothing
- if it is not supported. */
-#undef inline
+/* Define if struct utimbuf is declared -- usually in <utime.h>.
+ Some systems have utime.h but don't declare the struct anywhere. */
+#undef HAVE_STRUCT_UTIMBUF
+
+/* Define if the malloc check has been performed. */
+#undef HAVE_DONE_WORKING_MALLOC_CHECK
/* Define to rpl_malloc if the replacement function should be used. */
#undef malloc
+/* Define if the realloc check has been performed. */
+#undef HAVE_DONE_WORKING_REALLOC_CHECK
+
/* Define to rpl_realloc if the replacement function should be used. */
#undef realloc
+
+/* Define if you have <langinfo.h> and nl_langinfo(CODESET). */
+#undef HAVE_LANGINFO_CODESET
+
+/* Define if using the dmalloc debugging malloc package */
+#undef WITH_DMALLOC
+
+/* Define if your locale.h file contains LC_MESSAGES. */
+#undef HAVE_LC_MESSAGES
+
#! /bin/sh
+
# Guess values for system-dependent variables and create Makefiles.
-# Generated automatically using Autoconf version 2.14a
-# Copyright (C) 1992, 93, 94, 95, 96, 98, 1999 Free Software Foundation, Inc.
+# Generated automatically using autoconf version 2.13
+# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
#
# This configure script is free software; the Free Software Foundation
# gives unlimited permission to copy, distribute and modify it.
# Defaults:
-ac_arg_with_help=
-ac_arg_enable_help=
-ac_arg_var_help=
+ac_help=
ac_default_prefix=/usr/local
-# Factorizing default headers for most tests.
-ac_includes_default="\
-#include <stdio.h>
-#include <sys/types.h>
-#if STDC_HEADERS
-# include <stdlib.h>
-# include <stddef.h>
-#else
-# if HAVE_STDLIB_H
-# include <stdlib.h>
-# endif
-#endif
-#if HAVE_STRING_H
-# if !STDC_HEADERS && HAVE_MEMORY_H
-# include <memory.h>
-# endif
-# include <string.h>
-#else
-# if HAVE_STRINGS_H
-# include <strings.h>
-# endif
-#endif
-#if HAVE_UNISTD_H
-# include <unistd.h>
-#endif"
# Any additions from configure.in:
-ac_arg_var_help="$ac_arg_var_help
- CFLAGS Extra flags for the C compiler"
-ac_arg_enable_help="$ac_arg_enable_help
+ac_help="$ac_help
--enable-shared[=PKGS] build shared libraries [default=yes]"
-ac_arg_enable_help="$ac_arg_enable_help
+ac_help="$ac_help
--enable-static[=PKGS] build static libraries [default=yes]"
-ac_arg_enable_help="$ac_arg_enable_help
+ac_help="$ac_help
--enable-fast-install[=PKGS] optimize for fast installation [default=yes]"
-ac_arg_with_help="$ac_arg_with_help
+ac_help="$ac_help
--with-gnu-ld assume the C compiler uses GNU ld [default=no]"
-ac_arg_enable_help="$ac_arg_enable_help
+ac_help="$ac_help
--disable-libtool-lock avoid locking (might break parallel builds)"
-ac_arg_with_help="$ac_arg_with_help
+ac_help="$ac_help
--with-dmalloc use dmalloc, as in
ftp://ftp.letters.com/src/dmalloc/dmalloc.tar.gz"
-ac_arg_enable_help="$ac_arg_enable_help
+ac_help="$ac_help
--disable-nls disallow Native Language Support"
-ac_arg_with_help="$ac_arg_with_help
+ac_help="$ac_help
--with-catgets say that catgets is not supported"
-ac_arg_with_help="$ac_arg_with_help
+ac_help="$ac_help
--without-included-gettext avoid our provided version of gettext"
# Initialize some variables set by options.
MFLAGS= MAKEFLAGS=
SHELL=${CONFIG_SHELL-/bin/sh}
# Maximum number of lines to put in a shell here document.
-: ${ac_max_here_lines=12}
-# Sed expression to map a string onto a valid sh and CPP variable names.
-ac_tr_sh='sed -e y%*+%pp%;s%[^a-zA-Z0-9_]%_%g'
-ac_tr_cpp='sed -e y%*abcdefghijklmnopqrstuvwxyz%PABCDEFGHIJKLMNOPQRSTUVWXYZ%;s%[^A-Z0-9_]%_%g'
+ac_max_here_lines=12
ac_prev=
for ac_option
do
+
# If the previous option needs an argument, assign it.
if test -n "$ac_prev"; then
eval "$ac_prev=\$ac_option"
continue
fi
- ac_optarg=`echo "$ac_option" | sed -n 's/^[^=]*=//p'`
+ case "$ac_option" in
+ -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+ *) ac_optarg= ;;
+ esac
# Accept the important Cygnus configure options, so we can diagnose typos.
datadir="$ac_optarg" ;;
-disable-* | --disable-*)
- ac_feature=`echo "$ac_option"|sed -e 's/-*disable-//'`
+ ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
# Reject names that are not valid shell variable names.
- if echo "$ac_feature" | grep '[^-a-zA-Z0-9_]' >/dev/null 2>&1; then
+ if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
{ echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
fi
ac_feature=`echo $ac_feature| sed 's/-/_/g'`
eval "enable_${ac_feature}=no" ;;
-enable-* | --enable-*)
- ac_feature=`echo "$ac_option"|sed -e 's/-*enable-//' -e 's/=.*//'`
+ ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
# Reject names that are not valid shell variable names.
- if echo "$ac_feature" | grep '[^-a-zA-Z0-9_]' >/dev/null 2>&1; then
+ if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
{ echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
fi
ac_feature=`echo $ac_feature| sed 's/-/_/g'`
case "$ac_option" in
- *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
+ *=*) ;;
*) ac_optarg=yes ;;
esac
eval "enable_${ac_feature}='$ac_optarg'" ;;
# Obsolete; use --with-gas.
with_gas=yes ;;
- -help | --help | --hel | --he | -h)
+ -help | --help | --hel | --he)
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
- cat <<\EOF
-`configure' configures software source code packages to adapt to many kinds
-of systems.
-
-Usage: configure [OPTION]... [VAR=VALUE]... [HOST]
-
-To safely assign special values to environment variables (e.g., CC,
-CFLAGS...), give to `configure' the definition as VAR=VALUE.
-
-Defaults for the options are specified in brackets.
-
+ cat << EOF
+Usage: configure [options] [host]
+Options: [defaults in brackets after descriptions]
Configuration:
- -h, --help print this message
- --version print the version of autoconf that created configure
- -q, --quiet, --silent do not print \`checking...' messages
- --cache-file=FILE cache test results in FILE
- -n, --no-create do not create output files
-
-Directories:
+ --cache-file=FILE cache test results in FILE
+ --help print this message
+ --no-create do not create output files
+ --quiet, --silent do not print \`checking...' messages
+ --version print the version of autoconf that created configure
+Directory and file names:
--prefix=PREFIX install architecture-independent files in PREFIX
[$ac_default_prefix]
--exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
--infodir=DIR info documentation in DIR [PREFIX/info]
--mandir=DIR man documentation in DIR [PREFIX/man]
--srcdir=DIR find the sources in DIR [configure dir or ..]
-
-Program names:
--program-prefix=PREFIX prepend PREFIX to installed program names
--program-suffix=SUFFIX append SUFFIX to installed program names
--program-transform-name=PROGRAM
run sed PROGRAM on installed program names
-
EOF
- cat <<\EOF
+ cat << EOF
Host type:
- --build=BUILD configure for building on BUILD [BUILD=HOST]
- --host=HOST configure for HOST [guessed]
- --target=TARGET configure for TARGET [TARGET=HOST]
-
-X features:
- --x-includes=DIR X include files are in DIR
- --x-libraries=DIR X library files are in DIR
-EOF
- test -n "$ac_arg_enable_help" && echo "
-Optional features:
+ --build=BUILD configure for building on BUILD [BUILD=HOST]
+ --host=HOST configure for HOST [guessed]
+ --target=TARGET configure for TARGET [TARGET=HOST]
+Features and packages:
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
- --enable-FEATURE[=ARG] include FEATURE [ARG=yes]\
-$ac_arg_enable_help"
- test -n "$ac_arg_with_help" && echo "
-Optional packages:
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
- --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)\
-$ac_arg_with_help"
- test -n "$ac_arg_var_help" && echo "
-Some influent environment variables:$ac_arg_var_help"
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --x-includes=DIR X include files are in DIR
+ --x-libraries=DIR X library files are in DIR
+EOF
+ if test -n "$ac_help"; then
+ echo "--enable and --with options recognized:$ac_help"
+ fi
exit 0 ;;
-host | --host | --hos | --ho)
verbose=yes ;;
-version | --version | --versio | --versi | --vers)
- echo "configure generated by autoconf version 2.14a"
+ echo "configure generated by autoconf version 2.13"
exit 0 ;;
-with-* | --with-*)
- ac_package=`echo "$ac_option"|sed -e 's/-*with-//' -e 's/=.*//'`
+ ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
# Reject names that are not valid shell variable names.
- if echo "$ac_feature" | grep '[^-a-zA-Z0-9_]' >/dev/null 2>&1; then
+ if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
{ echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
fi
ac_package=`echo $ac_package| sed 's/-/_/g'`
case "$ac_option" in
- *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
+ *=*) ;;
*) ac_optarg=yes ;;
esac
eval "with_${ac_package}='$ac_optarg'" ;;
-without-* | --without-*)
- ac_package=`echo "$ac_option"|sed -e 's/-*without-//'`
+ ac_package=`echo $ac_option|sed -e 's/-*without-//'`
# Reject names that are not valid shell variable names.
- if echo "$ac_feature" | grep '[^-a-zA-Z0-9_]' >/dev/null 2>&1; then
+ if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
{ echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
fi
ac_package=`echo $ac_package| sed 's/-/_/g'`
-*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
;;
- *=*)
- ac_envvar=`echo "$ac_option" | sed -e 's/=.*//'`
- # Reject names that are not valid shell variable names.
- if echo "$ac_envvar" | grep '[^a-zA-Z0-9_]' >/dev/null 2>&1; then
- { echo "configure: error: $ac_envvar: invalid variable name" 1>&2; exit 1; }
- fi
- ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`
- eval "$ac_envvar='$ac_optarg'"
- export $ac_envvar ;;
-
*)
- if echo "$ac_feature" | grep '[^-a-zA-Z0-9.]' >/dev/null 2>&1; then
- echo "configure: WARNING: $ac_option: invalid host type" 1>&2
+ if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
+ echo "configure: warning: $ac_option: invalid host type" 1>&2
fi
if test "x$nonopt" != xNONE; then
{ echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
done
if test -n "$ac_prev"; then
- { echo "configure: error: missing argument to --\`echo $ac_prev | sed 's/_/-/g'\`" 1>&2; exit 1; }
+ { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
fi
trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
" 1>&5
# Strip out --no-create and --no-recursion so they do not pile up.
-# Also quote any args containing shell meta-characters.
+# Also quote any args containing shell metacharacters.
ac_configure_args=
for ac_arg
do
| --no-cr | --no-c) ;;
-no-recursion | --no-recursion | --no-recursio | --no-recursi \
| --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
- *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
- ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"`
+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
ac_configure_args="$ac_configure_args '$ac_arg'" ;;
*) ac_configure_args="$ac_configure_args $ac_arg" ;;
esac
done
-
-# Support of DJGPP port of bash.
-if test -n "$COMSPEC$ComSpec"; then ac_x=-x; else ac_x=-f; fi
# NLS nuisances.
# Only set these to C if already set. These must not be set unconditionally
# confdefs.h avoids OS command line length limits that DEFS can exceed.
rm -rf conftest* confdefs.h
# AIX cpp loses on an empty file, so make sure it contains at least a newline.
-echo >confdefs.h
+echo > confdefs.h
# A filename unique to this package, relative to the directory that
# configure is in, which we can look for to find out if srcdir is correct.
ac_srcdir_defaulted=yes
# Try the directory containing this script, then its parent.
ac_prog=$0
- ac_confdir=`echo "$ac_prog"|sed 's%/[^/][^/]*$%%'`
+ ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
srcdir=$ac_confdir
if test ! -r $srcdir/$ac_unique_file; then
fi
if test ! -r $srcdir/$ac_unique_file; then
if test "$ac_srcdir_defaulted" = yes; then
- { echo "configure: error: cannot find sources in $ac_confdir or .." 1>&2; exit 1; }
+ { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
else
- { echo "configure: error: cannot find sources in $srcdir" 1>&2; exit 1; }
+ { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
fi
fi
srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
if test -r "$cache_file"; then
echo "loading cache $cache_file"
- test -f "$cache_file" && . $cache_file
+ . $cache_file
else
echo "creating cache $cache_file"
- >$cache_file
+ > $cache_file
fi
ac_ext=c
ac_exeext=
ac_objext=o
if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
- # Stardent Vistra SVR4 grep lacks -e, says Kaveh Ghazi
+ # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
ac_n= ac_c='
' ac_t=' '
ac_n= ac_c='\c' ac_t=
fi
+
+
+
+
+
ac_aux_dir=
for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
if test -f $ac_dir/install-sh; then
ac_aux_dir=$ac_dir
ac_install_sh="$ac_aux_dir/install.sh -c"
break
- elif test -f $ac_dir/shtool; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/shtool install -c"
- break
fi
done
if test -z "$ac_aux_dir"; then
- { echo "configure: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." 1>&2; exit 1; }
+ { echo "configure: error: can not find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." 1>&2; exit 1; }
fi
-ac_config_guess="$SHELL $ac_aux_dir/config.guess"
-ac_config_sub="$SHELL $ac_aux_dir/config.sub"
-ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure.
+ac_config_guess=$ac_aux_dir/config.guess
+ac_config_sub=$ac_aux_dir/config.sub
+ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
# Find a good install program. We prefer a C program (faster),
# so one script is as good as another. But avoid the broken or
# AFS /usr/afsws/bin/install, which mishandles nonexistent args
# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
# ./install, which can be erroneously created by make from ./install.sh.
-echo $ac_n "checking for a BSD compatible install... $ac_c" 1>&6
-echo "configure:637: checking for a BSD compatible install" 1>&5
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:579: checking for a BSD compatible install" >&5
if test -z "$INSTALL"; then
-if test "${ac_cv_path_install+set}" = set; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
# Don't use installbsd from OSF since it installs stuff as root
# by default.
for ac_prog in ginstall scoinst install; do
- if test $ac_x $ac_dir/$ac_prog; then
+ if test -f $ac_dir/$ac_prog; then
if test $ac_prog = install &&
grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
# AIX install. It has an incompatible calling convention.
:
- elif test $ac_prog = install &&
- grep pwplus $ac_dir/$ac_prog >/dev/null 2>&1; then
- # program-specific install script used by HP pwplus--don't use.
- :
else
- if test $ac_prog = installbsd &&
- grep src/bos $ac_dir/$ac_prog >/dev/null 2>&1; then
- # AIX installbsd doesn't work without option "-g".
- :
- else
- ac_cv_path_install="$ac_dir/$ac_prog -c"
- break 2
- fi
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
fi
fi
done
# It thinks the first close brace ends the variable substitution.
test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-echo $ac_n "checking whether build environment is sane... $ac_c" 1>&6
-echo "configure:700: checking whether build environment is sane" 1>&5
+echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
+echo "configure:632: checking whether build environment is sane" >&5
# Just in case
sleep 1
echo timestamp > conftestfile
program_transform_name=
else
# Double any \ or $. echo might interpret backslashes.
- cat <<\EOF_SED >conftestsed
+ cat <<\EOF_SED > conftestsed
s,\\,\\\\,g; s,\$,$$,g
EOF_SED
- program_transform_name=`echo $program_transform_name|sed -f conftestsed`
+ program_transform_name="`echo $program_transform_name|sed -f conftestsed`"
rm -f conftestsed
fi
test "$program_prefix" != NONE &&
- program_transform_name="s,^,${program_prefix},;$program_transform_name"
+ program_transform_name="s,^,${program_prefix},; $program_transform_name"
# Use a double $ so make ignores it.
test "$program_suffix" != NONE &&
- program_transform_name="s,\$\$,${program_suffix},;$program_transform_name"
+ program_transform_name="s,\$\$,${program_suffix},; $program_transform_name"
# sed with no file args requires a program.
test "$program_transform_name" = "" && program_transform_name="s,x,x,"
-echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}... $ac_c" 1>&6
-echo "configure:757: checking whether ${MAKE-make} sets \${MAKE}" 1>&5
+echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
+echo "configure:689: checking whether ${MAKE-make} sets \${MAKE}" >&5
set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
-if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then
+if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
- cat >conftestmake <<\EOF
+ cat > conftestmake <<\EOF
all:
@echo 'ac_maketemp="${MAKE}"'
EOF
SET_MAKE="MAKE=${MAKE-make}"
fi
+
PACKAGE=recode
-VERSION=3.5e
+VERSION=3.6
if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
{ echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; }
fi
-cat >>confdefs.h <<EOF
+cat >> confdefs.h <<EOF
#define PACKAGE "$PACKAGE"
EOF
-cat >>confdefs.h <<EOF
+cat >> confdefs.h <<EOF
#define VERSION "$VERSION"
EOF
+
+
missing_dir=`cd $ac_aux_dir && pwd`
-echo $ac_n "checking for working aclocal... $ac_c" 1>&6
-echo "configure:800: checking for working aclocal" 1>&5
+echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
+echo "configure:735: checking for working aclocal" >&5
# Run test in a subshell; some versions of sh will print an error if
# an executable is not found, even if stderr is redirected.
# Redirect stdin to placate older versions of autoconf. Sigh.
echo "$ac_t""missing" 1>&6
fi
-echo $ac_n "checking for working autoconf... $ac_c" 1>&6
-echo "configure:813: checking for working autoconf" 1>&5
+echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
+echo "configure:748: checking for working autoconf" >&5
# Run test in a subshell; some versions of sh will print an error if
# an executable is not found, even if stderr is redirected.
# Redirect stdin to placate older versions of autoconf. Sigh.
echo "$ac_t""missing" 1>&6
fi
-echo $ac_n "checking for working automake... $ac_c" 1>&6
-echo "configure:826: checking for working automake" 1>&5
+echo $ac_n "checking for working automake""... $ac_c" 1>&6
+echo "configure:761: checking for working automake" >&5
# Run test in a subshell; some versions of sh will print an error if
# an executable is not found, even if stderr is redirected.
# Redirect stdin to placate older versions of autoconf. Sigh.
echo "$ac_t""missing" 1>&6
fi
-echo $ac_n "checking for working autoheader... $ac_c" 1>&6
-echo "configure:839: checking for working autoheader" 1>&5
+echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
+echo "configure:774: checking for working autoheader" >&5
# Run test in a subshell; some versions of sh will print an error if
# an executable is not found, even if stderr is redirected.
# Redirect stdin to placate older versions of autoconf. Sigh.
echo "$ac_t""missing" 1>&6
fi
-echo $ac_n "checking for working makeinfo... $ac_c" 1>&6
-echo "configure:852: checking for working makeinfo" 1>&5
+echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
+echo "configure:787: checking for working makeinfo" >&5
# Run test in a subshell; some versions of sh will print an error if
# an executable is not found, even if stderr is redirected.
# Redirect stdin to placate older versions of autoconf. Sigh.
echo "$ac_t""missing" 1>&6
fi
+
AT_TESTPATH=../src
-echo $ac_n "checking how to suppress newlines using echo... $ac_c" 1>&6
-echo "configure:867: checking how to suppress newlines using echo" 1>&5
-if test "${fp_cv_prog_echo_nonl+set}" = set; then
+echo $ac_n "checking how to suppress newlines using echo""... $ac_c" 1>&6
+echo "configure:803: checking how to suppress newlines using echo" >&5
+if eval "test \"`echo '$''{'fp_cv_prog_echo_nonl'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
fi
fi
+
echo "$ac_t""$fp_cv_prog_echo_nonl" 1>&6
test $fp_cv_prog_echo_nonl = no \
&& echo 2>&1 "WARNING: \`echo' not powerful enough for \`make check'"
escape) ECHO_N= ECHO_C='\c' ;;
esac
-ALL_LINGUAS="da de el es fr gl it nl pl pt sl sv"
-case "${CFLAGS+set} $ac_configure_args" in
- *" CFLAGS="* );;
- "set "*) ac_configure_args="CFLAGS='$CFLAGS' $ac_configure_args";;
-esac
+ALL_LINGUAS="da de el es fr gl it nl pl pt sl sv"
- # Extract the first word of "gcc", so it can be a program name with args.
+# Extract the first word of "gcc", so it can be a program name with args.
set dummy gcc; ac_word=$2
-echo $ac_n "checking for $ac_word... $ac_c" 1>&6
-echo "configure:901: checking for $ac_word" 1>&5
-if test "${ac_cv_prog_CC+set}" = set; then
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:834: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
if test -n "$CC"; then
ac_dummy="$PATH"
for ac_dir in $ac_dummy; do
test -z "$ac_dir" && ac_dir=.
- if test $ac_x $ac_dir/$ac_word; then
+ if test -f $ac_dir/$ac_word; then
ac_cv_prog_CC="gcc"
break
fi
echo "$ac_t""no" 1>&6
fi
- if test -z "$CC"; then
- # Extract the first word of "cc", so it can be a program name with args.
+if test -z "$CC"; then
+ # Extract the first word of "cc", so it can be a program name with args.
set dummy cc; ac_word=$2
-echo $ac_n "checking for $ac_word... $ac_c" 1>&6
-echo "configure:931: checking for $ac_word" 1>&5
-if test "${ac_cv_prog_CC+set}" = set; then
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:864: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
if test -n "$CC"; then
ac_dummy="$PATH"
for ac_dir in $ac_dummy; do
test -z "$ac_dir" && ac_dir=.
- if test $ac_x $ac_dir/$ac_word; then
+ if test -f $ac_dir/$ac_word; then
if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
ac_prog_rejected=yes
continue
echo "$ac_t""no" 1>&6
fi
- if test -z "$CC"; then
- for ac_prog in cl
-do
-# Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-echo $ac_n "checking for $ac_word... $ac_c" 1>&6
-echo "configure:982: checking for $ac_word" 1>&5
-if test "${ac_cv_prog_CC+set}" = set; then
+ if test -z "$CC"; then
+ case "`uname -s`" in
+ *win32* | *WIN32*)
+ # Extract the first word of "cl", so it can be a program name with args.
+set dummy cl; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:915: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
if test -n "$CC"; then
ac_dummy="$PATH"
for ac_dir in $ac_dummy; do
test -z "$ac_dir" && ac_dir=.
- if test $ac_x $ac_dir/$ac_word; then
- ac_cv_prog_CC="$ac_prog"
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_CC="cl"
break
fi
done
else
echo "$ac_t""no" 1>&6
fi
-
-test -n "$CC" && break
-done
-
- fi
+ ;;
+ esac
fi
+ test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
+fi
-test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
-
-echo $ac_n "checking whether the C compiler ($CC $CFLAGS $CPPFLAGS $LDFLAGS) works... $ac_c" 1>&6
-echo "configure:1017: checking whether the C compiler ($CC $CFLAGS $CPPFLAGS $LDFLAGS) works" 1>&5
+echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
+echo "configure:947: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
ac_ext=c
# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
cross_compiling=$ac_cv_prog_cc_cross
-cat >conftest.$ac_ext <<EOF
+cat > conftest.$ac_ext << EOF
-#line 1028 "configure"
+#line 958 "configure"
#include "confdefs.h"
-int main(){return(0);}
+main(){return(0);}
EOF
-if { (eval echo configure:1033: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:963: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
ac_cv_prog_cc_works=yes
# If we can't run a trivial program, we are probably using a cross compiler.
if (./conftest; exit) 2>/dev/null; then
echo "$ac_t""$ac_cv_prog_cc_works" 1>&6
if test $ac_cv_prog_cc_works = no; then
- { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 77; }
+ { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
fi
-echo $ac_n "checking whether the C compiler ($CC $CFLAGS $CPPFLAGS $LDFLAGS) is a cross-compiler... $ac_c" 1>&6
-echo "configure:1059: checking whether the C compiler ($CC $CFLAGS $CPPFLAGS $LDFLAGS) is a cross-compiler" 1>&5
+echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
+echo "configure:989: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
cross_compiling=$ac_cv_prog_cc_cross
-echo $ac_n "checking whether we are using GNU C... $ac_c" 1>&6
-echo "configure:1064: checking whether we are using GNU C" 1>&5
-if test "${ac_cv_prog_gcc+set}" = set; then
+echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
+echo "configure:994: checking whether we are using GNU C" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
- cat >conftest.c <<EOF
+ cat > conftest.c <<EOF
#ifdef __GNUC__
yes;
#endif
EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1073: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1003: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
ac_cv_prog_gcc=yes
else
ac_cv_prog_gcc=no
fi
fi
+
echo "$ac_t""$ac_cv_prog_gcc" 1>&6
if test $ac_cv_prog_gcc = yes; then
ac_test_CFLAGS="${CFLAGS+set}"
ac_save_CFLAGS="$CFLAGS"
CFLAGS=
-echo $ac_n "checking whether ${CC-cc} accepts -g... $ac_c" 1>&6
-echo "configure:1091: checking whether ${CC-cc} accepts -g" 1>&5
-if test "${ac_cv_prog_cc_g+set}" = set; then
+echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
+echo "configure:1022: checking whether ${CC-cc} accepts -g" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
- echo 'void f(){}' >conftest.c
+ echo 'void f(){}' > conftest.c
if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
ac_cv_prog_cc_g=yes
else
rm -f conftest*
fi
+
echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
if test "$ac_test_CFLAGS" = set; then
CFLAGS="$ac_save_CFLAGS"
fi
fi
-echo $ac_n "checking how to run the C preprocessor... $ac_c" 1>&6
-echo "configure:1122: checking how to run the C preprocessor" 1>&5
+echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
+echo "configure:1054: checking how to run the C preprocessor" >&5
# On Suns, sometimes $CPP names a directory.
if test -n "$CPP" && test -d "$CPP"; then
CPP=
fi
if test -z "$CPP"; then
-if test "${ac_cv_prog_CPP+set}" = set; then
+if eval "test \"`echo '$''{'ac_cv_prog_CPP'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
# This must be in double quotes, not single quotes, because CPP may get
CPP="${CC-cc} -E"
# On the NeXT, cc -E runs the code through the compiler's parser,
# not just through cpp.
- cat >conftest.$ac_ext <<EOF
-#line 1137 "configure"
+ cat > conftest.$ac_ext <<EOF
+#line 1069 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax Error
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1143: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1075: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
:
cat conftest.$ac_ext >&5
rm -rf conftest*
CPP="${CC-cc} -E -traditional-cpp"
- cat >conftest.$ac_ext <<EOF
-#line 1154 "configure"
+ cat > conftest.$ac_ext <<EOF
+#line 1086 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax Error
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1160: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1092: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
:
cat conftest.$ac_ext >&5
rm -rf conftest*
CPP="${CC-cc} -nologo -E"
- cat >conftest.$ac_ext <<EOF
-#line 1171 "configure"
+ cat > conftest.$ac_ext <<EOF
+#line 1103 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax Error
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1177: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1109: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
:
fi
echo "$ac_t""$CPP" 1>&6
-echo $ac_n "checking for AIX... $ac_c" 1>&6
-echo "configure:1202: checking for AIX" 1>&5
-cat >conftest.$ac_ext <<EOF
-#line 1204 "configure"
+echo $ac_n "checking for AIX""... $ac_c" 1>&6
+echo "configure:1134: checking for AIX" >&5
+cat > conftest.$ac_ext <<EOF
+#line 1136 "configure"
#include "confdefs.h"
#ifdef _AIX
yes
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
egrep "yes" >/dev/null 2>&1; then
rm -rf conftest*
- echo "$ac_t""yes" 1>&6
-cat >>confdefs.h <<\EOF
+ echo "$ac_t""yes" 1>&6; cat >> confdefs.h <<\EOF
#define _ALL_SOURCE 1
EOF
fi
rm -f conftest*
-echo $ac_n "checking for minix/config.h... $ac_c" 1>&6
-echo "configure:1226: checking for minix/config.h" 1>&5
-if test "${ac_cv_header_minix_config_h+set}" = set; then
+
+ac_safe=`echo "minix/config.h" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for minix/config.h""... $ac_c" 1>&6
+echo "configure:1159: checking for minix/config.h" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
- cat >conftest.$ac_ext <<EOF
-#line 1231 "configure"
+ cat > conftest.$ac_ext <<EOF
+#line 1164 "configure"
#include "confdefs.h"
#include <minix/config.h>
-
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1237: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1169: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
- ac_cv_header_minix_config_h=yes
+ eval "ac_cv_header_$ac_safe=yes"
else
echo "$ac_err" >&5
echo "configure: failed program was:" >&5
cat conftest.$ac_ext >&5
rm -rf conftest*
- ac_cv_header_minix_config_h=no
+ eval "ac_cv_header_$ac_safe=no"
fi
rm -f conftest*
fi
-echo "$ac_t""$ac_cv_header_minix_config_h" 1>&6
-if test $ac_cv_header_minix_config_h = yes; then
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
MINIX=yes
else
- MINIX=
+ echo "$ac_t""no" 1>&6
+MINIX=
fi
if test "$MINIX" = yes; then
- cat >>confdefs.h <<\EOF
+ cat >> confdefs.h <<\EOF
#define _POSIX_SOURCE 1
EOF
- cat >>confdefs.h <<\EOF
+ cat >> confdefs.h <<\EOF
#define _POSIX_1_SOURCE 2
EOF
- cat >>confdefs.h <<\EOF
+ cat >> confdefs.h <<\EOF
#define _MINIX 1
EOF
enable_fast_install=yes
fi
-echo $ac_n "checking host system type... $ac_c" 1>&6
-echo "configure:1343: checking host system type" 1>&5
-if test "x$ac_cv_host" = "x" || (test "x$host" != "xNONE" && test "x$host" != "x$ac_cv_host_alias"); then
- # Make sure we can run config.sub.
- if $ac_config_sub sun4 >/dev/null 2>&1; then :; else
- { echo "configure: error: cannot run $ac_config_sub" 1>&2; exit 1; }
- fi
-
- ac_cv_host_alias=$host
- case "$ac_cv_host_alias" in
- NONE)
- case $nonopt in
- NONE)
- if ac_cv_host_alias=`$ac_config_guess`; then :
- else { echo "configure: error: cannot guess host type; you must specify one" 1>&2; exit 1; }
- fi ;; *) ac_cv_host_alias=$nonopt ;;
- esac ;;
- esac
-
- ac_cv_host=`$ac_config_sub $ac_cv_host_alias` || exit 1
- ac_cv_host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
- ac_cv_host_vendor=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
- ac_cv_host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-else
- echo $ac_n "(cached) $ac_c" 1>&6
+# Make sure we can run config.sub.
+if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
+else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
fi
-echo "$ac_t""$ac_cv_host" 1>&6
-
-host=$ac_cv_host
-host_alias=$ac_cv_host_alias
-host_cpu=$ac_cv_host_cpu
-host_vendor=$ac_cv_host_vendor
-host_os=$ac_cv_host_os
+echo $ac_n "checking host system type""... $ac_c" 1>&6
+echo "configure:1282: checking host system type" >&5
-echo $ac_n "checking build system type... $ac_c" 1>&6
-echo "configure:1379: checking build system type" 1>&5
-if test "x$ac_cv_build" = "x" || (test "x$build" != "xNONE" && test "x$build" != "x$ac_cv_build_alias"); then
-
- # Make sure we can run config.sub.
- if $ac_config_sub sun4 >/dev/null 2>&1; then :; else
- { echo "configure: error: cannot run $ac_config_sub" 1>&2; exit 1; }
- fi
-
- ac_cv_build_alias=$build
- case "$ac_cv_build_alias" in
+host_alias=$host
+case "$host_alias" in
+NONE)
+ case $nonopt in
NONE)
- case $nonopt in
- NONE)
- ac_cv_build_alias=$host_alias ;;
- *) ac_cv_build_alias=$nonopt ;;
- esac ;;
- esac
-
- ac_cv_build=`$ac_config_sub $ac_cv_build_alias` || exit 1
- ac_cv_build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
- ac_cv_build_vendor=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
- ac_cv_build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-else
- echo $ac_n "(cached) $ac_c" 1>&6
-fi
+ if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
+ else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
+ fi ;;
+ *) host_alias=$nonopt ;;
+ esac ;;
+esac
-echo "$ac_t""$ac_cv_build" 1>&6
+host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
+host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$host" 1>&6
+
+echo $ac_n "checking build system type""... $ac_c" 1>&6
+echo "configure:1303: checking build system type" >&5
+
+build_alias=$build
+case "$build_alias" in
+NONE)
+ case $nonopt in
+ NONE) build_alias=$host_alias ;;
+ *) build_alias=$nonopt ;;
+ esac ;;
+esac
-build=$ac_cv_build
-build_alias=$ac_cv_build_alias
-build_cpu=$ac_cv_build_cpu
-build_vendor=$ac_cv_build_vendor
-build_os=$ac_cv_build_os
+build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
+build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$build" 1>&6
# Extract the first word of "ranlib", so it can be a program name with args.
set dummy ranlib; ac_word=$2
-echo $ac_n "checking for $ac_word... $ac_c" 1>&6
-echo "configure:1416: checking for $ac_word" 1>&5
-if test "${ac_cv_prog_RANLIB+set}" = set; then
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1323: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
if test -n "$RANLIB"; then
ac_dummy="$PATH"
for ac_dir in $ac_dummy; do
test -z "$ac_dir" && ac_dir=.
- if test $ac_x $ac_dir/$ac_word; then
+ if test -f $ac_dir/$ac_word; then
ac_cv_prog_RANLIB="ranlib"
break
fi
ac_prog=ld
if test "$ac_cv_prog_gcc" = yes; then
# Check if gcc -print-prog-name=ld gives a path.
- echo $ac_n "checking for ld used by GCC... $ac_c" 1>&6
-echo "configure:1455: checking for ld used by GCC" 1>&5
+ echo $ac_n "checking for ld used by GCC""... $ac_c" 1>&6
+echo "configure:1362: checking for ld used by GCC" >&5
ac_prog=`($CC -print-prog-name=ld) 2>&5`
case "$ac_prog" in
# Accept absolute paths.
;;
esac
elif test "$with_gnu_ld" = yes; then
- echo $ac_n "checking for GNU ld... $ac_c" 1>&6
-echo "configure:1479: checking for GNU ld" 1>&5
+ echo $ac_n "checking for GNU ld""... $ac_c" 1>&6
+echo "configure:1386: checking for GNU ld" >&5
else
- echo $ac_n "checking for non-GNU ld... $ac_c" 1>&6
-echo "configure:1482: checking for non-GNU ld" 1>&5
+ echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6
+echo "configure:1389: checking for non-GNU ld" >&5
fi
-if test "${ac_cv_path_LD+set}" = set; then
+if eval "test \"`echo '$''{'ac_cv_path_LD'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
if test -z "$LD"; then
echo "$ac_t""no" 1>&6
fi
test -z "$LD" && { echo "configure: error: no acceptable ld found in \$PATH" 1>&2; exit 1; }
-echo $ac_n "checking if the linker ($LD) is GNU ld... $ac_c" 1>&6
-echo "configure:1517: checking if the linker ($LD) is GNU ld" 1>&5
-if test "${ac_cv_prog_gnu_ld+set}" = set; then
+echo $ac_n "checking if the linker ($LD) is GNU ld""... $ac_c" 1>&6
+echo "configure:1424: checking if the linker ($LD) is GNU ld" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_gnu_ld'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
# I'd rather use --version here, but apparently some GNU ld's only accept -v.
ac_cv_prog_gnu_ld=no
fi
fi
+
echo "$ac_t""$ac_cv_prog_gnu_ld" 1>&6
-echo $ac_n "checking for BSD-compatible nm... $ac_c" 1>&6
-echo "configure:1531: checking for BSD-compatible nm" 1>&5
-if test "${ac_cv_path_NM+set}" = set; then
+
+echo $ac_n "checking for BSD-compatible nm""... $ac_c" 1>&6
+echo "configure:1440: checking for BSD-compatible nm" >&5
+if eval "test \"`echo '$''{'ac_cv_path_NM'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
if test -n "$NM"; then
NM="$ac_cv_path_NM"
echo "$ac_t""$NM" 1>&6
-echo $ac_n "checking whether ln -s works... $ac_c" 1>&6
-echo "configure:1567: checking whether ln -s works" 1>&5
-if test "${ac_cv_prog_LN_S+set}" = set; then
+echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6
+echo "configure:1476: checking whether ln -s works" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
rm -f conftestdata
echo "$ac_t""no" 1>&6
fi
+
case "$target" in
NONE) lt_target="$host" ;;
*) lt_target="$target" ;;
test "$ac_cv_prog_gcc" = yes && libtool_flags="$libtool_flags --with-gcc"
test "$ac_cv_prog_gnu_ld" = yes && libtool_flags="$libtool_flags --with-gnu-ld"
+
# Check whether --enable-libtool-lock or --disable-libtool-lock was given.
if test "${enable_libtool_lock+set}" = set; then
enableval="$enable_libtool_lock"
case "$lt_target" in
*-*-irix6*)
# Find out which ABI we are using.
- echo '#line 1614 "configure"' > conftest.$ac_ext
- if { (eval echo configure:1615: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ echo '#line 1525 "configure"' > conftest.$ac_ext
+ if { (eval echo configure:1526: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
case "`/usr/bin/file conftest.o`" in
*32-bit*)
LD="${LD-ld} -32"
# On SCO OpenServer 5, we need -belf to get full-featured binaries.
SAVE_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -belf"
- echo $ac_n "checking whether the C compiler needs -belf... $ac_c" 1>&6
-echo "configure:1636: checking whether the C compiler needs -belf" 1>&5
-if test "${lt_cv_cc_needs_belf+set}" = set; then
+ echo $ac_n "checking whether the C compiler needs -belf""... $ac_c" 1>&6
+echo "configure:1547: checking whether the C compiler needs -belf" >&5
+if eval "test \"`echo '$''{'lt_cv_cc_needs_belf'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
- cat >conftest.$ac_ext <<EOF
-#line 1641 "configure"
+ cat > conftest.$ac_ext <<EOF
+#line 1552 "configure"
#include "confdefs.h"
-int
-main()
-{
+int main() {
- ;
- return 0;
-}
+; return 0; }
EOF
-if { (eval echo configure:1652: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1559: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
lt_cv_cc_needs_belf=yes
else
lt_cv_cc_needs_belf=no
fi
rm -f conftest*
-
fi
+
echo "$ac_t""$lt_cv_cc_needs_belf" 1>&6
if test x"$lt_cv_cc_needs_belf" != x"yes"; then
# this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
fi
;;
+
esac
+
# Save cache, so that ltconfig can load it
-cat >confcache <<\EOF
+cat > confcache <<\EOF
# This file is a shell script that caches the results of configure
# tests run on this system so they can be shared between configure
# scripts and configure runs. It is not useful on other systems.
# `set' quotes correctly as required by POSIX, so do not add quotes.
sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
;;
- esac >>confcache
-if cmp -s $cache_file confcache; then :; else
+ esac >> confcache
+if cmp -s $cache_file confcache; then
+ :
+else
if test -w $cache_file; then
echo "updating cache $cache_file"
- cat confcache >$cache_file
+ cat confcache > $cache_file
else
echo "not updating unwritable cache $cache_file"
fi
fi
rm -f confcache
+
# Actually configure libtool. ac_aux_dir is where install-sh is found.
CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" \
LD="$LD" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \
# Reload cache, that may have been modified by ltconfig
if test -r "$cache_file"; then
echo "loading cache $cache_file"
- test -f "$cache_file" && . $cache_file
+ . $cache_file
else
echo "creating cache $cache_file"
- >$cache_file
+ > $cache_file
fi
+
# This can be used to rebuild libtool when needed
LIBTOOL_DEPS="$ac_aux_dir/ltconfig $ac_aux_dir/ltmain.sh"
# clobbered by the next message.
exec 5>>./config.log
-echo $ac_n "checking for POSIXized ISC... $ac_c" 1>&6
-echo "configure:1748: checking for POSIXized ISC" 1>&5
+
+echo $ac_n "checking for POSIXized ISC""... $ac_c" 1>&6
+echo "configure:1662: checking for POSIXized ISC" >&5
if test -d /etc/conf/kconfig.d &&
- grep _POSIX_VERSION /usr/include/sys/unistd.h >/dev/null 2>&1
+ grep _POSIX_VERSION /usr/include/sys/unistd.h >/dev/null 2>&1
then
echo "$ac_t""yes" 1>&6
ISC=yes # If later tests want to check for ISC.
- cat >>confdefs.h <<\EOF
+ cat >> confdefs.h <<\EOF
#define _POSIX_SOURCE 1
EOF
ISC=
fi
-echo $ac_n "checking for ${CC-cc} option to accept ANSI C... $ac_c" 1>&6
-echo "configure:1769: checking for ${CC-cc} option to accept ANSI C" 1>&5
-if test "${am_cv_prog_cc_stdc+set}" = set; then
+
+
+
+echo $ac_n "checking for ${CC-cc} option to accept ANSI C""... $ac_c" 1>&6
+echo "configure:1686: checking for ${CC-cc} option to accept ANSI C" >&5
+if eval "test \"`echo '$''{'am_cv_prog_cc_stdc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
am_cv_prog_cc_stdc=no
for ac_arg in "" -qlanglvl=ansi -std1 "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
do
CC="$ac_save_CC $ac_arg"
- cat >conftest.$ac_ext <<EOF
-#line 1785 "configure"
+ cat > conftest.$ac_ext <<EOF
+#line 1702 "configure"
#include "confdefs.h"
#include <stdarg.h>
#include <stdio.h>
int argc;
char **argv;
-int
-main ()
-{
+int main() {
return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
- ;
- return 0;
-}
+; return 0; }
EOF
-if { (eval echo configure:1826: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1739: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
am_cv_prog_cc_stdc="$ac_arg"; break
else
*) CC="$CC $am_cv_prog_cc_stdc" ;;
esac
-echo $ac_n "checking for function prototypes... $ac_c" 1>&6
-echo "configure:1850: checking for function prototypes" 1>&5
+
+
+echo $ac_n "checking for function prototypes""... $ac_c" 1>&6
+echo "configure:1765: checking for function prototypes" >&5
if test "$am_cv_prog_cc_stdc" != no; then
echo "$ac_t""yes" 1>&6
- cat >>confdefs.h <<\EOF
+ cat >> confdefs.h <<\EOF
#define PROTOTYPES 1
EOF
echo "$ac_t""no" 1>&6
U=_ ANSI2KNR=./ansi2knr
# Ensure some checks needed by ansi2knr itself.
- echo $ac_n "checking for ANSI C header files... $ac_c" 1>&6
-echo "configure:1863: checking for ANSI C header files" 1>&5
-if test "${ac_cv_header_stdc+set}" = set; then
+ echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
+echo "configure:1778: checking for ANSI C header files" >&5
+if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
- cat >conftest.$ac_ext <<EOF
-#line 1868 "configure"
+ cat > conftest.$ac_ext <<EOF
+#line 1783 "configure"
#include "confdefs.h"
#include <stdlib.h>
#include <stdarg.h>
#include <string.h>
#include <float.h>
-
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1877: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1791: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
if test $ac_cv_header_stdc = yes; then
# SunOS 4.x string.h does not declare mem*, contrary to ANSI.
-cat >conftest.$ac_ext <<EOF
-#line 1894 "configure"
+cat > conftest.$ac_ext <<EOF
+#line 1808 "configure"
#include "confdefs.h"
#include <string.h>
-
EOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
egrep "memchr" >/dev/null 2>&1; then
if test $ac_cv_header_stdc = yes; then
# ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
-cat >conftest.$ac_ext <<EOF
-#line 1913 "configure"
+cat > conftest.$ac_ext <<EOF
+#line 1826 "configure"
#include "confdefs.h"
#include <stdlib.h>
-
EOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
egrep "free" >/dev/null 2>&1; then
if test "$cross_compiling" = yes; then
:
else
- cat >conftest.$ac_ext <<EOF
-#line 1935 "configure"
+ cat > conftest.$ac_ext <<EOF
+#line 1847 "configure"
#include "confdefs.h"
#include <ctype.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) (('a' <= (c) && (c) <= 'i') \
- || ('j' <= (c) && (c) <= 'r') \
- || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
+#define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+#define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
- int i;
- for (i = 0; i < 256; i++)
- if (XOR (islower (i), ISLOWER (i))
- || toupper (i) != TOUPPER (i))
- exit(2);
- exit (0);
-}
+int main () { int i; for (i = 0; i < 256; i++)
+if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2);
+exit (0); }
+
EOF
-if { (eval echo configure:1960: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:1858: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
:
else
ac_cv_header_stdc=no
fi
rm -fr conftest*
-
fi
fi
fi
+
echo "$ac_t""$ac_cv_header_stdc" 1>&6
if test $ac_cv_header_stdc = yes; then
- cat >>confdefs.h <<\EOF
+ cat >> confdefs.h <<\EOF
#define STDC_HEADERS 1
EOF
fi
- for ac_header in string.h
+ for ac_hdr in string.h
do
-ac_ac_Header=`echo "ac_cv_header_$ac_header" | $ac_tr_sh`
-echo $ac_n "checking for $ac_header... $ac_c" 1>&6
-echo "configure:1987: checking for $ac_header" 1>&5
-if eval "test \"\${$ac_ac_Header+set}\" = set"; then
+ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+echo "configure:1885: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
- cat >conftest.$ac_ext <<EOF
-#line 1992 "configure"
+ cat > conftest.$ac_ext <<EOF
+#line 1890 "configure"
#include "confdefs.h"
-#include <$ac_header>
-
+#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1998: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1895: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
- eval "$ac_ac_Header=yes"
+ eval "ac_cv_header_$ac_safe=yes"
else
echo "$ac_err" >&5
echo "configure: failed program was:" >&5
cat conftest.$ac_ext >&5
rm -rf conftest*
- eval "$ac_ac_Header=no"
+ eval "ac_cv_header_$ac_safe=no"
fi
rm -f conftest*
fi
-echo "$ac_t""`eval echo '${'$ac_ac_Header'}'`" 1>&6
-if test `eval echo '${'$ac_ac_Header'}'` = yes; then
- cat >>confdefs.h <<EOF
-#define `echo "HAVE_$ac_header" | $ac_tr_cpp` 1
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_hdr 1
EOF
+else
+ echo "$ac_t""no" 1>&6
fi
done
fi
-echo $ac_n "checking for ${CC-cc} option to accept ANSI C... $ac_c" 1>&6
-echo "configure:2024: checking for ${CC-cc} option to accept ANSI C" 1>&5
-if test "${ac_cv_prog_cc_stdc+set}" = set; then
+echo $ac_n "checking for working const""... $ac_c" 1>&6
+echo "configure:1924: checking for working const" >&5
+if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
- ac_cv_prog_cc_stdc=no
-ac_save_CC="$CC"
-# Don't try gcc -ansi; that turns off useful extensions and
-# breaks some systems' header files.
-# AIX -qlanglvl=ansi
-# Ultrix and OSF/1 -std1
-# HP-UX 10.20 and later -Ae
-# HP-UX older versions -Aa -D_HPUX_SOURCE
-# SVR4 -Xc -D__EXTENSIONS__
-for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
-do
- CC="$ac_save_CC $ac_arg"
- cat >conftest.$ac_ext <<EOF
-#line 2041 "configure"
+ cat > conftest.$ac_ext <<EOF
+#line 1929 "configure"
#include "confdefs.h"
-#include <stdarg.h>
-#include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
-struct buf { int x; };
-FILE * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
- char **p;
- int i;
-{
- return p[i];
+
+int main() {
+
+/* Ultrix mips cc rejects this. */
+typedef int charset[2]; const charset x;
+/* SunOS 4.1.1 cc rejects this. */
+char const *const *ccp;
+char **p;
+/* NEC SVR4.0.2 mips cc rejects this. */
+struct point {int x, y;};
+static struct point const zero = {0,0};
+/* AIX XL C 1.02.0.0 rejects this.
+ It does not let you subtract one const X* pointer from another in an arm
+ of an if-expression whose if-part is not a constant expression */
+const char *g = "string";
+ccp = &g + (g ? g-g : 0);
+/* HPUX 7.0 cc rejects these. */
+++ccp;
+p = (char**) ccp;
+ccp = (char const *const *) p;
+{ /* SCO 3.2v4 cc rejects this. */
+ char *t;
+ char const *s = 0 ? (char *) 0 : (char const *) 0;
+
+ *t++ = 0;
}
-static char *f (char * (*g) (char **, int), char **p, ...)
-{
- char *s;
- va_list v;
- va_start (v,p);
- s = g (p, va_arg (v,int));
- va_end (v);
- return s;
+{ /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */
+ int x[] = {25, 17};
+ const int *foo = &x[0];
+ ++foo;
}
-int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};
-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-int argc;
-char **argv;
-int
-main ()
-{
-return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
- ;
- return 0;
+{ /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */
+ typedef const int *iptr;
+ iptr p = 0;
+ ++p;
}
-EOF
-if { (eval echo configure:2079: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
- rm -rf conftest*
- ac_cv_prog_cc_stdc="$ac_arg"; break
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
-fi
-rm -f conftest*
-done
-CC="$ac_save_CC"
-
-fi
-
-case "x$ac_cv_prog_cc_stdc" in
- x|xno)
- echo "$ac_t""none needed" 1>&6 ;;
- *)
- echo "$ac_t""$ac_cv_prog_cc_stdc" 1>&6
- CC="$CC $ac_cv_prog_cc_stdc" ;;
-esac
-
-echo $ac_n "checking for an ANSI C conforming const... $ac_c" 1>&6
-echo "configure:2101: checking for an ANSI C conforming const" 1>&5
-if test "${ac_cv_c_const+set}" = set; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat >conftest.$ac_ext <<EOF
-#line 2106 "configure"
-#include "confdefs.h"
-
-int
-main ()
-{
-/* FIXME: Include the comments suggested by Paul. */
-#ifndef __cplusplus
- /* Ultrix mips cc rejects this. */
- typedef int charset[2];
- const charset x;
- /* SunOS 4.1.1 cc rejects this. */
- char const *const *ccp;
- char **p;
- /* NEC SVR4.0.2 mips cc rejects this. */
- struct point {int x, y;};
- static struct point const zero = {0,0};
- /* AIX XL C 1.02.0.0 rejects this.
- It does not let you subtract one const X* pointer from another in
- an arm of an if-expression whose if-part is not a constant
- expression */
- const char *g = "string";
- ccp = &g + (g ? g-g : 0);
- /* HPUX 7.0 cc rejects these. */
- ++ccp;
- p = (char**) ccp;
- ccp = (char const *const *) p;
- { /* SCO 3.2v4 cc rejects this. */
- char *t;
- char const *s = 0 ? (char *) 0 : (char const *) 0;
-
- *t++ = 0;
- }
- { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */
- int x[] = {25, 17};
- const int *foo = &x[0];
- ++foo;
- }
- { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */
- typedef const int *iptr;
- iptr p = 0;
- ++p;
- }
- { /* AIX XL C 1.02.0.0 rejects this saying
- "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
- struct s { int j; const int *ap[3]; };
- struct s *b; b->j = 5;
- }
- { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
- const int foo = 10;
- }
-#endif
-
- ;
- return 0;
+{ /* AIX XL C 1.02.0.0 rejects this saying
+ "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
+ struct s { int j; const int *ap[3]; };
+ struct s *b; b->j = 5;
}
+{ /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
+ const int foo = 10;
+}
+
+; return 0; }
EOF
-if { (eval echo configure:2163: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1978: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_c_const=yes
else
fi
rm -f conftest*
fi
+
echo "$ac_t""$ac_cv_c_const" 1>&6
if test $ac_cv_c_const = no; then
- cat >>confdefs.h <<\EOF
+ cat >> confdefs.h <<\EOF
#define const
EOF
fi
-echo $ac_n "checking for inline... $ac_c" 1>&6
-echo "configure:2183: checking for inline" 1>&5
-if test "${ac_cv_c_inline+set}" = set; then
+echo $ac_n "checking for inline""... $ac_c" 1>&6
+echo "configure:1999: checking for inline" >&5
+if eval "test \"`echo '$''{'ac_cv_c_inline'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_cv_c_inline=no
for ac_kw in inline __inline__ __inline; do
- cat >conftest.$ac_ext <<EOF
-#line 2190 "configure"
+ cat > conftest.$ac_ext <<EOF
+#line 2006 "configure"
#include "confdefs.h"
-int
-main ()
-{
-#ifndef __cplusplus
- } $ac_kw int foo() {
-#endif
-
- ;
- return 0;
-}
+int main() {
+} $ac_kw foo() {
+; return 0; }
EOF
-if { (eval echo configure:2204: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2013: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_c_inline=$ac_kw; break
else
done
fi
+
echo "$ac_t""$ac_cv_c_inline" 1>&6
case "$ac_cv_c_inline" in
inline | yes) ;;
- no) cat >>confdefs.h <<\EOF
+ no) cat >> confdefs.h <<\EOF
#define inline
EOF
;;
- *) cat >>confdefs.h <<EOF
+ *) cat >> confdefs.h <<EOF
#define inline $ac_cv_c_inline
EOF
;;
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
-echo $ac_n "checking for $ac_word... $ac_c" 1>&6
-echo "configure:2233: checking for $ac_word" 1>&5
-if test "${ac_cv_prog_LEX+set}" = set; then
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:2043: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_LEX'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
if test -n "$LEX"; then
ac_dummy="$PATH"
for ac_dir in $ac_dummy; do
test -z "$ac_dir" && ac_dir=.
- if test $ac_x $ac_dir/$ac_word; then
+ if test -f $ac_dir/$ac_word; then
ac_cv_prog_LEX="$ac_prog"
break
fi
else
# Extract the first word of "flex", so it can be a program name with args.
set dummy flex; ac_word=$2
-echo $ac_n "checking for $ac_word... $ac_c" 1>&6
-echo "configure:2270: checking for $ac_word" 1>&5
-if test "${ac_cv_prog_LEX+set}" = set; then
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:2080: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_LEX'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
if test -n "$LEX"; then
ac_dummy="$PATH"
for ac_dir in $ac_dummy; do
test -z "$ac_dir" && ac_dir=.
- if test $ac_x $ac_dir/$ac_word; then
+ if test -f $ac_dir/$ac_word; then
ac_cv_prog_LEX="flex"
break
fi
flex*) ac_lib=fl ;;
*) ac_lib=l ;;
esac
- ac_ac_Lib=`echo "ac_cv_lib_$ac_lib_yywrap" | $ac_tr_sh`
-echo $ac_n "checking for yywrap in -l$ac_lib... $ac_c" 1>&6
-echo "configure:2305: checking for yywrap in -l$ac_lib" 1>&5
-if eval "test \"\${$ac_ac_Lib+set}\" = set"; then
+ echo $ac_n "checking for yywrap in -l$ac_lib""... $ac_c" 1>&6
+echo "configure:2114: checking for yywrap in -l$ac_lib" >&5
+ac_lib_var=`echo $ac_lib'_'yywrap | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_save_LIBS="$LIBS"
LIBS="-l$ac_lib $LIBS"
-cat >conftest.$ac_ext <<EOF
-#line 2312 "configure"
+cat > conftest.$ac_ext <<EOF
+#line 2122 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
char yywrap();
-int
-main()
-{
+int main() {
yywrap()
- ;
- return 0;
-}
+; return 0; }
EOF
-if { (eval echo configure:2327: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2133: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
- eval "$ac_ac_Lib=yes"
+ eval "ac_cv_lib_$ac_lib_var=yes"
else
echo "configure: failed program was:" >&5
cat conftest.$ac_ext >&5
rm -rf conftest*
- eval "$ac_ac_Lib=no"
+ eval "ac_cv_lib_$ac_lib_var=no"
fi
rm -f conftest*
-
LIBS="$ac_save_LIBS"
+
fi
-echo "$ac_t""`eval echo '${'$ac_ac_Lib'}'`" 1>&6
-if test `eval echo '${'$ac_ac_Lib'}'` = yes; then
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
LEXLIB="-l$ac_lib"
+else
+ echo "$ac_t""no" 1>&6
fi
fi
- echo $ac_n "checking lex output file root... $ac_c" 1>&6
-echo "configure:2348: checking lex output file root" 1>&5
-if test "${ac_cv_prog_lex_root+set}" = set; then
+ echo $ac_n "checking lex output file root""... $ac_c" 1>&6
+echo "configure:2156: checking lex output file root" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_lex_root'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
# The minimal lex program is just a single line: %%. But some broken lexes
{ echo "configure: error: cannot find output from $LEX; giving up" 1>&2; exit 1; }
fi
fi
+
echo "$ac_t""$ac_cv_prog_lex_root" 1>&6
LEX_OUTPUT_ROOT=$ac_cv_prog_lex_root
-echo $ac_n "checking whether yytext is a pointer... $ac_c" 1>&6
-echo "configure:2368: checking whether yytext is a pointer" 1>&5
-if test "${ac_cv_prog_lex_yytext_pointer+set}" = set; then
+echo $ac_n "checking whether yytext is a pointer""... $ac_c" 1>&6
+echo "configure:2177: checking whether yytext is a pointer" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_lex_yytext_pointer'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
# POSIX says lex can declare yytext either as a pointer or an array; the
echo 'extern char *yytext;' >>$LEX_OUTPUT_ROOT.c
ac_save_LIBS="$LIBS"
LIBS="$LIBS $LEXLIB"
-cat >conftest.$ac_ext <<EOF
-#line 2380 "configure"
+cat > conftest.$ac_ext <<EOF
+#line 2189 "configure"
#include "confdefs.h"
`cat $LEX_OUTPUT_ROOT.c`
-int
-main()
-{
+int main() {
- ;
- return 0;
-}
+; return 0; }
EOF
-if { (eval echo configure:2391: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2196: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ac_cv_prog_lex_yytext_pointer=yes
else
cat conftest.$ac_ext >&5
fi
rm -f conftest*
-
LIBS="$ac_save_LIBS"
rm -f "${LEX_OUTPUT_ROOT}.c"
fi
+
echo "$ac_t""$ac_cv_prog_lex_yytext_pointer" 1>&6
if test $ac_cv_prog_lex_yytext_pointer = yes; then
- cat >>confdefs.h <<\EOF
+ cat >> confdefs.h <<\EOF
#define YYTEXT_POINTER 1
EOF
fi
-echo $ac_n "checking for ANSI C header files... $ac_c" 1>&6
-echo "configure:2415: checking for ANSI C header files" 1>&5
-if test "${ac_cv_header_stdc+set}" = set; then
+echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
+echo "configure:2220: checking for ANSI C header files" >&5
+if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
- cat >conftest.$ac_ext <<EOF
-#line 2420 "configure"
+ cat > conftest.$ac_ext <<EOF
+#line 2225 "configure"
#include "confdefs.h"
#include <stdlib.h>
#include <stdarg.h>
#include <string.h>
#include <float.h>
-
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2429: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2233: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
if test $ac_cv_header_stdc = yes; then
# SunOS 4.x string.h does not declare mem*, contrary to ANSI.
-cat >conftest.$ac_ext <<EOF
-#line 2446 "configure"
+cat > conftest.$ac_ext <<EOF
+#line 2250 "configure"
#include "confdefs.h"
#include <string.h>
-
EOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
egrep "memchr" >/dev/null 2>&1; then
if test $ac_cv_header_stdc = yes; then
# ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
-cat >conftest.$ac_ext <<EOF
-#line 2465 "configure"
+cat > conftest.$ac_ext <<EOF
+#line 2268 "configure"
#include "confdefs.h"
#include <stdlib.h>
-
EOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
egrep "free" >/dev/null 2>&1; then
if test "$cross_compiling" = yes; then
:
else
- cat >conftest.$ac_ext <<EOF
-#line 2487 "configure"
+ cat > conftest.$ac_ext <<EOF
+#line 2289 "configure"
#include "confdefs.h"
#include <ctype.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) (('a' <= (c) && (c) <= 'i') \
- || ('j' <= (c) && (c) <= 'r') \
- || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
+#define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+#define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
- int i;
- for (i = 0; i < 256; i++)
- if (XOR (islower (i), ISLOWER (i))
- || toupper (i) != TOUPPER (i))
- exit(2);
- exit (0);
-}
+int main () { int i; for (i = 0; i < 256; i++)
+if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2);
+exit (0); }
+
EOF
-if { (eval echo configure:2512: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:2300: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
:
else
ac_cv_header_stdc=no
fi
rm -fr conftest*
-
fi
fi
fi
+
echo "$ac_t""$ac_cv_header_stdc" 1>&6
if test $ac_cv_header_stdc = yes; then
- cat >>confdefs.h <<\EOF
+ cat >> confdefs.h <<\EOF
#define STDC_HEADERS 1
EOF
fi
-for ac_header in limits.h string.h stdbool.h unistd.h utime.h
+for ac_hdr in limits.h locale.h memory.h stdbool.h stddef.h stdlib.h string.h unistd.h utime.h
do
-ac_ac_Header=`echo "ac_cv_header_$ac_header" | $ac_tr_sh`
-echo $ac_n "checking for $ac_header... $ac_c" 1>&6
-echo "configure:2539: checking for $ac_header" 1>&5
-if eval "test \"\${$ac_ac_Header+set}\" = set"; then
+ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+echo "configure:2327: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
- cat >conftest.$ac_ext <<EOF
-#line 2544 "configure"
+ cat > conftest.$ac_ext <<EOF
+#line 2332 "configure"
#include "confdefs.h"
-#include <$ac_header>
-
+#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2550: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2337: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
- eval "$ac_ac_Header=yes"
+ eval "ac_cv_header_$ac_safe=yes"
else
echo "$ac_err" >&5
echo "configure: failed program was:" >&5
cat conftest.$ac_ext >&5
rm -rf conftest*
- eval "$ac_ac_Header=no"
+ eval "ac_cv_header_$ac_safe=no"
fi
rm -f conftest*
fi
-echo "$ac_t""`eval echo '${'$ac_ac_Header'}'`" 1>&6
-if test `eval echo '${'$ac_ac_Header'}'` = yes; then
- cat >>confdefs.h <<EOF
-#define `echo "HAVE_$ac_header" | $ac_tr_cpp` 1
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_hdr 1
EOF
+else
+ echo "$ac_t""no" 1>&6
fi
done
-echo $ac_n "checking return type of signal handlers... $ac_c" 1>&6
-echo "configure:2574: checking return type of signal handlers" 1>&5
-if test "${ac_cv_type_signal+set}" = set; then
+echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6
+echo "configure:2364: checking return type of signal handlers" >&5
+if eval "test \"`echo '$''{'ac_cv_type_signal'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
- cat >conftest.$ac_ext <<EOF
-#line 2579 "configure"
+ cat > conftest.$ac_ext <<EOF
+#line 2369 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <signal.h>
#ifdef signal
-# undef signal
+#undef signal
#endif
#ifdef __cplusplus
extern "C" void (*signal (int, void (*)(int)))(int);
void (*signal ()) ();
#endif
-int
-main ()
-{
+int main() {
int i;
- ;
- return 0;
-}
+; return 0; }
EOF
-if { (eval echo configure:2600: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2386: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_type_signal=void
else
fi
rm -f conftest*
fi
+
echo "$ac_t""$ac_cv_type_signal" 1>&6
-cat >>confdefs.h <<EOF
+cat >> confdefs.h <<EOF
#define RETSIGTYPE $ac_cv_type_signal
EOF
-echo $ac_n "checking whether time.h and sys/time.h may both be included... $ac_c" 1>&6
-echo "configure:2617: checking whether time.h and sys/time.h may both be included" 1>&5
-if test "${ac_cv_header_time+set}" = set; then
+
+echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6
+echo "configure:2405: checking whether time.h and sys/time.h may both be included" >&5
+if eval "test \"`echo '$''{'ac_cv_header_time'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
- cat >conftest.$ac_ext <<EOF
-#line 2622 "configure"
+ cat > conftest.$ac_ext <<EOF
+#line 2410 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <sys/time.h>
#include <time.h>
-
-int
-main ()
-{
+int main() {
struct tm *tp;
- ;
- return 0;
-}
+; return 0; }
EOF
-if { (eval echo configure:2636: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2419: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_header_time=yes
else
fi
rm -f conftest*
fi
+
echo "$ac_t""$ac_cv_header_time" 1>&6
if test $ac_cv_header_time = yes; then
- cat >>confdefs.h <<\EOF
+ cat >> confdefs.h <<\EOF
#define TIME_WITH_SYS_TIME 1
EOF
fi
- for ac_header in utime.h
+
+ for ac_hdr in utime.h
do
-ac_ac_Header=`echo "ac_cv_header_$ac_header" | $ac_tr_sh`
-echo $ac_n "checking for $ac_header... $ac_c" 1>&6
-echo "configure:2659: checking for $ac_header" 1>&5
-if eval "test \"\${$ac_ac_Header+set}\" = set"; then
+ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+echo "configure:2444: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
- cat >conftest.$ac_ext <<EOF
-#line 2664 "configure"
+ cat > conftest.$ac_ext <<EOF
+#line 2449 "configure"
#include "confdefs.h"
-#include <$ac_header>
-
+#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2670: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2454: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
- eval "$ac_ac_Header=yes"
+ eval "ac_cv_header_$ac_safe=yes"
else
echo "$ac_err" >&5
echo "configure: failed program was:" >&5
cat conftest.$ac_ext >&5
rm -rf conftest*
- eval "$ac_ac_Header=no"
+ eval "ac_cv_header_$ac_safe=no"
fi
rm -f conftest*
fi
-echo "$ac_t""`eval echo '${'$ac_ac_Header'}'`" 1>&6
-if test `eval echo '${'$ac_ac_Header'}'` = yes; then
- cat >>confdefs.h <<EOF
-#define `echo "HAVE_$ac_header" | $ac_tr_cpp` 1
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_hdr 1
EOF
+else
+ echo "$ac_t""no" 1>&6
fi
done
- echo $ac_n "checking for struct utimbuf... $ac_c" 1>&6
-echo "configure:2695: checking for struct utimbuf" 1>&5
-if test "${fu_cv_sys_struct_utimbuf+set}" = set; then
+ echo $ac_n "checking for struct utimbuf""... $ac_c" 1>&6
+echo "configure:2482: checking for struct utimbuf" >&5
+if eval "test \"`echo '$''{'fu_cv_sys_struct_utimbuf'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
- cat >conftest.$ac_ext <<EOF
-#line 2700 "configure"
+ cat > conftest.$ac_ext <<EOF
+#line 2487 "configure"
#include "confdefs.h"
#ifdef TIME_WITH_SYS_TIME
# include <utime.h>
#endif
-int
-main ()
-{
+int main() {
static struct utimbuf x; x.actime = x.modtime;
- ;
- return 0;
-}
+; return 0; }
EOF
-if { (eval echo configure:2725: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2508: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
fu_cv_sys_struct_utimbuf=yes
else
rm -f conftest*
fi
+
echo "$ac_t""$fu_cv_sys_struct_utimbuf" 1>&6
if test $fu_cv_sys_struct_utimbuf = yes; then
- cat >>confdefs.h <<EOF
+ cat >> confdefs.h <<EOF
#define HAVE_STRUCT_UTIMBUF 1
EOF
fi
-for ac_func in dup2 rename strerror
+
+for ac_func in dup2 mbrtowc rename setlocale strerror strndup wcrtomb
do
-ac_ac_var=`echo "ac_cv_func_$ac_func" | $ac_tr_sh`
-echo $ac_n "checking for $ac_func... $ac_c" 1>&6
-echo "configure:2750: checking for $ac_func" 1>&5
-if eval "test \"\${$ac_ac_var+set}\" = set"; then
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:2534: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
- cat >conftest.$ac_ext <<EOF
-#line 2755 "configure"
+ cat > conftest.$ac_ext <<EOF
+#line 2539 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
char $ac_func();
-char (*f)();
-int
-main()
-{
+int main() {
/* The GNU C library defines this for functions which it implements
to always fail with ENOSYS. Some functions are actually named
#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
choke me
#else
-f = $ac_func;
+$ac_func();
#endif
- ;
- return 0;
-}
+; return 0; }
EOF
-if { (eval echo configure:2783: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2562: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
- eval "$ac_ac_var=yes"
+ eval "ac_cv_func_$ac_func=yes"
else
echo "configure: failed program was:" >&5
cat conftest.$ac_ext >&5
rm -rf conftest*
- eval "$ac_ac_var=no"
+ eval "ac_cv_func_$ac_func=no"
fi
rm -f conftest*
-
fi
-echo "$ac_t""`eval echo '${'$ac_ac_var'}'`" 1>&6
-if test `eval echo '${'$ac_ac_var'}'` = yes; then
- cat >>confdefs.h <<EOF
-#define `echo "HAVE_$ac_func" | $ac_tr_cpp` 1
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
EOF
+else
+ echo "$ac_t""no" 1>&6
fi
done
for ac_func in strtol strtoul
do
-ac_ac_var=`echo "ac_cv_func_$ac_func" | $ac_tr_sh`
-echo $ac_n "checking for $ac_func... $ac_c" 1>&6
-echo "configure:2808: checking for $ac_func" 1>&5
-if eval "test \"\${$ac_ac_var+set}\" = set"; then
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:2589: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
- cat >conftest.$ac_ext <<EOF
-#line 2813 "configure"
+ cat > conftest.$ac_ext <<EOF
+#line 2594 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
char $ac_func();
-char (*f)();
-int
-main()
-{
+int main() {
/* The GNU C library defines this for functions which it implements
to always fail with ENOSYS. Some functions are actually named
#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
choke me
#else
-f = $ac_func;
+$ac_func();
#endif
- ;
- return 0;
-}
+; return 0; }
EOF
-if { (eval echo configure:2841: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2617: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
- eval "$ac_ac_var=yes"
+ eval "ac_cv_func_$ac_func=yes"
else
echo "configure: failed program was:" >&5
cat conftest.$ac_ext >&5
rm -rf conftest*
- eval "$ac_ac_var=no"
+ eval "ac_cv_func_$ac_func=no"
fi
rm -f conftest*
-
fi
-echo "$ac_t""`eval echo '${'$ac_ac_var'}'`" 1>&6
-if test `eval echo '${'$ac_ac_var'}'` = yes; then
- cat >>confdefs.h <<EOF
-#define `echo "HAVE_$ac_func" | $ac_tr_cpp` 1
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
EOF
else
- LIBOBJS="$LIBOBJS ${ac_func}.${ac_objext}"
+ echo "$ac_t""no" 1>&6
+LIBOBJS="$LIBOBJS ${ac_func}.${ac_objext}"
fi
done
+
# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
# for constant arguments. Useless!
-echo $ac_n "checking for working alloca.h... $ac_c" 1>&6
-echo "configure:2867: checking for working alloca.h" 1>&5
-if test "${ac_cv_working_alloca_h+set}" = set; then
+echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6
+echo "configure:2646: checking for working alloca.h" >&5
+if eval "test \"`echo '$''{'ac_cv_header_alloca_h'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
- cat >conftest.$ac_ext <<EOF
-#line 2872 "configure"
+ cat > conftest.$ac_ext <<EOF
+#line 2651 "configure"
#include "confdefs.h"
#include <alloca.h>
-int
-main()
-{
+int main() {
char *p = alloca(2 * sizeof(int));
- ;
- return 0;
-}
+; return 0; }
EOF
-if { (eval echo configure:2883: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2658: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
- ac_cv_working_alloca_h=yes
+ ac_cv_header_alloca_h=yes
else
echo "configure: failed program was:" >&5
cat conftest.$ac_ext >&5
rm -rf conftest*
- ac_cv_working_alloca_h=no
+ ac_cv_header_alloca_h=no
fi
rm -f conftest*
-
fi
-echo "$ac_t""$ac_cv_working_alloca_h" 1>&6
-if test $ac_cv_working_alloca_h = yes; then
- cat >>confdefs.h <<\EOF
+
+echo "$ac_t""$ac_cv_header_alloca_h" 1>&6
+if test $ac_cv_header_alloca_h = yes; then
+ cat >> confdefs.h <<\EOF
#define HAVE_ALLOCA_H 1
EOF
fi
-echo $ac_n "checking for alloca... $ac_c" 1>&6
-echo "configure:2904: checking for alloca" 1>&5
-if test "${ac_cv_func_alloca_works+set}" = set; then
+echo $ac_n "checking for alloca""... $ac_c" 1>&6
+echo "configure:2679: checking for alloca" >&5
+if eval "test \"`echo '$''{'ac_cv_func_alloca_works'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
- cat >conftest.$ac_ext <<EOF
-#line 2909 "configure"
+ cat > conftest.$ac_ext <<EOF
+#line 2684 "configure"
#include "confdefs.h"
+
#ifdef __GNUC__
# define alloca __builtin_alloca
#else
# endif
#endif
-int
-main()
-{
+int main() {
char *p = (char *) alloca(1);
- ;
- return 0;
-}
+; return 0; }
EOF
-if { (eval echo configure:2940: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2712: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ac_cv_func_alloca_works=yes
else
ac_cv_func_alloca_works=no
fi
rm -f conftest*
-
fi
+
echo "$ac_t""$ac_cv_func_alloca_works" 1>&6
if test $ac_cv_func_alloca_works = yes; then
- cat >>confdefs.h <<\EOF
+ cat >> confdefs.h <<\EOF
#define HAVE_ALLOCA 1
EOF
# contain a buggy version. If you still want to use their alloca,
# use ar to extract alloca.o from them instead of compiling alloca.c.
ALLOCA=alloca.${ac_objext}
- cat >>confdefs.h <<\EOF
+ cat >> confdefs.h <<\EOF
#define C_ALLOCA 1
EOF
-echo $ac_n "checking whether alloca needs Cray hooks... $ac_c" 1>&6
-echo "configure:2971: checking whether alloca needs Cray hooks" 1>&5
-if test "${ac_cv_os_cray+set}" = set; then
+
+echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6
+echo "configure:2744: checking whether alloca needs Cray hooks" >&5
+if eval "test \"`echo '$''{'ac_cv_os_cray'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
- cat >conftest.$ac_ext <<EOF
-#line 2976 "configure"
+ cat > conftest.$ac_ext <<EOF
+#line 2749 "configure"
#include "confdefs.h"
#if defined(CRAY) && ! defined(CRAY2)
webecray
rm -f conftest*
fi
+
echo "$ac_t""$ac_cv_os_cray" 1>&6
if test $ac_cv_os_cray = yes; then
for ac_func in _getb67 GETB67 getb67; do
- ac_ac_var=`echo "ac_cv_func_$ac_func" | $ac_tr_sh`
-echo $ac_n "checking for $ac_func... $ac_c" 1>&6
-echo "configure:3001: checking for $ac_func" 1>&5
-if eval "test \"\${$ac_ac_var+set}\" = set"; then
+ echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:2774: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
- cat >conftest.$ac_ext <<EOF
-#line 3006 "configure"
+ cat > conftest.$ac_ext <<EOF
+#line 2779 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
char $ac_func();
-char (*f)();
-int
-main()
-{
+int main() {
/* The GNU C library defines this for functions which it implements
to always fail with ENOSYS. Some functions are actually named
#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
choke me
#else
-f = $ac_func;
+$ac_func();
#endif
- ;
- return 0;
-}
+; return 0; }
EOF
-if { (eval echo configure:3034: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2802: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
- eval "$ac_ac_var=yes"
+ eval "ac_cv_func_$ac_func=yes"
else
echo "configure: failed program was:" >&5
cat conftest.$ac_ext >&5
rm -rf conftest*
- eval "$ac_ac_var=no"
+ eval "ac_cv_func_$ac_func=no"
fi
rm -f conftest*
-
fi
-echo "$ac_t""`eval echo '${'$ac_ac_var'}'`" 1>&6
-if test `eval echo '${'$ac_ac_var'}'` = yes; then
- cat >>confdefs.h <<EOF
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ cat >> confdefs.h <<EOF
#define CRAY_STACKSEG_END $ac_func
EOF
break
+else
+ echo "$ac_t""no" 1>&6
fi
done
fi
-echo $ac_n "checking stack direction for C alloca... $ac_c" 1>&6
-echo "configure:3059: checking stack direction for C alloca" 1>&5
-if test "${ac_cv_c_stack_direction+set}" = set; then
+echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6
+echo "configure:2829: checking stack direction for C alloca" >&5
+if eval "test \"`echo '$''{'ac_cv_c_stack_direction'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
if test "$cross_compiling" = yes; then
ac_cv_c_stack_direction=0
else
- cat >conftest.$ac_ext <<EOF
-#line 3067 "configure"
+ cat > conftest.$ac_ext <<EOF
+#line 2837 "configure"
#include "confdefs.h"
find_stack_direction ()
{
else
return (&dummy > addr) ? 1 : -1;
}
-int
main ()
{
- exit (find_stack_direction () < 0);
+ exit (find_stack_direction() < 0);
}
EOF
-if { (eval echo configure:3087: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:2856: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ac_cv_c_stack_direction=1
else
ac_cv_c_stack_direction=-1
fi
rm -fr conftest*
-
fi
fi
+
echo "$ac_t""$ac_cv_c_stack_direction" 1>&6
-cat >>confdefs.h <<EOF
+cat >> confdefs.h <<EOF
#define STACK_DIRECTION $ac_cv_c_stack_direction
EOF
fi
-echo $ac_n "checking for vprintf... $ac_c" 1>&6
-echo "configure:3109: checking for vprintf" 1>&5
-if test "${ac_cv_func_vprintf+set}" = set; then
+echo $ac_n "checking for vprintf""... $ac_c" 1>&6
+echo "configure:2878: checking for vprintf" >&5
+if eval "test \"`echo '$''{'ac_cv_func_vprintf'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
- cat >conftest.$ac_ext <<EOF
-#line 3114 "configure"
+ cat > conftest.$ac_ext <<EOF
+#line 2883 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char vprintf(); below. */
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
char vprintf();
-char (*f)();
-int
-main()
-{
+int main() {
/* The GNU C library defines this for functions which it implements
to always fail with ENOSYS. Some functions are actually named
#if defined (__stub_vprintf) || defined (__stub___vprintf)
choke me
#else
-f = vprintf;
+vprintf();
#endif
- ;
- return 0;
-}
+; return 0; }
EOF
-if { (eval echo configure:3142: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2906: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
- ac_cv_func_vprintf=yes
+ eval "ac_cv_func_vprintf=yes"
else
echo "configure: failed program was:" >&5
cat conftest.$ac_ext >&5
rm -rf conftest*
- ac_cv_func_vprintf=no
+ eval "ac_cv_func_vprintf=no"
fi
rm -f conftest*
-
fi
-echo "$ac_t""$ac_cv_func_vprintf" 1>&6
-if test $ac_cv_func_vprintf = yes; then
- cat >>confdefs.h <<\EOF
+
+if eval "test \"`echo '$ac_cv_func_'vprintf`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ cat >> confdefs.h <<\EOF
#define HAVE_VPRINTF 1
EOF
+else
+ echo "$ac_t""no" 1>&6
fi
if test "$ac_cv_func_vprintf" != yes; then
-echo $ac_n "checking for _doprnt... $ac_c" 1>&6
-echo "configure:3164: checking for _doprnt" 1>&5
-if test "${ac_cv_func__doprnt+set}" = set; then
+echo $ac_n "checking for _doprnt""... $ac_c" 1>&6
+echo "configure:2930: checking for _doprnt" >&5
+if eval "test \"`echo '$''{'ac_cv_func__doprnt'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
- cat >conftest.$ac_ext <<EOF
-#line 3169 "configure"
+ cat > conftest.$ac_ext <<EOF
+#line 2935 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char _doprnt(); below. */
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
char _doprnt();
-char (*f)();
-int
-main()
-{
+int main() {
/* The GNU C library defines this for functions which it implements
to always fail with ENOSYS. Some functions are actually named
#if defined (__stub__doprnt) || defined (__stub____doprnt)
choke me
#else
-f = _doprnt;
+_doprnt();
#endif
- ;
- return 0;
-}
+; return 0; }
EOF
-if { (eval echo configure:3197: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2958: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
- ac_cv_func__doprnt=yes
+ eval "ac_cv_func__doprnt=yes"
else
echo "configure: failed program was:" >&5
cat conftest.$ac_ext >&5
rm -rf conftest*
- ac_cv_func__doprnt=no
+ eval "ac_cv_func__doprnt=no"
fi
rm -f conftest*
-
fi
-echo "$ac_t""$ac_cv_func__doprnt" 1>&6
-if test $ac_cv_func__doprnt = yes; then
- cat >>confdefs.h <<\EOF
+
+if eval "test \"`echo '$ac_cv_func_'_doprnt`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ cat >> confdefs.h <<\EOF
#define HAVE_DOPRNT 1
EOF
+else
+ echo "$ac_t""no" 1>&6
fi
fi
- cat >>confdefs.h <<EOF
+
+
+ cat >> confdefs.h <<EOF
#define HAVE_DONE_WORKING_MALLOC_CHECK 1
EOF
- echo $ac_n "checking for working malloc... $ac_c" 1>&6
-echo "configure:3224: checking for working malloc" 1>&5
-if test "${jm_cv_func_working_malloc+set}" = set; then
+
+ echo $ac_n "checking for working malloc""... $ac_c" 1>&6
+echo "configure:2990: checking for working malloc" >&5
+if eval "test \"`echo '$''{'jm_cv_func_working_malloc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
if test "$cross_compiling" = yes; then
jm_cv_func_working_malloc=no
else
- cat >conftest.$ac_ext <<EOF
-#line 3232 "configure"
+ cat > conftest.$ac_ext <<EOF
+#line 2998 "configure"
#include "confdefs.h"
char *malloc ();
}
EOF
-if { (eval echo configure:3243: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:3009: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
jm_cv_func_working_malloc=yes
else
jm_cv_func_working_malloc=no
fi
rm -fr conftest*
-
fi
fi
+
echo "$ac_t""$jm_cv_func_working_malloc" 1>&6
if test $jm_cv_func_working_malloc = no; then
LIBOBJS="$LIBOBJS malloc.$ac_objext"
- cat >>confdefs.h <<EOF
+ cat >> confdefs.h <<EOF
#define malloc rpl_malloc
EOF
fi
- cat >>confdefs.h <<EOF
+
+ cat >> confdefs.h <<EOF
#define HAVE_DONE_WORKING_REALLOC_CHECK 1
EOF
- echo $ac_n "checking for working realloc... $ac_c" 1>&6
-echo "configure:3273: checking for working realloc" 1>&5
-if test "${jm_cv_func_working_realloc+set}" = set; then
+
+ echo $ac_n "checking for working realloc""... $ac_c" 1>&6
+echo "configure:3041: checking for working realloc" >&5
+if eval "test \"`echo '$''{'jm_cv_func_working_realloc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
if test "$cross_compiling" = yes; then
jm_cv_func_working_realloc=no
else
- cat >conftest.$ac_ext <<EOF
-#line 3281 "configure"
+ cat > conftest.$ac_ext <<EOF
+#line 3049 "configure"
#include "confdefs.h"
char *realloc ();
}
EOF
-if { (eval echo configure:3292: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:3060: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
jm_cv_func_working_realloc=yes
else
jm_cv_func_working_realloc=no
fi
rm -fr conftest*
-
fi
fi
+
echo "$ac_t""$jm_cv_func_working_realloc" 1>&6
if test $jm_cv_func_working_realloc = no; then
LIBOBJS="$LIBOBJS realloc.$ac_objext"
- cat >>confdefs.h <<EOF
+ cat >> confdefs.h <<EOF
#define realloc rpl_realloc
EOF
fi
-echo $ac_n "checking for MSDOS$ac_c" 1>&6
-echo "configure:3318: checking for MSDOS, Win95 or WinNT" 1>&5
-if test "${fp_cv_os_microsoft+set}" = set; then
+
+
+
+# Make sure we can run config.sub.
+if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
+else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking host system type""... $ac_c" 1>&6
+echo "configure:3094: checking host system type" >&5
+
+host_alias=$host
+case "$host_alias" in
+NONE)
+ case $nonopt in
+ NONE)
+ if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
+ else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
+ fi ;;
+ *) host_alias=$nonopt ;;
+ esac ;;
+esac
+
+host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
+host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$host" 1>&6
+
+
+ for ac_hdr in langinfo.h
+do
+ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+echo "configure:3119: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
- if test -n "$COMSPEC"; then
- # MSDOS or Win95
- fp_cv_os_microsoft=yes
-elif test -n "$ComSpec"; then
- # WinNT
- fp_cv_os_microsoft=yes
+ cat > conftest.$ac_ext <<EOF
+#line 3124 "configure"
+#include "confdefs.h"
+#include <$ac_hdr>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:3129: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=yes"
else
- fp_cv_os_microsoft=no
+ echo "$ac_err" >&5
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_hdr 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
fi
+done
+ for ac_func in nl_langinfo
+do
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:3158: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 3163 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char $ac_func();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+$ac_func();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:3186: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=no"
+fi
+rm -f conftest*
fi
-echo "$ac_t""$fp_cv_os_microsoft" 1>&6
-echo $ac_n "checking the default charset... $ac_c" 1>&6
-echo "configure:3335: checking the default charset" 1>&5
-if test -n "${DEFAULT_CHARSET+set}"; then
- echo "$ac_t""$DEFAULT_CHARSET" 1>&6
- cat >>confdefs.h <<EOF
-#define DEFAULT_CHARSET "$DEFAULT_CHARSET"
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+
+ echo $ac_n "checking for nl_langinfo and CODESET""... $ac_c" 1>&6
+echo "configure:3212: checking for nl_langinfo and CODESET" >&5
+if eval "test \"`echo '$''{'jm_cv_langinfo_codeset'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 3217 "configure"
+#include "confdefs.h"
+#include <langinfo.h>
+int main() {
+char* cs = nl_langinfo(CODESET);
+; return 0; }
+EOF
+if { (eval echo configure:3224: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ jm_cv_langinfo_codeset=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ jm_cv_langinfo_codeset=no
+fi
+rm -f conftest*
+
+fi
-elif test "$fp_cv_os_microsoft" = no; then
- echo "$ac_t""Latin-1" 1>&6
- cat >>confdefs.h <<\EOF
-#define DEFAULT_CHARSET "Latin-1"
+echo "$ac_t""$jm_cv_langinfo_codeset" 1>&6
+ if test $jm_cv_langinfo_codeset = yes; then
+ cat >> confdefs.h <<\EOF
+#define HAVE_LANGINFO_CODESET 1
EOF
+ fi
+
+
+ echo $ac_n "checking whether we are using the GNU C Library 2.1 or newer""... $ac_c" 1>&6
+echo "configure:3247: checking whether we are using the GNU C Library 2.1 or newer" >&5
+if eval "test \"`echo '$''{'ac_cv_gnu_library_2_1'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
else
- echo "$ac_t""IBM-PC" 1>&6
- cat >>confdefs.h <<\EOF
-#define DEFAULT_CHARSET "IBM-PC"
+ cat > conftest.$ac_ext <<EOF
+#line 3252 "configure"
+#include "confdefs.h"
+
+#include <features.h>
+#ifdef __GNU_LIBRARY__
+ #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2)
+ Lucky GNU user
+ #endif
+#endif
+
EOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ egrep "Lucky GNU user" >/dev/null 2>&1; then
+ rm -rf conftest*
+ ac_cv_gnu_library_2_1=yes
+else
+ rm -rf conftest*
+ ac_cv_gnu_library_2_1=no
+fi
+rm -f conftest*
+
+
fi
-echo $ac_n "checking if malloc debugging is wanted... $ac_c" 1>&6
-echo "configure:3357: checking if malloc debugging is wanted" 1>&5
+echo "$ac_t""$ac_cv_gnu_library_2_1" 1>&6
+
+ GLIBC21="$ac_cv_gnu_library_2_1"
+
+
+
+echo $ac_n "checking if malloc debugging is wanted""... $ac_c" 1>&6
+echo "configure:3284: checking if malloc debugging is wanted" >&5
# Check whether --with-dmalloc or --without-dmalloc was given.
if test "${with_dmalloc+set}" = set; then
withval="$with_dmalloc"
if test "$withval" = yes; then
echo "$ac_t""yes" 1>&6
- cat >>confdefs.h <<\EOF
+ cat >> confdefs.h <<\EOF
#define WITH_DMALLOC 1
EOF
echo "$ac_t""no" 1>&6
fi
- echo $ac_n "checking whether NLS is wanted... $ac_c" 1>&6
-echo "configure:3377: checking whether NLS is wanted" 1>&5
+
+
+
+ echo $ac_n "checking whether NLS is wanted""... $ac_c" 1>&6
+echo "configure:3307: checking whether NLS is wanted" >&5
# Check whether --enable-nls or --disable-nls was given.
if test "${enable_nls+set}" = set; then
enableval="$enable_nls"
fi
if test $enable_nls = yes; then
- cat >>confdefs.h <<\EOF
+ cat >> confdefs.h <<\EOF
#define ENABLE_NLS 1
EOF
+
# Check whether --with-catgets or --without-catgets was given.
if test "${with_catgets+set}" = set; then
withval="$with_catgets"
- echo "configure: WARNING: catgets not supported, --with-catgets ignored" 1>&2
+ echo "configure: warning: catgets not supported, --with-catgets ignored" 1>&2
fi
+
for ac_func in gettext
do
-ac_ac_var=`echo "ac_cv_func_$ac_func" | $ac_tr_sh`
-echo $ac_n "checking for $ac_func... $ac_c" 1>&6
-echo "configure:3413: checking for $ac_func" 1>&5
-if eval "test \"\${$ac_ac_var+set}\" = set"; then
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:3344: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
- cat >conftest.$ac_ext <<EOF
-#line 3418 "configure"
+ cat > conftest.$ac_ext <<EOF
+#line 3349 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
char $ac_func();
-char (*f)();
-int
-main()
-{
+int main() {
/* The GNU C library defines this for functions which it implements
to always fail with ENOSYS. Some functions are actually named
#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
choke me
#else
-f = $ac_func;
+$ac_func();
#endif
- ;
- return 0;
-}
+; return 0; }
EOF
-if { (eval echo configure:3446: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3372: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
- eval "$ac_ac_var=yes"
+ eval "ac_cv_func_$ac_func=yes"
else
echo "configure: failed program was:" >&5
cat conftest.$ac_ext >&5
rm -rf conftest*
- eval "$ac_ac_var=no"
+ eval "ac_cv_func_$ac_func=no"
fi
rm -f conftest*
-
fi
-echo "$ac_t""`eval echo '${'$ac_ac_var'}'`" 1>&6
-if test `eval echo '${'$ac_ac_var'}'` = yes; then
- cat >>confdefs.h <<EOF
-#define `echo "HAVE_$ac_func" | $ac_tr_cpp` 1
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
EOF
+else
+ echo "$ac_t""no" 1>&6
fi
done
- echo $ac_n "checking for gettext in -lintl... $ac_c" 1>&6
-echo "configure:3468: checking for gettext in -lintl" 1>&5
-if test "${ac_cv_lib_intl_gettext+set}" = set; then
+ echo $ac_n "checking for gettext in -lintl""... $ac_c" 1>&6
+echo "configure:3397: checking for gettext in -lintl" >&5
+ac_lib_var=`echo intl'_'gettext | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_save_LIBS="$LIBS"
LIBS="-lintl $LIBS"
-cat >conftest.$ac_ext <<EOF
-#line 3475 "configure"
+cat > conftest.$ac_ext <<EOF
+#line 3405 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
char gettext();
-int
-main()
-{
+int main() {
gettext()
- ;
- return 0;
-}
+; return 0; }
EOF
-if { (eval echo configure:3490: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3416: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
- ac_cv_lib_intl_gettext=yes
+ eval "ac_cv_lib_$ac_lib_var=yes"
else
echo "configure: failed program was:" >&5
cat conftest.$ac_ext >&5
rm -rf conftest*
- ac_cv_lib_intl_gettext=no
+ eval "ac_cv_lib_$ac_lib_var=no"
fi
rm -f conftest*
-
LIBS="$ac_save_LIBS"
+
fi
-echo "$ac_t""$ac_cv_lib_intl_gettext" 1>&6
-if test $ac_cv_lib_intl_gettext = yes; then
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
:
+else
+ echo "$ac_t""no" 1>&6
fi
if test $ac_cv_lib_intl_gettext$ac_cv_func_gettext != nono; then
- echo $ac_n "checking whether the included gettext is preferred... $ac_c" 1>&6
-echo "configure:3510: checking whether the included gettext is preferred" 1>&5
+ echo $ac_n "checking whether the included gettext is preferred""... $ac_c" 1>&6
+echo "configure:3438: checking whether the included gettext is preferred" >&5
# Check whether --with-included-gettext or --without-included-gettext was given.
if test "${with_included_gettext+set}" = set; then
withval="$with_included_gettext"
fi
if test $with_included_gettext = yes; then
LIBOBJS="$LIBOBJS gettext.o"
- cat >>confdefs.h <<\EOF
+ cat >> confdefs.h <<\EOF
#define HAVE_GETTEXT 1
EOF
- cat >>confdefs.h <<\EOF
+ cat >> confdefs.h <<\EOF
#define HAVE_DCGETTEXT 1
EOF
else
- for ac_header in libintl.h
+ for ac_hdr in libintl.h
do
-ac_ac_Header=`echo "ac_cv_header_$ac_header" | $ac_tr_sh`
-echo $ac_n "checking for $ac_header... $ac_c" 1>&6
-echo "configure:3541: checking for $ac_header" 1>&5
-if eval "test \"\${$ac_ac_Header+set}\" = set"; then
+ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+echo "configure:3469: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
- cat >conftest.$ac_ext <<EOF
-#line 3546 "configure"
+ cat > conftest.$ac_ext <<EOF
+#line 3474 "configure"
#include "confdefs.h"
-#include <$ac_header>
-
+#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3552: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3479: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
- eval "$ac_ac_Header=yes"
+ eval "ac_cv_header_$ac_safe=yes"
else
echo "$ac_err" >&5
echo "configure: failed program was:" >&5
cat conftest.$ac_ext >&5
rm -rf conftest*
- eval "$ac_ac_Header=no"
+ eval "ac_cv_header_$ac_safe=no"
fi
rm -f conftest*
fi
-echo "$ac_t""`eval echo '${'$ac_ac_Header'}'`" 1>&6
-if test `eval echo '${'$ac_ac_Header'}'` = yes; then
- cat >>confdefs.h <<EOF
-#define `echo "HAVE_$ac_header" | $ac_tr_cpp` 1
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_hdr 1
EOF
+else
+ echo "$ac_t""no" 1>&6
fi
done
for ac_func in dcgettext gettext
do
-ac_ac_var=`echo "ac_cv_func_$ac_func" | $ac_tr_sh`
-echo $ac_n "checking for $ac_func... $ac_c" 1>&6
-echo "configure:3579: checking for $ac_func" 1>&5
-if eval "test \"\${$ac_ac_var+set}\" = set"; then
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:3508: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
- cat >conftest.$ac_ext <<EOF
-#line 3584 "configure"
+ cat > conftest.$ac_ext <<EOF
+#line 3513 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
char $ac_func();
-char (*f)();
-int
-main()
-{
+int main() {
/* The GNU C library defines this for functions which it implements
to always fail with ENOSYS. Some functions are actually named
#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
choke me
#else
-f = $ac_func;
+$ac_func();
#endif
- ;
- return 0;
-}
+; return 0; }
EOF
-if { (eval echo configure:3612: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3536: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
- eval "$ac_ac_var=yes"
+ eval "ac_cv_func_$ac_func=yes"
else
echo "configure: failed program was:" >&5
cat conftest.$ac_ext >&5
rm -rf conftest*
- eval "$ac_ac_var=no"
+ eval "ac_cv_func_$ac_func=no"
fi
rm -f conftest*
-
fi
-echo "$ac_t""`eval echo '${'$ac_ac_var'}'`" 1>&6
-if test `eval echo '${'$ac_ac_var'}'` = yes; then
- cat >>confdefs.h <<EOF
-#define `echo "HAVE_$ac_func" | $ac_tr_cpp` 1
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
EOF
+else
+ echo "$ac_t""no" 1>&6
fi
done
fi
- for ac_header in locale.h
+ for ac_hdr in argz.h limits.h locale.h malloc.h string.h unistd.h sys/param.h
do
-ac_ac_Header=`echo "ac_cv_header_$ac_header" | $ac_tr_sh`
-echo $ac_n "checking for $ac_header... $ac_c" 1>&6
-echo "configure:3639: checking for $ac_header" 1>&5
-if eval "test \"\${$ac_ac_Header+set}\" = set"; then
+ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+echo "configure:3566: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
- cat >conftest.$ac_ext <<EOF
-#line 3644 "configure"
+ cat > conftest.$ac_ext <<EOF
+#line 3571 "configure"
#include "confdefs.h"
-#include <$ac_header>
+#include <$ac_hdr>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:3576: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=yes"
+else
+ echo "$ac_err" >&5
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_hdr 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+ for ac_hdr in unistd.h
+do
+ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+echo "configure:3606: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 3611 "configure"
+#include "confdefs.h"
+#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3650: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3616: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
- eval "$ac_ac_Header=yes"
+ eval "ac_cv_header_$ac_safe=yes"
else
echo "$ac_err" >&5
echo "configure: failed program was:" >&5
cat conftest.$ac_ext >&5
rm -rf conftest*
- eval "$ac_ac_Header=no"
+ eval "ac_cv_header_$ac_safe=no"
fi
rm -f conftest*
fi
-echo "$ac_t""`eval echo '${'$ac_ac_Header'}'`" 1>&6
-if test `eval echo '${'$ac_ac_Header'}'` = yes; then
- cat >>confdefs.h <<EOF
-#define `echo "HAVE_$ac_header" | $ac_tr_cpp` 1
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_hdr 1
EOF
+else
+ echo "$ac_t""no" 1>&6
fi
done
- for ac_func in getcwd setlocale stpcpy
+for ac_func in getpagesize
do
-ac_ac_var=`echo "ac_cv_func_$ac_func" | $ac_tr_sh`
-echo $ac_n "checking for $ac_func... $ac_c" 1>&6
-echo "configure:3677: checking for $ac_func" 1>&5
-if eval "test \"\${$ac_ac_var+set}\" = set"; then
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:3645: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
- cat >conftest.$ac_ext <<EOF
-#line 3682 "configure"
+ cat > conftest.$ac_ext <<EOF
+#line 3650 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
char $ac_func();
-char (*f)();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+$ac_func();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:3673: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+echo $ac_n "checking for working mmap""... $ac_c" 1>&6
+echo "configure:3698: checking for working mmap" >&5
+if eval "test \"`echo '$''{'ac_cv_func_mmap_fixed_mapped'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test "$cross_compiling" = yes; then
+ ac_cv_func_mmap_fixed_mapped=no
+else
+ cat > conftest.$ac_ext <<EOF
+#line 3706 "configure"
+#include "confdefs.h"
+
+/* Thanks to Mike Haertel and Jim Avera for this test.
+ Here is a matrix of mmap possibilities:
+ mmap private not fixed
+ mmap private fixed at somewhere currently unmapped
+ mmap private fixed at somewhere already mapped
+ mmap shared not fixed
+ mmap shared fixed at somewhere currently unmapped
+ mmap shared fixed at somewhere already mapped
+ For private mappings, we should verify that changes cannot be read()
+ back from the file, nor mmap's back from the file at a different
+ address. (There have been systems where private was not correctly
+ implemented like the infamous i386 svr4.0, and systems where the
+ VM page cache was not coherent with the filesystem buffer cache
+ like early versions of FreeBSD and possibly contemporary NetBSD.)
+ For shared mappings, we should conversely verify that changes get
+ propogated back to all the places they're supposed to be.
+
+ Grep wants private fixed already mapped.
+ The main things grep needs to know about mmap are:
+ * does it exist and is it safe to write into the mmap'd area
+ * how to use it (BSD variants) */
+#include <sys/types.h>
+#include <fcntl.h>
+#include <sys/mman.h>
+
+/* This mess was copied from the GNU getpagesize.h. */
+#ifndef HAVE_GETPAGESIZE
+# ifdef HAVE_UNISTD_H
+# include <unistd.h>
+# endif
+
+/* Assume that all systems that can run configure have sys/param.h. */
+# ifndef HAVE_SYS_PARAM_H
+# define HAVE_SYS_PARAM_H 1
+# endif
+
+# ifdef _SC_PAGESIZE
+# define getpagesize() sysconf(_SC_PAGESIZE)
+# else /* no _SC_PAGESIZE */
+# ifdef HAVE_SYS_PARAM_H
+# include <sys/param.h>
+# ifdef EXEC_PAGESIZE
+# define getpagesize() EXEC_PAGESIZE
+# else /* no EXEC_PAGESIZE */
+# ifdef NBPG
+# define getpagesize() NBPG * CLSIZE
+# ifndef CLSIZE
+# define CLSIZE 1
+# endif /* no CLSIZE */
+# else /* no NBPG */
+# ifdef NBPC
+# define getpagesize() NBPC
+# else /* no NBPC */
+# ifdef PAGESIZE
+# define getpagesize() PAGESIZE
+# endif /* PAGESIZE */
+# endif /* no NBPC */
+# endif /* no NBPG */
+# endif /* no EXEC_PAGESIZE */
+# else /* no HAVE_SYS_PARAM_H */
+# define getpagesize() 8192 /* punt totally */
+# endif /* no HAVE_SYS_PARAM_H */
+# endif /* no _SC_PAGESIZE */
+
+#endif /* no HAVE_GETPAGESIZE */
+
+#ifdef __cplusplus
+extern "C" { void *malloc(unsigned); }
+#else
+char *malloc();
+#endif
int
main()
{
+ char *data, *data2, *data3;
+ int i, pagesize;
+ int fd;
+
+ pagesize = getpagesize();
+
+ /*
+ * First, make a file with some known garbage in it.
+ */
+ data = malloc(pagesize);
+ if (!data)
+ exit(1);
+ for (i = 0; i < pagesize; ++i)
+ *(data + i) = rand();
+ umask(0);
+ fd = creat("conftestmmap", 0600);
+ if (fd < 0)
+ exit(1);
+ if (write(fd, data, pagesize) != pagesize)
+ exit(1);
+ close(fd);
+
+ /*
+ * Next, try to mmap the file at a fixed address which
+ * already has something else allocated at it. If we can,
+ * also make sure that we see the same garbage.
+ */
+ fd = open("conftestmmap", O_RDWR);
+ if (fd < 0)
+ exit(1);
+ data2 = malloc(2 * pagesize);
+ if (!data2)
+ exit(1);
+ data2 += (pagesize - ((int) data2 & (pagesize - 1))) & (pagesize - 1);
+ if (data2 != mmap(data2, pagesize, PROT_READ | PROT_WRITE,
+ MAP_PRIVATE | MAP_FIXED, fd, 0L))
+ exit(1);
+ for (i = 0; i < pagesize; ++i)
+ if (*(data + i) != *(data2 + i))
+ exit(1);
+
+ /*
+ * Finally, make sure that changes to the mapped area
+ * do not percolate back to the file as seen by read().
+ * (This is a bug on some variants of i386 svr4.0.)
+ */
+ for (i = 0; i < pagesize; ++i)
+ *(data2 + i) = *(data2 + i) + 1;
+ data3 = malloc(pagesize);
+ if (!data3)
+ exit(1);
+ if (read(fd, data3, pagesize) != pagesize)
+ exit(1);
+ for (i = 0; i < pagesize; ++i)
+ if (*(data + i) != *(data3 + i))
+ exit(1);
+ close(fd);
+ unlink("conftestmmap");
+ exit(0);
+}
+
+EOF
+if { (eval echo configure:3846: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+then
+ ac_cv_func_mmap_fixed_mapped=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -fr conftest*
+ ac_cv_func_mmap_fixed_mapped=no
+fi
+rm -fr conftest*
+fi
+
+fi
+
+echo "$ac_t""$ac_cv_func_mmap_fixed_mapped" 1>&6
+if test $ac_cv_func_mmap_fixed_mapped = yes; then
+ cat >> confdefs.h <<\EOF
+#define HAVE_MMAP 1
+EOF
+
+fi
+
+ for ac_func in getcwd mempcpy munmap setlocale stpcpy strcasecmp strchr strdup __argz_count __argz_stringify __argz_next
+do
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:3871: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 3876 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char $ac_func();
+
+int main() {
/* The GNU C library defines this for functions which it implements
to always fail with ENOSYS. Some functions are actually named
#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
choke me
#else
-f = $ac_func;
+$ac_func();
#endif
- ;
- return 0;
-}
+; return 0; }
EOF
-if { (eval echo configure:3710: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3899: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
- eval "$ac_ac_var=yes"
+ eval "ac_cv_func_$ac_func=yes"
else
echo "configure: failed program was:" >&5
cat conftest.$ac_ext >&5
rm -rf conftest*
- eval "$ac_ac_var=no"
+ eval "ac_cv_func_$ac_func=no"
fi
rm -f conftest*
-
fi
-echo "$ac_t""`eval echo '${'$ac_ac_var'}'`" 1>&6
-if test `eval echo '${'$ac_ac_var'}'` = yes; then
- cat >>confdefs.h <<EOF
-#define `echo "HAVE_$ac_func" | $ac_tr_cpp` 1
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
EOF
+else
+ echo "$ac_t""no" 1>&6
fi
done
if test $ac_cv_header_locale_h = yes; then
- echo $ac_n "checking for LC_MESSAGES... $ac_c" 1>&6
-echo "configure:3733: checking for LC_MESSAGES" 1>&5
-if test "${am_cv_val_LC_MESSAGES+set}" = set; then
+ echo $ac_n "checking for LC_MESSAGES""... $ac_c" 1>&6
+echo "configure:3925: checking for LC_MESSAGES" >&5
+if eval "test \"`echo '$''{'am_cv_val_LC_MESSAGES'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
- cat >conftest.$ac_ext <<EOF
-#line 3738 "configure"
+ cat > conftest.$ac_ext <<EOF
+#line 3930 "configure"
#include "confdefs.h"
#include <locale.h>
-int
-main()
-{
+int main() {
return LC_MESSAGES
- ;
- return 0;
-}
+; return 0; }
EOF
-if { (eval echo configure:3749: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3937: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
am_cv_val_LC_MESSAGES=yes
else
am_cv_val_LC_MESSAGES=no
fi
rm -f conftest*
-
fi
+
echo "$ac_t""$am_cv_val_LC_MESSAGES" 1>&6
if test $am_cv_val_LC_MESSAGES = yes; then
- cat >>confdefs.h <<\EOF
+ cat >> confdefs.h <<\EOF
#define HAVE_LC_MESSAGES 1
EOF
fi
if test -z "$ALL_LINGUAS"; then
- echo "configure: WARNING: This package does not install translations yet." 1>&2
+ echo "configure: warning: This package does not install translations yet." 1>&2
else
ac_items="$ALL_LINGUAS"
for ac_item in $ac_items; do
- echo $ac_n "checking which translations to install... $ac_c" 1>&6
-echo "configure:3784: checking which translations to install" 1>&5
+ echo $ac_n "checking which translations to install""... $ac_c" 1>&6
+echo "configure:3972: checking which translations to install" >&5
if test -z "$LINGUAS"; then
ac_print="$ALL_LINGUAS"
MOFILES="$ALL_MOFILES"
fi
if test "x$prefix" = xNONE; then
- cat >>confdefs.h <<EOF
+ cat >> confdefs.h <<EOF
#define LOCALEDIR "$ac_default_prefix/share/locale"
EOF
else
- cat >>confdefs.h <<EOF
+ cat >> confdefs.h <<EOF
#define LOCALEDIR "$prefix/share/locale"
EOF
LTLIBOBJS=`echo $LIBOBJS | sed 's/\.o /.lo /g;s/\.o$/.lo/'`
+
trap '' 1 2 15
-cat >confcache <<\EOF
+cat > confcache <<\EOF
# This file is a shell script that caches the results of configure
# tests run on this system so they can be shared between configure
# scripts and configure runs. It is not useful on other systems.
# `set' quotes correctly as required by POSIX, so do not add quotes.
sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
;;
- esac >>confcache
-if cmp -s $cache_file confcache; then :; else
+ esac >> confcache
+if cmp -s $cache_file confcache; then
+ :
+else
if test -w $cache_file; then
echo "updating cache $cache_file"
- cat confcache >$cache_file
+ cat confcache > $cache_file
else
echo "not updating unwritable cache $cache_file"
fi
ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
fi
+trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
+
DEFS=-DHAVE_CONFIG_H
+# Without the "./", some shells look in PATH for config.status.
: ${CONFIG_STATUS=./config.status}
-trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
+
echo creating $CONFIG_STATUS
-cat >$CONFIG_STATUS <<EOF
+rm -f $CONFIG_STATUS
+cat > $CONFIG_STATUS <<EOF
#! /bin/sh
# Generated automatically by configure.
# Run this file to recreate the current configuration.
# Compiler output produced by configure, useful for debugging
# configure, is in ./config.log if it exists.
-# Files that config.status was made for.
-config_files="\\
- Makefile contrib/Makefile doc/Makefile i18n/Makefile lib/Makefile
- libiconv/Makefile m4/Makefile src/Makefile tests/Makefile tests/atconfig"
-config_headers="\\
- config.h"
-config_commands="\\
- default-1"
-
-ac_cs_usage="\\
-\\\`$CONFIG_STATUS' instantiates files from templates according to the
-current configuration.
-
-Usage: $CONFIG_STATUS [OPTIONS] FILE...
-
- --recheck Update $CONFIG_STATUS by reconfiguring in the same conditions
- --version Print the version of Autoconf and exit
- --help Display this help and exit
- --file=FILE[:TEMPLATE]
- Instantiate the configuration file FILE
- --header=FILE[:TEMPLATE]
- Instantiate the configuration header FILE
-
-Configuration files:
-\$config_files
-
-Configuration headers:
-\$config_headers
-
-Configuration commands:
-\$config_commands
-
-Report bugs to <bug-autoconf@gnu.org>."
-
-ac_cs_version="\\
-$CONFIG_STATUS generated by autoconf version 2.14a.
-Configured on host `(hostname || uname -n) 2>/dev/null | sed 1q` by
- `echo "$0 $ac_configure_args" | sed 's/[\\"\`\$]/\\\\&/g'`"
-
-# Root of the tmp file names. Use pid to allow concurrent executions.
-ac_cs_root=cs\$\$
-ac_given_srcdir=$srcdir
-ac_given_INSTALL="$INSTALL"
-
-# If no file are specified by the user, then we need to provide default
-# value. By we need to know if files were specified by the user.
-ac_need_defaults=:
-while test \$# != 0
+ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
+for ac_option
do
- case "\$1" in
- --*=*)
- ac_option=\`echo "\$1" | sed -e 's/=.*//'\`
- ac_optarg=\`echo "\$1" | sed -e 's/[^=]*=//'\`
- shift
- set dummy "\$ac_option" "\$ac_optarg" \${1+"\$@"}
- shift
- ;;
- -*);;
- *) # This is not an option, so the user has probably given explicit
- # arguments.
- ac_need_defaults=false;;
- esac
-
- case "\$1" in
-
- # Handling of the options.
+ case "\$ac_option" in
-recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
- echo "running \${CONFIG_SHELL-/bin/sh} $0 `echo "$ac_configure_args" | sed 's/[\\"\`\$]/\\\\&/g'` --no-create --no-recursion"
+ echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
-version | --version | --versio | --versi | --vers | --ver | --ve | --v)
- echo "\$ac_cs_version"; exit 0 ;;
- --he | --h)
- # Conflict between --help and --header
- echo "$CONFIG_STATUS: ambiguous option: \$ac_option"; exit 1 ;;
- -help | --help | --hel )
+ echo "$CONFIG_STATUS generated by autoconf version 2.13"
+ exit 0 ;;
+ -help | --help | --hel | --he | --h)
echo "\$ac_cs_usage"; exit 0 ;;
- --file | --fil | --fi | --f )
- shift
- CONFIG_FILES="\$CONFIG_FILES \$1"
- ac_need_defaults=false;;
- --header | --heade | --head | --hea )
- shift
- CONFIG_HEADERS="\$CONFIG_FILES \$1"
- ac_need_defaults=false;;
-
- # Handling of arguments.
- 'Makefile' ) CONFIG_FILES="\$CONFIG_FILES Makefile" ;;
- 'contrib/Makefile' ) CONFIG_FILES="\$CONFIG_FILES contrib/Makefile" ;;
- 'doc/Makefile' ) CONFIG_FILES="\$CONFIG_FILES doc/Makefile" ;;
- 'i18n/Makefile' ) CONFIG_FILES="\$CONFIG_FILES i18n/Makefile" ;;
- 'lib/Makefile' ) CONFIG_FILES="\$CONFIG_FILES lib/Makefile" ;;
- 'libiconv/Makefile' ) CONFIG_FILES="\$CONFIG_FILES libiconv/Makefile" ;;
- 'm4/Makefile' ) CONFIG_FILES="\$CONFIG_FILES m4/Makefile" ;;
- 'src/Makefile' ) CONFIG_FILES="\$CONFIG_FILES src/Makefile" ;;
- 'tests/Makefile' ) CONFIG_FILES="\$CONFIG_FILES tests/Makefile" ;;
- 'tests/atconfig' ) CONFIG_FILES="\$CONFIG_FILES tests/atconfig" ;;
- 'default-1' ) CONFIG_COMMANDS="\$CONFIG_COMMANDS default-1" ;;
- 'config.h' ) CONFIG_HEADERS="\$CONFIG_HEADERS config.h" ;;
-
- # This is an error.
- -*) echo "$CONFIG_STATUS: invalid option: \$1"; exit 1 ;;
- *) echo "$CONFIG_STATUS: invalid argument: \$1"; exit 1 ;;
+ *) echo "\$ac_cs_usage"; exit 1 ;;
esac
- shift
done
-EOF
-
-cat >>$CONFIG_STATUS <<EOF
-# If the user did not use the arguments to specify the items to instantiate,
-# then the envvar interface is used. Set only those that are not.
-if \$ac_need_defaults; then
- : \${CONFIG_FILES="\$config_files"}
- : \${CONFIG_HEADERS="\$config_headers"}
- : \${CONFIG_COMMANDS="\$config_commands"}
-fi
-
-# Remove all the CONFIG_FILES, and trap to remove the temp files.
-rm -fr \`echo "\$CONFIG_FILES" | sed "s/:[^ ]*//g"\`
-trap 'rm -fr \$ac_cs_root*; exit 1' 1 2 15
-
-EOF
-
-cat >>$CONFIG_STATUS <<EOF
-#
-# INIT-COMMANDS section.
-#
+ac_given_srcdir=$srcdir
+ac_given_INSTALL="$INSTALL"
+trap 'rm -fr `echo "Makefile contrib/Makefile doc/Makefile i18n/Makefile lib/Makefile
+libiconv/Makefile m4/Makefile src/Makefile tests/Makefile tests/atconfig config.h" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
EOF
+cat >> $CONFIG_STATUS <<EOF
-cat >>$CONFIG_STATUS <<EOF
-
-#
-# CONFIG_FILES section.
-#
+# Protect against being on the right side of a sed subst in config.status.
+sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
+ s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
+$ac_vpsub
+$extrasub
+s%@SHELL@%$SHELL%g
+s%@CFLAGS@%$CFLAGS%g
+s%@CPPFLAGS@%$CPPFLAGS%g
+s%@CXXFLAGS@%$CXXFLAGS%g
+s%@FFLAGS@%$FFLAGS%g
+s%@DEFS@%$DEFS%g
+s%@LDFLAGS@%$LDFLAGS%g
+s%@LIBS@%$LIBS%g
+s%@exec_prefix@%$exec_prefix%g
+s%@prefix@%$prefix%g
+s%@program_transform_name@%$program_transform_name%g
+s%@bindir@%$bindir%g
+s%@sbindir@%$sbindir%g
+s%@libexecdir@%$libexecdir%g
+s%@datadir@%$datadir%g
+s%@sysconfdir@%$sysconfdir%g
+s%@sharedstatedir@%$sharedstatedir%g
+s%@localstatedir@%$localstatedir%g
+s%@libdir@%$libdir%g
+s%@includedir@%$includedir%g
+s%@oldincludedir@%$oldincludedir%g
+s%@infodir@%$infodir%g
+s%@mandir@%$mandir%g
+s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
+s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
+s%@INSTALL_DATA@%$INSTALL_DATA%g
+s%@PACKAGE@%$PACKAGE%g
+s%@VERSION@%$VERSION%g
+s%@ACLOCAL@%$ACLOCAL%g
+s%@AUTOCONF@%$AUTOCONF%g
+s%@AUTOMAKE@%$AUTOMAKE%g
+s%@AUTOHEADER@%$AUTOHEADER%g
+s%@MAKEINFO@%$MAKEINFO%g
+s%@SET_MAKE@%$SET_MAKE%g
+s%@AT_TESTPATH@%$AT_TESTPATH%g
+s%@ECHO_N@%$ECHO_N%g
+s%@ECHO_C@%$ECHO_C%g
+s%@CC@%$CC%g
+s%@CPP@%$CPP%g
+s%@host@%$host%g
+s%@host_alias@%$host_alias%g
+s%@host_cpu@%$host_cpu%g
+s%@host_vendor@%$host_vendor%g
+s%@host_os@%$host_os%g
+s%@build@%$build%g
+s%@build_alias@%$build_alias%g
+s%@build_cpu@%$build_cpu%g
+s%@build_vendor@%$build_vendor%g
+s%@build_os@%$build_os%g
+s%@RANLIB@%$RANLIB%g
+s%@LN_S@%$LN_S%g
+s%@LIBTOOL@%$LIBTOOL%g
+s%@U@%$U%g
+s%@ANSI2KNR@%$ANSI2KNR%g
+s%@LEX@%$LEX%g
+s%@LEX_OUTPUT_ROOT@%$LEX_OUTPUT_ROOT%g
+s%@LEXLIB@%$LEXLIB%g
+s%@LIBOBJS@%$LIBOBJS%g
+s%@ALLOCA@%$ALLOCA%g
+s%@GLIBC21@%$GLIBC21%g
+s%@USE_NLS_TRUE@%$USE_NLS_TRUE%g
+s%@USE_NLS_FALSE@%$USE_NLS_FALSE%g
+s%@ALL_LINGUAS@%$ALL_LINGUAS%g
+s%@ALL_POFILES@%$ALL_POFILES%g
+s%@ALL_MOFILES@%$ALL_MOFILES%g
+s%@MOFILES@%$MOFILES%g
+s%@LTALLOCA@%$LTALLOCA%g
+s%@LTLIBOBJS@%$LTLIBOBJS%g
-# No need to generate the scripts if there are no CONFIG_FILES.
-# This happens for instance when ./config.status config.h
-if test -n "\$CONFIG_FILES"; then
- # Protect against being on the right side of a sed subst in config.status.
- sed 's/%@/@@/; s/@%/@@/; s/%;t t\$/@;t t/; /@;t t\$/s/[\\\\&%]/\\\\&/g;
- s/@@/%@/; s/@@/@%/; s/@;t t\$/%;t t/' >\$ac_cs_root.subs <<\\CEOF
-s%@SHELL@%$SHELL%;t t
-s%@CFLAGS@%$CFLAGS%;t t
-s%@CPPFLAGS@%$CPPFLAGS%;t t
-s%@CXXFLAGS@%$CXXFLAGS%;t t
-s%@FFLAGS@%$FFLAGS%;t t
-s%@DEFS@%$DEFS%;t t
-s%@LDFLAGS@%$LDFLAGS%;t t
-s%@LIBS@%$LIBS%;t t
-s%@exec_prefix@%$exec_prefix%;t t
-s%@prefix@%$prefix%;t t
-s%@program_transform_name@%$program_transform_name%;t t
-s%@bindir@%$bindir%;t t
-s%@sbindir@%$sbindir%;t t
-s%@libexecdir@%$libexecdir%;t t
-s%@datadir@%$datadir%;t t
-s%@sysconfdir@%$sysconfdir%;t t
-s%@sharedstatedir@%$sharedstatedir%;t t
-s%@localstatedir@%$localstatedir%;t t
-s%@libdir@%$libdir%;t t
-s%@includedir@%$includedir%;t t
-s%@oldincludedir@%$oldincludedir%;t t
-s%@infodir@%$infodir%;t t
-s%@mandir@%$mandir%;t t
-s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%;t t
-s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%;t t
-s%@INSTALL_DATA@%$INSTALL_DATA%;t t
-s%@PACKAGE@%$PACKAGE%;t t
-s%@VERSION@%$VERSION%;t t
-s%@ACLOCAL@%$ACLOCAL%;t t
-s%@AUTOCONF@%$AUTOCONF%;t t
-s%@AUTOMAKE@%$AUTOMAKE%;t t
-s%@AUTOHEADER@%$AUTOHEADER%;t t
-s%@MAKEINFO@%$MAKEINFO%;t t
-s%@SET_MAKE@%$SET_MAKE%;t t
-s%@AT_TESTPATH@%$AT_TESTPATH%;t t
-s%@ECHO_N@%$ECHO_N%;t t
-s%@ECHO_C@%$ECHO_C%;t t
-s%@CC@%$CC%;t t
-s%@CPP@%$CPP%;t t
-s%@host@%$host%;t t
-s%@host_alias@%$host_alias%;t t
-s%@host_cpu@%$host_cpu%;t t
-s%@host_vendor@%$host_vendor%;t t
-s%@host_os@%$host_os%;t t
-s%@build@%$build%;t t
-s%@build_alias@%$build_alias%;t t
-s%@build_cpu@%$build_cpu%;t t
-s%@build_vendor@%$build_vendor%;t t
-s%@build_os@%$build_os%;t t
-s%@RANLIB@%$RANLIB%;t t
-s%@LN_S@%$LN_S%;t t
-s%@LIBTOOL@%$LIBTOOL%;t t
-s%@U@%$U%;t t
-s%@ANSI2KNR@%$ANSI2KNR%;t t
-s%@LEX@%$LEX%;t t
-s%@LEX_OUTPUT_ROOT@%$LEX_OUTPUT_ROOT%;t t
-s%@LEXLIB@%$LEXLIB%;t t
-s%@LIBOBJS@%$LIBOBJS%;t t
-s%@ALLOCA@%$ALLOCA%;t t
-s%@USE_NLS_TRUE@%$USE_NLS_TRUE%;t t
-s%@USE_NLS_FALSE@%$USE_NLS_FALSE%;t t
-s%@ALL_LINGUAS@%$ALL_LINGUAS%;t t
-s%@ALL_POFILES@%$ALL_POFILES%;t t
-s%@ALL_MOFILES@%$ALL_MOFILES%;t t
-s%@MOFILES@%$MOFILES%;t t
-s%@LTALLOCA@%$LTALLOCA%;t t
-s%@LTLIBOBJS@%$LTLIBOBJS%;t t
CEOF
-
EOF
- cat >>$CONFIG_STATUS <<\EOF
- # Split the substitutions into bite-sized pieces for seds with
- # small command number limits, like on Digital OSF/1 and HP-UX.
- ac_max_sed_lines=48
- ac_sed_frag=1 # Number of current file.
- ac_beg=1 # First line for current file.
- ac_end=$ac_max_sed_lines # Line after last line for current file.
- ac_more_lines=:
- ac_sed_cmds=""
- while $ac_more_lines; do
- if test $ac_beg -gt 1; then
- sed "1,${ac_beg}d; ${ac_end}q" $ac_cs_root.subs >$ac_cs_root.sfrag
- else
- sed "${ac_end}q" $ac_cs_root.subs >$ac_cs_root.sfrag
- fi
- if test ! -s $ac_cs_root.sfrag; then
- ac_more_lines=false
- rm -f $ac_cs_root.sfrag
+cat >> $CONFIG_STATUS <<\EOF
+
+# Split the substitutions into bite-sized pieces for seds with
+# small command number limits, like on Digital OSF/1 and HP-UX.
+ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
+ac_file=1 # Number of current file.
+ac_beg=1 # First line for current file.
+ac_end=$ac_max_sed_cmds # Line after last line for current file.
+ac_more_lines=:
+ac_sed_cmds=""
+while $ac_more_lines; do
+ if test $ac_beg -gt 1; then
+ sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
+ else
+ sed "${ac_end}q" conftest.subs > conftest.s$ac_file
+ fi
+ if test ! -s conftest.s$ac_file; then
+ ac_more_lines=false
+ rm -f conftest.s$ac_file
+ else
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds="sed -f conftest.s$ac_file"
else
- # The purpose of the label and of the branching condition is to
- # speed up the sed processing (if there are no `@' at all, there
- # is no need to browse any of the substitutions).
- # These are the two extra sed commands mentioned above.
- (echo ':t
- /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $ac_cs_root.sfrag) >$ac_cs_root.s$ac_sed_frag
- if test -z "$ac_sed_cmds"; then
- ac_sed_cmds="sed -f $ac_cs_root.s$ac_sed_frag"
- else
- ac_sed_cmds="$ac_sed_cmds | sed -f $ac_cs_root.s$ac_sed_frag"
- fi
- ac_sed_frag=`expr $ac_sed_frag + 1`
- ac_beg=$ac_end
- ac_end=`expr $ac_end + $ac_max_sed_lines`
+ ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
fi
- done
- if test -z "$ac_sed_cmds"; then
- ac_sed_cmds=cat
+ ac_file=`expr $ac_file + 1`
+ ac_beg=$ac_end
+ ac_end=`expr $ac_end + $ac_max_sed_cmds`
fi
-fi # test -n "$CONFIG_FILES"
+done
+if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds=cat
+fi
+EOF
+
+cat >> $CONFIG_STATUS <<EOF
+CONFIG_FILES=\${CONFIG_FILES-"Makefile contrib/Makefile doc/Makefile i18n/Makefile lib/Makefile
+libiconv/Makefile m4/Makefile src/Makefile tests/Makefile tests/atconfig"}
EOF
-cat >>$CONFIG_STATUS <<\EOF
+cat >> $CONFIG_STATUS <<\EOF
for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
# Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
case "$ac_file" in
.) srcdir=.
if test -z "$ac_dots"; then top_srcdir=.
else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
- /* | ?:/*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
+ /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
*) # Relative path.
srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
top_srcdir="$ac_dots$ac_given_srcdir" ;;
esac
case "$ac_given_INSTALL" in
- [/$]* | ?:/*) INSTALL="$ac_given_INSTALL" ;;
+ [/$]*) INSTALL="$ac_given_INSTALL" ;;
*) INSTALL="$ac_dots$ac_given_INSTALL" ;;
esac
echo creating "$ac_file"
rm -f "$ac_file"
- configure_input="Generated automatically from `echo $ac_file_in |
- sed 's%.*/%%'` by configure."
+ configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
case "$ac_file" in
- *[Mm]akefile*) ac_comsub="1i\\
+ *Makefile*) ac_comsub="1i\\
# $configure_input" ;;
*) ac_comsub= ;;
esac
- # Don't redirect the output to AC_FILE directly: use `mv' so that updating
- # is atomic, and doesn't need trapping.
- ac_file_inputs=`echo $ac_file_in |
- sed -e "s%^%$ac_given_srcdir/%;s%:% $ac_given_srcdir/%g"`
- for ac_file_input in $ac_file_inputs;
- do
- test -f "$ac_file_input" ||
- { echo "configure: error: cannot find input file \`$ac_file_input'" 1>&2; exit 1; }
- done
-EOF
-cat >>$CONFIG_STATUS <<EOF
+ ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
sed -e "$ac_comsub
-$ac_vpsub
-$extrasub
-EOF
-cat >>$CONFIG_STATUS <<\EOF
-:t
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s%@configure_input@%$configure_input%;t t
-s%@srcdir@%$srcdir%;t t
-s%@top_srcdir@%$top_srcdir%;t t
-s%@INSTALL@%$INSTALL%;t t
-" $ac_file_inputs | (eval "$ac_sed_cmds") >$ac_cs_root.out
- mv $ac_cs_root.out $ac_file
-
+s%@configure_input@%$configure_input%g
+s%@srcdir@%$srcdir%g
+s%@top_srcdir@%$top_srcdir%g
+s%@INSTALL@%$INSTALL%g
+" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
fi; done
-rm -f $ac_cs_root.s*
-EOF
-cat >>$CONFIG_STATUS <<\EOF
-
-#
-# CONFIG_HEADER section.
-#
+rm -f conftest.s*
# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where
# NAME is the cpp macro being defined and VALUE is the value it is being given.
#
# ac_d sets the value in "#define NAME VALUE" lines.
-ac_dA='s%^\([ ]*\)#\([ ]*<<define>>[ ][ ]*\)'
+ac_dA='s%^\([ ]*\)#\([ ]*define[ ][ ]*\)'
ac_dB='\([ ][ ]*\)[^ ]*%\1#\2'
ac_dC='\3'
-ac_dD='%;t t'
-# ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
+ac_dD='%g'
+# ac_u turns "#undef NAME" with trailing blanks into "#define NAME VALUE".
ac_uA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)'
-ac_uB='$%\1#\2define\3'
+ac_uB='\([ ]\)%\1#\2define\3'
ac_uC=' '
-ac_uD='%;t t'
-
+ac_uD='\4%g'
+# ac_e turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
+ac_eA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)'
+ac_eB='$%\1#\2define\3'
+ac_eC=' '
+ac_eD='%g'
+
+if test "${CONFIG_HEADERS+set}" != set; then
+EOF
+cat >> $CONFIG_STATUS <<EOF
+ CONFIG_HEADERS="config.h"
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+fi
for ac_file in .. $CONFIG_HEADERS; do if test "x$ac_file" != x..; then
# Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
case "$ac_file" in
echo creating $ac_file
- rm -f $ac_cs_root.frag $ac_cs_root.in $ac_cs_root.out
- ac_file_inputs=`echo $ac_file_in |
- sed -e "s%^%$ac_given_srcdir/%;s%:% $ac_given_srcdir/%g"`
- for ac_file_input in $ac_file_inputs;
- do
- test -f "$ac_file_input" ||
- { echo "configure: error: cannot find input file \`$ac_file_input'" 1>&2; exit 1; }
- done
- # Remove the trailing spaces.
- sed -e 's/[ ]*$//' $ac_file_inputs >$ac_cs_root.in
+ rm -f conftest.frag conftest.in conftest.out
+ ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
+ cat $ac_file_inputs > conftest.in
EOF
-# Transform confdefs.h into two sed scripts, `conftest.defines' and
-# `conftest.undefs', that substitutes the proper values into
-# config.h.in to produce config.h. The first handles `#define'
-# templates, and the second `#undef' templates.
-# And first: Protect against being on the right side of a sed subst in
-# config.status. Protect against being in an unquoted here document
-# in config.status.
-rm -f conftest.defines conftest.undefs
-cat >$ac_cs_root.hdr <<\EOF
+# Transform confdefs.h into a sed script conftest.vals that substitutes
+# the proper values into config.h.in to produce config.h. And first:
+# Protect against being on the right side of a sed subst in config.status.
+# Protect against being in an unquoted here document in config.status.
+rm -f conftest.vals
+cat > conftest.hdr <<\EOF
s/[\\&%]/\\&/g
s%[\\$`]%\\&%g
-t clear
-: clear
-s%^[ ]*#[ ]*define[ ][ ]*\(\([^ (][^ (]*\)([^)]*)\)[ ]*\(.*\)$%${ac_dA}\2${ac_dB}\1${ac_dC}\3${ac_dD}%gp
-t cleanup
-s%^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)$%${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD}%gp
-: cleanup
+s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD}%gp
+s%ac_d%ac_u%gp
+s%ac_u%ac_e%gp
EOF
-# If some macros were called several times there might be several times
-# the same #defines, which is useless. Nevertheless, we may not want to
-# sort them, since we want the *last* AC_DEFINE to be honored.
-uniq confdefs.h | sed -n -f $ac_cs_root.hdr >conftest.defines
-sed -e 's/ac_d/ac_u/g' conftest.defines >conftest.undefs
-rm -f $ac_cs_root.hdr
+sed -n -f conftest.hdr confdefs.h > conftest.vals
+rm -f conftest.hdr
# This sed command replaces #undef with comments. This is necessary, for
# example, in the case of _POSIX_SOURCE, which is predefined and required
# on some systems where configure will not decide to define it.
-cat >>conftest.undefs <<\EOF
+cat >> conftest.vals <<\EOF
s%^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*%/* & */%
EOF
-# Break up conftest.defines because some shells have a limit on the size
-# of here documents, and old seds have small limits too (100 cmds).
-echo ' # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS
-echo ' if egrep "^[ ]*#[ ]*define" $ac_cs_root.in >/dev/null; then' >>$CONFIG_STATUS
-echo ' # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS
-echo ' :' >>$CONFIG_STATUS
-rm -f conftest.tail
-while grep . conftest.defines >/dev/null
-do
- # Write a limited-size here document to $ac_cs_root.frag.
- echo ' cat >$ac_cs_root.frag <<CEOF' >>$CONFIG_STATUS
- echo ': t' >>$CONFIG_STATUS
- echo '/^[ ]*#[ ]*define/!b' >>$CONFIG_STATUS
- sed ${ac_max_here_lines}q conftest.defines >>$CONFIG_STATUS
- echo 'CEOF
- sed -f $ac_cs_root.frag $ac_cs_root.in >$ac_cs_root.out
- rm -f $ac_cs_root.in
- mv $ac_cs_root.out $ac_cs_root.in
-' >>$CONFIG_STATUS
- sed 1,${ac_max_here_lines}d conftest.defines >conftest.tail
- rm -f conftest.defines
- mv conftest.tail conftest.defines
-done
-rm -f conftest.defines
-echo ' fi # egrep' >>$CONFIG_STATUS
-echo >>$CONFIG_STATUS
+# Break up conftest.vals because some shells have a limit on
+# the size of here documents, and old seds have small limits too.
-# Break up conftest.undefs because some shells have a limit on the size
-# of here documents, and old seds have small limits too (100 cmds).
-echo ' # Handle all the #undef templates' >>$CONFIG_STATUS
rm -f conftest.tail
-while grep . conftest.undefs >/dev/null
+while :
do
- # Write a limited-size here document to $ac_cs_root.frag.
- echo ' cat >$ac_cs_root.frag <<CEOF' >>$CONFIG_STATUS
- echo ': t' >>$CONFIG_STATUS
- echo '/^[ ]*#[ ]*undef/!b' >>$CONFIG_STATUS
- sed ${ac_max_here_lines}q conftest.undefs >>$CONFIG_STATUS
+ ac_lines=`grep -c . conftest.vals`
+ # grep -c gives empty output for an empty file on some AIX systems.
+ if test -z "$ac_lines" || test "$ac_lines" -eq 0; then break; fi
+ # Write a limited-size here document to conftest.frag.
+ echo ' cat > conftest.frag <<CEOF' >> $CONFIG_STATUS
+ sed ${ac_max_here_lines}q conftest.vals >> $CONFIG_STATUS
echo 'CEOF
- sed -f $ac_cs_root.frag $ac_cs_root.in >$ac_cs_root.out
- rm -f $ac_cs_root.in
- mv $ac_cs_root.out $ac_cs_root.in
-' >>$CONFIG_STATUS
- sed 1,${ac_max_here_lines}d conftest.undefs >conftest.tail
- rm -f conftest.undefs
- mv conftest.tail conftest.undefs
+ sed -f conftest.frag conftest.in > conftest.out
+ rm -f conftest.in
+ mv conftest.out conftest.in
+' >> $CONFIG_STATUS
+ sed 1,${ac_max_here_lines}d conftest.vals > conftest.tail
+ rm -f conftest.vals
+ mv conftest.tail conftest.vals
done
-rm -f conftest.undefs
-
-cat >>$CONFIG_STATUS <<\EOF
- rm -f $ac_cs_root.frag $ac_cs_root.h
- echo "/* $ac_file. Generated automatically by configure. */" >$ac_cs_root.h
- cat $ac_cs_root.in >>$ac_cs_root.h
- rm -f $ac_cs_root.in
- if cmp -s $ac_file $ac_cs_root.h 2>/dev/null; then
+rm -f conftest.vals
+
+cat >> $CONFIG_STATUS <<\EOF
+ rm -f conftest.frag conftest.h
+ echo "/* $ac_file. Generated automatically by configure. */" > conftest.h
+ cat conftest.in >> conftest.h
+ rm -f conftest.in
+ if cmp -s $ac_file conftest.h 2>/dev/null; then
echo "$ac_file is unchanged"
- rm -f $ac_cs_root.h
+ rm -f conftest.h
else
# Remove last slash and all that follows it. Not all systems have dirname.
ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
test ! -d "$ac_dir" && mkdir "$ac_dir"
fi
rm -f $ac_file
- mv $ac_cs_root.h $ac_file
+ mv conftest.h $ac_file
fi
fi; done
-EOF
-cat >>$CONFIG_STATUS <<\EOF
-
-#
-# CONFIG_COMMANDS section.
-#
-for ac_file in .. $CONFIG_COMMANDS; do if test "x$ac_file" != x..; then
- ac_dest=`echo "$ac_file"|sed 's%:.*%%'`
- ac_source=`echo "$ac_file"|sed 's%[^:]*:%%'`
- echo "executing commands of $ac_dest"
- case "$ac_dest" in
- default-1 ) test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h ;;
- esac
-fi;done
EOF
+cat >> $CONFIG_STATUS <<EOF
-cat >>$CONFIG_STATUS <<\EOF
-#
-# CONFIG_COMMANDS section.
-#
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h
exit 0
EOF
chmod +x $CONFIG_STATUS
rm -fr confdefs* $ac_clean_files
-trap 'exit 1' 1 2 15
-
-test "$no_create" = yes || $SHELL $CONFIG_STATUS || exit 1
+test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
# Configure template for GNU recode.
-# Copyright (C) 1994, 96, 97, 98, 99, 00 Free Software Foundation, Inc.
+# Copyright (C) 1994-1999, 2000, 2001 Free Software Foundation, Inc.
# Process this file with autoconf to produce a configure script.
AC_INIT(src/recode.c)
AC_PREREQ(2.12)
AM_CONFIG_HEADER(config.h)
-AM_INIT_AUTOMAKE(recode, 3.5e)
+AM_INIT_AUTOMAKE(recode, 3.6)
AT_CONFIG(../src)
ALL_LINGUAS="da de el es fr gl it nl pl pt sl sv"
ad_AC_PROG_FLEX
AC_HEADER_STDC
-AC_CHECK_HEADERS(limits.h string.h stdbool.h unistd.h utime.h)
+AC_CHECK_HEADERS(limits.h locale.h memory.h stdbool.h stddef.h stdlib.h string.h unistd.h utime.h)
AC_TYPE_SIGNAL
jm_STRUCT_UTIMBUF
-AC_CHECK_FUNCS(dup2 rename strerror)
+AC_CHECK_FUNCS(dup2 mbrtowc rename setlocale strerror strndup wcrtomb)
AC_REPLACE_FUNCS(strtol strtoul)
AC_FUNC_ALLOCA
AC_FUNC_VPRINTF
jm_FUNC_REALLOC
AC_SUBST(LIBOBJS)
-fp_OS_MICROSOFT
-AC_MSG_CHECKING(the default charset)
-if test -n "${DEFAULT_CHARSET+set}"; then
- AC_MSG_RESULT($DEFAULT_CHARSET)
- AC_DEFINE_UNQUOTED(DEFAULT_CHARSET, "$DEFAULT_CHARSET")
-elif test "$fp_cv_os_microsoft" = no; then
- AC_MSG_RESULT(Latin-1)
- AC_DEFINE(DEFAULT_CHARSET, "Latin-1")
-else
- AC_MSG_RESULT(IBM-PC)
- AC_DEFINE(DEFAULT_CHARSET, "IBM-PC")
-fi
+AC_CANONICAL_HOST
+jm_LANGINFO_CODESET
+jm_GLIBC21
AM_WITH_DMALLOC
fp_WITH_GETTEXT
+2000-06-29 François Pinard <pinard@iro.umontreal.ca>
+
+ * recode.spec: New file, meant for RedHat.
+ * Makefile.am: Distribute it.
+ Reported by David Lebel.
+\f
1998-11-28 François Pinard <pinard@iro.umontreal.ca>
* Makefile.amiga, Makefile.amiga-lib: Recoded /cl to Unix.
# Makefile for `recode' related contributions.
-# Copyright © 1997, 1998 Free Software Foundation, Inc.
+# Copyright © 1997, 1998, 2000 Free Software Foundation, Inc.
# François Pinard <pinard@iro.umontreal.ca>
# This program is free software; you can redistribute it and/or modify
DJGPP_PORT = djgpp-README djgpp-diffs
ELISP_FILES = recode.el utf8.el
-EXTRA_DIST = $(AMIGA_PORT) $(DJGPP_PORT) $(ELISP_FILES)
+EXTRA_DIST = $(AMIGA_PORT) $(DJGPP_PORT) $(ELISP_FILES) recode.spec
# PARTICULAR PURPOSE.
# Makefile for `recode' related contributions.
-# Copyright © 1997, 1998 Free Software Foundation, Inc.
+# Copyright © 1997, 1998, 2000 Free Software Foundation, Inc.
# François Pinard <pinard@iro.umontreal.ca>
# This program is free software; you can redistribute it and/or modify
DLLTOOL = @DLLTOOL@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
+GLIBC21 = @GLIBC21@
LEX = @LEX@
LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
LIBOBJS = @LIBOBJS@
DJGPP_PORT = djgpp-README djgpp-diffs
ELISP_FILES = recode.el utf8.el
-EXTRA_DIST = $(AMIGA_PORT) $(DJGPP_PORT) $(ELISP_FILES)
+EXTRA_DIST = $(AMIGA_PORT) $(DJGPP_PORT) $(ELISP_FILES) recode.spec
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = ../config.h
CONFIG_CLEAN_FILES =
These makefiles allow building `recode' 3.4k on Amiga.
Submitted by Stefan Haubenthal, 1998-11.
+. + recode.spec
+
+ RPM spec file to prepare `recode' on RedHat.
+ Submitted by David Lebel, 2000-06.
+
.* External pointers
. + Documentation
--- /dev/null
+%define rcsid $Id: recode.spec,v 1.5 2000/06/29 13:52:54 lebel Exp $
+%define nam recode
+%define ver 3.5c
+%define rel 1
+%define sysconfdir /etc
+%define prefix /usr
+
+Summary: The `recode' library converts files between character sets and usages.
+Name: %nam
+Version: %ver
+Release: %rel
+Copyright: GPL
+Vendor: François Pinard et al.
+Group: Applications/Text
+Source: http://www.iro.umontreal.ca/contrib/recode/%{nam}-%{ver}.tar.gz
+URL: http://www.iro.umontreal.ca/~pinard/
+BuildRoot: /var/tmp/%{nam}-%{ver}-root
+Docdir: %{prefix}/doc
+
+%description
+The `recode' library converts files between character sets and usages.
+The library recognises or produces nearly 150 different character sets
+and is able to transliterate files between almost any pair. When
+exact transliteration are not possible, it may get rid of the
+offending characters or fall back on approximations. Most RFC 1345
+character sets are supported. The `recode' program is a handy
+front-end to the library.
+
+The `recode' program and library have been written by François Pinard.
+It is an evolving package, and specifications might change in future
+releases. Option `-f' is now fairly implemented, yet not fully.
+
+%package devel
+Summary: Libraries and include files for developing applications using the `recode' library.
+Group: Development/Libraries
+
+%description devel
+This package provides the necessary development libraries and include
+files to allow you to develop applications using the `recode' libraries.
+
+%changelog
+* Thu Jun 29 2000 David Lebel <lebel@lebel.org>
+- Initial public release of this SPEC file.
+
+%prep
+%setup -q
+
+%build
+if [ ! -f configure ]; then
+ CFLAGS="$RPM_OPT_FLAGS" ./autogen.sh \
+ --prefix=%{prefix} --sysconfdir=%{sysconfdir}
+else
+ CFLAGS="$RPM_OPT_FLAGS" ./configure \
+ --prefix=%{prefix} --sysconfdir=%{sysconfdir}
+fi
+
+make
+
+%install
+[ -n "$RPM_BUILD_ROOT" -a "$RPM_BUILD_ROOT" != / ] && rm -rf $RPM_BUILD_ROOT
+
+make install-strip \
+ prefix=$RPM_BUILD_ROOT%{prefix} \
+ sysconfdir=$RPM_BUILD_ROOT%{sysconfdir}
+
+%clean
+[ -n "$RPM_BUILD_ROOT" -a "$RPM_BUILD_ROOT" != / ] && rm -rf $RPM_BUILD_ROOT
+
+%post
+if ! grep %{prefix}/lib /etc/ld.so.conf > /dev/null ; then
+ echo "%{prefix}/lib" >> /etc/ld.so.conf
+fi
+
+[ -x /sbin/ldconfig ] && /sbin/ldconfig
+
+%postun -p /sbin/ldconfig
+
+%files
+%defattr(-, bin, bin)
+
+%doc ABOUT-NLS AUTHORS BACKLOG COPYING COPYING-LIB ChangeLog INSTALL NEWS README THANKS TODO
+%{prefix}/bin/*
+%{prefix}/lib/*.so*
+%{prefix}/info/recode*
+%{prefix}/man/man1/*
+%{prefix}/share/locale/*
+
+%files devel
+%defattr(0555, bin, bin)
+
+%{prefix}/include/*
+%{prefix}/lib/*.a
+%{prefix}/lib/*.la
+2000-12-06 Bruno Haible <haible@clisp.cons.org>
+
+ * Makefile.am (MAKEINFO): New definition, forcing English titles in
+ the generated info files.
+
+ * recode.texi: Reformulate paragraphs mentioning DEFAULT_CHARSET.
+
+ * Makemore (ENCODINGS_DEF): Add encodings_local.def.
+
+2000-08-30 Bruno Haible <haible@clisp.cons.org>
+
+ * help2man: Upgrade to version 1.022.
+
+2000-08-18 François Pinard <pinard@iro.umontreal.ca>
+
+ * recode.texi (HTML): Undust and bring up-to-date. Add XML info.
+
+2000-07-10 François Pinard <pinard@iro.umontreal.ca>
+
+ * recode.texi (Introduction): How to pronounce recode.
+
+2000-06-29 François Pinard <pinard@iro.umontreal.ca>
+
+ * tables.py (Explodes.complete, Strips.complete_sources): Produce
+ delmodule_* functions, both empty for now.
+\f
2000-06-26 François Pinard <pinard@iro.umontreal.ca>
* recode.texi (Debugging): New node.
* recode.texi (Charset overview): Document unreachable charsets.
Reported by François-Xavier Bergot
-\f
+
1999-12-29 François Pinard <pinard@iro.umontreal.ca>
* recode.texi (libiconv): Adjust to reflect the merge.
AUTOMAKE_OPTIONS = gnits
info_TEXINFOS = recode.texi
+MAKEINFO = LANG= LANGUAGE= @MAKEINFO@
EXTRA_DIST = libiconv.texi rfc1345.texi File-Latin1 help2man Makemore \
tables.py
DLLTOOL = @DLLTOOL@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
+GLIBC21 = @GLIBC21@
LEX = @LEX@
LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
LIBOBJS = @LIBOBJS@
LN_S = @LN_S@
LTALLOCA = @LTALLOCA@
LTLIBOBJS = @LTLIBOBJS@
-MAKEINFO = @MAKEINFO@
MOFILES = @MOFILES@
OBJDUMP = @OBJDUMP@
PACKAGE = @PACKAGE@
AUTOMAKE_OPTIONS = gnits
info_TEXINFOS = recode.texi
+MAKEINFO = LANG= LANGUAGE= @MAKEINFO@
EXTRA_DIST = libiconv.texi rfc1345.texi File-Latin1 help2man Makemore tables.py
MNEMONICS_DS = mnemonic,ds
ISO10646_DEF = $(CHSET)/iso10646.def
CHARSETS_DEF = $(CHSET)/charsets.def
-ENCODINGS_DEF = ../libiconv/encodings.def
+ENCODINGS_DEF = ../libiconv/encodings.def ../libiconv/encodings_local.def
MNEMONICS_DS = keld-email/iso10646.def
ISO10646_DEF = keld-email/iso10646.def
CHARSETS_DEF = keld-email/charsets.def
#!/usr/bin/perl -w
# Generate a short man page from --help and --version output.
-# Copyright © 1997, 98, 99 Free Software Foundation, Inc.
+# Copyright © 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
use POSIX qw(strftime setlocale LC_TIME);
my $this_program = 'help2man';
-my $this_version = '1.020';
+my $this_version = '1.022';
my $version_info = <<EOT;
-$this_program $this_version
+GNU $this_program $this_version
-Copyright (C) 1997, 98, 99 Free Software Foundation, Inc.
+Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
--version print version number, then exit
EXECUTABLE should accept `--help' and `--version' options.
+
+Report bugs to <bug-help2man\@gnu.org>.
EOT
my $section = 1;
{
my $quote = /\W/ ? '"' : '';
print ".SH $quote$_$quote\n";
-
+
for ($include{$_})
{
# Replace leading dot an backslash tokens.
@tindex CP936
@code{CP936} is an alias for this charset.
+@item GB18030
+@tindex GB18030
+
@item ISO-2022-CN
@tindex ISO-2022-CN@r{, aliases}
@tindex csISO2022CN
@item CP950
@tindex CP950
+@item BIG5HKSCS
+@tindex BIG5HKSCS
+
@item EUC-KR
@tindex EUC-KR@r{, aliases}
@tindex EUCKR
@tindex csISO2022KR
@tindex ISO2022KR
@code{csISO2022KR} and @code{ISO2022KR} are aliases for this charset.
+
+@item CHAR
+@tindex CHAR
+
+@item WCHAR_T
+@tindex WCHAR_T
@end table
@end itemize
\1f
Indirect:
recode.info-1: 1118
-recode.info-2: 51177
-recode.info-3: 99629
-recode.info-4: 149212
-recode.info-5: 197860
-recode.info-6: 234705
+recode.info-2: 42652
+recode.info-3: 91007
+recode.info-4: 123644
+recode.info-5: 169477
+recode.info-6: 211889
+recode.info-7: 237172
\1f
Tag Table:
(Indirect)
Node: Top\7f1118
-Node: Tutorial\7f5525
-Node: Introduction\7f9761
-Node: Charset overview\7f13804
-Node: Surface overview\7f15595
-Node: Contributing\7f17062
-Ref: Contributing-Footnote-1\7f19303
-Node: Invoking recode\7f19437
-Node: Synopsis\7f20393
-Ref: Synopsis-Footnote-1\7f22828
-Node: Requests\7f23127
-Ref: Requests-Footnote-1\7f29099
-Ref: Requests-Footnote-2\7f29166
-Ref: Requests-Footnote-3\7f29344
-Node: Listings\7f29803
-Node: Recoding\7f39722
-Node: Reversibility\7f42542
-Ref: Reversibility-Footnote-1\7f51040
-Node: Sequencing\7f51177
-Node: Mixed\7f53618
-Node: Emacs\7f57006
-Node: Debugging\7f57985
-Node: Library\7f62247
-Node: Outer level\7f63600
-Node: Request level\7f69125
-Node: Task level\7f79617
-Node: Charset level\7f90060
-Node: Errors\7f90897
-Ref: Errors-Footnote-1\7f95746
-Ref: Errors-Footnote-2\7f95860
-Node: Universal\7f96221
-Ref: Universal-Footnote-1\7f99348
-Ref: Universal-Footnote-2\7f99416
-Node: UCS-2\7f99629
-Node: UCS-4\7f102158
-Node: UTF-7\7f102695
-Node: UTF-8\7f103287
-Node: UTF-16\7f107589
-Node: count-characters\7f108734
-Node: dump-with-names\7f109402
-Node: libiconv\7f111955
-Node: Tabular\7f123475
-Node: ASCII misc\7f145740
-Node: ASCII\7f146102
-Node: ISO 8859\7f146918
-Node: ASCII-BS\7f149212
-Node: flat\7f151046
-Node: IBM and MS\7f151714
-Node: EBCDIC\7f152286
-Node: IBM-PC\7f154395
-Ref: IBM-PC-Footnote-1\7f156512
-Node: Icon-QNX\7f156670
-Node: CDC\7f157092
-Node: Display Code\7f158793
-Ref: Display Code-Footnote-1\7f161075
-Node: CDC-NOS\7f161280
-Node: Bang-Bang\7f163237
-Node: Micros\7f165161
-Node: Apple-Mac\7f165543
-Node: AtariST\7f167591
-Node: Miscellaneous\7f168574
-Node: HTML\7f169308
-Node: LaTeX\7f173546
-Node: Texinfo\7f174315
-Node: Vietnamese\7f175088
-Node: African\7f176061
-Node: Others\7f177410
-Node: Texte\7f178861
-Ref: Texte-Footnote-1\7f183409
-Ref: Texte-Footnote-2\7f183489
-Ref: Texte-Footnote-3\7f183964
-Node: Mule\7f184061
-Ref: Mule-Footnote-1\7f185841
-Node: Surfaces\7f186360
-Ref: Surfaces-Footnote-1\7f189345
-Node: Permutations\7f189451
-Node: End lines\7f190289
-Node: MIME\7f192489
-Node: Dump\7f193673
-Node: Test\7f197860
-Node: Internals\7f200334
-Node: Main flow\7f201570
-Node: New charsets\7f204683
-Node: New surfaces\7f209218
-Node: Design\7f209939
-Ref: Design-Footnote-1\7f219153
-Node: Concept Index\7f219257
-Node: Option Index\7f229197
-Node: Library Index\7f231278
-Node: Charset and Surface Index\7f234705
+Node: Tutorial\7f5524
+Node: Introduction\7f9760
+Node: Charset overview\7f13998
+Node: Surface overview\7f15789
+Node: Contributing\7f17256
+Ref: Contributing-Footnote-1\7f19497
+Node: Invoking recode\7f19631
+Node: Synopsis\7f20587
+Ref: Synopsis-Footnote-1\7f23022
+Node: Requests\7f23321
+Ref: Requests-Footnote-1\7f29229
+Ref: Requests-Footnote-2\7f29296
+Ref: Requests-Footnote-3\7f29474
+Node: Listings\7f29933
+Node: Recoding\7f39832
+Node: Reversibility\7f42652
+Ref: Reversibility-Footnote-1\7f51150
+Node: Sequencing\7f51287
+Node: Mixed\7f53728
+Node: Emacs\7f57116
+Node: Debugging\7f58095
+Node: Library\7f62357
+Node: Outer level\7f63710
+Node: Request level\7f69235
+Node: Task level\7f79727
+Node: Charset level\7f90170
+Node: Errors\7f91007
+Ref: Errors-Footnote-1\7f95856
+Ref: Errors-Footnote-2\7f95970
+Node: Universal\7f96331
+Ref: Universal-Footnote-1\7f99458
+Ref: Universal-Footnote-2\7f99526
+Node: UCS-2\7f99739
+Node: UCS-4\7f102268
+Node: UTF-7\7f102805
+Node: UTF-8\7f103397
+Node: UTF-16\7f107699
+Node: count-characters\7f108844
+Node: dump-with-names\7f109512
+Node: libiconv\7f112065
+Node: Tabular\7f123644
+Node: ASCII misc\7f145909
+Node: ASCII\7f146271
+Node: ISO 8859\7f147087
+Node: ASCII-BS\7f149381
+Node: flat\7f151215
+Node: IBM and MS\7f151883
+Node: EBCDIC\7f152455
+Node: IBM-PC\7f154564
+Ref: IBM-PC-Footnote-1\7f156681
+Node: Icon-QNX\7f156839
+Node: CDC\7f157261
+Node: Display Code\7f158962
+Ref: Display Code-Footnote-1\7f161244
+Node: CDC-NOS\7f161449
+Node: Bang-Bang\7f163406
+Node: Micros\7f165330
+Node: Apple-Mac\7f165712
+Node: AtariST\7f167760
+Node: Miscellaneous\7f168743
+Node: HTML\7f169477
+Node: LaTeX\7f175496
+Node: Texinfo\7f176265
+Node: Vietnamese\7f177038
+Node: African\7f178011
+Node: Others\7f179360
+Node: Texte\7f180811
+Ref: Texte-Footnote-1\7f185359
+Ref: Texte-Footnote-2\7f185439
+Ref: Texte-Footnote-3\7f185914
+Node: Mule\7f186011
+Ref: Mule-Footnote-1\7f187791
+Node: Surfaces\7f188310
+Ref: Surfaces-Footnote-1\7f191295
+Node: Permutations\7f191401
+Node: End lines\7f192239
+Node: MIME\7f194439
+Node: Dump\7f195623
+Node: Test\7f199810
+Node: Internals\7f202284
+Node: Main flow\7f203520
+Node: New charsets\7f206633
+Node: New surfaces\7f211168
+Node: Design\7f211889
+Ref: Design-Footnote-1\7f221103
+Node: Concept Index\7f221207
+Node: Option Index\7f231664
+Node: Library Index\7f233745
+Node: Charset and Surface Index\7f237172
\1f
End Tag Table
RFC 1345 character sets, and all `libiconv' character sets, are
supported. The `recode' program is a handy front-end to the library.
- The current `recode' release is 3.5d.
+ The current `recode' release is 3.6.
* Menu:
within files. So, `recode' should be given textual streams which are
rather _pure_.
- This tool pays special attention to superimposition of diacritics
-for some French representations. This orientation is mostly
-historical, it does not impair the usefulness, generality or
-extensibility of the program.
+ This tool pays special attention to superimposition of diacritics for
+some French representations. This orientation is mostly historical, it
+does not impair the usefulness, generality or extensibility of the
+program. `recode' is both a French and English word. For those who
+pay attention to those things, the proper pronunciation is French (that
+is, `racud', with `a' like in `above', and `u' like in `cut').
The program `recode' has been written by Franc,ois Pinard. With
time, it got to reuse works from other contributors, and notably, those
When a charset name is omitted or left empty, the value of the
`DEFAULT_CHARSET' variable in the environment is used instead. If this
-variable is not defined, the `recode' library uses the "usual charset"
-which is installation dependent. When this variable is defined but has
-an empty value, charset names may not be omitted. Unless overriden
-when `recode' was installed, the usual charset is `Latin-1' for Unix
-systems or `IBM-PC' for MS-DOS/MS-Windows machines.
+variable is not defined, the `recode' library uses the current locale's
+encoding. On POSIX compliant systems, this depends on the first
+non-empty value among the environment variables LC_ALL, LC_CTYPE, LANG,
+and can be determined through the command `locale charmap'.
If the charset name is omitted but followed by surfaces, the surfaces
then qualify the usual or default charset. For example, the request
charset, using as hints some already identified characters of the
charset. Some examples will help introducing the idea.
- Let's presume here that `recode' is run on Unix, where Latin-1 is
- the usual charset, and that `DEFAULT_CHARSET' is unset in the
- environment. Suppose you have guessed that code 130 (decimal) of
- the unknown charset represents a lower case `e' with an acute
- accent. That is to say that this code should map to code 233
- (decimal) in the usual charset. By executing:
+ Let's presume here that `recode' is run in an ISO-8859-1 locale,
+ and that `DEFAULT_CHARSET' is unset in the environment. Suppose
+ you have guessed that code 130 (decimal) of the unknown charset
+ represents a lower case `e' with an acute accent. That is to say
+ that this code should map to code 233 (decimal) in the usual
+ charset. By executing:
recode -k 130:233
CHARSET may be abbreviated to any unambiguous prefix.
-\1f
-File: recode.info, Node: Reversibility, Next: Sequencing, Prev: Recoding, Up: Invoking recode
-
-Reversibility issues
-====================
-
- The following options are somewhat related to reversibility issues:
-
-`-f'
-`--force'
- With this option, irreversible or otherwise erroneous recodings
- are run to completion, and `recode' does not exit with a non-zero
- status if it would be only because irreversibility matters. *Note
- Reversibility::.
-
- Without this option, `recode' tries to protect you against recoding
- a file irreversibly over itself(1). Whenever an irreversible
- recoding is met, or any other recoding error, `recode' produces a
- warning on standard error. The current input file does not get
- replaced by its recoded version, and `recode' then proceeds with
- the recoding of the next file.
-
- When the program is merely used as a filter, standard output will
- have received a partially recoded copy of standard input, up to
- the first error point. After all recodings have been done or
- attempted, and if some recoding has been aborted, `recode' exits
- with a non-zero status.
-
- In releases of `recode' prior to version 3.5, this option was
- always selected, so it was rather meaningless. Nevertheless,
- users were invited to start using `-f' right away in scripts
- calling `recode' whenever convenient, in preparation for the
- current behaviour.
-
-`-q'
-`--quiet'
-`--silent'
- This option has the sole purpose of inhibiting warning messages
- about irreversible recodings, and other such diagnostics. It has
- no other effect, in particular, it does _not_ prevent recodings to
- be aborted or `recode' to return a non-zero exit status when
- irreversible recodings are met.
-
- This option is set automatically for the children processes, when
- recode splits itself in many collaborating copies. Doing so, the
- diagnostic is issued only once by the parent. See option `-p'.
-
-`-s'
-`--strict'
- By using this option, the user requests that `recode' be very
- strict while recoding a file, merely losing in the transformation
- any character which is not explicitly mapped from a charset to
- another. Such a loss is not reversible and so, will bring
- `recode' to fail, unless the option `-f' is also given as a kind
- of counter-measure.
-
- Using `-s' without `-f' might render the `recode' program very
- susceptible to the slighest file abnormalities. Despite the fact
- that it might be irritating to some users, such paranoia is
- sometimes wanted and useful.
-
- Even if `recode' tries hard to keep the recodings reversible, you
-should not develop an unconditional confidence in its ability to do so.
-You _ought_ to keep only reasonable expectations about reverse
-recodings. In particular, consider:
-
- * Most transformations are fully reversible for all inputs, but lose
- this property whenever `-s' is specified.
-
- * A few transformations are not meant to be reversible, by design.
-
- * Reversibility sometimes depends on actual file contents and cannot
- be ascertained beforehand, without reading the file.
-
- * Reversibility is never absolute across successive versions of this
- program. Even correcting a small bug in a mapping could induce
- slight discrepancies later.
-
- * Reversibility is easily lost by merging. This is best explained
- through an example. If you reversibly recode a file from charset
- A to charset B, then you reversibly recode the result from charset
- B to charset C, you cannot expect to recover the original file by
- merely recoding from charset C directly to charset A. You will
- instead have to recode from charset C back to charset B, and only
- then from charset B to charset A.
-
- * Faulty files create a particular problem. Consider an example,
- recoding from `IBM-PC' to `Latin-1'. End of lines are represented
- as `\r\n' in `IBM-PC' and as `\n' in `Latin-1'. There is no way
- by which a faulty `IBM-PC' file containing a `\n' not preceded by
- `\r' be translated into a `Latin-1' file, and then back.
-
- * There is another difficulty arising from code equivalences. For
- example, in a `LaTeX' charset file, the string `\^\i{}' could be
- recoded back and forth through another charset and become
- `\^{\i}'. Even if the resulting file is equivalent to the
- original one, it is not identical.
-
- Unless option `-s' is used, `recode' automatically tries to fill
-mappings with invented correspondences, often making them fully
-reversible. This filling is not made at random. The algorithm tries to
-stick to the identity mapping and, when this is not possible, it prefers
-generating many small permutation cycles, each involving only a few
-codes.
-
- For example, here is how `IBM-PC' code 186 gets translated to
-`control-U' in `Latin-1'. `Control-U' is 21. Code 21 is the `IBM-PC'
-section sign, which is 167 in `Latin-1'. `recode' cannot reciprocate
-167 to 21, because 167 is the masculine ordinal indicator within
-`IBM-PC', which is 186 in `Latin-1'. Code 186 within `IBM-PC' has no
-`Latin-1' equivalent; by assigning it back to 21, `recode' closes this
-short permutation loop.
-
- As a consequence of this map filling, `recode' may sometimes produce
-_funny_ characters. They may look annoying, they are nevertheless
-helpful when one changes his (her) mind and wants to revert to the prior
-recoding. If you cannot stand these, use option `-s', which asks for a
-very strict recoding.
-
- This map filling sometimes has a few surprising consequences, which
-some users wrongly interpreted as bugs. Here are two examples.
-
- 1. In some cases, `recode' seems to copy a file without recoding it.
- But in fact, it does. Consider a request:
-
- recode l1..us < File-Latin1 > File-ASCII
- cmp File-Latin1 File-ASCII
-
- then `cmp' will not report any difference. This is quite normal.
- `Latin-1' gets correctly recoded to ASCII for charsets
- commonalities (which are the first 128 characters, in this case).
- The remaining last 128 `Latin-1' characters have no ASCII
- correspondent. Instead of losing them, `recode' elects to map
- them to unspecified characters of ASCII, so making the recoding
- reversible. The simplest way of achieving this is merely to keep
- those last 128 characters unchanged. The overall effect is
- copying the file verbatim.
-
- If you feel this behaviour is too generous and if you do not wish
- to care about reversibility, simply use option `-s'. By doing so,
- `recode' will strictly map only those `Latin-1' characters which
- have an ASCII equivalent, and will merely drop those which do not.
- Then, there is more chance that you will observe a difference
- between the input and the output file.
-
- 2. Recoding the wrong way could sometimes give the false impression
- that recoding has _almost_ been done properly. Consider the
- requests:
-
- recode 437..l1 < File-Latin1 > Temp1
- recode 437..l1 < Temp1 > Temp2
-
- so declaring wrongly `File-Latin1' to be an IBM-PC file, and
- recoding to `Latin-1'. This is surely ill defined and not
- meaningful. Yet, if you repeat this step a second time, you might
- notice that many (not all) characters in `Temp2' are identical to
- those in `File-Latin1'. Sometimes, people try to discover how
- `recode' works by experimenting a little at random, rather than
- reading and understanding the documentation; results such as this
- are surely confusing, as they provide those people with a false
- feeling that they understood something.
-
- Reversible codings have this property that, if applied several
- times in the same direction, they will eventually bring any
- character back to its original value. Since `recode' seeks small
- permutation cycles when creating reversible codings, besides
- characters unchanged by the recoding, most permutation cycles will
- be of length 2, and fewer of length 3, etc. So, it is just
- expectable that applying the recoding twice in the same direction
- will recover most characters, but will fail to recover those
- participating in permutation cycles of length 3. On the other
- end, recoding six times in the same direction would recover all
- characters in cycles of length 1, 2, 3 or 6.
-
- ---------- Footnotes ----------
-
- (1) There are still some cases of ambiguous output which are rather
-difficult to detect, and for which the protection is not active.
-
versions, except that this permission notice may be stated in a
translation approved by the Foundation.
+\1f
+File: recode.info, Node: Reversibility, Next: Sequencing, Prev: Recoding, Up: Invoking recode
+
+Reversibility issues
+====================
+
+ The following options are somewhat related to reversibility issues:
+
+`-f'
+`--force'
+ With this option, irreversible or otherwise erroneous recodings
+ are run to completion, and `recode' does not exit with a non-zero
+ status if it would be only because irreversibility matters. *Note
+ Reversibility::.
+
+ Without this option, `recode' tries to protect you against recoding
+ a file irreversibly over itself(1). Whenever an irreversible
+ recoding is met, or any other recoding error, `recode' produces a
+ warning on standard error. The current input file does not get
+ replaced by its recoded version, and `recode' then proceeds with
+ the recoding of the next file.
+
+ When the program is merely used as a filter, standard output will
+ have received a partially recoded copy of standard input, up to
+ the first error point. After all recodings have been done or
+ attempted, and if some recoding has been aborted, `recode' exits
+ with a non-zero status.
+
+ In releases of `recode' prior to version 3.5, this option was
+ always selected, so it was rather meaningless. Nevertheless,
+ users were invited to start using `-f' right away in scripts
+ calling `recode' whenever convenient, in preparation for the
+ current behaviour.
+
+`-q'
+`--quiet'
+`--silent'
+ This option has the sole purpose of inhibiting warning messages
+ about irreversible recodings, and other such diagnostics. It has
+ no other effect, in particular, it does _not_ prevent recodings to
+ be aborted or `recode' to return a non-zero exit status when
+ irreversible recodings are met.
+
+ This option is set automatically for the children processes, when
+ recode splits itself in many collaborating copies. Doing so, the
+ diagnostic is issued only once by the parent. See option `-p'.
+
+`-s'
+`--strict'
+ By using this option, the user requests that `recode' be very
+ strict while recoding a file, merely losing in the transformation
+ any character which is not explicitly mapped from a charset to
+ another. Such a loss is not reversible and so, will bring
+ `recode' to fail, unless the option `-f' is also given as a kind
+ of counter-measure.
+
+ Using `-s' without `-f' might render the `recode' program very
+ susceptible to the slighest file abnormalities. Despite the fact
+ that it might be irritating to some users, such paranoia is
+ sometimes wanted and useful.
+
+ Even if `recode' tries hard to keep the recodings reversible, you
+should not develop an unconditional confidence in its ability to do so.
+You _ought_ to keep only reasonable expectations about reverse
+recodings. In particular, consider:
+
+ * Most transformations are fully reversible for all inputs, but lose
+ this property whenever `-s' is specified.
+
+ * A few transformations are not meant to be reversible, by design.
+
+ * Reversibility sometimes depends on actual file contents and cannot
+ be ascertained beforehand, without reading the file.
+
+ * Reversibility is never absolute across successive versions of this
+ program. Even correcting a small bug in a mapping could induce
+ slight discrepancies later.
+
+ * Reversibility is easily lost by merging. This is best explained
+ through an example. If you reversibly recode a file from charset
+ A to charset B, then you reversibly recode the result from charset
+ B to charset C, you cannot expect to recover the original file by
+ merely recoding from charset C directly to charset A. You will
+ instead have to recode from charset C back to charset B, and only
+ then from charset B to charset A.
+
+ * Faulty files create a particular problem. Consider an example,
+ recoding from `IBM-PC' to `Latin-1'. End of lines are represented
+ as `\r\n' in `IBM-PC' and as `\n' in `Latin-1'. There is no way
+ by which a faulty `IBM-PC' file containing a `\n' not preceded by
+ `\r' be translated into a `Latin-1' file, and then back.
+
+ * There is another difficulty arising from code equivalences. For
+ example, in a `LaTeX' charset file, the string `\^\i{}' could be
+ recoded back and forth through another charset and become
+ `\^{\i}'. Even if the resulting file is equivalent to the
+ original one, it is not identical.
+
+ Unless option `-s' is used, `recode' automatically tries to fill
+mappings with invented correspondences, often making them fully
+reversible. This filling is not made at random. The algorithm tries to
+stick to the identity mapping and, when this is not possible, it prefers
+generating many small permutation cycles, each involving only a few
+codes.
+
+ For example, here is how `IBM-PC' code 186 gets translated to
+`control-U' in `Latin-1'. `Control-U' is 21. Code 21 is the `IBM-PC'
+section sign, which is 167 in `Latin-1'. `recode' cannot reciprocate
+167 to 21, because 167 is the masculine ordinal indicator within
+`IBM-PC', which is 186 in `Latin-1'. Code 186 within `IBM-PC' has no
+`Latin-1' equivalent; by assigning it back to 21, `recode' closes this
+short permutation loop.
+
+ As a consequence of this map filling, `recode' may sometimes produce
+_funny_ characters. They may look annoying, they are nevertheless
+helpful when one changes his (her) mind and wants to revert to the prior
+recoding. If you cannot stand these, use option `-s', which asks for a
+very strict recoding.
+
+ This map filling sometimes has a few surprising consequences, which
+some users wrongly interpreted as bugs. Here are two examples.
+
+ 1. In some cases, `recode' seems to copy a file without recoding it.
+ But in fact, it does. Consider a request:
+
+ recode l1..us < File-Latin1 > File-ASCII
+ cmp File-Latin1 File-ASCII
+
+ then `cmp' will not report any difference. This is quite normal.
+ `Latin-1' gets correctly recoded to ASCII for charsets
+ commonalities (which are the first 128 characters, in this case).
+ The remaining last 128 `Latin-1' characters have no ASCII
+ correspondent. Instead of losing them, `recode' elects to map
+ them to unspecified characters of ASCII, so making the recoding
+ reversible. The simplest way of achieving this is merely to keep
+ those last 128 characters unchanged. The overall effect is
+ copying the file verbatim.
+
+ If you feel this behaviour is too generous and if you do not wish
+ to care about reversibility, simply use option `-s'. By doing so,
+ `recode' will strictly map only those `Latin-1' characters which
+ have an ASCII equivalent, and will merely drop those which do not.
+ Then, there is more chance that you will observe a difference
+ between the input and the output file.
+
+ 2. Recoding the wrong way could sometimes give the false impression
+ that recoding has _almost_ been done properly. Consider the
+ requests:
+
+ recode 437..l1 < File-Latin1 > Temp1
+ recode 437..l1 < Temp1 > Temp2
+
+ so declaring wrongly `File-Latin1' to be an IBM-PC file, and
+ recoding to `Latin-1'. This is surely ill defined and not
+ meaningful. Yet, if you repeat this step a second time, you might
+ notice that many (not all) characters in `Temp2' are identical to
+ those in `File-Latin1'. Sometimes, people try to discover how
+ `recode' works by experimenting a little at random, rather than
+ reading and understanding the documentation; results such as this
+ are surely confusing, as they provide those people with a false
+ feeling that they understood something.
+
+ Reversible codings have this property that, if applied several
+ times in the same direction, they will eventually bring any
+ character back to its original value. Since `recode' seeks small
+ permutation cycles when creating reversible codings, besides
+ characters unchanged by the recoding, most permutation cycles will
+ be of length 2, and fewer of length 3, etc. So, it is just
+ expectable that applying the recoding twice in the same direction
+ will recover most characters, but will fail to recover those
+ participating in permutation cycles of length 3. On the other
+ end, recoding six times in the same direction would recover all
+ characters in cycles of length 1, 2, 3 or 6.
+
+ ---------- Footnotes ----------
+
+ (1) There are still some cases of ambiguous output which are rather
+difficult to detect, and for which the protection is not active.
+
\1f
File: recode.info, Node: Sequencing, Next: Mixed, Prev: Reversibility, Up: Invoking recode
bool list_concise_charset (CHARSET, LIST-FORMAT);
bool list_full_charset (CHARSET);
-\1f
-File: recode.info, Node: Errors, Prev: Charset level, Up: Library
-
-Handling errors
-===============
-
- The `recode' program, while using the `recode' library, needs to
-control whether recoding problems are reported or not, and then reflect
-these in the exit status. The program should also instruct the library
-whether the recoding should be abruptly interrupted when an error is
-met (so sparing processing when it is known in advance that a wrong
-result would be discarded anyway), or if it should proceed nevertheless.
-Here is how the library groups errors into levels, listed here in order
-of increasing severity.
-
-`RECODE_NO_ERROR'
- No error was met on previous library calls.
-
-`RECODE_NOT_CANONICAL'
- The input text was using one of the many alternative codings for
- some phenomenon, but not the one `recode' would have canonically
- generated. So, if the reverse recoding is later attempted, it
- would produce a text having the same _meaning_ as the original
- text, yet not being byte identical.
-
- For example, a `Base64' block in which end-of-lines appear
- elsewhere that at every 76 characters is not canonical. An
- e-circumflex in TeX which is coded as `\^{e}' instead of `\^e' is
- not canonical.
-
-`RECODE_AMBIGUOUS_OUTPUT'
- It has been discovered that if the reverse recoding was attempted
- on the text output by this recoding, we would not obtain the
- original text, only because an ambiguity was generated by accident
- in the output text. This ambiguity would then cause the wrong
- interpretation to be taken.
-
- Here are a few examples. If the `Latin-1' sequence `e^' is
- converted to Easy French and back, the result will be interpreted
- as e-circumflex and so, will not reflect the intent of the
- original two characters. Recoding an `IBM-PC' text to `Latin-1'
- and back, where the input text contained an isolated `LF', will
- have a spurious `CR' inserted before the `LF'.
-
- Currently, there are many cases in the library where the
- production of ambiguous output is not properly detected, as it is
- sometimes a difficult problem to accomplish this detection, or to
- do it speedily.
-
-`RECODE_UNTRANSLATABLE'
- One or more input character could not be recoded, because there is
- just no representation for this character in the output charset.
-
- Here are a few examples. Non-strict mode often allows `recode' to
- compute on-the-fly mappings for unrepresentable characters, but
- strict mode prohibits such attribution of reversible translations:
- so strict mode might often trigger such an error. Most `UCS-2'
- codes used to represent Asian characters cannot be expressed in
- various Latin charsets.
-
-`RECODE_INVALID_INPUT'
- The input text does not comply with the coding it is declared to
- hold. So, there is no way by which a reverse recoding would
- reproduce this text, because `recode' should never produce invalid
- output.
-
- Here are a few examples. In strict mode, `ASCII' text is not
- allowed to contain characters with the eight bit set. `UTF-8'
- encodings ought to be minimal(1).
-
-`RECODE_SYSTEM_ERROR'
- The underlying system reported an error while the recoding was
- going on, likely an input/output error. (This error symbol is
- currently unused in the library.)
-
-`RECODE_USER_ERROR'
- The programmer or user requested something the recoding library is
- unable to provide, or used the API wrongly. (This error symbol is
- currently unused in the library.)
-
-`RECODE_INTERNAL_ERROR'
- Something really wrong, which should normally never happen, was
- detected within the recoding library. This might be due to
- genuine bugs in the library, or maybe due to un-initialised or
- overwritten arguments to the API. (This error symbol is currently
- unused in the library.)
-
-`RECODE_MAXIMUM_ERROR'
- This error code should never be returned, it is only internally
- used as a sentinel for the list of all possible error codes.
-
- One should be able to set the error level threshold for returning
-failure at end of recoding, and also the threshold for immediate
-interruption. If many errors occur while the recoding proceed, which
-are not severe enough to interrupt the recoding, then the most severe
-error is retained, while others are forgotten(2). So, in case of an
-error, the possible actions currently are:
-
- * do nothing and let go, returning success at end of recoding,
-
- * just let go for now, but return failure at end of recoding,
-
- * interrupt recoding right away and return failure now.
-
-*Note Task level::, and particularly the description of the fields
-`fail_level', `abort_level' and `error_so_far', for more information
-about how errors are handled.
-
- ---------- Footnotes ----------
-
- (1) The minimality of an `UTF-8' encoding is guaranteed on output,
-but currently, it is not checked on input.
-
- (2) Another approach would have been to define the level symbols as
-masks instead, and to give masks to threshold setting routines, and to
-retain all errors--yet I never met myself such a need in practice, and
-so I fear it would be overkill. On the other hand, it might be
-interesting to maintain counters about how many times each kind of
-error occurred.
-
-\1f
-File: recode.info, Node: Universal, Next: libiconv, Prev: Library, Up: Top
-
-The universal charset
-*********************
-
- Standard ISO 10646 defines a universal character set, intended to
-encompass in the long run all languages written on this planet. It is
-based on wide characters, and offer possibilities for two billion
-characters (2^31).
-
- This charset was to become available in `recode' under the name
-`UCS', with many external surfaces for it. But in the current version,
-only surfaces of `UCS' are offered, each presented as a genuine charset
-rather than a surface. Such surfaces are only meaningful for the `UCS'
-charset, so it is not that useful to draw a line between the surfaces
-and the only charset to which they may apply.
-
- `UCS' stands for Universal Character Set. `UCS-2' and `UCS-4' are
-fixed length encodings, using two or four bytes per character
-respectively. `UTF' stands for `UCS' Transformation Format, and are
-variable length encodings dedicated to `UCS'. `UTF-1' was based on
-ISO 2022, it did not succeed(1). `UTF-2' replaced it, it has been
-called `UTF-FSS' (File System Safe) in Unicode or Plan9 context, but is
-better known today as `UTF-8'. To complete the picture, there is
-`UTF-16' based on 16 bits bytes, and `UTF-7' which is meant for
-transmissions limited to 7-bit bytes. Most often, one might see
-`UTF-8' used for external storage, and `UCS-2' used for internal
-storage.
-
- When `recode' is producing any representation of `UCS', it uses the
-replacement character `U+FFFD' for any _valid_ character which is not
-representable in the goal charset(2). This happens, for example, when
-`UCS-2' is not capable to echo a wide `UCS-4' character, or for a
-similar reason, an `UTF-8' sequence using more than three bytes. The
-replacement character is meant to represent an existing character. So,
-it is never produced to represent an invalid sequence or ill-formed
-character in the input text. In such cases, `recode' just gets rid of
-the noise, while taking note of the error in its usual ways.
-
- Even if `UTF-8' is an encoding, really, it is the encoding of a
-single character set, and nothing else. It is useful to distinguish
-between an encoding (a _surface_ within `recode') and a charset, but
-only when the surface may be applied to several charsets. Specifying a
-charset is a bit simpler than specifying a surface in a `recode'
-request. There would not be a practical advantage at imposing a more
-complex syntax to `recode' users, when it is simple to assimilate
-`UTF-8' to a charset. Similar considerations apply for `UCS-2',
-`UCS-4', `UTF-16' and `UTF-7'. These are all considered to be charsets.
-
-* Menu:
-
-* UCS-2:: Universal Character Set, 2 bytes
-* UCS-4:: Universal Character Set, 4 bytes
-* UTF-7:: Universal Transformation Format, 7 bits
-* UTF-8:: Universal Transformation Format, 8 bits
-* UTF-16:: Universal Transformation Format, 16 bits
-* count-characters:: Frequency count of characters
-* dump-with-names:: Fully interpreted UCS dump
-
- ---------- Footnotes ----------
-
- (1) It is not probable that `recode' will ever support `UTF-1'.
-
- (2) This is when the goal charset allows for 16-bits. For shorter
-charsets, the `--strict' (`-s') option decides what happens: either the
-character is dropped, or a reversible mapping is produced on the fly.
-
versions, except that this permission notice may be stated in a
translation approved by the Foundation.
+\1f
+File: recode.info, Node: Errors, Prev: Charset level, Up: Library
+
+Handling errors
+===============
+
+ The `recode' program, while using the `recode' library, needs to
+control whether recoding problems are reported or not, and then reflect
+these in the exit status. The program should also instruct the library
+whether the recoding should be abruptly interrupted when an error is
+met (so sparing processing when it is known in advance that a wrong
+result would be discarded anyway), or if it should proceed nevertheless.
+Here is how the library groups errors into levels, listed here in order
+of increasing severity.
+
+`RECODE_NO_ERROR'
+ No error was met on previous library calls.
+
+`RECODE_NOT_CANONICAL'
+ The input text was using one of the many alternative codings for
+ some phenomenon, but not the one `recode' would have canonically
+ generated. So, if the reverse recoding is later attempted, it
+ would produce a text having the same _meaning_ as the original
+ text, yet not being byte identical.
+
+ For example, a `Base64' block in which end-of-lines appear
+ elsewhere that at every 76 characters is not canonical. An
+ e-circumflex in TeX which is coded as `\^{e}' instead of `\^e' is
+ not canonical.
+
+`RECODE_AMBIGUOUS_OUTPUT'
+ It has been discovered that if the reverse recoding was attempted
+ on the text output by this recoding, we would not obtain the
+ original text, only because an ambiguity was generated by accident
+ in the output text. This ambiguity would then cause the wrong
+ interpretation to be taken.
+
+ Here are a few examples. If the `Latin-1' sequence `e^' is
+ converted to Easy French and back, the result will be interpreted
+ as e-circumflex and so, will not reflect the intent of the
+ original two characters. Recoding an `IBM-PC' text to `Latin-1'
+ and back, where the input text contained an isolated `LF', will
+ have a spurious `CR' inserted before the `LF'.
+
+ Currently, there are many cases in the library where the
+ production of ambiguous output is not properly detected, as it is
+ sometimes a difficult problem to accomplish this detection, or to
+ do it speedily.
+
+`RECODE_UNTRANSLATABLE'
+ One or more input character could not be recoded, because there is
+ just no representation for this character in the output charset.
+
+ Here are a few examples. Non-strict mode often allows `recode' to
+ compute on-the-fly mappings for unrepresentable characters, but
+ strict mode prohibits such attribution of reversible translations:
+ so strict mode might often trigger such an error. Most `UCS-2'
+ codes used to represent Asian characters cannot be expressed in
+ various Latin charsets.
+
+`RECODE_INVALID_INPUT'
+ The input text does not comply with the coding it is declared to
+ hold. So, there is no way by which a reverse recoding would
+ reproduce this text, because `recode' should never produce invalid
+ output.
+
+ Here are a few examples. In strict mode, `ASCII' text is not
+ allowed to contain characters with the eight bit set. `UTF-8'
+ encodings ought to be minimal(1).
+
+`RECODE_SYSTEM_ERROR'
+ The underlying system reported an error while the recoding was
+ going on, likely an input/output error. (This error symbol is
+ currently unused in the library.)
+
+`RECODE_USER_ERROR'
+ The programmer or user requested something the recoding library is
+ unable to provide, or used the API wrongly. (This error symbol is
+ currently unused in the library.)
+
+`RECODE_INTERNAL_ERROR'
+ Something really wrong, which should normally never happen, was
+ detected within the recoding library. This might be due to
+ genuine bugs in the library, or maybe due to un-initialised or
+ overwritten arguments to the API. (This error symbol is currently
+ unused in the library.)
+
+`RECODE_MAXIMUM_ERROR'
+ This error code should never be returned, it is only internally
+ used as a sentinel for the list of all possible error codes.
+
+ One should be able to set the error level threshold for returning
+failure at end of recoding, and also the threshold for immediate
+interruption. If many errors occur while the recoding proceed, which
+are not severe enough to interrupt the recoding, then the most severe
+error is retained, while others are forgotten(2). So, in case of an
+error, the possible actions currently are:
+
+ * do nothing and let go, returning success at end of recoding,
+
+ * just let go for now, but return failure at end of recoding,
+
+ * interrupt recoding right away and return failure now.
+
+*Note Task level::, and particularly the description of the fields
+`fail_level', `abort_level' and `error_so_far', for more information
+about how errors are handled.
+
+ ---------- Footnotes ----------
+
+ (1) The minimality of an `UTF-8' encoding is guaranteed on output,
+but currently, it is not checked on input.
+
+ (2) Another approach would have been to define the level symbols as
+masks instead, and to give masks to threshold setting routines, and to
+retain all errors--yet I never met myself such a need in practice, and
+so I fear it would be overkill. On the other hand, it might be
+interesting to maintain counters about how many times each kind of
+error occurred.
+
+\1f
+File: recode.info, Node: Universal, Next: libiconv, Prev: Library, Up: Top
+
+The universal charset
+*********************
+
+ Standard ISO 10646 defines a universal character set, intended to
+encompass in the long run all languages written on this planet. It is
+based on wide characters, and offer possibilities for two billion
+characters (2^31).
+
+ This charset was to become available in `recode' under the name
+`UCS', with many external surfaces for it. But in the current version,
+only surfaces of `UCS' are offered, each presented as a genuine charset
+rather than a surface. Such surfaces are only meaningful for the `UCS'
+charset, so it is not that useful to draw a line between the surfaces
+and the only charset to which they may apply.
+
+ `UCS' stands for Universal Character Set. `UCS-2' and `UCS-4' are
+fixed length encodings, using two or four bytes per character
+respectively. `UTF' stands for `UCS' Transformation Format, and are
+variable length encodings dedicated to `UCS'. `UTF-1' was based on
+ISO 2022, it did not succeed(1). `UTF-2' replaced it, it has been
+called `UTF-FSS' (File System Safe) in Unicode or Plan9 context, but is
+better known today as `UTF-8'. To complete the picture, there is
+`UTF-16' based on 16 bits bytes, and `UTF-7' which is meant for
+transmissions limited to 7-bit bytes. Most often, one might see
+`UTF-8' used for external storage, and `UCS-2' used for internal
+storage.
+
+ When `recode' is producing any representation of `UCS', it uses the
+replacement character `U+FFFD' for any _valid_ character which is not
+representable in the goal charset(2). This happens, for example, when
+`UCS-2' is not capable to echo a wide `UCS-4' character, or for a
+similar reason, an `UTF-8' sequence using more than three bytes. The
+replacement character is meant to represent an existing character. So,
+it is never produced to represent an invalid sequence or ill-formed
+character in the input text. In such cases, `recode' just gets rid of
+the noise, while taking note of the error in its usual ways.
+
+ Even if `UTF-8' is an encoding, really, it is the encoding of a
+single character set, and nothing else. It is useful to distinguish
+between an encoding (a _surface_ within `recode') and a charset, but
+only when the surface may be applied to several charsets. Specifying a
+charset is a bit simpler than specifying a surface in a `recode'
+request. There would not be a practical advantage at imposing a more
+complex syntax to `recode' users, when it is simple to assimilate
+`UTF-8' to a charset. Similar considerations apply for `UCS-2',
+`UCS-4', `UTF-16' and `UTF-7'. These are all considered to be charsets.
+
+* Menu:
+
+* UCS-2:: Universal Character Set, 2 bytes
+* UCS-4:: Universal Character Set, 4 bytes
+* UTF-7:: Universal Transformation Format, 7 bits
+* UTF-8:: Universal Transformation Format, 8 bits
+* UTF-16:: Universal Transformation Format, 16 bits
+* count-characters:: Frequency count of characters
+* dump-with-names:: Fully interpreted UCS dump
+
+ ---------- Footnotes ----------
+
+ (1) It is not probable that `recode' will ever support `UTF-1'.
+
+ (2) This is when the goal charset allows for 16-bits. For shorter
+charsets, the `--strict' (`-s') option decides what happens: either the
+character is dropped, or a reversible mapping is produced on the fly.
+
\1f
File: recode.info, Node: UCS-2, Next: UCS-4, Prev: Universal, Up: Universal
`GBK'
`CP936' is an alias for this charset.
+ `GB18030'
+
`ISO-2022-CN'
`csISO2022CN' and `ISO2022CN' are aliases for this charset.
`CP950'
+ `BIG5HKSCS'
+
`EUC-KR'
`EUCKR', `csEUCKR' and `EUC_KR' are aliases for this charset.
`ISO-2022-KR'
`csISO2022KR' and `ISO2022KR' are aliases for this charset.
-\1f
-File: recode.info, Node: Tabular, Next: ASCII misc, Prev: libiconv, Up: Top
-
-Tabular sources (RFC 1345)
-**************************
-
- An important part of the tabular charset knowledge in `recode' comes
-from RFC 1345 or, alternatively, from the `chset' tools, both
-maintained by Keld Simonsen. The RFC 1345 document:
-
- "Character Mnemonics & Character Sets", K. Simonsen, Request for
- Comments no. 1345, Network Working Group, June 1992.
-
-defines many character mnemonics and character sets. The `recode'
-library implements most of RFC 1345, however:
-
- * It does not recognise those charsets which overload character
- positions: `dk-us' and `us-dk'. However, *Note Mixed::.
-
- * It does not recognise those charsets which combine two characters
- for representing a third: `ANSI_X3.110-1983', `ISO_6937-2-add',
- `T.101-G2', `T.61-8bit', `iso-ir-90' and `videotex-suppl'.
-
- * It does not recognise 16-bits charsets: `GB_2312-80',
- `JIS_C6226-1978', `JIS_C6226-1983', `JIS_X0212-1990' and
- `KS_C_5601-1987'.
-
- * It interprets the charset `isoir91' as `NATS-DANO' (alias
- `iso-ir-9-1'), _not_ as `JIS_C6229-1984-a' (alias `iso-ir-91').
- It also interprets the charset `isoir92' as `NATS-DANO-ADD' (alias
- `iso-ir-9-2'), _not_ as `JIS_C6229-1984-b' (alias `iso-ir-92').
- It might be better just avoiding these two alias names.
-
- Keld Simonsen <keld@dkuug.dk> did most of RFC 1345 himself, with
-some funding from Danish Standards and Nordic standards (INSTA) project.
-He also did the character set design work, with substantial input from
-Olle Jaernefors. Keld typed in almost all of the tables, some have been
-contributed. A number of people have checked the tables in various
-ways. The RFC lists a number of people who helped.
-
- Keld and the `recode' maintainer have an arrangement by which any new
-discovered information submitted by `recode' users, about tabular
-charsets, is forwarded to Keld, eventually merged into Keld's work, and
-only then, reimported into `recode'. Neither the `recode' program nor
-its library try to compete, nor even establish themselves as an
-alternate or diverging reference: RFC 1345 and its new drafts stay the
-genuine source for most tabular information conveyed by `recode'. Keld
-has been more than collaborative so far, so there is no reason that we
-act otherwise. In a word, `recode' should be perceived as the
-application of external references, but not as a reference in itself.
-
- Internally, RFC 1345 associates which each character an unambiguous
-mnemonic of a few characters, taken from ISO 646, which is a minimal
-ASCII subset of 83 characters. The charset made up by these mnemonics
-is available in `recode' under the name `RFC1345'. It has `mnemonic'
-and `1345' for aliases. As implemened, this charset exactly
-corresponds to `mnemonic+ascii+38', using RFC 1345 nomenclature.
-Roughly said, ISO 646 characters represent themselves, except for the
-ampersand (`&') which appears doubled. A prefix of a single ampersand
-introduces a mnemonic. For mnemonics using two characters, the prefix
-is immediately by the mnemonic. For longer mnemonics, the prefix is
-followed by an underline (`_'), the mmemonic, and another underline.
-Conversions to this charset are usually reversible.
-
- Currently, `recode' does not offer any of the many other possible
-variations of this family of representations. They will likely be
-implemented in some future version, however.
-
-`ANSI_X3.4-1968'
- `367', `ANSI_X3.4-1986', `ASCII', `CP367', `IBM367', `ISO646-US',
- `ISO_646.irv:1991', `US-ASCII', `iso-ir-6' and `us' are aliases
- for this charset. Source: ISO 2375 registry.
-
-`ASMO_449'
- `ISO_9036', `arabic7' and `iso-ir-89' are aliases for this charset.
- Source: ISO 2375 registry.
-
-`BS_4730'
- `ISO646-GB', `gb', `iso-ir-4' and `uk' are aliases for this
- charset. Source: ISO 2375 registry.
-
-`BS_viewdata'
- `iso-ir-47' is an alias for this charset. Source: ISO 2375
- registry.
-
-`CP1250'
- `1250', `ms-ee' and `windows-1250' are aliases for this charset.
- Source: UNICODE 1.0.
-
-`CP1251'
- `1251', `ms-cyrl' and `windows-1251' are aliases for this charset.
- Source: UNICODE 1.0.
-
-`CP1252'
- `1252', `ms-ansi' and `windows-1252' are aliases for this charset.
- Source: UNICODE 1.0.
-
-`CP1253'
- `1253', `ms-greek' and `windows-1253' are aliases for this charset.
- Source: UNICODE 1.0.
-
-`CP1254'
- `1254', `ms-turk' and `windows-1254' are aliases for this charset.
- Source: UNICODE 1.0.
-
-`CP1255'
- `1255', `ms-hebr' and `windows-1255' are aliases for this charset.
- Source: UNICODE 1.0.
-
-`CP1256'
- `1256', `ms-arab' and `windows-1256' are aliases for this charset.
- Source: UNICODE 1.0.
-
-`CP1257'
- `1257', `WinBaltRim' and `windows-1257' are aliases for this
- charset. Source: CEN/TC304 N283.
-
-`CSA_Z243.4-1985-1'
- `ISO646-CA', `ca', `csa7-1' and `iso-ir-121' are aliases for this
- charset. Source: ISO 2375 registry.
-
-`CSA_Z243.4-1985-2'
- `ISO646-CA2', `csa7-2' and `iso-ir-122' are aliases for this
- charset. Source: ISO 2375 registry.
-
-`CSA_Z243.4-1985-gr'
- `iso-ir-123' is an alias for this charset. Source: ISO 2375
- registry.
-
-`CSN_369103'
- `KOI-8_L2', `iso-ir-139' and `koi8l2' are aliases for this charset.
- Source: ISO 2375 registry.
-
-`CWI'
- `CWI-2' and `cp-hu' are aliases for this charset. Source:
- Computerworld Sza'mita'stechnika vol 3 issue 13 1988-06-29.
-
-`DEC-MCS'
- `dec' is an alias for this charset. VAX/VMS User's Manual, Order
- Number: AI-Y517A-TE, April 1986.
-
-`DIN_66003'
- `ISO646-DE', `de' and `iso-ir-21' are aliases for this charset.
- Source: ISO 2375 registry.
-
-`DS_2089'
- `DS2089', `ISO646-DK' and `dk' are aliases for this charset.
- Source: Danish Standard, DS 2089, February 1974.
-
-`EBCDIC-AT-DE'
- Source: IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987.
-
-`EBCDIC-AT-DE-A'
- Source: IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987.
-
-`EBCDIC-CA-FR'
- Source: IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987.
-
-`EBCDIC-DK-NO'
- Source: IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987.
-
-`EBCDIC-DK-NO-A'
- Source: IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987.
-
-`EBCDIC-ES'
- Source: IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987.
-
-`EBCDIC-ES-A'
- Source: IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987.
-
-`EBCDIC-ES-S'
- Source: IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987.
-
-`EBCDIC-FI-SE'
- Source: IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987.
-
-`EBCDIC-FI-SE-A'
- Source: IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987.
-
-`EBCDIC-FR'
- Source: IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987.
-
-`EBCDIC-IS-FRISS'
- `friss' is an alias for this charset. Source: Skyrsuvelar
- Rikisins og Reykjavikurborgar, feb 1982.
-
-`EBCDIC-IT'
- Source: IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987.
-
-`EBCDIC-PT'
- Source: IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987.
-
-`EBCDIC-UK'
- Source: IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987.
-
-`EBCDIC-US'
- Source: IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987.
-
-`ECMA-cyrillic'
- `ECMA-113', `ECMA-113:1986' and `iso-ir-111' are aliases for this
- charset. Source: ISO 2375 registry.
-
-`ES'
- `ISO646-ES' and `iso-ir-17' are aliases for this charset. Source:
- ISO 2375 registry.
-
-`ES2'
- `ISO646-ES2' and `iso-ir-85' are aliases for this charset.
- Source: ISO 2375 registry.
-
-`GB_1988-80'
- `ISO646-CN', `cn' and `iso-ir-57' are aliases for this charset.
- Source: ISO 2375 registry.
-
-`GOST_19768-87'
- `ST_SEV_358-88' and `iso-ir-153' are aliases for this charset.
- Source: ISO 2375 registry.
-
-`IBM037'
- `037', `CP037', `ebcdic-cp-ca', `ebcdic-cp-nl', `ebcdic-cp-us' and
- `ebcdic-cp-wt' are aliases for this charset. Source: IBM NLS RM
- Vol2 SE09-8002-01, March 1990.
-
-`IBM038'
- `038', `CP038' and `EBCDIC-INT' are aliases for this charset.
- Source: IBM 3174 Character Set Ref, GA27-3831-02, March 1990.
-
-`IBM1004'
- `1004', `CP1004' and `os2latin1' are aliases for this charset.
- Source: CEN/TC304 N283, 1994-02-04.
-
-`IBM1026'
- `1026' and `CP1026' are aliases for this charset. Source: IBM NLS
- RM Vol2 SE09-8002-01, March 1990.
-
-`IBM1047'
- `1047' and `CP1047' are aliases for this charset. Source: IBM
- Character Data Representation Architecture. Registry SC09-1391-00
- p 150.
-
-`IBM256'
- `256', `CP256' and `EBCDIC-INT1' are aliases for this charset.
- Source: IBM Registry C-H 3-3220-050.
-
-`IBM273'
- `273' and `CP273' are aliases for this charset. Source: IBM NLS
- RM Vol2 SE09-8002-01, March 1990.
-
-`IBM274'
- `274', `CP274' and `EBCDIC-BE' are aliases for this charset.
- Source: IBM 3174 Character Set Ref, GA27-3831-02, March 1990.
-
-`IBM275'
- `275', `CP275' and `EBCDIC-BR' are aliases for this charset.
- Source: IBM NLS RM Vol2 SE09-8002-01, March 1990.
-
-`IBM277'
- `EBCDIC-CP-DK' and `EBCDIC-CP-NO' are aliases for this charset.
- Source: IBM NLS RM Vol2 SE09-8002-01, March 1990.
-
-`IBM278'
- `278', `CP278', `ebcdic-cp-fi' and `ebcdic-cp-se' are aliases for
- this charset. Source: IBM NLS RM Vol2 SE09-8002-01, March 1990.
-
-`IBM280'
- `280', `CP280' and `ebcdic-cp-it' are aliases for this charset.
- Source: IBM NLS RM Vol2 SE09-8002-01, March 1990.
-
-`IBM281'
- `281', `CP281' and `EBCDIC-JP-E' are aliases for this charset.
- Source: IBM 3174 Character Set Ref, GA27-3831-02, March 1990.
-
-`IBM284'
- `284', `CP284' and `ebcdic-cp-es' are aliases for this charset.
- Source: IBM NLS RM Vol2 SE09-8002-01, March 1990.
-
-`IBM285'
- `285', `CP285' and `ebcdic-cp-gb' are aliases for this charset.
- Source: IBM NLS RM Vol2 SE09-8002-01, March 1990.
-
-`IBM290'
- `290', `CP290' and `EBCDIC-JP-kana' are aliases for this charset.
- Source: IBM 3174 Character Set Ref, GA27-3831-02, March 1990.
-
-`IBM297'
- `297', `CP297' and `ebcdic-cp-fr' are aliases for this charset.
- Source: IBM NLS RM Vol2 SE09-8002-01, March 1990.
-
-`IBM420'
- `420', `CP420' and `ebcdic-cp-ar1' are aliases for this charset.
- Source: IBM NLS RM Vol2 SE09-8002-01, March 1990. IBM NLS RM p
- 11-11.
-
-`IBM423'
- `423', `CP423' and `ebcdic-cp-gr' are aliases for this charset.
- Source: IBM NLS RM Vol2 SE09-8002-01, March 1990.
-
-`IBM424'
- `424', `CP424' and `ebcdic-cp-he' are aliases for this charset.
- Source: IBM NLS RM Vol2 SE09-8002-01, March 1990.
-
-`IBM437'
- `437' and `CP437' are aliases for this charset. Source: IBM NLS
- RM Vol2 SE09-8002-01, March 1990.
-
-`IBM500'
- `500', `500V1', `CP500', `ebcdic-cp-be' and `ebcdic-cp-ch' are
- aliases for this charset. Source: IBM NLS RM Vol2 SE09-8002-01,
- March 1990.
-
-`IBM850'
- `850' and `CP850' are aliases for this charset. Source: IBM NLS
- RM Vol2 SE09-8002-01, March 1990. Source: UNICODE 1.0.
-
-`IBM851'
- `851' and `CP851' are aliases for this charset. Source: IBM NLS
- RM Vol2 SE09-8002-01, March 1990.
-
-`IBM852'
- `852', `CP852', `pcl2' and `pclatin2' are aliases for this charset.
- Source: IBM NLS RM Vol2 SE09-8002-01, March 1990.
-
-`IBM855'
- `855' and `CP855' are aliases for this charset. Source: IBM NLS
- RM Vol2 SE09-8002-01, March 1990.
-
-`IBM857'
- `857' and `CP857' are aliases for this charset. Source: IBM NLS
- RM Vol2 SE09-8002-01, March 1990.
-
-`IBM860'
- `860' and `CP860' are aliases for this charset. Source: IBM NLS
- RM Vol2 SE09-8002-01, March 1990.
-
-`IBM861'
- `861', `CP861' and `cp-is' are aliases for this charset. Source:
- IBM NLS RM Vol2 SE09-8002-01, March 1990.
-
-`IBM862'
- `862' and `CP862' are aliases for this charset. Source: IBM NLS
- RM Vol2 SE09-8002-01, March 1990.
-
-`IBM863'
- `863' and `CP863' are aliases for this charset. Source: IBM
- Keyboard layouts and code pages, PN 07G4586 June 1991.
-
-`IBM864'
- `864' and `CP864' are aliases for this charset. Source: IBM
- Keyboard layouts and code pages, PN 07G4586 June 1991.
-
-`IBM865'
- `865' and `CP865' are aliases for this charset. Source: IBM DOS
- 3.3 Ref (Abridged), 94X9575 (Feb 1987).
-
-`IBM868'
- `868', `CP868' and `cp-ar' are aliases for this charset. Source:
- IBM NLS RM Vol2 SE09-8002-01, March 1990.
-
-`IBM869'
- `869', `CP869' and `cp-gr' are aliases for this charset. Source:
- IBM Keyboard layouts and code pages, PN 07G4586 June 1991.
-
-`IBM870'
- `870', `CP870', `ebcdic-cp-roece' and `ebcdic-cp-yu' are aliases
- for this charset. Source: IBM NLS RM Vol2 SE09-8002-01, March
- 1990.
-
-`IBM871'
- `871', `CP871' and `ebcdic-cp-is' are aliases for this charset.
- Source: IBM NLS RM Vol2 SE09-8002-01, March 1990.
-
-`IBM875'
- `875', `CP875' and `EBCDIC-Greek' are aliases for this charset.
- Source: UNICODE 1.0.
-
-`IBM880'
- `880', `CP880' and `EBCDIC-Cyrillic' are aliases for this charset.
- Source: IBM NLS RM Vol2 SE09-8002-01, March 1990.
-
-`IBM891'
- `891' and `CP891' are aliases for this charset. Source: IBM NLS
- RM Vol2 SE09-8002-01, March 1990.
-
-`IBM903'
- `903' and `CP903' are aliases for this charset. Source: IBM NLS
- RM Vol2 SE09-8002-01, March 1990.
-
-`IBM904'
- `904' and `CP904' are aliases for this charset. Source: IBM NLS
- RM Vol2 SE09-8002-01, March 1990.
-
-`IBM905'
- `905', `CP905' and `ebcdic-cp-tr' are aliases for this charset.
- Source: IBM 3174 Character Set Ref, GA27-3831-02, March 1990.
-
-`IBM918'
- `918', `CP918' and `ebcdic-cp-ar2' are aliases for this charset.
- Source: IBM NLS RM Vol2 SE09-8002-01, March 1990.
-
-`IEC_P27-1'
- `iso-ir-143' is an alias for this charset. Source: ISO 2375
- registry.
-
-`INIS'
- `iso-ir-49' is an alias for this charset. Source: ISO 2375
- registry.
-
-`INIS-8'
- `iso-ir-50' is an alias for this charset. Source: ISO 2375
- registry.
-
-`INIS-cyrillic'
- `iso-ir-51' is an alias for this charset. Source: ISO 2375
- registry.
-
-`INVARIANT'
- `iso-ir-170' is an alias for this charset.
-
-`ISO-8859-1'
- `819', `CP819', `IBM819', `ISO8859-1', `ISO_8859-1',
- `ISO_8859-1:1987', `iso-ir-100', `l1' and `latin1' are aliases for
- this charset. Source: ISO 2375 registry.
-
-`ISO-8859-10'
- `ISO8859-10', `ISO_8859-10', `ISO_8859-10:1993', `L6',
- `iso-ir-157' and `latin6' are aliases for this charset. Source:
- ISO 2375 registry.
-
-`ISO-8859-13'
- `ISO8859-13', `ISO_8859-13', `ISO_8859-13:1998', `iso-baltic',
- `iso-ir-179a', `l7' and `latin7' are aliases for this charset.
- Source: ISO 2375 registry.
-
-`ISO-8859-14'
- `ISO8859-14', `ISO_8859-14', `ISO_8859-14:1998', `iso-celtic',
- `iso-ir-199', `l8' and `latin8' are aliases for this charset.
- Source: ISO 2375 registry.
-
-`ISO-8859-15'
- `ISO8859-15', `ISO_8859-15', `ISO_8859-15:1998', `iso-ir-203',
- `l9' and `latin9' are aliases for this charset. Source: ISO 2375
- registry.
-
-`ISO-8859-2'
- `912', `CP912', `IBM912', `ISO8859-2', `ISO_8859-2',
- `ISO_8859-2:1987', `iso-ir-101', `l2' and `latin2' are aliases for
- this charset. Source: ISO 2375 registry.
-
-`ISO-8859-3'
- `ISO8859-3', `ISO_8859-3', `ISO_8859-3:1988', `iso-ir-109', `l3'
- and `latin3' are aliases for this charset. Source: ISO 2375
- registry.
-
-`ISO-8859-4'
- `ISO8859-4', `ISO_8859-4', `ISO_8859-4:1988', `iso-ir-110', `l4'
- and `latin4' are aliases for this charset. Source: ISO 2375
- registry.
-
-`ISO-8859-5'
- `ISO8859-5', `ISO_8859-5', `ISO_8859-5:1988', `cyrillic' and
- `iso-ir-144' are aliases for this charset. Source: ISO 2375
- registry.
-
-`ISO-8859-6'
- `ASMO-708', `ECMA-114', `ISO8859-6', `ISO_8859-6',
- `ISO_8859-6:1987', `arabic' and `iso-ir-127' are aliases for this
- charset. Source: ISO 2375 registry.
-
-`ISO-8859-7'
- `ECMA-118', `ELOT_928', `ISO8859-7', `ISO_8859-7',
- `ISO_8859-7:1987', `greek', `greek8' and `iso-ir-126' are aliases
- for this charset. Source: ISO 2375 registry.
-
-`ISO-8859-8'
- `ISO8859-8', `ISO_8859-8', `ISO_8859-8:1988', `hebrew' and
- `iso-ir-138' are aliases for this charset. Source: ISO 2375
- registry.
-
-`ISO-8859-9'
- `ISO8859-9', `ISO_8859-9', `ISO_8859-9:1989', `iso-ir-148', `l5'
- and `latin5' are aliases for this charset. Source: ISO 2375
- registry.
-
-`ISO_10367-box'
- `iso-ir-155' is an alias for this charset. Source: ISO 2375
- registry.
-
-`ISO_2033-1983'
- `e13b' and `iso-ir-98' are aliases for this charset. Source: ISO
- 2375 registry.
-
-`ISO_5427'
- `iso-ir-37' is an alias for this charset. Source: ISO 2375
- registry.
-
-`ISO_5427-ext'
- `ISO_5427:1981' and `iso-ir-54' are aliases for this charset.
- Source: ISO 2375 registry.
-
-`ISO_5428'
- `ISO_5428:1980' and `iso-ir-55' are aliases for this charset.
- Source: ISO 2375 registry.
-
-`ISO_646.basic'
- `ISO_646.basic:1983' and `ref' are aliases for this charset.
- Source: ISO 2375 registry.
-
-`ISO_646.irv'
- `ISO_646.irv:1983', `irv' and `iso-ir-2' are aliases for this
- charset. Source: ISO 2375 registry.
-
-`ISO_6937-2-25'
- `iso-ir-152' is an alias for this charset. Source: ISO 2375
- registry.
-
-`ISO_8859-supp'
- `iso-ir-154' and `latin1-2-5' are aliases for this charset.
- Source: ISO 2375 registry.
-
-`IT'
- `ISO646-IT' and `iso-ir-15' are aliases for this charset. Source:
- ISO 2375 registry.
-
-`JIS_C6220-1969-jp'
- `JIS_C6220-1969', `iso-ir-13', `katakana' and `x0201-7' are
- aliases for this charset. Source: ISO 2375 registry.
-
-`JIS_C6220-1969-ro'
- `ISO646-JP', `iso-ir-14' and `jp' are aliases for this charset.
- Source: ISO 2375 registry.
-
-`JIS_C6229-1984-a'
- `jp-ocr-a' is an alias for this charset. Source: ISO 2375
- registry.
-
-`JIS_C6229-1984-b'
- `ISO646-JP-OCR-B' and `jp-ocr-b' are aliases for this charset.
- Source: ISO 2375 registry.
-
-`JIS_C6229-1984-b-add'
- `iso-ir-93' and `jp-ocr-b-add' are aliases for this charset.
- Source: ISO 2375 registry.
-
-`JIS_C6229-1984-hand'
- `iso-ir-94' and `jp-ocr-hand' are aliases for this charset.
- Source: ISO 2375 registry.
-
-`JIS_C6229-1984-hand-add'
- `iso-ir-95' and `jp-ocr-hand-add' are aliases for this charset.
- Source: ISO 2375 registry.
-
-`JIS_C6229-1984-kana'
- `iso-ir-96' is an alias for this charset. Source: ISO 2375
- registry.
-
-`JIS_X0201'
- `X0201' is an alias for this charset.
-
-`JUS_I.B1.002'
- `ISO646-YU', `iso-ir-141', `js' and `yu' are aliases for this
- charset. Source: ISO 2375 registry.
-
-`JUS_I.B1.003-mac'
- `iso-ir-147' and `macedonian' are aliases for this charset.
- Source: ISO 2375 registry.
-
-`JUS_I.B1.003-serb'
- `iso-ir-146' and `serbian' are aliases for this charset. Source:
- ISO 2375 registry.
-
-`KOI-7'
- Source: Andrey A. Chernov <ache@nagual.pp.ru>.
-
-`KOI-8'
- `GOST_19768-74' is an alias for this charset. Source: Andrey A.
- Chernov <ache@nagual.pp.ru>.
-
-`KOI8-R'
- Source: RFC1489 via Gabor Kiss <kissg@sztaki.hu>. And Andrey A.
- Chernov <ache@nagual.pp.ru>.
-
-`KOI8-RU'
- Source: http://cad.ntu-kpi.kiev.ua/multiling/koi8-ru/.
-
-`KOI8-U'
- Source: RFC 2319. Mibenum: 2088. Source:
- http://www.net.ua/KOI8-U/.
-
-`KSC5636'
- `ISO646-KR' is an alias for this charset.
-
-`Latin-greek-1'
- `iso-ir-27' is an alias for this charset. Source: ISO 2375
- registry.
-
-`MSZ_7795.3'
- `ISO646-HU', `hu' and `iso-ir-86' are aliases for this charset.
- Source: ISO 2375 registry.
-
-`NATS-DANO'
- `iso-ir-9-1' is an alias for this charset. Source: ISO 2375
- registry.
-
-`NATS-DANO-ADD'
- `iso-ir-9-2' is an alias for this charset. Source: ISO 2375
- registry.
-
-`NATS-SEFI'
- `iso-ir-8-1' is an alias for this charset. Source: ISO 2375
- registry.
-
-`NATS-SEFI-ADD'
- `iso-ir-8-2' is an alias for this charset. Source: ISO 2375
- registry.
-
-`NC_NC00-10'
- `ISO646-CU', `NC_NC00-10:81', `cuba' and `iso-ir-151' are aliases
- for this charset. Source: ISO 2375 registry.
-
-`NF_Z_62-010'
- `ISO646-FR', `fr' and `iso-ir-69' are aliases for this charset.
- Source: ISO 2375 registry.
-
-`NF_Z_62-010_(1973)'
- `ISO646-FR1' and `iso-ir-25' are aliases for this charset.
- Source: ISO 2375 registry.
-
-`NS_4551-1'
- `ISO646-NO', `iso-ir-60' and `no' are aliases for this charset.
- Source: ISO 2375 registry.
-
-`NS_4551-2'
- `ISO646-NO2', `iso-ir-61' and `no2' are aliases for this charset.
- Source: ISO 2375 registry.
-
-`NeXTSTEP'
- `next' is an alias for this charset. Source: Peter Svanberg -
- psv@nada.kth.se.
-
-`PT'
- `ISO646-PT' and `iso-ir-16' are aliases for this charset. Source:
- ISO 2375 registry.
-
-`PT2'
- `ISO646-PT2' and `iso-ir-84' are aliases for this charset.
- Source: ISO 2375 registry.
-
-`SEN_850200_B'
- `FI', `ISO646-FI', `ISO646-SE', `SS636127', `iso-ir-10' and `se'
- are aliases for this charset. Source: ISO 2375 registry.
-
-`SEN_850200_C'
- `ISO646-SE2', `iso-ir-11' and `se2' are aliases for this charset.
- Source: ISO 2375 registry.
-
-`T.61-7bit'
- `iso-ir-102' is an alias for this charset. Source: ISO 2375
- registry.
-
-`baltic'
- `iso-ir-179' is an alias for this charset. Source: ISO 2375
- registry. &g1esc x2d56 &g2esc x2e56 &g3esc x2f56.
-
-`greek-ccitt'
- `iso-ir-150' is an alias for this charset. Source: ISO 2375
- registry.
-
-`greek7'
- `iso-ir-88' is an alias for this charset. Source: ISO 2375
- registry.
-
-`greek7-old'
- `iso-ir-18' is an alias for this charset. Source: ISO 2375
- registry.
-
-`hp-roman8'
- `r8' and `roman8' are aliases for this charset. Source: LaserJet
- IIP Printer User's Manual,. HP part no 33471-90901,
- Hewlet-Packard, June 1989.
-
-`latin-greek'
- `iso-ir-19' is an alias for this charset. Source: ISO 2375
- registry.
-
-`mac-is'
-
-`macintosh'
- `mac' is an alias for this charset. Source: The Unicode Standard
- ver 1.0, ISBN 0-201-56788-1, Oct 1991.
-
-`macintosh_ce'
- `macce' is an alias for this charset. Source: Macintosh CE fonts.
-
-`sami'
- `iso-ir-158', `lap' and `latin-lap' are aliases for this charset.
- Source: ISO 2375 registry.
-
-\1f
-File: recode.info, Node: ASCII misc, Next: IBM and MS, Prev: Tabular, Up: Top
-
-ASCII and some derivatives
-**************************
-
-* Menu:
-
-* ASCII:: Usual ASCII
-* ISO 8859:: ASCII extended by Latin Alphabets
-* ASCII-BS:: ASCII 7-bits, BS to overstrike
-* flat:: ASCII without diacritics nor underline
-
-\1f
-File: recode.info, Node: ASCII, Next: ISO 8859, Prev: ASCII misc, Up: ASCII misc
-
-Usual ASCII
-===========
-
- This charset is available in `recode' under the name `ASCII'. In
-fact, it's true name is `ANSI_X3.4-1968' as per RFC 1345, accepted
-aliases being `ANSI_X3.4-1986', `ASCII', `IBM367', `ISO646-US',
-`ISO_646.irv:1991', `US-ASCII', `cp367', `iso-ir-6' and `us'. The
-shortest way of specifying it in `recode' is `us'.
-
- This documentation used to include ASCII tables. They have been
-removed since the `recode' program can now recreate these easily:
-
- recode -lf us for commented ASCII
- recode -ld us for concise decimal table
- recode -lo us for concise octal table
- recode -lh us for concise hexadecimal table
-
-\1f
-File: recode.info, Node: ISO 8859, Next: ASCII-BS, Prev: ASCII, Up: ASCII misc
-
-ASCII extended by Latin Alphabets
-=================================
-
- There are many Latin charsets. The following has been written by Tim
-Lasko <lasko@video.dec.com>, a long while ago:
-
- ISO Latin-1, or more completely ISO Latin Alphabet No 1, is now an
- international standard as of February 1987 (IS 8859, Part 1). For
- those American USEnet'rs that care, the 8-bit ASCII standard,
- which is essentially the same code, is going through the final
- administrative processes prior to publication. ISO Latin-1 (IS
- 8859/1) is actually one of an entire family of eight-bit one-byte
- character sets, all having ASCII on the left hand side, and with
- varying repertoires on the right hand side:
-
- * Latin Alphabet No 1 (caters to Western Europe - now approved).
-
- * Latin Alphabet No 2 (caters to Eastern Europe - now approved).
-
- * Latin Alphabet No 3 (caters to SE Europe + others - in draft
- ballot).
-
- * Latin Alphabet No 4 (caters to Northern Europe - in draft
- ballot).
-
- * Latin-Cyrillic alphabet (right half all Cyrillic - processing
- currently suspended pending USSR input).
-
- * Latin-Arabic alphabet (right half all Arabic - now approved).
-
- * Latin-Greek alphabet (right half Greek + symbols - in draft
- ballot).
-
- * Latin-Hebrew alphabet (right half Hebrew + symbols -
- proposed).
-
- The ISO Latin Alphabet 1 is available as a charset in `recode' under
-the name `Latin-1'. In fact, it's true name is `ISO_8859-1:1987' as
-per RFC 1345, accepted aliases being `CP819', `IBM819', `ISO-8859-1',
-`ISO_8859-1', `iso-ir-100', `l1' and `Latin-1'. The shortest way of
-specifying it in `recode' is `l1'.
-
- It is an eight-bit code which coincides with ASCII for the lower
-half. This documentation used to include Latin-1 tables. They have
-been removed since the `recode' program can now recreate these easily:
+ `CHAR'
- recode -lf l1 for commented ISO Latin-1
- recode -ld l1 for concise decimal table
- recode -lo l1 for concise octal table
- recode -lh l1 for concise hexadecimal table
+ `WCHAR_T'
versions, except that this permission notice may be stated in a
translation approved by the Foundation.
+\1f
+File: recode.info, Node: Tabular, Next: ASCII misc, Prev: libiconv, Up: Top
+
+Tabular sources (RFC 1345)
+**************************
+
+ An important part of the tabular charset knowledge in `recode' comes
+from RFC 1345 or, alternatively, from the `chset' tools, both
+maintained by Keld Simonsen. The RFC 1345 document:
+
+ "Character Mnemonics & Character Sets", K. Simonsen, Request for
+ Comments no. 1345, Network Working Group, June 1992.
+
+defines many character mnemonics and character sets. The `recode'
+library implements most of RFC 1345, however:
+
+ * It does not recognise those charsets which overload character
+ positions: `dk-us' and `us-dk'. However, *Note Mixed::.
+
+ * It does not recognise those charsets which combine two characters
+ for representing a third: `ANSI_X3.110-1983', `ISO_6937-2-add',
+ `T.101-G2', `T.61-8bit', `iso-ir-90' and `videotex-suppl'.
+
+ * It does not recognise 16-bits charsets: `GB_2312-80',
+ `JIS_C6226-1978', `JIS_C6226-1983', `JIS_X0212-1990' and
+ `KS_C_5601-1987'.
+
+ * It interprets the charset `isoir91' as `NATS-DANO' (alias
+ `iso-ir-9-1'), _not_ as `JIS_C6229-1984-a' (alias `iso-ir-91').
+ It also interprets the charset `isoir92' as `NATS-DANO-ADD' (alias
+ `iso-ir-9-2'), _not_ as `JIS_C6229-1984-b' (alias `iso-ir-92').
+ It might be better just avoiding these two alias names.
+
+ Keld Simonsen <keld@dkuug.dk> did most of RFC 1345 himself, with
+some funding from Danish Standards and Nordic standards (INSTA) project.
+He also did the character set design work, with substantial input from
+Olle Jaernefors. Keld typed in almost all of the tables, some have been
+contributed. A number of people have checked the tables in various
+ways. The RFC lists a number of people who helped.
+
+ Keld and the `recode' maintainer have an arrangement by which any new
+discovered information submitted by `recode' users, about tabular
+charsets, is forwarded to Keld, eventually merged into Keld's work, and
+only then, reimported into `recode'. Neither the `recode' program nor
+its library try to compete, nor even establish themselves as an
+alternate or diverging reference: RFC 1345 and its new drafts stay the
+genuine source for most tabular information conveyed by `recode'. Keld
+has been more than collaborative so far, so there is no reason that we
+act otherwise. In a word, `recode' should be perceived as the
+application of external references, but not as a reference in itself.
+
+ Internally, RFC 1345 associates which each character an unambiguous
+mnemonic of a few characters, taken from ISO 646, which is a minimal
+ASCII subset of 83 characters. The charset made up by these mnemonics
+is available in `recode' under the name `RFC1345'. It has `mnemonic'
+and `1345' for aliases. As implemened, this charset exactly
+corresponds to `mnemonic+ascii+38', using RFC 1345 nomenclature.
+Roughly said, ISO 646 characters represent themselves, except for the
+ampersand (`&') which appears doubled. A prefix of a single ampersand
+introduces a mnemonic. For mnemonics using two characters, the prefix
+is immediately by the mnemonic. For longer mnemonics, the prefix is
+followed by an underline (`_'), the mmemonic, and another underline.
+Conversions to this charset are usually reversible.
+
+ Currently, `recode' does not offer any of the many other possible
+variations of this family of representations. They will likely be
+implemented in some future version, however.
+
+`ANSI_X3.4-1968'
+ `367', `ANSI_X3.4-1986', `ASCII', `CP367', `IBM367', `ISO646-US',
+ `ISO_646.irv:1991', `US-ASCII', `iso-ir-6' and `us' are aliases
+ for this charset. Source: ISO 2375 registry.
+
+`ASMO_449'
+ `ISO_9036', `arabic7' and `iso-ir-89' are aliases for this charset.
+ Source: ISO 2375 registry.
+
+`BS_4730'
+ `ISO646-GB', `gb', `iso-ir-4' and `uk' are aliases for this
+ charset. Source: ISO 2375 registry.
+
+`BS_viewdata'
+ `iso-ir-47' is an alias for this charset. Source: ISO 2375
+ registry.
+
+`CP1250'
+ `1250', `ms-ee' and `windows-1250' are aliases for this charset.
+ Source: UNICODE 1.0.
+
+`CP1251'
+ `1251', `ms-cyrl' and `windows-1251' are aliases for this charset.
+ Source: UNICODE 1.0.
+
+`CP1252'
+ `1252', `ms-ansi' and `windows-1252' are aliases for this charset.
+ Source: UNICODE 1.0.
+
+`CP1253'
+ `1253', `ms-greek' and `windows-1253' are aliases for this charset.
+ Source: UNICODE 1.0.
+
+`CP1254'
+ `1254', `ms-turk' and `windows-1254' are aliases for this charset.
+ Source: UNICODE 1.0.
+
+`CP1255'
+ `1255', `ms-hebr' and `windows-1255' are aliases for this charset.
+ Source: UNICODE 1.0.
+
+`CP1256'
+ `1256', `ms-arab' and `windows-1256' are aliases for this charset.
+ Source: UNICODE 1.0.
+
+`CP1257'
+ `1257', `WinBaltRim' and `windows-1257' are aliases for this
+ charset. Source: CEN/TC304 N283.
+
+`CSA_Z243.4-1985-1'
+ `ISO646-CA', `ca', `csa7-1' and `iso-ir-121' are aliases for this
+ charset. Source: ISO 2375 registry.
+
+`CSA_Z243.4-1985-2'
+ `ISO646-CA2', `csa7-2' and `iso-ir-122' are aliases for this
+ charset. Source: ISO 2375 registry.
+
+`CSA_Z243.4-1985-gr'
+ `iso-ir-123' is an alias for this charset. Source: ISO 2375
+ registry.
+
+`CSN_369103'
+ `KOI-8_L2', `iso-ir-139' and `koi8l2' are aliases for this charset.
+ Source: ISO 2375 registry.
+
+`CWI'
+ `CWI-2' and `cp-hu' are aliases for this charset. Source:
+ Computerworld Sza'mita'stechnika vol 3 issue 13 1988-06-29.
+
+`DEC-MCS'
+ `dec' is an alias for this charset. VAX/VMS User's Manual, Order
+ Number: AI-Y517A-TE, April 1986.
+
+`DIN_66003'
+ `ISO646-DE', `de' and `iso-ir-21' are aliases for this charset.
+ Source: ISO 2375 registry.
+
+`DS_2089'
+ `DS2089', `ISO646-DK' and `dk' are aliases for this charset.
+ Source: Danish Standard, DS 2089, February 1974.
+
+`EBCDIC-AT-DE'
+ Source: IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987.
+
+`EBCDIC-AT-DE-A'
+ Source: IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987.
+
+`EBCDIC-CA-FR'
+ Source: IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987.
+
+`EBCDIC-DK-NO'
+ Source: IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987.
+
+`EBCDIC-DK-NO-A'
+ Source: IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987.
+
+`EBCDIC-ES'
+ Source: IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987.
+
+`EBCDIC-ES-A'
+ Source: IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987.
+
+`EBCDIC-ES-S'
+ Source: IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987.
+
+`EBCDIC-FI-SE'
+ Source: IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987.
+
+`EBCDIC-FI-SE-A'
+ Source: IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987.
+
+`EBCDIC-FR'
+ Source: IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987.
+
+`EBCDIC-IS-FRISS'
+ `friss' is an alias for this charset. Source: Skyrsuvelar
+ Rikisins og Reykjavikurborgar, feb 1982.
+
+`EBCDIC-IT'
+ Source: IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987.
+
+`EBCDIC-PT'
+ Source: IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987.
+
+`EBCDIC-UK'
+ Source: IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987.
+
+`EBCDIC-US'
+ Source: IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987.
+
+`ECMA-cyrillic'
+ `ECMA-113', `ECMA-113:1986' and `iso-ir-111' are aliases for this
+ charset. Source: ISO 2375 registry.
+
+`ES'
+ `ISO646-ES' and `iso-ir-17' are aliases for this charset. Source:
+ ISO 2375 registry.
+
+`ES2'
+ `ISO646-ES2' and `iso-ir-85' are aliases for this charset.
+ Source: ISO 2375 registry.
+
+`GB_1988-80'
+ `ISO646-CN', `cn' and `iso-ir-57' are aliases for this charset.
+ Source: ISO 2375 registry.
+
+`GOST_19768-87'
+ `ST_SEV_358-88' and `iso-ir-153' are aliases for this charset.
+ Source: ISO 2375 registry.
+
+`IBM037'
+ `037', `CP037', `ebcdic-cp-ca', `ebcdic-cp-nl', `ebcdic-cp-us' and
+ `ebcdic-cp-wt' are aliases for this charset. Source: IBM NLS RM
+ Vol2 SE09-8002-01, March 1990.
+
+`IBM038'
+ `038', `CP038' and `EBCDIC-INT' are aliases for this charset.
+ Source: IBM 3174 Character Set Ref, GA27-3831-02, March 1990.
+
+`IBM1004'
+ `1004', `CP1004' and `os2latin1' are aliases for this charset.
+ Source: CEN/TC304 N283, 1994-02-04.
+
+`IBM1026'
+ `1026' and `CP1026' are aliases for this charset. Source: IBM NLS
+ RM Vol2 SE09-8002-01, March 1990.
+
+`IBM1047'
+ `1047' and `CP1047' are aliases for this charset. Source: IBM
+ Character Data Representation Architecture. Registry SC09-1391-00
+ p 150.
+
+`IBM256'
+ `256', `CP256' and `EBCDIC-INT1' are aliases for this charset.
+ Source: IBM Registry C-H 3-3220-050.
+
+`IBM273'
+ `273' and `CP273' are aliases for this charset. Source: IBM NLS
+ RM Vol2 SE09-8002-01, March 1990.
+
+`IBM274'
+ `274', `CP274' and `EBCDIC-BE' are aliases for this charset.
+ Source: IBM 3174 Character Set Ref, GA27-3831-02, March 1990.
+
+`IBM275'
+ `275', `CP275' and `EBCDIC-BR' are aliases for this charset.
+ Source: IBM NLS RM Vol2 SE09-8002-01, March 1990.
+
+`IBM277'
+ `EBCDIC-CP-DK' and `EBCDIC-CP-NO' are aliases for this charset.
+ Source: IBM NLS RM Vol2 SE09-8002-01, March 1990.
+
+`IBM278'
+ `278', `CP278', `ebcdic-cp-fi' and `ebcdic-cp-se' are aliases for
+ this charset. Source: IBM NLS RM Vol2 SE09-8002-01, March 1990.
+
+`IBM280'
+ `280', `CP280' and `ebcdic-cp-it' are aliases for this charset.
+ Source: IBM NLS RM Vol2 SE09-8002-01, March 1990.
+
+`IBM281'
+ `281', `CP281' and `EBCDIC-JP-E' are aliases for this charset.
+ Source: IBM 3174 Character Set Ref, GA27-3831-02, March 1990.
+
+`IBM284'
+ `284', `CP284' and `ebcdic-cp-es' are aliases for this charset.
+ Source: IBM NLS RM Vol2 SE09-8002-01, March 1990.
+
+`IBM285'
+ `285', `CP285' and `ebcdic-cp-gb' are aliases for this charset.
+ Source: IBM NLS RM Vol2 SE09-8002-01, March 1990.
+
+`IBM290'
+ `290', `CP290' and `EBCDIC-JP-kana' are aliases for this charset.
+ Source: IBM 3174 Character Set Ref, GA27-3831-02, March 1990.
+
+`IBM297'
+ `297', `CP297' and `ebcdic-cp-fr' are aliases for this charset.
+ Source: IBM NLS RM Vol2 SE09-8002-01, March 1990.
+
+`IBM420'
+ `420', `CP420' and `ebcdic-cp-ar1' are aliases for this charset.
+ Source: IBM NLS RM Vol2 SE09-8002-01, March 1990. IBM NLS RM p
+ 11-11.
+
+`IBM423'
+ `423', `CP423' and `ebcdic-cp-gr' are aliases for this charset.
+ Source: IBM NLS RM Vol2 SE09-8002-01, March 1990.
+
+`IBM424'
+ `424', `CP424' and `ebcdic-cp-he' are aliases for this charset.
+ Source: IBM NLS RM Vol2 SE09-8002-01, March 1990.
+
+`IBM437'
+ `437' and `CP437' are aliases for this charset. Source: IBM NLS
+ RM Vol2 SE09-8002-01, March 1990.
+
+`IBM500'
+ `500', `500V1', `CP500', `ebcdic-cp-be' and `ebcdic-cp-ch' are
+ aliases for this charset. Source: IBM NLS RM Vol2 SE09-8002-01,
+ March 1990.
+
+`IBM850'
+ `850' and `CP850' are aliases for this charset. Source: IBM NLS
+ RM Vol2 SE09-8002-01, March 1990. Source: UNICODE 1.0.
+
+`IBM851'
+ `851' and `CP851' are aliases for this charset. Source: IBM NLS
+ RM Vol2 SE09-8002-01, March 1990.
+
+`IBM852'
+ `852', `CP852', `pcl2' and `pclatin2' are aliases for this charset.
+ Source: IBM NLS RM Vol2 SE09-8002-01, March 1990.
+
+`IBM855'
+ `855' and `CP855' are aliases for this charset. Source: IBM NLS
+ RM Vol2 SE09-8002-01, March 1990.
+
+`IBM857'
+ `857' and `CP857' are aliases for this charset. Source: IBM NLS
+ RM Vol2 SE09-8002-01, March 1990.
+
+`IBM860'
+ `860' and `CP860' are aliases for this charset. Source: IBM NLS
+ RM Vol2 SE09-8002-01, March 1990.
+
+`IBM861'
+ `861', `CP861' and `cp-is' are aliases for this charset. Source:
+ IBM NLS RM Vol2 SE09-8002-01, March 1990.
+
+`IBM862'
+ `862' and `CP862' are aliases for this charset. Source: IBM NLS
+ RM Vol2 SE09-8002-01, March 1990.
+
+`IBM863'
+ `863' and `CP863' are aliases for this charset. Source: IBM
+ Keyboard layouts and code pages, PN 07G4586 June 1991.
+
+`IBM864'
+ `864' and `CP864' are aliases for this charset. Source: IBM
+ Keyboard layouts and code pages, PN 07G4586 June 1991.
+
+`IBM865'
+ `865' and `CP865' are aliases for this charset. Source: IBM DOS
+ 3.3 Ref (Abridged), 94X9575 (Feb 1987).
+
+`IBM868'
+ `868', `CP868' and `cp-ar' are aliases for this charset. Source:
+ IBM NLS RM Vol2 SE09-8002-01, March 1990.
+
+`IBM869'
+ `869', `CP869' and `cp-gr' are aliases for this charset. Source:
+ IBM Keyboard layouts and code pages, PN 07G4586 June 1991.
+
+`IBM870'
+ `870', `CP870', `ebcdic-cp-roece' and `ebcdic-cp-yu' are aliases
+ for this charset. Source: IBM NLS RM Vol2 SE09-8002-01, March
+ 1990.
+
+`IBM871'
+ `871', `CP871' and `ebcdic-cp-is' are aliases for this charset.
+ Source: IBM NLS RM Vol2 SE09-8002-01, March 1990.
+
+`IBM875'
+ `875', `CP875' and `EBCDIC-Greek' are aliases for this charset.
+ Source: UNICODE 1.0.
+
+`IBM880'
+ `880', `CP880' and `EBCDIC-Cyrillic' are aliases for this charset.
+ Source: IBM NLS RM Vol2 SE09-8002-01, March 1990.
+
+`IBM891'
+ `891' and `CP891' are aliases for this charset. Source: IBM NLS
+ RM Vol2 SE09-8002-01, March 1990.
+
+`IBM903'
+ `903' and `CP903' are aliases for this charset. Source: IBM NLS
+ RM Vol2 SE09-8002-01, March 1990.
+
+`IBM904'
+ `904' and `CP904' are aliases for this charset. Source: IBM NLS
+ RM Vol2 SE09-8002-01, March 1990.
+
+`IBM905'
+ `905', `CP905' and `ebcdic-cp-tr' are aliases for this charset.
+ Source: IBM 3174 Character Set Ref, GA27-3831-02, March 1990.
+
+`IBM918'
+ `918', `CP918' and `ebcdic-cp-ar2' are aliases for this charset.
+ Source: IBM NLS RM Vol2 SE09-8002-01, March 1990.
+
+`IEC_P27-1'
+ `iso-ir-143' is an alias for this charset. Source: ISO 2375
+ registry.
+
+`INIS'
+ `iso-ir-49' is an alias for this charset. Source: ISO 2375
+ registry.
+
+`INIS-8'
+ `iso-ir-50' is an alias for this charset. Source: ISO 2375
+ registry.
+
+`INIS-cyrillic'
+ `iso-ir-51' is an alias for this charset. Source: ISO 2375
+ registry.
+
+`INVARIANT'
+ `iso-ir-170' is an alias for this charset.
+
+`ISO-8859-1'
+ `819', `CP819', `IBM819', `ISO8859-1', `ISO_8859-1',
+ `ISO_8859-1:1987', `iso-ir-100', `l1' and `latin1' are aliases for
+ this charset. Source: ISO 2375 registry.
+
+`ISO-8859-10'
+ `ISO8859-10', `ISO_8859-10', `ISO_8859-10:1993', `L6',
+ `iso-ir-157' and `latin6' are aliases for this charset. Source:
+ ISO 2375 registry.
+
+`ISO-8859-13'
+ `ISO8859-13', `ISO_8859-13', `ISO_8859-13:1998', `iso-baltic',
+ `iso-ir-179a', `l7' and `latin7' are aliases for this charset.
+ Source: ISO 2375 registry.
+
+`ISO-8859-14'
+ `ISO8859-14', `ISO_8859-14', `ISO_8859-14:1998', `iso-celtic',
+ `iso-ir-199', `l8' and `latin8' are aliases for this charset.
+ Source: ISO 2375 registry.
+
+`ISO-8859-15'
+ `ISO8859-15', `ISO_8859-15', `ISO_8859-15:1998', `iso-ir-203',
+ `l9' and `latin9' are aliases for this charset. Source: ISO 2375
+ registry.
+
+`ISO-8859-2'
+ `912', `CP912', `IBM912', `ISO8859-2', `ISO_8859-2',
+ `ISO_8859-2:1987', `iso-ir-101', `l2' and `latin2' are aliases for
+ this charset. Source: ISO 2375 registry.
+
+`ISO-8859-3'
+ `ISO8859-3', `ISO_8859-3', `ISO_8859-3:1988', `iso-ir-109', `l3'
+ and `latin3' are aliases for this charset. Source: ISO 2375
+ registry.
+
+`ISO-8859-4'
+ `ISO8859-4', `ISO_8859-4', `ISO_8859-4:1988', `iso-ir-110', `l4'
+ and `latin4' are aliases for this charset. Source: ISO 2375
+ registry.
+
+`ISO-8859-5'
+ `ISO8859-5', `ISO_8859-5', `ISO_8859-5:1988', `cyrillic' and
+ `iso-ir-144' are aliases for this charset. Source: ISO 2375
+ registry.
+
+`ISO-8859-6'
+ `ASMO-708', `ECMA-114', `ISO8859-6', `ISO_8859-6',
+ `ISO_8859-6:1987', `arabic' and `iso-ir-127' are aliases for this
+ charset. Source: ISO 2375 registry.
+
+`ISO-8859-7'
+ `ECMA-118', `ELOT_928', `ISO8859-7', `ISO_8859-7',
+ `ISO_8859-7:1987', `greek', `greek8' and `iso-ir-126' are aliases
+ for this charset. Source: ISO 2375 registry.
+
+`ISO-8859-8'
+ `ISO8859-8', `ISO_8859-8', `ISO_8859-8:1988', `hebrew' and
+ `iso-ir-138' are aliases for this charset. Source: ISO 2375
+ registry.
+
+`ISO-8859-9'
+ `ISO8859-9', `ISO_8859-9', `ISO_8859-9:1989', `iso-ir-148', `l5'
+ and `latin5' are aliases for this charset. Source: ISO 2375
+ registry.
+
+`ISO_10367-box'
+ `iso-ir-155' is an alias for this charset. Source: ISO 2375
+ registry.
+
+`ISO_2033-1983'
+ `e13b' and `iso-ir-98' are aliases for this charset. Source: ISO
+ 2375 registry.
+
+`ISO_5427'
+ `iso-ir-37' is an alias for this charset. Source: ISO 2375
+ registry.
+
+`ISO_5427-ext'
+ `ISO_5427:1981' and `iso-ir-54' are aliases for this charset.
+ Source: ISO 2375 registry.
+
+`ISO_5428'
+ `ISO_5428:1980' and `iso-ir-55' are aliases for this charset.
+ Source: ISO 2375 registry.
+
+`ISO_646.basic'
+ `ISO_646.basic:1983' and `ref' are aliases for this charset.
+ Source: ISO 2375 registry.
+
+`ISO_646.irv'
+ `ISO_646.irv:1983', `irv' and `iso-ir-2' are aliases for this
+ charset. Source: ISO 2375 registry.
+
+`ISO_6937-2-25'
+ `iso-ir-152' is an alias for this charset. Source: ISO 2375
+ registry.
+
+`ISO_8859-supp'
+ `iso-ir-154' and `latin1-2-5' are aliases for this charset.
+ Source: ISO 2375 registry.
+
+`IT'
+ `ISO646-IT' and `iso-ir-15' are aliases for this charset. Source:
+ ISO 2375 registry.
+
+`JIS_C6220-1969-jp'
+ `JIS_C6220-1969', `iso-ir-13', `katakana' and `x0201-7' are
+ aliases for this charset. Source: ISO 2375 registry.
+
+`JIS_C6220-1969-ro'
+ `ISO646-JP', `iso-ir-14' and `jp' are aliases for this charset.
+ Source: ISO 2375 registry.
+
+`JIS_C6229-1984-a'
+ `jp-ocr-a' is an alias for this charset. Source: ISO 2375
+ registry.
+
+`JIS_C6229-1984-b'
+ `ISO646-JP-OCR-B' and `jp-ocr-b' are aliases for this charset.
+ Source: ISO 2375 registry.
+
+`JIS_C6229-1984-b-add'
+ `iso-ir-93' and `jp-ocr-b-add' are aliases for this charset.
+ Source: ISO 2375 registry.
+
+`JIS_C6229-1984-hand'
+ `iso-ir-94' and `jp-ocr-hand' are aliases for this charset.
+ Source: ISO 2375 registry.
+
+`JIS_C6229-1984-hand-add'
+ `iso-ir-95' and `jp-ocr-hand-add' are aliases for this charset.
+ Source: ISO 2375 registry.
+
+`JIS_C6229-1984-kana'
+ `iso-ir-96' is an alias for this charset. Source: ISO 2375
+ registry.
+
+`JIS_X0201'
+ `X0201' is an alias for this charset.
+
+`JUS_I.B1.002'
+ `ISO646-YU', `iso-ir-141', `js' and `yu' are aliases for this
+ charset. Source: ISO 2375 registry.
+
+`JUS_I.B1.003-mac'
+ `iso-ir-147' and `macedonian' are aliases for this charset.
+ Source: ISO 2375 registry.
+
+`JUS_I.B1.003-serb'
+ `iso-ir-146' and `serbian' are aliases for this charset. Source:
+ ISO 2375 registry.
+
+`KOI-7'
+ Source: Andrey A. Chernov <ache@nagual.pp.ru>.
+
+`KOI-8'
+ `GOST_19768-74' is an alias for this charset. Source: Andrey A.
+ Chernov <ache@nagual.pp.ru>.
+
+`KOI8-R'
+ Source: RFC1489 via Gabor Kiss <kissg@sztaki.hu>. And Andrey A.
+ Chernov <ache@nagual.pp.ru>.
+
+`KOI8-RU'
+ Source: http://cad.ntu-kpi.kiev.ua/multiling/koi8-ru/.
+
+`KOI8-U'
+ Source: RFC 2319. Mibenum: 2088. Source:
+ http://www.net.ua/KOI8-U/.
+
+`KSC5636'
+ `ISO646-KR' is an alias for this charset.
+
+`Latin-greek-1'
+ `iso-ir-27' is an alias for this charset. Source: ISO 2375
+ registry.
+
+`MSZ_7795.3'
+ `ISO646-HU', `hu' and `iso-ir-86' are aliases for this charset.
+ Source: ISO 2375 registry.
+
+`NATS-DANO'
+ `iso-ir-9-1' is an alias for this charset. Source: ISO 2375
+ registry.
+
+`NATS-DANO-ADD'
+ `iso-ir-9-2' is an alias for this charset. Source: ISO 2375
+ registry.
+
+`NATS-SEFI'
+ `iso-ir-8-1' is an alias for this charset. Source: ISO 2375
+ registry.
+
+`NATS-SEFI-ADD'
+ `iso-ir-8-2' is an alias for this charset. Source: ISO 2375
+ registry.
+
+`NC_NC00-10'
+ `ISO646-CU', `NC_NC00-10:81', `cuba' and `iso-ir-151' are aliases
+ for this charset. Source: ISO 2375 registry.
+
+`NF_Z_62-010'
+ `ISO646-FR', `fr' and `iso-ir-69' are aliases for this charset.
+ Source: ISO 2375 registry.
+
+`NF_Z_62-010_(1973)'
+ `ISO646-FR1' and `iso-ir-25' are aliases for this charset.
+ Source: ISO 2375 registry.
+
+`NS_4551-1'
+ `ISO646-NO', `iso-ir-60' and `no' are aliases for this charset.
+ Source: ISO 2375 registry.
+
+`NS_4551-2'
+ `ISO646-NO2', `iso-ir-61' and `no2' are aliases for this charset.
+ Source: ISO 2375 registry.
+
+`NeXTSTEP'
+ `next' is an alias for this charset. Source: Peter Svanberg -
+ psv@nada.kth.se.
+
+`PT'
+ `ISO646-PT' and `iso-ir-16' are aliases for this charset. Source:
+ ISO 2375 registry.
+
+`PT2'
+ `ISO646-PT2' and `iso-ir-84' are aliases for this charset.
+ Source: ISO 2375 registry.
+
+`SEN_850200_B'
+ `FI', `ISO646-FI', `ISO646-SE', `SS636127', `iso-ir-10' and `se'
+ are aliases for this charset. Source: ISO 2375 registry.
+
+`SEN_850200_C'
+ `ISO646-SE2', `iso-ir-11' and `se2' are aliases for this charset.
+ Source: ISO 2375 registry.
+
+`T.61-7bit'
+ `iso-ir-102' is an alias for this charset. Source: ISO 2375
+ registry.
+
+`baltic'
+ `iso-ir-179' is an alias for this charset. Source: ISO 2375
+ registry. &g1esc x2d56 &g2esc x2e56 &g3esc x2f56.
+
+`greek-ccitt'
+ `iso-ir-150' is an alias for this charset. Source: ISO 2375
+ registry.
+
+`greek7'
+ `iso-ir-88' is an alias for this charset. Source: ISO 2375
+ registry.
+
+`greek7-old'
+ `iso-ir-18' is an alias for this charset. Source: ISO 2375
+ registry.
+
+`hp-roman8'
+ `r8' and `roman8' are aliases for this charset. Source: LaserJet
+ IIP Printer User's Manual,. HP part no 33471-90901,
+ Hewlet-Packard, June 1989.
+
+`latin-greek'
+ `iso-ir-19' is an alias for this charset. Source: ISO 2375
+ registry.
+
+`mac-is'
+
+`macintosh'
+ `mac' is an alias for this charset. Source: The Unicode Standard
+ ver 1.0, ISBN 0-201-56788-1, Oct 1991.
+
+`macintosh_ce'
+ `macce' is an alias for this charset. Source: Macintosh CE fonts.
+
+`sami'
+ `iso-ir-158', `lap' and `latin-lap' are aliases for this charset.
+ Source: ISO 2375 registry.
+
+\1f
+File: recode.info, Node: ASCII misc, Next: IBM and MS, Prev: Tabular, Up: Top
+
+ASCII and some derivatives
+**************************
+
+* Menu:
+
+* ASCII:: Usual ASCII
+* ISO 8859:: ASCII extended by Latin Alphabets
+* ASCII-BS:: ASCII 7-bits, BS to overstrike
+* flat:: ASCII without diacritics nor underline
+
+\1f
+File: recode.info, Node: ASCII, Next: ISO 8859, Prev: ASCII misc, Up: ASCII misc
+
+Usual ASCII
+===========
+
+ This charset is available in `recode' under the name `ASCII'. In
+fact, it's true name is `ANSI_X3.4-1968' as per RFC 1345, accepted
+aliases being `ANSI_X3.4-1986', `ASCII', `IBM367', `ISO646-US',
+`ISO_646.irv:1991', `US-ASCII', `cp367', `iso-ir-6' and `us'. The
+shortest way of specifying it in `recode' is `us'.
+
+ This documentation used to include ASCII tables. They have been
+removed since the `recode' program can now recreate these easily:
+
+ recode -lf us for commented ASCII
+ recode -ld us for concise decimal table
+ recode -lo us for concise octal table
+ recode -lh us for concise hexadecimal table
+
+\1f
+File: recode.info, Node: ISO 8859, Next: ASCII-BS, Prev: ASCII, Up: ASCII misc
+
+ASCII extended by Latin Alphabets
+=================================
+
+ There are many Latin charsets. The following has been written by Tim
+Lasko <lasko@video.dec.com>, a long while ago:
+
+ ISO Latin-1, or more completely ISO Latin Alphabet No 1, is now an
+ international standard as of February 1987 (IS 8859, Part 1). For
+ those American USEnet'rs that care, the 8-bit ASCII standard,
+ which is essentially the same code, is going through the final
+ administrative processes prior to publication. ISO Latin-1 (IS
+ 8859/1) is actually one of an entire family of eight-bit one-byte
+ character sets, all having ASCII on the left hand side, and with
+ varying repertoires on the right hand side:
+
+ * Latin Alphabet No 1 (caters to Western Europe - now approved).
+
+ * Latin Alphabet No 2 (caters to Eastern Europe - now approved).
+
+ * Latin Alphabet No 3 (caters to SE Europe + others - in draft
+ ballot).
+
+ * Latin Alphabet No 4 (caters to Northern Europe - in draft
+ ballot).
+
+ * Latin-Cyrillic alphabet (right half all Cyrillic - processing
+ currently suspended pending USSR input).
+
+ * Latin-Arabic alphabet (right half all Arabic - now approved).
+
+ * Latin-Greek alphabet (right half Greek + symbols - in draft
+ ballot).
+
+ * Latin-Hebrew alphabet (right half Hebrew + symbols -
+ proposed).
+
+ The ISO Latin Alphabet 1 is available as a charset in `recode' under
+the name `Latin-1'. In fact, it's true name is `ISO_8859-1:1987' as
+per RFC 1345, accepted aliases being `CP819', `IBM819', `ISO-8859-1',
+`ISO_8859-1', `iso-ir-100', `l1' and `Latin-1'. The shortest way of
+specifying it in `recode' is `l1'.
+
+ It is an eight-bit code which coincides with ASCII for the lower
+half. This documentation used to include Latin-1 tables. They have
+been removed since the `recode' program can now recreate these easily:
+
+ recode -lf l1 for commented ISO Latin-1
+ recode -ld l1 for concise decimal table
+ recode -lo l1 for concise octal table
+ recode -lh l1 for concise hexadecimal table
+
\1f
File: recode.info, Node: ASCII-BS, Next: flat, Prev: ISO 8859, Up: ASCII misc
* Texte:: Easy French conventions
* Mule:: Mule as a multiplexed charset
-\1f
-File: recode.info, Node: HTML, Next: LaTeX, Prev: Miscellaneous, Up: Miscellaneous
-
-World Wide Web representations
-==============================
-
- This charset is available in `recode' under the name `HTML', with
-`h4' as an acceptable alias.
-
- HTML texts used by World Wide Web often use special sequences,
-beginning with an ampersand `&' and ending with a semicolon `;', for
-representing characters. The sequence may itself start with a number
-sigh `#' and be followed by digits, so forming a "numeric character
-reference", or else be an alphabetic identifier, so forming a
-"character entity reference".
-
- Printable characters from Latin-1 may be used directly in an HTML
-text. However, partly because people have deficient keyboards, partly
-because people want to transmit HTML texts over non 8-bit clean
-channels while not using MIME, it is common (yet debatable) to use
-character entity references even for Latin-1 characters, when they fall
-outside ASCII (that is, when they have the 8th bit set).
-
- When you recode from another charset to `HTML', beware that all
-occurrences of double quotes, ampersands, and left or right angle
-brackets are translated into special sequences. However, in practice,
-people often use ampersands and angle brackets in the other charset for
-introducing HTML commands, compromising it: it is not pure HTML, not it
-is pure other charset. These particular translations can be rather
-inconvenient, they may be specifically inhibited through the command
-option `-d' (*note Mixed::).
-
- Codes not having a mnemonic entity are output by `recode' using the
-`&#NNN;' notation, where NNN is a decimal representation of the UCS
-code value. When there is an entity name for a character, it is always
-preferred over a numeric character reference. ASCII printable
-characters are always generated directly. So is the newline. While
-reading HTML, `recode' supports numeric character reference as alternate
-writings, even when written as hexadecimal numbers, as in `�'.
-This is documented in:
-
- http://www.w3.org/TR/REC-html40/intro/sgmltut.html#h-3.2.3
-
- About levels of HTML, François Yergeau <yergeau@alis.com> writes:
-
- * HTML 1.0 was never really documented.
-
- * HTML 2.0 entities are listed in RFC 1866. Basically, there is an
- entity for each _alphabetical_ character in the right part of
- ISO 8859-1. In addition, there are four entities for
- syntax-significant ASCII characters: `&', `>', `<' and
- `"'.
-
- * RFC 2070 (HTML-i18n) added entities to cover the whole right part
- of ISO 8859-1. The list is conveniently accessible at
- `http://www.alis.com:8085/ietf/html/html-latin1.sgml'. In
- addition, four i18n-related entities were added: `‌'
- (`‌'), `‍' (`‍'), `‎' (`‎') and `‏'
- (`‏').
-
- * HTML 3.2 (http://www.w3.org/TR/REC-html32.html) took up the full
- Latin-1 list but not the i18n-related entities from RFC 2070.
-
- * HTML 4.0 (http://www.w3.org/TR/REC-html40/) has the whole Latin-1
- list, a set of entities for symbols, mathematical symbols, and
- Greek letters, and another set for markup-significant and
- internationalization characters comprising the 4 ASCII entities,
- the 4 i18n-related from RFC 2070 plus some more.
-
- When `recode' translates to HTML, the translation occurs according
-to `http://www.w3.org/TR/REC-html40/sgml/entities.html'. It is also
-assumed that RFC 1866 has an equivalent contents. When translating
-_from_ HTML, `recode' accepts some alternative special sequences, to be
-forgiving when files use older HTML tables.
-
- The `recode' program can be used to _normalise_ an HTML file using
-oldish conventions. For example, it accepts `&AE;', as this once was a
-valid writing, somewhere. However, it should always produce `Æ'
-instead of `&AE;'. Yet, this is not completely true. If one does:
-
- recode h3..h3 < INPUT
-
-the operation will be optimised into a mere copy, and you can get `&AE;'
-this way, if you had some in your input file. But if you explicitly
-defeat the optimisation, like this maybe:
-
- recode h3..u2,u2..h3 < INPUT
-
-then `&AE;' should be normalised into `Æ' by the operation.
-
-\1f
-File: recode.info, Node: LaTeX, Next: Texinfo, Prev: HTML, Up: Miscellaneous
-
-LaTeX macro calls
-=================
-
- This charset is available in `recode' under the name `LaTeX' and has
-`ltex' as an alias. It is used for ASCII files coded to be read by
-LaTeX or, in certain cases, by TeX.
-
- Whenever you recode from another charset to `LaTeX', beware that all
-occurrences of backslashes `\' are translated into the string
-`\backslash{}'. However, in practice, people often use backslashes in
-the other charset for introducing TeX commands, compromising it: it is
-not pure TeX, nor it is pure other charset. This translation of
-backslashes into `\backslash{}' can be rather inconvenient, it may be
-inhibited through the command option `-d' (*note Mixed::).
-
-\1f
-File: recode.info, Node: Texinfo, Next: Vietnamese, Prev: LaTeX, Up: Miscellaneous
-
-GNU project documentation files
-===============================
-
- This charset is available in `recode' under the name `Texinfo' and
-has `texi' and `ti' for aliases. It is used by the GNU project for its
-documentation. Texinfo files may be converted into Info files by the
-`makeinfo' program and into nice printed manuals by the TeX system.
-
- Even if `recode' may transform other charsets to Texinfo, it may not
-read Texinfo files yet. In these times, usages are also changing
-between versions of Texinfo, and `recode' only partially succeeds in
-correctly following these changes. So, for now, Texinfo support in
-`recode' should be considered as work still in progress (!).
-
-\1f
-File: recode.info, Node: Vietnamese, Next: African, Prev: Texinfo, Up: Miscellaneous
-
-Vietnamese charsets
-===================
-
- We are currently experimenting the implementation, in `recode', of a
-few character sets and transliterated forms to handle the Vietnamese
-language. They are quite briefly summarised, here.
-
-`TCVN'
- The TCVN charset has an incomplete name. It might be one of the
- three charset `VN1', `VN2' or `VN3'. Yes `VN2' might be a second
- version of `VISCII'. To be clarified.
-
-`VISCII'
- This is an 8-bit character set which seems to be rather popular for
- writing Vietnamese.
-
-`VPS'
- This is an 8-bit character set for Vietnamese. No much reference.
-
-`VIQR'
- The VIQR convention is a 7-bit, `ASCII' transliteration for
- Vietnamese.
-
-`VNI'
- The VNI convention is a 8-bit, `Latin-1' transliteration for
- Vietnamese.
-
- Still lacking for Vietnamese in `recode', are the charsets `CP1129'
-and `CP1258'.
-
-\1f
-File: recode.info, Node: African, Next: Others, Prev: Vietnamese, Up: Miscellaneous
-
-African charsets
-================
-
- Some African character sets are available for a few languages, when
-these are heavily used in countries where French is also currently
-spoken.
-
- One African charset is usable for Bambara, Ewondo and Fulfude, as
-well as for French. This charset is available in `recode' under the
-name `AFRFUL-102-BPI_OCIL'. Accepted aliases are `bambara', `bra',
-`ewondo' and `fulfude'. Transliterated forms of the same are available
-under the name `AFRFUL-103-BPI_OCIL'. Accepted aliases are
-`t-bambara', `t-bra', `t-ewondo' and `t-fulfude'.
-
- Another African charset is usable for Lingala, Sango and Wolof, as
-well as for French. This charset is available in `recode' under the
-name `AFRLIN-104-BPI_OCIL'. Accepted aliases are `lingala', `lin',
-`sango' and `wolof'. Transliterated forms of the same are available
-under the name `AFRLIN-105-BPI_OCIL'. Accepted aliases are
-`t-lingala', `t-lin', `t-sango' and `t-wolof'.
-
- To ease exchange with `ISO-8859-1', there is a charset conveying
-transliterated forms for Latin-1 in a way which is compatible with the
-other African charsets in this series. This charset is available in
-`recode' under the name `AFRL1-101-BPI_OCIL'. Accepted aliases are
-`t-fra' and `t-francais'.
-
-\1f
-File: recode.info, Node: Others, Next: Texte, Prev: African, Up: Miscellaneous
-
-Cyrillic and other charsets
-===========================
-
- The following Cyrillic charsets are already available in `recode'
-through RFC 1345 tables: `CP1251' with aliases `1251', ` ms-cyrl' and
-`windows-1251'; `CSN_369103' with aliases `ISO-IR-139' and `KOI8_L2';
-`ECMA-cyrillic' with aliases `ECMA-113', `ECMA-113:1986' and
-`iso-ir-111', `IBM880' with aliases `880', `CP880' and
-`EBCDIC-Cyrillic'; `INIS-cyrillic' with alias `iso-ir-51'; `ISO-8859-5'
-with aliases `cyrillic', ` ISO-8859-5:1988' and `iso-ir-144'; `KOI-7';
-`KOI-8' with alias `GOST_19768-74'; `KOI8-R'; `KOI8-RU' and finally
-`KOI8-U'.
-
- There seems to remain some confusion in Roman charsets for Cyrillic
-languages, and because a few users requested it repeatedly, `recode'
-now offers special services in that area. Consider these charsets as
-experimental and debatable, as the extraneous tables describing them are
-still a bit fuzzy or non-standard. Hopefully, in the long run, these
-charsets will be covered in Keld Simonsen's works to the satisfaction of
-everybody, and this section will merely disappear.
-
-`KEYBCS2'
- This charset is available under the name `KEYBCS2', with
- `Kamenicky' as an accepted alias.
-
-`CORK'
- This charset is available under the name `CORK', with `T1' as an
- accepted alias.
-
-`KOI-8_CS2'
- This charset is available under the name `KOI-8_CS2'.
-
-\1f
-File: recode.info, Node: Texte, Next: Mule, Prev: Others, Up: Miscellaneous
-
-Easy French conventions
-=======================
-
- This charset is available in `recode' under the name `Texte' and has
-`txte' for an alias. It is a seven bits code, identical to `ASCII-BS',
-save for French diacritics which are noted using a slightly different
-convention.
-
- At text entry time, these conventions provide a little speed up. At
-read time, they slightly improve the readability over a few alternate
-ways of coding diacritics. Of course, it would better to have a
-specialised keyboard to make direct eight bits entries and fonts for
-immediately displaying eight bit ISO Latin-1 characters. But not
-everybody is so fortunate. In a few mailing environments, and sadly
-enough, it still happens that the eight bit is often willing-fully
-destroyed.
-
- Easy French has been in use in France for a while. I only slightly
-adapted it (the diaeresis option) to make it more comfortable to several
-usages in Que'bec originating from Universite' de Montre'al. In fact,
-the main problem for me was not to necessarily to invent Easy French,
-but to recognise the "best" convention to use, (best is not being
-defined, here) and to try to solve the main pitfalls associated with
-the selected convention. Shortly said, we have:
-
-`e''
- for `e' (and some other vowels) with an acute accent,
-
-`e`'
- for `e' (and some other vowels) with a grave accent,
-
-`e^'
- for `e' (and some other vowels) with a circumflex accent,
-
-`e"'
- for `e' (and some other vowels) with a diaeresis,
-
-`c,'
- for `c' with a cedilla.
-
-There is no attempt at expressing the `ae' and `oe' diphthongs. French
-also uses tildes over `n' and `a', but seldomly, and this is not
-represented either. In some countries, `:' is used instead of `"' to
-mark diaeresis. `recode' supports only one convention per call,
-depending on the `-c' option of the `recode' command. French quotes
-(sometimes called "angle quotes") are noted the same way English quotes
-are noted in TeX, _id est_ by ```' and `'''. No effort has been put to
-preserve Latin ligatures (`ae', `oe') which are representable in
-several other charsets. So, these ligatures may be lost through Easy
-French conventions.
-
- The convention is prone to losing information, because the diacritic
-meaning overloads some characters that already have other uses. To
-alleviate this, some knowledge of the French language is boosted into
-the recognition routines. So, the following subtleties are
-systematically obeyed by the various recognisers.
-
- 1. A comma which follows a `c' is interpreted as a cedilla only if it
- is followed by one of the vowels `a', `o' or `u'.
-
- 2. A single quote which follows a `e' does not necessarily means an
- acute accent if it is followed by a single other one. For example:
-
- `e''
- will give an `e' with an acute accent.
-
- `e'''
- will give a simple `e', with a closing quotation mark.
-
- `e''''
- will give an `e' with an acute accent, followed by a closing
- quotation mark.
-
- There is a problem induced by this convention if there are English
- quotations with a French text. In sentences like:
-
- There's a meeting at Archie's restaurant.
-
- the single quotes will be mistaken twice for acute accents. So
- English contractions and suffix possessives could be mangled.
-
- 3. A double quote or colon, depending on `-c' option, which follows a
- vowel is interpreted as diaeresis only if it is followed by
- another letter. But there are in French several words that _end_
- with a diaeresis, and the `recode' library is aware of them.
- There are words ending in "igue", either feminine words without a
- relative masculine (besaigue" and cigue"), or feminine words with
- a relative masculine(1) (aigue", ambigue", contigue", exigue",
- subaigue" and suraigue"). There are also words not ending in
- "igue", but instead, either ending by "i"(2) (ai", congai", goi",
- hai"kai", inoui", sai", samurai", thai" and tokai"), ending by "e"
- (canoe") or ending by "u"(3) (Esau").
-
- Just to complete this topic, note that it would be wrong to make a
- rule for all words ending in "igue" as needing a diaerisis, as
- there are counter-examples (becfigue, be`sigue, bigue, bordigue,
- bourdigue, brigue, contre-digue, digue, d'intrigue, fatigue,
- figue, garrigue, gigue, igue, intrigue, ligue, prodigue, sarigue
- and zigue).
-
- ---------- Footnotes ----------
-
- (1) There are supposed to be seven words in this case. So, one is
-missing.
-
- (2) Look at one of the following sentences (the second has to be
-interpreted with the `-c' option):
-
- "Ai"e! Voici le proble`me que j'ai"
- Ai:e! Voici le proble`me que j'ai:
-
- There is an ambiguity between an ai", the small animal, and the
-indicative future of _avoir_ (first person singular), when followed by
-what could be a diaeresis mark. Hopefully, the case is solved by the
-fact that an apostrophe always precedes the verb and almost never the
-animal.
-
- (3) I did not pay attention to proper nouns, but this one showed up
-as being fairly evident.
-
-\1f
-File: recode.info, Node: Mule, Prev: Texte, Up: Miscellaneous
-
-Mule as a multiplexed charset
-=============================
-
- This version of `recode' barely starts supporting multiplexed or
-super-charsets, that is, those encoding methods by which a single text
-stream may contain a combination of more than one constituent charset.
-The only multiplexed charset in `recode' is `Mule', and even then, it
-is only very partially implemented: the only correspondence available
-is with `Latin-1'. The author fastly implemented this only because he
-needed this for himself. However, it is intended that Mule support to
-become more real in subsequent releases of `recode'.
-
- Multiplexed charsets are not to be confused with mixed charset texts
-(*note Mixed::). For mixed charset input, the rules allowing to
-distinguish which charset is current, at any given place, are kind of
-informal, and driven from the semantics of what the file contains. On
-the other side, multiplexed charsets are _designed_ to be interpreted
-fairly precisely, and quite independently of any informational context.
-
- The spelling `Mule' originally stands for `_mul_tilingual
-_e_nhancement to GNU Emacs', it is the result of a collective effort
-orchestrated by Handa Ken'ichi since 1993. When `Mule' got rewritten
-in the main development stream of GNU Emacs 20, the FSF renamed it
-`MULE', meaning `_mul_tilingual _e_nvironment in GNU Emacs'. Even if
-the charset `Mule' is meant to stay internal to GNU Emacs, it sometimes
-breaks loose in external files, and as a consequence, a recoding tool
-is sometimes needed. Within Emacs, `Mule' comes with `Leim', which
-stands for `_l_ibraries of _e_macs _i_nput _m_ethods'. One of these
-libraries is named `quail'(1).
-
- ---------- Footnotes ----------
-
- (1) Usually, quail means quail egg in Japanese, while egg alone is
-usually chicken egg. Both quail egg and chicken egg are popular food
-in Japan. The `quail' input system has been named because it is
-smaller that the previous `EGG' system. As for `EGG', it is the
-translation of `TAMAGO'. This word comes from the Japanese sentence
-`_ta_kusan _ma_tasete _go_mennasai', meaning `sorry to have let you
-wait so long'. Of course, the publication of `EGG' has been delayed
-many times... (Story by Takahashi Naoto)
-
-\1f
-File: recode.info, Node: Surfaces, Next: Internals, Prev: Miscellaneous, Up: Top
-
-All about surfaces
-******************
-
- The "trivial surface" consists of using a fixed number of bits
-(often eight) for each character, the bits together hold the integer
-value of the index for the character in its charset table. There are
-many kinds of surfaces, beyond the trivial one, all having the purpose
-of increasing selected qualities for the storage or transmission. For
-example, surfaces might increase the resistance to channel limits
-(`Base64'), the transmission speed (`gzip'), the information privacy
-(`DES'), the conformance to operating system conventions (`CR-LF'), the
-blocking into records (`VB'), and surely other things as well(1). Many
-surfaces may be applied to a stream of characters from a charset, the
-order of application of surfaces is important, and surfaces should be
-removed in the reverse order of their application.
-
- Even if surfaces may generally be applied to various charsets, some
-surfaces were specifically designed for a particular charset, and would
-not make much sense if applied to other charsets. In such cases, these
-conceptual surfaces have been implemented as `recode' charsets, instead
-of as surfaces. This choice yields to cleaner syntax and usage. *Note
-Universal::.
-
- Surfaces are implemented within `recode' as special charsets which
-may only transform to or from the `data' or `tree' special charsets.
-Clever users may use this knowledge for writing surface names in
-requests exactly as if they were pure charsets, when the only need is
-to change surfaces without any kind of recoding between real charsets.
-In such contexts, either `data' or `tree' may also be used as if it
-were some kind of generic, anonymous charset: the request
-`data..SURFACE' merely adds the given SURFACE, while the request
-`SURFACE..data' removes it.
-
- The `recode' library distinguishes between mere data surfaces, and
-structural surfaces, also called tree surfaces for short. Structural
-surfaces might allow, in the long run, transformations between a few
-specialised representations of structural information like MIME parts,
-Perl or Python initialisers, LISP S-expressions, XML, Emacs outlines,
-etc.
-
- We are still experimenting with surfaces in `recode'. The concept
-opens the doors to many avenues; it is not clear yet which ones are
-worth pursuing, and which should be abandoned. In particular,
-implementation of structural surfaces is barely starting, there is not
-even a commitment that tree surfaces will stay in `recode', if they do
-prove to be more cumbersome than useful. This chapter presents all
-surfaces currently available.
-
-* Menu:
-
-* Permutations:: Permuting groups of bytes
-* End lines:: Representation for end of lines
-* MIME:: MIME contents encodings
-* Dump:: Interpreted character dumps
-* Test:: Artificial data for testing
-
- ---------- Footnotes ----------
-
- (1) These are mere examples to explain the concept, `recode' only
-has `Base64' and `CR-LF', actually.
-
-\1f
-File: recode.info, Node: Permutations, Next: End lines, Prev: Surfaces, Up: Surfaces
-
-Permuting groups of bytes
-=========================
-
- A permutation is a surface transformation which reorders groups of
-eight-bit bytes. A _21_ permutation exchanges pairs of successive
-bytes. If the text contains an odd number of bytes, the last byte is
-merely copied. An _4321_ permutation inverts the order of quadruples
-of bytes. If the text does not contains a multiple of four bytes, the
-remaining bytes are nevertheless permuted as _321_ if there are three
-bytes, _21_ if there are two bytes, or merely copied otherwise.
-
-`21'
- This surface is available in `recode' under the name
- `21-Permutation' and has `swabytes' for an alias.
-
-`4321'
- This surface is available in `recode' under the name
- `4321-Permutation'.
-
-\1f
-File: recode.info, Node: End lines, Next: MIME, Prev: Permutations, Up: Surfaces
-
-Representation for end of lines
-===============================
-
- The same charset might slightly differ, from one system to another,
-for the single fact that end of lines are not represented identically
-on all systems. The representation for an end of line within `recode'
-is the `ASCII' or `UCS' code with value 10, or `LF'. Other conventions
-for representing end of lines are available through surfaces.
-
-`CR'
- This convention is popular on Apple's Macintosh machines. When
- this surface is applied, each line is terminated by `CR', which has
- `ASCII' value 13. Unless the library is operating in strict mode,
- adding or removing the surface will in fact _exchange_ `CR' and
- `LF', for better reversibility. However, in strict mode, the
- exchange does not happen, any `CR' will be copied verbatim while
- applying the surface, and any `LF' will be copied verbatim while
- removing it.
-
- This surface is available in `recode' under the name `CR', it does
- not have any aliases. This is the implied surface for the Apple
- Macintosh related charsets.
-
-`CR-LF'
- This convention is popular on Microsoft systems running on IBM PCs
- and compatible. When this surface is applied, each line is
- terminated by a sequence of two characters: one `CR' followed by
- one `LF', in that order.
-
- For compatibility with oldish MS-DOS systems, removing a `CR-LF'
- surface will discard the first encountered `C-z', which has
- `ASCII' value 26, and everything following it in the text. Adding
- this surface will not, however, append a `C-z' to the result.
-
- This surface is available in `recode' under the name `CR-LF' and
- has `cl' for an alias. This is the implied surface for the IBM or
- Microsoft related charsets or code pages.
-
- Some other charsets might have their own representation for an end of
-line, which is different from `LF'. For example, this is the case of
-various `EBCDIC' charsets, or `Icon-QNX'. The recoding of end of lines
-is intimately tied into such charsets, it is not available separately
-as surfaces.
-
-\1f
-File: recode.info, Node: MIME, Next: Dump, Prev: End lines, Up: Surfaces
-
-MIME contents encodings
-=======================
-
- RFC 2045 defines two 7-bit surfaces, meant to prepare 8-bit messages
-for transmission. Base64 is especially usable for binary entities,
-while Quoted-Printable is especially usable for text entities, in those
-case the lower 128 characters of the underlying charset coincide with
-ASCII.
-
-`Base64'
- This surface is available in `recode' under the name `Base64',
- with `b64' and `64' as acceptable aliases.
-
-`Quoted-Printable'
- This surface is available in `recode' under the name
- `Quoted-Printable', with `quote-printable' and `QP' as acceptable
- aliases.
-
- Note that `UTF-7', which may be also considered as a MIME surface,
-is provided as a genuine charset instead, as it necessary relates to
-`UCS-2' and nothing else. *Note UTF-7::.
-
- A little historical note, also showing the three levels of
-acceptance of Internet standards. MIME changed from a "Proposed
-Standard" (RFC 1341-1344, 1992) to a "Draft Standard" (RFC 1521-1523)
-in 1993, and was _recycled_ as a "Draft Standard" in 1996-11. It is
-not yet a "Full Standard".
-
-\1f
-File: recode.info, Node: Dump, Next: Test, Prev: MIME, Up: Surfaces
-
-Interpreted character dumps
-===========================
-
- Dumps are surfaces meant to express, in ways which are a bit more
-readable, the bit patterns used to represent characters. They allow
-the inspection or debugging of character streams, but also, they may
-assist a bit the production of C source code which, once compiled,
-would hold in memory a copy of the original coding. However, `recode'
-does not attempt, in any way, to produce complete C source files in
-dumps. User hand editing or `Makefile' trickery is still needed for
-adding missing lines. Dumps may be given in decimal, hexadecimal and
-octal, and be based over chunks of either one, two or four eight-bit
-bytes. Formatting has been chosen to respect the C language syntax for
-number constants, with commas and newlines inserted appropriately.
-
- However, when dumping two or four byte chunks, the last chunk may be
-incomplete. This is observable through the usage of narrower expression
-for that last chunk only. Such a shorter chunk would not be compiled
-properly within a C initialiser, as all members of an array share a
-single type, and so, have identical sizes.
-
-`Octal-1'
- This surface corresponds to an octal expression of each input byte.
-
- It is available in `recode' under the name `Octal-1', with `o1'
- and `o' as acceptable aliases.
-
-`Octal-2'
- This surface corresponds to an octal expression of each pair of
- input bytes, except for the last pair, which may be short.
-
- It is available in `recode' under the name `Octal-2' and has `o2'
- for an alias.
-
-`Octal-4'
- This surface corresponds to an octal expression of each quadruple
- of input bytes, except for the last quadruple, which may be short.
-
- It is available in `recode' under the name `Octal-4' and has `o4'
- for an alias.
-
-`Decimal-1'
- This surface corresponds to an decimal expression of each input
- byte.
-
- It is available in `recode' under the name `Decimal-1', with `d1'
- and `d' as acceptable aliases.
-
-`Decimal-2'
- This surface corresponds to an decimal expression of each pair of
- input bytes, except for the last pair, which may be short.
-
- It is available in `recode' under the name `Decimal-2' and has
- `d2' for an alias.
-
-`Decimal-4'
- This surface corresponds to an decimal expression of each
- quadruple of input bytes, except for the last quadruple, which may
- be short.
-
- It is available in `recode' under the name `Decimal-4' and has
- `d4' for an alias.
-
-`Hexadecimal-1'
- This surface corresponds to an hexadecimal expression of each
- input byte.
-
- It is available in `recode' under the name `Hexadecimal-1', with
- `x1' and `x' as acceptable aliases.
-
-`Hexadecimal-2'
- This surface corresponds to an hexadecimal expression of each pair
- of input bytes, except for the last pair, which may be short.
-
- It is available in `recode' under the name `Hexadecimal-2', with
- `x2' for an alias.
-
-`Hexadecimal-4'
- This surface corresponds to an hexadecimal expression of each
- quadruple of input bytes, except for the last quadruple, which may
- be short.
-
- It is available in `recode' under the name `Hexadecimal-4', with
- `x4' for an alias.
-
- When removing a dump surface, that is, when reading a dump results
-back into a sequence of bytes, the narrower expression for a short last
-chunk is recognised, so dumping is a fully reversible operation.
-However, in case you want to produce dumps by other means than through
-`recode', beware that for decimal dumps, the library has to rely on the
-number of spaces to establish the original byte size of the chunk.
-
- Although the library might report reversibility errors, removing a
-dump surface is a rather forgiving process: one may mix bases, group a
-variable number of data per source line, or use shorter chunks in
-places other than at the far end. Also, source lines not beginning
-with a number are skipped. So, `recode' should often be able to read a
-whole C header file, wrapping the results of a previous dump, and
-regenerate the original byte string.
-
versions, except that this permission notice may be stated in a
translation approved by the Foundation.
+\1f
+File: recode.info, Node: HTML, Next: LaTeX, Prev: Miscellaneous, Up: Miscellaneous
+
+World Wide Web representations
+==============================
+
+ Character entities have been introduced by SGML and made widely
+popular through HTML, the markup language in use for the World Wide
+Web, or Web or WWW for short. For representing _unusual_ characters,
+HTML texts use special sequences, beginning with an ampersand `&' and
+ending with a semicolon `;'. The sequence may itself start with a
+number sigh `#' and be followed by digits, so forming a "numeric
+character reference", or else be an alphabetic identifier, so forming a
+"character entity reference".
+
+ The HTML standards have been revised into different HTML levels over
+time, and the list of allowable character entities differ in them. The
+later XML, meant to simplify many things, has an option
+(`standalone=yes') which much restricts that list. The `recode'
+library is able to convert character references between their mnemonic
+form and their numeric form, depending on aimed HTML standard level.
+It also can, of course, convert between HTML and various other charsets.
+
+ Here is a list of those HTML variants which `recode' supports. Some
+notes have been provided by François Yergeau <yergeau@alis.com>.
+
+`XML-standalone'
+ This charset is available in `recode' under the name
+ `XML-standalone', with `h0' as an acceptable alias. It is
+ documented in section 4.1 of `http://www.w3.org/TR/REC-xml'. It
+ only knows `&', `>', `<', `"' and `''.
+
+`HTML_1.1'
+ This charset is available in `recode' under the name `HTML_1.1',
+ with `h1' as an acceptable alias. HTML 1.0 was never really
+ documented.
+
+`HTML_2.0'
+ This charset is available in `recode' under the name `HTML_2.0',
+ and has `RFC1866', `1866' and `h2' for aliases. HTML 2.0 entities
+ are listed in RFC 1866. Basically, there is an entity for each
+ _alphabetical_ character in the right part of ISO 8859-1. In
+ addition, there are four entities for syntax-significant ASCII
+ characters: `&', `>', `<' and `"'.
+
+`HTML-i18n'
+ This charset is available in `recode' under the name `HTML-i18n',
+ and has `RFC2070' and `2070' for aliases. RFC 2070 added entities
+ to cover the whole right part of ISO 8859-1. The list is
+ conveniently accessible at
+ `http://www.alis.com:8085/ietf/html/html-latin1.sgml'. In
+ addition, four i18n-related entities were added: `‌'
+ (`‌'), `‍' (`‍'), `‎' (`‎') and `‏'
+ (`‏').
+
+`HTML_3.2'
+ This charset is available in `recode' under the name `HTML_3.2',
+ with `h3' as an acceptable alias. HTML 3.2
+ (http://www.w3.org/TR/REC-html32.html) took up the full Latin-1
+ list but not the i18n-related entities from RFC 2070.
+
+`HTML_4.0'
+ This charset is available in `recode' under the name `HTML_4.0',
+ and has `h4' and `h' for aliases. Beware that the particular
+ alias `h' is not _tied_ to HTML 4.0, but to the highest HTML level
+ supported by `recode'; so it might later represent HTML level 5 if
+ this is ever created. HTML 4.0 (http://www.w3.org/TR/REC-html40/)
+ has the whole Latin-1 list, a set of entities for symbols,
+ mathematical symbols, and Greek letters, and another set for
+ markup-significant and internationalization characters comprising
+ the 4 ASCII entities, the 4 i18n-related from RFC 2070 plus some
+ more. See `http://www.w3.org/TR/REC-html40/sgml/entities.html'.
+
+ Printable characters from Latin-1 may be used directly in an HTML
+text. However, partly because people have deficient keyboards, partly
+because people want to transmit HTML texts over non 8-bit clean
+channels while not using MIME, it is common (yet debatable) to use
+character entity references even for Latin-1 characters, when they fall
+outside ASCII (that is, when they have the 8th bit set).
+
+ When you recode from another charset to `HTML', beware that all
+occurrences of double quotes, ampersands, and left or right angle
+brackets are translated into special sequences. However, in practice,
+people often use ampersands and angle brackets in the other charset for
+introducing HTML commands, compromising it: it is not pure HTML, not it
+is pure other charset. These particular translations can be rather
+inconvenient, they may be specifically inhibited through the command
+option `-d' (*note Mixed::).
+
+ Codes not having a mnemonic entity are output by `recode' using the
+`&#NNN;' notation, where NNN is a decimal representation of the UCS
+code value. When there is an entity name for a character, it is always
+preferred over a numeric character reference. ASCII printable
+characters are always generated directly. So is the newline. While
+reading HTML, `recode' supports numeric character reference as alternate
+writings, even when written as hexadecimal numbers, as in `�'.
+This is documented in:
+
+ http://www.w3.org/TR/REC-html40/intro/sgmltut.html#h-3.2.3
+
+ When `recode' translates to HTML, the translation occurs according to
+the HTML level as selected by the goal charset. When translating _from_
+HTML, `recode' not only accepts the character entity references known at
+that level, but also those of all other levels, as well as a few
+alternative special sequences, to be forgiving to files using other
+HTML standards.
+
+ The `recode' program can be used to _normalise_ an HTML file using
+oldish conventions. For example, it accepts `&AE;', as this once was a
+valid writing, somewhere. However, it should always produce `Æ'
+instead of `&AE;'. Yet, this is not completely true. If one does:
+
+ recode h3..h3 < INPUT
+
+the operation will be optimised into a mere copy, and you can get `&AE;'
+this way, if you had some in your input file. But if you explicitly
+defeat the optimisation, like this maybe:
+
+ recode h3..u2,u2..h3 < INPUT
+
+then `&AE;' should be normalised into `Æ' by the operation.
+
+\1f
+File: recode.info, Node: LaTeX, Next: Texinfo, Prev: HTML, Up: Miscellaneous
+
+LaTeX macro calls
+=================
+
+ This charset is available in `recode' under the name `LaTeX' and has
+`ltex' as an alias. It is used for ASCII files coded to be read by
+LaTeX or, in certain cases, by TeX.
+
+ Whenever you recode from another charset to `LaTeX', beware that all
+occurrences of backslashes `\' are translated into the string
+`\backslash{}'. However, in practice, people often use backslashes in
+the other charset for introducing TeX commands, compromising it: it is
+not pure TeX, nor it is pure other charset. This translation of
+backslashes into `\backslash{}' can be rather inconvenient, it may be
+inhibited through the command option `-d' (*note Mixed::).
+
+\1f
+File: recode.info, Node: Texinfo, Next: Vietnamese, Prev: LaTeX, Up: Miscellaneous
+
+GNU project documentation files
+===============================
+
+ This charset is available in `recode' under the name `Texinfo' and
+has `texi' and `ti' for aliases. It is used by the GNU project for its
+documentation. Texinfo files may be converted into Info files by the
+`makeinfo' program and into nice printed manuals by the TeX system.
+
+ Even if `recode' may transform other charsets to Texinfo, it may not
+read Texinfo files yet. In these times, usages are also changing
+between versions of Texinfo, and `recode' only partially succeeds in
+correctly following these changes. So, for now, Texinfo support in
+`recode' should be considered as work still in progress (!).
+
+\1f
+File: recode.info, Node: Vietnamese, Next: African, Prev: Texinfo, Up: Miscellaneous
+
+Vietnamese charsets
+===================
+
+ We are currently experimenting the implementation, in `recode', of a
+few character sets and transliterated forms to handle the Vietnamese
+language. They are quite briefly summarised, here.
+
+`TCVN'
+ The TCVN charset has an incomplete name. It might be one of the
+ three charset `VN1', `VN2' or `VN3'. Yes `VN2' might be a second
+ version of `VISCII'. To be clarified.
+
+`VISCII'
+ This is an 8-bit character set which seems to be rather popular for
+ writing Vietnamese.
+
+`VPS'
+ This is an 8-bit character set for Vietnamese. No much reference.
+
+`VIQR'
+ The VIQR convention is a 7-bit, `ASCII' transliteration for
+ Vietnamese.
+
+`VNI'
+ The VNI convention is a 8-bit, `Latin-1' transliteration for
+ Vietnamese.
+
+ Still lacking for Vietnamese in `recode', are the charsets `CP1129'
+and `CP1258'.
+
+\1f
+File: recode.info, Node: African, Next: Others, Prev: Vietnamese, Up: Miscellaneous
+
+African charsets
+================
+
+ Some African character sets are available for a few languages, when
+these are heavily used in countries where French is also currently
+spoken.
+
+ One African charset is usable for Bambara, Ewondo and Fulfude, as
+well as for French. This charset is available in `recode' under the
+name `AFRFUL-102-BPI_OCIL'. Accepted aliases are `bambara', `bra',
+`ewondo' and `fulfude'. Transliterated forms of the same are available
+under the name `AFRFUL-103-BPI_OCIL'. Accepted aliases are
+`t-bambara', `t-bra', `t-ewondo' and `t-fulfude'.
+
+ Another African charset is usable for Lingala, Sango and Wolof, as
+well as for French. This charset is available in `recode' under the
+name `AFRLIN-104-BPI_OCIL'. Accepted aliases are `lingala', `lin',
+`sango' and `wolof'. Transliterated forms of the same are available
+under the name `AFRLIN-105-BPI_OCIL'. Accepted aliases are
+`t-lingala', `t-lin', `t-sango' and `t-wolof'.
+
+ To ease exchange with `ISO-8859-1', there is a charset conveying
+transliterated forms for Latin-1 in a way which is compatible with the
+other African charsets in this series. This charset is available in
+`recode' under the name `AFRL1-101-BPI_OCIL'. Accepted aliases are
+`t-fra' and `t-francais'.
+
+\1f
+File: recode.info, Node: Others, Next: Texte, Prev: African, Up: Miscellaneous
+
+Cyrillic and other charsets
+===========================
+
+ The following Cyrillic charsets are already available in `recode'
+through RFC 1345 tables: `CP1251' with aliases `1251', ` ms-cyrl' and
+`windows-1251'; `CSN_369103' with aliases `ISO-IR-139' and `KOI8_L2';
+`ECMA-cyrillic' with aliases `ECMA-113', `ECMA-113:1986' and
+`iso-ir-111', `IBM880' with aliases `880', `CP880' and
+`EBCDIC-Cyrillic'; `INIS-cyrillic' with alias `iso-ir-51'; `ISO-8859-5'
+with aliases `cyrillic', ` ISO-8859-5:1988' and `iso-ir-144'; `KOI-7';
+`KOI-8' with alias `GOST_19768-74'; `KOI8-R'; `KOI8-RU' and finally
+`KOI8-U'.
+
+ There seems to remain some confusion in Roman charsets for Cyrillic
+languages, and because a few users requested it repeatedly, `recode'
+now offers special services in that area. Consider these charsets as
+experimental and debatable, as the extraneous tables describing them are
+still a bit fuzzy or non-standard. Hopefully, in the long run, these
+charsets will be covered in Keld Simonsen's works to the satisfaction of
+everybody, and this section will merely disappear.
+
+`KEYBCS2'
+ This charset is available under the name `KEYBCS2', with
+ `Kamenicky' as an accepted alias.
+
+`CORK'
+ This charset is available under the name `CORK', with `T1' as an
+ accepted alias.
+
+`KOI-8_CS2'
+ This charset is available under the name `KOI-8_CS2'.
+
+\1f
+File: recode.info, Node: Texte, Next: Mule, Prev: Others, Up: Miscellaneous
+
+Easy French conventions
+=======================
+
+ This charset is available in `recode' under the name `Texte' and has
+`txte' for an alias. It is a seven bits code, identical to `ASCII-BS',
+save for French diacritics which are noted using a slightly different
+convention.
+
+ At text entry time, these conventions provide a little speed up. At
+read time, they slightly improve the readability over a few alternate
+ways of coding diacritics. Of course, it would better to have a
+specialised keyboard to make direct eight bits entries and fonts for
+immediately displaying eight bit ISO Latin-1 characters. But not
+everybody is so fortunate. In a few mailing environments, and sadly
+enough, it still happens that the eight bit is often willing-fully
+destroyed.
+
+ Easy French has been in use in France for a while. I only slightly
+adapted it (the diaeresis option) to make it more comfortable to several
+usages in Que'bec originating from Universite' de Montre'al. In fact,
+the main problem for me was not to necessarily to invent Easy French,
+but to recognise the "best" convention to use, (best is not being
+defined, here) and to try to solve the main pitfalls associated with
+the selected convention. Shortly said, we have:
+
+`e''
+ for `e' (and some other vowels) with an acute accent,
+
+`e`'
+ for `e' (and some other vowels) with a grave accent,
+
+`e^'
+ for `e' (and some other vowels) with a circumflex accent,
+
+`e"'
+ for `e' (and some other vowels) with a diaeresis,
+
+`c,'
+ for `c' with a cedilla.
+
+There is no attempt at expressing the `ae' and `oe' diphthongs. French
+also uses tildes over `n' and `a', but seldomly, and this is not
+represented either. In some countries, `:' is used instead of `"' to
+mark diaeresis. `recode' supports only one convention per call,
+depending on the `-c' option of the `recode' command. French quotes
+(sometimes called "angle quotes") are noted the same way English quotes
+are noted in TeX, _id est_ by ```' and `'''. No effort has been put to
+preserve Latin ligatures (`ae', `oe') which are representable in
+several other charsets. So, these ligatures may be lost through Easy
+French conventions.
+
+ The convention is prone to losing information, because the diacritic
+meaning overloads some characters that already have other uses. To
+alleviate this, some knowledge of the French language is boosted into
+the recognition routines. So, the following subtleties are
+systematically obeyed by the various recognisers.
+
+ 1. A comma which follows a `c' is interpreted as a cedilla only if it
+ is followed by one of the vowels `a', `o' or `u'.
+
+ 2. A single quote which follows a `e' does not necessarily means an
+ acute accent if it is followed by a single other one. For example:
+
+ `e''
+ will give an `e' with an acute accent.
+
+ `e'''
+ will give a simple `e', with a closing quotation mark.
+
+ `e''''
+ will give an `e' with an acute accent, followed by a closing
+ quotation mark.
+
+ There is a problem induced by this convention if there are English
+ quotations with a French text. In sentences like:
+
+ There's a meeting at Archie's restaurant.
+
+ the single quotes will be mistaken twice for acute accents. So
+ English contractions and suffix possessives could be mangled.
+
+ 3. A double quote or colon, depending on `-c' option, which follows a
+ vowel is interpreted as diaeresis only if it is followed by
+ another letter. But there are in French several words that _end_
+ with a diaeresis, and the `recode' library is aware of them.
+ There are words ending in "igue", either feminine words without a
+ relative masculine (besaigue" and cigue"), or feminine words with
+ a relative masculine(1) (aigue", ambigue", contigue", exigue",
+ subaigue" and suraigue"). There are also words not ending in
+ "igue", but instead, either ending by "i"(2) (ai", congai", goi",
+ hai"kai", inoui", sai", samurai", thai" and tokai"), ending by "e"
+ (canoe") or ending by "u"(3) (Esau").
+
+ Just to complete this topic, note that it would be wrong to make a
+ rule for all words ending in "igue" as needing a diaerisis, as
+ there are counter-examples (becfigue, be`sigue, bigue, bordigue,
+ bourdigue, brigue, contre-digue, digue, d'intrigue, fatigue,
+ figue, garrigue, gigue, igue, intrigue, ligue, prodigue, sarigue
+ and zigue).
+
+ ---------- Footnotes ----------
+
+ (1) There are supposed to be seven words in this case. So, one is
+missing.
+
+ (2) Look at one of the following sentences (the second has to be
+interpreted with the `-c' option):
+
+ "Ai"e! Voici le proble`me que j'ai"
+ Ai:e! Voici le proble`me que j'ai:
+
+ There is an ambiguity between an ai", the small animal, and the
+indicative future of _avoir_ (first person singular), when followed by
+what could be a diaeresis mark. Hopefully, the case is solved by the
+fact that an apostrophe always precedes the verb and almost never the
+animal.
+
+ (3) I did not pay attention to proper nouns, but this one showed up
+as being fairly evident.
+
+\1f
+File: recode.info, Node: Mule, Prev: Texte, Up: Miscellaneous
+
+Mule as a multiplexed charset
+=============================
+
+ This version of `recode' barely starts supporting multiplexed or
+super-charsets, that is, those encoding methods by which a single text
+stream may contain a combination of more than one constituent charset.
+The only multiplexed charset in `recode' is `Mule', and even then, it
+is only very partially implemented: the only correspondence available
+is with `Latin-1'. The author fastly implemented this only because he
+needed this for himself. However, it is intended that Mule support to
+become more real in subsequent releases of `recode'.
+
+ Multiplexed charsets are not to be confused with mixed charset texts
+(*note Mixed::). For mixed charset input, the rules allowing to
+distinguish which charset is current, at any given place, are kind of
+informal, and driven from the semantics of what the file contains. On
+the other side, multiplexed charsets are _designed_ to be interpreted
+fairly precisely, and quite independently of any informational context.
+
+ The spelling `Mule' originally stands for `_mul_tilingual
+_e_nhancement to GNU Emacs', it is the result of a collective effort
+orchestrated by Handa Ken'ichi since 1993. When `Mule' got rewritten
+in the main development stream of GNU Emacs 20, the FSF renamed it
+`MULE', meaning `_mul_tilingual _e_nvironment in GNU Emacs'. Even if
+the charset `Mule' is meant to stay internal to GNU Emacs, it sometimes
+breaks loose in external files, and as a consequence, a recoding tool
+is sometimes needed. Within Emacs, `Mule' comes with `Leim', which
+stands for `_l_ibraries of _e_macs _i_nput _m_ethods'. One of these
+libraries is named `quail'(1).
+
+ ---------- Footnotes ----------
+
+ (1) Usually, quail means quail egg in Japanese, while egg alone is
+usually chicken egg. Both quail egg and chicken egg are popular food
+in Japan. The `quail' input system has been named because it is
+smaller that the previous `EGG' system. As for `EGG', it is the
+translation of `TAMAGO'. This word comes from the Japanese sentence
+`_ta_kusan _ma_tasete _go_mennasai', meaning `sorry to have let you
+wait so long'. Of course, the publication of `EGG' has been delayed
+many times... (Story by Takahashi Naoto)
+
+\1f
+File: recode.info, Node: Surfaces, Next: Internals, Prev: Miscellaneous, Up: Top
+
+All about surfaces
+******************
+
+ The "trivial surface" consists of using a fixed number of bits
+(often eight) for each character, the bits together hold the integer
+value of the index for the character in its charset table. There are
+many kinds of surfaces, beyond the trivial one, all having the purpose
+of increasing selected qualities for the storage or transmission. For
+example, surfaces might increase the resistance to channel limits
+(`Base64'), the transmission speed (`gzip'), the information privacy
+(`DES'), the conformance to operating system conventions (`CR-LF'), the
+blocking into records (`VB'), and surely other things as well(1). Many
+surfaces may be applied to a stream of characters from a charset, the
+order of application of surfaces is important, and surfaces should be
+removed in the reverse order of their application.
+
+ Even if surfaces may generally be applied to various charsets, some
+surfaces were specifically designed for a particular charset, and would
+not make much sense if applied to other charsets. In such cases, these
+conceptual surfaces have been implemented as `recode' charsets, instead
+of as surfaces. This choice yields to cleaner syntax and usage. *Note
+Universal::.
+
+ Surfaces are implemented within `recode' as special charsets which
+may only transform to or from the `data' or `tree' special charsets.
+Clever users may use this knowledge for writing surface names in
+requests exactly as if they were pure charsets, when the only need is
+to change surfaces without any kind of recoding between real charsets.
+In such contexts, either `data' or `tree' may also be used as if it
+were some kind of generic, anonymous charset: the request
+`data..SURFACE' merely adds the given SURFACE, while the request
+`SURFACE..data' removes it.
+
+ The `recode' library distinguishes between mere data surfaces, and
+structural surfaces, also called tree surfaces for short. Structural
+surfaces might allow, in the long run, transformations between a few
+specialised representations of structural information like MIME parts,
+Perl or Python initialisers, LISP S-expressions, XML, Emacs outlines,
+etc.
+
+ We are still experimenting with surfaces in `recode'. The concept
+opens the doors to many avenues; it is not clear yet which ones are
+worth pursuing, and which should be abandoned. In particular,
+implementation of structural surfaces is barely starting, there is not
+even a commitment that tree surfaces will stay in `recode', if they do
+prove to be more cumbersome than useful. This chapter presents all
+surfaces currently available.
+
+* Menu:
+
+* Permutations:: Permuting groups of bytes
+* End lines:: Representation for end of lines
+* MIME:: MIME contents encodings
+* Dump:: Interpreted character dumps
+* Test:: Artificial data for testing
+
+ ---------- Footnotes ----------
+
+ (1) These are mere examples to explain the concept, `recode' only
+has `Base64' and `CR-LF', actually.
+
+\1f
+File: recode.info, Node: Permutations, Next: End lines, Prev: Surfaces, Up: Surfaces
+
+Permuting groups of bytes
+=========================
+
+ A permutation is a surface transformation which reorders groups of
+eight-bit bytes. A _21_ permutation exchanges pairs of successive
+bytes. If the text contains an odd number of bytes, the last byte is
+merely copied. An _4321_ permutation inverts the order of quadruples
+of bytes. If the text does not contains a multiple of four bytes, the
+remaining bytes are nevertheless permuted as _321_ if there are three
+bytes, _21_ if there are two bytes, or merely copied otherwise.
+
+`21'
+ This surface is available in `recode' under the name
+ `21-Permutation' and has `swabytes' for an alias.
+
+`4321'
+ This surface is available in `recode' under the name
+ `4321-Permutation'.
+
+\1f
+File: recode.info, Node: End lines, Next: MIME, Prev: Permutations, Up: Surfaces
+
+Representation for end of lines
+===============================
+
+ The same charset might slightly differ, from one system to another,
+for the single fact that end of lines are not represented identically
+on all systems. The representation for an end of line within `recode'
+is the `ASCII' or `UCS' code with value 10, or `LF'. Other conventions
+for representing end of lines are available through surfaces.
+
+`CR'
+ This convention is popular on Apple's Macintosh machines. When
+ this surface is applied, each line is terminated by `CR', which has
+ `ASCII' value 13. Unless the library is operating in strict mode,
+ adding or removing the surface will in fact _exchange_ `CR' and
+ `LF', for better reversibility. However, in strict mode, the
+ exchange does not happen, any `CR' will be copied verbatim while
+ applying the surface, and any `LF' will be copied verbatim while
+ removing it.
+
+ This surface is available in `recode' under the name `CR', it does
+ not have any aliases. This is the implied surface for the Apple
+ Macintosh related charsets.
+
+`CR-LF'
+ This convention is popular on Microsoft systems running on IBM PCs
+ and compatible. When this surface is applied, each line is
+ terminated by a sequence of two characters: one `CR' followed by
+ one `LF', in that order.
+
+ For compatibility with oldish MS-DOS systems, removing a `CR-LF'
+ surface will discard the first encountered `C-z', which has
+ `ASCII' value 26, and everything following it in the text. Adding
+ this surface will not, however, append a `C-z' to the result.
+
+ This surface is available in `recode' under the name `CR-LF' and
+ has `cl' for an alias. This is the implied surface for the IBM or
+ Microsoft related charsets or code pages.
+
+ Some other charsets might have their own representation for an end of
+line, which is different from `LF'. For example, this is the case of
+various `EBCDIC' charsets, or `Icon-QNX'. The recoding of end of lines
+is intimately tied into such charsets, it is not available separately
+as surfaces.
+
+\1f
+File: recode.info, Node: MIME, Next: Dump, Prev: End lines, Up: Surfaces
+
+MIME contents encodings
+=======================
+
+ RFC 2045 defines two 7-bit surfaces, meant to prepare 8-bit messages
+for transmission. Base64 is especially usable for binary entities,
+while Quoted-Printable is especially usable for text entities, in those
+case the lower 128 characters of the underlying charset coincide with
+ASCII.
+
+`Base64'
+ This surface is available in `recode' under the name `Base64',
+ with `b64' and `64' as acceptable aliases.
+
+`Quoted-Printable'
+ This surface is available in `recode' under the name
+ `Quoted-Printable', with `quote-printable' and `QP' as acceptable
+ aliases.
+
+ Note that `UTF-7', which may be also considered as a MIME surface,
+is provided as a genuine charset instead, as it necessary relates to
+`UCS-2' and nothing else. *Note UTF-7::.
+
+ A little historical note, also showing the three levels of
+acceptance of Internet standards. MIME changed from a "Proposed
+Standard" (RFC 1341-1344, 1992) to a "Draft Standard" (RFC 1521-1523)
+in 1993, and was _recycled_ as a "Draft Standard" in 1996-11. It is
+not yet a "Full Standard".
+
+\1f
+File: recode.info, Node: Dump, Next: Test, Prev: MIME, Up: Surfaces
+
+Interpreted character dumps
+===========================
+
+ Dumps are surfaces meant to express, in ways which are a bit more
+readable, the bit patterns used to represent characters. They allow
+the inspection or debugging of character streams, but also, they may
+assist a bit the production of C source code which, once compiled,
+would hold in memory a copy of the original coding. However, `recode'
+does not attempt, in any way, to produce complete C source files in
+dumps. User hand editing or `Makefile' trickery is still needed for
+adding missing lines. Dumps may be given in decimal, hexadecimal and
+octal, and be based over chunks of either one, two or four eight-bit
+bytes. Formatting has been chosen to respect the C language syntax for
+number constants, with commas and newlines inserted appropriately.
+
+ However, when dumping two or four byte chunks, the last chunk may be
+incomplete. This is observable through the usage of narrower expression
+for that last chunk only. Such a shorter chunk would not be compiled
+properly within a C initialiser, as all members of an array share a
+single type, and so, have identical sizes.
+
+`Octal-1'
+ This surface corresponds to an octal expression of each input byte.
+
+ It is available in `recode' under the name `Octal-1', with `o1'
+ and `o' as acceptable aliases.
+
+`Octal-2'
+ This surface corresponds to an octal expression of each pair of
+ input bytes, except for the last pair, which may be short.
+
+ It is available in `recode' under the name `Octal-2' and has `o2'
+ for an alias.
+
+`Octal-4'
+ This surface corresponds to an octal expression of each quadruple
+ of input bytes, except for the last quadruple, which may be short.
+
+ It is available in `recode' under the name `Octal-4' and has `o4'
+ for an alias.
+
+`Decimal-1'
+ This surface corresponds to an decimal expression of each input
+ byte.
+
+ It is available in `recode' under the name `Decimal-1', with `d1'
+ and `d' as acceptable aliases.
+
+`Decimal-2'
+ This surface corresponds to an decimal expression of each pair of
+ input bytes, except for the last pair, which may be short.
+
+ It is available in `recode' under the name `Decimal-2' and has
+ `d2' for an alias.
+
+`Decimal-4'
+ This surface corresponds to an decimal expression of each
+ quadruple of input bytes, except for the last quadruple, which may
+ be short.
+
+ It is available in `recode' under the name `Decimal-4' and has
+ `d4' for an alias.
+
+`Hexadecimal-1'
+ This surface corresponds to an hexadecimal expression of each
+ input byte.
+
+ It is available in `recode' under the name `Hexadecimal-1', with
+ `x1' and `x' as acceptable aliases.
+
+`Hexadecimal-2'
+ This surface corresponds to an hexadecimal expression of each pair
+ of input bytes, except for the last pair, which may be short.
+
+ It is available in `recode' under the name `Hexadecimal-2', with
+ `x2' for an alias.
+
+`Hexadecimal-4'
+ This surface corresponds to an hexadecimal expression of each
+ quadruple of input bytes, except for the last quadruple, which may
+ be short.
+
+ It is available in `recode' under the name `Hexadecimal-4', with
+ `x4' for an alias.
+
+ When removing a dump surface, that is, when reading a dump results
+back into a sequence of bytes, the narrower expression for a short last
+chunk is recognised, so dumping is a fully reversible operation.
+However, in case you want to produce dumps by other means than through
+`recode', beware that for decimal dumps, the library has to rely on the
+number of spaces to establish the original byte size of the chunk.
+
+ Although the library might report reversibility errors, removing a
+dump surface is a rather forgiving process: one may mix bases, group a
+variable number of data per source line, or use shorter chunks in
+places other than at the far end. Also, source lines not beginning
+with a number are skipped. So, `recode' should often be able to read a
+whole C header file, wrapping the results of a previous dump, and
+regenerate the original byte string.
+
\1f
File: recode.info, Node: Test, Prev: Dump, Up: Surfaces
takes appropriate actions so that charset gets indeed installed as a
surface.
-\1f
-File: recode.info, Node: Design, Prev: New surfaces, Up: Internals
-
-Comments on the library design
-==============================
-
- * Why a shared library?
-
- There are many different approaches to reduce system requirements
- to handle all tables needed in the `recode' library. One of them
- is to have the tables in an external format and only read them in
- on demand. After having pondered this for a while, I finally
- decided against it, mainly because it involves its own kind of
- installation complexity, and it is not clear to me that it would
- be as interesting as I first imagined.
-
- It looks more efficient to see all tables and algorithms already
- mapped into virtual memory from the start of the execution, yet
- not loaded in actual memory, than to go through many disk accesses
- for opening various data files once the program is already
- started, as this would be needed with other solutions. Using a
- shared library also has the indirect effect of making various
- algorithms handily available, right in the same modules providing
- the tables. This alleviates much the burden of the maintenance.
-
- Of course, I would like to later make an exception for only a few
- tables, built locally by users for their own particular needs once
- `recode' is installed. `recode' should just go and fetch them.
- But I do not perceive this as very urgent, yet useful enough to be
- worth implementing.
-
- Currently, all tables needed for recoding are precompiled into
- binaries, and all these binaries are then made into a shared
- library. As an initial step, I turned `recode' into a main
- program and a non-shared library, this allowed me to tidy up the
- API, get rid of all global variables, etc. It required a
- surprising amount of program source massaging. But once this
- cleaned enough, it was easy to use Gordon Matzigkeit's `libtool'
- package, and take advantage of the Automake interface to neatly
- turn the non-shared library into a shared one.
-
- Sites linking with the `recode' library, whose system does not
- support any form of shared libraries, might end up with bulky
- executables. Surely, the `recode' library will have to be used
- statically, and might not very nicely usable on such systems. It
- seems that progress has a price for those being slow at it.
-
- There is a locality problem I did not address yet. Currently, the
- `recode' library takes many cycles to initialise itself, calling
- each module in turn for it to set up associated knowledge about
- charsets, aliases, elementary steps, recoding weights, etc.
- _Then_, the recoding sequence is decided out of the command given.
- I would not be surprised if initialisation was taking a
- perceivable fraction of a second on slower machines. One thing to
- do, most probably not right in version 3.5, but the version after,
- would have `recode' to pre-load all tables and dump them at
- installation time. The result would then be compiled and added to
- the library. This would spare many initialisation cycles, but more
- importantly, would avoid calling all library modules, scattered
- through the virtual memory, and so, possibly causing many spurious
- page exceptions each time the initialisation is requested, at
- least once per program execution.
-
- * Why not a central charset?
-
- It would be simpler, and I would like, if something like ISO 10646
- was used as a turning template for all charsets in `recode'. Even
- if I think it could help to a certain extent, I'm still not fully
- sure it would be sufficient in all cases. Moreover, some people
- disagree about using ISO 10646 as the central charset, to the
- point I cannot totally ignore them, and surely, `recode' is not a
- mean for me to force my own opinions on people. I would like that
- `recode' be practical more than dogmatic, and reflect usage more
- than religions.
-
- Currently, if you ask `recode' to go from CHARSET1 to CHARSET2
- chosen at random, it is highly probable that the best path will be
- quickly found as:
-
- CHARSET1..`UCS-2'..CHARSET2
-
- That is, it will almost always use the `UCS' as a trampoline
- between charsets. However, `UCS-2' will be immediately be
- optimised out, and CHARSET1..CHARSET2 will often be performed in a
- single step through a permutation table generated on the fly for
- the circumstance (1).
-
- In those few cases where `UCS-2' is not selected as a conceptual
- intermediate, I plan to study if it could be made so. But I guess
- some cases will remain where `UCS-2' is not a proper choice. Even
- if `UCS' is often the good choice, I do not intend to forcefully
- restrain `recode' around `UCS-2' (nor `UCS-4') for now. We might
- come to that one day, but it will come out of the natural
- evolution of `recode'. It will then reflect a fact, rather than a
- preset dogma.
-
- * Why not `iconv'?
-
- The `iconv' routine and library allows for converting characters
- from an input buffer to an input buffer, synchronously advancing
- both buffer cursors. If the output buffer is not big enough to
- receive all of the conversion, the routine returns with the input
- cursor set at the position where the conversion could later be
- resumed, and the output cursor set to indicate until where the
- output buffer has been filled. Despite this scheme is simple and
- nice, the `recode' library does not offer it currently. Why not?
-
- When long sequences of decodings, stepwise recodings, and
- re-encodings are involved, as it happens in true life,
- synchronising the input buffer back to where it should have
- stopped, when the output buffer becomes full, is a difficult
- problem. Oh, we could make it simpler at the expense of loosing
- space or speed: by inserting markers between each input character
- and counting them at the output end; by processing only one
- character in a time through the whole sequence; by repeatedly
- attempting to recode various subsets of the input buffer, binary
- searching on their length until the output just fits. The
- overhead of such solutions looks fully prohibitive to me, and the
- gain very minimal. I do not see a real advantage, nowadays,
- imposing a fixed length to an output buffer. It makes things so
- much simpler and efficient to just let the output buffer size
- float a bit.
-
- Of course, if the above problem was solved, the `iconv' library
- should be easily emulated, given that `recode' has similar
- knowledge about charsets, of course. This either solved or not,
- the `iconv' program remains trivial (given similar knowledge about
- charsets). I also presume that the `genxlt' program would be easy
- too, but I do not have enough detailed specifications of it to be
- sure.
-
- A lot of years ago, `recode' was using a similar scheme, and I
- found it rather hard to manage for some cases. I rethought the
- overall structure of `recode' for getting away from that scheme,
- and never regretted it. I perceive `iconv' as an artificial
- solution which surely has some elegances and virtues, but I do not
- find it really useful as it stands: one always has to wrap `iconv'
- into something more refined, extending it for real cases. From
- past experience, I think it is unduly hard to fully implement this
- scheme. It would be awkward that we do contortions for the sole
- purpose of implementing exactly its specification, without real,
- fairly sounded reasons (other then the fact some people once
- thought it was worth standardising). It is much better to
- immediately aim for the refinement we need, without uselessly
- forcing us into the dubious detour `iconv' represents.
-
- Some may argue that if `recode' was using a comprehensive charset
- as a turning template, as discussed in a previous point, this
- would make `iconv' easier to implement. Some may be tempted to
- say that the cases which are hard to handle are not really needed,
- nor interesting, anyway. I feel and fear a bit some pressure
- wanting that `recode' be split into the part that well fits the
- `iconv' model, and the part that does not fit, considering this
- second part less important, with the idea of dropping it one of
- these days, maybe. My guess is that users of the `recode'
- library, whatever its form, would not like to have such arbitrary
- limitations. In the long run, we should not have to explain to
- our users that some recodings may not be made available just
- because they do not fit the simple model we had in mind when we
- did it. Instead, we should try to stay opened to the difficulties
- of real life. There is still a lot of complex needs for Asian
- people, say, that `recode' does not currently address, while it
- should. Not only the doors should stay open, but we should force
- them wider!
-
- ---------- Footnotes ----------
-
- (1) If strict mapping is requested, another efficient device will be
-used instead of a permutation.
-
-\1f
-File: recode.info, Node: Concept Index, Next: Option Index, Prev: Internals, Up: Top
-
-Concept Index
-*************
-
-* Menu:
-
-* abbreviated names for charsets and surfaces: Requests.
-* adding new charsets: New charsets.
-* adding new surfaces: New surfaces.
-* African charsets: African.
-* aliases: Requests.
-* alternate names for charsets and surfaces: Requests.
-* ambiguous output, error message: Errors.
-* ASCII table, recreating with recode: ASCII.
-* average number of recoding steps: Main flow.
-* bool data type: Outer level.
-* box-drawing characters: Recoding.
-* bug reports, where to send: Contributing.
-* byte order mark: UCS-2.
-* byte order swapping: Permutations.
-* caret ASCII code: CDC-NOS.
-* CDC charsets: CDC.
-* CDC Display Code, a table: Display Code.
-* chaining of charsets in a request: Requests.
-* character mnemonics, documentation: Tabular.
-* character streams, description: dump-with-names.
-* charset level functions: Charset level.
-* charset names, valid characters: Requests.
-* charset, default: Requests.
-* charset, pure: Surface overview.
-* charset, what it is: Introduction.
-* charsets for CDC machines: CDC.
-* charsets, aliases: Requests.
-* charsets, chaining in a request: Requests.
-* charsets, guessing: Listings.
-* charsets, overview: Charset overview.
-* chset tools: Tabular.
-* codepages: IBM and MS.
-* combining characters: UCS-2.
-* commutativity of surfaces: Requests.
-* contributing charsets: Contributing.
-* conversions, unavailable: Charset overview.
-* convert a subset of characters: Mixed.
-* convert strings and comments: Mixed.
-* copyright conditions, printing: Listings.
-* counting characters: count-characters.
-* CR surface, in Macintosh charsets: Apple-Mac.
-* CR-LF surface, in IBM-PC charsets: IBM-PC.
-* Ctrl-Z, discarding: End lines.
-* Cyrillic charsets: Others.
-* debugging surfaces: Test.
-* default charset: Requests.
-* description of individual characters: dump-with-names.
-* details about recoding: Recoding.
-* deviations from RFC 1345: Tabular.
-* diacritics and underlines, removing: flat.
-* diacritics, with ASCII-BS charset: ASCII-BS.
-* diaeresis: Recoding.
-* disable map filling: Reversibility.
-* double step: Main flow.
-* dumping characters: Dump.
-* dumping characters, with description: dump-with-names.
-* Easy French: Texte.
-* EBCDIC charsets: EBCDIC.
-* end of line format: End lines.
-* endiannes, changing: Permutations.
-* error handling: Errors.
-* error level threshold: Errors.
-* error messages: Errors.
-* error messages, suppressing: Reversibility.
-* exceptions to available conversions: Charset overview.
-* file sequencing: Sequencing.
-* file time stamps: Recoding.
-* filter operation: Synopsis.
-* force recoding: Reversibility.
-* French description of charsets: Listings.
-* guessing charsets: Listings.
-* Haible, Bruno: libiconv.
-* handling errors: Errors.
-* help page, printing: Listings.
-* HTML normalization: HTML.
-* IBM codepages: IBM and MS.
-* IBM graphics characters: Recoding.
-* iconv: Design.
-* iconv library: libiconv.
-* identifying subsets in charsets: Listings.
-* ignore charsets: Recoding.
-* implied surfaces: Requests.
-* impossible conversions: Charset overview.
-* information about charsets: Listings.
-* initialisation functions, outer: Outer level.
-* initialisation functions, request: Request level.
-* initialisation functions, task: Task level.
-* interface, with iconv library: libiconv.
-* intermediate charsets: Requests.
-* internal functions: Charset level.
-* internal recoding bug, error message: Errors.
-* internals: Internals.
-* invalid input, error message: Errors.
-* invocation of recode, synopsis: Synopsis.
-* irreversible recoding: Reversibility.
-* ISO 10646: Universal.
-* languages, programming: Listings.
-* LaTeX files: LaTeX.
-* Latin charsets: ISO 8859.
-* Latin-1 table, recreating with recode: ISO 8859.
-* letter case, in charset and surface names: Requests.
-* libiconv: libiconv.
-* library, iconv: libiconv.
-* listing charsets: Listings.
-* Macintosh charset: Apple-Mac.
-* map filling: Reversibility.
-* map filling, disable: Reversibility.
-* memory sequencing: Sequencing.
-* MIME encodings: MIME.
-* misuse of recoding library, error message: Errors.
-* MS-DOS charsets: IBM-PC.
-* MULE, in Emacs: Mule.
-* multiplexed charsets: Mule.
-* names of charsets and surfaces, abbreviation: Requests.
-* new charsets, how to add: New charsets.
-* new surfaces, how to add: New surfaces.
-* NeXT charsets: Micros.
-* non canonical input, error message: Errors.
-* normilise an HTML file: HTML.
-* NOS 6/12 code: CDC-NOS.
-* outer level functions: Outer level.
-* partial conversion: Mixed.
-* permutations of groups of bytes: Permutations.
-* pipe sequencing: Sequencing.
-* program_name variable: Outer level.
-* programming language support: Listings.
-* pseudo-charsets: Charset overview.
-* pure charset: Surface overview.
-* quality of recoding: Recoding.
-* recode internals: Internals.
-* recode request syntax: Requests.
-* recode use, a tutorial: Tutorial.
-* recode version, printing: Listings.
-* recode, a Macintosh port: Apple-Mac.
-* recode, and RFC 1345: Tabular.
-* recode, main flow of operation: Main flow.
-* recode, operation as filter: Synopsis.
-* recode, synopsis of invocation: Synopsis.
-* recoding details: Recoding.
-* recoding library: Library.
-* recoding path, rejection: Recoding.
-* recoding steps, statistics: Main flow.
-* removing diacritics and underlines: flat.
-* reporting bugs: Contributing.
-* request level functions: Request level.
-* request, syntax: Requests.
-* reversibility of recoding: Reversibility.
-* RFC 1345: Tabular.
-* RFC 2045: MIME.
-* sequencing: Sequencing.
-* shared library implementation: Design.
-* silent operation: Reversibility.
-* single step: Main flow.
-* source file generation: Listings.
-* stdbool.h header: Outer level.
-* strict operation: Reversibility.
-* string and comments conversion: Mixed.
-* structural surfaces: Surfaces.
-* subsets in charsets: Listings.
-* super-charsets: Mule.
-* supported programming languages: Listings.
-* suppressing diagnostic messages: Reversibility.
-* surface, what it is <1>: Surfaces.
-* surface, what it is: Introduction.
-* surfaces, aliases: Requests.
-* surfaces, commutativity: Requests.
-* surfaces, implementation in recode: Surfaces.
-* surfaces, implied: Requests.
-* surfaces, overview: Surface overview.
-* surfaces, structural: Surfaces.
-* surfaces, syntax: Requests.
-* surfaces, trees: Surfaces.
-* system detected problem, error message: Errors.
-* task execution: Task level.
-* task level functions: Task level.
-* TeX files: LaTeX.
-* Texinfo files: Texinfo.
-* threshold for error reporting: Errors.
-* time stamps of files: Recoding.
-* trivial surface: Surfaces.
-* tutorial: Tutorial.
-* unavailable conversions: Charset overview.
-* Unicode: UCS-2.
-* unknown charsets: Listings.
-* unreachable charsets: Charset overview.
-* untranslatable input, error message: Errors.
-* valid characters in charset names: Requests.
-* verbose operation: Recoding.
-* Vietnamese charsets: Vietnamese.
-
-\1f
-File: recode.info, Node: Option Index, Next: Library Index, Prev: Concept Index, Up: Top
-
-Option Index
-************
-
- This is an alphabetical list of all command-line options accepted by
-`recode'.
-
-* Menu:
-
-* --colons: Recoding.
-* --copyright: Listings.
-* --diacritics: Mixed.
-* --find-subsets: Listings.
-* --force: Reversibility.
-* --graphics: Recoding.
-* --header: Listings.
-* --help: Listings.
-* --ignore: Recoding.
-* --known=: Listings.
-* --list: Listings.
-* --quiet: Reversibility.
-* --sequence: Sequencing.
-* --silent: Reversibility.
-* --source: Mixed.
-* --strict: Reversibility.
-* --touch: Recoding.
-* --verbose: Recoding.
-* --version: Listings.
-* -c: Recoding.
-* -C: Listings.
-* -d: Mixed.
-* -f: Reversibility.
-* -g: Recoding.
-* -h: Listings.
-* -i: Sequencing.
-* -k: Listings.
-* -l: Listings.
-* -p: Sequencing.
-* -q: Reversibility.
-* -S: Mixed.
-* -s: Reversibility.
-* -t: Recoding.
-* -T: Listings.
-* -v: Recoding.
-* -x: Recoding.
-
-\1f
-File: recode.info, Node: Library Index, Next: Charset and Surface Index, Prev: Option Index, Up: Top
-
-Library Index
-*************
-
- This is an alphabetical index of important functions, data
-structures, and variables in the `recode' library.
-
-* Menu:
-
-* abort_level: Task level.
-* ascii_graphics: Request level.
-* byte_order_mark: Task level.
-* declare_step: New surfaces.
-* DEFAULT_CHARSET: Requests.
-* diacritics_only: Request level.
-* diaeresis_char: Request level.
-* error_so_far: Task level.
-* fail_level: Task level.
-* file_one_to_many: New charsets.
-* file_one_to_one: New charsets.
-* find_charset: Charset level.
-* LANG, when listing charsets: Listings.
-* LANGUAGE, when listing charsets: Listings.
-* list_all_charsets: Charset level.
-* list_concise_charset: Charset level.
-* list_full_charset: Charset level.
-* make_header_flag: Request level.
-* RECODE_AMBIGUOUS_OUTPUT: Errors.
-* recode_buffer_to_buffer: Request level.
-* recode_buffer_to_file: Request level.
-* recode_delete_outer: Outer level.
-* recode_delete_request: Request level.
-* recode_delete_task: Task level.
-* recode_file_to_buffer: Request level.
-* recode_file_to_file: Request level.
-* recode_filter_close: Task level.
-* recode_filter_close, not available: Request level.
-* recode_filter_open: Task level.
-* recode_filter_open, not available: Request level.
-* recode_format_table: Request level.
-* RECODE_INTERNAL_ERROR: Errors.
-* RECODE_INVALID_INPUT: Errors.
-* RECODE_MAXIMUM_ERROR <1>: Errors.
-* RECODE_MAXIMUM_ERROR: Task level.
-* recode_new_outer: Outer level.
-* recode_new_request: Request level.
-* recode_new_task: Task level.
-* RECODE_NO_ERROR: Errors.
-* RECODE_NOT_CANONICAL: Errors.
-* RECODE_OUTER structure: Outer level.
-* recode_perform_task: Task level.
-* recode_request structure: Request level.
-* RECODE_REQUEST structure: Request level.
-* recode_scan_request: Request level.
-* RECODE_SEQUENCE_IN_MEMORY: Task level.
-* RECODE_SEQUENCE_WITH_FILES: Task level.
-* RECODE_SEQUENCE_WITH_PIPE: Task level.
-* RECODE_STRATEGY_UNDECIDED: Task level.
-* recode_string: Request level.
-* recode_string_to_buffer: Request level.
-* recode_string_to_file: Request level.
-* RECODE_SYSTEM_ERROR: Errors.
-* RECODE_TASK structure: Task level.
-* RECODE_UNTRANSLATABLE: Errors.
-* RECODE_USER_ERROR: Errors.
-* strategy: Task level.
-* task_request structure: Task level.
-* verbose_flag: Request level.
-
translation approved by the Foundation.
\1f
-File: recode.info, Node: Charset and Surface Index, Prev: Library Index, Up: Top
+File: recode.info, Node: Design, Prev: New surfaces, Up: Internals
-Charset and Surface Index
-*************************
+Comments on the library design
+==============================
- This is an alphabetical list of all the charsets and surfaces
-supported by `recode', and their aliases.
+ * Why a shared library?
+
+ There are many different approaches to reduce system requirements
+ to handle all tables needed in the `recode' library. One of them
+ is to have the tables in an external format and only read them in
+ on demand. After having pondered this for a while, I finally
+ decided against it, mainly because it involves its own kind of
+ installation complexity, and it is not clear to me that it would
+ be as interesting as I first imagined.
+
+ It looks more efficient to see all tables and algorithms already
+ mapped into virtual memory from the start of the execution, yet
+ not loaded in actual memory, than to go through many disk accesses
+ for opening various data files once the program is already
+ started, as this would be needed with other solutions. Using a
+ shared library also has the indirect effect of making various
+ algorithms handily available, right in the same modules providing
+ the tables. This alleviates much the burden of the maintenance.
+
+ Of course, I would like to later make an exception for only a few
+ tables, built locally by users for their own particular needs once
+ `recode' is installed. `recode' should just go and fetch them.
+ But I do not perceive this as very urgent, yet useful enough to be
+ worth implementing.
+
+ Currently, all tables needed for recoding are precompiled into
+ binaries, and all these binaries are then made into a shared
+ library. As an initial step, I turned `recode' into a main
+ program and a non-shared library, this allowed me to tidy up the
+ API, get rid of all global variables, etc. It required a
+ surprising amount of program source massaging. But once this
+ cleaned enough, it was easy to use Gordon Matzigkeit's `libtool'
+ package, and take advantage of the Automake interface to neatly
+ turn the non-shared library into a shared one.
+
+ Sites linking with the `recode' library, whose system does not
+ support any form of shared libraries, might end up with bulky
+ executables. Surely, the `recode' library will have to be used
+ statically, and might not very nicely usable on such systems. It
+ seems that progress has a price for those being slow at it.
+
+ There is a locality problem I did not address yet. Currently, the
+ `recode' library takes many cycles to initialise itself, calling
+ each module in turn for it to set up associated knowledge about
+ charsets, aliases, elementary steps, recoding weights, etc.
+ _Then_, the recoding sequence is decided out of the command given.
+ I would not be surprised if initialisation was taking a
+ perceivable fraction of a second on slower machines. One thing to
+ do, most probably not right in version 3.5, but the version after,
+ would have `recode' to pre-load all tables and dump them at
+ installation time. The result would then be compiled and added to
+ the library. This would spare many initialisation cycles, but more
+ importantly, would avoid calling all library modules, scattered
+ through the virtual memory, and so, possibly causing many spurious
+ page exceptions each time the initialisation is requested, at
+ least once per program execution.
+
+ * Why not a central charset?
+
+ It would be simpler, and I would like, if something like ISO 10646
+ was used as a turning template for all charsets in `recode'. Even
+ if I think it could help to a certain extent, I'm still not fully
+ sure it would be sufficient in all cases. Moreover, some people
+ disagree about using ISO 10646 as the central charset, to the
+ point I cannot totally ignore them, and surely, `recode' is not a
+ mean for me to force my own opinions on people. I would like that
+ `recode' be practical more than dogmatic, and reflect usage more
+ than religions.
+
+ Currently, if you ask `recode' to go from CHARSET1 to CHARSET2
+ chosen at random, it is highly probable that the best path will be
+ quickly found as:
+
+ CHARSET1..`UCS-2'..CHARSET2
+
+ That is, it will almost always use the `UCS' as a trampoline
+ between charsets. However, `UCS-2' will be immediately be
+ optimised out, and CHARSET1..CHARSET2 will often be performed in a
+ single step through a permutation table generated on the fly for
+ the circumstance (1).
+
+ In those few cases where `UCS-2' is not selected as a conceptual
+ intermediate, I plan to study if it could be made so. But I guess
+ some cases will remain where `UCS-2' is not a proper choice. Even
+ if `UCS' is often the good choice, I do not intend to forcefully
+ restrain `recode' around `UCS-2' (nor `UCS-4') for now. We might
+ come to that one day, but it will come out of the natural
+ evolution of `recode'. It will then reflect a fact, rather than a
+ preset dogma.
+
+ * Why not `iconv'?
+
+ The `iconv' routine and library allows for converting characters
+ from an input buffer to an input buffer, synchronously advancing
+ both buffer cursors. If the output buffer is not big enough to
+ receive all of the conversion, the routine returns with the input
+ cursor set at the position where the conversion could later be
+ resumed, and the output cursor set to indicate until where the
+ output buffer has been filled. Despite this scheme is simple and
+ nice, the `recode' library does not offer it currently. Why not?
+
+ When long sequences of decodings, stepwise recodings, and
+ re-encodings are involved, as it happens in true life,
+ synchronising the input buffer back to where it should have
+ stopped, when the output buffer becomes full, is a difficult
+ problem. Oh, we could make it simpler at the expense of loosing
+ space or speed: by inserting markers between each input character
+ and counting them at the output end; by processing only one
+ character in a time through the whole sequence; by repeatedly
+ attempting to recode various subsets of the input buffer, binary
+ searching on their length until the output just fits. The
+ overhead of such solutions looks fully prohibitive to me, and the
+ gain very minimal. I do not see a real advantage, nowadays,
+ imposing a fixed length to an output buffer. It makes things so
+ much simpler and efficient to just let the output buffer size
+ float a bit.
+
+ Of course, if the above problem was solved, the `iconv' library
+ should be easily emulated, given that `recode' has similar
+ knowledge about charsets, of course. This either solved or not,
+ the `iconv' program remains trivial (given similar knowledge about
+ charsets). I also presume that the `genxlt' program would be easy
+ too, but I do not have enough detailed specifications of it to be
+ sure.
+
+ A lot of years ago, `recode' was using a similar scheme, and I
+ found it rather hard to manage for some cases. I rethought the
+ overall structure of `recode' for getting away from that scheme,
+ and never regretted it. I perceive `iconv' as an artificial
+ solution which surely has some elegances and virtues, but I do not
+ find it really useful as it stands: one always has to wrap `iconv'
+ into something more refined, extending it for real cases. From
+ past experience, I think it is unduly hard to fully implement this
+ scheme. It would be awkward that we do contortions for the sole
+ purpose of implementing exactly its specification, without real,
+ fairly sounded reasons (other then the fact some people once
+ thought it was worth standardising). It is much better to
+ immediately aim for the refinement we need, without uselessly
+ forcing us into the dubious detour `iconv' represents.
+
+ Some may argue that if `recode' was using a comprehensive charset
+ as a turning template, as discussed in a previous point, this
+ would make `iconv' easier to implement. Some may be tempted to
+ say that the cases which are hard to handle are not really needed,
+ nor interesting, anyway. I feel and fear a bit some pressure
+ wanting that `recode' be split into the part that well fits the
+ `iconv' model, and the part that does not fit, considering this
+ second part less important, with the idea of dropping it one of
+ these days, maybe. My guess is that users of the `recode'
+ library, whatever its form, would not like to have such arbitrary
+ limitations. In the long run, we should not have to explain to
+ our users that some recodings may not be made available just
+ because they do not fit the simple model we had in mind when we
+ did it. Instead, we should try to stay opened to the difficulties
+ of real life. There is still a lot of complex needs for Asian
+ people, say, that `recode' does not currently address, while it
+ should. Not only the doors should stay open, but we should force
+ them wider!
+
+ ---------- Footnotes ----------
+
+ (1) If strict mapping is requested, another efficient device will be
+used instead of a permutation.
+
+\1f
+File: recode.info, Node: Concept Index, Next: Option Index, Prev: Internals, Up: Top
+
+Concept Index
+*************
* Menu:
-* 037: Tabular.
-* 038: Tabular.
-* 1004: Tabular.
-* 1026: Tabular.
-* 1047: Tabular.
-* 10646: UCS-4.
-* 1129, not available: Vietnamese.
-* 1250: Tabular.
-* 1251: Tabular.
-* 1252: Tabular.
-* 1253: Tabular.
-* 1254: Tabular.
-* 1255: Tabular.
-* 1256: Tabular.
-* 1257: Tabular.
-* 1258, not available: Vietnamese.
-* 1345: Tabular.
-* 21-Permutation: Permutations.
-* 256: Tabular.
-* 273: Tabular.
-* 274: Tabular.
-* 275: Tabular.
-* 278: Tabular.
-* 280: Tabular.
-* 281: Tabular.
-* 284: Tabular.
-* 285: Tabular.
-* 290: Tabular.
-* 297: Tabular.
-* 367: Tabular.
-* 420: Tabular.
-* 423: Tabular.
-* 424: Tabular.
-* 4321-Permutation: Permutations.
-* 437: Tabular.
-* 500: Tabular.
-* 500V1: Tabular.
-* 64: MIME.
-* 819: Tabular.
-* 850 <1>: Tabular.
-* 850: libiconv.
-* 851: Tabular.
-* 852: Tabular.
-* 855: Tabular.
-* 857: Tabular.
-* 860: Tabular.
-* 861: Tabular.
-* 862: Tabular.
-* 863: Tabular.
-* 864: Tabular.
-* 865: Tabular.
-* 866: libiconv.
-* 868: Tabular.
-* 869: Tabular.
-* 870: Tabular.
-* 871: Tabular.
-* 875: Tabular.
-* 880: Tabular.
-* 891: Tabular.
-* 903: Tabular.
-* 904: Tabular.
-* 905: Tabular.
-* 912: Tabular.
-* 918: Tabular.
-* AFRFUL-102-BPI_OCIL, and aliases: African.
-* AFRFUL-103-BPI_OCIL, and aliases: African.
-* AFRL1-101-BPI_OCIL: African.
-* AFRLIN-104-BPI_OCIL: African.
-* AFRLIN-105-BPI_OCIL: African.
-* ANSI_X3.110-1983, not recognised by recode: Tabular.
-* ANSI_X3.4-1968: libiconv.
-* ANSI_X3.4-1968, aliases and source: Tabular.
-* ANSI_X3.4-1968, and its aliases: ASCII.
-* ANSI_X3.4-1986: Tabular.
-* Apple-Mac: Apple-Mac.
-* arabic: Tabular.
-* ARABIC: libiconv.
-* arabic7: Tabular.
-* ARMSCII-8: libiconv.
-* ASCII <1>: Tabular.
-* ASCII: libiconv.
-* ASCII, an alias for the ANSI_X3.4-1968 charset: ASCII.
-* ASCII-BS, and its aliases: ASCII-BS.
-* ASMO-708 <1>: Tabular.
-* ASMO-708: libiconv.
-* ASMO_449, aliases and source: Tabular.
-* AtariST: AtariST.
-* b64: MIME.
-* baltic, aliases and source: Tabular.
-* bambara: African.
-* Bang-Bang: Bang-Bang.
-* Base64: MIME.
-* BIG-5: libiconv.
-* BIG-FIVE: libiconv.
-* BIG5, aliases: libiconv.
-* BIGFIVE: libiconv.
-* BMP: UCS-2.
-* bra: African.
-* BS, an alias for ASCII-BS charset: ASCII-BS.
-* BS_4730, aliases and source: Tabular.
-* BS_viewdata, aliases and source: Tabular.
-* ca: Tabular.
-* CDC-NOS, and its aliases: CDC-NOS.
-* CHINESE: libiconv.
-* cl: End lines.
-* cn: Tabular.
-* CN: libiconv.
-* CN-BIG5: libiconv.
-* CN-GB: libiconv.
-* CN-GB-ISOIR165: libiconv.
-* combined-UCS-2: UCS-2.
-* CORK: Others.
-* count-characters: count-characters.
-* count-characters, not as before charset: Charset overview.
-* cp-ar: Tabular.
-* cp-gr: Tabular.
-* cp-hu: Tabular.
-* cp-is: Tabular.
-* CP037: Tabular.
-* CP038: Tabular.
-* CP1004: Tabular.
-* CP1026: Tabular.
-* CP1047: Tabular.
-* CP1129, not available: Vietnamese.
-* CP1133, aliases: libiconv.
-* CP1250, aliases: libiconv.
-* CP1250, aliases and source: Tabular.
-* CP1251, aliases: libiconv.
-* CP1251, aliases and source: Tabular.
-* CP1252, aliases: libiconv.
-* CP1252, aliases and source: Tabular.
-* CP1253, aliases: libiconv.
-* CP1253, aliases and source: Tabular.
-* CP1254, aliases: libiconv.
-* CP1254, aliases and source: Tabular.
-* CP1255, aliases: libiconv.
-* CP1255, aliases and source: Tabular.
-* CP1256, aliases: libiconv.
-* CP1256, aliases and source: Tabular.
-* CP1257, aliases: libiconv.
-* CP1257, aliases and source: Tabular.
-* CP1258, aliases: libiconv.
-* CP1258, not available: Vietnamese.
-* CP1361: libiconv.
-* CP256: Tabular.
-* CP273: Tabular.
-* CP274: Tabular.
-* CP275: Tabular.
-* CP278: Tabular.
-* CP280: Tabular.
-* CP281: Tabular.
-* CP284: Tabular.
-* CP285: Tabular.
-* CP290: Tabular.
-* CP297: Tabular.
-* cp367: ASCII.
-* CP367 <1>: Tabular.
-* CP367: libiconv.
-* CP420: Tabular.
-* CP423: Tabular.
-* CP424: Tabular.
-* CP437: Tabular.
-* CP500: Tabular.
-* CP819 <1>: Tabular.
-* CP819: libiconv.
-* CP850: Tabular.
-* CP850, aliases: libiconv.
-* CP851: Tabular.
-* CP852: Tabular.
-* CP855: Tabular.
-* CP857: Tabular.
-* CP860: Tabular.
-* CP861: Tabular.
-* CP862: Tabular.
-* CP863: Tabular.
-* CP864: Tabular.
-* CP865: Tabular.
-* CP866, aliases: libiconv.
-* CP868: Tabular.
-* CP869: Tabular.
-* CP870: Tabular.
-* CP871: Tabular.
-* CP874, aliases: libiconv.
-* CP875: Tabular.
-* CP880: Tabular.
-* CP891: Tabular.
-* CP903: Tabular.
-* CP904: Tabular.
-* CP905: Tabular.
-* CP912: Tabular.
-* CP918: Tabular.
-* CP932: libiconv.
-* CP936: libiconv.
-* CP949, aliases: libiconv.
-* CP950: libiconv.
-* CR, a surface: End lines.
-* CR-LF, a surface: End lines.
-* csa7-1: Tabular.
-* csa7-2: Tabular.
-* CSA_Z243.4-1985-1, aliases and source: Tabular.
-* CSA_Z243.4-1985-2, aliases and source: Tabular.
-* CSA_Z243.4-1985-gr, aliases and source: Tabular.
-* csASCII: libiconv.
-* csBig5: libiconv.
-* csEUCKR: libiconv.
-* csEUCPkdFmtJapanese: libiconv.
-* csEUCTW: libiconv.
-* csGB2312: libiconv.
-* csHalfWidthKatakana: libiconv.
-* csHPRoman8: libiconv.
-* csIBM866: libiconv.
-* csISO14JISC6220ro: libiconv.
-* csISO159JISX02121990: libiconv.
-* csISO2022CN: libiconv.
-* csISO2022JP: libiconv.
-* csISO2022JP2: libiconv.
-* csISO2022KR: libiconv.
-* csISO57GB1988: libiconv.
-* csISO58GB231280: libiconv.
-* csISO87JISX0208: libiconv.
-* csISOLatin1: libiconv.
-* csISOLatin2: libiconv.
-* csISOLatin3: libiconv.
-* csISOLatin4: libiconv.
-* csISOLatin5: libiconv.
-* csISOLatin6: libiconv.
-* csISOLatinArabic: libiconv.
-* csISOLatinCyrillic: libiconv.
-* csISOLatinGreek: libiconv.
-* csISOLatinHebrew: libiconv.
-* csKOI8R: libiconv.
-* csKSC56011987: libiconv.
-* csMacintosh: libiconv.
-* CSN_369103, aliases and source: Tabular.
-* csPC850Multilingual: libiconv.
-* csShiftJIS: libiconv.
-* csUCS4: libiconv.
-* csUnicode: libiconv.
-* csUnicode11: libiconv.
-* csUnicode11UTF7: libiconv.
-* csVISCII: libiconv.
-* cuba: Tabular.
-* CWI, aliases and source: Tabular.
-* CWI-2: Tabular.
-* cyrillic: Tabular.
-* CYRILLIC: libiconv.
-* d1: Dump.
-* d2: Dump.
-* d4: Dump.
-* data, a special charset: Surfaces.
-* data, not with charsets: Charset overview.
-* de: Tabular.
-* dec: Tabular.
-* DEC-MCS, aliases and source: Tabular.
-* Decimal-1: Dump.
-* Decimal-2: Dump.
-* Decimal-4: Dump.
-* DIN_66003, aliases and source: Tabular.
-* dk: Tabular.
-* dk-us, not recognised by recode: Tabular.
-* dos: IBM-PC.
-* DS2089: Tabular.
-* DS_2089, aliases and source: Tabular.
-* dump-with-names: dump-with-names.
-* dump-with-names, not as before charset: Charset overview.
-* e13b: Tabular.
-* EBCDIC, a charset: EBCDIC.
-* EBCDIC-AT-DE, aliases and source: Tabular.
-* EBCDIC-AT-DE-A, aliases and source: Tabular.
-* EBCDIC-BE: Tabular.
-* EBCDIC-BR: Tabular.
-* EBCDIC-CA-FR, aliases and source: Tabular.
-* EBCDIC-CCC: EBCDIC.
-* ebcdic-cp-ar1: Tabular.
-* ebcdic-cp-ar2: Tabular.
-* ebcdic-cp-be: Tabular.
-* ebcdic-cp-ca: Tabular.
-* ebcdic-cp-ch: Tabular.
-* EBCDIC-CP-DK: Tabular.
-* ebcdic-cp-es: Tabular.
-* ebcdic-cp-fi: Tabular.
-* ebcdic-cp-fr: Tabular.
-* ebcdic-cp-gb: Tabular.
-* ebcdic-cp-gr: Tabular.
-* ebcdic-cp-he: Tabular.
-* ebcdic-cp-is: Tabular.
-* ebcdic-cp-it: Tabular.
-* ebcdic-cp-nl: Tabular.
-* EBCDIC-CP-NO: Tabular.
-* ebcdic-cp-roece: Tabular.
-* ebcdic-cp-se: Tabular.
-* ebcdic-cp-tr: Tabular.
-* ebcdic-cp-us: Tabular.
-* ebcdic-cp-wt: Tabular.
-* ebcdic-cp-yu: Tabular.
-* EBCDIC-Cyrillic: Tabular.
-* EBCDIC-DK-NO, aliases and source: Tabular.
-* EBCDIC-DK-NO-A, aliases and source: Tabular.
-* EBCDIC-ES, aliases and source: Tabular.
-* EBCDIC-ES-A, aliases and source: Tabular.
-* EBCDIC-ES-S, aliases and source: Tabular.
-* EBCDIC-FI-SE, aliases and source: Tabular.
-* EBCDIC-FI-SE-A, aliases and source: Tabular.
-* EBCDIC-FR, aliases and source: Tabular.
-* EBCDIC-Greek: Tabular.
-* EBCDIC-IBM: EBCDIC.
-* EBCDIC-INT: Tabular.
-* EBCDIC-INT1: Tabular.
-* EBCDIC-IS-FRISS, aliases and source: Tabular.
-* EBCDIC-IT, aliases and source: Tabular.
-* EBCDIC-JP-E: Tabular.
-* EBCDIC-JP-kana: Tabular.
-* EBCDIC-PT, aliases and source: Tabular.
-* EBCDIC-UK, aliases and source: Tabular.
-* EBCDIC-US, aliases and source: Tabular.
-* ECMA-113: Tabular.
-* ECMA-113(1986): Tabular.
-* ECMA-114 <1>: Tabular.
-* ECMA-114: libiconv.
-* ECMA-118 <1>: Tabular.
-* ECMA-118: libiconv.
-* ECMA-cyrillic, aliases and source: Tabular.
-* ELOT_928 <1>: Tabular.
-* ELOT_928: libiconv.
-* ES, aliases and source: Tabular.
-* ES2, aliases and source: Tabular.
-* EUC-CN, aliases: libiconv.
-* EUC-JP, aliases: libiconv.
-* EUC-KR, aliases: libiconv.
-* EUC-TW, aliases: libiconv.
-* EUC_CN: libiconv.
-* EUC_JP: libiconv.
-* EUC_KR: libiconv.
-* EUC_TW: libiconv.
-* EUCCN: libiconv.
-* EUCJP: libiconv.
-* EUCKR: libiconv.
-* EUCTW: libiconv.
-* ewondo: African.
-* Extended_UNIX_Code_Packed_Format_for_Japanese: libiconv.
-* FI: Tabular.
-* flat, a charset: flat.
-* flat, not as before charset: Charset overview.
-* fr: Tabular.
-* friss: Tabular.
-* FSS_UTF: UTF-8.
-* fulfude: African.
-* gb: Tabular.
-* GB2312: libiconv.
-* GB2312.1980-0: libiconv.
-* GB_1988-80, aliases: libiconv.
-* GB_1988-80, aliases and source: Tabular.
-* GB_2312-80, aliases: libiconv.
-* GB_2312-80, not recognised by recode: Tabular.
-* GBK, aliases: libiconv.
-* Georgian-Academy: libiconv.
-* Georgian-PS: libiconv.
-* GOST_19768-74: Tabular.
-* GOST_19768-87, aliases and source: Tabular.
-* greek: Tabular.
-* GREEK: libiconv.
-* greek-ccitt, aliases and source: Tabular.
-* greek7, aliases and source: Tabular.
-* greek7-old, aliases and source: Tabular.
-* greek8: Tabular.
-* GREEK8: libiconv.
-* hebrew: Tabular.
-* HEBREW: libiconv.
-* Hexadecimal-1: Dump.
-* Hexadecimal-2: Dump.
-* Hexadecimal-4: Dump.
-* HP-ROMAN8, aliases: libiconv.
-* hp-roman8, aliases and source: Tabular.
-* HTML, a charset: HTML.
-* hu: Tabular.
-* HZ, aliases: libiconv.
-* HZ-GB-2312: libiconv.
-* IBM-CP1133: libiconv.
-* IBM-PC: IBM-PC.
-* IBM-PC charset, and CR-LF surface: Requests.
-* IBM037, aliases and source: Tabular.
-* IBM038, aliases and source: Tabular.
-* IBM1004, aliases and source: Tabular.
-* IBM1026, aliases and source: Tabular.
-* IBM1047, aliases and source: Tabular.
-* IBM256, aliases and source: Tabular.
-* IBM273, aliases and source: Tabular.
-* IBM274, aliases and source: Tabular.
-* IBM275, aliases and source: Tabular.
-* IBM277, aliases and source: Tabular.
-* IBM278, aliases and source: Tabular.
-* IBM280, aliases and source: Tabular.
-* IBM281, aliases and source: Tabular.
-* IBM284, aliases and source: Tabular.
-* IBM285, aliases and source: Tabular.
-* IBM290, aliases and source: Tabular.
-* IBM297, aliases and source: Tabular.
-* IBM367 <1>: ASCII.
-* IBM367 <2>: Tabular.
-* IBM367: libiconv.
-* IBM420, aliases and source: Tabular.
-* IBM423, aliases and source: Tabular.
-* IBM424, aliases and source: Tabular.
-* ibm437: IBM-PC.
-* IBM437, aliases and source: Tabular.
-* IBM500, aliases and source: Tabular.
-* IBM819 <1>: Tabular.
-* IBM819: libiconv.
-* IBM819, and CR-LF surface: IBM-PC.
-* IBM850: libiconv.
-* IBM850, aliases and source: Tabular.
-* IBM851, aliases and source: Tabular.
-* IBM852, aliases and source: Tabular.
-* IBM855, aliases and source: Tabular.
-* IBM857, aliases and source: Tabular.
-* IBM860, aliases and source: Tabular.
-* IBM861, aliases and source: Tabular.
-* IBM862, aliases and source: Tabular.
-* IBM863, aliases and source: Tabular.
-* IBM864, aliases and source: Tabular.
-* IBM865, aliases and source: Tabular.
-* IBM866: libiconv.
-* IBM868, aliases and source: Tabular.
-* IBM869, aliases and source: Tabular.
-* IBM870, aliases and source: Tabular.
-* IBM871, aliases and source: Tabular.
-* IBM875, aliases and source: Tabular.
-* IBM880, aliases and source: Tabular.
-* IBM891, aliases and source: Tabular.
-* IBM903, aliases and source: Tabular.
-* IBM904, aliases and source: Tabular.
-* IBM905, aliases and source: Tabular.
-* IBM912: Tabular.
-* IBM918, aliases and source: Tabular.
-* Icon-QNX, and aliases: Icon-QNX.
-* IEC_P27-1, aliases and source: Tabular.
-* INIS, aliases and source: Tabular.
-* INIS-8, aliases and source: Tabular.
-* INIS-cyrillic, aliases and source: Tabular.
-* INVARIANT, aliases and source: Tabular.
-* irv: Tabular.
-* ISO-10646-UCS-2: libiconv.
-* ISO-10646-UCS-2, and aliases: UCS-2.
-* ISO-10646-UCS-4: libiconv.
-* ISO-10646-UCS-4, and aliases: UCS-4.
-* ISO-2022-CN, aliases: libiconv.
-* ISO-2022-CN-EXT: libiconv.
-* ISO-2022-JP, aliases: libiconv.
-* ISO-2022-JP-1: libiconv.
-* ISO-2022-JP-2, aliases: libiconv.
-* ISO-2022-KR, aliases: libiconv.
-* ISO-8859-1, aliases: libiconv.
-* ISO-8859-1, aliases and source: Tabular.
-* ISO-8859-10, aliases: libiconv.
-* ISO-8859-10, aliases and source: Tabular.
-* ISO-8859-13, aliases: libiconv.
-* ISO-8859-13, aliases and source: Tabular.
-* ISO-8859-14, aliases: libiconv.
-* ISO-8859-14, aliases and source: Tabular.
-* ISO-8859-15, aliases: libiconv.
-* ISO-8859-15, aliases and source: Tabular.
-* ISO-8859-16, aliases: libiconv.
-* ISO-8859-2, aliases: libiconv.
-* ISO-8859-2, aliases and source: Tabular.
-* ISO-8859-3, aliases: libiconv.
-* ISO-8859-3, aliases and source: Tabular.
-* ISO-8859-4, aliases: libiconv.
-* ISO-8859-4, aliases and source: Tabular.
-* ISO-8859-5, aliases: libiconv.
-* ISO-8859-5, aliases and source: Tabular.
-* ISO-8859-6, aliases: libiconv.
-* ISO-8859-6, aliases and source: Tabular.
-* ISO-8859-7, aliases: libiconv.
-* ISO-8859-7, aliases and source: Tabular.
-* ISO-8859-8, aliases: libiconv.
-* ISO-8859-8, aliases and source: Tabular.
-* ISO-8859-9, aliases: libiconv.
-* ISO-8859-9, aliases and source: Tabular.
-* iso-baltic: Tabular.
-* iso-celtic: Tabular.
-* iso-ir-10: Tabular.
-* iso-ir-100: Tabular.
-* ISO-IR-100: libiconv.
-* iso-ir-101: Tabular.
-* ISO-IR-101: libiconv.
-* iso-ir-102: Tabular.
-* iso-ir-109: Tabular.
-* ISO-IR-109: libiconv.
-* iso-ir-11: Tabular.
-* iso-ir-110: Tabular.
-* ISO-IR-110: libiconv.
-* iso-ir-111: Tabular.
-* iso-ir-121: Tabular.
-* iso-ir-122: Tabular.
-* iso-ir-123: Tabular.
-* iso-ir-126: Tabular.
-* ISO-IR-126: libiconv.
-* iso-ir-127: Tabular.
-* ISO-IR-127: libiconv.
-* iso-ir-13: Tabular.
-* iso-ir-138: Tabular.
-* ISO-IR-138: libiconv.
-* iso-ir-139: Tabular.
-* iso-ir-14: Tabular.
-* ISO-IR-14: libiconv.
-* iso-ir-141: Tabular.
-* iso-ir-143: Tabular.
-* iso-ir-144: Tabular.
-* ISO-IR-144: libiconv.
-* iso-ir-146: Tabular.
-* iso-ir-147: Tabular.
-* iso-ir-148: Tabular.
-* ISO-IR-148: libiconv.
-* ISO-IR-149: libiconv.
-* iso-ir-15: Tabular.
-* iso-ir-150: Tabular.
-* iso-ir-151: Tabular.
-* iso-ir-152: Tabular.
-* iso-ir-153: Tabular.
-* iso-ir-154: Tabular.
-* iso-ir-155: Tabular.
-* iso-ir-157: Tabular.
-* ISO-IR-157: libiconv.
-* iso-ir-158: Tabular.
-* ISO-IR-159: libiconv.
-* iso-ir-16: Tabular.
-* ISO-IR-165, aliases: libiconv.
-* ISO-IR-166: libiconv.
-* iso-ir-17: Tabular.
-* iso-ir-170: Tabular.
-* iso-ir-179: Tabular.
-* ISO-IR-179: libiconv.
-* iso-ir-179a: Tabular.
-* iso-ir-18: Tabular.
-* iso-ir-19: Tabular.
-* iso-ir-199: Tabular.
-* ISO-IR-199: libiconv.
-* iso-ir-2: Tabular.
-* iso-ir-203: Tabular.
-* ISO-IR-203: libiconv.
-* iso-ir-21: Tabular.
-* ISO-IR-226: libiconv.
-* iso-ir-25: Tabular.
-* iso-ir-27: Tabular.
-* iso-ir-37: Tabular.
-* iso-ir-4: Tabular.
-* iso-ir-47: Tabular.
-* iso-ir-49: Tabular.
-* iso-ir-50: Tabular.
-* iso-ir-51: Tabular.
-* iso-ir-54: Tabular.
-* iso-ir-55: Tabular.
-* iso-ir-57: Tabular.
-* ISO-IR-57: libiconv.
-* ISO-IR-58: libiconv.
-* iso-ir-6 <1>: ASCII.
-* iso-ir-6: Tabular.
-* ISO-IR-6: libiconv.
-* iso-ir-60: Tabular.
-* iso-ir-61: Tabular.
-* iso-ir-69: Tabular.
-* iso-ir-8-1: Tabular.
-* iso-ir-8-2: Tabular.
-* iso-ir-84: Tabular.
-* iso-ir-85: Tabular.
-* iso-ir-86: Tabular.
-* ISO-IR-87: libiconv.
-* iso-ir-88: Tabular.
-* iso-ir-89: Tabular.
-* iso-ir-9-1: Tabular.
-* iso-ir-9-2: Tabular.
-* iso-ir-90, not recognised by recode: Tabular.
-* iso-ir-93: Tabular.
-* iso-ir-94: Tabular.
-* iso-ir-95: Tabular.
-* iso-ir-96: Tabular.
-* iso-ir-98: Tabular.
-* ISO2022CN: libiconv.
-* ISO2022JP: libiconv.
-* ISO2022KR: libiconv.
-* ISO646-CA: Tabular.
-* ISO646-CA2: Tabular.
-* ISO646-CN <1>: Tabular.
-* ISO646-CN: libiconv.
-* ISO646-CU: Tabular.
-* ISO646-DE: Tabular.
-* ISO646-DK: Tabular.
-* ISO646-ES: Tabular.
-* ISO646-ES2: Tabular.
-* ISO646-FI: Tabular.
-* ISO646-FR: Tabular.
-* ISO646-FR1: Tabular.
-* ISO646-GB: Tabular.
-* ISO646-HU: Tabular.
-* ISO646-IT: Tabular.
-* ISO646-JP <1>: Tabular.
-* ISO646-JP: libiconv.
-* ISO646-JP-OCR-B: Tabular.
-* ISO646-KR: Tabular.
-* ISO646-NO: Tabular.
-* ISO646-NO2: Tabular.
-* ISO646-PT: Tabular.
-* ISO646-PT2: Tabular.
-* ISO646-SE: Tabular.
-* ISO646-SE2: Tabular.
-* ISO646-US <1>: Tabular.
-* ISO646-US: libiconv.
-* ISO646-YU: Tabular.
-* ISO646.1991-IRV: libiconv.
-* ISO8859-1 <1>: Tabular.
-* ISO8859-1: libiconv.
-* ISO8859-10 <1>: Tabular.
-* ISO8859-10: libiconv.
-* ISO8859-13: Tabular.
-* ISO8859-14: Tabular.
-* ISO8859-15: Tabular.
-* ISO8859-2 <1>: Tabular.
-* ISO8859-2: libiconv.
-* ISO8859-3 <1>: Tabular.
-* ISO8859-3: libiconv.
-* ISO8859-4 <1>: Tabular.
-* ISO8859-4: libiconv.
-* ISO8859-5 <1>: Tabular.
-* ISO8859-5: libiconv.
-* ISO8859-6 <1>: Tabular.
-* ISO8859-6: libiconv.
-* ISO8859-7 <1>: Tabular.
-* ISO8859-7: libiconv.
-* ISO8859-8 <1>: Tabular.
-* ISO8859-8: libiconv.
-* ISO8859-9 <1>: Tabular.
-* ISO8859-9: libiconv.
-* ISO8859_1: libiconv.
-* ISO8859_2: libiconv.
-* ISO8859_3: libiconv.
-* ISO8859_4: libiconv.
-* ISO8859_5: libiconv.
-* ISO8859_6: libiconv.
-* ISO8859_7: libiconv.
-* ISO8859_8: libiconv.
-* ISO8859_9: libiconv.
-* ISO_10367-box, aliases and source: Tabular.
-* ISO_10646: UCS-4.
-* ISO_2033-1983, aliases and source: Tabular.
-* ISO_5427(1981): Tabular.
-* ISO_5427, aliases and source: Tabular.
-* ISO_5427-ext, aliases and source: Tabular.
-* ISO_5428(1980): Tabular.
-* ISO_5428, aliases and source: Tabular.
-* ISO_646.basic(1983): Tabular.
-* ISO_646.basic, aliases and source: Tabular.
-* ISO_646.irv(1983): Tabular.
-* ISO_646.irv(1991): Tabular.
-* ISO_646.IRV(1991): libiconv.
-* ISO_646.irv, aliases and source: Tabular.
-* ISO_6937-2-25, aliases and source: Tabular.
-* ISO_6937-2-add, not recognised by recode: Tabular.
-* ISO_8859-1 <1>: Tabular.
-* ISO_8859-1: libiconv.
-* ISO_8859-1(1987) <1>: Tabular.
-* ISO_8859-1(1987): libiconv.
-* ISO_8859-10 <1>: Tabular.
-* ISO_8859-10: libiconv.
-* ISO_8859-10(1992): libiconv.
-* ISO_8859-10(1993): Tabular.
-* ISO_8859-13 <1>: Tabular.
-* ISO_8859-13: libiconv.
-* ISO_8859-13(1998): Tabular.
-* ISO_8859-14 <1>: Tabular.
-* ISO_8859-14: libiconv.
-* ISO_8859-14(1998) <1>: Tabular.
-* ISO_8859-14(1998): libiconv.
-* ISO_8859-15 <1>: Tabular.
-* ISO_8859-15: libiconv.
-* ISO_8859-15(1998) <1>: Tabular.
-* ISO_8859-15(1998): libiconv.
-* ISO_8859-16: libiconv.
-* ISO_8859-16(2000): libiconv.
-* ISO_8859-2 <1>: Tabular.
-* ISO_8859-2: libiconv.
-* ISO_8859-2(1987) <1>: Tabular.
-* ISO_8859-2(1987): libiconv.
-* ISO_8859-3 <1>: Tabular.
-* ISO_8859-3: libiconv.
-* ISO_8859-3(1988) <1>: Tabular.
-* ISO_8859-3(1988): libiconv.
-* ISO_8859-4 <1>: Tabular.
-* ISO_8859-4: libiconv.
-* ISO_8859-4(1988) <1>: Tabular.
-* ISO_8859-4(1988): libiconv.
-* ISO_8859-5 <1>: Tabular.
-* ISO_8859-5: libiconv.
-* ISO_8859-5(1988) <1>: Tabular.
-* ISO_8859-5(1988): libiconv.
-* ISO_8859-6 <1>: Tabular.
-* ISO_8859-6: libiconv.
-* ISO_8859-6(1987) <1>: Tabular.
-* ISO_8859-6(1987): libiconv.
-* ISO_8859-7 <1>: Tabular.
-* ISO_8859-7: libiconv.
-* ISO_8859-7(1987) <1>: Tabular.
-* ISO_8859-7(1987): libiconv.
-* ISO_8859-8 <1>: Tabular.
-* ISO_8859-8: libiconv.
-* ISO_8859-8(1988) <1>: Tabular.
-* ISO_8859-8(1988): libiconv.
-* ISO_8859-9 <1>: Tabular.
-* ISO_8859-9: libiconv.
-* ISO_8859-9(1989) <1>: Tabular.
-* ISO_8859-9(1989): libiconv.
-* ISO_8859-supp, aliases and source: Tabular.
-* ISO_9036: Tabular.
-* isoir91: Tabular.
-* isoir92: Tabular.
-* IT, aliases and source: Tabular.
-* JAVA: libiconv.
-* JIS0201: libiconv.
-* JIS0208: libiconv.
-* JIS0212: libiconv.
-* JIS_C6220-1969: Tabular.
-* JIS_C6220-1969-jp, aliases and source: Tabular.
-* JIS_C6220-1969-RO, aliases: libiconv.
-* JIS_C6220-1969-ro, aliases and source: Tabular.
-* JIS_C6226-1978, not recognised by recode: Tabular.
-* JIS_C6229-1984-a, aliases and source: Tabular.
-* JIS_C6229-1984-b, aliases and source: Tabular.
-* JIS_C6229-1984-b-add, aliases and source: Tabular.
-* JIS_C6229-1984-hand, aliases and source: Tabular.
-* JIS_C6229-1984-hand-add, aliases and source: Tabular.
-* JIS_C6229-1984-kana, aliases and source: Tabular.
-* JIS_X0201, aliases: libiconv.
-* JIS_X0201, aliases and source: Tabular.
-* JIS_X0208, aliases: libiconv.
-* JIS_X0208-1983: libiconv.
-* JIS_X0208-1990: libiconv.
-* JIS_X0212, aliases: libiconv.
-* JIS_X0212-1990: libiconv.
-* JIS_X0212-1990, not recognised by recode: Tabular.
-* JIS_X0212.1990-0: libiconv.
-* JISX0201-1976: libiconv.
-* JISX0201.1976-0: libiconv.
-* JISX0208.1983-0: libiconv.
-* JISX0208.1990-0: libiconv.
-* JISX0212.1990-0: libiconv.
-* JOHAB, aliases: libiconv.
-* jp: Tabular.
-* JP: libiconv.
-* jp-ocr-a: Tabular.
-* jp-ocr-b: Tabular.
-* jp-ocr-b-add: Tabular.
-* jp-ocr-hand: Tabular.
-* jp-ocr-hand-add: Tabular.
-* js: Tabular.
-* JUS_I.B1.002, aliases and source: Tabular.
-* JUS_I.B1.003-mac, aliases and source: Tabular.
-* JUS_I.B1.003-serb, aliases and source: Tabular.
-* Kamenicky: Others.
-* katakana: Tabular.
-* KEYBCS2: Others.
-* KOI-7, aliases and source: Tabular.
-* KOI-8, aliases and source: Tabular.
-* KOI-8_CS2: Others.
-* KOI-8_L2: Tabular.
-* KOI8-R, aliases: libiconv.
-* KOI8-R, aliases and source: Tabular.
-* KOI8-RU: libiconv.
-* KOI8-RU, aliases and source: Tabular.
-* KOI8-U: libiconv.
-* KOI8-U, aliases and source: Tabular.
-* koi8l2: Tabular.
-* KOREAN: libiconv.
-* KS_C_5601-1987: libiconv.
-* KS_C_5601-1987, not recognised by recode: Tabular.
-* KS_C_5601-1989: libiconv.
-* KSC5601.1987-0: libiconv.
-* KSC5636, aliases and source: Tabular.
-* KSC_5601, aliases: libiconv.
-* KSX1001(1992): libiconv.
-* l1: Tabular.
-* L1: libiconv.
-* l2: Tabular.
-* L2: libiconv.
-* l3: Tabular.
-* L3: libiconv.
-* l4: Tabular.
-* L4: libiconv.
-* l5: Tabular.
-* L5: libiconv.
-* L6 <1>: Tabular.
-* L6: libiconv.
-* l7: Tabular.
-* L7: libiconv.
-* l8: Tabular.
-* L8: libiconv.
-* l9: Tabular.
-* lap: Tabular.
-* LaTeX, a charset: LaTeX.
-* Latin-1: ISO 8859.
-* latin-greek, aliases and source: Tabular.
-* Latin-greek-1, aliases and source: Tabular.
-* latin-lap: Tabular.
-* latin1: Tabular.
-* LATIN1: libiconv.
-* latin1-2-5: Tabular.
-* latin2: Tabular.
-* LATIN2: libiconv.
-* latin3: Tabular.
-* LATIN3: libiconv.
-* latin4: Tabular.
-* LATIN4: libiconv.
-* latin5: Tabular.
-* LATIN5: libiconv.
-* latin6: Tabular.
-* LATIN6: libiconv.
-* latin7: Tabular.
-* LATIN7: libiconv.
-* latin8: Tabular.
-* LATIN8: libiconv.
-* latin9: Tabular.
+* abbreviated names for charsets and surfaces: Requests.
+* adding new charsets: New charsets.
+* adding new surfaces: New surfaces.
+* African charsets: African.
+* aliases: Requests.
+* alternate names for charsets and surfaces: Requests.
+* ambiguous output, error message: Errors.
+* ASCII table, recreating with recode: ASCII.
+* average number of recoding steps: Main flow.
+* bool data type: Outer level.
+* box-drawing characters: Recoding.
+* bug reports, where to send: Contributing.
+* byte order mark: UCS-2.
+* byte order swapping: Permutations.
+* caret ASCII code: CDC-NOS.
+* CDC charsets: CDC.
+* CDC Display Code, a table: Display Code.
+* chaining of charsets in a request: Requests.
+* character entities: HTML.
+* character entity references: HTML.
+* character mnemonics, documentation: Tabular.
+* character streams, description: dump-with-names.
+* charset level functions: Charset level.
+* charset names, valid characters: Requests.
+* charset, default: Requests.
+* charset, pure: Surface overview.
+* charset, what it is: Introduction.
+* charsets for CDC machines: CDC.
+* charsets, aliases: Requests.
+* charsets, chaining in a request: Requests.
+* charsets, guessing: Listings.
+* charsets, overview: Charset overview.
+* chset tools: Tabular.
+* codepages: IBM and MS.
+* combining characters: UCS-2.
+* commutativity of surfaces: Requests.
+* contributing charsets: Contributing.
+* conversions, unavailable: Charset overview.
+* convert a subset of characters: Mixed.
+* convert strings and comments: Mixed.
+* copyright conditions, printing: Listings.
+* counting characters: count-characters.
+* CR surface, in Macintosh charsets: Apple-Mac.
+* CR-LF surface, in IBM-PC charsets: IBM-PC.
+* Ctrl-Z, discarding: End lines.
+* Cyrillic charsets: Others.
+* debugging surfaces: Test.
+* default charset: Requests.
+* description of individual characters: dump-with-names.
+* details about recoding: Recoding.
+* deviations from RFC 1345: Tabular.
+* diacritics and underlines, removing: flat.
+* diacritics, with ASCII-BS charset: ASCII-BS.
+* diaeresis: Recoding.
+* disable map filling: Reversibility.
+* double step: Main flow.
+* dumping characters: Dump.
+* dumping characters, with description: dump-with-names.
+* Easy French: Texte.
+* EBCDIC charsets: EBCDIC.
+* end of line format: End lines.
+* endiannes, changing: Permutations.
+* entities: HTML.
+* error handling: Errors.
+* error level threshold: Errors.
+* error messages: Errors.
+* error messages, suppressing: Reversibility.
+* exceptions to available conversions: Charset overview.
+* file sequencing: Sequencing.
+* file time stamps: Recoding.
+* filter operation: Synopsis.
+* force recoding: Reversibility.
+* French description of charsets: Listings.
+* guessing charsets: Listings.
+* Haible, Bruno: libiconv.
+* handling errors: Errors.
+* help page, printing: Listings.
+* HTML: HTML.
+* HTML normalization: HTML.
+* IBM codepages: IBM and MS.
+* IBM graphics characters: Recoding.
+* iconv: Design.
+* iconv library: libiconv.
+* identifying subsets in charsets: Listings.
+* ignore charsets: Recoding.
+* implied surfaces: Requests.
+* impossible conversions: Charset overview.
+* information about charsets: Listings.
+* initialisation functions, outer: Outer level.
+* initialisation functions, request: Request level.
+* initialisation functions, task: Task level.
+* interface, with iconv library: libiconv.
+* intermediate charsets: Requests.
+* internal functions: Charset level.
+* internal recoding bug, error message: Errors.
+* internals: Internals.
+* invalid input, error message: Errors.
+* invocation of recode, synopsis: Synopsis.
+* irreversible recoding: Reversibility.
+* ISO 10646: Universal.
+* languages, programming: Listings.
+* LaTeX files: LaTeX.
+* Latin charsets: ISO 8859.
+* Latin-1 table, recreating with recode: ISO 8859.
+* letter case, in charset and surface names: Requests.
* libiconv: libiconv.
-* libiconv, not in requests: Charset overview.
-* lin: African.
-* lingala: African.
-* ltex: LaTeX.
-* mac <1>: Apple-Mac.
-* mac: Tabular.
-* MAC: libiconv.
-* mac-is, aliases and source: Tabular.
-* MacArabic: libiconv.
-* macce <1>: Apple-Mac.
-* macce: Tabular.
-* MacCentralEurope: libiconv.
-* MacCroatian: libiconv.
-* MacCyrillic: libiconv.
-* macedonian: Tabular.
-* MacGreek: libiconv.
-* MacHebrew: libiconv.
-* MacIceland: libiconv.
-* Macintosh: libiconv.
-* macintosh, a charset, and its aliases: Apple-Mac.
-* macintosh, aliases and source: Tabular.
-* macintosh_ce, aliases and source: Tabular.
-* macintosh_ce, and its aliases: Apple-Mac.
-* MacRoman, aliases: libiconv.
-* MacRomania: libiconv.
-* MacThai: libiconv.
-* MacTurkish: libiconv.
-* MacUkraine: libiconv.
-* mnemonic, an alias for RFC1345 charset: Tabular.
-* ms-ansi: Tabular.
-* MS-ANSI: libiconv.
-* ms-arab: Tabular.
-* MS-ARAB: libiconv.
-* ms-cyrl: Tabular.
-* MS-CYRL: libiconv.
-* ms-ee: Tabular.
-* MS-EE: libiconv.
-* ms-greek: Tabular.
-* MS-GREEK: libiconv.
-* ms-hebr: Tabular.
-* MS-HEBR: libiconv.
-* ms-turk: Tabular.
-* MS-TURK: libiconv.
-* MS_KANJI: libiconv.
-* MSDOS: IBM-PC.
-* MSZ_7795.3, aliases and source: Tabular.
-* Mule, a charset: Mule.
-* MuleLao-1: libiconv.
-* NATS-DANO, aliases and source: Tabular.
-* NATS-DANO-ADD, aliases and source: Tabular.
-* NATS-SEFI, aliases and source: Tabular.
-* NATS-SEFI-ADD, aliases and source: Tabular.
-* NC_NC00-10(81): Tabular.
-* NC_NC00-10, aliases and source: Tabular.
-* next: Tabular.
-* NEXTSTEP: libiconv.
-* NeXTSTEP, aliases and source: Tabular.
-* NF_Z_62-010, aliases and source: Tabular.
-* NF_Z_62-010_(1973), aliases and source: Tabular.
-* no: Tabular.
-* no2: Tabular.
-* NOS: CDC-NOS.
-* NS_4551-1, aliases and source: Tabular.
-* NS_4551-2, aliases and source: Tabular.
-* o1: Dump.
-* o2: Dump.
-* o4: Dump.
-* Octal-1: Dump.
-* Octal-2: Dump.
-* Octal-4: Dump.
-* os2latin1: Tabular.
-* pc: IBM-PC.
-* pcl2: Tabular.
-* pclatin2: Tabular.
-* PT, aliases and source: Tabular.
-* PT2, aliases and source: Tabular.
-* QNX, an alias for a charset: Icon-QNX.
-* QP: MIME.
-* quote-printable: MIME.
-* Quoted-Printable: MIME.
-* r8: Tabular.
-* R8: libiconv.
-* ref: Tabular.
-* RFC1345, a charset, and its aliases: Tabular.
-* roman8: Tabular.
-* ROMAN8: libiconv.
-* rune: UCS-2.
-* sami, aliases and source: Tabular.
-* sango: African.
-* se: Tabular.
-* se2: Tabular.
-* SEN_850200_B, aliases and source: Tabular.
-* SEN_850200_C, aliases and source: Tabular.
-* serbian: Tabular.
-* SHIFT-JIS: libiconv.
-* SHIFT_JIS: libiconv.
-* SJIS, aliases: libiconv.
-* SS636127: Tabular.
-* ST_SEV_358-88: Tabular.
-* swabytes: Permutations.
-* t-bambara: African.
-* t-bra: African.
-* t-ewondo: African.
-* t-fra: African.
-* t-francais: African.
-* t-fulfude: African.
-* t-lin: African.
-* t-lingala: African.
-* t-sango: African.
-* t-wolof: African.
-* T.101-G2, not recognised by recode: Tabular.
-* T.61-7bit, aliases and source: Tabular.
-* T.61-8bit, not recognised by recode: Tabular.
-* T1: Others.
-* TCVN, aliases: libiconv.
-* TCVN, for Vienamese: Vietnamese.
-* TCVN-5712: libiconv.
-* TCVN5712-1: libiconv.
-* TCVN5712-1(1993): libiconv.
-* test15: Test.
-* test16: Test.
-* test7: Test.
-* test8: Test.
-* texi: Texinfo.
-* Texinfo, a charset: Texinfo.
-* Texte: Texte.
-* TF-16: UTF-16.
-* TF-7: UTF-7.
-* TF-8: UTF-8.
-* ti: Texinfo.
-* TIS-620, aliases: libiconv.
-* TIS620: libiconv.
-* TIS620-0: libiconv.
-* TIS620.2529-1: libiconv.
-* TIS620.2533-0: libiconv.
-* TIS620.2533-1: libiconv.
-* tree, a special charset: Surfaces.
-* txte: Texte.
-* u2: UCS-2.
-* u4: UCS-4.
-* u6: UTF-16.
-* u7: UTF-7.
-* u8: UTF-8.
-* UCS: Universal.
-* UCS-2: UCS-2.
-* UCS-2, aliases: libiconv.
-* UCS-2-INTERNAL: libiconv.
-* UCS-2-SWAPPED: libiconv.
-* UCS-2BE, aliases: libiconv.
-* UCS-2LE, aliases: libiconv.
-* UCS-4: UCS-4.
-* UCS-4, aliases: libiconv.
-* UCS-4-INTERNAL: libiconv.
-* UCS-4-SWAPPED: libiconv.
-* UCS-4BE: libiconv.
-* UCS-4LE: libiconv.
-* UHC: libiconv.
-* uk: Tabular.
-* Unicode, an alias for UTF-16: UTF-16.
-* UNICODE-1-1: libiconv.
-* UNICODE-1-1-UTF-7: libiconv.
-* UNICODE-1-1-UTF-7, and aliases: UTF-7.
-* UNICODEBIG: libiconv.
-* UNICODELITTLE: libiconv.
-* us <1>: ASCII.
-* us: Tabular.
-* US: libiconv.
-* US-ASCII <1>: ASCII.
-* US-ASCII: Tabular.
-* US-ASCII, aliases: libiconv.
-* us-dk, not recognised by recode: Tabular.
-* UTF-1: Universal.
-* UTF-16: libiconv.
-* UTF-16, and aliases: UTF-16.
-* UTF-16BE: libiconv.
-* UTF-16LE: libiconv.
-* UTF-7: UTF-7.
-* UTF-7, aliases: libiconv.
-* UTF-8: UTF-8.
-* UTF-8, aliases <1>: libiconv.
-* UTF-8, aliases: UTF-8.
-* UTF-FSS: UTF-8.
-* UTF8: libiconv.
-* VIQR: Vietnamese.
-* VISCII: Vietnamese.
-* VISCII, aliases: libiconv.
-* VISCII1.1-1: libiconv.
-* VN1, maybe not available: Vietnamese.
-* VN2, maybe not available: Vietnamese.
-* VN3, maybe not available: Vietnamese.
-* VNI: Vietnamese.
-* VPS: Vietnamese.
-* WinBaltRim: Tabular.
-* WINBALTRIM: libiconv.
-* windows-1250: Tabular.
-* WINDOWS-1250: libiconv.
-* windows-1251: Tabular.
-* WINDOWS-1251: libiconv.
-* windows-1252: Tabular.
-* WINDOWS-1252: libiconv.
-* windows-1253: Tabular.
-* WINDOWS-1253: libiconv.
-* windows-1254: Tabular.
-* WINDOWS-1254: libiconv.
-* windows-1255: Tabular.
-* WINDOWS-1255: libiconv.
-* windows-1256: Tabular.
-* WINDOWS-1256: libiconv.
-* windows-1257: Tabular.
-* WINDOWS-1257: libiconv.
-* WINDOWS-1258: libiconv.
-* WINDOWS-874: libiconv.
-* wolof: African.
-* X0201 <1>: Tabular.
-* X0201: libiconv.
-* x0201-7: Tabular.
-* X0208: libiconv.
-* X0212: libiconv.
-* x1: Dump.
-* x2: Dump.
-* x4: Dump.
-* yu: Tabular.
+* library, iconv: libiconv.
+* listing charsets: Listings.
+* Macintosh charset: Apple-Mac.
+* map filling: Reversibility.
+* map filling, disable: Reversibility.
+* markup language: HTML.
+* memory sequencing: Sequencing.
+* MIME encodings: MIME.
+* misuse of recoding library, error message: Errors.
+* MS-DOS charsets: IBM-PC.
+* MULE, in Emacs: Mule.
+* multiplexed charsets: Mule.
+* names of charsets and surfaces, abbreviation: Requests.
+* new charsets, how to add: New charsets.
+* new surfaces, how to add: New surfaces.
+* NeXT charsets: Micros.
+* non canonical input, error message: Errors.
+* normilise an HTML file: HTML.
+* NOS 6/12 code: CDC-NOS.
+* numeric character references: HTML.
+* outer level functions: Outer level.
+* partial conversion: Mixed.
+* permutations of groups of bytes: Permutations.
+* pipe sequencing: Sequencing.
+* program_name variable: Outer level.
+* programming language support: Listings.
+* pseudo-charsets: Charset overview.
+* pure charset: Surface overview.
+* quality of recoding: Recoding.
+* recode internals: Internals.
+* recode request syntax: Requests.
+* recode use, a tutorial: Tutorial.
+* recode version, printing: Listings.
+* recode, a Macintosh port: Apple-Mac.
+* recode, and RFC 1345: Tabular.
+* recode, main flow of operation: Main flow.
+* recode, operation as filter: Synopsis.
+* recode, synopsis of invocation: Synopsis.
+* recoding details: Recoding.
+* recoding library: Library.
+* recoding path, rejection: Recoding.
+* recoding steps, statistics: Main flow.
+* removing diacritics and underlines: flat.
+* reporting bugs: Contributing.
+* request level functions: Request level.
+* request, syntax: Requests.
+* reversibility of recoding: Reversibility.
+* RFC 1345: Tabular.
+* RFC 2045: MIME.
+* sequencing: Sequencing.
+* SGML: HTML.
+* shared library implementation: Design.
+* silent operation: Reversibility.
+* single step: Main flow.
+* source file generation: Listings.
+* stdbool.h header: Outer level.
+* strict operation: Reversibility.
+* string and comments conversion: Mixed.
+* structural surfaces: Surfaces.
+* subsets in charsets: Listings.
+* super-charsets: Mule.
+* supported programming languages: Listings.
+* suppressing diagnostic messages: Reversibility.
+* surface, what it is <1>: Surfaces.
+* surface, what it is: Introduction.
+* surfaces, aliases: Requests.
+* surfaces, commutativity: Requests.
+* surfaces, implementation in recode: Surfaces.
+* surfaces, implied: Requests.
+* surfaces, overview: Surface overview.
+* surfaces, structural: Surfaces.
+* surfaces, syntax: Requests.
+* surfaces, trees: Surfaces.
+* system detected problem, error message: Errors.
+* task execution: Task level.
+* task level functions: Task level.
+* TeX files: LaTeX.
+* Texinfo files: Texinfo.
+* threshold for error reporting: Errors.
+* time stamps of files: Recoding.
+* trivial surface: Surfaces.
+* tutorial: Tutorial.
+* unavailable conversions: Charset overview.
+* Unicode: UCS-2.
+* unknown charsets: Listings.
+* unreachable charsets: Charset overview.
+* untranslatable input, error message: Errors.
+* valid characters in charset names: Requests.
+* verbose operation: Recoding.
+* Vietnamese charsets: Vietnamese.
+* Web: HTML.
+* World Wide Web: HTML.
+* WWW: HTML.
+* XML: HTML.
+
+\1f
+File: recode.info, Node: Option Index, Next: Library Index, Prev: Concept Index, Up: Top
+
+Option Index
+************
+
+ This is an alphabetical list of all command-line options accepted by
+`recode'.
+
+* Menu:
+
+* --colons: Recoding.
+* --copyright: Listings.
+* --diacritics: Mixed.
+* --find-subsets: Listings.
+* --force: Reversibility.
+* --graphics: Recoding.
+* --header: Listings.
+* --help: Listings.
+* --ignore: Recoding.
+* --known=: Listings.
+* --list: Listings.
+* --quiet: Reversibility.
+* --sequence: Sequencing.
+* --silent: Reversibility.
+* --source: Mixed.
+* --strict: Reversibility.
+* --touch: Recoding.
+* --verbose: Recoding.
+* --version: Listings.
+* -c: Recoding.
+* -C: Listings.
+* -d: Mixed.
+* -f: Reversibility.
+* -g: Recoding.
+* -h: Listings.
+* -i: Sequencing.
+* -k: Listings.
+* -l: Listings.
+* -p: Sequencing.
+* -q: Reversibility.
+* -S: Mixed.
+* -s: Reversibility.
+* -t: Recoding.
+* -T: Listings.
+* -v: Recoding.
+* -x: Recoding.
+
+\1f
+File: recode.info, Node: Library Index, Next: Charset and Surface Index, Prev: Option Index, Up: Top
+
+Library Index
+*************
+
+ This is an alphabetical index of important functions, data
+structures, and variables in the `recode' library.
+
+* Menu:
+* abort_level: Task level.
+* ascii_graphics: Request level.
+* byte_order_mark: Task level.
+* declare_step: New surfaces.
+* DEFAULT_CHARSET: Requests.
+* diacritics_only: Request level.
+* diaeresis_char: Request level.
+* error_so_far: Task level.
+* fail_level: Task level.
+* file_one_to_many: New charsets.
+* file_one_to_one: New charsets.
+* find_charset: Charset level.
+* LANG, when listing charsets: Listings.
+* LANGUAGE, when listing charsets: Listings.
+* list_all_charsets: Charset level.
+* list_concise_charset: Charset level.
+* list_full_charset: Charset level.
+* make_header_flag: Request level.
+* RECODE_AMBIGUOUS_OUTPUT: Errors.
+* recode_buffer_to_buffer: Request level.
+* recode_buffer_to_file: Request level.
+* recode_delete_outer: Outer level.
+* recode_delete_request: Request level.
+* recode_delete_task: Task level.
+* recode_file_to_buffer: Request level.
+* recode_file_to_file: Request level.
+* recode_filter_close: Task level.
+* recode_filter_close, not available: Request level.
+* recode_filter_open: Task level.
+* recode_filter_open, not available: Request level.
+* recode_format_table: Request level.
+* RECODE_INTERNAL_ERROR: Errors.
+* RECODE_INVALID_INPUT: Errors.
+* RECODE_MAXIMUM_ERROR <1>: Errors.
+* RECODE_MAXIMUM_ERROR: Task level.
+* recode_new_outer: Outer level.
+* recode_new_request: Request level.
+* recode_new_task: Task level.
+* RECODE_NO_ERROR: Errors.
+* RECODE_NOT_CANONICAL: Errors.
+* RECODE_OUTER structure: Outer level.
+* recode_perform_task: Task level.
+* recode_request structure: Request level.
+* RECODE_REQUEST structure: Request level.
+* recode_scan_request: Request level.
+* RECODE_SEQUENCE_IN_MEMORY: Task level.
+* RECODE_SEQUENCE_WITH_FILES: Task level.
+* RECODE_SEQUENCE_WITH_PIPE: Task level.
+* RECODE_STRATEGY_UNDECIDED: Task level.
+* recode_string: Request level.
+* recode_string_to_buffer: Request level.
+* recode_string_to_file: Request level.
+* RECODE_SYSTEM_ERROR: Errors.
+* RECODE_TASK structure: Task level.
+* RECODE_UNTRANSLATABLE: Errors.
+* RECODE_USER_ERROR: Errors.
+* strategy: Task level.
+* task_request structure: Task level.
+* verbose_flag: Request level.
--- /dev/null
+This is recode.info, produced by makeinfo version 4.0 from recode.texi.
+
+INFO-DIR-SECTION Internationalization and character sets
+START-INFO-DIR-ENTRY
+* recode: (recode). Conversion between character sets and surfaces.
+END-INFO-DIR-ENTRY
+
+ This file documents the `recode' command, which has the purpose of
+converting files between various character sets and surfaces.
+
+ Copyright (C) 1990, 93, 94, 96, 97, 98, 99, 00 Free Software
+Foundation, Inc.
+
+ Permission is granted to make and distribute verbatim copies of this
+manual provided the copyright notice and this permission notice are
+preserved on all copies.
+
+ Permission is granted to copy and distribute modified versions of
+this manual under the conditions for verbatim copying, provided that
+the entire resulting derived work is distributed under the terms of a
+permission notice identical to this one.
+
+ Permission is granted to copy and distribute translations of this
+manual into another language, under the above conditions for modified
+versions, except that this permission notice may be stated in a
+translation approved by the Foundation.
+
+\1f
+File: recode.info, Node: Charset and Surface Index, Prev: Library Index, Up: Top
+
+Charset and Surface Index
+*************************
+
+ This is an alphabetical list of all the charsets and surfaces
+supported by `recode', and their aliases.
+
+* Menu:
+
+* 037: Tabular.
+* 038: Tabular.
+* 1004: Tabular.
+* 1026: Tabular.
+* 1047: Tabular.
+* 10646: UCS-4.
+* 1129, not available: Vietnamese.
+* 1250: Tabular.
+* 1251: Tabular.
+* 1252: Tabular.
+* 1253: Tabular.
+* 1254: Tabular.
+* 1255: Tabular.
+* 1256: Tabular.
+* 1257: Tabular.
+* 1258, not available: Vietnamese.
+* 1345: Tabular.
+* 1866: HTML.
+* 2070: HTML.
+* 21-Permutation: Permutations.
+* 256: Tabular.
+* 273: Tabular.
+* 274: Tabular.
+* 275: Tabular.
+* 278: Tabular.
+* 280: Tabular.
+* 281: Tabular.
+* 284: Tabular.
+* 285: Tabular.
+* 290: Tabular.
+* 297: Tabular.
+* 367: Tabular.
+* 420: Tabular.
+* 423: Tabular.
+* 424: Tabular.
+* 4321-Permutation: Permutations.
+* 437: Tabular.
+* 500: Tabular.
+* 500V1: Tabular.
+* 64: MIME.
+* 819: Tabular.
+* 850 <1>: Tabular.
+* 850: libiconv.
+* 851: Tabular.
+* 852: Tabular.
+* 855: Tabular.
+* 857: Tabular.
+* 860: Tabular.
+* 861: Tabular.
+* 862: Tabular.
+* 863: Tabular.
+* 864: Tabular.
+* 865: Tabular.
+* 866: libiconv.
+* 868: Tabular.
+* 869: Tabular.
+* 870: Tabular.
+* 871: Tabular.
+* 875: Tabular.
+* 880: Tabular.
+* 891: Tabular.
+* 903: Tabular.
+* 904: Tabular.
+* 905: Tabular.
+* 912: Tabular.
+* 918: Tabular.
+* AFRFUL-102-BPI_OCIL, and aliases: African.
+* AFRFUL-103-BPI_OCIL, and aliases: African.
+* AFRL1-101-BPI_OCIL: African.
+* AFRLIN-104-BPI_OCIL: African.
+* AFRLIN-105-BPI_OCIL: African.
+* ANSI_X3.110-1983, not recognised by recode: Tabular.
+* ANSI_X3.4-1968: libiconv.
+* ANSI_X3.4-1968, aliases and source: Tabular.
+* ANSI_X3.4-1968, and its aliases: ASCII.
+* ANSI_X3.4-1986: Tabular.
+* Apple-Mac: Apple-Mac.
+* arabic: Tabular.
+* ARABIC: libiconv.
+* arabic7: Tabular.
+* ARMSCII-8: libiconv.
+* ASCII <1>: Tabular.
+* ASCII: libiconv.
+* ASCII, an alias for the ANSI_X3.4-1968 charset: ASCII.
+* ASCII-BS, and its aliases: ASCII-BS.
+* ASMO-708 <1>: Tabular.
+* ASMO-708: libiconv.
+* ASMO_449, aliases and source: Tabular.
+* AtariST: AtariST.
+* b64: MIME.
+* baltic, aliases and source: Tabular.
+* bambara: African.
+* Bang-Bang: Bang-Bang.
+* Base64: MIME.
+* BIG-5: libiconv.
+* BIG-FIVE: libiconv.
+* BIG5, aliases: libiconv.
+* BIG5HKSCS: libiconv.
+* BIGFIVE: libiconv.
+* BMP: UCS-2.
+* bra: African.
+* BS, an alias for ASCII-BS charset: ASCII-BS.
+* BS_4730, aliases and source: Tabular.
+* BS_viewdata, aliases and source: Tabular.
+* ca: Tabular.
+* CDC-NOS, and its aliases: CDC-NOS.
+* CHAR: libiconv.
+* CHINESE: libiconv.
+* cl: End lines.
+* cn: Tabular.
+* CN: libiconv.
+* CN-BIG5: libiconv.
+* CN-GB: libiconv.
+* CN-GB-ISOIR165: libiconv.
+* combined-UCS-2: UCS-2.
+* CORK: Others.
+* count-characters: count-characters.
+* count-characters, not as before charset: Charset overview.
+* cp-ar: Tabular.
+* cp-gr: Tabular.
+* cp-hu: Tabular.
+* cp-is: Tabular.
+* CP037: Tabular.
+* CP038: Tabular.
+* CP1004: Tabular.
+* CP1026: Tabular.
+* CP1047: Tabular.
+* CP1129, not available: Vietnamese.
+* CP1133, aliases: libiconv.
+* CP1250, aliases: libiconv.
+* CP1250, aliases and source: Tabular.
+* CP1251, aliases: libiconv.
+* CP1251, aliases and source: Tabular.
+* CP1252, aliases: libiconv.
+* CP1252, aliases and source: Tabular.
+* CP1253, aliases: libiconv.
+* CP1253, aliases and source: Tabular.
+* CP1254, aliases: libiconv.
+* CP1254, aliases and source: Tabular.
+* CP1255, aliases: libiconv.
+* CP1255, aliases and source: Tabular.
+* CP1256, aliases: libiconv.
+* CP1256, aliases and source: Tabular.
+* CP1257, aliases: libiconv.
+* CP1257, aliases and source: Tabular.
+* CP1258, aliases: libiconv.
+* CP1258, not available: Vietnamese.
+* CP1361: libiconv.
+* CP256: Tabular.
+* CP273: Tabular.
+* CP274: Tabular.
+* CP275: Tabular.
+* CP278: Tabular.
+* CP280: Tabular.
+* CP281: Tabular.
+* CP284: Tabular.
+* CP285: Tabular.
+* CP290: Tabular.
+* CP297: Tabular.
+* cp367: ASCII.
+* CP367 <1>: Tabular.
+* CP367: libiconv.
+* CP420: Tabular.
+* CP423: Tabular.
+* CP424: Tabular.
+* CP437: Tabular.
+* CP500: Tabular.
+* CP819 <1>: Tabular.
+* CP819: libiconv.
+* CP850: Tabular.
+* CP850, aliases: libiconv.
+* CP851: Tabular.
+* CP852: Tabular.
+* CP855: Tabular.
+* CP857: Tabular.
+* CP860: Tabular.
+* CP861: Tabular.
+* CP862: Tabular.
+* CP863: Tabular.
+* CP864: Tabular.
+* CP865: Tabular.
+* CP866, aliases: libiconv.
+* CP868: Tabular.
+* CP869: Tabular.
+* CP870: Tabular.
+* CP871: Tabular.
+* CP874, aliases: libiconv.
+* CP875: Tabular.
+* CP880: Tabular.
+* CP891: Tabular.
+* CP903: Tabular.
+* CP904: Tabular.
+* CP905: Tabular.
+* CP912: Tabular.
+* CP918: Tabular.
+* CP932: libiconv.
+* CP936: libiconv.
+* CP949, aliases: libiconv.
+* CP950: libiconv.
+* CR, a surface: End lines.
+* CR-LF, a surface: End lines.
+* csa7-1: Tabular.
+* csa7-2: Tabular.
+* CSA_Z243.4-1985-1, aliases and source: Tabular.
+* CSA_Z243.4-1985-2, aliases and source: Tabular.
+* CSA_Z243.4-1985-gr, aliases and source: Tabular.
+* csASCII: libiconv.
+* csBig5: libiconv.
+* csEUCKR: libiconv.
+* csEUCPkdFmtJapanese: libiconv.
+* csEUCTW: libiconv.
+* csGB2312: libiconv.
+* csHalfWidthKatakana: libiconv.
+* csHPRoman8: libiconv.
+* csIBM866: libiconv.
+* csISO14JISC6220ro: libiconv.
+* csISO159JISX02121990: libiconv.
+* csISO2022CN: libiconv.
+* csISO2022JP: libiconv.
+* csISO2022JP2: libiconv.
+* csISO2022KR: libiconv.
+* csISO57GB1988: libiconv.
+* csISO58GB231280: libiconv.
+* csISO87JISX0208: libiconv.
+* csISOLatin1: libiconv.
+* csISOLatin2: libiconv.
+* csISOLatin3: libiconv.
+* csISOLatin4: libiconv.
+* csISOLatin5: libiconv.
+* csISOLatin6: libiconv.
+* csISOLatinArabic: libiconv.
+* csISOLatinCyrillic: libiconv.
+* csISOLatinGreek: libiconv.
+* csISOLatinHebrew: libiconv.
+* csKOI8R: libiconv.
+* csKSC56011987: libiconv.
+* csMacintosh: libiconv.
+* CSN_369103, aliases and source: Tabular.
+* csPC850Multilingual: libiconv.
+* csShiftJIS: libiconv.
+* csUCS4: libiconv.
+* csUnicode: libiconv.
+* csUnicode11: libiconv.
+* csUnicode11UTF7: libiconv.
+* csVISCII: libiconv.
+* cuba: Tabular.
+* CWI, aliases and source: Tabular.
+* CWI-2: Tabular.
+* cyrillic: Tabular.
+* CYRILLIC: libiconv.
+* d1: Dump.
+* d2: Dump.
+* d4: Dump.
+* data, a special charset: Surfaces.
+* data, not with charsets: Charset overview.
+* de: Tabular.
+* dec: Tabular.
+* DEC-MCS, aliases and source: Tabular.
+* Decimal-1: Dump.
+* Decimal-2: Dump.
+* Decimal-4: Dump.
+* DIN_66003, aliases and source: Tabular.
+* dk: Tabular.
+* dk-us, not recognised by recode: Tabular.
+* dos: IBM-PC.
+* DS2089: Tabular.
+* DS_2089, aliases and source: Tabular.
+* dump-with-names: dump-with-names.
+* dump-with-names, not as before charset: Charset overview.
+* e13b: Tabular.
+* EBCDIC, a charset: EBCDIC.
+* EBCDIC-AT-DE, aliases and source: Tabular.
+* EBCDIC-AT-DE-A, aliases and source: Tabular.
+* EBCDIC-BE: Tabular.
+* EBCDIC-BR: Tabular.
+* EBCDIC-CA-FR, aliases and source: Tabular.
+* EBCDIC-CCC: EBCDIC.
+* ebcdic-cp-ar1: Tabular.
+* ebcdic-cp-ar2: Tabular.
+* ebcdic-cp-be: Tabular.
+* ebcdic-cp-ca: Tabular.
+* ebcdic-cp-ch: Tabular.
+* EBCDIC-CP-DK: Tabular.
+* ebcdic-cp-es: Tabular.
+* ebcdic-cp-fi: Tabular.
+* ebcdic-cp-fr: Tabular.
+* ebcdic-cp-gb: Tabular.
+* ebcdic-cp-gr: Tabular.
+* ebcdic-cp-he: Tabular.
+* ebcdic-cp-is: Tabular.
+* ebcdic-cp-it: Tabular.
+* ebcdic-cp-nl: Tabular.
+* EBCDIC-CP-NO: Tabular.
+* ebcdic-cp-roece: Tabular.
+* ebcdic-cp-se: Tabular.
+* ebcdic-cp-tr: Tabular.
+* ebcdic-cp-us: Tabular.
+* ebcdic-cp-wt: Tabular.
+* ebcdic-cp-yu: Tabular.
+* EBCDIC-Cyrillic: Tabular.
+* EBCDIC-DK-NO, aliases and source: Tabular.
+* EBCDIC-DK-NO-A, aliases and source: Tabular.
+* EBCDIC-ES, aliases and source: Tabular.
+* EBCDIC-ES-A, aliases and source: Tabular.
+* EBCDIC-ES-S, aliases and source: Tabular.
+* EBCDIC-FI-SE, aliases and source: Tabular.
+* EBCDIC-FI-SE-A, aliases and source: Tabular.
+* EBCDIC-FR, aliases and source: Tabular.
+* EBCDIC-Greek: Tabular.
+* EBCDIC-IBM: EBCDIC.
+* EBCDIC-INT: Tabular.
+* EBCDIC-INT1: Tabular.
+* EBCDIC-IS-FRISS, aliases and source: Tabular.
+* EBCDIC-IT, aliases and source: Tabular.
+* EBCDIC-JP-E: Tabular.
+* EBCDIC-JP-kana: Tabular.
+* EBCDIC-PT, aliases and source: Tabular.
+* EBCDIC-UK, aliases and source: Tabular.
+* EBCDIC-US, aliases and source: Tabular.
+* ECMA-113: Tabular.
+* ECMA-113(1986): Tabular.
+* ECMA-114 <1>: Tabular.
+* ECMA-114: libiconv.
+* ECMA-118 <1>: Tabular.
+* ECMA-118: libiconv.
+* ECMA-cyrillic, aliases and source: Tabular.
+* ELOT_928 <1>: Tabular.
+* ELOT_928: libiconv.
+* ES, aliases and source: Tabular.
+* ES2, aliases and source: Tabular.
+* EUC-CN, aliases: libiconv.
+* EUC-JP, aliases: libiconv.
+* EUC-KR, aliases: libiconv.
+* EUC-TW, aliases: libiconv.
+* EUC_CN: libiconv.
+* EUC_JP: libiconv.
+* EUC_KR: libiconv.
+* EUC_TW: libiconv.
+* EUCCN: libiconv.
+* EUCJP: libiconv.
+* EUCKR: libiconv.
+* EUCTW: libiconv.
+* ewondo: African.
+* Extended_UNIX_Code_Packed_Format_for_Japanese: libiconv.
+* FI: Tabular.
+* flat, a charset: flat.
+* flat, not as before charset: Charset overview.
+* fr: Tabular.
+* friss: Tabular.
+* FSS_UTF: UTF-8.
+* fulfude: African.
+* gb: Tabular.
+* GB18030: libiconv.
+* GB2312: libiconv.
+* GB2312.1980-0: libiconv.
+* GB_1988-80, aliases: libiconv.
+* GB_1988-80, aliases and source: Tabular.
+* GB_2312-80, aliases: libiconv.
+* GB_2312-80, not recognised by recode: Tabular.
+* GBK, aliases: libiconv.
+* Georgian-Academy: libiconv.
+* Georgian-PS: libiconv.
+* GOST_19768-74: Tabular.
+* GOST_19768-87, aliases and source: Tabular.
+* greek: Tabular.
+* GREEK: libiconv.
+* greek-ccitt, aliases and source: Tabular.
+* greek7, aliases and source: Tabular.
+* greek7-old, aliases and source: Tabular.
+* greek8: Tabular.
+* GREEK8: libiconv.
+* h: HTML.
+* h0: HTML.
+* h1: HTML.
+* h2: HTML.
+* h3: HTML.
+* h4: HTML.
+* hebrew: Tabular.
+* HEBREW: libiconv.
+* Hexadecimal-1: Dump.
+* Hexadecimal-2: Dump.
+* Hexadecimal-4: Dump.
+* HP-ROMAN8, aliases: libiconv.
+* hp-roman8, aliases and source: Tabular.
+* HTML-i18n: HTML.
+* HTML_1.1: HTML.
+* HTML_2.0: HTML.
+* HTML_3.2: HTML.
+* hu: Tabular.
+* HZ, aliases: libiconv.
+* HZ-GB-2312: libiconv.
+* IBM-CP1133: libiconv.
+* IBM-PC: IBM-PC.
+* IBM-PC charset, and CR-LF surface: Requests.
+* IBM037, aliases and source: Tabular.
+* IBM038, aliases and source: Tabular.
+* IBM1004, aliases and source: Tabular.
+* IBM1026, aliases and source: Tabular.
+* IBM1047, aliases and source: Tabular.
+* IBM256, aliases and source: Tabular.
+* IBM273, aliases and source: Tabular.
+* IBM274, aliases and source: Tabular.
+* IBM275, aliases and source: Tabular.
+* IBM277, aliases and source: Tabular.
+* IBM278, aliases and source: Tabular.
+* IBM280, aliases and source: Tabular.
+* IBM281, aliases and source: Tabular.
+* IBM284, aliases and source: Tabular.
+* IBM285, aliases and source: Tabular.
+* IBM290, aliases and source: Tabular.
+* IBM297, aliases and source: Tabular.
+* IBM367 <1>: ASCII.
+* IBM367 <2>: Tabular.
+* IBM367: libiconv.
+* IBM420, aliases and source: Tabular.
+* IBM423, aliases and source: Tabular.
+* IBM424, aliases and source: Tabular.
+* ibm437: IBM-PC.
+* IBM437, aliases and source: Tabular.
+* IBM500, aliases and source: Tabular.
+* IBM819 <1>: Tabular.
+* IBM819: libiconv.
+* IBM819, and CR-LF surface: IBM-PC.
+* IBM850: libiconv.
+* IBM850, aliases and source: Tabular.
+* IBM851, aliases and source: Tabular.
+* IBM852, aliases and source: Tabular.
+* IBM855, aliases and source: Tabular.
+* IBM857, aliases and source: Tabular.
+* IBM860, aliases and source: Tabular.
+* IBM861, aliases and source: Tabular.
+* IBM862, aliases and source: Tabular.
+* IBM863, aliases and source: Tabular.
+* IBM864, aliases and source: Tabular.
+* IBM865, aliases and source: Tabular.
+* IBM866: libiconv.
+* IBM868, aliases and source: Tabular.
+* IBM869, aliases and source: Tabular.
+* IBM870, aliases and source: Tabular.
+* IBM871, aliases and source: Tabular.
+* IBM875, aliases and source: Tabular.
+* IBM880, aliases and source: Tabular.
+* IBM891, aliases and source: Tabular.
+* IBM903, aliases and source: Tabular.
+* IBM904, aliases and source: Tabular.
+* IBM905, aliases and source: Tabular.
+* IBM912: Tabular.
+* IBM918, aliases and source: Tabular.
+* Icon-QNX, and aliases: Icon-QNX.
+* IEC_P27-1, aliases and source: Tabular.
+* INIS, aliases and source: Tabular.
+* INIS-8, aliases and source: Tabular.
+* INIS-cyrillic, aliases and source: Tabular.
+* INVARIANT, aliases and source: Tabular.
+* irv: Tabular.
+* ISO-10646-UCS-2: libiconv.
+* ISO-10646-UCS-2, and aliases: UCS-2.
+* ISO-10646-UCS-4: libiconv.
+* ISO-10646-UCS-4, and aliases: UCS-4.
+* ISO-2022-CN, aliases: libiconv.
+* ISO-2022-CN-EXT: libiconv.
+* ISO-2022-JP, aliases: libiconv.
+* ISO-2022-JP-1: libiconv.
+* ISO-2022-JP-2, aliases: libiconv.
+* ISO-2022-KR, aliases: libiconv.
+* ISO-8859-1, aliases: libiconv.
+* ISO-8859-1, aliases and source: Tabular.
+* ISO-8859-10, aliases: libiconv.
+* ISO-8859-10, aliases and source: Tabular.
+* ISO-8859-13, aliases: libiconv.
+* ISO-8859-13, aliases and source: Tabular.
+* ISO-8859-14, aliases: libiconv.
+* ISO-8859-14, aliases and source: Tabular.
+* ISO-8859-15, aliases: libiconv.
+* ISO-8859-15, aliases and source: Tabular.
+* ISO-8859-16, aliases: libiconv.
+* ISO-8859-2, aliases: libiconv.
+* ISO-8859-2, aliases and source: Tabular.
+* ISO-8859-3, aliases: libiconv.
+* ISO-8859-3, aliases and source: Tabular.
+* ISO-8859-4, aliases: libiconv.
+* ISO-8859-4, aliases and source: Tabular.
+* ISO-8859-5, aliases: libiconv.
+* ISO-8859-5, aliases and source: Tabular.
+* ISO-8859-6, aliases: libiconv.
+* ISO-8859-6, aliases and source: Tabular.
+* ISO-8859-7, aliases: libiconv.
+* ISO-8859-7, aliases and source: Tabular.
+* ISO-8859-8, aliases: libiconv.
+* ISO-8859-8, aliases and source: Tabular.
+* ISO-8859-9, aliases: libiconv.
+* ISO-8859-9, aliases and source: Tabular.
+* iso-baltic: Tabular.
+* iso-celtic: Tabular.
+* iso-ir-10: Tabular.
+* iso-ir-100: Tabular.
+* ISO-IR-100: libiconv.
+* iso-ir-101: Tabular.
+* ISO-IR-101: libiconv.
+* iso-ir-102: Tabular.
+* iso-ir-109: Tabular.
+* ISO-IR-109: libiconv.
+* iso-ir-11: Tabular.
+* iso-ir-110: Tabular.
+* ISO-IR-110: libiconv.
+* iso-ir-111: Tabular.
+* iso-ir-121: Tabular.
+* iso-ir-122: Tabular.
+* iso-ir-123: Tabular.
+* iso-ir-126: Tabular.
+* ISO-IR-126: libiconv.
+* iso-ir-127: Tabular.
+* ISO-IR-127: libiconv.
+* iso-ir-13: Tabular.
+* iso-ir-138: Tabular.
+* ISO-IR-138: libiconv.
+* iso-ir-139: Tabular.
+* iso-ir-14: Tabular.
+* ISO-IR-14: libiconv.
+* iso-ir-141: Tabular.
+* iso-ir-143: Tabular.
+* iso-ir-144: Tabular.
+* ISO-IR-144: libiconv.
+* iso-ir-146: Tabular.
+* iso-ir-147: Tabular.
+* iso-ir-148: Tabular.
+* ISO-IR-148: libiconv.
+* ISO-IR-149: libiconv.
+* iso-ir-15: Tabular.
+* iso-ir-150: Tabular.
+* iso-ir-151: Tabular.
+* iso-ir-152: Tabular.
+* iso-ir-153: Tabular.
+* iso-ir-154: Tabular.
+* iso-ir-155: Tabular.
+* iso-ir-157: Tabular.
+* ISO-IR-157: libiconv.
+* iso-ir-158: Tabular.
+* ISO-IR-159: libiconv.
+* iso-ir-16: Tabular.
+* ISO-IR-165, aliases: libiconv.
+* ISO-IR-166: libiconv.
+* iso-ir-17: Tabular.
+* iso-ir-170: Tabular.
+* iso-ir-179: Tabular.
+* ISO-IR-179: libiconv.
+* iso-ir-179a: Tabular.
+* iso-ir-18: Tabular.
+* iso-ir-19: Tabular.
+* iso-ir-199: Tabular.
+* ISO-IR-199: libiconv.
+* iso-ir-2: Tabular.
+* iso-ir-203: Tabular.
+* ISO-IR-203: libiconv.
+* iso-ir-21: Tabular.
+* ISO-IR-226: libiconv.
+* iso-ir-25: Tabular.
+* iso-ir-27: Tabular.
+* iso-ir-37: Tabular.
+* iso-ir-4: Tabular.
+* iso-ir-47: Tabular.
+* iso-ir-49: Tabular.
+* iso-ir-50: Tabular.
+* iso-ir-51: Tabular.
+* iso-ir-54: Tabular.
+* iso-ir-55: Tabular.
+* iso-ir-57: Tabular.
+* ISO-IR-57: libiconv.
+* ISO-IR-58: libiconv.
+* iso-ir-6 <1>: ASCII.
+* iso-ir-6: Tabular.
+* ISO-IR-6: libiconv.
+* iso-ir-60: Tabular.
+* iso-ir-61: Tabular.
+* iso-ir-69: Tabular.
+* iso-ir-8-1: Tabular.
+* iso-ir-8-2: Tabular.
+* iso-ir-84: Tabular.
+* iso-ir-85: Tabular.
+* iso-ir-86: Tabular.
+* ISO-IR-87: libiconv.
+* iso-ir-88: Tabular.
+* iso-ir-89: Tabular.
+* iso-ir-9-1: Tabular.
+* iso-ir-9-2: Tabular.
+* iso-ir-90, not recognised by recode: Tabular.
+* iso-ir-93: Tabular.
+* iso-ir-94: Tabular.
+* iso-ir-95: Tabular.
+* iso-ir-96: Tabular.
+* iso-ir-98: Tabular.
+* ISO2022CN: libiconv.
+* ISO2022JP: libiconv.
+* ISO2022KR: libiconv.
+* ISO646-CA: Tabular.
+* ISO646-CA2: Tabular.
+* ISO646-CN <1>: Tabular.
+* ISO646-CN: libiconv.
+* ISO646-CU: Tabular.
+* ISO646-DE: Tabular.
+* ISO646-DK: Tabular.
+* ISO646-ES: Tabular.
+* ISO646-ES2: Tabular.
+* ISO646-FI: Tabular.
+* ISO646-FR: Tabular.
+* ISO646-FR1: Tabular.
+* ISO646-GB: Tabular.
+* ISO646-HU: Tabular.
+* ISO646-IT: Tabular.
+* ISO646-JP <1>: Tabular.
+* ISO646-JP: libiconv.
+* ISO646-JP-OCR-B: Tabular.
+* ISO646-KR: Tabular.
+* ISO646-NO: Tabular.
+* ISO646-NO2: Tabular.
+* ISO646-PT: Tabular.
+* ISO646-PT2: Tabular.
+* ISO646-SE: Tabular.
+* ISO646-SE2: Tabular.
+* ISO646-US <1>: Tabular.
+* ISO646-US: libiconv.
+* ISO646-YU: Tabular.
+* ISO646.1991-IRV: libiconv.
+* ISO8859-1 <1>: Tabular.
+* ISO8859-1: libiconv.
+* ISO8859-10 <1>: Tabular.
+* ISO8859-10: libiconv.
+* ISO8859-13: Tabular.
+* ISO8859-14: Tabular.
+* ISO8859-15: Tabular.
+* ISO8859-2 <1>: Tabular.
+* ISO8859-2: libiconv.
+* ISO8859-3 <1>: Tabular.
+* ISO8859-3: libiconv.
+* ISO8859-4 <1>: Tabular.
+* ISO8859-4: libiconv.
+* ISO8859-5 <1>: Tabular.
+* ISO8859-5: libiconv.
+* ISO8859-6 <1>: Tabular.
+* ISO8859-6: libiconv.
+* ISO8859-7 <1>: Tabular.
+* ISO8859-7: libiconv.
+* ISO8859-8 <1>: Tabular.
+* ISO8859-8: libiconv.
+* ISO8859-9 <1>: Tabular.
+* ISO8859-9: libiconv.
+* ISO8859_1: libiconv.
+* ISO8859_2: libiconv.
+* ISO8859_3: libiconv.
+* ISO8859_4: libiconv.
+* ISO8859_5: libiconv.
+* ISO8859_6: libiconv.
+* ISO8859_7: libiconv.
+* ISO8859_8: libiconv.
+* ISO8859_9: libiconv.
+* ISO_10367-box, aliases and source: Tabular.
+* ISO_10646: UCS-4.
+* ISO_2033-1983, aliases and source: Tabular.
+* ISO_5427(1981): Tabular.
+* ISO_5427, aliases and source: Tabular.
+* ISO_5427-ext, aliases and source: Tabular.
+* ISO_5428(1980): Tabular.
+* ISO_5428, aliases and source: Tabular.
+* ISO_646.basic(1983): Tabular.
+* ISO_646.basic, aliases and source: Tabular.
+* ISO_646.irv(1983): Tabular.
+* ISO_646.irv(1991): Tabular.
+* ISO_646.IRV(1991): libiconv.
+* ISO_646.irv, aliases and source: Tabular.
+* ISO_6937-2-25, aliases and source: Tabular.
+* ISO_6937-2-add, not recognised by recode: Tabular.
+* ISO_8859-1 <1>: Tabular.
+* ISO_8859-1: libiconv.
+* ISO_8859-1(1987) <1>: Tabular.
+* ISO_8859-1(1987): libiconv.
+* ISO_8859-10 <1>: Tabular.
+* ISO_8859-10: libiconv.
+* ISO_8859-10(1992): libiconv.
+* ISO_8859-10(1993): Tabular.
+* ISO_8859-13 <1>: Tabular.
+* ISO_8859-13: libiconv.
+* ISO_8859-13(1998): Tabular.
+* ISO_8859-14 <1>: Tabular.
+* ISO_8859-14: libiconv.
+* ISO_8859-14(1998) <1>: Tabular.
+* ISO_8859-14(1998): libiconv.
+* ISO_8859-15 <1>: Tabular.
+* ISO_8859-15: libiconv.
+* ISO_8859-15(1998) <1>: Tabular.
+* ISO_8859-15(1998): libiconv.
+* ISO_8859-16: libiconv.
+* ISO_8859-16(2000): libiconv.
+* ISO_8859-2 <1>: Tabular.
+* ISO_8859-2: libiconv.
+* ISO_8859-2(1987) <1>: Tabular.
+* ISO_8859-2(1987): libiconv.
+* ISO_8859-3 <1>: Tabular.
+* ISO_8859-3: libiconv.
+* ISO_8859-3(1988) <1>: Tabular.
+* ISO_8859-3(1988): libiconv.
+* ISO_8859-4 <1>: Tabular.
+* ISO_8859-4: libiconv.
+* ISO_8859-4(1988) <1>: Tabular.
+* ISO_8859-4(1988): libiconv.
+* ISO_8859-5 <1>: Tabular.
+* ISO_8859-5: libiconv.
+* ISO_8859-5(1988) <1>: Tabular.
+* ISO_8859-5(1988): libiconv.
+* ISO_8859-6 <1>: Tabular.
+* ISO_8859-6: libiconv.
+* ISO_8859-6(1987) <1>: Tabular.
+* ISO_8859-6(1987): libiconv.
+* ISO_8859-7 <1>: Tabular.
+* ISO_8859-7: libiconv.
+* ISO_8859-7(1987) <1>: Tabular.
+* ISO_8859-7(1987): libiconv.
+* ISO_8859-8 <1>: Tabular.
+* ISO_8859-8: libiconv.
+* ISO_8859-8(1988) <1>: Tabular.
+* ISO_8859-8(1988): libiconv.
+* ISO_8859-9 <1>: Tabular.
+* ISO_8859-9: libiconv.
+* ISO_8859-9(1989) <1>: Tabular.
+* ISO_8859-9(1989): libiconv.
+* ISO_8859-supp, aliases and source: Tabular.
+* ISO_9036: Tabular.
+* isoir91: Tabular.
+* isoir92: Tabular.
+* IT, aliases and source: Tabular.
+* JAVA: libiconv.
+* JIS0201: libiconv.
+* JIS0208: libiconv.
+* JIS0212: libiconv.
+* JIS_C6220-1969: Tabular.
+* JIS_C6220-1969-jp, aliases and source: Tabular.
+* JIS_C6220-1969-RO, aliases: libiconv.
+* JIS_C6220-1969-ro, aliases and source: Tabular.
+* JIS_C6226-1978, not recognised by recode: Tabular.
+* JIS_C6229-1984-a, aliases and source: Tabular.
+* JIS_C6229-1984-b, aliases and source: Tabular.
+* JIS_C6229-1984-b-add, aliases and source: Tabular.
+* JIS_C6229-1984-hand, aliases and source: Tabular.
+* JIS_C6229-1984-hand-add, aliases and source: Tabular.
+* JIS_C6229-1984-kana, aliases and source: Tabular.
+* JIS_X0201, aliases: libiconv.
+* JIS_X0201, aliases and source: Tabular.
+* JIS_X0208, aliases: libiconv.
+* JIS_X0208-1983: libiconv.
+* JIS_X0208-1990: libiconv.
+* JIS_X0212, aliases: libiconv.
+* JIS_X0212-1990: libiconv.
+* JIS_X0212-1990, not recognised by recode: Tabular.
+* JIS_X0212.1990-0: libiconv.
+* JISX0201-1976: libiconv.
+* JISX0201.1976-0: libiconv.
+* JISX0208.1983-0: libiconv.
+* JISX0208.1990-0: libiconv.
+* JISX0212.1990-0: libiconv.
+* JOHAB, aliases: libiconv.
+* jp: Tabular.
+* JP: libiconv.
+* jp-ocr-a: Tabular.
+* jp-ocr-b: Tabular.
+* jp-ocr-b-add: Tabular.
+* jp-ocr-hand: Tabular.
+* jp-ocr-hand-add: Tabular.
+* js: Tabular.
+* JUS_I.B1.002, aliases and source: Tabular.
+* JUS_I.B1.003-mac, aliases and source: Tabular.
+* JUS_I.B1.003-serb, aliases and source: Tabular.
+* Kamenicky: Others.
+* katakana: Tabular.
+* KEYBCS2: Others.
+* KOI-7, aliases and source: Tabular.
+* KOI-8, aliases and source: Tabular.
+* KOI-8_CS2: Others.
+* KOI-8_L2: Tabular.
+* KOI8-R, aliases: libiconv.
+* KOI8-R, aliases and source: Tabular.
+* KOI8-RU: libiconv.
+* KOI8-RU, aliases and source: Tabular.
+* KOI8-U: libiconv.
+* KOI8-U, aliases and source: Tabular.
+* koi8l2: Tabular.
+* KOREAN: libiconv.
+* KS_C_5601-1987: libiconv.
+* KS_C_5601-1987, not recognised by recode: Tabular.
+* KS_C_5601-1989: libiconv.
+* KSC5601.1987-0: libiconv.
+* KSC5636, aliases and source: Tabular.
+* KSC_5601, aliases: libiconv.
+* KSX1001(1992): libiconv.
+* l1: Tabular.
+* L1: libiconv.
+* l2: Tabular.
+* L2: libiconv.
+* l3: Tabular.
+* L3: libiconv.
+* l4: Tabular.
+* L4: libiconv.
+* l5: Tabular.
+* L5: libiconv.
+* L6 <1>: Tabular.
+* L6: libiconv.
+* l7: Tabular.
+* L7: libiconv.
+* l8: Tabular.
+* L8: libiconv.
+* l9: Tabular.
+* lap: Tabular.
+* LaTeX, a charset: LaTeX.
+* Latin-1: ISO 8859.
+* latin-greek, aliases and source: Tabular.
+* Latin-greek-1, aliases and source: Tabular.
+* latin-lap: Tabular.
+* latin1: Tabular.
+* LATIN1: libiconv.
+* latin1-2-5: Tabular.
+* latin2: Tabular.
+* LATIN2: libiconv.
+* latin3: Tabular.
+* LATIN3: libiconv.
+* latin4: Tabular.
+* LATIN4: libiconv.
+* latin5: Tabular.
+* LATIN5: libiconv.
+* latin6: Tabular.
+* LATIN6: libiconv.
+* latin7: Tabular.
+* LATIN7: libiconv.
+* latin8: Tabular.
+* LATIN8: libiconv.
+* latin9: Tabular.
+* libiconv: libiconv.
+* libiconv, not in requests: Charset overview.
+* lin: African.
+* lingala: African.
+* ltex: LaTeX.
+* mac <1>: Apple-Mac.
+* mac: Tabular.
+* MAC: libiconv.
+* mac-is, aliases and source: Tabular.
+* MacArabic: libiconv.
+* macce <1>: Apple-Mac.
+* macce: Tabular.
+* MacCentralEurope: libiconv.
+* MacCroatian: libiconv.
+* MacCyrillic: libiconv.
+* macedonian: Tabular.
+* MacGreek: libiconv.
+* MacHebrew: libiconv.
+* MacIceland: libiconv.
+* Macintosh: libiconv.
+* macintosh, a charset, and its aliases: Apple-Mac.
+* macintosh, aliases and source: Tabular.
+* macintosh_ce, aliases and source: Tabular.
+* macintosh_ce, and its aliases: Apple-Mac.
+* MacRoman, aliases: libiconv.
+* MacRomania: libiconv.
+* MacThai: libiconv.
+* MacTurkish: libiconv.
+* MacUkraine: libiconv.
+* mnemonic, an alias for RFC1345 charset: Tabular.
+* ms-ansi: Tabular.
+* MS-ANSI: libiconv.
+* ms-arab: Tabular.
+* MS-ARAB: libiconv.
+* ms-cyrl: Tabular.
+* MS-CYRL: libiconv.
+* ms-ee: Tabular.
+* MS-EE: libiconv.
+* ms-greek: Tabular.
+* MS-GREEK: libiconv.
+* ms-hebr: Tabular.
+* MS-HEBR: libiconv.
+* ms-turk: Tabular.
+* MS-TURK: libiconv.
+* MS_KANJI: libiconv.
+* MSDOS: IBM-PC.
+* MSZ_7795.3, aliases and source: Tabular.
+* Mule, a charset: Mule.
+* MuleLao-1: libiconv.
+* NATS-DANO, aliases and source: Tabular.
+* NATS-DANO-ADD, aliases and source: Tabular.
+* NATS-SEFI, aliases and source: Tabular.
+* NATS-SEFI-ADD, aliases and source: Tabular.
+* NC_NC00-10(81): Tabular.
+* NC_NC00-10, aliases and source: Tabular.
+* next: Tabular.
+* NEXTSTEP: libiconv.
+* NeXTSTEP, aliases and source: Tabular.
+* NF_Z_62-010, aliases and source: Tabular.
+* NF_Z_62-010_(1973), aliases and source: Tabular.
+* no: Tabular.
+* no2: Tabular.
+* NOS: CDC-NOS.
+* NS_4551-1, aliases and source: Tabular.
+* NS_4551-2, aliases and source: Tabular.
+* o1: Dump.
+* o2: Dump.
+* o4: Dump.
+* Octal-1: Dump.
+* Octal-2: Dump.
+* Octal-4: Dump.
+* os2latin1: Tabular.
+* pc: IBM-PC.
+* pcl2: Tabular.
+* pclatin2: Tabular.
+* PT, aliases and source: Tabular.
+* PT2, aliases and source: Tabular.
+* QNX, an alias for a charset: Icon-QNX.
+* QP: MIME.
+* quote-printable: MIME.
+* Quoted-Printable: MIME.
+* r8: Tabular.
+* R8: libiconv.
+* ref: Tabular.
+* RFC1345, a charset, and its aliases: Tabular.
+* RFC1866: HTML.
+* RFC2070: HTML.
+* roman8: Tabular.
+* ROMAN8: libiconv.
+* rune: UCS-2.
+* sami, aliases and source: Tabular.
+* sango: African.
+* se: Tabular.
+* se2: Tabular.
+* SEN_850200_B, aliases and source: Tabular.
+* SEN_850200_C, aliases and source: Tabular.
+* serbian: Tabular.
+* SHIFT-JIS: libiconv.
+* SHIFT_JIS: libiconv.
+* SJIS, aliases: libiconv.
+* SS636127: Tabular.
+* ST_SEV_358-88: Tabular.
+* swabytes: Permutations.
+* t-bambara: African.
+* t-bra: African.
+* t-ewondo: African.
+* t-fra: African.
+* t-francais: African.
+* t-fulfude: African.
+* t-lin: African.
+* t-lingala: African.
+* t-sango: African.
+* t-wolof: African.
+* T.101-G2, not recognised by recode: Tabular.
+* T.61-7bit, aliases and source: Tabular.
+* T.61-8bit, not recognised by recode: Tabular.
+* T1: Others.
+* TCVN, aliases: libiconv.
+* TCVN, for Vienamese: Vietnamese.
+* TCVN-5712: libiconv.
+* TCVN5712-1: libiconv.
+* TCVN5712-1(1993): libiconv.
+* test15: Test.
+* test16: Test.
+* test7: Test.
+* test8: Test.
+* texi: Texinfo.
+* Texinfo, a charset: Texinfo.
+* Texte: Texte.
+* TF-16: UTF-16.
+* TF-7: UTF-7.
+* TF-8: UTF-8.
+* ti: Texinfo.
+* TIS-620, aliases: libiconv.
+* TIS620: libiconv.
+* TIS620-0: libiconv.
+* TIS620.2529-1: libiconv.
+* TIS620.2533-0: libiconv.
+* TIS620.2533-1: libiconv.
+* tree, a special charset: Surfaces.
+* txte: Texte.
+* u2: UCS-2.
+* u4: UCS-4.
+* u6: UTF-16.
+* u7: UTF-7.
+* u8: UTF-8.
+* UCS: Universal.
+* UCS-2: UCS-2.
+* UCS-2, aliases: libiconv.
+* UCS-2-INTERNAL: libiconv.
+* UCS-2-SWAPPED: libiconv.
+* UCS-2BE, aliases: libiconv.
+* UCS-2LE, aliases: libiconv.
+* UCS-4: UCS-4.
+* UCS-4, aliases: libiconv.
+* UCS-4-INTERNAL: libiconv.
+* UCS-4-SWAPPED: libiconv.
+* UCS-4BE: libiconv.
+* UCS-4LE: libiconv.
+* UHC: libiconv.
+* uk: Tabular.
+* Unicode, an alias for UTF-16: UTF-16.
+* UNICODE-1-1: libiconv.
+* UNICODE-1-1-UTF-7: libiconv.
+* UNICODE-1-1-UTF-7, and aliases: UTF-7.
+* UNICODEBIG: libiconv.
+* UNICODELITTLE: libiconv.
+* us <1>: ASCII.
+* us: Tabular.
+* US: libiconv.
+* US-ASCII <1>: ASCII.
+* US-ASCII: Tabular.
+* US-ASCII, aliases: libiconv.
+* us-dk, not recognised by recode: Tabular.
+* UTF-1: Universal.
+* UTF-16: libiconv.
+* UTF-16, and aliases: UTF-16.
+* UTF-16BE: libiconv.
+* UTF-16LE: libiconv.
+* UTF-7: UTF-7.
+* UTF-7, aliases: libiconv.
+* UTF-8: UTF-8.
+* UTF-8, aliases <1>: libiconv.
+* UTF-8, aliases: UTF-8.
+* UTF-FSS: UTF-8.
+* UTF8: libiconv.
+* VIQR: Vietnamese.
+* VISCII: Vietnamese.
+* VISCII, aliases: libiconv.
+* VISCII1.1-1: libiconv.
+* VN1, maybe not available: Vietnamese.
+* VN2, maybe not available: Vietnamese.
+* VN3, maybe not available: Vietnamese.
+* VNI: Vietnamese.
+* VPS: Vietnamese.
+* WCHAR_T: libiconv.
+* WinBaltRim: Tabular.
+* WINBALTRIM: libiconv.
+* windows-1250: Tabular.
+* WINDOWS-1250: libiconv.
+* windows-1251: Tabular.
+* WINDOWS-1251: libiconv.
+* windows-1252: Tabular.
+* WINDOWS-1252: libiconv.
+* windows-1253: Tabular.
+* WINDOWS-1253: libiconv.
+* windows-1254: Tabular.
+* WINDOWS-1254: libiconv.
+* windows-1255: Tabular.
+* WINDOWS-1255: libiconv.
+* windows-1256: Tabular.
+* WINDOWS-1256: libiconv.
+* windows-1257: Tabular.
+* WINDOWS-1257: libiconv.
+* WINDOWS-1258: libiconv.
+* WINDOWS-874: libiconv.
+* wolof: African.
+* X0201 <1>: Tabular.
+* X0201: libiconv.
+* x0201-7: Tabular.
+* X0208: libiconv.
+* X0212: libiconv.
+* x1: Dump.
+* x2: Dump.
+* x4: Dump.
+* XML-standalone: HTML.
+* yu: Tabular.
+
+
information is added as binary markers or counters within files. So,
@code{recode} should be given textual streams which are rather @emph{pure}.
-This tool pays special attention to superimposition of diacritics for some
-French representations. This orientation is mostly historical, it does
-not impair the usefulness, generality or extensibility of the program.
+This tool pays special attention to superimposition of diacritics for
+some French representations. This orientation is mostly historical, it
+does not impair the usefulness, generality or extensibility of the program.
+@samp{recode} is both a French and English word. For those who pay attention
+to those things, the proper pronunciation is French (that is, @samp{racud},
+with @samp{a} like in @samp{above}, and @samp{u} like in @samp{cut}).
The program @code{recode} has been written by Fran@,{c}ois Pinard.
With time, it got to reuse works from other contributors, and notably,
@vindex DEFAULT_CHARSET
When a charset name is omitted or left empty, the value of the
@code{DEFAULT_CHARSET} variable in the environment is used instead. If this
-variable is not defined, the @code{recode} library uses the @dfn{usual
-charset} which is installation dependent. When this variable is defined but
-has an empty value, charset names may not be omitted. Unless overriden
-when @code{recode} was installed, the usual charset is @code{Latin-1} for
-Unix systems or @code{IBM-PC} for MS-DOS/MS-Windows machines.
+variable is not defined, the @code{recode} library uses the current locale's
+encoding. On POSIX compliant systems, this depends on the first non-empty
+value among the environment variables LC_ALL, LC_CTYPE, LANG, and can be
+determined through the command @samp{locale charmap}.
If the charset name is omitted but followed by surfaces, the surfaces
then qualify the usual or default charset. For example, the request
using as hints some already identified characters of the charset. Some
examples will help introducing the idea.
-Let's presume here that @code{recode} is run on Unix, where @w{Latin-1} is the
-usual charset, and that @code{DEFAULT_CHARSET} is unset in the environment.
+Let's presume here that @code{recode} is run in an ISO-8859-1 locale, and
+that @code{DEFAULT_CHARSET} is unset in the environment.
Suppose you have guessed that code 130 (decimal) of the unknown charset
represents a lower case @samp{e} with an acute accent. That is to say
that this code should map to code 233 (decimal) in the usual charset.
@node HTML, LaTeX, Miscellaneous, Miscellaneous
@section World Wide Web representations
-@tindex HTML@r{, a charset}
-This charset is available in @code{recode} under the name @code{HTML},
-with @code{h4} as an acceptable alias.
-@c FIXME - untrue
+@cindex HTML
+@cindex SGML
+@cindex XML
+@cindex Web
+@cindex World Wide Web
+@cindex WWW
+@cindex markup language
+@cindex entities
+@cindex character entities
+@cindex character entity references
+@cindex numeric character references
+Character entities have been introduced by SGML and made widely popular
+through HTML, the markup language in use for the World Wide Web, or Web or
+WWW for short. For representing @emph{unusual} characters, HTML texts use
+special sequences, beginning with an ampersand @kbd{&} and ending with a
+semicolon @kbd{;}. The sequence may itself start with a number sigh @kbd{#}
+and be followed by digits, so forming a @dfn{numeric character reference},
+or else be an alphabetic identifier, so forming a @dfn{character entity
+reference}.
+
+The HTML standards have been revised into different HTML levels over time,
+and the list of allowable character entities differ in them. The later XML,
+meant to simplify many things, has an option (@samp{standalone=yes}) which
+much restricts that list. The @code{recode} library is able to convert
+character references between their mnemonic form and their numeric form,
+depending on aimed HTML standard level. It also can, of course, convert
+between HTML and various other charsets.
+
+Here is a list of those HTML variants which @code{recode} supports.
+Some notes have been provided by François Yergeau @email{yergeau@@alis.com}.
-HTML texts used by World Wide Web often use special sequences, beginning with
-an ampersand @kbd{&} and ending with a semicolon @kbd{;}, for representing
-characters. The sequence may itself start with a number sigh @kbd{#} and be
-followed by digits, so forming a @dfn{numeric character reference}, or else
-be an alphabetic identifier, so forming a @dfn{character entity reference}.
+@table @code
+@item XML-standalone
+@tindex h0
+@tindex XML-standalone
+This charset is available in @code{recode} under the name
+@code{XML-standalone}, with @code{h0} as an acceptable alias. It is
+documented in section 4.1 of @uref{http://www.w3.org/TR/REC-xml}.
+It only knows @samp{&}, @samp{>}, @samp{<}, @samp{"}
+and @samp{'}.
+
+@item HTML_1.1
+@tindex HTML_1.1
+@tindex h1
+This charset is available in @code{recode} under the name @code{HTML_1.1},
+with @code{h1} as an acceptable alias. HTML 1.0 was never really documented.
+
+@item HTML_2.0
+@tindex HTML_2.0
+@tindex RFC1866
+@tindex 1866
+@tindex h2
+This charset is available in @code{recode} under the name @code{HTML_2.0},
+and has @code{RFC1866}, @code{1866} and @code{h2} for aliases. HTML 2.0
+entities are listed in @w{RFC 1866}. Basically, there is an entity for
+each @emph{alphabetical} character in the right part of @w{ISO 8859-1}.
+In addition, there are four entities for syntax-significant ASCII characters:
+@samp{&}, @samp{>}, @samp{<} and @samp{"}.
+
+@item HTML-i18n
+@tindex HTML-i18n
+@tindex RFC2070
+@tindex 2070
+This charset is available in @code{recode} under the name
+@code{HTML-i18n}, and has @code{RFC2070} and @code{2070} for
+aliases. @w{RFC 2070} added entities to cover the whole right
+part of @w{ISO 8859-1}. The list is conveniently accessible at
+@uref{http://www.alis.com:8085/ietf/html/html-latin1.sgml}. In addition,
+four i18n-related entities were added: @samp{‌} (@samp{‌}),
+@samp{‍} (@samp{‍}), @samp{‎} (@samp{‎}) and @samp{‏}
+(@samp{‏}).
+
+@item HTML_3.2
+@tindex HTML_3.2
+@tindex h3
+This charset is available in @code{recode} under the name
+@code{HTML_3.2}, with @code{h3} as an acceptable alias.
+@uref{http://www.w3.org/TR/REC-html32.html, HTML 3.2} took up the full
+@w{Latin-1} list but not the i18n-related entities from @w{RFC 2070}.
+
+@item HTML_4.0
+@tindex h4
+@tindex h
+This charset is available in @code{recode} under the name @code{HTML_4.0},
+and has @code{h4} and @code{h} for aliases. Beware that the particular
+alias @code{h} is not @emph{tied} to HTML 4.0, but to the highest HTML
+level supported by @code{recode}; so it might later represent HTML level
+5 if this is ever created. @uref{http://www.w3.org/TR/REC-html40/,
+HTML 4.0} has the whole @w{Latin-1} list, a set of entities for
+symbols, mathematical symbols, and Greek letters, and another set for
+markup-significant and internationalization characters comprising the
+4 ASCII entities, the 4 i18n-related from @w{RFC 2070} plus some more.
+See @uref{http://www.w3.org/TR/REC-html40/sgml/entities.html}.
+
+@end table
Printable characters from @w{Latin-1} may be used directly in an HTML text.
However, partly because people have deficient keyboards, partly because
http://www.w3.org/TR/REC-html40/intro/sgmltut.html#h-3.2.3
@end example
-About levels of HTML, François Yergeau @email{yergeau@@alis.com} writes:
-
-@itemize @bullet
-@item
-HTML 1.0 was never really documented.
-
-@item
-HTML 2.0 entities are listed in @w{RFC 1866}. Basically, there is an entity
-for each @emph{alphabetical} character in the right part of @w{ISO 8859-1}.
-In addition, there are four entities for syntax-significant ASCII characters:
-@samp{&}, @samp{>}, @samp{<} and @samp{"}.
-
-@item
-@w{RFC 2070} (HTML-i18n) added entities to cover the whole right
-part of @w{ISO 8859-1}. The list is conveniently accessible at
-@uref{http://www.alis.com:8085/ietf/html/html-latin1.sgml}. In addition,
-four i18n-related entities were added: @samp{‌} (@samp{‌}),
-@samp{‍} (@samp{‍}), @samp{‎} (@samp{‎}) and @samp{‏}
-(@samp{‏}).
-
-@item
-@uref{http://www.w3.org/TR/REC-html32.html, HTML 3.2} took up the full
-@w{Latin-1} list but not the i18n-related entities from @w{RFC 2070}.
-
-@item
-@uref{http://www.w3.org/TR/REC-html40/, HTML 4.0} has the whole
-@w{Latin-1} list,
-a set of entities for symbols, mathematical symbols, and Greek letters,
-and another set for markup-significant and internationalization characters
-comprising the 4 ASCII entities, the 4 i18n-related from @w{RFC 2070} plus
-some more.
-@end itemize
-
-When @code{recode} translates to HTML, the translation occurs according
-to @uref{http://www.w3.org/TR/REC-html40/sgml/entities.html}.
-@c Previously: http://www.uni-passau.de/~ramsch/iso8859-1.html
-It is also assumed that @w{RFC 1866} has an equivalent contents. When
-translating @emph{from} HTML, @code{recode} accepts some alternative
-special sequences, to be forgiving when files use older HTML tables.
+When @code{recode} translates to HTML, the translation occurs according to
+the HTML level as selected by the goal charset. When translating @emph{from}
+HTML, @code{recode} not only accepts the character entity references known at
+that level, but also those of all other levels, as well as a few alternative
+special sequences, to be forgiving to files using other HTML standards.
@cindex normilise an HTML file
@cindex HTML normalization
-@set UPDATED 28 June 2000
-@set EDITION 3.5d
-@set VERSION 3.5d
+@set UPDATED 6 December 2000
+@set EDITION 3.6
+@set VERSION 3.6
del declare_alias[0]
write('\n'
' return true;\n'
+ '}\n'
+ '\n'
+ 'void\n'
+ 'delmodule_explodes (struct recode_outer *outer)\n'
+ '{\n'
'}\n')
\f
# Libiconv.
del self.declare_alias[0]
write('\n'
' return true;\n'
+ '}\n'
+ '\n'
+ 'void\n'
+ 'delmodule_strips (struct recode_outer *outer)\n'
+ '{\n'
'}\n')
# Write the pool file.
-@set UPDATED 28 June 2000
-@set EDITION 3.5d
-@set VERSION 3.5d
+@set UPDATED 6 December 2000
+@set EDITION 3.6
+@set VERSION 3.6
DLLTOOL = @DLLTOOL@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
+GLIBC21 = @GLIBC21@
LEX = @LEX@
LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
LIBOBJS = @LIBOBJS@
.SUFFIXES:
.SUFFIXES: .mo .po .pox
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && $(AUTOMAKE) --gnits i18n/Makefile
+ cd $(top_srcdir) && $(AUTOMAKE) --gnits --include-deps i18n/Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES)
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) \
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
subdir = i18n
distdir: $(DISTFILES)
- here=`cd $(top_builddir) && pwd`; \
- top_distdir=`cd $(top_distdir) && pwd`; \
- distdir=`cd $(distdir) && pwd`; \
- cd $(top_srcdir) \
- && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnits i18n/Makefile
@for file in $(DISTFILES); do \
d=$(srcdir); \
if test -d $$d/$$file; then \
msgid ""
msgstr ""
"Project-Id-Version: recode 3.5\n"
-"POT-Creation-Date: 1999-05-18 08:46-0400\n"
+"POT-Creation-Date: 2001-01-02 22:35+0100\n"
"PO-Revision-Date: 2000-05-31 22:02+02:00\n"
"Last-Translator: Niels Kristian Bech Jensen <nkbj@image.dk>\n"
"Language-Team: Danish <dansk@klid.dk>\n"
"Content-Type: text/plain; charset=ISO-8859-1\n"
"Content-Transfer-Encoding: 8-bit\n"
-#. Dump all characters.
-#: src/debug.c:287
-msgid "UCS2 Mne Description\n\n"
-msgstr "UCS2 Mne Beskrivelse\n\n"
-
-#: src/main.c:140
+#: src/main.c:142
msgid "No error"
msgstr "Ingen fejl"
-#: src/main.c:143
+#: src/main.c:145
msgid "Non canonical input"
msgstr "Ualmindelige inddata"
-#: src/main.c:146
+#: src/main.c:148
msgid "Ambiguous output"
msgstr "Flertydige uddata"
-#: src/main.c:149
+#: src/main.c:151
msgid "Untranslatable input"
msgstr "Uoversættelige inddata"
-#: src/main.c:152
+#: src/main.c:154
msgid "Invalid input"
msgstr "Ugyldige inddata"
-#: src/main.c:155
+#: src/main.c:157
msgid "System detected problem"
msgstr "Systemet fandt et problem"
-#: src/main.c:158
+#: src/main.c:160
msgid "Misuse of recoding library"
msgstr "Misbrug af omkodningsbibliotek"
-#: src/main.c:161
+#: src/main.c:163
msgid "Internal recoding bug"
msgstr "Intern omkodningsfejl"
-#: src/main.c:206
+#: src/main.c:208
msgid ""
"This program is free software; you can redistribute it and/or modify\n"
"it under the terms of the GNU General Public License as published by\n"
"Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n"
msgstr ""
"Dette program er fri software; du må redistribuere det og/eller modificere\n"
-"det under betingelserne givet i GNU General Public License som publiceret af\n"
+"det under betingelserne givet i GNU General Public License som publiceret "
+"af\n"
"Free Software Foundation; enten version 2, eller (efter dit valg) en senere\n"
"version.\n"
"\n"
"dette program; hvis ikke, så skriv til Free Software Foundation, Inc.,\n"
"59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n"
-#: src/main.c:231
+#: src/main.c:233
#, c-format
msgid "Try `%s %s' for more information.\n"
msgstr "Prøv \"%s %s\" for mere information.\n"
-#: src/main.c:235
-msgid "Free `recode' converts files between various character sets and surfaces.\n"
-msgstr "Fri \"recode\" konverterer filer mellem forskellige tegnsæt og pakninger.\n"
+#: src/main.c:237
+msgid ""
+"Free `recode' converts files between various character sets and surfaces.\n"
+msgstr ""
+"Fri \"recode\" konverterer filer mellem forskellige tegnsæt og pakninger.\n"
-#: src/main.c:239
+#: src/main.c:241
#, c-format
-msgid "\nUsage: %s [OPTION]... [ [CHARSET] | REQUEST [FILE]... ]\n"
-msgstr "\nBrug: %s [TILVALG]... [ [TEGNSÆT] | FORESPØRGSEL [FIL]... ]\n"
+msgid ""
+"\n"
+"Usage: %s [OPTION]... [ [CHARSET] | REQUEST [FILE]... ]\n"
+msgstr ""
+"\n"
+"Brug: %s [TILVALG]... [ [TEGNSÆT] | FORESPØRGSEL [FIL]... ]\n"
-#: src/main.c:242
+#: src/main.c:244
msgid ""
"\n"
"If a long option shows an argument as mandatory, then it is mandatory\n"
"obligatorisk for det tilsvarende korte tilvalg. På samme måde for valgfri\n"
"argumenter.\n"
-#: src/main.c:248
+#: src/main.c:250
+#, fuzzy
msgid ""
"\n"
"Listings:\n"
-" -l, --list[=FORMAT] list one or all known charsets\n"
-" -k, --known=PAIRS restrict charsets according to known PAIRS list\n"
+" -l, --list[=FORMAT] list one or all known charsets and aliases\n"
+" -k, --known=PAIRS restrict charsets according to known PAIRS "
+"list\n"
" -h, --header[=[LN/]NAME] write table NAME on stdout using LN, then exit\n"
" -F, --freeze-tables write out a C module holding all tables\n"
" -T, --find-subsets report all charsets being subset of others\n"
" --help vis denne hjælp og afslut\n"
" --version vis versionsnummer og afslut\n"
-#: src/main.c:261
+#: src/main.c:263
msgid ""
"\n"
"Operation modes:\n"
msgstr ""
"\n"
"Operationsmåder:\n"
-" -v, --verbose vis rækkefølgen af gennemløb, og rapportér fremskridt\n"
+" -v, --verbose vis rækkefølgen af gennemløb, og rapportér "
+"fremskridt\n"
" -q, --quiet, --silent udelad meddelelser om irreversible oversættelser\n"
" -f, --force gennemtving oversættelser, selv hvis de ikke er\n"
" reversible\n"
" -i, --sequence=files brug midlertidige filer mellem gennemløbene\n"
" --sequence=memory brug hukommelsesbuffere mellem gennemløbene\n"
-#: src/main.c:273
+#: src/main.c:275
msgid " -p, --sequence=pipe use pipe machinery for sequencing passes\n"
msgstr " -p, --sequence=pipe brug pibe-mekanismen mellem gennemløbene\n"
-#: src/main.c:278
+#: src/main.c:280
msgid " -p, --sequence=pipe same as -i (on this system)\n"
msgstr " -p, --sequence=pipe samme som -i (på dette system)\n"
-#: src/main.c:283
+#: src/main.c:285
msgid ""
"\n"
"Fine tuning:\n"
"\n"
"Fintuning:\n"
" -s, --strict brug kun nøjagtige tegnsæt selvom der mistes tegn\n"
-" -d, --diacritics oversæt kun diakritiske/specielle tegn i HTML/LaTeX\n"
+" -d, --diacritics oversæt kun diakritiske/specielle tegn i "
+"HTML/LaTeX\n"
" -S, --source[=SPR] begræns omodning til strenge og kommentarer som\n"
" for SPR\n"
-" -c, --colons brug koloner i stedet for anførselstegn som trema (¨)\n"
+" -c, --colons brug koloner i stedet for anførselstegn som trema "
+"(¨)\n"
" -g, --graphics tilnærm IBMPC linie- og kassetegn med ASCII grafik\n"
" -x, --ignore=TEGNSÆT ignorér TEGNSÆT når en omkodningssti vælges\n"
-#: src/main.c:294
+#: src/main.c:296
msgid ""
"\n"
"Option -l with no FORMAT nor CHARSET list available charsets and surfaces.\n"
"'full' (eller et af bogstaverne d, o, h eller f).\n"
#: src/main.c:302
-#, c-format
-msgid "Unless DEFAULT_CHARSET is set in environment, CHARSET defaults to `%s'.\n"
+#, fuzzy
+msgid ""
+"Unless DEFAULT_CHARSET is set in environment, CHARSET defaults to the "
+"locale\n"
+"dependent encoding, determined by LC_ALL, LC_CTYPE, LANG.\n"
msgstr "Standard TEGNSÆT er \"%s\", med mindre DEFAULT_CHARSET er angivet.\n"
-#: src/main.c:308
-msgid "CHARSET has no default, define DEFAULT_CHARSET in the environment.\n"
-msgstr "Der findes ikke et standard TEGNSÆT, angiv DEFAULT_CHARSET.\n"
-
-#: src/main.c:313
+#: src/main.c:307
msgid ""
"With -k, possible before charsets are listed for the given after CHARSET,\n"
-"both being tabular charsets, with PAIRS of the form `BEF1:AFT1,BEF2:AFT2,...'\n"
+"both being tabular charsets, with PAIRS of the form "
+"`BEF1:AFT1,BEF2:AFT2,...'\n"
"and BEFs and AFTs being codes are given as decimal numbers.\n"
msgstr ""
"Med -k vises en liste over mulige før tegnsæt for det givne efter TEGNSÆT,\n"
-"begge tabellariske tegnsæt, med PAR af typen \"FØR1:EFTER1,FØR2:EFTER2,...\"\n"
+"begge tabellariske tegnsæt, med PAR af typen "
+"\"FØR1:EFTER1,FØR2:EFTER2,...\"\n"
"hvor FØR'er og EFTER'e er tegnkoder givet efter titalssystemet.\n"
-#: src/main.c:318
-msgid "LN is some language, it may be `c', `perl' or `po'; `c' is the default.\n"
-msgstr "SPR er et programmeringssprog, f.eks. \"c\", \"perl\" eller \"po\"; \"c\" er standard.\n"
+#: src/main.c:312
+msgid ""
+"LN is some language, it may be `c', `perl' or `po'; `c' is the default.\n"
+msgstr ""
+"SPR er et programmeringssprog, f.eks. \"c\", \"perl\" eller \"po\"; \"c\" er "
+"standard.\n"
-#: src/main.c:321
+#: src/main.c:315
msgid ""
"\n"
-"REQUEST is SUBREQUEST[,SUBREQUEST]...; SUBREQUEST is ENCODING[..ENCODING]...\n"
-"ENCODING is [CHARSET][/[SURFACE]]...; REQUEST often looks like BEFORE..AFTER,\n"
+"REQUEST is SUBREQUEST[,SUBREQUEST]...; SUBREQUEST is "
+"ENCODING[..ENCODING]...\n"
+"ENCODING is [CHARSET][/[SURFACE]]...; REQUEST often looks like "
+"BEFORE..AFTER,\n"
"with BEFORE and AFTER being charsets. An omitted CHARSET implies the usual\n"
-"charset; an omitted [/SURFACE]... means the implied surfaces for CHARSET; a /\n"
+"charset; an omitted [/SURFACE]... means the implied surfaces for CHARSET; a "
+"/\n"
"with an empty surface name means no surfaces at all. See the manual.\n"
msgstr ""
"\n"
-"FORESPØRGSEL er UNDERFORESPØRGSEL[,UNDERFORESPØRGSEL]...; UNDERFORESPØRGSEL er\n"
+"FORESPØRGSEL er UNDERFORESPØRGSEL[,UNDERFORESPØRGSEL]...; UNDERFORESPØRGSEL "
+"er\n"
"INDKODNING[..INDKODNING]...; INDKODNING er [TEGNSÆT][/[PAKNING]]...\n"
"FORESPØRGSEL har ofte formen FØR..EFTER, hvor FØR og EFTER er tegnsæt.\n"
"Hvis et TEGNSÆT udelades, anvendes det normale tegnsæt; hvis [/PAKNING]...\n"
"udelades, anvendes den normale pakning af TEGNSÆT; / uden navnet på en\n"
"pakning betyder ingen pakning. Se manualen.\n"
-#: src/main.c:329
+#: src/main.c:323
msgid ""
"\n"
"If none of -i and -p are given, presume -p if no FILE, else -i.\n"
msgstr ""
"\n"
"Hvis ingen af -i eller -p er valgt, bruges -p hvis ingen FIL, ellers -i.\n"
-"Hver FIL bliver oversat oveni sig selv og overskriver originalen. Hvis ingen\n"
-"FIL er valgt, er programmet et filter, der oversætter fra std-ind til std-ud.\n"
+"Hver FIL bliver oversat oveni sig selv og overskriver originalen. Hvis "
+"ingen\n"
+"FIL er valgt, er programmet et filter, der oversætter fra std-ind til "
+"std-ud.\n"
-#: src/main.c:335
-msgid "\nReport bugs to <recode-bugs@iro.umontreal.ca>.\n"
-msgstr "\nRapportér fejl til <recode-bugs@iro.umontreal.ca>.\n"
+#: src/main.c:329
+msgid ""
+"\n"
+"Report bugs to <recode-bugs@iro.umontreal.ca>.\n"
+msgstr ""
+"\n"
+"Rapportér fejl til <recode-bugs@iro.umontreal.ca>.\n"
-#: src/main.c:431
+#: src/main.c:430
#, c-format
-msgid "Ambiguous sequence `%s'"
-msgstr "Flertydig sekvens \"%s\""
+msgid "Sequence `%s' is ambiguous"
+msgstr ""
-#: src/main.c:435
+#: src/main.c:434
#, c-format
-msgid "Unknown sequence `%s'"
-msgstr "Ukendt sekvens \"%s\""
+msgid "Sequence `%s' is unknown"
+msgstr ""
-#: src/main.c:465 src/main.c:523
+#: src/main.c:464 src/main.c:522
#, c-format
-msgid "Ambiguous language `%s'"
-msgstr "Flertydigt sprog \"%s\""
+msgid "Language `%s' is ambiguous"
+msgstr ""
#. -1
-#: src/main.c:469 src/main.c:527
+#: src/main.c:468 src/main.c:526
#, c-format
-msgid "Unknown language `%s'"
-msgstr "Ukendt sprog \"%s\""
+msgid "Language `%s' is unknown"
+msgstr ""
-#: src/main.c:561
+#: src/main.c:560
#, c-format
-msgid "Ambiguous format `%s'"
-msgstr "Flertydigt format \"%s\""
+msgid "Format `%s' is ambiguous"
+msgstr ""
-#: src/main.c:565
+#: src/main.c:564
#, c-format
-msgid "Unknown format `%s'"
-msgstr "Ukendt format \"%s\""
+msgid "Format `%s' is unknown"
+msgstr ""
-#: src/main.c:622
-msgid "\nCopyright (C) 1990, 92, 93, 94, 96, 97, 99 Free Software Foundation, Inc.\n"
-msgstr "\nOphavsret (C) 1990, 92, 93, 94, 96, 97, 99 Free Software Foundation, Inc.\n"
+#: src/main.c:621
+#, fuzzy
+msgid "Written by Franc,ois Pinard <pinard@iro.umontreal.ca>.\n"
+msgstr ""
+"\n"
+"Skrevet af François Pinard <pinard@iro.umontreal.ca>.\n"
+
+#: src/main.c:624
+msgid ""
+"\n"
+"Copyright (C) 1990, 92, 93, 94, 96, 97, 99 Free Software Foundation, Inc.\n"
+msgstr ""
+"\n"
+"Ophavsret (C) 1990, 92, 93, 94, 96, 97, 99 Free Software Foundation, Inc.\n"
-#: src/main.c:626
+#: src/main.c:628
msgid ""
"This is free software; see the source for copying conditions. There is NO\n"
"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
msgstr ""
"Dette er fri software; se kopieringsbetingelserne i kildeteksten. Der gives\n"
-"INGEN garanti; end ikke for SALGBARHED eller ANVENDELIGHED TIL NOGET FORMÅL.\n"
+"INGEN garanti; end ikke for SALGBARHED eller ANVENDELIGHED TIL NOGET "
+"FORMÅL.\n"
-#: src/main.c:630
-msgid "\nWritten by Franc,ois Pinard <pinard@iro.umontreal.ca>.\n"
-msgstr "\nSkrevet af François Pinard <pinard@iro.umontreal.ca>.\n"
+#: src/main.c:669
+#, c-format
+msgid "Symbol `%s' is unknown"
+msgstr ""
-#: src/main.c:775
+#: src/main.c:709 src/main.c:723
#, c-format
-msgid "Deprecated syntax, please prefer `%s'"
+msgid "Charset `%s' is unknown or ambiguous"
+msgstr ""
+
+#: src/main.c:754
+msgid "Required argument is missing"
+msgstr ""
+
+#: src/main.c:797
+#, fuzzy, c-format
+msgid "Syntax is deprecated, please prefer `%s'"
msgstr "Forældet syntaks, brug hellere \"%s\""
-#: src/main.c:781
+#: src/main.c:803
#, c-format
-msgid "Erroneous request `%s'"
-msgstr "Fejlagtig forespørgsel \"%s\""
+msgid "Request `%s' is erroneous"
+msgstr ""
-#: src/main.c:878
+#: src/main.c:903
#, c-format
msgid "Recoding %s..."
msgstr "Omkoder %s..."
-#: src/main.c:888
+#: src/main.c:913
msgid " done\n"
msgstr " færdig\n"
-#: src/main.c:924
-#, c-format
-msgid " failed: %s in %s..%s\n"
+#: src/main.c:954
+#, fuzzy, c-format
+msgid " failed: %s in step `%s..%s'\n"
msgstr " fejlede: %s i %s..%s\n"
-#: src/main.c:931
-#, c-format
-msgid "%s failed: %s in %s..%s"
+#: src/main.c:961
+#, fuzzy, c-format
+msgid "%s failed: %s in step `%s..%s'"
msgstr "%s fejlede: %s i %s..%s"
-#: src/main.c:954
-#, c-format
-msgid "%s in %s..%s"
+#: src/main.c:984
+#, fuzzy, c-format
+msgid "%s in step `%s..%s'"
msgstr "%s i %s..%s"
-#: src/names.c:317
+#: src/names.c:335
#, c-format
msgid "Charset %s already exists and is not %s"
msgstr "Tegnsæt %s findes allerede og er ikke %s"
-#: src/names.c:819
+#: src/names.c:831
#, c-format
msgid "Cannot list `%s', no names available for this charset"
msgstr "Kan ikke vise \"%s\", ingen navne tilgængelige for dette tegnsæt"
#. code counter
#. expected value for code counter
-#. UCS-2 translation
#. insert a while line before printing
#. Print the long table according to explode data.
-#: src/names.c:974 src/names.c:1020
+#: src/names.c:984 src/names.c:1030
#, c-format
msgid "Dec Oct Hex UCS2 Mne %s\n"
msgstr "Dec Okt Hex UCS2 Mne %s\n"
-#: src/names.c:1039
+#: src/names.c:1049
#, c-format
msgid "Sorry, no names available for `%s'"
msgstr "Beklager, ingen navne tilgængelige for \"%s\""
-#: src/outer.c:95
+#: src/outer.c:125
#, c-format
msgid "Resurfacer set more than once for `%s'"
msgstr "Genpakker indstillet flere gange for \"%s\""
-#: src/outer.c:102
+#: src/outer.c:133
#, c-format
msgid "Unsurfacer set more than once for `%s'"
msgstr "Udpakker indstillet flere gange for \"%s\""
msgstr "Virtuel hukommelse opbrugt"
#: src/recode.c:155
-#, c-format
+#, c-format, ycp-format
msgid "Codes %3d and %3d both recode to %3d"
msgstr "Tegnkoderne %3d og %3d oversættes begge til %3d"
#: src/recode.c:169
-#, c-format
+#, c-format, ycp-format
msgid "No character recodes to %3d"
msgstr "Ingen tegn oversættes til %3d"
msgid "Cannot complete table from set of known pairs"
msgstr "Kan ikke fuldende tabellen udfra mængden af kendte par"
-#: src/recode.c:492
+#: src/recode.c:497
msgid "Identity recoding, not worth a table"
msgstr "Triviel omkodning, ikke værd at bruge en tabel"
-#: src/recode.c:499
+#: src/recode.c:504
msgid "Recoding is too complex for a mere table"
msgstr "Omkodningen er for kompleks for en simpel tabel"
#. Print the header of the header file.
-#: src/recode.c:531
+#: src/recode.c:536
#, c-format
msgid "%sConversion table generated mechanically by Free `%s' %s"
msgstr "%sOmkodningstabellen er genereret automatisk af Free \"%s\" %s"
-#: src/recode.c:533
+#: src/recode.c:538
#, c-format
msgid "%sfor sequence %s.%s"
msgstr "%sfor sekvensen %s.%s"
-#: src/recode.c:724
+#: src/recode.c:744
msgid "No table to print"
msgstr "Ingen tabel at udskrive"
-#: src/request.c:35
+#: src/request.c:34
msgid "reversible"
msgstr "reversibel"
-#: src/request.c:37
+#: src/request.c:36
#, c-format
msgid "%s to %s"
msgstr "%s til %s"
-#: src/request.c:38 src/request.c:40
+#: src/request.c:37 src/request.c:39
msgid "byte"
msgstr "byte"
-#: src/request.c:39 src/request.c:41
+#: src/request.c:38 src/request.c:40
msgid "ucs2"
msgstr "ucs2"
-#: src/request.c:39 src/request.c:41
+#: src/request.c:38 src/request.c:40
msgid "variable"
msgstr "variabel"
-#: src/request.c:112
+#: src/request.c:111
msgid "*Unachievable*"
msgstr "*Uopnåelig*"
-#: src/request.c:114
+#: src/request.c:113
msgid "*mere copy*"
msgstr "*bare kopi*"
-#: src/request.c:244
+#: src/request.c:246
msgid "Virtual memory exhausted!"
msgstr "Virtuel hukommelse opbrugt!"
-#: src/request.c:263
+#: src/request.c:265
msgid "Step initialisation failed"
msgstr "Trinopstart fejlede"
-#: src/request.c:270
+#: src/request.c:272
msgid "Step initialisation failed (unprocessed options)"
msgstr "Trinopstart fejlede (ubearbejdede tilvalg)"
-#: src/request.c:566
+#: src/request.c:568
#, c-format
msgid "Request: %s\n"
msgstr "Forespørgsel: %s\n"
-#: src/request.c:702
+#: src/request.c:720
#, c-format
msgid "Shrunk to: %s\n"
msgstr "Formindsket til: %s\n"
-#: src/request.c:806 src/request.c:912
+#: src/request.c:823 src/request.c:932
#, c-format
msgid "Unrecognised surface name `%s'"
msgstr "Ukendt pakkenavn \"%s\""
-#: src/request.c:884
+#: src/request.c:903
#, c-format
msgid "No way to recode from `%s' to `%s'"
msgstr "Umuligt at oversætte fra \"%s\" til \"%s\""
-#: src/request.c:992
+#: src/request.c:1013
msgid "Expecting `..' in request"
msgstr "Forventer \"..\" i forespørgsel"
-#: src/task.c:751 src/task.c:915
+#: src/task.c:826 src/task.c:1002
#, c-format
msgid "Child process wait status is 0x%0.2x"
msgstr "Underprocessens ventestatus er 0x%0.2x"
+
+#: src/testdump.c:298
+msgid ""
+"UCS2 Mne Description\n"
+"\n"
+msgstr ""
+"UCS2 Mne Beskrivelse\n"
+"\n"
+
+#~ msgid "CHARSET has no default, define DEFAULT_CHARSET in the environment.\n"
+#~ msgstr "Der findes ikke et standard TEGNSÆT, angiv DEFAULT_CHARSET.\n"
+
+#~ msgid "Ambiguous sequence `%s'"
+#~ msgstr "Flertydig sekvens \"%s\""
+
+#~ msgid "Unknown sequence `%s'"
+#~ msgstr "Ukendt sekvens \"%s\""
+
+#~ msgid "Ambiguous language `%s'"
+#~ msgstr "Flertydigt sprog \"%s\""
+
+#~ msgid "Unknown language `%s'"
+#~ msgstr "Ukendt sprog \"%s\""
+
+#~ msgid "Ambiguous format `%s'"
+#~ msgstr "Flertydigt format \"%s\""
+
+#~ msgid "Unknown format `%s'"
+#~ msgstr "Ukendt format \"%s\""
+
+#~ msgid "Erroneous request `%s'"
+#~ msgstr "Fejlagtig forespørgsel \"%s\""
msgid ""
msgstr ""
"Project-Id-Version: recode 3.5\n"
-"POT-Creation-Date: 1999-05-18 08:46-0400\n"
+"POT-Creation-Date: 2001-01-02 22:35+0100\n"
"PO-Revision-Date: 1999-09-14 22:51+01:00\n"
"Last-Translator: Daniel Naber <dnaber@mini.gt.owl.de>\n"
"Language-Team: German <de@li.org>\n"
"Content-Type: text/plain; charset=ISO-8859-1\n"
"Content-Transfer-Encoding: 8-bit\n"
-#. Dump all characters.
-#: src/debug.c:287
-msgid "UCS2 Mne Description\n\n"
-msgstr "UCS2 Mne Beschreibung\n\n"
-
-#: src/main.c:140
+#: src/main.c:142
msgid "No error"
msgstr "Kein Fehler"
-#: src/main.c:143
+#: src/main.c:145
msgid "Non canonical input"
msgstr "Keine gültige Eingabe"
-#: src/main.c:146
+#: src/main.c:148
msgid "Ambiguous output"
msgstr "Mehrdeutige Ausgabe"
-#: src/main.c:149
+#: src/main.c:151
msgid "Untranslatable input"
msgstr "Nicht übersetzbare Eingabe"
-#: src/main.c:152
+#: src/main.c:154
msgid "Invalid input"
msgstr "Ungültige Eingabe"
-#: src/main.c:155
+#: src/main.c:157
msgid "System detected problem"
msgstr "Das System ist auf ein Problem gestossen"
-#: src/main.c:158
+#: src/main.c:160
msgid "Misuse of recoding library"
msgstr "Falsche Benutzung der Umkodierungs-Bibliothek"
-#: src/main.c:161
+#: src/main.c:163
msgid "Internal recoding bug"
msgstr "Interner Umkodierungsfehler"
-#: src/main.c:206
+#: src/main.c:208
msgid ""
"This program is free software; you can redistribute it and/or modify\n"
"it under the terms of the GNU General Public License as published by\n"
"\"GNU General Public License\" können weitere Einzelheiten nachgelesen\n"
"werden.\n"
"\n"
-"Sie sollten mit diesem Programm eine Kopie der \"GNU General Public License\"\n"
+"Sie sollten mit diesem Programm eine Kopie der \"GNU General Public "
+"License\"\n"
"erhalten haben; wenn nicht, schreiben Sie an die Free Software Foundation,\n"
"Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n"
-#: src/main.c:231
+#: src/main.c:233
#, c-format
msgid "Try `%s %s' for more information.\n"
msgstr "`%s %s' zeigt weitere Informationen.\n"
-#: src/main.c:235
-msgid "Free `recode' converts files between various character sets and surfaces.\n"
+#: src/main.c:237
+msgid ""
+"Free `recode' converts files between various character sets and surfaces.\n"
msgstr ""
"`recode' konvertiert Dateien zwischen diversen Zeichensätzen und\n"
"-formaten.\n"
-#: src/main.c:239
+#: src/main.c:241
#, c-format
-msgid "\nUsage: %s [OPTION]... [ [CHARSET] | REQUEST [FILE]... ]\n"
-msgstr "\nAufruf: %s [OPTION]... [ [ZEISATZ] | ANFRAGE [DATEI]... ]\n"
+msgid ""
+"\n"
+"Usage: %s [OPTION]... [ [CHARSET] | REQUEST [FILE]... ]\n"
+msgstr ""
+"\n"
+"Aufruf: %s [OPTION]... [ [ZEISATZ] | ANFRAGE [DATEI]... ]\n"
-#: src/main.c:242
+#: src/main.c:244
msgid ""
"\n"
"If a long option shows an argument as mandatory, then it is mandatory\n"
"davon, ob die Kurz- oder Langschreibweise der Option benutzt wird.\n"
"Entsprechendes gilt für optionale Argumente.\n"
-#: src/main.c:248
+#: src/main.c:250
+#, fuzzy
msgid ""
"\n"
"Listings:\n"
-" -l, --list[=FORMAT] list one or all known charsets\n"
-" -k, --known=PAIRS restrict charsets according to known PAIRS list\n"
+" -l, --list[=FORMAT] list one or all known charsets and aliases\n"
+" -k, --known=PAIRS restrict charsets according to known PAIRS "
+"list\n"
" -h, --header[=[LN/]NAME] write table NAME on stdout using LN, then exit\n"
" -F, --freeze-tables write out a C module holding all tables\n"
" -T, --find-subsets report all charsets being subset of others\n"
msgstr ""
"\n"
"Auflistungen:\n"
-" -l, --list[=FORMAT] Einen oder alle bekannten Zeichensätze auflisten\n"
-" -k, --known=PAARE Zeichensätze auf Liste bekannter PAARE beschränken\n"
+" -l, --list[=FORMAT] Einen oder alle bekannten Zeichensätze "
+"auflisten\n"
+" -k, --known=PAARE Zeichensätze auf Liste bekannter PAARE "
+"beschränken\n"
" -h, --header[=[LN/]NAME] LN-Code für Tabelle NAME ausgeben\n"
" -F, --freeze-tables Ein C-Modul mit allen Tabellen ausgeben\n"
-" -T, --find-subsets Alle Zeichensätze ausgeben, die Untermengen von\n"
+" -T, --find-subsets Alle Zeichensätze ausgeben, die Untermengen "
+"von\n"
" anderen Zeichensätzen sind\n"
" -C, --copyright Copyright und Kopierbedingungen anzeigen\n"
" --help Diese Hilfe anzeigen\n"
" --version Versionsnummer ausgeben\n"
-#: src/main.c:261
+#: src/main.c:263
msgid ""
"\n"
"Operation modes:\n"
msgstr ""
"\n"
"Funktionsmodi:\n"
-" -v, --verbose Reihenfolge der Umkodierungsschritte und Fortschritt\n"
+" -v, --verbose Reihenfolge der Umkodierungsschritte und "
+"Fortschritt\n"
" anzeigen\n"
-" -q, --quiet, --silent Keine Meldungen über nicht umkehrbare Umkodierungen\n"
-" -f, --force Umkodierung vornehmen, auch wenn sie nicht umkehrbar ist\n"
-" -t, --touch Nach der Umkodierung ein 'touch' auf die umkodierte\n"
+" -q, --quiet, --silent Keine Meldungen über nicht umkehrbare "
+"Umkodierungen\n"
+" -f, --force Umkodierung vornehmen, auch wenn sie nicht "
+"umkehrbar ist\n"
+" -t, --touch Nach der Umkodierung ein 'touch' auf die "
+"umkodierte\n"
" Datei ausführen\n"
" -i, --sequence=files Für Zwischenschritte temporäre Dateien anlegen\n"
" --sequence=memory Für Zwischenschritte Speicherpuffer verwenden\n"
-#: src/main.c:273
+#: src/main.c:275
msgid " -p, --sequence=pipe use pipe machinery for sequencing passes\n"
-msgstr " -p, --sequence=pipe benutze \"pipe\" für Abarbeitung der Schritte\n"
+msgstr ""
+" -p, --sequence=pipe benutze \"pipe\" für Abarbeitung der Schritte\n"
-#: src/main.c:278
+#: src/main.c:280
msgid " -p, --sequence=pipe same as -i (on this system)\n"
msgstr " -p, --sequence=pipe das gleiche wie '-i' (auf diesem System)\n"
-#: src/main.c:283
+#: src/main.c:285
msgid ""
"\n"
"Fine tuning:\n"
msgstr ""
"\n"
"Feineinstellungen:\n"
-" -s, --strict Strikte Abbildung benutzen, auch bei Zeichenverlust\n"
-" -d, --diacritics Nur Akzente/Umlaute umkodieren (z.B. für HTML/LaTeX)\n"
+" -s, --strict Strikte Abbildung benutzen, auch bei "
+"Zeichenverlust\n"
+" -d, --diacritics Nur Akzente/Umlaute umkodieren (z.B. für "
+"HTML/LaTeX)\n"
" -S, --source[=LN] Bei LN nur Zeichenketten und Kommentare umkodieren\n"
-" -c, --colons benutze ':' statt '\"' für Umlaute (z.B. 'fu:r' statt\n"
+" -c, --colons benutze ':' statt '\"' für Umlaute (z.B. 'fu:r' "
+"statt\n"
" ('fu\"r')\n"
-" -g, --graphics 'Linienzeichen' des IBMPC-Zeichensatzes durch ähnliche\n"
+" -g, --graphics 'Linienzeichen' des IBMPC-Zeichensatzes durch "
+"ähnliche\n"
" ASCII-Zeichen darstellen\n"
-" -x, --ignore=ZEISATZ ZEISATZ bei der Wahl der Kodierungsschritte ignorieren\n"
+" -x, --ignore=ZEISATZ ZEISATZ bei der Wahl der Kodierungsschritte "
+"ignorieren\n"
-#: src/main.c:294
+#: src/main.c:296
msgid ""
"\n"
"Option -l with no FORMAT nor CHARSET list available charsets and surfaces.\n"
msgstr ""
"\n"
"Die Option -l ohne FORMAT und ZEISATZ listet alle Zeichensätze und -formate\n"
-"auf. FORMAT ist `decimal', `octal', `hexadecimal' oder `full' (können durch den\n"
+"auf. FORMAT ist `decimal', `octal', `hexadecimal' oder `full' (können durch "
+"den\n"
"Anfangsbuchstaben abgekürzt werden)\n"
#: src/main.c:302
-#, c-format
-msgid "Unless DEFAULT_CHARSET is set in environment, CHARSET defaults to `%s'.\n"
+#, fuzzy
+msgid ""
+"Unless DEFAULT_CHARSET is set in environment, CHARSET defaults to the "
+"locale\n"
+"dependent encoding, determined by LC_ALL, LC_CTYPE, LANG.\n"
msgstr ""
"Wenn die Umgebungsvariable DEFAULT_CHARSET nicht gesetzt ist,\n"
"gilt für ZEISATZ ist die Voreinstellung `%s'.\n"
-#: src/main.c:308
-msgid "CHARSET has no default, define DEFAULT_CHARSET in the environment.\n"
-msgstr ""
-"Für ZEISATZ existiert keine Voreinstellung, bitte die Umgebungsvariable\n"
-"DEFAULT_CHARSET setzen.\n"
-
-#: src/main.c:313
+#: src/main.c:307
msgid ""
"With -k, possible before charsets are listed for the given after CHARSET,\n"
-"both being tabular charsets, with PAIRS of the form `BEF1:AFT1,BEF2:AFT2,...'\n"
+"both being tabular charsets, with PAIRS of the form "
+"`BEF1:AFT1,BEF2:AFT2,...'\n"
"and BEFs and AFTs being codes are given as decimal numbers.\n"
msgstr ""
"Mit '-k' werden mögliche 'Vorher'-Zeichensätze für den 'Nachher'-ZEISATZ\n"
-"ausgegeben, mit PAAREn der Form 'VOR1:NACH1,VOR2:NACH2,...', wobei die VORs und\n"
+"ausgegeben, mit PAAREn der Form 'VOR1:NACH1,VOR2:NACH2,...', wobei die VORs "
+"und\n"
"NACHs Kodes sind. Alle Kodes werden als Dezimalzahlen angegeben.\n"
-#: src/main.c:318
-msgid "LN is some language, it may be `c', `perl' or `po'; `c' is the default.\n"
+#: src/main.c:312
+msgid ""
+"LN is some language, it may be `c', `perl' or `po'; `c' is the default.\n"
msgstr ""
"LN ist eine Programmiersprache, z.B. `c', `perl' oder `po', wobei `c' die\n"
"Voreinstellung ist.\n"
-#: src/main.c:321
+#: src/main.c:315
msgid ""
"\n"
-"REQUEST is SUBREQUEST[,SUBREQUEST]...; SUBREQUEST is ENCODING[..ENCODING]...\n"
-"ENCODING is [CHARSET][/[SURFACE]]...; REQUEST often looks like BEFORE..AFTER,\n"
+"REQUEST is SUBREQUEST[,SUBREQUEST]...; SUBREQUEST is "
+"ENCODING[..ENCODING]...\n"
+"ENCODING is [CHARSET][/[SURFACE]]...; REQUEST often looks like "
+"BEFORE..AFTER,\n"
"with BEFORE and AFTER being charsets. An omitted CHARSET implies the usual\n"
-"charset; an omitted [/SURFACE]... means the implied surfaces for CHARSET; a /\n"
+"charset; an omitted [/SURFACE]... means the implied surfaces for CHARSET; a "
+"/\n"
"with an empty surface name means no surfaces at all. See the manual.\n"
msgstr ""
"\n"
-"ANFRAGE ist UNTERANFRAGE[,UNTERANFRAGE]...; UNTERANFRAGE ist KODIERUNG[..KODIERUNG]...\n"
-"KODIERUNG ist [ZEISATZ][/[SURFACE]]...; ANFRAGE ist meistens VORHER..NACHHER,\n"
+"ANFRAGE ist UNTERANFRAGE[,UNTERANFRAGE]...; UNTERANFRAGE ist "
+"KODIERUNG[..KODIERUNG]...\n"
+"KODIERUNG ist [ZEISATZ][/[SURFACE]]...; ANFRAGE ist meistens "
+"VORHER..NACHHER,\n"
"wobei VORHER und NACHHER Zeichensätze sind. Ohne ZEISATZ wird der übliche\n"
"Zeichensatz benutzt; ohne [/SURFACE]... wird das für ZEISATZ übliche Format\n"
-"angenommen; ein / ohne Angabe eines Formats heisst, dass kein Format angenommen\n"
+"angenommen; ein / ohne Angabe eines Formats heisst, dass kein Format "
+"angenommen\n"
"wird. Siehe Anleitung.\n"
-#: src/main.c:329
+#: src/main.c:323
msgid ""
"\n"
"If none of -i and -p are given, presume -p if no FILE, else -i.\n"
"DATEI angegen ist wird die Standardeingabe umkodiert und auf der\n"
"Standardausgabe ausgegeben.\n"
-#: src/main.c:335
-msgid "\nReport bugs to <recode-bugs@iro.umontreal.ca>.\n"
-msgstr "\nBerichte über Programmfehler bitte an <recode-bugs@iro.umontreal.ca>.\n"
+#: src/main.c:329
+msgid ""
+"\n"
+"Report bugs to <recode-bugs@iro.umontreal.ca>.\n"
+msgstr ""
+"\n"
+"Berichte über Programmfehler bitte an <recode-bugs@iro.umontreal.ca>.\n"
-#: src/main.c:431
+#: src/main.c:430
#, c-format
-msgid "Ambiguous sequence `%s'"
-msgstr "Mehrdeutige Folge `%s'"
+msgid "Sequence `%s' is ambiguous"
+msgstr ""
-#: src/main.c:435
+#: src/main.c:434
#, c-format
-msgid "Unknown sequence `%s'"
-msgstr "Unbekannte Folge `%s'"
+msgid "Sequence `%s' is unknown"
+msgstr ""
-#: src/main.c:465 src/main.c:523
+#: src/main.c:464 src/main.c:522
#, c-format
-msgid "Ambiguous language `%s'"
-msgstr "Mehrdeutiger Zeichensatz `%s'"
+msgid "Language `%s' is ambiguous"
+msgstr ""
#. -1
-#: src/main.c:469 src/main.c:527
+#: src/main.c:468 src/main.c:526
#, c-format
-msgid "Unknown language `%s'"
-msgstr "Unbekannter Zeichensatz `%s'"
+msgid "Language `%s' is unknown"
+msgstr ""
-#: src/main.c:561
+#: src/main.c:560
#, c-format
-msgid "Ambiguous format `%s'"
-msgstr "Mehrdeutiges Format `%s'"
+msgid "Format `%s' is ambiguous"
+msgstr ""
-#: src/main.c:565
+#: src/main.c:564
#, c-format
-msgid "Unknown format `%s'"
-msgstr "Unbekanntes Format `%s'"
+msgid "Format `%s' is unknown"
+msgstr ""
-#: src/main.c:622
-msgid "\nCopyright (C) 1990, 92, 93, 94, 96, 97, 99 Free Software Foundation, Inc.\n"
-msgstr "\nCopyright (C) 1990, 92, 93, 94, 96, 97, 99 Free Software Foundation, Inc.\n"
+#: src/main.c:621
+#, fuzzy
+msgid "Written by Franc,ois Pinard <pinard@iro.umontreal.ca>.\n"
+msgstr ""
+"\n"
+"Geschrieben von Franc,ois Pinard <pinard@iro.umontreal.ca>.\n"
+
+#: src/main.c:624
+msgid ""
+"\n"
+"Copyright (C) 1990, 92, 93, 94, 96, 97, 99 Free Software Foundation, Inc.\n"
+msgstr ""
+"\n"
+"Copyright (C) 1990, 92, 93, 94, 96, 97, 99 Free Software Foundation, Inc.\n"
-#: src/main.c:626
+#: src/main.c:628
msgid ""
"This is free software; see the source for copying conditions. There is NO\n"
"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
"Es wird keinerlei Gewährleistung übernommen; auch nicht für gewerbliche\n"
"Nutzbarkeit oder Tauglichkeit zu einem anderen Zweck.\n"
-#: src/main.c:630
-msgid "\nWritten by Franc,ois Pinard <pinard@iro.umontreal.ca>.\n"
-msgstr "\nGeschrieben von Franc,ois Pinard <pinard@iro.umontreal.ca>.\n"
+#: src/main.c:669
+#, c-format
+msgid "Symbol `%s' is unknown"
+msgstr ""
-#: src/main.c:775
+#: src/main.c:709 src/main.c:723
#, c-format
-msgid "Deprecated syntax, please prefer `%s'"
+msgid "Charset `%s' is unknown or ambiguous"
+msgstr ""
+
+#: src/main.c:754
+msgid "Required argument is missing"
+msgstr ""
+
+#: src/main.c:797
+#, fuzzy, c-format
+msgid "Syntax is deprecated, please prefer `%s'"
msgstr "Veraltete Syntax, bitte `%s' benutzen"
-#: src/main.c:781
+#: src/main.c:803
#, c-format
-msgid "Erroneous request `%s'"
-msgstr "Fehlerhafte Anfrage `%s'"
+msgid "Request `%s' is erroneous"
+msgstr ""
-#: src/main.c:878
+#: src/main.c:903
#, c-format
msgid "Recoding %s..."
msgstr "Kodiere `%s' um..."
-#: src/main.c:888
+#: src/main.c:913
msgid " done\n"
msgstr " fertig\n"
-#: src/main.c:924
-#, c-format
-msgid " failed: %s in %s..%s\n"
+#: src/main.c:954
+#, fuzzy, c-format
+msgid " failed: %s in step `%s..%s'\n"
msgstr " fehlgeschlagen: %s in %s..%s\n"
-#: src/main.c:931
-#, c-format
-msgid "%s failed: %s in %s..%s"
+#: src/main.c:961
+#, fuzzy, c-format
+msgid "%s failed: %s in step `%s..%s'"
msgstr "%s fehlgeschlagen: %s in %s..%s"
-#: src/main.c:954
-#, c-format
-msgid "%s in %s..%s"
+#: src/main.c:984
+#, fuzzy, c-format
+msgid "%s in step `%s..%s'"
msgstr "%s bei %s..%s"
-#: src/names.c:317
+#: src/names.c:335
#, c-format
msgid "Charset %s already exists and is not %s"
msgstr "Zeichensatz %s existiert bereits und ist nicht %s"
-#: src/names.c:819
+#: src/names.c:831
#, c-format
msgid "Cannot list `%s', no names available for this charset"
msgstr ""
#. code counter
#. expected value for code counter
-#. UCS-2 translation
#. insert a while line before printing
#. Print the long table according to explode data.
-#: src/names.c:974 src/names.c:1020
+#: src/names.c:984 src/names.c:1030
#, c-format
msgid "Dec Oct Hex UCS2 Mne %s\n"
msgstr "Dec Oct Hex UCS2 Mne %s\n"
-#: src/names.c:1039
+#: src/names.c:1049
#, c-format
msgid "Sorry, no names available for `%s'"
msgstr "Tut mir leid, aber es sind für `%s' keine Namen verfügbar"
-#: src/outer.c:95
+#: src/outer.c:125
#, c-format
msgid "Resurfacer set more than once for `%s'"
msgstr "`Resurfacer' für `%s' mehr als einmal gesetzt."
-#: src/outer.c:102
+#: src/outer.c:133
#, c-format
msgid "Unsurfacer set more than once for `%s'"
msgstr "`Unsurfacer' für `%s' mehr als einmal gesetzt."
msgstr "Virtueller Speicher voll"
#: src/recode.c:155
-#, c-format
+#, c-format, ycp-format
msgid "Codes %3d and %3d both recode to %3d"
msgstr "Die Kodes %3d und %3d werden beide konvertiert zu %3d"
#: src/recode.c:169
-#, c-format
+#, c-format, ycp-format
msgid "No character recodes to %3d"
msgstr "Kein Zeichen wird zu %3d umkodiert"
#: src/recode.c:272
msgid "Cannot complete table from set of known pairs"
-msgstr "Kann die Tabelle aus der Menge der bekannten Paare nicht vervollständigen"
+msgstr ""
+"Kann die Tabelle aus der Menge der bekannten Paare nicht vervollständigen"
-#: src/recode.c:492
+#: src/recode.c:497
msgid "Identity recoding, not worth a table"
msgstr "Umkodierung ohne Änderung, zu trivial für eine Tabelle"
-#: src/recode.c:499
+#: src/recode.c:504
msgid "Recoding is too complex for a mere table"
msgstr "Umkodierung ist für eine einfache Tabelle zu kompliziert"
#. Print the header of the header file.
-#: src/recode.c:531
+#: src/recode.c:536
#, c-format
msgid "%sConversion table generated mechanically by Free `%s' %s"
msgstr "%sKonvertierung automatisch generiert von »GNU %s %s«"
-#: src/recode.c:533
+#: src/recode.c:538
#, c-format
msgid "%sfor sequence %s.%s"
msgstr "%sfür Folge %s.%s"
-#: src/recode.c:724
+#: src/recode.c:744
msgid "No table to print"
msgstr "Keine Tabelle auszugeben"
-#: src/request.c:35
+#: src/request.c:34
msgid "reversible"
msgstr "umkehrbar"
-#: src/request.c:37
+#: src/request.c:36
#, c-format
msgid "%s to %s"
msgstr "%s nach %s"
-#: src/request.c:38 src/request.c:40
+#: src/request.c:37 src/request.c:39
msgid "byte"
msgstr "byte"
-#: src/request.c:39 src/request.c:41
+#: src/request.c:38 src/request.c:40
msgid "ucs2"
msgstr "ucs2"
-#: src/request.c:39 src/request.c:41
+#: src/request.c:38 src/request.c:40
msgid "variable"
msgstr "variabel"
-#: src/request.c:112
+#: src/request.c:111
msgid "*Unachievable*"
msgstr "*unmöglich*"
-#: src/request.c:114
+#: src/request.c:113
msgid "*mere copy*"
msgstr "*einface Kopie*"
-#: src/request.c:244
+#: src/request.c:246
msgid "Virtual memory exhausted!"
msgstr "Virtueller Speicher voll!"
-#: src/request.c:263
+#: src/request.c:265
msgid "Step initialisation failed"
msgstr "Schrittinitialisierung fehlgeschlagen"
-#: src/request.c:270
+#: src/request.c:272
msgid "Step initialisation failed (unprocessed options)"
msgstr "Schrittinitialisierung fehlgeschlagen (nichtbeachtete Optionen)"
-#: src/request.c:566
+#: src/request.c:568
#, c-format
msgid "Request: %s\n"
msgstr "Anfrage: %s\n"
-#: src/request.c:702
+#: src/request.c:720
#, c-format
msgid "Shrunk to: %s\n"
msgstr "Geschrumpft zu: %s\n"
-#: src/request.c:806 src/request.c:912
+#: src/request.c:823 src/request.c:932
#, c-format
msgid "Unrecognised surface name `%s'"
msgstr "Unbekannter `surface' Name `%s'"
-#: src/request.c:884
+#: src/request.c:903
#, c-format
msgid "No way to recode from `%s' to `%s'"
msgstr "Keine Möglichkeit, von `%s' nach `%s' umzukodieren"
-#: src/request.c:992
+#: src/request.c:1013
msgid "Expecting `..' in request"
msgstr "In der Anfrage wird `..' erwartet"
-#: src/task.c:751 src/task.c:915
+#: src/task.c:826 src/task.c:1002
#, c-format
msgid "Child process wait status is 0x%0.2x"
msgstr "Wartezustand des Kindprozesses ist 0x%0.2x"
+
+#: src/testdump.c:298
+msgid ""
+"UCS2 Mne Description\n"
+"\n"
+msgstr ""
+"UCS2 Mne Beschreibung\n"
+"\n"
+
+#~ msgid "CHARSET has no default, define DEFAULT_CHARSET in the environment.\n"
+#~ msgstr ""
+#~ "Für ZEISATZ existiert keine Voreinstellung, bitte die Umgebungsvariable\n"
+#~ "DEFAULT_CHARSET setzen.\n"
+
+#~ msgid "Ambiguous sequence `%s'"
+#~ msgstr "Mehrdeutige Folge `%s'"
+
+#~ msgid "Unknown sequence `%s'"
+#~ msgstr "Unbekannte Folge `%s'"
+
+#~ msgid "Ambiguous language `%s'"
+#~ msgstr "Mehrdeutiger Zeichensatz `%s'"
+
+#~ msgid "Unknown language `%s'"
+#~ msgstr "Unbekannter Zeichensatz `%s'"
+
+#~ msgid "Ambiguous format `%s'"
+#~ msgstr "Mehrdeutiges Format `%s'"
+
+#~ msgid "Unknown format `%s'"
+#~ msgstr "Unbekanntes Format `%s'"
+
+#~ msgid "Erroneous request `%s'"
+#~ msgstr "Fehlerhafte Anfrage `%s'"
msgid ""
msgstr ""
"Project-Id-Version: GNU recode 3.4r\n"
-"POT-Creation-Date: 1999-05-18 08:46-0400\n"
+"POT-Creation-Date: 2001-01-02 22:35+0100\n"
"PO-Revision-Date: 1999-06-13 01:30+0000\n"
"Last-Translator: Simos Xenitellis <S.Xenitellis@rhbnc.ac.uk>\n"
"Language-Team: Greek <nls@tux.hellug.gr>\n"
"Content-Type: text/plain; charset=ISO-8859-7\n"
"Content-Transfer-Encoding: 8-bit\n"
-# src/debug.c:287
-#. Dump all characters.
-msgid "UCS2 Mne Description\n\n"
-msgstr "UCS2 Mne ÐåñéãñáöÞ\n\n"
-
# src/main.c:157
+#: src/main.c:142
msgid "No error"
msgstr "ÊáíÝíá óöÜëìá"
# src/main.c:160
+#: src/main.c:145
msgid "Non canonical input"
msgstr "Ìç êáíïíéêïðïéçìÝíç åßóïäïò"
# src/main.c:163
+#: src/main.c:148
msgid "Ambiguous output"
msgstr "ÁóáöÞò Ýîïäïò"
# src/main.c:166
+#: src/main.c:151
msgid "Untranslatable input"
msgstr "Ìç ìåôáöñÜóéìç åßóïäïò"
# src/main.c:169
+#: src/main.c:154
msgid "Invalid input"
msgstr "Ìç Ýãêõñç åßóïäïò"
# src/main.c:172
+#: src/main.c:157
msgid "System detected problem"
msgstr "Ôï óýóôçìá äéáðßóôùóå ðñüâëçìá"
# src/main.c:175
+#: src/main.c:160
msgid "Misuse of recoding library"
msgstr "ÊáêÞ ÷ñÞóç ôçò âéâëéïèÞêçò recode"
# src/main.c:178
+#: src/main.c:163
msgid "Internal recoding bug"
msgstr "Åóùôåñéêü óöÜëìá (recoding)"
# src/main.c:454
+#: src/main.c:208
msgid ""
"This program is free software; you can redistribute it and/or modify\n"
"it under the terms of the GNU General Public License as published by\n"
"Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n"
# src/main.c:479
+#: src/main.c:233
#, c-format
msgid "Try `%s %s' for more information.\n"
msgstr "ÄïêéìÜóôå `%s %s' ãéá ðåñéóóüôåñåò ðëçñïöïñßåò.\n"
# src/main.c:483
-msgid "Free `recode' converts files between various character sets and surfaces.\n"
-msgstr "Ôï åëåýèåñï `recode' ìåôáôñÝðåé áñ÷åßá ìåôáîý ðïéêßëùí óõíüëùí ÷áñáêôÞñùí êáé åðéöáíåéþí.\n"
+#: src/main.c:237
+msgid ""
+"Free `recode' converts files between various character sets and surfaces.\n"
+msgstr ""
+"Ôï åëåýèåñï `recode' ìåôáôñÝðåé áñ÷åßá ìåôáîý ðïéêßëùí óõíüëùí ÷áñáêôÞñùí "
+"êáé åðéöáíåéþí.\n"
# src/main.c:486
+#: src/main.c:241
#, c-format
-msgid "\nUsage: %s [OPTION]... [ [CHARSET] | REQUEST [FILE]... ]\n"
-msgstr "\n×ñÞóç: %s [ÅÐÉËÏÃÇ]... [ [ÓÕÍÏËÏ×ÁÑÁÊÔ¹ÑÙÍ] | ÁÉÔÇÓÇ [ÁÑ×ÅÉÏ]...\n"
+msgid ""
+"\n"
+"Usage: %s [OPTION]... [ [CHARSET] | REQUEST [FILE]... ]\n"
+msgstr ""
+"\n"
+"×ñÞóç: %s [ÅÐÉËÏÃÇ]... [ [ÓÕÍÏËÏ×ÁÑÁÊÔ¹ÑÙÍ] | ÁÉÔÇÓÇ [ÁÑ×ÅÉÏ]...\n"
# src/main.c:489
+#: src/main.c:244
msgid ""
"\n"
"If a long option shows an argument as mandatory, then it is mandatory\n"
"êáé ãéá ôéò ðñïáéñåôéêÝò ðáñáìÝôñïõò.\n"
# src/main.c:494
+#: src/main.c:250
+#, fuzzy
msgid ""
"\n"
"Listings:\n"
-" -l, --list[=FORMAT] list one or all known charsets\n"
-" -k, --known=PAIRS restrict charsets according to known PAIRS list\n"
+" -l, --list[=FORMAT] list one or all known charsets and aliases\n"
+" -k, --known=PAIRS restrict charsets according to known PAIRS "
+"list\n"
" -h, --header[=[LN/]NAME] write table NAME on stdout using LN, then exit\n"
" -F, --freeze-tables write out a C module holding all tables\n"
" -T, --find-subsets report all charsets being subset of others\n"
"Åìöáíßóåéò:\n"
" -l, --list[=ÌÏÑÖÇ] åìöÜíéóç Ýíá Þ üëá ôá ãíùóôÜ óýíïëá ÷áñáêôÞñùí\n"
" -k, --known=ÆÅÕÃÇ ðåñéïñéóìüò ôùí óõíüëùí ÷áñáêôÞñùí óýìöùíá ìå\n"
-" ôç ëßóôá áðü ãíùóôÜ ÆÅÕÃÇ. -h, --header[=[LN/]ÏÍÏÌÁ] åìöÜíéóç ôïõ ðßíáêá ÏÍÏÌÁ óôçí êáíïíéêÞ Ýîïäï\n"
+" ôç ëßóôá áðü ãíùóôÜ ÆÅÕÃÇ. -h, "
+"--header[=[LN/]ÏÍÏÌÁ] åìöÜíéóç ôïõ ðßíáêá ÏÍÏÌÁ óôçí êáíïíéêÞ Ýîïäï\n"
" ìå ÷ñÞóç ôïõ LN, ìåôÜ Ýîïäïò\n"
" -F, --freeze-tables åìöÜíéóç óå êþäéêá C ìå üëïõò ôïõò ðßíáêåò\n"
" -T, --find-subsets áíáöïñÜ üëùí ôùí óõíüëùí ÷áñáêôÞñùí ðïõ åßíáé\n"
" --version åìöÜíéóç ðëçñïöïñéþí Ýêäïóçò êáé Ýîïäïò\n"
# src/main.c:506
+#: src/main.c:263
msgid ""
"\n"
"Operation modes:\n"
"ÊáôáóôÜóåéò ëåéôïõñãßáò:\n"
" -v, --verbose áíáöïñÜ äéáäï÷Þò âçìÜôùí êáé ðñïüäïõ\n"
" -q, --quiet, --silent áðüêñõøç ìçíõìÜôùí ìç-áíôéóôñåðôþí ìåôáôñïðþí\n"
-" -f, --force åðéâïëÞ ìåôáôñïðþí áêüìá êáé áí åßíáé ìç áíôéóôñåðôÝò\n"
-" -t, --touch åíçìÝñùóç ôçò çìåñïìçíßáò ôùí ìåôáôñåðïìÝíùí áñ÷åßùí\n"
+" -f, --force åðéâïëÞ ìåôáôñïðþí áêüìá êáé áí åßíáé ìç "
+"áíôéóôñåðôÝò\n"
+" -t, --touch åíçìÝñùóç ôçò çìåñïìçíßáò ôùí ìåôáôñåðïìÝíùí "
+"áñ÷åßùí\n"
" ìåôÜ ôçí áíôéêáôÜóôáóç\n"
" -i, --sequence=files ÷ñÞóç åíäéÜìåóùí áñ÷åßùí óôá äéáäï÷éêÜ ðåñÜóìáôá\n"
" --sequence=memory ÷ñÞóç åíôáìéåõôþí ìíÞìçò óôá äéáäï÷éêÜ ðåñÜóìáôá\n"
# src/main.c:517
+#: src/main.c:275
msgid " -p, --sequence=pipe use pipe machinery for sequencing passes\n"
msgstr " -p, --sequence=pipe ÷ñÞóç óùëÞíùóçò óôá äéáäï÷éêÜ ðåñÜóìáôá\n"
# src/main.c:521
+#: src/main.c:280
msgid " -p, --sequence=pipe same as -i (on this system)\n"
msgstr " -p, --sequence=pipe ôï ßäéï ìå -i (óå áõôü ôï óýóôçìá)\n"
# src/main.c:525
+#: src/main.c:285
msgid ""
"\n"
"Fine tuning:\n"
msgstr ""
"\n"
"Ñõèìßóåéò:\n"
-" -s, --strict ÷ñÞóç áõóôçñþí óõó÷åôßóåùí, áêüìá êáé åëåýèåñùí ÷áñáêôÞñùí\n"
-" -d, --diacritics ìåôáôñïðÞ ìüíï äéáêñéôéêþí Þ ðáñüìïéùí ãéá HTML/LaTeX\n"
+" -s, --strict ÷ñÞóç áõóôçñþí óõó÷åôßóåùí, áêüìá êáé åëåýèåñùí "
+"÷áñáêôÞñùí\n"
+" -d, --diacritics ìåôáôñïðÞ ìüíï äéáêñéôéêþí Þ ðáñüìïéùí ãéá "
+"HTML/LaTeX\n"
" -S, --source[=LN] ðåñéïñéóìüò ìåôáôñïðþí óå áëöáñéèìçôéêÜ êáé ó÷üëéá\n"
" êÜôá ôï LN\n"
-" -c, --colons ÷ñÞóç êïëþíùí áíôß äéðëþí åéóáãùãéêþí ãéá ôç äéáßñåóç\n"
+" -c, --colons ÷ñÞóç êïëþíùí áíôß äéðëþí åéóáãùãéêþí ãéá ôç "
+"äéáßñåóç\n"
" -g, --graphics ðñïóÝããéóç êáíüíùí IBMPC ìå ASCII ãñáöéêÜ\n"
-" -x, --ignore=ÐÉÍ×ÁÑ áãíüçóç ðßíáêá ÷áñáêôÞñùí (ÐÉÍ×ÁÑ) óôçí åðéëïãÞ ìïíïðáôéïý ìåôáôñïðþí\n"
+" -x, --ignore=ÐÉÍ×ÁÑ áãíüçóç ðßíáêá ÷áñáêôÞñùí (ÐÉÍ×ÁÑ) óôçí åðéëïãÞ "
+"ìïíïðáôéïý ìåôáôñïðþí\n"
# src/main.c:294
+#: src/main.c:296
msgid ""
"\n"
"Option -l with no FORMAT nor CHARSET list available charsets and surfaces.\n"
"Þ `full' (Þ Ýíá áðü ôá `dohf').\n"
# src/main.c:302
-#, c-format
-msgid "Unless DEFAULT_CHARSET is set in environment, CHARSET defaults to `%s'.\n"
+#: src/main.c:302
+#, fuzzy
+msgid ""
+"Unless DEFAULT_CHARSET is set in environment, CHARSET defaults to the "
+"locale\n"
+"dependent encoding, determined by LC_ALL, LC_CTYPE, LANG.\n"
msgstr ""
"Åêôüò êáé áí Ý÷åé ïñéóôåß ç ìåôáâëçôÞ ðåñéâÜëëïíôïò DEFAULT_CHARSET,\n"
"ï ðßíáêáò ÷áñáêôÞñùí (CHARSET) åßíáé åî'ïñéóìïý `%s'.\n"
-# src/main.c:308
-msgid "CHARSET has no default, define DEFAULT_CHARSET in the environment.\n"
-msgstr ""
-"O ÐÉÍ×ÁÑ (ðßíáêáò ÷áñáêôÞñùí Þ CHARSET) äåí Ý÷åé åî' ïñéóìïý ôéìÞ,\n"
-"ïñßóôå ôç ìåôáâëçôÞ ðåñéâÜëëïíôïò DEFAULT_CHARSET.\n"
-
# src/main.c:540
+#: src/main.c:307
msgid ""
"With -k, possible before charsets are listed for the given after CHARSET,\n"
-"both being tabular charsets, with PAIRS of the form `BEF1:AFT1,BEF2:AFT2,...'\n"
+"both being tabular charsets, with PAIRS of the form "
+"`BEF1:AFT1,BEF2:AFT2,...'\n"
"and BEFs and AFTs being codes are given as decimal numbers.\n"
msgstr ""
"Ìå -k, ðéèáíïß ðñïçãïýìåíïé ðßíáêåò ÷áñáêôÞñùí åìöáíßæïíôáé ãéá ôï äïèÝí\n"
"êáé ôá ÐÑÏÇÃ êáé ÅÐÏÌÅÍ, üíôáò êùäéêïß, äßíïíôáé ùò áñéèìïß.\n"
# src/main.c:318
-msgid "LN is some language, it may be `c', `perl' or `po'; `c' is the default.\n"
-msgstr "LN åßíáé ìéá ãëþóóá, ìðïñåß íá åßíáé `c', `perl' Þ `po'Ò åî'ïñéóìïý åßíáé `c'.\n"
+#: src/main.c:312
+msgid ""
+"LN is some language, it may be `c', `perl' or `po'; `c' is the default.\n"
+msgstr ""
+"LN åßíáé ìéá ãëþóóá, ìðïñåß íá åßíáé `c', `perl' Þ `po'Ò åî'ïñéóìïý åßíáé "
+"`c'.\n"
# src/main.c:321
+#: src/main.c:315
msgid ""
"\n"
-"REQUEST is SUBREQUEST[,SUBREQUEST]...; SUBREQUEST is ENCODING[..ENCODING]...\n"
-"ENCODING is [CHARSET][/[SURFACE]]...; REQUEST often looks like BEFORE..AFTER,\n"
+"REQUEST is SUBREQUEST[,SUBREQUEST]...; SUBREQUEST is "
+"ENCODING[..ENCODING]...\n"
+"ENCODING is [CHARSET][/[SURFACE]]...; REQUEST often looks like "
+"BEFORE..AFTER,\n"
"with BEFORE and AFTER being charsets. An omitted CHARSET implies the usual\n"
-"charset; an omitted [/SURFACE]... means the implied surfaces for CHARSET; a /\n"
+"charset; an omitted [/SURFACE]... means the implied surfaces for CHARSET; a "
+"/\n"
"with an empty surface name means no surfaces at all. See the manual.\n"
msgstr ""
"\n"
-"ÁÉÔÇÓÇ åßíáé ÕÐÏÁÉÔÇÓÇ[,ÕÐÏÁÉÔÇÓÇ]...Ò ÕÐÏÁÉÔÇÓÇ åßíáé ÊÙÄÉÊÏÐÏÉÇÓÇ[...ÊÙÄÉÊÏÐÏÉÇÓÇ]...\n"
-"ÊÙÄÉÊÏÐÏÉÇÓÇ åßíáé [ÐÉÍ×ÁÑ][/[ÅÐÉÖÁÍÅÉÁ]]...Ò ÁÉÔÇÓÇ óõíÞèùò ìïéÜæåé ìå ÐÑÏÇÃÏÕÌÅÍÏ...ÅÐÏÌÅÍÏ,\n"
+"ÁÉÔÇÓÇ åßíáé ÕÐÏÁÉÔÇÓÇ[,ÕÐÏÁÉÔÇÓÇ]...Ò ÕÐÏÁÉÔÇÓÇ åßíáé "
+"ÊÙÄÉÊÏÐÏÉÇÓÇ[...ÊÙÄÉÊÏÐÏÉÇÓÇ]...\n"
+"ÊÙÄÉÊÏÐÏÉÇÓÇ åßíáé [ÐÉÍ×ÁÑ][/[ÅÐÉÖÁÍÅÉÁ]]...Ò ÁÉÔÇÓÇ óõíÞèùò ìïéÜæåé ìå "
+"ÐÑÏÇÃÏÕÌÅÍÏ...ÅÐÏÌÅÍÏ,\n"
"ìå ÐÑÏÇÃÏÕÌÅÍÏ êáé ÅÐÏÌÅÍÏ íá åßíáé ðßíáêåò ÷áñáêôÞñùí. ¸íáò ÐÉÍ×ÁÑ ðïõ\n"
-"Ý÷åé ðáñáëçöèåß, õðïäçëþíåé ôï óõíÞèåò ðßíáêá ÷áñáêôÞñùíÒ Ýíá [/ÅÐÉÖÁÍÅÉÁ]...\n"
+"Ý÷åé ðáñáëçöèåß, õðïäçëþíåé ôï óõíÞèåò ðßíáêá ÷áñáêôÞñùíÒ Ýíá "
+"[/ÅÐÉÖÁÍÅÉÁ]...\n"
"ðïõ Ý÷åé ðáñáëçöèåß, óçìáßíåé ôéò õðïäçëùìÝíåò åðéöÜíåéåò ôïõ ÐÉÍ×ÁÑÒ Ýíá /\n"
-"÷ùñßò üíïìá åðéöÜíåéáò óçìáßíåé ÷ùñßò êáèüëïõ åðéöÜíåéåò. ÊïéôÜîôå ôï åã÷åéñßäéï.\n"
+"÷ùñßò üíïìá åðéöÜíåéáò óçìáßíåé ÷ùñßò êáèüëïõ åðéöÜíåéåò. ÊïéôÜîôå ôï "
+"åã÷åéñßäéï.\n"
# src/main.c:556
+#: src/main.c:323
msgid ""
"\n"
"If none of -i and -p are given, presume -p if no FILE, else -i.\n"
"FILE is specified, then act as a filter and recode stdin to stdout.\n"
msgstr ""
"\n"
-"Áí êáíÝíá áðü ôá -i êáé -p äå äßäïíôáé, èåþñçóå -p áí äåí õðÜñ÷åé ÁÑ×ÅÉÏ, áëëéþò -i.\n"
+"Áí êáíÝíá áðü ôá -i êáé -p äå äßäïíôáé, èåþñçóå -p áí äåí õðÜñ÷åé ÁÑ×ÅÉÏ, "
+"áëëéþò -i.\n"
"ÊÜèå ÁÑ×ÅÉÏ ìåôáôñÝðåôáé ðÜíù óôïí åáõôü ôïõ, êáôáóôñÝöïíôáò ôï ðñùôüôõðï.\n"
"Áí êáíÝíá ÁÑ×ÅÉÏ äåí Ý÷åé ïñéóôåß, ôüôå öÝñóïõ óáí ößëôñï êáé ìåôÝôñåøå\n"
"ôçí êáíïíéêÞ åßóïäï óôçí êáíïíéêÞ Ýîïäï.\n"
# src/main.c:562
-msgid "\nReport bugs to <recode-bugs@iro.umontreal.ca>.\n"
-msgstr "\nÁíáöÝñáôå óöÜëìáôá óôï <recode-bugs@iro.umontreal.ca>.\n"
+#: src/main.c:329
+msgid ""
+"\n"
+"Report bugs to <recode-bugs@iro.umontreal.ca>.\n"
+msgstr ""
+"\n"
+"ÁíáöÝñáôå óöÜëìáôá óôï <recode-bugs@iro.umontreal.ca>.\n"
-# src/main.c:659
+#: src/main.c:430
#, c-format
-msgid "Ambiguous sequence `%s'"
-msgstr "ÁóáöÞò óõìâïëïóåéñÜ `%s'"
+msgid "Sequence `%s' is ambiguous"
+msgstr ""
-# src/main.c:663
+#: src/main.c:434
#, c-format
-msgid "Unknown sequence `%s'"
-msgstr "¶ãíùóôç óõìâïëïóåéñÜ `%s'"
+msgid "Sequence `%s' is unknown"
+msgstr ""
-# src/main.c:693 src/main.c:747
+#: src/main.c:464 src/main.c:522
#, c-format
-msgid "Ambiguous language `%s'"
-msgstr "ÁóáöÞò ãëþóóá `%s'"
+msgid "Language `%s' is ambiguous"
+msgstr ""
-# src/main.c:697 src/main.c:751
#. -1
+#: src/main.c:468 src/main.c:526
#, c-format
-msgid "Unknown language `%s'"
-msgstr "¶ãíùóôç ãëþóóá `%s'"
+msgid "Language `%s' is unknown"
+msgstr ""
-# src/main.c:785
+#: src/main.c:560
#, c-format
-msgid "Ambiguous format `%s'"
-msgstr "ÁóáöÞò ìïñöÞ `%s'"
+msgid "Format `%s' is ambiguous"
+msgstr ""
-# src/main.c:789
+#: src/main.c:564
#, c-format
-msgid "Unknown format `%s'"
-msgstr "¶ãíùóôç ìïñöÞ `%s'"
+msgid "Format `%s' is unknown"
+msgstr ""
+
+# src/main.c:854
+#: src/main.c:621
+#, fuzzy
+msgid "Written by Franc,ois Pinard <pinard@iro.umontreal.ca>.\n"
+msgstr ""
+"\n"
+"ÃñáììÝíï áðü ôïí Franc,ois Pinard <pinard@iro.umontreal.ca>.\n"
# src/main.c:622
-msgid "\nCopyright (C) 1990, 92, 93, 94, 96, 97, 99 Free Software Foundation, Inc.\n"
-msgstr "\nCopyright (C) 1990, 92, 93, 94, 96, 97, 99 Free Software Foundation, Inc.\n"
+#: src/main.c:624
+msgid ""
+"\n"
+"Copyright (C) 1990, 92, 93, 94, 96, 97, 99 Free Software Foundation, Inc.\n"
+msgstr ""
+"\n"
+"Copyright (C) 1990, 92, 93, 94, 96, 97, 99 Free Software Foundation, Inc.\n"
# src/main.c:850
+#: src/main.c:628
msgid ""
"This is free software; see the source for copying conditions. There is NO\n"
"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
msgstr ""
-"Áõôü åßíáé åëåýèåñï ëïãéóìéêüÒ äåßôå ôï ðçãáßï êþäéêá ãéá ôïõò êáíüíåò áíôéãñáöÞò.\n"
+"Áõôü åßíáé åëåýèåñï ëïãéóìéêüÒ äåßôå ôï ðçãáßï êþäéêá ãéá ôïõò êáíüíåò "
+"áíôéãñáöÞò.\n"
"ÄÅÍ õðÜñ÷åé åããýçóçÒ ïýôå áêüìá ãéá ×ÑÇÓÉÌÏÔÇÔÁ Þ ÊÁÔÁËËÇËÏÔÇÔÁ ÃÉÁ ÅÍÁ\n"
"ÓÕÃÊÅÊÑÉÌÅÍÏ ÓÊÏÐÏ.\n"
-# src/main.c:854
-msgid "\nWritten by Franc,ois Pinard <pinard@iro.umontreal.ca>.\n"
-msgstr "\nÃñáììÝíï áðü ôïí Franc,ois Pinard <pinard@iro.umontreal.ca>.\n"
+#: src/main.c:669
+#, c-format
+msgid "Symbol `%s' is unknown"
+msgstr ""
-# src/main.c:999
+#: src/main.c:709 src/main.c:723
#, c-format
-msgid "Deprecated syntax, please prefer `%s'"
+msgid "Charset `%s' is unknown or ambiguous"
+msgstr ""
+
+#: src/main.c:754
+msgid "Required argument is missing"
+msgstr ""
+
+# src/main.c:999
+#: src/main.c:797
+#, fuzzy, c-format
+msgid "Syntax is deprecated, please prefer `%s'"
msgstr "Ìç óõíéóôþìåíç óýíôáîç, ðáñáêáëþ ðñïôéìßóôå `%s'"
-# src/main.c:1005
+#: src/main.c:803
#, c-format
-msgid "Erroneous request `%s'"
-msgstr "ÅóöáëìÝíç áßôçóç `%s'"
+msgid "Request `%s' is erroneous"
+msgstr ""
# src/main.c:1098
+#: src/main.c:903
#, c-format
msgid "Recoding %s..."
msgstr "ÌåôáôñïðÞ ôïõ %s..."
# src/main.c:1108
+#: src/main.c:913
msgid " done\n"
msgstr " Ýãéíå\n"
# src/main.c:1142
-#, c-format
-msgid " failed: %s in %s..%s\n"
+#: src/main.c:954
+#, fuzzy, c-format
+msgid " failed: %s in step `%s..%s'\n"
msgstr " áðÝôõ÷å: %s óå %s..%s\n"
# src/main.c:1149
-#, c-format
-msgid "%s failed: %s in %s..%s"
+#: src/main.c:961
+#, fuzzy, c-format
+msgid "%s failed: %s in step `%s..%s'"
msgstr "%s áðÝôõ÷å: %s óå %s..%s"
# src/main.c:1172
-#, c-format
-msgid "%s in %s..%s"
+#: src/main.c:984
+#, fuzzy, c-format
+msgid "%s in step `%s..%s'"
msgstr "%s óå %s..%s"
# src/names.c:259
+#: src/names.c:335
#, c-format
msgid "Charset %s already exists and is not %s"
msgstr "Ï ðßíáêáò ÷áñáêôÞñùí %s õðÜñ÷åé Þäç êáé äåí åßíáé ôï %s"
# src/names.c:754
+#: src/names.c:831
#, c-format
msgid "Cannot list `%s', no names available for this charset"
-msgstr "Áäõíáìßá åìöÜíéóçò ôïõ `%s', äåí õðÜñ÷ïõí ïíüìáôá äéáèÝóéìá ãéá áõôüí ôïí ðßíáêá ÷áñáêôÞñùí"
+msgstr ""
+"Áäõíáìßá åìöÜíéóçò ôïõ `%s', äåí õðÜñ÷ïõí ïíüìáôá äéáèÝóéìá ãéá áõôüí ôïí "
+"ðßíáêá ÷áñáêôÞñùí"
# src/names.c:974 src/names.c:1020
#. code counter
#. expected value for code counter
-#. UCS-2 translation
#. insert a while line before printing
#. Print the long table according to explode data.
+#: src/names.c:984 src/names.c:1030
#, c-format
msgid "Dec Oct Hex UCS2 Mne %s\n"
msgstr "Dec Oct Hex UCS2 Mne %s\n"
# src/names.c:847
+#: src/names.c:1049
#, c-format
msgid "Sorry, no names available for `%s'"
msgstr "Óõãíþìç, äåí õðÜñ÷ïõí äéáèÝóéìá ïíüìáôá ãéá ôï `%s'"
# src/outer.c:95
+#: src/outer.c:125
#, c-format
msgid "Resurfacer set more than once for `%s'"
-msgstr "Ï åðáíáôïðïèåôçôÞò åðéöÜíåéáò Ý÷åé ôåèåß ðåñéóóüôåñï áðü ìéá öïñÜ ãéá ôï `%s'"
+msgstr ""
+"Ï åðáíáôïðïèåôçôÞò åðéöÜíåéáò Ý÷åé ôåèåß ðåñéóóüôåñï áðü ìéá öïñÜ ãéá ôï `%s'"
# src/outer.c:102
+#: src/outer.c:133
#, c-format
msgid "Unsurfacer set more than once for `%s'"
-msgstr "Ï áíôéôïðïèåôçôÞò åðéöÜíåéáò Ý÷åé ôåèåß ðåñéóóüôåñï áðü ìéá öïñÜ ãéá ôï `%s'"
+msgstr ""
+"Ï áíôéôïðïèåôçôÞò åðéöÜíåéáò Ý÷åé ôåèåß ðåñéóóüôåñï áðü ìéá öïñÜ ãéá ôï `%s'"
# src/recode.c:117 src/recode.c:129
+#: src/recode.c:115 src/recode.c:127
msgid "Virtual memory exhausted"
msgstr "Ç éäåáôÞ ìíÞìç åîáíôëÞèçêå"
# src/recode.c:157
-#, c-format
+#: src/recode.c:155
+#, c-format, ycp-format
msgid "Codes %3d and %3d both recode to %3d"
msgstr "Êáé ïé äýï êùäéêïß %3d êáé %3d ìåôáôñÝðïíôáé óå %3d"
# src/recode.c:171
-#, c-format
+#: src/recode.c:169
+#, c-format, ycp-format
msgid "No character recodes to %3d"
msgstr "ÊáíÝíáò ÷áñáêôÞñáò äåí ìåôáôñÝðåôáé óå %3d"
# src/recode.c:172
+#: src/recode.c:170
msgid "Cannot invert given one-to-one table"
msgstr "Áäõíáìßá áíôéóôñïöÞò äïèÝíôïò 1-1 ðßíáêá"
# src/recode.c:226 src/recode.c:238
+#: src/recode.c:224 src/recode.c:236
#, c-format
msgid "Following diagnostics for `%s' to `%s'"
msgstr "Áêïëïõèïýí äéáãíùóôéêÜ ãéá `%s' óå `%s'"
# src/recode.c:231 src/recode.c:243
+#: src/recode.c:229 src/recode.c:241
#, c-format
msgid "Pair no. %d: <%3d, %3d> conflicts with <%3d, %3d>"
msgstr "Áñéèì. æåýãïõò %d: <%3d, %3d> óõãêñïýåôáé ìå <%3d, %3d>"
# src/recode.c:274
+#: src/recode.c:272
msgid "Cannot complete table from set of known pairs"
msgstr "Áäõíáìßá óõìðëÞñùóçò ðßíáêá áðü ôï óýíïëï ãíùóôþí æåõãþí"
# src/recode.c:504
+#: src/recode.c:497
msgid "Identity recoding, not worth a table"
msgstr "ÌçäáìçíÞ ìåôáôñïðÞ, äåí ÷ñåéÜæåôáé ðßíáêá"
# src/recode.c:512
+#: src/recode.c:504
msgid "Recoding is too complex for a mere table"
msgstr "Ç ìåôáôñïðÞ åßíáé ðïëý ðåñßðëïêç ãéá Ýíá ìüíï ðßíáêá"
# src/recode.c:544
#. Print the header of the header file.
+#: src/recode.c:536
#, c-format
msgid "%sConversion table generated mechanically by Free `%s' %s"
msgstr "%sÐßíáêáò ìåôáôñïðÞò äçìéïõñãÞèçêå ìç÷áíéêÜ áðü ôï Åëåýèåñï `%s' %s"
# src/recode.c:546
+#: src/recode.c:538
#, c-format
msgid "%sfor sequence %s.%s"
msgstr "%sãéá äéáäï÷Þ %s.%s"
# src/recode.c:736
+#: src/recode.c:744
msgid "No table to print"
msgstr "ÊáíÝíáò ðßíáêáò ãéá åêôýðùóç"
# src/request.c:35
+#: src/request.c:34
msgid "reversible"
msgstr "áíôéóôñåðôü"
# src/request.c:37
+#: src/request.c:36
#, c-format
msgid "%s to %s"
msgstr "%s óå %s"
# src/request.c:38 src/request.c:40
+#: src/request.c:37 src/request.c:39
msgid "byte"
msgstr "byte"
# src/request.c:39 src/request.c:41
+#: src/request.c:38 src/request.c:40
msgid "ucs2"
msgstr "ucs2"
# src/request.c:39 src/request.c:41
+#: src/request.c:38 src/request.c:40
msgid "variable"
msgstr "ìåôáâëçôÞ"
# src/request.c:112
+#: src/request.c:111
msgid "*Unachievable*"
msgstr "*Ìç êáôïñèùôü*"
# src/request.c:114
+#: src/request.c:113
msgid "*mere copy*"
msgstr "*áðëÞ áíôéãñáöÞ*"
# src/request.c:244
+#: src/request.c:246
msgid "Virtual memory exhausted!"
msgstr "Ç éäåáôÞ ìíÞìç åîáíôëÞèçêå!"
# src/request.c:263
+#: src/request.c:265
msgid "Step initialisation failed"
msgstr "Ôï âÞìá áñ÷éêïðïßçóçò áðÝôõ÷å"
# src/request.c:270
+#: src/request.c:272
msgid "Step initialisation failed (unprocessed options)"
msgstr "Ôï âÞìá áñ÷éêïðïßçóçò áðÝôõ÷å (åðéëïãÝò ðïõ äåí Ý÷ïõí åðåîåñãáóôåß)"
# src/request.c:566
+#: src/request.c:568
#, c-format
msgid "Request: %s\n"
msgstr "Áßôçóç: %s\n"
# src/request.c:702
+#: src/request.c:720
#, c-format
msgid "Shrunk to: %s\n"
msgstr "Óõññßêíùóç óå %s\n"
# src/request.c:806 src/request.c:912
+#: src/request.c:823 src/request.c:932
#, c-format
msgid "Unrecognised surface name `%s'"
msgstr "Ìç áíáãíùñßóçìï üíïìá åðéöÜíåéáò `%s'"
# src/request.c:884
+#: src/request.c:903
#, c-format
msgid "No way to recode from `%s' to `%s'"
msgstr "ÊáíÝíáò ôñüðïò íá ìåôáôñáðåß áðü `%s' óå `%s'"
# src/request.c:992
+#: src/request.c:1013
msgid "Expecting `..' in request"
msgstr "ÁíáìÝíåôáé `..' óôçí áßôçóç"
# src/task.c:751 src/task.c:915
+#: src/task.c:826 src/task.c:1002
#, c-format
msgid "Child process wait status is 0x%0.2x"
msgstr "Ç êáôÜóôáóç ðáñáìïíÞò ôçò èõãáôñéêÞò äéåñãáóßáò åßíáé 0x%0.2x"
+
+# src/debug.c:287
+#: src/testdump.c:298
+msgid ""
+"UCS2 Mne Description\n"
+"\n"
+msgstr ""
+"UCS2 Mne ÐåñéãñáöÞ\n"
+"\n"
+
+# src/main.c:308
+#~ msgid "CHARSET has no default, define DEFAULT_CHARSET in the environment.\n"
+#~ msgstr ""
+#~ "O ÐÉÍ×ÁÑ (ðßíáêáò ÷áñáêôÞñùí Þ CHARSET) äåí Ý÷åé åî' ïñéóìïý ôéìÞ,\n"
+#~ "ïñßóôå ôç ìåôáâëçôÞ ðåñéâÜëëïíôïò DEFAULT_CHARSET.\n"
+
+# src/main.c:659
+#~ msgid "Ambiguous sequence `%s'"
+#~ msgstr "ÁóáöÞò óõìâïëïóåéñÜ `%s'"
+
+# src/main.c:663
+#~ msgid "Unknown sequence `%s'"
+#~ msgstr "¶ãíùóôç óõìâïëïóåéñÜ `%s'"
+
+# src/main.c:693 src/main.c:747
+#~ msgid "Ambiguous language `%s'"
+#~ msgstr "ÁóáöÞò ãëþóóá `%s'"
+
+# src/main.c:697 src/main.c:751
+#~ msgid "Unknown language `%s'"
+#~ msgstr "¶ãíùóôç ãëþóóá `%s'"
+
+# src/main.c:785
+#~ msgid "Ambiguous format `%s'"
+#~ msgstr "ÁóáöÞò ìïñöÞ `%s'"
+
+# src/main.c:789
+#~ msgid "Unknown format `%s'"
+#~ msgstr "¶ãíùóôç ìïñöÞ `%s'"
+
+# src/main.c:1005
+#~ msgid "Erroneous request `%s'"
+#~ msgstr "ÅóöáëìÝíç áßôçóç `%s'"
msgid ""
msgstr ""
"Project-Id-Version: GNU recode 3.4r\n"
-"POT-Creation-Date: 1999-05-18 08:46-0400\n"
+"POT-Creation-Date: 2001-01-02 22:35+0100\n"
"PO-Revision-Date: 1999-05-21 18:45+0200\n"
"Last-Translator: Santiago Vila Doncel <sanvila@unex.es>\n"
"Language-Team: Spanish <es@li.org>\n"
"Content-Type: text/plain; charset=ISO-8859-1\n"
"Content-Transfer-Encoding: 8-bit\n"
-#. Dump all characters.
-#: src/debug.c:287
-msgid ""
-"UCS2 Mne Description\n"
-"\n"
-msgstr ""
-"UCS2 Nem Descripción\n"
-"\n"
-
-#: src/main.c:140
+#: src/main.c:142
msgid "No error"
msgstr "No hay ningún error"
-#: src/main.c:143
+#: src/main.c:145
msgid "Non canonical input"
msgstr "La entrada no es canónica"
-#: src/main.c:146
+#: src/main.c:148
msgid "Ambiguous output"
msgstr "Resultado ambiguo"
-#: src/main.c:149
+#: src/main.c:151
msgid "Untranslatable input"
msgstr "Entrada no convertible"
-#: src/main.c:152
+#: src/main.c:154
msgid "Invalid input"
msgstr "Entrada inválida"
# FIXME: "System-detected problem" or
# "The system has detected a problem"?
-#: src/main.c:155
+#: src/main.c:157
msgid "System detected problem"
msgstr "Problema detectado por el sistema"
-#: src/main.c:158
+#: src/main.c:160
msgid "Misuse of recoding library"
msgstr "Uso inadecuado de la biblioteca de conversión"
-#: src/main.c:161
+#: src/main.c:163
msgid "Internal recoding bug"
msgstr "Bug interno de conversión"
-#: src/main.c:206
+#: src/main.c:208
msgid ""
"This program is free software; you can redistribute it and/or modify\n"
"it under the terms of the GNU General Public License as published by\n"
"a la Free Software Foundation, Inc., 59 Temple Place - Suite 330,\n"
"Boston, MA 02111-1307, EE.UU.\n"
-#: src/main.c:231
+#: src/main.c:233
#, c-format
msgid "Try `%s %s' for more information.\n"
msgstr "Pruebe `%s %s' para más información.\n"
# FUZZY. GNU/Free.
-#: src/main.c:235
+#: src/main.c:237
msgid ""
"Free `recode' converts files between various character sets and surfaces.\n"
msgstr ""
"GNU `recode' convierte ficheros entre varios juegos de caracteres y "
"facetas.\n"
-#: src/main.c:239
+#: src/main.c:241
#, c-format
msgid ""
"\n"
"\n"
"Modo de empleo: %s [OPCIÓN]... [ [JUEGO] | PETICIÓN [FICHERO]... ]\n"
-#: src/main.c:242
+#: src/main.c:244
msgid ""
"\n"
"If a long option shows an argument as mandatory, then it is mandatory\n"
"obligatorio también para la opción corta equivalente. Lo mismo para los\n"
"argumentos opcionales.\n"
-#: src/main.c:248
+#: src/main.c:250
+#, fuzzy
msgid ""
"\n"
"Listings:\n"
-" -l, --list[=FORMAT] list one or all known charsets\n"
+" -l, --list[=FORMAT] list one or all known charsets and aliases\n"
" -k, --known=PAIRS restrict charsets according to known PAIRS "
"list\n"
" -h, --header[=[LN/]NAME] write table NAME on stdout using LN, then exit\n"
" --help muestra esta ayuda y finaliza\n"
" --version muestra la versión y finaliza\n"
-#: src/main.c:261
+#: src/main.c:263
msgid ""
"\n"
"Operation modes:\n"
# Pero en este caso concreto, no hace falta porque la palabra pipe forma
# parte del nombre de la opción (a la izquierda se ve). sv
#
-#: src/main.c:273
+#: src/main.c:275
msgid " -p, --sequence=pipe use pipe machinery for sequencing passes\n"
msgstr " -p, --sequence=pipe utiliza tuberías para las pasadas\n"
-#: src/main.c:278
+#: src/main.c:280
msgid " -p, --sequence=pipe same as -i (on this system)\n"
msgstr " -p, --sequence=pipe lo mismo que -i (en este sistema)\n"
-#: src/main.c:283
+#: src/main.c:285
msgid ""
"\n"
"Fine tuning:\n"
" -g, --graphics aproxima gráficos IBMPC mediante gráficos ASCII\n"
" -x, --ignore=JUEGO descarta JUEGO al escoger un camino de conversión\n"
-#: src/main.c:294
+#: src/main.c:296
msgid ""
"\n"
"Option -l with no FORMAT nor CHARSET list available charsets and surfaces.\n"
"entre `dohf').\n"
#: src/main.c:302
-#, c-format
+#, fuzzy
msgid ""
-"Unless DEFAULT_CHARSET is set in environment, CHARSET defaults to `%s'.\n"
+"Unless DEFAULT_CHARSET is set in environment, CHARSET defaults to the "
+"locale\n"
+"dependent encoding, determined by LC_ALL, LC_CTYPE, LANG.\n"
msgstr ""
"A menos que se establezca DEFAULT_CHARSET en el entorno,\n"
"CHARSET es `%s' por omisión.\n"
-#: src/main.c:308
-msgid "CHARSET has no default, define DEFAULT_CHARSET in the environment.\n"
-msgstr ""
-"CHARSET no tiene ningún valor predeterminado, defina DEFAULT_CHARSET en el\n"
-"entorno.\n"
-
-#: src/main.c:313
+#: src/main.c:307
msgid ""
"With -k, possible before charsets are listed for the given after CHARSET,\n"
"both being tabular charsets, with PAIRS of the form "
"`ANT1:DES1,ANT2:DES2,...' y siendo los ANTs y los DESs códigos dados\n"
"como números decimales.\n"
-#: src/main.c:318
+#: src/main.c:312
msgid ""
"LN is some language, it may be `c', `perl' or `po'; `c' is the default.\n"
msgstr ""
"es `c'\n"
# FIXME: [SURFACE]... means the usual surfaces or the usual surface?
-#: src/main.c:321
+#: src/main.c:315
msgid ""
"\n"
"REQUEST is SUBREQUEST[,SUBREQUEST]...; SUBREQUEST is "
"implícita para el JUEGO; una / con una faceta vacía significa que no hay\n"
"ninguna faceta. Véase el manual.\n"
-#: src/main.c:329
+#: src/main.c:323
msgid ""
"\n"
"If none of -i and -p are given, presume -p if no FILE, else -i.\n"
"funciona\n"
"como filtro y convierte la entrada estándar en la salida estándar.\n"
-#: src/main.c:335
+#: src/main.c:329
msgid ""
"\n"
"Report bugs to <recode-bugs@iro.umontreal.ca>.\n"
"\n"
"Comunicar `bugs' a <recode-bugs@iro.umontreal.ca>.\n"
-#: src/main.c:431
+#: src/main.c:430
#, c-format
-msgid "Ambiguous sequence `%s'"
-msgstr "Sucesión ambigua `%s'"
+msgid "Sequence `%s' is ambiguous"
+msgstr ""
-#: src/main.c:435
+#: src/main.c:434
#, c-format
-msgid "Unknown sequence `%s'"
-msgstr "Sucesión desconocida `%s'"
+msgid "Sequence `%s' is unknown"
+msgstr ""
-#: src/main.c:465 src/main.c:523
+#: src/main.c:464 src/main.c:522
#, c-format
-msgid "Ambiguous language `%s'"
-msgstr "Idioma ambiguo `%s'"
+msgid "Language `%s' is ambiguous"
+msgstr ""
#. -1
-#: src/main.c:469 src/main.c:527
+#: src/main.c:468 src/main.c:526
#, c-format
-msgid "Unknown language `%s'"
-msgstr "Idioma desconocido `%s'"
+msgid "Language `%s' is unknown"
+msgstr ""
-#: src/main.c:561
+#: src/main.c:560
#, c-format
-msgid "Ambiguous format `%s'"
-msgstr "Formato ambiguo `%s'"
+msgid "Format `%s' is ambiguous"
+msgstr ""
-#: src/main.c:565
+#: src/main.c:564
#, c-format
-msgid "Unknown format `%s'"
-msgstr "Formato desconocido `%s'"
+msgid "Format `%s' is unknown"
+msgstr ""
+
+# Se entiende que los usuarios españoles sí tendrán iso-8859-1.
+#: src/main.c:621
+#, fuzzy
+msgid "Written by Franc,ois Pinard <pinard@iro.umontreal.ca>.\n"
+msgstr ""
+"\n"
+"Escrito por François Pinard <pinard@iro.umontreal.ca>.\n"
# FIXME: Añadir 1998 (?).
-#: src/main.c:622
+#: src/main.c:624
msgid ""
"\n"
"Copyright (C) 1990, 92, 93, 94, 96, 97, 99 Free Software Foundation, Inc.\n"
"\n"
"Copyright (C) 1990, 92, 93, 94, 96, 97, 99 Free Software Foundation, Inc.\n"
-#: src/main.c:626
+#: src/main.c:628
msgid ""
"This is free software; see the source for copying conditions. There is NO\n"
"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
"No hay NINGUNA garantía; ni siquiera de COMERCIABILIDAD o IDONEIDAD PARA UN\n"
"FIN DETERMINADO.\n"
-# Se entiende que los usuarios españoles sí tendrán iso-8859-1.
-#: src/main.c:630
-msgid ""
-"\n"
-"Written by Franc,ois Pinard <pinard@iro.umontreal.ca>.\n"
+#: src/main.c:669
+#, c-format
+msgid "Symbol `%s' is unknown"
msgstr ""
-"\n"
-"Escrito por François Pinard <pinard@iro.umontreal.ca>.\n"
-#: src/main.c:775
+#: src/main.c:709 src/main.c:723
#, c-format
-msgid "Deprecated syntax, please prefer `%s'"
+msgid "Charset `%s' is unknown or ambiguous"
+msgstr ""
+
+#: src/main.c:754
+msgid "Required argument is missing"
+msgstr ""
+
+#: src/main.c:797
+#, fuzzy, c-format
+msgid "Syntax is deprecated, please prefer `%s'"
msgstr "Sintaxis antigua, por favor utilice `%s'"
-#: src/main.c:781
+#: src/main.c:803
#, c-format
-msgid "Erroneous request `%s'"
-msgstr "Petición errónea `%s'"
+msgid "Request `%s' is erroneous"
+msgstr ""
-#: src/main.c:878
+#: src/main.c:903
#, c-format
msgid "Recoding %s..."
msgstr "Convirtiendo %s..."
-#: src/main.c:888
+#: src/main.c:913
msgid " done\n"
msgstr " hecho\n"
-#: src/main.c:924
-#, c-format
-msgid " failed: %s in %s..%s\n"
+#: src/main.c:954
+#, fuzzy, c-format
+msgid " failed: %s in step `%s..%s'\n"
msgstr " falló: %s en %s..%s\n"
-#: src/main.c:931
-#, c-format
-msgid "%s failed: %s in %s..%s"
+#: src/main.c:961
+#, fuzzy, c-format
+msgid "%s failed: %s in step `%s..%s'"
msgstr "%s falló: %s en %s..%s"
-#: src/main.c:954
-#, c-format
-msgid "%s in %s..%s"
+#: src/main.c:984
+#, fuzzy, c-format
+msgid "%s in step `%s..%s'"
msgstr "%s en %s..%s"
-#: src/names.c:317
+#: src/names.c:335
#, c-format
msgid "Charset %s already exists and is not %s"
msgstr "El juego de caracteres %s ya existe y no es %s"
-#: src/names.c:819
+#: src/names.c:831
#, c-format
msgid "Cannot list `%s', no names available for this charset"
msgstr ""
# "Nem" de "Nemónico", supongo.
#. code counter
#. expected value for code counter
-#. UCS-2 translation
#. insert a while line before printing
#. Print the long table according to explode data.
-#: src/names.c:974 src/names.c:1020
+#: src/names.c:984 src/names.c:1030
#, c-format
msgid "Dec Oct Hex UCS2 Mne %s\n"
msgstr "Dec Oct Hex UCS2 Nem %s\n"
-#: src/names.c:1039
+#: src/names.c:1049
#, c-format
msgid "Sorry, no names available for `%s'"
msgstr "Lo siento, no hay nombres disponibles para `%s'"
# FIXME: ¿La palabra "Resurface" había desaparecido o no?
-#: src/outer.c:95
+#: src/outer.c:125
#, c-format
msgid "Resurfacer set more than once for `%s'"
msgstr "Se ha establecido `resurfacer' más de una vez para `%s'"
# FIXME: Lo mismo. ¿?
-#: src/outer.c:102
+#: src/outer.c:133
#, c-format
msgid "Unsurfacer set more than once for `%s'"
msgstr "Se ha establecido `unsurfacer' más de una vez para `%s'"
msgstr "Memoria virtual agotada"
#: src/recode.c:155
-#, c-format
+#, c-format, ycp-format
msgid "Codes %3d and %3d both recode to %3d"
msgstr "Los códigos %3d y %3d se convierten ambos en %3d"
#: src/recode.c:169
-#, c-format
+#, c-format, ycp-format
msgid "No character recodes to %3d"
msgstr "Ningún carácter se convierte en %3d"
msgstr ""
"No se puede completar la tabla a partir del conjunto de pares conocidos"
-#: src/recode.c:492
+#: src/recode.c:497
msgid "Identity recoding, not worth a table"
msgstr "Conversión identidad, no merece una tabla"
-#: src/recode.c:499
+#: src/recode.c:504
msgid "Recoding is too complex for a mere table"
msgstr "La conversión es demasiado compleja para una simple tabla"
# ## (creo que ese mensaje anterior ya no existe (?))
#
#. Print the header of the header file.
-#: src/recode.c:531
+#: src/recode.c:536
#, c-format
msgid "%sConversion table generated mechanically by Free `%s' %s"
msgstr "%sTabla de conversión generada automáticamente por GNU %s %s"
-#: src/recode.c:533
+#: src/recode.c:538
#, c-format
msgid "%sfor sequence %s.%s"
msgstr "%spara la sucesión %s.%s"
-#: src/recode.c:724
+#: src/recode.c:744
msgid "No table to print"
msgstr "No hay tabla que mostrar"
-#: src/request.c:35
+#: src/request.c:34
msgid "reversible"
msgstr "reversible"
-#: src/request.c:37
+#: src/request.c:36
#, c-format
msgid "%s to %s"
msgstr "%s a %s"
-#: src/request.c:38 src/request.c:40
+#: src/request.c:37 src/request.c:39
msgid "byte"
msgstr "byte"
-#: src/request.c:39 src/request.c:41
+#: src/request.c:38 src/request.c:40
msgid "ucs2"
msgstr "ucs2"
-#: src/request.c:39 src/request.c:41
+#: src/request.c:38 src/request.c:40
msgid "variable"
msgstr "variable"
-#: src/request.c:112
+#: src/request.c:111
msgid "*Unachievable*"
msgstr "*Imposible*"
-#: src/request.c:114
+#: src/request.c:113
msgid "*mere copy*"
msgstr "*copia pura y simple*"
-#: src/request.c:244
+#: src/request.c:246
msgid "Virtual memory exhausted!"
msgstr "¡Memoria virtual agotada!"
-#: src/request.c:263
+#: src/request.c:265
msgid "Step initialisation failed"
msgstr "Falló la etapa de inicialización"
-#: src/request.c:270
+#: src/request.c:272
msgid "Step initialisation failed (unprocessed options)"
msgstr "Falló la etapa de inicialización (opciones sin procesar)"
-#: src/request.c:566
+#: src/request.c:568
#, c-format
msgid "Request: %s\n"
msgstr "Petición: %s\n"
-#: src/request.c:702
+#: src/request.c:720
#, c-format
msgid "Shrunk to: %s\n"
msgstr "Encogido a: %s\n"
-#: src/request.c:806 src/request.c:912
+#: src/request.c:823 src/request.c:932
#, c-format
msgid "Unrecognised surface name `%s'"
msgstr "Nombre de faceta no reconocido `%s'"
-#: src/request.c:884
+#: src/request.c:903
#, c-format
msgid "No way to recode from `%s' to `%s'"
msgstr "No se puede convertir de `%s' a `%s'"
-#: src/request.c:992
+#: src/request.c:1013
msgid "Expecting `..' in request"
msgstr "Se esperaba `..' en la petición"
-#: src/task.c:751 src/task.c:915
+#: src/task.c:826 src/task.c:1002
#, c-format
msgid "Child process wait status is 0x%0.2x"
msgstr "El estado de espera del proceso hijo es 0x%0.2x"
+#: src/testdump.c:298
+msgid ""
+"UCS2 Mne Description\n"
+"\n"
+msgstr ""
+"UCS2 Nem Descripción\n"
+"\n"
+
+#~ msgid "CHARSET has no default, define DEFAULT_CHARSET in the environment.\n"
+#~ msgstr ""
+#~ "CHARSET no tiene ningún valor predeterminado, defina DEFAULT_CHARSET en el\n"
+#~ "entorno.\n"
+
+#~ msgid "Ambiguous sequence `%s'"
+#~ msgstr "Sucesión ambigua `%s'"
+
+#~ msgid "Unknown sequence `%s'"
+#~ msgstr "Sucesión desconocida `%s'"
+
+#~ msgid "Ambiguous language `%s'"
+#~ msgstr "Idioma ambiguo `%s'"
+
+#~ msgid "Unknown language `%s'"
+#~ msgstr "Idioma desconocido `%s'"
+
+#~ msgid "Ambiguous format `%s'"
+#~ msgstr "Formato ambiguo `%s'"
+
+#~ msgid "Unknown format `%s'"
+#~ msgstr "Formato desconocido `%s'"
+
+#~ msgid "Erroneous request `%s'"
+#~ msgstr "Petición errónea `%s'"
+
# Este es difícil. Se admiten sugerencias.
# Especialmente de alguien que conozca bien el programa.
# Creo que "stats" en este caso es abreviatura de "statistics"
msgid ""
msgstr ""
"Project-Id-Version: Free recode 3.5\n"
-"POT-Creation-Date: 1999-05-18 08:46-0400\n"
+"POT-Creation-Date: 2001-01-02 22:35+0100\n"
"PO-Revision-Date: 1999-08-17 14:14-04:00\n"
"Last-Translator: François Pinard <pinard@iro.umontreal.ca>\n"
"Language-Team: French <traduc@traduc.org>\n"
"Content-Type: text/plain; charset=ISO-8859-1\n"
"Content-Transfer-Encoding: 8-bit\n"
-#. Dump all characters.
-#: src/debug.c:287
-msgid ""
-"UCS2 Mne Description\n"
-"\n"
-msgstr ""
-"UCS2 Mné Description\n"
-"\n"
-
-#: src/main.c:140
+#: src/main.c:142
msgid "No error"
msgstr "Pas d'erreur"
-#: src/main.c:143
+#: src/main.c:145
msgid "Non canonical input"
msgstr "Entrée en forme non canonique"
-#: src/main.c:146
+#: src/main.c:148
msgid "Ambiguous output"
msgstr "Sortie ambiguë"
-#: src/main.c:149
+#: src/main.c:151
msgid "Untranslatable input"
msgstr "Entrée non traductible"
-#: src/main.c:152
+#: src/main.c:154
msgid "Invalid input"
msgstr "Entrée invalide"
-#: src/main.c:155
+#: src/main.c:157
msgid "System detected problem"
msgstr "Problème rapporté par le système"
-#: src/main.c:158
+#: src/main.c:160
msgid "Misuse of recoding library"
msgstr "Mauvais usage de la logithèque de recodage"
-#: src/main.c:161
+#: src/main.c:163
msgid "Internal recoding bug"
msgstr "Problème interne durant le recodage"
-#: src/main.c:206
+#: src/main.c:208
msgid ""
"This program is free software; you can redistribute it and/or modify\n"
"it under the terms of the GNU General Public License as published by\n"
"avec ce programme; sinon, écrire à la Free Software Foundation, Inc.,\n"
"59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n"
-#: src/main.c:231
+#: src/main.c:233
#, c-format
msgid "Try `%s %s' for more information.\n"
msgstr "Pour plus d'information, essayez «%s %s».\n"
-#: src/main.c:235
+#: src/main.c:237
msgid ""
"Free `recode' converts files between various character sets and surfaces.\n"
msgstr ""
"« Free recode » transforme les jeux de caractères et les surfaces de "
"fichiers\n"
-#: src/main.c:239
+#: src/main.c:241
#, c-format
msgid ""
"\n"
"\n"
"Usage: %s [OPTION]... [ [CHARSET] | DEMANDE [FICHIER]... ]\n"
-#: src/main.c:242
+#: src/main.c:244
msgid ""
"\n"
"If a long option shows an argument as mandatory, then it is mandatory\n"
"comme\n"
"étant optionnel.\n"
-#: src/main.c:248
+#: src/main.c:250
+#, fuzzy
msgid ""
"\n"
"Listings:\n"
-" -l, --list[=FORMAT] list one or all known charsets\n"
+" -l, --list[=FORMAT] list one or all known charsets and aliases\n"
" -k, --known=PAIRS restrict charsets according to known PAIRS "
"list\n"
" -h, --header[=[LN/]NAME] write table NAME on stdout using LN, then exit\n"
" --help fournir ce message d'aide, puis terminer\n"
" --version identifier la programme, puis terminer\n"
-#: src/main.c:261
+#: src/main.c:263
msgid ""
"\n"
"Operation modes:\n"
"passes\n"
" --sequence=memory utiliser des tampons pour ordonnancer les passes\n"
-#: src/main.c:273
+#: src/main.c:275
msgid " -p, --sequence=pipe use pipe machinery for sequencing passes\n"
msgstr ""
" -p, --sequence=pipe utiliser «pipe» pour ordonnancer les passes\n"
-#: src/main.c:278
+#: src/main.c:280
msgid " -p, --sequence=pipe same as -i (on this system)\n"
msgstr " -p, --sequence=pipe même chose que -i (sur cette machine)\n"
-#: src/main.c:283
+#: src/main.c:285
msgid ""
"\n"
"Fine tuning:\n"
" -g, --graphics convertir au mieux possible les «rulers» IBMPC\n"
" -x, --ignore=CHARSET ignorer CHARSET durant le choix des étapes\n"
-#: src/main.c:294
+#: src/main.c:296
msgid ""
"\n"
"Option -l with no FORMAT nor CHARSET list available charsets and surfaces.\n"
"dans «dohf».\n"
#: src/main.c:302
-#, c-format
+#, fuzzy
msgid ""
-"Unless DEFAULT_CHARSET is set in environment, CHARSET defaults to `%s'.\n"
+"Unless DEFAULT_CHARSET is set in environment, CHARSET defaults to the "
+"locale\n"
+"dependent encoding, determined by LC_ALL, LC_CTYPE, LANG.\n"
msgstr ""
"«%s» est présumé sii DEFAULT_CHARSET n'est pas défini dans l'environnement.\n"
-#: src/main.c:308
-msgid "CHARSET has no default, define DEFAULT_CHARSET in the environment.\n"
-msgstr ""
-"CHARSET ne peut être omis, définir DEFAULT_CHARSET dans l'environment.\n"
-
-#: src/main.c:313
+#: src/main.c:307
msgid ""
"With -k, possible before charsets are listed for the given after CHARSET,\n"
"both being tabular charsets, with PAIRS of the form "
"dites selon la syntaxe «AVANT1:APRÈS1,AVANT2:APRÈS2,...»; chaque code AVANT\n"
"et APRÈS est exprimé en décimal.\n"
-#: src/main.c:318
+#: src/main.c:312
msgid ""
"LN is some language, it may be `c', `perl' or `po'; `c' is the default.\n"
msgstr ""
"LN est un langage de programmation, valant `c' (implicite), `perl' ou `po'.\n"
-#: src/main.c:321
+#: src/main.c:315
msgid ""
"\n"
"REQUEST is SUBREQUEST[,SUBREQUEST]...; SUBREQUEST is "
"CHARSET; un / sans surface indique l'absence de toute surface. Voir le "
"manuel!\n"
-#: src/main.c:329
+#: src/main.c:323
msgid ""
"\n"
"If none of -i and -p are given, presume -p if no FILE, else -i.\n"
"FICHIER n'est donné, alors agir comme un filtre et recoder stdin sur "
"stdout.\n"
-#: src/main.c:335
+#: src/main.c:329
msgid ""
"\n"
"Report bugs to <recode-bugs@iro.umontreal.ca>.\n"
"Rapporter tout disfonctionnement à mailto:recode-bugs@iro.umontreal.ca;\n"
"et rapporter les problèmes de francisation à mailto:traduc@traduc.org.\n"
-#: src/main.c:431
+#: src/main.c:430
#, c-format
-msgid "Ambiguous sequence `%s'"
-msgstr "La séquence «%s» est ambiguë"
+msgid "Sequence `%s' is ambiguous"
+msgstr ""
-#: src/main.c:435
+#: src/main.c:434
#, c-format
-msgid "Unknown sequence `%s'"
-msgstr "Séquence «%s» inconnue"
+msgid "Sequence `%s' is unknown"
+msgstr ""
-#: src/main.c:465 src/main.c:523
+#: src/main.c:464 src/main.c:522
#, c-format
-msgid "Ambiguous language `%s'"
-msgstr "Le langage «%s» est ambigu"
+msgid "Language `%s' is ambiguous"
+msgstr ""
#. -1
-#: src/main.c:469 src/main.c:527
+#: src/main.c:468 src/main.c:526
#, c-format
-msgid "Unknown language `%s'"
-msgstr "Langage «%s» inconnu"
+msgid "Language `%s' is unknown"
+msgstr ""
-#: src/main.c:561
+#: src/main.c:560
#, c-format
-msgid "Ambiguous format `%s'"
-msgstr "Le format «%s» est ambigu"
+msgid "Format `%s' is ambiguous"
+msgstr ""
-#: src/main.c:565
+#: src/main.c:564
#, c-format
-msgid "Unknown format `%s'"
-msgstr "Format «%s» inconnu"
+msgid "Format `%s' is unknown"
+msgstr ""
+
+#: src/main.c:621
+#, fuzzy
+msgid "Written by Franc,ois Pinard <pinard@iro.umontreal.ca>.\n"
+msgstr ""
+"\n"
+"Écrit par François Pinard <pinard@iro.umontreal.ca>.\n"
-#: src/main.c:622
+#: src/main.c:624
msgid ""
"\n"
"Copyright (C) 1990, 92, 93, 94, 96, 97, 99 Free Software Foundation, Inc.\n"
"\n"
"Copyright © 1990, 92, 93, 94, 96, 97, 99 Free Software Foundation, Inc.\n"
-#: src/main.c:626
+#: src/main.c:628
msgid ""
"This is free software; see the source for copying conditions. There is NO\n"
"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
"les droits de copie. Il n'y AUCUNE GARANTIE; même pas celle qu'il est\n"
"DE QUALITÉ LOYALE ET MARCHANDE ou APPROPRIÉ POUR UN BUT PARTICULIER.\n"
-#: src/main.c:630
-msgid ""
-"\n"
-"Written by Franc,ois Pinard <pinard@iro.umontreal.ca>.\n"
+#: src/main.c:669
+#, c-format
+msgid "Symbol `%s' is unknown"
msgstr ""
-"\n"
-"Écrit par François Pinard <pinard@iro.umontreal.ca>.\n"
-#: src/main.c:775
+#: src/main.c:709 src/main.c:723
#, c-format
-msgid "Deprecated syntax, please prefer `%s'"
+msgid "Charset `%s' is unknown or ambiguous"
+msgstr ""
+
+#: src/main.c:754
+msgid "Required argument is missing"
+msgstr ""
+
+#: src/main.c:797
+#, fuzzy, c-format
+msgid "Syntax is deprecated, please prefer `%s'"
msgstr "Syntaxe désuète, veuillez préférer «%s»"
-#: src/main.c:781
+#: src/main.c:803
#, c-format
-msgid "Erroneous request `%s'"
-msgstr "Demande «%s» en erreur"
+msgid "Request `%s' is erroneous"
+msgstr ""
-#: src/main.c:878
+#: src/main.c:903
#, c-format
msgid "Recoding %s..."
msgstr "Recodage de «%s»..."
-#: src/main.c:888
+#: src/main.c:913
msgid " done\n"
msgstr " complété\n"
-#: src/main.c:924
-#, c-format
-msgid " failed: %s in %s..%s\n"
+#: src/main.c:954
+#, fuzzy, c-format
+msgid " failed: %s in step `%s..%s'\n"
msgstr " non-réussi: %s dans %s..%s\n"
-#: src/main.c:931
-#, c-format
-msgid "%s failed: %s in %s..%s"
+#: src/main.c:961
+#, fuzzy, c-format
+msgid "%s failed: %s in step `%s..%s'"
msgstr "%s non-réussi: %s dans %s..%s"
-#: src/main.c:954
-#, c-format
-msgid "%s in %s..%s"
+#: src/main.c:984
+#, fuzzy, c-format
+msgid "%s in step `%s..%s'"
msgstr "%s dans %s..%s"
-#: src/names.c:317
+#: src/names.c:335
#, c-format
msgid "Charset %s already exists and is not %s"
msgstr "Le charset %s existe déjà, et n'est pas %s"
-#: src/names.c:819
+#: src/names.c:831
#, c-format
msgid "Cannot list `%s', no names available for this charset"
msgstr "Incapable de lister «%s»: les noms n'y sont pas disponibles"
#. code counter
#. expected value for code counter
-#. UCS-2 translation
#. insert a while line before printing
#. Print the long table according to explode data.
-#: src/names.c:974 src/names.c:1020
+#: src/names.c:984 src/names.c:1030
#, c-format
msgid "Dec Oct Hex UCS2 Mne %s\n"
msgstr "déc oct hex UCS2 mné %s\n"
-#: src/names.c:1039
+#: src/names.c:1049
#, c-format
msgid "Sorry, no names available for `%s'"
msgstr "Désolé, aucun nom disponible pour «%s»"
-#: src/outer.c:95
+#: src/outer.c:125
#, c-format
msgid "Resurfacer set more than once for `%s'"
msgstr "Plus d'un re-surfaceur pour `%s'"
-#: src/outer.c:102
+#: src/outer.c:133
#, c-format
msgid "Unsurfacer set more than once for `%s'"
msgstr "Plus d'un dé-surfaceur pour `%s'"
msgstr "Mémoire virtuelle épuisée"
#: src/recode.c:155
-#, c-format
+#, c-format, ycp-format
msgid "Codes %3d and %3d both recode to %3d"
msgstr "Les codes %3d et %3d s'injectent tous deux dans %3d"
#: src/recode.c:169
-#, c-format
+#, c-format, ycp-format
msgid "No character recodes to %3d"
msgstr "Aucun caractère ne peut produire %3d"
msgid "Cannot complete table from set of known pairs"
msgstr "Incapable de fermer une table en partant des paires connues"
-#: src/recode.c:492
+#: src/recode.c:497
msgid "Identity recoding, not worth a table"
msgstr "Le recodage est trivial, une table n'est pas requise"
-#: src/recode.c:499
+#: src/recode.c:504
msgid "Recoding is too complex for a mere table"
msgstr "Recodage plus complexe que ce qu'une table peut décrire"
#. Print the header of the header file.
-#: src/recode.c:531
+#: src/recode.c:536
#, c-format
msgid "%sConversion table generated mechanically by Free `%s' %s"
msgstr "%sTable de conversion engendrée mécaniquement par Free «%s» %s"
-#: src/recode.c:533
+#: src/recode.c:538
#, c-format
msgid "%sfor sequence %s.%s"
msgstr "%spour séquence «%s».%s"
-#: src/recode.c:724
+#: src/recode.c:744
msgid "No table to print"
msgstr "Aucune table à imprimer"
-#: src/request.c:35
+#: src/request.c:34
msgid "reversible"
msgstr "réversible"
-#: src/request.c:37
+#: src/request.c:36
#, c-format
msgid "%s to %s"
msgstr "%s vers %s"
-#: src/request.c:38 src/request.c:40
+#: src/request.c:37 src/request.c:39
msgid "byte"
msgstr "octet"
-#: src/request.c:39 src/request.c:41
+#: src/request.c:38 src/request.c:40
msgid "ucs2"
msgstr "ucs2"
-#: src/request.c:39 src/request.c:41
+#: src/request.c:38 src/request.c:40
msgid "variable"
msgstr "flottant"
-#: src/request.c:112
+#: src/request.c:111
msgid "*Unachievable*"
msgstr "*Irréalisable*"
-#: src/request.c:114
+#: src/request.c:113
msgid "*mere copy*"
msgstr "*simple copie*"
-#: src/request.c:244
+#: src/request.c:246
msgid "Virtual memory exhausted!"
msgstr "Mémoire virtuelle épuisée"
-#: src/request.c:263
+#: src/request.c:265
msgid "Step initialisation failed"
msgstr "L'étape n'a pas été correctement initialisée"
-#: src/request.c:270
+#: src/request.c:272
msgid "Step initialisation failed (unprocessed options)"
msgstr "L'étape n'a pas été correctement initialisée (options non-traitées)"
-#: src/request.c:566
+#: src/request.c:568
#, c-format
msgid "Request: %s\n"
msgstr "Demande: %s\n"
-#: src/request.c:702
+#: src/request.c:720
#, c-format
msgid "Shrunk to: %s\n"
msgstr "Réduit à: %s\n"
-#: src/request.c:806 src/request.c:912
+#: src/request.c:823 src/request.c:932
#, c-format
msgid "Unrecognised surface name `%s'"
msgstr "Nom de surface inconnu: %s"
-#: src/request.c:884
+#: src/request.c:903
#, c-format
msgid "No way to recode from `%s' to `%s'"
msgstr "Pas moyen de recoder %s vers %s"
-#: src/request.c:992
+#: src/request.c:1013
msgid "Expecting `..' in request"
msgstr "Chaîne `..' attendue dans la demande"
-#: src/task.c:751 src/task.c:915
+#: src/task.c:826 src/task.c:1002
#, c-format
msgid "Child process wait status is 0x%0.2x"
msgstr "Le constat «wait» du processus fils est 0x%0.2x"
+#: src/testdump.c:298
+msgid ""
+"UCS2 Mne Description\n"
+"\n"
+msgstr ""
+"UCS2 Mné Description\n"
+"\n"
+
+#~ msgid "CHARSET has no default, define DEFAULT_CHARSET in the environment.\n"
+#~ msgstr ""
+#~ "CHARSET ne peut être omis, définir DEFAULT_CHARSET dans l'environment.\n"
+
+#~ msgid "Ambiguous sequence `%s'"
+#~ msgstr "La séquence «%s» est ambiguë"
+
+#~ msgid "Unknown sequence `%s'"
+#~ msgstr "Séquence «%s» inconnue"
+
+#~ msgid "Ambiguous language `%s'"
+#~ msgstr "Le langage «%s» est ambigu"
+
+#~ msgid "Unknown language `%s'"
+#~ msgstr "Langage «%s» inconnu"
+
+#~ msgid "Ambiguous format `%s'"
+#~ msgstr "Le format «%s» est ambigu"
+
+#~ msgid "Unknown format `%s'"
+#~ msgstr "Format «%s» inconnu"
+
+#~ msgid "Erroneous request `%s'"
+#~ msgstr "Demande «%s» en erreur"
+
#~ msgid " Each input char transforms into an output string,\n"
#~ msgstr " Chaque caractère lu devient une chaîne à la sortie,\n"
msgid ""
msgstr ""
"Project-Id-Version: recode 3.5\n"
-"POT-Creation-Date: 1999-05-18 08:46-0400\n"
+"POT-Creation-Date: 2001-01-02 22:35+0100\n"
"PO-Revision-Date: 2000-05-06 01:44+02:00\n"
"Last-Translator: Jacobo Tarrío Barreiro <jtarrio@iname.com>\n"
"Language-Team: Galician <gpul-traduccion@ceu.fi.udc.es>\n"
"Content-Type: text/plain; charset=iso-8859-1\n"
"Content-Transfer-Encoding: 8-bit\n"
-#. Dump all characters.
-#: src/debug.c:287
-msgid "UCS2 Mne Description\n\n"
-msgstr "UCS2 Mne Descripción\n\n"
-
-#: src/main.c:140
+#: src/main.c:142
msgid "No error"
msgstr "Sen erros"
-#: src/main.c:143
+#: src/main.c:145
msgid "Non canonical input"
msgstr "Sen saída normalizada"
-#: src/main.c:146
+#: src/main.c:148
msgid "Ambiguous output"
msgstr "Saída ambigua"
-#: src/main.c:149
+#: src/main.c:151
msgid "Untranslatable input"
msgstr "Entrada non traducible"
-#: src/main.c:152
+#: src/main.c:154
msgid "Invalid input"
msgstr "Entrada incorrecta"
-#: src/main.c:155
+#: src/main.c:157
msgid "System detected problem"
msgstr "O sistema detectou un problema"
-#: src/main.c:158
+#: src/main.c:160
msgid "Misuse of recoding library"
msgstr "Uso incorrecto da librería de recodificación"
-#: src/main.c:161
+#: src/main.c:163
msgid "Internal recoding bug"
msgstr "Erro interno na recodificación"
-#: src/main.c:206
+#: src/main.c:208
msgid ""
"This program is free software; you can redistribute it and/or modify\n"
"it under the terms of the GNU General Public License as published by\n"
"este programa; se non é o caso, escriba á Free Software Foundation, Inc.,\n"
"59 Temple Place - Suite 330, Boston, MA 02111-1307, EE.UU.\n"
-#: src/main.c:231
+#: src/main.c:233
#, c-format
msgid "Try `%s %s' for more information.\n"
msgstr "Escriba `%s %s' para obter máis información.\n"
-#: src/main.c:235
-msgid "Free `recode' converts files between various character sets and surfaces.\n"
-msgstr "O `recode' libre convirte ficheiros entre varios xogos de caracteres e superficies.\n"
+#: src/main.c:237
+msgid ""
+"Free `recode' converts files between various character sets and surfaces.\n"
+msgstr ""
+"O `recode' libre convirte ficheiros entre varios xogos de caracteres e "
+"superficies.\n"
-#: src/main.c:239
+#: src/main.c:241
#, c-format
-msgid "\nUsage: %s [OPTION]... [ [CHARSET] | REQUEST [FILE]... ]\n"
-msgstr "\nUso: %s [OPCIÓN]... [ [XOGO-DE-CARACTERES] | PETICIÓN [FICHEIRO]... ]\n"
+msgid ""
+"\n"
+"Usage: %s [OPTION]... [ [CHARSET] | REQUEST [FILE]... ]\n"
+msgstr ""
+"\n"
+"Uso: %s [OPCIÓN]... [ [XOGO-DE-CARACTERES] | PETICIÓN [FICHEIRO]... ]\n"
-#: src/main.c:242
+#: src/main.c:244
msgid ""
"\n"
"If a long option shows an argument as mandatory, then it is mandatory\n"
msgstr ""
"\n"
"Se unha opción longa amosa un parámetro como obrigatorio, entón tamén é\n"
-"obrigatorio para a opción curta equivalente. Do mesmo xeito para parámetros\n"
+"obrigatorio para a opción curta equivalente. Do mesmo xeito para "
+"parámetros\n"
"opcionais.\n"
-#: src/main.c:248
+#: src/main.c:250
+#, fuzzy
msgid ""
"\n"
"Listings:\n"
-" -l, --list[=FORMAT] list one or all known charsets\n"
-" -k, --known=PAIRS restrict charsets according to known PAIRS list\n"
+" -l, --list[=FORMAT] list one or all known charsets and aliases\n"
+" -k, --known=PAIRS restrict charsets according to known PAIRS "
+"list\n"
" -h, --header[=[LN/]NAME] write table NAME on stdout using LN, then exit\n"
" -F, --freeze-tables write out a C module holding all tables\n"
" -T, --find-subsets report all charsets being subset of others\n"
msgstr ""
"\n"
"Listados:\n"
-" -l, --list[=FORMATO] listar un ou tódolos xogos de caracteres coñecidos\n"
-" -k, --known=PARES restrinxi-los xogos de acordo coa lista de PARES\n"
+" -l, --list[=FORMATO] listar un ou tódolos xogos de caracteres "
+"coñecidos\n"
+" -k, --known=PARES restrinxi-los xogos de acordo coa lista de "
+"PARES\n"
" coñecidos\n"
" -h, --header[=[LN/]NOME] escribi-la táboa NOME na saída estándar usando\n"
" LN, e logo sair\n"
-" -F, --freeze-tables escribir un módulo en C que contén tódalas táboas\n"
+" -F, --freeze-tables escribir un módulo en C que contén tódalas "
+"táboas\n"
" -T, --find-subsets informar dos xogos que son subconxuntos doutros\n"
" -C, --copyright amosa-lo copyright e as condicións de copia\n"
" --help amosar esta axuda e sair\n"
" --version amosar información sobre a versión e sair\n"
-#: src/main.c:261
+#: src/main.c:263
msgid ""
"\n"
"Operation modes:\n"
" reversibles\n"
" -t, --touch toca-los ficheiros recodificados despois de\n"
" cambialos\n"
-" -i, --sequence=files usar ficheiros intermedios para pasos secuenciais\n"
+" -i, --sequence=files usar ficheiros intermedios para pasos "
+"secuenciais\n"
" --sequence=memory usa-la memoria para pasos secuenciais\n"
-#: src/main.c:273
+#: src/main.c:275
msgid " -p, --sequence=pipe use pipe machinery for sequencing passes\n"
-msgstr " -p, --sequence=pipe usar canalizacións para pasos secuenciais\n"
+msgstr ""
+" -p, --sequence=pipe usar canalizacións para pasos secuenciais\n"
-#: src/main.c:278
+#: src/main.c:280
msgid " -p, --sequence=pipe same as -i (on this system)\n"
msgstr " -p, --sequence=pipe o mesmo que -i (neste sistema)\n"
-#: src/main.c:283
+#: src/main.c:285
msgid ""
"\n"
"Fine tuning:\n"
"Axustes finos:\n"
" -s, --strict usar mapeados estrictos, incluso perder caracteres\n"
" -d, --diacritics converter só diacríticos ou similares para HTML/LaTeX\n"
-" -S, --source[=LN] limita-la recodificación a cadeas e comentarios para LN\n"
-" -c, --colon usar dous puntos no canto de comiñas dobres para diérese\n"
+" -S, --source[=LN] limita-la recodificación a cadeas e comentarios para "
+"LN\n"
+" -c, --colon usar dous puntos no canto de comiñas dobres para "
+"diérese\n"
" -g, --graphics aproxima-las liñas de IBMPC con gráficos ASCII\n"
-" -x, --ignore=XOGO ignora-lo XOGO ao escoller unha rota de recodificación\n"
+" -x, --ignore=XOGO ignora-lo XOGO ao escoller unha rota de "
+"recodificación\n"
-#: src/main.c:294
+#: src/main.c:296
msgid ""
"\n"
"Option -l with no FORMAT nor CHARSET list available charsets and surfaces.\n"
"letra entre `dofh'.\n"
#: src/main.c:302
-#, c-format
-msgid "Unless DEFAULT_CHARSET is set in environment, CHARSET defaults to `%s'.\n"
-msgstr "A menos que se estableza a variable DEFAULT_CHARSET, XOGO é `%s' se non se indica o contrario.\n"
-
-#: src/main.c:308
-msgid "CHARSET has no default, define DEFAULT_CHARSET in the environment.\n"
-msgstr "XOGO non ten valor por defecto, defina a variable de ambiente DEFAULT_CHARSET.\n"
+#, fuzzy
+msgid ""
+"Unless DEFAULT_CHARSET is set in environment, CHARSET defaults to the "
+"locale\n"
+"dependent encoding, determined by LC_ALL, LC_CTYPE, LANG.\n"
+msgstr ""
+"A menos que se estableza a variable DEFAULT_CHARSET, XOGO é `%s' se non se "
+"indica o contrario.\n"
-#: src/main.c:313
+#: src/main.c:307
msgid ""
"With -k, possible before charsets are listed for the given after CHARSET,\n"
-"both being tabular charsets, with PAIRS of the form `BEF1:AFT1,BEF2:AFT2,...'\n"
+"both being tabular charsets, with PAIRS of the form "
+"`BEF1:AFT1,BEF2:AFT2,...'\n"
"and BEFs and AFTs being codes are given as decimal numbers.\n"
msgstr ""
"Con -k, os posibles xogos iniciais lístanse para o XOGO final indicado,\n"
"sendo os dous xogos tabulares, con PARES da forma `INI1:FIN1,INI2:FIN2,...'\n"
"e os códigos INI e FIN dándose coma números decimais.\n"
-#: src/main.c:318
-msgid "LN is some language, it may be `c', `perl' or `po'; `c' is the default.\n"
+#: src/main.c:312
+msgid ""
+"LN is some language, it may be `c', `perl' or `po'; `c' is the default.\n"
msgstr "LN é unha linguaxe, pode ser `c', `perl' ou `po'; `c' por defecto.\n"
-#: src/main.c:321
+#: src/main.c:315
msgid ""
"\n"
-"REQUEST is SUBREQUEST[,SUBREQUEST]...; SUBREQUEST is ENCODING[..ENCODING]...\n"
-"ENCODING is [CHARSET][/[SURFACE]]...; REQUEST often looks like BEFORE..AFTER,\n"
+"REQUEST is SUBREQUEST[,SUBREQUEST]...; SUBREQUEST is "
+"ENCODING[..ENCODING]...\n"
+"ENCODING is [CHARSET][/[SURFACE]]...; REQUEST often looks like "
+"BEFORE..AFTER,\n"
"with BEFORE and AFTER being charsets. An omitted CHARSET implies the usual\n"
-"charset; an omitted [/SURFACE]... means the implied surfaces for CHARSET; a /\n"
+"charset; an omitted [/SURFACE]... means the implied surfaces for CHARSET; a "
+"/\n"
"with an empty surface name means no surfaces at all. See the manual.\n"
msgstr ""
"\n"
"PETICIÓN é SUBPETICIÓN[,SUBPETICIÓN]...; SUBPETICIÓN é\n"
"CODIFICACIÓN[..CODIFICACIÓN]...; CODIFICACIÓN é [XOGO][/[SUPERFICIE]]...;\n"
"PETICIÓN adoita parecer INICIAL..FINAL, sendo INICIAL e FINAL uns xogos de\n"
-"caracteres. Se non se indica un XOGO tómase o xogo normal; se non se indica\n"
+"caracteres. Se non se indica un XOGO tómase o xogo normal; se non se "
+"indica\n"
"unha [/SUPERFICIE]... tómanse as superficies implicadas en XOGO; cunha /\n"
-"cun nome de superficie baleiro non se toma ningunha superficie. Lea o manual.\n"
+"cun nome de superficie baleiro non se toma ningunha superficie. Lea o "
+"manual.\n"
-#: src/main.c:329
+#: src/main.c:323
msgid ""
"\n"
"If none of -i and -p are given, presume -p if no FILE, else -i.\n"
"FILE is specified, then act as a filter and recode stdin to stdout.\n"
msgstr ""
"\n"
-"Se non se indica -i nin -p, suponse -p se non se indica un FICHEIRO, senón -i.\n"
+"Se non se indica -i nin -p, suponse -p se non se indica un FICHEIRO, senón "
+"-i.\n"
"Cada FICHEIRO recodifícase sobre si mesmo, destruíndose o orixinal. Se non\n"
"se indica un FICHEIRO, traballa coma un filtro e recodifica stdin a stdout.\n"
-#: src/main.c:335
-msgid "\nReport bugs to <recode-bugs@iro.umontreal.ca>.\n"
-msgstr "\nInforme dos erros en <recode-bugs@iro.umontreal.ca>.\n"
+#: src/main.c:329
+msgid ""
+"\n"
+"Report bugs to <recode-bugs@iro.umontreal.ca>.\n"
+msgstr ""
+"\n"
+"Informe dos erros en <recode-bugs@iro.umontreal.ca>.\n"
-#: src/main.c:431
+#: src/main.c:430
#, c-format
-msgid "Ambiguous sequence `%s'"
-msgstr "Secuencia `%s' ambigua"
+msgid "Sequence `%s' is ambiguous"
+msgstr ""
-#: src/main.c:435
+#: src/main.c:434
#, c-format
-msgid "Unknown sequence `%s'"
-msgstr "Secuencia `%s' descoñecida"
+msgid "Sequence `%s' is unknown"
+msgstr ""
-#: src/main.c:465 src/main.c:523
+#: src/main.c:464 src/main.c:522
#, c-format
-msgid "Ambiguous language `%s'"
-msgstr "Linguaxe `%s' ambigua"
+msgid "Language `%s' is ambiguous"
+msgstr ""
#. -1
-#: src/main.c:469 src/main.c:527
+#: src/main.c:468 src/main.c:526
#, c-format
-msgid "Unknown language `%s'"
-msgstr "Linguaxe `%s' descoñecida"
+msgid "Language `%s' is unknown"
+msgstr ""
-#: src/main.c:561
+#: src/main.c:560
#, c-format
-msgid "Ambiguous format `%s'"
-msgstr "Formato `%s' ambigua"
+msgid "Format `%s' is ambiguous"
+msgstr ""
-#: src/main.c:565
+#: src/main.c:564
#, c-format
-msgid "Unknown format `%s'"
-msgstr "Formato `%s' descoñecido"
+msgid "Format `%s' is unknown"
+msgstr ""
+
+#: src/main.c:621
+#, fuzzy
+msgid "Written by Franc,ois Pinard <pinard@iro.umontreal.ca>.\n"
+msgstr ""
+"\n"
+"Escrito por François Pinard <pinard@iro.umontreal.ca>.\n"
-#: src/main.c:622
-msgid "\nCopyright (C) 1990, 92, 93, 94, 96, 97, 99 Free Software Foundation, Inc.\n"
-msgstr "\nCopyright (C) 1990, 92, 93, 94, 96, 97, 99 Free Software Foundation, Inc.\n"
+#: src/main.c:624
+msgid ""
+"\n"
+"Copyright (C) 1990, 92, 93, 94, 96, 97, 99 Free Software Foundation, Inc.\n"
+msgstr ""
+"\n"
+"Copyright (C) 1990, 92, 93, 94, 96, 97, 99 Free Software Foundation, Inc.\n"
-#: src/main.c:626
+#: src/main.c:628
msgid ""
"This is free software; see the source for copying conditions. There is NO\n"
"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
msgstr ""
-"Isto é software libre; vexa o código fonte polas condicións de copia. NON hai\n"
-"garantía; nin sequera de COMERCIABILIDADE ou APTITUDE PARA UN FIN DETERMINADO.\n"
+"Isto é software libre; vexa o código fonte polas condicións de copia. NON "
+"hai\n"
+"garantía; nin sequera de COMERCIABILIDADE ou APTITUDE PARA UN FIN "
+"DETERMINADO.\n"
-#: src/main.c:630
-msgid "\nWritten by Franc,ois Pinard <pinard@iro.umontreal.ca>.\n"
-msgstr "\nEscrito por François Pinard <pinard@iro.umontreal.ca>.\n"
+#: src/main.c:669
+#, c-format
+msgid "Symbol `%s' is unknown"
+msgstr ""
-#: src/main.c:775
+#: src/main.c:709 src/main.c:723
#, c-format
-msgid "Deprecated syntax, please prefer `%s'"
+msgid "Charset `%s' is unknown or ambiguous"
+msgstr ""
+
+#: src/main.c:754
+msgid "Required argument is missing"
+msgstr ""
+
+#: src/main.c:797
+#, fuzzy, c-format
+msgid "Syntax is deprecated, please prefer `%s'"
msgstr "Sintaxe a estinguir, prefírese `%s'"
-#: src/main.c:781
+#: src/main.c:803
#, c-format
-msgid "Erroneous request `%s'"
-msgstr "Petición `%s' errónea"
+msgid "Request `%s' is erroneous"
+msgstr ""
-#: src/main.c:878
+#: src/main.c:903
#, c-format
msgid "Recoding %s..."
msgstr "Recodificando %s..."
-#: src/main.c:888
+#: src/main.c:913
msgid " done\n"
msgstr " feito\n"
-#: src/main.c:924
-#, c-format
-msgid " failed: %s in %s..%s\n"
+#: src/main.c:954
+#, fuzzy, c-format
+msgid " failed: %s in step `%s..%s'\n"
msgstr " fallou: %s en %s..%s\n"
-#: src/main.c:931
-#, c-format
-msgid "%s failed: %s in %s..%s"
+#: src/main.c:961
+#, fuzzy, c-format
+msgid "%s failed: %s in step `%s..%s'"
msgstr "%s fallou: %s en %s..%s"
-#: src/main.c:954
-#, c-format
-msgid "%s in %s..%s"
+#: src/main.c:984
+#, fuzzy, c-format
+msgid "%s in step `%s..%s'"
msgstr "%s en %s..%s"
-#: src/names.c:317
+#: src/names.c:335
#, c-format
msgid "Charset %s already exists and is not %s"
msgstr "O xogo de caracteres %s xa existe e non é %s"
-#: src/names.c:819
+#: src/names.c:831
#, c-format
msgid "Cannot list `%s', no names available for this charset"
msgstr "Non se pode listar `%s', non hai nomes dispoñibles para este xogo"
#. code counter
#. expected value for code counter
-#. UCS-2 translation
#. insert a while line before printing
#. Print the long table according to explode data.
-#: src/names.c:974 src/names.c:1020
+#: src/names.c:984 src/names.c:1030
#, c-format
msgid "Dec Oct Hex UCS2 Mne %s\n"
msgstr "Dec Oct Hex UCS2 Mne %s\n"
-#: src/names.c:1039
+#: src/names.c:1049
#, c-format
msgid "Sorry, no names available for `%s'"
msgstr "Síntoo, non hai nomes dispoñibles para `%s'"
-#: src/outer.c:95
+#: src/outer.c:125
#, c-format
msgid "Resurfacer set more than once for `%s'"
msgstr "Aplicáronse superficies máis dunha vez para `%s'"
-#: src/outer.c:102
+#: src/outer.c:133
#, c-format
msgid "Unsurfacer set more than once for `%s'"
msgstr "Quitáronse superficies máis dunha vez para `%s'"
msgstr "Memoria virtual esgotada"
#: src/recode.c:155
-#, c-format
+#, c-format, ycp-format
msgid "Codes %3d and %3d both recode to %3d"
msgstr "Ámbolos dous códigos %3d e %3d recodifícanse a %3d"
#: src/recode.c:169
-#, c-format
+#, c-format, ycp-format
msgid "No character recodes to %3d"
msgstr "Non hai caracteres que se recodifiquen a %3d"
msgid "Cannot complete table from set of known pairs"
msgstr "Non podo completa-la táboa dado o conxunto de pares coñecidos"
-#: src/recode.c:492
+#: src/recode.c:497
msgid "Identity recoding, not worth a table"
msgstr "Recodificación identidade, non merece a pena facer unha táboa"
-#: src/recode.c:499
+#: src/recode.c:504
msgid "Recoding is too complex for a mere table"
msgstr "A recodificación é demasiado complicada para unha simple táboa"
#. Print the header of the header file.
-#: src/recode.c:531
+#: src/recode.c:536
#, c-format
msgid "%sConversion table generated mechanically by Free `%s' %s"
msgstr "%sTáboa de conversión xerada mecánicamente polo `%s' Libre %s"
-#: src/recode.c:533
+#: src/recode.c:538
#, c-format
msgid "%sfor sequence %s.%s"
msgstr "%spara a secuencia %s.%s"
-#: src/recode.c:724
+#: src/recode.c:744
msgid "No table to print"
msgstr "Non hai ningunha táboa que visualizar"
-#: src/request.c:35
+#: src/request.c:34
msgid "reversible"
msgstr "reversible"
-#: src/request.c:37
+#: src/request.c:36
#, c-format
msgid "%s to %s"
msgstr "%s a %s"
-#: src/request.c:38 src/request.c:40
+#: src/request.c:37 src/request.c:39
msgid "byte"
msgstr "byte"
-#: src/request.c:39 src/request.c:41
+#: src/request.c:38 src/request.c:40
msgid "ucs2"
msgstr "ucs2"
-#: src/request.c:39 src/request.c:41
+#: src/request.c:38 src/request.c:40
msgid "variable"
msgstr "variable"
-#: src/request.c:112
+#: src/request.c:111
msgid "*Unachievable*"
msgstr "*Inalcanzable*"
-#: src/request.c:114
+#: src/request.c:113
msgid "*mere copy*"
msgstr "*simple copia*"
-#: src/request.c:244
+#: src/request.c:246
msgid "Virtual memory exhausted!"
msgstr "¡Memoria virtual esgotada!"
-#: src/request.c:263
+#: src/request.c:265
msgid "Step initialisation failed"
msgstr "A inicialización do paso fallou"
-#: src/request.c:270
+#: src/request.c:272
msgid "Step initialisation failed (unprocessed options)"
msgstr "A inicialización do paso fallou (opcións sen procesar)"
-#: src/request.c:566
+#: src/request.c:568
#, c-format
msgid "Request: %s\n"
msgstr "Petición: %s\n"
-#: src/request.c:702
+#: src/request.c:720
#, c-format
msgid "Shrunk to: %s\n"
msgstr "Encollido a: %s\n"
-#: src/request.c:806 src/request.c:912
+#: src/request.c:823 src/request.c:932
#, c-format
msgid "Unrecognised surface name `%s'"
msgstr "Nome de superficie `%s' non recoñecido"
-#: src/request.c:884
+#: src/request.c:903
#, c-format
msgid "No way to recode from `%s' to `%s'"
msgstr "Non hay xeito de recodificar de `%s' a `%s'"
-#: src/request.c:992
+#: src/request.c:1013
msgid "Expecting `..' in request"
msgstr "Esperábase un `..' na petición"
-#: src/task.c:751 src/task.c:915
+#: src/task.c:826 src/task.c:1002
#, c-format
msgid "Child process wait status is 0x%0.2x"
msgstr "O estado de espera do proceso fillo é 0x%0.2x"
+
+#: src/testdump.c:298
+msgid ""
+"UCS2 Mne Description\n"
+"\n"
+msgstr ""
+"UCS2 Mne Descripción\n"
+"\n"
+
+#~ msgid "CHARSET has no default, define DEFAULT_CHARSET in the environment.\n"
+#~ msgstr ""
+#~ "XOGO non ten valor por defecto, defina a variable de ambiente "
+#~ "DEFAULT_CHARSET.\n"
+
+#~ msgid "Ambiguous sequence `%s'"
+#~ msgstr "Secuencia `%s' ambigua"
+
+#~ msgid "Unknown sequence `%s'"
+#~ msgstr "Secuencia `%s' descoñecida"
+
+#~ msgid "Ambiguous language `%s'"
+#~ msgstr "Linguaxe `%s' ambigua"
+
+#~ msgid "Unknown language `%s'"
+#~ msgstr "Linguaxe `%s' descoñecida"
+
+#~ msgid "Ambiguous format `%s'"
+#~ msgstr "Formato `%s' ambigua"
+
+#~ msgid "Unknown format `%s'"
+#~ msgstr "Formato `%s' descoñecido"
+
+#~ msgid "Erroneous request `%s'"
+#~ msgstr "Petición `%s' errónea"
msgid ""
msgstr ""
"Project-Id-Version: GNU recode 3.5\n"
-"POT-Creation-Date: 1999-05-18 08:46-0400\n"
+"POT-Creation-Date: 2001-01-02 22:35+0100\n"
"PO-Revision-Date: 1999-11-19 23:30+01:00\n"
"Last-Translator: Lorenzo Cappelletti <L.Cappelletti@POBoxes.com>\n"
"Language-Team: Italian <it@li.org>\n"
"Content-Type: text/plain; charset=ISO-8859-1\n"
"Content-Transfer-Encoding: 8-bit\n"
-#. Dump all characters.
-#: src/debug.c:287
-msgid "UCS2 Mne Description\n\n"
-msgstr "UCS2 Mne Descrizione\n"
-
-#: src/main.c:140
+#: src/main.c:142
msgid "No error"
msgstr "Nessun errore"
-#: src/main.c:143
+#: src/main.c:145
msgid "Non canonical input"
msgstr "Nessun input canonico"
-#: src/main.c:146
+#: src/main.c:148
msgid "Ambiguous output"
msgstr "Output ambiguo"
-#: src/main.c:149
+#: src/main.c:151
msgid "Untranslatable input"
msgstr "Input non traslabile"
-#: src/main.c:152
+#: src/main.c:154
msgid "Invalid input"
msgstr "Input non valido"
-#: src/main.c:155
+#: src/main.c:157
msgid "System detected problem"
msgstr "Rilevato problema di sistema"
-#: src/main.c:158
+#: src/main.c:160
msgid "Misuse of recoding library"
msgstr "Uso scorretto della libreria di ricodifica"
-#: src/main.c:161
+#: src/main.c:163
msgid "Internal recoding bug"
msgstr "Bug di ricodifica interno"
-#: src/main.c:206
+#: src/main.c:208
msgid ""
"This program is free software; you can redistribute it and/or modify\n"
"it under the terms of the GNU General Public License as published by\n"
"assieme a questo programma; in caso contrario, scrivere a Free Software\n"
"Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n"
-#: src/main.c:231
+#: src/main.c:233
#, c-format
msgid "Try `%s %s' for more information.\n"
msgstr "Usare `%s %s' per ulteriori informazioni.\n"
# Libero `recode' non mi piace
# Cosa sono le surfaces in questo contesto?
-#: src/main.c:235
-msgid "Free `recode' converts files between various character sets and surfaces.\n"
-msgstr "`recode' gratuito converte file fra vari insiemi di caratteri e surface.\n"
+#: src/main.c:237
+msgid ""
+"Free `recode' converts files between various character sets and surfaces.\n"
+msgstr ""
+"`recode' gratuito converte file fra vari insiemi di caratteri e surface.\n"
-#: src/main.c:239
+#: src/main.c:241
#, c-format
-msgid "\nUsage: %s [OPTION]... [ [CHARSET] | REQUEST [FILE]... ]\n"
-msgstr "\nUso: %s [OPZIONI]... [ [CHARSET] | RICHIESTA [FILE]... ]\n"
+msgid ""
+"\n"
+"Usage: %s [OPTION]... [ [CHARSET] | REQUEST [FILE]... ]\n"
+msgstr ""
+"\n"
+"Uso: %s [OPZIONI]... [ [CHARSET] | RICHIESTA [FILE]... ]\n"
-#: src/main.c:242
+#: src/main.c:244
msgid ""
"\n"
"If a long option shows an argument as mandatory, then it is mandatory\n"
"è richiesta anche per l'opzione breve. Analogamente per gli argomenti\n"
"opzionali.\n"
-#: src/main.c:248
+#: src/main.c:250
+#, fuzzy
msgid ""
"\n"
"Listings:\n"
-" -l, --list[=FORMAT] list one or all known charsets\n"
-" -k, --known=PAIRS restrict charsets according to known PAIRS list\n"
+" -l, --list[=FORMAT] list one or all known charsets and aliases\n"
+" -k, --known=PAIRS restrict charsets according to known PAIRS "
+"list\n"
" -h, --header[=[LN/]NAME] write table NAME on stdout using LN, then exit\n"
" -F, --freeze-tables write out a C module holding all tables\n"
" -T, --find-subsets report all charsets being subset of others\n"
"\n"
"Elenchi:\n"
" -l, --list[=FORMATO] lista uno o tutti i charset conosciuti\n"
-" -k, --known=COPPIE restringe i charset secondo le COPPIE conosciute\n"
+" -k, --known=COPPIE restringe i charset secondo le COPPIE "
+"conosciute\n"
" -h, --header[=[LN/]NOME] scrive la tabella NOME sullo stdout usando LN,\n"
" poi esce\n"
-" -F, --freeze-tables riporta un modulo C contenente tutte le tabelle\n"
+" -F, --freeze-tables riporta un modulo C contenente tutte le "
+"tabelle\n"
" -T, --find-subsets riporta tutti i charset sottoinsiemi di altri\n"
-" -C, --copyright mostra le condizioni del Copyright e riproduzione\n"
+" -C, --copyright mostra le condizioni del Copyright e "
+"riproduzione\n"
" --help mostra questo aiuto ed esce\n"
" --version informazioni sulla versione ed uscita\n"
-#: src/main.c:261
+#: src/main.c:263
msgid ""
"\n"
"Operation modes:\n"
msgstr ""
"\n"
"Modi operativi:\n"
-" -v, --verbose spiega le sequenze dei passi e riporta i progressi\n"
+" -v, --verbose spiega le sequenze dei passi e riporta i "
+"progressi\n"
" -q, --quiet, --silent inibisce i messaggi di ricodifiche inreversibili\n"
" -f, --force forza le ricodifiche anche quando non reversibili\n"
" -t, --touch touch dei file ricodificati dopo la sostituzione\n"
" -i, --sequence=files usa file intermedi per i passi sequenziali\n"
" --sequence=memory usa buffer di memoria per i passi sequenziali\n"
-#: src/main.c:273
+#: src/main.c:275
msgid " -p, --sequence=pipe use pipe machinery for sequencing passes\n"
-msgstr " -p, --sequence=pipe usa il sistema dei pipe per i passi sequenziali\n"
+msgstr ""
+" -p, --sequence=pipe usa il sistema dei pipe per i passi sequenziali\n"
-#: src/main.c:278
+#: src/main.c:280
msgid " -p, --sequence=pipe same as -i (on this system)\n"
msgstr " -p, --sequence=pipe come -i (su questo sistema)\n"
-#: src/main.c:283
+#: src/main.c:285
msgid ""
"\n"
"Fine tuning:\n"
msgstr ""
"\n"
"Regolazioni fini:\n"
-" -s, --strict usa mappature strettamente conformi, anche con caratteri slegati\n"
-" -d, --diacritics converte solo segni diacritici o simili per HTML/LaTeX\n"
-" -S, --source[=LN] limita la ricodifica a stringhe e commenti come per LN\n"
-" -c, --colons usa i due punti al posto delle virgolette per le dieresi\n"
+" -s, --strict usa mappature strettamente conformi, anche con "
+"caratteri slegati\n"
+" -d, --diacritics converte solo segni diacritici o simili per "
+"HTML/LaTeX\n"
+" -S, --source[=LN] limita la ricodifica a stringhe e commenti come per "
+"LN\n"
+" -c, --colons usa i due punti al posto delle virgolette per le "
+"dieresi\n"
" -g, --graphics approssima le regole IBMPC con grafica ASCII\n"
-" -x, --ignore=CHARSET ignora CHARSET quando sceglie un percorso di ricodifica\n"
+" -x, --ignore=CHARSET ignora CHARSET quando sceglie un percorso di "
+"ricodifica\n"
-#: src/main.c:294
+#: src/main.c:296
msgid ""
"\n"
"Option -l with no FORMAT nor CHARSET list available charsets and surfaces.\n"
"`esadecimale'(h) o `pieno'(f) (oppure uno tra `dohf').\n"
#: src/main.c:302
-#, c-format
-msgid "Unless DEFAULT_CHARSET is set in environment, CHARSET defaults to `%s'.\n"
+#, fuzzy
+msgid ""
+"Unless DEFAULT_CHARSET is set in environment, CHARSET defaults to the "
+"locale\n"
+"dependent encoding, determined by LC_ALL, LC_CTYPE, LANG.\n"
msgstr ""
"Se DEFAULT_CHARSET non è specificato nell'ambiente, il CHARSET predefinito\n"
"è `%s`.\n"
-#: src/main.c:308
-msgid "CHARSET has no default, define DEFAULT_CHARSET in the environment.\n"
-msgstr "Nessun CHARSET predefinito, definire DEFAULT_CHARSET nell'ambiente.\n"
-
# Non riesco assolutamente a capire la costruzione logica di questa frase
-#: src/main.c:313
+#: src/main.c:307
msgid ""
"With -k, possible before charsets are listed for the given after CHARSET,\n"
-"both being tabular charsets, with PAIRS of the form `BEF1:AFT1,BEF2:AFT2,...'\n"
+"both being tabular charsets, with PAIRS of the form "
+"`BEF1:AFT1,BEF2:AFT2,...'\n"
"and BEFs and AFTs being codes are given as decimal numbers.\n"
msgstr ""
-"Con -k, possibile prima, charset vengono listati per quelli dati dopo CHARSET,\n"
-"entrambi essendo charset tabulari, con COPPIE nella foram `BEF1:AFT1,BEF2:AFT2,...',\n"
+"Con -k, possibile prima, charset vengono listati per quelli dati dopo "
+"CHARSET,\n"
+"entrambi essendo charset tabulari, con COPPIE nella foram "
+"`BEF1:AFT1,BEF2:AFT2,...',\n"
"dove BEF e AFT sono codici forniti come numeri decimali.\n"
-#: src/main.c:318
-msgid "LN is some language, it may be `c', `perl' or `po'; `c' is the default.\n"
-msgstr "LN è qualche lingua, può essere `c', `perl' o `po'; quella predefinita è `c'.\n"
+#: src/main.c:312
+msgid ""
+"LN is some language, it may be `c', `perl' or `po'; `c' is the default.\n"
+msgstr ""
+"LN è qualche lingua, può essere `c', `perl' o `po'; quella predefinita è "
+"`c'.\n"
-#: src/main.c:321
+#: src/main.c:315
msgid ""
"\n"
-"REQUEST is SUBREQUEST[,SUBREQUEST]...; SUBREQUEST is ENCODING[..ENCODING]...\n"
-"ENCODING is [CHARSET][/[SURFACE]]...; REQUEST often looks like BEFORE..AFTER,\n"
+"REQUEST is SUBREQUEST[,SUBREQUEST]...; SUBREQUEST is "
+"ENCODING[..ENCODING]...\n"
+"ENCODING is [CHARSET][/[SURFACE]]...; REQUEST often looks like "
+"BEFORE..AFTER,\n"
"with BEFORE and AFTER being charsets. An omitted CHARSET implies the usual\n"
-"charset; an omitted [/SURFACE]... means the implied surfaces for CHARSET; a /\n"
+"charset; an omitted [/SURFACE]... means the implied surfaces for CHARSET; a "
+"/\n"
"with an empty surface name means no surfaces at all. See the manual.\n"
msgstr ""
"\n"
"implica le superfici del CHARSET; un / con un nome di surface vuoto\n"
"significa nessuna surface. Vedere il manuale.\n"
-#: src/main.c:329
+#: src/main.c:323
msgid ""
"\n"
"If none of -i and -p are given, presume -p if no FILE, else -i.\n"
"FILE is specified, then act as a filter and recode stdin to stdout.\n"
msgstr ""
"\n"
-"Se non è dato -i né -p, si presume -p se FILE non è presente, altrimenti -i.\n"
-"Ogni FILE è ricodificato su se stesso, ditruggendo l'originale. Se non viene\n"
+"Se non è dato -i né -p, si presume -p se FILE non è presente, altrimenti "
+"-i.\n"
+"Ogni FILE è ricodificato su se stesso, ditruggendo l'originale. Se non "
+"viene\n"
"specificato nessun FILE, allora si comporta come un filtro ricodificando lo\n"
"stdin sullo stdout.\n"
-#: src/main.c:335
-msgid "\nReport bugs to <recode-bugs@iro.umontreal.ca>.\n"
-msgstr "\nSegnalare i bug a <recode-bugs@iro.umontreal.ca>.\n"
+#: src/main.c:329
+msgid ""
+"\n"
+"Report bugs to <recode-bugs@iro.umontreal.ca>.\n"
+msgstr ""
+"\n"
+"Segnalare i bug a <recode-bugs@iro.umontreal.ca>.\n"
-#: src/main.c:431
+#: src/main.c:430
#, c-format
-msgid "Ambiguous sequence `%s'"
-msgstr "Sequenza ambigua `%s'"
+msgid "Sequence `%s' is ambiguous"
+msgstr ""
-#: src/main.c:435
+#: src/main.c:434
#, c-format
-msgid "Unknown sequence `%s'"
-msgstr "Sequenza sconosciuta `%s'"
+msgid "Sequence `%s' is unknown"
+msgstr ""
-#: src/main.c:465 src/main.c:523
+#: src/main.c:464 src/main.c:522
#, c-format
-msgid "Ambiguous language `%s'"
-msgstr "Lingua ambigua `%s'"
+msgid "Language `%s' is ambiguous"
+msgstr ""
#. -1
-#: src/main.c:469 src/main.c:527
+#: src/main.c:468 src/main.c:526
#, c-format
-msgid "Unknown language `%s'"
-msgstr "Lingua sconosciuta `%s'"
+msgid "Language `%s' is unknown"
+msgstr ""
-#: src/main.c:561
+#: src/main.c:560
#, c-format
-msgid "Ambiguous format `%s'"
-msgstr "Formato ambiguo `%s'"
+msgid "Format `%s' is ambiguous"
+msgstr ""
-#: src/main.c:565
+#: src/main.c:564
#, c-format
-msgid "Unknown format `%s'"
-msgstr "Formato sconosciuto `%s'"
+msgid "Format `%s' is unknown"
+msgstr ""
-#: src/main.c:622
-msgid "\nCopyright (C) 1990, 92, 93, 94, 96, 97, 99 Free Software Foundation, Inc.\n"
-msgstr "\nCopyright (C) 1990, 92, 93, 94, 96, 97, 99 Free Software Foundation, Inc.\n"
+#: src/main.c:621
+#, fuzzy
+msgid "Written by Franc,ois Pinard <pinard@iro.umontreal.ca>.\n"
+msgstr ""
+"\n"
+"Scritto da Franc,ois Pinard <pinard@iro.umontreal.ca>.\n"
+
+#: src/main.c:624
+msgid ""
+"\n"
+"Copyright (C) 1990, 92, 93, 94, 96, 97, 99 Free Software Foundation, Inc.\n"
+msgstr ""
+"\n"
+"Copyright (C) 1990, 92, 93, 94, 96, 97, 99 Free Software Foundation, Inc.\n"
-#: src/main.c:626
+#: src/main.c:628
msgid ""
"This is free software; see the source for copying conditions. There is NO\n"
"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
"riproduzione. NON c'è garanzia; neppure di COMMERCIABILITÀ o IDONEITÀ\n"
"AD UN PARTICOLARE SCOPO.\n"
-#: src/main.c:630
-msgid "\nWritten by Franc,ois Pinard <pinard@iro.umontreal.ca>.\n"
-msgstr "\nScritto da Franc,ois Pinard <pinard@iro.umontreal.ca>.\n"
+#: src/main.c:669
+#, c-format
+msgid "Symbol `%s' is unknown"
+msgstr ""
-#: src/main.c:775
+#: src/main.c:709 src/main.c:723
#, c-format
-msgid "Deprecated syntax, please prefer `%s'"
+msgid "Charset `%s' is unknown or ambiguous"
+msgstr ""
+
+#: src/main.c:754
+msgid "Required argument is missing"
+msgstr ""
+
+#: src/main.c:797
+#, fuzzy, c-format
+msgid "Syntax is deprecated, please prefer `%s'"
msgstr "Sintassi sconsigliata, si preferisca `%s'"
-#: src/main.c:781
+#: src/main.c:803
#, c-format
-msgid "Erroneous request `%s'"
-msgstr "Richiesta errata `%s'"
+msgid "Request `%s' is erroneous"
+msgstr ""
-#: src/main.c:878
+#: src/main.c:903
#, c-format
msgid "Recoding %s..."
msgstr "Sto ricodificando %s..."
-#: src/main.c:888
+#: src/main.c:913
msgid " done\n"
msgstr " fatto\n"
-#: src/main.c:924
-#, c-format
-msgid " failed: %s in %s..%s\n"
+#: src/main.c:954
+#, fuzzy, c-format
+msgid " failed: %s in step `%s..%s'\n"
msgstr " fallito: %s in %s..%s\n"
-#: src/main.c:931
-#, c-format
-msgid "%s failed: %s in %s..%s"
+#: src/main.c:961
+#, fuzzy, c-format
+msgid "%s failed: %s in step `%s..%s'"
msgstr "%s fallito: %s in %s..%s"
-#: src/main.c:954
-#, c-format
-msgid "%s in %s..%s"
+#: src/main.c:984
+#, fuzzy, c-format
+msgid "%s in step `%s..%s'"
msgstr "%s in %s..%s"
-#: src/names.c:317
+#: src/names.c:335
#, c-format
msgid "Charset %s already exists and is not %s"
msgstr "Il charset %s esiste già e non è %s"
-#: src/names.c:819
+#: src/names.c:831
#, c-format
msgid "Cannot list `%s', no names available for this charset"
msgstr "Non posso listare `%s', nessun nome disponibile per questo charset"
#. code counter
#. expected value for code counter
-#. UCS-2 translation
#. insert a while line before printing
#. Print the long table according to explode data.
-#: src/names.c:974 src/names.c:1020
+#: src/names.c:984 src/names.c:1030
#, c-format
msgid "Dec Oct Hex UCS2 Mne %s\n"
msgstr "Dec Ott Esa UCS2 Mne %s\n"
-#: src/names.c:1039
+#: src/names.c:1049
#, c-format
msgid "Sorry, no names available for `%s'"
msgstr "Spiacente, nessun nome disponibile per `%s'"
-#: src/outer.c:95
+#: src/outer.c:125
#, c-format
msgid "Resurfacer set more than once for `%s'"
msgstr "Il resurfacer è impostato piú di una volta per `%s'"
-#: src/outer.c:102
+#: src/outer.c:133
#, c-format
msgid "Unsurfacer set more than once for `%s'"
msgstr "L'unsurfacer è impostato piú di una volta per `%s'"
msgstr "Memoria virtuale esaurita"
#: src/recode.c:155
-#, c-format
+#, c-format, ycp-format
msgid "Codes %3d and %3d both recode to %3d"
msgstr "Entrambi i codici %3d e %3d si ricodificano in %3d"
#: src/recode.c:169
-#, c-format
+#, c-format, ycp-format
msgid "No character recodes to %3d"
msgstr "Nessun carattere si ricodifica in %3d"
msgstr "Impossibile completare la tabella dall'insieme delle coppie conosciute"
# Una forma migliore per identity recoding?
-#: src/recode.c:492
+#: src/recode.c:497
msgid "Identity recoding, not worth a table"
msgstr "Sto ricodificando nell'identità, tabella non significativa"
-#: src/recode.c:499
+#: src/recode.c:504
msgid "Recoding is too complex for a mere table"
msgstr "La ricodifica è troppo complessa per una sola tabella"
#. Print the header of the header file.
-#: src/recode.c:531
+#: src/recode.c:536
#, c-format
msgid "%sConversion table generated mechanically by Free `%s' %s"
msgstr "%sTabella di conversione generata automaticamente dalla Free `%s' %s"
-#: src/recode.c:533
+#: src/recode.c:538
#, c-format
msgid "%sfor sequence %s.%s"
msgstr "%sper la sequenza %s.%s"
-#: src/recode.c:724
+#: src/recode.c:744
msgid "No table to print"
msgstr "Nessuna tabella da stampare"
-#: src/request.c:35
+#: src/request.c:34
msgid "reversible"
msgstr "reversibile"
-#: src/request.c:37
+#: src/request.c:36
#, c-format
msgid "%s to %s"
msgstr "%s in %s"
-#: src/request.c:38 src/request.c:40
+#: src/request.c:37 src/request.c:39
msgid "byte"
msgstr "byte"
# Verificare il significato della sigla
-#: src/request.c:39 src/request.c:41
+#: src/request.c:38 src/request.c:40
msgid "ucs2"
msgstr "ucs2"
-#: src/request.c:39 src/request.c:41
+#: src/request.c:38 src/request.c:40
msgid "variable"
msgstr "variabile"
-#: src/request.c:112
+#: src/request.c:111
msgid "*Unachievable*"
msgstr "*Inraggiungibile*"
-#: src/request.c:114
+#: src/request.c:113
msgid "*mere copy*"
msgstr "*per sola copia*"
-#: src/request.c:244
+#: src/request.c:246
msgid "Virtual memory exhausted!"
msgstr "Memoria virtuale esaurita!"
-#: src/request.c:263
+#: src/request.c:265
msgid "Step initialisation failed"
msgstr "Passo di inizializzazione fallito"
-#: src/request.c:270
+#: src/request.c:272
msgid "Step initialisation failed (unprocessed options)"
msgstr "Passo di inizializzazione fallito (opzioni non processate)"
-#: src/request.c:566
+#: src/request.c:568
#, c-format
msgid "Request: %s\n"
msgstr "Richiesta: %s\n"
-#: src/request.c:702
+#: src/request.c:720
#, c-format
msgid "Shrunk to: %s\n"
msgstr "Ridotto a: %s\n"
-#: src/request.c:806 src/request.c:912
+#: src/request.c:823 src/request.c:932
#, c-format
msgid "Unrecognised surface name `%s'"
msgstr "Nome di surface non riconosciuta `%s'"
-#: src/request.c:884
+#: src/request.c:903
#, c-format
msgid "No way to recode from `%s' to `%s'"
msgstr "Nessuno modo per ricodificare da `%s' a `%s'"
-#: src/request.c:992
+#: src/request.c:1013
msgid "Expecting `..' in request"
msgstr "Atteso `..' nella richiesta"
-#: src/task.c:751 src/task.c:915
+#: src/task.c:826 src/task.c:1002
#, c-format
msgid "Child process wait status is 0x%0.2x"
msgstr "Lo stato di attesa del processo figlio è 0x%0.2x"
+
+#: src/testdump.c:298
+msgid ""
+"UCS2 Mne Description\n"
+"\n"
+msgstr "UCS2 Mne Descrizione\n"
+
+#~ msgid "CHARSET has no default, define DEFAULT_CHARSET in the environment.\n"
+#~ msgstr ""
+#~ "Nessun CHARSET predefinito, definire DEFAULT_CHARSET nell'ambiente.\n"
+
+#~ msgid "Ambiguous sequence `%s'"
+#~ msgstr "Sequenza ambigua `%s'"
+
+#~ msgid "Unknown sequence `%s'"
+#~ msgstr "Sequenza sconosciuta `%s'"
+
+#~ msgid "Ambiguous language `%s'"
+#~ msgstr "Lingua ambigua `%s'"
+
+#~ msgid "Unknown language `%s'"
+#~ msgstr "Lingua sconosciuta `%s'"
+
+#~ msgid "Ambiguous format `%s'"
+#~ msgstr "Formato ambiguo `%s'"
+
+#~ msgid "Unknown format `%s'"
+#~ msgstr "Formato sconosciuto `%s'"
+
+#~ msgid "Erroneous request `%s'"
+#~ msgstr "Richiesta errata `%s'"
msgid ""
msgstr ""
"Project-Id-Version: recode 3.4.2\n"
-"POT-Creation-Date: 1999-05-18 08:46-0400\n"
+"POT-Creation-Date: 2001-01-02 22:35+0100\n"
"PO-Revision-Date: 1996-10-07 10:05 MET DST\n"
"Last-Translator: Erick Branderhorst <branderh@debian.org>\n"
"Language-Team: Dutch <nl@li.org>\n"
"Content-Type: text/plain; charset=ISO-8859-1\n"
"Content-Transfer-Encoding: 8-bit\n"
-#. Dump all characters.
-#: src/debug.c:287
-msgid ""
-"UCS2 Mne Description\n"
-"\n"
-msgstr ""
-
-#: src/main.c:140
+#: src/main.c:142
msgid "No error"
msgstr ""
-#: src/main.c:143
+#: src/main.c:145
msgid "Non canonical input"
msgstr ""
-#: src/main.c:146
+#: src/main.c:148
#, fuzzy
msgid "Ambiguous output"
msgstr "Dubbelzinnig format `%s'"
-#: src/main.c:149
+#: src/main.c:151
msgid "Untranslatable input"
msgstr ""
-#: src/main.c:152
+#: src/main.c:154
msgid "Invalid input"
msgstr ""
-#: src/main.c:155
+#: src/main.c:157
msgid "System detected problem"
msgstr ""
-#: src/main.c:158
+#: src/main.c:160
msgid "Misuse of recoding library"
msgstr ""
-#: src/main.c:161
+#: src/main.c:163
msgid "Internal recoding bug"
msgstr ""
-#: src/main.c:206
+#: src/main.c:208
msgid ""
"This program is free software; you can redistribute it and/or modify\n"
"it under the terms of the GNU General Public License as published by\n"
"Public License; zo niet, schrijf dan naar de Free Software Foundation,\n"
"Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n"
-#: src/main.c:231
+#: src/main.c:233
#, c-format
msgid "Try `%s %s' for more information.\n"
msgstr "Probeer `%s %s' voor meer informatie.\n"
-#: src/main.c:235
+#: src/main.c:237
msgid ""
"Free `recode' converts files between various character sets and surfaces.\n"
msgstr ""
-#: src/main.c:239
+#: src/main.c:241
#, fuzzy, c-format
msgid ""
"\n"
"\n"
"Gebruik: %s [OPTIE]... [KARAKTERSET]\n"
-#: src/main.c:242
+#: src/main.c:244
msgid ""
"\n"
"If a long option shows an argument as mandatory, then it is mandatory\n"
"for the equivalent short option also. Similarly for optional arguments.\n"
msgstr ""
-#: src/main.c:248
+#: src/main.c:250
msgid ""
"\n"
"Listings:\n"
-" -l, --list[=FORMAT] list one or all known charsets\n"
+" -l, --list[=FORMAT] list one or all known charsets and aliases\n"
" -k, --known=PAIRS restrict charsets according to known PAIRS "
"list\n"
" -h, --header[=[LN/]NAME] write table NAME on stdout using LN, then exit\n"
" --version output version information and exit\n"
msgstr ""
-#: src/main.c:261
+#: src/main.c:263
msgid ""
"\n"
"Operation modes:\n"
" --sequence=memory use memory buffers for sequencing passes\n"
msgstr ""
-#: src/main.c:273
+#: src/main.c:275
msgid " -p, --sequence=pipe use pipe machinery for sequencing passes\n"
msgstr ""
" -p, --sequence=pipe gebruik pipe machinery for sequencing passes "
"(FIXME)\n"
-#: src/main.c:278
+#: src/main.c:280
#, fuzzy
msgid " -p, --sequence=pipe same as -i (on this system)\n"
msgstr " -p, --sequence=pipe zelfde als -o (op dit systeem)\n"
-#: src/main.c:283
+#: src/main.c:285
#, fuzzy
msgid ""
"\n"
" -i, --sequence=files gebruik tussen bestanden voor achtereenvolgende \n"
" sessies\n"
-#: src/main.c:294
+#: src/main.c:296
msgid ""
"\n"
"Option -l with no FORMAT nor CHARSET list available charsets and surfaces.\n"
msgstr ""
#: src/main.c:302
-#, c-format
msgid ""
-"Unless DEFAULT_CHARSET is set in environment, CHARSET defaults to `%s'.\n"
+"Unless DEFAULT_CHARSET is set in environment, CHARSET defaults to the "
+"locale\n"
+"dependent encoding, determined by LC_ALL, LC_CTYPE, LANG.\n"
msgstr ""
-#: src/main.c:308
-msgid "CHARSET has no default, define DEFAULT_CHARSET in the environment.\n"
-msgstr ""
-
-#: src/main.c:313
+#: src/main.c:307
msgid ""
"With -k, possible before charsets are listed for the given after CHARSET,\n"
"both being tabular charsets, with PAIRS of the form "
"and BEFs and AFTs being codes are given as decimal numbers.\n"
msgstr ""
-#: src/main.c:318
+#: src/main.c:312
msgid ""
"LN is some language, it may be `c', `perl' or `po'; `c' is the default.\n"
msgstr ""
-#: src/main.c:321
+#: src/main.c:315
msgid ""
"\n"
"REQUEST is SUBREQUEST[,SUBREQUEST]...; SUBREQUEST is "
"with an empty surface name means no surfaces at all. See the manual.\n"
msgstr ""
-#: src/main.c:329
+#: src/main.c:323
msgid ""
"\n"
"If none of -i and -p are given, presume -p if no FILE, else -i.\n"
"FILE is specified, then act as a filter and recode stdin to stdout.\n"
msgstr ""
-#: src/main.c:335
+#: src/main.c:329
#, fuzzy
msgid ""
"\n"
"\n"
"Meld fouten via <recode-bugs@gnu.ai.mit.edu>.\n"
-#: src/main.c:431
+#: src/main.c:430
#, c-format
-msgid "Ambiguous sequence `%s'"
-msgstr "Dubbelzinnig `sequence' `%s'"
+msgid "Sequence `%s' is ambiguous"
+msgstr ""
-#: src/main.c:435
+#: src/main.c:434
#, c-format
-msgid "Unknown sequence `%s'"
-msgstr "Onbekende `sequence' `%s' (FIXME)"
+msgid "Sequence `%s' is unknown"
+msgstr ""
-#: src/main.c:465 src/main.c:523
+#: src/main.c:464 src/main.c:522
#, c-format
-msgid "Ambiguous language `%s'"
-msgstr "Dubbelzinnige taal `%s'"
+msgid "Language `%s' is ambiguous"
+msgstr ""
#. -1
-#: src/main.c:469 src/main.c:527
+#: src/main.c:468 src/main.c:526
#, c-format
-msgid "Unknown language `%s'"
-msgstr "Onbekende taal `%s'"
+msgid "Language `%s' is unknown"
+msgstr ""
-#: src/main.c:561
+#: src/main.c:560
#, c-format
-msgid "Ambiguous format `%s'"
-msgstr "Dubbelzinnig format `%s'"
+msgid "Format `%s' is ambiguous"
+msgstr ""
-#: src/main.c:565
+#: src/main.c:564
#, c-format
-msgid "Unknown format `%s'"
-msgstr "Onbekende format `%s'"
+msgid "Format `%s' is unknown"
+msgstr ""
+
+#: src/main.c:621
+#, fuzzy
+msgid "Written by Franc,ois Pinard <pinard@iro.umontreal.ca>.\n"
+msgstr ""
+"\n"
+"Geschreven door François Pinard <pinard@iro.umontreal.ca>.\n"
-#: src/main.c:622
+#: src/main.c:624
#, fuzzy
msgid ""
"\n"
"\n"
"Copyright (C) 1990, 1992, 1993, 1994, 1996 Free Software Foundation, Inc.\n"
-#: src/main.c:626
+#: src/main.c:628
msgid ""
"This is free software; see the source for copying conditions. There is NO\n"
"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
"Er is GEEN garantie; zelfs niet voor VERKOOPBAARHEID of GESCHIKTHEID\n"
"VOOR EEN BEPAALDE TOEPASSING.\n"
-#: src/main.c:630
-msgid ""
-"\n"
-"Written by Franc,ois Pinard <pinard@iro.umontreal.ca>.\n"
+#: src/main.c:669
+#, c-format
+msgid "Symbol `%s' is unknown"
+msgstr ""
+
+#: src/main.c:709 src/main.c:723
+#, c-format
+msgid "Charset `%s' is unknown or ambiguous"
+msgstr ""
+
+#: src/main.c:754
+msgid "Required argument is missing"
msgstr ""
-"\n"
-"Geschreven door François Pinard <pinard@iro.umontreal.ca>.\n"
-#: src/main.c:775
+#: src/main.c:797
#, c-format
-msgid "Deprecated syntax, please prefer `%s'"
+msgid "Syntax is deprecated, please prefer `%s'"
msgstr ""
-#: src/main.c:781
+#: src/main.c:803
#, c-format
-msgid "Erroneous request `%s'"
+msgid "Request `%s' is erroneous"
msgstr ""
-#: src/main.c:878
+#: src/main.c:903
#, c-format
msgid "Recoding %s..."
msgstr "Omzetten %s..."
-#: src/main.c:888
+#: src/main.c:913
msgid " done\n"
msgstr " klaar\n"
-#: src/main.c:924
+#: src/main.c:954
#, c-format
-msgid " failed: %s in %s..%s\n"
+msgid " failed: %s in step `%s..%s'\n"
msgstr ""
-#: src/main.c:931
+#: src/main.c:961
#, c-format
-msgid "%s failed: %s in %s..%s"
+msgid "%s failed: %s in step `%s..%s'"
msgstr ""
-#: src/main.c:954
+#: src/main.c:984
#, fuzzy, c-format
-msgid "%s in %s..%s"
+msgid "%s in step `%s..%s'"
msgstr "%svoor reeks %s.%s"
-#: src/names.c:317
+#: src/names.c:335
#, c-format
msgid "Charset %s already exists and is not %s"
msgstr "Karakterset %s bestaat reeds en is niet %s"
-#: src/names.c:819
+#: src/names.c:831
#, fuzzy, c-format
msgid "Cannot list `%s', no names available for this charset"
msgstr ""
#. code counter
#. expected value for code counter
-#. UCS-2 translation
#. insert a while line before printing
#. Print the long table according to explode data.
-#: src/names.c:974 src/names.c:1020
+#: src/names.c:984 src/names.c:1030
#, fuzzy, c-format
msgid "Dec Oct Hex UCS2 Mne %s\n"
msgstr "dec oct hex ch %s\n"
-#: src/names.c:1039
+#: src/names.c:1049
#, fuzzy, c-format
msgid "Sorry, no names available for `%s'"
msgstr "Sorry, geen RFC 1345 namen beschikbaar voor `%s'"
-#: src/outer.c:95
+#: src/outer.c:125
#, c-format
msgid "Resurfacer set more than once for `%s'"
msgstr ""
-#: src/outer.c:102
+#: src/outer.c:133
#, c-format
msgid "Unsurfacer set more than once for `%s'"
msgstr ""
msgstr ""
#: src/recode.c:155
-#, c-format
+#, c-format, ycp-format
msgid "Codes %3d and %3d both recode to %3d"
msgstr "Code %3d en %3d beide omgezet naar %3d"
#: src/recode.c:169
-#, c-format
+#, c-format, ycp-format
msgid "No character recodes to %3d"
msgstr "Geen karakter omzetting naar %3d"
msgid "Cannot complete table from set of known pairs"
msgstr "Kan tabel niet compleet maken uit set van bekende paren"
-#: src/recode.c:492
+#: src/recode.c:497
msgid "Identity recoding, not worth a table"
msgstr "Codering is identiek, geen tabel waardig"
-#: src/recode.c:499
+#: src/recode.c:504
msgid "Recoding is too complex for a mere table"
msgstr "Omzetting is te complex voor een mere tabel (FIXME)"
#. Print the header of the header file.
-#: src/recode.c:531
+#: src/recode.c:536
#, fuzzy, c-format
msgid "%sConversion table generated mechanically by Free `%s' %s"
msgstr "%sConversietabel mechanisch gegenereerd door GNU %s %s"
-#: src/recode.c:533
+#: src/recode.c:538
#, c-format
msgid "%sfor sequence %s.%s"
msgstr "%svoor reeks %s.%s"
-#: src/recode.c:724
+#: src/recode.c:744
msgid "No table to print"
msgstr "Geen tabel om te tonen"
-#: src/request.c:35
+#: src/request.c:34
msgid "reversible"
msgstr "omkeerbaar"
-#: src/request.c:37
+#: src/request.c:36
#, fuzzy, c-format
msgid "%s to %s"
msgstr "%svoor reeks %s.%s"
-#: src/request.c:38 src/request.c:40
+#: src/request.c:37 src/request.c:39
msgid "byte"
msgstr ""
-#: src/request.c:39 src/request.c:41
+#: src/request.c:38 src/request.c:40
msgid "ucs2"
msgstr ""
-#: src/request.c:39 src/request.c:41
+#: src/request.c:38 src/request.c:40
#, fuzzy
msgid "variable"
msgstr "omkeerbaar"
-#: src/request.c:112
+#: src/request.c:111
msgid "*Unachievable*"
msgstr "*Onmogelijk*"
-#: src/request.c:114
+#: src/request.c:113
msgid "*mere copy*"
msgstr "*gewone kopie*"
-#: src/request.c:244
+#: src/request.c:246
msgid "Virtual memory exhausted!"
msgstr ""
-#: src/request.c:263
+#: src/request.c:265
msgid "Step initialisation failed"
msgstr ""
-#: src/request.c:270
+#: src/request.c:272
msgid "Step initialisation failed (unprocessed options)"
msgstr ""
-#: src/request.c:566
+#: src/request.c:568
#, c-format
msgid "Request: %s\n"
msgstr ""
-#: src/request.c:702
+#: src/request.c:720
#, c-format
msgid "Shrunk to: %s\n"
msgstr ""
-#: src/request.c:806 src/request.c:912
+#: src/request.c:823 src/request.c:932
#, c-format
msgid "Unrecognised surface name `%s'"
msgstr ""
-#: src/request.c:884
+#: src/request.c:903
#, fuzzy, c-format
msgid "No way to recode from `%s' to `%s'"
msgstr "Geen mogelijkheid voor omzetting van %s naar %s"
-#: src/request.c:992
+#: src/request.c:1013
msgid "Expecting `..' in request"
msgstr ""
-#: src/task.c:751 src/task.c:915
+#: src/task.c:826 src/task.c:1002
#, c-format
msgid "Child process wait status is 0x%0.2x"
msgstr "Wacht status proces kind is 0x%0.2x"
+#: src/testdump.c:298
+msgid ""
+"UCS2 Mne Description\n"
+"\n"
+msgstr ""
+
+#~ msgid "Ambiguous sequence `%s'"
+#~ msgstr "Dubbelzinnig `sequence' `%s'"
+
+#~ msgid "Unknown sequence `%s'"
+#~ msgstr "Onbekende `sequence' `%s' (FIXME)"
+
+#~ msgid "Ambiguous language `%s'"
+#~ msgstr "Dubbelzinnige taal `%s'"
+
+#~ msgid "Unknown language `%s'"
+#~ msgstr "Onbekende taal `%s'"
+
+#~ msgid "Ambiguous format `%s'"
+#~ msgstr "Dubbelzinnig format `%s'"
+
+#~ msgid "Unknown format `%s'"
+#~ msgstr "Onbekende format `%s'"
+
#~ msgid "Hash stats: %d names using %d buckets out of %d\n"
#~ msgstr "Hash stats: %d names using %d buckets out of %d (FIXME)\n"
msgid ""
msgstr ""
"Project-Id-Version: recode 3.4r\n"
-"POT-Creation-Date: 1999-05-18 08:46-0400\n"
+"POT-Creation-Date: 2001-01-02 22:35+0100\n"
"PO-Revision-Date: 1999-05-26 14:49+02:00\n"
"Last-Translator: Pawe³ Krawczyk <kravietz@ceti.pl>\n"
"Language-Team: Polish <pl@li.org>\n"
"Content-Type: text/plain; charset=ISO-8859-2\n"
"Content-Transfer-Encoding: 8-bit\n"
-#. Dump all characters.
-#: src/debug.c:287
-msgid "UCS2 Mne Description\n\n"
-msgstr "UCS2 Mne Description\n\n"
-
-#: src/main.c:140
+#: src/main.c:142
msgid "No error"
msgstr "Brak b³êdu"
-#: src/main.c:143
+#: src/main.c:145
msgid "Non canonical input"
msgstr "Dane wej¶ciowe nie s± kanoniczne"
-#: src/main.c:146
+#: src/main.c:148
msgid "Ambiguous output"
msgstr "Dane wyj¶ciowe s± dwuznaczne"
-#: src/main.c:149
+#: src/main.c:151
msgid "Untranslatable input"
msgstr "Dane wej¶ciowe nie mog± byæ przet³umaczone"
-#: src/main.c:152
+#: src/main.c:154
msgid "Invalid input"
msgstr "B³êdne dane wej¶ciowe"
-#: src/main.c:155
+#: src/main.c:157
msgid "System detected problem"
msgstr "System wykry³ problem"
-#: src/main.c:158
+#: src/main.c:160
msgid "Misuse of recoding library"
msgstr "B³êdne u¿ycie biblioteki przekodowuj±cej"
-#: src/main.c:161
+#: src/main.c:163
msgid "Internal recoding bug"
msgstr "Wyst±pi³ wewnêtrzny b³±d przekodowania"
-#: src/main.c:206
+#: src/main.c:208
msgid ""
"This program is free software; you can redistribute it and/or modify\n"
"it under the terms of the GNU General Public License as published by\n"
"z tym programem. Je¶li nie, napisz do Free Software Foundation,\n"
"Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n"
-#: src/main.c:231
+#: src/main.c:233
#, c-format
msgid "Try `%s %s' for more information.\n"
msgstr "Polecenie `%s %s' wy¶wietli wiêcej informacji.\n"
-#: src/main.c:235
-msgid "Free `recode' converts files between various character sets and surfaces.\n"
+#: src/main.c:237
+msgid ""
+"Free `recode' converts files between various character sets and surfaces.\n"
msgstr ""
"Program `recode' konwertuje pliki pomiêdzy ró¿nymi zestawami znaków\n"
"i sposobami kodowania.\n"
# REQUEST t³umaczê wszêdzie konsekwentnie jako POLECENIE, a nie '¿±danie'
-#: src/main.c:239
+#: src/main.c:241
#, c-format
-msgid "\nUsage: %s [OPTION]... [ [CHARSET] | REQUEST [FILE]... ]\n"
-msgstr "\nSk³adnia: %s [OPCJA]... [ [ZESTAW_ZNAKÓW] | POLECENIE [PLIK]... ]\n"
+msgid ""
+"\n"
+"Usage: %s [OPTION]... [ [CHARSET] | REQUEST [FILE]... ]\n"
+msgstr ""
+"\n"
+"Sk³adnia: %s [OPCJA]... [ [ZESTAW_ZNAKÓW] | POLECENIE [PLIK]... ]\n"
-#: src/main.c:242
+#: src/main.c:244
msgid ""
"\n"
"If a long option shows an argument as mandatory, then it is mandatory\n"
"Je¶li argumenty s± obowi±zkowe dla d³ugich wersji opcji, to s± one równie¿\n"
"obowi±zkowe dla krótkich wersji. Analogicznie dla argumentów opcjonalnych.\n"
-#: src/main.c:248
+#: src/main.c:250
+#, fuzzy
msgid ""
"\n"
"Listings:\n"
-" -l, --list[=FORMAT] list one or all known charsets\n"
-" -k, --known=PAIRS restrict charsets according to known PAIRS list\n"
+" -l, --list[=FORMAT] list one or all known charsets and aliases\n"
+" -k, --known=PAIRS restrict charsets according to known PAIRS "
+"list\n"
" -h, --header[=[LN/]NAME] write table NAME on stdout using LN, then exit\n"
" -F, --freeze-tables write out a C module holding all tables\n"
" -T, --find-subsets report all charsets being subset of others\n"
" --version wy¶wietla wersjê programu i koñczy pracê\n"
" --help wy¶wietla ten tekst pomocy i koñczy pracê\n"
-#: src/main.c:261
+#: src/main.c:263
msgid ""
"\n"
"Operation modes:\n"
" -i, --sequence=pliki u¿ywa plików tymczasowych miêdzy etapami\n"
" --sequence=memory u¿ywa buforów w pamiêci miêdzy etapami\n"
-#: src/main.c:273
+#: src/main.c:275
msgid " -p, --sequence=pipe use pipe machinery for sequencing passes\n"
msgstr " -p, --sequence=pipe u¿ywa potoków miêdzy etapami\n"
-#: src/main.c:278
+#: src/main.c:280
msgid " -p, --sequence=pipe same as -i (on this system)\n"
msgstr " -p, --sequence=pipe identyczne jak -i (w tym systemie)\n"
-#: src/main.c:283
+#: src/main.c:285
msgid ""
"\n"
"Fine tuning:\n"
" znaków\n"
" -d, --diacritics konwertuje tylko znaki diakrytyczne oraz symbole\n"
" znaków (takie jak w HTML i LaTeX)\n"
-" -c, --colons u¿ywa dwukropków zamiast cudzys³owów dla oznaczenia\n"
+" -c, --colons u¿ywa dwukropków zamiast cudzys³owów dla "
+"oznaczenia\n"
" umlautu\n"
" -g, --graphics próbuje przybli¿aæ ramki IBMPC znakami ASCII\n"
" -x, --ignore=ZESTAW ignoruje ZESTAW znaków podczas okre¶lania drogi\n"
" przekodowania\n"
-#: src/main.c:294
+#: src/main.c:296
msgid ""
"\n"
"Option -l with no FORMAT nor CHARSET list available charsets and surfaces.\n"
"(lub jedna z liter `dohf').\n"
#: src/main.c:302
-#, c-format
-msgid "Unless DEFAULT_CHARSET is set in environment, CHARSET defaults to `%s'.\n"
+#, fuzzy
+msgid ""
+"Unless DEFAULT_CHARSET is set in environment, CHARSET defaults to the "
+"locale\n"
+"dependent encoding, determined by LC_ALL, LC_CTYPE, LANG.\n"
msgstr ""
"Je¶li zmienna ¶rodowiskowa DEFAULT_CHARSET nie jest ustawiona, domy¶lnym\n"
"zestawem znaków jest `%s'.\n"
-#: src/main.c:308
-msgid "CHARSET has no default, define DEFAULT_CHARSET in the environment.\n"
-msgstr ""
-"ZESTAW znaków nie ma warto¶ci domy¶lnej, ustaw zmienn± ¶rodowiskow±\n"
-"DEFAULT_CHARSET.\n"
-
-#: src/main.c:313
+#: src/main.c:307
msgid ""
"With -k, possible before charsets are listed for the given after CHARSET,\n"
-"both being tabular charsets, with PAIRS of the form `BEF1:AFT1,BEF2:AFT2,...'\n"
+"both being tabular charsets, with PAIRS of the form "
+"`BEF1:AFT1,BEF2:AFT2,...'\n"
"and BEFs and AFTs being codes are given as decimal numbers.\n"
msgstr ""
"Je¶li podano opcjê -k, program wy¶wietla zestawy znaków z których mo¿na\n"
"zestawami znaków z PARAmi postaci `SK¡D1:DOK¡D1,SK¡D2:DOK¡D2...', gdzie\n"
"SK¡D i DOK¡D s± kodami podanymi jako liczby dziesiêtne.\n"
-#: src/main.c:318
-msgid "LN is some language, it may be `c', `perl' or `po'; `c' is the default.\n"
+#: src/main.c:312
+msgid ""
+"LN is some language, it may be `c', `perl' or `po'; `c' is the default.\n"
msgstr ""
"LN jest jêzykiem programowania, do wyboru `c', `perl' lub `po'.\n"
"Domy¶ln± warto¶ci± jest `c'.\n"
-#: src/main.c:321
+#: src/main.c:315
msgid ""
"\n"
-"REQUEST is SUBREQUEST[,SUBREQUEST]...; SUBREQUEST is ENCODING[..ENCODING]...\n"
-"ENCODING is [CHARSET][/[SURFACE]]...; REQUEST often looks like BEFORE..AFTER,\n"
+"REQUEST is SUBREQUEST[,SUBREQUEST]...; SUBREQUEST is "
+"ENCODING[..ENCODING]...\n"
+"ENCODING is [CHARSET][/[SURFACE]]...; REQUEST often looks like "
+"BEFORE..AFTER,\n"
"with BEFORE and AFTER being charsets. An omitted CHARSET implies the usual\n"
-"charset; an omitted [/SURFACE]... means the implied surfaces for CHARSET; a /\n"
+"charset; an omitted [/SURFACE]... means the implied surfaces for CHARSET; a "
+"/\n"
"with an empty surface name means no surfaces at all. See the manual.\n"
msgstr ""
"\n"
"/ bez podanego KODOWANIA oznacza brak jakiegokolwiek kodowania. Szczegó³y\n"
"w dokumentacji.\n"
-#: src/main.c:329
+#: src/main.c:323
msgid ""
"\n"
"If none of -i and -p are given, presume -p if no FILE, else -i.\n"
"oryginalnej zawarto¶ci. Je¶li nie podano PLIKu, program dzia³a jako filtr\n"
"przekodowuj±c stdin na stdout.\n"
-#: src/main.c:335
-msgid "\nReport bugs to <recode-bugs@iro.umontreal.ca>.\n"
-msgstr "\nProsimy o zg³aszanie b³êdów na adres <recode-bugs@iro.umontreal.ca>.\n"
+#: src/main.c:329
+msgid ""
+"\n"
+"Report bugs to <recode-bugs@iro.umontreal.ca>.\n"
+msgstr ""
+"\n"
+"Prosimy o zg³aszanie b³êdów na adres <recode-bugs@iro.umontreal.ca>.\n"
-#: src/main.c:431
+#: src/main.c:430
#, c-format
-msgid "Ambiguous sequence `%s'"
-msgstr "Nierozpoznana sekwencja `%s'"
+msgid "Sequence `%s' is ambiguous"
+msgstr ""
-#: src/main.c:435
+#: src/main.c:434
#, c-format
-msgid "Unknown sequence `%s'"
-msgstr "Nieznana sekwencja `%s'"
+msgid "Sequence `%s' is unknown"
+msgstr ""
-#: src/main.c:465 src/main.c:523
+#: src/main.c:464 src/main.c:522
#, c-format
-msgid "Ambiguous language `%s'"
-msgstr "Nierozpoznany jêzyk `%s'"
+msgid "Language `%s' is ambiguous"
+msgstr ""
#. -1
-#: src/main.c:469 src/main.c:527
+#: src/main.c:468 src/main.c:526
#, c-format
-msgid "Unknown language `%s'"
-msgstr "Nieznany jêzyk `%s'"
+msgid "Language `%s' is unknown"
+msgstr ""
-#: src/main.c:561
+#: src/main.c:560
#, c-format
-msgid "Ambiguous format `%s'"
-msgstr "Nierozpoznany format `%s'"
+msgid "Format `%s' is ambiguous"
+msgstr ""
-#: src/main.c:565
+#: src/main.c:564
#, c-format
-msgid "Unknown format `%s'"
-msgstr "Nieznany format `%s'"
+msgid "Format `%s' is unknown"
+msgstr ""
-#: src/main.c:622
-msgid "\nCopyright (C) 1990, 92, 93, 94, 96, 97, 99 Free Software Foundation, Inc.\n"
-msgstr "\nCopyright (C) 1990, 92, 93, 94, 96, 97, 99 Free Software Foundation, Inc.\n"
+#: src/main.c:621
+#, fuzzy
+msgid "Written by Franc,ois Pinard <pinard@iro.umontreal.ca>.\n"
+msgstr ""
+"\n"
+"Autorem jest Franc,ois Pinard <pinard@iro.umontreal.ca>.\n"
-#: src/main.c:626
+#: src/main.c:624
+msgid ""
+"\n"
+"Copyright (C) 1990, 92, 93, 94, 96, 97, 99 Free Software Foundation, Inc.\n"
+msgstr ""
+"\n"
+"Copyright (C) 1990, 92, 93, 94, 96, 97, 99 Free Software Foundation, Inc.\n"
+
+#: src/main.c:628
msgid ""
"This is free software; see the source for copying conditions. There is NO\n"
"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
"¼ród³owym. Nie podlega ¿adnej gwarancji, nawet gwarancji przydatno¶ci\n"
"do jakiegokolwiek zastosowania lub sprzeda¿y.\n"
-#: src/main.c:630
-msgid "\nWritten by Franc,ois Pinard <pinard@iro.umontreal.ca>.\n"
-msgstr "\nAutorem jest Franc,ois Pinard <pinard@iro.umontreal.ca>.\n"
+#: src/main.c:669
+#, c-format
+msgid "Symbol `%s' is unknown"
+msgstr ""
-#: src/main.c:775
+#: src/main.c:709 src/main.c:723
#, c-format
-msgid "Deprecated syntax, please prefer `%s'"
+msgid "Charset `%s' is unknown or ambiguous"
+msgstr ""
+
+#: src/main.c:754
+msgid "Required argument is missing"
+msgstr ""
+
+#: src/main.c:797
+#, fuzzy, c-format
+msgid "Syntax is deprecated, please prefer `%s'"
msgstr "Odradza siê stosowanie tej sk³adni, proszê u¿ywaæ `%s'"
-#: src/main.c:781
+#: src/main.c:803
#, c-format
-msgid "Erroneous request `%s'"
-msgstr "B³êdne polecenie `%s'"
+msgid "Request `%s' is erroneous"
+msgstr ""
-#: src/main.c:878
+#: src/main.c:903
#, c-format
msgid "Recoding %s..."
msgstr "Przekodowanie %s..."
-#: src/main.c:888
+#: src/main.c:913
msgid " done\n"
msgstr " skoñczone\n"
-#: src/main.c:924
-#, c-format
-msgid " failed: %s in %s..%s\n"
+#: src/main.c:954
+#, fuzzy, c-format
+msgid " failed: %s in step `%s..%s'\n"
msgstr " nie powiod³o siê: %s w %s..%s\n"
-#: src/main.c:931
-#, c-format
-msgid "%s failed: %s in %s..%s"
+#: src/main.c:961
+#, fuzzy, c-format
+msgid "%s failed: %s in step `%s..%s'"
msgstr "%s nie powiod³o siê: %s w %s..%s"
-#: src/main.c:954
-#, c-format
-msgid "%s in %s..%s"
+#: src/main.c:984
+#, fuzzy, c-format
+msgid "%s in step `%s..%s'"
msgstr "%s w %s..%s"
-#: src/names.c:317
+#: src/names.c:335
#, c-format
msgid "Charset %s already exists and is not %s"
msgstr "Zestaw %s ju¿ istnieje i nie jest %s"
-#: src/names.c:819
+#: src/names.c:831
#, c-format
msgid "Cannot list `%s', no names available for this charset"
msgstr "Nie mogê wylistowaæ `%s', brak nazw dla tego zestawu znaków"
#. code counter
#. expected value for code counter
-#. UCS-2 translation
#. insert a while line before printing
#. Print the long table according to explode data.
-#: src/names.c:974 src/names.c:1020
+#: src/names.c:984 src/names.c:1030
#, c-format
msgid "Dec Oct Hex UCS2 Mne %s\n"
msgstr "Dec Okt Hex UCS2 Mne %s\n"
-#: src/names.c:1039
+#: src/names.c:1049
#, c-format
msgid "Sorry, no names available for `%s'"
msgstr "Brak nazw dla `%s'"
-#: src/outer.c:95
+#: src/outer.c:125
#, c-format
msgid "Resurfacer set more than once for `%s'"
msgstr "Procedura rekoduj±ca zosta³a ustawiona wiêcej ni¿ raz dla `%s'"
-#: src/outer.c:102
+#: src/outer.c:133
#, c-format
msgid "Unsurfacer set more than once for `%s'"
msgstr "Procedura dekoduj±ca zosta³a ustawiona wiêcej ni¿ raz dla `%s'"
msgstr "Pamiêæ wirtualna wyczerpana"
#: src/recode.c:155
-#, c-format
+#, c-format, ycp-format
msgid "Codes %3d and %3d both recode to %3d"
msgstr "Kody %3d i %3d oba t³umacz± siê na %3d"
#: src/recode.c:169
-#, c-format
+#, c-format, ycp-format
msgid "No character recodes to %3d"
msgstr "¯aden znak nie koduje siê na %3d"
msgid "Cannot complete table from set of known pairs"
msgstr "Nie mogê utworzyæ tablicy z zestawu znanych par"
-#: src/recode.c:492
+#: src/recode.c:497
msgid "Identity recoding, not worth a table"
msgstr "Przekodowanie jest proste, tablica nie jest potrzebna"
-#: src/recode.c:499
+#: src/recode.c:504
msgid "Recoding is too complex for a mere table"
msgstr "Przekodowanie jest zbyt skomplikowane na zwyk³± tablicê"
#. Print the header of the header file.
-#: src/recode.c:531
+#: src/recode.c:536
#, c-format
msgid "%sConversion table generated mechanically by Free `%s' %s"
msgstr "%sTablica przekodowañ wygenerowana automatycznie przez GNU `%s' %s."
-#: src/recode.c:533
+#: src/recode.c:538
#, c-format
msgid "%sfor sequence %s.%s"
msgstr "%sdla sekwencji %s.%s"
-#: src/recode.c:724
+#: src/recode.c:744
msgid "No table to print"
msgstr "Brak tablicy do wypisania"
-#: src/request.c:35
+#: src/request.c:34
msgid "reversible"
msgstr "odwracalna"
-#: src/request.c:37
+#: src/request.c:36
#, c-format
msgid "%s to %s"
msgstr "%s na %s"
-#: src/request.c:38 src/request.c:40
+#: src/request.c:37 src/request.c:39
msgid "byte"
msgstr "bajt"
-#: src/request.c:39 src/request.c:41
+#: src/request.c:38 src/request.c:40
msgid "ucs2"
msgstr "ucs2"
-#: src/request.c:39 src/request.c:41
+#: src/request.c:38 src/request.c:40
msgid "variable"
msgstr "zmienne"
-#: src/request.c:112
+#: src/request.c:111
msgid "*Unachievable*"
msgstr "*Nieosi±galne*"
-#: src/request.c:114
+#: src/request.c:113
msgid "*mere copy*"
msgstr "*zwyk³a kopia*"
-#: src/request.c:244
+#: src/request.c:246
msgid "Virtual memory exhausted!"
msgstr "Pamiêæ wirtualna wyczerpana!"
-#: src/request.c:263
+#: src/request.c:265
msgid "Step initialisation failed"
msgstr "Inicjalizacja kroku nie powiod³a siê"
-#: src/request.c:270
+#: src/request.c:272
msgid "Step initialisation failed (unprocessed options)"
msgstr "Inicjalizacja kroku nie powiod³a siê (nieprzetworzone opcje)"
-#: src/request.c:566
+#: src/request.c:568
#, c-format
msgid "Request: %s\n"
msgstr "Polecenie: %s\n"
-#: src/request.c:702
+#: src/request.c:720
#, c-format
msgid "Shrunk to: %s\n"
msgstr "Zmniejszony do: %s\n"
-#: src/request.c:806 src/request.c:912
+#: src/request.c:823 src/request.c:932
#, c-format
msgid "Unrecognised surface name `%s'"
msgstr "Nierozpoznana nazwa standardu kodowania `%s'"
-#: src/request.c:884
+#: src/request.c:903
#, c-format
msgid "No way to recode from `%s' to `%s'"
msgstr "Przekodowanie `%s' na `%s' jest niemo¿liwe"
-#: src/request.c:992
+#: src/request.c:1013
msgid "Expecting `..' in request"
msgstr "Spodziewane `..' w poleceniu"
-#: src/task.c:751 src/task.c:915
+#: src/task.c:826 src/task.c:1002
#, c-format
msgid "Child process wait status is 0x%0.2x"
msgstr "Stan oczekiwania procesu potomnego wynosi 0x%0.2x"
+#: src/testdump.c:298
+msgid ""
+"UCS2 Mne Description\n"
+"\n"
+msgstr ""
+"UCS2 Mne Description\n"
+"\n"
+
+#~ msgid "CHARSET has no default, define DEFAULT_CHARSET in the environment.\n"
+#~ msgstr ""
+#~ "ZESTAW znaków nie ma warto¶ci domy¶lnej, ustaw zmienn± ¶rodowiskow±\n"
+#~ "DEFAULT_CHARSET.\n"
+
+#~ msgid "Ambiguous sequence `%s'"
+#~ msgstr "Nierozpoznana sekwencja `%s'"
+
+#~ msgid "Unknown sequence `%s'"
+#~ msgstr "Nieznana sekwencja `%s'"
+
+#~ msgid "Ambiguous language `%s'"
+#~ msgstr "Nierozpoznany jêzyk `%s'"
+
+#~ msgid "Unknown language `%s'"
+#~ msgstr "Nieznany jêzyk `%s'"
+
+#~ msgid "Ambiguous format `%s'"
+#~ msgstr "Nierozpoznany format `%s'"
+
+#~ msgid "Unknown format `%s'"
+#~ msgstr "Nieznany format `%s'"
+
+#~ msgid "Erroneous request `%s'"
+#~ msgstr "B³êdne polecenie `%s'"
+
#~ msgid " Each input char transforms into an output string,\n"
#~ msgstr " Ka¿dy znak wej¶ciowy jest konwertowany na ³añcuch wyj¶ciowy,\n"
#~ msgstr " Ka¿dy znak wej¶ciowy jest konwertowany na ³añcuch wyj¶ciowy.\n"
#~ msgid " Programming is needed to handle multichar input.\n"
-#~ msgstr " Do obs³ugi kodów wieloznakowych potrzebna jest umiejêtno¶æ programowania.\n"
+#~ msgstr ""
+#~ " Do obs³ugi kodów wieloznakowych potrzebna jest umiejêtno¶æ "
+#~ "programowania.\n"
#~ msgid " The recoding might not be reversible.\n"
#~ msgstr " Konwersja mo¿e byæ nieodwracalna.\n"
#~ msgstr " Konwersja powinna byæ odwracalna.\n"
#~ msgid " programming is needed to handle multichar input.\n"
-#~ msgstr " do obs³ugi kodów wieloznakowych potrzebna jest umiejêtno¶æ programowania.\n"
+#~ msgstr ""
+#~ " do obs³ugi kodów wieloznakowych potrzebna jest umiejêtno¶æ "
+#~ "programowania.\n"
#~ msgid " UNACHIEVABLE\n"
#~ msgstr " NIEOSI¡GALNE\n"
#~ msgid " -o, --sequence=popen same as -i (on this system)\n"
#~ msgstr " -o, --sequence=popen identyczne jak -i (w tym systemie)\n"
-#~ msgid " -o, --sequence=popen use popen machinery for sequencing passes\n"
-#~ msgstr " -o, --sequence=popen u¿ycie techniki popen w przebiegach sekwencyjnych\n"
+#~ msgid ""
+#~ " -o, --sequence=popen use popen machinery for sequencing passes\n"
+#~ msgstr ""
+#~ " -o, --sequence=popen u¿ycie techniki popen w przebiegach sekwencyjnych\n"
#~ msgid ""
#~ " -q, --quiet, --silent inhibit messages about irreversible recodings\n"
#~ "FILE is specified, then act as a filter and recode stdin to stdout.\n"
#~ msgstr ""
#~ " -q, --quiet, --silent blokuj komunikaty o nieodwracalnych konwersjach\n"
-#~ " -s, --strict u¿ywaj ¶cis³ych odwzorowañ, nawet dla w±tpliwych znaków\n"
-#~ " -t, --touch uaktualnij datê przekodowanego, podstawionego pliku\n"
+#~ " -s, --strict u¿ywaj ¶cis³ych odwzorowañ, nawet dla w±tpliwych "
+#~ "znaków\n"
+#~ " -t, --touch uaktualnij datê przekodowanego, podstawionego "
+#~ "pliku\n"
#~ " -v, --verbose pokazuj kolejne kroki i postêp konwersji\n"
#~ " -x, --ignore=ZESTAW ignoruj ZESTAW znaków przy wyborze konwersji\n"
#~ "\n"
#~ "FORMAT is a word among decimal, octal, hexadecimal or full (which may be\n"
#~ "abbreviated to one of `dohf'), it defaults to just the canonical name.\n"
#~ "With -k, possible before charsets are listed for the given after CHARSET,\n"
-#~ "both being RFC1345 charsets, with PAIRS of the form `BEF1:AFT1,BEF2:AFT2,...\n"
+#~ "both being RFC1345 charsets, with PAIRS of the form "
+#~ "`BEF1:AFT1,BEF2:AFT2,...\n"
#~ "and BEFs and AFTs being codes. All codes are given as decimal numbers.\n"
#~ msgstr ""
#~ "Obowi±zkowe lub opcjonalne argumenty d³ugich form opcji maj± tak± sam±\n"
#~ "z zestawów RFC1345, postaci: PRZED1:PO2,PRZED2:PO2,...\n"
#~ msgid ""
-#~ "Option -l with no FORMAT nor CHARSET list all charsets, also see the Texinfo\n"
+#~ "Option -l with no FORMAT nor CHARSET list all charsets, also see the "
+#~ "Texinfo\n"
#~ "documentation. My preferred charsets are (each user has preferences):\n"
#~ "\n"
#~ " ascii-bs ASCII (7-bit), using backspace to apply diacritics\n"
#~ msgstr ""
#~ "\n"
#~ " -c, --colons u¿ywaj dwukropków zamiast cudzys³owów\n"
-#~ " -d, --diacritics ogranicz konwersjê do zn. diakryt. itp. dla LaTeXa\n"
+#~ " -d, --diacritics ogranicz konwersjê do zn. diakryt. itp. dla "
+#~ "LaTeXa\n"
#~ " -f, --force wymuszaj konwersje, nawet je¶li s± nieodwracalne\n"
#~ " (UWAGA: w tej wersji -f zawsze obowi±zuje)\n"
#~ " -g, --graphics przybli¿aj ramki IBMPC za pomoc± znaków ASCII\n"
#~ " -h, --header[=NAZWA] wypisz zestaw NAZWA w postaci kodu C na stdout\n"
-#~ " -i, --sequence=pliki u¿ywaj plików po¶rednich do przebiegów sekwencyjnych\n"
+#~ " -i, --sequence=pliki u¿ywaj plików po¶rednich do przebiegów "
+#~ "sekwencyjnych\n"
-#~ msgid "\nUsage: %s [OPTION]... [BEFORE]:[AFTER] [FILE]...\n"
-#~ msgstr "\nSk³adnia: %s [OPCJA]... [PRZED]:[PO] [PLIK]...\n"
+#~ msgid ""
+#~ "\n"
+#~ "Usage: %s [OPTION]... [BEFORE]:[AFTER] [FILE]...\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Sk³adnia: %s [OPCJA]... [PRZED]:[PO] [PLIK]...\n"
#~ msgid "many to many"
#~ msgstr "wiele na wiele"
msgid ""
msgstr ""
"Project-Id-Version: GNU recode 3.4.3\n"
-"POT-Creation-Date: 1999-05-18 08:46-0400\n"
+"POT-Creation-Date: 2001-01-02 22:35+0100\n"
"PO-Revision-Date: 1996-11-25 10:00-0000\n"
"Last-Translator: Vitor Duarte <vad@di.fct.unl.pt>\n"
"Language-Team: Portuguese <pt@li.org>\n"
"Content-Type: text/plain; charset=ISO-8859-1\n"
"Content-Transfer-Encoding: 8-bit\n"
-#. Dump all characters.
-#: src/debug.c:287
-msgid ""
-"UCS2 Mne Description\n"
-"\n"
-msgstr ""
-
-#: src/main.c:140
+#: src/main.c:142
msgid "No error"
msgstr ""
-#: src/main.c:143
+#: src/main.c:145
msgid "Non canonical input"
msgstr ""
-#: src/main.c:146
+#: src/main.c:148
#, fuzzy
msgid "Ambiguous output"
msgstr "O formato «%s» é ambiguo"
-#: src/main.c:149
+#: src/main.c:151
msgid "Untranslatable input"
msgstr ""
-#: src/main.c:152
+#: src/main.c:154
msgid "Invalid input"
msgstr ""
-#: src/main.c:155
+#: src/main.c:157
msgid "System detected problem"
msgstr ""
-#: src/main.c:158
+#: src/main.c:160
msgid "Misuse of recoding library"
msgstr ""
-#: src/main.c:161
+#: src/main.c:163
msgid "Internal recoding bug"
msgstr ""
-#: src/main.c:206
+#: src/main.c:208
msgid ""
"This program is free software; you can redistribute it and/or modify\n"
"it under the terms of the GNU General Public License as published by\n"
"com este programa; se assim não for, escreva para Free Software\n"
"Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, EUA.\n"
-#: src/main.c:231
+#: src/main.c:233
#, c-format
msgid "Try `%s %s' for more information.\n"
msgstr "Para mais informação tente «%s %s».\n"
-#: src/main.c:235
+#: src/main.c:237
msgid ""
"Free `recode' converts files between various character sets and surfaces.\n"
msgstr ""
-#: src/main.c:239
+#: src/main.c:241
#, fuzzy, c-format
msgid ""
"\n"
"\n"
"Uso: %s [OPÇÃO]... [CHARSET]\n"
-#: src/main.c:242
+#: src/main.c:244
msgid ""
"\n"
"If a long option shows an argument as mandatory, then it is mandatory\n"
"for the equivalent short option also. Similarly for optional arguments.\n"
msgstr ""
-#: src/main.c:248
+#: src/main.c:250
msgid ""
"\n"
"Listings:\n"
-" -l, --list[=FORMAT] list one or all known charsets\n"
+" -l, --list[=FORMAT] list one or all known charsets and aliases\n"
" -k, --known=PAIRS restrict charsets according to known PAIRS "
"list\n"
" -h, --header[=[LN/]NAME] write table NAME on stdout using LN, then exit\n"
" --version output version information and exit\n"
msgstr ""
-#: src/main.c:261
+#: src/main.c:263
msgid ""
"\n"
"Operation modes:\n"
" --sequence=memory use memory buffers for sequencing passes\n"
msgstr ""
-#: src/main.c:273
+#: src/main.c:275
msgid " -p, --sequence=pipe use pipe machinery for sequencing passes\n"
msgstr " -p, --sequence=pipe usar «pipe» para sequenciar os passos\n"
-#: src/main.c:278
+#: src/main.c:280
#, fuzzy
msgid " -p, --sequence=pipe same as -i (on this system)\n"
msgstr " -p, --sequence=pipe o mesmo que -o (neste sistema)\n"
-#: src/main.c:283
+#: src/main.c:285
#, fuzzy
msgid ""
"\n"
" -i, --sequence=files usar ficheiros intermédios para os passos "
"sucessivos\n"
-#: src/main.c:294
+#: src/main.c:296
msgid ""
"\n"
"Option -l with no FORMAT nor CHARSET list available charsets and surfaces.\n"
msgstr ""
#: src/main.c:302
-#, c-format
msgid ""
-"Unless DEFAULT_CHARSET is set in environment, CHARSET defaults to `%s'.\n"
+"Unless DEFAULT_CHARSET is set in environment, CHARSET defaults to the "
+"locale\n"
+"dependent encoding, determined by LC_ALL, LC_CTYPE, LANG.\n"
msgstr ""
-#: src/main.c:308
-msgid "CHARSET has no default, define DEFAULT_CHARSET in the environment.\n"
-msgstr ""
-
-#: src/main.c:313
+#: src/main.c:307
msgid ""
"With -k, possible before charsets are listed for the given after CHARSET,\n"
"both being tabular charsets, with PAIRS of the form "
"and BEFs and AFTs being codes are given as decimal numbers.\n"
msgstr ""
-#: src/main.c:318
+#: src/main.c:312
msgid ""
"LN is some language, it may be `c', `perl' or `po'; `c' is the default.\n"
msgstr ""
-#: src/main.c:321
+#: src/main.c:315
msgid ""
"\n"
"REQUEST is SUBREQUEST[,SUBREQUEST]...; SUBREQUEST is "
"with an empty surface name means no surfaces at all. See the manual.\n"
msgstr ""
-#: src/main.c:329
+#: src/main.c:323
msgid ""
"\n"
"If none of -i and -p are given, presume -p if no FILE, else -i.\n"
"FILE is specified, then act as a filter and recode stdin to stdout.\n"
msgstr ""
-#: src/main.c:335
+#: src/main.c:329
#, fuzzy
msgid ""
"\n"
"\n"
"Reporte os «bugs» para <recode-bugs@gnu.ai.mit.edu>.\n"
-#: src/main.c:431
+#: src/main.c:430
#, c-format
-msgid "Ambiguous sequence `%s'"
-msgstr "A sequência «%s» é ambígua"
+msgid "Sequence `%s' is ambiguous"
+msgstr ""
-#: src/main.c:435
+#: src/main.c:434
#, c-format
-msgid "Unknown sequence `%s'"
-msgstr "Sequência «%s» desconhecida"
+msgid "Sequence `%s' is unknown"
+msgstr ""
-#: src/main.c:465 src/main.c:523
+#: src/main.c:464 src/main.c:522
#, c-format
-msgid "Ambiguous language `%s'"
-msgstr "Linguagem «%s» ambígua"
+msgid "Language `%s' is ambiguous"
+msgstr ""
#. -1
-#: src/main.c:469 src/main.c:527
+#: src/main.c:468 src/main.c:526
#, c-format
-msgid "Unknown language `%s'"
-msgstr "Lingua «%s» desconhecida"
+msgid "Language `%s' is unknown"
+msgstr ""
-#: src/main.c:561
+#: src/main.c:560
#, c-format
-msgid "Ambiguous format `%s'"
-msgstr "O formato «%s» é ambiguo"
+msgid "Format `%s' is ambiguous"
+msgstr ""
-#: src/main.c:565
+#: src/main.c:564
#, c-format
-msgid "Unknown format `%s'"
-msgstr "Formato «%s» desconhecido"
+msgid "Format `%s' is unknown"
+msgstr ""
+
+#: src/main.c:621
+#, fuzzy
+msgid "Written by Franc,ois Pinard <pinard@iro.umontreal.ca>.\n"
+msgstr ""
+"\n"
+"Escrito por Franc,ois Pinard <pinard@iro.umontreal.ca>.\n"
-#: src/main.c:622
+#: src/main.c:624
#, fuzzy
msgid ""
"\n"
"\n"
"Copyright (C) 1990, 1992, 1993, 1994, 1996 Free Software Foundation, Inc.\n"
-#: src/main.c:626
+#: src/main.c:628
msgid ""
"This is free software; see the source for copying conditions. There is NO\n"
"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
"condições o pode copiar. SEM GARANTIA; nem mesmo de COMERCIABILIDADE ou\n"
"de UTILIDADE PARA QUALQUER UTILIZAÇÃO.\n"
-#: src/main.c:630
-msgid ""
-"\n"
-"Written by Franc,ois Pinard <pinard@iro.umontreal.ca>.\n"
+#: src/main.c:669
+#, c-format
+msgid "Symbol `%s' is unknown"
+msgstr ""
+
+#: src/main.c:709 src/main.c:723
+#, c-format
+msgid "Charset `%s' is unknown or ambiguous"
+msgstr ""
+
+#: src/main.c:754
+msgid "Required argument is missing"
msgstr ""
-"\n"
-"Escrito por Franc,ois Pinard <pinard@iro.umontreal.ca>.\n"
-#: src/main.c:775
+#: src/main.c:797
#, c-format
-msgid "Deprecated syntax, please prefer `%s'"
+msgid "Syntax is deprecated, please prefer `%s'"
msgstr ""
-#: src/main.c:781
+#: src/main.c:803
#, c-format
-msgid "Erroneous request `%s'"
+msgid "Request `%s' is erroneous"
msgstr ""
-#: src/main.c:878
+#: src/main.c:903
#, c-format
msgid "Recoding %s..."
msgstr "Convertendo %s..."
-#: src/main.c:888
+#: src/main.c:913
msgid " done\n"
msgstr " terminado\n"
-#: src/main.c:924
+#: src/main.c:954
#, c-format
-msgid " failed: %s in %s..%s\n"
+msgid " failed: %s in step `%s..%s'\n"
msgstr ""
-#: src/main.c:931
+#: src/main.c:961
#, c-format
-msgid "%s failed: %s in %s..%s"
+msgid "%s failed: %s in step `%s..%s'"
msgstr ""
-#: src/main.c:954
+#: src/main.c:984
#, fuzzy, c-format
-msgid "%s in %s..%s"
+msgid "%s in step `%s..%s'"
msgstr "%spara a sequência %s.%s"
-#: src/names.c:317
+#: src/names.c:335
#, c-format
msgid "Charset %s already exists and is not %s"
msgstr "O conjunto de caracteres %s já existe e não é %s"
-#: src/names.c:819
+#: src/names.c:831
#, fuzzy, c-format
msgid "Cannot list `%s', no names available for this charset"
msgstr ""
#. code counter
#. expected value for code counter
-#. UCS-2 translation
#. insert a while line before printing
#. Print the long table according to explode data.
-#: src/names.c:974 src/names.c:1020
+#: src/names.c:984 src/names.c:1030
#, fuzzy, c-format
msgid "Dec Oct Hex UCS2 Mne %s\n"
msgstr "dec oct hex ch %s\n"
-#: src/names.c:1039
+#: src/names.c:1049
#, fuzzy, c-format
msgid "Sorry, no names available for `%s'"
msgstr "Desculpe, não existem nomes `RFC 1345' para «%s»"
-#: src/outer.c:95
+#: src/outer.c:125
#, c-format
msgid "Resurfacer set more than once for `%s'"
msgstr ""
-#: src/outer.c:102
+#: src/outer.c:133
#, c-format
msgid "Unsurfacer set more than once for `%s'"
msgstr ""
msgstr ""
#: src/recode.c:155
-#, c-format
+#, c-format, ycp-format
msgid "Codes %3d and %3d both recode to %3d"
msgstr "Ambos os códigos %3d e %3d são convertidos em %3d"
#: src/recode.c:169
-#, c-format
+#, c-format, ycp-format
msgid "No character recodes to %3d"
msgstr "Nenhum carácter é convertido em %3d"
msgid "Cannot complete table from set of known pairs"
msgstr "Não posso completar a tabela a partir do conjunto de pares conhecidos"
-#: src/recode.c:492
+#: src/recode.c:497
msgid "Identity recoding, not worth a table"
msgstr "A conversão não necessita de tabela"
-#: src/recode.c:499
+#: src/recode.c:504
msgid "Recoding is too complex for a mere table"
msgstr "Conversão demasiado complexa para uma simples tabela"
#. Print the header of the header file.
-#: src/recode.c:531
+#: src/recode.c:536
#, fuzzy, c-format
msgid "%sConversion table generated mechanically by Free `%s' %s"
msgstr "%sTabela de conversão gerada automaticamente por GNU %s %s"
-#: src/recode.c:533
+#: src/recode.c:538
#, c-format
msgid "%sfor sequence %s.%s"
msgstr "%spara a sequência %s.%s"
-#: src/recode.c:724
+#: src/recode.c:744
msgid "No table to print"
msgstr "Nenhuma tabela a imprimir"
-#: src/request.c:35
+#: src/request.c:34
msgid "reversible"
msgstr "reversível"
-#: src/request.c:37
+#: src/request.c:36
#, fuzzy, c-format
msgid "%s to %s"
msgstr "%spara a sequência %s.%s"
-#: src/request.c:38 src/request.c:40
+#: src/request.c:37 src/request.c:39
msgid "byte"
msgstr ""
-#: src/request.c:39 src/request.c:41
+#: src/request.c:38 src/request.c:40
msgid "ucs2"
msgstr ""
-#: src/request.c:39 src/request.c:41
+#: src/request.c:38 src/request.c:40
#, fuzzy
msgid "variable"
msgstr "reversível"
-#: src/request.c:112
+#: src/request.c:111
msgid "*Unachievable*"
msgstr "*Impossível*"
-#: src/request.c:114
+#: src/request.c:113
msgid "*mere copy*"
msgstr "*simples cópia*"
-#: src/request.c:244
+#: src/request.c:246
msgid "Virtual memory exhausted!"
msgstr ""
-#: src/request.c:263
+#: src/request.c:265
msgid "Step initialisation failed"
msgstr ""
-#: src/request.c:270
+#: src/request.c:272
msgid "Step initialisation failed (unprocessed options)"
msgstr ""
-#: src/request.c:566
+#: src/request.c:568
#, c-format
msgid "Request: %s\n"
msgstr ""
-#: src/request.c:702
+#: src/request.c:720
#, c-format
msgid "Shrunk to: %s\n"
msgstr ""
-#: src/request.c:806 src/request.c:912
+#: src/request.c:823 src/request.c:932
#, c-format
msgid "Unrecognised surface name `%s'"
msgstr ""
-#: src/request.c:884
+#: src/request.c:903
#, fuzzy, c-format
msgid "No way to recode from `%s' to `%s'"
msgstr "É impossível passar de %s para %s"
-#: src/request.c:992
+#: src/request.c:1013
msgid "Expecting `..' in request"
msgstr ""
-#: src/task.c:751 src/task.c:915
+#: src/task.c:826 src/task.c:1002
#, c-format
msgid "Child process wait status is 0x%0.2x"
msgstr "O processo filho terminou com estado 0x%0.2x"
+#: src/testdump.c:298
+msgid ""
+"UCS2 Mne Description\n"
+"\n"
+msgstr ""
+
+#~ msgid "Ambiguous sequence `%s'"
+#~ msgstr "A sequência «%s» é ambígua"
+
+#~ msgid "Unknown sequence `%s'"
+#~ msgstr "Sequência «%s» desconhecida"
+
+#~ msgid "Ambiguous language `%s'"
+#~ msgstr "Linguagem «%s» ambígua"
+
+#~ msgid "Unknown language `%s'"
+#~ msgstr "Lingua «%s» desconhecida"
+
+#~ msgid "Ambiguous format `%s'"
+#~ msgstr "O formato «%s» é ambiguo"
+
+#~ msgid "Unknown format `%s'"
+#~ msgstr "Formato «%s» desconhecido"
+
#~ msgid "Hash stats: %d names using %d buckets out of %d\n"
#~ msgstr "Estatísticas de dispersão: %d nomes, usando %d de %d posições\n"
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2000-06-28 15:16-0400\n"
+"POT-Creation-Date: 2001-01-02 22:35+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"FORMAT is `decimal', `octal', `hexadecimal' or `full' (or one of `dohf').\n"
msgstr ""
-#: src/main.c:304
-#, c-format
+#: src/main.c:302
msgid ""
-"Unless DEFAULT_CHARSET is set in environment, CHARSET defaults to `%s'.\n"
-msgstr ""
-
-#: src/main.c:310
-msgid "CHARSET has no default, define DEFAULT_CHARSET in the environment.\n"
+"Unless DEFAULT_CHARSET is set in environment, CHARSET defaults to the "
+"locale\n"
+"dependent encoding, determined by LC_ALL, LC_CTYPE, LANG.\n"
msgstr ""
-#: src/main.c:315
+#: src/main.c:307
msgid ""
"With -k, possible before charsets are listed for the given after CHARSET,\n"
"both being tabular charsets, with PAIRS of the form "
"and BEFs and AFTs being codes are given as decimal numbers.\n"
msgstr ""
-#: src/main.c:320
+#: src/main.c:312
msgid ""
"LN is some language, it may be `c', `perl' or `po'; `c' is the default.\n"
msgstr ""
-#: src/main.c:323
+#: src/main.c:315
msgid ""
"\n"
"REQUEST is SUBREQUEST[,SUBREQUEST]...; SUBREQUEST is "
"with an empty surface name means no surfaces at all. See the manual.\n"
msgstr ""
-#: src/main.c:331
+#: src/main.c:323
msgid ""
"\n"
"If none of -i and -p are given, presume -p if no FILE, else -i.\n"
"FILE is specified, then act as a filter and recode stdin to stdout.\n"
msgstr ""
-#: src/main.c:337
+#: src/main.c:329
msgid ""
"\n"
"Report bugs to <recode-bugs@iro.umontreal.ca>.\n"
msgstr ""
-#: src/main.c:433
+#: src/main.c:430
#, c-format
msgid "Sequence `%s' is ambiguous"
msgstr ""
-#: src/main.c:437
+#: src/main.c:434
#, c-format
msgid "Sequence `%s' is unknown"
msgstr ""
-#: src/main.c:467 src/main.c:525
+#: src/main.c:464 src/main.c:522
#, c-format
msgid "Language `%s' is ambiguous"
msgstr ""
#. -1
-#: src/main.c:471 src/main.c:529
+#: src/main.c:468 src/main.c:526
#, c-format
msgid "Language `%s' is unknown"
msgstr ""
-#: src/main.c:563
+#: src/main.c:560
#, c-format
msgid "Format `%s' is ambiguous"
msgstr ""
-#: src/main.c:567
+#: src/main.c:564
#, c-format
msgid "Format `%s' is unknown"
msgstr ""
-#: src/main.c:624
+#: src/main.c:621
msgid "Written by Franc,ois Pinard <pinard@iro.umontreal.ca>.\n"
msgstr ""
-#: src/main.c:627
+#: src/main.c:624
msgid ""
"\n"
"Copyright (C) 1990, 92, 93, 94, 96, 97, 99 Free Software Foundation, Inc.\n"
msgstr ""
-#: src/main.c:631
+#: src/main.c:628
msgid ""
"This is free software; see the source for copying conditions. There is NO\n"
"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
msgstr ""
-#: src/main.c:672
+#: src/main.c:669
#, c-format
msgid "Symbol `%s' is unknown"
msgstr ""
-#: src/main.c:712 src/main.c:726
+#: src/main.c:709 src/main.c:723
#, c-format
msgid "Charset `%s' is unknown or ambiguous"
msgstr ""
-#: src/main.c:757
+#: src/main.c:754
msgid "Required argument is missing"
msgstr ""
-#: src/main.c:799
+#: src/main.c:797
#, c-format
msgid "Syntax is deprecated, please prefer `%s'"
msgstr ""
-#: src/main.c:805
+#: src/main.c:803
#, c-format
msgid "Request `%s' is erroneous"
msgstr ""
msgid "%s in step `%s..%s'"
msgstr ""
-#: src/names.c:341
+#: src/names.c:335
#, c-format
msgid "Charset %s already exists and is not %s"
msgstr ""
-#: src/names.c:837
+#: src/names.c:831
#, c-format
msgid "Cannot list `%s', no names available for this charset"
msgstr ""
#. expected value for code counter
#. insert a while line before printing
#. Print the long table according to explode data.
-#: src/names.c:990 src/names.c:1036
+#: src/names.c:984 src/names.c:1030
#, c-format
msgid "Dec Oct Hex UCS2 Mne %s\n"
msgstr ""
-#: src/names.c:1055
+#: src/names.c:1049
#, c-format
msgid "Sorry, no names available for `%s'"
msgstr ""
-#: src/outer.c:124
+#: src/outer.c:125
#, c-format
msgid "Resurfacer set more than once for `%s'"
msgstr ""
-#: src/outer.c:132
+#: src/outer.c:133
#, c-format
msgid "Unsurfacer set more than once for `%s'"
msgstr ""
msgid "Cannot complete table from set of known pairs"
msgstr ""
-#: src/recode.c:490
+#: src/recode.c:497
msgid "Identity recoding, not worth a table"
msgstr ""
-#: src/recode.c:497
+#: src/recode.c:504
msgid "Recoding is too complex for a mere table"
msgstr ""
#. Print the header of the header file.
-#: src/recode.c:529
+#: src/recode.c:536
#, c-format
msgid "%sConversion table generated mechanically by Free `%s' %s"
msgstr ""
-#: src/recode.c:531
+#: src/recode.c:538
#, c-format
msgid "%sfor sequence %s.%s"
msgstr ""
-#: src/recode.c:737
+#: src/recode.c:744
msgid "No table to print"
msgstr ""
msgid "Child process wait status is 0x%0.2x"
msgstr ""
-#: src/testdump.c:293
+#: src/testdump.c:298
msgid ""
"UCS2 Mne Description\n"
"\n"
msgid ""
msgstr ""
"Project-Id-Version: recode 3.5\n"
-"POT-Creation-Date: 1999-05-18 08:46-0400\n"
+"POT-Creation-Date: 2001-01-02 22:35+0100\n"
"PO-Revision-Date: 1999-12-21 17:01 MET\n"
"Last-Translator: Primoz Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>\n"
"Language-Team: Slovenian <sl@li.org>\n"
"Content-Type: text/plain; charset=ISO-8859-2\n"
"Content-Transfer-Encoding: 8-bit\n"
-#. Dump all characters.
-#: src/debug.c:287
-msgid "UCS2 Mne Description\n\n"
-msgstr "UCS2 Mne Opis\n\n"
-
-#: src/main.c:140
+#: src/main.c:142
msgid "No error"
msgstr "Brez napak"
-#: src/main.c:143
+#: src/main.c:145
msgid "Non canonical input"
msgstr "Nekanonièen vhod"
-#: src/main.c:146
+#: src/main.c:148
msgid "Ambiguous output"
msgstr "Dvoumen izhod"
-#: src/main.c:149
+#: src/main.c:151
msgid "Untranslatable input"
msgstr "Neprevedljiv vhod"
-#: src/main.c:152
+#: src/main.c:154
msgid "Invalid input"
msgstr "Neveljaven vhod"
-#: src/main.c:155
+#: src/main.c:157
msgid "System detected problem"
msgstr "Te¾ave v sistemu"
-#: src/main.c:158
+#: src/main.c:160
msgid "Misuse of recoding library"
msgstr "Zloraba pretvorne knji¾nice"
-#: src/main.c:161
+#: src/main.c:163
msgid "Internal recoding bug"
msgstr "Notranja napaki pri pretvorbi"
# POZOR!!!
# Tole bi nujno moral dobiti v roke pravnik...
-#: src/main.c:206
+#: src/main.c:208
msgid ""
"This program is free software; you can redistribute it and/or modify\n"
"it under the terms of the GNU General Public License as published by\n"
msgstr ""
"Ta program je prosta programska oprema; lahko ga redistribuirate in/ali\n"
"spreminjate po pogojih, doloèenih v ,,GNU General Public License``, izdani\n"
-"pri Free Software Foundation; 2. izdaja (ali novej¹a, èe razpolagate z njo).\n"
+"pri Free Software Foundation; 2. izdaja (ali novej¹a, èe razpolagate z "
+"njo).\n"
"\n"
-"Ta program se distribuira v upanju, da je uporaben, vendar BREZ KAKR©NEGAKOLI\n"
+"Ta program se distribuira v upanju, da je uporaben, vendar BREZ "
+"KAKR©NEGAKOLI\n"
"JAMSTVA; vkljuèno z impliciranim jamstvom prodajnosti ali uporabnosti za\n"
"izbrani namen. Za podrobnosti si oglejte ,,GNU General Public License``.\n"
"\n"
"èe ni, pi¹ite Free Software Foundation, Inc., 59 Temple Place - Suite 330,\n"
"Boston, MA 02111-1307, USA.\n"
-#: src/main.c:231
+#: src/main.c:233
#, c-format
msgid "Try `%s %s' for more information.\n"
msgstr "Poskusite ,%s %s` za dodatne informacije.\n"
-#: src/main.c:235
-msgid "Free `recode' converts files between various character sets and surfaces.\n"
-msgstr "Prosti ,recode` pretvarja datoteke med razliènimi kodnimi nabori in preèrkovanji.\n"
+#: src/main.c:237
+msgid ""
+"Free `recode' converts files between various character sets and surfaces.\n"
+msgstr ""
+"Prosti ,recode` pretvarja datoteke med razliènimi kodnimi nabori in "
+"preèrkovanji.\n"
-#: src/main.c:239
+#: src/main.c:241
#, c-format
-msgid "\nUsage: %s [OPTION]... [ [CHARSET] | REQUEST [FILE]... ]\n"
-msgstr "\nUporaba: %s [IZBIRA]... [ [NABOR] | ZAHTEVA [DATOTEKA]... ]\n"
+msgid ""
+"\n"
+"Usage: %s [OPTION]... [ [CHARSET] | REQUEST [FILE]... ]\n"
+msgstr ""
+"\n"
+"Uporaba: %s [IZBIRA]... [ [NABOR] | ZAHTEVA [DATOTEKA]... ]\n"
-#: src/main.c:242
+#: src/main.c:244
msgid ""
"\n"
"If a long option shows an argument as mandatory, then it is mandatory\n"
"Èe je pri dolgi obliki izbire argument naveden kot obvezen, velja\n"
"obveza tudi za kratko obliko. Podobno tudi za neobvezne argumente.\n"
-#: src/main.c:248
+#: src/main.c:250
+#, fuzzy
msgid ""
"\n"
"Listings:\n"
-" -l, --list[=FORMAT] list one or all known charsets\n"
-" -k, --known=PAIRS restrict charsets according to known PAIRS list\n"
+" -l, --list[=FORMAT] list one or all known charsets and aliases\n"
+" -k, --known=PAIRS restrict charsets according to known PAIRS "
+"list\n"
" -h, --header[=[LN/]NAME] write table NAME on stdout using LN, then exit\n"
" -F, --freeze-tables write out a C module holding all tables\n"
" -T, --find-subsets report all charsets being subset of others\n"
"\n"
"Seznami:\n"
" -l, --list[=OBLIKA] izpi¹i en ali vse kodirane nabore znakov\n"
-" -k, --known=PARI izpi¹i nabore, ki ustrezajo podanim PAROM pretvorb\n"
-" -h, --header[=[JEZIK/]IME] izpi¹i pretvorno tabelo z danim IMENOM v prog. JEZIKU\n"
+" -k, --known=PARI izpi¹i nabore, ki ustrezajo podanim PAROM "
+"pretvorb\n"
+" -h, --header[=[JEZIK/]IME] izpi¹i pretvorno tabelo z danim IMENOM v prog. "
+"JEZIKU\n"
" -F, --freeze-tables izpi¹i modul v C z vsemi pretvornimi tabelami\n"
-" -T, --find-subsets poroèaj o vseh naborih, ki so podmno¾ica drugih\n"
+" -T, --find-subsets poroèaj o vseh naborih, ki so podmno¾ica "
+"drugih\n"
" -C, --copyright izpi¹i dovoljenje za uporabo in raz¹irjanje\n"
" --help ta navodila\n"
" --version razlièica programa\n"
-#: src/main.c:261
+#: src/main.c:263
msgid ""
"\n"
"Operation modes:\n"
msgstr ""
"\n"
"Naèini dela:\n"
-" -v, --verbose med potekom razlagaj korake in komentiraj napredek\n"
+" -v, --verbose med potekom razlagaj korake in komentiraj "
+"napredek\n"
" -q, --quiet, --silent brez opozoril o neobrnljivih pretvorbah\n"
" -f, --force pretvorbo izvedi, èetudi ni obrnljiva\n"
" -t, --touch pretvorjena datoteka naj nosi datum pretvorbe,\n"
" -i, --sequence=files uporabi vmesne datoteke za zaporedne prehode\n"
" --sequence=memory med prehodi hrani besedilo v pomnilniku\n"
-#: src/main.c:273
+#: src/main.c:275
msgid " -p, --sequence=pipe use pipe machinery for sequencing passes\n"
msgstr " -p, --sequence=pipe uporabi cevovode za nizanje prehodov\n"
-#: src/main.c:278
+#: src/main.c:280
msgid " -p, --sequence=pipe same as -i (on this system)\n"
msgstr " -p, --sequence=pipe isto kot -i (na tem sistemu)\n"
-#: src/main.c:283
+#: src/main.c:285
msgid ""
"\n"
"Fine tuning:\n"
msgstr ""
"\n"
"Natanènej¹e nastavljanje:\n"
-" -s, --strict uporabi strogo pretvorbo, celo na raèun izgube znakov\n"
-" -d, --diacritics pretvori samo pregla¹ene in podobne znake za HTML/LaTeX\n"
-" -S, --source[=JEZIK] omeji pretvorbe na nize in komentarje, kot v JEZIKU\n"
-" -c, --colons nadomesti dierezo z dvopièjem, ne z dvojnim narekovajem\n"
-" -g, --graphics semigrafiène znake s PC pribl. nadomestimo z znaki ASCII\n"
+" -s, --strict uporabi strogo pretvorbo, celo na raèun izgube "
+"znakov\n"
+" -d, --diacritics pretvori samo pregla¹ene in podobne znake za "
+"HTML/LaTeX\n"
+" -S, --source[=JEZIK] omeji pretvorbe na nize in komentarje, kot v "
+"JEZIKU\n"
+" -c, --colons nadomesti dierezo z dvopièjem, ne z dvojnim "
+"narekovajem\n"
+" -g, --graphics semigrafiène znake s PC pribl. nadomestimo z znaki "
+"ASCII\n"
" -x, --ignore=NABOR pri pretvorbi se izogni navedenemu vmesnemu NABORU\n"
-#: src/main.c:294
+#: src/main.c:296
msgid ""
"\n"
"Option -l with no FORMAT nor CHARSET list available charsets and surfaces.\n"
"FORMAT is `decimal', `octal', `hexadecimal' or `full' (or one of `dohf').\n"
msgstr ""
"\n"
-"Izbira -l brez podane OBLIKE ali NABORA izpi¹e seznam vseh znanih kodnih naborov\n"
-"in preèrkovalnih shem. OBLIKA je lahko ,decimal` (deseti¹ka), ,octal` (osmi¹ka),\n"
+"Izbira -l brez podane OBLIKE ali NABORA izpi¹e seznam vseh znanih kodnih "
+"naborov\n"
+"in preèrkovalnih shem. OBLIKA je lahko ,decimal` (deseti¹ka), ,octal` "
+"(osmi¹ka),\n"
",hexadecimal` (¹estnajsti¹ka) ali ,full` (polna), ali ena od èrk ,dohf`.\n"
#: src/main.c:302
-#, c-format
-msgid "Unless DEFAULT_CHARSET is set in environment, CHARSET defaults to `%s'.\n"
-msgstr "Èe ni doloèena spremenljivka DEFAULT_CHARSET, je privzeti NABOR ,%s`.\n"
-
-#: src/main.c:308
-msgid "CHARSET has no default, define DEFAULT_CHARSET in the environment.\n"
-msgstr "NABOR nima privzete vrednosti; doloèite spremenljivko okolja DEFAULT_CHARSET.\n"
+#, fuzzy
+msgid ""
+"Unless DEFAULT_CHARSET is set in environment, CHARSET defaults to the "
+"locale\n"
+"dependent encoding, determined by LC_ALL, LC_CTYPE, LANG.\n"
+msgstr ""
+"Èe ni doloèena spremenljivka DEFAULT_CHARSET, je privzeti NABOR ,%s`.\n"
-#: src/main.c:313
+#: src/main.c:307
msgid ""
"With -k, possible before charsets are listed for the given after CHARSET,\n"
-"both being tabular charsets, with PAIRS of the form `BEF1:AFT1,BEF2:AFT2,...'\n"
+"both being tabular charsets, with PAIRS of the form "
+"`BEF1:AFT1,BEF2:AFT2,...'\n"
"and BEFs and AFTs being codes are given as decimal numbers.\n"
msgstr ""
"Pri izbiri -k se izpi¹ejo vsi mo¾ni startni nabori za podani ciljni nabor.\n"
",,START1:CILJ1,START2:CILJ2...``, kjer so STARTn in CILJn deseti¹ke kode \n"
"znakov v startnem in ciljnem kodnem naboru.\n"
-#: src/main.c:318
-msgid "LN is some language, it may be `c', `perl' or `po'; `c' is the default.\n"
+#: src/main.c:312
+msgid ""
+"LN is some language, it may be `c', `perl' or `po'; `c' is the default.\n"
msgstr "JEZIK je lahko ,c`, ,perl` ali ,po`; privzeto je ,c`.\n"
-#: src/main.c:321
+#: src/main.c:315
msgid ""
"\n"
-"REQUEST is SUBREQUEST[,SUBREQUEST]...; SUBREQUEST is ENCODING[..ENCODING]...\n"
-"ENCODING is [CHARSET][/[SURFACE]]...; REQUEST often looks like BEFORE..AFTER,\n"
+"REQUEST is SUBREQUEST[,SUBREQUEST]...; SUBREQUEST is "
+"ENCODING[..ENCODING]...\n"
+"ENCODING is [CHARSET][/[SURFACE]]...; REQUEST often looks like "
+"BEFORE..AFTER,\n"
"with BEFORE and AFTER being charsets. An omitted CHARSET implies the usual\n"
-"charset; an omitted [/SURFACE]... means the implied surfaces for CHARSET; a /\n"
+"charset; an omitted [/SURFACE]... means the implied surfaces for CHARSET; a "
+"/\n"
"with an empty surface name means no surfaces at all. See the manual.\n"
msgstr ""
"\n"
"ZAHTEVEK ima obliko PODZAHTEVEK[,PODZAHTEVEK]...; PODZAHTEVEK ima obliko\n"
"KODIRANJE[,KODIRANJE]...; KODIRANJE ima obliko [NABOR][/[SHEMA]]. ZAHTEVEK\n"
-"ima pogosto obliko PREJ..POTEM, kjer sta PREJ in POTEM kodirana nabora znakov.\n"
+"ima pogosto obliko PREJ..POTEM, kjer sta PREJ in POTEM kodirana nabora "
+"znakov.\n"
"Izpu¹èeni NABOR pomeni privzetega; izpu¹èena [/SHEMA] pomeni privzeto\n"
-"preèrkovalno shemo za dani NABOR. Po¹evnica / brez sheme pomeni brez preèrkovalne\n"
+"preèrkovalno shemo za dani NABOR. Po¹evnica / brez sheme pomeni brez "
+"preèrkovalne\n"
"sheme. Podrobnosti so v priroèniku.\n"
-#: src/main.c:329
+#: src/main.c:323
msgid ""
"\n"
"If none of -i and -p are given, presume -p if no FILE, else -i.\n"
"\n"
"Èe nista podana niti -i niti -p, se uporabi -p, kadar ni podana DATOTEKA, \n"
"sicer pa -i. Pretvorba vsake DATOTEKE se zapi¹e prek izvorne razlièice. Èe\n"
-"DATOTEKA ni podana, recode deluje kot filter med standardnim vhodom in izhodom.\n"
+"DATOTEKA ni podana, recode deluje kot filter med standardnim vhodom in "
+"izhodom.\n"
-#: src/main.c:335
-msgid "\nReport bugs to <recode-bugs@iro.umontreal.ca>.\n"
-msgstr "\nSporoèila o napakah javite na <recode-bugs@iro.umontreal.ca>.\n"
+#: src/main.c:329
+msgid ""
+"\n"
+"Report bugs to <recode-bugs@iro.umontreal.ca>.\n"
+msgstr ""
+"\n"
+"Sporoèila o napakah javite na <recode-bugs@iro.umontreal.ca>.\n"
-#: src/main.c:431
+#: src/main.c:430
#, c-format
-msgid "Ambiguous sequence `%s'"
-msgstr "Dvoumno zaporedje ,%s`"
+msgid "Sequence `%s' is ambiguous"
+msgstr ""
-#: src/main.c:435
+#: src/main.c:434
#, c-format
-msgid "Unknown sequence `%s'"
-msgstr "Neznano zaporedje ,%s`"
+msgid "Sequence `%s' is unknown"
+msgstr ""
-#: src/main.c:465 src/main.c:523
+#: src/main.c:464 src/main.c:522
#, c-format
-msgid "Ambiguous language `%s'"
-msgstr "Dvoumen jezik ,%s`"
+msgid "Language `%s' is ambiguous"
+msgstr ""
#. -1
-#: src/main.c:469 src/main.c:527
+#: src/main.c:468 src/main.c:526
#, c-format
-msgid "Unknown language `%s'"
-msgstr "Neznan jezik ,%s`"
+msgid "Language `%s' is unknown"
+msgstr ""
-#: src/main.c:561
+#: src/main.c:560
#, c-format
-msgid "Ambiguous format `%s'"
-msgstr "Dvoumen format ,%s`"
+msgid "Format `%s' is ambiguous"
+msgstr ""
-#: src/main.c:565
+#: src/main.c:564
#, c-format
-msgid "Unknown format `%s'"
-msgstr "Neznan format ,%s`"
+msgid "Format `%s' is unknown"
+msgstr ""
-#: src/main.c:622
-msgid "\nCopyright (C) 1990, 92, 93, 94, 96, 97, 99 Free Software Foundation, Inc.\n"
-msgstr "\nCopyright (C) 1990, 92, 93, 94, 96, 97, 99 Free Software Foundation, Inc.\n"
+#: src/main.c:621
+#, fuzzy
+msgid "Written by Franc,ois Pinard <pinard@iro.umontreal.ca>.\n"
+msgstr ""
+"\n"
+"Avtor Franc,ois Pinard <pinard@iro.umontreal.ca>.\n"
-#: src/main.c:626
+#: src/main.c:624
+msgid ""
+"\n"
+"Copyright (C) 1990, 92, 93, 94, 96, 97, 99 Free Software Foundation, Inc.\n"
+msgstr ""
+"\n"
+"Copyright (C) 1990, 92, 93, 94, 96, 97, 99 Free Software Foundation, Inc.\n"
+
+#: src/main.c:628
msgid ""
"This is free software; see the source for copying conditions. There is NO\n"
"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
msgstr ""
-"To je prost program; pogoji, pod katerimi ga lahko uporabljate, razmno¾ujete\n"
+"To je prost program; pogoji, pod katerimi ga lahko uporabljate, "
+"razmno¾ujete\n"
"in raz¹irjate so navedeni v izvorni kodi. Za program ni NOBENEGA jamstva,\n"
"niti jamstev USTREZNOSTI ZA PRODAJO ali PRIMERNOSTI ZA UPORABO.\n"
-#: src/main.c:630
-msgid "\nWritten by Franc,ois Pinard <pinard@iro.umontreal.ca>.\n"
-msgstr "\nAvtor Franc,ois Pinard <pinard@iro.umontreal.ca>.\n"
+#: src/main.c:669
+#, c-format
+msgid "Symbol `%s' is unknown"
+msgstr ""
-#: src/main.c:775
+#: src/main.c:709 src/main.c:723
#, c-format
-msgid "Deprecated syntax, please prefer `%s'"
+msgid "Charset `%s' is unknown or ambiguous"
+msgstr ""
+
+#: src/main.c:754
+msgid "Required argument is missing"
+msgstr ""
+
+#: src/main.c:797
+#, fuzzy, c-format
+msgid "Syntax is deprecated, please prefer `%s'"
msgstr "Neodobravana skladnja: prosimo, uporabljajte ,%s`"
-#: src/main.c:781
+#: src/main.c:803
#, c-format
-msgid "Erroneous request `%s'"
-msgstr "Napaèen zahtevek ,%s`"
+msgid "Request `%s' is erroneous"
+msgstr ""
-#: src/main.c:878
+#: src/main.c:903
#, c-format
msgid "Recoding %s..."
msgstr "Pretvarjamo %s..."
-#: src/main.c:888
+#: src/main.c:913
msgid " done\n"
msgstr " opravljeno\n"
-#: src/main.c:924
-#, c-format
-msgid " failed: %s in %s..%s\n"
+#: src/main.c:954
+#, fuzzy, c-format
+msgid " failed: %s in step `%s..%s'\n"
msgstr " neuspe¹no: %s v %s..%s\n"
-#: src/main.c:931
-#, c-format
-msgid "%s failed: %s in %s..%s"
+#: src/main.c:961
+#, fuzzy, c-format
+msgid "%s failed: %s in step `%s..%s'"
msgstr "%s neuspe¹no: %s v %s..%s"
-#: src/main.c:954
-#, c-format
-msgid "%s in %s..%s"
+#: src/main.c:984
+#, fuzzy, c-format
+msgid "%s in step `%s..%s'"
msgstr "%s v %s..%s"
-#: src/names.c:317
+#: src/names.c:335
#, c-format
msgid "Charset %s already exists and is not %s"
msgstr "Nabor %s ¾e obstaja in ni %s"
-#: src/names.c:819
+#: src/names.c:831
#, c-format
msgid "Cannot list `%s', no names available for this charset"
msgstr "Izpis ,%s' ni mogoè, imen za ta nabor ni na voljo"
#. code counter
#. expected value for code counter
-#. UCS-2 translation
#. insert a while line before printing
#. Print the long table according to explode data.
-#: src/names.c:974 src/names.c:1020
+#: src/names.c:984 src/names.c:1030
#, c-format
msgid "Dec Oct Hex UCS2 Mne %s\n"
msgstr "des osm Hex UCS2 Mne %s\n"
-#: src/names.c:1039
+#: src/names.c:1049
#, c-format
msgid "Sorry, no names available for `%s'"
msgstr "Imena za ,%s` niso na voljo"
-#: src/outer.c:95
+#: src/outer.c:125
#, c-format
msgid "Resurfacer set more than once for `%s'"
msgstr "Veè kot ena preèrkovalna shema uvedena za ,%s`"
-#: src/outer.c:102
+#: src/outer.c:133
#, c-format
msgid "Unsurfacer set more than once for `%s'"
msgstr "Veè kot ena preèrkovalna shema preklicana za ,%s`"
msgstr "Virtualni pomnilnik porabljen"
#: src/recode.c:155
-#, c-format
+#, c-format, ycp-format
msgid "Codes %3d and %3d both recode to %3d"
msgstr "Kodi %3d in %3d se obe preslikata v %3d"
#: src/recode.c:169
-#, c-format
+#, c-format, ycp-format
msgid "No character recodes to %3d"
msgstr "Noben znak se ne preslika v %3d"
msgid "Cannot complete table from set of known pairs"
msgstr "Iz mno¾ice znanih parov ni mogoèe dokonèati tabele"
-#: src/recode.c:492
+#: src/recode.c:497
msgid "Identity recoding, not worth a table"
msgstr "Pretvorba je trivialna, nevredna tabele"
-#: src/recode.c:499
+#: src/recode.c:504
msgid "Recoding is too complex for a mere table"
msgstr "Pretvorba je prezapletena za tabelo"
#. Print the header of the header file.
-#: src/recode.c:531
+#: src/recode.c:536
#, c-format
msgid "%sConversion table generated mechanically by Free `%s' %s"
msgstr "%sPretvorna tabela mehanièno generirana s prostim ,%s` %s"
-#: src/recode.c:533
+#: src/recode.c:538
#, c-format
msgid "%sfor sequence %s.%s"
msgstr "%sza zaporedje %s.%s"
-#: src/recode.c:724
+#: src/recode.c:744
msgid "No table to print"
msgstr "Tabele ni"
-#: src/request.c:35
+#: src/request.c:34
msgid "reversible"
msgstr "obrnljivo"
-#: src/request.c:37
+#: src/request.c:36
#, c-format
msgid "%s to %s"
msgstr "%s v %s"
-#: src/request.c:38 src/request.c:40
+#: src/request.c:37 src/request.c:39
msgid "byte"
msgstr "bajt"
-#: src/request.c:39 src/request.c:41
+#: src/request.c:38 src/request.c:40
msgid "ucs2"
msgstr "UCS2"
-#: src/request.c:39 src/request.c:41
+#: src/request.c:38 src/request.c:40
msgid "variable"
msgstr "spremenljivo"
-#: src/request.c:112
+#: src/request.c:111
msgid "*Unachievable*"
msgstr "*Nedosegljivo*"
-#: src/request.c:114
+#: src/request.c:113
msgid "*mere copy*"
msgstr "*zgolj prepis*"
-#: src/request.c:244
+#: src/request.c:246
msgid "Virtual memory exhausted!"
msgstr "Virtualni pomnilnik porabljen!"
-#: src/request.c:263
+#: src/request.c:265
msgid "Step initialisation failed"
msgstr "Inicializacija koraka neuspe¹na"
-#: src/request.c:270
+#: src/request.c:272
msgid "Step initialisation failed (unprocessed options)"
msgstr "Inicializacija koraka neuspe¹na (nepredelane izbire)"
-#: src/request.c:566
+#: src/request.c:568
#, c-format
msgid "Request: %s\n"
msgstr "Zahtevek: %s\n"
-#: src/request.c:702
+#: src/request.c:720
#, c-format
msgid "Shrunk to: %s\n"
msgstr "Skrèeno v: %s\n"
-#: src/request.c:806 src/request.c:912
+#: src/request.c:823 src/request.c:932
#, c-format
msgid "Unrecognised surface name `%s'"
msgstr "Neprepoznano ime preèrkovalne sheme ,%s`"
-#: src/request.c:884
+#: src/request.c:903
#, c-format
msgid "No way to recode from `%s' to `%s'"
msgstr "Pretvorba iz ,%s` v ,%s` ni izvedljiva"
-#: src/request.c:992
+#: src/request.c:1013
msgid "Expecting `..' in request"
msgstr "V zahtevku prièakujemo ,..`"
-#: src/task.c:751 src/task.c:915
+#: src/task.c:826 src/task.c:1002
#, c-format
msgid "Child process wait status is 0x%0.2x"
msgstr "Èakalni status procesa potomca je 0x%0.2x"
+#: src/testdump.c:298
+msgid ""
+"UCS2 Mne Description\n"
+"\n"
+msgstr ""
+"UCS2 Mne Opis\n"
+"\n"
+
+#~ msgid "CHARSET has no default, define DEFAULT_CHARSET in the environment.\n"
+#~ msgstr ""
+#~ "NABOR nima privzete vrednosti; doloèite spremenljivko okolja "
+#~ "DEFAULT_CHARSET.\n"
+
+#~ msgid "Ambiguous sequence `%s'"
+#~ msgstr "Dvoumno zaporedje ,%s`"
+
+#~ msgid "Unknown sequence `%s'"
+#~ msgstr "Neznano zaporedje ,%s`"
+
+#~ msgid "Ambiguous language `%s'"
+#~ msgstr "Dvoumen jezik ,%s`"
+
+#~ msgid "Unknown language `%s'"
+#~ msgstr "Neznan jezik ,%s`"
+
+#~ msgid "Ambiguous format `%s'"
+#~ msgstr "Dvoumen format ,%s`"
+
+#~ msgid "Unknown format `%s'"
+#~ msgstr "Neznan format ,%s`"
+
+#~ msgid "Erroneous request `%s'"
+#~ msgstr "Napaèen zahtevek ,%s`"
+
#~ msgid " Each input char transforms into an output string,\n"
#~ msgstr " Vsak vhodni znak se preslika v niz znakov,\n"
#~ msgstr "Za zdaj je izbira -s ignorirana, kadar je izbrano -g"
#~ msgid "Hash stats: %d names using %d buckets out of %d\n"
-#~ msgstr "Statistika za razpr¹itveno tabelo: %d imen porabilo %d od %d ko¹ev\n"
+#~ msgstr ""
+#~ "Statistika za razpr¹itveno tabelo: %d imen porabilo %d od %d ko¹ev\n"
#~ msgid "Internal error - strategy undecided"
#~ msgstr "Interna napaka - neodloèen o strategiji"
#~ msgid " -o, --sequence=popen same as -i (on this system)\n"
#~ msgstr " -o, --sequence=popen isto kot -I (na tem sistemu)\n"
-#~ msgid " -o, --sequence=popen use popen machinery for sequencing passes\n"
+#~ msgid ""
+#~ " -o, --sequence=popen use popen machinery for sequencing passes\n"
#~ msgstr " -o, --sequence=popen uporabi mehanizem ,popen'\n"
#~ msgid ""
#~ "FILE is specified, then act as a filter and recode stdin to stdout.\n"
#~ msgstr ""
#~ " -q, --quiet, --silent brez sporoèil o neobrnljivih pretvorbah\n"
-#~ " -s, --strict striktna pretvorba, tudi na ¹kodo izgubljenih znakov\n"
-#~ " -t, --touch konèna datoteka naj nosi datum pretvorbe, ne nastanka\n"
+#~ " -s, --strict striktna pretvorba, tudi na ¹kodo izgubljenih "
+#~ "znakov\n"
+#~ " -t, --touch konèna datoteka naj nosi datum pretvorbe, ne "
+#~ "nastanka\n"
#~ " -v, --verbose z razlago poteka pretvorbe\n"
#~ " -x, --ignore=NABOR izpusti NABOR pri izbiri poti pretvorbe\n"
#~ "\n"
-#~ "Èe ni podan -i, -o, ali -p, se privzame -p, kadar ni podana DATOTEKA, sicer -i.\n"
+#~ "Èe ni podan -i, -o, ali -p, se privzame -p, kadar ni podana DATOTEKA, sicer "
+#~ "-i.\n"
#~ "Vsaka DATOTEKA se pretvori èez samo sebe in unièi izvirnik. Èe DATOTEKA\n"
#~ "ni podana, deluje kot filter in pretvarja podatke z vhoda na izhod.\n"
#~ msgid "BEFORE and AFTER both default to `%s' when needed.\n"
#~ msgstr "Èe nabor PREJ ali POTEM ni podan, se nadomesti z ,%s'\n"
-#~ # POZOR
+# POZOR
#~ msgid ""
#~ "Mandatory or optional arguments to long options are mandatory or optional\n"
#~ "for short options too.\n"
#~ "FORMAT is a word among decimal, octal, hexadecimal or full (which may be\n"
#~ "abbreviated to one of `dohf'), it defaults to just the canonical name.\n"
#~ "With -k, possible before charsets are listed for the given after CHARSET,\n"
-#~ "both being RFC1345 charsets, with PAIRS of the form `BEF1:AFT1,BEF2:AFT2,...\n"
+#~ "both being RFC1345 charsets, with PAIRS of the form "
+#~ "`BEF1:AFT1,BEF2:AFT2,...\n"
#~ "and BEFs and AFTs being codes. All codes are given as decimal numbers.\n"
#~ msgstr ""
-#~ "Argumenti, ki so obvezni za dolge oblike izbir so obvezni tudi za kratke oblike,\n"
+#~ "Argumenti, ki so obvezni za dolge oblike izbir so obvezni tudi za kratke "
+#~ "oblike,\n"
#~ "in enako velja za neobvezne argumente.\n"
#~ "\n"
#~ " -C, --copyright obvestilo avtorskih pravicah\n"
#~ " --help ta navodila\n"
#~ " --version verzija programa\n"
#~ "\n"
-#~ "FORMAT izpisa je eden od naslednjih: decimal, octal, hexadecimal ali full (mo¾na\n"
-#~ "je okraj¹ava na prvo èrko: dohf), privzeta izbira je samo kanonièno ime nabora.\n"
+#~ "FORMAT izpisa je eden od naslednjih: decimal, octal, hexadecimal ali full "
+#~ "(mo¾na\n"
+#~ "je okraj¹ava na prvo èrko: dohf), privzeta izbira je samo kanonièno ime "
+#~ "nabora.\n"
#~ "With -k, possible before charsets are listed for the given after CHARSET,\n"
-#~ "both being RFC1345 charsets, with PAIRS of the form `BEF1:AFT1,BEF2:AFT2,...\n"
+#~ "both being RFC1345 charsets, with PAIRS of the form "
+#~ "`BEF1:AFT1,BEF2:AFT2,...\n"
#~ "and BEFs and AFTs being codes. All codes are given as decimal numbers.\n"
#~ msgid ""
-#~ "Option -l with no FORMAT nor CHARSET list all charsets, also see the Texinfo\n"
+#~ "Option -l with no FORMAT nor CHARSET list all charsets, also see the "
+#~ "Texinfo\n"
#~ "documentation. My preferred charsets are (each user has preferences):\n"
#~ "\n"
#~ " ascii-bs ASCII (7-bit), using backspace to apply diacritics\n"
#~ " latin1 ISO Latin-1 8-bit extension of ASCII\n"
#~ " texte Easy French convention for transmitting email messages\n"
#~ msgstr ""
-#~ "Izbira -l brez podanih FORMAT ali NABOR dá seznam vseh naborov, oglejte si ¹e\n"
-#~ "dokumentacijo v Texinfo. Moji priljubljeni nabori (vsak uporabnik ima svoje):\n"
+#~ "Izbira -l brez podanih FORMAT ali NABOR dá seznam vseh naborov, oglejte si "
+#~ "¹e\n"
+#~ "dokumentacijo v Texinfo. Moji priljubljeni nabori (vsak uporabnik ima "
+#~ "svoje):\n"
#~ "\n"
#~ " ascii-bs 7-bitni ASCII, z uporabo Backspace za tisk diakritiènih znakov\n"
#~ " ibmpc 8-bitni nabor IBM-PC, zakljuèek vrstice CR LF\n"
#~ " -h, --header[=NAME] write C code with table NAME on stdout, then exit\n"
#~ " -i, --sequence=files use intermediate files for sequencing passes\n"
-#~ msgid "\nUsage: %s [OPTION]... [BEFORE]:[AFTER] [FILE]...\n"
-#~ msgstr "\nUporaba: %s [IZBIRA]... [PREJ]:[POTEM] [DATOTEKA]...\n"
+#~ msgid ""
+#~ "\n"
+#~ "Usage: %s [OPTION]... [BEFORE]:[AFTER] [FILE]...\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Uporaba: %s [IZBIRA]... [PREJ]:[POTEM] [DATOTEKA]...\n"
#~ msgid "many to many"
#~ msgstr "veè v veè"
msgid ""
msgstr ""
"Project-Id-Version: recode 3.5\n"
-"POT-Creation-Date: 1999-05-18 08:46-0400\n"
+"POT-Creation-Date: 2001-01-02 22:35+0100\n"
"PO-Revision-Date: 1999-10-16 13:42 +02:00\n"
"Last-Translator: Jan Djärv <Jan.Djarv@mbox200.swipnet.se>\n"
"Language-Team: Swedish <sv@li.org>\n"
"Content-Type: text/plain; charset=ISO-8859-1\n"
"Content-Transfer-Encoding: 8bit\n"
-#. Dump all characters.
-#: src/debug.c:287
-msgid "UCS2 Mne Description\n\n"
-msgstr "UCS2 Mne Beskrivning\n\n"
-
-#: src/main.c:140
+#: src/main.c:142
msgid "No error"
msgstr "Inget fel"
-#: src/main.c:143
+#: src/main.c:145
msgid "Non canonical input"
msgstr "Indata ej kanonisk"
-#: src/main.c:146
+#: src/main.c:148
msgid "Ambiguous output"
msgstr "Tvetydig utdata"
-#: src/main.c:149
+#: src/main.c:151
msgid "Untranslatable input"
msgstr "Oöversättbar indata"
-#: src/main.c:152
+#: src/main.c:154
msgid "Invalid input"
msgstr "Felaktig indata"
-#: src/main.c:155
+#: src/main.c:157
msgid "System detected problem"
msgstr "Systemproblem upptäcktes"
-#: src/main.c:158
+#: src/main.c:160
msgid "Misuse of recoding library"
msgstr "Felaktig användning av omkodningsbibliotek"
-#: src/main.c:161
+#: src/main.c:163
msgid "Internal recoding bug"
msgstr "Internt omkodningsfel"
-#: src/main.c:206
+#: src/main.c:208
msgid ""
"This program is free software; you can redistribute it and/or modify\n"
"it under the terms of the GNU General Public License as published by\n"
"informativt syfte. För alla juridiska tolkningar gäller den engelska\n"
"originaltexten.\n"
"\n"
-"Detta program är fri programvara. Du kan distribuera den och/eller modifiera\n"
+"Detta program är fri programvara. Du kan distribuera den och/eller "
+"modifiera\n"
"den under villkoren i GNU General Public License, publicerad av\n"
"Free Software Foundation, antingen version 2 eller (om du så vill)\n"
"någon senare version.\n"
"Public License för ytterligare information.\n"
"\n"
"Du bör ha fått en kopia av GNU General Public License\n"
-"tillsammans med detta program. Om inte, skriv till Free Software Foundation,\n"
+"tillsammans med detta program. Om inte, skriv till Free Software "
+"Foundation,\n"
"Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n"
-#: src/main.c:231
+#: src/main.c:233
#, c-format
msgid "Try `%s %s' for more information.\n"
msgstr "Försök med \"%s %s\" för mer information\n"
-#: src/main.c:235
-msgid "Free `recode' converts files between various character sets and surfaces.\n"
-msgstr "Fria \"recode\" konverterar filer mellan olika teckenuppsättningar och ytor\n"
+#: src/main.c:237
+msgid ""
+"Free `recode' converts files between various character sets and surfaces.\n"
+msgstr ""
+"Fria \"recode\" konverterar filer mellan olika teckenuppsättningar och ytor\n"
-#: src/main.c:239
+#: src/main.c:241
#, c-format
-msgid "\nUsage: %s [OPTION]... [ [CHARSET] | REQUEST [FILE]... ]\n"
-msgstr "\nAnvändning: %s [FLAGGA]... [ [TECKENUPPSÄTTNING] | BEGÄRAN [FIL]...]\n"
+msgid ""
+"\n"
+"Usage: %s [OPTION]... [ [CHARSET] | REQUEST [FILE]... ]\n"
+msgstr ""
+"\n"
+"Användning: %s [FLAGGA]... [ [TECKENUPPSÄTTNING] | BEGÄRAN [FIL]...]\n"
-#: src/main.c:242
+#: src/main.c:244
msgid ""
"\n"
"If a long option shows an argument as mandatory, then it is mandatory\n"
msgstr ""
"\n"
"Om en lång flagga har ett obligatoriskt argument så är argumentet även\n"
-"obligatoriskt för motsvarade korta flagga. Motsvarande för valfria argument.\n"
+"obligatoriskt för motsvarade korta flagga. Motsvarande för valfria "
+"argument.\n"
-#: src/main.c:248
+#: src/main.c:250
+#, fuzzy
msgid ""
"\n"
"Listings:\n"
-" -l, --list[=FORMAT] list one or all known charsets\n"
-" -k, --known=PAIRS restrict charsets according to known PAIRS list\n"
+" -l, --list[=FORMAT] list one or all known charsets and aliases\n"
+" -k, --known=PAIRS restrict charsets according to known PAIRS "
+"list\n"
" -h, --header[=[LN/]NAME] write table NAME on stdout using LN, then exit\n"
" -F, --freeze-tables write out a C module holding all tables\n"
" -T, --find-subsets report all charsets being subset of others\n"
"\n"
"Listningar:\n"
" -l, --list[=FORMAT] visa en eller alla kända teckenuppsättningar\n"
-" -k, --known=PAR begränsa teckenuppsättningar till de i PAR listan\n"
+" -k, --known=PAR begränsa teckenuppsättningar till de i PAR "
+"listan\n"
" -h, --header[=[LN/]NAMN] skriv tabell NAMN för LN till standard ut\n"
" och avsluta.\n"
" -F, --freeze-tables skriv ut en C modul med alla tabeller\n"
" -T, --find-subsets skriv ut teckenuppsättningar som är delmängder\n"
" av andra\n"
-" -C, --copyright visa copyrightinformation och kopieringsvillkor\n"
+" -C, --copyright visa copyrightinformation och "
+"kopieringsvillkor\n"
" --help visa denna hjälptext och avsluta\n"
" --version visa versionsinformation och avsluta\n"
-#: src/main.c:261
+#: src/main.c:263
msgid ""
"\n"
"Operation modes:\n"
"\n"
"Exekveringsalternativ:\n"
" -v, --verbose förklara delsteg och rapportera framsteg\n"
-" -q, --quiet, --silent undertryck meddelanden om irreversibla omkodningar\n"
+" -q, --quiet, --silent undertryck meddelanden om irreversibla "
+"omkodningar\n"
" -f, --force gör omkodning även när den är irreversibel\n"
-" -t, --touch gör \"touch\" på filer som omkodas över sig själva\n"
+" -t, --touch gör \"touch\" på filer som omkodas över sig "
+"själva\n"
" -i, --sequence=files använd temporärfiler mellan delsteg\n"
" --sequence=memory använd minnesbuffertar mellan delsteg\n"
-#: src/main.c:273
+#: src/main.c:275
msgid " -p, --sequence=pipe use pipe machinery for sequencing passes\n"
msgstr " -p, --sequence=pipe använd rör mellan delsteg\n"
-#: src/main.c:278
+#: src/main.c:280
msgid " -p, --sequence=pipe same as -i (on this system)\n"
msgstr " -p, --sequence=pipe samma sak som -i (på detta system)\n"
-#: src/main.c:283
+#: src/main.c:285
msgid ""
"\n"
"Fine tuning:\n"
" -x, --ignore=TECKENUPPSÄTTNING\n"
" ignorera TECKENUPPSÄTTNING när omkodningsväg väljs\n"
-#: src/main.c:294
+#: src/main.c:296
msgid ""
"\n"
"Option -l with no FORMAT nor CHARSET list available charsets and surfaces.\n"
msgstr ""
"\n"
"Flagga -l utan FORMAT och TECKENUPPSÄTTNING visar alla tillgängliga\n"
-"teckenuppsättningar och ytor. FORMAT är \"decimal\", \"octal\", \"hexadecimal\"\n"
+"teckenuppsättningar och ytor. FORMAT är \"decimal\", \"octal\", "
+"\"hexadecimal\"\n"
"eller \"full\" (eller en av \"dohf\").\n"
#: src/main.c:302
-#, c-format
-msgid "Unless DEFAULT_CHARSET is set in environment, CHARSET defaults to `%s'.\n"
+#, fuzzy
+msgid ""
+"Unless DEFAULT_CHARSET is set in environment, CHARSET defaults to the "
+"locale\n"
+"dependent encoding, determined by LC_ALL, LC_CTYPE, LANG.\n"
msgstr ""
"Om miljövariabeln DEFAULT_CHARSET inte är satt blir standardvärdet för\n"
"TECKENUPPSÄTTNING \"%s\"\n"
-#: src/main.c:308
-msgid "CHARSET has no default, define DEFAULT_CHARSET in the environment.\n"
-msgstr "TECKENUPPSÄTTNING har inget standardvärde, sätt miljövariabeln DEFAULT_CHARSET.\n"
-
-#: src/main.c:313
+#: src/main.c:307
msgid ""
"With -k, possible before charsets are listed for the given after CHARSET,\n"
-"both being tabular charsets, with PAIRS of the form `BEF1:AFT1,BEF2:AFT2,...'\n"
+"both being tabular charsets, with PAIRS of the form "
+"`BEF1:AFT1,BEF2:AFT2,...'\n"
"and BEFs and AFTs being codes are given as decimal numbers.\n"
msgstr ""
"Med -k, möjliga startuppsättningar visas för den givna slutuppsättningen,\n"
"\"START1:SLUT1,START2:SLUT2,...\" och START... och SLUT... är koder\n"
"som anges med decimala tal.\n"
-#: src/main.c:318
-msgid "LN is some language, it may be `c', `perl' or `po'; `c' is the default.\n"
-msgstr "LN är ett språk, det kan vara \"c\", \"perl\" eller \"po\"; \"c\" är standardvärde.\n"
+#: src/main.c:312
+msgid ""
+"LN is some language, it may be `c', `perl' or `po'; `c' is the default.\n"
+msgstr ""
+"LN är ett språk, det kan vara \"c\", \"perl\" eller \"po\"; \"c\" är "
+"standardvärde.\n"
-#: src/main.c:321
+#: src/main.c:315
msgid ""
"\n"
-"REQUEST is SUBREQUEST[,SUBREQUEST]...; SUBREQUEST is ENCODING[..ENCODING]...\n"
-"ENCODING is [CHARSET][/[SURFACE]]...; REQUEST often looks like BEFORE..AFTER,\n"
+"REQUEST is SUBREQUEST[,SUBREQUEST]...; SUBREQUEST is "
+"ENCODING[..ENCODING]...\n"
+"ENCODING is [CHARSET][/[SURFACE]]...; REQUEST often looks like "
+"BEFORE..AFTER,\n"
"with BEFORE and AFTER being charsets. An omitted CHARSET implies the usual\n"
-"charset; an omitted [/SURFACE]... means the implied surfaces for CHARSET; a /\n"
+"charset; an omitted [/SURFACE]... means the implied surfaces for CHARSET; a "
+"/\n"
"with an empty surface name means no surfaces at all. See the manual.\n"
msgstr ""
"\n"
"BEGÄRAN är DELBEGÄRAN[,DELBEGÄRAN]..., DELBEGÄRAN är KODNING[..KODNING]...\n"
-"KODNING är [TECKENUPPSÄTTNING][/[YTA]].... BEGÄRAN ser ofta ut som START..SLUT,\n"
+"KODNING är [TECKENUPPSÄTTNING][/[YTA]].... BEGÄRAN ser ofta ut som "
+"START..SLUT,\n"
"där START och SLUT är teckenuppsättningar. Ett utelämnat TECKENUPPSÄTTNING\n"
"innebär den normala teckenuppsättningen,\n"
"en utelämnad [/YTA]... innebär den normala ytan för TECKENUPPSÄTTNING.\n"
"Ett / utan ytnamn innebär ingen yta alls. Se manualen för detaljer.\n"
-#: src/main.c:329
+#: src/main.c:323
msgid ""
"\n"
"If none of -i and -p are given, presume -p if no FILE, else -i.\n"
"Om ingen FIL anges så blir beteendet ett filter som omkodar standard in\n"
"till standard ut.\n"
-#: src/main.c:335
-msgid "\nReport bugs to <recode-bugs@iro.umontreal.ca>.\n"
+#: src/main.c:329
+msgid ""
+"\n"
+"Report bugs to <recode-bugs@iro.umontreal.ca>.\n"
msgstr ""
"\n"
"Rapportera fel till <recode-bugs@iro.umontreal.ca>.\n"
"Rapportera fel på översättningen till <sv@li.org>.\n"
-#: src/main.c:431
+#: src/main.c:430
#, c-format
-msgid "Ambiguous sequence `%s'"
-msgstr "Tvetydig sekvens \"%s\""
+msgid "Sequence `%s' is ambiguous"
+msgstr ""
-#: src/main.c:435
+#: src/main.c:434
#, c-format
-msgid "Unknown sequence `%s'"
-msgstr "Okänd sekvens \"%s\""
+msgid "Sequence `%s' is unknown"
+msgstr ""
-#: src/main.c:465 src/main.c:523
+#: src/main.c:464 src/main.c:522
#, c-format
-msgid "Ambiguous language `%s'"
-msgstr "Tvetydigt språk \"%s\""
+msgid "Language `%s' is ambiguous"
+msgstr ""
#. -1
-#: src/main.c:469 src/main.c:527
+#: src/main.c:468 src/main.c:526
#, c-format
-msgid "Unknown language `%s'"
-msgstr "Okänt språk \"%s\""
+msgid "Language `%s' is unknown"
+msgstr ""
-#: src/main.c:561
+#: src/main.c:560
#, c-format
-msgid "Ambiguous format `%s'"
-msgstr "Tvetydigt format \"%s\""
+msgid "Format `%s' is ambiguous"
+msgstr ""
-#: src/main.c:565
+#: src/main.c:564
#, c-format
-msgid "Unknown format `%s'"
-msgstr "Okänt format \"%s\""
+msgid "Format `%s' is unknown"
+msgstr ""
-#: src/main.c:622
-msgid "\nCopyright (C) 1990, 92, 93, 94, 96, 97, 99 Free Software Foundation, Inc.\n"
-msgstr "\nCopyright © 1990, 92, 93, 94, 96, 97, 1999 Free Software Foundation, Inc.\n"
+#: src/main.c:621
+#, fuzzy
+msgid "Written by Franc,ois Pinard <pinard@iro.umontreal.ca>.\n"
+msgstr ""
+"\n"
+"Skriven av François Pinard <pinard@iro.umontreal.ca>.\n"
-#: src/main.c:626
+#: src/main.c:624
+msgid ""
+"\n"
+"Copyright (C) 1990, 92, 93, 94, 96, 97, 99 Free Software Foundation, Inc.\n"
+msgstr ""
+"\n"
+"Copyright © 1990, 92, 93, 94, 96, 97, 1999 Free Software Foundation, Inc.\n"
+
+#: src/main.c:628
msgid ""
"This is free software; see the source for copying conditions. There is NO\n"
"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
"INGEN garanti; inte ens för SÄLJBARHET eller LÄMPLIGHET FÖR NÅGOT SPECIELLT\n"
"ÄNDAMÅL.\n"
-#: src/main.c:630
-msgid "\nWritten by Franc,ois Pinard <pinard@iro.umontreal.ca>.\n"
-msgstr "\nSkriven av François Pinard <pinard@iro.umontreal.ca>.\n"
+#: src/main.c:669
+#, c-format
+msgid "Symbol `%s' is unknown"
+msgstr ""
-#: src/main.c:775
+#: src/main.c:709 src/main.c:723
#, c-format
-msgid "Deprecated syntax, please prefer `%s'"
+msgid "Charset `%s' is unknown or ambiguous"
+msgstr ""
+
+#: src/main.c:754
+msgid "Required argument is missing"
+msgstr ""
+
+#: src/main.c:797
+#, fuzzy, c-format
+msgid "Syntax is deprecated, please prefer `%s'"
msgstr "Föråldrad syntax, använd hellre \"%s\""
-#: src/main.c:781
+#: src/main.c:803
#, c-format
-msgid "Erroneous request `%s'"
-msgstr "Felaktig begäran \"%s\""
+msgid "Request `%s' is erroneous"
+msgstr ""
-#: src/main.c:878
+#: src/main.c:903
#, c-format
msgid "Recoding %s..."
msgstr "Omkodar %s..."
-#: src/main.c:888
+#: src/main.c:913
msgid " done\n"
msgstr " klart\n"
-#: src/main.c:924
-#, c-format
-msgid " failed: %s in %s..%s\n"
+#: src/main.c:954
+#, fuzzy, c-format
+msgid " failed: %s in step `%s..%s'\n"
msgstr " misslyckades: %s i %s..%s\n"
-#: src/main.c:931
-#, c-format
-msgid "%s failed: %s in %s..%s"
+#: src/main.c:961
+#, fuzzy, c-format
+msgid "%s failed: %s in step `%s..%s'"
msgstr "%s misslyckades: %s i %s..%s"
-#: src/main.c:954
-#, c-format
-msgid "%s in %s..%s"
+#: src/main.c:984
+#, fuzzy, c-format
+msgid "%s in step `%s..%s'"
msgstr "%s i %s..%s"
-#: src/names.c:317
+#: src/names.c:335
#, c-format
msgid "Charset %s already exists and is not %s"
msgstr "Teckenuppsättning %s finns och är inte %s"
-#: src/names.c:819
+#: src/names.c:831
#, c-format
msgid "Cannot list `%s', no names available for this charset"
-msgstr "Kan inte visa \"%s\", inga namn tillgängliga för denna teckenuppsättning"
+msgstr ""
+"Kan inte visa \"%s\", inga namn tillgängliga för denna teckenuppsättning"
#. code counter
#. expected value for code counter
-#. UCS-2 translation
#. insert a while line before printing
#. Print the long table according to explode data.
-#: src/names.c:974 src/names.c:1020
+#: src/names.c:984 src/names.c:1030
#, c-format
msgid "Dec Oct Hex UCS2 Mne %s\n"
msgstr "dec okt hex UCS2 mne %s\n"
-#: src/names.c:1039
+#: src/names.c:1049
#, c-format
msgid "Sorry, no names available for `%s'"
msgstr "Ledsen, men det finns inga namn tillgängliga för \"%s\""
-#: src/outer.c:95
+#: src/outer.c:125
#, c-format
msgid "Resurfacer set more than once for `%s'"
msgstr "Ytkodning satt mer än en gång för \"%s\""
-#: src/outer.c:102
+#: src/outer.c:133
#, c-format
msgid "Unsurfacer set more than once for `%s'"
msgstr "Ytavkodning satt mer än en gång för \"%s\""
msgstr "Virtuellt minne slut"
#: src/recode.c:155
-#, c-format
+#, c-format, ycp-format
msgid "Codes %3d and %3d both recode to %3d"
msgstr "Teckenkoderna %3d och %3d omkodas båda till %3d"
#: src/recode.c:169
-#, c-format
+#, c-format, ycp-format
msgid "No character recodes to %3d"
msgstr "Inget tecken omkodas till %3d"
msgid "Cannot complete table from set of known pairs"
msgstr "Kan inte göra en tabell från mängden av kända par"
-#: src/recode.c:492
+#: src/recode.c:497
msgid "Identity recoding, not worth a table"
msgstr "Ingen omkodning behövs, den är inte värd en tabell"
-#: src/recode.c:499
+#: src/recode.c:504
msgid "Recoding is too complex for a mere table"
msgstr "Omkodning är för komplex för en enkel tabell"
#. Print the header of the header file.
-#: src/recode.c:531
+#: src/recode.c:536
#, c-format
msgid "%sConversion table generated mechanically by Free `%s' %s"
msgstr "%sKonverteringstabell automatgenererad av Fri \"%s\" %s"
-#: src/recode.c:533
+#: src/recode.c:538
#, c-format
msgid "%sfor sequence %s.%s"
msgstr "%sför sekvens %s.%s"
-#: src/recode.c:724
+#: src/recode.c:744
msgid "No table to print"
msgstr "Ingen tabell att skriva ut"
-#: src/request.c:35
+#: src/request.c:34
msgid "reversible"
msgstr "reversibel"
-#: src/request.c:37
+#: src/request.c:36
#, c-format
msgid "%s to %s"
msgstr "%s till %s"
-#: src/request.c:38 src/request.c:40
+#: src/request.c:37 src/request.c:39
msgid "byte"
msgstr "byte"
-#: src/request.c:39 src/request.c:41
+#: src/request.c:38 src/request.c:40
msgid "ucs2"
msgstr "usc2"
-#: src/request.c:39 src/request.c:41
+#: src/request.c:38 src/request.c:40
msgid "variable"
msgstr "variabel"
-#: src/request.c:112
+#: src/request.c:111
msgid "*Unachievable*"
msgstr "*Omöjligt*"
-#: src/request.c:114
+#: src/request.c:113
msgid "*mere copy*"
msgstr "*endast kopiering*"
-#: src/request.c:244
+#: src/request.c:246
msgid "Virtual memory exhausted!"
msgstr "Virtuellt minne slut"
-#: src/request.c:263
+#: src/request.c:265
msgid "Step initialisation failed"
msgstr "Steginitiering misslyckades"
-#: src/request.c:270
+#: src/request.c:272
msgid "Step initialisation failed (unprocessed options)"
msgstr "Steginitiering misslyckades (obearbetade flaggor)"
-#: src/request.c:566
+#: src/request.c:568
#, c-format
msgid "Request: %s\n"
msgstr "Begäran: %s\n"
-#: src/request.c:702
+#: src/request.c:720
#, c-format
msgid "Shrunk to: %s\n"
msgstr "Krympte till: %s\n"
-#: src/request.c:806 src/request.c:912
+#: src/request.c:823 src/request.c:932
#, c-format
msgid "Unrecognised surface name `%s'"
msgstr "Okänt ytnamn: \"%s\""
-#: src/request.c:884
+#: src/request.c:903
#, c-format
msgid "No way to recode from `%s' to `%s'"
msgstr "Omöjligt koda om från \"%s\" till \"%s\""
-#: src/request.c:992
+#: src/request.c:1013
msgid "Expecting `..' in request"
msgstr "Förväntar \"..\" i begäran"
-#: src/task.c:751 src/task.c:915
+#: src/task.c:826 src/task.c:1002
#, c-format
msgid "Child process wait status is 0x%0.2x"
msgstr "Barnprocess slutstatus är 0x%0.2x"
+
+#: src/testdump.c:298
+msgid ""
+"UCS2 Mne Description\n"
+"\n"
+msgstr ""
+"UCS2 Mne Beskrivning\n"
+"\n"
+
+#~ msgid "CHARSET has no default, define DEFAULT_CHARSET in the environment.\n"
+#~ msgstr ""
+#~ "TECKENUPPSÄTTNING har inget standardvärde, sätt miljövariabeln "
+#~ "DEFAULT_CHARSET.\n"
+
+#~ msgid "Ambiguous sequence `%s'"
+#~ msgstr "Tvetydig sekvens \"%s\""
+
+#~ msgid "Unknown sequence `%s'"
+#~ msgstr "Okänd sekvens \"%s\""
+
+#~ msgid "Ambiguous language `%s'"
+#~ msgstr "Tvetydigt språk \"%s\""
+
+#~ msgid "Unknown language `%s'"
+#~ msgstr "Okänt språk \"%s\""
+
+#~ msgid "Ambiguous format `%s'"
+#~ msgstr "Tvetydigt format \"%s\""
+
+#~ msgid "Unknown format `%s'"
+#~ msgstr "Okänt format \"%s\""
+
+#~ msgid "Erroneous request `%s'"
+#~ msgstr "Felaktig begäran \"%s\""
+2000-10-24 Bruno Haible <haible@clisp.cons.org>
+
+ * xmalloc.c, xalloc.h: Move to src/.
+ * Makefile.am (noinst_HEADERS): Remove xalloc.h.
+ (libreco_a_SOURCES): Remove xmalloc.c.
+ Reported by Tomasz Kłoczko <kloczek@wun.zie.pg.gda.pl>.
+
+2000-08-30 Bruno Haible <haible@clisp.cons.org>
+
+ * gettext.c (_nl_unload_domain): Enclose declaration in #ifdef _LIBC.
+
1999-12-28 François Pinard <pinard@iro.umontreal.ca>
* Makefile.am (INCLUDES): Do not use ../intl.
AUTOMAKE_OPTIONS = gnits
noinst_LIBRARIES = libreco.a
-noinst_HEADERS = error.h getopt.h gettext.h pathmax.h xalloc.h xstring.h
-libreco_a_SOURCES = error.c getopt.c getopt1.c xmalloc.c xstrdup.c
+noinst_HEADERS = error.h getopt.h gettext.h pathmax.h xstring.h
+libreco_a_SOURCES = error.c getopt.c getopt1.c xstrdup.c
EXTRA_DIST = alloca.c gettext.c malloc.c realloc.c strtol.c strtoul.c
DLLTOOL = @DLLTOOL@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
+GLIBC21 = @GLIBC21@
LEX = @LEX@
LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
LIBOBJS = @LIBOBJS@
AUTOMAKE_OPTIONS = gnits
noinst_LIBRARIES = libreco.a
-noinst_HEADERS = error.h getopt.h gettext.h pathmax.h xalloc.h xstring.h
-libreco_a_SOURCES = error.c getopt.c getopt1.c xmalloc.c xstrdup.c
+noinst_HEADERS = error.h getopt.h gettext.h pathmax.h xstring.h
+libreco_a_SOURCES = error.c getopt.c getopt1.c xstrdup.c
EXTRA_DIST = alloca.c gettext.c malloc.c realloc.c strtol.c strtoul.c
LDFLAGS = @LDFLAGS@
LIBS = @LIBS@
libreco_a_DEPENDENCIES = @ALLOCA@ @LIBOBJS@
-libreco_a_OBJECTS = error.o getopt.o getopt1.o xmalloc.o xstrdup.o
+libreco_a_OBJECTS = error.o getopt.o getopt1.o xstrdup.o
AR = ar
CFLAGS = @CFLAGS@
COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
TAR = tar
GZIP_ENV = --best
-DEP_FILES = .deps/alloca.P .deps/error.P .deps/getopt.P .deps/getopt1.P \
-.deps/gettext.P .deps/strtol.P .deps/strtoul.P .deps/xmalloc.P \
-.deps/xstrdup.P
SOURCES = $(libreco_a_SOURCES)
OBJECTS = $(libreco_a_OBJECTS)
.SUFFIXES:
.SUFFIXES: .S .c .lo .o .s
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && $(AUTOMAKE) --gnits lib/Makefile
+ cd $(top_srcdir) && $(AUTOMAKE) --gnits --include-deps lib/Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES)
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) \
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
maintainer-clean-noinstLIBRARIES:
+.c.o:
+ $(COMPILE) -c $<
+
.s.o:
$(COMPILE) -c $<
maintainer-clean-compile:
+.c.lo:
+ $(LIBTOOL) --mode=compile $(COMPILE) -c $<
+
.s.lo:
$(LIBTOOL) --mode=compile $(COMPILE) -c $<
subdir = lib
distdir: $(DISTFILES)
- here=`cd $(top_builddir) && pwd`; \
- top_distdir=`cd $(top_distdir) && pwd`; \
- distdir=`cd $(distdir) && pwd`; \
- cd $(top_srcdir) \
- && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnits lib/Makefile
@for file in $(DISTFILES); do \
d=$(srcdir); \
if test -d $$d/$$file; then \
|| cp -p $$d/$$file $(distdir)/$$file || :; \
fi; \
done
+error.o: error.c ../config.h error.h
+getopt.o: getopt.c ../config.h
+getopt1.o: getopt1.c ../config.h getopt.h
+xstrdup.o: xstrdup.c ../config.h
-DEPS_MAGIC := $(shell mkdir .deps > /dev/null 2>&1 || :)
-
--include $(DEP_FILES)
-
-mostlyclean-depend:
-
-clean-depend:
-
-distclean-depend:
- -rm -rf .deps
-
-maintainer-clean-depend:
-
-%.o: %.c
- @echo '$(COMPILE) -c $<'; \
- $(COMPILE) -Wp,-MD,.deps/$(*F).pp -c $<
- @-cp .deps/$(*F).pp .deps/$(*F).P; \
- tr ' ' '\012' < .deps/$(*F).pp \
- | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \
- >> .deps/$(*F).P; \
- rm .deps/$(*F).pp
-
-%.lo: %.c
- @echo '$(LTCOMPILE) -c $<'; \
- $(LTCOMPILE) -Wp,-MD,.deps/$(*F).pp -c $<
- @-sed -e 's/^\([^:]*\)\.o[ ]*:/\1.lo \1.o :/' \
- < .deps/$(*F).pp > .deps/$(*F).P; \
- tr ' ' '\012' < .deps/$(*F).pp \
- | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \
- >> .deps/$(*F).P; \
- rm -f .deps/$(*F).pp
info-am:
info: info-am
dvi-am:
maintainer-clean-generic:
mostlyclean-am: mostlyclean-noinstLIBRARIES mostlyclean-compile \
- mostlyclean-libtool mostlyclean-tags mostlyclean-depend \
+ mostlyclean-libtool mostlyclean-tags \
mostlyclean-generic
mostlyclean: mostlyclean-am
clean-am: clean-noinstLIBRARIES clean-compile clean-libtool clean-tags \
- clean-depend clean-generic mostlyclean-am
+ clean-generic mostlyclean-am
clean: clean-am
distclean-am: distclean-noinstLIBRARIES distclean-compile \
- distclean-libtool distclean-tags distclean-depend \
- distclean-generic clean-am
+ distclean-libtool distclean-tags distclean-generic \
+ clean-am
-rm -f libtool
distclean: distclean-am
maintainer-clean-am: maintainer-clean-noinstLIBRARIES \
maintainer-clean-compile maintainer-clean-libtool \
- maintainer-clean-tags maintainer-clean-depend \
- maintainer-clean-generic distclean-am
+ maintainer-clean-tags maintainer-clean-generic \
+ distclean-am
@echo "This command is intended for maintainers to use;"
@echo "it deletes files that may require special tools to rebuild."
mostlyclean-compile distclean-compile clean-compile \
maintainer-clean-compile mostlyclean-libtool distclean-libtool \
clean-libtool maintainer-clean-libtool tags mostlyclean-tags \
-distclean-tags clean-tags maintainer-clean-tags distdir \
-mostlyclean-depend distclean-depend clean-depend \
-maintainer-clean-depend info-am info dvi-am dvi check check-am \
-installcheck-am installcheck install-exec-am install-exec \
-install-data-am install-data install-am install uninstall-am uninstall \
-all-redirect all-am all installdirs mostlyclean-generic \
-distclean-generic clean-generic maintainer-clean-generic clean \
-mostlyclean distclean maintainer-clean
+distclean-tags clean-tags maintainer-clean-tags distdir info-am info \
+dvi-am dvi check check-am installcheck-am installcheck install-exec-am \
+install-exec install-data-am install-data install-am install \
+uninstall-am uninstall all-redirect all-am all installdirs \
+mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
gettext.o: gettext.c
internal_function;
static void _nl_load_domain PARAMS ((struct loaded_l10nfile *__domain))
internal_function;
+#ifdef _LIBC
static void _nl_unload_domain PARAMS ((struct loaded_domain *__domain))
internal_function;
+#endif
#endif /* gettextP.h */
+2000-12-18 Bruno Haible <haible@clisp.cons.org>
+
+ * config.charset: Add support for BeOS.
+
+2000-12-05 Bruno Haible <haible@clisp.cons.org>
+
+ * Updated to libiconv 1.5.
+ * iconv.h (_LIBICONV_VERSION): Bump version number.
+
+ * iconv.h (_libiconv_version): New declaration.
+
+ * cp950.h (cp950_mbtowc, cp950_wctomb): Change implementation
+ so that it agrees with Microsoft's definition of CP950.
+
+ Add support for locale dependent "char" and "wchar_t" encodings.
+ * loop_unicode.h: New file, extracted from src/iconv.c.
+ * loop_wchar.h: New file.
+ * loops.h: New file. Include loop_unicode.h and loop_wchar.h.
+ * encodings_local.def: New file.
+ * converters.h (conv_struct): Add lfuncs field.
+ * aliases.h: Regenerated.
+ * config.charset: New file, from libiconv-1.5.
+ * red-add.sin, ref-del.sin: New files, from libiconv-1.5.
+ * libcharset.h: New file, from libiconv-1.5.
+ * Makefile.am (noinst_HEADERS): Add loops.h, loop_unicode.h,
+ loop_wchar.h, libcharset.h.
+ (EXTRA_DIST): Add encodings_local.def, config.charset, ref-add.sin,
+ ref-del.sin.
+ (all-local, install-exec-local, uninstall-local, charset.alias): New
+ targets.
+ (charset_alias, charset_tmp, SUFFIXES, CLEANFILES): New variables.
+ (.sin.sed): New rule.
+
+ * converters.h (ucs4_t): New type.
+ (wchar_t): Remove locally defined override.
+ (mbtowc_funcs, wctomb_funcs): Use ucs4_t instead of wchar_t.
+ * armscii_8.h: Use ucs4_t instead of wchar_t.
+ * ascii.h: Likewise.
+ * big5.h: Likewise.
+ * big5hkscs.h: Likewise.
+ * ces_big5.h: Likewise.
+ * ces_gbk.h: Likewise.
+ * cns11643.h: Likewise.
+ * cns11643_1.h: Likewise.
+ * cns11643_2.h: Likewise.
+ * cns11643_3.h: Likewise.
+ * cns11643_inv.h: Likewise.
+ * cp1133.h: Likewise.
+ * cp1250.h: Likewise.
+ * cp1251.h: Likewise.
+ * cp1252.h: Likewise.
+ * cp1253.h: Likewise.
+ * cp1254.h: Likewise.
+ * cp1255.h: Likewise.
+ * cp1256.h: Likewise.
+ * cp1257.h: Likewise.
+ * cp1258.h: Likewise.
+ * cp850.h: Likewise.
+ * cp866.h: Likewise.
+ * cp874.h: Likewise.
+ * cp932.h: Likewise.
+ * cp932ext.h: Likewise.
+ * cp936ext.h: Likewise.
+ * cp949.h: Likewise.
+ * cp950.h: Likewise.
+ * cp950ext.h: Likewise.
+ * euc_cn.h: Likewise.
+ * euc_jp.h: Likewise.
+ * euc_kr.h: Likewise.
+ * euc_tw.h: Likewise.
+ * gb12345.h: Likewise.
+ * gb12345ext.h: Likewise.
+ * gb18030.h: Likewise.
+ * gb18030ext.h: Likewise.
+ * gb18030uni.h: Likewise.
+ * gb2312.h: Likewise.
+ * gbk.h: Likewise.
+ * gbkext1.h: Likewise.
+ * gbkext2.h: Likewise.
+ * gbkext_inv.h: Likewise.
+ * georgian_academy.h: Likewise.
+ * georgian_ps.h: Likewise.
+ * hkscs.h: Likewise.
+ * hp_roman8.h: Likewise.
+ * hz.h: Likewise.
+ * iso2022_cn.h: Likewise.
+ * iso2022_cnext.h: Likewise.
+ * iso2022_jp.h: Likewise.
+ * iso2022_jp1.h: Likewise.
+ * iso2022_jp2.h: Likewise.
+ * iso2022_kr.h: Likewise.
+ * iso646_cn.h: Likewise.
+ * iso646_jp.h: Likewise.
+ * iso8859_1.h: Likewise.
+ * iso8859_10.h: Likewise.
+ * iso8859_13.h: Likewise.
+ * iso8859_14.h: Likewise.
+ * iso8859_15.h: Likewise.
+ * iso8859_16.h: Likewise.
+ * iso8859_2.h: Likewise.
+ * iso8859_3.h: Likewise.
+ * iso8859_4.h: Likewise.
+ * iso8859_5.h: Likewise.
+ * iso8859_6.h: Likewise.
+ * iso8859_7.h: Likewise.
+ * iso8859_8.h: Likewise.
+ * iso8859_9.h: Likewise.
+ * isoir165.h: Likewise.
+ * isoir165ext.h: Likewise.
+ * java.h: Likewise.
+ * jisx0201.h: Likewise.
+ * jisx0208.h: Likewise.
+ * jisx0212.h: Likewise.
+ * johab.h: Likewise.
+ * johab_hangul.h: Likewise.
+ * koi8_r.h: Likewise.
+ * koi8_ru.h: Likewise.
+ * koi8_u.h: Likewise.
+ * ksc5601.h: Likewise.
+ * mac_arabic.h: Likewise.
+ * mac_centraleurope.h: Likewise.
+ * mac_croatian.h: Likewise.
+ * mac_cyrillic.h: Likewise.
+ * mac_greek.h: Likewise.
+ * mac_hebrew.h: Likewise.
+ * mac_iceland.h: Likewise.
+ * mac_roman.h: Likewise.
+ * mac_romania.h: Likewise.
+ * mac_thai.h: Likewise.
+ * mac_turkish.h: Likewise.
+ * mac_ukraine.h: Likewise.
+ * mulelao.h: Likewise.
+ * nextstep.h: Likewise.
+ * sjis.h: Likewise.
+ * tcvn.h: Likewise.
+ * tis620.h: Likewise.
+ * ucs2.h: Likewise.
+ * ucs2be.h: Likewise.
+ * ucs2internal.h: Likewise.
+ * ucs2le.h: Likewise.
+ * ucs2swapped.h: Likewise.
+ * ucs4.h: Likewise.
+ * ucs4be.h: Likewise.
+ * ucs4internal.h: Likewise.
+ * ucs4le.h: Likewise.
+ * ucs4swapped.h: Likewise.
+ * uhc_1.h: Likewise.
+ * uhc_2.h: Likewise.
+ * utf16.h: Likewise.
+ * utf16be.h: Likewise.
+ * utf16le.h: Likewise.
+ * utf7.h: Likewise.
+ * utf8.h: Likewise.
+ * viscii.h: Likewise.
+
+2000-10-24 Bruno Haible <haible@clisp.cons.org>
+
+ * Updated to libiconv 1.4.
+ * iconv.h (_LIBICONV_VERSION): Bump version number.
+
+ * gb18030ext.h, gb18030uni.h, gb18030.h, hkscs.h, big5hkscs.h: New
+ files.
+ * Makefile.am (noinst_HEADERS): Add them.
+ * converters.h: Include gb18030.h and big5hkscs.h.
+ * encodings.def (GB18030, BIG5HKSCS): New encodings.
+ * aliases.h, flags.h: Update.
+
+ * utf16.h (utf16_wctomb): Reject single surrogates.
+ * utf16be.h (utf16be_wctomb): Likewise.
+ * utf16le.h (utf16le_wctomb): Likewise.
+ * ucs2.h (ucs2_mbtowc, ucs2_wctomb): Likewise.
+ * ucs2be.h (ucs2be_mbtowc, ucs2be_wctomb): Likewise.
+ * ucs2le.h (ucs2le_mbtowc, ucs2le_wctomb): Likewise.
+ * ucs2internal.h (ucs2internal_mbtowc, ucs2internal_wctomb): Likewise.
+ * ucs2swapped.h (ucs2swapped_mbtowc, ucs2swapped_wctomb): Likewise.
+
+2000-09-11 Bruno Haible <haible@clisp.cons.org>
+
+ * utf7.h (utf7_mbtowc): Fix combining of UTF-16 surrogates.
+
+2000-07-10 François Pinard <pinard@iro.umontreal.ca>
+
+ * README: New file.
+ Reported by Bruno Haible.
+
+2000-06-29 Bruno Haible <haible@clisp.cons.org>
+
+ * ucs2internal.h, ucs2swapped.h, ucs4internal.h, ucs4swapped.h:
+ Cosmetic changes to avoid compiler warnings.
+\f
2000-06-28 François Pinard <pinard@iro.umontreal.ca>
* Makefile.am (noinst_HEADERS): Distribute iconv.h.
2000-03-14 Bruno Haible <haible@ilog.fr>
* Updated to libiconv 0.3, 1.0, 1.1, then 1.2.
-\f
+
1999-12-28 François Pinard <pinard@iro.umontreal.ca>
* Makefile.am: New file.
AUTOMAKE_OPTIONS = gnits
-noinst_HEADERS = iconv.h aliases.h armscii_8.h ascii.h big5.h ces_big5.h \
-ces_gbk.h cjk_variants.h cns11643.h cns11643_1.h cns11643_2.h cns11643_3.h \
-cns11643_inv.h converters.h cp1133.h cp1250.h cp1251.h cp1252.h cp1253.h cp1254.h \
-cp1255.h cp1256.h cp1257.h cp1258.h cp850.h cp866.h cp874.h cp932.h \
-cp932ext.h cp936ext.h cp949.h cp950.h cp950ext.h euc_cn.h euc_jp.h euc_kr.h \
-euc_tw.h flags.h gb12345.h gb12345ext.h gb2312.h gbk.h gbkext1.h gbkext2.h \
-gbkext_inv.h georgian_academy.h georgian_ps.h hp_roman8.h hz.h \
-iso2022_cn.h iso2022_cnext.h iso2022_jp.h iso2022_jp1.h iso2022_jp2.h \
-iso2022_kr.h iso646_cn.h iso646_jp.h iso8859_1.h iso8859_10.h iso8859_13.h iso8859_14.h \
+noinst_HEADERS = iconv.h aliases.h armscii_8.h ascii.h big5.h big5hkscs.h \
+ces_big5.h ces_gbk.h cjk_variants.h cns11643.h cns11643_1.h cns11643_2.h \
+cns11643_3.h cns11643_inv.h converters.h cp1133.h cp1250.h cp1251.h cp1252.h \
+cp1253.h cp1254.h cp1255.h cp1256.h cp1257.h cp1258.h cp850.h cp866.h cp874.h \
+cp932.h cp932ext.h cp936ext.h cp949.h cp950.h cp950ext.h euc_cn.h euc_jp.h \
+euc_kr.h euc_tw.h flags.h gb12345.h gb12345ext.h gb18030.h gb18030ext.h \
+gb18030uni.h gb2312.h gbk.h gbkext1.h gbkext2.h gbkext_inv.h \
+georgian_academy.h georgian_ps.h hkscs.h hp_roman8.h hz.h iso2022_cn.h \
+iso2022_cnext.h iso2022_jp.h iso2022_jp1.h iso2022_jp2.h iso2022_kr.h \
+iso646_cn.h iso646_jp.h iso8859_1.h iso8859_10.h iso8859_13.h iso8859_14.h \
iso8859_15.h iso8859_16.h iso8859_2.h iso8859_3.h iso8859_4.h iso8859_5.h \
-iso8859_6.h iso8859_7.h iso8859_8.h iso8859_9.h isoir165.h isoir165ext.h java.h jisx0201.h \
-jisx0208.h jisx0212.h johab.h johab_hangul.h koi8_r.h \
-koi8_ru.h koi8_u.h ksc5601.h mac_arabic.h mac_centraleurope.h \
-mac_croatian.h mac_cyrillic.h mac_greek.h mac_hebrew.h mac_iceland.h \
-mac_roman.h mac_romania.h mac_thai.h mac_turkish.h mac_ukraine.h \
-mulelao.h nextstep.h sjis.h tcvn.h tis620.h translit.h \
+iso8859_6.h iso8859_7.h iso8859_8.h iso8859_9.h isoir165.h isoir165ext.h java.h jisx0201.h jisx0208.h jisx0212.h johab.h johab_hangul.h koi8_r.h \
+koi8_ru.h koi8_u.h ksc5601.h loops.h loop_unicode.h loop_wchar.h mac_arabic.h \
+mac_centraleurope.h mac_croatian.h mac_cyrillic.h mac_greek.h mac_hebrew.h \
+mac_iceland.h mac_roman.h mac_romania.h mac_thai.h mac_turkish.h \
+mac_ukraine.h mulelao.h nextstep.h sjis.h tcvn.h tis620.h translit.h \
ucs2.h ucs2be.h ucs2le.h ucs2internal.h ucs2swapped.h \
ucs4.h ucs4be.h ucs4le.h ucs4internal.h ucs4swapped.h \
uhc_1.h uhc_2.h utf16.h utf16be.h utf16le.h utf7.h \
-utf8.h viscii.h
+utf8.h viscii.h \
+libcharset.h
-EXTRA_DIST = encodings.def
+EXTRA_DIST = encodings.def encodings_local.def \
+config.charset ref-add.sin ref-del.sin
+
+all-local: charset.alias ref-add.sed ref-del.sed
+
+charset_alias = $(DESTDIR)$(libdir)/charset.alias
+charset_tmp = $(DESTDIR)$(libdir)/charset.tmp
+install-exec-local: all-local
+ $(mkinstalldirs) $(DESTDIR)$(libdir)
+ if test -f $(charset_alias); then \
+ sed -f ref-add.sed $(charset_alias) > $(charset_tmp) ; \
+ $(INSTALL_DATA) $(charset_tmp) $(charset_alias) ; \
+ rm -f $(charset_tmp) ; \
+ else \
+ if test @GLIBC21@ = no; then \
+ sed -f ref-add.sed charset.alias > $(charset_tmp) ; \
+ $(INSTALL_DATA) $(charset_tmp) $(charset_alias) ; \
+ rm -f $(charset_tmp) ; \
+ fi ; \
+ fi
+
+uninstall-local: all-local
+ if test -f $(charset_alias); then \
+ sed -f ref-del.sed $(charset_alias) > $(charset_tmp); \
+ if grep '^# Packages using this file: $$' $(charset_tmp) \
+ > /dev/null; then \
+ rm -f $(charset_alias); \
+ else \
+ $(INSTALL_DATA) $(charset_tmp) $(charset_alias); \
+ fi; \
+ rm -f $(charset_tmp); \
+ fi
+
+charset.alias: config.charset
+ $(SHELL) $(srcdir)/config.charset '@host@' > t-$@
+ mv t-$@ $@
+
+SUFFIXES = .sed .sin
+.sin.sed:
+ sed -e '/^#/d' -e 's/@''PACKAGE''@/@PACKAGE@/g' $< > $@-t
+ mv $@-t $@
+
+CLEANFILES = charset.alias ref-add.sed ref-del.sed
DLLTOOL = @DLLTOOL@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
+GLIBC21 = @GLIBC21@
LEX = @LEX@
LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
LIBOBJS = @LIBOBJS@
AUTOMAKE_OPTIONS = gnits
-noinst_HEADERS = iconv.h aliases.h armscii_8.h ascii.h big5.h ces_big5.h ces_gbk.h cjk_variants.h cns11643.h cns11643_1.h cns11643_2.h cns11643_3.h cns11643_inv.h converters.h cp1133.h cp1250.h cp1251.h cp1252.h cp1253.h cp1254.h cp1255.h cp1256.h cp1257.h cp1258.h cp850.h cp866.h cp874.h cp932.h cp932ext.h cp936ext.h cp949.h cp950.h cp950ext.h euc_cn.h euc_jp.h euc_kr.h euc_tw.h flags.h gb12345.h gb12345ext.h gb2312.h gbk.h gbkext1.h gbkext2.h gbkext_inv.h georgian_academy.h georgian_ps.h hp_roman8.h hz.h iso2022_cn.h iso2022_cnext.h iso2022_jp.h iso2022_jp1.h iso2022_jp2.h iso2022_kr.h iso646_cn.h iso646_jp.h iso8859_1.h iso8859_10.h iso8859_13.h iso8859_14.h iso8859_15.h iso8859_16.h iso8859_2.h iso8859_3.h iso8859_4.h iso8859_5.h iso8859_6.h iso8859_7.h iso8859_8.h iso8859_9.h isoir165.h isoir165ext.h java.h jisx0201.h jisx0208.h jisx0212.h johab.h johab_hangul.h koi8_r.h koi8_ru.h koi8_u.h ksc5601.h mac_arabic.h mac_centraleurope.h mac_croatian.h mac_cyrillic.h mac_greek.h mac_hebrew.h mac_iceland.h mac_roman.h mac_romania.h mac_thai.h mac_turkish.h mac_ukraine.h mulelao.h nextstep.h sjis.h tcvn.h tis620.h translit.h ucs2.h ucs2be.h ucs2le.h ucs2internal.h ucs2swapped.h ucs4.h ucs4be.h ucs4le.h ucs4internal.h ucs4swapped.h uhc_1.h uhc_2.h utf16.h utf16be.h utf16le.h utf7.h utf8.h viscii.h
+noinst_HEADERS = iconv.h aliases.h armscii_8.h ascii.h big5.h big5hkscs.h ces_big5.h ces_gbk.h cjk_variants.h cns11643.h cns11643_1.h cns11643_2.h cns11643_3.h cns11643_inv.h converters.h cp1133.h cp1250.h cp1251.h cp1252.h cp1253.h cp1254.h cp1255.h cp1256.h cp1257.h cp1258.h cp850.h cp866.h cp874.h cp932.h cp932ext.h cp936ext.h cp949.h cp950.h cp950ext.h euc_cn.h euc_jp.h euc_kr.h euc_tw.h flags.h gb12345.h gb12345ext.h gb18030.h gb18030ext.h gb18030uni.h gb2312.h gbk.h gbkext1.h gbkext2.h gbkext_inv.h georgian_academy.h georgian_ps.h hkscs.h hp_roman8.h hz.h iso2022_cn.h iso2022_cnext.h iso2022_jp.h iso2022_jp1.h iso2022_jp2.h iso2022_kr.h iso646_cn.h iso646_jp.h iso8859_1.h iso8859_10.h iso8859_13.h iso8859_14.h iso8859_15.h iso8859_16.h iso8859_2.h iso8859_3.h iso8859_4.h iso8859_5.h iso8859_6.h iso8859_7.h iso8859_8.h iso8859_9.h isoir165.h isoir165ext.h java.h jisx0201.h jisx0208.h jisx0212.h johab.h johab_hangul.h koi8_r.h koi8_ru.h koi8_u.h ksc5601.h loops.h loop_unicode.h loop_wchar.h mac_arabic.h mac_centraleurope.h mac_croatian.h mac_cyrillic.h mac_greek.h mac_hebrew.h mac_iceland.h mac_roman.h mac_romania.h mac_thai.h mac_turkish.h mac_ukraine.h mulelao.h nextstep.h sjis.h tcvn.h tis620.h translit.h ucs2.h ucs2be.h ucs2le.h ucs2internal.h ucs2swapped.h ucs4.h ucs4be.h ucs4le.h ucs4internal.h ucs4swapped.h uhc_1.h uhc_2.h utf16.h utf16be.h utf16le.h utf7.h utf8.h viscii.h libcharset.h
-EXTRA_DIST = encodings.def
+EXTRA_DIST = encodings.def encodings_local.def config.charset ref-add.sin ref-del.sin
+
+
+charset_alias = $(DESTDIR)$(libdir)/charset.alias
+charset_tmp = $(DESTDIR)$(libdir)/charset.tmp
+
+SUFFIXES = .sed .sin
+
+CLEANFILES = charset.alias ref-add.sed ref-del.sed
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = ../config.h
CONFIG_CLEAN_FILES =
+CFLAGS = @CFLAGS@
+COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
HEADERS = $(noinst_HEADERS)
-DIST_COMMON = ChangeLog Makefile.am Makefile.in
+DIST_COMMON = README ChangeLog Makefile.am Makefile.in
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
GZIP_ENV = --best
all: all-redirect
.SUFFIXES:
+.SUFFIXES: .sed .sin
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && $(AUTOMAKE) --gnits --include-deps libiconv/Makefile
check: check-am
installcheck-am:
installcheck: installcheck-am
-install-exec-am:
+install-exec-am: install-exec-local
install-exec: install-exec-am
install-data-am:
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
install: install-am
-uninstall-am:
+uninstall-am: uninstall-local
uninstall: uninstall-am
-all-am: Makefile $(HEADERS)
+all-am: Makefile $(HEADERS) all-local
all-redirect: all-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
mostlyclean-generic:
clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
distclean-generic:
-rm -f Makefile $(CONFIG_CLEAN_FILES)
.PHONY: tags mostlyclean-tags distclean-tags clean-tags \
maintainer-clean-tags distdir info-am info dvi-am dvi check check-am \
-installcheck-am installcheck install-exec-am install-exec \
-install-data-am install-data install-am install uninstall-am uninstall \
-all-redirect all-am all installdirs mostlyclean-generic \
-distclean-generic clean-generic maintainer-clean-generic clean \
-mostlyclean distclean maintainer-clean
-
+installcheck-am installcheck install-exec-local install-exec-am \
+install-exec install-data-am install-data install-am install \
+uninstall-local uninstall-am uninstall all-local all-redirect all-am \
+all installdirs mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+all-local: charset.alias ref-add.sed ref-del.sed
+install-exec-local: all-local
+ $(mkinstalldirs) $(DESTDIR)$(libdir)
+ if test -f $(charset_alias); then \
+ sed -f ref-add.sed $(charset_alias) > $(charset_tmp) ; \
+ $(INSTALL_DATA) $(charset_tmp) $(charset_alias) ; \
+ rm -f $(charset_tmp) ; \
+ else \
+ if test @GLIBC21@ = no; then \
+ sed -f ref-add.sed charset.alias > $(charset_tmp) ; \
+ $(INSTALL_DATA) $(charset_tmp) $(charset_alias) ; \
+ rm -f $(charset_tmp) ; \
+ fi ; \
+ fi
+
+uninstall-local: all-local
+ if test -f $(charset_alias); then \
+ sed -f ref-del.sed $(charset_alias) > $(charset_tmp); \
+ if grep '^# Packages using this file: $$' $(charset_tmp) \
+ > /dev/null; then \
+ rm -f $(charset_alias); \
+ else \
+ $(INSTALL_DATA) $(charset_tmp) $(charset_alias); \
+ fi; \
+ rm -f $(charset_tmp); \
+ fi
+
+charset.alias: config.charset
+ $(SHELL) $(srcdir)/config.charset '@host@' > t-$@
+ mv t-$@ $@
+.sin.sed:
+ sed -e '/^#/d' -e 's/@''PACKAGE''@/@PACKAGE@/g' $< > $@-t
+ mv $@-t $@
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
--- /dev/null
+The files in this directory (except Makefile.am, Makefile.in,ChangeLog
+and this README) are taken from Bruno Haible's libiconv library, homepage
+ http://clisp.cons.org/~haible/packages-libiconv.html
+
+The copyright owner is the Free Software Foundation, Inc., and the
+files are covered by the GNU LGPL.
-/* ANSI-C code produced by gperf version 2.7 */
-/* Command-line: gperf -t -L ANSI-C -H aliases_hash -N aliases_lookup -7 -C -k 1,3-11,$ -i 1 src/aliases.gperf */
+/* ANSI-C code produced by gperf version 2.7.2 */
+/* Command-line: gperf -t -L ANSI-C -H aliases_hash -N aliases_lookup -7 -C -k '1,3-11,$' -i 1 src/aliases.gperf */
struct alias { const char* name; unsigned int encoding_index; };
-#define TOTAL_KEYWORDS 293
+#define TOTAL_KEYWORDS 297
#define MIN_WORD_LENGTH 2
#define MAX_WORD_LENGTH 45
#define MIN_HASH_VALUE 8
-#define MAX_HASH_VALUE 2145
-/* maximum key range = 2138, duplicates = 0 */
+#define MAX_HASH_VALUE 2446
+/* maximum key range = 2439, duplicates = 0 */
#ifdef __GNUC__
__inline
+#else
+#ifdef __cplusplus
+inline
+#endif
#endif
static unsigned int
aliases_hash (register const char *str, register unsigned int len)
{
static const unsigned short asso_values[] =
{
- 2146, 2146, 2146, 2146, 2146, 2146, 2146, 2146, 2146, 2146,
- 2146, 2146, 2146, 2146, 2146, 2146, 2146, 2146, 2146, 2146,
- 2146, 2146, 2146, 2146, 2146, 2146, 2146, 2146, 2146, 2146,
- 2146, 2146, 2146, 2146, 2146, 2146, 2146, 2146, 2146, 2146,
- 2146, 2146, 2146, 2146, 2146, 1, 56, 2146, 41, 56,
- 26, 246, 426, 106, 86, 231, 1, 491, 16, 2146,
- 2146, 2146, 2146, 2146, 2146, 21, 231, 241, 39, 1,
- 91, 106, 76, 1, 111, 21, 418, 16, 6, 1,
- 6, 2146, 14, 1, 1, 346, 146, 1, 346, 16,
- 1, 2146, 2146, 2146, 2146, 492, 2146, 2146, 2146, 2146,
- 2146, 2146, 2146, 2146, 2146, 2146, 2146, 2146, 2146, 2146,
- 2146, 2146, 2146, 2146, 2146, 2146, 2146, 2146, 2146, 2146,
- 2146, 2146, 2146, 2146, 2146, 2146, 2146, 2146
+ 2447, 2447, 2447, 2447, 2447, 2447, 2447, 2447, 2447, 2447,
+ 2447, 2447, 2447, 2447, 2447, 2447, 2447, 2447, 2447, 2447,
+ 2447, 2447, 2447, 2447, 2447, 2447, 2447, 2447, 2447, 2447,
+ 2447, 2447, 2447, 2447, 2447, 2447, 2447, 2447, 2447, 2447,
+ 2447, 2447, 2447, 2447, 2447, 1, 11, 2447, 41, 236,
+ 26, 471, 86, 131, 61, 196, 1, 246, 1, 2447,
+ 2447, 2447, 2447, 2447, 2447, 21, 506, 317, 231, 1,
+ 91, 131, 311, 1, 66, 46, 507, 116, 6, 1,
+ 51, 2447, 16, 1, 1, 438, 6, 1, 391, 1,
+ 1, 2447, 2447, 2447, 2447, 166, 2447, 2447, 2447, 2447,
+ 2447, 2447, 2447, 2447, 2447, 2447, 2447, 2447, 2447, 2447,
+ 2447, 2447, 2447, 2447, 2447, 2447, 2447, 2447, 2447, 2447,
+ 2447, 2447, 2447, 2447, 2447, 2447, 2447, 2447
};
register int hval = len;
{
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{"SJIS", ei_sjis},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"R8", ei_hp_roman8},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"MS-EE", ei_cp1250},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""},
- {"MS-ANSI", ei_cp1252},
+ {"R8", ei_hp_roman8},
{""}, {""}, {""},
- {"KOI8-R", ei_koi8_r},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"ROMAN8", ei_hp_roman8},
+ {"TCVN", ei_tcvn},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"KOREAN", ei_ksc5601},
- {""}, {""}, {""},
- {"HZ", ei_hz},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"850", ei_cp850},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""},
- {"JP", ei_iso646_jp},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"ISO-IR-58", ei_gb2312},
- {"GREEK8", ei_iso8859_7},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"HP-ROMAN8", ei_hp_roman8},
- {""}, {""}, {""}, {""},
- {"GBK", ei_ces_gbk},
- {""}, {""}, {""},
- {"GREEK", ei_iso8859_7},
+ {"850", ei_cp850},
+ {"KOI8-R", ei_koi8_r},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""},
- {"ECMA-118", ei_iso8859_7},
- {""},
- {"TCVN", ei_tcvn},
+ {"KOREAN", ei_ksc5601},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""},
- {"866", ei_cp866},
{""}, {""}, {""}, {""}, {""}, {""},
- {"ISO-2022-KR", ei_iso2022_kr},
+ {"JAVA", ei_java},
+ {"JP", ei_iso646_jp},
{""}, {""}, {""}, {""}, {""},
- {"MS-GREEK", ei_cp1253},
+ {"MS-EE", ei_cp1250},
+ {"866", ei_cp866},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""},
{"ISO-IR-6", ei_ascii},
{""}, {""},
- {"TIS620", ei_tis620},
- {""},
- {"TIS-620", ei_tis620},
- {""}, {""}, {""},
- {"ISO-IR-100", ei_iso8859_1},
+ {"MS-ANSI", ei_cp1252},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"ISO-IR-58", ei_gb2312},
{""}, {""}, {""},
- {"IBM850", ei_cp850},
+ {"ROMAN8", ei_hp_roman8},
{""}, {""}, {""}, {""}, {""},
{"SHIFT-JIS", ei_sjis},
+ {""}, {""}, {""},
+ {"TIS620", ei_tis620},
+ {""},
+ {"TIS-620", ei_tis620},
{""}, {""}, {""}, {""},
- {"ISO-IR-110", ei_iso8859_4},
- {""}, {""}, {""}, {""}, {""},
{"JIS0208", ei_jisx0208},
+ {""}, {""},
+ {"GREEK8", ei_iso8859_7},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"ISO-IR-226", ei_iso8859_16},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"ISO-2022-KR", ei_iso2022_kr},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"ISO-IR-101", ei_iso8859_2},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
{"TIS620-0", ei_tis620},
- {""}, {""},
+ {""}, {""}, {""}, {""},
+ {"GBK", ei_ces_gbk},
+ {""}, {""}, {""},
+ {"GREEK", ei_iso8859_7},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""},
+ {"ISO-2022-JP-2", ei_iso2022_jp2},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""},
+ {"ISO-2022-JP", ei_iso2022_jp},
+ {""}, {""}, {""}, {""},
+ {"IBM866", ei_cp866},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"HZ", ei_hz},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""},
{"CN", ei_iso646_cn},
{"EUCTW", ei_euc_tw},
- {"WINDOWS-1258", ei_cp1258},
+ {""},
{"EUC-TW", ei_euc_tw},
- {"ISO-IR-226", ei_iso8859_16},
- {""}, {""}, {""},
- {"ISO-2022-JP", ei_iso2022_jp},
+ {""}, {""}, {""}, {""},
+ {"VISCII", ei_viscii},
{""},
{"CHINESE", ei_gb2312},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""},
+ {"IBM850", ei_cp850},
+ {"SHIFT_JIS", ei_sjis},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
{"ASCII", ei_ascii},
- {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"ISO-IR-148", ei_iso8859_9},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""},
+ {"MS-GREEK", ei_cp1253},
+ {""}, {""}, {""}, {""}, {""},
{"GEORGIAN-PS", ei_georgian_ps},
- {"WINDOWS-1252", ei_cp1252},
- {""}, {""},
- {"ISO-2022-JP-2", ei_iso2022_jp2},
- {""}, {""},
- {"IBM866", ei_cp866},
- {"ISO-IR-126", ei_iso8859_7},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"WINDOWS-1250", ei_cp1250},
{""},
- {"ARMSCII-8", ei_armscii_8},
+ {"CHAR", ei_local_char},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""},
+ {"ASMO-708", ei_iso8859_6},
+ {""},
+ {"ISO646-JP", ei_iso646_jp},
+ {""},
+ {"ISO-IR-100", ei_iso8859_1},
+ {""}, {""}, {""}, {""},
+ {"ISO-8859-8", ei_iso8859_8},
+ {""}, {""}, {""}, {""}, {""},
{"EUCKR", ei_euc_kr},
{""},
{"EUC-KR", ei_euc_kr},
{""},
{"CSKOI8R", ei_koi8_r},
- {""}, {""},
- {"JAVA", ei_java},
- {""}, {""},
- {"WINDOWS-1251", ei_cp1251},
- {""}, {""},
- {"ISO-2022-JP-1", ei_iso2022_jp1},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""},
- {"ASMO-708", ei_iso8859_6},
+ {"ISO-IR-126", ei_iso8859_7},
{""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"MACROMAN", ei_mac_roman},
- {"HEBREW", ei_iso8859_8},
- {""}, {""},
- {"ISO-IR-138", ei_iso8859_8},
- {""}, {""},
- {"WINDOWS-1256", ei_cp1256},
+ {"ISO-IR-87", ei_jisx0208},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"MS_KANJI", ei_sjis},
{""}, {""}, {""}, {""}, {""}, {""},
- {"ISO-IR-166", ei_tis620},
- {""}, {""}, {""}, {""}, {""},
+ {"ISO-IR-14", ei_iso646_jp},
+ {""}, {""},
{"US", ei_ascii},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"WINDOWS-1255", ei_cp1255},
- {""}, {""}, {""},
- {"MS-HEBR", ei_cp1255},
{""}, {""}, {""},
- {"MACTHAI", ei_mac_thai},
+ {"ISO-8859-2", ei_iso8859_2},
+ {""}, {""}, {""}, {""},
+ {"ISO-IR-166", ei_tis620},
+ {"ELOT_928", ei_iso8859_7},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""},
+ {"ISO-2022-CN-EXT", ei_iso2022_cn_ext},
+ {"ISO-2022-CN", ei_iso2022_cn},
+ {""},
+ {"X0208", ei_jisx0208},
{""}, {""}, {""},
- {"MACROMANIA", ei_mac_romania},
+ {"ARMSCII-8", ei_armscii_8},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""},
+ {"HP-ROMAN8", ei_hp_roman8},
+ {""}, {""}, {""}, {""}, {""},
+ {"ISO-2022-JP-1", ei_iso2022_jp1},
{""},
{"EUCJP", ei_euc_jp},
{""},
{"EUC-JP", ei_euc_jp},
{""}, {""}, {""},
- {"NEXTSTEP", ei_nextstep},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"ISO-IR-165", ei_isoir165},
- {""}, {""},
- {"ISO-2022-CN-EXT", ei_iso2022_cn_ext},
- {"ISO-2022-CN", ei_iso2022_cn},
- {""}, {""}, {""}, {""}, {""},
- {"CSHPROMAN8", ei_hp_roman8},
- {""}, {""}, {""},
- {"VISCII", ei_viscii},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
{"UCS-2", ei_ucs2},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""},
- {"X0208", ei_jisx0208},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"CP866", ei_cp866},
+ {""}, {""}, {""},
{"L8", ei_iso8859_14},
- {""},
- {"CSISO2022KR", ei_iso2022_kr},
+ {"NEXTSTEP", ei_nextstep},
{""}, {""}, {""},
- {"MS-TURK", ei_cp1254},
- {"MACINTOSH", ei_mac_roman},
- {"MACGREEK", ei_mac_greek},
- {""}, {""}, {""}, {""},
+ {"ISO-8859-6", ei_iso8859_6},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
{"LATIN8", ei_iso8859_14},
+ {"WCHAR_T", ei_local_wchar_t},
+ {"ISO-IR-144", ei_iso8859_5},
+ {""}, {""},
+ {"CSISO2022KR", ei_iso2022_kr},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"L2", ei_iso8859_2},
{"CP850", ei_cp850},
- {""},
- {"CP1258", ei_cp1258},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
{"UTF-8", ei_utf8},
- {"L2", ei_iso8859_2},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""},
+ {"ISO646-CN", ei_iso646_cn},
+ {""}, {""}, {""},
+ {"ISO-IR-57", ei_iso646_cn},
{""}, {""}, {""}, {""}, {""}, {""},
- {"UCS-2-SWAPPED", ei_ucs2swapped},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""},
- {"L1", ei_iso8859_1},
+ {"ISO_8859-8", ei_iso8859_8},
{""}, {""}, {""}, {""},
- {"WINDOWS-1257", ei_cp1257},
+ {"ISO-8859-4", ei_iso8859_4},
+ {"ISO_8859-8:1988", ei_iso8859_8},
+ {""}, {""}, {""},
+ {"L6", ei_iso8859_10},
{""}, {""},
{"LATIN2", ei_iso8859_2},
- {"X0212", ei_jisx0212},
- {""},
- {"CP1252", ei_cp1252},
- {""}, {""}, {""},
- {"ISO-IR-87", ei_jisx0208},
- {"GB2312", ei_euc_cn},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""},
+ {"ISO-IR-110", ei_iso8859_4},
+ {""}, {""}, {""}, {""},
+ {"ISO-IR-165", ei_isoir165},
{""}, {""}, {""},
- {"WINDOWS-1253", ei_cp1253},
- {"CSISO2022JP", ei_iso2022_jp},
+ {"CSISO2022JP2", ei_iso2022_jp2},
+ {"L4", ei_iso8859_4},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""},
- {"EUCCN", ei_euc_cn},
- {"MAC", ei_mac_roman},
- {"EUC-CN", ei_euc_cn},
+ {"MACROMAN", ei_mac_roman},
{""}, {""},
- {"CP866", ei_cp866},
- {"L6", ei_iso8859_10},
+ {"ISO_8859-2", ei_iso8859_2},
{""}, {""}, {""}, {""}, {""}, {""},
- {"ISO-IR-148", ei_iso8859_9},
- {"CSASCII", ei_ascii},
+ {"UCS-4", ei_ucs4},
+ {"CSISO2022JP", ei_iso2022_jp},
{""}, {""},
- {"CP1250", ei_cp1250},
- {"CSISO2022JP2", ei_iso2022_jp2},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"L5", ei_iso8859_9},
- {""}, {""}, {""},
- {"X0201", ei_jisx0201},
- {""}, {""}, {""}, {""},
- {"CSSHIFTJIS", ei_sjis},
+ {"ECMA-118", ei_iso8859_7},
+ {"WINDOWS-874", ei_cp874},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""},
- {"MS-ARAB", ei_cp1256},
+ {"TCVN-5712", ei_tcvn},
{""},
- {"LATIN1", ei_iso8859_1},
+ {"L5", ei_iso8859_9},
{""}, {""},
- {"CP1251", ei_cp1251},
+ {"LATIN6", ei_iso8859_10},
{""}, {""},
+ {"MACROMANIA", ei_mac_romania},
+ {""},
+ {"WINDOWS-1258", ei_cp1258},
+ {""}, {""},
+ {"ISO_8859-4:1988", ei_iso8859_4},
+ {"EUCCN", ei_euc_cn},
+ {"CSVISCII", ei_viscii},
+ {"EUC-CN", ei_euc_cn},
+ {"ISO-8859-5", ei_iso8859_5},
+ {""}, {""}, {""}, {""},
+ {"ISO646-US", ei_ascii},
+ {""},
+ {"ISO_646.IRV:1991", ei_ascii},
{"GEORGIAN-ACADEMY", ei_georgian_academy},
{""}, {""},
- {"BIG5", ei_ces_big5},
+ {"CSASCII", ei_ascii},
+ {""}, {""}, {""}, {""},
+ {"MS-TURK", ei_cp1254},
{""},
- {"BIG-5", ei_ces_big5},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"ISO-IR-127", ei_iso8859_6},
+ {"WINDOWS-1252", ei_cp1252},
{""}, {""}, {""}, {""}, {""}, {""},
- {"MACCROATIAN", ei_mac_croatian},
- {""}, {""}, {""},
- {"BIGFIVE", ei_ces_big5},
- {""},
- {"BIG-FIVE", ei_ces_big5},
+ {"ISO_8859-6", ei_iso8859_6},
{""},
- {"ISO-IR-203", ei_iso8859_15},
+ {"MACGREEK", ei_mac_greek},
{""}, {""},
- {"MACHEBREW", ei_mac_hebrew},
- {""}, {""}, {""}, {""},
- {"ISO-IR-57", ei_iso646_cn},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"LATIN6", ei_iso8859_10},
+ {"ISO-IR-127", ei_iso8859_6},
{""}, {""},
- {"CP1256", ei_cp1256},
- {"TCVN-5712", ei_tcvn},
- {""}, {""}, {""}, {""}, {""},
- {"UCS-2BE", ei_ucs2be},
- {"ISO-8859-8", ei_iso8859_8},
- {""}, {""}, {""}, {""}, {""},
- {"US-ASCII", ei_ascii},
- {""}, {""}, {""}, {""}, {""},
- {"CSISO2022CN", ei_iso2022_cn},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""},
- {"CSVISCII", ei_viscii},
+ {"WINDOWS-1250", ei_cp1250},
{""}, {""},
- {"LATIN5", ei_iso8859_9},
+ {"CP874", ei_cp874},
+ {""},
+ {"LATIN4", ei_iso8859_4},
{""}, {""},
- {"CP1255", ei_cp1255},
- {""}, {""}, {""},
+ {"ISO_8859-5:1988", ei_iso8859_5},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{"L7", ei_iso8859_13},
+ {""}, {""},
+ {"WINDOWS-1256", ei_cp1256},
{""},
- {"ISO-IR-157", ei_iso8859_10},
+ {"X0212", ei_jisx0212},
+ {""},
+ {"ISO-8859-10", ei_iso8859_10},
+ {""}, {""}, {""}, {""}, {""},
+ {"CP1258", ei_cp1258},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""},
- {"ISO-8859-2", ei_iso8859_2},
- {"L3", ei_iso8859_3},
- {""}, {""}, {""}, {""}, {""},
- {"UTF-16", ei_utf16},
+ {"ISO_8859-4", ei_iso8859_4},
{""}, {""},
- {"JOHAB", ei_johab},
{"WINDOWS-1254", ei_cp1254},
- {"MS_KANJI", ei_sjis},
- {"MACUKRAINE", ei_mac_ukraine},
- {""}, {""}, {""},
- {"VISCII1.1-1", ei_viscii},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"CSMACINTOSH", ei_mac_roman},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"ISO-IR-138", ei_iso8859_8},
{""}, {""},
- {"TCVN5712-1", ei_tcvn},
+ {"JIS_X0208", ei_jisx0208},
+ {"BIGFIVE", ei_ces_big5},
+ {"L1", ei_iso8859_1},
+ {"BIG-FIVE", ei_ces_big5},
+ {""}, {""}, {""}, {""}, {""},
+ {"ISO-8859-16", ei_iso8859_16},
+ {"MAC", ei_mac_roman},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""},
- {"SHIFT_JIS", ei_sjis},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"CN-GB-ISOIR165", ei_isoir165},
- {""}, {""}, {""},
- {"KOI8-U", ei_koi8_u},
+ {""}, {""}, {""}, {""}, {""},
+ {"CP1252", ei_cp1252},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"MACTHAI", ei_mac_thai},
{""}, {""},
- {"ISO-8859-1", ei_iso8859_1},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"ISO646-JP", ei_iso646_jp},
+ {"WINDOWS-1255", ei_cp1255},
+ {"CSISO2022CN", ei_iso2022_cn},
+ {"ISO-IR-101", ei_iso8859_2},
+ {"CP950", ei_cp950},
{""},
- {"WINBALTRIM", ei_cp1257},
+ {"LATIN5", ei_iso8859_9},
{""},
- {"KOI8-RU", ei_koi8_ru},
+ {"ISO-8859-7", ei_iso8859_7},
+ {"ISO_8859-2:1987", ei_iso8859_2},
+ {""}, {""},
+ {"US-ASCII", ei_ascii},
+ {"ISO-IR-157", ei_iso8859_10},
+ {"ECMA-114", ei_iso8859_6},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"CP1250", ei_cp1250},
+ {""},
+ {"ISO-IR-109", ei_iso8859_3},
+ {"CSSHIFTJIS", ei_sjis},
+ {"ISO-8859-14", ei_iso8859_14},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"CP1361", ei_johab},
- {""}, {""}, {""}, {""},
- {"ISO-8859-10", ei_iso8859_10},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"TIS620.2529-1", ei_tis620},
+ {"ISO_8859-5", ei_iso8859_5},
+ {"ISO_8859-6:1987", ei_iso8859_6},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""},
+ {"MACCROATIAN", ei_mac_croatian},
{""},
- {"CSISOLATIN2", ei_iso8859_2},
+ {"UCS-2-SWAPPED", ei_ucs2swapped},
{""},
- {"CSIBM866", ei_cp866},
+ {"CP1256", ei_cp1256},
+ {""}, {""}, {""},
+ {"HEBREW", ei_iso8859_8},
+ {"WINDOWS-1257", ei_cp1257},
+ {""},
+ {"ISO-IR-149", ei_ksc5601},
{""}, {""}, {""}, {""}, {""},
- {"ARABIC", ei_iso8859_6},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"CSHPROMAN8", ei_hp_roman8},
+ {"IBM819", ei_iso8859_1},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""},
- {"CSISOLATINHEBREW", ei_iso8859_8},
- {"ISO-8859-6", ei_iso8859_6},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""},
- {"CSBIG5", ei_ces_big5},
+ {"ISO-8859-1", ei_iso8859_1},
{""},
- {"CN-BIG5", ei_ces_big5},
+ {"ISO_8859-10:1992", ei_iso8859_10},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"GB_1988-80", ei_iso646_cn},
{""},
- {"UCS-2LE", ei_ucs2le},
+ {"ISO_8859-10", ei_iso8859_10},
+ {""}, {""}, {""}, {""}, {""},
+ {"WINDOWS-1251", ei_cp1251},
{""},
- {"MACTURKISH", ei_mac_turkish},
+ {"ISO-8859-9", ei_iso8859_9},
{""},
- {"HZ-GB-2312", ei_hz},
- {""}, {""}, {""}, {""},
- {"UNICODE-1-1", ei_ucs2be},
- {""}, {""}, {""},
- {"CSISOLATIN1", ei_iso8859_1},
- {"CN-GB", ei_euc_cn},
+ {"ISO_8859-14:1998", ei_iso8859_14},
+ {"CP1254", ei_cp1254},
{""},
- {"IBM367", ei_ascii},
- {""}, {""}, {""},
- {"UTF-16BE", ei_utf16be},
- {""}, {""}, {""},
- {"ISO-8859-5", ei_iso8859_5},
- {""}, {""}, {""}, {""},
- {"UCS-2-INTERNAL", ei_ucs2internal},
- {"UHC", ei_cp949},
+ {"ISO-IR-159", ei_jisx0212},
+ {""},
+ {"ISO-8859-15", ei_iso8859_15},
+ {""},
+ {"UTF-16", ei_utf16},
{""},
- {"CSISOLATINGREEK", ei_iso8859_7},
- {""}, {""}, {""}, {""}, {""},
- {"CSEUCTW", ei_euc_tw},
- {""}, {""},
- {"ISO-8859-16", ei_iso8859_16},
- {""}, {""}, {""},
- {"L4", ei_iso8859_4},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""},
{"UCS-4-SWAPPED", ei_ucs4swapped},
- {"ISO646-CN", ei_iso646_cn},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""},
+ {"ISO_8859-16:2000", ei_iso8859_16},
+ {"BIG5", ei_ces_big5},
{""},
- {"CSISOLATIN6", ei_iso8859_10},
+ {"BIG-5", ei_ces_big5},
{""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"ISO-8859-15", ei_iso8859_15},
- {""}, {""},
- {"CSEUCKR", ei_euc_kr},
- {"CSUNICODE", ei_ucs2},
- {""}, {""},
- {"TIS620.2533-0", ei_tis620},
- {""}, {""}, {""}, {""},
{"LATIN7", ei_iso8859_13},
+ {""}, {""}, {""},
+ {"ISO_8859-16", ei_iso8859_16},
+ {""},
+ {"CSISOLATIN2", ei_iso8859_2},
{""}, {""},
- {"CP1257", ei_cp1257},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"TIS620.2533-1", ei_tis620},
+ {"GB2312", ei_euc_cn},
+ {""}, {""}, {""}, {""},
{"UTF-7", ei_utf7},
- {"TCVN5712-1:1993", ei_tcvn},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"CSISOLATIN5", ei_iso8859_9},
+ {""}, {""}, {""},
+ {"KOI8-U", ei_koi8_u},
+ {"ISO_8859-15:1998", ei_iso8859_15},
+ {""}, {""},
+ {"X0201", ei_jisx0201},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"LATIN3", ei_iso8859_3},
- {"CP950", ei_cp950},
+ {""}, {""}, {""},
+ {"KOI8-RU", ei_koi8_ru},
{""},
- {"CP1253", ei_cp1253},
+ {"ISO_8859-7", ei_iso8859_7},
+ {""}, {""}, {""}, {""},
+ {"ISO-IR-179", ei_iso8859_13},
+ {"ISO_8859-7:1987", ei_iso8859_7},
+ {""}, {""},
+ {"JIS_C6220-1969-RO", ei_iso646_jp},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"ISO_8859-14", ei_iso8859_14},
+ {"ISO-10646-UCS-2", ei_ucs2},
+ {"GB18030", ei_gb18030},
+ {""}, {""}, {""},
+ {"MACUKRAINE", ei_mac_ukraine},
+ {"MS-HEBR", ei_cp1255},
+ {""}, {""}, {""},
+ {"CP1255", ei_cp1255},
{""},
- {"TIS620.2529-1", ei_tis620},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"ISO-IR-14", ei_iso646_jp},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"L3", ei_iso8859_3},
+ {"UCS-2BE", ei_ucs2be},
+ {"UCS-2LE", ei_ucs2le},
{""}, {""}, {""}, {""}, {""},
+ {"JIS_X0212", ei_jisx0212},
+ {"CSISOLATIN6", ei_iso8859_10},
+ {""}, {""},
{"CSISO87JISX0208", ei_jisx0208},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"ISO646-US", ei_ascii},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"CSGB2312", ei_euc_cn},
+ {"LATIN1", ei_iso8859_1},
{""}, {""},
- {"CSISOLATINARABIC", ei_iso8859_6},
+ {"ISO_8859-1:1987", ei_iso8859_1},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"ISO-IR-199", ei_iso8859_14},
{""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"MACCENTRALEUROPE", ei_mac_centraleurope},
- {"EXTENDED_UNIX_CODE_PACKED_FORMAT_FOR_JAPANESE", ei_euc_jp},
+ {"UCS-2-INTERNAL", ei_ucs2internal},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""},
- {"UNICODE-1-1-UTF-7", ei_utf7},
- {""}, {""}, {""}, {""}, {""},
- {"MULELAO-1", ei_mulelao},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"CSHALFWIDTHKATAKANA", ei_jisx0201},
{""}, {""},
- {"UTF-16LE", ei_utf16le},
+ {"JIS_X0208-1990", ei_jisx0208},
{""}, {""},
- {"ECMA-114", ei_iso8859_6},
+ {"ISO-10646-UCS-4", ei_ucs4},
+ {""},
+ {"ISO_8859-1", ei_iso8859_1},
+ {""}, {""}, {""}, {""}, {""},
+ {"ISO_8859-3:1988", ei_iso8859_3},
{""}, {""},
+ {"CSISOLATIN4", ei_iso8859_4},
+ {"ISO-IR-203", ei_iso8859_15},
{"UCS-4BE", ei_ucs4be},
+ {"UCS-4LE", ei_ucs4le},
+ {""}, {""},
+ {"CSISO14JISC6220RO", ei_iso646_jp},
{""},
- {"CSISO58GB231280", ei_gb2312},
- {""}, {""}, {""}, {""}, {""},
- {"ELOT_928", ei_iso8859_7},
- {"CSEUCPKDFMTJAPANESE", ei_euc_jp},
+ {"IBM367", ei_ascii},
+ {"CSISOLATINGREEK", ei_iso8859_7},
+ {""},
+ {"ISO_8859-9", ei_iso8859_9},
+ {"CP819", ei_iso8859_1},
+ {""}, {""}, {""}, {""},
+ {"ISO_8859-9:1989", ei_iso8859_9},
+ {"ISO_8859-15", ei_iso8859_15},
+ {""}, {""}, {""}, {""},
+ {"CSISO159JISX02121990", ei_jisx0212},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"MACICELAND", ei_mac_iceland},
{""},
- {"CP932", ei_cp932},
- {"MACARABIC", ei_mac_arabic},
- {""}, {""}, {""},
- {"CP367", ei_ascii},
+ {"UCS-4-INTERNAL", ei_ucs4internal},
+ {"MACINTOSH", ei_mac_roman},
+ {"UHC", ei_cp949},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"CSEUCTW", ei_euc_tw},
+ {""},
+ {"TCVN5712-1", ei_tcvn},
{""}, {""}, {""}, {""}, {""},
- {"GB_2312-80", ei_gb2312},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"CSUNICODE11", ei_ucs2be},
+ {"CP932", ei_cp932},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"CP1257", ei_cp1257},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"WINDOWS-1253", ei_cp1253},
+ {""}, {""},
+ {"CN-GB-ISOIR165", ei_isoir165},
{""}, {""}, {""}, {""}, {""}, {""},
- {"IBM819", ei_iso8859_1},
- {""},
- {"UNICODELITTLE", ei_ucs2le},
+ {"EXTENDED_UNIX_CODE_PACKED_FORMAT_FOR_JAPANESE", ei_euc_jp},
+ {"CSISOLATIN5", ei_iso8859_9},
+ {""}, {""},
+ {"CSIBM866", ei_cp866},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""},
- {"JIS_X0208", ei_jisx0208},
- {""},
- {"CSISO159JISX02121990", ei_jisx0212},
+ {"CP949", ei_cp949},
{""}, {""}, {""},
- {"ISO-8859-7", ei_iso8859_7},
+ {"GB_2312-80", ei_gb2312},
{""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"UNICODEBIG", ei_ucs2be},
+ {"CSEUCKR", ei_euc_kr},
{""}, {""},
- {"ISO-10646-UCS-2", ei_ucs2},
+ {"CP936", ei_ces_gbk},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""},
- {"CP1133", ei_cp1133},
- {"CSISO14JISC6220RO", ei_iso646_jp},
- {"JIS_C6220-1969-RO", ei_iso646_jp},
- {""}, {""}, {""}, {""}, {""},
- {"ISO-8859-3", ei_iso8859_3},
- {"ISO_8859-8", ei_iso8859_8},
- {"KSC_5601", ei_ksc5601},
- {"ISO-IR-109", ei_iso8859_3},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"IBM-CP1133", ei_cp1133},
- {""},
- {"ISO_8859-8:1988", ei_iso8859_8},
+ {""}, {""}, {""}, {""},
+ {"CSISOLATINHEBREW", ei_iso8859_8},
{""}, {""}, {""},
- {"MS-CYRL", ei_cp1251},
+ {"CP1251", ei_cp1251},
+ {"ARABIC", ei_iso8859_6},
+ {""}, {""}, {""}, {""},
+ {"MS-ARAB", ei_cp1256},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"CSISOLATINARABIC", ei_iso8859_6},
{""}, {""},
- {"JIS_X0212", ei_jisx0212},
+ {"JIS_X0201", ei_jisx0201},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"CSBIG5", ei_ces_big5},
{""},
- {"WINDOWS-874", ei_cp874},
+ {"CN-BIG5", ei_ces_big5},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"CP936", ei_ces_gbk},
- {"ISO_8859-2", ei_iso8859_2},
- {""}, {""}, {""}, {""}, {""},
- {"ISO-8859-13", ei_iso8859_13},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"JIS_X0208-1990", ei_jisx0208},
- {""},
- {"ISO-IR-159", ei_jisx0212},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"KSC_5601", ei_ksc5601},
+ {""}, {""},
+ {"JIS_X0212-1990", ei_jisx0212},
+ {"CP367", ei_ascii},
+ {""}, {""}, {""}, {""},
+ {"CSUCS4", ei_ucs4},
{""}, {""}, {""}, {""}, {""},
- {"JIS_X0201", ei_jisx0201},
+ {"JIS_X0212.1990-0", ei_jisx0212},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""},
- {"CSISOLATINCYRILLIC", ei_iso8859_5},
- {""}, {""},
- {"CSISOLATIN3", ei_iso8859_3},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""},
+ {"MACHEBREW", ei_mac_hebrew},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""},
+ {"VISCII1.1-1", ei_viscii},
+ {"TIS620.2533-0", ei_tis620},
{""}, {""}, {""}, {""}, {""}, {""},
- {"UCS-4LE", ei_ucs4le},
+ {"WINBALTRIM", ei_cp1257},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"MACCENTRALEUROPE", ei_mac_centraleurope},
+ {""},
+ {"CSUNICODE", ei_ucs2},
{""}, {""}, {""},
- {"UCS-4", ei_ucs4},
+ {"TCVN5712-1:1993", ei_tcvn},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"ISO-8859-3", ei_iso8859_3},
+ {""}, {""}, {""},
+ {"CSISOLATIN1", ei_iso8859_1},
+ {""}, {""}, {""},
+ {"UTF-16BE", ei_utf16be},
+ {"UTF-16LE", ei_utf16le},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""},
- {"JIS_X0212-1990", ei_jisx0212},
+ {"JISX0201-1976", ei_jisx0201},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""},
- {"ISO_8859-1", ei_iso8859_1},
+ {"ANSI_X3.4-1968", ei_ascii},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""},
- {"UCS-4-INTERNAL", ei_ucs4internal},
- {""},
- {"ISO_8859-5:1988", ei_iso8859_5},
- {"ISO_8859-10:1992", ei_iso8859_10},
- {"CSUNICODE11UTF7", ei_utf7},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"GB_1988-80", ei_iso646_cn},
- {""},
- {"ISO_8859-10", ei_iso8859_10},
+ {"CSMACINTOSH", ei_mac_roman},
+ {"JOHAB", ei_johab},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"JIS_X0212.1990-0", ei_jisx0212},
- {"JISX0201-1976", ei_jisx0201},
- {""}, {""}, {""},
- {"ISO_8859-15:1998", ei_iso8859_15},
{""}, {""},
- {"ISO_8859-6", ei_iso8859_6},
+ {"BIG5HKSCS", ei_big5hkscs},
+ {"JIS_X0208-1983", ei_jisx0208},
{""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"LATIN4", ei_iso8859_4},
- {"CP819", ei_iso8859_1},
- {""},
- {"CP1254", ei_cp1254},
+ {"LATIN3", ei_iso8859_3},
+ {""}, {""},
+ {"CN-GB", ei_euc_cn},
{""}, {""}, {""}, {""}, {""},
- {"ISO_8859-16:2000", ei_iso8859_16},
- {""}, {""}, {""}, {""},
- {"ISO-IR-179", ei_iso8859_13},
+ {"MS-CYRL", ei_cp1251},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"ISO_8859-5", ei_iso8859_5},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"TIS620.2533-1", ei_tis620},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""},
+ {"ISO_8859-3", ei_iso8859_3},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"CSISOLATINCYRILLIC", ei_iso8859_5},
{""}, {""}, {""}, {""},
- {"CP874", ei_cp874},
- {""}, {""},
- {"ISO_8859-16", ei_iso8859_16},
+ {"UNICODELITTLE", ei_ucs2le},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""},
- {"ISO-IR-144", ei_iso8859_5},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"ISO_8859-3:1988", ei_iso8859_3},
- {"ISO_8859-15", ei_iso8859_15},
- {""}, {""},
- {"JIS_X0208-1983", ei_jisx0208},
{""}, {""}, {""}, {""},
- {"ISO_646.IRV:1991", ei_ascii},
- {"ISO_8859-2:1987", ei_iso8859_2},
+ {"CP1361", ei_johab},
+ {""}, {""}, {""}, {""},
+ {"MACTURKISH", ei_mac_turkish},
+ {""}, {""}, {""},
+ {"ISO-8859-13", ei_iso8859_13},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""},
- {"ISO_8859-1:1987", ei_iso8859_1},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""},
+ {"KS_C_5601-1987", ei_ksc5601},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"CSEUCPKDFMTJAPANESE", ei_euc_jp},
+ {""}, {""}, {""}, {""}, {""},
+ {"MULELAO-1", ei_mulelao},
+ {""}, {""}, {""}, {""}, {""},
+ {"MACARABIC", ei_mac_arabic},
+ {"CSISO58GB231280", ei_gb2312},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""},
+ {"CP1253", ei_cp1253},
{""}, {""},
- {"ISO_8859-6:1987", ei_iso8859_6},
+ {"KS_C_5601-1989", ei_ksc5601},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""},
+ {"UNICODE-1-1-UTF-7", ei_utf7},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""},
- {"ISO-8859-4", ei_iso8859_4},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""},
- {"CSISO57GB1988", ei_iso646_cn},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"ISO-10646-UCS-4", ei_ucs4},
{""}, {""}, {""}, {""}, {""}, {""},
- {"ISO-IR-149", ei_ksc5601},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"UNICODE-1-1", ei_ucs2be},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"ISO_8859-13", ei_iso8859_13},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"HZ-GB-2312", ei_hz},
{""},
- {"ISO-8859-14", ei_iso8859_14},
+ {"CSGB2312", ei_euc_cn},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""},
+ {"MACICELAND", ei_mac_iceland},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"UNICODEBIG", ei_ucs2be},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""},
- {"ISO_8859-4:1988", ei_iso8859_4},
+ {"CSISO57GB1988", ei_iso646_cn},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""},
- {"CSISOLATIN4", ei_iso8859_4},
- {""}, {""}, {""},
- {"ISO-IR-199", ei_iso8859_14},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"ISO_8859-7", ei_iso8859_7},
+ {"CSISOLATIN3", ei_iso8859_3},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"CYRILLIC", ei_iso8859_5},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""},
+ {"CSHALFWIDTHKATAKANA", ei_jisx0201},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{"CSKSC56011987", ei_ksc5601},
- {""}, {""},
- {"ISO_8859-7:1987", ei_iso8859_7},
- {""}, {""}, {""}, {""}, {""},
- {"ISO_8859-14:1998", ei_iso8859_14},
- {""},
- {"ISO-8859-9", ei_iso8859_9},
- {"ISO_8859-3", ei_iso8859_3},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""},
- {"ISO_8859-13", ei_iso8859_13},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"ANSI_X3.4-1968", ei_ascii},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"CSUCS4", ei_ucs4},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""},
+ {"CYRILLIC", ei_iso8859_5},
+ {""}, {""}, {""},
+ {"CSUNICODE11UTF7", ei_utf7},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"CSUNICODE11", ei_ucs2be},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""},
- {"KS_C_5601-1987", ei_ksc5601},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"CSPC850MULTILINGUAL", ei_cp850},
- {""}, {""}, {""}, {""},
- {"MACCYRILLIC", ei_mac_cyrillic},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"ISO_8859-4", ei_iso8859_4},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""},
+ {"CP1133", ei_cp1133},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""},
- {"ISO_8859-14", ei_iso8859_14},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"ISO_8859-9", ei_iso8859_9},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""},
- {"KS_C_5601-1989", ei_ksc5601},
+ {"IBM-CP1133", ei_cp1133},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"ISO_8859-9:1989", ei_iso8859_9},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""},
- {"CP949", ei_cp949}
+ {"MACCYRILLIC", ei_mac_cyrillic},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"CSPC850MULTILINGUAL", ei_cp850}
};
if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
};
static int
-armscii_8_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+armscii_8_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c = *s;
if (c < 0xa0)
- *pwc = (wchar_t) c;
+ *pwc = (ucs4_t) c;
else
- *pwc = (wchar_t) armscii_8_2uni[c-0xa0];
+ *pwc = (ucs4_t) armscii_8_2uni[c-0xa0];
return 1;
}
};
static int
-armscii_8_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+armscii_8_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
unsigned char c = 0;
if (wc < 0x0020) {
*/
static int
-ascii_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+ascii_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c = *s;
if (c < 0x80) {
- *pwc = (wchar_t) c;
+ *pwc = (ucs4_t) c;
return 1;
}
return RET_ILSEQ;
}
static int
-ascii_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+ascii_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
if (wc < 0x0080) {
*r = wc;
};
static int
-big5_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+big5_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c1 = s[0];
if ((c1 >= 0xa1 && c1 <= 0xc7) || (c1 >= 0xc9 && c1 <= 0xf9)) {
wc = big5_2uni_pagec9[i-6280];
}
if (wc != 0xfffd) {
- *pwc = (wchar_t) wc;
+ *pwc = (ucs4_t) wc;
return 2;
}
}
};
static int
-big5_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+big5_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
if (n >= 2) {
const Summary16 *summary = NULL;
--- /dev/null
+/*
+ * BIG5HKSCS
+ */
+
+/*
+ * BIG5HKSCS can be downloaded from
+ * http://www.info.gov.hk/digital21/eng/hkscs/download.html
+ * http://www.info.gov.hk/digital21/eng/hkscs/index.html
+ *
+ * It extends BIG5 (without the rows 0xC6..0xC7) through the ranges
+ *
+ * 0x{88..8D}{40..7E,A1..FE} 641 characters
+ * 0x{8E..A0}{40..7E,A1..FE} 2898 characters
+ * 0x{C6..C8}{40..7E,A1..FE} 359 characters
+ * 0xF9{D6..FE} 41 characters
+ * 0x{FA..FE}{40..7E,A1..FE} 763 characters
+ *
+ * It thereby introduces an irreversible mapping
+ * 0x8BF8 0x9F9C
+ * 0xC074 0x9F9C
+ */
+
+#include "hkscs.h"
+
+static int
+big5hkscs_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
+{
+ unsigned char c = *s;
+ /* Code set 0 (ASCII) */
+ if (c < 0x80)
+ return ascii_mbtowc(conv,pwc,s,n);
+ /* Code set 1 (BIG5 extended) */
+ if (c >= 0xa1 && c < 0xff) {
+ if (n < 2)
+ return RET_TOOFEW(0);
+ {
+ unsigned char c2 = s[1];
+ if ((c2 >= 0x40 && c2 < 0x7f) || (c2 >= 0xa1 && c2 < 0xff)) {
+ if (!((c == 0xc6 && c2 >= 0xa1) || c == 0xc7)) {
+ int ret = big5_mbtowc(conv,pwc,s,2);
+ if (ret != RET_ILSEQ)
+ return ret;
+ }
+ }
+ }
+ }
+ return hkscs_mbtowc(conv,pwc,s,n);
+}
+
+static int
+big5hkscs_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
+{
+ unsigned char buf[2];
+ int ret;
+
+ /* Code set 0 (ASCII) */
+ ret = ascii_wctomb(conv,r,wc,n);
+ if (ret != RET_ILSEQ)
+ return ret;
+
+ /* Code set 1 (BIG5 extended) */
+ ret = big5_wctomb(conv,buf,wc,2);
+ if (ret != RET_ILSEQ) {
+ if (ret != 2) abort();
+ if (!((buf[0] == 0xc6 && buf[1] >= 0xa1) || buf[0] == 0xc7)) {
+ if (n < 2)
+ return RET_TOOSMALL;
+ r[0] = buf[0];
+ r[1] = buf[1];
+ return 2;
+ }
+ }
+ return hkscs_wctomb(conv,r,wc,n);
+}
*/
static int
-ces_big5_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+ces_big5_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c = *s;
/* Code set 0 (ASCII) */
}
static int
-ces_big5_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+ces_big5_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
unsigned char buf[2];
int ret;
*/
static int
-ces_gbk_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+ces_gbk_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c = *s;
}
static int
-ces_gbk_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+ces_gbk_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
unsigned char buf[2];
int ret;
/* Returns the plane number (0,1,2) in r[0], the two bytes in r[1],r[2]. */
static int
-cns11643_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+cns11643_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
if (n >= 3) {
int ret = cns11643_inv_wctomb(conv,r+1,wc,2);
};
static int
-cns11643_1_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+cns11643_1_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c1 = s[0];
if ((c1 >= 0x21 && c1 <= 0x26) || (c1 == 0x42) || (c1 >= 0x44 && c1 <= 0x7d)) {
wc = cns11643_1_2uni_page44[i-3290];
}
if (wc != 0xfffd) {
- *pwc = (wchar_t) wc;
+ *pwc = (ucs4_t) wc;
return 2;
}
}
};
static int
-cns11643_2_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+cns11643_2_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c1 = s[0];
if ((c1 >= 0x21 && c1 <= 0x72)) {
wc = cns11643_2_2uni_page21[i];
}
if (wc != 0xfffd) {
- *pwc = (wchar_t) wc;
+ *pwc = (ucs4_t) wc;
return 2;
}
}
};
static int
-cns11643_3_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+cns11643_3_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c1 = s[0];
if ((c1 >= 0x21 && c1 <= 0x62)) {
wc = cns11643_3_2uni_page21[i];
}
if (wc != 0xfffd) {
- *pwc = (wchar_t) wc;
+ *pwc = (ucs4_t) wc;
return 2;
}
}
};
static int
-cns11643_inv_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+cns11643_inv_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
if (n >= 2) {
const Summary16 *summary = NULL;
--- /dev/null
+#! /bin/sh
+# Output a system dependent table of character encoding aliases.
+#
+# Copyright (C) 2000 Free Software Foundation, Inc.
+#
+# This program 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, or (at your option)
+# any later version.
+#
+# This program 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 this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+# USA.
+#
+# The table consists of lines of the form
+# ALIAS CANONICAL
+#
+# ALIAS is the (system dependent) result of "nl_langinfo (CODESET)".
+# ALIAS is compared in a case sensitive way.
+#
+# CANONICAL is the GNU canonical name for this character encoding.
+# It must be an encoding supported by libiconv. Support by GNU libc is
+# also desirable. CANONICAL is case insensitive. Usually an upper case
+# MIME charset name is preferred.
+# The current list of GNU canonical charset names is as follows.
+#
+# name used by which systems a MIME name?
+# ASCII, ANSI_X3.4-1968 glibc solaris freebsd
+# ISO-8859-1 glibc aix hpux irix osf solaris freebsd yes
+# ISO-8859-2 glibc aix hpux irix solaris freebsd yes
+# ISO-8859-3 glibc yes
+# ISO-8859-4 solaris yes
+# ISO-8859-5 glibc aix hpux irix solaris yes
+# ISO-8859-6 glibc aix hpux solaris yes
+# ISO-8859-7 glibc aix hpux irix osf solaris yes
+# ISO-8859-8 glibc aix hpux solaris yes
+# ISO-8859-9 glibc aix hpux irix osf solaris yes
+# ISO-8859-13 glibc
+# ISO-8859-15 glibc aix solaris freebsd
+# KOI8-R glibc solaris freebsd yes
+# KOI8-U glibc yes
+# CP850 aix osf
+# CP856 aix
+# CP866 freebsd
+# CP874 win32
+# CP922 aix
+# CP932 aix win32
+# CP943 aix
+# CP949 win32
+# CP950 win32
+# CP1046 aix
+# CP1124 aix
+# CP1129 aix
+# CP1250 win32
+# CP1251 glibc win32
+# CP1252 aix win32
+# CP1253 win32
+# CP1254 win32
+# CP1255 win32
+# CP1256 win32
+# CP1257 win32
+# GB2312 glibc aix hpux irix solaris yes
+# EUC-JP glibc aix hpux irix solaris yes
+# EUC-KR glibc aix hpux irix solaris yes
+# EUC-TW glibc aix hpux irix solaris
+# BIG5 glibc aix hpux solaris yes
+# BIG5HKSCS glibc
+# GBK aix win32
+# GB18030 glibc
+# SJIS hpux solaris
+# JOHAB glibc win32
+# TIS-620 glibc aix hpux solaris
+# VISCII glibc yes
+# HP-ROMAN8 hpux
+# HP-ARABIC8 hpux
+# HP-GREEK8 hpux
+# HP-HEBREW8 hpux
+# HP-TURKISH8 hpux
+# HP-KANA8 hpux
+# UTF-8 glibc aix hpux solaris yes
+#
+# Note: Names which are not marked as being a MIME name should not be used in
+# Internet protocols for information interchange (mail, news, etc.).
+#
+# Note: ASCII and ANSI_X3.4-1968 are synonymous canonical names. Applications
+# must understand both names and treat them as equivalent.
+#
+# The first argument passed to this file is the canonical host specification,
+# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
+# or
+# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
+
+host="$1"
+os=`echo "$host" | sed -e 's/^[^-]*-[^-]*-\(.*\)$/\1/'`
+echo "# This file contains a table of character encoding aliases,"
+echo "# suitable for operating system '${os}'."
+echo "# It was automatically generated from config.charset."
+# List of references, updated during installation:
+echo "# Packages using this file: "
+case "$os" in
+ linux* | *-gnu*)
+ # With glibc-2.1 or newer, we don't need any canonicalization,
+ # because glibc has iconv and both glibc and libiconv support all
+ # GNU canonical names directly. Therefore, the Makefile does not
+ # need to install the alias file at all.
+ # The following applies only to glibc-2.0.x and older libcs.
+ echo "ISO_646.IRV:1983 ASCII"
+ ;;
+ aix*)
+ echo "ISO8859-1 ISO-8859-1"
+ echo "ISO8859-2 ISO-8859-2"
+ echo "ISO8859-5 ISO-8859-5"
+ echo "ISO8859-6 ISO-8859-6"
+ echo "ISO8859-7 ISO-8859-7"
+ echo "ISO8859-8 ISO-8859-8"
+ echo "ISO8859-9 ISO-8859-9"
+ echo "ISO8859-15 ISO-8859-15"
+ echo "IBM-850 CP850"
+ echo "IBM-856 CP856"
+ echo "IBM-921 ISO-8859-13"
+ echo "IBM-922 CP922"
+ echo "IBM-932 CP932"
+ echo "IBM-943 CP943"
+ echo "IBM-1046 CP1046"
+ echo "IBM-1124 CP1124"
+ echo "IBM-1129 CP1129"
+ echo "IBM-1252 CP1252"
+ echo "IBM-eucCN GB2312"
+ echo "IBM-eucJP EUC-JP"
+ echo "IBM-eucKR EUC-KR"
+ echo "IBM-eucTW EUC-TW"
+ echo "big5 BIG5"
+ echo "GBK GBK"
+ echo "TIS-620 TIS-620"
+ echo "UTF-8 UTF-8"
+ ;;
+ hpux*)
+ echo "iso88591 ISO-8859-1"
+ echo "iso88592 ISO-8859-2"
+ echo "iso88595 ISO-8859-5"
+ echo "iso88596 ISO-8859-6"
+ echo "iso88597 ISO-8859-7"
+ echo "iso88598 ISO-8859-8"
+ echo "iso88599 ISO-8859-9"
+ echo "iso885915 ISO-8859-15"
+ echo "roman8 HP-ROMAN8"
+ echo "arabic8 HP-ARABIC8"
+ echo "greek8 HP-GREEK8"
+ echo "hebrew8 HP-HEBREW8"
+ echo "turkish8 HP-TURKISH8"
+ echo "kana8 HP-KANA8"
+ echo "tis620 TIS-620"
+ echo "big5 BIG5"
+ echo "eucJP EUC-JP"
+ echo "eucKR EUC-KR"
+ echo "eucTW EUC-TW"
+ echo "hp15CN GB2312"
+ #echo "ccdc ?" # what is this?
+ echo "SJIS SJIS"
+ echo "utf8 UTF-8"
+ ;;
+ irix*)
+ echo "ISO8859-1 ISO-8859-1"
+ echo "ISO8859-2 ISO-8859-2"
+ echo "ISO8859-5 ISO-8859-5"
+ echo "ISO8859-7 ISO-8859-7"
+ echo "ISO8859-9 ISO-8859-9"
+ echo "eucCN GB2312"
+ echo "eucJP EUC-JP"
+ echo "eucKR EUC-KR"
+ echo "eucTW EUC-TW"
+ ;;
+ osf*)
+ echo "ISO8859-1 ISO-8859-1"
+ echo "ISO8859-7 ISO-8859-7"
+ echo "ISO8859-9 ISO-8859-9"
+ echo "cp850 CP850"
+ ;;
+ solaris*)
+ echo "646 ASCII"
+ echo "ISO8859-1 ISO-8859-1"
+ echo "ISO8859-2 ISO-8859-2"
+ echo "ISO8859-4 ISO-8859-4"
+ echo "ISO8859-5 ISO-8859-5"
+ echo "ISO8859-6 ISO-8859-6"
+ echo "ISO8859-7 ISO-8859-7"
+ echo "ISO8859-8 ISO-8859-8"
+ echo "ISO8859-9 ISO-8859-9"
+ echo "ISO8859-15 ISO-8859-15"
+ echo "koi8-r KOI8-R"
+ echo "BIG5 BIG5"
+ echo "gb2312 GB2312"
+ echo "cns11643 EUC-TW"
+ echo "5601 EUC-KR"
+ echo "eucJP EUC-JP"
+ echo "PCK SJIS"
+ echo "TIS620.2533 TIS-620"
+ #echo "sun_eu_greek ?" # what is this?
+ echo "UTF-8 UTF-8"
+ ;;
+ freebsd*)
+ # FreeBSD 3.3 doesn't have nl_langinfo(CODESET); therefore
+ # localcharset.c falls back to using the full locale name
+ # from the environment variables.
+ echo "C ASCII"
+ echo "US-ASCII ASCII"
+ for l in lt_LN; do
+ echo "$l.ASCII ASCII"
+ done
+ for l in da_DK de_AT de_CH de_DE en_AU en_CA en_GB en_US es_ES \
+ fi_FI fr_BE fr_CA fr_CH fr_FR is_IS it_CH it_IT lt_LN \
+ nl_BE nl_NL no_NO pt_PT sv_SE; do
+ echo "$l.ISO_8859-1 ISO-8859-1"
+ echo "$l.DIS_8859-15 ISO-8859-15"
+ done
+ for l in hr_HR hu_HU lt_LN pl_PL sl_SI; do
+ echo "$l.ISO_8859-2 ISO-8859-2"
+ done
+ for l in ru_RU ru_SU; do
+ echo "$l.KOI8-R KOI8-R"
+ echo "$l.CP866 CP866"
+ done
+ ;;
+ beos*)
+ # BeOS has a single locale, and it has UTF-8 encoding.
+ echo "C UTF-8"
+ ;;
+esac
/* This file defines all the converters. */
-/* Define our own notion of wchar_t, as UCS-4, according to ISO-10646-1. */
-#undef wchar_t
-#define wchar_t unsigned int
+/* Our own notion of wide character, as UCS-4, according to ISO-10646-1. */
+typedef unsigned int ucs4_t;
/* State used by a conversion. 0 denotes the initial state. */
typedef unsigned int state_t;
* Data type for conversion multibyte -> unicode
*/
struct mbtowc_funcs {
- int (*xxx_mbtowc) (conv_t conv, wchar_t *pwc, unsigned char const *s, int n);
+ int (*xxx_mbtowc) (conv_t conv, ucs4_t *pwc, unsigned char const *s, int n);
/*
- * int xxx_mbtowc (conv_t conv, wchar_t *pwc, unsigned char const *s, int n)
+ * int xxx_mbtowc (conv_t conv, ucs4_t *pwc, unsigned char const *s, int n)
* converts the byte sequence starting at s to a wide character. Up to n bytes
* are available at s. n is >= 1.
* Result is number of bytes consumed (if a wide character was read),
* Data type for conversion unicode -> multibyte
*/
struct wctomb_funcs {
- int (*xxx_wctomb) (conv_t conv, unsigned char *r, wchar_t wc, int n);
+ int (*xxx_wctomb) (conv_t conv, unsigned char *r, ucs4_t wc, int n);
/*
- * int xxx_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+ * int xxx_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
* converts the wide character wc to the character set xxx, and stores the
* result beginning at r. Up to n bytes may be written at r. n is >= 1.
* Result is number of bytes written, or 0 if invalid, or -1 if n too small.
* Contents of a conversion descriptor.
*/
struct conv_struct {
+ struct loop_funcs lfuncs;
/* Input (conversion multibyte -> unicode) */
int iindex;
struct mbtowc_funcs ifuncs;
#include "euc_cn.h"
#include "ces_gbk.h"
+#include "gb18030.h"
#include "iso2022_cn.h"
#include "iso2022_cnext.h"
#include "hz.h"
#include "euc_tw.h"
#include "ces_big5.h"
#include "cp950.h"
+#include "big5hkscs.h"
#include "euc_kr.h"
#include "cp949.h"
};
static int
-cp1133_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+cp1133_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c = *s;
if (c < 0xa0) {
- *pwc = (wchar_t) c;
+ *pwc = (ucs4_t) c;
return 1;
}
else if (c < 0xe0) {
unsigned short wc = cp1133_2uni_1[c-0xa0];
if (wc != 0xfffd) {
- *pwc = (wchar_t) wc;
+ *pwc = (ucs4_t) wc;
return 1;
}
}
else {
unsigned short wc = cp1133_2uni_2[c-0xf0];
if (wc != 0xfffd) {
- *pwc = (wchar_t) wc;
+ *pwc = (ucs4_t) wc;
return 1;
}
}
};
static int
-cp1133_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+cp1133_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
unsigned char c = 0;
if (wc < 0x00a0) {
};
static int
-cp1250_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+cp1250_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c = *s;
if (c < 0x80) {
- *pwc = (wchar_t) c;
+ *pwc = (ucs4_t) c;
return 1;
}
else {
unsigned short wc = cp1250_2uni[c-0x80];
if (wc != 0xfffd) {
- *pwc = (wchar_t) wc;
+ *pwc = (ucs4_t) wc;
return 1;
}
}
};
static int
-cp1250_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+cp1250_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
unsigned char c = 0;
if (wc < 0x0080) {
};
static int
-cp1251_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+cp1251_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c = *s;
if (c < 0x80) {
- *pwc = (wchar_t) c;
+ *pwc = (ucs4_t) c;
return 1;
}
else {
unsigned short wc = cp1251_2uni[c-0x80];
if (wc != 0xfffd) {
- *pwc = (wchar_t) wc;
+ *pwc = (ucs4_t) wc;
return 1;
}
}
};
static int
-cp1251_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+cp1251_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
unsigned char c = 0;
if (wc < 0x0080) {
};
static int
-cp1252_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+cp1252_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c = *s;
if (c < 0x80 || c >= 0xa0) {
- *pwc = (wchar_t) c;
+ *pwc = (ucs4_t) c;
return 1;
}
else {
unsigned short wc = cp1252_2uni[c-0x80];
if (wc != 0xfffd) {
- *pwc = (wchar_t) wc;
+ *pwc = (ucs4_t) wc;
return 1;
}
}
};
static int
-cp1252_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+cp1252_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
unsigned char c = 0;
if (wc < 0x0080) {
};
static int
-cp1253_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+cp1253_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c = *s;
if (c < 0x80) {
- *pwc = (wchar_t) c;
+ *pwc = (ucs4_t) c;
return 1;
}
else {
unsigned short wc = cp1253_2uni[c-0x80];
if (wc != 0xfffd) {
- *pwc = (wchar_t) wc;
+ *pwc = (ucs4_t) wc;
return 1;
}
}
};
static int
-cp1253_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+cp1253_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
unsigned char c = 0;
if (wc < 0x0080) {
};
static int
-cp1254_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+cp1254_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c = *s;
if (c < 0x80) {
- *pwc = (wchar_t) c;
+ *pwc = (ucs4_t) c;
return 1;
}
else if (c < 0xa0) {
unsigned short wc = cp1254_2uni_1[c-0x80];
if (wc != 0xfffd) {
- *pwc = (wchar_t) wc;
+ *pwc = (ucs4_t) wc;
return 1;
}
}
else if (c < 0xd0) {
- *pwc = (wchar_t) c;
+ *pwc = (ucs4_t) c;
return 1;
}
else if (c < 0xe0) {
- *pwc = (wchar_t) cp1254_2uni_2[c-0xd0];
+ *pwc = (ucs4_t) cp1254_2uni_2[c-0xd0];
return 1;
}
else if (c < 0xf0) {
- *pwc = (wchar_t) c;
+ *pwc = (ucs4_t) c;
return 1;
}
else {
- *pwc = (wchar_t) cp1254_2uni_3[c-0xf0];
+ *pwc = (ucs4_t) cp1254_2uni_3[c-0xf0];
return 1;
}
return RET_ILSEQ;
};
static int
-cp1254_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+cp1254_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
unsigned char c = 0;
if (wc < 0x0080) {
};
static int
-cp1255_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+cp1255_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c = *s;
if (c < 0x80) {
- *pwc = (wchar_t) c;
+ *pwc = (ucs4_t) c;
return 1;
}
else {
unsigned short wc = cp1255_2uni[c-0x80];
if (wc != 0xfffd) {
- *pwc = (wchar_t) wc;
+ *pwc = (ucs4_t) wc;
return 1;
}
}
};
static int
-cp1255_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+cp1255_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
unsigned char c = 0;
if (wc < 0x0080) {
};
static int
-cp1256_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+cp1256_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c = *s;
if (c < 0x80)
- *pwc = (wchar_t) c;
+ *pwc = (ucs4_t) c;
else
- *pwc = (wchar_t) cp1256_2uni[c-0x80];
+ *pwc = (ucs4_t) cp1256_2uni[c-0x80];
return 1;
}
};
static int
-cp1256_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+cp1256_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
unsigned char c = 0;
if (wc < 0x0080) {
};
static int
-cp1257_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+cp1257_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c = *s;
if (c < 0x80) {
- *pwc = (wchar_t) c;
+ *pwc = (ucs4_t) c;
return 1;
}
else {
unsigned short wc = cp1257_2uni[c-0x80];
if (wc != 0xfffd) {
- *pwc = (wchar_t) wc;
+ *pwc = (ucs4_t) wc;
return 1;
}
}
};
static int
-cp1257_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+cp1257_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
unsigned char c = 0;
if (wc < 0x0080) {
};
static int
-cp1258_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+cp1258_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c = *s;
if (c < 0x80) {
- *pwc = (wchar_t) c;
+ *pwc = (ucs4_t) c;
return 1;
}
else {
unsigned short wc = cp1258_2uni[c-0x80];
if (wc != 0xfffd) {
- *pwc = (wchar_t) wc;
+ *pwc = (ucs4_t) wc;
return 1;
}
}
};
static int
-cp1258_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+cp1258_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
unsigned char c = 0;
if (wc < 0x0080) {
};
static int
-cp850_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+cp850_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c = *s;
if (c < 0x80)
- *pwc = (wchar_t) c;
+ *pwc = (ucs4_t) c;
else
- *pwc = (wchar_t) cp850_2uni[c-0x80];
+ *pwc = (ucs4_t) cp850_2uni[c-0x80];
return 1;
}
};
static int
-cp850_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+cp850_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
unsigned char c = 0;
if (wc < 0x0080) {
};
static int
-cp866_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+cp866_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c = *s;
if (c < 0x80)
- *pwc = (wchar_t) c;
+ *pwc = (ucs4_t) c;
else if (c < 0xb0)
- *pwc = (wchar_t) c + 0x0390;
+ *pwc = (ucs4_t) c + 0x0390;
else
- *pwc = (wchar_t) cp866_2uni[c-0xb0];
+ *pwc = (ucs4_t) cp866_2uni[c-0xb0];
return 1;
}
};
static int
-cp866_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+cp866_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
unsigned char c = 0;
if (wc < 0x0080) {
};
static int
-cp874_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+cp874_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c = *s;
if (c < 0x80) {
- *pwc = (wchar_t) c;
+ *pwc = (ucs4_t) c;
return 1;
}
else {
unsigned short wc = cp874_2uni[c-0x80];
if (wc != 0xfffd) {
- *pwc = (wchar_t) wc;
+ *pwc = (ucs4_t) wc;
return 1;
}
}
};
static int
-cp874_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+cp874_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
unsigned char c = 0;
if (wc < 0x0080) {
*/
static int
-cp932_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+cp932_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c = *s;
if (c < 0x80)
}
static int
-cp932_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+cp932_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
unsigned char buf[2];
int ret;
};
static int
-cp932ext_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+cp932ext_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c1 = s[0];
if ((c1 == 0x87) || (c1 >= 0xed && c1 <= 0xee) || (c1 >= 0xfa && c1 <= 0xfc)) {
wc = cp932ext_2uni_pagefa[i-10716];
}
if (wc != 0xfffd) {
- *pwc = (wchar_t) wc;
+ *pwc = (ucs4_t) wc;
return 2;
}
}
};
static int
-cp932ext_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+cp932ext_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
if (n >= 2) {
const Summary16 *summary = NULL;
};
static int
-cp936ext_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+cp936ext_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c1 = s[0];
if ((c1 == 0xa6) || (c1 == 0xa8)) {
wc = cp936ext_2uni_pagea8[i-7532];
}
if (wc != 0xfffd) {
- *pwc = (wchar_t) wc;
+ *pwc = (ucs4_t) wc;
return 2;
}
}
};
static int
-cp936ext_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+cp936ext_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
if (n >= 2) {
unsigned short c = 0;
#include "uhc_2.h"
static int
-cp949_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+cp949_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c = *s;
/* Code set 0 (ASCII) */
}
static int
-cp949_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+cp949_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
unsigned char buf[2];
int ret;
* 0xA2CC --- 0x5341
* 0xA2CE --- 0x5345
*
- * We don't implement these changes.
- *
* 2. A small new row. See cp950ext.h.
*
* 3. CP950.TXT is lacking the range 0xC6A1..0xC7FC (Hiragana, Katakana,
* in the unicode.org BIG5 table.
*/
+static const unsigned short cp950_2uni_pagea1[314] = {
+ /* 0xa1 */
+ 0x3000, 0xff0c, 0x3001, 0x3002, 0xff0e, 0x2027, 0xff1b, 0xff1a,
+ 0xff1f, 0xff01, 0xfe30, 0x2026, 0x2025, 0xfe50, 0xfe51, 0xfe52,
+ 0x00b7, 0xfe54, 0xfe55, 0xfe56, 0xfe57, 0xff5c, 0x2013, 0xfe31,
+ 0x2014, 0xfe33, 0x2574, 0xfe34, 0xfe4f, 0xff08, 0xff09, 0xfe35,
+ 0xfe36, 0xff5b, 0xff5d, 0xfe37, 0xfe38, 0x3014, 0x3015, 0xfe39,
+ 0xfe3a, 0x3010, 0x3011, 0xfe3b, 0xfe3c, 0x300a, 0x300b, 0xfe3d,
+ 0xfe3e, 0x3008, 0x3009, 0xfe3f, 0xfe40, 0x300c, 0x300d, 0xfe41,
+ 0xfe42, 0x300e, 0x300f, 0xfe43, 0xfe44, 0xfe59, 0xfe5a, 0xfe5b,
+ 0xfe5c, 0xfe5d, 0xfe5e, 0x2018, 0x2019, 0x201c, 0x201d, 0x301d,
+ 0x301e, 0x2035, 0x2032, 0xff03, 0xff06, 0xff0a, 0x203b, 0x00a7,
+ 0x3003, 0x25cb, 0x25cf, 0x25b3, 0x25b2, 0x25ce, 0x2606, 0x2605,
+ 0x25c7, 0x25c6, 0x25a1, 0x25a0, 0x25bd, 0x25bc, 0x32a3, 0x2105,
+ 0x00af, 0xffe3, 0xff3f, 0x02cd, 0xfe49, 0xfe4a, 0xfe4d, 0xfe4e,
+ 0xfe4b, 0xfe4c, 0xfe5f, 0xfe60, 0xfe61, 0xff0b, 0xff0d, 0x00d7,
+ 0x00f7, 0x00b1, 0x221a, 0xff1c, 0xff1e, 0xff1d, 0x2266, 0x2267,
+ 0x2260, 0x221e, 0x2252, 0x2261, 0xfe62, 0xfe63, 0xfe64, 0xfe65,
+ 0xfe66, 0xff5e, 0x2229, 0x222a, 0x22a5, 0x2220, 0x221f, 0x22bf,
+ 0x33d2, 0x33d1, 0x222b, 0x222e, 0x2235, 0x2234, 0x2640, 0x2642,
+ 0x2295, 0x2299, 0x2191, 0x2193, 0x2190, 0x2192, 0x2196, 0x2197,
+ 0x2199, 0x2198, 0x2225, 0x2223, 0xff0f,
+ /* 0xa2 */
+ 0xff3c, 0x2215, 0xfe68, 0xff04, 0xffe5, 0x3012, 0xffe0, 0xffe1,
+ 0xff05, 0xff20, 0x2103, 0x2109, 0xfe69, 0xfe6a, 0xfe6b, 0x33d5,
+ 0x339c, 0x339d, 0x339e, 0x33ce, 0x33a1, 0x338e, 0x338f, 0x33c4,
+ 0x00b0, 0x5159, 0x515b, 0x515e, 0x515d, 0x5161, 0x5163, 0x55e7,
+ 0x74e9, 0x7cce, 0x2581, 0x2582, 0x2583, 0x2584, 0x2585, 0x2586,
+ 0x2587, 0x2588, 0x258f, 0x258e, 0x258d, 0x258c, 0x258b, 0x258a,
+ 0x2589, 0x253c, 0x2534, 0x252c, 0x2524, 0x251c, 0x2594, 0x2500,
+ 0x2502, 0x2595, 0x250c, 0x2510, 0x2514, 0x2518, 0x256d, 0x256e,
+ 0x2570, 0x256f, 0x2550, 0x255e, 0x256a, 0x2561, 0x25e2, 0x25e3,
+ 0x25e5, 0x25e4, 0x2571, 0x2572, 0x2573, 0xff10, 0xff11, 0xff12,
+ 0xff13, 0xff14, 0xff15, 0xff16, 0xff17, 0xff18, 0xff19, 0x2160,
+ 0x2161, 0x2162, 0x2163, 0x2164, 0x2165, 0x2166, 0x2167, 0x2168,
+ 0x2169, 0x3021, 0x3022, 0x3023, 0x3024, 0x3025, 0x3026, 0x3027,
+ 0x3028, 0x3029, 0x5341, 0x5344, 0x5345, 0xff21, 0xff22, 0xff23,
+ 0xff24, 0xff25, 0xff26, 0xff27, 0xff28, 0xff29, 0xff2a, 0xff2b,
+ 0xff2c, 0xff2d, 0xff2e, 0xff2f, 0xff30, 0xff31, 0xff32, 0xff33,
+ 0xff34, 0xff35, 0xff36, 0xff37, 0xff38, 0xff39, 0xff3a, 0xff41,
+ 0xff42, 0xff43, 0xff44, 0xff45, 0xff46, 0xff47, 0xff48, 0xff49,
+ 0xff4a, 0xff4b, 0xff4c, 0xff4d, 0xff4e, 0xff4f, 0xff50, 0xff51,
+ 0xff52, 0xff53, 0xff54, 0xff55, 0xff56,
+};
+
#include "cp950ext.h"
static int
-cp950_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+cp950_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c = *s;
/* Code set 0 (ASCII) */
{
unsigned char c2 = s[1];
if ((c2 >= 0x40 && c2 < 0x7f) || (c2 >= 0xa1 && c2 < 0xff)) {
+ if (c < 0xa3) {
+ unsigned int i = 157 * (c - 0xa1) + (c2 - (c2 >= 0xa1 ? 0x62 : 0x40));
+ unsigned short wc = cp950_2uni_pagea1[i];
+ if (wc != 0xfffd) {
+ *pwc = (ucs4_t) wc;
+ return 2;
+ }
+ }
if (!((c == 0xc6 && c2 >= 0xa1) || c == 0xc7)) {
int ret = big5_mbtowc(conv,pwc,s,2);
if (ret != RET_ILSEQ)
}
static int
-cp950_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+cp950_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
unsigned char buf[2];
int ret;
return ret;
/* Code set 1 (BIG5 extended) */
- ret = big5_wctomb(conv,buf,wc,2);
+ switch (wc >> 8) {
+ case 0x00:
+ if (wc == 0x00af) { buf[0] = 0xa1; buf[1] = 0xc2; ret = 2; break; }
+ if (wc == 0x00a2 || wc == 0x00a3 || wc == 0x00a4)
+ return RET_ILSEQ;
+ break;
+ case 0x02:
+ if (wc == 0x02cd) { buf[0] = 0xa1; buf[1] = 0xc5; ret = 2; break; }
+ break;
+ case 0x20:
+ if (wc == 0x2027) { buf[0] = 0xa1; buf[1] = 0x45; ret = 2; break; }
+ if (wc == 0x2022 || wc == 0x203e)
+ return RET_ILSEQ;
+ break;
+ case 0x22:
+ if (wc == 0x2215) { buf[0] = 0xa2; buf[1] = 0x41; ret = 2; break; }
+ if (wc == 0x2295) { buf[0] = 0xa1; buf[1] = 0xf2; ret = 2; break; }
+ if (wc == 0x2299) { buf[0] = 0xa1; buf[1] = 0xf3; ret = 2; break; }
+ if (wc == 0x223c)
+ return RET_ILSEQ;
+ break;
+ case 0x25:
+ if (wc == 0x2574) { buf[0] = 0xa1; buf[1] = 0x5a; ret = 2; break; }
+ break;
+ case 0x26:
+ if (wc == 0x2609 || wc == 0x2641)
+ return RET_ILSEQ;
+ break;
+ case 0xfe:
+ if (wc == 0xfe51) { buf[0] = 0xa1; buf[1] = 0x4e; ret = 2; break; }
+ if (wc == 0xfe68) { buf[0] = 0xa2; buf[1] = 0x42; ret = 2; break; }
+ break;
+ case 0xff:
+ if (wc == 0xff0f) { buf[0] = 0xa1; buf[1] = 0xfe; ret = 2; break; }
+ if (wc == 0xff3c) { buf[0] = 0xa2; buf[1] = 0x40; ret = 2; break; }
+ if (wc == 0xff5e) { buf[0] = 0xa1; buf[1] = 0xe3; ret = 2; break; }
+ if (wc == 0xffe0) { buf[0] = 0xa2; buf[1] = 0x46; ret = 2; break; }
+ if (wc == 0xffe1) { buf[0] = 0xa2; buf[1] = 0x47; ret = 2; break; }
+ if (wc == 0xffe3) { buf[0] = 0xa1; buf[1] = 0xc3; ret = 2; break; }
+ if (wc == 0xffe5) { buf[0] = 0xa2; buf[1] = 0x44; ret = 2; break; }
+ if (wc == 0xff64)
+ return RET_ILSEQ;
+ break;
+ }
+ if (ret == RET_ILSEQ)
+ ret = big5_wctomb(conv,buf,wc,2);
if (ret != RET_ILSEQ) {
if (ret != 2) abort();
if (!((buf[0] == 0xc6 && buf[1] >= 0xa1) || buf[0] == 0xc7)) {
};
static int
-cp950ext_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+cp950ext_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c1 = s[0];
if ((c1 == 0xf9)) {
wc = cp950ext_2uni_pagef9[i-13932];
}
if (wc != 0xfffd) {
- *pwc = (wchar_t) wc;
+ *pwc = (ucs4_t) wc;
return 2;
}
}
};
static int
-cp950ext_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+cp950ext_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
if (n >= 2) {
const Summary16 *summary = NULL;
ces_gbk,
{ ces_gbk_mbtowc }, { ces_gbk_wctomb, NULL })
+DEFENCODING(( "GB18030", /* glibc */
+ ),
+ gb18030,
+ { gb18030_mbtowc }, { gb18030_wctomb, NULL })
+
DEFENCODING(( "ISO-2022-CN", /* IANA, RFC 1922 */
"csISO2022CN",
/*"ISO2022CN", JDK 1.1 */
cp950,
{ cp950_mbtowc }, { cp950_wctomb, NULL })
+DEFENCODING(( "BIG5HKSCS", /* glibc */
+ ),
+ big5hkscs,
+ { big5hkscs_mbtowc }, { big5hkscs_wctomb, NULL })
+
DEFENCODING(( "EUC-KR", /* IANA, RFC 1557 */
"EUCKR", /* glibc */
"csEUCKR", /* IANA */
--- /dev/null
+/* Copyright (C) 2000 Free Software Foundation, Inc.
+ This file is part of the GNU ICONV Library.
+
+ The GNU ICONV 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 ICONV 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 ICONV 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. */
+
+/* Names for locale dependent encodings. */
+
+DEFENCODING(( "CHAR",
+ ),
+ local_char,
+ { NULL }, { NULL, NULL })
+
+DEFENCODING(( "WCHAR_T", /* glibc */
+ ),
+ local_wchar_t,
+ { NULL }, { NULL, NULL })
*/
static int
-euc_cn_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+euc_cn_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c = *s;
/* Code set 0 (ASCII or GB 1988-89) */
}
static int
-euc_cn_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+euc_cn_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
unsigned char buf[2];
int ret;
*/
static int
-euc_jp_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+euc_jp_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c = *s;
/* Code set 0 (ASCII or JIS X 0201-1976 Roman) */
}
static int
-euc_jp_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+euc_jp_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
unsigned char buf[2];
int ret;
/* Specification: RFC 1557 */
static int
-euc_kr_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+euc_kr_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c = *s;
/* Code set 0 (ASCII or KS C 5636-1993) */
}
static int
-euc_kr_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+euc_kr_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
unsigned char buf[2];
int ret;
*/
static int
-euc_tw_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+euc_tw_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c = *s;
/* Code set 0 (ASCII) */
}
static int
-euc_tw_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+euc_tw_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
unsigned char buf[3];
int ret;
#define ei_iso2022_jp2_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS | HAVE_HANGUL_JAMO)
#define ei_euc_cn_oflags (HAVE_QUOTATION_MARKS)
#define ei_ces_gbk_oflags (HAVE_QUOTATION_MARKS)
+#define ei_gb18030_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS | HAVE_HANGUL_JAMO)
#define ei_iso2022_cn_oflags (HAVE_QUOTATION_MARKS)
#define ei_iso2022_cn_ext_oflags (HAVE_QUOTATION_MARKS)
#define ei_hz_oflags (HAVE_QUOTATION_MARKS)
#define ei_euc_tw_oflags (HAVE_QUOTATION_MARKS)
#define ei_ces_big5_oflags (HAVE_QUOTATION_MARKS)
#define ei_cp950_oflags (HAVE_QUOTATION_MARKS)
+#define ei_big5hkscs_oflags (HAVE_QUOTATION_MARKS)
#define ei_euc_kr_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS | HAVE_HANGUL_JAMO)
#define ei_cp949_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS | HAVE_HANGUL_JAMO)
#define ei_johab_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS | HAVE_HANGUL_JAMO)
#include "gb12345ext.h"
static int
-gb12345_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+gb12345_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
int ret;
}
static int
-gb12345_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+gb12345_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
int ret;
};
static int
-gb12345ext_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+gb12345ext_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c1 = s[0];
if ((c1 == 0x21) || (c1 == 0x26) || (c1 == 0x28) || (c1 >= 0x30 && c1 <= 0x79)) {
wc = gb12345ext_2uni_page30[i-1410];
}
if (wc != 0xfffd) {
- *pwc = (wchar_t) wc;
+ *pwc = (ucs4_t) wc;
return 2;
}
}
};
static int
-gb12345ext_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+gb12345ext_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
if (n >= 2) {
const Summary16 *summary = NULL;
--- /dev/null
+/*
+ * GB18030
+ */
+
+/*
+ * GB18030, as implemented in glibc-2.2, is an extension of GBK (= CP936).
+ * It adds the following ranges:
+ * 1. Two-byte range
+ * 0xA2E3, 0xA8BF, 0xA98A..0xA995, 0xFE50..0xFE9F
+ * 2. Four-byte range
+ * 0x{81..84}{30..39}{81..FE}{30..39}
+ * Most of Unicode plane 1 in Unicode order.
+ */
+
+#include "gb18030ext.h"
+#include "gb18030uni.h"
+
+static int
+gb18030_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
+{
+ int ret;
+
+ /* Code set 0 (ASCII) */
+ if (*s < 0x80)
+ return ascii_mbtowc(conv,pwc,s,n);
+
+ /* Code set 1 (GBK extended) */
+ ret = gbk_mbtowc(conv,pwc,s,n);
+ if (ret != RET_ILSEQ)
+ return ret;
+
+ ret = gb18030ext_mbtowc(conv,pwc,s,n);
+ if (ret != RET_ILSEQ)
+ return ret;
+
+ /* Code set 2 (remainder of Unicode) */
+ return gb18030uni_mbtowc(conv,pwc,s,n);
+}
+
+static int
+gb18030_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
+{
+ int ret;
+
+ /* Code set 0 (ASCII) */
+ ret = ascii_wctomb(conv,r,wc,n);
+ if (ret != RET_ILSEQ)
+ return ret;
+
+ /* Code set 1 (GBK extended) */
+ ret = gbk_wctomb(conv,r,wc,n);
+ if (ret != RET_ILSEQ)
+ return ret;
+
+ ret = gb18030ext_wctomb(conv,r,wc,n);
+ if (ret != RET_ILSEQ)
+ return ret;
+
+ /* Code set 2 (remainder of Unicode) */
+ return gb18030uni_wctomb(conv,r,wc,n);
+}
--- /dev/null
+
+/*
+ * GB18030 two-byte extension
+ */
+
+static const unsigned short gb18030ext_2uni_pagea9[13] = {
+ /* 0xa9 */
+ 0xfffd, 0x2ff0, 0x2ff1, 0x2ff2, 0x2ff3, 0x2ff4, 0x2ff5, 0x2ff6,
+ 0x2ff7, 0x2ff8, 0x2ff9, 0x2ffa, 0x2ffb,
+};
+static const unsigned short gb18030ext_2uni_pagefe[95] = {
+ /* 0xfe */
+ 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd,
+ 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd,
+ 0x2e81, 0xfffd, 0xfffd, 0xfffd, 0x2e84, 0x3473, 0x3447, 0x2e88,
+ 0x2e8b, 0xfffd, 0x359e, 0x361a, 0x360e, 0x2e8c, 0xfffd, 0x396e,
+ 0x3918, 0xfffd, 0x39cf, 0x39df, 0x3a73, 0x39d0, 0xfffd, 0xfffd,
+ 0x3b4e, 0x3c6e, 0x3ce0, 0x2ea7, 0xfffd, 0xfffd, 0x2eaa, 0x4056,
+ 0x415f, 0x2eae, 0x4337, 0x2eb3, 0x2eb6, 0x2eb7, 0xfffd, 0x43b1,
+ 0x43ac, 0x2ebb, 0x43dd, 0x44d6, 0x4661, 0x464c, 0xfffd, 0x4723,
+ 0x4729, 0x477c, 0x478d, 0x2eca, 0x4947, 0x497a, 0x497d, 0x4982,
+ 0x4983, 0x4985, 0x4986, 0x499f, 0x499b, 0x49b7, 0x49b6, 0xfffd,
+ 0xfffd, 0x4ca3, 0x4c9f, 0x4ca0, 0x4ca1, 0x4c77, 0x4ca2, 0x4d13,
+ 0x4d14, 0x4d15, 0x4d16, 0x4d17, 0x4d18, 0x4d19, 0x4dae,
+};
+
+static int
+gb18030ext_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
+{
+ unsigned char c1 = s[0];
+ if ((c1 == 0xa2) || (c1 >= 0xa8 && c1 <= 0xa9) || (c1 == 0xfe)) {
+ if (n >= 2) {
+ unsigned char c2 = s[1];
+ if ((c2 >= 0x40 && c2 < 0x7f) || (c2 >= 0x80 && c2 < 0xff)) {
+ unsigned int i = 190 * (c1 - 0x81) + (c2 - (c2 >= 0x80 ? 0x41 : 0x40));
+ unsigned short wc = 0xfffd;
+ if (i < 7410) {
+ if (i == 6432)
+ wc = 0x20ac;
+ } else if (i < 23750) {
+ if (i == 7536)
+ wc = 0x01f9;
+ else if (i >= 7672 && i < 7685)
+ wc = gb18030ext_2uni_pagea9[i-7672];
+ } else {
+ if (i < 23845)
+ wc = gb18030ext_2uni_pagefe[i-23750];
+ }
+ if (wc != 0xfffd) {
+ *pwc = (ucs4_t) wc;
+ return 2;
+ }
+ }
+ return RET_ILSEQ;
+ }
+ return RET_TOOFEW(0);
+ }
+ return RET_ILSEQ;
+}
+
+static const unsigned short gb18030ext_page2e[80] = {
+ 0x0000, 0xfe50, 0x0000, 0x0000, 0xfe54, 0x0000, 0x0000, 0x0000, /*0x80-0x87*/
+ 0xfe57, 0x0000, 0x0000, 0xfe58, 0xfe5d, 0x0000, 0x0000, 0x0000, /*0x88-0x8f*/
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, /*0x90-0x97*/
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, /*0x98-0x9f*/
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xfe6b, /*0xa0-0xa7*/
+ 0x0000, 0x0000, 0xfe6e, 0x0000, 0x0000, 0x0000, 0xfe71, 0x0000, /*0xa8-0xaf*/
+ 0x0000, 0x0000, 0x0000, 0xfe73, 0x0000, 0x0000, 0xfe74, 0xfe75, /*0xb0-0xb7*/
+ 0x0000, 0x0000, 0x0000, 0xfe79, 0x0000, 0x0000, 0x0000, 0x0000, /*0xb8-0xbf*/
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, /*0xc0-0xc7*/
+ 0x0000, 0x0000, 0xfe84, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, /*0xc8-0xcf*/
+};
+static const unsigned short gb18030ext_page2f[16] = {
+ 0xa98a, 0xa98b, 0xa98c, 0xa98d, 0xa98e, 0xa98f, 0xa990, 0xa991, /*0xf0-0xf7*/
+ 0xa992, 0xa993, 0xa994, 0xa995, 0x0000, 0x0000, 0x0000, 0x0000, /*0xf8-0xff*/
+};
+static const unsigned short gb18030ext_page34[56] = {
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xfe56, /*0x40-0x47*/
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, /*0x48-0x4f*/
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, /*0x50-0x57*/
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, /*0x58-0x5f*/
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, /*0x60-0x67*/
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, /*0x68-0x6f*/
+ 0x0000, 0x0000, 0x0000, 0xfe55, 0x0000, 0x0000, 0x0000, 0x0000, /*0x70-0x77*/
+};
+static const unsigned short gb18030ext_page36[24] = {
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xfe5c, 0x0000, /*0x08-0x0f*/
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, /*0x10-0x17*/
+ 0x0000, 0x0000, 0xfe5b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, /*0x18-0x1f*/
+};
+static const unsigned short gb18030ext_page39[24] = {
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xfe62, /*0xc8-0xcf*/
+ 0xfe65, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, /*0xd0-0xd7*/
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xfe63, /*0xd8-0xdf*/
+};
+static const unsigned short gb18030ext_page43[56] = {
+ 0x0000, 0x0000, 0x0000, 0x0000, 0xfe78, 0x0000, 0x0000, 0x0000, /*0xa8-0xaf*/
+ 0x0000, 0xfe77, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, /*0xb0-0xb7*/
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, /*0xb8-0xbf*/
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, /*0xc0-0xc7*/
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, /*0xc8-0xcf*/
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, /*0xd0-0xd7*/
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xfe7a, 0x0000, 0x0000, /*0xd8-0xdf*/
+};
+static const unsigned short gb18030ext_page46[32] = {
+ 0x0000, 0x0000, 0x0000, 0x0000, 0xfe7d, 0x0000, 0x0000, 0x0000, /*0x48-0x4f*/
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, /*0x50-0x57*/
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, /*0x58-0x5f*/
+ 0x0000, 0xfe7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, /*0x60-0x67*/
+};
+static const unsigned short gb18030ext_page47_1[16] = {
+ 0x0000, 0x0000, 0x0000, 0xfe80, 0x0000, 0x0000, 0x0000, 0x0000, /*0x20-0x27*/
+ 0x0000, 0xfe81, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, /*0x28-0x2f*/
+};
+static const unsigned short gb18030ext_page47_2[24] = {
+ 0x0000, 0x0000, 0x0000, 0x0000, 0xfe82, 0x0000, 0x0000, 0x0000, /*0x78-0x7f*/
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, /*0x80-0x87*/
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xfe83, 0x0000, 0x0000, /*0x88-0x8f*/
+};
+static const unsigned short gb18030ext_page49[120] = {
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xfe85, /*0x40-0x47*/
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, /*0x48-0x4f*/
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, /*0x50-0x57*/
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, /*0x58-0x5f*/
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, /*0x60-0x67*/
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, /*0x68-0x6f*/
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, /*0x70-0x77*/
+ 0x0000, 0x0000, 0xfe86, 0x0000, 0x0000, 0xfe87, 0x0000, 0x0000, /*0x78-0x7f*/
+ 0x0000, 0x0000, 0xfe88, 0xfe89, 0x0000, 0xfe8a, 0xfe8b, 0x0000, /*0x80-0x87*/
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, /*0x88-0x8f*/
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, /*0x90-0x97*/
+ 0x0000, 0x0000, 0x0000, 0xfe8d, 0x0000, 0x0000, 0x0000, 0xfe8c, /*0x98-0x9f*/
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, /*0xa0-0xa7*/
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, /*0xa8-0xaf*/
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xfe8f, 0xfe8e, /*0xb0-0xb7*/
+};
+static const unsigned short gb18030ext_page4c[56] = {
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xfe96, /*0x70-0x77*/
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, /*0x78-0x7f*/
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, /*0x80-0x87*/
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, /*0x88-0x8f*/
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, /*0x90-0x97*/
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xfe93, /*0x98-0x9f*/
+ 0xfe94, 0xfe95, 0xfe97, 0xfe92, 0x0000, 0x0000, 0x0000, 0x0000, /*0xa0-0xa7*/
+};
+static const unsigned short gb18030ext_page4d[16] = {
+ 0x0000, 0x0000, 0x0000, 0xfe98, 0xfe99, 0xfe9a, 0xfe9b, 0xfe9c, /*0x10-0x17*/
+ 0xfe9d, 0xfe9e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, /*0x18-0x1f*/
+};
+
+static int
+gb18030ext_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
+{
+ if (n >= 2) {
+ unsigned short c = 0;
+ if (wc == 0x01f9)
+ c = 0xa8bf;
+ else if (wc == 0x20ac)
+ c = 0xa2e3;
+ else if (wc >= 0x2e80 && wc < 0x2ed0)
+ c = gb18030ext_page2e[wc-0x2e80];
+ else if (wc >= 0x2ff0 && wc < 0x3000)
+ c = gb18030ext_page2f[wc-0x2ff0];
+ else if (wc >= 0x3440 && wc < 0x3478)
+ c = gb18030ext_page34[wc-0x3440];
+ else if (wc == 0x359e)
+ c = 0xfe5a;
+ else if (wc >= 0x3608 && wc < 0x3620)
+ c = gb18030ext_page36[wc-0x3608];
+ else if (wc == 0x3918)
+ c = 0xfe60;
+ else if (wc == 0x396e)
+ c = 0xfe5f;
+ else if (wc >= 0x39c8 && wc < 0x39e0)
+ c = gb18030ext_page39[wc-0x39c8];
+ else if (wc == 0x3a73)
+ c = 0xfe64;
+ else if (wc == 0x3b4e)
+ c = 0xfe68;
+ else if (wc == 0x3c6e)
+ c = 0xfe69;
+ else if (wc == 0x3ce0)
+ c = 0xfe6a;
+ else if (wc == 0x4056)
+ c = 0xfe6f;
+ else if (wc == 0x415f)
+ c = 0xfe70;
+ else if (wc == 0x4337)
+ c = 0xfe72;
+ else if (wc >= 0x43a8 && wc < 0x43e0)
+ c = gb18030ext_page43[wc-0x43a8];
+ else if (wc == 0x44d6)
+ c = 0xfe7b;
+ else if (wc >= 0x4648 && wc < 0x4668)
+ c = gb18030ext_page46[wc-0x4648];
+ else if (wc >= 0x4720 && wc < 0x4730)
+ c = gb18030ext_page47_1[wc-0x4720];
+ else if (wc >= 0x4778 && wc < 0x4790)
+ c = gb18030ext_page47_2[wc-0x4778];
+ else if (wc >= 0x4940 && wc < 0x49b8)
+ c = gb18030ext_page49[wc-0x4940];
+ else if (wc >= 0x4c70 && wc < 0x4ca8)
+ c = gb18030ext_page4c[wc-0x4c70];
+ else if (wc >= 0x4d10 && wc < 0x4d20)
+ c = gb18030ext_page4d[wc-0x4d10];
+ else if (wc == 0x4dae)
+ c = 0xfe9f;
+ if (c != 0) {
+ r[0] = (c >> 8); r[1] = (c & 0xff);
+ return 2;
+ }
+ return RET_ILSEQ;
+ }
+ return RET_TOOSMALL;
+}
--- /dev/null
+
+/*
+ * GB18030 four-byte extension
+ */
+
+static const unsigned short gb18030uni_charset2uni_ranges[368] = {
+ 0x0000, 0x0022, 0x0023, 0x0024, 0x0025, 0x002b, 0x002c, 0x0030,
+ 0x0031, 0x004f, 0x0050, 0x0057, 0x0058, 0x005d, 0x005e, 0x005e,
+ 0x005f, 0x0062, 0x0063, 0x0065, 0x0066, 0x0066, 0x0067, 0x0067,
+ 0x0068, 0x006b, 0x006c, 0x007c, 0x007d, 0x0083, 0x0084, 0x0092,
+ 0x0093, 0x00aa, 0x00ab, 0x00ad, 0x00ae, 0x00b1, 0x00b2, 0x00ce,
+ 0x00cf, 0x0130, 0x0131, 0x0131, 0x0132, 0x0132, 0x0133, 0x0133,
+ 0x0134, 0x0134, 0x0135, 0x0135, 0x0136, 0x0136, 0x0137, 0x0137,
+ 0x0138, 0x0153, 0x0154, 0x01aa, 0x01ab, 0x01b9, 0x01ba, 0x021e,
+ 0x021f, 0x021f, 0x0220, 0x022c, 0x022d, 0x02e3, 0x02e5, 0x02eb,
+ 0x02ec, 0x02ec, 0x02ed, 0x0323, 0x0324, 0x0331, 0x0332, 0x0332,
+ 0x0333, 0x1ef0, 0x1ef1, 0x1ef2, 0x1ef3, 0x1ef3, 0x1ef4, 0x1ef5,
+ 0x1ef6, 0x1efc, 0x1efd, 0x1f05, 0x1f06, 0x1f06, 0x1f07, 0x1f07,
+ 0x1f08, 0x1f0c, 0x1f0d, 0x1f7c, 0x1f7d, 0x1fd2, 0x1fd3, 0x1fd3,
+ 0x1fd4, 0x1fd6, 0x1fd7, 0x1fe2, 0x1fe3, 0x1fec, 0x1fed, 0x202a,
+ 0x202b, 0x202e, 0x202f, 0x2038, 0x2045, 0x2046, 0x2047, 0x20b4,
+ 0x20b5, 0x20ba, 0x20bb, 0x20bb, 0x20bc, 0x20be, 0x20bf, 0x20c2,
+ 0x20c3, 0x20c4, 0x20c5, 0x20c6, 0x20c7, 0x20c7, 0x20c8, 0x20c8,
+ 0x20c9, 0x20ca, 0x20cb, 0x20cf, 0x20d0, 0x20d4, 0x20d5, 0x20de,
+ 0x20df, 0x20e1, 0x20e2, 0x20e6, 0x20e7, 0x20f3, 0x20f4, 0x20f5,
+ 0x20f6, 0x20fb, 0x20fc, 0x2120, 0x2121, 0x2123, 0x2124, 0x212e,
+ 0x212f, 0x2147, 0x2148, 0x2199, 0x219a, 0x22d1, 0x22e7, 0x22f0,
+ 0x22f1, 0x233f, 0x2355, 0x2358, 0x2359, 0x2365, 0x2366, 0x2368,
+ 0x2373, 0x2382, 0x2383, 0x238a, 0x238b, 0x2392, 0x2393, 0x2395,
+ 0x2396, 0x2397, 0x2398, 0x23a9, 0x23aa, 0x23c8, 0x23c9, 0x23ca,
+ 0x23cb, 0x2400, 0x2401, 0x2401, 0x2402, 0x2c3f, 0x2c40, 0x2c41,
+ 0x2c42, 0x2c44, 0x2c45, 0x2c46, 0x2c47, 0x2c60, 0x2c61, 0x2c62,
+ 0x2c63, 0x2c65, 0x2c66, 0x2c69, 0x2c6a, 0x2c6b, 0x2c6c, 0x2c6e,
+ 0x2c6f, 0x2c7c, 0x2c7d, 0x2d87, 0x2da6, 0x2da6, 0x2da7, 0x2dab,
+ 0x2dac, 0x2dad, 0x2dae, 0x2dc3, 0x2dc5, 0x2dcb, 0x2dce, 0x2dd2,
+ 0x2dd9, 0x2ecb, 0x2ecf, 0x2ed5, 0x2ed6, 0x2f46, 0x2f47, 0x3030,
+ 0x3031, 0x303c, 0x303d, 0x303e, 0x303f, 0x3060, 0x3061, 0x3069,
+ 0x306a, 0x306b, 0x306c, 0x306d, 0x306e, 0x30de, 0x30df, 0x3109,
+ 0x310a, 0x3233, 0x3234, 0x32a2, 0x32a3, 0x32ad, 0x32ae, 0x35aa,
+ 0x35ab, 0x35ff, 0x3600, 0x365f, 0x3660, 0x366d, 0x366e, 0x3700,
+ 0x3701, 0x37da, 0x37db, 0x38f9, 0x38fa, 0x396a, 0x396b, 0x3cdf,
+ 0x3ce0, 0x3de7, 0x3de8, 0x3fbe, 0x3fbf, 0x4032, 0x4033, 0x4036,
+ 0x4037, 0x4061, 0x4062, 0x4159, 0x415a, 0x42ce, 0x42cf, 0x42e2,
+ 0x42e3, 0x43a3, 0x43a4, 0x43a8, 0x43a9, 0x43fa, 0x43fb, 0x440a,
+ 0x440b, 0x45c3, 0x45c4, 0x45f5, 0x45f6, 0x45f7, 0x45f8, 0x45fb,
+ 0x45fc, 0x45fc, 0x45fd, 0x4610, 0x4611, 0x4613, 0x4614, 0x4629,
+ 0x462a, 0x48e8, 0x48e9, 0x490f, 0x4910, 0x497e, 0x497f, 0x4a12,
+ 0x4a13, 0x4a19, 0x4abe, 0x8261, 0x9b59, 0x9b84, 0x9b85, 0x9bd0,
+ 0x9bd1, 0x9beb, 0x9bec, 0x9c3c, 0x9c3d, 0x9c45, 0x9c46, 0x9c5f,
+ 0x9c60, 0x9c60, 0x9c61, 0x9c61, 0x9c62, 0x9c64, 0x9c65, 0x9c6a,
+ 0x9c6b, 0x9c6b, 0x9c6c, 0x9c6d, 0x9c6e, 0xa067, 0xa074, 0xa074,
+ 0xa07a, 0xa07a, 0xa080, 0xa10f, 0xa113, 0xa18e, 0xa192, 0xa1a9
+};
+
+static const unsigned short gb18030uni_uni2charset_ranges[368] = {
+ 0x0081, 0x00a3, 0x00a5, 0x00a6, 0x00a9, 0x00af, 0x00b2, 0x00b6,
+ 0x00b8, 0x00d6, 0x00d8, 0x00df, 0x00e2, 0x00e7, 0x00eb, 0x00eb,
+ 0x00ee, 0x00f1, 0x00f4, 0x00f6, 0x00f8, 0x00f8, 0x00fb, 0x00fb,
+ 0x00fd, 0x0100, 0x0102, 0x0112, 0x0114, 0x011a, 0x011c, 0x012a,
+ 0x012c, 0x0143, 0x0145, 0x0147, 0x0149, 0x014c, 0x014e, 0x016a,
+ 0x016c, 0x01cd, 0x01cf, 0x01cf, 0x01d1, 0x01d1, 0x01d3, 0x01d3,
+ 0x01d5, 0x01d5, 0x01d7, 0x01d7, 0x01d9, 0x01d9, 0x01db, 0x01db,
+ 0x01dd, 0x01f8, 0x01fa, 0x0250, 0x0252, 0x0260, 0x0262, 0x02c6,
+ 0x02c8, 0x02c8, 0x02cc, 0x02d8, 0x02da, 0x0390, 0x03aa, 0x03b0,
+ 0x03c2, 0x03c2, 0x03ca, 0x0400, 0x0402, 0x040f, 0x0450, 0x0450,
+ 0x0452, 0x200f, 0x2011, 0x2012, 0x2017, 0x2017, 0x201a, 0x201b,
+ 0x201e, 0x2024, 0x2027, 0x202f, 0x2031, 0x2031, 0x2034, 0x2034,
+ 0x2036, 0x203a, 0x203c, 0x20ab, 0x20ad, 0x2102, 0x2104, 0x2104,
+ 0x2106, 0x2108, 0x210a, 0x2115, 0x2117, 0x2120, 0x2122, 0x215f,
+ 0x216c, 0x216f, 0x217a, 0x2183, 0x2194, 0x2195, 0x219a, 0x2207,
+ 0x2209, 0x220e, 0x2210, 0x2210, 0x2212, 0x2214, 0x2216, 0x2219,
+ 0x221b, 0x221c, 0x2221, 0x2222, 0x2224, 0x2224, 0x2226, 0x2226,
+ 0x222c, 0x222d, 0x222f, 0x2233, 0x2238, 0x223c, 0x223e, 0x2247,
+ 0x2249, 0x224b, 0x224d, 0x2251, 0x2253, 0x225f, 0x2262, 0x2263,
+ 0x2268, 0x226d, 0x2270, 0x2294, 0x2296, 0x2298, 0x229a, 0x22a4,
+ 0x22a6, 0x22be, 0x22c0, 0x2311, 0x2313, 0x244a, 0x246a, 0x2473,
+ 0x249c, 0x24ea, 0x254c, 0x254f, 0x2574, 0x2580, 0x2590, 0x2592,
+ 0x25a2, 0x25b1, 0x25b4, 0x25bb, 0x25be, 0x25c5, 0x25c8, 0x25ca,
+ 0x25cc, 0x25cd, 0x25d0, 0x25e1, 0x25e6, 0x2604, 0x2607, 0x2608,
+ 0x260a, 0x263f, 0x2641, 0x2641, 0x2643, 0x2e80, 0x2e82, 0x2e83,
+ 0x2e85, 0x2e87, 0x2e89, 0x2e8a, 0x2e8d, 0x2ea6, 0x2ea8, 0x2ea9,
+ 0x2eab, 0x2ead, 0x2eaf, 0x2eb2, 0x2eb4, 0x2eb5, 0x2eb8, 0x2eba,
+ 0x2ebc, 0x2ec9, 0x2ecb, 0x2fd5, 0x3004, 0x3004, 0x3018, 0x301c,
+ 0x301f, 0x3020, 0x302a, 0x303f, 0x3094, 0x309a, 0x30f7, 0x30fb,
+ 0x312a, 0x321c, 0x322a, 0x3230, 0x3232, 0x32a2, 0x32a4, 0x338d,
+ 0x3390, 0x339b, 0x339f, 0x33a0, 0x33a2, 0x33c3, 0x33c5, 0x33cd,
+ 0x33cf, 0x33d0, 0x33d3, 0x33d4, 0x33d6, 0x3446, 0x3448, 0x3472,
+ 0x3474, 0x359d, 0x359f, 0x360d, 0x360f, 0x3619, 0x361b, 0x3917,
+ 0x3919, 0x396d, 0x396f, 0x39ce, 0x39d1, 0x39de, 0x39e0, 0x3a72,
+ 0x3a74, 0x3b4d, 0x3b4f, 0x3c6d, 0x3c6f, 0x3cdf, 0x3ce1, 0x4055,
+ 0x4057, 0x415e, 0x4160, 0x4336, 0x4338, 0x43ab, 0x43ad, 0x43b0,
+ 0x43b2, 0x43dc, 0x43de, 0x44d5, 0x44d7, 0x464b, 0x464d, 0x4660,
+ 0x4662, 0x4722, 0x4724, 0x4728, 0x472a, 0x477b, 0x477d, 0x478c,
+ 0x478e, 0x4946, 0x4948, 0x4979, 0x497b, 0x497c, 0x497e, 0x4981,
+ 0x4984, 0x4984, 0x4987, 0x499a, 0x499c, 0x499e, 0x49a0, 0x49b5,
+ 0x49b8, 0x4c76, 0x4c78, 0x4c9e, 0x4ca4, 0x4d12, 0x4d1a, 0x4dad,
+ 0x4daf, 0x4db5, 0xa000, 0xd7a3, 0xf900, 0xf92b, 0xf92d, 0xf978,
+ 0xf97a, 0xf994, 0xf996, 0xf9e6, 0xf9e8, 0xf9f0, 0xf9f2, 0xfa0b,
+ 0xfa10, 0xfa10, 0xfa12, 0xfa12, 0xfa15, 0xfa17, 0xfa19, 0xfa1e,
+ 0xfa22, 0xfa22, 0xfa25, 0xfa26, 0xfa2a, 0xfe23, 0xfe32, 0xfe32,
+ 0xfe58, 0xfe58, 0xfe70, 0xfeff, 0xff61, 0xffdc, 0xffe6, 0xfffd
+};
+
+static const struct { unsigned short diff; unsigned short bitmap_offset; } gb18030uni_ranges[184] = {
+ { 129, 0x0000 }, { 130, 0x0023 }, { 132, 0x0025 }, { 134, 0x002c },
+ { 135, 0x0031 }, { 136, 0x0050 }, { 138, 0x0058 }, { 141, 0x005e },
+ { 143, 0x005f }, { 145, 0x0063 }, { 146, 0x0066 }, { 148, 0x0067 },
+ { 149, 0x0068 }, { 150, 0x006c }, { 151, 0x007d }, { 152, 0x0084 },
+ { 153, 0x0093 }, { 154, 0x00ab }, { 155, 0x00ae }, { 156, 0x00b2 },
+ { 157, 0x00cf }, { 158, 0x0131 }, { 159, 0x0132 }, { 160, 0x0133 },
+ { 161, 0x0134 }, { 162, 0x0135 }, { 163, 0x0136 }, { 164, 0x0137 },
+ { 165, 0x0138 }, { 166, 0x0154 }, { 167, 0x01ab }, { 168, 0x01ba },
+ { 169, 0x021f }, { 172, 0x0220 }, { 173, 0x022d }, { 197, 0x02e4 },
+ { 214, 0x02eb }, { 221, 0x02ec }, { 222, 0x0323 }, { 286, 0x0331 },
+ { 287, 0x0332 }, { 288, 0x1ef0 }, { 292, 0x1ef2 }, { 294, 0x1ef3 },
+ { 296, 0x1ef5 }, { 298, 0x1efc }, { 299, 0x1f05 }, { 301, 0x1f06 },
+ { 302, 0x1f07 }, { 303, 0x1f0c }, { 304, 0x1f7c }, { 305, 0x1fd2 },
+ { 306, 0x1fd3 }, { 307, 0x1fd6 }, { 308, 0x1fe2 }, { 309, 0x1fec },
+ { 321, 0x202a }, { 331, 0x202e }, { 335, 0x2038 }, { 339, 0x203a },
+ { 340, 0x20a8 }, { 341, 0x20ae }, { 342, 0x20af }, { 343, 0x20b2 },
+ { 344, 0x20b6 }, { 348, 0x20b8 }, { 349, 0x20ba }, { 350, 0x20bb },
+ { 355, 0x20bc }, { 356, 0x20be }, { 360, 0x20c3 }, { 361, 0x20c8 },
+ { 362, 0x20d2 }, { 363, 0x20d5 }, { 364, 0x20da }, { 366, 0x20e7 },
+ { 370, 0x20e9 }, { 372, 0x20ef }, { 373, 0x2114 }, { 374, 0x2117 },
+ { 375, 0x2122 }, { 376, 0x213b }, { 377, 0x218d }, { 387, 0x22c5 },
+ { 427, 0x22cf }, { 503, 0x231e }, { 539, 0x2322 }, { 554, 0x232f },
+ { 559, 0x2332 }, { 561, 0x2342 }, { 563, 0x234a }, { 565, 0x2352 },
+ { 566, 0x2355 }, { 568, 0x2357 }, { 572, 0x2369 }, { 574, 0x2388 },
+ { 575, 0x238a }, { 576, 0x23c0 }, { 577, 0x23c1 }, { 578, 0x2bff },
+ { 579, 0x2c01 }, { 580, 0x2c04 }, { 582, 0x2c06 }, { 583, 0x2c20 },
+ { 584, 0x2c22 }, { 585, 0x2c25 }, { 586, 0x2c29 }, { 588, 0x2c2b },
+ { 589, 0x2c2e }, { 590, 0x2c3c }, { 606, 0x2d47 }, { 625, 0x2d48 },
+ { 627, 0x2d4d }, { 636, 0x2d4f }, { 719, 0x2d65 }, { 809, 0x2d6c },
+ { 849, 0x2d71 }, { 859, 0x2e64 }, { 860, 0x2e6b }, { 861, 0x2edc },
+ { 863, 0x2fc6 }, { 866, 0x2fd2 }, { 867, 0x2fd4 }, { 868, 0x2ff6 },
+ { 869, 0x2fff }, { 871, 0x3001 }, { 872, 0x3003 }, { 873, 0x3074 },
+ { 874, 0x309f }, { 875, 0x31c9 }, { 876, 0x3238 }, { 877, 0x3243 },
+ { 878, 0x3540 }, { 879, 0x3595 }, { 881, 0x35f5 }, { 882, 0x3603 },
+ { 883, 0x3696 }, { 884, 0x3770 }, { 885, 0x388f }, { 886, 0x3900 },
+ { 887, 0x3c75 }, { 888, 0x3d7d }, { 889, 0x3f54 }, { 890, 0x3fc8 },
+ { 891, 0x3fcc }, { 892, 0x3ff7 }, { 893, 0x40ef }, { 894, 0x4264 },
+ { 895, 0x4278 }, { 896, 0x4339 }, { 897, 0x433e }, { 898, 0x4390 },
+ { 899, 0x43a0 }, { 900, 0x4559 }, { 901, 0x458b }, { 902, 0x458d },
+ { 904, 0x4591 }, { 906, 0x4592 }, { 907, 0x45a6 }, { 908, 0x45a9 },
+ { 910, 0x45bf }, { 911, 0x487e }, { 916, 0x48a5 }, { 923, 0x4914 },
+ { 924, 0x49a8 }, { 21826, 0x49af }, { 23975, 0x8153 }, { 23976, 0x817f },
+ { 23977, 0x81cb }, { 23978, 0x81e6 }, { 23979, 0x8237 }, { 23980, 0x8240 },
+ { 23984, 0x825a }, { 23985, 0x825b }, { 23987, 0x825c }, { 23988, 0x825f },
+ { 23991, 0x8265 }, { 23993, 0x8266 }, { 23996, 0x8268 }, { 23998, 0x8662 },
+ { 24030, 0x8663 }, { 24048, 0x8664 }, { 24142, 0x86f4 }, { 24148, 0x8770 }
+};
+
+static const unsigned char gb18030uni_bitmap[4337] = {
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3,
+ 0xff, 0x3f, 0x00, 0x00, 0x00, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x03, 0x00, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x03, 0x00, 0x38, 0x00, 0x80, 0x21, 0x82, 0xbf, 0xfe, 0xff, 0xfd, 0xf3,
+ 0xff, 0xff, 0x3f, 0x00, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x7f, 0xf3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9f, 0x19, 0xff, 0xff,
+ 0xff, 0xff, 0x3f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xff,
+ 0xff, 0xff, 0x7f, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x06, 0xfe, 0xff,
+ 0xfb, 0xff, 0xff, 0xfb, 0x1f, 0x00, 0xff, 0xff, 0xff, 0x07, 0x1f, 0x00,
+ 0x00, 0x10, 0x00, 0x88, 0xfe, 0xff, 0xff, 0x07, 0xff, 0xff, 0x3f, 0x00,
+ 0xff, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0xff, 0x7f, 0xff, 0xbf, 0xff, 0xff,
+ 0xff, 0x1f, 0xff, 0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xee, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xff, 0x3f, 0x1f, 0xff,
+ 0xff, 0xff, 0x01, 0x00, 0xee, 0x9f, 0xf9, 0xff, 0xff, 0xfd, 0xc5, 0xd3,
+ 0x9f, 0x39, 0x80, 0xb0, 0xcf, 0xff, 0xff, 0x07, 0xe4, 0x87, 0xf9, 0xff,
+ 0xff, 0xfd, 0x6d, 0xd3, 0x87, 0x39, 0x00, 0x5e, 0xc0, 0xff, 0x1f, 0x00,
+ 0xee, 0xaf, 0xfb, 0xff, 0xff, 0xfd, 0xed, 0xf3, 0xbf, 0x3b, 0x01, 0x00,
+ 0xc1, 0xff, 0x00, 0x00, 0xee, 0x9f, 0xf9, 0xff, 0xff, 0xfd, 0xcd, 0xf3,
+ 0x8f, 0x39, 0xc0, 0xb0, 0xc3, 0xff, 0x01, 0x00, 0xec, 0xc7, 0x3d, 0xd6,
+ 0x18, 0xc7, 0xbf, 0xc3, 0xc7, 0x3d, 0x80, 0x00, 0x80, 0xff, 0x07, 0x00,
+ 0xee, 0xdf, 0xfd, 0xff, 0xff, 0xfd, 0xef, 0xc3, 0xdf, 0x3d, 0x60, 0x00,
+ 0xc3, 0xff, 0x00, 0x00, 0xec, 0xdf, 0xfd, 0xff, 0xff, 0xfd, 0xef, 0xc3,
+ 0xdf, 0x3d, 0x60, 0x40, 0xc3, 0xff, 0x00, 0x00, 0xec, 0xdf, 0xfd, 0xff,
+ 0xff, 0xfd, 0xff, 0xc3, 0xcf, 0x3d, 0x80, 0x00, 0xc3, 0xff, 0x00, 0x00,
+ 0xec, 0xff, 0x7f, 0xfc, 0xff, 0xff, 0xfb, 0x2f, 0x7f, 0x84, 0x5f, 0xff,
+ 0x00, 0x00, 0x1c, 0x00, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x87,
+ 0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x96, 0x25, 0xf0, 0xfe,
+ 0xae, 0xec, 0xff, 0x3b, 0x5f, 0x3f, 0xff, 0x33, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff,
+ 0xff, 0x07, 0xfe, 0xff, 0xff, 0x0f, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xdf,
+ 0xff, 0x9f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
+ 0xfb, 0xf6, 0xc7, 0x03, 0xff, 0xff, 0xff, 0x03, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x00, 0xff, 0xff,
+ 0xff, 0xff, 0x7f, 0x08, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0x83, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x03,
+ 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3d, 0x7f, 0x3d,
+ 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3d, 0xff, 0xff, 0xff, 0x7f, 0x3d, 0x7f,
+ 0x3d, 0x7f, 0x7f, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0x7f, 0x3d, 0x7f,
+ 0xff, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0x07, 0xfe, 0xff, 0xff, 0x1f,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0x1f, 0x00, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x00,
+ 0xff, 0xff, 0xff, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0xff, 0x03, 0x00, 0x00,
+ 0xff, 0x7f, 0xff, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x03, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x03, 0xff, 0xff, 0x3f, 0x3f,
+ 0xff, 0xff, 0xff, 0xff, 0x3f, 0x3f, 0xff, 0xaa, 0xff, 0xff, 0xff, 0x3f,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xff, 0xdf, 0xff, 0xcf, 0xef,
+ 0xff, 0xff, 0xdc, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f,
+ 0x00, 0x00, 0x00, 0xfc, 0xf1, 0xff, 0xff, 0x7f, 0x00, 0x00, 0xff, 0x7f,
+ 0x00, 0x00, 0x00, 0x80, 0xff, 0xff, 0x07, 0x00, 0x00, 0x80, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x1f, 0x00, 0x00, 0xe0, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0x1f, 0x00, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0xff, 0xff, 0xff, 0x1f, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc,
+ 0xff, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0xfc, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x07, 0xf8, 0xff, 0x0f, 0xfe,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x80, 0xf7, 0xfc, 0xff, 0xff, 0xbf, 0xff, 0xff, 0xff,
+ 0xff, 0xeb, 0xd1, 0x9f, 0x3f, 0x00, 0xf0, 0xff, 0xff, 0xff, 0xc7, 0xff,
+ 0xff, 0xbf, 0xff, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xc0, 0xff, 0xff, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x1f, 0x00, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x38, 0xfc, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xbf, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f,
+ 0x00, 0x00, 0x00, 0xfe, 0xff, 0xff, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0x01, 0x00, 0xff, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0x7f, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xe7, 0xff, 0xff, 0xff, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x8f, 0xff, 0xff, 0xf9, 0xff,
+ 0xf7, 0xff, 0x2e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0,
+ 0x1f, 0x00, 0x3e, 0xf8, 0xff, 0xff, 0xdf, 0xd7, 0xf6, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
+ 0x00, 0x00, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f,
+ 0x00, 0xc0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x3f, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0x03,
+ 0x00, 0x00, 0x00, 0xc0, 0x7f, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe3, 0xe7,
+ 0xe7, 0xe7, 0xfd, 0x01, 0xf8
+};
+
+static int
+gb18030uni_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
+{
+ unsigned char c1 = s[0];
+ if (c1 >= 0x81 && c1 <= 0x84) {
+ if (n >= 2) {
+ unsigned char c2 = s[1];
+ if (c2 >= 0x30 && c2 <= 0x39) {
+ if (n >= 3) {
+ unsigned char c3 = s[2];
+ if (c3 >= 0x81 && c3 <= 0xfe) {
+ if (n >= 4) {
+ unsigned char c4 = s[3];
+ if (c4 >= 0x30 && c4 <= 0x39) {
+ unsigned int i = (((c1 - 0x81) * 10 + (c2 - 0x30)) * 126 + (c3 - 0x81)) * 10 + (c4 - 0x30);
+ if (i >= 0 && i <= 41385) {
+ unsigned int k1 = 0;
+ unsigned int k2 = 183;
+ while (k1 < k2) {
+ unsigned int k = (k1 + k2) / 2;
+ if (i <= gb18030uni_charset2uni_ranges[2*k+1])
+ k2 = k;
+ else if (i >= gb18030uni_charset2uni_ranges[2*k+2])
+ k1 = k + 1;
+ else
+ return RET_ILSEQ;
+ }
+ {
+ unsigned int bitmap_index = i - gb18030uni_charset2uni_ranges[2*k1] + gb18030uni_ranges[k1].bitmap_offset;
+ if ((gb18030uni_bitmap[bitmap_index >> 3] >> (bitmap_index & 7)) & 1) {
+ unsigned int diff = gb18030uni_ranges[k1].diff;
+ *pwc = (ucs4_t) (i + diff);
+ return 4;
+ }
+ }
+ }
+ }
+ return RET_ILSEQ;
+ }
+ return RET_TOOFEW(0);
+ }
+ return RET_ILSEQ;
+ }
+ return RET_TOOFEW(0);
+ }
+ return RET_ILSEQ;
+ }
+ return RET_TOOFEW(0);
+ }
+ return RET_ILSEQ;
+}
+
+static int
+gb18030uni_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
+{
+ if (n >= 4) {
+ unsigned int i = wc;
+ if (i >= 0x0081 && i <= 0xfffd) {
+ unsigned int k1 = 0;
+ unsigned int k2 = 183;
+ while (k1 < k2) {
+ unsigned int k = (k1 + k2) / 2;
+ if (i <= gb18030uni_uni2charset_ranges[2*k+1])
+ k2 = k;
+ else if (i >= gb18030uni_uni2charset_ranges[2*k+2])
+ k1 = k + 1;
+ else
+ return RET_ILSEQ;
+ }
+ {
+ unsigned int bitmap_index = i - gb18030uni_uni2charset_ranges[2*k1] + gb18030uni_ranges[k1].bitmap_offset;
+ if ((gb18030uni_bitmap[bitmap_index >> 3] >> (bitmap_index & 7)) & 1) {
+ unsigned int diff = gb18030uni_ranges[k1].diff;
+ i -= diff;
+ r[3] = (i % 10) + 0x30; i = i / 10;
+ r[2] = (i % 126) + 0x81; i = i / 126;
+ r[1] = (i % 10) + 0x30; i = i / 10;
+ r[0] = i + 0x81;
+ return 4;
+ }
+ }
+ }
+ return RET_ILSEQ;
+ }
+ return RET_TOOSMALL;
+}
};
static int
-gb2312_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+gb2312_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c1 = s[0];
if ((c1 >= 0x21 && c1 <= 0x29) || (c1 >= 0x30 && c1 <= 0x77)) {
wc = gb2312_2uni_page30[i-1410];
}
if (wc != 0xfffd) {
- *pwc = (wchar_t) wc;
+ *pwc = (ucs4_t) wc;
return 2;
}
}
};
static int
-gb2312_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+gb2312_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
if (n >= 2) {
const Summary16 *summary = NULL;
#include "cp936ext.h"
static int
-gbk_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+gbk_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c = *s;
}
static int
-gbk_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+gbk_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
unsigned char buf[2];
int ret;
};
static int
-gbkext1_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+gbkext1_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c1 = s[0];
if ((c1 >= 0x81 && c1 <= 0xa0)) {
wc = gbkext1_2uni_page81[i];
}
if (wc != 0xfffd) {
- *pwc = (wchar_t) wc;
+ *pwc = (ucs4_t) wc;
return 2;
}
}
};
static int
-gbkext2_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+gbkext2_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c1 = s[0];
if ((c1 >= 0xa8 && c1 <= 0xfe)) {
wc = gbkext2_2uni_pagea8[i-3744];
}
if (wc != 0xfffd) {
- *pwc = (wchar_t) wc;
+ *pwc = (ucs4_t) wc;
return 2;
}
}
};
static int
-gbkext_inv_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+gbkext_inv_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
if (n >= 2) {
const Summary16 *summary = NULL;
};
static int
-georgian_academy_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+georgian_academy_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c = *s;
if (c >= 0x80 && c < 0xa0)
- *pwc = (wchar_t) georgian_academy_2uni[c-0x80];
+ *pwc = (ucs4_t) georgian_academy_2uni[c-0x80];
else if (c >= 0xc0 && c < 0xe7)
- *pwc = (wchar_t) c + 0x1010;
+ *pwc = (ucs4_t) c + 0x1010;
else
- *pwc = (wchar_t) c;
+ *pwc = (ucs4_t) c;
return 1;
}
};
static int
-georgian_academy_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+georgian_academy_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
unsigned char c = 0;
if (wc < 0x0080) {
};
static int
-georgian_ps_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+georgian_ps_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c = *s;
if (c >= 0x80 && c < 0xa0)
- *pwc = (wchar_t) georgian_ps_2uni_1[c-0x80];
+ *pwc = (ucs4_t) georgian_ps_2uni_1[c-0x80];
else if (c >= 0xc0 && c < 0xe6)
- *pwc = (wchar_t) georgian_ps_2uni_2[c-0xc0];
+ *pwc = (ucs4_t) georgian_ps_2uni_2[c-0xc0];
else
- *pwc = (wchar_t) c;
+ *pwc = (ucs4_t) c;
return 1;
}
};
static int
-georgian_ps_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+georgian_ps_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
unsigned char c = 0;
if (wc < 0x0080) {
--- /dev/null
+
+/*
+ * HKSCS
+ */
+
+static const unsigned short hkscs_2uni_page88[627] = {
+ /* 0x88 */
+ 0xf303, 0xf304, 0xf305, 0xf306, 0xf307, 0xf308, 0xf309, 0xf30a,
+ 0xf30b, 0xf30c, 0xf30d, 0xf30e, 0xf30f, 0xf310, 0xf311, 0xf312,
+ 0xf313, 0xf314, 0xf315, 0xf316, 0xf317, 0xf318, 0x0100, 0x00c1,
+ 0x01cd, 0x00c0, 0x0112, 0x00c9, 0x011a, 0x00c8, 0x014c, 0x00d3,
+ 0x01d1, 0x00d2, 0xf325, 0x1ebe, 0xf327, 0x1ec0, 0x00ca, 0x0101,
+ 0x00e1, 0x01ce, 0x00e0, 0x0251, 0x0113, 0x00e9, 0x011b, 0x00e8,
+ 0x012b, 0x00ed, 0x01d0, 0x00ec, 0x014d, 0x00f3, 0x01d2, 0x00f2,
+ 0x016b, 0x00fa, 0x01d4, 0x00f9, 0x01d6, 0x01d8, 0x01da, 0x01dc,
+ 0x00fc, 0xf344, 0x1ebf, 0xf346, 0x1ec1, 0x00ea, 0x0261, 0xf34a,
+ 0xf34b, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd,
+ 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd,
+ 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd,
+ 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd,
+ 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd,
+ 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd,
+ 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd,
+ 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd,
+ 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd,
+ 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd,
+ 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd,
+ /* 0x89 */
+ 0xf3a0, 0xf3a1, 0xfffd, 0x650a, 0xfffd, 0xfffd, 0x4e3d, 0x6edd,
+ 0x9d4e, 0x91df, 0xfffd, 0xfffd, 0xf3ac, 0x6491, 0x4f1a, 0x4f28,
+ 0x4fa8, 0x5156, 0x5174, 0x519c, 0x51e4, 0x52a1, 0x52a8, 0x533b,
+ 0x534e, 0x53d1, 0x53d8, 0x56e2, 0x58f0, 0x5904, 0x5907, 0x5932,
+ 0x5934, 0x5b66, 0x5b9e, 0x5b9f, 0x5c9a, 0x5e86, 0x603b, 0x6589,
+ 0x67fe, 0x6804, 0x6865, 0x6d4e, 0x70bc, 0x7535, 0x7ea4, 0x7eac,
+ 0x7eba, 0x7ec7, 0x7ecf, 0x7edf, 0x7f06, 0x7f37, 0x827a, 0x82cf,
+ 0x836f, 0x89c6, 0x8bbe, 0x8be2, 0x8f66, 0x8f67, 0x8f6e, 0x7411,
+ 0x7cfc, 0x7dcd, 0x6946, 0x7ac9, 0x5227, 0xfffd, 0xfffd, 0xfffd,
+ 0xfffd, 0x918c, 0x78b8, 0x915e, 0x80bc, 0xfffd, 0x8d0b, 0x80f6,
+ 0xf3f0, 0xfffd, 0xfffd, 0x809f, 0x9ec7, 0x4ccd, 0x9dc9, 0x9e0c,
+ 0x4c3e, 0xf3f9, 0xf3fa, 0x9e0a, 0xf3fc, 0x35c1, 0xfffd, 0x6e9a,
+ 0x823e, 0x7519, 0xfffd, 0x4911, 0x9a6c, 0x9a8f, 0x9f99, 0x7987,
+ 0xf408, 0xf409, 0xf40a, 0xf40b, 0x4e24, 0x4e81, 0x4e80, 0x4e87,
+ 0x4ebf, 0x4eeb, 0x4f37, 0x344c, 0x4fbd, 0x3e48, 0x5003, 0x5088,
+ 0x347d, 0x3493, 0x34a5, 0x5186, 0x5905, 0x51db, 0x51fc, 0x5205,
+ 0x4e89, 0x5279, 0x5290, 0x5327, 0x35c7, 0x53a9, 0x3551, 0x53b0,
+ 0x3553, 0x53c2, 0x5423, 0x356d, 0x3572, 0x3681, 0x5493, 0x54a3,
+ 0x54b4, 0x54b9, 0x54d0, 0x54ef, 0x5518, 0x5523, 0x5528, 0x3598,
+ 0x553f, 0x35a5, 0x35bf, 0x55d7, 0x35c5,
+ /* 0x8a */
+ 0xf43d, 0x5525, 0xfffd, 0xf440, 0xf441, 0xf442, 0x5590, 0xf444,
+ 0x39ec, 0xf446, 0x8e46, 0xf448, 0xf449, 0x4053, 0xf44b, 0x777a,
+ 0xf44d, 0x3a34, 0x47d5, 0xf450, 0xf451, 0xf452, 0x64dd, 0xf454,
+ 0xf455, 0xf456, 0xf457, 0x648d, 0x8e7e, 0xf45a, 0xf45b, 0xf45c,
+ 0xf45d, 0xf45e, 0xf45f, 0xfffd, 0xf461, 0xf462, 0xf463, 0x47f4,
+ 0xf465, 0xf466, 0x9ab2, 0x3a67, 0xf469, 0x3fed, 0x3506, 0xf46c,
+ 0xf46d, 0xf46e, 0xf46f, 0x9d6e, 0x9815, 0xfffd, 0x43d9, 0xf474,
+ 0x64b4, 0x54e3, 0xf477, 0xf478, 0xf479, 0x39fb, 0xf47b, 0xf47c,
+ 0xf47d, 0xf47e, 0x64ea, 0xf480, 0xf481, 0x8e68, 0xf483, 0xf484,
+ 0xf485, 0xfffd, 0x480b, 0xf488, 0x3ffa, 0x5873, 0xf48b, 0xfffd,
+ 0xf48d, 0xf48e, 0xf48f, 0xf490, 0xf491, 0x5579, 0x40bb, 0x43ba,
+ 0xfffd, 0x4ab4, 0xf497, 0xf498, 0x81aa, 0x98f5, 0xf49b, 0x6379,
+ 0x39fe, 0xf49e, 0x8dc0, 0x56a1, 0x647c, 0x3e43, 0xfffd, 0xf4a4,
+ 0xf4a5, 0xf4a6, 0xf4a7, 0xfffd, 0xf4a9, 0xf4aa, 0x3992, 0x3a06,
+ 0xf4ad, 0x3578, 0xf4af, 0xf4b0, 0x5652, 0xf4b2, 0xf4b3, 0xf4b4,
+ 0x34bc, 0x6c3d, 0xf4b7, 0xfffd, 0xfffd, 0xf4ba, 0xf4bb, 0xf4bc,
+ 0xf4bd, 0xf4be, 0xf4bf, 0xf4c0, 0xf4c1, 0x7f93, 0xf4c3, 0xf4c4,
+ 0xf4c5, 0x35fb, 0xf4c7, 0xf4c8, 0xf4c9, 0xf4ca, 0x3f93, 0xf4cc,
+ 0xf4cd, 0xf4ce, 0xf4cf, 0xfffd, 0xf4d1, 0xf4d2, 0xf4d3, 0xf4d4,
+ 0xf4d5, 0x3ff9, 0xf4d7, 0x6432, 0xf4d9,
+ /* 0x8b */
+ 0xf4da, 0xf4db, 0xf4dc, 0xf4dd, 0xf4de, 0xf4df, 0xf4e0, 0x3a18,
+ 0xf4e2, 0xf4e3, 0xf4e4, 0xf4e5, 0xf4e6, 0xf4e7, 0xf4e8, 0xf4e9,
+ 0x95aa, 0x54cc, 0x82c4, 0x55b9, 0xfffd, 0xf4ef, 0x9c26, 0x9ab6,
+ 0xf4f2, 0xf4f3, 0x7140, 0x816d, 0x80ec, 0x5c1c, 0xf4f8, 0x8134,
+ 0x3797, 0x535f, 0xf4fc, 0x91b6, 0xf4fe, 0xf4ff, 0xf500, 0xf501,
+ 0x35dd, 0xf503, 0x3609, 0xf505, 0x56af, 0xf507, 0xf508, 0xf509,
+ 0xf50a, 0xf50b, 0xf50c, 0xf50d, 0xf50e, 0xf50f, 0xf510, 0xf511,
+ 0x5a54, 0xf513, 0xf514, 0xf515, 0xf516, 0x579c, 0xf518, 0xf519,
+ 0xf51a, 0xf51b, 0xf51c, 0xf51d, 0x3703, 0xf51f, 0xf520, 0xf521,
+ 0xf522, 0xf523, 0xf524, 0xf525, 0xf526, 0x5899, 0x5268, 0x361a,
+ 0xf52a, 0x7bb2, 0x5b68, 0x4800, 0x4b2c, 0x9f27, 0x49e7, 0x9c1f,
+ 0x9b8d, 0xf533, 0xf534, 0x55fb, 0x35f2, 0x5689, 0x4e28, 0x5902,
+ 0xf53a, 0xf53b, 0x9751, 0xf53d, 0x4e5b, 0x4ebb, 0x353e, 0x5c23,
+ 0x5f51, 0x5fc4, 0x38fa, 0x624c, 0x6535, 0x6b7a, 0x6c35, 0x6c3a,
+ 0x706c, 0x722b, 0x4e2c, 0x72ad, 0xf54e, 0x7f52, 0x793b, 0x7cf9,
+ 0x7f53, 0xf553, 0x34c1, 0xfffd, 0xf556, 0x8002, 0x8080, 0xf559,
+ 0xf55a, 0x535d, 0x8864, 0x89c1, 0xf55e, 0x8ba0, 0x8d1d, 0x9485,
+ 0x9578, 0x957f, 0x95e8, 0xf565, 0x97e6, 0x9875, 0x98ce, 0x98de,
+ 0x9963, 0xf56b, 0x9c7c, 0x9e1f, 0x9ec4, 0x6b6f, 0x9f9c, 0x4e37,
+ 0xf572, 0x961d, 0x6237, 0x94a2,
+};
+static const unsigned short hkscs_2uni_page8d[3140] = {
+ /* 0x8d */
+ 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd,
+ 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd,
+ 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd,
+ 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd,
+ 0x5d3e, 0x5d48, 0x5d56, 0x3dfc, 0x380f, 0x5da4, 0x5db9, 0x3820,
+ 0x3838, 0x5e42, 0x5ebd, 0x5f25, 0x5f83, 0x3908, 0x3914, 0x393f,
+ 0x394d, 0x60d7, 0x613d, 0x5ce5, 0x3989, 0x61b7, 0x61b9, 0x61cf,
+ 0x39b8, 0x622c, 0x6290, 0x62e5, 0x6318, 0x39f8, 0x56b1, 0x3a03,
+ 0x63e2, 0x63fb, 0x6407, 0x645a, 0x3a4b, 0x64c0, 0x5d15, 0x5621,
+ 0x9f9f, 0x3a97, 0x6586, 0x3abd, 0x65ff, 0x6653, 0x3af2, 0x6692,
+ 0x3b22, 0x6716, 0x3b42, 0x67a4, 0x6800, 0x3b58, 0x684a, 0x6884,
+ 0x3b72, 0x3b71, 0x3b7b, 0x6909, 0x6943, 0x725c, 0x6964, 0x699f,
+ 0x6985, 0x3bbc, 0x69d6, 0x3bdd, 0x6a65, 0x6a74, 0x6a71, 0x6a82,
+ 0x3bec, 0x6a99, 0x3bf2, 0x6aab, 0x6ab5, 0x6ad4, 0x6af6, 0x6b81,
+ 0x6bc1, 0x6bea, 0x6c75, 0x6caa, 0x3ccb, 0x6d02, 0x6d06, 0x6d26,
+ 0x6d81, 0x3cef, 0x6da4, 0x6db1, 0x6e15, 0x6e18, 0x6e29, 0x6e86,
+ 0xf694, 0x6ebb, 0x6ee2, 0x6eda, 0x9f7f, 0x6ee8, 0x6ee9, 0x6f24,
+ 0x6f34, 0x3d46, 0xf69e, 0x6f81, 0x6fbe, 0x3d6a, 0x3d75, 0x71b7,
+ 0x5c99, 0x3d8a, 0x702c, 0x3d91, 0x7050, 0x7054, 0x706f, 0x707f,
+ 0x7089, 0xf6ad, 0x43c1, 0x35f1, 0xf6b0,
+ /* 0x8e */
+ 0xe311, 0x57be, 0xe313, 0x713e, 0xe315, 0x364e, 0x69a2, 0xe318,
+ 0x5b74, 0x7a49, 0xe31b, 0xe31c, 0x7a65, 0x7a7d, 0xe31f, 0x7abb,
+ 0x7ab0, 0x7ac2, 0x7ac3, 0x71d1, 0xe325, 0x41ca, 0x7ada, 0x7add,
+ 0x7aea, 0x41ef, 0x54b2, 0xe32c, 0x7b0b, 0x7b55, 0x7b29, 0xe330,
+ 0xe331, 0x7ba2, 0x7b6f, 0x839c, 0xe335, 0xe336, 0x7bd0, 0x8421,
+ 0x7b92, 0xfffd, 0xe33b, 0x3dad, 0xe33d, 0x8492, 0x7bfa, 0xfffd,
+ 0x7c35, 0xe342, 0x7c44, 0x7c83, 0xe345, 0x7ca6, 0x667d, 0xe348,
+ 0x7cc9, 0x7cc7, 0x7ce6, 0x7c74, 0x7cf3, 0x7cf5, 0xfffd, 0x7e67,
+ 0x451d, 0xe352, 0x7d5d, 0xe354, 0x748d, 0x7d89, 0x7dab, 0x7135,
+ 0x7db3, 0xfffd, 0xe35b, 0xe35c, 0x7de4, 0x3d13, 0x7df5, 0xe360,
+ 0x7de5, 0xe362, 0xfffd, 0xe364, 0xe365, 0x7e6e, 0x7e92, 0x432b,
+ 0x946c, 0x7e27, 0x7f40, 0x7f41, 0x7f47, 0x7936, 0xe36f, 0x99e1,
+ 0x7f97, 0xe372, 0x7fa3, 0xe374, 0xe375, 0x455c, 0xe377, 0x4503,
+ 0xe379, 0x7ffa, 0xe37b, 0xfffd, 0x8008, 0x801d, 0xfffd, 0x802f,
+ 0xe381, 0xe382, 0x803b, 0x803c, 0x8061, 0xe386, 0x4989, 0xe388,
+ 0xe389, 0xe38a, 0x6725, 0x80a7, 0xe38d, 0x8107, 0x811a, 0x58b0,
+ 0xe391, 0x6c7f, 0xe393, 0xe394, 0x64e7, 0xe396, 0x8218, 0xe398,
+ 0x6a53, 0xe39a, 0xe39b, 0x447a, 0x8229, 0xe39e, 0xe39f, 0xe3a0,
+ 0x4ff9, 0xe3a2, 0x84e2, 0x8362, 0xe3a5, 0xe3a6, 0xe3a7, 0xe3a8,
+ 0xe3a9, 0x82aa, 0x691b, 0xe3ac, 0x41db,
+ /* 0x8f */
+ 0x854b, 0x82d0, 0x831a, 0xe3b1, 0xe3b2, 0x36c1, 0xe3b4, 0xe3b5,
+ 0x827b, 0x82e2, 0x8318, 0xe3b9, 0xe3ba, 0xe3bb, 0xe3bc, 0xe3bd,
+ 0x3dbf, 0x831d, 0x55ec, 0x8385, 0x450b, 0xe3c3, 0x83ac, 0xfffd,
+ 0x83d3, 0x347e, 0xe3c8, 0x6a57, 0x855a, 0x3496, 0xe3cc, 0xe3cd,
+ 0x8458, 0xe3cf, 0x8471, 0x3dd3, 0x44e4, 0x6aa7, 0x844a, 0xe3d5,
+ 0x7958, 0xfffd, 0xe3d8, 0xe3d9, 0xe3da, 0x84de, 0xfffd, 0x8391,
+ 0x44a0, 0x8493, 0x84e4, 0xe3e1, 0x4240, 0xe3e3, 0x4543, 0x8534,
+ 0x5af2, 0xe3e7, 0x4527, 0x8573, 0x4516, 0x67bf, 0x8616, 0xe3ed,
+ 0xe3ee, 0x85c1, 0xe3f0, 0x8602, 0xe3f2, 0xe3f3, 0xe3f4, 0x456a,
+ 0x8628, 0x3648, 0xe3f8, 0x53f7, 0xe3fa, 0x867e, 0x8771, 0xe3fd,
+ 0x87ee, 0xe3ff, 0x87b1, 0x87da, 0x880f, 0x5661, 0x866c, 0x6856,
+ 0x460f, 0x8845, 0x8846, 0xe409, 0xe40a, 0xe40b, 0x885e, 0x889c,
+ 0x465b, 0x88b4, 0x88b5, 0x63c1, 0x88c5, 0x7777, 0xe414, 0x8987,
+ 0x898a, 0xfffd, 0xfffd, 0x89a7, 0x89bc, 0xe41b, 0x89e7, 0xe41d,
+ 0xe41e, 0x8a9c, 0x7793, 0x91fe, 0x8a90, 0xe423, 0x7ae9, 0xe425,
+ 0xe426, 0x4713, 0xe428, 0x717c, 0x8b0c, 0x8b1f, 0xe42c, 0xe42d,
+ 0x8b3f, 0x8b4c, 0x8b4d, 0x8aa9, 0xe432, 0x8b90, 0x8b9b, 0x8aaf,
+ 0xe436, 0x4615, 0x884f, 0x8c9b, 0xe43a, 0xe43b, 0xe43c, 0x3725,
+ 0xe43e, 0x8cd6, 0xe440, 0xe441, 0x8d12, 0x8d03, 0xe444, 0x8cdb,
+ 0x705c, 0x8d11, 0xe448, 0x3ed0, 0xfffd,
+ /* 0x90 */
+ 0x8da9, 0xe44c, 0xe44d, 0xe44e, 0x3b7c, 0xe450, 0xe451, 0x7ae7,
+ 0x8ead, 0x8eb6, 0x8ec3, 0x92d4, 0x8f19, 0x8f2d, 0xe459, 0xe45a,
+ 0x8fa5, 0x9303, 0xe45d, 0xe45e, 0x8fb3, 0x492a, 0xe461, 0xe462,
+ 0xe463, 0x5ef8, 0xe465, 0x8ff9, 0xe467, 0xe468, 0xe469, 0xe46a,
+ 0x3980, 0xe46c, 0x9037, 0xe46e, 0xe46f, 0x9061, 0xe471, 0xe472,
+ 0x90a8, 0xe474, 0x90c4, 0xe476, 0x90ae, 0xfffd, 0x9167, 0x3af0,
+ 0x91a9, 0x91c4, 0x7cac, 0xe47e, 0xe47f, 0x920e, 0x6c9f, 0x9241,
+ 0x9262, 0xe484, 0xfffd, 0xe486, 0xe487, 0xe488, 0xe489, 0xe48a,
+ 0x932c, 0x936b, 0xe48d, 0xe48e, 0x708f, 0x5ac3, 0xe491, 0xe492,
+ 0x4965, 0x9244, 0xe495, 0xe496, 0xe497, 0x9373, 0x945b, 0x8ebc,
+ 0x9585, 0x95a6, 0x9426, 0x95a0, 0x6ff6, 0x42b9, 0xe4a1, 0xe4a2,
+ 0xe4a3, 0xe4a4, 0x49df, 0x6c1c, 0x967b, 0x9696, 0x416c, 0x96a3,
+ 0xe4ab, 0x61da, 0x96b6, 0x78f5, 0xe4af, 0x96bd, 0x53cc, 0x49a1,
+ 0xe4b3, 0xe4b4, 0xe4b5, 0xe4b6, 0xe4b7, 0xe4b8, 0xe4b9, 0xe4ba,
+ 0x9731, 0x8642, 0x9736, 0x4a0f, 0x453d, 0x4585, 0xe4c1, 0x7075,
+ 0x5b41, 0x971b, 0xfffd, 0xe4c6, 0x9757, 0x5b4a, 0xe4c9, 0x975f,
+ 0x9425, 0x50d0, 0xe4cd, 0xe4ce, 0x9789, 0x979f, 0x97b1, 0x97be,
+ 0x97c0, 0x97d2, 0x97e0, 0xe4d6, 0x97ee, 0x741c, 0xe4d9, 0xfffd,
+ 0x97f5, 0xe4dc, 0xe4dd, 0x4ad1, 0x9834, 0x9833, 0x984b, 0x9866,
+ 0x3b0e, 0xe4e4, 0x3d51, 0xe4e6, 0xe4e7,
+ /* 0x91 */
+ 0xe4e8, 0x98ca, 0x98b7, 0x98c8, 0x98c7, 0x4aff, 0xe4ee, 0xe4ef,
+ 0x55b0, 0x98e1, 0x98e6, 0x98ec, 0x9378, 0x9939, 0xe4f6, 0x4b72,
+ 0xe4f8, 0xe4f9, 0x99f5, 0x9a0c, 0x9a3b, 0x9a10, 0x9a58, 0xe4ff,
+ 0x36c4, 0xe501, 0xe502, 0x9ae0, 0x9ae2, 0xe505, 0x9af4, 0x4c0e,
+ 0x9b14, 0x9b2d, 0xe50a, 0x5034, 0x9b34, 0xe50d, 0x38c3, 0xe50f,
+ 0x9b50, 0x9b40, 0xe512, 0x5a45, 0xe514, 0x9b8e, 0xe516, 0x9c02,
+ 0x9bff, 0x9c0c, 0xe51a, 0x9dd4, 0xe51c, 0xe51d, 0xe51e, 0xe51f,
+ 0xe520, 0xe521, 0x9d7e, 0x9d83, 0xe524, 0x9e0e, 0x6888, 0x9dc4,
+ 0xe528, 0xe529, 0xe52a, 0xe52b, 0xe52c, 0x9d39, 0xe52e, 0xe52f,
+ 0x9e90, 0x9e95, 0x9e9e, 0x9ea2, 0x4d34, 0x9eaa, 0x9eaf, 0xe537,
+ 0x9ec1, 0x3b60, 0x39e5, 0x3d1d, 0x4f32, 0x37be, 0xe53e, 0x9f02,
+ 0x9f08, 0x4b96, 0x9424, 0xe543, 0x9f17, 0xfffd, 0x9f39, 0x569f,
+ 0x568a, 0x9f45, 0x99b8, 0xe54b, 0x97f2, 0x847f, 0x9f62, 0x9f69,
+ 0x7adc, 0x9f8e, 0x7216, 0x4bbe, 0xe554, 0xe555, 0x7177, 0xe557,
+ 0xe558, 0xe559, 0x739e, 0xe55b, 0xe55c, 0x799f, 0xe55e, 0xe55f,
+ 0x9369, 0x93f3, 0xe562, 0x92ec, 0x9381, 0x93cb, 0xe566, 0xe567,
+ 0x7217, 0x3eeb, 0x7772, 0x7a43, 0x70d0, 0xe56d, 0xe56e, 0x717e,
+ 0xe570, 0x70a3, 0xe572, 0xe573, 0x3ec7, 0xe575, 0xe576, 0xe577,
+ 0x3722, 0xe579, 0xe57a, 0x36e1, 0xe57c, 0xe57d, 0xe57e, 0x3723,
+ 0xe580, 0x575b, 0xe582, 0xe583, 0xe584,
+ /* 0x92 */
+ 0xe585, 0xe586, 0x8503, 0xe588, 0xfffd, 0x8455, 0xe58b, 0xe58c,
+ 0xe58d, 0xe58e, 0xe58f, 0xe590, 0x44f4, 0xe592, 0xe593, 0xe594,
+ 0x67f9, 0x3733, 0x3c15, 0x3de7, 0x586c, 0xe59a, 0x6810, 0x4057,
+ 0xe59d, 0xe59e, 0xe59f, 0xe5a0, 0xe5a1, 0x54cb, 0x569e, 0xe5a4,
+ 0x5692, 0xe5a6, 0xe5a7, 0xe5a8, 0x93c6, 0xe5aa, 0x939c, 0x4ef8,
+ 0x512b, 0x3819, 0xe5af, 0x4ebc, 0xe5b1, 0xe5b2, 0x4f4b, 0x4f8a,
+ 0xe5b5, 0x5a68, 0xe5b7, 0xe5b8, 0x3999, 0xe5ba, 0xe5bb, 0x3435,
+ 0x4f29, 0xe5be, 0xe5bf, 0xe5c0, 0x8ada, 0xe5c2, 0x4e98, 0x50cd,
+ 0x510d, 0x4fa2, 0x4f03, 0xe5c8, 0xe5c9, 0x4f42, 0x502e, 0x506c,
+ 0x5081, 0x4fcc, 0x4fe5, 0x5058, 0x50fc, 0xfffd, 0xfffd, 0xfffd,
+ 0xfffd, 0x6e76, 0xe5d7, 0xe5d8, 0xe5d9, 0x6d72, 0xe5db, 0xe5dc,
+ 0x51a8, 0x51c3, 0xe5df, 0x44dd, 0xe5e1, 0xe5e2, 0xe5e3, 0x8d7a,
+ 0xe5e5, 0xe5e6, 0x5259, 0x52a4, 0xe5e9, 0x52e1, 0xfffd, 0x467a,
+ 0x718c, 0xe5ee, 0xe5ef, 0xe5f0, 0xe5f1, 0x69d1, 0xe5f3, 0xfffd,
+ 0x3ede, 0x7499, 0x7414, 0x7456, 0x7398, 0x4b8e, 0xe5fb, 0xe5fc,
+ 0x53d0, 0x3584, 0x720f, 0xe600, 0x55b4, 0xe602, 0x54cd, 0xe604,
+ 0x571d, 0x925d, 0x96f4, 0x9366, 0x57dd, 0x578d, 0x577f, 0x363e,
+ 0x58cb, 0x5a99, 0xe60f, 0xe610, 0xe611, 0xe612, 0x5a2c, 0x59b8,
+ 0x928f, 0x5a7e, 0x5acf, 0x5a12, 0xe619, 0xe61a, 0xe61b, 0xe61c,
+ 0x36f5, 0x6d05, 0x7443, 0x5a21, 0xe621,
+ /* 0x93 */
+ 0x5a81, 0xe623, 0xe624, 0x93e0, 0x748c, 0xe627, 0x7105, 0x4972,
+ 0x9408, 0xe62b, 0x93bd, 0x37a0, 0x5c1e, 0x5c9e, 0x5e5e, 0x5e48,
+ 0xe632, 0xe633, 0xe634, 0x5ecd, 0x5b4f, 0xe637, 0xe638, 0x3701,
+ 0xe63a, 0x36dd, 0xe63c, 0x36d3, 0x812a, 0xe63f, 0xe640, 0xe641,
+ 0xe642, 0x5f0c, 0x5f0e, 0xe645, 0xe646, 0x5a6b, 0xe648, 0x5b44,
+ 0x8614, 0xe64b, 0x8860, 0x607e, 0xe64e, 0xe64f, 0x5fdb, 0x3eb8,
+ 0xe652, 0xe653, 0xe654, 0xe655, 0x61c0, 0xe657, 0xe658, 0xe659,
+ 0x6199, 0x6198, 0x6075, 0xe65d, 0xe65e, 0xe65f, 0xe660, 0x6471,
+ 0xe662, 0xe663, 0x3a29, 0xe665, 0xe666, 0xe667, 0xe668, 0x6337,
+ 0xe66a, 0x64b6, 0x6331, 0x63d1, 0xe66e, 0xe66f, 0x62a4, 0xe671,
+ 0x643b, 0x656b, 0x6972, 0x3bf4, 0xe676, 0xe677, 0xe678, 0xe679,
+ 0x550d, 0xe67b, 0xe67c, 0xe67d, 0x66ce, 0xe67f, 0xe680, 0x3ae0,
+ 0x4190, 0xe683, 0xe684, 0xe685, 0xe686, 0xe687, 0xe688, 0x78ee,
+ 0xe68a, 0xe68b, 0xe68c, 0x3464, 0xe68e, 0xe68f, 0xe690, 0x668e,
+ 0xe692, 0x666b, 0x4b93, 0x6630, 0xe696, 0xe697, 0x6663, 0xe699,
+ 0xe69a, 0x661e, 0xe69c, 0x38d1, 0xe69e, 0xe69f, 0x3b99, 0xe6a1,
+ 0xe6a2, 0x74d0, 0x3b96, 0x678f, 0xe6a6, 0x68b6, 0x681e, 0x3bc4,
+ 0x6abe, 0x3863, 0xe6ac, 0xe6ad, 0x6a33, 0x6a52, 0x6ac9, 0x6b05,
+ 0xe6b2, 0x6511, 0x6898, 0x6a4c, 0x3bd7, 0x6a7a, 0x6b57, 0xe6b9,
+ 0xe6ba, 0x93a0, 0x92f2, 0xe6bd, 0xe6be,
+ /* 0x94 */
+ 0x9289, 0xe6c0, 0xe6c1, 0x9467, 0x6da5, 0x6f0b, 0xe6c5, 0xfffd,
+ 0xe6c7, 0x3d8f, 0x6e04, 0xe6ca, 0x5a3d, 0x6e0a, 0x5847, 0x6d24,
+ 0x7842, 0x713b, 0xe6d1, 0xe6d2, 0x70f1, 0x7250, 0x7287, 0x7294,
+ 0xe6d7, 0xe6d8, 0x5179, 0xe6da, 0xe6db, 0x747a, 0xe6dd, 0xe6de,
+ 0xe6df, 0xe6e0, 0xe6e1, 0x3f06, 0x3eb1, 0xe6e4, 0xe6e5, 0xe6e6,
+ 0x60a7, 0x3ef3, 0x74cc, 0x743c, 0x9387, 0x7437, 0x449f, 0xe6ee,
+ 0x4551, 0x7583, 0x3f63, 0xe6f2, 0xe6f3, 0x3f58, 0x7555, 0x7673,
+ 0xe6f7, 0x3b19, 0x7468, 0xe6fa, 0xe6fb, 0xe6fc, 0x3afb, 0x3dcd,
+ 0xe6ff, 0x3eff, 0xe701, 0xe702, 0x91fa, 0x5732, 0x9342, 0xe706,
+ 0xe707, 0x50df, 0xe709, 0xe70a, 0x7778, 0xe70c, 0x770e, 0x770f,
+ 0x777b, 0xe710, 0xe711, 0x3a5e, 0xe713, 0x7438, 0x749b, 0x3ebf,
+ 0xe717, 0xe718, 0x40c8, 0xe71a, 0xe71b, 0x9307, 0xe71d, 0x781e,
+ 0x788d, 0x7888, 0x78d2, 0x73d0, 0x7959, 0xe724, 0xe725, 0x410e,
+ 0xfffd, 0x8496, 0x79a5, 0x6a2d, 0xe72b, 0x7a3a, 0x79f4, 0x416e,
+ 0xe72f, 0x4132, 0x9235, 0x79f1, 0xe733, 0xe734, 0xe735, 0xe736,
+ 0xe737, 0x3597, 0x556b, 0x3570, 0x36aa, 0xe73c, 0xe73d, 0x7ae2,
+ 0x5a59, 0xe740, 0xe741, 0xe742, 0x5a0d, 0xe744, 0x78f0, 0x5a2a,
+ 0xe747, 0x7afe, 0x41f9, 0x7c5d, 0x7c6d, 0x4211, 0xe74d, 0xe74e,
+ 0xe74f, 0x7ccd, 0xe751, 0xe752, 0x7c8e, 0x7c7c, 0x7cae, 0x6ab2,
+ 0x7ddc, 0x7e07, 0x7dd3, 0x7f4e, 0xe75b,
+ /* 0x95 */
+ 0xe75c, 0xe75d, 0x7d97, 0xe75f, 0x426a, 0xe761, 0xe762, 0x67d6,
+ 0xe764, 0xe765, 0x57c4, 0xe767, 0xe768, 0xe769, 0x7fdd, 0x7b27,
+ 0xe76c, 0xe76d, 0xe76e, 0x7b0c, 0xe770, 0x99e6, 0x8645, 0x9a63,
+ 0x6a1c, 0xe775, 0x39e2, 0xe777, 0xe778, 0x9a1f, 0xe77a, 0x8480,
+ 0xe77c, 0xe77d, 0x44ea, 0x8137, 0x4402, 0x80c6, 0x8109, 0x8142,
+ 0xe784, 0x98c3, 0xe786, 0x8262, 0x8265, 0xe789, 0x8453, 0xe78b,
+ 0x8610, 0xe78d, 0x5a86, 0x417f, 0xe790, 0x5b2b, 0xe792, 0x5ae4,
+ 0xe794, 0x86a0, 0xe796, 0xe797, 0x882d, 0xe799, 0x5a02, 0x886e,
+ 0x4f45, 0x8887, 0x88bf, 0x88e6, 0x8965, 0x894d, 0xe7a2, 0x8954,
+ 0xe7a4, 0xe7a5, 0xe7a6, 0xe7a7, 0xe7a8, 0xe7a9, 0x3ead, 0x84a3,
+ 0x46f5, 0x46cf, 0x37f2, 0x8a3d, 0x8a1c, 0xe7b1, 0x5f4d, 0x922b,
+ 0xe7b4, 0x65d4, 0x7129, 0x70c4, 0xe7b8, 0x9d6d, 0x8c9f, 0x8ce9,
+ 0xe7bc, 0x599a, 0x77c3, 0x59f0, 0x436e, 0x36d4, 0x8e2a, 0x8ea7,
+ 0xe7c4, 0x8f30, 0x8f4a, 0x42f4, 0x6c58, 0x6fbb, 0xe7ca, 0x489b,
+ 0x6f79, 0x6e8b, 0xe7ce, 0x9be9, 0x36b5, 0xe7d1, 0x90bb, 0xfffd,
+ 0x5571, 0x4906, 0x91bb, 0x9404, 0xe7d8, 0x4062, 0xe7da, 0x9427,
+ 0xe7dc, 0xe7dd, 0x84e5, 0x8a2b, 0x9599, 0x95a7, 0x9597, 0x9596,
+ 0xe7e4, 0x7445, 0x3ec2, 0xe7e7, 0xe7e8, 0xe7e9, 0x3ee7, 0xe7eb,
+ 0x968f, 0xe7ed, 0xe7ee, 0xe7ef, 0x3ecc, 0xe7f1, 0xe7f2, 0xe7f3,
+ 0x7412, 0x746b, 0x3efc, 0x9741, 0xe7f8,
+ /* 0x96 */
+ 0x6847, 0x4a1d, 0xe7fb, 0xe7fc, 0xfffd, 0x9368, 0xe7ff, 0xe800,
+ 0xe801, 0xe802, 0x92ba, 0x5b11, 0x8b69, 0x493c, 0x73f9, 0xe808,
+ 0x979b, 0x9771, 0x9938, 0xe80c, 0x5dc1, 0xe80e, 0xe80f, 0x981f,
+ 0xe811, 0x92f6, 0xe813, 0x91e5, 0x44c0, 0xe816, 0xe817, 0xe818,
+ 0x98dc, 0xe81a, 0x3f00, 0x922a, 0x4925, 0x8414, 0x993b, 0x994d,
+ 0xe821, 0x3dfd, 0x999b, 0x4b6f, 0x99aa, 0x9a5c, 0xe827, 0xe828,
+ 0x6a8f, 0x9a21, 0x5afe, 0x9a2f, 0xe82d, 0x4b90, 0xe82f, 0x99bc,
+ 0x4bbd, 0x4b97, 0x937d, 0x5872, 0xe835, 0x5822, 0xe837, 0xe838,
+ 0x7844, 0xe83a, 0xe83b, 0x68c5, 0x3d7d, 0x9458, 0x3927, 0x6150,
+ 0xe841, 0xe842, 0x6107, 0x9c4f, 0x9c53, 0x9c7b, 0x9c35, 0x9c10,
+ 0x9b7f, 0x9bcf, 0xe84b, 0x9b9f, 0xe84d, 0xe84e, 0x9d21, 0x4cae,
+ 0xe851, 0x9e18, 0x4cb0, 0x9d0c, 0xe855, 0xe856, 0xe857, 0xe858,
+ 0x9da5, 0x84bd, 0xe85b, 0xe85c, 0xe85d, 0x85fc, 0x4533, 0xe860,
+ 0xe861, 0xe862, 0x8420, 0x85ee, 0xe865, 0xe866, 0xe867, 0x79e2,
+ 0xe869, 0xe86a, 0x492d, 0xe86c, 0x3d62, 0x93db, 0x92be, 0x9348,
+ 0xe871, 0x78b9, 0x9277, 0x944d, 0x4fe4, 0x3440, 0x9064, 0xe878,
+ 0x783d, 0x7854, 0x78b6, 0x784b, 0xe87d, 0xe87e, 0xe87f, 0x369a,
+ 0x4f72, 0x6fda, 0x6fd9, 0xfffd, 0x701e, 0x5414, 0xe887, 0x57bb,
+ 0x58f3, 0x578a, 0x9d16, 0x57d7, 0x7134, 0x34af, 0xe88f, 0x71eb,
+ 0xe891, 0xe892, 0xfffd, 0xe894, 0xe895,
+ /* 0x97 */
+ 0x610c, 0x5ace, 0x5a0b, 0x42bc, 0xe89a, 0x372c, 0x4b7b, 0xe89d,
+ 0x93bb, 0x93b8, 0xe8a0, 0xe8a1, 0x8472, 0xe8a3, 0xe8a4, 0xe8a5,
+ 0xe8a6, 0xe8a7, 0x5994, 0xe8a9, 0xe8aa, 0x7da8, 0xe8ac, 0xe8ad,
+ 0xe8ae, 0xe8af, 0xe8b0, 0x92e5, 0x73e2, 0x3ee9, 0x74b4, 0xe8b5,
+ 0xe8b6, 0x3ee1, 0xe8b8, 0x6ad8, 0x73f3, 0x73fb, 0x3ed6, 0xe8bd,
+ 0xe8be, 0xe8bf, 0xe8c0, 0xe8c1, 0xe8c2, 0xe8c3, 0x7448, 0xe8c5,
+ 0x70a5, 0xe8c7, 0x9284, 0x73e6, 0x935f, 0xe8cb, 0x9331, 0xe8cd,
+ 0xe8ce, 0x9386, 0xe8d0, 0xe8d1, 0x4935, 0xe8d3, 0x716b, 0xe8d5,
+ 0xe8d6, 0x56a4, 0xe8d8, 0xe8d9, 0xe8da, 0x5502, 0x79c4, 0xe8dd,
+ 0x7dfe, 0xe8df, 0xe8e0, 0xe8e1, 0x452e, 0x9401, 0x370a, 0xe8e5,
+ 0xe8e6, 0x59b0, 0xe8e8, 0xe8e9, 0xe8ea, 0x5aa1, 0x36e2, 0xe8ed,
+ 0x36b0, 0x925f, 0x5a79, 0xe8f1, 0xe8f2, 0x9374, 0x3ccd, 0xe8f5,
+ 0x4a96, 0x398a, 0x50f4, 0x3d69, 0x3d4c, 0xe8fb, 0x7175, 0x42fb,
+ 0xe8fe, 0x6e0f, 0xe900, 0x44eb, 0x6d57, 0xe903, 0x7067, 0x6caf,
+ 0x3cd6, 0xe907, 0xe908, 0x6e02, 0x6f0c, 0x3d6f, 0xe90c, 0x7551,
+ 0x36bc, 0x34c8, 0x4680, 0x3eda, 0x4871, 0x59c4, 0x926e, 0x493e,
+ 0x8f41, 0xe917, 0xe918, 0x5812, 0x57c8, 0x36d6, 0xe91c, 0x70fe,
+ 0xe91e, 0xe91f, 0xe920, 0xe921, 0xe922, 0x68b9, 0x6967, 0xe925,
+ 0xe926, 0xe927, 0xe928, 0xe929, 0xe92a, 0xe92b, 0xe92c, 0x6a1a,
+ 0xe92e, 0xe92f, 0x843e, 0x44df, 0x44ce,
+ /* 0x98 */
+ 0xe933, 0xe934, 0xe935, 0xe936, 0x6f17, 0xe938, 0x833d, 0xe93a,
+ 0x83ed, 0xe93c, 0xe93d, 0xe93e, 0x5989, 0x5a82, 0xe941, 0x5a61,
+ 0x5a71, 0xe944, 0xe945, 0x372d, 0x59ef, 0xe948, 0x36c7, 0x718e,
+ 0x9390, 0x669a, 0xe94d, 0x5a6e, 0x5a2b, 0xe950, 0x6a2b, 0xe952,
+ 0xe953, 0xe954, 0xe955, 0x711d, 0xe957, 0xe958, 0x4fb0, 0xe95a,
+ 0x5cc2, 0xe95c, 0xe95d, 0xe95e, 0x6a0c, 0xe960, 0xe961, 0x70a6,
+ 0x7133, 0xe964, 0x3da5, 0x6cdf, 0xe967, 0xe968, 0x7e65, 0x59eb,
+ 0x5d2f, 0x3df3, 0x5f5c, 0xe96e, 0xe96f, 0x7da4, 0x8426, 0x5485,
+ 0xe973, 0xe974, 0xe975, 0x577e, 0xe977, 0xe978, 0x3fe5, 0xe97a,
+ 0xe97b, 0x7003, 0xe97d, 0x5d70, 0x738f, 0x7cd3, 0xe981, 0xe982,
+ 0x4fc8, 0x7fe7, 0x72cd, 0x7310, 0xe987, 0x7338, 0x7339, 0xe98a,
+ 0x7341, 0x7348, 0x3ea9, 0xe98e, 0x906c, 0x71f5, 0xe991, 0x73e1,
+ 0x81f6, 0x3eca, 0x770c, 0x3ed1, 0x6ca2, 0x56fd, 0x7419, 0x741e,
+ 0x741f, 0x3ee2, 0x3ef0, 0x3ef4, 0x3efa, 0x74d3, 0x3f0e, 0x3f53,
+ 0x7542, 0x756d, 0x7572, 0x758d, 0x3f7c, 0x75c8, 0x75dc, 0x3fc0,
+ 0x764d, 0x3fd7, 0x7674, 0x3fdc, 0x767a, 0xe9b0, 0x7188, 0x5623,
+ 0x8980, 0x5869, 0x401d, 0x7743, 0x4039, 0x6761, 0x4045, 0x35db,
+ 0x7798, 0x406a, 0x406f, 0x5c5e, 0x77be, 0x77cb, 0x58f2, 0x7818,
+ 0x70b9, 0x781c, 0x40a8, 0x7839, 0x7847, 0x7851, 0x7866, 0x8448,
+ 0xe9cb, 0x7933, 0x6803, 0x7932, 0x4103,
+ /* 0x99 */
+ 0x4109, 0x7991, 0x7999, 0x8fbb, 0x7a06, 0x8fbc, 0x4167, 0x7a91,
+ 0x41b2, 0x7abc, 0x8279, 0x41c4, 0x7acf, 0x7adb, 0x41cf, 0x4e21,
+ 0x7b62, 0x7b6c, 0x7b7b, 0x7c12, 0x7c1b, 0x4260, 0x427a, 0x7c7b,
+ 0x7c9c, 0x428c, 0x7cb8, 0x4294, 0x7ced, 0x8f93, 0x70c0, 0xe9ef,
+ 0x7dcf, 0x7dd4, 0x7dd0, 0x7dfd, 0x7fae, 0x7fb4, 0x729f, 0x4397,
+ 0x8020, 0x8025, 0x7b39, 0x802e, 0x8031, 0x8054, 0x3dcc, 0x57b4,
+ 0x70a0, 0x80b7, 0x80e9, 0x43ed, 0x810c, 0x732a, 0x810e, 0x8112,
+ 0x7560, 0x8114, 0x4401, 0x3b39, 0x8156, 0x8159, 0x815a, 0x4413,
+ 0x583a, 0x817c, 0x8184, 0x4425, 0x8193, 0x442d, 0x81a5, 0x57ef,
+ 0x81c1, 0x81e4, 0x8254, 0x448f, 0x82a6, 0x8276, 0x82ca, 0x82d8,
+ 0x82ff, 0x44b0, 0x8357, 0x9669, 0x698a, 0x8405, 0x70f5, 0x8464,
+ 0x60e3, 0x8488, 0x4504, 0x84be, 0x84e1, 0x84f8, 0x8510, 0x8538,
+ 0x8552, 0x453b, 0x856f, 0x8570, 0x85e0, 0x4577, 0x8672, 0x8692,
+ 0x86b2, 0x86ef, 0x9645, 0x878b, 0x4606, 0x4617, 0x88ae, 0x88ff,
+ 0x8924, 0x8947, 0x8991, 0xea43, 0x8a29, 0x8a38, 0x8a94, 0x8ab4,
+ 0x8c51, 0x8cd4, 0x8cf2, 0x8d1c, 0x4798, 0x585f, 0x8dc3, 0x47ed,
+ 0x4eee, 0x8e3a, 0x55d8, 0x5754, 0x8e71, 0x55f5, 0x8eb0, 0x4837,
+ 0x8ece, 0x8ee2, 0x8ee4, 0x8eed, 0x8ef2, 0x8fb7, 0x8fc1, 0x8fca,
+ 0x8fcc, 0x9033, 0x99c4, 0x48ad, 0x98e0, 0x9213, 0x491e, 0x9228,
+ 0x9258, 0x926b, 0x92b1, 0x92ae, 0x92bf,
+ /* 0x9a */
+ 0x92e3, 0x92eb, 0x92f3, 0x92f4, 0x92fd, 0x9343, 0x9384, 0x93ad,
+ 0x4945, 0x4951, 0x9ebf, 0x9417, 0x5301, 0x941d, 0x942d, 0x943e,
+ 0x496a, 0x9454, 0x9479, 0x952d, 0x95a2, 0x49a7, 0x95f4, 0x9633,
+ 0x49e5, 0x67a0, 0x4a24, 0x9740, 0x4a35, 0x97b2, 0x97c2, 0x5654,
+ 0x4ae4, 0x60e8, 0x98b9, 0x4b19, 0x98f1, 0x5844, 0x990e, 0x9919,
+ 0x51b4, 0x991c, 0x9937, 0x9942, 0x995d, 0x9962, 0x4b70, 0x99c5,
+ 0x4b9d, 0x9a3c, 0x9b0f, 0x7a83, 0x9b69, 0x9b81, 0x9bdd, 0x9bf1,
+ 0x9bf4, 0x4c6d, 0x9c20, 0x376f, 0xeaa9, 0x9d49, 0x9c3a, 0x9efe,
+ 0x5650, 0x9d93, 0x9dbd, 0x9dc0, 0x9dfc, 0x94f6, 0x8fb6, 0x9e7b,
+ 0x9eac, 0x9eb1, 0x9ebd, 0x9ec6, 0x94dc, 0x9ee2, 0x9ef1, 0x9ef8,
+ 0x7ac8, 0x9f44, 0xeabf, 0xeac0, 0xeac1, 0x691a, 0x94c3, 0x59ac,
+ 0xeac5, 0x5840, 0x94c1, 0x37b9, 0xeac9, 0xeaca, 0xeacb, 0xeacc,
+ 0x5757, 0x7173, 0xeacf, 0xead0, 0xead1, 0x546a, 0xead3, 0xead4,
+ 0x549e, 0xead6, 0xead7, 0xead8, 0xead9, 0xeada, 0x60e7, 0xeadc,
+ 0x567a, 0xeade, 0xeadf, 0xeae0, 0xeae1, 0xeae2, 0xeae3, 0x6955,
+ 0x9c2f, 0x87a5, 0xeae7, 0xeae8, 0xeae9, 0xeaea, 0xeaeb, 0xeaec,
+ 0x5c20, 0xeaee, 0x5e0b, 0xeaf0, 0xeaf1, 0xeaf2, 0x671e, 0xeaf4,
+ 0xeaf5, 0xeaf6, 0x3647, 0xeaf8, 0xeaf9, 0xeafa, 0xeafb, 0x5364,
+ 0x84ad, 0xeafe, 0xeaff, 0xeb00, 0x8b81, 0xeb02, 0xeb03, 0xeb04,
+ 0xeb05, 0x4e78, 0x70bb, 0xeb08, 0xeb09,
+ /* 0x9b */
+ 0xeb0a, 0xeb0b, 0xeb0c, 0xeb0d, 0xeb0e, 0xeb0f, 0x62c3, 0xeb11,
+ 0xeb12, 0x7198, 0x6855, 0xeb15, 0x69e9, 0x36c8, 0xeb18, 0xeb19,
+ 0xeb1a, 0xeb1b, 0xeb1c, 0xeb1d, 0x82fd, 0xeb1f, 0xeb20, 0xeb21,
+ 0x89a5, 0xeb23, 0x8fa0, 0xeb25, 0x97b8, 0xeb27, 0x9847, 0x9abd,
+ 0xeb2a, 0xfffd, 0xeb2c, 0xeb2d, 0xeb2e, 0xeb2f, 0xeb30, 0xeb31,
+ 0xeb32, 0xeb33, 0xeb34, 0xeb35, 0xeb36, 0xeb37, 0xeb38, 0xeb39,
+ 0x5fb1, 0x6648, 0x66bf, 0xeb3d, 0xeb3e, 0xeb3f, 0xfffd, 0xeb41,
+ 0xfffd, 0xeb43, 0xeb44, 0xfffd, 0xeb46, 0x58b5, 0x670e, 0x6918,
+ 0xeb4a, 0xeb4b, 0xeb4c, 0xeb4d, 0xeb4e, 0xeb4f, 0xeb50, 0x48d0,
+ 0x4ab8, 0xeb53, 0xeb54, 0xeb55, 0xeb56, 0xeb57, 0xeb58, 0xeb59,
+ 0xeb5a, 0xeb5b, 0x51d2, 0xeb5d, 0x599f, 0xeb5f, 0x3bbe, 0xeb61,
+ 0xeb62, 0xeb63, 0x5788, 0xeb65, 0x399b, 0xeb67, 0xeb68, 0xeb69,
+ 0x3762, 0xeb6b, 0x8b5e, 0xeb6d, 0xfffd, 0xeb6f, 0xeb70, 0xeb71,
+ 0x7209, 0xeb73, 0xeb74, 0x5965, 0xeb76, 0xeb77, 0xeb78, 0x8eda,
+ 0xeb7a, 0x528f, 0x573f, 0x7171, 0xeb7e, 0xeb7f, 0xeb80, 0xeb81,
+ 0x55bc, 0xeb83, 0xeb84, 0xeb85, 0xfffd, 0x3473, 0xeb88, 0xeb89,
+ 0xeb8a, 0x4718, 0xeb8c, 0xeb8d, 0xeb8e, 0xeb8f, 0xeb90, 0x5066,
+ 0x34fb, 0xeb93, 0xfffd, 0xeb95, 0x477c, 0xeb97, 0xeb98, 0xeb99,
+ 0xeb9a, 0xeb9b, 0x57a1, 0x7151, 0xfffd, 0xeb9f, 0xeba0, 0x9056,
+ 0xeba2, 0xeba3, 0x8b62, 0xeba5, 0xeba6,
+ /* 0x9c */
+ 0x5d5b, 0xeba8, 0xfffd, 0xebaa, 0xebab, 0x8aea, 0xebad, 0xebae,
+ 0xebaf, 0xebb0, 0x4bc0, 0xebb2, 0xebb3, 0xebb4, 0x9465, 0xebb6,
+ 0x6195, 0x5a27, 0xebb9, 0xfffd, 0x56b9, 0xebbc, 0xebbd, 0x4e6a,
+ 0xebbf, 0x9656, 0x6d8f, 0xebc2, 0x3618, 0x8977, 0xebc5, 0xebc6,
+ 0xebc7, 0xebc8, 0xfffd, 0xebca, 0x7b42, 0xebcc, 0xebcd, 0xebce,
+ 0xfffd, 0xebd0, 0x7a45, 0xfffd, 0xebd3, 0x9a26, 0xebd5, 0x365f,
+ 0xebd7, 0xebd8, 0x7983, 0xebda, 0xebdb, 0x5d2c, 0xebdd, 0xfffd,
+ 0xebdf, 0x46d0, 0xebe1, 0x753b, 0x8865, 0xebe4, 0x58b6, 0x371c,
+ 0xebe7, 0xebe8, 0xebe9, 0x3c54, 0xebeb, 0xebec, 0x9281, 0xebee,
+ 0xebef, 0x9330, 0xebf1, 0xebf2, 0x6c39, 0x949f, 0xebf5, 0xebf6,
+ 0x8827, 0x88f5, 0xebf9, 0xebfa, 0xebfb, 0x6eb8, 0xebfd, 0xebfe,
+ 0x39a4, 0x36b9, 0xfffd, 0xfffd, 0x453f, 0x66b6, 0xec05, 0xec06,
+ 0x8943, 0xec08, 0xec09, 0x56d6, 0x40df, 0xec0c, 0x39a1, 0xec0e,
+ 0xec0f, 0xec10, 0x71ad, 0x8366, 0xec13, 0xec14, 0xfffd, 0x4cb7,
+ 0xec17, 0xec18, 0xec19, 0xec1a, 0xec1b, 0xec1c, 0xec1d, 0x7b43,
+ 0x797e, 0xec20, 0x6fb5, 0xec22, 0x6a03, 0xec24, 0x53a2, 0xec26,
+ 0x93bf, 0x6836, 0x975d, 0xec2a, 0xec2b, 0xec2c, 0xec2d, 0xec2e,
+ 0xec2f, 0x5d85, 0xec31, 0xec32, 0x5715, 0x9823, 0xec35, 0x5dab,
+ 0xec37, 0x65be, 0x69d5, 0x53d2, 0xec3b, 0xec3c, 0x3c11, 0x6736,
+ 0xec3f, 0xec40, 0xec41, 0xec42, 0xec43,
+ /* 0x9d */
+ 0xec44, 0xec45, 0xec46, 0xec47, 0xec48, 0xec49, 0x35ca, 0xec4b,
+ 0xec4c, 0x48fa, 0x63e6, 0xec4f, 0x7808, 0x9255, 0xec52, 0x43f2,
+ 0xec54, 0x43df, 0xec56, 0xec57, 0xec58, 0x59f8, 0xec5a, 0xfffd,
+ 0xec5c, 0xec5d, 0xfffd, 0xec5f, 0xec60, 0x3df7, 0xec62, 0xec63,
+ 0x8fd0, 0x728f, 0x568b, 0xec67, 0xec68, 0xec69, 0xec6a, 0xec6b,
+ 0xec6c, 0xec6d, 0xec6e, 0xec6f, 0xec70, 0xec71, 0xec72, 0xec73,
+ 0x7e9f, 0xec75, 0xec76, 0x4ca4, 0x9547, 0xec79, 0x71a2, 0xec7b,
+ 0x4d91, 0x9012, 0xec7e, 0x4d9c, 0xec80, 0x8fbe, 0x55c1, 0x8fba,
+ 0xec84, 0x8fb9, 0xec86, 0x4509, 0x7e7f, 0x6f56, 0x6ab1, 0x4eea,
+ 0x34e4, 0xec8d, 0xec8e, 0x373a, 0x8e80, 0xec91, 0xec92, 0xec93,
+ 0xec94, 0xec95, 0xec96, 0x3deb, 0xec98, 0xec99, 0xec9a, 0xec9b,
+ 0x4e9a, 0xec9d, 0xec9e, 0x56bf, 0xeca0, 0x8e0e, 0x5b6d, 0xeca3,
+ 0xeca4, 0x63de, 0xfffd, 0xeca7, 0xeca8, 0x6530, 0x562d, 0xecab,
+ 0x541a, 0xecad, 0x3dc6, 0xecaf, 0x4c7d, 0x5622, 0x561e, 0x7f49,
+ 0xecb4, 0x5975, 0xecb6, 0x8770, 0x4e1c, 0xecb9, 0xecba, 0xecbb,
+ 0x8117, 0x9d5e, 0x8d18, 0x763b, 0x9c45, 0x764e, 0x77b9, 0x9345,
+ 0x5432, 0x8148, 0x82f7, 0x5625, 0x8132, 0x8418, 0x80bd, 0x55ea,
+ 0x7962, 0x5643, 0x5416, 0xeccf, 0x35ce, 0x5605, 0x55f1, 0x66f1,
+ 0xecd4, 0x362d, 0x7534, 0x55f0, 0x55ba, 0x5497, 0x5572, 0xecdb,
+ 0xecdc, 0x5ed0, 0xecde, 0xecdf, 0xece0,
+ /* 0x9e */
+ 0xece1, 0x9eab, 0x7d5a, 0x55de, 0xece5, 0x629d, 0x976d, 0x5494,
+ 0x8ccd, 0x71f6, 0x9176, 0x63fc, 0x63b9, 0x63fe, 0x5569, 0xecf0,
+ 0x9c72, 0xecf2, 0x519a, 0x34df, 0xecf5, 0x51a7, 0x544d, 0x551e,
+ 0x5513, 0x7666, 0x8e2d, 0xecfc, 0x75b1, 0x80b6, 0x8804, 0x8786,
+ 0x88c7, 0x81b6, 0x841c, 0xed04, 0x44ec, 0x7304, 0xed07, 0x5b90,
+ 0x830b, 0xed0a, 0x567b, 0xed0c, 0xed0d, 0xed0e, 0xed0f, 0xed10,
+ 0xed11, 0x9170, 0xed13, 0x9208, 0xed15, 0xed16, 0xed17, 0xed18,
+ 0x7266, 0xed1a, 0x474e, 0xed1c, 0xed1d, 0xed1e, 0x40fa, 0x9c5d,
+ 0x651f, 0xed22, 0x48f3, 0xed24, 0xed25, 0xed26, 0xed27, 0xfffd,
+ 0xed29, 0xed2a, 0xfffd, 0xed2c, 0xed2d, 0x71a3, 0x7e8e, 0x9d50,
+ 0x4e1a, 0x4e04, 0x3577, 0x5b0d, 0x6cb2, 0x5367, 0x36ac, 0x39dc,
+ 0x537d, 0x36a5, 0xed3b, 0x589a, 0xed3d, 0x822d, 0x544b, 0x57aa,
+ 0xed41, 0xed42, 0xfffd, 0x3a52, 0xed45, 0x7374, 0xed47, 0x4d09,
+ 0x9bed, 0xed4a, 0xed4b, 0x4c5b, 0xed4d, 0xed4e, 0xed4f, 0x845c,
+ 0xed51, 0xed52, 0xed53, 0xed54, 0x632e, 0x7d25, 0xed57, 0xed58,
+ 0x3a2a, 0x9008, 0x52cc, 0x3e74, 0x367a, 0x45e9, 0xed5f, 0x7640,
+ 0x5af0, 0xed62, 0x787a, 0x47b6, 0x58a7, 0x40bf, 0x567c, 0x9b8b,
+ 0x5d74, 0x7654, 0xed6b, 0x9e85, 0x4ce1, 0xfffd, 0x37fb, 0x6119,
+ 0xed71, 0xed72, 0xfffd, 0x565d, 0xed75, 0x57a7, 0xed77, 0xed78,
+ 0x5234, 0xed7a, 0x35ad, 0xfffd, 0x9d7c,
+ /* 0x9f */
+ 0x7c56, 0x9b39, 0x57de, 0xed81, 0x5c53, 0x64d3, 0xed84, 0xed85,
+ 0xed86, 0x86ad, 0xed88, 0xed89, 0xed8a, 0xed8b, 0xfffd, 0x51fe,
+ 0xed8e, 0x5d8e, 0x9703, 0xed91, 0x9e81, 0x904c, 0x7b1f, 0x9b02,
+ 0x5cd1, 0x7ba3, 0x6268, 0x6335, 0x9aff, 0x7bcf, 0x9b2a, 0x7c7e,
+ 0xfffd, 0x7c42, 0x7c86, 0x9c15, 0x7bfc, 0x9b09, 0xfffd, 0x9c1b,
+ 0xeda6, 0x9f5a, 0x5573, 0x5bc3, 0x4ffd, 0x9e98, 0x4ff2, 0x5260,
+ 0x3e06, 0x52d1, 0x5767, 0x5056, 0x59b7, 0x5e12, 0x97c8, 0x9dab,
+ 0x8f5c, 0x5469, 0x97b4, 0x9940, 0x97ba, 0x532c, 0x6130, 0x692c,
+ 0x53da, 0x9c0a, 0x9d02, 0x4c3b, 0x9641, 0x6980, 0x50a6, 0x7546,
+ 0xedc6, 0x99da, 0x5273, 0xfffd, 0x9159, 0x9681, 0x915c, 0xfffd,
+ 0x9151, 0xedcf, 0x637f, 0xedd1, 0x6aca, 0x5611, 0x918e, 0x757a,
+ 0x6285, 0xedd7, 0x734f, 0x7c70, 0xedda, 0xeddb, 0xfffd, 0xeddd,
+ 0x76d6, 0x9b9d, 0x4e2a, 0xede1, 0x83be, 0x8842, 0xfffd, 0x5c4a,
+ 0x69c0, 0xfffd, 0x577a, 0x521f, 0x5df5, 0x4ece, 0x6c31, 0xeded,
+ 0x4f39, 0x549c, 0x54da, 0x529a, 0x8d82, 0x35fe, 0xfffd, 0x35f3,
+ 0xfffd, 0x6b52, 0x917c, 0x9fa5, 0x9b97, 0x982e, 0x98b4, 0x9aba,
+ 0x9ea8, 0x9e84, 0x717a, 0x7b14, 0xfffd, 0x6bfa, 0x8818, 0x7f78,
+ 0xfffd, 0x5620, 0xee08, 0x8e77, 0x9f53, 0xfffd, 0x8dd4, 0x8e4f,
+ 0x9e1c, 0x8e01, 0x6282, 0xee11, 0x8e28, 0x8e75, 0x7ad3, 0xee15,
+ 0x7a3e, 0x78d8, 0x6cea, 0x8a67, 0x7607,
+ /* 0xa0 */
+ 0xee1b, 0x9f26, 0x6cce, 0x87d6, 0x75c3, 0xee20, 0x7853, 0xee22,
+ 0x8d0c, 0x72e2, 0x7371, 0x8b2d, 0x7302, 0x74f1, 0x8ceb, 0xee2a,
+ 0x862f, 0x5fba, 0x88a0, 0x44b7, 0xfffd, 0xee30, 0xee31, 0xfffd,
+ 0x8a7e, 0xee34, 0xfffd, 0x60fd, 0x7667, 0x9ad7, 0x9d44, 0x936e,
+ 0x9b8f, 0x87f5, 0xfffd, 0xfffd, 0x8cf7, 0x732c, 0x9721, 0x9bb0,
+ 0x35d6, 0x72b2, 0x4c07, 0x7c51, 0x994a, 0xee48, 0x6159, 0x4c04,
+ 0x9e96, 0x617d, 0xfffd, 0x575f, 0x616f, 0x62a6, 0x6239, 0xfffd,
+ 0x3a5c, 0x61e2, 0x53aa, 0xee56, 0x6364, 0x6802, 0x35d2, 0x5d57,
+ 0xee5b, 0x8fda, 0xee5d, 0xfffd, 0x50d9, 0xee60, 0x7906, 0x5332,
+ 0x9638, 0xee64, 0x4065, 0xfffd, 0x77fe, 0xfffd, 0x7cc2, 0xee6a,
+ 0x7cda, 0x7a2d, 0x8066, 0x8063, 0x7d4d, 0x7505, 0x74f2, 0x8994,
+ 0x821a, 0x670c, 0x8062, 0xee76, 0x805b, 0x74f0, 0x8103, 0x7724,
+ 0x8989, 0xee7c, 0x7553, 0xee7e, 0x87a9, 0x87ce, 0x81c8, 0x878c,
+ 0x8a49, 0x8cad, 0x8b43, 0x772b, 0x74f8, 0x84da, 0x3635, 0x69b2,
+ 0x8da6, 0xfffd, 0x89a9, 0xfffd, 0x6db9, 0x87c1, 0xee91, 0x74e7,
+ 0x3ddb, 0x7176, 0x60a4, 0x619c, 0x3cd1, 0xfffd, 0x6077, 0xfffd,
+ 0x7f71, 0xee9c, 0xfffd, 0x60e9, 0x4b7e, 0x5220, 0xeea1, 0xeea2,
+ 0xeea3, 0xeea4, 0xeea5, 0xeea6, 0xeea7, 0xeea8, 0xeea9, 0xeeaa,
+ 0x5cc1, 0xeeac, 0xeead, 0xeeae, 0xeeaf, 0xeeb0, 0xeeb1, 0x4562,
+ 0x5b1f, 0xeeb4, 0x9f50, 0x9ea6, 0xeeb7,
+};
+static const unsigned short hkscs_2uni_pagec6[471] = {
+ /* 0xc6 */
+ 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd,
+ 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd,
+ 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd,
+ 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd,
+ 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd,
+ 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd,
+ 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd,
+ 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0x2460,
+ 0x2461, 0x2462, 0x2463, 0x2464, 0x2465, 0x2466, 0x2467, 0x2468,
+ 0x2469, 0x2474, 0x2475, 0x2476, 0x2477, 0x2478, 0x2479, 0x247a,
+ 0x247b, 0x247c, 0x247d, 0x2170, 0x2171, 0x2172, 0x2173, 0x2174,
+ 0x2175, 0x2176, 0x2177, 0x2178, 0x2179, 0x4e36, 0x4e3f, 0x4e85,
+ 0x4ea0, 0x5182, 0x5196, 0x51ab, 0x52f9, 0x5338, 0x5369, 0x53b6,
+ 0x590a, 0x5b80, 0x5ddb, 0x2f33, 0x5e7f, 0xfffd, 0x5f50, 0x5f61,
+ 0x6534, 0xfffd, 0x7592, 0xfffd, 0x8fb5, 0xfffd, 0x00a8, 0x02c6,
+ 0x30fd, 0x30fe, 0x309d, 0x309e, 0xfffd, 0xfffd, 0x3005, 0x3006,
+ 0x3007, 0x30fc, 0xff3b, 0xff3d, 0x273d, 0x3041, 0x3042, 0x3043,
+ 0x3044, 0x3045, 0x3046, 0x3047, 0x3048, 0x3049, 0x304a, 0x304b,
+ 0x304c, 0x304d, 0x304e, 0x304f, 0x3050, 0x3051, 0x3052, 0x3053,
+ 0x3054, 0x3055, 0x3056, 0x3057, 0x3058,
+ /* 0xc7 */
+ 0x3059, 0x305a, 0x305b, 0x305c, 0x305d, 0x305e, 0x305f, 0x3060,
+ 0x3061, 0x3062, 0x3063, 0x3064, 0x3065, 0x3066, 0x3067, 0x3068,
+ 0x3069, 0x306a, 0x306b, 0x306c, 0x306d, 0x306e, 0x306f, 0x3070,
+ 0x3071, 0x3072, 0x3073, 0x3074, 0x3075, 0x3076, 0x3077, 0x3078,
+ 0x3079, 0x307a, 0x307b, 0x307c, 0x307d, 0x307e, 0x307f, 0x3080,
+ 0x3081, 0x3082, 0x3083, 0x3084, 0x3085, 0x3086, 0x3087, 0x3088,
+ 0x3089, 0x308a, 0x308b, 0x308c, 0x308d, 0x308e, 0x308f, 0x3090,
+ 0x3091, 0x3092, 0x3093, 0x30a1, 0x30a2, 0x30a3, 0x30a4, 0x30a5,
+ 0x30a6, 0x30a7, 0x30a8, 0x30a9, 0x30aa, 0x30ab, 0x30ac, 0x30ad,
+ 0x30ae, 0x30af, 0x30b0, 0x30b1, 0x30b2, 0x30b3, 0x30b4, 0x30b5,
+ 0x30b6, 0x30b7, 0x30b8, 0x30b9, 0x30ba, 0x30bb, 0x30bc, 0x30bd,
+ 0x30be, 0x30bf, 0x30c0, 0x30c1, 0x30c2, 0x30c3, 0x30c4, 0x30c5,
+ 0x30c6, 0x30c7, 0x30c8, 0x30c9, 0x30ca, 0x30cb, 0x30cc, 0x30cd,
+ 0x30ce, 0x30cf, 0x30d0, 0x30d1, 0x30d2, 0x30d3, 0x30d4, 0x30d5,
+ 0x30d6, 0x30d7, 0x30d8, 0x30d9, 0x30da, 0x30db, 0x30dc, 0x30dd,
+ 0x30de, 0x30df, 0x30e0, 0x30e1, 0x30e2, 0x30e3, 0x30e4, 0x30e5,
+ 0x30e6, 0x30e7, 0x30e8, 0x30e9, 0x30ea, 0x30eb, 0x30ec, 0x30ed,
+ 0x30ee, 0x30ef, 0x30f0, 0x30f1, 0x30f2, 0x30f3, 0x30f4, 0x30f5,
+ 0x30f6, 0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0401,
+ 0x0416, 0x0417, 0x0418, 0x0419, 0x041a,
+ /* 0xc8 */
+ 0x041b, 0x041c, 0x041d, 0x041e, 0x041f, 0x0420, 0x0421, 0x0422,
+ 0x0423, 0x0424, 0x0425, 0x0426, 0x0427, 0x0428, 0x0429, 0x042a,
+ 0x042b, 0x042c, 0x042d, 0x042e, 0x042f, 0x0430, 0x0431, 0x0432,
+ 0x0433, 0x0434, 0x0435, 0x0451, 0x0436, 0x0437, 0x0438, 0x0439,
+ 0x043a, 0x043b, 0x043c, 0x043d, 0x043e, 0x043f, 0x0440, 0x0441,
+ 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447, 0x0448, 0x0449,
+ 0x044a, 0x044b, 0x044c, 0x044d, 0x044e, 0x044f, 0x21e7, 0x21b8,
+ 0x21b9, 0xf7e5, 0xf7e6, 0x4e5a, 0xf7e8, 0x5202, 0xf7ea, 0xf7eb,
+ 0x5188, 0xf7ed, 0xf7ee, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd,
+ 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd,
+ 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd,
+ 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd,
+ 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd,
+ 0xfffd, 0xfffd, 0xfffd, 0xffe2, 0xffe4, 0xff07, 0xff02, 0x3231,
+ 0x2116, 0x2121, 0x309b, 0x309c, 0x2e80, 0x2e84, 0x2e86, 0x2e87,
+ 0x2e88, 0x2e8a, 0x2e8c, 0x2e8d, 0x2e95, 0x2e9c, 0x2e9d, 0x2ea5,
+ 0x2ea7, 0x2eaa, 0x2eac, 0x2eae, 0x2eb6, 0x2ebc, 0x2ebe, 0x2ec6,
+ 0x2eca, 0x2ecc, 0x2ecd, 0x2ecf, 0x2ed6, 0x2ed7, 0x2ede, 0x2ee3,
+ 0xfffd, 0xfffd, 0xfffd, 0x0283, 0x0250, 0x025b, 0x0254, 0x0275,
+ 0x0153, 0x00f8, 0x014b, 0x028a, 0x026a,
+};
+static const unsigned short hkscs_2uni_pagef9[942] = {
+ /* 0xf9 */
+ 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd,
+ 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd,
+ 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd,
+ 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd,
+ 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd,
+ 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd,
+ 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd,
+ 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd,
+ 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd,
+ 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd,
+ 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd,
+ 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd,
+ 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd,
+ 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd,
+ 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0x7881, 0x92b9, 0x88cf, 0x58bb,
+ 0x6052, 0x7ca7, 0x5afa, 0x2554, 0x2566, 0x2557, 0x2560, 0x256c,
+ 0x2563, 0x255a, 0x2569, 0x255d, 0x2552, 0x2564, 0x2555, 0x255e,
+ 0x256a, 0x2561, 0x2558, 0x2567, 0x255b, 0x2553, 0x2565, 0x2556,
+ 0x255f, 0x256b, 0x2562, 0x2559, 0x2568, 0x255c, 0x2551, 0x2550,
+ 0x256d, 0x256e, 0x2570, 0x256f, 0xffed,
+ /* 0xfa */
+ 0xe000, 0x92db, 0xe002, 0xe003, 0x854c, 0x42b5, 0x73ef, 0x51b5,
+ 0x3649, 0xe009, 0xe00a, 0x9344, 0xe00c, 0x82ee, 0xe00e, 0x783c,
+ 0x6744, 0x62df, 0xe012, 0xe013, 0xe014, 0xe015, 0xe016, 0x4fab,
+ 0xe018, 0x5008, 0xe01a, 0xe01b, 0xe01c, 0xe01d, 0xe01e, 0xfffd,
+ 0xe020, 0x5fa4, 0xe022, 0xe023, 0x6edb, 0xe025, 0xfffd, 0x5101,
+ 0x347a, 0x510e, 0x986c, 0x3743, 0x8416, 0xe02d, 0xe02e, 0x5160,
+ 0xe030, 0x516a, 0xe032, 0xe033, 0xe034, 0xe035, 0xe036, 0xe037,
+ 0xe038, 0x5b82, 0x877d, 0xe03b, 0xe03c, 0x51b2, 0x51b8, 0x9d34,
+ 0x51c9, 0x51cf, 0x51d1, 0x3cdc, 0x51d3, 0xe045, 0x51b3, 0x51e2,
+ 0x5342, 0x51ed, 0x83cd, 0x693e, 0xe04c, 0x5f7b, 0x520b, 0x5226,
+ 0x523c, 0x52b5, 0x5257, 0x5294, 0x52b9, 0x52c5, 0x7c15, 0x8542,
+ 0x52e0, 0x860d, 0xe05a, 0xfffd, 0xe05c, 0x5549, 0x6ed9, 0xe05f,
+ 0xe060, 0xe061, 0x5333, 0xfffd, 0xe064, 0x6ccb, 0xe066, 0x681b,
+ 0x73d5, 0x604a, 0x3eaa, 0x38cc, 0xe06c, 0x71dd, 0x44a2, 0x536d,
+ 0x5374, 0xe071, 0x537e, 0xfffd, 0xe074, 0xe075, 0x77e6, 0x5393,
+ 0xe078, 0x53a0, 0x53ab, 0x53ae, 0x73a7, 0xe07d, 0x3f59, 0x739c,
+ 0x53c1, 0x53c5, 0x6c49, 0x4e49, 0x57fe, 0x53d9, 0x3aab, 0xe087,
+ 0x53e0, 0xe089, 0xe08a, 0x53f6, 0xe08c, 0x5413, 0x7079, 0x552b,
+ 0x6657, 0x6d5b, 0x546d, 0xe093, 0xe094, 0x555d, 0x548f, 0x54a4,
+ 0x47a6, 0xe099, 0xe09a, 0x3db4, 0xe09c,
+ /* 0xfb */
+ 0xe09d, 0xe09e, 0x5547, 0x4ced, 0x542f, 0x7417, 0x5586, 0x55a9,
+ 0xfffd, 0xe0a6, 0xe0a7, 0x4552, 0xe0a9, 0x66b3, 0xe0ab, 0x5637,
+ 0x66cd, 0xe0ae, 0x66a4, 0x66ad, 0x564d, 0x564f, 0x78f1, 0x56f1,
+ 0x9787, 0x53fe, 0x5700, 0x56ef, 0x56ed, 0xe0ba, 0x3623, 0xe0bc,
+ 0x5746, 0xe0be, 0x6c6e, 0x708b, 0x5742, 0x36b1, 0xe0c3, 0x57e6,
+ 0xe0c5, 0x5803, 0xe0c7, 0xe0c8, 0x5826, 0xe0ca, 0x585c, 0x58aa,
+ 0x3561, 0x58e0, 0x58dc, 0xe0d0, 0x58fb, 0x5bff, 0x5743, 0xe0d4,
+ 0xe0d5, 0x93d3, 0x35a1, 0x591f, 0x68a6, 0x36c3, 0x6e59, 0xe0dc,
+ 0x5a24, 0x5553, 0xe0df, 0x8505, 0x59c9, 0xe0e2, 0xe0e3, 0xe0e4,
+ 0xe0e5, 0x59d9, 0xe0e7, 0xe0e8, 0xe0e9, 0x6d71, 0xe0eb, 0xe0ec,
+ 0x59f9, 0xe0ee, 0x5aab, 0x5a63, 0x36e6, 0xe0f2, 0xfffd, 0x3708,
+ 0x5a96, 0x7465, 0x5ad3, 0xe0f8, 0xe0f9, 0x3d85, 0xe0fb, 0x3732,
+ 0xe0fd, 0x5e83, 0x52d0, 0x5b76, 0x6588, 0x5b7c, 0xe103, 0x4004,
+ 0x485d, 0xe106, 0x5bd5, 0x6160, 0xe109, 0xe10a, 0xe10b, 0x5bf3,
+ 0x5b9d, 0x4d10, 0x5c05, 0xe110, 0x5c13, 0x73ce, 0x5c14, 0xe114,
+ 0xe115, 0x5c49, 0x48dd, 0x5c85, 0x5ce9, 0x5cef, 0x5d8b, 0xe11c,
+ 0xe11d, 0x5d10, 0x5d18, 0x5d46, 0xe121, 0x5cba, 0x5dd7, 0x82fc,
+ 0x382d, 0xe126, 0xe127, 0xe128, 0x8287, 0x3836, 0x3bc2, 0x5e2e,
+ 0x6a8a, 0xfffd, 0x5e7a, 0xe130, 0xe131, 0x53a6, 0x4eb7, 0xfffd,
+ 0x53a8, 0xe136, 0x5e09, 0x5ef4, 0xe139,
+ /* 0xfc */
+ 0x5ef9, 0x5efb, 0x38a0, 0x5efc, 0x683e, 0x941b, 0x5f0d, 0xe141,
+ 0xe142, 0x3ade, 0x48ae, 0xe145, 0x5f3a, 0xe147, 0xe148, 0xfffd,
+ 0xe14a, 0x5f63, 0x97bd, 0xe14d, 0x5f72, 0x9340, 0xe150, 0x5fa7,
+ 0x5db6, 0x3d5f, 0xe154, 0xe155, 0xe156, 0xe157, 0x91d6, 0xe159,
+ 0xe15a, 0x6031, 0x6685, 0xe15d, 0x3963, 0x3dc7, 0x3639, 0x5790,
+ 0xe162, 0x7971, 0x3e40, 0x609e, 0xfffd, 0x60b3, 0xe168, 0xe169,
+ 0xe16a, 0x74a4, 0x50e1, 0x5aa0, 0x6164, 0x8424, 0x6142, 0xe171,
+ 0xe172, 0x6181, 0x51f4, 0xe175, 0x6187, 0x5baa, 0xe178, 0xe179,
+ 0x61d3, 0xe17b, 0xe17c, 0x61d0, 0x3932, 0xe17f, 0xe180, 0x6023,
+ 0x615c, 0x651e, 0x638b, 0xe185, 0x62c5, 0xe187, 0x62d5, 0xe189,
+ 0x636c, 0xe18b, 0x3a17, 0x6438, 0x63f8, 0xe18f, 0xe190, 0xfffd,
+ 0x6f8a, 0xe193, 0x9814, 0xe195, 0xe196, 0x64e1, 0x64e5, 0x947b,
+ 0x3a66, 0x643a, 0x3a57, 0x654d, 0x6f16, 0xe19f, 0xe1a0, 0x6585,
+ 0x656d, 0x655f, 0xe1a4, 0x65b5, 0xe1a6, 0x4b37, 0x65d1, 0x40d8,
+ 0xe1aa, 0x65e0, 0x65e3, 0x5fdf, 0xe1ae, 0x6618, 0xe1b0, 0xe1b1,
+ 0x6644, 0xe1b3, 0xe1b4, 0x664b, 0xe1b6, 0x6667, 0xe1b8, 0x6673,
+ 0xfffd, 0xe1bb, 0xe1bc, 0xe1bd, 0xe1be, 0xe1bf, 0x77c5, 0xe1c1,
+ 0x99a4, 0x6702, 0xe1c4, 0xe1c5, 0x3b2b, 0x69fa, 0xe1c8, 0xfffd,
+ 0x6767, 0x6762, 0xe1cc, 0xe1cd, 0x67d7, 0x44e9, 0x6822, 0x6e50,
+ 0x923c, 0x6801, 0xe1d4, 0xe1d5, 0x685d,
+ /* 0xfd */
+ 0xe1d7, 0x69e1, 0x6a0b, 0xe1da, 0x6973, 0x68c3, 0xe1dd, 0x6901,
+ 0x6900, 0x3d32, 0x3a01, 0xe1e2, 0x3b80, 0x67ac, 0x6961, 0xe1e6,
+ 0x42fc, 0x6936, 0x6998, 0x3ba1, 0xe1eb, 0x8363, 0x5090, 0x69f9,
+ 0xe1ef, 0xe1f0, 0x6a45, 0xe1f2, 0x6a9d, 0x3bf3, 0x67b1, 0x6ac8,
+ 0xe1f7, 0x3c0d, 0x6b1d, 0xe1fa, 0x60de, 0x6b35, 0x6b74, 0xe1fe,
+ 0x6eb5, 0xe200, 0xe201, 0xe202, 0x3740, 0x5421, 0xe205, 0x6be1,
+ 0xe207, 0x6bdc, 0x6c37, 0xe20a, 0xe20b, 0xe20c, 0x6c5a, 0x8226,
+ 0x6c79, 0xe210, 0x44c5, 0xe212, 0xe213, 0xe214, 0xe215, 0xe216,
+ 0x36e5, 0x3ceb, 0xe219, 0x9b83, 0xe21b, 0xe21c, 0x7f8f, 0x6837,
+ 0xe21f, 0xe220, 0xe221, 0x6d96, 0x6d5c, 0x6e7c, 0x6f04, 0xe226,
+ 0xe227, 0xe228, 0x8533, 0xe22a, 0x51c7, 0xfffd, 0xfffd, 0x842e,
+ 0xe22f, 0xfffd, 0xe231, 0x7453, 0xe233, 0x79cc, 0x6e4f, 0x5a91,
+ 0xe237, 0x6ff8, 0x370d, 0x6f9d, 0xe23b, 0x6efa, 0xe23d, 0xe23e,
+ 0x4555, 0x93f0, 0x6f44, 0x6f5c, 0x3d4e, 0x6f74, 0xe245, 0x3d3b,
+ 0x6f9f, 0xe248, 0x6fd3, 0xe24a, 0xe24b, 0xe24c, 0xe24d, 0xe24e,
+ 0xe24f, 0x51df, 0xe251, 0xe252, 0xe253, 0xe254, 0x704b, 0x707e,
+ 0x70a7, 0x7081, 0x70cc, 0x70d5, 0x70d6, 0x70df, 0x4104, 0x3de8,
+ 0x71b4, 0x7196, 0xe261, 0x712b, 0x7145, 0x5a88, 0x714a, 0xfffd,
+ 0x5c9c, 0xe268, 0x714f, 0x9362, 0xe26b, 0x712c, 0xe26d, 0xe26e,
+ 0xe26f, 0x71ba, 0xe271, 0x70bd, 0x720e,
+ /* 0xfe */
+ 0x9442, 0x7215, 0x5911, 0x9443, 0x7224, 0x9341, 0xe27a, 0x722e,
+ 0x7240, 0xe27d, 0x68bd, 0x7255, 0x7257, 0x3e55, 0xe282, 0x680d,
+ 0x6f3d, 0x7282, 0xfffd, 0x732b, 0xe288, 0xe289, 0x48ed, 0xe28b,
+ 0x7328, 0x732e, 0x73cf, 0x73aa, 0xe290, 0xe291, 0x73c9, 0x7449,
+ 0xe294, 0xe295, 0xe296, 0x6623, 0x36c5, 0xe299, 0xe29a, 0xe29b,
+ 0x73f7, 0x7415, 0x6903, 0xe29f, 0x7439, 0xe2a1, 0x3ed7, 0xfffd,
+ 0xe2a4, 0x7460, 0xe2a6, 0x7447, 0x73e4, 0x7476, 0x83b9, 0x746c,
+ 0x3730, 0x7474, 0x93f1, 0x6a2c, 0x7482, 0x4953, 0xe2b2, 0xe2b3,
+ 0xe2b4, 0xe2b5, 0x5b46, 0xe2b7, 0xe2b8, 0x74c8, 0xe2ba, 0x750e,
+ 0xfffd, 0x751e, 0xe2be, 0xe2bf, 0x5bd7, 0xe2c1, 0x9385, 0x754d,
+ 0x754a, 0x7567, 0x756e, 0xe2c7, 0x3f04, 0xe2c9, 0x758e, 0x745d,
+ 0x759e, 0x75b4, 0x7602, 0x762c, 0x7651, 0x764f, 0x766f, 0x7676,
+ 0xe2d4, 0x7690, 0x81ef, 0x37f8, 0xe2d8, 0xe2d9, 0x76a1, 0x76a5,
+ 0x76b7, 0x76cc, 0xe2de, 0x8462, 0xe2e0, 0xe2e1, 0xe2e2, 0x771e,
+ 0x7726, 0x7740, 0x64af, 0xe2e7, 0x7758, 0xe2e9, 0x77af, 0xe2eb,
+ 0xe2ec, 0xe2ed, 0x77f4, 0xfffd, 0xe2f0, 0xe2f1, 0x68ca, 0x78af,
+ 0x78c7, 0x78d3, 0x96a5, 0x792e, 0xe2f8, 0x78d7, 0x7934, 0x78b1,
+ 0xe2fc, 0x8fb8, 0x8884, 0xe2ff, 0xe300, 0xe301, 0x7986, 0x8900,
+ 0x6902, 0x7980, 0xe306, 0x799d, 0xe308, 0x793c, 0x79a9, 0x6e2a,
+ 0xe30c, 0x3ea8, 0x79c6, 0xe30f, 0x79d4,
+};
+
+static int
+hkscs_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
+{
+ unsigned char c1 = s[0];
+ if ((c1 >= 0x88 && c1 <= 0x8b) || (c1 >= 0x8d && c1 <= 0xa0) || (c1 >= 0xc6 && c1 <= 0xc8) || (c1 >= 0xf9 && c1 <= 0xfe)) {
+ if (n >= 2) {
+ unsigned char c2 = s[1];
+ if ((c2 >= 0x40 && c2 < 0x7f) || (c2 >= 0xa1 && c2 < 0xff)) {
+ unsigned int i = 157 * (c1 - 0x80) + (c2 - (c2 >= 0xa1 ? 0x62 : 0x40));
+ unsigned short wc = 0xfffd;
+ if (i < 2041) {
+ if (i < 1883)
+ wc = hkscs_2uni_page88[i-1256];
+ } else if (i < 10990) {
+ if (i < 5181)
+ wc = hkscs_2uni_page8d[i-2041];
+ } else if (i < 18997) {
+ if (i < 11461)
+ wc = hkscs_2uni_pagec6[i-10990];
+ } else {
+ if (i < 19939)
+ wc = hkscs_2uni_pagef9[i-18997];
+ }
+ if (wc != 0xfffd) {
+ *pwc = (ucs4_t) wc;
+ return 2;
+ }
+ }
+ return RET_ILSEQ;
+ }
+ return RET_TOOFEW(0);
+ }
+ return RET_ILSEQ;
+}
+
+static const unsigned short hkscs_2charset[4702] = {
+ 0xc6d8, 0x8859, 0x8857, 0x885d, 0x885b, 0x8866, 0x8861, 0x885f,
+ 0x886a, 0x8868, 0x886f, 0x886d, 0x88a7, 0x8873, 0x8871, 0x8877,
+ 0x8875, 0xc8fb, 0x887b, 0x8879, 0x88a2, 0x8856, 0x8867, 0x885a,
+ 0x886c, 0x885c, 0x886e, 0x8870, 0xc8fc, 0x885e, 0x8874, 0xc8fa,
+ 0x8878, 0x8858, 0x8869, 0x8872, 0x8860, 0x8876, 0x887a, 0x887c,
+ 0x887d, 0x887e, 0x88a1, 0xc8f6, 0x886b, 0xc8f8, 0xc8f7, 0x88a8,
+ 0xc8fe, 0xc8f9, 0xc8f5, 0xc8fd, 0xc6d9, 0xc7f9, 0xc7f3, 0xc7f4,
+ 0xc7f5, 0xc7f6, 0xc7f7, 0xc7f8, 0xc7fa, 0xc7fb, 0xc7fc, 0xc7fd,
+ 0xc7fe, 0xc840, 0xc841, 0xc842, 0xc843, 0xc844, 0xc845, 0xc846,
+ 0xc847, 0xc848, 0xc849, 0xc84a, 0xc84b, 0xc84c, 0xc84d, 0xc84e,
+ 0xc84f, 0xc850, 0xc851, 0xc852, 0xc853, 0xc854, 0xc855, 0xc856,
+ 0xc857, 0xc858, 0xc859, 0xc85a, 0xc85c, 0xc85d, 0xc85e, 0xc85f,
+ 0xc860, 0xc861, 0xc862, 0xc863, 0xc864, 0xc865, 0xc866, 0xc867,
+ 0xc868, 0xc869, 0xc86a, 0xc86b, 0xc86c, 0xc86d, 0xc86e, 0xc86f,
+ 0xc870, 0xc871, 0xc872, 0xc873, 0xc874, 0xc875, 0xc85b, 0x8863,
+ 0x88a4, 0x8865, 0x88a6, 0xc8d2, 0xc8d3, 0xc6b5, 0xc6b6, 0xc6b7,
+ 0xc6b8, 0xc6b9, 0xc6ba, 0xc6bb, 0xc6bc, 0xc6bd, 0xc6be, 0xc877,
+ 0xc878, 0xc876, 0xc6a1, 0xc6a2, 0xc6a3, 0xc6a4, 0xc6a5, 0xc6a6,
+ 0xc6a7, 0xc6a8, 0xc6a9, 0xc6aa, 0xc6ab, 0xc6ac, 0xc6ad, 0xc6ae,
+ 0xc6af, 0xc6b0, 0xc6b1, 0xc6b2, 0xc6b3, 0xc6b4, 0xf9f9, 0xf9f8,
+ 0xf9e6, 0xf9ef, 0xf9dd, 0xf9e8, 0xf9f1, 0xf9df, 0xf9ec, 0xf9f5,
+ 0xf9e3, 0xf9ee, 0xf9f7, 0xf9e5, 0xf9e9, 0xf9f2, 0xf9e0, 0xf9eb,
+ 0xf9f4, 0xf9e2, 0xf9e7, 0xf9f0, 0xf9de, 0xf9ed, 0xf9f6, 0xf9e4,
+ 0xf9ea, 0xf9f3, 0xf9e1, 0xf9fa, 0xf9fb, 0xf9fd, 0xf9fc, 0xc6e6,
+ 0xc8d6, 0xc8d7, 0xc8d8, 0xc8d9, 0xc8da, 0xc8db, 0xc8dc, 0xc8dd,
+ 0xc8de, 0xc8df, 0xc8e0, 0xc8e1, 0xc8e2, 0xc8e3, 0xc8e4, 0xc8e5,
+ 0xc8e6, 0xc8e7, 0xc8e8, 0xc8e9, 0xc8ea, 0xc8eb, 0xc8ec, 0xc8ed,
+ 0xc8ee, 0xc8ef, 0xc8f0, 0xc8f1, 0xc6cd, 0xc6e0, 0xc6e1, 0xc6e2,
+ 0xc6e7, 0xc6e8, 0xc6e9, 0xc6ea, 0xc6eb, 0xc6ec, 0xc6ed, 0xc6ee,
+ 0xc6ef, 0xc6f0, 0xc6f1, 0xc6f2, 0xc6f3, 0xc6f4, 0xc6f5, 0xc6f6,
+ 0xc6f7, 0xc6f8, 0xc6f9, 0xc6fa, 0xc6fb, 0xc6fc, 0xc6fd, 0xc6fe,
+ 0xc740, 0xc741, 0xc742, 0xc743, 0xc744, 0xc745, 0xc746, 0xc747,
+ 0xc748, 0xc749, 0xc74a, 0xc74b, 0xc74c, 0xc74d, 0xc74e, 0xc74f,
+ 0xc750, 0xc751, 0xc752, 0xc753, 0xc754, 0xc755, 0xc756, 0xc757,
+ 0xc758, 0xc759, 0xc75a, 0xc75b, 0xc75c, 0xc75d, 0xc75e, 0xc75f,
+ 0xc760, 0xc761, 0xc762, 0xc763, 0xc764, 0xc765, 0xc766, 0xc767,
+ 0xc768, 0xc769, 0xc76a, 0xc76b, 0xc76c, 0xc76d, 0xc76e, 0xc76f,
+ 0xc770, 0xc771, 0xc772, 0xc773, 0xc774, 0xc775, 0xc776, 0xc777,
+ 0xc778, 0xc779, 0xc77a, 0xc8d4, 0xc8d5, 0xc6dc, 0xc6dd, 0xc77b,
+ 0xc77c, 0xc77d, 0xc77e, 0xc7a1, 0xc7a2, 0xc7a3, 0xc7a4, 0xc7a5,
+ 0xc7a6, 0xc7a7, 0xc7a8, 0xc7a9, 0xc7aa, 0xc7ab, 0xc7ac, 0xc7ad,
+ 0xc7ae, 0xc7af, 0xc7b0, 0xc7b1, 0xc7b2, 0xc7b3, 0xc7b4, 0xc7b5,
+ 0xc7b6, 0xc7b7, 0xc7b8, 0xc7b9, 0xc7ba, 0xc7bb, 0xc7bc, 0xc7bd,
+ 0xc7be, 0xc7bf, 0xc7c0, 0xc7c1, 0xc7c2, 0xc7c3, 0xc7c4, 0xc7c5,
+ 0xc7c6, 0xc7c7, 0xc7c8, 0xc7c9, 0xc7ca, 0xc7cb, 0xc7cc, 0xc7cd,
+ 0xc7ce, 0xc7cf, 0xc7d0, 0xc7d1, 0xc7d2, 0xc7d3, 0xc7d4, 0xc7d5,
+ 0xc7d6, 0xc7d7, 0xc7d8, 0xc7d9, 0xc7da, 0xc7db, 0xc7dc, 0xc7dd,
+ 0xc7de, 0xc7df, 0xc7e0, 0xc7e1, 0xc7e2, 0xc7e3, 0xc7e4, 0xc7e5,
+ 0xc7e6, 0xc7e7, 0xc7e8, 0xc7e9, 0xc7ea, 0xc7eb, 0xc7ec, 0xc7ed,
+ 0xc7ee, 0xc7ef, 0xc7f0, 0xc7f1, 0xc7f2, 0xc6e3, 0xc6da, 0xc6db,
+ 0xc8d1, 0x9277, 0x96df, 0x89d5, 0x93cd, 0x9bdf, 0xfa68, 0x89da,
+ 0x8f59, 0x89db, 0x8f5d, 0x89dc, 0x96f7, 0x8ada, 0x8bdc, 0x97db,
+ 0x9e53, 0x9daa, 0x9bea, 0x8a6e, 0x8bc8, 0x89e8, 0x89ea, 0xfb70,
+ 0x89ed, 0x94dd, 0x89ee, 0x9eb4, 0x8ad3, 0x92db, 0x94db, 0x89f9,
+ 0xfb7a, 0x89fb, 0x9efc, 0x89fc, 0x89bf, 0x89fe, 0x89e6, 0x9d46,
+ 0x9dee, 0xa07e, 0xa068, 0x98e9, 0x8b68, 0x8dfd, 0x8bbe, 0x9fd9,
+ 0x8aeb, 0x9fd7, 0x8b6a, 0x9c5c, 0x8bb1, 0xfb5e, 0x9df3, 0xa0d0,
+ 0xfc66, 0x92e9, 0x9aec, 0x8fab, 0xfa48, 0x8e45, 0x9c6f, 0x9ede,
+ 0x89ef, 0x96e9, 0x9ebb, 0x94de, 0x9eb8, 0x97ba, 0xfb65, 0x95d6,
+ 0x9cbb, 0x97da, 0x8f45, 0xfb7d, 0x9158, 0xfe64, 0x9856, 0x9b4d,
+ 0x935b, 0x95c7, 0x97e7, 0x9359, 0x91f5, 0x97b8, 0xfda2, 0xfbb6,
+ 0x92fa, 0x9357, 0x8ba6, 0xfbb9, 0x97b0, 0xfdc4, 0x9ca1, 0x91f2,
+ 0x91f9, 0x8ff1, 0x9745, 0x9853, 0xfe78, 0xfbc1, 0x9251, 0x9dad,
+ 0xfd6c, 0xfa6b, 0x9bc2, 0x9a7b, 0x8b60, 0x934b, 0x9abd, 0x91b7,
+ 0x95b4, 0xfec5, 0x9ef0, 0x8d64, 0x9269, 0x8d67, 0xfbea, 0xfbef,
+ 0x8d68, 0x93eb, 0xfc42, 0x9166, 0xfacd, 0x93dd, 0x8bcc, 0x8d6d,
+ 0x8d6e, 0x96a8, 0xfca6, 0x8d6f, 0x8d70, 0xfc64, 0x9060, 0x8d74,
+ 0x97c3, 0x8ad0, 0x9274, 0x9bbe, 0x9cc8, 0x9cba, 0x8d78, 0x9eb9,
+ 0x955a, 0x91b4, 0x8a48, 0x8d7d, 0x8a7d, 0x8ac2, 0xfd4a, 0x8da1,
+ 0x8ad1, 0xfcb4, 0x8b47, 0x93a4, 0x9eda, 0x8a51, 0x8da6, 0x9ec5,
+ 0xfcc4, 0xa078, 0x94b5, 0xfcc2, 0x8a6b, 0x8dab, 0xfae8, 0x8dad,
+ 0xfc49, 0x93c1, 0x906f, 0x8db0, 0x947e, 0x90fa, 0x9479, 0x8db2,
+ 0xfcee, 0x997b, 0x8db4, 0x8db7, 0x91b3, 0x8dbb, 0x8dba, 0x8dbc,
+ 0x9044, 0xfd4c, 0x93e4, 0x93e0, 0xfd53, 0x8dc3, 0x9bb8, 0xfbf0,
+ 0x93e9, 0x93f6, 0x8dc5, 0x8dca, 0x8dcc, 0xfd5d, 0x93b5, 0xfd61,
+ 0x9cf8, 0x9252, 0x9ca5, 0x8dd6, 0x97c0, 0xa0de, 0x97d2, 0xfaa5,
+ 0xfda3, 0x8ddb, 0x8eaf, 0x91b5, 0xfd49, 0xfdd1, 0x8deb, 0x97c6,
+ 0xfdce, 0x90fc, 0xfc59, 0x96d6, 0x97c5, 0x8def, 0x97d7, 0x8df0,
+ 0x96a6, 0xfbbf, 0x8df3, 0x9449, 0x8df5, 0x9872, 0x8e6b, 0xfafd,
+ 0x8f50, 0x9dcc, 0xfc65, 0x996e, 0x94a1, 0x8f63, 0xa0da, 0x9253,
+ 0xfde9, 0x9db5, 0x9879, 0x9d5d, 0x8d63, 0x9669, 0x9f70, 0xfc6a,
+ 0x8ac7, 0x89d7, 0xfe4d, 0x9edd, 0xfefb, 0x98bc, 0xfacc, 0x95b0,
+ 0x9464, 0x936f, 0x94b9, 0x95ec, 0x91ee, 0x98c3, 0x95f6, 0x8ffd,
+ 0x98c5, 0x9766, 0xfe6e, 0x97dd, 0x92d2, 0x9761, 0x98cb, 0x95f0,
+ 0x975d, 0x91e3, 0x98cc, 0x9469, 0x98cd, 0x98ce, 0x95fc, 0x94a3,
+ 0x9662, 0xfeb6, 0x9463, 0x98d0, 0x98d1, 0x9475, 0xfae0, 0x9472,
+ 0x98d6, 0x8af0, 0x98d9, 0x98db, 0x98dd, 0x98a8, 0x8a6d, 0x8afb,
+ 0x8aae, 0xfbc9, 0x98e4, 0x98e6, 0x98e8, 0x8a4d, 0x9257, 0x95df,
+ 0xa0ac, 0x98eb, 0x98ec, 0x98f4, 0x8ab8, 0x9ee7, 0x94bc, 0xfcd1,
+ 0x9cc6, 0x9e7e, 0x98fe, 0xfde8, 0x9940, 0x94c9, 0x94d3, 0x9946,
+ 0x90c0, 0x94d1, 0x9573, 0x93c2, 0x9948, 0x994b, 0x8e55, 0x994e,
+ 0x8efe, 0x8e59, 0x94ec, 0x94ef, 0x8f74, 0x9955, 0x9544, 0x9956,
+ 0x9959, 0x995b, 0xfa45, 0x90b7, 0x9743, 0x95cd, 0x97c9, 0xfd50,
+ 0x8eb9, 0x95c6, 0x9967, 0x8ab9, 0x8dfc, 0x8a76, 0x9d51, 0x9973,
+ 0x9d4f, 0x997a, 0x9564, 0x99a1, 0x99a5, 0x99a7, 0x8eed, 0x99ad,
+ 0x946e, 0x8f70, 0xfad0, 0x99b3, 0xa053, 0x965c, 0xfd7a, 0x97fe,
+ 0x92bd, 0x97fd, 0x8f64, 0xfcf7, 0x9562, 0x97cd, 0x9e64, 0x924c,
+ 0x8ec9, 0x99bc, 0x9da5, 0x8f54, 0x8f7c, 0x8ea2, 0x8f7a, 0x97ae,
+ 0x96c8, 0x99c3, 0x90d6, 0x9cbe, 0x8f76, 0x9470, 0xfb4b, 0xfdca,
+ 0x8ec7, 0xa0f9, 0x8fa9, 0x99c7, 0x90d7, 0x9edf, 0x99ce, 0x8fba,
+ 0x8feb, 0x99cf, 0x8fc2, 0x92c9, 0x97dc, 0x95b3, 0x9c79, 0x95b2,
+ 0x8fdb, 0x9be3, 0x9e7a, 0x9bee, 0x99de, 0xfafa, 0x9ee5, 0x8a52,
+ 0x99e1, 0x8a67, 0x8bb5, 0x8aac, 0x99e9, 0xfbca, 0x97de, 0x95d1,
+ 0x99f5, 0xfc4a, 0x9ba9, 0xfbdc, 0xfe56, 0x9ea4, 0x9d49, 0x95db,
+ 0x89c5, 0x99f8, 0x9664, 0x9055, 0x96d4, 0x977c, 0x964d, 0x97e1,
+ 0x9a48, 0x9a49, 0xfe7d, 0x90aa, 0x9a50, 0x9347, 0x8ed8, 0x90c9,
+ 0x9a55, 0x90bc, 0x9a58, 0x8bb8, 0x90d5, 0x9641, 0x9a5a, 0x9a5c,
+ 0x97c2, 0x8abb, 0x9baa, 0x90f5, 0x9a60, 0x9145, 0x9a63, 0x8bb6,
+ 0xfccf, 0x966b, 0x9a6e, 0x914f, 0x9746, 0xa0e6, 0x92d7, 0x9675,
+ 0x93d4, 0x91bb, 0x9679, 0x9a70, 0x9678, 0x91cd, 0x9c4a, 0xa06f,
+ 0xa06a, 0x915f, 0x9fa5, 0x89ba, 0x9ecd, 0x9a79, 0x9dce, 0x9d73,
+ 0x96b9, 0x96bc, 0x9cd1, 0x89b7, 0x9eee, 0xfb43, 0x9ec9, 0xfbd3,
+ 0x91ae, 0x9d78, 0x9d7b, 0x9eb3, 0x9eb2, 0x9dd6, 0x994f, 0x89ce,
+ 0x8bc0, 0x9fc4, 0x8bd4, 0xc6bf, 0x8bf9, 0x8946, 0xc6c0, 0xfae5,
+ 0xc87b, 0x8bc6, 0x9c57, 0x9afb, 0x89d0, 0x89cf, 0xc6c1, 0x89d1,
+ 0x89e2, 0x927e, 0x9dba, 0xc6c2, 0xfbf8, 0x8bc7, 0x926b, 0x89d2,
+ 0x9fcf, 0x9da9, 0x89d3, 0x99e2, 0x9267, 0x92a4, 0x894e, 0x894f,
+ 0x9278, 0x91b6, 0x89d4, 0x9fd2, 0x92a7, 0x95a2, 0x926e, 0x96ea,
+ 0x926f, 0x92a3, 0x8950, 0xfa57, 0x9866, 0x89d6, 0x98b2, 0x92ab,
+ 0x96de, 0x92ac, 0x9f6e, 0x8ef2, 0x9f6c, 0x89d8, 0xfa59, 0x92a8,
+ 0x9163, 0x9f73, 0x92ad, 0x9be9, 0x92a9, 0x92aa, 0x89d9, 0xfd56,
+ 0x9fa8, 0x92a1, 0x90e3, 0xa0a6, 0x94ab, 0xfc72, 0x97c4, 0x92ae,
+ 0xfa67, 0x92a2, 0xfa69, 0x9268, 0x8951, 0xfa6f, 0xfa71, 0x8952,
+ 0x945a, 0xc6c3, 0x89dd, 0xc8a2, 0xc6c4, 0x9e52, 0x8953, 0x9e55,
+ 0x92ba, 0xc6c5, 0xfa7d, 0xfaa8, 0x9a68, 0xfa47, 0xfa7e, 0x92bb,
+ 0xfdb6, 0xfaa2, 0xfaa3, 0xfaa4, 0x9bb4, 0xfaa6, 0x89df, 0xfddb,
+ 0xfaa9, 0x8954, 0xfaab, 0xfc7a, 0x89e0, 0x9f4f, 0xc87d, 0x89e1,
+ 0xfab0, 0x9fcd, 0xa0e7, 0xfab1, 0x89a6, 0x9efa, 0xfab2, 0xfab4,
+ 0x92c4, 0x9f6f, 0x8bb0, 0x9fac, 0x89e3, 0x9bd3, 0x89e4, 0xfab5,
+ 0x9fd5, 0x8955, 0x92c5, 0x8956, 0xfab3, 0xfab6, 0xfab7, 0x9edc,
+ 0xfbc4, 0x9f71, 0xfaba, 0x92c7, 0xc6c6, 0x9a4c, 0x89e5, 0x9f7d,
+ 0xa0a9, 0xfac4, 0xc6c7, 0x8957, 0xfaaa, 0x8958, 0x8be3, 0x8b61,
+ 0x9af1, 0x9eb7, 0xc6c8, 0xfad1, 0xfad2, 0x9eba, 0xfad4, 0xfad9,
+ 0xfadb, 0x9ce0, 0xfbf7, 0xfbfa, 0x89e7, 0xa07a, 0xfadc, 0xfadd,
+ 0x89e9, 0xc6c9, 0xfae2, 0x89eb, 0xfae3, 0x90c8, 0x92da, 0x8959,
+ 0x9cf5, 0x895a, 0xfae7, 0x9fa2, 0xfaea, 0xfaed, 0x8fad, 0xfb59,
+ 0xfaef, 0x96ef, 0x9dec, 0x9dca, 0xfd6d, 0x89ec, 0xfb44, 0x9de2,
+ 0x9ec0, 0x9e56, 0x9f79, 0x9ac7, 0xfaf4, 0x98a1, 0xfaf8, 0x89f0,
+ 0x9e47, 0x9df7, 0x9fd3, 0x9aca, 0x89f1, 0xfaf9, 0x8e5a, 0x89f2,
+ 0x89f3, 0x925d, 0x8b51, 0x92e0, 0x89f4, 0x9fd4, 0x8a79, 0x89f5,
+ 0x97a7, 0x93ba, 0x9e58, 0x89f6, 0x9e57, 0x89f7, 0x8a41, 0x89f8,
+ 0xfaf1, 0x89fa, 0xfb42, 0xfabf, 0xfba3, 0xfaf7, 0x9e4e, 0x94dc,
+ 0x95da, 0x9df8, 0x9f6a, 0x8ab7, 0xfb46, 0x8a46, 0xfb47, 0x9148,
+ 0x92de, 0x8b53, 0x9df6, 0x9bda, 0x9d7e, 0x89fd, 0x99e4, 0x9e43,
+ 0x9de9, 0x8f52, 0x9df5, 0x9df0, 0x99e7, 0x8bbd, 0x9def, 0x9fb7,
+ 0x9dd0, 0x9feb, 0x8da9, 0x9dcf, 0x98e1, 0x9de5, 0x9dc8, 0xfb4f,
+ 0x9deb, 0xfb54, 0xfb55, 0x9aa2, 0x8ad6, 0x9a5f, 0x9ef5, 0x8fb7,
+ 0x9ad2, 0x9e6a, 0x9ee8, 0x8bbf, 0x91c2, 0x9d62, 0x9260, 0x925e,
+ 0x91c1, 0x8ac5, 0x97a3, 0x8b6c, 0x8d7e, 0x9c54, 0x9dbd, 0x9cc5,
+ 0x895b, 0xfb5c, 0xfb5b, 0xfb57, 0x98c7, 0xfb5a, 0x9cee, 0x92e2,
+ 0x94a7, 0x9bd4, 0xfb64, 0xfb76, 0xfb60, 0x99e5, 0x9ac2, 0x91fb,
+ 0xa073, 0x9f72, 0x9fcc, 0x98a5, 0x92e8, 0x9bbc, 0x96f3, 0x92e7,
+ 0xfc67, 0x8b7d, 0x9bf4, 0x9ef7, 0x9ec1, 0x996f, 0x96f1, 0x8e41,
+ 0x954a, 0x97e6, 0x96f5, 0x92e6, 0x9f42, 0xfb67, 0x99a9, 0xfae6,
+ 0xfb69, 0x97e5, 0x967d, 0xfb6c, 0x99a2, 0x9abb, 0x9a65, 0x944e,
+ 0xfb6e, 0x99df, 0x98e3, 0x9254, 0x967b, 0x8aaf, 0x8baf, 0x9ebd,
+ 0x9ee6, 0xfb6f, 0x8ee1, 0x9b7d, 0x9c7e, 0xf9d9, 0x92ea, 0xfb72,
+ 0xfb71, 0x895c, 0x98f0, 0x96f2, 0xfb74, 0x8bc1, 0x895d, 0x89de,
+ 0x895e, 0xc6ca, 0xfe42, 0xfb7b, 0x895f, 0x8960, 0x9bcd, 0x9dd3,
+ 0x984c, 0x9752, 0x95c3, 0x9bb6, 0x9ab9, 0x97b3, 0x9f74, 0x92f1,
+ 0x97df, 0xfba6, 0xfbab, 0x9877, 0x9854, 0x95c5, 0x9d55, 0xfbb2,
+ 0x957e, 0x9742, 0x94e6, 0x92f5, 0x92fd, 0xfba2, 0x9c51, 0x94e9,
+ 0x985c, 0x92f0, 0x944c, 0x916b, 0x8b78, 0x94e2, 0x984f, 0xfbb5,
+ 0x9271, 0x9365, 0x985b, 0x9850, 0x97bc, 0x92f3, 0x9340, 0x984d,
+ 0x9572, 0xfdef, 0xfdc1, 0xfbba, 0x92eb, 0xfc73, 0x97b7, 0xfbb4,
+ 0x90a7, 0x9741, 0x92f4, 0xfbbc, 0x9577, 0x9ee2, 0x8f78, 0xf9dc,
+ 0x9672, 0x9eb5, 0x964b, 0xa0fa, 0x9575, 0x90da, 0x9367, 0xfea4,
+ 0x90df, 0x9354, 0x8961, 0x8bb4, 0x9dc0, 0x8e48, 0xfbc5, 0xfbc7,
+ 0xc6cb, 0xfa79, 0x9e67, 0xfbd2, 0x8962, 0x8963, 0xfc7d, 0x9f6b,
+ 0xfbcc, 0xfeae, 0xfbd1, 0xfb75, 0xfbd4, 0xfbd6, 0xfbd8, 0x8b5d,
+ 0x934c, 0x9ae2, 0x8bc9, 0xfbdb, 0x9fc9, 0x9f44, 0x98ed, 0xfbdd,
+ 0x8df2, 0x8964, 0xfdf2, 0x934d, 0xfbe7, 0xa0f2, 0x9868, 0x9f58,
+ 0x8d73, 0xfbde, 0xfbdf, 0xfbe3, 0x8da8, 0xfbe4, 0x9c75, 0x9878,
+ 0x8d60, 0xfbe5, 0x8d61, 0x8d62, 0xa0a1, 0x9c40, 0x98ad, 0x9eea,
+ 0x9ceb, 0xfbe0, 0x9f51, 0x8d65, 0x9cf1, 0xfc58, 0x8d66, 0x9654,
+ 0xfbe8, 0xc6cc, 0x9fce, 0xfbfc, 0x9ae4, 0x9f75, 0xfbf1, 0x8d69,
+ 0x934f, 0x934e, 0xfbf4, 0xc6ce, 0xfbc3, 0x8965, 0x8d6a, 0x9353,
+ 0x9dfb, 0xfbfd, 0x9059, 0xfc40, 0xfc41, 0xfc43, 0x9361, 0xfc46,
+ 0x9362, 0x8d6b, 0xfc4c, 0x95b8, 0xc6d0, 0x8bca, 0x987a, 0xc6d1,
+ 0xfc51, 0xfc54, 0xfaaf, 0x8d6c, 0xfa61, 0xfc57, 0x9b70, 0xa051,
+ 0x8bcb, 0x936e, 0xfcd5, 0xfca9, 0xfc61, 0x8966, 0xfacb, 0xf9da,
+ 0x937a, 0xa0e0, 0x936b, 0xfc6b, 0xa0dc, 0x9468, 0xfc6d, 0x8d71,
+ 0xfd64, 0x99ba, 0x9ad0, 0x9a61, 0xa0e5, 0xa05b, 0x96ac, 0x9740,
+ 0x9ef1, 0x9f7e, 0x8d72, 0xfc76, 0x96a9, 0xa06e, 0xfcaa, 0xfbcd,
+ 0xfc74, 0xa074, 0xa071, 0xfc79, 0xfc7c, 0x9c50, 0x9379, 0x9378,
+ 0xa0dd, 0x8d75, 0x8d76, 0x9374, 0x8d77, 0xfca5, 0xfca2, 0x90c3,
+ 0xa079, 0x8d79, 0x8bfc, 0xa076, 0x8bcd, 0x9f5a, 0x9ff4, 0x9fba,
+ 0x8d7a, 0x9e45, 0x93b0, 0xa075, 0x9b46, 0xfcae, 0xfcb0, 0xfa51,
+ 0x8d7b, 0x8d7c, 0x9ed6, 0x93ac, 0x9f5b, 0x93a9, 0xa07c, 0xfcb2,
+ 0x8ac1, 0x9fb4, 0xfcac, 0x9e4c, 0x8fc5, 0x93ad, 0x9dc3, 0x8da2,
+ 0x9d4a, 0xfcb6, 0x8da3, 0x9e4b, 0x9e4d, 0x8da4, 0x8afd, 0xfcb5,
+ 0xfcc3, 0x93b2, 0x8da5, 0x93a1, 0x8ac6, 0x8a5b, 0x894d, 0xfed4,
+ 0x8a78, 0x93ab, 0x8da7, 0x9f45, 0x8a56, 0xfcbf, 0xfcc0, 0x8ee6,
+ 0x8aa4, 0x8943, 0x93f3, 0xfcab, 0x9ea2, 0x9dc7, 0xc6d2, 0x8bce,
+ 0xfcc5, 0xfccb, 0x93b3, 0xfcca, 0xfcc9, 0x8dac, 0xfbc6, 0x8967,
+ 0xfccd, 0x9cf3, 0xfcd0, 0x95bb, 0xfcd3, 0xfcd4, 0x8dae, 0xfcd7,
+ 0x93db, 0xfe63, 0x93d5, 0xfcda, 0x9b71, 0xfcdd, 0x8daf, 0xfaf2,
+ 0x93d8, 0xfcdf, 0x93d3, 0xfce1, 0x8e76, 0xfc62, 0x93d1, 0x8db1,
+ 0x9859, 0xfb52, 0xfb53, 0xfb4d, 0x9cbf, 0x9b72, 0xfb50, 0x93be,
+ 0x9df1, 0xfceb, 0xa0bb, 0x9b7e, 0x8db3, 0x9ae8, 0x8edc, 0x9cf9,
+ 0xfa50, 0x98e7, 0xfcf3, 0xfcf2, 0x93e5, 0x9a59, 0x8db5, 0xfd4d,
+ 0xfd5e, 0x8f7d, 0x9547, 0xfcf6, 0x9250, 0x8968, 0x8db6, 0xfcfb,
+ 0xa07d, 0x98fc, 0x8969, 0xfe4f, 0x9256, 0xfac9, 0x93e8, 0xfcf8,
+ 0x9ce3, 0xfda9, 0xfc44, 0x9640, 0x8db8, 0x9b4a, 0x8fb9, 0xfcfe,
+ 0x896a, 0x8db9, 0x917e, 0x93f4, 0xfb7c, 0x93e7, 0x97ef, 0xfe4a,
+ 0xfd45, 0x96a5, 0xfee0, 0xfd48, 0xfd47, 0xfef2, 0xfe6a, 0x8dbd,
+ 0x9ba1, 0x9ab7, 0x8efc, 0x9fa1, 0xfd51, 0xfaad, 0x8dbe, 0x89a4,
+ 0x9ad9, 0xfd4e, 0x8dc0, 0x97f0, 0x93b4, 0xfd44, 0x9fa7, 0x8dc2,
+ 0x99b6, 0xfd52, 0x8dc1, 0x8e46, 0xa0d1, 0x9fca, 0x92cf, 0x9cf4,
+ 0x8dc4, 0xfd41, 0x9b4c, 0xfd57, 0xfcef, 0x9cde, 0xfd42, 0x986c,
+ 0x97f9, 0x9558, 0x985e, 0xfe7b, 0x94cd, 0x93ee, 0xfd5a, 0x93f5,
+ 0x93ef, 0x8eea, 0x8f5b, 0x8dc6, 0x8dc8, 0x8dc7, 0x93f7, 0x8dc9,
+ 0xfbf2, 0x9670, 0x8dcb, 0xfd5c, 0x8f65, 0x8dcd, 0x9da8, 0x94f9,
+ 0x8dce, 0x93ea, 0xfd5f, 0x93f0, 0x9fb6, 0x8dcf, 0x9763, 0x8dd0,
+ 0x93f1, 0xfd62, 0xfd65, 0x9fdb, 0x93f8, 0x8bf7, 0xfd66, 0x8bcf,
+ 0x8dd1, 0x8dd2, 0xfd71, 0xfd6f, 0x8dd3, 0x9fe7, 0x90bd, 0x9fd0,
+ 0x8bd0, 0xfd72, 0x9cae, 0x8bd1, 0x8adb, 0xfae4, 0x95ce, 0xfd76,
+ 0xfb62, 0x8dd4, 0xfd78, 0x8ee3, 0x9076, 0x98c6, 0x8dd5, 0x97d1,
+ 0x9eb6, 0xfac7, 0xa042, 0x9873, 0x9ffc, 0x8dd7, 0x92fb, 0x8dd8,
+ 0x944f, 0x8dd9, 0x896b, 0x97ce, 0xfaf3, 0xfdae, 0xfbaf, 0x92b7,
+ 0x8dda, 0x9c5a, 0xfdad, 0x8ddc, 0x9444, 0x8ddd, 0xa0d6, 0x97d5,
+ 0x944a, 0x944d, 0x97cb, 0x8dde, 0x8ddf, 0x8de0, 0xfef9, 0xfdc0,
+ 0xfcf9, 0xfb7e, 0x92b3, 0xfdaf, 0x8de1, 0x95d3, 0x89c1, 0xfd68,
+ 0x9cb7, 0x8de3, 0xfac0, 0x8de5, 0xfa64, 0x8947, 0x8de4, 0x8de7,
+ 0x8de8, 0xfdc7, 0xfdb0, 0x9445, 0x97d6, 0xfcc6, 0x9844, 0x8de9,
+ 0x8dea, 0xfe50, 0xfdcc, 0x9da7, 0xfdcd, 0xfdcf, 0x95d2, 0x8ded,
+ 0xfcba, 0xfdc5, 0xfdd2, 0x9cdc, 0x95cf, 0x8dee, 0xfdd4, 0x96ec,
+ 0x96eb, 0x90b6, 0xfdc3, 0x98ab, 0x96ee, 0x8df4, 0xfde0, 0x8df6,
+ 0x8df7, 0x8ffa, 0x97d0, 0x8bd2, 0x8df8, 0x90d9, 0xfaf0, 0xfde1,
+ 0x8df9, 0xfde3, 0x8dfa, 0xfb63, 0x90a6, 0x9970, 0x91eb, 0x9770,
+ 0x986f, 0xfde2, 0x98f2, 0x9afc, 0x896c, 0xfdfd, 0x995e, 0x95bd,
+ 0xfde4, 0x91e6, 0xfde5, 0xfde6, 0xfde7, 0x9454, 0x99b8, 0x97e9,
+ 0x9346, 0x9863, 0x95bc, 0xfded, 0xfdf7, 0x9870, 0x96f6, 0x8ea9,
+ 0x9451, 0x8e43, 0x8b5a, 0xfdee, 0xfdf0, 0xfdf4, 0x9bf5, 0x977e,
+ 0x9bd5, 0x9ac3, 0x97c8, 0xa0db, 0x91d0, 0x9fe4, 0x8fdd, 0x91e9,
+ 0x98e0, 0x92ca, 0x9857, 0xfdeb, 0x9b49, 0x9d76, 0x9eaf, 0x9ccc,
+ 0xfdea, 0x8df1, 0xfdfb, 0x8e53, 0xfacf, 0x96f9, 0x98bf, 0x9e49,
+ 0x9bca, 0xfdfe, 0x92dc, 0xfe41, 0x91cc, 0x91e2, 0xfe44, 0x8bd3,
+ 0xfe47, 0xfe48, 0x9455, 0xfe4b, 0xfe4c, 0x8dbf, 0x9e78, 0xfe51,
+ 0x9456, 0x9d61, 0x9457, 0x9966, 0x8bd5, 0xa069, 0x98b4, 0xa049,
+ 0xa04c, 0x9e65, 0x98b5, 0xfe58, 0x9975, 0xfe53, 0xa065, 0xfe59,
+ 0x98b7, 0x98b8, 0x98ba, 0x98bb, 0x9fbc, 0xa04a, 0x9ec7, 0x98ae,
+ 0x92d6, 0xfae1, 0x91d4, 0xfade, 0xfe5b, 0xfe5e, 0xfbd7, 0xfe5a,
+ 0x94c5, 0xfaca, 0x98c1, 0x975c, 0xfe74, 0x9773, 0xfa46, 0x9764,
+ 0xfe68, 0x964e, 0x9765, 0x89a1, 0x95fa, 0x92d4, 0xfe69, 0xfb45,
+ 0x98c8, 0x90ef, 0x98c9, 0x98ca, 0x946d, 0x94b7, 0xfe6c, 0x946b,
+ 0x92fc, 0x95eb, 0xfe73, 0x976e, 0xfe5f, 0xfdbd, 0x92d5, 0xfeb9,
+ 0xfe71, 0xfbbb, 0x947a, 0x95fb, 0xfe77, 0xfe79, 0xfe75, 0x945d,
+ 0xfe7c, 0x9344, 0x8ea6, 0x92d3, 0x94b8, 0xfc71, 0x975e, 0xfea7,
+ 0x946a, 0x93e3, 0x98cf, 0xa0d9, 0xa0bf, 0xa04d, 0xa0b8, 0xa0ce,
+ 0xa0b7, 0xfea9, 0x89c3, 0xfeab, 0x9df4, 0x896d, 0x9c7b, 0x98d2,
+ 0x9fa9, 0xfeb2, 0xfeb1, 0x97d9, 0xa0c4, 0x9476, 0x9978, 0xfeb3,
+ 0x98d3, 0xfeb4, 0x98d4, 0x9fb9, 0x9471, 0x98d5, 0xfeb8, 0xc6d4,
+ 0xfeba, 0x9e5c, 0xfebb, 0xa044, 0x98d7, 0x98d8, 0xfebc, 0x9ffe,
+ 0xfebd, 0x9ddd, 0x9ee1, 0x98da, 0x9ddf, 0xfebf, 0xfebe, 0x9eeb,
+ 0x9e59, 0xa05c, 0xfec0, 0x9477, 0x98dc, 0xfec1, 0x98de, 0xfec3,
+ 0xfec8, 0xfec9, 0xfeca, 0xfecb, 0x9fc2, 0x98c4, 0x94b0, 0x94b1,
+ 0xfed1, 0xa0c1, 0xfed2, 0xa0cd, 0xfed3, 0x98e5, 0xfed6, 0x91e4,
+ 0x8fc7, 0x94ae, 0x8a4f, 0x94b2, 0x8fd4, 0x98ea, 0xfed8, 0x9de0,
+ 0x98ee, 0x95c4, 0xfce8, 0x98ef, 0xfad8, 0xfedc, 0xa0ae, 0x9d4c,
+ 0x98f1, 0x98f3, 0x94c1, 0x98f5, 0xfa4f, 0x96e2, 0x9450, 0x96a2,
+ 0x98f6, 0x96e5, 0x98f7, 0xa046, 0x96e3, 0x98f8, 0x9ee4, 0xf9d6,
+ 0x94c3, 0x94c2, 0xfee1, 0xfee9, 0x96e4, 0x89ac, 0x96db, 0xfee2,
+ 0x94c4, 0xfee3, 0xfee7, 0x9ffb, 0x93c9, 0x94e8, 0xfb56, 0x90c5,
+ 0xa0a8, 0xfee5, 0x98fd, 0x98fb, 0xfee8, 0x8ebf, 0x8bd8, 0xfef7,
+ 0x8f68, 0x94c6, 0x9dea, 0xfc69, 0x9cda, 0xfef3, 0x9c72, 0xfef0,
+ 0x89c9, 0x9941, 0x9942, 0xfef5, 0x91d7, 0x94cc, 0xfef8, 0x97a8,
+ 0xfefc, 0xfdbf, 0xfefe, 0x96d1, 0x94d5, 0x94d0, 0x9944, 0xa0b3,
+ 0x94cf, 0x9ffa, 0x91e5, 0x9c6a, 0x8e49, 0x8e4c, 0x8e4d, 0x9a73,
+ 0x9947, 0x8e50, 0x8e4f, 0x9949, 0x8e51, 0x8e52, 0x9ab2, 0x89a5,
+ 0x994c, 0x9ff8, 0x8e56, 0x994d, 0x91ca, 0x8e57, 0x94e1, 0x9047,
+ 0x8fd8, 0x8e58, 0x94eb, 0x8e5c, 0x9553, 0x9fe5, 0x9f56, 0x954f,
+ 0x8e5e, 0x996a, 0x9c64, 0x9cd9, 0x8e5d, 0x9950, 0x9951, 0x8e62,
+ 0x9952, 0x8e68, 0x8e61, 0x9f59, 0x8bb3, 0x9f5d, 0x8e66, 0x8e6e,
+ 0x9f64, 0x9953, 0xfab8, 0x9954, 0x8e70, 0x9f61, 0x8e72, 0xa06b,
+ 0x9f40, 0x94ed, 0x94ee, 0x9fbd, 0x8e7b, 0x9957, 0x94f7, 0x9f5f,
+ 0x8e73, 0x9f62, 0x94f6, 0x9958, 0x8e75, 0xf9db, 0x9072, 0x94f8,
+ 0x995a, 0xa0b0, 0x8e79, 0x8e78, 0x94f3, 0x98af, 0xa0b2, 0x8e7a,
+ 0x995c, 0x8e7c, 0x8e7d, 0x8bd9, 0x89a2, 0x9ed7, 0xa0b6, 0x9e42,
+ 0x8ea4, 0x8ea7, 0x9542, 0x987d, 0x9755, 0x8ea8, 0x8eaa, 0x89a3,
+ 0x9960, 0x9962, 0x94fc, 0x9961, 0x94fa, 0x8eae, 0x8eb2, 0x8eb0,
+ 0x9963, 0x97aa, 0x94fb, 0x8ebb, 0x9876, 0x8ea1, 0x8eb7, 0x9da6,
+ 0x9eb0, 0x8eb8, 0x9d70, 0x896e, 0x896f, 0x8970, 0x8971, 0x8972,
+ 0x8973, 0x8974, 0x8975, 0x8ebc, 0x8ebd, 0x8ebe, 0x9dd1, 0x94fd,
+ 0x8bd7, 0x8bda, 0xa0e2, 0x9fe9, 0xfda8, 0x8ae7, 0x8ec2, 0x8ec4,
+ 0x9964, 0x9965, 0x954e, 0x98b3, 0x8ecb, 0x8bdf, 0x8ece, 0x8ecf,
+ 0x9968, 0x9969, 0x996b, 0x8ed1, 0x996c, 0x8ed4, 0x8ed5, 0x996d,
+ 0xa0be, 0x8ed6, 0xa0bc, 0xa0b5, 0xa0b4, 0x8be0, 0x89b5, 0x8edd,
+ 0x9e5d, 0x9971, 0x89ae, 0x9de8, 0x9565, 0x9972, 0x8b5c, 0x89b1,
+ 0xa0c0, 0x8edf, 0x9566, 0x9974, 0x9976, 0x9977, 0x9979, 0x9dda,
+ 0x8ee0, 0x935c, 0x9de6, 0x8b5f, 0x9563, 0x9567, 0x9de3, 0x997c,
+ 0x997d, 0x997e, 0x8b5b, 0x99a3, 0x99a4, 0x99a6, 0x99a8, 0x8abe,
+ 0x9e61, 0x99aa, 0xa0c8, 0x99ab, 0xfec4, 0x98c2, 0x8ee8, 0xa0ba,
+ 0xfd77, 0x8eee, 0x9ebf, 0x89c2, 0x99ac, 0x956b, 0x956c, 0x99af,
+ 0x994a, 0x8976, 0x8f48, 0xfbee, 0x99ae, 0x8efb, 0x8b52, 0x99b0,
+ 0x8977, 0x8f41, 0x99b1, 0x8f49, 0xfa4d, 0x9de4, 0xfbe9, 0x9b54,
+ 0x99b2, 0x9e68, 0x8f4a, 0x8f42, 0x8f51, 0x9846, 0x99b4, 0x8ef5,
+ 0xfd55, 0x9ccd, 0x8978, 0x8f53, 0x8f6f, 0x8e63, 0x8f56, 0xfe76,
+ 0x9fc6, 0xfaac, 0x8f58, 0x9848, 0x99b7, 0x9665, 0xfa6c, 0x9de7,
+ 0x9e62, 0x96cc, 0x8e67, 0xfc75, 0x987e, 0xfdb9, 0x97fc, 0x98f9,
+ 0x8f66, 0x956e, 0x9245, 0x8f60, 0x9ed1, 0xfecd, 0x99b9, 0x8f62,
+ 0x974c, 0x91c7, 0x955f, 0x99bb, 0x8e6d, 0x8f71, 0x94cb, 0x95b1,
+ 0x9af2, 0x96c3, 0x99bd, 0xa0cf, 0x8f6d, 0x99be, 0x8ef4, 0x8f72,
+ 0x95e4, 0x99bf, 0x9242, 0xfba5, 0x99c0, 0xfdb4, 0x8f77, 0x99c1,
+ 0xfab9, 0x8f40, 0xfa44, 0x99c2, 0x8f5c, 0x99c4, 0x99c5, 0x8f7b,
+ 0x8fa3, 0x99c6, 0x96cd, 0x96c7, 0x8fa5, 0xfabb, 0x9570, 0x9368,
+ 0x8f7e, 0x8faa, 0xa050, 0x90d3, 0x9556, 0x8fb8, 0x99c8, 0x8faf,
+ 0x99c9, 0x9579, 0x9f49, 0x99ca, 0x99cb, 0x9dd5, 0x8fb0, 0xfa7a,
+ 0x9e5f, 0x99cd, 0xa0c9, 0x9adb, 0xa0c6, 0x8fb4, 0xa0d7, 0xa0c7,
+ 0xa043, 0x8fb5, 0x8fb2, 0xa061, 0x9e5e, 0x8fb6, 0x9fe8, 0x9cb2,
+ 0x957c, 0x9fc7, 0x8fbb, 0x8fbc, 0x8fec, 0x8fc0, 0x936a, 0x8be4,
+ 0x9c7c, 0x95a1, 0xfeec, 0x95a3, 0x8fc1, 0xa052, 0x99d0, 0x8fc3,
+ 0x8fc4, 0x95a4, 0x8fc6, 0x9e60, 0xf9d8, 0x95a5, 0x9cb3, 0x99d1,
+ 0xfef1, 0x99d2, 0x9cc2, 0x99d3, 0x95a7, 0x95a9, 0x95a6, 0x9c5d,
+ 0x98e2, 0x8fc9, 0xa0c2, 0x8fca, 0x99d4, 0xa0b9, 0x9b58, 0x8fcd,
+ 0xa0d4, 0x8fce, 0x8be5, 0x8979, 0x8fd0, 0x95b6, 0x99d6, 0x95e5,
+ 0x99d7, 0x95b5, 0xa0ca, 0x9ffd, 0xa058, 0x8fd6, 0x99d8, 0x8fd3,
+ 0x8fe5, 0x8fe9, 0x99d9, 0x927c, 0x9c45, 0x8fde, 0x8fdf, 0xa04b,
+ 0x8fe2, 0xa0cc, 0x8fe3, 0x8fe4, 0x9bc4, 0x9bfc, 0x964c, 0x9af6,
+ 0x8fe7, 0x8fe8, 0x8be7, 0x897a, 0x897b, 0x99da, 0x8fed, 0x95c0,
+ 0xa0cb, 0x9e48, 0x99db, 0x8ff3, 0x8ff9, 0x95c1, 0xa04e, 0x99dc,
+ 0xa064, 0x8ff7, 0x89b0, 0xa048, 0x8ffb, 0x8ff6, 0x9ddc, 0x99dd,
+ 0x8be8, 0x92c1, 0x9fd6, 0xa0d2, 0x9040, 0x8ac4, 0x99e0, 0x9ff0,
+ 0x9ff3, 0x9dbf, 0x9ff6, 0x95c8, 0x9e5a, 0x99e3, 0x8a4a, 0x9ff1,
+ 0x8aa7, 0x99e6, 0x9ff7, 0x9fed, 0x8a5c, 0x9dae, 0x95c9, 0x9048,
+ 0x99e8, 0x9049, 0x90b1, 0x904a, 0x99ea, 0x9bd1, 0x99eb, 0x99ec,
+ 0x99ed, 0x99ee, 0x904c, 0x904d, 0x95cb, 0x97e2, 0x95cc, 0x9f78,
+ 0x897c, 0x897d, 0x897e, 0x995d, 0x9b5a, 0x9050, 0x9054, 0xc6d6,
+ 0x9aa8, 0x99ef, 0xfeeb, 0x9da3, 0x9da1, 0x9943, 0x9945, 0x9d7d,
+ 0x99f0, 0x99f1, 0x99f2, 0x9d60, 0xa0a3, 0x905b, 0x9edb, 0x9d79,
+ 0x99f3, 0x9062, 0x9f55, 0x9bf9, 0x9065, 0x96e0, 0x98be, 0x9068,
+ 0x906c, 0x95d8, 0x906a, 0x9fb2, 0x9fae, 0x9fb0, 0x89ad, 0x906e,
+ 0x9e71, 0x9e4a, 0x9fdc, 0x89ab, 0x9fb8, 0x9070, 0x8b63, 0x95dc,
+ 0x9071, 0xfc5e, 0x8949, 0x965b, 0x94a6, 0x8fd5, 0x9e73, 0x9075,
+ 0x99f7, 0x99f9, 0x9663, 0x95b9, 0x94d4, 0xfcfa, 0x9077, 0x90ab,
+ 0x9d4d, 0x99fa, 0x92e3, 0x97bb, 0x9078, 0x99fb, 0x97e0, 0x96dc,
+ 0x9ca8, 0x9772, 0x9440, 0x92f2, 0x99fd, 0x99fc, 0xf9d7, 0x964a,
+ 0x96d8, 0x99fe, 0x904b, 0xfa41, 0x9a40, 0x975b, 0x9a41, 0x91dd,
+ 0x93fc, 0x9a42, 0x9a43, 0x9659, 0x9a44, 0x9051, 0x94bf, 0x90a2,
+ 0x9cab, 0x9776, 0xfc55, 0xfe45, 0x94a8, 0x9a45, 0xfa4b, 0x9de1,
+ 0x96d9, 0x9774, 0xfdf5, 0x92e5, 0x9645, 0x91da, 0x90a3, 0xa05f,
+ 0x90af, 0x97bf, 0x914c, 0x967a, 0x91de, 0x9a46, 0xfeb0, 0x9779,
+ 0x946c, 0x9858, 0x9266, 0x93fb, 0x9a47, 0x9749, 0x9748, 0x934a,
+ 0x9ce2, 0x9264, 0x91df, 0xfb79, 0x96d7, 0x9343, 0xfdcb, 0xfe7a,
+ 0x91db, 0x97af, 0x95dd, 0x9348, 0x9a4b, 0xfc45, 0x9a4d, 0x91bc,
+ 0x90e2, 0x90b4, 0x95e1, 0x9a4e, 0x9a4f, 0xfe40, 0xfe43, 0x96dd,
+ 0x9a51, 0x96a7, 0x90b0, 0x9c4e, 0x9443, 0x8eba, 0x9a52, 0xfcc1,
+ 0x8be9, 0x9caf, 0x8bfd, 0x9abc, 0x9ab8, 0x9aae, 0x9aa7, 0x9a53,
+ 0x9d74, 0x8bea, 0x8beb, 0x90b2, 0x95e9, 0x95e8, 0x95e6, 0x90b5,
+ 0x9a54, 0x90b3, 0x95e7, 0x8b50, 0x8bec, 0x9a56, 0x8bfb, 0x9a57,
+ 0xa0aa, 0x9fa6, 0x99cc, 0x9c59, 0x99b5, 0x90be, 0x9faf, 0x95f2,
+ 0x90bf, 0x90c1, 0xfee4, 0x90c4, 0x90c7, 0x92e4, 0x9f52, 0x90db,
+ 0xa066, 0x90d2, 0x90d4, 0x9a5b, 0x95fd, 0x8bc4, 0x90de, 0x9ce4,
+ 0x90e1, 0x9e46, 0x9651, 0xfb58, 0x90e6, 0x9650, 0x90e7, 0x90e8,
+ 0x9a5d, 0x9f7a, 0x9b5c, 0x9f7c, 0xfc52, 0x90e9, 0x90ea, 0x9a5e,
+ 0x9f76, 0x90eb, 0x90ec, 0x8bee, 0x90ee, 0x91c6, 0x90f2, 0xfcbc,
+ 0x8a74, 0x9657, 0x9cef, 0x9fdf, 0x90f7, 0x90f6, 0x9b5e, 0x90f8,
+ 0x90f9, 0xfa6a, 0x8bef, 0x9fe0, 0x9142, 0x9a62, 0x9569, 0x9144,
+ 0x9143, 0x9141, 0x8bf0, 0x9660, 0x8bf1, 0x99f6, 0x9149, 0x914a,
+ 0x914b, 0x9a64, 0x8abf, 0x9a66, 0x9a67, 0x9a69, 0x9a6a, 0x9652,
+ 0x914d, 0x9666, 0x9f7b, 0x9a6b, 0xa06c, 0x9667, 0x9a6c, 0x9a6d,
+ 0x8bf2, 0x966a, 0xfcea, 0x966c, 0x91c4, 0x9677, 0x99f4, 0x9a6f,
+ 0x9fab, 0x8ec1, 0x9555, 0x9152, 0x9153, 0x9155, 0x955d, 0x9671,
+ 0x9c6d, 0x9673, 0x9154, 0x9a71, 0x9156, 0x966d, 0x9557, 0x89c6,
+ 0x89c7, 0x8a6a, 0x8b57, 0x9fe1, 0x9b5f, 0xa05d, 0x915b, 0x915c,
+ 0x915e, 0x9f5c, 0x9f57, 0x9f65, 0x9a72, 0x9160, 0x9f5e, 0x9161,
+ 0x9164, 0x9f41, 0x9169, 0x9168, 0x9a74, 0x96b2, 0x9a75, 0xfda5,
+ 0x9ee9, 0x8bba, 0x916d, 0xa060, 0x9fde, 0x9fc3, 0x96b5, 0xa067,
+ 0x96b3, 0x9a76, 0x95d5, 0x9eca, 0x9a77, 0x9a78, 0x9170, 0x916f,
+ 0x9fa3, 0x9171, 0x96b1, 0x9f63, 0x9f67, 0x8bb9, 0x9a7a, 0x8b56,
+ 0x9ada, 0x96b0, 0x9a7e, 0x9dde, 0x96ad, 0x96ae, 0x9ea1, 0x9e50,
+ 0x96af, 0x8bf4, 0x9fa4, 0x96bd, 0x96f4, 0x96b8, 0xfaa1, 0x91a7,
+ 0xa05e, 0x9a7d, 0x8948, 0x9eb1, 0x9ddb, 0x95bf, 0x8a73, 0x9efe,
+ 0x917a, 0x917b, 0x9aa3, 0x96c2, 0x9f77, 0x9aa4, 0x9aa5, 0x91a1,
+ 0x89b8, 0x9173, 0x9aa6, 0x89bd, 0x89b9, 0x917d, 0x96bb, 0x9ff2,
+ 0x8bf5, 0x9aa9, 0x9f54, 0x9fe3, 0x9eed, 0x91aa, 0x91ab, 0xa070,
+ 0x9f6d, 0x91ac, 0x91ad, 0xa0fd, 0x9fe2, 0x91af, 0x9e41, 0x9aaa,
+ 0x91b0, 0x9aab, 0x9aac, 0x9a4a, 0x91b2, 0x8bf6, 0x9aad, 0x89b6,
+ 0x9aaf, 0x9ab0, 0x9ab1, 0x9aa1, 0x91b9, 0x91ba, 0x91be, 0xa041,
+ 0x8bb7, 0x91c0, 0x9ab3, 0x91c3, 0xa0fc, 0x9fee, 0x9f69, 0x91c8,
+ 0x91c9, 0x8de6, 0x91cb, 0x89c8, 0x8bf8, 0x8daa, 0x9fdd, 0xfa40,
+ 0xfa42, 0xfa43, 0xfa49, 0xfa4a, 0xfa4c, 0xfa4e, 0xfa52, 0xfa53,
+ 0xfa54, 0xfa55, 0xfa56, 0xfa58, 0xfa5a, 0xfa5b, 0xfa5c, 0xfa5d,
+ 0xfa5e, 0xfa60, 0xfa62, 0xfa63, 0xfa65, 0xfa6d, 0xfa6e, 0xfa70,
+ 0xfa72, 0xfa73, 0xfa74, 0xfa75, 0xfa76, 0xfa77, 0xfa78, 0xfa7b,
+ 0xfa7c, 0xfaa7, 0xfaae, 0xfabc, 0xfabe, 0xfac1, 0xfac2, 0xfac3,
+ 0xfac6, 0xfac8, 0xface, 0xfad3, 0xfad6, 0xfad7, 0xfada, 0xfadf,
+ 0xfae9, 0xfaeb, 0xfaec, 0xfaee, 0xfaf5, 0xfaf6, 0xfafb, 0xfafc,
+ 0xfafe, 0xfb40, 0xfb41, 0xfb49, 0xfb4a, 0xfb4c, 0xfb4e, 0xfb51,
+ 0xfb5d, 0xfb5f, 0xfb61, 0xfb66, 0xfb68, 0xfb6a, 0xfb6b, 0xfb6d,
+ 0xfb73, 0xfb77, 0xfb78, 0xfba1, 0xfba4, 0xfba7, 0xfba8, 0xfba9,
+ 0xfbaa, 0xfbac, 0xfbad, 0xfbae, 0xfbb0, 0xfbb1, 0xfbb3, 0xfbb7,
+ 0xfbbd, 0xfbbe, 0xfbc0, 0xfbc2, 0xfbc8, 0xfbcb, 0xfbce, 0xfbcf,
+ 0xfbd0, 0xfbd5, 0xfbd9, 0xfbda, 0xfbe1, 0xfbe2, 0xfbe6, 0xfbeb,
+ 0xfbec, 0xfbed, 0xfbf5, 0xfbf6, 0xfbfb, 0xfbfe, 0xfc47, 0xfc48,
+ 0xfc4b, 0xfc4d, 0xfc4e, 0xfc50, 0xfc53, 0xfc56, 0xfc5a, 0xfc5b,
+ 0xfc5c, 0xfc5d, 0xfc5f, 0xfc60, 0xfc63, 0xfc68, 0xfc6e, 0xfc6f,
+ 0xfc70, 0xfc77, 0xfc78, 0xfc7b, 0xfc7e, 0xfca1, 0xfca3, 0xfca4,
+ 0xfca7, 0xfca8, 0xfcad, 0xfcaf, 0xfcb1, 0xfcb3, 0xfcb7, 0xfcb8,
+ 0xfcbb, 0xfcbd, 0xfcbe, 0xfcc7, 0xfcc8, 0xfccc, 0xfcce, 0xfcd2,
+ 0xfcd6, 0xfcd8, 0xfcd9, 0xfcdb, 0xfcdc, 0xfcde, 0xfce0, 0xfce3,
+ 0xfce4, 0xfce5, 0xfce6, 0xfce7, 0xfce9, 0xfcec, 0xfced, 0xfcf0,
+ 0xfcf4, 0xfcf5, 0xfcfc, 0xfcfd, 0xfd40, 0xfd43, 0xfd46, 0xfd4b,
+ 0xfd4f, 0xfd54, 0xfd58, 0xfd59, 0xfd5b, 0xfd60, 0xfd63, 0xfd67,
+ 0xfd69, 0xfd6a, 0xfd6b, 0xfd6e, 0xfd70, 0xfd73, 0xfd74, 0xfd75,
+ 0xfd79, 0xfd7b, 0xfd7c, 0xfd7d, 0xfd7e, 0xfda1, 0xfda4, 0xfda6,
+ 0xfda7, 0xfdaa, 0xfdab, 0xfdac, 0xfdb1, 0xfdb2, 0xfdb3, 0xfdb5,
+ 0xfdba, 0xfdbc, 0xfdbe, 0xfdc2, 0xfdc6, 0xfdc8, 0xfdc9, 0xfdd0,
+ 0xfdd3, 0xfdd5, 0xfdd6, 0xfdd7, 0xfdd8, 0xfdd9, 0xfdda, 0xfddc,
+ 0xfddd, 0xfdde, 0xfddf, 0xfdec, 0xfdf3, 0xfdf6, 0xfdf8, 0xfdf9,
+ 0xfdfa, 0xfdfc, 0xfe46, 0xfe49, 0xfe4e, 0xfe54, 0xfe55, 0xfe57,
+ 0xfe5c, 0xfe5d, 0xfe60, 0xfe61, 0xfe62, 0xfe65, 0xfe66, 0xfe67,
+ 0xfe6b, 0xfe6d, 0xfe70, 0xfe72, 0xfe7e, 0xfea1, 0xfea2, 0xfea3,
+ 0xfea5, 0xfea6, 0xfea8, 0xfeac, 0xfead, 0xfeaf, 0xfeb5, 0xfeb7,
+ 0xfec2, 0xfec6, 0xfec7, 0xfecc, 0xfece, 0xfecf, 0xfed0, 0xfed5,
+ 0xfed7, 0xfed9, 0xfeda, 0xfedb, 0xfede, 0xfedf, 0xfee6, 0xfeea,
+ 0xfeed, 0xfeee, 0xfeef, 0xfef4, 0xfef6, 0xfefa, 0xfefd, 0x8e40,
+ 0x8e42, 0x8e44, 0x8e47, 0x8e4a, 0x8e4b, 0x8e4e, 0x8e54, 0x8e5b,
+ 0x8e5f, 0x8e60, 0x8e64, 0x8e65, 0x8e6a, 0x8e6c, 0x8e71, 0x8e74,
+ 0x8e77, 0x8ea3, 0x8ea5, 0x8eac, 0x8ead, 0x8eb1, 0x8eb3, 0x8eb5,
+ 0x8eb6, 0x8ec0, 0x8ec3, 0x8ec5, 0x8ec6, 0x8ec8, 0x8eca, 0x8ecc,
+ 0x8ed2, 0x8ed3, 0x8ed7, 0x8ed9, 0x8eda, 0x8edb, 0x8ede, 0x8ee2,
+ 0x8ee4, 0x8ee5, 0x8ee7, 0x8ee9, 0x8eeb, 0x8eec, 0x8eef, 0x8ef0,
+ 0x8ef1, 0x8ef3, 0x8ef6, 0x8ef7, 0x8ef8, 0x8ef9, 0x8efa, 0x8efd,
+ 0x8f43, 0x8f44, 0x8f46, 0x8f47, 0x8f4b, 0x8f4c, 0x8f4d, 0x8f4e,
+ 0x8f4f, 0x8f55, 0x8f5a, 0x8f5e, 0x8f5f, 0x8f61, 0x8f67, 0x8f6a,
+ 0x8f6b, 0x8f6c, 0x8f73, 0x8f75, 0x8f79, 0x8fa1, 0x8fa2, 0x8fa4,
+ 0x8fa6, 0x8fa7, 0x8fa8, 0x8fac, 0x8fae, 0x8fb1, 0x8fb3, 0x8fbd,
+ 0x8fbe, 0x8fbf, 0x8fc8, 0x8fcf, 0x8fd1, 0x8fd2, 0x8fd7, 0x8fd9,
+ 0x8fda, 0x8fdc, 0x8fe0, 0x8fe1, 0x8fe6, 0x8fea, 0x8fee, 0x8fef,
+ 0x8ff0, 0x8ff2, 0x8ff4, 0x8ff5, 0x8ff8, 0x8ffc, 0x9041, 0x9042,
+ 0x9043, 0x9045, 0x9046, 0x904e, 0x904f, 0x9052, 0x9053, 0x9056,
+ 0x9057, 0x9058, 0x905a, 0x905c, 0x905d, 0x905e, 0x905f, 0x9061,
+ 0x9063, 0x9064, 0x9066, 0x9067, 0x9069, 0x906b, 0x9073, 0x9074,
+ 0x9079, 0x907b, 0x907c, 0x907d, 0x907e, 0x90a1, 0x90a4, 0x90a5,
+ 0x90a8, 0x90a9, 0x90ac, 0x90ad, 0x90ae, 0x90b8, 0x90b9, 0x90ba,
+ 0x90bb, 0x90c2, 0x90c6, 0x90ca, 0x90cb, 0x90cc, 0x90cd, 0x90ce,
+ 0x90cf, 0x90d0, 0x90d1, 0x90d8, 0x90dd, 0x90e0, 0x90e4, 0x90e5,
+ 0x90ed, 0x90f0, 0x90f3, 0x90f4, 0x90fb, 0x90fd, 0x90fe, 0x9140,
+ 0x9146, 0x9147, 0x914e, 0x9150, 0x9151, 0x9157, 0x9159, 0x915a,
+ 0x915d, 0x9162, 0x9165, 0x9167, 0x916a, 0x916c, 0x916e, 0x9172,
+ 0x9174, 0x9175, 0x9176, 0x9177, 0x9178, 0x9179, 0x917c, 0x91a2,
+ 0x91a3, 0x91a4, 0x91a5, 0x91a6, 0x91a8, 0x91a9, 0x91b1, 0x91b8,
+ 0x91bd, 0x91c5, 0x91ce, 0x91cf, 0x91d1, 0x91d2, 0x91d3, 0x91d5,
+ 0x91d6, 0x91d8, 0x91d9, 0x91dc, 0x91e0, 0x91e1, 0x91e7, 0x91e8,
+ 0x91ea, 0x91ec, 0x91ed, 0x91ef, 0x91f0, 0x91f1, 0x91f3, 0x91f4,
+ 0x91f6, 0x91f7, 0x91f8, 0x91fa, 0x91fc, 0x91fd, 0x91fe, 0x9240,
+ 0x9241, 0x9243, 0x9246, 0x9247, 0x9248, 0x9249, 0x924a, 0x924b,
+ 0x924d, 0x924e, 0x924f, 0x9255, 0x9258, 0x9259, 0x925a, 0x925b,
+ 0x925c, 0x925f, 0x9261, 0x9262, 0x9263, 0x9265, 0x926a, 0x926c,
+ 0x926d, 0x9270, 0x9272, 0x9273, 0x9275, 0x9276, 0x9279, 0x927a,
+ 0x927b, 0x927d, 0x92a5, 0x92a6, 0x92b4, 0x92b5, 0x92b6, 0x92b8,
+ 0x92b9, 0x92bc, 0x92be, 0x92bf, 0x92c0, 0x92c2, 0x92c3, 0x92c6,
+ 0x92cb, 0x92cc, 0x92cd, 0x92ce, 0x92d0, 0x92d8, 0x92d9, 0x92dd,
+ 0x92df, 0x92e1, 0x92ec, 0x92ed, 0x92ee, 0x92ef, 0x92f6, 0x92f7,
+ 0x92f8, 0x92f9, 0x92fe, 0x9341, 0x9342, 0x9345, 0x9349, 0x9350,
+ 0x9351, 0x9352, 0x9355, 0x9356, 0x9358, 0x935a, 0x935d, 0x935e,
+ 0x935f, 0x9360, 0x9363, 0x9364, 0x9366, 0x9369, 0x936c, 0x936d,
+ 0x9370, 0x9371, 0x9372, 0x9373, 0x9375, 0x9376, 0x9377, 0x937b,
+ 0x937c, 0x937d, 0x937e, 0x93a2, 0x93a3, 0x93a5, 0x93a6, 0x93a7,
+ 0x93a8, 0x93aa, 0x93ae, 0x93af, 0x93b1, 0x93b6, 0x93b7, 0x93b8,
+ 0x93b9, 0x93bb, 0x93bc, 0x93bd, 0x93bf, 0x93c0, 0x93c3, 0x93c4,
+ 0x93c5, 0x93c6, 0x93c7, 0x93c8, 0x93ca, 0x93cb, 0x93cc, 0x93ce,
+ 0x93cf, 0x93d0, 0x93d2, 0x93d6, 0x93d7, 0x93d9, 0x93da, 0x93dc,
+ 0x93de, 0x93df, 0x93e1, 0x93e2, 0x93e6, 0x93ec, 0x93ed, 0x93f2,
+ 0x93f9, 0x93fa, 0x93fd, 0x93fe, 0x9441, 0x9442, 0x9446, 0x9448,
+ 0x944b, 0x9452, 0x9453, 0x9458, 0x9459, 0x945b, 0x945c, 0x945e,
+ 0x945f, 0x9460, 0x9461, 0x9462, 0x9465, 0x9466, 0x9467, 0x946f,
+ 0x9473, 0x9474, 0x9478, 0x947b, 0x947c, 0x947d, 0x94a2, 0x94a4,
+ 0x94a5, 0x94a9, 0x94aa, 0x94ac, 0x94ad, 0x94af, 0x94b3, 0x94b4,
+ 0x94b6, 0x94ba, 0x94bb, 0x94bd, 0x94be, 0x94c0, 0x94c7, 0x94c8,
+ 0x94ce, 0x94d2, 0x94d6, 0x94d7, 0x94d8, 0x94d9, 0x94da, 0x94df,
+ 0x94e0, 0x94e3, 0x94e4, 0x94e5, 0x94e7, 0x94ea, 0x94f0, 0x94f1,
+ 0x94f2, 0x94f4, 0x94f5, 0x94fe, 0x9540, 0x9541, 0x9543, 0x9545,
+ 0x9546, 0x9548, 0x9549, 0x954b, 0x954c, 0x954d, 0x9550, 0x9551,
+ 0x9552, 0x9554, 0x9559, 0x955b, 0x955c, 0x955e, 0x9560, 0x9561,
+ 0x9568, 0x956a, 0x956d, 0x956f, 0x9571, 0x9574, 0x9576, 0x9578,
+ 0x957a, 0x957b, 0x957d, 0x95a8, 0x95aa, 0x95ab, 0x95ac, 0x95ad,
+ 0x95ae, 0x95af, 0x95b7, 0x95ba, 0x95be, 0x95c2, 0x95ca, 0x95d0,
+ 0x95d4, 0x95d7, 0x95de, 0x95e0, 0x95e2, 0x95e3, 0x95ea, 0x95ed,
+ 0x95ee, 0x95ef, 0x95f1, 0x95f3, 0x95f4, 0x95f5, 0x95f7, 0x95f8,
+ 0x95f9, 0x95fe, 0x9642, 0x9643, 0x9646, 0x9647, 0x9648, 0x9649,
+ 0x964f, 0x9653, 0x9655, 0x9656, 0x9658, 0x965a, 0x965d, 0x965e,
+ 0x965f, 0x9661, 0x9668, 0x966e, 0x966f, 0x9674, 0x9676, 0x967c,
+ 0x967e, 0x96a1, 0x96a3, 0x96a4, 0x96aa, 0x96ab, 0x96b4, 0x96b6,
+ 0x96b7, 0x96ba, 0x96be, 0x96bf, 0x96c0, 0x96c1, 0x96c4, 0x96c5,
+ 0x96c6, 0x96c9, 0x96ca, 0x96cb, 0x96ce, 0x96cf, 0x96d0, 0x96d2,
+ 0x96d3, 0x96d5, 0x96da, 0x96e1, 0x96e6, 0x96e7, 0x96e8, 0x96f0,
+ 0x96f8, 0x96fa, 0x96fb, 0x96fd, 0x96fe, 0x9744, 0x9747, 0x974a,
+ 0x974b, 0x974d, 0x974e, 0x974f, 0x9750, 0x9751, 0x9753, 0x9754,
+ 0x9756, 0x9757, 0x9758, 0x9759, 0x975a, 0x975f, 0x9760, 0x9762,
+ 0x9767, 0x9768, 0x9769, 0x976a, 0x976b, 0x976c, 0x976d, 0x976f,
+ 0x9771, 0x9775, 0x9777, 0x9778, 0x977a, 0x977b, 0x977d, 0x97a1,
+ 0x97a2, 0x97a4, 0x97a5, 0x97a6, 0x97a9, 0x97ab, 0x97ac, 0x97ad,
+ 0x97b1, 0x97b2, 0x97b4, 0x97b5, 0x97b6, 0x97b9, 0x97bd, 0x97be,
+ 0x97c1, 0x97c7, 0x97ca, 0x97cc, 0x97cf, 0x97d3, 0x97d4, 0x97d8,
+ 0x97e3, 0x97e4, 0x97e8, 0x97ea, 0x97eb, 0x97ec, 0x97ed, 0x97ee,
+ 0x97f1, 0x97f2, 0x97f3, 0x97f4, 0x97f5, 0x97f6, 0x97f7, 0x97f8,
+ 0x97fa, 0x97fb, 0x9840, 0x9841, 0x9842, 0x9843, 0x9845, 0x9847,
+ 0x9849, 0x984a, 0x984b, 0x984e, 0x9851, 0x9852, 0x9855, 0x985a,
+ 0x985d, 0x985f, 0x9860, 0x9861, 0x9862, 0x9864, 0x9865, 0x9867,
+ 0x9869, 0x986a, 0x986b, 0x986d, 0x986e, 0x9871, 0x9874, 0x9875,
+ 0x987b, 0x987c, 0x98a2, 0x98a3, 0x98a4, 0x98a6, 0x98a7, 0x98a9,
+ 0x98aa, 0x98ac, 0x98b0, 0x98b1, 0x98b6, 0x98b9, 0x98bd, 0x98c0,
+ 0x98df, 0x98fa, 0x995f, 0x99d5, 0x9a7c, 0x9ab4, 0x9ab5, 0x9ab6,
+ 0x9aba, 0x9abe, 0x9abf, 0x9ac0, 0x9ac1, 0x9ac4, 0x9ac5, 0x9ac6,
+ 0x9ac8, 0x9ac9, 0x9acb, 0x9acc, 0x9acd, 0x9ace, 0x9acf, 0x9ad1,
+ 0x9ad3, 0x9ad4, 0x9ad5, 0x9ad6, 0x9ad7, 0x9ad8, 0x9adc, 0x9add,
+ 0x9ade, 0x9adf, 0x9ae0, 0x9ae1, 0x9ae3, 0x9ae5, 0x9ae6, 0x9ae7,
+ 0x9ae9, 0x9aea, 0x9aeb, 0x9aed, 0x9aee, 0x9aef, 0x9af0, 0x9af3,
+ 0x9af4, 0x9af5, 0x9af7, 0x9af8, 0x9af9, 0x9afa, 0x9afd, 0x9afe,
+ 0x9b40, 0x9b41, 0x9b42, 0x9b43, 0x9b44, 0x9b45, 0x9b47, 0x9b48,
+ 0x9b4b, 0x9b4e, 0x9b4f, 0x9b50, 0x9b51, 0x9b52, 0x9b53, 0x9b55,
+ 0x9b56, 0x9b57, 0x9b59, 0x9b5b, 0x9b5d, 0x9b60, 0x9b62, 0x9b63,
+ 0x9b64, 0x9b65, 0x9b66, 0x9b67, 0x9b68, 0x9b69, 0x9b6a, 0x9b6b,
+ 0x9b6c, 0x9b6d, 0x9b6e, 0x9b6f, 0x9b73, 0x9b74, 0x9b75, 0x9b77,
+ 0x9b79, 0x9b7a, 0x9b7c, 0x9ba2, 0x9ba3, 0x9ba4, 0x9ba5, 0x9ba6,
+ 0x9ba7, 0x9ba8, 0x9bab, 0x9bac, 0x9bad, 0x9bae, 0x9baf, 0x9bb0,
+ 0x9bb1, 0x9bb2, 0x9bb3, 0x9bb5, 0x9bb7, 0x9bb9, 0x9bba, 0x9bbb,
+ 0x9bbd, 0x9bbf, 0x9bc0, 0x9bc1, 0x9bc3, 0x9bc5, 0x9bc7, 0x9bc8,
+ 0x9bc9, 0x9bcb, 0x9bcc, 0x9bce, 0x9bcf, 0x9bd0, 0x9bd2, 0x9bd6,
+ 0x9bd7, 0x9bd8, 0x9bd9, 0x9bdb, 0x9bdc, 0x9bdd, 0x9be0, 0x9be1,
+ 0x9be2, 0x9be4, 0x9be5, 0x9be6, 0x9be7, 0x9be8, 0x9beb, 0x9bed,
+ 0x9bef, 0x9bf0, 0x9bf1, 0x9bf2, 0x9bf3, 0x9bf7, 0x9bf8, 0x9bfa,
+ 0x9bfb, 0x9bfd, 0x9bfe, 0x9c41, 0x9c43, 0x9c44, 0x9c46, 0x9c47,
+ 0x9c48, 0x9c49, 0x9c4b, 0x9c4c, 0x9c4d, 0x9c4f, 0x9c52, 0x9c55,
+ 0x9c56, 0x9c58, 0x9c5b, 0x9c5e, 0x9c5f, 0x9c60, 0x9c61, 0x9c63,
+ 0x9c65, 0x9c66, 0x9c67, 0x9c69, 0x9c6c, 0x9c6e, 0x9c70, 0x9c71,
+ 0x9c73, 0x9c74, 0x9c76, 0x9c78, 0x9c7a, 0x9c7d, 0x9ca2, 0x9ca3,
+ 0x9ca4, 0x9ca6, 0x9ca7, 0x9ca9, 0x9caa, 0x9cac, 0x9cad, 0x9cb0,
+ 0x9cb1, 0x9cb4, 0x9cb5, 0x9cb6, 0x9cb8, 0x9cb9, 0x9cc0, 0x9cc1,
+ 0x9cc3, 0x9cc4, 0x9cc7, 0x9cc9, 0x9cca, 0x9ccb, 0x9cce, 0x9ccf,
+ 0x9cd2, 0x9cd3, 0x9cd4, 0x9cd5, 0x9cd6, 0x9cd7, 0x9cd8, 0x9cdb,
+ 0x9cdd, 0x9cdf, 0x9ce1, 0x9ce5, 0x9ce6, 0x9ce7, 0x9ce8, 0x9ce9,
+ 0x9cea, 0x9cec, 0x9ced, 0x9cf0, 0x9cf2, 0x9cf6, 0x9cf7, 0x9cfa,
+ 0x9cfb, 0x9cfc, 0x9cfd, 0x9cfe, 0x9d40, 0x9d41, 0x9d42, 0x9d43,
+ 0x9d44, 0x9d45, 0x9d47, 0x9d48, 0x9d4b, 0x9d4e, 0x9d50, 0x9d52,
+ 0x9d53, 0x9d54, 0x9d56, 0x9d58, 0x9d59, 0x9d5b, 0x9d5c, 0x9d5e,
+ 0x9d5f, 0x9d63, 0x9d64, 0x9d65, 0x9d66, 0x9d67, 0x9d68, 0x9d69,
+ 0x9d6a, 0x9d6b, 0x9d6c, 0x9d6d, 0x9d6e, 0x9d6f, 0x9d71, 0x9d72,
+ 0x9d75, 0x9d77, 0x9d7a, 0x9d7c, 0x9da2, 0x9da4, 0x9dab, 0x9dac,
+ 0x9daf, 0x9db0, 0x9db1, 0x9db2, 0x9db3, 0x9db4, 0x9db6, 0x9db7,
+ 0x9db8, 0x9db9, 0x9dbb, 0x9dbc, 0x9dbe, 0x9dc1, 0x9dc2, 0x9dc5,
+ 0x9dc6, 0x9dc9, 0x9dcb, 0x9dcd, 0x9dd2, 0x9dd4, 0x9dd7, 0x9dd8,
+ 0x9dd9, 0x9ded, 0x9df2, 0x9df9, 0x9dfa, 0x9dfc, 0x9dfd, 0x9dfe,
+ 0x9e40, 0x9e44, 0x9e4f, 0x9e51, 0x9e54, 0x9e5b, 0x9e63, 0x9e66,
+ 0x9e69, 0x9e6b, 0x9e6c, 0x9e6d, 0x9e6e, 0x9e6f, 0x9e70, 0x9e72,
+ 0x9e74, 0x9e75, 0x9e76, 0x9e77, 0x9e79, 0x9e7b, 0x9e7c, 0x9e7d,
+ 0x9ea3, 0x9ea5, 0x9ea6, 0x9ea7, 0x9ea8, 0x9eaa, 0x9eab, 0x9ead,
+ 0x9eae, 0x9ebc, 0x9ebe, 0x9ec2, 0x9ec3, 0x9ec6, 0x9ec8, 0x9ecb,
+ 0x9ecc, 0x9ece, 0x9ecf, 0x9ed0, 0x9ed2, 0x9ed3, 0x9ed4, 0x9ed5,
+ 0x9ed8, 0x9ed9, 0x9ee0, 0x9ee3, 0x9eec, 0x9ef2, 0x9ef3, 0x9ef6,
+ 0x9ef8, 0x9ef9, 0x9efb, 0x9f43, 0x9f46, 0x9f47, 0x9f48, 0x9f4a,
+ 0x9f4b, 0x9f4c, 0x9f4d, 0x9f50, 0x9f53, 0x9f68, 0x9faa, 0x9fb3,
+ 0x9fb5, 0x9fbb, 0x9fbe, 0x9fbf, 0x9fc1, 0x9fc5, 0x9fd1, 0x9fec,
+ 0x9ff5, 0x9ff9, 0xa040, 0xa045, 0xa047, 0xa04f, 0xa055, 0xa056,
+ 0xa059, 0xa06d, 0xa07b, 0xa0a2, 0xa0a4, 0xa0a7, 0xa0ab, 0xa0b1,
+ 0xa0bd, 0xa0c3, 0xa0c5, 0xa0d8, 0xa0e3, 0xa0e8, 0xa0e9, 0xa0ea,
+ 0xa0eb, 0xa0ec, 0xa0ed, 0xa0ee, 0xa0ef, 0xa0f0, 0xa0f1, 0xa0f3,
+ 0xa0f4, 0xa0f5, 0xa0f6, 0xa0f7, 0xa0f8, 0xa0fb, 0xa0fe, 0x8840,
+ 0x8841, 0x8842, 0x8843, 0x8844, 0x8845, 0x8846, 0x8847, 0x8848,
+ 0x8849, 0x884a, 0x884b, 0x884c, 0x884d, 0x884e, 0x884f, 0x8850,
+ 0x8851, 0x8852, 0x8853, 0x8854, 0x8855, 0x8862, 0x8864, 0x88a3,
+ 0x88a5, 0x88a9, 0x88aa, 0x8940, 0x8941, 0x894c, 0x89b2, 0x89bb,
+ 0x89bc, 0x89be, 0x89ca, 0x89cb, 0x89cc, 0x89cd, 0x8a40, 0x8a43,
+ 0x8a44, 0x8a45, 0x8a47, 0x8a49, 0x8a4b, 0x8a4c, 0x8a4e, 0x8a50,
+ 0x8a53, 0x8a54, 0x8a55, 0x8a57, 0x8a58, 0x8a59, 0x8a5a, 0x8a5d,
+ 0x8a5e, 0x8a5f, 0x8a60, 0x8a61, 0x8a62, 0x8a64, 0x8a65, 0x8a66,
+ 0x8a68, 0x8a69, 0x8a6c, 0x8a6f, 0x8a70, 0x8a71, 0x8a72, 0x8a77,
+ 0x8a7a, 0x8a7b, 0x8a7c, 0x8a7e, 0x8aa1, 0x8aa2, 0x8aa3, 0x8aa5,
+ 0x8aa6, 0x8aa8, 0x8aa9, 0x8aaa, 0x8aad, 0x8ab0, 0x8ab2, 0x8ab3,
+ 0x8ab4, 0x8ab5, 0x8ab6, 0x8abc, 0x8abd, 0x8ac0, 0x8ac3, 0x8ac9,
+ 0x8aca, 0x8acb, 0x8acc, 0x8ace, 0x8acf, 0x8ad2, 0x8ad4, 0x8ad5,
+ 0x8ad7, 0x8ad8, 0x8ad9, 0x8adc, 0x8adf, 0x8ae0, 0x8ae1, 0x8ae2,
+ 0x8ae3, 0x8ae4, 0x8ae5, 0x8ae6, 0x8ae8, 0x8ae9, 0x8aea, 0x8aec,
+ 0x8aed, 0x8aee, 0x8aef, 0x8af1, 0x8af2, 0x8af3, 0x8af4, 0x8af6,
+ 0x8af7, 0x8af8, 0x8af9, 0x8afa, 0x8afc, 0x8afe, 0x8b40, 0x8b41,
+ 0x8b42, 0x8b43, 0x8b44, 0x8b45, 0x8b46, 0x8b48, 0x8b49, 0x8b4a,
+ 0x8b4b, 0x8b4c, 0x8b4d, 0x8b4e, 0x8b4f, 0x8b55, 0x8b58, 0x8b59,
+ 0x8b5e, 0x8b62, 0x8b64, 0x8b65, 0x8b66, 0x8b67, 0x8b69, 0x8b6b,
+ 0x8b6d, 0x8b6e, 0x8b6f, 0x8b70, 0x8b71, 0x8b72, 0x8b73, 0x8b74,
+ 0x8b75, 0x8b76, 0x8b77, 0x8b79, 0x8b7a, 0x8b7b, 0x8b7c, 0x8b7e,
+ 0x8ba1, 0x8ba2, 0x8ba3, 0x8ba4, 0x8ba5, 0x8ba7, 0x8ba8, 0x8ba9,
+ 0x8baa, 0x8bab, 0x8bac, 0x8bad, 0x8bae, 0x8bb2, 0x8bbb, 0x8bbc,
+ 0x8bc2, 0x8bc3, 0x8bc5, 0x8bd6, 0x8bdb, 0x8bde, 0x8be1, 0x8be2,
+ 0x8be6, 0x8bed, 0x8bf3, 0x8bfa, 0x8de2, 0x8dec, 0x8dfb, 0x8dfe,
+ 0xc879, 0xc87a, 0xc87c, 0xc87e, 0xc8a1, 0xc8a3, 0xc8a4, 0xc8d0,
+ 0xc8cf, 0xc6e4, 0xc6e5, 0xc8cd, 0xc8ce, 0xf9fe,
+};
+
+static const Summary16 hkscs_uni2indx_page00[45] = {
+ /* 0x0000 */
+ { 0, 0x0000 }, { 0, 0x0000 }, { 0, 0x0000 }, { 0, 0x0000 },
+ { 0, 0x0000 }, { 0, 0x0000 }, { 0, 0x0000 }, { 0, 0x0000 },
+ { 0, 0x0000 }, { 0, 0x0000 }, { 0, 0x0100 }, { 1, 0x0000 },
+ { 1, 0x0703 }, { 6, 0x000c }, { 8, 0x3703 }, { 15, 0x170c },
+ /* 0x0100 */
+ { 21, 0x0003 }, { 23, 0x0c0c }, { 27, 0x0800 }, { 28, 0x0000 },
+ { 28, 0x3800 }, { 31, 0x0008 }, { 32, 0x0800 }, { 33, 0x0000 },
+ { 33, 0x0000 }, { 33, 0x0000 }, { 33, 0x0000 }, { 33, 0x0000 },
+ { 33, 0x6000 }, { 35, 0x1557 }, { 43, 0x0000 }, { 43, 0x0000 },
+ /* 0x0200 */
+ { 43, 0x0000 }, { 43, 0x0000 }, { 43, 0x0000 }, { 43, 0x0000 },
+ { 43, 0x0000 }, { 43, 0x0813 }, { 47, 0x0402 }, { 49, 0x0020 },
+ { 50, 0x0408 }, { 52, 0x0000 }, { 52, 0x0000 }, { 52, 0x0000 },
+ { 52, 0x0040 },
+};
+static const Summary16 hkscs_uni2indx_page04[6] = {
+ /* 0x0400 */
+ { 53, 0x0002 }, { 54, 0xffff }, { 70, 0xffff }, { 86, 0xffff },
+ { 102, 0xffff }, { 118, 0x0002 },
+};
+static const Summary16 hkscs_uni2indx_page1e[13] = {
+ /* 0x1e00 */
+ { 119, 0x0000 }, { 119, 0x0000 }, { 119, 0x0000 }, { 119, 0x0000 },
+ { 119, 0x0000 }, { 119, 0x0000 }, { 119, 0x0000 }, { 119, 0x0000 },
+ { 119, 0x0000 }, { 119, 0x0000 }, { 119, 0x0000 }, { 119, 0xc000 },
+ { 121, 0x0003 },
+};
+static const Summary16 hkscs_uni2indx_page21[15] = {
+ /* 0x2100 */
+ { 123, 0x0000 }, { 123, 0x0040 }, { 124, 0x0002 }, { 125, 0x0000 },
+ { 125, 0x0000 }, { 125, 0x0000 }, { 125, 0x0000 }, { 125, 0x03ff },
+ { 135, 0x0000 }, { 135, 0x0000 }, { 135, 0x0000 }, { 135, 0x0300 },
+ { 137, 0x0000 }, { 137, 0x0000 }, { 137, 0x0080 },
+};
+static const Summary16 hkscs_uni2indx_page24[24] = {
+ /* 0x2400 */
+ { 138, 0x0000 }, { 138, 0x0000 }, { 138, 0x0000 }, { 138, 0x0000 },
+ { 138, 0x0000 }, { 138, 0x0000 }, { 138, 0x03ff }, { 148, 0x3ff0 },
+ { 158, 0x0000 }, { 158, 0x0000 }, { 158, 0x0000 }, { 158, 0x0000 },
+ { 158, 0x0000 }, { 158, 0x0000 }, { 158, 0x0000 }, { 158, 0x0000 },
+ /* 0x2500 */
+ { 158, 0x0000 }, { 158, 0x0000 }, { 158, 0x0000 }, { 158, 0x0000 },
+ { 158, 0x0000 }, { 158, 0xffff }, { 174, 0xffff }, { 190, 0x0001 },
+};
+static const Summary16 hkscs_uni2indx_page27[4] = {
+ /* 0x2700 */
+ { 191, 0x0000 }, { 191, 0x0000 }, { 191, 0x0000 }, { 191, 0x2000 },
+};
+static const Summary16 hkscs_uni2indx_page2e[48] = {
+ /* 0x2e00 */
+ { 192, 0x0000 }, { 192, 0x0000 }, { 192, 0x0000 }, { 192, 0x0000 },
+ { 192, 0x0000 }, { 192, 0x0000 }, { 192, 0x0000 }, { 192, 0x0000 },
+ { 192, 0x35d1 }, { 200, 0x3020 }, { 203, 0x54a0 }, { 208, 0x5040 },
+ { 211, 0xb440 }, { 216, 0x40c0 }, { 219, 0x0008 }, { 220, 0x0000 },
+ /* 0x2f00 */
+ { 220, 0x0000 }, { 220, 0x0000 }, { 220, 0x0000 }, { 220, 0x0008 },
+ { 221, 0x0000 }, { 221, 0x0000 }, { 221, 0x0000 }, { 221, 0x0000 },
+ { 221, 0x0000 }, { 221, 0x0000 }, { 221, 0x0000 }, { 221, 0x0000 },
+ { 221, 0x0000 }, { 221, 0x0000 }, { 221, 0x0000 }, { 221, 0x0000 },
+ /* 0x3000 */
+ { 221, 0x00e0 }, { 224, 0x0000 }, { 224, 0x0000 }, { 224, 0x0000 },
+ { 224, 0xfffe }, { 239, 0xffff }, { 255, 0xffff }, { 271, 0xffff },
+ { 287, 0xffff }, { 303, 0x780f }, { 311, 0xfffe }, { 326, 0xffff },
+ { 342, 0xffff }, { 358, 0xffff }, { 374, 0xffff }, { 390, 0x707f },
+};
+static const Summary16 hkscs_uni2indx_page32[4] = {
+ /* 0x3200 */
+ { 400, 0x0000 }, { 400, 0x0000 }, { 400, 0x0000 }, { 400, 0x0002 },
+};
+static const Summary16 hkscs_uni2indx_page34[1723] = {
+ /* 0x3400 */
+ { 401, 0x0000 }, { 401, 0x0000 }, { 401, 0x0000 }, { 401, 0x0020 },
+ { 402, 0x1001 }, { 404, 0x0000 }, { 404, 0x0010 }, { 405, 0x6408 },
+ { 409, 0x0000 }, { 409, 0x0048 }, { 411, 0x8020 }, { 413, 0x1000 },
+ { 414, 0x0102 }, { 416, 0x8000 }, { 417, 0x0010 }, { 418, 0x0800 },
+ /* 0x3500 */
+ { 419, 0x0040 }, { 420, 0x0000 }, { 420, 0x0000 }, { 420, 0x4000 },
+ { 421, 0x0000 }, { 421, 0x000a }, { 423, 0x2002 }, { 425, 0x0185 },
+ { 429, 0x0010 }, { 430, 0x0180 }, { 432, 0x2022 }, { 435, 0x8000 },
+ { 436, 0x44a2 }, { 441, 0x2844 }, { 445, 0x0000 }, { 445, 0x480e },
+ /* 0x3600 */
+ { 450, 0x0200 }, { 451, 0x0500 }, { 453, 0x2008 }, { 455, 0x4220 },
+ { 458, 0x4380 }, { 462, 0x8000 }, { 463, 0x0000 }, { 463, 0x0400 },
+ { 464, 0x0002 }, { 465, 0x0400 }, { 466, 0x1420 }, { 469, 0x1223 },
+ { 474, 0x01ba }, { 480, 0x2058 }, { 484, 0x0066 }, { 488, 0x0020 },
+ /* 0x3700 */
+ { 489, 0x250a }, { 494, 0x1000 }, { 495, 0x302c }, { 500, 0x040d },
+ { 504, 0x0009 }, { 506, 0x0000 }, { 506, 0x8004 }, { 508, 0x0000 },
+ { 508, 0x0000 }, { 508, 0x0080 }, { 509, 0x0001 }, { 510, 0x4200 },
+ { 512, 0x0000 }, { 512, 0x0000 }, { 512, 0x0000 }, { 512, 0x0904 },
+ /* 0x3800 */
+ { 515, 0x8000 }, { 516, 0x0200 }, { 517, 0x2001 }, { 519, 0x0140 },
+ { 521, 0x0000 }, { 521, 0x0000 }, { 521, 0x0008 }, { 522, 0x0000 },
+ { 522, 0x0000 }, { 522, 0x0000 }, { 522, 0x0001 }, { 523, 0x0000 },
+ { 523, 0x1008 }, { 525, 0x0002 }, { 526, 0x0000 }, { 526, 0x0400 },
+ /* 0x3900 */
+ { 527, 0x0100 }, { 528, 0x0010 }, { 529, 0x0080 }, { 530, 0x8004 },
+ { 532, 0x2000 }, { 533, 0x0000 }, { 533, 0x0008 }, { 534, 0x0000 },
+ { 534, 0x0601 }, { 537, 0x0a04 }, { 540, 0x0012 }, { 542, 0x0100 },
+ { 543, 0x0000 }, { 543, 0x1000 }, { 544, 0x1024 }, { 547, 0x4900 },
+ /* 0x3a00 */
+ { 550, 0x004a }, { 553, 0x0180 }, { 555, 0x0600 }, { 557, 0x0010 },
+ { 558, 0x0800 }, { 559, 0x5084 }, { 563, 0x00c0 }, { 565, 0x0000 },
+ { 565, 0x0000 }, { 565, 0x0080 }, { 566, 0x0800 }, { 567, 0x2000 },
+ { 568, 0x0000 }, { 568, 0x4000 }, { 569, 0x0001 }, { 570, 0x0805 },
+ /* 0x3b00 */
+ { 573, 0x4000 }, { 574, 0x0200 }, { 575, 0x0804 }, { 577, 0x0200 },
+ { 578, 0x0004 }, { 579, 0x0100 }, { 580, 0x0001 }, { 581, 0x1806 },
+ { 585, 0x0001 }, { 586, 0x0240 }, { 588, 0x0002 }, { 589, 0x5000 },
+ { 591, 0x0014 }, { 593, 0x2080 }, { 595, 0x1000 }, { 596, 0x001c },
+ /* 0x3c00 */
+ { 599, 0x2000 }, { 600, 0x0022 }, { 602, 0x0000 }, { 602, 0x0000 },
+ { 602, 0x0000 }, { 602, 0x0010 }, { 603, 0x0000 }, { 603, 0x0000 },
+ { 603, 0x0000 }, { 603, 0x0000 }, { 603, 0x0000 }, { 603, 0x0000 },
+ { 603, 0x2800 }, { 605, 0x1042 }, { 608, 0x8800 }, { 610, 0x0000 },
+ /* 0x3d00 */
+ { 610, 0x0000 }, { 610, 0x2008 }, { 612, 0x0000 }, { 612, 0x0804 },
+ { 614, 0x5040 }, { 617, 0x8002 }, { 619, 0x8604 }, { 623, 0x2020 },
+ { 625, 0x8420 }, { 628, 0x0002 }, { 629, 0x2020 }, { 631, 0x8010 },
+ { 633, 0x30c0 }, { 637, 0x0808 }, { 639, 0x0980 }, { 642, 0x3088 },
+ /* 0x3e00 */
+ { 646, 0x0040 }, { 647, 0x0000 }, { 647, 0x0000 }, { 647, 0x0000 },
+ { 647, 0x0109 }, { 650, 0x0020 }, { 651, 0x0000 }, { 651, 0x0010 },
+ { 652, 0x0000 }, { 652, 0x0000 }, { 652, 0x2700 }, { 656, 0x8102 },
+ { 659, 0x1484 }, { 663, 0x44c3 }, { 669, 0x0a86 }, { 674, 0x9419 },
+ /* 0x3f00 */
+ { 680, 0x4051 }, { 684, 0x0000 }, { 684, 0x0000 }, { 684, 0x0000 },
+ { 684, 0x0000 }, { 684, 0x0308 }, { 687, 0x0008 }, { 688, 0x1000 },
+ { 689, 0x0000 }, { 689, 0x0008 }, { 690, 0x0000 }, { 690, 0x0000 },
+ { 690, 0x0001 }, { 691, 0x1080 }, { 693, 0x2020 }, { 695, 0x0600 },
+ /* 0x4000 */
+ { 697, 0x0010 }, { 698, 0x2000 }, { 699, 0x0000 }, { 699, 0x0200 },
+ { 700, 0x0020 }, { 701, 0x0088 }, { 703, 0x8424 }, { 707, 0x0000 },
+ { 707, 0x0000 }, { 707, 0x0000 }, { 707, 0x0100 }, { 708, 0x8800 },
+ { 710, 0x0100 }, { 711, 0x8100 }, { 713, 0x0000 }, { 713, 0x0400 },
+ /* 0x4100 */
+ { 714, 0x4218 }, { 718, 0x0000 }, { 718, 0x0000 }, { 718, 0x0004 },
+ { 719, 0x0000 }, { 719, 0x0000 }, { 719, 0x5080 }, { 722, 0x8000 },
+ { 723, 0x0000 }, { 723, 0x0001 }, { 724, 0x0000 }, { 724, 0x0004 },
+ { 725, 0x8410 }, { 728, 0x0800 }, { 729, 0x8000 }, { 730, 0x0200 },
+ /* 0x4200 */
+ { 731, 0x0000 }, { 731, 0x0002 }, { 732, 0x0000 }, { 732, 0x0000 },
+ { 732, 0x0001 }, { 733, 0x0000 }, { 733, 0x0401 }, { 735, 0x0400 },
+ { 736, 0x1000 }, { 737, 0x0010 }, { 738, 0x0000 }, { 738, 0x1220 },
+ { 741, 0x0000 }, { 741, 0x0000 }, { 741, 0x0000 }, { 741, 0x1810 },
+ /* 0x4300 */
+ { 744, 0x0000 }, { 744, 0x0000 }, { 744, 0x0800 }, { 745, 0x0000 },
+ { 745, 0x0000 }, { 745, 0x0000 }, { 745, 0x4000 }, { 746, 0x0000 },
+ { 746, 0x0000 }, { 746, 0x0080 }, { 747, 0x0000 }, { 747, 0x0400 },
+ { 748, 0x0002 }, { 749, 0x8200 }, { 751, 0x2000 }, { 752, 0x0004 },
+ /* 0x4400 */
+ { 753, 0x0006 }, { 755, 0x0008 }, { 756, 0x2020 }, { 758, 0x0000 },
+ { 758, 0x0000 }, { 758, 0x0000 }, { 758, 0x0000 }, { 758, 0x0400 },
+ { 759, 0x8000 }, { 760, 0x8000 }, { 761, 0x0005 }, { 763, 0x0081 },
+ { 765, 0x4021 }, { 768, 0xa000 }, { 770, 0x1e10 }, { 775, 0x0010 },
+ /* 0x4500 */
+ { 776, 0x0a18 }, { 780, 0x2040 }, { 782, 0x4080 }, { 784, 0xa808 },
+ { 788, 0x0008 }, { 789, 0x1026 }, { 793, 0x0404 }, { 795, 0x0080 },
+ { 796, 0x0020 }, { 797, 0x0000 }, { 797, 0x0000 }, { 797, 0x0000 },
+ { 797, 0x0000 }, { 797, 0x0000 }, { 797, 0x0200 }, { 798, 0x0000 },
+ /* 0x4600 */
+ { 798, 0x8040 }, { 800, 0x00a0 }, { 802, 0x0000 }, { 802, 0x0000 },
+ { 802, 0x0000 }, { 802, 0x0800 }, { 803, 0x0000 }, { 803, 0x0400 },
+ { 804, 0x0001 }, { 805, 0x0000 }, { 805, 0x0000 }, { 805, 0x0000 },
+ { 805, 0x8000 }, { 806, 0x0001 }, { 807, 0x0000 }, { 807, 0x0020 },
+ /* 0x4700 */
+ { 808, 0x0000 }, { 808, 0x0108 }, { 810, 0x0000 }, { 810, 0x0000 },
+ { 810, 0x4000 }, { 811, 0x0000 }, { 811, 0x0000 }, { 811, 0x1000 },
+ { 812, 0x0000 }, { 812, 0x0100 }, { 813, 0x0040 }, { 814, 0x0040 },
+ { 815, 0x0000 }, { 815, 0x0020 }, { 816, 0x2000 }, { 817, 0x0010 },
+ /* 0x4800 */
+ { 818, 0x0801 }, { 820, 0x0000 }, { 820, 0x0000 }, { 820, 0x0080 },
+ { 821, 0x0000 }, { 821, 0x2000 }, { 822, 0x0000 }, { 822, 0x0002 },
+ { 823, 0x0000 }, { 823, 0x0800 }, { 824, 0x6000 }, { 826, 0x0000 },
+ { 826, 0x0000 }, { 826, 0x2001 }, { 828, 0x2000 }, { 829, 0x0408 },
+ /* 0x4900 */
+ { 831, 0x0040 }, { 832, 0x4002 }, { 834, 0x2420 }, { 837, 0x5020 },
+ { 840, 0x0020 }, { 841, 0x000a }, { 843, 0x0420 }, { 845, 0x0004 },
+ { 846, 0x0200 }, { 847, 0x0000 }, { 847, 0x0082 }, { 849, 0x0000 },
+ { 849, 0x0000 }, { 849, 0x8000 }, { 850, 0x00a0 }, { 852, 0x0000 },
+ /* 0x4a00 */
+ { 852, 0x8000 }, { 853, 0x2000 }, { 854, 0x0010 }, { 855, 0x0020 },
+ { 856, 0x0000 }, { 856, 0x0000 }, { 856, 0x0000 }, { 856, 0x0000 },
+ { 856, 0x0000 }, { 856, 0x0040 }, { 857, 0x0000 }, { 857, 0x0110 },
+ { 859, 0x0000 }, { 859, 0x0002 }, { 860, 0x0010 }, { 861, 0x8000 },
+ /* 0x4b00 */
+ { 862, 0x0000 }, { 862, 0x0200 }, { 863, 0x1000 }, { 864, 0x0080 },
+ { 865, 0x0000 }, { 865, 0x0000 }, { 865, 0x8000 }, { 866, 0x4805 },
+ { 870, 0x4000 }, { 871, 0x20c9 }, { 876, 0x0000 }, { 876, 0x6000 },
+ { 878, 0x0001 }, { 879, 0x0000 }, { 879, 0x0000 }, { 879, 0x0000 },
+ /* 0x4c00 */
+ { 879, 0x4090 }, { 882, 0x0000 }, { 882, 0x0000 }, { 882, 0x4800 },
+ { 884, 0x0000 }, { 884, 0x0800 }, { 885, 0x2000 }, { 886, 0x2000 },
+ { 887, 0x0000 }, { 887, 0x0000 }, { 887, 0x4010 }, { 889, 0x0081 },
+ { 891, 0x2000 }, { 892, 0x0000 }, { 892, 0x2002 }, { 894, 0x0000 },
+ /* 0x4d00 */
+ { 894, 0x0200 }, { 895, 0x0001 }, { 896, 0x0000 }, { 896, 0x0010 },
+ { 897, 0x0000 }, { 897, 0x0000 }, { 897, 0x0000 }, { 897, 0x0000 },
+ { 897, 0x0000 }, { 897, 0x1002 }, { 899, 0x0000 }, { 899, 0x0000 },
+ { 899, 0x0000 }, { 899, 0x0000 }, { 899, 0x0000 }, { 899, 0x0000 },
+ /* 0x4e00 */
+ { 899, 0x0010 }, { 900, 0x1400 }, { 902, 0x1512 }, { 907, 0xa0c0 },
+ { 911, 0x0200 }, { 912, 0x0c00 }, { 914, 0x0400 }, { 915, 0x0100 },
+ { 916, 0x02a3 }, { 921, 0x0500 }, { 923, 0x0001 }, { 924, 0x9880 },
+ { 928, 0x4000 }, { 929, 0x0000 }, { 929, 0x4c00 }, { 932, 0x0100 },
+ /* 0x4f00 */
+ { 933, 0x0008 }, { 934, 0x0400 }, { 935, 0x0300 }, { 937, 0x0284 },
+ { 940, 0x0824 }, { 943, 0x0000 }, { 943, 0x0000 }, { 943, 0x0004 },
+ { 944, 0x0400 }, { 945, 0x0000 }, { 945, 0x0904 }, { 948, 0x2001 },
+ { 950, 0x1100 }, { 952, 0x0000 }, { 952, 0x0030 }, { 954, 0x2204 },
+ /* 0x5000 */
+ { 957, 0x0108 }, { 959, 0x0000 }, { 959, 0x4000 }, { 960, 0x0010 },
+ { 961, 0x0000 }, { 961, 0x0140 }, { 963, 0x1040 }, { 965, 0x0000 },
+ { 965, 0x0102 }, { 967, 0x0001 }, { 968, 0x0040 }, { 969, 0x0000 },
+ { 969, 0x2000 }, { 970, 0x8201 }, { 973, 0x0002 }, { 974, 0x1010 },
+ /* 0x5100 */
+ { 976, 0x6002 }, { 979, 0x0000 }, { 979, 0x0800 }, { 980, 0x0000 },
+ { 980, 0x0000 }, { 980, 0x0040 }, { 981, 0x0401 }, { 983, 0x0210 },
+ { 985, 0x0144 }, { 988, 0x1440 }, { 991, 0x0980 }, { 994, 0x013c },
+ { 999, 0x8288 }, { 1003, 0x880e }, { 1008, 0x2014 }, { 1011, 0x5010 },
+ /* 0x5200 */
+ { 1014, 0x0824 }, { 1017, 0x8000 }, { 1018, 0x00c1 }, { 1021, 0x1010 },
+ { 1023, 0x0000 }, { 1023, 0x0280 }, { 1025, 0x0101 }, { 1027, 0x0208 },
+ { 1029, 0x8000 }, { 1030, 0x0411 }, { 1033, 0x0112 }, { 1036, 0x0220 },
+ { 1038, 0x1020 }, { 1040, 0x0003 }, { 1042, 0x0003 }, { 1044, 0x0200 },
+ /* 0x5300 */
+ { 1045, 0x0002 }, { 1046, 0x0000 }, { 1046, 0x1080 }, { 1048, 0x090c },
+ { 1052, 0x4004 }, { 1054, 0xa000 }, { 1056, 0x2290 }, { 1060, 0x6010 },
+ { 1063, 0x0000 }, { 1063, 0x0008 }, { 1064, 0x4f45 }, { 1072, 0x0041 },
+ { 1074, 0x1026 }, { 1078, 0x0707 }, { 1084, 0x0001 }, { 1085, 0x40c0 },
+ /* 0x5400 */
+ { 1088, 0x0000 }, { 1088, 0x0458 }, { 1092, 0x800a }, { 1095, 0x0004 },
+ { 1096, 0x2800 }, { 1098, 0x0000 }, { 1098, 0x2600 }, { 1101, 0x0000 },
+ { 1101, 0x8020 }, { 1103, 0x5098 }, { 1108, 0x0018 }, { 1110, 0x0214 },
+ { 1113, 0x3800 }, { 1116, 0x0401 }, { 1118, 0x8008 }, { 1120, 0x0000 },
+ /* 0x5500 */
+ { 1120, 0x2004 }, { 1122, 0x4108 }, { 1125, 0x0928 }, { 1129, 0x8000 },
+ { 1130, 0x0280 }, { 1132, 0x2008 }, { 1134, 0x0a00 }, { 1136, 0x020e },
+ { 1140, 0x0040 }, { 1141, 0x0001 }, { 1142, 0x0200 }, { 1143, 0x1611 },
+ { 1148, 0x0002 }, { 1149, 0x4180 }, { 1152, 0x1400 }, { 1154, 0x0823 },
+ /* 0x5600 */
+ { 1158, 0x0020 }, { 1159, 0x4002 }, { 1161, 0x202f }, { 1167, 0x0080 },
+ { 1168, 0xa008 }, { 1171, 0x2015 }, { 1175, 0x0002 }, { 1176, 0x1c00 },
+ { 1179, 0x0e00 }, { 1182, 0xc004 }, { 1185, 0x8012 }, { 1188, 0x8202 },
+ { 1191, 0x0000 }, { 1191, 0x0040 }, { 1192, 0xa004 }, { 1195, 0x2002 },
+ /* 0x5700 */
+ { 1197, 0x0001 }, { 1198, 0x2020 }, { 1200, 0x0000 }, { 1200, 0x8004 },
+ { 1202, 0x004c }, { 1205, 0x8890 }, { 1209, 0x0080 }, { 1210, 0xc400 },
+ { 1213, 0x2500 }, { 1216, 0x1001 }, { 1218, 0x0482 }, { 1221, 0x4810 },
+ { 1224, 0x0110 }, { 1226, 0x6080 }, { 1229, 0x8040 }, { 1231, 0x4000 },
+ /* 0x5800 */
+ { 1232, 0x0008 }, { 1233, 0x0004 }, { 1234, 0x0044 }, { 1236, 0x0400 },
+ { 1237, 0x0091 }, { 1240, 0x9000 }, { 1242, 0x1200 }, { 1244, 0x000c },
+ { 1246, 0x0000 }, { 1246, 0x0600 }, { 1248, 0x0480 }, { 1250, 0x0861 },
+ { 1254, 0x0800 }, { 1255, 0x1000 }, { 1256, 0x0001 }, { 1257, 0x080d },
+ /* 0x5900 */
+ { 1261, 0x04b4 }, { 1266, 0x8002 }, { 1268, 0x0000 }, { 1268, 0x0014 },
+ { 1270, 0x0000 }, { 1270, 0x0000 }, { 1270, 0x0020 }, { 1271, 0x0020 },
+ { 1272, 0x0200 }, { 1273, 0x8410 }, { 1276, 0x1000 }, { 1277, 0x0181 },
+ { 1280, 0x0210 }, { 1282, 0x0200 }, { 1283, 0x8800 }, { 1285, 0x0301 },
+ /* 0x5a00 */
+ { 1288, 0x2804 }, { 1291, 0x0004 }, { 1292, 0x1c92 }, { 1298, 0x2000 },
+ { 1299, 0x0020 }, { 1300, 0x0210 }, { 1302, 0x490a }, { 1307, 0x4202 },
+ { 1310, 0x0146 }, { 1314, 0x0242 }, { 1317, 0x0803 }, { 1320, 0x0000 },
+ { 1320, 0xc008 }, { 1323, 0x0008 }, { 1324, 0x0010 }, { 1325, 0x4405 },
+ /* 0x5b00 */
+ { 1329, 0x2000 }, { 1330, 0x8002 }, { 1332, 0x0800 }, { 1333, 0x0000 },
+ { 1333, 0x8452 }, { 1338, 0x0000 }, { 1338, 0x2140 }, { 1341, 0x1050 },
+ { 1344, 0x0005 }, { 1346, 0xe001 }, { 1350, 0x0400 }, { 1351, 0x0000 },
+ { 1351, 0x0008 }, { 1352, 0x00a0 }, { 1354, 0x0000 }, { 1354, 0x8008 },
+ /* 0x5c00 */
+ { 1356, 0x0020 }, { 1357, 0x5018 }, { 1361, 0x0009 }, { 1363, 0x0000 },
+ { 1363, 0x0600 }, { 1365, 0x4008 }, { 1367, 0x0000 }, { 1367, 0x0000 },
+ { 1367, 0x0020 }, { 1368, 0x5600 }, { 1372, 0x0000 }, { 1372, 0x0400 },
+ { 1373, 0x0006 }, { 1375, 0x0002 }, { 1376, 0x8220 }, { 1379, 0x0000 },
+ /* 0x5d00 */
+ { 1379, 0x0000 }, { 1379, 0x0121 }, { 1382, 0x9000 }, { 1384, 0x4000 },
+ { 1385, 0x0140 }, { 1387, 0x08c0 }, { 1390, 0x0000 }, { 1390, 0x0011 },
+ { 1392, 0x4820 }, { 1395, 0x0000 }, { 1395, 0x0810 }, { 1397, 0x0240 },
+ { 1399, 0x0002 }, { 1400, 0x0880 }, { 1402, 0x0000 }, { 1402, 0x0020 },
+ /* 0x5e00 */
+ { 1403, 0x0a00 }, { 1405, 0x0004 }, { 1406, 0x4000 }, { 1407, 0x0000 },
+ { 1407, 0x0104 }, { 1409, 0x4000 }, { 1410, 0x0000 }, { 1410, 0x8400 },
+ { 1412, 0x0048 }, { 1414, 0x0000 }, { 1414, 0x0000 }, { 1414, 0x2000 },
+ { 1415, 0x2000 }, { 1416, 0x0001 }, { 1417, 0x0000 }, { 1417, 0x1b10 },
+ /* 0x5f00 */
+ { 1422, 0x7000 }, { 1425, 0x0000 }, { 1425, 0x0020 }, { 1426, 0x0400 },
+ { 1427, 0x2000 }, { 1428, 0x1003 }, { 1431, 0x000a }, { 1433, 0x0804 },
+ { 1435, 0x0008 }, { 1436, 0x0000 }, { 1436, 0x0090 }, { 1438, 0x0402 },
+ { 1440, 0x0010 }, { 1441, 0x8800 }, { 1443, 0x0000 }, { 1443, 0x0000 },
+ /* 0x6000 */
+ { 1443, 0x0000 }, { 1443, 0x0000 }, { 1443, 0x0008 }, { 1444, 0x0802 },
+ { 1446, 0x0400 }, { 1447, 0x0004 }, { 1448, 0x0000 }, { 1448, 0x40a0 },
+ { 1451, 0x0000 }, { 1451, 0x4000 }, { 1452, 0x0090 }, { 1454, 0x0008 },
+ { 1455, 0x0000 }, { 1455, 0x4080 }, { 1457, 0x0388 }, { 1461, 0x2000 },
+ /* 0x6100 */
+ { 1462, 0x1080 }, { 1464, 0x0200 }, { 1465, 0x0000 }, { 1465, 0x2001 },
+ { 1467, 0x0004 }, { 1468, 0x1201 }, { 1471, 0x8011 }, { 1474, 0x2000 },
+ { 1475, 0x0082 }, { 1477, 0x1320 }, { 1481, 0x0000 }, { 1481, 0x0280 },
+ { 1483, 0x8001 }, { 1485, 0x0409 }, { 1488, 0x0004 }, { 1489, 0x0000 },
+ /* 0x6200 */
+ { 1489, 0x0000 }, { 1489, 0x0000 }, { 1489, 0x1000 }, { 1490, 0x0280 },
+ { 1492, 0x1000 }, { 1493, 0x0000 }, { 1493, 0x0100 }, { 1494, 0x0000 },
+ { 1494, 0x0024 }, { 1496, 0x2001 }, { 1498, 0x0050 }, { 1500, 0x0000 },
+ { 1500, 0x0028 }, { 1502, 0x8020 }, { 1504, 0x0020 }, { 1505, 0x0000 },
+ /* 0x6300 */
+ { 1505, 0x0000 }, { 1505, 0x0100 }, { 1506, 0x4000 }, { 1507, 0x00a2 },
+ { 1510, 0x0000 }, { 1510, 0x0000 }, { 1510, 0x1010 }, { 1512, 0x8200 },
+ { 1514, 0x0800 }, { 1515, 0x0000 }, { 1515, 0x0000 }, { 1515, 0x0200 },
+ { 1516, 0x0002 }, { 1517, 0x4002 }, { 1519, 0x0044 }, { 1521, 0x5900 },
+ /* 0x6400 */
+ { 1525, 0x0080 }, { 1526, 0x0000 }, { 1526, 0x0000 }, { 1526, 0x0d04 },
+ { 1530, 0x0000 }, { 1530, 0x0400 }, { 1531, 0x0000 }, { 1531, 0x1002 },
+ { 1533, 0x2000 }, { 1534, 0x0002 }, { 1535, 0x8000 }, { 1536, 0x0050 },
+ { 1538, 0x0001 }, { 1539, 0x2008 }, { 1541, 0x04a2 }, { 1545, 0x0000 },
+ /* 0x6500 */
+ { 1545, 0x0400 }, { 1546, 0xc002 }, { 1549, 0x0000 }, { 1549, 0x0031 },
+ { 1552, 0x2000 }, { 1553, 0x8000 }, { 1554, 0x2800 }, { 1556, 0x0000 },
+ { 1556, 0x0360 }, { 1560, 0x0000 }, { 1560, 0x0000 }, { 1560, 0x4020 },
+ { 1562, 0x0000 }, { 1562, 0x0012 }, { 1564, 0x0009 }, { 1566, 0x8000 },
+ /* 0x6600 */
+ { 1567, 0x0000 }, { 1567, 0x4100 }, { 1569, 0x0008 }, { 1570, 0x0001 },
+ { 1571, 0x0910 }, { 1574, 0x0088 }, { 1576, 0x0888 }, { 1579, 0x2008 },
+ { 1581, 0x4020 }, { 1583, 0x0404 }, { 1585, 0x2010 }, { 1587, 0x8048 },
+ { 1590, 0x6000 }, { 1592, 0x0000 }, { 1592, 0x0000 }, { 1592, 0x0002 },
+ /* 0x6700 */
+ { 1593, 0x5004 }, { 1596, 0x4040 }, { 1598, 0x0020 }, { 1599, 0x0040 },
+ { 1600, 0x0010 }, { 1601, 0x0000 }, { 1601, 0x0086 }, { 1604, 0x0000 },
+ { 1604, 0x8000 }, { 1605, 0x0000 }, { 1605, 0x1011 }, { 1608, 0x8002 },
+ { 1610, 0x0000 }, { 1610, 0x00c0 }, { 1612, 0x0000 }, { 1612, 0x4200 },
+ /* 0x6800 */
+ { 1614, 0x201f }, { 1620, 0x4801 }, { 1623, 0x0004 }, { 1624, 0x40c0 },
+ { 1627, 0x0480 }, { 1629, 0x2060 }, { 1632, 0x0020 }, { 1633, 0x0000 },
+ { 1633, 0x0110 }, { 1635, 0x0100 }, { 1636, 0x0040 }, { 1637, 0x2240 },
+ { 1640, 0x0428 }, { 1643, 0x0000 }, { 1643, 0x0000 }, { 1643, 0x0000 },
+ /* 0x6900 */
+ { 1643, 0x020f }, { 1648, 0x0d00 }, { 1651, 0x1000 }, { 1652, 0x4040 },
+ { 1654, 0x0048 }, { 1656, 0x0020 }, { 1657, 0x0092 }, { 1660, 0x000c },
+ { 1662, 0x0421 }, { 1665, 0x8100 }, { 1667, 0x0004 }, { 1668, 0x0004 },
+ { 1669, 0x0001 }, { 1670, 0x0062 }, { 1673, 0x0202 }, { 1675, 0x0600 },
+ /* 0x6a00 */
+ { 1677, 0x1808 }, { 1680, 0x1400 }, { 1682, 0x3800 }, { 1685, 0x0008 },
+ { 1686, 0x1020 }, { 1688, 0x008c }, { 1691, 0x0020 }, { 1692, 0x0412 },
+ { 1695, 0x8404 }, { 1698, 0x2200 }, { 1700, 0x0880 }, { 1702, 0x4026 },
+ { 1706, 0x0700 }, { 1709, 0x0110 }, { 1711, 0x0000 }, { 1711, 0x0040 },
+ /* 0x6b00 */
+ { 1712, 0x0020 }, { 1713, 0x2000 }, { 1714, 0x0000 }, { 1714, 0x0020 },
+ { 1715, 0x0000 }, { 1715, 0x0084 }, { 1717, 0x8000 }, { 1718, 0x0410 },
+ { 1720, 0x0002 }, { 1721, 0x0000 }, { 1721, 0x0000 }, { 1721, 0x0000 },
+ { 1721, 0x0002 }, { 1722, 0x1000 }, { 1723, 0x0402 }, { 1725, 0x0400 },
+ /* 0x6c00 */
+ { 1726, 0x0000 }, { 1726, 0x1000 }, { 1727, 0x0000 }, { 1727, 0x26a2 },
+ { 1733, 0x0200 }, { 1734, 0x0500 }, { 1736, 0x4000 }, { 1737, 0x8220 },
+ { 1740, 0x0000 }, { 1740, 0x8000 }, { 1741, 0x8404 }, { 1744, 0x0004 },
+ { 1745, 0x4800 }, { 1747, 0x8000 }, { 1748, 0x0400 }, { 1749, 0x0000 },
+ /* 0x6d00 */
+ { 1749, 0x0064 }, { 1752, 0x0000 }, { 1752, 0x0050 }, { 1754, 0x0000 },
+ { 1754, 0x4000 }, { 1755, 0x1880 }, { 1758, 0x0000 }, { 1758, 0x0006 },
+ { 1760, 0x8002 }, { 1762, 0x0040 }, { 1763, 0x0030 }, { 1765, 0x0202 },
+ { 1767, 0x0000 }, { 1767, 0x0000 }, { 1767, 0x0000 }, { 1767, 0x0000 },
+ /* 0x6e00 */
+ { 1767, 0x8414 }, { 1771, 0x0120 }, { 1773, 0x0600 }, { 1775, 0x0000 },
+ { 1775, 0x8000 }, { 1776, 0x0201 }, { 1778, 0x0000 }, { 1778, 0x1040 },
+ { 1780, 0x0840 }, { 1782, 0x0400 }, { 1783, 0x0000 }, { 1783, 0x0920 },
+ { 1786, 0x0000 }, { 1786, 0x2e00 }, { 1790, 0x0304 }, { 1793, 0x0400 },
+ /* 0x6f00 */
+ { 1794, 0x1810 }, { 1797, 0x00c0 }, { 1799, 0x0010 }, { 1800, 0x2010 },
+ { 1802, 0x0010 }, { 1803, 0x1040 }, { 1805, 0x0000 }, { 1805, 0x0210 },
+ { 1807, 0x0402 }, { 1809, 0xa000 }, { 1811, 0x0000 }, { 1811, 0x4820 },
+ { 1814, 0x0000 }, { 1814, 0x0608 }, { 1817, 0x0000 }, { 1817, 0x0140 },
+ /* 0x7000 */
+ { 1819, 0x0008 }, { 1820, 0x4000 }, { 1821, 0x1000 }, { 1822, 0x0000 },
+ { 1822, 0x0800 }, { 1823, 0x1011 }, { 1826, 0x9080 }, { 1829, 0xc220 },
+ { 1833, 0x8a02 }, { 1837, 0x0000 }, { 1837, 0x00e9 }, { 1842, 0x3a00 },
+ { 1846, 0x1011 }, { 1849, 0x8061 }, { 1853, 0x0000 }, { 1853, 0x4022 },
+ /* 0x7100 */
+ { 1856, 0x0020 }, { 1857, 0x2000 }, { 1858, 0x1a00 }, { 1861, 0x4838 },
+ { 1866, 0x8421 }, { 1870, 0x0002 }, { 1871, 0x0800 }, { 1872, 0x54ea },
+ { 1880, 0x5100 }, { 1883, 0x0140 }, { 1885, 0x200c }, { 1888, 0x0490 },
+ { 1891, 0x0000 }, { 1891, 0x2002 }, { 1893, 0x0800 }, { 1894, 0x0060 },
+ /* 0x7200 */
+ { 1896, 0xc200 }, { 1899, 0x00e0 }, { 1902, 0x4810 }, { 1905, 0x0000 },
+ { 1905, 0x0001 }, { 1906, 0x10a1 }, { 1910, 0x0040 }, { 1911, 0x0000 },
+ { 1911, 0x8084 }, { 1914, 0x8010 }, { 1916, 0x2000 }, { 1917, 0x0004 },
+ { 1918, 0x2000 }, { 1919, 0x0000 }, { 1919, 0x0004 }, { 1920, 0x0000 },
+ /* 0x7300 */
+ { 1920, 0x0014 }, { 1922, 0x0001 }, { 1923, 0x5d00 }, { 1928, 0x0300 },
+ { 1930, 0x8102 }, { 1933, 0x0000 }, { 1933, 0x0000 }, { 1933, 0x0012 },
+ { 1935, 0x8000 }, { 1936, 0x5100 }, { 1939, 0x0480 }, { 1941, 0x0000 },
+ { 1941, 0xc200 }, { 1944, 0x0021 }, { 1946, 0x8056 }, { 1951, 0x0a88 },
+ /* 0x7400 */
+ { 1955, 0x0000 }, { 1955, 0xd2b6 }, { 1964, 0x0000 }, { 1964, 0x1380 },
+ { 1968, 0x03a8 }, { 1973, 0x2048 }, { 1976, 0x1921 }, { 1981, 0x0450 },
+ { 1984, 0x3004 }, { 1987, 0x0a00 }, { 1989, 0x0010 }, { 1990, 0x0010 },
+ { 1991, 0x1100 }, { 1993, 0x0009 }, { 1995, 0x0080 }, { 1996, 0x0107 },
+ /* 0x7500 */
+ { 2000, 0x4020 }, { 2002, 0x4200 }, { 2004, 0x0000 }, { 2004, 0x0830 },
+ { 2007, 0x2444 }, { 2011, 0x002a }, { 2014, 0x6081 }, { 2018, 0x0404 },
+ { 2020, 0x6008 }, { 2023, 0x4004 }, { 2025, 0x0000 }, { 2025, 0x0012 },
+ { 2027, 0x0108 }, { 2029, 0x1000 }, { 2030, 0x0000 }, { 2030, 0x0000 },
+ /* 0x7600 */
+ { 2030, 0x0084 }, { 2032, 0x0000 }, { 2032, 0x1000 }, { 2033, 0x0800 },
+ { 2034, 0xe001 }, { 2038, 0x0012 }, { 2040, 0x80c0 }, { 2043, 0x0458 },
+ { 2047, 0x0000 }, { 2047, 0x0001 }, { 2048, 0x0022 }, { 2050, 0x0080 },
+ { 2051, 0x1000 }, { 2052, 0x0040 }, { 2053, 0x0000 }, { 2053, 0x0000 },
+ /* 0x7700 */
+ { 2053, 0xd000 }, { 2056, 0x4000 }, { 2057, 0x0850 }, { 2060, 0x0000 },
+ { 2060, 0x0009 }, { 2062, 0x0100 }, { 2063, 0x0000 }, { 2063, 0x0d84 },
+ { 2068, 0x0000 }, { 2068, 0x0108 }, { 2070, 0x8000 }, { 2071, 0x4200 },
+ { 2073, 0x0828 }, { 2076, 0x0000 }, { 2076, 0x0040 }, { 2077, 0x4010 },
+ /* 0x7800 */
+ { 2079, 0x0100 }, { 2080, 0x5100 }, { 2083, 0x0000 }, { 2083, 0x3200 },
+ { 2086, 0x0894 }, { 2090, 0x001a }, { 2093, 0x0040 }, { 2094, 0x0400 },
+ { 2095, 0x2102 }, { 2098, 0x0000 }, { 2098, 0x8000 }, { 2099, 0x0342 },
+ { 2103, 0x0080 }, { 2104, 0x018c }, { 2108, 0x4000 }, { 2109, 0x0023 },
+ /* 0x7900 */
+ { 2112, 0x0040 }, { 2113, 0x0000 }, { 2113, 0x4000 }, { 2114, 0x185c },
+ { 2120, 0x0000 }, { 2120, 0x0300 }, { 2122, 0x0004 }, { 2123, 0x4002 },
+ { 2125, 0x00c9 }, { 2129, 0xa202 }, { 2133, 0x0220 }, { 2135, 0x0000 },
+ { 2135, 0x1050 }, { 2138, 0x0010 }, { 2139, 0x0004 }, { 2140, 0x0012 },
+ /* 0x7a00 */
+ { 2142, 0x0040 }, { 2143, 0x0000 }, { 2143, 0x2000 }, { 2144, 0x4400 },
+ { 2146, 0x0228 }, { 2149, 0x0000 }, { 2149, 0x0020 }, { 2150, 0x2000 },
+ { 2151, 0x0008 }, { 2152, 0x0002 }, { 2153, 0x0000 }, { 2153, 0x1801 },
+ { 2156, 0x830c }, { 2161, 0x3c08 }, { 2166, 0x0684 }, { 2170, 0x4000 },
+ /* 0x7b00 */
+ { 2171, 0x1800 }, { 2173, 0x8010 }, { 2175, 0x0280 }, { 2177, 0x0200 },
+ { 2178, 0x000c }, { 2180, 0x0020 }, { 2181, 0x9004 }, { 2184, 0x0800 },
+ { 2185, 0x0000 }, { 2185, 0x0004 }, { 2186, 0x000c }, { 2188, 0x0004 },
+ { 2189, 0x8000 }, { 2190, 0x0001 }, { 2191, 0x0000 }, { 2191, 0x1400 },
+ /* 0x7c00 */
+ { 2193, 0x0000 }, { 2193, 0x0824 }, { 2196, 0x0000 }, { 2196, 0x0020 },
+ { 2197, 0x0014 }, { 2199, 0x2042 }, { 2202, 0x2000 }, { 2203, 0x5811 },
+ { 2208, 0x4048 }, { 2211, 0x1000 }, { 2212, 0x50c0 }, { 2216, 0x0100 },
+ { 2217, 0x2284 }, { 2221, 0x0408 }, { 2223, 0x2040 }, { 2225, 0x1228 },
+ /* 0x7d00 */
+ { 2229, 0x0000 }, { 2229, 0x0000 }, { 2229, 0x0020 }, { 2230, 0x0000 },
+ { 2230, 0x2000 }, { 2231, 0x2400 }, { 2233, 0x0000 }, { 2233, 0x0000 },
+ { 2233, 0x0200 }, { 2234, 0x0080 }, { 2235, 0x0910 }, { 2238, 0x0008 },
+ { 2239, 0xa000 }, { 2241, 0x1019 }, { 2245, 0x0030 }, { 2247, 0x6020 },
+ /* 0x7e00 */
+ { 2250, 0x0080 }, { 2251, 0x0000 }, { 2251, 0x0080 }, { 2252, 0x0000 },
+ { 2252, 0x0000 }, { 2252, 0x0000 }, { 2252, 0x40a0 }, { 2255, 0x8000 },
+ { 2256, 0x4000 }, { 2257, 0x8004 }, { 2259, 0x1010 }, { 2261, 0x0400 },
+ { 2262, 0x8080 }, { 2264, 0x8000 }, { 2265, 0x0000 }, { 2265, 0x0000 },
+ /* 0x7f00 */
+ { 2265, 0x0040 }, { 2266, 0x0000 }, { 2266, 0x0000 }, { 2266, 0x0080 },
+ { 2267, 0x4283 }, { 2272, 0x000c }, { 2274, 0x0000 }, { 2274, 0x0102 },
+ { 2276, 0x8000 }, { 2277, 0x0088 }, { 2279, 0x4008 }, { 2281, 0x0010 },
+ { 2282, 0x0000 }, { 2282, 0x2000 }, { 2283, 0x0080 }, { 2284, 0x0400 },
+ /* 0x8000 */
+ { 2285, 0x0104 }, { 2287, 0x2000 }, { 2288, 0xc021 }, { 2292, 0x1802 },
+ { 2295, 0x0000 }, { 2295, 0x0810 }, { 2297, 0x004e }, { 2301, 0x0000 },
+ { 2301, 0x0001 }, { 2302, 0x8000 }, { 2303, 0x0080 }, { 2304, 0x30c0 },
+ { 2308, 0x0040 }, { 2309, 0x0000 }, { 2309, 0x1200 }, { 2311, 0x0040 },
+ /* 0x8100 */
+ { 2312, 0x5288 }, { 2317, 0x0494 }, { 2321, 0x0400 }, { 2322, 0x0094 },
+ { 2325, 0x0104 }, { 2327, 0x0640 }, { 2330, 0x2000 }, { 2331, 0x1000 },
+ { 2332, 0x0010 }, { 2333, 0x0008 }, { 2334, 0x0420 }, { 2336, 0x0040 },
+ { 2337, 0x0102 }, { 2339, 0x0000 }, { 2339, 0x8010 }, { 2341, 0x0040 },
+ /* 0x8200 */
+ { 2342, 0x0000 }, { 2342, 0x0500 }, { 2344, 0x2240 }, { 2347, 0x4000 },
+ { 2348, 0x0000 }, { 2348, 0x0010 }, { 2349, 0x0024 }, { 2351, 0x0e40 },
+ { 2355, 0x0080 }, { 2356, 0x0000 }, { 2356, 0x0440 }, { 2358, 0x0000 },
+ { 2358, 0x8410 }, { 2361, 0x0101 }, { 2363, 0x4004 }, { 2365, 0xb080 },
+ /* 0x8300 */
+ { 2369, 0x0800 }, { 2370, 0x2500 }, { 2373, 0x0000 }, { 2373, 0x2000 },
+ { 2374, 0x0000 }, { 2374, 0x0080 }, { 2375, 0x804c }, { 2379, 0x0000 },
+ { 2379, 0x0020 }, { 2380, 0x1002 }, { 2382, 0x1000 }, { 2383, 0x4200 },
+ { 2385, 0x2000 }, { 2386, 0x0008 }, { 2387, 0x2000 }, { 2388, 0x0000 },
+ /* 0x8400 */
+ { 2388, 0x0020 }, { 2389, 0x1150 }, { 2393, 0x4053 }, { 2398, 0x4000 },
+ { 2399, 0x0500 }, { 2401, 0x1128 }, { 2405, 0x0014 }, { 2407, 0x8006 },
+ { 2410, 0x0101 }, { 2412, 0x004c }, { 2415, 0x2008 }, { 2417, 0x6000 },
+ { 2419, 0x0000 }, { 2419, 0x4400 }, { 2421, 0x0036 }, { 2425, 0x0100 },
+ /* 0x8500 */
+ { 2426, 0x0028 }, { 2428, 0x0001 }, { 2429, 0x0000 }, { 2429, 0x0118 },
+ { 2432, 0x1804 }, { 2435, 0x0404 }, { 2437, 0x8000 }, { 2438, 0x0009 },
+ { 2440, 0x0000 }, { 2440, 0x0000 }, { 2440, 0x0000 }, { 2440, 0x0000 },
+ { 2440, 0x0002 }, { 2441, 0x0000 }, { 2441, 0x4001 }, { 2443, 0x1000 },
+ /* 0x8600 */
+ { 2444, 0x2004 }, { 2446, 0x0051 }, { 2449, 0x8100 }, { 2451, 0x0000 },
+ { 2451, 0x0024 }, { 2453, 0x0000 }, { 2453, 0x1000 }, { 2454, 0x4004 },
+ { 2456, 0x0000 }, { 2456, 0x0004 }, { 2457, 0x2001 }, { 2459, 0x0004 },
+ { 2460, 0x0000 }, { 2460, 0x0000 }, { 2460, 0x8000 }, { 2461, 0x0000 },
+ /* 0x8700 */
+ { 2461, 0x0000 }, { 2461, 0x0000 }, { 2461, 0x0000 }, { 2461, 0x0000 },
+ { 2461, 0x0000 }, { 2461, 0x0000 }, { 2461, 0x0000 }, { 2461, 0x2003 },
+ { 2464, 0x1840 }, { 2467, 0x0000 }, { 2467, 0x0220 }, { 2469, 0x0002 },
+ { 2470, 0x4002 }, { 2472, 0x0440 }, { 2474, 0x4000 }, { 2475, 0x0020 },
+ /* 0x8800 */
+ { 2476, 0x8010 }, { 2478, 0x0100 }, { 2479, 0x2080 }, { 2481, 0x0000 },
+ { 2481, 0x8064 }, { 2485, 0x4000 }, { 2486, 0x4031 }, { 2490, 0x0000 },
+ { 2490, 0x0090 }, { 2492, 0x1000 }, { 2493, 0x4001 }, { 2495, 0x8030 },
+ { 2498, 0x80a0 }, { 2501, 0x0000 }, { 2501, 0x0040 }, { 2502, 0x8020 },
+ /* 0x8900 */
+ { 2504, 0x0001 }, { 2505, 0x0000 }, { 2505, 0x0010 }, { 2506, 0x0000 },
+ { 2506, 0x2088 }, { 2509, 0x0010 }, { 2510, 0x0020 }, { 2511, 0x0080 },
+ { 2512, 0x0681 }, { 2516, 0x0012 }, { 2518, 0x02a0 }, { 2521, 0x1000 },
+ { 2522, 0x0042 }, { 2524, 0x0000 }, { 2524, 0x0080 }, { 2525, 0x0000 },
+ /* 0x8a00 */
+ { 2525, 0x0000 }, { 2525, 0x1000 }, { 2526, 0x0a00 }, { 2528, 0x2100 },
+ { 2530, 0x0200 }, { 2531, 0x0000 }, { 2531, 0x0080 }, { 2532, 0x4000 },
+ { 2533, 0x0000 }, { 2533, 0x1011 }, { 2536, 0x8200 }, { 2538, 0x0010 },
+ { 2539, 0x0000 }, { 2539, 0x0400 }, { 2540, 0x0400 }, { 2541, 0x0000 },
+ /* 0x8b00 */
+ { 2541, 0x1000 }, { 2542, 0x8000 }, { 2543, 0x2000 }, { 2544, 0x8000 },
+ { 2545, 0x3008 }, { 2548, 0x4000 }, { 2549, 0x0204 }, { 2551, 0x0000 },
+ { 2551, 0x0002 }, { 2552, 0x0801 }, { 2554, 0x0001 }, { 2555, 0x4000 },
+ { 2556, 0x0000 }, { 2556, 0x0000 }, { 2556, 0x0004 }, { 2557, 0x0000 },
+ /* 0x8c00 */
+ { 2557, 0x0000 }, { 2557, 0x0000 }, { 2557, 0x0000 }, { 2557, 0x0000 },
+ { 2557, 0x0000 }, { 2557, 0x0002 }, { 2558, 0x0000 }, { 2558, 0x0000 },
+ { 2558, 0x0000 }, { 2558, 0x8800 }, { 2560, 0x2000 }, { 2561, 0x0000 },
+ { 2561, 0x2000 }, { 2562, 0x0850 }, { 2565, 0x0a00 }, { 2567, 0x0084 },
+ /* 0x8d00 */
+ { 2569, 0x1808 }, { 2572, 0x3106 }, { 2577, 0x0000 }, { 2577, 0x0000 },
+ { 2577, 0x0000 }, { 2577, 0x0000 }, { 2577, 0x0000 }, { 2577, 0x0400 },
+ { 2578, 0x0004 }, { 2579, 0x0000 }, { 2579, 0x0240 }, { 2581, 0x0000 },
+ { 2581, 0x0009 }, { 2583, 0x0010 }, { 2584, 0x0000 }, { 2584, 0x0000 },
+ /* 0x8e00 */
+ { 2584, 0x4002 }, { 2586, 0x0000 }, { 2586, 0x2500 }, { 2589, 0x0400 },
+ { 2590, 0x8040 }, { 2592, 0x0000 }, { 2592, 0x0100 }, { 2593, 0x40a2 },
+ { 2597, 0x0001 }, { 2598, 0x0000 }, { 2598, 0x2080 }, { 2600, 0x1041 },
+ { 2603, 0x4008 }, { 2605, 0x0400 }, { 2606, 0x2014 }, { 2609, 0x0004 },
+ /* 0x8f00 */
+ { 2610, 0x0000 }, { 2610, 0x0200 }, { 2611, 0x2000 }, { 2612, 0x0001 },
+ { 2613, 0x0402 }, { 2615, 0x1000 }, { 2616, 0x40c0 }, { 2619, 0x0000 },
+ { 2619, 0x0000 }, { 2619, 0x0008 }, { 2620, 0x0021 }, { 2622, 0x5fe8 },
+ { 2632, 0x1402 }, { 2635, 0x0401 }, { 2637, 0x0000 }, { 2637, 0x0200 },
+ /* 0x9000 */
+ { 2638, 0x0100 }, { 2639, 0x0004 }, { 2640, 0x0000 }, { 2640, 0x0088 },
+ { 2642, 0x1000 }, { 2643, 0x0040 }, { 2644, 0x1012 }, { 2647, 0x0000 },
+ { 2647, 0x0000 }, { 2647, 0x0000 }, { 2647, 0x4100 }, { 2649, 0x0800 },
+ { 2650, 0x0010 }, { 2651, 0x0000 }, { 2651, 0x0000 }, { 2651, 0x0000 },
+ /* 0x9100 */
+ { 2651, 0x0000 }, { 2651, 0x0000 }, { 2651, 0x0000 }, { 2651, 0x0000 },
+ { 2651, 0x0000 }, { 2651, 0x5202 }, { 2655, 0x0080 }, { 2656, 0x1041 },
+ { 2659, 0x5000 }, { 2661, 0x0000 }, { 2661, 0x0200 }, { 2662, 0x0840 },
+ { 2664, 0x0010 }, { 2665, 0x8040 }, { 2667, 0x0020 }, { 2668, 0x4400 },
+ /* 0x9200 */
+ { 2670, 0x4100 }, { 2672, 0x0008 }, { 2673, 0x0d00 }, { 2676, 0x1020 },
+ { 2678, 0x0012 }, { 2680, 0xa120 }, { 2684, 0x4804 }, { 2687, 0x0080 },
+ { 2688, 0x8212 }, { 2692, 0x0000 }, { 2692, 0x4000 }, { 2693, 0xc602 },
+ { 2698, 0x0000 }, { 2698, 0x0810 }, { 2700, 0x1828 }, { 2704, 0x205c },
+ /* 0x9300 */
+ { 2709, 0x0088 }, { 2711, 0x0000 }, { 2711, 0x1000 }, { 2712, 0x0003 },
+ { 2714, 0x013f }, { 2721, 0x8000 }, { 2722, 0x4b44 }, { 2728, 0x2118 },
+ { 2732, 0x00f2 }, { 2737, 0x1001 }, { 2739, 0x2001 }, { 2741, 0xa900 },
+ { 2745, 0x0840 }, { 2747, 0x0808 }, { 2749, 0x0001 }, { 2750, 0x000b },
+ /* 0x9400 */
+ { 2753, 0x0112 }, { 2756, 0x2880 }, { 2759, 0x20f0 }, { 2764, 0x4000 },
+ { 2765, 0x200c }, { 2768, 0x0910 }, { 2771, 0x10a0 }, { 2774, 0x0a00 },
+ { 2776, 0x0020 }, { 2777, 0x8000 }, { 2778, 0x0004 }, { 2779, 0x0000 },
+ { 2779, 0x000a }, { 2781, 0x1000 }, { 2782, 0x0000 }, { 2782, 0x0040 },
+ /* 0x9500 */
+ { 2783, 0x0000 }, { 2783, 0x0000 }, { 2783, 0x2000 }, { 2784, 0x0000 },
+ { 2784, 0x0080 }, { 2785, 0x0000 }, { 2785, 0x0000 }, { 2785, 0x8100 },
+ { 2787, 0x0020 }, { 2788, 0x02c0 }, { 2791, 0x04c5 }, { 2796, 0x0000 },
+ { 2796, 0x0000 }, { 2796, 0x0000 }, { 2796, 0x0100 }, { 2797, 0x0010 },
+ /* 0x9600 */
+ { 2798, 0x0000 }, { 2798, 0x2000 }, { 2799, 0x0000 }, { 2799, 0x0108 },
+ { 2801, 0x0022 }, { 2803, 0x0040 }, { 2804, 0x0200 }, { 2805, 0x0800 },
+ { 2806, 0x8002 }, { 2808, 0x0040 }, { 2809, 0x0028 }, { 2811, 0x2040 },
+ { 2813, 0x0000 }, { 2813, 0x0000 }, { 2813, 0x0000 }, { 2813, 0x0010 },
+ /* 0x9700 */
+ { 2814, 0x0008 }, { 2815, 0x0800 }, { 2816, 0x0002 }, { 2817, 0x0042 },
+ { 2819, 0x0003 }, { 2821, 0xa082 }, { 2825, 0x2000 }, { 2826, 0x0002 },
+ { 2827, 0x0280 }, { 2829, 0x8800 }, { 2831, 0x0000 }, { 2831, 0x6516 },
+ { 2838, 0x0105 }, { 2841, 0x0004 }, { 2842, 0x4041 }, { 2845, 0x0024 },
+ /* 0x9800 */
+ { 2847, 0x0000 }, { 2847, 0x8030 }, { 2850, 0x4008 }, { 2852, 0x0018 },
+ { 2854, 0x0880 }, { 2856, 0x0000 }, { 2856, 0x1040 }, { 2858, 0x0020 },
+ { 2859, 0x0000 }, { 2859, 0x0000 }, { 2859, 0x0000 }, { 2859, 0x0290 },
+ { 2862, 0x4588 }, { 2867, 0x5000 }, { 2869, 0x1043 }, { 2873, 0x0022 },
+ /* 0x9900 */
+ { 2875, 0x4000 }, { 2876, 0x1200 }, { 2878, 0x0000 }, { 2878, 0x0b80 },
+ { 2882, 0x2405 }, { 2886, 0x2000 }, { 2887, 0x000c }, { 2889, 0x0000 },
+ { 2889, 0x0000 }, { 2889, 0x0800 }, { 2890, 0x0410 }, { 2892, 0x1100 },
+ { 2894, 0x0030 }, { 2896, 0x0400 }, { 2897, 0x0042 }, { 2899, 0x0020 },
+ /* 0x9a00 */
+ { 2900, 0x1000 }, { 2901, 0x8001 }, { 2903, 0x8042 }, { 2906, 0x1800 },
+ { 2908, 0x0000 }, { 2908, 0x1100 }, { 2910, 0x1008 }, { 2912, 0x0000 },
+ { 2912, 0x8000 }, { 2913, 0x0000 }, { 2913, 0x0000 }, { 2913, 0x2444 },
+ { 2917, 0x0000 }, { 2917, 0x0080 }, { 2918, 0x0005 }, { 2920, 0x8010 },
+ /* 0x9b00 */
+ { 2922, 0x8204 }, { 2925, 0x0010 }, { 2926, 0x2400 }, { 2928, 0x0210 },
+ { 2930, 0x0001 }, { 2931, 0x0001 }, { 2932, 0x0200 }, { 2933, 0x8000 },
+ { 2934, 0xe80a }, { 2940, 0xa080 }, { 2943, 0x0000 }, { 2943, 0x0001 },
+ { 2944, 0x8000 }, { 2945, 0x2000 }, { 2946, 0x2200 }, { 2948, 0x8012 },
+ /* 0x9c00 */
+ { 2951, 0x1404 }, { 2954, 0x8821 }, { 2958, 0x8041 }, { 2961, 0x0420 },
+ { 2963, 0x8020 }, { 2965, 0x2008 }, { 2967, 0x0000 }, { 2967, 0x1804 },
+ { 2970, 0x0000 }, { 2970, 0x0000 }, { 2970, 0x0000 }, { 2970, 0x0000 },
+ { 2970, 0x0000 }, { 2970, 0x0000 }, { 2970, 0x0000 }, { 2970, 0x0000 },
+ /* 0x9d00 */
+ { 2970, 0x1004 }, { 2972, 0x0040 }, { 2973, 0x0002 }, { 2974, 0x0210 },
+ { 2976, 0x4210 }, { 2979, 0x4001 }, { 2981, 0x6000 }, { 2983, 0x5000 },
+ { 2985, 0x0008 }, { 2986, 0x0008 }, { 2987, 0x0820 }, { 2989, 0x2000 },
+ { 2990, 0x0211 }, { 2993, 0x0010 }, { 2994, 0x0000 }, { 2994, 0x1000 },
+ /* 0x9e00 */
+ { 2995, 0x5400 }, { 2998, 0x9100 }, { 3001, 0x0000 }, { 3001, 0x0000 },
+ { 3001, 0x0000 }, { 3001, 0x0000 }, { 3001, 0x0000 }, { 3001, 0x0800 },
+ { 3002, 0x0032 }, { 3005, 0x4161 }, { 3010, 0x9d44 }, { 3017, 0xa002 },
+ { 3020, 0x00d2 }, { 3024, 0x0000 }, { 3024, 0x0004 }, { 3025, 0x4102 },
+ /* 0x9f00 */
+ { 3028, 0x0104 }, { 3030, 0x0080 }, { 3031, 0x00c0 }, { 3033, 0x0200 },
+ { 3034, 0x0030 }, { 3036, 0x0409 }, { 3039, 0x0204 }, { 3041, 0x8000 },
+ { 3042, 0x4000 }, { 3043, 0x9200 }, { 3046, 0x0020 },
+};
+static const Summary16 hkscs_uni2indx_pagee0[236] = {
+ /* 0xe000 */
+ { 3047, 0x560d }, { 3054, 0x7d7c }, { 3065, 0x602d }, { 3071, 0x19fd },
+ { 3081, 0x1020 }, { 3083, 0x9400 }, { 3086, 0x1053 }, { 3091, 0x2132 },
+ { 3096, 0x1680 }, { 3100, 0x7618 }, { 3107, 0x4ac0 }, { 3112, 0x5400 },
+ { 3115, 0x05a8 }, { 3120, 0x9031 }, { 3125, 0x5bbc }, { 3135, 0x2b04 },
+ /* 0xe100 */
+ { 3140, 0x0e48 }, { 3145, 0x3031 }, { 3150, 0x01c2 }, { 3154, 0x0243 },
+ { 3158, 0x25a6 }, { 3165, 0x26f1 }, { 3173, 0x0704 }, { 3177, 0x9b26 },
+ { 3185, 0x8aa1 }, { 3191, 0x8069 }, { 3196, 0x4451 }, { 3201, 0xf95b },
+ { 3212, 0x3132 }, { 3218, 0x24b0 }, { 3223, 0x8844 }, { 3227, 0x4485 },
+ /* 0xe200 */
+ { 3232, 0x1ca7 }, { 3240, 0x9a7d }, { 3250, 0x85c3 }, { 3257, 0x688a },
+ { 3263, 0xfd20 }, { 3271, 0x001e }, { 3275, 0xe902 }, { 3281, 0x2402 },
+ { 3284, 0x0b04 }, { 3288, 0x8e73 }, { 3297, 0x0052 }, { 3300, 0xc5bc },
+ { 3309, 0x0282 }, { 3312, 0x4310 }, { 3316, 0x3a87 }, { 3324, 0x9103 },
+ /* 0xe300 */
+ { 3329, 0x9143 }, { 3335, 0x992a }, { 3342, 0x1020 }, { 3344, 0x2863 },
+ { 3350, 0x0124 }, { 3353, 0x1814 }, { 3357, 0x8035 }, { 3362, 0x0ab4 },
+ { 3368, 0x2746 }, { 3375, 0xcd5a }, { 3384, 0x13e5 }, { 3392, 0x3e36 },
+ { 3401, 0xb108 }, { 3406, 0x0720 }, { 3410, 0x608a }, { 3415, 0xa51d },
+ /* 0xe400 */
+ { 3423, 0x0e00 }, { 3426, 0x6810 }, { 3430, 0x3168 }, { 3436, 0x5c44 },
+ { 3442, 0x7113 }, { 3449, 0x6603 }, { 3455, 0xd7ae }, { 3466, 0xc056 },
+ { 3472, 0x67d0 }, { 3480, 0x00e6 }, { 3485, 0x881e }, { 3491, 0x07f8 },
+ { 3499, 0x6242 }, { 3504, 0x3240 }, { 3508, 0xc1d0 }, { 3514, 0x8340 },
+ /* 0xe500 */
+ { 3518, 0xa426 }, { 3524, 0xf454 }, { 3532, 0xdf13 }, { 3542, 0x4080 },
+ { 3544, 0x0808 }, { 3546, 0xdbb0 }, { 3555, 0x60c4 }, { 3560, 0x76ed },
+ { 3571, 0xf97d }, { 3583, 0xe41d }, { 3591, 0x85d3 }, { 3599, 0xcda6 },
+ { 3608, 0x0305 }, { 3612, 0x9b80 }, { 3618, 0xc26e }, { 3626, 0x180b },
+ /* 0xe600 */
+ { 3631, 0x8015 }, { 3635, 0x1e07 }, { 3642, 0x089a }, { 3647, 0x959c },
+ { 3655, 0xc967 }, { 3664, 0xe3bc }, { 3674, 0xc5ed }, { 3684, 0xbbc2 },
+ { 3693, 0xddf9 }, { 3705, 0xd6c5 }, { 3714, 0x3046 }, { 3719, 0x6604 },
+ { 3724, 0x04a3 }, { 3729, 0xed86 }, { 3738, 0x4073 }, { 3744, 0x9c8c },
+ /* 0xe700 */
+ { 3751, 0x16c6 }, { 3758, 0x2d8b }, { 3766, 0x8830 }, { 3770, 0x30f8 },
+ { 3777, 0xe097 }, { 3785, 0xb806 }, { 3791, 0x73b6 }, { 3801, 0x35a1 },
+ { 3808, 0x2a50 }, { 3813, 0x02d5 }, { 3819, 0x03f4 }, { 3826, 0x1112 },
+ { 3830, 0x4410 }, { 3833, 0x3502 }, { 3838, 0xeb90 }, { 3846, 0x990e },
+ /* 0xe800 */
+ { 3853, 0xd107 }, { 3860, 0x05ca }, { 3866, 0xa182 }, { 3871, 0x0da0 },
+ { 3876, 0x6806 }, { 3881, 0x39e2 }, { 3889, 0x16e7 }, { 3898, 0xe102 },
+ { 3903, 0x8080 }, { 3905, 0x2436 }, { 3911, 0xf6fb }, { 3924, 0xe161 },
+ { 3931, 0x68af }, { 3940, 0xa76b }, { 3950, 0x2763 }, { 3958, 0x4826 },
+ /* 0xe900 */
+ { 3963, 0x1189 }, { 3968, 0xd180 }, { 3973, 0xdfe7 }, { 3986, 0x7578 },
+ { 3995, 0x2132 }, { 4000, 0x75bd }, { 4011, 0xc193 }, { 4018, 0x2db8 },
+ { 4026, 0x4486 }, { 4031, 0x0002 }, { 4032, 0x0000 }, { 4032, 0x0001 },
+ { 4033, 0x0800 }, { 4034, 0x0000 }, { 4034, 0x8000 }, { 4035, 0x0000 },
+ /* 0xea00 */
+ { 4035, 0x0000 }, { 4035, 0x0000 }, { 4035, 0x0000 }, { 4035, 0x0000 },
+ { 4035, 0x0008 }, { 4036, 0x0000 }, { 4036, 0x0000 }, { 4036, 0x0000 },
+ { 4036, 0x0000 }, { 4036, 0x0000 }, { 4036, 0x0200 }, { 4037, 0x8000 },
+ { 4038, 0x9e23 }, { 4046, 0xd7db }, { 4058, 0x5f8f }, { 4069, 0xcf77 },
+ /* 0xeb00 */
+ { 4081, 0xff3d }, { 4094, 0xbf26 }, { 4104, 0xf4ab }, { 4114, 0xe3ff },
+ { 4127, 0xfc5a }, { 4137, 0xaff9 }, { 4149, 0xabae }, { 4159, 0xc5db },
+ { 4169, 0xf73b }, { 4181, 0x8fa9 }, { 4190, 0xed6d }, { 4201, 0xb25d },
+ { 4210, 0x75e4 }, { 4219, 0xada9 }, { 4228, 0xdb92 }, { 4237, 0x6e66 },
+ /* 0xec00 */
+ { 4246, 0xd360 }, { 4253, 0x3f99 }, { 4263, 0xfc55 }, { 4273, 0x98a6 },
+ { 4280, 0x9bff }, { 4293, 0xb5d4 }, { 4302, 0xff8d }, { 4314, 0x4a6f },
+ { 4323, 0x6051 }, { 4328, 0x6f7e }, { 4340, 0xa999 }, { 4348, 0x0e50 },
+ { 4353, 0x8000 }, { 4354, 0xd810 }, { 4359, 0x0023 }, { 4362, 0x1025 },
+ /* 0xed00 */
+ { 4366, 0xf490 }, { 4373, 0x75eb }, { 4384, 0x36f4 }, { 4393, 0x2800 },
+ { 4395, 0xeca6 }, { 4404, 0x819e }, { 4411, 0x0804 }, { 4413, 0x05a6 },
+ { 4419, 0x4f72 }, { 4428, 0x0002 }, { 4429, 0x0040 }, { 4430, 0x0000 },
+ { 4430, 0x8040 }, { 4432, 0x2c82 }, { 4437, 0x2002 }, { 4439, 0x0000 },
+ /* 0xee00 */
+ { 4439, 0x0100 }, { 4440, 0x0822 }, { 4443, 0x0405 }, { 4446, 0x0013 },
+ { 4449, 0x0100 }, { 4450, 0x2840 }, { 4453, 0x0411 }, { 4456, 0x5040 },
+ { 4459, 0x0000 }, { 4459, 0x1002 }, { 4461, 0xf7fe }, { 4475, 0x0093 },
+};
+static const Summary16 hkscs_uni2indx_pagef3[79] = {
+ /* 0xf300 */
+ { 4479, 0xfff8 }, { 4492, 0x01ff }, { 4501, 0x00a0 }, { 4503, 0x0000 },
+ { 4503, 0x0c50 }, { 4507, 0x0000 }, { 4507, 0x0000 }, { 4507, 0x0000 },
+ { 4507, 0x0000 }, { 4507, 0x0000 }, { 4507, 0x1003 }, { 4510, 0x0000 },
+ { 4510, 0x0000 }, { 4510, 0x0000 }, { 4510, 0x0000 }, { 4510, 0x1601 },
+ /* 0xf400 */
+ { 4514, 0x0f00 }, { 4518, 0x0000 }, { 4518, 0x0000 }, { 4518, 0x2000 },
+ { 4519, 0x2b57 }, { 4528, 0xfcf7 }, { 4541, 0xf26e }, { 4551, 0x7b90 },
+ { 4559, 0xe93b }, { 4569, 0x4983 }, { 4575, 0xa6f0 }, { 4583, 0xfc9d },
+ { 4594, 0xf7bb }, { 4607, 0xfebe }, { 4620, 0x83fd }, { 4630, 0xd10c },
+ /* 0xf500 */
+ { 4636, 0xffab }, { 4649, 0xbf7b }, { 4662, 0x047f }, { 4670, 0x2c18 },
+ { 4675, 0x4000 }, { 4676, 0x4648 }, { 4681, 0x0820 }, { 4683, 0x0004 },
+ { 4684, 0x0000 }, { 4684, 0x0000 }, { 4684, 0x0000 }, { 4684, 0x0000 },
+ { 4684, 0x0000 }, { 4684, 0x0000 }, { 4684, 0x0000 }, { 4684, 0x0000 },
+ /* 0xf600 */
+ { 4684, 0x0000 }, { 4684, 0x0000 }, { 4684, 0x0000 }, { 4684, 0x0000 },
+ { 4684, 0x0000 }, { 4684, 0x0000 }, { 4684, 0x0000 }, { 4684, 0x0000 },
+ { 4684, 0x0000 }, { 4684, 0x4010 }, { 4686, 0x2000 }, { 4687, 0x0001 },
+ { 4688, 0x0000 }, { 4688, 0x0000 }, { 4688, 0x0000 }, { 4688, 0x0000 },
+ /* 0xf700 */
+ { 4688, 0x0000 }, { 4688, 0x0000 }, { 4688, 0x0000 }, { 4688, 0x0000 },
+ { 4688, 0x0000 }, { 4688, 0x0000 }, { 4688, 0x0000 }, { 4688, 0x0000 },
+ { 4688, 0x0000 }, { 4688, 0x0000 }, { 4688, 0x0000 }, { 4688, 0x0000 },
+ { 4688, 0x0000 }, { 4688, 0x0000 }, { 4688, 0x6d60 },
+};
+static const Summary16 hkscs_uni2indx_pageff[15] = {
+ /* 0xff00 */
+ { 4695, 0x0084 }, { 4697, 0x0000 }, { 4697, 0x0000 }, { 4697, 0x2800 },
+ { 4699, 0x0000 }, { 4699, 0x0000 }, { 4699, 0x0000 }, { 4699, 0x0000 },
+ { 4699, 0x0000 }, { 4699, 0x0000 }, { 4699, 0x0000 }, { 4699, 0x0000 },
+ { 4699, 0x0000 }, { 4699, 0x0000 }, { 4699, 0x2014 },
+};
+
+static int
+hkscs_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
+{
+ if (n >= 2) {
+ const Summary16 *summary = NULL;
+ if (wc >= 0x0000 && wc < 0x02d0)
+ summary = &hkscs_uni2indx_page00[(wc>>4)];
+ else if (wc >= 0x0400 && wc < 0x0460)
+ summary = &hkscs_uni2indx_page04[(wc>>4)-0x040];
+ else if (wc >= 0x1e00 && wc < 0x1ed0)
+ summary = &hkscs_uni2indx_page1e[(wc>>4)-0x1e0];
+ else if (wc >= 0x2100 && wc < 0x21f0)
+ summary = &hkscs_uni2indx_page21[(wc>>4)-0x210];
+ else if (wc >= 0x2400 && wc < 0x2580)
+ summary = &hkscs_uni2indx_page24[(wc>>4)-0x240];
+ else if (wc >= 0x2700 && wc < 0x2740)
+ summary = &hkscs_uni2indx_page27[(wc>>4)-0x270];
+ else if (wc >= 0x2e00 && wc < 0x3100)
+ summary = &hkscs_uni2indx_page2e[(wc>>4)-0x2e0];
+ else if (wc >= 0x3200 && wc < 0x3240)
+ summary = &hkscs_uni2indx_page32[(wc>>4)-0x320];
+ else if (wc >= 0x3400 && wc < 0x9fb0)
+ summary = &hkscs_uni2indx_page34[(wc>>4)-0x340];
+ else if (wc >= 0xe000 && wc < 0xeec0)
+ summary = &hkscs_uni2indx_pagee0[(wc>>4)-0xe00];
+ else if (wc >= 0xf300 && wc < 0xf7f0)
+ summary = &hkscs_uni2indx_pagef3[(wc>>4)-0xf30];
+ else if (wc >= 0xff00 && wc < 0xfff0)
+ summary = &hkscs_uni2indx_pageff[(wc>>4)-0xff0];
+ if (summary) {
+ unsigned short used = summary->used;
+ unsigned int i = wc & 0x0f;
+ if (used & ((unsigned short) 1 << i)) {
+ unsigned short c;
+ /* Keep in `used' only the bits 0..i-1. */
+ used &= ((unsigned short) 1 << i) - 1;
+ /* Add `summary->indx' and the number of bits set in `used'. */
+ used = (used & 0x5555) + ((used & 0xaaaa) >> 1);
+ used = (used & 0x3333) + ((used & 0xcccc) >> 2);
+ used = (used & 0x0f0f) + ((used & 0xf0f0) >> 4);
+ used = (used & 0x00ff) + (used >> 8);
+ c = hkscs_2charset[summary->indx + used];
+ r[0] = (c >> 8); r[1] = (c & 0xff);
+ return 2;
+ }
+ }
+ return RET_ILSEQ;
+ }
+ return RET_TOOSMALL;
+}
};
static int
-hp_roman8_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+hp_roman8_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c = *s;
if (c < 0xa0) {
- *pwc = (wchar_t) c;
+ *pwc = (ucs4_t) c;
return 1;
}
else {
unsigned short wc = hp_roman8_2uni[c-0xa0];
if (wc != 0xfffd) {
- *pwc = (wchar_t) wc;
+ *pwc = (ucs4_t) wc;
return 1;
}
}
};
static int
-hp_roman8_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+hp_roman8_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
unsigned char c = 0;
if (wc < 0x00a0) {
*/
static int
-hz_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+hz_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
state_t state = conv->istate;
unsigned int count = 0;
c = s[1];
if (state == 0) {
if (c == '~') {
- *pwc = (wchar_t) '~';
+ *pwc = (ucs4_t) '~';
conv->istate = state;
return count+2;
}
break;
}
if (state == 0) {
- *pwc = (wchar_t) c;
+ *pwc = (ucs4_t) c;
conv->istate = state;
return count+1;
} else {
}
static int
-hz_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+hz_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
state_t state = conv->ostate;
unsigned char buf[2];
#ifndef _LIBICONV_H
#define _LIBICONV_H
-#define _LIBICONV_VERSION 0x0103 /* version number: (major<<8) + minor */
+#define _LIBICONV_VERSION 0x0105 /* version number: (major<<8) + minor */
+extern int _libiconv_version; /* Likewise */
/* We would like to #include any system header file which could define
iconv_t, 1. in order to eliminate the risk that the user gets compilation
state = (state3 << 16) | (state2 << 8) | state1
static int
-iso2022_cn_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+iso2022_cn_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
state_t state = conv->istate;
SPLIT_STATE;
}
static int
-iso2022_cn_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+iso2022_cn_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
state_t state = conv->ostate;
SPLIT_STATE;
state = (state4 << 24) | (state3 << 16) | (state2 << 8) | state1
static int
-iso2022_cn_ext_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+iso2022_cn_ext_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
state_t state = conv->istate;
SPLIT_STATE;
}
static int
-iso2022_cn_ext_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+iso2022_cn_ext_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
state_t state = conv->ostate;
SPLIT_STATE;
#define STATE_JISX0208 2
static int
-iso2022_jp_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+iso2022_jp_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
state_t state = conv->istate;
int count = 0;
}
static int
-iso2022_jp_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+iso2022_jp_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
state_t state = conv->ostate;
unsigned char buf[2];
#define STATE_JISX0212 3
static int
-iso2022_jp1_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+iso2022_jp1_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
state_t state = conv->istate;
int count = 0;
}
static int
-iso2022_jp1_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+iso2022_jp1_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
state_t state = conv->ostate;
unsigned char buf[2];
state = (state2 << 8) | state1
static int
-iso2022_jp2_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+iso2022_jp2_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
state_t state = conv->istate;
SPLIT_STATE;
}
static int
-iso2022_jp2_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+iso2022_jp2_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
state_t state = conv->ostate;
SPLIT_STATE;
state = (state2 << 8) | state1
static int
-iso2022_kr_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+iso2022_kr_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
state_t state = conv->istate;
SPLIT_STATE;
}
static int
-iso2022_kr_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+iso2022_kr_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
state_t state = conv->ostate;
SPLIT_STATE;
*/
static int
-iso646_cn_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+iso646_cn_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c = *s;
if (c < 0x80) {
if (c == 0x24)
- *pwc = (wchar_t) 0x00a5;
+ *pwc = (ucs4_t) 0x00a5;
else if (c == 0x7e)
- *pwc = (wchar_t) 0x203e;
+ *pwc = (ucs4_t) 0x203e;
else
- *pwc = (wchar_t) c;
+ *pwc = (ucs4_t) c;
return 1;
}
return RET_ILSEQ;
}
static int
-iso646_cn_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+iso646_cn_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
if (wc < 0x0080 && !(wc == 0x0024 || wc == 0x007e)) {
*r = wc;
/* This is the lower half of JIS_X0201. */
static int
-iso646_jp_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+iso646_jp_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c = *s;
if (c < 0x80) {
if (c == 0x5c)
- *pwc = (wchar_t) 0x00a5;
+ *pwc = (ucs4_t) 0x00a5;
else if (c == 0x7e)
- *pwc = (wchar_t) 0x203e;
+ *pwc = (ucs4_t) 0x203e;
else
- *pwc = (wchar_t) c;
+ *pwc = (ucs4_t) c;
return 1;
}
return RET_ILSEQ;
}
static int
-iso646_jp_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+iso646_jp_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
if (wc < 0x0080 && !(wc == 0x005c || wc == 0x007e)) {
*r = wc;
*/
static int
-iso8859_1_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+iso8859_1_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c = *s;
- *pwc = (wchar_t) c;
+ *pwc = (ucs4_t) c;
return 1;
}
static int
-iso8859_1_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+iso8859_1_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
if (wc < 0x0100) {
*r = wc;
};
static int
-iso8859_10_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+iso8859_10_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c = *s;
if (c < 0xa0)
- *pwc = (wchar_t) c;
+ *pwc = (ucs4_t) c;
else
- *pwc = (wchar_t) iso8859_10_2uni[c-0xa0];
+ *pwc = (ucs4_t) iso8859_10_2uni[c-0xa0];
return 1;
}
};
static int
-iso8859_10_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+iso8859_10_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
unsigned char c = 0;
if (wc < 0x00a0) {
};
static int
-iso8859_13_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+iso8859_13_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c = *s;
if (c < 0xa0)
- *pwc = (wchar_t) c;
+ *pwc = (ucs4_t) c;
else
- *pwc = (wchar_t) iso8859_13_2uni[c-0xa0];
+ *pwc = (ucs4_t) iso8859_13_2uni[c-0xa0];
return 1;
}
};
static int
-iso8859_13_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+iso8859_13_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
unsigned char c = 0;
if (wc < 0x00a0) {
};
static int
-iso8859_14_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+iso8859_14_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c = *s;
if (c >= 0xa0)
- *pwc = (wchar_t) iso8859_14_2uni[c-0xa0];
+ *pwc = (ucs4_t) iso8859_14_2uni[c-0xa0];
else
- *pwc = (wchar_t) c;
+ *pwc = (ucs4_t) c;
return 1;
}
};
static int
-iso8859_14_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+iso8859_14_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
unsigned char c = 0;
if (wc < 0x00a0) {
};
static int
-iso8859_15_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+iso8859_15_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c = *s;
if (c >= 0xa0 && c < 0xc0)
- *pwc = (wchar_t) iso8859_15_2uni[c-0xa0];
+ *pwc = (ucs4_t) iso8859_15_2uni[c-0xa0];
else
- *pwc = (wchar_t) c;
+ *pwc = (ucs4_t) c;
return 1;
}
};
static int
-iso8859_15_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+iso8859_15_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
unsigned char c = 0;
if (wc < 0x00a0) {
};
static int
-iso8859_16_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+iso8859_16_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c = *s;
if (c < 0xa0)
- *pwc = (wchar_t) c;
+ *pwc = (ucs4_t) c;
else
- *pwc = (wchar_t) iso8859_16_2uni[c-0xa0];
+ *pwc = (ucs4_t) iso8859_16_2uni[c-0xa0];
return 1;
}
};
static int
-iso8859_16_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+iso8859_16_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
unsigned char c = 0;
if (wc < 0x00a0) {
};
static int
-iso8859_2_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+iso8859_2_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c = *s;
if (c < 0xa0)
- *pwc = (wchar_t) c;
+ *pwc = (ucs4_t) c;
else
- *pwc = (wchar_t) iso8859_2_2uni[c-0xa0];
+ *pwc = (ucs4_t) iso8859_2_2uni[c-0xa0];
return 1;
}
};
static int
-iso8859_2_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+iso8859_2_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
unsigned char c = 0;
if (wc < 0x00a0) {
};
static int
-iso8859_3_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+iso8859_3_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c = *s;
if (c < 0xa0) {
- *pwc = (wchar_t) c;
+ *pwc = (ucs4_t) c;
return 1;
}
else {
unsigned short wc = iso8859_3_2uni[c-0xa0];
if (wc != 0xfffd) {
- *pwc = (wchar_t) wc;
+ *pwc = (ucs4_t) wc;
return 1;
}
}
};
static int
-iso8859_3_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+iso8859_3_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
unsigned char c = 0;
if (wc < 0x00a0) {
};
static int
-iso8859_4_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+iso8859_4_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c = *s;
if (c < 0xa0)
- *pwc = (wchar_t) c;
+ *pwc = (ucs4_t) c;
else
- *pwc = (wchar_t) iso8859_4_2uni[c-0xa0];
+ *pwc = (ucs4_t) iso8859_4_2uni[c-0xa0];
return 1;
}
};
static int
-iso8859_4_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+iso8859_4_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
unsigned char c = 0;
if (wc < 0x00a0) {
};
static int
-iso8859_5_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+iso8859_5_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c = *s;
if (c < 0xa0)
- *pwc = (wchar_t) c;
+ *pwc = (ucs4_t) c;
else
- *pwc = (wchar_t) iso8859_5_2uni[c-0xa0];
+ *pwc = (ucs4_t) iso8859_5_2uni[c-0xa0];
return 1;
}
};
static int
-iso8859_5_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+iso8859_5_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
unsigned char c = 0;
if (wc < 0x00a0) {
};
static int
-iso8859_6_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+iso8859_6_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c = *s;
if (c < 0xa0) {
- *pwc = (wchar_t) c;
+ *pwc = (ucs4_t) c;
return 1;
}
else {
unsigned short wc = iso8859_6_2uni[c-0xa0];
if (wc != 0xfffd) {
- *pwc = (wchar_t) wc;
+ *pwc = (ucs4_t) wc;
return 1;
}
}
};
static int
-iso8859_6_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+iso8859_6_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
unsigned char c = 0;
if (wc < 0x00a0) {
};
static int
-iso8859_7_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+iso8859_7_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c = *s;
if (c < 0xa0) {
- *pwc = (wchar_t) c;
+ *pwc = (ucs4_t) c;
return 1;
}
else {
unsigned short wc = iso8859_7_2uni[c-0xa0];
if (wc != 0xfffd) {
- *pwc = (wchar_t) wc;
+ *pwc = (ucs4_t) wc;
return 1;
}
}
};
static int
-iso8859_7_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+iso8859_7_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
unsigned char c = 0;
if (wc < 0x00a0) {
};
static int
-iso8859_8_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+iso8859_8_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c = *s;
if (c >= 0xa0) {
unsigned short wc = iso8859_8_2uni[c-0xa0];
if (wc != 0xfffd) {
- *pwc = (wchar_t) wc;
+ *pwc = (ucs4_t) wc;
return 1;
}
}
else {
- *pwc = (wchar_t) c;
+ *pwc = (ucs4_t) c;
return 1;
}
return RET_ILSEQ;
};
static int
-iso8859_8_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+iso8859_8_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
unsigned char c = 0;
if (wc < 0x00a0) {
};
static int
-iso8859_9_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+iso8859_9_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c = *s;
if (c >= 0xd0)
- *pwc = (wchar_t) iso8859_9_2uni[c-0xd0];
+ *pwc = (ucs4_t) iso8859_9_2uni[c-0xd0];
else
- *pwc = (wchar_t) c;
+ *pwc = (ucs4_t) c;
return 1;
}
};
static int
-iso8859_9_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+iso8859_9_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
unsigned char c = 0;
if (wc < 0x00d0) {
#include "isoir165ext.h"
static int
-isoir165_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+isoir165_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
int ret;
}
static int
-isoir165_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+isoir165_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
unsigned char buf[1];
int ret;
};
static int
-isoir165ext_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+isoir165ext_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c1 = s[0];
if ((c1 >= 0x2b && c1 <= 0x2f) || (c1 >= 0x7a && c1 <= 0x7e)) {
wc = isoir165ext_2uni_page7a[i-8366];
}
if (wc != 0xfffd) {
- *pwc = (wchar_t) wc;
+ *pwc = (ucs4_t) wc;
return 2;
}
}
};
static int
-isoir165ext_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+isoir165ext_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
if (n >= 2) {
const Summary16 *summary = NULL;
*/
static int
-java_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+java_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c;
- wchar_t wc;
+ ucs4_t wc;
int i;
c = s[0];
c -= 'a'-10;
else
goto simply_backslash;
- wc |= (wchar_t) c << (4 * (5-i));
+ wc |= (ucs4_t) c << (4 * (5-i));
}
*pwc = wc;
return 6;
}
static int
-java_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+java_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
if (wc < 0x80) {
*r = wc;
*/
static int
-jisx0201_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+jisx0201_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c = *s;
if (c < 0x80) {
if (c == 0x5c)
- *pwc = (wchar_t) 0x00a5;
+ *pwc = (ucs4_t) 0x00a5;
else if (c == 0x7e)
- *pwc = (wchar_t) 0x203e;
+ *pwc = (ucs4_t) 0x203e;
else
- *pwc = (wchar_t) c;
+ *pwc = (ucs4_t) c;
return 1;
} else {
if (c >= 0xa1 && c < 0xe0) {
- *pwc = (wchar_t) c + 0xfec0;
+ *pwc = (ucs4_t) c + 0xfec0;
return 1;
}
}
}
static int
-jisx0201_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+jisx0201_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
if (wc < 0x0080 && !(wc == 0x005c || wc == 0x007e)) {
*r = wc;
};
static int
-jisx0208_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+jisx0208_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c1 = s[0];
if ((c1 >= 0x21 && c1 <= 0x28) || (c1 >= 0x30 && c1 <= 0x74)) {
wc = jisx0208_2uni_page30[i-1410];
}
if (wc != 0xfffd) {
- *pwc = (wchar_t) wc;
+ *pwc = (ucs4_t) wc;
return 2;
}
}
};
static int
-jisx0208_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+jisx0208_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
if (n >= 2) {
const Summary16 *summary = NULL;
};
static int
-jisx0212_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+jisx0212_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c1 = s[0];
if ((c1 == 0x22) || (c1 >= 0x26 && c1 <= 0x27) || (c1 >= 0x29 && c1 <= 0x2b) || (c1 >= 0x30 && c1 <= 0x6d)) {
wc = jisx0212_2uni_page30[i-1410];
}
if (wc != 0xfffd) {
- *pwc = (wchar_t) wc;
+ *pwc = (ucs4_t) wc;
return 2;
}
}
};
static int
-jisx0212_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+jisx0212_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
if (n >= 2) {
const Summary16 *summary = NULL;
*/
static int
-johab_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+johab_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c = *s;
if (c < 0x80) {
if (c == 0x5c)
- *pwc = (wchar_t) 0x20a9;
+ *pwc = (ucs4_t) 0x20a9;
else
- *pwc = (wchar_t) c;
+ *pwc = (ucs4_t) c;
return 1;
} else if (c < 0xd8) {
return johab_hangul_mbtowc(conv,pwc,s,n);
}
static int
-johab_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+johab_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
unsigned char buf[2];
int ret;
* bit 14..10 = initial jamo, only 19+1 out of 32 possible values are used
* bit 9..5 = medial jamo, only 21+1 out of 32 possible values are used
* bit 4..0 = final jamo, only 27+1 out of 32 possible values are used
- *
+ *
* Structure of the Unicode encoding:
* grep '^0x\([8-C]...\|D[0-7]..\)' unicode.org-mappings/EASTASIA/KSC/JOHAB.TXT
* You see that all characters there are marked "HANGUL LETTER" or "HANGUL
};
static int
-johab_hangul_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+johab_hangul_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c1 = s[0];
if ((c1 >= 0x84 && c1 <= 0xd3)) {
if (index2 == fill) {
unsigned char jamo3 = jamo_final_notinitial[bitspart3];
if (jamo3 != NONE) {
- *pwc = (wchar_t) 0x3130 + jamo3;
+ *pwc = (ucs4_t) 0x3130 + jamo3;
return 2;
}
} else if (index3 == fill) {
unsigned char jamo2 = jamo_medial[bitspart2];
if (jamo2 != NONE && jamo2 != FILL) {
- *pwc = (wchar_t) 0x3130 + jamo2;
+ *pwc = (ucs4_t) 0x3130 + jamo2;
return 2;
}
}
if (index3 == fill) {
unsigned char jamo1 = jamo_initial[bitspart1];
if (jamo1 != NONE && jamo1 != FILL) {
- *pwc = (wchar_t) 0x3130 + jamo1;
+ *pwc = (ucs4_t) 0x3130 + jamo1;
return 2;
}
}
};
static int
-johab_hangul_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+johab_hangul_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
if (n >= 2) {
if (wc >= 0x3131 && wc < 0x3164) {
/* Decompose wc into r[0..2], and return the number of resulting Jamo elements.
Return RET_ILSEQ if decomposition is not possible. */
-static int johab_hangul_decompose (conv_t conv, wchar_t* r, wchar_t wc)
+static int johab_hangul_decompose (conv_t conv, ucs4_t* r, ucs4_t wc)
{
unsigned char buf[2];
int ret = johab_hangul_wctomb(conv,buf,wc,2);
if (jamo1 != NONE && jamo2 != NONE && jamo3 != NONE) {
/* They are not all three == FILL because that would correspond to
johab = 0x8441, which doesn't exist. */
- wchar_t* p = r;
+ ucs4_t* p = r;
if (jamo1 != FILL)
*p++ = 0x3130 + jamo1;
if (jamo2 != FILL)
};
static int
-koi8_r_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+koi8_r_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c = *s;
if (c < 0x80)
- *pwc = (wchar_t) c;
+ *pwc = (ucs4_t) c;
else
- *pwc = (wchar_t) koi8_r_2uni[c-0x80];
+ *pwc = (ucs4_t) koi8_r_2uni[c-0x80];
return 1;
}
};
static int
-koi8_r_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+koi8_r_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
unsigned char c = 0;
if (wc < 0x0080) {
};
static int
-koi8_ru_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+koi8_ru_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c = *s;
if (c < 0x80)
- *pwc = (wchar_t) c;
+ *pwc = (ucs4_t) c;
else
- *pwc = (wchar_t) koi8_ru_2uni[c-0x80];
+ *pwc = (ucs4_t) koi8_ru_2uni[c-0x80];
return 1;
}
};
static int
-koi8_ru_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+koi8_ru_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
unsigned char c = 0;
if (wc < 0x0080) {
};
static int
-koi8_u_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+koi8_u_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c = *s;
if (c < 0x80)
- *pwc = (wchar_t) c;
+ *pwc = (ucs4_t) c;
else
- *pwc = (wchar_t) koi8_u_2uni[c-0x80];
+ *pwc = (ucs4_t) koi8_u_2uni[c-0x80];
return 1;
}
};
static int
-koi8_u_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+koi8_u_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
unsigned char c = 0;
if (wc < 0x0080) {
};
static int
-ksc5601_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+ksc5601_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c1 = s[0];
if ((c1 >= 0x21 && c1 <= 0x2c) || (c1 >= 0x30 && c1 <= 0x48) || (c1 >= 0x4a && c1 <= 0x7d)) {
wc = ksc5601_2uni_page4a[i-3854];
}
if (wc != 0xfffd) {
- *pwc = (wchar_t) wc;
+ *pwc = (ucs4_t) wc;
return 2;
}
}
};
static int
-ksc5601_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+ksc5601_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
if (n >= 2) {
const Summary16 *summary = NULL;
--- /dev/null
+/* Copyright (C) 2000 Free Software Foundation, Inc.
+ This file is part of the GNU CHARSET Library.
+
+ The GNU CHARSET 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 CHARSET 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 ICONV 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. */
+
+#ifndef _LIBCHARSET_H
+#define _LIBCHARSET_H
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+/* Determine the current locale's character encoding, and canonicalize it
+ into one of the canonical names listed in config.charset.
+ The result must not be freed; it is statically allocated.
+ If the canonical name cannot be determined, the result is a non-canonical
+ name or NULL. */
+extern const char * locale_charset (void);
+
+
+#ifdef __cplusplus
+}
+#endif
+
+
+#endif /* _LIBCHARSET_H */
--- /dev/null
+/* Copyright (C) 1999-2000 Free Software Foundation, Inc.
+ This file is part of the GNU ICONV Library.
+
+ The GNU ICONV 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 ICONV 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 ICONV 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. */
+
+/* This file defines the conversion loop via Unicode as a pivot encoding. */
+
+static size_t unicode_loop_convert (iconv_t icd,
+ const char* * inbuf, size_t *inbytesleft,
+ char* * outbuf, size_t *outbytesleft)
+{
+ conv_t cd = (conv_t) icd;
+ size_t result = 0;
+ const unsigned char* inptr = (const unsigned char*) *inbuf;
+ size_t inleft = *inbytesleft;
+ unsigned char* outptr = (unsigned char*) *outbuf;
+ size_t outleft = *outbytesleft;
+ while (inleft > 0) {
+ ucs4_t wc;
+ int incount;
+ int outcount;
+ incount = cd->ifuncs.xxx_mbtowc(cd,&wc,inptr,inleft);
+ if (incount <= 0) {
+ if (incount == 0) {
+ /* Case 1: invalid input */
+ errno = EILSEQ;
+ result = -1;
+ break;
+ }
+ if (incount == -1) {
+ /* Case 2: not enough bytes available to detect anything */
+ errno = EINVAL;
+ result = -1;
+ break;
+ }
+ /* Case 3: k bytes read, but only a shift sequence */
+ incount = -1-incount;
+ } else {
+ /* Case 4: k bytes read, making up a wide character */
+ if (outleft == 0) {
+ errno = E2BIG;
+ result = -1;
+ break;
+ }
+ outcount = cd->ofuncs.xxx_wctomb(cd,outptr,wc,outleft);
+ if (outcount != 0)
+ goto outcount_ok;
+ /* Try transliteration. */
+ result++;
+ if (cd->transliterate) {
+ if (cd->oflags & HAVE_HANGUL_JAMO) {
+ /* Decompose Hangul into Jamo. Use double-width Jamo (contained
+ in all Korean encodings and ISO-2022-JP-2), not half-width Jamo
+ (contained in Unicode only). */
+ ucs4_t buf[3];
+ int ret = johab_hangul_decompose(cd,buf,wc);
+ if (ret != RET_ILSEQ) {
+ /* we know 1 <= ret <= 3 */
+ state_t backup_state = cd->ostate;
+ unsigned char* backup_outptr = outptr;
+ size_t backup_outleft = outleft;
+ int i, sub_outcount;
+ for (i = 0; i < ret; i++) {
+ if (outleft == 0) {
+ sub_outcount = RET_TOOSMALL;
+ goto johab_hangul_failed;
+ }
+ sub_outcount = cd->ofuncs.xxx_wctomb(cd,outptr,buf[i],outleft);
+ if (sub_outcount <= 0)
+ goto johab_hangul_failed;
+ if (!(sub_outcount <= outleft)) abort();
+ outptr += sub_outcount; outleft -= sub_outcount;
+ }
+ goto char_done;
+ johab_hangul_failed:
+ cd->ostate = backup_state;
+ outptr = backup_outptr;
+ outleft = backup_outleft;
+ if (sub_outcount < 0) {
+ errno = E2BIG;
+ result = -1;
+ break;
+ }
+ }
+ }
+ {
+ /* Try to use a variant, but postfix it with
+ U+303E IDEOGRAPHIC VARIATION INDICATOR
+ (cf. Ken Lunde's "CJKV information processing", p. 188). */
+ int indx = -1;
+ if (wc == 0x3006)
+ indx = 0;
+ else if (wc == 0x30f6)
+ indx = 1;
+ else if (wc >= 0x4e00 && wc < 0xa000)
+ indx = cjk_variants_indx[wc-0x4e00];
+ if (indx >= 0) {
+ for (;; indx++) {
+ ucs4_t buf[2];
+ unsigned short variant = cjk_variants[indx];
+ unsigned short last = variant & 0x8000;
+ variant &= 0x7fff;
+ variant += 0x3000;
+ buf[0] = variant; buf[1] = 0x303e;
+ {
+ state_t backup_state = cd->ostate;
+ unsigned char* backup_outptr = outptr;
+ size_t backup_outleft = outleft;
+ int i, sub_outcount;
+ for (i = 0; i < 2; i++) {
+ if (outleft == 0) {
+ sub_outcount = RET_TOOSMALL;
+ goto variant_failed;
+ }
+ sub_outcount = cd->ofuncs.xxx_wctomb(cd,outptr,buf[i],outleft);
+ if (sub_outcount <= 0)
+ goto variant_failed;
+ if (!(sub_outcount <= outleft)) abort();
+ outptr += sub_outcount; outleft -= sub_outcount;
+ }
+ goto char_done;
+ variant_failed:
+ cd->ostate = backup_state;
+ outptr = backup_outptr;
+ outleft = backup_outleft;
+ if (sub_outcount < 0) {
+ errno = E2BIG;
+ result = -1;
+ break;
+ }
+ }
+ if (last)
+ break;
+ }
+ }
+ }
+ if (wc >= 0x2018 && wc <= 0x201a) {
+ /* Special case for quotation marks 0x2018, 0x2019, 0x201a */
+ ucs4_t substitute =
+ (cd->oflags & HAVE_QUOTATION_MARKS
+ ? (wc == 0x201a ? 0x2018 : wc)
+ : (cd->oflags & HAVE_ACCENTS
+ ? (wc==0x2019 ? 0x00b4 : 0x0060) /* use accents */
+ : 0x0027 /* use apostrophe */
+ ) );
+ outcount = cd->ofuncs.xxx_wctomb(cd,outptr,substitute,outleft);
+ if (outcount != 0)
+ goto outcount_ok;
+ }
+ {
+ /* Use the transliteration table. */
+ int indx = translit_index(wc);
+ if (indx >= 0) {
+ const unsigned char * cp = &translit_data[indx];
+ unsigned int num = *cp++;
+ state_t backup_state = cd->ostate;
+ unsigned char* backup_outptr = outptr;
+ size_t backup_outleft = outleft;
+ unsigned int i;
+ int sub_outcount;
+ for (i = 0; i < num; i++) {
+ if (outleft == 0) {
+ sub_outcount = RET_TOOSMALL;
+ goto translit_failed;
+ }
+ sub_outcount = cd->ofuncs.xxx_wctomb(cd,outptr,cp[i],outleft);
+ if (sub_outcount <= 0)
+ goto translit_failed;
+ if (!(sub_outcount <= outleft)) abort();
+ outptr += sub_outcount; outleft -= sub_outcount;
+ }
+ goto char_done;
+ translit_failed:
+ cd->ostate = backup_state;
+ outptr = backup_outptr;
+ outleft = backup_outleft;
+ if (sub_outcount < 0) {
+ errno = E2BIG;
+ result = -1;
+ break;
+ }
+ }
+ }
+ }
+ outcount = cd->ofuncs.xxx_wctomb(cd,outptr,0xFFFD,outleft);
+ if (outcount != 0)
+ goto outcount_ok;
+ errno = EILSEQ;
+ result = -1;
+ break;
+ outcount_ok:
+ if (outcount < 0) {
+ errno = E2BIG;
+ result = -1;
+ break;
+ }
+ if (!(outcount <= outleft)) abort();
+ outptr += outcount; outleft -= outcount;
+ char_done:
+ ;
+ }
+ if (!(incount <= inleft)) abort();
+ inptr += incount; inleft -= incount;
+ }
+ *inbuf = (const char*) inptr;
+ *inbytesleft = inleft;
+ *outbuf = (char*) outptr;
+ *outbytesleft = outleft;
+ return result;
+}
+
+static size_t unicode_loop_reset (iconv_t icd,
+ char* * outbuf, size_t *outbytesleft)
+{
+ conv_t cd = (conv_t) icd;
+ if (outbuf == NULL || *outbuf == NULL) {
+ /* Reset the states. */
+ memset(&cd->istate,'\0',sizeof(state_t));
+ memset(&cd->ostate,'\0',sizeof(state_t));
+ return 0;
+ } else {
+ if (cd->ofuncs.xxx_reset) {
+ int outcount =
+ cd->ofuncs.xxx_reset(cd, (unsigned char *) *outbuf, *outbytesleft);
+ if (outcount < 0) {
+ errno = E2BIG;
+ return -1;
+ }
+ *outbuf += outcount; *outbytesleft -= outcount;
+ }
+ memset(&cd->istate,'\0',sizeof(state_t));
+ memset(&cd->ostate,'\0',sizeof(state_t));
+ return 0;
+ }
+}
--- /dev/null
+/* Copyright (C) 2000 Free Software Foundation, Inc.
+ This file is part of the GNU ICONV Library.
+
+ The GNU ICONV 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 ICONV 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 ICONV 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. */
+
+/* This file defines three conversion loops:
+ - from wchar_t to anything else,
+ - from anything else to wchar_t,
+ - from wchar_t to wchar_t.
+ */
+
+#if HAVE_WCRTOMB || HAVE_MBRTOWC
+#include <wchar.h>
+#define BUF_SIZE 64 /* assume MB_LEN_MAX <= 64 */
+#else
+typedef int mbstate_t;
+#endif
+
+/*
+ * The first two conversion loops have an extended conversion descriptor.
+ */
+struct wchar_conv_struct {
+ struct conv_struct parent;
+ mbstate_t state;
+};
+
+
+#if HAVE_WCRTOMB
+
+/* From wchar_t to anything else. */
+
+static size_t wchar_from_loop_convert (iconv_t icd,
+ const char* * inbuf, size_t *inbytesleft,
+ char* * outbuf, size_t *outbytesleft)
+{
+ struct wchar_conv_struct * wcd = (struct wchar_conv_struct *) icd;
+ size_t result = 0;
+ while (*inbytesleft >= sizeof(wchar_t)) {
+ const wchar_t * inptr = (const wchar_t *) *inbuf;
+ size_t inleft = *inbytesleft;
+ char buf[BUF_SIZE];
+ mbstate_t state = wcd->state;
+ size_t bufcount = 0;
+ while (inleft >= sizeof(wchar_t)) {
+ /* Convert one wchar_t to multibyte representation. */
+ size_t count = wcrtomb(buf+bufcount,*inptr,&state);
+ if (count == (size_t)(-1)) {
+ /* Invalid input. */
+ errno = EILSEQ;
+ return -1;
+ }
+ inptr++;
+ inleft -= sizeof(wchar_t);
+ bufcount += count;
+ if (count == 0) {
+ /* Continue, append next wchar_t. */
+ } else {
+ /* Attempt to convert the accumulated multibyte representations
+ to the target encoding. */
+ const char* bufptr = buf;
+ size_t bufleft = bufcount;
+ char* outptr = *outbuf;
+ size_t outleft = *outbytesleft;
+ size_t res = unicode_loop_convert(&wcd->parent,
+ &bufptr,&bufleft,
+ &outptr,&outleft);
+ if (res == (size_t)(-1)) {
+ if (errno == EILSEQ)
+ /* Invalid input. */
+ return -1;
+ else if (errno == E2BIG)
+ /* Output buffer too small. */
+ return -1;
+ else if (errno == EINVAL) {
+ /* Continue, append next wchar_t, but avoid buffer overrun. */
+ if (bufcount + MB_CUR_MAX > BUF_SIZE)
+ abort();
+ } else
+ abort();
+ } else {
+ /* Successful conversion. */
+ wcd->state = state;
+ *inbuf = (const char *) inptr;
+ *inbytesleft = inleft;
+ *outbuf = outptr;
+ *outbytesleft = outleft;
+ result += res;
+ break;
+ }
+ }
+ }
+ }
+ return result;
+}
+
+static size_t wchar_from_loop_reset (iconv_t icd,
+ char* * outbuf, size_t *outbytesleft)
+{
+ struct wchar_conv_struct * wcd = (struct wchar_conv_struct *) icd;
+ if (outbuf == NULL || *outbuf == NULL) {
+ /* Reset the states. */
+ memset(&wcd->state,'\0',sizeof(mbstate_t));
+ return unicode_loop_reset(&wcd->parent,NULL,NULL);
+ } else {
+ if (!mbsinit(&wcd->state)) {
+ mbstate_t state = wcd->state;
+ char buf[BUF_SIZE];
+ size_t bufcount = wcrtomb(buf,(wchar_t)0,&state);
+ if (bufcount == (size_t)(-1) || bufcount == 0 || buf[bufcount-1] != '\0')
+ abort();
+ else {
+ const char* bufptr = buf;
+ size_t bufleft = bufcount-1;
+ char* outptr = *outbuf;
+ size_t outleft = *outbytesleft;
+ size_t res = unicode_loop_convert(&wcd->parent,
+ &bufptr,&bufleft,
+ &outptr,&outleft);
+ if (res == (size_t)(-1)) {
+ if (errno == E2BIG)
+ return -1;
+ else
+ abort();
+ } else {
+ res = unicode_loop_reset(&wcd->parent,&outptr,&outleft);
+ if (res == (size_t)(-1))
+ return res;
+ else {
+ /* Successful. */
+ wcd->state = state;
+ *outbuf = outptr;
+ *outbytesleft = outleft;
+ return 0;
+ }
+ }
+ }
+ } else
+ return unicode_loop_reset(&wcd->parent,outbuf,outbytesleft);
+ }
+}
+
+#endif
+
+
+#if HAVE_MBRTOWC
+
+/* From anything else to wchar_t. */
+
+static size_t wchar_to_loop_convert (iconv_t icd,
+ const char* * inbuf, size_t *inbytesleft,
+ char* * outbuf, size_t *outbytesleft)
+{
+ struct wchar_conv_struct * wcd = (struct wchar_conv_struct *) icd;
+ size_t result = 0;
+ while (*inbytesleft > 0) {
+ size_t try;
+ for (try = 1; try <= *inbytesleft; try++) {
+ char buf[BUF_SIZE];
+ const char* inptr = *inbuf;
+ size_t inleft = try;
+ char* bufptr = buf;
+ size_t bufleft = BUF_SIZE;
+ size_t res = unicode_loop_convert(&wcd->parent,
+ &inptr,&inleft,
+ &bufptr,&bufleft);
+ if (res == (size_t)(-1)) {
+ if (errno == EILSEQ)
+ /* Invalid input. */
+ return -1;
+ else if (errno == EINVAL) {
+ /* Incomplete input. Next try with one more input byte. */
+ } else
+ /* E2BIG shouldn't occur. */
+ abort();
+ } else {
+ /* Successful conversion. */
+ size_t bufcount = bufptr-buf; /* = BUF_SIZE-bufleft */
+ mbstate_t state = wcd->state;
+ wchar_t wc;
+ res = mbrtowc(&wc,buf,bufcount,&state);
+ if (res == (size_t)(-2)) {
+ /* Next try with one more input byte. */
+ } else if (res == (size_t)(-1)) {
+ /* Invalid input. */
+ return -1;
+ } else {
+ if (*outbytesleft < sizeof(wchar_t)) {
+ errno = E2BIG;
+ return -1;
+ }
+ *(wchar_t*) *outbuf = wc;
+ *outbuf += sizeof(wchar_t);
+ *outbytesleft -= sizeof(wchar_t);
+ *inbuf += try;
+ *inbytesleft -= try;
+ result += res;
+ break;
+ }
+ }
+ }
+ }
+ return result;
+}
+
+static size_t wchar_to_loop_reset (iconv_t icd,
+ char* * outbuf, size_t *outbytesleft)
+{
+ struct wchar_conv_struct * wcd = (struct wchar_conv_struct *) icd;
+ size_t res = unicode_loop_reset(&wcd->parent,outbuf,outbytesleft);
+ if (res == (size_t)(-1))
+ return res;
+ memset(&wcd->state,0,sizeof(mbstate_t));
+ return 0;
+}
+
+#endif
+
+
+/* From wchar_t to wchar_t. */
+
+static size_t wchar_id_loop_convert (iconv_t icd,
+ const char* * inbuf, size_t *inbytesleft,
+ char* * outbuf, size_t *outbytesleft)
+{
+ const wchar_t* inptr = (const wchar_t*) *inbuf;
+ size_t inleft = *inbytesleft / sizeof(wchar_t);
+ wchar_t* outptr = (wchar_t*) *outbuf;
+ size_t outleft = *outbytesleft / sizeof(wchar_t);
+ size_t count = (inleft <= outleft ? inleft : outleft);
+ if (count > 0) {
+ *inbytesleft -= count * sizeof(wchar_t);
+ *outbytesleft -= count * sizeof(wchar_t);
+ do
+ *outptr++ = *inptr++;
+ while (--count > 0);
+ *inbuf = (const char*) inptr;
+ *outbuf = (char*) outptr;
+ }
+ return 0;
+}
+
+static size_t wchar_id_loop_reset (iconv_t icd,
+ char* * outbuf, size_t *outbytesleft)
+{
+ return 0;
+}
--- /dev/null
+/* Copyright (C) 2000 Free Software Foundation, Inc.
+ This file is part of the GNU ICONV Library.
+
+ The GNU ICONV 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 ICONV 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 ICONV 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. */
+
+/* This file defines all the loops. */
+
+#include "loop_unicode.h"
+#include "loop_wchar.h"
+
};
static int
-mac_arabic_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+mac_arabic_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c = *s;
if (c < 0x80) {
- *pwc = (wchar_t) c;
+ *pwc = (ucs4_t) c;
return 1;
}
else {
unsigned short wc = mac_arabic_2uni[c-0x80];
if (wc != 0xfffd) {
- *pwc = (wchar_t) wc;
+ *pwc = (ucs4_t) wc;
return 1;
}
}
};
static int
-mac_arabic_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+mac_arabic_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
unsigned char c = 0;
if (wc < 0x0080) {
};
static int
-mac_centraleurope_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+mac_centraleurope_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c = *s;
if (c < 0x80)
- *pwc = (wchar_t) c;
+ *pwc = (ucs4_t) c;
else
- *pwc = (wchar_t) mac_centraleurope_2uni[c-0x80];
+ *pwc = (ucs4_t) mac_centraleurope_2uni[c-0x80];
return 1;
}
};
static int
-mac_centraleurope_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+mac_centraleurope_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
unsigned char c = 0;
if (wc < 0x0080) {
};
static int
-mac_croatian_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+mac_croatian_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c = *s;
if (c < 0x80) {
- *pwc = (wchar_t) c;
+ *pwc = (ucs4_t) c;
return 1;
}
else {
unsigned short wc = mac_croatian_2uni[c-0x80];
if (wc != 0xfffd) {
- *pwc = (wchar_t) wc;
+ *pwc = (ucs4_t) wc;
return 1;
}
}
};
static int
-mac_croatian_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+mac_croatian_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
unsigned char c = 0;
if (wc < 0x0080) {
};
static int
-mac_cyrillic_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+mac_cyrillic_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c = *s;
if (c >= 0x80)
- *pwc = (wchar_t) mac_cyrillic_2uni[c-0x80];
+ *pwc = (ucs4_t) mac_cyrillic_2uni[c-0x80];
else
- *pwc = (wchar_t) c;
+ *pwc = (ucs4_t) c;
return 1;
}
};
static int
-mac_cyrillic_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+mac_cyrillic_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
unsigned char c = 0;
if (wc < 0x0080) {
};
static int
-mac_greek_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+mac_greek_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c = *s;
if (c < 0x80) {
- *pwc = (wchar_t) c;
+ *pwc = (ucs4_t) c;
return 1;
}
else {
unsigned short wc = mac_greek_2uni[c-0x80];
if (wc != 0xfffd) {
- *pwc = (wchar_t) wc;
+ *pwc = (ucs4_t) wc;
return 1;
}
}
};
static int
-mac_greek_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+mac_greek_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
unsigned char c = 0;
if (wc < 0x0080) {
};
static int
-mac_hebrew_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+mac_hebrew_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c = *s;
if (c < 0x80) {
- *pwc = (wchar_t) c;
+ *pwc = (ucs4_t) c;
return 1;
}
else if (c >= 0x80) {
unsigned short wc = mac_hebrew_2uni[c-0x80];
if (wc != 0xfffd) {
- *pwc = (wchar_t) wc;
+ *pwc = (ucs4_t) wc;
return 1;
}
}
};
static int
-mac_hebrew_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+mac_hebrew_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
unsigned char c = 0;
if (wc < 0x0080) {
};
static int
-mac_iceland_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+mac_iceland_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c = *s;
if (c < 0x80) {
- *pwc = (wchar_t) c;
+ *pwc = (ucs4_t) c;
return 1;
}
else {
unsigned short wc = mac_iceland_2uni[c-0x80];
if (wc != 0xfffd) {
- *pwc = (wchar_t) wc;
+ *pwc = (ucs4_t) wc;
return 1;
}
}
};
static int
-mac_iceland_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+mac_iceland_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
unsigned char c = 0;
if (wc < 0x0080) {
};
static int
-mac_roman_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+mac_roman_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c = *s;
if (c < 0x80) {
- *pwc = (wchar_t) c;
+ *pwc = (ucs4_t) c;
return 1;
}
else {
unsigned short wc = mac_roman_2uni[c-0x80];
if (wc != 0xfffd) {
- *pwc = (wchar_t) wc;
+ *pwc = (ucs4_t) wc;
return 1;
}
}
};
static int
-mac_roman_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+mac_roman_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
unsigned char c = 0;
if (wc < 0x0080) {
};
static int
-mac_romania_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+mac_romania_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c = *s;
if (c < 0x80) {
- *pwc = (wchar_t) c;
+ *pwc = (ucs4_t) c;
return 1;
}
else {
unsigned short wc = mac_romania_2uni[c-0x80];
if (wc != 0xfffd) {
- *pwc = (wchar_t) wc;
+ *pwc = (ucs4_t) wc;
return 1;
}
}
};
static int
-mac_romania_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+mac_romania_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
unsigned char c = 0;
if (wc < 0x0080) {
};
static int
-mac_thai_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+mac_thai_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c = *s;
if (c < 0x80) {
- *pwc = (wchar_t) c;
+ *pwc = (ucs4_t) c;
return 1;
}
else {
unsigned short wc = mac_thai_2uni[c-0x80];
if (wc != 0xfffd) {
- *pwc = (wchar_t) wc;
+ *pwc = (ucs4_t) wc;
return 1;
}
}
};
static int
-mac_thai_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+mac_thai_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
unsigned char c = 0;
if (wc < 0x0080) {
};
static int
-mac_turkish_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+mac_turkish_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c = *s;
if (c < 0x80) {
- *pwc = (wchar_t) c;
+ *pwc = (ucs4_t) c;
return 1;
}
else {
unsigned short wc = mac_turkish_2uni[c-0x80];
if (wc != 0xfffd) {
- *pwc = (wchar_t) wc;
+ *pwc = (ucs4_t) wc;
return 1;
}
}
};
static int
-mac_turkish_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+mac_turkish_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
unsigned char c = 0;
if (wc < 0x0080) {
};
static int
-mac_ukraine_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+mac_ukraine_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c = *s;
if (c >= 0x80)
- *pwc = (wchar_t) mac_ukraine_2uni[c-0x80];
+ *pwc = (ucs4_t) mac_ukraine_2uni[c-0x80];
else
- *pwc = (wchar_t) c;
+ *pwc = (ucs4_t) c;
return 1;
}
};
static int
-mac_ukraine_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+mac_ukraine_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
unsigned char c = 0;
if (wc < 0x0080) {
};
static int
-mulelao_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+mulelao_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c = *s;
if (c < 0xa0) {
- *pwc = (wchar_t) c;
+ *pwc = (ucs4_t) c;
return 1;
}
else {
unsigned short wc = mulelao_2uni[c-0xa0];
if (wc != 0xfffd) {
- *pwc = (wchar_t) wc;
+ *pwc = (ucs4_t) wc;
return 1;
}
}
};
static int
-mulelao_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+mulelao_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
unsigned char c = 0;
if (wc < 0x00a0) {
};
static int
-nextstep_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+nextstep_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c = *s;
if (c < 0x80) {
- *pwc = (wchar_t) c;
+ *pwc = (ucs4_t) c;
return 1;
}
else {
unsigned short wc = nextstep_2uni[c-0x80];
if (wc != 0xfffd) {
- *pwc = (wchar_t) wc;
+ *pwc = (ucs4_t) wc;
return 1;
}
}
};
static int
-nextstep_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+nextstep_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
unsigned char c = 0;
if (wc < 0x0080) {
--- /dev/null
+# Add this package to a list of references stored in a text file.
+#
+# Copyright (C) 2000 Free Software Foundation, Inc.
+#
+# This program 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, or (at your option)
+# any later version.
+#
+# This program 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 this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+# USA.
+#
+# Written by Bruno Haible <haible@clisp.cons.org>.
+#
+/^# Packages using this file: / {
+ s/# Packages using this file://
+ ta
+ :a
+ s/ @PACKAGE@ / @PACKAGE@ /
+ tb
+ s/ $/ @PACKAGE@ /
+ :b
+ s/^/# Packages using this file:/
+}
--- /dev/null
+# Remove this package from a list of references stored in a text file.
+#
+# Copyright (C) 2000 Free Software Foundation, Inc.
+#
+# This program 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, or (at your option)
+# any later version.
+#
+# This program 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 this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+# USA.
+#
+# Written by Bruno Haible <haible@clisp.cons.org>.
+#
+/^# Packages using this file: / {
+ s/# Packages using this file://
+ s/ @PACKAGE@ / /
+ s/^/# Packages using this file:/
+}
*/
static int
-sjis_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+sjis_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c = *s;
if (c < 0x80 || (c >= 0xa1 && c <= 0xdf))
}
static int
-sjis_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+sjis_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
unsigned char buf[2];
int ret;
};
static int
-tcvn_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+tcvn_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c = *s;
if (c < 0x20)
- *pwc = (wchar_t) tcvn_2uni_1[c];
+ *pwc = (ucs4_t) tcvn_2uni_1[c];
else if (c < 0x80)
- *pwc = (wchar_t) c;
+ *pwc = (ucs4_t) c;
else
- *pwc = (wchar_t) tcvn_2uni_2[c-0x80];
+ *pwc = (ucs4_t) tcvn_2uni_2[c-0x80];
return 1;
}
};
static int
-tcvn_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+tcvn_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
unsigned char c = 0;
if (wc < 0x0080 && (wc >= 0x0020 || (0x00fe0076 & (1 << wc)) == 0)) {
*/
static int
-tis620_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+tis620_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c = *s;
if (c < 0x80) {
- *pwc = (wchar_t) c;
+ *pwc = (ucs4_t) c;
return 1;
}
else if (c >= 0xa1 && c <= 0xfb && !(c >= 0xdb && c <= 0xde)) {
- *pwc = (wchar_t) (c + 0x0d60);
+ *pwc = (ucs4_t) (c + 0x0d60);
return 1;
}
return RET_ILSEQ;
}
static int
-tis620_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+tis620_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
if (wc < 0x0080) {
*r = wc;
in the stream, not just at the beginning. The default is big-endian. */
/* The state is 0 if big-endian, 1 if little-endian. */
static int
-ucs2_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+ucs2_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
state_t state = conv->istate;
int count = 0;
for (; n >= 2;) {
- wchar_t wc = (state ? s[0] + (s[1] << 8) : (s[0] << 8) + s[1]);
+ ucs4_t wc = (state ? s[0] + (s[1] << 8) : (s[0] << 8) + s[1]);
s += 2; n -= 2; count += 2;
if (wc == 0xfeff) {
} else if (wc == 0xfffe) {
state ^= 1;
+ } else if (wc >= 0xd800 && wc < 0xe000) {
+ return RET_ILSEQ;
} else {
*pwc = wc;
conv->istate = state;
"ISO/IEC 10646-1:1993(E) specifies that when characters the UCS-2 form are
serialized as octets, that the most significant octet appear first." */
static int
-ucs2_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+ucs2_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
- if (wc < 0x10000 && wc != 0xfffe) {
+ if (wc < 0x10000 && wc != 0xfffe && !(wc >= 0xd800 && wc < 0xe000)) {
if (n >= 2) {
r[0] = (unsigned char) (wc >> 8);
r[1] = (unsigned char) wc;
*/
static int
-ucs2be_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+ucs2be_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
if (n >= 2) {
- *pwc = (s[0] << 8) + s[1];
- return 2;
+ if (s[0] >= 0xd8 && s[0] < 0xe0) {
+ return RET_ILSEQ;
+ } else {
+ *pwc = (s[0] << 8) + s[1];
+ return 2;
+ }
}
return RET_TOOFEW(0);
}
static int
-ucs2be_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+ucs2be_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
- if (wc < 0x10000) {
+ if (wc < 0x10000 && !(wc >= 0xd800 && wc < 0xe000)) {
if (n >= 2) {
r[0] = (unsigned char) (wc >> 8);
r[1] = (unsigned char) wc;
*/
static int
-ucs2internal_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+ucs2internal_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
if (n >= 2) {
- *pwc = *(unsigned short *)s;
- return 2;
+ unsigned short x = *(const unsigned short *)s;
+ if (x >= 0xd800 && x < 0xe000) {
+ return RET_ILSEQ;
+ } else {
+ *pwc = x;
+ return 2;
+ }
}
return RET_TOOFEW(0);
}
static int
-ucs2internal_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+ucs2internal_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
- if (wc < 0x10000) {
+ if (wc < 0x10000 && !(wc >= 0xd800 && wc < 0xe000)) {
if (n >= 2) {
*(unsigned short *)r = wc;
return 2;
*/
static int
-ucs2le_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+ucs2le_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
if (n >= 2) {
- *pwc = s[0] + (s[1] << 8);
- return 2;
+ if (s[1] >= 0xd8 && s[1] < 0xe0) {
+ return RET_ILSEQ;
+ } else {
+ *pwc = s[0] + (s[1] << 8);
+ return 2;
+ }
}
return RET_TOOFEW(0);
}
static int
-ucs2le_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+ucs2le_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
- if (wc < 0x10000) {
+ if (wc < 0x10000 && !(wc >= 0xd800 && wc < 0xe000)) {
if (n >= 2) {
r[0] = (unsigned char) wc;
r[1] = (unsigned char) (wc >> 8);
*/
static int
-ucs2swapped_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+ucs2swapped_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
+ /* This function assumes that 'unsigned short' has exactly 16 bits. */
+ if (sizeof(unsigned short) != 2) abort();
+
if (n >= 2) {
- unsigned short x = *(unsigned short *)s;
+ unsigned short x = *(const unsigned short *)s;
x = (x >> 8) | (x << 8);
- *pwc = x;
- return 2;
+ if (x >= 0xd800 && x < 0xe000) {
+ return RET_ILSEQ;
+ } else {
+ *pwc = x;
+ return 2;
+ }
}
return RET_TOOFEW(0);
}
static int
-ucs2swapped_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+ucs2swapped_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
- if (wc < 0x10000) {
+ /* This function assumes that 'unsigned short' has exactly 16 bits. */
+ if (sizeof(unsigned short) != 2) abort();
+
+ if (wc < 0x10000 && !(wc >= 0xd800 && wc < 0xe000)) {
if (n >= 2) {
unsigned short x = wc;
x = (x >> 8) | (x << 8);
in the stream, not just at the beginning. The default is big-endian. */
/* The state is 0 if big-endian, 1 if little-endian. */
static int
-ucs4_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+ucs4_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
state_t state = conv->istate;
int count = 0;
for (; n >= 4;) {
- wchar_t wc = (state
+ ucs4_t wc = (state
? s[0] + (s[1] << 8) + (s[2] << 16) + (s[3] << 24)
: (s[0] << 24) + (s[1] << 16) + (s[2] << 8) + s[3]);
s += 4; n -= 4; count += 4;
/* But we output UCS-4 in big-endian order, without byte-order mark. */
static int
-ucs4_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+ucs4_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
if (wc != 0xfffe) {
if (n >= 4) {
*/
static int
-ucs4be_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+ucs4be_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
if (n >= 4) {
*pwc = (s[0] << 24) + (s[1] << 16) + (s[2] << 8) + s[3];
}
static int
-ucs4be_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+ucs4be_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
if (n >= 4) {
r[0] = (unsigned char) (wc >> 24);
*/
static int
-ucs4internal_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+ucs4internal_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
if (n >= 4) {
- *pwc = *(unsigned int *)s;
+ *pwc = *(const unsigned int *)s;
return 4;
}
return RET_TOOFEW(0);
}
static int
-ucs4internal_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+ucs4internal_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
if (n >= 4) {
*(unsigned int *)r = wc;
*/
static int
-ucs4le_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+ucs4le_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
if (n >= 4) {
*pwc = s[0] + (s[1] << 8) + (s[2] << 16) + (s[3] << 24);
}
static int
-ucs4le_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+ucs4le_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
if (n >= 4) {
r[0] = (unsigned char) wc;
*/
static int
-ucs4swapped_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+ucs4swapped_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
+ /* This function assumes that 'unsigned int' has exactly 32 bits. */
+ if (sizeof(unsigned int) != 4) abort();
+
if (n >= 4) {
- unsigned int x = *(unsigned int *)s;
- x = ((x & 0xffffffff) >> 24) | ((x >> 8) & 0xff00) | ((x & 0xff00) << 8) | ((x << 24) & 0xffffffff);
+ unsigned int x = *(const unsigned int *)s;
+ x = (x >> 24) | ((x >> 8) & 0xff00) | ((x & 0xff00) << 8) | (x << 24);
*pwc = x;
return 4;
}
}
static int
-ucs4swapped_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+ucs4swapped_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
+ /* This function assumes that 'unsigned int' has exactly 32 bits. */
+ if (sizeof(unsigned int) != 4) abort();
+
if (n >= 4) {
unsigned int x = wc;
- x = ((x & 0xffffffff) >> 24) | ((x >> 8) & 0xff00) | ((x & 0xff00) << 8) | ((x << 24) & 0xffffffff);
+ x = (x >> 24) | ((x >> 8) & 0xff00) | ((x & 0xff00) << 8) | (x << 24);
*(unsigned int *)r = x;
return 4;
} else
};
static int
-uhc_1_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+uhc_1_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c1 = s[0];
if ((c1 >= 0x81 && c1 <= 0xa0)) {
unsigned int col = c2 - (c2 >= 0x81 ? 0x4d : c2 >= 0x61 ? 0x47 : 0x41);
unsigned int i = 178 * row + col;
if (i < 5696) {
- *pwc = (wchar_t) (uhc_1_2uni_main_page81[2*row+(col>=89?1:0)] + uhc_1_2uni_page81[i]);
+ *pwc = (ucs4_t) (uhc_1_2uni_main_page81[2*row+(col>=89?1:0)] + uhc_1_2uni_page81[i]);
return 2;
}
}
};
static int
-uhc_1_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+uhc_1_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
if (n >= 2) {
if (wc >= 0xac00 && wc < 0xc8b0) {
};
static int
-uhc_2_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+uhc_2_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c1 = s[0];
if ((c1 >= 0xa1 && c1 <= 0xc6)) {
unsigned int col = c2 - (c2 >= 0x81 ? 0x4d : c2 >= 0x61 ? 0x47 : 0x41);
unsigned int i = 84 * row + col;
if (i < 3126) {
- *pwc = (wchar_t) (uhc_2_2uni_main_pagea1[2*row+(col>=42?1:0)] + uhc_2_2uni_pagea1[i]);
+ *pwc = (ucs4_t) (uhc_2_2uni_main_pagea1[2*row+(col>=42?1:0)] + uhc_2_2uni_pagea1[i]);
return 2;
}
}
};
static int
-uhc_2_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+uhc_2_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
if (n >= 2) {
if (wc >= 0xc800 && wc < 0xd7b0) {
The default is big-endian. */
/* The state is 0 if big-endian, 1 if little-endian. */
static int
-utf16_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+utf16_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
state_t state = conv->istate;
int count = 0;
for (; n >= 2;) {
- wchar_t wc = (state ? s[0] + (s[1] << 8) : (s[0] << 8) + s[1]);
+ ucs4_t wc = (state ? s[0] + (s[1] << 8) : (s[0] << 8) + s[1]);
if (wc == 0xfeff) {
} else if (wc == 0xfffe) {
state ^= 1;
} else if (wc >= 0xd800 && wc < 0xdc00) {
if (n >= 4) {
- wchar_t wc2 = (state ? s[2] + (s[3] << 8) : (s[2] << 8) + s[3]);
+ ucs4_t wc2 = (state ? s[2] + (s[3] << 8) : (s[2] << 8) + s[3]);
if (!(wc2 >= 0xdc00 && wc2 < 0xe000))
return RET_ILSEQ;
*pwc = 0x10000 + ((wc - 0xd800) << 10) + (wc2 - 0xdc00);
long as the above utf16_mbtowc function is used. */
/* The state is 0 at the beginning, 1 after the BOM has been written. */
static int
-utf16_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+utf16_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
- if (wc != 0xfffe) {
+ if (wc != 0xfffe && !(wc >= 0xd800 && wc < 0xe000)) {
int count = 0;
if (!conv->ostate) {
if (n >= 2) {
}
else if (wc < 0x110000) {
if (n >= 4) {
- wchar_t wc1 = 0xd800 + ((wc - 0x10000) >> 10);
- wchar_t wc2 = 0xdc00 + ((wc - 0x10000) & 0x3ff);
+ ucs4_t wc1 = 0xd800 + ((wc - 0x10000) >> 10);
+ ucs4_t wc2 = 0xdc00 + ((wc - 0x10000) & 0x3ff);
r[0] = (unsigned char) (wc1 >> 8);
r[1] = (unsigned char) wc1;
r[2] = (unsigned char) (wc2 >> 8);
/* Specification: RFC 2781 */
static int
-utf16be_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+utf16be_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
int count = 0;
if (n >= 2) {
- wchar_t wc = (s[0] << 8) + s[1];
+ ucs4_t wc = (s[0] << 8) + s[1];
if (wc >= 0xd800 && wc < 0xdc00) {
if (n >= 4) {
- wchar_t wc2 = (s[2] << 8) + s[3];
+ ucs4_t wc2 = (s[2] << 8) + s[3];
if (!(wc2 >= 0xdc00 && wc2 < 0xe000))
return RET_ILSEQ;
*pwc = 0x10000 + ((wc - 0xd800) << 10) + (wc2 - 0xdc00);
}
static int
-utf16be_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+utf16be_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
- if (wc < 0x10000) {
- if (n >= 2) {
- r[0] = (unsigned char) (wc >> 8);
- r[1] = (unsigned char) wc;
- return 2;
- } else
- return RET_TOOSMALL;
- }
- else if (wc < 0x110000) {
- if (n >= 4) {
- wchar_t wc1 = 0xd800 + ((wc - 0x10000) >> 10);
- wchar_t wc2 = 0xdc00 + ((wc - 0x10000) & 0x3ff);
- r[0] = (unsigned char) (wc1 >> 8);
- r[1] = (unsigned char) wc1;
- r[2] = (unsigned char) (wc2 >> 8);
- r[3] = (unsigned char) wc2;
- return 4;
- } else
- return RET_TOOSMALL;
+ if (!(wc >= 0xd800 && wc < 0xe000)) {
+ if (wc < 0x10000) {
+ if (n >= 2) {
+ r[0] = (unsigned char) (wc >> 8);
+ r[1] = (unsigned char) wc;
+ return 2;
+ } else
+ return RET_TOOSMALL;
+ }
+ else if (wc < 0x110000) {
+ if (n >= 4) {
+ ucs4_t wc1 = 0xd800 + ((wc - 0x10000) >> 10);
+ ucs4_t wc2 = 0xdc00 + ((wc - 0x10000) & 0x3ff);
+ r[0] = (unsigned char) (wc1 >> 8);
+ r[1] = (unsigned char) wc1;
+ r[2] = (unsigned char) (wc2 >> 8);
+ r[3] = (unsigned char) wc2;
+ return 4;
+ } else
+ return RET_TOOSMALL;
+ }
}
return RET_ILSEQ;
}
/* Specification: RFC 2781 */
static int
-utf16le_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+utf16le_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
int count = 0;
if (n >= 2) {
- wchar_t wc = s[0] + (s[1] << 8);
+ ucs4_t wc = s[0] + (s[1] << 8);
if (wc >= 0xd800 && wc < 0xdc00) {
if (n >= 4) {
- wchar_t wc2 = s[2] + (s[3] << 8);
+ ucs4_t wc2 = s[2] + (s[3] << 8);
if (!(wc2 >= 0xdc00 && wc2 < 0xe000))
return RET_ILSEQ;
*pwc = 0x10000 + ((wc - 0xd800) << 10) + (wc2 - 0xdc00);
}
static int
-utf16le_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+utf16le_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
- if (wc < 0x10000) {
- if (n >= 2) {
- r[0] = (unsigned char) wc;
- r[1] = (unsigned char) (wc >> 8);
- return 2;
- } else
- return RET_TOOSMALL;
- }
- else if (wc < 0x110000) {
- if (n >= 4) {
- wchar_t wc1 = 0xd800 + ((wc - 0x10000) >> 10);
- wchar_t wc2 = 0xdc00 + ((wc - 0x10000) & 0x3ff);
- r[0] = (unsigned char) wc1;
- r[1] = (unsigned char) (wc1 >> 8);
- r[2] = (unsigned char) wc2;
- r[3] = (unsigned char) (wc2 >> 8);
- return 4;
- } else
- return RET_TOOSMALL;
+ if (!(wc >= 0xd800 && wc < 0xe000)) {
+ if (wc < 0x10000) {
+ if (n >= 2) {
+ r[0] = (unsigned char) wc;
+ r[1] = (unsigned char) (wc >> 8);
+ return 2;
+ } else
+ return RET_TOOSMALL;
+ }
+ else if (wc < 0x110000) {
+ if (n >= 4) {
+ ucs4_t wc1 = 0xd800 + ((wc - 0x10000) >> 10);
+ ucs4_t wc2 = 0xdc00 + ((wc - 0x10000) & 0x3ff);
+ r[0] = (unsigned char) wc1;
+ r[1] = (unsigned char) (wc1 >> 8);
+ r[2] = (unsigned char) wc2;
+ r[3] = (unsigned char) (wc2 >> 8);
+ return 4;
+ } else
+ return RET_TOOSMALL;
+ }
}
return RET_ILSEQ;
}
*/
static int
-utf7_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+utf7_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
state_t state = conv->istate;
int count = 0; /* number of input bytes already read */
{
unsigned char c = *s;
if (isxdirect(c)) {
- *pwc = (wchar_t) c;
+ *pwc = (ucs4_t) c;
conv->istate = state;
return count+1;
}
if (n < count+2)
goto none;
if (s[1] == '-') {
- *pwc = (wchar_t) '+';
+ *pwc = (ucs4_t) '+';
conv->istate = state;
return count+2;
}
/* Here k = kmax > 0, hence base64count > 0. */
if ((base64state & 3) == 0) abort();
if (kmax == 4) {
- wchar_t wc1 = wc >> 16;
- wchar_t wc2 = wc & 0xffff;
+ ucs4_t wc1 = wc >> 16;
+ ucs4_t wc2 = wc & 0xffff;
if (!(wc1 >= 0xd800 && wc1 < 0xdc00)) abort();
if (!(wc2 >= 0xdc00 && wc2 < 0xe000)) return RET_ILSEQ;
- *pwc = 0x10000 + ((wc - 0xd800) << 10) + (wc2 - 0xdc00);
+ *pwc = 0x10000 + ((wc1 - 0xd800) << 10) + (wc2 - 0xdc00);
} else {
*pwc = wc;
}
#define UTF7_ENCODE_OPTIONAL_CHARS 1
static int
-utf7_wctomb (conv_t conv, unsigned char *r, wchar_t iwc, int n)
+utf7_wctomb (conv_t conv, unsigned char *r, ucs4_t iwc, int n)
{
state_t state = conv->ostate;
unsigned int wc = iwc;
/* Specification: RFC 2279 */
static int
-utf8_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+utf8_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c = s[0];
return RET_TOOFEW(0);
if (!((s[1] ^ 0x80) < 0x40))
return RET_ILSEQ;
- *pwc = ((wchar_t) (c & 0x1f) << 6)
- | (wchar_t) (s[1] ^ 0x80);
+ *pwc = ((ucs4_t) (c & 0x1f) << 6)
+ | (ucs4_t) (s[1] ^ 0x80);
return 2;
} else if (c < 0xf0) {
if (n < 3)
if (!((s[1] ^ 0x80) < 0x40 && (s[2] ^ 0x80) < 0x40
&& (c >= 0xe1 || s[1] >= 0xa0)))
return RET_ILSEQ;
- *pwc = ((wchar_t) (c & 0x0f) << 12)
- | ((wchar_t) (s[1] ^ 0x80) << 6)
- | (wchar_t) (s[2] ^ 0x80);
+ *pwc = ((ucs4_t) (c & 0x0f) << 12)
+ | ((ucs4_t) (s[1] ^ 0x80) << 6)
+ | (ucs4_t) (s[2] ^ 0x80);
return 3;
- } else if (c < 0xf8 && sizeof(wchar_t)*8 >= 32) {
+ } else if (c < 0xf8 && sizeof(ucs4_t)*8 >= 32) {
if (n < 4)
return RET_TOOFEW(0);
if (!((s[1] ^ 0x80) < 0x40 && (s[2] ^ 0x80) < 0x40
&& (s[3] ^ 0x80) < 0x40
&& (c >= 0xf1 || s[1] >= 0x90)))
return RET_ILSEQ;
- *pwc = ((wchar_t) (c & 0x07) << 18)
- | ((wchar_t) (s[1] ^ 0x80) << 12)
- | ((wchar_t) (s[2] ^ 0x80) << 6)
- | (wchar_t) (s[3] ^ 0x80);
+ *pwc = ((ucs4_t) (c & 0x07) << 18)
+ | ((ucs4_t) (s[1] ^ 0x80) << 12)
+ | ((ucs4_t) (s[2] ^ 0x80) << 6)
+ | (ucs4_t) (s[3] ^ 0x80);
return 4;
- } else if (c < 0xfc && sizeof(wchar_t)*8 >= 32) {
+ } else if (c < 0xfc && sizeof(ucs4_t)*8 >= 32) {
if (n < 5)
return RET_TOOFEW(0);
if (!((s[1] ^ 0x80) < 0x40 && (s[2] ^ 0x80) < 0x40
&& (s[3] ^ 0x80) < 0x40 && (s[4] ^ 0x80) < 0x40
&& (c >= 0xf9 || s[1] >= 0x88)))
return RET_ILSEQ;
- *pwc = ((wchar_t) (c & 0x03) << 24)
- | ((wchar_t) (s[1] ^ 0x80) << 18)
- | ((wchar_t) (s[2] ^ 0x80) << 12)
- | ((wchar_t) (s[3] ^ 0x80) << 6)
- | (wchar_t) (s[4] ^ 0x80);
+ *pwc = ((ucs4_t) (c & 0x03) << 24)
+ | ((ucs4_t) (s[1] ^ 0x80) << 18)
+ | ((ucs4_t) (s[2] ^ 0x80) << 12)
+ | ((ucs4_t) (s[3] ^ 0x80) << 6)
+ | (ucs4_t) (s[4] ^ 0x80);
return 5;
- } else if (c < 0xfe && sizeof(wchar_t)*8 >= 32) {
+ } else if (c < 0xfe && sizeof(ucs4_t)*8 >= 32) {
if (n < 6)
return RET_TOOFEW(0);
if (!((s[1] ^ 0x80) < 0x40 && (s[2] ^ 0x80) < 0x40
&& (s[5] ^ 0x80) < 0x40
&& (c >= 0xfd || s[1] >= 0x84)))
return RET_ILSEQ;
- *pwc = ((wchar_t) (c & 0x01) << 30)
- | ((wchar_t) (s[1] ^ 0x80) << 24)
- | ((wchar_t) (s[2] ^ 0x80) << 18)
- | ((wchar_t) (s[3] ^ 0x80) << 12)
- | ((wchar_t) (s[4] ^ 0x80) << 6)
- | (wchar_t) (s[5] ^ 0x80);
+ *pwc = ((ucs4_t) (c & 0x01) << 30)
+ | ((ucs4_t) (s[1] ^ 0x80) << 24)
+ | ((ucs4_t) (s[2] ^ 0x80) << 18)
+ | ((ucs4_t) (s[3] ^ 0x80) << 12)
+ | ((ucs4_t) (s[4] ^ 0x80) << 6)
+ | (ucs4_t) (s[5] ^ 0x80);
return 6;
} else
return RET_ILSEQ;
}
static int
-utf8_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n) /* n == 0 is acceptable */
+utf8_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) /* n == 0 is acceptable */
{
int count;
if (wc < 0x80)
};
static int
-viscii_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
+viscii_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c = *s;
if (c < 0x20)
- *pwc = (wchar_t) viscii_2uni_1[c];
+ *pwc = (ucs4_t) viscii_2uni_1[c];
else if (c < 0x80)
- *pwc = (wchar_t) c;
+ *pwc = (ucs4_t) c;
else
- *pwc = (wchar_t) viscii_2uni_2[c-0x80];
+ *pwc = (ucs4_t) viscii_2uni_2[c-0x80];
return 1;
}
};
static int
-viscii_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
+viscii_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
{
unsigned char c = 0;
if (wc < 0x0080 && (wc >= 0x0020 || (0x42100064 & (1 << wc)) == 0)) {
+2001-01-03 Bruno Haible <haible@clisp.cons.org>
+
+ * gettext.m4: Check for argz.h, limits.h, malloc.h, string.h,
+ unistd.h, sys/param.h, mmap, mempcpy, munmap, stpcpy, strcasecmp,
+ strchr, strdup, __argz_count, __argz_stringify, __argz_next.
+
+2000-12-06 Bruno Haible <haible@clisp.cons.org>
+
+ * microsoft.m4: Remove file.
+ * Makefile.am (EXTRA_DIST): Remove it.
+
+2000-12-05 Bruno Haible <haible@clisp.cons.org>
+
+ * codeset.m4: New file, from libiconv-1.5.
+ * glibc21.m4: New file, from libiconv-1.5.
+ * Makefile.am (EXTRA_DIST): Add them.
+
+ * libtool.m4: New file.
+ * Makefile.am (EXTRA_DIST): Add it.
+
2000-06-28 François Pinard <pinard@iro.umontreal.ca>
* Makefile.am (EXTRA_DIST):
AUTOMAKE_OPTIONS = gnits
-EXTRA_DIST = atconfig.m4 flex.m4 gettext.m4 lcmessage.m4 malloc.m4 \
-microsoft.m4 realloc.m4 utimbuf.m4
+EXTRA_DIST = atconfig.m4 codeset.m4 flex.m4 gettext.m4 glibc21.m4 \
+lcmessage.m4 libtool.m4 malloc.m4 realloc.m4 utimbuf.m4
DLLTOOL = @DLLTOOL@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
+GLIBC21 = @GLIBC21@
LEX = @LEX@
LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
LIBOBJS = @LIBOBJS@
AUTOMAKE_OPTIONS = gnits
-EXTRA_DIST = atconfig.m4 flex.m4 gettext.m4 lcmessage.m4 malloc.m4 microsoft.m4 realloc.m4 utimbuf.m4
+EXTRA_DIST = atconfig.m4 codeset.m4 flex.m4 gettext.m4 glibc21.m4 lcmessage.m4 libtool.m4 malloc.m4 realloc.m4 utimbuf.m4
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = ../config.h
all: all-redirect
.SUFFIXES:
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && $(AUTOMAKE) --gnits m4/Makefile
+ cd $(top_srcdir) && $(AUTOMAKE) --gnits --include-deps m4/Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES)
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) \
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
subdir = m4
distdir: $(DISTFILES)
- here=`cd $(top_builddir) && pwd`; \
- top_distdir=`cd $(top_distdir) && pwd`; \
- distdir=`cd $(distdir) && pwd`; \
- cd $(top_srcdir) \
- && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnits m4/Makefile
@for file in $(DISTFILES); do \
d=$(srcdir); \
if test -d $$d/$$file; then \
--- /dev/null
+#serial 2
+
+dnl From Bruno Haible.
+
+AC_DEFUN(jm_LANGINFO_CODESET,
+[
+ AC_CHECK_HEADERS(langinfo.h)
+ AC_CHECK_FUNCS(nl_langinfo)
+
+ AC_CACHE_CHECK([for nl_langinfo and CODESET], jm_cv_langinfo_codeset,
+ [AC_TRY_LINK([#include <langinfo.h>],
+ [char* cs = nl_langinfo(CODESET);],
+ jm_cv_langinfo_codeset=yes,
+ jm_cv_langinfo_codeset=no)
+ ])
+ if test $jm_cv_langinfo_codeset = yes; then
+ AC_DEFINE(HAVE_LANGINFO_CODESET, 1,
+ [Define if you have <langinfo.h> and nl_langinfo(CODESET).])
+ fi
+])
AC_CHECK_FUNCS(dcgettext gettext)
fi
- AC_CHECK_HEADERS(locale.h)
- AC_CHECK_FUNCS(getcwd setlocale stpcpy)
+ AC_CHECK_HEADERS(argz.h limits.h locale.h malloc.h string.h unistd.h sys/param.h)
+ AC_FUNC_MMAP
+ AC_CHECK_FUNCS(getcwd mempcpy munmap setlocale stpcpy strcasecmp strchr strdup __argz_count __argz_stringify __argz_next)
AM_LC_MESSAGES
if test -z "$ALL_LINGUAS"; then
--- /dev/null
+#serial 2
+
+# Test for the GNU C Library, version 2.1 or newer.
+# From Bruno Haible.
+
+AC_DEFUN(jm_GLIBC21,
+ [
+ AC_CACHE_CHECK(whether we are using the GNU C Library 2.1 or newer,
+ ac_cv_gnu_library_2_1,
+ [AC_EGREP_CPP([Lucky GNU user],
+ [
+#include <features.h>
+#ifdef __GNU_LIBRARY__
+ #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2)
+ Lucky GNU user
+ #endif
+#endif
+ ],
+ ac_cv_gnu_library_2_1=yes,
+ ac_cv_gnu_library_2_1=no)
+ ]
+ )
+ AC_SUBST(GLIBC21)
+ GLIBC21="$ac_cv_gnu_library_2_1"
+ ]
+)
--- /dev/null
+## libtool.m4 - Configure libtool for the target system. -*-Shell-script-*-
+## Copyright (C) 1996-1999, 2000 Free Software Foundation, Inc.
+## Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
+##
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2 of the License, or
+## (at your option) any later version.
+##
+## This program 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
+## General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+##
+## As a special exception to the GNU General Public License, if you
+## distribute this file as part of a program that contains a
+## configuration script generated by Autoconf, you may include it under
+## the same distribution terms that you use for the rest of that program.
+
+# serial 40 AC_PROG_LIBTOOL
+AC_DEFUN(AC_PROG_LIBTOOL,
+[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl
+
+# Save cache, so that ltconfig can load it
+AC_CACHE_SAVE
+
+# Actually configure libtool. ac_aux_dir is where install-sh is found.
+CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" \
+LD="$LD" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \
+LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" \
+DLLTOOL="$DLLTOOL" AS="$AS" OBJDUMP="$OBJDUMP" \
+${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig \
+$libtool_flags --no-verify $ac_aux_dir/ltmain.sh $lt_target \
+|| AC_MSG_ERROR([libtool configure failed])
+
+# Reload cache, that may have been modified by ltconfig
+AC_CACHE_LOAD
+
+# This can be used to rebuild libtool when needed
+LIBTOOL_DEPS="$ac_aux_dir/ltconfig $ac_aux_dir/ltmain.sh"
+
+# Always use our own libtool.
+LIBTOOL='$(SHELL) $(top_builddir)/libtool'
+AC_SUBST(LIBTOOL)dnl
+
+# Redirect the config.log output again, so that the ltconfig log is not
+# clobbered by the next message.
+exec 5>>./config.log
+])
+
+AC_DEFUN(AC_LIBTOOL_SETUP,
+[AC_PREREQ(2.13)dnl
+AC_REQUIRE([AC_ENABLE_SHARED])dnl
+AC_REQUIRE([AC_ENABLE_STATIC])dnl
+AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl
+AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+AC_REQUIRE([AC_PROG_RANLIB])dnl
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_PROG_LD])dnl
+AC_REQUIRE([AC_PROG_NM])dnl
+AC_REQUIRE([AC_PROG_LN_S])dnl
+dnl
+
+case "$target" in
+NONE) lt_target="$host" ;;
+*) lt_target="$target" ;;
+esac
+
+# Check for any special flags to pass to ltconfig.
+libtool_flags=""
+test "$enable_shared" = no && libtool_flags="$libtool_flags --disable-shared"
+test "$enable_static" = no && libtool_flags="$libtool_flags --disable-static"
+test "$enable_fast_install" = no && libtool_flags="$libtool_flags --disable-fast-install"
+test "$ac_cv_prog_gcc" = yes && libtool_flags="$libtool_flags --with-gcc"
+test "$ac_cv_prog_gnu_ld" = yes && libtool_flags="$libtool_flags --with-gnu-ld"
+ifdef([AC_PROVIDE_AC_LIBTOOL_DLOPEN],
+[libtool_flags="$libtool_flags --enable-dlopen"])
+ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL],
+[libtool_flags="$libtool_flags --enable-win32-dll"])
+AC_ARG_ENABLE(libtool-lock,
+ [ --disable-libtool-lock avoid locking (might break parallel builds)])
+test "x$enable_libtool_lock" = xno && libtool_flags="$libtool_flags --disable-lock"
+test x"$silent" = xyes && libtool_flags="$libtool_flags --silent"
+
+# Some flags need to be propagated to the compiler or linker for good
+# libtool support.
+case "$lt_target" in
+*-*-irix6*)
+ # Find out which ABI we are using.
+ echo '[#]line __oline__ "configure"' > conftest.$ac_ext
+ if AC_TRY_EVAL(ac_compile); then
+ case "`/usr/bin/file conftest.o`" in
+ *32-bit*)
+ LD="${LD-ld} -32"
+ ;;
+ *N32*)
+ LD="${LD-ld} -n32"
+ ;;
+ *64-bit*)
+ LD="${LD-ld} -64"
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+
+*-*-sco3.2v5*)
+ # On SCO OpenServer 5, we need -belf to get full-featured binaries.
+ SAVE_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -belf"
+ AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
+ [AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])])
+ if test x"$lt_cv_cc_needs_belf" != x"yes"; then
+ # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
+ CFLAGS="$SAVE_CFLAGS"
+ fi
+ ;;
+
+ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL],
+[*-*-cygwin* | *-*-mingw*)
+ AC_CHECK_TOOL(DLLTOOL, dlltool, false)
+ AC_CHECK_TOOL(AS, as, false)
+ AC_CHECK_TOOL(OBJDUMP, objdump, false)
+ ;;
+])
+esac
+])
+
+# AC_LIBTOOL_DLOPEN - enable checks for dlopen support
+AC_DEFUN(AC_LIBTOOL_DLOPEN, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])])
+
+# AC_LIBTOOL_WIN32_DLL - declare package support for building win32 dll's
+AC_DEFUN(AC_LIBTOOL_WIN32_DLL, [AC_BEFORE([$0], [AC_LIBTOOL_SETUP])])
+
+# AC_ENABLE_SHARED - implement the --enable-shared flag
+# Usage: AC_ENABLE_SHARED[(DEFAULT)]
+# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
+# `yes'.
+AC_DEFUN(AC_ENABLE_SHARED, [dnl
+define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl
+AC_ARG_ENABLE(shared,
+changequote(<<, >>)dnl
+<< --enable-shared[=PKGS] build shared libraries [default=>>AC_ENABLE_SHARED_DEFAULT],
+changequote([, ])dnl
+[p=${PACKAGE-default}
+case "$enableval" in
+yes) enable_shared=yes ;;
+no) enable_shared=no ;;
+*)
+ enable_shared=no
+ # Look at the argument we got. We use all the common list separators.
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
+ for pkg in $enableval; do
+ if test "X$pkg" = "X$p"; then
+ enable_shared=yes
+ fi
+ done
+ IFS="$ac_save_ifs"
+ ;;
+esac],
+enable_shared=AC_ENABLE_SHARED_DEFAULT)dnl
+])
+
+# AC_DISABLE_SHARED - set the default shared flag to --disable-shared
+AC_DEFUN(AC_DISABLE_SHARED, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+AC_ENABLE_SHARED(no)])
+
+# AC_ENABLE_STATIC - implement the --enable-static flag
+# Usage: AC_ENABLE_STATIC[(DEFAULT)]
+# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
+# `yes'.
+AC_DEFUN(AC_ENABLE_STATIC, [dnl
+define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl
+AC_ARG_ENABLE(static,
+changequote(<<, >>)dnl
+<< --enable-static[=PKGS] build static libraries [default=>>AC_ENABLE_STATIC_DEFAULT],
+changequote([, ])dnl
+[p=${PACKAGE-default}
+case "$enableval" in
+yes) enable_static=yes ;;
+no) enable_static=no ;;
+*)
+ enable_static=no
+ # Look at the argument we got. We use all the common list separators.
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
+ for pkg in $enableval; do
+ if test "X$pkg" = "X$p"; then
+ enable_static=yes
+ fi
+ done
+ IFS="$ac_save_ifs"
+ ;;
+esac],
+enable_static=AC_ENABLE_STATIC_DEFAULT)dnl
+])
+
+# AC_DISABLE_STATIC - set the default static flag to --disable-static
+AC_DEFUN(AC_DISABLE_STATIC, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+AC_ENABLE_STATIC(no)])
+
+
+# AC_ENABLE_FAST_INSTALL - implement the --enable-fast-install flag
+# Usage: AC_ENABLE_FAST_INSTALL[(DEFAULT)]
+# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
+# `yes'.
+AC_DEFUN(AC_ENABLE_FAST_INSTALL, [dnl
+define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl
+AC_ARG_ENABLE(fast-install,
+changequote(<<, >>)dnl
+<< --enable-fast-install[=PKGS] optimize for fast installation [default=>>AC_ENABLE_FAST_INSTALL_DEFAULT],
+changequote([, ])dnl
+[p=${PACKAGE-default}
+case "$enableval" in
+yes) enable_fast_install=yes ;;
+no) enable_fast_install=no ;;
+*)
+ enable_fast_install=no
+ # Look at the argument we got. We use all the common list separators.
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
+ for pkg in $enableval; do
+ if test "X$pkg" = "X$p"; then
+ enable_fast_install=yes
+ fi
+ done
+ IFS="$ac_save_ifs"
+ ;;
+esac],
+enable_fast_install=AC_ENABLE_FAST_INSTALL_DEFAULT)dnl
+])
+
+# AC_ENABLE_FAST_INSTALL - set the default to --disable-fast-install
+AC_DEFUN(AC_DISABLE_FAST_INSTALL, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+AC_ENABLE_FAST_INSTALL(no)])
+
+# AC_PROG_LD - find the path to the GNU or non-GNU linker
+AC_DEFUN(AC_PROG_LD,
+[AC_ARG_WITH(gnu-ld,
+[ --with-gnu-ld assume the C compiler uses GNU ld [default=no]],
+test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+ac_prog=ld
+if test "$ac_cv_prog_gcc" = yes; then
+ # Check if gcc -print-prog-name=ld gives a path.
+ AC_MSG_CHECKING([for ld used by GCC])
+ ac_prog=`($CC -print-prog-name=ld) 2>&5`
+ case "$ac_prog" in
+ # Accept absolute paths.
+changequote(,)dnl
+ [\\/]* | [A-Za-z]:[\\/]*)
+ re_direlt='/[^/][^/]*/\.\./'
+changequote([,])dnl
+ # Canonicalize the path of ld
+ ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
+ while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
+ ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
+ done
+ test -z "$LD" && LD="$ac_prog"
+ ;;
+ "")
+ # If it fails, then pretend we aren't using GCC.
+ ac_prog=ld
+ ;;
+ *)
+ # If it is relative, then search for the first ld in PATH.
+ with_gnu_ld=unknown
+ ;;
+ esac
+elif test "$with_gnu_ld" = yes; then
+ AC_MSG_CHECKING([for GNU ld])
+else
+ AC_MSG_CHECKING([for non-GNU ld])
+fi
+AC_CACHE_VAL(ac_cv_path_LD,
+[if test -z "$LD"; then
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
+ for ac_dir in $PATH; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+ ac_cv_path_LD="$ac_dir/$ac_prog"
+ # Check to see if the program is GNU ld. I'd rather use --version,
+ # but apparently some GNU ld's only accept -v.
+ # Break only if it was the GNU/non-GNU ld that we prefer.
+ if "$ac_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
+ test "$with_gnu_ld" != no && break
+ else
+ test "$with_gnu_ld" != yes && break
+ fi
+ fi
+ done
+ IFS="$ac_save_ifs"
+else
+ ac_cv_path_LD="$LD" # Let the user override the test with a path.
+fi])
+LD="$ac_cv_path_LD"
+if test -n "$LD"; then
+ AC_MSG_RESULT($LD)
+else
+ AC_MSG_RESULT(no)
+fi
+test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
+AC_PROG_LD_GNU
+])
+
+AC_DEFUN(AC_PROG_LD_GNU,
+[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], ac_cv_prog_gnu_ld,
+[# I'd rather use --version here, but apparently some GNU ld's only accept -v.
+if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
+ ac_cv_prog_gnu_ld=yes
+else
+ ac_cv_prog_gnu_ld=no
+fi])
+])
+
+# AC_PROG_NM - find the path to a BSD-compatible name lister
+AC_DEFUN(AC_PROG_NM,
+[AC_MSG_CHECKING([for BSD-compatible nm])
+AC_CACHE_VAL(ac_cv_path_NM,
+[if test -n "$NM"; then
+ # Let the user override the test.
+ ac_cv_path_NM="$NM"
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
+ for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/nm || test -f $ac_dir/nm$ac_exeext ; then
+ # Check to see if the nm accepts a BSD-compat flag.
+ # Adding the `sed 1q' prevents false positives on HP-UX, which says:
+ # nm: unknown option "B" ignored
+ if ($ac_dir/nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
+ ac_cv_path_NM="$ac_dir/nm -B"
+ break
+ elif ($ac_dir/nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
+ ac_cv_path_NM="$ac_dir/nm -p"
+ break
+ else
+ ac_cv_path_NM=${ac_cv_path_NM="$ac_dir/nm"} # keep the first match, but
+ continue # so that we can try to find one that supports BSD flags
+ fi
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_path_NM" && ac_cv_path_NM=nm
+fi])
+NM="$ac_cv_path_NM"
+AC_MSG_RESULT([$NM])
+])
+
+# AC_CHECK_LIBM - check for math library
+AC_DEFUN(AC_CHECK_LIBM,
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+LIBM=
+case "$lt_target" in
+*-*-beos* | *-*-cygwin*)
+ # These system don't have libm
+ ;;
+*-ncr-sysv4.3*)
+ AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
+ AC_CHECK_LIB(m, main, LIBM="$LIBM -lm")
+ ;;
+*)
+ AC_CHECK_LIB(m, main, LIBM="-lm")
+ ;;
+esac
+])
+
+# AC_LIBLTDL_CONVENIENCE[(dir)] - sets LIBLTDL to the link flags for
+# the libltdl convenience library and INCLTDL to the include flags for
+# the libltdl header and adds --enable-ltdl-convenience to the
+# configure arguments. Note that LIBLTDL and INCLTDL are not
+# AC_SUBSTed, nor is AC_CONFIG_SUBDIRS called. If DIR is not
+# provided, it is assumed to be `libltdl'. LIBLTDL will be prefixed
+# with '${top_builddir}/' and INCLTDL will be prefixed with
+# '${top_srcdir}/' (note the single quotes!). If your package is not
+# flat and you're not using automake, define top_builddir and
+# top_srcdir appropriately in the Makefiles.
+AC_DEFUN(AC_LIBLTDL_CONVENIENCE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+ case "$enable_ltdl_convenience" in
+ no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;;
+ "") enable_ltdl_convenience=yes
+ ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;;
+ esac
+ LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la
+ INCLTDL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
+])
+
+# AC_LIBLTDL_INSTALLABLE[(dir)] - sets LIBLTDL to the link flags for
+# the libltdl installable library and INCLTDL to the include flags for
+# the libltdl header and adds --enable-ltdl-install to the configure
+# arguments. Note that LIBLTDL and INCLTDL are not AC_SUBSTed, nor is
+# AC_CONFIG_SUBDIRS called. If DIR is not provided and an installed
+# libltdl is not found, it is assumed to be `libltdl'. LIBLTDL will
+# be prefixed with '${top_builddir}/' and INCLTDL will be prefixed
+# with '${top_srcdir}/' (note the single quotes!). If your package is
+# not flat and you're not using automake, define top_builddir and
+# top_srcdir appropriately in the Makefiles.
+# In the future, this macro may have to be called after AC_PROG_LIBTOOL.
+AC_DEFUN(AC_LIBLTDL_INSTALLABLE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+ AC_CHECK_LIB(ltdl, main,
+ [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no],
+ [if test x"$enable_ltdl_install" = xno; then
+ AC_MSG_WARN([libltdl not installed, but installation disabled])
+ else
+ enable_ltdl_install=yes
+ fi
+ ])
+ if test x"$enable_ltdl_install" = x"yes"; then
+ ac_configure_args="$ac_configure_args --enable-ltdl-install"
+ LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la
+ INCLTDL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
+ else
+ ac_configure_args="$ac_configure_args --enable-ltdl-install=no"
+ LIBLTDL="-lltdl"
+ INCLTDL=
+ fi
+])
+
+dnl old names
+AC_DEFUN(AM_PROG_LIBTOOL, [indir([AC_PROG_LIBTOOL])])dnl
+AC_DEFUN(AM_ENABLE_SHARED, [indir([AC_ENABLE_SHARED], $@)])dnl
+AC_DEFUN(AM_ENABLE_STATIC, [indir([AC_ENABLE_STATIC], $@)])dnl
+AC_DEFUN(AM_DISABLE_SHARED, [indir([AC_DISABLE_SHARED], $@)])dnl
+AC_DEFUN(AM_DISABLE_STATIC, [indir([AC_DISABLE_STATIC], $@)])dnl
+AC_DEFUN(AM_PROG_LD, [indir([AC_PROG_LD])])dnl
+AC_DEFUN(AM_PROG_NM, [indir([AC_PROG_NM])])dnl
+
+dnl This is just to silence aclocal about the macro not being used
+ifelse([AC_DISABLE_FAST_INSTALL])dnl
+++ /dev/null
-## ---------------------------------------- ##
-## See if compiling for Microsoft systems. ##
-## ---------------------------------------- ##
-
-AC_DEFUN(fp_OS_MICROSOFT,
-[AC_CACHE_CHECK([for MSDOS, Win95 or WinNT], fp_cv_os_microsoft,
-[if test -n "$COMSPEC"; then
- # MSDOS or Win95
- fp_cv_os_microsoft=yes
-elif test -n "$ComSpec"; then
- # WinNT
- fp_cv_os_microsoft=yes
-else
- fp_cv_os_microsoft=no
-fi
-])])
+2001-01-22 Bruno Haible <haible@clisp.cons.org>
+
+ * hash.c: Avoid use of undefined macros HAVE_DECL_MALLOC/FREE.
+
+2001-01-03 Bruno Haible <haible@clisp.cons.org>
+
+ * recodext.h (put_byte): Don't use "void" type expressions in
+ conditional expressions. Works around a compilation failure with
+ old Solaris cc.
+
+2000-12-19 Jim Meyering <jim@meyering.net>
+
+ * localcharset.c: Improve WIN32 macrology.
+ (locale_charset): Increase size of buffer.
+
+2000-12-06 Bruno Haible <haible@clisp.cons.org>
+
+ * names.c (disambiguate_name): When DEFAULT_CHARSET is not set, use
+ "char".
+ * main.c (usage): Modified default charset.
+
+2000-12-05 Bruno Haible <haible@clisp.cons.org>
+
+ * Updated to libiconv 1.5.
+
+ * iconv.c (_libiconv_version): New variable.
+
+ * iconv.c: Include libcharset.h.
+ (loop_funcs): New structure.
+ Treat encodings_local.def like encodings.def.
+ Include loops.h.
+ (iconv): Move the bulk of the code to loop_unicode.h.
+ (iconvctl): Extend determination of TRIVIALP to wchar_t conversion
+ descriptors.
+ * localcharset.c: New file, from libiconv-1.5.
+ * Makefile.am (librecode_la_SOURCES): Add localcharset.c.
+ (DEFS): Override automake default.
+
+ * iconv.c (iconv): Use ucs4_t instead of wchar_t.
+
+ Make transliteration optional.
+ * iconv.c (iconv_open): Strip off //TRANSLIT suffix from names.
+ Set transliteration on if and only if tocode ends in //TRANSLIT.
+
+2000-10-24 Bruno Haible <haible@clisp.cons.org>
+
+ * xmalloc.c, xalloc.h: Move here from lib/.
+ * Makefile.am (noinst_HEADERS): Add xalloc.h.
+ (librecode_la_SOURCES): Add xmalloc.c.
+ Reported by Tomasz Kłoczko <kloczek@wun.zie.pg.gda.pl>.
+
+2000-10-24 Bruno Haible <haible@clisp.cons.org>
+
+ * main.c (main): Remove libtool's "lt-" prefix from program_name.
+
+2000-10-15 Bruno Haible <haible@clisp.cons.org>
+
+ * Makefile.am (inisteps.h): New target, depend on stamp-steps.
+ (tersteps.h): Likewise.
+ (noinst_HEADERS): Add tersteps.h.
+
+2000-08-30 Bruno Haible <haible@clisp.cons.org>
+
+ * outer.c: Include "hash.h".
+
2000-08-18 François Pinard <pinard@iro.umontreal.ca>
* html.c: Add XML-standalone, and h0 for an alias.
wait() declaration and W* macros.
(recode_perform_task): Silence gcc warning.
* utf16.c (transform_ucs4_utf16): Remove unused variables 'character',
- 'chunk'.
+ 'chunk'.
* utf7.c (transform_utf16_utf7): Remove unused variable 'character'.
* vn.c (module_vietnamese): Return true.
include_HEADERS = recode.h recodext.h
noinst_HEADERS = argmatch.h charname.h common.h decsteps.h \
-fr-charname.h hash.h inisteps.h libiconv.h quotearg.h rfc1345.h \
-$(H_FALLBACKS) $(H_SURFACES)
+fr-charname.h hash.h inisteps.h libiconv.h quotearg.h rfc1345.h tersteps.h \
+xalloc.h $(H_FALLBACKS) $(H_SURFACES)
EXTRA_DIST = stamp-steps $(L_STEPS) mergelex.py $(MANS)
C_STEPS = african.c afrtran.c applemac.c atarist.c bangbang.c cdcnos.c \
recode_LDADD = librecode.la ../lib/libreco.a
librecode_la_SOURCES = argmatch.c charname.c combine.c fr-charname.c \
-hash.c iconv.c libiconv.c merged.c names.c outer.c quotearg.c recode.c \
-request.c strip-pool.c task.c $(C_STEPS)
+hash.c iconv.c libiconv.c localcharset.c merged.c names.c outer.c quotearg.c \
+recode.c request.c strip-pool.c task.c xmalloc.c $(C_STEPS)
librecode_la_LDFLAGS = -version-info 0:0:0
INCLUDES = -I.. -I$(srcdir) -I$(top_srcdir)/lib -I$(top_srcdir)/libiconv
+DEFS = -DLIBDIR=\"$(libdir)\" @DEFS@
ETAGS_ARGS = $(L_STEPS)
TAGS_DEPENDENCIES = $(L_STEPS)
PYTHON = python
$(srcdir)/decsteps.h: stamp-steps
+$(srcdir)/inisteps.h: stamp-steps
+$(srcdir)/tersteps.h: stamp-steps
stamp-steps: $(C_STEPS) merged.c
@echo "Updating {dec,ini,ter}steps.h"
@(cd $(srcdir) && grep -h '^module_' $(C_STEPS) merged.c ) \
DLLTOOL = @DLLTOOL@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
+GLIBC21 = @GLIBC21@
LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
LIBOBJS = @LIBOBJS@
LIBTOOL = @LIBTOOL@
man_MANS = recode.1
include_HEADERS = recode.h recodext.h
-noinst_HEADERS = argmatch.h charname.h common.h decsteps.h fr-charname.h hash.h inisteps.h libiconv.h quotearg.h rfc1345.h $(H_FALLBACKS) $(H_SURFACES)
+noinst_HEADERS = argmatch.h charname.h common.h decsteps.h fr-charname.h hash.h inisteps.h libiconv.h quotearg.h rfc1345.h tersteps.h xalloc.h $(H_FALLBACKS) $(H_SURFACES)
EXTRA_DIST = stamp-steps $(L_STEPS) mergelex.py $(MANS)
recode_SOURCES = main.c freeze.c mixed.c
recode_LDADD = librecode.la ../lib/libreco.a
-librecode_la_SOURCES = argmatch.c charname.c combine.c fr-charname.c hash.c iconv.c libiconv.c merged.c names.c outer.c quotearg.c recode.c request.c strip-pool.c task.c $(C_STEPS)
+librecode_la_SOURCES = argmatch.c charname.c combine.c fr-charname.c hash.c iconv.c libiconv.c localcharset.c merged.c names.c outer.c quotearg.c recode.c request.c strip-pool.c task.c xmalloc.c $(C_STEPS)
librecode_la_LDFLAGS = -version-info 0:0:0
INCLUDES = -I.. -I$(srcdir) -I$(top_srcdir)/lib -I$(top_srcdir)/libiconv
+DEFS = -DLIBDIR=\"$(libdir)\" @DEFS@
ETAGS_ARGS = $(L_STEPS)
TAGS_DEPENDENCIES = $(L_STEPS)
CONFIG_CLEAN_FILES =
LTLIBRARIES = $(lib_LTLIBRARIES)
-
-DEFS = @DEFS@ -I. -I$(srcdir) -I..
CPPFLAGS = @CPPFLAGS@
LDFLAGS = @LDFLAGS@
LIBS = @LIBS@
ANSI2KNR = @ANSI2KNR@
librecode_la_LIBADD =
librecode_la_OBJECTS = argmatch$U.lo charname$U.lo combine$U.lo \
-fr-charname$U.lo hash$U.lo iconv$U.lo libiconv$U.lo merged$U.lo \
-names$U.lo outer$U.lo quotearg$U.lo recode$U.lo request$U.lo \
-strip-pool$U.lo task$U.lo african$U.lo afrtran$U.lo applemac$U.lo \
-atarist$U.lo bangbang$U.lo cdcnos$U.lo ebcdic$U.lo ibmpc$U.lo \
-iconqnx$U.lo lat1asci$U.lo mule$U.lo strip-data$U.lo testdump$U.lo \
-ucs$U.lo utf16$U.lo utf7$U.lo utf8$U.lo varia$U.lo vn$U.lo flat$U.lo \
-html$U.lo lat1ltex$U.lo lat1txte$U.lo rfc1345$U.lo texinfo$U.lo \
-base64$U.lo dump$U.lo endline$U.lo permut$U.lo quoted$U.lo
+fr-charname$U.lo hash$U.lo iconv$U.lo libiconv$U.lo localcharset$U.lo \
+merged$U.lo names$U.lo outer$U.lo quotearg$U.lo recode$U.lo \
+request$U.lo strip-pool$U.lo task$U.lo xmalloc$U.lo african$U.lo \
+afrtran$U.lo applemac$U.lo atarist$U.lo bangbang$U.lo cdcnos$U.lo \
+ebcdic$U.lo ibmpc$U.lo iconqnx$U.lo lat1asci$U.lo mule$U.lo \
+strip-data$U.lo testdump$U.lo ucs$U.lo utf16$U.lo utf7$U.lo utf8$U.lo \
+varia$U.lo vn$U.lo flat$U.lo html$U.lo lat1ltex$U.lo lat1txte$U.lo \
+rfc1345$U.lo texinfo$U.lo base64$U.lo dump$U.lo endline$U.lo \
+permut$U.lo quoted$U.lo
PROGRAMS = $(bin_PROGRAMS)
recode_OBJECTS = main$U.o freeze$U.o mixed$U.o
TAR = tar
GZIP_ENV = --best
-DEP_FILES = .deps/african.P .deps/afrtran.P .deps/applemac.P \
-.deps/argmatch.P .deps/atarist.P .deps/bangbang.P .deps/base64.P \
-.deps/cdcnos.P .deps/charname.P .deps/combine.P .deps/dump.P \
-.deps/ebcdic.P .deps/endline.P .deps/flat.P .deps/fr-charname.P \
-.deps/freeze.P .deps/hash.P .deps/html.P .deps/ibmpc.P .deps/iconqnx.P \
-.deps/iconv.P .deps/lat1asci.P .deps/lat1ltex.P .deps/lat1txte.P \
-.deps/libiconv.P .deps/main.P .deps/merged.P .deps/mixed.P .deps/mule.P \
-.deps/names.P .deps/outer.P .deps/permut.P .deps/quotearg.P \
-.deps/quoted.P .deps/recode.P .deps/request.P .deps/rfc1345.P \
-.deps/strip-data.P .deps/strip-pool.P .deps/task.P .deps/testdump.P \
-.deps/texinfo.P .deps/ucs.P .deps/utf16.P .deps/utf7.P .deps/utf8.P \
-.deps/varia.P .deps/vn.P
SOURCES = $(librecode_la_SOURCES) $(recode_SOURCES)
OBJECTS = $(librecode_la_OBJECTS) $(recode_OBJECTS)
.SUFFIXES:
.SUFFIXES: .S .c .lo .o .s
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && $(AUTOMAKE) --gnits src/Makefile
+ cd $(top_srcdir) && $(AUTOMAKE) --gnits --include-deps src/Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES)
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) \
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
$(LIBTOOL) --mode=uninstall rm -f $(DESTDIR)$(libdir)/$$p; \
done
+.c.o:
+ $(COMPILE) -c $<
+
.s.o:
$(COMPILE) -c $<
maintainer-clean-compile:
+.c.lo:
+ $(LIBTOOL) --mode=compile $(COMPILE) -c $<
+
.s.lo:
$(LIBTOOL) --mode=compile $(COMPILE) -c $<
$(CPP) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/lat1txte.c; then echo $(srcdir)/lat1txte.c; else echo lat1txte.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > lat1txte_.c
libiconv_.c: libiconv.c $(ANSI2KNR)
$(CPP) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/libiconv.c; then echo $(srcdir)/libiconv.c; else echo libiconv.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > libiconv_.c
+localcharset_.c: localcharset.c $(ANSI2KNR)
+ $(CPP) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/localcharset.c; then echo $(srcdir)/localcharset.c; else echo localcharset.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > localcharset_.c
main_.c: main.c $(ANSI2KNR)
$(CPP) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/main.c; then echo $(srcdir)/main.c; else echo main.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > main_.c
merged_.c: merged.c $(ANSI2KNR)
$(CPP) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/varia.c; then echo $(srcdir)/varia.c; else echo varia.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > varia_.c
vn_.c: vn.c $(ANSI2KNR)
$(CPP) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/vn.c; then echo $(srcdir)/vn.c; else echo vn.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > vn_.c
+xmalloc_.c: xmalloc.c $(ANSI2KNR)
+ $(CPP) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/xmalloc.c; then echo $(srcdir)/xmalloc.c; else echo xmalloc.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > xmalloc_.c
african_.o african_.lo afrtran_.o afrtran_.lo applemac_.o applemac_.lo \
argmatch_.o argmatch_.lo atarist_.o atarist_.lo bangbang_.o \
bangbang_.lo base64_.o base64_.lo cdcnos_.o cdcnos_.lo charname_.o \
fr-charname_.lo freeze_.o freeze_.lo hash_.o hash_.lo html_.o html_.lo \
ibmpc_.o ibmpc_.lo iconqnx_.o iconqnx_.lo iconv_.o iconv_.lo \
lat1asci_.o lat1asci_.lo lat1ltex_.o lat1ltex_.lo lat1txte_.o \
-lat1txte_.lo libiconv_.o libiconv_.lo main_.o main_.lo merged_.o \
-merged_.lo mixed_.o mixed_.lo mule_.o mule_.lo names_.o names_.lo \
-outer_.o outer_.lo permut_.o permut_.lo quotearg_.o quotearg_.lo \
-quoted_.o quoted_.lo recode_.o recode_.lo request_.o request_.lo \
-rfc1345_.o rfc1345_.lo strip-data_.o strip-data_.lo strip-pool_.o \
-strip-pool_.lo task_.o task_.lo testdump_.o testdump_.lo texinfo_.o \
-texinfo_.lo ucs_.o ucs_.lo utf16_.o utf16_.lo utf7_.o utf7_.lo utf8_.o \
-utf8_.lo varia_.o varia_.lo vn_.o vn_.lo : $(ANSI2KNR)
+lat1txte_.lo libiconv_.o libiconv_.lo localcharset_.o localcharset_.lo \
+main_.o main_.lo merged_.o merged_.lo mixed_.o mixed_.lo mule_.o \
+mule_.lo names_.o names_.lo outer_.o outer_.lo permut_.o permut_.lo \
+quotearg_.o quotearg_.lo quoted_.o quoted_.lo recode_.o recode_.lo \
+request_.o request_.lo rfc1345_.o rfc1345_.lo strip-data_.o \
+strip-data_.lo strip-pool_.o strip-pool_.lo task_.o task_.lo \
+testdump_.o testdump_.lo texinfo_.o texinfo_.lo ucs_.o ucs_.lo utf16_.o \
+utf16_.lo utf7_.o utf7_.lo utf8_.o utf8_.lo varia_.o varia_.lo vn_.o \
+vn_.lo xmalloc_.o xmalloc_.lo : $(ANSI2KNR)
install-man1:
$(mkinstalldirs) $(DESTDIR)$(man1dir)
subdir = src
distdir: $(DISTFILES)
- here=`cd $(top_builddir) && pwd`; \
- top_distdir=`cd $(top_distdir) && pwd`; \
- distdir=`cd $(distdir) && pwd`; \
- cd $(top_srcdir) \
- && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnits src/Makefile
@for file in $(DISTFILES); do \
d=$(srcdir); \
if test -d $$d/$$file; then \
|| cp -p $$d/$$file $(distdir)/$$file || :; \
fi; \
done
+african.lo african.o : african.c common.h ../config.h xalloc.h \
+ argmatch.h ../lib/error.h recodext.h recode.h
+afrtran.lo afrtran.o : afrtran.c common.h ../config.h xalloc.h \
+ argmatch.h ../lib/error.h recodext.h recode.h
+applemac.lo applemac.o : applemac.c common.h ../config.h xalloc.h \
+ argmatch.h ../lib/error.h recodext.h recode.h
+argmatch.lo argmatch.o : argmatch.c argmatch.h ../config.h \
+ ../lib/error.h quotearg.h
+atarist.lo atarist.o : atarist.c common.h ../config.h xalloc.h \
+ argmatch.h ../lib/error.h recodext.h recode.h
+bangbang.lo bangbang.o : bangbang.c common.h ../config.h xalloc.h \
+ argmatch.h ../lib/error.h recodext.h recode.h
+base64.lo base64.o : base64.c common.h ../config.h xalloc.h argmatch.h \
+ ../lib/error.h recodext.h recode.h base64.h
+cdcnos.lo cdcnos.o : cdcnos.c common.h ../config.h xalloc.h argmatch.h \
+ ../lib/error.h recodext.h recode.h
+charname.lo charname.o : charname.c common.h ../config.h xalloc.h \
+ argmatch.h ../lib/error.h recodext.h recode.h charname.h
+combine.lo combine.o : combine.c common.h ../config.h xalloc.h \
+ argmatch.h ../lib/error.h recodext.h recode.h hash.h
+dump.lo dump.o : dump.c common.h ../config.h xalloc.h argmatch.h \
+ ../lib/error.h recodext.h recode.h
+ebcdic.lo ebcdic.o : ebcdic.c common.h ../config.h xalloc.h argmatch.h \
+ ../lib/error.h recodext.h recode.h
+endline.lo endline.o : endline.c common.h ../config.h xalloc.h \
+ argmatch.h ../lib/error.h recodext.h recode.h
+flat.lo flat.o : flat.c common.h ../config.h xalloc.h argmatch.h \
+ ../lib/error.h recodext.h recode.h
+fr-charname.lo fr-charname.o : fr-charname.c common.h ../config.h \
+ xalloc.h argmatch.h ../lib/error.h recodext.h recode.h \
+ fr-charname.h
+freeze.o: freeze.c common.h ../config.h xalloc.h argmatch.h \
+ ../lib/error.h recodext.h recode.h
+hash.lo hash.o : hash.c ../config.h hash.h
+html.lo html.o : html.c common.h ../config.h xalloc.h argmatch.h \
+ ../lib/error.h recodext.h recode.h hash.h
+ibmpc.lo ibmpc.o : ibmpc.c common.h ../config.h xalloc.h argmatch.h \
+ ../lib/error.h recodext.h recode.h
+iconqnx.lo iconqnx.o : iconqnx.c common.h ../config.h xalloc.h \
+ argmatch.h ../lib/error.h recodext.h recode.h
+iconv.lo iconv.o : iconv.c common.h ../config.h xalloc.h argmatch.h \
+ ../lib/error.h recodext.h recode.h ../libiconv/iconv.h \
+ ../libiconv/libcharset.h ../libiconv/converters.h \
+ ../libiconv/ascii.h ../libiconv/utf8.h ../libiconv/ucs2.h \
+ ../libiconv/ucs2be.h ../libiconv/ucs2le.h ../libiconv/ucs4.h \
+ ../libiconv/ucs4be.h ../libiconv/ucs4le.h ../libiconv/utf16.h \
+ ../libiconv/utf16be.h ../libiconv/utf16le.h ../libiconv/utf7.h \
+ ../libiconv/ucs2internal.h ../libiconv/ucs2swapped.h \
+ ../libiconv/ucs4internal.h ../libiconv/ucs4swapped.h \
+ ../libiconv/java.h ../libiconv/iso8859_1.h \
+ ../libiconv/iso8859_2.h ../libiconv/iso8859_3.h \
+ ../libiconv/iso8859_4.h ../libiconv/iso8859_5.h \
+ ../libiconv/iso8859_6.h ../libiconv/iso8859_7.h \
+ ../libiconv/iso8859_8.h ../libiconv/iso8859_9.h \
+ ../libiconv/iso8859_10.h ../libiconv/iso8859_13.h \
+ ../libiconv/iso8859_14.h ../libiconv/iso8859_15.h \
+ ../libiconv/iso8859_16.h ../libiconv/koi8_r.h \
+ ../libiconv/koi8_u.h ../libiconv/koi8_ru.h ../libiconv/cp1250.h \
+ ../libiconv/cp1251.h ../libiconv/cp1252.h ../libiconv/cp1253.h \
+ ../libiconv/cp1254.h ../libiconv/cp1255.h ../libiconv/cp1256.h \
+ ../libiconv/cp1257.h ../libiconv/cp1258.h ../libiconv/cp850.h \
+ ../libiconv/cp866.h ../libiconv/mac_roman.h \
+ ../libiconv/mac_centraleurope.h ../libiconv/mac_iceland.h \
+ ../libiconv/mac_croatian.h ../libiconv/mac_romania.h \
+ ../libiconv/mac_cyrillic.h ../libiconv/mac_ukraine.h \
+ ../libiconv/mac_greek.h ../libiconv/mac_turkish.h \
+ ../libiconv/mac_hebrew.h ../libiconv/mac_arabic.h \
+ ../libiconv/mac_thai.h ../libiconv/hp_roman8.h \
+ ../libiconv/nextstep.h ../libiconv/armscii_8.h \
+ ../libiconv/georgian_academy.h ../libiconv/georgian_ps.h \
+ ../libiconv/mulelao.h ../libiconv/cp1133.h ../libiconv/tis620.h \
+ ../libiconv/cp874.h ../libiconv/viscii.h ../libiconv/tcvn.h \
+ ../libiconv/iso646_jp.h ../libiconv/jisx0201.h \
+ ../libiconv/jisx0208.h ../libiconv/jisx0212.h \
+ ../libiconv/iso646_cn.h ../libiconv/gb2312.h \
+ ../libiconv/isoir165.h ../libiconv/isoir165ext.h \
+ ../libiconv/gbk.h ../libiconv/gbkext1.h ../libiconv/gbkext2.h \
+ ../libiconv/gbkext_inv.h ../libiconv/cp936ext.h \
+ ../libiconv/cns11643.h ../libiconv/cns11643_1.h \
+ ../libiconv/cns11643_2.h ../libiconv/cns11643_3.h \
+ ../libiconv/cns11643_inv.h ../libiconv/big5.h \
+ ../libiconv/ksc5601.h ../libiconv/johab_hangul.h \
+ ../libiconv/euc_jp.h ../libiconv/sjis.h ../libiconv/cp932.h \
+ ../libiconv/cp932ext.h ../libiconv/iso2022_jp.h \
+ ../libiconv/iso2022_jp1.h ../libiconv/iso2022_jp2.h \
+ ../libiconv/euc_cn.h ../libiconv/ces_gbk.h \
+ ../libiconv/gb18030.h ../libiconv/gb18030ext.h \
+ ../libiconv/gb18030uni.h ../libiconv/iso2022_cn.h \
+ ../libiconv/iso2022_cnext.h ../libiconv/hz.h \
+ ../libiconv/euc_tw.h ../libiconv/ces_big5.h ../libiconv/cp950.h \
+ ../libiconv/cp950ext.h ../libiconv/big5hkscs.h \
+ ../libiconv/hkscs.h ../libiconv/euc_kr.h ../libiconv/cp949.h \
+ ../libiconv/uhc_1.h ../libiconv/uhc_2.h ../libiconv/johab.h \
+ ../libiconv/iso2022_kr.h ../libiconv/cjk_variants.h \
+ ../libiconv/translit.h ../libiconv/encodings.def \
+ ../libiconv/encodings_local.def ../libiconv/flags.h \
+ ../libiconv/loops.h ../libiconv/loop_unicode.h \
+ ../libiconv/loop_wchar.h ../libiconv/aliases.h
+lat1asci.lo lat1asci.o : lat1asci.c common.h ../config.h xalloc.h \
+ argmatch.h ../lib/error.h recodext.h recode.h
+lat1ltex.lo lat1ltex.o : lat1ltex.c common.h ../config.h xalloc.h \
+ argmatch.h ../lib/error.h recodext.h recode.h
+lat1txte.lo lat1txte.o : lat1txte.c common.h ../config.h xalloc.h \
+ argmatch.h ../lib/error.h recodext.h recode.h
+libiconv.lo libiconv.o : libiconv.c common.h ../config.h xalloc.h \
+ argmatch.h ../lib/error.h recodext.h recode.h \
+ ../libiconv/iconv.h libiconv.h
+localcharset.lo localcharset.o : localcharset.c ../config.h
+main.o: main.c common.h ../config.h xalloc.h argmatch.h ../lib/error.h \
+ recodext.h recode.h ../lib/getopt.h
+merged.lo merged.o : merged.c common.h ../config.h xalloc.h argmatch.h \
+ ../lib/error.h recodext.h recode.h
+mixed.o: mixed.c common.h ../config.h xalloc.h argmatch.h ../lib/error.h \
+ recodext.h recode.h
+mule.lo mule.o : mule.c common.h ../config.h xalloc.h argmatch.h \
+ ../lib/error.h recodext.h recode.h
+names.lo names.o : names.c common.h ../config.h xalloc.h argmatch.h \
+ ../lib/error.h recodext.h recode.h hash.h
+outer.lo outer.o : outer.c common.h ../config.h xalloc.h argmatch.h \
+ ../lib/error.h recodext.h recode.h hash.h decsteps.h inisteps.h \
+ tersteps.h
+permut.lo permut.o : permut.c common.h ../config.h xalloc.h argmatch.h \
+ ../lib/error.h recodext.h recode.h
+quotearg.lo quotearg.o : quotearg.c ../config.h quotearg.h xalloc.h
+quoted.lo quoted.o : quoted.c common.h ../config.h xalloc.h argmatch.h \
+ ../lib/error.h recodext.h recode.h
+recode.lo recode.o : recode.c common.h ../config.h xalloc.h argmatch.h \
+ ../lib/error.h recodext.h recode.h ../lib/getopt.h hash.h
+request.lo request.o : request.c common.h ../config.h xalloc.h \
+ argmatch.h ../lib/error.h recodext.h recode.h
+rfc1345.lo rfc1345.o : rfc1345.c common.h ../config.h xalloc.h \
+ argmatch.h ../lib/error.h recodext.h recode.h rfc1345.h
+strip-data.lo strip-data.o : strip-data.c common.h ../config.h xalloc.h \
+ argmatch.h ../lib/error.h recodext.h recode.h
+strip-pool.lo strip-pool.o : strip-pool.c common.h ../config.h xalloc.h \
+ argmatch.h ../lib/error.h recodext.h recode.h
+task.lo task.o : task.c common.h ../config.h xalloc.h argmatch.h \
+ ../lib/error.h recodext.h recode.h ../lib/getopt.h
+testdump.lo testdump.o : testdump.c common.h ../config.h xalloc.h \
+ argmatch.h ../lib/error.h recodext.h recode.h hash.h
+texinfo.lo texinfo.o : texinfo.c common.h ../config.h xalloc.h \
+ argmatch.h ../lib/error.h recodext.h recode.h
+ucs.lo ucs.o : ucs.c common.h ../config.h xalloc.h argmatch.h \
+ ../lib/error.h recodext.h recode.h
+utf16.lo utf16.o : utf16.c common.h ../config.h xalloc.h argmatch.h \
+ ../lib/error.h recodext.h recode.h
+utf7.lo utf7.o : utf7.c common.h ../config.h xalloc.h argmatch.h \
+ ../lib/error.h recodext.h recode.h base64.h
+utf8.lo utf8.o : utf8.c common.h ../config.h xalloc.h argmatch.h \
+ ../lib/error.h recodext.h recode.h
+varia.lo varia.o : varia.c common.h ../config.h xalloc.h argmatch.h \
+ ../lib/error.h recodext.h recode.h
+vn.lo vn.o : vn.c common.h ../config.h xalloc.h argmatch.h \
+ ../lib/error.h recodext.h recode.h
+xmalloc.lo xmalloc.o : xmalloc.c ../config.h ../lib/error.h xalloc.h
-DEPS_MAGIC := $(shell mkdir .deps > /dev/null 2>&1 || :)
-
--include $(DEP_FILES)
-
-mostlyclean-depend:
-
-clean-depend:
-
-distclean-depend:
- -rm -rf .deps
-
-maintainer-clean-depend:
-
-%.o: %.c
- @echo '$(COMPILE) -c $<'; \
- $(COMPILE) -Wp,-MD,.deps/$(*F).pp -c $<
- @-cp .deps/$(*F).pp .deps/$(*F).P; \
- tr ' ' '\012' < .deps/$(*F).pp \
- | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \
- >> .deps/$(*F).P; \
- rm .deps/$(*F).pp
-
-%.lo: %.c
- @echo '$(LTCOMPILE) -c $<'; \
- $(LTCOMPILE) -Wp,-MD,.deps/$(*F).pp -c $<
- @-sed -e 's/^\([^:]*\)\.o[ ]*:/\1.lo \1.o :/' \
- < .deps/$(*F).pp > .deps/$(*F).P; \
- tr ' ' '\012' < .deps/$(*F).pp \
- | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \
- >> .deps/$(*F).P; \
- rm -f .deps/$(*F).pp
info-am:
info: info-am
dvi-am:
mostlyclean-am: mostlyclean-libLTLIBRARIES mostlyclean-compile \
mostlyclean-libtool mostlyclean-krextra mostlyclean-kr \
mostlyclean-binPROGRAMS mostlyclean-tags \
- mostlyclean-depend mostlyclean-generic
+ mostlyclean-generic
mostlyclean: mostlyclean-am
clean-am: clean-libLTLIBRARIES clean-compile clean-libtool \
clean-krextra clean-kr clean-binPROGRAMS clean-tags \
- clean-depend clean-generic mostlyclean-am
+ clean-generic mostlyclean-am
clean: clean-am
distclean-am: distclean-libLTLIBRARIES distclean-compile \
distclean-libtool distclean-krextra distclean-kr \
- distclean-binPROGRAMS distclean-tags distclean-depend \
- distclean-generic clean-am
+ distclean-binPROGRAMS distclean-tags distclean-generic \
+ clean-am
-rm -f libtool
distclean: distclean-am
maintainer-clean-compile maintainer-clean-libtool \
maintainer-clean-krextra maintainer-clean-kr \
maintainer-clean-binPROGRAMS maintainer-clean-tags \
- maintainer-clean-depend maintainer-clean-generic \
- distclean-am
+ maintainer-clean-generic distclean-am
@echo "This command is intended for maintainers to use;"
@echo "it deletes files that may require special tools to rebuild."
uninstall-binPROGRAMS install-binPROGRAMS install-man1 uninstall-man1 \
install-man uninstall-man uninstall-includeHEADERS \
install-includeHEADERS tags mostlyclean-tags distclean-tags clean-tags \
-maintainer-clean-tags distdir mostlyclean-depend distclean-depend \
-clean-depend maintainer-clean-depend info-am info dvi-am dvi check \
-check-am installcheck-am installcheck install-exec-am install-exec \
+maintainer-clean-tags distdir info-am info dvi-am dvi check check-am \
+installcheck-am installcheck install-exec-am install-exec \
install-data-am install-data install-am install uninstall-am uninstall \
all-redirect all-am all installdirs mostlyclean-generic \
distclean-generic clean-generic maintainer-clean-generic clean \
$(srcdir)/decsteps.h: stamp-steps
+$(srcdir)/inisteps.h: stamp-steps
+$(srcdir)/tersteps.h: stamp-steps
stamp-steps: $(C_STEPS) merged.c
@echo "Updating {dec,ini,ter}steps.h"
@(cd $(srcdir) && grep -h '^module_' $(C_STEPS) merged.c ) \
/* Traitement de certaines tables africaines.
- Copyright © 1999 Progiciels Bourbeau-Pinard inc.
+ Copyright © 1999, 2000 Progiciels Bourbeau-Pinard inc.
François Pinard <pinard@iro.umontreal.ca>, 1997. */
#include "common.h"
return true;
}
+
+void
+delmodule_african (RECODE_OUTER outer)
+{
+}
/* Traitement de certaines tables africaines.
- Copyright © 1999 Progiciels Bourbeau-Pinard inc.
+ Copyright © 1999, 2000 Progiciels Bourbeau-Pinard inc.
François Pinard <pinard@iro.umontreal.ca>, 1997. */
#include "common.h"
return true;
}
+
+void
+delmodule_afrtran (RECODE_OUTER outer)
+{
+}
#endif
return true;
}
+
+void
+delmodule_applemac (RECODE_OUTER outer)
+{
+}
return true;
}
+
+void
+delmodule_ascii_latin1 (RECODE_OUTER outer)
+{
+}
#endif
}
+
+void
+delmodule_atarist (RECODE_OUTER outer)
+{
+}
outer->quality_variable_to_byte,
NULL, transform_bangbang_latin1);
}
+
+void
+delmodule_bangbang (RECODE_OUTER outer)
+{
+}
&& declare_alias (outer, "b64", "Base64")
&& declare_alias (outer, "64", "Base64");
}
+
+void
+delmodule_base64 (RECODE_OUTER outer)
+{
+}
NULL, transform_cdcnos_ascii)
&& declare_alias (outer, "NOS", "CDC-NOS");
}
+
+void
+delmodule_cdcnos (RECODE_OUTER outer)
+{
+}
/* DO NOT MODIFY THIS FILE! It was generated by `recode/doc/tables.py'. */
/* Conversion of files between different charsets and surfaces.
- Copyright © 1999, 2000 Free Software Foundation, Inc.
+ Copyright © 1999 Free Software Foundation, Inc.
Contributed by François Pinard <pinard@iro.umontreal.ca>, 1993, 1997.
This library is free software; you can redistribute it and/or
/* Conversion of files between different charsets and surfaces.
- Copyright © 1990, 92, 93, 94, 96, 97, 98, 99, 00 Free Software Foundation, Inc.
+ Copyright © 1990,92,93,94,96,97,98,99,00 Free Software Foundation, Inc.
Contributed by François Pinard <pinard@iro.umontreal.ca>, 1990.
This library is free software; you can redistribute it and/or
return first->character == second->character;
}
+static void
+state_free (void *void_state)
+{
+ struct state *state = void_state;
+ struct state *shift = state->shift;
+
+ while (shift != NULL)
+ {
+ struct state *next_shift = shift->next;
+ free (shift);
+ shift = next_shift;
+ }
+ free (state);
+}
+
static struct state *
prepare_shifted_state (struct state *state, unsigned character,
RECODE_CONST_STEP step)
if (before_options || after_options)
return false;
- table = hash_initialize (0, NULL, state_hash, state_compare, NULL);
+ table = hash_initialize (0, NULL, state_hash, state_compare, state_free);
if (!table)
return false;
bool module_ascii_latin1 PARAMS ((struct recode_outer *));
bool module_latex_latin1 PARAMS ((struct recode_outer *));
bool module_texte_latin1 PARAMS ((struct recode_outer *));
+void delmodule_african PARAMS ((struct recode_outer *));
+void delmodule_afrtran PARAMS ((struct recode_outer *));
+void delmodule_applemac PARAMS ((struct recode_outer *));
+void delmodule_atarist PARAMS ((struct recode_outer *));
+void delmodule_bangbang PARAMS ((struct recode_outer *));
+void delmodule_cdcnos PARAMS ((struct recode_outer *));
+void delmodule_ebcdic PARAMS ((struct recode_outer *));
+void delmodule_ibmpc PARAMS ((struct recode_outer *));
+void delmodule_iconqnx PARAMS ((struct recode_outer *));
+void delmodule_latin1_ascii PARAMS ((struct recode_outer *));
+void delmodule_mule PARAMS ((struct recode_outer *));
+void delmodule_strips PARAMS ((struct recode_outer *));
+void delmodule_testdump PARAMS ((struct recode_outer *));
+void delmodule_ucs PARAMS ((struct recode_outer *));
+void delmodule_utf16 PARAMS ((struct recode_outer *));
+void delmodule_utf7 PARAMS ((struct recode_outer *));
+void delmodule_utf8 PARAMS ((struct recode_outer *));
+void delmodule_varia PARAMS ((struct recode_outer *));
+void delmodule_vietnamese PARAMS ((struct recode_outer *));
+void delmodule_flat PARAMS ((struct recode_outer *));
+void delmodule_html PARAMS ((struct recode_outer *));
+void delmodule_latin1_latex PARAMS ((struct recode_outer *));
+void delmodule_latin1_texte PARAMS ((struct recode_outer *));
+void delmodule_rfc1345 PARAMS ((struct recode_outer *));
+void delmodule_texinfo PARAMS ((struct recode_outer *));
+void delmodule_base64 PARAMS ((struct recode_outer *));
+void delmodule_dump PARAMS ((struct recode_outer *));
+void delmodule_endline PARAMS ((struct recode_outer *));
+void delmodule_permutations PARAMS ((struct recode_outer *));
+void delmodule_quoted_printable PARAMS ((struct recode_outer *));
+void delmodule_ascii_latin1 PARAMS ((struct recode_outer *));
+void delmodule_latex_latin1 PARAMS ((struct recode_outer *));
+void delmodule_texte_latin1 PARAMS ((struct recode_outer *));
return true;
}
+
+void
+delmodule_dump (RECODE_OUTER outer)
+{
+}
outer->quality_byte_reversible,
init_ebcdic_ibm_ascii, transform_byte_to_byte);
}
+
+void
+delmodule_ebcdic (RECODE_OUTER outer)
+{
+}
return true;
}
+
+void
+delmodule_flat (RECODE_OUTER outer)
+{
+}
/* DO NOT MODIFY THIS FILE! It was generated by `recode/doc/tables.py'. */
/* Conversion of files between different charsets and surfaces.
- Copyright © 1999, 2000 Free Software Foundation, Inc.
+ Copyright © 1999 Free Software Foundation, Inc.
Contributed by François Pinard <pinard@iro.umontreal.ca>, 1993, 1997.
This library is free software; you can redistribute it and/or
/* hash - hashing table processing.
- Copyright (C) 1998, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1998, 1999, 2001 Free Software Foundation, Inc.
Written by Jim Meyering, 1992.
This program is free software; you can redistribute it and/or modify
#include <stdio.h>
#include <assert.h>
-#if !HAVE_DECL_FREE
+#if !HAVE_STDLIB_H
void free ();
-#endif
-#if !HAVE_DECL_MALLOC
char *malloc ();
#endif
™ (TM)
*/
+/* XML with stand-alone=yes */
+#define V00 (1 << 0)
/* Old Emacs-W3, HTML 1.1 ? */
#define V11 (1 << 1)
/* RFC1866, HTML 2.0 */
static struct ucs2_to_string translations [] =
{
- ENTRY (33, "excl", 0 ),
- ENTRY (34, "quot", 0 | V20 | V27 | V32 | V40),
- ENTRY (35, "num", 0 ),
- ENTRY (36, "dollar", 0 ),
- ENTRY (37, "percnt", 0 ),
- ENTRY (38, "amp", 0 | V11 | V20 | V27 | V32 | V40),
- ENTRY (39, "apos", 0 ),
- ENTRY (40, "lpar", 0 ),
- ENTRY (41, "rpar", 0 ),
- ENTRY (42, "ast", 0 ),
- ENTRY (43, "plus", 0 ),
- ENTRY (44, "comma", 0 ),
- ENTRY (45, "horbar", 0 ),
- ENTRY (46, "period", 0 ),
- ENTRY (58, "colon", 0 ),
- ENTRY (59, "semi", 0 ),
- ENTRY (60, "lt", 0 | V11 | V20 | V27 | V32 | V40),
- ENTRY (61, "equals", 0 ),
- ENTRY (62, "gt", 0 | V11 | V20 | V27 | V32 | V40),
- ENTRY (63, "quest", 0 ),
- ENTRY (64, "commat", 0 ),
- ENTRY (91, "lsqb", 0 ),
- ENTRY (93, "rsqb", 0 ),
- ENTRY (94, "uarr", 0 ),
- ENTRY (95, "lowbar", 0 ),
- ENTRY (96, "grave", 0 ),
- ENTRY (123, "lcub", 0 ),
- ENTRY (124, "verbar", 0 ),
- ENTRY (125, "rcub", 0 ),
- ENTRY (126, "tilde", 0 ),
- ENTRY (160, "nbsp", 0 | V27 | V32 | V40),
- ENTRY (161, "iexcl", 0 | V27 | V32 | V40),
- ENTRY (162, "cent", 0 | V27 | V32 | V40),
- ENTRY (163, "pound", 0 | V27 | V32 | V40),
- ENTRY (164, "curren", 0 | V27 | V32 | V40),
- ENTRY (165, "yen", 0 | V27 | V32 | V40),
- ENTRY (166, "brkbar", 0 | V11 ),
- ENTRY (166, "brvbar", 0 | V27 | V32 | V40),
- ENTRY (167, "sect", 0 | V27 | V32 | V40),
- ENTRY (168, "die", 0 | V11 ),
- ENTRY (168, "uml", 0 | V27 | V32 | V40),
- ENTRY (169, "copy", 0 | V27 | V32 | V40),
- ENTRY (170, "ordf", 0 | V27 | V32 | V40),
- ENTRY (171, "laquo", 0 | V27 | V32 | V40),
- ENTRY (172, "not", 0 | V27 | V32 | V40),
- ENTRY (173, "hyphen", 0 | V11 ),
- ENTRY (173, "shy", 0 | V27 | V32 | V40),
- ENTRY (174, "reg", 0 | V27 | V32 | V40),
- ENTRY (175, "hibar", 0 | V11 ),
- ENTRY (175, "macr", 0 | V27 | V32 | V40),
- ENTRY (176, "deg", 0 | V27 | V32 | V40),
- ENTRY (177, "plusmn", 0 | V27 | V32 | V40),
- ENTRY (178, "sup2", 0 | V27 | V32 | V40),
- ENTRY (179, "sup3", 0 | V27 | V32 | V40),
- ENTRY (180, "acute", 0 | V27 | V32 | V40),
- ENTRY (181, "micro", 0 | V27 | V32 | V40),
- ENTRY (182, "para", 0 | V27 | V32 | V40),
- ENTRY (183, "middot", 0 | V27 | V32 | V40),
- ENTRY (184, "cedil", 0 | V27 | V32 | V40),
- ENTRY (185, "sup1", 0 | V27 | V32 | V40),
- ENTRY (186, "ordm", 0 | V27 | V32 | V40),
- ENTRY (187, "raquo", 0 | V27 | V32 | V40),
- ENTRY (188, "frac14", 0 | V27 | V32 | V40),
- ENTRY (189, "half", 0 | V11 ),
- ENTRY (189, "frac12", 0 | V27 | V32 | V40),
- ENTRY (190, "frac34", 0 | V27 | V32 | V40),
- ENTRY (191, "iquest", 0 | V27 | V32 | V40),
- ENTRY (192, "Agrave", 0 | V11 | V20 | V27 | V32 | V40),
- ENTRY (193, "Aacute", 0 | V11 | V20 | V27 | V32 | V40),
- ENTRY (194, "Acircu", 0 | V11 ),
- ENTRY (194, "Acirc", 0 | V20 | V27 | V32 | V40),
- ENTRY (195, "Atilde", 0 | V11 | V20 | V27 | V32 | V40),
- ENTRY (196, "Adiaer", 0 | V11 ),
- ENTRY (196, "Auml", 0 | V20 | V27 | V32 | V40),
- ENTRY (197, "Aring", 0 | V11 | V20 | V27 | V32 | V40),
- ENTRY (198, "AE", 0 | V11 ),
- ENTRY (198, "AElig", 0 | V20 | V27 | V32 | V40),
- ENTRY (199, "Ccedil", 0 | V11 | V20 | V27 | V32 | V40),
- ENTRY (200, "Egrave", 0 | V11 | V20 | V27 | V32 | V40),
- ENTRY (201, "Eacute", 0 | V11 | V20 | V27 | V32 | V40),
- ENTRY (202, "Ecircu", 0 | V11 ),
- ENTRY (202, "Ecirc", 0 | V20 | V27 | V32 | V40),
- ENTRY (203, "Ediaer", 0 | V11 ),
- ENTRY (203, "Euml", 0 | V20 | V27 | V32 | V40),
- ENTRY (204, "Igrave", 0 | V11 | V20 | V27 | V32 | V40),
- ENTRY (205, "Iacute", 0 | V11 | V20 | V27 | V32 | V40),
- ENTRY (206, "Icircu", 0 | V11 ),
- ENTRY (206, "Icirc", 0 | V20 | V27 | V32 | V40),
- ENTRY (207, "Idiaer", 0 | V11 ),
- ENTRY (207, "Iuml", 0 | V20 | V27 | V32 | V40),
- ENTRY (208, "ETH", 0 | V11 | V20 | V27 | V32 | V40),
- ENTRY (209, "Ntilde", 0 | V11 | V20 | V27 | V32 | V40),
- ENTRY (210, "Ograve", 0 | V11 | V20 | V27 | V32 | V40),
- ENTRY (211, "Oacute", 0 | V11 | V20 | V27 | V32 | V40),
- ENTRY (212, "Ocircu", 0 | V11 ),
- ENTRY (212, "Ocirc", 0 | V20 | V27 | V32 | V40),
- ENTRY (213, "Otilde", 0 | V11 | V20 | V27 | V32 | V40),
- ENTRY (214, "Odiaer", 0 | V11 ),
- ENTRY (214, "Ouml", 0 | V20 | V27 | V32 | V40),
- ENTRY (215, "MULT", 0 | V11 ),
- ENTRY (215, "times", 0 | V27 | V32 | V40),
- ENTRY (216, "Ostroke", 0 | V11 ),
- ENTRY (216, "Oslash", 0 | V20 | V27 | V32 | V40),
- ENTRY (217, "Ugrave", 0 | V11 | V20 | V27 | V32 | V40),
- ENTRY (218, "Uacute", 0 | V11 | V20 | V27 | V32 | V40),
- ENTRY (219, "Ucircu", 0 | V11 ),
- ENTRY (219, "Ucirc", 0 | V20 | V27 | V32 | V40),
- ENTRY (220, "Udiaer", 0 | V11 ),
- ENTRY (220, "Uuml", 0 | V20 | V27 | V32 | V40),
- ENTRY (221, "Yacute", 0 | V11 | V20 | V27 | V32 | V40),
- ENTRY (222, "THORN", 0 | V11 | V20 | V27 | V32 | V40),
- ENTRY (223, "ssharp", 0 | V11 ),
- ENTRY (223, "szlig", 0 | V20 | V27 | V32 | V40),
- ENTRY (224, "agrave", 0 | V11 | V20 | V27 | V32 | V40),
- ENTRY (225, "aacute", 0 | V11 | V20 | V27 | V32 | V40),
- ENTRY (226, "acircu", 0 | V11 ),
- ENTRY (226, "acirc", 0 | V20 | V27 | V32 | V40),
- ENTRY (227, "atilde", 0 | V11 | V20 | V27 | V32 | V40),
- ENTRY (228, "adiaer", 0 | V11 ),
- ENTRY (228, "auml", 0 | V20 | V27 | V32 | V40),
- ENTRY (229, "aring", 0 | V11 | V20 | V27 | V32 | V40),
- ENTRY (230, "ae", 0 | V11 ),
- ENTRY (230, "aelig", 0 | V20 | V27 | V32 | V40),
- ENTRY (231, "ccedil", 0 | V11 | V20 | V27 | V32 | V40),
- ENTRY (232, "egrave", 0 | V11 | V20 | V27 | V32 | V40),
- ENTRY (233, "eacute", 0 | V11 | V20 | V27 | V32 | V40),
- ENTRY (234, "ecircu", 0 | V11 ),
- ENTRY (234, "ecirc", 0 | V20 | V27 | V32 | V40),
- ENTRY (235, "ediaer", 0 | V11 ),
- ENTRY (235, "euml", 0 | V20 | V27 | V32 | V40),
- ENTRY (236, "igrave", 0 | V11 | V20 | V27 | V32 | V40),
- ENTRY (237, "iacute", 0 | V11 | V20 | V27 | V32 | V40),
- ENTRY (238, "icircu", 0 | V11 ),
- ENTRY (238, "icirc", 0 | V20 | V27 | V32 | V40),
- ENTRY (239, "idiaer", 0 | V11 ),
- ENTRY (239, "iuml", 0 | V20 | V27 | V32 | V40),
- ENTRY (240, "eth", 0 | V11 | V20 | V27 | V32 | V40),
- ENTRY (241, "ntilde", 0 | V11 | V20 | V27 | V32 | V40),
- ENTRY (242, "ograve", 0 | V11 | V20 | V27 | V32 | V40),
- ENTRY (243, "oacute", 0 | V11 | V20 | V27 | V32 | V40),
- ENTRY (244, "ocircu", 0 | V11 ),
- ENTRY (244, "ocirc", 0 | V20 | V27 | V32 | V40),
- ENTRY (245, "otilde", 0 | V11 | V20 | V27 | V32 | V40),
- ENTRY (246, "odiaer", 0 | V11 ),
- ENTRY (246, "ouml", 0 | V20 | V27 | V32 | V40),
- ENTRY (247, "DIVIS", 0 | V11 ),
- ENTRY (247, "divide", 0 | V27 | V32 | V40),
- ENTRY (248, "ostroke", 0 | V11 ),
- ENTRY (248, "oslash", 0 | V20 | V27 | V32 | V40),
- ENTRY (249, "ugrave", 0 | V11 | V20 | V27 | V32 | V40),
- ENTRY (250, "uacute", 0 | V11 | V20 | V27 | V32 | V40),
- ENTRY (251, "ucircu", 0 | V11 ),
- ENTRY (251, "ucirc", 0 | V20 | V27 | V32 | V40),
- ENTRY (252, "udiaer", 0 | V11 ),
- ENTRY (252, "uuml", 0 | V20 | V27 | V32 | V40),
- ENTRY (253, "yacute", 0 | V11 | V20 | V27 | V32 | V40),
- ENTRY (254, "thorn", 0 | V11 | V20 | V27 | V32 | V40),
- ENTRY (255, "ydiaer", 0 | V11 ),
- ENTRY (255, "yuml", 0 | V20 | V27 | V32 | V40),
- ENTRY (338, "OElig", 0 | V40),
- ENTRY (339, "oelig", 0 | V40),
- ENTRY (352, "Scaron", 0 | V40),
- ENTRY (353, "scaron", 0 | V40),
- ENTRY (376, "Yuml", 0 | V40),
- ENTRY (402, "fnof", 0 | V40),
- ENTRY (710, "circ", 0 | V40),
- ENTRY (732, "tilde", 0 | V40),
- ENTRY (913, "Alpha", 0 | V40),
- ENTRY (914, "Beta", 0 | V40),
- ENTRY (915, "Gamma", 0 | V40),
- ENTRY (916, "Delta", 0 | V40),
- ENTRY (917, "Epsilon", 0 | V40),
- ENTRY (918, "Zeta", 0 | V40),
- ENTRY (919, "Eta", 0 | V40),
- ENTRY (920, "Theta", 0 | V40),
- ENTRY (921, "Iota", 0 | V40),
- ENTRY (922, "Kappa", 0 | V40),
- ENTRY (923, "Lambda", 0 | V40),
- ENTRY (924, "Mu", 0 | V40),
- ENTRY (925, "Nu", 0 | V40),
- ENTRY (926, "Xi", 0 | V40),
- ENTRY (927, "Omicron", 0 | V40),
- ENTRY (928, "Pi", 0 | V40),
- ENTRY (929, "Rho", 0 | V40),
- ENTRY (931, "Sigma", 0 | V40),
- ENTRY (932, "Tau", 0 | V40),
- ENTRY (933, "Upsilon", 0 | V40),
- ENTRY (934, "Phi", 0 | V40),
- ENTRY (935, "Chi", 0 | V40),
- ENTRY (936, "Psi", 0 | V40),
- ENTRY (937, "Omega", 0 | V40),
- ENTRY (945, "alpha", 0 | V40),
- ENTRY (946, "beta", 0 | V40),
- ENTRY (947, "gamma", 0 | V40),
- ENTRY (948, "delta", 0 | V40),
- ENTRY (949, "epsilon", 0 | V40),
- ENTRY (950, "zeta", 0 | V40),
- ENTRY (951, "eta", 0 | V40),
- ENTRY (952, "theta", 0 | V40),
- ENTRY (953, "iota", 0 | V40),
- ENTRY (954, "kappa", 0 | V40),
- ENTRY (955, "lambda", 0 | V40),
- ENTRY (956, "mu", 0 | V40),
- ENTRY (957, "nu", 0 | V40),
- ENTRY (958, "xi", 0 | V40),
- ENTRY (959, "omicron", 0 | V40),
- ENTRY (960, "pi", 0 | V40),
- ENTRY (961, "rho", 0 | V40),
- ENTRY (962, "sigmaf", 0 | V40),
- ENTRY (963, "sigma", 0 | V40),
- ENTRY (964, "tau", 0 | V40),
- ENTRY (965, "upsilon", 0 | V40),
- ENTRY (966, "phi", 0 | V40),
- ENTRY (967, "chi", 0 | V40),
- ENTRY (968, "psi", 0 | V40),
- ENTRY (969, "omega", 0 | V40),
- ENTRY (977, "thetasym", 0 | V40),
- ENTRY (978, "upsih", 0 | V40),
- ENTRY (982, "piv", 0 | V40),
- ENTRY (8194, "ensp", 0 | V40),
- ENTRY (8195, "emsp", 0 | V40),
- ENTRY (8201, "thinsp", 0 | V40),
- ENTRY (8204, "zwnj", 0 | V27 | V40),
- ENTRY (8205, "zwj", 0 | V27 | V40),
- ENTRY (8206, "lrm", 0 | V27 | V40),
- ENTRY (8207, "rlm", 0 | V27 | V40),
- ENTRY (8211, "ndash", 0 | V40),
- ENTRY (8212, "mdash", 0 | V40),
- ENTRY (8216, "lsquo", 0 | V40),
- ENTRY (8217, "rsquo", 0 | V40),
- ENTRY (8218, "sbquo", 0 | V40),
- ENTRY (8220, "ldquo", 0 | V40),
- ENTRY (8221, "rdquo", 0 | V40),
- ENTRY (8222, "bdquo", 0 | V40),
- ENTRY (8224, "dagger", 0 | V40),
- ENTRY (8225, "Dagger", 0 | V40),
- ENTRY (8226, "bull", 0 | V40),
- ENTRY (8230, "hellip", 0 | V40),
- ENTRY (8240, "permil", 0 | V40),
- ENTRY (8242, "prime", 0 | V40),
- ENTRY (8243, "Prime", 0 | V40),
- ENTRY (8249, "lsaquo", 0 | V40),
- ENTRY (8250, "rsaquo", 0 | V40),
- ENTRY (8254, "oline", 0 | V40),
- ENTRY (8260, "frasl", 0 | V40),
- ENTRY (8364, "euro", 0 | V40),
- ENTRY (8465, "image", 0 | V40),
- ENTRY (8472, "weierp", 0 | V40),
- ENTRY (8476, "real", 0 | V40),
- ENTRY (8482, "trade", 0 | V40),
- ENTRY (8501, "alefsym", 0 | V40),
- ENTRY (8592, "larr", 0 | V40),
- ENTRY (8593, "uarr", 0 | V40),
- ENTRY (8594, "rarr", 0 | V40),
- ENTRY (8595, "darr", 0 | V40),
- ENTRY (8596, "harr", 0 | V40),
- ENTRY (8629, "crarr", 0 | V40),
- ENTRY (8656, "lArr", 0 | V40),
- ENTRY (8657, "uArr", 0 | V40),
- ENTRY (8658, "rArr", 0 | V40),
- ENTRY (8659, "dArr", 0 | V40),
- ENTRY (8660, "hArr", 0 | V40),
- ENTRY (8704, "forall", 0 | V40),
- ENTRY (8706, "part", 0 | V40),
- ENTRY (8707, "exist", 0 | V40),
- ENTRY (8709, "empty", 0 | V40),
- ENTRY (8711, "nabla", 0 | V40),
- ENTRY (8712, "isin", 0 | V40),
- ENTRY (8713, "notin", 0 | V40),
- ENTRY (8715, "ni", 0 | V40),
- ENTRY (8719, "prod", 0 | V40),
- ENTRY (8721, "sum", 0 | V40),
- ENTRY (8722, "minus", 0 | V40),
- ENTRY (8727, "lowast", 0 | V40),
- ENTRY (8730, "radic", 0 | V40),
- ENTRY (8733, "prop", 0 | V40),
- ENTRY (8734, "infin", 0 | V40),
- ENTRY (8736, "ang", 0 | V40),
- ENTRY (8743, "and", 0 | V40),
- ENTRY (8744, "or", 0 | V40),
- ENTRY (8745, "cap", 0 | V40),
- ENTRY (8746, "cup", 0 | V40),
- ENTRY (8747, "int", 0 | V40),
- ENTRY (8756, "there4", 0 | V40),
- ENTRY (8764, "sim", 0 | V40),
- ENTRY (8773, "cong", 0 | V40),
- ENTRY (8776, "asymp", 0 | V40),
- ENTRY (8800, "ne", 0 | V40),
- ENTRY (8801, "equiv", 0 | V40),
- ENTRY (8804, "le", 0 | V40),
- ENTRY (8805, "ge", 0 | V40),
- ENTRY (8834, "sub", 0 | V40),
- ENTRY (8835, "sup", 0 | V40),
- ENTRY (8836, "nsub", 0 | V40),
- ENTRY (8838, "sube", 0 | V40),
- ENTRY (8839, "supe", 0 | V40),
- ENTRY (8853, "oplus", 0 | V40),
- ENTRY (8855, "otimes", 0 | V40),
- ENTRY (8869, "perp", 0 | V40),
- ENTRY (8901, "sdot", 0 | V40),
- ENTRY (8968, "lceil", 0 | V40),
- ENTRY (8969, "rceil", 0 | V40),
- ENTRY (8970, "lfloor", 0 | V40),
- ENTRY (8971, "rfloor", 0 | V40),
- ENTRY (9001, "lang", 0 | V40),
- ENTRY (9002, "rang", 0 | V40),
- ENTRY (9674, "loz", 0 | V40),
- ENTRY (9824, "spades", 0 | V40),
- ENTRY (9827, "clubs", 0 | V40),
- ENTRY (9829, "hearts", 0 | V40),
- ENTRY (9830, "diams", 0 | V40),
- ENTRY (0, NULL, 0 )
+ ENTRY (33, "excl", 0 ),
+ ENTRY (34, "quot", 0 | V00 | V20 | V27 | V32 | V40),
+ ENTRY (35, "num", 0 ),
+ ENTRY (36, "dollar", 0 ),
+ ENTRY (37, "percnt", 0 ),
+ ENTRY (38, "amp", 0 | V00 | V11 | V20 | V27 | V32 | V40),
+ ENTRY (39, "apos", 0 | V00 ),
+ ENTRY (40, "lpar", 0 ),
+ ENTRY (41, "rpar", 0 ),
+ ENTRY (42, "ast", 0 ),
+ ENTRY (43, "plus", 0 ),
+ ENTRY (44, "comma", 0 ),
+ ENTRY (45, "horbar", 0 ),
+ ENTRY (46, "period", 0 ),
+ ENTRY (58, "colon", 0 ),
+ ENTRY (59, "semi", 0 ),
+ ENTRY (60, "lt", 0 | V00 | V11 | V20 | V27 | V32 | V40),
+ ENTRY (61, "equals", 0 ),
+ ENTRY (62, "gt", 0 | V00 | V11 | V20 | V27 | V32 | V40),
+ ENTRY (63, "quest", 0 ),
+ ENTRY (64, "commat", 0 ),
+ ENTRY (91, "lsqb", 0 ),
+ ENTRY (93, "rsqb", 0 ),
+ ENTRY (94, "uarr", 0 ),
+ ENTRY (95, "lowbar", 0 ),
+ ENTRY (96, "grave", 0 ),
+ ENTRY (123, "lcub", 0 ),
+ ENTRY (124, "verbar", 0 ),
+ ENTRY (125, "rcub", 0 ),
+ ENTRY (126, "tilde", 0 ),
+ ENTRY (160, "nbsp", 0 | V27 | V32 | V40),
+ ENTRY (161, "iexcl", 0 | V27 | V32 | V40),
+ ENTRY (162, "cent", 0 | V27 | V32 | V40),
+ ENTRY (163, "pound", 0 | V27 | V32 | V40),
+ ENTRY (164, "curren", 0 | V27 | V32 | V40),
+ ENTRY (165, "yen", 0 | V27 | V32 | V40),
+ ENTRY (166, "brkbar", 0 | V11 ),
+ ENTRY (166, "brvbar", 0 | V27 | V32 | V40),
+ ENTRY (167, "sect", 0 | V27 | V32 | V40),
+ ENTRY (168, "die", 0 | V11 ),
+ ENTRY (168, "uml", 0 | V27 | V32 | V40),
+ ENTRY (169, "copy", 0 | V27 | V32 | V40),
+ ENTRY (170, "ordf", 0 | V27 | V32 | V40),
+ ENTRY (171, "laquo", 0 | V27 | V32 | V40),
+ ENTRY (172, "not", 0 | V27 | V32 | V40),
+ ENTRY (173, "hyphen", 0 | V11 ),
+ ENTRY (173, "shy", 0 | V27 | V32 | V40),
+ ENTRY (174, "reg", 0 | V27 | V32 | V40),
+ ENTRY (175, "hibar", 0 | V11 ),
+ ENTRY (175, "macr", 0 | V27 | V32 | V40),
+ ENTRY (176, "deg", 0 | V27 | V32 | V40),
+ ENTRY (177, "plusmn", 0 | V27 | V32 | V40),
+ ENTRY (178, "sup2", 0 | V27 | V32 | V40),
+ ENTRY (179, "sup3", 0 | V27 | V32 | V40),
+ ENTRY (180, "acute", 0 | V27 | V32 | V40),
+ ENTRY (181, "micro", 0 | V27 | V32 | V40),
+ ENTRY (182, "para", 0 | V27 | V32 | V40),
+ ENTRY (183, "middot", 0 | V27 | V32 | V40),
+ ENTRY (184, "cedil", 0 | V27 | V32 | V40),
+ ENTRY (185, "sup1", 0 | V27 | V32 | V40),
+ ENTRY (186, "ordm", 0 | V27 | V32 | V40),
+ ENTRY (187, "raquo", 0 | V27 | V32 | V40),
+ ENTRY (188, "frac14", 0 | V27 | V32 | V40),
+ ENTRY (189, "half", 0 | V11 ),
+ ENTRY (189, "frac12", 0 | V27 | V32 | V40),
+ ENTRY (190, "frac34", 0 | V27 | V32 | V40),
+ ENTRY (191, "iquest", 0 | V27 | V32 | V40),
+ ENTRY (192, "Agrave", 0 | V11 | V20 | V27 | V32 | V40),
+ ENTRY (193, "Aacute", 0 | V11 | V20 | V27 | V32 | V40),
+ ENTRY (194, "Acircu", 0 | V11 ),
+ ENTRY (194, "Acirc", 0 | V20 | V27 | V32 | V40),
+ ENTRY (195, "Atilde", 0 | V11 | V20 | V27 | V32 | V40),
+ ENTRY (196, "Adiaer", 0 | V11 ),
+ ENTRY (196, "Auml", 0 | V20 | V27 | V32 | V40),
+ ENTRY (197, "Aring", 0 | V11 | V20 | V27 | V32 | V40),
+ ENTRY (198, "AE", 0 | V11 ),
+ ENTRY (198, "AElig", 0 | V20 | V27 | V32 | V40),
+ ENTRY (199, "Ccedil", 0 | V11 | V20 | V27 | V32 | V40),
+ ENTRY (200, "Egrave", 0 | V11 | V20 | V27 | V32 | V40),
+ ENTRY (201, "Eacute", 0 | V11 | V20 | V27 | V32 | V40),
+ ENTRY (202, "Ecircu", 0 | V11 ),
+ ENTRY (202, "Ecirc", 0 | V20 | V27 | V32 | V40),
+ ENTRY (203, "Ediaer", 0 | V11 ),
+ ENTRY (203, "Euml", 0 | V20 | V27 | V32 | V40),
+ ENTRY (204, "Igrave", 0 | V11 | V20 | V27 | V32 | V40),
+ ENTRY (205, "Iacute", 0 | V11 | V20 | V27 | V32 | V40),
+ ENTRY (206, "Icircu", 0 | V11 ),
+ ENTRY (206, "Icirc", 0 | V20 | V27 | V32 | V40),
+ ENTRY (207, "Idiaer", 0 | V11 ),
+ ENTRY (207, "Iuml", 0 | V20 | V27 | V32 | V40),
+ ENTRY (208, "ETH", 0 | V11 | V20 | V27 | V32 | V40),
+ ENTRY (209, "Ntilde", 0 | V11 | V20 | V27 | V32 | V40),
+ ENTRY (210, "Ograve", 0 | V11 | V20 | V27 | V32 | V40),
+ ENTRY (211, "Oacute", 0 | V11 | V20 | V27 | V32 | V40),
+ ENTRY (212, "Ocircu", 0 | V11 ),
+ ENTRY (212, "Ocirc", 0 | V20 | V27 | V32 | V40),
+ ENTRY (213, "Otilde", 0 | V11 | V20 | V27 | V32 | V40),
+ ENTRY (214, "Odiaer", 0 | V11 ),
+ ENTRY (214, "Ouml", 0 | V20 | V27 | V32 | V40),
+ ENTRY (215, "MULT", 0 | V11 ),
+ ENTRY (215, "times", 0 | V27 | V32 | V40),
+ ENTRY (216, "Ostroke", 0 | V11 ),
+ ENTRY (216, "Oslash", 0 | V20 | V27 | V32 | V40),
+ ENTRY (217, "Ugrave", 0 | V11 | V20 | V27 | V32 | V40),
+ ENTRY (218, "Uacute", 0 | V11 | V20 | V27 | V32 | V40),
+ ENTRY (219, "Ucircu", 0 | V11 ),
+ ENTRY (219, "Ucirc", 0 | V20 | V27 | V32 | V40),
+ ENTRY (220, "Udiaer", 0 | V11 ),
+ ENTRY (220, "Uuml", 0 | V20 | V27 | V32 | V40),
+ ENTRY (221, "Yacute", 0 | V11 | V20 | V27 | V32 | V40),
+ ENTRY (222, "THORN", 0 | V11 | V20 | V27 | V32 | V40),
+ ENTRY (223, "ssharp", 0 | V11 ),
+ ENTRY (223, "szlig", 0 | V20 | V27 | V32 | V40),
+ ENTRY (224, "agrave", 0 | V11 | V20 | V27 | V32 | V40),
+ ENTRY (225, "aacute", 0 | V11 | V20 | V27 | V32 | V40),
+ ENTRY (226, "acircu", 0 | V11 ),
+ ENTRY (226, "acirc", 0 | V20 | V27 | V32 | V40),
+ ENTRY (227, "atilde", 0 | V11 | V20 | V27 | V32 | V40),
+ ENTRY (228, "adiaer", 0 | V11 ),
+ ENTRY (228, "auml", 0 | V20 | V27 | V32 | V40),
+ ENTRY (229, "aring", 0 | V11 | V20 | V27 | V32 | V40),
+ ENTRY (230, "ae", 0 | V11 ),
+ ENTRY (230, "aelig", 0 | V20 | V27 | V32 | V40),
+ ENTRY (231, "ccedil", 0 | V11 | V20 | V27 | V32 | V40),
+ ENTRY (232, "egrave", 0 | V11 | V20 | V27 | V32 | V40),
+ ENTRY (233, "eacute", 0 | V11 | V20 | V27 | V32 | V40),
+ ENTRY (234, "ecircu", 0 | V11 ),
+ ENTRY (234, "ecirc", 0 | V20 | V27 | V32 | V40),
+ ENTRY (235, "ediaer", 0 | V11 ),
+ ENTRY (235, "euml", 0 | V20 | V27 | V32 | V40),
+ ENTRY (236, "igrave", 0 | V11 | V20 | V27 | V32 | V40),
+ ENTRY (237, "iacute", 0 | V11 | V20 | V27 | V32 | V40),
+ ENTRY (238, "icircu", 0 | V11 ),
+ ENTRY (238, "icirc", 0 | V20 | V27 | V32 | V40),
+ ENTRY (239, "idiaer", 0 | V11 ),
+ ENTRY (239, "iuml", 0 | V20 | V27 | V32 | V40),
+ ENTRY (240, "eth", 0 | V11 | V20 | V27 | V32 | V40),
+ ENTRY (241, "ntilde", 0 | V11 | V20 | V27 | V32 | V40),
+ ENTRY (242, "ograve", 0 | V11 | V20 | V27 | V32 | V40),
+ ENTRY (243, "oacute", 0 | V11 | V20 | V27 | V32 | V40),
+ ENTRY (244, "ocircu", 0 | V11 ),
+ ENTRY (244, "ocirc", 0 | V20 | V27 | V32 | V40),
+ ENTRY (245, "otilde", 0 | V11 | V20 | V27 | V32 | V40),
+ ENTRY (246, "odiaer", 0 | V11 ),
+ ENTRY (246, "ouml", 0 | V20 | V27 | V32 | V40),
+ ENTRY (247, "DIVIS", 0 | V11 ),
+ ENTRY (247, "divide", 0 | V27 | V32 | V40),
+ ENTRY (248, "ostroke", 0 | V11 ),
+ ENTRY (248, "oslash", 0 | V20 | V27 | V32 | V40),
+ ENTRY (249, "ugrave", 0 | V11 | V20 | V27 | V32 | V40),
+ ENTRY (250, "uacute", 0 | V11 | V20 | V27 | V32 | V40),
+ ENTRY (251, "ucircu", 0 | V11 ),
+ ENTRY (251, "ucirc", 0 | V20 | V27 | V32 | V40),
+ ENTRY (252, "udiaer", 0 | V11 ),
+ ENTRY (252, "uuml", 0 | V20 | V27 | V32 | V40),
+ ENTRY (253, "yacute", 0 | V11 | V20 | V27 | V32 | V40),
+ ENTRY (254, "thorn", 0 | V11 | V20 | V27 | V32 | V40),
+ ENTRY (255, "ydiaer", 0 | V11 ),
+ ENTRY (255, "yuml", 0 | V20 | V27 | V32 | V40),
+ ENTRY (338, "OElig", 0 | V40),
+ ENTRY (339, "oelig", 0 | V40),
+ ENTRY (352, "Scaron", 0 | V40),
+ ENTRY (353, "scaron", 0 | V40),
+ ENTRY (376, "Yuml", 0 | V40),
+ ENTRY (402, "fnof", 0 | V40),
+ ENTRY (710, "circ", 0 | V40),
+ ENTRY (732, "tilde", 0 | V40),
+ ENTRY (913, "Alpha", 0 | V40),
+ ENTRY (914, "Beta", 0 | V40),
+ ENTRY (915, "Gamma", 0 | V40),
+ ENTRY (916, "Delta", 0 | V40),
+ ENTRY (917, "Epsilon", 0 | V40),
+ ENTRY (918, "Zeta", 0 | V40),
+ ENTRY (919, "Eta", 0 | V40),
+ ENTRY (920, "Theta", 0 | V40),
+ ENTRY (921, "Iota", 0 | V40),
+ ENTRY (922, "Kappa", 0 | V40),
+ ENTRY (923, "Lambda", 0 | V40),
+ ENTRY (924, "Mu", 0 | V40),
+ ENTRY (925, "Nu", 0 | V40),
+ ENTRY (926, "Xi", 0 | V40),
+ ENTRY (927, "Omicron", 0 | V40),
+ ENTRY (928, "Pi", 0 | V40),
+ ENTRY (929, "Rho", 0 | V40),
+ ENTRY (931, "Sigma", 0 | V40),
+ ENTRY (932, "Tau", 0 | V40),
+ ENTRY (933, "Upsilon", 0 | V40),
+ ENTRY (934, "Phi", 0 | V40),
+ ENTRY (935, "Chi", 0 | V40),
+ ENTRY (936, "Psi", 0 | V40),
+ ENTRY (937, "Omega", 0 | V40),
+ ENTRY (945, "alpha", 0 | V40),
+ ENTRY (946, "beta", 0 | V40),
+ ENTRY (947, "gamma", 0 | V40),
+ ENTRY (948, "delta", 0 | V40),
+ ENTRY (949, "epsilon", 0 | V40),
+ ENTRY (950, "zeta", 0 | V40),
+ ENTRY (951, "eta", 0 | V40),
+ ENTRY (952, "theta", 0 | V40),
+ ENTRY (953, "iota", 0 | V40),
+ ENTRY (954, "kappa", 0 | V40),
+ ENTRY (955, "lambda", 0 | V40),
+ ENTRY (956, "mu", 0 | V40),
+ ENTRY (957, "nu", 0 | V40),
+ ENTRY (958, "xi", 0 | V40),
+ ENTRY (959, "omicron", 0 | V40),
+ ENTRY (960, "pi", 0 | V40),
+ ENTRY (961, "rho", 0 | V40),
+ ENTRY (962, "sigmaf", 0 | V40),
+ ENTRY (963, "sigma", 0 | V40),
+ ENTRY (964, "tau", 0 | V40),
+ ENTRY (965, "upsilon", 0 | V40),
+ ENTRY (966, "phi", 0 | V40),
+ ENTRY (967, "chi", 0 | V40),
+ ENTRY (968, "psi", 0 | V40),
+ ENTRY (969, "omega", 0 | V40),
+ ENTRY (977, "thetasym", 0 | V40),
+ ENTRY (978, "upsih", 0 | V40),
+ ENTRY (982, "piv", 0 | V40),
+ ENTRY (8194, "ensp", 0 | V40),
+ ENTRY (8195, "emsp", 0 | V40),
+ ENTRY (8201, "thinsp", 0 | V40),
+ ENTRY (8204, "zwnj", 0 | V27 | V40),
+ ENTRY (8205, "zwj", 0 | V27 | V40),
+ ENTRY (8206, "lrm", 0 | V27 | V40),
+ ENTRY (8207, "rlm", 0 | V27 | V40),
+ ENTRY (8211, "ndash", 0 | V40),
+ ENTRY (8212, "mdash", 0 | V40),
+ ENTRY (8216, "lsquo", 0 | V40),
+ ENTRY (8217, "rsquo", 0 | V40),
+ ENTRY (8218, "sbquo", 0 | V40),
+ ENTRY (8220, "ldquo", 0 | V40),
+ ENTRY (8221, "rdquo", 0 | V40),
+ ENTRY (8222, "bdquo", 0 | V40),
+ ENTRY (8224, "dagger", 0 | V40),
+ ENTRY (8225, "Dagger", 0 | V40),
+ ENTRY (8226, "bull", 0 | V40),
+ ENTRY (8230, "hellip", 0 | V40),
+ ENTRY (8240, "permil", 0 | V40),
+ ENTRY (8242, "prime", 0 | V40),
+ ENTRY (8243, "Prime", 0 | V40),
+ ENTRY (8249, "lsaquo", 0 | V40),
+ ENTRY (8250, "rsaquo", 0 | V40),
+ ENTRY (8254, "oline", 0 | V40),
+ ENTRY (8260, "frasl", 0 | V40),
+ ENTRY (8364, "euro", 0 | V40),
+ ENTRY (8465, "image", 0 | V40),
+ ENTRY (8472, "weierp", 0 | V40),
+ ENTRY (8476, "real", 0 | V40),
+ ENTRY (8482, "trade", 0 | V40),
+ ENTRY (8501, "alefsym", 0 | V40),
+ ENTRY (8592, "larr", 0 | V40),
+ ENTRY (8593, "uarr", 0 | V40),
+ ENTRY (8594, "rarr", 0 | V40),
+ ENTRY (8595, "darr", 0 | V40),
+ ENTRY (8596, "harr", 0 | V40),
+ ENTRY (8629, "crarr", 0 | V40),
+ ENTRY (8656, "lArr", 0 | V40),
+ ENTRY (8657, "uArr", 0 | V40),
+ ENTRY (8658, "rArr", 0 | V40),
+ ENTRY (8659, "dArr", 0 | V40),
+ ENTRY (8660, "hArr", 0 | V40),
+ ENTRY (8704, "forall", 0 | V40),
+ ENTRY (8706, "part", 0 | V40),
+ ENTRY (8707, "exist", 0 | V40),
+ ENTRY (8709, "empty", 0 | V40),
+ ENTRY (8711, "nabla", 0 | V40),
+ ENTRY (8712, "isin", 0 | V40),
+ ENTRY (8713, "notin", 0 | V40),
+ ENTRY (8715, "ni", 0 | V40),
+ ENTRY (8719, "prod", 0 | V40),
+ ENTRY (8721, "sum", 0 | V40),
+ ENTRY (8722, "minus", 0 | V40),
+ ENTRY (8727, "lowast", 0 | V40),
+ ENTRY (8730, "radic", 0 | V40),
+ ENTRY (8733, "prop", 0 | V40),
+ ENTRY (8734, "infin", 0 | V40),
+ ENTRY (8736, "ang", 0 | V40),
+ ENTRY (8743, "and", 0 | V40),
+ ENTRY (8744, "or", 0 | V40),
+ ENTRY (8745, "cap", 0 | V40),
+ ENTRY (8746, "cup", 0 | V40),
+ ENTRY (8747, "int", 0 | V40),
+ ENTRY (8756, "there4", 0 | V40),
+ ENTRY (8764, "sim", 0 | V40),
+ ENTRY (8773, "cong", 0 | V40),
+ ENTRY (8776, "asymp", 0 | V40),
+ ENTRY (8800, "ne", 0 | V40),
+ ENTRY (8801, "equiv", 0 | V40),
+ ENTRY (8804, "le", 0 | V40),
+ ENTRY (8805, "ge", 0 | V40),
+ ENTRY (8834, "sub", 0 | V40),
+ ENTRY (8835, "sup", 0 | V40),
+ ENTRY (8836, "nsub", 0 | V40),
+ ENTRY (8838, "sube", 0 | V40),
+ ENTRY (8839, "supe", 0 | V40),
+ ENTRY (8853, "oplus", 0 | V40),
+ ENTRY (8855, "otimes", 0 | V40),
+ ENTRY (8869, "perp", 0 | V40),
+ ENTRY (8901, "sdot", 0 | V40),
+ ENTRY (8968, "lceil", 0 | V40),
+ ENTRY (8969, "rceil", 0 | V40),
+ ENTRY (8970, "lfloor", 0 | V40),
+ ENTRY (8971, "rfloor", 0 | V40),
+ ENTRY (9001, "lang", 0 | V40),
+ ENTRY (9002, "rang", 0 | V40),
+ ENTRY (9674, "loz", 0 | V40),
+ ENTRY (9824, "spades", 0 | V40),
+ ENTRY (9827, "clubs", 0 | V40),
+ ENTRY (9829, "hearts", 0 | V40),
+ ENTRY (9830, "diams", 0 | V40),
+ ENTRY (0, NULL, 0 )
};
#undef ENTRY
return true;
}
+static bool
+init_ucs2_html_v00 (RECODE_STEP step,
+ RECODE_CONST_REQUEST request,
+ RECODE_CONST_OPTION_LIST before_options,
+ RECODE_CONST_OPTION_LIST after_options)
+{
+ return
+ init_ucs2_html (step, request, before_options, after_options, V00);
+}
+
static bool
init_ucs2_html_v11 (RECODE_STEP step,
RECODE_CONST_REQUEST request,
put_byte ('#', subtask);
while (divider > value)
divider /= 10;
- while (divider)
+ while (divider > 1)
{
put_byte ('0' + value / divider, subtask);
+ value %= divider;
divider /= 10;
}
+ put_byte ('0' + value, subtask);
put_byte (';', subtask);
}
else
return true;
}
+static bool
+init_html_v00_ucs2 (RECODE_STEP step,
+ RECODE_CONST_REQUEST request,
+ RECODE_CONST_OPTION_LIST before_options,
+ RECODE_CONST_OPTION_LIST after_options)
+{
+ return
+ init_html_ucs2 (step, request, before_options, after_options, V00);
+}
+
static bool
init_html_v11_ucs2 (RECODE_STEP step,
RECODE_CONST_REQUEST request,
module_html (RECODE_OUTER outer)
{
return
- declare_single (outer, "ISO-10646-UCS-2", "HTML_1.1",
+ declare_single (outer, "ISO-10646-UCS-2", "XML-standalone",
+ outer->quality_byte_to_variable,
+ init_ucs2_html_v00, transform_ucs2_html)
+ && declare_single (outer, "XML-standalone", "ISO-10646-UCS-2",
+ outer->quality_variable_to_byte,
+ init_html_v00_ucs2, transform_html_ucs2)
+ && declare_single (outer, "ISO-10646-UCS-2", "HTML_1.1",
outer->quality_byte_to_variable,
init_ucs2_html_v11, transform_ucs2_html)
&& declare_single (outer, "HTML_1.1", "ISO-10646-UCS-2",
outer->quality_variable_to_byte,
init_html_v40_ucs2, transform_html_ucs2)
+ && declare_alias (outer, "h0", "XML-standalone")
&& declare_alias (outer, "h1", "HTML_1.1")
&& declare_alias (outer, "RFC1866", "HTML_2.0")
&& declare_alias (outer, "1866", "HTML_2.0")
&& declare_alias (outer, "HTML", "HTML_4.0")
&& declare_alias (outer, "h", "HTML_4.0");
}
+
+void
+delmodule_html (RECODE_OUTER outer)
+{
+}
#endif
return true;
}
+
+void
+delmodule_ibmpc (RECODE_OUTER outer)
+{
+}
NULL, transform_iconqnx_ibmpc)
&& declare_alias (outer, "QNX", "Icon-QNX");
}
+
+void
+delmodule_iconqnx (RECODE_OUTER outer)
+{
+}
#include "common.h"
#include "iconv.h"
+#include "libcharset.h"
#if 0
#endif
+/*
+ * Data type for general conversion loop.
+ */
+struct loop_funcs {
+ size_t (*loop_convert) (iconv_t icd,
+ const char* * inbuf, size_t *inbytesleft,
+ char* * outbuf, size_t *outbytesleft);
+ size_t (*loop_reset) (iconv_t icd,
+ char* * outbuf, size_t *outbytesleft);
+};
+
/*
* Converters.
*/
#ifdef USE_AIX
#include "encodings_aix.def"
#endif
+#include "encodings_local.def"
#undef DEFENCODING
ei_for_broken_compilers_that_dont_like_trailing_commas
};
#include "encodings_aix.def"
#endif
#undef DEFENCODING
+#define DEFENCODING(xxx_names,xxx,xxx_ifuncs,xxx_ofuncs1,xxx_ofuncs2) \
+ { xxx_ifuncs, xxx_ofuncs1,xxx_ofuncs2, 0 },
+#include "encodings_local.def"
+#undef DEFENCODING
};
+/*
+ * Conversion loops.
+ */
+#include "loops.h"
+
/*
* Alias lookup function.
* Defines
iconv_t iconv_open (const char* tocode, const char* fromcode)
{
- struct conv_struct * cd = (struct conv_struct *) malloc(sizeof(struct conv_struct));
- char buf[MAX_WORD_LENGTH+1];
+ struct conv_struct * cd;
+ char buf[MAX_WORD_LENGTH+10+1];
const char* cp;
char* bp;
const struct alias * ap;
unsigned int count;
+ unsigned int from_index;
+ int from_wchar;
+ unsigned int to_index;
+ int to_wchar;
+ int transliterate = 0;
- if (cd == NULL) {
- errno = ENOMEM;
- return (iconv_t)(-1);
- }
/* Before calling aliases_lookup, convert the input string to upper case,
* and check whether it's entirely ASCII (we call gperf with option "-7"
* to achieve a smaller table) and non-empty. If it's not entirely ASCII,
* or if it's too long, it is not a valid encoding name.
*/
- /* Search tocode in the table. */
- for (cp = tocode, bp = buf, count = MAX_WORD_LENGTH+1; ; cp++, bp++) {
- unsigned char c = * (unsigned char *) cp;
- if (c >= 0x80)
- goto invalid;
- if (c >= 'a' && c <= 'z')
- c -= 'a'-'A';
- *bp = c;
- if (c == '\0')
- break;
- if (--count == 0)
+ for (to_wchar = 0;;) {
+ /* Search tocode in the table. */
+ for (cp = tocode, bp = buf, count = MAX_WORD_LENGTH+10+1; ; cp++, bp++) {
+ unsigned char c = * (unsigned char *) cp;
+ if (c >= 0x80)
+ goto invalid;
+ if (c >= 'a' && c <= 'z')
+ c -= 'a'-'A';
+ *bp = c;
+ if (c == '\0')
+ break;
+ if (--count == 0)
+ goto invalid;
+ }
+ if (bp-buf > 10 && memcmp(bp-10,"//TRANSLIT",10)==0) {
+ bp -= 10;
+ *bp = '\0';
+ transliterate = 1;
+ }
+ ap = aliases_lookup(buf,bp-buf);
+ if (ap == NULL) {
+ ap = aliases2_lookup(buf);
+ if (ap == NULL)
+ goto invalid;
+ }
+ if (ap->encoding_index == ei_local_char) {
+ tocode = locale_charset();
+ if (tocode != NULL)
+ continue;
goto invalid;
- }
- ap = aliases_lookup(buf,bp-buf);
- if (ap == NULL) {
- ap = aliases2_lookup(buf);
- if (ap == NULL)
+ }
+ if (ap->encoding_index == ei_local_wchar_t) {
+#if __STDC_ISO_10646__
+ if (sizeof(wchar_t) == 4) {
+ to_index = ei_ucs4internal;
+ break;
+ }
+ if (sizeof(wchar_t) == 2) {
+ to_index = ei_ucs2internal;
+ break;
+ }
+ if (sizeof(wchar_t) == 1) {
+ to_index = ei_iso8859_1;
+ break;
+ }
+#endif
+#if HAVE_MBRTOWC
+ to_wchar = 1;
+ tocode = locale_charset();
+ if (tocode != NULL)
+ continue;
+#endif
goto invalid;
+ }
+ to_index = ap->encoding_index;
+ break;
}
- cd->oindex = ap->encoding_index;
- cd->ofuncs = all_encodings[ap->encoding_index].ofuncs;
- cd->oflags = all_encodings[ap->encoding_index].oflags;
- /* Search fromcode in the table. */
- for (cp = fromcode, bp = buf, count = MAX_WORD_LENGTH+1; ; cp++, bp++) {
- unsigned char c = * (unsigned char *) cp;
- if (c >= 0x80)
+ for (from_wchar = 0;;) {
+ /* Search fromcode in the table. */
+ for (cp = fromcode, bp = buf, count = MAX_WORD_LENGTH+10+1; ; cp++, bp++) {
+ unsigned char c = * (unsigned char *) cp;
+ if (c >= 0x80)
+ goto invalid;
+ if (c >= 'a' && c <= 'z')
+ c -= 'a'-'A';
+ *bp = c;
+ if (c == '\0')
+ break;
+ if (--count == 0)
+ goto invalid;
+ }
+ if (bp-buf > 10 && memcmp(bp-10,"//TRANSLIT",10)==0) {
+ bp -= 10;
+ *bp = '\0';
+ }
+ ap = aliases_lookup(buf,bp-buf);
+ if (ap == NULL) {
+ ap = aliases2_lookup(buf);
+ if (ap == NULL)
+ goto invalid;
+ }
+ if (ap->encoding_index == ei_local_char) {
+ fromcode = locale_charset();
+ if (fromcode != NULL)
+ continue;
goto invalid;
- if (c >= 'a' && c <= 'z')
- c -= 'a'-'A';
- *bp = c;
- if (c == '\0')
- break;
- if (--count == 0)
+ }
+ if (ap->encoding_index == ei_local_wchar_t) {
+#if __STDC_ISO_10646__
+ if (sizeof(wchar_t) == 4) {
+ from_index = ei_ucs4internal;
+ break;
+ }
+ if (sizeof(wchar_t) == 2) {
+ from_index = ei_ucs2internal;
+ break;
+ }
+ if (sizeof(wchar_t) == 1) {
+ from_index = ei_iso8859_1;
+ break;
+ }
+#endif
+#if HAVE_WCRTOMB
+ from_wchar = 1;
+ fromcode = locale_charset();
+ if (fromcode != NULL)
+ continue;
+#endif
goto invalid;
+ }
+ from_index = ap->encoding_index;
+ break;
}
- ap = aliases_lookup(buf,bp-buf);
- if (ap == NULL) {
- ap = aliases2_lookup(buf);
- if (ap == NULL)
- goto invalid;
+ cd = (struct conv_struct *) malloc(from_wchar != to_wchar
+ ? sizeof(struct wchar_conv_struct)
+ : sizeof(struct conv_struct));
+ if (cd == NULL) {
+ errno = ENOMEM;
+ return (iconv_t)(-1);
+ }
+ cd->iindex = from_index;
+ cd->ifuncs = all_encodings[from_index].ifuncs;
+ cd->oindex = to_index;
+ cd->ofuncs = all_encodings[to_index].ofuncs;
+ cd->oflags = all_encodings[to_index].oflags;
+ /* Initialize the loop functions. */
+#if HAVE_MBRTOWC
+ if (to_wchar) {
+#if HAVE_WCRTOMB
+ if (from_wchar) {
+ cd->lfuncs.loop_convert = wchar_id_loop_convert;
+ cd->lfuncs.loop_reset = wchar_id_loop_reset;
+ } else
+#endif
+ {
+ cd->lfuncs.loop_convert = wchar_to_loop_convert;
+ cd->lfuncs.loop_reset = wchar_to_loop_reset;
+ }
+ } else
+#endif
+ {
+#if HAVE_WCRTOMB
+ if (from_wchar) {
+ cd->lfuncs.loop_convert = wchar_from_loop_convert;
+ cd->lfuncs.loop_reset = wchar_from_loop_reset;
+ } else
+#endif
+ {
+ cd->lfuncs.loop_convert = unicode_loop_convert;
+ cd->lfuncs.loop_reset = unicode_loop_reset;
+ }
}
- cd->iindex = ap->encoding_index;
- cd->ifuncs = all_encodings[ap->encoding_index].ifuncs;
/* Initialize the states. */
memset(&cd->istate,'\0',sizeof(state_t));
memset(&cd->ostate,'\0',sizeof(state_t));
/* Initialize the operation flags. */
- cd->transliterate = 1;
+ cd->transliterate = transliterate;
+ /* Initialize additional fields. */
+ if (from_wchar != to_wchar) {
+ struct wchar_conv_struct * wcd = (struct wchar_conv_struct *) cd;
+ memset(&wcd->state,'\0',sizeof(mbstate_t));
+ }
/* Done. */
return (iconv_t)cd;
invalid:
char* * outbuf, size_t *outbytesleft)
{
conv_t cd = (conv_t) icd;
- if (inbuf == NULL || *inbuf == NULL) {
- if (outbuf == NULL || *outbuf == NULL) {
- /* Reset the states. */
- memset(&cd->istate,'\0',sizeof(state_t));
- memset(&cd->ostate,'\0',sizeof(state_t));
- return 0;
- } else {
- if (cd->ofuncs.xxx_reset) {
- int outcount =
- cd->ofuncs.xxx_reset(cd, (unsigned char *) *outbuf, *outbytesleft);
- if (outcount < 0) {
- errno = E2BIG;
- return -1;
- }
- *outbuf += outcount; *outbytesleft -= outcount;
- }
- memset(&cd->istate,'\0',sizeof(state_t));
- memset(&cd->ostate,'\0',sizeof(state_t));
- return 0;
- }
- } else {
- size_t result = 0;
- const unsigned char* inptr = (const unsigned char*) *inbuf;
- size_t inleft = *inbytesleft;
- unsigned char* outptr = (unsigned char*) *outbuf;
- size_t outleft = *outbytesleft;
- while (inleft > 0) {
- wchar_t wc;
- int incount;
- int outcount;
- incount = cd->ifuncs.xxx_mbtowc(cd,&wc,inptr,inleft);
- if (incount <= 0) {
- if (incount == 0) {
- /* Case 1: invalid input */
- errno = EILSEQ;
- result = -1;
- break;
- }
- if (incount == -1) {
- /* Case 2: not enough bytes available to detect anything */
- errno = EINVAL;
- result = -1;
- break;
- }
- /* Case 3: k bytes read, but only a shift sequence */
- incount = -1-incount;
- } else {
- /* Case 4: k bytes read, making up a wide character */
- if (outleft == 0) {
- errno = E2BIG;
- result = -1;
- break;
- }
- outcount = cd->ofuncs.xxx_wctomb(cd,outptr,wc,outleft);
- if (outcount != 0)
- goto outcount_ok;
- /* Try transliteration. */
- result++;
- if (cd->transliterate) {
- if (cd->oflags & HAVE_HANGUL_JAMO) {
- /* Decompose Hangul into Jamo. Use double-width Jamo (contained
- in all Korean encodings and ISO-2022-JP-2), not half-width Jamo
- (contained in Unicode only). */
- wchar_t buf[3];
- int ret = johab_hangul_decompose(cd,buf,wc);
- if (ret != RET_ILSEQ) {
- /* we know 1 <= ret <= 3 */
- state_t backup_state = cd->ostate;
- unsigned char* backup_outptr = outptr;
- size_t backup_outleft = outleft;
- int i, sub_outcount;
- for (i = 0; i < ret; i++) {
- if (outleft == 0) {
- sub_outcount = RET_TOOSMALL;
- goto johab_hangul_failed;
- }
- sub_outcount = cd->ofuncs.xxx_wctomb(cd,outptr,buf[i],outleft);
- if (sub_outcount <= 0)
- goto johab_hangul_failed;
- if (!(sub_outcount <= outleft)) abort();
- outptr += sub_outcount; outleft -= sub_outcount;
- }
- goto char_done;
- johab_hangul_failed:
- cd->ostate = backup_state;
- outptr = backup_outptr;
- outleft = backup_outleft;
- if (sub_outcount < 0) {
- errno = E2BIG;
- result = -1;
- break;
- }
- }
- }
- {
- /* Try to use a variant, but postfix it with
- U+303E IDEOGRAPHIC VARIATION INDICATOR
- (cf. Ken Lunde's "CJKV information processing", p. 188). */
- int indx = -1;
- if (wc == 0x3006)
- indx = 0;
- else if (wc == 0x30f6)
- indx = 1;
- else if (wc >= 0x4e00 && wc < 0xa000)
- indx = cjk_variants_indx[wc-0x4e00];
- if (indx >= 0) {
- for (;; indx++) {
- wchar_t buf[2];
- unsigned short variant = cjk_variants[indx];
- unsigned short last = variant & 0x8000;
- variant &= 0x7fff;
- variant += 0x3000;
- buf[0] = variant; buf[1] = 0x303e;
- {
- state_t backup_state = cd->ostate;
- unsigned char* backup_outptr = outptr;
- size_t backup_outleft = outleft;
- int i, sub_outcount;
- for (i = 0; i < 2; i++) {
- if (outleft == 0) {
- sub_outcount = RET_TOOSMALL;
- goto variant_failed;
- }
- sub_outcount = cd->ofuncs.xxx_wctomb(cd,outptr,buf[i],outleft);
- if (sub_outcount <= 0)
- goto variant_failed;
- if (!(sub_outcount <= outleft)) abort();
- outptr += sub_outcount; outleft -= sub_outcount;
- }
- goto char_done;
- variant_failed:
- cd->ostate = backup_state;
- outptr = backup_outptr;
- outleft = backup_outleft;
- if (sub_outcount < 0) {
- errno = E2BIG;
- result = -1;
- break;
- }
- }
- if (last)
- break;
- }
- }
- }
- if (wc >= 0x2018 && wc <= 0x201a) {
- /* Special case for quotation marks 0x2018, 0x2019, 0x201a */
- wchar_t substitute =
- (cd->oflags & HAVE_QUOTATION_MARKS
- ? (wc == 0x201a ? 0x2018 : wc)
- : (cd->oflags & HAVE_ACCENTS
- ? (wc==0x2019 ? 0x00b4 : 0x0060) /* use accents */
- : 0x0027 /* use apostrophe */
- ) );
- outcount = cd->ofuncs.xxx_wctomb(cd,outptr,substitute,outleft);
- if (outcount != 0)
- goto outcount_ok;
- }
- {
- /* Use the transliteration table. */
- int indx = translit_index(wc);
- if (indx >= 0) {
- const unsigned char * cp = &translit_data[indx];
- unsigned int num = *cp++;
- state_t backup_state = cd->ostate;
- unsigned char* backup_outptr = outptr;
- size_t backup_outleft = outleft;
- unsigned int i;
- int sub_outcount;
- for (i = 0; i < num; i++) {
- if (outleft == 0) {
- sub_outcount = RET_TOOSMALL;
- goto translit_failed;
- }
- sub_outcount = cd->ofuncs.xxx_wctomb(cd,outptr,cp[i],outleft);
- if (sub_outcount <= 0)
- goto translit_failed;
- if (!(sub_outcount <= outleft)) abort();
- outptr += sub_outcount; outleft -= sub_outcount;
- }
- goto char_done;
- translit_failed:
- cd->ostate = backup_state;
- outptr = backup_outptr;
- outleft = backup_outleft;
- if (sub_outcount < 0) {
- errno = E2BIG;
- result = -1;
- break;
- }
- }
- }
- }
- outcount = cd->ofuncs.xxx_wctomb(cd,outptr,0xFFFD,outleft);
- if (outcount != 0)
- goto outcount_ok;
- errno = EILSEQ;
- result = -1;
- break;
- outcount_ok:
- if (outcount < 0) {
- errno = E2BIG;
- result = -1;
- break;
- }
- if (!(outcount <= outleft)) abort();
- outptr += outcount; outleft -= outcount;
- char_done:
- ;
- }
- if (!(incount <= inleft)) abort();
- inptr += incount; inleft -= incount;
- }
- *inbuf = (const char*) inptr;
- *inbytesleft = inleft;
- *outbuf = (char*) outptr;
- *outbytesleft = outleft;
- return result;
- }
+ if (inbuf == NULL || *inbuf == NULL)
+ return cd->lfuncs.loop_reset(icd,outbuf,outbytesleft);
+ else
+ return cd->lfuncs.loop_convert(icd,
+ (const char* *)inbuf,inbytesleft,
+ outbuf,outbytesleft);
}
int iconv_close (iconv_t icd)
conv_t cd = (conv_t) icd;
switch (request) {
case ICONV_TRIVIALP:
- *(int *)argument = (cd->iindex == cd->oindex ? 1 : 0);
+ *(int *)argument =
+ ((cd->lfuncs.loop_convert == unicode_loop_convert
+ && cd->iindex == cd->oindex)
+ || cd->lfuncs.loop_convert == wchar_id_loop_convert
+ ? 1 : 0);
return 0;
case ICONV_GET_TRANSLITERATE:
*(int *)argument = cd->transliterate;
}
}
+int _libiconv_version = _LIBICONV_VERSION;
+
#endif
return true;
}
+
+void
+delmodule_latin1_ascii (RECODE_OUTER outer)
+{
+}
&& declare_alias (outer, "TeX", "LaTeX")
&& declare_alias (outer, "ltex", "LaTeX");
}
+
+void
+delmodule_latin1_latex (RECODE_OUTER outer)
+{
+}
+++ /dev/null
-/* Conversion of files between different charsets and surfaces.
- Copyright © 1990, 93, 97, 98, 99, 00 Free Software Foundation, Inc.
- Contributed by François Pinard <pinard@iro.umontreal.ca>, 1988.
-
- The `recode' 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 `recode' 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 `recode' 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. */
-
-#include "common.h"
-
-static const char *const translation_table[128] =
- {
- NULL, /* 128 */
- NULL, /* 129 */
- NULL, /* 130 */
- NULL, /* 131 */
- NULL, /* 132 */
- NULL, /* 133 */
- NULL, /* 134 */
- NULL, /* 135 */
- NULL, /* 136 */
- NULL, /* 137 */
- NULL, /* 138 */
- NULL, /* 139 */
- NULL, /* 140 */
- NULL, /* 141 */
- NULL, /* 142 */
- NULL, /* 143 */
- NULL, /* 144 */
- NULL, /* 145 */
- NULL, /* 146 */
- NULL, /* 147 */
- NULL, /* 148 */
- NULL, /* 149 */
- NULL, /* 150 */
- NULL, /* 151 */
- NULL, /* 152 */
- NULL, /* 153 */
- NULL, /* 154 */
- NULL, /* 155 */
- NULL, /* 156 */
- NULL, /* 157 */
- NULL, /* 158 */
- NULL, /* 159 */
-
- " ", /* 160 no-break space */
- "@exclamdown{}", /* 161 inverted exclamation mark */
- NULL, /* 162 cent sign */
- NULL, /* 163 pound sign */
- NULL, /* 164 currency sign */
- NULL, /* 165 yen sign */
- NULL, /* 166 broken bar */
- NULL, /* 167 paragraph sign, section sign */
- NULL, /* 168 diaeresis */
- NULL, /* 169 copyright sign */
- NULL, /* 170 feminine ordinal indicator */
- "``", /* 171 left angle quotation mark */
- NULL, /* 172 not sign */
- NULL, /* 173 soft hyphen */
- NULL, /* 174 registered trade mark sign */
- NULL, /* 175 macron */
- NULL, /* 176 degree sign */
- NULL, /* 177 plus-minus sign */
- NULL, /* 178 superscript two */
- NULL, /* 179 superscript three */
- NULL, /* 180 acute accent */
- NULL, /* 181 small greek mu, micro sign */
- NULL, /* 182 pilcrow sign */
- NULL, /* 183 middle dot */
- NULL, /* 184 cedilla */
- NULL, /* 185 superscript one */
- NULL, /* 186 masculine ordinal indicator */
- "''", /* 187 right angle quotation mark */
- NULL, /* 188 vulgar fraction one quarter */
- NULL, /* 189 vulgar fraction one half */
- NULL, /* 190 vulgar fraction three quarters */
- "@questiondown{}", /* 191 inverted question mark */
- "@`A", /* 192 capital A with grave accent */
- NULL, /* 193 capital A with acute accent */
- "@^A", /* 194 capital A with circumflex accent */
- NULL, /* 195 capital A with tilde */
- "@\"A", /* 196 capital A diaeresis */
- "@AA{}", /* 197 capital A with ring above */
- NULL, /* 198 capital diphthong A with E */
- "@,{C}", /* 199 capital C with cedilla */
- "@`E", /* 200 capital E with grave accent */
- "@\'E", /* 201 capital E with acute accent */
- "@^E", /* 202 capital E with circumflex accent */
- "@\"E", /* 203 capital E with diaeresis */
- NULL, /* 204 capital I with grave accent */
- NULL, /* 205 capital I with acute accent */
- "@^I", /* 206 capital I with circumflex accent */
- "@\"I", /* 207 capital I with diaeresis */
- NULL, /* 208 capital icelandic ETH */
- NULL, /* 209 capital N with tilde */
- "@`O", /* 210 capital O with grave accent */
- NULL, /* 211 capital O with acute accent */
- "@^O", /* 212 capital O with circumflex accent */
- NULL, /* 213 capital O with tilde */
- "@\"O", /* 214 capital O with diaeresis */
- NULL, /* 215 multiplication sign */
- "@O{}", /* 216 capital O with oblique stroke */
- "@`U", /* 217 capital U with grave accent */
- NULL, /* 218 capital U with acute accent */
- "@^U", /* 219 capital U with circumflex accent */
- "@\"U", /* 220 capital U with diaeresis */
- NULL, /* 221 capital Y with acute accent */
- NULL, /* 222 capital icelandic THORN */
- "@ss{}", /* 223 small german sharp s */
- "@`a", /* 224 small a with grave accent */
- NULL, /* 225 small a with acute accent */
- "@^a", /* 226 small a with circumflex accent */
- NULL, /* 227 small a with tilde */
- "@\"a", /* 228 small a with diaeresis */
- "@aa{}", /* 229 small a with ring above */
- NULL, /* 230 small diphthong a with e */
- "@,{c}", /* 231 small c with cedilla */
- "@`e", /* 232 small e with grave accent */
- "@\'e", /* 233 small e with acute accent */
- "@^e", /* 234 small e with circumflex accent */
- "@\"e", /* 235 small e with diaeresis */
- "@`i", /* 236 small i with grave accent */
- "@\'i", /* 237 small i with acute accent */
- "@^{@dotless{i}}", /* 238 small i with circumflex accent */
- "@\"{@dotless{i}}", /* 239 small i with diaeresis */
- NULL, /* 240 small icelandic eth */
- NULL, /* 241 small n with tilde */
- "@`o", /* 242 small o with grave accent */
- NULL, /* 243 small o with acute accent */
- "@^o", /* 244 small o with circumflex accent */
- NULL, /* 245 small o with tilde */
- "@\"o", /* 246 small o with diaeresis */
- NULL, /* 247 division sign */
- NULL, /* 248 small o with oblique stroke */
- "@`u", /* 249 small u with grave accent */
- NULL, /* 250 small u with acute accent */
- "@^u", /* 251 small u with circumflex accent */
- "@\"u", /* 252 small u with diaeresis */
- NULL, /* 253 small y with acute accent */
- NULL, /* 254 small icelandic thorn */
- NULL, /* 255 small y with diaeresis */
- };
-
-static bool
-init_latin1_texinfo (RECODE_STEP step,
- RECODE_CONST_REQUEST request,
- RECODE_CONST_OPTION_LIST before_options,
- RECODE_CONST_OPTION_LIST after_options)
-{
- RECODE_OUTER outer = request->outer;
-
- unsigned rewritten; /* number of rewritten translations */
- const char **table; /* allocated structure, including pool */
- char *pool; /* cursor in character pool */
- unsigned counter; /* general purpose counter */
-
- if (before_options || after_options)
- return false;
-
- /* The algorithm for proper processing of -c option depends on the fact
- that quotes to be changed in colons are exactly those, in strings
- from translation_table, which are in second position while the
- string is two characters in length. This is sufficient for now. */
-
- rewritten = 0;
- if (request->diaeresis_char != '"')
- for (counter = 128; counter < 256; counter++)
- if (translation_table[counter - 128]
- && translation_table[counter - 128][1] == '"'
- && translation_table[counter - 128][2] == NUL)
- rewritten++;
-
- if (!ALLOC_SIZE (table, sizeof (char *) * 256 + 2 * 128 + 3 * rewritten,
- const char *))
- return false;
- pool = (char *) (table + 256);
-
- for (counter = 0; counter < 128; counter++)
- {
- table[counter] = pool;
- *pool++ = counter;
- *pool++ = NUL;
- }
-
- for (; counter < 256; counter++)
- if (request->diaeresis_char != '"'
- && translation_table[counter - 128]
- && translation_table[counter - 128][1] == '"'
- && translation_table[counter - 128][2] == NUL)
- {
- table[counter] = pool;
- *pool++ = translation_table[counter - 128][0];
- *pool++ = request->diaeresis_char;
- *pool++ = NUL;
- }
- else
- table[counter] = translation_table[counter - 128];
-
- step->step_type = RECODE_BYTE_TO_STRING;
- step->step_table = table;
- return true;
-}
-
-bool
-module_latin1_texinfo (RECODE_OUTER outer)
-{
- return
- declare_single (outer, "Latin-1", "Texinfo",
- outer->quality_byte_to_variable,
- init_latin1_texinfo, transform_byte_to_variable)
- && declare_alias (outer, "texi", "Texinfo")
- && declare_alias (outer, "ti", "Texinfo");
-}
init_latin1_texte, transform_byte_to_variable)
&& declare_alias (outer, "txte", "Texte");
}
+
+void
+delmodule_latin1_texte (RECODE_OUTER outer)
+{
+}
Suite 330, Boston, MA 02111-1307, USA. */
/* This is derived from Bruno Haible's `libiconv' package. */
-static const char *iconv_name_list[426] =
+static const char *iconv_name_list[434] =
{
"US-ASCII",
"ASCII",
"EUC_CN", NULL,
"GBK",
"CP936", NULL,
+ "GB18030", NULL,
"ISO-2022-CN",
"csISO2022CN",
"ISO2022CN", NULL,
"CN-BIG5",
"csBig5", NULL,
"CP950", NULL,
+ "BIG5HKSCS", NULL,
"EUC-KR",
"EUCKR",
"csEUCKR",
"ISO-2022-KR",
"csISO2022KR",
"ISO2022KR", NULL,
+ "CHAR", NULL,
+ "WCHAR_T", NULL,
NULL
};
--- /dev/null
+/* Determine a canonical name for the current locale's character encoding.
+
+ Copyright (C) 2000 Free Software Foundation, Inc.
+
+ This program 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, or (at your option)
+ any later version.
+
+ This program 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 this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+ USA. */
+
+/* Written by Bruno Haible <haible@clisp.cons.org>. */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#if HAVE_STDDEF_H
+# include <stddef.h>
+#endif
+
+#include <stdio.h>
+#if HAVE_STRING_H
+# include <string.h>
+#else
+# include <strings.h>
+#endif
+#if HAVE_STDLIB_H
+# include <stdlib.h>
+#endif
+
+#if defined _WIN32 || defined __WIN32__
+# undef WIN32 /* avoid warning on mingw32 */
+# define WIN32
+#endif
+
+#ifndef WIN32
+# if HAVE_LANGINFO_CODESET
+# include <langinfo.h>
+# else
+# if HAVE_SETLOCALE
+# include <locale.h>
+# endif
+# endif
+#else /* WIN32 */
+# define WIN32_LEAN_AND_MEAN
+# include <windows.h>
+#endif
+
+#ifndef DIRECTORY_SEPARATOR
+# define DIRECTORY_SEPARATOR '/'
+#endif
+
+#ifndef ISSLASH
+# define ISSLASH(C) ((C) == DIRECTORY_SEPARATOR)
+#endif
+
+/* The following static variable is declared 'volatile' to avoid a
+ possible multithread problem in the function get_charset_aliases. If we
+ are running in a threaded environment, and if two threads initialize
+ 'charset_aliases' simultaneously, both will produce the same value,
+ and everything will be ok if the two assignments to 'charset_aliases'
+ are atomic. But I don't know what will happen if the two assignments mix. */
+/* Pointer to the contents of the charset.alias file, if it has already been
+ read, else NULL. Its format is:
+ ALIAS_1 '\0' CANONICAL_1 '\0' ... ALIAS_n '\0' CANONICAL_n '\0' '\0' */
+static char * volatile charset_aliases;
+
+/* Return a pointer to the contents of the charset.alias file. */
+static const char *
+get_charset_aliases ()
+{
+ char *cp;
+
+ cp = charset_aliases;
+ if (cp == NULL)
+ {
+#ifndef WIN32
+ FILE *fp;
+ const char *dir = LIBDIR;
+ const char *base = "charset.alias";
+ char *file_name;
+
+ /* Concatenate dir and base into freshly allocated file_name. */
+ {
+ size_t dir_len = strlen (dir);
+ size_t base_len = strlen (base);
+ int add_slash = (dir_len > 0 && !ISSLASH (dir[dir_len - 1]));
+ file_name = (char *) malloc (dir_len + add_slash + base_len + 1);
+ if (file_name != NULL)
+ {
+ memcpy (file_name, dir, dir_len);
+ if (add_slash)
+ file_name[dir_len] = DIRECTORY_SEPARATOR;
+ memcpy (file_name + dir_len + add_slash, base, base_len + 1);
+ }
+ }
+
+ if (file_name == NULL || (fp = fopen (file_name, "r")) == NULL)
+ /* Out of memory or file not found, treat it as empty. */
+ cp = "";
+ else
+ {
+ /* Parse the file's contents. */
+ int c;
+ char buf1[50+1];
+ char buf2[50+1];
+ char *res_ptr = NULL;
+ size_t res_size = 0;
+ size_t l1, l2;
+
+ for (;;)
+ {
+ c = getc (fp);
+ if (c == EOF)
+ break;
+ if (c == '\n' || c == ' ' || c == '\t')
+ continue;
+ if (c == '#')
+ {
+ /* Skip comment, to end of line. */
+ do
+ c = getc (fp);
+ while (!(c == EOF || c == '\n'));
+ if (c == EOF)
+ break;
+ continue;
+ }
+ ungetc (c, fp);
+ if (fscanf(fp, "%50s %50s", buf1, buf2) < 2)
+ break;
+ l1 = strlen (buf1);
+ l2 = strlen (buf2);
+ if (res_size == 0)
+ {
+ res_size = l1 + 1 + l2 + 1;
+ res_ptr = malloc (res_size + 1);
+ }
+ else
+ {
+ res_size += l1 + 1 + l2 + 1;
+ res_ptr = realloc (res_ptr, res_size + 1);
+ }
+ if (res_ptr == NULL)
+ {
+ /* Out of memory. */
+ res_size = 0;
+ break;
+ }
+ strcpy (res_ptr + res_size - (l2 + 1) - (l1 + 1), buf1);
+ strcpy (res_ptr + res_size - (l2 + 1), buf2);
+ }
+ fclose (fp);
+ if (res_size == 0)
+ cp = "";
+ else
+ {
+ *(res_ptr + res_size) = '\0';
+ cp = res_ptr;
+ }
+ }
+
+ if (file_name != NULL)
+ free (file_name);
+
+#else /* WIN32 */
+
+ /* To avoid the troubles of installing a separate file in the same
+ directory as the DLL and of retrieving the DLL's directory at
+ runtime, simply inline the aliases here. */
+
+ cp = "CP936" "\0" "GBK" "\0"
+ "CP1361" "\0" "JOHAB" "\0";
+#endif
+
+ charset_aliases = cp;
+ }
+
+ return cp;
+}
+
+/* Determine the current locale's character encoding, and canonicalize it
+ into one of the canonical names listed in config.charset.
+ The result must not be freed; it is statically allocated.
+ If the canonical name cannot be determined, the result is a non-canonical
+ name or NULL. */
+
+#ifdef STATIC
+STATIC
+#endif
+const char *
+locale_charset ()
+{
+ const char *codeset;
+ const char *aliases;
+
+#ifndef WIN32
+
+# if HAVE_LANGINFO_CODESET
+
+ /* Most systems support nl_langinfo (CODESET) nowadays. */
+ codeset = nl_langinfo (CODESET);
+
+# else
+
+ /* On old systems which lack it, use setlocale and getenv. */
+ const char *locale = NULL;
+
+# if HAVE_SETLOCALE
+ locale = setlocale (LC_CTYPE, NULL);
+# endif
+ if (locale == NULL || locale[0] == '\0')
+ {
+ locale = getenv ("LC_ALL");
+ if (locale == NULL || locale[0] == '\0')
+ {
+ locale = getenv ("LC_CTYPE");
+ if (locale == NULL || locale[0] == '\0')
+ locale = getenv ("LANG");
+ }
+ }
+
+ /* On some old systems, one used to set locale = "iso8859_1". On others,
+ you set it to "language_COUNTRY.charset". In any case, we resolve it
+ through the charset.alias file. */
+ codeset = locale;
+
+# endif
+
+#else /* WIN32 */
+
+ static char buf[2 + 10 + 1];
+
+ /* Win32 has a function returning the locale's codepage as a number. */
+ sprintf (buf, "CP%u", GetACP ());
+ codeset = buf;
+
+#endif
+
+ if (codeset != NULL && codeset[0] != '\0')
+ {
+ /* Resolve alias. */
+ for (aliases = get_charset_aliases ();
+ *aliases != '\0';
+ aliases += strlen (aliases) + 1, aliases += strlen (aliases) + 1)
+ if (!strcmp (codeset, aliases))
+ {
+ codeset = aliases + strlen (aliases) + 1;
+ break;
+ }
+ }
+
+ return codeset;
+}
module_latex_latin1 (RECODE_OUTER outer)
{
return
-declare_single (outer, "LaTeX", "Latin-1",
-outer->quality_variable_to_byte,
-NULL, transform_latex_latin1)
+ declare_single (outer, "LaTeX", "Latin-1",
+ outer->quality_variable_to_byte,
+ NULL, transform_latex_latin1)
&& declare_alias (outer, "TeX", "LaTeX")
&& declare_alias (outer, "ltex", "LaTeX");
}
+
+void
+delmodule_latex_latin1 (RECODE_OUTER outer)
+{
+}
FORMAT is `decimal', `octal', `hexadecimal' or `full' (or one of `dohf').\n\
"),
stdout);
-#ifdef DEFAULT_CHARSET
- if (*DEFAULT_CHARSET)
- printf (_("\
-Unless DEFAULT_CHARSET is set in environment, CHARSET defaults to `%s'.\n\
-"),
- DEFAULT_CHARSET);
- else
-#else
- fputs (_("\
-CHARSET has no default, define DEFAULT_CHARSET in the environment.\n\
+ fputs (_("\
+Unless DEFAULT_CHARSET is set in environment, CHARSET defaults to the locale\n\
+dependent encoding, determined by LC_ALL, LC_CTYPE, LANG.\n\
"),
stdout);
-#endif
fputs (_("\
With -k, possible before charsets are listed for the given after CHARSET,\n\
both being tabular charsets, with PAIRS of the form `BEF1:AFT1,BEF2:AFT2,...'\n\
RECODE_REQUEST request;
program_name = argv[0];
+ /* libtool creates a temporary executable whose names is prefixed with
+ "lt-". Remove this prefix here. */
+ if (strncmp (program_name, "lt-", 3) == 0)
+ program_name += 3;
+
setlocale (LC_ALL, "");
bindtextdomain (PACKAGE, LOCALEDIR);
textdomain (PACKAGE);
return true;
}
+
+void
+delmodule_ascii_latin1 (RECODE_OUTER outer)
+{
+}
/* Conversion of files between different charsets and surfaces.
Copyright © 1990, 93, 97, 98, 99, 00 Free Software Foundation, Inc.
Contributed by François Pinard <pinard@iro.umontreal.ca>, 1988.
module_latex_latin1 (RECODE_OUTER outer)
{
return
-declare_single (outer, "LaTeX", "Latin-1",
-outer->quality_variable_to_byte,
-NULL, transform_latex_latin1)
+ declare_single (outer, "LaTeX", "Latin-1",
+ outer->quality_variable_to_byte,
+ NULL, transform_latex_latin1)
&& declare_alias (outer, "TeX", "LaTeX")
&& declare_alias (outer, "ltex", "LaTeX");
}
+
+void
+delmodule_latex_latin1 (RECODE_OUTER outer)
+{
+}
/* Conversion of files between different charsets and surfaces.
Copyright © 1990, 93, 94, 97, 98, 99, 00 Free Software Foundation, Inc.
Contributed by François Pinard <pinard@iro.umontreal.ca>, 1989.
transform_texte_latin1)
&& declare_alias (outer, "txte", "Texte");
}
+
+void
+delmodule_texte_latin1 (RECODE_OUTER outer)
+{
+}
/* Conversion of files between different charsets and surfaces.
- Copyright © 1990, 92, 93, 94, 96, 97, 98, 99, 00 Free Software Foundation, Inc.
+ Copyright © 1990,92,93,94,96,97,98,99,00 Free Software Foundation, Inc.
François Pinard <pinard@iro.umontreal.ca>, 1990.
This program is free software; you can redistribute it and/or modify it
outer->quality_variable_to_byte,
NULL, transform_mule_latin2);
}
+
+void
+delmodule_mule (RECODE_OUTER outer)
+{
+}
case ALIAS_FIND_AS_EITHER:
name = getenv ("DEFAULT_CHARSET");
if (!name)
- {
-#ifdef DEFAULT_CHARSET
- name = DEFAULT_CHARSET;
- if (!*name)
-#endif
- return NULL;
- }
+ name = "char"; /* locale dependent */
break;
default:
Suite 330, Boston, MA 02111-1307, USA. */
#include "common.h"
+#include "hash.h"
/*-----------------------------------------------------------------------.
| This dummy fallback routine is used to flag the intent of a reversible |
NULL, permute_4321)
&& declare_alias (outer, "swabytes", "21-Permutation");
}
+
+void
+delmodule_permutations (RECODE_OUTER outer)
+{
+}
+++ /dev/null
-/* DO NOT MODIFY THIS FILE! It was generated by `recode/doc/tables.pl'. */
-
-/* Conversion of files between different charsets and surfaces.
- Copyright © 1999 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by François Pinard <pinard@iro.umontreal.ca>, 1993, 1997.
-
- The `recode' 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 `recode' 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 `recode' 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. */
-
-#include "common.h"
-
-const recode_ucs2 ucs2_data_pool[8560] =
- {
- /* 0 */ 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
- /* 8 */ 0x0020, 0x0021, 0x0022, 0xFFFF, 0xFFFF, 0x0025, 0x0026, 0x0027,
- /* 16 */ 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F,
- /* 24 */ 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,
- /* 32 */ 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F,
- /* 40 */ 0xFFFF, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,
- /* 48 */ 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F,
- /* 56 */ 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,
- /* 64 */ 0x0058, 0x0059, 0x005A, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x005F,
- /* 72 */ 0xFFFF, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,
- /* 80 */ 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F,
- /* 88 */ 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,
- /* 96 */ 0x0078, 0x0079, 0x007A, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
- /* 104 */ 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,
- /* 112 */ 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F,
- /* 120 */ 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,
- /* 128 */ 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F,
- /* 136 */ 0x0078, 0x0079, 0x007A, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x007F,
- /* 144 */ 0x0020, 0x0021, 0x0022, 0x0023, 0x00A4, 0x0025, 0x0026, 0x0027,
- /* 152 */ 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,
- /* 160 */ 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F,
- /* 168 */ 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,
- /* 176 */ 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x203E, 0x007F,
- /* 184 */ 0x0020, 0x0021, 0x0022, 0x00A3, 0x0024, 0x0025, 0x0026, 0x0027,
- /* 192 */ 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,
- /* 200 */ 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F,
- /* 208 */ 0xE018, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,
- /* 216 */ 0x0058, 0x0059, 0x005A, 0x00C4, 0x00D6, 0x00C5, 0x25A0, 0x005F,
- /* 224 */ 0xE019, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,
- /* 232 */ 0x0078, 0x0079, 0x007A, 0x00E4, 0x00F6, 0x00E5, 0x2013, 0x007F,
- /* 240 */ 0xFFFF, 0x00C0, 0xFFFF, 0xFFFF, 0x0110, 0x00C9, 0xFFFF, 0xFFFF,
- /* 248 */ 0x00DE, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x00DC, 0xFFFF, 0xFFFF,
- /* 256 */ 0xFFFF, 0xFFFF, 0xFFFF, 0x00C6, 0x00D8, 0xFFFF, 0xFFFF, 0xFFFF,
- /* 264 */ 0xFFFF, 0x00E0, 0xFFFF, 0xFFFF, 0x0111, 0x00E9, 0xFFFF, 0xFFFF,
- /* 272 */ 0x00FE, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x00FC, 0xFFFF, 0xFFFF,
- /* 280 */ 0xFFFF, 0xFFFF, 0xFFFF, 0x00E6, 0x00F8, 0xFFFF, 0xFFFF, 0xFFFF,
- /* 288 */ 0x0020, 0x0021, 0x00AB, 0x00BB, 0x0024, 0x0025, 0x0026, 0x0027,
- /* 296 */ 0x0058, 0x0059, 0x005A, 0x00C6, 0x00D8, 0x00C5, 0x25A0, 0x005F,
- /* 304 */ 0x0078, 0x0079, 0x007A, 0x00E6, 0x00F8, 0x00E5, 0x2013, 0x007F,
- /* 312 */ 0xFFFF, 0xFFFF, 0xFFFF, 0x00C4, 0x00D6, 0xFFFF, 0xFFFF, 0xFFFF,
- /* 320 */ 0xFFFF, 0xFFFF, 0xFFFF, 0x00E4, 0x00F6, 0xFFFF, 0xFFFF, 0xFFFF,
- /* 328 */ 0x0058, 0x0059, 0x005A, 0x00C4, 0x00D6, 0x00C5, 0x005E, 0x005F,
- /* 336 */ 0x0078, 0x0079, 0x007A, 0x00E4, 0x00F6, 0x00E5, 0x203E, 0x007F,
- /* 344 */ 0x00C9, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,
- /* 352 */ 0x0058, 0x0059, 0x005A, 0x00C4, 0x00D6, 0x00C5, 0x00DC, 0x005F,
- /* 360 */ 0x00E9, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,
- /* 368 */ 0x0078, 0x0079, 0x007A, 0x00E4, 0x00F6, 0x00E5, 0x00FC, 0x007F,
- /* 376 */ 0x0020, 0x3002, 0x300C, 0x300D, 0x3001, 0x30FB, 0x30F2, 0x30A1,
- /* 384 */ 0x30A3, 0x30A5, 0x30A7, 0x30A9, 0x30E3, 0x30E5, 0x30E7, 0x30C3,
- /* 392 */ 0x30FC, 0x30A2, 0x30A4, 0x30A6, 0x30A8, 0x30AA, 0x30AB, 0x30AD,
- /* 400 */ 0x30AF, 0x30B1, 0x30B3, 0x30B5, 0x30B7, 0x30B9, 0x30BB, 0x30BD,
- /* 408 */ 0x30BF, 0x30C1, 0x30C4, 0x30C6, 0x30C8, 0x30CA, 0x30CB, 0x30CC,
- /* 416 */ 0x30CD, 0x30CE, 0x30CF, 0x30D2, 0x30D5, 0x30D8, 0x30DB, 0x30DE,
- /* 424 */ 0x30DF, 0x30E0, 0x30E1, 0x30E2, 0x30E4, 0x30E6, 0x30E8, 0x30E9,
- /* 432 */ 0x30EA, 0x30EB, 0x30EC, 0x30ED, 0x30EF, 0x30F3, 0x309B, 0x309C,
- /* 440 */ 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x007F,
- /* 448 */ 0x0058, 0x0059, 0x005A, 0x005B, 0x00A5, 0x005D, 0x005E, 0x005F,
- /* 456 */ 0x00A7, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,
- /* 464 */ 0x0058, 0x0059, 0x005A, 0x00B0, 0x00E7, 0x00E9, 0x005E, 0x005F,
- /* 472 */ 0x00F9, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,
- /* 480 */ 0x0078, 0x0079, 0x007A, 0x00E0, 0x00F2, 0x00E8, 0x00EC, 0x007F,
- /* 488 */ 0x0058, 0x0059, 0x005A, 0x00C3, 0x00C7, 0x00D5, 0x005E, 0x005F,
- /* 496 */ 0x0078, 0x0079, 0x007A, 0x00E3, 0x00E7, 0x00F5, 0x00B0, 0x007F,
- /* 504 */ 0x0058, 0x0059, 0x005A, 0x00A1, 0x00D1, 0x00BF, 0x005E, 0x005F,
- /* 512 */ 0x0078, 0x0079, 0x007A, 0x00B0, 0x00F1, 0x00E7, 0x007E, 0x007F,
- /* 520 */ 0x00B4, 0x03B1, 0x03B2, 0x03C8, 0x03B4, 0x03B5, 0x03C6, 0x03B3,
- /* 528 */ 0x03B7, 0x03B9, 0x03BE, 0x03BA, 0x03BB, 0x03BC, 0x03BD, 0x03BF,
- /* 536 */ 0x03C0, 0x037A, 0x03C1, 0x03C3, 0x03C4, 0x03B8, 0x03C9, 0x03C2,
- /* 544 */ 0x03C7, 0x03C5, 0x03B6, 0x1FCF, 0x1FBF, 0x1FCE, 0x007E, 0x005F,
- /* 552 */ 0x0060, 0x0391, 0x0392, 0x03A8, 0x0394, 0x0395, 0x03A6, 0x0393,
- /* 560 */ 0x0397, 0x0399, 0x039E, 0x039A, 0x039B, 0x039C, 0x039D, 0x039F,
- /* 568 */ 0x03A0, 0xFFFF, 0x03A1, 0x03A3, 0x03A4, 0x0398, 0x03A9, 0x00B7,
- /* 576 */ 0x03A7, 0x03A5, 0x0396, 0x1FDF, 0x1FFE, 0x1FDE, 0x00A8, 0x007F,
- /* 584 */ 0x03A7, 0x03A5, 0x0396, 0x007B, 0x007C, 0x007D, 0x00A8, 0x007F,
- /* 592 */ 0x0058, 0x0059, 0x005A, 0x00C4, 0x00D6, 0x00DC, 0x005E, 0x005F,
- /* 600 */ 0x0078, 0x0079, 0x007A, 0x00E4, 0x00F6, 0x00FC, 0x00DF, 0x007F,
- /* 608 */ 0x00E0, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,
- /* 616 */ 0x0058, 0x0059, 0x005A, 0x00B0, 0x00E7, 0x00A7, 0x005E, 0x005F,
- /* 624 */ 0x0078, 0x0079, 0x007A, 0x00E9, 0x00F9, 0x00E8, 0x00A8, 0x007F,
- /* 632 */ 0x0020, 0x039E, 0x0022, 0x0393, 0x00A4, 0x0025, 0x0026, 0x0027,
- /* 640 */ 0x0038, 0x0039, 0x03A8, 0x003B, 0x003C, 0x003D, 0x003E, 0x03A0,
- /* 648 */ 0x0394, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,
- /* 656 */ 0x0058, 0x0059, 0x005A, 0x03A9, 0x0398, 0x03A6, 0x039B, 0x03A3,
- /* 664 */ 0x044E, 0x0430, 0x0431, 0x0446, 0x0434, 0x0435, 0x0444, 0x0433,
- /* 672 */ 0x0445, 0x0438, 0x0439, 0x043A, 0x043B, 0x043C, 0x043D, 0x043E,
- /* 680 */ 0x043F, 0x044F, 0x0440, 0x0441, 0x0442, 0x0443, 0x0436, 0x0432,
- /* 688 */ 0x044C, 0x044B, 0x0437, 0x0448, 0x044D, 0x0449, 0x0447, 0x044A,
- /* 696 */ 0x042E, 0x0410, 0x0411, 0x0426, 0x0414, 0x0415, 0x0424, 0x0413,
- /* 704 */ 0x0425, 0x0418, 0x0419, 0x041A, 0x041B, 0x041C, 0x041D, 0x041E,
- /* 712 */ 0x041F, 0x042F, 0x0420, 0x0421, 0x0422, 0x0423, 0x0416, 0x0412,
- /* 720 */ 0x042C, 0x042B, 0x0417, 0x0428, 0x042D, 0x0429, 0x0427, 0x007F,
- /* 728 */ 0x0058, 0x0059, 0x005A, 0x2190, 0x00BD, 0x2192, 0x2191, 0x25A1,
- /* 736 */ 0x0078, 0x0079, 0x007A, 0x00BC, 0x2225, 0x00BE, 0x00F7, 0x007F,
- /* 744 */ 0x0020, 0xFFFF, 0xFFFF, 0xFFFF, 0x0024, 0x0025, 0xFFFF, 0x0027,
- /* 752 */ 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0xFFFF,
- /* 760 */ 0x0058, 0x0059, 0x005A, 0x005B, 0xFFFF, 0x005D, 0xFFFF, 0xFFFF,
- /* 768 */ 0x0078, 0x0079, 0x007A, 0xFFFF, 0x007C, 0xFFFF, 0xFFFF, 0x007F,
- /* 776 */ 0x0020, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
- /* 784 */ 0xFFFF, 0xFFFF, 0x03B1, 0x03B2, 0x03B3, 0x03B4, 0x039E, 0xFFFF,
- /* 792 */ 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x2192, 0x222B,
- /* 800 */ 0x2070, 0x00B9, 0x00B2, 0x00B3, 0x2074, 0x2075, 0x2076, 0x2077,
- /* 808 */ 0x2078, 0x2079, 0x207A, 0x207B, 0x30EB, 0x0394, 0x039B, 0x03A9,
- /* 816 */ 0x2080, 0x2081, 0x2082, 0x2083, 0x2084, 0x2085, 0x2086, 0x2087,
- /* 824 */ 0x2088, 0x2089, 0x03A3, 0x03BC, 0x03BD, 0x03C9, 0x03C0, 0x007F,
- /* 832 */ 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x221A, 0xFFFF, 0x2192, 0x222B,
- /* 840 */ 0x03B1, 0x03B2, 0x03B3, 0x03B4, 0x03A3, 0x03BC, 0x03BD, 0x03C9,
- /* 848 */ 0x03C0, 0x039E, 0x0394, 0x039B, 0x03A9, 0x042A, 0x207B, 0x207A,
- /* 856 */ 0x0491, 0x0452, 0x0453, 0x0454, 0x0451, 0x0455, 0x0456, 0x0457,
- /* 864 */ 0x0458, 0x0459, 0x045A, 0x045B, 0x045C, 0x045E, 0x045F, 0xFFFF,
- /* 872 */ 0x0463, 0x0473, 0x0475, 0x046B, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
- /* 880 */ 0xFFFF, 0xFFFF, 0xFFFF, 0x005B, 0xFFFF, 0x005D, 0xFFFF, 0x005F,
- /* 888 */ 0x0490, 0x0402, 0x0403, 0x0404, 0x0401, 0x0405, 0x0406, 0x0407,
- /* 896 */ 0x0408, 0x0409, 0x040A, 0x040B, 0x040C, 0x040E, 0x040F, 0x042A,
- /* 904 */ 0x0462, 0x0472, 0x0474, 0x046A, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
- /* 912 */ 0x0020, 0xE002, 0xE003, 0xE009, 0xE005, 0xE012, 0xE013, 0xE014,
- /* 920 */ 0x00AB, 0x00BB, 0x201D, 0x201C, 0x0374, 0x0375, 0xFFFF, 0xFFFF,
- /* 928 */ 0xFFFF, 0xFFFF, 0xFFFF, 0x00B7, 0xFFFF, 0xFFFF, 0xFFFF, 0x003B,
- /* 936 */ 0xFFFF, 0x0391, 0x0392, 0xFFFF, 0x0393, 0x0394, 0x0395, 0x03DA,
- /* 944 */ 0x03DC, 0x0396, 0x0397, 0x0398, 0x0399, 0x039A, 0x039B, 0x039C,
- /* 952 */ 0x039D, 0x039E, 0x039F, 0x03A0, 0x03DE, 0x03A1, 0x03A3, 0xFFFF,
- /* 960 */ 0x03A4, 0x03A5, 0x03A6, 0x03A7, 0x03A8, 0x03A9, 0x03E0, 0xFFFF,
- /* 968 */ 0xFFFF, 0x03B1, 0x03B2, 0x03D0, 0x03B3, 0x03B4, 0x03B5, 0xE01A,
- /* 976 */ 0xE01B, 0x03B6, 0x03B7, 0x03B8, 0x03B9, 0x03BA, 0x03BB, 0x03BC,
- /* 984 */ 0x03BD, 0x03BE, 0x03BF, 0x03C0, 0xE01C, 0x03C1, 0x03C3, 0x03C2,
- /* 992 */ 0x03C4, 0x03C5, 0x03C6, 0x03C7, 0x03C8, 0x03C9, 0xE01D, 0x007F,
- /* 1000 */ 0x0020, 0x0021, 0x0022, 0x0023, 0x00A5, 0x0025, 0x0026, 0x0027,
- /* 1008 */ 0x0058, 0x0059, 0x005A, 0x00C6, 0x00D8, 0x00C5, 0x005E, 0x005F,
- /* 1016 */ 0x0078, 0x0079, 0x007A, 0x00E6, 0x00F8, 0x00E5, 0x203E, 0x007F,
- /* 1024 */ 0x0020, 0x0021, 0x0022, 0x00A7, 0x0024, 0x0025, 0x0026, 0x0027,
- /* 1032 */ 0x0078, 0x0079, 0x007A, 0x00E6, 0x00F8, 0x00E5, 0x007C, 0x007F,
- /* 1040 */ 0x00B5, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,
- /* 1048 */ 0x00B4, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,
- /* 1056 */ 0x0078, 0x0079, 0x007A, 0x00E3, 0x00E7, 0x00F5, 0x007E, 0x007F,
- /* 1064 */ 0x2022, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,
- /* 1072 */ 0x0058, 0x0059, 0x005A, 0x00A1, 0x00D1, 0x00C7, 0x00BF, 0x005F,
- /* 1080 */ 0x0078, 0x0079, 0x007A, 0x00B4, 0x00F1, 0x00E7, 0x00A8, 0x007F,
- /* 1088 */ 0x00C1, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,
- /* 1096 */ 0x0058, 0x0059, 0x005A, 0x00C9, 0x00D6, 0x00DC, 0x005E, 0x005F,
- /* 1104 */ 0x00E1, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,
- /* 1112 */ 0x0078, 0x0079, 0x007A, 0x00E9, 0x00F6, 0x00FC, 0x02DD, 0x007F,
- /* 1120 */ 0x0040, 0x0391, 0x0392, 0x0393, 0x0394, 0x0395, 0x0396, 0x0397,
- /* 1128 */ 0x0398, 0x0399, 0xFFFF, 0x039A, 0x039B, 0x039C, 0x039D, 0x039E,
- /* 1136 */ 0x039F, 0x03A0, 0x03A1, 0x03A3, 0x03A4, 0x03A5, 0x03A6, 0xFFFF,
- /* 1144 */ 0x03A7, 0x03A8, 0x03A9, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F,
- /* 1152 */ 0x0060, 0x03B1, 0x03B2, 0x03B3, 0x03B4, 0x03B5, 0x03B6, 0x03B7,
- /* 1160 */ 0x03B8, 0x03B9, 0xFFFF, 0x03BA, 0x03BB, 0x03BC, 0x03BD, 0x03BE,
- /* 1168 */ 0x03BF, 0x03C0, 0x03C1, 0x03C3, 0x03C4, 0x03C5, 0x03C6, 0x03C2,
- /* 1176 */ 0x03C7, 0x03C8, 0x03C9, 0x007B, 0x007C, 0x007D, 0x203E, 0x007F,
- /* 1184 */ 0x0028, 0x0029, 0x002A, 0x002B, 0x060C, 0x002D, 0x002E, 0x002F,
- /* 1192 */ 0x0038, 0x0039, 0x003A, 0x061B, 0x003C, 0x003D, 0x003E, 0x061F,
- /* 1200 */ 0x0040, 0x0621, 0x0622, 0x0623, 0x0624, 0x0625, 0x0626, 0x0627,
- /* 1208 */ 0x0628, 0x0629, 0x062A, 0x062B, 0x062C, 0x062D, 0x062E, 0x062F,
- /* 1216 */ 0x0630, 0x0631, 0x0632, 0x0633, 0x0634, 0x0635, 0x0636, 0x0637,
- /* 1224 */ 0x0638, 0x0639, 0x063A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F,
- /* 1232 */ 0x0640, 0x0641, 0x0642, 0x0643, 0x0644, 0x0645, 0x0646, 0x0647,
- /* 1240 */ 0x0648, 0x0649, 0x064A, 0x064B, 0x064C, 0x064D, 0x064E, 0x064F,
- /* 1248 */ 0x0650, 0x0651, 0x0652, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
- /* 1256 */ 0xFFFF, 0xFFFF, 0xFFFF, 0x007B, 0x007C, 0x007D, 0x203E, 0x007F,
- /* 1264 */ 0x0020, 0xFFFF, 0x0022, 0x00A3, 0x0024, 0x0025, 0x0026, 0x0027,
- /* 1272 */ 0x0038, 0x0039, 0x003A, 0x003B, 0x2440, 0x003D, 0x2441, 0x003F,
- /* 1280 */ 0x0058, 0x0059, 0x005A, 0xFFFF, 0x00A5, 0x2442, 0x005E, 0x005F,
- /* 1288 */ 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x2443, 0xFFFF, 0xFFFF, 0x007F,
- /* 1296 */ 0x0058, 0x0059, 0x005A, 0x2329, 0x00A5, 0x232A, 0x005E, 0x005F,
- /* 1304 */ 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0xFFFF, 0x007F,
- /* 1312 */ 0x0020, 0xFFFF, 0xFFFF, 0x00A3, 0x00A4, 0x005C, 0xFFFF, 0x00A7,
- /* 1320 */ 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x007C, 0xFFFF, 0xFFFF, 0x007F,
- /* 1328 */ 0x0020, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x005C, 0xFFFF, 0xFFFF,
- /* 1336 */ 0x0020, 0xFFFF, 0x300C, 0x300D, 0xFFFF, 0xFFFF, 0x30F2, 0xFFFF,
- /* 1344 */ 0x0038, 0x0039, 0x2446, 0x2447, 0x2448, 0x2449, 0xFFFF, 0xFFFF,
- /* 1352 */ 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
- /* 1360 */ 0x0088, 0x0089, 0x008A, 0x008B, 0x008C, 0x008D, 0x008E, 0x008F,
- /* 1368 */ 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
- /* 1376 */ 0x0098, 0x0099, 0x009A, 0x009B, 0x009C, 0x009D, 0x009E, 0x009F,
- /* 1384 */ 0x00A0, 0x00A1, 0x00A2, 0x00A3, 0x00A4, 0x00A5, 0x00A6, 0x00A7,
- /* 1392 */ 0x00A8, 0x00A9, 0x00AA, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x00AF,
- /* 1400 */ 0x00B0, 0x00B1, 0x00B2, 0x00B3, 0x00B4, 0x00B5, 0x00B6, 0x00B7,
- /* 1408 */ 0x00B8, 0x00B9, 0x00BA, 0x00BB, 0x00BC, 0x00BD, 0x00BE, 0x00BF,
- /* 1416 */ 0x00C0, 0x00C1, 0x00C2, 0x00C3, 0x00C4, 0x00C5, 0x00C6, 0x00C7,
- /* 1424 */ 0x00C8, 0x00C9, 0x00CA, 0x00CB, 0x00CC, 0x00CD, 0x00CE, 0x00CF,
- /* 1432 */ 0x00D0, 0x00D1, 0x00D2, 0x00D3, 0x00D4, 0x00D5, 0x00D6, 0x00D7,
- /* 1440 */ 0x00D8, 0x00D9, 0x00DA, 0x00DB, 0x00DC, 0x00DD, 0x00DE, 0x00DF,
- /* 1448 */ 0x00E0, 0x00E1, 0x00E2, 0x00E3, 0x00E4, 0x00E5, 0x00E6, 0x00E7,
- /* 1456 */ 0x00E8, 0x00E9, 0x00EA, 0x00EB, 0x00EC, 0x00ED, 0x00EE, 0x00EF,
- /* 1464 */ 0x00F0, 0x00F1, 0x00F2, 0x00F3, 0x00F4, 0x00F5, 0x00F6, 0x00F7,
- /* 1472 */ 0x00F8, 0x00F9, 0x00FA, 0x00FB, 0x00FC, 0x00FD, 0x00FE, 0x00FF,
- /* 1480 */ 0x00A0, 0x0104, 0x02D8, 0x0141, 0x00A4, 0x013D, 0x015A, 0x00A7,
- /* 1488 */ 0x00A8, 0x0160, 0x015E, 0x0164, 0x0179, 0x00AD, 0x017D, 0x017B,
- /* 1496 */ 0x00B0, 0x0105, 0x02DB, 0x0142, 0x00B4, 0x013E, 0x015B, 0x02C7,
- /* 1504 */ 0x00B8, 0x0161, 0x015F, 0x0165, 0x017A, 0x02DD, 0x017E, 0x017C,
- /* 1512 */ 0x0154, 0x00C1, 0x00C2, 0x0102, 0x00C4, 0x0139, 0x0106, 0x00C7,
- /* 1520 */ 0x010C, 0x00C9, 0x0118, 0x00CB, 0x011A, 0x00CD, 0x00CE, 0x010E,
- /* 1528 */ 0x0110, 0x0143, 0x0147, 0x00D3, 0x00D4, 0x0150, 0x00D6, 0x00D7,
- /* 1536 */ 0x0158, 0x016E, 0x00DA, 0x0170, 0x00DC, 0x00DD, 0x0162, 0x00DF,
- /* 1544 */ 0x0155, 0x00E1, 0x00E2, 0x0103, 0x00E4, 0x013A, 0x0107, 0x00E7,
- /* 1552 */ 0x010D, 0x00E9, 0x0119, 0x00EB, 0x011B, 0x00ED, 0x00EE, 0x010F,
- /* 1560 */ 0x0111, 0x0144, 0x0148, 0x00F3, 0x00F4, 0x0151, 0x00F6, 0x00F7,
- /* 1568 */ 0x0159, 0x016F, 0x00FA, 0x0171, 0x00FC, 0x00FD, 0x0163, 0x02D9,
- /* 1576 */ 0x0058, 0x0059, 0x005A, 0x005B, 0xFFFF, 0x005D, 0xFFFF, 0x005F,
- /* 1584 */ 0x00A0, 0x0126, 0x02D8, 0x00A3, 0x00A4, 0xFFFF, 0x0124, 0x00A7,
- /* 1592 */ 0x00A8, 0x0130, 0x015E, 0x011E, 0x0134, 0x00AD, 0xFFFF, 0x017B,
- /* 1600 */ 0x00B0, 0x0127, 0x00B2, 0x00B3, 0x00B4, 0x00B5, 0x0125, 0x00B7,
- /* 1608 */ 0x00B8, 0x0131, 0x015F, 0x011F, 0x0135, 0x00BD, 0xFFFF, 0x017C,
- /* 1616 */ 0x00C0, 0x00C1, 0x00C2, 0xFFFF, 0x00C4, 0x010A, 0x0108, 0x00C7,
- /* 1624 */ 0xFFFF, 0x00D1, 0x00D2, 0x00D3, 0x00D4, 0x0120, 0x00D6, 0x00D7,
- /* 1632 */ 0x011C, 0x00D9, 0x00DA, 0x00DB, 0x00DC, 0x016C, 0x015C, 0x00DF,
- /* 1640 */ 0x00E0, 0x00E1, 0x00E2, 0xFFFF, 0x00E4, 0x010B, 0x0109, 0x00E7,
- /* 1648 */ 0xFFFF, 0x00F1, 0x00F2, 0x00F3, 0x00F4, 0x0121, 0x00F6, 0x00F7,
- /* 1656 */ 0x011D, 0x00F9, 0x00FA, 0x00FB, 0x00FC, 0x016D, 0x015D, 0x02D9,
- /* 1664 */ 0x00A0, 0x0104, 0x0138, 0x0156, 0x00A4, 0x0128, 0x013B, 0x00A7,
- /* 1672 */ 0x00A8, 0x0160, 0x0112, 0x0122, 0x0166, 0x00AD, 0x017D, 0x00AF,
- /* 1680 */ 0x00B0, 0x0105, 0x02DB, 0x0157, 0x00B4, 0x0129, 0x013C, 0x02C7,
- /* 1688 */ 0x00B8, 0x0161, 0x0113, 0x0123, 0x0167, 0x014A, 0x017E, 0x014B,
- /* 1696 */ 0x0100, 0x00C1, 0x00C2, 0x00C3, 0x00C4, 0x00C5, 0x00C6, 0x012E,
- /* 1704 */ 0x010C, 0x00C9, 0x0118, 0x00CB, 0x0116, 0x00CD, 0x00CE, 0x012A,
- /* 1712 */ 0x0110, 0x0145, 0x014C, 0x0136, 0x00D4, 0x00D5, 0x00D6, 0x00D7,
- /* 1720 */ 0x00D8, 0x0172, 0x00DA, 0x00DB, 0x00DC, 0x0168, 0x016A, 0x00DF,
- /* 1728 */ 0x0101, 0x00E1, 0x00E2, 0x00E3, 0x00E4, 0x00E5, 0x00E6, 0x012F,
- /* 1736 */ 0x010D, 0x00E9, 0x0119, 0x00EB, 0x0117, 0x00ED, 0x00EE, 0x012B,
- /* 1744 */ 0x0111, 0x0146, 0x014D, 0x0137, 0x00F4, 0x00F5, 0x00F6, 0x00F7,
- /* 1752 */ 0x00F8, 0x0173, 0x00FA, 0x00FB, 0x00FC, 0x0169, 0x016B, 0x02D9,
- /* 1760 */ 0x00A0, 0x0452, 0x0453, 0x0451, 0x0454, 0x0455, 0x0456, 0x0457,
- /* 1768 */ 0x0458, 0x0459, 0x045A, 0x045B, 0x045C, 0x00AD, 0x045E, 0x045F,
- /* 1776 */ 0x2116, 0x0402, 0x0403, 0x0401, 0x0404, 0x0405, 0x0406, 0x0407,
- /* 1784 */ 0x0408, 0x0409, 0x040A, 0x040B, 0x040C, 0x00A4, 0x040E, 0x040F,
- /* 1792 */ 0x042C, 0x042B, 0x0417, 0x0428, 0x042D, 0x0429, 0x0427, 0x042A,
- /* 1800 */ 0x0058, 0x0059, 0x005A, 0x00E2, 0x00E7, 0x00EA, 0x00EE, 0x005F,
- /* 1808 */ 0x00F4, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,
- /* 1816 */ 0x0078, 0x0079, 0x007A, 0x00E9, 0x00F9, 0x00E8, 0x00FB, 0x007F,
- /* 1824 */ 0x0058, 0x0059, 0x005A, 0x00E2, 0x00E7, 0x00EA, 0x00C9, 0x005F,
- /* 1832 */ 0x00A0, 0x00A1, 0x00A8, 0x00A3, 0x00A2, 0x00A5, 0x00B1, 0x00B4,
- /* 1840 */ 0x207D, 0x207E, 0x00BD, 0x207A, 0x00B8, 0x00AD, 0x00B7, 0x207B,
- /* 1848 */ 0x2078, 0x2079, 0x00BC, 0x00BE, 0x21D0, 0x2260, 0x2265, 0x00BF,
- /* 1856 */ 0x00C0, 0x00C1, 0x00C2, 0x00C7, 0x00C8, 0x00C9, 0x00CA, 0x00CB,
- /* 1864 */ 0x00CD, 0x00CE, 0x00CF, 0x00D1, 0x00D3, 0x00D4, 0x00D9, 0x00DA,
- /* 1872 */ 0x00DB, 0x00DC, 0x00AE, 0x00A7, 0x00B6, 0x00B5, 0x00AA, 0x00BA,
- /* 1880 */ 0x2018, 0x2019, 0x201C, 0x201D, 0x00AB, 0x00BB, 0x00B0, 0x00A6,
- /* 1888 */ 0x00E0, 0x00E1, 0x00E2, 0x00E7, 0x00E8, 0x00E9, 0x00EA, 0x00EB,
- /* 1896 */ 0x00ED, 0x00EE, 0x00EF, 0x00F1, 0x00F3, 0x00F4, 0x00F9, 0x00FA,
- /* 1904 */ 0x00FB, 0x00FC, 0x00A9, 0x2500, 0x2502, 0x2514, 0x2518, 0x2510,
- /* 1912 */ 0x250C, 0x251C, 0x2534, 0x2524, 0x252C, 0x253C, 0x00AC, 0x2588,
- /* 1920 */ 0x00A0, 0x201B, 0x2019, 0x00A3, 0xFFFF, 0xFFFF, 0x00A6, 0x00A7,
- /* 1928 */ 0x00A8, 0x00A9, 0xFFFF, 0x00AB, 0x00AC, 0x00AD, 0xFFFF, 0x2014,
- /* 1936 */ 0x00B0, 0x00B1, 0x00B2, 0x00B3, 0x00B4, 0x0385, 0x0386, 0x00B7,
- /* 1944 */ 0x0388, 0x0389, 0x038A, 0x00BB, 0x038C, 0x00BD, 0x038E, 0x038F,
- /* 1952 */ 0x0390, 0x0391, 0x0392, 0x0393, 0x0394, 0x0395, 0x0396, 0x0397,
- /* 1960 */ 0x0398, 0x0399, 0x039A, 0x039B, 0x039C, 0x039D, 0x039E, 0x039F,
- /* 1968 */ 0x03A0, 0x03A1, 0xFFFF, 0x03A3, 0x03A4, 0x03A5, 0x03A6, 0x03A7,
- /* 1976 */ 0x03A8, 0x03A9, 0x03AA, 0x03AB, 0x03AC, 0x03AD, 0x03AE, 0x03AF,
- /* 1984 */ 0x03B0, 0x03B1, 0x03B2, 0x03B3, 0x03B4, 0x03B5, 0x03B6, 0x03B7,
- /* 1992 */ 0x03B8, 0x03B9, 0x03BA, 0x03BB, 0x03BC, 0x03BD, 0x03BE, 0x03BF,
- /* 2000 */ 0x03C0, 0x03C1, 0x03C2, 0x03C3, 0x03C4, 0x03C5, 0x03C6, 0x03C7,
- /* 2008 */ 0x03C8, 0x03C9, 0x03CA, 0x03CB, 0x03CC, 0x03CD, 0x03CE, 0xFFFF,
- /* 2016 */ 0x00A0, 0xFFFF, 0xFFFF, 0xFFFF, 0x00A4, 0xFFFF, 0xFFFF, 0xFFFF,
- /* 2024 */ 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x060C, 0x00AD, 0xFFFF, 0xFFFF,
- /* 2032 */ 0xFFFF, 0xFFFF, 0xFFFF, 0x061B, 0xFFFF, 0xFFFF, 0xFFFF, 0x061F,
- /* 2040 */ 0xFFFF, 0x0621, 0x0622, 0x0623, 0x0624, 0x0625, 0x0626, 0x0627,
- /* 2048 */ 0x0638, 0x0639, 0x063A, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
- /* 2056 */ 0x00A0, 0xFFFF, 0x00A2, 0x00A3, 0x00A4, 0x00A5, 0x00A6, 0x00A7,
- /* 2064 */ 0x00A8, 0x00A9, 0x00D7, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x203E,
- /* 2072 */ 0x00B8, 0x00B9, 0x00F7, 0x00BB, 0x00BC, 0x00BD, 0x00BE, 0xFFFF,
- /* 2080 */ 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x2017,
- /* 2088 */ 0x05D0, 0x05D1, 0x05D2, 0x05D3, 0x05D4, 0x05D5, 0x05D6, 0x05D7,
- /* 2096 */ 0x05D8, 0x05D9, 0x05DA, 0x05DB, 0x05DC, 0x05DD, 0x05DE, 0x05DF,
- /* 2104 */ 0x05E0, 0x05E1, 0x05E2, 0x05E3, 0x05E4, 0x05E5, 0x05E6, 0x05E7,
- /* 2112 */ 0x05E8, 0x05E9, 0x05EA, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
- /* 2120 */ 0x00A0, 0x0104, 0x02D8, 0x0141, 0x0024, 0x013D, 0x015A, 0x00A7,
- /* 2128 */ 0x017D, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,
- /* 2136 */ 0x0058, 0x0059, 0x005A, 0x0160, 0x0110, 0x0106, 0x010C, 0x005F,
- /* 2144 */ 0x017E, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,
- /* 2152 */ 0x0078, 0x0079, 0x007A, 0x0161, 0x0111, 0x0107, 0x010D, 0x007F,
- /* 2160 */ 0x02C7, 0x2261, 0x2227, 0x2228, 0x2229, 0x222A, 0x2282, 0x2283,
- /* 2168 */ 0x21D0, 0x21D2, 0x2234, 0x2235, 0x2208, 0x220B, 0x2286, 0x2287,
- /* 2176 */ 0x222B, 0x222E, 0x221E, 0x2207, 0x2202, 0x223C, 0x2248, 0x2243,
- /* 2184 */ 0x2245, 0x2264, 0x2260, 0x2265, 0x2194, 0x00AC, 0x2200, 0x2203,
- /* 2192 */ 0x05D0, 0x25A1, 0x2225, 0x0393, 0x0394, 0x22A5, 0x2220, 0x221F,
- /* 2200 */ 0x0398, 0x2329, 0x232A, 0x039B, 0x2032, 0x2033, 0x039E, 0x2213,
- /* 2208 */ 0x03A0, 0x00B2, 0x03A3, 0x00D7, 0x00B3, 0x03A5, 0x03A6, 0x00B7,
- /* 2216 */ 0x03A8, 0x03A9, 0x2205, 0x21C0, 0x221A, 0x0192, 0x221D, 0x00B1,
- /* 2224 */ 0x00B0, 0x03B1, 0x03B2, 0x03B3, 0x03B4, 0x03B5, 0x03B6, 0x03B7,
- /* 2232 */ 0x03B8, 0x03B9, 0x03BA, 0x03BB, 0x03BC, 0x03BD, 0x03BE, 0x2030,
- /* 2240 */ 0x03C0, 0x03C1, 0x03C3, 0x00F7, 0x03C4, 0x03C5, 0x03C6, 0x03C7,
- /* 2248 */ 0x03C8, 0x03C9, 0x2020, 0x2190, 0x2191, 0x2192, 0x2193, 0x203E,
- /* 2256 */ 0x00A0, 0x0401, 0x0402, 0x0403, 0x0404, 0x0405, 0x0406, 0x0407,
- /* 2264 */ 0x0408, 0x0409, 0x040A, 0x040B, 0x040C, 0x00AD, 0x040E, 0x040F,
- /* 2272 */ 0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417,
- /* 2280 */ 0x0418, 0x0419, 0x041A, 0x041B, 0x041C, 0x041D, 0x041E, 0x041F,
- /* 2288 */ 0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427,
- /* 2296 */ 0x0428, 0x0429, 0x042A, 0x042B, 0x042C, 0x042D, 0x042E, 0x042F,
- /* 2304 */ 0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437,
- /* 2312 */ 0x0438, 0x0439, 0x043A, 0x043B, 0x043C, 0x043D, 0x043E, 0x043F,
- /* 2320 */ 0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447,
- /* 2328 */ 0x0448, 0x0449, 0x044A, 0x044B, 0x044C, 0x044D, 0x044E, 0x044F,
- /* 2336 */ 0x2116, 0x0451, 0x0452, 0x0453, 0x0454, 0x0455, 0x0456, 0x0457,
- /* 2344 */ 0x0458, 0x0459, 0x045A, 0x045B, 0x045C, 0x00A7, 0x045E, 0x045F,
- /* 2352 */ 0x0416, 0x0410, 0x0411, 0x0426, 0x0414, 0x0415, 0x0424, 0x0413,
- /* 2360 */ 0x0425, 0x0418, 0x0408, 0x041A, 0x041B, 0x041C, 0x041D, 0x041E,
- /* 2368 */ 0x041F, 0x0409, 0x0420, 0x0421, 0x0422, 0x0423, 0x0412, 0x040A,
- /* 2376 */ 0x040F, 0x0405, 0x0417, 0x0428, 0x0402, 0x040B, 0x0427, 0x005F,
- /* 2384 */ 0x0436, 0x0430, 0x0431, 0x0446, 0x0434, 0x0435, 0x0444, 0x0433,
- /* 2392 */ 0x0445, 0x0438, 0x0458, 0x043A, 0x043B, 0x043C, 0x043D, 0x043E,
- /* 2400 */ 0x043F, 0x0459, 0x0440, 0x0441, 0x0442, 0x0443, 0x0432, 0x045A,
- /* 2408 */ 0x045F, 0x0455, 0x0437, 0x0448, 0x0452, 0x045B, 0x0447, 0x007F,
- /* 2416 */ 0x040F, 0x0405, 0x0417, 0x0428, 0x0403, 0x040C, 0x0427, 0x005F,
- /* 2424 */ 0x045F, 0x0455, 0x0437, 0x0448, 0x0453, 0x045C, 0x0447, 0x007F,
- /* 2432 */ 0x011E, 0x00D1, 0x00D2, 0x00D3, 0x00D4, 0x00D5, 0x00D6, 0x00D7,
- /* 2440 */ 0x00D8, 0x00D9, 0x00DA, 0x00DB, 0x00DC, 0x0130, 0x015E, 0x00DF,
- /* 2448 */ 0x00E8, 0x00E9, 0x0119, 0x00EB, 0x0117, 0x00ED, 0x00EE, 0x012B,
- /* 2456 */ 0x011F, 0x00F1, 0x00F2, 0x00F3, 0x00F4, 0x00F5, 0x00F6, 0x00F7,
- /* 2464 */ 0x00F8, 0x00F9, 0x00FA, 0x00FB, 0x00FC, 0x0131, 0x015F, 0x00FF,
- /* 2472 */ 0x03A8, 0x03A9, 0xFFFF, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F,
- /* 2480 */ 0xFFFF, 0x03B1, 0x03B2, 0x03B3, 0x03B4, 0x03B5, 0x03B6, 0x03B7,
- /* 2488 */ 0x03C8, 0x03C9, 0xFFFF, 0x007B, 0x007C, 0x007D, 0x00AF, 0x007F,
- /* 2496 */ 0x0058, 0x0059, 0x005A, 0x00A1, 0x00D1, 0x005D, 0x00BF, 0x005F,
- /* 2504 */ 0x0078, 0x0079, 0x007A, 0x00B4, 0x00F1, 0x005B, 0x00A8, 0x007F,
- /* 2512 */ 0x00A0, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
- /* 2520 */ 0xFFFF, 0xFFFF, 0x201C, 0xFFFF, 0x2190, 0x2191, 0x2192, 0x2193,
- /* 2528 */ 0xFFFF, 0xFFFF, 0x201D, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
- /* 2536 */ 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x2122, 0x266A, 0xFFFF, 0xFFFF,
- /* 2544 */ 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x215B, 0x215C, 0x215D, 0x215E,
- /* 2552 */ 0x2126, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0132, 0x013F,
- /* 2560 */ 0xFFFF, 0xFFFF, 0x0152, 0xFFFF, 0x0174, 0x0176, 0x0178, 0x0149,
- /* 2568 */ 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0133, 0x0140,
- /* 2576 */ 0xFFFF, 0xFFFF, 0x0153, 0xFFFF, 0x0175, 0x0177, 0xFFFF, 0xFFFF,
- /* 2584 */ 0x00A0, 0x0401, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
- /* 2592 */ 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x00AD, 0xFFFF, 0xFFFF,
- /* 2600 */ 0xFFFF, 0x0451, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
- /* 2608 */ 0xFFFF, 0xFFFF, 0x0100, 0x0108, 0x010A, 0xFFFF, 0x0116, 0x0112,
- /* 2616 */ 0x011C, 0x2018, 0x201C, 0x2122, 0x2190, 0x2191, 0x2192, 0x2193,
- /* 2624 */ 0xFFFF, 0xFFFF, 0x0101, 0x0109, 0x010B, 0x00F0, 0x0117, 0x0113,
- /* 2632 */ 0x011D, 0x2019, 0x201D, 0x266A, 0x215B, 0x215C, 0x215D, 0x215E,
- /* 2640 */ 0xFFFF, 0x011E, 0x0120, 0x0122, 0x0124, 0x0126, 0x0128, 0x0130,
- /* 2648 */ 0x012A, 0x012E, 0x0132, 0x0134, 0x0136, 0x013B, 0x013F, 0x0145,
- /* 2656 */ 0x2014, 0x014A, 0x014C, 0x0152, 0x0156, 0x015C, 0x0166, 0x00DE,
- /* 2664 */ 0x0168, 0x016C, 0x016A, 0x0172, 0x0174, 0x00DD, 0x0176, 0x0178,
- /* 2672 */ 0x2126, 0x011F, 0x0121, 0x0123, 0x0125, 0x0127, 0x0129, 0x0131,
- /* 2680 */ 0x012B, 0x012F, 0x0133, 0x0135, 0x0137, 0x013C, 0x0140, 0x0146,
- /* 2688 */ 0x0138, 0x014B, 0x014D, 0x0153, 0x0157, 0x015D, 0x0167, 0x00FE,
- /* 2696 */ 0x0169, 0x016D, 0x016B, 0x0173, 0x0175, 0x00FD, 0x0177, 0x0149,
- /* 2704 */ 0x2551, 0x2550, 0x2554, 0x2557, 0x255A, 0x255D, 0x2560, 0x2563,
- /* 2712 */ 0x2566, 0x2569, 0x256C, 0xE019, 0x2584, 0x2588, 0x25AA, 0xFFFF,
- /* 2720 */ 0x2502, 0x2500, 0x250C, 0x2510, 0x2514, 0x2518, 0x251C, 0x2524,
- /* 2728 */ 0x252C, 0x2534, 0x253C, 0x2591, 0x2592, 0x2593, 0xFFFF, 0xFFFF,
- /* 2736 */ 0x00A0, 0x0104, 0x0112, 0x0122, 0x012A, 0x0128, 0x0136, 0x00A7,
- /* 2744 */ 0x013B, 0x0110, 0x0160, 0x0166, 0x017D, 0x00AD, 0x016A, 0x014A,
- /* 2752 */ 0x00B0, 0x0105, 0x0113, 0x0123, 0x012B, 0x0129, 0x0137, 0x00B7,
- /* 2760 */ 0x013C, 0x0111, 0x0161, 0x0167, 0x017E, 0x2014, 0x016B, 0x014B,
- /* 2768 */ 0x010C, 0x00C9, 0x0118, 0x00CB, 0x0116, 0x00CD, 0x00CE, 0x00CF,
- /* 2776 */ 0x00D0, 0x0145, 0x014C, 0x00D3, 0x00D4, 0x00D5, 0x00D6, 0x0168,
- /* 2784 */ 0x00D8, 0x0172, 0x00DA, 0x00DB, 0x00DC, 0x00DD, 0x00DE, 0x00DF,
- /* 2792 */ 0x010D, 0x00E9, 0x0119, 0x00EB, 0x0117, 0x00ED, 0x00EE, 0x00EF,
- /* 2800 */ 0x00F0, 0x0146, 0x014D, 0x00F3, 0x00F4, 0x00F5, 0x00F6, 0x0169,
- /* 2808 */ 0x00F8, 0x0173, 0x00FA, 0x00FB, 0x00FC, 0x00FD, 0x00FE, 0x0138,
- /* 2816 */ 0x00A0, 0x00A1, 0x00A2, 0x00A3, 0x00A4, 0x201E, 0x00A6, 0x00A7,
- /* 2824 */ 0x00B0, 0x00B1, 0x00B2, 0x00B3, 0x201C, 0x00B5, 0x00B6, 0x00B7,
- /* 2832 */ 0x0104, 0x012E, 0x0100, 0x0106, 0x00C4, 0x00C5, 0x0118, 0x0112,
- /* 2840 */ 0x010C, 0x00C9, 0x0179, 0x0116, 0x0122, 0x0136, 0x012A, 0x013B,
- /* 2848 */ 0x0160, 0x0143, 0x0145, 0x00D3, 0x014C, 0x00D5, 0x00D6, 0x00D7,
- /* 2856 */ 0x0172, 0x0141, 0x015A, 0x016A, 0x00DC, 0x017B, 0x017D, 0x00DF,
- /* 2864 */ 0x0105, 0x012F, 0x0101, 0x0107, 0x00E4, 0x00E5, 0x0119, 0x0113,
- /* 2872 */ 0x010D, 0x00E9, 0x017A, 0x0117, 0x0123, 0x0137, 0x012B, 0x013C,
- /* 2880 */ 0x0161, 0x0144, 0x0146, 0x00F3, 0x014D, 0x00F5, 0x00F6, 0x00F7,
- /* 2888 */ 0x0173, 0x0142, 0x015B, 0x016B, 0x00FC, 0x017C, 0x017E, 0x2019,
- /* 2896 */ 0x00A0, 0x1E02, 0x1E03, 0x00A3, 0x010A, 0x010B, 0x1E0A, 0x00A7,
- /* 2904 */ 0x1E80, 0x00A9, 0x1E82, 0x1E0B, 0x1EF2, 0x00AD, 0x00AE, 0x1E61,
- /* 2912 */ 0x1E1E, 0x1E1F, 0x0120, 0x0121, 0x1E40, 0x1E41, 0x00B6, 0x1E56,
- /* 2920 */ 0x1E81, 0x1E57, 0x1E83, 0x1E60, 0x1EF3, 0x1E84, 0x1E85, 0x0178,
- /* 2928 */ 0x0174, 0x00D1, 0x00D2, 0x00D3, 0x00D4, 0x00D5, 0x00D6, 0x1E6A,
- /* 2936 */ 0x00D8, 0x00D9, 0x00DA, 0x00DB, 0x00DC, 0x00DD, 0x0176, 0x00DF,
- /* 2944 */ 0x0175, 0x00F1, 0x00F2, 0x00F3, 0x00F4, 0x00F5, 0x00F6, 0x1E6B,
- /* 2952 */ 0x00F8, 0x00F9, 0x00FA, 0x00FB, 0x00FC, 0x00FD, 0x0177, 0x00FF,
- /* 2960 */ 0x00A0, 0x00A1, 0x00A2, 0x00A3, 0x20AC, 0x00A5, 0x0160, 0x00A7,
- /* 2968 */ 0x0161, 0x00A9, 0x00AA, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x00AF,
- /* 2976 */ 0x00B0, 0x00B1, 0x00B2, 0x00B3, 0x017D, 0x00B5, 0x00B6, 0x00B7,
- /* 2984 */ 0x017E, 0x00B9, 0x00BA, 0x00BB, 0x0152, 0x0153, 0x0178, 0x00BF,
- /* 2992 */ 0x00B4, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
- /* 3000 */ 0x02BB, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
- /* 3008 */ 0x0102, 0x00C0, 0x01DE, 0x01E0, 0x01E2, 0x0114, 0x00C8, 0x01E4,
- /* 3016 */ 0x01E6, 0x01E8, 0x014E, 0x00D2, 0x01EA, 0x01EC, 0x01B7, 0x01EE,
- /* 3024 */ 0x0103, 0x00E0, 0x01DF, 0x01E1, 0x01E3, 0x0115, 0x00E8, 0x01E5,
- /* 3032 */ 0x01E7, 0x01E9, 0x014F, 0x00F2, 0x01EB, 0x01ED, 0x0292, 0x01EF,
- /* 3040 */ 0x00A0, 0x201D, 0x00A2, 0x00A3, 0x00A4, 0x00A5, 0x00A6, 0x00A7,
- /* 3048 */ 0x00D8, 0x00A9, 0x201E, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x00C6,
- /* 3056 */ 0x00F8, 0x00B9, 0x201C, 0x00BB, 0x00BC, 0x00BD, 0x00BE, 0x00E6,
- /* 3064 */ 0x012E, 0x0116, 0x0100, 0x0106, 0x00C4, 0x00C5, 0x0104, 0x010C,
- /* 3072 */ 0x0122, 0x00C9, 0x017D, 0x0118, 0x0112, 0x0136, 0x012A, 0x013B,
- /* 3080 */ 0x0141, 0x0145, 0x0143, 0x00D3, 0x014C, 0x00D5, 0x00D6, 0x00D7,
- /* 3088 */ 0x0172, 0x0160, 0x015A, 0x016A, 0x00DC, 0x017B, 0x0179, 0x00DF,
- /* 3096 */ 0x012F, 0x0117, 0x0101, 0x0107, 0x00E4, 0x00E5, 0x0105, 0x010D,
- /* 3104 */ 0x0123, 0x00E9, 0x017E, 0x0119, 0x0113, 0x0137, 0x012B, 0x013C,
- /* 3112 */ 0x0142, 0x0146, 0x0144, 0x00F3, 0x014D, 0x00F5, 0x00F6, 0x00F7,
- /* 3120 */ 0x0173, 0x0161, 0x015B, 0x016B, 0x00FC, 0x017C, 0x017A, 0x0138,
- /* 3128 */ 0x0078, 0x0079, 0x007A, 0x00E6, 0x00F8, 0x00E5, 0x007E, 0x007F,
- /* 3136 */ 0xFFFF, 0x3002, 0x300C, 0x300D, 0x3001, 0x30FB, 0x30F2, 0x30A1,
- /* 3144 */ 0x0058, 0x0059, 0x005A, 0x005B, 0x20A9, 0x005D, 0x005E, 0x005F,
- /* 3152 */ 0xFFFF, 0x00A1, 0x00A2, 0x00A3, 0xFFFF, 0x00A5, 0xFFFF, 0x00A7,
- /* 3160 */ 0x00A4, 0x00A9, 0x00AA, 0x00AB, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
- /* 3168 */ 0x00B0, 0x00B1, 0x00B2, 0x00B3, 0xFFFF, 0x00B5, 0x00B6, 0x00B7,
- /* 3176 */ 0xFFFF, 0x00B9, 0x00BA, 0x00BB, 0x00BC, 0x00BD, 0xFFFF, 0x00BF,
- /* 3184 */ 0xFFFF, 0x00D1, 0x00D2, 0x00D3, 0x00D4, 0x00D5, 0x00D6, 0x0152,
- /* 3192 */ 0x00D8, 0x00D9, 0x00DA, 0x00DB, 0x00DC, 0x0178, 0xFFFF, 0x00DF,
- /* 3200 */ 0xFFFF, 0x00F1, 0x00F2, 0x00F3, 0x00F4, 0x00F5, 0x00F6, 0x0153,
- /* 3208 */ 0x00F8, 0x00F9, 0x00FA, 0x00FB, 0x00FC, 0x00FF, 0xFFFF, 0xFFFF,
- /* 3216 */ 0x00A0, 0x00C0, 0x00C2, 0x00C8, 0x00CA, 0x00CB, 0x00CE, 0x00CF,
- /* 3224 */ 0x00B4, 0x02CB, 0x02C6, 0x00A8, 0x02DC, 0x00D9, 0x00DB, 0x20A4,
- /* 3232 */ 0x00AF, 0x00DD, 0x00FD, 0x00B0, 0x00C7, 0x00E7, 0x00D1, 0x00F1,
- /* 3240 */ 0x00A1, 0x00BF, 0x00A4, 0x00A3, 0x00A5, 0x00A7, 0x0192, 0x00A2,
- /* 3248 */ 0x00E2, 0x00EA, 0x00F4, 0x00FB, 0x00E1, 0x00E9, 0x00F3, 0x00FA,
- /* 3256 */ 0x00E0, 0x00E8, 0x00F2, 0x00F9, 0x00E4, 0x00EB, 0x00F6, 0x00FC,
- /* 3264 */ 0x00C5, 0x00EE, 0x00D8, 0x00C6, 0x00E5, 0x00ED, 0x00F8, 0x00E6,
- /* 3272 */ 0x00C4, 0x00EC, 0x00D6, 0x00DC, 0x00C9, 0x00EF, 0x00DF, 0x00D4,
- /* 3280 */ 0x00C1, 0x00C3, 0x00E3, 0x00D0, 0x00F0, 0x00CD, 0x00CC, 0x00D3,
- /* 3288 */ 0x00D2, 0x00D5, 0x00F5, 0x0160, 0x0161, 0x00DA, 0x0178, 0x00FF,
- /* 3296 */ 0x00DE, 0x00FE, 0x00B7, 0x00B5, 0x00B6, 0x00BE, 0x2014, 0x00BC,
- /* 3304 */ 0x00BD, 0x00AA, 0x00BA, 0x00AB, 0x25A0, 0x00BB, 0x00B1, 0xFFFF,
- /* 3312 */ 0x00A0, 0x00C0, 0x00C1, 0x00C2, 0x00C3, 0x00C4, 0x00C5, 0x00C7,
- /* 3320 */ 0x00D0, 0x00D1, 0x00D2, 0x00D3, 0x00D4, 0x00D5, 0x00D6, 0x00D9,
- /* 3328 */ 0x00DA, 0x00DB, 0x00DC, 0x00DD, 0x00DE, 0x00B5, 0x00D7, 0x00F7,
- /* 3336 */ 0x00A9, 0x00A1, 0x00A2, 0x00A3, 0x2044, 0x00A5, 0x0192, 0x00A7,
- /* 3344 */ 0x00A4, 0xFFFF, 0x201C, 0x00AB, 0xFFFF, 0xFFFF, 0xFB01, 0xFB02,
- /* 3352 */ 0x00AE, 0x2013, 0x2020, 0x2021, 0x00B7, 0x00A6, 0x00B6, 0x2022,
- /* 3360 */ 0xFFFF, 0xFFFF, 0x201D, 0x00BB, 0x2026, 0x2030, 0x00AC, 0x00BF,
- /* 3368 */ 0x00B9, 0x02CB, 0x00B4, 0x02C6, 0x02DC, 0x00AF, 0x02D8, 0x02D9,
- /* 3376 */ 0x00A8, 0x00B2, 0x02DA, 0x00B8, 0x00B3, 0x02DD, 0x02DB, 0x02C7,
- /* 3384 */ 0x2014, 0x00B1, 0x00BC, 0x00BD, 0x00BE, 0x00E0, 0x00E1, 0x00E2,
- /* 3392 */ 0x00E3, 0x00E4, 0x00E5, 0x00E7, 0x00E8, 0x00E9, 0x00EA, 0x00EB,
- /* 3400 */ 0x00EC, 0x00C6, 0x00ED, 0x00AA, 0x00EE, 0x00EF, 0x00F0, 0x00F1,
- /* 3408 */ 0x0141, 0x00D8, 0x0152, 0x00BA, 0x00F2, 0x00F3, 0x00F4, 0x00F5,
- /* 3416 */ 0x00F6, 0x00E6, 0x00F9, 0x00FA, 0x00FB, 0x0131, 0x00FC, 0x00FD,
- /* 3424 */ 0x0142, 0x00F8, 0x0153, 0x00DF, 0x00FE, 0x00FF, 0xFFFF, 0xFFFF,
- /* 3432 */ 0x00C4, 0x00C5, 0x00C7, 0x00C9, 0x00D1, 0x00D6, 0x00DC, 0x00E1,
- /* 3440 */ 0x00E0, 0x00E2, 0x00E4, 0x00E3, 0x00E5, 0x00E7, 0x00E9, 0x00E8,
- /* 3448 */ 0x00EA, 0x00EB, 0x00ED, 0x00EC, 0x00EE, 0x00EF, 0x00F1, 0x00F3,
- /* 3456 */ 0x00F2, 0x00F4, 0x00F6, 0x00F5, 0x00FA, 0x00F9, 0x00FB, 0x00FC,
- /* 3464 */ 0x2020, 0x00B0, 0x00A2, 0x00A3, 0x00A7, 0x2022, 0x00B6, 0x00DF,
- /* 3472 */ 0x00AE, 0x00A9, 0x2122, 0x00B4, 0x00A8, 0x2260, 0x00C6, 0x00D8,
- /* 3480 */ 0x221E, 0x00B1, 0x2264, 0x2265, 0x00A5, 0x00B5, 0x2202, 0x2211,
- /* 3488 */ 0x220F, 0x03C0, 0x222B, 0x00AA, 0x00BA, 0x03A9, 0x00E6, 0x00F8,
- /* 3496 */ 0x00BF, 0x00A1, 0x00AC, 0x221A, 0x0192, 0x2248, 0x0394, 0x00AB,
- /* 3504 */ 0x00BB, 0x2026, 0x00A0, 0x00C0, 0x00C3, 0x2126, 0x0152, 0x0153,
- /* 3512 */ 0x2013, 0x2014, 0x201C, 0x201D, 0x2018, 0x2019, 0x00F7, 0x25CA,
- /* 3520 */ 0x00FF, 0x0178, 0x2044, 0x00A4, 0x2039, 0x203A, 0xFB01, 0xFB02,
- /* 3528 */ 0x2021, 0x00B7, 0x201A, 0x201E, 0x2030, 0x00C2, 0x00CA, 0x00C1,
- /* 3536 */ 0x00CB, 0x00C8, 0x00CD, 0x00CE, 0x00CF, 0x00CC, 0x00D3, 0x00D4,
- /* 3544 */ 0xE01E, 0x00D2, 0x00DA, 0x00DB, 0x00D9, 0x0131, 0xFFFF, 0xFFFF,
- /* 3552 */ 0x00AF, 0x02D8, 0x02D9, 0x02DA, 0x00B8, 0x02DD, 0x02DB, 0x02C7,
- /* 3560 */ 0x00BB, 0x2026, 0x00A0, 0x00C0, 0x00C3, 0x00D5, 0x0152, 0x0153,
- /* 3568 */ 0x2014, 0x2013, 0x201C, 0x201D, 0x2018, 0x2019, 0x00F7, 0x25C6,
- /* 3576 */ 0x00FF, 0x0178, 0x2044, 0x00A4, 0x0110, 0x0111, 0x00DE, 0x00FE,
- /* 3584 */ 0x0000, 0x0001, 0x0002, 0x0003, 0x009C, 0x0009, 0x0086, 0x007F,
- /* 3592 */ 0x0097, 0x008D, 0x008E, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F,
- /* 3600 */ 0x0010, 0x0011, 0x0012, 0x0013, 0x009D, 0x0085, 0x0008, 0x0087,
- /* 3608 */ 0x0018, 0x0019, 0x0092, 0x008F, 0x001C, 0x001D, 0x001E, 0x001F,
- /* 3616 */ 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000A, 0x0017, 0x001B,
- /* 3624 */ 0x0088, 0x0089, 0x008A, 0x008B, 0x008C, 0x0005, 0x0006, 0x0007,
- /* 3632 */ 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004,
- /* 3640 */ 0x0098, 0x0099, 0x009A, 0x009B, 0x0014, 0x0015, 0x009E, 0x001A,
- /* 3648 */ 0x0020, 0x00A0, 0x00E2, 0x00E4, 0x00E0, 0x00E1, 0x00E3, 0x00E5,
- /* 3656 */ 0x00E7, 0x00F1, 0x00A2, 0x002E, 0x003C, 0x0028, 0x002B, 0x007C,
- /* 3664 */ 0x0026, 0x00E9, 0x00EA, 0x00EB, 0x00E8, 0x00ED, 0x00EE, 0x00EF,
- /* 3672 */ 0x00EC, 0x00DF, 0x0021, 0x0024, 0x002A, 0x0029, 0x003B, 0x00AC,
- /* 3680 */ 0x002D, 0x002F, 0x00C2, 0x00C4, 0x00C0, 0x00C1, 0x00C3, 0x00C5,
- /* 3688 */ 0x00C7, 0x00D1, 0x00A6, 0x002C, 0x0025, 0x005F, 0x003E, 0x003F,
- /* 3696 */ 0x00F8, 0x00C9, 0x00CA, 0x00CB, 0x00C8, 0x00CD, 0x00CE, 0x00CF,
- /* 3704 */ 0x00CC, 0x0060, 0x003A, 0x0023, 0x0040, 0x0027, 0x003D, 0x0022,
- /* 3712 */ 0x00D8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,
- /* 3720 */ 0x0068, 0x0069, 0x00AB, 0x00BB, 0x00F0, 0x00FD, 0x00FE, 0x00B1,
- /* 3728 */ 0x00B0, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, 0x0070,
- /* 3736 */ 0x0071, 0x0072, 0x00AA, 0x00BA, 0x00E6, 0x00B8, 0x00C6, 0x00A4,
- /* 3744 */ 0x00B5, 0x007E, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078,
- /* 3752 */ 0x0079, 0x007A, 0x00A1, 0x00BF, 0x00D0, 0x00DD, 0x00DE, 0x00AE,
- /* 3760 */ 0x005E, 0x00A3, 0x00A5, 0x00B7, 0x00A9, 0x00A7, 0x00B6, 0x00BC,
- /* 3768 */ 0x00BD, 0x00BE, 0x005B, 0x005D, 0x00AF, 0x00A8, 0x00B4, 0x00D7,
- /* 3776 */ 0x007B, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,
- /* 3784 */ 0x0048, 0x0049, 0x00AD, 0x00F4, 0x00F6, 0x00F2, 0x00F3, 0x00F5,
- /* 3792 */ 0x007D, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, 0x0050,
- /* 3800 */ 0x0051, 0x0052, 0x00B9, 0x00FB, 0x00FC, 0x00F9, 0x00FA, 0x00FF,
- /* 3808 */ 0x005C, 0x00F7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058,
- /* 3816 */ 0x0059, 0x005A, 0x00B2, 0x00D4, 0x00D6, 0x00D2, 0x00D3, 0x00D5,
- /* 3824 */ 0x0038, 0x0039, 0x00B3, 0x00DB, 0x00DC, 0x00D9, 0x00DA, 0x009F,
- /* 3832 */ 0xFFFF, 0xFFFF, 0x005B, 0x002E, 0x003C, 0x0028, 0x002B, 0x0021,
- /* 3840 */ 0x0026, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
- /* 3848 */ 0xFFFF, 0xFFFF, 0x005D, 0x0024, 0x002A, 0x0029, 0x003B, 0x005E,
- /* 3856 */ 0x002D, 0x002F, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
- /* 3864 */ 0xFFFF, 0xFFFF, 0x00A6, 0x002C, 0x0025, 0x005F, 0x003E, 0x003F,
- /* 3872 */ 0xFFFF, 0x0060, 0x003A, 0x0023, 0x0040, 0x0027, 0x003D, 0x0022,
- /* 3880 */ 0x0068, 0x0069, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
- /* 3888 */ 0xFFFF, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, 0x0070,
- /* 3896 */ 0x0071, 0x0072, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
- /* 3904 */ 0xFFFF, 0x007E, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078,
- /* 3912 */ 0x0079, 0x007A, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
- /* 3920 */ 0x0048, 0x0049, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
- /* 3928 */ 0x0051, 0x0052, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
- /* 3936 */ 0x005C, 0xFFFF, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058,
- /* 3944 */ 0x0059, 0x005A, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
- /* 3952 */ 0x0038, 0x0039, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x009F,
- /* 3960 */ 0x00E7, 0x00F1, 0x005B, 0x002E, 0x003C, 0x0028, 0x002B, 0x0021,
- /* 3968 */ 0x00EC, 0x00DF, 0x005D, 0x0024, 0x002A, 0x0029, 0x003B, 0x005E,
- /* 3976 */ 0x00A2, 0x00A3, 0x00A5, 0x20A7, 0x0192, 0x00A7, 0x00B6, 0x00BC,
- /* 3984 */ 0x00BD, 0x00BE, 0x00AC, 0x007C, 0x203E, 0x00A8, 0x00B4, 0x2017,
- /* 3992 */ 0x005C, 0x2003, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058,
- /* 4000 */ 0x0020, 0x00A0, 0x00E2, 0x007B, 0x00E0, 0x00E1, 0x00E3, 0x00E5,
- /* 4008 */ 0x00E7, 0x00F1, 0x00C4, 0x002E, 0x003C, 0x0028, 0x002B, 0x0021,
- /* 4016 */ 0x00EC, 0x007E, 0x00DC, 0x0024, 0x002A, 0x0029, 0x003B, 0x005E,
- /* 4024 */ 0x002D, 0x002F, 0x00C2, 0x005B, 0x00C0, 0x00C1, 0x00C3, 0x00C5,
- /* 4032 */ 0x00C7, 0x00D1, 0x00F6, 0x002C, 0x0025, 0x005F, 0x003E, 0x003F,
- /* 4040 */ 0x00CC, 0x0060, 0x003A, 0x0023, 0x00A7, 0x0027, 0x003D, 0x0022,
- /* 4048 */ 0x00B5, 0x00DF, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078,
- /* 4056 */ 0x00A2, 0x00A3, 0x00A5, 0x00B7, 0x00A9, 0x0040, 0x00B6, 0x00BC,
- /* 4064 */ 0x00BD, 0x00BE, 0x00AC, 0x007C, 0x203E, 0x00A8, 0x00B4, 0x00D7,
- /* 4072 */ 0x00E4, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,
- /* 4080 */ 0x0048, 0x0049, 0x00AD, 0x00F4, 0x00A6, 0x00F2, 0x00F3, 0x00F5,
- /* 4088 */ 0x00FC, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, 0x0050,
- /* 4096 */ 0x0051, 0x0052, 0x00B9, 0x00FB, 0x007D, 0x00F9, 0x00FA, 0x00FF,
- /* 4104 */ 0x00D6, 0x00F7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058,
- /* 4112 */ 0x0059, 0x005A, 0x00B2, 0x00D4, 0x005C, 0x00D2, 0x00D3, 0x00D5,
- /* 4120 */ 0x0038, 0x0039, 0x00B3, 0x00DB, 0x005D, 0x00D9, 0x00DA, 0x009F,
- /* 4128 */ 0xFFFF, 0xFFFF, 0x00F9, 0x002C, 0x0025, 0x005F, 0x003E, 0x003F,
- /* 4136 */ 0xFFFF, 0x0060, 0x003A, 0x0023, 0x00E0, 0x0027, 0x003D, 0x0022,
- /* 4144 */ 0xFFFF, 0x00A8, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078,
- /* 4152 */ 0x00E9, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,
- /* 4160 */ 0x00E8, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, 0x0050,
- /* 4168 */ 0x00E7, 0xFFFF, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058,
- /* 4176 */ 0xFFFF, 0xFFFF, 0x00C9, 0x002E, 0x003C, 0x0028, 0x002B, 0x0021,
- /* 4184 */ 0xFFFF, 0xFFFF, 0x0024, 0x00C7, 0x002A, 0x0029, 0x003B, 0x005E,
- /* 4192 */ 0xFFFF, 0xFFFF, 0x00E7, 0x002C, 0x0025, 0x005F, 0x003E, 0x003F,
- /* 4200 */ 0xFFFF, 0x00E3, 0x003A, 0x00D5, 0x00C3, 0x0027, 0x003D, 0x0022,
- /* 4208 */ 0x00F5, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,
- /* 4216 */ 0x00E9, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, 0x0050,
- /* 4224 */ 0x0020, 0x00A0, 0x00E2, 0x00E4, 0x00E0, 0x00E1, 0x00E3, 0x007D,
- /* 4232 */ 0x00E7, 0x00F1, 0x0023, 0x002E, 0x003C, 0x0028, 0x002B, 0x0021,
- /* 4240 */ 0x00EC, 0x00DF, 0x00A4, 0x00C5, 0x002A, 0x0029, 0x003B, 0x005E,
- /* 4248 */ 0x002D, 0x002F, 0x00C2, 0x00C4, 0x00C0, 0x00C1, 0x00C3, 0x0024,
- /* 4256 */ 0x00C7, 0x00D1, 0x00F8, 0x002C, 0x0025, 0x005F, 0x003E, 0x003F,
- /* 4264 */ 0x00A6, 0x00C9, 0x00CA, 0x00CB, 0x00C8, 0x00CD, 0x00CE, 0x00CF,
- /* 4272 */ 0x00CC, 0x0060, 0x003A, 0x00C6, 0x00D8, 0x0027, 0x003D, 0x0022,
- /* 4280 */ 0x0040, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,
- /* 4288 */ 0x0071, 0x0072, 0x00AA, 0x00BA, 0x007B, 0x00B8, 0x005B, 0x005D,
- /* 4296 */ 0x00B5, 0x00FC, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078,
- /* 4304 */ 0x00A2, 0x00A3, 0x00A5, 0x00B7, 0x00A9, 0x00A7, 0x00B6, 0x00BC,
- /* 4312 */ 0x00E6, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,
- /* 4320 */ 0x00E5, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, 0x0050,
- /* 4328 */ 0x0051, 0x0052, 0x00B9, 0x00FB, 0x007E, 0x00F9, 0x00FA, 0x00FF,
- /* 4336 */ 0x0020, 0x00A0, 0x00E2, 0x007B, 0x00E0, 0x00E1, 0x00E3, 0x007D,
- /* 4344 */ 0x00E7, 0x00F1, 0x00A7, 0x002E, 0x003C, 0x0028, 0x002B, 0x0021,
- /* 4352 */ 0x0026, 0x0060, 0x00EA, 0x00EB, 0x00E8, 0x00ED, 0x00EE, 0x00EF,
- /* 4360 */ 0x002D, 0x002F, 0x00C2, 0x0023, 0x00C0, 0x00C1, 0x00C3, 0x0024,
- /* 4368 */ 0x00CC, 0x00E9, 0x003A, 0x00C4, 0x00D6, 0x0027, 0x003D, 0x0022,
- /* 4376 */ 0x0071, 0x0072, 0x00AA, 0x00BA, 0x00E6, 0x00B8, 0x00C6, 0x005D,
- /* 4384 */ 0x00A2, 0x00A3, 0x00A5, 0x00B7, 0x00A9, 0x005B, 0x00B6, 0x00BC,
- /* 4392 */ 0x0059, 0x005A, 0x00B2, 0x00D4, 0x0040, 0x00D2, 0x00D3, 0x00D5,
- /* 4400 */ 0x0020, 0x00A0, 0x00E2, 0x00E4, 0x007B, 0x00E1, 0x00E3, 0x00E5,
- /* 4408 */ 0x005C, 0x00F1, 0x00B0, 0x002E, 0x003C, 0x0028, 0x002B, 0x0021,
- /* 4416 */ 0x0026, 0x005D, 0x00EA, 0x00EB, 0x007D, 0x00ED, 0x00EE, 0x00EF,
- /* 4424 */ 0x007E, 0x00DF, 0x00E9, 0x0024, 0x002A, 0x0029, 0x003B, 0x005E,
- /* 4432 */ 0x00C7, 0x00D1, 0x00F2, 0x002C, 0x0025, 0x005F, 0x003E, 0x003F,
- /* 4440 */ 0x00CC, 0x00F9, 0x003A, 0x00A3, 0x00A7, 0x0027, 0x003D, 0x0022,
- /* 4448 */ 0x005B, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, 0x0070,
- /* 4456 */ 0x00B5, 0x00EC, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078,
- /* 4464 */ 0x00A2, 0x0023, 0x00A5, 0x00B7, 0x00A9, 0x0040, 0x00B6, 0x00BC,
- /* 4472 */ 0x0048, 0x0049, 0x00AD, 0x00F4, 0x00F6, 0x00A6, 0x00F3, 0x00F5,
- /* 4480 */ 0x0051, 0x0052, 0x00B9, 0x00FB, 0x00FC, 0x0060, 0x00FA, 0x00FF,
- /* 4488 */ 0x00E7, 0x00F7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058,
- /* 4496 */ 0xFFFF, 0xFFFF, 0x00A3, 0x002E, 0x003C, 0x0028, 0x002B, 0x007C,
- /* 4504 */ 0xFFFF, 0xFFFF, 0x0021, 0x00A5, 0x002A, 0x0029, 0x003B, 0x00AC,
- /* 4512 */ 0xFFFF, 0x203E, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078,
- /* 4520 */ 0x0024, 0xFFFF, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058,
- /* 4528 */ 0x00E7, 0x00A6, 0x005B, 0x002E, 0x003C, 0x0028, 0x002B, 0x007C,
- /* 4536 */ 0x00EC, 0x00DF, 0x005D, 0x0024, 0x002A, 0x0029, 0x003B, 0x00AC,
- /* 4544 */ 0x00C7, 0x0023, 0x00F1, 0x002C, 0x0025, 0x005F, 0x003E, 0x003F,
- /* 4552 */ 0x00CC, 0x0060, 0x003A, 0x00D1, 0x0040, 0x0027, 0x003D, 0x0022,
- /* 4560 */ 0x00B5, 0x00A8, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078,
- /* 4568 */ 0x00BD, 0x00BE, 0x005E, 0x0021, 0x203E, 0x007E, 0x00B4, 0x00D7,
- /* 4576 */ 0x00E7, 0x00F1, 0x0024, 0x002E, 0x003C, 0x0028, 0x002B, 0x007C,
- /* 4584 */ 0x00EC, 0x00DF, 0x0021, 0x00A3, 0x002A, 0x0029, 0x003B, 0x00AC,
- /* 4592 */ 0x00B5, 0x203E, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078,
- /* 4600 */ 0x00A2, 0x005B, 0x00A5, 0x00B7, 0x00A9, 0x00A7, 0x00B6, 0x00BC,
- /* 4608 */ 0x00BD, 0x00BE, 0x005E, 0x005D, 0x007E, 0x00A8, 0x00B4, 0x00D7,
- /* 4616 */ 0x30A3, 0x30A5, 0x00A3, 0x002E, 0x003C, 0x0028, 0x002B, 0x007C,
- /* 4624 */ 0x0026, 0x30A7, 0x30A9, 0x30E3, 0x30E5, 0x30E7, 0x30C3, 0xFFFF,
- /* 4632 */ 0x30FC, 0xFFFF, 0x0021, 0x00A5, 0x002A, 0x0029, 0x003B, 0x00AC,
- /* 4640 */ 0xFFFF, 0x30A2, 0x30A4, 0x30A6, 0x30A8, 0x30AA, 0x30AB, 0x30AD,
- /* 4648 */ 0x30AF, 0x30B1, 0x30B3, 0xFFFF, 0x30B5, 0x30B7, 0x30B9, 0x30BB,
- /* 4656 */ 0x30BD, 0x30BF, 0x30C1, 0x30C4, 0x30C6, 0x30C8, 0x30CA, 0x30CB,
- /* 4664 */ 0x30CC, 0x30CD, 0x30CE, 0xFFFF, 0xFFFF, 0x30CF, 0x30D2, 0x30D5,
- /* 4672 */ 0xFFFF, 0x203E, 0x30D8, 0x30DB, 0x30DE, 0x30DF, 0x30E0, 0x30E1,
- /* 4680 */ 0x30E2, 0x30E4, 0x30E6, 0xFFFF, 0x30E8, 0x30E9, 0x30EA, 0x30EB,
- /* 4688 */ 0xFFFF, 0xFFFF, 0x30EC, 0x30ED, 0x30EF, 0x30F3, 0x309B, 0x309C,
- /* 4696 */ 0xFFFF, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, 0x0050,
- /* 4704 */ 0x0020, 0x00A0, 0x00E2, 0x00E4, 0x0040, 0x00E1, 0x00E3, 0x00E5,
- /* 4712 */ 0x0026, 0x007B, 0x00EA, 0x00EB, 0x007D, 0x00ED, 0x00EE, 0x00EF,
- /* 4720 */ 0x00EC, 0x00DF, 0x00A7, 0x0024, 0x002A, 0x0029, 0x003B, 0x005E,
- /* 4728 */ 0x00C7, 0x00D1, 0x00F9, 0x002C, 0x0025, 0x005F, 0x003E, 0x003F,
- /* 4736 */ 0x00CC, 0x00B5, 0x003A, 0x00A3, 0x00E0, 0x0027, 0x003D, 0x0022,
- /* 4744 */ 0x0060, 0x00A8, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078,
- /* 4752 */ 0x00A2, 0x0023, 0x00A5, 0x00B7, 0x00A9, 0x005D, 0x00B6, 0x00BC,
- /* 4760 */ 0x00BD, 0x00BE, 0x00AC, 0x007C, 0x203E, 0x007E, 0x00B4, 0x00D7,
- /* 4768 */ 0x0051, 0x0052, 0x00B9, 0x00FB, 0x00FC, 0x00A6, 0x00FA, 0x00FF,
- /* 4776 */ 0x0020, 0x00A0, 0x0651, 0xFE7D, 0x0640, 0xFFFF, 0x0621, 0x0622,
- /* 4784 */ 0xFE82, 0x0623, 0x00A2, 0x002E, 0x003C, 0x0028, 0x002B, 0x007C,
- /* 4792 */ 0x0026, 0xFE84, 0x0624, 0xFFFF, 0xFFFF, 0x0626, 0x0627, 0xFE8E,
- /* 4800 */ 0x0628, 0xFE91, 0x0021, 0x0024, 0x002A, 0x0029, 0x003B, 0x00AC,
- /* 4808 */ 0x002D, 0x002F, 0x0629, 0x062A, 0xFE97, 0x062B, 0xFE9B, 0x062C,
- /* 4816 */ 0xFE9F, 0x062D, 0x00A6, 0x002C, 0x0025, 0x005F, 0x003E, 0x003F,
- /* 4824 */ 0xFEA3, 0x062E, 0xFEA7, 0x062F, 0x0630, 0x0631, 0x0632, 0x0633,
- /* 4832 */ 0xFEB3, 0x060C, 0x003A, 0x0023, 0x0040, 0x0027, 0x003D, 0x0022,
- /* 4840 */ 0x0634, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,
- /* 4848 */ 0x0068, 0x0069, 0xFEB7, 0x0635, 0xFEBB, 0x0636, 0xFEBF, 0x0637,
- /* 4856 */ 0x0638, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, 0x0070,
- /* 4864 */ 0x0071, 0x0072, 0x0639, 0xFECA, 0xFECB, 0xFECC, 0x063A, 0xFECE,
- /* 4872 */ 0xFECF, 0x00F7, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078,
- /* 4880 */ 0x0079, 0x007A, 0xFED0, 0x0641, 0xFED3, 0x0642, 0xFED7, 0x0643,
- /* 4888 */ 0xFEDB, 0x0644, 0xFEF5, 0xFEF6, 0xFEF7, 0xFEF8, 0xFFFF, 0xFFFF,
- /* 4896 */ 0xFEFB, 0xFEFC, 0xFEDF, 0x0645, 0xFEE3, 0x0646, 0xFEE7, 0x0647,
- /* 4904 */ 0x061B, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,
- /* 4912 */ 0x0048, 0x0049, 0x00AD, 0xFEEB, 0xFFFF, 0xFEEC, 0xFFFF, 0x0648,
- /* 4920 */ 0x061F, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, 0x0050,
- /* 4928 */ 0x0051, 0x0052, 0x0649, 0xFEF0, 0x064A, 0xFEF2, 0xFEF3, 0x0660,
- /* 4936 */ 0x00D7, 0xFFFF, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058,
- /* 4944 */ 0x0059, 0x005A, 0x0661, 0x0662, 0xFFFF, 0x0663, 0x0664, 0x0665,
- /* 4952 */ 0x0038, 0x0039, 0xFFFF, 0x0666, 0x0667, 0x0668, 0x0669, 0x009F,
- /* 4960 */ 0x0020, 0x0391, 0x0392, 0x0393, 0x0394, 0x0395, 0x0396, 0x0397,
- /* 4968 */ 0x0398, 0x0399, 0x005B, 0x002E, 0x003C, 0x0028, 0x002B, 0x0021,
- /* 4976 */ 0x0026, 0x039A, 0x039B, 0x039C, 0x039D, 0x039E, 0x039F, 0x03A0,
- /* 4984 */ 0x03A1, 0x03A3, 0x005D, 0x0024, 0x002A, 0x0029, 0x003B, 0x005E,
- /* 4992 */ 0x002D, 0x002F, 0x03A4, 0x03A5, 0x03A6, 0x03A7, 0x03A8, 0x03A9,
- /* 5000 */ 0xFFFF, 0xFFFF, 0xFFFF, 0x002C, 0x0025, 0x005F, 0x003E, 0x003F,
- /* 5008 */ 0xFFFF, 0x0386, 0x0388, 0x0389, 0xFFFF, 0x038A, 0x038C, 0x038E,
- /* 5016 */ 0x038F, 0x0060, 0x003A, 0x00A3, 0x00A7, 0x0027, 0x003D, 0x0022,
- /* 5024 */ 0x00C4, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,
- /* 5032 */ 0x0068, 0x0069, 0x03B1, 0x03B2, 0x03B3, 0x03B4, 0x03B5, 0x03B6,
- /* 5040 */ 0x00D6, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, 0x0070,
- /* 5048 */ 0x0071, 0x0072, 0x03B7, 0x03B8, 0x03B9, 0x03BA, 0x03BB, 0x03BC,
- /* 5056 */ 0x00DC, 0x00A8, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078,
- /* 5064 */ 0x0079, 0x007A, 0x03BD, 0x03BE, 0x03BF, 0x03C0, 0x03C1, 0x03C2,
- /* 5072 */ 0xFFFF, 0x03AC, 0x03AD, 0x03AE, 0x03CA, 0x03AF, 0x03CC, 0x03CD,
- /* 5080 */ 0x03CB, 0x03CE, 0x03C3, 0x03C4, 0x03C5, 0x03C6, 0x03C7, 0x03C8,
- /* 5088 */ 0x00B8, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,
- /* 5096 */ 0x0048, 0x0049, 0xFFFF, 0x03C9, 0x00C2, 0x00E0, 0x00E4, 0x00EA,
- /* 5104 */ 0x00B4, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, 0x0050,
- /* 5112 */ 0x0051, 0x0052, 0x00B1, 0x00E9, 0x00E8, 0x00EB, 0x00EE, 0x00EF,
- /* 5120 */ 0x00B0, 0xFFFF, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058,
- /* 5128 */ 0x0059, 0x005A, 0x00BD, 0x00F6, 0x00F4, 0x00FB, 0x00F9, 0x00FC,
- /* 5136 */ 0x0038, 0x0039, 0x00FF, 0x00E7, 0x00C7, 0xFFFF, 0xFFFF, 0x009F,
- /* 5144 */ 0x0020, 0x05D0, 0x05D1, 0x05D2, 0x05D3, 0x05D4, 0x05D5, 0x05D6,
- /* 5152 */ 0x05D7, 0x05D8, 0x00A2, 0x002E, 0x003C, 0x0028, 0x002B, 0x007C,
- /* 5160 */ 0x0026, 0x05D9, 0x05DA, 0x05DB, 0x05DC, 0x05DD, 0x05DE, 0x05DF,
- /* 5168 */ 0x05E0, 0x05E1, 0x0021, 0x0024, 0x002A, 0x0029, 0x003B, 0x00AC,
- /* 5176 */ 0x002D, 0x002F, 0x05E2, 0x05E3, 0x05E4, 0x05E5, 0x05E6, 0x05E7,
- /* 5184 */ 0x05E8, 0x05E9, 0x00A6, 0x002C, 0x0025, 0x005F, 0x003E, 0x003F,
- /* 5192 */ 0xFFFF, 0x05EA, 0xFFFF, 0xFFFF, 0x00A0, 0xFFFF, 0xFFFF, 0xFFFF,
- /* 5200 */ 0x21D4, 0x0060, 0x003A, 0x0023, 0x0040, 0x0027, 0x003D, 0x0022,
- /* 5208 */ 0x0068, 0x0069, 0x00AB, 0x00BB, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
- /* 5216 */ 0x0071, 0x0072, 0xFFFF, 0xFFFF, 0xFFFF, 0x00B8, 0xFFFF, 0x00A4,
- /* 5224 */ 0x0079, 0x007A, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x00AE,
- /* 5232 */ 0x00BD, 0x00BE, 0x005B, 0x005D, 0x203E, 0x00A8, 0x00B4, 0x00D7,
- /* 5240 */ 0x0048, 0x0049, 0x00AD, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
- /* 5248 */ 0x0051, 0x0052, 0x00B9, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
- /* 5256 */ 0x0059, 0x005A, 0x00B2, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
- /* 5264 */ 0x0038, 0x0039, 0x00B3, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x009F,
- /* 5272 */ 0x00C7, 0x00FC, 0x00E9, 0x00E2, 0x00E4, 0x00E0, 0x00E5, 0x00E7,
- /* 5280 */ 0x00EA, 0x00EB, 0x00E8, 0x00EF, 0x00EE, 0x00EC, 0x00C4, 0x00C5,
- /* 5288 */ 0x00C9, 0x00E6, 0x00C6, 0x00F4, 0x00F6, 0x00F2, 0x00FB, 0x00F9,
- /* 5296 */ 0x00FF, 0x00D6, 0x00DC, 0x00A2, 0x00A3, 0x00A5, 0x20A7, 0x0192,
- /* 5304 */ 0x00E1, 0x00ED, 0x00F3, 0x00FA, 0x00F1, 0x00D1, 0x00AA, 0x00BA,
- /* 5312 */ 0x00BF, 0x2310, 0x00AC, 0x00BD, 0x00BC, 0x00A1, 0x00AB, 0x00BB,
- /* 5320 */ 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556,
- /* 5328 */ 0x2555, 0x2563, 0x2551, 0x2557, 0x255D, 0x255C, 0x255B, 0x2510,
- /* 5336 */ 0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C, 0x255E, 0x255F,
- /* 5344 */ 0x255A, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256C, 0x2567,
- /* 5352 */ 0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256B,
- /* 5360 */ 0x256A, 0x2518, 0x250C, 0x2588, 0x2584, 0x258C, 0x2590, 0x2580,
- /* 5368 */ 0x03B1, 0x00DF, 0x0393, 0x03C0, 0x03A3, 0x03C3, 0x00B5, 0x03C4,
- /* 5376 */ 0x03A6, 0x0398, 0x03A9, 0x03B4, 0x221E, 0x03C6, 0x03B5, 0x2229,
- /* 5384 */ 0x2261, 0x00B1, 0x2265, 0x2264, 0x2320, 0x2321, 0x00F7, 0x2248,
- /* 5392 */ 0x00B0, 0x00B7, 0x2022, 0x221A, 0x207F, 0x00B2, 0x25A0, 0x00A0,
- /* 5400 */ 0x00BD, 0x00BE, 0x00AC, 0x007C, 0x00AF, 0x00A8, 0x00B4, 0x00D7,
- /* 5408 */ 0x00FF, 0x00D6, 0x00DC, 0x00F8, 0x00A3, 0x00D8, 0x00D7, 0x0192,
- /* 5416 */ 0x00BF, 0x00AE, 0x00AC, 0x00BD, 0x00BC, 0x00A1, 0x00AB, 0x00BB,
- /* 5424 */ 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x00C1, 0x00C2, 0x00C0,
- /* 5432 */ 0x00A9, 0x2563, 0x2551, 0x2557, 0x255D, 0x00A2, 0x00A5, 0x2510,
- /* 5440 */ 0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C, 0x00E3, 0x00C3,
- /* 5448 */ 0x255A, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256C, 0x00A4,
- /* 5456 */ 0x00F0, 0x00D0, 0x00CA, 0x00CB, 0x00C8, 0x0131, 0x00CD, 0x00CE,
- /* 5464 */ 0x00CF, 0x2518, 0x250C, 0x2588, 0x2584, 0x00A6, 0x00CC, 0x2580,
- /* 5472 */ 0x00D3, 0x00DF, 0x00D4, 0x00D2, 0x00F5, 0x00D5, 0x00B5, 0x00FE,
- /* 5480 */ 0x00DE, 0x00DA, 0x00DB, 0x00D9, 0x00FD, 0x00DD, 0x00AF, 0x00B4,
- /* 5488 */ 0x00AD, 0x00B1, 0x2017, 0x00BE, 0x00B6, 0x00A7, 0x00F7, 0x00B8,
- /* 5496 */ 0x00B0, 0x00A8, 0x00B7, 0x00B9, 0x00B3, 0x00B2, 0x25A0, 0x00A0,
- /* 5504 */ 0x00C7, 0x00FC, 0x00E9, 0x00E2, 0x00E4, 0x00E0, 0x0386, 0x00E7,
- /* 5512 */ 0x00EA, 0x00EB, 0x00E8, 0x00EF, 0x00EE, 0x0388, 0x00C4, 0x0389,
- /* 5520 */ 0x038A, 0xFFFF, 0x038C, 0x00F4, 0x00F6, 0x038E, 0x00FB, 0x00F9,
- /* 5528 */ 0x038F, 0x00D6, 0x00DC, 0x03AC, 0x00A3, 0x03AD, 0x03AE, 0x03AF,
- /* 5536 */ 0x03CA, 0x0390, 0x03CC, 0x03CD, 0x0391, 0x0392, 0x0393, 0x0394,
- /* 5544 */ 0x0395, 0x0396, 0x0397, 0x00BD, 0x0398, 0x0399, 0x00AB, 0x00BB,
- /* 5552 */ 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x039A, 0x039B, 0x039D,
- /* 5560 */ 0x039C, 0x2563, 0x2551, 0x2557, 0x255D, 0x039E, 0x039F, 0x2510,
- /* 5568 */ 0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C, 0x03A0, 0x03A1,
- /* 5576 */ 0x255A, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256C, 0x03A3,
- /* 5584 */ 0x03A4, 0x03A5, 0x03A6, 0x03A7, 0x03A8, 0x03A9, 0x03B1, 0x03B2,
- /* 5592 */ 0x03B3, 0x2518, 0x250C, 0x2588, 0x2584, 0x03B4, 0x03B5, 0x2580,
- /* 5600 */ 0x03B6, 0x03B7, 0x03B8, 0x03B9, 0x03BA, 0x03BB, 0x03BC, 0x03BD,
- /* 5608 */ 0x03BE, 0x03BF, 0x03C0, 0x03C1, 0x03C3, 0x03C2, 0x03C4, 0x00B4,
- /* 5616 */ 0x00AD, 0x00B1, 0x03C5, 0x03C6, 0x03C7, 0x00A7, 0x03C8, 0x02DB,
- /* 5624 */ 0x00B0, 0x00A8, 0x03C9, 0x03CB, 0x03B0, 0x03CE, 0x25A0, 0x00A0,
- /* 5632 */ 0x00C7, 0x00FC, 0x00E9, 0x00E2, 0x00E4, 0x016F, 0x0107, 0x00E7,
- /* 5640 */ 0x0142, 0x00EB, 0x0150, 0x0151, 0x00EE, 0x0179, 0x00C4, 0x0106,
- /* 5648 */ 0x00C9, 0x0139, 0x013A, 0x00F4, 0x00F6, 0x013D, 0x013E, 0x015A,
- /* 5656 */ 0x015B, 0x00D6, 0x00DC, 0x0164, 0x0165, 0x0141, 0x00D7, 0x010D,
- /* 5664 */ 0x00E1, 0x00ED, 0x00F3, 0x00FA, 0x0104, 0x0105, 0x017D, 0x017E,
- /* 5672 */ 0x0118, 0x0119, 0x00AC, 0x017A, 0x010C, 0x015F, 0x00AB, 0x00BB,
- /* 5680 */ 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x00C1, 0x00C2, 0x011A,
- /* 5688 */ 0x015E, 0x2563, 0x2551, 0x2557, 0x255D, 0x017B, 0x017C, 0x2510,
- /* 5696 */ 0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C, 0x0102, 0x0103,
- /* 5704 */ 0x0111, 0x0110, 0x010E, 0x00CB, 0x010F, 0x0147, 0x00CD, 0x00CE,
- /* 5712 */ 0x011B, 0x2518, 0x250C, 0x2588, 0x2584, 0x0162, 0x016E, 0x2580,
- /* 5720 */ 0x00D3, 0x00DF, 0x00D4, 0x0143, 0x0144, 0x0148, 0x0160, 0x0161,
- /* 5728 */ 0x0154, 0x00DA, 0x0155, 0x0170, 0x00FD, 0x00DD, 0x0163, 0x00B4,
- /* 5736 */ 0x00AD, 0x02DD, 0x02DB, 0x02C7, 0x02D8, 0x00A7, 0x00F7, 0x00B8,
- /* 5744 */ 0x00B0, 0x00A8, 0x02D9, 0x0171, 0x0158, 0x0159, 0x25A0, 0x00A0,
- /* 5752 */ 0x0452, 0x0402, 0x0453, 0x0403, 0x0451, 0x0401, 0x0454, 0x0404,
- /* 5760 */ 0x0455, 0x0405, 0x0456, 0x0406, 0x0457, 0x0407, 0x0458, 0x0408,
- /* 5768 */ 0x0459, 0x0409, 0x045A, 0x040A, 0x045B, 0x0093, 0x045C, 0x040C,
- /* 5776 */ 0x045E, 0x040E, 0x045F, 0x040F, 0x044E, 0x042E, 0x044A, 0x042A,
- /* 5784 */ 0x0430, 0x0410, 0x0431, 0x0411, 0x0446, 0x0426, 0x0434, 0x0414,
- /* 5792 */ 0x0435, 0x0415, 0x0444, 0x0424, 0x0433, 0x0413, 0x00AB, 0x00BB,
- /* 5800 */ 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x0445, 0x0425, 0x0438,
- /* 5808 */ 0x0418, 0x2563, 0x2551, 0x2557, 0x255D, 0x0439, 0x0419, 0x2510,
- /* 5816 */ 0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C, 0x043A, 0x041A,
- /* 5824 */ 0x043B, 0x041B, 0x043C, 0x041C, 0x043D, 0x041D, 0x043E, 0x041E,
- /* 5832 */ 0x043F, 0x2518, 0x250C, 0x2588, 0x2584, 0x041F, 0x044F, 0x2580,
- /* 5840 */ 0x042F, 0x0440, 0x0420, 0x0441, 0x0421, 0x0442, 0x0422, 0x0443,
- /* 5848 */ 0x0423, 0x0436, 0x0416, 0x0432, 0x0412, 0x044C, 0x042C, 0x00B4,
- /* 5856 */ 0x00AD, 0x044B, 0x042B, 0x0437, 0x0417, 0x0448, 0x0428, 0x044D,
- /* 5864 */ 0x042D, 0x0449, 0x0429, 0x0447, 0x0427, 0xFFFF, 0x25A0, 0x00A0,
- /* 5872 */ 0x00EA, 0x00EB, 0x00E8, 0x00EF, 0x00EE, 0x0131, 0x00C4, 0x00C5,
- /* 5880 */ 0x0130, 0x00D6, 0x00DC, 0x00F8, 0x00A3, 0x00D8, 0x015E, 0x015F,
- /* 5888 */ 0x00E1, 0x00ED, 0x00F3, 0x00FA, 0x00F1, 0x00D1, 0x011E, 0x011F,
- /* 5896 */ 0x00BA, 0x00AA, 0x00CA, 0x00CB, 0x00C8, 0xFFFF, 0x00CD, 0x00CE,
- /* 5904 */ 0x00D3, 0x00DF, 0x00D4, 0x00D2, 0x00F5, 0x00D5, 0x00B5, 0xFFFF,
- /* 5912 */ 0x00D7, 0x00DA, 0x00DB, 0x00D9, 0x00EC, 0x00FF, 0x2014, 0x00B4,
- /* 5920 */ 0x00AD, 0x00B1, 0xFFFF, 0x00BE, 0x00B6, 0x00A7, 0x00F7, 0x02DB,
- /* 5928 */ 0x00B0, 0x00A8, 0x02D9, 0x00B9, 0x00B3, 0x00B2, 0x25A0, 0x00A0,
- /* 5936 */ 0x00C7, 0x00FC, 0x00E9, 0x00E2, 0x00E3, 0x00E0, 0x00C1, 0x00E7,
- /* 5944 */ 0x00EA, 0x00CA, 0x00E8, 0x00CE, 0x00D4, 0x00EC, 0x00C3, 0x00C2,
- /* 5952 */ 0x00C9, 0x00C0, 0x00C8, 0x00F4, 0x00F5, 0x00F2, 0x00DA, 0x00F9,
- /* 5960 */ 0x00CC, 0x00D5, 0x00DC, 0x00A2, 0x00A3, 0x00D9, 0x20A7, 0x00D2,
- /* 5968 */ 0x00BF, 0x00D3, 0x00AC, 0x00BD, 0x00BC, 0x00A1, 0x00AB, 0x00BB,
- /* 5976 */ 0x00EA, 0x00EB, 0x00E8, 0x00D0, 0x00F0, 0x00DE, 0x00C4, 0x00C5,
- /* 5984 */ 0x00C9, 0x00E6, 0x00C6, 0x00F4, 0x00F6, 0x00FE, 0x00FB, 0x00DD,
- /* 5992 */ 0x00FD, 0x00D6, 0x00DC, 0x00F8, 0x00A3, 0x00D8, 0x20A7, 0x00D2,
- /* 6000 */ 0x00E1, 0x00ED, 0x00F3, 0x00FA, 0x00C1, 0x00CD, 0x00D3, 0x00DA,
- /* 6008 */ 0x00BF, 0xFFFF, 0x00AC, 0x00BD, 0x00BC, 0x00A1, 0x00AB, 0x00BB,
- /* 6016 */ 0x05E8, 0x05E9, 0x05EA, 0x00A2, 0x00A3, 0x00D9, 0x20A7, 0x00D2,
- /* 6024 */ 0x00C7, 0x00FC, 0x00E9, 0x00E2, 0x00C2, 0x00E0, 0x00B6, 0x00E7,
- /* 6032 */ 0x00EA, 0x00EB, 0x00E8, 0x00EF, 0x00EE, 0x00EC, 0x00C0, 0x00A7,
- /* 6040 */ 0x00C9, 0x00C8, 0x00CA, 0x00F4, 0x00CB, 0x00CF, 0x00FB, 0x00F9,
- /* 6048 */ 0x00A4, 0x00D4, 0x00DC, 0x00A2, 0x00A3, 0x00D9, 0x00DB, 0x0192,
- /* 6056 */ 0x00A6, 0x00B4, 0x00F3, 0x00FA, 0x00A8, 0x00B8, 0x00B3, 0x00AF,
- /* 6064 */ 0x00CE, 0x2310, 0x00AC, 0x00BD, 0x00BC, 0x00BE, 0x00AB, 0x00BB,
- /* 6072 */ 0x03A6, 0x0398, 0x03A9, 0x03B4, 0x221E, 0x2205, 0x03B5, 0x2229,
- /* 6080 */ 0x2218, 0x00B7, 0x2022, 0x221A, 0x207F, 0x00B2, 0x25A0, 0x00A0,
- /* 6088 */ 0x00B0, 0x00B7, 0x2218, 0x221A, 0x2592, 0x2500, 0x2502, 0x253C,
- /* 6096 */ 0x2524, 0x252C, 0x251C, 0x2534, 0x2510, 0x250C, 0x2514, 0x2518,
- /* 6104 */ 0x00DF, 0x221E, 0x00F8, 0x00B1, 0x00BD, 0x00BC, 0x2248, 0x00AB,
- /* 6112 */ 0x00BB, 0xFEF7, 0xFEF8, 0xFFFF, 0xFFFF, 0xFEFB, 0xFEFC, 0xE016,
- /* 6120 */ 0xFFFF, 0x00AD, 0xFE82, 0x00A3, 0x00A4, 0xFE84, 0xFFFF, 0xFFFF,
- /* 6128 */ 0xFE8E, 0x0628, 0x062A, 0x062B, 0x060C, 0x062C, 0x062D, 0x062E,
- /* 6136 */ 0x0660, 0x0661, 0x0662, 0x0663, 0x0664, 0x0665, 0x0666, 0x0667,
- /* 6144 */ 0x0668, 0x0669, 0x06A4, 0x061B, 0x0633, 0x0634, 0x0635, 0x061F,
- /* 6152 */ 0x00A2, 0x0621, 0x0622, 0x0623, 0x0624, 0xFECA, 0x0626, 0x0627,
- /* 6160 */ 0xFE91, 0x0629, 0xFE97, 0xFE9B, 0xFE9F, 0xFEA3, 0xFEA7, 0x062F,
- /* 6168 */ 0x0630, 0x0631, 0x0632, 0xFEB3, 0xFEB7, 0xFEBB, 0xFEBF, 0x0637,
- /* 6176 */ 0x0638, 0xFECB, 0xFECF, 0x00A6, 0x00AC, 0x00F7, 0x00D7, 0x0639,
- /* 6184 */ 0x0640, 0xFED2, 0xFED6, 0xFEDB, 0xFEDE, 0xFEE3, 0xFEE6, 0xFEEB,
- /* 6192 */ 0x0648, 0x0649, 0xFEF3, 0x0636, 0xFEE2, 0xFECE, 0x063A, 0x0645,
- /* 6200 */ 0xFE7D, 0x0651, 0x0646, 0x0647, 0xFEEC, 0xFEF0, 0xFEF2, 0x0641,
- /* 6208 */ 0x0642, 0xFEF5, 0xFEF6, 0x0644, 0x0643, 0x064A, 0x25A0, 0x00A0,
- /* 6216 */ 0x00FF, 0x00D6, 0x00DC, 0x00F8, 0x00A3, 0x00D8, 0x20A7, 0x0192,
- /* 6224 */ 0x0668, 0x0669, 0x060C, 0x061B, 0x061F, 0x0622, 0x0627, 0xFE8E,
- /* 6232 */ 0xE016, 0x0628, 0xFE91, 0x067E, 0xFFFF, 0x0629, 0x062A, 0xFE97,
- /* 6240 */ 0xFFFF, 0xFFFF, 0x062B, 0xFE9B, 0x062C, 0xFE9F, 0xFFFF, 0xFFFF,
- /* 6248 */ 0x062D, 0xFEA3, 0x062E, 0xFEA7, 0x062F, 0xFFFF, 0x0630, 0x0631,
- /* 6256 */ 0xFFFF, 0x0632, 0xFFFF, 0x0633, 0xFEB3, 0x0634, 0x00AB, 0x00BB,
- /* 6264 */ 0xFEB7, 0x0635, 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0xFEBB,
- /* 6272 */ 0x0636, 0xFEBF, 0x0637, 0x2563, 0x2551, 0x2557, 0x255D, 0x0638,
- /* 6280 */ 0x0639, 0x2510, 0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C,
- /* 6288 */ 0xFECA, 0xFECB, 0x255A, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550,
- /* 6296 */ 0x256C, 0xFECC, 0x063A, 0xFECE, 0xFECF, 0xFED0, 0x0641, 0xFED3,
- /* 6304 */ 0x0642, 0xFED7, 0xFEDA, 0x2518, 0x250C, 0x2588, 0x2580, 0xFEDB,
- /* 6312 */ 0xFFFF, 0x2584, 0xFFFF, 0x0644, 0xFEDE, 0xFEE0, 0x0645, 0xFEE3,
- /* 6320 */ 0xFFFF, 0x0646, 0xFEE7, 0xFFFF, 0x0648, 0xFFFF, 0xFFFF, 0xFFFF,
- /* 6328 */ 0xFFFF, 0x0621, 0x00AD, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
- /* 6336 */ 0xFFFF, 0xFFFF, 0xFFFF, 0x0651, 0xFE7D, 0xFFFF, 0x25A0, 0x00A0,
- /* 6344 */ 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0386, 0xFFFF,
- /* 6352 */ 0x00B7, 0x00AC, 0x00A6, 0x201B, 0x2019, 0x0388, 0x2014, 0x0389,
- /* 6360 */ 0x038A, 0x03AA, 0x038C, 0xFFFF, 0xFFFF, 0x038E, 0x03AB, 0x00A9,
- /* 6368 */ 0x038F, 0x00B2, 0x00B3, 0x03AC, 0x00A3, 0x03AD, 0x03AE, 0x03AF,
- /* 6376 */ 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x039A, 0x039B, 0x039C,
- /* 6384 */ 0x039D, 0x2563, 0x2551, 0x2557, 0x255D, 0x039E, 0x039F, 0x2510,
- /* 6392 */ 0x00AD, 0x00B1, 0x03C5, 0x03C6, 0x03C7, 0x00A7, 0x03C8, 0x0385,
- /* 6400 */ 0x0020, 0x00A0, 0xFFFF, 0x00E4, 0xFFFF, 0x00E1, 0x0103, 0x010D,
- /* 6408 */ 0x00E7, 0x0107, 0x005B, 0x002E, 0x003C, 0x0028, 0x002B, 0x0021,
- /* 6416 */ 0x0026, 0x00E9, 0xFFFF, 0x00EB, 0x016F, 0x00ED, 0xFFFF, 0x013E,
- /* 6424 */ 0x013A, 0x00DF, 0x005D, 0x0024, 0x002A, 0x0029, 0x003B, 0x005E,
- /* 6432 */ 0x002D, 0x002F, 0xFFFF, 0x00C4, 0x02DD, 0x00C1, 0xFFFF, 0x010C,
- /* 6440 */ 0x00C7, 0x0106, 0x007C, 0x002C, 0x0025, 0x005F, 0x003E, 0x003F,
- /* 6448 */ 0x02C7, 0x00C9, 0xFFFF, 0x00CB, 0x016E, 0x00CD, 0xFFFF, 0x013D,
- /* 6456 */ 0x0139, 0x0060, 0x003A, 0x0023, 0x0040, 0x0027, 0x003D, 0x0022,
- /* 6464 */ 0x02D8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,
- /* 6472 */ 0x0068, 0x0069, 0x015B, 0x0148, 0x0111, 0x00FD, 0x0159, 0xFFFF,
- /* 6480 */ 0x0071, 0x0072, 0x0142, 0x0144, 0x0161, 0x00B8, 0x02DB, 0x00A4,
- /* 6488 */ 0x0105, 0x007E, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078,
- /* 6496 */ 0x0079, 0x007A, 0x015A, 0x0147, 0x0110, 0x00DD, 0x0158, 0xFFFF,
- /* 6504 */ 0x00B7, 0x0104, 0x017C, 0xFFFF, 0x017B, 0x00A7, 0x00B6, 0x017E,
- /* 6512 */ 0x017A, 0x017D, 0x0179, 0x0143, 0x0160, 0x00A8, 0x00B4, 0x00D7,
- /* 6520 */ 0x0048, 0x0049, 0x00AD, 0x00F4, 0x00F6, 0x0155, 0x00F3, 0x0151,
- /* 6528 */ 0x0051, 0x0052, 0x011A, 0x0171, 0x00FC, 0x0165, 0x00FA, 0x011B,
- /* 6536 */ 0x0059, 0x005A, 0x010F, 0x00D4, 0x00D6, 0x0154, 0x00D3, 0x0150,
- /* 6544 */ 0x0038, 0x0039, 0x010E, 0x0170, 0x00DC, 0x0164, 0x00DA, 0x009F,
- /* 6552 */ 0x00E7, 0x00F1, 0x00FE, 0x002E, 0x003C, 0x0028, 0x002B, 0x0021,
- /* 6560 */ 0x00EC, 0x00DF, 0x00C6, 0x0024, 0x002A, 0x0029, 0x003B, 0x00D6,
- /* 6568 */ 0x00CC, 0x00F0, 0x003A, 0x0023, 0x00D0, 0x0027, 0x003D, 0x0022,
- /* 6576 */ 0x0068, 0x0069, 0x00AB, 0x00BB, 0x0060, 0x00FD, 0x007B, 0x00B1,
- /* 6584 */ 0x0071, 0x0072, 0x00AA, 0x00BA, 0x007D, 0x00B8, 0x005D, 0x00A4,
- /* 6592 */ 0x00B5, 0x00F6, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078,
- /* 6600 */ 0x0079, 0x007A, 0x00A1, 0x00BF, 0x0040, 0x00DD, 0x005B, 0x00AE,
- /* 6608 */ 0x00BD, 0x00BE, 0x00AC, 0x007C, 0x00AF, 0x00A8, 0x005C, 0x00D7,
- /* 6616 */ 0x00DE, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,
- /* 6624 */ 0x0048, 0x0049, 0x00AD, 0x00F4, 0x007E, 0x00F2, 0x00F3, 0x00F5,
- /* 6632 */ 0x00E6, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, 0x0050,
- /* 6640 */ 0x00B4, 0x00F7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058,
- /* 6648 */ 0x0059, 0x005A, 0x00B2, 0x00D4, 0x005E, 0x00D2, 0x00D3, 0x00D5,
- /* 6656 */ 0x03AA, 0x03AB, 0xFFFF, 0x002C, 0x0025, 0x005F, 0x003E, 0x003F,
- /* 6664 */ 0x00A8, 0x0386, 0x0388, 0x0389, 0x2207, 0x038A, 0x038C, 0x038E,
- /* 6672 */ 0x038F, 0x0060, 0x003A, 0x0023, 0x0040, 0x0027, 0x003D, 0x0022,
- /* 6680 */ 0x0385, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,
- /* 6688 */ 0x00B4, 0x007E, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078,
- /* 6696 */ 0x0079, 0x007A, 0x03BD, 0x03BE, 0x03BF, 0x03C0, 0x03C1, 0x03C3,
- /* 6704 */ 0x00A3, 0x03AC, 0x03AD, 0x03AE, 0x0390, 0x03AF, 0x03CC, 0x03CD,
- /* 6712 */ 0x03B0, 0x03CE, 0x03C2, 0x03C4, 0x03C5, 0x03C6, 0x03C7, 0x03C8,
- /* 6720 */ 0x0048, 0x0049, 0x00AD, 0x03C9, 0x03CA, 0x03CB, 0x2018, 0x2015,
- /* 6728 */ 0x0051, 0x0052, 0x00B1, 0x00BD, 0xFFFF, 0x00B7, 0x2019, 0x00A6,
- /* 6736 */ 0x0059, 0x005A, 0x00B2, 0x00A7, 0xFFFF, 0xFFFF, 0x00AB, 0x00AC,
- /* 6744 */ 0x0038, 0x0039, 0x00B3, 0x00A9, 0xFFFF, 0xFFFF, 0x00BB, 0x009F,
- /* 6752 */ 0x0020, 0xFFFF, 0x0452, 0x0453, 0x0451, 0xFFFF, 0x0455, 0x0456,
- /* 6760 */ 0x0457, 0x0458, 0x005B, 0x002E, 0x003C, 0x0028, 0x002B, 0x0021,
- /* 6768 */ 0x0026, 0x0459, 0x045A, 0x045B, 0x045C, 0xFFFF, 0x045F, 0x042A,
- /* 6776 */ 0x2116, 0x0402, 0x005D, 0x0024, 0x002A, 0x0029, 0x003B, 0x005E,
- /* 6784 */ 0x002D, 0x002F, 0x0403, 0x0401, 0xFFFF, 0x0405, 0x0406, 0x0407,
- /* 6792 */ 0x0408, 0x0409, 0x00A6, 0x002C, 0x0025, 0x005F, 0x003E, 0x003F,
- /* 6800 */ 0x040A, 0x040B, 0x040C, 0xFFFF, 0xFFFF, 0x040F, 0x044E, 0x0430,
- /* 6808 */ 0x0431, 0xFFFF, 0x003A, 0x0023, 0x0040, 0x0027, 0x003D, 0x0022,
- /* 6816 */ 0x0446, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,
- /* 6824 */ 0x0068, 0x0069, 0x0434, 0x0435, 0x0444, 0x0433, 0x0445, 0x0438,
- /* 6832 */ 0x0439, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, 0x0070,
- /* 6840 */ 0x0071, 0x0072, 0x043A, 0x043B, 0x043C, 0x043D, 0x043E, 0x043F,
- /* 6848 */ 0x044F, 0xFFFF, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078,
- /* 6856 */ 0x0079, 0x007A, 0x0440, 0x0441, 0x0442, 0x0443, 0x0436, 0x0432,
- /* 6864 */ 0x0048, 0x0049, 0x0425, 0x0418, 0x0419, 0x041A, 0x041B, 0x041C,
- /* 6872 */ 0x0051, 0x0052, 0x041D, 0x041E, 0x041F, 0x042F, 0x0420, 0x0421,
- /* 6880 */ 0x005C, 0x00A4, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058,
- /* 6888 */ 0x0059, 0x005A, 0x0422, 0x0423, 0x0416, 0x0412, 0x042C, 0x042B,
- /* 6896 */ 0x0038, 0x0039, 0x0417, 0x0428, 0x042D, 0x0429, 0x0427, 0x009F,
- /* 6904 */ 0x00A2, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
- /* 6912 */ 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x00AC, 0x00A6, 0xFFFF,
- /* 6920 */ 0x0020, 0xFFFF, 0x00E2, 0x00E4, 0x00E0, 0x00E1, 0xFFFF, 0x010B,
- /* 6928 */ 0x007B, 0x00F1, 0x00C7, 0x002E, 0x003C, 0x0028, 0x002B, 0x0021,
- /* 6936 */ 0x00EC, 0x00DF, 0x011E, 0x0130, 0x002A, 0x0029, 0x003B, 0x005E,
- /* 6944 */ 0x002D, 0x002F, 0x00C2, 0x00C4, 0x00C0, 0x00C1, 0xFFFF, 0x010A,
- /* 6952 */ 0x005B, 0x00D1, 0x015F, 0x002C, 0x0025, 0x005F, 0x003E, 0x003F,
- /* 6960 */ 0xFFFF, 0x00C9, 0x00CA, 0x00CB, 0x00C8, 0x00CD, 0x00CE, 0x00CF,
- /* 6968 */ 0x00CC, 0x0131, 0x003A, 0x00D6, 0x015E, 0x0027, 0x003D, 0x00DC,
- /* 6976 */ 0x0068, 0x0069, 0x0127, 0x0109, 0x015D, 0x016D, 0xFFFF, 0x007C,
- /* 6984 */ 0x0071, 0x0072, 0x0125, 0x011D, 0x0135, 0x02DB, 0xFFFF, 0x00A4,
- /* 6992 */ 0x0079, 0x007A, 0x0126, 0x0108, 0x015C, 0x016C, 0xFFFF, 0x0040,
- /* 7000 */ 0x00B7, 0x00A3, 0x017C, 0x007D, 0x017B, 0x00A7, 0x005D, 0xFFFF,
- /* 7008 */ 0x00BD, 0x0024, 0x0124, 0x011C, 0x0134, 0x00A8, 0x00B4, 0x00D7,
- /* 7016 */ 0x00E7, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,
- /* 7024 */ 0x0048, 0x0049, 0x00AD, 0x00F4, 0x007E, 0x00F2, 0x00F3, 0x0121,
- /* 7032 */ 0x011F, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, 0x0050,
- /* 7040 */ 0x0051, 0x0052, 0x0060, 0x00FB, 0x005C, 0x00F9, 0x00FA, 0xFFFF,
- /* 7048 */ 0x00FC, 0x00F7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058,
- /* 7056 */ 0x0059, 0x005A, 0x00B2, 0x00D4, 0x0023, 0x00D2, 0x00D3, 0x0120,
- /* 7064 */ 0x0038, 0x0039, 0x00B3, 0x00DB, 0x0022, 0x00D9, 0x00DA, 0x009F,
- /* 7072 */ 0x0020, 0x00A0, 0x060C, 0x061B, 0x061F, 0x0623, 0x0627, 0xFE8E,
- /* 7080 */ 0xFFFF, 0x0628, 0x005B, 0x002E, 0x003C, 0x0028, 0x002B, 0x0021,
- /* 7088 */ 0x0026, 0xFE91, 0x067E, 0xFFFF, 0x0629, 0x062A, 0xFE97, 0xFFFF,
- /* 7096 */ 0xFFFF, 0x062B, 0x005D, 0x0024, 0x002A, 0x0029, 0x003B, 0x005E,
- /* 7104 */ 0x002D, 0x002F, 0xFE9B, 0x062C, 0xFE9F, 0xFFFF, 0xFFFF, 0x062D,
- /* 7112 */ 0xFEA3, 0x062E, 0x0060, 0x002C, 0x0025, 0x005F, 0x003E, 0x003F,
- /* 7120 */ 0x0668, 0x0669, 0x003A, 0x0023, 0x0040, 0x0027, 0x003D, 0x0022,
- /* 7128 */ 0xFEA7, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,
- /* 7136 */ 0x0068, 0x0069, 0x062F, 0xFFFF, 0x0630, 0x0631, 0xFFFF, 0x0632,
- /* 7144 */ 0x0071, 0x0072, 0x0633, 0xFEB3, 0x0634, 0xFEB7, 0x0635, 0xFEBB,
- /* 7152 */ 0x0636, 0x007E, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078,
- /* 7160 */ 0x0079, 0x007A, 0xFEBF, 0x0637, 0x0638, 0x0639, 0xFECA, 0xFECB,
- /* 7168 */ 0xFECC, 0x063A, 0xFECE, 0xFECF, 0xFED0, 0x0641, 0xFED3, 0x0642,
- /* 7176 */ 0xFED7, 0x0643, 0xFEDB, 0x007C, 0xFFFF, 0xFFFF, 0x0644, 0xFEDE,
- /* 7184 */ 0x0048, 0x0049, 0x00AD, 0xFFFF, 0x0645, 0xFEE3, 0xFFFF, 0x0646,
- /* 7192 */ 0x0051, 0x0052, 0xFEE7, 0xFFFF, 0x0648, 0xFFFF, 0xFFFF, 0xFFFF,
- /* 7200 */ 0x0059, 0x005A, 0x0621, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
- /* 7208 */ 0x0038, 0x0039, 0xFFFF, 0xFFFF, 0xFFFF, 0x0651, 0xFE7D, 0x009F,
- /* 7216 */ 0xFFFF, 0xFFFF, 0x201A, 0xFFFF, 0x201E, 0x2026, 0x2020, 0x2021,
- /* 7224 */ 0x02C6, 0x2030, 0x0160, 0x2039, 0x0152, 0xFFFF, 0xFFFF, 0xFFFF,
- /* 7232 */ 0xFFFF, 0x2018, 0x2019, 0x201C, 0x201D, 0x2022, 0x2013, 0x2014,
- /* 7240 */ 0x02DC, 0x2122, 0x0161, 0x203A, 0x0153, 0xFFFF, 0xFFFF, 0x0178,
- /* 7248 */ 0x0068, 0x0069, 0x00AB, 0x00BB, 0x007D, 0x0060, 0x00A6, 0x00B1,
- /* 7256 */ 0x0071, 0x0072, 0x00AA, 0x00BA, 0x00E6, 0x02DB, 0x00C6, 0x00A4,
- /* 7264 */ 0x0079, 0x007A, 0x00A1, 0x00BF, 0x005D, 0x0024, 0x0040, 0x00AE,
- /* 7272 */ 0x00BD, 0x00BE, 0x00AC, 0x007C, 0x2014, 0x00A8, 0x00B4, 0x00D7,
- /* 7280 */ 0x0051, 0x0052, 0x00B9, 0x00FB, 0x005C, 0x00F9, 0x00FA, 0x00FF,
- /* 7288 */ 0x0059, 0x005A, 0x00B2, 0x00D4, 0x0023, 0x00D2, 0x00D3, 0x00D5,
- /* 7296 */ 0x00EC, 0x00DF, 0x0021, 0x0024, 0x002A, 0x0029, 0x003B, 0x005E,
- /* 7304 */ 0x0079, 0x007A, 0x00A1, 0x00BF, 0x00D0, 0x005B, 0x00DE, 0x00AE,
- /* 7312 */ 0x00AC, 0x00A3, 0x00A5, 0x00B7, 0x00A9, 0x00A7, 0x00B6, 0x00BC,
- /* 7320 */ 0x00BD, 0x00BE, 0x00DD, 0x00A8, 0x00AF, 0x005D, 0x00B4, 0x00D7,
- /* 7328 */ 0x20AC, 0xFFFF, 0x201A, 0xFFFF, 0x201E, 0x2026, 0x2020, 0x2021,
- /* 7336 */ 0xFFFF, 0x2030, 0x0160, 0x2039, 0x015A, 0x0164, 0x017D, 0x0179,
- /* 7344 */ 0xFFFF, 0x2122, 0x0161, 0x203A, 0x015B, 0x0165, 0x017E, 0x017A,
- /* 7352 */ 0x00A0, 0x02C7, 0x02D8, 0x0141, 0x00A4, 0x0104, 0x00A6, 0x00A7,
- /* 7360 */ 0x00A8, 0x00A9, 0x015E, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x017B,
- /* 7368 */ 0x00B0, 0x00B1, 0x02DB, 0x0142, 0x00B4, 0x00B5, 0x00B6, 0x00B7,
- /* 7376 */ 0x00B8, 0x0105, 0x015F, 0x00BB, 0x013D, 0x02DD, 0x013E, 0x017C,
- /* 7384 */ 0x0402, 0x0403, 0x201A, 0x0453, 0x201E, 0x2026, 0x2020, 0x2021,
- /* 7392 */ 0x20AC, 0x2030, 0x0409, 0x2039, 0x040A, 0x040C, 0x040B, 0x040F,
- /* 7400 */ 0x0452, 0x2018, 0x2019, 0x201C, 0x201D, 0x2022, 0x2013, 0x2014,
- /* 7408 */ 0xFFFF, 0x2122, 0x0459, 0x203A, 0x045A, 0x045C, 0x045B, 0x045F,
- /* 7416 */ 0x00A0, 0x040E, 0x045E, 0x0408, 0x00A4, 0x0490, 0x00A6, 0x00A7,
- /* 7424 */ 0x0401, 0x00A9, 0x0404, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x0407,
- /* 7432 */ 0x00B0, 0x00B1, 0x0406, 0x0456, 0x0491, 0x00B5, 0x00B6, 0x00B7,
- /* 7440 */ 0x0451, 0x2116, 0x0454, 0x00BB, 0x0458, 0x0405, 0x0455, 0x0457,
- /* 7448 */ 0x20AC, 0xFFFF, 0x201A, 0x0192, 0x201E, 0x2026, 0x2020, 0x2021,
- /* 7456 */ 0x02C6, 0x2030, 0x0160, 0x2039, 0x0152, 0xFFFF, 0x017D, 0x017E,
- /* 7464 */ 0xFFFF, 0x2030, 0xFFFF, 0x2039, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
- /* 7472 */ 0xFFFF, 0x2122, 0xFFFF, 0x203A, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
- /* 7480 */ 0x00A0, 0x0385, 0x0386, 0x00A3, 0x00A4, 0x00A5, 0x00A6, 0x00A7,
- /* 7488 */ 0x00A8, 0x00A9, 0xFFFF, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x2015,
- /* 7496 */ 0x00B0, 0x00B1, 0x00B2, 0x00B3, 0x0384, 0x00B5, 0x00B6, 0x00B7,
- /* 7504 */ 0x05E8, 0x05E9, 0x05EA, 0xFFFF, 0xFFFF, 0x200E, 0x200F, 0xFFFF,
- /* 7512 */ 0x20AC, 0x0660, 0x201A, 0x0661, 0x201E, 0x2026, 0x2020, 0x2021,
- /* 7520 */ 0x0662, 0x0663, 0x0664, 0x2039, 0x0665, 0x0666, 0x0667, 0x0668,
- /* 7528 */ 0x0669, 0x2018, 0x2019, 0x201C, 0x201D, 0x2022, 0x2013, 0x2014,
- /* 7536 */ 0x061B, 0x2122, 0x061F, 0x203A, 0x0621, 0x0622, 0x0623, 0x0178,
- /* 7544 */ 0x00A0, 0x0624, 0x0625, 0x00A3, 0x00A4, 0x0626, 0x00A6, 0x00A7,
- /* 7552 */ 0x0627, 0x00A9, 0x0628, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x067E,
- /* 7560 */ 0x00B0, 0x00B1, 0x0629, 0x062A, 0x062B, 0x00B5, 0x00B6, 0x00B7,
- /* 7568 */ 0x062C, 0x0686, 0x062D, 0x00BB, 0x062E, 0x062F, 0x0630, 0x0631,
- /* 7576 */ 0x00C0, 0x0632, 0x00C2, 0x0698, 0x0633, 0x0634, 0x0635, 0x00C7,
- /* 7584 */ 0x00C8, 0x00C9, 0x00CA, 0x00CB, 0x0636, 0x0637, 0x00CE, 0x00CF,
- /* 7592 */ 0x3113, 0x0639, 0x063A, 0x0640, 0x00D4, 0x0641, 0x0642, 0x00D7,
- /* 7600 */ 0x0643, 0x00D9, 0x06AF, 0x00DB, 0x00DC, 0x0644, 0x0645, 0x0646,
- /* 7608 */ 0x00E0, 0x0647, 0x00E2, 0x0681, 0x0648, 0x0649, 0x064A, 0x00E7,
- /* 7616 */ 0x00E8, 0x00E9, 0x00EA, 0x00EB, 0x064B, 0x064C, 0x00EE, 0x00EF,
- /* 7624 */ 0x064D, 0x064E, 0x064F, 0x0650, 0x00F4, 0x0651, 0x0652, 0x00F7,
- /* 7632 */ 0xFFFF, 0x00F9, 0xFFFF, 0x00FB, 0x00FC, 0x200E, 0x200F, 0x00FF,
- /* 7640 */ 0x00A0, 0xFFFF, 0x00A2, 0x00A3, 0x00A4, 0xFFFF, 0x00A6, 0x00A7,
- /* 7648 */ 0x00D8, 0x00A9, 0x0156, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x00C6,
- /* 7656 */ 0x00F8, 0x00B9, 0x0157, 0x00BB, 0x00BC, 0x00BD, 0x00BE, 0x00E6,
- /* 7664 */ 0x0173, 0x0142, 0x015B, 0x016B, 0x00FC, 0x017C, 0x017E, 0xFFFF,
- /* 7672 */ 0xFFFF, 0xFFFF, 0x00C4, 0x002E, 0x003C, 0x0028, 0x002B, 0x0021,
- /* 7680 */ 0xFFFF, 0xFFFF, 0x00DC, 0x0024, 0x002A, 0x0029, 0x003B, 0x005E,
- /* 7688 */ 0xFFFF, 0xFFFF, 0x00F6, 0x002C, 0x0025, 0x005F, 0x003E, 0x003F,
- /* 7696 */ 0xFFFF, 0x0060, 0x003A, 0x0023, 0x00A7, 0x0027, 0x003D, 0x0022,
- /* 7704 */ 0xFFFF, 0x00DF, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078,
- /* 7712 */ 0x00D6, 0xFFFF, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058,
- /* 7720 */ 0xFFFF, 0xFFFF, 0x00F6, 0x002E, 0x003C, 0x0028, 0x002B, 0x007C,
- /* 7728 */ 0xFFFF, 0xFFFF, 0x00FC, 0x00DC, 0x002A, 0x0029, 0x003B, 0x00AC,
- /* 7736 */ 0xFFFF, 0xFFFF, 0x00DF, 0x002C, 0x0025, 0x005F, 0x003E, 0x003F,
- /* 7744 */ 0xFFFF, 0xFFFF, 0x003A, 0x00C4, 0x00D6, 0x0027, 0x003D, 0x00E4,
- /* 7752 */ 0xFFFF, 0xFFFF, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078,
- /* 7760 */ 0xFFFF, 0xFFFF, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058,
- /* 7768 */ 0x0020, 0xFFFF, 0x00E2, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
- /* 7776 */ 0x00E7, 0xFFFF, 0x00E0, 0x002E, 0x003C, 0x0028, 0x002B, 0x0021,
- /* 7784 */ 0x0026, 0xFFFF, 0x00EA, 0x00EB, 0xFFFF, 0xFFFF, 0x00EE, 0x00EF,
- /* 7792 */ 0xFFFF, 0xFFFF, 0x00B4, 0x0024, 0x002A, 0x0029, 0x003B, 0x005E,
- /* 7800 */ 0x002D, 0x002F, 0x00C2, 0xFFFF, 0x00C0, 0xFFFF, 0xFFFF, 0xFFFF,
- /* 7808 */ 0x00C7, 0xFFFF, 0x00F9, 0x002C, 0x0025, 0x005F, 0x003E, 0x003F,
- /* 7816 */ 0xFFFF, 0x00C9, 0x00CA, 0x00CB, 0xFFFF, 0x00CE, 0x00CF, 0xFFFF,
- /* 7824 */ 0x0048, 0x0049, 0xFFFF, 0x00F4, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
- /* 7832 */ 0x0051, 0x0052, 0xFFFF, 0x00FB, 0x00FC, 0xFFFF, 0xFFFF, 0xFFFF,
- /* 7840 */ 0x00B8, 0xFFFF, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058,
- /* 7848 */ 0x0059, 0x005A, 0xFFFF, 0x00D4, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
- /* 7856 */ 0x0038, 0x0039, 0xFFFF, 0x00DB, 0x00DC, 0x00D9, 0xFFFF, 0x009F,
- /* 7864 */ 0xFFFF, 0xFFFF, 0x0023, 0x002E, 0x003C, 0x0028, 0x002B, 0x0021,
- /* 7872 */ 0xFFFF, 0xFFFF, 0x00A4, 0x00C5, 0x002A, 0x0029, 0x003B, 0x005E,
- /* 7880 */ 0xFFFF, 0xFFFF, 0x00F8, 0x002C, 0x0025, 0x005F, 0x003E, 0x003F,
- /* 7888 */ 0xFFFF, 0x0060, 0x003A, 0x00C6, 0x00D8, 0x0027, 0x003D, 0x0022,
- /* 7896 */ 0xFFFF, 0x00FC, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078,
- /* 7904 */ 0xFFFF, 0xFFFF, 0x00F8, 0x002E, 0x003C, 0x0028, 0x002B, 0x007C,
- /* 7912 */ 0xFFFF, 0xFFFF, 0x00E5, 0x00C5, 0x002A, 0x0029, 0x003B, 0x00AC,
- /* 7920 */ 0xFFFF, 0xFFFF, 0x003A, 0x00C6, 0x00D8, 0x0027, 0x003D, 0x00E6,
- /* 7928 */ 0xFFFF, 0xFFFF, 0x00A7, 0x002E, 0x003C, 0x0028, 0x002B, 0x0021,
- /* 7936 */ 0xFFFF, 0x00E9, 0x003A, 0x00C4, 0x00D6, 0x0027, 0x003D, 0x0022,
- /* 7944 */ 0x00C9, 0xFFFF, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058,
- /* 7952 */ 0xFFFF, 0xFFFF, 0x00B0, 0x002E, 0x003C, 0x0028, 0x002B, 0x0021,
- /* 7960 */ 0xFFFF, 0xFFFF, 0x00A7, 0x0024, 0x002A, 0x0029, 0x003B, 0x005E,
- /* 7968 */ 0xFFFF, 0x0060, 0x003A, 0x00A3, 0x00E0, 0x0027, 0x003D, 0x0022,
- /* 7976 */ 0xFFFF, 0xFFFF, 0x00E9, 0x0024, 0x002A, 0x0029, 0x003B, 0x005E,
- /* 7984 */ 0xFFFF, 0xFFFF, 0x00F2, 0x002C, 0x0025, 0x005F, 0x003E, 0x003F,
- /* 7992 */ 0xFFFF, 0x00F9, 0x003A, 0x00A3, 0x00A7, 0x0027, 0x003D, 0x0022,
- /* 8000 */ 0xFFFF, 0x00EC, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078,
- /* 8008 */ 0xFFFF, 0xFFFF, 0x00F5, 0x002C, 0x0025, 0x005F, 0x003E, 0x003F,
- /* 8016 */ 0xFFFF, 0x0060, 0x003A, 0x00C3, 0x00D5, 0x0027, 0x003D, 0x0022,
- /* 8024 */ 0xFFFF, 0x00E7, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078,
- /* 8032 */ 0x00E3, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,
- /* 8040 */ 0x00C7, 0xFFFF, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058,
- /* 8048 */ 0xFFFF, 0xFFFF, 0x00A2, 0x002E, 0x003C, 0x0028, 0x002B, 0x007C,
- /* 8056 */ 0xFFFF, 0xFFFF, 0x0021, 0x20A7, 0x002A, 0x0029, 0x003B, 0x00AC,
- /* 8064 */ 0xFFFF, 0xFFFF, 0x00F1, 0x002C, 0x0025, 0x005F, 0x003E, 0x003F,
- /* 8072 */ 0xFFFF, 0x0060, 0x003A, 0x00D1, 0x0040, 0x0027, 0x003D, 0x0022,
- /* 8080 */ 0xFFFF, 0xFFFF, 0x003A, 0x00D1, 0x0040, 0x0027, 0x003D, 0x00F1,
- /* 8088 */ 0xFFFF, 0xFFFF, 0x0021, 0x0024, 0x002A, 0x0029, 0x003B, 0x00AC,
- /* 8096 */ 0xFFFF, 0xFFFF, 0x0024, 0x002E, 0x003C, 0x0028, 0x002B, 0x007C,
- /* 8104 */ 0xFFFF, 0xFFFF, 0x0021, 0x00A3, 0x002A, 0x0029, 0x003B, 0x00AC,
- /* 8112 */ 0x0020, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x00E1, 0xFFFF, 0xFFFF,
- /* 8120 */ 0xFFFF, 0xFFFF, 0x003C, 0x002E, 0x00C1, 0x0028, 0x002B, 0x0021,
- /* 8128 */ 0x00D0, 0x00E9, 0xFFFF, 0xFFFF, 0xFFFF, 0x00ED, 0xFFFF, 0xFFFF,
- /* 8136 */ 0xFFFF, 0x0024, 0x0025, 0x00C9, 0x002A, 0x0029, 0x003B, 0x0026,
- /* 8144 */ 0xFFFF, 0x0023, 0x2018, 0x002C, 0x00DE, 0x005F, 0x003E, 0x003F,
- /* 8152 */ 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x00CD, 0xFFFF, 0xFFFF,
- /* 8160 */ 0x007C, 0x00F0, 0x003A, 0x00C6, 0x00D6, 0x0027, 0x003D, 0x0022,
- /* 8168 */ 0x0068, 0x0069, 0xFFFF, 0xFFFF, 0xFFFF, 0x00DD, 0xFFFF, 0xFFFF,
- /* 8176 */ 0x00B0, 0x00F6, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078,
- /* 8184 */ 0x0079, 0x007A, 0xFFFF, 0xFFFF, 0x005B, 0x00FD, 0xFFFF, 0xFFFF,
- /* 8192 */ 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x005D, 0x00A8, 0xFFFF, 0xFFFF,
- /* 8200 */ 0x00FE, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,
- /* 8208 */ 0x0048, 0x0049, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x00F3, 0xFFFF,
- /* 8216 */ 0x0051, 0x0052, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x00FA, 0xFFFF,
- /* 8224 */ 0x00B4, 0xFFFF, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058,
- /* 8232 */ 0x0059, 0x005A, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x00D3, 0xFFFF,
- /* 8240 */ 0x0038, 0x0039, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x00DA, 0x007F,
- /* 8248 */ 0x042C, 0x042B, 0x0417, 0x0428, 0x042D, 0x0429, 0x0427, 0xFFFF,
- /* 8256 */ 0x2500, 0x2502, 0x250C, 0x2510, 0x2514, 0x2518, 0x251C, 0x2524,
- /* 8264 */ 0x252C, 0x2534, 0x253C, 0x2580, 0x2584, 0x2588, 0x258C, 0x2590,
- /* 8272 */ 0x2591, 0x2592, 0x2593, 0x2320, 0x25A0, 0x2022, 0x221A, 0x2248,
- /* 8280 */ 0x2264, 0x2265, 0x00A0, 0x2321, 0x00B0, 0x00B2, 0x00B7, 0x00F7,
- /* 8288 */ 0x2550, 0x2551, 0x2552, 0x0451, 0x2553, 0x2554, 0x2555, 0x2556,
- /* 8296 */ 0x2557, 0x2558, 0x2559, 0x255A, 0x255B, 0x255C, 0x255D, 0x255E,
- /* 8304 */ 0x255F, 0x2560, 0x2561, 0x0401, 0x2562, 0x2563, 0x2564, 0x2565,
- /* 8312 */ 0x2566, 0x2567, 0x2568, 0x2569, 0x256A, 0x256B, 0x256C, 0x00A9,
- /* 8320 */ 0x2591, 0x2592, 0x2593, 0x201C, 0x25A0, 0x2022, 0x201D, 0x2014,
- /* 8328 */ 0x2116, 0x2122, 0x00A0, 0x00BB, 0x00AE, 0x00AB, 0x00B7, 0x00A4,
- /* 8336 */ 0x2550, 0x2551, 0x2552, 0x0451, 0x0454, 0x2554, 0x0456, 0x0457,
- /* 8344 */ 0x2557, 0x2558, 0x2559, 0x255A, 0x255B, 0x0491, 0x045E, 0x255E,
- /* 8352 */ 0x255F, 0x2560, 0x2561, 0x0401, 0x0404, 0x2563, 0x0406, 0x0407,
- /* 8360 */ 0x2566, 0x2567, 0x2568, 0x2569, 0x256A, 0x0490, 0x040E, 0x00A9,
- /* 8368 */ 0x2591, 0x2592, 0x2593, 0x2320, 0x25A0, 0x2219, 0x221A, 0x2248,
- /* 8376 */ 0x2557, 0x2558, 0x2559, 0x255A, 0x255B, 0x0491, 0x255D, 0x255E,
- /* 8384 */ 0x2566, 0x2567, 0x2568, 0x2569, 0x256A, 0x0490, 0x256C, 0x00A9,
- /* 8392 */ 0x00EA, 0x00EB, 0x00E8, 0x00EF, 0x00EE, 0x00CD, 0x00C4, 0x00C1,
- /* 8400 */ 0x00C9, 0x00E6, 0x00C6, 0x0151, 0x00F6, 0x00D3, 0x0171, 0x00DA,
- /* 8408 */ 0x0170, 0x00D6, 0x00DC, 0x00A2, 0x00A3, 0x00A5, 0x20A7, 0xE01F,
- /* 8416 */ 0x00E1, 0x00ED, 0x00F3, 0x00FA, 0x00F1, 0x00D1, 0x00AA, 0x0150,
- /* 8424 */ 0x03B1, 0x03B2, 0x0393, 0x03C0, 0x03A3, 0x03C3, 0x03BC, 0x03C4,
- /* 8432 */ 0x00C4, 0x0100, 0x0101, 0x00C9, 0x0104, 0x00D6, 0x00DC, 0x00E1,
- /* 8440 */ 0x0105, 0x010C, 0x00E4, 0x010D, 0x0106, 0x0107, 0x00E9, 0x0179,
- /* 8448 */ 0x017A, 0x010E, 0x00ED, 0x010F, 0x0112, 0x0113, 0x0116, 0x00F3,
- /* 8456 */ 0x0117, 0x00F4, 0x00F6, 0x00F5, 0x00FA, 0x011A, 0x011B, 0x00FC,
- /* 8464 */ 0x2020, 0x00B0, 0x0118, 0x00A3, 0x00A7, 0x2219, 0x00B6, 0x00DF,
- /* 8472 */ 0x00AE, 0x00A9, 0x2122, 0x0119, 0x00A8, 0x2260, 0x01F5, 0x012E,
- /* 8480 */ 0x012F, 0x012A, 0x2264, 0x2265, 0x012B, 0x0136, 0x2202, 0x2211,
- /* 8488 */ 0x0142, 0x013B, 0x013C, 0x013D, 0x013E, 0x0139, 0x013A, 0x0145,
- /* 8496 */ 0x0146, 0x0143, 0x00AC, 0x221A, 0x0144, 0x0147, 0x0394, 0x00AB,
- /* 8504 */ 0x00BB, 0x2026, 0x00A0, 0x0148, 0x0150, 0x00D5, 0x0151, 0x014C,
- /* 8512 */ 0x2013, 0x2014, 0x201C, 0x201D, 0x2018, 0x2019, 0x00F7, 0x25C6,
- /* 8520 */ 0x014D, 0x0154, 0x0155, 0x0158, 0x2039, 0x203A, 0x0159, 0x0156,
- /* 8528 */ 0x0157, 0x0160, 0x201A, 0x201E, 0x0161, 0x015A, 0x015B, 0x00C1,
- /* 8536 */ 0x0164, 0x0165, 0x00CD, 0x017D, 0x017E, 0x016A, 0x00D3, 0x00D4,
- /* 8544 */ 0x016B, 0x016E, 0x00DA, 0x016F, 0x0170, 0x0171, 0x0172, 0x0173,
- /* 8552 */ 0x00DD, 0x00FD, 0x0137, 0x017B, 0x0141, 0x017C, 0x0122, 0x02C7
- };
&& declare_alias (outer, "quote-printable", "Quoted-Printable")
&& declare_alias (outer, "QP", "Quoted-Printable");
}
+
+void
+delmodule_quoted_printable (RECODE_OUTER outer)
+{
+}
-.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.020.
-.TH RECODE "1" "February 2001" "Free recode 3.5e" FSF
+.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.022.
+.TH RECODE "1" "January 2001" "Free recode 3.6" FSF
.SH NAME
-recode \- manual page for recode 3.5e
+recode \- manual page for recode 3.6
.SH SYNOPSIS
.B recode
[\fIOPTION\fR]... [ [\fICHARSET\fR] \fI| REQUEST \fR[\fIFILE\fR]... ]
.PP
Option \fB\-l\fR with no FORMAT nor CHARSET list available charsets and surfaces.
FORMAT is `decimal', `octal', `hexadecimal' or `full' (or one of `dohf').
-Unless DEFAULT_CHARSET is set in environment, CHARSET defaults to `ISO-8859-1'.
+Unless DEFAULT_CHARSET is set in environment, CHARSET defaults to the locale
+dependent encoding, determined by LC_ALL, LC_CTYPE, LANG.
+With \fB\-k\fR, possible before charsets are listed for the given after CHARSET,
+both being tabular charsets, with PAIRS of the form `BEF1:AFT1,BEF2:AFT2,...'
+and BEFs and AFTs being codes are given as decimal numbers.
LN is some language, it may be `c', `perl' or `po'; `c' is the default.
.PP
REQUEST is SUBREQUEST[,SUBREQUEST]...; SUBREQUEST is ENCODING[..ENCODING]...
/* Conversion of files between different charsets and surfaces.
- Copyright © 1990, 92, 93, 94, 96, 97, 98, 99, 00 Free Software Foundation, Inc.
+ Copyright © 1990,92,93,94,96,97,98,99,00 Free Software Foundation, Inc.
Contributed by François Pinard <pinard@iro.umontreal.ca>, 1990.
This library is free software; you can redistribute it and/or
return false;
if (!ALLOC (data, 256, struct ucs2_to_byte))
- return false;
+ {
+ hash_free (table);
+ return false;
+ }
for (counter = 0; counter < 256; counter++)
{
data[counter].code = code_to_ucs2 (step->after, counter);
data[counter].byte = counter;
if (!hash_insert (table, data + counter))
- return false;
+ {
+ hash_free (table);
+ free (data);
+ return false;
+ }
}
step->local = table;
/* Conversion of files between different charsets and surfaces.
- Copyright © 1990, 93, 94, 96, 97, 98, 99, 00 Free Software Foundation, Inc.
+ Copyright © 1990, 93, 94, 96-99, 2000, 2001 Free Software Foundation, Inc.
Contributed by François Pinard <pinard@iro.umontreal.ca>, 1988.
This library is free software; you can redistribute it and/or
# define put_byte(Byte, Subtask) \
((Subtask)->output.file \
- ? (void) putc ((char) (Byte), (Subtask)->output.file) \
+ ? (putc ((char) (Byte), (Subtask)->output.file), 0) \
: (Subtask)->output.cursor == (Subtask)->output.limit \
- ? put_byte_helper ((int) (Byte), (Subtask)) \
- : (void) (*(Subtask)->output.cursor++ = (Byte)))
+ ? (put_byte_helper ((int) (Byte), (Subtask)), 0) \
+ : (*(Subtask)->output.cursor++ = (Byte), 0))
#endif /* not USE_HELPERS */
&& declare_alias (outer, "1345", "RFC1345")
&& declare_alias (outer, "mnemonic", "RFC1345");
}
+
+void
+delmodule_rfc1345 (RECODE_OUTER outer)
+{
+}
/* DO NOT MODIFY THIS FILE! It was generated by `recode/doc/tables.py'. */
/* Conversion of files between different charsets and surfaces.
- Copyright © 1999, 2000 Free Software Foundation, Inc.
+ Copyright © 1999 Free Software Foundation, Inc.
Contributed by François Pinard <pinard@iro.umontreal.ca>, 1993, 1997.
This library is free software; you can redistribute it and/or
return true;
}
+
+void
+delmodule_strips (struct recode_outer *outer)
+{
+}
--- /dev/null
+ delmodule_african (outer);
+ delmodule_afrtran (outer);
+ delmodule_applemac (outer);
+ delmodule_atarist (outer);
+ delmodule_bangbang (outer);
+ delmodule_cdcnos (outer);
+ delmodule_ebcdic (outer);
+ delmodule_ibmpc (outer);
+ delmodule_iconqnx (outer);
+ delmodule_latin1_ascii (outer);
+ delmodule_mule (outer);
+ delmodule_strips (outer);
+ delmodule_testdump (outer);
+ delmodule_ucs (outer);
+ delmodule_utf16 (outer);
+ delmodule_utf7 (outer);
+ delmodule_utf8 (outer);
+ delmodule_varia (outer);
+ delmodule_vietnamese (outer);
+ delmodule_flat (outer);
+ delmodule_html (outer);
+ delmodule_latin1_latex (outer);
+ delmodule_latin1_texte (outer);
+ delmodule_rfc1345 (outer);
+ delmodule_texinfo (outer);
+ delmodule_base64 (outer);
+ delmodule_dump (outer);
+ delmodule_endline (outer);
+ delmodule_permutations (outer);
+ delmodule_quoted_printable (outer);
+ delmodule_ascii_latin1 (outer);
+ delmodule_latex_latin1 (outer);
+ delmodule_texte_latin1 (outer);
struct ucs2_to_count **array; /* array into hash table items */
table = hash_initialize (0, NULL,
- ucs2_to_count_hash, ucs2_to_count_compare, NULL);
+ ucs2_to_count_hash, ucs2_to_count_compare, free);
if (!table)
return false;
else
{
if (!ALLOC (entry, 1, struct ucs2_to_count))
- return false;
+ {
+ hash_free (table);
+ return false;
+ }
entry->code = character;
entry->count = 1;
if (!hash_insert (table, entry))
- return false;
+ {
+ hash_free (table);
+ free (entry);
+ return false;
+ }
}
}
}
size = hash_get_n_entries (table);
if (!ALLOC (array, size, struct ucs2_to_count *))
- return false;
+ {
+ hash_free (table);
+ return false;
+ }
hash_get_entries (table, (void **) array, size);
qsort (array, size, sizeof (struct ucs2_to_count *), compare_item);
/* Clean-up. */
- {
- struct ucs2_to_count **cursor;
-
- for (cursor = array; cursor < array + size; cursor++)
- free (*cursor);
- }
+ free (array);
hash_free (table);
SUBTASK_RETURN (subtask);
return true;
}
+
+void
+delmodule_testdump (RECODE_OUTER outer)
+{
+}
&& declare_alias (outer, "texi", "Texinfo")
&& declare_alias (outer, "ti", "Texinfo");
}
+
+void
+delmodule_texinfo (RECODE_OUTER outer)
+{
+}
transform_texte_latin1)
&& declare_alias (outer, "txte", "Texte");
}
+
+void
+delmodule_texte_latin1 (RECODE_OUTER outer)
+{
+}
&& declare_alias (outer, "TF-16", "UTF-16")
&& declare_alias (outer, "u6", "UTF-16");
}
+
+void
+delmodule_utf16 (RECODE_OUTER outer)
+{
+}
outer->quality_variable_to_variable,
NULL, transform_utf16_utf7);
}
+
+void
+delmodule_utf7 (RECODE_OUTER outer)
+{
+}
outer->quality_variable_to_variable,
NULL, transform_ucs2_utf8);
}
+
+void
+delmodule_utf8 (RECODE_OUTER outer)
+{
+}
return true;
}
+
+void
+delmodule_varia (RECODE_OUTER outer)
+{
+}
return false;
return true;
}
+
+void
+delmodule_vietnamese (RECODE_OUTER outer)
+{
+}
+2001-01-02 Bruno Haible <haible@clisp.cons.org>
+
+ * names.m4: Adjusted for libiconv-1.5 (BIG5HKSCS, GB18030, CHAR,
+ WCHAR_T).
+
+2000-08-18 François Pinard <pinard@iro.umontreal.ca>
+
+ * names.m4: Adjusted for XML-standalone.
+\f
2000-06-28 François Pinard <pinard@iro.umontreal.ca>
* testdump.m4: New name for debug.m4.
2000-02-05 François Pinard <pinard@iro.umontreal.ca>
* names.m4: Adjusted for tree, a special charset like data.
-\f
+
1999-12-24 François Pinard <pinard@iro.umontreal.ca>
* names.m4: Adjusted for defaulted libiconv.
DLLTOOL = @DLLTOOL@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
+GLIBC21 = @GLIBC21@
LEX = @LEX@
LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
LIBOBJS = @LIBOBJS@
baltic iso-ir-179
Bang-Bang
BIG5 BIG-5 BIG-FIVE BIGFIVE CN-BIG5 csBig5
+BIG5HKSCS
BS_4730 gb ISO646-GB iso-ir-4 uk
BS_viewdata iso-ir-47
CDC-NOS NOS
+CHAR
combined-UCS-2 co
CORK T1
count-characters
EUC-KR csEUCKR EUCKR EUC_KR
EUC-TW csEUCTW EUCTW EUC_TW
flat
+GB18030
GBK CP936
GB_1988-80 cn csISO57GB1988 ISO646-CN iso-ir-57
GB_2312-80 CHINESE csISO58GB231280 GB2312.1980-0 ISO-IR-58
VISCII csVISCII VISCII1.1-1
VNI
VPS
+WCHAR_T
+XML-standalone h0
EOF
AT_CHECK(recode -l, 0, expout)
baltic iso-ir-179
Bang-Bang
BIG5 BIG-5 BIG-FIVE BIGFIVE CN-BIG5 csBig5
+BIG5HKSCS
BS_4730 gb ISO646-GB iso-ir-4 uk
BS_viewdata iso-ir-47
CDC-NOS NOS
+CHAR
combined-UCS-2 co
CORK T1
count-characters
EUC-KR csEUCKR EUCKR EUC_KR
EUC-TW csEUCTW EUCTW EUC_TW
flat
+GB18030
GBK CP936
GB_1988-80 cn csISO57GB1988 ISO646-CN iso-ir-57
GB_2312-80 CHINESE csISO58GB231280 GB2312.1980-0 ISO-IR-58
VISCII csVISCII VISCII1.1-1
VNI
VPS
+WCHAR_T
+XML-standalone h0
EOF
$at_traceoff
test -n "$at_verbose" \
- && echo "$srcdir/names.m4:285: testing..."
-echo names.m4:285 > at-check-line
+ && echo "$srcdir/names.m4:290: testing..."
+echo names.m4:290 > at-check-line
test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
$at_traceon
recode -l
rm -rf stdout stderr expout
# Snippet )c2)
- echo names.m4:289 > at-check-line
+ echo names.m4:294 > at-check-line
if test -n "$at_verbose"; then
echo 'testing the --find-subsets option'
echo $at_n " $at_c"
fi
- echo $at_n "2. $srcdir/names.m4:289 $at_c"
+ echo $at_n "2. $srcdir/names.m4:294 $at_c"
if test -z "$at_skip_mode"; then
(
# Snippet (d2(
# Testing the --find-subsets option
# Snippet )d2)
# Snippet (s2(
-# starting from `names.m4:289'.
+# starting from `names.m4:294'.
$at_traceon
cat >expout <<'EOF'
$at_traceoff
test -n "$at_verbose" \
- && echo "$srcdir/names.m4:740: testing..."
-echo names.m4:740 > at-check-line
+ && echo "$srcdir/names.m4:745: testing..."
+echo names.m4:745 > at-check-line
test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
$at_traceon
recode -T | sort