diff --git a/CMakeLists.txt b/CMakeLists.txt index 7febb808463..8d1295b29c5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -737,11 +737,13 @@ dolphin_find_optional_system_library(MBEDTLS Externals/mbedtls 2.28) dolphin_find_optional_system_library(CURL Externals/curl) -if(NOT ANDROID) - dolphin_find_optional_system_library(Iconv Externals/libiconv-1.14) -else() - message(STATUS "Using static iconv from Externals") - add_subdirectory(Externals/libiconv-1.14 EXCLUDE_FROM_ALL) +if(NOT WIN32) + if(NOT ANDROID) + dolphin_find_optional_system_library(Iconv Externals/libiconv 1.14) + else() + message(STATUS "Using static iconv from Externals") + add_subdirectory(Externals/libiconv EXCLUDE_FROM_ALL) + endif() endif() if(NOT ANDROID) diff --git a/Externals/libiconv-1.14/.gitattributes b/Externals/libiconv-1.14/.gitattributes deleted file mode 100644 index ca4ea2772a3..00000000000 --- a/Externals/libiconv-1.14/.gitattributes +++ /dev/null @@ -1 +0,0 @@ -ChangeLog merge=merge-changelog diff --git a/Externals/libiconv-1.14/CMakeLists.txt b/Externals/libiconv-1.14/CMakeLists.txt deleted file mode 100644 index 54c3ca6eeca..00000000000 --- a/Externals/libiconv-1.14/CMakeLists.txt +++ /dev/null @@ -1,13 +0,0 @@ -add_library(iconv STATIC - lib/iconv.c - lib/relocatable.c - libcharset/lib/localcharset.c -) -target_include_directories(iconv - PUBLIC - include - PRIVATE - libcharset/include -) -dolphin_disable_warnings(iconv) -add_library(Iconv::Iconv ALIAS iconv) diff --git a/Externals/libiconv-1.14/config.h b/Externals/libiconv-1.14/config.h deleted file mode 100644 index 259357b1db7..00000000000 --- a/Externals/libiconv-1.14/config.h +++ /dev/null @@ -1,927 +0,0 @@ -/* config.h. Generated from config.h.in by configure. */ -/* config.h.in. Generated from configure.ac by autoheader. */ - -/* Define to the number of bits in type 'ptrdiff_t'. */ -/* #undef BITSIZEOF_PTRDIFF_T */ - -/* Define to the number of bits in type 'sig_atomic_t'. */ -/* #undef BITSIZEOF_SIG_ATOMIC_T */ - -/* Define to the number of bits in type 'size_t'. */ -/* #undef BITSIZEOF_SIZE_T */ - -/* Define to the number of bits in type 'wchar_t'. */ -/* #undef BITSIZEOF_WCHAR_T */ - -/* Define to the number of bits in type 'wint_t'. */ -/* #undef BITSIZEOF_WINT_T */ - -/* 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 to 1 if using `alloca.c'. */ -/* #undef C_ALLOCA */ - -/* Define to 1 if // is a file system root distinct from /. */ -/* #undef DOUBLE_SLASH_IS_DISTINCT_ROOT */ - -/* Define as good substitute value for EILSEQ. */ -/* #undef EILSEQ */ - -/* Define to 1 to enable a few rarely used encodings. */ -/* #undef ENABLE_EXTRA */ - -/* Define to 1 if translation of program messages to the user's native - language is requested. */ -#define ENABLE_NLS 1 - -/* Define to 1 if the package shall run at any location in the file system. */ -/* #undef ENABLE_RELOCATABLE */ - -/* Define to 1 if realpath() can malloc memory, always gives an absolute path, - and handles trailing slash correctly. */ -#define FUNC_REALPATH_WORKS 1 - -/* Define to a C preprocessor expression that evaluates to 1 or 0, depending - whether the gnulib module canonicalize-lgpl shall be considered present. */ -#define GNULIB_CANONICALIZE_LGPL 1 - -/* Define to a C preprocessor expression that evaluates to 1 or 0, depending - whether the gnulib module sigpipe shall be considered present. */ -#define GNULIB_SIGPIPE 1 - -/* Define to a C preprocessor expression that evaluates to 1 or 0, depending - whether the gnulib module strerror shall be considered present. */ -#define GNULIB_STRERROR 1 - -/* Define to 1 when the gnulib module canonicalize_file_name should be tested. - */ -#define GNULIB_TEST_CANONICALIZE_FILE_NAME 1 - -/* Define to 1 when the gnulib module environ should be tested. */ -#define GNULIB_TEST_ENVIRON 1 - -/* Define to 1 when the gnulib module lstat should be tested. */ -#define GNULIB_TEST_LSTAT 1 - -/* Define to 1 when the gnulib module read should be tested. */ -#define GNULIB_TEST_READ 1 - -/* Define to 1 when the gnulib module readlink should be tested. */ -#define GNULIB_TEST_READLINK 1 - -/* Define to 1 when the gnulib module realpath should be tested. */ -#define GNULIB_TEST_REALPATH 1 - -/* Define to 1 when the gnulib module sigprocmask should be tested. */ -#define GNULIB_TEST_SIGPROCMASK 1 - -/* Define to 1 when the gnulib module stat should be tested. */ -#define GNULIB_TEST_STAT 1 - -/* Define to 1 when the gnulib module strerror should be tested. */ -#define GNULIB_TEST_STRERROR 1 - -/* Define to 1 if you have `alloca', as a function or macro. */ -#define HAVE_ALLOCA 1 - -/* Define to 1 if you have and it should be used (not on Ultrix). - */ -#define HAVE_ALLOCA_H 1 - -/* Define to 1 if you have the `canonicalize_file_name' function. */ -#define HAVE_CANONICALIZE_FILE_NAME 1 - -/* Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the - CoreFoundation framework. */ -/* #undef HAVE_CFLOCALECOPYCURRENT */ - -/* Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in - the CoreFoundation framework. */ -/* #undef HAVE_CFPREFERENCESCOPYAPPVALUE */ - -/* Define if the GNU dcgettext() function is already present or preinstalled. - */ -#define HAVE_DCGETTEXT 1 - -/* Define to 1 if you have the declaration of `clearerr_unlocked', and to 0 if - you don't. */ -#define HAVE_DECL_CLEARERR_UNLOCKED 1 - -/* Define to 1 if you have the declaration of `feof_unlocked', and to 0 if you - don't. */ -#define HAVE_DECL_FEOF_UNLOCKED 1 - -/* Define to 1 if you have the declaration of `ferror_unlocked', and to 0 if - you don't. */ -#define HAVE_DECL_FERROR_UNLOCKED 1 - -/* Define to 1 if you have the declaration of `fflush_unlocked', and to 0 if - you don't. */ -#define HAVE_DECL_FFLUSH_UNLOCKED 1 - -/* Define to 1 if you have the declaration of `fgets_unlocked', and to 0 if - you don't. */ -#define HAVE_DECL_FGETS_UNLOCKED 1 - -/* Define to 1 if you have the declaration of `fputc_unlocked', and to 0 if - you don't. */ -#define HAVE_DECL_FPUTC_UNLOCKED 1 - -/* Define to 1 if you have the declaration of `fputs_unlocked', and to 0 if - you don't. */ -#define HAVE_DECL_FPUTS_UNLOCKED 1 - -/* Define to 1 if you have the declaration of `fread_unlocked', and to 0 if - you don't. */ -#define HAVE_DECL_FREAD_UNLOCKED 1 - -/* Define to 1 if you have the declaration of `fwrite_unlocked', and to 0 if - you don't. */ -#define HAVE_DECL_FWRITE_UNLOCKED 1 - -/* Define to 1 if you have the declaration of `getchar_unlocked', and to 0 if - you don't. */ -#define HAVE_DECL_GETCHAR_UNLOCKED 1 - -/* Define to 1 if you have the declaration of `getc_unlocked', and to 0 if you - don't. */ -#define HAVE_DECL_GETC_UNLOCKED 1 - -/* Define to 1 if you have the declaration of `program_invocation_name', and - to 0 if you don't. */ -#define HAVE_DECL_PROGRAM_INVOCATION_NAME 1 - -/* Define to 1 if you have the declaration of `program_invocation_short_name', - and to 0 if you don't. */ -#define HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME 1 - -/* Define to 1 if you have the declaration of `putchar_unlocked', and to 0 if - you don't. */ -#define HAVE_DECL_PUTCHAR_UNLOCKED 1 - -/* Define to 1 if you have the declaration of `putc_unlocked', and to 0 if you - don't. */ -#define HAVE_DECL_PUTC_UNLOCKED 1 - -/* Define to 1 if you have the declaration of `setenv', and to 0 if you don't. - */ -#define HAVE_DECL_SETENV 1 - -/* Define to 1 if you have the declaration of `strerror_r', and to 0 if you - don't. */ -#define HAVE_DECL_STRERROR_R 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_DLFCN_H 1 - -/* Define if you have the declaration of environ. */ -#define HAVE_ENVIRON_DECL 1 - -/* Define to 1 if you have the `getcwd' function. */ -#define HAVE_GETCWD 1 - -/* Define to 1 if you have the `getc_unlocked' function. */ -#define HAVE_GETC_UNLOCKED 1 - -/* Define if the GNU gettext() function is already present or preinstalled. */ -#define HAVE_GETTEXT 1 - -/* Define if you have the iconv() function and it works. */ -#define HAVE_ICONV 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_INTTYPES_H 1 - -/* Define if you have and nl_langinfo(CODESET). */ -#define HAVE_LANGINFO_CODESET 1 - -/* Define to 1 if the system has the type `long long int'. */ -#define HAVE_LONG_LONG_INT 1 - -/* Define to 1 if you have the `lstat' function. */ -#define HAVE_LSTAT 1 - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_MACH_O_DYLD_H */ - -/* Define to 1 if you have the `mbrtowc' function. */ -#define HAVE_MBRTOWC 1 - -/* Define to 1 if you have the `mbsinit' function. */ -#define HAVE_MBSINIT 1 - -/* Define to 1 if declares mbstate_t. */ -#define HAVE_MBSTATE_T 1 - -/* Define to 1 if you have the `memmove' function. */ -#define HAVE_MEMMOVE 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_MEMORY_H 1 - -/* Define to 1 if atoll is declared even after undefining macros. */ -#define HAVE_RAW_DECL_ATOLL 1 - -/* Define to 1 if canonicalize_file_name is declared even after undefining - macros. */ -#define HAVE_RAW_DECL_CANONICALIZE_FILE_NAME 1 - -/* Define to 1 if chown is declared even after undefining macros. */ -#define HAVE_RAW_DECL_CHOWN 1 - -/* Define to 1 if dprintf is declared even after undefining macros. */ -#define HAVE_RAW_DECL_DPRINTF 1 - -/* Define to 1 if dup2 is declared even after undefining macros. */ -#define HAVE_RAW_DECL_DUP2 1 - -/* Define to 1 if dup3 is declared even after undefining macros. */ -#define HAVE_RAW_DECL_DUP3 1 - -/* Define to 1 if endusershell is declared even after undefining macros. */ -#define HAVE_RAW_DECL_ENDUSERSHELL 1 - -/* Define to 1 if environ is declared even after undefining macros. */ -#define HAVE_RAW_DECL_ENVIRON 1 - -/* Define to 1 if euidaccess is declared even after undefining macros. */ -#define HAVE_RAW_DECL_EUIDACCESS 1 - -/* Define to 1 if faccessat is declared even after undefining macros. */ -#define HAVE_RAW_DECL_FACCESSAT 1 - -/* Define to 1 if fchdir is declared even after undefining macros. */ -#define HAVE_RAW_DECL_FCHDIR 1 - -/* Define to 1 if fchmodat is declared even after undefining macros. */ -#define HAVE_RAW_DECL_FCHMODAT 1 - -/* Define to 1 if fchownat is declared even after undefining macros. */ -#define HAVE_RAW_DECL_FCHOWNAT 1 - -/* Define to 1 if fcntl is declared even after undefining macros. */ -#define HAVE_RAW_DECL_FCNTL 1 - -/* Define to 1 if ffsl is declared even after undefining macros. */ -#define HAVE_RAW_DECL_FFSL 1 - -/* Define to 1 if ffsll is declared even after undefining macros. */ -#define HAVE_RAW_DECL_FFSLL 1 - -/* Define to 1 if fpurge is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_FPURGE */ - -/* Define to 1 if fseeko is declared even after undefining macros. */ -#define HAVE_RAW_DECL_FSEEKO 1 - -/* Define to 1 if fstatat is declared even after undefining macros. */ -#define HAVE_RAW_DECL_FSTATAT 1 - -/* Define to 1 if fsync is declared even after undefining macros. */ -#define HAVE_RAW_DECL_FSYNC 1 - -/* Define to 1 if ftello is declared even after undefining macros. */ -#define HAVE_RAW_DECL_FTELLO 1 - -/* Define to 1 if ftruncate is declared even after undefining macros. */ -#define HAVE_RAW_DECL_FTRUNCATE 1 - -/* Define to 1 if futimens is declared even after undefining macros. */ -#define HAVE_RAW_DECL_FUTIMENS 1 - -/* Define to 1 if getcwd is declared even after undefining macros. */ -#define HAVE_RAW_DECL_GETCWD 1 - -/* Define to 1 if getdelim is declared even after undefining macros. */ -#define HAVE_RAW_DECL_GETDELIM 1 - -/* Define to 1 if getdomainname is declared even after undefining macros. */ -#define HAVE_RAW_DECL_GETDOMAINNAME 1 - -/* Define to 1 if getdtablesize is declared even after undefining macros. */ -#define HAVE_RAW_DECL_GETDTABLESIZE 1 - -/* Define to 1 if getgroups is declared even after undefining macros. */ -#define HAVE_RAW_DECL_GETGROUPS 1 - -/* Define to 1 if gethostname is declared even after undefining macros. */ -#define HAVE_RAW_DECL_GETHOSTNAME 1 - -/* Define to 1 if getline is declared even after undefining macros. */ -#define HAVE_RAW_DECL_GETLINE 1 - -/* Define to 1 if getloadavg is declared even after undefining macros. */ -#define HAVE_RAW_DECL_GETLOADAVG 1 - -/* Define to 1 if getlogin is declared even after undefining macros. */ -#define HAVE_RAW_DECL_GETLOGIN 1 - -/* Define to 1 if getlogin_r is declared even after undefining macros. */ -#define HAVE_RAW_DECL_GETLOGIN_R 1 - -/* Define to 1 if getpagesize is declared even after undefining macros. */ -#define HAVE_RAW_DECL_GETPAGESIZE 1 - -/* Define to 1 if getsubopt is declared even after undefining macros. */ -#define HAVE_RAW_DECL_GETSUBOPT 1 - -/* Define to 1 if getusershell is declared even after undefining macros. */ -#define HAVE_RAW_DECL_GETUSERSHELL 1 - -/* Define to 1 if grantpt is declared even after undefining macros. */ -#define HAVE_RAW_DECL_GRANTPT 1 - -/* Define to 1 if group_member is declared even after undefining macros. */ -#define HAVE_RAW_DECL_GROUP_MEMBER 1 - -/* Define to 1 if initstat_r is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_INITSTAT_R */ - -/* Define to 1 if lchmod is declared even after undefining macros. */ -#define HAVE_RAW_DECL_LCHMOD 1 - -/* Define to 1 if lchown is declared even after undefining macros. */ -#define HAVE_RAW_DECL_LCHOWN 1 - -/* Define to 1 if link is declared even after undefining macros. */ -#define HAVE_RAW_DECL_LINK 1 - -/* Define to 1 if linkat is declared even after undefining macros. */ -#define HAVE_RAW_DECL_LINKAT 1 - -/* Define to 1 if lseek is declared even after undefining macros. */ -#define HAVE_RAW_DECL_LSEEK 1 - -/* Define to 1 if lstat is declared even after undefining macros. */ -#define HAVE_RAW_DECL_LSTAT 1 - -/* Define to 1 if memmem is declared even after undefining macros. */ -#define HAVE_RAW_DECL_MEMMEM 1 - -/* Define to 1 if mempcpy is declared even after undefining macros. */ -#define HAVE_RAW_DECL_MEMPCPY 1 - -/* Define to 1 if memrchr is declared even after undefining macros. */ -#define HAVE_RAW_DECL_MEMRCHR 1 - -/* Define to 1 if mkdirat is declared even after undefining macros. */ -#define HAVE_RAW_DECL_MKDIRAT 1 - -/* Define to 1 if mkdtemp is declared even after undefining macros. */ -#define HAVE_RAW_DECL_MKDTEMP 1 - -/* Define to 1 if mkfifo is declared even after undefining macros. */ -#define HAVE_RAW_DECL_MKFIFO 1 - -/* Define to 1 if mkfifoat is declared even after undefining macros. */ -#define HAVE_RAW_DECL_MKFIFOAT 1 - -/* Define to 1 if mknod is declared even after undefining macros. */ -#define HAVE_RAW_DECL_MKNOD 1 - -/* Define to 1 if mknodat is declared even after undefining macros. */ -#define HAVE_RAW_DECL_MKNODAT 1 - -/* Define to 1 if mkostemp is declared even after undefining macros. */ -#define HAVE_RAW_DECL_MKOSTEMP 1 - -/* Define to 1 if mkostemps is declared even after undefining macros. */ -#define HAVE_RAW_DECL_MKOSTEMPS 1 - -/* Define to 1 if mkstemp is declared even after undefining macros. */ -#define HAVE_RAW_DECL_MKSTEMP 1 - -/* Define to 1 if mkstemps is declared even after undefining macros. */ -#define HAVE_RAW_DECL_MKSTEMPS 1 - -/* Define to 1 if openat is declared even after undefining macros. */ -#define HAVE_RAW_DECL_OPENAT 1 - -/* Define to 1 if pipe is declared even after undefining macros. */ -#define HAVE_RAW_DECL_PIPE 1 - -/* Define to 1 if pipe2 is declared even after undefining macros. */ -#define HAVE_RAW_DECL_PIPE2 1 - -/* Define to 1 if popen is declared even after undefining macros. */ -#define HAVE_RAW_DECL_POPEN 1 - -/* Define to 1 if pread is declared even after undefining macros. */ -#define HAVE_RAW_DECL_PREAD 1 - -/* Define to 1 if pthread_sigmask is declared even after undefining macros. */ -#define HAVE_RAW_DECL_PTHREAD_SIGMASK 1 - -/* Define to 1 if ptsname is declared even after undefining macros. */ -#define HAVE_RAW_DECL_PTSNAME 1 - -/* Define to 1 if pwrite is declared even after undefining macros. */ -#define HAVE_RAW_DECL_PWRITE 1 - -/* Define to 1 if random_r is declared even after undefining macros. */ -#define HAVE_RAW_DECL_RANDOM_R 1 - -/* Define to 1 if rawmemchr is declared even after undefining macros. */ -#define HAVE_RAW_DECL_RAWMEMCHR 1 - -/* Define to 1 if readlink is declared even after undefining macros. */ -#define HAVE_RAW_DECL_READLINK 1 - -/* Define to 1 if readlinkat is declared even after undefining macros. */ -#define HAVE_RAW_DECL_READLINKAT 1 - -/* Define to 1 if realpath is declared even after undefining macros. */ -#define HAVE_RAW_DECL_REALPATH 1 - -/* Define to 1 if renameat is declared even after undefining macros. */ -#define HAVE_RAW_DECL_RENAMEAT 1 - -/* Define to 1 if rmdir is declared even after undefining macros. */ -#define HAVE_RAW_DECL_RMDIR 1 - -/* Define to 1 if rpmatch is declared even after undefining macros. */ -#define HAVE_RAW_DECL_RPMATCH 1 - -/* Define to 1 if setenv is declared even after undefining macros. */ -#define HAVE_RAW_DECL_SETENV 1 - -/* Define to 1 if setstate_r is declared even after undefining macros. */ -#define HAVE_RAW_DECL_SETSTATE_R 1 - -/* Define to 1 if setusershell is declared even after undefining macros. */ -#define HAVE_RAW_DECL_SETUSERSHELL 1 - -/* Define to 1 if sigaction is declared even after undefining macros. */ -#define HAVE_RAW_DECL_SIGACTION 1 - -/* Define to 1 if sigaddset is declared even after undefining macros. */ -#define HAVE_RAW_DECL_SIGADDSET 1 - -/* Define to 1 if sigdelset is declared even after undefining macros. */ -#define HAVE_RAW_DECL_SIGDELSET 1 - -/* Define to 1 if sigemptyset is declared even after undefining macros. */ -#define HAVE_RAW_DECL_SIGEMPTYSET 1 - -/* Define to 1 if sigfillset is declared even after undefining macros. */ -#define HAVE_RAW_DECL_SIGFILLSET 1 - -/* Define to 1 if sigismember is declared even after undefining macros. */ -#define HAVE_RAW_DECL_SIGISMEMBER 1 - -/* Define to 1 if sigpending is declared even after undefining macros. */ -#define HAVE_RAW_DECL_SIGPENDING 1 - -/* Define to 1 if sigprocmask is declared even after undefining macros. */ -#define HAVE_RAW_DECL_SIGPROCMASK 1 - -/* Define to 1 if sleep is declared even after undefining macros. */ -#define HAVE_RAW_DECL_SLEEP 1 - -/* Define to 1 if snprintf is declared even after undefining macros. */ -#define HAVE_RAW_DECL_SNPRINTF 1 - -/* Define to 1 if srandom_r is declared even after undefining macros. */ -#define HAVE_RAW_DECL_SRANDOM_R 1 - -/* Define to 1 if stat is declared even after undefining macros. */ -#define HAVE_RAW_DECL_STAT 1 - -/* Define to 1 if stpcpy is declared even after undefining macros. */ -#define HAVE_RAW_DECL_STPCPY 1 - -/* Define to 1 if stpncpy is declared even after undefining macros. */ -#define HAVE_RAW_DECL_STPNCPY 1 - -/* Define to 1 if strcasestr is declared even after undefining macros. */ -#define HAVE_RAW_DECL_STRCASESTR 1 - -/* Define to 1 if strchrnul is declared even after undefining macros. */ -#define HAVE_RAW_DECL_STRCHRNUL 1 - -/* Define to 1 if strdup is declared even after undefining macros. */ -#define HAVE_RAW_DECL_STRDUP 1 - -/* Define to 1 if strerror_r is declared even after undefining macros. */ -#define HAVE_RAW_DECL_STRERROR_R 1 - -/* Define to 1 if strncat is declared even after undefining macros. */ -#define HAVE_RAW_DECL_STRNCAT 1 - -/* Define to 1 if strndup is declared even after undefining macros. */ -#define HAVE_RAW_DECL_STRNDUP 1 - -/* Define to 1 if strnlen is declared even after undefining macros. */ -#define HAVE_RAW_DECL_STRNLEN 1 - -/* Define to 1 if strpbrk is declared even after undefining macros. */ -#define HAVE_RAW_DECL_STRPBRK 1 - -/* Define to 1 if strsep is declared even after undefining macros. */ -#define HAVE_RAW_DECL_STRSEP 1 - -/* Define to 1 if strsignal is declared even after undefining macros. */ -#define HAVE_RAW_DECL_STRSIGNAL 1 - -/* Define to 1 if strtod is declared even after undefining macros. */ -#define HAVE_RAW_DECL_STRTOD 1 - -/* Define to 1 if strtok_r is declared even after undefining macros. */ -#define HAVE_RAW_DECL_STRTOK_R 1 - -/* Define to 1 if strtoll is declared even after undefining macros. */ -#define HAVE_RAW_DECL_STRTOLL 1 - -/* Define to 1 if strtoull is declared even after undefining macros. */ -#define HAVE_RAW_DECL_STRTOULL 1 - -/* Define to 1 if strverscmp is declared even after undefining macros. */ -#define HAVE_RAW_DECL_STRVERSCMP 1 - -/* Define to 1 if symlink is declared even after undefining macros. */ -#define HAVE_RAW_DECL_SYMLINK 1 - -/* Define to 1 if symlinkat is declared even after undefining macros. */ -#define HAVE_RAW_DECL_SYMLINKAT 1 - -/* Define to 1 if tmpfile is declared even after undefining macros. */ -#define HAVE_RAW_DECL_TMPFILE 1 - -/* Define to 1 if ttyname_r is declared even after undefining macros. */ -#define HAVE_RAW_DECL_TTYNAME_R 1 - -/* Define to 1 if unlink is declared even after undefining macros. */ -#define HAVE_RAW_DECL_UNLINK 1 - -/* Define to 1 if unlinkat is declared even after undefining macros. */ -#define HAVE_RAW_DECL_UNLINKAT 1 - -/* Define to 1 if unlockpt is declared even after undefining macros. */ -#define HAVE_RAW_DECL_UNLOCKPT 1 - -/* Define to 1 if unsetenv is declared even after undefining macros. */ -#define HAVE_RAW_DECL_UNSETENV 1 - -/* Define to 1 if usleep is declared even after undefining macros. */ -#define HAVE_RAW_DECL_USLEEP 1 - -/* Define to 1 if utimensat is declared even after undefining macros. */ -#define HAVE_RAW_DECL_UTIMENSAT 1 - -/* Define to 1 if vdprintf is declared even after undefining macros. */ -#define HAVE_RAW_DECL_VDPRINTF 1 - -/* Define to 1 if vsnprintf is declared even after undefining macros. */ -#define HAVE_RAW_DECL_VSNPRINTF 1 - -/* Define to 1 if _Exit is declared even after undefining macros. */ -#define HAVE_RAW_DECL__EXIT 1 - -/* Define to 1 if you have the `readlink' function. */ -#define HAVE_READLINK 1 - -/* Define to 1 if you have the `readlinkat' function. */ -#define HAVE_READLINKAT 1 - -/* Define to 1 if you have the `realpath' function. */ -#define HAVE_REALPATH 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_SEARCH_H 1 - -/* Define to 1 if you have the `setenv' function. */ -#define HAVE_SETENV 1 - -/* Define to 1 if you have the `setlocale' function. */ -#define HAVE_SETLOCALE 1 - -/* Define to 1 if 'sig_atomic_t' is a signed integer type. */ -/* #undef HAVE_SIGNED_SIG_ATOMIC_T */ - -/* Define to 1 if 'wchar_t' is a signed integer type. */ -/* #undef HAVE_SIGNED_WCHAR_T */ - -/* Define to 1 if 'wint_t' is a signed integer type. */ -/* #undef HAVE_SIGNED_WINT_T */ - -/* Define to 1 if the system has the type `sigset_t'. */ -#define HAVE_SIGSET_T 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STDINT_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STDLIB_H 1 - -/* Define to 1 if you have the `strerror_r' function. */ -#define HAVE_STRERROR_R 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STRINGS_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STRING_H 1 - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_SYS_BITYPES_H */ - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_SYS_INTTYPES_H */ - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_PARAM_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_SOCKET_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_STAT_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_TIME_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_TYPES_H 1 - -/* Define to 1 if you have the `tsearch' function. */ -#define HAVE_TSEARCH 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_UNISTD_H 1 - -/* Define to 1 if the system has the type `unsigned long long int'. */ -#define HAVE_UNSIGNED_LONG_LONG_INT 1 - -/* Define to 1 or 0, depending whether the compiler supports simple visibility - declarations. */ -#define HAVE_VISIBILITY 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_WCHAR_H 1 - -/* Define if you have the 'wchar_t' type. */ -#define HAVE_WCHAR_T 1 - -/* Define to 1 if you have the `wcrtomb' function. */ -#define HAVE_WCRTOMB 1 - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_WINSOCK2_H */ - -/* Define to 1 if O_NOATIME works. */ -#define HAVE_WORKING_O_NOATIME 1 - -/* Define to 1 if O_NOFOLLOW works. */ -#define HAVE_WORKING_O_NOFOLLOW 1 - -/* Define to 1 if the system has the type `_Bool'. */ -#define HAVE__BOOL 1 - -/* Define to 1 if you have the `_NSGetExecutablePath' function. */ -/* #undef HAVE__NSGETEXECUTABLEPATH */ - -/* Define as const if the declaration of iconv() needs const. */ -#define ICONV_CONST - -/* Define to the value of ${prefix}, as a string. */ -#define INSTALLPREFIX "/usr/local" - -/* Define to 1 if `lstat' dereferences a symlink specified with a trailing - slash. */ -#define LSTAT_FOLLOWS_SLASHED_SYMLINK 1 - -/* Define to the sub-directory in which libtool stores uninstalled libraries. - */ -#define LT_OBJDIR ".libs/" - -/* If malloc(0) is != NULL, define this to 1. Otherwise define this to 0. */ -#define MALLOC_0_IS_NONNULL 1 - -/* Define to 1 if your C compiler doesn't accept -c and -o together. */ -/* #undef NO_MINUS_C_MINUS_O */ - -/* Name of package */ -#define PACKAGE "libiconv" - -/* Define to the address where bug reports for this package should be sent. */ -#define PACKAGE_BUGREPORT "" - -/* Define to the full name of this package. */ -#define PACKAGE_NAME "" - -/* Define to the full name and version of this package. */ -#define PACKAGE_STRING "" - -/* Define to the one symbol short name of this package. */ -#define PACKAGE_TARNAME "" - -/* Define to the home page for this package. */ -#define PACKAGE_URL "" - -/* Define to the version of this package. */ -#define PACKAGE_VERSION "" - -/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type - 'ptrdiff_t'. */ -/* #undef PTRDIFF_T_SUFFIX */ - -/* Define to 1 if readlink fails to recognize a trailing slash. */ -/* #undef READLINK_TRAILING_SLASH_BUG */ - -/* Define to 1 if stat needs help when passed a directory name with a trailing - slash */ -/* #undef REPLACE_FUNC_STAT_DIR */ - -/* Define to 1 if stat needs help when passed a file name with a trailing - slash */ -/* #undef REPLACE_FUNC_STAT_FILE */ - -/* Define to 1 if strerror(0) does not return a message implying success. */ -/* #undef REPLACE_STRERROR_0 */ - -/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type - 'sig_atomic_t'. */ -/* #undef SIG_ATOMIC_T_SUFFIX */ - -/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type - 'size_t'. */ -/* #undef SIZE_T_SUFFIX */ - -/* 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 runtime. - 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 to 1 if the `S_IS*' macros in do not work properly. */ -/* #undef STAT_MACROS_BROKEN */ - -/* Define to 1 if you have the ANSI C header files. */ -#define STDC_HEADERS 1 - -/* Define to 1 if strerror_r returns char *. */ -#define STRERROR_R_CHAR_P 1 - -/* Define to the prefix of C symbols at the assembler and linker level, either - an underscore or empty. */ -#define USER_LABEL_PREFIX - -/* Define to 1 if you want getc etc. to use unlocked I/O if available. - Unlocked I/O can improve performance in unithreaded apps, but it is not - safe for multithreaded apps. */ -#define USE_UNLOCKED_IO 1 - -/* Version number of package */ -#define VERSION "1.14" - -/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type - 'wchar_t'. */ -/* #undef WCHAR_T_SUFFIX */ - -/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type - 'wint_t'. */ -/* #undef WINT_T_SUFFIX */ - -/* Define if the machine's byte ordering is little endian. */ -#define WORDS_LITTLEENDIAN 1 - -/* Define to 1 if on MINIX. */ -/* #undef _MINIX */ - -/* The _Noreturn keyword of draft C1X. */ -#ifndef _Noreturn -# if (3 <= __GNUC__ || (__GNUC__ == 2 && 8 <= __GNUC_MINOR__) \ - || 0x5110 <= __SUNPRO_C) -# define _Noreturn __attribute__ ((__noreturn__)) -# elif 1200 <= _MSC_VER -# define _Noreturn __declspec (noreturn) -# else -# define _Noreturn -# endif -#endif - - -/* Define to 2 if the system does not provide POSIX.1 features except with - this defined. */ -/* #undef _POSIX_1_SOURCE */ - -/* Define to 1 if you need to in order for `stat' and other things to work. */ -/* #undef _POSIX_SOURCE */ - -/* Define to 500 only on HP-UX. */ -/* #undef _XOPEN_SOURCE */ - -/* Enable extensions on AIX 3, Interix. */ -#ifndef _ALL_SOURCE -# define _ALL_SOURCE 1 -#endif -/* Enable general extensions on MacOS X. */ -#ifndef _DARWIN_C_SOURCE -# define _DARWIN_C_SOURCE 1 -#endif -/* Enable GNU extensions on systems that have them. */ -#ifndef _GNU_SOURCE -# define _GNU_SOURCE 1 -#endif -/* Enable threading extensions on Solaris. */ -#ifndef _POSIX_PTHREAD_SEMANTICS -# define _POSIX_PTHREAD_SEMANTICS 1 -#endif -/* Enable extensions on HP NonStop. */ -#ifndef _TANDEM_SOURCE -# define _TANDEM_SOURCE 1 -#endif -/* Enable general extensions on Solaris. */ -#ifndef __EXTENSIONS__ -# define __EXTENSIONS__ 1 -#endif - - -/* Define to `int' if doesn't define. */ -/* #undef gid_t */ - -/* Define to `__inline__' or `__inline' if that's what the C compiler - calls it, or to nothing if 'inline' is not supported under any name. */ -#ifndef __cplusplus -/* #undef inline */ -#endif - -/* Work around a bug in Apple GCC 4.0.1 build 5465: In C99 mode, it supports - the ISO C 99 semantics of 'extern inline' (unlike the GNU C semantics of - earlier versions), but does not display it by setting __GNUC_STDC_INLINE__. - __APPLE__ && __MACH__ test for MacOS X. - __APPLE_CC__ tests for the Apple compiler and its version. - __STDC_VERSION__ tests for the C99 mode. */ -#if defined __APPLE__ && defined __MACH__ && __APPLE_CC__ >= 5465 && !defined __cplusplus && __STDC_VERSION__ >= 199901L && !defined __GNUC_STDC_INLINE__ -# define __GNUC_STDC_INLINE__ 1 -#endif - -/* Define to a type if does not define. */ -/* #undef mbstate_t */ - -/* Define to the type of st_nlink in struct stat, or a supertype. */ -/* #undef nlink_t */ - -/* Define to the equivalent of the C99 'restrict' keyword, or to - nothing if this is not supported. Do not define if restrict is - supported directly. */ -#define restrict __restrict -/* Work around a bug in Sun C++: it does not support _Restrict or - __restrict__, even though the corresponding Sun C compiler ends up with - "#define restrict _Restrict" or "#define restrict __restrict__" in the - previous line. Perhaps some future version of Sun C++ will work with - restrict; if so, hopefully it defines __RESTRICT like Sun C does. */ -#if defined __SUNPRO_CC && !defined __RESTRICT -# define _Restrict -# define __restrict__ -#endif - -/* Define to `unsigned int' if does not define. */ -/* #undef size_t */ - -/* Define as a signed type of the same size as size_t. */ -/* #undef ssize_t */ - -/* Define to `int' if doesn't define. */ -/* #undef uid_t */ - -/* Define as a marker that can be attached to declarations that might not - be used. This helps to reduce warnings, such as from - GCC -Wunused-parameter. */ -#if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7) -# define _GL_UNUSED __attribute__ ((__unused__)) -#else -# define _GL_UNUSED -#endif -/* The name _UNUSED_PARAMETER_ is an earlier spelling, although the name - is a misnomer outside of parameter lists. */ -#define _UNUSED_PARAMETER_ _GL_UNUSED - -/* The __pure__ attribute was added in gcc 2.96. */ -#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96) -# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__)) -#else -# define _GL_ATTRIBUTE_PURE /* empty */ -#endif - -/* The __const__ attribute was added in gcc 2.95. */ -#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95) -# define _GL_ATTRIBUTE_CONST __attribute__ ((__const__)) -#else -# define _GL_ATTRIBUTE_CONST /* empty */ -#endif - - - -/* On Windows, variables that may be in a DLL must be marked specially. */ -#if defined _MSC_VER && defined _DLL -# define DLL_VARIABLE __declspec (dllimport) -#else -# define DLL_VARIABLE -#endif - diff --git a/Externals/libiconv-1.14/include/export.h b/Externals/libiconv-1.14/include/export.h deleted file mode 100644 index 62fb77b3c66..00000000000 --- a/Externals/libiconv-1.14/include/export.h +++ /dev/null @@ -1,6 +0,0 @@ - -#if @HAVE_VISIBILITY@ && BUILDING_LIBICONV -#define LIBICONV_DLL_EXPORTED __attribute__((__visibility__("default"))) -#else -#define LIBICONV_DLL_EXPORTED -#endif diff --git a/Externals/libiconv-1.14/lib/aliases.h b/Externals/libiconv-1.14/lib/aliases.h deleted file mode 100644 index b68ea2d19ae..00000000000 --- a/Externals/libiconv-1.14/lib/aliases.h +++ /dev/null @@ -1,1719 +0,0 @@ -/* ANSI-C code produced by gperf version 3.0.4 */ -/* Command-line: gperf -m 10 lib/aliases.gperf */ -/* Computed positions: -k'1,3-11,$' */ - -#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \ - && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \ - && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \ - && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \ - && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \ - && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \ - && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \ - && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \ - && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \ - && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \ - && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \ - && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \ - && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \ - && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \ - && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \ - && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \ - && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \ - && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \ - && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \ - && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \ - && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \ - && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \ - && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126)) -/* The character set is not based on ISO-646. */ -#error "gperf generated tables don't work with this execution character set. Please report a bug to ." -#endif - -#line 1 "lib/aliases.gperf" -struct alias { int name; unsigned int encoding_index; }; - -#define TOTAL_KEYWORDS 347 -#define MIN_WORD_LENGTH 2 -#define MAX_WORD_LENGTH 45 -#define MIN_HASH_VALUE 7 -#define MAX_HASH_VALUE 935 -/* maximum key range = 929, 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[] = - { - 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, - 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, - 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, - 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, - 936, 936, 936, 936, 936, 16, 62, 936, 73, 0, - 5, 2, 47, 4, 1, 168, 8, 12, 357, 936, - 936, 936, 936, 936, 936, 112, 123, 3, 14, 34, - 71, 142, 147, 0, 258, 79, 39, 122, 4, 0, - 109, 936, 76, 1, 54, 147, 114, 180, 102, 3, - 10, 936, 936, 936, 936, 34, 936, 936, 936, 936, - 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, - 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, - 936, 936, 936, 936, 936, 936, 936, 936 - }; - register int hval = len; - - switch (hval) - { - default: - hval += asso_values[(unsigned char)str[10]]; - /*FALLTHROUGH*/ - case 10: - hval += asso_values[(unsigned char)str[9]]; - /*FALLTHROUGH*/ - case 9: - hval += asso_values[(unsigned char)str[8]]; - /*FALLTHROUGH*/ - case 8: - hval += asso_values[(unsigned char)str[7]]; - /*FALLTHROUGH*/ - case 7: - hval += asso_values[(unsigned char)str[6]]; - /*FALLTHROUGH*/ - case 6: - hval += asso_values[(unsigned char)str[5]]; - /*FALLTHROUGH*/ - case 5: - hval += asso_values[(unsigned char)str[4]]; - /*FALLTHROUGH*/ - case 4: - hval += asso_values[(unsigned char)str[3]]; - /*FALLTHROUGH*/ - case 3: - hval += asso_values[(unsigned char)str[2]]; - /*FALLTHROUGH*/ - case 2: - case 1: - hval += asso_values[(unsigned char)str[0]]; - break; - } - return hval + asso_values[(unsigned char)str[len - 1]]; -} - -struct stringpool_t - { - char stringpool_str7[sizeof("SJIS")]; - char stringpool_str9[sizeof("CN")]; - char stringpool_str11[sizeof("CP1131")]; - char stringpool_str12[sizeof("CP1361")]; - char stringpool_str13[sizeof("866")]; - char stringpool_str15[sizeof("CP1133")]; - char stringpool_str18[sizeof("CP1251")]; - char stringpool_str19[sizeof("CP866")]; - char stringpool_str20[sizeof("CP1256")]; - char stringpool_str21[sizeof("862")]; - char stringpool_str22[sizeof("CP1253")]; - char stringpool_str24[sizeof("CP936")]; - char stringpool_str26[sizeof("CP1255")]; - char stringpool_str27[sizeof("CP862")]; - char stringpool_str28[sizeof("CP1252")]; - char stringpool_str30[sizeof("C99")]; - char stringpool_str32[sizeof("CP932")]; - char stringpool_str34[sizeof("CP1258")]; - char stringpool_str40[sizeof("CP819")]; - char stringpool_str41[sizeof("L1")]; - char stringpool_str42[sizeof("L6")]; - char stringpool_str43[sizeof("L3")]; - char stringpool_str45[sizeof("L5")]; - char stringpool_str46[sizeof("L2")]; - char stringpool_str49[sizeof("L8")]; - char stringpool_str53[sizeof("EUCCN")]; - char stringpool_str57[sizeof("ISO8859-1")]; - char stringpool_str58[sizeof("ISO8859-11")]; - char stringpool_str59[sizeof("ISO8859-6")]; - char stringpool_str60[sizeof("ISO8859-16")]; - char stringpool_str61[sizeof("ISO8859-3")]; - char stringpool_str62[sizeof("ISO8859-13")]; - char stringpool_str65[sizeof("ISO8859-5")]; - char stringpool_str66[sizeof("ISO8859-15")]; - char stringpool_str67[sizeof("ISO8859-2")]; - char stringpool_str70[sizeof("EUC-CN")]; - char stringpool_str73[sizeof("ISO8859-8")]; - char stringpool_str74[sizeof("ISO-8859-1")]; - char stringpool_str75[sizeof("ISO-8859-11")]; - char stringpool_str76[sizeof("ISO-8859-6")]; - char stringpool_str77[sizeof("ISO-8859-16")]; - char stringpool_str78[sizeof("ISO-8859-3")]; - char stringpool_str79[sizeof("ISO-8859-13")]; - char stringpool_str81[sizeof("ISO8859-9")]; - char stringpool_str82[sizeof("ISO-8859-5")]; - char stringpool_str83[sizeof("ISO-8859-15")]; - char stringpool_str84[sizeof("ISO-8859-2")]; - char stringpool_str85[sizeof("ISO646-CN")]; - char stringpool_str86[sizeof("R8")]; - char stringpool_str88[sizeof("L4")]; - char stringpool_str90[sizeof("ISO-8859-8")]; - char stringpool_str91[sizeof("CP949")]; - char stringpool_str92[sizeof("ISO_8859-1")]; - char stringpool_str93[sizeof("ISO_8859-11")]; - char stringpool_str94[sizeof("ISO_8859-6")]; - char stringpool_str95[sizeof("ISO_8859-16")]; - char stringpool_str96[sizeof("ISO_8859-3")]; - char stringpool_str97[sizeof("ISO_8859-13")]; - char stringpool_str98[sizeof("ISO-8859-9")]; - char stringpool_str99[sizeof("ISO_8859-16:2001")]; - char stringpool_str100[sizeof("ISO_8859-5")]; - char stringpool_str101[sizeof("ISO_8859-15")]; - char stringpool_str102[sizeof("ISO_8859-2")]; - char stringpool_str103[sizeof("LATIN1")]; - char stringpool_str105[sizeof("LATIN6")]; - char stringpool_str106[sizeof("CP154")]; - char stringpool_str107[sizeof("LATIN3")]; - char stringpool_str108[sizeof("ISO_8859-8")]; - char stringpool_str110[sizeof("ISO_8859-15:1998")]; - char stringpool_str111[sizeof("LATIN5")]; - char stringpool_str112[sizeof("CP1254")]; - char stringpool_str113[sizeof("LATIN2")]; - char stringpool_str114[sizeof("CSISO2022CN")]; - char stringpool_str116[sizeof("ISO_8859-9")]; - char stringpool_str117[sizeof("CHINESE")]; - char stringpool_str118[sizeof("ISO-IR-6")]; - char stringpool_str119[sizeof("LATIN8")]; - char stringpool_str120[sizeof("ASCII")]; - char stringpool_str121[sizeof("ISO-IR-166")]; - char stringpool_str122[sizeof("X0212")]; - char stringpool_str124[sizeof("VISCII")]; - char stringpool_str125[sizeof("ISO-IR-126")]; - char stringpool_str126[sizeof("CSASCII")]; - char stringpool_str127[sizeof("ISO-IR-165")]; - char stringpool_str129[sizeof("CSVISCII")]; - char stringpool_str130[sizeof("ISO-IR-226")]; - char stringpool_str131[sizeof("MAC")]; - char stringpool_str136[sizeof("ISO-IR-138")]; - char stringpool_str137[sizeof("ISO-IR-58")]; - char stringpool_str139[sizeof("IBM866")]; - char stringpool_str142[sizeof("ISO-2022-CN")]; - char stringpool_str143[sizeof("MS936")]; - char stringpool_str144[sizeof("LATIN-9")]; - char stringpool_str146[sizeof("ISO-IR-159")]; - char stringpool_str147[sizeof("IBM862")]; - char stringpool_str150[sizeof("US")]; - char stringpool_str151[sizeof("ISO8859-4")]; - char stringpool_str152[sizeof("ISO8859-14")]; - char stringpool_str153[sizeof("ISO_8859-14:1998")]; - char stringpool_str154[sizeof("ISO-IR-199")]; - char stringpool_str156[sizeof("UHC")]; - char stringpool_str157[sizeof("850")]; - char stringpool_str159[sizeof("HZ")]; - char stringpool_str160[sizeof("IBM819")]; - char stringpool_str162[sizeof("ISO-CELTIC")]; - char stringpool_str163[sizeof("ELOT_928")]; - char stringpool_str164[sizeof("CP1250")]; - char stringpool_str165[sizeof("GB2312")]; - char stringpool_str166[sizeof("CP850")]; - char stringpool_str168[sizeof("ISO-8859-4")]; - char stringpool_str169[sizeof("ISO-8859-14")]; - char stringpool_str170[sizeof("CP950")]; - char stringpool_str171[sizeof("CYRILLIC")]; - char stringpool_str176[sizeof("ISO_8859-10:1992")]; - char stringpool_str179[sizeof("UCS-2")]; - char stringpool_str180[sizeof("TCVN")]; - char stringpool_str181[sizeof("ISO-IR-148")]; - char stringpool_str185[sizeof("X0201")]; - char stringpool_str186[sizeof("ISO_8859-4")]; - char stringpool_str187[sizeof("ISO_8859-14")]; - char stringpool_str188[sizeof("L10")]; - char stringpool_str189[sizeof("ISO-IR-149")]; - char stringpool_str191[sizeof("ISO-IR-101")]; - char stringpool_str196[sizeof("ISO-2022-CN-EXT")]; - char stringpool_str197[sizeof("LATIN4")]; - char stringpool_str200[sizeof("ISO-IR-203")]; - char stringpool_str201[sizeof("X0208")]; - char stringpool_str202[sizeof("KSC_5601")]; - char stringpool_str204[sizeof("ISO8859-10")]; - char stringpool_str207[sizeof("VISCII1.1-1")]; - char stringpool_str209[sizeof("L7")]; - char stringpool_str211[sizeof("ISO-IR-14")]; - char stringpool_str212[sizeof("PT154")]; - char stringpool_str213[sizeof("TIS620")]; - char stringpool_str215[sizeof("ISO-IR-109")]; - char stringpool_str216[sizeof("CSUNICODE11")]; - char stringpool_str217[sizeof("KOI8-T")]; - char stringpool_str218[sizeof("RK1048")]; - char stringpool_str221[sizeof("ISO-8859-10")]; - char stringpool_str222[sizeof("TIS620.2533-1")]; - char stringpool_str223[sizeof("ISO646-US")]; - char stringpool_str224[sizeof("CSISOLATIN1")]; - char stringpool_str226[sizeof("CSISOLATIN6")]; - char stringpool_str228[sizeof("CSISOLATIN3")]; - char stringpool_str230[sizeof("TIS-620")]; - char stringpool_str232[sizeof("CSISOLATIN5")]; - char stringpool_str234[sizeof("CSISOLATIN2")]; - char stringpool_str235[sizeof("TIS620.2529-1")]; - char stringpool_str236[sizeof("CSKZ1048")]; - char stringpool_str237[sizeof("CSISOLATINCYRILLIC")]; - char stringpool_str238[sizeof("KZ-1048")]; - char stringpool_str239[sizeof("ISO_8859-10")]; - char stringpool_str241[sizeof("UNICODE-1-1")]; - char stringpool_str242[sizeof("UTF-16")]; - char stringpool_str245[sizeof("MS-EE")]; - char stringpool_str248[sizeof("CSUNICODE")]; - char stringpool_str249[sizeof("CSKOI8R")]; - char stringpool_str250[sizeof("LATIN10")]; - char stringpool_str252[sizeof("UTF-32")]; - char stringpool_str254[sizeof("CSUCS4")]; - char stringpool_str255[sizeof("UTF-8")]; - char stringpool_str259[sizeof("ISO-IR-144")]; - char stringpool_str261[sizeof("KOI8-R")]; - char stringpool_str262[sizeof("MS-ANSI")]; - char stringpool_str263[sizeof("UCS-4")]; - char stringpool_str264[sizeof("ISO-IR-110")]; - char stringpool_str266[sizeof("IBM-CP1133")]; - char stringpool_str267[sizeof("CSIBM866")]; - char stringpool_str270[sizeof("KS_C_5601-1989")]; - char stringpool_str271[sizeof("CHAR")]; - char stringpool_str273[sizeof("EUCKR")]; - char stringpool_str277[sizeof("BIG5")]; - char stringpool_str278[sizeof("CP874")]; - char stringpool_str279[sizeof("ARMSCII-8")]; - char stringpool_str282[sizeof("CSBIG5")]; - char stringpool_str283[sizeof("UCS-2LE")]; - char stringpool_str286[sizeof("IBM850")]; - char stringpool_str287[sizeof("US-ASCII")]; - char stringpool_str290[sizeof("EUC-KR")]; - char stringpool_str293[sizeof("CSGB2312")]; - char stringpool_str294[sizeof("BIG-5")]; - char stringpool_str295[sizeof("TIS620.2533-0")]; - char stringpool_str299[sizeof("CN-BIG5")]; - char stringpool_str302[sizeof("MACCYRILLIC")]; - char stringpool_str303[sizeof("GBK")]; - char stringpool_str304[sizeof("TIS620-0")]; - char stringpool_str305[sizeof("MS-CYRL")]; - char stringpool_str307[sizeof("CYRILLIC-ASIAN")]; - char stringpool_str308[sizeof("ECMA-118")]; - char stringpool_str310[sizeof("ISO-IR-179")]; - char stringpool_str311[sizeof("GREEK8")]; - char stringpool_str315[sizeof("KOREAN")]; - char stringpool_str318[sizeof("CSISOLATIN4")]; - char stringpool_str321[sizeof("ISO-10646-UCS-2")]; - char stringpool_str325[sizeof("UCS-4LE")]; - char stringpool_str326[sizeof("PTCP154")]; - char stringpool_str330[sizeof("CSISO14JISC6220RO")]; - char stringpool_str334[sizeof("CSISO2022KR")]; - char stringpool_str336[sizeof("ROMAN8")]; - char stringpool_str337[sizeof("ISO-IR-100")]; - char stringpool_str340[sizeof("JIS_C6226-1983")]; - char stringpool_str344[sizeof("CSISOLATINARABIC")]; - char stringpool_str347[sizeof("CP367")]; - char stringpool_str350[sizeof("UTF-16LE")]; - char stringpool_str351[sizeof("ISO_646.IRV:1991")]; - char stringpool_str354[sizeof("CP1257")]; - char stringpool_str355[sizeof("MACICELAND")]; - char stringpool_str356[sizeof("UTF-32LE")]; - char stringpool_str357[sizeof("CSKSC56011987")]; - char stringpool_str359[sizeof("ARABIC")]; - char stringpool_str362[sizeof("ISO-2022-KR")]; - char stringpool_str363[sizeof("ISO-10646-UCS-4")]; - char stringpool_str367[sizeof("UCS-2BE")]; - char stringpool_str368[sizeof("GB_2312-80")]; - char stringpool_str369[sizeof("JP")]; - char stringpool_str371[sizeof("MULELAO-1")]; - char stringpool_str372[sizeof("CSISO159JISX02121990")]; - char stringpool_str373[sizeof("GREEK")]; - char stringpool_str375[sizeof("TCVN5712-1")]; - char stringpool_str376[sizeof("CSISO58GB231280")]; - char stringpool_str378[sizeof("GB18030")]; - char stringpool_str379[sizeof("TCVN-5712")]; - char stringpool_str384[sizeof("GB_1988-80")]; - char stringpool_str385[sizeof("CSPTCP154")]; - char stringpool_str386[sizeof("ECMA-114")]; - char stringpool_str388[sizeof("CSUNICODE11UTF7")]; - char stringpool_str391[sizeof("ANSI_X3.4-1986")]; - char stringpool_str392[sizeof("UNICODELITTLE")]; - char stringpool_str393[sizeof("ISO8859-7")]; - char stringpool_str395[sizeof("CN-GB-ISOIR165")]; - char stringpool_str396[sizeof("STRK1048-2002")]; - char stringpool_str398[sizeof("ANSI_X3.4-1968")]; - char stringpool_str403[sizeof("KOI8-U")]; - char stringpool_str406[sizeof("UCS-2-INTERNAL")]; - char stringpool_str409[sizeof("UCS-4BE")]; - char stringpool_str410[sizeof("ISO-8859-7")]; - char stringpool_str411[sizeof("SHIFT-JIS")]; - char stringpool_str412[sizeof("CN-GB")]; - char stringpool_str413[sizeof("JIS_C6220-1969-RO")]; - char stringpool_str415[sizeof("UNICODE-1-1-UTF-7")]; - char stringpool_str416[sizeof("WINDOWS-1251")]; - char stringpool_str417[sizeof("WINDOWS-1256")]; - char stringpool_str418[sizeof("WINDOWS-1253")]; - char stringpool_str420[sizeof("WINDOWS-1255")]; - char stringpool_str421[sizeof("WINDOWS-1252")]; - char stringpool_str422[sizeof("WINDOWS-936")]; - char stringpool_str424[sizeof("WINDOWS-1258")]; - char stringpool_str425[sizeof("CSEUCKR")]; - char stringpool_str426[sizeof("KS_C_5601-1987")]; - char stringpool_str428[sizeof("ISO_8859-7")]; - char stringpool_str429[sizeof("SHIFT_JIS")]; - char stringpool_str433[sizeof("JIS0208")]; - char stringpool_str434[sizeof("UTF-16BE")]; - char stringpool_str439[sizeof("LATIN7")]; - char stringpool_str440[sizeof("UTF-32BE")]; - char stringpool_str445[sizeof("MACTHAI")]; - char stringpool_str448[sizeof("UCS-4-INTERNAL")]; - char stringpool_str449[sizeof("CSISOLATINGREEK")]; - char stringpool_str451[sizeof("MACROMAN")]; - char stringpool_str452[sizeof("EXTENDED_UNIX_CODE_PACKED_FORMAT_FOR_JAPANESE")]; - char stringpool_str456[sizeof("EUCTW")]; - char stringpool_str457[sizeof("ISO-IR-57")]; - char stringpool_str458[sizeof("ISO-IR-157")]; - char stringpool_str459[sizeof("ISO-IR-127")]; - char stringpool_str461[sizeof("ISO-IR-87")]; - char stringpool_str463[sizeof("WINDOWS-1254")]; - char stringpool_str464[sizeof("ISO_8859-3:1988")]; - char stringpool_str466[sizeof("ISO_8859-5:1988")]; - char stringpool_str467[sizeof("IBM367")]; - char stringpool_str470[sizeof("ISO_8859-8:1988")]; - char stringpool_str471[sizeof("HZ-GB-2312")]; - char stringpool_str473[sizeof("EUC-TW")]; - char stringpool_str474[sizeof("CSISO57GB1988")]; - char stringpool_str475[sizeof("NEXTSTEP")]; - char stringpool_str476[sizeof("CSISO2022JP2")]; - char stringpool_str478[sizeof("ISO_8859-9:1989")]; - char stringpool_str480[sizeof("KOI8-RU")]; - char stringpool_str487[sizeof("MACINTOSH")]; - char stringpool_str489[sizeof("WINDOWS-1250")]; - char stringpool_str492[sizeof("JIS_X0212")]; - char stringpool_str500[sizeof("ISO-2022-JP-1")]; - char stringpool_str501[sizeof("MACCROATIAN")]; - char stringpool_str502[sizeof("HP-ROMAN8")]; - char stringpool_str505[sizeof("ISO-2022-JP-2")]; - char stringpool_str509[sizeof("ISO_8859-4:1988")]; - char stringpool_str510[sizeof("BIG5HKSCS")]; - char stringpool_str515[sizeof("ASMO-708")]; - char stringpool_str518[sizeof("EUCJP")]; - char stringpool_str525[sizeof("BIGFIVE")]; - char stringpool_str527[sizeof("BIG5-HKSCS")]; - char stringpool_str531[sizeof("MACCENTRALEUROPE")]; - char stringpool_str532[sizeof("CSPC862LATINHEBREW")]; - char stringpool_str535[sizeof("EUC-JP")]; - char stringpool_str542[sizeof("BIG-FIVE")]; - char stringpool_str546[sizeof("CSSHIFTJIS")]; - char stringpool_str550[sizeof("ISO646-JP")]; - char stringpool_str554[sizeof("JISX0201-1976")]; - char stringpool_str555[sizeof("JIS_X0201")]; - char stringpool_str556[sizeof("CSISOLATINHEBREW")]; - char stringpool_str563[sizeof("MACARABIC")]; - char stringpool_str564[sizeof("CSISO87JISX0208")]; - char stringpool_str571[sizeof("JIS_X0208")]; - char stringpool_str575[sizeof("UTF-7")]; - char stringpool_str577[sizeof("MACGREEK")]; - char stringpool_str579[sizeof("CSISO2022JP")]; - char stringpool_str580[sizeof("MS-TURK")]; - char stringpool_str581[sizeof("JIS_X0212-1990")]; - char stringpool_str584[sizeof("WINDOWS-1257")]; - char stringpool_str586[sizeof("JIS_X0208-1983")]; - char stringpool_str590[sizeof("MS-GREEK")]; - char stringpool_str599[sizeof("CSHPROMAN8")]; - char stringpool_str600[sizeof("JAVA")]; - char stringpool_str601[sizeof("MS-HEBR")]; - char stringpool_str604[sizeof("CSMACINTOSH")]; - char stringpool_str607[sizeof("ISO-2022-JP")]; - char stringpool_str608[sizeof("CSEUCTW")]; - char stringpool_str614[sizeof("GEORGIAN-PS")]; - char stringpool_str615[sizeof("UNICODEBIG")]; - char stringpool_str617[sizeof("MS_KANJI")]; - char stringpool_str620[sizeof("CSPC850MULTILINGUAL")]; - char stringpool_str621[sizeof("MACUKRAINE")]; - char stringpool_str622[sizeof("ISO_8859-1:1987")]; - char stringpool_str623[sizeof("ISO_8859-6:1987")]; - char stringpool_str624[sizeof("ISO_8859-7:2003")]; - char stringpool_str626[sizeof("GEORGIAN-ACADEMY")]; - char stringpool_str627[sizeof("ISO_8859-2:1987")]; - char stringpool_str629[sizeof("JIS_X0212.1990-0")]; - char stringpool_str657[sizeof("JIS_X0208-1990")]; - char stringpool_str664[sizeof("WCHAR_T")]; - char stringpool_str673[sizeof("MACROMANIA")]; - char stringpool_str676[sizeof("WINDOWS-874")]; - char stringpool_str689[sizeof("CSEUCPKDFMTJAPANESE")]; - char stringpool_str691[sizeof("MS-ARAB")]; - char stringpool_str723[sizeof("UCS-2-SWAPPED")]; - char stringpool_str739[sizeof("TCVN5712-1:1993")]; - char stringpool_str746[sizeof("HEBREW")]; - char stringpool_str765[sizeof("UCS-4-SWAPPED")]; - char stringpool_str768[sizeof("JOHAB")]; - char stringpool_str786[sizeof("MACTURKISH")]; - char stringpool_str790[sizeof("ISO_8859-7:1987")]; - char stringpool_str842[sizeof("WINBALTRIM")]; - char stringpool_str888[sizeof("BIG5-HKSCS:2001")]; - char stringpool_str896[sizeof("BIG5-HKSCS:2008")]; - char stringpool_str898[sizeof("CSHALFWIDTHKATAKANA")]; - char stringpool_str900[sizeof("BIG5-HKSCS:1999")]; - char stringpool_str908[sizeof("MACHEBREW")]; - char stringpool_str935[sizeof("BIG5-HKSCS:2004")]; - }; -static const struct stringpool_t stringpool_contents = - { - "SJIS", - "CN", - "CP1131", - "CP1361", - "866", - "CP1133", - "CP1251", - "CP866", - "CP1256", - "862", - "CP1253", - "CP936", - "CP1255", - "CP862", - "CP1252", - "C99", - "CP932", - "CP1258", - "CP819", - "L1", - "L6", - "L3", - "L5", - "L2", - "L8", - "EUCCN", - "ISO8859-1", - "ISO8859-11", - "ISO8859-6", - "ISO8859-16", - "ISO8859-3", - "ISO8859-13", - "ISO8859-5", - "ISO8859-15", - "ISO8859-2", - "EUC-CN", - "ISO8859-8", - "ISO-8859-1", - "ISO-8859-11", - "ISO-8859-6", - "ISO-8859-16", - "ISO-8859-3", - "ISO-8859-13", - "ISO8859-9", - "ISO-8859-5", - "ISO-8859-15", - "ISO-8859-2", - "ISO646-CN", - "R8", - "L4", - "ISO-8859-8", - "CP949", - "ISO_8859-1", - "ISO_8859-11", - "ISO_8859-6", - "ISO_8859-16", - "ISO_8859-3", - "ISO_8859-13", - "ISO-8859-9", - "ISO_8859-16:2001", - "ISO_8859-5", - "ISO_8859-15", - "ISO_8859-2", - "LATIN1", - "LATIN6", - "CP154", - "LATIN3", - "ISO_8859-8", - "ISO_8859-15:1998", - "LATIN5", - "CP1254", - "LATIN2", - "CSISO2022CN", - "ISO_8859-9", - "CHINESE", - "ISO-IR-6", - "LATIN8", - "ASCII", - "ISO-IR-166", - "X0212", - "VISCII", - "ISO-IR-126", - "CSASCII", - "ISO-IR-165", - "CSVISCII", - "ISO-IR-226", - "MAC", - "ISO-IR-138", - "ISO-IR-58", - "IBM866", - "ISO-2022-CN", - "MS936", - "LATIN-9", - "ISO-IR-159", - "IBM862", - "US", - "ISO8859-4", - "ISO8859-14", - "ISO_8859-14:1998", - "ISO-IR-199", - "UHC", - "850", - "HZ", - "IBM819", - "ISO-CELTIC", - "ELOT_928", - "CP1250", - "GB2312", - "CP850", - "ISO-8859-4", - "ISO-8859-14", - "CP950", - "CYRILLIC", - "ISO_8859-10:1992", - "UCS-2", - "TCVN", - "ISO-IR-148", - "X0201", - "ISO_8859-4", - "ISO_8859-14", - "L10", - "ISO-IR-149", - "ISO-IR-101", - "ISO-2022-CN-EXT", - "LATIN4", - "ISO-IR-203", - "X0208", - "KSC_5601", - "ISO8859-10", - "VISCII1.1-1", - "L7", - "ISO-IR-14", - "PT154", - "TIS620", - "ISO-IR-109", - "CSUNICODE11", - "KOI8-T", - "RK1048", - "ISO-8859-10", - "TIS620.2533-1", - "ISO646-US", - "CSISOLATIN1", - "CSISOLATIN6", - "CSISOLATIN3", - "TIS-620", - "CSISOLATIN5", - "CSISOLATIN2", - "TIS620.2529-1", - "CSKZ1048", - "CSISOLATINCYRILLIC", - "KZ-1048", - "ISO_8859-10", - "UNICODE-1-1", - "UTF-16", - "MS-EE", - "CSUNICODE", - "CSKOI8R", - "LATIN10", - "UTF-32", - "CSUCS4", - "UTF-8", - "ISO-IR-144", - "KOI8-R", - "MS-ANSI", - "UCS-4", - "ISO-IR-110", - "IBM-CP1133", - "CSIBM866", - "KS_C_5601-1989", - "CHAR", - "EUCKR", - "BIG5", - "CP874", - "ARMSCII-8", - "CSBIG5", - "UCS-2LE", - "IBM850", - "US-ASCII", - "EUC-KR", - "CSGB2312", - "BIG-5", - "TIS620.2533-0", - "CN-BIG5", - "MACCYRILLIC", - "GBK", - "TIS620-0", - "MS-CYRL", - "CYRILLIC-ASIAN", - "ECMA-118", - "ISO-IR-179", - "GREEK8", - "KOREAN", - "CSISOLATIN4", - "ISO-10646-UCS-2", - "UCS-4LE", - "PTCP154", - "CSISO14JISC6220RO", - "CSISO2022KR", - "ROMAN8", - "ISO-IR-100", - "JIS_C6226-1983", - "CSISOLATINARABIC", - "CP367", - "UTF-16LE", - "ISO_646.IRV:1991", - "CP1257", - "MACICELAND", - "UTF-32LE", - "CSKSC56011987", - "ARABIC", - "ISO-2022-KR", - "ISO-10646-UCS-4", - "UCS-2BE", - "GB_2312-80", - "JP", - "MULELAO-1", - "CSISO159JISX02121990", - "GREEK", - "TCVN5712-1", - "CSISO58GB231280", - "GB18030", - "TCVN-5712", - "GB_1988-80", - "CSPTCP154", - "ECMA-114", - "CSUNICODE11UTF7", - "ANSI_X3.4-1986", - "UNICODELITTLE", - "ISO8859-7", - "CN-GB-ISOIR165", - "STRK1048-2002", - "ANSI_X3.4-1968", - "KOI8-U", - "UCS-2-INTERNAL", - "UCS-4BE", - "ISO-8859-7", - "SHIFT-JIS", - "CN-GB", - "JIS_C6220-1969-RO", - "UNICODE-1-1-UTF-7", - "WINDOWS-1251", - "WINDOWS-1256", - "WINDOWS-1253", - "WINDOWS-1255", - "WINDOWS-1252", - "WINDOWS-936", - "WINDOWS-1258", - "CSEUCKR", - "KS_C_5601-1987", - "ISO_8859-7", - "SHIFT_JIS", - "JIS0208", - "UTF-16BE", - "LATIN7", - "UTF-32BE", - "MACTHAI", - "UCS-4-INTERNAL", - "CSISOLATINGREEK", - "MACROMAN", - "EXTENDED_UNIX_CODE_PACKED_FORMAT_FOR_JAPANESE", - "EUCTW", - "ISO-IR-57", - "ISO-IR-157", - "ISO-IR-127", - "ISO-IR-87", - "WINDOWS-1254", - "ISO_8859-3:1988", - "ISO_8859-5:1988", - "IBM367", - "ISO_8859-8:1988", - "HZ-GB-2312", - "EUC-TW", - "CSISO57GB1988", - "NEXTSTEP", - "CSISO2022JP2", - "ISO_8859-9:1989", - "KOI8-RU", - "MACINTOSH", - "WINDOWS-1250", - "JIS_X0212", - "ISO-2022-JP-1", - "MACCROATIAN", - "HP-ROMAN8", - "ISO-2022-JP-2", - "ISO_8859-4:1988", - "BIG5HKSCS", - "ASMO-708", - "EUCJP", - "BIGFIVE", - "BIG5-HKSCS", - "MACCENTRALEUROPE", - "CSPC862LATINHEBREW", - "EUC-JP", - "BIG-FIVE", - "CSSHIFTJIS", - "ISO646-JP", - "JISX0201-1976", - "JIS_X0201", - "CSISOLATINHEBREW", - "MACARABIC", - "CSISO87JISX0208", - "JIS_X0208", - "UTF-7", - "MACGREEK", - "CSISO2022JP", - "MS-TURK", - "JIS_X0212-1990", - "WINDOWS-1257", - "JIS_X0208-1983", - "MS-GREEK", - "CSHPROMAN8", - "JAVA", - "MS-HEBR", - "CSMACINTOSH", - "ISO-2022-JP", - "CSEUCTW", - "GEORGIAN-PS", - "UNICODEBIG", - "MS_KANJI", - "CSPC850MULTILINGUAL", - "MACUKRAINE", - "ISO_8859-1:1987", - "ISO_8859-6:1987", - "ISO_8859-7:2003", - "GEORGIAN-ACADEMY", - "ISO_8859-2:1987", - "JIS_X0212.1990-0", - "JIS_X0208-1990", - "WCHAR_T", - "MACROMANIA", - "WINDOWS-874", - "CSEUCPKDFMTJAPANESE", - "MS-ARAB", - "UCS-2-SWAPPED", - "TCVN5712-1:1993", - "HEBREW", - "UCS-4-SWAPPED", - "JOHAB", - "MACTURKISH", - "ISO_8859-7:1987", - "WINBALTRIM", - "BIG5-HKSCS:2001", - "BIG5-HKSCS:2008", - "CSHALFWIDTHKATAKANA", - "BIG5-HKSCS:1999", - "MACHEBREW", - "BIG5-HKSCS:2004" - }; -#define stringpool ((const char *) &stringpool_contents) - -static const struct alias aliases[] = - { - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 308 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str7, ei_sjis}, - {-1}, -#line 288 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str9, ei_iso646_cn}, - {-1}, -#line 209 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str11, ei_cp1131}, -#line 354 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str12, ei_johab}, -#line 207 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str13, ei_cp866}, - {-1}, -#line 244 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str15, ei_cp1133}, - {-1}, {-1}, -#line 174 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str18, ei_cp1251}, -#line 205 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str19, ei_cp866}, -#line 189 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str20, ei_cp1256}, -#line 203 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str21, ei_cp862}, -#line 180 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str22, ei_cp1253}, - {-1}, -#line 323 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str24, ei_cp936}, - {-1}, -#line 186 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str26, ei_cp1255}, -#line 201 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str27, ei_cp862}, -#line 177 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str28, ei_cp1252}, - {-1}, -#line 51 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str30, ei_c99}, - {-1}, -#line 311 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str32, ei_cp932}, - {-1}, -#line 195 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str34, ei_cp1258}, - {-1}, {-1}, {-1}, {-1}, {-1}, -#line 57 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str40, ei_iso8859_1}, -#line 60 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str41, ei_iso8859_1}, -#line 134 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str42, ei_iso8859_10}, -#line 76 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str43, ei_iso8859_3}, - {-1}, -#line 126 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str45, ei_iso8859_9}, -#line 68 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str46, ei_iso8859_2}, - {-1}, {-1}, -#line 151 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str49, ei_iso8859_14}, - {-1}, {-1}, {-1}, -#line 318 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str53, ei_euc_cn}, - {-1}, {-1}, {-1}, -#line 62 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str57, ei_iso8859_1}, -#line 139 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str58, ei_iso8859_11}, -#line 102 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str59, ei_iso8859_6}, -#line 166 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str60, ei_iso8859_16}, -#line 78 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str61, ei_iso8859_3}, -#line 145 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str62, ei_iso8859_13}, - {-1}, {-1}, -#line 93 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str65, ei_iso8859_5}, -#line 159 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str66, ei_iso8859_15}, -#line 70 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str67, ei_iso8859_2}, - {-1}, {-1}, -#line 317 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str70, ei_euc_cn}, - {-1}, {-1}, -#line 120 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str73, ei_iso8859_8}, -#line 53 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str74, ei_iso8859_1}, -#line 137 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str75, ei_iso8859_11}, -#line 94 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str76, ei_iso8859_6}, -#line 160 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str77, ei_iso8859_16}, -#line 71 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str78, ei_iso8859_3}, -#line 140 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str79, ei_iso8859_13}, - {-1}, -#line 128 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str81, ei_iso8859_9}, -#line 87 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str82, ei_iso8859_5}, -#line 154 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str83, ei_iso8859_15}, -#line 63 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str84, ei_iso8859_2}, -#line 286 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str85, ei_iso646_cn}, -#line 227 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str86, ei_hp_roman8}, - {-1}, -#line 84 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str88, ei_iso8859_4}, - {-1}, -#line 114 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str90, ei_iso8859_8}, -#line 351 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str91, ei_cp949}, -#line 54 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str92, ei_iso8859_1}, -#line 138 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str93, ei_iso8859_11}, -#line 95 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str94, ei_iso8859_6}, -#line 161 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str95, ei_iso8859_16}, -#line 72 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str96, ei_iso8859_3}, -#line 141 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str97, ei_iso8859_13}, -#line 121 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str98, ei_iso8859_9}, -#line 162 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str99, ei_iso8859_16}, -#line 88 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str100, ei_iso8859_5}, -#line 155 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str101, ei_iso8859_15}, -#line 64 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str102, ei_iso8859_2}, -#line 59 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str103, ei_iso8859_1}, - {-1}, -#line 133 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str105, ei_iso8859_10}, -#line 236 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str106, ei_pt154}, -#line 75 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str107, ei_iso8859_3}, -#line 115 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str108, ei_iso8859_8}, - {-1}, -#line 156 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str110, ei_iso8859_15}, -#line 125 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str111, ei_iso8859_9}, -#line 183 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str112, ei_cp1254}, -#line 67 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str113, ei_iso8859_2}, -#line 328 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str114, ei_iso2022_cn}, - {-1}, -#line 122 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str116, ei_iso8859_9}, -#line 293 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str117, ei_gb2312}, -#line 16 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str118, ei_ascii}, -#line 150 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str119, ei_iso8859_14}, -#line 13 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str120, ei_ascii}, -#line 252 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str121, ei_tis620}, -#line 282 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str122, ei_jisx0212}, - {-1}, -#line 255 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str124, ei_viscii}, -#line 107 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str125, ei_iso8859_7}, -#line 22 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str126, ei_ascii}, -#line 294 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str127, ei_isoir165}, - {-1}, -#line 257 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str129, ei_viscii}, -#line 163 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str130, ei_iso8859_16}, -#line 212 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str131, ei_mac_roman}, - {-1}, {-1}, {-1}, {-1}, -#line 117 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str136, ei_iso8859_8}, -#line 291 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str137, ei_gb2312}, - {-1}, -#line 206 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str139, ei_cp866}, - {-1}, {-1}, -#line 327 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str142, ei_iso2022_cn}, -#line 324 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str143, ei_cp936}, -#line 158 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str144, ei_iso8859_15}, - {-1}, -#line 283 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str146, ei_jisx0212}, -#line 202 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str147, ei_cp862}, - {-1}, {-1}, -#line 21 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str150, ei_ascii}, -#line 86 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str151, ei_iso8859_4}, -#line 153 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str152, ei_iso8859_14}, -#line 148 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str153, ei_iso8859_14}, -#line 149 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str154, ei_iso8859_14}, - {-1}, -#line 352 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str156, ei_cp949}, -#line 199 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str157, ei_cp850}, - {-1}, -#line 330 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str159, ei_hz}, -#line 58 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str160, ei_iso8859_1}, - {-1}, -#line 152 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str162, ei_iso8859_14}, -#line 109 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str163, ei_iso8859_7}, -#line 171 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str164, ei_cp1250}, -#line 319 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str165, ei_euc_cn}, -#line 197 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str166, ei_cp850}, - {-1}, -#line 79 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str168, ei_iso8859_4}, -#line 146 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str169, ei_iso8859_14}, -#line 341 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str170, ei_cp950}, -#line 91 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str171, ei_iso8859_5}, - {-1}, {-1}, {-1}, {-1}, -#line 131 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str176, ei_iso8859_10}, - {-1}, {-1}, -#line 24 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str179, ei_ucs2}, -#line 258 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str180, ei_tcvn}, -#line 124 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str181, ei_iso8859_9}, - {-1}, {-1}, {-1}, -#line 269 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str185, ei_jisx0201}, -#line 80 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str186, ei_iso8859_4}, -#line 147 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str187, ei_iso8859_14}, -#line 165 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str188, ei_iso8859_16}, -#line 299 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str189, ei_ksc5601}, - {-1}, -#line 66 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str191, ei_iso8859_2}, - {-1}, {-1}, {-1}, {-1}, -#line 329 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str196, ei_iso2022_cn_ext}, -#line 83 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str197, ei_iso8859_4}, - {-1}, {-1}, -#line 157 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str200, ei_iso8859_15}, -#line 275 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str201, ei_jisx0208}, -#line 296 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str202, ei_ksc5601}, - {-1}, -#line 136 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str204, ei_iso8859_10}, - {-1}, {-1}, -#line 256 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str207, ei_viscii}, - {-1}, -#line 144 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str209, ei_iso8859_13}, - {-1}, -#line 264 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str211, ei_iso646_jp}, -#line 234 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str212, ei_pt154}, -#line 247 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str213, ei_tis620}, - {-1}, -#line 74 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str215, ei_iso8859_3}, -#line 30 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str216, ei_ucs2be}, -#line 233 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str217, ei_koi8_t}, -#line 239 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str218, ei_rk1048}, - {-1}, {-1}, -#line 129 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str221, ei_iso8859_10}, -#line 251 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str222, ei_tis620}, -#line 14 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str223, ei_ascii}, -#line 61 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str224, ei_iso8859_1}, - {-1}, -#line 135 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str226, ei_iso8859_10}, - {-1}, -#line 77 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str228, ei_iso8859_3}, - {-1}, -#line 246 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str230, ei_tis620}, - {-1}, -#line 127 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str232, ei_iso8859_9}, - {-1}, -#line 69 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str234, ei_iso8859_2}, -#line 249 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str235, ei_tis620}, -#line 242 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str236, ei_rk1048}, -#line 92 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str237, ei_iso8859_5}, -#line 241 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str238, ei_rk1048}, -#line 130 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str239, ei_iso8859_10}, - {-1}, -#line 29 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str241, ei_ucs2be}, -#line 38 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str242, ei_utf16}, - {-1}, {-1}, -#line 173 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str245, ei_cp1250}, - {-1}, {-1}, -#line 26 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str248, ei_ucs2}, -#line 168 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str249, ei_koi8_r}, -#line 164 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str250, ei_iso8859_16}, - {-1}, -#line 41 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str252, ei_utf32}, - {-1}, -#line 35 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str254, ei_ucs4}, -#line 23 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str255, ei_utf8}, - {-1}, {-1}, {-1}, -#line 90 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str259, ei_iso8859_5}, - {-1}, -#line 167 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str261, ei_koi8_r}, -#line 179 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str262, ei_cp1252}, -#line 33 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str263, ei_ucs4}, -#line 82 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str264, ei_iso8859_4}, - {-1}, -#line 245 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str266, ei_cp1133}, -#line 208 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str267, ei_cp866}, - {-1}, {-1}, -#line 298 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str270, ei_ksc5601}, -#line 357 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str271, ei_local_char}, - {-1}, -#line 349 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str273, ei_euc_kr}, - {-1}, {-1}, {-1}, -#line 335 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str277, ei_ces_big5}, -#line 253 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str278, ei_cp874}, -#line 230 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str279, ei_armscii_8}, - {-1}, {-1}, -#line 340 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str282, ei_ces_big5}, -#line 31 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str283, ei_ucs2le}, - {-1}, {-1}, -#line 198 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str286, ei_cp850}, -#line 12 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str287, ei_ascii}, - {-1}, {-1}, -#line 348 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str290, ei_euc_kr}, - {-1}, {-1}, -#line 321 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str293, ei_euc_cn}, -#line 336 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str294, ei_ces_big5}, -#line 250 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str295, ei_tis620}, - {-1}, {-1}, {-1}, -#line 339 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str299, ei_ces_big5}, - {-1}, {-1}, -#line 218 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str302, ei_mac_cyrillic}, -#line 322 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str303, ei_ces_gbk}, -#line 248 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str304, ei_tis620}, -#line 176 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str305, ei_cp1251}, - {-1}, -#line 237 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str307, ei_pt154}, -#line 108 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str308, ei_iso8859_7}, - {-1}, -#line 142 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str310, ei_iso8859_13}, -#line 110 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str311, ei_iso8859_7}, - {-1}, {-1}, {-1}, -#line 301 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str315, ei_ksc5601}, - {-1}, {-1}, -#line 85 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str318, ei_iso8859_4}, - {-1}, {-1}, -#line 25 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str321, ei_ucs2}, - {-1}, {-1}, {-1}, -#line 37 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str325, ei_ucs4le}, -#line 235 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str326, ei_pt154}, - {-1}, {-1}, {-1}, -#line 266 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str330, ei_iso646_jp}, - {-1}, {-1}, {-1}, -#line 356 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str334, ei_iso2022_kr}, - {-1}, -#line 226 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str336, ei_hp_roman8}, -#line 56 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str337, ei_iso8859_1}, - {-1}, {-1}, -#line 277 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str340, ei_jisx0208}, - {-1}, {-1}, {-1}, -#line 101 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str344, ei_iso8859_6}, - {-1}, {-1}, -#line 19 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str347, ei_ascii}, - {-1}, {-1}, -#line 40 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str350, ei_utf16le}, -#line 15 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str351, ei_ascii}, - {-1}, {-1}, -#line 192 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str354, ei_cp1257}, -#line 215 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str355, ei_mac_iceland}, -#line 43 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str356, ei_utf32le}, -#line 300 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str357, ei_ksc5601}, - {-1}, -#line 100 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str359, ei_iso8859_6}, - {-1}, {-1}, -#line 355 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str362, ei_iso2022_kr}, -#line 34 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str363, ei_ucs4}, - {-1}, {-1}, {-1}, -#line 27 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str367, ei_ucs2be}, -#line 290 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str368, ei_gb2312}, -#line 265 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str369, ei_iso646_jp}, - {-1}, -#line 243 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str371, ei_mulelao}, -#line 284 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str372, ei_jisx0212}, -#line 111 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str373, ei_iso8859_7}, - {-1}, -#line 260 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str375, ei_tcvn}, -#line 292 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str376, ei_gb2312}, - {-1}, -#line 326 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str378, ei_gb18030}, -#line 259 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str379, ei_tcvn}, - {-1}, {-1}, {-1}, {-1}, -#line 285 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str384, ei_iso646_cn}, -#line 238 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str385, ei_pt154}, -#line 98 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str386, ei_iso8859_6}, - {-1}, -#line 46 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str388, ei_utf7}, - {-1}, {-1}, -#line 18 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str391, ei_ascii}, -#line 32 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str392, ei_ucs2le}, -#line 113 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str393, ei_iso8859_7}, - {-1}, -#line 295 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str395, ei_isoir165}, -#line 240 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str396, ei_rk1048}, - {-1}, -#line 17 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str398, ei_ascii}, - {-1}, {-1}, {-1}, {-1}, -#line 169 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str403, ei_koi8_u}, - {-1}, {-1}, -#line 47 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str406, ei_ucs2internal}, - {-1}, {-1}, -#line 36 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str409, ei_ucs4be}, -#line 103 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str410, ei_iso8859_7}, -#line 307 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str411, ei_sjis}, -#line 320 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str412, ei_euc_cn}, -#line 262 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str413, ei_iso646_jp}, - {-1}, -#line 45 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str415, ei_utf7}, -#line 175 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str416, ei_cp1251}, -#line 190 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str417, ei_cp1256}, -#line 181 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str418, ei_cp1253}, - {-1}, -#line 187 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str420, ei_cp1255}, -#line 178 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str421, ei_cp1252}, -#line 325 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str422, ei_cp936}, - {-1}, -#line 196 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str424, ei_cp1258}, -#line 350 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str425, ei_euc_kr}, -#line 297 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str426, ei_ksc5601}, - {-1}, -#line 104 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str428, ei_iso8859_7}, -#line 306 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str429, ei_sjis}, - {-1}, {-1}, {-1}, -#line 274 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str433, ei_jisx0208}, -#line 39 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str434, ei_utf16be}, - {-1}, {-1}, {-1}, {-1}, -#line 143 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str439, ei_iso8859_13}, -#line 42 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str440, ei_utf32be}, - {-1}, {-1}, {-1}, {-1}, -#line 224 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str445, ei_mac_thai}, - {-1}, {-1}, -#line 49 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str448, ei_ucs4internal}, -#line 112 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str449, ei_iso8859_7}, - {-1}, -#line 210 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str451, ei_mac_roman}, -#line 304 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str452, ei_euc_jp}, - {-1}, {-1}, {-1}, -#line 333 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str456, ei_euc_tw}, -#line 287 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str457, ei_iso646_cn}, -#line 132 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str458, ei_iso8859_10}, -#line 97 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str459, ei_iso8859_6}, - {-1}, -#line 276 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str461, ei_jisx0208}, - {-1}, -#line 184 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str463, ei_cp1254}, -#line 73 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str464, ei_iso8859_3}, - {-1}, -#line 89 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str466, ei_iso8859_5}, -#line 20 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str467, ei_ascii}, - {-1}, {-1}, -#line 116 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str470, ei_iso8859_8}, -#line 331 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str471, ei_hz}, - {-1}, -#line 332 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str473, ei_euc_tw}, -#line 289 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str474, ei_iso646_cn}, -#line 229 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str475, ei_nextstep}, -#line 316 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str476, ei_iso2022_jp2}, - {-1}, -#line 123 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str478, ei_iso8859_9}, - {-1}, -#line 170 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str480, ei_koi8_ru}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 211 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str487, ei_mac_roman}, - {-1}, -#line 172 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str489, ei_cp1250}, - {-1}, {-1}, -#line 279 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str492, ei_jisx0212}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 314 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str500, ei_iso2022_jp1}, -#line 216 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str501, ei_mac_croatian}, -#line 225 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str502, ei_hp_roman8}, - {-1}, {-1}, -#line 315 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str505, ei_iso2022_jp2}, - {-1}, {-1}, {-1}, -#line 81 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str509, ei_iso8859_4}, -#line 346 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str510, ei_big5hkscs2008}, - {-1}, {-1}, {-1}, {-1}, -#line 99 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str515, ei_iso8859_6}, - {-1}, {-1}, -#line 303 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str518, ei_euc_jp}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 338 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str525, ei_ces_big5}, - {-1}, -#line 345 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str527, ei_big5hkscs2008}, - {-1}, {-1}, {-1}, -#line 214 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str531, ei_mac_centraleurope}, -#line 204 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str532, ei_cp862}, - {-1}, {-1}, -#line 302 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str535, ei_euc_jp}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 337 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str542, ei_ces_big5}, - {-1}, {-1}, {-1}, -#line 310 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str546, ei_sjis}, - {-1}, {-1}, {-1}, -#line 263 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str550, ei_iso646_jp}, - {-1}, {-1}, {-1}, -#line 268 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str554, ei_jisx0201}, -#line 267 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str555, ei_jisx0201}, -#line 119 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str556, ei_iso8859_8}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 223 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str563, ei_mac_arabic}, -#line 278 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str564, ei_jisx0208}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 271 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str571, ei_jisx0208}, - {-1}, {-1}, {-1}, -#line 44 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str575, ei_utf7}, - {-1}, -#line 220 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str577, ei_mac_greek}, - {-1}, -#line 313 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str579, ei_iso2022_jp}, -#line 185 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str580, ei_cp1254}, -#line 281 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str581, ei_jisx0212}, - {-1}, {-1}, -#line 193 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str584, ei_cp1257}, - {-1}, -#line 272 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str586, ei_jisx0208}, - {-1}, {-1}, {-1}, -#line 182 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str590, ei_cp1253}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 228 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str599, ei_hp_roman8}, -#line 52 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str600, ei_java}, -#line 188 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str601, ei_cp1255}, - {-1}, {-1}, -#line 213 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str604, ei_mac_roman}, - {-1}, {-1}, -#line 312 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str607, ei_iso2022_jp}, -#line 334 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str608, ei_euc_tw}, - {-1}, {-1}, {-1}, {-1}, {-1}, -#line 232 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str614, ei_georgian_ps}, -#line 28 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str615, ei_ucs2be}, - {-1}, -#line 309 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str617, ei_sjis}, - {-1}, {-1}, -#line 200 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str620, ei_cp850}, -#line 219 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str621, ei_mac_ukraine}, -#line 55 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str622, ei_iso8859_1}, -#line 96 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str623, ei_iso8859_6}, -#line 106 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str624, ei_iso8859_7}, - {-1}, -#line 231 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str626, ei_georgian_academy}, -#line 65 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str627, ei_iso8859_2}, - {-1}, -#line 280 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str629, ei_jisx0212}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 273 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str657, ei_jisx0208}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 358 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str664, ei_local_wchar_t}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 217 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str673, ei_mac_romania}, - {-1}, {-1}, -#line 254 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str676, ei_cp874}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, -#line 305 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str689, ei_euc_jp}, - {-1}, -#line 191 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str691, ei_cp1256}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, -#line 48 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str723, ei_ucs2swapped}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 261 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str739, ei_tcvn}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 118 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str746, ei_iso8859_8}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 50 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str765, ei_ucs4swapped}, - {-1}, {-1}, -#line 353 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str768, ei_johab}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 221 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str786, ei_mac_turkish}, - {-1}, {-1}, {-1}, -#line 105 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str790, ei_iso8859_7}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 194 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str842, ei_cp1257}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 343 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str888, ei_big5hkscs2001}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 347 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str896, ei_big5hkscs2008}, - {-1}, -#line 270 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str898, ei_jisx0201}, - {-1}, -#line 342 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str900, ei_big5hkscs1999}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 222 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str908, ei_mac_hebrew}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 344 "lib/aliases.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str935, ei_big5hkscs2004} - }; - -#ifdef __GNUC__ -__inline -#if defined __GNUC_STDC_INLINE__ || defined __GNUC_GNU_INLINE__ -__attribute__ ((__gnu_inline__)) -#endif -#endif -const struct alias * -aliases_lookup (register const char *str, register unsigned int len) -{ - if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) - { - register int key = aliases_hash (str, len); - - if (key <= MAX_HASH_VALUE && key >= 0) - { - register int o = aliases[key].name; - if (o >= 0) - { - register const char *s = o + stringpool; - - if (*str == *s && !strcmp (str + 1, s + 1)) - return &aliases[key]; - } - } - } - return 0; -} diff --git a/Externals/libiconv-1.14/lib/aliases_sysaix.h b/Externals/libiconv-1.14/lib/aliases_sysaix.h deleted file mode 100644 index a5bfa898814..00000000000 --- a/Externals/libiconv-1.14/lib/aliases_sysaix.h +++ /dev/null @@ -1,1769 +0,0 @@ -/* ANSI-C code produced by gperf version 3.0.4 */ -/* Command-line: gperf -m 10 lib/aliases_sysaix.gperf */ -/* Computed positions: -k'1,3-11,$' */ - -#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \ - && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \ - && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \ - && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \ - && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \ - && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \ - && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \ - && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \ - && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \ - && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \ - && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \ - && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \ - && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \ - && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \ - && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \ - && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \ - && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \ - && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \ - && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \ - && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \ - && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \ - && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \ - && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126)) -/* The character set is not based on ISO-646. */ -#error "gperf generated tables don't work with this execution character set. Please report a bug to ." -#endif - -#line 1 "lib/aliases_sysaix.gperf" -struct alias { int name; unsigned int encoding_index; }; - -#define TOTAL_KEYWORDS 356 -#define MIN_WORD_LENGTH 2 -#define MAX_WORD_LENGTH 45 -#define MIN_HASH_VALUE 13 -#define MAX_HASH_VALUE 989 -/* maximum key range = 977, 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[] = - { - 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, - 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, - 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, - 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, - 990, 990, 990, 990, 990, 13, 112, 990, 73, 4, - 7, 6, 55, 8, 5, 171, 10, 23, 255, 990, - 990, 990, 990, 990, 990, 147, 128, 4, 9, 125, - 130, 5, 75, 4, 402, 69, 7, 125, 18, 4, - 44, 990, 76, 4, 25, 195, 191, 161, 120, 22, - 15, 990, 990, 990, 990, 27, 990, 990, 990, 990, - 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, - 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, - 990, 990, 990, 990, 990, 990, 990, 990 - }; - register int hval = len; - - switch (hval) - { - default: - hval += asso_values[(unsigned char)str[10]]; - /*FALLTHROUGH*/ - case 10: - hval += asso_values[(unsigned char)str[9]]; - /*FALLTHROUGH*/ - case 9: - hval += asso_values[(unsigned char)str[8]]; - /*FALLTHROUGH*/ - case 8: - hval += asso_values[(unsigned char)str[7]]; - /*FALLTHROUGH*/ - case 7: - hval += asso_values[(unsigned char)str[6]]; - /*FALLTHROUGH*/ - case 6: - hval += asso_values[(unsigned char)str[5]]; - /*FALLTHROUGH*/ - case 5: - hval += asso_values[(unsigned char)str[4]]; - /*FALLTHROUGH*/ - case 4: - hval += asso_values[(unsigned char)str[3]]; - /*FALLTHROUGH*/ - case 3: - hval += asso_values[(unsigned char)str[2]]; - /*FALLTHROUGH*/ - case 2: - case 1: - hval += asso_values[(unsigned char)str[0]]; - break; - } - return hval + asso_values[(unsigned char)str[len - 1]]; -} - -struct stringpool_t - { - char stringpool_str13[sizeof("L1")]; - char stringpool_str14[sizeof("L6")]; - char stringpool_str15[sizeof("L3")]; - char stringpool_str16[sizeof("L2")]; - char stringpool_str17[sizeof("L5")]; - char stringpool_str19[sizeof("L8")]; - char stringpool_str20[sizeof("SJIS")]; - char stringpool_str23[sizeof("866")]; - char stringpool_str24[sizeof("CN")]; - char stringpool_str27[sizeof("862")]; - char stringpool_str32[sizeof("CP1131")]; - char stringpool_str33[sizeof("CP1361")]; - char stringpool_str34[sizeof("CP866")]; - char stringpool_str36[sizeof("CP1133")]; - char stringpool_str37[sizeof("CP1251")]; - char stringpool_str38[sizeof("CP862")]; - char stringpool_str39[sizeof("CP1256")]; - char stringpool_str41[sizeof("CP1253")]; - char stringpool_str42[sizeof("GB2312")]; - char stringpool_str43[sizeof("CP1252")]; - char stringpool_str45[sizeof("CP1255")]; - char stringpool_str48[sizeof("CP936")]; - char stringpool_str49[sizeof("CP1258")]; - char stringpool_str52[sizeof("CP932")]; - char stringpool_str53[sizeof("C99")]; - char stringpool_str64[sizeof("L4")]; - char stringpool_str68[sizeof("LATIN1")]; - char stringpool_str69[sizeof("CP819")]; - char stringpool_str70[sizeof("LATIN6")]; - char stringpool_str72[sizeof("LATIN3")]; - char stringpool_str74[sizeof("LATIN2")]; - char stringpool_str76[sizeof("LATIN5")]; - char stringpool_str80[sizeof("LATIN8")]; - char stringpool_str88[sizeof("R8")]; - char stringpool_str89[sizeof("ISO8859-1")]; - char stringpool_str91[sizeof("ISO8859-6")]; - char stringpool_str92[sizeof("HZ")]; - char stringpool_str93[sizeof("ISO8859-3")]; - char stringpool_str94[sizeof("ISO8859-11")]; - char stringpool_str95[sizeof("ISO8859-2")]; - char stringpool_str96[sizeof("ISO8859-16")]; - char stringpool_str97[sizeof("ISO8859-5")]; - char stringpool_str98[sizeof("ISO8859-13")]; - char stringpool_str101[sizeof("ISO8859-8")]; - char stringpool_str102[sizeof("ISO8859-15")]; - char stringpool_str103[sizeof("ISO-8859-1")]; - char stringpool_str105[sizeof("ISO-8859-6")]; - char stringpool_str107[sizeof("ISO-8859-3")]; - char stringpool_str108[sizeof("ISO-8859-11")]; - char stringpool_str109[sizeof("ISO-8859-2")]; - char stringpool_str110[sizeof("ISO-8859-16")]; - char stringpool_str111[sizeof("ISO-8859-5")]; - char stringpool_str112[sizeof("ISO-8859-13")]; - char stringpool_str115[sizeof("ISO-8859-8")]; - char stringpool_str116[sizeof("ISO-8859-15")]; - char stringpool_str117[sizeof("ISO_8859-1")]; - char stringpool_str118[sizeof("CYRILLIC")]; - char stringpool_str119[sizeof("ISO_8859-6")]; - char stringpool_str120[sizeof("LATIN-9")]; - char stringpool_str121[sizeof("ISO_8859-3")]; - char stringpool_str122[sizeof("ISO_8859-11")]; - char stringpool_str123[sizeof("ISO_8859-2")]; - char stringpool_str124[sizeof("ISO_8859-16")]; - char stringpool_str125[sizeof("ISO_8859-5")]; - char stringpool_str126[sizeof("ISO_8859-13")]; - char stringpool_str127[sizeof("ISO8859-9")]; - char stringpool_str128[sizeof("ISO_8859-16:2001")]; - char stringpool_str129[sizeof("ISO_8859-8")]; - char stringpool_str130[sizeof("ISO_8859-15")]; - char stringpool_str131[sizeof("CP154")]; - char stringpool_str132[sizeof("ISO-IR-6")]; - char stringpool_str133[sizeof("CP949")]; - char stringpool_str135[sizeof("ISO646-CN")]; - char stringpool_str136[sizeof("MAC")]; - char stringpool_str137[sizeof("ISO_8859-15:1998")]; - char stringpool_str139[sizeof("CP1254")]; - char stringpool_str141[sizeof("ISO-8859-9")]; - char stringpool_str143[sizeof("ISO-IR-166")]; - char stringpool_str145[sizeof("ISO-IR-126")]; - char stringpool_str146[sizeof("GBK")]; - char stringpool_str148[sizeof("ISO-IR-226")]; - char stringpool_str149[sizeof("ISO-IR-165")]; - char stringpool_str150[sizeof("X0212")]; - char stringpool_str151[sizeof("ISO-IR-58")]; - char stringpool_str152[sizeof("KOI8-T")]; - char stringpool_str153[sizeof("BIG5")]; - char stringpool_str154[sizeof("ISO-IR-138")]; - char stringpool_str155[sizeof("ISO_8859-9")]; - char stringpool_str156[sizeof("L10")]; - char stringpool_str159[sizeof("850")]; - char stringpool_str160[sizeof("IBM866")]; - char stringpool_str161[sizeof("CSISO2022CN")]; - char stringpool_str163[sizeof("CSBIG5")]; - char stringpool_str164[sizeof("IBM862")]; - char stringpool_str167[sizeof("BIG-5")]; - char stringpool_str168[sizeof("ASCII")]; - char stringpool_str169[sizeof("MS936")]; - char stringpool_str170[sizeof("LATIN4")]; - char stringpool_str171[sizeof("PT154")]; - char stringpool_str172[sizeof("IBM-1131")]; - char stringpool_str173[sizeof("CP850")]; - char stringpool_str174[sizeof("EUCCN")]; - char stringpool_str175[sizeof("CP1250")]; - char stringpool_str176[sizeof("CSGB2312")]; - char stringpool_str177[sizeof("CN-BIG5")]; - char stringpool_str178[sizeof("CSASCII")]; - char stringpool_str179[sizeof("ISO-2022-CN")]; - char stringpool_str180[sizeof("L7")]; - char stringpool_str182[sizeof("ISO-IR-159")]; - char stringpool_str183[sizeof("IBM-1252")]; - char stringpool_str184[sizeof("ISO_8859-14:1998")]; - char stringpool_str186[sizeof("CP950")]; - char stringpool_str187[sizeof("IBM-921")]; - char stringpool_str188[sizeof("EUC-CN")]; - char stringpool_str190[sizeof("ISO-2022-CN-EXT")]; - char stringpool_str191[sizeof("ISO8859-4")]; - char stringpool_str192[sizeof("IBM-932")]; - char stringpool_str193[sizeof("TIS620")]; - char stringpool_str195[sizeof("IBM819")]; - char stringpool_str196[sizeof("ISO8859-14")]; - char stringpool_str197[sizeof("ISO-IR-199")]; - char stringpool_str199[sizeof("ISO_8859-10:1992")]; - char stringpool_str201[sizeof("US")]; - char stringpool_str202[sizeof("KSC_5601")]; - char stringpool_str203[sizeof("ISO-IR-148")]; - char stringpool_str204[sizeof("ISO-CELTIC")]; - char stringpool_str205[sizeof("ISO-8859-4")]; - char stringpool_str206[sizeof("UHC")]; - char stringpool_str207[sizeof("TIS-620")]; - char stringpool_str209[sizeof("ISO-IR-101")]; - char stringpool_str210[sizeof("ISO-8859-14")]; - char stringpool_str211[sizeof("LATIN10")]; - char stringpool_str213[sizeof("X0201")]; - char stringpool_str216[sizeof("ISO-IR-203")]; - char stringpool_str217[sizeof("VISCII")]; - char stringpool_str219[sizeof("ISO_8859-4")]; - char stringpool_str221[sizeof("PTCP154")]; - char stringpool_str224[sizeof("ISO_8859-14")]; - char stringpool_str225[sizeof("X0208")]; - char stringpool_str226[sizeof("IBM-CP1133")]; - char stringpool_str227[sizeof("CSVISCII")]; - char stringpool_str229[sizeof("ISO-IR-149")]; - char stringpool_str231[sizeof("UCS-2")]; - char stringpool_str232[sizeof("ISO8859-10")]; - char stringpool_str234[sizeof("RK1048")]; - char stringpool_str235[sizeof("GB_2312-80")]; - char stringpool_str236[sizeof("CSISOLATIN1")]; - char stringpool_str237[sizeof("ISO-IR-14")]; - char stringpool_str238[sizeof("CSISOLATIN6")]; - char stringpool_str239[sizeof("ELOT_928")]; - char stringpool_str240[sizeof("CSISOLATIN3")]; - char stringpool_str241[sizeof("KZ-1048")]; - char stringpool_str242[sizeof("CSISOLATIN2")]; - char stringpool_str243[sizeof("CSISOLATINCYRILLIC")]; - char stringpool_str244[sizeof("CSISOLATIN5")]; - char stringpool_str246[sizeof("ISO-8859-10")]; - char stringpool_str247[sizeof("ISO-IR-109")]; - char stringpool_str248[sizeof("CSKZ1048")]; - char stringpool_str250[sizeof("CSKOI8R")]; - char stringpool_str251[sizeof("GB18030")]; - char stringpool_str252[sizeof("CSPTCP154")]; - char stringpool_str254[sizeof("KOI8-R")]; - char stringpool_str256[sizeof("TCVN")]; - char stringpool_str258[sizeof("GB_1988-80")]; - char stringpool_str260[sizeof("ISO_8859-10")]; - char stringpool_str261[sizeof("MS-CYRL")]; - char stringpool_str268[sizeof("CSISO58GB231280")]; - char stringpool_str270[sizeof("TIS620.2533-1")]; - char stringpool_str271[sizeof("KS_C_5601-1989")]; - char stringpool_str272[sizeof("MACCYRILLIC")]; - char stringpool_str275[sizeof("HZ-GB-2312")]; - char stringpool_str277[sizeof("CN-GB-ISOIR165")]; - char stringpool_str278[sizeof("ISO-IR-110")]; - char stringpool_str281[sizeof("TIS620-0")]; - char stringpool_str283[sizeof("CN-GB")]; - char stringpool_str288[sizeof("TIS620.2529-1")]; - char stringpool_str293[sizeof("ISO-IR-144")]; - char stringpool_str294[sizeof("CSIBM866")]; - char stringpool_str298[sizeof("ISO646-US")]; - char stringpool_str299[sizeof("IBM850")]; - char stringpool_str300[sizeof("CP874")]; - char stringpool_str302[sizeof("CYRILLIC-ASIAN")]; - char stringpool_str306[sizeof("CSISOLATINGREEK")]; - char stringpool_str307[sizeof("CHAR")]; - char stringpool_str310[sizeof("BIG5HKSCS")]; - char stringpool_str313[sizeof("IBM-850")]; - char stringpool_str322[sizeof("MS-ANSI")]; - char stringpool_str323[sizeof("CSUCS4")]; - char stringpool_str324[sizeof("BIG5-HKSCS")]; - char stringpool_str327[sizeof("UCS-4")]; - char stringpool_str330[sizeof("ARMSCII-8")]; - char stringpool_str335[sizeof("GEORGIAN-PS")]; - char stringpool_str338[sizeof("CSISOLATIN4")]; - char stringpool_str339[sizeof("TIS620.2533-0")]; - char stringpool_str342[sizeof("CSISO2022KR")]; - char stringpool_str343[sizeof("MACINTOSH")]; - char stringpool_str345[sizeof("ISO-IR-179")]; - char stringpool_str347[sizeof("ISO-IR-100")]; - char stringpool_str350[sizeof("GREEK8")]; - char stringpool_str355[sizeof("EUCKR")]; - char stringpool_str358[sizeof("UTF-16")]; - char stringpool_str359[sizeof("VISCII1.1-1")]; - char stringpool_str360[sizeof("ISO-2022-KR")]; - char stringpool_str362[sizeof("CP367")]; - char stringpool_str363[sizeof("UTF-8")]; - char stringpool_str364[sizeof("UTF-32")]; - char stringpool_str369[sizeof("EUC-KR")]; - char stringpool_str371[sizeof("CP1257")]; - char stringpool_str378[sizeof("CSISO57GB1988")]; - char stringpool_str382[sizeof("CSKSC56011987")]; - char stringpool_str383[sizeof("US-ASCII")]; - char stringpool_str384[sizeof("CSISOLATINARABIC")]; - char stringpool_str385[sizeof("ISO_8859-3:1988")]; - char stringpool_str386[sizeof("CSUNICODE11")]; - char stringpool_str387[sizeof("ISO_8859-5:1988")]; - char stringpool_str389[sizeof("ISO_8859-8:1988")]; - char stringpool_str390[sizeof("UNICODE-1-1")]; - char stringpool_str391[sizeof("MACTHAI")]; - char stringpool_str392[sizeof("ROMAN8")]; - char stringpool_str393[sizeof("ISO-10646-UCS-2")]; - char stringpool_str398[sizeof("GREEK")]; - char stringpool_str402[sizeof("LATIN7")]; - char stringpool_str404[sizeof("STRK1048-2002")]; - char stringpool_str405[sizeof("WINDOWS-1251")]; - char stringpool_str406[sizeof("WINDOWS-1256")]; - char stringpool_str407[sizeof("WINDOWS-1253")]; - char stringpool_str408[sizeof("WINDOWS-1252")]; - char stringpool_str409[sizeof("WINDOWS-1255")]; - char stringpool_str411[sizeof("WINDOWS-1258")]; - char stringpool_str412[sizeof("CHINESE")]; - char stringpool_str413[sizeof("NEXTSTEP")]; - char stringpool_str415[sizeof("ISO_8859-9:1989")]; - char stringpool_str419[sizeof("KS_C_5601-1987")]; - char stringpool_str420[sizeof("WINDOWS-936")]; - char stringpool_str423[sizeof("ISO8859-7")]; - char stringpool_str434[sizeof("ISO_8859-4:1988")]; - char stringpool_str436[sizeof("CSPC862LATINHEBREW")]; - char stringpool_str437[sizeof("ISO-8859-7")]; - char stringpool_str440[sizeof("ARABIC")]; - char stringpool_str441[sizeof("ISO-10646-UCS-4")]; - char stringpool_str445[sizeof("MULELAO-1")]; - char stringpool_str446[sizeof("ECMA-118")]; - char stringpool_str448[sizeof("JP")]; - char stringpool_str451[sizeof("ISO_8859-7")]; - char stringpool_str453[sizeof("TCVN-5712")]; - char stringpool_str455[sizeof("TCVN5712-1")]; - char stringpool_str456[sizeof("WINDOWS-1254")]; - char stringpool_str459[sizeof("KOREAN")]; - char stringpool_str461[sizeof("GEORGIAN-ACADEMY")]; - char stringpool_str462[sizeof("MACICELAND")]; - char stringpool_str469[sizeof("CSISOLATINHEBREW")]; - char stringpool_str473[sizeof("ISO-IR-57")]; - char stringpool_str474[sizeof("WINDOWS-1250")]; - char stringpool_str475[sizeof("ISO-IR-87")]; - char stringpool_str477[sizeof("ISO-IR-127")]; - char stringpool_str478[sizeof("ISO-IR-157")]; - char stringpool_str481[sizeof("EUCTW")]; - char stringpool_str483[sizeof("UCS-2LE")]; - char stringpool_str487[sizeof("HP-ROMAN8")]; - char stringpool_str488[sizeof("IBM367")]; - char stringpool_str492[sizeof("KOI8-U")]; - char stringpool_str493[sizeof("UNICODEBIG")]; - char stringpool_str495[sizeof("EUC-TW")]; - char stringpool_str496[sizeof("CSMACINTOSH")]; - char stringpool_str497[sizeof("CSUNICODE")]; - char stringpool_str498[sizeof("JIS_C6226-1983")]; - char stringpool_str501[sizeof("UCS-2-INTERNAL")]; - char stringpool_str503[sizeof("ISO_646.IRV:1991")]; - char stringpool_str510[sizeof("CSISO14JISC6220RO")]; - char stringpool_str511[sizeof("ANSI_X3.4-1986")]; - char stringpool_str515[sizeof("IBM-EUCCN")]; - char stringpool_str516[sizeof("ANSI_X3.4-1968")]; - char stringpool_str518[sizeof("MS-EE")]; - char stringpool_str521[sizeof("CSPC850MULTILINGUAL")]; - char stringpool_str523[sizeof("CSHPROMAN8")]; - char stringpool_str525[sizeof("MACROMAN")]; - char stringpool_str531[sizeof("UCS-4LE")]; - char stringpool_str536[sizeof("ECMA-114")]; - char stringpool_str540[sizeof("UNICODELITTLE")]; - char stringpool_str543[sizeof("WCHAR_T")]; - char stringpool_str544[sizeof("ISO_8859-1:1987")]; - char stringpool_str545[sizeof("ISO_8859-6:1987")]; - char stringpool_str546[sizeof("ISO_8859-7:2003")]; - char stringpool_str547[sizeof("ISO_8859-2:1987")]; - char stringpool_str549[sizeof("UCS-4-INTERNAL")]; - char stringpool_str554[sizeof("CSISO159JISX02121990")]; - char stringpool_str556[sizeof("CSEUCKR")]; - char stringpool_str557[sizeof("CSUNICODE11UTF7")]; - char stringpool_str561[sizeof("ASMO-708")]; - char stringpool_str563[sizeof("UNICODE-1-1-UTF-7")]; - char stringpool_str567[sizeof("JIS_C6220-1969-RO")]; - char stringpool_str569[sizeof("KOI8-RU")]; - char stringpool_str572[sizeof("WINDOWS-1257")]; - char stringpool_str575[sizeof("CSISO2022JP2")]; - char stringpool_str579[sizeof("MS-TURK")]; - char stringpool_str583[sizeof("MACCROATIAN")]; - char stringpool_str584[sizeof("BIG5-HKSCS:2001")]; - char stringpool_str585[sizeof("ISO646-JP")]; - char stringpool_str586[sizeof("JIS0208")]; - char stringpool_str590[sizeof("BIG5-HKSCS:2008")]; - char stringpool_str591[sizeof("ISO-2022-JP-1")]; - char stringpool_str594[sizeof("ISO-2022-JP-2")]; - char stringpool_str599[sizeof("SHIFT-JIS")]; - char stringpool_str603[sizeof("BIG5-HKSCS:1999")]; - char stringpool_str604[sizeof("UCS-2BE")]; - char stringpool_str606[sizeof("MACGREEK")]; - char stringpool_str611[sizeof("CSISO2022JP")]; - char stringpool_str612[sizeof("UTF-16LE")]; - char stringpool_str613[sizeof("SHIFT_JIS")]; - char stringpool_str615[sizeof("MS-GREEK")]; - char stringpool_str616[sizeof("UTF-32LE")]; - char stringpool_str624[sizeof("EUCJP")]; - char stringpool_str625[sizeof("MS-HEBR")]; - char stringpool_str629[sizeof("ISO-2022-JP")]; - char stringpool_str635[sizeof("BIG5-HKSCS:2004")]; - char stringpool_str638[sizeof("EUC-JP")]; - char stringpool_str648[sizeof("MACARABIC")]; - char stringpool_str652[sizeof("UCS-4BE")]; - char stringpool_str654[sizeof("UCS-2-SWAPPED")]; - char stringpool_str660[sizeof("JIS_X0212")]; - char stringpool_str662[sizeof("MACTURKISH")]; - char stringpool_str666[sizeof("CSSHIFTJIS")]; - char stringpool_str672[sizeof("WINDOWS-874")]; - char stringpool_str682[sizeof("CSEUCTW")]; - char stringpool_str685[sizeof("UTF-7")]; - char stringpool_str696[sizeof("IBM-EUCKR")]; - char stringpool_str702[sizeof("UCS-4-SWAPPED")]; - char stringpool_str711[sizeof("ISO_8859-7:1987")]; - char stringpool_str715[sizeof("BIGFIVE")]; - char stringpool_str717[sizeof("TCVN5712-1:1993")]; - char stringpool_str723[sizeof("JIS_X0201")]; - char stringpool_str729[sizeof("BIG-FIVE")]; - char stringpool_str732[sizeof("HEBREW")]; - char stringpool_str733[sizeof("UTF-16BE")]; - char stringpool_str735[sizeof("JIS_X0208")]; - char stringpool_str737[sizeof("UTF-32BE")]; - char stringpool_str741[sizeof("JISX0201-1976")]; - char stringpool_str748[sizeof("JIS_X0212-1990")]; - char stringpool_str752[sizeof("CSISO87JISX0208")]; - char stringpool_str753[sizeof("JIS_X0208-1983")]; - char stringpool_str771[sizeof("MS-ARAB")]; - char stringpool_str797[sizeof("MACCENTRALEUROPE")]; - char stringpool_str803[sizeof("CSHALFWIDTHKATAKANA")]; - char stringpool_str804[sizeof("MS_KANJI")]; - char stringpool_str807[sizeof("MACROMANIA")]; - char stringpool_str820[sizeof("JIS_X0208-1990")]; - char stringpool_str822[sizeof("IBM-EUCTW")]; - char stringpool_str826[sizeof("WINBALTRIM")]; - char stringpool_str846[sizeof("EXTENDED_UNIX_CODE_PACKED_FORMAT_FOR_JAPANESE")]; - char stringpool_str849[sizeof("JIS_X0212.1990-0")]; - char stringpool_str874[sizeof("CSEUCPKDFMTJAPANESE")]; - char stringpool_str885[sizeof("JOHAB")]; - char stringpool_str891[sizeof("JAVA")]; - char stringpool_str898[sizeof("MACUKRAINE")]; - char stringpool_str965[sizeof("IBM-EUCJP")]; - char stringpool_str989[sizeof("MACHEBREW")]; - }; -static const struct stringpool_t stringpool_contents = - { - "L1", - "L6", - "L3", - "L2", - "L5", - "L8", - "SJIS", - "866", - "CN", - "862", - "CP1131", - "CP1361", - "CP866", - "CP1133", - "CP1251", - "CP862", - "CP1256", - "CP1253", - "GB2312", - "CP1252", - "CP1255", - "CP936", - "CP1258", - "CP932", - "C99", - "L4", - "LATIN1", - "CP819", - "LATIN6", - "LATIN3", - "LATIN2", - "LATIN5", - "LATIN8", - "R8", - "ISO8859-1", - "ISO8859-6", - "HZ", - "ISO8859-3", - "ISO8859-11", - "ISO8859-2", - "ISO8859-16", - "ISO8859-5", - "ISO8859-13", - "ISO8859-8", - "ISO8859-15", - "ISO-8859-1", - "ISO-8859-6", - "ISO-8859-3", - "ISO-8859-11", - "ISO-8859-2", - "ISO-8859-16", - "ISO-8859-5", - "ISO-8859-13", - "ISO-8859-8", - "ISO-8859-15", - "ISO_8859-1", - "CYRILLIC", - "ISO_8859-6", - "LATIN-9", - "ISO_8859-3", - "ISO_8859-11", - "ISO_8859-2", - "ISO_8859-16", - "ISO_8859-5", - "ISO_8859-13", - "ISO8859-9", - "ISO_8859-16:2001", - "ISO_8859-8", - "ISO_8859-15", - "CP154", - "ISO-IR-6", - "CP949", - "ISO646-CN", - "MAC", - "ISO_8859-15:1998", - "CP1254", - "ISO-8859-9", - "ISO-IR-166", - "ISO-IR-126", - "GBK", - "ISO-IR-226", - "ISO-IR-165", - "X0212", - "ISO-IR-58", - "KOI8-T", - "BIG5", - "ISO-IR-138", - "ISO_8859-9", - "L10", - "850", - "IBM866", - "CSISO2022CN", - "CSBIG5", - "IBM862", - "BIG-5", - "ASCII", - "MS936", - "LATIN4", - "PT154", - "IBM-1131", - "CP850", - "EUCCN", - "CP1250", - "CSGB2312", - "CN-BIG5", - "CSASCII", - "ISO-2022-CN", - "L7", - "ISO-IR-159", - "IBM-1252", - "ISO_8859-14:1998", - "CP950", - "IBM-921", - "EUC-CN", - "ISO-2022-CN-EXT", - "ISO8859-4", - "IBM-932", - "TIS620", - "IBM819", - "ISO8859-14", - "ISO-IR-199", - "ISO_8859-10:1992", - "US", - "KSC_5601", - "ISO-IR-148", - "ISO-CELTIC", - "ISO-8859-4", - "UHC", - "TIS-620", - "ISO-IR-101", - "ISO-8859-14", - "LATIN10", - "X0201", - "ISO-IR-203", - "VISCII", - "ISO_8859-4", - "PTCP154", - "ISO_8859-14", - "X0208", - "IBM-CP1133", - "CSVISCII", - "ISO-IR-149", - "UCS-2", - "ISO8859-10", - "RK1048", - "GB_2312-80", - "CSISOLATIN1", - "ISO-IR-14", - "CSISOLATIN6", - "ELOT_928", - "CSISOLATIN3", - "KZ-1048", - "CSISOLATIN2", - "CSISOLATINCYRILLIC", - "CSISOLATIN5", - "ISO-8859-10", - "ISO-IR-109", - "CSKZ1048", - "CSKOI8R", - "GB18030", - "CSPTCP154", - "KOI8-R", - "TCVN", - "GB_1988-80", - "ISO_8859-10", - "MS-CYRL", - "CSISO58GB231280", - "TIS620.2533-1", - "KS_C_5601-1989", - "MACCYRILLIC", - "HZ-GB-2312", - "CN-GB-ISOIR165", - "ISO-IR-110", - "TIS620-0", - "CN-GB", - "TIS620.2529-1", - "ISO-IR-144", - "CSIBM866", - "ISO646-US", - "IBM850", - "CP874", - "CYRILLIC-ASIAN", - "CSISOLATINGREEK", - "CHAR", - "BIG5HKSCS", - "IBM-850", - "MS-ANSI", - "CSUCS4", - "BIG5-HKSCS", - "UCS-4", - "ARMSCII-8", - "GEORGIAN-PS", - "CSISOLATIN4", - "TIS620.2533-0", - "CSISO2022KR", - "MACINTOSH", - "ISO-IR-179", - "ISO-IR-100", - "GREEK8", - "EUCKR", - "UTF-16", - "VISCII1.1-1", - "ISO-2022-KR", - "CP367", - "UTF-8", - "UTF-32", - "EUC-KR", - "CP1257", - "CSISO57GB1988", - "CSKSC56011987", - "US-ASCII", - "CSISOLATINARABIC", - "ISO_8859-3:1988", - "CSUNICODE11", - "ISO_8859-5:1988", - "ISO_8859-8:1988", - "UNICODE-1-1", - "MACTHAI", - "ROMAN8", - "ISO-10646-UCS-2", - "GREEK", - "LATIN7", - "STRK1048-2002", - "WINDOWS-1251", - "WINDOWS-1256", - "WINDOWS-1253", - "WINDOWS-1252", - "WINDOWS-1255", - "WINDOWS-1258", - "CHINESE", - "NEXTSTEP", - "ISO_8859-9:1989", - "KS_C_5601-1987", - "WINDOWS-936", - "ISO8859-7", - "ISO_8859-4:1988", - "CSPC862LATINHEBREW", - "ISO-8859-7", - "ARABIC", - "ISO-10646-UCS-4", - "MULELAO-1", - "ECMA-118", - "JP", - "ISO_8859-7", - "TCVN-5712", - "TCVN5712-1", - "WINDOWS-1254", - "KOREAN", - "GEORGIAN-ACADEMY", - "MACICELAND", - "CSISOLATINHEBREW", - "ISO-IR-57", - "WINDOWS-1250", - "ISO-IR-87", - "ISO-IR-127", - "ISO-IR-157", - "EUCTW", - "UCS-2LE", - "HP-ROMAN8", - "IBM367", - "KOI8-U", - "UNICODEBIG", - "EUC-TW", - "CSMACINTOSH", - "CSUNICODE", - "JIS_C6226-1983", - "UCS-2-INTERNAL", - "ISO_646.IRV:1991", - "CSISO14JISC6220RO", - "ANSI_X3.4-1986", - "IBM-EUCCN", - "ANSI_X3.4-1968", - "MS-EE", - "CSPC850MULTILINGUAL", - "CSHPROMAN8", - "MACROMAN", - "UCS-4LE", - "ECMA-114", - "UNICODELITTLE", - "WCHAR_T", - "ISO_8859-1:1987", - "ISO_8859-6:1987", - "ISO_8859-7:2003", - "ISO_8859-2:1987", - "UCS-4-INTERNAL", - "CSISO159JISX02121990", - "CSEUCKR", - "CSUNICODE11UTF7", - "ASMO-708", - "UNICODE-1-1-UTF-7", - "JIS_C6220-1969-RO", - "KOI8-RU", - "WINDOWS-1257", - "CSISO2022JP2", - "MS-TURK", - "MACCROATIAN", - "BIG5-HKSCS:2001", - "ISO646-JP", - "JIS0208", - "BIG5-HKSCS:2008", - "ISO-2022-JP-1", - "ISO-2022-JP-2", - "SHIFT-JIS", - "BIG5-HKSCS:1999", - "UCS-2BE", - "MACGREEK", - "CSISO2022JP", - "UTF-16LE", - "SHIFT_JIS", - "MS-GREEK", - "UTF-32LE", - "EUCJP", - "MS-HEBR", - "ISO-2022-JP", - "BIG5-HKSCS:2004", - "EUC-JP", - "MACARABIC", - "UCS-4BE", - "UCS-2-SWAPPED", - "JIS_X0212", - "MACTURKISH", - "CSSHIFTJIS", - "WINDOWS-874", - "CSEUCTW", - "UTF-7", - "IBM-EUCKR", - "UCS-4-SWAPPED", - "ISO_8859-7:1987", - "BIGFIVE", - "TCVN5712-1:1993", - "JIS_X0201", - "BIG-FIVE", - "HEBREW", - "UTF-16BE", - "JIS_X0208", - "UTF-32BE", - "JISX0201-1976", - "JIS_X0212-1990", - "CSISO87JISX0208", - "JIS_X0208-1983", - "MS-ARAB", - "MACCENTRALEUROPE", - "CSHALFWIDTHKATAKANA", - "MS_KANJI", - "MACROMANIA", - "JIS_X0208-1990", - "IBM-EUCTW", - "WINBALTRIM", - "EXTENDED_UNIX_CODE_PACKED_FORMAT_FOR_JAPANESE", - "JIS_X0212.1990-0", - "CSEUCPKDFMTJAPANESE", - "JOHAB", - "JAVA", - "MACUKRAINE", - "IBM-EUCJP", - "MACHEBREW" - }; -#define stringpool ((const char *) &stringpool_contents) - -static const struct alias aliases[] = - { - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, -#line 60 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str13, ei_iso8859_1}, -#line 134 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str14, ei_iso8859_10}, -#line 76 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str15, ei_iso8859_3}, -#line 68 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str16, ei_iso8859_2}, -#line 126 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str17, ei_iso8859_9}, - {-1}, -#line 152 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str19, ei_iso8859_14}, -#line 313 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str20, ei_sjis}, - {-1}, {-1}, -#line 210 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str23, ei_cp866}, -#line 292 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str24, ei_iso646_cn}, - {-1}, {-1}, -#line 206 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str27, ei_cp862}, - {-1}, {-1}, {-1}, {-1}, -#line 212 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str32, ei_cp1131}, -#line 363 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str33, ei_johab}, -#line 208 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str34, ei_cp866}, - {-1}, -#line 248 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str36, ei_cp1133}, -#line 175 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str37, ei_cp1251}, -#line 204 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str38, ei_cp862}, -#line 191 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str39, ei_cp1256}, - {-1}, -#line 182 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str41, ei_cp1253}, -#line 325 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str42, ei_euc_cn}, -#line 178 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str43, ei_cp1252}, - {-1}, -#line 188 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str45, ei_cp1255}, - {-1}, {-1}, -#line 330 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str48, ei_cp936}, -#line 197 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str49, ei_cp1258}, - {-1}, {-1}, -#line 316 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str52, ei_cp932}, -#line 51 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str53, ei_c99}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, -#line 84 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str64, ei_iso8859_4}, - {-1}, {-1}, {-1}, -#line 59 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str68, ei_iso8859_1}, -#line 57 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str69, ei_iso8859_1}, -#line 133 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str70, ei_iso8859_10}, - {-1}, -#line 75 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str72, ei_iso8859_3}, - {-1}, -#line 67 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str74, ei_iso8859_2}, - {-1}, -#line 125 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str76, ei_iso8859_9}, - {-1}, {-1}, {-1}, -#line 151 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str80, ei_iso8859_14}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 231 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str88, ei_hp_roman8}, -#line 62 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str89, ei_iso8859_1}, - {-1}, -#line 102 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str91, ei_iso8859_6}, -#line 337 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str92, ei_hz}, -#line 78 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str93, ei_iso8859_3}, -#line 139 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str94, ei_iso8859_11}, -#line 70 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str95, ei_iso8859_2}, -#line 167 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str96, ei_iso8859_16}, -#line 93 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str97, ei_iso8859_5}, -#line 145 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str98, ei_iso8859_13}, - {-1}, {-1}, -#line 120 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str101, ei_iso8859_8}, -#line 160 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str102, ei_iso8859_15}, -#line 53 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str103, ei_iso8859_1}, - {-1}, -#line 94 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str105, ei_iso8859_6}, - {-1}, -#line 71 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str107, ei_iso8859_3}, -#line 137 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str108, ei_iso8859_11}, -#line 63 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str109, ei_iso8859_2}, -#line 161 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str110, ei_iso8859_16}, -#line 87 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str111, ei_iso8859_5}, -#line 140 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str112, ei_iso8859_13}, - {-1}, {-1}, -#line 114 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str115, ei_iso8859_8}, -#line 155 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str116, ei_iso8859_15}, -#line 54 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str117, ei_iso8859_1}, -#line 91 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str118, ei_iso8859_5}, -#line 95 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str119, ei_iso8859_6}, -#line 159 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str120, ei_iso8859_15}, -#line 72 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str121, ei_iso8859_3}, -#line 138 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str122, ei_iso8859_11}, -#line 64 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str123, ei_iso8859_2}, -#line 162 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str124, ei_iso8859_16}, -#line 88 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str125, ei_iso8859_5}, -#line 141 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str126, ei_iso8859_13}, -#line 128 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str127, ei_iso8859_9}, -#line 163 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str128, ei_iso8859_16}, -#line 115 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str129, ei_iso8859_8}, -#line 156 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str130, ei_iso8859_15}, -#line 240 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str131, ei_pt154}, -#line 16 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str132, ei_ascii}, -#line 360 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str133, ei_cp949}, - {-1}, -#line 290 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str135, ei_iso646_cn}, -#line 216 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str136, ei_mac_roman}, -#line 157 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str137, ei_iso8859_15}, - {-1}, -#line 185 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str139, ei_cp1254}, - {-1}, -#line 121 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str141, ei_iso8859_9}, - {-1}, -#line 256 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str143, ei_tis620}, - {-1}, -#line 107 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str145, ei_iso8859_7}, -#line 329 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str146, ei_ces_gbk}, - {-1}, -#line 164 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str148, ei_iso8859_16}, -#line 298 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str149, ei_isoir165}, -#line 286 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str150, ei_jisx0212}, -#line 295 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str151, ei_gb2312}, -#line 237 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str152, ei_koi8_t}, -#line 343 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str153, ei_ces_big5}, -#line 117 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str154, ei_iso8859_8}, -#line 122 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str155, ei_iso8859_9}, -#line 166 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str156, ei_iso8859_16}, - {-1}, {-1}, -#line 201 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str159, ei_cp850}, -#line 209 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str160, ei_cp866}, -#line 335 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str161, ei_iso2022_cn}, - {-1}, -#line 348 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str163, ei_ces_big5}, -#line 205 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str164, ei_cp862}, - {-1}, {-1}, -#line 344 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str167, ei_ces_big5}, -#line 13 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str168, ei_ascii}, -#line 331 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str169, ei_cp936}, -#line 83 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str170, ei_iso8859_4}, -#line 238 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str171, ei_pt154}, -#line 213 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str172, ei_cp1131}, -#line 199 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str173, ei_cp850}, -#line 324 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str174, ei_euc_cn}, -#line 172 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str175, ei_cp1250}, -#line 327 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str176, ei_euc_cn}, -#line 347 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str177, ei_ces_big5}, -#line 22 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str178, ei_ascii}, -#line 334 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str179, ei_iso2022_cn}, -#line 144 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str180, ei_iso8859_13}, - {-1}, -#line 287 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str182, ei_jisx0212}, -#line 181 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str183, ei_cp1252}, -#line 149 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str184, ei_iso8859_14}, - {-1}, -#line 349 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str186, ei_cp950}, -#line 146 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str187, ei_iso8859_13}, -#line 323 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str188, ei_euc_cn}, - {-1}, -#line 336 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str190, ei_iso2022_cn_ext}, -#line 86 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str191, ei_iso8859_4}, -#line 317 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str192, ei_cp932}, -#line 251 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str193, ei_tis620}, - {-1}, -#line 58 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str195, ei_iso8859_1}, -#line 154 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str196, ei_iso8859_14}, -#line 150 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str197, ei_iso8859_14}, - {-1}, -#line 131 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str199, ei_iso8859_10}, - {-1}, -#line 21 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str201, ei_ascii}, -#line 300 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str202, ei_ksc5601}, -#line 124 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str203, ei_iso8859_9}, -#line 153 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str204, ei_iso8859_14}, -#line 79 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str205, ei_iso8859_4}, -#line 361 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str206, ei_cp949}, -#line 250 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str207, ei_tis620}, - {-1}, -#line 66 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str209, ei_iso8859_2}, -#line 147 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str210, ei_iso8859_14}, -#line 165 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str211, ei_iso8859_16}, - {-1}, -#line 273 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str213, ei_jisx0201}, - {-1}, {-1}, -#line 158 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str216, ei_iso8859_15}, -#line 259 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str217, ei_viscii}, - {-1}, -#line 80 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str219, ei_iso8859_4}, - {-1}, -#line 239 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str221, ei_pt154}, - {-1}, {-1}, -#line 148 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str224, ei_iso8859_14}, -#line 279 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str225, ei_jisx0208}, -#line 249 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str226, ei_cp1133}, -#line 261 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str227, ei_viscii}, - {-1}, -#line 303 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str229, ei_ksc5601}, - {-1}, -#line 24 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str231, ei_ucs2}, -#line 136 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str232, ei_iso8859_10}, - {-1}, -#line 243 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str234, ei_rk1048}, -#line 294 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str235, ei_gb2312}, -#line 61 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str236, ei_iso8859_1}, -#line 268 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str237, ei_iso646_jp}, -#line 135 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str238, ei_iso8859_10}, -#line 109 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str239, ei_iso8859_7}, -#line 77 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str240, ei_iso8859_3}, -#line 245 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str241, ei_rk1048}, -#line 69 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str242, ei_iso8859_2}, -#line 92 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str243, ei_iso8859_5}, -#line 127 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str244, ei_iso8859_9}, - {-1}, -#line 129 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str246, ei_iso8859_10}, -#line 74 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str247, ei_iso8859_3}, -#line 246 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str248, ei_rk1048}, - {-1}, -#line 169 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str250, ei_koi8_r}, -#line 333 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str251, ei_gb18030}, -#line 242 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str252, ei_pt154}, - {-1}, -#line 168 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str254, ei_koi8_r}, - {-1}, -#line 262 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str256, ei_tcvn}, - {-1}, -#line 289 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str258, ei_iso646_cn}, - {-1}, -#line 130 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str260, ei_iso8859_10}, -#line 177 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str261, ei_cp1251}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 296 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str268, ei_gb2312}, - {-1}, -#line 255 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str270, ei_tis620}, -#line 302 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str271, ei_ksc5601}, -#line 222 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str272, ei_mac_cyrillic}, - {-1}, {-1}, -#line 338 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str275, ei_hz}, - {-1}, -#line 299 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str277, ei_isoir165}, -#line 82 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str278, ei_iso8859_4}, - {-1}, {-1}, -#line 252 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str281, ei_tis620}, - {-1}, -#line 326 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str283, ei_euc_cn}, - {-1}, {-1}, {-1}, {-1}, -#line 253 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str288, ei_tis620}, - {-1}, {-1}, {-1}, {-1}, -#line 90 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str293, ei_iso8859_5}, -#line 211 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str294, ei_cp866}, - {-1}, {-1}, {-1}, -#line 14 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str298, ei_ascii}, -#line 200 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str299, ei_cp850}, -#line 257 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str300, ei_cp874}, - {-1}, -#line 241 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str302, ei_pt154}, - {-1}, {-1}, {-1}, -#line 112 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str306, ei_iso8859_7}, -#line 366 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str307, ei_local_char}, - {-1}, {-1}, -#line 354 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str310, ei_big5hkscs2008}, - {-1}, {-1}, -#line 203 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str313, ei_cp850}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 180 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str322, ei_cp1252}, -#line 35 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str323, ei_ucs4}, -#line 353 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str324, ei_big5hkscs2008}, - {-1}, {-1}, -#line 33 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str327, ei_ucs4}, - {-1}, {-1}, -#line 234 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str330, ei_armscii_8}, - {-1}, {-1}, {-1}, {-1}, -#line 236 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str335, ei_georgian_ps}, - {-1}, {-1}, -#line 85 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str338, ei_iso8859_4}, -#line 254 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str339, ei_tis620}, - {-1}, {-1}, -#line 365 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str342, ei_iso2022_kr}, -#line 215 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str343, ei_mac_roman}, - {-1}, -#line 142 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str345, ei_iso8859_13}, - {-1}, -#line 56 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str347, ei_iso8859_1}, - {-1}, {-1}, -#line 110 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str350, ei_iso8859_7}, - {-1}, {-1}, {-1}, {-1}, -#line 357 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str355, ei_euc_kr}, - {-1}, {-1}, -#line 38 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str358, ei_utf16}, -#line 260 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str359, ei_viscii}, -#line 364 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str360, ei_iso2022_kr}, - {-1}, -#line 19 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str362, ei_ascii}, -#line 23 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str363, ei_utf8}, -#line 41 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str364, ei_utf32}, - {-1}, {-1}, {-1}, {-1}, -#line 356 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str369, ei_euc_kr}, - {-1}, -#line 194 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str371, ei_cp1257}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 293 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str378, ei_iso646_cn}, - {-1}, {-1}, {-1}, -#line 304 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str382, ei_ksc5601}, -#line 12 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str383, ei_ascii}, -#line 101 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str384, ei_iso8859_6}, -#line 73 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str385, ei_iso8859_3}, -#line 30 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str386, ei_ucs2be}, -#line 89 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str387, ei_iso8859_5}, - {-1}, -#line 116 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str389, ei_iso8859_8}, -#line 29 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str390, ei_ucs2be}, -#line 228 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str391, ei_mac_thai}, -#line 230 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str392, ei_hp_roman8}, -#line 25 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str393, ei_ucs2}, - {-1}, {-1}, {-1}, {-1}, -#line 111 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str398, ei_iso8859_7}, - {-1}, {-1}, {-1}, -#line 143 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str402, ei_iso8859_13}, - {-1}, -#line 244 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str404, ei_rk1048}, -#line 176 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str405, ei_cp1251}, -#line 192 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str406, ei_cp1256}, -#line 183 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str407, ei_cp1253}, -#line 179 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str408, ei_cp1252}, -#line 189 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str409, ei_cp1255}, - {-1}, -#line 198 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str411, ei_cp1258}, -#line 297 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str412, ei_gb2312}, -#line 233 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str413, ei_nextstep}, - {-1}, -#line 123 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str415, ei_iso8859_9}, - {-1}, {-1}, {-1}, -#line 301 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str419, ei_ksc5601}, -#line 332 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str420, ei_cp936}, - {-1}, {-1}, -#line 113 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str423, ei_iso8859_7}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, -#line 81 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str434, ei_iso8859_4}, - {-1}, -#line 207 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str436, ei_cp862}, -#line 103 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str437, ei_iso8859_7}, - {-1}, {-1}, -#line 100 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str440, ei_iso8859_6}, -#line 34 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str441, ei_ucs4}, - {-1}, {-1}, {-1}, -#line 247 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str445, ei_mulelao}, -#line 108 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str446, ei_iso8859_7}, - {-1}, -#line 269 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str448, ei_iso646_jp}, - {-1}, {-1}, -#line 104 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str451, ei_iso8859_7}, - {-1}, -#line 263 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str453, ei_tcvn}, - {-1}, -#line 264 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str455, ei_tcvn}, -#line 186 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str456, ei_cp1254}, - {-1}, {-1}, -#line 305 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str459, ei_ksc5601}, - {-1}, -#line 235 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str461, ei_georgian_academy}, -#line 219 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str462, ei_mac_iceland}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 119 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str469, ei_iso8859_8}, - {-1}, {-1}, {-1}, -#line 291 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str473, ei_iso646_cn}, -#line 173 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str474, ei_cp1250}, -#line 280 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str475, ei_jisx0208}, - {-1}, -#line 97 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str477, ei_iso8859_6}, -#line 132 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str478, ei_iso8859_10}, - {-1}, {-1}, -#line 340 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str481, ei_euc_tw}, - {-1}, -#line 31 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str483, ei_ucs2le}, - {-1}, {-1}, {-1}, -#line 229 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str487, ei_hp_roman8}, -#line 20 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str488, ei_ascii}, - {-1}, {-1}, {-1}, -#line 170 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str492, ei_koi8_u}, -#line 28 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str493, ei_ucs2be}, - {-1}, -#line 339 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str495, ei_euc_tw}, -#line 217 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str496, ei_mac_roman}, -#line 26 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str497, ei_ucs2}, -#line 281 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str498, ei_jisx0208}, - {-1}, {-1}, -#line 47 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str501, ei_ucs2internal}, - {-1}, -#line 15 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str503, ei_ascii}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 270 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str510, ei_iso646_jp}, -#line 18 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str511, ei_ascii}, - {-1}, {-1}, {-1}, -#line 328 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str515, ei_euc_cn}, -#line 17 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str516, ei_ascii}, - {-1}, -#line 174 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str518, ei_cp1250}, - {-1}, {-1}, -#line 202 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str521, ei_cp850}, - {-1}, -#line 232 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str523, ei_hp_roman8}, - {-1}, -#line 214 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str525, ei_mac_roman}, - {-1}, {-1}, {-1}, {-1}, {-1}, -#line 37 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str531, ei_ucs4le}, - {-1}, {-1}, {-1}, {-1}, -#line 98 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str536, ei_iso8859_6}, - {-1}, {-1}, {-1}, -#line 32 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str540, ei_ucs2le}, - {-1}, {-1}, -#line 367 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str543, ei_local_wchar_t}, -#line 55 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str544, ei_iso8859_1}, -#line 96 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str545, ei_iso8859_6}, -#line 106 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str546, ei_iso8859_7}, -#line 65 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str547, ei_iso8859_2}, - {-1}, -#line 49 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str549, ei_ucs4internal}, - {-1}, {-1}, {-1}, {-1}, -#line 288 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str554, ei_jisx0212}, - {-1}, -#line 358 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str556, ei_euc_kr}, -#line 46 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str557, ei_utf7}, - {-1}, {-1}, {-1}, -#line 99 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str561, ei_iso8859_6}, - {-1}, -#line 45 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str563, ei_utf7}, - {-1}, {-1}, {-1}, -#line 266 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str567, ei_iso646_jp}, - {-1}, -#line 171 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str569, ei_koi8_ru}, - {-1}, {-1}, -#line 195 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str572, ei_cp1257}, - {-1}, {-1}, -#line 322 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str575, ei_iso2022_jp2}, - {-1}, {-1}, {-1}, -#line 187 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str579, ei_cp1254}, - {-1}, {-1}, {-1}, -#line 220 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str583, ei_mac_croatian}, -#line 351 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str584, ei_big5hkscs2001}, -#line 267 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str585, ei_iso646_jp}, -#line 278 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str586, ei_jisx0208}, - {-1}, {-1}, {-1}, -#line 355 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str590, ei_big5hkscs2008}, -#line 320 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str591, ei_iso2022_jp1}, - {-1}, {-1}, -#line 321 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str594, ei_iso2022_jp2}, - {-1}, {-1}, {-1}, {-1}, -#line 312 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str599, ei_sjis}, - {-1}, {-1}, {-1}, -#line 350 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str603, ei_big5hkscs1999}, -#line 27 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str604, ei_ucs2be}, - {-1}, -#line 224 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str606, ei_mac_greek}, - {-1}, {-1}, {-1}, {-1}, -#line 319 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str611, ei_iso2022_jp}, -#line 40 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str612, ei_utf16le}, -#line 311 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str613, ei_sjis}, - {-1}, -#line 184 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str615, ei_cp1253}, -#line 43 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str616, ei_utf32le}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 307 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str624, ei_euc_jp}, -#line 190 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str625, ei_cp1255}, - {-1}, {-1}, {-1}, -#line 318 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str629, ei_iso2022_jp}, - {-1}, {-1}, {-1}, {-1}, {-1}, -#line 352 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str635, ei_big5hkscs2004}, - {-1}, {-1}, -#line 306 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str638, ei_euc_jp}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 227 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str648, ei_mac_arabic}, - {-1}, {-1}, {-1}, -#line 36 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str652, ei_ucs4be}, - {-1}, -#line 48 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str654, ei_ucs2swapped}, - {-1}, {-1}, {-1}, {-1}, {-1}, -#line 283 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str660, ei_jisx0212}, - {-1}, -#line 225 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str662, ei_mac_turkish}, - {-1}, {-1}, {-1}, -#line 315 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str666, ei_sjis}, - {-1}, {-1}, {-1}, {-1}, {-1}, -#line 258 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str672, ei_cp874}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 341 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str682, ei_euc_tw}, - {-1}, {-1}, -#line 44 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str685, ei_utf7}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, -#line 359 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str696, ei_euc_kr}, - {-1}, {-1}, {-1}, {-1}, {-1}, -#line 50 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str702, ei_ucs4swapped}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 105 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str711, ei_iso8859_7}, - {-1}, {-1}, {-1}, -#line 346 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str715, ei_ces_big5}, - {-1}, -#line 265 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str717, ei_tcvn}, - {-1}, {-1}, {-1}, {-1}, {-1}, -#line 271 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str723, ei_jisx0201}, - {-1}, {-1}, {-1}, {-1}, {-1}, -#line 345 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str729, ei_ces_big5}, - {-1}, {-1}, -#line 118 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str732, ei_iso8859_8}, -#line 39 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str733, ei_utf16be}, - {-1}, -#line 275 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str735, ei_jisx0208}, - {-1}, -#line 42 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str737, ei_utf32be}, - {-1}, {-1}, {-1}, -#line 272 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str741, ei_jisx0201}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 285 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str748, ei_jisx0212}, - {-1}, {-1}, {-1}, -#line 282 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str752, ei_jisx0208}, -#line 276 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str753, ei_jisx0208}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 193 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str771, ei_cp1256}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 218 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str797, ei_mac_centraleurope}, - {-1}, {-1}, {-1}, {-1}, {-1}, -#line 274 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str803, ei_jisx0201}, -#line 314 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str804, ei_sjis}, - {-1}, {-1}, -#line 221 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str807, ei_mac_romania}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, -#line 277 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str820, ei_jisx0208}, - {-1}, -#line 342 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str822, ei_euc_tw}, - {-1}, {-1}, {-1}, -#line 196 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str826, ei_cp1257}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, -#line 308 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str846, ei_euc_jp}, - {-1}, {-1}, -#line 284 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str849, ei_jisx0212}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 309 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str874, ei_euc_jp}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, -#line 362 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str885, ei_johab}, - {-1}, {-1}, {-1}, {-1}, {-1}, -#line 52 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str891, ei_java}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 223 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str898, ei_mac_ukraine}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, -#line 310 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str965, ei_euc_jp}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, -#line 226 "lib/aliases_sysaix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str989, ei_mac_hebrew} - }; - -#ifdef __GNUC__ -__inline -#if defined __GNUC_STDC_INLINE__ || defined __GNUC_GNU_INLINE__ -__attribute__ ((__gnu_inline__)) -#endif -#endif -const struct alias * -aliases_lookup (register const char *str, register unsigned int len) -{ - if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) - { - register int key = aliases_hash (str, len); - - if (key <= MAX_HASH_VALUE && key >= 0) - { - register int o = aliases[key].name; - if (o >= 0) - { - register const char *s = o + stringpool; - - if (*str == *s && !strcmp (str + 1, s + 1)) - return &aliases[key]; - } - } - } - return 0; -} diff --git a/Externals/libiconv-1.14/lib/aliases_syshpux.h b/Externals/libiconv-1.14/lib/aliases_syshpux.h deleted file mode 100644 index 57545efa250..00000000000 --- a/Externals/libiconv-1.14/lib/aliases_syshpux.h +++ /dev/null @@ -1,1773 +0,0 @@ -/* ANSI-C code produced by gperf version 3.0.4 */ -/* Command-line: gperf -m 10 lib/aliases_syshpux.gperf */ -/* Computed positions: -k'1,3-11,$' */ - -#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \ - && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \ - && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \ - && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \ - && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \ - && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \ - && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \ - && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \ - && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \ - && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \ - && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \ - && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \ - && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \ - && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \ - && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \ - && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \ - && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \ - && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \ - && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \ - && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \ - && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \ - && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \ - && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126)) -/* The character set is not based on ISO-646. */ -#error "gperf generated tables don't work with this execution character set. Please report a bug to ." -#endif - -#line 1 "lib/aliases_syshpux.gperf" -struct alias { int name; unsigned int encoding_index; }; - -#define TOTAL_KEYWORDS 357 -#define MIN_WORD_LENGTH 2 -#define MAX_WORD_LENGTH 45 -#define MIN_HASH_VALUE 9 -#define MAX_HASH_VALUE 1038 -/* maximum key range = 1030, 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[] = - { - 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, - 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, - 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, - 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, - 1039, 1039, 1039, 1039, 1039, 0, 112, 1039, 57, 2, - 0, 20, 51, 8, 5, 49, 13, 16, 335, 1039, - 1039, 1039, 1039, 1039, 1039, 13, 149, 1, 6, 10, - 55, 139, 10, 0, 328, 86, 210, 147, 6, 0, - 73, 1039, 120, 6, 17, 282, 238, 172, 274, 2, - 0, 1039, 1039, 1039, 1039, 34, 1039, 1039, 1039, 1039, - 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, - 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, - 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039 - }; - register int hval = len; - - switch (hval) - { - default: - hval += asso_values[(unsigned char)str[10]]; - /*FALLTHROUGH*/ - case 10: - hval += asso_values[(unsigned char)str[9]]; - /*FALLTHROUGH*/ - case 9: - hval += asso_values[(unsigned char)str[8]]; - /*FALLTHROUGH*/ - case 8: - hval += asso_values[(unsigned char)str[7]]; - /*FALLTHROUGH*/ - case 7: - hval += asso_values[(unsigned char)str[6]]; - /*FALLTHROUGH*/ - case 6: - hval += asso_values[(unsigned char)str[5]]; - /*FALLTHROUGH*/ - case 5: - hval += asso_values[(unsigned char)str[4]]; - /*FALLTHROUGH*/ - case 4: - hval += asso_values[(unsigned char)str[3]]; - /*FALLTHROUGH*/ - case 3: - hval += asso_values[(unsigned char)str[2]]; - /*FALLTHROUGH*/ - case 2: - case 1: - hval += asso_values[(unsigned char)str[0]]; - break; - } - return hval + asso_values[(unsigned char)str[len - 1]]; -} - -struct stringpool_t - { - char stringpool_str9[sizeof("CN")]; - char stringpool_str12[sizeof("HZ")]; - char stringpool_str16[sizeof("862")]; - char stringpool_str17[sizeof("CP1252")]; - char stringpool_str19[sizeof("ASCII")]; - char stringpool_str21[sizeof("CP1251")]; - char stringpool_str22[sizeof("SJIS")]; - char stringpool_str24[sizeof("CP862")]; - char stringpool_str26[sizeof("866")]; - char stringpool_str27[sizeof("CP1256")]; - char stringpool_str28[sizeof("CSASCII")]; - char stringpool_str29[sizeof("EUCCN")]; - char stringpool_str30[sizeof("EUC-CN")]; - char stringpool_str33[sizeof("CP1255")]; - char stringpool_str34[sizeof("CP866")]; - char stringpool_str35[sizeof("CP1131")]; - char stringpool_str36[sizeof("C99")]; - char stringpool_str38[sizeof("CP1361")]; - char stringpool_str39[sizeof("HP15CN")]; - char stringpool_str42[sizeof("CP932")]; - char stringpool_str43[sizeof("CP1258")]; - char stringpool_str50[sizeof("CHINESE")]; - char stringpool_str52[sizeof("CP936")]; - char stringpool_str53[sizeof("CP819")]; - char stringpool_str57[sizeof("CP1253")]; - char stringpool_str58[sizeof("ISO88592")]; - char stringpool_str59[sizeof("ISO8859-2")]; - char stringpool_str60[sizeof("ISO-8859-2")]; - char stringpool_str62[sizeof("ISO88591")]; - char stringpool_str63[sizeof("ISO8859-1")]; - char stringpool_str64[sizeof("ISO-8859-1")]; - char stringpool_str66[sizeof("ISO8859-11")]; - char stringpool_str67[sizeof("ISO-8859-11")]; - char stringpool_str68[sizeof("ISO88596")]; - char stringpool_str69[sizeof("ISO8859-6")]; - char stringpool_str70[sizeof("ISO-8859-6")]; - char stringpool_str71[sizeof("CP1133")]; - char stringpool_str72[sizeof("ISO8859-16")]; - char stringpool_str73[sizeof("ISO-8859-16")]; - char stringpool_str74[sizeof("ISO88595")]; - char stringpool_str75[sizeof("ISO8859-5")]; - char stringpool_str76[sizeof("ISO-8859-5")]; - char stringpool_str77[sizeof("ISO885915")]; - char stringpool_str78[sizeof("ISO8859-15")]; - char stringpool_str79[sizeof("ISO-8859-15")]; - char stringpool_str81[sizeof("ISO-2022-CN")]; - char stringpool_str83[sizeof("ISO646-CN")]; - char stringpool_str84[sizeof("ISO88598")]; - char stringpool_str85[sizeof("ISO8859-8")]; - char stringpool_str86[sizeof("ISO-8859-8")]; - char stringpool_str88[sizeof("CSISO2022CN")]; - char stringpool_str90[sizeof("ISO88599")]; - char stringpool_str91[sizeof("ISO8859-9")]; - char stringpool_str92[sizeof("ISO-8859-9")]; - char stringpool_str94[sizeof("ISO_8859-2")]; - char stringpool_str96[sizeof("ISO-2022-CN-EXT")]; - char stringpool_str98[sizeof("ISO_8859-1")]; - char stringpool_str99[sizeof("ISO8859-3")]; - char stringpool_str100[sizeof("ISO-8859-3")]; - char stringpool_str101[sizeof("ISO_8859-11")]; - char stringpool_str102[sizeof("ISO8859-13")]; - char stringpool_str103[sizeof("ISO-8859-13")]; - char stringpool_str104[sizeof("ISO_8859-6")]; - char stringpool_str105[sizeof("CP949")]; - char stringpool_str107[sizeof("ISO_8859-16")]; - char stringpool_str109[sizeof("ISO_8859-16:2001")]; - char stringpool_str110[sizeof("ISO_8859-5")]; - char stringpool_str111[sizeof("ELOT_928")]; - char stringpool_str113[sizeof("ISO_8859-15")]; - char stringpool_str115[sizeof("CP1257")]; - char stringpool_str118[sizeof("CP154")]; - char stringpool_str119[sizeof("CP1254")]; - char stringpool_str120[sizeof("ISO_8859-8")]; - char stringpool_str123[sizeof("ISO_8859-15:1998")]; - char stringpool_str126[sizeof("ISO_8859-9")]; - char stringpool_str129[sizeof("CP367")]; - char stringpool_str130[sizeof("850")]; - char stringpool_str131[sizeof("CP1250")]; - char stringpool_str134[sizeof("ISO_8859-3")]; - char stringpool_str135[sizeof("R8")]; - char stringpool_str137[sizeof("ISO_8859-13")]; - char stringpool_str138[sizeof("ISO-IR-6")]; - char stringpool_str139[sizeof("KOI8-T")]; - char stringpool_str140[sizeof("ISO-IR-226")]; - char stringpool_str141[sizeof("CP850")]; - char stringpool_str142[sizeof("ISO-IR-126")]; - char stringpool_str144[sizeof("CP950")]; - char stringpool_str147[sizeof("ISO-IR-166")]; - char stringpool_str148[sizeof("TIS620")]; - char stringpool_str149[sizeof("TIS-620")]; - char stringpool_str152[sizeof("MAC")]; - char stringpool_str153[sizeof("ISO-IR-165")]; - char stringpool_str156[sizeof("ISO88597")]; - char stringpool_str157[sizeof("ISO8859-7")]; - char stringpool_str158[sizeof("ISO-8859-7")]; - char stringpool_str159[sizeof("ISO_8859-10:1992")]; - char stringpool_str161[sizeof("ISO8859-4")]; - char stringpool_str162[sizeof("ISO-8859-4")]; - char stringpool_str163[sizeof("ISO-IR-58")]; - char stringpool_str164[sizeof("ISO8859-14")]; - char stringpool_str165[sizeof("ISO-8859-14")]; - char stringpool_str166[sizeof("ISO_8859-14:1998")]; - char stringpool_str167[sizeof("GB2312")]; - char stringpool_str170[sizeof("CP874")]; - char stringpool_str171[sizeof("IBM862")]; - char stringpool_str172[sizeof("ISO-IR-159")]; - char stringpool_str176[sizeof("ISO8859-10")]; - char stringpool_str177[sizeof("ISO-8859-10")]; - char stringpool_str178[sizeof("ISO-IR-138")]; - char stringpool_str179[sizeof("MS-ANSI")]; - char stringpool_str180[sizeof("ISO-IR-199")]; - char stringpool_str181[sizeof("IBM866")]; - char stringpool_str182[sizeof("MS-EE")]; - char stringpool_str183[sizeof("ARABIC")]; - char stringpool_str190[sizeof("PT154")]; - char stringpool_str192[sizeof("ISO_8859-7")]; - char stringpool_str193[sizeof("ISO-IR-101")]; - char stringpool_str195[sizeof("MACTHAI")]; - char stringpool_str196[sizeof("ISO_8859-4")]; - char stringpool_str198[sizeof("MS936")]; - char stringpool_str199[sizeof("ISO_8859-14")]; - char stringpool_str200[sizeof("IBM819")]; - char stringpool_str202[sizeof("ARMSCII-8")]; - char stringpool_str203[sizeof("KSC_5601")]; - char stringpool_str206[sizeof("MACINTOSH")]; - char stringpool_str207[sizeof("TIS620-0")]; - char stringpool_str208[sizeof("ECMA-118")]; - char stringpool_str209[sizeof("ISO-IR-148")]; - char stringpool_str211[sizeof("ISO_8859-10")]; - char stringpool_str212[sizeof("L2")]; - char stringpool_str213[sizeof("ISO-IR-179")]; - char stringpool_str214[sizeof("L1")]; - char stringpool_str215[sizeof("ISO-IR-149")]; - char stringpool_str217[sizeof("L6")]; - char stringpool_str220[sizeof("L5")]; - char stringpool_str221[sizeof("ISO-IR-109")]; - char stringpool_str222[sizeof("CSMACINTOSH")]; - char stringpool_str225[sizeof("L8")]; - char stringpool_str227[sizeof("ISO-IR-203")]; - char stringpool_str229[sizeof("KZ-1048")]; - char stringpool_str230[sizeof("ISO-IR-127")]; - char stringpool_str231[sizeof("CSKZ1048")]; - char stringpool_str232[sizeof("L3")]; - char stringpool_str233[sizeof("ISO-IR-14")]; - char stringpool_str235[sizeof("ISO-IR-57")]; - char stringpool_str236[sizeof("TIS620.2529-1")]; - char stringpool_str238[sizeof("ISO-IR-157")]; - char stringpool_str239[sizeof("LATIN2")]; - char stringpool_str240[sizeof("ISO-IR-87")]; - char stringpool_str243[sizeof("LATIN1")]; - char stringpool_str246[sizeof("CSKSC56011987")]; - char stringpool_str247[sizeof("KOREAN")]; - char stringpool_str248[sizeof("ISO-IR-110")]; - char stringpool_str249[sizeof("LATIN6")]; - char stringpool_str250[sizeof("ISO-CELTIC")]; - char stringpool_str251[sizeof("VISCII")]; - char stringpool_str254[sizeof("CSVISCII")]; - char stringpool_str255[sizeof("LATIN5")]; - char stringpool_str258[sizeof("CHAR")]; - char stringpool_str259[sizeof("KS_C_5601-1989")]; - char stringpool_str260[sizeof("TIS620.2533-1")]; - char stringpool_str261[sizeof("L7")]; - char stringpool_str262[sizeof("RK1048")]; - char stringpool_str263[sizeof("L4")]; - char stringpool_str264[sizeof("CSISOLATIN2")]; - char stringpool_str265[sizeof("LATIN8")]; - char stringpool_str266[sizeof("PTCP154")]; - char stringpool_str268[sizeof("CSISOLATIN1")]; - char stringpool_str271[sizeof("TCVN")]; - char stringpool_str272[sizeof("LATIN-9")]; - char stringpool_str273[sizeof("CSISOLATINCYRILLIC")]; - char stringpool_str274[sizeof("CSISOLATIN6")]; - char stringpool_str276[sizeof("IBM367")]; - char stringpool_str277[sizeof("GREEK8")]; - char stringpool_str279[sizeof("LATIN3")]; - char stringpool_str280[sizeof("CSISOLATIN5")]; - char stringpool_str281[sizeof("X0212")]; - char stringpool_str283[sizeof("CSISOLATINARABIC")]; - char stringpool_str284[sizeof("ECMA-114")]; - char stringpool_str285[sizeof("ISO-IR-144")]; - char stringpool_str286[sizeof("CSPTCP154")]; - char stringpool_str287[sizeof("UHC")]; - char stringpool_str288[sizeof("IBM850")]; - char stringpool_str290[sizeof("US")]; - char stringpool_str292[sizeof("KS_C_5601-1987")]; - char stringpool_str293[sizeof("UCS-2")]; - char stringpool_str295[sizeof("IBM-CP1133")]; - char stringpool_str300[sizeof("ASMO-708")]; - char stringpool_str303[sizeof("ISO-IR-100")]; - char stringpool_str304[sizeof("CSISOLATIN3")]; - char stringpool_str308[sizeof("BIG5")]; - char stringpool_str309[sizeof("BIG-5")]; - char stringpool_str310[sizeof("US-ASCII")]; - char stringpool_str311[sizeof("CSBIG5")]; - char stringpool_str312[sizeof("CN-BIG5")]; - char stringpool_str314[sizeof("GBK")]; - char stringpool_str315[sizeof("TIS620.2533-0")]; - char stringpool_str316[sizeof("UNICODE-1-1")]; - char stringpool_str318[sizeof("ROMAN8")]; - char stringpool_str319[sizeof("CSGB2312")]; - char stringpool_str323[sizeof("CSUNICODE11")]; - char stringpool_str325[sizeof("CSUNICODE")]; - char stringpool_str327[sizeof("L10")]; - char stringpool_str329[sizeof("TCVN-5712")]; - char stringpool_str330[sizeof("HZ-GB-2312")]; - char stringpool_str331[sizeof("HP-ROMAN8")]; - char stringpool_str332[sizeof("GB_2312-80")]; - char stringpool_str333[sizeof("CSIBM866")]; - char stringpool_str334[sizeof("TCVN5712-1")]; - char stringpool_str335[sizeof("MACCROATIAN")]; - char stringpool_str336[sizeof("GREEK")]; - char stringpool_str337[sizeof("LATIN7")]; - char stringpool_str340[sizeof("X0201")]; - char stringpool_str341[sizeof("LATIN4")]; - char stringpool_str342[sizeof("EUCKR")]; - char stringpool_str343[sizeof("EUC-KR")]; - char stringpool_str345[sizeof("KOI8-R")]; - char stringpool_str347[sizeof("CSKOI8R")]; - char stringpool_str352[sizeof("GB18030")]; - char stringpool_str354[sizeof("GB_1988-80")]; - char stringpool_str355[sizeof("UTF-16")]; - char stringpool_str356[sizeof("LATIN10")]; - char stringpool_str362[sizeof("X0208")]; - char stringpool_str363[sizeof("UTF-32")]; - char stringpool_str364[sizeof("ISO646-US")]; - char stringpool_str366[sizeof("CSISOLATIN4")]; - char stringpool_str367[sizeof("UTF8")]; - char stringpool_str368[sizeof("UTF-8")]; - char stringpool_str369[sizeof("UNICODE-1-1-UTF-7")]; - char stringpool_str374[sizeof("CSUNICODE11UTF7")]; - char stringpool_str376[sizeof("VISCII1.1-1")]; - char stringpool_str377[sizeof("EUCTW")]; - char stringpool_str378[sizeof("EUC-TW")]; - char stringpool_str384[sizeof("WINDOWS-1252")]; - char stringpool_str386[sizeof("WINDOWS-1251")]; - char stringpool_str389[sizeof("WINDOWS-1256")]; - char stringpool_str390[sizeof("WCHAR_T")]; - char stringpool_str392[sizeof("WINDOWS-1255")]; - char stringpool_str394[sizeof("ISO-2022-KR")]; - char stringpool_str395[sizeof("UCS-4")]; - char stringpool_str396[sizeof("CSISO57GB1988")]; - char stringpool_str397[sizeof("WINDOWS-1258")]; - char stringpool_str398[sizeof("CSUCS4")]; - char stringpool_str401[sizeof("CSISO2022KR")]; - char stringpool_str403[sizeof("JP")]; - char stringpool_str404[sizeof("WINDOWS-1253")]; - char stringpool_str405[sizeof("STRK1048-2002")]; - char stringpool_str406[sizeof("CSHPROMAN8")]; - char stringpool_str408[sizeof("CSISO58GB231280")]; - char stringpool_str410[sizeof("MACICELAND")]; - char stringpool_str412[sizeof("CSISO14JISC6220RO")]; - char stringpool_str415[sizeof("JIS_C6226-1983")]; - char stringpool_str417[sizeof("ISO-10646-UCS-2")]; - char stringpool_str419[sizeof("WINDOWS-936")]; - char stringpool_str420[sizeof("BIG5HKSCS")]; - char stringpool_str421[sizeof("BIG5-HKSCS")]; - char stringpool_str427[sizeof("SHIFT-JIS")]; - char stringpool_str433[sizeof("WINDOWS-1257")]; - char stringpool_str435[sizeof("WINDOWS-1254")]; - char stringpool_str437[sizeof("CN-GB-ISOIR165")]; - char stringpool_str439[sizeof("CSSHIFTJIS")]; - char stringpool_str440[sizeof("UTF-7")]; - char stringpool_str441[sizeof("WINDOWS-1250")]; - char stringpool_str442[sizeof("EXTENDED_UNIX_CODE_PACKED_FORMAT_FOR_JAPANESE")]; - char stringpool_str443[sizeof("CN-GB")]; - char stringpool_str444[sizeof("CSISO159JISX02121990")]; - char stringpool_str448[sizeof("MACROMAN")]; - char stringpool_str449[sizeof("GEORGIAN-ACADEMY")]; - char stringpool_str450[sizeof("JIS_C6220-1969-RO")]; - char stringpool_str451[sizeof("CSISOLATINHEBREW")]; - char stringpool_str454[sizeof("MACARABIC")]; - char stringpool_str455[sizeof("ISO_8859-5:1988")]; - char stringpool_str460[sizeof("ISO_8859-8:1988")]; - char stringpool_str461[sizeof("SHIFT_JIS")]; - char stringpool_str464[sizeof("UCS-2BE")]; - char stringpool_str466[sizeof("ISO_8859-9:1989")]; - char stringpool_str467[sizeof("ISO_8859-3:1988")]; - char stringpool_str468[sizeof("ISO-10646-UCS-4")]; - char stringpool_str470[sizeof("MACROMANIA")]; - char stringpool_str471[sizeof("ISO-2022-JP-2")]; - char stringpool_str473[sizeof("ISO-2022-JP-1")]; - char stringpool_str477[sizeof("CSISO2022JP2")]; - char stringpool_str481[sizeof("JIS0208")]; - char stringpool_str483[sizeof("ISO_8859-2:1987")]; - char stringpool_str484[sizeof("NEXTSTEP")]; - char stringpool_str485[sizeof("ISO_8859-1:1987")]; - char stringpool_str488[sizeof("ISO_8859-6:1987")]; - char stringpool_str490[sizeof("EUCJP")]; - char stringpool_str491[sizeof("EUC-JP")]; - char stringpool_str493[sizeof("CSISOLATINGREEK")]; - char stringpool_str498[sizeof("ISO_8859-4:1988")]; - char stringpool_str503[sizeof("ISO_8859-7:2003")]; - char stringpool_str513[sizeof("GEORGIAN-PS")]; - char stringpool_str515[sizeof("UCS-4BE")]; - char stringpool_str521[sizeof("UTF-16BE")]; - char stringpool_str523[sizeof("CSPC862LATINHEBREW")]; - char stringpool_str525[sizeof("UCS-2LE")]; - char stringpool_str526[sizeof("CSHALFWIDTHKATAKANA")]; - char stringpool_str531[sizeof("ANSI_X3.4-1986")]; - char stringpool_str532[sizeof("ISO_8859-7:1987")]; - char stringpool_str534[sizeof("UTF-32BE")]; - char stringpool_str537[sizeof("WINDOWS-874")]; - char stringpool_str539[sizeof("ANSI_X3.4-1968")]; - char stringpool_str542[sizeof("ISO-2022-JP")]; - char stringpool_str544[sizeof("ISO646-JP")]; - char stringpool_str549[sizeof("CSISO2022JP")]; - char stringpool_str551[sizeof("CYRILLIC")]; - char stringpool_str561[sizeof("MACCENTRALEUROPE")]; - char stringpool_str563[sizeof("MS-HEBR")]; - char stringpool_str566[sizeof("UNICODELITTLE")]; - char stringpool_str576[sizeof("UCS-4LE")]; - char stringpool_str581[sizeof("CYRILLIC-ASIAN")]; - char stringpool_str582[sizeof("UTF-16LE")]; - char stringpool_str583[sizeof("ISO_646.IRV:1991")]; - char stringpool_str595[sizeof("UTF-32LE")]; - char stringpool_str596[sizeof("JAVA")]; - char stringpool_str598[sizeof("MS-ARAB")]; - char stringpool_str603[sizeof("MULELAO-1")]; - char stringpool_str606[sizeof("MS-GREEK")]; - char stringpool_str607[sizeof("MACGREEK")]; - char stringpool_str608[sizeof("BIGFIVE")]; - char stringpool_str609[sizeof("BIG-FIVE")]; - char stringpool_str622[sizeof("MS_KANJI")]; - char stringpool_str627[sizeof("CSEUCKR")]; - char stringpool_str639[sizeof("HEBREW")]; - char stringpool_str644[sizeof("UCS-2-SWAPPED")]; - char stringpool_str654[sizeof("JOHAB")]; - char stringpool_str662[sizeof("CSEUCTW")]; - char stringpool_str665[sizeof("UCS-2-INTERNAL")]; - char stringpool_str669[sizeof("KOI8-U")]; - char stringpool_str685[sizeof("MACUKRAINE")]; - char stringpool_str689[sizeof("MACTURKISH")]; - char stringpool_str692[sizeof("TCVN5712-1:1993")]; - char stringpool_str695[sizeof("UCS-4-SWAPPED")]; - char stringpool_str697[sizeof("MS-CYRL")]; - char stringpool_str704[sizeof("MACCYRILLIC")]; - char stringpool_str705[sizeof("CSISO87JISX0208")]; - char stringpool_str707[sizeof("CSEUCPKDFMTJAPANESE")]; - char stringpool_str710[sizeof("JIS_X0212")]; - char stringpool_str716[sizeof("UCS-4-INTERNAL")]; - char stringpool_str736[sizeof("UNICODEBIG")]; - char stringpool_str745[sizeof("MS-TURK")]; - char stringpool_str757[sizeof("BIG5-HKSCS:2001")]; - char stringpool_str760[sizeof("JISX0201-1976")]; - char stringpool_str768[sizeof("BIG5-HKSCS:2008")]; - char stringpool_str769[sizeof("JIS_X0201")]; - char stringpool_str771[sizeof("BIG5-HKSCS:1999")]; - char stringpool_str774[sizeof("JIS_X0212-1990")]; - char stringpool_str790[sizeof("KOI8-RU")]; - char stringpool_str791[sizeof("JIS_X0208")]; - char stringpool_str800[sizeof("MACHEBREW")]; - char stringpool_str805[sizeof("JIS_X0208-1983")]; - char stringpool_str806[sizeof("BIG5-HKSCS:2004")]; - char stringpool_str842[sizeof("JIS_X0208-1990")]; - char stringpool_str888[sizeof("JIS_X0212.1990-0")]; - char stringpool_str991[sizeof("WINBALTRIM")]; - char stringpool_str1038[sizeof("CSPC850MULTILINGUAL")]; - }; -static const struct stringpool_t stringpool_contents = - { - "CN", - "HZ", - "862", - "CP1252", - "ASCII", - "CP1251", - "SJIS", - "CP862", - "866", - "CP1256", - "CSASCII", - "EUCCN", - "EUC-CN", - "CP1255", - "CP866", - "CP1131", - "C99", - "CP1361", - "HP15CN", - "CP932", - "CP1258", - "CHINESE", - "CP936", - "CP819", - "CP1253", - "ISO88592", - "ISO8859-2", - "ISO-8859-2", - "ISO88591", - "ISO8859-1", - "ISO-8859-1", - "ISO8859-11", - "ISO-8859-11", - "ISO88596", - "ISO8859-6", - "ISO-8859-6", - "CP1133", - "ISO8859-16", - "ISO-8859-16", - "ISO88595", - "ISO8859-5", - "ISO-8859-5", - "ISO885915", - "ISO8859-15", - "ISO-8859-15", - "ISO-2022-CN", - "ISO646-CN", - "ISO88598", - "ISO8859-8", - "ISO-8859-8", - "CSISO2022CN", - "ISO88599", - "ISO8859-9", - "ISO-8859-9", - "ISO_8859-2", - "ISO-2022-CN-EXT", - "ISO_8859-1", - "ISO8859-3", - "ISO-8859-3", - "ISO_8859-11", - "ISO8859-13", - "ISO-8859-13", - "ISO_8859-6", - "CP949", - "ISO_8859-16", - "ISO_8859-16:2001", - "ISO_8859-5", - "ELOT_928", - "ISO_8859-15", - "CP1257", - "CP154", - "CP1254", - "ISO_8859-8", - "ISO_8859-15:1998", - "ISO_8859-9", - "CP367", - "850", - "CP1250", - "ISO_8859-3", - "R8", - "ISO_8859-13", - "ISO-IR-6", - "KOI8-T", - "ISO-IR-226", - "CP850", - "ISO-IR-126", - "CP950", - "ISO-IR-166", - "TIS620", - "TIS-620", - "MAC", - "ISO-IR-165", - "ISO88597", - "ISO8859-7", - "ISO-8859-7", - "ISO_8859-10:1992", - "ISO8859-4", - "ISO-8859-4", - "ISO-IR-58", - "ISO8859-14", - "ISO-8859-14", - "ISO_8859-14:1998", - "GB2312", - "CP874", - "IBM862", - "ISO-IR-159", - "ISO8859-10", - "ISO-8859-10", - "ISO-IR-138", - "MS-ANSI", - "ISO-IR-199", - "IBM866", - "MS-EE", - "ARABIC", - "PT154", - "ISO_8859-7", - "ISO-IR-101", - "MACTHAI", - "ISO_8859-4", - "MS936", - "ISO_8859-14", - "IBM819", - "ARMSCII-8", - "KSC_5601", - "MACINTOSH", - "TIS620-0", - "ECMA-118", - "ISO-IR-148", - "ISO_8859-10", - "L2", - "ISO-IR-179", - "L1", - "ISO-IR-149", - "L6", - "L5", - "ISO-IR-109", - "CSMACINTOSH", - "L8", - "ISO-IR-203", - "KZ-1048", - "ISO-IR-127", - "CSKZ1048", - "L3", - "ISO-IR-14", - "ISO-IR-57", - "TIS620.2529-1", - "ISO-IR-157", - "LATIN2", - "ISO-IR-87", - "LATIN1", - "CSKSC56011987", - "KOREAN", - "ISO-IR-110", - "LATIN6", - "ISO-CELTIC", - "VISCII", - "CSVISCII", - "LATIN5", - "CHAR", - "KS_C_5601-1989", - "TIS620.2533-1", - "L7", - "RK1048", - "L4", - "CSISOLATIN2", - "LATIN8", - "PTCP154", - "CSISOLATIN1", - "TCVN", - "LATIN-9", - "CSISOLATINCYRILLIC", - "CSISOLATIN6", - "IBM367", - "GREEK8", - "LATIN3", - "CSISOLATIN5", - "X0212", - "CSISOLATINARABIC", - "ECMA-114", - "ISO-IR-144", - "CSPTCP154", - "UHC", - "IBM850", - "US", - "KS_C_5601-1987", - "UCS-2", - "IBM-CP1133", - "ASMO-708", - "ISO-IR-100", - "CSISOLATIN3", - "BIG5", - "BIG-5", - "US-ASCII", - "CSBIG5", - "CN-BIG5", - "GBK", - "TIS620.2533-0", - "UNICODE-1-1", - "ROMAN8", - "CSGB2312", - "CSUNICODE11", - "CSUNICODE", - "L10", - "TCVN-5712", - "HZ-GB-2312", - "HP-ROMAN8", - "GB_2312-80", - "CSIBM866", - "TCVN5712-1", - "MACCROATIAN", - "GREEK", - "LATIN7", - "X0201", - "LATIN4", - "EUCKR", - "EUC-KR", - "KOI8-R", - "CSKOI8R", - "GB18030", - "GB_1988-80", - "UTF-16", - "LATIN10", - "X0208", - "UTF-32", - "ISO646-US", - "CSISOLATIN4", - "UTF8", - "UTF-8", - "UNICODE-1-1-UTF-7", - "CSUNICODE11UTF7", - "VISCII1.1-1", - "EUCTW", - "EUC-TW", - "WINDOWS-1252", - "WINDOWS-1251", - "WINDOWS-1256", - "WCHAR_T", - "WINDOWS-1255", - "ISO-2022-KR", - "UCS-4", - "CSISO57GB1988", - "WINDOWS-1258", - "CSUCS4", - "CSISO2022KR", - "JP", - "WINDOWS-1253", - "STRK1048-2002", - "CSHPROMAN8", - "CSISO58GB231280", - "MACICELAND", - "CSISO14JISC6220RO", - "JIS_C6226-1983", - "ISO-10646-UCS-2", - "WINDOWS-936", - "BIG5HKSCS", - "BIG5-HKSCS", - "SHIFT-JIS", - "WINDOWS-1257", - "WINDOWS-1254", - "CN-GB-ISOIR165", - "CSSHIFTJIS", - "UTF-7", - "WINDOWS-1250", - "EXTENDED_UNIX_CODE_PACKED_FORMAT_FOR_JAPANESE", - "CN-GB", - "CSISO159JISX02121990", - "MACROMAN", - "GEORGIAN-ACADEMY", - "JIS_C6220-1969-RO", - "CSISOLATINHEBREW", - "MACARABIC", - "ISO_8859-5:1988", - "ISO_8859-8:1988", - "SHIFT_JIS", - "UCS-2BE", - "ISO_8859-9:1989", - "ISO_8859-3:1988", - "ISO-10646-UCS-4", - "MACROMANIA", - "ISO-2022-JP-2", - "ISO-2022-JP-1", - "CSISO2022JP2", - "JIS0208", - "ISO_8859-2:1987", - "NEXTSTEP", - "ISO_8859-1:1987", - "ISO_8859-6:1987", - "EUCJP", - "EUC-JP", - "CSISOLATINGREEK", - "ISO_8859-4:1988", - "ISO_8859-7:2003", - "GEORGIAN-PS", - "UCS-4BE", - "UTF-16BE", - "CSPC862LATINHEBREW", - "UCS-2LE", - "CSHALFWIDTHKATAKANA", - "ANSI_X3.4-1986", - "ISO_8859-7:1987", - "UTF-32BE", - "WINDOWS-874", - "ANSI_X3.4-1968", - "ISO-2022-JP", - "ISO646-JP", - "CSISO2022JP", - "CYRILLIC", - "MACCENTRALEUROPE", - "MS-HEBR", - "UNICODELITTLE", - "UCS-4LE", - "CYRILLIC-ASIAN", - "UTF-16LE", - "ISO_646.IRV:1991", - "UTF-32LE", - "JAVA", - "MS-ARAB", - "MULELAO-1", - "MS-GREEK", - "MACGREEK", - "BIGFIVE", - "BIG-FIVE", - "MS_KANJI", - "CSEUCKR", - "HEBREW", - "UCS-2-SWAPPED", - "JOHAB", - "CSEUCTW", - "UCS-2-INTERNAL", - "KOI8-U", - "MACUKRAINE", - "MACTURKISH", - "TCVN5712-1:1993", - "UCS-4-SWAPPED", - "MS-CYRL", - "MACCYRILLIC", - "CSISO87JISX0208", - "CSEUCPKDFMTJAPANESE", - "JIS_X0212", - "UCS-4-INTERNAL", - "UNICODEBIG", - "MS-TURK", - "BIG5-HKSCS:2001", - "JISX0201-1976", - "BIG5-HKSCS:2008", - "JIS_X0201", - "BIG5-HKSCS:1999", - "JIS_X0212-1990", - "KOI8-RU", - "JIS_X0208", - "MACHEBREW", - "JIS_X0208-1983", - "BIG5-HKSCS:2004", - "JIS_X0208-1990", - "JIS_X0212.1990-0", - "WINBALTRIM", - "CSPC850MULTILINGUAL" - }; -#define stringpool ((const char *) &stringpool_contents) - -static const struct alias aliases[] = - { - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 297 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str9, ei_iso646_cn}, - {-1}, {-1}, -#line 340 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str12, ei_hz}, - {-1}, {-1}, {-1}, -#line 212 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str16, ei_cp862}, -#line 186 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str17, ei_cp1252}, - {-1}, -#line 13 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str19, ei_ascii}, - {-1}, -#line 183 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str21, ei_cp1251}, -#line 317 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str22, ei_sjis}, - {-1}, -#line 210 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str24, ei_cp862}, - {-1}, -#line 216 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str26, ei_cp866}, -#line 198 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str27, ei_cp1256}, -#line 22 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str28, ei_ascii}, -#line 327 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str29, ei_euc_cn}, -#line 326 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str30, ei_euc_cn}, - {-1}, {-1}, -#line 195 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str33, ei_cp1255}, -#line 214 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str34, ei_cp866}, -#line 218 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str35, ei_cp1131}, -#line 52 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str36, ei_c99}, - {-1}, -#line 364 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str38, ei_johab}, -#line 331 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str39, ei_euc_cn}, - {-1}, {-1}, -#line 320 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str42, ei_cp932}, -#line 204 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str43, ei_cp1258}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 302 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str50, ei_gb2312}, - {-1}, -#line 333 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str52, ei_cp936}, -#line 58 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str53, ei_iso8859_1}, - {-1}, {-1}, {-1}, -#line 189 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str57, ei_cp1253}, -#line 73 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str58, ei_iso8859_2}, -#line 72 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str59, ei_iso8859_2}, -#line 65 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str60, ei_iso8859_2}, - {-1}, -#line 64 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str62, ei_iso8859_1}, -#line 63 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str63, ei_iso8859_1}, -#line 54 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str64, ei_iso8859_1}, - {-1}, -#line 147 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str66, ei_iso8859_11}, -#line 145 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str67, ei_iso8859_11}, -#line 107 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str68, ei_iso8859_6}, -#line 106 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str69, ei_iso8859_6}, -#line 98 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str70, ei_iso8859_6}, -#line 253 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str71, ei_cp1133}, -#line 175 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str72, ei_iso8859_16}, -#line 169 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str73, ei_iso8859_16}, -#line 97 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str74, ei_iso8859_5}, -#line 96 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str75, ei_iso8859_5}, -#line 90 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str76, ei_iso8859_5}, -#line 168 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str77, ei_iso8859_15}, -#line 167 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str78, ei_iso8859_15}, -#line 162 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str79, ei_iso8859_15}, - {-1}, -#line 337 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str81, ei_iso2022_cn}, - {-1}, -#line 295 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str83, ei_iso646_cn}, -#line 127 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str84, ei_iso8859_8}, -#line 126 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str85, ei_iso8859_8}, -#line 120 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str86, ei_iso8859_8}, - {-1}, -#line 338 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str88, ei_iso2022_cn}, - {-1}, -#line 136 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str90, ei_iso8859_9}, -#line 135 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str91, ei_iso8859_9}, -#line 128 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str92, ei_iso8859_9}, - {-1}, -#line 66 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str94, ei_iso8859_2}, - {-1}, -#line 339 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str96, ei_iso2022_cn_ext}, - {-1}, -#line 55 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str98, ei_iso8859_1}, -#line 81 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str99, ei_iso8859_3}, -#line 74 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str100, ei_iso8859_3}, -#line 146 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str101, ei_iso8859_11}, -#line 153 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str102, ei_iso8859_13}, -#line 148 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str103, ei_iso8859_13}, -#line 99 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str104, ei_iso8859_6}, -#line 361 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str105, ei_cp949}, - {-1}, -#line 170 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str107, ei_iso8859_16}, - {-1}, -#line 171 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str109, ei_iso8859_16}, -#line 91 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str110, ei_iso8859_5}, -#line 114 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str111, ei_iso8859_7}, - {-1}, -#line 163 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str113, ei_iso8859_15}, - {-1}, -#line 201 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str115, ei_cp1257}, - {-1}, {-1}, -#line 245 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str118, ei_pt154}, -#line 192 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str119, ei_cp1254}, -#line 121 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str120, ei_iso8859_8}, - {-1}, {-1}, -#line 164 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str123, ei_iso8859_15}, - {-1}, {-1}, -#line 129 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str126, ei_iso8859_9}, - {-1}, {-1}, -#line 19 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str129, ei_ascii}, -#line 208 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str130, ei_cp850}, -#line 180 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str131, ei_cp1250}, - {-1}, {-1}, -#line 75 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str134, ei_iso8859_3}, -#line 236 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str135, ei_hp_roman8}, - {-1}, -#line 149 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str137, ei_iso8859_13}, -#line 16 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str138, ei_ascii}, -#line 242 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str139, ei_koi8_t}, -#line 172 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str140, ei_iso8859_16}, -#line 206 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str141, ei_cp850}, -#line 112 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str142, ei_iso8859_7}, - {-1}, -#line 351 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str144, ei_cp950}, - {-1}, {-1}, -#line 261 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str147, ei_tis620}, -#line 256 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str148, ei_tis620}, -#line 255 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str149, ei_tis620}, - {-1}, {-1}, -#line 221 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str152, ei_mac_roman}, -#line 303 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str153, ei_isoir165}, - {-1}, {-1}, -#line 119 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str156, ei_iso8859_7}, -#line 118 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str157, ei_iso8859_7}, -#line 108 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str158, ei_iso8859_7}, -#line 139 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str159, ei_iso8859_10}, - {-1}, -#line 89 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str161, ei_iso8859_4}, -#line 82 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str162, ei_iso8859_4}, -#line 300 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str163, ei_gb2312}, -#line 161 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str164, ei_iso8859_14}, -#line 154 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str165, ei_iso8859_14}, -#line 156 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str166, ei_iso8859_14}, -#line 328 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str167, ei_euc_cn}, - {-1}, {-1}, -#line 262 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str170, ei_cp874}, -#line 211 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str171, ei_cp862}, -#line 292 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str172, ei_jisx0212}, - {-1}, {-1}, {-1}, -#line 144 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str176, ei_iso8859_10}, -#line 137 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str177, ei_iso8859_10}, -#line 123 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str178, ei_iso8859_8}, -#line 188 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str179, ei_cp1252}, -#line 157 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str180, ei_iso8859_14}, -#line 215 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str181, ei_cp866}, -#line 182 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str182, ei_cp1250}, -#line 104 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str183, ei_iso8859_6}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 243 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str190, ei_pt154}, - {-1}, -#line 109 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str192, ei_iso8859_7}, -#line 68 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str193, ei_iso8859_2}, - {-1}, -#line 233 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str195, ei_mac_thai}, -#line 83 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str196, ei_iso8859_4}, - {-1}, -#line 334 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str198, ei_cp936}, -#line 155 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str199, ei_iso8859_14}, -#line 59 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str200, ei_iso8859_1}, - {-1}, -#line 239 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str202, ei_armscii_8}, -#line 305 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str203, ei_ksc5601}, - {-1}, {-1}, -#line 220 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str206, ei_mac_roman}, -#line 257 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str207, ei_tis620}, -#line 113 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str208, ei_iso8859_7}, -#line 131 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str209, ei_iso8859_9}, - {-1}, -#line 138 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str211, ei_iso8859_10}, -#line 70 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str212, ei_iso8859_2}, -#line 150 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str213, ei_iso8859_13}, -#line 61 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str214, ei_iso8859_1}, -#line 308 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str215, ei_ksc5601}, - {-1}, -#line 142 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str217, ei_iso8859_10}, - {-1}, {-1}, -#line 133 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str220, ei_iso8859_9}, -#line 77 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str221, ei_iso8859_3}, -#line 222 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str222, ei_mac_roman}, - {-1}, {-1}, -#line 159 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str225, ei_iso8859_14}, - {-1}, -#line 165 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str227, ei_iso8859_15}, - {-1}, -#line 250 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str229, ei_rk1048}, -#line 101 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str230, ei_iso8859_6}, -#line 251 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str231, ei_rk1048}, -#line 79 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str232, ei_iso8859_3}, -#line 273 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str233, ei_iso646_jp}, - {-1}, -#line 296 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str235, ei_iso646_cn}, -#line 258 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str236, ei_tis620}, - {-1}, -#line 140 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str238, ei_iso8859_10}, -#line 69 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str239, ei_iso8859_2}, -#line 285 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str240, ei_jisx0208}, - {-1}, {-1}, -#line 60 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str243, ei_iso8859_1}, - {-1}, {-1}, -#line 309 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str246, ei_ksc5601}, -#line 310 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str247, ei_ksc5601}, -#line 85 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str248, ei_iso8859_4}, -#line 141 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str249, ei_iso8859_10}, -#line 160 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str250, ei_iso8859_14}, -#line 264 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str251, ei_viscii}, - {-1}, {-1}, -#line 266 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str254, ei_viscii}, -#line 132 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str255, ei_iso8859_9}, - {-1}, {-1}, -#line 367 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str258, ei_local_char}, -#line 307 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str259, ei_ksc5601}, -#line 260 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str260, ei_tis620}, -#line 152 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str261, ei_iso8859_13}, -#line 248 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str262, ei_rk1048}, -#line 87 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str263, ei_iso8859_4}, -#line 71 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str264, ei_iso8859_2}, -#line 158 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str265, ei_iso8859_14}, -#line 244 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str266, ei_pt154}, - {-1}, -#line 62 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str268, ei_iso8859_1}, - {-1}, {-1}, -#line 267 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str271, ei_tcvn}, -#line 166 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str272, ei_iso8859_15}, -#line 95 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str273, ei_iso8859_5}, -#line 143 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str274, ei_iso8859_10}, - {-1}, -#line 20 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str276, ei_ascii}, -#line 115 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str277, ei_iso8859_7}, - {-1}, -#line 78 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str279, ei_iso8859_3}, -#line 134 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str280, ei_iso8859_9}, -#line 291 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str281, ei_jisx0212}, - {-1}, -#line 105 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str283, ei_iso8859_6}, -#line 102 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str284, ei_iso8859_6}, -#line 93 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str285, ei_iso8859_5}, -#line 247 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str286, ei_pt154}, -#line 362 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str287, ei_cp949}, -#line 207 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str288, ei_cp850}, - {-1}, -#line 21 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str290, ei_ascii}, - {-1}, -#line 306 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str292, ei_ksc5601}, -#line 25 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str293, ei_ucs2}, - {-1}, -#line 254 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str295, ei_cp1133}, - {-1}, {-1}, {-1}, {-1}, -#line 103 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str300, ei_iso8859_6}, - {-1}, {-1}, -#line 57 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str303, ei_iso8859_1}, -#line 80 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str304, ei_iso8859_3}, - {-1}, {-1}, {-1}, -#line 345 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str308, ei_ces_big5}, -#line 346 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str309, ei_ces_big5}, -#line 12 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str310, ei_ascii}, -#line 350 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str311, ei_ces_big5}, -#line 349 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str312, ei_ces_big5}, - {-1}, -#line 332 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str314, ei_ces_gbk}, -#line 259 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str315, ei_tis620}, -#line 30 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str316, ei_ucs2be}, - {-1}, -#line 235 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str318, ei_hp_roman8}, -#line 330 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str319, ei_euc_cn}, - {-1}, {-1}, {-1}, -#line 31 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str323, ei_ucs2be}, - {-1}, -#line 27 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str325, ei_ucs2}, - {-1}, -#line 174 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str327, ei_iso8859_16}, - {-1}, -#line 268 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str329, ei_tcvn}, -#line 341 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str330, ei_hz}, -#line 234 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str331, ei_hp_roman8}, -#line 299 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str332, ei_gb2312}, -#line 217 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str333, ei_cp866}, -#line 269 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str334, ei_tcvn}, -#line 225 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str335, ei_mac_croatian}, -#line 116 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str336, ei_iso8859_7}, -#line 151 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str337, ei_iso8859_13}, - {-1}, {-1}, -#line 278 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str340, ei_jisx0201}, -#line 86 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str341, ei_iso8859_4}, -#line 359 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str342, ei_euc_kr}, -#line 358 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str343, ei_euc_kr}, - {-1}, -#line 176 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str345, ei_koi8_r}, - {-1}, -#line 177 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str347, ei_koi8_r}, - {-1}, {-1}, {-1}, {-1}, -#line 336 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str352, ei_gb18030}, - {-1}, -#line 294 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str354, ei_iso646_cn}, -#line 39 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str355, ei_utf16}, -#line 173 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str356, ei_iso8859_16}, - {-1}, {-1}, {-1}, {-1}, {-1}, -#line 284 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str362, ei_jisx0208}, -#line 42 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str363, ei_utf32}, -#line 14 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str364, ei_ascii}, - {-1}, -#line 88 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str366, ei_iso8859_4}, -#line 24 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str367, ei_utf8}, -#line 23 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str368, ei_utf8}, -#line 46 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str369, ei_utf7}, - {-1}, {-1}, {-1}, {-1}, -#line 47 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str374, ei_utf7}, - {-1}, -#line 265 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str376, ei_viscii}, -#line 343 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str377, ei_euc_tw}, -#line 342 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str378, ei_euc_tw}, - {-1}, {-1}, {-1}, {-1}, {-1}, -#line 187 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str384, ei_cp1252}, - {-1}, -#line 184 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str386, ei_cp1251}, - {-1}, {-1}, -#line 199 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str389, ei_cp1256}, -#line 368 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str390, ei_local_wchar_t}, - {-1}, -#line 196 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str392, ei_cp1255}, - {-1}, -#line 365 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str394, ei_iso2022_kr}, -#line 34 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str395, ei_ucs4}, -#line 298 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str396, ei_iso646_cn}, -#line 205 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str397, ei_cp1258}, -#line 36 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str398, ei_ucs4}, - {-1}, {-1}, -#line 366 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str401, ei_iso2022_kr}, - {-1}, -#line 274 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str403, ei_iso646_jp}, -#line 190 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str404, ei_cp1253}, -#line 249 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str405, ei_rk1048}, -#line 237 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str406, ei_hp_roman8}, - {-1}, -#line 301 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str408, ei_gb2312}, - {-1}, -#line 224 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str410, ei_mac_iceland}, - {-1}, -#line 275 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str412, ei_iso646_jp}, - {-1}, {-1}, -#line 286 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str415, ei_jisx0208}, - {-1}, -#line 26 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str417, ei_ucs2}, - {-1}, -#line 335 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str419, ei_cp936}, -#line 356 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str420, ei_big5hkscs2008}, -#line 355 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str421, ei_big5hkscs2008}, - {-1}, {-1}, {-1}, {-1}, {-1}, -#line 316 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str427, ei_sjis}, - {-1}, {-1}, {-1}, {-1}, {-1}, -#line 202 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str433, ei_cp1257}, - {-1}, -#line 193 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str435, ei_cp1254}, - {-1}, -#line 304 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str437, ei_isoir165}, - {-1}, -#line 319 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str439, ei_sjis}, -#line 45 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str440, ei_utf7}, -#line 181 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str441, ei_cp1250}, -#line 313 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str442, ei_euc_jp}, -#line 329 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str443, ei_euc_cn}, -#line 293 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str444, ei_jisx0212}, - {-1}, {-1}, {-1}, -#line 219 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str448, ei_mac_roman}, -#line 240 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str449, ei_georgian_academy}, -#line 271 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str450, ei_iso646_jp}, -#line 125 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str451, ei_iso8859_8}, - {-1}, {-1}, -#line 232 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str454, ei_mac_arabic}, -#line 92 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str455, ei_iso8859_5}, - {-1}, {-1}, {-1}, {-1}, -#line 122 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str460, ei_iso8859_8}, -#line 315 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str461, ei_sjis}, - {-1}, {-1}, -#line 28 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str464, ei_ucs2be}, - {-1}, -#line 130 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str466, ei_iso8859_9}, -#line 76 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str467, ei_iso8859_3}, -#line 35 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str468, ei_ucs4}, - {-1}, -#line 226 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str470, ei_mac_romania}, -#line 324 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str471, ei_iso2022_jp2}, - {-1}, -#line 323 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str473, ei_iso2022_jp1}, - {-1}, {-1}, {-1}, -#line 325 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str477, ei_iso2022_jp2}, - {-1}, {-1}, {-1}, -#line 283 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str481, ei_jisx0208}, - {-1}, -#line 67 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str483, ei_iso8859_2}, -#line 238 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str484, ei_nextstep}, -#line 56 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str485, ei_iso8859_1}, - {-1}, {-1}, -#line 100 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str488, ei_iso8859_6}, - {-1}, -#line 312 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str490, ei_euc_jp}, -#line 311 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str491, ei_euc_jp}, - {-1}, -#line 117 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str493, ei_iso8859_7}, - {-1}, {-1}, {-1}, {-1}, -#line 84 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str498, ei_iso8859_4}, - {-1}, {-1}, {-1}, {-1}, -#line 111 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str503, ei_iso8859_7}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 241 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str513, ei_georgian_ps}, - {-1}, -#line 37 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str515, ei_ucs4be}, - {-1}, {-1}, {-1}, {-1}, {-1}, -#line 40 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str521, ei_utf16be}, - {-1}, -#line 213 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str523, ei_cp862}, - {-1}, -#line 32 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str525, ei_ucs2le}, -#line 279 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str526, ei_jisx0201}, - {-1}, {-1}, {-1}, {-1}, -#line 18 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str531, ei_ascii}, -#line 110 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str532, ei_iso8859_7}, - {-1}, -#line 43 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str534, ei_utf32be}, - {-1}, {-1}, -#line 263 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str537, ei_cp874}, - {-1}, -#line 17 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str539, ei_ascii}, - {-1}, {-1}, -#line 321 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str542, ei_iso2022_jp}, - {-1}, -#line 272 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str544, ei_iso646_jp}, - {-1}, {-1}, {-1}, {-1}, -#line 322 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str549, ei_iso2022_jp}, - {-1}, -#line 94 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str551, ei_iso8859_5}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 223 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str561, ei_mac_centraleurope}, - {-1}, -#line 197 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str563, ei_cp1255}, - {-1}, {-1}, -#line 33 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str566, ei_ucs2le}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 38 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str576, ei_ucs4le}, - {-1}, {-1}, {-1}, {-1}, -#line 246 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str581, ei_pt154}, -#line 41 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str582, ei_utf16le}, -#line 15 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str583, ei_ascii}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, -#line 44 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str595, ei_utf32le}, -#line 53 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str596, ei_java}, - {-1}, -#line 200 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str598, ei_cp1256}, - {-1}, {-1}, {-1}, {-1}, -#line 252 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str603, ei_mulelao}, - {-1}, {-1}, -#line 191 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str606, ei_cp1253}, -#line 229 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str607, ei_mac_greek}, -#line 348 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str608, ei_ces_big5}, -#line 347 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str609, ei_ces_big5}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, -#line 318 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str622, ei_sjis}, - {-1}, {-1}, {-1}, {-1}, -#line 360 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str627, ei_euc_kr}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, -#line 124 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str639, ei_iso8859_8}, - {-1}, {-1}, {-1}, {-1}, -#line 49 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str644, ei_ucs2swapped}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 363 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str654, ei_johab}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 344 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str662, ei_euc_tw}, - {-1}, {-1}, -#line 48 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str665, ei_ucs2internal}, - {-1}, {-1}, {-1}, -#line 178 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str669, ei_koi8_u}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 228 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str685, ei_mac_ukraine}, - {-1}, {-1}, {-1}, -#line 230 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str689, ei_mac_turkish}, - {-1}, {-1}, -#line 270 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str692, ei_tcvn}, - {-1}, {-1}, -#line 51 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str695, ei_ucs4swapped}, - {-1}, -#line 185 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str697, ei_cp1251}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 227 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str704, ei_mac_cyrillic}, -#line 287 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str705, ei_jisx0208}, - {-1}, -#line 314 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str707, ei_euc_jp}, - {-1}, {-1}, -#line 288 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str710, ei_jisx0212}, - {-1}, {-1}, {-1}, {-1}, {-1}, -#line 50 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str716, ei_ucs4internal}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, -#line 29 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str736, ei_ucs2be}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 194 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str745, ei_cp1254}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, -#line 353 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str757, ei_big5hkscs2001}, - {-1}, {-1}, -#line 277 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str760, ei_jisx0201}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 357 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str768, ei_big5hkscs2008}, -#line 276 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str769, ei_jisx0201}, - {-1}, -#line 352 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str771, ei_big5hkscs1999}, - {-1}, {-1}, -#line 290 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str774, ei_jisx0212}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 179 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str790, ei_koi8_ru}, -#line 280 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str791, ei_jisx0208}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 231 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str800, ei_mac_hebrew}, - {-1}, {-1}, {-1}, {-1}, -#line 281 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str805, ei_jisx0208}, -#line 354 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str806, ei_big5hkscs2004}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 282 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str842, ei_jisx0208}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 289 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str888, ei_jisx0212}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, -#line 203 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str991, ei_cp1257}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, -#line 209 "lib/aliases_syshpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str1038, ei_cp850} - }; - -#ifdef __GNUC__ -__inline -#if defined __GNUC_STDC_INLINE__ || defined __GNUC_GNU_INLINE__ -__attribute__ ((__gnu_inline__)) -#endif -#endif -const struct alias * -aliases_lookup (register const char *str, register unsigned int len) -{ - if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) - { - register int key = aliases_hash (str, len); - - if (key <= MAX_HASH_VALUE && key >= 0) - { - register int o = aliases[key].name; - if (o >= 0) - { - register const char *s = o + stringpool; - - if (*str == *s && !strcmp (str + 1, s + 1)) - return &aliases[key]; - } - } - } - return 0; -} diff --git a/Externals/libiconv-1.14/lib/aliases_sysosf1.h b/Externals/libiconv-1.14/lib/aliases_sysosf1.h deleted file mode 100644 index 18bbb031f5e..00000000000 --- a/Externals/libiconv-1.14/lib/aliases_sysosf1.h +++ /dev/null @@ -1,1745 +0,0 @@ -/* ANSI-C code produced by gperf version 3.0.4 */ -/* Command-line: gperf -m 10 lib/aliases_sysosf1.gperf */ -/* Computed positions: -k'1,3-11,$' */ - -#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \ - && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \ - && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \ - && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \ - && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \ - && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \ - && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \ - && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \ - && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \ - && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \ - && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \ - && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \ - && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \ - && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \ - && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \ - && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \ - && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \ - && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \ - && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \ - && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \ - && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \ - && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \ - && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126)) -/* The character set is not based on ISO-646. */ -#error "gperf generated tables don't work with this execution character set. Please report a bug to ." -#endif - -#line 1 "lib/aliases_sysosf1.gperf" -struct alias { int name; unsigned int encoding_index; }; - -#define TOTAL_KEYWORDS 352 -#define MIN_WORD_LENGTH 2 -#define MAX_WORD_LENGTH 45 -#define MIN_HASH_VALUE 13 -#define MAX_HASH_VALUE 939 -/* maximum key range = 927, 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[] = - { - 940, 940, 940, 940, 940, 940, 940, 940, 940, 940, - 940, 940, 940, 940, 940, 940, 940, 940, 940, 940, - 940, 940, 940, 940, 940, 940, 940, 940, 940, 940, - 940, 940, 940, 940, 940, 940, 940, 940, 940, 940, - 940, 940, 940, 940, 940, 13, 100, 940, 73, 4, - 7, 6, 55, 8, 5, 156, 10, 23, 295, 940, - 940, 940, 940, 940, 940, 115, 165, 4, 6, 104, - 115, 13, 53, 4, 304, 95, 7, 150, 18, 4, - 75, 940, 76, 50, 25, 141, 173, 137, 120, 6, - 5, 940, 940, 940, 940, 27, 940, 940, 940, 940, - 940, 940, 940, 940, 940, 940, 940, 940, 940, 940, - 940, 940, 940, 940, 940, 940, 940, 940, 940, 940, - 940, 940, 940, 940, 940, 940, 940, 940 - }; - register int hval = len; - - switch (hval) - { - default: - hval += asso_values[(unsigned char)str[10]]; - /*FALLTHROUGH*/ - case 10: - hval += asso_values[(unsigned char)str[9]]; - /*FALLTHROUGH*/ - case 9: - hval += asso_values[(unsigned char)str[8]]; - /*FALLTHROUGH*/ - case 8: - hval += asso_values[(unsigned char)str[7]]; - /*FALLTHROUGH*/ - case 7: - hval += asso_values[(unsigned char)str[6]]; - /*FALLTHROUGH*/ - case 6: - hval += asso_values[(unsigned char)str[5]]; - /*FALLTHROUGH*/ - case 5: - hval += asso_values[(unsigned char)str[4]]; - /*FALLTHROUGH*/ - case 4: - hval += asso_values[(unsigned char)str[3]]; - /*FALLTHROUGH*/ - case 3: - hval += asso_values[(unsigned char)str[2]]; - /*FALLTHROUGH*/ - case 2: - case 1: - hval += asso_values[(unsigned char)str[0]]; - break; - } - return hval + asso_values[(unsigned char)str[len - 1]]; -} - -struct stringpool_t - { - char stringpool_str13[sizeof("L1")]; - char stringpool_str14[sizeof("L6")]; - char stringpool_str15[sizeof("L3")]; - char stringpool_str16[sizeof("L2")]; - char stringpool_str17[sizeof("L5")]; - char stringpool_str19[sizeof("L8")]; - char stringpool_str23[sizeof("866")]; - char stringpool_str24[sizeof("CN")]; - char stringpool_str27[sizeof("862")]; - char stringpool_str32[sizeof("CP1131")]; - char stringpool_str33[sizeof("CP1361")]; - char stringpool_str34[sizeof("CP866")]; - char stringpool_str36[sizeof("CP1133")]; - char stringpool_str37[sizeof("CP1251")]; - char stringpool_str38[sizeof("CP862")]; - char stringpool_str39[sizeof("CP1256")]; - char stringpool_str41[sizeof("CP1253")]; - char stringpool_str43[sizeof("CP1252")]; - char stringpool_str45[sizeof("CP1255")]; - char stringpool_str48[sizeof("CP936")]; - char stringpool_str49[sizeof("CP1258")]; - char stringpool_str50[sizeof("GB2312")]; - char stringpool_str52[sizeof("CP932")]; - char stringpool_str53[sizeof("C99")]; - char stringpool_str60[sizeof("HZ")]; - char stringpool_str64[sizeof("L4")]; - char stringpool_str68[sizeof("LATIN1")]; - char stringpool_str69[sizeof("CP819")]; - char stringpool_str70[sizeof("LATIN6")]; - char stringpool_str72[sizeof("LATIN3")]; - char stringpool_str74[sizeof("LATIN2")]; - char stringpool_str76[sizeof("LATIN5")]; - char stringpool_str80[sizeof("LATIN8")]; - char stringpool_str88[sizeof("R8")]; - char stringpool_str89[sizeof("ISO8859-1")]; - char stringpool_str91[sizeof("ISO8859-6")]; - char stringpool_str93[sizeof("ISO8859-3")]; - char stringpool_str94[sizeof("ISO8859-11")]; - char stringpool_str95[sizeof("ISO8859-2")]; - char stringpool_str96[sizeof("ISO8859-16")]; - char stringpool_str97[sizeof("ISO8859-5")]; - char stringpool_str98[sizeof("ISO8859-13")]; - char stringpool_str101[sizeof("ISO8859-8")]; - char stringpool_str102[sizeof("ISO8859-15")]; - char stringpool_str103[sizeof("ISO-8859-1")]; - char stringpool_str105[sizeof("ISO-8859-6")]; - char stringpool_str107[sizeof("ISO-8859-3")]; - char stringpool_str108[sizeof("ISO-8859-11")]; - char stringpool_str109[sizeof("ISO-8859-2")]; - char stringpool_str110[sizeof("ISO-8859-16")]; - char stringpool_str111[sizeof("ISO-8859-5")]; - char stringpool_str112[sizeof("ISO-8859-13")]; - char stringpool_str115[sizeof("ISO-8859-8")]; - char stringpool_str116[sizeof("ISO-8859-15")]; - char stringpool_str117[sizeof("ISO_8859-1")]; - char stringpool_str118[sizeof("CYRILLIC")]; - char stringpool_str119[sizeof("ISO_8859-6")]; - char stringpool_str120[sizeof("LATIN-9")]; - char stringpool_str121[sizeof("ISO_8859-3")]; - char stringpool_str122[sizeof("ISO_8859-11")]; - char stringpool_str123[sizeof("ISO_8859-2")]; - char stringpool_str124[sizeof("ISO_8859-16")]; - char stringpool_str125[sizeof("ISO_8859-5")]; - char stringpool_str126[sizeof("ISO_8859-13")]; - char stringpool_str127[sizeof("ISO8859-9")]; - char stringpool_str128[sizeof("ISO_8859-16:2001")]; - char stringpool_str129[sizeof("ISO_8859-8")]; - char stringpool_str130[sizeof("ISO_8859-15")]; - char stringpool_str131[sizeof("CP154")]; - char stringpool_str132[sizeof("ISO-IR-6")]; - char stringpool_str133[sizeof("CP949")]; - char stringpool_str135[sizeof("ISO646-CN")]; - char stringpool_str136[sizeof("ASCII")]; - char stringpool_str137[sizeof("ISO_8859-15:1998")]; - char stringpool_str139[sizeof("CP1254")]; - char stringpool_str141[sizeof("ISO-8859-9")]; - char stringpool_str143[sizeof("ISO-IR-166")]; - char stringpool_str145[sizeof("ISO-IR-126")]; - char stringpool_str148[sizeof("ISO-IR-226")]; - char stringpool_str149[sizeof("ISO-IR-165")]; - char stringpool_str150[sizeof("X0212")]; - char stringpool_str151[sizeof("ISO-IR-58")]; - char stringpool_str152[sizeof("UHC")]; - char stringpool_str153[sizeof("EUCCN")]; - char stringpool_str154[sizeof("ISO-IR-138")]; - char stringpool_str155[sizeof("ISO_8859-9")]; - char stringpool_str156[sizeof("L10")]; - char stringpool_str158[sizeof("SJIS")]; - char stringpool_str159[sizeof("850")]; - char stringpool_str161[sizeof("MAC")]; - char stringpool_str164[sizeof("TACTIS")]; - char stringpool_str165[sizeof("L7")]; - char stringpool_str167[sizeof("EUC-CN")]; - char stringpool_str170[sizeof("LATIN4")]; - char stringpool_str173[sizeof("CP850")]; - char stringpool_str175[sizeof("CP1250")]; - char stringpool_str178[sizeof("KOI8-T")]; - char stringpool_str179[sizeof("ISO-2022-CN")]; - char stringpool_str182[sizeof("ISO-IR-159")]; - char stringpool_str183[sizeof("ISO-CELTIC")]; - char stringpool_str184[sizeof("ISO_8859-14:1998")]; - char stringpool_str185[sizeof("IBM866")]; - char stringpool_str186[sizeof("CP950")]; - char stringpool_str189[sizeof("IBM862")]; - char stringpool_str190[sizeof("ISO-2022-CN-EXT")]; - char stringpool_str191[sizeof("ISO8859-4")]; - char stringpool_str192[sizeof("CSASCII")]; - char stringpool_str193[sizeof("US")]; - char stringpool_str194[sizeof("MS936")]; - char stringpool_str196[sizeof("ISO8859-14")]; - char stringpool_str197[sizeof("ISO-IR-199")]; - char stringpool_str198[sizeof("BIG5")]; - char stringpool_str199[sizeof("ISO_8859-10:1992")]; - char stringpool_str200[sizeof("KSC5601")]; - char stringpool_str202[sizeof("PT154")]; - char stringpool_str203[sizeof("ISO-IR-148")]; - char stringpool_str205[sizeof("ISO-8859-4")]; - char stringpool_str206[sizeof("GBK")]; - char stringpool_str207[sizeof("CSISO2022CN")]; - char stringpool_str208[sizeof("CSBIG5")]; - char stringpool_str209[sizeof("ISO-IR-101")]; - char stringpool_str210[sizeof("ISO-8859-14")]; - char stringpool_str211[sizeof("LATIN10")]; - char stringpool_str212[sizeof("BIG-5")]; - char stringpool_str213[sizeof("X0201")]; - char stringpool_str216[sizeof("ISO-IR-203")]; - char stringpool_str217[sizeof("DECHANZI")]; - char stringpool_str218[sizeof("ELOT_928")]; - char stringpool_str219[sizeof("ISO_8859-4")]; - char stringpool_str220[sizeof("IBM819")]; - char stringpool_str221[sizeof("CSGB2312")]; - char stringpool_str222[sizeof("CN-BIG5")]; - char stringpool_str223[sizeof("UCS-2")]; - char stringpool_str224[sizeof("ISO_8859-14")]; - char stringpool_str225[sizeof("X0208")]; - char stringpool_str228[sizeof("KSC_5601")]; - char stringpool_str229[sizeof("ISO-IR-149")]; - char stringpool_str232[sizeof("ISO8859-10")]; - char stringpool_str234[sizeof("RK1048")]; - char stringpool_str237[sizeof("ISO-IR-14")]; - char stringpool_str238[sizeof("TCVN")]; - char stringpool_str239[sizeof("TIS620")]; - char stringpool_str243[sizeof("GB_2312-80")]; - char stringpool_str245[sizeof("VISCII")]; - char stringpool_str246[sizeof("ISO-8859-10")]; - char stringpool_str247[sizeof("ISO-IR-109")]; - char stringpool_str250[sizeof("CSISOLATIN1")]; - char stringpool_str252[sizeof("CSISOLATIN6")]; - char stringpool_str253[sizeof("TIS-620")]; - char stringpool_str254[sizeof("CSISOLATIN3")]; - char stringpool_str255[sizeof("CSVISCII")]; - char stringpool_str256[sizeof("CSISOLATIN2")]; - char stringpool_str257[sizeof("CSISOLATINCYRILLIC")]; - char stringpool_str258[sizeof("CSISOLATIN5")]; - char stringpool_str259[sizeof("GB18030")]; - char stringpool_str260[sizeof("ISO_8859-10")]; - char stringpool_str264[sizeof("CSKZ1048")]; - char stringpool_str266[sizeof("GB_1988-80")]; - char stringpool_str267[sizeof("KZ-1048")]; - char stringpool_str270[sizeof("MS-CYRL")]; - char stringpool_str275[sizeof("CHAR")]; - char stringpool_str276[sizeof("CSKOI8R")]; - char stringpool_str278[sizeof("ISO-IR-110")]; - char stringpool_str280[sizeof("KOI8-R")]; - char stringpool_str281[sizeof("MACCYRILLIC")]; - char stringpool_str282[sizeof("IBM-CP1133")]; - char stringpool_str283[sizeof("PTCP154")]; - char stringpool_str285[sizeof("CP874")]; - char stringpool_str289[sizeof("UTF-16")]; - char stringpool_str293[sizeof("ISO-IR-144")]; - char stringpool_str294[sizeof("UTF-8")]; - char stringpool_str295[sizeof("UTF-32")]; - char stringpool_str297[sizeof("KS_C_5601-1989")]; - char stringpool_str298[sizeof("HZ-GB-2312")]; - char stringpool_str304[sizeof("TIS620.2533-1")]; - char stringpool_str308[sizeof("CSUNICODE11")]; - char stringpool_str312[sizeof("UNICODE-1-1")]; - char stringpool_str314[sizeof("CSPTCP154")]; - char stringpool_str315[sizeof("CSUCS4")]; - char stringpool_str316[sizeof("CYRILLIC-ASIAN")]; - char stringpool_str319[sizeof("UCS-4")]; - char stringpool_str322[sizeof("TIS620.2529-1")]; - char stringpool_str324[sizeof("IBM850")]; - char stringpool_str327[sizeof("TIS620-0")]; - char stringpool_str330[sizeof("ISO-IR-179")]; - char stringpool_str332[sizeof("CP367")]; - char stringpool_str336[sizeof("ISO646-US")]; - char stringpool_str339[sizeof("ISO-10646-UCS-2")]; - char stringpool_str341[sizeof("CP1257")]; - char stringpool_str342[sizeof("GREEK8")]; - char stringpool_str343[sizeof("US-ASCII")]; - char stringpool_str347[sizeof("ISO-IR-100")]; - char stringpool_str352[sizeof("CSISOLATIN4")]; - char stringpool_str354[sizeof("CSISOLATINGREEK")]; - char stringpool_str356[sizeof("CSIBM866")]; - char stringpool_str359[sizeof("CSISO58GB231280")]; - char stringpool_str360[sizeof("EUCKR")]; - char stringpool_str361[sizeof("MS-ANSI")]; - char stringpool_str362[sizeof("MACTHAI")]; - char stringpool_str365[sizeof("CN-GB")]; - char stringpool_str366[sizeof("CSISOLATINARABIC")]; - char stringpool_str368[sizeof("CN-GB-ISOIR165")]; - char stringpool_str369[sizeof("ARMSCII-8")]; - char stringpool_str370[sizeof("MACINTOSH")]; - char stringpool_str372[sizeof("LATIN7")]; - char stringpool_str373[sizeof("TIS620.2533-0")]; - char stringpool_str374[sizeof("EUC-KR")]; - char stringpool_str375[sizeof("VISCII1.1-1")]; - char stringpool_str381[sizeof("JP")]; - char stringpool_str385[sizeof("ROMAN8")]; - char stringpool_str386[sizeof("ISO-2022-KR")]; - char stringpool_str387[sizeof("ISO-10646-UCS-4")]; - char stringpool_str393[sizeof("ISO8859-7")]; - char stringpool_str395[sizeof("CHINESE")]; - char stringpool_str397[sizeof("GEORGIAN-ACADEMY")]; - char stringpool_str398[sizeof("CSUNICODE")]; - char stringpool_str400[sizeof("WINDOWS-1251")]; - char stringpool_str401[sizeof("WINDOWS-1256")]; - char stringpool_str402[sizeof("WINDOWS-1253")]; - char stringpool_str403[sizeof("WINDOWS-1252")]; - char stringpool_str404[sizeof("WINDOWS-1255")]; - char stringpool_str406[sizeof("WINDOWS-1258")]; - char stringpool_str407[sizeof("ISO-8859-7")]; - char stringpool_str410[sizeof("KOI8-U")]; - char stringpool_str411[sizeof("CSPC862LATINHEBREW")]; - char stringpool_str412[sizeof("EUCTW")]; - char stringpool_str413[sizeof("ARABIC")]; - char stringpool_str414[sizeof("CSISO2022KR")]; - char stringpool_str415[sizeof("WINDOWS-936")]; - char stringpool_str416[sizeof("GREEK")]; - char stringpool_str417[sizeof("MULELAO-1")]; - char stringpool_str418[sizeof("ECMA-118")]; - char stringpool_str420[sizeof("TCVN-5712")]; - char stringpool_str421[sizeof("ISO_8859-7")]; - char stringpool_str422[sizeof("TCVN5712-1")]; - char stringpool_str425[sizeof("ISO_8859-3:1988")]; - char stringpool_str426[sizeof("EUC-TW")]; - char stringpool_str427[sizeof("ISO_8859-5:1988")]; - char stringpool_str428[sizeof("MACICELAND")]; - char stringpool_str429[sizeof("ISO_8859-8:1988")]; - char stringpool_str430[sizeof("KS_C_5601-1987")]; - char stringpool_str432[sizeof("KOREAN")]; - char stringpool_str433[sizeof("UCS-2LE")]; - char stringpool_str437[sizeof("CSISOLATINHEBREW")]; - char stringpool_str439[sizeof("CSKSC56011987")]; - char stringpool_str441[sizeof("UNICODELITTLE")]; - char stringpool_str442[sizeof("GEORGIAN-PS")]; - char stringpool_str443[sizeof("ISO-IR-57")]; - char stringpool_str445[sizeof("ISO-IR-87")]; - char stringpool_str446[sizeof("JIS_C6226-1983")]; - char stringpool_str447[sizeof("ISO-IR-127")]; - char stringpool_str448[sizeof("ISO-IR-157")]; - char stringpool_str449[sizeof("DECKOREAN")]; - char stringpool_str451[sizeof("WINDOWS-1254")]; - char stringpool_str454[sizeof("CSISO57GB1988")]; - char stringpool_str455[sizeof("ISO_8859-9:1989")]; - char stringpool_str458[sizeof("HP-ROMAN8")]; - char stringpool_str464[sizeof("CSUNICODE11UTF7")]; - char stringpool_str465[sizeof("WCHAR_T")]; - char stringpool_str468[sizeof("UNICODEBIG")]; - char stringpool_str469[sizeof("WINDOWS-1250")]; - char stringpool_str470[sizeof("UNICODE-1-1-UTF-7")]; - char stringpool_str472[sizeof("UCS-2-INTERNAL")]; - char stringpool_str473[sizeof("ISO_646.IRV:1991")]; - char stringpool_str474[sizeof("ISO_8859-4:1988")]; - char stringpool_str476[sizeof("STRK1048-2002")]; - char stringpool_str480[sizeof("MS-EE")]; - char stringpool_str481[sizeof("UCS-4LE")]; - char stringpool_str483[sizeof("IBM367")]; - char stringpool_str487[sizeof("KOI8-RU")]; - char stringpool_str491[sizeof("CSMACINTOSH")]; - char stringpool_str497[sizeof("BIG5HKSCS")]; - char stringpool_str500[sizeof("NEXTSTEP")]; - char stringpool_str501[sizeof("UTF-16LE")]; - char stringpool_str504[sizeof("CSISO14JISC6220RO")]; - char stringpool_str505[sizeof("UTF-32LE")]; - char stringpool_str507[sizeof("CSEUCKR")]; - char stringpool_str508[sizeof("ECMA-114")]; - char stringpool_str511[sizeof("BIG5-HKSCS")]; - char stringpool_str513[sizeof("ANSI_X3.4-1986")]; - char stringpool_str515[sizeof("JIS_C6220-1969-RO")]; - char stringpool_str518[sizeof("ANSI_X3.4-1968")]; - char stringpool_str520[sizeof("UCS-4-INTERNAL")]; - char stringpool_str523[sizeof("CSPC850MULTILINGUAL")]; - char stringpool_str524[sizeof("ISO-2022-JP-1")]; - char stringpool_str525[sizeof("CSHPROMAN8")]; - char stringpool_str527[sizeof("ISO-2022-JP-2")]; - char stringpool_str534[sizeof("JIS0208")]; - char stringpool_str539[sizeof("ASMO-708")]; - char stringpool_str543[sizeof("MACROMAN")]; - char stringpool_str544[sizeof("MACCROATIAN")]; - char stringpool_str548[sizeof("CSISO159JISX02121990")]; - char stringpool_str549[sizeof("ISO646-JP")]; - char stringpool_str552[sizeof("WINDOWS-1257")]; - char stringpool_str554[sizeof("CSISO2022JP2")]; - char stringpool_str559[sizeof("CSEUCTW")]; - char stringpool_str567[sizeof("EUCJP")]; - char stringpool_str569[sizeof("ISO_8859-1:1987")]; - char stringpool_str570[sizeof("ISO_8859-6:1987")]; - char stringpool_str571[sizeof("ISO_8859-7:2003")]; - char stringpool_str572[sizeof("ISO_8859-2:1987")]; - char stringpool_str581[sizeof("EUC-JP")]; - char stringpool_str586[sizeof("UTF-7")]; - char stringpool_str591[sizeof("UCS-2BE")]; - char stringpool_str593[sizeof("ISO-2022-JP")]; - char stringpool_str602[sizeof("MS-TURK")]; - char stringpool_str608[sizeof("JIS_X0212")]; - char stringpool_str621[sizeof("CSISO2022JP")]; - char stringpool_str624[sizeof("SHIFT-JIS")]; - char stringpool_str638[sizeof("SHIFT_JIS")]; - char stringpool_str639[sizeof("UCS-4BE")]; - char stringpool_str644[sizeof("MS-HEBR")]; - char stringpool_str646[sizeof("MACARABIC")]; - char stringpool_str649[sizeof("MACGREEK")]; - char stringpool_str652[sizeof("WINDOWS-874")]; - char stringpool_str653[sizeof("CSHALFWIDTHKATAKANA")]; - char stringpool_str658[sizeof("MS-GREEK")]; - char stringpool_str659[sizeof("UTF-16BE")]; - char stringpool_str661[sizeof("MACTURKISH")]; - char stringpool_str663[sizeof("UTF-32BE")]; - char stringpool_str669[sizeof("CSSHIFTJIS")]; - char stringpool_str671[sizeof("JIS_X0201")]; - char stringpool_str678[sizeof("HEBREW")]; - char stringpool_str683[sizeof("JIS_X0208")]; - char stringpool_str685[sizeof("BIGFIVE")]; - char stringpool_str689[sizeof("JISX0201-1976")]; - char stringpool_str695[sizeof("UCS-2-SWAPPED")]; - char stringpool_str696[sizeof("JIS_X0212-1990")]; - char stringpool_str699[sizeof("BIG-FIVE")]; - char stringpool_str701[sizeof("JIS_X0208-1983")]; - char stringpool_str702[sizeof("EXTENDED_UNIX_CODE_PACKED_FORMAT_FOR_JAPANESE")]; - char stringpool_str707[sizeof("SDECKANJI")]; - char stringpool_str711[sizeof("JAVA")]; - char stringpool_str721[sizeof("ISO_8859-7:1987")]; - char stringpool_str724[sizeof("TCVN5712-1:1993")]; - char stringpool_str725[sizeof("MS_KANJI")]; - char stringpool_str727[sizeof("MACCENTRALEUROPE")]; - char stringpool_str731[sizeof("CSISO87JISX0208")]; - char stringpool_str743[sizeof("UCS-4-SWAPPED")]; - char stringpool_str761[sizeof("MACROMANIA")]; - char stringpool_str765[sizeof("BIG5-HKSCS:2001")]; - char stringpool_str768[sizeof("JIS_X0208-1990")]; - char stringpool_str771[sizeof("BIG5-HKSCS:2008")]; - char stringpool_str784[sizeof("BIG5-HKSCS:1999")]; - char stringpool_str785[sizeof("JIS_X0212.1990-0")]; - char stringpool_str806[sizeof("MS-ARAB")]; - char stringpool_str807[sizeof("JOHAB")]; - char stringpool_str816[sizeof("BIG5-HKSCS:2004")]; - char stringpool_str821[sizeof("MACUKRAINE")]; - char stringpool_str842[sizeof("CSEUCPKDFMTJAPANESE")]; - char stringpool_str857[sizeof("WINBALTRIM")]; - char stringpool_str939[sizeof("MACHEBREW")]; - }; -static const struct stringpool_t stringpool_contents = - { - "L1", - "L6", - "L3", - "L2", - "L5", - "L8", - "866", - "CN", - "862", - "CP1131", - "CP1361", - "CP866", - "CP1133", - "CP1251", - "CP862", - "CP1256", - "CP1253", - "CP1252", - "CP1255", - "CP936", - "CP1258", - "GB2312", - "CP932", - "C99", - "HZ", - "L4", - "LATIN1", - "CP819", - "LATIN6", - "LATIN3", - "LATIN2", - "LATIN5", - "LATIN8", - "R8", - "ISO8859-1", - "ISO8859-6", - "ISO8859-3", - "ISO8859-11", - "ISO8859-2", - "ISO8859-16", - "ISO8859-5", - "ISO8859-13", - "ISO8859-8", - "ISO8859-15", - "ISO-8859-1", - "ISO-8859-6", - "ISO-8859-3", - "ISO-8859-11", - "ISO-8859-2", - "ISO-8859-16", - "ISO-8859-5", - "ISO-8859-13", - "ISO-8859-8", - "ISO-8859-15", - "ISO_8859-1", - "CYRILLIC", - "ISO_8859-6", - "LATIN-9", - "ISO_8859-3", - "ISO_8859-11", - "ISO_8859-2", - "ISO_8859-16", - "ISO_8859-5", - "ISO_8859-13", - "ISO8859-9", - "ISO_8859-16:2001", - "ISO_8859-8", - "ISO_8859-15", - "CP154", - "ISO-IR-6", - "CP949", - "ISO646-CN", - "ASCII", - "ISO_8859-15:1998", - "CP1254", - "ISO-8859-9", - "ISO-IR-166", - "ISO-IR-126", - "ISO-IR-226", - "ISO-IR-165", - "X0212", - "ISO-IR-58", - "UHC", - "EUCCN", - "ISO-IR-138", - "ISO_8859-9", - "L10", - "SJIS", - "850", - "MAC", - "TACTIS", - "L7", - "EUC-CN", - "LATIN4", - "CP850", - "CP1250", - "KOI8-T", - "ISO-2022-CN", - "ISO-IR-159", - "ISO-CELTIC", - "ISO_8859-14:1998", - "IBM866", - "CP950", - "IBM862", - "ISO-2022-CN-EXT", - "ISO8859-4", - "CSASCII", - "US", - "MS936", - "ISO8859-14", - "ISO-IR-199", - "BIG5", - "ISO_8859-10:1992", - "KSC5601", - "PT154", - "ISO-IR-148", - "ISO-8859-4", - "GBK", - "CSISO2022CN", - "CSBIG5", - "ISO-IR-101", - "ISO-8859-14", - "LATIN10", - "BIG-5", - "X0201", - "ISO-IR-203", - "DECHANZI", - "ELOT_928", - "ISO_8859-4", - "IBM819", - "CSGB2312", - "CN-BIG5", - "UCS-2", - "ISO_8859-14", - "X0208", - "KSC_5601", - "ISO-IR-149", - "ISO8859-10", - "RK1048", - "ISO-IR-14", - "TCVN", - "TIS620", - "GB_2312-80", - "VISCII", - "ISO-8859-10", - "ISO-IR-109", - "CSISOLATIN1", - "CSISOLATIN6", - "TIS-620", - "CSISOLATIN3", - "CSVISCII", - "CSISOLATIN2", - "CSISOLATINCYRILLIC", - "CSISOLATIN5", - "GB18030", - "ISO_8859-10", - "CSKZ1048", - "GB_1988-80", - "KZ-1048", - "MS-CYRL", - "CHAR", - "CSKOI8R", - "ISO-IR-110", - "KOI8-R", - "MACCYRILLIC", - "IBM-CP1133", - "PTCP154", - "CP874", - "UTF-16", - "ISO-IR-144", - "UTF-8", - "UTF-32", - "KS_C_5601-1989", - "HZ-GB-2312", - "TIS620.2533-1", - "CSUNICODE11", - "UNICODE-1-1", - "CSPTCP154", - "CSUCS4", - "CYRILLIC-ASIAN", - "UCS-4", - "TIS620.2529-1", - "IBM850", - "TIS620-0", - "ISO-IR-179", - "CP367", - "ISO646-US", - "ISO-10646-UCS-2", - "CP1257", - "GREEK8", - "US-ASCII", - "ISO-IR-100", - "CSISOLATIN4", - "CSISOLATINGREEK", - "CSIBM866", - "CSISO58GB231280", - "EUCKR", - "MS-ANSI", - "MACTHAI", - "CN-GB", - "CSISOLATINARABIC", - "CN-GB-ISOIR165", - "ARMSCII-8", - "MACINTOSH", - "LATIN7", - "TIS620.2533-0", - "EUC-KR", - "VISCII1.1-1", - "JP", - "ROMAN8", - "ISO-2022-KR", - "ISO-10646-UCS-4", - "ISO8859-7", - "CHINESE", - "GEORGIAN-ACADEMY", - "CSUNICODE", - "WINDOWS-1251", - "WINDOWS-1256", - "WINDOWS-1253", - "WINDOWS-1252", - "WINDOWS-1255", - "WINDOWS-1258", - "ISO-8859-7", - "KOI8-U", - "CSPC862LATINHEBREW", - "EUCTW", - "ARABIC", - "CSISO2022KR", - "WINDOWS-936", - "GREEK", - "MULELAO-1", - "ECMA-118", - "TCVN-5712", - "ISO_8859-7", - "TCVN5712-1", - "ISO_8859-3:1988", - "EUC-TW", - "ISO_8859-5:1988", - "MACICELAND", - "ISO_8859-8:1988", - "KS_C_5601-1987", - "KOREAN", - "UCS-2LE", - "CSISOLATINHEBREW", - "CSKSC56011987", - "UNICODELITTLE", - "GEORGIAN-PS", - "ISO-IR-57", - "ISO-IR-87", - "JIS_C6226-1983", - "ISO-IR-127", - "ISO-IR-157", - "DECKOREAN", - "WINDOWS-1254", - "CSISO57GB1988", - "ISO_8859-9:1989", - "HP-ROMAN8", - "CSUNICODE11UTF7", - "WCHAR_T", - "UNICODEBIG", - "WINDOWS-1250", - "UNICODE-1-1-UTF-7", - "UCS-2-INTERNAL", - "ISO_646.IRV:1991", - "ISO_8859-4:1988", - "STRK1048-2002", - "MS-EE", - "UCS-4LE", - "IBM367", - "KOI8-RU", - "CSMACINTOSH", - "BIG5HKSCS", - "NEXTSTEP", - "UTF-16LE", - "CSISO14JISC6220RO", - "UTF-32LE", - "CSEUCKR", - "ECMA-114", - "BIG5-HKSCS", - "ANSI_X3.4-1986", - "JIS_C6220-1969-RO", - "ANSI_X3.4-1968", - "UCS-4-INTERNAL", - "CSPC850MULTILINGUAL", - "ISO-2022-JP-1", - "CSHPROMAN8", - "ISO-2022-JP-2", - "JIS0208", - "ASMO-708", - "MACROMAN", - "MACCROATIAN", - "CSISO159JISX02121990", - "ISO646-JP", - "WINDOWS-1257", - "CSISO2022JP2", - "CSEUCTW", - "EUCJP", - "ISO_8859-1:1987", - "ISO_8859-6:1987", - "ISO_8859-7:2003", - "ISO_8859-2:1987", - "EUC-JP", - "UTF-7", - "UCS-2BE", - "ISO-2022-JP", - "MS-TURK", - "JIS_X0212", - "CSISO2022JP", - "SHIFT-JIS", - "SHIFT_JIS", - "UCS-4BE", - "MS-HEBR", - "MACARABIC", - "MACGREEK", - "WINDOWS-874", - "CSHALFWIDTHKATAKANA", - "MS-GREEK", - "UTF-16BE", - "MACTURKISH", - "UTF-32BE", - "CSSHIFTJIS", - "JIS_X0201", - "HEBREW", - "JIS_X0208", - "BIGFIVE", - "JISX0201-1976", - "UCS-2-SWAPPED", - "JIS_X0212-1990", - "BIG-FIVE", - "JIS_X0208-1983", - "EXTENDED_UNIX_CODE_PACKED_FORMAT_FOR_JAPANESE", - "SDECKANJI", - "JAVA", - "ISO_8859-7:1987", - "TCVN5712-1:1993", - "MS_KANJI", - "MACCENTRALEUROPE", - "CSISO87JISX0208", - "UCS-4-SWAPPED", - "MACROMANIA", - "BIG5-HKSCS:2001", - "JIS_X0208-1990", - "BIG5-HKSCS:2008", - "BIG5-HKSCS:1999", - "JIS_X0212.1990-0", - "MS-ARAB", - "JOHAB", - "BIG5-HKSCS:2004", - "MACUKRAINE", - "CSEUCPKDFMTJAPANESE", - "WINBALTRIM", - "MACHEBREW" - }; -#define stringpool ((const char *) &stringpool_contents) - -static const struct alias aliases[] = - { - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, -#line 60 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str13, ei_iso8859_1}, -#line 134 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str14, ei_iso8859_10}, -#line 76 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str15, ei_iso8859_3}, -#line 68 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str16, ei_iso8859_2}, -#line 126 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str17, ei_iso8859_9}, - {-1}, -#line 151 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str19, ei_iso8859_14}, - {-1}, {-1}, {-1}, -#line 207 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str23, ei_cp866}, -#line 289 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str24, ei_iso646_cn}, - {-1}, {-1}, -#line 203 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str27, ei_cp862}, - {-1}, {-1}, {-1}, {-1}, -#line 209 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str32, ei_cp1131}, -#line 359 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str33, ei_johab}, -#line 205 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str34, ei_cp866}, - {-1}, -#line 244 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str36, ei_cp1133}, -#line 174 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str37, ei_cp1251}, -#line 201 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str38, ei_cp862}, -#line 189 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str39, ei_cp1256}, - {-1}, -#line 180 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str41, ei_cp1253}, - {-1}, -#line 177 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str43, ei_cp1252}, - {-1}, -#line 186 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str45, ei_cp1255}, - {-1}, {-1}, -#line 326 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str48, ei_cp936}, -#line 195 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str49, ei_cp1258}, -#line 321 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str50, ei_euc_cn}, - {-1}, -#line 313 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str52, ei_cp932}, -#line 51 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str53, ei_c99}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 333 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str60, ei_hz}, - {-1}, {-1}, {-1}, -#line 84 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str64, ei_iso8859_4}, - {-1}, {-1}, {-1}, -#line 59 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str68, ei_iso8859_1}, -#line 57 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str69, ei_iso8859_1}, -#line 133 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str70, ei_iso8859_10}, - {-1}, -#line 75 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str72, ei_iso8859_3}, - {-1}, -#line 67 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str74, ei_iso8859_2}, - {-1}, -#line 125 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str76, ei_iso8859_9}, - {-1}, {-1}, {-1}, -#line 150 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str80, ei_iso8859_14}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 227 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str88, ei_hp_roman8}, -#line 62 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str89, ei_iso8859_1}, - {-1}, -#line 102 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str91, ei_iso8859_6}, - {-1}, -#line 78 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str93, ei_iso8859_3}, -#line 139 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str94, ei_iso8859_11}, -#line 70 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str95, ei_iso8859_2}, -#line 166 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str96, ei_iso8859_16}, -#line 93 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str97, ei_iso8859_5}, -#line 145 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str98, ei_iso8859_13}, - {-1}, {-1}, -#line 120 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str101, ei_iso8859_8}, -#line 159 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str102, ei_iso8859_15}, -#line 53 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str103, ei_iso8859_1}, - {-1}, -#line 94 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str105, ei_iso8859_6}, - {-1}, -#line 71 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str107, ei_iso8859_3}, -#line 137 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str108, ei_iso8859_11}, -#line 63 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str109, ei_iso8859_2}, -#line 160 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str110, ei_iso8859_16}, -#line 87 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str111, ei_iso8859_5}, -#line 140 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str112, ei_iso8859_13}, - {-1}, {-1}, -#line 114 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str115, ei_iso8859_8}, -#line 154 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str116, ei_iso8859_15}, -#line 54 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str117, ei_iso8859_1}, -#line 91 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str118, ei_iso8859_5}, -#line 95 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str119, ei_iso8859_6}, -#line 158 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str120, ei_iso8859_15}, -#line 72 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str121, ei_iso8859_3}, -#line 138 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str122, ei_iso8859_11}, -#line 64 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str123, ei_iso8859_2}, -#line 161 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str124, ei_iso8859_16}, -#line 88 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str125, ei_iso8859_5}, -#line 141 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str126, ei_iso8859_13}, -#line 128 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str127, ei_iso8859_9}, -#line 162 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str128, ei_iso8859_16}, -#line 115 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str129, ei_iso8859_8}, -#line 155 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str130, ei_iso8859_15}, -#line 236 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str131, ei_pt154}, -#line 16 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str132, ei_ascii}, -#line 355 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str133, ei_cp949}, - {-1}, -#line 287 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str135, ei_iso646_cn}, -#line 13 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str136, ei_ascii}, -#line 156 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str137, ei_iso8859_15}, - {-1}, -#line 183 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str139, ei_cp1254}, - {-1}, -#line 121 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str141, ei_iso8859_9}, - {-1}, -#line 252 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str143, ei_tis620}, - {-1}, -#line 107 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str145, ei_iso8859_7}, - {-1}, {-1}, -#line 163 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str148, ei_iso8859_16}, -#line 295 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str149, ei_isoir165}, -#line 283 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str150, ei_jisx0212}, -#line 292 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str151, ei_gb2312}, -#line 356 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str152, ei_cp949}, -#line 320 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str153, ei_euc_cn}, -#line 117 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str154, ei_iso8859_8}, -#line 122 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str155, ei_iso8859_9}, -#line 165 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str156, ei_iso8859_16}, - {-1}, -#line 310 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str158, ei_sjis}, -#line 199 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str159, ei_cp850}, - {-1}, -#line 212 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str161, ei_mac_roman}, - {-1}, {-1}, -#line 253 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str164, ei_tis620}, -#line 144 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str165, ei_iso8859_13}, - {-1}, -#line 319 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str167, ei_euc_cn}, - {-1}, {-1}, -#line 83 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str170, ei_iso8859_4}, - {-1}, {-1}, -#line 197 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str173, ei_cp850}, - {-1}, -#line 171 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str175, ei_cp1250}, - {-1}, {-1}, -#line 233 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str178, ei_koi8_t}, -#line 330 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str179, ei_iso2022_cn}, - {-1}, {-1}, -#line 284 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str182, ei_jisx0212}, -#line 152 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str183, ei_iso8859_14}, -#line 148 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str184, ei_iso8859_14}, -#line 206 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str185, ei_cp866}, -#line 344 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str186, ei_cp950}, - {-1}, {-1}, -#line 202 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str189, ei_cp862}, -#line 332 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str190, ei_iso2022_cn_ext}, -#line 86 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str191, ei_iso8859_4}, -#line 22 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str192, ei_ascii}, -#line 21 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str193, ei_ascii}, -#line 327 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str194, ei_cp936}, - {-1}, -#line 153 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str196, ei_iso8859_14}, -#line 149 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str197, ei_iso8859_14}, -#line 338 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str198, ei_ces_big5}, -#line 131 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str199, ei_iso8859_10}, -#line 357 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str200, ei_cp949}, - {-1}, -#line 234 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str202, ei_pt154}, -#line 124 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str203, ei_iso8859_9}, - {-1}, -#line 79 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str205, ei_iso8859_4}, -#line 325 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str206, ei_ces_gbk}, -#line 331 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str207, ei_iso2022_cn}, -#line 343 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str208, ei_ces_big5}, -#line 66 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str209, ei_iso8859_2}, -#line 146 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str210, ei_iso8859_14}, -#line 164 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str211, ei_iso8859_16}, -#line 339 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str212, ei_ces_big5}, -#line 270 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str213, ei_jisx0201}, - {-1}, {-1}, -#line 157 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str216, ei_iso8859_15}, -#line 324 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str217, ei_euc_cn}, -#line 109 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str218, ei_iso8859_7}, -#line 80 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str219, ei_iso8859_4}, -#line 58 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str220, ei_iso8859_1}, -#line 323 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str221, ei_euc_cn}, -#line 342 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str222, ei_ces_big5}, -#line 24 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str223, ei_ucs2}, -#line 147 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str224, ei_iso8859_14}, -#line 276 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str225, ei_jisx0208}, - {-1}, {-1}, -#line 297 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str228, ei_ksc5601}, -#line 300 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str229, ei_ksc5601}, - {-1}, {-1}, -#line 136 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str232, ei_iso8859_10}, - {-1}, -#line 239 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str234, ei_rk1048}, - {-1}, {-1}, -#line 265 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str237, ei_iso646_jp}, -#line 259 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str238, ei_tcvn}, -#line 247 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str239, ei_tis620}, - {-1}, {-1}, {-1}, -#line 291 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str243, ei_gb2312}, - {-1}, -#line 256 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str245, ei_viscii}, -#line 129 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str246, ei_iso8859_10}, -#line 74 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str247, ei_iso8859_3}, - {-1}, {-1}, -#line 61 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str250, ei_iso8859_1}, - {-1}, -#line 135 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str252, ei_iso8859_10}, -#line 246 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str253, ei_tis620}, -#line 77 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str254, ei_iso8859_3}, -#line 258 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str255, ei_viscii}, -#line 69 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str256, ei_iso8859_2}, -#line 92 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str257, ei_iso8859_5}, -#line 127 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str258, ei_iso8859_9}, -#line 329 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str259, ei_gb18030}, -#line 130 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str260, ei_iso8859_10}, - {-1}, {-1}, {-1}, -#line 242 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str264, ei_rk1048}, - {-1}, -#line 286 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str266, ei_iso646_cn}, -#line 241 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str267, ei_rk1048}, - {-1}, {-1}, -#line 176 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str270, ei_cp1251}, - {-1}, {-1}, {-1}, {-1}, -#line 362 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str275, ei_local_char}, -#line 168 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str276, ei_koi8_r}, - {-1}, -#line 82 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str278, ei_iso8859_4}, - {-1}, -#line 167 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str280, ei_koi8_r}, -#line 218 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str281, ei_mac_cyrillic}, -#line 245 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str282, ei_cp1133}, -#line 235 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str283, ei_pt154}, - {-1}, -#line 254 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str285, ei_cp874}, - {-1}, {-1}, {-1}, -#line 38 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str289, ei_utf16}, - {-1}, {-1}, {-1}, -#line 90 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str293, ei_iso8859_5}, -#line 23 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str294, ei_utf8}, -#line 41 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str295, ei_utf32}, - {-1}, -#line 299 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str297, ei_ksc5601}, -#line 334 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str298, ei_hz}, - {-1}, {-1}, {-1}, {-1}, {-1}, -#line 251 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str304, ei_tis620}, - {-1}, {-1}, {-1}, -#line 30 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str308, ei_ucs2be}, - {-1}, {-1}, {-1}, -#line 29 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str312, ei_ucs2be}, - {-1}, -#line 238 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str314, ei_pt154}, -#line 35 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str315, ei_ucs4}, -#line 237 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str316, ei_pt154}, - {-1}, {-1}, -#line 33 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str319, ei_ucs4}, - {-1}, {-1}, -#line 249 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str322, ei_tis620}, - {-1}, -#line 198 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str324, ei_cp850}, - {-1}, {-1}, -#line 248 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str327, ei_tis620}, - {-1}, {-1}, -#line 142 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str330, ei_iso8859_13}, - {-1}, -#line 19 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str332, ei_ascii}, - {-1}, {-1}, {-1}, -#line 14 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str336, ei_ascii}, - {-1}, {-1}, -#line 25 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str339, ei_ucs2}, - {-1}, -#line 192 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str341, ei_cp1257}, -#line 110 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str342, ei_iso8859_7}, -#line 12 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str343, ei_ascii}, - {-1}, {-1}, {-1}, -#line 56 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str347, ei_iso8859_1}, - {-1}, {-1}, {-1}, {-1}, -#line 85 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str352, ei_iso8859_4}, - {-1}, -#line 112 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str354, ei_iso8859_7}, - {-1}, -#line 208 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str356, ei_cp866}, - {-1}, {-1}, -#line 293 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str359, ei_gb2312}, -#line 352 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str360, ei_euc_kr}, -#line 179 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str361, ei_cp1252}, -#line 224 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str362, ei_mac_thai}, - {-1}, {-1}, -#line 322 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str365, ei_euc_cn}, -#line 101 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str366, ei_iso8859_6}, - {-1}, -#line 296 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str368, ei_isoir165}, -#line 230 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str369, ei_armscii_8}, -#line 211 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str370, ei_mac_roman}, - {-1}, -#line 143 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str372, ei_iso8859_13}, -#line 250 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str373, ei_tis620}, -#line 351 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str374, ei_euc_kr}, -#line 257 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str375, ei_viscii}, - {-1}, {-1}, {-1}, {-1}, {-1}, -#line 266 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str381, ei_iso646_jp}, - {-1}, {-1}, {-1}, -#line 226 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str385, ei_hp_roman8}, -#line 360 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str386, ei_iso2022_kr}, -#line 34 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str387, ei_ucs4}, - {-1}, {-1}, {-1}, {-1}, {-1}, -#line 113 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str393, ei_iso8859_7}, - {-1}, -#line 294 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str395, ei_gb2312}, - {-1}, -#line 231 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str397, ei_georgian_academy}, -#line 26 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str398, ei_ucs2}, - {-1}, -#line 175 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str400, ei_cp1251}, -#line 190 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str401, ei_cp1256}, -#line 181 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str402, ei_cp1253}, -#line 178 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str403, ei_cp1252}, -#line 187 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str404, ei_cp1255}, - {-1}, -#line 196 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str406, ei_cp1258}, -#line 103 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str407, ei_iso8859_7}, - {-1}, {-1}, -#line 169 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str410, ei_koi8_u}, -#line 204 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str411, ei_cp862}, -#line 336 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str412, ei_euc_tw}, -#line 100 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str413, ei_iso8859_6}, -#line 361 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str414, ei_iso2022_kr}, -#line 328 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str415, ei_cp936}, -#line 111 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str416, ei_iso8859_7}, -#line 243 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str417, ei_mulelao}, -#line 108 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str418, ei_iso8859_7}, - {-1}, -#line 260 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str420, ei_tcvn}, -#line 104 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str421, ei_iso8859_7}, -#line 261 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str422, ei_tcvn}, - {-1}, {-1}, -#line 73 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str425, ei_iso8859_3}, -#line 335 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str426, ei_euc_tw}, -#line 89 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str427, ei_iso8859_5}, -#line 215 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str428, ei_mac_iceland}, -#line 116 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str429, ei_iso8859_8}, -#line 298 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str430, ei_ksc5601}, - {-1}, -#line 302 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str432, ei_ksc5601}, -#line 31 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str433, ei_ucs2le}, - {-1}, {-1}, {-1}, -#line 119 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str437, ei_iso8859_8}, - {-1}, -#line 301 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str439, ei_ksc5601}, - {-1}, -#line 32 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str441, ei_ucs2le}, -#line 232 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str442, ei_georgian_ps}, -#line 288 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str443, ei_iso646_cn}, - {-1}, -#line 277 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str445, ei_jisx0208}, -#line 278 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str446, ei_jisx0208}, -#line 97 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str447, ei_iso8859_6}, -#line 132 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str448, ei_iso8859_10}, -#line 354 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str449, ei_euc_kr}, - {-1}, -#line 184 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str451, ei_cp1254}, - {-1}, {-1}, -#line 290 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str454, ei_iso646_cn}, -#line 123 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str455, ei_iso8859_9}, - {-1}, {-1}, -#line 225 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str458, ei_hp_roman8}, - {-1}, {-1}, {-1}, {-1}, {-1}, -#line 46 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str464, ei_utf7}, -#line 363 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str465, ei_local_wchar_t}, - {-1}, {-1}, -#line 28 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str468, ei_ucs2be}, -#line 172 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str469, ei_cp1250}, -#line 45 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str470, ei_utf7}, - {-1}, -#line 47 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str472, ei_ucs2internal}, -#line 15 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str473, ei_ascii}, -#line 81 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str474, ei_iso8859_4}, - {-1}, -#line 240 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str476, ei_rk1048}, - {-1}, {-1}, {-1}, -#line 173 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str480, ei_cp1250}, -#line 37 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str481, ei_ucs4le}, - {-1}, -#line 20 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str483, ei_ascii}, - {-1}, {-1}, {-1}, -#line 170 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str487, ei_koi8_ru}, - {-1}, {-1}, {-1}, -#line 213 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str491, ei_mac_roman}, - {-1}, {-1}, {-1}, {-1}, {-1}, -#line 349 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str497, ei_big5hkscs2008}, - {-1}, {-1}, -#line 229 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str500, ei_nextstep}, -#line 40 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str501, ei_utf16le}, - {-1}, {-1}, -#line 267 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str504, ei_iso646_jp}, -#line 43 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str505, ei_utf32le}, - {-1}, -#line 353 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str507, ei_euc_kr}, -#line 98 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str508, ei_iso8859_6}, - {-1}, {-1}, -#line 348 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str511, ei_big5hkscs2008}, - {-1}, -#line 18 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str513, ei_ascii}, - {-1}, -#line 263 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str515, ei_iso646_jp}, - {-1}, {-1}, -#line 17 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str518, ei_ascii}, - {-1}, -#line 49 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str520, ei_ucs4internal}, - {-1}, {-1}, -#line 200 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str523, ei_cp850}, -#line 316 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str524, ei_iso2022_jp1}, -#line 228 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str525, ei_hp_roman8}, - {-1}, -#line 317 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str527, ei_iso2022_jp2}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 275 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str534, ei_jisx0208}, - {-1}, {-1}, {-1}, {-1}, -#line 99 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str539, ei_iso8859_6}, - {-1}, {-1}, {-1}, -#line 210 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str543, ei_mac_roman}, -#line 216 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str544, ei_mac_croatian}, - {-1}, {-1}, {-1}, -#line 285 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str548, ei_jisx0212}, -#line 264 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str549, ei_iso646_jp}, - {-1}, {-1}, -#line 193 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str552, ei_cp1257}, - {-1}, -#line 318 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str554, ei_iso2022_jp2}, - {-1}, {-1}, {-1}, {-1}, -#line 337 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str559, ei_euc_tw}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 304 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str567, ei_euc_jp}, - {-1}, -#line 55 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str569, ei_iso8859_1}, -#line 96 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str570, ei_iso8859_6}, -#line 106 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str571, ei_iso8859_7}, -#line 65 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str572, ei_iso8859_2}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 303 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str581, ei_euc_jp}, - {-1}, {-1}, {-1}, {-1}, -#line 44 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str586, ei_utf7}, - {-1}, {-1}, {-1}, {-1}, -#line 27 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str591, ei_ucs2be}, - {-1}, -#line 314 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str593, ei_iso2022_jp}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 185 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str602, ei_cp1254}, - {-1}, {-1}, {-1}, {-1}, {-1}, -#line 280 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str608, ei_jisx0212}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, -#line 315 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str621, ei_iso2022_jp}, - {-1}, {-1}, -#line 309 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str624, ei_sjis}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, -#line 308 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str638, ei_sjis}, -#line 36 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str639, ei_ucs4be}, - {-1}, {-1}, {-1}, {-1}, -#line 188 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str644, ei_cp1255}, - {-1}, -#line 223 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str646, ei_mac_arabic}, - {-1}, {-1}, -#line 220 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str649, ei_mac_greek}, - {-1}, {-1}, -#line 255 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str652, ei_cp874}, -#line 271 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str653, ei_jisx0201}, - {-1}, {-1}, {-1}, {-1}, -#line 182 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str658, ei_cp1253}, -#line 39 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str659, ei_utf16be}, - {-1}, -#line 221 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str661, ei_mac_turkish}, - {-1}, -#line 42 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str663, ei_utf32be}, - {-1}, {-1}, {-1}, {-1}, {-1}, -#line 312 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str669, ei_sjis}, - {-1}, -#line 268 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str671, ei_jisx0201}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 118 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str678, ei_iso8859_8}, - {-1}, {-1}, {-1}, {-1}, -#line 272 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str683, ei_jisx0208}, - {-1}, -#line 341 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str685, ei_ces_big5}, - {-1}, {-1}, {-1}, -#line 269 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str689, ei_jisx0201}, - {-1}, {-1}, {-1}, {-1}, {-1}, -#line 48 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str695, ei_ucs2swapped}, -#line 282 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str696, ei_jisx0212}, - {-1}, {-1}, -#line 340 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str699, ei_ces_big5}, - {-1}, -#line 273 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str701, ei_jisx0208}, -#line 305 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str702, ei_euc_jp}, - {-1}, {-1}, {-1}, {-1}, -#line 307 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str707, ei_euc_jp}, - {-1}, {-1}, {-1}, -#line 52 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str711, ei_java}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 105 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str721, ei_iso8859_7}, - {-1}, {-1}, -#line 262 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str724, ei_tcvn}, -#line 311 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str725, ei_sjis}, - {-1}, -#line 214 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str727, ei_mac_centraleurope}, - {-1}, {-1}, {-1}, -#line 279 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str731, ei_jisx0208}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, -#line 50 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str743, ei_ucs4swapped}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 217 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str761, ei_mac_romania}, - {-1}, {-1}, {-1}, -#line 346 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str765, ei_big5hkscs2001}, - {-1}, {-1}, -#line 274 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str768, ei_jisx0208}, - {-1}, {-1}, -#line 350 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str771, ei_big5hkscs2008}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, -#line 345 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str784, ei_big5hkscs1999}, -#line 281 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str785, ei_jisx0212}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, -#line 191 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str806, ei_cp1256}, -#line 358 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str807, ei_johab}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 347 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str816, ei_big5hkscs2004}, - {-1}, {-1}, {-1}, {-1}, -#line 219 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str821, ei_mac_ukraine}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, -#line 306 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str842, ei_euc_jp}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, -#line 194 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str857, ei_cp1257}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 222 "lib/aliases_sysosf1.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str939, ei_mac_hebrew} - }; - -#ifdef __GNUC__ -__inline -#if defined __GNUC_STDC_INLINE__ || defined __GNUC_GNU_INLINE__ -__attribute__ ((__gnu_inline__)) -#endif -#endif -const struct alias * -aliases_lookup (register const char *str, register unsigned int len) -{ - if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) - { - register int key = aliases_hash (str, len); - - if (key <= MAX_HASH_VALUE && key >= 0) - { - register int o = aliases[key].name; - if (o >= 0) - { - register const char *s = o + stringpool; - - if (*str == *s && !strcmp (str + 1, s + 1)) - return &aliases[key]; - } - } - } - return 0; -} diff --git a/Externals/libiconv-1.14/lib/aliases_syssolaris.h b/Externals/libiconv-1.14/lib/aliases_syssolaris.h deleted file mode 100644 index c35d4f9bf02..00000000000 --- a/Externals/libiconv-1.14/lib/aliases_syssolaris.h +++ /dev/null @@ -1,1756 +0,0 @@ -/* ANSI-C code produced by gperf version 3.0.4 */ -/* Command-line: gperf -m 10 lib/aliases_syssolaris.gperf */ -/* Computed positions: -k'1,3-11,$' */ - -#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \ - && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \ - && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \ - && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \ - && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \ - && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \ - && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \ - && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \ - && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \ - && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \ - && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \ - && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \ - && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \ - && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \ - && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \ - && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \ - && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \ - && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \ - && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \ - && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \ - && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \ - && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \ - && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126)) -/* The character set is not based on ISO-646. */ -#error "gperf generated tables don't work with this execution character set. Please report a bug to ." -#endif - -#line 1 "lib/aliases_syssolaris.gperf" -struct alias { int name; unsigned int encoding_index; }; - -#define TOTAL_KEYWORDS 354 -#define MIN_WORD_LENGTH 2 -#define MAX_WORD_LENGTH 45 -#define MIN_HASH_VALUE 8 -#define MAX_HASH_VALUE 1003 -/* maximum key range = 996, 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[] = - { - 1004, 1004, 1004, 1004, 1004, 1004, 1004, 1004, 1004, 1004, - 1004, 1004, 1004, 1004, 1004, 1004, 1004, 1004, 1004, 1004, - 1004, 1004, 1004, 1004, 1004, 1004, 1004, 1004, 1004, 1004, - 1004, 1004, 1004, 1004, 1004, 1004, 1004, 1004, 1004, 1004, - 1004, 1004, 1004, 1004, 1004, 2, 112, 1004, 27, 4, - 34, 57, 16, 22, 11, 168, 3, 10, 254, 1004, - 1004, 1004, 1004, 1004, 1004, 21, 126, 7, 10, 37, - 40, 119, 81, 62, 332, 197, 9, 169, 4, 2, - 8, 1004, 3, 34, 104, 205, 191, 192, 195, 36, - 16, 1004, 1004, 1004, 1004, 3, 1004, 1004, 1004, 1004, - 1004, 1004, 1004, 1004, 1004, 1004, 1004, 1004, 1004, 1004, - 1004, 1004, 1004, 1004, 1004, 1004, 1004, 1004, 1004, 1004, - 1004, 1004, 1004, 1004, 1004, 1004, 1004, 1004 - }; - register int hval = len; - - switch (hval) - { - default: - hval += asso_values[(unsigned char)str[10]]; - /*FALLTHROUGH*/ - case 10: - hval += asso_values[(unsigned char)str[9]]; - /*FALLTHROUGH*/ - case 9: - hval += asso_values[(unsigned char)str[8]]; - /*FALLTHROUGH*/ - case 8: - hval += asso_values[(unsigned char)str[7]]; - /*FALLTHROUGH*/ - case 7: - hval += asso_values[(unsigned char)str[6]]; - /*FALLTHROUGH*/ - case 6: - hval += asso_values[(unsigned char)str[5]]; - /*FALLTHROUGH*/ - case 5: - hval += asso_values[(unsigned char)str[4]]; - /*FALLTHROUGH*/ - case 4: - hval += asso_values[(unsigned char)str[3]]; - /*FALLTHROUGH*/ - case 3: - hval += asso_values[(unsigned char)str[2]]; - /*FALLTHROUGH*/ - case 2: - case 1: - hval += asso_values[(unsigned char)str[0]]; - break; - } - return hval + asso_values[(unsigned char)str[len - 1]]; -} - -struct stringpool_t - { - char stringpool_str8[sizeof("R8")]; - char stringpool_str13[sizeof("CN")]; - char stringpool_str14[sizeof("L8")]; - char stringpool_str15[sizeof("L1")]; - char stringpool_str22[sizeof("L6")]; - char stringpool_str27[sizeof("L4")]; - char stringpool_str28[sizeof("866")]; - char stringpool_str30[sizeof("C99")]; - char stringpool_str33[sizeof("L5")]; - char stringpool_str36[sizeof("646")]; - char stringpool_str38[sizeof("CHAR")]; - char stringpool_str39[sizeof("CP819")]; - char stringpool_str45[sizeof("L2")]; - char stringpool_str48[sizeof("CP866")]; - char stringpool_str58[sizeof("CP949")]; - char stringpool_str60[sizeof("850")]; - char stringpool_str61[sizeof("5601")]; - char stringpool_str62[sizeof("RK1048")]; - char stringpool_str64[sizeof("EUCCN")]; - char stringpool_str66[sizeof("L10")]; - char stringpool_str67[sizeof("EUC-CN")]; - char stringpool_str68[sizeof("L3")]; - char stringpool_str70[sizeof("CP154")]; - char stringpool_str71[sizeof("PT154")]; - char stringpool_str74[sizeof("862")]; - char stringpool_str79[sizeof("CP1258")]; - char stringpool_str81[sizeof("CP1251")]; - char stringpool_str86[sizeof("CP1131")]; - char stringpool_str88[sizeof("PTCP154")]; - char stringpool_str91[sizeof("CP850")]; - char stringpool_str93[sizeof("CP1361")]; - char stringpool_str94[sizeof("CP862")]; - char stringpool_str95[sizeof("CP1256")]; - char stringpool_str98[sizeof("CP950")]; - char stringpool_str99[sizeof("HZ")]; - char stringpool_str101[sizeof("CP936")]; - char stringpool_str105[sizeof("CP1254")]; - char stringpool_str117[sizeof("CP1255")]; - char stringpool_str119[sizeof("ISO8859-8")]; - char stringpool_str121[sizeof("ISO8859-1")]; - char stringpool_str122[sizeof("ISO-8859-8")]; - char stringpool_str123[sizeof("ISO_8859-8")]; - char stringpool_str124[sizeof("ISO-8859-1")]; - char stringpool_str125[sizeof("ISO_8859-1")]; - char stringpool_str126[sizeof("ISO8859-11")]; - char stringpool_str127[sizeof("CP1250")]; - char stringpool_str128[sizeof("ISO646-CN")]; - char stringpool_str129[sizeof("ISO-8859-11")]; - char stringpool_str130[sizeof("ISO_8859-11")]; - char stringpool_str133[sizeof("ISO8859-9")]; - char stringpool_str135[sizeof("ISO8859-6")]; - char stringpool_str136[sizeof("ISO-8859-9")]; - char stringpool_str137[sizeof("ISO_8859-9")]; - char stringpool_str138[sizeof("ISO-8859-6")]; - char stringpool_str139[sizeof("ISO_8859-6")]; - char stringpool_str140[sizeof("ISO8859-16")]; - char stringpool_str141[sizeof("CP1252")]; - char stringpool_str142[sizeof("ISO_8859-16:2001")]; - char stringpool_str143[sizeof("ISO-8859-16")]; - char stringpool_str144[sizeof("ISO_8859-16")]; - char stringpool_str145[sizeof("ISO8859-4")]; - char stringpool_str146[sizeof("ISO_8859-14:1998")]; - char stringpool_str147[sizeof("CP932")]; - char stringpool_str148[sizeof("ISO-8859-4")]; - char stringpool_str149[sizeof("ISO_8859-4")]; - char stringpool_str150[sizeof("ISO8859-14")]; - char stringpool_str152[sizeof("ISO_8859-15:1998")]; - char stringpool_str153[sizeof("ISO-8859-14")]; - char stringpool_str154[sizeof("ISO_8859-14")]; - char stringpool_str157[sizeof("ISO8859-5")]; - char stringpool_str160[sizeof("ISO-8859-5")]; - char stringpool_str161[sizeof("ISO_8859-5")]; - char stringpool_str162[sizeof("ISO8859-15")]; - char stringpool_str163[sizeof("ISO-IR-6")]; - char stringpool_str165[sizeof("ISO-8859-15")]; - char stringpool_str166[sizeof("ISO_8859-15")]; - char stringpool_str168[sizeof("SJIS")]; - char stringpool_str169[sizeof("ISO-IR-148")]; - char stringpool_str170[sizeof("ISO-IR-58")]; - char stringpool_str172[sizeof("ISO8859-10")]; - char stringpool_str174[sizeof("CYRILLIC")]; - char stringpool_str175[sizeof("ISO-8859-10")]; - char stringpool_str176[sizeof("ISO_8859-10")]; - char stringpool_str177[sizeof("ISO-IR-199")]; - char stringpool_str178[sizeof("ISO-IR-14")]; - char stringpool_str179[sizeof("L7")]; - char stringpool_str180[sizeof("ISO-IR-166")]; - char stringpool_str181[sizeof("ISO8859-2")]; - char stringpool_str182[sizeof("ISO-IR-101")]; - char stringpool_str183[sizeof("ISO-IR-149")]; - char stringpool_str184[sizeof("ISO-8859-2")]; - char stringpool_str185[sizeof("ISO_8859-2")]; - char stringpool_str186[sizeof("MAC")]; - char stringpool_str187[sizeof("CP1253")]; - char stringpool_str188[sizeof("ISO_8859-10:1992")]; - char stringpool_str189[sizeof("ISO-IR-159")]; - char stringpool_str191[sizeof("LATIN8")]; - char stringpool_str192[sizeof("CP1133")]; - char stringpool_str193[sizeof("LATIN1")]; - char stringpool_str194[sizeof("ISO-IR-109")]; - char stringpool_str195[sizeof("ISO-IR-144")]; - char stringpool_str196[sizeof("ANSI-1251")]; - char stringpool_str198[sizeof("CNS11643")]; - char stringpool_str201[sizeof("CSPTCP154")]; - char stringpool_str202[sizeof("ISO-IR-165")]; - char stringpool_str203[sizeof("ISO-IR-126")]; - char stringpool_str204[sizeof("ELOT_928")]; - char stringpool_str205[sizeof("ISO-IR-110")]; - char stringpool_str207[sizeof("LATIN6")]; - char stringpool_str208[sizeof("LATIN-9")]; - char stringpool_str209[sizeof("ROMAN8")]; - char stringpool_str210[sizeof("ISO-IR-138")]; - char stringpool_str211[sizeof("GB_1988-80")]; - char stringpool_str215[sizeof("CP874")]; - char stringpool_str217[sizeof("LATIN4")]; - char stringpool_str219[sizeof("ASCII")]; - char stringpool_str222[sizeof("UHC")]; - char stringpool_str223[sizeof("ISO-2022-CN")]; - char stringpool_str225[sizeof("CHINESE")]; - char stringpool_str227[sizeof("ISO8859-3")]; - char stringpool_str228[sizeof("ISO-IR-100")]; - char stringpool_str229[sizeof("LATIN5")]; - char stringpool_str230[sizeof("ISO-8859-3")]; - char stringpool_str231[sizeof("ISO_8859-3")]; - char stringpool_str232[sizeof("ISO8859-13")]; - char stringpool_str233[sizeof("ISO-IR-226")]; - char stringpool_str234[sizeof("CYRILLIC-ASIAN")]; - char stringpool_str235[sizeof("ISO-8859-13")]; - char stringpool_str236[sizeof("ISO_8859-13")]; - char stringpool_str241[sizeof("US")]; - char stringpool_str242[sizeof("MS-CYRL")]; - char stringpool_str243[sizeof("TIS620")]; - char stringpool_str244[sizeof("LATIN10")]; - char stringpool_str246[sizeof("TIS-620")]; - char stringpool_str250[sizeof("ARABIC")]; - char stringpool_str251[sizeof("ECMA-118")]; - char stringpool_str252[sizeof("EUCKR")]; - char stringpool_str253[sizeof("LATIN2")]; - char stringpool_str255[sizeof("EUC-KR")]; - char stringpool_str258[sizeof("UTF-8")]; - char stringpool_str259[sizeof("KZ-1048")]; - char stringpool_str260[sizeof("CSISO2022CN")]; - char stringpool_str262[sizeof("CSASCII")]; - char stringpool_str263[sizeof("MS936")]; - char stringpool_str264[sizeof("IBM819")]; - char stringpool_str266[sizeof("MULELAO-1")]; - char stringpool_str267[sizeof("X0208")]; - char stringpool_str269[sizeof("X0201")]; - char stringpool_str271[sizeof("GB18030")]; - char stringpool_str272[sizeof("KOREAN")]; - char stringpool_str273[sizeof("IBM866")]; - char stringpool_str274[sizeof("TIS620-0")]; - char stringpool_str276[sizeof("KOI8-R")]; - char stringpool_str277[sizeof("ECMA-114")]; - char stringpool_str278[sizeof("UCS-4")]; - char stringpool_str279[sizeof("UTF-16")]; - char stringpool_str281[sizeof("CSKZ1048")]; - char stringpool_str283[sizeof("KSC_5601")]; - char stringpool_str284[sizeof("CSKOI8R")]; - char stringpool_str287[sizeof("MS-EE")]; - char stringpool_str288[sizeof("GB2312")]; - char stringpool_str291[sizeof("CSUCS4")]; - char stringpool_str293[sizeof("BIG5")]; - char stringpool_str296[sizeof("BIG-5")]; - char stringpool_str297[sizeof("HP-ROMAN8")]; - char stringpool_str299[sizeof("LATIN3")]; - char stringpool_str304[sizeof("KS_C_5601-1989")]; - char stringpool_str306[sizeof("X0212")]; - char stringpool_str307[sizeof("TCVN")]; - char stringpool_str309[sizeof("ISO-CELTIC")]; - char stringpool_str311[sizeof("CSHPROMAN8")]; - char stringpool_str314[sizeof("UCS-2")]; - char stringpool_str316[sizeof("IBM850")]; - char stringpool_str318[sizeof("ISO-IR-203")]; - char stringpool_str319[sizeof("IBM862")]; - char stringpool_str320[sizeof("GB_2312-80")]; - char stringpool_str324[sizeof("CSISOLATIN1")]; - char stringpool_str327[sizeof("ISO-2022-CN-EXT")]; - char stringpool_str335[sizeof("ISO-IR-179")]; - char stringpool_str337[sizeof("CSISOLATINCYRILLIC")]; - char stringpool_str338[sizeof("CSISOLATIN6")]; - char stringpool_str342[sizeof("JP")]; - char stringpool_str346[sizeof("MACICELAND")]; - char stringpool_str347[sizeof("UCS-4LE")]; - char stringpool_str348[sizeof("CSISOLATIN4")]; - char stringpool_str349[sizeof("CSISOLATINARABIC")]; - char stringpool_str350[sizeof("UNICODE-1-1")]; - char stringpool_str353[sizeof("UTF-16LE")]; - char stringpool_str357[sizeof("CSUNICODE11")]; - char stringpool_str360[sizeof("CSISOLATIN5")]; - char stringpool_str361[sizeof("MS-ANSI")]; - char stringpool_str364[sizeof("CSBIG5")]; - char stringpool_str365[sizeof("UCS-2LE")]; - char stringpool_str367[sizeof("CN-BIG5")]; - char stringpool_str372[sizeof("ARMSCII-8")]; - char stringpool_str373[sizeof("ISO-10646-UCS-4")]; - char stringpool_str378[sizeof("UTF-32")]; - char stringpool_str380[sizeof("CSUNICODE")]; - char stringpool_str382[sizeof("ISO_8859-8:1988")]; - char stringpool_str384[sizeof("CSISOLATIN2")]; - char stringpool_str385[sizeof("CN-GB")]; - char stringpool_str386[sizeof("ISO646-US")]; - char stringpool_str387[sizeof("MACROMAN")]; - char stringpool_str389[sizeof("MACCYRILLIC")]; - char stringpool_str391[sizeof("ISO-10646-UCS-2")]; - char stringpool_str394[sizeof("STRK1048-2002")]; - char stringpool_str395[sizeof("ISO_8859-4:1988")]; - char stringpool_str396[sizeof("ISO_8859-9:1989")]; - char stringpool_str397[sizeof("EUCJP")]; - char stringpool_str400[sizeof("EUC-JP")]; - char stringpool_str401[sizeof("ISO_8859-5:1988")]; - char stringpool_str402[sizeof("GREEK8")]; - char stringpool_str403[sizeof("ASMO-708")]; - char stringpool_str405[sizeof("PCK")]; - char stringpool_str408[sizeof("CSIBM866")]; - char stringpool_str409[sizeof("CP1257")]; - char stringpool_str411[sizeof("ISO-2022-KR")]; - char stringpool_str412[sizeof("GEORGIAN-ACADEMY")]; - char stringpool_str415[sizeof("MACCROATIAN")]; - char stringpool_str416[sizeof("CP367")]; - char stringpool_str419[sizeof("GEORGIAN-PS")]; - char stringpool_str423[sizeof("CSGB2312")]; - char stringpool_str424[sizeof("VISCII")]; - char stringpool_str428[sizeof("MS-HEBR")]; - char stringpool_str429[sizeof("UTF-32LE")]; - char stringpool_str430[sizeof("CSISOLATIN3")]; - char stringpool_str432[sizeof("MACARABIC")]; - char stringpool_str436[sizeof("ISO_8859-3:1988")]; - char stringpool_str437[sizeof("IBM-CP1133")]; - char stringpool_str439[sizeof("TIS620.2529-1")]; - char stringpool_str448[sizeof("CSISO2022KR")]; - char stringpool_str449[sizeof("ISO8859-7")]; - char stringpool_str451[sizeof("MACCENTRALEUROPE")]; - char stringpool_str452[sizeof("ISO-8859-7")]; - char stringpool_str453[sizeof("ISO_8859-7")]; - char stringpool_str455[sizeof("CN-GB-ISOIR165")]; - char stringpool_str461[sizeof("ISO646-JP")]; - char stringpool_str462[sizeof("KS_C_5601-1987")]; - char stringpool_str463[sizeof("US-ASCII")]; - char stringpool_str464[sizeof("UCS-4BE")]; - char stringpool_str466[sizeof("CSEUCKR")]; - char stringpool_str467[sizeof("JIS0208")]; - char stringpool_str470[sizeof("UTF-16BE")]; - char stringpool_str475[sizeof("MS-ARAB")]; - char stringpool_str476[sizeof("CSPC862LATINHEBREW")]; - char stringpool_str478[sizeof("KOI8-T")]; - char stringpool_str481[sizeof("ISO-IR-87")]; - char stringpool_str482[sizeof("UCS-2BE")]; - char stringpool_str489[sizeof("MACROMANIA")]; - char stringpool_str492[sizeof("UCS-4-INTERNAL")]; - char stringpool_str493[sizeof("ISO_646.IRV:1991")]; - char stringpool_str495[sizeof("CSVISCII")]; - char stringpool_str497[sizeof("VISCII1.1-1")]; - char stringpool_str500[sizeof("ISO-IR-57")]; - char stringpool_str502[sizeof("NEXTSTEP")]; - char stringpool_str503[sizeof("HZ-GB-2312")]; - char stringpool_str504[sizeof("CSKSC56011987")]; - char stringpool_str505[sizeof("ISO-IR-157")]; - char stringpool_str507[sizeof("JIS_C6220-1969-RO")]; - char stringpool_str508[sizeof("CSISO58GB231280")]; - char stringpool_str509[sizeof("TIS620.2533-1")]; - char stringpool_str510[sizeof("UCS-2-INTERNAL")]; - char stringpool_str511[sizeof("WINDOWS-1258")]; - char stringpool_str512[sizeof("WINDOWS-1251")]; - char stringpool_str513[sizeof("MACTHAI")]; - char stringpool_str515[sizeof("WCHAR_T")]; - char stringpool_str516[sizeof("GBK")]; - char stringpool_str517[sizeof("ISO-IR-127")]; - char stringpool_str519[sizeof("WINDOWS-1256")]; - char stringpool_str520[sizeof("UNICODE-1-1-UTF-7")]; - char stringpool_str521[sizeof("LATIN7")]; - char stringpool_str523[sizeof("ANSI_X3.4-1968")]; - char stringpool_str524[sizeof("WINDOWS-1254")]; - char stringpool_str525[sizeof("CSUNICODE11UTF7")]; - char stringpool_str530[sizeof("WINDOWS-1255")]; - char stringpool_str531[sizeof("ANSI_X3.4-1986")]; - char stringpool_str532[sizeof("TIS620.2533-0")]; - char stringpool_str533[sizeof("EXTENDED_UNIX_CODE_PACKED_FORMAT_FOR_JAPANESE")]; - char stringpool_str535[sizeof("WINDOWS-1250")]; - char stringpool_str536[sizeof("WINDOWS-936")]; - char stringpool_str537[sizeof("EUCTW")]; - char stringpool_str540[sizeof("EUC-TW")]; - char stringpool_str542[sizeof("WINDOWS-1252")]; - char stringpool_str543[sizeof("JIS_C6226-1983")]; - char stringpool_str545[sizeof("UCS-4-SWAPPED")]; - char stringpool_str546[sizeof("UTF-32BE")]; - char stringpool_str547[sizeof("TCVN5712-1")]; - char stringpool_str548[sizeof("ISO_8859-1:1987")]; - char stringpool_str553[sizeof("MACINTOSH")]; - char stringpool_str554[sizeof("ISO-2022-JP-1")]; - char stringpool_str555[sizeof("ISO_8859-6:1987")]; - char stringpool_str556[sizeof("ISO-2022-JP")]; - char stringpool_str560[sizeof("TIS620.2533")]; - char stringpool_str563[sizeof("UCS-2-SWAPPED")]; - char stringpool_str565[sizeof("WINDOWS-1253")]; - char stringpool_str569[sizeof("JAVA")]; - char stringpool_str570[sizeof("CSISO57GB1988")]; - char stringpool_str572[sizeof("TCVN-5712")]; - char stringpool_str578[sizeof("ISO_8859-2:1987")]; - char stringpool_str579[sizeof("CSISO14JISC6220RO")]; - char stringpool_str583[sizeof("CSMACINTOSH")]; - char stringpool_str584[sizeof("ISO-2022-JP-2")]; - char stringpool_str588[sizeof("UTF-7")]; - char stringpool_str589[sizeof("CSPC850MULTILINGUAL")]; - char stringpool_str592[sizeof("GREEK")]; - char stringpool_str593[sizeof("CSISO2022JP")]; - char stringpool_str594[sizeof("CSISOLATINHEBREW")]; - char stringpool_str601[sizeof("ISO_8859-7:2003")]; - char stringpool_str616[sizeof("CSISO159JISX02121990")]; - char stringpool_str619[sizeof("BIGFIVE")]; - char stringpool_str620[sizeof("CSISO2022JP2")]; - char stringpool_str622[sizeof("BIG-FIVE")]; - char stringpool_str636[sizeof("CSISOLATINGREEK")]; - char stringpool_str637[sizeof("HEBREW")]; - char stringpool_str641[sizeof("IBM367")]; - char stringpool_str647[sizeof("CSHALFWIDTHKATAKANA")]; - char stringpool_str650[sizeof("WINDOWS-874")]; - char stringpool_str652[sizeof("UNICODELITTLE")]; - char stringpool_str663[sizeof("BIG5HKSCS")]; - char stringpool_str666[sizeof("BIG5-HKSCS")]; - char stringpool_str667[sizeof("JIS_X0208")]; - char stringpool_str669[sizeof("JIS_X0201")]; - char stringpool_str676[sizeof("WINDOWS-1257")]; - char stringpool_str680[sizeof("KOI8-U")]; - char stringpool_str684[sizeof("KOI8-RU")]; - char stringpool_str691[sizeof("JOHAB")]; - char stringpool_str693[sizeof("JISX0201-1976")]; - char stringpool_str702[sizeof("JIS_X0208-1990")]; - char stringpool_str706[sizeof("JIS_X0212")]; - char stringpool_str710[sizeof("JIS_X0212-1990")]; - char stringpool_str712[sizeof("ISO_8859-7:1987")]; - char stringpool_str713[sizeof("SHIFT-JIS")]; - char stringpool_str714[sizeof("SHIFT_JIS")]; - char stringpool_str732[sizeof("JIS_X0208-1983")]; - char stringpool_str751[sizeof("CSEUCTW")]; - char stringpool_str752[sizeof("MACUKRAINE")]; - char stringpool_str759[sizeof("UNICODEBIG")]; - char stringpool_str769[sizeof("MS-GREEK")]; - char stringpool_str774[sizeof("MACGREEK")]; - char stringpool_str800[sizeof("CSSHIFTJIS")]; - char stringpool_str822[sizeof("JIS_X0212.1990-0")]; - char stringpool_str840[sizeof("CSEUCPKDFMTJAPANESE")]; - char stringpool_str853[sizeof("MACHEBREW")]; - char stringpool_str858[sizeof("MS_KANJI")]; - char stringpool_str859[sizeof("TCVN5712-1:1993")]; - char stringpool_str869[sizeof("WINBALTRIM")]; - char stringpool_str884[sizeof("MS-TURK")]; - char stringpool_str894[sizeof("BIG5-HKSCS:2008")]; - char stringpool_str895[sizeof("BIG5-HKSCS:2001")]; - char stringpool_str901[sizeof("BIG5-HKSCS:1999")]; - char stringpool_str907[sizeof("BIG5-HKSCS:2004")]; - char stringpool_str917[sizeof("CSISO87JISX0208")]; - char stringpool_str953[sizeof("MACTURKISH")]; - char stringpool_str1003[sizeof("KO_KR.JOHAP92")]; - }; -static const struct stringpool_t stringpool_contents = - { - "R8", - "CN", - "L8", - "L1", - "L6", - "L4", - "866", - "C99", - "L5", - "646", - "CHAR", - "CP819", - "L2", - "CP866", - "CP949", - "850", - "5601", - "RK1048", - "EUCCN", - "L10", - "EUC-CN", - "L3", - "CP154", - "PT154", - "862", - "CP1258", - "CP1251", - "CP1131", - "PTCP154", - "CP850", - "CP1361", - "CP862", - "CP1256", - "CP950", - "HZ", - "CP936", - "CP1254", - "CP1255", - "ISO8859-8", - "ISO8859-1", - "ISO-8859-8", - "ISO_8859-8", - "ISO-8859-1", - "ISO_8859-1", - "ISO8859-11", - "CP1250", - "ISO646-CN", - "ISO-8859-11", - "ISO_8859-11", - "ISO8859-9", - "ISO8859-6", - "ISO-8859-9", - "ISO_8859-9", - "ISO-8859-6", - "ISO_8859-6", - "ISO8859-16", - "CP1252", - "ISO_8859-16:2001", - "ISO-8859-16", - "ISO_8859-16", - "ISO8859-4", - "ISO_8859-14:1998", - "CP932", - "ISO-8859-4", - "ISO_8859-4", - "ISO8859-14", - "ISO_8859-15:1998", - "ISO-8859-14", - "ISO_8859-14", - "ISO8859-5", - "ISO-8859-5", - "ISO_8859-5", - "ISO8859-15", - "ISO-IR-6", - "ISO-8859-15", - "ISO_8859-15", - "SJIS", - "ISO-IR-148", - "ISO-IR-58", - "ISO8859-10", - "CYRILLIC", - "ISO-8859-10", - "ISO_8859-10", - "ISO-IR-199", - "ISO-IR-14", - "L7", - "ISO-IR-166", - "ISO8859-2", - "ISO-IR-101", - "ISO-IR-149", - "ISO-8859-2", - "ISO_8859-2", - "MAC", - "CP1253", - "ISO_8859-10:1992", - "ISO-IR-159", - "LATIN8", - "CP1133", - "LATIN1", - "ISO-IR-109", - "ISO-IR-144", - "ANSI-1251", - "CNS11643", - "CSPTCP154", - "ISO-IR-165", - "ISO-IR-126", - "ELOT_928", - "ISO-IR-110", - "LATIN6", - "LATIN-9", - "ROMAN8", - "ISO-IR-138", - "GB_1988-80", - "CP874", - "LATIN4", - "ASCII", - "UHC", - "ISO-2022-CN", - "CHINESE", - "ISO8859-3", - "ISO-IR-100", - "LATIN5", - "ISO-8859-3", - "ISO_8859-3", - "ISO8859-13", - "ISO-IR-226", - "CYRILLIC-ASIAN", - "ISO-8859-13", - "ISO_8859-13", - "US", - "MS-CYRL", - "TIS620", - "LATIN10", - "TIS-620", - "ARABIC", - "ECMA-118", - "EUCKR", - "LATIN2", - "EUC-KR", - "UTF-8", - "KZ-1048", - "CSISO2022CN", - "CSASCII", - "MS936", - "IBM819", - "MULELAO-1", - "X0208", - "X0201", - "GB18030", - "KOREAN", - "IBM866", - "TIS620-0", - "KOI8-R", - "ECMA-114", - "UCS-4", - "UTF-16", - "CSKZ1048", - "KSC_5601", - "CSKOI8R", - "MS-EE", - "GB2312", - "CSUCS4", - "BIG5", - "BIG-5", - "HP-ROMAN8", - "LATIN3", - "KS_C_5601-1989", - "X0212", - "TCVN", - "ISO-CELTIC", - "CSHPROMAN8", - "UCS-2", - "IBM850", - "ISO-IR-203", - "IBM862", - "GB_2312-80", - "CSISOLATIN1", - "ISO-2022-CN-EXT", - "ISO-IR-179", - "CSISOLATINCYRILLIC", - "CSISOLATIN6", - "JP", - "MACICELAND", - "UCS-4LE", - "CSISOLATIN4", - "CSISOLATINARABIC", - "UNICODE-1-1", - "UTF-16LE", - "CSUNICODE11", - "CSISOLATIN5", - "MS-ANSI", - "CSBIG5", - "UCS-2LE", - "CN-BIG5", - "ARMSCII-8", - "ISO-10646-UCS-4", - "UTF-32", - "CSUNICODE", - "ISO_8859-8:1988", - "CSISOLATIN2", - "CN-GB", - "ISO646-US", - "MACROMAN", - "MACCYRILLIC", - "ISO-10646-UCS-2", - "STRK1048-2002", - "ISO_8859-4:1988", - "ISO_8859-9:1989", - "EUCJP", - "EUC-JP", - "ISO_8859-5:1988", - "GREEK8", - "ASMO-708", - "PCK", - "CSIBM866", - "CP1257", - "ISO-2022-KR", - "GEORGIAN-ACADEMY", - "MACCROATIAN", - "CP367", - "GEORGIAN-PS", - "CSGB2312", - "VISCII", - "MS-HEBR", - "UTF-32LE", - "CSISOLATIN3", - "MACARABIC", - "ISO_8859-3:1988", - "IBM-CP1133", - "TIS620.2529-1", - "CSISO2022KR", - "ISO8859-7", - "MACCENTRALEUROPE", - "ISO-8859-7", - "ISO_8859-7", - "CN-GB-ISOIR165", - "ISO646-JP", - "KS_C_5601-1987", - "US-ASCII", - "UCS-4BE", - "CSEUCKR", - "JIS0208", - "UTF-16BE", - "MS-ARAB", - "CSPC862LATINHEBREW", - "KOI8-T", - "ISO-IR-87", - "UCS-2BE", - "MACROMANIA", - "UCS-4-INTERNAL", - "ISO_646.IRV:1991", - "CSVISCII", - "VISCII1.1-1", - "ISO-IR-57", - "NEXTSTEP", - "HZ-GB-2312", - "CSKSC56011987", - "ISO-IR-157", - "JIS_C6220-1969-RO", - "CSISO58GB231280", - "TIS620.2533-1", - "UCS-2-INTERNAL", - "WINDOWS-1258", - "WINDOWS-1251", - "MACTHAI", - "WCHAR_T", - "GBK", - "ISO-IR-127", - "WINDOWS-1256", - "UNICODE-1-1-UTF-7", - "LATIN7", - "ANSI_X3.4-1968", - "WINDOWS-1254", - "CSUNICODE11UTF7", - "WINDOWS-1255", - "ANSI_X3.4-1986", - "TIS620.2533-0", - "EXTENDED_UNIX_CODE_PACKED_FORMAT_FOR_JAPANESE", - "WINDOWS-1250", - "WINDOWS-936", - "EUCTW", - "EUC-TW", - "WINDOWS-1252", - "JIS_C6226-1983", - "UCS-4-SWAPPED", - "UTF-32BE", - "TCVN5712-1", - "ISO_8859-1:1987", - "MACINTOSH", - "ISO-2022-JP-1", - "ISO_8859-6:1987", - "ISO-2022-JP", - "TIS620.2533", - "UCS-2-SWAPPED", - "WINDOWS-1253", - "JAVA", - "CSISO57GB1988", - "TCVN-5712", - "ISO_8859-2:1987", - "CSISO14JISC6220RO", - "CSMACINTOSH", - "ISO-2022-JP-2", - "UTF-7", - "CSPC850MULTILINGUAL", - "GREEK", - "CSISO2022JP", - "CSISOLATINHEBREW", - "ISO_8859-7:2003", - "CSISO159JISX02121990", - "BIGFIVE", - "CSISO2022JP2", - "BIG-FIVE", - "CSISOLATINGREEK", - "HEBREW", - "IBM367", - "CSHALFWIDTHKATAKANA", - "WINDOWS-874", - "UNICODELITTLE", - "BIG5HKSCS", - "BIG5-HKSCS", - "JIS_X0208", - "JIS_X0201", - "WINDOWS-1257", - "KOI8-U", - "KOI8-RU", - "JOHAB", - "JISX0201-1976", - "JIS_X0208-1990", - "JIS_X0212", - "JIS_X0212-1990", - "ISO_8859-7:1987", - "SHIFT-JIS", - "SHIFT_JIS", - "JIS_X0208-1983", - "CSEUCTW", - "MACUKRAINE", - "UNICODEBIG", - "MS-GREEK", - "MACGREEK", - "CSSHIFTJIS", - "JIS_X0212.1990-0", - "CSEUCPKDFMTJAPANESE", - "MACHEBREW", - "MS_KANJI", - "TCVN5712-1:1993", - "WINBALTRIM", - "MS-TURK", - "BIG5-HKSCS:2008", - "BIG5-HKSCS:2001", - "BIG5-HKSCS:1999", - "BIG5-HKSCS:2004", - "CSISO87JISX0208", - "MACTURKISH", - "KO_KR.JOHAP92" - }; -#define stringpool ((const char *) &stringpool_contents) - -static const struct alias aliases[] = - { - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 229 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str8, ei_hp_roman8}, - {-1}, {-1}, {-1}, {-1}, -#line 291 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str13, ei_iso646_cn}, -#line 152 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str14, ei_iso8859_14}, -#line 61 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str15, ei_iso8859_1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 135 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str22, ei_iso8859_10}, - {-1}, {-1}, {-1}, {-1}, -#line 85 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str27, ei_iso8859_4}, -#line 209 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str28, ei_cp866}, - {-1}, -#line 52 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str30, ei_c99}, - {-1}, {-1}, -#line 127 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str33, ei_iso8859_9}, - {-1}, {-1}, -#line 23 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str36, ei_ascii}, - {-1}, -#line 364 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str38, ei_local_char}, -#line 58 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str39, ei_iso8859_1}, - {-1}, {-1}, {-1}, {-1}, {-1}, -#line 69 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str45, ei_iso8859_2}, - {-1}, {-1}, -#line 207 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str48, ei_cp866}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 357 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str58, ei_cp949}, - {-1}, -#line 201 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str60, ei_cp850}, -#line 356 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str61, ei_euc_kr}, -#line 241 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str62, ei_rk1048}, - {-1}, -#line 322 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str64, ei_euc_cn}, - {-1}, -#line 166 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str66, ei_iso8859_16}, -#line 321 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str67, ei_euc_cn}, -#line 77 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str68, ei_iso8859_3}, - {-1}, -#line 238 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str70, ei_pt154}, -#line 236 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str71, ei_pt154}, - {-1}, {-1}, -#line 205 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str74, ei_cp862}, - {-1}, {-1}, {-1}, {-1}, -#line 197 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str79, ei_cp1258}, - {-1}, -#line 175 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str81, ei_cp1251}, - {-1}, {-1}, {-1}, {-1}, -#line 211 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str86, ei_cp1131}, - {-1}, -#line 237 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str88, ei_pt154}, - {-1}, {-1}, -#line 199 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str91, ei_cp850}, - {-1}, -#line 360 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str93, ei_johab}, -#line 203 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str94, ei_cp862}, -#line 191 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str95, ei_cp1256}, - {-1}, {-1}, -#line 346 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str98, ei_cp950}, -#line 334 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str99, ei_hz}, - {-1}, -#line 327 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str101, ei_cp936}, - {-1}, {-1}, {-1}, -#line 185 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str105, ei_cp1254}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, -#line 188 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str117, ei_cp1255}, - {-1}, -#line 121 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str119, ei_iso8859_8}, - {-1}, -#line 63 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str121, ei_iso8859_1}, -#line 115 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str122, ei_iso8859_8}, -#line 116 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str123, ei_iso8859_8}, -#line 54 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str124, ei_iso8859_1}, -#line 55 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str125, ei_iso8859_1}, -#line 140 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str126, ei_iso8859_11}, -#line 172 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str127, ei_cp1250}, -#line 289 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str128, ei_iso646_cn}, -#line 138 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str129, ei_iso8859_11}, -#line 139 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str130, ei_iso8859_11}, - {-1}, {-1}, -#line 129 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str133, ei_iso8859_9}, - {-1}, -#line 103 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str135, ei_iso8859_6}, -#line 122 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str136, ei_iso8859_9}, -#line 123 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str137, ei_iso8859_9}, -#line 95 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str138, ei_iso8859_6}, -#line 96 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str139, ei_iso8859_6}, -#line 167 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str140, ei_iso8859_16}, -#line 179 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str141, ei_cp1252}, -#line 163 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str142, ei_iso8859_16}, -#line 161 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str143, ei_iso8859_16}, -#line 162 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str144, ei_iso8859_16}, -#line 87 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str145, ei_iso8859_4}, -#line 149 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str146, ei_iso8859_14}, -#line 315 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str147, ei_cp932}, -#line 80 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str148, ei_iso8859_4}, -#line 81 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str149, ei_iso8859_4}, -#line 154 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str150, ei_iso8859_14}, - {-1}, -#line 157 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str152, ei_iso8859_15}, -#line 147 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str153, ei_iso8859_14}, -#line 148 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str154, ei_iso8859_14}, - {-1}, {-1}, -#line 94 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str157, ei_iso8859_5}, - {-1}, {-1}, -#line 88 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str160, ei_iso8859_5}, -#line 89 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str161, ei_iso8859_5}, -#line 160 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str162, ei_iso8859_15}, -#line 16 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str163, ei_ascii}, - {-1}, -#line 155 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str165, ei_iso8859_15}, -#line 156 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str166, ei_iso8859_15}, - {-1}, -#line 311 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str168, ei_sjis}, -#line 125 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str169, ei_iso8859_9}, -#line 294 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str170, ei_gb2312}, - {-1}, -#line 137 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str172, ei_iso8859_10}, - {-1}, -#line 92 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str174, ei_iso8859_5}, -#line 130 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str175, ei_iso8859_10}, -#line 131 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str176, ei_iso8859_10}, -#line 150 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str177, ei_iso8859_14}, -#line 267 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str178, ei_iso646_jp}, -#line 145 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str179, ei_iso8859_13}, -#line 254 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str180, ei_tis620}, -#line 71 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str181, ei_iso8859_2}, -#line 67 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str182, ei_iso8859_2}, -#line 302 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str183, ei_ksc5601}, -#line 64 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str184, ei_iso8859_2}, -#line 65 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str185, ei_iso8859_2}, -#line 214 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str186, ei_mac_roman}, -#line 182 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str187, ei_cp1253}, -#line 132 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str188, ei_iso8859_10}, -#line 286 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str189, ei_jisx0212}, - {-1}, -#line 151 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str191, ei_iso8859_14}, -#line 246 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str192, ei_cp1133}, -#line 60 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str193, ei_iso8859_1}, -#line 75 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str194, ei_iso8859_3}, -#line 91 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str195, ei_iso8859_5}, -#line 178 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str196, ei_cp1251}, - {-1}, -#line 339 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str198, ei_euc_tw}, - {-1}, {-1}, -#line 240 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str201, ei_pt154}, -#line 297 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str202, ei_isoir165}, -#line 108 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str203, ei_iso8859_7}, -#line 110 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str204, ei_iso8859_7}, -#line 83 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str205, ei_iso8859_4}, - {-1}, -#line 134 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str207, ei_iso8859_10}, -#line 159 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str208, ei_iso8859_15}, -#line 228 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str209, ei_hp_roman8}, -#line 118 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str210, ei_iso8859_8}, -#line 288 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str211, ei_iso646_cn}, - {-1}, {-1}, {-1}, -#line 256 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str215, ei_cp874}, - {-1}, -#line 84 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str217, ei_iso8859_4}, - {-1}, -#line 13 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str219, ei_ascii}, - {-1}, {-1}, -#line 358 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str222, ei_cp949}, -#line 331 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str223, ei_iso2022_cn}, - {-1}, -#line 296 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str225, ei_gb2312}, - {-1}, -#line 79 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str227, ei_iso8859_3}, -#line 57 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str228, ei_iso8859_1}, -#line 126 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str229, ei_iso8859_9}, -#line 72 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str230, ei_iso8859_3}, -#line 73 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str231, ei_iso8859_3}, -#line 146 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str232, ei_iso8859_13}, -#line 164 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str233, ei_iso8859_16}, -#line 239 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str234, ei_pt154}, -#line 141 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str235, ei_iso8859_13}, -#line 142 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str236, ei_iso8859_13}, - {-1}, {-1}, {-1}, {-1}, -#line 21 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str241, ei_ascii}, -#line 177 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str242, ei_cp1251}, -#line 249 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str243, ei_tis620}, -#line 165 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str244, ei_iso8859_16}, - {-1}, -#line 248 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str246, ei_tis620}, - {-1}, {-1}, {-1}, -#line 101 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str250, ei_iso8859_6}, -#line 109 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str251, ei_iso8859_7}, -#line 354 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str252, ei_euc_kr}, -#line 68 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str253, ei_iso8859_2}, - {-1}, -#line 353 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str255, ei_euc_kr}, - {-1}, {-1}, -#line 24 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str258, ei_utf8}, -#line 243 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str259, ei_rk1048}, -#line 332 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str260, ei_iso2022_cn}, - {-1}, -#line 22 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str262, ei_ascii}, -#line 328 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str263, ei_cp936}, -#line 59 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str264, ei_iso8859_1}, - {-1}, -#line 245 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str266, ei_mulelao}, -#line 278 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str267, ei_jisx0208}, - {-1}, -#line 272 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str269, ei_jisx0201}, - {-1}, -#line 330 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str271, ei_gb18030}, -#line 304 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str272, ei_ksc5601}, -#line 208 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str273, ei_cp866}, -#line 250 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str274, ei_tis620}, - {-1}, -#line 168 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str276, ei_koi8_r}, -#line 99 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str277, ei_iso8859_6}, -#line 34 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str278, ei_ucs4}, -#line 39 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str279, ei_utf16}, - {-1}, -#line 244 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str281, ei_rk1048}, - {-1}, -#line 299 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str283, ei_ksc5601}, -#line 169 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str284, ei_koi8_r}, - {-1}, {-1}, -#line 174 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str287, ei_cp1250}, -#line 323 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str288, ei_euc_cn}, - {-1}, {-1}, -#line 36 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str291, ei_ucs4}, - {-1}, -#line 340 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str293, ei_ces_big5}, - {-1}, {-1}, -#line 341 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str296, ei_ces_big5}, -#line 227 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str297, ei_hp_roman8}, - {-1}, -#line 76 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str299, ei_iso8859_3}, - {-1}, {-1}, {-1}, {-1}, -#line 301 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str304, ei_ksc5601}, - {-1}, -#line 285 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str306, ei_jisx0212}, -#line 261 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str307, ei_tcvn}, - {-1}, -#line 153 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str309, ei_iso8859_14}, - {-1}, -#line 230 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str311, ei_hp_roman8}, - {-1}, {-1}, -#line 25 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str314, ei_ucs2}, - {-1}, -#line 200 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str316, ei_cp850}, - {-1}, -#line 158 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str318, ei_iso8859_15}, -#line 204 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str319, ei_cp862}, -#line 293 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str320, ei_gb2312}, - {-1}, {-1}, {-1}, -#line 62 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str324, ei_iso8859_1}, - {-1}, {-1}, -#line 333 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str327, ei_iso2022_cn_ext}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 143 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str335, ei_iso8859_13}, - {-1}, -#line 93 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str337, ei_iso8859_5}, -#line 136 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str338, ei_iso8859_10}, - {-1}, {-1}, {-1}, -#line 268 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str342, ei_iso646_jp}, - {-1}, {-1}, {-1}, -#line 217 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str346, ei_mac_iceland}, -#line 38 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str347, ei_ucs4le}, -#line 86 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str348, ei_iso8859_4}, -#line 102 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str349, ei_iso8859_6}, -#line 30 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str350, ei_ucs2be}, - {-1}, {-1}, -#line 41 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str353, ei_utf16le}, - {-1}, {-1}, {-1}, -#line 31 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str357, ei_ucs2be}, - {-1}, {-1}, -#line 128 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str360, ei_iso8859_9}, -#line 181 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str361, ei_cp1252}, - {-1}, {-1}, -#line 345 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str364, ei_ces_big5}, -#line 32 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str365, ei_ucs2le}, - {-1}, -#line 344 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str367, ei_ces_big5}, - {-1}, {-1}, {-1}, {-1}, -#line 232 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str372, ei_armscii_8}, -#line 35 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str373, ei_ucs4}, - {-1}, {-1}, {-1}, {-1}, -#line 42 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str378, ei_utf32}, - {-1}, -#line 27 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str380, ei_ucs2}, - {-1}, -#line 117 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str382, ei_iso8859_8}, - {-1}, -#line 70 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str384, ei_iso8859_2}, -#line 324 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str385, ei_euc_cn}, -#line 14 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str386, ei_ascii}, -#line 212 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str387, ei_mac_roman}, - {-1}, -#line 220 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str389, ei_mac_cyrillic}, - {-1}, -#line 26 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str391, ei_ucs2}, - {-1}, {-1}, -#line 242 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str394, ei_rk1048}, -#line 82 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str395, ei_iso8859_4}, -#line 124 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str396, ei_iso8859_9}, -#line 306 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str397, ei_euc_jp}, - {-1}, {-1}, -#line 305 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str400, ei_euc_jp}, -#line 90 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str401, ei_iso8859_5}, -#line 111 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str402, ei_iso8859_7}, -#line 100 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str403, ei_iso8859_6}, - {-1}, -#line 314 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str405, ei_sjis}, - {-1}, {-1}, -#line 210 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str408, ei_cp866}, -#line 194 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str409, ei_cp1257}, - {-1}, -#line 362 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str411, ei_iso2022_kr}, -#line 233 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str412, ei_georgian_academy}, - {-1}, {-1}, -#line 218 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str415, ei_mac_croatian}, -#line 19 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str416, ei_ascii}, - {-1}, {-1}, -#line 234 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str419, ei_georgian_ps}, - {-1}, {-1}, {-1}, -#line 325 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str423, ei_euc_cn}, -#line 258 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str424, ei_viscii}, - {-1}, {-1}, {-1}, -#line 190 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str428, ei_cp1255}, -#line 44 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str429, ei_utf32le}, -#line 78 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str430, ei_iso8859_3}, - {-1}, -#line 225 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str432, ei_mac_arabic}, - {-1}, {-1}, {-1}, -#line 74 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str436, ei_iso8859_3}, -#line 247 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str437, ei_cp1133}, - {-1}, -#line 251 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str439, ei_tis620}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 363 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str448, ei_iso2022_kr}, -#line 114 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str449, ei_iso8859_7}, - {-1}, -#line 216 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str451, ei_mac_centraleurope}, -#line 104 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str452, ei_iso8859_7}, -#line 105 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str453, ei_iso8859_7}, - {-1}, -#line 298 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str455, ei_isoir165}, - {-1}, {-1}, {-1}, {-1}, {-1}, -#line 266 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str461, ei_iso646_jp}, -#line 300 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str462, ei_ksc5601}, -#line 12 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str463, ei_ascii}, -#line 37 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str464, ei_ucs4be}, - {-1}, -#line 355 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str466, ei_euc_kr}, -#line 277 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str467, ei_jisx0208}, - {-1}, {-1}, -#line 40 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str470, ei_utf16be}, - {-1}, {-1}, {-1}, {-1}, -#line 193 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str475, ei_cp1256}, -#line 206 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str476, ei_cp862}, - {-1}, -#line 235 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str478, ei_koi8_t}, - {-1}, {-1}, -#line 279 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str481, ei_jisx0208}, -#line 28 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str482, ei_ucs2be}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 219 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str489, ei_mac_romania}, - {-1}, {-1}, -#line 50 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str492, ei_ucs4internal}, -#line 15 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str493, ei_ascii}, - {-1}, -#line 260 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str495, ei_viscii}, - {-1}, -#line 259 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str497, ei_viscii}, - {-1}, {-1}, -#line 290 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str500, ei_iso646_cn}, - {-1}, -#line 231 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str502, ei_nextstep}, -#line 335 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str503, ei_hz}, -#line 303 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str504, ei_ksc5601}, -#line 133 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str505, ei_iso8859_10}, - {-1}, -#line 265 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str507, ei_iso646_jp}, -#line 295 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str508, ei_gb2312}, -#line 253 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str509, ei_tis620}, -#line 48 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str510, ei_ucs2internal}, -#line 198 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str511, ei_cp1258}, -#line 176 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str512, ei_cp1251}, -#line 226 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str513, ei_mac_thai}, - {-1}, -#line 365 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str515, ei_local_wchar_t}, -#line 326 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str516, ei_ces_gbk}, -#line 98 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str517, ei_iso8859_6}, - {-1}, -#line 192 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str519, ei_cp1256}, -#line 46 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str520, ei_utf7}, -#line 144 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str521, ei_iso8859_13}, - {-1}, -#line 17 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str523, ei_ascii}, -#line 186 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str524, ei_cp1254}, -#line 47 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str525, ei_utf7}, - {-1}, {-1}, {-1}, {-1}, -#line 189 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str530, ei_cp1255}, -#line 18 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str531, ei_ascii}, -#line 252 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str532, ei_tis620}, -#line 307 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str533, ei_euc_jp}, - {-1}, -#line 173 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str535, ei_cp1250}, -#line 329 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str536, ei_cp936}, -#line 337 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str537, ei_euc_tw}, - {-1}, {-1}, -#line 336 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str540, ei_euc_tw}, - {-1}, -#line 180 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str542, ei_cp1252}, -#line 280 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str543, ei_jisx0208}, - {-1}, -#line 51 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str545, ei_ucs4swapped}, -#line 43 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str546, ei_utf32be}, -#line 263 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str547, ei_tcvn}, -#line 56 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str548, ei_iso8859_1}, - {-1}, {-1}, {-1}, {-1}, -#line 213 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str553, ei_mac_roman}, -#line 318 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str554, ei_iso2022_jp1}, -#line 97 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str555, ei_iso8859_6}, -#line 316 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str556, ei_iso2022_jp}, - {-1}, {-1}, {-1}, -#line 255 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str560, ei_tis620}, - {-1}, {-1}, -#line 49 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str563, ei_ucs2swapped}, - {-1}, -#line 183 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str565, ei_cp1253}, - {-1}, {-1}, {-1}, -#line 53 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str569, ei_java}, -#line 292 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str570, ei_iso646_cn}, - {-1}, -#line 262 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str572, ei_tcvn}, - {-1}, {-1}, {-1}, {-1}, {-1}, -#line 66 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str578, ei_iso8859_2}, -#line 269 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str579, ei_iso646_jp}, - {-1}, {-1}, {-1}, -#line 215 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str583, ei_mac_roman}, -#line 319 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str584, ei_iso2022_jp2}, - {-1}, {-1}, {-1}, -#line 45 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str588, ei_utf7}, -#line 202 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str589, ei_cp850}, - {-1}, {-1}, -#line 112 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str592, ei_iso8859_7}, -#line 317 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str593, ei_iso2022_jp}, -#line 120 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str594, ei_iso8859_8}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 107 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str601, ei_iso8859_7}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, -#line 287 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str616, ei_jisx0212}, - {-1}, {-1}, -#line 343 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str619, ei_ces_big5}, -#line 320 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str620, ei_iso2022_jp2}, - {-1}, -#line 342 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str622, ei_ces_big5}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, -#line 113 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str636, ei_iso8859_7}, -#line 119 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str637, ei_iso8859_8}, - {-1}, {-1}, {-1}, -#line 20 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str641, ei_ascii}, - {-1}, {-1}, {-1}, {-1}, {-1}, -#line 273 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str647, ei_jisx0201}, - {-1}, {-1}, -#line 257 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str650, ei_cp874}, - {-1}, -#line 33 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str652, ei_ucs2le}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, -#line 351 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str663, ei_big5hkscs2008}, - {-1}, {-1}, -#line 350 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str666, ei_big5hkscs2008}, -#line 274 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str667, ei_jisx0208}, - {-1}, -#line 270 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str669, ei_jisx0201}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 195 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str676, ei_cp1257}, - {-1}, {-1}, {-1}, -#line 170 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str680, ei_koi8_u}, - {-1}, {-1}, {-1}, -#line 171 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str684, ei_koi8_ru}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 359 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str691, ei_johab}, - {-1}, -#line 271 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str693, ei_jisx0201}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 276 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str702, ei_jisx0208}, - {-1}, {-1}, {-1}, -#line 282 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str706, ei_jisx0212}, - {-1}, {-1}, {-1}, -#line 284 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str710, ei_jisx0212}, - {-1}, -#line 106 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str712, ei_iso8859_7}, -#line 310 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str713, ei_sjis}, -#line 309 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str714, ei_sjis}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 275 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str732, ei_jisx0208}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 338 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str751, ei_euc_tw}, -#line 221 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str752, ei_mac_ukraine}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 29 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str759, ei_ucs2be}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 184 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str769, ei_cp1253}, - {-1}, {-1}, {-1}, {-1}, -#line 222 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str774, ei_mac_greek}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 313 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str800, ei_sjis}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, -#line 283 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str822, ei_jisx0212}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 308 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str840, ei_euc_jp}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, -#line 224 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str853, ei_mac_hebrew}, - {-1}, {-1}, {-1}, {-1}, -#line 312 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str858, ei_sjis}, -#line 264 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str859, ei_tcvn}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 196 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str869, ei_cp1257}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, -#line 187 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str884, ei_cp1254}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 352 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str894, ei_big5hkscs2008}, -#line 348 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str895, ei_big5hkscs2001}, - {-1}, {-1}, {-1}, {-1}, {-1}, -#line 347 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str901, ei_big5hkscs1999}, - {-1}, {-1}, {-1}, {-1}, {-1}, -#line 349 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str907, ei_big5hkscs2004}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 281 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str917, ei_jisx0208}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 223 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str953, ei_mac_turkish}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, -#line 361 "lib/aliases_syssolaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str1003, ei_johab} - }; - -#ifdef __GNUC__ -__inline -#if defined __GNUC_STDC_INLINE__ || defined __GNUC_GNU_INLINE__ -__attribute__ ((__gnu_inline__)) -#endif -#endif -const struct alias * -aliases_lookup (register const char *str, register unsigned int len) -{ - if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) - { - register int key = aliases_hash (str, len); - - if (key <= MAX_HASH_VALUE && key >= 0) - { - register int o = aliases[key].name; - if (o >= 0) - { - register const char *s = o + stringpool; - - if (*str == *s && !strcmp (str + 1, s + 1)) - return &aliases[key]; - } - } - } - return 0; -} diff --git a/Externals/libiconv-1.14/lib/canonical.h b/Externals/libiconv-1.14/lib/canonical.h deleted file mode 100644 index 550cc64f99b..00000000000 --- a/Externals/libiconv-1.14/lib/canonical.h +++ /dev/null @@ -1,110 +0,0 @@ - (int)(long)&((struct stringpool_t *)0)->stringpool_str287, - (int)(long)&((struct stringpool_t *)0)->stringpool_str255, - (int)(long)&((struct stringpool_t *)0)->stringpool_str179, - (int)(long)&((struct stringpool_t *)0)->stringpool_str367, - (int)(long)&((struct stringpool_t *)0)->stringpool_str283, - (int)(long)&((struct stringpool_t *)0)->stringpool_str263, - (int)(long)&((struct stringpool_t *)0)->stringpool_str409, - (int)(long)&((struct stringpool_t *)0)->stringpool_str325, - (int)(long)&((struct stringpool_t *)0)->stringpool_str242, - (int)(long)&((struct stringpool_t *)0)->stringpool_str434, - (int)(long)&((struct stringpool_t *)0)->stringpool_str350, - (int)(long)&((struct stringpool_t *)0)->stringpool_str252, - (int)(long)&((struct stringpool_t *)0)->stringpool_str440, - (int)(long)&((struct stringpool_t *)0)->stringpool_str356, - (int)(long)&((struct stringpool_t *)0)->stringpool_str575, - (int)(long)&((struct stringpool_t *)0)->stringpool_str406, - (int)(long)&((struct stringpool_t *)0)->stringpool_str723, - (int)(long)&((struct stringpool_t *)0)->stringpool_str448, - (int)(long)&((struct stringpool_t *)0)->stringpool_str765, - (int)(long)&((struct stringpool_t *)0)->stringpool_str30, - (int)(long)&((struct stringpool_t *)0)->stringpool_str600, - (int)(long)&((struct stringpool_t *)0)->stringpool_str74, - (int)(long)&((struct stringpool_t *)0)->stringpool_str84, - (int)(long)&((struct stringpool_t *)0)->stringpool_str78, - (int)(long)&((struct stringpool_t *)0)->stringpool_str168, - (int)(long)&((struct stringpool_t *)0)->stringpool_str82, - (int)(long)&((struct stringpool_t *)0)->stringpool_str76, - (int)(long)&((struct stringpool_t *)0)->stringpool_str410, - (int)(long)&((struct stringpool_t *)0)->stringpool_str90, - (int)(long)&((struct stringpool_t *)0)->stringpool_str98, - (int)(long)&((struct stringpool_t *)0)->stringpool_str221, - (int)(long)&((struct stringpool_t *)0)->stringpool_str75, - (int)(long)&((struct stringpool_t *)0)->stringpool_str79, - (int)(long)&((struct stringpool_t *)0)->stringpool_str169, - (int)(long)&((struct stringpool_t *)0)->stringpool_str83, - (int)(long)&((struct stringpool_t *)0)->stringpool_str77, - (int)(long)&((struct stringpool_t *)0)->stringpool_str261, - (int)(long)&((struct stringpool_t *)0)->stringpool_str403, - (int)(long)&((struct stringpool_t *)0)->stringpool_str480, - (int)(long)&((struct stringpool_t *)0)->stringpool_str164, - (int)(long)&((struct stringpool_t *)0)->stringpool_str18, - (int)(long)&((struct stringpool_t *)0)->stringpool_str28, - (int)(long)&((struct stringpool_t *)0)->stringpool_str22, - (int)(long)&((struct stringpool_t *)0)->stringpool_str112, - (int)(long)&((struct stringpool_t *)0)->stringpool_str26, - (int)(long)&((struct stringpool_t *)0)->stringpool_str20, - (int)(long)&((struct stringpool_t *)0)->stringpool_str354, - (int)(long)&((struct stringpool_t *)0)->stringpool_str34, - (int)(long)&((struct stringpool_t *)0)->stringpool_str166, - (int)(long)&((struct stringpool_t *)0)->stringpool_str27, - (int)(long)&((struct stringpool_t *)0)->stringpool_str19, - (int)(long)&((struct stringpool_t *)0)->stringpool_str11, - (int)(long)&((struct stringpool_t *)0)->stringpool_str451, - (int)(long)&((struct stringpool_t *)0)->stringpool_str531, - (int)(long)&((struct stringpool_t *)0)->stringpool_str355, - (int)(long)&((struct stringpool_t *)0)->stringpool_str501, - (int)(long)&((struct stringpool_t *)0)->stringpool_str673, - (int)(long)&((struct stringpool_t *)0)->stringpool_str302, - (int)(long)&((struct stringpool_t *)0)->stringpool_str621, - (int)(long)&((struct stringpool_t *)0)->stringpool_str577, - (int)(long)&((struct stringpool_t *)0)->stringpool_str786, - (int)(long)&((struct stringpool_t *)0)->stringpool_str908, - (int)(long)&((struct stringpool_t *)0)->stringpool_str563, - (int)(long)&((struct stringpool_t *)0)->stringpool_str445, - (int)(long)&((struct stringpool_t *)0)->stringpool_str502, - (int)(long)&((struct stringpool_t *)0)->stringpool_str475, - (int)(long)&((struct stringpool_t *)0)->stringpool_str279, - (int)(long)&((struct stringpool_t *)0)->stringpool_str626, - (int)(long)&((struct stringpool_t *)0)->stringpool_str614, - (int)(long)&((struct stringpool_t *)0)->stringpool_str217, - (int)(long)&((struct stringpool_t *)0)->stringpool_str212, - (int)(long)&((struct stringpool_t *)0)->stringpool_str218, - (int)(long)&((struct stringpool_t *)0)->stringpool_str371, - (int)(long)&((struct stringpool_t *)0)->stringpool_str15, - (int)(long)&((struct stringpool_t *)0)->stringpool_str230, - (int)(long)&((struct stringpool_t *)0)->stringpool_str278, - (int)(long)&((struct stringpool_t *)0)->stringpool_str124, - (int)(long)&((struct stringpool_t *)0)->stringpool_str180, - (int)(long)&((struct stringpool_t *)0)->stringpool_str413, - (int)(long)&((struct stringpool_t *)0)->stringpool_str555, - (int)(long)&((struct stringpool_t *)0)->stringpool_str571, - (int)(long)&((struct stringpool_t *)0)->stringpool_str492, - (int)(long)&((struct stringpool_t *)0)->stringpool_str384, - (int)(long)&((struct stringpool_t *)0)->stringpool_str368, - (int)(long)&((struct stringpool_t *)0)->stringpool_str127, - (int)(long)&((struct stringpool_t *)0)->stringpool_str202, - (int)(long)&((struct stringpool_t *)0)->stringpool_str535, - (int)(long)&((struct stringpool_t *)0)->stringpool_str429, - (int)(long)&((struct stringpool_t *)0)->stringpool_str32, - (int)(long)&((struct stringpool_t *)0)->stringpool_str607, - (int)(long)&((struct stringpool_t *)0)->stringpool_str500, - (int)(long)&((struct stringpool_t *)0)->stringpool_str505, - (int)(long)&((struct stringpool_t *)0)->stringpool_str70, - (int)(long)&((struct stringpool_t *)0)->stringpool_str303, - (int)(long)&((struct stringpool_t *)0)->stringpool_str24, - (int)(long)&((struct stringpool_t *)0)->stringpool_str378, - (int)(long)&((struct stringpool_t *)0)->stringpool_str142, - (int)(long)&((struct stringpool_t *)0)->stringpool_str196, - (int)(long)&((struct stringpool_t *)0)->stringpool_str159, - (int)(long)&((struct stringpool_t *)0)->stringpool_str473, - (int)(long)&((struct stringpool_t *)0)->stringpool_str277, - (int)(long)&((struct stringpool_t *)0)->stringpool_str170, - (int)(long)&((struct stringpool_t *)0)->stringpool_str900, - (int)(long)&((struct stringpool_t *)0)->stringpool_str888, - (int)(long)&((struct stringpool_t *)0)->stringpool_str935, - (int)(long)&((struct stringpool_t *)0)->stringpool_str527, - (int)(long)&((struct stringpool_t *)0)->stringpool_str290, - (int)(long)&((struct stringpool_t *)0)->stringpool_str91, - (int)(long)&((struct stringpool_t *)0)->stringpool_str768, - (int)(long)&((struct stringpool_t *)0)->stringpool_str362, diff --git a/Externals/libiconv-1.14/lib/canonical_local.h b/Externals/libiconv-1.14/lib/canonical_local.h deleted file mode 100644 index a2209a820c2..00000000000 --- a/Externals/libiconv-1.14/lib/canonical_local.h +++ /dev/null @@ -1,2 +0,0 @@ - (int)(long)&((struct stringpool_t *)0)->stringpool_str271, - (int)(long)&((struct stringpool_t *)0)->stringpool_str664, diff --git a/Externals/libiconv-1.14/lib/canonical_local_sysaix.h b/Externals/libiconv-1.14/lib/canonical_local_sysaix.h deleted file mode 100644 index 0d4b27ba570..00000000000 --- a/Externals/libiconv-1.14/lib/canonical_local_sysaix.h +++ /dev/null @@ -1,2 +0,0 @@ - (int)(long)&((struct stringpool_t *)0)->stringpool_str307, - (int)(long)&((struct stringpool_t *)0)->stringpool_str543, diff --git a/Externals/libiconv-1.14/lib/canonical_local_syshpux.h b/Externals/libiconv-1.14/lib/canonical_local_syshpux.h deleted file mode 100644 index 8e969231a6b..00000000000 --- a/Externals/libiconv-1.14/lib/canonical_local_syshpux.h +++ /dev/null @@ -1,2 +0,0 @@ - (int)(long)&((struct stringpool_t *)0)->stringpool_str258, - (int)(long)&((struct stringpool_t *)0)->stringpool_str390, diff --git a/Externals/libiconv-1.14/lib/canonical_local_sysosf1.h b/Externals/libiconv-1.14/lib/canonical_local_sysosf1.h deleted file mode 100644 index e1f886c0d9e..00000000000 --- a/Externals/libiconv-1.14/lib/canonical_local_sysosf1.h +++ /dev/null @@ -1,2 +0,0 @@ - (int)(long)&((struct stringpool_t *)0)->stringpool_str275, - (int)(long)&((struct stringpool_t *)0)->stringpool_str465, diff --git a/Externals/libiconv-1.14/lib/canonical_local_syssolaris.h b/Externals/libiconv-1.14/lib/canonical_local_syssolaris.h deleted file mode 100644 index ce73d70655d..00000000000 --- a/Externals/libiconv-1.14/lib/canonical_local_syssolaris.h +++ /dev/null @@ -1,2 +0,0 @@ - (int)(long)&((struct stringpool_t *)0)->stringpool_str38, - (int)(long)&((struct stringpool_t *)0)->stringpool_str515, diff --git a/Externals/libiconv-1.14/lib/canonical_sysaix.h b/Externals/libiconv-1.14/lib/canonical_sysaix.h deleted file mode 100644 index 00a71f6bd99..00000000000 --- a/Externals/libiconv-1.14/lib/canonical_sysaix.h +++ /dev/null @@ -1,110 +0,0 @@ - (int)(long)&((struct stringpool_t *)0)->stringpool_str383, - (int)(long)&((struct stringpool_t *)0)->stringpool_str363, - (int)(long)&((struct stringpool_t *)0)->stringpool_str231, - (int)(long)&((struct stringpool_t *)0)->stringpool_str604, - (int)(long)&((struct stringpool_t *)0)->stringpool_str483, - (int)(long)&((struct stringpool_t *)0)->stringpool_str327, - (int)(long)&((struct stringpool_t *)0)->stringpool_str652, - (int)(long)&((struct stringpool_t *)0)->stringpool_str531, - (int)(long)&((struct stringpool_t *)0)->stringpool_str358, - (int)(long)&((struct stringpool_t *)0)->stringpool_str733, - (int)(long)&((struct stringpool_t *)0)->stringpool_str612, - (int)(long)&((struct stringpool_t *)0)->stringpool_str364, - (int)(long)&((struct stringpool_t *)0)->stringpool_str737, - (int)(long)&((struct stringpool_t *)0)->stringpool_str616, - (int)(long)&((struct stringpool_t *)0)->stringpool_str685, - (int)(long)&((struct stringpool_t *)0)->stringpool_str501, - (int)(long)&((struct stringpool_t *)0)->stringpool_str654, - (int)(long)&((struct stringpool_t *)0)->stringpool_str549, - (int)(long)&((struct stringpool_t *)0)->stringpool_str702, - (int)(long)&((struct stringpool_t *)0)->stringpool_str53, - (int)(long)&((struct stringpool_t *)0)->stringpool_str891, - (int)(long)&((struct stringpool_t *)0)->stringpool_str103, - (int)(long)&((struct stringpool_t *)0)->stringpool_str109, - (int)(long)&((struct stringpool_t *)0)->stringpool_str107, - (int)(long)&((struct stringpool_t *)0)->stringpool_str205, - (int)(long)&((struct stringpool_t *)0)->stringpool_str111, - (int)(long)&((struct stringpool_t *)0)->stringpool_str105, - (int)(long)&((struct stringpool_t *)0)->stringpool_str437, - (int)(long)&((struct stringpool_t *)0)->stringpool_str115, - (int)(long)&((struct stringpool_t *)0)->stringpool_str141, - (int)(long)&((struct stringpool_t *)0)->stringpool_str246, - (int)(long)&((struct stringpool_t *)0)->stringpool_str108, - (int)(long)&((struct stringpool_t *)0)->stringpool_str112, - (int)(long)&((struct stringpool_t *)0)->stringpool_str210, - (int)(long)&((struct stringpool_t *)0)->stringpool_str116, - (int)(long)&((struct stringpool_t *)0)->stringpool_str110, - (int)(long)&((struct stringpool_t *)0)->stringpool_str254, - (int)(long)&((struct stringpool_t *)0)->stringpool_str492, - (int)(long)&((struct stringpool_t *)0)->stringpool_str569, - (int)(long)&((struct stringpool_t *)0)->stringpool_str175, - (int)(long)&((struct stringpool_t *)0)->stringpool_str37, - (int)(long)&((struct stringpool_t *)0)->stringpool_str43, - (int)(long)&((struct stringpool_t *)0)->stringpool_str41, - (int)(long)&((struct stringpool_t *)0)->stringpool_str139, - (int)(long)&((struct stringpool_t *)0)->stringpool_str45, - (int)(long)&((struct stringpool_t *)0)->stringpool_str39, - (int)(long)&((struct stringpool_t *)0)->stringpool_str371, - (int)(long)&((struct stringpool_t *)0)->stringpool_str49, - (int)(long)&((struct stringpool_t *)0)->stringpool_str173, - (int)(long)&((struct stringpool_t *)0)->stringpool_str38, - (int)(long)&((struct stringpool_t *)0)->stringpool_str34, - (int)(long)&((struct stringpool_t *)0)->stringpool_str32, - (int)(long)&((struct stringpool_t *)0)->stringpool_str525, - (int)(long)&((struct stringpool_t *)0)->stringpool_str797, - (int)(long)&((struct stringpool_t *)0)->stringpool_str462, - (int)(long)&((struct stringpool_t *)0)->stringpool_str583, - (int)(long)&((struct stringpool_t *)0)->stringpool_str807, - (int)(long)&((struct stringpool_t *)0)->stringpool_str272, - (int)(long)&((struct stringpool_t *)0)->stringpool_str898, - (int)(long)&((struct stringpool_t *)0)->stringpool_str606, - (int)(long)&((struct stringpool_t *)0)->stringpool_str662, - (int)(long)&((struct stringpool_t *)0)->stringpool_str989, - (int)(long)&((struct stringpool_t *)0)->stringpool_str648, - (int)(long)&((struct stringpool_t *)0)->stringpool_str391, - (int)(long)&((struct stringpool_t *)0)->stringpool_str487, - (int)(long)&((struct stringpool_t *)0)->stringpool_str413, - (int)(long)&((struct stringpool_t *)0)->stringpool_str330, - (int)(long)&((struct stringpool_t *)0)->stringpool_str461, - (int)(long)&((struct stringpool_t *)0)->stringpool_str335, - (int)(long)&((struct stringpool_t *)0)->stringpool_str152, - (int)(long)&((struct stringpool_t *)0)->stringpool_str171, - (int)(long)&((struct stringpool_t *)0)->stringpool_str234, - (int)(long)&((struct stringpool_t *)0)->stringpool_str445, - (int)(long)&((struct stringpool_t *)0)->stringpool_str36, - (int)(long)&((struct stringpool_t *)0)->stringpool_str207, - (int)(long)&((struct stringpool_t *)0)->stringpool_str300, - (int)(long)&((struct stringpool_t *)0)->stringpool_str217, - (int)(long)&((struct stringpool_t *)0)->stringpool_str256, - (int)(long)&((struct stringpool_t *)0)->stringpool_str567, - (int)(long)&((struct stringpool_t *)0)->stringpool_str723, - (int)(long)&((struct stringpool_t *)0)->stringpool_str735, - (int)(long)&((struct stringpool_t *)0)->stringpool_str660, - (int)(long)&((struct stringpool_t *)0)->stringpool_str258, - (int)(long)&((struct stringpool_t *)0)->stringpool_str235, - (int)(long)&((struct stringpool_t *)0)->stringpool_str149, - (int)(long)&((struct stringpool_t *)0)->stringpool_str202, - (int)(long)&((struct stringpool_t *)0)->stringpool_str638, - (int)(long)&((struct stringpool_t *)0)->stringpool_str613, - (int)(long)&((struct stringpool_t *)0)->stringpool_str52, - (int)(long)&((struct stringpool_t *)0)->stringpool_str629, - (int)(long)&((struct stringpool_t *)0)->stringpool_str591, - (int)(long)&((struct stringpool_t *)0)->stringpool_str594, - (int)(long)&((struct stringpool_t *)0)->stringpool_str188, - (int)(long)&((struct stringpool_t *)0)->stringpool_str146, - (int)(long)&((struct stringpool_t *)0)->stringpool_str48, - (int)(long)&((struct stringpool_t *)0)->stringpool_str251, - (int)(long)&((struct stringpool_t *)0)->stringpool_str179, - (int)(long)&((struct stringpool_t *)0)->stringpool_str190, - (int)(long)&((struct stringpool_t *)0)->stringpool_str92, - (int)(long)&((struct stringpool_t *)0)->stringpool_str495, - (int)(long)&((struct stringpool_t *)0)->stringpool_str153, - (int)(long)&((struct stringpool_t *)0)->stringpool_str186, - (int)(long)&((struct stringpool_t *)0)->stringpool_str603, - (int)(long)&((struct stringpool_t *)0)->stringpool_str584, - (int)(long)&((struct stringpool_t *)0)->stringpool_str635, - (int)(long)&((struct stringpool_t *)0)->stringpool_str324, - (int)(long)&((struct stringpool_t *)0)->stringpool_str369, - (int)(long)&((struct stringpool_t *)0)->stringpool_str133, - (int)(long)&((struct stringpool_t *)0)->stringpool_str885, - (int)(long)&((struct stringpool_t *)0)->stringpool_str360, diff --git a/Externals/libiconv-1.14/lib/canonical_syshpux.h b/Externals/libiconv-1.14/lib/canonical_syshpux.h deleted file mode 100644 index 390355b73f5..00000000000 --- a/Externals/libiconv-1.14/lib/canonical_syshpux.h +++ /dev/null @@ -1,110 +0,0 @@ - (int)(long)&((struct stringpool_t *)0)->stringpool_str310, - (int)(long)&((struct stringpool_t *)0)->stringpool_str368, - (int)(long)&((struct stringpool_t *)0)->stringpool_str293, - (int)(long)&((struct stringpool_t *)0)->stringpool_str464, - (int)(long)&((struct stringpool_t *)0)->stringpool_str525, - (int)(long)&((struct stringpool_t *)0)->stringpool_str395, - (int)(long)&((struct stringpool_t *)0)->stringpool_str515, - (int)(long)&((struct stringpool_t *)0)->stringpool_str576, - (int)(long)&((struct stringpool_t *)0)->stringpool_str355, - (int)(long)&((struct stringpool_t *)0)->stringpool_str521, - (int)(long)&((struct stringpool_t *)0)->stringpool_str582, - (int)(long)&((struct stringpool_t *)0)->stringpool_str363, - (int)(long)&((struct stringpool_t *)0)->stringpool_str534, - (int)(long)&((struct stringpool_t *)0)->stringpool_str595, - (int)(long)&((struct stringpool_t *)0)->stringpool_str440, - (int)(long)&((struct stringpool_t *)0)->stringpool_str665, - (int)(long)&((struct stringpool_t *)0)->stringpool_str644, - (int)(long)&((struct stringpool_t *)0)->stringpool_str716, - (int)(long)&((struct stringpool_t *)0)->stringpool_str695, - (int)(long)&((struct stringpool_t *)0)->stringpool_str36, - (int)(long)&((struct stringpool_t *)0)->stringpool_str596, - (int)(long)&((struct stringpool_t *)0)->stringpool_str64, - (int)(long)&((struct stringpool_t *)0)->stringpool_str60, - (int)(long)&((struct stringpool_t *)0)->stringpool_str100, - (int)(long)&((struct stringpool_t *)0)->stringpool_str162, - (int)(long)&((struct stringpool_t *)0)->stringpool_str76, - (int)(long)&((struct stringpool_t *)0)->stringpool_str70, - (int)(long)&((struct stringpool_t *)0)->stringpool_str158, - (int)(long)&((struct stringpool_t *)0)->stringpool_str86, - (int)(long)&((struct stringpool_t *)0)->stringpool_str92, - (int)(long)&((struct stringpool_t *)0)->stringpool_str177, - (int)(long)&((struct stringpool_t *)0)->stringpool_str67, - (int)(long)&((struct stringpool_t *)0)->stringpool_str103, - (int)(long)&((struct stringpool_t *)0)->stringpool_str165, - (int)(long)&((struct stringpool_t *)0)->stringpool_str79, - (int)(long)&((struct stringpool_t *)0)->stringpool_str73, - (int)(long)&((struct stringpool_t *)0)->stringpool_str345, - (int)(long)&((struct stringpool_t *)0)->stringpool_str669, - (int)(long)&((struct stringpool_t *)0)->stringpool_str790, - (int)(long)&((struct stringpool_t *)0)->stringpool_str131, - (int)(long)&((struct stringpool_t *)0)->stringpool_str21, - (int)(long)&((struct stringpool_t *)0)->stringpool_str17, - (int)(long)&((struct stringpool_t *)0)->stringpool_str57, - (int)(long)&((struct stringpool_t *)0)->stringpool_str119, - (int)(long)&((struct stringpool_t *)0)->stringpool_str33, - (int)(long)&((struct stringpool_t *)0)->stringpool_str27, - (int)(long)&((struct stringpool_t *)0)->stringpool_str115, - (int)(long)&((struct stringpool_t *)0)->stringpool_str43, - (int)(long)&((struct stringpool_t *)0)->stringpool_str141, - (int)(long)&((struct stringpool_t *)0)->stringpool_str24, - (int)(long)&((struct stringpool_t *)0)->stringpool_str34, - (int)(long)&((struct stringpool_t *)0)->stringpool_str35, - (int)(long)&((struct stringpool_t *)0)->stringpool_str448, - (int)(long)&((struct stringpool_t *)0)->stringpool_str561, - (int)(long)&((struct stringpool_t *)0)->stringpool_str410, - (int)(long)&((struct stringpool_t *)0)->stringpool_str335, - (int)(long)&((struct stringpool_t *)0)->stringpool_str470, - (int)(long)&((struct stringpool_t *)0)->stringpool_str704, - (int)(long)&((struct stringpool_t *)0)->stringpool_str685, - (int)(long)&((struct stringpool_t *)0)->stringpool_str607, - (int)(long)&((struct stringpool_t *)0)->stringpool_str689, - (int)(long)&((struct stringpool_t *)0)->stringpool_str800, - (int)(long)&((struct stringpool_t *)0)->stringpool_str454, - (int)(long)&((struct stringpool_t *)0)->stringpool_str195, - (int)(long)&((struct stringpool_t *)0)->stringpool_str331, - (int)(long)&((struct stringpool_t *)0)->stringpool_str484, - (int)(long)&((struct stringpool_t *)0)->stringpool_str202, - (int)(long)&((struct stringpool_t *)0)->stringpool_str449, - (int)(long)&((struct stringpool_t *)0)->stringpool_str513, - (int)(long)&((struct stringpool_t *)0)->stringpool_str139, - (int)(long)&((struct stringpool_t *)0)->stringpool_str190, - (int)(long)&((struct stringpool_t *)0)->stringpool_str262, - (int)(long)&((struct stringpool_t *)0)->stringpool_str603, - (int)(long)&((struct stringpool_t *)0)->stringpool_str71, - (int)(long)&((struct stringpool_t *)0)->stringpool_str149, - (int)(long)&((struct stringpool_t *)0)->stringpool_str170, - (int)(long)&((struct stringpool_t *)0)->stringpool_str251, - (int)(long)&((struct stringpool_t *)0)->stringpool_str271, - (int)(long)&((struct stringpool_t *)0)->stringpool_str450, - (int)(long)&((struct stringpool_t *)0)->stringpool_str769, - (int)(long)&((struct stringpool_t *)0)->stringpool_str791, - (int)(long)&((struct stringpool_t *)0)->stringpool_str710, - (int)(long)&((struct stringpool_t *)0)->stringpool_str354, - (int)(long)&((struct stringpool_t *)0)->stringpool_str332, - (int)(long)&((struct stringpool_t *)0)->stringpool_str153, - (int)(long)&((struct stringpool_t *)0)->stringpool_str203, - (int)(long)&((struct stringpool_t *)0)->stringpool_str491, - (int)(long)&((struct stringpool_t *)0)->stringpool_str461, - (int)(long)&((struct stringpool_t *)0)->stringpool_str42, - (int)(long)&((struct stringpool_t *)0)->stringpool_str542, - (int)(long)&((struct stringpool_t *)0)->stringpool_str473, - (int)(long)&((struct stringpool_t *)0)->stringpool_str471, - (int)(long)&((struct stringpool_t *)0)->stringpool_str30, - (int)(long)&((struct stringpool_t *)0)->stringpool_str314, - (int)(long)&((struct stringpool_t *)0)->stringpool_str52, - (int)(long)&((struct stringpool_t *)0)->stringpool_str352, - (int)(long)&((struct stringpool_t *)0)->stringpool_str81, - (int)(long)&((struct stringpool_t *)0)->stringpool_str96, - (int)(long)&((struct stringpool_t *)0)->stringpool_str12, - (int)(long)&((struct stringpool_t *)0)->stringpool_str378, - (int)(long)&((struct stringpool_t *)0)->stringpool_str308, - (int)(long)&((struct stringpool_t *)0)->stringpool_str144, - (int)(long)&((struct stringpool_t *)0)->stringpool_str771, - (int)(long)&((struct stringpool_t *)0)->stringpool_str757, - (int)(long)&((struct stringpool_t *)0)->stringpool_str806, - (int)(long)&((struct stringpool_t *)0)->stringpool_str421, - (int)(long)&((struct stringpool_t *)0)->stringpool_str343, - (int)(long)&((struct stringpool_t *)0)->stringpool_str105, - (int)(long)&((struct stringpool_t *)0)->stringpool_str654, - (int)(long)&((struct stringpool_t *)0)->stringpool_str394, diff --git a/Externals/libiconv-1.14/lib/canonical_sysosf1.h b/Externals/libiconv-1.14/lib/canonical_sysosf1.h deleted file mode 100644 index 659a516aa27..00000000000 --- a/Externals/libiconv-1.14/lib/canonical_sysosf1.h +++ /dev/null @@ -1,110 +0,0 @@ - (int)(long)&((struct stringpool_t *)0)->stringpool_str343, - (int)(long)&((struct stringpool_t *)0)->stringpool_str294, - (int)(long)&((struct stringpool_t *)0)->stringpool_str223, - (int)(long)&((struct stringpool_t *)0)->stringpool_str591, - (int)(long)&((struct stringpool_t *)0)->stringpool_str433, - (int)(long)&((struct stringpool_t *)0)->stringpool_str319, - (int)(long)&((struct stringpool_t *)0)->stringpool_str639, - (int)(long)&((struct stringpool_t *)0)->stringpool_str481, - (int)(long)&((struct stringpool_t *)0)->stringpool_str289, - (int)(long)&((struct stringpool_t *)0)->stringpool_str659, - (int)(long)&((struct stringpool_t *)0)->stringpool_str501, - (int)(long)&((struct stringpool_t *)0)->stringpool_str295, - (int)(long)&((struct stringpool_t *)0)->stringpool_str663, - (int)(long)&((struct stringpool_t *)0)->stringpool_str505, - (int)(long)&((struct stringpool_t *)0)->stringpool_str586, - (int)(long)&((struct stringpool_t *)0)->stringpool_str472, - (int)(long)&((struct stringpool_t *)0)->stringpool_str695, - (int)(long)&((struct stringpool_t *)0)->stringpool_str520, - (int)(long)&((struct stringpool_t *)0)->stringpool_str743, - (int)(long)&((struct stringpool_t *)0)->stringpool_str53, - (int)(long)&((struct stringpool_t *)0)->stringpool_str711, - (int)(long)&((struct stringpool_t *)0)->stringpool_str103, - (int)(long)&((struct stringpool_t *)0)->stringpool_str109, - (int)(long)&((struct stringpool_t *)0)->stringpool_str107, - (int)(long)&((struct stringpool_t *)0)->stringpool_str205, - (int)(long)&((struct stringpool_t *)0)->stringpool_str111, - (int)(long)&((struct stringpool_t *)0)->stringpool_str105, - (int)(long)&((struct stringpool_t *)0)->stringpool_str407, - (int)(long)&((struct stringpool_t *)0)->stringpool_str115, - (int)(long)&((struct stringpool_t *)0)->stringpool_str141, - (int)(long)&((struct stringpool_t *)0)->stringpool_str246, - (int)(long)&((struct stringpool_t *)0)->stringpool_str108, - (int)(long)&((struct stringpool_t *)0)->stringpool_str112, - (int)(long)&((struct stringpool_t *)0)->stringpool_str210, - (int)(long)&((struct stringpool_t *)0)->stringpool_str116, - (int)(long)&((struct stringpool_t *)0)->stringpool_str110, - (int)(long)&((struct stringpool_t *)0)->stringpool_str280, - (int)(long)&((struct stringpool_t *)0)->stringpool_str410, - (int)(long)&((struct stringpool_t *)0)->stringpool_str487, - (int)(long)&((struct stringpool_t *)0)->stringpool_str175, - (int)(long)&((struct stringpool_t *)0)->stringpool_str37, - (int)(long)&((struct stringpool_t *)0)->stringpool_str43, - (int)(long)&((struct stringpool_t *)0)->stringpool_str41, - (int)(long)&((struct stringpool_t *)0)->stringpool_str139, - (int)(long)&((struct stringpool_t *)0)->stringpool_str45, - (int)(long)&((struct stringpool_t *)0)->stringpool_str39, - (int)(long)&((struct stringpool_t *)0)->stringpool_str341, - (int)(long)&((struct stringpool_t *)0)->stringpool_str49, - (int)(long)&((struct stringpool_t *)0)->stringpool_str173, - (int)(long)&((struct stringpool_t *)0)->stringpool_str38, - (int)(long)&((struct stringpool_t *)0)->stringpool_str34, - (int)(long)&((struct stringpool_t *)0)->stringpool_str32, - (int)(long)&((struct stringpool_t *)0)->stringpool_str543, - (int)(long)&((struct stringpool_t *)0)->stringpool_str727, - (int)(long)&((struct stringpool_t *)0)->stringpool_str428, - (int)(long)&((struct stringpool_t *)0)->stringpool_str544, - (int)(long)&((struct stringpool_t *)0)->stringpool_str761, - (int)(long)&((struct stringpool_t *)0)->stringpool_str281, - (int)(long)&((struct stringpool_t *)0)->stringpool_str821, - (int)(long)&((struct stringpool_t *)0)->stringpool_str649, - (int)(long)&((struct stringpool_t *)0)->stringpool_str661, - (int)(long)&((struct stringpool_t *)0)->stringpool_str939, - (int)(long)&((struct stringpool_t *)0)->stringpool_str646, - (int)(long)&((struct stringpool_t *)0)->stringpool_str362, - (int)(long)&((struct stringpool_t *)0)->stringpool_str458, - (int)(long)&((struct stringpool_t *)0)->stringpool_str500, - (int)(long)&((struct stringpool_t *)0)->stringpool_str369, - (int)(long)&((struct stringpool_t *)0)->stringpool_str397, - (int)(long)&((struct stringpool_t *)0)->stringpool_str442, - (int)(long)&((struct stringpool_t *)0)->stringpool_str178, - (int)(long)&((struct stringpool_t *)0)->stringpool_str202, - (int)(long)&((struct stringpool_t *)0)->stringpool_str234, - (int)(long)&((struct stringpool_t *)0)->stringpool_str417, - (int)(long)&((struct stringpool_t *)0)->stringpool_str36, - (int)(long)&((struct stringpool_t *)0)->stringpool_str253, - (int)(long)&((struct stringpool_t *)0)->stringpool_str285, - (int)(long)&((struct stringpool_t *)0)->stringpool_str245, - (int)(long)&((struct stringpool_t *)0)->stringpool_str238, - (int)(long)&((struct stringpool_t *)0)->stringpool_str515, - (int)(long)&((struct stringpool_t *)0)->stringpool_str671, - (int)(long)&((struct stringpool_t *)0)->stringpool_str683, - (int)(long)&((struct stringpool_t *)0)->stringpool_str608, - (int)(long)&((struct stringpool_t *)0)->stringpool_str266, - (int)(long)&((struct stringpool_t *)0)->stringpool_str243, - (int)(long)&((struct stringpool_t *)0)->stringpool_str149, - (int)(long)&((struct stringpool_t *)0)->stringpool_str228, - (int)(long)&((struct stringpool_t *)0)->stringpool_str581, - (int)(long)&((struct stringpool_t *)0)->stringpool_str638, - (int)(long)&((struct stringpool_t *)0)->stringpool_str52, - (int)(long)&((struct stringpool_t *)0)->stringpool_str593, - (int)(long)&((struct stringpool_t *)0)->stringpool_str524, - (int)(long)&((struct stringpool_t *)0)->stringpool_str527, - (int)(long)&((struct stringpool_t *)0)->stringpool_str167, - (int)(long)&((struct stringpool_t *)0)->stringpool_str206, - (int)(long)&((struct stringpool_t *)0)->stringpool_str48, - (int)(long)&((struct stringpool_t *)0)->stringpool_str259, - (int)(long)&((struct stringpool_t *)0)->stringpool_str179, - (int)(long)&((struct stringpool_t *)0)->stringpool_str190, - (int)(long)&((struct stringpool_t *)0)->stringpool_str60, - (int)(long)&((struct stringpool_t *)0)->stringpool_str426, - (int)(long)&((struct stringpool_t *)0)->stringpool_str198, - (int)(long)&((struct stringpool_t *)0)->stringpool_str186, - (int)(long)&((struct stringpool_t *)0)->stringpool_str784, - (int)(long)&((struct stringpool_t *)0)->stringpool_str765, - (int)(long)&((struct stringpool_t *)0)->stringpool_str816, - (int)(long)&((struct stringpool_t *)0)->stringpool_str511, - (int)(long)&((struct stringpool_t *)0)->stringpool_str374, - (int)(long)&((struct stringpool_t *)0)->stringpool_str133, - (int)(long)&((struct stringpool_t *)0)->stringpool_str807, - (int)(long)&((struct stringpool_t *)0)->stringpool_str386, diff --git a/Externals/libiconv-1.14/lib/canonical_syssolaris.h b/Externals/libiconv-1.14/lib/canonical_syssolaris.h deleted file mode 100644 index 72ad33a50e3..00000000000 --- a/Externals/libiconv-1.14/lib/canonical_syssolaris.h +++ /dev/null @@ -1,110 +0,0 @@ - (int)(long)&((struct stringpool_t *)0)->stringpool_str463, - (int)(long)&((struct stringpool_t *)0)->stringpool_str258, - (int)(long)&((struct stringpool_t *)0)->stringpool_str314, - (int)(long)&((struct stringpool_t *)0)->stringpool_str482, - (int)(long)&((struct stringpool_t *)0)->stringpool_str365, - (int)(long)&((struct stringpool_t *)0)->stringpool_str278, - (int)(long)&((struct stringpool_t *)0)->stringpool_str464, - (int)(long)&((struct stringpool_t *)0)->stringpool_str347, - (int)(long)&((struct stringpool_t *)0)->stringpool_str279, - (int)(long)&((struct stringpool_t *)0)->stringpool_str470, - (int)(long)&((struct stringpool_t *)0)->stringpool_str353, - (int)(long)&((struct stringpool_t *)0)->stringpool_str378, - (int)(long)&((struct stringpool_t *)0)->stringpool_str546, - (int)(long)&((struct stringpool_t *)0)->stringpool_str429, - (int)(long)&((struct stringpool_t *)0)->stringpool_str588, - (int)(long)&((struct stringpool_t *)0)->stringpool_str510, - (int)(long)&((struct stringpool_t *)0)->stringpool_str563, - (int)(long)&((struct stringpool_t *)0)->stringpool_str492, - (int)(long)&((struct stringpool_t *)0)->stringpool_str545, - (int)(long)&((struct stringpool_t *)0)->stringpool_str30, - (int)(long)&((struct stringpool_t *)0)->stringpool_str569, - (int)(long)&((struct stringpool_t *)0)->stringpool_str124, - (int)(long)&((struct stringpool_t *)0)->stringpool_str184, - (int)(long)&((struct stringpool_t *)0)->stringpool_str230, - (int)(long)&((struct stringpool_t *)0)->stringpool_str148, - (int)(long)&((struct stringpool_t *)0)->stringpool_str160, - (int)(long)&((struct stringpool_t *)0)->stringpool_str138, - (int)(long)&((struct stringpool_t *)0)->stringpool_str452, - (int)(long)&((struct stringpool_t *)0)->stringpool_str122, - (int)(long)&((struct stringpool_t *)0)->stringpool_str136, - (int)(long)&((struct stringpool_t *)0)->stringpool_str175, - (int)(long)&((struct stringpool_t *)0)->stringpool_str129, - (int)(long)&((struct stringpool_t *)0)->stringpool_str235, - (int)(long)&((struct stringpool_t *)0)->stringpool_str153, - (int)(long)&((struct stringpool_t *)0)->stringpool_str165, - (int)(long)&((struct stringpool_t *)0)->stringpool_str143, - (int)(long)&((struct stringpool_t *)0)->stringpool_str276, - (int)(long)&((struct stringpool_t *)0)->stringpool_str680, - (int)(long)&((struct stringpool_t *)0)->stringpool_str684, - (int)(long)&((struct stringpool_t *)0)->stringpool_str127, - (int)(long)&((struct stringpool_t *)0)->stringpool_str81, - (int)(long)&((struct stringpool_t *)0)->stringpool_str141, - (int)(long)&((struct stringpool_t *)0)->stringpool_str187, - (int)(long)&((struct stringpool_t *)0)->stringpool_str105, - (int)(long)&((struct stringpool_t *)0)->stringpool_str117, - (int)(long)&((struct stringpool_t *)0)->stringpool_str95, - (int)(long)&((struct stringpool_t *)0)->stringpool_str409, - (int)(long)&((struct stringpool_t *)0)->stringpool_str79, - (int)(long)&((struct stringpool_t *)0)->stringpool_str91, - (int)(long)&((struct stringpool_t *)0)->stringpool_str94, - (int)(long)&((struct stringpool_t *)0)->stringpool_str48, - (int)(long)&((struct stringpool_t *)0)->stringpool_str86, - (int)(long)&((struct stringpool_t *)0)->stringpool_str387, - (int)(long)&((struct stringpool_t *)0)->stringpool_str451, - (int)(long)&((struct stringpool_t *)0)->stringpool_str346, - (int)(long)&((struct stringpool_t *)0)->stringpool_str415, - (int)(long)&((struct stringpool_t *)0)->stringpool_str489, - (int)(long)&((struct stringpool_t *)0)->stringpool_str389, - (int)(long)&((struct stringpool_t *)0)->stringpool_str752, - (int)(long)&((struct stringpool_t *)0)->stringpool_str774, - (int)(long)&((struct stringpool_t *)0)->stringpool_str953, - (int)(long)&((struct stringpool_t *)0)->stringpool_str853, - (int)(long)&((struct stringpool_t *)0)->stringpool_str432, - (int)(long)&((struct stringpool_t *)0)->stringpool_str513, - (int)(long)&((struct stringpool_t *)0)->stringpool_str297, - (int)(long)&((struct stringpool_t *)0)->stringpool_str502, - (int)(long)&((struct stringpool_t *)0)->stringpool_str372, - (int)(long)&((struct stringpool_t *)0)->stringpool_str412, - (int)(long)&((struct stringpool_t *)0)->stringpool_str419, - (int)(long)&((struct stringpool_t *)0)->stringpool_str478, - (int)(long)&((struct stringpool_t *)0)->stringpool_str71, - (int)(long)&((struct stringpool_t *)0)->stringpool_str62, - (int)(long)&((struct stringpool_t *)0)->stringpool_str266, - (int)(long)&((struct stringpool_t *)0)->stringpool_str192, - (int)(long)&((struct stringpool_t *)0)->stringpool_str246, - (int)(long)&((struct stringpool_t *)0)->stringpool_str215, - (int)(long)&((struct stringpool_t *)0)->stringpool_str424, - (int)(long)&((struct stringpool_t *)0)->stringpool_str307, - (int)(long)&((struct stringpool_t *)0)->stringpool_str507, - (int)(long)&((struct stringpool_t *)0)->stringpool_str669, - (int)(long)&((struct stringpool_t *)0)->stringpool_str667, - (int)(long)&((struct stringpool_t *)0)->stringpool_str706, - (int)(long)&((struct stringpool_t *)0)->stringpool_str211, - (int)(long)&((struct stringpool_t *)0)->stringpool_str320, - (int)(long)&((struct stringpool_t *)0)->stringpool_str202, - (int)(long)&((struct stringpool_t *)0)->stringpool_str283, - (int)(long)&((struct stringpool_t *)0)->stringpool_str400, - (int)(long)&((struct stringpool_t *)0)->stringpool_str714, - (int)(long)&((struct stringpool_t *)0)->stringpool_str147, - (int)(long)&((struct stringpool_t *)0)->stringpool_str556, - (int)(long)&((struct stringpool_t *)0)->stringpool_str554, - (int)(long)&((struct stringpool_t *)0)->stringpool_str584, - (int)(long)&((struct stringpool_t *)0)->stringpool_str67, - (int)(long)&((struct stringpool_t *)0)->stringpool_str516, - (int)(long)&((struct stringpool_t *)0)->stringpool_str101, - (int)(long)&((struct stringpool_t *)0)->stringpool_str271, - (int)(long)&((struct stringpool_t *)0)->stringpool_str223, - (int)(long)&((struct stringpool_t *)0)->stringpool_str327, - (int)(long)&((struct stringpool_t *)0)->stringpool_str99, - (int)(long)&((struct stringpool_t *)0)->stringpool_str540, - (int)(long)&((struct stringpool_t *)0)->stringpool_str293, - (int)(long)&((struct stringpool_t *)0)->stringpool_str98, - (int)(long)&((struct stringpool_t *)0)->stringpool_str901, - (int)(long)&((struct stringpool_t *)0)->stringpool_str895, - (int)(long)&((struct stringpool_t *)0)->stringpool_str907, - (int)(long)&((struct stringpool_t *)0)->stringpool_str666, - (int)(long)&((struct stringpool_t *)0)->stringpool_str255, - (int)(long)&((struct stringpool_t *)0)->stringpool_str58, - (int)(long)&((struct stringpool_t *)0)->stringpool_str691, - (int)(long)&((struct stringpool_t *)0)->stringpool_str411, diff --git a/Externals/libiconv-1.14/lib/config.h b/Externals/libiconv-1.14/lib/config.h deleted file mode 100644 index 7edf9a1006a..00000000000 --- a/Externals/libiconv-1.14/lib/config.h +++ /dev/null @@ -1,72 +0,0 @@ -/* lib/config.h. Generated from config.h.in by configure. */ -/* Copyright (C) 1999-2003, 2005, 2007, 2010 Free Software Foundation, Inc. - This file is part of the GNU LIBICONV Library. - - The GNU LIBICONV Library is free software; you can redistribute it - and/or modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either version 2 - of the License, or (at your option) any later version. - - The GNU LIBICONV Library is distributed in the hope that it will be - useful, but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with the GNU LIBICONV Library; see the file COPYING.LIB. - If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - Fifth Floor, Boston, MA 02110-1301, USA. */ - - -/* Define to 1 to enable a few rarely used encodings. */ -/* #undef ENABLE_EXTRA */ - -/* Define to 1 if the package shall run at any location in the filesystem. */ -/* #undef ENABLE_RELOCATABLE */ - -/* Define to a type if does not define. */ -/* #undef mbstate_t */ - -/* Define if you have , the iconv_t type, and the - iconv_open, iconv, iconv_close functions. */ -#define HAVE_ICONV 1 -/* Define as const if the declaration of iconv() needs const. */ -#define ICONV_CONST - -/* Define to 1 if you have the getc_unlocked() function. */ -#define HAVE_GETC_UNLOCKED 1 - -/* Define if you have and nl_langinfo(CODESET). */ -#define HAVE_LANGINFO_CODESET 1 - -/* Define if you have the mbrtowc() function. */ -#define HAVE_MBRTOWC 1 - -/* Define to 1 if you have the setlocale() function. */ -#define HAVE_SETLOCALE 1 - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_STDDEF_H */ - -/* Define to 1 if you have the header file. */ -#define HAVE_STDLIB_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STRING_H 1 - -/* Define to 1 or 0, depending whether the compiler supports simple visibility - declarations. */ -#define HAVE_VISIBILITY 1 - -/* Define if you have the wcrtomb() function. */ -#define HAVE_WCRTOMB 1 - -/* Define to 1 if O_NOFOLLOW works. */ -#define HAVE_WORKING_O_NOFOLLOW 1 - -/* Define if the machine's byte ordering is little endian. */ -#define WORDS_LITTLEENDIAN 1 - -/* Define to the value of ${prefix}, as a string. */ -#define INSTALLPREFIX "/usr/local" - diff --git a/Externals/libiconv-1.14/lib/config.h.in b/Externals/libiconv-1.14/lib/config.h.in deleted file mode 100644 index 6db23e12140..00000000000 --- a/Externals/libiconv-1.14/lib/config.h.in +++ /dev/null @@ -1,71 +0,0 @@ -/* Copyright (C) 1999-2003, 2005, 2007, 2010 Free Software Foundation, Inc. - This file is part of the GNU LIBICONV Library. - - The GNU LIBICONV Library is free software; you can redistribute it - and/or modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either version 2 - of the License, or (at your option) any later version. - - The GNU LIBICONV Library is distributed in the hope that it will be - useful, but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with the GNU LIBICONV Library; see the file COPYING.LIB. - If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - Fifth Floor, Boston, MA 02110-1301, USA. */ - - -/* Define to 1 to enable a few rarely used encodings. */ -#undef ENABLE_EXTRA - -/* Define to 1 if the package shall run at any location in the filesystem. */ -#undef ENABLE_RELOCATABLE - -/* Define to a type if does not define. */ -#undef mbstate_t - -/* Define if you have , the iconv_t type, and the - iconv_open, iconv, iconv_close functions. */ -#undef HAVE_ICONV -/* Define as const if the declaration of iconv() needs const. */ -#define ICONV_CONST /* empty by default */ - -/* Define to 1 if you have the getc_unlocked() function. */ -#undef HAVE_GETC_UNLOCKED - -/* Define if you have and nl_langinfo(CODESET). */ -#undef HAVE_LANGINFO_CODESET - -/* Define if you have the mbrtowc() function. */ -#undef HAVE_MBRTOWC - -/* Define to 1 if you have the setlocale() function. */ -#undef HAVE_SETLOCALE - -/* Define to 1 if you have the header file. */ -#undef HAVE_STDDEF_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_STDLIB_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_STRING_H - -/* Define to 1 or 0, depending whether the compiler supports simple visibility - declarations. */ -#undef HAVE_VISIBILITY - -/* Define if you have the wcrtomb() function. */ -#undef HAVE_WCRTOMB - -/* Define to 1 if O_NOFOLLOW works. */ -#undef HAVE_WORKING_O_NOFOLLOW - -/* Define if the machine's byte ordering is little endian. */ -#undef WORDS_LITTLEENDIAN - -/* Define to the value of ${prefix}, as a string. */ -#undef INSTALLPREFIX - diff --git a/Externals/libiconv-1.14/lib/genaliases.c b/Externals/libiconv-1.14/lib/genaliases.c deleted file mode 100644 index b54b97d5fc5..00000000000 --- a/Externals/libiconv-1.14/lib/genaliases.c +++ /dev/null @@ -1,104 +0,0 @@ -/* Copyright (C) 1999-2001, 2003, 2005, 2008 Free Software Foundation, Inc. - This file is part of the GNU LIBICONV Library. - - The GNU LIBICONV Library is free software; you can redistribute it - and/or modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either version 2 - of the License, or (at your option) any later version. - - The GNU LIBICONV Library is distributed in the hope that it will be - useful, but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with the GNU LIBICONV Library; see the file COPYING.LIB. - If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - Fifth Floor, Boston, MA 02110-1301, USA. */ - -/* Creates the aliases.gperf table. */ - -#include -#include - -static void emit_alias (FILE* out1, const char* alias, const char* c_name) -{ - /* Output alias in upper case. */ - const char* s = alias; - for (; *s; s++) { - unsigned char c = * (unsigned char *) s; - if (c >= 0x80) - exit(1); - if (c >= 'a' && c <= 'z') - c -= 'a'-'A'; - putc(c, out1); - } - fprintf(out1,", ei_%s\n", c_name); -} - -static void emit_encoding (FILE* out1, FILE* out2, const char* const* names, size_t n, const char* c_name) -{ - fprintf(out2,"grep 'sizeof(\""); - /* Output *names in upper case. */ - { - const char* s = *names; - for (; *s; s++) { - unsigned char c = * (unsigned char *) s; - if (c >= 0x80) - exit(1); - if (c >= 'a' && c <= 'z') - c -= 'a'-'A'; - putc(c, out2); - } - } - fprintf(out2,"\")' tmp.h | sed -e 's|^.*\\(stringpool_str[0-9]*\\).*$| (int)(long)\\&((struct stringpool_t *)0)->\\1,|'\n"); - for (; n > 0; names++, n--) - emit_alias(out1, *names, c_name); -} - -int main () -{ - FILE* stdout2; - - printf("struct alias { int name; unsigned int encoding_index; };\n"); - printf("%%struct-type\n"); - printf("%%language=ANSI-C\n"); - printf("%%define hash-function-name aliases_hash\n"); - printf("%%define lookup-function-name aliases_lookup\n"); - printf("%%7bit\n"); - printf("%%readonly-tables\n"); - printf("%%global-table\n"); - printf("%%define word-array-name aliases\n"); - printf("%%pic\n"); - printf("%%%%\n"); - -#define DEFENCODING(xxx_names,xxx,xxx_ifuncs1,xxx_ifuncs2,xxx_ofuncs1,xxx_ofuncs2) \ - { \ - static const char* const names[] = BRACIFY xxx_names; \ - emit_encoding(stdout,stdout2,names,sizeof(names)/sizeof(names[0]),#xxx); \ - } -#define BRACIFY(...) { __VA_ARGS__ } -#define DEFALIAS(xxx_alias,xxx) emit_alias(stdout,xxx_alias,#xxx); - - stdout2 = fdopen(3, "w"); - if (stdout2 == NULL) - exit(1); -#include "encodings.def" - if (fclose(stdout2)) - exit(1); - - stdout2 = fdopen(4, "w"); - if (stdout2 == NULL) - exit(1); -#include "encodings_local.def" - if (fclose(stdout2)) - exit(1); - -#undef DEFALIAS -#undef BRACIFY -#undef DEFENCODING - - if (ferror(stdout) || fclose(stdout)) - exit(1); - exit(0); -} diff --git a/Externals/libiconv-1.14/lib/relocatable.c b/Externals/libiconv-1.14/lib/relocatable.c deleted file mode 100644 index f4c5eb2d7a4..00000000000 --- a/Externals/libiconv-1.14/lib/relocatable.c +++ /dev/null @@ -1,483 +0,0 @@ -/* Provide relocatable packages. - Copyright (C) 2003-2006, 2008-2011 Free Software Foundation, Inc. - Written by Bruno Haible , 2003. - - 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, - USA. */ - - -/* Tell glibc's to provide a prototype for getline(). - This must come before because may include - , and once has been included, it's too late. */ -#ifndef _GNU_SOURCE -# define _GNU_SOURCE 1 -#endif - -#define _GL_USE_STDLIB_ALLOC 1 -#include "config.h" - -/* Specification. */ -#include "relocatable.h" - -#if ENABLE_RELOCATABLE - -#include -#include -#include -#include - -#ifdef NO_XMALLOC -# define xmalloc malloc -#else -# include "xalloc.h" -#endif - -#if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ -# define WIN32_LEAN_AND_MEAN -# include -#endif - -#if DEPENDS_ON_LIBCHARSET -# include -#endif -#if DEPENDS_ON_LIBICONV && HAVE_ICONV -# include -#endif -#if DEPENDS_ON_LIBINTL && ENABLE_NLS -# include -#endif - -/* Faked cheap 'bool'. */ -#undef bool -#undef false -#undef true -#define bool int -#define false 0 -#define true 1 - -/* Pathname support. - ISSLASH(C) tests whether C is a directory separator character. - IS_PATH_WITH_DIR(P) tests whether P contains a directory specification. - */ -#if ((defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__) || defined __EMX__ || defined __DJGPP__ - /* Win32, OS/2, DOS */ -# define ISSLASH(C) ((C) == '/' || (C) == '\\') -# define HAS_DEVICE(P) \ - ((((P)[0] >= 'A' && (P)[0] <= 'Z') || ((P)[0] >= 'a' && (P)[0] <= 'z')) \ - && (P)[1] == ':') -# define IS_PATH_WITH_DIR(P) \ - (strchr (P, '/') != NULL || strchr (P, '\\') != NULL || HAS_DEVICE (P)) -# define FILE_SYSTEM_PREFIX_LEN(P) (HAS_DEVICE (P) ? 2 : 0) -#else - /* Unix */ -# define ISSLASH(C) ((C) == '/') -# define IS_PATH_WITH_DIR(P) (strchr (P, '/') != NULL) -# define FILE_SYSTEM_PREFIX_LEN(P) 0 -#endif - -/* Original installation prefix. */ -static char *orig_prefix; -static size_t orig_prefix_len; -/* Current installation prefix. */ -static char *curr_prefix; -static size_t curr_prefix_len; -/* These prefixes do not end in a slash. Anything that will be concatenated - to them must start with a slash. */ - -/* Sets the original and the current installation prefix of this module. - Relocation simply replaces a pathname starting with the original prefix - by the corresponding pathname with the current prefix instead. Both - prefixes should be directory names without trailing slash (i.e. use "" - instead of "/"). */ -static void -set_this_relocation_prefix (const char *orig_prefix_arg, - const char *curr_prefix_arg) -{ - if (orig_prefix_arg != NULL && curr_prefix_arg != NULL - /* Optimization: if orig_prefix and curr_prefix are equal, the - relocation is a nop. */ - && strcmp (orig_prefix_arg, curr_prefix_arg) != 0) - { - /* Duplicate the argument strings. */ - char *memory; - - orig_prefix_len = strlen (orig_prefix_arg); - curr_prefix_len = strlen (curr_prefix_arg); - memory = (char *) xmalloc (orig_prefix_len + 1 + curr_prefix_len + 1); -#ifdef NO_XMALLOC - if (memory != NULL) -#endif - { - memcpy (memory, orig_prefix_arg, orig_prefix_len + 1); - orig_prefix = memory; - memory += orig_prefix_len + 1; - memcpy (memory, curr_prefix_arg, curr_prefix_len + 1); - curr_prefix = memory; - return; - } - } - orig_prefix = NULL; - curr_prefix = NULL; - /* Don't worry about wasted memory here - this function is usually only - called once. */ -} - -/* Sets the original and the current installation prefix of the package. - Relocation simply replaces a pathname starting with the original prefix - by the corresponding pathname with the current prefix instead. Both - prefixes should be directory names without trailing slash (i.e. use "" - instead of "/"). */ -void -set_relocation_prefix (const char *orig_prefix_arg, const char *curr_prefix_arg) -{ - set_this_relocation_prefix (orig_prefix_arg, curr_prefix_arg); - - /* Now notify all dependent libraries. */ -#if DEPENDS_ON_LIBCHARSET - libcharset_set_relocation_prefix (orig_prefix_arg, curr_prefix_arg); -#endif -#if DEPENDS_ON_LIBICONV && HAVE_ICONV && _LIBICONV_VERSION >= 0x0109 - libiconv_set_relocation_prefix (orig_prefix_arg, curr_prefix_arg); -#endif -#if DEPENDS_ON_LIBINTL && ENABLE_NLS && defined libintl_set_relocation_prefix - libintl_set_relocation_prefix (orig_prefix_arg, curr_prefix_arg); -#endif -} - -#if !defined IN_LIBRARY || (defined PIC && defined INSTALLDIR) - -/* Convenience function: - Computes the current installation prefix, based on the original - installation prefix, the original installation directory of a particular - file, and the current pathname of this file. - Returns it, freshly allocated. Returns NULL upon failure. */ -#ifdef IN_LIBRARY -#define compute_curr_prefix local_compute_curr_prefix -static -#endif -char * -compute_curr_prefix (const char *orig_installprefix, - const char *orig_installdir, - const char *curr_pathname) -{ - char *curr_installdir; - const char *rel_installdir; - - if (curr_pathname == NULL) - return NULL; - - /* Determine the relative installation directory, relative to the prefix. - This is simply the difference between orig_installprefix and - orig_installdir. */ - if (strncmp (orig_installprefix, orig_installdir, strlen (orig_installprefix)) - != 0) - /* Shouldn't happen - nothing should be installed outside $(prefix). */ - return NULL; - rel_installdir = orig_installdir + strlen (orig_installprefix); - - /* Determine the current installation directory. */ - { - const char *p_base = curr_pathname + FILE_SYSTEM_PREFIX_LEN (curr_pathname); - const char *p = curr_pathname + strlen (curr_pathname); - char *q; - - while (p > p_base) - { - p--; - if (ISSLASH (*p)) - break; - } - - q = (char *) xmalloc (p - curr_pathname + 1); -#ifdef NO_XMALLOC - if (q == NULL) - return NULL; -#endif - memcpy (q, curr_pathname, p - curr_pathname); - q[p - curr_pathname] = '\0'; - curr_installdir = q; - } - - /* Compute the current installation prefix by removing the trailing - rel_installdir from it. */ - { - const char *rp = rel_installdir + strlen (rel_installdir); - const char *cp = curr_installdir + strlen (curr_installdir); - const char *cp_base = - curr_installdir + FILE_SYSTEM_PREFIX_LEN (curr_installdir); - - while (rp > rel_installdir && cp > cp_base) - { - bool same = false; - const char *rpi = rp; - const char *cpi = cp; - - while (rpi > rel_installdir && cpi > cp_base) - { - rpi--; - cpi--; - if (ISSLASH (*rpi) || ISSLASH (*cpi)) - { - if (ISSLASH (*rpi) && ISSLASH (*cpi)) - same = true; - break; - } - /* Do case-insensitive comparison if the file system is always or - often case-insensitive. It's better to accept the comparison - if the difference is only in case, rather than to fail. */ -#if defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ || defined __EMX__ || defined __DJGPP__ - /* Win32, Cygwin, OS/2, DOS - case insignificant file system */ - if ((*rpi >= 'a' && *rpi <= 'z' ? *rpi - 'a' + 'A' : *rpi) - != (*cpi >= 'a' && *cpi <= 'z' ? *cpi - 'a' + 'A' : *cpi)) - break; -#else - if (*rpi != *cpi) - break; -#endif - } - if (!same) - break; - /* The last pathname component was the same. opi and cpi now point - to the slash before it. */ - rp = rpi; - cp = cpi; - } - - if (rp > rel_installdir) - { - /* Unexpected: The curr_installdir does not end with rel_installdir. */ - free (curr_installdir); - return NULL; - } - - { - size_t curr_prefix_len = cp - curr_installdir; - char *curr_prefix; - - curr_prefix = (char *) xmalloc (curr_prefix_len + 1); -#ifdef NO_XMALLOC - if (curr_prefix == NULL) - { - free (curr_installdir); - return NULL; - } -#endif - memcpy (curr_prefix, curr_installdir, curr_prefix_len); - curr_prefix[curr_prefix_len] = '\0'; - - free (curr_installdir); - - return curr_prefix; - } - } -} - -#endif /* !IN_LIBRARY || PIC */ - -#if defined PIC && defined INSTALLDIR - -/* Full pathname of shared library, or NULL. */ -static char *shared_library_fullname; - -#if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ -/* Native Win32 only. - On Cygwin, it is better to use the Cygwin provided /proc interface, than - to use native Win32 API and cygwin_conv_to_posix_path, because it supports - longer file names - (see ). */ - -/* Determine the full pathname of the shared library when it is loaded. */ - -BOOL WINAPI -DllMain (HINSTANCE module_handle, DWORD event, LPVOID reserved) -{ - (void) reserved; - - if (event == DLL_PROCESS_ATTACH) - { - /* The DLL is being loaded into an application's address range. */ - static char location[MAX_PATH]; - - if (!GetModuleFileName (module_handle, location, sizeof (location))) - /* Shouldn't happen. */ - return FALSE; - - if (!IS_PATH_WITH_DIR (location)) - /* Shouldn't happen. */ - return FALSE; - - shared_library_fullname = strdup (location); - } - - return TRUE; -} - -#else /* Unix */ - -static void -find_shared_library_fullname () -{ -#if (defined __linux__ && (__GLIBC__ >= 2 || defined __UCLIBC__)) || defined __CYGWIN__ - /* Linux has /proc/self/maps. glibc 2 and uClibc have the getline() - function. - Cygwin >= 1.5 has /proc/self/maps and the getline() function too. */ - FILE *fp; - - /* Open the current process' maps file. It describes one VMA per line. */ - fp = fopen ("/proc/self/maps", "r"); - if (fp) - { - unsigned long address = (unsigned long) &find_shared_library_fullname; - for (;;) - { - unsigned long start, end; - int c; - - if (fscanf (fp, "%lx-%lx", &start, &end) != 2) - break; - if (address >= start && address <= end - 1) - { - /* Found it. Now see if this line contains a filename. */ - while (c = getc (fp), c != EOF && c != '\n' && c != '/') - continue; - if (c == '/') - { - size_t size; - int len; - - ungetc (c, fp); - shared_library_fullname = NULL; size = 0; - len = getline (&shared_library_fullname, &size, fp); - if (len >= 0) - { - /* Success: filled shared_library_fullname. */ - if (len > 0 && shared_library_fullname[len - 1] == '\n') - shared_library_fullname[len - 1] = '\0'; - } - } - break; - } - while (c = getc (fp), c != EOF && c != '\n') - continue; - } - fclose (fp); - } -#endif -} - -#endif /* WIN32 / Unix */ - -/* Return the full pathname of the current shared library. - Return NULL if unknown. - Guaranteed to work only on Linux, Cygwin and Woe32. */ -static char * -get_shared_library_fullname () -{ -#if !((defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__) - static bool tried_find_shared_library_fullname; - if (!tried_find_shared_library_fullname) - { - find_shared_library_fullname (); - tried_find_shared_library_fullname = true; - } -#endif - return shared_library_fullname; -} - -#endif /* PIC */ - -/* Returns the pathname, relocated according to the current installation - directory. - The returned string is either PATHNAME unmodified or a freshly allocated - string that you can free with free() after casting it to 'char *'. */ -const char * -relocate (const char *pathname) -{ -#if defined PIC && defined INSTALLDIR - static int initialized; - - /* Initialization code for a shared library. */ - if (!initialized) - { - /* At this point, orig_prefix and curr_prefix likely have already been - set through the main program's set_program_name_and_installdir - function. This is sufficient in the case that the library has - initially been installed in the same orig_prefix. But we can do - better, to also cover the cases that 1. it has been installed - in a different prefix before being moved to orig_prefix and (later) - to curr_prefix, 2. unlike the program, it has not moved away from - orig_prefix. */ - const char *orig_installprefix = INSTALLPREFIX; - const char *orig_installdir = INSTALLDIR; - char *curr_prefix_better; - - curr_prefix_better = - compute_curr_prefix (orig_installprefix, orig_installdir, - get_shared_library_fullname ()); - - set_relocation_prefix (orig_installprefix, - curr_prefix_better != NULL - ? curr_prefix_better - : curr_prefix); - - if (curr_prefix_better != NULL) - free (curr_prefix_better); - - initialized = 1; - } -#endif - - /* Note: It is not necessary to perform case insensitive comparison here, - even for DOS-like file systems, because the pathname argument was - typically created from the same Makefile variable as orig_prefix came - from. */ - if (orig_prefix != NULL && curr_prefix != NULL - && strncmp (pathname, orig_prefix, orig_prefix_len) == 0) - { - if (pathname[orig_prefix_len] == '\0') - { - /* pathname equals orig_prefix. */ - char *result = (char *) xmalloc (strlen (curr_prefix) + 1); - -#ifdef NO_XMALLOC - if (result != NULL) -#endif - { - strcpy (result, curr_prefix); - return result; - } - } - else if (ISSLASH (pathname[orig_prefix_len])) - { - /* pathname starts with orig_prefix. */ - const char *pathname_tail = &pathname[orig_prefix_len]; - char *result = - (char *) xmalloc (curr_prefix_len + strlen (pathname_tail) + 1); - -#ifdef NO_XMALLOC - if (result != NULL) -#endif - { - memcpy (result, curr_prefix, curr_prefix_len); - strcpy (result + curr_prefix_len, pathname_tail); - return result; - } - } - } - /* Nothing to relocate. */ - return pathname; -} - -#endif diff --git a/Externals/libiconv-1.14/lib/relocatable.h b/Externals/libiconv-1.14/lib/relocatable.h deleted file mode 100644 index 68fe83ebd4b..00000000000 --- a/Externals/libiconv-1.14/lib/relocatable.h +++ /dev/null @@ -1,83 +0,0 @@ -/* Provide relocatable packages. - Copyright (C) 2003, 2005, 2008-2011 Free Software Foundation, Inc. - Written by Bruno Haible , 2003. - - 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, - USA. */ - -#ifndef _RELOCATABLE_H -#define _RELOCATABLE_H - -#ifdef __cplusplus -extern "C" { -#endif - - -/* This can be enabled through the configure --enable-relocatable option. */ -#if ENABLE_RELOCATABLE - -/* When building a DLL, we must export some functions. Note that because - this is a private .h file, we don't need to use __declspec(dllimport) - in any case. */ -#if HAVE_VISIBILITY && BUILDING_DLL -# define RELOCATABLE_DLL_EXPORTED __attribute__((__visibility__("default"))) -#elif defined _MSC_VER && BUILDING_DLL -# define RELOCATABLE_DLL_EXPORTED __declspec(dllexport) -#else -# define RELOCATABLE_DLL_EXPORTED -#endif - -/* Sets the original and the current installation prefix of the package. - Relocation simply replaces a pathname starting with the original prefix - by the corresponding pathname with the current prefix instead. Both - prefixes should be directory names without trailing slash (i.e. use "" - instead of "/"). */ -extern RELOCATABLE_DLL_EXPORTED void - set_relocation_prefix (const char *orig_prefix, - const char *curr_prefix); - -/* Returns the pathname, relocated according to the current installation - directory. - The returned string is either PATHNAME unmodified or a freshly allocated - string that you can free with free() after casting it to 'char *'. */ -extern const char * relocate (const char *pathname); - -/* Memory management: relocate() potentially allocates memory, because it has - to construct a fresh pathname. If this is a problem because your program - calls relocate() frequently, think about caching the result. Or free the - return value if it was different from the argument pathname. */ - -/* Convenience function: - Computes the current installation prefix, based on the original - installation prefix, the original installation directory of a particular - file, and the current pathname of this file. - Returns it, freshly allocated. Returns NULL upon failure. */ -extern char * compute_curr_prefix (const char *orig_installprefix, - const char *orig_installdir, - const char *curr_pathname); - -#else - -/* By default, we use the hardwired pathnames. */ -#define relocate(pathname) (pathname) - -#endif - - -#ifdef __cplusplus -} -#endif - -#endif /* _RELOCATABLE_H */ diff --git a/Externals/libiconv-1.14/libcharset/include/export.h b/Externals/libiconv-1.14/libcharset/include/export.h deleted file mode 100644 index 84e74aa39ce..00000000000 --- a/Externals/libiconv-1.14/libcharset/include/export.h +++ /dev/null @@ -1,6 +0,0 @@ - -#if @HAVE_VISIBILITY@ && BUILDING_LIBCHARSET -#define LIBCHARSET_DLL_EXPORTED __attribute__((__visibility__("default"))) -#else -#define LIBCHARSET_DLL_EXPORTED -#endif diff --git a/Externals/libiconv-1.14/libcharset/include/localcharset.h b/Externals/libiconv-1.14/libcharset/include/localcharset.h deleted file mode 100644 index bf2ce21c2b6..00000000000 --- a/Externals/libiconv-1.14/libcharset/include/localcharset.h +++ /dev/null @@ -1,48 +0,0 @@ -/* Determine a canonical name for the current locale's character encoding. - Copyright (C) 2000-2003 Free Software Foundation, Inc. - This file is part of the GNU CHARSET Library. - - 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, - USA. */ - -#ifndef _LOCALCHARSET_H -#define _LOCALCHARSET_H - -#if 1 && BUILDING_LIBCHARSET -#define LIBCHARSET_DLL_EXPORTED __attribute__((__visibility__("default"))) -#else -#define LIBCHARSET_DLL_EXPORTED -#endif - - -#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. */ -extern LIBCHARSET_DLL_EXPORTED const char * locale_charset (void); - - -#ifdef __cplusplus -} -#endif - - -#endif /* _LOCALCHARSET_H */ diff --git a/Externals/libiconv-1.14/libcharset/lib/localcharset.c b/Externals/libiconv-1.14/libcharset/lib/localcharset.c deleted file mode 100644 index 9f27779c07d..00000000000 --- a/Externals/libiconv-1.14/libcharset/lib/localcharset.c +++ /dev/null @@ -1,550 +0,0 @@ -/* Determine a canonical name for the current locale's character encoding. - - Copyright (C) 2000-2006, 2008-2010 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, - USA. */ - -/* Written by Bruno Haible . */ - - -/* Specification. */ -#include "localcharset.h" - -#include -#include -#include -#include -#include - -#if defined __APPLE__ && defined __MACH__ && HAVE_LANGINFO_CODESET -# define DARWIN7 /* Darwin 7 or newer, i.e. MacOS X 10.3 or newer */ -#endif - -#if defined _WIN32 || defined __WIN32__ -# define WIN32_NATIVE -#endif - -#if defined __EMX__ -/* Assume EMX program runs on OS/2, even if compiled under DOS. */ -# ifndef OS2 -# define OS2 -# endif -#endif - -#if !defined WIN32_NATIVE -# include -# if HAVE_LANGINFO_CODESET -# include -# else -# if 0 /* see comment below */ -# include -# endif -# endif -# ifdef __CYGWIN__ -# define WIN32_LEAN_AND_MEAN -# include -# endif -#elif defined WIN32_NATIVE -# define WIN32_LEAN_AND_MEAN -# include -#endif -#if defined OS2 -# define INCL_DOS -# include -#endif - -#if ENABLE_RELOCATABLE -# include "relocatable.h" -#else -# define relocate(pathname) (pathname) -#endif - -/* Get LIBDIR. */ -#ifndef LIBDIR -#define LIBDIR "" -#endif - -/* Define O_NOFOLLOW to 0 on platforms where it does not exist. */ -#ifndef O_NOFOLLOW -# define O_NOFOLLOW 0 -#endif -#ifndef HAVE_WORKING_O_NOFOLLOW -#define HAVE_WORKING_O_NOFOLLOW 0 -#endif - -#if defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ || defined __EMX__ || defined __DJGPP__ - /* Win32, Cygwin, OS/2, DOS */ -# define ISSLASH(C) ((C) == '/' || (C) == '\\') -#endif - -#ifndef DIRECTORY_SEPARATOR -# define DIRECTORY_SEPARATOR '/' -#endif - -#ifndef ISSLASH -# define ISSLASH(C) ((C) == DIRECTORY_SEPARATOR) -#endif - -#if HAVE_DECL_GETC_UNLOCKED -# undef getc -# define getc getc_unlocked -#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. */ -#if __STDC__ != 1 -# define volatile /* empty */ -#endif -/* 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 const char * volatile charset_aliases; - -/* Return a pointer to the contents of the charset.alias file. */ -static const char * -get_charset_aliases (void) -{ - const char *cp; - - cp = charset_aliases; - if (cp == NULL) - { -#if !(defined DARWIN7 || defined VMS || defined WIN32_NATIVE || defined __CYGWIN__) - const char *dir; - const char *base = "charset.alias"; - char *file_name; - - /* Make it possible to override the charset.alias location. This is - necessary for running the testsuite before "make install". */ - dir = getenv ("CHARSETALIASDIR"); - if (dir == NULL || dir[0] == '\0') - dir = relocate (LIBDIR); - - /* 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) - /* Out of memory. Treat the file as empty. */ - cp = ""; - else - { - int fd; - - /* Open the file. Reject symbolic links on platforms that support - O_NOFOLLOW. This is a security feature. Without it, an attacker - could retrieve parts of the contents (namely, the tail of the - first line that starts with "* ") of an arbitrary file by placing - a symbolic link to that file under the name "charset.alias" in - some writable directory and defining the environment variable - CHARSETALIASDIR to point to that directory. */ - fd = open (file_name, - O_RDONLY | (HAVE_WORKING_O_NOFOLLOW ? O_NOFOLLOW : 0)); - if (fd < 0) - /* File not found. Treat it as empty. */ - cp = ""; - else - { - FILE *fp; - - fp = fdopen (fd, "r"); - if (fp == NULL) - { - /* Out of memory. Treat the file as empty. */ - close (fd); - cp = ""; - } - else - { - /* Parse the file's contents. */ - char *res_ptr = NULL; - size_t res_size = 0; - - for (;;) - { - int c; - char buf1[50+1]; - char buf2[50+1]; - size_t l1, l2; - char *old_res_ptr; - - 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); - old_res_ptr = res_ptr; - if (res_size == 0) - { - res_size = l1 + 1 + l2 + 1; - res_ptr = (char *) malloc (res_size + 1); - } - else - { - res_size += l1 + 1 + l2 + 1; - res_ptr = (char *) realloc (res_ptr, res_size + 1); - } - if (res_ptr == NULL) - { - /* Out of memory. */ - res_size = 0; - free (old_res_ptr); - 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; - } - } - } - - free (file_name); - } - -#else - -# if defined DARWIN7 - /* To avoid the trouble of installing a file that is shared by many - GNU packages -- many packaging systems have problems with this --, - simply inline the aliases here. */ - cp = "ISO8859-1" "\0" "ISO-8859-1" "\0" - "ISO8859-2" "\0" "ISO-8859-2" "\0" - "ISO8859-4" "\0" "ISO-8859-4" "\0" - "ISO8859-5" "\0" "ISO-8859-5" "\0" - "ISO8859-7" "\0" "ISO-8859-7" "\0" - "ISO8859-9" "\0" "ISO-8859-9" "\0" - "ISO8859-13" "\0" "ISO-8859-13" "\0" - "ISO8859-15" "\0" "ISO-8859-15" "\0" - "KOI8-R" "\0" "KOI8-R" "\0" - "KOI8-U" "\0" "KOI8-U" "\0" - "CP866" "\0" "CP866" "\0" - "CP949" "\0" "CP949" "\0" - "CP1131" "\0" "CP1131" "\0" - "CP1251" "\0" "CP1251" "\0" - "eucCN" "\0" "GB2312" "\0" - "GB2312" "\0" "GB2312" "\0" - "eucJP" "\0" "EUC-JP" "\0" - "eucKR" "\0" "EUC-KR" "\0" - "Big5" "\0" "BIG5" "\0" - "Big5HKSCS" "\0" "BIG5-HKSCS" "\0" - "GBK" "\0" "GBK" "\0" - "GB18030" "\0" "GB18030" "\0" - "SJIS" "\0" "SHIFT_JIS" "\0" - "ARMSCII-8" "\0" "ARMSCII-8" "\0" - "PT154" "\0" "PT154" "\0" - /*"ISCII-DEV" "\0" "?" "\0"*/ - "*" "\0" "UTF-8" "\0"; -# endif - -# if defined VMS - /* To avoid the troubles of an extra file charset.alias_vms in the - sources of many GNU packages, simply inline the aliases here. */ - /* The list of encodings is taken from the OpenVMS 7.3-1 documentation - "Compaq C Run-Time Library Reference Manual for OpenVMS systems" - section 10.7 "Handling Different Character Sets". */ - cp = "ISO8859-1" "\0" "ISO-8859-1" "\0" - "ISO8859-2" "\0" "ISO-8859-2" "\0" - "ISO8859-5" "\0" "ISO-8859-5" "\0" - "ISO8859-7" "\0" "ISO-8859-7" "\0" - "ISO8859-8" "\0" "ISO-8859-8" "\0" - "ISO8859-9" "\0" "ISO-8859-9" "\0" - /* Japanese */ - "eucJP" "\0" "EUC-JP" "\0" - "SJIS" "\0" "SHIFT_JIS" "\0" - "DECKANJI" "\0" "DEC-KANJI" "\0" - "SDECKANJI" "\0" "EUC-JP" "\0" - /* Chinese */ - "eucTW" "\0" "EUC-TW" "\0" - "DECHANYU" "\0" "DEC-HANYU" "\0" - "DECHANZI" "\0" "GB2312" "\0" - /* Korean */ - "DECKOREAN" "\0" "EUC-KR" "\0"; -# endif - -# if defined WIN32_NATIVE || defined __CYGWIN__ - /* 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" - "CP20127" "\0" "ASCII" "\0" - "CP20866" "\0" "KOI8-R" "\0" - "CP20936" "\0" "GB2312" "\0" - "CP21866" "\0" "KOI8-RU" "\0" - "CP28591" "\0" "ISO-8859-1" "\0" - "CP28592" "\0" "ISO-8859-2" "\0" - "CP28593" "\0" "ISO-8859-3" "\0" - "CP28594" "\0" "ISO-8859-4" "\0" - "CP28595" "\0" "ISO-8859-5" "\0" - "CP28596" "\0" "ISO-8859-6" "\0" - "CP28597" "\0" "ISO-8859-7" "\0" - "CP28598" "\0" "ISO-8859-8" "\0" - "CP28599" "\0" "ISO-8859-9" "\0" - "CP28605" "\0" "ISO-8859-15" "\0" - "CP38598" "\0" "ISO-8859-8" "\0" - "CP51932" "\0" "EUC-JP" "\0" - "CP51936" "\0" "GB2312" "\0" - "CP51949" "\0" "EUC-KR" "\0" - "CP51950" "\0" "EUC-TW" "\0" - "CP54936" "\0" "GB18030" "\0" - "CP65001" "\0" "UTF-8" "\0"; -# endif -#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. */ - -#ifdef STATIC -STATIC -#endif -const char * -locale_charset (void) -{ - const char *codeset; - const char *aliases; - -#if !(defined WIN32_NATIVE || defined OS2) - -# if HAVE_LANGINFO_CODESET - - /* Most systems support nl_langinfo (CODESET) nowadays. */ - codeset = nl_langinfo (CODESET); - -# ifdef __CYGWIN__ - /* Cygwin < 1.7 does not have locales. nl_langinfo (CODESET) always - returns "US-ASCII". Return the suffix of the locale name from the - environment variables (if present) or the codepage as a number. */ - if (codeset != NULL && strcmp (codeset, "US-ASCII") == 0) - { - const char *locale; - static char buf[2 + 10 + 1]; - - locale = getenv ("LC_ALL"); - if (locale == NULL || locale[0] == '\0') - { - locale = getenv ("LC_CTYPE"); - if (locale == NULL || locale[0] == '\0') - locale = getenv ("LANG"); - } - if (locale != NULL && locale[0] != '\0') - { - /* If the locale name contains an encoding after the dot, return - it. */ - const char *dot = strchr (locale, '.'); - - if (dot != NULL) - { - const char *modifier; - - dot++; - /* Look for the possible @... trailer and remove it, if any. */ - modifier = strchr (dot, '@'); - if (modifier == NULL) - return dot; - if (modifier - dot < sizeof (buf)) - { - memcpy (buf, dot, modifier - dot); - buf [modifier - dot] = '\0'; - return buf; - } - } - } - - /* Woe32 has a function returning the locale's codepage as a number: - GetACP(). This encoding is used by Cygwin, unless the user has set - the environment variable CYGWIN=codepage:oem (which very few people - do). - Output directed to console windows needs to be converted (to - GetOEMCP() if the console is using a raster font, or to - GetConsoleOutputCP() if it is using a TrueType font). Cygwin does - this conversion transparently (see winsup/cygwin/fhandler_console.cc), - converting to GetConsoleOutputCP(). This leads to correct results, - except when SetConsoleOutputCP has been called and a raster font is - in use. */ - sprintf (buf, "CP%u", GetACP ()); - codeset = buf; - } -# endif - -# else - - /* On old systems which lack it, use setlocale or getenv. */ - const char *locale = NULL; - - /* But most old systems don't have a complete set of locales. Some - (like SunOS 4 or DJGPP) have only the C locale. Therefore we don't - use setlocale here; it would return "C" when it doesn't support the - locale name the user has set. */ -# if 0 - 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 - -#elif defined WIN32_NATIVE - - static char buf[2 + 10 + 1]; - - /* Woe32 has a function returning the locale's codepage as a number: - GetACP(). - When the output goes to a console window, it needs to be provided in - GetOEMCP() encoding if the console is using a raster font, or in - GetConsoleOutputCP() encoding if it is using a TrueType font. - But in GUI programs and for output sent to files and pipes, GetACP() - encoding is the best bet. */ - sprintf (buf, "CP%u", GetACP ()); - codeset = buf; - -#elif defined OS2 - - const char *locale; - static char buf[2 + 10 + 1]; - ULONG cp[3]; - ULONG cplen; - - /* Allow user to override the codeset, as set in the operating system, - with standard language environment variables. */ - locale = getenv ("LC_ALL"); - if (locale == NULL || locale[0] == '\0') - { - locale = getenv ("LC_CTYPE"); - if (locale == NULL || locale[0] == '\0') - locale = getenv ("LANG"); - } - if (locale != NULL && locale[0] != '\0') - { - /* If the locale name contains an encoding after the dot, return it. */ - const char *dot = strchr (locale, '.'); - - if (dot != NULL) - { - const char *modifier; - - dot++; - /* Look for the possible @... trailer and remove it, if any. */ - modifier = strchr (dot, '@'); - if (modifier == NULL) - return dot; - if (modifier - dot < sizeof (buf)) - { - memcpy (buf, dot, modifier - dot); - buf [modifier - dot] = '\0'; - return buf; - } - } - - /* Resolve through the charset.alias file. */ - codeset = locale; - } - else - { - /* OS/2 has a function returning the locale's codepage as a number. */ - if (DosQueryCp (sizeof (cp), cp, &cplen)) - codeset = ""; - else - { - sprintf (buf, "CP%u", cp[0]); - codeset = buf; - } - } - -#endif - - if (codeset == NULL) - /* The canonical name cannot be determined. */ - codeset = ""; - - /* Resolve alias. */ - for (aliases = get_charset_aliases (); - *aliases != '\0'; - aliases += strlen (aliases) + 1, aliases += strlen (aliases) + 1) - if (strcmp (codeset, aliases) == 0 - || (aliases[0] == '*' && aliases[1] == '\0')) - { - codeset = aliases + strlen (aliases) + 1; - break; - } - - /* Don't return an empty string. GNU libc and GNU libiconv interpret - the empty string as denoting "the locale's character encoding", - thus GNU libiconv would call this function a second time. */ - if (codeset[0] == '\0') - codeset = "ASCII"; - - return codeset; -} diff --git a/Externals/libiconv-1.14/libcharset/lib/relocatable.c b/Externals/libiconv-1.14/libcharset/lib/relocatable.c deleted file mode 100644 index a7bbd99dca7..00000000000 --- a/Externals/libiconv-1.14/libcharset/lib/relocatable.c +++ /dev/null @@ -1,483 +0,0 @@ -/* Provide relocatable packages. - Copyright (C) 2003-2006, 2008-2011 Free Software Foundation, Inc. - Written by Bruno Haible , 2003. - - 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, - USA. */ - - -/* Tell glibc's to provide a prototype for getline(). - This must come before because may include - , and once has been included, it's too late. */ -#ifndef _GNU_SOURCE -# define _GNU_SOURCE 1 -#endif - -#define _GL_USE_STDLIB_ALLOC 1 -#include - -/* Specification. */ -#include "relocatable.h" - -#if ENABLE_RELOCATABLE - -#include -#include -#include -#include - -#ifdef NO_XMALLOC -# define xmalloc malloc -#else -# include "xalloc.h" -#endif - -#if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ -# define WIN32_LEAN_AND_MEAN -# include -#endif - -#if DEPENDS_ON_LIBCHARSET -# include -#endif -#if DEPENDS_ON_LIBICONV && HAVE_ICONV -# include -#endif -#if DEPENDS_ON_LIBINTL && ENABLE_NLS -# include -#endif - -/* Faked cheap 'bool'. */ -#undef bool -#undef false -#undef true -#define bool int -#define false 0 -#define true 1 - -/* Pathname support. - ISSLASH(C) tests whether C is a directory separator character. - IS_PATH_WITH_DIR(P) tests whether P contains a directory specification. - */ -#if ((defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__) || defined __EMX__ || defined __DJGPP__ - /* Win32, OS/2, DOS */ -# define ISSLASH(C) ((C) == '/' || (C) == '\\') -# define HAS_DEVICE(P) \ - ((((P)[0] >= 'A' && (P)[0] <= 'Z') || ((P)[0] >= 'a' && (P)[0] <= 'z')) \ - && (P)[1] == ':') -# define IS_PATH_WITH_DIR(P) \ - (strchr (P, '/') != NULL || strchr (P, '\\') != NULL || HAS_DEVICE (P)) -# define FILE_SYSTEM_PREFIX_LEN(P) (HAS_DEVICE (P) ? 2 : 0) -#else - /* Unix */ -# define ISSLASH(C) ((C) == '/') -# define IS_PATH_WITH_DIR(P) (strchr (P, '/') != NULL) -# define FILE_SYSTEM_PREFIX_LEN(P) 0 -#endif - -/* Original installation prefix. */ -static char *orig_prefix; -static size_t orig_prefix_len; -/* Current installation prefix. */ -static char *curr_prefix; -static size_t curr_prefix_len; -/* These prefixes do not end in a slash. Anything that will be concatenated - to them must start with a slash. */ - -/* Sets the original and the current installation prefix of this module. - Relocation simply replaces a pathname starting with the original prefix - by the corresponding pathname with the current prefix instead. Both - prefixes should be directory names without trailing slash (i.e. use "" - instead of "/"). */ -static void -set_this_relocation_prefix (const char *orig_prefix_arg, - const char *curr_prefix_arg) -{ - if (orig_prefix_arg != NULL && curr_prefix_arg != NULL - /* Optimization: if orig_prefix and curr_prefix are equal, the - relocation is a nop. */ - && strcmp (orig_prefix_arg, curr_prefix_arg) != 0) - { - /* Duplicate the argument strings. */ - char *memory; - - orig_prefix_len = strlen (orig_prefix_arg); - curr_prefix_len = strlen (curr_prefix_arg); - memory = (char *) xmalloc (orig_prefix_len + 1 + curr_prefix_len + 1); -#ifdef NO_XMALLOC - if (memory != NULL) -#endif - { - memcpy (memory, orig_prefix_arg, orig_prefix_len + 1); - orig_prefix = memory; - memory += orig_prefix_len + 1; - memcpy (memory, curr_prefix_arg, curr_prefix_len + 1); - curr_prefix = memory; - return; - } - } - orig_prefix = NULL; - curr_prefix = NULL; - /* Don't worry about wasted memory here - this function is usually only - called once. */ -} - -/* Sets the original and the current installation prefix of the package. - Relocation simply replaces a pathname starting with the original prefix - by the corresponding pathname with the current prefix instead. Both - prefixes should be directory names without trailing slash (i.e. use "" - instead of "/"). */ -void -set_relocation_prefix (const char *orig_prefix_arg, const char *curr_prefix_arg) -{ - set_this_relocation_prefix (orig_prefix_arg, curr_prefix_arg); - - /* Now notify all dependent libraries. */ -#if DEPENDS_ON_LIBCHARSET - libcharset_set_relocation_prefix (orig_prefix_arg, curr_prefix_arg); -#endif -#if DEPENDS_ON_LIBICONV && HAVE_ICONV && _LIBICONV_VERSION >= 0x0109 - libiconv_set_relocation_prefix (orig_prefix_arg, curr_prefix_arg); -#endif -#if DEPENDS_ON_LIBINTL && ENABLE_NLS && defined libintl_set_relocation_prefix - libintl_set_relocation_prefix (orig_prefix_arg, curr_prefix_arg); -#endif -} - -#if !defined IN_LIBRARY || (defined PIC && defined INSTALLDIR) - -/* Convenience function: - Computes the current installation prefix, based on the original - installation prefix, the original installation directory of a particular - file, and the current pathname of this file. - Returns it, freshly allocated. Returns NULL upon failure. */ -#ifdef IN_LIBRARY -#define compute_curr_prefix local_compute_curr_prefix -static -#endif -char * -compute_curr_prefix (const char *orig_installprefix, - const char *orig_installdir, - const char *curr_pathname) -{ - char *curr_installdir; - const char *rel_installdir; - - if (curr_pathname == NULL) - return NULL; - - /* Determine the relative installation directory, relative to the prefix. - This is simply the difference between orig_installprefix and - orig_installdir. */ - if (strncmp (orig_installprefix, orig_installdir, strlen (orig_installprefix)) - != 0) - /* Shouldn't happen - nothing should be installed outside $(prefix). */ - return NULL; - rel_installdir = orig_installdir + strlen (orig_installprefix); - - /* Determine the current installation directory. */ - { - const char *p_base = curr_pathname + FILE_SYSTEM_PREFIX_LEN (curr_pathname); - const char *p = curr_pathname + strlen (curr_pathname); - char *q; - - while (p > p_base) - { - p--; - if (ISSLASH (*p)) - break; - } - - q = (char *) xmalloc (p - curr_pathname + 1); -#ifdef NO_XMALLOC - if (q == NULL) - return NULL; -#endif - memcpy (q, curr_pathname, p - curr_pathname); - q[p - curr_pathname] = '\0'; - curr_installdir = q; - } - - /* Compute the current installation prefix by removing the trailing - rel_installdir from it. */ - { - const char *rp = rel_installdir + strlen (rel_installdir); - const char *cp = curr_installdir + strlen (curr_installdir); - const char *cp_base = - curr_installdir + FILE_SYSTEM_PREFIX_LEN (curr_installdir); - - while (rp > rel_installdir && cp > cp_base) - { - bool same = false; - const char *rpi = rp; - const char *cpi = cp; - - while (rpi > rel_installdir && cpi > cp_base) - { - rpi--; - cpi--; - if (ISSLASH (*rpi) || ISSLASH (*cpi)) - { - if (ISSLASH (*rpi) && ISSLASH (*cpi)) - same = true; - break; - } - /* Do case-insensitive comparison if the file system is always or - often case-insensitive. It's better to accept the comparison - if the difference is only in case, rather than to fail. */ -#if defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ || defined __EMX__ || defined __DJGPP__ - /* Win32, Cygwin, OS/2, DOS - case insignificant file system */ - if ((*rpi >= 'a' && *rpi <= 'z' ? *rpi - 'a' + 'A' : *rpi) - != (*cpi >= 'a' && *cpi <= 'z' ? *cpi - 'a' + 'A' : *cpi)) - break; -#else - if (*rpi != *cpi) - break; -#endif - } - if (!same) - break; - /* The last pathname component was the same. opi and cpi now point - to the slash before it. */ - rp = rpi; - cp = cpi; - } - - if (rp > rel_installdir) - { - /* Unexpected: The curr_installdir does not end with rel_installdir. */ - free (curr_installdir); - return NULL; - } - - { - size_t curr_prefix_len = cp - curr_installdir; - char *curr_prefix; - - curr_prefix = (char *) xmalloc (curr_prefix_len + 1); -#ifdef NO_XMALLOC - if (curr_prefix == NULL) - { - free (curr_installdir); - return NULL; - } -#endif - memcpy (curr_prefix, curr_installdir, curr_prefix_len); - curr_prefix[curr_prefix_len] = '\0'; - - free (curr_installdir); - - return curr_prefix; - } - } -} - -#endif /* !IN_LIBRARY || PIC */ - -#if defined PIC && defined INSTALLDIR - -/* Full pathname of shared library, or NULL. */ -static char *shared_library_fullname; - -#if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ -/* Native Win32 only. - On Cygwin, it is better to use the Cygwin provided /proc interface, than - to use native Win32 API and cygwin_conv_to_posix_path, because it supports - longer file names - (see ). */ - -/* Determine the full pathname of the shared library when it is loaded. */ - -BOOL WINAPI -DllMain (HINSTANCE module_handle, DWORD event, LPVOID reserved) -{ - (void) reserved; - - if (event == DLL_PROCESS_ATTACH) - { - /* The DLL is being loaded into an application's address range. */ - static char location[MAX_PATH]; - - if (!GetModuleFileName (module_handle, location, sizeof (location))) - /* Shouldn't happen. */ - return FALSE; - - if (!IS_PATH_WITH_DIR (location)) - /* Shouldn't happen. */ - return FALSE; - - shared_library_fullname = strdup (location); - } - - return TRUE; -} - -#else /* Unix */ - -static void -find_shared_library_fullname () -{ -#if (defined __linux__ && (__GLIBC__ >= 2 || defined __UCLIBC__)) || defined __CYGWIN__ - /* Linux has /proc/self/maps. glibc 2 and uClibc have the getline() - function. - Cygwin >= 1.5 has /proc/self/maps and the getline() function too. */ - FILE *fp; - - /* Open the current process' maps file. It describes one VMA per line. */ - fp = fopen ("/proc/self/maps", "r"); - if (fp) - { - unsigned long address = (unsigned long) &find_shared_library_fullname; - for (;;) - { - unsigned long start, end; - int c; - - if (fscanf (fp, "%lx-%lx", &start, &end) != 2) - break; - if (address >= start && address <= end - 1) - { - /* Found it. Now see if this line contains a filename. */ - while (c = getc (fp), c != EOF && c != '\n' && c != '/') - continue; - if (c == '/') - { - size_t size; - int len; - - ungetc (c, fp); - shared_library_fullname = NULL; size = 0; - len = getline (&shared_library_fullname, &size, fp); - if (len >= 0) - { - /* Success: filled shared_library_fullname. */ - if (len > 0 && shared_library_fullname[len - 1] == '\n') - shared_library_fullname[len - 1] = '\0'; - } - } - break; - } - while (c = getc (fp), c != EOF && c != '\n') - continue; - } - fclose (fp); - } -#endif -} - -#endif /* WIN32 / Unix */ - -/* Return the full pathname of the current shared library. - Return NULL if unknown. - Guaranteed to work only on Linux, Cygwin and Woe32. */ -static char * -get_shared_library_fullname () -{ -#if !((defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__) - static bool tried_find_shared_library_fullname; - if (!tried_find_shared_library_fullname) - { - find_shared_library_fullname (); - tried_find_shared_library_fullname = true; - } -#endif - return shared_library_fullname; -} - -#endif /* PIC */ - -/* Returns the pathname, relocated according to the current installation - directory. - The returned string is either PATHNAME unmodified or a freshly allocated - string that you can free with free() after casting it to 'char *'. */ -const char * -relocate (const char *pathname) -{ -#if defined PIC && defined INSTALLDIR - static int initialized; - - /* Initialization code for a shared library. */ - if (!initialized) - { - /* At this point, orig_prefix and curr_prefix likely have already been - set through the main program's set_program_name_and_installdir - function. This is sufficient in the case that the library has - initially been installed in the same orig_prefix. But we can do - better, to also cover the cases that 1. it has been installed - in a different prefix before being moved to orig_prefix and (later) - to curr_prefix, 2. unlike the program, it has not moved away from - orig_prefix. */ - const char *orig_installprefix = INSTALLPREFIX; - const char *orig_installdir = INSTALLDIR; - char *curr_prefix_better; - - curr_prefix_better = - compute_curr_prefix (orig_installprefix, orig_installdir, - get_shared_library_fullname ()); - - set_relocation_prefix (orig_installprefix, - curr_prefix_better != NULL - ? curr_prefix_better - : curr_prefix); - - if (curr_prefix_better != NULL) - free (curr_prefix_better); - - initialized = 1; - } -#endif - - /* Note: It is not necessary to perform case insensitive comparison here, - even for DOS-like file systems, because the pathname argument was - typically created from the same Makefile variable as orig_prefix came - from. */ - if (orig_prefix != NULL && curr_prefix != NULL - && strncmp (pathname, orig_prefix, orig_prefix_len) == 0) - { - if (pathname[orig_prefix_len] == '\0') - { - /* pathname equals orig_prefix. */ - char *result = (char *) xmalloc (strlen (curr_prefix) + 1); - -#ifdef NO_XMALLOC - if (result != NULL) -#endif - { - strcpy (result, curr_prefix); - return result; - } - } - else if (ISSLASH (pathname[orig_prefix_len])) - { - /* pathname starts with orig_prefix. */ - const char *pathname_tail = &pathname[orig_prefix_len]; - char *result = - (char *) xmalloc (curr_prefix_len + strlen (pathname_tail) + 1); - -#ifdef NO_XMALLOC - if (result != NULL) -#endif - { - memcpy (result, curr_prefix, curr_prefix_len); - strcpy (result + curr_prefix_len, pathname_tail); - return result; - } - } - } - /* Nothing to relocate. */ - return pathname; -} - -#endif diff --git a/Externals/libiconv-1.14/libcharset/lib/relocatable.h b/Externals/libiconv-1.14/libcharset/lib/relocatable.h deleted file mode 100644 index 68fe83ebd4b..00000000000 --- a/Externals/libiconv-1.14/libcharset/lib/relocatable.h +++ /dev/null @@ -1,83 +0,0 @@ -/* Provide relocatable packages. - Copyright (C) 2003, 2005, 2008-2011 Free Software Foundation, Inc. - Written by Bruno Haible , 2003. - - 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, - USA. */ - -#ifndef _RELOCATABLE_H -#define _RELOCATABLE_H - -#ifdef __cplusplus -extern "C" { -#endif - - -/* This can be enabled through the configure --enable-relocatable option. */ -#if ENABLE_RELOCATABLE - -/* When building a DLL, we must export some functions. Note that because - this is a private .h file, we don't need to use __declspec(dllimport) - in any case. */ -#if HAVE_VISIBILITY && BUILDING_DLL -# define RELOCATABLE_DLL_EXPORTED __attribute__((__visibility__("default"))) -#elif defined _MSC_VER && BUILDING_DLL -# define RELOCATABLE_DLL_EXPORTED __declspec(dllexport) -#else -# define RELOCATABLE_DLL_EXPORTED -#endif - -/* Sets the original and the current installation prefix of the package. - Relocation simply replaces a pathname starting with the original prefix - by the corresponding pathname with the current prefix instead. Both - prefixes should be directory names without trailing slash (i.e. use "" - instead of "/"). */ -extern RELOCATABLE_DLL_EXPORTED void - set_relocation_prefix (const char *orig_prefix, - const char *curr_prefix); - -/* Returns the pathname, relocated according to the current installation - directory. - The returned string is either PATHNAME unmodified or a freshly allocated - string that you can free with free() after casting it to 'char *'. */ -extern const char * relocate (const char *pathname); - -/* Memory management: relocate() potentially allocates memory, because it has - to construct a fresh pathname. If this is a problem because your program - calls relocate() frequently, think about caching the result. Or free the - return value if it was different from the argument pathname. */ - -/* Convenience function: - Computes the current installation prefix, based on the original - installation prefix, the original installation directory of a particular - file, and the current pathname of this file. - Returns it, freshly allocated. Returns NULL upon failure. */ -extern char * compute_curr_prefix (const char *orig_installprefix, - const char *orig_installdir, - const char *curr_pathname); - -#else - -/* By default, we use the hardwired pathnames. */ -#define relocate(pathname) (pathname) - -#endif - - -#ifdef __cplusplus -} -#endif - -#endif /* _RELOCATABLE_H */ diff --git a/Externals/libiconv-1.14/src/Makefile b/Externals/libiconv-1.14/src/Makefile deleted file mode 100644 index 8877b22b4fd..00000000000 --- a/Externals/libiconv-1.14/src/Makefile +++ /dev/null @@ -1,148 +0,0 @@ -# Makefile for libiconv/src - -#### Start of system configuration section. #### - -# Directories used by "make": -srcdir = . -top_srcdir = .. - -# Directories used by "make install": -prefix = /usr/local -local_prefix = /usr/local -exec_prefix = ${prefix} -bindir = ${exec_prefix}/bin -libdir = ${exec_prefix}/lib -datarootdir = ${prefix}/share -datadir = ${datarootdir} -localedir = ${datarootdir}/locale - -# Programs used by "make": -CC = gcc -CFLAGS = -g -O2 -CPPFLAGS = -LDFLAGS = -INCLUDES = -I. -I$(srcdir) -I.. -I../include -I$(srcdir)/../include -I../srclib -I$(srcdir)/../srclib -LIBTOOL = /bin/bash $(top_builddir)/libtool -LIBTOOL_COMPILE = $(LIBTOOL) --mode=compile -LIBTOOL_LINK = $(LIBTOOL) --mode=link -LIBTOOL_INSTALL = $(LIBTOOL) --mode=install -LIBTOOL_UNINSTALL = $(LIBTOOL) --mode=uninstall -WINDRES = -RM = rm -f - - -# Programs used by "make install": -INSTALL = /usr/bin/install -c -INSTALL_PROGRAM = ${INSTALL} -INSTALL_DATA = ${INSTALL} -m 644 -mkinstalldirs = $(SHELL) ../build-aux/mkinstalldirs - -# Programs used by "make install-strip": -STRIP = /usr/bin/strip -INSTALL_STRIP_PROGRAM = $(install_sh) -c -s -install_sh = ${SHELL} /home/sonicadvance1/dolphin-emu/Externals/libiconv-1.14/build-aux/install-sh - -#### End of system configuration section. #### - -SHELL = /bin/sh - -PACKAGE_VERSION = 1.14 - -# Needed by $(LIBTOOL). -top_builddir = .. - -# Needed by SET_RELOCATABLE. -EXEEXT = - -# Needed by RELOCATABLE_LDFLAGS. -host = x86_64-unknown-linux-gnu - -OBJECTS_RES_yes = iconv.res -OBJECTS_RES_no = - -# We cannot link with libintl until libiconv is installed. (When we call -# libtool with arguments "../lib/libiconv.la -lintl", libtool will call ld -# with "../lib/.libs/libiconv.so $libdir/libintl.so $libdir/libiconv.so", -# (remember that $libdir/libintl.la lists $libdir/libiconv.so as a dependency), -# and this gives a fatal linker error on Solaris because the two libiconv.so -# files are different but have the same soname. -# So we can link the iconv executable only after we have installed libiconv, -# i.e. during "make install". The intermediate 'iconv' executable is built -# without internationalization and not linked with libintl. - -all : iconv_no_i18n$(EXEEXT) iconv.o $(OBJECTS_RES_no) - test `ls -ld . | sed -e 's/^d\(.........\).*/\1/'` = rwxrwxrwx || chmod 777 . - -# This is the temporary iconv executable, without internationalization. -iconv_no_i18n$(EXEEXT) : iconv_no_i18n.o ../lib/libiconv.la $(OBJECTS_RES_no) - $(LIBTOOL_LINK) $(CC) $(LDFLAGS) $(CFLAGS) iconv_no_i18n.o ../srclib/libicrt.a ../lib/libiconv.la $(OBJECTS_RES_no) -o $@ - -iconv_no_i18n.o : $(srcdir)/iconv_no_i18n.c $(srcdir)/iconv.c - $(CC) -c $(INCLUDES) -I../lib $(CFLAGS) $(CPPFLAGS) -DINSTALLDIR=\"$(bindir)\" -DLOCALEDIR=\"$(localedir)\" $(srcdir)/iconv_no_i18n.c - -iconv.o : $(srcdir)/iconv.c - $(CC) -c $(INCLUDES) -I../lib $(CFLAGS) $(CPPFLAGS) -DINSTALLDIR=\"$(bindir)\" -DLOCALEDIR=\"$(localedir)\" $(srcdir)/iconv.c - -iconv.res : $(srcdir)/../windows/iconv.rc - $(WINDRES) `$(SHELL) $(srcdir)/../windows/windres-options --escape $(PACKAGE_VERSION)` -i $(srcdir)/../windows/iconv.rc -o iconv.res --output-format=coff - -# The following rule is necessary to avoid a toplevel "make -n check" failure. -../lib/libiconv.la : - cd ../lib && $(MAKE) libiconv.la - -# Support for relocatability. -RELOCATABLE_LIBRARY_PATH = $(libdir) -RELOCATABLE_SRC_DIR = $(top_srcdir)/srclib -RELOCATABLE_BUILD_DIR = ../srclib -RELOCATABLE_CONFIG_H_DIR = .. -RELOCATABLE_LDFLAGS = -RELOCATABLE_STRIP = : -INSTALL_PROGRAM_ENV = -iconv_LDFLAGS = `if test -n '$(RELOCATABLE_LDFLAGS)'; then $(RELOCATABLE_LDFLAGS) $(bindir); fi` - -# During "make install", we can build the final iconv executable. -# On HP-UX, in order to ensure that the new libiconv.sl will override the old -# one that is hardcoded in libintl.sl, we need to mention libiconv.sl before -# libintl.sl on the link command line. We have to bypass libtool in order to -# achieve this. -# On Solaris, the linker gives an error if we are using libintl.so and it -# refers to a libiconv.so in $prefix/lib since then it sees two libiconv.so's, -# one in $prefix/lib and one in ../lib/.libs. So we have to avoid using -# ../lib/libiconv.la entirely. -install : all force - if [ ! -d $(DESTDIR)$(bindir) ] ; then $(mkinstalldirs) $(DESTDIR)$(bindir) ; fi - case "linux-gnu" in \ - hpux*) $(CC) $(LDFLAGS) $(CFLAGS) $(iconv_LDFLAGS) iconv.o ../srclib/libicrt.a -L$(DESTDIR)$(libdir) -liconv $(OBJECTS_RES_no) `if test -n '$(DESTDIR)'; then echo " -Wl,+b -Wl,$(libdir)"; fi` -o iconv$(EXEEXT);; \ - *) $(LIBTOOL_LINK) $(CC) $(LDFLAGS) $(CFLAGS) $(iconv_LDFLAGS) iconv.o ../srclib/libicrt.a $(DESTDIR)$(libdir)/libiconv.la $(OBJECTS_RES_no) -o iconv$(EXEEXT);; \ - esac - $(INSTALL_PROGRAM_ENV) $(LIBTOOL_INSTALL) $(INSTALL_PROGRAM) iconv$(EXEEXT) $(DESTDIR)$(bindir)/iconv$(EXEEXT) - -install-strip : force - case '$(INSTALL_PROGRAM)' in \ - */install-reloc) \ - $(MAKE) install prefix='$(prefix)' exec_prefix='$(exec_prefix)' libdir='$(libdir)' RELOCATABLE_STRIP='$(STRIP)' ;; \ - *) \ - $(MAKE) install prefix='$(prefix)' exec_prefix='$(exec_prefix)' libdir='$(libdir)' INSTALL_PROGRAM='$(INSTALL_STRIP_PROGRAM)' ;; \ - esac - -installdirs : force - if [ ! -d $(DESTDIR)$(bindir) ] ; then $(mkinstalldirs) $(DESTDIR)$(bindir) ; fi - -uninstall : force - $(LIBTOOL_UNINSTALL) $(RM) $(DESTDIR)$(bindir)/iconv$(EXEEXT) - -check : all - -mostlyclean : clean - -clean : force - $(RM) *.o *.lo iconv.res iconv_no_i18n iconv_no_i18n$(EXEEXT) iconv$(EXEEXT) core *.stackdump - $(RM) -r .libs _libs - -distclean : clean - $(RM) Makefile - -maintainer-clean : distclean - -force : - diff --git a/Externals/libiconv-1.14/src/Makefile.in b/Externals/libiconv-1.14/src/Makefile.in deleted file mode 100644 index bea1e2cba3f..00000000000 --- a/Externals/libiconv-1.14/src/Makefile.in +++ /dev/null @@ -1,148 +0,0 @@ -# Makefile for libiconv/src - -#### Start of system configuration section. #### - -# Directories used by "make": -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ - -# Directories used by "make install": -prefix = @prefix@ -local_prefix = /usr/local -exec_prefix = @exec_prefix@ -bindir = @bindir@ -libdir = @libdir@ -datarootdir = @datarootdir@ -datadir = @datadir@ -localedir = @localedir@ - -# Programs used by "make": -CC = @CC@ -CFLAGS = @CFLAGS@ -CPPFLAGS = @CPPFLAGS@ -LDFLAGS = @LDFLAGS@ -INCLUDES = -I. -I$(srcdir) -I.. -I../include -I$(srcdir)/../include -I../srclib -I$(srcdir)/../srclib -LIBTOOL = @LIBTOOL@ -LIBTOOL_COMPILE = $(LIBTOOL) --mode=compile -LIBTOOL_LINK = $(LIBTOOL) --mode=link -LIBTOOL_INSTALL = $(LIBTOOL) --mode=install -LIBTOOL_UNINSTALL = $(LIBTOOL) --mode=uninstall -WINDRES = @WINDRES@ -RM = rm -f -@SET_MAKE@ - -# Programs used by "make install": -INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_DATA = @INSTALL_DATA@ -mkinstalldirs = $(SHELL) @top_srcdir@/build-aux/mkinstalldirs - -# Programs used by "make install-strip": -STRIP = @STRIP@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -install_sh = @install_sh@ - -#### End of system configuration section. #### - -SHELL = /bin/sh - -PACKAGE_VERSION = @VERSION@ - -# Needed by $(LIBTOOL). -top_builddir = .. - -# Needed by SET_RELOCATABLE. -EXEEXT = @EXEEXT@ - -# Needed by RELOCATABLE_LDFLAGS. -host = @host@ - -OBJECTS_RES_yes = iconv.res -OBJECTS_RES_no = - -# We cannot link with libintl until libiconv is installed. (When we call -# libtool with arguments "../lib/libiconv.la -lintl", libtool will call ld -# with "../lib/.libs/libiconv.so $libdir/libintl.so $libdir/libiconv.so", -# (remember that $libdir/libintl.la lists $libdir/libiconv.so as a dependency), -# and this gives a fatal linker error on Solaris because the two libiconv.so -# files are different but have the same soname. -# So we can link the iconv executable only after we have installed libiconv, -# i.e. during "make install". The intermediate 'iconv' executable is built -# without internationalization and not linked with libintl. - -all : iconv_no_i18n$(EXEEXT) iconv.@OBJEXT@ $(OBJECTS_RES_@WOE32@) - test `ls -ld . | sed -e 's/^d\(.........\).*/\1/'` = rwxrwxrwx || chmod 777 . - -# This is the temporary iconv executable, without internationalization. -iconv_no_i18n$(EXEEXT) : iconv_no_i18n.@OBJEXT@ ../lib/libiconv.la $(OBJECTS_RES_@WOE32@) - $(LIBTOOL_LINK) $(CC) $(LDFLAGS) $(CFLAGS) iconv_no_i18n.@OBJEXT@ ../srclib/libicrt.a ../lib/libiconv.la $(OBJECTS_RES_@WOE32@) -o $@ - -iconv_no_i18n.@OBJEXT@ : $(srcdir)/iconv_no_i18n.c $(srcdir)/iconv.c - $(CC) -c $(INCLUDES) -I../lib $(CFLAGS) $(CPPFLAGS) -DINSTALLDIR=\"$(bindir)\" -DLOCALEDIR=\"$(localedir)\" $(srcdir)/iconv_no_i18n.c - -iconv.@OBJEXT@ : $(srcdir)/iconv.c - $(CC) -c $(INCLUDES) -I../lib $(CFLAGS) $(CPPFLAGS) -DINSTALLDIR=\"$(bindir)\" -DLOCALEDIR=\"$(localedir)\" $(srcdir)/iconv.c - -iconv.res : $(srcdir)/../windows/iconv.rc - $(WINDRES) `$(SHELL) $(srcdir)/../windows/windres-options --escape $(PACKAGE_VERSION)` -i $(srcdir)/../windows/iconv.rc -o iconv.res --output-format=coff - -# The following rule is necessary to avoid a toplevel "make -n check" failure. -../lib/libiconv.la : - cd ../lib && $(MAKE) libiconv.la - -# Support for relocatability. -RELOCATABLE_LIBRARY_PATH = $(libdir) -RELOCATABLE_SRC_DIR = $(top_srcdir)/srclib -RELOCATABLE_BUILD_DIR = ../srclib -RELOCATABLE_CONFIG_H_DIR = .. -RELOCATABLE_LDFLAGS = @RELOCATABLE_LDFLAGS@ -RELOCATABLE_STRIP = : -INSTALL_PROGRAM_ENV = @INSTALL_PROGRAM_ENV@ -iconv_LDFLAGS = `if test -n '$(RELOCATABLE_LDFLAGS)'; then $(RELOCATABLE_LDFLAGS) $(bindir); fi` - -# During "make install", we can build the final iconv executable. -# On HP-UX, in order to ensure that the new libiconv.sl will override the old -# one that is hardcoded in libintl.sl, we need to mention libiconv.sl before -# libintl.sl on the link command line. We have to bypass libtool in order to -# achieve this. -# On Solaris, the linker gives an error if we are using libintl.so and it -# refers to a libiconv.so in $prefix/lib since then it sees two libiconv.so's, -# one in $prefix/lib and one in ../lib/.libs. So we have to avoid using -# ../lib/libiconv.la entirely. -install : all force - if [ ! -d $(DESTDIR)$(bindir) ] ; then $(mkinstalldirs) $(DESTDIR)$(bindir) ; fi - case "@host_os@" in \ - hpux*) $(CC) $(LDFLAGS) $(CFLAGS) $(iconv_LDFLAGS) iconv.@OBJEXT@ ../srclib/libicrt.a -L$(DESTDIR)$(libdir) -liconv @LIBINTL@ $(OBJECTS_RES_@WOE32@) `if test -n '$(DESTDIR)'; then echo " -Wl,+b -Wl,$(libdir)"; fi` -o iconv$(EXEEXT);; \ - *) $(LIBTOOL_LINK) $(CC) $(LDFLAGS) $(CFLAGS) $(iconv_LDFLAGS) iconv.@OBJEXT@ ../srclib/libicrt.a $(DESTDIR)$(libdir)/libiconv.la @LTLIBINTL@ $(OBJECTS_RES_@WOE32@) -o iconv$(EXEEXT);; \ - esac - $(INSTALL_PROGRAM_ENV) $(LIBTOOL_INSTALL) $(INSTALL_PROGRAM) iconv$(EXEEXT) $(DESTDIR)$(bindir)/iconv$(EXEEXT) - -install-strip : force - case '$(INSTALL_PROGRAM)' in \ - */install-reloc) \ - $(MAKE) install prefix='$(prefix)' exec_prefix='$(exec_prefix)' libdir='$(libdir)' RELOCATABLE_STRIP='$(STRIP)' ;; \ - *) \ - $(MAKE) install prefix='$(prefix)' exec_prefix='$(exec_prefix)' libdir='$(libdir)' INSTALL_PROGRAM='$(INSTALL_STRIP_PROGRAM)' ;; \ - esac - -installdirs : force - if [ ! -d $(DESTDIR)$(bindir) ] ; then $(mkinstalldirs) $(DESTDIR)$(bindir) ; fi - -uninstall : force - $(LIBTOOL_UNINSTALL) $(RM) $(DESTDIR)$(bindir)/iconv$(EXEEXT) - -check : all - -mostlyclean : clean - -clean : force - $(RM) *.@OBJEXT@ *.lo iconv.res iconv_no_i18n iconv_no_i18n$(EXEEXT) iconv$(EXEEXT) core *.stackdump - $(RM) -r .libs _libs - -distclean : clean - $(RM) Makefile - -maintainer-clean : distclean - -force : - diff --git a/Externals/libiconv-1.14/src/iconv.c b/Externals/libiconv-1.14/src/iconv.c deleted file mode 100644 index 825ef2229e1..00000000000 --- a/Externals/libiconv-1.14/src/iconv.c +++ /dev/null @@ -1,1118 +0,0 @@ -/* Copyright (C) 2000-2009, 2011 Free Software Foundation, Inc. - This file is part of the GNU LIBICONV Library. - - 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 3 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, see . */ - -#include "config.h" -#ifndef ICONV_CONST -# define ICONV_CONST -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -/* Ensure that iconv_no_i18n does not depend on libintl. */ -#ifdef NO_I18N -# undef ENABLE_NLS -# undef ENABLE_RELOCATABLE -#endif - -#include "binary-io.h" -#include "progname.h" -#include "relocatable.h" -#include "safe-read.h" -#include "xalloc.h" -#include "uniwidth.h" -#include "uniwidth/cjk.h" - -/* Ensure that iconv_no_i18n does not depend on libintl. */ -#ifdef NO_I18N -#include -static void -error (int status, int errnum, const char *message, ...) -{ - va_list args; - - fflush(stdout); - fprintf(stderr,"%s: ",program_name); - va_start(args,message); - vfprintf(stderr,message,args); - va_end(args); - if (errnum) { - const char *s = strerror(errnum); - if (s == NULL) - s = "Unknown system error"; - } - putc('\n',stderr); - fflush(stderr); - if (status) - exit(status); -} -#else -# include "error.h" -#endif - -#include "gettext.h" - -#define _(str) gettext(str) - -/* Ensure that iconv_no_i18n does not depend on libintl. */ -#ifdef NO_I18N -# define xmalloc malloc -# define xalloc_die abort -#endif - -/* Locale independent test for a decimal digit. - Argument can be 'char' or 'unsigned char'. (Whereas the argument of - isdigit must be an 'unsigned char'.) */ -#undef isdigit -#define isdigit(c) ((unsigned int) ((c) - '0') < 10) - -/* Locale independent test for a printable character. - Argument can be 'char' or 'unsigned char'. (Whereas the argument of - isdigit must be an 'unsigned char'.) */ -#define c_isprint(c) ((c) >= ' ' && (c) <= '~') - -/* ========================================================================= */ - -static int discard_unconvertible = 0; -static int silent = 0; - -static void usage (int exitcode) -{ - if (exitcode != 0) { - const char* helpstring1 = - /* TRANSLATORS: The first line of the short usage message. */ - _("Usage: iconv [-c] [-s] [-f fromcode] [-t tocode] [file ...]"); - const char* helpstring2 = - /* TRANSLATORS: The second line of the short usage message. - Align it correctly against the first line. */ - _("or: iconv -l"); - fprintf(stderr, "%s\n%s\n", helpstring1, helpstring2); - fprintf(stderr, _("Try `%s --help' for more information.\n"), program_name); - } else { - /* xgettext: no-wrap */ - /* TRANSLATORS: The first line of the long usage message. - The %s placeholder expands to the program name. */ - printf(_("\ -Usage: %s [OPTION...] [-f ENCODING] [-t ENCODING] [INPUTFILE...]\n"), - program_name); - /* xgettext: no-wrap */ - /* TRANSLATORS: The second line of the long usage message. - Align it correctly against the first line. - The %s placeholder expands to the program name. */ - printf(_("\ -or: %s -l\n"), - program_name); - printf("\n"); - /* xgettext: no-wrap */ - /* TRANSLATORS: Description of the iconv program. */ - printf(_("\ -Converts text from one encoding to another encoding.\n")); - printf("\n"); - /* xgettext: no-wrap */ - printf(_("\ -Options controlling the input and output format:\n")); - /* xgettext: no-wrap */ - printf(_("\ - -f ENCODING, --from-code=ENCODING\n\ - the encoding of the input\n")); - /* xgettext: no-wrap */ - printf(_("\ - -t ENCODING, --to-code=ENCODING\n\ - the encoding of the output\n")); - printf("\n"); - /* xgettext: no-wrap */ - printf(_("\ -Options controlling conversion problems:\n")); - /* xgettext: no-wrap */ - printf(_("\ - -c discard unconvertible characters\n")); - /* xgettext: no-wrap */ - printf(_("\ - --unicode-subst=FORMATSTRING\n\ - substitution for unconvertible Unicode characters\n")); - /* xgettext: no-wrap */ - printf(_("\ - --byte-subst=FORMATSTRING substitution for unconvertible bytes\n")); - /* xgettext: no-wrap */ - printf(_("\ - --widechar-subst=FORMATSTRING\n\ - substitution for unconvertible wide characters\n")); - printf("\n"); - /* xgettext: no-wrap */ - printf(_("\ -Options controlling error output:\n")); - /* xgettext: no-wrap */ - printf(_("\ - -s, --silent suppress error messages about conversion problems\n")); - printf("\n"); - /* xgettext: no-wrap */ - printf(_("\ -Informative output:\n")); - /* xgettext: no-wrap */ - printf(_("\ - -l, --list list the supported encodings\n")); - /* xgettext: no-wrap */ - printf(_("\ - --help display this help and exit\n")); - /* xgettext: no-wrap */ - printf(_("\ - --version output version information and exit\n")); - printf("\n"); - /* TRANSLATORS: The placeholder indicates the bug-reporting address - for this package. Please add _another line_ saying - "Report translation bugs to <...>\n" with the address for translation - bugs (typically your translation team's web or email address). */ - fputs(_("Report bugs to .\n"),stdout); - } - exit(exitcode); -} - -static void print_version (void) -{ - printf("iconv (GNU libiconv %d.%d)\n", - _libiconv_version >> 8, _libiconv_version & 0xff); - printf("Copyright (C) %s Free Software Foundation, Inc.\n", "2000-2011"); - /* xgettext: no-wrap */ - fputs (_("\ -License GPLv3+: GNU GPL version 3 or later \n\ -This is free software: you are free to change and redistribute it.\n\ -There is NO WARRANTY, to the extent permitted by law.\n\ -"),stdout); - /* TRANSLATORS: The %s placeholder expands to an author's name. */ - printf(_("Written by %s.\n"),"Bruno Haible"); - exit(EXIT_SUCCESS); -} - -static int print_one (unsigned int namescount, const char * const * names, - void* data) -{ - unsigned int i; - (void)data; - for (i = 0; i < namescount; i++) { - if (i > 0) - putc(' ',stdout); - fputs(names[i],stdout); - } - putc('\n',stdout); - return 0; -} - -/* ========================================================================= */ - -/* Line number and column position. */ -static unsigned int line; -static unsigned int column; -static const char* cjkcode; -/* Update the line number and column position after a character was - successfully converted. */ -static void update_line_column (unsigned int uc, void* data) -{ - if (uc == 0x000A) { - line++; - column = 0; - } else { - int width = uc_width(uc, cjkcode); - if (width >= 0) - column += width; - else if (uc == 0x0009) - column += 8 - (column % 8); - } -} - -/* ========================================================================= */ - -/* Production of placeholder strings as fallback for unconvertible - characters. */ - -/* Check that the argument is a format string taking either no argument - or exactly one unsigned integer argument. Returns the maximum output - size of the format string. */ -static size_t check_subst_formatstring (const char *format, const char *param_name) -{ - /* C format strings are described in POSIX (IEEE P1003.1 2001), section - XSH 3 fprintf(). See also Linux fprintf(3) manual page. - For simplicity, we don't accept - - the '%m$' reordering syntax, - - the 'I' flag, - - width specifications referring to an argument, - - precision specifications referring to an argument, - - size specifiers, - - format specifiers other than 'o', 'u', 'x', 'X'. - What remains? - A directive - - starts with '%', - - is optionally followed by any of the characters '#', '0', '-', ' ', - '+', "'", each of which acts as a flag, - - is optionally followed by a width specification: a nonempty digit - sequence, - - is optionally followed by '.' and a precision specification: a - nonempty digit sequence, - - is finished by a specifier - - '%', that needs no argument, - - 'o', 'u', 'x', 'X', that need an unsigned integer argument. - */ - size_t maxsize = 0; - unsigned int unnumbered_arg_count = 0; - - for (; *format != '\0';) { - if (*format++ == '%') { - /* A directive. */ - unsigned int width = 0; - unsigned int precision = 0; - unsigned int length; - /* Parse flags. */ - for (;;) { - if (*format == ' ' || *format == '+' || *format == '-' - || *format == '#' || *format == '0' || *format == '\'') - format++; - else - break; - } - /* Parse width. */ - if (*format == '*') - error(EXIT_FAILURE,0, - /* TRANSLATORS: An error message. - The %s placeholder expands to a command-line option. */ - _("%s argument: A format directive with a variable width is not allowed here."), - param_name); - if (isdigit (*format)) { - do { - width = 10*width + (*format - '0'); - format++; - } while (isdigit (*format)); - } - /* Parse precision. */ - if (*format == '.') { - format++; - if (*format == '*') - error(EXIT_FAILURE,0, - /* TRANSLATORS: An error message. - The %s placeholder expands to a command-line option. */ - _("%s argument: A format directive with a variable precision is not allowed here."), - param_name); - if (isdigit (*format)) { - do { - precision = 10*precision + (*format - '0'); - format++; - } while (isdigit (*format)); - } - } - /* Parse size. */ - switch (*format) { - case 'h': case 'l': case 'L': case 'q': - case 'j': case 'z': case 'Z': case 't': - error(EXIT_FAILURE,0, - /* TRANSLATORS: An error message. - The %s placeholder expands to a command-line option. */ - _("%s argument: A format directive with a size is not allowed here."), - param_name); - } - /* Parse end of directive. */ - switch (*format) { - case '%': - length = 1; - break; - case 'u': case 'o': case 'x': case 'X': - if (*format == 'u') { - length = (unsigned int) (sizeof (unsigned int) * CHAR_BIT - * 0.30103 /* binary -> decimal */ - ) - + 1; /* turn floor into ceil */ - if (length < precision) - length = precision; - length *= 2; /* estimate for FLAG_GROUP */ - length += 1; /* account for leading sign */ - } else if (*format == 'o') { - length = (unsigned int) (sizeof (unsigned int) * CHAR_BIT - * 0.333334 /* binary -> octal */ - ) - + 1; /* turn floor into ceil */ - if (length < precision) - length = precision; - length += 1; /* account for leading sign */ - } else { /* 'x', 'X' */ - length = (unsigned int) (sizeof (unsigned int) * CHAR_BIT - * 0.25 /* binary -> hexadecimal */ - ) - + 1; /* turn floor into ceil */ - if (length < precision) - length = precision; - length += 2; /* account for leading sign or alternate form */ - } - unnumbered_arg_count++; - break; - default: - if (*format == '\0') - error(EXIT_FAILURE,0, - /* TRANSLATORS: An error message. - The %s placeholder expands to a command-line option. */ - _("%s argument: The string ends in the middle of a directive."), - param_name); - else if (c_isprint(*format)) - error(EXIT_FAILURE,0, - /* TRANSLATORS: An error message. - The %s placeholder expands to a command-line option. - The %c placeholder expands to an unknown format directive. */ - _("%s argument: The character '%c' is not a valid conversion specifier."), - param_name,*format); - else - error(EXIT_FAILURE,0, - /* TRANSLATORS: An error message. - The %s placeholder expands to a command-line option. */ - _("%s argument: The character that terminates the format directive is not a valid conversion specifier."), - param_name); - abort(); /*NOTREACHED*/ - } - format++; - if (length < width) - length = width; - maxsize += length; - } else - maxsize++; - } - if (unnumbered_arg_count > 1) - error(EXIT_FAILURE,0, - /* TRANSLATORS: An error message. - The %s placeholder expands to a command-line option. - The %u placeholder expands to the number of arguments consumed by the format string. */ - ngettext("%s argument: The format string consumes more than one argument: %u argument.", - "%s argument: The format string consumes more than one argument: %u arguments.", - unnumbered_arg_count), - param_name,unnumbered_arg_count); - return maxsize; -} - -/* Format strings. */ -static const char* ilseq_byte_subst; -static const char* ilseq_wchar_subst; -static const char* ilseq_unicode_subst; - -/* Maximum result size for each format string. */ -static size_t ilseq_byte_subst_size; -static size_t ilseq_wchar_subst_size; -static size_t ilseq_unicode_subst_size; - -/* Buffer of size ilseq_byte_subst_size+1. */ -static char* ilseq_byte_subst_buffer; -#if HAVE_WCHAR_T -/* Buffer of size ilseq_wchar_subst_size+1. */ -static char* ilseq_wchar_subst_buffer; -#endif -/* Buffer of size ilseq_unicode_subst_size+1. */ -static char* ilseq_unicode_subst_buffer; - -/* Auxiliary variables for subst_mb_to_uc_fallback. */ -/* Converter from locale encoding to UCS-4. */ -static iconv_t subst_mb_to_uc_cd; -/* Buffer of size ilseq_byte_subst_size. */ -static unsigned int* subst_mb_to_uc_temp_buffer; - -static void subst_mb_to_uc_fallback - (const char* inbuf, size_t inbufsize, - void (*write_replacement) (const unsigned int *buf, size_t buflen, - void* callback_arg), - void* callback_arg, - void* data) -{ - for (; inbufsize > 0; inbuf++, inbufsize--) { - const char* inptr; - size_t inbytesleft; - char* outptr; - size_t outbytesleft; - sprintf(ilseq_byte_subst_buffer, - ilseq_byte_subst, (unsigned int)(unsigned char)*inbuf); - inptr = ilseq_byte_subst_buffer; - inbytesleft = strlen(ilseq_byte_subst_buffer); - outptr = (char*)subst_mb_to_uc_temp_buffer; - outbytesleft = ilseq_byte_subst_size*sizeof(unsigned int); - iconv(subst_mb_to_uc_cd,NULL,NULL,NULL,NULL); - if (iconv(subst_mb_to_uc_cd, (ICONV_CONST char**)&inptr,&inbytesleft, &outptr,&outbytesleft) - == (size_t)(-1) - || iconv(subst_mb_to_uc_cd, NULL,NULL, &outptr,&outbytesleft) - == (size_t)(-1)) - error(EXIT_FAILURE,0, - /* TRANSLATORS: An error message. - The %s placeholder expands to a piece of text, specified through --byte-subst. */ - _("cannot convert byte substitution to Unicode: %s"), - ilseq_byte_subst_buffer); - if (!(outbytesleft%sizeof(unsigned int) == 0)) - abort(); - write_replacement(subst_mb_to_uc_temp_buffer, - ilseq_byte_subst_size-(outbytesleft/sizeof(unsigned int)), - callback_arg); - } -} - -/* Auxiliary variables for subst_uc_to_mb_fallback. */ -/* Converter from locale encoding to target encoding. */ -static iconv_t subst_uc_to_mb_cd; -/* Buffer of size ilseq_unicode_subst_size*4. */ -static char* subst_uc_to_mb_temp_buffer; - -static void subst_uc_to_mb_fallback - (unsigned int code, - void (*write_replacement) (const char *buf, size_t buflen, - void* callback_arg), - void* callback_arg, - void* data) -{ - const char* inptr; - size_t inbytesleft; - char* outptr; - size_t outbytesleft; - sprintf(ilseq_unicode_subst_buffer, ilseq_unicode_subst, code); - inptr = ilseq_unicode_subst_buffer; - inbytesleft = strlen(ilseq_unicode_subst_buffer); - outptr = subst_uc_to_mb_temp_buffer; - outbytesleft = ilseq_unicode_subst_size*4; - iconv(subst_uc_to_mb_cd,NULL,NULL,NULL,NULL); - if (iconv(subst_uc_to_mb_cd, (ICONV_CONST char**)&inptr,&inbytesleft, &outptr,&outbytesleft) - == (size_t)(-1) - || iconv(subst_uc_to_mb_cd, NULL,NULL, &outptr,&outbytesleft) - == (size_t)(-1)) - error(EXIT_FAILURE,0, - /* TRANSLATORS: An error message. - The %s placeholder expands to a piece of text, specified through --unicode-subst. */ - _("cannot convert unicode substitution to target encoding: %s"), - ilseq_unicode_subst_buffer); - write_replacement(subst_uc_to_mb_temp_buffer, - ilseq_unicode_subst_size*4-outbytesleft, - callback_arg); -} - -#if HAVE_WCHAR_T - -/* Auxiliary variables for subst_mb_to_wc_fallback. */ -/* Converter from locale encoding to wchar_t. */ -static iconv_t subst_mb_to_wc_cd; -/* Buffer of size ilseq_byte_subst_size. */ -static wchar_t* subst_mb_to_wc_temp_buffer; - -static void subst_mb_to_wc_fallback - (const char* inbuf, size_t inbufsize, - void (*write_replacement) (const wchar_t *buf, size_t buflen, - void* callback_arg), - void* callback_arg, - void* data) -{ - for (; inbufsize > 0; inbuf++, inbufsize--) { - const char* inptr; - size_t inbytesleft; - char* outptr; - size_t outbytesleft; - sprintf(ilseq_byte_subst_buffer, - ilseq_byte_subst, (unsigned int)(unsigned char)*inbuf); - inptr = ilseq_byte_subst_buffer; - inbytesleft = strlen(ilseq_byte_subst_buffer); - outptr = (char*)subst_mb_to_wc_temp_buffer; - outbytesleft = ilseq_byte_subst_size*sizeof(wchar_t); - iconv(subst_mb_to_wc_cd,NULL,NULL,NULL,NULL); - if (iconv(subst_mb_to_wc_cd, (ICONV_CONST char**)&inptr,&inbytesleft, &outptr,&outbytesleft) - == (size_t)(-1) - || iconv(subst_mb_to_wc_cd, NULL,NULL, &outptr,&outbytesleft) - == (size_t)(-1)) - error(EXIT_FAILURE,0, - /* TRANSLATORS: An error message. - The %s placeholder expands to a piece of text, specified through --byte-subst. */ - _("cannot convert byte substitution to wide string: %s"), - ilseq_byte_subst_buffer); - if (!(outbytesleft%sizeof(wchar_t) == 0)) - abort(); - write_replacement(subst_mb_to_wc_temp_buffer, - ilseq_byte_subst_size-(outbytesleft/sizeof(wchar_t)), - callback_arg); - } -} - -/* Auxiliary variables for subst_wc_to_mb_fallback. */ -/* Converter from locale encoding to target encoding. */ -static iconv_t subst_wc_to_mb_cd; -/* Buffer of size ilseq_wchar_subst_size*4. - Hardcode factor 4, because MB_LEN_MAX is not reliable on some platforms. */ -static char* subst_wc_to_mb_temp_buffer; - -static void subst_wc_to_mb_fallback - (wchar_t code, - void (*write_replacement) (const char *buf, size_t buflen, - void* callback_arg), - void* callback_arg, - void* data) -{ - const char* inptr; - size_t inbytesleft; - char* outptr; - size_t outbytesleft; - sprintf(ilseq_wchar_subst_buffer, ilseq_wchar_subst, (unsigned int) code); - inptr = ilseq_wchar_subst_buffer; - inbytesleft = strlen(ilseq_wchar_subst_buffer); - outptr = subst_wc_to_mb_temp_buffer; - outbytesleft = ilseq_wchar_subst_size*4; - iconv(subst_wc_to_mb_cd,NULL,NULL,NULL,NULL); - if (iconv(subst_wc_to_mb_cd, (ICONV_CONST char**)&inptr,&inbytesleft, &outptr,&outbytesleft) - == (size_t)(-1) - || iconv(subst_wc_to_mb_cd, NULL,NULL, &outptr,&outbytesleft) - == (size_t)(-1)) - error(EXIT_FAILURE,0, - /* TRANSLATORS: An error message. - The %s placeholder expands to a piece of text, specified through --widechar-subst. */ - _("cannot convert widechar substitution to target encoding: %s"), - ilseq_wchar_subst_buffer); - write_replacement(subst_wc_to_mb_temp_buffer, - ilseq_wchar_subst_size*4-outbytesleft, - callback_arg); -} - -#else - -#define subst_mb_to_wc_fallback NULL -#define subst_wc_to_mb_fallback NULL - -#endif - -/* Auxiliary variables for subst_mb_to_mb_fallback. */ -/* Converter from locale encoding to target encoding. */ -static iconv_t subst_mb_to_mb_cd; -/* Buffer of size ilseq_byte_subst_size*4. */ -static char* subst_mb_to_mb_temp_buffer; - -static void subst_mb_to_mb_fallback (const char* inbuf, size_t inbufsize) -{ - for (; inbufsize > 0; inbuf++, inbufsize--) { - const char* inptr; - size_t inbytesleft; - char* outptr; - size_t outbytesleft; - sprintf(ilseq_byte_subst_buffer, - ilseq_byte_subst, (unsigned int)(unsigned char)*inbuf); - inptr = ilseq_byte_subst_buffer; - inbytesleft = strlen(ilseq_byte_subst_buffer); - outptr = subst_mb_to_mb_temp_buffer; - outbytesleft = ilseq_byte_subst_size*4; - iconv(subst_mb_to_mb_cd,NULL,NULL,NULL,NULL); - if (iconv(subst_mb_to_mb_cd, (ICONV_CONST char**)&inptr,&inbytesleft, &outptr,&outbytesleft) - == (size_t)(-1) - || iconv(subst_mb_to_mb_cd, NULL,NULL, &outptr,&outbytesleft) - == (size_t)(-1)) - error(EXIT_FAILURE,0, - /* TRANSLATORS: An error message. - The %s placeholder expands to a piece of text, specified through --byte-subst. */ - _("cannot convert byte substitution to target encoding: %s"), - ilseq_byte_subst_buffer); - fwrite(subst_mb_to_mb_temp_buffer,1,ilseq_byte_subst_size*4-outbytesleft, - stdout); - } -} - -/* ========================================================================= */ - -/* Error messages during conversion. */ - -static void conversion_error_EILSEQ (const char* infilename) -{ - fflush(stdout); - if (column > 0) - putc('\n',stderr); - error(0,0, - /* TRANSLATORS: An error message. - The placeholders expand to the input file name, a line number, and a column number. */ - _("%s:%u:%u: cannot convert"), - infilename,line,column); -} - -static void conversion_error_EINVAL (const char* infilename) -{ - fflush(stdout); - if (column > 0) - putc('\n',stderr); - error(0,0, - /* TRANSLATORS: An error message. - The placeholders expand to the input file name, a line number, and a column number. - A "shift sequence" is a sequence of bytes that changes the state of the converter; - this concept exists only for "stateful" encodings like ISO-2022-JP. */ - _("%s:%u:%u: incomplete character or shift sequence"), - infilename,line,column); -} - -static void conversion_error_other (int errnum, const char* infilename) -{ - fflush(stdout); - if (column > 0) - putc('\n',stderr); - error(0,errnum, - /* TRANSLATORS: The first part of an error message. - It is followed by a colon and a detail message. - The placeholders expand to the input file name, a line number, and a column number. */ - _("%s:%u:%u"), - infilename,line,column); -} - -/* Convert the input given in infile. */ - -static int convert (iconv_t cd, int infile, const char* infilename) -{ - char inbuf[4096+4096]; - size_t inbufrest = 0; - int infile_error = 0; - char initial_outbuf[4096]; - char *outbuf = initial_outbuf; - size_t outbufsize = sizeof(initial_outbuf); - int status = 0; - -#if O_BINARY - SET_BINARY(infile); -#endif - line = 1; column = 0; - iconv(cd,NULL,NULL,NULL,NULL); - for (;;) { - size_t inbufsize; - /* Transfer the accumulated output to its destination, in case the - safe_read() call will block. */ - fflush(stdout); - inbufsize = safe_read(infile,inbuf+4096,4096); - if (inbufsize == 0 || inbufsize == SAFE_READ_ERROR) { - infile_error = (inbufsize == SAFE_READ_ERROR ? errno : 0); - if (inbufrest == 0) - break; - else { - if (ilseq_byte_subst != NULL) - subst_mb_to_mb_fallback(inbuf+4096-inbufrest, inbufrest); - if (!silent) - conversion_error_EINVAL(infilename); - status = 1; - goto done; - } - } else { - const char* inptr = inbuf+4096-inbufrest; - size_t insize = inbufrest+inbufsize; - inbufrest = 0; - while (insize > 0) { - char* outptr = outbuf; - size_t outsize = outbufsize; - size_t res = iconv(cd,(ICONV_CONST char**)&inptr,&insize,&outptr,&outsize); - if (outptr != outbuf) { - int saved_errno = errno; - if (fwrite(outbuf,1,outptr-outbuf,stdout) < outptr-outbuf) { - status = 1; - goto done; - } - errno = saved_errno; - } - if (res == (size_t)(-1)) { - if (errno == EILSEQ) { - if (discard_unconvertible == 1) { - int one = 1; - iconvctl(cd,ICONV_SET_DISCARD_ILSEQ,&one); - discard_unconvertible = 2; - status = 1; - } else { - if (!silent) - conversion_error_EILSEQ(infilename); - status = 1; - goto done; - } - } else if (errno == EINVAL) { - if (inbufsize == 0 || insize > 4096) { - if (!silent) - conversion_error_EINVAL(infilename); - status = 1; - goto done; - } else { - inbufrest = insize; - if (insize > 0) { - /* Like memcpy(inbuf+4096-insize,inptr,insize), except that - we cannot use memcpy here, because source and destination - regions may overlap. */ - char* restptr = inbuf+4096-insize; - do { *restptr++ = *inptr++; } while (--insize > 0); - } - break; - } - } else if (errno == E2BIG) { - if (outptr==outbuf) { - /* outbuf is too small. Double its size. */ - if (outbuf != initial_outbuf) - free(outbuf); - outbufsize = 2*outbufsize; - if (outbufsize==0) /* integer overflow? */ - xalloc_die(); - outbuf = (char*)xmalloc(outbufsize); - } - } else { - if (!silent) - conversion_error_other(errno,infilename); - status = 1; - goto done; - } - } - } - } - } - for (;;) { - char* outptr = outbuf; - size_t outsize = outbufsize; - size_t res = iconv(cd,NULL,NULL,&outptr,&outsize); - if (outptr != outbuf) { - int saved_errno = errno; - if (fwrite(outbuf,1,outptr-outbuf,stdout) < outptr-outbuf) { - status = 1; - goto done; - } - errno = saved_errno; - } - if (res == (size_t)(-1)) { - if (errno == EILSEQ) { - if (discard_unconvertible == 1) { - int one = 1; - iconvctl(cd,ICONV_SET_DISCARD_ILSEQ,&one); - discard_unconvertible = 2; - status = 1; - } else { - if (!silent) - conversion_error_EILSEQ(infilename); - status = 1; - goto done; - } - } else if (errno == EINVAL) { - if (!silent) - conversion_error_EINVAL(infilename); - status = 1; - goto done; - } else if (errno == E2BIG) { - if (outptr==outbuf) { - /* outbuf is too small. Double its size. */ - if (outbuf != initial_outbuf) - free(outbuf); - outbufsize = 2*outbufsize; - if (outbufsize==0) /* integer overflow? */ - xalloc_die(); - outbuf = (char*)xmalloc(outbufsize); - } - } else { - if (!silent) - conversion_error_other(errno,infilename); - status = 1; - goto done; - } - } else - break; - } - if (infile_error) { - fflush(stdout); - if (column > 0) - putc('\n',stderr); - error(0,infile_error, - /* TRANSLATORS: An error message. - The placeholder expands to the input file name. */ - _("%s: I/O error"), - infilename); - status = 1; - goto done; - } - done: - if (outbuf != initial_outbuf) - free(outbuf); - return status; -} - -/* ========================================================================= */ - -int main (int argc, char* argv[]) -{ - const char* fromcode = NULL; - const char* tocode = NULL; - int do_list = 0; - iconv_t cd; - struct iconv_fallbacks fallbacks; - struct iconv_hooks hooks; - int i; - int status; - - set_program_name (argv[0]); -#if HAVE_SETLOCALE - /* Needed for the locale dependent encodings, "char" and "wchar_t", - and for gettext. */ - setlocale(LC_CTYPE,""); -#if ENABLE_NLS - /* Needed for gettext. */ - setlocale(LC_MESSAGES,""); -#endif -#endif -#if ENABLE_NLS - bindtextdomain("libiconv",relocate(LOCALEDIR)); -#endif - textdomain("libiconv"); - for (i = 1; i < argc;) { - size_t len = strlen(argv[i]); - if (!strcmp(argv[i],"--")) { - i++; - break; - } - if (!strcmp(argv[i],"-f") - /* --f ... --from-code */ - || (len >= 3 && len <= 11 && !strncmp(argv[i],"--from-code",len)) - /* --from-code=... */ - || (len >= 12 && !strncmp(argv[i],"--from-code=",12))) { - if (len < 12) - if (i == argc-1) usage(1); - if (fromcode != NULL) usage(1); - if (len < 12) { - fromcode = argv[i+1]; - i += 2; - } else { - fromcode = argv[i]+12; - i++; - } - continue; - } - if (!strcmp(argv[i],"-t") - /* --t ... --to-code */ - || (len >= 3 && len <= 9 && !strncmp(argv[i],"--to-code",len)) - /* --from-code=... */ - || (len >= 10 && !strncmp(argv[i],"--to-code=",10))) { - if (len < 10) - if (i == argc-1) usage(1); - if (tocode != NULL) usage(1); - if (len < 10) { - tocode = argv[i+1]; - i += 2; - } else { - tocode = argv[i]+10; - i++; - } - continue; - } - if (!strcmp(argv[i],"-l") - /* --l ... --list */ - || (len >= 3 && len <= 6 && !strncmp(argv[i],"--list",len))) { - do_list = 1; - i++; - continue; - } - if (/* --by ... --byte-subst */ - (len >= 4 && len <= 12 && !strncmp(argv[i],"--byte-subst",len)) - /* --byte-subst=... */ - || (len >= 13 && !strncmp(argv[i],"--byte-subst=",13))) { - if (len < 13) { - if (i == argc-1) usage(1); - ilseq_byte_subst = argv[i+1]; - i += 2; - } else { - ilseq_byte_subst = argv[i]+13; - i++; - } - ilseq_byte_subst_size = - check_subst_formatstring(ilseq_byte_subst, "--byte-subst"); - continue; - } - if (/* --w ... --widechar-subst */ - (len >= 3 && len <= 16 && !strncmp(argv[i],"--widechar-subst",len)) - /* --widechar-subst=... */ - || (len >= 17 && !strncmp(argv[i],"--widechar-subst=",17))) { - if (len < 17) { - if (i == argc-1) usage(1); - ilseq_wchar_subst = argv[i+1]; - i += 2; - } else { - ilseq_wchar_subst = argv[i]+17; - i++; - } - ilseq_wchar_subst_size = - check_subst_formatstring(ilseq_wchar_subst, "--widechar-subst"); - continue; - } - if (/* --u ... --unicode-subst */ - (len >= 3 && len <= 15 && !strncmp(argv[i],"--unicode-subst",len)) - /* --unicode-subst=... */ - || (len >= 16 && !strncmp(argv[i],"--unicode-subst=",16))) { - if (len < 16) { - if (i == argc-1) usage(1); - ilseq_unicode_subst = argv[i+1]; - i += 2; - } else { - ilseq_unicode_subst = argv[i]+16; - i++; - } - ilseq_unicode_subst_size = - check_subst_formatstring(ilseq_unicode_subst, "--unicode-subst"); - continue; - } - if /* --s ... --silent */ - (len >= 3 && len <= 8 && !strncmp(argv[i],"--silent",len)) { - silent = 1; - continue; - } - if /* --h ... --help */ - (len >= 3 && len <= 6 && !strncmp(argv[i],"--help",len)) { - usage(0); - } - if /* --v ... --version */ - (len >= 3 && len <= 9 && !strncmp(argv[i],"--version",len)) { - print_version(); - } -#if O_BINARY - /* Backward compatibility with iconv <= 1.9.1. */ - if /* --bi ... --binary */ - (len >= 4 && len <= 8 && !strncmp(argv[i],"--binary",len)) { - i++; - continue; - } -#endif - if (argv[i][0] == '-') { - const char *option = argv[i] + 1; - if (*option == '\0') - usage(1); - for (; *option; option++) - switch (*option) { - case 'c': discard_unconvertible = 1; break; - case 's': silent = 1; break; - default: usage(1); - } - i++; - continue; - } - break; - } - if (do_list) { - if (i != 2 || i != argc) - usage(1); - iconvlist(print_one,NULL); - status = 0; - } else { -#if O_BINARY - SET_BINARY(fileno(stdout)); -#endif - if (fromcode == NULL) - fromcode = "char"; - if (tocode == NULL) - tocode = "char"; - cd = iconv_open(tocode,fromcode); - if (cd == (iconv_t)(-1)) { - if (iconv_open("UCS-4",fromcode) == (iconv_t)(-1)) - error(0,0, - /* TRANSLATORS: An error message. - The placeholder expands to the encoding name, specified through --from-code. */ - _("conversion from %s unsupported"), - fromcode); - else if (iconv_open(tocode,"UCS-4") == (iconv_t)(-1)) - error(0,0, - /* TRANSLATORS: An error message. - The placeholder expands to the encoding name, specified through --to-code. */ - _("conversion to %s unsupported"), - tocode); - else - error(0,0, - /* TRANSLATORS: An error message. - The placeholders expand to the encoding names, specified through --from-code and --to-code, respectively. */ - _("conversion from %s to %s unsupported"), - fromcode,tocode); - error(EXIT_FAILURE,0, - /* TRANSLATORS: Additional advice after an error message. - The %s placeholder expands to the program name. */ - _("try '%s -l' to get the list of supported encodings"), - program_name); - } - /* Look at fromcode and tocode, to determine whether character widths - should be determined according to legacy CJK conventions. */ - cjkcode = iconv_canonicalize(tocode); - if (!is_cjk_encoding(cjkcode)) - cjkcode = iconv_canonicalize(fromcode); - /* Set up fallback routines for handling impossible conversions. */ - if (ilseq_byte_subst != NULL) - ilseq_byte_subst_buffer = (char*)xmalloc((ilseq_byte_subst_size+1)*sizeof(char)); - if (!discard_unconvertible) { - #if HAVE_WCHAR_T - if (ilseq_wchar_subst != NULL) - ilseq_wchar_subst_buffer = (char*)xmalloc((ilseq_wchar_subst_size+1)*sizeof(char)); - #endif - if (ilseq_unicode_subst != NULL) - ilseq_unicode_subst_buffer = (char*)xmalloc((ilseq_unicode_subst_size+1)*sizeof(char)); - if (ilseq_byte_subst != NULL) { - subst_mb_to_uc_cd = iconv_open("UCS-4-INTERNAL","char"); - subst_mb_to_uc_temp_buffer = (unsigned int*)xmalloc(ilseq_byte_subst_size*sizeof(unsigned int)); - #if HAVE_WCHAR_T - subst_mb_to_wc_cd = iconv_open("wchar_t","char"); - subst_mb_to_wc_temp_buffer = (wchar_t*)xmalloc(ilseq_byte_subst_size*sizeof(wchar_t)); - #endif - subst_mb_to_mb_cd = iconv_open(tocode,"char"); - subst_mb_to_mb_temp_buffer = (char*)xmalloc(ilseq_byte_subst_size*4); - } - #if HAVE_WCHAR_T - if (ilseq_wchar_subst != NULL) { - subst_wc_to_mb_cd = iconv_open(tocode,"char"); - subst_wc_to_mb_temp_buffer = (char*)xmalloc(ilseq_wchar_subst_size*4); - } - #endif - if (ilseq_unicode_subst != NULL) { - subst_uc_to_mb_cd = iconv_open(tocode,"char"); - subst_uc_to_mb_temp_buffer = (char*)xmalloc(ilseq_unicode_subst_size*4); - } - fallbacks.mb_to_uc_fallback = - (ilseq_byte_subst != NULL ? subst_mb_to_uc_fallback : NULL); - fallbacks.uc_to_mb_fallback = - (ilseq_unicode_subst != NULL ? subst_uc_to_mb_fallback : NULL); - fallbacks.mb_to_wc_fallback = - (ilseq_byte_subst != NULL ? subst_mb_to_wc_fallback : NULL); - fallbacks.wc_to_mb_fallback = - (ilseq_wchar_subst != NULL ? subst_wc_to_mb_fallback : NULL); - fallbacks.data = NULL; - iconvctl(cd, ICONV_SET_FALLBACKS, &fallbacks); - } - /* Set up hooks for updating the line and column position. */ - hooks.uc_hook = update_line_column; - hooks.wc_hook = NULL; - hooks.data = NULL; - iconvctl(cd, ICONV_SET_HOOKS, &hooks); - if (i == argc) - status = convert(cd,fileno(stdin), - /* TRANSLATORS: A filename substitute denoting standard input. */ - _("(stdin)")); - else { - status = 0; - for (; i < argc; i++) { - const char* infilename = argv[i]; - FILE* infile = fopen(infilename,"r"); - if (infile == NULL) { - int saved_errno = errno; - error(0,saved_errno, - /* TRANSLATORS: The first part of an error message. - It is followed by a colon and a detail message. - The %s placeholder expands to the input file name. */ - _("%s"), - infilename); - status = 1; - } else { - status |= convert(cd,fileno(infile),infilename); - fclose(infile); - } - } - } - iconv_close(cd); - } - if (ferror(stdout) || fclose(stdout)) { - error(0,0, - /* TRANSLATORS: An error message. */ - _("I/O error")); - status = 1; - } - exit(status); -} diff --git a/Externals/libiconv-1.14/src/iconv_no_i18n.c b/Externals/libiconv-1.14/src/iconv_no_i18n.c deleted file mode 100644 index 88e943bfbd8..00000000000 --- a/Externals/libiconv-1.14/src/iconv_no_i18n.c +++ /dev/null @@ -1,2 +0,0 @@ -#define NO_I18N -#include "iconv.c" diff --git a/Externals/libiconv/CMakeLists.txt b/Externals/libiconv/CMakeLists.txt new file mode 100644 index 00000000000..a447d607715 --- /dev/null +++ b/Externals/libiconv/CMakeLists.txt @@ -0,0 +1,17 @@ +project(libiconv VERSION 1.18 LANGUAGES C) +add_subdirectory(lib) +add_subdirectory(libcharset) + +add_library(iconv STATIC + lib/iconv.c +) + +target_link_libraries(iconv PUBLIC libcharset) +target_include_directories(iconv + PUBLIC + $ + $ +) + +dolphin_disable_warnings(iconv) +add_library(Iconv::Iconv ALIAS iconv) diff --git a/Externals/libiconv/include/export.h b/Externals/libiconv/include/export.h new file mode 100644 index 00000000000..d68fc3b0fd1 --- /dev/null +++ b/Externals/libiconv/include/export.h @@ -0,0 +1,36 @@ +/* Control of exported symbols from libiconv. + Copyright (C) 2005-2023 Free Software Foundation, Inc. + + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + This file is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ + +#if @HAVE_VISIBILITY@ && BUILDING_LIBICONV +# define LIBICONV_SHLIB_EXPORTED __attribute__((__visibility__("default"))) +#elif defined _MSC_VER && BUILDING_LIBICONV +/* When building with MSVC, exporting a symbol means that the object file + contains a "linker directive" of the form /EXPORT:symbol. This can be + inspected through the "objdump -s --section=.drectve FILE" or + "dumpbin /directives FILE" commands. + The symbols from this file should be exported if and only if the object + file gets included in a DLL. Libtool, on Windows platforms, defines + the C macro DLL_EXPORT (together with PIC) when compiling for a shared + library (called DLL under Windows) and does not define it when compiling + an object file meant to be linked statically into some executable. */ +# if defined DLL_EXPORT +# define LIBICONV_SHLIB_EXPORTED __declspec(dllexport) +# else +# define LIBICONV_SHLIB_EXPORTED +# endif +#else +# define LIBICONV_SHLIB_EXPORTED +#endif diff --git a/Externals/libiconv-1.14/include/iconv.h b/Externals/libiconv/include/iconv.h similarity index 64% rename from Externals/libiconv-1.14/include/iconv.h rename to Externals/libiconv/include/iconv.h index 987a11ec8f6..f20259abb57 100644 --- a/Externals/libiconv-1.14/include/iconv.h +++ b/Externals/libiconv/include/iconv.h @@ -1,51 +1,68 @@ -/* Copyright (C) 1999-2003, 2005-2006, 2008-2011 Free Software Foundation, Inc. +/* Copyright (C) 1999-2024 Free Software Foundation, Inc. This file is part of the GNU LIBICONV Library. The GNU LIBICONV Library is free software; you can redistribute it - and/or modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either version 2 + and/or modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. The GNU LIBICONV Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. + Lesser General Public License for more details. - You should have received a copy of the GNU Library General Public + You should have received a copy of the GNU Lesser General Public License along with the GNU LIBICONV Library; see the file COPYING.LIB. - If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - Fifth Floor, Boston, MA 02110-1301, USA. */ + If not, see . */ /* When installed, this file is called "iconv.h". */ #ifndef _LIBICONV_H #define _LIBICONV_H -#define _LIBICONV_VERSION 0x010E /* version number: (major<<8) + minor */ +#ifdef __cplusplus +extern "C" { +#endif + +#define _LIBICONV_VERSION 0x0112 /* version number: (major<<8) + minor */ #if 1 && BUILDING_LIBICONV -#define LIBICONV_DLL_EXPORTED __attribute__((__visibility__("default"))) +# define LIBICONV_SHLIB_EXPORTED __attribute__((__visibility__("default"))) +#elif defined _MSC_VER && BUILDING_LIBICONV +/* When building with MSVC, exporting a symbol means that the object file + contains a "linker directive" of the form /EXPORT:symbol. This can be + inspected through the "objdump -s --section=.drectve FILE" or + "dumpbin /directives FILE" commands. + The symbols from this file should be exported if and only if the object + file gets included in a DLL. Libtool, on Windows platforms, defines + the C macro DLL_EXPORT (together with PIC) when compiling for a shared + library (called DLL under Windows) and does not define it when compiling + an object file meant to be linked statically into some executable. */ +# if defined DLL_EXPORT +# define LIBICONV_SHLIB_EXPORTED __declspec(dllexport) +# else +# define LIBICONV_SHLIB_EXPORTED +# endif #else -#define LIBICONV_DLL_EXPORTED +# define LIBICONV_SHLIB_EXPORTED +#endif +extern LIBICONV_SHLIB_EXPORTED int _libiconv_version; /* Likewise */ + +#ifdef __cplusplus +} #endif -extern LIBICONV_DLL_EXPORTED 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 + iconv_t, in order to eliminate the risk that the user gets compilation errors because some other system header file includes /usr/include/iconv.h - which defines iconv_t or declares iconv after this file, 2. when compiling - for LIBICONV_PLUG, we need the proper iconv_t type in order to produce - binary compatible code. + which defines iconv_t or declares iconv after this file. But gcc's #include_next is not portable. Thus, once libiconv's iconv.h has been installed in /usr/local/include, there is no way any more to include the original /usr/include/iconv.h. We simply have to get away without it. - Ad 1. The risk that a system header file does + The risk that a system header file does #include "iconv.h" or #include_next "iconv.h" - is small. They all do #include . - Ad 2. The iconv_t type is a pointer type in all cases I have seen. (It - has to be a scalar type because (iconv_t)(-1) is a possible return value - from iconv_open().) */ + is small. They all do #include . */ /* Define iconv_t ourselves. */ #undef iconv_t @@ -73,26 +90,20 @@ extern "C" { /* Allocates descriptor for code conversion from encoding ‘fromcode’ to encoding ‘tocode’. */ -#ifndef LIBICONV_PLUG #define iconv_open libiconv_open -#endif -extern LIBICONV_DLL_EXPORTED iconv_t iconv_open (const char* tocode, const char* fromcode); +extern LIBICONV_SHLIB_EXPORTED iconv_t iconv_open (const char* tocode, const char* fromcode); /* Converts, using conversion descriptor ‘cd’, at most ‘*inbytesleft’ bytes starting at ‘*inbuf’, writing at most ‘*outbytesleft’ bytes starting at ‘*outbuf’. Decrements ‘*inbytesleft’ and increments ‘*inbuf’ by the same amount. Decrements ‘*outbytesleft’ and increments ‘*outbuf’ by the same amount. */ -#ifndef LIBICONV_PLUG #define iconv libiconv -#endif -extern LIBICONV_DLL_EXPORTED size_t iconv (iconv_t cd, char* * inbuf, size_t *inbytesleft, char* * outbuf, size_t *outbytesleft); +extern LIBICONV_SHLIB_EXPORTED size_t iconv (iconv_t cd, char* * inbuf, size_t *inbytesleft, char* * outbuf, size_t *outbytesleft); /* Frees resources allocated for conversion descriptor ‘cd’. */ -#ifndef LIBICONV_PLUG #define iconv_close libiconv_close -#endif -extern LIBICONV_DLL_EXPORTED int iconv_close (iconv_t cd); +extern LIBICONV_SHLIB_EXPORTED int iconv_close (iconv_t cd); #ifdef __cplusplus @@ -100,8 +111,6 @@ extern LIBICONV_DLL_EXPORTED int iconv_close (iconv_t cd); #endif -#ifndef LIBICONV_PLUG - /* Nonstandard extensions. */ #if 1 @@ -134,12 +143,12 @@ typedef struct { encoding ‘tocode’ into preallocated memory. Returns an error indicator (0 or -1 with errno set). */ #define iconv_open_into libiconv_open_into -extern LIBICONV_DLL_EXPORTED int iconv_open_into (const char* tocode, const char* fromcode, +extern LIBICONV_SHLIB_EXPORTED int iconv_open_into (const char* tocode, const char* fromcode, iconv_allocation_t* resultp); /* Control of attributes. */ #define iconvctl libiconvctl -extern LIBICONV_DLL_EXPORTED int iconvctl (iconv_t cd, int request, void* argument); +extern LIBICONV_SHLIB_EXPORTED int iconvctl (iconv_t cd, int request, void* argument); /* Hook performed after every successful conversion of a Unicode character. */ typedef void (*iconv_unicode_char_hook) (unsigned int uc, void* data); @@ -172,7 +181,6 @@ typedef void (*iconv_unicode_uc_to_mb_fallback) void* callback_arg), void* callback_arg, void* data); -#if 1 /* Fallback function. Invoked when a number of bytes could not be converted to a wide character. This function should process all bytes from inbuf and may produce replacement wide characters by calling the write_replacement @@ -193,12 +201,6 @@ typedef void (*iconv_wchar_wc_to_mb_fallback) void* callback_arg), void* callback_arg, void* data); -#else -/* If the wchar_t type does not exist, these two fallback functions are never - invoked. Their argument list therefore does not matter. */ -typedef void (*iconv_wchar_mb_to_wc_fallback) (); -typedef void (*iconv_wchar_wc_to_mb_fallback) (); -#endif /* Set of fallbacks. */ struct iconv_fallbacks { iconv_unicode_mb_to_uc_fallback mb_to_uc_fallback; @@ -208,25 +210,41 @@ struct iconv_fallbacks { void* data; }; +/* Surfaces. + The concept of surfaces is described in the 'recode' manual. */ +#define ICONV_SURFACE_NONE 0 +/* In EBCDIC encodings, 0x15 (which encodes the "newline function", see the + Unicode standard, chapter 5) maps to U+000A instead of U+0085. This is + for interoperability with C programs and Unix environments on z/OS. */ +#define ICONV_SURFACE_EBCDIC_ZOS_UNIX 1 + /* Requests for iconvctl. */ -#define ICONV_TRIVIALP 0 /* int *argument */ -#define ICONV_GET_TRANSLITERATE 1 /* int *argument */ -#define ICONV_SET_TRANSLITERATE 2 /* const int *argument */ -#define ICONV_GET_DISCARD_ILSEQ 3 /* int *argument */ -#define ICONV_SET_DISCARD_ILSEQ 4 /* const int *argument */ -#define ICONV_SET_HOOKS 5 /* const struct iconv_hooks *argument */ -#define ICONV_SET_FALLBACKS 6 /* const struct iconv_fallbacks *argument */ +#define ICONV_TRIVIALP 0 /* int *argument */ +#define ICONV_GET_TRANSLITERATE 1 /* int *argument */ +#define ICONV_SET_TRANSLITERATE 2 /* const int *argument */ +#define ICONV_GET_DISCARD_ILSEQ 3 /* int *argument */ +#define ICONV_SET_DISCARD_ILSEQ 4 /* const int *argument */ +#define ICONV_SET_HOOKS 5 /* const struct iconv_hooks *argument */ +#define ICONV_SET_FALLBACKS 6 /* const struct iconv_fallbacks *argument */ +#define ICONV_GET_FROM_SURFACE 7 /* unsigned int *argument */ +#define ICONV_SET_FROM_SURFACE 8 /* const unsigned int *argument */ +#define ICONV_GET_TO_SURFACE 9 /* unsigned int *argument */ +#define ICONV_SET_TO_SURFACE 10 /* const unsigned int *argument */ +#define ICONV_GET_DISCARD_INVALID 11 /* int *argument */ +#define ICONV_SET_DISCARD_INVALID 12 /* const int *argument */ +#define ICONV_GET_DISCARD_NON_IDENTICAL 13 /* int *argument */ +#define ICONV_SET_DISCARD_NON_IDENTICAL 14 /* const int *argument */ /* Listing of locale independent encodings. */ #define iconvlist libiconvlist -extern LIBICONV_DLL_EXPORTED void iconvlist (int (*do_one) (unsigned int namescount, +extern LIBICONV_SHLIB_EXPORTED void iconvlist (int (*do_one) (unsigned int namescount, const char * const * names, void* data), void* data); /* Canonicalize an encoding name. The result is either a canonical encoding name, or name itself. */ -extern LIBICONV_DLL_EXPORTED const char * iconv_canonicalize (const char * name); +extern LIBICONV_SHLIB_EXPORTED const char * iconv_canonicalize (const char * name); /* Support for relocatable packages. */ @@ -235,14 +253,12 @@ extern LIBICONV_DLL_EXPORTED const char * iconv_canonicalize (const char * name) by the corresponding pathname with the current prefix instead. Both prefixes should be directory names without trailing slash (i.e. use "" instead of "/"). */ -extern LIBICONV_DLL_EXPORTED void libiconv_set_relocation_prefix (const char *orig_prefix, +extern LIBICONV_SHLIB_EXPORTED void libiconv_set_relocation_prefix (const char *orig_prefix, const char *curr_prefix); #ifdef __cplusplus } #endif -#endif - #endif /* _LIBICONV_H */ diff --git a/Externals/libiconv/lib/CMakeLists.txt b/Externals/libiconv/lib/CMakeLists.txt new file mode 100644 index 00000000000..00d1975a9ea --- /dev/null +++ b/Externals/libiconv/lib/CMakeLists.txt @@ -0,0 +1,59 @@ +option(ENABLE_EXTRA "Enable a few rarely used encodings" OFF) +option(ENABLE_RELOCATABLE "Allow the package to run at any location in the file system" ON) + +include(CheckIncludeFile) +check_include_file("stddef.h" HAVE_STDDEF_H) +check_include_file("stdlib.h" HAVE_STDLIB_H) +check_include_file("string.h" HAVE_STRING_H) + + +include(CheckFunctionExists) +check_function_exists(getc_unlocked HAVE_GETC_UNLOCKED) +check_function_exists(mbrtowc HAVE_MBRTOWC) +check_function_exists(setlocale HAVE_SETLOCALE) +check_function_exists(wcrtomb HAVE_WCRTOMB) + +include(CheckCCompilerFlag) +check_c_compiler_flag("-fvisibility=hidden" HAVE_VISIBILITY) + +include(CheckSymbolExists) +check_symbol_exists(nl_langinfo "langinfo.h" HAVE_LANGINFO_CODESET) +check_symbol_exists(iconv_open "iconv.h" HAVE_LANGINFO_CODESET) +check_symbol_exists(O_NOFOLLOW "fcntl.h" HAVE_WORKING_O_NOFOLLOW) + +include(CheckTypeSize) +check_type_size(mbstate_t MBSTATE_T) +check_type_size(mode_t MODE_T) +check_type_size(ssize_t SSIZE_T) + +if(NOT HAVE_MBSTATE_T) + set(MBSTATE_T "int") +else() + unset(MBSTATE_T) +endif() + +if(NOT HAVE_MODE_T) + set(MODE_T "int") +else() + unset(MODE_T) +endif() + +if(NOT HAVE_SSIZE_T) + set(SSIZE_T "int") +else() + unset(SSIZE_T) +endif() + +include(TestBigEndian) +test_big_endian(IS_BIG_ENDIAN) +if(IS_BIG_ENDIAN) + set(WORDS_LITTLEENDIAN 0) +else() + set(WORDS_LITTLEENDIAN 1) +endif() + +configure_file( + ${CMAKE_CURRENT_SOURCE_DIR}/config.h.in + ${CMAKE_CURRENT_BINARY_DIR}/config.h + @ONLY +) \ No newline at end of file diff --git a/Externals/libiconv/lib/aliases.gperf b/Externals/libiconv/lib/aliases.gperf new file mode 100644 index 00000000000..91a62999eab --- /dev/null +++ b/Externals/libiconv/lib/aliases.gperf @@ -0,0 +1,362 @@ +struct alias { int name; unsigned int encoding_index; }; +%struct-type +%language=ANSI-C +%define hash-function-name aliases_hash +%define lookup-function-name aliases_lookup +%7bit +%readonly-tables +%global-table +%define word-array-name aliases +%pic +%% +US-ASCII, ei_ascii +ASCII, ei_ascii +ISO646-US, ei_ascii +ISO_646.IRV:1991, ei_ascii +ISO-IR-6, ei_ascii +ANSI_X3.4-1968, ei_ascii +ANSI_X3.4-1986, ei_ascii +CP367, ei_ascii +IBM367, ei_ascii +US, ei_ascii +CSASCII, ei_ascii +UTF-8, ei_utf8 +UCS-2, ei_ucs2 +ISO-10646-UCS-2, ei_ucs2 +CSUNICODE, ei_ucs2 +UCS-2BE, ei_ucs2be +UNICODEBIG, ei_ucs2be +UNICODE-1-1, ei_ucs2be +CSUNICODE11, ei_ucs2be +UCS-2LE, ei_ucs2le +UNICODELITTLE, ei_ucs2le +UCS-4, ei_ucs4 +ISO-10646-UCS-4, ei_ucs4 +CSUCS4, ei_ucs4 +UCS-4BE, ei_ucs4be +UCS-4LE, ei_ucs4le +UTF-16, ei_utf16 +UTF-16BE, ei_utf16be +UTF-16LE, ei_utf16le +UTF-32, ei_utf32 +UTF-32BE, ei_utf32be +UTF-32LE, ei_utf32le +UTF-7, ei_utf7 +UNICODE-1-1-UTF-7, ei_utf7 +CSUNICODE11UTF7, ei_utf7 +UCS-2-INTERNAL, ei_ucs2internal +UCS-2-SWAPPED, ei_ucs2swapped +UCS-4-INTERNAL, ei_ucs4internal +UCS-4-SWAPPED, ei_ucs4swapped +C99, ei_c99 +JAVA, ei_java +ISO-8859-1, ei_iso8859_1 +ISO_8859-1, ei_iso8859_1 +ISO_8859-1:1987, ei_iso8859_1 +ISO-IR-100, ei_iso8859_1 +CP819, ei_iso8859_1 +IBM819, ei_iso8859_1 +LATIN1, ei_iso8859_1 +L1, ei_iso8859_1 +CSISOLATIN1, ei_iso8859_1 +ISO8859-1, ei_iso8859_1 +ISO-8859-2, ei_iso8859_2 +ISO_8859-2, ei_iso8859_2 +ISO_8859-2:1987, ei_iso8859_2 +ISO-IR-101, ei_iso8859_2 +LATIN2, ei_iso8859_2 +L2, ei_iso8859_2 +CSISOLATIN2, ei_iso8859_2 +ISO8859-2, ei_iso8859_2 +ISO-8859-3, ei_iso8859_3 +ISO_8859-3, ei_iso8859_3 +ISO_8859-3:1988, ei_iso8859_3 +ISO-IR-109, ei_iso8859_3 +LATIN3, ei_iso8859_3 +L3, ei_iso8859_3 +CSISOLATIN3, ei_iso8859_3 +ISO8859-3, ei_iso8859_3 +ISO-8859-4, ei_iso8859_4 +ISO_8859-4, ei_iso8859_4 +ISO_8859-4:1988, ei_iso8859_4 +ISO-IR-110, ei_iso8859_4 +LATIN4, ei_iso8859_4 +L4, ei_iso8859_4 +CSISOLATIN4, ei_iso8859_4 +ISO8859-4, ei_iso8859_4 +ISO-8859-5, ei_iso8859_5 +ISO_8859-5, ei_iso8859_5 +ISO_8859-5:1988, ei_iso8859_5 +ISO-IR-144, ei_iso8859_5 +CYRILLIC, ei_iso8859_5 +CSISOLATINCYRILLIC, ei_iso8859_5 +ISO8859-5, ei_iso8859_5 +ISO-8859-6, ei_iso8859_6 +ISO_8859-6, ei_iso8859_6 +ISO_8859-6:1987, ei_iso8859_6 +ISO-IR-127, ei_iso8859_6 +ECMA-114, ei_iso8859_6 +ASMO-708, ei_iso8859_6 +ARABIC, ei_iso8859_6 +CSISOLATINARABIC, ei_iso8859_6 +ISO8859-6, ei_iso8859_6 +ISO-8859-7, ei_iso8859_7 +ISO_8859-7, ei_iso8859_7 +ISO_8859-7:1987, ei_iso8859_7 +ISO_8859-7:2003, ei_iso8859_7 +ISO-IR-126, ei_iso8859_7 +ECMA-118, ei_iso8859_7 +ELOT_928, ei_iso8859_7 +GREEK8, ei_iso8859_7 +GREEK, ei_iso8859_7 +CSISOLATINGREEK, ei_iso8859_7 +ISO8859-7, ei_iso8859_7 +ISO-8859-8, ei_iso8859_8 +ISO_8859-8, ei_iso8859_8 +ISO_8859-8:1988, ei_iso8859_8 +ISO-IR-138, ei_iso8859_8 +HEBREW, ei_iso8859_8 +CSISOLATINHEBREW, ei_iso8859_8 +ISO8859-8, ei_iso8859_8 +ISO-8859-9, ei_iso8859_9 +ISO_8859-9, ei_iso8859_9 +ISO_8859-9:1989, ei_iso8859_9 +ISO-IR-148, ei_iso8859_9 +LATIN5, ei_iso8859_9 +L5, ei_iso8859_9 +CSISOLATIN5, ei_iso8859_9 +ISO8859-9, ei_iso8859_9 +ISO-8859-10, ei_iso8859_10 +ISO_8859-10, ei_iso8859_10 +ISO_8859-10:1992, ei_iso8859_10 +ISO-IR-157, ei_iso8859_10 +LATIN6, ei_iso8859_10 +L6, ei_iso8859_10 +CSISOLATIN6, ei_iso8859_10 +ISO8859-10, ei_iso8859_10 +ISO-8859-11, ei_iso8859_11 +ISO_8859-11, ei_iso8859_11 +ISO8859-11, ei_iso8859_11 +ISO-8859-13, ei_iso8859_13 +ISO_8859-13, ei_iso8859_13 +ISO-IR-179, ei_iso8859_13 +LATIN7, ei_iso8859_13 +L7, ei_iso8859_13 +ISO8859-13, ei_iso8859_13 +ISO-8859-14, ei_iso8859_14 +ISO_8859-14, ei_iso8859_14 +ISO_8859-14:1998, ei_iso8859_14 +ISO-IR-199, ei_iso8859_14 +LATIN8, ei_iso8859_14 +L8, ei_iso8859_14 +ISO-CELTIC, ei_iso8859_14 +ISO8859-14, ei_iso8859_14 +ISO-8859-15, ei_iso8859_15 +ISO_8859-15, ei_iso8859_15 +ISO_8859-15:1998, ei_iso8859_15 +ISO-IR-203, ei_iso8859_15 +LATIN-9, ei_iso8859_15 +ISO8859-15, ei_iso8859_15 +ISO-8859-16, ei_iso8859_16 +ISO_8859-16, ei_iso8859_16 +ISO_8859-16:2001, ei_iso8859_16 +ISO-IR-226, ei_iso8859_16 +LATIN10, ei_iso8859_16 +L10, ei_iso8859_16 +ISO8859-16, ei_iso8859_16 +KOI8-R, ei_koi8_r +CSKOI8R, ei_koi8_r +KOI8-U, ei_koi8_u +KOI8-RU, ei_koi8_ru +CP1250, ei_cp1250 +WINDOWS-1250, ei_cp1250 +MS-EE, ei_cp1250 +CP1251, ei_cp1251 +WINDOWS-1251, ei_cp1251 +MS-CYRL, ei_cp1251 +CP1252, ei_cp1252 +WINDOWS-1252, ei_cp1252 +MS-ANSI, ei_cp1252 +CP1253, ei_cp1253 +WINDOWS-1253, ei_cp1253 +MS-GREEK, ei_cp1253 +CP1254, ei_cp1254 +WINDOWS-1254, ei_cp1254 +MS-TURK, ei_cp1254 +CP1255, ei_cp1255 +WINDOWS-1255, ei_cp1255 +MS-HEBR, ei_cp1255 +CP1256, ei_cp1256 +WINDOWS-1256, ei_cp1256 +MS-ARAB, ei_cp1256 +CP1257, ei_cp1257 +WINDOWS-1257, ei_cp1257 +WINBALTRIM, ei_cp1257 +CP1258, ei_cp1258 +WINDOWS-1258, ei_cp1258 +CP850, ei_cp850 +IBM850, ei_cp850 +850, ei_cp850 +CSPC850MULTILINGUAL, ei_cp850 +CP862, ei_cp862 +IBM862, ei_cp862 +862, ei_cp862 +CSPC862LATINHEBREW, ei_cp862 +CP866, ei_cp866 +IBM866, ei_cp866 +866, ei_cp866 +CSIBM866, ei_cp866 +CP1131, ei_cp1131 +MACROMAN, ei_mac_roman +MACINTOSH, ei_mac_roman +MAC, ei_mac_roman +CSMACINTOSH, ei_mac_roman +MACCENTRALEUROPE, ei_mac_centraleurope +MACICELAND, ei_mac_iceland +MACCROATIAN, ei_mac_croatian +MACROMANIA, ei_mac_romania +MACCYRILLIC, ei_mac_cyrillic +MACUKRAINE, ei_mac_ukraine +MACGREEK, ei_mac_greek +MACTURKISH, ei_mac_turkish +MACHEBREW, ei_mac_hebrew +MACARABIC, ei_mac_arabic +MACTHAI, ei_mac_thai +HP-ROMAN8, ei_hp_roman8 +ROMAN8, ei_hp_roman8 +R8, ei_hp_roman8 +CSHPROMAN8, ei_hp_roman8 +NEXTSTEP, ei_nextstep +ARMSCII-8, ei_armscii_8 +GEORGIAN-ACADEMY, ei_georgian_academy +GEORGIAN-PS, ei_georgian_ps +KOI8-T, ei_koi8_t +PT154, ei_pt154 +PTCP154, ei_pt154 +CP154, ei_pt154 +CYRILLIC-ASIAN, ei_pt154 +CSPTCP154, ei_pt154 +RK1048, ei_rk1048 +STRK1048-2002, ei_rk1048 +KZ-1048, ei_rk1048 +CSKZ1048, ei_rk1048 +MULELAO-1, ei_mulelao +CP1133, ei_cp1133 +IBM-CP1133, ei_cp1133 +TIS-620, ei_tis620 +TIS620, ei_tis620 +TIS620-0, ei_tis620 +TIS620.2529-1, ei_tis620 +TIS620.2533-0, ei_tis620 +TIS620.2533-1, ei_tis620 +ISO-IR-166, ei_tis620 +CP874, ei_cp874 +WINDOWS-874, ei_cp874 +VISCII, ei_viscii +VISCII1.1-1, ei_viscii +CSVISCII, ei_viscii +TCVN, ei_tcvn +TCVN-5712, ei_tcvn +TCVN5712-1, ei_tcvn +TCVN5712-1:1993, ei_tcvn +JIS_C6220-1969-RO, ei_iso646_jp +ISO646-JP, ei_iso646_jp +ISO-IR-14, ei_iso646_jp +JP, ei_iso646_jp +CSISO14JISC6220RO, ei_iso646_jp +JIS_X0201, ei_jisx0201 +JISX0201-1976, ei_jisx0201 +X0201, ei_jisx0201 +CSHALFWIDTHKATAKANA, ei_jisx0201 +JIS_X0208, ei_jisx0208 +JIS_X0208-1983, ei_jisx0208 +JIS_X0208-1990, ei_jisx0208 +JIS0208, ei_jisx0208 +X0208, ei_jisx0208 +ISO-IR-87, ei_jisx0208 +JIS_C6226-1983, ei_jisx0208 +CSISO87JISX0208, ei_jisx0208 +JIS_X0212, ei_jisx0212 +JIS_X0212.1990-0, ei_jisx0212 +JIS_X0212-1990, ei_jisx0212 +X0212, ei_jisx0212 +ISO-IR-159, ei_jisx0212 +CSISO159JISX02121990, ei_jisx0212 +GB_1988-80, ei_iso646_cn +ISO646-CN, ei_iso646_cn +ISO-IR-57, ei_iso646_cn +CN, ei_iso646_cn +CSISO57GB1988, ei_iso646_cn +GB_2312-80, ei_gb2312 +ISO-IR-58, ei_gb2312 +CSISO58GB231280, ei_gb2312 +CHINESE, ei_gb2312 +ISO-IR-165, ei_isoir165 +CN-GB-ISOIR165, ei_isoir165 +KSC_5601, ei_ksc5601 +KS_C_5601-1987, ei_ksc5601 +KS_C_5601-1989, ei_ksc5601 +ISO-IR-149, ei_ksc5601 +CSKSC56011987, ei_ksc5601 +KOREAN, ei_ksc5601 +EUC-JP, ei_euc_jp +EUCJP, ei_euc_jp +EXTENDED_UNIX_CODE_PACKED_FORMAT_FOR_JAPANESE, ei_euc_jp +CSEUCPKDFMTJAPANESE, ei_euc_jp +SHIFT_JIS, ei_sjis +SHIFT-JIS, ei_sjis +SJIS, ei_sjis +MS_KANJI, ei_sjis +CSSHIFTJIS, ei_sjis +CP932, ei_cp932 +ISO-2022-JP, ei_iso2022_jp +CSISO2022JP, ei_iso2022_jp +ISO-2022-JP-1, ei_iso2022_jp1 +ISO-2022-JP-2, ei_iso2022_jp2 +CSISO2022JP2, ei_iso2022_jp2 +ISO-2022-JP-MS, ei_iso2022_jpms +CP50221, ei_iso2022_jpms +EUC-CN, ei_euc_cn +EUCCN, ei_euc_cn +GB2312, ei_euc_cn +CN-GB, ei_euc_cn +CSGB2312, ei_euc_cn +GBK, ei_ces_gbk +CP936, ei_cp936 +MS936, ei_cp936 +WINDOWS-936, ei_cp936 +GB18030, ei_gb18030_2005 +GB18030:2005, ei_gb18030_2005 +GB18030:2022, ei_gb18030_2022 +ISO-2022-CN, ei_iso2022_cn +CSISO2022CN, ei_iso2022_cn +ISO-2022-CN-EXT, ei_iso2022_cn_ext +HZ, ei_hz +HZ-GB-2312, ei_hz +EUC-TW, ei_euc_tw +EUCTW, ei_euc_tw +CSEUCTW, ei_euc_tw +BIG5, ei_ces_big5 +BIG-5, ei_ces_big5 +BIG-FIVE, ei_ces_big5 +BIGFIVE, ei_ces_big5 +CN-BIG5, ei_ces_big5 +CSBIG5, ei_ces_big5 +CP950, ei_cp950 +BIG5-HKSCS:1999, ei_big5hkscs1999 +BIG5-HKSCS:2001, ei_big5hkscs2001 +BIG5-HKSCS:2004, ei_big5hkscs2004 +BIG5-HKSCS, ei_big5hkscs2008 +BIG5HKSCS, ei_big5hkscs2008 +BIG5-HKSCS:2008, ei_big5hkscs2008 +EUC-KR, ei_euc_kr +EUCKR, ei_euc_kr +CSEUCKR, ei_euc_kr +CP949, ei_cp949 +UHC, ei_cp949 +JOHAB, ei_johab +CP1361, ei_johab +ISO-2022-KR, ei_iso2022_kr +CSISO2022KR, ei_iso2022_kr +CHAR, ei_local_char +WCHAR_T, ei_local_wchar_t diff --git a/Externals/libiconv/lib/aliases.h b/Externals/libiconv/lib/aliases.h new file mode 100644 index 00000000000..65343bf46e4 --- /dev/null +++ b/Externals/libiconv/lib/aliases.h @@ -0,0 +1,1785 @@ +/* ANSI-C code produced by gperf version 3.2 */ +/* Command-line: gperf -m 10 lib/aliases.gperf */ +/* Computed positions: -k'1,3-11,$' */ + +#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \ + && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \ + && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \ + && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \ + && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \ + && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \ + && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \ + && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \ + && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \ + && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \ + && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \ + && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \ + && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \ + && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \ + && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \ + && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \ + && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \ + && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \ + && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \ + && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \ + && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \ + && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \ + && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126)) +/* The character set is not based on ISO-646. */ +#error "gperf generated tables don't work with this execution character set. Please report a bug to ." +#endif + +#line 1 "lib/aliases.gperf" +struct alias { int name; unsigned int encoding_index; }; + +#define TOTAL_KEYWORDS 351 +#define MIN_WORD_LENGTH 2 +#define MAX_WORD_LENGTH 45 +#define MIN_HASH_VALUE 15 +#define MAX_HASH_VALUE 921 +/* maximum key range = 907, duplicates = 0 */ + +#ifdef __GNUC__ +__inline +#else +#ifdef __cplusplus +inline +#endif +#endif +static unsigned int +aliases_hash (register const char *str, register size_t len) +{ + static const unsigned short asso_values[] = + { + 922, 922, 922, 922, 922, 922, 922, 922, 922, 922, + 922, 922, 922, 922, 922, 922, 922, 922, 922, 922, + 922, 922, 922, 922, 922, 922, 922, 922, 922, 922, + 922, 922, 922, 922, 922, 922, 922, 922, 922, 922, + 922, 922, 922, 922, 922, 5, 6, 922, 97, 7, + 33, 102, 15, 17, 5, 173, 23, 25, 193, 922, + 922, 922, 922, 922, 922, 168, 159, 11, 32, 25, + 159, 13, 70, 6, 308, 186, 8, 132, 7, 6, + 62, 922, 5, 8, 30, 174, 163, 180, 79, 28, + 6, 922, 922, 922, 922, 6, 922, 922, 922, 922, + 922, 922, 922, 922, 922, 922, 922, 922, 922, 922, + 922, 922, 922, 922, 922, 922, 922, 922, 922, 922, + 922, 922, 922, 922, 922, 922, 922, 922 + }; + register unsigned int hval = len; + + switch (hval) + { + default: + hval += asso_values[(unsigned char)str[10]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif + /*FALLTHROUGH*/ + case 10: + hval += asso_values[(unsigned char)str[9]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif + /*FALLTHROUGH*/ + case 9: + hval += asso_values[(unsigned char)str[8]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif + /*FALLTHROUGH*/ + case 8: + hval += asso_values[(unsigned char)str[7]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif + /*FALLTHROUGH*/ + case 7: + hval += asso_values[(unsigned char)str[6]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif + /*FALLTHROUGH*/ + case 6: + hval += asso_values[(unsigned char)str[5]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif + /*FALLTHROUGH*/ + case 5: + hval += asso_values[(unsigned char)str[4]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif + /*FALLTHROUGH*/ + case 4: + hval += asso_values[(unsigned char)str[3]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif + /*FALLTHROUGH*/ + case 3: + hval += asso_values[(unsigned char)str[2]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif + /*FALLTHROUGH*/ + case 2: + case 1: + hval += asso_values[(unsigned char)str[0]]; + break; + } + return hval + asso_values[(unsigned char)str[len - 1]]; +} + +struct stringpool_t + { + char stringpool_str15[sizeof("L6")]; + char stringpool_str17[sizeof("L1")]; + char stringpool_str20[sizeof("CN")]; + char stringpool_str25[sizeof("L4")]; + char stringpool_str27[sizeof("L5")]; + char stringpool_str30[sizeof("R8")]; + char stringpool_str33[sizeof("L8")]; + char stringpool_str34[sizeof("SJIS")]; + char stringpool_str36[sizeof("866")]; + char stringpool_str43[sizeof("L2")]; + char stringpool_str51[sizeof("ISO-IR-6")]; + char stringpool_str54[sizeof("CP866")]; + char stringpool_str64[sizeof("C99")]; + char stringpool_str65[sizeof("ISO-IR-166")]; + char stringpool_str66[sizeof("EUCCN")]; + char stringpool_str67[sizeof("LATIN6")]; + char stringpool_str70[sizeof("CP154")]; + char stringpool_str71[sizeof("LATIN1")]; + char stringpool_str72[sizeof("EUC-CN")]; + char stringpool_str74[sizeof("CYRILLIC")]; + char stringpool_str76[sizeof("ISO646-CN")]; + char stringpool_str78[sizeof("HZ")]; + char stringpool_str79[sizeof("ISO-IR-14")]; + char stringpool_str84[sizeof("CP1256")]; + char stringpool_str87[sizeof("LATIN4")]; + char stringpool_str88[sizeof("CP1251")]; + char stringpool_str89[sizeof("ISO-IR-165")]; + char stringpool_str91[sizeof("LATIN5")]; + char stringpool_str92[sizeof("862")]; + char stringpool_str93[sizeof("ISO-IR-126")]; + char stringpool_str95[sizeof("ISO-IR-144")]; + char stringpool_str96[sizeof("CP819")]; + char stringpool_str103[sizeof("LATIN8")]; + char stringpool_str104[sizeof("CP1254")]; + char stringpool_str105[sizeof("ISO-IR-58")]; + char stringpool_str106[sizeof("CP949")]; + char stringpool_str108[sizeof("CP1255")]; + char stringpool_str110[sizeof("CP862")]; + char stringpool_str111[sizeof("ISO-IR-148")]; + char stringpool_str112[sizeof("L3")]; + char stringpool_str113[sizeof("LATIN-9")]; + char stringpool_str114[sizeof("CHINESE")]; + char stringpool_str115[sizeof("ISO-IR-149")]; + char stringpool_str117[sizeof("ISO-IR-159")]; + char stringpool_str119[sizeof("ISO-IR-226")]; + char stringpool_str120[sizeof("CP1258")]; + char stringpool_str121[sizeof("PT154")]; + char stringpool_str123[sizeof("LATIN2")]; + char stringpool_str124[sizeof("ISO8859-6")]; + char stringpool_str125[sizeof("ISO-IR-199")]; + char stringpool_str128[sizeof("ISO8859-1")]; + char stringpool_str129[sizeof("ISO-CELTIC")]; + char stringpool_str130[sizeof("ISO-8859-6")]; + char stringpool_str131[sizeof("ISO_8859-6")]; + char stringpool_str132[sizeof("ISO8859-16")]; + char stringpool_str134[sizeof("ISO-8859-1")]; + char stringpool_str135[sizeof("ISO_8859-1")]; + char stringpool_str136[sizeof("ISO8859-11")]; + char stringpool_str138[sizeof("ISO-8859-16")]; + char stringpool_str139[sizeof("ISO_8859-16")]; + char stringpool_str140[sizeof("CP1252")]; + char stringpool_str142[sizeof("ISO-8859-11")]; + char stringpool_str143[sizeof("ISO_8859-11")]; + char stringpool_str144[sizeof("ISO8859-4")]; + char stringpool_str145[sizeof("CP1361")]; + char stringpool_str146[sizeof("ISO_8859-16:2001")]; + char stringpool_str147[sizeof("CP1131")]; + char stringpool_str148[sizeof("ISO8859-5")]; + char stringpool_str150[sizeof("ISO-8859-4")]; + char stringpool_str151[sizeof("ISO_8859-4")]; + char stringpool_str152[sizeof("ISO8859-14")]; + char stringpool_str153[sizeof("CP936")]; + char stringpool_str154[sizeof("ISO-8859-5")]; + char stringpool_str155[sizeof("ISO_8859-5")]; + char stringpool_str156[sizeof("ISO8859-15")]; + char stringpool_str157[sizeof("MAC")]; + char stringpool_str158[sizeof("ISO-8859-14")]; + char stringpool_str159[sizeof("ISO_8859-14")]; + char stringpool_str160[sizeof("ISO8859-8")]; + char stringpool_str161[sizeof("ISO-IR-101")]; + char stringpool_str162[sizeof("ISO-8859-15")]; + char stringpool_str163[sizeof("ISO_8859-15")]; + char stringpool_str164[sizeof("ISO8859-9")]; + char stringpool_str166[sizeof("ISO-8859-8")]; + char stringpool_str167[sizeof("ISO_8859-8")]; + char stringpool_str170[sizeof("ISO-8859-9")]; + char stringpool_str171[sizeof("ISO_8859-9")]; + char stringpool_str172[sizeof("ISO_8859-14:1998")]; + char stringpool_str174[sizeof("ISO_8859-15:1998")]; + char stringpool_str176[sizeof("RK1048")]; + char stringpool_str179[sizeof("ELOT_928")]; + char stringpool_str180[sizeof("ISO8859-2")]; + char stringpool_str182[sizeof("IBM866")]; + char stringpool_str183[sizeof("L7")]; + char stringpool_str184[sizeof("US")]; + char stringpool_str186[sizeof("ISO-8859-2")]; + char stringpool_str187[sizeof("ISO_8859-2")]; + char stringpool_str190[sizeof("X0212")]; + char stringpool_str193[sizeof("CHAR")]; + char stringpool_str196[sizeof("PTCP154")]; + char stringpool_str197[sizeof("ISO-IR-109")]; + char stringpool_str198[sizeof("ISO-IR-138")]; + char stringpool_str199[sizeof("UHC")]; + char stringpool_str202[sizeof("ASCII")]; + char stringpool_str204[sizeof("MS-CYRL")]; + char stringpool_str205[sizeof("L10")]; + char stringpool_str206[sizeof("VISCII")]; + char stringpool_str209[sizeof("CP932")]; + char stringpool_str210[sizeof("BIG5")]; + char stringpool_str211[sizeof("TCVN")]; + char stringpool_str212[sizeof("CP50221")]; + char stringpool_str216[sizeof("BIG-5")]; + char stringpool_str217[sizeof("MS-EE")]; + char stringpool_str220[sizeof("850")]; + char stringpool_str222[sizeof("UCS-4")]; + char stringpool_str223[sizeof("CSASCII")]; + char stringpool_str224[sizeof("IBM819")]; + char stringpool_str225[sizeof("CSVISCII")]; + char stringpool_str227[sizeof("GB2312")]; + char stringpool_str228[sizeof("X0201")]; + char stringpool_str229[sizeof("CSBIG5")]; + char stringpool_str235[sizeof("CN-BIG5")]; + char stringpool_str236[sizeof("KOI8-R")]; + char stringpool_str237[sizeof("EUCKR")]; + char stringpool_str238[sizeof("IBM862")]; + char stringpool_str239[sizeof("CSPTCP154")]; + char stringpool_str240[sizeof("CSUCS4")]; + char stringpool_str241[sizeof("ISO646-US")]; + char stringpool_str242[sizeof("CP874")]; + char stringpool_str243[sizeof("EUC-KR")]; + char stringpool_str244[sizeof("VISCII1.1-1")]; + char stringpool_str246[sizeof("ISO_646.IRV:1991")]; + char stringpool_str248[sizeof("MACCYRILLIC")]; + char stringpool_str249[sizeof("CSKOI8R")]; + char stringpool_str250[sizeof("CP850")]; + char stringpool_str251[sizeof("ISO-IR-110")]; + char stringpool_str252[sizeof("CP950")]; + char stringpool_str254[sizeof("ISO-2022-CN")]; + char stringpool_str255[sizeof("CN-GB-ISOIR165")]; + char stringpool_str257[sizeof("CYRILLIC-ASIAN")]; + char stringpool_str258[sizeof("UCS-2")]; + char stringpool_str259[sizeof("LATIN10")]; + char stringpool_str260[sizeof("X0208")]; + char stringpool_str261[sizeof("LATIN3")]; + char stringpool_str263[sizeof("CSISO2022CN")]; + char stringpool_str264[sizeof("ISO_8859-10:1992")]; + char stringpool_str267[sizeof("UCS-4LE")]; + char stringpool_str268[sizeof("CP1250")]; + char stringpool_str271[sizeof("CSISOLATIN6")]; + char stringpool_str273[sizeof("ISO-IR-179")]; + char stringpool_str274[sizeof("MS936")]; + char stringpool_str275[sizeof("CSISOLATIN1")]; + char stringpool_str276[sizeof("TIS620")]; + char stringpool_str278[sizeof("CP1253")]; + char stringpool_str281[sizeof("ISO-2022-CN-EXT")]; + char stringpool_str282[sizeof("TIS-620")]; + char stringpool_str285[sizeof("UCS-2LE")]; + char stringpool_str286[sizeof("KOI8-T")]; + char stringpool_str290[sizeof("CSISOLATINCYRILLIC")]; + char stringpool_str291[sizeof("CSISOLATIN4")]; + char stringpool_str295[sizeof("CSISOLATIN5")]; + char stringpool_str296[sizeof("UNICODE-1-1")]; + char stringpool_str301[sizeof("GREEK8")]; + char stringpool_str302[sizeof("UCS-4-INTERNAL")]; + char stringpool_str304[sizeof("CSUNICODE11")]; + char stringpool_str306[sizeof("CSUNICODE")]; + char stringpool_str307[sizeof("TIS620.2529-1")]; + char stringpool_str311[sizeof("NEXTSTEP")]; + char stringpool_str312[sizeof("GEORGIAN-PS")]; + char stringpool_str316[sizeof("ISO8859-10")]; + char stringpool_str318[sizeof("ISO8859-3")]; + char stringpool_str320[sizeof("UCS-2-INTERNAL")]; + char stringpool_str322[sizeof("ISO-8859-10")]; + char stringpool_str323[sizeof("ISO_8859-10")]; + char stringpool_str324[sizeof("ISO-8859-3")]; + char stringpool_str325[sizeof("ISO_8859-3")]; + char stringpool_str326[sizeof("ISO8859-13")]; + char stringpool_str327[sizeof("CSISOLATIN2")]; + char stringpool_str329[sizeof("GB_1988-80")]; + char stringpool_str332[sizeof("ISO-8859-13")]; + char stringpool_str333[sizeof("ISO_8859-13")]; + char stringpool_str337[sizeof("CP1133")]; + char stringpool_str339[sizeof("MS-ANSI")]; + char stringpool_str341[sizeof("ISO-IR-100")]; + char stringpool_str344[sizeof("KSC_5601")]; + char stringpool_str349[sizeof("MACINTOSH")]; + char stringpool_str352[sizeof("CN-GB")]; + char stringpool_str354[sizeof("CSIBM866")]; + char stringpool_str355[sizeof("ISO-10646-UCS-4")]; + char stringpool_str357[sizeof("ISO_8859-4:1988")]; + char stringpool_str359[sizeof("ISO_8859-5:1988")]; + char stringpool_str361[sizeof("UTF-16")]; + char stringpool_str363[sizeof("KZ-1048")]; + char stringpool_str364[sizeof("ROMAN8")]; + char stringpool_str365[sizeof("ISO_8859-8:1988")]; + char stringpool_str366[sizeof("UNICODELITTLE")]; + char stringpool_str369[sizeof("ISO_8859-9:1989")]; + char stringpool_str372[sizeof("JP")]; + char stringpool_str373[sizeof("ISO-10646-UCS-2")]; + char stringpool_str375[sizeof("MULELAO-1")]; + char stringpool_str376[sizeof("CSKZ1048")]; + char stringpool_str377[sizeof("ISO-IR-203")]; + char stringpool_str378[sizeof("IBM850")]; + char stringpool_str380[sizeof("TIS620-0")]; + char stringpool_str382[sizeof("ECMA-114")]; + char stringpool_str386[sizeof("KS_C_5601-1989")]; + char stringpool_str388[sizeof("GBK")]; + char stringpool_str389[sizeof("UTF-8")]; + char stringpool_str391[sizeof("ARMSCII-8")]; + char stringpool_str392[sizeof("US-ASCII")]; + char stringpool_str398[sizeof("ECMA-118")]; + char stringpool_str399[sizeof("CSGB2312")]; + char stringpool_str403[sizeof("LATIN7")]; + char stringpool_str404[sizeof("KOREAN")]; + char stringpool_str405[sizeof("ISO-IR-57")]; + char stringpool_str408[sizeof("MS-HEBR")]; + char stringpool_str409[sizeof("CSISO14JISC6220RO")]; + char stringpool_str411[sizeof("ISO-IR-87")]; + char stringpool_str413[sizeof("ISO-IR-157")]; + char stringpool_str416[sizeof("UTF-16LE")]; + char stringpool_str418[sizeof("UCS-4BE")]; + char stringpool_str420[sizeof("CP1257")]; + char stringpool_str421[sizeof("ANSI_X3.4-1986")]; + char stringpool_str424[sizeof("CSEUCKR")]; + char stringpool_str425[sizeof("ISO-2022-KR")]; + char stringpool_str426[sizeof("GB_2312-80")]; + char stringpool_str429[sizeof("ISO-IR-127")]; + char stringpool_str430[sizeof("MACTHAI")]; + char stringpool_str431[sizeof("EUCTW")]; + char stringpool_str433[sizeof("EXTENDED_UNIX_CODE_PACKED_FORMAT_FOR_JAPANESE")]; + char stringpool_str434[sizeof("CSISO2022KR")]; + char stringpool_str436[sizeof("UCS-2BE")]; + char stringpool_str437[sizeof("EUC-TW")]; + char stringpool_str439[sizeof("ANSI_X3.4-1968")]; + char stringpool_str440[sizeof("GREEK")]; + char stringpool_str442[sizeof("MACICELAND")]; + char stringpool_str443[sizeof("GB18030")]; + char stringpool_str444[sizeof("ISO_8859-3:1988")]; + char stringpool_str445[sizeof("CSISOLATINARABIC")]; + char stringpool_str446[sizeof("GEORGIAN-ACADEMY")]; + char stringpool_str448[sizeof("HP-ROMAN8")]; + char stringpool_str453[sizeof("TIS620.2533-1")]; + char stringpool_str455[sizeof("UNICODEBIG")]; + char stringpool_str459[sizeof("TCVN5712-1")]; + char stringpool_str460[sizeof("ISO8859-7")]; + char stringpool_str461[sizeof("CSISO57GB1988")]; + char stringpool_str463[sizeof("MACCENTRALEUROPE")]; + char stringpool_str464[sizeof("CSISOLATINGREEK")]; + char stringpool_str465[sizeof("CSISOLATIN3")]; + char stringpool_str466[sizeof("ISO-8859-7")]; + char stringpool_str467[sizeof("ISO_8859-7")]; + char stringpool_str468[sizeof("UNICODE-1-1-UTF-7")]; + char stringpool_str469[sizeof("CP367")]; + char stringpool_str470[sizeof("HZ-GB-2312")]; + char stringpool_str473[sizeof("EUCJP")]; + char stringpool_str474[sizeof("CSUNICODE11UTF7")]; + char stringpool_str476[sizeof("MACROMAN")]; + char stringpool_str477[sizeof("TCVN-5712")]; + char stringpool_str479[sizeof("EUC-JP")]; + char stringpool_str483[sizeof("ISO646-JP")]; + char stringpool_str489[sizeof("BIG5HKSCS")]; + char stringpool_str490[sizeof("CSISO58GB231280")]; + char stringpool_str492[sizeof("WINDOWS-1256")]; + char stringpool_str494[sizeof("WINDOWS-1251")]; + char stringpool_str495[sizeof("BIG5-HKSCS")]; + char stringpool_str496[sizeof("WCHAR_T")]; + char stringpool_str497[sizeof("ISO_8859-6:1987")]; + char stringpool_str499[sizeof("ISO_8859-1:1987")]; + char stringpool_str502[sizeof("WINDOWS-1254")]; + char stringpool_str504[sizeof("WINDOWS-1255")]; + char stringpool_str510[sizeof("WINDOWS-1258")]; + char stringpool_str512[sizeof("UTF-32")]; + char stringpool_str516[sizeof("CSISOLATINHEBREW")]; + char stringpool_str517[sizeof("CSHPROMAN8")]; + char stringpool_str519[sizeof("CSISO159JISX02121990")]; + char stringpool_str520[sizeof("WINDOWS-1252")]; + char stringpool_str522[sizeof("STRK1048-2002")]; + char stringpool_str525[sizeof("ISO_8859-2:1987")]; + char stringpool_str529[sizeof("ARABIC")]; + char stringpool_str530[sizeof("CSMACINTOSH")]; + char stringpool_str534[sizeof("KS_C_5601-1987")]; + char stringpool_str536[sizeof("JIS_C6220-1969-RO")]; + char stringpool_str537[sizeof("JIS_C6226-1983")]; + char stringpool_str539[sizeof("UTF-32LE")]; + char stringpool_str543[sizeof("TIS620.2533-0")]; + char stringpool_str546[sizeof("IBM-CP1133")]; + char stringpool_str547[sizeof("SHIFT-JIS")]; + char stringpool_str548[sizeof("SHIFT_JIS")]; + char stringpool_str555[sizeof("CSPC862LATINHEBREW")]; + char stringpool_str557[sizeof("BIGFIVE")]; + char stringpool_str560[sizeof("CSKSC56011987")]; + char stringpool_str562[sizeof("MACCROATIAN")]; + char stringpool_str563[sizeof("BIG-FIVE")]; + char stringpool_str566[sizeof("WINDOWS-936")]; + char stringpool_str567[sizeof("UTF-16BE")]; + char stringpool_str574[sizeof("KOI8-U")]; + char stringpool_str580[sizeof("KOI8-RU")]; + char stringpool_str584[sizeof("WINDOWS-1250")]; + char stringpool_str585[sizeof("MS-GREEK")]; + char stringpool_str589[sizeof("WINDOWS-1253")]; + char stringpool_str591[sizeof("MACGREEK")]; + char stringpool_str592[sizeof("CSPC850MULTILINGUAL")]; + char stringpool_str594[sizeof("ISO_8859-7:2003")]; + char stringpool_str596[sizeof("JIS0208")]; + char stringpool_str597[sizeof("IBM367")]; + char stringpool_str608[sizeof("ISO-2022-JP-1")]; + char stringpool_str610[sizeof("ISO-2022-JP-MS")]; + char stringpool_str613[sizeof("JIS_X0212")]; + char stringpool_str618[sizeof("CSEUCTW")]; + char stringpool_str624[sizeof("CSSHIFTJIS")]; + char stringpool_str625[sizeof("HEBREW")]; + char stringpool_str634[sizeof("ISO-2022-JP-2")]; + char stringpool_str635[sizeof("ASMO-708")]; + char stringpool_str642[sizeof("CSISO2022JP2")]; + char stringpool_str651[sizeof("JIS_X0201")]; + char stringpool_str655[sizeof("WINDOWS-874")]; + char stringpool_str660[sizeof("WINDOWS-1257")]; + char stringpool_str661[sizeof("ISO-2022-JP")]; + char stringpool_str665[sizeof("ISO_8859-7:1987")]; + char stringpool_str666[sizeof("CSISO87JISX0208")]; + char stringpool_str670[sizeof("CSISO2022JP")]; + char stringpool_str680[sizeof("MACARABIC")]; + char stringpool_str683[sizeof("JIS_X0208")]; + char stringpool_str684[sizeof("JISX0201-1976")]; + char stringpool_str689[sizeof("UTF-7")]; + char stringpool_str690[sizeof("UTF-32BE")]; + char stringpool_str692[sizeof("BIG5-HKSCS:2001")]; + char stringpool_str694[sizeof("JIS_X0212-1990")]; + char stringpool_str697[sizeof("JIS_X0212.1990-0")]; + char stringpool_str700[sizeof("BIG5-HKSCS:2004")]; + char stringpool_str702[sizeof("MACTURKISH")]; + char stringpool_str708[sizeof("BIG5-HKSCS:2008")]; + char stringpool_str710[sizeof("BIG5-HKSCS:1999")]; + char stringpool_str725[sizeof("MS-TURK")]; + char stringpool_str732[sizeof("UCS-4-SWAPPED")]; + char stringpool_str740[sizeof("GB18030:2022")]; + char stringpool_str749[sizeof("MACUKRAINE")]; + char stringpool_str750[sizeof("UCS-2-SWAPPED")]; + char stringpool_str752[sizeof("TCVN5712-1:1993")]; + char stringpool_str774[sizeof("JIS_X0208-1990")]; + char stringpool_str779[sizeof("JIS_X0208-1983")]; + char stringpool_str788[sizeof("GB18030:2005")]; + char stringpool_str796[sizeof("MACHEBREW")]; + char stringpool_str803[sizeof("MS-ARAB")]; + char stringpool_str811[sizeof("JAVA")]; + char stringpool_str813[sizeof("MACROMANIA")]; + char stringpool_str827[sizeof("MS_KANJI")]; + char stringpool_str837[sizeof("WINBALTRIM")]; + char stringpool_str866[sizeof("CSEUCPKDFMTJAPANESE")]; + char stringpool_str869[sizeof("JOHAB")]; + char stringpool_str921[sizeof("CSHALFWIDTHKATAKANA")]; + }; +static const struct stringpool_t stringpool_contents = + { + "L6", + "L1", + "CN", + "L4", + "L5", + "R8", + "L8", + "SJIS", + "866", + "L2", + "ISO-IR-6", + "CP866", + "C99", + "ISO-IR-166", + "EUCCN", + "LATIN6", + "CP154", + "LATIN1", + "EUC-CN", + "CYRILLIC", + "ISO646-CN", + "HZ", + "ISO-IR-14", + "CP1256", + "LATIN4", + "CP1251", + "ISO-IR-165", + "LATIN5", + "862", + "ISO-IR-126", + "ISO-IR-144", + "CP819", + "LATIN8", + "CP1254", + "ISO-IR-58", + "CP949", + "CP1255", + "CP862", + "ISO-IR-148", + "L3", + "LATIN-9", + "CHINESE", + "ISO-IR-149", + "ISO-IR-159", + "ISO-IR-226", + "CP1258", + "PT154", + "LATIN2", + "ISO8859-6", + "ISO-IR-199", + "ISO8859-1", + "ISO-CELTIC", + "ISO-8859-6", + "ISO_8859-6", + "ISO8859-16", + "ISO-8859-1", + "ISO_8859-1", + "ISO8859-11", + "ISO-8859-16", + "ISO_8859-16", + "CP1252", + "ISO-8859-11", + "ISO_8859-11", + "ISO8859-4", + "CP1361", + "ISO_8859-16:2001", + "CP1131", + "ISO8859-5", + "ISO-8859-4", + "ISO_8859-4", + "ISO8859-14", + "CP936", + "ISO-8859-5", + "ISO_8859-5", + "ISO8859-15", + "MAC", + "ISO-8859-14", + "ISO_8859-14", + "ISO8859-8", + "ISO-IR-101", + "ISO-8859-15", + "ISO_8859-15", + "ISO8859-9", + "ISO-8859-8", + "ISO_8859-8", + "ISO-8859-9", + "ISO_8859-9", + "ISO_8859-14:1998", + "ISO_8859-15:1998", + "RK1048", + "ELOT_928", + "ISO8859-2", + "IBM866", + "L7", + "US", + "ISO-8859-2", + "ISO_8859-2", + "X0212", + "CHAR", + "PTCP154", + "ISO-IR-109", + "ISO-IR-138", + "UHC", + "ASCII", + "MS-CYRL", + "L10", + "VISCII", + "CP932", + "BIG5", + "TCVN", + "CP50221", + "BIG-5", + "MS-EE", + "850", + "UCS-4", + "CSASCII", + "IBM819", + "CSVISCII", + "GB2312", + "X0201", + "CSBIG5", + "CN-BIG5", + "KOI8-R", + "EUCKR", + "IBM862", + "CSPTCP154", + "CSUCS4", + "ISO646-US", + "CP874", + "EUC-KR", + "VISCII1.1-1", + "ISO_646.IRV:1991", + "MACCYRILLIC", + "CSKOI8R", + "CP850", + "ISO-IR-110", + "CP950", + "ISO-2022-CN", + "CN-GB-ISOIR165", + "CYRILLIC-ASIAN", + "UCS-2", + "LATIN10", + "X0208", + "LATIN3", + "CSISO2022CN", + "ISO_8859-10:1992", + "UCS-4LE", + "CP1250", + "CSISOLATIN6", + "ISO-IR-179", + "MS936", + "CSISOLATIN1", + "TIS620", + "CP1253", + "ISO-2022-CN-EXT", + "TIS-620", + "UCS-2LE", + "KOI8-T", + "CSISOLATINCYRILLIC", + "CSISOLATIN4", + "CSISOLATIN5", + "UNICODE-1-1", + "GREEK8", + "UCS-4-INTERNAL", + "CSUNICODE11", + "CSUNICODE", + "TIS620.2529-1", + "NEXTSTEP", + "GEORGIAN-PS", + "ISO8859-10", + "ISO8859-3", + "UCS-2-INTERNAL", + "ISO-8859-10", + "ISO_8859-10", + "ISO-8859-3", + "ISO_8859-3", + "ISO8859-13", + "CSISOLATIN2", + "GB_1988-80", + "ISO-8859-13", + "ISO_8859-13", + "CP1133", + "MS-ANSI", + "ISO-IR-100", + "KSC_5601", + "MACINTOSH", + "CN-GB", + "CSIBM866", + "ISO-10646-UCS-4", + "ISO_8859-4:1988", + "ISO_8859-5:1988", + "UTF-16", + "KZ-1048", + "ROMAN8", + "ISO_8859-8:1988", + "UNICODELITTLE", + "ISO_8859-9:1989", + "JP", + "ISO-10646-UCS-2", + "MULELAO-1", + "CSKZ1048", + "ISO-IR-203", + "IBM850", + "TIS620-0", + "ECMA-114", + "KS_C_5601-1989", + "GBK", + "UTF-8", + "ARMSCII-8", + "US-ASCII", + "ECMA-118", + "CSGB2312", + "LATIN7", + "KOREAN", + "ISO-IR-57", + "MS-HEBR", + "CSISO14JISC6220RO", + "ISO-IR-87", + "ISO-IR-157", + "UTF-16LE", + "UCS-4BE", + "CP1257", + "ANSI_X3.4-1986", + "CSEUCKR", + "ISO-2022-KR", + "GB_2312-80", + "ISO-IR-127", + "MACTHAI", + "EUCTW", + "EXTENDED_UNIX_CODE_PACKED_FORMAT_FOR_JAPANESE", + "CSISO2022KR", + "UCS-2BE", + "EUC-TW", + "ANSI_X3.4-1968", + "GREEK", + "MACICELAND", + "GB18030", + "ISO_8859-3:1988", + "CSISOLATINARABIC", + "GEORGIAN-ACADEMY", + "HP-ROMAN8", + "TIS620.2533-1", + "UNICODEBIG", + "TCVN5712-1", + "ISO8859-7", + "CSISO57GB1988", + "MACCENTRALEUROPE", + "CSISOLATINGREEK", + "CSISOLATIN3", + "ISO-8859-7", + "ISO_8859-7", + "UNICODE-1-1-UTF-7", + "CP367", + "HZ-GB-2312", + "EUCJP", + "CSUNICODE11UTF7", + "MACROMAN", + "TCVN-5712", + "EUC-JP", + "ISO646-JP", + "BIG5HKSCS", + "CSISO58GB231280", + "WINDOWS-1256", + "WINDOWS-1251", + "BIG5-HKSCS", + "WCHAR_T", + "ISO_8859-6:1987", + "ISO_8859-1:1987", + "WINDOWS-1254", + "WINDOWS-1255", + "WINDOWS-1258", + "UTF-32", + "CSISOLATINHEBREW", + "CSHPROMAN8", + "CSISO159JISX02121990", + "WINDOWS-1252", + "STRK1048-2002", + "ISO_8859-2:1987", + "ARABIC", + "CSMACINTOSH", + "KS_C_5601-1987", + "JIS_C6220-1969-RO", + "JIS_C6226-1983", + "UTF-32LE", + "TIS620.2533-0", + "IBM-CP1133", + "SHIFT-JIS", + "SHIFT_JIS", + "CSPC862LATINHEBREW", + "BIGFIVE", + "CSKSC56011987", + "MACCROATIAN", + "BIG-FIVE", + "WINDOWS-936", + "UTF-16BE", + "KOI8-U", + "KOI8-RU", + "WINDOWS-1250", + "MS-GREEK", + "WINDOWS-1253", + "MACGREEK", + "CSPC850MULTILINGUAL", + "ISO_8859-7:2003", + "JIS0208", + "IBM367", + "ISO-2022-JP-1", + "ISO-2022-JP-MS", + "JIS_X0212", + "CSEUCTW", + "CSSHIFTJIS", + "HEBREW", + "ISO-2022-JP-2", + "ASMO-708", + "CSISO2022JP2", + "JIS_X0201", + "WINDOWS-874", + "WINDOWS-1257", + "ISO-2022-JP", + "ISO_8859-7:1987", + "CSISO87JISX0208", + "CSISO2022JP", + "MACARABIC", + "JIS_X0208", + "JISX0201-1976", + "UTF-7", + "UTF-32BE", + "BIG5-HKSCS:2001", + "JIS_X0212-1990", + "JIS_X0212.1990-0", + "BIG5-HKSCS:2004", + "MACTURKISH", + "BIG5-HKSCS:2008", + "BIG5-HKSCS:1999", + "MS-TURK", + "UCS-4-SWAPPED", + "GB18030:2022", + "MACUKRAINE", + "UCS-2-SWAPPED", + "TCVN5712-1:1993", + "JIS_X0208-1990", + "JIS_X0208-1983", + "GB18030:2005", + "MACHEBREW", + "MS-ARAB", + "JAVA", + "MACROMANIA", + "MS_KANJI", + "WINBALTRIM", + "CSEUCPKDFMTJAPANESE", + "JOHAB", + "CSHALFWIDTHKATAKANA" + }; +#define stringpool ((const char *) &stringpool_contents) + +static const struct alias aliases[] = + { + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 134 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str15, ei_iso8859_10}, + {-1}, +#line 60 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str17, ei_iso8859_1}, + {-1}, {-1}, +#line 288 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str20, ei_iso646_cn}, + {-1}, {-1}, {-1}, {-1}, +#line 84 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str25, ei_iso8859_4}, + {-1}, +#line 126 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str27, ei_iso8859_9}, + {-1}, {-1}, +#line 227 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str30, ei_hp_roman8}, + {-1}, {-1}, +#line 151 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str33, ei_iso8859_14}, +#line 308 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str34, ei_sjis}, + {-1}, +#line 207 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str36, ei_cp866}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 68 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str43, ei_iso8859_2}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 16 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str51, ei_ascii}, + {-1}, {-1}, +#line 205 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str54, ei_cp866}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 51 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str64, ei_c99}, +#line 252 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str65, ei_tis620}, +#line 320 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str66, ei_euc_cn}, +#line 133 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str67, ei_iso8859_10}, + {-1}, {-1}, +#line 236 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str70, ei_pt154}, +#line 59 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str71, ei_iso8859_1}, +#line 319 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str72, ei_euc_cn}, + {-1}, +#line 91 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str74, ei_iso8859_5}, + {-1}, +#line 286 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str76, ei_iso646_cn}, + {-1}, +#line 334 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str78, ei_hz}, +#line 264 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str79, ei_iso646_jp}, + {-1}, {-1}, {-1}, {-1}, +#line 189 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str84, ei_cp1256}, + {-1}, {-1}, +#line 83 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str87, ei_iso8859_4}, +#line 174 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str88, ei_cp1251}, +#line 294 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str89, ei_isoir165}, + {-1}, +#line 125 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str91, ei_iso8859_9}, +#line 203 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str92, ei_cp862}, +#line 107 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str93, ei_iso8859_7}, + {-1}, +#line 90 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str95, ei_iso8859_5}, +#line 57 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str96, ei_iso8859_1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 150 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str103, ei_iso8859_14}, +#line 183 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str104, ei_cp1254}, +#line 291 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str105, ei_gb2312}, +#line 355 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str106, ei_cp949}, + {-1}, +#line 186 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str108, ei_cp1255}, + {-1}, +#line 201 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str110, ei_cp862}, +#line 124 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str111, ei_iso8859_9}, +#line 76 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str112, ei_iso8859_3}, +#line 158 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str113, ei_iso8859_15}, +#line 293 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str114, ei_gb2312}, +#line 299 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str115, ei_ksc5601}, + {-1}, +#line 283 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str117, ei_jisx0212}, + {-1}, +#line 163 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str119, ei_iso8859_16}, +#line 195 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str120, ei_cp1258}, +#line 234 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str121, ei_pt154}, + {-1}, +#line 67 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str123, ei_iso8859_2}, +#line 102 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str124, ei_iso8859_6}, +#line 149 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str125, ei_iso8859_14}, + {-1}, {-1}, +#line 62 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str128, ei_iso8859_1}, +#line 152 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str129, ei_iso8859_14}, +#line 94 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str130, ei_iso8859_6}, +#line 95 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str131, ei_iso8859_6}, +#line 166 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str132, ei_iso8859_16}, + {-1}, +#line 53 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str134, ei_iso8859_1}, +#line 54 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str135, ei_iso8859_1}, +#line 139 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str136, ei_iso8859_11}, + {-1}, +#line 160 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str138, ei_iso8859_16}, +#line 161 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str139, ei_iso8859_16}, +#line 177 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str140, ei_cp1252}, + {-1}, +#line 137 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str142, ei_iso8859_11}, +#line 138 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str143, ei_iso8859_11}, +#line 86 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str144, ei_iso8859_4}, +#line 358 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str145, ei_johab}, +#line 162 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str146, ei_iso8859_16}, +#line 209 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str147, ei_cp1131}, +#line 93 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str148, ei_iso8859_5}, + {-1}, +#line 79 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str150, ei_iso8859_4}, +#line 80 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str151, ei_iso8859_4}, +#line 153 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str152, ei_iso8859_14}, +#line 325 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str153, ei_cp936}, +#line 87 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str154, ei_iso8859_5}, +#line 88 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str155, ei_iso8859_5}, +#line 159 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str156, ei_iso8859_15}, +#line 212 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str157, ei_mac_roman}, +#line 146 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str158, ei_iso8859_14}, +#line 147 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str159, ei_iso8859_14}, +#line 120 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str160, ei_iso8859_8}, +#line 66 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str161, ei_iso8859_2}, +#line 154 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str162, ei_iso8859_15}, +#line 155 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str163, ei_iso8859_15}, +#line 128 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str164, ei_iso8859_9}, + {-1}, +#line 114 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str166, ei_iso8859_8}, +#line 115 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str167, ei_iso8859_8}, + {-1}, {-1}, +#line 121 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str170, ei_iso8859_9}, +#line 122 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str171, ei_iso8859_9}, +#line 148 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str172, ei_iso8859_14}, + {-1}, +#line 156 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str174, ei_iso8859_15}, + {-1}, +#line 239 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str176, ei_rk1048}, + {-1}, {-1}, +#line 109 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str179, ei_iso8859_7}, +#line 70 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str180, ei_iso8859_2}, + {-1}, +#line 206 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str182, ei_cp866}, +#line 144 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str183, ei_iso8859_13}, +#line 21 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str184, ei_ascii}, + {-1}, +#line 63 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str186, ei_iso8859_2}, +#line 64 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str187, ei_iso8859_2}, + {-1}, {-1}, +#line 282 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str190, ei_jisx0212}, + {-1}, {-1}, +#line 361 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str193, ei_local_char}, + {-1}, {-1}, +#line 235 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str196, ei_pt154}, +#line 74 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str197, ei_iso8859_3}, +#line 117 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str198, ei_iso8859_8}, +#line 356 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str199, ei_cp949}, + {-1}, {-1}, +#line 13 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str202, ei_ascii}, + {-1}, +#line 176 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str204, ei_cp1251}, +#line 165 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str205, ei_iso8859_16}, +#line 255 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str206, ei_viscii}, + {-1}, {-1}, +#line 311 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str209, ei_cp932}, +#line 339 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str210, ei_ces_big5}, +#line 258 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str211, ei_tcvn}, +#line 318 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str212, ei_iso2022_jpms}, + {-1}, {-1}, {-1}, +#line 340 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str216, ei_ces_big5}, +#line 173 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str217, ei_cp1250}, + {-1}, {-1}, +#line 199 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str220, ei_cp850}, + {-1}, +#line 33 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str222, ei_ucs4}, +#line 22 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str223, ei_ascii}, +#line 58 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str224, ei_iso8859_1}, +#line 257 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str225, ei_viscii}, + {-1}, +#line 321 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str227, ei_euc_cn}, +#line 269 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str228, ei_jisx0201}, +#line 344 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str229, ei_ces_big5}, + {-1}, {-1}, {-1}, {-1}, {-1}, +#line 343 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str235, ei_ces_big5}, +#line 167 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str236, ei_koi8_r}, +#line 353 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str237, ei_euc_kr}, +#line 202 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str238, ei_cp862}, +#line 238 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str239, ei_pt154}, +#line 35 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str240, ei_ucs4}, +#line 14 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str241, ei_ascii}, +#line 253 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str242, ei_cp874}, +#line 352 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str243, ei_euc_kr}, +#line 256 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str244, ei_viscii}, + {-1}, +#line 15 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str246, ei_ascii}, + {-1}, +#line 218 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str248, ei_mac_cyrillic}, +#line 168 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str249, ei_koi8_r}, +#line 197 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str250, ei_cp850}, +#line 82 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str251, ei_iso8859_4}, +#line 345 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str252, ei_cp950}, + {-1}, +#line 331 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str254, ei_iso2022_cn}, +#line 295 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str255, ei_isoir165}, + {-1}, +#line 237 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str257, ei_pt154}, +#line 24 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str258, ei_ucs2}, +#line 164 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str259, ei_iso8859_16}, +#line 275 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str260, ei_jisx0208}, +#line 75 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str261, ei_iso8859_3}, + {-1}, +#line 332 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str263, ei_iso2022_cn}, +#line 131 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str264, ei_iso8859_10}, + {-1}, {-1}, +#line 37 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str267, ei_ucs4le}, +#line 171 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str268, ei_cp1250}, + {-1}, {-1}, +#line 135 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str271, ei_iso8859_10}, + {-1}, +#line 142 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str273, ei_iso8859_13}, +#line 326 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str274, ei_cp936}, +#line 61 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str275, ei_iso8859_1}, +#line 247 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str276, ei_tis620}, + {-1}, +#line 180 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str278, ei_cp1253}, + {-1}, {-1}, +#line 333 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str281, ei_iso2022_cn_ext}, +#line 246 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str282, ei_tis620}, + {-1}, {-1}, +#line 31 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str285, ei_ucs2le}, +#line 233 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str286, ei_koi8_t}, + {-1}, {-1}, {-1}, +#line 92 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str290, ei_iso8859_5}, +#line 85 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str291, ei_iso8859_4}, + {-1}, {-1}, {-1}, +#line 127 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str295, ei_iso8859_9}, +#line 29 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str296, ei_ucs2be}, + {-1}, {-1}, {-1}, {-1}, +#line 110 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str301, ei_iso8859_7}, +#line 49 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str302, ei_ucs4internal}, + {-1}, +#line 30 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str304, ei_ucs2be}, + {-1}, +#line 26 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str306, ei_ucs2}, +#line 249 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str307, ei_tis620}, + {-1}, {-1}, {-1}, +#line 229 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str311, ei_nextstep}, +#line 232 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str312, ei_georgian_ps}, + {-1}, {-1}, {-1}, +#line 136 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str316, ei_iso8859_10}, + {-1}, +#line 78 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str318, ei_iso8859_3}, + {-1}, +#line 47 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str320, ei_ucs2internal}, + {-1}, +#line 129 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str322, ei_iso8859_10}, +#line 130 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str323, ei_iso8859_10}, +#line 71 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str324, ei_iso8859_3}, +#line 72 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str325, ei_iso8859_3}, +#line 145 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str326, ei_iso8859_13}, +#line 69 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str327, ei_iso8859_2}, + {-1}, +#line 285 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str329, ei_iso646_cn}, + {-1}, {-1}, +#line 140 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str332, ei_iso8859_13}, +#line 141 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str333, ei_iso8859_13}, + {-1}, {-1}, {-1}, +#line 244 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str337, ei_cp1133}, + {-1}, +#line 179 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str339, ei_cp1252}, + {-1}, +#line 56 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str341, ei_iso8859_1}, + {-1}, {-1}, +#line 296 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str344, ei_ksc5601}, + {-1}, {-1}, {-1}, {-1}, +#line 211 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str349, ei_mac_roman}, + {-1}, {-1}, +#line 322 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str352, ei_euc_cn}, + {-1}, +#line 208 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str354, ei_cp866}, +#line 34 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str355, ei_ucs4}, + {-1}, +#line 81 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str357, ei_iso8859_4}, + {-1}, +#line 89 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str359, ei_iso8859_5}, + {-1}, +#line 38 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str361, ei_utf16}, + {-1}, +#line 241 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str363, ei_rk1048}, +#line 226 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str364, ei_hp_roman8}, +#line 116 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str365, ei_iso8859_8}, +#line 32 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str366, ei_ucs2le}, + {-1}, {-1}, +#line 123 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str369, ei_iso8859_9}, + {-1}, {-1}, +#line 265 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str372, ei_iso646_jp}, +#line 25 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str373, ei_ucs2}, + {-1}, +#line 243 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str375, ei_mulelao}, +#line 242 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str376, ei_rk1048}, +#line 157 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str377, ei_iso8859_15}, +#line 198 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str378, ei_cp850}, + {-1}, +#line 248 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str380, ei_tis620}, + {-1}, +#line 98 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str382, ei_iso8859_6}, + {-1}, {-1}, {-1}, +#line 298 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str386, ei_ksc5601}, + {-1}, +#line 324 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str388, ei_ces_gbk}, +#line 23 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str389, ei_utf8}, + {-1}, +#line 230 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str391, ei_armscii_8}, +#line 12 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str392, ei_ascii}, + {-1}, {-1}, {-1}, {-1}, {-1}, +#line 108 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str398, ei_iso8859_7}, +#line 323 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str399, ei_euc_cn}, + {-1}, {-1}, {-1}, +#line 143 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str403, ei_iso8859_13}, +#line 301 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str404, ei_ksc5601}, +#line 287 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str405, ei_iso646_cn}, + {-1}, {-1}, +#line 188 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str408, ei_cp1255}, +#line 266 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str409, ei_iso646_jp}, + {-1}, +#line 276 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str411, ei_jisx0208}, + {-1}, +#line 132 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str413, ei_iso8859_10}, + {-1}, {-1}, +#line 40 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str416, ei_utf16le}, + {-1}, +#line 36 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str418, ei_ucs4be}, + {-1}, +#line 192 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str420, ei_cp1257}, +#line 18 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str421, ei_ascii}, + {-1}, {-1}, +#line 354 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str424, ei_euc_kr}, +#line 359 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str425, ei_iso2022_kr}, +#line 290 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str426, ei_gb2312}, + {-1}, {-1}, +#line 97 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str429, ei_iso8859_6}, +#line 224 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str430, ei_mac_thai}, +#line 337 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str431, ei_euc_tw}, + {-1}, +#line 304 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str433, ei_euc_jp}, +#line 360 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str434, ei_iso2022_kr}, + {-1}, +#line 27 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str436, ei_ucs2be}, +#line 336 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str437, ei_euc_tw}, + {-1}, +#line 17 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str439, ei_ascii}, +#line 111 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str440, ei_iso8859_7}, + {-1}, +#line 215 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str442, ei_mac_iceland}, +#line 328 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str443, ei_gb18030_2005}, +#line 73 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str444, ei_iso8859_3}, +#line 101 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str445, ei_iso8859_6}, +#line 231 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str446, ei_georgian_academy}, + {-1}, +#line 225 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str448, ei_hp_roman8}, + {-1}, {-1}, {-1}, {-1}, +#line 251 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str453, ei_tis620}, + {-1}, +#line 28 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str455, ei_ucs2be}, + {-1}, {-1}, {-1}, +#line 260 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str459, ei_tcvn}, +#line 113 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str460, ei_iso8859_7}, +#line 289 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str461, ei_iso646_cn}, + {-1}, +#line 214 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str463, ei_mac_centraleurope}, +#line 112 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str464, ei_iso8859_7}, +#line 77 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str465, ei_iso8859_3}, +#line 103 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str466, ei_iso8859_7}, +#line 104 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str467, ei_iso8859_7}, +#line 45 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str468, ei_utf7}, +#line 19 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str469, ei_ascii}, +#line 335 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str470, ei_hz}, + {-1}, {-1}, +#line 303 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str473, ei_euc_jp}, +#line 46 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str474, ei_utf7}, + {-1}, +#line 210 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str476, ei_mac_roman}, +#line 259 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str477, ei_tcvn}, + {-1}, +#line 302 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str479, ei_euc_jp}, + {-1}, {-1}, {-1}, +#line 263 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str483, ei_iso646_jp}, + {-1}, {-1}, {-1}, {-1}, {-1}, +#line 350 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str489, ei_big5hkscs2008}, +#line 292 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str490, ei_gb2312}, + {-1}, +#line 190 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str492, ei_cp1256}, + {-1}, +#line 175 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str494, ei_cp1251}, +#line 349 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str495, ei_big5hkscs2008}, +#line 362 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str496, ei_local_wchar_t}, +#line 96 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str497, ei_iso8859_6}, + {-1}, +#line 55 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str499, ei_iso8859_1}, + {-1}, {-1}, +#line 184 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str502, ei_cp1254}, + {-1}, +#line 187 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str504, ei_cp1255}, + {-1}, {-1}, {-1}, {-1}, {-1}, +#line 196 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str510, ei_cp1258}, + {-1}, +#line 41 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str512, ei_utf32}, + {-1}, {-1}, {-1}, +#line 119 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str516, ei_iso8859_8}, +#line 228 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str517, ei_hp_roman8}, + {-1}, +#line 284 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str519, ei_jisx0212}, +#line 178 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str520, ei_cp1252}, + {-1}, +#line 240 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str522, ei_rk1048}, + {-1}, {-1}, +#line 65 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str525, ei_iso8859_2}, + {-1}, {-1}, {-1}, +#line 100 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str529, ei_iso8859_6}, +#line 213 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str530, ei_mac_roman}, + {-1}, {-1}, {-1}, +#line 297 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str534, ei_ksc5601}, + {-1}, +#line 262 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str536, ei_iso646_jp}, +#line 277 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str537, ei_jisx0208}, + {-1}, +#line 43 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str539, ei_utf32le}, + {-1}, {-1}, {-1}, +#line 250 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str543, ei_tis620}, + {-1}, {-1}, +#line 245 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str546, ei_cp1133}, +#line 307 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str547, ei_sjis}, +#line 306 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str548, ei_sjis}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 204 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str555, ei_cp862}, + {-1}, +#line 342 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str557, ei_ces_big5}, + {-1}, {-1}, +#line 300 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str560, ei_ksc5601}, + {-1}, +#line 216 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str562, ei_mac_croatian}, +#line 341 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str563, ei_ces_big5}, + {-1}, {-1}, +#line 327 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str566, ei_cp936}, +#line 39 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str567, ei_utf16be}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 169 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str574, ei_koi8_u}, + {-1}, {-1}, {-1}, {-1}, {-1}, +#line 170 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str580, ei_koi8_ru}, + {-1}, {-1}, {-1}, +#line 172 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str584, ei_cp1250}, +#line 182 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str585, ei_cp1253}, + {-1}, {-1}, {-1}, +#line 181 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str589, ei_cp1253}, + {-1}, +#line 220 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str591, ei_mac_greek}, +#line 200 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str592, ei_cp850}, + {-1}, +#line 106 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str594, ei_iso8859_7}, + {-1}, +#line 274 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str596, ei_jisx0208}, +#line 20 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str597, ei_ascii}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, +#line 314 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str608, ei_iso2022_jp1}, + {-1}, +#line 317 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str610, ei_iso2022_jpms}, + {-1}, {-1}, +#line 279 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str613, ei_jisx0212}, + {-1}, {-1}, {-1}, {-1}, +#line 338 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str618, ei_euc_tw}, + {-1}, {-1}, {-1}, {-1}, {-1}, +#line 310 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str624, ei_sjis}, +#line 118 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str625, ei_iso8859_8}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 315 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str634, ei_iso2022_jp2}, +#line 99 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str635, ei_iso8859_6}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 316 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str642, ei_iso2022_jp2}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 267 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str651, ei_jisx0201}, + {-1}, {-1}, {-1}, +#line 254 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str655, ei_cp874}, + {-1}, {-1}, {-1}, {-1}, +#line 193 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str660, ei_cp1257}, +#line 312 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str661, ei_iso2022_jp}, + {-1}, {-1}, {-1}, +#line 105 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str665, ei_iso8859_7}, +#line 278 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str666, ei_jisx0208}, + {-1}, {-1}, {-1}, +#line 313 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str670, ei_iso2022_jp}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 223 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str680, ei_mac_arabic}, + {-1}, {-1}, +#line 271 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str683, ei_jisx0208}, +#line 268 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str684, ei_jisx0201}, + {-1}, {-1}, {-1}, {-1}, +#line 44 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str689, ei_utf7}, +#line 42 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str690, ei_utf32be}, + {-1}, +#line 347 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str692, ei_big5hkscs2001}, + {-1}, +#line 281 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str694, ei_jisx0212}, + {-1}, {-1}, +#line 280 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str697, ei_jisx0212}, + {-1}, {-1}, +#line 348 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str700, ei_big5hkscs2004}, + {-1}, +#line 221 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str702, ei_mac_turkish}, + {-1}, {-1}, {-1}, {-1}, {-1}, +#line 351 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str708, ei_big5hkscs2008}, + {-1}, +#line 346 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str710, ei_big5hkscs1999}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, +#line 185 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str725, ei_cp1254}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 50 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str732, ei_ucs4swapped}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 330 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str740, ei_gb18030_2022}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 219 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str749, ei_mac_ukraine}, +#line 48 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str750, ei_ucs2swapped}, + {-1}, +#line 261 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str752, ei_tcvn}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, +#line 273 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str774, ei_jisx0208}, + {-1}, {-1}, {-1}, {-1}, +#line 272 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str779, ei_jisx0208}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 329 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str788, ei_gb18030_2005}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 222 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str796, ei_mac_hebrew}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 191 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str803, ei_cp1256}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 52 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str811, ei_java}, + {-1}, +#line 217 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str813, ei_mac_romania}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, +#line 309 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str827, ei_sjis}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 194 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str837, ei_cp1257}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, +#line 305 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str866, ei_euc_jp}, + {-1}, {-1}, +#line 357 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str869, ei_johab}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 270 "lib/aliases.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str921, ei_jisx0201} + }; + +static const struct alias * +aliases_lookup (register const char *str, register size_t len) +{ + if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) + { + register unsigned int key = aliases_hash (str, len); + + if (key <= MAX_HASH_VALUE) + { + register int o = aliases[key].name; + if (o >= 0) + { + register const char *s = o + stringpool; + + if (*str == *s && !strcmp (str + 1, s + 1)) + return &aliases[key]; + } + } + } + return 0; +} diff --git a/Externals/libiconv-1.14/lib/aliases2.h b/Externals/libiconv/lib/aliases2.h similarity index 70% rename from Externals/libiconv-1.14/lib/aliases2.h rename to Externals/libiconv/lib/aliases2.h index 7f2dc449bf1..6a65c42acff 100644 --- a/Externals/libiconv-1.14/lib/aliases2.h +++ b/Externals/libiconv/lib/aliases2.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2003, 2008 Free Software Foundation, Inc. + * Copyright (C) 1999-2003, 2008, 2022 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ #ifdef USE_AIX @@ -35,6 +34,9 @@ #ifdef USE_DOS # include "aliases_dos.h" #endif +#ifdef USE_ZOS +# include "aliases_zos.h" +#endif #ifdef USE_EXTRA # include "aliases_extra.h" #endif diff --git a/Externals/libiconv-1.14/lib/aliases_aix.h b/Externals/libiconv/lib/aliases_aix.h similarity index 100% rename from Externals/libiconv-1.14/lib/aliases_aix.h rename to Externals/libiconv/lib/aliases_aix.h diff --git a/Externals/libiconv-1.14/lib/aliases_aix_sysaix.h b/Externals/libiconv/lib/aliases_aix_sysaix.h similarity index 100% rename from Externals/libiconv-1.14/lib/aliases_aix_sysaix.h rename to Externals/libiconv/lib/aliases_aix_sysaix.h diff --git a/Externals/libiconv-1.14/lib/aliases_dos.h b/Externals/libiconv/lib/aliases_dos.h similarity index 100% rename from Externals/libiconv-1.14/lib/aliases_dos.h rename to Externals/libiconv/lib/aliases_dos.h diff --git a/Externals/libiconv-1.14/lib/aliases_extra.h b/Externals/libiconv/lib/aliases_extra.h similarity index 100% rename from Externals/libiconv-1.14/lib/aliases_extra.h rename to Externals/libiconv/lib/aliases_extra.h diff --git a/Externals/libiconv-1.14/lib/aliases_osf1.h b/Externals/libiconv/lib/aliases_osf1.h similarity index 100% rename from Externals/libiconv-1.14/lib/aliases_osf1.h rename to Externals/libiconv/lib/aliases_osf1.h diff --git a/Externals/libiconv-1.14/lib/aliases_osf1_sysosf1.h b/Externals/libiconv/lib/aliases_osf1_sysosf1.h similarity index 100% rename from Externals/libiconv-1.14/lib/aliases_osf1_sysosf1.h rename to Externals/libiconv/lib/aliases_osf1_sysosf1.h diff --git a/Externals/libiconv/lib/aliases_sysaix.gperf b/Externals/libiconv/lib/aliases_sysaix.gperf new file mode 100644 index 00000000000..05e98fca26a --- /dev/null +++ b/Externals/libiconv/lib/aliases_sysaix.gperf @@ -0,0 +1,371 @@ +struct alias { int name; unsigned int encoding_index; }; +%struct-type +%language=ANSI-C +%define hash-function-name aliases_hash +%define lookup-function-name aliases_lookup +%7bit +%readonly-tables +%global-table +%define word-array-name aliases +%pic +%% +US-ASCII, ei_ascii +ASCII, ei_ascii +ISO646-US, ei_ascii +ISO_646.IRV:1991, ei_ascii +ISO-IR-6, ei_ascii +ANSI_X3.4-1968, ei_ascii +ANSI_X3.4-1986, ei_ascii +CP367, ei_ascii +IBM367, ei_ascii +US, ei_ascii +CSASCII, ei_ascii +UTF-8, ei_utf8 +UCS-2, ei_ucs2 +ISO-10646-UCS-2, ei_ucs2 +CSUNICODE, ei_ucs2 +UCS-2BE, ei_ucs2be +UNICODEBIG, ei_ucs2be +UNICODE-1-1, ei_ucs2be +CSUNICODE11, ei_ucs2be +UCS-2LE, ei_ucs2le +UNICODELITTLE, ei_ucs2le +UCS-4, ei_ucs4 +ISO-10646-UCS-4, ei_ucs4 +CSUCS4, ei_ucs4 +UCS-4BE, ei_ucs4be +UCS-4LE, ei_ucs4le +UTF-16, ei_utf16 +UTF-16BE, ei_utf16be +UTF-16LE, ei_utf16le +UTF-32, ei_utf32 +UTF-32BE, ei_utf32be +UTF-32LE, ei_utf32le +UTF-7, ei_utf7 +UNICODE-1-1-UTF-7, ei_utf7 +CSUNICODE11UTF7, ei_utf7 +UCS-2-INTERNAL, ei_ucs2internal +UCS-2-SWAPPED, ei_ucs2swapped +UCS-4-INTERNAL, ei_ucs4internal +UCS-4-SWAPPED, ei_ucs4swapped +C99, ei_c99 +JAVA, ei_java +ISO-8859-1, ei_iso8859_1 +ISO_8859-1, ei_iso8859_1 +ISO_8859-1:1987, ei_iso8859_1 +ISO-IR-100, ei_iso8859_1 +CP819, ei_iso8859_1 +IBM819, ei_iso8859_1 +LATIN1, ei_iso8859_1 +L1, ei_iso8859_1 +CSISOLATIN1, ei_iso8859_1 +ISO8859-1, ei_iso8859_1 +ISO-8859-2, ei_iso8859_2 +ISO_8859-2, ei_iso8859_2 +ISO_8859-2:1987, ei_iso8859_2 +ISO-IR-101, ei_iso8859_2 +LATIN2, ei_iso8859_2 +L2, ei_iso8859_2 +CSISOLATIN2, ei_iso8859_2 +ISO8859-2, ei_iso8859_2 +ISO-8859-3, ei_iso8859_3 +ISO_8859-3, ei_iso8859_3 +ISO_8859-3:1988, ei_iso8859_3 +ISO-IR-109, ei_iso8859_3 +LATIN3, ei_iso8859_3 +L3, ei_iso8859_3 +CSISOLATIN3, ei_iso8859_3 +ISO8859-3, ei_iso8859_3 +ISO-8859-4, ei_iso8859_4 +ISO_8859-4, ei_iso8859_4 +ISO_8859-4:1988, ei_iso8859_4 +ISO-IR-110, ei_iso8859_4 +LATIN4, ei_iso8859_4 +L4, ei_iso8859_4 +CSISOLATIN4, ei_iso8859_4 +ISO8859-4, ei_iso8859_4 +ISO-8859-5, ei_iso8859_5 +ISO_8859-5, ei_iso8859_5 +ISO_8859-5:1988, ei_iso8859_5 +ISO-IR-144, ei_iso8859_5 +CYRILLIC, ei_iso8859_5 +CSISOLATINCYRILLIC, ei_iso8859_5 +ISO8859-5, ei_iso8859_5 +ISO-8859-6, ei_iso8859_6 +ISO_8859-6, ei_iso8859_6 +ISO_8859-6:1987, ei_iso8859_6 +ISO-IR-127, ei_iso8859_6 +ECMA-114, ei_iso8859_6 +ASMO-708, ei_iso8859_6 +ARABIC, ei_iso8859_6 +CSISOLATINARABIC, ei_iso8859_6 +ISO8859-6, ei_iso8859_6 +ISO-8859-7, ei_iso8859_7 +ISO_8859-7, ei_iso8859_7 +ISO_8859-7:1987, ei_iso8859_7 +ISO_8859-7:2003, ei_iso8859_7 +ISO-IR-126, ei_iso8859_7 +ECMA-118, ei_iso8859_7 +ELOT_928, ei_iso8859_7 +GREEK8, ei_iso8859_7 +GREEK, ei_iso8859_7 +CSISOLATINGREEK, ei_iso8859_7 +ISO8859-7, ei_iso8859_7 +ISO-8859-8, ei_iso8859_8 +ISO_8859-8, ei_iso8859_8 +ISO_8859-8:1988, ei_iso8859_8 +ISO-IR-138, ei_iso8859_8 +HEBREW, ei_iso8859_8 +CSISOLATINHEBREW, ei_iso8859_8 +ISO8859-8, ei_iso8859_8 +ISO-8859-9, ei_iso8859_9 +ISO_8859-9, ei_iso8859_9 +ISO_8859-9:1989, ei_iso8859_9 +ISO-IR-148, ei_iso8859_9 +LATIN5, ei_iso8859_9 +L5, ei_iso8859_9 +CSISOLATIN5, ei_iso8859_9 +ISO8859-9, ei_iso8859_9 +ISO-8859-10, ei_iso8859_10 +ISO_8859-10, ei_iso8859_10 +ISO_8859-10:1992, ei_iso8859_10 +ISO-IR-157, ei_iso8859_10 +LATIN6, ei_iso8859_10 +L6, ei_iso8859_10 +CSISOLATIN6, ei_iso8859_10 +ISO8859-10, ei_iso8859_10 +ISO-8859-11, ei_iso8859_11 +ISO_8859-11, ei_iso8859_11 +ISO8859-11, ei_iso8859_11 +ISO-8859-13, ei_iso8859_13 +ISO_8859-13, ei_iso8859_13 +ISO-IR-179, ei_iso8859_13 +LATIN7, ei_iso8859_13 +L7, ei_iso8859_13 +ISO8859-13, ei_iso8859_13 +IBM-921, ei_iso8859_13 +ISO-8859-14, ei_iso8859_14 +ISO_8859-14, ei_iso8859_14 +ISO_8859-14:1998, ei_iso8859_14 +ISO-IR-199, ei_iso8859_14 +LATIN8, ei_iso8859_14 +L8, ei_iso8859_14 +ISO-CELTIC, ei_iso8859_14 +ISO8859-14, ei_iso8859_14 +ISO-8859-15, ei_iso8859_15 +ISO_8859-15, ei_iso8859_15 +ISO_8859-15:1998, ei_iso8859_15 +ISO-IR-203, ei_iso8859_15 +LATIN-9, ei_iso8859_15 +ISO8859-15, ei_iso8859_15 +ISO-8859-16, ei_iso8859_16 +ISO_8859-16, ei_iso8859_16 +ISO_8859-16:2001, ei_iso8859_16 +ISO-IR-226, ei_iso8859_16 +LATIN10, ei_iso8859_16 +L10, ei_iso8859_16 +ISO8859-16, ei_iso8859_16 +KOI8-R, ei_koi8_r +CSKOI8R, ei_koi8_r +KOI8-U, ei_koi8_u +KOI8-RU, ei_koi8_ru +CP1250, ei_cp1250 +WINDOWS-1250, ei_cp1250 +MS-EE, ei_cp1250 +CP1251, ei_cp1251 +WINDOWS-1251, ei_cp1251 +MS-CYRL, ei_cp1251 +CP1252, ei_cp1252 +WINDOWS-1252, ei_cp1252 +MS-ANSI, ei_cp1252 +IBM-1252, ei_cp1252 +CP1253, ei_cp1253 +WINDOWS-1253, ei_cp1253 +MS-GREEK, ei_cp1253 +CP1254, ei_cp1254 +WINDOWS-1254, ei_cp1254 +MS-TURK, ei_cp1254 +CP1255, ei_cp1255 +WINDOWS-1255, ei_cp1255 +MS-HEBR, ei_cp1255 +CP1256, ei_cp1256 +WINDOWS-1256, ei_cp1256 +MS-ARAB, ei_cp1256 +CP1257, ei_cp1257 +WINDOWS-1257, ei_cp1257 +WINBALTRIM, ei_cp1257 +CP1258, ei_cp1258 +WINDOWS-1258, ei_cp1258 +CP850, ei_cp850 +IBM850, ei_cp850 +850, ei_cp850 +CSPC850MULTILINGUAL, ei_cp850 +IBM-850, ei_cp850 +CP862, ei_cp862 +IBM862, ei_cp862 +862, ei_cp862 +CSPC862LATINHEBREW, ei_cp862 +CP866, ei_cp866 +IBM866, ei_cp866 +866, ei_cp866 +CSIBM866, ei_cp866 +CP1131, ei_cp1131 +IBM-1131, ei_cp1131 +MACROMAN, ei_mac_roman +MACINTOSH, ei_mac_roman +MAC, ei_mac_roman +CSMACINTOSH, ei_mac_roman +MACCENTRALEUROPE, ei_mac_centraleurope +MACICELAND, ei_mac_iceland +MACCROATIAN, ei_mac_croatian +MACROMANIA, ei_mac_romania +MACCYRILLIC, ei_mac_cyrillic +MACUKRAINE, ei_mac_ukraine +MACGREEK, ei_mac_greek +MACTURKISH, ei_mac_turkish +MACHEBREW, ei_mac_hebrew +MACARABIC, ei_mac_arabic +MACTHAI, ei_mac_thai +HP-ROMAN8, ei_hp_roman8 +ROMAN8, ei_hp_roman8 +R8, ei_hp_roman8 +CSHPROMAN8, ei_hp_roman8 +NEXTSTEP, ei_nextstep +ARMSCII-8, ei_armscii_8 +GEORGIAN-ACADEMY, ei_georgian_academy +GEORGIAN-PS, ei_georgian_ps +KOI8-T, ei_koi8_t +PT154, ei_pt154 +PTCP154, ei_pt154 +CP154, ei_pt154 +CYRILLIC-ASIAN, ei_pt154 +CSPTCP154, ei_pt154 +RK1048, ei_rk1048 +STRK1048-2002, ei_rk1048 +KZ-1048, ei_rk1048 +CSKZ1048, ei_rk1048 +MULELAO-1, ei_mulelao +CP1133, ei_cp1133 +IBM-CP1133, ei_cp1133 +TIS-620, ei_tis620 +TIS620, ei_tis620 +TIS620-0, ei_tis620 +TIS620.2529-1, ei_tis620 +TIS620.2533-0, ei_tis620 +TIS620.2533-1, ei_tis620 +ISO-IR-166, ei_tis620 +CP874, ei_cp874 +WINDOWS-874, ei_cp874 +VISCII, ei_viscii +VISCII1.1-1, ei_viscii +CSVISCII, ei_viscii +TCVN, ei_tcvn +TCVN-5712, ei_tcvn +TCVN5712-1, ei_tcvn +TCVN5712-1:1993, ei_tcvn +JIS_C6220-1969-RO, ei_iso646_jp +ISO646-JP, ei_iso646_jp +ISO-IR-14, ei_iso646_jp +JP, ei_iso646_jp +CSISO14JISC6220RO, ei_iso646_jp +JIS_X0201, ei_jisx0201 +JISX0201-1976, ei_jisx0201 +X0201, ei_jisx0201 +CSHALFWIDTHKATAKANA, ei_jisx0201 +JIS_X0208, ei_jisx0208 +JIS_X0208-1983, ei_jisx0208 +JIS_X0208-1990, ei_jisx0208 +JIS0208, ei_jisx0208 +X0208, ei_jisx0208 +ISO-IR-87, ei_jisx0208 +JIS_C6226-1983, ei_jisx0208 +CSISO87JISX0208, ei_jisx0208 +JIS_X0212, ei_jisx0212 +JIS_X0212.1990-0, ei_jisx0212 +JIS_X0212-1990, ei_jisx0212 +X0212, ei_jisx0212 +ISO-IR-159, ei_jisx0212 +CSISO159JISX02121990, ei_jisx0212 +GB_1988-80, ei_iso646_cn +ISO646-CN, ei_iso646_cn +ISO-IR-57, ei_iso646_cn +CN, ei_iso646_cn +CSISO57GB1988, ei_iso646_cn +GB_2312-80, ei_gb2312 +ISO-IR-58, ei_gb2312 +CSISO58GB231280, ei_gb2312 +CHINESE, ei_gb2312 +ISO-IR-165, ei_isoir165 +CN-GB-ISOIR165, ei_isoir165 +KSC_5601, ei_ksc5601 +KS_C_5601-1987, ei_ksc5601 +KS_C_5601-1989, ei_ksc5601 +ISO-IR-149, ei_ksc5601 +CSKSC56011987, ei_ksc5601 +KOREAN, ei_ksc5601 +EUC-JP, ei_euc_jp +EUCJP, ei_euc_jp +EXTENDED_UNIX_CODE_PACKED_FORMAT_FOR_JAPANESE, ei_euc_jp +CSEUCPKDFMTJAPANESE, ei_euc_jp +IBM-EUCJP, ei_euc_jp +SHIFT_JIS, ei_sjis +SHIFT-JIS, ei_sjis +SJIS, ei_sjis +MS_KANJI, ei_sjis +CSSHIFTJIS, ei_sjis +CP932, ei_cp932 +IBM-932, ei_cp932 +ISO-2022-JP, ei_iso2022_jp +CSISO2022JP, ei_iso2022_jp +ISO-2022-JP-1, ei_iso2022_jp1 +ISO-2022-JP-2, ei_iso2022_jp2 +CSISO2022JP2, ei_iso2022_jp2 +ISO-2022-JP-MS, ei_iso2022_jpms +CP50221, ei_iso2022_jpms +EUC-CN, ei_euc_cn +EUCCN, ei_euc_cn +GB2312, ei_euc_cn +CN-GB, ei_euc_cn +CSGB2312, ei_euc_cn +IBM-EUCCN, ei_euc_cn +GBK, ei_ces_gbk +CP936, ei_cp936 +MS936, ei_cp936 +WINDOWS-936, ei_cp936 +GB18030, ei_gb18030_2005 +GB18030:2005, ei_gb18030_2005 +GB18030:2022, ei_gb18030_2022 +ISO-2022-CN, ei_iso2022_cn +CSISO2022CN, ei_iso2022_cn +ISO-2022-CN-EXT, ei_iso2022_cn_ext +HZ, ei_hz +HZ-GB-2312, ei_hz +EUC-TW, ei_euc_tw +EUCTW, ei_euc_tw +CSEUCTW, ei_euc_tw +IBM-EUCTW, ei_euc_tw +BIG5, ei_ces_big5 +BIG-5, ei_ces_big5 +BIG-FIVE, ei_ces_big5 +BIGFIVE, ei_ces_big5 +CN-BIG5, ei_ces_big5 +CSBIG5, ei_ces_big5 +CP950, ei_cp950 +BIG5-HKSCS:1999, ei_big5hkscs1999 +BIG5-HKSCS:2001, ei_big5hkscs2001 +BIG5-HKSCS:2004, ei_big5hkscs2004 +BIG5-HKSCS, ei_big5hkscs2008 +BIG5HKSCS, ei_big5hkscs2008 +BIG5-HKSCS:2008, ei_big5hkscs2008 +EUC-KR, ei_euc_kr +EUCKR, ei_euc_kr +CSEUCKR, ei_euc_kr +IBM-EUCKR, ei_euc_kr +CP949, ei_cp949 +UHC, ei_cp949 +JOHAB, ei_johab +CP1361, ei_johab +ISO-2022-KR, ei_iso2022_kr +CSISO2022KR, ei_iso2022_kr +CHAR, ei_local_char +WCHAR_T, ei_local_wchar_t diff --git a/Externals/libiconv/lib/aliases_sysaix.h b/Externals/libiconv/lib/aliases_sysaix.h new file mode 100644 index 00000000000..2f621d96dcc --- /dev/null +++ b/Externals/libiconv/lib/aliases_sysaix.h @@ -0,0 +1,1823 @@ +/* ANSI-C code produced by gperf version 3.2 */ +/* Command-line: gperf -m 10 lib/aliases_sysaix.gperf */ +/* Computed positions: -k'1,3-11,$' */ + +#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \ + && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \ + && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \ + && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \ + && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \ + && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \ + && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \ + && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \ + && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \ + && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \ + && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \ + && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \ + && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \ + && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \ + && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \ + && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \ + && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \ + && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \ + && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \ + && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \ + && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \ + && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \ + && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126)) +/* The character set is not based on ISO-646. */ +#error "gperf generated tables don't work with this execution character set. Please report a bug to ." +#endif + +#line 1 "lib/aliases_sysaix.gperf" +struct alias { int name; unsigned int encoding_index; }; + +#define TOTAL_KEYWORDS 360 +#define MIN_WORD_LENGTH 2 +#define MAX_WORD_LENGTH 45 +#define MIN_HASH_VALUE 5 +#define MAX_HASH_VALUE 1039 +/* maximum key range = 1035, duplicates = 0 */ + +#ifdef __GNUC__ +__inline +#else +#ifdef __cplusplus +inline +#endif +#endif +static unsigned int +aliases_hash (register const char *str, register size_t len) +{ + static const unsigned short asso_values[] = + { + 1040, 1040, 1040, 1040, 1040, 1040, 1040, 1040, 1040, 1040, + 1040, 1040, 1040, 1040, 1040, 1040, 1040, 1040, 1040, 1040, + 1040, 1040, 1040, 1040, 1040, 1040, 1040, 1040, 1040, 1040, + 1040, 1040, 1040, 1040, 1040, 1040, 1040, 1040, 1040, 1040, + 1040, 1040, 1040, 1040, 1040, 0, 174, 1040, 44, 2, + 16, 28, 9, 13, 5, 188, 20, 0, 170, 1040, + 1040, 1040, 1040, 1040, 1040, 9, 191, 2, 19, 65, + 140, 65, 42, 88, 376, 199, 6, 206, 3, 0, + 52, 1040, 0, 11, 118, 97, 59, 189, 220, 13, + 4, 1040, 1040, 1040, 1040, 1, 1040, 1040, 1040, 1040, + 1040, 1040, 1040, 1040, 1040, 1040, 1040, 1040, 1040, 1040, + 1040, 1040, 1040, 1040, 1040, 1040, 1040, 1040, 1040, 1040, + 1040, 1040, 1040, 1040, 1040, 1040, 1040, 1040 + }; + register unsigned int hval = len; + + switch (hval) + { + default: + hval += asso_values[(unsigned char)str[10]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif + /*FALLTHROUGH*/ + case 10: + hval += asso_values[(unsigned char)str[9]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif + /*FALLTHROUGH*/ + case 9: + hval += asso_values[(unsigned char)str[8]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif + /*FALLTHROUGH*/ + case 8: + hval += asso_values[(unsigned char)str[7]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif + /*FALLTHROUGH*/ + case 7: + hval += asso_values[(unsigned char)str[6]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif + /*FALLTHROUGH*/ + case 6: + hval += asso_values[(unsigned char)str[5]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif + /*FALLTHROUGH*/ + case 5: + hval += asso_values[(unsigned char)str[4]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif + /*FALLTHROUGH*/ + case 4: + hval += asso_values[(unsigned char)str[3]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif + /*FALLTHROUGH*/ + case 3: + hval += asso_values[(unsigned char)str[2]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif + /*FALLTHROUGH*/ + case 2: + case 1: + hval += asso_values[(unsigned char)str[0]]; + break; + } + return hval + asso_values[(unsigned char)str[len - 1]]; +} + +struct stringpool_t + { + char stringpool_str5[sizeof("C99")]; + char stringpool_str7[sizeof("CN")]; + char stringpool_str10[sizeof("L1")]; + char stringpool_str13[sizeof("L6")]; + char stringpool_str15[sizeof("CHAR")]; + char stringpool_str16[sizeof("CP949")]; + char stringpool_str17[sizeof("L4")]; + char stringpool_str21[sizeof("L5")]; + char stringpool_str22[sizeof("R8")]; + char stringpool_str24[sizeof("L2")]; + char stringpool_str28[sizeof("L8")]; + char stringpool_str29[sizeof("CP819")]; + char stringpool_str33[sizeof("866")]; + char stringpool_str36[sizeof("L3")]; + char stringpool_str40[sizeof("CP154")]; + char stringpool_str42[sizeof("CP866")]; + char stringpool_str43[sizeof("CP1251")]; + char stringpool_str44[sizeof("CP1131")]; + char stringpool_str45[sizeof("CP936")]; + char stringpool_str47[sizeof("CP1361")]; + char stringpool_str48[sizeof("HZ")]; + char stringpool_str49[sizeof("CP1256")]; + char stringpool_str55[sizeof("862")]; + char stringpool_str57[sizeof("CP1254")]; + char stringpool_str64[sizeof("CP862")]; + char stringpool_str65[sizeof("CP1255")]; + char stringpool_str67[sizeof("CP932")]; + char stringpool_str71[sizeof("CP1252")]; + char stringpool_str79[sizeof("CP1258")]; + char stringpool_str80[sizeof("EUCCN")]; + char stringpool_str81[sizeof("EUC-CN")]; + char stringpool_str90[sizeof("PT154")]; + char stringpool_str95[sizeof("CP1253")]; + char stringpool_str96[sizeof("CP1133")]; + char stringpool_str97[sizeof("L10")]; + char stringpool_str101[sizeof("RK1048")]; + char stringpool_str102[sizeof("CP50221")]; + char stringpool_str104[sizeof("UHC")]; + char stringpool_str108[sizeof("CP950")]; + char stringpool_str110[sizeof("US")]; + char stringpool_str111[sizeof("850")]; + char stringpool_str124[sizeof("ISO646-CN")]; + char stringpool_str125[sizeof("SJIS")]; + char stringpool_str127[sizeof("CP1250")]; + char stringpool_str128[sizeof("CP850")]; + char stringpool_str131[sizeof("UCS-4")]; + char stringpool_str136[sizeof("CSUCS4")]; + char stringpool_str145[sizeof("UCS-2")]; + char stringpool_str146[sizeof("PTCP154")]; + char stringpool_str149[sizeof("GB2312")]; + char stringpool_str150[sizeof("ISO8859-9")]; + char stringpool_str151[sizeof("ISO-8859-9")]; + char stringpool_str152[sizeof("ISO_8859-9")]; + char stringpool_str154[sizeof("ISO8859-1")]; + char stringpool_str155[sizeof("ISO-8859-1")]; + char stringpool_str156[sizeof("ISO_8859-1")]; + char stringpool_str157[sizeof("ISO8859-11")]; + char stringpool_str158[sizeof("ISO-8859-11")]; + char stringpool_str159[sizeof("ISO_8859-11")]; + char stringpool_str160[sizeof("ISO8859-6")]; + char stringpool_str161[sizeof("ISO-8859-6")]; + char stringpool_str162[sizeof("ISO_8859-6")]; + char stringpool_str163[sizeof("ISO8859-16")]; + char stringpool_str164[sizeof("ISO-8859-16")]; + char stringpool_str165[sizeof("ISO_8859-16")]; + char stringpool_str167[sizeof("ISO_8859-16:2001")]; + char stringpool_str168[sizeof("ISO8859-4")]; + char stringpool_str169[sizeof("ISO-8859-4")]; + char stringpool_str170[sizeof("ISO_8859-4")]; + char stringpool_str171[sizeof("ISO8859-14")]; + char stringpool_str172[sizeof("ISO-8859-14")]; + char stringpool_str173[sizeof("ISO_8859-14")]; + char stringpool_str176[sizeof("ISO8859-5")]; + char stringpool_str177[sizeof("ISO-8859-5")]; + char stringpool_str178[sizeof("ISO_8859-5")]; + char stringpool_str179[sizeof("ISO8859-15")]; + char stringpool_str180[sizeof("ISO-8859-15")]; + char stringpool_str181[sizeof("ISO_8859-15")]; + char stringpool_str182[sizeof("ISO8859-2")]; + char stringpool_str183[sizeof("ISO-8859-2")]; + char stringpool_str184[sizeof("ISO_8859-2")]; + char stringpool_str187[sizeof("TCVN")]; + char stringpool_str188[sizeof("ISO-IR-199")]; + char stringpool_str189[sizeof("ISO_8859-14:1998")]; + char stringpool_str190[sizeof("ISO8859-8")]; + char stringpool_str191[sizeof("ISO-8859-8")]; + char stringpool_str192[sizeof("ISO_8859-8")]; + char stringpool_str193[sizeof("ISO_8859-15:1998")]; + char stringpool_str194[sizeof("ISO-IR-6")]; + char stringpool_str196[sizeof("L7")]; + char stringpool_str197[sizeof("ISO-IR-149")]; + char stringpool_str199[sizeof("ISO-2022-CN")]; + char stringpool_str201[sizeof("ISO-IR-159")]; + char stringpool_str202[sizeof("CYRILLIC")]; + char stringpool_str203[sizeof("ISO-IR-166")]; + char stringpool_str205[sizeof("ISO-IR-14")]; + char stringpool_str206[sizeof("ISO8859-3")]; + char stringpool_str207[sizeof("ISO-8859-3")]; + char stringpool_str208[sizeof("ISO_8859-3")]; + char stringpool_str209[sizeof("ISO8859-13")]; + char stringpool_str210[sizeof("ISO-8859-13")]; + char stringpool_str211[sizeof("ISO_8859-13")]; + char stringpool_str212[sizeof("CSISO2022CN")]; + char stringpool_str213[sizeof("MAC")]; + char stringpool_str214[sizeof("ISO-IR-126")]; + char stringpool_str215[sizeof("ISO-IR-144")]; + char stringpool_str219[sizeof("ISO-IR-165")]; + char stringpool_str220[sizeof("ISO_8859-10:1992")]; + char stringpool_str222[sizeof("LATIN-9")]; + char stringpool_str225[sizeof("LATIN1")]; + char stringpool_str226[sizeof("GB_1988-80")]; + char stringpool_str228[sizeof("ISO-IR-226")]; + char stringpool_str229[sizeof("CYRILLIC-ASIAN")]; + char stringpool_str231[sizeof("LATIN6")]; + char stringpool_str232[sizeof("ISO-IR-109")]; + char stringpool_str233[sizeof("CP874")]; + char stringpool_str235[sizeof("ISO646-US")]; + char stringpool_str236[sizeof("ISO-IR-101")]; + char stringpool_str237[sizeof("ISO-IR-148")]; + char stringpool_str238[sizeof("ISO-IR-58")]; + char stringpool_str239[sizeof("LATIN4")]; + char stringpool_str240[sizeof("MS-CYRL")]; + char stringpool_str241[sizeof("ISO8859-10")]; + char stringpool_str242[sizeof("ISO-8859-10")]; + char stringpool_str243[sizeof("ISO_8859-10")]; + char stringpool_str244[sizeof("TIS620")]; + char stringpool_str245[sizeof("TIS-620")]; + char stringpool_str246[sizeof("GB_2312-80")]; + char stringpool_str247[sizeof("LATIN5")]; + char stringpool_str248[sizeof("ELOT_928")]; + char stringpool_str249[sizeof("MS936")]; + char stringpool_str253[sizeof("LATIN2")]; + char stringpool_str254[sizeof("GB18030")]; + char stringpool_str255[sizeof("UTF-16")]; + char stringpool_str256[sizeof("ISO-IR-138")]; + char stringpool_str260[sizeof("UCS-4LE")]; + char stringpool_str261[sizeof("LATIN8")]; + char stringpool_str264[sizeof("ROMAN8")]; + char stringpool_str267[sizeof("UCS-2LE")]; + char stringpool_str268[sizeof("CSPTCP154")]; + char stringpool_str270[sizeof("GEORGIAN-ACADEMY")]; + char stringpool_str271[sizeof("EUCKR")]; + char stringpool_str272[sizeof("EUC-KR")]; + char stringpool_str274[sizeof("ISO-10646-UCS-4")]; + char stringpool_str275[sizeof("X0212")]; + char stringpool_str276[sizeof("KSC_5601")]; + char stringpool_str277[sizeof("LATIN3")]; + char stringpool_str278[sizeof("ISO-IR-110")]; + char stringpool_str280[sizeof("ASCII")]; + char stringpool_str281[sizeof("ISO-10646-UCS-2")]; + char stringpool_str282[sizeof("UTF-8")]; + char stringpool_str283[sizeof("KS_C_5601-1989")]; + char stringpool_str285[sizeof("KOREAN")]; + char stringpool_str286[sizeof("BIG5")]; + char stringpool_str287[sizeof("BIG-5")]; + char stringpool_str288[sizeof("UNICODE-1-1")]; + char stringpool_str289[sizeof("X0201")]; + char stringpool_str290[sizeof("TIS620-0")]; + char stringpool_str293[sizeof("CSUNICODE11")]; + char stringpool_str295[sizeof("CSASCII")]; + char stringpool_str301[sizeof("KZ-1048")]; + char stringpool_str302[sizeof("ISO-IR-203")]; + char stringpool_str303[sizeof("UTF-32")]; + char stringpool_str305[sizeof("MULELAO-1")]; + char stringpool_str306[sizeof("CHINESE")]; + char stringpool_str307[sizeof("ARABIC")]; + char stringpool_str308[sizeof("CSKZ1048")]; + char stringpool_str309[sizeof("HP-ROMAN8")]; + char stringpool_str310[sizeof("ECMA-114")]; + char stringpool_str312[sizeof("LATIN10")]; + char stringpool_str313[sizeof("KOI8-R")]; + char stringpool_str315[sizeof("GEORGIAN-PS")]; + char stringpool_str316[sizeof("CSKOI8R")]; + char stringpool_str318[sizeof("ISO-2022-CN-EXT")]; + char stringpool_str320[sizeof("ISO-IR-100")]; + char stringpool_str321[sizeof("IBM-921")]; + char stringpool_str322[sizeof("IBM819")]; + char stringpool_str325[sizeof("X0208")]; + char stringpool_str327[sizeof("ISO_8859-9:1989")]; + char stringpool_str332[sizeof("ECMA-118")]; + char stringpool_str335[sizeof("IBM866")]; + char stringpool_str338[sizeof("IBM-1131")]; + char stringpool_str340[sizeof("CSISOLATIN1")]; + char stringpool_str342[sizeof("VISCII")]; + char stringpool_str344[sizeof("CSGB2312")]; + char stringpool_str346[sizeof("CSISOLATIN6")]; + char stringpool_str347[sizeof("CSISOLATINCYRILLIC")]; + char stringpool_str350[sizeof("CSUNICODE")]; + char stringpool_str352[sizeof("CSISOLATINARABIC")]; + char stringpool_str354[sizeof("CSISOLATIN4")]; + char stringpool_str356[sizeof("ISO_8859-4:1988")]; + char stringpool_str357[sizeof("IBM862")]; + char stringpool_str360[sizeof("ISO_8859-5:1988")]; + char stringpool_str361[sizeof("IBM-932")]; + char stringpool_str362[sizeof("CSISOLATIN5")]; + char stringpool_str364[sizeof("CSHPROMAN8")]; + char stringpool_str365[sizeof("IBM-1252")]; + char stringpool_str367[sizeof("ISO_8859-8:1988")]; + char stringpool_str368[sizeof("CSISOLATIN2")]; + char stringpool_str372[sizeof("CSEUCKR")]; + char stringpool_str374[sizeof("STRK1048-2002")]; + char stringpool_str375[sizeof("ISO_8859-3:1988")]; + char stringpool_str376[sizeof("ISO-IR-179")]; + char stringpool_str378[sizeof("CSBIG5")]; + char stringpool_str379[sizeof("CN-BIG5")]; + char stringpool_str381[sizeof("ISO-CELTIC")]; + char stringpool_str386[sizeof("HZ-GB-2312")]; + char stringpool_str388[sizeof("UTF-16LE")]; + char stringpool_str390[sizeof("ISO-2022-KR")]; + char stringpool_str391[sizeof("US-ASCII")]; + char stringpool_str392[sizeof("CSISOLATIN3")]; + char stringpool_str403[sizeof("CSISO2022KR")]; + char stringpool_str406[sizeof("MS-EE")]; + char stringpool_str411[sizeof("UCS-4-INTERNAL")]; + char stringpool_str412[sizeof("MS-ANSI")]; + char stringpool_str413[sizeof("TCVN5712-1")]; + char stringpool_str415[sizeof("CP1257")]; + char stringpool_str416[sizeof("CP367")]; + char stringpool_str418[sizeof("UCS-2-INTERNAL")]; + char stringpool_str421[sizeof("IBM850")]; + char stringpool_str422[sizeof("IBM-850")]; + char stringpool_str424[sizeof("TCVN-5712")]; + char stringpool_str425[sizeof("UTF-32LE")]; + char stringpool_str426[sizeof("MACCYRILLIC")]; + char stringpool_str428[sizeof("TIS620.2529-1")]; + char stringpool_str429[sizeof("MACICELAND")]; + char stringpool_str430[sizeof("JP")]; + char stringpool_str434[sizeof("CSVISCII")]; + char stringpool_str437[sizeof("MACROMAN")]; + char stringpool_str440[sizeof("GREEK8")]; + char stringpool_str441[sizeof("VISCII1.1-1")]; + char stringpool_str445[sizeof("UCS-4BE")]; + char stringpool_str446[sizeof("IBM-CP1133")]; + char stringpool_str447[sizeof("ISO_646.IRV:1991")]; + char stringpool_str451[sizeof("MACCROATIAN")]; + char stringpool_str452[sizeof("UCS-2BE")]; + char stringpool_str453[sizeof("ARMSCII-8")]; + char stringpool_str454[sizeof("CN-GB")]; + char stringpool_str456[sizeof("WINDOWS-1251")]; + char stringpool_str457[sizeof("JAVA")]; + char stringpool_str459[sizeof("WINDOWS-1256")]; + char stringpool_str460[sizeof("WINDOWS-936")]; + char stringpool_str462[sizeof("UCS-4-SWAPPED")]; + char stringpool_str463[sizeof("WINDOWS-1254")]; + char stringpool_str466[sizeof("GBK")]; + char stringpool_str467[sizeof("WINDOWS-1255")]; + char stringpool_str468[sizeof("TIS620.2533-1")]; + char stringpool_str469[sizeof("UCS-2-SWAPPED")]; + char stringpool_str470[sizeof("WINDOWS-1252")]; + char stringpool_str471[sizeof("KS_C_5601-1987")]; + char stringpool_str472[sizeof("CN-GB-ISOIR165")]; + char stringpool_str474[sizeof("WINDOWS-1258")]; + char stringpool_str475[sizeof("IBM-EUCCN")]; + char stringpool_str476[sizeof("JIS_C6226-1983")]; + char stringpool_str477[sizeof("GB18030:2022")]; + char stringpool_str480[sizeof("UNICODE-1-1-UTF-7")]; + char stringpool_str481[sizeof("CSKSC56011987")]; + char stringpool_str482[sizeof("WINDOWS-1253")]; + char stringpool_str483[sizeof("CSUNICODE11UTF7")]; + char stringpool_str484[sizeof("WCHAR_T")]; + char stringpool_str490[sizeof("JIS_C6220-1969-RO")]; + char stringpool_str493[sizeof("CSISO58GB231280")]; + char stringpool_str495[sizeof("ASMO-708")]; + char stringpool_str498[sizeof("WINDOWS-1250")]; + char stringpool_str502[sizeof("GB18030:2005")]; + char stringpool_str507[sizeof("KOI8-U")]; + char stringpool_str508[sizeof("KOI8-RU")]; + char stringpool_str510[sizeof("TIS620.2533-0")]; + char stringpool_str511[sizeof("MS-HEBR")]; + char stringpool_str517[sizeof("ISO_8859-1:1987")]; + char stringpool_str518[sizeof("MACARABIC")]; + char stringpool_str520[sizeof("ISO_8859-6:1987")]; + char stringpool_str521[sizeof("MACINTOSH")]; + char stringpool_str525[sizeof("CSPC862LATINHEBREW")]; + char stringpool_str526[sizeof("ISO8859-7")]; + char stringpool_str527[sizeof("ISO-8859-7")]; + char stringpool_str528[sizeof("ISO_8859-7")]; + char stringpool_str530[sizeof("CSIBM866")]; + char stringpool_str531[sizeof("ISO_8859-2:1987")]; + char stringpool_str534[sizeof("CSMACINTOSH")]; + char stringpool_str538[sizeof("JIS0208")]; + char stringpool_str542[sizeof("MACROMANIA")]; + char stringpool_str543[sizeof("ISO_8859-7:2003")]; + char stringpool_str549[sizeof("KOI8-T")]; + char stringpool_str552[sizeof("EUCJP")]; + char stringpool_str553[sizeof("EUC-JP")]; + char stringpool_str554[sizeof("BIG5HKSCS")]; + char stringpool_str555[sizeof("BIG5-HKSCS")]; + char stringpool_str557[sizeof("MACCENTRALEUROPE")]; + char stringpool_str560[sizeof("MACTHAI")]; + char stringpool_str561[sizeof("ANSI_X3.4-1986")]; + char stringpool_str565[sizeof("EXTENDED_UNIX_CODE_PACKED_FORMAT_FOR_JAPANESE")]; + char stringpool_str568[sizeof("EUCTW")]; + char stringpool_str569[sizeof("EUC-TW")]; + char stringpool_str572[sizeof("CSISOLATINHEBREW")]; + char stringpool_str573[sizeof("UTF-16BE")]; + char stringpool_str574[sizeof("ISO-IR-57")]; + char stringpool_str576[sizeof("ANSI_X3.4-1968")]; + char stringpool_str577[sizeof("ISO-IR-157")]; + char stringpool_str580[sizeof("ISO-IR-127")]; + char stringpool_str581[sizeof("ISO-IR-87")]; + char stringpool_str585[sizeof("CSPC850MULTILINGUAL")]; + char stringpool_str593[sizeof("CSISO57GB1988")]; + char stringpool_str596[sizeof("ISO646-JP")]; + char stringpool_str597[sizeof("LATIN7")]; + char stringpool_str598[sizeof("GREEK")]; + char stringpool_str604[sizeof("CSISOLATINGREEK")]; + char stringpool_str606[sizeof("CSISO14JISC6220RO")]; + char stringpool_str610[sizeof("UTF-32BE")]; + char stringpool_str613[sizeof("MS-ARAB")]; + char stringpool_str614[sizeof("TCVN5712-1:1993")]; + char stringpool_str618[sizeof("UTF-7")]; + char stringpool_str623[sizeof("ISO-2022-JP-1")]; + char stringpool_str633[sizeof("ISO-2022-JP-MS")]; + char stringpool_str637[sizeof("ISO-2022-JP-2")]; + char stringpool_str642[sizeof("WINDOWS-1257")]; + char stringpool_str647[sizeof("NEXTSTEP")]; + char stringpool_str648[sizeof("WINDOWS-874")]; + char stringpool_str649[sizeof("CSISO2022JP2")]; + char stringpool_str655[sizeof("CSISO159JISX02121990")]; + char stringpool_str666[sizeof("IBM-EUCKR")]; + char stringpool_str669[sizeof("CSEUCTW")]; + char stringpool_str671[sizeof("ISO-2022-JP")]; + char stringpool_str679[sizeof("UNICODELITTLE")]; + char stringpool_str680[sizeof("BIGFIVE")]; + char stringpool_str681[sizeof("BIG-FIVE")]; + char stringpool_str682[sizeof("HEBREW")]; + char stringpool_str683[sizeof("CSHALFWIDTHKATAKANA")]; + char stringpool_str684[sizeof("CSISO2022JP")]; + char stringpool_str690[sizeof("UNICODEBIG")]; + char stringpool_str703[sizeof("ISO_8859-7:1987")]; + char stringpool_str709[sizeof("IBM367")]; + char stringpool_str711[sizeof("JIS_X0212")]; + char stringpool_str719[sizeof("BIG5-HKSCS:1999")]; + char stringpool_str721[sizeof("BIG5-HKSCS:2001")]; + char stringpool_str725[sizeof("JIS_X0201")]; + char stringpool_str728[sizeof("BIG5-HKSCS:2004")]; + char stringpool_str733[sizeof("JISX0201-1976")]; + char stringpool_str739[sizeof("BIG5-HKSCS:2008")]; + char stringpool_str744[sizeof("MACUKRAINE")]; + char stringpool_str746[sizeof("JIS_X0212-1990")]; + char stringpool_str761[sizeof("JIS_X0208")]; + char stringpool_str776[sizeof("JIS_X0208-1983")]; + char stringpool_str792[sizeof("JIS_X0208-1990")]; + char stringpool_str807[sizeof("MS-GREEK")]; + char stringpool_str809[sizeof("MACGREEK")]; + char stringpool_str814[sizeof("JOHAB")]; + char stringpool_str815[sizeof("MACTURKISH")]; + char stringpool_str826[sizeof("MS-TURK")]; + char stringpool_str852[sizeof("SHIFT-JIS")]; + char stringpool_str853[sizeof("SHIFT_JIS")]; + char stringpool_str897[sizeof("CSSHIFTJIS")]; + char stringpool_str922[sizeof("JIS_X0212.1990-0")]; + char stringpool_str947[sizeof("IBM-EUCJP")]; + char stringpool_str958[sizeof("MACHEBREW")]; + char stringpool_str963[sizeof("IBM-EUCTW")]; + char stringpool_str978[sizeof("MS_KANJI")]; + char stringpool_str984[sizeof("CSEUCPKDFMTJAPANESE")]; + char stringpool_str1026[sizeof("WINBALTRIM")]; + char stringpool_str1039[sizeof("CSISO87JISX0208")]; + }; +static const struct stringpool_t stringpool_contents = + { + "C99", + "CN", + "L1", + "L6", + "CHAR", + "CP949", + "L4", + "L5", + "R8", + "L2", + "L8", + "CP819", + "866", + "L3", + "CP154", + "CP866", + "CP1251", + "CP1131", + "CP936", + "CP1361", + "HZ", + "CP1256", + "862", + "CP1254", + "CP862", + "CP1255", + "CP932", + "CP1252", + "CP1258", + "EUCCN", + "EUC-CN", + "PT154", + "CP1253", + "CP1133", + "L10", + "RK1048", + "CP50221", + "UHC", + "CP950", + "US", + "850", + "ISO646-CN", + "SJIS", + "CP1250", + "CP850", + "UCS-4", + "CSUCS4", + "UCS-2", + "PTCP154", + "GB2312", + "ISO8859-9", + "ISO-8859-9", + "ISO_8859-9", + "ISO8859-1", + "ISO-8859-1", + "ISO_8859-1", + "ISO8859-11", + "ISO-8859-11", + "ISO_8859-11", + "ISO8859-6", + "ISO-8859-6", + "ISO_8859-6", + "ISO8859-16", + "ISO-8859-16", + "ISO_8859-16", + "ISO_8859-16:2001", + "ISO8859-4", + "ISO-8859-4", + "ISO_8859-4", + "ISO8859-14", + "ISO-8859-14", + "ISO_8859-14", + "ISO8859-5", + "ISO-8859-5", + "ISO_8859-5", + "ISO8859-15", + "ISO-8859-15", + "ISO_8859-15", + "ISO8859-2", + "ISO-8859-2", + "ISO_8859-2", + "TCVN", + "ISO-IR-199", + "ISO_8859-14:1998", + "ISO8859-8", + "ISO-8859-8", + "ISO_8859-8", + "ISO_8859-15:1998", + "ISO-IR-6", + "L7", + "ISO-IR-149", + "ISO-2022-CN", + "ISO-IR-159", + "CYRILLIC", + "ISO-IR-166", + "ISO-IR-14", + "ISO8859-3", + "ISO-8859-3", + "ISO_8859-3", + "ISO8859-13", + "ISO-8859-13", + "ISO_8859-13", + "CSISO2022CN", + "MAC", + "ISO-IR-126", + "ISO-IR-144", + "ISO-IR-165", + "ISO_8859-10:1992", + "LATIN-9", + "LATIN1", + "GB_1988-80", + "ISO-IR-226", + "CYRILLIC-ASIAN", + "LATIN6", + "ISO-IR-109", + "CP874", + "ISO646-US", + "ISO-IR-101", + "ISO-IR-148", + "ISO-IR-58", + "LATIN4", + "MS-CYRL", + "ISO8859-10", + "ISO-8859-10", + "ISO_8859-10", + "TIS620", + "TIS-620", + "GB_2312-80", + "LATIN5", + "ELOT_928", + "MS936", + "LATIN2", + "GB18030", + "UTF-16", + "ISO-IR-138", + "UCS-4LE", + "LATIN8", + "ROMAN8", + "UCS-2LE", + "CSPTCP154", + "GEORGIAN-ACADEMY", + "EUCKR", + "EUC-KR", + "ISO-10646-UCS-4", + "X0212", + "KSC_5601", + "LATIN3", + "ISO-IR-110", + "ASCII", + "ISO-10646-UCS-2", + "UTF-8", + "KS_C_5601-1989", + "KOREAN", + "BIG5", + "BIG-5", + "UNICODE-1-1", + "X0201", + "TIS620-0", + "CSUNICODE11", + "CSASCII", + "KZ-1048", + "ISO-IR-203", + "UTF-32", + "MULELAO-1", + "CHINESE", + "ARABIC", + "CSKZ1048", + "HP-ROMAN8", + "ECMA-114", + "LATIN10", + "KOI8-R", + "GEORGIAN-PS", + "CSKOI8R", + "ISO-2022-CN-EXT", + "ISO-IR-100", + "IBM-921", + "IBM819", + "X0208", + "ISO_8859-9:1989", + "ECMA-118", + "IBM866", + "IBM-1131", + "CSISOLATIN1", + "VISCII", + "CSGB2312", + "CSISOLATIN6", + "CSISOLATINCYRILLIC", + "CSUNICODE", + "CSISOLATINARABIC", + "CSISOLATIN4", + "ISO_8859-4:1988", + "IBM862", + "ISO_8859-5:1988", + "IBM-932", + "CSISOLATIN5", + "CSHPROMAN8", + "IBM-1252", + "ISO_8859-8:1988", + "CSISOLATIN2", + "CSEUCKR", + "STRK1048-2002", + "ISO_8859-3:1988", + "ISO-IR-179", + "CSBIG5", + "CN-BIG5", + "ISO-CELTIC", + "HZ-GB-2312", + "UTF-16LE", + "ISO-2022-KR", + "US-ASCII", + "CSISOLATIN3", + "CSISO2022KR", + "MS-EE", + "UCS-4-INTERNAL", + "MS-ANSI", + "TCVN5712-1", + "CP1257", + "CP367", + "UCS-2-INTERNAL", + "IBM850", + "IBM-850", + "TCVN-5712", + "UTF-32LE", + "MACCYRILLIC", + "TIS620.2529-1", + "MACICELAND", + "JP", + "CSVISCII", + "MACROMAN", + "GREEK8", + "VISCII1.1-1", + "UCS-4BE", + "IBM-CP1133", + "ISO_646.IRV:1991", + "MACCROATIAN", + "UCS-2BE", + "ARMSCII-8", + "CN-GB", + "WINDOWS-1251", + "JAVA", + "WINDOWS-1256", + "WINDOWS-936", + "UCS-4-SWAPPED", + "WINDOWS-1254", + "GBK", + "WINDOWS-1255", + "TIS620.2533-1", + "UCS-2-SWAPPED", + "WINDOWS-1252", + "KS_C_5601-1987", + "CN-GB-ISOIR165", + "WINDOWS-1258", + "IBM-EUCCN", + "JIS_C6226-1983", + "GB18030:2022", + "UNICODE-1-1-UTF-7", + "CSKSC56011987", + "WINDOWS-1253", + "CSUNICODE11UTF7", + "WCHAR_T", + "JIS_C6220-1969-RO", + "CSISO58GB231280", + "ASMO-708", + "WINDOWS-1250", + "GB18030:2005", + "KOI8-U", + "KOI8-RU", + "TIS620.2533-0", + "MS-HEBR", + "ISO_8859-1:1987", + "MACARABIC", + "ISO_8859-6:1987", + "MACINTOSH", + "CSPC862LATINHEBREW", + "ISO8859-7", + "ISO-8859-7", + "ISO_8859-7", + "CSIBM866", + "ISO_8859-2:1987", + "CSMACINTOSH", + "JIS0208", + "MACROMANIA", + "ISO_8859-7:2003", + "KOI8-T", + "EUCJP", + "EUC-JP", + "BIG5HKSCS", + "BIG5-HKSCS", + "MACCENTRALEUROPE", + "MACTHAI", + "ANSI_X3.4-1986", + "EXTENDED_UNIX_CODE_PACKED_FORMAT_FOR_JAPANESE", + "EUCTW", + "EUC-TW", + "CSISOLATINHEBREW", + "UTF-16BE", + "ISO-IR-57", + "ANSI_X3.4-1968", + "ISO-IR-157", + "ISO-IR-127", + "ISO-IR-87", + "CSPC850MULTILINGUAL", + "CSISO57GB1988", + "ISO646-JP", + "LATIN7", + "GREEK", + "CSISOLATINGREEK", + "CSISO14JISC6220RO", + "UTF-32BE", + "MS-ARAB", + "TCVN5712-1:1993", + "UTF-7", + "ISO-2022-JP-1", + "ISO-2022-JP-MS", + "ISO-2022-JP-2", + "WINDOWS-1257", + "NEXTSTEP", + "WINDOWS-874", + "CSISO2022JP2", + "CSISO159JISX02121990", + "IBM-EUCKR", + "CSEUCTW", + "ISO-2022-JP", + "UNICODELITTLE", + "BIGFIVE", + "BIG-FIVE", + "HEBREW", + "CSHALFWIDTHKATAKANA", + "CSISO2022JP", + "UNICODEBIG", + "ISO_8859-7:1987", + "IBM367", + "JIS_X0212", + "BIG5-HKSCS:1999", + "BIG5-HKSCS:2001", + "JIS_X0201", + "BIG5-HKSCS:2004", + "JISX0201-1976", + "BIG5-HKSCS:2008", + "MACUKRAINE", + "JIS_X0212-1990", + "JIS_X0208", + "JIS_X0208-1983", + "JIS_X0208-1990", + "MS-GREEK", + "MACGREEK", + "JOHAB", + "MACTURKISH", + "MS-TURK", + "SHIFT-JIS", + "SHIFT_JIS", + "CSSHIFTJIS", + "JIS_X0212.1990-0", + "IBM-EUCJP", + "MACHEBREW", + "IBM-EUCTW", + "MS_KANJI", + "CSEUCPKDFMTJAPANESE", + "WINBALTRIM", + "CSISO87JISX0208" + }; +#define stringpool ((const char *) &stringpool_contents) + +static const struct alias aliases[] = + { + {-1}, {-1}, {-1}, {-1}, {-1}, +#line 51 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str5, ei_c99}, + {-1}, +#line 292 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str7, ei_iso646_cn}, + {-1}, {-1}, +#line 60 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str10, ei_iso8859_1}, + {-1}, {-1}, +#line 134 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str13, ei_iso8859_10}, + {-1}, +#line 370 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str15, ei_local_char}, +#line 364 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str16, ei_cp949}, +#line 84 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str17, ei_iso8859_4}, + {-1}, {-1}, {-1}, +#line 126 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str21, ei_iso8859_9}, +#line 231 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str22, ei_hp_roman8}, + {-1}, +#line 68 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str24, ei_iso8859_2}, + {-1}, {-1}, {-1}, +#line 152 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str28, ei_iso8859_14}, +#line 57 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str29, ei_iso8859_1}, + {-1}, {-1}, {-1}, +#line 210 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str33, ei_cp866}, + {-1}, {-1}, +#line 76 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str36, ei_iso8859_3}, + {-1}, {-1}, {-1}, +#line 240 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str40, ei_pt154}, + {-1}, +#line 208 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str42, ei_cp866}, +#line 175 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str43, ei_cp1251}, +#line 212 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str44, ei_cp1131}, +#line 332 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str45, ei_cp936}, + {-1}, +#line 367 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str47, ei_johab}, +#line 341 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str48, ei_hz}, +#line 191 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str49, ei_cp1256}, + {-1}, {-1}, {-1}, {-1}, {-1}, +#line 206 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str55, ei_cp862}, + {-1}, +#line 185 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str57, ei_cp1254}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 204 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str64, ei_cp862}, +#line 188 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str65, ei_cp1255}, + {-1}, +#line 316 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str67, ei_cp932}, + {-1}, {-1}, {-1}, +#line 178 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str71, ei_cp1252}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 197 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str79, ei_cp1258}, +#line 326 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str80, ei_euc_cn}, +#line 325 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str81, ei_euc_cn}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 238 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str90, ei_pt154}, + {-1}, {-1}, {-1}, {-1}, +#line 182 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str95, ei_cp1253}, +#line 248 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str96, ei_cp1133}, +#line 166 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str97, ei_iso8859_16}, + {-1}, {-1}, {-1}, +#line 243 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str101, ei_rk1048}, +#line 324 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str102, ei_iso2022_jpms}, + {-1}, +#line 365 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str104, ei_cp949}, + {-1}, {-1}, {-1}, +#line 353 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str108, ei_cp950}, + {-1}, +#line 21 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str110, ei_ascii}, +#line 201 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str111, ei_cp850}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, +#line 290 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str124, ei_iso646_cn}, +#line 313 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str125, ei_sjis}, + {-1}, +#line 172 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str127, ei_cp1250}, +#line 199 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str128, ei_cp850}, + {-1}, {-1}, +#line 33 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str131, ei_ucs4}, + {-1}, {-1}, {-1}, {-1}, +#line 35 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str136, ei_ucs4}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 24 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str145, ei_ucs2}, +#line 239 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str146, ei_pt154}, + {-1}, {-1}, +#line 327 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str149, ei_euc_cn}, +#line 128 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str150, ei_iso8859_9}, +#line 121 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str151, ei_iso8859_9}, +#line 122 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str152, ei_iso8859_9}, + {-1}, +#line 62 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str154, ei_iso8859_1}, +#line 53 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str155, ei_iso8859_1}, +#line 54 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str156, ei_iso8859_1}, +#line 139 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str157, ei_iso8859_11}, +#line 137 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str158, ei_iso8859_11}, +#line 138 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str159, ei_iso8859_11}, +#line 102 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str160, ei_iso8859_6}, +#line 94 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str161, ei_iso8859_6}, +#line 95 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str162, ei_iso8859_6}, +#line 167 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str163, ei_iso8859_16}, +#line 161 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str164, ei_iso8859_16}, +#line 162 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str165, ei_iso8859_16}, + {-1}, +#line 163 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str167, ei_iso8859_16}, +#line 86 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str168, ei_iso8859_4}, +#line 79 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str169, ei_iso8859_4}, +#line 80 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str170, ei_iso8859_4}, +#line 154 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str171, ei_iso8859_14}, +#line 147 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str172, ei_iso8859_14}, +#line 148 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str173, ei_iso8859_14}, + {-1}, {-1}, +#line 93 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str176, ei_iso8859_5}, +#line 87 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str177, ei_iso8859_5}, +#line 88 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str178, ei_iso8859_5}, +#line 160 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str179, ei_iso8859_15}, +#line 155 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str180, ei_iso8859_15}, +#line 156 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str181, ei_iso8859_15}, +#line 70 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str182, ei_iso8859_2}, +#line 63 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str183, ei_iso8859_2}, +#line 64 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str184, ei_iso8859_2}, + {-1}, {-1}, +#line 262 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str187, ei_tcvn}, +#line 150 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str188, ei_iso8859_14}, +#line 149 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str189, ei_iso8859_14}, +#line 120 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str190, ei_iso8859_8}, +#line 114 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str191, ei_iso8859_8}, +#line 115 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str192, ei_iso8859_8}, +#line 157 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str193, ei_iso8859_15}, +#line 16 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str194, ei_ascii}, + {-1}, +#line 144 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str196, ei_iso8859_13}, +#line 303 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str197, ei_ksc5601}, + {-1}, +#line 338 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str199, ei_iso2022_cn}, + {-1}, +#line 287 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str201, ei_jisx0212}, +#line 91 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str202, ei_iso8859_5}, +#line 256 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str203, ei_tis620}, + {-1}, +#line 268 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str205, ei_iso646_jp}, +#line 78 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str206, ei_iso8859_3}, +#line 71 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str207, ei_iso8859_3}, +#line 72 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str208, ei_iso8859_3}, +#line 145 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str209, ei_iso8859_13}, +#line 140 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str210, ei_iso8859_13}, +#line 141 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str211, ei_iso8859_13}, +#line 339 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str212, ei_iso2022_cn}, +#line 216 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str213, ei_mac_roman}, +#line 107 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str214, ei_iso8859_7}, +#line 90 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str215, ei_iso8859_5}, + {-1}, {-1}, {-1}, +#line 298 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str219, ei_isoir165}, +#line 131 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str220, ei_iso8859_10}, + {-1}, +#line 159 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str222, ei_iso8859_15}, + {-1}, {-1}, +#line 59 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str225, ei_iso8859_1}, +#line 289 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str226, ei_iso646_cn}, + {-1}, +#line 164 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str228, ei_iso8859_16}, +#line 241 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str229, ei_pt154}, + {-1}, +#line 133 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str231, ei_iso8859_10}, +#line 74 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str232, ei_iso8859_3}, +#line 257 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str233, ei_cp874}, + {-1}, +#line 14 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str235, ei_ascii}, +#line 66 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str236, ei_iso8859_2}, +#line 124 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str237, ei_iso8859_9}, +#line 295 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str238, ei_gb2312}, +#line 83 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str239, ei_iso8859_4}, +#line 177 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str240, ei_cp1251}, +#line 136 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str241, ei_iso8859_10}, +#line 129 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str242, ei_iso8859_10}, +#line 130 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str243, ei_iso8859_10}, +#line 251 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str244, ei_tis620}, +#line 250 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str245, ei_tis620}, +#line 294 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str246, ei_gb2312}, +#line 125 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str247, ei_iso8859_9}, +#line 109 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str248, ei_iso8859_7}, +#line 333 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str249, ei_cp936}, + {-1}, {-1}, {-1}, +#line 67 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str253, ei_iso8859_2}, +#line 335 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str254, ei_gb18030_2005}, +#line 38 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str255, ei_utf16}, +#line 117 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str256, ei_iso8859_8}, + {-1}, {-1}, {-1}, +#line 37 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str260, ei_ucs4le}, +#line 151 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str261, ei_iso8859_14}, + {-1}, {-1}, +#line 230 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str264, ei_hp_roman8}, + {-1}, {-1}, +#line 31 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str267, ei_ucs2le}, +#line 242 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str268, ei_pt154}, + {-1}, +#line 235 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str270, ei_georgian_academy}, +#line 361 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str271, ei_euc_kr}, +#line 360 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str272, ei_euc_kr}, + {-1}, +#line 34 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str274, ei_ucs4}, +#line 286 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str275, ei_jisx0212}, +#line 300 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str276, ei_ksc5601}, +#line 75 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str277, ei_iso8859_3}, +#line 82 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str278, ei_iso8859_4}, + {-1}, +#line 13 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str280, ei_ascii}, +#line 25 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str281, ei_ucs2}, +#line 23 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str282, ei_utf8}, +#line 302 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str283, ei_ksc5601}, + {-1}, +#line 305 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str285, ei_ksc5601}, +#line 347 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str286, ei_ces_big5}, +#line 348 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str287, ei_ces_big5}, +#line 29 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str288, ei_ucs2be}, +#line 273 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str289, ei_jisx0201}, +#line 252 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str290, ei_tis620}, + {-1}, {-1}, +#line 30 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str293, ei_ucs2be}, + {-1}, +#line 22 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str295, ei_ascii}, + {-1}, {-1}, {-1}, {-1}, {-1}, +#line 245 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str301, ei_rk1048}, +#line 158 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str302, ei_iso8859_15}, +#line 41 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str303, ei_utf32}, + {-1}, +#line 247 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str305, ei_mulelao}, +#line 297 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str306, ei_gb2312}, +#line 100 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str307, ei_iso8859_6}, +#line 246 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str308, ei_rk1048}, +#line 229 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str309, ei_hp_roman8}, +#line 98 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str310, ei_iso8859_6}, + {-1}, +#line 165 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str312, ei_iso8859_16}, +#line 168 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str313, ei_koi8_r}, + {-1}, +#line 236 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str315, ei_georgian_ps}, +#line 169 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str316, ei_koi8_r}, + {-1}, +#line 340 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str318, ei_iso2022_cn_ext}, + {-1}, +#line 56 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str320, ei_iso8859_1}, +#line 146 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str321, ei_iso8859_13}, +#line 58 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str322, ei_iso8859_1}, + {-1}, {-1}, +#line 279 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str325, ei_jisx0208}, + {-1}, +#line 123 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str327, ei_iso8859_9}, + {-1}, {-1}, {-1}, {-1}, +#line 108 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str332, ei_iso8859_7}, + {-1}, {-1}, +#line 209 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str335, ei_cp866}, + {-1}, {-1}, +#line 213 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str338, ei_cp1131}, + {-1}, +#line 61 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str340, ei_iso8859_1}, + {-1}, +#line 259 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str342, ei_viscii}, + {-1}, +#line 329 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str344, ei_euc_cn}, + {-1}, +#line 135 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str346, ei_iso8859_10}, +#line 92 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str347, ei_iso8859_5}, + {-1}, {-1}, +#line 26 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str350, ei_ucs2}, + {-1}, +#line 101 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str352, ei_iso8859_6}, + {-1}, +#line 85 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str354, ei_iso8859_4}, + {-1}, +#line 81 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str356, ei_iso8859_4}, +#line 205 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str357, ei_cp862}, + {-1}, {-1}, +#line 89 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str360, ei_iso8859_5}, +#line 317 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str361, ei_cp932}, +#line 127 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str362, ei_iso8859_9}, + {-1}, +#line 232 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str364, ei_hp_roman8}, +#line 181 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str365, ei_cp1252}, + {-1}, +#line 116 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str367, ei_iso8859_8}, +#line 69 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str368, ei_iso8859_2}, + {-1}, {-1}, {-1}, +#line 362 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str372, ei_euc_kr}, + {-1}, +#line 244 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str374, ei_rk1048}, +#line 73 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str375, ei_iso8859_3}, +#line 142 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str376, ei_iso8859_13}, + {-1}, +#line 352 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str378, ei_ces_big5}, +#line 351 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str379, ei_ces_big5}, + {-1}, +#line 153 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str381, ei_iso8859_14}, + {-1}, {-1}, {-1}, {-1}, +#line 342 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str386, ei_hz}, + {-1}, +#line 40 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str388, ei_utf16le}, + {-1}, +#line 368 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str390, ei_iso2022_kr}, +#line 12 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str391, ei_ascii}, +#line 77 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str392, ei_iso8859_3}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, +#line 369 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str403, ei_iso2022_kr}, + {-1}, {-1}, +#line 174 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str406, ei_cp1250}, + {-1}, {-1}, {-1}, {-1}, +#line 49 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str411, ei_ucs4internal}, +#line 180 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str412, ei_cp1252}, +#line 264 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str413, ei_tcvn}, + {-1}, +#line 194 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str415, ei_cp1257}, +#line 19 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str416, ei_ascii}, + {-1}, +#line 47 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str418, ei_ucs2internal}, + {-1}, {-1}, +#line 200 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str421, ei_cp850}, +#line 203 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str422, ei_cp850}, + {-1}, +#line 263 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str424, ei_tcvn}, +#line 43 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str425, ei_utf32le}, +#line 222 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str426, ei_mac_cyrillic}, + {-1}, +#line 253 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str428, ei_tis620}, +#line 219 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str429, ei_mac_iceland}, +#line 269 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str430, ei_iso646_jp}, + {-1}, {-1}, {-1}, +#line 261 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str434, ei_viscii}, + {-1}, {-1}, +#line 214 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str437, ei_mac_roman}, + {-1}, {-1}, +#line 110 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str440, ei_iso8859_7}, +#line 260 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str441, ei_viscii}, + {-1}, {-1}, {-1}, +#line 36 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str445, ei_ucs4be}, +#line 249 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str446, ei_cp1133}, +#line 15 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str447, ei_ascii}, + {-1}, {-1}, {-1}, +#line 220 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str451, ei_mac_croatian}, +#line 27 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str452, ei_ucs2be}, +#line 234 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str453, ei_armscii_8}, +#line 328 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str454, ei_euc_cn}, + {-1}, +#line 176 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str456, ei_cp1251}, +#line 52 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str457, ei_java}, + {-1}, +#line 192 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str459, ei_cp1256}, +#line 334 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str460, ei_cp936}, + {-1}, +#line 50 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str462, ei_ucs4swapped}, +#line 186 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str463, ei_cp1254}, + {-1}, {-1}, +#line 331 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str466, ei_ces_gbk}, +#line 189 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str467, ei_cp1255}, +#line 255 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str468, ei_tis620}, +#line 48 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str469, ei_ucs2swapped}, +#line 179 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str470, ei_cp1252}, +#line 301 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str471, ei_ksc5601}, +#line 299 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str472, ei_isoir165}, + {-1}, +#line 198 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str474, ei_cp1258}, +#line 330 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str475, ei_euc_cn}, +#line 281 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str476, ei_jisx0208}, +#line 337 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str477, ei_gb18030_2022}, + {-1}, {-1}, +#line 45 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str480, ei_utf7}, +#line 304 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str481, ei_ksc5601}, +#line 183 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str482, ei_cp1253}, +#line 46 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str483, ei_utf7}, +#line 371 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str484, ei_local_wchar_t}, + {-1}, {-1}, {-1}, {-1}, {-1}, +#line 266 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str490, ei_iso646_jp}, + {-1}, {-1}, +#line 296 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str493, ei_gb2312}, + {-1}, +#line 99 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str495, ei_iso8859_6}, + {-1}, {-1}, +#line 173 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str498, ei_cp1250}, + {-1}, {-1}, {-1}, +#line 336 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str502, ei_gb18030_2005}, + {-1}, {-1}, {-1}, {-1}, +#line 170 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str507, ei_koi8_u}, +#line 171 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str508, ei_koi8_ru}, + {-1}, +#line 254 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str510, ei_tis620}, +#line 190 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str511, ei_cp1255}, + {-1}, {-1}, {-1}, {-1}, {-1}, +#line 55 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str517, ei_iso8859_1}, +#line 227 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str518, ei_mac_arabic}, + {-1}, +#line 96 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str520, ei_iso8859_6}, +#line 215 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str521, ei_mac_roman}, + {-1}, {-1}, {-1}, +#line 207 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str525, ei_cp862}, +#line 113 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str526, ei_iso8859_7}, +#line 103 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str527, ei_iso8859_7}, +#line 104 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str528, ei_iso8859_7}, + {-1}, +#line 211 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str530, ei_cp866}, +#line 65 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str531, ei_iso8859_2}, + {-1}, {-1}, +#line 217 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str534, ei_mac_roman}, + {-1}, {-1}, {-1}, +#line 278 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str538, ei_jisx0208}, + {-1}, {-1}, {-1}, +#line 221 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str542, ei_mac_romania}, +#line 106 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str543, ei_iso8859_7}, + {-1}, {-1}, {-1}, {-1}, {-1}, +#line 237 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str549, ei_koi8_t}, + {-1}, {-1}, +#line 307 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str552, ei_euc_jp}, +#line 306 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str553, ei_euc_jp}, +#line 358 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str554, ei_big5hkscs2008}, +#line 357 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str555, ei_big5hkscs2008}, + {-1}, +#line 218 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str557, ei_mac_centraleurope}, + {-1}, {-1}, +#line 228 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str560, ei_mac_thai}, +#line 18 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str561, ei_ascii}, + {-1}, {-1}, {-1}, +#line 308 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str565, ei_euc_jp}, + {-1}, {-1}, +#line 344 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str568, ei_euc_tw}, +#line 343 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str569, ei_euc_tw}, + {-1}, {-1}, +#line 119 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str572, ei_iso8859_8}, +#line 39 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str573, ei_utf16be}, +#line 291 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str574, ei_iso646_cn}, + {-1}, +#line 17 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str576, ei_ascii}, +#line 132 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str577, ei_iso8859_10}, + {-1}, {-1}, +#line 97 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str580, ei_iso8859_6}, +#line 280 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str581, ei_jisx0208}, + {-1}, {-1}, {-1}, +#line 202 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str585, ei_cp850}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 293 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str593, ei_iso646_cn}, + {-1}, {-1}, +#line 267 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str596, ei_iso646_jp}, +#line 143 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str597, ei_iso8859_13}, +#line 111 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str598, ei_iso8859_7}, + {-1}, {-1}, {-1}, {-1}, {-1}, +#line 112 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str604, ei_iso8859_7}, + {-1}, +#line 270 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str606, ei_iso646_jp}, + {-1}, {-1}, {-1}, +#line 42 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str610, ei_utf32be}, + {-1}, {-1}, +#line 193 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str613, ei_cp1256}, +#line 265 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str614, ei_tcvn}, + {-1}, {-1}, {-1}, +#line 44 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str618, ei_utf7}, + {-1}, {-1}, {-1}, {-1}, +#line 320 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str623, ei_iso2022_jp1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 323 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str633, ei_iso2022_jpms}, + {-1}, {-1}, {-1}, +#line 321 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str637, ei_iso2022_jp2}, + {-1}, {-1}, {-1}, {-1}, +#line 195 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str642, ei_cp1257}, + {-1}, {-1}, {-1}, {-1}, +#line 233 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str647, ei_nextstep}, +#line 258 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str648, ei_cp874}, +#line 322 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str649, ei_iso2022_jp2}, + {-1}, {-1}, {-1}, {-1}, {-1}, +#line 288 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str655, ei_jisx0212}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, +#line 363 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str666, ei_euc_kr}, + {-1}, {-1}, +#line 345 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str669, ei_euc_tw}, + {-1}, +#line 318 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str671, ei_iso2022_jp}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 32 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str679, ei_ucs2le}, +#line 350 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str680, ei_ces_big5}, +#line 349 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str681, ei_ces_big5}, +#line 118 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str682, ei_iso8859_8}, +#line 274 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str683, ei_jisx0201}, +#line 319 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str684, ei_iso2022_jp}, + {-1}, {-1}, {-1}, {-1}, {-1}, +#line 28 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str690, ei_ucs2be}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, +#line 105 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str703, ei_iso8859_7}, + {-1}, {-1}, {-1}, {-1}, {-1}, +#line 20 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str709, ei_ascii}, + {-1}, +#line 283 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str711, ei_jisx0212}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 354 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str719, ei_big5hkscs1999}, + {-1}, +#line 355 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str721, ei_big5hkscs2001}, + {-1}, {-1}, {-1}, +#line 271 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str725, ei_jisx0201}, + {-1}, {-1}, +#line 356 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str728, ei_big5hkscs2004}, + {-1}, {-1}, {-1}, {-1}, +#line 272 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str733, ei_jisx0201}, + {-1}, {-1}, {-1}, {-1}, {-1}, +#line 359 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str739, ei_big5hkscs2008}, + {-1}, {-1}, {-1}, {-1}, +#line 223 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str744, ei_mac_ukraine}, + {-1}, +#line 285 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str746, ei_jisx0212}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, +#line 275 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str761, ei_jisx0208}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, +#line 276 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str776, ei_jisx0208}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 277 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str792, ei_jisx0208}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, +#line 184 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str807, ei_cp1253}, + {-1}, +#line 224 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str809, ei_mac_greek}, + {-1}, {-1}, {-1}, {-1}, +#line 366 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str814, ei_johab}, +#line 225 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str815, ei_mac_turkish}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, +#line 187 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str826, ei_cp1254}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 312 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str852, ei_sjis}, +#line 311 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str853, ei_sjis}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 315 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str897, ei_sjis}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 284 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str922, ei_jisx0212}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 310 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str947, ei_euc_jp}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, +#line 226 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str958, ei_mac_hebrew}, + {-1}, {-1}, {-1}, {-1}, +#line 346 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str963, ei_euc_tw}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, +#line 314 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str978, ei_sjis}, + {-1}, {-1}, {-1}, {-1}, {-1}, +#line 309 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str984, ei_euc_jp}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, +#line 196 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str1026, ei_cp1257}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, +#line 282 "lib/aliases_sysaix.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str1039, ei_jisx0208} + }; + +static const struct alias * +aliases_lookup (register const char *str, register size_t len) +{ + if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) + { + register unsigned int key = aliases_hash (str, len); + + if (key <= MAX_HASH_VALUE) + { + register int o = aliases[key].name; + if (o >= 0) + { + register const char *s = o + stringpool; + + if (*str == *s && !strcmp (str + 1, s + 1)) + return &aliases[key]; + } + } + } + return 0; +} diff --git a/Externals/libiconv/lib/aliases_syshpux.gperf b/Externals/libiconv/lib/aliases_syshpux.gperf new file mode 100644 index 00000000000..e881b9cbebc --- /dev/null +++ b/Externals/libiconv/lib/aliases_syshpux.gperf @@ -0,0 +1,372 @@ +struct alias { int name; unsigned int encoding_index; }; +%struct-type +%language=ANSI-C +%define hash-function-name aliases_hash +%define lookup-function-name aliases_lookup +%7bit +%readonly-tables +%global-table +%define word-array-name aliases +%pic +%% +US-ASCII, ei_ascii +ASCII, ei_ascii +ISO646-US, ei_ascii +ISO_646.IRV:1991, ei_ascii +ISO-IR-6, ei_ascii +ANSI_X3.4-1968, ei_ascii +ANSI_X3.4-1986, ei_ascii +CP367, ei_ascii +IBM367, ei_ascii +US, ei_ascii +CSASCII, ei_ascii +UTF-8, ei_utf8 +UTF8, ei_utf8 +UCS-2, ei_ucs2 +ISO-10646-UCS-2, ei_ucs2 +CSUNICODE, ei_ucs2 +UCS-2BE, ei_ucs2be +UNICODEBIG, ei_ucs2be +UNICODE-1-1, ei_ucs2be +CSUNICODE11, ei_ucs2be +UCS-2LE, ei_ucs2le +UNICODELITTLE, ei_ucs2le +UCS-4, ei_ucs4 +ISO-10646-UCS-4, ei_ucs4 +CSUCS4, ei_ucs4 +UCS-4BE, ei_ucs4be +UCS-4LE, ei_ucs4le +UTF-16, ei_utf16 +UTF-16BE, ei_utf16be +UTF-16LE, ei_utf16le +UTF-32, ei_utf32 +UTF-32BE, ei_utf32be +UTF-32LE, ei_utf32le +UTF-7, ei_utf7 +UNICODE-1-1-UTF-7, ei_utf7 +CSUNICODE11UTF7, ei_utf7 +UCS-2-INTERNAL, ei_ucs2internal +UCS-2-SWAPPED, ei_ucs2swapped +UCS-4-INTERNAL, ei_ucs4internal +UCS-4-SWAPPED, ei_ucs4swapped +C99, ei_c99 +JAVA, ei_java +ISO-8859-1, ei_iso8859_1 +ISO_8859-1, ei_iso8859_1 +ISO_8859-1:1987, ei_iso8859_1 +ISO-IR-100, ei_iso8859_1 +CP819, ei_iso8859_1 +IBM819, ei_iso8859_1 +LATIN1, ei_iso8859_1 +L1, ei_iso8859_1 +CSISOLATIN1, ei_iso8859_1 +ISO8859-1, ei_iso8859_1 +ISO88591, ei_iso8859_1 +ISO-8859-2, ei_iso8859_2 +ISO_8859-2, ei_iso8859_2 +ISO_8859-2:1987, ei_iso8859_2 +ISO-IR-101, ei_iso8859_2 +LATIN2, ei_iso8859_2 +L2, ei_iso8859_2 +CSISOLATIN2, ei_iso8859_2 +ISO8859-2, ei_iso8859_2 +ISO88592, ei_iso8859_2 +ISO-8859-3, ei_iso8859_3 +ISO_8859-3, ei_iso8859_3 +ISO_8859-3:1988, ei_iso8859_3 +ISO-IR-109, ei_iso8859_3 +LATIN3, ei_iso8859_3 +L3, ei_iso8859_3 +CSISOLATIN3, ei_iso8859_3 +ISO8859-3, ei_iso8859_3 +ISO-8859-4, ei_iso8859_4 +ISO_8859-4, ei_iso8859_4 +ISO_8859-4:1988, ei_iso8859_4 +ISO-IR-110, ei_iso8859_4 +LATIN4, ei_iso8859_4 +L4, ei_iso8859_4 +CSISOLATIN4, ei_iso8859_4 +ISO8859-4, ei_iso8859_4 +ISO-8859-5, ei_iso8859_5 +ISO_8859-5, ei_iso8859_5 +ISO_8859-5:1988, ei_iso8859_5 +ISO-IR-144, ei_iso8859_5 +CYRILLIC, ei_iso8859_5 +CSISOLATINCYRILLIC, ei_iso8859_5 +ISO8859-5, ei_iso8859_5 +ISO88595, ei_iso8859_5 +ISO-8859-6, ei_iso8859_6 +ISO_8859-6, ei_iso8859_6 +ISO_8859-6:1987, ei_iso8859_6 +ISO-IR-127, ei_iso8859_6 +ECMA-114, ei_iso8859_6 +ASMO-708, ei_iso8859_6 +ARABIC, ei_iso8859_6 +CSISOLATINARABIC, ei_iso8859_6 +ISO8859-6, ei_iso8859_6 +ISO88596, ei_iso8859_6 +ISO-8859-7, ei_iso8859_7 +ISO_8859-7, ei_iso8859_7 +ISO_8859-7:1987, ei_iso8859_7 +ISO_8859-7:2003, ei_iso8859_7 +ISO-IR-126, ei_iso8859_7 +ECMA-118, ei_iso8859_7 +ELOT_928, ei_iso8859_7 +GREEK8, ei_iso8859_7 +GREEK, ei_iso8859_7 +CSISOLATINGREEK, ei_iso8859_7 +ISO8859-7, ei_iso8859_7 +ISO88597, ei_iso8859_7 +ISO-8859-8, ei_iso8859_8 +ISO_8859-8, ei_iso8859_8 +ISO_8859-8:1988, ei_iso8859_8 +ISO-IR-138, ei_iso8859_8 +HEBREW, ei_iso8859_8 +CSISOLATINHEBREW, ei_iso8859_8 +ISO8859-8, ei_iso8859_8 +ISO88598, ei_iso8859_8 +ISO-8859-9, ei_iso8859_9 +ISO_8859-9, ei_iso8859_9 +ISO_8859-9:1989, ei_iso8859_9 +ISO-IR-148, ei_iso8859_9 +LATIN5, ei_iso8859_9 +L5, ei_iso8859_9 +CSISOLATIN5, ei_iso8859_9 +ISO8859-9, ei_iso8859_9 +ISO88599, ei_iso8859_9 +ISO-8859-10, ei_iso8859_10 +ISO_8859-10, ei_iso8859_10 +ISO_8859-10:1992, ei_iso8859_10 +ISO-IR-157, ei_iso8859_10 +LATIN6, ei_iso8859_10 +L6, ei_iso8859_10 +CSISOLATIN6, ei_iso8859_10 +ISO8859-10, ei_iso8859_10 +ISO-8859-11, ei_iso8859_11 +ISO_8859-11, ei_iso8859_11 +ISO8859-11, ei_iso8859_11 +ISO-8859-13, ei_iso8859_13 +ISO_8859-13, ei_iso8859_13 +ISO-IR-179, ei_iso8859_13 +LATIN7, ei_iso8859_13 +L7, ei_iso8859_13 +ISO8859-13, ei_iso8859_13 +ISO-8859-14, ei_iso8859_14 +ISO_8859-14, ei_iso8859_14 +ISO_8859-14:1998, ei_iso8859_14 +ISO-IR-199, ei_iso8859_14 +LATIN8, ei_iso8859_14 +L8, ei_iso8859_14 +ISO-CELTIC, ei_iso8859_14 +ISO8859-14, ei_iso8859_14 +ISO-8859-15, ei_iso8859_15 +ISO_8859-15, ei_iso8859_15 +ISO_8859-15:1998, ei_iso8859_15 +ISO-IR-203, ei_iso8859_15 +LATIN-9, ei_iso8859_15 +ISO8859-15, ei_iso8859_15 +ISO885915, ei_iso8859_15 +ISO-8859-16, ei_iso8859_16 +ISO_8859-16, ei_iso8859_16 +ISO_8859-16:2001, ei_iso8859_16 +ISO-IR-226, ei_iso8859_16 +LATIN10, ei_iso8859_16 +L10, ei_iso8859_16 +ISO8859-16, ei_iso8859_16 +KOI8-R, ei_koi8_r +CSKOI8R, ei_koi8_r +KOI8-U, ei_koi8_u +KOI8-RU, ei_koi8_ru +CP1250, ei_cp1250 +WINDOWS-1250, ei_cp1250 +MS-EE, ei_cp1250 +CP1251, ei_cp1251 +WINDOWS-1251, ei_cp1251 +MS-CYRL, ei_cp1251 +CP1252, ei_cp1252 +WINDOWS-1252, ei_cp1252 +MS-ANSI, ei_cp1252 +CP1253, ei_cp1253 +WINDOWS-1253, ei_cp1253 +MS-GREEK, ei_cp1253 +CP1254, ei_cp1254 +WINDOWS-1254, ei_cp1254 +MS-TURK, ei_cp1254 +CP1255, ei_cp1255 +WINDOWS-1255, ei_cp1255 +MS-HEBR, ei_cp1255 +CP1256, ei_cp1256 +WINDOWS-1256, ei_cp1256 +MS-ARAB, ei_cp1256 +CP1257, ei_cp1257 +WINDOWS-1257, ei_cp1257 +WINBALTRIM, ei_cp1257 +CP1258, ei_cp1258 +WINDOWS-1258, ei_cp1258 +CP850, ei_cp850 +IBM850, ei_cp850 +850, ei_cp850 +CSPC850MULTILINGUAL, ei_cp850 +CP862, ei_cp862 +IBM862, ei_cp862 +862, ei_cp862 +CSPC862LATINHEBREW, ei_cp862 +CP866, ei_cp866 +IBM866, ei_cp866 +866, ei_cp866 +CSIBM866, ei_cp866 +CP1131, ei_cp1131 +MACROMAN, ei_mac_roman +MACINTOSH, ei_mac_roman +MAC, ei_mac_roman +CSMACINTOSH, ei_mac_roman +MACCENTRALEUROPE, ei_mac_centraleurope +MACICELAND, ei_mac_iceland +MACCROATIAN, ei_mac_croatian +MACROMANIA, ei_mac_romania +MACCYRILLIC, ei_mac_cyrillic +MACUKRAINE, ei_mac_ukraine +MACGREEK, ei_mac_greek +MACTURKISH, ei_mac_turkish +MACHEBREW, ei_mac_hebrew +MACARABIC, ei_mac_arabic +MACTHAI, ei_mac_thai +HP-ROMAN8, ei_hp_roman8 +ROMAN8, ei_hp_roman8 +R8, ei_hp_roman8 +CSHPROMAN8, ei_hp_roman8 +NEXTSTEP, ei_nextstep +ARMSCII-8, ei_armscii_8 +GEORGIAN-ACADEMY, ei_georgian_academy +GEORGIAN-PS, ei_georgian_ps +KOI8-T, ei_koi8_t +PT154, ei_pt154 +PTCP154, ei_pt154 +CP154, ei_pt154 +CYRILLIC-ASIAN, ei_pt154 +CSPTCP154, ei_pt154 +RK1048, ei_rk1048 +STRK1048-2002, ei_rk1048 +KZ-1048, ei_rk1048 +CSKZ1048, ei_rk1048 +MULELAO-1, ei_mulelao +CP1133, ei_cp1133 +IBM-CP1133, ei_cp1133 +TIS-620, ei_tis620 +TIS620, ei_tis620 +TIS620-0, ei_tis620 +TIS620.2529-1, ei_tis620 +TIS620.2533-0, ei_tis620 +TIS620.2533-1, ei_tis620 +ISO-IR-166, ei_tis620 +CP874, ei_cp874 +WINDOWS-874, ei_cp874 +VISCII, ei_viscii +VISCII1.1-1, ei_viscii +CSVISCII, ei_viscii +TCVN, ei_tcvn +TCVN-5712, ei_tcvn +TCVN5712-1, ei_tcvn +TCVN5712-1:1993, ei_tcvn +JIS_C6220-1969-RO, ei_iso646_jp +ISO646-JP, ei_iso646_jp +ISO-IR-14, ei_iso646_jp +JP, ei_iso646_jp +CSISO14JISC6220RO, ei_iso646_jp +JIS_X0201, ei_jisx0201 +JISX0201-1976, ei_jisx0201 +X0201, ei_jisx0201 +CSHALFWIDTHKATAKANA, ei_jisx0201 +JIS_X0208, ei_jisx0208 +JIS_X0208-1983, ei_jisx0208 +JIS_X0208-1990, ei_jisx0208 +JIS0208, ei_jisx0208 +X0208, ei_jisx0208 +ISO-IR-87, ei_jisx0208 +JIS_C6226-1983, ei_jisx0208 +CSISO87JISX0208, ei_jisx0208 +JIS_X0212, ei_jisx0212 +JIS_X0212.1990-0, ei_jisx0212 +JIS_X0212-1990, ei_jisx0212 +X0212, ei_jisx0212 +ISO-IR-159, ei_jisx0212 +CSISO159JISX02121990, ei_jisx0212 +GB_1988-80, ei_iso646_cn +ISO646-CN, ei_iso646_cn +ISO-IR-57, ei_iso646_cn +CN, ei_iso646_cn +CSISO57GB1988, ei_iso646_cn +GB_2312-80, ei_gb2312 +ISO-IR-58, ei_gb2312 +CSISO58GB231280, ei_gb2312 +CHINESE, ei_gb2312 +ISO-IR-165, ei_isoir165 +CN-GB-ISOIR165, ei_isoir165 +KSC_5601, ei_ksc5601 +KS_C_5601-1987, ei_ksc5601 +KS_C_5601-1989, ei_ksc5601 +ISO-IR-149, ei_ksc5601 +CSKSC56011987, ei_ksc5601 +KOREAN, ei_ksc5601 +EUC-JP, ei_euc_jp +EUCJP, ei_euc_jp +EXTENDED_UNIX_CODE_PACKED_FORMAT_FOR_JAPANESE, ei_euc_jp +CSEUCPKDFMTJAPANESE, ei_euc_jp +SHIFT_JIS, ei_sjis +SHIFT-JIS, ei_sjis +SJIS, ei_sjis +MS_KANJI, ei_sjis +CSSHIFTJIS, ei_sjis +CP932, ei_cp932 +ISO-2022-JP, ei_iso2022_jp +CSISO2022JP, ei_iso2022_jp +ISO-2022-JP-1, ei_iso2022_jp1 +ISO-2022-JP-2, ei_iso2022_jp2 +CSISO2022JP2, ei_iso2022_jp2 +ISO-2022-JP-MS, ei_iso2022_jpms +CP50221, ei_iso2022_jpms +EUC-CN, ei_euc_cn +EUCCN, ei_euc_cn +GB2312, ei_euc_cn +CN-GB, ei_euc_cn +CSGB2312, ei_euc_cn +HP15CN, ei_euc_cn +GBK, ei_ces_gbk +CP936, ei_cp936 +MS936, ei_cp936 +WINDOWS-936, ei_cp936 +GB18030, ei_gb18030_2005 +GB18030:2005, ei_gb18030_2005 +GB18030:2022, ei_gb18030_2022 +ISO-2022-CN, ei_iso2022_cn +CSISO2022CN, ei_iso2022_cn +ISO-2022-CN-EXT, ei_iso2022_cn_ext +HZ, ei_hz +HZ-GB-2312, ei_hz +EUC-TW, ei_euc_tw +EUCTW, ei_euc_tw +CSEUCTW, ei_euc_tw +BIG5, ei_ces_big5 +BIG-5, ei_ces_big5 +BIG-FIVE, ei_ces_big5 +BIGFIVE, ei_ces_big5 +CN-BIG5, ei_ces_big5 +CSBIG5, ei_ces_big5 +CP950, ei_cp950 +BIG5-HKSCS:1999, ei_big5hkscs1999 +BIG5-HKSCS:2001, ei_big5hkscs2001 +BIG5-HKSCS:2004, ei_big5hkscs2004 +BIG5-HKSCS, ei_big5hkscs2008 +BIG5HKSCS, ei_big5hkscs2008 +BIG5-HKSCS:2008, ei_big5hkscs2008 +EUC-KR, ei_euc_kr +EUCKR, ei_euc_kr +CSEUCKR, ei_euc_kr +CP949, ei_cp949 +UHC, ei_cp949 +JOHAB, ei_johab +CP1361, ei_johab +ISO-2022-KR, ei_iso2022_kr +CSISO2022KR, ei_iso2022_kr +CHAR, ei_local_char +WCHAR_T, ei_local_wchar_t diff --git a/Externals/libiconv/lib/aliases_syshpux.h b/Externals/libiconv/lib/aliases_syshpux.h new file mode 100644 index 00000000000..2ac9478cb24 --- /dev/null +++ b/Externals/libiconv/lib/aliases_syshpux.h @@ -0,0 +1,1829 @@ +/* ANSI-C code produced by gperf version 3.2 */ +/* Command-line: gperf -m 10 lib/aliases_syshpux.gperf */ +/* Computed positions: -k'1,3-11,$' */ + +#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \ + && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \ + && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \ + && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \ + && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \ + && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \ + && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \ + && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \ + && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \ + && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \ + && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \ + && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \ + && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \ + && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \ + && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \ + && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \ + && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \ + && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \ + && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \ + && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \ + && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \ + && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \ + && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126)) +/* The character set is not based on ISO-646. */ +#error "gperf generated tables don't work with this execution character set. Please report a bug to ." +#endif + +#line 1 "lib/aliases_syshpux.gperf" +struct alias { int name; unsigned int encoding_index; }; + +#define TOTAL_KEYWORDS 361 +#define MIN_WORD_LENGTH 2 +#define MAX_WORD_LENGTH 45 +#define MIN_HASH_VALUE 19 +#define MAX_HASH_VALUE 1033 +/* maximum key range = 1015, duplicates = 0 */ + +#ifdef __GNUC__ +__inline +#else +#ifdef __cplusplus +inline +#endif +#endif +static unsigned int +aliases_hash (register const char *str, register size_t len) +{ + static const unsigned short asso_values[] = + { + 1034, 1034, 1034, 1034, 1034, 1034, 1034, 1034, 1034, 1034, + 1034, 1034, 1034, 1034, 1034, 1034, 1034, 1034, 1034, 1034, + 1034, 1034, 1034, 1034, 1034, 1034, 1034, 1034, 1034, 1034, + 1034, 1034, 1034, 1034, 1034, 1034, 1034, 1034, 1034, 1034, + 1034, 1034, 1034, 1034, 1034, 2, 22, 1034, 56, 4, + 36, 62, 23, 18, 11, 100, 30, 3, 115, 1034, + 1034, 1034, 1034, 1034, 1034, 62, 170, 101, 3, 35, + 78, 78, 169, 3, 375, 55, 16, 149, 18, 8, + 3, 1034, 2, 4, 161, 210, 136, 158, 191, 6, + 5, 1034, 1034, 1034, 1034, 3, 1034, 1034, 1034, 1034, + 1034, 1034, 1034, 1034, 1034, 1034, 1034, 1034, 1034, 1034, + 1034, 1034, 1034, 1034, 1034, 1034, 1034, 1034, 1034, 1034, + 1034, 1034, 1034, 1034, 1034, 1034, 1034, 1034 + }; + register unsigned int hval = len; + + switch (hval) + { + default: + hval += asso_values[(unsigned char)str[10]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif + /*FALLTHROUGH*/ + case 10: + hval += asso_values[(unsigned char)str[9]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif + /*FALLTHROUGH*/ + case 9: + hval += asso_values[(unsigned char)str[8]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif + /*FALLTHROUGH*/ + case 8: + hval += asso_values[(unsigned char)str[7]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif + /*FALLTHROUGH*/ + case 7: + hval += asso_values[(unsigned char)str[6]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif + /*FALLTHROUGH*/ + case 6: + hval += asso_values[(unsigned char)str[5]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif + /*FALLTHROUGH*/ + case 5: + hval += asso_values[(unsigned char)str[4]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif + /*FALLTHROUGH*/ + case 4: + hval += asso_values[(unsigned char)str[3]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif + /*FALLTHROUGH*/ + case 3: + hval += asso_values[(unsigned char)str[2]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif + /*FALLTHROUGH*/ + case 2: + case 1: + hval += asso_values[(unsigned char)str[0]]; + break; + } + return hval + asso_values[(unsigned char)str[len - 1]]; +} + +struct stringpool_t + { + char stringpool_str19[sizeof("SJIS")]; + char stringpool_str22[sizeof("L1")]; + char stringpool_str29[sizeof("L6")]; + char stringpool_str34[sizeof("R8")]; + char stringpool_str36[sizeof("L5")]; + char stringpool_str41[sizeof("L4")]; + char stringpool_str43[sizeof("ISO-IR-199")]; + char stringpool_str48[sizeof("L8")]; + char stringpool_str50[sizeof("ISO-IR-6")]; + char stringpool_str54[sizeof("L2")]; + char stringpool_str55[sizeof("866")]; + char stringpool_str58[sizeof("ISO-IR-159")]; + char stringpool_str63[sizeof("ISO-IR-149")]; + char stringpool_str67[sizeof("ISO-IR-166")]; + char stringpool_str76[sizeof("PT154")]; + char stringpool_str79[sizeof("ISO-IR-14")]; + char stringpool_str80[sizeof("L3")]; + char stringpool_str81[sizeof("ISO-IR-165")]; + char stringpool_str92[sizeof("ISO-IR-126")]; + char stringpool_str96[sizeof("ISO-IR-109")]; + char stringpool_str98[sizeof("ISO-IR-101")]; + char stringpool_str100[sizeof("KOI8-R")]; + char stringpool_str103[sizeof("ISO-IR-144")]; + char stringpool_str105[sizeof("862")]; + char stringpool_str106[sizeof("ISO88599")]; + char stringpool_str107[sizeof("ISO-IR-58")]; + char stringpool_str108[sizeof("ISO88591")]; + char stringpool_str109[sizeof("ISO8859-9")]; + char stringpool_str110[sizeof("C99")]; + char stringpool_str111[sizeof("ISO8859-1")]; + char stringpool_str112[sizeof("ISO-8859-9")]; + char stringpool_str113[sizeof("ISO_8859-9")]; + char stringpool_str114[sizeof("ISO-8859-1")]; + char stringpool_str115[sizeof("ISO_8859-1")]; + char stringpool_str116[sizeof("ISO8859-11")]; + char stringpool_str117[sizeof("ISO-IR-148")]; + char stringpool_str118[sizeof("L7")]; + char stringpool_str119[sizeof("ISO-8859-11")]; + char stringpool_str120[sizeof("ISO_8859-11")]; + char stringpool_str121[sizeof("CN")]; + char stringpool_str122[sizeof("ISO88596")]; + char stringpool_str124[sizeof("ISO-IR-226")]; + char stringpool_str125[sizeof("ISO8859-6")]; + char stringpool_str128[sizeof("ISO-8859-6")]; + char stringpool_str129[sizeof("ISO_8859-6")]; + char stringpool_str130[sizeof("ISO8859-16")]; + char stringpool_str131[sizeof("L10")]; + char stringpool_str132[sizeof("ISO_8859-16:2001")]; + char stringpool_str133[sizeof("ISO-8859-16")]; + char stringpool_str134[sizeof("ISO_8859-16")]; + char stringpool_str136[sizeof("ISO88595")]; + char stringpool_str138[sizeof("CP949")]; + char stringpool_str139[sizeof("ISO8859-5")]; + char stringpool_str140[sizeof("ISO-IR-179")]; + char stringpool_str141[sizeof("ISO885915")]; + char stringpool_str142[sizeof("ISO-8859-5")]; + char stringpool_str143[sizeof("ISO_8859-5")]; + char stringpool_str144[sizeof("ISO8859-15")]; + char stringpool_str145[sizeof("850")]; + char stringpool_str146[sizeof("CP819")]; + char stringpool_str147[sizeof("ISO-8859-15")]; + char stringpool_str148[sizeof("ISO_8859-15")]; + char stringpool_str149[sizeof("ISO8859-4")]; + char stringpool_str150[sizeof("ISO-IR-110")]; + char stringpool_str151[sizeof("RK1048")]; + char stringpool_str152[sizeof("ISO-8859-4")]; + char stringpool_str153[sizeof("ISO_8859-4")]; + char stringpool_str154[sizeof("ISO8859-14")]; + char stringpool_str156[sizeof("ISO-IR-138")]; + char stringpool_str157[sizeof("ISO-8859-14")]; + char stringpool_str158[sizeof("ISO_8859-14")]; + char stringpool_str160[sizeof("ISO88598")]; + char stringpool_str163[sizeof("ISO8859-8")]; + char stringpool_str165[sizeof("ISO_8859-15:1998")]; + char stringpool_str166[sizeof("ISO-8859-8")]; + char stringpool_str167[sizeof("ISO_8859-8")]; + char stringpool_str169[sizeof("CP866")]; + char stringpool_str170[sizeof("ISO_8859-14:1998")]; + char stringpool_str171[sizeof("CHAR")]; + char stringpool_str172[sizeof("ISO88592")]; + char stringpool_str173[sizeof("CP1251")]; + char stringpool_str174[sizeof("CP154")]; + char stringpool_str175[sizeof("ISO8859-2")]; + char stringpool_str176[sizeof("HZ")]; + char stringpool_str177[sizeof("ASCII")]; + char stringpool_str178[sizeof("ISO-8859-2")]; + char stringpool_str179[sizeof("ISO_8859-2")]; + char stringpool_str182[sizeof("PTCP154")]; + char stringpool_str185[sizeof("CP1131")]; + char stringpool_str187[sizeof("CP1256")]; + char stringpool_str191[sizeof("GBK")]; + char stringpool_str192[sizeof("CP1361")]; + char stringpool_str193[sizeof("CP936")]; + char stringpool_str196[sizeof("KOREAN")]; + char stringpool_str198[sizeof("IBM819")]; + char stringpool_str200[sizeof("EUCKR")]; + char stringpool_str201[sizeof("CP1255")]; + char stringpool_str202[sizeof("ISO-IR-100")]; + char stringpool_str203[sizeof("EUC-KR")]; + char stringpool_str204[sizeof("ISO646-CN")]; + char stringpool_str207[sizeof("KZ-1048")]; + char stringpool_str208[sizeof("CSKOI8R")]; + char stringpool_str209[sizeof("ISO_8859-10:1992")]; + char stringpool_str211[sizeof("CP1254")]; + char stringpool_str212[sizeof("LATIN1")]; + char stringpool_str213[sizeof("LATIN-9")]; + char stringpool_str216[sizeof("US")]; + char stringpool_str219[sizeof("CP862")]; + char stringpool_str220[sizeof("ISO8859-10")]; + char stringpool_str221[sizeof("IBM866")]; + char stringpool_str223[sizeof("ISO-8859-10")]; + char stringpool_str224[sizeof("ISO_8859-10")]; + char stringpool_str225[sizeof("CP1258")]; + char stringpool_str226[sizeof("LATIN6")]; + char stringpool_str227[sizeof("ISO8859-3")]; + char stringpool_str230[sizeof("ISO-8859-3")]; + char stringpool_str231[sizeof("ISO_8859-3")]; + char stringpool_str232[sizeof("ISO8859-13")]; + char stringpool_str233[sizeof("ISO_8859-9:1989")]; + char stringpool_str235[sizeof("ISO-8859-13")]; + char stringpool_str236[sizeof("ISO_8859-13")]; + char stringpool_str237[sizeof("CP1252")]; + char stringpool_str238[sizeof("CHINESE")]; + char stringpool_str239[sizeof("CP950")]; + char stringpool_str240[sizeof("LATIN5")]; + char stringpool_str241[sizeof("MS936")]; + char stringpool_str242[sizeof("ISO_646.IRV:1991")]; + char stringpool_str243[sizeof("CP932")]; + char stringpool_str246[sizeof("ISO-IR-203")]; + char stringpool_str247[sizeof("ISO-IR-57")]; + char stringpool_str248[sizeof("MS-ANSI")]; + char stringpool_str249[sizeof("ISO-2022-KR")]; + char stringpool_str250[sizeof("LATIN4")]; + char stringpool_str252[sizeof("ISO-IR-157")]; + char stringpool_str256[sizeof("VISCII")]; + char stringpool_str258[sizeof("GB2312")]; + char stringpool_str259[sizeof("ISO-IR-87")]; + char stringpool_str260[sizeof("KSC_5601")]; + char stringpool_str261[sizeof("MS-EE")]; + char stringpool_str262[sizeof("CP50221")]; + char stringpool_str263[sizeof("GREEK")]; + char stringpool_str264[sizeof("LATIN8")]; + char stringpool_str266[sizeof("CP850")]; + char stringpool_str267[sizeof("UCS-4")]; + char stringpool_str269[sizeof("GREEK8")]; + char stringpool_str270[sizeof("ISO-IR-127")]; + char stringpool_str271[sizeof("IBM862")]; + char stringpool_str273[sizeof("GEORGIAN-PS")]; + char stringpool_str274[sizeof("KS_C_5601-1989")]; + char stringpool_str275[sizeof("ISO_8859-5:1988")]; + char stringpool_str276[sizeof("LATIN2")]; + char stringpool_str277[sizeof("CP1250")]; + char stringpool_str278[sizeof("EUCCN")]; + char stringpool_str280[sizeof("ISO_8859-4:1988")]; + char stringpool_str281[sizeof("EUC-CN")]; + char stringpool_str282[sizeof("CP874")]; + char stringpool_str284[sizeof("CSASCII")]; + char stringpool_str285[sizeof("ISO646-US")]; + char stringpool_str287[sizeof("ISO_8859-8:1988")]; + char stringpool_str288[sizeof("BIG5")]; + char stringpool_str289[sizeof("CP1253")]; + char stringpool_str291[sizeof("BIG-5")]; + char stringpool_str293[sizeof("UCS-2")]; + char stringpool_str296[sizeof("X0201")]; + char stringpool_str297[sizeof("ROMAN8")]; + char stringpool_str298[sizeof("VISCII1.1-1")]; + char stringpool_str299[sizeof("MS-CYRL")]; + char stringpool_str300[sizeof("ISO88597")]; + char stringpool_str301[sizeof("CP1133")]; + char stringpool_str302[sizeof("GB_1988-80")]; + char stringpool_str303[sizeof("ISO8859-7")]; + char stringpool_str305[sizeof("MULELAO-1")]; + char stringpool_str306[sizeof("ISO-8859-7")]; + char stringpool_str307[sizeof("ISO_8859-7")]; + char stringpool_str308[sizeof("X0212")]; + char stringpool_str310[sizeof("ECMA-114")]; + char stringpool_str312[sizeof("CSKZ1048")]; + char stringpool_str314[sizeof("ELOT_928")]; + char stringpool_str317[sizeof("STRK1048-2002")]; + char stringpool_str318[sizeof("IBM850")]; + char stringpool_str319[sizeof("ISO_8859-3:1988")]; + char stringpool_str321[sizeof("LATIN10")]; + char stringpool_str322[sizeof("UTF-16")]; + char stringpool_str324[sizeof("ECMA-118")]; + char stringpool_str327[sizeof("ISO-2022-CN")]; + char stringpool_str328[sizeof("LATIN3")]; + char stringpool_str330[sizeof("TIS620")]; + char stringpool_str331[sizeof("ISO_8859-1:1987")]; + char stringpool_str332[sizeof("UCS-4LE")]; + char stringpool_str333[sizeof("TIS-620")]; + char stringpool_str334[sizeof("HP15CN")]; + char stringpool_str337[sizeof("TCVN")]; + char stringpool_str338[sizeof("ISO_8859-6:1987")]; + char stringpool_str342[sizeof("CYRILLIC-ASIAN")]; + char stringpool_str345[sizeof("UCS-2LE")]; + char stringpool_str348[sizeof("X0208")]; + char stringpool_str349[sizeof("GB18030")]; + char stringpool_str350[sizeof("CSISO2022KR")]; + char stringpool_str351[sizeof("CYRILLIC")]; + char stringpool_str352[sizeof("UTF8")]; + char stringpool_str354[sizeof("MAC")]; + char stringpool_str355[sizeof("UTF-8")]; + char stringpool_str362[sizeof("CSVISCII")]; + char stringpool_str363[sizeof("ISO_8859-2:1987")]; + char stringpool_str365[sizeof("CP1257")]; + char stringpool_str368[sizeof("ISO-10646-UCS-4")]; + char stringpool_str371[sizeof("KS_C_5601-1987")]; + char stringpool_str373[sizeof("GB_2312-80")]; + char stringpool_str379[sizeof("CP367")]; + char stringpool_str380[sizeof("JP")]; + char stringpool_str381[sizeof("ISO-10646-UCS-2")]; + char stringpool_str387[sizeof("UNICODE-1-1")]; + char stringpool_str389[sizeof("ISO_8859-7:2003")]; + char stringpool_str390[sizeof("TIS620-0")]; + char stringpool_str393[sizeof("ARMSCII-8")]; + char stringpool_str394[sizeof("CSBIG5")]; + char stringpool_str395[sizeof("CSISOLATIN1")]; + char stringpool_str396[sizeof("US-ASCII")]; + char stringpool_str397[sizeof("CN-BIG5")]; + char stringpool_str399[sizeof("UTF-16LE")]; + char stringpool_str400[sizeof("TIS620.2529-1")]; + char stringpool_str401[sizeof("ANSI_X3.4-1986")]; + char stringpool_str404[sizeof("LATIN7")]; + char stringpool_str405[sizeof("CN-GB-ISOIR165")]; + char stringpool_str409[sizeof("CSISOLATIN6")]; + char stringpool_str415[sizeof("UHC")]; + char stringpool_str418[sizeof("KOI8-T")]; + char stringpool_str419[sizeof("MS-GREEK")]; + char stringpool_str420[sizeof("ANSI_X3.4-1968")]; + char stringpool_str423[sizeof("CSISOLATIN5")]; + char stringpool_str425[sizeof("WINDOWS-1251")]; + char stringpool_str427[sizeof("ISO_8859-7:1987")]; + char stringpool_str428[sizeof("CSISO2022CN")]; + char stringpool_str430[sizeof("UTF-32")]; + char stringpool_str431[sizeof("IBM367")]; + char stringpool_str432[sizeof("WINDOWS-1256")]; + char stringpool_str433[sizeof("CSISOLATIN4")]; + char stringpool_str436[sizeof("GEORGIAN-ACADEMY")]; + char stringpool_str439[sizeof("WINDOWS-1255")]; + char stringpool_str444[sizeof("WINDOWS-1254")]; + char stringpool_str445[sizeof("ASMO-708")]; + char stringpool_str446[sizeof("CSPTCP154")]; + char stringpool_str448[sizeof("ISO646-JP")]; + char stringpool_str449[sizeof("WINDOWS-936")]; + char stringpool_str451[sizeof("WINDOWS-1258")]; + char stringpool_str457[sizeof("WINDOWS-1252")]; + char stringpool_str459[sizeof("CSISOLATIN2")]; + char stringpool_str462[sizeof("IBM-CP1133")]; + char stringpool_str468[sizeof("CSUCS4")]; + char stringpool_str470[sizeof("CSKSC56011987")]; + char stringpool_str474[sizeof("ISO-2022-CN-EXT")]; + char stringpool_str477[sizeof("WINDOWS-1250")]; + char stringpool_str479[sizeof("HP-ROMAN8")]; + char stringpool_str482[sizeof("UTF-32LE")]; + char stringpool_str483[sizeof("WINDOWS-1253")]; + char stringpool_str485[sizeof("TIS620.2533-1")]; + char stringpool_str486[sizeof("UCS-4BE")]; + char stringpool_str487[sizeof("UCS-4-SWAPPED")]; + char stringpool_str489[sizeof("UNICODE-1-1-UTF-7")]; + char stringpool_str490[sizeof("UCS-4-INTERNAL")]; + char stringpool_str493[sizeof("TCVN5712-1")]; + char stringpool_str494[sizeof("CSIBM866")]; + char stringpool_str495[sizeof("UTF-7")]; + char stringpool_str499[sizeof("UCS-2BE")]; + char stringpool_str500[sizeof("UCS-2-SWAPPED")]; + char stringpool_str501[sizeof("MACICELAND")]; + char stringpool_str502[sizeof("CSUNICODE11")]; + char stringpool_str503[sizeof("UCS-2-INTERNAL")]; + char stringpool_str505[sizeof("ARABIC")]; + char stringpool_str511[sizeof("CSISOLATIN3")]; + char stringpool_str513[sizeof("CSEUCKR")]; + char stringpool_str515[sizeof("MACROMAN")]; + char stringpool_str516[sizeof("KOI8-U")]; + char stringpool_str518[sizeof("MACGREEK")]; + char stringpool_str519[sizeof("KOI8-RU")]; + char stringpool_str520[sizeof("TCVN-5712")]; + char stringpool_str521[sizeof("WINDOWS-1257")]; + char stringpool_str522[sizeof("EUCJP")]; + char stringpool_str523[sizeof("CSUNICODE")]; + char stringpool_str524[sizeof("CSISOLATINGREEK")]; + char stringpool_str525[sizeof("EUC-JP")]; + char stringpool_str526[sizeof("CN-GB")]; + char stringpool_str531[sizeof("CSGB2312")]; + char stringpool_str532[sizeof("CSISO57GB1988")]; + char stringpool_str536[sizeof("MS-HEBR")]; + char stringpool_str537[sizeof("TIS620.2533-0")]; + char stringpool_str538[sizeof("WINDOWS-874")]; + char stringpool_str541[sizeof("ISO-CELTIC")]; + char stringpool_str542[sizeof("BIGFIVE")]; + char stringpool_str545[sizeof("BIG-FIVE")]; + char stringpool_str553[sizeof("UTF-16BE")]; + char stringpool_str555[sizeof("CSISOLATINARABIC")]; + char stringpool_str571[sizeof("ISO-2022-JP")]; + char stringpool_str574[sizeof("ISO-2022-JP-1")]; + char stringpool_str575[sizeof("ISO-2022-JP-MS")]; + char stringpool_str577[sizeof("GB18030:2022")]; + char stringpool_str579[sizeof("GB18030:2005")]; + char stringpool_str581[sizeof("CSISO58GB231280")]; + char stringpool_str582[sizeof("CSHPROMAN8")]; + char stringpool_str584[sizeof("NEXTSTEP")]; + char stringpool_str594[sizeof("JIS0208")]; + char stringpool_str596[sizeof("CSISOLATINCYRILLIC")]; + char stringpool_str599[sizeof("CSISO159JISX02121990")]; + char stringpool_str601[sizeof("EXTENDED_UNIX_CODE_PACKED_FORMAT_FOR_JAPANESE")]; + char stringpool_str602[sizeof("CSUNICODE11UTF7")]; + char stringpool_str605[sizeof("HZ-GB-2312")]; + char stringpool_str606[sizeof("ISO-2022-JP-2")]; + char stringpool_str610[sizeof("MACCYRILLIC")]; + char stringpool_str612[sizeof("BIG5HKSCS")]; + char stringpool_str615[sizeof("BIG5-HKSCS")]; + char stringpool_str618[sizeof("EUCTW")]; + char stringpool_str621[sizeof("EUC-TW")]; + char stringpool_str624[sizeof("MS-ARAB")]; + char stringpool_str626[sizeof("MACROMANIA")]; + char stringpool_str636[sizeof("UTF-32BE")]; + char stringpool_str639[sizeof("JAVA")]; + char stringpool_str641[sizeof("MS-TURK")]; + char stringpool_str643[sizeof("SHIFT-JIS")]; + char stringpool_str644[sizeof("SHIFT_JIS")]; + char stringpool_str651[sizeof("CSISO14JISC6220RO")]; + char stringpool_str653[sizeof("JIS_C6220-1969-RO")]; + char stringpool_str655[sizeof("MACTHAI")]; + char stringpool_str659[sizeof("JIS_C6226-1983")]; + char stringpool_str671[sizeof("TCVN5712-1:1993")]; + char stringpool_str672[sizeof("CSISO2022JP")]; + char stringpool_str676[sizeof("MS_KANJI")]; + char stringpool_str680[sizeof("MACUKRAINE")]; + char stringpool_str696[sizeof("MACCROATIAN")]; + char stringpool_str698[sizeof("HEBREW")]; + char stringpool_str699[sizeof("UNICODEBIG")]; + char stringpool_str700[sizeof("CSPC862LATINHEBREW")]; + char stringpool_str706[sizeof("CSISO2022JP2")]; + char stringpool_str719[sizeof("CSISOLATINHEBREW")]; + char stringpool_str723[sizeof("WCHAR_T")]; + char stringpool_str731[sizeof("MACCENTRALEUROPE")]; + char stringpool_str734[sizeof("BIG5-HKSCS:1999")]; + char stringpool_str735[sizeof("BIG5-HKSCS:2001")]; + char stringpool_str738[sizeof("JIS_X0201")]; + char stringpool_str749[sizeof("UNICODELITTLE")]; + char stringpool_str750[sizeof("JIS_X0212")]; + char stringpool_str754[sizeof("BIG5-HKSCS:2004")]; + char stringpool_str755[sizeof("JISX0201-1976")]; + char stringpool_str760[sizeof("MACARABIC")]; + char stringpool_str761[sizeof("BIG5-HKSCS:2008")]; + char stringpool_str781[sizeof("JIS_X0212-1990")]; + char stringpool_str790[sizeof("JIS_X0208")]; + char stringpool_str791[sizeof("MACINTOSH")]; + char stringpool_str803[sizeof("JIS_X0212.1990-0")]; + char stringpool_str827[sizeof("JIS_X0208-1990")]; + char stringpool_str833[sizeof("JIS_X0208-1983")]; + char stringpool_str864[sizeof("CSISO87JISX0208")]; + char stringpool_str880[sizeof("CSPC850MULTILINGUAL")]; + char stringpool_str898[sizeof("WINBALTRIM")]; + char stringpool_str912[sizeof("CSSHIFTJIS")]; + char stringpool_str931[sizeof("CSEUCTW")]; + char stringpool_str950[sizeof("CSEUCPKDFMTJAPANESE")]; + char stringpool_str951[sizeof("JOHAB")]; + char stringpool_str956[sizeof("CSMACINTOSH")]; + char stringpool_str986[sizeof("MACHEBREW")]; + char stringpool_str1001[sizeof("CSHALFWIDTHKATAKANA")]; + char stringpool_str1033[sizeof("MACTURKISH")]; + }; +static const struct stringpool_t stringpool_contents = + { + "SJIS", + "L1", + "L6", + "R8", + "L5", + "L4", + "ISO-IR-199", + "L8", + "ISO-IR-6", + "L2", + "866", + "ISO-IR-159", + "ISO-IR-149", + "ISO-IR-166", + "PT154", + "ISO-IR-14", + "L3", + "ISO-IR-165", + "ISO-IR-126", + "ISO-IR-109", + "ISO-IR-101", + "KOI8-R", + "ISO-IR-144", + "862", + "ISO88599", + "ISO-IR-58", + "ISO88591", + "ISO8859-9", + "C99", + "ISO8859-1", + "ISO-8859-9", + "ISO_8859-9", + "ISO-8859-1", + "ISO_8859-1", + "ISO8859-11", + "ISO-IR-148", + "L7", + "ISO-8859-11", + "ISO_8859-11", + "CN", + "ISO88596", + "ISO-IR-226", + "ISO8859-6", + "ISO-8859-6", + "ISO_8859-6", + "ISO8859-16", + "L10", + "ISO_8859-16:2001", + "ISO-8859-16", + "ISO_8859-16", + "ISO88595", + "CP949", + "ISO8859-5", + "ISO-IR-179", + "ISO885915", + "ISO-8859-5", + "ISO_8859-5", + "ISO8859-15", + "850", + "CP819", + "ISO-8859-15", + "ISO_8859-15", + "ISO8859-4", + "ISO-IR-110", + "RK1048", + "ISO-8859-4", + "ISO_8859-4", + "ISO8859-14", + "ISO-IR-138", + "ISO-8859-14", + "ISO_8859-14", + "ISO88598", + "ISO8859-8", + "ISO_8859-15:1998", + "ISO-8859-8", + "ISO_8859-8", + "CP866", + "ISO_8859-14:1998", + "CHAR", + "ISO88592", + "CP1251", + "CP154", + "ISO8859-2", + "HZ", + "ASCII", + "ISO-8859-2", + "ISO_8859-2", + "PTCP154", + "CP1131", + "CP1256", + "GBK", + "CP1361", + "CP936", + "KOREAN", + "IBM819", + "EUCKR", + "CP1255", + "ISO-IR-100", + "EUC-KR", + "ISO646-CN", + "KZ-1048", + "CSKOI8R", + "ISO_8859-10:1992", + "CP1254", + "LATIN1", + "LATIN-9", + "US", + "CP862", + "ISO8859-10", + "IBM866", + "ISO-8859-10", + "ISO_8859-10", + "CP1258", + "LATIN6", + "ISO8859-3", + "ISO-8859-3", + "ISO_8859-3", + "ISO8859-13", + "ISO_8859-9:1989", + "ISO-8859-13", + "ISO_8859-13", + "CP1252", + "CHINESE", + "CP950", + "LATIN5", + "MS936", + "ISO_646.IRV:1991", + "CP932", + "ISO-IR-203", + "ISO-IR-57", + "MS-ANSI", + "ISO-2022-KR", + "LATIN4", + "ISO-IR-157", + "VISCII", + "GB2312", + "ISO-IR-87", + "KSC_5601", + "MS-EE", + "CP50221", + "GREEK", + "LATIN8", + "CP850", + "UCS-4", + "GREEK8", + "ISO-IR-127", + "IBM862", + "GEORGIAN-PS", + "KS_C_5601-1989", + "ISO_8859-5:1988", + "LATIN2", + "CP1250", + "EUCCN", + "ISO_8859-4:1988", + "EUC-CN", + "CP874", + "CSASCII", + "ISO646-US", + "ISO_8859-8:1988", + "BIG5", + "CP1253", + "BIG-5", + "UCS-2", + "X0201", + "ROMAN8", + "VISCII1.1-1", + "MS-CYRL", + "ISO88597", + "CP1133", + "GB_1988-80", + "ISO8859-7", + "MULELAO-1", + "ISO-8859-7", + "ISO_8859-7", + "X0212", + "ECMA-114", + "CSKZ1048", + "ELOT_928", + "STRK1048-2002", + "IBM850", + "ISO_8859-3:1988", + "LATIN10", + "UTF-16", + "ECMA-118", + "ISO-2022-CN", + "LATIN3", + "TIS620", + "ISO_8859-1:1987", + "UCS-4LE", + "TIS-620", + "HP15CN", + "TCVN", + "ISO_8859-6:1987", + "CYRILLIC-ASIAN", + "UCS-2LE", + "X0208", + "GB18030", + "CSISO2022KR", + "CYRILLIC", + "UTF8", + "MAC", + "UTF-8", + "CSVISCII", + "ISO_8859-2:1987", + "CP1257", + "ISO-10646-UCS-4", + "KS_C_5601-1987", + "GB_2312-80", + "CP367", + "JP", + "ISO-10646-UCS-2", + "UNICODE-1-1", + "ISO_8859-7:2003", + "TIS620-0", + "ARMSCII-8", + "CSBIG5", + "CSISOLATIN1", + "US-ASCII", + "CN-BIG5", + "UTF-16LE", + "TIS620.2529-1", + "ANSI_X3.4-1986", + "LATIN7", + "CN-GB-ISOIR165", + "CSISOLATIN6", + "UHC", + "KOI8-T", + "MS-GREEK", + "ANSI_X3.4-1968", + "CSISOLATIN5", + "WINDOWS-1251", + "ISO_8859-7:1987", + "CSISO2022CN", + "UTF-32", + "IBM367", + "WINDOWS-1256", + "CSISOLATIN4", + "GEORGIAN-ACADEMY", + "WINDOWS-1255", + "WINDOWS-1254", + "ASMO-708", + "CSPTCP154", + "ISO646-JP", + "WINDOWS-936", + "WINDOWS-1258", + "WINDOWS-1252", + "CSISOLATIN2", + "IBM-CP1133", + "CSUCS4", + "CSKSC56011987", + "ISO-2022-CN-EXT", + "WINDOWS-1250", + "HP-ROMAN8", + "UTF-32LE", + "WINDOWS-1253", + "TIS620.2533-1", + "UCS-4BE", + "UCS-4-SWAPPED", + "UNICODE-1-1-UTF-7", + "UCS-4-INTERNAL", + "TCVN5712-1", + "CSIBM866", + "UTF-7", + "UCS-2BE", + "UCS-2-SWAPPED", + "MACICELAND", + "CSUNICODE11", + "UCS-2-INTERNAL", + "ARABIC", + "CSISOLATIN3", + "CSEUCKR", + "MACROMAN", + "KOI8-U", + "MACGREEK", + "KOI8-RU", + "TCVN-5712", + "WINDOWS-1257", + "EUCJP", + "CSUNICODE", + "CSISOLATINGREEK", + "EUC-JP", + "CN-GB", + "CSGB2312", + "CSISO57GB1988", + "MS-HEBR", + "TIS620.2533-0", + "WINDOWS-874", + "ISO-CELTIC", + "BIGFIVE", + "BIG-FIVE", + "UTF-16BE", + "CSISOLATINARABIC", + "ISO-2022-JP", + "ISO-2022-JP-1", + "ISO-2022-JP-MS", + "GB18030:2022", + "GB18030:2005", + "CSISO58GB231280", + "CSHPROMAN8", + "NEXTSTEP", + "JIS0208", + "CSISOLATINCYRILLIC", + "CSISO159JISX02121990", + "EXTENDED_UNIX_CODE_PACKED_FORMAT_FOR_JAPANESE", + "CSUNICODE11UTF7", + "HZ-GB-2312", + "ISO-2022-JP-2", + "MACCYRILLIC", + "BIG5HKSCS", + "BIG5-HKSCS", + "EUCTW", + "EUC-TW", + "MS-ARAB", + "MACROMANIA", + "UTF-32BE", + "JAVA", + "MS-TURK", + "SHIFT-JIS", + "SHIFT_JIS", + "CSISO14JISC6220RO", + "JIS_C6220-1969-RO", + "MACTHAI", + "JIS_C6226-1983", + "TCVN5712-1:1993", + "CSISO2022JP", + "MS_KANJI", + "MACUKRAINE", + "MACCROATIAN", + "HEBREW", + "UNICODEBIG", + "CSPC862LATINHEBREW", + "CSISO2022JP2", + "CSISOLATINHEBREW", + "WCHAR_T", + "MACCENTRALEUROPE", + "BIG5-HKSCS:1999", + "BIG5-HKSCS:2001", + "JIS_X0201", + "UNICODELITTLE", + "JIS_X0212", + "BIG5-HKSCS:2004", + "JISX0201-1976", + "MACARABIC", + "BIG5-HKSCS:2008", + "JIS_X0212-1990", + "JIS_X0208", + "MACINTOSH", + "JIS_X0212.1990-0", + "JIS_X0208-1990", + "JIS_X0208-1983", + "CSISO87JISX0208", + "CSPC850MULTILINGUAL", + "WINBALTRIM", + "CSSHIFTJIS", + "CSEUCTW", + "CSEUCPKDFMTJAPANESE", + "JOHAB", + "CSMACINTOSH", + "MACHEBREW", + "CSHALFWIDTHKATAKANA", + "MACTURKISH" + }; +#define stringpool ((const char *) &stringpool_contents) + +static const struct alias aliases[] = + { + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, +#line 317 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str19, ei_sjis}, + {-1}, {-1}, +#line 61 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str22, ei_iso8859_1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 142 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str29, ei_iso8859_10}, + {-1}, {-1}, {-1}, {-1}, +#line 236 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str34, ei_hp_roman8}, + {-1}, +#line 133 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str36, ei_iso8859_9}, + {-1}, {-1}, {-1}, {-1}, +#line 87 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str41, ei_iso8859_4}, + {-1}, +#line 157 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str43, ei_iso8859_14}, + {-1}, {-1}, {-1}, {-1}, +#line 159 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str48, ei_iso8859_14}, + {-1}, +#line 16 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str50, ei_ascii}, + {-1}, {-1}, {-1}, +#line 70 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str54, ei_iso8859_2}, +#line 216 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str55, ei_cp866}, + {-1}, {-1}, +#line 292 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str58, ei_jisx0212}, + {-1}, {-1}, {-1}, {-1}, +#line 308 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str63, ei_ksc5601}, + {-1}, {-1}, {-1}, +#line 261 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str67, ei_tis620}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 243 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str76, ei_pt154}, + {-1}, {-1}, +#line 273 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str79, ei_iso646_jp}, +#line 79 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str80, ei_iso8859_3}, +#line 303 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str81, ei_isoir165}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, +#line 112 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str92, ei_iso8859_7}, + {-1}, {-1}, {-1}, +#line 77 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str96, ei_iso8859_3}, + {-1}, +#line 68 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str98, ei_iso8859_2}, + {-1}, +#line 176 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str100, ei_koi8_r}, + {-1}, {-1}, +#line 93 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str103, ei_iso8859_5}, + {-1}, +#line 212 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str105, ei_cp862}, +#line 136 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str106, ei_iso8859_9}, +#line 300 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str107, ei_gb2312}, +#line 64 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str108, ei_iso8859_1}, +#line 135 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str109, ei_iso8859_9}, +#line 52 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str110, ei_c99}, +#line 63 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str111, ei_iso8859_1}, +#line 128 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str112, ei_iso8859_9}, +#line 129 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str113, ei_iso8859_9}, +#line 54 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str114, ei_iso8859_1}, +#line 55 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str115, ei_iso8859_1}, +#line 147 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str116, ei_iso8859_11}, +#line 131 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str117, ei_iso8859_9}, +#line 152 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str118, ei_iso8859_13}, +#line 145 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str119, ei_iso8859_11}, +#line 146 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str120, ei_iso8859_11}, +#line 297 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str121, ei_iso646_cn}, +#line 107 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str122, ei_iso8859_6}, + {-1}, +#line 172 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str124, ei_iso8859_16}, +#line 106 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str125, ei_iso8859_6}, + {-1}, {-1}, +#line 98 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str128, ei_iso8859_6}, +#line 99 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str129, ei_iso8859_6}, +#line 175 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str130, ei_iso8859_16}, +#line 174 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str131, ei_iso8859_16}, +#line 171 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str132, ei_iso8859_16}, +#line 169 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str133, ei_iso8859_16}, +#line 170 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str134, ei_iso8859_16}, + {-1}, +#line 97 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str136, ei_iso8859_5}, + {-1}, +#line 365 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str138, ei_cp949}, +#line 96 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str139, ei_iso8859_5}, +#line 150 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str140, ei_iso8859_13}, +#line 168 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str141, ei_iso8859_15}, +#line 90 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str142, ei_iso8859_5}, +#line 91 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str143, ei_iso8859_5}, +#line 167 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str144, ei_iso8859_15}, +#line 208 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str145, ei_cp850}, +#line 58 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str146, ei_iso8859_1}, +#line 162 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str147, ei_iso8859_15}, +#line 163 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str148, ei_iso8859_15}, +#line 89 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str149, ei_iso8859_4}, +#line 85 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str150, ei_iso8859_4}, +#line 248 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str151, ei_rk1048}, +#line 82 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str152, ei_iso8859_4}, +#line 83 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str153, ei_iso8859_4}, +#line 161 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str154, ei_iso8859_14}, + {-1}, +#line 123 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str156, ei_iso8859_8}, +#line 154 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str157, ei_iso8859_14}, +#line 155 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str158, ei_iso8859_14}, + {-1}, +#line 127 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str160, ei_iso8859_8}, + {-1}, {-1}, +#line 126 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str163, ei_iso8859_8}, + {-1}, +#line 164 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str165, ei_iso8859_15}, +#line 120 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str166, ei_iso8859_8}, +#line 121 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str167, ei_iso8859_8}, + {-1}, +#line 214 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str169, ei_cp866}, +#line 156 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str170, ei_iso8859_14}, +#line 371 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str171, ei_local_char}, +#line 73 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str172, ei_iso8859_2}, +#line 183 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str173, ei_cp1251}, +#line 245 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str174, ei_pt154}, +#line 72 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str175, ei_iso8859_2}, +#line 344 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str176, ei_hz}, +#line 13 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str177, ei_ascii}, +#line 65 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str178, ei_iso8859_2}, +#line 66 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str179, ei_iso8859_2}, + {-1}, {-1}, +#line 244 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str182, ei_pt154}, + {-1}, {-1}, +#line 218 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str185, ei_cp1131}, + {-1}, +#line 198 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str187, ei_cp1256}, + {-1}, {-1}, {-1}, +#line 334 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str191, ei_ces_gbk}, +#line 368 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str192, ei_johab}, +#line 335 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str193, ei_cp936}, + {-1}, {-1}, +#line 310 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str196, ei_ksc5601}, + {-1}, +#line 59 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str198, ei_iso8859_1}, + {-1}, +#line 363 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str200, ei_euc_kr}, +#line 195 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str201, ei_cp1255}, +#line 57 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str202, ei_iso8859_1}, +#line 362 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str203, ei_euc_kr}, +#line 295 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str204, ei_iso646_cn}, + {-1}, {-1}, +#line 250 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str207, ei_rk1048}, +#line 177 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str208, ei_koi8_r}, +#line 139 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str209, ei_iso8859_10}, + {-1}, +#line 192 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str211, ei_cp1254}, +#line 60 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str212, ei_iso8859_1}, +#line 166 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str213, ei_iso8859_15}, + {-1}, {-1}, +#line 21 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str216, ei_ascii}, + {-1}, {-1}, +#line 210 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str219, ei_cp862}, +#line 144 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str220, ei_iso8859_10}, +#line 215 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str221, ei_cp866}, + {-1}, +#line 137 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str223, ei_iso8859_10}, +#line 138 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str224, ei_iso8859_10}, +#line 204 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str225, ei_cp1258}, +#line 141 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str226, ei_iso8859_10}, +#line 81 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str227, ei_iso8859_3}, + {-1}, {-1}, +#line 74 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str230, ei_iso8859_3}, +#line 75 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str231, ei_iso8859_3}, +#line 153 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str232, ei_iso8859_13}, +#line 130 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str233, ei_iso8859_9}, + {-1}, +#line 148 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str235, ei_iso8859_13}, +#line 149 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str236, ei_iso8859_13}, +#line 186 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str237, ei_cp1252}, +#line 302 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str238, ei_gb2312}, +#line 355 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str239, ei_cp950}, +#line 132 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str240, ei_iso8859_9}, +#line 336 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str241, ei_cp936}, +#line 15 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str242, ei_ascii}, +#line 320 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str243, ei_cp932}, + {-1}, {-1}, +#line 165 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str246, ei_iso8859_15}, +#line 296 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str247, ei_iso646_cn}, +#line 188 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str248, ei_cp1252}, +#line 369 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str249, ei_iso2022_kr}, +#line 86 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str250, ei_iso8859_4}, + {-1}, +#line 140 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str252, ei_iso8859_10}, + {-1}, {-1}, {-1}, +#line 264 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str256, ei_viscii}, + {-1}, +#line 330 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str258, ei_euc_cn}, +#line 285 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str259, ei_jisx0208}, +#line 305 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str260, ei_ksc5601}, +#line 182 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str261, ei_cp1250}, +#line 327 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str262, ei_iso2022_jpms}, +#line 116 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str263, ei_iso8859_7}, +#line 158 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str264, ei_iso8859_14}, + {-1}, +#line 206 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str266, ei_cp850}, +#line 34 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str267, ei_ucs4}, + {-1}, +#line 115 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str269, ei_iso8859_7}, +#line 101 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str270, ei_iso8859_6}, +#line 211 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str271, ei_cp862}, + {-1}, +#line 241 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str273, ei_georgian_ps}, +#line 307 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str274, ei_ksc5601}, +#line 92 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str275, ei_iso8859_5}, +#line 69 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str276, ei_iso8859_2}, +#line 180 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str277, ei_cp1250}, +#line 329 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str278, ei_euc_cn}, + {-1}, +#line 84 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str280, ei_iso8859_4}, +#line 328 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str281, ei_euc_cn}, +#line 262 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str282, ei_cp874}, + {-1}, +#line 22 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str284, ei_ascii}, +#line 14 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str285, ei_ascii}, + {-1}, +#line 122 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str287, ei_iso8859_8}, +#line 349 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str288, ei_ces_big5}, +#line 189 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str289, ei_cp1253}, + {-1}, +#line 350 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str291, ei_ces_big5}, + {-1}, +#line 25 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str293, ei_ucs2}, + {-1}, {-1}, +#line 278 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str296, ei_jisx0201}, +#line 235 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str297, ei_hp_roman8}, +#line 265 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str298, ei_viscii}, +#line 185 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str299, ei_cp1251}, +#line 119 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str300, ei_iso8859_7}, +#line 253 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str301, ei_cp1133}, +#line 294 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str302, ei_iso646_cn}, +#line 118 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str303, ei_iso8859_7}, + {-1}, +#line 252 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str305, ei_mulelao}, +#line 108 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str306, ei_iso8859_7}, +#line 109 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str307, ei_iso8859_7}, +#line 291 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str308, ei_jisx0212}, + {-1}, +#line 102 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str310, ei_iso8859_6}, + {-1}, +#line 251 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str312, ei_rk1048}, + {-1}, +#line 114 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str314, ei_iso8859_7}, + {-1}, {-1}, +#line 249 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str317, ei_rk1048}, +#line 207 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str318, ei_cp850}, +#line 76 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str319, ei_iso8859_3}, + {-1}, +#line 173 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str321, ei_iso8859_16}, +#line 39 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str322, ei_utf16}, + {-1}, +#line 113 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str324, ei_iso8859_7}, + {-1}, {-1}, +#line 341 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str327, ei_iso2022_cn}, +#line 78 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str328, ei_iso8859_3}, + {-1}, +#line 256 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str330, ei_tis620}, +#line 56 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str331, ei_iso8859_1}, +#line 38 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str332, ei_ucs4le}, +#line 255 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str333, ei_tis620}, +#line 333 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str334, ei_euc_cn}, + {-1}, {-1}, +#line 267 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str337, ei_tcvn}, +#line 100 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str338, ei_iso8859_6}, + {-1}, {-1}, {-1}, +#line 246 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str342, ei_pt154}, + {-1}, {-1}, +#line 32 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str345, ei_ucs2le}, + {-1}, {-1}, +#line 284 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str348, ei_jisx0208}, +#line 338 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str349, ei_gb18030_2005}, +#line 370 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str350, ei_iso2022_kr}, +#line 94 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str351, ei_iso8859_5}, +#line 24 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str352, ei_utf8}, + {-1}, +#line 221 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str354, ei_mac_roman}, +#line 23 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str355, ei_utf8}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 266 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str362, ei_viscii}, +#line 67 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str363, ei_iso8859_2}, + {-1}, +#line 201 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str365, ei_cp1257}, + {-1}, {-1}, +#line 35 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str368, ei_ucs4}, + {-1}, {-1}, +#line 306 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str371, ei_ksc5601}, + {-1}, +#line 299 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str373, ei_gb2312}, + {-1}, {-1}, {-1}, {-1}, {-1}, +#line 19 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str379, ei_ascii}, +#line 274 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str380, ei_iso646_jp}, +#line 26 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str381, ei_ucs2}, + {-1}, {-1}, {-1}, {-1}, {-1}, +#line 30 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str387, ei_ucs2be}, + {-1}, +#line 111 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str389, ei_iso8859_7}, +#line 257 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str390, ei_tis620}, + {-1}, {-1}, +#line 239 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str393, ei_armscii_8}, +#line 354 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str394, ei_ces_big5}, +#line 62 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str395, ei_iso8859_1}, +#line 12 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str396, ei_ascii}, +#line 353 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str397, ei_ces_big5}, + {-1}, +#line 41 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str399, ei_utf16le}, +#line 258 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str400, ei_tis620}, +#line 18 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str401, ei_ascii}, + {-1}, {-1}, +#line 151 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str404, ei_iso8859_13}, +#line 304 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str405, ei_isoir165}, + {-1}, {-1}, {-1}, +#line 143 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str409, ei_iso8859_10}, + {-1}, {-1}, {-1}, {-1}, {-1}, +#line 366 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str415, ei_cp949}, + {-1}, {-1}, +#line 242 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str418, ei_koi8_t}, +#line 191 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str419, ei_cp1253}, +#line 17 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str420, ei_ascii}, + {-1}, {-1}, +#line 134 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str423, ei_iso8859_9}, + {-1}, +#line 184 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str425, ei_cp1251}, + {-1}, +#line 110 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str427, ei_iso8859_7}, +#line 342 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str428, ei_iso2022_cn}, + {-1}, +#line 42 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str430, ei_utf32}, +#line 20 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str431, ei_ascii}, +#line 199 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str432, ei_cp1256}, +#line 88 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str433, ei_iso8859_4}, + {-1}, {-1}, +#line 240 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str436, ei_georgian_academy}, + {-1}, {-1}, +#line 196 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str439, ei_cp1255}, + {-1}, {-1}, {-1}, {-1}, +#line 193 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str444, ei_cp1254}, +#line 103 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str445, ei_iso8859_6}, +#line 247 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str446, ei_pt154}, + {-1}, +#line 272 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str448, ei_iso646_jp}, +#line 337 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str449, ei_cp936}, + {-1}, +#line 205 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str451, ei_cp1258}, + {-1}, {-1}, {-1}, {-1}, {-1}, +#line 187 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str457, ei_cp1252}, + {-1}, +#line 71 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str459, ei_iso8859_2}, + {-1}, {-1}, +#line 254 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str462, ei_cp1133}, + {-1}, {-1}, {-1}, {-1}, {-1}, +#line 36 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str468, ei_ucs4}, + {-1}, +#line 309 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str470, ei_ksc5601}, + {-1}, {-1}, {-1}, +#line 343 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str474, ei_iso2022_cn_ext}, + {-1}, {-1}, +#line 181 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str477, ei_cp1250}, + {-1}, +#line 234 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str479, ei_hp_roman8}, + {-1}, {-1}, +#line 44 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str482, ei_utf32le}, +#line 190 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str483, ei_cp1253}, + {-1}, +#line 260 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str485, ei_tis620}, +#line 37 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str486, ei_ucs4be}, +#line 51 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str487, ei_ucs4swapped}, + {-1}, +#line 46 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str489, ei_utf7}, +#line 50 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str490, ei_ucs4internal}, + {-1}, {-1}, +#line 269 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str493, ei_tcvn}, +#line 217 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str494, ei_cp866}, +#line 45 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str495, ei_utf7}, + {-1}, {-1}, {-1}, +#line 28 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str499, ei_ucs2be}, +#line 49 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str500, ei_ucs2swapped}, +#line 224 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str501, ei_mac_iceland}, +#line 31 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str502, ei_ucs2be}, +#line 48 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str503, ei_ucs2internal}, + {-1}, +#line 104 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str505, ei_iso8859_6}, + {-1}, {-1}, {-1}, {-1}, {-1}, +#line 80 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str511, ei_iso8859_3}, + {-1}, +#line 364 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str513, ei_euc_kr}, + {-1}, +#line 219 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str515, ei_mac_roman}, +#line 178 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str516, ei_koi8_u}, + {-1}, +#line 229 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str518, ei_mac_greek}, +#line 179 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str519, ei_koi8_ru}, +#line 268 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str520, ei_tcvn}, +#line 202 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str521, ei_cp1257}, +#line 312 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str522, ei_euc_jp}, +#line 27 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str523, ei_ucs2}, +#line 117 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str524, ei_iso8859_7}, +#line 311 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str525, ei_euc_jp}, +#line 331 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str526, ei_euc_cn}, + {-1}, {-1}, {-1}, {-1}, +#line 332 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str531, ei_euc_cn}, +#line 298 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str532, ei_iso646_cn}, + {-1}, {-1}, {-1}, +#line 197 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str536, ei_cp1255}, +#line 259 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str537, ei_tis620}, +#line 263 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str538, ei_cp874}, + {-1}, {-1}, +#line 160 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str541, ei_iso8859_14}, +#line 352 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str542, ei_ces_big5}, + {-1}, {-1}, +#line 351 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str545, ei_ces_big5}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 40 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str553, ei_utf16be}, + {-1}, +#line 105 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str555, ei_iso8859_6}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 321 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str571, ei_iso2022_jp}, + {-1}, {-1}, +#line 323 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str574, ei_iso2022_jp1}, +#line 326 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str575, ei_iso2022_jpms}, + {-1}, +#line 340 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str577, ei_gb18030_2022}, + {-1}, +#line 339 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str579, ei_gb18030_2005}, + {-1}, +#line 301 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str581, ei_gb2312}, +#line 237 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str582, ei_hp_roman8}, + {-1}, +#line 238 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str584, ei_nextstep}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 283 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str594, ei_jisx0208}, + {-1}, +#line 95 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str596, ei_iso8859_5}, + {-1}, {-1}, +#line 293 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str599, ei_jisx0212}, + {-1}, +#line 313 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str601, ei_euc_jp}, +#line 47 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str602, ei_utf7}, + {-1}, {-1}, +#line 345 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str605, ei_hz}, +#line 324 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str606, ei_iso2022_jp2}, + {-1}, {-1}, {-1}, +#line 227 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str610, ei_mac_cyrillic}, + {-1}, +#line 360 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str612, ei_big5hkscs2008}, + {-1}, {-1}, +#line 359 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str615, ei_big5hkscs2008}, + {-1}, {-1}, +#line 347 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str618, ei_euc_tw}, + {-1}, {-1}, +#line 346 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str621, ei_euc_tw}, + {-1}, {-1}, +#line 200 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str624, ei_cp1256}, + {-1}, +#line 226 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str626, ei_mac_romania}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 43 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str636, ei_utf32be}, + {-1}, {-1}, +#line 53 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str639, ei_java}, + {-1}, +#line 194 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str641, ei_cp1254}, + {-1}, +#line 316 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str643, ei_sjis}, +#line 315 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str644, ei_sjis}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 275 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str651, ei_iso646_jp}, + {-1}, +#line 271 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str653, ei_iso646_jp}, + {-1}, +#line 233 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str655, ei_mac_thai}, + {-1}, {-1}, {-1}, +#line 286 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str659, ei_jisx0208}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, +#line 270 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str671, ei_tcvn}, +#line 322 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str672, ei_iso2022_jp}, + {-1}, {-1}, {-1}, +#line 318 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str676, ei_sjis}, + {-1}, {-1}, {-1}, +#line 228 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str680, ei_mac_ukraine}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 225 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str696, ei_mac_croatian}, + {-1}, +#line 124 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str698, ei_iso8859_8}, +#line 29 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str699, ei_ucs2be}, +#line 213 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str700, ei_cp862}, + {-1}, {-1}, {-1}, {-1}, {-1}, +#line 325 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str706, ei_iso2022_jp2}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, +#line 125 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str719, ei_iso8859_8}, + {-1}, {-1}, {-1}, +#line 372 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str723, ei_local_wchar_t}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 223 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str731, ei_mac_centraleurope}, + {-1}, {-1}, +#line 356 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str734, ei_big5hkscs1999}, +#line 357 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str735, ei_big5hkscs2001}, + {-1}, {-1}, +#line 276 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str738, ei_jisx0201}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, +#line 33 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str749, ei_ucs2le}, +#line 288 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str750, ei_jisx0212}, + {-1}, {-1}, {-1}, +#line 358 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str754, ei_big5hkscs2004}, +#line 277 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str755, ei_jisx0201}, + {-1}, {-1}, {-1}, {-1}, +#line 232 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str760, ei_mac_arabic}, +#line 361 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str761, ei_big5hkscs2008}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, +#line 290 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str781, ei_jisx0212}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 280 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str790, ei_jisx0208}, +#line 220 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str791, ei_mac_roman}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, +#line 289 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str803, ei_jisx0212}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, +#line 282 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str827, ei_jisx0208}, + {-1}, {-1}, {-1}, {-1}, {-1}, +#line 281 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str833, ei_jisx0208}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, +#line 287 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str864, ei_jisx0208}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 209 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str880, ei_cp850}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 203 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str898, ei_cp1257}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, +#line 319 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str912, ei_sjis}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 348 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str931, ei_euc_tw}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 314 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str950, ei_euc_jp}, +#line 367 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str951, ei_johab}, + {-1}, {-1}, {-1}, {-1}, +#line 222 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str956, ei_mac_roman}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, +#line 231 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str986, ei_mac_hebrew}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, +#line 279 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str1001, ei_jisx0201}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, +#line 230 "lib/aliases_syshpux.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str1033, ei_mac_turkish} + }; + +static const struct alias * +aliases_lookup (register const char *str, register size_t len) +{ + if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) + { + register unsigned int key = aliases_hash (str, len); + + if (key <= MAX_HASH_VALUE) + { + register int o = aliases[key].name; + if (o >= 0) + { + register const char *s = o + stringpool; + + if (*str == *s && !strcmp (str + 1, s + 1)) + return &aliases[key]; + } + } + } + return 0; +} diff --git a/Externals/libiconv/lib/aliases_sysosf1.gperf b/Externals/libiconv/lib/aliases_sysosf1.gperf new file mode 100644 index 00000000000..d271dfff403 --- /dev/null +++ b/Externals/libiconv/lib/aliases_sysosf1.gperf @@ -0,0 +1,367 @@ +struct alias { int name; unsigned int encoding_index; }; +%struct-type +%language=ANSI-C +%define hash-function-name aliases_hash +%define lookup-function-name aliases_lookup +%7bit +%readonly-tables +%global-table +%define word-array-name aliases +%pic +%% +US-ASCII, ei_ascii +ASCII, ei_ascii +ISO646-US, ei_ascii +ISO_646.IRV:1991, ei_ascii +ISO-IR-6, ei_ascii +ANSI_X3.4-1968, ei_ascii +ANSI_X3.4-1986, ei_ascii +CP367, ei_ascii +IBM367, ei_ascii +US, ei_ascii +CSASCII, ei_ascii +UTF-8, ei_utf8 +UCS-2, ei_ucs2 +ISO-10646-UCS-2, ei_ucs2 +CSUNICODE, ei_ucs2 +UCS-2BE, ei_ucs2be +UNICODEBIG, ei_ucs2be +UNICODE-1-1, ei_ucs2be +CSUNICODE11, ei_ucs2be +UCS-2LE, ei_ucs2le +UNICODELITTLE, ei_ucs2le +UCS-4, ei_ucs4 +ISO-10646-UCS-4, ei_ucs4 +CSUCS4, ei_ucs4 +UCS-4BE, ei_ucs4be +UCS-4LE, ei_ucs4le +UTF-16, ei_utf16 +UTF-16BE, ei_utf16be +UTF-16LE, ei_utf16le +UTF-32, ei_utf32 +UTF-32BE, ei_utf32be +UTF-32LE, ei_utf32le +UTF-7, ei_utf7 +UNICODE-1-1-UTF-7, ei_utf7 +CSUNICODE11UTF7, ei_utf7 +UCS-2-INTERNAL, ei_ucs2internal +UCS-2-SWAPPED, ei_ucs2swapped +UCS-4-INTERNAL, ei_ucs4internal +UCS-4-SWAPPED, ei_ucs4swapped +C99, ei_c99 +JAVA, ei_java +ISO-8859-1, ei_iso8859_1 +ISO_8859-1, ei_iso8859_1 +ISO_8859-1:1987, ei_iso8859_1 +ISO-IR-100, ei_iso8859_1 +CP819, ei_iso8859_1 +IBM819, ei_iso8859_1 +LATIN1, ei_iso8859_1 +L1, ei_iso8859_1 +CSISOLATIN1, ei_iso8859_1 +ISO8859-1, ei_iso8859_1 +ISO-8859-2, ei_iso8859_2 +ISO_8859-2, ei_iso8859_2 +ISO_8859-2:1987, ei_iso8859_2 +ISO-IR-101, ei_iso8859_2 +LATIN2, ei_iso8859_2 +L2, ei_iso8859_2 +CSISOLATIN2, ei_iso8859_2 +ISO8859-2, ei_iso8859_2 +ISO-8859-3, ei_iso8859_3 +ISO_8859-3, ei_iso8859_3 +ISO_8859-3:1988, ei_iso8859_3 +ISO-IR-109, ei_iso8859_3 +LATIN3, ei_iso8859_3 +L3, ei_iso8859_3 +CSISOLATIN3, ei_iso8859_3 +ISO8859-3, ei_iso8859_3 +ISO-8859-4, ei_iso8859_4 +ISO_8859-4, ei_iso8859_4 +ISO_8859-4:1988, ei_iso8859_4 +ISO-IR-110, ei_iso8859_4 +LATIN4, ei_iso8859_4 +L4, ei_iso8859_4 +CSISOLATIN4, ei_iso8859_4 +ISO8859-4, ei_iso8859_4 +ISO-8859-5, ei_iso8859_5 +ISO_8859-5, ei_iso8859_5 +ISO_8859-5:1988, ei_iso8859_5 +ISO-IR-144, ei_iso8859_5 +CYRILLIC, ei_iso8859_5 +CSISOLATINCYRILLIC, ei_iso8859_5 +ISO8859-5, ei_iso8859_5 +ISO-8859-6, ei_iso8859_6 +ISO_8859-6, ei_iso8859_6 +ISO_8859-6:1987, ei_iso8859_6 +ISO-IR-127, ei_iso8859_6 +ECMA-114, ei_iso8859_6 +ASMO-708, ei_iso8859_6 +ARABIC, ei_iso8859_6 +CSISOLATINARABIC, ei_iso8859_6 +ISO8859-6, ei_iso8859_6 +ISO-8859-7, ei_iso8859_7 +ISO_8859-7, ei_iso8859_7 +ISO_8859-7:1987, ei_iso8859_7 +ISO_8859-7:2003, ei_iso8859_7 +ISO-IR-126, ei_iso8859_7 +ECMA-118, ei_iso8859_7 +ELOT_928, ei_iso8859_7 +GREEK8, ei_iso8859_7 +GREEK, ei_iso8859_7 +CSISOLATINGREEK, ei_iso8859_7 +ISO8859-7, ei_iso8859_7 +ISO-8859-8, ei_iso8859_8 +ISO_8859-8, ei_iso8859_8 +ISO_8859-8:1988, ei_iso8859_8 +ISO-IR-138, ei_iso8859_8 +HEBREW, ei_iso8859_8 +CSISOLATINHEBREW, ei_iso8859_8 +ISO8859-8, ei_iso8859_8 +ISO-8859-9, ei_iso8859_9 +ISO_8859-9, ei_iso8859_9 +ISO_8859-9:1989, ei_iso8859_9 +ISO-IR-148, ei_iso8859_9 +LATIN5, ei_iso8859_9 +L5, ei_iso8859_9 +CSISOLATIN5, ei_iso8859_9 +ISO8859-9, ei_iso8859_9 +ISO-8859-10, ei_iso8859_10 +ISO_8859-10, ei_iso8859_10 +ISO_8859-10:1992, ei_iso8859_10 +ISO-IR-157, ei_iso8859_10 +LATIN6, ei_iso8859_10 +L6, ei_iso8859_10 +CSISOLATIN6, ei_iso8859_10 +ISO8859-10, ei_iso8859_10 +ISO-8859-11, ei_iso8859_11 +ISO_8859-11, ei_iso8859_11 +ISO8859-11, ei_iso8859_11 +ISO-8859-13, ei_iso8859_13 +ISO_8859-13, ei_iso8859_13 +ISO-IR-179, ei_iso8859_13 +LATIN7, ei_iso8859_13 +L7, ei_iso8859_13 +ISO8859-13, ei_iso8859_13 +ISO-8859-14, ei_iso8859_14 +ISO_8859-14, ei_iso8859_14 +ISO_8859-14:1998, ei_iso8859_14 +ISO-IR-199, ei_iso8859_14 +LATIN8, ei_iso8859_14 +L8, ei_iso8859_14 +ISO-CELTIC, ei_iso8859_14 +ISO8859-14, ei_iso8859_14 +ISO-8859-15, ei_iso8859_15 +ISO_8859-15, ei_iso8859_15 +ISO_8859-15:1998, ei_iso8859_15 +ISO-IR-203, ei_iso8859_15 +LATIN-9, ei_iso8859_15 +ISO8859-15, ei_iso8859_15 +ISO-8859-16, ei_iso8859_16 +ISO_8859-16, ei_iso8859_16 +ISO_8859-16:2001, ei_iso8859_16 +ISO-IR-226, ei_iso8859_16 +LATIN10, ei_iso8859_16 +L10, ei_iso8859_16 +ISO8859-16, ei_iso8859_16 +KOI8-R, ei_koi8_r +CSKOI8R, ei_koi8_r +KOI8-U, ei_koi8_u +KOI8-RU, ei_koi8_ru +CP1250, ei_cp1250 +WINDOWS-1250, ei_cp1250 +MS-EE, ei_cp1250 +CP1251, ei_cp1251 +WINDOWS-1251, ei_cp1251 +MS-CYRL, ei_cp1251 +CP1252, ei_cp1252 +WINDOWS-1252, ei_cp1252 +MS-ANSI, ei_cp1252 +CP1253, ei_cp1253 +WINDOWS-1253, ei_cp1253 +MS-GREEK, ei_cp1253 +CP1254, ei_cp1254 +WINDOWS-1254, ei_cp1254 +MS-TURK, ei_cp1254 +CP1255, ei_cp1255 +WINDOWS-1255, ei_cp1255 +MS-HEBR, ei_cp1255 +CP1256, ei_cp1256 +WINDOWS-1256, ei_cp1256 +MS-ARAB, ei_cp1256 +CP1257, ei_cp1257 +WINDOWS-1257, ei_cp1257 +WINBALTRIM, ei_cp1257 +CP1258, ei_cp1258 +WINDOWS-1258, ei_cp1258 +CP850, ei_cp850 +IBM850, ei_cp850 +850, ei_cp850 +CSPC850MULTILINGUAL, ei_cp850 +CP862, ei_cp862 +IBM862, ei_cp862 +862, ei_cp862 +CSPC862LATINHEBREW, ei_cp862 +CP866, ei_cp866 +IBM866, ei_cp866 +866, ei_cp866 +CSIBM866, ei_cp866 +CP1131, ei_cp1131 +MACROMAN, ei_mac_roman +MACINTOSH, ei_mac_roman +MAC, ei_mac_roman +CSMACINTOSH, ei_mac_roman +MACCENTRALEUROPE, ei_mac_centraleurope +MACICELAND, ei_mac_iceland +MACCROATIAN, ei_mac_croatian +MACROMANIA, ei_mac_romania +MACCYRILLIC, ei_mac_cyrillic +MACUKRAINE, ei_mac_ukraine +MACGREEK, ei_mac_greek +MACTURKISH, ei_mac_turkish +MACHEBREW, ei_mac_hebrew +MACARABIC, ei_mac_arabic +MACTHAI, ei_mac_thai +HP-ROMAN8, ei_hp_roman8 +ROMAN8, ei_hp_roman8 +R8, ei_hp_roman8 +CSHPROMAN8, ei_hp_roman8 +NEXTSTEP, ei_nextstep +ARMSCII-8, ei_armscii_8 +GEORGIAN-ACADEMY, ei_georgian_academy +GEORGIAN-PS, ei_georgian_ps +KOI8-T, ei_koi8_t +PT154, ei_pt154 +PTCP154, ei_pt154 +CP154, ei_pt154 +CYRILLIC-ASIAN, ei_pt154 +CSPTCP154, ei_pt154 +RK1048, ei_rk1048 +STRK1048-2002, ei_rk1048 +KZ-1048, ei_rk1048 +CSKZ1048, ei_rk1048 +MULELAO-1, ei_mulelao +CP1133, ei_cp1133 +IBM-CP1133, ei_cp1133 +TIS-620, ei_tis620 +TIS620, ei_tis620 +TIS620-0, ei_tis620 +TIS620.2529-1, ei_tis620 +TIS620.2533-0, ei_tis620 +TIS620.2533-1, ei_tis620 +ISO-IR-166, ei_tis620 +TACTIS, ei_tis620 +CP874, ei_cp874 +WINDOWS-874, ei_cp874 +VISCII, ei_viscii +VISCII1.1-1, ei_viscii +CSVISCII, ei_viscii +TCVN, ei_tcvn +TCVN-5712, ei_tcvn +TCVN5712-1, ei_tcvn +TCVN5712-1:1993, ei_tcvn +JIS_C6220-1969-RO, ei_iso646_jp +ISO646-JP, ei_iso646_jp +ISO-IR-14, ei_iso646_jp +JP, ei_iso646_jp +CSISO14JISC6220RO, ei_iso646_jp +JIS_X0201, ei_jisx0201 +JISX0201-1976, ei_jisx0201 +X0201, ei_jisx0201 +CSHALFWIDTHKATAKANA, ei_jisx0201 +JIS_X0208, ei_jisx0208 +JIS_X0208-1983, ei_jisx0208 +JIS_X0208-1990, ei_jisx0208 +JIS0208, ei_jisx0208 +X0208, ei_jisx0208 +ISO-IR-87, ei_jisx0208 +JIS_C6226-1983, ei_jisx0208 +CSISO87JISX0208, ei_jisx0208 +JIS_X0212, ei_jisx0212 +JIS_X0212.1990-0, ei_jisx0212 +JIS_X0212-1990, ei_jisx0212 +X0212, ei_jisx0212 +ISO-IR-159, ei_jisx0212 +CSISO159JISX02121990, ei_jisx0212 +GB_1988-80, ei_iso646_cn +ISO646-CN, ei_iso646_cn +ISO-IR-57, ei_iso646_cn +CN, ei_iso646_cn +CSISO57GB1988, ei_iso646_cn +GB_2312-80, ei_gb2312 +ISO-IR-58, ei_gb2312 +CSISO58GB231280, ei_gb2312 +CHINESE, ei_gb2312 +ISO-IR-165, ei_isoir165 +CN-GB-ISOIR165, ei_isoir165 +KSC_5601, ei_ksc5601 +KS_C_5601-1987, ei_ksc5601 +KS_C_5601-1989, ei_ksc5601 +ISO-IR-149, ei_ksc5601 +CSKSC56011987, ei_ksc5601 +KOREAN, ei_ksc5601 +EUC-JP, ei_euc_jp +EUCJP, ei_euc_jp +EXTENDED_UNIX_CODE_PACKED_FORMAT_FOR_JAPANESE, ei_euc_jp +CSEUCPKDFMTJAPANESE, ei_euc_jp +SDECKANJI, ei_euc_jp +SHIFT_JIS, ei_sjis +SHIFT-JIS, ei_sjis +SJIS, ei_sjis +MS_KANJI, ei_sjis +CSSHIFTJIS, ei_sjis +CP932, ei_cp932 +ISO-2022-JP, ei_iso2022_jp +CSISO2022JP, ei_iso2022_jp +ISO-2022-JP-1, ei_iso2022_jp1 +ISO-2022-JP-2, ei_iso2022_jp2 +CSISO2022JP2, ei_iso2022_jp2 +ISO-2022-JP-MS, ei_iso2022_jpms +CP50221, ei_iso2022_jpms +EUC-CN, ei_euc_cn +EUCCN, ei_euc_cn +GB2312, ei_euc_cn +CN-GB, ei_euc_cn +CSGB2312, ei_euc_cn +DECHANZI, ei_euc_cn +GBK, ei_ces_gbk +CP936, ei_cp936 +MS936, ei_cp936 +WINDOWS-936, ei_cp936 +GB18030, ei_gb18030_2005 +GB18030:2005, ei_gb18030_2005 +GB18030:2022, ei_gb18030_2022 +ISO-2022-CN, ei_iso2022_cn +CSISO2022CN, ei_iso2022_cn +ISO-2022-CN-EXT, ei_iso2022_cn_ext +HZ, ei_hz +HZ-GB-2312, ei_hz +EUC-TW, ei_euc_tw +EUCTW, ei_euc_tw +CSEUCTW, ei_euc_tw +BIG5, ei_ces_big5 +BIG-5, ei_ces_big5 +BIG-FIVE, ei_ces_big5 +BIGFIVE, ei_ces_big5 +CN-BIG5, ei_ces_big5 +CSBIG5, ei_ces_big5 +CP950, ei_cp950 +BIG5-HKSCS:1999, ei_big5hkscs1999 +BIG5-HKSCS:2001, ei_big5hkscs2001 +BIG5-HKSCS:2004, ei_big5hkscs2004 +BIG5-HKSCS, ei_big5hkscs2008 +BIG5HKSCS, ei_big5hkscs2008 +BIG5-HKSCS:2008, ei_big5hkscs2008 +EUC-KR, ei_euc_kr +EUCKR, ei_euc_kr +CSEUCKR, ei_euc_kr +DECKOREAN, ei_euc_kr +CP949, ei_cp949 +UHC, ei_cp949 +KSC5601, ei_cp949 +JOHAB, ei_johab +CP1361, ei_johab +ISO-2022-KR, ei_iso2022_kr +CSISO2022KR, ei_iso2022_kr +CHAR, ei_local_char +WCHAR_T, ei_local_wchar_t diff --git a/Externals/libiconv/lib/aliases_sysosf1.h b/Externals/libiconv/lib/aliases_sysosf1.h new file mode 100644 index 00000000000..88211ebc8fe --- /dev/null +++ b/Externals/libiconv/lib/aliases_sysosf1.h @@ -0,0 +1,1798 @@ +/* ANSI-C code produced by gperf version 3.2 */ +/* Command-line: gperf -m 10 lib/aliases_sysosf1.gperf */ +/* Computed positions: -k'1,3-11,$' */ + +#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \ + && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \ + && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \ + && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \ + && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \ + && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \ + && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \ + && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \ + && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \ + && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \ + && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \ + && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \ + && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \ + && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \ + && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \ + && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \ + && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \ + && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \ + && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \ + && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \ + && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \ + && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \ + && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126)) +/* The character set is not based on ISO-646. */ +#error "gperf generated tables don't work with this execution character set. Please report a bug to ." +#endif + +#line 1 "lib/aliases_sysosf1.gperf" +struct alias { int name; unsigned int encoding_index; }; + +#define TOTAL_KEYWORDS 356 +#define MIN_WORD_LENGTH 2 +#define MAX_WORD_LENGTH 45 +#define MIN_HASH_VALUE 15 +#define MAX_HASH_VALUE 981 +/* maximum key range = 967, duplicates = 0 */ + +#ifdef __GNUC__ +__inline +#else +#ifdef __cplusplus +inline +#endif +#endif +static unsigned int +aliases_hash (register const char *str, register size_t len) +{ + static const unsigned short asso_values[] = + { + 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, + 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, + 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, + 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, + 982, 982, 982, 982, 982, 5, 96, 982, 97, 7, + 33, 102, 15, 17, 5, 173, 23, 25, 298, 982, + 982, 982, 982, 982, 982, 168, 248, 11, 26, 25, + 17, 29, 29, 6, 139, 153, 8, 132, 7, 6, + 114, 982, 5, 8, 30, 235, 185, 182, 225, 5, + 18, 982, 982, 982, 982, 6, 982, 982, 982, 982, + 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, + 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, + 982, 982, 982, 982, 982, 982, 982, 982 + }; + register unsigned int hval = len; + + switch (hval) + { + default: + hval += asso_values[(unsigned char)str[10]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif + /*FALLTHROUGH*/ + case 10: + hval += asso_values[(unsigned char)str[9]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif + /*FALLTHROUGH*/ + case 9: + hval += asso_values[(unsigned char)str[8]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif + /*FALLTHROUGH*/ + case 8: + hval += asso_values[(unsigned char)str[7]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif + /*FALLTHROUGH*/ + case 7: + hval += asso_values[(unsigned char)str[6]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif + /*FALLTHROUGH*/ + case 6: + hval += asso_values[(unsigned char)str[5]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif + /*FALLTHROUGH*/ + case 5: + hval += asso_values[(unsigned char)str[4]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif + /*FALLTHROUGH*/ + case 4: + hval += asso_values[(unsigned char)str[3]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif + /*FALLTHROUGH*/ + case 3: + hval += asso_values[(unsigned char)str[2]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif + /*FALLTHROUGH*/ + case 2: + case 1: + hval += asso_values[(unsigned char)str[0]]; + break; + } + return hval + asso_values[(unsigned char)str[len - 1]]; +} + +struct stringpool_t + { + char stringpool_str15[sizeof("L6")]; + char stringpool_str17[sizeof("L1")]; + char stringpool_str20[sizeof("CN")]; + char stringpool_str25[sizeof("L4")]; + char stringpool_str27[sizeof("L5")]; + char stringpool_str30[sizeof("R8")]; + char stringpool_str33[sizeof("L8")]; + char stringpool_str34[sizeof("SJIS")]; + char stringpool_str36[sizeof("866")]; + char stringpool_str43[sizeof("L2")]; + char stringpool_str49[sizeof("HZ")]; + char stringpool_str51[sizeof("ISO-IR-6")]; + char stringpool_str54[sizeof("CP866")]; + char stringpool_str64[sizeof("C99")]; + char stringpool_str65[sizeof("ISO-IR-166")]; + char stringpool_str66[sizeof("EUCCN")]; + char stringpool_str67[sizeof("LATIN6")]; + char stringpool_str70[sizeof("CP154")]; + char stringpool_str71[sizeof("LATIN1")]; + char stringpool_str72[sizeof("EUC-CN")]; + char stringpool_str74[sizeof("CYRILLIC")]; + char stringpool_str76[sizeof("ISO646-CN")]; + char stringpool_str79[sizeof("ISO-IR-14")]; + char stringpool_str84[sizeof("CP1256")]; + char stringpool_str87[sizeof("LATIN4")]; + char stringpool_str88[sizeof("CP1251")]; + char stringpool_str89[sizeof("ISO-IR-165")]; + char stringpool_str91[sizeof("LATIN5")]; + char stringpool_str92[sizeof("862")]; + char stringpool_str93[sizeof("ISO-IR-126")]; + char stringpool_str95[sizeof("ISO-IR-144")]; + char stringpool_str96[sizeof("CP819")]; + char stringpool_str99[sizeof("TACTIS")]; + char stringpool_str103[sizeof("LATIN8")]; + char stringpool_str104[sizeof("CP1254")]; + char stringpool_str105[sizeof("ISO-IR-58")]; + char stringpool_str106[sizeof("CP949")]; + char stringpool_str108[sizeof("CP1255")]; + char stringpool_str110[sizeof("CP862")]; + char stringpool_str111[sizeof("ISO-IR-148")]; + char stringpool_str112[sizeof("L3")]; + char stringpool_str113[sizeof("LATIN-9")]; + char stringpool_str114[sizeof("CHINESE")]; + char stringpool_str115[sizeof("ISO-IR-149")]; + char stringpool_str117[sizeof("ISO-IR-159")]; + char stringpool_str119[sizeof("ISO-IR-226")]; + char stringpool_str120[sizeof("CP1258")]; + char stringpool_str123[sizeof("LATIN2")]; + char stringpool_str124[sizeof("ISO8859-6")]; + char stringpool_str125[sizeof("ISO-IR-199")]; + char stringpool_str128[sizeof("ISO8859-1")]; + char stringpool_str129[sizeof("ISO-CELTIC")]; + char stringpool_str130[sizeof("ISO-8859-6")]; + char stringpool_str131[sizeof("ISO_8859-6")]; + char stringpool_str132[sizeof("ISO8859-16")]; + char stringpool_str134[sizeof("ISO-8859-1")]; + char stringpool_str135[sizeof("ISO_8859-1")]; + char stringpool_str136[sizeof("ISO8859-11")]; + char stringpool_str138[sizeof("ISO-8859-16")]; + char stringpool_str139[sizeof("ISO_8859-16")]; + char stringpool_str140[sizeof("CP1252")]; + char stringpool_str142[sizeof("ISO-8859-11")]; + char stringpool_str143[sizeof("ISO_8859-11")]; + char stringpool_str144[sizeof("ISO8859-4")]; + char stringpool_str145[sizeof("CP1361")]; + char stringpool_str146[sizeof("ISO_8859-16:2001")]; + char stringpool_str147[sizeof("CP1131")]; + char stringpool_str148[sizeof("ISO8859-5")]; + char stringpool_str150[sizeof("ISO-8859-4")]; + char stringpool_str151[sizeof("ISO_8859-4")]; + char stringpool_str152[sizeof("ISO8859-14")]; + char stringpool_str153[sizeof("CP936")]; + char stringpool_str154[sizeof("ISO-8859-5")]; + char stringpool_str155[sizeof("ISO_8859-5")]; + char stringpool_str156[sizeof("ISO8859-15")]; + char stringpool_str157[sizeof("MAC")]; + char stringpool_str158[sizeof("ISO-8859-14")]; + char stringpool_str159[sizeof("ISO_8859-14")]; + char stringpool_str160[sizeof("ISO8859-8")]; + char stringpool_str161[sizeof("ISO-IR-101")]; + char stringpool_str162[sizeof("ISO-8859-15")]; + char stringpool_str163[sizeof("ISO_8859-15")]; + char stringpool_str164[sizeof("ISO8859-9")]; + char stringpool_str166[sizeof("ISO-8859-8")]; + char stringpool_str167[sizeof("ISO_8859-8")]; + char stringpool_str170[sizeof("ISO-8859-9")]; + char stringpool_str171[sizeof("ISO_8859-9")]; + char stringpool_str172[sizeof("ISO_8859-14:1998")]; + char stringpool_str173[sizeof("PT154")]; + char stringpool_str174[sizeof("ISO_8859-15:1998")]; + char stringpool_str176[sizeof("RK1048")]; + char stringpool_str179[sizeof("ELOT_928")]; + char stringpool_str180[sizeof("ISO8859-2")]; + char stringpool_str181[sizeof("MS-CYRL")]; + char stringpool_str182[sizeof("IBM866")]; + char stringpool_str183[sizeof("L7")]; + char stringpool_str186[sizeof("ISO-8859-2")]; + char stringpool_str187[sizeof("ISO_8859-2")]; + char stringpool_str193[sizeof("CHAR")]; + char stringpool_str197[sizeof("ISO-IR-109")]; + char stringpool_str198[sizeof("ISO-IR-138")]; + char stringpool_str202[sizeof("ASCII")]; + char stringpool_str203[sizeof("KOI8-R")]; + char stringpool_str204[sizeof("EUCKR")]; + char stringpool_str205[sizeof("L10")]; + char stringpool_str209[sizeof("CP932")]; + char stringpool_str210[sizeof("EUC-KR")]; + char stringpool_str212[sizeof("CP50221")]; + char stringpool_str216[sizeof("CSKOI8R")]; + char stringpool_str217[sizeof("MS-EE")]; + char stringpool_str220[sizeof("850")]; + char stringpool_str223[sizeof("CSASCII")]; + char stringpool_str224[sizeof("IBM819")]; + char stringpool_str225[sizeof("MACCYRILLIC")]; + char stringpool_str228[sizeof("VISCII")]; + char stringpool_str233[sizeof("TCVN")]; + char stringpool_str236[sizeof("SHIFT-JIS")]; + char stringpool_str237[sizeof("SHIFT_JIS")]; + char stringpool_str238[sizeof("IBM862")]; + char stringpool_str240[sizeof("CSISO14JISC6220RO")]; + char stringpool_str242[sizeof("CP874")]; + char stringpool_str243[sizeof("GB2312")]; + char stringpool_str245[sizeof("US")]; + char stringpool_str247[sizeof("CSVISCII")]; + char stringpool_str250[sizeof("CP850")]; + char stringpool_str251[sizeof("ISO-IR-110")]; + char stringpool_str252[sizeof("CP950")]; + char stringpool_str253[sizeof("KOI8-T")]; + char stringpool_str254[sizeof("ISO-2022-CN")]; + char stringpool_str255[sizeof("JP")]; + char stringpool_str257[sizeof("CYRILLIC-ASIAN")]; + char stringpool_str259[sizeof("LATIN10")]; + char stringpool_str260[sizeof("UHC")]; + char stringpool_str261[sizeof("LATIN3")]; + char stringpool_str263[sizeof("CSISO2022CN")]; + char stringpool_str264[sizeof("ISO_8859-10:1992")]; + char stringpool_str267[sizeof("MACINTOSH")]; + char stringpool_str268[sizeof("CP1250")]; + char stringpool_str271[sizeof("CSISOLATIN6")]; + char stringpool_str272[sizeof("CSSHIFTJIS")]; + char stringpool_str273[sizeof("ISO-IR-179")]; + char stringpool_str274[sizeof("MS936")]; + char stringpool_str275[sizeof("CSISOLATIN1")]; + char stringpool_str276[sizeof("TIS620")]; + char stringpool_str278[sizeof("CP1253")]; + char stringpool_str279[sizeof("DECHANZI")]; + char stringpool_str280[sizeof("UTF-16")]; + char stringpool_str281[sizeof("ISO-2022-CN-EXT")]; + char stringpool_str282[sizeof("TIS-620")]; + char stringpool_str283[sizeof("UCS-4")]; + char stringpool_str284[sizeof("GREEK8")]; + char stringpool_str290[sizeof("CSISOLATINCYRILLIC")]; + char stringpool_str291[sizeof("CSISOLATIN4")]; + char stringpool_str295[sizeof("CSISOLATIN5")]; + char stringpool_str300[sizeof("PTCP154")]; + char stringpool_str301[sizeof("CSUCS4")]; + char stringpool_str302[sizeof("ISO646-US")]; + char stringpool_str304[sizeof("KSC5601")]; + char stringpool_str308[sizeof("UTF-8")]; + char stringpool_str311[sizeof("KSC_5601")]; + char stringpool_str315[sizeof("BIG5")]; + char stringpool_str316[sizeof("ISO8859-10")]; + char stringpool_str318[sizeof("ISO8859-3")]; + char stringpool_str319[sizeof("UCS-2")]; + char stringpool_str321[sizeof("BIG-5")]; + char stringpool_str322[sizeof("ISO-8859-10")]; + char stringpool_str323[sizeof("ISO_8859-10")]; + char stringpool_str324[sizeof("ISO-8859-3")]; + char stringpool_str325[sizeof("ISO_8859-3")]; + char stringpool_str326[sizeof("ISO8859-13")]; + char stringpool_str327[sizeof("CSISOLATIN2")]; + char stringpool_str328[sizeof("UCS-4LE")]; + char stringpool_str330[sizeof("KZ-1048")]; + char stringpool_str332[sizeof("ISO-8859-13")]; + char stringpool_str333[sizeof("ISO_8859-13")]; + char stringpool_str334[sizeof("CSBIG5")]; + char stringpool_str335[sizeof("UTF-16LE")]; + char stringpool_str336[sizeof("X0212")]; + char stringpool_str337[sizeof("CP1133")]; + char stringpool_str338[sizeof("GBK")]; + char stringpool_str339[sizeof("MS-ANSI")]; + char stringpool_str340[sizeof("CN-BIG5")]; + char stringpool_str341[sizeof("ISO-IR-100")]; + char stringpool_str343[sizeof("CSPTCP154")]; + char stringpool_str345[sizeof("GB_1988-80")]; + char stringpool_str346[sizeof("UCS-2LE")]; + char stringpool_str350[sizeof("CSISO159JISX02121990")]; + char stringpool_str351[sizeof("UNICODE-1-1")]; + char stringpool_str353[sizeof("KS_C_5601-1989")]; + char stringpool_str355[sizeof("CSKZ1048")]; + char stringpool_str356[sizeof("VISCII1.1-1")]; + char stringpool_str358[sizeof("ISO_646.IRV:1991")]; + char stringpool_str359[sizeof("CSUNICODE11")]; + char stringpool_str360[sizeof("CN-GB-ISOIR165")]; + char stringpool_str361[sizeof("CSUNICODE")]; + char stringpool_str363[sizeof("UCS-4-INTERNAL")]; + char stringpool_str364[sizeof("ROMAN8")]; + char stringpool_str367[sizeof("JIS_C6220-1969-RO")]; + char stringpool_str368[sizeof("JIS_C6226-1983")]; + char stringpool_str371[sizeof("KOREAN")]; + char stringpool_str374[sizeof("X0201")]; + char stringpool_str375[sizeof("MULELAO-1")]; + char stringpool_str377[sizeof("ISO-IR-203")]; + char stringpool_str378[sizeof("IBM850")]; + char stringpool_str380[sizeof("TIS620-0")]; + char stringpool_str381[sizeof("UCS-2-INTERNAL")]; + char stringpool_str382[sizeof("ECMA-114")]; + char stringpool_str389[sizeof("MACTHAI")]; + char stringpool_str390[sizeof("GREEK")]; + char stringpool_str391[sizeof("ARMSCII-8")]; + char stringpool_str392[sizeof("ISO-2022-KR")]; + char stringpool_str396[sizeof("GEORGIAN-PS")]; + char stringpool_str397[sizeof("TIS620.2529-1")]; + char stringpool_str398[sizeof("ECMA-118")]; + char stringpool_str401[sizeof("CSISO2022KR")]; + char stringpool_str403[sizeof("LATIN7")]; + char stringpool_str405[sizeof("ISO-IR-57")]; + char stringpool_str406[sizeof("X0208")]; + char stringpool_str407[sizeof("HP-ROMAN8")]; + char stringpool_str408[sizeof("EUCJP")]; + char stringpool_str411[sizeof("ISO-IR-87")]; + char stringpool_str413[sizeof("ISO-IR-157")]; + char stringpool_str414[sizeof("EUC-JP")]; + char stringpool_str416[sizeof("ISO-10646-UCS-4")]; + char stringpool_str417[sizeof("DECKOREAN")]; + char stringpool_str418[sizeof("ISO646-JP")]; + char stringpool_str420[sizeof("CP1257")]; + char stringpool_str421[sizeof("UNICODELITTLE")]; + char stringpool_str427[sizeof("JIS0208")]; + char stringpool_str429[sizeof("ISO-IR-127")]; + char stringpool_str430[sizeof("MACICELAND")]; + char stringpool_str431[sizeof("UTF-32")]; + char stringpool_str434[sizeof("ISO-10646-UCS-2")]; + char stringpool_str435[sizeof("EUCTW")]; + char stringpool_str441[sizeof("EUC-TW")]; + char stringpool_str442[sizeof("GB_2312-80")]; + char stringpool_str443[sizeof("CSIBM866")]; + char stringpool_str445[sizeof("CSISOLATINARABIC")]; + char stringpool_str447[sizeof("CSISOLATINGREEK")]; + char stringpool_str448[sizeof("CSMACINTOSH")]; + char stringpool_str452[sizeof("CSEUCKR")]; + char stringpool_str453[sizeof("US-ASCII")]; + char stringpool_str455[sizeof("GEORGIAN-ACADEMY")]; + char stringpool_str456[sizeof("MS-HEBR")]; + char stringpool_str457[sizeof("WCHAR_T")]; + char stringpool_str458[sizeof("UTF-32LE")]; + char stringpool_str459[sizeof("GB18030")]; + char stringpool_str460[sizeof("ISO8859-7")]; + char stringpool_str462[sizeof("ISO_8859-4:1988")]; + char stringpool_str463[sizeof("MACCENTRALEUROPE")]; + char stringpool_str464[sizeof("ISO_8859-5:1988")]; + char stringpool_str465[sizeof("CSISOLATIN3")]; + char stringpool_str466[sizeof("ISO-8859-7")]; + char stringpool_str467[sizeof("ISO_8859-7")]; + char stringpool_str469[sizeof("CP367")]; + char stringpool_str470[sizeof("ISO_8859-8:1988")]; + char stringpool_str474[sizeof("ISO_8859-9:1989")]; + char stringpool_str476[sizeof("MACROMAN")]; + char stringpool_str477[sizeof("CSISOLATINHEBREW")]; + char stringpool_str481[sizeof("TCVN5712-1")]; + char stringpool_str482[sizeof("EXTENDED_UNIX_CODE_PACKED_FORMAT_FOR_JAPANESE")]; + char stringpool_str489[sizeof("STRK1048-2002")]; + char stringpool_str490[sizeof("WINDOWS-1256")]; + char stringpool_str491[sizeof("ISO-2022-JP-1")]; + char stringpool_str492[sizeof("WINDOWS-1251")]; + char stringpool_str493[sizeof("ISO-2022-JP-MS")]; + char stringpool_str499[sizeof("TCVN-5712")]; + char stringpool_str500[sizeof("WINDOWS-1254")]; + char stringpool_str501[sizeof("KS_C_5601-1987")]; + char stringpool_str502[sizeof("WINDOWS-1255")]; + char stringpool_str504[sizeof("CSGB2312")]; + char stringpool_str508[sizeof("WINDOWS-1258")]; + char stringpool_str517[sizeof("ISO-2022-JP-2")]; + char stringpool_str518[sizeof("WINDOWS-1252")]; + char stringpool_str520[sizeof("BIG5HKSCS")]; + char stringpool_str523[sizeof("UNICODE-1-1-UTF-7")]; + char stringpool_str525[sizeof("CSISO2022JP2")]; + char stringpool_str526[sizeof("BIG5-HKSCS")]; + char stringpool_str527[sizeof("CSKSC56011987")]; + char stringpool_str528[sizeof("CSHPROMAN8")]; + char stringpool_str529[sizeof("CSUNICODE11UTF7")]; + char stringpool_str532[sizeof("SDECKANJI")]; + char stringpool_str534[sizeof("HZ-GB-2312")]; + char stringpool_str535[sizeof("MS-GREEK")]; + char stringpool_str541[sizeof("MACGREEK")]; + char stringpool_str542[sizeof("BIGFIVE")]; + char stringpool_str543[sizeof("TIS620.2533-1")]; + char stringpool_str546[sizeof("CN-GB")]; + char stringpool_str548[sizeof("BIG-FIVE")]; + char stringpool_str549[sizeof("ISO_8859-3:1988")]; + char stringpool_str561[sizeof("NEXTSTEP")]; + char stringpool_str562[sizeof("MACCROATIAN")]; + char stringpool_str564[sizeof("WINDOWS-936")]; + char stringpool_str566[sizeof("CSISO57GB1988")]; + char stringpool_str568[sizeof("UCS-4BE")]; + char stringpool_str575[sizeof("UTF-16BE")]; + char stringpool_str582[sizeof("WINDOWS-1250")]; + char stringpool_str586[sizeof("UCS-2BE")]; + char stringpool_str587[sizeof("WINDOWS-1253")]; + char stringpool_str590[sizeof("JIS_X0212")]; + char stringpool_str595[sizeof("CSISO58GB231280")]; + char stringpool_str596[sizeof("ISO-2022-JP")]; + char stringpool_str597[sizeof("IBM367")]; + char stringpool_str598[sizeof("IBM-CP1133")]; + char stringpool_str602[sizeof("ISO_8859-6:1987")]; + char stringpool_str604[sizeof("ISO_8859-1:1987")]; + char stringpool_str605[sizeof("CSISO2022JP")]; + char stringpool_str608[sizeof("UTF-7")]; + char stringpool_str609[sizeof("CSPC862LATINHEBREW")]; + char stringpool_str618[sizeof("ARABIC")]; + char stringpool_str625[sizeof("MS_KANJI")]; + char stringpool_str628[sizeof("JIS_X0201")]; + char stringpool_str630[sizeof("ISO_8859-2:1987")]; + char stringpool_str631[sizeof("UNICODEBIG")]; + char stringpool_str633[sizeof("TIS620.2533-0")]; + char stringpool_str635[sizeof("ASMO-708")]; + char stringpool_str643[sizeof("CSISO87JISX0208")]; + char stringpool_str648[sizeof("MACTURKISH")]; + char stringpool_str653[sizeof("WINDOWS-874")]; + char stringpool_str657[sizeof("ANSI_X3.4-1986")]; + char stringpool_str658[sizeof("WINDOWS-1257")]; + char stringpool_str660[sizeof("JIS_X0208")]; + char stringpool_str661[sizeof("JISX0201-1976")]; + char stringpool_str663[sizeof("KOI8-U")]; + char stringpool_str664[sizeof("JAVA")]; + char stringpool_str669[sizeof("KOI8-RU")]; + char stringpool_str671[sizeof("JIS_X0212-1990")]; + char stringpool_str675[sizeof("ANSI_X3.4-1968")]; + char stringpool_str677[sizeof("HEBREW")]; + char stringpool_str683[sizeof("CSEUCTW")]; + char stringpool_str693[sizeof("CSHALFWIDTHKATAKANA")]; + char stringpool_str698[sizeof("UTF-32BE")]; + char stringpool_str699[sizeof("ISO_8859-7:2003")]; + char stringpool_str705[sizeof("CSPC850MULTILINGUAL")]; + char stringpool_str720[sizeof("MS-TURK")]; + char stringpool_str751[sizeof("JIS_X0208-1990")]; + char stringpool_str756[sizeof("JIS_X0208-1983")]; + char stringpool_str764[sizeof("JIS_X0212.1990-0")]; + char stringpool_str769[sizeof("MACARABIC")]; + char stringpool_str770[sizeof("ISO_8859-7:1987")]; + char stringpool_str777[sizeof("MACUKRAINE")]; + char stringpool_str798[sizeof("CSEUCPKDFMTJAPANESE")]; + char stringpool_str813[sizeof("MACROMANIA")]; + char stringpool_str828[sizeof("BIG5-HKSCS:2001")]; + char stringpool_str836[sizeof("BIG5-HKSCS:2004")]; + char stringpool_str837[sizeof("JOHAB")]; + char stringpool_str844[sizeof("BIG5-HKSCS:2008")]; + char stringpool_str846[sizeof("BIG5-HKSCS:1999")]; + char stringpool_str848[sizeof("MACHEBREW")]; + char stringpool_str861[sizeof("GB18030:2022")]; + char stringpool_str879[sizeof("TCVN5712-1:1993")]; + char stringpool_str893[sizeof("UCS-4-SWAPPED")]; + char stringpool_str909[sizeof("GB18030:2005")]; + char stringpool_str911[sizeof("UCS-2-SWAPPED")]; + char stringpool_str928[sizeof("WINBALTRIM")]; + char stringpool_str981[sizeof("MS-ARAB")]; + }; +static const struct stringpool_t stringpool_contents = + { + "L6", + "L1", + "CN", + "L4", + "L5", + "R8", + "L8", + "SJIS", + "866", + "L2", + "HZ", + "ISO-IR-6", + "CP866", + "C99", + "ISO-IR-166", + "EUCCN", + "LATIN6", + "CP154", + "LATIN1", + "EUC-CN", + "CYRILLIC", + "ISO646-CN", + "ISO-IR-14", + "CP1256", + "LATIN4", + "CP1251", + "ISO-IR-165", + "LATIN5", + "862", + "ISO-IR-126", + "ISO-IR-144", + "CP819", + "TACTIS", + "LATIN8", + "CP1254", + "ISO-IR-58", + "CP949", + "CP1255", + "CP862", + "ISO-IR-148", + "L3", + "LATIN-9", + "CHINESE", + "ISO-IR-149", + "ISO-IR-159", + "ISO-IR-226", + "CP1258", + "LATIN2", + "ISO8859-6", + "ISO-IR-199", + "ISO8859-1", + "ISO-CELTIC", + "ISO-8859-6", + "ISO_8859-6", + "ISO8859-16", + "ISO-8859-1", + "ISO_8859-1", + "ISO8859-11", + "ISO-8859-16", + "ISO_8859-16", + "CP1252", + "ISO-8859-11", + "ISO_8859-11", + "ISO8859-4", + "CP1361", + "ISO_8859-16:2001", + "CP1131", + "ISO8859-5", + "ISO-8859-4", + "ISO_8859-4", + "ISO8859-14", + "CP936", + "ISO-8859-5", + "ISO_8859-5", + "ISO8859-15", + "MAC", + "ISO-8859-14", + "ISO_8859-14", + "ISO8859-8", + "ISO-IR-101", + "ISO-8859-15", + "ISO_8859-15", + "ISO8859-9", + "ISO-8859-8", + "ISO_8859-8", + "ISO-8859-9", + "ISO_8859-9", + "ISO_8859-14:1998", + "PT154", + "ISO_8859-15:1998", + "RK1048", + "ELOT_928", + "ISO8859-2", + "MS-CYRL", + "IBM866", + "L7", + "ISO-8859-2", + "ISO_8859-2", + "CHAR", + "ISO-IR-109", + "ISO-IR-138", + "ASCII", + "KOI8-R", + "EUCKR", + "L10", + "CP932", + "EUC-KR", + "CP50221", + "CSKOI8R", + "MS-EE", + "850", + "CSASCII", + "IBM819", + "MACCYRILLIC", + "VISCII", + "TCVN", + "SHIFT-JIS", + "SHIFT_JIS", + "IBM862", + "CSISO14JISC6220RO", + "CP874", + "GB2312", + "US", + "CSVISCII", + "CP850", + "ISO-IR-110", + "CP950", + "KOI8-T", + "ISO-2022-CN", + "JP", + "CYRILLIC-ASIAN", + "LATIN10", + "UHC", + "LATIN3", + "CSISO2022CN", + "ISO_8859-10:1992", + "MACINTOSH", + "CP1250", + "CSISOLATIN6", + "CSSHIFTJIS", + "ISO-IR-179", + "MS936", + "CSISOLATIN1", + "TIS620", + "CP1253", + "DECHANZI", + "UTF-16", + "ISO-2022-CN-EXT", + "TIS-620", + "UCS-4", + "GREEK8", + "CSISOLATINCYRILLIC", + "CSISOLATIN4", + "CSISOLATIN5", + "PTCP154", + "CSUCS4", + "ISO646-US", + "KSC5601", + "UTF-8", + "KSC_5601", + "BIG5", + "ISO8859-10", + "ISO8859-3", + "UCS-2", + "BIG-5", + "ISO-8859-10", + "ISO_8859-10", + "ISO-8859-3", + "ISO_8859-3", + "ISO8859-13", + "CSISOLATIN2", + "UCS-4LE", + "KZ-1048", + "ISO-8859-13", + "ISO_8859-13", + "CSBIG5", + "UTF-16LE", + "X0212", + "CP1133", + "GBK", + "MS-ANSI", + "CN-BIG5", + "ISO-IR-100", + "CSPTCP154", + "GB_1988-80", + "UCS-2LE", + "CSISO159JISX02121990", + "UNICODE-1-1", + "KS_C_5601-1989", + "CSKZ1048", + "VISCII1.1-1", + "ISO_646.IRV:1991", + "CSUNICODE11", + "CN-GB-ISOIR165", + "CSUNICODE", + "UCS-4-INTERNAL", + "ROMAN8", + "JIS_C6220-1969-RO", + "JIS_C6226-1983", + "KOREAN", + "X0201", + "MULELAO-1", + "ISO-IR-203", + "IBM850", + "TIS620-0", + "UCS-2-INTERNAL", + "ECMA-114", + "MACTHAI", + "GREEK", + "ARMSCII-8", + "ISO-2022-KR", + "GEORGIAN-PS", + "TIS620.2529-1", + "ECMA-118", + "CSISO2022KR", + "LATIN7", + "ISO-IR-57", + "X0208", + "HP-ROMAN8", + "EUCJP", + "ISO-IR-87", + "ISO-IR-157", + "EUC-JP", + "ISO-10646-UCS-4", + "DECKOREAN", + "ISO646-JP", + "CP1257", + "UNICODELITTLE", + "JIS0208", + "ISO-IR-127", + "MACICELAND", + "UTF-32", + "ISO-10646-UCS-2", + "EUCTW", + "EUC-TW", + "GB_2312-80", + "CSIBM866", + "CSISOLATINARABIC", + "CSISOLATINGREEK", + "CSMACINTOSH", + "CSEUCKR", + "US-ASCII", + "GEORGIAN-ACADEMY", + "MS-HEBR", + "WCHAR_T", + "UTF-32LE", + "GB18030", + "ISO8859-7", + "ISO_8859-4:1988", + "MACCENTRALEUROPE", + "ISO_8859-5:1988", + "CSISOLATIN3", + "ISO-8859-7", + "ISO_8859-7", + "CP367", + "ISO_8859-8:1988", + "ISO_8859-9:1989", + "MACROMAN", + "CSISOLATINHEBREW", + "TCVN5712-1", + "EXTENDED_UNIX_CODE_PACKED_FORMAT_FOR_JAPANESE", + "STRK1048-2002", + "WINDOWS-1256", + "ISO-2022-JP-1", + "WINDOWS-1251", + "ISO-2022-JP-MS", + "TCVN-5712", + "WINDOWS-1254", + "KS_C_5601-1987", + "WINDOWS-1255", + "CSGB2312", + "WINDOWS-1258", + "ISO-2022-JP-2", + "WINDOWS-1252", + "BIG5HKSCS", + "UNICODE-1-1-UTF-7", + "CSISO2022JP2", + "BIG5-HKSCS", + "CSKSC56011987", + "CSHPROMAN8", + "CSUNICODE11UTF7", + "SDECKANJI", + "HZ-GB-2312", + "MS-GREEK", + "MACGREEK", + "BIGFIVE", + "TIS620.2533-1", + "CN-GB", + "BIG-FIVE", + "ISO_8859-3:1988", + "NEXTSTEP", + "MACCROATIAN", + "WINDOWS-936", + "CSISO57GB1988", + "UCS-4BE", + "UTF-16BE", + "WINDOWS-1250", + "UCS-2BE", + "WINDOWS-1253", + "JIS_X0212", + "CSISO58GB231280", + "ISO-2022-JP", + "IBM367", + "IBM-CP1133", + "ISO_8859-6:1987", + "ISO_8859-1:1987", + "CSISO2022JP", + "UTF-7", + "CSPC862LATINHEBREW", + "ARABIC", + "MS_KANJI", + "JIS_X0201", + "ISO_8859-2:1987", + "UNICODEBIG", + "TIS620.2533-0", + "ASMO-708", + "CSISO87JISX0208", + "MACTURKISH", + "WINDOWS-874", + "ANSI_X3.4-1986", + "WINDOWS-1257", + "JIS_X0208", + "JISX0201-1976", + "KOI8-U", + "JAVA", + "KOI8-RU", + "JIS_X0212-1990", + "ANSI_X3.4-1968", + "HEBREW", + "CSEUCTW", + "CSHALFWIDTHKATAKANA", + "UTF-32BE", + "ISO_8859-7:2003", + "CSPC850MULTILINGUAL", + "MS-TURK", + "JIS_X0208-1990", + "JIS_X0208-1983", + "JIS_X0212.1990-0", + "MACARABIC", + "ISO_8859-7:1987", + "MACUKRAINE", + "CSEUCPKDFMTJAPANESE", + "MACROMANIA", + "BIG5-HKSCS:2001", + "BIG5-HKSCS:2004", + "JOHAB", + "BIG5-HKSCS:2008", + "BIG5-HKSCS:1999", + "MACHEBREW", + "GB18030:2022", + "TCVN5712-1:1993", + "UCS-4-SWAPPED", + "GB18030:2005", + "UCS-2-SWAPPED", + "WINBALTRIM", + "MS-ARAB" + }; +#define stringpool ((const char *) &stringpool_contents) + +static const struct alias aliases[] = + { + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 134 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str15, ei_iso8859_10}, + {-1}, +#line 60 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str17, ei_iso8859_1}, + {-1}, {-1}, +#line 289 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str20, ei_iso646_cn}, + {-1}, {-1}, {-1}, {-1}, +#line 84 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str25, ei_iso8859_4}, + {-1}, +#line 126 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str27, ei_iso8859_9}, + {-1}, {-1}, +#line 227 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str30, ei_hp_roman8}, + {-1}, {-1}, +#line 151 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str33, ei_iso8859_14}, +#line 310 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str34, ei_sjis}, + {-1}, +#line 207 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str36, ei_cp866}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 68 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str43, ei_iso8859_2}, + {-1}, {-1}, {-1}, {-1}, {-1}, +#line 337 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str49, ei_hz}, + {-1}, +#line 16 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str51, ei_ascii}, + {-1}, {-1}, +#line 205 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str54, ei_cp866}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 51 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str64, ei_c99}, +#line 252 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str65, ei_tis620}, +#line 322 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str66, ei_euc_cn}, +#line 133 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str67, ei_iso8859_10}, + {-1}, {-1}, +#line 236 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str70, ei_pt154}, +#line 59 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str71, ei_iso8859_1}, +#line 321 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str72, ei_euc_cn}, + {-1}, +#line 91 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str74, ei_iso8859_5}, + {-1}, +#line 287 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str76, ei_iso646_cn}, + {-1}, {-1}, +#line 265 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str79, ei_iso646_jp}, + {-1}, {-1}, {-1}, {-1}, +#line 189 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str84, ei_cp1256}, + {-1}, {-1}, +#line 83 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str87, ei_iso8859_4}, +#line 174 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str88, ei_cp1251}, +#line 295 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str89, ei_isoir165}, + {-1}, +#line 125 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str91, ei_iso8859_9}, +#line 203 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str92, ei_cp862}, +#line 107 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str93, ei_iso8859_7}, + {-1}, +#line 90 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str95, ei_iso8859_5}, +#line 57 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str96, ei_iso8859_1}, + {-1}, {-1}, +#line 253 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str99, ei_tis620}, + {-1}, {-1}, {-1}, +#line 150 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str103, ei_iso8859_14}, +#line 183 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str104, ei_cp1254}, +#line 292 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str105, ei_gb2312}, +#line 359 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str106, ei_cp949}, + {-1}, +#line 186 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str108, ei_cp1255}, + {-1}, +#line 201 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str110, ei_cp862}, +#line 124 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str111, ei_iso8859_9}, +#line 76 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str112, ei_iso8859_3}, +#line 158 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str113, ei_iso8859_15}, +#line 294 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str114, ei_gb2312}, +#line 300 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str115, ei_ksc5601}, + {-1}, +#line 284 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str117, ei_jisx0212}, + {-1}, +#line 163 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str119, ei_iso8859_16}, +#line 195 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str120, ei_cp1258}, + {-1}, {-1}, +#line 67 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str123, ei_iso8859_2}, +#line 102 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str124, ei_iso8859_6}, +#line 149 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str125, ei_iso8859_14}, + {-1}, {-1}, +#line 62 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str128, ei_iso8859_1}, +#line 152 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str129, ei_iso8859_14}, +#line 94 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str130, ei_iso8859_6}, +#line 95 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str131, ei_iso8859_6}, +#line 166 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str132, ei_iso8859_16}, + {-1}, +#line 53 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str134, ei_iso8859_1}, +#line 54 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str135, ei_iso8859_1}, +#line 139 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str136, ei_iso8859_11}, + {-1}, +#line 160 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str138, ei_iso8859_16}, +#line 161 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str139, ei_iso8859_16}, +#line 177 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str140, ei_cp1252}, + {-1}, +#line 137 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str142, ei_iso8859_11}, +#line 138 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str143, ei_iso8859_11}, +#line 86 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str144, ei_iso8859_4}, +#line 363 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str145, ei_johab}, +#line 162 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str146, ei_iso8859_16}, +#line 209 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str147, ei_cp1131}, +#line 93 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str148, ei_iso8859_5}, + {-1}, +#line 79 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str150, ei_iso8859_4}, +#line 80 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str151, ei_iso8859_4}, +#line 153 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str152, ei_iso8859_14}, +#line 328 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str153, ei_cp936}, +#line 87 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str154, ei_iso8859_5}, +#line 88 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str155, ei_iso8859_5}, +#line 159 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str156, ei_iso8859_15}, +#line 212 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str157, ei_mac_roman}, +#line 146 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str158, ei_iso8859_14}, +#line 147 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str159, ei_iso8859_14}, +#line 120 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str160, ei_iso8859_8}, +#line 66 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str161, ei_iso8859_2}, +#line 154 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str162, ei_iso8859_15}, +#line 155 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str163, ei_iso8859_15}, +#line 128 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str164, ei_iso8859_9}, + {-1}, +#line 114 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str166, ei_iso8859_8}, +#line 115 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str167, ei_iso8859_8}, + {-1}, {-1}, +#line 121 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str170, ei_iso8859_9}, +#line 122 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str171, ei_iso8859_9}, +#line 148 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str172, ei_iso8859_14}, +#line 234 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str173, ei_pt154}, +#line 156 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str174, ei_iso8859_15}, + {-1}, +#line 239 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str176, ei_rk1048}, + {-1}, {-1}, +#line 109 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str179, ei_iso8859_7}, +#line 70 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str180, ei_iso8859_2}, +#line 176 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str181, ei_cp1251}, +#line 206 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str182, ei_cp866}, +#line 144 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str183, ei_iso8859_13}, + {-1}, {-1}, +#line 63 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str186, ei_iso8859_2}, +#line 64 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str187, ei_iso8859_2}, + {-1}, {-1}, {-1}, {-1}, {-1}, +#line 366 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str193, ei_local_char}, + {-1}, {-1}, {-1}, +#line 74 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str197, ei_iso8859_3}, +#line 117 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str198, ei_iso8859_8}, + {-1}, {-1}, {-1}, +#line 13 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str202, ei_ascii}, +#line 167 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str203, ei_koi8_r}, +#line 356 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str204, ei_euc_kr}, +#line 165 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str205, ei_iso8859_16}, + {-1}, {-1}, {-1}, +#line 313 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str209, ei_cp932}, +#line 355 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str210, ei_euc_kr}, + {-1}, +#line 320 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str212, ei_iso2022_jpms}, + {-1}, {-1}, {-1}, +#line 168 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str216, ei_koi8_r}, +#line 173 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str217, ei_cp1250}, + {-1}, {-1}, +#line 199 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str220, ei_cp850}, + {-1}, {-1}, +#line 22 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str223, ei_ascii}, +#line 58 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str224, ei_iso8859_1}, +#line 218 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str225, ei_mac_cyrillic}, + {-1}, {-1}, +#line 256 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str228, ei_viscii}, + {-1}, {-1}, {-1}, {-1}, +#line 259 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str233, ei_tcvn}, + {-1}, {-1}, +#line 309 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str236, ei_sjis}, +#line 308 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str237, ei_sjis}, +#line 202 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str238, ei_cp862}, + {-1}, +#line 267 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str240, ei_iso646_jp}, + {-1}, +#line 254 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str242, ei_cp874}, +#line 323 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str243, ei_euc_cn}, + {-1}, +#line 21 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str245, ei_ascii}, + {-1}, +#line 258 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str247, ei_viscii}, + {-1}, {-1}, +#line 197 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str250, ei_cp850}, +#line 82 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str251, ei_iso8859_4}, +#line 348 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str252, ei_cp950}, +#line 233 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str253, ei_koi8_t}, +#line 334 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str254, ei_iso2022_cn}, +#line 266 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str255, ei_iso646_jp}, + {-1}, +#line 237 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str257, ei_pt154}, + {-1}, +#line 164 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str259, ei_iso8859_16}, +#line 360 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str260, ei_cp949}, +#line 75 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str261, ei_iso8859_3}, + {-1}, +#line 335 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str263, ei_iso2022_cn}, +#line 131 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str264, ei_iso8859_10}, + {-1}, {-1}, +#line 211 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str267, ei_mac_roman}, +#line 171 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str268, ei_cp1250}, + {-1}, {-1}, +#line 135 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str271, ei_iso8859_10}, +#line 312 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str272, ei_sjis}, +#line 142 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str273, ei_iso8859_13}, +#line 329 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str274, ei_cp936}, +#line 61 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str275, ei_iso8859_1}, +#line 247 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str276, ei_tis620}, + {-1}, +#line 180 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str278, ei_cp1253}, +#line 326 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str279, ei_euc_cn}, +#line 38 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str280, ei_utf16}, +#line 336 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str281, ei_iso2022_cn_ext}, +#line 246 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str282, ei_tis620}, +#line 33 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str283, ei_ucs4}, +#line 110 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str284, ei_iso8859_7}, + {-1}, {-1}, {-1}, {-1}, {-1}, +#line 92 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str290, ei_iso8859_5}, +#line 85 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str291, ei_iso8859_4}, + {-1}, {-1}, {-1}, +#line 127 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str295, ei_iso8859_9}, + {-1}, {-1}, {-1}, {-1}, +#line 235 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str300, ei_pt154}, +#line 35 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str301, ei_ucs4}, +#line 14 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str302, ei_ascii}, + {-1}, +#line 361 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str304, ei_cp949}, + {-1}, {-1}, {-1}, +#line 23 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str308, ei_utf8}, + {-1}, {-1}, +#line 297 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str311, ei_ksc5601}, + {-1}, {-1}, {-1}, +#line 342 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str315, ei_ces_big5}, +#line 136 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str316, ei_iso8859_10}, + {-1}, +#line 78 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str318, ei_iso8859_3}, +#line 24 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str319, ei_ucs2}, + {-1}, +#line 343 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str321, ei_ces_big5}, +#line 129 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str322, ei_iso8859_10}, +#line 130 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str323, ei_iso8859_10}, +#line 71 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str324, ei_iso8859_3}, +#line 72 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str325, ei_iso8859_3}, +#line 145 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str326, ei_iso8859_13}, +#line 69 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str327, ei_iso8859_2}, +#line 37 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str328, ei_ucs4le}, + {-1}, +#line 241 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str330, ei_rk1048}, + {-1}, +#line 140 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str332, ei_iso8859_13}, +#line 141 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str333, ei_iso8859_13}, +#line 347 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str334, ei_ces_big5}, +#line 40 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str335, ei_utf16le}, +#line 283 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str336, ei_jisx0212}, +#line 244 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str337, ei_cp1133}, +#line 327 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str338, ei_ces_gbk}, +#line 179 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str339, ei_cp1252}, +#line 346 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str340, ei_ces_big5}, +#line 56 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str341, ei_iso8859_1}, + {-1}, +#line 238 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str343, ei_pt154}, + {-1}, +#line 286 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str345, ei_iso646_cn}, +#line 31 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str346, ei_ucs2le}, + {-1}, {-1}, {-1}, +#line 285 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str350, ei_jisx0212}, +#line 29 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str351, ei_ucs2be}, + {-1}, +#line 299 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str353, ei_ksc5601}, + {-1}, +#line 242 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str355, ei_rk1048}, +#line 257 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str356, ei_viscii}, + {-1}, +#line 15 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str358, ei_ascii}, +#line 30 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str359, ei_ucs2be}, +#line 296 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str360, ei_isoir165}, +#line 26 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str361, ei_ucs2}, + {-1}, +#line 49 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str363, ei_ucs4internal}, +#line 226 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str364, ei_hp_roman8}, + {-1}, {-1}, +#line 263 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str367, ei_iso646_jp}, +#line 278 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str368, ei_jisx0208}, + {-1}, {-1}, +#line 302 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str371, ei_ksc5601}, + {-1}, {-1}, +#line 270 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str374, ei_jisx0201}, +#line 243 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str375, ei_mulelao}, + {-1}, +#line 157 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str377, ei_iso8859_15}, +#line 198 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str378, ei_cp850}, + {-1}, +#line 248 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str380, ei_tis620}, +#line 47 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str381, ei_ucs2internal}, +#line 98 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str382, ei_iso8859_6}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 224 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str389, ei_mac_thai}, +#line 111 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str390, ei_iso8859_7}, +#line 230 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str391, ei_armscii_8}, +#line 364 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str392, ei_iso2022_kr}, + {-1}, {-1}, {-1}, +#line 232 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str396, ei_georgian_ps}, +#line 249 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str397, ei_tis620}, +#line 108 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str398, ei_iso8859_7}, + {-1}, {-1}, +#line 365 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str401, ei_iso2022_kr}, + {-1}, +#line 143 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str403, ei_iso8859_13}, + {-1}, +#line 288 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str405, ei_iso646_cn}, +#line 276 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str406, ei_jisx0208}, +#line 225 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str407, ei_hp_roman8}, +#line 304 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str408, ei_euc_jp}, + {-1}, {-1}, +#line 277 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str411, ei_jisx0208}, + {-1}, +#line 132 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str413, ei_iso8859_10}, +#line 303 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str414, ei_euc_jp}, + {-1}, +#line 34 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str416, ei_ucs4}, +#line 358 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str417, ei_euc_kr}, +#line 264 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str418, ei_iso646_jp}, + {-1}, +#line 192 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str420, ei_cp1257}, +#line 32 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str421, ei_ucs2le}, + {-1}, {-1}, {-1}, {-1}, {-1}, +#line 275 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str427, ei_jisx0208}, + {-1}, +#line 97 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str429, ei_iso8859_6}, +#line 215 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str430, ei_mac_iceland}, +#line 41 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str431, ei_utf32}, + {-1}, {-1}, +#line 25 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str434, ei_ucs2}, +#line 340 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str435, ei_euc_tw}, + {-1}, {-1}, {-1}, {-1}, {-1}, +#line 339 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str441, ei_euc_tw}, +#line 291 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str442, ei_gb2312}, +#line 208 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str443, ei_cp866}, + {-1}, +#line 101 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str445, ei_iso8859_6}, + {-1}, +#line 112 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str447, ei_iso8859_7}, +#line 213 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str448, ei_mac_roman}, + {-1}, {-1}, {-1}, +#line 357 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str452, ei_euc_kr}, +#line 12 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str453, ei_ascii}, + {-1}, +#line 231 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str455, ei_georgian_academy}, +#line 188 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str456, ei_cp1255}, +#line 367 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str457, ei_local_wchar_t}, +#line 43 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str458, ei_utf32le}, +#line 331 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str459, ei_gb18030_2005}, +#line 113 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str460, ei_iso8859_7}, + {-1}, +#line 81 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str462, ei_iso8859_4}, +#line 214 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str463, ei_mac_centraleurope}, +#line 89 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str464, ei_iso8859_5}, +#line 77 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str465, ei_iso8859_3}, +#line 103 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str466, ei_iso8859_7}, +#line 104 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str467, ei_iso8859_7}, + {-1}, +#line 19 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str469, ei_ascii}, +#line 116 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str470, ei_iso8859_8}, + {-1}, {-1}, {-1}, +#line 123 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str474, ei_iso8859_9}, + {-1}, +#line 210 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str476, ei_mac_roman}, +#line 119 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str477, ei_iso8859_8}, + {-1}, {-1}, {-1}, +#line 261 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str481, ei_tcvn}, +#line 305 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str482, ei_euc_jp}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 240 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str489, ei_rk1048}, +#line 190 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str490, ei_cp1256}, +#line 316 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str491, ei_iso2022_jp1}, +#line 175 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str492, ei_cp1251}, +#line 319 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str493, ei_iso2022_jpms}, + {-1}, {-1}, {-1}, {-1}, {-1}, +#line 260 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str499, ei_tcvn}, +#line 184 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str500, ei_cp1254}, +#line 298 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str501, ei_ksc5601}, +#line 187 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str502, ei_cp1255}, + {-1}, +#line 325 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str504, ei_euc_cn}, + {-1}, {-1}, {-1}, +#line 196 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str508, ei_cp1258}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 317 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str517, ei_iso2022_jp2}, +#line 178 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str518, ei_cp1252}, + {-1}, +#line 353 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str520, ei_big5hkscs2008}, + {-1}, {-1}, +#line 45 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str523, ei_utf7}, + {-1}, +#line 318 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str525, ei_iso2022_jp2}, +#line 352 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str526, ei_big5hkscs2008}, +#line 301 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str527, ei_ksc5601}, +#line 228 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str528, ei_hp_roman8}, +#line 46 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str529, ei_utf7}, + {-1}, {-1}, +#line 307 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str532, ei_euc_jp}, + {-1}, +#line 338 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str534, ei_hz}, +#line 182 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str535, ei_cp1253}, + {-1}, {-1}, {-1}, {-1}, {-1}, +#line 220 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str541, ei_mac_greek}, +#line 345 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str542, ei_ces_big5}, +#line 251 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str543, ei_tis620}, + {-1}, {-1}, +#line 324 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str546, ei_euc_cn}, + {-1}, +#line 344 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str548, ei_ces_big5}, +#line 73 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str549, ei_iso8859_3}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, +#line 229 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str561, ei_nextstep}, +#line 216 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str562, ei_mac_croatian}, + {-1}, +#line 330 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str564, ei_cp936}, + {-1}, +#line 290 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str566, ei_iso646_cn}, + {-1}, +#line 36 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str568, ei_ucs4be}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 39 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str575, ei_utf16be}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 172 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str582, ei_cp1250}, + {-1}, {-1}, {-1}, +#line 27 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str586, ei_ucs2be}, +#line 181 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str587, ei_cp1253}, + {-1}, {-1}, +#line 280 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str590, ei_jisx0212}, + {-1}, {-1}, {-1}, {-1}, +#line 293 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str595, ei_gb2312}, +#line 314 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str596, ei_iso2022_jp}, +#line 20 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str597, ei_ascii}, +#line 245 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str598, ei_cp1133}, + {-1}, {-1}, {-1}, +#line 96 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str602, ei_iso8859_6}, + {-1}, +#line 55 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str604, ei_iso8859_1}, +#line 315 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str605, ei_iso2022_jp}, + {-1}, {-1}, +#line 44 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str608, ei_utf7}, +#line 204 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str609, ei_cp862}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 100 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str618, ei_iso8859_6}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 311 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str625, ei_sjis}, + {-1}, {-1}, +#line 268 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str628, ei_jisx0201}, + {-1}, +#line 65 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str630, ei_iso8859_2}, +#line 28 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str631, ei_ucs2be}, + {-1}, +#line 250 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str633, ei_tis620}, + {-1}, +#line 99 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str635, ei_iso8859_6}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 279 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str643, ei_jisx0208}, + {-1}, {-1}, {-1}, {-1}, +#line 221 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str648, ei_mac_turkish}, + {-1}, {-1}, {-1}, {-1}, +#line 255 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str653, ei_cp874}, + {-1}, {-1}, {-1}, +#line 18 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str657, ei_ascii}, +#line 193 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str658, ei_cp1257}, + {-1}, +#line 272 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str660, ei_jisx0208}, +#line 269 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str661, ei_jisx0201}, + {-1}, +#line 169 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str663, ei_koi8_u}, +#line 52 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str664, ei_java}, + {-1}, {-1}, {-1}, {-1}, +#line 170 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str669, ei_koi8_ru}, + {-1}, +#line 282 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str671, ei_jisx0212}, + {-1}, {-1}, {-1}, +#line 17 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str675, ei_ascii}, + {-1}, +#line 118 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str677, ei_iso8859_8}, + {-1}, {-1}, {-1}, {-1}, {-1}, +#line 341 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str683, ei_euc_tw}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 271 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str693, ei_jisx0201}, + {-1}, {-1}, {-1}, {-1}, +#line 42 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str698, ei_utf32be}, +#line 106 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str699, ei_iso8859_7}, + {-1}, {-1}, {-1}, {-1}, {-1}, +#line 200 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str705, ei_cp850}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, +#line 185 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str720, ei_cp1254}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, +#line 274 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str751, ei_jisx0208}, + {-1}, {-1}, {-1}, {-1}, +#line 273 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str756, ei_jisx0208}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 281 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str764, ei_jisx0212}, + {-1}, {-1}, {-1}, {-1}, +#line 223 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str769, ei_mac_arabic}, +#line 105 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str770, ei_iso8859_7}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 219 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str777, ei_mac_ukraine}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, +#line 306 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str798, ei_euc_jp}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, +#line 217 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str813, ei_mac_romania}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, +#line 350 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str828, ei_big5hkscs2001}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 351 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str836, ei_big5hkscs2004}, +#line 362 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str837, ei_johab}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 354 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str844, ei_big5hkscs2008}, + {-1}, +#line 349 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str846, ei_big5hkscs1999}, + {-1}, +#line 222 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str848, ei_mac_hebrew}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, +#line 333 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str861, ei_gb18030_2022}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 262 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str879, ei_tcvn}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, +#line 50 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str893, ei_ucs4swapped}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 332 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str909, ei_gb18030_2005}, + {-1}, +#line 48 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str911, ei_ucs2swapped}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 194 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str928, ei_cp1257}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 191 "lib/aliases_sysosf1.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str981, ei_cp1256} + }; + +static const struct alias * +aliases_lookup (register const char *str, register size_t len) +{ + if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) + { + register unsigned int key = aliases_hash (str, len); + + if (key <= MAX_HASH_VALUE) + { + register int o = aliases[key].name; + if (o >= 0) + { + register const char *s = o + stringpool; + + if (*str == *s && !strcmp (str + 1, s + 1)) + return &aliases[key]; + } + } + } + return 0; +} diff --git a/Externals/libiconv/lib/aliases_syssolaris.gperf b/Externals/libiconv/lib/aliases_syssolaris.gperf new file mode 100644 index 00000000000..7a753d254b0 --- /dev/null +++ b/Externals/libiconv/lib/aliases_syssolaris.gperf @@ -0,0 +1,369 @@ +struct alias { int name; unsigned int encoding_index; }; +%struct-type +%language=ANSI-C +%define hash-function-name aliases_hash +%define lookup-function-name aliases_lookup +%7bit +%readonly-tables +%global-table +%define word-array-name aliases +%pic +%% +US-ASCII, ei_ascii +ASCII, ei_ascii +ISO646-US, ei_ascii +ISO_646.IRV:1991, ei_ascii +ISO-IR-6, ei_ascii +ANSI_X3.4-1968, ei_ascii +ANSI_X3.4-1986, ei_ascii +CP367, ei_ascii +IBM367, ei_ascii +US, ei_ascii +CSASCII, ei_ascii +646, ei_ascii +UTF-8, ei_utf8 +UCS-2, ei_ucs2 +ISO-10646-UCS-2, ei_ucs2 +CSUNICODE, ei_ucs2 +UCS-2BE, ei_ucs2be +UNICODEBIG, ei_ucs2be +UNICODE-1-1, ei_ucs2be +CSUNICODE11, ei_ucs2be +UCS-2LE, ei_ucs2le +UNICODELITTLE, ei_ucs2le +UCS-4, ei_ucs4 +ISO-10646-UCS-4, ei_ucs4 +CSUCS4, ei_ucs4 +UCS-4BE, ei_ucs4be +UCS-4LE, ei_ucs4le +UTF-16, ei_utf16 +UTF-16BE, ei_utf16be +UTF-16LE, ei_utf16le +UTF-32, ei_utf32 +UTF-32BE, ei_utf32be +UTF-32LE, ei_utf32le +UTF-7, ei_utf7 +UNICODE-1-1-UTF-7, ei_utf7 +CSUNICODE11UTF7, ei_utf7 +UCS-2-INTERNAL, ei_ucs2internal +UCS-2-SWAPPED, ei_ucs2swapped +UCS-4-INTERNAL, ei_ucs4internal +UCS-4-SWAPPED, ei_ucs4swapped +C99, ei_c99 +JAVA, ei_java +ISO-8859-1, ei_iso8859_1 +ISO_8859-1, ei_iso8859_1 +ISO_8859-1:1987, ei_iso8859_1 +ISO-IR-100, ei_iso8859_1 +CP819, ei_iso8859_1 +IBM819, ei_iso8859_1 +LATIN1, ei_iso8859_1 +L1, ei_iso8859_1 +CSISOLATIN1, ei_iso8859_1 +ISO8859-1, ei_iso8859_1 +ISO-8859-2, ei_iso8859_2 +ISO_8859-2, ei_iso8859_2 +ISO_8859-2:1987, ei_iso8859_2 +ISO-IR-101, ei_iso8859_2 +LATIN2, ei_iso8859_2 +L2, ei_iso8859_2 +CSISOLATIN2, ei_iso8859_2 +ISO8859-2, ei_iso8859_2 +ISO-8859-3, ei_iso8859_3 +ISO_8859-3, ei_iso8859_3 +ISO_8859-3:1988, ei_iso8859_3 +ISO-IR-109, ei_iso8859_3 +LATIN3, ei_iso8859_3 +L3, ei_iso8859_3 +CSISOLATIN3, ei_iso8859_3 +ISO8859-3, ei_iso8859_3 +ISO-8859-4, ei_iso8859_4 +ISO_8859-4, ei_iso8859_4 +ISO_8859-4:1988, ei_iso8859_4 +ISO-IR-110, ei_iso8859_4 +LATIN4, ei_iso8859_4 +L4, ei_iso8859_4 +CSISOLATIN4, ei_iso8859_4 +ISO8859-4, ei_iso8859_4 +ISO-8859-5, ei_iso8859_5 +ISO_8859-5, ei_iso8859_5 +ISO_8859-5:1988, ei_iso8859_5 +ISO-IR-144, ei_iso8859_5 +CYRILLIC, ei_iso8859_5 +CSISOLATINCYRILLIC, ei_iso8859_5 +ISO8859-5, ei_iso8859_5 +ISO-8859-6, ei_iso8859_6 +ISO_8859-6, ei_iso8859_6 +ISO_8859-6:1987, ei_iso8859_6 +ISO-IR-127, ei_iso8859_6 +ECMA-114, ei_iso8859_6 +ASMO-708, ei_iso8859_6 +ARABIC, ei_iso8859_6 +CSISOLATINARABIC, ei_iso8859_6 +ISO8859-6, ei_iso8859_6 +ISO-8859-7, ei_iso8859_7 +ISO_8859-7, ei_iso8859_7 +ISO_8859-7:1987, ei_iso8859_7 +ISO_8859-7:2003, ei_iso8859_7 +ISO-IR-126, ei_iso8859_7 +ECMA-118, ei_iso8859_7 +ELOT_928, ei_iso8859_7 +GREEK8, ei_iso8859_7 +GREEK, ei_iso8859_7 +CSISOLATINGREEK, ei_iso8859_7 +ISO8859-7, ei_iso8859_7 +ISO-8859-8, ei_iso8859_8 +ISO_8859-8, ei_iso8859_8 +ISO_8859-8:1988, ei_iso8859_8 +ISO-IR-138, ei_iso8859_8 +HEBREW, ei_iso8859_8 +CSISOLATINHEBREW, ei_iso8859_8 +ISO8859-8, ei_iso8859_8 +ISO-8859-9, ei_iso8859_9 +ISO_8859-9, ei_iso8859_9 +ISO_8859-9:1989, ei_iso8859_9 +ISO-IR-148, ei_iso8859_9 +LATIN5, ei_iso8859_9 +L5, ei_iso8859_9 +CSISOLATIN5, ei_iso8859_9 +ISO8859-9, ei_iso8859_9 +ISO-8859-10, ei_iso8859_10 +ISO_8859-10, ei_iso8859_10 +ISO_8859-10:1992, ei_iso8859_10 +ISO-IR-157, ei_iso8859_10 +LATIN6, ei_iso8859_10 +L6, ei_iso8859_10 +CSISOLATIN6, ei_iso8859_10 +ISO8859-10, ei_iso8859_10 +ISO-8859-11, ei_iso8859_11 +ISO_8859-11, ei_iso8859_11 +ISO8859-11, ei_iso8859_11 +ISO-8859-13, ei_iso8859_13 +ISO_8859-13, ei_iso8859_13 +ISO-IR-179, ei_iso8859_13 +LATIN7, ei_iso8859_13 +L7, ei_iso8859_13 +ISO8859-13, ei_iso8859_13 +ISO-8859-14, ei_iso8859_14 +ISO_8859-14, ei_iso8859_14 +ISO_8859-14:1998, ei_iso8859_14 +ISO-IR-199, ei_iso8859_14 +LATIN8, ei_iso8859_14 +L8, ei_iso8859_14 +ISO-CELTIC, ei_iso8859_14 +ISO8859-14, ei_iso8859_14 +ISO-8859-15, ei_iso8859_15 +ISO_8859-15, ei_iso8859_15 +ISO_8859-15:1998, ei_iso8859_15 +ISO-IR-203, ei_iso8859_15 +LATIN-9, ei_iso8859_15 +ISO8859-15, ei_iso8859_15 +ISO-8859-16, ei_iso8859_16 +ISO_8859-16, ei_iso8859_16 +ISO_8859-16:2001, ei_iso8859_16 +ISO-IR-226, ei_iso8859_16 +LATIN10, ei_iso8859_16 +L10, ei_iso8859_16 +ISO8859-16, ei_iso8859_16 +KOI8-R, ei_koi8_r +CSKOI8R, ei_koi8_r +KOI8-U, ei_koi8_u +KOI8-RU, ei_koi8_ru +CP1250, ei_cp1250 +WINDOWS-1250, ei_cp1250 +MS-EE, ei_cp1250 +CP1251, ei_cp1251 +WINDOWS-1251, ei_cp1251 +MS-CYRL, ei_cp1251 +ANSI-1251, ei_cp1251 +CP1252, ei_cp1252 +WINDOWS-1252, ei_cp1252 +MS-ANSI, ei_cp1252 +CP1253, ei_cp1253 +WINDOWS-1253, ei_cp1253 +MS-GREEK, ei_cp1253 +CP1254, ei_cp1254 +WINDOWS-1254, ei_cp1254 +MS-TURK, ei_cp1254 +CP1255, ei_cp1255 +WINDOWS-1255, ei_cp1255 +MS-HEBR, ei_cp1255 +CP1256, ei_cp1256 +WINDOWS-1256, ei_cp1256 +MS-ARAB, ei_cp1256 +CP1257, ei_cp1257 +WINDOWS-1257, ei_cp1257 +WINBALTRIM, ei_cp1257 +CP1258, ei_cp1258 +WINDOWS-1258, ei_cp1258 +CP850, ei_cp850 +IBM850, ei_cp850 +850, ei_cp850 +CSPC850MULTILINGUAL, ei_cp850 +CP862, ei_cp862 +IBM862, ei_cp862 +862, ei_cp862 +CSPC862LATINHEBREW, ei_cp862 +CP866, ei_cp866 +IBM866, ei_cp866 +866, ei_cp866 +CSIBM866, ei_cp866 +CP1131, ei_cp1131 +MACROMAN, ei_mac_roman +MACINTOSH, ei_mac_roman +MAC, ei_mac_roman +CSMACINTOSH, ei_mac_roman +MACCENTRALEUROPE, ei_mac_centraleurope +MACICELAND, ei_mac_iceland +MACCROATIAN, ei_mac_croatian +MACROMANIA, ei_mac_romania +MACCYRILLIC, ei_mac_cyrillic +MACUKRAINE, ei_mac_ukraine +MACGREEK, ei_mac_greek +MACTURKISH, ei_mac_turkish +MACHEBREW, ei_mac_hebrew +MACARABIC, ei_mac_arabic +MACTHAI, ei_mac_thai +HP-ROMAN8, ei_hp_roman8 +ROMAN8, ei_hp_roman8 +R8, ei_hp_roman8 +CSHPROMAN8, ei_hp_roman8 +NEXTSTEP, ei_nextstep +ARMSCII-8, ei_armscii_8 +GEORGIAN-ACADEMY, ei_georgian_academy +GEORGIAN-PS, ei_georgian_ps +KOI8-T, ei_koi8_t +PT154, ei_pt154 +PTCP154, ei_pt154 +CP154, ei_pt154 +CYRILLIC-ASIAN, ei_pt154 +CSPTCP154, ei_pt154 +RK1048, ei_rk1048 +STRK1048-2002, ei_rk1048 +KZ-1048, ei_rk1048 +CSKZ1048, ei_rk1048 +MULELAO-1, ei_mulelao +CP1133, ei_cp1133 +IBM-CP1133, ei_cp1133 +TIS-620, ei_tis620 +TIS620, ei_tis620 +TIS620-0, ei_tis620 +TIS620.2529-1, ei_tis620 +TIS620.2533-0, ei_tis620 +TIS620.2533-1, ei_tis620 +ISO-IR-166, ei_tis620 +TIS620.2533, ei_tis620 +CP874, ei_cp874 +WINDOWS-874, ei_cp874 +VISCII, ei_viscii +VISCII1.1-1, ei_viscii +CSVISCII, ei_viscii +TCVN, ei_tcvn +TCVN-5712, ei_tcvn +TCVN5712-1, ei_tcvn +TCVN5712-1:1993, ei_tcvn +JIS_C6220-1969-RO, ei_iso646_jp +ISO646-JP, ei_iso646_jp +ISO-IR-14, ei_iso646_jp +JP, ei_iso646_jp +CSISO14JISC6220RO, ei_iso646_jp +JIS_X0201, ei_jisx0201 +JISX0201-1976, ei_jisx0201 +X0201, ei_jisx0201 +CSHALFWIDTHKATAKANA, ei_jisx0201 +JIS_X0208, ei_jisx0208 +JIS_X0208-1983, ei_jisx0208 +JIS_X0208-1990, ei_jisx0208 +JIS0208, ei_jisx0208 +X0208, ei_jisx0208 +ISO-IR-87, ei_jisx0208 +JIS_C6226-1983, ei_jisx0208 +CSISO87JISX0208, ei_jisx0208 +JIS_X0212, ei_jisx0212 +JIS_X0212.1990-0, ei_jisx0212 +JIS_X0212-1990, ei_jisx0212 +X0212, ei_jisx0212 +ISO-IR-159, ei_jisx0212 +CSISO159JISX02121990, ei_jisx0212 +GB_1988-80, ei_iso646_cn +ISO646-CN, ei_iso646_cn +ISO-IR-57, ei_iso646_cn +CN, ei_iso646_cn +CSISO57GB1988, ei_iso646_cn +GB_2312-80, ei_gb2312 +ISO-IR-58, ei_gb2312 +CSISO58GB231280, ei_gb2312 +CHINESE, ei_gb2312 +ISO-IR-165, ei_isoir165 +CN-GB-ISOIR165, ei_isoir165 +KSC_5601, ei_ksc5601 +KS_C_5601-1987, ei_ksc5601 +KS_C_5601-1989, ei_ksc5601 +ISO-IR-149, ei_ksc5601 +CSKSC56011987, ei_ksc5601 +KOREAN, ei_ksc5601 +EUC-JP, ei_euc_jp +EUCJP, ei_euc_jp +EXTENDED_UNIX_CODE_PACKED_FORMAT_FOR_JAPANESE, ei_euc_jp +CSEUCPKDFMTJAPANESE, ei_euc_jp +SHIFT_JIS, ei_sjis +SHIFT-JIS, ei_sjis +SJIS, ei_sjis +MS_KANJI, ei_sjis +CSSHIFTJIS, ei_sjis +PCK, ei_sjis +CP932, ei_cp932 +ISO-2022-JP, ei_iso2022_jp +CSISO2022JP, ei_iso2022_jp +ISO-2022-JP-1, ei_iso2022_jp1 +ISO-2022-JP-2, ei_iso2022_jp2 +CSISO2022JP2, ei_iso2022_jp2 +ISO-2022-JP-MS, ei_iso2022_jpms +CP50221, ei_iso2022_jpms +EUC-CN, ei_euc_cn +EUCCN, ei_euc_cn +GB2312, ei_euc_cn +CN-GB, ei_euc_cn +CSGB2312, ei_euc_cn +GBK, ei_ces_gbk +CP936, ei_cp936 +MS936, ei_cp936 +WINDOWS-936, ei_cp936 +GB18030, ei_gb18030_2005 +GB18030:2005, ei_gb18030_2005 +GB18030:2022, ei_gb18030_2022 +ISO-2022-CN, ei_iso2022_cn +CSISO2022CN, ei_iso2022_cn +ISO-2022-CN-EXT, ei_iso2022_cn_ext +HZ, ei_hz +HZ-GB-2312, ei_hz +EUC-TW, ei_euc_tw +EUCTW, ei_euc_tw +CSEUCTW, ei_euc_tw +CNS11643, ei_euc_tw +BIG5, ei_ces_big5 +BIG-5, ei_ces_big5 +BIG-FIVE, ei_ces_big5 +BIGFIVE, ei_ces_big5 +CN-BIG5, ei_ces_big5 +CSBIG5, ei_ces_big5 +CP950, ei_cp950 +BIG5-HKSCS:1999, ei_big5hkscs1999 +BIG5-HKSCS:2001, ei_big5hkscs2001 +BIG5-HKSCS:2004, ei_big5hkscs2004 +BIG5-HKSCS, ei_big5hkscs2008 +BIG5HKSCS, ei_big5hkscs2008 +BIG5-HKSCS:2008, ei_big5hkscs2008 +EUC-KR, ei_euc_kr +EUCKR, ei_euc_kr +CSEUCKR, ei_euc_kr +5601, ei_euc_kr +CP949, ei_cp949 +UHC, ei_cp949 +JOHAB, ei_johab +CP1361, ei_johab +KO_KR.JOHAP92, ei_johab +ISO-2022-KR, ei_iso2022_kr +CSISO2022KR, ei_iso2022_kr +CHAR, ei_local_char +WCHAR_T, ei_local_wchar_t diff --git a/Externals/libiconv/lib/aliases_syssolaris.h b/Externals/libiconv/lib/aliases_syssolaris.h new file mode 100644 index 00000000000..179ff8b551b --- /dev/null +++ b/Externals/libiconv/lib/aliases_syssolaris.h @@ -0,0 +1,1823 @@ +/* ANSI-C code produced by gperf version 3.2 */ +/* Command-line: gperf -m 10 lib/aliases_syssolaris.gperf */ +/* Computed positions: -k'1,3-11,$' */ + +#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \ + && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \ + && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \ + && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \ + && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \ + && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \ + && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \ + && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \ + && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \ + && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \ + && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \ + && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \ + && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \ + && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \ + && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \ + && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \ + && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \ + && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \ + && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \ + && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \ + && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \ + && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \ + && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126)) +/* The character set is not based on ISO-646. */ +#error "gperf generated tables don't work with this execution character set. Please report a bug to ." +#endif + +#line 1 "lib/aliases_syssolaris.gperf" +struct alias { int name; unsigned int encoding_index; }; + +#define TOTAL_KEYWORDS 358 +#define MIN_WORD_LENGTH 2 +#define MAX_WORD_LENGTH 45 +#define MIN_HASH_VALUE 8 +#define MAX_HASH_VALUE 1014 +/* maximum key range = 1007, duplicates = 0 */ + +#ifdef __GNUC__ +__inline +#else +#ifdef __cplusplus +inline +#endif +#endif +static unsigned int +aliases_hash (register const char *str, register size_t len) +{ + static const unsigned short asso_values[] = + { + 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, + 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, + 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, + 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, + 1015, 1015, 1015, 1015, 1015, 10, 212, 1015, 34, 2, + 8, 85, 31, 4, 3, 170, 6, 7, 285, 1015, + 1015, 1015, 1015, 1015, 1015, 26, 164, 2, 39, 78, + 190, 98, 118, 2, 168, 103, 149, 143, 4, 2, + 139, 1015, 40, 64, 28, 123, 106, 162, 284, 5, + 4, 1015, 1015, 1015, 1015, 82, 1015, 1015, 1015, 1015, + 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, + 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, + 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015 + }; + register unsigned int hval = len; + + switch (hval) + { + default: + hval += asso_values[(unsigned char)str[10]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif + /*FALLTHROUGH*/ + case 10: + hval += asso_values[(unsigned char)str[9]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif + /*FALLTHROUGH*/ + case 9: + hval += asso_values[(unsigned char)str[8]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif + /*FALLTHROUGH*/ + case 8: + hval += asso_values[(unsigned char)str[7]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif + /*FALLTHROUGH*/ + case 7: + hval += asso_values[(unsigned char)str[6]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif + /*FALLTHROUGH*/ + case 6: + hval += asso_values[(unsigned char)str[5]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif + /*FALLTHROUGH*/ + case 5: + hval += asso_values[(unsigned char)str[4]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif + /*FALLTHROUGH*/ + case 4: + hval += asso_values[(unsigned char)str[3]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif + /*FALLTHROUGH*/ + case 3: + hval += asso_values[(unsigned char)str[2]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif + /*FALLTHROUGH*/ + case 2: + case 1: + hval += asso_values[(unsigned char)str[0]]; + break; + } + return hval + asso_values[(unsigned char)str[len - 1]]; +} + +struct stringpool_t + { + char stringpool_str8[sizeof("CN")]; + char stringpool_str12[sizeof("646")]; + char stringpool_str15[sizeof("866")]; + char stringpool_str19[sizeof("C99")]; + char stringpool_str22[sizeof("CP866")]; + char stringpool_str25[sizeof("862")]; + char stringpool_str26[sizeof("CP1251")]; + char stringpool_str28[sizeof("CP1256")]; + char stringpool_str29[sizeof("CP819")]; + char stringpool_str30[sizeof("CP1255")]; + char stringpool_str32[sizeof("CP862")]; + char stringpool_str34[sizeof("CP1258")]; + char stringpool_str38[sizeof("CP1252")]; + char stringpool_str39[sizeof("ASCII")]; + char stringpool_str46[sizeof("5601")]; + char stringpool_str48[sizeof("R8")]; + char stringpool_str50[sizeof("ISO8859-1")]; + char stringpool_str52[sizeof("ISO8859-6")]; + char stringpool_str53[sizeof("ISO8859-11")]; + char stringpool_str54[sizeof("ISO8859-5")]; + char stringpool_str55[sizeof("ISO8859-16")]; + char stringpool_str57[sizeof("ISO8859-15")]; + char stringpool_str58[sizeof("ISO8859-8")]; + char stringpool_str59[sizeof("CP949")]; + char stringpool_str60[sizeof("ISO8859-9")]; + char stringpool_str61[sizeof("ISO-8859-1")]; + char stringpool_str62[sizeof("ISO8859-2")]; + char stringpool_str63[sizeof("ISO-8859-6")]; + char stringpool_str64[sizeof("ISO-8859-11")]; + char stringpool_str65[sizeof("ISO-8859-5")]; + char stringpool_str66[sizeof("ISO-8859-16")]; + char stringpool_str67[sizeof("CP50221")]; + char stringpool_str68[sizeof("ISO-8859-15")]; + char stringpool_str69[sizeof("ISO-8859-8")]; + char stringpool_str70[sizeof("ISO646-CN")]; + char stringpool_str71[sizeof("ISO-8859-9")]; + char stringpool_str73[sizeof("ISO-8859-2")]; + char stringpool_str75[sizeof("CP154")]; + char stringpool_str77[sizeof("850")]; + char stringpool_str80[sizeof("ISO-IR-6")]; + char stringpool_str84[sizeof("CP1254")]; + char stringpool_str85[sizeof("CP850")]; + char stringpool_str86[sizeof("CP950")]; + char stringpool_str87[sizeof("ISO-IR-166")]; + char stringpool_str89[sizeof("ISO-IR-165")]; + char stringpool_str90[sizeof("CP1250")]; + char stringpool_str91[sizeof("ISO-IR-58")]; + char stringpool_str92[sizeof("ISO-IR-126")]; + char stringpool_str95[sizeof("EUCCN")]; + char stringpool_str96[sizeof("ISO-IR-159")]; + char stringpool_str98[sizeof("ISO-IR-226")]; + char stringpool_str99[sizeof("ISO-IR-199")]; + char stringpool_str101[sizeof("CP1131")]; + char stringpool_str102[sizeof("CP1361")]; + char stringpool_str103[sizeof("ISO-2022-CN")]; + char stringpool_str105[sizeof("CP936")]; + char stringpool_str106[sizeof("EUC-CN")]; + char stringpool_str107[sizeof("CSASCII")]; + char stringpool_str108[sizeof("ISO8859-4")]; + char stringpool_str111[sizeof("ISO8859-14")]; + char stringpool_str112[sizeof("CHAR")]; + char stringpool_str115[sizeof("CP932")]; + char stringpool_str116[sizeof("ISO-IR-101")]; + char stringpool_str117[sizeof("ISO8859-10")]; + char stringpool_str119[sizeof("ISO-8859-4")]; + char stringpool_str121[sizeof("ISO-IR-148")]; + char stringpool_str122[sizeof("ISO-8859-14")]; + char stringpool_str123[sizeof("ISO-IR-149")]; + char stringpool_str124[sizeof("HZ")]; + char stringpool_str125[sizeof("RK1048")]; + char stringpool_str126[sizeof("ISO-IR-109")]; + char stringpool_str128[sizeof("ISO-8859-10")]; + char stringpool_str129[sizeof("ANSI-1251")]; + char stringpool_str130[sizeof("UHC")]; + char stringpool_str131[sizeof("ISO-2022-CN-EXT")]; + char stringpool_str133[sizeof("ISO_8859-1")]; + char stringpool_str135[sizeof("ISO_8859-6")]; + char stringpool_str136[sizeof("ISO_8859-11")]; + char stringpool_str137[sizeof("ISO_8859-5")]; + char stringpool_str138[sizeof("ISO_8859-16")]; + char stringpool_str139[sizeof("ISO-IR-14")]; + char stringpool_str140[sizeof("ISO_8859-15")]; + char stringpool_str141[sizeof("ISO_8859-8")]; + char stringpool_str142[sizeof("ISO_8859-16:2001")]; + char stringpool_str143[sizeof("ISO_8859-9")]; + char stringpool_str145[sizeof("ISO_8859-2")]; + char stringpool_str146[sizeof("TCVN")]; + char stringpool_str147[sizeof("ISO_8859-15:1998")]; + char stringpool_str148[sizeof("ISO-IR-110")]; + char stringpool_str149[sizeof("CSISO2022CN")]; + char stringpool_str150[sizeof("MAC")]; + char stringpool_str153[sizeof("L1")]; + char stringpool_str154[sizeof("L6")]; + char stringpool_str155[sizeof("L5")]; + char stringpool_str157[sizeof("L8")]; + char stringpool_str159[sizeof("L2")]; + char stringpool_str166[sizeof("IBM866")]; + char stringpool_str171[sizeof("ISO-IR-144")]; + char stringpool_str173[sizeof("IBM819")]; + char stringpool_str174[sizeof("ISO_8859-14:1998")]; + char stringpool_str175[sizeof("ISO-IR-138")]; + char stringpool_str176[sizeof("IBM862")]; + char stringpool_str177[sizeof("TIS620")]; + char stringpool_str179[sizeof("ISO_8859-10:1992")]; + char stringpool_str180[sizeof("ISO-IR-100")]; + char stringpool_str182[sizeof("L4")]; + char stringpool_str183[sizeof("KOI8-T")]; + char stringpool_str184[sizeof("VISCII")]; + char stringpool_str188[sizeof("TIS-620")]; + char stringpool_str189[sizeof("US")]; + char stringpool_str190[sizeof("CSVISCII")]; + char stringpool_str191[sizeof("ISO_8859-4")]; + char stringpool_str192[sizeof("CP1253")]; + char stringpool_str193[sizeof("LATIN1")]; + char stringpool_str194[sizeof("ISO_8859-14")]; + char stringpool_str195[sizeof("LATIN6")]; + char stringpool_str196[sizeof("CSKZ1048")]; + char stringpool_str197[sizeof("LATIN5")]; + char stringpool_str198[sizeof("SJIS")]; + char stringpool_str199[sizeof("KZ-1048")]; + char stringpool_str200[sizeof("ISO_8859-10")]; + char stringpool_str201[sizeof("LATIN8")]; + char stringpool_str202[sizeof("CSKOI8R")]; + char stringpool_str205[sizeof("LATIN2")]; + char stringpool_str207[sizeof("KOI8-R")]; + char stringpool_str212[sizeof("PT154")]; + char stringpool_str214[sizeof("LATIN-9")]; + char stringpool_str215[sizeof("GB2312")]; + char stringpool_str216[sizeof("ISO8859-3")]; + char stringpool_str218[sizeof("UCS-2")]; + char stringpool_str219[sizeof("ISO8859-13")]; + char stringpool_str220[sizeof("L10")]; + char stringpool_str223[sizeof("TIS620-0")]; + char stringpool_str225[sizeof("ELOT_928")]; + char stringpool_str227[sizeof("ISO-8859-3")]; + char stringpool_str228[sizeof("ARABIC")]; + char stringpool_str229[sizeof("IBM850")]; + char stringpool_str230[sizeof("ISO-8859-13")]; + char stringpool_str231[sizeof("ROMAN8")]; + char stringpool_str236[sizeof("L3")]; + char stringpool_str239[sizeof("US-ASCII")]; + char stringpool_str240[sizeof("KSC_5601")]; + char stringpool_str243[sizeof("ISO-10646-UCS-2")]; + char stringpool_str245[sizeof("CP874")]; + char stringpool_str246[sizeof("MS936")]; + char stringpool_str251[sizeof("LATIN4")]; + char stringpool_str258[sizeof("MS-ANSI")]; + char stringpool_str259[sizeof("CSUCS4")]; + char stringpool_str260[sizeof("LATIN10")]; + char stringpool_str261[sizeof("KOREAN")]; + char stringpool_str262[sizeof("ISO-IR-179")]; + char stringpool_str264[sizeof("UCS-4")]; + char stringpool_str266[sizeof("ISO-10646-UCS-4")]; + char stringpool_str267[sizeof("CP1133")]; + char stringpool_str268[sizeof("EUCKR")]; + char stringpool_str269[sizeof("CSUNICODE11")]; + char stringpool_str270[sizeof("ARMSCII-8")]; + char stringpool_str274[sizeof("BIG5")]; + char stringpool_str276[sizeof("ISO-2022-KR")]; + char stringpool_str279[sizeof("EUC-KR")]; + char stringpool_str280[sizeof("CSBIG5")]; + char stringpool_str281[sizeof("ECMA-118")]; + char stringpool_str282[sizeof("CNS11643")]; + char stringpool_str283[sizeof("UNICODE-1-1")]; + char stringpool_str285[sizeof("BIG-5")]; + char stringpool_str287[sizeof("ISO-CELTIC")]; + char stringpool_str288[sizeof("ISO-IR-203")]; + char stringpool_str290[sizeof("MACCROATIAN")]; + char stringpool_str291[sizeof("CN-BIG5")]; + char stringpool_str294[sizeof("CSISOLATIN1")]; + char stringpool_str295[sizeof("GB_1988-80")]; + char stringpool_str296[sizeof("CSISOLATIN6")]; + char stringpool_str298[sizeof("CSISOLATIN5")]; + char stringpool_str299[sizeof("ISO_8859-3")]; + char stringpool_str300[sizeof("GB18030")]; + char stringpool_str301[sizeof("CSISOLATINCYRILLIC")]; + char stringpool_str302[sizeof("ISO_8859-13")]; + char stringpool_str306[sizeof("CSISOLATIN2")]; + char stringpool_str307[sizeof("GBK")]; + char stringpool_str309[sizeof("JP")]; + char stringpool_str311[sizeof("ISO646-US")]; + char stringpool_str313[sizeof("CHINESE")]; + char stringpool_str315[sizeof("X0212")]; + char stringpool_str321[sizeof("L7")]; + char stringpool_str322[sizeof("CSISO2022KR")]; + char stringpool_str323[sizeof("CSISOLATINARABIC")]; + char stringpool_str327[sizeof("JIS0208")]; + char stringpool_str328[sizeof("MACTHAI")]; + char stringpool_str329[sizeof("GEORGIAN-ACADEMY")]; + char stringpool_str330[sizeof("JAVA")]; + char stringpool_str331[sizeof("ECMA-114")]; + char stringpool_str334[sizeof("CSIBM866")]; + char stringpool_str335[sizeof("X0201")]; + char stringpool_str337[sizeof("UTF-16")]; + char stringpool_str339[sizeof("CSUNICODE")]; + char stringpool_str340[sizeof("UTF-8")]; + char stringpool_str343[sizeof("X0208")]; + char stringpool_str345[sizeof("KS_C_5601-1989")]; + char stringpool_str346[sizeof("TCVN5712-1")]; + char stringpool_str348[sizeof("PCK")]; + char stringpool_str349[sizeof("TCVN-5712")]; + char stringpool_str352[sizeof("CSISOLATIN4")]; + char stringpool_str353[sizeof("STRK1048-2002")]; + char stringpool_str355[sizeof("PTCP154")]; + char stringpool_str356[sizeof("CYRILLIC")]; + char stringpool_str358[sizeof("CSISO14JISC6220RO")]; + char stringpool_str359[sizeof("LATIN3")]; + char stringpool_str362[sizeof("CP1257")]; + char stringpool_str364[sizeof("HP-ROMAN8")]; + char stringpool_str371[sizeof("CSISO159JISX02121990")]; + char stringpool_str372[sizeof("MACROMAN")]; + char stringpool_str373[sizeof("KOI8-U")]; + char stringpool_str375[sizeof("GREEK8")]; + char stringpool_str377[sizeof("GB_2312-80")]; + char stringpool_str383[sizeof("CSGB2312")]; + char stringpool_str386[sizeof("ISO8859-7")]; + char stringpool_str387[sizeof("CSPTCP154")]; + char stringpool_str391[sizeof("TIS620.2529-1")]; + char stringpool_str392[sizeof("MS-EE")]; + char stringpool_str395[sizeof("CSEUCKR")]; + char stringpool_str397[sizeof("ISO-8859-7")]; + char stringpool_str400[sizeof("JIS_C6220-1969-RO")]; + char stringpool_str404[sizeof("ISO-2022-JP-1")]; + char stringpool_str405[sizeof("ASMO-708")]; + char stringpool_str406[sizeof("CSKSC56011987")]; + char stringpool_str410[sizeof("ISO-2022-JP-2")]; + char stringpool_str412[sizeof("CN-GB-ISOIR165")]; + char stringpool_str414[sizeof("KOI8-RU")]; + char stringpool_str416[sizeof("MACARABIC")]; + char stringpool_str417[sizeof("VISCII1.1-1")]; + char stringpool_str419[sizeof("ISO-IR-57")]; + char stringpool_str421[sizeof("ISO-IR-87")]; + char stringpool_str422[sizeof("ISO-IR-157")]; + char stringpool_str424[sizeof("MACROMANIA")]; + char stringpool_str426[sizeof("ISO-IR-127")]; + char stringpool_str429[sizeof("ISO_8859-5:1988")]; + char stringpool_str430[sizeof("UTF-32")]; + char stringpool_str431[sizeof("ISO_8859-8:1988")]; + char stringpool_str433[sizeof("ISO_8859-9:1989")]; + char stringpool_str435[sizeof("CP367")]; + char stringpool_str437[sizeof("EUCTW")]; + char stringpool_str441[sizeof("CSUNICODE11UTF7")]; + char stringpool_str443[sizeof("CN-GB")]; + char stringpool_str448[sizeof("EUC-TW")]; + char stringpool_str449[sizeof("JIS_C6226-1983")]; + char stringpool_str455[sizeof("CSISO2022JP2")]; + char stringpool_str456[sizeof("ISO_8859-4:1988")]; + char stringpool_str457[sizeof("UNICODE-1-1-UTF-7")]; + char stringpool_str460[sizeof("CSISOLATIN3")]; + char stringpool_str464[sizeof("CYRILLIC-ASIAN")]; + char stringpool_str465[sizeof("GREEK")]; + char stringpool_str467[sizeof("ISO-2022-JP-MS")]; + char stringpool_str469[sizeof("ISO_8859-7")]; + char stringpool_str471[sizeof("WINDOWS-1251")]; + char stringpool_str472[sizeof("WINDOWS-1256")]; + char stringpool_str473[sizeof("WINDOWS-1255")]; + char stringpool_str475[sizeof("WINDOWS-1258")]; + char stringpool_str477[sizeof("WINDOWS-1252")]; + char stringpool_str484[sizeof("CSISO58GB231280")]; + char stringpool_str490[sizeof("MACINTOSH")]; + char stringpool_str491[sizeof("WCHAR_T")]; + char stringpool_str494[sizeof("MACICELAND")]; + char stringpool_str495[sizeof("CSISOLATINGREEK")]; + char stringpool_str496[sizeof("CSHPROMAN8")]; + char stringpool_str500[sizeof("WINDOWS-1254")]; + char stringpool_str501[sizeof("ISO_646.IRV:1991")]; + char stringpool_str503[sizeof("WINDOWS-1250")]; + char stringpool_str505[sizeof("MS-CYRL")]; + char stringpool_str506[sizeof("ISO646-JP")]; + char stringpool_str508[sizeof("KS_C_5601-1987")]; + char stringpool_str509[sizeof("MACCYRILLIC")]; + char stringpool_str510[sizeof("ISO_8859-3:1988")]; + char stringpool_str517[sizeof("UCS-2LE")]; + char stringpool_str520[sizeof("CSMACINTOSH")]; + char stringpool_str521[sizeof("HZ-GB-2312")]; + char stringpool_str529[sizeof("LATIN7")]; + char stringpool_str530[sizeof("UCS-2-INTERNAL")]; + char stringpool_str531[sizeof("EUCJP")]; + char stringpool_str532[sizeof("UCS-2BE")]; + char stringpool_str534[sizeof("CSISO57GB1988")]; + char stringpool_str538[sizeof("MS_KANJI")]; + char stringpool_str539[sizeof("ISO-2022-JP")]; + char stringpool_str540[sizeof("UCS-4LE")]; + char stringpool_str542[sizeof("EUC-JP")]; + char stringpool_str544[sizeof("UNICODELITTLE")]; + char stringpool_str545[sizeof("CSPC862LATINHEBREW")]; + char stringpool_str546[sizeof("TIS620.2533-1")]; + char stringpool_str552[sizeof("WINDOWS-936")]; + char stringpool_str553[sizeof("UCS-4-INTERNAL")]; + char stringpool_str554[sizeof("WINDOWS-1253")]; + char stringpool_str555[sizeof("UCS-4BE")]; + char stringpool_str557[sizeof("MS-TURK")]; + char stringpool_str558[sizeof("GEORGIAN-PS")]; + char stringpool_str564[sizeof("CSEUCTW")]; + char stringpool_str565[sizeof("IBM-CP1133")]; + char stringpool_str570[sizeof("MULELAO-1")]; + char stringpool_str575[sizeof("CSISOLATINHEBREW")]; + char stringpool_str578[sizeof("TIS620.2533-0")]; + char stringpool_str579[sizeof("IBM367")]; + char stringpool_str580[sizeof("MS-ARAB")]; + char stringpool_str585[sizeof("CSISO2022JP")]; + char stringpool_str591[sizeof("ISO_8859-1:1987")]; + char stringpool_str592[sizeof("ISO_8859-6:1987")]; + char stringpool_str597[sizeof("ISO_8859-2:1987")]; + char stringpool_str600[sizeof("MS-HEBR")]; + char stringpool_str601[sizeof("SHIFT-JIS")]; + char stringpool_str609[sizeof("MACUKRAINE")]; + char stringpool_str614[sizeof("GB18030:2022")]; + char stringpool_str618[sizeof("UNICODEBIG")]; + char stringpool_str627[sizeof("TIS620.2533")]; + char stringpool_str629[sizeof("JISX0201-1976")]; + char stringpool_str636[sizeof("GB18030:2005")]; + char stringpool_str639[sizeof("WINDOWS-1257")]; + char stringpool_str641[sizeof("UTF-16LE")]; + char stringpool_str644[sizeof("MACCENTRALEUROPE")]; + char stringpool_str645[sizeof("JOHAB")]; + char stringpool_str653[sizeof("MACGREEK")]; + char stringpool_str656[sizeof("UTF-16BE")]; + char stringpool_str661[sizeof("MS-GREEK")]; + char stringpool_str667[sizeof("JIS_X0212")]; + char stringpool_str668[sizeof("UTF-7")]; + char stringpool_str673[sizeof("SHIFT_JIS")]; + char stringpool_str674[sizeof("ISO_8859-7:2003")]; + char stringpool_str676[sizeof("EXTENDED_UNIX_CODE_PACKED_FORMAT_FOR_JAPANESE")]; + char stringpool_str687[sizeof("JIS_X0201")]; + char stringpool_str690[sizeof("BIG5HKSCS")]; + char stringpool_str692[sizeof("WINDOWS-874")]; + char stringpool_str695[sizeof("JIS_X0208")]; + char stringpool_str701[sizeof("BIG5-HKSCS")]; + char stringpool_str710[sizeof("JIS_X0212-1990")]; + char stringpool_str712[sizeof("CSSHIFTJIS")]; + char stringpool_str719[sizeof("TCVN5712-1:1993")]; + char stringpool_str723[sizeof("BIGFIVE")]; + char stringpool_str729[sizeof("UTF-32LE")]; + char stringpool_str730[sizeof("HEBREW")]; + char stringpool_str734[sizeof("BIG-FIVE")]; + char stringpool_str740[sizeof("JIS_X0208-1990")]; + char stringpool_str744[sizeof("UTF-32BE")]; + char stringpool_str751[sizeof("MACTURKISH")]; + char stringpool_str759[sizeof("ISO_8859-7:1987")]; + char stringpool_str772[sizeof("NEXTSTEP")]; + char stringpool_str785[sizeof("CSISO87JISX0208")]; + char stringpool_str791[sizeof("JIS_X0208-1983")]; + char stringpool_str797[sizeof("UCS-2-SWAPPED")]; + char stringpool_str798[sizeof("CSPC850MULTILINGUAL")]; + char stringpool_str815[sizeof("ANSI_X3.4-1986")]; + char stringpool_str818[sizeof("ANSI_X3.4-1968")]; + char stringpool_str820[sizeof("UCS-4-SWAPPED")]; + char stringpool_str871[sizeof("WINBALTRIM")]; + char stringpool_str879[sizeof("CSHALFWIDTHKATAKANA")]; + char stringpool_str914[sizeof("JIS_X0212.1990-0")]; + char stringpool_str929[sizeof("BIG5-HKSCS:2001")]; + char stringpool_str933[sizeof("BIG5-HKSCS:2008")]; + char stringpool_str934[sizeof("BIG5-HKSCS:1999")]; + char stringpool_str944[sizeof("CSEUCPKDFMTJAPANESE")]; + char stringpool_str956[sizeof("MACHEBREW")]; + char stringpool_str958[sizeof("BIG5-HKSCS:2004")]; + char stringpool_str1014[sizeof("KO_KR.JOHAP92")]; + }; +static const struct stringpool_t stringpool_contents = + { + "CN", + "646", + "866", + "C99", + "CP866", + "862", + "CP1251", + "CP1256", + "CP819", + "CP1255", + "CP862", + "CP1258", + "CP1252", + "ASCII", + "5601", + "R8", + "ISO8859-1", + "ISO8859-6", + "ISO8859-11", + "ISO8859-5", + "ISO8859-16", + "ISO8859-15", + "ISO8859-8", + "CP949", + "ISO8859-9", + "ISO-8859-1", + "ISO8859-2", + "ISO-8859-6", + "ISO-8859-11", + "ISO-8859-5", + "ISO-8859-16", + "CP50221", + "ISO-8859-15", + "ISO-8859-8", + "ISO646-CN", + "ISO-8859-9", + "ISO-8859-2", + "CP154", + "850", + "ISO-IR-6", + "CP1254", + "CP850", + "CP950", + "ISO-IR-166", + "ISO-IR-165", + "CP1250", + "ISO-IR-58", + "ISO-IR-126", + "EUCCN", + "ISO-IR-159", + "ISO-IR-226", + "ISO-IR-199", + "CP1131", + "CP1361", + "ISO-2022-CN", + "CP936", + "EUC-CN", + "CSASCII", + "ISO8859-4", + "ISO8859-14", + "CHAR", + "CP932", + "ISO-IR-101", + "ISO8859-10", + "ISO-8859-4", + "ISO-IR-148", + "ISO-8859-14", + "ISO-IR-149", + "HZ", + "RK1048", + "ISO-IR-109", + "ISO-8859-10", + "ANSI-1251", + "UHC", + "ISO-2022-CN-EXT", + "ISO_8859-1", + "ISO_8859-6", + "ISO_8859-11", + "ISO_8859-5", + "ISO_8859-16", + "ISO-IR-14", + "ISO_8859-15", + "ISO_8859-8", + "ISO_8859-16:2001", + "ISO_8859-9", + "ISO_8859-2", + "TCVN", + "ISO_8859-15:1998", + "ISO-IR-110", + "CSISO2022CN", + "MAC", + "L1", + "L6", + "L5", + "L8", + "L2", + "IBM866", + "ISO-IR-144", + "IBM819", + "ISO_8859-14:1998", + "ISO-IR-138", + "IBM862", + "TIS620", + "ISO_8859-10:1992", + "ISO-IR-100", + "L4", + "KOI8-T", + "VISCII", + "TIS-620", + "US", + "CSVISCII", + "ISO_8859-4", + "CP1253", + "LATIN1", + "ISO_8859-14", + "LATIN6", + "CSKZ1048", + "LATIN5", + "SJIS", + "KZ-1048", + "ISO_8859-10", + "LATIN8", + "CSKOI8R", + "LATIN2", + "KOI8-R", + "PT154", + "LATIN-9", + "GB2312", + "ISO8859-3", + "UCS-2", + "ISO8859-13", + "L10", + "TIS620-0", + "ELOT_928", + "ISO-8859-3", + "ARABIC", + "IBM850", + "ISO-8859-13", + "ROMAN8", + "L3", + "US-ASCII", + "KSC_5601", + "ISO-10646-UCS-2", + "CP874", + "MS936", + "LATIN4", + "MS-ANSI", + "CSUCS4", + "LATIN10", + "KOREAN", + "ISO-IR-179", + "UCS-4", + "ISO-10646-UCS-4", + "CP1133", + "EUCKR", + "CSUNICODE11", + "ARMSCII-8", + "BIG5", + "ISO-2022-KR", + "EUC-KR", + "CSBIG5", + "ECMA-118", + "CNS11643", + "UNICODE-1-1", + "BIG-5", + "ISO-CELTIC", + "ISO-IR-203", + "MACCROATIAN", + "CN-BIG5", + "CSISOLATIN1", + "GB_1988-80", + "CSISOLATIN6", + "CSISOLATIN5", + "ISO_8859-3", + "GB18030", + "CSISOLATINCYRILLIC", + "ISO_8859-13", + "CSISOLATIN2", + "GBK", + "JP", + "ISO646-US", + "CHINESE", + "X0212", + "L7", + "CSISO2022KR", + "CSISOLATINARABIC", + "JIS0208", + "MACTHAI", + "GEORGIAN-ACADEMY", + "JAVA", + "ECMA-114", + "CSIBM866", + "X0201", + "UTF-16", + "CSUNICODE", + "UTF-8", + "X0208", + "KS_C_5601-1989", + "TCVN5712-1", + "PCK", + "TCVN-5712", + "CSISOLATIN4", + "STRK1048-2002", + "PTCP154", + "CYRILLIC", + "CSISO14JISC6220RO", + "LATIN3", + "CP1257", + "HP-ROMAN8", + "CSISO159JISX02121990", + "MACROMAN", + "KOI8-U", + "GREEK8", + "GB_2312-80", + "CSGB2312", + "ISO8859-7", + "CSPTCP154", + "TIS620.2529-1", + "MS-EE", + "CSEUCKR", + "ISO-8859-7", + "JIS_C6220-1969-RO", + "ISO-2022-JP-1", + "ASMO-708", + "CSKSC56011987", + "ISO-2022-JP-2", + "CN-GB-ISOIR165", + "KOI8-RU", + "MACARABIC", + "VISCII1.1-1", + "ISO-IR-57", + "ISO-IR-87", + "ISO-IR-157", + "MACROMANIA", + "ISO-IR-127", + "ISO_8859-5:1988", + "UTF-32", + "ISO_8859-8:1988", + "ISO_8859-9:1989", + "CP367", + "EUCTW", + "CSUNICODE11UTF7", + "CN-GB", + "EUC-TW", + "JIS_C6226-1983", + "CSISO2022JP2", + "ISO_8859-4:1988", + "UNICODE-1-1-UTF-7", + "CSISOLATIN3", + "CYRILLIC-ASIAN", + "GREEK", + "ISO-2022-JP-MS", + "ISO_8859-7", + "WINDOWS-1251", + "WINDOWS-1256", + "WINDOWS-1255", + "WINDOWS-1258", + "WINDOWS-1252", + "CSISO58GB231280", + "MACINTOSH", + "WCHAR_T", + "MACICELAND", + "CSISOLATINGREEK", + "CSHPROMAN8", + "WINDOWS-1254", + "ISO_646.IRV:1991", + "WINDOWS-1250", + "MS-CYRL", + "ISO646-JP", + "KS_C_5601-1987", + "MACCYRILLIC", + "ISO_8859-3:1988", + "UCS-2LE", + "CSMACINTOSH", + "HZ-GB-2312", + "LATIN7", + "UCS-2-INTERNAL", + "EUCJP", + "UCS-2BE", + "CSISO57GB1988", + "MS_KANJI", + "ISO-2022-JP", + "UCS-4LE", + "EUC-JP", + "UNICODELITTLE", + "CSPC862LATINHEBREW", + "TIS620.2533-1", + "WINDOWS-936", + "UCS-4-INTERNAL", + "WINDOWS-1253", + "UCS-4BE", + "MS-TURK", + "GEORGIAN-PS", + "CSEUCTW", + "IBM-CP1133", + "MULELAO-1", + "CSISOLATINHEBREW", + "TIS620.2533-0", + "IBM367", + "MS-ARAB", + "CSISO2022JP", + "ISO_8859-1:1987", + "ISO_8859-6:1987", + "ISO_8859-2:1987", + "MS-HEBR", + "SHIFT-JIS", + "MACUKRAINE", + "GB18030:2022", + "UNICODEBIG", + "TIS620.2533", + "JISX0201-1976", + "GB18030:2005", + "WINDOWS-1257", + "UTF-16LE", + "MACCENTRALEUROPE", + "JOHAB", + "MACGREEK", + "UTF-16BE", + "MS-GREEK", + "JIS_X0212", + "UTF-7", + "SHIFT_JIS", + "ISO_8859-7:2003", + "EXTENDED_UNIX_CODE_PACKED_FORMAT_FOR_JAPANESE", + "JIS_X0201", + "BIG5HKSCS", + "WINDOWS-874", + "JIS_X0208", + "BIG5-HKSCS", + "JIS_X0212-1990", + "CSSHIFTJIS", + "TCVN5712-1:1993", + "BIGFIVE", + "UTF-32LE", + "HEBREW", + "BIG-FIVE", + "JIS_X0208-1990", + "UTF-32BE", + "MACTURKISH", + "ISO_8859-7:1987", + "NEXTSTEP", + "CSISO87JISX0208", + "JIS_X0208-1983", + "UCS-2-SWAPPED", + "CSPC850MULTILINGUAL", + "ANSI_X3.4-1986", + "ANSI_X3.4-1968", + "UCS-4-SWAPPED", + "WINBALTRIM", + "CSHALFWIDTHKATAKANA", + "JIS_X0212.1990-0", + "BIG5-HKSCS:2001", + "BIG5-HKSCS:2008", + "BIG5-HKSCS:1999", + "CSEUCPKDFMTJAPANESE", + "MACHEBREW", + "BIG5-HKSCS:2004", + "KO_KR.JOHAP92" + }; +#define stringpool ((const char *) &stringpool_contents) + +static const struct alias aliases[] = + { + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 291 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str8, ei_iso646_cn}, + {-1}, {-1}, {-1}, +#line 23 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str12, ei_ascii}, + {-1}, {-1}, +#line 209 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str15, ei_cp866}, + {-1}, {-1}, {-1}, +#line 52 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str19, ei_c99}, + {-1}, {-1}, +#line 207 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str22, ei_cp866}, + {-1}, {-1}, +#line 205 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str25, ei_cp862}, +#line 175 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str26, ei_cp1251}, + {-1}, +#line 191 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str28, ei_cp1256}, +#line 58 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str29, ei_iso8859_1}, +#line 188 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str30, ei_cp1255}, + {-1}, +#line 203 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str32, ei_cp862}, + {-1}, +#line 197 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str34, ei_cp1258}, + {-1}, {-1}, {-1}, +#line 179 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str38, ei_cp1252}, +#line 13 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str39, ei_ascii}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 360 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str46, ei_euc_kr}, + {-1}, +#line 229 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str48, ei_hp_roman8}, + {-1}, +#line 63 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str50, ei_iso8859_1}, + {-1}, +#line 103 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str52, ei_iso8859_6}, +#line 140 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str53, ei_iso8859_11}, +#line 94 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str54, ei_iso8859_5}, +#line 167 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str55, ei_iso8859_16}, + {-1}, +#line 160 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str57, ei_iso8859_15}, +#line 121 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str58, ei_iso8859_8}, +#line 361 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str59, ei_cp949}, +#line 129 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str60, ei_iso8859_9}, +#line 54 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str61, ei_iso8859_1}, +#line 71 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str62, ei_iso8859_2}, +#line 95 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str63, ei_iso8859_6}, +#line 138 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str64, ei_iso8859_11}, +#line 88 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str65, ei_iso8859_5}, +#line 161 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str66, ei_iso8859_16}, +#line 322 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str67, ei_iso2022_jpms}, +#line 155 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str68, ei_iso8859_15}, +#line 115 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str69, ei_iso8859_8}, +#line 289 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str70, ei_iso646_cn}, +#line 122 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str71, ei_iso8859_9}, + {-1}, +#line 64 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str73, ei_iso8859_2}, + {-1}, +#line 238 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str75, ei_pt154}, + {-1}, +#line 201 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str77, ei_cp850}, + {-1}, {-1}, +#line 16 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str80, ei_ascii}, + {-1}, {-1}, {-1}, +#line 185 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str84, ei_cp1254}, +#line 199 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str85, ei_cp850}, +#line 350 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str86, ei_cp950}, +#line 254 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str87, ei_tis620}, + {-1}, +#line 297 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str89, ei_isoir165}, +#line 172 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str90, ei_cp1250}, +#line 294 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str91, ei_gb2312}, +#line 108 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str92, ei_iso8859_7}, + {-1}, {-1}, +#line 324 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str95, ei_euc_cn}, +#line 286 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str96, ei_jisx0212}, + {-1}, +#line 164 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str98, ei_iso8859_16}, +#line 150 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str99, ei_iso8859_14}, + {-1}, +#line 211 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str101, ei_cp1131}, +#line 364 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str102, ei_johab}, +#line 335 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str103, ei_iso2022_cn}, + {-1}, +#line 329 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str105, ei_cp936}, +#line 323 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str106, ei_euc_cn}, +#line 22 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str107, ei_ascii}, +#line 87 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str108, ei_iso8859_4}, + {-1}, {-1}, +#line 154 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str111, ei_iso8859_14}, +#line 368 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str112, ei_local_char}, + {-1}, {-1}, +#line 315 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str115, ei_cp932}, +#line 67 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str116, ei_iso8859_2}, +#line 137 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str117, ei_iso8859_10}, + {-1}, +#line 80 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str119, ei_iso8859_4}, + {-1}, +#line 125 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str121, ei_iso8859_9}, +#line 147 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str122, ei_iso8859_14}, +#line 302 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str123, ei_ksc5601}, +#line 338 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str124, ei_hz}, +#line 241 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str125, ei_rk1048}, +#line 75 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str126, ei_iso8859_3}, + {-1}, +#line 130 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str128, ei_iso8859_10}, +#line 178 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str129, ei_cp1251}, +#line 362 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str130, ei_cp949}, +#line 337 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str131, ei_iso2022_cn_ext}, + {-1}, +#line 55 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str133, ei_iso8859_1}, + {-1}, +#line 96 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str135, ei_iso8859_6}, +#line 139 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str136, ei_iso8859_11}, +#line 89 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str137, ei_iso8859_5}, +#line 162 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str138, ei_iso8859_16}, +#line 267 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str139, ei_iso646_jp}, +#line 156 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str140, ei_iso8859_15}, +#line 116 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str141, ei_iso8859_8}, +#line 163 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str142, ei_iso8859_16}, +#line 123 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str143, ei_iso8859_9}, + {-1}, +#line 65 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str145, ei_iso8859_2}, +#line 261 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str146, ei_tcvn}, +#line 157 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str147, ei_iso8859_15}, +#line 83 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str148, ei_iso8859_4}, +#line 336 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str149, ei_iso2022_cn}, +#line 214 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str150, ei_mac_roman}, + {-1}, {-1}, +#line 61 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str153, ei_iso8859_1}, +#line 135 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str154, ei_iso8859_10}, +#line 127 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str155, ei_iso8859_9}, + {-1}, +#line 152 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str157, ei_iso8859_14}, + {-1}, +#line 69 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str159, ei_iso8859_2}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 208 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str166, ei_cp866}, + {-1}, {-1}, {-1}, {-1}, +#line 91 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str171, ei_iso8859_5}, + {-1}, +#line 59 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str173, ei_iso8859_1}, +#line 149 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str174, ei_iso8859_14}, +#line 118 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str175, ei_iso8859_8}, +#line 204 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str176, ei_cp862}, +#line 249 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str177, ei_tis620}, + {-1}, +#line 132 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str179, ei_iso8859_10}, +#line 57 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str180, ei_iso8859_1}, + {-1}, +#line 85 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str182, ei_iso8859_4}, +#line 235 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str183, ei_koi8_t}, +#line 258 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str184, ei_viscii}, + {-1}, {-1}, {-1}, +#line 248 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str188, ei_tis620}, +#line 21 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str189, ei_ascii}, +#line 260 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str190, ei_viscii}, +#line 81 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str191, ei_iso8859_4}, +#line 182 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str192, ei_cp1253}, +#line 60 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str193, ei_iso8859_1}, +#line 148 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str194, ei_iso8859_14}, +#line 134 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str195, ei_iso8859_10}, +#line 244 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str196, ei_rk1048}, +#line 126 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str197, ei_iso8859_9}, +#line 311 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str198, ei_sjis}, +#line 243 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str199, ei_rk1048}, +#line 131 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str200, ei_iso8859_10}, +#line 151 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str201, ei_iso8859_14}, +#line 169 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str202, ei_koi8_r}, + {-1}, {-1}, +#line 68 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str205, ei_iso8859_2}, + {-1}, +#line 168 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str207, ei_koi8_r}, + {-1}, {-1}, {-1}, {-1}, +#line 236 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str212, ei_pt154}, + {-1}, +#line 159 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str214, ei_iso8859_15}, +#line 325 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str215, ei_euc_cn}, +#line 79 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str216, ei_iso8859_3}, + {-1}, +#line 25 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str218, ei_ucs2}, +#line 146 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str219, ei_iso8859_13}, +#line 166 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str220, ei_iso8859_16}, + {-1}, {-1}, +#line 250 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str223, ei_tis620}, + {-1}, +#line 110 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str225, ei_iso8859_7}, + {-1}, +#line 72 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str227, ei_iso8859_3}, +#line 101 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str228, ei_iso8859_6}, +#line 200 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str229, ei_cp850}, +#line 141 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str230, ei_iso8859_13}, +#line 228 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str231, ei_hp_roman8}, + {-1}, {-1}, {-1}, {-1}, +#line 77 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str236, ei_iso8859_3}, + {-1}, {-1}, +#line 12 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str239, ei_ascii}, +#line 299 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str240, ei_ksc5601}, + {-1}, {-1}, +#line 26 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str243, ei_ucs2}, + {-1}, +#line 256 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str245, ei_cp874}, +#line 330 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str246, ei_cp936}, + {-1}, {-1}, {-1}, {-1}, +#line 84 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str251, ei_iso8859_4}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 181 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str258, ei_cp1252}, +#line 36 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str259, ei_ucs4}, +#line 165 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str260, ei_iso8859_16}, +#line 304 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str261, ei_ksc5601}, +#line 143 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str262, ei_iso8859_13}, + {-1}, +#line 34 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str264, ei_ucs4}, + {-1}, +#line 35 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str266, ei_ucs4}, +#line 246 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str267, ei_cp1133}, +#line 358 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str268, ei_euc_kr}, +#line 31 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str269, ei_ucs2be}, +#line 232 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str270, ei_armscii_8}, + {-1}, {-1}, {-1}, +#line 344 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str274, ei_ces_big5}, + {-1}, +#line 366 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str276, ei_iso2022_kr}, + {-1}, {-1}, +#line 357 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str279, ei_euc_kr}, +#line 349 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str280, ei_ces_big5}, +#line 109 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str281, ei_iso8859_7}, +#line 343 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str282, ei_euc_tw}, +#line 30 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str283, ei_ucs2be}, + {-1}, +#line 345 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str285, ei_ces_big5}, + {-1}, +#line 153 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str287, ei_iso8859_14}, +#line 158 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str288, ei_iso8859_15}, + {-1}, +#line 218 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str290, ei_mac_croatian}, +#line 348 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str291, ei_ces_big5}, + {-1}, {-1}, +#line 62 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str294, ei_iso8859_1}, +#line 288 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str295, ei_iso646_cn}, +#line 136 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str296, ei_iso8859_10}, + {-1}, +#line 128 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str298, ei_iso8859_9}, +#line 73 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str299, ei_iso8859_3}, +#line 332 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str300, ei_gb18030_2005}, +#line 93 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str301, ei_iso8859_5}, +#line 142 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str302, ei_iso8859_13}, + {-1}, {-1}, {-1}, +#line 70 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str306, ei_iso8859_2}, +#line 328 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str307, ei_ces_gbk}, + {-1}, +#line 268 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str309, ei_iso646_jp}, + {-1}, +#line 14 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str311, ei_ascii}, + {-1}, +#line 296 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str313, ei_gb2312}, + {-1}, +#line 285 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str315, ei_jisx0212}, + {-1}, {-1}, {-1}, {-1}, {-1}, +#line 145 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str321, ei_iso8859_13}, +#line 367 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str322, ei_iso2022_kr}, +#line 102 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str323, ei_iso8859_6}, + {-1}, {-1}, {-1}, +#line 277 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str327, ei_jisx0208}, +#line 226 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str328, ei_mac_thai}, +#line 233 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str329, ei_georgian_academy}, +#line 53 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str330, ei_java}, +#line 99 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str331, ei_iso8859_6}, + {-1}, {-1}, +#line 210 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str334, ei_cp866}, +#line 272 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str335, ei_jisx0201}, + {-1}, +#line 39 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str337, ei_utf16}, + {-1}, +#line 27 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str339, ei_ucs2}, +#line 24 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str340, ei_utf8}, + {-1}, {-1}, +#line 278 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str343, ei_jisx0208}, + {-1}, +#line 301 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str345, ei_ksc5601}, +#line 263 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str346, ei_tcvn}, + {-1}, +#line 314 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str348, ei_sjis}, +#line 262 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str349, ei_tcvn}, + {-1}, {-1}, +#line 86 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str352, ei_iso8859_4}, +#line 242 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str353, ei_rk1048}, + {-1}, +#line 237 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str355, ei_pt154}, +#line 92 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str356, ei_iso8859_5}, + {-1}, +#line 269 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str358, ei_iso646_jp}, +#line 76 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str359, ei_iso8859_3}, + {-1}, {-1}, +#line 194 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str362, ei_cp1257}, + {-1}, +#line 227 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str364, ei_hp_roman8}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 287 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str371, ei_jisx0212}, +#line 212 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str372, ei_mac_roman}, +#line 170 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str373, ei_koi8_u}, + {-1}, +#line 111 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str375, ei_iso8859_7}, + {-1}, +#line 293 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str377, ei_gb2312}, + {-1}, {-1}, {-1}, {-1}, {-1}, +#line 327 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str383, ei_euc_cn}, + {-1}, {-1}, +#line 114 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str386, ei_iso8859_7}, +#line 240 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str387, ei_pt154}, + {-1}, {-1}, {-1}, +#line 251 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str391, ei_tis620}, +#line 174 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str392, ei_cp1250}, + {-1}, {-1}, +#line 359 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str395, ei_euc_kr}, + {-1}, +#line 104 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str397, ei_iso8859_7}, + {-1}, {-1}, +#line 265 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str400, ei_iso646_jp}, + {-1}, {-1}, {-1}, +#line 318 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str404, ei_iso2022_jp1}, +#line 100 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str405, ei_iso8859_6}, +#line 303 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str406, ei_ksc5601}, + {-1}, {-1}, {-1}, +#line 319 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str410, ei_iso2022_jp2}, + {-1}, +#line 298 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str412, ei_isoir165}, + {-1}, +#line 171 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str414, ei_koi8_ru}, + {-1}, +#line 225 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str416, ei_mac_arabic}, +#line 259 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str417, ei_viscii}, + {-1}, +#line 290 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str419, ei_iso646_cn}, + {-1}, +#line 279 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str421, ei_jisx0208}, +#line 133 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str422, ei_iso8859_10}, + {-1}, +#line 219 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str424, ei_mac_romania}, + {-1}, +#line 98 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str426, ei_iso8859_6}, + {-1}, {-1}, +#line 90 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str429, ei_iso8859_5}, +#line 42 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str430, ei_utf32}, +#line 117 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str431, ei_iso8859_8}, + {-1}, +#line 124 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str433, ei_iso8859_9}, + {-1}, +#line 19 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str435, ei_ascii}, + {-1}, +#line 341 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str437, ei_euc_tw}, + {-1}, {-1}, {-1}, +#line 47 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str441, ei_utf7}, + {-1}, +#line 326 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str443, ei_euc_cn}, + {-1}, {-1}, {-1}, {-1}, +#line 340 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str448, ei_euc_tw}, +#line 280 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str449, ei_jisx0208}, + {-1}, {-1}, {-1}, {-1}, {-1}, +#line 320 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str455, ei_iso2022_jp2}, +#line 82 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str456, ei_iso8859_4}, +#line 46 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str457, ei_utf7}, + {-1}, {-1}, +#line 78 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str460, ei_iso8859_3}, + {-1}, {-1}, {-1}, +#line 239 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str464, ei_pt154}, +#line 112 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str465, ei_iso8859_7}, + {-1}, +#line 321 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str467, ei_iso2022_jpms}, + {-1}, +#line 105 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str469, ei_iso8859_7}, + {-1}, +#line 176 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str471, ei_cp1251}, +#line 192 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str472, ei_cp1256}, +#line 189 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str473, ei_cp1255}, + {-1}, +#line 198 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str475, ei_cp1258}, + {-1}, +#line 180 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str477, ei_cp1252}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 295 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str484, ei_gb2312}, + {-1}, {-1}, {-1}, {-1}, {-1}, +#line 213 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str490, ei_mac_roman}, +#line 369 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str491, ei_local_wchar_t}, + {-1}, {-1}, +#line 217 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str494, ei_mac_iceland}, +#line 113 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str495, ei_iso8859_7}, +#line 230 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str496, ei_hp_roman8}, + {-1}, {-1}, {-1}, +#line 186 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str500, ei_cp1254}, +#line 15 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str501, ei_ascii}, + {-1}, +#line 173 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str503, ei_cp1250}, + {-1}, +#line 177 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str505, ei_cp1251}, +#line 266 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str506, ei_iso646_jp}, + {-1}, +#line 300 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str508, ei_ksc5601}, +#line 220 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str509, ei_mac_cyrillic}, +#line 74 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str510, ei_iso8859_3}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 32 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str517, ei_ucs2le}, + {-1}, {-1}, +#line 215 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str520, ei_mac_roman}, +#line 339 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str521, ei_hz}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 144 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str529, ei_iso8859_13}, +#line 48 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str530, ei_ucs2internal}, +#line 306 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str531, ei_euc_jp}, +#line 28 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str532, ei_ucs2be}, + {-1}, +#line 292 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str534, ei_iso646_cn}, + {-1}, {-1}, {-1}, +#line 312 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str538, ei_sjis}, +#line 316 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str539, ei_iso2022_jp}, +#line 38 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str540, ei_ucs4le}, + {-1}, +#line 305 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str542, ei_euc_jp}, + {-1}, +#line 33 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str544, ei_ucs2le}, +#line 206 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str545, ei_cp862}, +#line 253 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str546, ei_tis620}, + {-1}, {-1}, {-1}, {-1}, {-1}, +#line 331 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str552, ei_cp936}, +#line 50 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str553, ei_ucs4internal}, +#line 183 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str554, ei_cp1253}, +#line 37 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str555, ei_ucs4be}, + {-1}, +#line 187 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str557, ei_cp1254}, +#line 234 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str558, ei_georgian_ps}, + {-1}, {-1}, {-1}, {-1}, {-1}, +#line 342 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str564, ei_euc_tw}, +#line 247 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str565, ei_cp1133}, + {-1}, {-1}, {-1}, {-1}, +#line 245 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str570, ei_mulelao}, + {-1}, {-1}, {-1}, {-1}, +#line 120 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str575, ei_iso8859_8}, + {-1}, {-1}, +#line 252 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str578, ei_tis620}, +#line 20 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str579, ei_ascii}, +#line 193 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str580, ei_cp1256}, + {-1}, {-1}, {-1}, {-1}, +#line 317 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str585, ei_iso2022_jp}, + {-1}, {-1}, {-1}, {-1}, {-1}, +#line 56 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str591, ei_iso8859_1}, +#line 97 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str592, ei_iso8859_6}, + {-1}, {-1}, {-1}, {-1}, +#line 66 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str597, ei_iso8859_2}, + {-1}, {-1}, +#line 190 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str600, ei_cp1255}, +#line 310 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str601, ei_sjis}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 221 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str609, ei_mac_ukraine}, + {-1}, {-1}, {-1}, {-1}, +#line 334 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str614, ei_gb18030_2022}, + {-1}, {-1}, {-1}, +#line 29 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str618, ei_ucs2be}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 255 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str627, ei_tis620}, + {-1}, +#line 271 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str629, ei_jisx0201}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 333 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str636, ei_gb18030_2005}, + {-1}, {-1}, +#line 195 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str639, ei_cp1257}, + {-1}, +#line 41 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str641, ei_utf16le}, + {-1}, {-1}, +#line 216 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str644, ei_mac_centraleurope}, +#line 363 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str645, ei_johab}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 222 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str653, ei_mac_greek}, + {-1}, {-1}, +#line 40 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str656, ei_utf16be}, + {-1}, {-1}, {-1}, {-1}, +#line 184 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str661, ei_cp1253}, + {-1}, {-1}, {-1}, {-1}, {-1}, +#line 282 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str667, ei_jisx0212}, +#line 45 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str668, ei_utf7}, + {-1}, {-1}, {-1}, {-1}, +#line 309 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str673, ei_sjis}, +#line 107 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str674, ei_iso8859_7}, + {-1}, +#line 307 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str676, ei_euc_jp}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, +#line 270 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str687, ei_jisx0201}, + {-1}, {-1}, +#line 355 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str690, ei_big5hkscs2008}, + {-1}, +#line 257 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str692, ei_cp874}, + {-1}, {-1}, +#line 274 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str695, ei_jisx0208}, + {-1}, {-1}, {-1}, {-1}, {-1}, +#line 354 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str701, ei_big5hkscs2008}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 284 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str710, ei_jisx0212}, + {-1}, +#line 313 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str712, ei_sjis}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 264 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str719, ei_tcvn}, + {-1}, {-1}, {-1}, +#line 347 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str723, ei_ces_big5}, + {-1}, {-1}, {-1}, {-1}, {-1}, +#line 44 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str729, ei_utf32le}, +#line 119 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str730, ei_iso8859_8}, + {-1}, {-1}, {-1}, +#line 346 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str734, ei_ces_big5}, + {-1}, {-1}, {-1}, {-1}, {-1}, +#line 276 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str740, ei_jisx0208}, + {-1}, {-1}, {-1}, +#line 43 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str744, ei_utf32be}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 223 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str751, ei_mac_turkish}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 106 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str759, ei_iso8859_7}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, +#line 231 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str772, ei_nextstep}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, +#line 281 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str785, ei_jisx0208}, + {-1}, {-1}, {-1}, {-1}, {-1}, +#line 275 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str791, ei_jisx0208}, + {-1}, {-1}, {-1}, {-1}, {-1}, +#line 49 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str797, ei_ucs2swapped}, +#line 202 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str798, ei_cp850}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 18 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str815, ei_ascii}, + {-1}, {-1}, +#line 17 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str818, ei_ascii}, + {-1}, +#line 51 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str820, ei_ucs4swapped}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, +#line 196 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str871, ei_cp1257}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 273 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str879, ei_jisx0201}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 283 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str914, ei_jisx0212}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, +#line 352 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str929, ei_big5hkscs2001}, + {-1}, {-1}, {-1}, +#line 356 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str933, ei_big5hkscs2008}, +#line 351 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str934, ei_big5hkscs1999}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 308 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str944, ei_euc_jp}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, +#line 224 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str956, ei_mac_hebrew}, + {-1}, +#line 353 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str958, ei_big5hkscs2004}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, +#line 365 "lib/aliases_syssolaris.gperf" + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str1014, ei_johab} + }; + +static const struct alias * +aliases_lookup (register const char *str, register size_t len) +{ + if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) + { + register unsigned int key = aliases_hash (str, len); + + if (key <= MAX_HASH_VALUE) + { + register int o = aliases[key].name; + if (o >= 0) + { + register const char *s = o + stringpool; + + if (*str == *s && !strcmp (str + 1, s + 1)) + return &aliases[key]; + } + } + } + return 0; +} diff --git a/Externals/libiconv/lib/aliases_zos.h b/Externals/libiconv/lib/aliases_zos.h new file mode 100644 index 00000000000..9143ea167d8 --- /dev/null +++ b/Externals/libiconv/lib/aliases_zos.h @@ -0,0 +1,241 @@ + S(zos_0, "IBM-037", ei_ebcdic037 ) + S(zos_1, "IBM037", ei_ebcdic037 ) + S(zos_2, "CP037", ei_ebcdic037 ) + S(zos_3, "EBCDIC-CP-US", ei_ebcdic037 ) + S(zos_4, "EBCDIC-CP-CA", ei_ebcdic037 ) + S(zos_5, "EBCDIC-CP-WT", ei_ebcdic037 ) + S(zos_6, "EBCDIC-CP-NL", ei_ebcdic037 ) + S(zos_7, "CSIBM037", ei_ebcdic037 ) + S(zos_8, "IBM-273", ei_ebcdic273 ) + S(zos_9, "IBM273", ei_ebcdic273 ) + S(zos_10, "CP273", ei_ebcdic273 ) + S(zos_11, "CSIBM273", ei_ebcdic273 ) + S(zos_12, "IBM-277", ei_ebcdic277 ) + S(zos_13, "IBM277", ei_ebcdic277 ) + S(zos_14, "EBCDIC-CP-DK", ei_ebcdic277 ) + S(zos_15, "EBCDIC-CP-NO", ei_ebcdic277 ) + S(zos_16, "CSIBM277", ei_ebcdic277 ) + S(zos_17, "IBM-278", ei_ebcdic278 ) + S(zos_18, "IBM278", ei_ebcdic278 ) + S(zos_19, "CP278", ei_ebcdic278 ) + S(zos_20, "EBCDIC-CP-FI", ei_ebcdic278 ) + S(zos_21, "EBCDIC-CP-SE", ei_ebcdic278 ) + S(zos_22, "CSIBM278", ei_ebcdic278 ) + S(zos_23, "IBM-280", ei_ebcdic280 ) + S(zos_24, "IBM280", ei_ebcdic280 ) + S(zos_25, "CP280", ei_ebcdic280 ) + S(zos_26, "EBCDIC-CP-IT", ei_ebcdic280 ) + S(zos_27, "CSIBM280", ei_ebcdic280 ) + S(zos_28, "IBM-282", ei_ebcdic282 ) + S(zos_29, "IBM282", ei_ebcdic282 ) + S(zos_30, "IBM-284", ei_ebcdic284 ) + S(zos_31, "IBM284", ei_ebcdic284 ) + S(zos_32, "CP284", ei_ebcdic284 ) + S(zos_33, "EBCDIC-CP-ES", ei_ebcdic284 ) + S(zos_34, "CSIBM284", ei_ebcdic284 ) + S(zos_35, "IBM-285", ei_ebcdic285 ) + S(zos_36, "IBM285", ei_ebcdic285 ) + S(zos_37, "CP285", ei_ebcdic285 ) + S(zos_38, "EBCDIC-CP-GB", ei_ebcdic285 ) + S(zos_39, "CSIBM285", ei_ebcdic285 ) + S(zos_40, "IBM-297", ei_ebcdic297 ) + S(zos_41, "IBM297", ei_ebcdic297 ) + S(zos_42, "CP297", ei_ebcdic297 ) + S(zos_43, "EBCDIC-CP-FR", ei_ebcdic297 ) + S(zos_44, "CSIBM297", ei_ebcdic297 ) + S(zos_45, "IBM-423", ei_ebcdic423 ) + S(zos_46, "IBM423", ei_ebcdic423 ) + S(zos_47, "CP423", ei_ebcdic423 ) + S(zos_48, "EBCDIC-CP-GR", ei_ebcdic423 ) + S(zos_49, "CSIBM423", ei_ebcdic423 ) + S(zos_50, "IBM-424", ei_ebcdic424 ) + S(zos_51, "IBM424", ei_ebcdic424 ) + S(zos_52, "CP424", ei_ebcdic424 ) + S(zos_53, "EBCDIC-CP-HE", ei_ebcdic424 ) + S(zos_54, "CSIBM424", ei_ebcdic424 ) + S(zos_55, "IBM-425", ei_ebcdic425 ) + S(zos_56, "IBM425", ei_ebcdic425 ) + S(zos_57, "IBM-500", ei_ebcdic500 ) + S(zos_58, "IBM500", ei_ebcdic500 ) + S(zos_59, "CP500", ei_ebcdic500 ) + S(zos_60, "EBCDIC-CP-BE", ei_ebcdic500 ) + S(zos_61, "EBCDIC-CP-CH", ei_ebcdic500 ) + S(zos_62, "CSIBM500", ei_ebcdic500 ) + S(zos_63, "IBM-838", ei_ebcdic838 ) + S(zos_64, "IBM838", ei_ebcdic838 ) + S(zos_65, "IBM-THAI", ei_ebcdic838 ) + S(zos_66, "CSIBMTHAI", ei_ebcdic838 ) + S(zos_67, "IBM-870", ei_ebcdic870 ) + S(zos_68, "IBM870", ei_ebcdic870 ) + S(zos_69, "CP870", ei_ebcdic870 ) + S(zos_70, "EBCDIC-CP-ROECE", ei_ebcdic870 ) + S(zos_71, "EBCDIC-CP-YU", ei_ebcdic870 ) + S(zos_72, "CSIBM870", ei_ebcdic870 ) + S(zos_73, "IBM-871", ei_ebcdic871 ) + S(zos_74, "IBM871", ei_ebcdic871 ) + S(zos_75, "CP871", ei_ebcdic871 ) + S(zos_76, "EBCDIC-CP-IS", ei_ebcdic871 ) + S(zos_77, "CSIBM871", ei_ebcdic871 ) + S(zos_78, "IBM-875", ei_ebcdic875 ) + S(zos_79, "IBM875", ei_ebcdic875 ) + S(zos_80, "CP875", ei_ebcdic875 ) + S(zos_81, "EBCDIC-GREEK", ei_ebcdic875 ) + S(zos_82, "IBM-880", ei_ebcdic880 ) + S(zos_83, "IBM880", ei_ebcdic880 ) + S(zos_84, "CP880", ei_ebcdic880 ) + S(zos_85, "EBCDIC-CYRILLIC", ei_ebcdic880 ) + S(zos_86, "CSIBM880", ei_ebcdic880 ) + S(zos_87, "IBM-905", ei_ebcdic905 ) + S(zos_88, "IBM905", ei_ebcdic905 ) + S(zos_89, "CP905", ei_ebcdic905 ) + S(zos_90, "EBCDIC-CP-TR", ei_ebcdic905 ) + S(zos_91, "CSIBM905", ei_ebcdic905 ) + S(zos_92, "IBM-924", ei_ebcdic924 ) + S(zos_93, "IBM924", ei_ebcdic924 ) + S(zos_94, "IBM00924", ei_ebcdic924 ) + S(zos_95, "CCSID00924", ei_ebcdic924 ) + S(zos_96, "CP00924", ei_ebcdic924 ) + S(zos_97, "EBCDIC-LATIN9-EURO", ei_ebcdic924 ) + S(zos_98, "CSIBM00924", ei_ebcdic924 ) + S(zos_99, "IBM-1025", ei_ebcdic1025 ) + S(zos_100, "IBM1025", ei_ebcdic1025 ) + S(zos_101, "CP1025", ei_ebcdic1025 ) + S(zos_102, "IBM-1026", ei_ebcdic1026 ) + S(zos_103, "IBM1026", ei_ebcdic1026 ) + S(zos_104, "CP1026", ei_ebcdic1026 ) + S(zos_105, "CSIBM1026", ei_ebcdic1026 ) + S(zos_106, "IBM-1047", ei_ebcdic1047 ) + S(zos_107, "IBM1047", ei_ebcdic1047 ) + S(zos_108, "CP1047", ei_ebcdic1047 ) + S(zos_109, "CSIBM1047", ei_ebcdic1047 ) + S(zos_110, "IBM-1097", ei_ebcdic1097 ) + S(zos_111, "IBM1097", ei_ebcdic1097 ) + S(zos_112, "CP1097", ei_ebcdic1097 ) + S(zos_113, "IBM-1112", ei_ebcdic1112 ) + S(zos_114, "IBM1112", ei_ebcdic1112 ) + S(zos_115, "CP1112", ei_ebcdic1112 ) + S(zos_116, "IBM-1122", ei_ebcdic1122 ) + S(zos_117, "IBM1122", ei_ebcdic1122 ) + S(zos_118, "CP1122", ei_ebcdic1122 ) + S(zos_119, "IBM-1123", ei_ebcdic1123 ) + S(zos_120, "IBM1123", ei_ebcdic1123 ) + S(zos_121, "CP1123", ei_ebcdic1123 ) + S(zos_122, "IBM-1130", ei_ebcdic1130 ) + S(zos_123, "IBM1130", ei_ebcdic1130 ) + S(zos_124, "CP1130", ei_ebcdic1130 ) + S(zos_125, "IBM-1132", ei_ebcdic1132 ) + S(zos_126, "IBM1132", ei_ebcdic1132 ) + S(zos_127, "CP1132", ei_ebcdic1132 ) + S(zos_128, "IBM-1137", ei_ebcdic1137 ) + S(zos_129, "IBM1137", ei_ebcdic1137 ) + S(zos_130, "CP1137", ei_ebcdic1137 ) + S(zos_131, "IBM-1140", ei_ebcdic1140 ) + S(zos_132, "IBM1140", ei_ebcdic1140 ) + S(zos_133, "IBM01140", ei_ebcdic1140 ) + S(zos_134, "CCSID01140", ei_ebcdic1140 ) + S(zos_135, "CP01140", ei_ebcdic1140 ) + S(zos_136, "EBCDIC-US-37+EURO", ei_ebcdic1140 ) + S(zos_137, "CSIBM01140", ei_ebcdic1140 ) + S(zos_138, "IBM-1141", ei_ebcdic1141 ) + S(zos_139, "IBM1141", ei_ebcdic1141 ) + S(zos_140, "IBM01141", ei_ebcdic1141 ) + S(zos_141, "CCSID01141", ei_ebcdic1141 ) + S(zos_142, "CP01141", ei_ebcdic1141 ) + S(zos_143, "EBCDIC-DE-273+EURO", ei_ebcdic1141 ) + S(zos_144, "CSIBM01141", ei_ebcdic1141 ) + S(zos_145, "IBM-1142", ei_ebcdic1142 ) + S(zos_146, "IBM1142", ei_ebcdic1142 ) + S(zos_147, "IBM01142", ei_ebcdic1142 ) + S(zos_148, "CCSID01142", ei_ebcdic1142 ) + S(zos_149, "CP01142", ei_ebcdic1142 ) + S(zos_150, "EBCDIC-DK-277+EURO", ei_ebcdic1142 ) + S(zos_151, "EBCDIC-NO-277+EURO", ei_ebcdic1142 ) + S(zos_152, "CSIBM01142", ei_ebcdic1142 ) + S(zos_153, "IBM-1143", ei_ebcdic1143 ) + S(zos_154, "IBM1143", ei_ebcdic1143 ) + S(zos_155, "IBM01143", ei_ebcdic1143 ) + S(zos_156, "CCSID01143", ei_ebcdic1143 ) + S(zos_157, "CP01143", ei_ebcdic1143 ) + S(zos_158, "EBCDIC-FI-278+EURO", ei_ebcdic1143 ) + S(zos_159, "EBCDIC-SE-278+EURO", ei_ebcdic1143 ) + S(zos_160, "CSIBM01143", ei_ebcdic1143 ) + S(zos_161, "IBM-1144", ei_ebcdic1144 ) + S(zos_162, "IBM1144", ei_ebcdic1144 ) + S(zos_163, "IBM01144", ei_ebcdic1144 ) + S(zos_164, "CCSID01144", ei_ebcdic1144 ) + S(zos_165, "CP01144", ei_ebcdic1144 ) + S(zos_166, "EBCDIC-IT-280+EURO", ei_ebcdic1144 ) + S(zos_167, "CSPC8CODEPAGE1144", ei_ebcdic1144 ) + S(zos_168, "IBM-1145", ei_ebcdic1145 ) + S(zos_169, "IBM1145", ei_ebcdic1145 ) + S(zos_170, "IBM01145", ei_ebcdic1145 ) + S(zos_171, "CCSID01145", ei_ebcdic1145 ) + S(zos_172, "CP01145", ei_ebcdic1145 ) + S(zos_173, "EBCDIC-ES-284+EURO", ei_ebcdic1145 ) + S(zos_174, "CSIBM01145", ei_ebcdic1145 ) + S(zos_175, "IBM-1146", ei_ebcdic1146 ) + S(zos_176, "IBM1146", ei_ebcdic1146 ) + S(zos_177, "IBM01146", ei_ebcdic1146 ) + S(zos_178, "CCSID01146", ei_ebcdic1146 ) + S(zos_179, "CP01146", ei_ebcdic1146 ) + S(zos_180, "EBCDIC-GB-285+EURO", ei_ebcdic1146 ) + S(zos_181, "CSPC8CODEPAGE1146", ei_ebcdic1146 ) + S(zos_182, "IBM-1147", ei_ebcdic1147 ) + S(zos_183, "IBM1147", ei_ebcdic1147 ) + S(zos_184, "IBM01147", ei_ebcdic1147 ) + S(zos_185, "CCSID01147", ei_ebcdic1147 ) + S(zos_186, "CP01147", ei_ebcdic1147 ) + S(zos_187, "EBCDIC-FR-297+EURO", ei_ebcdic1147 ) + S(zos_188, "CSIBM01147", ei_ebcdic1147 ) + S(zos_189, "IBM-1148", ei_ebcdic1148 ) + S(zos_190, "IBM1148", ei_ebcdic1148 ) + S(zos_191, "IBM01148", ei_ebcdic1148 ) + S(zos_192, "CCSID01148", ei_ebcdic1148 ) + S(zos_193, "CP01148", ei_ebcdic1148 ) + S(zos_194, "EBCDIC-INTERNATIONAL-500+EURO", ei_ebcdic1148 ) + S(zos_195, "CSIBM01148", ei_ebcdic1148 ) + S(zos_196, "IBM-1149", ei_ebcdic1149 ) + S(zos_197, "IBM1149", ei_ebcdic1149 ) + S(zos_198, "IBM01149", ei_ebcdic1149 ) + S(zos_199, "CCSID01149", ei_ebcdic1149 ) + S(zos_200, "CP01149", ei_ebcdic1149 ) + S(zos_201, "EBCDIC-IS-871+EURO", ei_ebcdic1149 ) + S(zos_202, "CSIBM01149", ei_ebcdic1149 ) + S(zos_203, "IBM-1153", ei_ebcdic1153 ) + S(zos_204, "IBM1153", ei_ebcdic1153 ) + S(zos_205, "CP1153", ei_ebcdic1153 ) + S(zos_206, "IBM-1154", ei_ebcdic1154 ) + S(zos_207, "IBM1154", ei_ebcdic1154 ) + S(zos_208, "CP1154", ei_ebcdic1154 ) + S(zos_209, "IBM-1155", ei_ebcdic1155 ) + S(zos_210, "IBM1155", ei_ebcdic1155 ) + S(zos_211, "CP1155", ei_ebcdic1155 ) + S(zos_212, "IBM-1156", ei_ebcdic1156 ) + S(zos_213, "IBM1156", ei_ebcdic1156 ) + S(zos_214, "CP1156", ei_ebcdic1156 ) + S(zos_215, "IBM-1157", ei_ebcdic1157 ) + S(zos_216, "IBM1157", ei_ebcdic1157 ) + S(zos_217, "CP1157", ei_ebcdic1157 ) + S(zos_218, "IBM-1158", ei_ebcdic1158 ) + S(zos_219, "IBM1158", ei_ebcdic1158 ) + S(zos_220, "CP1158", ei_ebcdic1158 ) + S(zos_221, "IBM-1160", ei_ebcdic1160 ) + S(zos_222, "IBM1160", ei_ebcdic1160 ) + S(zos_223, "CP1160", ei_ebcdic1160 ) + S(zos_224, "IBM-1164", ei_ebcdic1164 ) + S(zos_225, "IBM1164", ei_ebcdic1164 ) + S(zos_226, "CP1164", ei_ebcdic1164 ) + S(zos_227, "IBM-1165", ei_ebcdic1165 ) + S(zos_228, "IBM1165", ei_ebcdic1165 ) + S(zos_229, "IBM-1166", ei_ebcdic1166 ) + S(zos_230, "IBM1166", ei_ebcdic1166 ) + S(zos_231, "CP1166", ei_ebcdic1166 ) + S(zos_232, "IBM-4971", ei_ebcdic4971 ) + S(zos_233, "IBM4971", ei_ebcdic4971 ) + S(zos_234, "CP4971", ei_ebcdic4971 ) + S(zos_235, "IBM-12712", ei_ebcdic12712 ) + S(zos_236, "IBM12712", ei_ebcdic12712 ) + S(zos_237, "CP12712", ei_ebcdic12712 ) + S(zos_238, "IBM-16804", ei_ebcdic16804 ) + S(zos_239, "IBM16804", ei_ebcdic16804 ) + S(zos_240, "CP16804", ei_ebcdic16804 ) diff --git a/Externals/libiconv-1.14/lib/armscii_8.h b/Externals/libiconv/lib/armscii_8.h similarity index 89% rename from Externals/libiconv-1.14/lib/armscii_8.h rename to Externals/libiconv/lib/armscii_8.h index 8d1613ff98c..6acee334ead 100644 --- a/Externals/libiconv-1.14/lib/armscii_8.h +++ b/Externals/libiconv/lib/armscii_8.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2002 Free Software Foundation, Inc. + * Copyright (C) 1999-2002, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -44,7 +43,7 @@ static const unsigned short armscii_8_2uni[96] = { }; static int -armscii_8_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +armscii_8_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; if (c < 0xa0) { @@ -91,7 +90,7 @@ static const unsigned char armscii_8_page20[24] = { }; static int -armscii_8_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +armscii_8_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char c = 0; if (wc < 0x0028) { diff --git a/Externals/libiconv-1.14/lib/ascii.h b/Externals/libiconv/lib/ascii.h similarity index 65% rename from Externals/libiconv-1.14/lib/ascii.h rename to Externals/libiconv/lib/ascii.h index fa49e3bf94f..ec3da6c0a43 100644 --- a/Externals/libiconv-1.14/lib/ascii.h +++ b/Externals/libiconv/lib/ascii.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -23,7 +22,7 @@ */ static int -ascii_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +ascii_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; if (c < 0x80) { @@ -34,7 +33,7 @@ ascii_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) } static int -ascii_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +ascii_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { if (wc < 0x0080) { *r = wc; diff --git a/Externals/libiconv-1.14/lib/atarist.h b/Externals/libiconv/lib/atarist.h similarity index 93% rename from Externals/libiconv-1.14/lib/atarist.h rename to Externals/libiconv/lib/atarist.h index 90f18cc1470..f7286641e8a 100644 --- a/Externals/libiconv-1.14/lib/atarist.h +++ b/Externals/libiconv/lib/atarist.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2005 Free Software Foundation, Inc. + * Copyright (C) 1999-2005, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -50,7 +49,7 @@ static const unsigned short atarist_2uni[128] = { }; static int -atarist_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +atarist_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; if (c < 0x80) @@ -125,7 +124,7 @@ static const unsigned char atarist_page23[24] = { }; static int -atarist_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +atarist_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char c = 0; if (wc < 0x0080) { diff --git a/Externals/libiconv-1.14/lib/big5.h b/Externals/libiconv/lib/big5.h similarity index 99% rename from Externals/libiconv-1.14/lib/big5.h rename to Externals/libiconv/lib/big5.h index de10a99ae9a..2b60acae38e 100644 --- a/Externals/libiconv-1.14/lib/big5.h +++ b/Externals/libiconv/lib/big5.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2012, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -1871,7 +1870,7 @@ static const unsigned short big5_2uni_pagec9[7652] = { }; static int -big5_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +big5_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c1 = s[0]; if ((c1 >= 0xa1 && c1 <= 0xc7) || (c1 >= 0xc9 && c1 <= 0xf9)) { @@ -4117,7 +4116,7 @@ static const Summary16 big5_uni2indx_pagefe[23] = { }; static int -big5_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +big5_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { if (n >= 2) { const Summary16 *summary = NULL; @@ -4142,9 +4141,9 @@ big5_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) unsigned int i = wc & 0x0f; if (used & ((unsigned short) 1 << i)) { unsigned short c; - /* Keep in `used' only the bits 0..i-1. */ + /* 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'. */ + /* 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); diff --git a/Externals/libiconv-1.14/lib/big5_2003.h b/Externals/libiconv/lib/big5_2003.h similarity index 97% rename from Externals/libiconv-1.14/lib/big5_2003.h rename to Externals/libiconv/lib/big5_2003.h index b532ce6ee83..a42e1cd8195 100644 --- a/Externals/libiconv-1.14/lib/big5_2003.h +++ b/Externals/libiconv/lib/big5_2003.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001, 2005 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2005, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -181,7 +180,7 @@ static const unsigned short big5_2003_2uni_pagef9[41] = { }; static int -big5_2003_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +big5_2003_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; /* Code set 0 (ASCII) */ @@ -268,7 +267,7 @@ static const unsigned char big5_2003_2charset_page25[29] = { }; static int -big5_2003_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +big5_2003_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char buf[2]; int ret; diff --git a/Externals/libiconv-1.14/lib/big5hkscs1999.h b/Externals/libiconv/lib/big5hkscs1999.h similarity index 92% rename from Externals/libiconv-1.14/lib/big5hkscs1999.h rename to Externals/libiconv/lib/big5hkscs1999.h index 9e0d1b0c4e4..cd563c069e4 100644 --- a/Externals/libiconv-1.14/lib/big5hkscs1999.h +++ b/Externals/libiconv/lib/big5hkscs1999.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2002, 2006 Free Software Foundation, Inc. + * Copyright (C) 1999-2002, 2006, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -47,7 +46,7 @@ #include "flushwc.h" static int -big5hkscs1999_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +big5hkscs1999_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { ucs4_t last_wc = conv->istate; if (last_wc) { @@ -104,7 +103,7 @@ big5hkscs1999_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) #define big5hkscs1999_flushwc normal_flushwc static int -big5hkscs1999_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +big5hkscs1999_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { int count = 0; unsigned char last = conv->ostate; @@ -181,7 +180,7 @@ big5hkscs1999_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) } static int -big5hkscs1999_reset (conv_t conv, unsigned char *r, int n) +big5hkscs1999_reset (conv_t conv, unsigned char *r, size_t n) { unsigned char last = conv->ostate; diff --git a/Externals/libiconv-1.14/lib/big5hkscs2001.h b/Externals/libiconv/lib/big5hkscs2001.h similarity index 92% rename from Externals/libiconv-1.14/lib/big5hkscs2001.h rename to Externals/libiconv/lib/big5hkscs2001.h index 2d378c48066..89c97cdd6a0 100644 --- a/Externals/libiconv-1.14/lib/big5hkscs2001.h +++ b/Externals/libiconv/lib/big5hkscs2001.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2002, 2006 Free Software Foundation, Inc. + * Copyright (C) 1999-2002, 2006, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -49,7 +48,7 @@ #include "flushwc.h" static int -big5hkscs2001_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +big5hkscs2001_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { ucs4_t last_wc = conv->istate; if (last_wc) { @@ -111,7 +110,7 @@ big5hkscs2001_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) #define big5hkscs2001_flushwc normal_flushwc static int -big5hkscs2001_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +big5hkscs2001_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { int count = 0; unsigned char last = conv->ostate; @@ -199,7 +198,7 @@ big5hkscs2001_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) } static int -big5hkscs2001_reset (conv_t conv, unsigned char *r, int n) +big5hkscs2001_reset (conv_t conv, unsigned char *r, size_t n) { unsigned char last = conv->ostate; diff --git a/Externals/libiconv-1.14/lib/big5hkscs2004.h b/Externals/libiconv/lib/big5hkscs2004.h similarity index 93% rename from Externals/libiconv-1.14/lib/big5hkscs2004.h rename to Externals/libiconv/lib/big5hkscs2004.h index 3c57f66b18d..87d8ae08c4e 100644 --- a/Externals/libiconv-1.14/lib/big5hkscs2004.h +++ b/Externals/libiconv/lib/big5hkscs2004.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2002, 2006 Free Software Foundation, Inc. + * Copyright (C) 1999-2002, 2006, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -49,7 +48,7 @@ #include "flushwc.h" static int -big5hkscs2004_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +big5hkscs2004_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { ucs4_t last_wc = conv->istate; if (last_wc) { @@ -116,7 +115,7 @@ big5hkscs2004_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) #define big5hkscs2004_flushwc normal_flushwc static int -big5hkscs2004_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +big5hkscs2004_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { int count = 0; unsigned char last = conv->ostate; @@ -215,7 +214,7 @@ big5hkscs2004_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) } static int -big5hkscs2004_reset (conv_t conv, unsigned char *r, int n) +big5hkscs2004_reset (conv_t conv, unsigned char *r, size_t n) { unsigned char last = conv->ostate; diff --git a/Externals/libiconv-1.14/lib/big5hkscs2008.h b/Externals/libiconv/lib/big5hkscs2008.h similarity index 94% rename from Externals/libiconv-1.14/lib/big5hkscs2008.h rename to Externals/libiconv/lib/big5hkscs2008.h index 8759f4d040e..c9818e4d126 100644 --- a/Externals/libiconv-1.14/lib/big5hkscs2008.h +++ b/Externals/libiconv/lib/big5hkscs2008.h @@ -3,19 +3,18 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -49,7 +48,7 @@ #include "flushwc.h" static int -big5hkscs2008_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +big5hkscs2008_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { ucs4_t last_wc = conv->istate; if (last_wc) { @@ -121,7 +120,7 @@ big5hkscs2008_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) #define big5hkscs2008_flushwc normal_flushwc static int -big5hkscs2008_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +big5hkscs2008_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { int count = 0; unsigned char last = conv->ostate; @@ -231,7 +230,7 @@ big5hkscs2008_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) } static int -big5hkscs2008_reset (conv_t conv, unsigned char *r, int n) +big5hkscs2008_reset (conv_t conv, unsigned char *r, size_t n) { unsigned char last = conv->ostate; diff --git a/Externals/libiconv-1.14/lib/c99.h b/Externals/libiconv/lib/c99.h similarity index 84% rename from Externals/libiconv-1.14/lib/c99.h rename to Externals/libiconv/lib/c99.h index 52a73c354da..290dd9ac567 100644 --- a/Externals/libiconv-1.14/lib/c99.h +++ b/Externals/libiconv/lib/c99.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2002 Free Software Foundation, Inc. + * Copyright (C) 1999-2002, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -27,7 +26,7 @@ */ static int -c99_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +c99_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c; ucs4_t wc; @@ -94,7 +93,7 @@ simply_backslash: } static int -c99_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +c99_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { if (wc < 0xa0) { *r = wc; diff --git a/Externals/libiconv/lib/canonical.h b/Externals/libiconv/lib/canonical.h new file mode 100644 index 00000000000..012634d9b5f --- /dev/null +++ b/Externals/libiconv/lib/canonical.h @@ -0,0 +1,112 @@ + (int)(long)&((struct stringpool_t *)0)->stringpool_str392, + (int)(long)&((struct stringpool_t *)0)->stringpool_str389, + (int)(long)&((struct stringpool_t *)0)->stringpool_str258, + (int)(long)&((struct stringpool_t *)0)->stringpool_str436, + (int)(long)&((struct stringpool_t *)0)->stringpool_str285, + (int)(long)&((struct stringpool_t *)0)->stringpool_str222, + (int)(long)&((struct stringpool_t *)0)->stringpool_str418, + (int)(long)&((struct stringpool_t *)0)->stringpool_str267, + (int)(long)&((struct stringpool_t *)0)->stringpool_str361, + (int)(long)&((struct stringpool_t *)0)->stringpool_str567, + (int)(long)&((struct stringpool_t *)0)->stringpool_str416, + (int)(long)&((struct stringpool_t *)0)->stringpool_str512, + (int)(long)&((struct stringpool_t *)0)->stringpool_str690, + (int)(long)&((struct stringpool_t *)0)->stringpool_str539, + (int)(long)&((struct stringpool_t *)0)->stringpool_str689, + (int)(long)&((struct stringpool_t *)0)->stringpool_str320, + (int)(long)&((struct stringpool_t *)0)->stringpool_str750, + (int)(long)&((struct stringpool_t *)0)->stringpool_str302, + (int)(long)&((struct stringpool_t *)0)->stringpool_str732, + (int)(long)&((struct stringpool_t *)0)->stringpool_str64, + (int)(long)&((struct stringpool_t *)0)->stringpool_str811, + (int)(long)&((struct stringpool_t *)0)->stringpool_str134, + (int)(long)&((struct stringpool_t *)0)->stringpool_str186, + (int)(long)&((struct stringpool_t *)0)->stringpool_str324, + (int)(long)&((struct stringpool_t *)0)->stringpool_str150, + (int)(long)&((struct stringpool_t *)0)->stringpool_str154, + (int)(long)&((struct stringpool_t *)0)->stringpool_str130, + (int)(long)&((struct stringpool_t *)0)->stringpool_str466, + (int)(long)&((struct stringpool_t *)0)->stringpool_str166, + (int)(long)&((struct stringpool_t *)0)->stringpool_str170, + (int)(long)&((struct stringpool_t *)0)->stringpool_str322, + (int)(long)&((struct stringpool_t *)0)->stringpool_str142, + (int)(long)&((struct stringpool_t *)0)->stringpool_str332, + (int)(long)&((struct stringpool_t *)0)->stringpool_str158, + (int)(long)&((struct stringpool_t *)0)->stringpool_str162, + (int)(long)&((struct stringpool_t *)0)->stringpool_str138, + (int)(long)&((struct stringpool_t *)0)->stringpool_str236, + (int)(long)&((struct stringpool_t *)0)->stringpool_str574, + (int)(long)&((struct stringpool_t *)0)->stringpool_str580, + (int)(long)&((struct stringpool_t *)0)->stringpool_str268, + (int)(long)&((struct stringpool_t *)0)->stringpool_str88, + (int)(long)&((struct stringpool_t *)0)->stringpool_str140, + (int)(long)&((struct stringpool_t *)0)->stringpool_str278, + (int)(long)&((struct stringpool_t *)0)->stringpool_str104, + (int)(long)&((struct stringpool_t *)0)->stringpool_str108, + (int)(long)&((struct stringpool_t *)0)->stringpool_str84, + (int)(long)&((struct stringpool_t *)0)->stringpool_str420, + (int)(long)&((struct stringpool_t *)0)->stringpool_str120, + (int)(long)&((struct stringpool_t *)0)->stringpool_str250, + (int)(long)&((struct stringpool_t *)0)->stringpool_str110, + (int)(long)&((struct stringpool_t *)0)->stringpool_str54, + (int)(long)&((struct stringpool_t *)0)->stringpool_str147, + (int)(long)&((struct stringpool_t *)0)->stringpool_str476, + (int)(long)&((struct stringpool_t *)0)->stringpool_str463, + (int)(long)&((struct stringpool_t *)0)->stringpool_str442, + (int)(long)&((struct stringpool_t *)0)->stringpool_str562, + (int)(long)&((struct stringpool_t *)0)->stringpool_str813, + (int)(long)&((struct stringpool_t *)0)->stringpool_str248, + (int)(long)&((struct stringpool_t *)0)->stringpool_str749, + (int)(long)&((struct stringpool_t *)0)->stringpool_str591, + (int)(long)&((struct stringpool_t *)0)->stringpool_str702, + (int)(long)&((struct stringpool_t *)0)->stringpool_str796, + (int)(long)&((struct stringpool_t *)0)->stringpool_str680, + (int)(long)&((struct stringpool_t *)0)->stringpool_str430, + (int)(long)&((struct stringpool_t *)0)->stringpool_str448, + (int)(long)&((struct stringpool_t *)0)->stringpool_str311, + (int)(long)&((struct stringpool_t *)0)->stringpool_str391, + (int)(long)&((struct stringpool_t *)0)->stringpool_str446, + (int)(long)&((struct stringpool_t *)0)->stringpool_str312, + (int)(long)&((struct stringpool_t *)0)->stringpool_str286, + (int)(long)&((struct stringpool_t *)0)->stringpool_str121, + (int)(long)&((struct stringpool_t *)0)->stringpool_str176, + (int)(long)&((struct stringpool_t *)0)->stringpool_str375, + (int)(long)&((struct stringpool_t *)0)->stringpool_str337, + (int)(long)&((struct stringpool_t *)0)->stringpool_str282, + (int)(long)&((struct stringpool_t *)0)->stringpool_str242, + (int)(long)&((struct stringpool_t *)0)->stringpool_str206, + (int)(long)&((struct stringpool_t *)0)->stringpool_str211, + (int)(long)&((struct stringpool_t *)0)->stringpool_str536, + (int)(long)&((struct stringpool_t *)0)->stringpool_str651, + (int)(long)&((struct stringpool_t *)0)->stringpool_str683, + (int)(long)&((struct stringpool_t *)0)->stringpool_str613, + (int)(long)&((struct stringpool_t *)0)->stringpool_str329, + (int)(long)&((struct stringpool_t *)0)->stringpool_str426, + (int)(long)&((struct stringpool_t *)0)->stringpool_str89, + (int)(long)&((struct stringpool_t *)0)->stringpool_str344, + (int)(long)&((struct stringpool_t *)0)->stringpool_str479, + (int)(long)&((struct stringpool_t *)0)->stringpool_str548, + (int)(long)&((struct stringpool_t *)0)->stringpool_str209, + (int)(long)&((struct stringpool_t *)0)->stringpool_str661, + (int)(long)&((struct stringpool_t *)0)->stringpool_str608, + (int)(long)&((struct stringpool_t *)0)->stringpool_str634, + (int)(long)&((struct stringpool_t *)0)->stringpool_str610, + (int)(long)&((struct stringpool_t *)0)->stringpool_str72, + (int)(long)&((struct stringpool_t *)0)->stringpool_str388, + (int)(long)&((struct stringpool_t *)0)->stringpool_str153, + (int)(long)&((struct stringpool_t *)0)->stringpool_str443, + (int)(long)&((struct stringpool_t *)0)->stringpool_str740, + (int)(long)&((struct stringpool_t *)0)->stringpool_str254, + (int)(long)&((struct stringpool_t *)0)->stringpool_str281, + (int)(long)&((struct stringpool_t *)0)->stringpool_str78, + (int)(long)&((struct stringpool_t *)0)->stringpool_str437, + (int)(long)&((struct stringpool_t *)0)->stringpool_str210, + (int)(long)&((struct stringpool_t *)0)->stringpool_str252, + (int)(long)&((struct stringpool_t *)0)->stringpool_str710, + (int)(long)&((struct stringpool_t *)0)->stringpool_str692, + (int)(long)&((struct stringpool_t *)0)->stringpool_str700, + (int)(long)&((struct stringpool_t *)0)->stringpool_str495, + (int)(long)&((struct stringpool_t *)0)->stringpool_str243, + (int)(long)&((struct stringpool_t *)0)->stringpool_str106, + (int)(long)&((struct stringpool_t *)0)->stringpool_str869, + (int)(long)&((struct stringpool_t *)0)->stringpool_str425, diff --git a/Externals/libiconv-1.14/lib/canonical_aix.h b/Externals/libiconv/lib/canonical_aix.h similarity index 100% rename from Externals/libiconv-1.14/lib/canonical_aix.h rename to Externals/libiconv/lib/canonical_aix.h diff --git a/Externals/libiconv-1.14/lib/canonical_aix_sysaix.h b/Externals/libiconv/lib/canonical_aix_sysaix.h similarity index 100% rename from Externals/libiconv-1.14/lib/canonical_aix_sysaix.h rename to Externals/libiconv/lib/canonical_aix_sysaix.h diff --git a/Externals/libiconv-1.14/lib/canonical_dos.h b/Externals/libiconv/lib/canonical_dos.h similarity index 100% rename from Externals/libiconv-1.14/lib/canonical_dos.h rename to Externals/libiconv/lib/canonical_dos.h diff --git a/Externals/libiconv-1.14/lib/canonical_extra.h b/Externals/libiconv/lib/canonical_extra.h similarity index 100% rename from Externals/libiconv-1.14/lib/canonical_extra.h rename to Externals/libiconv/lib/canonical_extra.h diff --git a/Externals/libiconv/lib/canonical_local.h b/Externals/libiconv/lib/canonical_local.h new file mode 100644 index 00000000000..7018202b10f --- /dev/null +++ b/Externals/libiconv/lib/canonical_local.h @@ -0,0 +1,2 @@ + (int)(long)&((struct stringpool_t *)0)->stringpool_str193, + (int)(long)&((struct stringpool_t *)0)->stringpool_str496, diff --git a/Externals/libiconv/lib/canonical_local_sysaix.h b/Externals/libiconv/lib/canonical_local_sysaix.h new file mode 100644 index 00000000000..f578791539a --- /dev/null +++ b/Externals/libiconv/lib/canonical_local_sysaix.h @@ -0,0 +1,2 @@ + (int)(long)&((struct stringpool_t *)0)->stringpool_str15, + (int)(long)&((struct stringpool_t *)0)->stringpool_str484, diff --git a/Externals/libiconv/lib/canonical_local_syshpux.h b/Externals/libiconv/lib/canonical_local_syshpux.h new file mode 100644 index 00000000000..47d6dcf0481 --- /dev/null +++ b/Externals/libiconv/lib/canonical_local_syshpux.h @@ -0,0 +1,2 @@ + (int)(long)&((struct stringpool_t *)0)->stringpool_str171, + (int)(long)&((struct stringpool_t *)0)->stringpool_str723, diff --git a/Externals/libiconv/lib/canonical_local_sysosf1.h b/Externals/libiconv/lib/canonical_local_sysosf1.h new file mode 100644 index 00000000000..216b7fc8615 --- /dev/null +++ b/Externals/libiconv/lib/canonical_local_sysosf1.h @@ -0,0 +1,2 @@ + (int)(long)&((struct stringpool_t *)0)->stringpool_str193, + (int)(long)&((struct stringpool_t *)0)->stringpool_str457, diff --git a/Externals/libiconv/lib/canonical_local_syssolaris.h b/Externals/libiconv/lib/canonical_local_syssolaris.h new file mode 100644 index 00000000000..895c7ee5e54 --- /dev/null +++ b/Externals/libiconv/lib/canonical_local_syssolaris.h @@ -0,0 +1,2 @@ + (int)(long)&((struct stringpool_t *)0)->stringpool_str112, + (int)(long)&((struct stringpool_t *)0)->stringpool_str491, diff --git a/Externals/libiconv-1.14/lib/canonical_osf1.h b/Externals/libiconv/lib/canonical_osf1.h similarity index 100% rename from Externals/libiconv-1.14/lib/canonical_osf1.h rename to Externals/libiconv/lib/canonical_osf1.h diff --git a/Externals/libiconv-1.14/lib/canonical_osf1_sysosf1.h b/Externals/libiconv/lib/canonical_osf1_sysosf1.h similarity index 100% rename from Externals/libiconv-1.14/lib/canonical_osf1_sysosf1.h rename to Externals/libiconv/lib/canonical_osf1_sysosf1.h diff --git a/Externals/libiconv/lib/canonical_sysaix.h b/Externals/libiconv/lib/canonical_sysaix.h new file mode 100644 index 00000000000..e38fb4dd18c --- /dev/null +++ b/Externals/libiconv/lib/canonical_sysaix.h @@ -0,0 +1,112 @@ + (int)(long)&((struct stringpool_t *)0)->stringpool_str391, + (int)(long)&((struct stringpool_t *)0)->stringpool_str282, + (int)(long)&((struct stringpool_t *)0)->stringpool_str145, + (int)(long)&((struct stringpool_t *)0)->stringpool_str452, + (int)(long)&((struct stringpool_t *)0)->stringpool_str267, + (int)(long)&((struct stringpool_t *)0)->stringpool_str131, + (int)(long)&((struct stringpool_t *)0)->stringpool_str445, + (int)(long)&((struct stringpool_t *)0)->stringpool_str260, + (int)(long)&((struct stringpool_t *)0)->stringpool_str255, + (int)(long)&((struct stringpool_t *)0)->stringpool_str573, + (int)(long)&((struct stringpool_t *)0)->stringpool_str388, + (int)(long)&((struct stringpool_t *)0)->stringpool_str303, + (int)(long)&((struct stringpool_t *)0)->stringpool_str610, + (int)(long)&((struct stringpool_t *)0)->stringpool_str425, + (int)(long)&((struct stringpool_t *)0)->stringpool_str618, + (int)(long)&((struct stringpool_t *)0)->stringpool_str418, + (int)(long)&((struct stringpool_t *)0)->stringpool_str469, + (int)(long)&((struct stringpool_t *)0)->stringpool_str411, + (int)(long)&((struct stringpool_t *)0)->stringpool_str462, + (int)(long)&((struct stringpool_t *)0)->stringpool_str5, + (int)(long)&((struct stringpool_t *)0)->stringpool_str457, + (int)(long)&((struct stringpool_t *)0)->stringpool_str155, + (int)(long)&((struct stringpool_t *)0)->stringpool_str183, + (int)(long)&((struct stringpool_t *)0)->stringpool_str207, + (int)(long)&((struct stringpool_t *)0)->stringpool_str169, + (int)(long)&((struct stringpool_t *)0)->stringpool_str177, + (int)(long)&((struct stringpool_t *)0)->stringpool_str161, + (int)(long)&((struct stringpool_t *)0)->stringpool_str527, + (int)(long)&((struct stringpool_t *)0)->stringpool_str191, + (int)(long)&((struct stringpool_t *)0)->stringpool_str151, + (int)(long)&((struct stringpool_t *)0)->stringpool_str242, + (int)(long)&((struct stringpool_t *)0)->stringpool_str158, + (int)(long)&((struct stringpool_t *)0)->stringpool_str210, + (int)(long)&((struct stringpool_t *)0)->stringpool_str172, + (int)(long)&((struct stringpool_t *)0)->stringpool_str180, + (int)(long)&((struct stringpool_t *)0)->stringpool_str164, + (int)(long)&((struct stringpool_t *)0)->stringpool_str313, + (int)(long)&((struct stringpool_t *)0)->stringpool_str507, + (int)(long)&((struct stringpool_t *)0)->stringpool_str508, + (int)(long)&((struct stringpool_t *)0)->stringpool_str127, + (int)(long)&((struct stringpool_t *)0)->stringpool_str43, + (int)(long)&((struct stringpool_t *)0)->stringpool_str71, + (int)(long)&((struct stringpool_t *)0)->stringpool_str95, + (int)(long)&((struct stringpool_t *)0)->stringpool_str57, + (int)(long)&((struct stringpool_t *)0)->stringpool_str65, + (int)(long)&((struct stringpool_t *)0)->stringpool_str49, + (int)(long)&((struct stringpool_t *)0)->stringpool_str415, + (int)(long)&((struct stringpool_t *)0)->stringpool_str79, + (int)(long)&((struct stringpool_t *)0)->stringpool_str128, + (int)(long)&((struct stringpool_t *)0)->stringpool_str64, + (int)(long)&((struct stringpool_t *)0)->stringpool_str42, + (int)(long)&((struct stringpool_t *)0)->stringpool_str44, + (int)(long)&((struct stringpool_t *)0)->stringpool_str437, + (int)(long)&((struct stringpool_t *)0)->stringpool_str557, + (int)(long)&((struct stringpool_t *)0)->stringpool_str429, + (int)(long)&((struct stringpool_t *)0)->stringpool_str451, + (int)(long)&((struct stringpool_t *)0)->stringpool_str542, + (int)(long)&((struct stringpool_t *)0)->stringpool_str426, + (int)(long)&((struct stringpool_t *)0)->stringpool_str744, + (int)(long)&((struct stringpool_t *)0)->stringpool_str809, + (int)(long)&((struct stringpool_t *)0)->stringpool_str815, + (int)(long)&((struct stringpool_t *)0)->stringpool_str958, + (int)(long)&((struct stringpool_t *)0)->stringpool_str518, + (int)(long)&((struct stringpool_t *)0)->stringpool_str560, + (int)(long)&((struct stringpool_t *)0)->stringpool_str309, + (int)(long)&((struct stringpool_t *)0)->stringpool_str647, + (int)(long)&((struct stringpool_t *)0)->stringpool_str453, + (int)(long)&((struct stringpool_t *)0)->stringpool_str270, + (int)(long)&((struct stringpool_t *)0)->stringpool_str315, + (int)(long)&((struct stringpool_t *)0)->stringpool_str549, + (int)(long)&((struct stringpool_t *)0)->stringpool_str90, + (int)(long)&((struct stringpool_t *)0)->stringpool_str101, + (int)(long)&((struct stringpool_t *)0)->stringpool_str305, + (int)(long)&((struct stringpool_t *)0)->stringpool_str96, + (int)(long)&((struct stringpool_t *)0)->stringpool_str245, + (int)(long)&((struct stringpool_t *)0)->stringpool_str233, + (int)(long)&((struct stringpool_t *)0)->stringpool_str342, + (int)(long)&((struct stringpool_t *)0)->stringpool_str187, + (int)(long)&((struct stringpool_t *)0)->stringpool_str490, + (int)(long)&((struct stringpool_t *)0)->stringpool_str725, + (int)(long)&((struct stringpool_t *)0)->stringpool_str761, + (int)(long)&((struct stringpool_t *)0)->stringpool_str711, + (int)(long)&((struct stringpool_t *)0)->stringpool_str226, + (int)(long)&((struct stringpool_t *)0)->stringpool_str246, + (int)(long)&((struct stringpool_t *)0)->stringpool_str219, + (int)(long)&((struct stringpool_t *)0)->stringpool_str276, + (int)(long)&((struct stringpool_t *)0)->stringpool_str553, + (int)(long)&((struct stringpool_t *)0)->stringpool_str853, + (int)(long)&((struct stringpool_t *)0)->stringpool_str67, + (int)(long)&((struct stringpool_t *)0)->stringpool_str671, + (int)(long)&((struct stringpool_t *)0)->stringpool_str623, + (int)(long)&((struct stringpool_t *)0)->stringpool_str637, + (int)(long)&((struct stringpool_t *)0)->stringpool_str633, + (int)(long)&((struct stringpool_t *)0)->stringpool_str81, + (int)(long)&((struct stringpool_t *)0)->stringpool_str466, + (int)(long)&((struct stringpool_t *)0)->stringpool_str45, + (int)(long)&((struct stringpool_t *)0)->stringpool_str254, + (int)(long)&((struct stringpool_t *)0)->stringpool_str477, + (int)(long)&((struct stringpool_t *)0)->stringpool_str199, + (int)(long)&((struct stringpool_t *)0)->stringpool_str318, + (int)(long)&((struct stringpool_t *)0)->stringpool_str48, + (int)(long)&((struct stringpool_t *)0)->stringpool_str569, + (int)(long)&((struct stringpool_t *)0)->stringpool_str286, + (int)(long)&((struct stringpool_t *)0)->stringpool_str108, + (int)(long)&((struct stringpool_t *)0)->stringpool_str719, + (int)(long)&((struct stringpool_t *)0)->stringpool_str721, + (int)(long)&((struct stringpool_t *)0)->stringpool_str728, + (int)(long)&((struct stringpool_t *)0)->stringpool_str555, + (int)(long)&((struct stringpool_t *)0)->stringpool_str272, + (int)(long)&((struct stringpool_t *)0)->stringpool_str16, + (int)(long)&((struct stringpool_t *)0)->stringpool_str814, + (int)(long)&((struct stringpool_t *)0)->stringpool_str390, diff --git a/Externals/libiconv/lib/canonical_syshpux.h b/Externals/libiconv/lib/canonical_syshpux.h new file mode 100644 index 00000000000..33bf24ed1ba --- /dev/null +++ b/Externals/libiconv/lib/canonical_syshpux.h @@ -0,0 +1,112 @@ + (int)(long)&((struct stringpool_t *)0)->stringpool_str396, + (int)(long)&((struct stringpool_t *)0)->stringpool_str355, + (int)(long)&((struct stringpool_t *)0)->stringpool_str293, + (int)(long)&((struct stringpool_t *)0)->stringpool_str499, + (int)(long)&((struct stringpool_t *)0)->stringpool_str345, + (int)(long)&((struct stringpool_t *)0)->stringpool_str267, + (int)(long)&((struct stringpool_t *)0)->stringpool_str486, + (int)(long)&((struct stringpool_t *)0)->stringpool_str332, + (int)(long)&((struct stringpool_t *)0)->stringpool_str322, + (int)(long)&((struct stringpool_t *)0)->stringpool_str553, + (int)(long)&((struct stringpool_t *)0)->stringpool_str399, + (int)(long)&((struct stringpool_t *)0)->stringpool_str430, + (int)(long)&((struct stringpool_t *)0)->stringpool_str636, + (int)(long)&((struct stringpool_t *)0)->stringpool_str482, + (int)(long)&((struct stringpool_t *)0)->stringpool_str495, + (int)(long)&((struct stringpool_t *)0)->stringpool_str503, + (int)(long)&((struct stringpool_t *)0)->stringpool_str500, + (int)(long)&((struct stringpool_t *)0)->stringpool_str490, + (int)(long)&((struct stringpool_t *)0)->stringpool_str487, + (int)(long)&((struct stringpool_t *)0)->stringpool_str110, + (int)(long)&((struct stringpool_t *)0)->stringpool_str639, + (int)(long)&((struct stringpool_t *)0)->stringpool_str114, + (int)(long)&((struct stringpool_t *)0)->stringpool_str178, + (int)(long)&((struct stringpool_t *)0)->stringpool_str230, + (int)(long)&((struct stringpool_t *)0)->stringpool_str152, + (int)(long)&((struct stringpool_t *)0)->stringpool_str142, + (int)(long)&((struct stringpool_t *)0)->stringpool_str128, + (int)(long)&((struct stringpool_t *)0)->stringpool_str306, + (int)(long)&((struct stringpool_t *)0)->stringpool_str166, + (int)(long)&((struct stringpool_t *)0)->stringpool_str112, + (int)(long)&((struct stringpool_t *)0)->stringpool_str223, + (int)(long)&((struct stringpool_t *)0)->stringpool_str119, + (int)(long)&((struct stringpool_t *)0)->stringpool_str235, + (int)(long)&((struct stringpool_t *)0)->stringpool_str157, + (int)(long)&((struct stringpool_t *)0)->stringpool_str147, + (int)(long)&((struct stringpool_t *)0)->stringpool_str133, + (int)(long)&((struct stringpool_t *)0)->stringpool_str100, + (int)(long)&((struct stringpool_t *)0)->stringpool_str516, + (int)(long)&((struct stringpool_t *)0)->stringpool_str519, + (int)(long)&((struct stringpool_t *)0)->stringpool_str277, + (int)(long)&((struct stringpool_t *)0)->stringpool_str173, + (int)(long)&((struct stringpool_t *)0)->stringpool_str237, + (int)(long)&((struct stringpool_t *)0)->stringpool_str289, + (int)(long)&((struct stringpool_t *)0)->stringpool_str211, + (int)(long)&((struct stringpool_t *)0)->stringpool_str201, + (int)(long)&((struct stringpool_t *)0)->stringpool_str187, + (int)(long)&((struct stringpool_t *)0)->stringpool_str365, + (int)(long)&((struct stringpool_t *)0)->stringpool_str225, + (int)(long)&((struct stringpool_t *)0)->stringpool_str266, + (int)(long)&((struct stringpool_t *)0)->stringpool_str219, + (int)(long)&((struct stringpool_t *)0)->stringpool_str169, + (int)(long)&((struct stringpool_t *)0)->stringpool_str185, + (int)(long)&((struct stringpool_t *)0)->stringpool_str515, + (int)(long)&((struct stringpool_t *)0)->stringpool_str731, + (int)(long)&((struct stringpool_t *)0)->stringpool_str501, + (int)(long)&((struct stringpool_t *)0)->stringpool_str696, + (int)(long)&((struct stringpool_t *)0)->stringpool_str626, + (int)(long)&((struct stringpool_t *)0)->stringpool_str610, + (int)(long)&((struct stringpool_t *)0)->stringpool_str680, + (int)(long)&((struct stringpool_t *)0)->stringpool_str518, + (int)(long)&((struct stringpool_t *)0)->stringpool_str1033, + (int)(long)&((struct stringpool_t *)0)->stringpool_str986, + (int)(long)&((struct stringpool_t *)0)->stringpool_str760, + (int)(long)&((struct stringpool_t *)0)->stringpool_str655, + (int)(long)&((struct stringpool_t *)0)->stringpool_str479, + (int)(long)&((struct stringpool_t *)0)->stringpool_str584, + (int)(long)&((struct stringpool_t *)0)->stringpool_str393, + (int)(long)&((struct stringpool_t *)0)->stringpool_str436, + (int)(long)&((struct stringpool_t *)0)->stringpool_str273, + (int)(long)&((struct stringpool_t *)0)->stringpool_str418, + (int)(long)&((struct stringpool_t *)0)->stringpool_str76, + (int)(long)&((struct stringpool_t *)0)->stringpool_str151, + (int)(long)&((struct stringpool_t *)0)->stringpool_str305, + (int)(long)&((struct stringpool_t *)0)->stringpool_str301, + (int)(long)&((struct stringpool_t *)0)->stringpool_str333, + (int)(long)&((struct stringpool_t *)0)->stringpool_str282, + (int)(long)&((struct stringpool_t *)0)->stringpool_str256, + (int)(long)&((struct stringpool_t *)0)->stringpool_str337, + (int)(long)&((struct stringpool_t *)0)->stringpool_str653, + (int)(long)&((struct stringpool_t *)0)->stringpool_str738, + (int)(long)&((struct stringpool_t *)0)->stringpool_str790, + (int)(long)&((struct stringpool_t *)0)->stringpool_str750, + (int)(long)&((struct stringpool_t *)0)->stringpool_str302, + (int)(long)&((struct stringpool_t *)0)->stringpool_str373, + (int)(long)&((struct stringpool_t *)0)->stringpool_str81, + (int)(long)&((struct stringpool_t *)0)->stringpool_str260, + (int)(long)&((struct stringpool_t *)0)->stringpool_str525, + (int)(long)&((struct stringpool_t *)0)->stringpool_str644, + (int)(long)&((struct stringpool_t *)0)->stringpool_str243, + (int)(long)&((struct stringpool_t *)0)->stringpool_str571, + (int)(long)&((struct stringpool_t *)0)->stringpool_str574, + (int)(long)&((struct stringpool_t *)0)->stringpool_str606, + (int)(long)&((struct stringpool_t *)0)->stringpool_str575, + (int)(long)&((struct stringpool_t *)0)->stringpool_str281, + (int)(long)&((struct stringpool_t *)0)->stringpool_str191, + (int)(long)&((struct stringpool_t *)0)->stringpool_str193, + (int)(long)&((struct stringpool_t *)0)->stringpool_str349, + (int)(long)&((struct stringpool_t *)0)->stringpool_str577, + (int)(long)&((struct stringpool_t *)0)->stringpool_str327, + (int)(long)&((struct stringpool_t *)0)->stringpool_str474, + (int)(long)&((struct stringpool_t *)0)->stringpool_str176, + (int)(long)&((struct stringpool_t *)0)->stringpool_str621, + (int)(long)&((struct stringpool_t *)0)->stringpool_str288, + (int)(long)&((struct stringpool_t *)0)->stringpool_str239, + (int)(long)&((struct stringpool_t *)0)->stringpool_str734, + (int)(long)&((struct stringpool_t *)0)->stringpool_str735, + (int)(long)&((struct stringpool_t *)0)->stringpool_str754, + (int)(long)&((struct stringpool_t *)0)->stringpool_str615, + (int)(long)&((struct stringpool_t *)0)->stringpool_str203, + (int)(long)&((struct stringpool_t *)0)->stringpool_str138, + (int)(long)&((struct stringpool_t *)0)->stringpool_str951, + (int)(long)&((struct stringpool_t *)0)->stringpool_str249, diff --git a/Externals/libiconv/lib/canonical_sysosf1.h b/Externals/libiconv/lib/canonical_sysosf1.h new file mode 100644 index 00000000000..9ff3c16c65c --- /dev/null +++ b/Externals/libiconv/lib/canonical_sysosf1.h @@ -0,0 +1,112 @@ + (int)(long)&((struct stringpool_t *)0)->stringpool_str453, + (int)(long)&((struct stringpool_t *)0)->stringpool_str308, + (int)(long)&((struct stringpool_t *)0)->stringpool_str319, + (int)(long)&((struct stringpool_t *)0)->stringpool_str586, + (int)(long)&((struct stringpool_t *)0)->stringpool_str346, + (int)(long)&((struct stringpool_t *)0)->stringpool_str283, + (int)(long)&((struct stringpool_t *)0)->stringpool_str568, + (int)(long)&((struct stringpool_t *)0)->stringpool_str328, + (int)(long)&((struct stringpool_t *)0)->stringpool_str280, + (int)(long)&((struct stringpool_t *)0)->stringpool_str575, + (int)(long)&((struct stringpool_t *)0)->stringpool_str335, + (int)(long)&((struct stringpool_t *)0)->stringpool_str431, + (int)(long)&((struct stringpool_t *)0)->stringpool_str698, + (int)(long)&((struct stringpool_t *)0)->stringpool_str458, + (int)(long)&((struct stringpool_t *)0)->stringpool_str608, + (int)(long)&((struct stringpool_t *)0)->stringpool_str381, + (int)(long)&((struct stringpool_t *)0)->stringpool_str911, + (int)(long)&((struct stringpool_t *)0)->stringpool_str363, + (int)(long)&((struct stringpool_t *)0)->stringpool_str893, + (int)(long)&((struct stringpool_t *)0)->stringpool_str64, + (int)(long)&((struct stringpool_t *)0)->stringpool_str664, + (int)(long)&((struct stringpool_t *)0)->stringpool_str134, + (int)(long)&((struct stringpool_t *)0)->stringpool_str186, + (int)(long)&((struct stringpool_t *)0)->stringpool_str324, + (int)(long)&((struct stringpool_t *)0)->stringpool_str150, + (int)(long)&((struct stringpool_t *)0)->stringpool_str154, + (int)(long)&((struct stringpool_t *)0)->stringpool_str130, + (int)(long)&((struct stringpool_t *)0)->stringpool_str466, + (int)(long)&((struct stringpool_t *)0)->stringpool_str166, + (int)(long)&((struct stringpool_t *)0)->stringpool_str170, + (int)(long)&((struct stringpool_t *)0)->stringpool_str322, + (int)(long)&((struct stringpool_t *)0)->stringpool_str142, + (int)(long)&((struct stringpool_t *)0)->stringpool_str332, + (int)(long)&((struct stringpool_t *)0)->stringpool_str158, + (int)(long)&((struct stringpool_t *)0)->stringpool_str162, + (int)(long)&((struct stringpool_t *)0)->stringpool_str138, + (int)(long)&((struct stringpool_t *)0)->stringpool_str203, + (int)(long)&((struct stringpool_t *)0)->stringpool_str663, + (int)(long)&((struct stringpool_t *)0)->stringpool_str669, + (int)(long)&((struct stringpool_t *)0)->stringpool_str268, + (int)(long)&((struct stringpool_t *)0)->stringpool_str88, + (int)(long)&((struct stringpool_t *)0)->stringpool_str140, + (int)(long)&((struct stringpool_t *)0)->stringpool_str278, + (int)(long)&((struct stringpool_t *)0)->stringpool_str104, + (int)(long)&((struct stringpool_t *)0)->stringpool_str108, + (int)(long)&((struct stringpool_t *)0)->stringpool_str84, + (int)(long)&((struct stringpool_t *)0)->stringpool_str420, + (int)(long)&((struct stringpool_t *)0)->stringpool_str120, + (int)(long)&((struct stringpool_t *)0)->stringpool_str250, + (int)(long)&((struct stringpool_t *)0)->stringpool_str110, + (int)(long)&((struct stringpool_t *)0)->stringpool_str54, + (int)(long)&((struct stringpool_t *)0)->stringpool_str147, + (int)(long)&((struct stringpool_t *)0)->stringpool_str476, + (int)(long)&((struct stringpool_t *)0)->stringpool_str463, + (int)(long)&((struct stringpool_t *)0)->stringpool_str430, + (int)(long)&((struct stringpool_t *)0)->stringpool_str562, + (int)(long)&((struct stringpool_t *)0)->stringpool_str813, + (int)(long)&((struct stringpool_t *)0)->stringpool_str225, + (int)(long)&((struct stringpool_t *)0)->stringpool_str777, + (int)(long)&((struct stringpool_t *)0)->stringpool_str541, + (int)(long)&((struct stringpool_t *)0)->stringpool_str648, + (int)(long)&((struct stringpool_t *)0)->stringpool_str848, + (int)(long)&((struct stringpool_t *)0)->stringpool_str769, + (int)(long)&((struct stringpool_t *)0)->stringpool_str389, + (int)(long)&((struct stringpool_t *)0)->stringpool_str407, + (int)(long)&((struct stringpool_t *)0)->stringpool_str561, + (int)(long)&((struct stringpool_t *)0)->stringpool_str391, + (int)(long)&((struct stringpool_t *)0)->stringpool_str455, + (int)(long)&((struct stringpool_t *)0)->stringpool_str396, + (int)(long)&((struct stringpool_t *)0)->stringpool_str253, + (int)(long)&((struct stringpool_t *)0)->stringpool_str173, + (int)(long)&((struct stringpool_t *)0)->stringpool_str176, + (int)(long)&((struct stringpool_t *)0)->stringpool_str375, + (int)(long)&((struct stringpool_t *)0)->stringpool_str337, + (int)(long)&((struct stringpool_t *)0)->stringpool_str282, + (int)(long)&((struct stringpool_t *)0)->stringpool_str242, + (int)(long)&((struct stringpool_t *)0)->stringpool_str228, + (int)(long)&((struct stringpool_t *)0)->stringpool_str233, + (int)(long)&((struct stringpool_t *)0)->stringpool_str367, + (int)(long)&((struct stringpool_t *)0)->stringpool_str628, + (int)(long)&((struct stringpool_t *)0)->stringpool_str660, + (int)(long)&((struct stringpool_t *)0)->stringpool_str590, + (int)(long)&((struct stringpool_t *)0)->stringpool_str345, + (int)(long)&((struct stringpool_t *)0)->stringpool_str442, + (int)(long)&((struct stringpool_t *)0)->stringpool_str89, + (int)(long)&((struct stringpool_t *)0)->stringpool_str311, + (int)(long)&((struct stringpool_t *)0)->stringpool_str414, + (int)(long)&((struct stringpool_t *)0)->stringpool_str237, + (int)(long)&((struct stringpool_t *)0)->stringpool_str209, + (int)(long)&((struct stringpool_t *)0)->stringpool_str596, + (int)(long)&((struct stringpool_t *)0)->stringpool_str491, + (int)(long)&((struct stringpool_t *)0)->stringpool_str517, + (int)(long)&((struct stringpool_t *)0)->stringpool_str493, + (int)(long)&((struct stringpool_t *)0)->stringpool_str72, + (int)(long)&((struct stringpool_t *)0)->stringpool_str338, + (int)(long)&((struct stringpool_t *)0)->stringpool_str153, + (int)(long)&((struct stringpool_t *)0)->stringpool_str459, + (int)(long)&((struct stringpool_t *)0)->stringpool_str861, + (int)(long)&((struct stringpool_t *)0)->stringpool_str254, + (int)(long)&((struct stringpool_t *)0)->stringpool_str281, + (int)(long)&((struct stringpool_t *)0)->stringpool_str49, + (int)(long)&((struct stringpool_t *)0)->stringpool_str441, + (int)(long)&((struct stringpool_t *)0)->stringpool_str315, + (int)(long)&((struct stringpool_t *)0)->stringpool_str252, + (int)(long)&((struct stringpool_t *)0)->stringpool_str846, + (int)(long)&((struct stringpool_t *)0)->stringpool_str828, + (int)(long)&((struct stringpool_t *)0)->stringpool_str836, + (int)(long)&((struct stringpool_t *)0)->stringpool_str526, + (int)(long)&((struct stringpool_t *)0)->stringpool_str210, + (int)(long)&((struct stringpool_t *)0)->stringpool_str106, + (int)(long)&((struct stringpool_t *)0)->stringpool_str837, + (int)(long)&((struct stringpool_t *)0)->stringpool_str392, diff --git a/Externals/libiconv/lib/canonical_syssolaris.h b/Externals/libiconv/lib/canonical_syssolaris.h new file mode 100644 index 00000000000..5cf218e6f9b --- /dev/null +++ b/Externals/libiconv/lib/canonical_syssolaris.h @@ -0,0 +1,112 @@ + (int)(long)&((struct stringpool_t *)0)->stringpool_str239, + (int)(long)&((struct stringpool_t *)0)->stringpool_str340, + (int)(long)&((struct stringpool_t *)0)->stringpool_str218, + (int)(long)&((struct stringpool_t *)0)->stringpool_str532, + (int)(long)&((struct stringpool_t *)0)->stringpool_str517, + (int)(long)&((struct stringpool_t *)0)->stringpool_str264, + (int)(long)&((struct stringpool_t *)0)->stringpool_str555, + (int)(long)&((struct stringpool_t *)0)->stringpool_str540, + (int)(long)&((struct stringpool_t *)0)->stringpool_str337, + (int)(long)&((struct stringpool_t *)0)->stringpool_str656, + (int)(long)&((struct stringpool_t *)0)->stringpool_str641, + (int)(long)&((struct stringpool_t *)0)->stringpool_str430, + (int)(long)&((struct stringpool_t *)0)->stringpool_str744, + (int)(long)&((struct stringpool_t *)0)->stringpool_str729, + (int)(long)&((struct stringpool_t *)0)->stringpool_str668, + (int)(long)&((struct stringpool_t *)0)->stringpool_str530, + (int)(long)&((struct stringpool_t *)0)->stringpool_str797, + (int)(long)&((struct stringpool_t *)0)->stringpool_str553, + (int)(long)&((struct stringpool_t *)0)->stringpool_str820, + (int)(long)&((struct stringpool_t *)0)->stringpool_str19, + (int)(long)&((struct stringpool_t *)0)->stringpool_str330, + (int)(long)&((struct stringpool_t *)0)->stringpool_str61, + (int)(long)&((struct stringpool_t *)0)->stringpool_str73, + (int)(long)&((struct stringpool_t *)0)->stringpool_str227, + (int)(long)&((struct stringpool_t *)0)->stringpool_str119, + (int)(long)&((struct stringpool_t *)0)->stringpool_str65, + (int)(long)&((struct stringpool_t *)0)->stringpool_str63, + (int)(long)&((struct stringpool_t *)0)->stringpool_str397, + (int)(long)&((struct stringpool_t *)0)->stringpool_str69, + (int)(long)&((struct stringpool_t *)0)->stringpool_str71, + (int)(long)&((struct stringpool_t *)0)->stringpool_str128, + (int)(long)&((struct stringpool_t *)0)->stringpool_str64, + (int)(long)&((struct stringpool_t *)0)->stringpool_str230, + (int)(long)&((struct stringpool_t *)0)->stringpool_str122, + (int)(long)&((struct stringpool_t *)0)->stringpool_str68, + (int)(long)&((struct stringpool_t *)0)->stringpool_str66, + (int)(long)&((struct stringpool_t *)0)->stringpool_str207, + (int)(long)&((struct stringpool_t *)0)->stringpool_str373, + (int)(long)&((struct stringpool_t *)0)->stringpool_str414, + (int)(long)&((struct stringpool_t *)0)->stringpool_str90, + (int)(long)&((struct stringpool_t *)0)->stringpool_str26, + (int)(long)&((struct stringpool_t *)0)->stringpool_str38, + (int)(long)&((struct stringpool_t *)0)->stringpool_str192, + (int)(long)&((struct stringpool_t *)0)->stringpool_str84, + (int)(long)&((struct stringpool_t *)0)->stringpool_str30, + (int)(long)&((struct stringpool_t *)0)->stringpool_str28, + (int)(long)&((struct stringpool_t *)0)->stringpool_str362, + (int)(long)&((struct stringpool_t *)0)->stringpool_str34, + (int)(long)&((struct stringpool_t *)0)->stringpool_str85, + (int)(long)&((struct stringpool_t *)0)->stringpool_str32, + (int)(long)&((struct stringpool_t *)0)->stringpool_str22, + (int)(long)&((struct stringpool_t *)0)->stringpool_str101, + (int)(long)&((struct stringpool_t *)0)->stringpool_str372, + (int)(long)&((struct stringpool_t *)0)->stringpool_str644, + (int)(long)&((struct stringpool_t *)0)->stringpool_str494, + (int)(long)&((struct stringpool_t *)0)->stringpool_str290, + (int)(long)&((struct stringpool_t *)0)->stringpool_str424, + (int)(long)&((struct stringpool_t *)0)->stringpool_str509, + (int)(long)&((struct stringpool_t *)0)->stringpool_str609, + (int)(long)&((struct stringpool_t *)0)->stringpool_str653, + (int)(long)&((struct stringpool_t *)0)->stringpool_str751, + (int)(long)&((struct stringpool_t *)0)->stringpool_str956, + (int)(long)&((struct stringpool_t *)0)->stringpool_str416, + (int)(long)&((struct stringpool_t *)0)->stringpool_str328, + (int)(long)&((struct stringpool_t *)0)->stringpool_str364, + (int)(long)&((struct stringpool_t *)0)->stringpool_str772, + (int)(long)&((struct stringpool_t *)0)->stringpool_str270, + (int)(long)&((struct stringpool_t *)0)->stringpool_str329, + (int)(long)&((struct stringpool_t *)0)->stringpool_str558, + (int)(long)&((struct stringpool_t *)0)->stringpool_str183, + (int)(long)&((struct stringpool_t *)0)->stringpool_str212, + (int)(long)&((struct stringpool_t *)0)->stringpool_str125, + (int)(long)&((struct stringpool_t *)0)->stringpool_str570, + (int)(long)&((struct stringpool_t *)0)->stringpool_str267, + (int)(long)&((struct stringpool_t *)0)->stringpool_str188, + (int)(long)&((struct stringpool_t *)0)->stringpool_str245, + (int)(long)&((struct stringpool_t *)0)->stringpool_str184, + (int)(long)&((struct stringpool_t *)0)->stringpool_str146, + (int)(long)&((struct stringpool_t *)0)->stringpool_str400, + (int)(long)&((struct stringpool_t *)0)->stringpool_str687, + (int)(long)&((struct stringpool_t *)0)->stringpool_str695, + (int)(long)&((struct stringpool_t *)0)->stringpool_str667, + (int)(long)&((struct stringpool_t *)0)->stringpool_str295, + (int)(long)&((struct stringpool_t *)0)->stringpool_str377, + (int)(long)&((struct stringpool_t *)0)->stringpool_str89, + (int)(long)&((struct stringpool_t *)0)->stringpool_str240, + (int)(long)&((struct stringpool_t *)0)->stringpool_str542, + (int)(long)&((struct stringpool_t *)0)->stringpool_str673, + (int)(long)&((struct stringpool_t *)0)->stringpool_str115, + (int)(long)&((struct stringpool_t *)0)->stringpool_str539, + (int)(long)&((struct stringpool_t *)0)->stringpool_str404, + (int)(long)&((struct stringpool_t *)0)->stringpool_str410, + (int)(long)&((struct stringpool_t *)0)->stringpool_str467, + (int)(long)&((struct stringpool_t *)0)->stringpool_str106, + (int)(long)&((struct stringpool_t *)0)->stringpool_str307, + (int)(long)&((struct stringpool_t *)0)->stringpool_str105, + (int)(long)&((struct stringpool_t *)0)->stringpool_str300, + (int)(long)&((struct stringpool_t *)0)->stringpool_str614, + (int)(long)&((struct stringpool_t *)0)->stringpool_str103, + (int)(long)&((struct stringpool_t *)0)->stringpool_str131, + (int)(long)&((struct stringpool_t *)0)->stringpool_str124, + (int)(long)&((struct stringpool_t *)0)->stringpool_str448, + (int)(long)&((struct stringpool_t *)0)->stringpool_str274, + (int)(long)&((struct stringpool_t *)0)->stringpool_str86, + (int)(long)&((struct stringpool_t *)0)->stringpool_str934, + (int)(long)&((struct stringpool_t *)0)->stringpool_str929, + (int)(long)&((struct stringpool_t *)0)->stringpool_str958, + (int)(long)&((struct stringpool_t *)0)->stringpool_str701, + (int)(long)&((struct stringpool_t *)0)->stringpool_str279, + (int)(long)&((struct stringpool_t *)0)->stringpool_str59, + (int)(long)&((struct stringpool_t *)0)->stringpool_str645, + (int)(long)&((struct stringpool_t *)0)->stringpool_str276, diff --git a/Externals/libiconv/lib/canonical_zos.h b/Externals/libiconv/lib/canonical_zos.h new file mode 100644 index 00000000000..bb9ff7ee244 --- /dev/null +++ b/Externals/libiconv/lib/canonical_zos.h @@ -0,0 +1,53 @@ + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_0, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_8, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_12, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_17, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_23, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_28, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_30, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_35, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_40, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_45, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_50, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_55, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_57, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_63, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_67, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_73, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_78, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_82, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_87, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_92, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_99, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_102, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_106, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_110, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_113, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_116, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_119, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_122, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_125, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_128, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_131, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_138, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_145, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_153, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_161, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_168, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_175, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_182, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_189, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_196, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_203, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_206, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_209, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_212, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_215, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_218, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_221, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_224, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_227, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_229, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_232, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_235, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_238, diff --git a/Externals/libiconv-1.14/lib/ces_big5.h b/Externals/libiconv/lib/ces_big5.h similarity index 76% rename from Externals/libiconv-1.14/lib/ces_big5.h rename to Externals/libiconv/lib/ces_big5.h index 2f87735bcd3..7a29204d42b 100644 --- a/Externals/libiconv-1.14/lib/ces_big5.h +++ b/Externals/libiconv/lib/ces_big5.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -23,7 +22,7 @@ */ static int -ces_big5_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +ces_big5_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; /* Code set 0 (ASCII) */ @@ -45,7 +44,7 @@ ces_big5_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) } static int -ces_big5_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +ces_big5_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char buf[2]; int ret; diff --git a/Externals/libiconv-1.14/lib/ces_gbk.h b/Externals/libiconv/lib/ces_gbk.h similarity index 74% rename from Externals/libiconv-1.14/lib/ces_gbk.h rename to Externals/libiconv/lib/ces_gbk.h index 69e61f7dc50..02e658da528 100644 --- a/Externals/libiconv-1.14/lib/ces_gbk.h +++ b/Externals/libiconv/lib/ces_gbk.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001, 2005 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2005, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -23,7 +22,7 @@ */ static int -ces_gbk_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +ces_gbk_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; @@ -40,7 +39,7 @@ ces_gbk_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) } static int -ces_gbk_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +ces_gbk_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char buf[2]; int ret; diff --git a/Externals/libiconv-1.14/lib/cjk_variants.h b/Externals/libiconv/lib/cjk_variants.h similarity index 99% rename from Externals/libiconv-1.14/lib/cjk_variants.h rename to Externals/libiconv/lib/cjk_variants.h index 23cb4b3263c..3a30840dd76 100644 --- a/Externals/libiconv-1.14/lib/cjk_variants.h +++ b/Externals/libiconv/lib/cjk_variants.h @@ -3,19 +3,18 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* diff --git a/Externals/libiconv-1.14/lib/cns11643.h b/Externals/libiconv/lib/cns11643.h similarity index 79% rename from Externals/libiconv-1.14/lib/cns11643.h rename to Externals/libiconv/lib/cns11643.h index 5b166412545..044bf9da0be 100644 --- a/Externals/libiconv-1.14/lib/cns11643.h +++ b/Externals/libiconv/lib/cns11643.h @@ -3,19 +3,18 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* diff --git a/Externals/libiconv-1.14/lib/cns11643_1.h b/Externals/libiconv/lib/cns11643_1.h similarity index 99% rename from Externals/libiconv-1.14/lib/cns11643_1.h rename to Externals/libiconv/lib/cns11643_1.h index 24abb5ccbd4..a6673ef1759 100644 --- a/Externals/libiconv-1.14/lib/cns11643_1.h +++ b/Externals/libiconv/lib/cns11643_1.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2005 Free Software Foundation, Inc. + * Copyright (C) 1999-2005, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -854,7 +853,7 @@ static const unsigned short cns11643_1_2uni_page44[5401] = { }; static int -cns11643_1_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +cns11643_1_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c1 = s[0]; if ((c1 >= 0x21 && c1 <= 0x27) || (c1 == 0x42) || (c1 >= 0x44 && c1 <= 0x7d)) { diff --git a/Externals/libiconv-1.14/lib/cns11643_15.h b/Externals/libiconv/lib/cns11643_15.h similarity index 99% rename from Externals/libiconv-1.14/lib/cns11643_15.h rename to Externals/libiconv/lib/cns11643_15.h index cfe0ba69bcc..672406b5232 100644 --- a/Externals/libiconv-1.14/lib/cns11643_15.h +++ b/Externals/libiconv/lib/cns11643_15.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2002 Free Software Foundation, Inc. + * Copyright (C) 1999-2002, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -1054,7 +1053,7 @@ static const ucs4_t cns11643_15_2uni_upages[253] = { }; static int -cns11643_15_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +cns11643_15_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c1 = s[0]; if ((c1 >= 0x21 && c1 <= 0x6d)) { diff --git a/Externals/libiconv-1.14/lib/cns11643_2.h b/Externals/libiconv/lib/cns11643_2.h similarity index 99% rename from Externals/libiconv-1.14/lib/cns11643_2.h rename to Externals/libiconv/lib/cns11643_2.h index 7a73c60fa73..535051a3a93 100644 --- a/Externals/libiconv-1.14/lib/cns11643_2.h +++ b/Externals/libiconv/lib/cns11643_2.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -1085,7 +1084,7 @@ static const unsigned short cns11643_2_2uni_page21[7650] = { }; static int -cns11643_2_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +cns11643_2_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c1 = s[0]; if ((c1 >= 0x21 && c1 <= 0x72)) { diff --git a/Externals/libiconv-1.14/lib/cns11643_3.h b/Externals/libiconv/lib/cns11643_3.h similarity index 99% rename from Externals/libiconv-1.14/lib/cns11643_3.h rename to Externals/libiconv/lib/cns11643_3.h index e2630131bbc..79d9dbd64cd 100644 --- a/Externals/libiconv-1.14/lib/cns11643_3.h +++ b/Externals/libiconv/lib/cns11643_3.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2002 Free Software Foundation, Inc. + * Copyright (C) 1999-2002, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -941,7 +940,7 @@ static const ucs4_t cns11643_3_2uni_upages[136] = { }; static int -cns11643_3_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +cns11643_3_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c1 = s[0]; if ((c1 >= 0x21 && c1 <= 0x62) || (c1 >= 0x64 && c1 <= 0x67)) { diff --git a/Externals/libiconv-1.14/lib/cns11643_4.h b/Externals/libiconv/lib/cns11643_4.h similarity index 80% rename from Externals/libiconv-1.14/lib/cns11643_4.h rename to Externals/libiconv/lib/cns11643_4.h index e7259920b54..5aa04a05cfa 100644 --- a/Externals/libiconv-1.14/lib/cns11643_4.h +++ b/Externals/libiconv/lib/cns11643_4.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -30,7 +29,7 @@ #include "cns11643_4b.h" static int -cns11643_4_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +cns11643_4_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c1 = s[0]; if ((c1 >= 0x21 && c1 <= 0x6e)) { diff --git a/Externals/libiconv-1.14/lib/cns11643_4a.h b/Externals/libiconv/lib/cns11643_4a.h similarity index 98% rename from Externals/libiconv-1.14/lib/cns11643_4a.h rename to Externals/libiconv/lib/cns11643_4a.h index ee81576a7af..779685cd452 100644 --- a/Externals/libiconv-1.14/lib/cns11643_4a.h +++ b/Externals/libiconv/lib/cns11643_4a.h @@ -3,19 +3,18 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* diff --git a/Externals/libiconv-1.14/lib/cns11643_4b.h b/Externals/libiconv/lib/cns11643_4b.h similarity index 99% rename from Externals/libiconv-1.14/lib/cns11643_4b.h rename to Externals/libiconv/lib/cns11643_4b.h index 6a9823e1aae..b2090917424 100644 --- a/Externals/libiconv-1.14/lib/cns11643_4b.h +++ b/Externals/libiconv/lib/cns11643_4b.h @@ -3,19 +3,18 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* diff --git a/Externals/libiconv-1.14/lib/cns11643_5.h b/Externals/libiconv/lib/cns11643_5.h similarity index 99% rename from Externals/libiconv-1.14/lib/cns11643_5.h rename to Externals/libiconv/lib/cns11643_5.h index f0e5ebea915..7002dfa6d9c 100644 --- a/Externals/libiconv-1.14/lib/cns11643_5.h +++ b/Externals/libiconv/lib/cns11643_5.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2002 Free Software Foundation, Inc. + * Copyright (C) 1999-2002, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -1249,7 +1248,7 @@ static const ucs4_t cns11643_5_2uni_upages[229] = { }; static int -cns11643_5_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +cns11643_5_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c1 = s[0]; if ((c1 >= 0x21 && c1 <= 0x7c)) { diff --git a/Externals/libiconv-1.14/lib/cns11643_6.h b/Externals/libiconv/lib/cns11643_6.h similarity index 99% rename from Externals/libiconv-1.14/lib/cns11643_6.h rename to Externals/libiconv/lib/cns11643_6.h index 84939843513..acfafafc79e 100644 --- a/Externals/libiconv-1.14/lib/cns11643_6.h +++ b/Externals/libiconv/lib/cns11643_6.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2002 Free Software Foundation, Inc. + * Copyright (C) 1999-2002, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -939,7 +938,7 @@ static const ucs4_t cns11643_6_2uni_upages[204] = { }; static int -cns11643_6_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +cns11643_6_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c1 = s[0]; if ((c1 >= 0x21 && c1 <= 0x64)) { diff --git a/Externals/libiconv-1.14/lib/cns11643_7.h b/Externals/libiconv/lib/cns11643_7.h similarity index 99% rename from Externals/libiconv-1.14/lib/cns11643_7.h rename to Externals/libiconv/lib/cns11643_7.h index 44532bc4e11..2d23fdad61a 100644 --- a/Externals/libiconv-1.14/lib/cns11643_7.h +++ b/Externals/libiconv/lib/cns11643_7.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2002 Free Software Foundation, Inc. + * Copyright (C) 1999-2002, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -959,7 +958,7 @@ static const ucs4_t cns11643_7_2uni_upages[198] = { }; static int -cns11643_7_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +cns11643_7_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c1 = s[0]; if ((c1 >= 0x21 && c1 <= 0x66)) { diff --git a/Externals/libiconv-1.14/lib/cns11643_inv.h b/Externals/libiconv/lib/cns11643_inv.h similarity index 99% rename from Externals/libiconv-1.14/lib/cns11643_inv.h rename to Externals/libiconv/lib/cns11643_inv.h index 3a7c379a154..665d30e780f 100644 --- a/Externals/libiconv-1.14/lib/cns11643_inv.h +++ b/Externals/libiconv/lib/cns11643_inv.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2005 Free Software Foundation, Inc. + * Copyright (C) 1999-2005, 2012, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -15366,7 +15365,7 @@ static const Summary16 cns11643_inv_uni2indx_page2f8[34] = { }; static int -cns11643_inv_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +cns11643_inv_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { if (n >= 2) { const Summary16 *summary = NULL; @@ -15392,9 +15391,9 @@ cns11643_inv_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) unsigned short used = summary->used; unsigned int i = wc & 0x0f; if (used & ((unsigned short) 1 << i)) { - /* Keep in `used' only the bits 0..i-1. */ + /* 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'. */ + /* 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); diff --git a/Externals/libiconv/lib/compat.c b/Externals/libiconv/lib/compat.c new file mode 100644 index 00000000000..41f5950bb85 --- /dev/null +++ b/Externals/libiconv/lib/compat.c @@ -0,0 +1,29 @@ +/* + * Copyright (C) 2023 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV Library is free software; you can redistribute it + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV Library is distributed in the hope that it will be + * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with the GNU LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +#include + +#include "config.h" + +/* This file defines symbols for backward compatibility. */ + +void libiconv_set_relocation_prefix (const char *orig_prefix, + const char *curr_prefix) +{ +} diff --git a/Externals/libiconv/lib/config.h.in b/Externals/libiconv/lib/config.h.in new file mode 100644 index 00000000000..a996548f66a --- /dev/null +++ b/Externals/libiconv/lib/config.h.in @@ -0,0 +1,63 @@ +/* Define to 1 to enable a few rarely used encodings. */ +#cmakedefine01 ENABLE_EXTRA + +/* Define to 1 if the package shall run at any location in the filesystem. */ +#cmakedefine01 ENABLE_RELOCATABLE + +/* Define to a type if does not define. */ +#cmakedefine mbstate_t "@MBSTATE_T@" + +/* Define if you have , the iconv_t type, and the + iconv_open, iconv, iconv_close functions. */ +#cmakedefine01 HAVE_ICONV +/* Define as const if the declaration of iconv() needs const. */ +#define ICONV_CONST + +/* Define to 1 if you have the getc_unlocked() function. */ +#cmakedefine01 HAVE_GETC_UNLOCKED + +/* Define if you have and nl_langinfo(CODESET). */ +#cmakedefine01 HAVE_LANGINFO_CODESET + +/* Define if you have the mbrtowc() function. */ +#cmakedefine01 HAVE_MBRTOWC + +/* Define to 1 if you have the setlocale() function. */ +#cmakedefine01 HAVE_SETLOCALE + +/* Define to 1 if you have the header file. */ +#cmakedefine01 HAVE_STDDEF_H + +/* Define to 1 if you have the header file. */ +#cmakedefine01 HAVE_STDLIB_H + +/* Define to 1 if you have the header file. */ +#cmakedefine01 HAVE_STRING_H + +/* Define to 1 or 0, depending whether the compiler supports simple visibility + declarations. */ +#cmakedefine01 HAVE_VISIBILITY + +/* Define if you have the wcrtomb() function. */ +#cmakedefine01 HAVE_WCRTOMB + +/* Define to 1 if O_NOFOLLOW works. */ +#cmakedefine01 HAVE_WORKING_O_NOFOLLOW + +/* Define if the machine's byte ordering is little endian. */ +#cmakedefine01 WORDS_LITTLEENDIAN + +/* Define to the value of ${prefix}, as a string. */ +#cmakedefine INSTALLPREFIX "@CMAKE_INSTALL_PREFIX@" + +/* Define to '__inline__' or '__inline' if that's what the C compiler + calls it, or to nothing if 'inline' is not supported under any name. */ +#ifndef __cplusplus +#cmakedefine inline "@INLINE@" +#endif + +/* Define to 'int' if does not define. */ +#cmakedefine mode_t "@MODE_T@" + +/* Define as a signed type of the same size as size_t. */ +#cmakedefine ssize_t "@SSIZE_T@" diff --git a/Externals/libiconv-1.14/lib/converters.h b/Externals/libiconv/lib/converters.h similarity index 64% rename from Externals/libiconv-1.14/lib/converters.h rename to Externals/libiconv/lib/converters.h index 18c5f9966b3..8f412742edf 100644 --- a/Externals/libiconv-1.14/lib/converters.h +++ b/Externals/libiconv/lib/converters.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2002, 2004-2010 Free Software Foundation, Inc. + * Copyright (C) 1999-2024 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* This file defines all the converters. */ @@ -34,14 +33,16 @@ typedef struct conv_struct * conv_t; * Data type for conversion multibyte -> unicode */ struct mbtowc_funcs { - int (*xxx_mbtowc) (conv_t conv, ucs4_t *pwc, unsigned char const *s, int n); + int (*xxx_mbtowc) (conv_t conv, ucs4_t *pwc, unsigned char const *s, size_t n); /* - * int xxx_mbtowc (conv_t conv, ucs4_t *pwc, unsigned char const *s, int n) + * int xxx_mbtowc (conv_t conv, ucs4_t *pwc, unsigned char const *s, size_t 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), - * or -1 if invalid, or -2 if n too small, or -2-(number of bytes consumed) - * if only a shift sequence was read. + * or -1 if invalid, or -2 if n too small, + * or RET_SHIFT_ILSEQ(number of bytes consumed) if invalid input after a shift + * sequence was read, + * or RET_TOOFEW(number of bytes consumed) if only a shift sequence was read. */ int (*xxx_flushwc) (conv_t conv, ucs4_t *pwc); /* @@ -61,21 +62,23 @@ struct mbtowc_funcs { /* Retrieve the n from the encoded RET_... value. */ #define DECODE_SHIFT_ILSEQ(r) ((unsigned int)(RET_SHIFT_ILSEQ(0) - (r)) / 2) #define DECODE_TOOFEW(r) ((unsigned int)(RET_TOOFEW(0) - (r)) / 2) +/* Maximum value of n that may be used as argument to RET_SHIFT_ILSEQ or RET_TOOFEW. */ +#define RET_COUNT_MAX ((INT_MAX / 2) - 1) /* * Data type for conversion unicode -> multibyte */ struct wctomb_funcs { - int (*xxx_wctomb) (conv_t conv, unsigned char *r, ucs4_t wc, int n); + int (*xxx_wctomb) (conv_t conv, unsigned char *r, ucs4_t wc, size_t n); /* - * int xxx_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) + * int xxx_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t 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 -1 if invalid, or -2 if n too small. */ - int (*xxx_reset) (conv_t conv, unsigned char *r, int n); + int (*xxx_reset) (conv_t conv, unsigned char *r, size_t n); /* - * int xxx_reset (conv_t conv, unsigned char *r, int n) + * int xxx_reset (conv_t conv, unsigned char *r, size_t n) * stores a shift sequences returning to the initial state beginning at r. * Up to n bytes may be written at r. n is >= 0. * Result is number of bytes written, or -2 if n too small. @@ -95,21 +98,29 @@ struct conv_struct { /* Input (conversion multibyte -> unicode) */ int iindex; struct mbtowc_funcs ifuncs; + unsigned int isurface; + state_t ibyteorder; state_t istate; /* Output (conversion unicode -> multibyte) */ int oindex; struct wctomb_funcs ofuncs; int oflags; + unsigned int osurface; state_t ostate; /* Operation flags */ int transliterate; - int discard_ilseq; - #ifndef LIBICONV_PLUG + unsigned int discard_ilseq; struct iconv_fallbacks fallbacks; struct iconv_hooks hooks; - #endif }; +/* The bits in discard_ilseq. */ +/* Bit mask for discard invalid multibyte sequences in the input. */ +#define DISCARD_INVALID 2U +/* Bit mask for discard characters that cannot be represented in the target + character set. */ +#define DISCARD_UNCONVERTIBLE 1U + /* * Include all the converters. */ @@ -228,11 +239,13 @@ typedef struct { #include "iso2022_jp.h" #include "iso2022_jp1.h" #include "iso2022_jp2.h" +#include "iso2022_jpms.h" #include "euc_cn.h" #include "ces_gbk.h" #include "cp936.h" -#include "gb18030.h" +#include "gb18030_2005.h" +#include "gb18030_2022.h" #include "iso2022_cn.h" #include "iso2022_cnext.h" #include "hz.h" @@ -286,6 +299,92 @@ typedef struct { #include "cp1125.h" #endif +#ifdef USE_ZOS + +#define DEDUPLICATE_TABLES 1 + +/* Swaps the values 0x15 and 0x25. + Both gcc and clang compile this expression to something that involves as few + conditional branching instructions as possible. */ +#define swap_x15_x25_a(x) ((x) == 0x15 ? 0x25 : (x) == 0x25 ? 0x15 : (x)) +#define swap_x15_x25_b(x) ((x) ^ ((x) == 0x15 || (x) == 0x25 ? 0x30 : 0)) +#define swap_x15_x25_c(x) ((x) ^ ((((x) - 0x15) & ~0x10) == 0 ? 0x30 : 0)) +/* Number of conditional branches (with "gcc -O2", as of 2023): + a b c + --------------- + aarch64 1 0 0 + alpha 0 0 0 + arm 1 0 0 + hppa 1 1 1 + i686 1 0 0 + m68k 2 1 1 + mips 2 1 0 + mips64 2 1 0 + powerpc 2 1 1 + powerpc64 2 1 1 + powerpc64le 2 1 1 + riscv64 2 1 1 + s390x 1 1 1 + sh4 2 1 1 + x86_64 1 0 0 +*/ +#define swap_x15_x25 swap_x15_x25_c + +#include "ebcdic037.h" +#include "ebcdic273.h" +#include "ebcdic277.h" +#include "ebcdic278.h" +#include "ebcdic280.h" +#include "ebcdic282.h" +#include "ebcdic284.h" +#include "ebcdic285.h" +#include "ebcdic297.h" +#include "ebcdic423.h" +#include "ebcdic424.h" +#include "ebcdic425.h" +#include "ebcdic500.h" +#include "ebcdic838.h" +#include "ebcdic870.h" +#include "ebcdic871.h" +#include "ebcdic875.h" +#include "ebcdic880.h" +#include "ebcdic905.h" +#include "ebcdic924.h" +#include "ebcdic1025.h" +#include "ebcdic1026.h" +#include "ebcdic1047.h" +#include "ebcdic1097.h" +#include "ebcdic1112.h" +#include "ebcdic1122.h" +#include "ebcdic1123.h" +#include "ebcdic1130.h" +#include "ebcdic1132.h" +#include "ebcdic1137.h" +#include "ebcdic1140.h" +#include "ebcdic1141.h" +#include "ebcdic1142.h" +#include "ebcdic1143.h" +#include "ebcdic1144.h" +#include "ebcdic1145.h" +#include "ebcdic1146.h" +#include "ebcdic1147.h" +#include "ebcdic1148.h" +#include "ebcdic1149.h" +#include "ebcdic1153.h" +#include "ebcdic1154.h" +#include "ebcdic1155.h" +#include "ebcdic1156.h" +#include "ebcdic1157.h" +#include "ebcdic1158.h" +#include "ebcdic1160.h" +#include "ebcdic1164.h" +#include "ebcdic1165.h" +#include "ebcdic1166.h" +#include "ebcdic4971.h" +#include "ebcdic12712.h" +#include "ebcdic16804.h" +#endif + #ifdef USE_EXTRA #include "euc_jisx0213.h" #include "shift_jisx0213.h" diff --git a/Externals/libiconv-1.14/lib/cp1046.h b/Externals/libiconv/lib/cp1046.h similarity index 93% rename from Externals/libiconv-1.14/lib/cp1046.h rename to Externals/libiconv/lib/cp1046.h index b6716b73db3..7ea291fb8ed 100644 --- a/Externals/libiconv-1.14/lib/cp1046.h +++ b/Externals/libiconv/lib/cp1046.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -50,7 +49,7 @@ static const unsigned short cp1046_2uni[128] = { }; static int -cp1046_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +cp1046_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; if (c < 0x80) { @@ -130,7 +129,7 @@ static const unsigned char cp1046_pagefe[144] = { }; static int -cp1046_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +cp1046_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char c = 0; if (wc < 0x0080) { diff --git a/Externals/libiconv-1.14/lib/cp1124.h b/Externals/libiconv/lib/cp1124.h similarity index 88% rename from Externals/libiconv-1.14/lib/cp1124.h rename to Externals/libiconv/lib/cp1124.h index 8b97a7e8515..80f14326a0a 100644 --- a/Externals/libiconv-1.14/lib/cp1124.h +++ b/Externals/libiconv/lib/cp1124.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -44,7 +43,7 @@ static const unsigned short cp1124_2uni[96] = { }; static int -cp1124_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +cp1124_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; if (c < 0xa0) @@ -81,7 +80,7 @@ static const unsigned char cp1124_page04[152] = { }; static int -cp1124_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +cp1124_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char c = 0; if (wc < 0x00a0) { diff --git a/Externals/libiconv-1.14/lib/cp1125.h b/Externals/libiconv/lib/cp1125.h similarity index 91% rename from Externals/libiconv-1.14/lib/cp1125.h rename to Externals/libiconv/lib/cp1125.h index 802f0742d6c..ddafbf41b7a 100644 --- a/Externals/libiconv-1.14/lib/cp1125.h +++ b/Externals/libiconv/lib/cp1125.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -41,7 +40,7 @@ static const unsigned short cp1125_2uni[80] = { }; static int -cp1125_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +cp1125_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; if (c < 0x80) @@ -104,7 +103,7 @@ static const unsigned char cp1125_page25[168] = { }; static int -cp1125_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +cp1125_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char c = 0; if (wc < 0x0080) { diff --git a/Externals/libiconv-1.14/lib/cp1129.h b/Externals/libiconv/lib/cp1129.h similarity index 91% rename from Externals/libiconv-1.14/lib/cp1129.h rename to Externals/libiconv/lib/cp1129.h index 1b7cff85943..54944ea509b 100644 --- a/Externals/libiconv-1.14/lib/cp1129.h +++ b/Externals/libiconv/lib/cp1129.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -44,7 +43,7 @@ static const unsigned short cp1129_2uni[96] = { }; static int -cp1129_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +cp1129_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; if (c < 0xa0) @@ -100,7 +99,7 @@ static const unsigned char cp1129_page03[40] = { }; static int -cp1129_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +cp1129_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char c = 0; if (wc < 0x00a8) { diff --git a/Externals/libiconv-1.14/lib/cp1131.h b/Externals/libiconv/lib/cp1131.h similarity index 92% rename from Externals/libiconv-1.14/lib/cp1131.h rename to Externals/libiconv/lib/cp1131.h index 15f4ed2accf..40623947edb 100644 --- a/Externals/libiconv-1.14/lib/cp1131.h +++ b/Externals/libiconv/lib/cp1131.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2002 Free Software Foundation, Inc. + * Copyright (C) 1999-2002, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -50,7 +49,7 @@ static const unsigned short cp1131_2uni[128] = { }; static int -cp1131_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +cp1131_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; if (c < 0x80) @@ -109,7 +108,7 @@ static const unsigned char cp1131_page25[152] = { }; static int -cp1131_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +cp1131_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char c = 0; if (wc < 0x0080) { diff --git a/Externals/libiconv-1.14/lib/cp1133.h b/Externals/libiconv/lib/cp1133.h similarity index 87% rename from Externals/libiconv-1.14/lib/cp1133.h rename to Externals/libiconv/lib/cp1133.h index a16d93f1a46..5e69f281cb7 100644 --- a/Externals/libiconv-1.14/lib/cp1133.h +++ b/Externals/libiconv/lib/cp1133.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -43,7 +42,7 @@ static const unsigned short cp1133_2uni_2[16] = { }; static int -cp1133_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +cp1133_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; if (c < 0xa0) { @@ -89,7 +88,7 @@ static const unsigned char cp1133_page0e[96] = { }; static int -cp1133_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +cp1133_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char c = 0; if (wc < 0x00a0) { diff --git a/Externals/libiconv-1.14/lib/cp1161.h b/Externals/libiconv/lib/cp1161.h similarity index 84% rename from Externals/libiconv-1.14/lib/cp1161.h rename to Externals/libiconv/lib/cp1161.h index b6349c67c4c..50166489b21 100644 --- a/Externals/libiconv-1.14/lib/cp1161.h +++ b/Externals/libiconv/lib/cp1161.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2002 Free Software Foundation, Inc. + * Copyright (C) 1999-2002, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -44,7 +43,7 @@ static const unsigned short cp1161_2uni[96] = { }; static int -cp1161_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +cp1161_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; if (c < 0x80) { @@ -66,7 +65,7 @@ static const unsigned char cp1161_page00[16] = { }; static int -cp1161_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +cp1161_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char c = 0; if (wc < 0x0080) { diff --git a/Externals/libiconv-1.14/lib/cp1162.h b/Externals/libiconv/lib/cp1162.h similarity index 76% rename from Externals/libiconv-1.14/lib/cp1162.h rename to Externals/libiconv/lib/cp1162.h index 6c7fa82ae5d..e7c0eb175e2 100644 --- a/Externals/libiconv-1.14/lib/cp1162.h +++ b/Externals/libiconv/lib/cp1162.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2002 Free Software Foundation, Inc. + * Copyright (C) 1999-2002, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -23,7 +22,7 @@ */ static int -cp1162_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +cp1162_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; if (c < 0x80) { @@ -45,7 +44,7 @@ cp1162_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) } static int -cp1162_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +cp1162_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char c = 0; if (wc < 0x0080) { diff --git a/Externals/libiconv-1.14/lib/cp1163.h b/Externals/libiconv/lib/cp1163.h similarity index 75% rename from Externals/libiconv-1.14/lib/cp1163.h rename to Externals/libiconv/lib/cp1163.h index ca5d0b07d11..6c563655c5a 100644 --- a/Externals/libiconv-1.14/lib/cp1163.h +++ b/Externals/libiconv/lib/cp1163.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2002 Free Software Foundation, Inc. + * Copyright (C) 1999-2002, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -23,7 +22,7 @@ */ static int -cp1163_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +cp1163_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; if (c < 0xa0) @@ -40,7 +39,7 @@ static const unsigned char cp1163_page20[8] = { }; static int -cp1163_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +cp1163_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char c = 0; if (wc < 0x00a0 || (wc < 0x00a8 && wc != 0x00a4) || wc == 0x00d0) { diff --git a/Externals/libiconv-1.14/lib/cp1250.h b/Externals/libiconv/lib/cp1250.h similarity index 92% rename from Externals/libiconv-1.14/lib/cp1250.h rename to Externals/libiconv/lib/cp1250.h index b89300fecb8..3b6f7b12e46 100644 --- a/Externals/libiconv-1.14/lib/cp1250.h +++ b/Externals/libiconv/lib/cp1250.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -50,7 +49,7 @@ static const unsigned short cp1250_2uni[128] = { }; static int -cp1250_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +cp1250_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; if (c < 0x80) { @@ -114,7 +113,7 @@ static const unsigned char cp1250_page20[48] = { }; static int -cp1250_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +cp1250_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char c = 0; if (wc < 0x0080) { diff --git a/Externals/libiconv-1.14/lib/cp1251.h b/Externals/libiconv/lib/cp1251.h similarity index 91% rename from Externals/libiconv-1.14/lib/cp1251.h rename to Externals/libiconv/lib/cp1251.h index 0fa540db490..c7e3a29eb0a 100644 --- a/Externals/libiconv-1.14/lib/cp1251.h +++ b/Externals/libiconv/lib/cp1251.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -50,7 +49,7 @@ static const unsigned short cp1251_2uni[128] = { }; static int -cp1251_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +cp1251_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; if (c < 0x80) { @@ -104,7 +103,7 @@ static const unsigned char cp1251_page20[48] = { }; static int -cp1251_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +cp1251_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char c = 0; if (wc < 0x0080) { diff --git a/Externals/libiconv-1.14/lib/cp1252.h b/Externals/libiconv/lib/cp1252.h similarity index 87% rename from Externals/libiconv-1.14/lib/cp1252.h rename to Externals/libiconv/lib/cp1252.h index 15644423add..b4c23b7cf8b 100644 --- a/Externals/libiconv-1.14/lib/cp1252.h +++ b/Externals/libiconv/lib/cp1252.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -32,7 +31,7 @@ static const unsigned short cp1252_2uni[32] = { }; static int -cp1252_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +cp1252_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; if (c < 0x80 || c >= 0xa0) { @@ -76,7 +75,7 @@ static const unsigned char cp1252_page20[48] = { }; static int -cp1252_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +cp1252_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char c = 0; if (wc < 0x0080) { diff --git a/Externals/libiconv-1.14/lib/cp1253.h b/Externals/libiconv/lib/cp1253.h similarity index 90% rename from Externals/libiconv-1.14/lib/cp1253.h rename to Externals/libiconv/lib/cp1253.h index 020f0d6e057..e5b36ca31ab 100644 --- a/Externals/libiconv-1.14/lib/cp1253.h +++ b/Externals/libiconv/lib/cp1253.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -50,7 +49,7 @@ static const unsigned short cp1253_2uni[128] = { }; static int -cp1253_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +cp1253_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; if (c < 0x80) { @@ -95,7 +94,7 @@ static const unsigned char cp1253_page20[48] = { }; static int -cp1253_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +cp1253_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char c = 0; if (wc < 0x0080) { diff --git a/Externals/libiconv-1.14/lib/cp1254.h b/Externals/libiconv/lib/cp1254.h similarity index 91% rename from Externals/libiconv-1.14/lib/cp1254.h rename to Externals/libiconv/lib/cp1254.h index 845a01b8948..15bbc1531d9 100644 --- a/Externals/libiconv-1.14/lib/cp1254.h +++ b/Externals/libiconv/lib/cp1254.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -42,7 +41,7 @@ static const unsigned short cp1254_2uni_3[16] = { }; static int -cp1254_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +cp1254_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; if (c < 0x80) { @@ -117,7 +116,7 @@ static const unsigned char cp1254_page20[48] = { }; static int -cp1254_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +cp1254_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char c = 0; if (wc < 0x0080) { diff --git a/Externals/libiconv-1.14/lib/cp1255.h b/Externals/libiconv/lib/cp1255.h similarity index 95% rename from Externals/libiconv-1.14/lib/cp1255.h rename to Externals/libiconv/lib/cp1255.h index e7761aeb5b3..213daa2cc3c 100644 --- a/Externals/libiconv-1.14/lib/cp1255.h +++ b/Externals/libiconv/lib/cp1255.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001, 2004 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2004, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -153,7 +152,7 @@ static const unsigned short cp1255_2uni[128] = { 0x00b8, 0x00b9, 0x00f7, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x00bf, /* 0xc0 */ 0x05b0, 0x05b1, 0x05b2, 0x05b3, 0x05b4, 0x05b5, 0x05b6, 0x05b7, - 0x05b8, 0x05b9, 0xfffd, 0x05bb, 0x05bc, 0x05bd, 0x05be, 0x05bf, + 0x05b8, 0x05b9, 0x05ba, 0x05bb, 0x05bc, 0x05bd, 0x05be, 0x05bf, /* 0xd0 */ 0x05c0, 0x05c1, 0x05c2, 0x05c3, 0x05f0, 0x05f1, 0x05f2, 0x05f3, 0x05f4, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, @@ -169,7 +168,7 @@ static const unsigned short cp1255_2uni[128] = { character, or 0 if none. */ static int -cp1255_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +cp1255_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; unsigned short wc; @@ -276,7 +275,7 @@ static const unsigned char cp1255_page02[32] = { }; static const unsigned char cp1255_page05[72] = { 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0xb0-0xb7 */ - 0xc8, 0xc9, 0x00, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, /* 0xb8-0xbf */ + 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, /* 0xb8-0xbf */ 0xd0, 0xd1, 0xd2, 0xd3, 0x00, 0x00, 0x00, 0x00, /* 0xc0-0xc7 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xc8-0xcf */ 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, /* 0xd0-0xd7 */ @@ -296,7 +295,7 @@ static const unsigned char cp1255_page20[56] = { }; static int -cp1255_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +cp1255_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char c = 0; if (wc < 0x0080) { diff --git a/Externals/libiconv-1.14/lib/cp1256.h b/Externals/libiconv/lib/cp1256.h similarity index 93% rename from Externals/libiconv-1.14/lib/cp1256.h rename to Externals/libiconv/lib/cp1256.h index 3804e8f4bdf..51fc13affe2 100644 --- a/Externals/libiconv-1.14/lib/cp1256.h +++ b/Externals/libiconv/lib/cp1256.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -50,7 +49,7 @@ static const unsigned short cp1256_2uni[128] = { }; static int -cp1256_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +cp1256_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; if (c < 0x80) @@ -124,7 +123,7 @@ static const unsigned char cp1256_page20[56] = { }; static int -cp1256_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +cp1256_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char c = 0; if (wc < 0x0080) { diff --git a/Externals/libiconv-1.14/lib/cp1257.h b/Externals/libiconv/lib/cp1257.h similarity index 92% rename from Externals/libiconv-1.14/lib/cp1257.h rename to Externals/libiconv/lib/cp1257.h index 0d8518e4e23..dc5716ec545 100644 --- a/Externals/libiconv-1.14/lib/cp1257.h +++ b/Externals/libiconv/lib/cp1257.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -50,7 +49,7 @@ static const unsigned short cp1257_2uni[128] = { }; static int -cp1257_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +cp1257_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; if (c < 0x80) { @@ -114,7 +113,7 @@ static const unsigned char cp1257_page20[48] = { }; static int -cp1257_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +cp1257_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char c = 0; if (wc < 0x0080) { diff --git a/Externals/libiconv-1.14/lib/cp1258.h b/Externals/libiconv/lib/cp1258.h similarity index 95% rename from Externals/libiconv-1.14/lib/cp1258.h rename to Externals/libiconv/lib/cp1258.h index 57834048373..b56557f3d60 100644 --- a/Externals/libiconv-1.14/lib/cp1258.h +++ b/Externals/libiconv/lib/cp1258.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001, 2004 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2004, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -72,7 +71,7 @@ static const unsigned short cp1258_2uni[128] = { character, or 0 if none. */ static int -cp1258_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +cp1258_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; unsigned short wc; @@ -201,7 +200,7 @@ static const unsigned char cp1258_page20[48] = { }; static int -cp1258_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +cp1258_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char c = 0; if (wc < 0x0080) { diff --git a/Externals/libiconv-1.14/lib/cp437.h b/Externals/libiconv/lib/cp437.h similarity index 93% rename from Externals/libiconv-1.14/lib/cp437.h rename to Externals/libiconv/lib/cp437.h index a3c8e685bb4..fb1d8180b80 100644 --- a/Externals/libiconv-1.14/lib/cp437.h +++ b/Externals/libiconv/lib/cp437.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -50,7 +49,7 @@ static const unsigned short cp437_2uni[128] = { }; static int -cp437_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +cp437_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; if (c < 0x80) @@ -125,7 +124,7 @@ static const unsigned char cp437_page25[168] = { }; static int -cp437_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +cp437_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char c = 0; if (wc < 0x0080) { diff --git a/Externals/libiconv/lib/cp50221_0208_ext.h b/Externals/libiconv/lib/cp50221_0208_ext.h new file mode 100644 index 00000000000..9519223ad8e --- /dev/null +++ b/Externals/libiconv/lib/cp50221_0208_ext.h @@ -0,0 +1,149 @@ +/* + * Copyright (C) 1999-2012, 2016 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV Library is free software; you can redistribute it + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV Library is distributed in the hope that it will be + * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with the GNU LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * CP50221 JISX0208 extensions + */ + +static const unsigned short cp50221_0208_ext_2uni[96] = { + /* 0x00 */ + 0xfffd, 0x2460, 0x2461, 0x2462, 0x2463, 0x2464, 0x2465, 0x2466, + 0x2467, 0x2468, 0x2469, 0x246a, 0x246b, 0x246c, 0x246d, 0x246e, + /* 0x10 */ + 0x246f, 0x2470, 0x2471, 0x2472, 0x2473, 0x2160, 0x2161, 0x2162, + 0x2163, 0x2164, 0x2165, 0x2166, 0x2167, 0x2168, 0x2169, 0xfffd, + /* 0x20 */ + 0x3349, 0x3314, 0x3322, 0x334d, 0x3318, 0x3327, 0x3303, 0x3336, + 0x3351, 0x3357, 0x330d, 0x3326, 0x3323, 0x332b, 0x334a, 0x333b, + /* 0x30 */ + 0x339c, 0x339d, 0x339e, 0x338e, 0x338f, 0x33c4, 0x33a1, 0xfffd, + 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0x337b, + /* 0x40 */ + 0x301e, 0x301f, 0x2116, 0x33cd, 0x2121, 0x32a4, 0x32a5, 0x32a6, + 0x32a7, 0x32a8, 0x3231, 0x3232, 0x3239, 0x337e, 0x337d, 0x337c, + /* 0x50 */ + 0xfffd, 0xfffd, 0xfffd, 0x222e, 0x2211, 0xfffd, 0xfffd, 0xfffd, + 0x221f, 0x22bf, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, +}; + +static int +cp50221_0208_ext_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + if (c < 0x60) { + unsigned short wc = cp50221_0208_ext_2uni[c]; + if (wc != 0xfffd) { + *pwc = (ucs4_t) wc; + return 1; + } + } + return RET_ILSEQ; +} + +static const unsigned char cp50221_0208_ext_page21[96] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x00, /* 0x10-0x17 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x18-0x1f */ + 0x00, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x20-0x27 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x28-0x2f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x30-0x37 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x38-0x3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x40-0x47 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x48-0x4f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x50-0x57 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x58-0x5f */ + 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, /* 0x60-0x67 */ + 0x1d, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x68-0x6f */ +}; +static const unsigned char cp50221_0208_ext_page22[32] = { + 0x00, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10-0x17 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, /* 0x18-0x1f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x20-0x27 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x53, 0x00, /* 0x28-0x2f */ +}; +static const unsigned char cp50221_0208_ext_page24[24] = { + 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, /* 0x60-0x67 */ + 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, /* 0x68-0x6f */ + 0x11, 0x12, 0x13, 0x14, 0x00, 0x00, 0x00, 0x00, /* 0x70-0x77 */ +}; +static const unsigned char cp50221_0208_ext_page30[8] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x41, /* 0x18-0x1f */ +}; +static const unsigned char cp50221_0208_ext_page32[16] = { + 0x00, 0x4a, 0x4b, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x30-0x37 */ + 0x00, 0x4c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x38-0x3f */ +}; +static const unsigned char cp50221_0208_ext_page32_1[16] = { + 0x00, 0x00, 0x00, 0x00, 0x45, 0x46, 0x47, 0x48, /* 0xa0-0xa7 */ + 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa8-0xaf */ +}; +static const unsigned char cp50221_0208_ext_page33[208] = { + 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x00, /* 0x00-0x07 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, /* 0x08-0x0f */ + 0x00, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, /* 0x10-0x17 */ + 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x18-0x1f */ + 0x00, 0x00, 0x22, 0x2c, 0x00, 0x00, 0x2b, 0x25, /* 0x20-0x27 */ + 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x00, /* 0x28-0x2f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0x00, /* 0x30-0x37 */ + 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, 0x00, /* 0x38-0x3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x40-0x47 */ + 0x00, 0x20, 0x2e, 0x00, 0x00, 0x23, 0x00, 0x00, /* 0x48-0x4f */ + 0x00, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x29, /* 0x50-0x57 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x58-0x5f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x60-0x67 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x68-0x6f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x70-0x77 */ + 0x00, 0x00, 0x00, 0x3f, 0x4f, 0x4e, 0x4d, 0x00, /* 0x78-0x7f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x80-0x87 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x34, /* 0x88-0x8f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x90-0x97 */ + 0x00, 0x00, 0x00, 0x00, 0x30, 0x31, 0x32, 0x00, /* 0x98-0x9f */ + 0x00, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa0-0xa7 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa8-0xaf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xb0-0xb7 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xb8-0xbf */ + 0x00, 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, /* 0xc0-0xc7 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, /* 0xc8-0xcf */ +}; + +static int +cp50221_0208_ext_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc >= 0x2110 && wc < 0x2170) + c = cp50221_0208_ext_page21[wc-0x2110]; + else if (wc >= 0x2210 && wc < 0x2230) + c = cp50221_0208_ext_page22[wc-0x2210]; + else if (wc == 0x22bf) + c = 0x59; + else if (wc >= 0x2460 && wc < 0x2478) + c = cp50221_0208_ext_page24[wc-0x2460]; + else if (wc >= 0x3018 && wc < 0x3020) + c = cp50221_0208_ext_page30[wc-0x3018]; + else if (wc >= 0x3230 && wc < 0x3240) + c = cp50221_0208_ext_page32[wc-0x3230]; + else if (wc >= 0x32a0 && wc < 0x32b0) + c = cp50221_0208_ext_page32_1[wc-0x32a0]; + else if (wc >= 0x3300 && wc < 0x33d0) + c = cp50221_0208_ext_page33[wc-0x3300]; + if (c != 0) { + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/Externals/libiconv/lib/cp50221_0212_ext.h b/Externals/libiconv/lib/cp50221_0212_ext.h new file mode 100644 index 00000000000..78d48396445 --- /dev/null +++ b/Externals/libiconv/lib/cp50221_0212_ext.h @@ -0,0 +1,212 @@ +/* + * Copyright (C) 1999-2011, 2016 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV Library is free software; you can redistribute it + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV Library is distributed in the hope that it will be + * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with the GNU LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * CP50221 JISX0212 extensions + */ + +static const unsigned short cp50221_0212_ext_2uni[112] = { + /* 0x00 */ + 0xfffd, 0x2170, 0x2171, 0x2172, 0x2173, 0x2174, 0x2175, 0x2176, + 0x2177, 0x2178, 0x2179, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, + /* 0x10 */ + 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xff07, 0xff02, 0xfffd, + 0xfffd, 0xfffd, 0x70bb, 0x4efc, 0x50f4, 0x51ec, 0x5307, 0x5324, + /* 0x20 */ + 0xfa0e, 0x548a, 0x5759, 0xfa0f, 0xfa10, 0x589e, 0x5bec, 0x5cf5, + 0x5d53, 0xfa11, 0x5fb7, 0x6085, 0x6120, 0x654e, 0xfffd, 0x6665, + /* 0x30 */ + 0xfa12, 0xf929, 0x6801, 0xfa13, 0xfa14, 0x6a6b, 0x6ae2, 0x6df8, + 0x6df2, 0x7028, 0xfa15, 0xfa16, 0x7501, 0x7682, 0x769e, 0xfa17, + /* 0x40 */ + 0x7930, 0xfa18, 0xfa19, 0xfa1a, 0xfa1b, 0x7ae7, 0xfa1c, 0xfa1d, + 0x7da0, 0x7dd6, 0xfa1e, 0x8362, 0xfa1f, 0x85b0, 0xfa20, 0xfa21, + /* 0x50 */ + 0x8807, 0xfa22, 0x8b7f, 0x8cf4, 0x8d76, 0xfa23, 0xfa24, 0xfa25, + 0x90de, 0xfa26, 0x9115, 0xfa27, 0xfa28, 0x9592, 0xf9dc, 0xfa29, + /* 0x60 */ + 0x973b, 0xfffd, 0x9751, 0xfa2a, 0xfa2b, 0xfa2c, 0x999e, 0x9ad9, + 0x9b72, 0xfa2d, 0x9ed1, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, +}; + +static int +cp50221_0212_ext_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + if (c < 0x70) { + unsigned short wc = cp50221_0212_ext_2uni[c]; + if (wc != 0xfffd) { + *pwc = (ucs4_t) wc; + return 1; + } + } + else if (c == 0xa1) { + *pwc = 0x974d; + return 1; + } + return RET_ILSEQ; +} + +static const unsigned char cp50221_0212_ext_page21[16] = { + 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, /* 0x70-0x77 */ + 0x09, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x78-0x7f */ +}; +static const unsigned char cp50221_0212_ext_page53[40] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, /* 0x00-0x07 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x08-0x0f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10-0x17 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x18-0x1f */ + 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, /* 0x20-0x27 */ +}; +static const unsigned char cp50221_0212_ext_page6d[16] = { + 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xf0-0xf7 */ + 0x37, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xf8-0xff */ +}; +static const unsigned char cp50221_0212_ext_page76[32] = { + 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x80-0x87 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x88-0x8f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x90-0x97 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x00, /* 0x98-0x9f */ +}; +static const unsigned char cp50221_0212_ext_page7d[56] = { + 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa0-0xa7 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa8-0xaf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xb0-0xb7 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xb8-0xbf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xc0-0xc7 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xc8-0xcf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x00, /* 0xd0-0xd7 */ +}; +static const unsigned char cp50221_0212_ext_page97[32] = { + 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, /* 0x38-0x3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x40-0x47 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0xa1, 0x00, 0x00, /* 0x48-0x4f */ + 0x00, 0x62, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x50-0x57 */ +}; +static const unsigned char cp50221_0212_ext_pagefa[40] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x23, /* 0x08-0x0f */ + 0x24, 0x29, 0x30, 0x33, 0x34, 0x3a, 0x3b, 0x3f, /* 0x10-0x17 */ + 0x41, 0x42, 0x43, 0x44, 0x46, 0x47, 0x4a, 0x4c, /* 0x18-0x1f */ + 0x4e, 0x4f, 0x51, 0x55, 0x56, 0x57, 0x59, 0x5b, /* 0x20-0x27 */ + 0x5c, 0x5f, 0x63, 0x64, 0x65, 0x69, 0x00, 0x00, /* 0x28-0x2f */ +}; +static const unsigned char cp50221_0212_ext_pageff[8] = { + 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x00, 0x15, /* 0x00-0x07 */ +}; + +static int +cp50221_0212_ext_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc >= 0x2170 && wc < 0x2180) + c = cp50221_0212_ext_page21[wc-0x2170]; + else if (wc == 0x4efc) + c = 0x1b; + else if (wc == 0x50f4) + c = 0x1c; + else if (wc == 0x51ec) + c = 0x1d; + else if (wc >= 0x5300 && wc < 0x5328) + c = cp50221_0212_ext_page53[wc-0x5300]; + else if (wc == 0x548a) + c = 0x21; + else if (wc == 0x5759) + c = 0x22; + else if (wc == 0x589e) + c = 0x25; + else if (wc == 0x5bec) + c = 0x26; + else if (wc == 0x5cf5) + c = 0x27; + else if (wc == 0x5d53) + c = 0x28; + else if (wc == 0x5fb7) + c = 0x2a; + else if (wc == 0x6085) + c = 0x2b; + else if (wc == 0x6120) + c = 0x2c; + else if (wc == 0x654e) + c = 0x2d; + else if (wc == 0x6665) + c = 0x2f; + else if (wc == 0x6801) + c = 0x32; + else if (wc == 0x6a6b) + c = 0x35; + else if (wc == 0x6ae2) + c = 0x36; + else if (wc >= 0x6df0 && wc < 0x6e00) + c = cp50221_0212_ext_page6d[wc-0x6df0]; + else if (wc == 0x7028) + c = 0x39; + else if (wc == 0x70bb) + c = 0x1a; + else if (wc == 0x7501) + c = 0x3c; + else if (wc >= 0x7680 && wc < 0x76a0) + c = cp50221_0212_ext_page76[wc-0x7680]; + else if (wc == 0x7930) + c = 0x40; + else if (wc == 0x7ae7) + c = 0x45; + else if (wc >= 0x7da0 && wc < 0x7dd8) + c = cp50221_0212_ext_page7d[wc-0x7da0]; + else if (wc == 0x8362) + c = 0x4b; + else if (wc == 0x85b0) + c = 0x4d; + else if (wc == 0x8807) + c = 0x50; + else if (wc == 0x8b7f) + c = 0x52; + else if (wc == 0x8cf4) + c = 0x53; + else if (wc == 0x8d76) + c = 0x54; + else if (wc == 0x90de) + c = 0x58; + else if (wc == 0x9115) + c = 0x5a; + else if (wc == 0x9592) + c = 0x5d; + else if (wc >= 0x9738 && wc < 0x9758) + c = cp50221_0212_ext_page97[wc-0x9738]; + else if (wc == 0x999e) + c = 0x66; + else if (wc == 0x9ad9) + c = 0x67; + else if (wc == 0x9b72) + c = 0x68; + else if (wc == 0x9ed1) + c = 0x6a; + else if (wc == 0xf929) + c = 0x31; + else if (wc == 0xf9dc) + c = 0x5e; + else if (wc >= 0xfa08 && wc < 0xfa30) + c = cp50221_0212_ext_pagefa[wc-0xfa08]; + else if (wc >= 0xff00 && wc < 0xff08) + c = cp50221_0212_ext_pageff[wc-0xff00]; + if (c != 0) { + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/Externals/libiconv-1.14/lib/cp737.h b/Externals/libiconv/lib/cp737.h similarity index 92% rename from Externals/libiconv-1.14/lib/cp737.h rename to Externals/libiconv/lib/cp737.h index 955e458d043..32ef6809ed7 100644 --- a/Externals/libiconv-1.14/lib/cp737.h +++ b/Externals/libiconv/lib/cp737.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2002 Free Software Foundation, Inc. + * Copyright (C) 1999-2002, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -50,7 +49,7 @@ static const unsigned short cp737_2uni[128] = { }; static int -cp737_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +cp737_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; if (c < 0x80) @@ -114,7 +113,7 @@ static const unsigned char cp737_page25[168] = { }; static int -cp737_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +cp737_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char c = 0; if (wc < 0x0080) { diff --git a/Externals/libiconv-1.14/lib/cp775.h b/Externals/libiconv/lib/cp775.h similarity index 92% rename from Externals/libiconv-1.14/lib/cp775.h rename to Externals/libiconv/lib/cp775.h index b9a5a5c4eb9..ada10bd0f48 100644 --- a/Externals/libiconv-1.14/lib/cp775.h +++ b/Externals/libiconv/lib/cp775.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -50,7 +49,7 @@ static const unsigned short cp775_2uni[128] = { }; static int -cp775_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +cp775_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; if (c < 0x80) @@ -119,7 +118,7 @@ static const unsigned char cp775_page25[168] = { }; static int -cp775_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +cp775_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char c = 0; if (wc < 0x0080) { diff --git a/Externals/libiconv-1.14/lib/cp850.h b/Externals/libiconv/lib/cp850.h similarity index 91% rename from Externals/libiconv-1.14/lib/cp850.h rename to Externals/libiconv/lib/cp850.h index 25acfee1481..794e72be47e 100644 --- a/Externals/libiconv-1.14/lib/cp850.h +++ b/Externals/libiconv/lib/cp850.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -50,7 +49,7 @@ static const unsigned short cp850_2uni[128] = { }; static int -cp850_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +cp850_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; if (c < 0x80) @@ -99,7 +98,7 @@ static const unsigned char cp850_page25[168] = { }; static int -cp850_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +cp850_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char c = 0; if (wc < 0x0080) { diff --git a/Externals/libiconv-1.14/lib/cp852.h b/Externals/libiconv/lib/cp852.h similarity index 93% rename from Externals/libiconv-1.14/lib/cp852.h rename to Externals/libiconv/lib/cp852.h index fac7a63f15c..c6707bdb789 100644 --- a/Externals/libiconv-1.14/lib/cp852.h +++ b/Externals/libiconv/lib/cp852.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -50,7 +49,7 @@ static const unsigned short cp852_2uni[128] = { }; static int -cp852_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +cp852_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; if (c < 0x80) @@ -122,7 +121,7 @@ static const unsigned char cp852_page25[168] = { }; static int -cp852_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +cp852_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char c = 0; if (wc < 0x0080) { diff --git a/Externals/libiconv-1.14/lib/cp853.h b/Externals/libiconv/lib/cp853.h similarity index 93% rename from Externals/libiconv-1.14/lib/cp853.h rename to Externals/libiconv/lib/cp853.h index fe82ae9817b..3af252bb1dc 100644 --- a/Externals/libiconv-1.14/lib/cp853.h +++ b/Externals/libiconv/lib/cp853.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2002 Free Software Foundation, Inc. + * Copyright (C) 1999-2002, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -50,7 +49,7 @@ static const unsigned short cp853_2uni[128] = { }; static int -cp853_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +cp853_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; if (c < 0x80) { @@ -126,7 +125,7 @@ static const unsigned char cp853_page25[168] = { }; static int -cp853_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +cp853_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char c = 0; if (wc < 0x0080) { diff --git a/Externals/libiconv-1.14/lib/cp855.h b/Externals/libiconv/lib/cp855.h similarity index 91% rename from Externals/libiconv-1.14/lib/cp855.h rename to Externals/libiconv/lib/cp855.h index ddb8bf17d08..9fc109a7fc5 100644 --- a/Externals/libiconv-1.14/lib/cp855.h +++ b/Externals/libiconv/lib/cp855.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -50,7 +49,7 @@ static const unsigned short cp855_2uni[128] = { }; static int -cp855_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +cp855_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; if (c < 0x80) @@ -105,7 +104,7 @@ static const unsigned char cp855_page25[168] = { }; static int -cp855_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +cp855_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char c = 0; if (wc < 0x0080) { diff --git a/Externals/libiconv-1.14/lib/cp856.h b/Externals/libiconv/lib/cp856.h similarity index 91% rename from Externals/libiconv-1.14/lib/cp856.h rename to Externals/libiconv/lib/cp856.h index 30ba80b331d..9cce5759782 100644 --- a/Externals/libiconv-1.14/lib/cp856.h +++ b/Externals/libiconv/lib/cp856.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -50,7 +49,7 @@ static const unsigned short cp856_2uni[128] = { }; static int -cp856_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +cp856_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; if (c < 0x80) { @@ -111,7 +110,7 @@ static const unsigned char cp856_page25[168] = { }; static int -cp856_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +cp856_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char c = 0; if (wc < 0x0080) { diff --git a/Externals/libiconv-1.14/lib/cp857.h b/Externals/libiconv/lib/cp857.h similarity index 92% rename from Externals/libiconv-1.14/lib/cp857.h rename to Externals/libiconv/lib/cp857.h index 09de722d215..3a191a203b4 100644 --- a/Externals/libiconv-1.14/lib/cp857.h +++ b/Externals/libiconv/lib/cp857.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -50,7 +49,7 @@ static const unsigned short cp857_2uni[128] = { }; static int -cp857_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +cp857_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; if (c < 0x80) { @@ -117,7 +116,7 @@ static const unsigned char cp857_page25[168] = { }; static int -cp857_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +cp857_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char c = 0; if (wc < 0x0080) { diff --git a/Externals/libiconv-1.14/lib/cp858.h b/Externals/libiconv/lib/cp858.h similarity index 73% rename from Externals/libiconv-1.14/lib/cp858.h rename to Externals/libiconv/lib/cp858.h index dd26d0a27e2..c7bddb29f3d 100644 --- a/Externals/libiconv-1.14/lib/cp858.h +++ b/Externals/libiconv/lib/cp858.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2002 Free Software Foundation, Inc. + * Copyright (C) 1999-2002, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -23,7 +22,7 @@ */ static int -cp858_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +cp858_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; if (c < 0x80) @@ -36,7 +35,7 @@ cp858_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) } static int -cp858_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +cp858_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char c = 0; if (wc < 0x0080) { diff --git a/Externals/libiconv-1.14/lib/cp860.h b/Externals/libiconv/lib/cp860.h similarity index 93% rename from Externals/libiconv-1.14/lib/cp860.h rename to Externals/libiconv/lib/cp860.h index 2cca2f12ff9..afa25fb8ebd 100644 --- a/Externals/libiconv-1.14/lib/cp860.h +++ b/Externals/libiconv/lib/cp860.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2002 Free Software Foundation, Inc. + * Copyright (C) 1999-2002, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -50,7 +49,7 @@ static const unsigned short cp860_2uni[128] = { }; static int -cp860_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +cp860_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; if (c < 0x80) @@ -120,7 +119,7 @@ static const unsigned char cp860_page25[168] = { }; static int -cp860_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +cp860_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char c = 0; if (wc < 0x0080) { diff --git a/Externals/libiconv-1.14/lib/cp861.h b/Externals/libiconv/lib/cp861.h similarity index 93% rename from Externals/libiconv-1.14/lib/cp861.h rename to Externals/libiconv/lib/cp861.h index 07bcf5f2d8a..b131570047c 100644 --- a/Externals/libiconv-1.14/lib/cp861.h +++ b/Externals/libiconv/lib/cp861.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -50,7 +49,7 @@ static const unsigned short cp861_2uni[128] = { }; static int -cp861_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +cp861_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; if (c < 0x80) @@ -125,7 +124,7 @@ static const unsigned char cp861_page25[168] = { }; static int -cp861_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +cp861_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char c = 0; if (wc < 0x0080) { diff --git a/Externals/libiconv-1.14/lib/cp862.h b/Externals/libiconv/lib/cp862.h similarity index 93% rename from Externals/libiconv-1.14/lib/cp862.h rename to Externals/libiconv/lib/cp862.h index 623fc4d5fa5..9aaeca3810a 100644 --- a/Externals/libiconv-1.14/lib/cp862.h +++ b/Externals/libiconv/lib/cp862.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -50,7 +49,7 @@ static const unsigned short cp862_2uni[128] = { }; static int -cp862_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +cp862_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; if (c < 0x80) @@ -120,7 +119,7 @@ static const unsigned char cp862_page25[168] = { }; static int -cp862_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +cp862_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char c = 0; if (wc < 0x0080) { diff --git a/Externals/libiconv-1.14/lib/cp863.h b/Externals/libiconv/lib/cp863.h similarity index 93% rename from Externals/libiconv-1.14/lib/cp863.h rename to Externals/libiconv/lib/cp863.h index 5890ad423d5..03f8ac6402b 100644 --- a/Externals/libiconv-1.14/lib/cp863.h +++ b/Externals/libiconv/lib/cp863.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2002 Free Software Foundation, Inc. + * Copyright (C) 1999-2002, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -50,7 +49,7 @@ static const unsigned short cp863_2uni[128] = { }; static int -cp863_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +cp863_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; if (c < 0x80) @@ -125,7 +124,7 @@ static const unsigned char cp863_page25[168] = { }; static int -cp863_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +cp863_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char c = 0; if (wc < 0x0080) { diff --git a/Externals/libiconv-1.14/lib/cp864.h b/Externals/libiconv/lib/cp864.h similarity index 94% rename from Externals/libiconv-1.14/lib/cp864.h rename to Externals/libiconv/lib/cp864.h index a1d8c4a23fd..c20a85565de 100644 --- a/Externals/libiconv-1.14/lib/cp864.h +++ b/Externals/libiconv/lib/cp864.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -55,7 +54,7 @@ static const unsigned short cp864_2uni_2[128] = { }; static int -cp864_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +cp864_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; if (c < 0x20) { @@ -151,7 +150,7 @@ static const unsigned char cp864_pagefe[136] = { }; static int -cp864_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +cp864_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char c = 0; if (wc < 0x0020) { diff --git a/Externals/libiconv-1.14/lib/cp865.h b/Externals/libiconv/lib/cp865.h similarity index 93% rename from Externals/libiconv-1.14/lib/cp865.h rename to Externals/libiconv/lib/cp865.h index 3944916d9fd..d0476e169f6 100644 --- a/Externals/libiconv-1.14/lib/cp865.h +++ b/Externals/libiconv/lib/cp865.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -50,7 +49,7 @@ static const unsigned short cp865_2uni[128] = { }; static int -cp865_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +cp865_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; if (c < 0x80) @@ -125,7 +124,7 @@ static const unsigned char cp865_page25[168] = { }; static int -cp865_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +cp865_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char c = 0; if (wc < 0x0080) { diff --git a/Externals/libiconv-1.14/lib/cp866.h b/Externals/libiconv/lib/cp866.h similarity index 91% rename from Externals/libiconv-1.14/lib/cp866.h rename to Externals/libiconv/lib/cp866.h index 0aaa2169f04..71548cb3dd7 100644 --- a/Externals/libiconv-1.14/lib/cp866.h +++ b/Externals/libiconv/lib/cp866.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -41,7 +40,7 @@ static const unsigned short cp866_2uni[80] = { }; static int -cp866_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +cp866_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; if (c < 0x80) @@ -100,7 +99,7 @@ static const unsigned char cp866_page25[168] = { }; static int -cp866_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +cp866_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char c = 0; if (wc < 0x0080) { diff --git a/Externals/libiconv-1.14/lib/cp869.h b/Externals/libiconv/lib/cp869.h similarity index 92% rename from Externals/libiconv-1.14/lib/cp869.h rename to Externals/libiconv/lib/cp869.h index 8e839d2cfa8..4df05a17e35 100644 --- a/Externals/libiconv-1.14/lib/cp869.h +++ b/Externals/libiconv/lib/cp869.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -50,7 +49,7 @@ static const unsigned short cp869_2uni[128] = { }; static int -cp869_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +cp869_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; if (c < 0x80) { @@ -114,7 +113,7 @@ static const unsigned char cp869_page25[168] = { }; static int -cp869_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +cp869_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char c = 0; if (wc < 0x0080) { diff --git a/Externals/libiconv-1.14/lib/cp874.h b/Externals/libiconv/lib/cp874.h similarity index 88% rename from Externals/libiconv-1.14/lib/cp874.h rename to Externals/libiconv/lib/cp874.h index 6374dd7d05c..0655337a841 100644 --- a/Externals/libiconv-1.14/lib/cp874.h +++ b/Externals/libiconv/lib/cp874.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -50,7 +49,7 @@ static const unsigned short cp874_2uni[128] = { }; static int -cp874_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +cp874_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; if (c < 0x80) { @@ -88,7 +87,7 @@ static const unsigned char cp874_page20[24] = { }; static int -cp874_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +cp874_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char c = 0; if (wc < 0x0080) { diff --git a/Externals/libiconv-1.14/lib/cp922.h b/Externals/libiconv/lib/cp922.h similarity index 87% rename from Externals/libiconv-1.14/lib/cp922.h rename to Externals/libiconv/lib/cp922.h index ca661b3862f..3f4c1433a0f 100644 --- a/Externals/libiconv-1.14/lib/cp922.h +++ b/Externals/libiconv/lib/cp922.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -39,7 +38,7 @@ static const unsigned short cp922_2uni_3[16] = { }; static int -cp922_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +cp922_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; if (c < 0xa0) @@ -78,7 +77,7 @@ static const unsigned char cp922_page01[32] = { }; static int -cp922_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +cp922_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char c = 0; if (wc < 0x00a8) { diff --git a/Externals/libiconv-1.14/lib/cp932.h b/Externals/libiconv/lib/cp932.h similarity index 93% rename from Externals/libiconv-1.14/lib/cp932.h rename to Externals/libiconv/lib/cp932.h index 6534cd0297d..24c258f5bb1 100644 --- a/Externals/libiconv-1.14/lib/cp932.h +++ b/Externals/libiconv/lib/cp932.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2002, 2005 Free Software Foundation, Inc. + * Copyright (C) 1999-2002, 2005, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -86,7 +85,7 @@ */ static int -cp932_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +cp932_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; if (c < 0x80) @@ -128,7 +127,7 @@ cp932_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) } static int -cp932_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +cp932_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char buf[2]; int ret; diff --git a/Externals/libiconv-1.14/lib/cp932ext.h b/Externals/libiconv/lib/cp932ext.h similarity index 98% rename from Externals/libiconv-1.14/lib/cp932ext.h rename to Externals/libiconv/lib/cp932ext.h index 6f94c9a5cfb..854572c68d0 100644 --- a/Externals/libiconv-1.14/lib/cp932ext.h +++ b/Externals/libiconv/lib/cp932ext.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2012, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -146,7 +145,7 @@ static const unsigned short cp932ext_2uni_pagefa[388] = { }; static int -cp932ext_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +cp932ext_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c1 = s[0]; if ((c1 == 0x87) || (c1 >= 0xed && c1 <= 0xee) || (c1 >= 0xfa && c1 <= 0xfc)) { @@ -654,7 +653,7 @@ static const Summary16 cp932ext_uni2indx_pageff[15] = { }; static int -cp932ext_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +cp932ext_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { if (n >= 2) { const Summary16 *summary = NULL; @@ -691,9 +690,9 @@ cp932ext_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) unsigned int i = wc & 0x0f; if (used & ((unsigned short) 1 << i)) { unsigned short c; - /* Keep in `used' only the bits 0..i-1. */ + /* 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'. */ + /* 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); diff --git a/Externals/libiconv-1.14/lib/cp936.h b/Externals/libiconv/lib/cp936.h similarity index 87% rename from Externals/libiconv-1.14/lib/cp936.h rename to Externals/libiconv/lib/cp936.h index 06e510cae28..e99129e30d9 100644 --- a/Externals/libiconv-1.14/lib/cp936.h +++ b/Externals/libiconv/lib/cp936.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 2005 Free Software Foundation, Inc. + * Copyright (C) 2005, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -48,7 +47,7 @@ */ static int -cp936_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +cp936_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { /* Try GBK first. */ { @@ -90,7 +89,7 @@ cp936_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) } static int -cp936_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +cp936_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { /* Try GBK first. */ { diff --git a/Externals/libiconv-1.14/lib/cp936ext.h b/Externals/libiconv/lib/cp936ext.h similarity index 87% rename from Externals/libiconv-1.14/lib/cp936ext.h rename to Externals/libiconv/lib/cp936ext.h index db1817b701e..6e0eae01392 100644 --- a/Externals/libiconv-1.14/lib/cp936ext.h +++ b/Externals/libiconv/lib/cp936ext.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -35,7 +34,7 @@ static const unsigned short cp936ext_2uni_pagea8[128-122] = { }; static int -cp936ext_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +cp936ext_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c1 = s[0]; if ((c1 == 0xa6) || (c1 == 0xa8)) { @@ -79,7 +78,7 @@ static const unsigned short cp936ext_pagefe[24] = { }; static int -cp936ext_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +cp936ext_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { if (n >= 2) { unsigned short c = 0; diff --git a/Externals/libiconv-1.14/lib/cp943.h b/Externals/libiconv/lib/cp943.h similarity index 72% rename from Externals/libiconv-1.14/lib/cp943.h rename to Externals/libiconv/lib/cp943.h index dbaebe97e2a..8fad5b17fc9 100644 --- a/Externals/libiconv-1.14/lib/cp943.h +++ b/Externals/libiconv/lib/cp943.h @@ -3,19 +3,18 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* diff --git a/Externals/libiconv-1.14/lib/cp949.h b/Externals/libiconv/lib/cp949.h similarity index 86% rename from Externals/libiconv-1.14/lib/cp949.h rename to Externals/libiconv/lib/cp949.h index 665e7243ae9..685ad74d0e9 100644 --- a/Externals/libiconv-1.14/lib/cp949.h +++ b/Externals/libiconv/lib/cp949.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001, 2005, 2007 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2005, 2007, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -38,7 +37,7 @@ #include "uhc_2.h" static int -cp949_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +cp949_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; /* Code set 0 (ASCII) */ @@ -79,7 +78,7 @@ cp949_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) } static int -cp949_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +cp949_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char buf[2]; int ret; diff --git a/Externals/libiconv-1.14/lib/cp950.h b/Externals/libiconv/lib/cp950.h similarity index 95% rename from Externals/libiconv-1.14/lib/cp950.h rename to Externals/libiconv/lib/cp950.h index 28ca19945cc..f7452a81d5e 100644 --- a/Externals/libiconv-1.14/lib/cp950.h +++ b/Externals/libiconv/lib/cp950.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001, 2005 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2005, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -130,7 +129,7 @@ static const unsigned short cp950_2uni_pagea1[314] = { #include "cp950ext.h" static int -cp950_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +cp950_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; /* Code set 0 (ASCII) */ @@ -185,7 +184,7 @@ cp950_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) } static int -cp950_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +cp950_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char buf[2]; int ret; diff --git a/Externals/libiconv-1.14/lib/cp950ext.h b/Externals/libiconv/lib/cp950ext.h similarity index 91% rename from Externals/libiconv-1.14/lib/cp950ext.h rename to Externals/libiconv/lib/cp950ext.h index 2a18d805454..bf5a6259812 100644 --- a/Externals/libiconv-1.14/lib/cp950ext.h +++ b/Externals/libiconv/lib/cp950ext.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2012, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -33,7 +32,7 @@ static const unsigned short cp950ext_2uni_pagef9[157-116] = { }; static int -cp950ext_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +cp950ext_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c1 = s[0]; if ((c1 == 0xf9)) { @@ -118,7 +117,7 @@ static const Summary16 cp950ext_uni2indx_page92[12] = { }; static int -cp950ext_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +cp950ext_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { if (n >= 2) { const Summary16 *summary = NULL; @@ -143,9 +142,9 @@ cp950ext_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) unsigned int i = wc & 0x0f; if (used & ((unsigned short) 1 << i)) { unsigned short c; - /* Keep in `used' only the bits 0..i-1. */ + /* 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'. */ + /* 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); diff --git a/Externals/libiconv-1.14/lib/dec_hanyu.h b/Externals/libiconv/lib/dec_hanyu.h similarity index 85% rename from Externals/libiconv-1.14/lib/dec_hanyu.h rename to Externals/libiconv/lib/dec_hanyu.h index 065fd5d5158..10dd1088860 100644 --- a/Externals/libiconv-1.14/lib/dec_hanyu.h +++ b/Externals/libiconv/lib/dec_hanyu.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 2001, 2005 Free Software Foundation, Inc. + * Copyright (C) 2001, 2005, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -23,7 +22,7 @@ */ static int -dec_hanyu_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +dec_hanyu_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; /* Code set 0 (ASCII) */ @@ -67,7 +66,7 @@ dec_hanyu_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) } static int -dec_hanyu_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +dec_hanyu_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char buf[3]; int ret; diff --git a/Externals/libiconv-1.14/lib/dec_kanji.h b/Externals/libiconv/lib/dec_kanji.h similarity index 77% rename from Externals/libiconv-1.14/lib/dec_kanji.h rename to Externals/libiconv/lib/dec_kanji.h index 0a056fb87ed..522b798cbca 100644 --- a/Externals/libiconv-1.14/lib/dec_kanji.h +++ b/Externals/libiconv/lib/dec_kanji.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 2001 Free Software Foundation, Inc. + * Copyright (C) 2001, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -23,7 +22,7 @@ */ static int -dec_kanji_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +dec_kanji_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; /* Code set 0 (ASCII or JIS X 0201-1976 Roman) */ @@ -46,7 +45,7 @@ dec_kanji_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) } static int -dec_kanji_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +dec_kanji_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char buf[2]; int ret; diff --git a/Externals/libiconv/lib/ebcdic037.h b/Externals/libiconv/lib/ebcdic037.h new file mode 100644 index 00000000000..0777f06b1e6 --- /dev/null +++ b/Externals/libiconv/lib/ebcdic037.h @@ -0,0 +1,133 @@ +/* + * Copyright (C) 1999-2023 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV Library is free software; you can redistribute it + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV Library is distributed in the hope that it will be + * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with the GNU LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-037 + */ + +static const unsigned short ebcdic037_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x00e2, 0x00e4, 0x00e0, 0x00e1, 0x00e3, 0x00e5, + 0x00e7, 0x00f1, 0x00a2, 0x002e, 0x003c, 0x0028, 0x002b, 0x007c, + /* 0x50 */ + 0x0026, 0x00e9, 0x00ea, 0x00eb, 0x00e8, 0x00ed, 0x00ee, 0x00ef, + 0x00ec, 0x00df, 0x0021, 0x0024, 0x002a, 0x0029, 0x003b, 0x00ac, + /* 0x60 */ + 0x002d, 0x002f, 0x00c2, 0x00c4, 0x00c0, 0x00c1, 0x00c3, 0x00c5, + 0x00c7, 0x00d1, 0x00a6, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x00f8, 0x00c9, 0x00ca, 0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, + 0x00cc, 0x0060, 0x003a, 0x0023, 0x0040, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x00d8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x00ab, 0x00bb, 0x00f0, 0x00fd, 0x00fe, 0x00b1, + /* 0x90 */ + 0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x00aa, 0x00ba, 0x00e6, 0x00b8, 0x00c6, 0x00a4, + /* 0xa0 */ + 0x00b5, 0x007e, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x00a1, 0x00bf, 0x00d0, 0x00dd, 0x00de, 0x00ae, + /* 0xb0 */ + 0x005e, 0x00a3, 0x00a5, 0x00b7, 0x00a9, 0x00a7, 0x00b6, 0x00bc, + 0x00bd, 0x00be, 0x005b, 0x005d, 0x00af, 0x00a8, 0x00b4, 0x00d7, + /* 0xc0 */ + 0x007b, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x00f4, 0x00f6, 0x00f2, 0x00f3, 0x00f5, + /* 0xd0 */ + 0x007d, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x00b9, 0x00fb, 0x00fc, 0x00f9, 0x00fa, 0x00ff, + /* 0xe0 */ + 0x005c, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x00b2, 0x00d4, 0x00d6, 0x00d2, 0x00d3, 0x00d5, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x00b3, 0x00db, 0x00dc, 0x00d9, 0x00da, 0x009f, +}; + +static int +ebcdic037_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + if (conv->isurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *pwc = (ucs4_t) ebcdic037_2uni[c]; + return 1; +} + +static const unsigned char ebcdic037_page00[256] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x5a, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0xba, 0xe0, 0xbb, 0xb0, 0x6d, /* 0x58-0x5f */ + 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0xc0, 0x4f, 0xd0, 0xa1, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0xaa, 0x4a, 0xb1, 0x9f, 0xb2, 0x6a, 0xb5, /* 0xa0-0xa7 */ + 0xbd, 0xb4, 0x9a, 0x8a, 0x5f, 0xca, 0xaf, 0xbc, /* 0xa8-0xaf */ + 0x90, 0x8f, 0xea, 0xfa, 0xbe, 0xa0, 0xb6, 0xb3, /* 0xb0-0xb7 */ + 0x9d, 0xda, 0x9b, 0x8b, 0xb7, 0xb8, 0xb9, 0xab, /* 0xb8-0xbf */ + 0x64, 0x65, 0x62, 0x66, 0x63, 0x67, 0x9e, 0x68, /* 0xc0-0xc7 */ + 0x74, 0x71, 0x72, 0x73, 0x78, 0x75, 0x76, 0x77, /* 0xc8-0xcf */ + 0xac, 0x69, 0xed, 0xee, 0xeb, 0xef, 0xec, 0xbf, /* 0xd0-0xd7 */ + 0x80, 0xfd, 0xfe, 0xfb, 0xfc, 0xad, 0xae, 0x59, /* 0xd8-0xdf */ + 0x44, 0x45, 0x42, 0x46, 0x43, 0x47, 0x9c, 0x48, /* 0xe0-0xe7 */ + 0x54, 0x51, 0x52, 0x53, 0x58, 0x55, 0x56, 0x57, /* 0xe8-0xef */ + 0x8c, 0x49, 0xcd, 0xce, 0xcb, 0xcf, 0xcc, 0xe1, /* 0xf0-0xf7 */ + 0x70, 0xdd, 0xde, 0xdb, 0xdc, 0x8d, 0x8e, 0xdf, /* 0xf8-0xff */ +}; + +static int +ebcdic037_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x0100) + c = ebcdic037_page00[wc]; + if (c != 0 || wc == 0) { + if (conv->osurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/Externals/libiconv/lib/ebcdic1025.h b/Externals/libiconv/lib/ebcdic1025.h new file mode 100644 index 00000000000..24acac8b036 --- /dev/null +++ b/Externals/libiconv/lib/ebcdic1025.h @@ -0,0 +1,145 @@ +/* + * Copyright (C) 1999-2023 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV Library is free software; you can redistribute it + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV Library is distributed in the hope that it will be + * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with the GNU LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-1025 + */ + +static const unsigned short ebcdic1025_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x0452, 0x0453, 0x0451, 0x0454, 0x0455, 0x0456, + 0x0457, 0x0458, 0x005b, 0x002e, 0x003c, 0x0028, 0x002b, 0x0021, + /* 0x50 */ + 0x0026, 0x0459, 0x045a, 0x045b, 0x045c, 0x045e, 0x045f, 0x042a, + 0x2116, 0x0402, 0x005d, 0x0024, 0x002a, 0x0029, 0x003b, 0x005e, + /* 0x60 */ + 0x002d, 0x002f, 0x0403, 0x0401, 0x0404, 0x0405, 0x0406, 0x0407, + 0x0408, 0x0409, 0x007c, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x040a, 0x040b, 0x040c, 0x00ad, 0x040e, 0x040f, 0x044e, 0x0430, + 0x0431, 0x0060, 0x003a, 0x0023, 0x0040, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x0446, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x0434, 0x0435, 0x0444, 0x0433, 0x0445, 0x0438, + /* 0x90 */ + 0x0439, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x043a, 0x043b, 0x043c, 0x043d, 0x043e, 0x043f, + /* 0xa0 */ + 0x044f, 0x007e, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x0440, 0x0441, 0x0442, 0x0443, 0x0436, 0x0432, + /* 0xb0 */ + 0x044c, 0x044b, 0x0437, 0x0448, 0x044d, 0x0449, 0x0447, 0x044a, + 0x042e, 0x0410, 0x0411, 0x0426, 0x0414, 0x0415, 0x0424, 0x0413, + /* 0xc0 */ + 0x007b, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x0425, 0x0418, 0x0419, 0x041a, 0x041b, 0x041c, + /* 0xd0 */ + 0x007d, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x041d, 0x041e, 0x041f, 0x042f, 0x0420, 0x0421, + /* 0xe0 */ + 0x005c, 0x00a7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x0422, 0x0423, 0x0416, 0x0412, 0x042c, 0x042b, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x0417, 0x0428, 0x042d, 0x0429, 0x0427, 0x009f, +}; + +static int +ebcdic1025_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + if (conv->isurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *pwc = (ucs4_t) ebcdic1025_2uni[c]; + return 1; +} + +static const unsigned char ebcdic1025_page00[176] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x4f, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0x4a, 0xe0, 0x5a, 0x5f, 0x6d, /* 0x58-0x5f */ + 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0xc0, 0x6a, 0xd0, 0xa1, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe1, /* 0xa0-0xa7 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x73, 0x00, 0x00, /* 0xa8-0xaf */ +}; +#if DEDUPLICATE_TABLES +#define ebcdic1025_page04 ebcdic880_page04 +#else /* Unoptimized */ +static const unsigned char ebcdic1025_page04[96] = { + 0x00, 0x63, 0x59, 0x62, 0x64, 0x65, 0x66, 0x67, /* 0x00-0x07 */ + 0x68, 0x69, 0x70, 0x71, 0x72, 0x00, 0x74, 0x75, /* 0x08-0x0f */ + 0xb9, 0xba, 0xed, 0xbf, 0xbc, 0xbd, 0xec, 0xfa, /* 0x10-0x17 */ + 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xda, 0xdb, 0xdc, /* 0x18-0x1f */ + 0xde, 0xdf, 0xea, 0xeb, 0xbe, 0xca, 0xbb, 0xfe, /* 0x20-0x27 */ + 0xfb, 0xfd, 0x57, 0xef, 0xee, 0xfc, 0xb8, 0xdd, /* 0x28-0x2f */ + 0x77, 0x78, 0xaf, 0x8d, 0x8a, 0x8b, 0xae, 0xb2, /* 0x30-0x37 */ + 0x8f, 0x90, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f, /* 0x38-0x3f */ + 0xaa, 0xab, 0xac, 0xad, 0x8c, 0x8e, 0x80, 0xb6, /* 0x40-0x47 */ + 0xb3, 0xb5, 0xb7, 0xb1, 0xb0, 0xb4, 0x76, 0xa0, /* 0x48-0x4f */ + 0x00, 0x44, 0x42, 0x43, 0x45, 0x46, 0x47, 0x48, /* 0x50-0x57 */ + 0x49, 0x51, 0x52, 0x53, 0x54, 0x00, 0x55, 0x56, /* 0x58-0x5f */ +}; +#endif + +static int +ebcdic1025_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x00b0) + c = ebcdic1025_page00[wc]; + else if (wc >= 0x0400 && wc < 0x0460) + c = ebcdic1025_page04[wc-0x0400]; + else if (wc == 0x2116) + c = 0x58; + if (c != 0 || wc == 0) { + if (conv->osurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/Externals/libiconv/lib/ebcdic1026.h b/Externals/libiconv/lib/ebcdic1026.h new file mode 100644 index 00000000000..4bce37e012f --- /dev/null +++ b/Externals/libiconv/lib/ebcdic1026.h @@ -0,0 +1,146 @@ +/* + * Copyright (C) 1999-2023 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV Library is free software; you can redistribute it + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV Library is distributed in the hope that it will be + * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with the GNU LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-1026 + */ + +static const unsigned short ebcdic1026_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x00e2, 0x00e4, 0x00e0, 0x00e1, 0x00e3, 0x00e5, + 0x007b, 0x00f1, 0x00c7, 0x002e, 0x003c, 0x0028, 0x002b, 0x0021, + /* 0x50 */ + 0x0026, 0x00e9, 0x00ea, 0x00eb, 0x00e8, 0x00ed, 0x00ee, 0x00ef, + 0x00ec, 0x00df, 0x011e, 0x0130, 0x002a, 0x0029, 0x003b, 0x005e, + /* 0x60 */ + 0x002d, 0x002f, 0x00c2, 0x00c4, 0x00c0, 0x00c1, 0x00c3, 0x00c5, + 0x005b, 0x00d1, 0x015f, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x00f8, 0x00c9, 0x00ca, 0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, + 0x00cc, 0x0131, 0x003a, 0x00d6, 0x015e, 0x0027, 0x003d, 0x00dc, + /* 0x80 */ + 0x00d8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x00ab, 0x00bb, 0x007d, 0x0060, 0x00a6, 0x00b1, + /* 0x90 */ + 0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x00aa, 0x00ba, 0x00e6, 0x00b8, 0x00c6, 0x00a4, + /* 0xa0 */ + 0x00b5, 0x00f6, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x00a1, 0x00bf, 0x005d, 0x0024, 0x0040, 0x00ae, + /* 0xb0 */ + 0x00a2, 0x00a3, 0x00a5, 0x00b7, 0x00a9, 0x00a7, 0x00b6, 0x00bc, + 0x00bd, 0x00be, 0x00ac, 0x007c, 0x00af, 0x00a8, 0x00b4, 0x00d7, + /* 0xc0 */ + 0x00e7, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x00f4, 0x007e, 0x00f2, 0x00f3, 0x00f5, + /* 0xd0 */ + 0x011f, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x00b9, 0x00fb, 0x005c, 0x00f9, 0x00fa, 0x00ff, + /* 0xe0 */ + 0x00fc, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x00b2, 0x00d4, 0x0023, 0x00d2, 0x00d3, 0x00d5, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x00b3, 0x00db, 0x0022, 0x00d9, 0x00da, 0x009f, +}; + +static int +ebcdic1026_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + if (conv->isurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *pwc = (ucs4_t) ebcdic1026_2uni[c]; + return 1; +} + +static const unsigned char ebcdic1026_page00[256] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x4f, 0xfc, 0xec, 0xad, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0xae, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0x68, 0xdc, 0xac, 0x5f, 0x6d, /* 0x58-0x5f */ + 0x8d, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0x48, 0xbb, 0x8c, 0xcc, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0xaa, 0xb0, 0xb1, 0x9f, 0xb2, 0x8e, 0xb5, /* 0xa0-0xa7 */ + 0xbd, 0xb4, 0x9a, 0x8a, 0xba, 0xca, 0xaf, 0xbc, /* 0xa8-0xaf */ + 0x90, 0x8f, 0xea, 0xfa, 0xbe, 0xa0, 0xb6, 0xb3, /* 0xb0-0xb7 */ + 0x9d, 0xda, 0x9b, 0x8b, 0xb7, 0xb8, 0xb9, 0xab, /* 0xb8-0xbf */ + 0x64, 0x65, 0x62, 0x66, 0x63, 0x67, 0x9e, 0x4a, /* 0xc0-0xc7 */ + 0x74, 0x71, 0x72, 0x73, 0x78, 0x75, 0x76, 0x77, /* 0xc8-0xcf */ + 0x00, 0x69, 0xed, 0xee, 0xeb, 0xef, 0x7b, 0xbf, /* 0xd0-0xd7 */ + 0x80, 0xfd, 0xfe, 0xfb, 0x7f, 0x00, 0x00, 0x59, /* 0xd8-0xdf */ + 0x44, 0x45, 0x42, 0x46, 0x43, 0x47, 0x9c, 0xc0, /* 0xe0-0xe7 */ + 0x54, 0x51, 0x52, 0x53, 0x58, 0x55, 0x56, 0x57, /* 0xe8-0xef */ + 0x00, 0x49, 0xcd, 0xce, 0xcb, 0xcf, 0xa1, 0xe1, /* 0xf0-0xf7 */ + 0x70, 0xdd, 0xde, 0xdb, 0xe0, 0x00, 0x00, 0xdf, /* 0xf8-0xff */ +}; +static const unsigned char ebcdic1026_page01[72] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5a, 0xd0, /* 0x18-0x1f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x20-0x27 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x28-0x2f */ + 0x5b, 0x79, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x30-0x37 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x38-0x3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x40-0x47 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x48-0x4f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x50-0x57 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x6a, /* 0x58-0x5f */ +}; + +static int +ebcdic1026_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x0100) + c = ebcdic1026_page00[wc]; + else if (wc >= 0x0118 && wc < 0x0160) + c = ebcdic1026_page01[wc-0x0118]; + if (c != 0 || wc == 0) { + if (conv->osurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/Externals/libiconv/lib/ebcdic1047.h b/Externals/libiconv/lib/ebcdic1047.h new file mode 100644 index 00000000000..b274c0c43cb --- /dev/null +++ b/Externals/libiconv/lib/ebcdic1047.h @@ -0,0 +1,133 @@ +/* + * Copyright (C) 1999-2023 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV Library is free software; you can redistribute it + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV Library is distributed in the hope that it will be + * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with the GNU LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-1047 + */ + +static const unsigned short ebcdic1047_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x00e2, 0x00e4, 0x00e0, 0x00e1, 0x00e3, 0x00e5, + 0x00e7, 0x00f1, 0x00a2, 0x002e, 0x003c, 0x0028, 0x002b, 0x007c, + /* 0x50 */ + 0x0026, 0x00e9, 0x00ea, 0x00eb, 0x00e8, 0x00ed, 0x00ee, 0x00ef, + 0x00ec, 0x00df, 0x0021, 0x0024, 0x002a, 0x0029, 0x003b, 0x005e, + /* 0x60 */ + 0x002d, 0x002f, 0x00c2, 0x00c4, 0x00c0, 0x00c1, 0x00c3, 0x00c5, + 0x00c7, 0x00d1, 0x00a6, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x00f8, 0x00c9, 0x00ca, 0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, + 0x00cc, 0x0060, 0x003a, 0x0023, 0x0040, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x00d8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x00ab, 0x00bb, 0x00f0, 0x00fd, 0x00fe, 0x00b1, + /* 0x90 */ + 0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x00aa, 0x00ba, 0x00e6, 0x00b8, 0x00c6, 0x00a4, + /* 0xa0 */ + 0x00b5, 0x007e, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x00a1, 0x00bf, 0x00d0, 0x005b, 0x00de, 0x00ae, + /* 0xb0 */ + 0x00ac, 0x00a3, 0x00a5, 0x00b7, 0x00a9, 0x00a7, 0x00b6, 0x00bc, + 0x00bd, 0x00be, 0x00dd, 0x00a8, 0x00af, 0x005d, 0x00b4, 0x00d7, + /* 0xc0 */ + 0x007b, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x00f4, 0x00f6, 0x00f2, 0x00f3, 0x00f5, + /* 0xd0 */ + 0x007d, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x00b9, 0x00fb, 0x00fc, 0x00f9, 0x00fa, 0x00ff, + /* 0xe0 */ + 0x005c, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x00b2, 0x00d4, 0x00d6, 0x00d2, 0x00d3, 0x00d5, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x00b3, 0x00db, 0x00dc, 0x00d9, 0x00da, 0x009f, +}; + +static int +ebcdic1047_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + if (conv->isurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *pwc = (ucs4_t) ebcdic1047_2uni[c]; + return 1; +} + +static const unsigned char ebcdic1047_page00[256] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x5a, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0xad, 0xe0, 0xbd, 0x5f, 0x6d, /* 0x58-0x5f */ + 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0xc0, 0x4f, 0xd0, 0xa1, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0xaa, 0x4a, 0xb1, 0x9f, 0xb2, 0x6a, 0xb5, /* 0xa0-0xa7 */ + 0xbb, 0xb4, 0x9a, 0x8a, 0xb0, 0xca, 0xaf, 0xbc, /* 0xa8-0xaf */ + 0x90, 0x8f, 0xea, 0xfa, 0xbe, 0xa0, 0xb6, 0xb3, /* 0xb0-0xb7 */ + 0x9d, 0xda, 0x9b, 0x8b, 0xb7, 0xb8, 0xb9, 0xab, /* 0xb8-0xbf */ + 0x64, 0x65, 0x62, 0x66, 0x63, 0x67, 0x9e, 0x68, /* 0xc0-0xc7 */ + 0x74, 0x71, 0x72, 0x73, 0x78, 0x75, 0x76, 0x77, /* 0xc8-0xcf */ + 0xac, 0x69, 0xed, 0xee, 0xeb, 0xef, 0xec, 0xbf, /* 0xd0-0xd7 */ + 0x80, 0xfd, 0xfe, 0xfb, 0xfc, 0xba, 0xae, 0x59, /* 0xd8-0xdf */ + 0x44, 0x45, 0x42, 0x46, 0x43, 0x47, 0x9c, 0x48, /* 0xe0-0xe7 */ + 0x54, 0x51, 0x52, 0x53, 0x58, 0x55, 0x56, 0x57, /* 0xe8-0xef */ + 0x8c, 0x49, 0xcd, 0xce, 0xcb, 0xcf, 0xcc, 0xe1, /* 0xf0-0xf7 */ + 0x70, 0xdd, 0xde, 0xdb, 0xdc, 0x8d, 0x8e, 0xdf, /* 0xf8-0xff */ +}; + +static int +ebcdic1047_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x0100) + c = ebcdic1047_page00[wc]; + if (c != 0 || wc == 0) { + if (conv->osurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/Externals/libiconv/lib/ebcdic1097.h b/Externals/libiconv/lib/ebcdic1097.h new file mode 100644 index 00000000000..dabdca76ec7 --- /dev/null +++ b/Externals/libiconv/lib/ebcdic1097.h @@ -0,0 +1,190 @@ +/* + * Copyright (C) 1999-2023 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV Library is free software; you can redistribute it + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV Library is distributed in the hope that it will be + * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with the GNU LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-1097 + */ + +static const unsigned short ebcdic1097_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x060c, 0x064b, 0xfe81, 0xfe82, 0xf8fa, 0xfe8d, + 0xfe8e, 0xf8fb, 0x00a4, 0x002e, 0x003c, 0x0028, 0x002b, 0x007c, + /* 0x50 */ + 0x0026, 0xfe80, 0xfe83, 0xfe84, 0xf8f9, 0xfe85, 0xfe8b, 0xfe8f, + 0xfe91, 0xfb56, 0x0021, 0x0024, 0x002a, 0x0029, 0x003b, 0x00ac, + /* 0x60 */ + 0x002d, 0x002f, 0xfb58, 0xfe95, 0xfe97, 0xfe99, 0xfe9b, 0xfe9d, + 0xfe9f, 0xfb7a, 0x061b, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0xfb7c, 0xfea1, 0xfea3, 0xfea5, 0xfea7, 0xfea9, 0xfeab, 0xfead, + 0xfeaf, 0x0060, 0x003a, 0x0023, 0x0040, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0xfb8a, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x00ab, 0x00bb, 0xfeb1, 0xfeb3, 0xfeb5, 0xfeb7, + /* 0x90 */ + 0xfeb9, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0xfebb, 0xfebd, 0xfebf, 0xfec1, 0xfec3, 0xfec5, + /* 0xa0 */ + 0xfec7, 0x007e, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0xfec9, 0xfeca, 0xfecb, 0xfecc, 0xfecd, 0xfece, + /* 0xb0 */ + 0xfecf, 0xfed0, 0xfed1, 0xfed3, 0xfed5, 0xfed7, 0xfb8e, 0xfedb, + 0xfb92, 0xfb94, 0x005b, 0x005d, 0xfedd, 0xfedf, 0xfee1, 0x00d7, + /* 0xc0 */ + 0x007b, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0xfee3, 0xfee5, 0xfee7, 0xfeed, 0xfee9, + /* 0xd0 */ + 0x007d, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0xfeeb, 0xfeec, 0xfba4, 0xfbfc, 0xfbfd, 0xfbfe, + /* 0xe0 */ + 0x005c, 0x061f, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x0640, 0x06f0, 0x06f1, 0x06f2, 0x06f3, 0x06f4, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x06f5, 0x06f6, 0x06f7, 0x06f8, 0x06f9, 0x009f, +}; + +static int +ebcdic1097_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + if (conv->isurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *pwc = (ucs4_t) ebcdic1097_2uni[c]; + return 1; +} + +static const unsigned char ebcdic1097_page00[216] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x5a, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0xba, 0xe0, 0xbb, 0x00, 0x6d, /* 0x58-0x5f */ + 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0xc0, 0x4f, 0xd0, 0xa1, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0x00, 0x00, 0x00, 0x4a, 0x00, 0x00, 0x00, /* 0xa0-0xa7 */ + 0x00, 0x00, 0x00, 0x8a, 0x5f, 0xca, 0x00, 0x00, /* 0xa8-0xaf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xb0-0xb7 */ + 0x00, 0x00, 0x00, 0x8b, 0x00, 0x00, 0x00, 0x00, /* 0xb8-0xbf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xc0-0xc7 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xc8-0xcf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, /* 0xd0-0xd7 */ +}; +static const unsigned char ebcdic1097_page06[72] = { + 0x00, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, /* 0x08-0x0f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10-0x17 */ + 0x00, 0x00, 0x00, 0x6a, 0x00, 0x00, 0x00, 0xe1, /* 0x18-0x1f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x20-0x27 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x28-0x2f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x30-0x37 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x38-0x3f */ + 0xea, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x40-0x47 */ + 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x00, /* 0x48-0x4f */ +}; +static const unsigned char ebcdic1097_page06_1[16] = { + 0xeb, 0xec, 0xed, 0xee, 0xef, 0xfa, 0xfb, 0xfc, /* 0xf0-0xf7 */ + 0xfd, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xf8-0xff */ +}; +static const unsigned char ebcdic1097_pagef8[8] = { + 0x00, 0x54, 0x46, 0x49, 0x00, 0x00, 0x00, 0x00, /* 0xf8-0xff */ +}; +static const unsigned char ebcdic1097_pagefb[88] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x59, 0x00, /* 0x50-0x57 */ + 0x62, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x58-0x5f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x60-0x67 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x68-0x6f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x70-0x77 */ + 0x00, 0x00, 0x69, 0x00, 0x70, 0x00, 0x00, 0x00, /* 0x78-0x7f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x80-0x87 */ + 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0xb6, 0x00, /* 0x88-0x8f */ + 0x00, 0x00, 0xb8, 0x00, 0xb9, 0x00, 0x00, 0x00, /* 0x90-0x97 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x98-0x9f */ + 0x00, 0x00, 0x00, 0x00, 0xdc, 0x00, 0x00, 0x00, /* 0xa0-0xa7 */ +}; +static const unsigned char ebcdic1097_pagefb_2[8] = { + 0x00, 0x00, 0x00, 0x00, 0xdd, 0xde, 0xdf, 0x00, /* 0xf8-0xff */ +}; +static const unsigned char ebcdic1097_pagefe[112] = { + 0x51, 0x44, 0x45, 0x52, 0x53, 0x55, 0x00, 0x00, /* 0x80-0x87 */ + 0x00, 0x00, 0x00, 0x56, 0x00, 0x47, 0x48, 0x57, /* 0x88-0x8f */ + 0x00, 0x58, 0x00, 0x00, 0x00, 0x63, 0x00, 0x64, /* 0x90-0x97 */ + 0x00, 0x65, 0x00, 0x66, 0x00, 0x67, 0x00, 0x68, /* 0x98-0x9f */ + 0x00, 0x71, 0x00, 0x72, 0x00, 0x73, 0x00, 0x74, /* 0xa0-0xa7 */ + 0x00, 0x75, 0x00, 0x76, 0x00, 0x77, 0x00, 0x78, /* 0xa8-0xaf */ + 0x00, 0x8c, 0x00, 0x8d, 0x00, 0x8e, 0x00, 0x8f, /* 0xb0-0xb7 */ + 0x00, 0x90, 0x00, 0x9a, 0x00, 0x9b, 0x00, 0x9c, /* 0xb8-0xbf */ + 0x00, 0x9d, 0x00, 0x9e, 0x00, 0x9f, 0x00, 0xa0, /* 0xc0-0xc7 */ + 0x00, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, /* 0xc8-0xcf */ + 0xb1, 0xb2, 0x00, 0xb3, 0x00, 0xb4, 0x00, 0xb5, /* 0xd0-0xd7 */ + 0x00, 0x00, 0x00, 0xb7, 0x00, 0xbc, 0x00, 0xbd, /* 0xd8-0xdf */ + 0x00, 0xbe, 0x00, 0xcb, 0x00, 0xcc, 0x00, 0xcd, /* 0xe0-0xe7 */ + 0x00, 0xcf, 0x00, 0xda, 0xdb, 0xce, 0x00, 0x00, /* 0xe8-0xef */ +}; + +static int +ebcdic1097_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x00d8) + c = ebcdic1097_page00[wc]; + else if (wc >= 0x0608 && wc < 0x0650) + c = ebcdic1097_page06[wc-0x0608]; + else if (wc >= 0x06f0 && wc < 0x0700) + c = ebcdic1097_page06_1[wc-0x06f0]; + else if (wc >= 0xf8f8 && wc < 0xf900) + c = ebcdic1097_pagef8[wc-0xf8f8]; + else if (wc >= 0xfb50 && wc < 0xfba8) + c = ebcdic1097_pagefb[wc-0xfb50]; + else if (wc >= 0xfbf8 && wc < 0xfc00) + c = ebcdic1097_pagefb_2[wc-0xfbf8]; + else if (wc >= 0xfe80 && wc < 0xfef0) + c = ebcdic1097_pagefe[wc-0xfe80]; + if (c != 0 || wc == 0) { + if (conv->osurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/Externals/libiconv/lib/ebcdic1112.h b/Externals/libiconv/lib/ebcdic1112.h new file mode 100644 index 00000000000..a1459e96452 --- /dev/null +++ b/Externals/libiconv/lib/ebcdic1112.h @@ -0,0 +1,155 @@ +/* + * Copyright (C) 1999-2023 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV Library is free software; you can redistribute it + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV Library is distributed in the hope that it will be + * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with the GNU LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-1112 + */ + +static const unsigned short ebcdic1112_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x0161, 0x00e4, 0x0105, 0x012f, 0x016b, 0x00e5, + 0x0113, 0x017e, 0x00a2, 0x002e, 0x003c, 0x0028, 0x002b, 0x007c, + /* 0x50 */ + 0x0026, 0x00e9, 0x0119, 0x0117, 0x010d, 0x0173, 0x201e, 0x201c, + 0x0123, 0x00df, 0x0021, 0x0024, 0x002a, 0x0029, 0x003b, 0x00ac, + /* 0x60 */ + 0x002d, 0x002f, 0x0160, 0x00c4, 0x0104, 0x012e, 0x016a, 0x00c5, + 0x0112, 0x017d, 0x00a6, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x00f8, 0x00c9, 0x0118, 0x0116, 0x010c, 0x0172, 0x012a, 0x013b, + 0x0122, 0x0060, 0x003a, 0x0023, 0x0040, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x00d8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x00ab, 0x00bb, 0x0101, 0x017c, 0x0144, 0x00b1, + /* 0x90 */ + 0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x0156, 0x0157, 0x00e6, 0x0137, 0x00c6, 0x00a4, + /* 0xa0 */ + 0x00b5, 0x007e, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x201d, 0x017a, 0x0100, 0x017b, 0x0143, 0x00ae, + /* 0xb0 */ + 0x005e, 0x00a3, 0x012b, 0x00b7, 0x00a9, 0x00a7, 0x00b6, 0x00bc, + 0x00bd, 0x00be, 0x005b, 0x005d, 0x0179, 0x0136, 0x013c, 0x00d7, + /* 0xc0 */ + 0x007b, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x014d, 0x00f6, 0x0146, 0x00f3, 0x00f5, + /* 0xd0 */ + 0x007d, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x00b9, 0x0107, 0x00fc, 0x0142, 0x015b, 0x2019, + /* 0xe0 */ + 0x005c, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x00b2, 0x014c, 0x00d6, 0x0145, 0x00d3, 0x00d5, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x00b3, 0x0106, 0x00dc, 0x0141, 0x015a, 0x009f, +}; + +static int +ebcdic1112_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + if (conv->isurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *pwc = (ucs4_t) ebcdic1112_2uni[c]; + return 1; +} + +static const unsigned char ebcdic1112_page00[384] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x5a, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0xba, 0xe0, 0xbb, 0xb0, 0x6d, /* 0x58-0x5f */ + 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0xc0, 0x4f, 0xd0, 0xa1, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0x00, 0x4a, 0xb1, 0x9f, 0x00, 0x6a, 0xb5, /* 0xa0-0xa7 */ + 0x00, 0xb4, 0x00, 0x8a, 0x5f, 0xca, 0xaf, 0x00, /* 0xa8-0xaf */ + 0x90, 0x8f, 0xea, 0xfa, 0x00, 0xa0, 0xb6, 0xb3, /* 0xb0-0xb7 */ + 0x00, 0xda, 0x00, 0x8b, 0xb7, 0xb8, 0xb9, 0x00, /* 0xb8-0xbf */ + 0x00, 0x00, 0x00, 0x00, 0x63, 0x67, 0x9e, 0x00, /* 0xc0-0xc7 */ + 0x00, 0x71, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xc8-0xcf */ + 0x00, 0x00, 0x00, 0xee, 0x00, 0xef, 0xec, 0xbf, /* 0xd0-0xd7 */ + 0x80, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x59, /* 0xd8-0xdf */ + 0x00, 0x00, 0x00, 0x00, 0x43, 0x47, 0x9c, 0x00, /* 0xe0-0xe7 */ + 0x00, 0x51, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xe8-0xef */ + 0x00, 0x00, 0x00, 0xce, 0x00, 0xcf, 0xcc, 0xe1, /* 0xf0-0xf7 */ + 0x70, 0x00, 0x00, 0x00, 0xdc, 0x00, 0x00, 0x00, /* 0xf8-0xff */ + /* 0x0100 */ + 0xac, 0x8c, 0x00, 0x00, 0x64, 0x44, 0xfb, 0xdb, /* 0x00-0x07 */ + 0x00, 0x00, 0x00, 0x00, 0x74, 0x54, 0x00, 0x00, /* 0x08-0x0f */ + 0x00, 0x00, 0x68, 0x48, 0x00, 0x00, 0x73, 0x53, /* 0x10-0x17 */ + 0x72, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x18-0x1f */ + 0x00, 0x00, 0x78, 0x58, 0x00, 0x00, 0x00, 0x00, /* 0x20-0x27 */ + 0x00, 0x00, 0x76, 0xb2, 0x00, 0x00, 0x65, 0x45, /* 0x28-0x2f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbd, 0x9d, /* 0x30-0x37 */ + 0x00, 0x00, 0x00, 0x77, 0xbe, 0x00, 0x00, 0x00, /* 0x38-0x3f */ + 0x00, 0xfd, 0xdd, 0xae, 0x8e, 0xed, 0xcd, 0x00, /* 0x40-0x47 */ + 0x00, 0x00, 0x00, 0x00, 0xeb, 0xcb, 0x00, 0x00, /* 0x48-0x4f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9a, 0x9b, /* 0x50-0x57 */ + 0x00, 0x00, 0xfe, 0xde, 0x00, 0x00, 0x00, 0x00, /* 0x58-0x5f */ + 0x62, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x60-0x67 */ + 0x00, 0x00, 0x66, 0x46, 0x00, 0x00, 0x00, 0x00, /* 0x68-0x6f */ + 0x00, 0x00, 0x75, 0x55, 0x00, 0x00, 0x00, 0x00, /* 0x70-0x77 */ + 0x00, 0xbc, 0xab, 0xad, 0x8d, 0x69, 0x49, 0x00, /* 0x78-0x7f */ +}; +static const unsigned char ebcdic1112_page20[8] = { + 0x00, 0xdf, 0x00, 0x00, 0x57, 0xaa, 0x56, 0x00, /* 0x18-0x1f */ +}; + +static int +ebcdic1112_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x0180) + c = ebcdic1112_page00[wc]; + else if (wc >= 0x2018 && wc < 0x2020) + c = ebcdic1112_page20[wc-0x2018]; + if (c != 0 || wc == 0) { + if (conv->osurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/Externals/libiconv/lib/ebcdic1122.h b/Externals/libiconv/lib/ebcdic1122.h new file mode 100644 index 00000000000..d28d897367f --- /dev/null +++ b/Externals/libiconv/lib/ebcdic1122.h @@ -0,0 +1,141 @@ +/* + * Copyright (C) 1999-2023 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV Library is free software; you can redistribute it + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV Library is distributed in the hope that it will be + * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with the GNU LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-1122 + */ + +static const unsigned short ebcdic1122_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x00e2, 0x007b, 0x00e0, 0x00e1, 0x00e3, 0x007d, + 0x00e7, 0x00f1, 0x00a7, 0x002e, 0x003c, 0x0028, 0x002b, 0x0021, + /* 0x50 */ + 0x0026, 0x0060, 0x00ea, 0x00eb, 0x00e8, 0x00ed, 0x00ee, 0x00ef, + 0x00ec, 0x00df, 0x00a4, 0x00c5, 0x002a, 0x0029, 0x003b, 0x005e, + /* 0x60 */ + 0x002d, 0x002f, 0x00c2, 0x0023, 0x00c0, 0x00c1, 0x00c3, 0x0024, + 0x00c7, 0x00d1, 0x00f6, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x00f8, 0x005c, 0x00ca, 0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, + 0x00cc, 0x00e9, 0x003a, 0x00c4, 0x00d6, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x00d8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x00ab, 0x00bb, 0x0161, 0x00fd, 0x017e, 0x00b1, + /* 0x90 */ + 0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x00aa, 0x00ba, 0x00e6, 0x00b8, 0x00c6, 0x005d, + /* 0xa0 */ + 0x00b5, 0x00fc, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x00a1, 0x00bf, 0x0160, 0x00dd, 0x017d, 0x00ae, + /* 0xb0 */ + 0x00a2, 0x00a3, 0x00a5, 0x00b7, 0x00a9, 0x005b, 0x00b6, 0x00bc, + 0x00bd, 0x00be, 0x00ac, 0x007c, 0x00af, 0x00a8, 0x00b4, 0x00d7, + /* 0xc0 */ + 0x00e4, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x00f4, 0x00a6, 0x00f2, 0x00f3, 0x00f5, + /* 0xd0 */ + 0x00e5, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x00b9, 0x00fb, 0x007e, 0x00f9, 0x00fa, 0x00ff, + /* 0xe0 */ + 0x00c9, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x00b2, 0x00d4, 0x0040, 0x00d2, 0x00d3, 0x00d5, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x00b3, 0x00db, 0x00dc, 0x00d9, 0x00da, 0x009f, +}; + +static int +ebcdic1122_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + if (conv->isurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *pwc = (ucs4_t) ebcdic1122_2uni[c]; + return 1; +} + +static const unsigned char ebcdic1122_page00[256] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x4f, 0x7f, 0x63, 0x67, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0xec, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0xb5, 0x71, 0x9f, 0x5f, 0x6d, /* 0x58-0x5f */ + 0x51, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0x43, 0xbb, 0x47, 0xdc, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0xaa, 0xb0, 0xb1, 0x5a, 0xb2, 0xcc, 0x4a, /* 0xa0-0xa7 */ + 0xbd, 0xb4, 0x9a, 0x8a, 0xba, 0xca, 0xaf, 0xbc, /* 0xa8-0xaf */ + 0x90, 0x8f, 0xea, 0xfa, 0xbe, 0xa0, 0xb6, 0xb3, /* 0xb0-0xb7 */ + 0x9d, 0xda, 0x9b, 0x8b, 0xb7, 0xb8, 0xb9, 0xab, /* 0xb8-0xbf */ + 0x64, 0x65, 0x62, 0x66, 0x7b, 0x5b, 0x9e, 0x68, /* 0xc0-0xc7 */ + 0x74, 0xe0, 0x72, 0x73, 0x78, 0x75, 0x76, 0x77, /* 0xc8-0xcf */ + 0x00, 0x69, 0xed, 0xee, 0xeb, 0xef, 0x7c, 0xbf, /* 0xd0-0xd7 */ + 0x80, 0xfd, 0xfe, 0xfb, 0xfc, 0xad, 0x00, 0x59, /* 0xd8-0xdf */ + 0x44, 0x45, 0x42, 0x46, 0xc0, 0xd0, 0x9c, 0x48, /* 0xe0-0xe7 */ + 0x54, 0x79, 0x52, 0x53, 0x58, 0x55, 0x56, 0x57, /* 0xe8-0xef */ + 0x00, 0x49, 0xcd, 0xce, 0xcb, 0xcf, 0x6a, 0xe1, /* 0xf0-0xf7 */ + 0x70, 0xdd, 0xde, 0xdb, 0xa1, 0x8d, 0x00, 0xdf, /* 0xf8-0xff */ +}; +static const unsigned char ebcdic1122_page01[32] = { + 0xac, 0x8c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x60-0x67 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x68-0x6f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x70-0x77 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0xae, 0x8e, 0x00, /* 0x78-0x7f */ +}; + +static int +ebcdic1122_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x0100) + c = ebcdic1122_page00[wc]; + else if (wc >= 0x0160 && wc < 0x0180) + c = ebcdic1122_page01[wc-0x0160]; + if (c != 0 || wc == 0) { + if (conv->osurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/Externals/libiconv/lib/ebcdic1123.h b/Externals/libiconv/lib/ebcdic1123.h new file mode 100644 index 00000000000..4b0cc302d1b --- /dev/null +++ b/Externals/libiconv/lib/ebcdic1123.h @@ -0,0 +1,152 @@ +/* + * Copyright (C) 1999-2023 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV Library is free software; you can redistribute it + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV Library is distributed in the hope that it will be + * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with the GNU LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-1123 + */ + +static const unsigned short ebcdic1123_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x0452, 0x0491, 0x0451, 0x0454, 0x0455, 0x0456, + 0x0457, 0x0458, 0x005b, 0x002e, 0x003c, 0x0028, 0x002b, 0x0021, + /* 0x50 */ + 0x0026, 0x0459, 0x045a, 0x045b, 0x045c, 0x045e, 0x045f, 0x042a, + 0x2116, 0x0402, 0x005d, 0x0024, 0x002a, 0x0029, 0x003b, 0x005e, + /* 0x60 */ + 0x002d, 0x002f, 0x0490, 0x0401, 0x0404, 0x0405, 0x0406, 0x0407, + 0x0408, 0x0409, 0x007c, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x040a, 0x040b, 0x040c, 0x00ad, 0x040e, 0x040f, 0x044e, 0x0430, + 0x0431, 0x0060, 0x003a, 0x0023, 0x0040, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x0446, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x0434, 0x0435, 0x0444, 0x0433, 0x0445, 0x0438, + /* 0x90 */ + 0x0439, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x043a, 0x043b, 0x043c, 0x043d, 0x043e, 0x043f, + /* 0xa0 */ + 0x044f, 0x007e, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x0440, 0x0441, 0x0442, 0x0443, 0x0436, 0x0432, + /* 0xb0 */ + 0x044c, 0x044b, 0x0437, 0x0448, 0x044d, 0x0449, 0x0447, 0x044a, + 0x042e, 0x0410, 0x0411, 0x0426, 0x0414, 0x0415, 0x0424, 0x0413, + /* 0xc0 */ + 0x007b, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x0425, 0x0418, 0x0419, 0x041a, 0x041b, 0x041c, + /* 0xd0 */ + 0x007d, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x041d, 0x041e, 0x041f, 0x042f, 0x0420, 0x0421, + /* 0xe0 */ + 0x005c, 0x00a7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x0422, 0x0423, 0x0416, 0x0412, 0x042c, 0x042b, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x0417, 0x0428, 0x042d, 0x0429, 0x0427, 0x009f, +}; + +static int +ebcdic1123_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + if (conv->isurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *pwc = (ucs4_t) ebcdic1123_2uni[c]; + return 1; +} + +#if DEDUPLICATE_TABLES +#define ebcdic1123_page00 ebcdic1025_page00 +#else /* Unoptimized */ +static const unsigned char ebcdic1123_page00[176] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x4f, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0x4a, 0xe0, 0x5a, 0x5f, 0x6d, /* 0x58-0x5f */ + 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0xc0, 0x6a, 0xd0, 0xa1, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe1, /* 0xa0-0xa7 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x73, 0x00, 0x00, /* 0xa8-0xaf */ +}; +#endif +static const unsigned char ebcdic1123_page04[152] = { + 0x00, 0x63, 0x59, 0x00, 0x64, 0x65, 0x66, 0x67, /* 0x00-0x07 */ + 0x68, 0x69, 0x70, 0x71, 0x72, 0x00, 0x74, 0x75, /* 0x08-0x0f */ + 0xb9, 0xba, 0xed, 0xbf, 0xbc, 0xbd, 0xec, 0xfa, /* 0x10-0x17 */ + 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xda, 0xdb, 0xdc, /* 0x18-0x1f */ + 0xde, 0xdf, 0xea, 0xeb, 0xbe, 0xca, 0xbb, 0xfe, /* 0x20-0x27 */ + 0xfb, 0xfd, 0x57, 0xef, 0xee, 0xfc, 0xb8, 0xdd, /* 0x28-0x2f */ + 0x77, 0x78, 0xaf, 0x8d, 0x8a, 0x8b, 0xae, 0xb2, /* 0x30-0x37 */ + 0x8f, 0x90, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f, /* 0x38-0x3f */ + 0xaa, 0xab, 0xac, 0xad, 0x8c, 0x8e, 0x80, 0xb6, /* 0x40-0x47 */ + 0xb3, 0xb5, 0xb7, 0xb1, 0xb0, 0xb4, 0x76, 0xa0, /* 0x48-0x4f */ + 0x00, 0x44, 0x42, 0x00, 0x45, 0x46, 0x47, 0x48, /* 0x50-0x57 */ + 0x49, 0x51, 0x52, 0x53, 0x54, 0x00, 0x55, 0x56, /* 0x58-0x5f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x60-0x67 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x68-0x6f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x70-0x77 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x78-0x7f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x80-0x87 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x88-0x8f */ + 0x62, 0x43, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x90-0x97 */ +}; + +static int +ebcdic1123_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x00b0) + c = ebcdic1123_page00[wc]; + else if (wc >= 0x0400 && wc < 0x0498) + c = ebcdic1123_page04[wc-0x0400]; + else if (wc == 0x2116) + c = 0x58; + if (c != 0 || wc == 0) { + if (conv->osurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/Externals/libiconv/lib/ebcdic1130.h b/Externals/libiconv/lib/ebcdic1130.h new file mode 100644 index 00000000000..8d77e6929cc --- /dev/null +++ b/Externals/libiconv/lib/ebcdic1130.h @@ -0,0 +1,168 @@ +/* + * Copyright (C) 1999-2023 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV Library is free software; you can redistribute it + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV Library is distributed in the hope that it will be + * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with the GNU LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-1130 + */ + +static const unsigned short ebcdic1130_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x00e2, 0x00e4, 0x00e0, 0x00e1, 0x0103, 0x00e5, + 0x00e7, 0x00f1, 0x005b, 0x002e, 0x003c, 0x0028, 0x002b, 0x0021, + /* 0x50 */ + 0x0026, 0x00e9, 0x00ea, 0x00eb, 0x00e8, 0x00ed, 0x00ee, 0x00ef, + 0x0303, 0x00df, 0x005d, 0x0024, 0x002a, 0x0029, 0x003b, 0x005e, + /* 0x60 */ + 0x002d, 0x002f, 0x00c2, 0x00c4, 0x00c0, 0x00c1, 0x0102, 0x00c5, + 0x00c7, 0x00d1, 0x00a6, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x00f8, 0x00c9, 0x00ca, 0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, + 0x20ab, 0x0060, 0x003a, 0x0023, 0x0040, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x00d8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x00ab, 0x00bb, 0x0111, 0x0309, 0x0300, 0x00b1, + /* 0x90 */ + 0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x00aa, 0x00ba, 0x00e6, 0x0152, 0x00c6, 0x00a4, + /* 0xa0 */ + 0x00b5, 0x007e, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x00a1, 0x00bf, 0x0110, 0x0323, 0x0301, 0x00ae, + /* 0xb0 */ + 0x00a2, 0x00a3, 0x00a5, 0x00b7, 0x00a9, 0x00a7, 0x00b6, 0x00bc, + 0x00bd, 0x00be, 0x00ac, 0x007c, 0x00af, 0x0153, 0x0178, 0x00d7, + /* 0xc0 */ + 0x007b, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x00f4, 0x00f6, 0x01b0, 0x00f3, 0x01a1, + /* 0xd0 */ + 0x007d, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x00b9, 0x00fb, 0x00fc, 0x00f9, 0x00fa, 0x00ff, + /* 0xe0 */ + 0x005c, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x00b2, 0x00d4, 0x00d6, 0x01af, 0x00d3, 0x01a0, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x00b3, 0x00db, 0x00dc, 0x00d9, 0x00da, 0x009f, +}; + +static int +ebcdic1130_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + if (conv->isurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *pwc = (ucs4_t) ebcdic1130_2uni[c]; + return 1; +} + +static const unsigned char ebcdic1130_page00[440] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x4f, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0x4a, 0xe0, 0x5a, 0x5f, 0x6d, /* 0x58-0x5f */ + 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0xc0, 0xbb, 0xd0, 0xa1, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0xaa, 0xb0, 0xb1, 0x9f, 0xb2, 0x6a, 0xb5, /* 0xa0-0xa7 */ + 0x00, 0xb4, 0x9a, 0x8a, 0xba, 0xca, 0xaf, 0xbc, /* 0xa8-0xaf */ + 0x90, 0x8f, 0xea, 0xfa, 0x00, 0xa0, 0xb6, 0xb3, /* 0xb0-0xb7 */ + 0x00, 0xda, 0x9b, 0x8b, 0xb7, 0xb8, 0xb9, 0xab, /* 0xb8-0xbf */ + 0x64, 0x65, 0x62, 0x00, 0x63, 0x67, 0x9e, 0x68, /* 0xc0-0xc7 */ + 0x74, 0x71, 0x72, 0x73, 0x00, 0x75, 0x76, 0x77, /* 0xc8-0xcf */ + 0x00, 0x69, 0x00, 0xee, 0xeb, 0x00, 0xec, 0xbf, /* 0xd0-0xd7 */ + 0x80, 0xfd, 0xfe, 0xfb, 0xfc, 0x00, 0x00, 0x59, /* 0xd8-0xdf */ + 0x44, 0x45, 0x42, 0x00, 0x43, 0x47, 0x9c, 0x48, /* 0xe0-0xe7 */ + 0x54, 0x51, 0x52, 0x53, 0x00, 0x55, 0x56, 0x57, /* 0xe8-0xef */ + 0x00, 0x49, 0x00, 0xce, 0xcb, 0x00, 0xcc, 0xe1, /* 0xf0-0xf7 */ + 0x70, 0xdd, 0xde, 0xdb, 0xdc, 0x00, 0x00, 0xdf, /* 0xf8-0xff */ + /* 0x0100 */ + 0x00, 0x00, 0x66, 0x46, 0x00, 0x00, 0x00, 0x00, /* 0x00-0x07 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x08-0x0f */ + 0xac, 0x8c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10-0x17 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x18-0x1f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x20-0x27 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x28-0x2f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x30-0x37 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x38-0x3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x40-0x47 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x48-0x4f */ + 0x00, 0x00, 0x9d, 0xbd, 0x00, 0x00, 0x00, 0x00, /* 0x50-0x57 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x58-0x5f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x60-0x67 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x68-0x6f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x70-0x77 */ + 0xbe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x78-0x7f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x80-0x87 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x88-0x8f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x90-0x97 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x98-0x9f */ + 0xef, 0xcf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa0-0xa7 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xed, /* 0xa8-0xaf */ + 0xcd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xb0-0xb7 */ +}; +static const unsigned char ebcdic1130_page03[40] = { + 0x8e, 0xae, 0x00, 0x58, 0x00, 0x00, 0x00, 0x00, /* 0x00-0x07 */ + 0x00, 0x8d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x08-0x0f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10-0x17 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x18-0x1f */ + 0x00, 0x00, 0x00, 0xad, 0x00, 0x00, 0x00, 0x00, /* 0x20-0x27 */ +}; + +static int +ebcdic1130_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x01b8) + c = ebcdic1130_page00[wc]; + else if (wc >= 0x0300 && wc < 0x0328) + c = ebcdic1130_page03[wc-0x0300]; + else if (wc == 0x20ab) + c = 0x78; + if (c != 0 || wc == 0) { + if (conv->osurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/Externals/libiconv/lib/ebcdic1132.h b/Externals/libiconv/lib/ebcdic1132.h new file mode 100644 index 00000000000..7c53dbb41b9 --- /dev/null +++ b/Externals/libiconv/lib/ebcdic1132.h @@ -0,0 +1,149 @@ +/* + * Copyright (C) 1999-2023 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV Library is free software; you can redistribute it + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV Library is distributed in the hope that it will be + * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with the GNU LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-1132 + */ + +static const unsigned short ebcdic1132_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x0e81, 0x0e82, 0x0e84, 0x0e87, 0x0e88, 0x0eaa, + 0x0e8a, 0x005b, 0x00a2, 0x002e, 0x003c, 0x0028, 0x002b, 0x007c, + /* 0x50 */ + 0x0026, 0xfffd, 0x0e8d, 0x0e94, 0x0e95, 0x0e96, 0x0e97, 0x0e99, + 0x0e9a, 0x005d, 0x0021, 0x0024, 0x002a, 0x0029, 0x003b, 0x00ac, + /* 0x60 */ + 0x002d, 0x002f, 0x0e9b, 0x0e9c, 0x0e9d, 0x0e9e, 0x0e9f, 0x0ea1, + 0x0ea2, 0x005e, 0x00a6, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x20ad, 0xfffd, 0x0ea3, 0x0ea5, 0x0ea7, 0x0eab, 0x0ead, 0x0eae, + 0xfffd, 0x0060, 0x003a, 0x0023, 0x0040, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0xfffd, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0xfffd, 0xfffd, 0x0eaf, 0x0eb0, 0x0eb2, 0x0eb3, + /* 0x90 */ + 0xfffd, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x0eb4, 0x0eb5, 0x0eb6, 0x0eb7, 0x0eb8, 0x0eb9, + /* 0xa0 */ + 0xfffd, 0x007e, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x0ebc, 0x0eb1, 0x0ebb, 0x0ebd, 0xfffd, 0xfffd, + /* 0xb0 */ + 0x0ed0, 0x0ed1, 0x0ed2, 0x0ed3, 0x0ed4, 0x0ed5, 0x0ed6, 0x0ed7, + 0x0ed8, 0x0ed9, 0xfffd, 0x0ec0, 0x0ec1, 0x0ec2, 0x0ec3, 0x0ec4, + /* 0xc0 */ + 0x007b, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0xfffd, 0x0ec8, 0x0ec9, 0x0eca, 0x0ecb, 0x0ecc, + /* 0xd0 */ + 0x007d, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x0ecd, 0x0ec6, 0xfffd, 0x0edc, 0x0edd, 0xfffd, + /* 0xe0 */ + 0x005c, 0xfffd, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0x009f, +}; + +static int +ebcdic1132_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + if (conv->isurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + unsigned short wc = ebcdic1132_2uni[c]; + if (wc != 0xfffd) { + *pwc = (ucs4_t) wc; + return 1; + } + return RET_ILSEQ; +} + +#if DEDUPLICATE_TABLES +#define ebcdic1132_page00 ebcdic838_page00 +#else /* Unoptimized */ +static const unsigned char ebcdic1132_page00[176] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x5a, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0x49, 0xe0, 0x59, 0x69, 0x6d, /* 0x58-0x5f */ + 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0xc0, 0x4f, 0xd0, 0xa1, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0x00, 0x4a, 0x00, 0x00, 0x00, 0x6a, 0x00, /* 0xa0-0xa7 */ + 0x00, 0x00, 0x00, 0x00, 0x5f, 0x00, 0x00, 0x00, /* 0xa8-0xaf */ +}; +#endif +static const unsigned char ebcdic1132_page0e[96] = { + 0x00, 0x42, 0x43, 0x00, 0x44, 0x00, 0x00, 0x45, /* 0x80-0x87 */ + 0x46, 0x00, 0x48, 0x00, 0x00, 0x52, 0x00, 0x00, /* 0x88-0x8f */ + 0x00, 0x00, 0x00, 0x00, 0x53, 0x54, 0x55, 0x56, /* 0x90-0x97 */ + 0x00, 0x57, 0x58, 0x62, 0x63, 0x64, 0x65, 0x66, /* 0x98-0x9f */ + 0x00, 0x67, 0x68, 0x72, 0x00, 0x73, 0x00, 0x74, /* 0xa0-0xa7 */ + 0x00, 0x00, 0x47, 0x75, 0x00, 0x76, 0x77, 0x8c, /* 0xa8-0xaf */ + 0x8d, 0xab, 0x8e, 0x8f, 0x9a, 0x9b, 0x9c, 0x9d, /* 0xb0-0xb7 */ + 0x9e, 0x9f, 0x00, 0xac, 0xaa, 0xad, 0x00, 0x00, /* 0xb8-0xbf */ + 0xbb, 0xbc, 0xbd, 0xbe, 0xbf, 0x00, 0xdb, 0x00, /* 0xc0-0xc7 */ + 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xda, 0x00, 0x00, /* 0xc8-0xcf */ + 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, /* 0xd0-0xd7 */ + 0xb8, 0xb9, 0x00, 0x00, 0xdd, 0xde, 0x00, 0x00, /* 0xd8-0xdf */ +}; + +static int +ebcdic1132_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x00b0) + c = ebcdic1132_page00[wc]; + else if (wc >= 0x0e80 && wc < 0x0ee0) + c = ebcdic1132_page0e[wc-0x0e80]; + else if (wc == 0x20ad) + c = 0x70; + if (c != 0 || wc == 0) { + if (conv->osurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/Externals/libiconv/lib/ebcdic1137.h b/Externals/libiconv/lib/ebcdic1137.h new file mode 100644 index 00000000000..b4b7374fbb9 --- /dev/null +++ b/Externals/libiconv/lib/ebcdic1137.h @@ -0,0 +1,150 @@ +/* + * Copyright (C) 1999-2023 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV Library is free software; you can redistribute it + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV Library is distributed in the hope that it will be + * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with the GNU LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-1137 + */ + +static const unsigned short ebcdic1137_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x0901, 0x0902, 0x0903, 0x0905, 0x0906, 0x0907, + 0x0908, 0x0909, 0x090a, 0x002e, 0x003c, 0x0028, 0x002b, 0x007c, + /* 0x50 */ + 0x0026, 0x090b, 0x090c, 0x090d, 0x090e, 0x090f, 0x0910, 0x0911, + 0x0912, 0x0913, 0x0021, 0x0024, 0x002a, 0x0029, 0x003b, 0x005e, + /* 0x60 */ + 0x002d, 0x002f, 0x0914, 0x0915, 0x0916, 0x0917, 0x0918, 0x0919, + 0x091a, 0x091b, 0x091c, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x091d, 0x091e, 0x091f, 0x0920, 0x0921, 0x0922, 0x0923, 0x0924, + 0x0925, 0x0060, 0x003a, 0x0023, 0x0040, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x0926, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x0927, 0x0928, 0x092a, 0x092b, 0x092c, 0x092d, + /* 0x90 */ + 0x092e, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x092f, 0x0930, 0x0932, 0x0933, 0x0935, 0x0936, + /* 0xa0 */ + 0x200c, 0x007e, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x0937, 0x0938, 0x0939, 0x005b, 0x093c, 0x093d, + /* 0xb0 */ + 0x093e, 0x093f, 0x0940, 0x0941, 0x0942, 0x0943, 0x0944, 0x0945, + 0x0946, 0x0947, 0x0948, 0x0949, 0x094a, 0x005d, 0x094b, 0x094c, + /* 0xc0 */ + 0x007b, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x094d, 0x0950, 0x0951, 0x0952, 0xfffd, 0xfffd, + /* 0xd0 */ + 0x007d, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x0960, 0x0961, 0x0962, 0x0963, 0x0964, 0x0965, + /* 0xe0 */ + 0x005c, 0x200d, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x0966, 0x0967, 0x0968, 0x0969, 0x096a, 0x096b, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x096c, 0x096d, 0x096e, 0x096f, 0x0970, 0x009f, +}; + +static int +ebcdic1137_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + if (conv->isurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + unsigned short wc = ebcdic1137_2uni[c]; + if (wc != 0xfffd) { + *pwc = (ucs4_t) wc; + return 1; + } + return RET_ILSEQ; +} + +static const unsigned char ebcdic1137_page00[168] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x5a, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0xad, 0xe0, 0xbd, 0x5f, 0x6d, /* 0x58-0x5f */ + 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0xc0, 0x4f, 0xd0, 0xa1, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa0-0xa7 */ +}; +static const unsigned char ebcdic1137_page09[120] = { + 0x00, 0x42, 0x43, 0x44, 0x00, 0x45, 0x46, 0x47, /* 0x00-0x07 */ + 0x48, 0x49, 0x4a, 0x51, 0x52, 0x53, 0x54, 0x55, /* 0x08-0x0f */ + 0x56, 0x57, 0x58, 0x59, 0x62, 0x63, 0x64, 0x65, /* 0x10-0x17 */ + 0x66, 0x67, 0x68, 0x69, 0x6a, 0x70, 0x71, 0x72, /* 0x18-0x1f */ + 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x80, 0x8a, /* 0x20-0x27 */ + 0x8b, 0x00, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x9a, /* 0x28-0x2f */ + 0x9b, 0x00, 0x9c, 0x9d, 0x00, 0x9e, 0x9f, 0xaa, /* 0x30-0x37 */ + 0xab, 0xac, 0x00, 0x00, 0xae, 0xaf, 0xb0, 0xb1, /* 0x38-0x3f */ + 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, 0xb8, 0xb9, /* 0x40-0x47 */ + 0xba, 0xbb, 0xbc, 0xbe, 0xbf, 0xca, 0x00, 0x00, /* 0x48-0x4f */ + 0xcb, 0xcc, 0xcd, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x50-0x57 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x58-0x5f */ + 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf, 0xea, 0xeb, /* 0x60-0x67 */ + 0xec, 0xed, 0xee, 0xef, 0xfa, 0xfb, 0xfc, 0xfd, /* 0x68-0x6f */ + 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x70-0x77 */ +}; +static const unsigned char ebcdic1137_page20[8] = { + 0x00, 0x00, 0x00, 0x00, 0xa0, 0xe1, 0x00, 0x00, /* 0x08-0x0f */ +}; + +static int +ebcdic1137_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x00a8) + c = ebcdic1137_page00[wc]; + else if (wc >= 0x0900 && wc < 0x0978) + c = ebcdic1137_page09[wc-0x0900]; + else if (wc >= 0x2008 && wc < 0x2010) + c = ebcdic1137_page20[wc-0x2008]; + if (c != 0 || wc == 0) { + if (conv->osurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/Externals/libiconv/lib/ebcdic1140.h b/Externals/libiconv/lib/ebcdic1140.h new file mode 100644 index 00000000000..a8557cfd800 --- /dev/null +++ b/Externals/libiconv/lib/ebcdic1140.h @@ -0,0 +1,135 @@ +/* + * Copyright (C) 1999-2023 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV Library is free software; you can redistribute it + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV Library is distributed in the hope that it will be + * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with the GNU LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-1140 + */ + +static const unsigned short ebcdic1140_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x00e2, 0x00e4, 0x00e0, 0x00e1, 0x00e3, 0x00e5, + 0x00e7, 0x00f1, 0x00a2, 0x002e, 0x003c, 0x0028, 0x002b, 0x007c, + /* 0x50 */ + 0x0026, 0x00e9, 0x00ea, 0x00eb, 0x00e8, 0x00ed, 0x00ee, 0x00ef, + 0x00ec, 0x00df, 0x0021, 0x0024, 0x002a, 0x0029, 0x003b, 0x00ac, + /* 0x60 */ + 0x002d, 0x002f, 0x00c2, 0x00c4, 0x00c0, 0x00c1, 0x00c3, 0x00c5, + 0x00c7, 0x00d1, 0x00a6, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x00f8, 0x00c9, 0x00ca, 0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, + 0x00cc, 0x0060, 0x003a, 0x0023, 0x0040, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x00d8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x00ab, 0x00bb, 0x00f0, 0x00fd, 0x00fe, 0x00b1, + /* 0x90 */ + 0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x00aa, 0x00ba, 0x00e6, 0x00b8, 0x00c6, 0x20ac, + /* 0xa0 */ + 0x00b5, 0x007e, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x00a1, 0x00bf, 0x00d0, 0x00dd, 0x00de, 0x00ae, + /* 0xb0 */ + 0x005e, 0x00a3, 0x00a5, 0x00b7, 0x00a9, 0x00a7, 0x00b6, 0x00bc, + 0x00bd, 0x00be, 0x005b, 0x005d, 0x00af, 0x00a8, 0x00b4, 0x00d7, + /* 0xc0 */ + 0x007b, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x00f4, 0x00f6, 0x00f2, 0x00f3, 0x00f5, + /* 0xd0 */ + 0x007d, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x00b9, 0x00fb, 0x00fc, 0x00f9, 0x00fa, 0x00ff, + /* 0xe0 */ + 0x005c, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x00b2, 0x00d4, 0x00d6, 0x00d2, 0x00d3, 0x00d5, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x00b3, 0x00db, 0x00dc, 0x00d9, 0x00da, 0x009f, +}; + +static int +ebcdic1140_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + if (conv->isurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *pwc = (ucs4_t) ebcdic1140_2uni[c]; + return 1; +} + +static const unsigned char ebcdic1140_page00[256] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x5a, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0xba, 0xe0, 0xbb, 0xb0, 0x6d, /* 0x58-0x5f */ + 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0xc0, 0x4f, 0xd0, 0xa1, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0xaa, 0x4a, 0xb1, 0x00, 0xb2, 0x6a, 0xb5, /* 0xa0-0xa7 */ + 0xbd, 0xb4, 0x9a, 0x8a, 0x5f, 0xca, 0xaf, 0xbc, /* 0xa8-0xaf */ + 0x90, 0x8f, 0xea, 0xfa, 0xbe, 0xa0, 0xb6, 0xb3, /* 0xb0-0xb7 */ + 0x9d, 0xda, 0x9b, 0x8b, 0xb7, 0xb8, 0xb9, 0xab, /* 0xb8-0xbf */ + 0x64, 0x65, 0x62, 0x66, 0x63, 0x67, 0x9e, 0x68, /* 0xc0-0xc7 */ + 0x74, 0x71, 0x72, 0x73, 0x78, 0x75, 0x76, 0x77, /* 0xc8-0xcf */ + 0xac, 0x69, 0xed, 0xee, 0xeb, 0xef, 0xec, 0xbf, /* 0xd0-0xd7 */ + 0x80, 0xfd, 0xfe, 0xfb, 0xfc, 0xad, 0xae, 0x59, /* 0xd8-0xdf */ + 0x44, 0x45, 0x42, 0x46, 0x43, 0x47, 0x9c, 0x48, /* 0xe0-0xe7 */ + 0x54, 0x51, 0x52, 0x53, 0x58, 0x55, 0x56, 0x57, /* 0xe8-0xef */ + 0x8c, 0x49, 0xcd, 0xce, 0xcb, 0xcf, 0xcc, 0xe1, /* 0xf0-0xf7 */ + 0x70, 0xdd, 0xde, 0xdb, 0xdc, 0x8d, 0x8e, 0xdf, /* 0xf8-0xff */ +}; + +static int +ebcdic1140_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x0100) + c = ebcdic1140_page00[wc]; + else if (wc == 0x20ac) + c = 0x9f; + if (c != 0 || wc == 0) { + if (conv->osurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/Externals/libiconv/lib/ebcdic1141.h b/Externals/libiconv/lib/ebcdic1141.h new file mode 100644 index 00000000000..d7669a053bc --- /dev/null +++ b/Externals/libiconv/lib/ebcdic1141.h @@ -0,0 +1,135 @@ +/* + * Copyright (C) 1999-2023 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV Library is free software; you can redistribute it + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV Library is distributed in the hope that it will be + * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with the GNU LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-1141 + */ + +static const unsigned short ebcdic1141_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x00e2, 0x007b, 0x00e0, 0x00e1, 0x00e3, 0x00e5, + 0x00e7, 0x00f1, 0x00c4, 0x002e, 0x003c, 0x0028, 0x002b, 0x0021, + /* 0x50 */ + 0x0026, 0x00e9, 0x00ea, 0x00eb, 0x00e8, 0x00ed, 0x00ee, 0x00ef, + 0x00ec, 0x007e, 0x00dc, 0x0024, 0x002a, 0x0029, 0x003b, 0x005e, + /* 0x60 */ + 0x002d, 0x002f, 0x00c2, 0x005b, 0x00c0, 0x00c1, 0x00c3, 0x00c5, + 0x00c7, 0x00d1, 0x00f6, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x00f8, 0x00c9, 0x00ca, 0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, + 0x00cc, 0x0060, 0x003a, 0x0023, 0x00a7, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x00d8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x00ab, 0x00bb, 0x00f0, 0x00fd, 0x00fe, 0x00b1, + /* 0x90 */ + 0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x00aa, 0x00ba, 0x00e6, 0x00b8, 0x00c6, 0x20ac, + /* 0xa0 */ + 0x00b5, 0x00df, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x00a1, 0x00bf, 0x00d0, 0x00dd, 0x00de, 0x00ae, + /* 0xb0 */ + 0x00a2, 0x00a3, 0x00a5, 0x00b7, 0x00a9, 0x0040, 0x00b6, 0x00bc, + 0x00bd, 0x00be, 0x00ac, 0x007c, 0x00af, 0x00a8, 0x00b4, 0x00d7, + /* 0xc0 */ + 0x00e4, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x00f4, 0x00a6, 0x00f2, 0x00f3, 0x00f5, + /* 0xd0 */ + 0x00fc, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x00b9, 0x00fb, 0x007d, 0x00f9, 0x00fa, 0x00ff, + /* 0xe0 */ + 0x00d6, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x00b2, 0x00d4, 0x005c, 0x00d2, 0x00d3, 0x00d5, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x00b3, 0x00db, 0x005d, 0x00d9, 0x00da, 0x009f, +}; + +static int +ebcdic1141_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + if (conv->isurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *pwc = (ucs4_t) ebcdic1141_2uni[c]; + return 1; +} + +static const unsigned char ebcdic1141_page00[256] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x4f, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0xb5, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0x63, 0xec, 0xfc, 0x5f, 0x6d, /* 0x58-0x5f */ + 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0x43, 0xbb, 0xdc, 0x59, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0xaa, 0xb0, 0xb1, 0x00, 0xb2, 0xcc, 0x7c, /* 0xa0-0xa7 */ + 0xbd, 0xb4, 0x9a, 0x8a, 0xba, 0xca, 0xaf, 0xbc, /* 0xa8-0xaf */ + 0x90, 0x8f, 0xea, 0xfa, 0xbe, 0xa0, 0xb6, 0xb3, /* 0xb0-0xb7 */ + 0x9d, 0xda, 0x9b, 0x8b, 0xb7, 0xb8, 0xb9, 0xab, /* 0xb8-0xbf */ + 0x64, 0x65, 0x62, 0x66, 0x4a, 0x67, 0x9e, 0x68, /* 0xc0-0xc7 */ + 0x74, 0x71, 0x72, 0x73, 0x78, 0x75, 0x76, 0x77, /* 0xc8-0xcf */ + 0xac, 0x69, 0xed, 0xee, 0xeb, 0xef, 0xe0, 0xbf, /* 0xd0-0xd7 */ + 0x80, 0xfd, 0xfe, 0xfb, 0x5a, 0xad, 0xae, 0xa1, /* 0xd8-0xdf */ + 0x44, 0x45, 0x42, 0x46, 0xc0, 0x47, 0x9c, 0x48, /* 0xe0-0xe7 */ + 0x54, 0x51, 0x52, 0x53, 0x58, 0x55, 0x56, 0x57, /* 0xe8-0xef */ + 0x8c, 0x49, 0xcd, 0xce, 0xcb, 0xcf, 0x6a, 0xe1, /* 0xf0-0xf7 */ + 0x70, 0xdd, 0xde, 0xdb, 0xd0, 0x8d, 0x8e, 0xdf, /* 0xf8-0xff */ +}; + +static int +ebcdic1141_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x0100) + c = ebcdic1141_page00[wc]; + else if (wc == 0x20ac) + c = 0x9f; + if (c != 0 || wc == 0) { + if (conv->osurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/Externals/libiconv/lib/ebcdic1142.h b/Externals/libiconv/lib/ebcdic1142.h new file mode 100644 index 00000000000..4e9e1be5b1f --- /dev/null +++ b/Externals/libiconv/lib/ebcdic1142.h @@ -0,0 +1,135 @@ +/* + * Copyright (C) 1999-2023 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV Library is free software; you can redistribute it + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV Library is distributed in the hope that it will be + * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with the GNU LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-1142 + */ + +static const unsigned short ebcdic1142_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x00e2, 0x00e4, 0x00e0, 0x00e1, 0x00e3, 0x007d, + 0x00e7, 0x00f1, 0x0023, 0x002e, 0x003c, 0x0028, 0x002b, 0x0021, + /* 0x50 */ + 0x0026, 0x00e9, 0x00ea, 0x00eb, 0x00e8, 0x00ed, 0x00ee, 0x00ef, + 0x00ec, 0x00df, 0x20ac, 0x00c5, 0x002a, 0x0029, 0x003b, 0x005e, + /* 0x60 */ + 0x002d, 0x002f, 0x00c2, 0x00c4, 0x00c0, 0x00c1, 0x00c3, 0x0024, + 0x00c7, 0x00d1, 0x00f8, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x00a6, 0x00c9, 0x00ca, 0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, + 0x00cc, 0x0060, 0x003a, 0x00c6, 0x00d8, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x0040, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x00ab, 0x00bb, 0x00f0, 0x00fd, 0x00fe, 0x00b1, + /* 0x90 */ + 0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x00aa, 0x00ba, 0x007b, 0x00b8, 0x005b, 0x005d, + /* 0xa0 */ + 0x00b5, 0x00fc, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x00a1, 0x00bf, 0x00d0, 0x00dd, 0x00de, 0x00ae, + /* 0xb0 */ + 0x00a2, 0x00a3, 0x00a5, 0x00b7, 0x00a9, 0x00a7, 0x00b6, 0x00bc, + 0x00bd, 0x00be, 0x00ac, 0x007c, 0x00af, 0x00a8, 0x00b4, 0x00d7, + /* 0xc0 */ + 0x00e6, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x00f4, 0x00f6, 0x00f2, 0x00f3, 0x00f5, + /* 0xd0 */ + 0x00e5, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x00b9, 0x00fb, 0x007e, 0x00f9, 0x00fa, 0x00ff, + /* 0xe0 */ + 0x005c, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x00b2, 0x00d4, 0x00d6, 0x00d2, 0x00d3, 0x00d5, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x00b3, 0x00db, 0x00dc, 0x00d9, 0x00da, 0x009f, +}; + +static int +ebcdic1142_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + if (conv->isurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *pwc = (ucs4_t) ebcdic1142_2uni[c]; + return 1; +} + +static const unsigned char ebcdic1142_page00[256] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x4f, 0x7f, 0x4a, 0x67, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0x80, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0x9e, 0xe0, 0x9f, 0x5f, 0x6d, /* 0x58-0x5f */ + 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0x9c, 0xbb, 0x47, 0xdc, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0xaa, 0xb0, 0xb1, 0x00, 0xb2, 0x70, 0xb5, /* 0xa0-0xa7 */ + 0xbd, 0xb4, 0x9a, 0x8a, 0xba, 0xca, 0xaf, 0xbc, /* 0xa8-0xaf */ + 0x90, 0x8f, 0xea, 0xfa, 0xbe, 0xa0, 0xb6, 0xb3, /* 0xb0-0xb7 */ + 0x9d, 0xda, 0x9b, 0x8b, 0xb7, 0xb8, 0xb9, 0xab, /* 0xb8-0xbf */ + 0x64, 0x65, 0x62, 0x66, 0x63, 0x5b, 0x7b, 0x68, /* 0xc0-0xc7 */ + 0x74, 0x71, 0x72, 0x73, 0x78, 0x75, 0x76, 0x77, /* 0xc8-0xcf */ + 0xac, 0x69, 0xed, 0xee, 0xeb, 0xef, 0xec, 0xbf, /* 0xd0-0xd7 */ + 0x7c, 0xfd, 0xfe, 0xfb, 0xfc, 0xad, 0xae, 0x59, /* 0xd8-0xdf */ + 0x44, 0x45, 0x42, 0x46, 0x43, 0xd0, 0xc0, 0x48, /* 0xe0-0xe7 */ + 0x54, 0x51, 0x52, 0x53, 0x58, 0x55, 0x56, 0x57, /* 0xe8-0xef */ + 0x8c, 0x49, 0xcd, 0xce, 0xcb, 0xcf, 0xcc, 0xe1, /* 0xf0-0xf7 */ + 0x6a, 0xdd, 0xde, 0xdb, 0xa1, 0x8d, 0x8e, 0xdf, /* 0xf8-0xff */ +}; + +static int +ebcdic1142_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x0100) + c = ebcdic1142_page00[wc]; + else if (wc == 0x20ac) + c = 0x5a; + if (c != 0 || wc == 0) { + if (conv->osurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/Externals/libiconv/lib/ebcdic1143.h b/Externals/libiconv/lib/ebcdic1143.h new file mode 100644 index 00000000000..597577923ee --- /dev/null +++ b/Externals/libiconv/lib/ebcdic1143.h @@ -0,0 +1,135 @@ +/* + * Copyright (C) 1999-2023 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV Library is free software; you can redistribute it + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV Library is distributed in the hope that it will be + * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with the GNU LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-1143 + */ + +static const unsigned short ebcdic1143_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x00e2, 0x007b, 0x00e0, 0x00e1, 0x00e3, 0x007d, + 0x00e7, 0x00f1, 0x00a7, 0x002e, 0x003c, 0x0028, 0x002b, 0x0021, + /* 0x50 */ + 0x0026, 0x0060, 0x00ea, 0x00eb, 0x00e8, 0x00ed, 0x00ee, 0x00ef, + 0x00ec, 0x00df, 0x20ac, 0x00c5, 0x002a, 0x0029, 0x003b, 0x005e, + /* 0x60 */ + 0x002d, 0x002f, 0x00c2, 0x0023, 0x00c0, 0x00c1, 0x00c3, 0x0024, + 0x00c7, 0x00d1, 0x00f6, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x00f8, 0x005c, 0x00ca, 0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, + 0x00cc, 0x00e9, 0x003a, 0x00c4, 0x00d6, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x00d8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x00ab, 0x00bb, 0x00f0, 0x00fd, 0x00fe, 0x00b1, + /* 0x90 */ + 0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x00aa, 0x00ba, 0x00e6, 0x00b8, 0x00c6, 0x005d, + /* 0xa0 */ + 0x00b5, 0x00fc, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x00a1, 0x00bf, 0x00d0, 0x00dd, 0x00de, 0x00ae, + /* 0xb0 */ + 0x00a2, 0x00a3, 0x00a5, 0x00b7, 0x00a9, 0x005b, 0x00b6, 0x00bc, + 0x00bd, 0x00be, 0x00ac, 0x007c, 0x00af, 0x00a8, 0x00b4, 0x00d7, + /* 0xc0 */ + 0x00e4, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x00f4, 0x00a6, 0x00f2, 0x00f3, 0x00f5, + /* 0xd0 */ + 0x00e5, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x00b9, 0x00fb, 0x007e, 0x00f9, 0x00fa, 0x00ff, + /* 0xe0 */ + 0x00c9, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x00b2, 0x00d4, 0x0040, 0x00d2, 0x00d3, 0x00d5, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x00b3, 0x00db, 0x00dc, 0x00d9, 0x00da, 0x009f, +}; + +static int +ebcdic1143_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + if (conv->isurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *pwc = (ucs4_t) ebcdic1143_2uni[c]; + return 1; +} + +static const unsigned char ebcdic1143_page00[256] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x4f, 0x7f, 0x63, 0x67, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0xec, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0xb5, 0x71, 0x9f, 0x5f, 0x6d, /* 0x58-0x5f */ + 0x51, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0x43, 0xbb, 0x47, 0xdc, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0xaa, 0xb0, 0xb1, 0x00, 0xb2, 0xcc, 0x4a, /* 0xa0-0xa7 */ + 0xbd, 0xb4, 0x9a, 0x8a, 0xba, 0xca, 0xaf, 0xbc, /* 0xa8-0xaf */ + 0x90, 0x8f, 0xea, 0xfa, 0xbe, 0xa0, 0xb6, 0xb3, /* 0xb0-0xb7 */ + 0x9d, 0xda, 0x9b, 0x8b, 0xb7, 0xb8, 0xb9, 0xab, /* 0xb8-0xbf */ + 0x64, 0x65, 0x62, 0x66, 0x7b, 0x5b, 0x9e, 0x68, /* 0xc0-0xc7 */ + 0x74, 0xe0, 0x72, 0x73, 0x78, 0x75, 0x76, 0x77, /* 0xc8-0xcf */ + 0xac, 0x69, 0xed, 0xee, 0xeb, 0xef, 0x7c, 0xbf, /* 0xd0-0xd7 */ + 0x80, 0xfd, 0xfe, 0xfb, 0xfc, 0xad, 0xae, 0x59, /* 0xd8-0xdf */ + 0x44, 0x45, 0x42, 0x46, 0xc0, 0xd0, 0x9c, 0x48, /* 0xe0-0xe7 */ + 0x54, 0x79, 0x52, 0x53, 0x58, 0x55, 0x56, 0x57, /* 0xe8-0xef */ + 0x8c, 0x49, 0xcd, 0xce, 0xcb, 0xcf, 0x6a, 0xe1, /* 0xf0-0xf7 */ + 0x70, 0xdd, 0xde, 0xdb, 0xa1, 0x8d, 0x8e, 0xdf, /* 0xf8-0xff */ +}; + +static int +ebcdic1143_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x0100) + c = ebcdic1143_page00[wc]; + else if (wc == 0x20ac) + c = 0x5a; + if (c != 0 || wc == 0) { + if (conv->osurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/Externals/libiconv/lib/ebcdic1144.h b/Externals/libiconv/lib/ebcdic1144.h new file mode 100644 index 00000000000..ee9f0414364 --- /dev/null +++ b/Externals/libiconv/lib/ebcdic1144.h @@ -0,0 +1,135 @@ +/* + * Copyright (C) 1999-2023 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV Library is free software; you can redistribute it + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV Library is distributed in the hope that it will be + * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with the GNU LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-1144 + */ + +static const unsigned short ebcdic1144_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x00e2, 0x00e4, 0x007b, 0x00e1, 0x00e3, 0x00e5, + 0x005c, 0x00f1, 0x00b0, 0x002e, 0x003c, 0x0028, 0x002b, 0x0021, + /* 0x50 */ + 0x0026, 0x005d, 0x00ea, 0x00eb, 0x007d, 0x00ed, 0x00ee, 0x00ef, + 0x007e, 0x00df, 0x00e9, 0x0024, 0x002a, 0x0029, 0x003b, 0x005e, + /* 0x60 */ + 0x002d, 0x002f, 0x00c2, 0x00c4, 0x00c0, 0x00c1, 0x00c3, 0x00c5, + 0x00c7, 0x00d1, 0x00f2, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x00f8, 0x00c9, 0x00ca, 0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, + 0x00cc, 0x00f9, 0x003a, 0x00a3, 0x00a7, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x00d8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x00ab, 0x00bb, 0x00f0, 0x00fd, 0x00fe, 0x00b1, + /* 0x90 */ + 0x005b, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x00aa, 0x00ba, 0x00e6, 0x00b8, 0x00c6, 0x20ac, + /* 0xa0 */ + 0x00b5, 0x00ec, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x00a1, 0x00bf, 0x00d0, 0x00dd, 0x00de, 0x00ae, + /* 0xb0 */ + 0x00a2, 0x0023, 0x00a5, 0x00b7, 0x00a9, 0x0040, 0x00b6, 0x00bc, + 0x00bd, 0x00be, 0x00ac, 0x007c, 0x00af, 0x00a8, 0x00b4, 0x00d7, + /* 0xc0 */ + 0x00e0, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x00f4, 0x00f6, 0x00a6, 0x00f3, 0x00f5, + /* 0xd0 */ + 0x00e8, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x00b9, 0x00fb, 0x00fc, 0x0060, 0x00fa, 0x00ff, + /* 0xe0 */ + 0x00e7, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x00b2, 0x00d4, 0x00d6, 0x00d2, 0x00d3, 0x00d5, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x00b3, 0x00db, 0x00dc, 0x00d9, 0x00da, 0x009f, +}; + +static int +ebcdic1144_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + if (conv->isurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *pwc = (ucs4_t) ebcdic1144_2uni[c]; + return 1; +} + +static const unsigned char ebcdic1144_page00[256] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x4f, 0x7f, 0xb1, 0x5b, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0xb5, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0x90, 0x48, 0x51, 0x5f, 0x6d, /* 0x58-0x5f */ + 0xdd, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0x44, 0xbb, 0x54, 0x58, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0xaa, 0xb0, 0x7b, 0x00, 0xb2, 0xcd, 0x7c, /* 0xa0-0xa7 */ + 0xbd, 0xb4, 0x9a, 0x8a, 0xba, 0xca, 0xaf, 0xbc, /* 0xa8-0xaf */ + 0x4a, 0x8f, 0xea, 0xfa, 0xbe, 0xa0, 0xb6, 0xb3, /* 0xb0-0xb7 */ + 0x9d, 0xda, 0x9b, 0x8b, 0xb7, 0xb8, 0xb9, 0xab, /* 0xb8-0xbf */ + 0x64, 0x65, 0x62, 0x66, 0x63, 0x67, 0x9e, 0x68, /* 0xc0-0xc7 */ + 0x74, 0x71, 0x72, 0x73, 0x78, 0x75, 0x76, 0x77, /* 0xc8-0xcf */ + 0xac, 0x69, 0xed, 0xee, 0xeb, 0xef, 0xec, 0xbf, /* 0xd0-0xd7 */ + 0x80, 0xfd, 0xfe, 0xfb, 0xfc, 0xad, 0xae, 0x59, /* 0xd8-0xdf */ + 0xc0, 0x45, 0x42, 0x46, 0x43, 0x47, 0x9c, 0xe0, /* 0xe0-0xe7 */ + 0xd0, 0x5a, 0x52, 0x53, 0xa1, 0x55, 0x56, 0x57, /* 0xe8-0xef */ + 0x8c, 0x49, 0x6a, 0xce, 0xcb, 0xcf, 0xcc, 0xe1, /* 0xf0-0xf7 */ + 0x70, 0x79, 0xde, 0xdb, 0xdc, 0x8d, 0x8e, 0xdf, /* 0xf8-0xff */ +}; + +static int +ebcdic1144_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x0100) + c = ebcdic1144_page00[wc]; + else if (wc == 0x20ac) + c = 0x9f; + if (c != 0 || wc == 0) { + if (conv->osurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/Externals/libiconv/lib/ebcdic1145.h b/Externals/libiconv/lib/ebcdic1145.h new file mode 100644 index 00000000000..15dc1e490f6 --- /dev/null +++ b/Externals/libiconv/lib/ebcdic1145.h @@ -0,0 +1,135 @@ +/* + * Copyright (C) 1999-2023 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV Library is free software; you can redistribute it + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV Library is distributed in the hope that it will be + * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with the GNU LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-1145 + */ + +static const unsigned short ebcdic1145_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x00e2, 0x00e4, 0x00e0, 0x00e1, 0x00e3, 0x00e5, + 0x00e7, 0x00a6, 0x005b, 0x002e, 0x003c, 0x0028, 0x002b, 0x007c, + /* 0x50 */ + 0x0026, 0x00e9, 0x00ea, 0x00eb, 0x00e8, 0x00ed, 0x00ee, 0x00ef, + 0x00ec, 0x00df, 0x005d, 0x0024, 0x002a, 0x0029, 0x003b, 0x00ac, + /* 0x60 */ + 0x002d, 0x002f, 0x00c2, 0x00c4, 0x00c0, 0x00c1, 0x00c3, 0x00c5, + 0x00c7, 0x0023, 0x00f1, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x00f8, 0x00c9, 0x00ca, 0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, + 0x00cc, 0x0060, 0x003a, 0x00d1, 0x0040, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x00d8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x00ab, 0x00bb, 0x00f0, 0x00fd, 0x00fe, 0x00b1, + /* 0x90 */ + 0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x00aa, 0x00ba, 0x00e6, 0x00b8, 0x00c6, 0x20ac, + /* 0xa0 */ + 0x00b5, 0x00a8, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x00a1, 0x00bf, 0x00d0, 0x00dd, 0x00de, 0x00ae, + /* 0xb0 */ + 0x00a2, 0x00a3, 0x00a5, 0x00b7, 0x00a9, 0x00a7, 0x00b6, 0x00bc, + 0x00bd, 0x00be, 0x005e, 0x0021, 0x00af, 0x007e, 0x00b4, 0x00d7, + /* 0xc0 */ + 0x007b, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x00f4, 0x00f6, 0x00f2, 0x00f3, 0x00f5, + /* 0xd0 */ + 0x007d, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x00b9, 0x00fb, 0x00fc, 0x00f9, 0x00fa, 0x00ff, + /* 0xe0 */ + 0x005c, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x00b2, 0x00d4, 0x00d6, 0x00d2, 0x00d3, 0x00d5, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x00b3, 0x00db, 0x00dc, 0x00d9, 0x00da, 0x009f, +}; + +static int +ebcdic1145_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + if (conv->isurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *pwc = (ucs4_t) ebcdic1145_2uni[c]; + return 1; +} + +static const unsigned char ebcdic1145_page00[256] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0xbb, 0x7f, 0x69, 0x5b, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0x4a, 0xe0, 0x5a, 0xba, 0x6d, /* 0x58-0x5f */ + 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0xc0, 0x4f, 0xd0, 0xbd, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0xaa, 0xb0, 0xb1, 0x00, 0xb2, 0x49, 0xb5, /* 0xa0-0xa7 */ + 0xa1, 0xb4, 0x9a, 0x8a, 0x5f, 0xca, 0xaf, 0xbc, /* 0xa8-0xaf */ + 0x90, 0x8f, 0xea, 0xfa, 0xbe, 0xa0, 0xb6, 0xb3, /* 0xb0-0xb7 */ + 0x9d, 0xda, 0x9b, 0x8b, 0xb7, 0xb8, 0xb9, 0xab, /* 0xb8-0xbf */ + 0x64, 0x65, 0x62, 0x66, 0x63, 0x67, 0x9e, 0x68, /* 0xc0-0xc7 */ + 0x74, 0x71, 0x72, 0x73, 0x78, 0x75, 0x76, 0x77, /* 0xc8-0xcf */ + 0xac, 0x7b, 0xed, 0xee, 0xeb, 0xef, 0xec, 0xbf, /* 0xd0-0xd7 */ + 0x80, 0xfd, 0xfe, 0xfb, 0xfc, 0xad, 0xae, 0x59, /* 0xd8-0xdf */ + 0x44, 0x45, 0x42, 0x46, 0x43, 0x47, 0x9c, 0x48, /* 0xe0-0xe7 */ + 0x54, 0x51, 0x52, 0x53, 0x58, 0x55, 0x56, 0x57, /* 0xe8-0xef */ + 0x8c, 0x6a, 0xcd, 0xce, 0xcb, 0xcf, 0xcc, 0xe1, /* 0xf0-0xf7 */ + 0x70, 0xdd, 0xde, 0xdb, 0xdc, 0x8d, 0x8e, 0xdf, /* 0xf8-0xff */ +}; + +static int +ebcdic1145_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x0100) + c = ebcdic1145_page00[wc]; + else if (wc == 0x20ac) + c = 0x9f; + if (c != 0 || wc == 0) { + if (conv->osurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/Externals/libiconv/lib/ebcdic1146.h b/Externals/libiconv/lib/ebcdic1146.h new file mode 100644 index 00000000000..2deab369bc3 --- /dev/null +++ b/Externals/libiconv/lib/ebcdic1146.h @@ -0,0 +1,135 @@ +/* + * Copyright (C) 1999-2023 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV Library is free software; you can redistribute it + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV Library is distributed in the hope that it will be + * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with the GNU LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-1146 + */ + +static const unsigned short ebcdic1146_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x00e2, 0x00e4, 0x00e0, 0x00e1, 0x00e3, 0x00e5, + 0x00e7, 0x00f1, 0x0024, 0x002e, 0x003c, 0x0028, 0x002b, 0x007c, + /* 0x50 */ + 0x0026, 0x00e9, 0x00ea, 0x00eb, 0x00e8, 0x00ed, 0x00ee, 0x00ef, + 0x00ec, 0x00df, 0x0021, 0x00a3, 0x002a, 0x0029, 0x003b, 0x00ac, + /* 0x60 */ + 0x002d, 0x002f, 0x00c2, 0x00c4, 0x00c0, 0x00c1, 0x00c3, 0x00c5, + 0x00c7, 0x00d1, 0x00a6, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x00f8, 0x00c9, 0x00ca, 0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, + 0x00cc, 0x0060, 0x003a, 0x0023, 0x0040, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x00d8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x00ab, 0x00bb, 0x00f0, 0x00fd, 0x00fe, 0x00b1, + /* 0x90 */ + 0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x00aa, 0x00ba, 0x00e6, 0x00b8, 0x00c6, 0x20ac, + /* 0xa0 */ + 0x00b5, 0x00af, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x00a1, 0x00bf, 0x00d0, 0x00dd, 0x00de, 0x00ae, + /* 0xb0 */ + 0x00a2, 0x005b, 0x00a5, 0x00b7, 0x00a9, 0x00a7, 0x00b6, 0x00bc, + 0x00bd, 0x00be, 0x005e, 0x005d, 0x007e, 0x00a8, 0x00b4, 0x00d7, + /* 0xc0 */ + 0x007b, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x00f4, 0x00f6, 0x00f2, 0x00f3, 0x00f5, + /* 0xd0 */ + 0x007d, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x00b9, 0x00fb, 0x00fc, 0x00f9, 0x00fa, 0x00ff, + /* 0xe0 */ + 0x005c, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x00b2, 0x00d4, 0x00d6, 0x00d2, 0x00d3, 0x00d5, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x00b3, 0x00db, 0x00dc, 0x00d9, 0x00da, 0x009f, +}; + +static int +ebcdic1146_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + if (conv->isurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *pwc = (ucs4_t) ebcdic1146_2uni[c]; + return 1; +} + +static const unsigned char ebcdic1146_page00[256] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x5a, 0x7f, 0x7b, 0x4a, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0xb1, 0xe0, 0xbb, 0xba, 0x6d, /* 0x58-0x5f */ + 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0xc0, 0x4f, 0xd0, 0xbc, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0xaa, 0xb0, 0x5b, 0x00, 0xb2, 0x6a, 0xb5, /* 0xa0-0xa7 */ + 0xbd, 0xb4, 0x9a, 0x8a, 0x5f, 0xca, 0xaf, 0xa1, /* 0xa8-0xaf */ + 0x90, 0x8f, 0xea, 0xfa, 0xbe, 0xa0, 0xb6, 0xb3, /* 0xb0-0xb7 */ + 0x9d, 0xda, 0x9b, 0x8b, 0xb7, 0xb8, 0xb9, 0xab, /* 0xb8-0xbf */ + 0x64, 0x65, 0x62, 0x66, 0x63, 0x67, 0x9e, 0x68, /* 0xc0-0xc7 */ + 0x74, 0x71, 0x72, 0x73, 0x78, 0x75, 0x76, 0x77, /* 0xc8-0xcf */ + 0xac, 0x69, 0xed, 0xee, 0xeb, 0xef, 0xec, 0xbf, /* 0xd0-0xd7 */ + 0x80, 0xfd, 0xfe, 0xfb, 0xfc, 0xad, 0xae, 0x59, /* 0xd8-0xdf */ + 0x44, 0x45, 0x42, 0x46, 0x43, 0x47, 0x9c, 0x48, /* 0xe0-0xe7 */ + 0x54, 0x51, 0x52, 0x53, 0x58, 0x55, 0x56, 0x57, /* 0xe8-0xef */ + 0x8c, 0x49, 0xcd, 0xce, 0xcb, 0xcf, 0xcc, 0xe1, /* 0xf0-0xf7 */ + 0x70, 0xdd, 0xde, 0xdb, 0xdc, 0x8d, 0x8e, 0xdf, /* 0xf8-0xff */ +}; + +static int +ebcdic1146_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x0100) + c = ebcdic1146_page00[wc]; + else if (wc == 0x20ac) + c = 0x9f; + if (c != 0 || wc == 0) { + if (conv->osurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/Externals/libiconv/lib/ebcdic1147.h b/Externals/libiconv/lib/ebcdic1147.h new file mode 100644 index 00000000000..0eba7c24968 --- /dev/null +++ b/Externals/libiconv/lib/ebcdic1147.h @@ -0,0 +1,135 @@ +/* + * Copyright (C) 1999-2023 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV Library is free software; you can redistribute it + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV Library is distributed in the hope that it will be + * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with the GNU LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-1147 + */ + +static const unsigned short ebcdic1147_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x00e2, 0x00e4, 0x0040, 0x00e1, 0x00e3, 0x00e5, + 0x005c, 0x00f1, 0x00b0, 0x002e, 0x003c, 0x0028, 0x002b, 0x0021, + /* 0x50 */ + 0x0026, 0x007b, 0x00ea, 0x00eb, 0x007d, 0x00ed, 0x00ee, 0x00ef, + 0x00ec, 0x00df, 0x00a7, 0x0024, 0x002a, 0x0029, 0x003b, 0x005e, + /* 0x60 */ + 0x002d, 0x002f, 0x00c2, 0x00c4, 0x00c0, 0x00c1, 0x00c3, 0x00c5, + 0x00c7, 0x00d1, 0x00f9, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x00f8, 0x00c9, 0x00ca, 0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, + 0x00cc, 0x00b5, 0x003a, 0x00a3, 0x00e0, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x00d8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x00ab, 0x00bb, 0x00f0, 0x00fd, 0x00fe, 0x00b1, + /* 0x90 */ + 0x005b, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x00aa, 0x00ba, 0x00e6, 0x00b8, 0x00c6, 0x20ac, + /* 0xa0 */ + 0x0060, 0x00a8, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x00a1, 0x00bf, 0x00d0, 0x00dd, 0x00de, 0x00ae, + /* 0xb0 */ + 0x00a2, 0x0023, 0x00a5, 0x00b7, 0x00a9, 0x005d, 0x00b6, 0x00bc, + 0x00bd, 0x00be, 0x00ac, 0x007c, 0x00af, 0x007e, 0x00b4, 0x00d7, + /* 0xc0 */ + 0x00e9, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x00f4, 0x00f6, 0x00f2, 0x00f3, 0x00f5, + /* 0xd0 */ + 0x00e8, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x00b9, 0x00fb, 0x00fc, 0x00a6, 0x00fa, 0x00ff, + /* 0xe0 */ + 0x00e7, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x00b2, 0x00d4, 0x00d6, 0x00d2, 0x00d3, 0x00d5, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x00b3, 0x00db, 0x00dc, 0x00d9, 0x00da, 0x009f, +}; + +static int +ebcdic1147_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + if (conv->isurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *pwc = (ucs4_t) ebcdic1147_2uni[c]; + return 1; +} + +static const unsigned char ebcdic1147_page00[256] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x4f, 0x7f, 0xb1, 0x5b, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0x44, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0x90, 0x48, 0xb5, 0x5f, 0x6d, /* 0x58-0x5f */ + 0xa0, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0x51, 0xbb, 0x54, 0xbd, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0xaa, 0xb0, 0x7b, 0x00, 0xb2, 0xdd, 0x5a, /* 0xa0-0xa7 */ + 0xa1, 0xb4, 0x9a, 0x8a, 0xba, 0xca, 0xaf, 0xbc, /* 0xa8-0xaf */ + 0x4a, 0x8f, 0xea, 0xfa, 0xbe, 0x79, 0xb6, 0xb3, /* 0xb0-0xb7 */ + 0x9d, 0xda, 0x9b, 0x8b, 0xb7, 0xb8, 0xb9, 0xab, /* 0xb8-0xbf */ + 0x64, 0x65, 0x62, 0x66, 0x63, 0x67, 0x9e, 0x68, /* 0xc0-0xc7 */ + 0x74, 0x71, 0x72, 0x73, 0x78, 0x75, 0x76, 0x77, /* 0xc8-0xcf */ + 0xac, 0x69, 0xed, 0xee, 0xeb, 0xef, 0xec, 0xbf, /* 0xd0-0xd7 */ + 0x80, 0xfd, 0xfe, 0xfb, 0xfc, 0xad, 0xae, 0x59, /* 0xd8-0xdf */ + 0x7c, 0x45, 0x42, 0x46, 0x43, 0x47, 0x9c, 0xe0, /* 0xe0-0xe7 */ + 0xd0, 0xc0, 0x52, 0x53, 0x58, 0x55, 0x56, 0x57, /* 0xe8-0xef */ + 0x8c, 0x49, 0xcd, 0xce, 0xcb, 0xcf, 0xcc, 0xe1, /* 0xf0-0xf7 */ + 0x70, 0x6a, 0xde, 0xdb, 0xdc, 0x8d, 0x8e, 0xdf, /* 0xf8-0xff */ +}; + +static int +ebcdic1147_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x0100) + c = ebcdic1147_page00[wc]; + else if (wc == 0x20ac) + c = 0x9f; + if (c != 0 || wc == 0) { + if (conv->osurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/Externals/libiconv/lib/ebcdic1148.h b/Externals/libiconv/lib/ebcdic1148.h new file mode 100644 index 00000000000..eaa4894c212 --- /dev/null +++ b/Externals/libiconv/lib/ebcdic1148.h @@ -0,0 +1,135 @@ +/* + * Copyright (C) 1999-2023 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV Library is free software; you can redistribute it + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV Library is distributed in the hope that it will be + * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with the GNU LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-1148 + */ + +static const unsigned short ebcdic1148_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x00e2, 0x00e4, 0x00e0, 0x00e1, 0x00e3, 0x00e5, + 0x00e7, 0x00f1, 0x005b, 0x002e, 0x003c, 0x0028, 0x002b, 0x0021, + /* 0x50 */ + 0x0026, 0x00e9, 0x00ea, 0x00eb, 0x00e8, 0x00ed, 0x00ee, 0x00ef, + 0x00ec, 0x00df, 0x005d, 0x0024, 0x002a, 0x0029, 0x003b, 0x005e, + /* 0x60 */ + 0x002d, 0x002f, 0x00c2, 0x00c4, 0x00c0, 0x00c1, 0x00c3, 0x00c5, + 0x00c7, 0x00d1, 0x00a6, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x00f8, 0x00c9, 0x00ca, 0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, + 0x00cc, 0x0060, 0x003a, 0x0023, 0x0040, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x00d8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x00ab, 0x00bb, 0x00f0, 0x00fd, 0x00fe, 0x00b1, + /* 0x90 */ + 0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x00aa, 0x00ba, 0x00e6, 0x00b8, 0x00c6, 0x20ac, + /* 0xa0 */ + 0x00b5, 0x007e, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x00a1, 0x00bf, 0x00d0, 0x00dd, 0x00de, 0x00ae, + /* 0xb0 */ + 0x00a2, 0x00a3, 0x00a5, 0x00b7, 0x00a9, 0x00a7, 0x00b6, 0x00bc, + 0x00bd, 0x00be, 0x00ac, 0x007c, 0x00af, 0x00a8, 0x00b4, 0x00d7, + /* 0xc0 */ + 0x007b, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x00f4, 0x00f6, 0x00f2, 0x00f3, 0x00f5, + /* 0xd0 */ + 0x007d, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x00b9, 0x00fb, 0x00fc, 0x00f9, 0x00fa, 0x00ff, + /* 0xe0 */ + 0x005c, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x00b2, 0x00d4, 0x00d6, 0x00d2, 0x00d3, 0x00d5, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x00b3, 0x00db, 0x00dc, 0x00d9, 0x00da, 0x009f, +}; + +static int +ebcdic1148_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + if (conv->isurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *pwc = (ucs4_t) ebcdic1148_2uni[c]; + return 1; +} + +static const unsigned char ebcdic1148_page00[256] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x4f, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0x4a, 0xe0, 0x5a, 0x5f, 0x6d, /* 0x58-0x5f */ + 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0xc0, 0xbb, 0xd0, 0xa1, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0xaa, 0xb0, 0xb1, 0x00, 0xb2, 0x6a, 0xb5, /* 0xa0-0xa7 */ + 0xbd, 0xb4, 0x9a, 0x8a, 0xba, 0xca, 0xaf, 0xbc, /* 0xa8-0xaf */ + 0x90, 0x8f, 0xea, 0xfa, 0xbe, 0xa0, 0xb6, 0xb3, /* 0xb0-0xb7 */ + 0x9d, 0xda, 0x9b, 0x8b, 0xb7, 0xb8, 0xb9, 0xab, /* 0xb8-0xbf */ + 0x64, 0x65, 0x62, 0x66, 0x63, 0x67, 0x9e, 0x68, /* 0xc0-0xc7 */ + 0x74, 0x71, 0x72, 0x73, 0x78, 0x75, 0x76, 0x77, /* 0xc8-0xcf */ + 0xac, 0x69, 0xed, 0xee, 0xeb, 0xef, 0xec, 0xbf, /* 0xd0-0xd7 */ + 0x80, 0xfd, 0xfe, 0xfb, 0xfc, 0xad, 0xae, 0x59, /* 0xd8-0xdf */ + 0x44, 0x45, 0x42, 0x46, 0x43, 0x47, 0x9c, 0x48, /* 0xe0-0xe7 */ + 0x54, 0x51, 0x52, 0x53, 0x58, 0x55, 0x56, 0x57, /* 0xe8-0xef */ + 0x8c, 0x49, 0xcd, 0xce, 0xcb, 0xcf, 0xcc, 0xe1, /* 0xf0-0xf7 */ + 0x70, 0xdd, 0xde, 0xdb, 0xdc, 0x8d, 0x8e, 0xdf, /* 0xf8-0xff */ +}; + +static int +ebcdic1148_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x0100) + c = ebcdic1148_page00[wc]; + else if (wc == 0x20ac) + c = 0x9f; + if (c != 0 || wc == 0) { + if (conv->osurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/Externals/libiconv/lib/ebcdic1149.h b/Externals/libiconv/lib/ebcdic1149.h new file mode 100644 index 00000000000..1d1ae453dd7 --- /dev/null +++ b/Externals/libiconv/lib/ebcdic1149.h @@ -0,0 +1,135 @@ +/* + * Copyright (C) 1999-2023 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV Library is free software; you can redistribute it + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV Library is distributed in the hope that it will be + * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with the GNU LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-1149 + */ + +static const unsigned short ebcdic1149_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x00e2, 0x00e4, 0x00e0, 0x00e1, 0x00e3, 0x00e5, + 0x00e7, 0x00f1, 0x00de, 0x002e, 0x003c, 0x0028, 0x002b, 0x0021, + /* 0x50 */ + 0x0026, 0x00e9, 0x00ea, 0x00eb, 0x00e8, 0x00ed, 0x00ee, 0x00ef, + 0x00ec, 0x00df, 0x00c6, 0x0024, 0x002a, 0x0029, 0x003b, 0x00d6, + /* 0x60 */ + 0x002d, 0x002f, 0x00c2, 0x00c4, 0x00c0, 0x00c1, 0x00c3, 0x00c5, + 0x00c7, 0x00d1, 0x00a6, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x00f8, 0x00c9, 0x00ca, 0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, + 0x00cc, 0x00f0, 0x003a, 0x0023, 0x00d0, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x00d8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x00ab, 0x00bb, 0x0060, 0x00fd, 0x007b, 0x00b1, + /* 0x90 */ + 0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x00aa, 0x00ba, 0x007d, 0x00b8, 0x005d, 0x20ac, + /* 0xa0 */ + 0x00b5, 0x00f6, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x00a1, 0x00bf, 0x0040, 0x00dd, 0x005b, 0x00ae, + /* 0xb0 */ + 0x00a2, 0x00a3, 0x00a5, 0x00b7, 0x00a9, 0x00a7, 0x00b6, 0x00bc, + 0x00bd, 0x00be, 0x00ac, 0x007c, 0x00af, 0x00a8, 0x005c, 0x00d7, + /* 0xc0 */ + 0x00fe, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x00f4, 0x007e, 0x00f2, 0x00f3, 0x00f5, + /* 0xd0 */ + 0x00e6, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x00b9, 0x00fb, 0x00fc, 0x00f9, 0x00fa, 0x00ff, + /* 0xe0 */ + 0x00b4, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x00b2, 0x00d4, 0x005e, 0x00d2, 0x00d3, 0x00d5, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x00b3, 0x00db, 0x00dc, 0x00d9, 0x00da, 0x009f, +}; + +static int +ebcdic1149_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + if (conv->isurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *pwc = (ucs4_t) ebcdic1149_2uni[c]; + return 1; +} + +static const unsigned char ebcdic1149_page00[256] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x4f, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0xac, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0xae, 0xbe, 0x9e, 0xec, 0x6d, /* 0x58-0x5f */ + 0x8c, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0x8e, 0xbb, 0x9c, 0xcc, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0xaa, 0xb0, 0xb1, 0x00, 0xb2, 0x6a, 0xb5, /* 0xa0-0xa7 */ + 0xbd, 0xb4, 0x9a, 0x8a, 0xba, 0xca, 0xaf, 0xbc, /* 0xa8-0xaf */ + 0x90, 0x8f, 0xea, 0xfa, 0xe0, 0xa0, 0xb6, 0xb3, /* 0xb0-0xb7 */ + 0x9d, 0xda, 0x9b, 0x8b, 0xb7, 0xb8, 0xb9, 0xab, /* 0xb8-0xbf */ + 0x64, 0x65, 0x62, 0x66, 0x63, 0x67, 0x5a, 0x68, /* 0xc0-0xc7 */ + 0x74, 0x71, 0x72, 0x73, 0x78, 0x75, 0x76, 0x77, /* 0xc8-0xcf */ + 0x7c, 0x69, 0xed, 0xee, 0xeb, 0xef, 0x5f, 0xbf, /* 0xd0-0xd7 */ + 0x80, 0xfd, 0xfe, 0xfb, 0xfc, 0xad, 0x4a, 0x59, /* 0xd8-0xdf */ + 0x44, 0x45, 0x42, 0x46, 0x43, 0x47, 0xd0, 0x48, /* 0xe0-0xe7 */ + 0x54, 0x51, 0x52, 0x53, 0x58, 0x55, 0x56, 0x57, /* 0xe8-0xef */ + 0x79, 0x49, 0xcd, 0xce, 0xcb, 0xcf, 0xa1, 0xe1, /* 0xf0-0xf7 */ + 0x70, 0xdd, 0xde, 0xdb, 0xdc, 0x8d, 0xc0, 0xdf, /* 0xf8-0xff */ +}; + +static int +ebcdic1149_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x0100) + c = ebcdic1149_page00[wc]; + else if (wc == 0x20ac) + c = 0x9f; + if (c != 0 || wc == 0) { + if (conv->osurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/Externals/libiconv/lib/ebcdic1153.h b/Externals/libiconv/lib/ebcdic1153.h new file mode 100644 index 00000000000..8279a18f5c5 --- /dev/null +++ b/Externals/libiconv/lib/ebcdic1153.h @@ -0,0 +1,164 @@ +/* + * Copyright (C) 1999-2023 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV Library is free software; you can redistribute it + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV Library is distributed in the hope that it will be + * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with the GNU LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-1153 + */ + +static const unsigned short ebcdic1153_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x00e2, 0x00e4, 0x0163, 0x00e1, 0x0103, 0x010d, + 0x00e7, 0x0107, 0x005b, 0x002e, 0x003c, 0x0028, 0x002b, 0x0021, + /* 0x50 */ + 0x0026, 0x00e9, 0x0119, 0x00eb, 0x016f, 0x00ed, 0x00ee, 0x013e, + 0x013a, 0x00df, 0x005d, 0x0024, 0x002a, 0x0029, 0x003b, 0x005e, + /* 0x60 */ + 0x002d, 0x002f, 0x00c2, 0x00c4, 0x02dd, 0x00c1, 0x0102, 0x010c, + 0x00c7, 0x0106, 0x007c, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x02c7, 0x00c9, 0x0118, 0x00cb, 0x016e, 0x00cd, 0x00ce, 0x013d, + 0x0139, 0x0060, 0x003a, 0x0023, 0x0040, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x02d8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x015b, 0x0148, 0x0111, 0x00fd, 0x0159, 0x015f, + /* 0x90 */ + 0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x0142, 0x0144, 0x0161, 0x00b8, 0x02db, 0x20ac, + /* 0xa0 */ + 0x0105, 0x007e, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x015a, 0x0147, 0x0110, 0x00dd, 0x0158, 0x015e, + /* 0xb0 */ + 0x02d9, 0x0104, 0x017c, 0x0162, 0x017b, 0x00a7, 0x017e, 0x017a, + 0x017d, 0x0179, 0x0141, 0x0143, 0x0160, 0x00a8, 0x00b4, 0x00d7, + /* 0xc0 */ + 0x007b, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x00f4, 0x00f6, 0x0155, 0x00f3, 0x0151, + /* 0xd0 */ + 0x007d, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x011a, 0x0171, 0x00fc, 0x0165, 0x00fa, 0x011b, + /* 0xe0 */ + 0x005c, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x010f, 0x00d4, 0x00d6, 0x0154, 0x00d3, 0x0150, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x010e, 0x0170, 0x00dc, 0x0164, 0x00da, 0x009f, +}; + +static int +ebcdic1153_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + if (conv->isurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *pwc = (ucs4_t) ebcdic1153_2uni[c]; + return 1; +} + +static const unsigned char ebcdic1153_page00[384] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x4f, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0x4a, 0xe0, 0x5a, 0x5f, 0x6d, /* 0x58-0x5f */ + 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0xc0, 0x6a, 0xd0, 0xa1, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb5, /* 0xa0-0xa7 */ + 0xbd, 0x00, 0x00, 0x00, 0x00, 0xca, 0x00, 0x00, /* 0xa8-0xaf */ + 0x90, 0x00, 0x00, 0x00, 0xbe, 0x00, 0x00, 0x00, /* 0xb0-0xb7 */ + 0x9d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xb8-0xbf */ + 0x00, 0x65, 0x62, 0x00, 0x63, 0x00, 0x00, 0x68, /* 0xc0-0xc7 */ + 0x00, 0x71, 0x00, 0x73, 0x00, 0x75, 0x76, 0x00, /* 0xc8-0xcf */ + 0x00, 0x00, 0x00, 0xee, 0xeb, 0x00, 0xec, 0xbf, /* 0xd0-0xd7 */ + 0x00, 0x00, 0xfe, 0x00, 0xfc, 0xad, 0x00, 0x59, /* 0xd8-0xdf */ + 0x00, 0x45, 0x42, 0x00, 0x43, 0x00, 0x00, 0x48, /* 0xe0-0xe7 */ + 0x00, 0x51, 0x00, 0x53, 0x00, 0x55, 0x56, 0x00, /* 0xe8-0xef */ + 0x00, 0x00, 0x00, 0xce, 0xcb, 0x00, 0xcc, 0xe1, /* 0xf0-0xf7 */ + 0x00, 0x00, 0xde, 0x00, 0xdc, 0x8d, 0x00, 0x00, /* 0xf8-0xff */ + /* 0x0100 */ + 0x00, 0x00, 0x66, 0x46, 0xb1, 0xa0, 0x69, 0x49, /* 0x00-0x07 */ + 0x00, 0x00, 0x00, 0x00, 0x67, 0x47, 0xfa, 0xea, /* 0x08-0x0f */ + 0xac, 0x8c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10-0x17 */ + 0x72, 0x52, 0xda, 0xdf, 0x00, 0x00, 0x00, 0x00, /* 0x18-0x1f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x20-0x27 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x28-0x2f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x30-0x37 */ + 0x00, 0x78, 0x58, 0x00, 0x00, 0x77, 0x57, 0x00, /* 0x38-0x3f */ + 0x00, 0xba, 0x9a, 0xbb, 0x9b, 0x00, 0x00, 0xab, /* 0x40-0x47 */ + 0x8b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x48-0x4f */ + 0xef, 0xcf, 0x00, 0x00, 0xed, 0xcd, 0x00, 0x00, /* 0x50-0x57 */ + 0xae, 0x8e, 0xaa, 0x8a, 0x00, 0x00, 0xaf, 0x8f, /* 0x58-0x5f */ + 0xbc, 0x9c, 0xb3, 0x44, 0xfd, 0xdd, 0x00, 0x00, /* 0x60-0x67 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x74, 0x54, /* 0x68-0x6f */ + 0xfb, 0xdb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x70-0x77 */ + 0x00, 0xb9, 0xb7, 0xb4, 0xb2, 0xb8, 0xb6, 0x00, /* 0x78-0x7f */ +}; +#if DEDUPLICATE_TABLES +#define ebcdic1153_page02 ebcdic870_page02 +#else /* Unoptimized */ +static const unsigned char ebcdic1153_page02[32] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, /* 0xc0-0xc7 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xc8-0xcf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xd0-0xd7 */ + 0x80, 0xb0, 0x00, 0x9e, 0x00, 0x64, 0x00, 0x00, /* 0xd8-0xdf */ +}; +#endif + +static int +ebcdic1153_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x0180) + c = ebcdic1153_page00[wc]; + else if (wc >= 0x02c0 && wc < 0x02e0) + c = ebcdic1153_page02[wc-0x02c0]; + else if (wc == 0x20ac) + c = 0x9f; + if (c != 0 || wc == 0) { + if (conv->osurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/Externals/libiconv/lib/ebcdic1154.h b/Externals/libiconv/lib/ebcdic1154.h new file mode 100644 index 00000000000..f193d8a951a --- /dev/null +++ b/Externals/libiconv/lib/ebcdic1154.h @@ -0,0 +1,147 @@ +/* + * Copyright (C) 1999-2023 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV Library is free software; you can redistribute it + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV Library is distributed in the hope that it will be + * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with the GNU LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-1154 + */ + +static const unsigned short ebcdic1154_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x0452, 0x0453, 0x0451, 0x0454, 0x0455, 0x0456, + 0x0457, 0x0458, 0x005b, 0x002e, 0x003c, 0x0028, 0x002b, 0x0021, + /* 0x50 */ + 0x0026, 0x0459, 0x045a, 0x045b, 0x045c, 0x045e, 0x045f, 0x042a, + 0x2116, 0x0402, 0x005d, 0x0024, 0x002a, 0x0029, 0x003b, 0x005e, + /* 0x60 */ + 0x002d, 0x002f, 0x0403, 0x0401, 0x0404, 0x0405, 0x0406, 0x0407, + 0x0408, 0x0409, 0x007c, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x040a, 0x040b, 0x040c, 0x00ad, 0x040e, 0x040f, 0x044e, 0x0430, + 0x0431, 0x0060, 0x003a, 0x0023, 0x0040, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x0446, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x0434, 0x0435, 0x0444, 0x0433, 0x0445, 0x0438, + /* 0x90 */ + 0x0439, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x043a, 0x043b, 0x043c, 0x043d, 0x043e, 0x043f, + /* 0xa0 */ + 0x044f, 0x007e, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x0440, 0x0441, 0x0442, 0x0443, 0x0436, 0x0432, + /* 0xb0 */ + 0x044c, 0x044b, 0x0437, 0x0448, 0x044d, 0x0449, 0x0447, 0x044a, + 0x042e, 0x0410, 0x0411, 0x0426, 0x0414, 0x0415, 0x0424, 0x0413, + /* 0xc0 */ + 0x007b, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x0425, 0x0418, 0x0419, 0x041a, 0x041b, 0x041c, + /* 0xd0 */ + 0x007d, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x041d, 0x041e, 0x041f, 0x042f, 0x0420, 0x0421, + /* 0xe0 */ + 0x005c, 0x20ac, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x0422, 0x0423, 0x0416, 0x0412, 0x042c, 0x042b, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x0417, 0x0428, 0x042d, 0x0429, 0x0427, 0x009f, +}; + +static int +ebcdic1154_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + if (conv->isurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *pwc = (ucs4_t) ebcdic1154_2uni[c]; + return 1; +} + +static const unsigned char ebcdic1154_page00[176] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x4f, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0x4a, 0xe0, 0x5a, 0x5f, 0x6d, /* 0x58-0x5f */ + 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0xc0, 0x6a, 0xd0, 0xa1, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa0-0xa7 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x73, 0x00, 0x00, /* 0xa8-0xaf */ +}; +#if DEDUPLICATE_TABLES +#define ebcdic1154_page04 ebcdic880_page04 +#else /* Unoptimized */ +static const unsigned char ebcdic1154_page04[96] = { + 0x00, 0x63, 0x59, 0x62, 0x64, 0x65, 0x66, 0x67, /* 0x00-0x07 */ + 0x68, 0x69, 0x70, 0x71, 0x72, 0x00, 0x74, 0x75, /* 0x08-0x0f */ + 0xb9, 0xba, 0xed, 0xbf, 0xbc, 0xbd, 0xec, 0xfa, /* 0x10-0x17 */ + 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xda, 0xdb, 0xdc, /* 0x18-0x1f */ + 0xde, 0xdf, 0xea, 0xeb, 0xbe, 0xca, 0xbb, 0xfe, /* 0x20-0x27 */ + 0xfb, 0xfd, 0x57, 0xef, 0xee, 0xfc, 0xb8, 0xdd, /* 0x28-0x2f */ + 0x77, 0x78, 0xaf, 0x8d, 0x8a, 0x8b, 0xae, 0xb2, /* 0x30-0x37 */ + 0x8f, 0x90, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f, /* 0x38-0x3f */ + 0xaa, 0xab, 0xac, 0xad, 0x8c, 0x8e, 0x80, 0xb6, /* 0x40-0x47 */ + 0xb3, 0xb5, 0xb7, 0xb1, 0xb0, 0xb4, 0x76, 0xa0, /* 0x48-0x4f */ + 0x00, 0x44, 0x42, 0x43, 0x45, 0x46, 0x47, 0x48, /* 0x50-0x57 */ + 0x49, 0x51, 0x52, 0x53, 0x54, 0x00, 0x55, 0x56, /* 0x58-0x5f */ +}; +#endif + +static int +ebcdic1154_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x00b0) + c = ebcdic1154_page00[wc]; + else if (wc >= 0x0400 && wc < 0x0460) + c = ebcdic1154_page04[wc-0x0400]; + else if (wc == 0x20ac) + c = 0xe1; + else if (wc == 0x2116) + c = 0x58; + if (c != 0 || wc == 0) { + if (conv->osurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/Externals/libiconv/lib/ebcdic1155.h b/Externals/libiconv/lib/ebcdic1155.h new file mode 100644 index 00000000000..a7efe93b46c --- /dev/null +++ b/Externals/libiconv/lib/ebcdic1155.h @@ -0,0 +1,152 @@ +/* + * Copyright (C) 1999-2023 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV Library is free software; you can redistribute it + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV Library is distributed in the hope that it will be + * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with the GNU LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-1155 + */ + +static const unsigned short ebcdic1155_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x00e2, 0x00e4, 0x00e0, 0x00e1, 0x00e3, 0x00e5, + 0x007b, 0x00f1, 0x00c7, 0x002e, 0x003c, 0x0028, 0x002b, 0x0021, + /* 0x50 */ + 0x0026, 0x00e9, 0x00ea, 0x00eb, 0x00e8, 0x00ed, 0x00ee, 0x00ef, + 0x00ec, 0x00df, 0x011e, 0x0130, 0x002a, 0x0029, 0x003b, 0x005e, + /* 0x60 */ + 0x002d, 0x002f, 0x00c2, 0x00c4, 0x00c0, 0x00c1, 0x00c3, 0x00c5, + 0x005b, 0x00d1, 0x015f, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x00f8, 0x00c9, 0x00ca, 0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, + 0x00cc, 0x0131, 0x003a, 0x00d6, 0x015e, 0x0027, 0x003d, 0x00dc, + /* 0x80 */ + 0x00d8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x00ab, 0x00bb, 0x007d, 0x0060, 0x00a6, 0x00b1, + /* 0x90 */ + 0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x00aa, 0x00ba, 0x00e6, 0x00b8, 0x00c6, 0x20ac, + /* 0xa0 */ + 0x00b5, 0x00f6, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x00a1, 0x00bf, 0x005d, 0x0024, 0x0040, 0x00ae, + /* 0xb0 */ + 0x00a2, 0x00a3, 0x00a5, 0x00b7, 0x00a9, 0x00a7, 0x00b6, 0x00bc, + 0x00bd, 0x00be, 0x00ac, 0x007c, 0x00af, 0x00a8, 0x00b4, 0x00d7, + /* 0xc0 */ + 0x00e7, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x00f4, 0x007e, 0x00f2, 0x00f3, 0x00f5, + /* 0xd0 */ + 0x011f, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x00b9, 0x00fb, 0x005c, 0x00f9, 0x00fa, 0x00ff, + /* 0xe0 */ + 0x00fc, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x00b2, 0x00d4, 0x0023, 0x00d2, 0x00d3, 0x00d5, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x00b3, 0x00db, 0x0022, 0x00d9, 0x00da, 0x009f, +}; + +static int +ebcdic1155_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + if (conv->isurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *pwc = (ucs4_t) ebcdic1155_2uni[c]; + return 1; +} + +static const unsigned char ebcdic1155_page00[256] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x4f, 0xfc, 0xec, 0xad, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0xae, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0x68, 0xdc, 0xac, 0x5f, 0x6d, /* 0x58-0x5f */ + 0x8d, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0x48, 0xbb, 0x8c, 0xcc, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0xaa, 0xb0, 0xb1, 0x00, 0xb2, 0x8e, 0xb5, /* 0xa0-0xa7 */ + 0xbd, 0xb4, 0x9a, 0x8a, 0xba, 0xca, 0xaf, 0xbc, /* 0xa8-0xaf */ + 0x90, 0x8f, 0xea, 0xfa, 0xbe, 0xa0, 0xb6, 0xb3, /* 0xb0-0xb7 */ + 0x9d, 0xda, 0x9b, 0x8b, 0xb7, 0xb8, 0xb9, 0xab, /* 0xb8-0xbf */ + 0x64, 0x65, 0x62, 0x66, 0x63, 0x67, 0x9e, 0x4a, /* 0xc0-0xc7 */ + 0x74, 0x71, 0x72, 0x73, 0x78, 0x75, 0x76, 0x77, /* 0xc8-0xcf */ + 0x00, 0x69, 0xed, 0xee, 0xeb, 0xef, 0x7b, 0xbf, /* 0xd0-0xd7 */ + 0x80, 0xfd, 0xfe, 0xfb, 0x7f, 0x00, 0x00, 0x59, /* 0xd8-0xdf */ + 0x44, 0x45, 0x42, 0x46, 0x43, 0x47, 0x9c, 0xc0, /* 0xe0-0xe7 */ + 0x54, 0x51, 0x52, 0x53, 0x58, 0x55, 0x56, 0x57, /* 0xe8-0xef */ + 0x00, 0x49, 0xcd, 0xce, 0xcb, 0xcf, 0xa1, 0xe1, /* 0xf0-0xf7 */ + 0x70, 0xdd, 0xde, 0xdb, 0xe0, 0x00, 0x00, 0xdf, /* 0xf8-0xff */ +}; +#if DEDUPLICATE_TABLES +#define ebcdic1155_page01 ebcdic1026_page01 +#else /* Unoptimized */ +static const unsigned char ebcdic1155_page01[72] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5a, 0xd0, /* 0x18-0x1f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x20-0x27 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x28-0x2f */ + 0x5b, 0x79, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x30-0x37 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x38-0x3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x40-0x47 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x48-0x4f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x50-0x57 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x6a, /* 0x58-0x5f */ +}; +#endif + +static int +ebcdic1155_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x0100) + c = ebcdic1155_page00[wc]; + else if (wc >= 0x0118 && wc < 0x0160) + c = ebcdic1155_page01[wc-0x0118]; + else if (wc == 0x20ac) + c = 0x9f; + if (c != 0 || wc == 0) { + if (conv->osurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/Externals/libiconv/lib/ebcdic1156.h b/Externals/libiconv/lib/ebcdic1156.h new file mode 100644 index 00000000000..d0b84573a05 --- /dev/null +++ b/Externals/libiconv/lib/ebcdic1156.h @@ -0,0 +1,161 @@ +/* + * Copyright (C) 1999-2023 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV Library is free software; you can redistribute it + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV Library is distributed in the hope that it will be + * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with the GNU LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-1156 + */ + +static const unsigned short ebcdic1156_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x0161, 0x00e4, 0x0105, 0x012f, 0x016b, 0x00e5, + 0x0113, 0x017e, 0x00a2, 0x002e, 0x003c, 0x0028, 0x002b, 0x007c, + /* 0x50 */ + 0x0026, 0x00e9, 0x0119, 0x0117, 0x010d, 0x0173, 0x201e, 0x201c, + 0x0123, 0x00df, 0x0021, 0x0024, 0x002a, 0x0029, 0x003b, 0x00ac, + /* 0x60 */ + 0x002d, 0x002f, 0x0160, 0x00c4, 0x0104, 0x012e, 0x016a, 0x00c5, + 0x0112, 0x017d, 0x00a6, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x00f8, 0x00c9, 0x0118, 0x0116, 0x010c, 0x0172, 0x012a, 0x013b, + 0x0122, 0x0060, 0x003a, 0x0023, 0x0040, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x00d8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x00ab, 0x00bb, 0x0101, 0x017c, 0x0144, 0x00b1, + /* 0x90 */ + 0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x0156, 0x0157, 0x00e6, 0x0137, 0x00c6, 0x20ac, + /* 0xa0 */ + 0x00b5, 0x007e, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x201d, 0x017a, 0x0100, 0x017b, 0x0143, 0x00ae, + /* 0xb0 */ + 0x005e, 0x00a3, 0x012b, 0x00b7, 0x00a9, 0x00a7, 0x00b6, 0x00bc, + 0x00bd, 0x00be, 0x005b, 0x005d, 0x0179, 0x0136, 0x013c, 0x00d7, + /* 0xc0 */ + 0x007b, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x014d, 0x00f6, 0x0146, 0x00f3, 0x00f5, + /* 0xd0 */ + 0x007d, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x00b9, 0x0107, 0x00fc, 0x0142, 0x015b, 0x2019, + /* 0xe0 */ + 0x005c, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x00b2, 0x014c, 0x00d6, 0x0145, 0x00d3, 0x00d5, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x00b3, 0x0106, 0x00dc, 0x0141, 0x015a, 0x009f, +}; + +static int +ebcdic1156_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + if (conv->isurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *pwc = (ucs4_t) ebcdic1156_2uni[c]; + return 1; +} + +static const unsigned char ebcdic1156_page00[384] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x5a, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0xba, 0xe0, 0xbb, 0xb0, 0x6d, /* 0x58-0x5f */ + 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0xc0, 0x4f, 0xd0, 0xa1, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0x00, 0x4a, 0xb1, 0x00, 0x00, 0x6a, 0xb5, /* 0xa0-0xa7 */ + 0x00, 0xb4, 0x00, 0x8a, 0x5f, 0xca, 0xaf, 0x00, /* 0xa8-0xaf */ + 0x90, 0x8f, 0xea, 0xfa, 0x00, 0xa0, 0xb6, 0xb3, /* 0xb0-0xb7 */ + 0x00, 0xda, 0x00, 0x8b, 0xb7, 0xb8, 0xb9, 0x00, /* 0xb8-0xbf */ + 0x00, 0x00, 0x00, 0x00, 0x63, 0x67, 0x9e, 0x00, /* 0xc0-0xc7 */ + 0x00, 0x71, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xc8-0xcf */ + 0x00, 0x00, 0x00, 0xee, 0x00, 0xef, 0xec, 0xbf, /* 0xd0-0xd7 */ + 0x80, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x59, /* 0xd8-0xdf */ + 0x00, 0x00, 0x00, 0x00, 0x43, 0x47, 0x9c, 0x00, /* 0xe0-0xe7 */ + 0x00, 0x51, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xe8-0xef */ + 0x00, 0x00, 0x00, 0xce, 0x00, 0xcf, 0xcc, 0xe1, /* 0xf0-0xf7 */ + 0x70, 0x00, 0x00, 0x00, 0xdc, 0x00, 0x00, 0x00, /* 0xf8-0xff */ + /* 0x0100 */ + 0xac, 0x8c, 0x00, 0x00, 0x64, 0x44, 0xfb, 0xdb, /* 0x00-0x07 */ + 0x00, 0x00, 0x00, 0x00, 0x74, 0x54, 0x00, 0x00, /* 0x08-0x0f */ + 0x00, 0x00, 0x68, 0x48, 0x00, 0x00, 0x73, 0x53, /* 0x10-0x17 */ + 0x72, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x18-0x1f */ + 0x00, 0x00, 0x78, 0x58, 0x00, 0x00, 0x00, 0x00, /* 0x20-0x27 */ + 0x00, 0x00, 0x76, 0xb2, 0x00, 0x00, 0x65, 0x45, /* 0x28-0x2f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbd, 0x9d, /* 0x30-0x37 */ + 0x00, 0x00, 0x00, 0x77, 0xbe, 0x00, 0x00, 0x00, /* 0x38-0x3f */ + 0x00, 0xfd, 0xdd, 0xae, 0x8e, 0xed, 0xcd, 0x00, /* 0x40-0x47 */ + 0x00, 0x00, 0x00, 0x00, 0xeb, 0xcb, 0x00, 0x00, /* 0x48-0x4f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9a, 0x9b, /* 0x50-0x57 */ + 0x00, 0x00, 0xfe, 0xde, 0x00, 0x00, 0x00, 0x00, /* 0x58-0x5f */ + 0x62, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x60-0x67 */ + 0x00, 0x00, 0x66, 0x46, 0x00, 0x00, 0x00, 0x00, /* 0x68-0x6f */ + 0x00, 0x00, 0x75, 0x55, 0x00, 0x00, 0x00, 0x00, /* 0x70-0x77 */ + 0x00, 0xbc, 0xab, 0xad, 0x8d, 0x69, 0x49, 0x00, /* 0x78-0x7f */ +}; +#if DEDUPLICATE_TABLES +#define ebcdic1156_page20 ebcdic1112_page20 +#else /* Unoptimized */ +static const unsigned char ebcdic1156_page20[8] = { + 0x00, 0xdf, 0x00, 0x00, 0x57, 0xaa, 0x56, 0x00, /* 0x18-0x1f */ +}; +#endif + +static int +ebcdic1156_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x0180) + c = ebcdic1156_page00[wc]; + else if (wc >= 0x2018 && wc < 0x2020) + c = ebcdic1156_page20[wc-0x2018]; + else if (wc == 0x20ac) + c = 0x9f; + if (c != 0 || wc == 0) { + if (conv->osurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/Externals/libiconv/lib/ebcdic1157.h b/Externals/libiconv/lib/ebcdic1157.h new file mode 100644 index 00000000000..bf8778ebe91 --- /dev/null +++ b/Externals/libiconv/lib/ebcdic1157.h @@ -0,0 +1,147 @@ +/* + * Copyright (C) 1999-2023 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV Library is free software; you can redistribute it + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV Library is distributed in the hope that it will be + * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with the GNU LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-1157 + */ + +static const unsigned short ebcdic1157_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x00e2, 0x007b, 0x00e0, 0x00e1, 0x00e3, 0x007d, + 0x00e7, 0x00f1, 0x00a7, 0x002e, 0x003c, 0x0028, 0x002b, 0x0021, + /* 0x50 */ + 0x0026, 0x0060, 0x00ea, 0x00eb, 0x00e8, 0x00ed, 0x00ee, 0x00ef, + 0x00ec, 0x00df, 0x20ac, 0x00c5, 0x002a, 0x0029, 0x003b, 0x005e, + /* 0x60 */ + 0x002d, 0x002f, 0x00c2, 0x0023, 0x00c0, 0x00c1, 0x00c3, 0x0024, + 0x00c7, 0x00d1, 0x00f6, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x00f8, 0x005c, 0x00ca, 0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, + 0x00cc, 0x00e9, 0x003a, 0x00c4, 0x00d6, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x00d8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x00ab, 0x00bb, 0x0161, 0x00fd, 0x017e, 0x00b1, + /* 0x90 */ + 0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x00aa, 0x00ba, 0x00e6, 0x00b8, 0x00c6, 0x005d, + /* 0xa0 */ + 0x00b5, 0x00fc, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x00a1, 0x00bf, 0x0160, 0x00dd, 0x017d, 0x00ae, + /* 0xb0 */ + 0x00a2, 0x00a3, 0x00a5, 0x00b7, 0x00a9, 0x005b, 0x00b6, 0x00bc, + 0x00bd, 0x00be, 0x00ac, 0x007c, 0x00af, 0x00a8, 0x00b4, 0x00d7, + /* 0xc0 */ + 0x00e4, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x00f4, 0x00a6, 0x00f2, 0x00f3, 0x00f5, + /* 0xd0 */ + 0x00e5, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x00b9, 0x00fb, 0x007e, 0x00f9, 0x00fa, 0x00ff, + /* 0xe0 */ + 0x00c9, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x00b2, 0x00d4, 0x0040, 0x00d2, 0x00d3, 0x00d5, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x00b3, 0x00db, 0x00dc, 0x00d9, 0x00da, 0x009f, +}; + +static int +ebcdic1157_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + if (conv->isurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *pwc = (ucs4_t) ebcdic1157_2uni[c]; + return 1; +} + +static const unsigned char ebcdic1157_page00[256] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x4f, 0x7f, 0x63, 0x67, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0xec, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0xb5, 0x71, 0x9f, 0x5f, 0x6d, /* 0x58-0x5f */ + 0x51, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0x43, 0xbb, 0x47, 0xdc, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0xaa, 0xb0, 0xb1, 0x00, 0xb2, 0xcc, 0x4a, /* 0xa0-0xa7 */ + 0xbd, 0xb4, 0x9a, 0x8a, 0xba, 0xca, 0xaf, 0xbc, /* 0xa8-0xaf */ + 0x90, 0x8f, 0xea, 0xfa, 0xbe, 0xa0, 0xb6, 0xb3, /* 0xb0-0xb7 */ + 0x9d, 0xda, 0x9b, 0x8b, 0xb7, 0xb8, 0xb9, 0xab, /* 0xb8-0xbf */ + 0x64, 0x65, 0x62, 0x66, 0x7b, 0x5b, 0x9e, 0x68, /* 0xc0-0xc7 */ + 0x74, 0xe0, 0x72, 0x73, 0x78, 0x75, 0x76, 0x77, /* 0xc8-0xcf */ + 0x00, 0x69, 0xed, 0xee, 0xeb, 0xef, 0x7c, 0xbf, /* 0xd0-0xd7 */ + 0x80, 0xfd, 0xfe, 0xfb, 0xfc, 0xad, 0x00, 0x59, /* 0xd8-0xdf */ + 0x44, 0x45, 0x42, 0x46, 0xc0, 0xd0, 0x9c, 0x48, /* 0xe0-0xe7 */ + 0x54, 0x79, 0x52, 0x53, 0x58, 0x55, 0x56, 0x57, /* 0xe8-0xef */ + 0x00, 0x49, 0xcd, 0xce, 0xcb, 0xcf, 0x6a, 0xe1, /* 0xf0-0xf7 */ + 0x70, 0xdd, 0xde, 0xdb, 0xa1, 0x8d, 0x00, 0xdf, /* 0xf8-0xff */ +}; +#if DEDUPLICATE_TABLES +#define ebcdic1157_page01 ebcdic1122_page01 +#else /* Unoptimized */ +static const unsigned char ebcdic1157_page01[32] = { + 0xac, 0x8c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x60-0x67 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x68-0x6f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x70-0x77 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0xae, 0x8e, 0x00, /* 0x78-0x7f */ +}; +#endif + +static int +ebcdic1157_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x0100) + c = ebcdic1157_page00[wc]; + else if (wc >= 0x0160 && wc < 0x0180) + c = ebcdic1157_page01[wc-0x0160]; + else if (wc == 0x20ac) + c = 0x5a; + if (c != 0 || wc == 0) { + if (conv->osurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/Externals/libiconv/lib/ebcdic1158.h b/Externals/libiconv/lib/ebcdic1158.h new file mode 100644 index 00000000000..39fc469dd67 --- /dev/null +++ b/Externals/libiconv/lib/ebcdic1158.h @@ -0,0 +1,158 @@ +/* + * Copyright (C) 1999-2023 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV Library is free software; you can redistribute it + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV Library is distributed in the hope that it will be + * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with the GNU LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-1158 + */ + +static const unsigned short ebcdic1158_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x0452, 0x0491, 0x0451, 0x0454, 0x0455, 0x0456, + 0x0457, 0x0458, 0x005b, 0x002e, 0x003c, 0x0028, 0x002b, 0x0021, + /* 0x50 */ + 0x0026, 0x0459, 0x045a, 0x045b, 0x045c, 0x045e, 0x045f, 0x042a, + 0x2116, 0x0402, 0x005d, 0x0024, 0x002a, 0x0029, 0x003b, 0x005e, + /* 0x60 */ + 0x002d, 0x002f, 0x0490, 0x0401, 0x0404, 0x0405, 0x0406, 0x0407, + 0x0408, 0x0409, 0x007c, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x040a, 0x040b, 0x040c, 0x00ad, 0x040e, 0x040f, 0x044e, 0x0430, + 0x0431, 0x0060, 0x003a, 0x0023, 0x0040, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x0446, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x0434, 0x0435, 0x0444, 0x0433, 0x0445, 0x0438, + /* 0x90 */ + 0x0439, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x043a, 0x043b, 0x043c, 0x043d, 0x043e, 0x043f, + /* 0xa0 */ + 0x044f, 0x007e, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x0440, 0x0441, 0x0442, 0x0443, 0x0436, 0x0432, + /* 0xb0 */ + 0x044c, 0x044b, 0x0437, 0x0448, 0x044d, 0x0449, 0x0447, 0x044a, + 0x042e, 0x0410, 0x0411, 0x0426, 0x0414, 0x0415, 0x0424, 0x0413, + /* 0xc0 */ + 0x007b, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x0425, 0x0418, 0x0419, 0x041a, 0x041b, 0x041c, + /* 0xd0 */ + 0x007d, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x041d, 0x041e, 0x041f, 0x042f, 0x0420, 0x0421, + /* 0xe0 */ + 0x005c, 0x20ac, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x0422, 0x0423, 0x0416, 0x0412, 0x042c, 0x042b, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x0417, 0x0428, 0x042d, 0x0429, 0x0427, 0x009f, +}; + +static int +ebcdic1158_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + if (conv->isurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *pwc = (ucs4_t) ebcdic1158_2uni[c]; + return 1; +} + +#if DEDUPLICATE_TABLES +#define ebcdic1158_page00 ebcdic1154_page00 +#else /* Unoptimized */ +static const unsigned char ebcdic1158_page00[176] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x4f, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0x4a, 0xe0, 0x5a, 0x5f, 0x6d, /* 0x58-0x5f */ + 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0xc0, 0x6a, 0xd0, 0xa1, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa0-0xa7 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x73, 0x00, 0x00, /* 0xa8-0xaf */ +}; +#endif +#if DEDUPLICATE_TABLES +#define ebcdic1158_page04 ebcdic1123_page04 +#else /* Unoptimized */ +static const unsigned char ebcdic1158_page04[152] = { + 0x00, 0x63, 0x59, 0x00, 0x64, 0x65, 0x66, 0x67, /* 0x00-0x07 */ + 0x68, 0x69, 0x70, 0x71, 0x72, 0x00, 0x74, 0x75, /* 0x08-0x0f */ + 0xb9, 0xba, 0xed, 0xbf, 0xbc, 0xbd, 0xec, 0xfa, /* 0x10-0x17 */ + 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xda, 0xdb, 0xdc, /* 0x18-0x1f */ + 0xde, 0xdf, 0xea, 0xeb, 0xbe, 0xca, 0xbb, 0xfe, /* 0x20-0x27 */ + 0xfb, 0xfd, 0x57, 0xef, 0xee, 0xfc, 0xb8, 0xdd, /* 0x28-0x2f */ + 0x77, 0x78, 0xaf, 0x8d, 0x8a, 0x8b, 0xae, 0xb2, /* 0x30-0x37 */ + 0x8f, 0x90, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f, /* 0x38-0x3f */ + 0xaa, 0xab, 0xac, 0xad, 0x8c, 0x8e, 0x80, 0xb6, /* 0x40-0x47 */ + 0xb3, 0xb5, 0xb7, 0xb1, 0xb0, 0xb4, 0x76, 0xa0, /* 0x48-0x4f */ + 0x00, 0x44, 0x42, 0x00, 0x45, 0x46, 0x47, 0x48, /* 0x50-0x57 */ + 0x49, 0x51, 0x52, 0x53, 0x54, 0x00, 0x55, 0x56, /* 0x58-0x5f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x60-0x67 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x68-0x6f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x70-0x77 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x78-0x7f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x80-0x87 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x88-0x8f */ + 0x62, 0x43, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x90-0x97 */ +}; +#endif + +static int +ebcdic1158_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x00b0) + c = ebcdic1158_page00[wc]; + else if (wc >= 0x0400 && wc < 0x0498) + c = ebcdic1158_page04[wc-0x0400]; + else if (wc == 0x20ac) + c = 0xe1; + else if (wc == 0x2116) + c = 0x58; + if (c != 0 || wc == 0) { + if (conv->osurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/Externals/libiconv/lib/ebcdic1160.h b/Externals/libiconv/lib/ebcdic1160.h new file mode 100644 index 00000000000..ce8e02870bf --- /dev/null +++ b/Externals/libiconv/lib/ebcdic1160.h @@ -0,0 +1,149 @@ +/* + * Copyright (C) 1999-2023 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV Library is free software; you can redistribute it + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV Library is distributed in the hope that it will be + * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with the GNU LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-1160 + */ + +static const unsigned short ebcdic1160_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x0e01, 0x0e02, 0x0e03, 0x0e04, 0x0e05, 0x0e06, + 0x0e07, 0x005b, 0x00a2, 0x002e, 0x003c, 0x0028, 0x002b, 0x007c, + /* 0x50 */ + 0x0026, 0x0e48, 0x0e08, 0x0e09, 0x0e0a, 0x0e0b, 0x0e0c, 0x0e0d, + 0x0e0e, 0x005d, 0x0021, 0x0024, 0x002a, 0x0029, 0x003b, 0x00ac, + /* 0x60 */ + 0x002d, 0x002f, 0x0e0f, 0x0e10, 0x0e11, 0x0e12, 0x0e13, 0x0e14, + 0x0e15, 0x005e, 0x00a6, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x0e3f, 0x0e4e, 0x0e16, 0x0e17, 0x0e18, 0x0e19, 0x0e1a, 0x0e1b, + 0x0e1c, 0x0060, 0x003a, 0x0023, 0x0040, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x0e4f, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x0e1d, 0x0e1e, 0x0e1f, 0x0e20, 0x0e21, 0x0e22, + /* 0x90 */ + 0x0e5a, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x0e23, 0x0e24, 0x0e25, 0x0e26, 0x0e27, 0x0e28, + /* 0xa0 */ + 0x0e5b, 0x007e, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x0e29, 0x0e2a, 0x0e2b, 0x0e2c, 0x0e2d, 0x0e2e, + /* 0xb0 */ + 0x0e50, 0x0e51, 0x0e52, 0x0e53, 0x0e54, 0x0e55, 0x0e56, 0x0e57, + 0x0e58, 0x0e59, 0x0e2f, 0x0e30, 0x0e31, 0x0e32, 0x0e33, 0x0e34, + /* 0xc0 */ + 0x007b, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x0e49, 0x0e35, 0x0e36, 0x0e37, 0x0e38, 0x0e39, + /* 0xd0 */ + 0x007d, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x0e3a, 0x0e40, 0x0e41, 0x0e42, 0x0e43, 0x0e44, + /* 0xe0 */ + 0x005c, 0x0e4a, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x0e45, 0x0e46, 0x0e47, 0x0e48, 0x0e49, 0x0e4a, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x0e4b, 0x0e4c, 0x0e4d, 0x0e4b, 0x20ac, 0x009f, +}; + +static int +ebcdic1160_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + if (conv->isurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *pwc = (ucs4_t) ebcdic1160_2uni[c]; + return 1; +} + +#if DEDUPLICATE_TABLES +#define ebcdic1160_page00 ebcdic838_page00 +#else /* Unoptimized */ +static const unsigned char ebcdic1160_page00[176] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x5a, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0x49, 0xe0, 0x59, 0x69, 0x6d, /* 0x58-0x5f */ + 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0xc0, 0x4f, 0xd0, 0xa1, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0x00, 0x4a, 0x00, 0x00, 0x00, 0x6a, 0x00, /* 0xa0-0xa7 */ + 0x00, 0x00, 0x00, 0x00, 0x5f, 0x00, 0x00, 0x00, /* 0xa8-0xaf */ +}; +#endif +#if DEDUPLICATE_TABLES +#define ebcdic1160_page0e ebcdic838_page0e +#else /* Unoptimized */ +static const unsigned char ebcdic1160_page0e[96] = { + 0x00, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, /* 0x00-0x07 */ + 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x62, /* 0x08-0x0f */ + 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x72, 0x73, /* 0x10-0x17 */ + 0x74, 0x75, 0x76, 0x77, 0x78, 0x8a, 0x8b, 0x8c, /* 0x18-0x1f */ + 0x8d, 0x8e, 0x8f, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, /* 0x20-0x27 */ + 0x9f, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xba, /* 0x28-0x2f */ + 0xbb, 0xbc, 0xbd, 0xbe, 0xbf, 0xcb, 0xcc, 0xcd, /* 0x30-0x37 */ + 0xce, 0xcf, 0xda, 0x00, 0x00, 0x00, 0x00, 0x70, /* 0x38-0x3f */ + 0xdb, 0xdc, 0xdd, 0xde, 0xdf, 0xea, 0xeb, 0xec, /* 0x40-0x47 */ + 0xed, 0xee, 0xef, 0xfa, 0xfb, 0xfc, 0x71, 0x80, /* 0x48-0x4f */ + 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, /* 0x50-0x57 */ + 0xb8, 0xb9, 0x90, 0xa0, 0x00, 0x00, 0x00, 0x00, /* 0x58-0x5f */ +}; +#endif + +static int +ebcdic1160_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x00b0) + c = ebcdic1160_page00[wc]; + else if (wc >= 0x0e00 && wc < 0x0e60) + c = ebcdic1160_page0e[wc-0x0e00]; + else if (wc == 0x20ac) + c = 0xfe; + if (c != 0 || wc == 0) { + if (conv->osurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/Externals/libiconv/lib/ebcdic1164.h b/Externals/libiconv/lib/ebcdic1164.h new file mode 100644 index 00000000000..bd87156e66f --- /dev/null +++ b/Externals/libiconv/lib/ebcdic1164.h @@ -0,0 +1,175 @@ +/* + * Copyright (C) 1999-2023 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV Library is free software; you can redistribute it + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV Library is distributed in the hope that it will be + * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with the GNU LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-1164 + */ + +static const unsigned short ebcdic1164_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x00e2, 0x00e4, 0x00e0, 0x00e1, 0x0103, 0x00e5, + 0x00e7, 0x00f1, 0x005b, 0x002e, 0x003c, 0x0028, 0x002b, 0x0021, + /* 0x50 */ + 0x0026, 0x00e9, 0x00ea, 0x00eb, 0x00e8, 0x00ed, 0x00ee, 0x00ef, + 0x0303, 0x00df, 0x005d, 0x0024, 0x002a, 0x0029, 0x003b, 0x005e, + /* 0x60 */ + 0x002d, 0x002f, 0x00c2, 0x00c4, 0x00c0, 0x00c1, 0x0102, 0x00c5, + 0x00c7, 0x00d1, 0x00a6, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x00f8, 0x00c9, 0x00ca, 0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, + 0x20ab, 0x0060, 0x003a, 0x0023, 0x0040, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x00d8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x00ab, 0x00bb, 0x0111, 0x0309, 0x0300, 0x00b1, + /* 0x90 */ + 0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x00aa, 0x00ba, 0x00e6, 0x0152, 0x00c6, 0x20ac, + /* 0xa0 */ + 0x00b5, 0x007e, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x00a1, 0x00bf, 0x0110, 0x0323, 0x0301, 0x00ae, + /* 0xb0 */ + 0x00a2, 0x00a3, 0x00a5, 0x00b7, 0x00a9, 0x00a7, 0x00b6, 0x00bc, + 0x00bd, 0x00be, 0x00ac, 0x007c, 0x00af, 0x0153, 0x0178, 0x00d7, + /* 0xc0 */ + 0x007b, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x00f4, 0x00f6, 0x01b0, 0x00f3, 0x01a1, + /* 0xd0 */ + 0x007d, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x00b9, 0x00fb, 0x00fc, 0x00f9, 0x00fa, 0x00ff, + /* 0xe0 */ + 0x005c, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x00b2, 0x00d4, 0x00d6, 0x01af, 0x00d3, 0x01a0, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x00b3, 0x00db, 0x00dc, 0x00d9, 0x00da, 0x009f, +}; + +static int +ebcdic1164_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + if (conv->isurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *pwc = (ucs4_t) ebcdic1164_2uni[c]; + return 1; +} + +static const unsigned char ebcdic1164_page00[440] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x4f, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0x4a, 0xe0, 0x5a, 0x5f, 0x6d, /* 0x58-0x5f */ + 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0xc0, 0xbb, 0xd0, 0xa1, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0xaa, 0xb0, 0xb1, 0x00, 0xb2, 0x6a, 0xb5, /* 0xa0-0xa7 */ + 0x00, 0xb4, 0x9a, 0x8a, 0xba, 0xca, 0xaf, 0xbc, /* 0xa8-0xaf */ + 0x90, 0x8f, 0xea, 0xfa, 0x00, 0xa0, 0xb6, 0xb3, /* 0xb0-0xb7 */ + 0x00, 0xda, 0x9b, 0x8b, 0xb7, 0xb8, 0xb9, 0xab, /* 0xb8-0xbf */ + 0x64, 0x65, 0x62, 0x00, 0x63, 0x67, 0x9e, 0x68, /* 0xc0-0xc7 */ + 0x74, 0x71, 0x72, 0x73, 0x00, 0x75, 0x76, 0x77, /* 0xc8-0xcf */ + 0x00, 0x69, 0x00, 0xee, 0xeb, 0x00, 0xec, 0xbf, /* 0xd0-0xd7 */ + 0x80, 0xfd, 0xfe, 0xfb, 0xfc, 0x00, 0x00, 0x59, /* 0xd8-0xdf */ + 0x44, 0x45, 0x42, 0x00, 0x43, 0x47, 0x9c, 0x48, /* 0xe0-0xe7 */ + 0x54, 0x51, 0x52, 0x53, 0x00, 0x55, 0x56, 0x57, /* 0xe8-0xef */ + 0x00, 0x49, 0x00, 0xce, 0xcb, 0x00, 0xcc, 0xe1, /* 0xf0-0xf7 */ + 0x70, 0xdd, 0xde, 0xdb, 0xdc, 0x00, 0x00, 0xdf, /* 0xf8-0xff */ + /* 0x0100 */ + 0x00, 0x00, 0x66, 0x46, 0x00, 0x00, 0x00, 0x00, /* 0x00-0x07 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x08-0x0f */ + 0xac, 0x8c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10-0x17 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x18-0x1f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x20-0x27 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x28-0x2f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x30-0x37 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x38-0x3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x40-0x47 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x48-0x4f */ + 0x00, 0x00, 0x9d, 0xbd, 0x00, 0x00, 0x00, 0x00, /* 0x50-0x57 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x58-0x5f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x60-0x67 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x68-0x6f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x70-0x77 */ + 0xbe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x78-0x7f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x80-0x87 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x88-0x8f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x90-0x97 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x98-0x9f */ + 0xef, 0xcf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa0-0xa7 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xed, /* 0xa8-0xaf */ + 0xcd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xb0-0xb7 */ +}; +#if DEDUPLICATE_TABLES +#define ebcdic1164_page03 ebcdic1130_page03 +#else /* Unoptimized */ +static const unsigned char ebcdic1164_page03[40] = { + 0x8e, 0xae, 0x00, 0x58, 0x00, 0x00, 0x00, 0x00, /* 0x00-0x07 */ + 0x00, 0x8d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x08-0x0f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10-0x17 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x18-0x1f */ + 0x00, 0x00, 0x00, 0xad, 0x00, 0x00, 0x00, 0x00, /* 0x20-0x27 */ +}; +#endif +static const unsigned char ebcdic1164_page20[8] = { + 0x00, 0x00, 0x00, 0x78, 0x9f, 0x00, 0x00, 0x00, /* 0xa8-0xaf */ +}; + +static int +ebcdic1164_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x01b8) + c = ebcdic1164_page00[wc]; + else if (wc >= 0x0300 && wc < 0x0328) + c = ebcdic1164_page03[wc-0x0300]; + else if (wc >= 0x20a8 && wc < 0x20b0) + c = ebcdic1164_page20[wc-0x20a8]; + if (c != 0 || wc == 0) { + if (conv->osurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/Externals/libiconv/lib/ebcdic1165.h b/Externals/libiconv/lib/ebcdic1165.h new file mode 100644 index 00000000000..c70687e2e6e --- /dev/null +++ b/Externals/libiconv/lib/ebcdic1165.h @@ -0,0 +1,164 @@ +/* + * Copyright (C) 1999-2023 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV Library is free software; you can redistribute it + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV Library is distributed in the hope that it will be + * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with the GNU LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-1165 + */ + +static const unsigned short ebcdic1165_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x00e2, 0x00e4, 0x0163, 0x00e1, 0x0103, 0x010d, + 0x00e7, 0x0107, 0x00dd, 0x002e, 0x003c, 0x0028, 0x002b, 0x007c, + /* 0x50 */ + 0x0026, 0x00e9, 0x0119, 0x00eb, 0x016f, 0x00ed, 0x00ee, 0x013e, + 0x013a, 0x00df, 0x0021, 0x0024, 0x002a, 0x0029, 0x003b, 0x005e, + /* 0x60 */ + 0x002d, 0x002f, 0x00c2, 0x00c4, 0x02dd, 0x00c1, 0x0102, 0x010c, + 0x00c7, 0x0106, 0x00a8, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x02c7, 0x00c9, 0x0118, 0x00cb, 0x016e, 0x00cd, 0x00ce, 0x013d, + 0x0139, 0x0060, 0x003a, 0x0023, 0x0040, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x02d8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x015b, 0x0148, 0x0111, 0x00fd, 0x0159, 0x015f, + /* 0x90 */ + 0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x0142, 0x0144, 0x0161, 0x00b8, 0x02db, 0x20ac, + /* 0xa0 */ + 0x0105, 0x007e, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x015a, 0x0147, 0x0110, 0x005b, 0x0158, 0x015e, + /* 0xb0 */ + 0x02d9, 0x0104, 0x017c, 0x0162, 0x017b, 0x00a7, 0x017e, 0x017a, + 0x017d, 0x0179, 0x0141, 0x0143, 0x0160, 0x005d, 0x00b4, 0x00d7, + /* 0xc0 */ + 0x007b, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x00f4, 0x00f6, 0x0155, 0x00f3, 0x0151, + /* 0xd0 */ + 0x007d, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x011a, 0x0171, 0x00fc, 0x0165, 0x00fa, 0x011b, + /* 0xe0 */ + 0x005c, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x010f, 0x00d4, 0x00d6, 0x0154, 0x00d3, 0x0150, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x010e, 0x0170, 0x00dc, 0x0164, 0x00da, 0x009f, +}; + +static int +ebcdic1165_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + if (conv->isurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *pwc = (ucs4_t) ebcdic1165_2uni[c]; + return 1; +} + +static const unsigned char ebcdic1165_page00[384] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x5a, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0xad, 0xe0, 0xbd, 0x5f, 0x6d, /* 0x58-0x5f */ + 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0xc0, 0x4f, 0xd0, 0xa1, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb5, /* 0xa0-0xa7 */ + 0x6a, 0x00, 0x00, 0x00, 0x00, 0xca, 0x00, 0x00, /* 0xa8-0xaf */ + 0x90, 0x00, 0x00, 0x00, 0xbe, 0x00, 0x00, 0x00, /* 0xb0-0xb7 */ + 0x9d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xb8-0xbf */ + 0x00, 0x65, 0x62, 0x00, 0x63, 0x00, 0x00, 0x68, /* 0xc0-0xc7 */ + 0x00, 0x71, 0x00, 0x73, 0x00, 0x75, 0x76, 0x00, /* 0xc8-0xcf */ + 0x00, 0x00, 0x00, 0xee, 0xeb, 0x00, 0xec, 0xbf, /* 0xd0-0xd7 */ + 0x00, 0x00, 0xfe, 0x00, 0xfc, 0x4a, 0x00, 0x59, /* 0xd8-0xdf */ + 0x00, 0x45, 0x42, 0x00, 0x43, 0x00, 0x00, 0x48, /* 0xe0-0xe7 */ + 0x00, 0x51, 0x00, 0x53, 0x00, 0x55, 0x56, 0x00, /* 0xe8-0xef */ + 0x00, 0x00, 0x00, 0xce, 0xcb, 0x00, 0xcc, 0xe1, /* 0xf0-0xf7 */ + 0x00, 0x00, 0xde, 0x00, 0xdc, 0x8d, 0x00, 0x00, /* 0xf8-0xff */ + /* 0x0100 */ + 0x00, 0x00, 0x66, 0x46, 0xb1, 0xa0, 0x69, 0x49, /* 0x00-0x07 */ + 0x00, 0x00, 0x00, 0x00, 0x67, 0x47, 0xfa, 0xea, /* 0x08-0x0f */ + 0xac, 0x8c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10-0x17 */ + 0x72, 0x52, 0xda, 0xdf, 0x00, 0x00, 0x00, 0x00, /* 0x18-0x1f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x20-0x27 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x28-0x2f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x30-0x37 */ + 0x00, 0x78, 0x58, 0x00, 0x00, 0x77, 0x57, 0x00, /* 0x38-0x3f */ + 0x00, 0xba, 0x9a, 0xbb, 0x9b, 0x00, 0x00, 0xab, /* 0x40-0x47 */ + 0x8b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x48-0x4f */ + 0xef, 0xcf, 0x00, 0x00, 0xed, 0xcd, 0x00, 0x00, /* 0x50-0x57 */ + 0xae, 0x8e, 0xaa, 0x8a, 0x00, 0x00, 0xaf, 0x8f, /* 0x58-0x5f */ + 0xbc, 0x9c, 0xb3, 0x44, 0xfd, 0xdd, 0x00, 0x00, /* 0x60-0x67 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x74, 0x54, /* 0x68-0x6f */ + 0xfb, 0xdb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x70-0x77 */ + 0x00, 0xb9, 0xb7, 0xb4, 0xb2, 0xb8, 0xb6, 0x00, /* 0x78-0x7f */ +}; +#if DEDUPLICATE_TABLES +#define ebcdic1165_page02 ebcdic870_page02 +#else /* Unoptimized */ +static const unsigned char ebcdic1165_page02[32] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, /* 0xc0-0xc7 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xc8-0xcf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xd0-0xd7 */ + 0x80, 0xb0, 0x00, 0x9e, 0x00, 0x64, 0x00, 0x00, /* 0xd8-0xdf */ +}; +#endif + +static int +ebcdic1165_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x0180) + c = ebcdic1165_page00[wc]; + else if (wc >= 0x02c0 && wc < 0x02e0) + c = ebcdic1165_page02[wc-0x02c0]; + else if (wc == 0x20ac) + c = 0x9f; + if (c != 0 || wc == 0) { + if (conv->osurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/Externals/libiconv/lib/ebcdic1166.h b/Externals/libiconv/lib/ebcdic1166.h new file mode 100644 index 00000000000..b90d6e61122 --- /dev/null +++ b/Externals/libiconv/lib/ebcdic1166.h @@ -0,0 +1,165 @@ +/* + * Copyright (C) 1999-2023 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV Library is free software; you can redistribute it + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV Library is distributed in the hope that it will be + * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with the GNU LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-1166 + */ + +static const unsigned short ebcdic1166_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x04d9, 0x0493, 0x0451, 0x0454, 0x0455, 0x0456, + 0x049b, 0x0458, 0x005b, 0x002e, 0x003c, 0x0028, 0x002b, 0x0021, + /* 0x50 */ + 0x0026, 0x04a3, 0x04e9, 0x04b1, 0x04af, 0x045e, 0x04bb, 0x042a, + 0x2116, 0x04d8, 0x005d, 0x0024, 0x002a, 0x0029, 0x003b, 0x005e, + /* 0x60 */ + 0x002d, 0x002f, 0x0492, 0x0401, 0x0404, 0x0405, 0x0406, 0x049a, + 0x0408, 0x04a2, 0x007c, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x04e8, 0x04b0, 0x04ae, 0x00ad, 0x040e, 0x04ba, 0x044e, 0x0430, + 0x0431, 0x0060, 0x003a, 0x0023, 0x0040, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x0446, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x0434, 0x0435, 0x0444, 0x0433, 0x0445, 0x0438, + /* 0x90 */ + 0x0439, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x043a, 0x043b, 0x043c, 0x043d, 0x043e, 0x043f, + /* 0xa0 */ + 0x044f, 0x007e, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x0440, 0x0441, 0x0442, 0x0443, 0x0436, 0x0432, + /* 0xb0 */ + 0x044c, 0x044b, 0x0437, 0x0448, 0x044d, 0x0449, 0x0447, 0x044a, + 0x042e, 0x0410, 0x0411, 0x0426, 0x0414, 0x0415, 0x0424, 0x0413, + /* 0xc0 */ + 0x007b, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x0425, 0x0418, 0x0419, 0x041a, 0x041b, 0x041c, + /* 0xd0 */ + 0x007d, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x041d, 0x041e, 0x041f, 0x042f, 0x0420, 0x0421, + /* 0xe0 */ + 0x005c, 0x20ac, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x0422, 0x0423, 0x0416, 0x0412, 0x042c, 0x042b, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x0417, 0x0428, 0x042d, 0x0429, 0x0427, 0x009f, +}; + +static int +ebcdic1166_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + if (conv->isurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *pwc = (ucs4_t) ebcdic1166_2uni[c]; + return 1; +} + +#if DEDUPLICATE_TABLES +#define ebcdic1166_page00 ebcdic1154_page00 +#else /* Unoptimized */ +static const unsigned char ebcdic1166_page00[176] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x4f, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0x4a, 0xe0, 0x5a, 0x5f, 0x6d, /* 0x58-0x5f */ + 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0xc0, 0x6a, 0xd0, 0xa1, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa0-0xa7 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x73, 0x00, 0x00, /* 0xa8-0xaf */ +}; +#endif +static const unsigned char ebcdic1166_page04[240] = { + 0x00, 0x63, 0x00, 0x00, 0x64, 0x65, 0x66, 0x00, /* 0x00-0x07 */ + 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x74, 0x00, /* 0x08-0x0f */ + 0xb9, 0xba, 0xed, 0xbf, 0xbc, 0xbd, 0xec, 0xfa, /* 0x10-0x17 */ + 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xda, 0xdb, 0xdc, /* 0x18-0x1f */ + 0xde, 0xdf, 0xea, 0xeb, 0xbe, 0xca, 0xbb, 0xfe, /* 0x20-0x27 */ + 0xfb, 0xfd, 0x57, 0xef, 0xee, 0xfc, 0xb8, 0xdd, /* 0x28-0x2f */ + 0x77, 0x78, 0xaf, 0x8d, 0x8a, 0x8b, 0xae, 0xb2, /* 0x30-0x37 */ + 0x8f, 0x90, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f, /* 0x38-0x3f */ + 0xaa, 0xab, 0xac, 0xad, 0x8c, 0x8e, 0x80, 0xb6, /* 0x40-0x47 */ + 0xb3, 0xb5, 0xb7, 0xb1, 0xb0, 0xb4, 0x76, 0xa0, /* 0x48-0x4f */ + 0x00, 0x44, 0x00, 0x00, 0x45, 0x46, 0x47, 0x00, /* 0x50-0x57 */ + 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x00, /* 0x58-0x5f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x60-0x67 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x68-0x6f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x70-0x77 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x78-0x7f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x80-0x87 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x88-0x8f */ + 0x00, 0x00, 0x62, 0x43, 0x00, 0x00, 0x00, 0x00, /* 0x90-0x97 */ + 0x00, 0x00, 0x67, 0x48, 0x00, 0x00, 0x00, 0x00, /* 0x98-0x9f */ + 0x00, 0x00, 0x69, 0x51, 0x00, 0x00, 0x00, 0x00, /* 0xa0-0xa7 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x72, 0x54, /* 0xa8-0xaf */ + 0x71, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xb0-0xb7 */ + 0x00, 0x00, 0x75, 0x56, 0x00, 0x00, 0x00, 0x00, /* 0xb8-0xbf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xc0-0xc7 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xc8-0xcf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xd0-0xd7 */ + 0x59, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xd8-0xdf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xe0-0xe7 */ + 0x70, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xe8-0xef */ +}; + +static int +ebcdic1166_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x00b0) + c = ebcdic1166_page00[wc]; + else if (wc >= 0x0400 && wc < 0x04f0) + c = ebcdic1166_page04[wc-0x0400]; + else if (wc == 0x20ac) + c = 0xe1; + else if (wc == 0x2116) + c = 0x58; + if (c != 0 || wc == 0) { + if (conv->osurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/Externals/libiconv/lib/ebcdic12712.h b/Externals/libiconv/lib/ebcdic12712.h new file mode 100644 index 00000000000..e7a5650b13c --- /dev/null +++ b/Externals/libiconv/lib/ebcdic12712.h @@ -0,0 +1,168 @@ +/* + * Copyright (C) 1999-2023 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV Library is free software; you can redistribute it + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV Library is distributed in the hope that it will be + * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with the GNU LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-12712 + */ + +static const unsigned short ebcdic12712_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x05d0, 0x05d1, 0x05d2, 0x05d3, 0x05d4, 0x05d5, 0x05d6, + 0x05d7, 0x05d8, 0x00a2, 0x002e, 0x003c, 0x0028, 0x002b, 0x007c, + /* 0x50 */ + 0x0026, 0x05d9, 0x05da, 0x05db, 0x05dc, 0x05dd, 0x05de, 0x05df, + 0x05e0, 0x05e1, 0x0021, 0x0024, 0x002a, 0x0029, 0x003b, 0x00ac, + /* 0x60 */ + 0x002d, 0x002f, 0x05e2, 0x05e3, 0x05e4, 0x05e5, 0x05e6, 0x05e7, + 0x05e8, 0x05e9, 0x00a6, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0xfffd, 0x05ea, 0xfffd, 0xfffd, 0x00a0, 0xfffd, 0xfffd, 0xfffd, + 0x2017, 0x0060, 0x003a, 0x0023, 0x0040, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0xfffd, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x00ab, 0x00bb, 0xfffd, 0xfffd, 0xfffd, 0x00b1, + /* 0x90 */ + 0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0xfffd, 0xfffd, 0x20ac, 0x00b8, 0x20aa, 0x00a4, + /* 0xa0 */ + 0x00b5, 0x007e, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0x00ae, + /* 0xb0 */ + 0x005e, 0x00a3, 0x00a5, 0x2022, 0x00a9, 0x00a7, 0x00b6, 0x00bc, + 0x00bd, 0x00be, 0x005b, 0x005d, 0x203e, 0x00a8, 0x00b4, 0x00d7, + /* 0xc0 */ + 0x007b, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, + /* 0xd0 */ + 0x007d, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x00b9, 0x202d, 0x202e, 0x202c, 0xfffd, 0xfffd, + /* 0xe0 */ + 0x005c, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x00b2, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x00b3, 0x202a, 0x202b, 0x200e, 0x200f, 0x009f, +}; + +static int +ebcdic12712_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + if (conv->isurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + unsigned short wc = ebcdic12712_2uni[c]; + if (wc != 0xfffd) { + *pwc = (ucs4_t) wc; + return 1; + } + return RET_ILSEQ; +} + +#if DEDUPLICATE_TABLES +#define ebcdic12712_page00 ebcdic424_page00 +#else /* Unoptimized */ +static const unsigned char ebcdic12712_page00[248] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x5a, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0xba, 0xe0, 0xbb, 0xb0, 0x6d, /* 0x58-0x5f */ + 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0xc0, 0x4f, 0xd0, 0xa1, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x74, 0x00, 0x4a, 0xb1, 0x9f, 0xb2, 0x6a, 0xb5, /* 0xa0-0xa7 */ + 0xbd, 0xb4, 0x00, 0x8a, 0x5f, 0xca, 0xaf, 0x00, /* 0xa8-0xaf */ + 0x90, 0x8f, 0xea, 0xfa, 0xbe, 0xa0, 0xb6, 0x00, /* 0xb0-0xb7 */ + 0x9d, 0xda, 0x00, 0x8b, 0xb7, 0xb8, 0xb9, 0x00, /* 0xb8-0xbf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xc0-0xc7 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xc8-0xcf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, /* 0xd0-0xd7 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xd8-0xdf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xe0-0xe7 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xe8-0xef */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe1, /* 0xf0-0xf7 */ +}; +#endif +#if DEDUPLICATE_TABLES +#define ebcdic12712_page05 ebcdic424_page05 +#else /* Unoptimized */ +static const unsigned char ebcdic12712_page05[32] = { + 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, /* 0xd0-0xd7 */ + 0x49, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, /* 0xd8-0xdf */ + 0x58, 0x59, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, /* 0xe0-0xe7 */ + 0x68, 0x69, 0x71, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xe8-0xef */ +}; +#endif +static const unsigned char ebcdic12712_page20[56] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfd, 0xfe, /* 0x08-0x0f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, /* 0x10-0x17 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x18-0x1f */ + 0x00, 0x00, 0xb3, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x20-0x27 */ + 0x00, 0x00, 0xfb, 0xfc, 0xdd, 0xdb, 0xdc, 0x00, /* 0x28-0x2f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x30-0x37 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbc, 0x00, /* 0x38-0x3f */ +}; +static const unsigned char ebcdic12712_page20_1[8] = { + 0x00, 0x00, 0x9e, 0x00, 0x9c, 0x00, 0x00, 0x00, /* 0xa8-0xaf */ +}; + +static int +ebcdic12712_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x00f8) + c = ebcdic12712_page00[wc]; + else if (wc >= 0x05d0 && wc < 0x05f0) + c = ebcdic12712_page05[wc-0x05d0]; + else if (wc >= 0x2008 && wc < 0x2040) + c = ebcdic12712_page20[wc-0x2008]; + else if (wc >= 0x20a8 && wc < 0x20b0) + c = ebcdic12712_page20_1[wc-0x20a8]; + if (c != 0 || wc == 0) { + if (conv->osurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/Externals/libiconv/lib/ebcdic16804.h b/Externals/libiconv/lib/ebcdic16804.h new file mode 100644 index 00000000000..57a2031a25f --- /dev/null +++ b/Externals/libiconv/lib/ebcdic16804.h @@ -0,0 +1,182 @@ +/* + * Copyright (C) 1999-2023 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV Library is free software; you can redistribute it + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV Library is distributed in the hope that it will be + * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with the GNU LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-16804 + */ + +static const unsigned short ebcdic16804_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x0651, 0xfe7d, 0x0640, 0x200b, 0x0621, 0x0622, + 0xfe82, 0x0623, 0x00a2, 0x002e, 0x003c, 0x0028, 0x002b, 0x007c, + /* 0x50 */ + 0x0026, 0xfe84, 0x0624, 0xfffd, 0xfffd, 0x0626, 0x0627, 0xfe8e, + 0x0628, 0xfe91, 0x0021, 0x0024, 0x002a, 0x0029, 0x003b, 0x00ac, + /* 0x60 */ + 0x002d, 0x002f, 0x0629, 0x062a, 0xfe97, 0x062b, 0xfe9b, 0x062c, + 0xfe9f, 0x062d, 0x00a6, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0xfea3, 0x062e, 0xfea7, 0x062f, 0x0630, 0x0631, 0x0632, 0x0633, + 0xfeb3, 0x060c, 0x003a, 0x0023, 0x0040, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x0634, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0xfeb7, 0x0635, 0xfebb, 0x0636, 0xfebf, 0x0637, + /* 0x90 */ + 0x0638, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x0639, 0xfeca, 0xfecb, 0xfecc, 0x063a, 0xfece, + /* 0xa0 */ + 0xfecf, 0x00f7, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0xfed0, 0x0641, 0xfed3, 0x0642, 0xfed7, 0x0643, + /* 0xb0 */ + 0xfedb, 0x0644, 0xfef5, 0xfef6, 0xfef7, 0xfef8, 0xfffd, 0xfffd, + 0xfefb, 0xfefc, 0xfedf, 0x0645, 0xfee3, 0x0646, 0xfee7, 0x0647, + /* 0xc0 */ + 0x061b, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0xfeeb, 0xfffd, 0xfeec, 0xfffd, 0x0648, + /* 0xd0 */ + 0x061f, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x0649, 0xfef0, 0x064a, 0xfef2, 0xfef3, 0x0660, + /* 0xe0 */ + 0x00d7, 0x2007, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x0661, 0x0662, 0xfffd, 0x0663, 0x0664, 0x0665, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x20ac, 0x0666, 0x0667, 0x0668, 0x0669, 0x009f, +}; + +static int +ebcdic16804_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + if (conv->isurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + unsigned short wc = ebcdic16804_2uni[c]; + if (wc != 0xfffd) { + *pwc = (ucs4_t) wc; + return 1; + } + return RET_ILSEQ; +} + +static const unsigned char ebcdic16804_page00[248] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x5a, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0x00, 0x00, 0x00, 0x00, 0x6d, /* 0x58-0x5f */ + 0x00, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0x00, 0x4f, 0x00, 0x00, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0x00, 0x4a, 0x00, 0x00, 0x00, 0x6a, 0x00, /* 0xa0-0xa7 */ + 0x00, 0x00, 0x00, 0x00, 0x5f, 0xca, 0x00, 0x00, /* 0xa8-0xaf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xb0-0xb7 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xb8-0xbf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xc0-0xc7 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xc8-0xcf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, /* 0xd0-0xd7 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xd8-0xdf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xe0-0xe7 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xe8-0xef */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa1, /* 0xf0-0xf7 */ +}; +static const unsigned char ebcdic16804_page06[104] = { + 0x00, 0x00, 0x00, 0x00, 0x79, 0x00, 0x00, 0x00, /* 0x08-0x0f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10-0x17 */ + 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0xd0, /* 0x18-0x1f */ + 0x00, 0x46, 0x47, 0x49, 0x52, 0x00, 0x55, 0x56, /* 0x20-0x27 */ + 0x58, 0x62, 0x63, 0x65, 0x67, 0x69, 0x71, 0x73, /* 0x28-0x2f */ + 0x74, 0x75, 0x76, 0x77, 0x80, 0x8b, 0x8d, 0x8f, /* 0x30-0x37 */ + 0x90, 0x9a, 0x9e, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x38-0x3f */ + 0x44, 0xab, 0xad, 0xaf, 0xb1, 0xbb, 0xbd, 0xbf, /* 0x40-0x47 */ + 0xcf, 0xda, 0xdc, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x48-0x4f */ + 0x00, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x50-0x57 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x58-0x5f */ + 0xdf, 0xea, 0xeb, 0xed, 0xee, 0xef, 0xfb, 0xfc, /* 0x60-0x67 */ + 0xfd, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x68-0x6f */ +}; +static const unsigned char ebcdic16804_page20[16] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe1, /* 0x00-0x07 */ + 0x00, 0x00, 0x00, 0x45, 0x00, 0x00, 0x00, 0x00, /* 0x08-0x0f */ +}; +static const unsigned char ebcdic16804_pagefe[136] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, /* 0x78-0x7f */ + 0x00, 0x00, 0x48, 0x00, 0x51, 0x00, 0x00, 0x00, /* 0x80-0x87 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x57, 0x00, /* 0x88-0x8f */ + 0x00, 0x59, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, /* 0x90-0x97 */ + 0x00, 0x00, 0x00, 0x66, 0x00, 0x00, 0x00, 0x68, /* 0x98-0x9f */ + 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x72, /* 0xa0-0xa7 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa8-0xaf */ + 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x8a, /* 0xb0-0xb7 */ + 0x00, 0x00, 0x00, 0x8c, 0x00, 0x00, 0x00, 0x8e, /* 0xb8-0xbf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xc0-0xc7 */ + 0x00, 0x00, 0x9b, 0x9c, 0x9d, 0x00, 0x9f, 0xa0, /* 0xc8-0xcf */ + 0xaa, 0x00, 0x00, 0xac, 0x00, 0x00, 0x00, 0xae, /* 0xd0-0xd7 */ + 0x00, 0x00, 0x00, 0xb0, 0x00, 0x00, 0x00, 0xba, /* 0xd8-0xdf */ + 0x00, 0x00, 0x00, 0xbc, 0x00, 0x00, 0x00, 0xbe, /* 0xe0-0xe7 */ + 0x00, 0x00, 0x00, 0xcb, 0xcd, 0x00, 0x00, 0x00, /* 0xe8-0xef */ + 0xdb, 0x00, 0xdd, 0xde, 0x00, 0xb2, 0xb3, 0xb4, /* 0xf0-0xf7 */ + 0xb5, 0x00, 0x00, 0xb8, 0xb9, 0x00, 0x00, 0x00, /* 0xf8-0xff */ +}; + +static int +ebcdic16804_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x00f8) + c = ebcdic16804_page00[wc]; + else if (wc >= 0x0608 && wc < 0x0670) + c = ebcdic16804_page06[wc-0x0608]; + else if (wc >= 0x2000 && wc < 0x2010) + c = ebcdic16804_page20[wc-0x2000]; + else if (wc == 0x20ac) + c = 0xfa; + else if (wc >= 0xfe78 && wc < 0xff00) + c = ebcdic16804_pagefe[wc-0xfe78]; + if (c != 0 || wc == 0) { + if (conv->osurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/Externals/libiconv/lib/ebcdic273.h b/Externals/libiconv/lib/ebcdic273.h new file mode 100644 index 00000000000..587d9cc19fa --- /dev/null +++ b/Externals/libiconv/lib/ebcdic273.h @@ -0,0 +1,133 @@ +/* + * Copyright (C) 1999-2023 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV Library is free software; you can redistribute it + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV Library is distributed in the hope that it will be + * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with the GNU LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-273 + */ + +static const unsigned short ebcdic273_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x00e2, 0x007b, 0x00e0, 0x00e1, 0x00e3, 0x00e5, + 0x00e7, 0x00f1, 0x00c4, 0x002e, 0x003c, 0x0028, 0x002b, 0x0021, + /* 0x50 */ + 0x0026, 0x00e9, 0x00ea, 0x00eb, 0x00e8, 0x00ed, 0x00ee, 0x00ef, + 0x00ec, 0x007e, 0x00dc, 0x0024, 0x002a, 0x0029, 0x003b, 0x005e, + /* 0x60 */ + 0x002d, 0x002f, 0x00c2, 0x005b, 0x00c0, 0x00c1, 0x00c3, 0x00c5, + 0x00c7, 0x00d1, 0x00f6, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x00f8, 0x00c9, 0x00ca, 0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, + 0x00cc, 0x0060, 0x003a, 0x0023, 0x00a7, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x00d8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x00ab, 0x00bb, 0x00f0, 0x00fd, 0x00fe, 0x00b1, + /* 0x90 */ + 0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x00aa, 0x00ba, 0x00e6, 0x00b8, 0x00c6, 0x00a4, + /* 0xa0 */ + 0x00b5, 0x00df, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x00a1, 0x00bf, 0x00d0, 0x00dd, 0x00de, 0x00ae, + /* 0xb0 */ + 0x00a2, 0x00a3, 0x00a5, 0x00b7, 0x00a9, 0x0040, 0x00b6, 0x00bc, + 0x00bd, 0x00be, 0x00ac, 0x007c, 0x00af, 0x00a8, 0x00b4, 0x00d7, + /* 0xc0 */ + 0x00e4, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x00f4, 0x00a6, 0x00f2, 0x00f3, 0x00f5, + /* 0xd0 */ + 0x00fc, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x00b9, 0x00fb, 0x007d, 0x00f9, 0x00fa, 0x00ff, + /* 0xe0 */ + 0x00d6, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x00b2, 0x00d4, 0x005c, 0x00d2, 0x00d3, 0x00d5, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x00b3, 0x00db, 0x005d, 0x00d9, 0x00da, 0x009f, +}; + +static int +ebcdic273_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + if (conv->isurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *pwc = (ucs4_t) ebcdic273_2uni[c]; + return 1; +} + +static const unsigned char ebcdic273_page00[256] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x4f, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0xb5, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0x63, 0xec, 0xfc, 0x5f, 0x6d, /* 0x58-0x5f */ + 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0x43, 0xbb, 0xdc, 0x59, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0xaa, 0xb0, 0xb1, 0x9f, 0xb2, 0xcc, 0x7c, /* 0xa0-0xa7 */ + 0xbd, 0xb4, 0x9a, 0x8a, 0xba, 0xca, 0xaf, 0xbc, /* 0xa8-0xaf */ + 0x90, 0x8f, 0xea, 0xfa, 0xbe, 0xa0, 0xb6, 0xb3, /* 0xb0-0xb7 */ + 0x9d, 0xda, 0x9b, 0x8b, 0xb7, 0xb8, 0xb9, 0xab, /* 0xb8-0xbf */ + 0x64, 0x65, 0x62, 0x66, 0x4a, 0x67, 0x9e, 0x68, /* 0xc0-0xc7 */ + 0x74, 0x71, 0x72, 0x73, 0x78, 0x75, 0x76, 0x77, /* 0xc8-0xcf */ + 0xac, 0x69, 0xed, 0xee, 0xeb, 0xef, 0xe0, 0xbf, /* 0xd0-0xd7 */ + 0x80, 0xfd, 0xfe, 0xfb, 0x5a, 0xad, 0xae, 0xa1, /* 0xd8-0xdf */ + 0x44, 0x45, 0x42, 0x46, 0xc0, 0x47, 0x9c, 0x48, /* 0xe0-0xe7 */ + 0x54, 0x51, 0x52, 0x53, 0x58, 0x55, 0x56, 0x57, /* 0xe8-0xef */ + 0x8c, 0x49, 0xcd, 0xce, 0xcb, 0xcf, 0x6a, 0xe1, /* 0xf0-0xf7 */ + 0x70, 0xdd, 0xde, 0xdb, 0xd0, 0x8d, 0x8e, 0xdf, /* 0xf8-0xff */ +}; + +static int +ebcdic273_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x0100) + c = ebcdic273_page00[wc]; + if (c != 0 || wc == 0) { + if (conv->osurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/Externals/libiconv/lib/ebcdic277.h b/Externals/libiconv/lib/ebcdic277.h new file mode 100644 index 00000000000..a0b81371ef7 --- /dev/null +++ b/Externals/libiconv/lib/ebcdic277.h @@ -0,0 +1,133 @@ +/* + * Copyright (C) 1999-2023 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV Library is free software; you can redistribute it + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV Library is distributed in the hope that it will be + * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with the GNU LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-277 + */ + +static const unsigned short ebcdic277_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x00e2, 0x00e4, 0x00e0, 0x00e1, 0x00e3, 0x007d, + 0x00e7, 0x00f1, 0x0023, 0x002e, 0x003c, 0x0028, 0x002b, 0x0021, + /* 0x50 */ + 0x0026, 0x00e9, 0x00ea, 0x00eb, 0x00e8, 0x00ed, 0x00ee, 0x00ef, + 0x00ec, 0x00df, 0x00a4, 0x00c5, 0x002a, 0x0029, 0x003b, 0x005e, + /* 0x60 */ + 0x002d, 0x002f, 0x00c2, 0x00c4, 0x00c0, 0x00c1, 0x00c3, 0x0024, + 0x00c7, 0x00d1, 0x00f8, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x00a6, 0x00c9, 0x00ca, 0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, + 0x00cc, 0x0060, 0x003a, 0x00c6, 0x00d8, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x0040, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x00ab, 0x00bb, 0x00f0, 0x00fd, 0x00fe, 0x00b1, + /* 0x90 */ + 0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x00aa, 0x00ba, 0x007b, 0x00b8, 0x005b, 0x005d, + /* 0xa0 */ + 0x00b5, 0x00fc, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x00a1, 0x00bf, 0x00d0, 0x00dd, 0x00de, 0x00ae, + /* 0xb0 */ + 0x00a2, 0x00a3, 0x00a5, 0x00b7, 0x00a9, 0x00a7, 0x00b6, 0x00bc, + 0x00bd, 0x00be, 0x00ac, 0x007c, 0x00af, 0x00a8, 0x00b4, 0x00d7, + /* 0xc0 */ + 0x00e6, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x00f4, 0x00f6, 0x00f2, 0x00f3, 0x00f5, + /* 0xd0 */ + 0x00e5, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x00b9, 0x00fb, 0x007e, 0x00f9, 0x00fa, 0x00ff, + /* 0xe0 */ + 0x005c, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x00b2, 0x00d4, 0x00d6, 0x00d2, 0x00d3, 0x00d5, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x00b3, 0x00db, 0x00dc, 0x00d9, 0x00da, 0x009f, +}; + +static int +ebcdic277_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + if (conv->isurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *pwc = (ucs4_t) ebcdic277_2uni[c]; + return 1; +} + +static const unsigned char ebcdic277_page00[256] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x4f, 0x7f, 0x4a, 0x67, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0x80, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0x9e, 0xe0, 0x9f, 0x5f, 0x6d, /* 0x58-0x5f */ + 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0x9c, 0xbb, 0x47, 0xdc, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0xaa, 0xb0, 0xb1, 0x5a, 0xb2, 0x70, 0xb5, /* 0xa0-0xa7 */ + 0xbd, 0xb4, 0x9a, 0x8a, 0xba, 0xca, 0xaf, 0xbc, /* 0xa8-0xaf */ + 0x90, 0x8f, 0xea, 0xfa, 0xbe, 0xa0, 0xb6, 0xb3, /* 0xb0-0xb7 */ + 0x9d, 0xda, 0x9b, 0x8b, 0xb7, 0xb8, 0xb9, 0xab, /* 0xb8-0xbf */ + 0x64, 0x65, 0x62, 0x66, 0x63, 0x5b, 0x7b, 0x68, /* 0xc0-0xc7 */ + 0x74, 0x71, 0x72, 0x73, 0x78, 0x75, 0x76, 0x77, /* 0xc8-0xcf */ + 0xac, 0x69, 0xed, 0xee, 0xeb, 0xef, 0xec, 0xbf, /* 0xd0-0xd7 */ + 0x7c, 0xfd, 0xfe, 0xfb, 0xfc, 0xad, 0xae, 0x59, /* 0xd8-0xdf */ + 0x44, 0x45, 0x42, 0x46, 0x43, 0xd0, 0xc0, 0x48, /* 0xe0-0xe7 */ + 0x54, 0x51, 0x52, 0x53, 0x58, 0x55, 0x56, 0x57, /* 0xe8-0xef */ + 0x8c, 0x49, 0xcd, 0xce, 0xcb, 0xcf, 0xcc, 0xe1, /* 0xf0-0xf7 */ + 0x6a, 0xdd, 0xde, 0xdb, 0xa1, 0x8d, 0x8e, 0xdf, /* 0xf8-0xff */ +}; + +static int +ebcdic277_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x0100) + c = ebcdic277_page00[wc]; + if (c != 0 || wc == 0) { + if (conv->osurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/Externals/libiconv/lib/ebcdic278.h b/Externals/libiconv/lib/ebcdic278.h new file mode 100644 index 00000000000..beafa30d6fa --- /dev/null +++ b/Externals/libiconv/lib/ebcdic278.h @@ -0,0 +1,133 @@ +/* + * Copyright (C) 1999-2023 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV Library is free software; you can redistribute it + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV Library is distributed in the hope that it will be + * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with the GNU LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-278 + */ + +static const unsigned short ebcdic278_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x00e2, 0x007b, 0x00e0, 0x00e1, 0x00e3, 0x007d, + 0x00e7, 0x00f1, 0x00a7, 0x002e, 0x003c, 0x0028, 0x002b, 0x0021, + /* 0x50 */ + 0x0026, 0x0060, 0x00ea, 0x00eb, 0x00e8, 0x00ed, 0x00ee, 0x00ef, + 0x00ec, 0x00df, 0x00a4, 0x00c5, 0x002a, 0x0029, 0x003b, 0x005e, + /* 0x60 */ + 0x002d, 0x002f, 0x00c2, 0x0023, 0x00c0, 0x00c1, 0x00c3, 0x0024, + 0x00c7, 0x00d1, 0x00f6, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x00f8, 0x005c, 0x00ca, 0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, + 0x00cc, 0x00e9, 0x003a, 0x00c4, 0x00d6, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x00d8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x00ab, 0x00bb, 0x00f0, 0x00fd, 0x00fe, 0x00b1, + /* 0x90 */ + 0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x00aa, 0x00ba, 0x00e6, 0x00b8, 0x00c6, 0x005d, + /* 0xa0 */ + 0x00b5, 0x00fc, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x00a1, 0x00bf, 0x00d0, 0x00dd, 0x00de, 0x00ae, + /* 0xb0 */ + 0x00a2, 0x00a3, 0x00a5, 0x00b7, 0x00a9, 0x005b, 0x00b6, 0x00bc, + 0x00bd, 0x00be, 0x00ac, 0x007c, 0x00af, 0x00a8, 0x00b4, 0x00d7, + /* 0xc0 */ + 0x00e4, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x00f4, 0x00a6, 0x00f2, 0x00f3, 0x00f5, + /* 0xd0 */ + 0x00e5, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x00b9, 0x00fb, 0x007e, 0x00f9, 0x00fa, 0x00ff, + /* 0xe0 */ + 0x00c9, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x00b2, 0x00d4, 0x0040, 0x00d2, 0x00d3, 0x00d5, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x00b3, 0x00db, 0x00dc, 0x00d9, 0x00da, 0x009f, +}; + +static int +ebcdic278_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + if (conv->isurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *pwc = (ucs4_t) ebcdic278_2uni[c]; + return 1; +} + +static const unsigned char ebcdic278_page00[256] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x4f, 0x7f, 0x63, 0x67, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0xec, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0xb5, 0x71, 0x9f, 0x5f, 0x6d, /* 0x58-0x5f */ + 0x51, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0x43, 0xbb, 0x47, 0xdc, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0xaa, 0xb0, 0xb1, 0x5a, 0xb2, 0xcc, 0x4a, /* 0xa0-0xa7 */ + 0xbd, 0xb4, 0x9a, 0x8a, 0xba, 0xca, 0xaf, 0xbc, /* 0xa8-0xaf */ + 0x90, 0x8f, 0xea, 0xfa, 0xbe, 0xa0, 0xb6, 0xb3, /* 0xb0-0xb7 */ + 0x9d, 0xda, 0x9b, 0x8b, 0xb7, 0xb8, 0xb9, 0xab, /* 0xb8-0xbf */ + 0x64, 0x65, 0x62, 0x66, 0x7b, 0x5b, 0x9e, 0x68, /* 0xc0-0xc7 */ + 0x74, 0xe0, 0x72, 0x73, 0x78, 0x75, 0x76, 0x77, /* 0xc8-0xcf */ + 0xac, 0x69, 0xed, 0xee, 0xeb, 0xef, 0x7c, 0xbf, /* 0xd0-0xd7 */ + 0x80, 0xfd, 0xfe, 0xfb, 0xfc, 0xad, 0xae, 0x59, /* 0xd8-0xdf */ + 0x44, 0x45, 0x42, 0x46, 0xc0, 0xd0, 0x9c, 0x48, /* 0xe0-0xe7 */ + 0x54, 0x79, 0x52, 0x53, 0x58, 0x55, 0x56, 0x57, /* 0xe8-0xef */ + 0x8c, 0x49, 0xcd, 0xce, 0xcb, 0xcf, 0x6a, 0xe1, /* 0xf0-0xf7 */ + 0x70, 0xdd, 0xde, 0xdb, 0xa1, 0x8d, 0x8e, 0xdf, /* 0xf8-0xff */ +}; + +static int +ebcdic278_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x0100) + c = ebcdic278_page00[wc]; + if (c != 0 || wc == 0) { + if (conv->osurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/Externals/libiconv/lib/ebcdic280.h b/Externals/libiconv/lib/ebcdic280.h new file mode 100644 index 00000000000..2fa5a2bbf68 --- /dev/null +++ b/Externals/libiconv/lib/ebcdic280.h @@ -0,0 +1,133 @@ +/* + * Copyright (C) 1999-2023 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV Library is free software; you can redistribute it + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV Library is distributed in the hope that it will be + * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with the GNU LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-280 + */ + +static const unsigned short ebcdic280_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x00e2, 0x00e4, 0x007b, 0x00e1, 0x00e3, 0x00e5, + 0x005c, 0x00f1, 0x00b0, 0x002e, 0x003c, 0x0028, 0x002b, 0x0021, + /* 0x50 */ + 0x0026, 0x005d, 0x00ea, 0x00eb, 0x007d, 0x00ed, 0x00ee, 0x00ef, + 0x007e, 0x00df, 0x00e9, 0x0024, 0x002a, 0x0029, 0x003b, 0x005e, + /* 0x60 */ + 0x002d, 0x002f, 0x00c2, 0x00c4, 0x00c0, 0x00c1, 0x00c3, 0x00c5, + 0x00c7, 0x00d1, 0x00f2, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x00f8, 0x00c9, 0x00ca, 0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, + 0x00cc, 0x00f9, 0x003a, 0x00a3, 0x00a7, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x00d8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x00ab, 0x00bb, 0x00f0, 0x00fd, 0x00fe, 0x00b1, + /* 0x90 */ + 0x005b, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x00aa, 0x00ba, 0x00e6, 0x00b8, 0x00c6, 0x00a4, + /* 0xa0 */ + 0x00b5, 0x00ec, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x00a1, 0x00bf, 0x00d0, 0x00dd, 0x00de, 0x00ae, + /* 0xb0 */ + 0x00a2, 0x0023, 0x00a5, 0x00b7, 0x00a9, 0x0040, 0x00b6, 0x00bc, + 0x00bd, 0x00be, 0x00ac, 0x007c, 0x00af, 0x00a8, 0x00b4, 0x00d7, + /* 0xc0 */ + 0x00e0, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x00f4, 0x00f6, 0x00a6, 0x00f3, 0x00f5, + /* 0xd0 */ + 0x00e8, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x00b9, 0x00fb, 0x00fc, 0x0060, 0x00fa, 0x00ff, + /* 0xe0 */ + 0x00e7, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x00b2, 0x00d4, 0x00d6, 0x00d2, 0x00d3, 0x00d5, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x00b3, 0x00db, 0x00dc, 0x00d9, 0x00da, 0x009f, +}; + +static int +ebcdic280_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + if (conv->isurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *pwc = (ucs4_t) ebcdic280_2uni[c]; + return 1; +} + +static const unsigned char ebcdic280_page00[256] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x4f, 0x7f, 0xb1, 0x5b, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0xb5, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0x90, 0x48, 0x51, 0x5f, 0x6d, /* 0x58-0x5f */ + 0xdd, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0x44, 0xbb, 0x54, 0x58, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0xaa, 0xb0, 0x7b, 0x9f, 0xb2, 0xcd, 0x7c, /* 0xa0-0xa7 */ + 0xbd, 0xb4, 0x9a, 0x8a, 0xba, 0xca, 0xaf, 0xbc, /* 0xa8-0xaf */ + 0x4a, 0x8f, 0xea, 0xfa, 0xbe, 0xa0, 0xb6, 0xb3, /* 0xb0-0xb7 */ + 0x9d, 0xda, 0x9b, 0x8b, 0xb7, 0xb8, 0xb9, 0xab, /* 0xb8-0xbf */ + 0x64, 0x65, 0x62, 0x66, 0x63, 0x67, 0x9e, 0x68, /* 0xc0-0xc7 */ + 0x74, 0x71, 0x72, 0x73, 0x78, 0x75, 0x76, 0x77, /* 0xc8-0xcf */ + 0xac, 0x69, 0xed, 0xee, 0xeb, 0xef, 0xec, 0xbf, /* 0xd0-0xd7 */ + 0x80, 0xfd, 0xfe, 0xfb, 0xfc, 0xad, 0xae, 0x59, /* 0xd8-0xdf */ + 0xc0, 0x45, 0x42, 0x46, 0x43, 0x47, 0x9c, 0xe0, /* 0xe0-0xe7 */ + 0xd0, 0x5a, 0x52, 0x53, 0xa1, 0x55, 0x56, 0x57, /* 0xe8-0xef */ + 0x8c, 0x49, 0x6a, 0xce, 0xcb, 0xcf, 0xcc, 0xe1, /* 0xf0-0xf7 */ + 0x70, 0x79, 0xde, 0xdb, 0xdc, 0x8d, 0x8e, 0xdf, /* 0xf8-0xff */ +}; + +static int +ebcdic280_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x0100) + c = ebcdic280_page00[wc]; + if (c != 0 || wc == 0) { + if (conv->osurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/Externals/libiconv/lib/ebcdic282.h b/Externals/libiconv/lib/ebcdic282.h new file mode 100644 index 00000000000..07faf9e58c1 --- /dev/null +++ b/Externals/libiconv/lib/ebcdic282.h @@ -0,0 +1,133 @@ +/* + * Copyright (C) 1999-2023 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV Library is free software; you can redistribute it + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV Library is distributed in the hope that it will be + * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with the GNU LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-282 + */ + +static const unsigned short ebcdic282_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x00e2, 0x00e4, 0x00e0, 0x00e1, 0x007b, 0x00e5, + 0x007e, 0x00f1, 0x005b, 0x002e, 0x003c, 0x0028, 0x002b, 0x0021, + /* 0x50 */ + 0x0026, 0x00e9, 0x00ea, 0x00eb, 0x00e8, 0x00ed, 0x00ee, 0x00ef, + 0x00ec, 0x00df, 0x005d, 0x0024, 0x002a, 0x0029, 0x003b, 0x005e, + /* 0x60 */ + 0x002d, 0x002f, 0x00c2, 0x00c4, 0x00c0, 0x00c1, 0x0023, 0x00c5, + 0x005c, 0x00d1, 0x00f5, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x00f8, 0x00c9, 0x00ca, 0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, + 0x00cc, 0x0060, 0x003a, 0x00c3, 0x00d5, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x00d8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x00ab, 0x00bb, 0x00f0, 0x00fd, 0x00fe, 0x00b1, + /* 0x90 */ + 0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x00aa, 0x00ba, 0x00e6, 0x00b8, 0x00c6, 0x00a4, + /* 0xa0 */ + 0x00b5, 0x00e7, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x00a1, 0x00bf, 0x00d0, 0x00dd, 0x00de, 0x00ae, + /* 0xb0 */ + 0x00a2, 0x00a3, 0x00a5, 0x00b7, 0x00a9, 0x00a7, 0x00b6, 0x00bc, + 0x00bd, 0x00be, 0x00ac, 0x007c, 0x00af, 0x00a8, 0x007d, 0x00d7, + /* 0xc0 */ + 0x00e3, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x00f4, 0x00f6, 0x00f2, 0x00f3, 0x00a6, + /* 0xd0 */ + 0x00b4, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x00b9, 0x00fb, 0x00fc, 0x00f9, 0x00fa, 0x00ff, + /* 0xe0 */ + 0x00c7, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x00b2, 0x00d4, 0x00d6, 0x00d2, 0x00d3, 0x0040, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x00b3, 0x00db, 0x00dc, 0x00d9, 0x00da, 0x009f, +}; + +static int +ebcdic282_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + if (conv->isurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *pwc = (ucs4_t) ebcdic282_2uni[c]; + return 1; +} + +static const unsigned char ebcdic282_page00[256] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x4f, 0x7f, 0x66, 0x5b, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0xef, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0x4a, 0x68, 0x5a, 0x5f, 0x6d, /* 0x58-0x5f */ + 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0x46, 0xbb, 0xbe, 0x48, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0xaa, 0xb0, 0xb1, 0x9f, 0xb2, 0xcf, 0xb5, /* 0xa0-0xa7 */ + 0xbd, 0xb4, 0x9a, 0x8a, 0xba, 0xca, 0xaf, 0xbc, /* 0xa8-0xaf */ + 0x90, 0x8f, 0xea, 0xfa, 0xd0, 0xa0, 0xb6, 0xb3, /* 0xb0-0xb7 */ + 0x9d, 0xda, 0x9b, 0x8b, 0xb7, 0xb8, 0xb9, 0xab, /* 0xb8-0xbf */ + 0x64, 0x65, 0x62, 0x7b, 0x63, 0x67, 0x9e, 0xe0, /* 0xc0-0xc7 */ + 0x74, 0x71, 0x72, 0x73, 0x78, 0x75, 0x76, 0x77, /* 0xc8-0xcf */ + 0xac, 0x69, 0xed, 0xee, 0xeb, 0x7c, 0xec, 0xbf, /* 0xd0-0xd7 */ + 0x80, 0xfd, 0xfe, 0xfb, 0xfc, 0xad, 0xae, 0x59, /* 0xd8-0xdf */ + 0x44, 0x45, 0x42, 0xc0, 0x43, 0x47, 0x9c, 0xa1, /* 0xe0-0xe7 */ + 0x54, 0x51, 0x52, 0x53, 0x58, 0x55, 0x56, 0x57, /* 0xe8-0xef */ + 0x8c, 0x49, 0xcd, 0xce, 0xcb, 0x6a, 0xcc, 0xe1, /* 0xf0-0xf7 */ + 0x70, 0xdd, 0xde, 0xdb, 0xdc, 0x8d, 0x8e, 0xdf, /* 0xf8-0xff */ +}; + +static int +ebcdic282_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x0100) + c = ebcdic282_page00[wc]; + if (c != 0 || wc == 0) { + if (conv->osurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/Externals/libiconv/lib/ebcdic284.h b/Externals/libiconv/lib/ebcdic284.h new file mode 100644 index 00000000000..8a9cceb2f02 --- /dev/null +++ b/Externals/libiconv/lib/ebcdic284.h @@ -0,0 +1,133 @@ +/* + * Copyright (C) 1999-2023 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV Library is free software; you can redistribute it + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV Library is distributed in the hope that it will be + * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with the GNU LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-284 + */ + +static const unsigned short ebcdic284_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x00e2, 0x00e4, 0x00e0, 0x00e1, 0x00e3, 0x00e5, + 0x00e7, 0x00a6, 0x005b, 0x002e, 0x003c, 0x0028, 0x002b, 0x007c, + /* 0x50 */ + 0x0026, 0x00e9, 0x00ea, 0x00eb, 0x00e8, 0x00ed, 0x00ee, 0x00ef, + 0x00ec, 0x00df, 0x005d, 0x0024, 0x002a, 0x0029, 0x003b, 0x00ac, + /* 0x60 */ + 0x002d, 0x002f, 0x00c2, 0x00c4, 0x00c0, 0x00c1, 0x00c3, 0x00c5, + 0x00c7, 0x0023, 0x00f1, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x00f8, 0x00c9, 0x00ca, 0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, + 0x00cc, 0x0060, 0x003a, 0x00d1, 0x0040, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x00d8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x00ab, 0x00bb, 0x00f0, 0x00fd, 0x00fe, 0x00b1, + /* 0x90 */ + 0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x00aa, 0x00ba, 0x00e6, 0x00b8, 0x00c6, 0x00a4, + /* 0xa0 */ + 0x00b5, 0x00a8, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x00a1, 0x00bf, 0x00d0, 0x00dd, 0x00de, 0x00ae, + /* 0xb0 */ + 0x00a2, 0x00a3, 0x00a5, 0x00b7, 0x00a9, 0x00a7, 0x00b6, 0x00bc, + 0x00bd, 0x00be, 0x005e, 0x0021, 0x00af, 0x007e, 0x00b4, 0x00d7, + /* 0xc0 */ + 0x007b, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x00f4, 0x00f6, 0x00f2, 0x00f3, 0x00f5, + /* 0xd0 */ + 0x007d, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x00b9, 0x00fb, 0x00fc, 0x00f9, 0x00fa, 0x00ff, + /* 0xe0 */ + 0x005c, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x00b2, 0x00d4, 0x00d6, 0x00d2, 0x00d3, 0x00d5, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x00b3, 0x00db, 0x00dc, 0x00d9, 0x00da, 0x009f, +}; + +static int +ebcdic284_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + if (conv->isurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *pwc = (ucs4_t) ebcdic284_2uni[c]; + return 1; +} + +static const unsigned char ebcdic284_page00[256] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0xbb, 0x7f, 0x69, 0x5b, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0x4a, 0xe0, 0x5a, 0xba, 0x6d, /* 0x58-0x5f */ + 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0xc0, 0x4f, 0xd0, 0xbd, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0xaa, 0xb0, 0xb1, 0x9f, 0xb2, 0x49, 0xb5, /* 0xa0-0xa7 */ + 0xa1, 0xb4, 0x9a, 0x8a, 0x5f, 0xca, 0xaf, 0xbc, /* 0xa8-0xaf */ + 0x90, 0x8f, 0xea, 0xfa, 0xbe, 0xa0, 0xb6, 0xb3, /* 0xb0-0xb7 */ + 0x9d, 0xda, 0x9b, 0x8b, 0xb7, 0xb8, 0xb9, 0xab, /* 0xb8-0xbf */ + 0x64, 0x65, 0x62, 0x66, 0x63, 0x67, 0x9e, 0x68, /* 0xc0-0xc7 */ + 0x74, 0x71, 0x72, 0x73, 0x78, 0x75, 0x76, 0x77, /* 0xc8-0xcf */ + 0xac, 0x7b, 0xed, 0xee, 0xeb, 0xef, 0xec, 0xbf, /* 0xd0-0xd7 */ + 0x80, 0xfd, 0xfe, 0xfb, 0xfc, 0xad, 0xae, 0x59, /* 0xd8-0xdf */ + 0x44, 0x45, 0x42, 0x46, 0x43, 0x47, 0x9c, 0x48, /* 0xe0-0xe7 */ + 0x54, 0x51, 0x52, 0x53, 0x58, 0x55, 0x56, 0x57, /* 0xe8-0xef */ + 0x8c, 0x6a, 0xcd, 0xce, 0xcb, 0xcf, 0xcc, 0xe1, /* 0xf0-0xf7 */ + 0x70, 0xdd, 0xde, 0xdb, 0xdc, 0x8d, 0x8e, 0xdf, /* 0xf8-0xff */ +}; + +static int +ebcdic284_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x0100) + c = ebcdic284_page00[wc]; + if (c != 0 || wc == 0) { + if (conv->osurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/Externals/libiconv/lib/ebcdic285.h b/Externals/libiconv/lib/ebcdic285.h new file mode 100644 index 00000000000..f566bc4e953 --- /dev/null +++ b/Externals/libiconv/lib/ebcdic285.h @@ -0,0 +1,133 @@ +/* + * Copyright (C) 1999-2023 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV Library is free software; you can redistribute it + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV Library is distributed in the hope that it will be + * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with the GNU LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-285 + */ + +static const unsigned short ebcdic285_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x00e2, 0x00e4, 0x00e0, 0x00e1, 0x00e3, 0x00e5, + 0x00e7, 0x00f1, 0x0024, 0x002e, 0x003c, 0x0028, 0x002b, 0x007c, + /* 0x50 */ + 0x0026, 0x00e9, 0x00ea, 0x00eb, 0x00e8, 0x00ed, 0x00ee, 0x00ef, + 0x00ec, 0x00df, 0x0021, 0x00a3, 0x002a, 0x0029, 0x003b, 0x00ac, + /* 0x60 */ + 0x002d, 0x002f, 0x00c2, 0x00c4, 0x00c0, 0x00c1, 0x00c3, 0x00c5, + 0x00c7, 0x00d1, 0x00a6, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x00f8, 0x00c9, 0x00ca, 0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, + 0x00cc, 0x0060, 0x003a, 0x0023, 0x0040, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x00d8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x00ab, 0x00bb, 0x00f0, 0x00fd, 0x00fe, 0x00b1, + /* 0x90 */ + 0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x00aa, 0x00ba, 0x00e6, 0x00b8, 0x00c6, 0x00a4, + /* 0xa0 */ + 0x00b5, 0x00af, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x00a1, 0x00bf, 0x00d0, 0x00dd, 0x00de, 0x00ae, + /* 0xb0 */ + 0x00a2, 0x005b, 0x00a5, 0x00b7, 0x00a9, 0x00a7, 0x00b6, 0x00bc, + 0x00bd, 0x00be, 0x005e, 0x005d, 0x007e, 0x00a8, 0x00b4, 0x00d7, + /* 0xc0 */ + 0x007b, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x00f4, 0x00f6, 0x00f2, 0x00f3, 0x00f5, + /* 0xd0 */ + 0x007d, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x00b9, 0x00fb, 0x00fc, 0x00f9, 0x00fa, 0x00ff, + /* 0xe0 */ + 0x005c, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x00b2, 0x00d4, 0x00d6, 0x00d2, 0x00d3, 0x00d5, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x00b3, 0x00db, 0x00dc, 0x00d9, 0x00da, 0x009f, +}; + +static int +ebcdic285_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + if (conv->isurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *pwc = (ucs4_t) ebcdic285_2uni[c]; + return 1; +} + +static const unsigned char ebcdic285_page00[256] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x5a, 0x7f, 0x7b, 0x4a, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0xb1, 0xe0, 0xbb, 0xba, 0x6d, /* 0x58-0x5f */ + 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0xc0, 0x4f, 0xd0, 0xbc, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0xaa, 0xb0, 0x5b, 0x9f, 0xb2, 0x6a, 0xb5, /* 0xa0-0xa7 */ + 0xbd, 0xb4, 0x9a, 0x8a, 0x5f, 0xca, 0xaf, 0xa1, /* 0xa8-0xaf */ + 0x90, 0x8f, 0xea, 0xfa, 0xbe, 0xa0, 0xb6, 0xb3, /* 0xb0-0xb7 */ + 0x9d, 0xda, 0x9b, 0x8b, 0xb7, 0xb8, 0xb9, 0xab, /* 0xb8-0xbf */ + 0x64, 0x65, 0x62, 0x66, 0x63, 0x67, 0x9e, 0x68, /* 0xc0-0xc7 */ + 0x74, 0x71, 0x72, 0x73, 0x78, 0x75, 0x76, 0x77, /* 0xc8-0xcf */ + 0xac, 0x69, 0xed, 0xee, 0xeb, 0xef, 0xec, 0xbf, /* 0xd0-0xd7 */ + 0x80, 0xfd, 0xfe, 0xfb, 0xfc, 0xad, 0xae, 0x59, /* 0xd8-0xdf */ + 0x44, 0x45, 0x42, 0x46, 0x43, 0x47, 0x9c, 0x48, /* 0xe0-0xe7 */ + 0x54, 0x51, 0x52, 0x53, 0x58, 0x55, 0x56, 0x57, /* 0xe8-0xef */ + 0x8c, 0x49, 0xcd, 0xce, 0xcb, 0xcf, 0xcc, 0xe1, /* 0xf0-0xf7 */ + 0x70, 0xdd, 0xde, 0xdb, 0xdc, 0x8d, 0x8e, 0xdf, /* 0xf8-0xff */ +}; + +static int +ebcdic285_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x0100) + c = ebcdic285_page00[wc]; + if (c != 0 || wc == 0) { + if (conv->osurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/Externals/libiconv/lib/ebcdic297.h b/Externals/libiconv/lib/ebcdic297.h new file mode 100644 index 00000000000..b0c96cdb5be --- /dev/null +++ b/Externals/libiconv/lib/ebcdic297.h @@ -0,0 +1,133 @@ +/* + * Copyright (C) 1999-2023 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV Library is free software; you can redistribute it + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV Library is distributed in the hope that it will be + * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with the GNU LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-297 + */ + +static const unsigned short ebcdic297_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x00e2, 0x00e4, 0x0040, 0x00e1, 0x00e3, 0x00e5, + 0x005c, 0x00f1, 0x00b0, 0x002e, 0x003c, 0x0028, 0x002b, 0x0021, + /* 0x50 */ + 0x0026, 0x007b, 0x00ea, 0x00eb, 0x007d, 0x00ed, 0x00ee, 0x00ef, + 0x00ec, 0x00df, 0x00a7, 0x0024, 0x002a, 0x0029, 0x003b, 0x005e, + /* 0x60 */ + 0x002d, 0x002f, 0x00c2, 0x00c4, 0x00c0, 0x00c1, 0x00c3, 0x00c5, + 0x00c7, 0x00d1, 0x00f9, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x00f8, 0x00c9, 0x00ca, 0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, + 0x00cc, 0x00b5, 0x003a, 0x00a3, 0x00e0, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x00d8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x00ab, 0x00bb, 0x00f0, 0x00fd, 0x00fe, 0x00b1, + /* 0x90 */ + 0x005b, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x00aa, 0x00ba, 0x00e6, 0x00b8, 0x00c6, 0x00a4, + /* 0xa0 */ + 0x0060, 0x00a8, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x00a1, 0x00bf, 0x00d0, 0x00dd, 0x00de, 0x00ae, + /* 0xb0 */ + 0x00a2, 0x0023, 0x00a5, 0x00b7, 0x00a9, 0x005d, 0x00b6, 0x00bc, + 0x00bd, 0x00be, 0x00ac, 0x007c, 0x00af, 0x007e, 0x00b4, 0x00d7, + /* 0xc0 */ + 0x00e9, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x00f4, 0x00f6, 0x00f2, 0x00f3, 0x00f5, + /* 0xd0 */ + 0x00e8, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x00b9, 0x00fb, 0x00fc, 0x00a6, 0x00fa, 0x00ff, + /* 0xe0 */ + 0x00e7, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x00b2, 0x00d4, 0x00d6, 0x00d2, 0x00d3, 0x00d5, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x00b3, 0x00db, 0x00dc, 0x00d9, 0x00da, 0x009f, +}; + +static int +ebcdic297_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + if (conv->isurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *pwc = (ucs4_t) ebcdic297_2uni[c]; + return 1; +} + +static const unsigned char ebcdic297_page00[256] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x4f, 0x7f, 0xb1, 0x5b, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0x44, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0x90, 0x48, 0xb5, 0x5f, 0x6d, /* 0x58-0x5f */ + 0xa0, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0x51, 0xbb, 0x54, 0xbd, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0xaa, 0xb0, 0x7b, 0x9f, 0xb2, 0xdd, 0x5a, /* 0xa0-0xa7 */ + 0xa1, 0xb4, 0x9a, 0x8a, 0xba, 0xca, 0xaf, 0xbc, /* 0xa8-0xaf */ + 0x4a, 0x8f, 0xea, 0xfa, 0xbe, 0x79, 0xb6, 0xb3, /* 0xb0-0xb7 */ + 0x9d, 0xda, 0x9b, 0x8b, 0xb7, 0xb8, 0xb9, 0xab, /* 0xb8-0xbf */ + 0x64, 0x65, 0x62, 0x66, 0x63, 0x67, 0x9e, 0x68, /* 0xc0-0xc7 */ + 0x74, 0x71, 0x72, 0x73, 0x78, 0x75, 0x76, 0x77, /* 0xc8-0xcf */ + 0xac, 0x69, 0xed, 0xee, 0xeb, 0xef, 0xec, 0xbf, /* 0xd0-0xd7 */ + 0x80, 0xfd, 0xfe, 0xfb, 0xfc, 0xad, 0xae, 0x59, /* 0xd8-0xdf */ + 0x7c, 0x45, 0x42, 0x46, 0x43, 0x47, 0x9c, 0xe0, /* 0xe0-0xe7 */ + 0xd0, 0xc0, 0x52, 0x53, 0x58, 0x55, 0x56, 0x57, /* 0xe8-0xef */ + 0x8c, 0x49, 0xcd, 0xce, 0xcb, 0xcf, 0xcc, 0xe1, /* 0xf0-0xf7 */ + 0x70, 0x6a, 0xde, 0xdb, 0xdc, 0x8d, 0x8e, 0xdf, /* 0xf8-0xff */ +}; + +static int +ebcdic297_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x0100) + c = ebcdic297_page00[wc]; + if (c != 0 || wc == 0) { + if (conv->osurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/Externals/libiconv/lib/ebcdic423.h b/Externals/libiconv/lib/ebcdic423.h new file mode 100644 index 00000000000..778214822f2 --- /dev/null +++ b/Externals/libiconv/lib/ebcdic423.h @@ -0,0 +1,151 @@ +/* + * Copyright (C) 1999-2023 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV Library is free software; you can redistribute it + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV Library is distributed in the hope that it will be + * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with the GNU LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-423 + */ + +static const unsigned short ebcdic423_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x0391, 0x0392, 0x0393, 0x0394, 0x0395, 0x0396, 0x0397, + 0x0398, 0x0399, 0x005b, 0x002e, 0x003c, 0x0028, 0x002b, 0x0021, + /* 0x50 */ + 0x0026, 0x039a, 0x039b, 0x039c, 0x039d, 0x039e, 0x039f, 0x03a0, + 0x03a1, 0x03a3, 0x005d, 0x0024, 0x002a, 0x0029, 0x003b, 0x005e, + /* 0x60 */ + 0x002d, 0x002f, 0x03a4, 0x03a5, 0x03a6, 0x03a7, 0x03a8, 0x03a9, + 0xfffd, 0xfffd, 0x007c, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0xfffd, 0x0386, 0x0388, 0x0389, 0x00a0, 0x038a, 0x038c, 0x038e, + 0x038f, 0x0060, 0x003a, 0x00a3, 0x00a7, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x00c4, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x03b1, 0x03b2, 0x03b3, 0x03b4, 0x03b5, 0x03b6, + /* 0x90 */ + 0x00d6, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x03b7, 0x03b8, 0x03b9, 0x03ba, 0x03bb, 0x03bc, + /* 0xa0 */ + 0x00dc, 0x00a8, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x03bd, 0x03be, 0x03bf, 0x03c0, 0x03c1, 0x03c3, + /* 0xb0 */ + 0xfffd, 0x03ac, 0x03ad, 0x03ae, 0x03ca, 0x03af, 0x03cc, 0x03cd, + 0x03cb, 0x03ce, 0x03c2, 0x03c4, 0x03c5, 0x03c6, 0x03c7, 0x03c8, + /* 0xc0 */ + 0x00b8, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x03c9, 0x00e2, 0x00e0, 0x00e4, 0x00ea, + /* 0xd0 */ + 0x00b4, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x00b1, 0x00e9, 0x00e8, 0x00eb, 0x00ee, 0x00ef, + /* 0xe0 */ + 0x00b0, 0xfffd, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x00bd, 0x00f6, 0x00f4, 0x00fb, 0x00f9, 0x00fc, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x00ff, 0x00e7, 0x00c7, 0xfffd, 0xfffd, 0x009f, +}; + +static int +ebcdic423_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + if (conv->isurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + unsigned short wc = ebcdic423_2uni[c]; + if (wc != 0xfffd) { + *pwc = (ucs4_t) wc; + return 1; + } + return RET_ILSEQ; +} + +static const unsigned char ebcdic423_page00[256] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x4f, 0x7f, 0x00, 0x5b, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0x00, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0x4a, 0x00, 0x5a, 0x5f, 0x6d, /* 0x58-0x5f */ + 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0x00, 0x6a, 0x00, 0x00, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x74, 0x00, 0x00, 0x7b, 0x00, 0x00, 0x00, 0x7c, /* 0xa0-0xa7 */ + 0xa1, 0x00, 0x00, 0x00, 0x00, 0xca, 0x00, 0x00, /* 0xa8-0xaf */ + 0xe0, 0xda, 0x00, 0x00, 0xd0, 0x00, 0x00, 0x00, /* 0xb0-0xb7 */ + 0xc0, 0x00, 0x00, 0x00, 0x00, 0xea, 0x00, 0x00, /* 0xb8-0xbf */ + 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xfc, /* 0xc0-0xc7 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xc8-0xcf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x00, /* 0xd0-0xd7 */ + 0x00, 0x00, 0x00, 0x00, 0xa0, 0x00, 0x00, 0x00, /* 0xd8-0xdf */ + 0xcd, 0x00, 0xcc, 0x00, 0xce, 0x00, 0x00, 0xfb, /* 0xe0-0xe7 */ + 0xdc, 0xdb, 0xcf, 0xdd, 0x00, 0x00, 0xde, 0xdf, /* 0xe8-0xef */ + 0x00, 0x00, 0x00, 0x00, 0xec, 0x00, 0xeb, 0x00, /* 0xf0-0xf7 */ + 0x00, 0xee, 0x00, 0xed, 0xef, 0x00, 0x00, 0xfa, /* 0xf8-0xff */ +}; +static const unsigned char ebcdic423_page03[80] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x71, 0x00, /* 0x80-0x87 */ + 0x72, 0x73, 0x75, 0x00, 0x76, 0x00, 0x77, 0x78, /* 0x88-0x8f */ + 0x00, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, /* 0x90-0x97 */ + 0x48, 0x49, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, /* 0x98-0x9f */ + 0x57, 0x58, 0x00, 0x59, 0x62, 0x63, 0x64, 0x65, /* 0xa0-0xa7 */ + 0x66, 0x67, 0x00, 0x00, 0xb1, 0xb2, 0xb3, 0xb5, /* 0xa8-0xaf */ + 0x00, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x9a, /* 0xb0-0xb7 */ + 0x9b, 0x9c, 0x9d, 0x9e, 0x9f, 0xaa, 0xab, 0xac, /* 0xb8-0xbf */ + 0xad, 0xae, 0xba, 0xaf, 0xbb, 0xbc, 0xbd, 0xbe, /* 0xc0-0xc7 */ + 0xbf, 0xcb, 0xb4, 0xb8, 0xb6, 0xb7, 0xb9, 0x00, /* 0xc8-0xcf */ +}; + +static int +ebcdic423_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x0100) + c = ebcdic423_page00[wc]; + else if (wc >= 0x0380 && wc < 0x03d0) + c = ebcdic423_page03[wc-0x0380]; + if (c != 0 || wc == 0) { + if (conv->osurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/Externals/libiconv/lib/ebcdic424.h b/Externals/libiconv/lib/ebcdic424.h new file mode 100644 index 00000000000..afcbba91173 --- /dev/null +++ b/Externals/libiconv/lib/ebcdic424.h @@ -0,0 +1,154 @@ +/* + * Copyright (C) 1999-2023 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV Library is free software; you can redistribute it + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV Library is distributed in the hope that it will be + * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with the GNU LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-424 + */ + +static const unsigned short ebcdic424_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x05d0, 0x05d1, 0x05d2, 0x05d3, 0x05d4, 0x05d5, 0x05d6, + 0x05d7, 0x05d8, 0x00a2, 0x002e, 0x003c, 0x0028, 0x002b, 0x007c, + /* 0x50 */ + 0x0026, 0x05d9, 0x05da, 0x05db, 0x05dc, 0x05dd, 0x05de, 0x05df, + 0x05e0, 0x05e1, 0x0021, 0x0024, 0x002a, 0x0029, 0x003b, 0x00ac, + /* 0x60 */ + 0x002d, 0x002f, 0x05e2, 0x05e3, 0x05e4, 0x05e5, 0x05e6, 0x05e7, + 0x05e8, 0x05e9, 0x00a6, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0xfffd, 0x05ea, 0xfffd, 0xfffd, 0x00a0, 0xfffd, 0xfffd, 0xfffd, + 0x2017, 0x0060, 0x003a, 0x0023, 0x0040, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0xfffd, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x00ab, 0x00bb, 0xfffd, 0xfffd, 0xfffd, 0x00b1, + /* 0x90 */ + 0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0xfffd, 0xfffd, 0xfffd, 0x00b8, 0xfffd, 0x00a4, + /* 0xa0 */ + 0x00b5, 0x007e, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0x00ae, + /* 0xb0 */ + 0x005e, 0x00a3, 0x00a5, 0x2022, 0x00a9, 0x00a7, 0x00b6, 0x00bc, + 0x00bd, 0x00be, 0x005b, 0x005d, 0x203e, 0x00a8, 0x00b4, 0x00d7, + /* 0xc0 */ + 0x007b, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, + /* 0xd0 */ + 0x007d, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x00b9, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, + /* 0xe0 */ + 0x005c, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x00b2, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x00b3, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0x009f, +}; + +static int +ebcdic424_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + if (conv->isurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + unsigned short wc = ebcdic424_2uni[c]; + if (wc != 0xfffd) { + *pwc = (ucs4_t) wc; + return 1; + } + return RET_ILSEQ; +} + +static const unsigned char ebcdic424_page00[248] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x5a, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0xba, 0xe0, 0xbb, 0xb0, 0x6d, /* 0x58-0x5f */ + 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0xc0, 0x4f, 0xd0, 0xa1, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x74, 0x00, 0x4a, 0xb1, 0x9f, 0xb2, 0x6a, 0xb5, /* 0xa0-0xa7 */ + 0xbd, 0xb4, 0x00, 0x8a, 0x5f, 0xca, 0xaf, 0x00, /* 0xa8-0xaf */ + 0x90, 0x8f, 0xea, 0xfa, 0xbe, 0xa0, 0xb6, 0x00, /* 0xb0-0xb7 */ + 0x9d, 0xda, 0x00, 0x8b, 0xb7, 0xb8, 0xb9, 0x00, /* 0xb8-0xbf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xc0-0xc7 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xc8-0xcf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, /* 0xd0-0xd7 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xd8-0xdf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xe0-0xe7 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xe8-0xef */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe1, /* 0xf0-0xf7 */ +}; +static const unsigned char ebcdic424_page05[32] = { + 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, /* 0xd0-0xd7 */ + 0x49, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, /* 0xd8-0xdf */ + 0x58, 0x59, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, /* 0xe0-0xe7 */ + 0x68, 0x69, 0x71, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xe8-0xef */ +}; +static const unsigned char ebcdic424_page20[48] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, /* 0x10-0x17 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x18-0x1f */ + 0x00, 0x00, 0xb3, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x20-0x27 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x28-0x2f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x30-0x37 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbc, 0x00, /* 0x38-0x3f */ +}; + +static int +ebcdic424_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x00f8) + c = ebcdic424_page00[wc]; + else if (wc >= 0x05d0 && wc < 0x05f0) + c = ebcdic424_page05[wc-0x05d0]; + else if (wc >= 0x2010 && wc < 0x2040) + c = ebcdic424_page20[wc-0x2010]; + if (c != 0 || wc == 0) { + if (conv->osurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/Externals/libiconv/lib/ebcdic425.h b/Externals/libiconv/lib/ebcdic425.h new file mode 100644 index 00000000000..de7440bc06c --- /dev/null +++ b/Externals/libiconv/lib/ebcdic425.h @@ -0,0 +1,168 @@ +/* + * Copyright (C) 1999-2023 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV Library is free software; you can redistribute it + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV Library is distributed in the hope that it will be + * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with the GNU LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-425 + */ + +static const unsigned short ebcdic425_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x00e2, 0x060c, 0x00e0, 0x061b, 0x0640, 0x061f, + 0x00e7, 0x0621, 0x0622, 0x002e, 0x003c, 0x0028, 0x002b, 0x007c, + /* 0x50 */ + 0x0026, 0x00e9, 0x00ea, 0x00eb, 0x00e8, 0x0623, 0x00ee, 0x00ef, + 0x0624, 0x0625, 0x0021, 0x0024, 0x002a, 0x0029, 0x003b, 0x005e, + /* 0x60 */ + 0x002d, 0x002f, 0x00c2, 0x0626, 0x00c0, 0x0627, 0x0628, 0x0629, + 0x00c7, 0x062a, 0x062b, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x062c, 0x00c9, 0x00ca, 0x00cb, 0x00c8, 0x062d, 0x00ce, 0x00cf, + 0x062e, 0x0060, 0x003a, 0x0023, 0x0040, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x062f, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x00ab, 0x00bb, 0x0630, 0x0631, 0x0632, 0x0633, + /* 0x90 */ + 0x0634, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x0635, 0x0636, 0x00e6, 0x0637, 0x00c6, 0x20ac, + /* 0xa0 */ + 0x00b5, 0x007e, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x0638, 0x0639, 0x063a, 0x005b, 0x0641, 0x0642, + /* 0xb0 */ + 0x0643, 0x0644, 0x0645, 0x0646, 0x00a9, 0x00a7, 0x0647, 0x0152, + 0x0153, 0x0178, 0x0648, 0x0649, 0x064a, 0x005d, 0x064b, 0x00d7, + /* 0xc0 */ + 0x007b, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x00f4, 0x064c, 0x064d, 0x064e, 0x064f, + /* 0xd0 */ + 0x007d, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x0650, 0x00fb, 0x00fc, 0x00f9, 0x0651, 0x00ff, + /* 0xe0 */ + 0x005c, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x0652, 0x00d4, 0x200c, 0x200d, 0x200e, 0x200f, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0xfffd, 0x00db, 0x00dc, 0x00d9, 0x00a4, 0x009f, +}; + +static int +ebcdic425_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + if (conv->isurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + unsigned short wc = ebcdic425_2uni[c]; + if (wc != 0xfffd) { + *pwc = (ucs4_t) wc; + return 1; + } + return RET_ILSEQ; +} + +static const unsigned char ebcdic425_page00[256] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x5a, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0xad, 0xe0, 0xbd, 0x5f, 0x6d, /* 0x58-0x5f */ + 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0xc0, 0x4f, 0xd0, 0xa1, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x00, 0xb5, /* 0xa0-0xa7 */ + 0x00, 0xb4, 0x00, 0x8a, 0x00, 0xca, 0x00, 0x00, /* 0xa8-0xaf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, 0x00, 0x00, /* 0xb0-0xb7 */ + 0x00, 0x00, 0x00, 0x8b, 0x00, 0x00, 0x00, 0x00, /* 0xb8-0xbf */ + 0x64, 0x00, 0x62, 0x00, 0x00, 0x00, 0x9e, 0x68, /* 0xc0-0xc7 */ + 0x74, 0x71, 0x72, 0x73, 0x00, 0x00, 0x76, 0x77, /* 0xc8-0xcf */ + 0x00, 0x00, 0x00, 0x00, 0xeb, 0x00, 0x00, 0xbf, /* 0xd0-0xd7 */ + 0x00, 0xfd, 0x00, 0xfb, 0xfc, 0x00, 0x00, 0x00, /* 0xd8-0xdf */ + 0x44, 0x00, 0x42, 0x00, 0x00, 0x00, 0x9c, 0x48, /* 0xe0-0xe7 */ + 0x54, 0x51, 0x52, 0x53, 0x00, 0x00, 0x56, 0x57, /* 0xe8-0xef */ + 0x00, 0x00, 0x00, 0x00, 0xcb, 0x00, 0x00, 0xe1, /* 0xf0-0xf7 */ + 0x00, 0xdd, 0x00, 0xdb, 0xdc, 0x00, 0x00, 0xdf, /* 0xf8-0xff */ +}; +static const unsigned char ebcdic425_page01[48] = { + 0x00, 0x00, 0xb7, 0xb8, 0x00, 0x00, 0x00, 0x00, /* 0x50-0x57 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x58-0x5f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x60-0x67 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x68-0x6f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x70-0x77 */ + 0xb9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x78-0x7f */ +}; +static const unsigned char ebcdic425_page06[80] = { + 0x00, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, /* 0x08-0x0f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10-0x17 */ + 0x00, 0x00, 0x00, 0x45, 0x00, 0x00, 0x00, 0x47, /* 0x18-0x1f */ + 0x00, 0x49, 0x4a, 0x55, 0x58, 0x59, 0x63, 0x65, /* 0x20-0x27 */ + 0x66, 0x67, 0x69, 0x6a, 0x70, 0x75, 0x78, 0x80, /* 0x28-0x2f */ + 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x9a, 0x9b, 0x9d, /* 0x30-0x37 */ + 0xaa, 0xab, 0xac, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x38-0x3f */ + 0x46, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb6, /* 0x40-0x47 */ + 0xba, 0xbb, 0xbc, 0xbe, 0xcc, 0xcd, 0xce, 0xcf, /* 0x48-0x4f */ + 0xda, 0xde, 0xea, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x50-0x57 */ +}; +static const unsigned char ebcdic425_page20[8] = { + 0x00, 0x00, 0x00, 0x00, 0xec, 0xed, 0xee, 0xef, /* 0x08-0x0f */ +}; + +static int +ebcdic425_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x0100) + c = ebcdic425_page00[wc]; + else if (wc >= 0x0150 && wc < 0x0180) + c = ebcdic425_page01[wc-0x0150]; + else if (wc >= 0x0608 && wc < 0x0658) + c = ebcdic425_page06[wc-0x0608]; + else if (wc >= 0x2008 && wc < 0x2010) + c = ebcdic425_page20[wc-0x2008]; + else if (wc == 0x20ac) + c = 0x9f; + if (c != 0 || wc == 0) { + if (conv->osurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/Externals/libiconv/lib/ebcdic4971.h b/Externals/libiconv/lib/ebcdic4971.h new file mode 100644 index 00000000000..cfef3bbc73f --- /dev/null +++ b/Externals/libiconv/lib/ebcdic4971.h @@ -0,0 +1,163 @@ +/* + * Copyright (C) 1999-2023 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV Library is free software; you can redistribute it + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV Library is distributed in the hope that it will be + * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with the GNU LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-4971 + */ + +static const unsigned short ebcdic4971_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x0391, 0x0392, 0x0393, 0x0394, 0x0395, 0x0396, 0x0397, + 0x0398, 0x0399, 0x005b, 0x002e, 0x003c, 0x0028, 0x002b, 0x0021, + /* 0x50 */ + 0x0026, 0x039a, 0x039b, 0x039c, 0x039d, 0x039e, 0x039f, 0x03a0, + 0x03a1, 0x03a3, 0x005d, 0x0024, 0x002a, 0x0029, 0x003b, 0x005e, + /* 0x60 */ + 0x002d, 0x002f, 0x03a4, 0x03a5, 0x03a6, 0x03a7, 0x03a8, 0x03a9, + 0x03aa, 0x03ab, 0x007c, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x00a8, 0x0386, 0x0388, 0x0389, 0x00a0, 0x038a, 0x038c, 0x038e, + 0x038f, 0x0060, 0x003a, 0x0023, 0x0040, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x0385, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x03b1, 0x03b2, 0x03b3, 0x03b4, 0x03b5, 0x03b6, + /* 0x90 */ + 0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x03b7, 0x03b8, 0x03b9, 0x03ba, 0x03bb, 0x03bc, + /* 0xa0 */ + 0x00b4, 0x007e, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x03bd, 0x03be, 0x03bf, 0x03c0, 0x03c1, 0x03c3, + /* 0xb0 */ + 0x00a3, 0x03ac, 0x03ad, 0x03ae, 0x03ca, 0x03af, 0x03cc, 0x03cd, + 0x03cb, 0x03ce, 0x03c2, 0x03c4, 0x03c5, 0x03c6, 0x03c7, 0x03c8, + /* 0xc0 */ + 0x007b, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x03c9, 0x0390, 0x03b0, 0x2018, 0x2015, + /* 0xd0 */ + 0x007d, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x00b1, 0x00bd, 0xfffd, 0x0387, 0x2019, 0x00a6, + /* 0xe0 */ + 0x005c, 0xfffd, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x00b2, 0x00a7, 0xfffd, 0xfffd, 0x00ab, 0x00ac, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x00b3, 0x00a9, 0x20ac, 0xfffd, 0x00bb, 0x009f, +}; + +static int +ebcdic4971_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + if (conv->isurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + unsigned short wc = ebcdic4971_2uni[c]; + if (wc != 0xfffd) { + *pwc = (ucs4_t) wc; + return 1; + } + return RET_ILSEQ; +} + +#if DEDUPLICATE_TABLES +#define ebcdic4971_page00 ebcdic875_page00 +#else /* Unoptimized */ +static const unsigned char ebcdic4971_page00[192] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x4f, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0x4a, 0xe0, 0x5a, 0x5f, 0x6d, /* 0x58-0x5f */ + 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0xc0, 0x6a, 0xd0, 0xa1, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x74, 0x00, 0x00, 0xb0, 0x00, 0x00, 0xdf, 0xeb, /* 0xa0-0xa7 */ + 0x70, 0xfb, 0x00, 0xee, 0xef, 0xca, 0x00, 0x00, /* 0xa8-0xaf */ + 0x90, 0xda, 0xea, 0xfa, 0xa0, 0x00, 0x00, 0x00, /* 0xb0-0xb7 */ + 0x00, 0x00, 0x00, 0xfe, 0x00, 0xdb, 0x00, 0x00, /* 0xb8-0xbf */ +}; +#endif +#if DEDUPLICATE_TABLES +#define ebcdic4971_page03 ebcdic875_page03 +#else /* Unoptimized */ +static const unsigned char ebcdic4971_page03[80] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x71, 0xdd, /* 0x80-0x87 */ + 0x72, 0x73, 0x75, 0x00, 0x76, 0x00, 0x77, 0x78, /* 0x88-0x8f */ + 0xcc, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, /* 0x90-0x97 */ + 0x48, 0x49, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, /* 0x98-0x9f */ + 0x57, 0x58, 0x00, 0x59, 0x62, 0x63, 0x64, 0x65, /* 0xa0-0xa7 */ + 0x66, 0x67, 0x68, 0x69, 0xb1, 0xb2, 0xb3, 0xb5, /* 0xa8-0xaf */ + 0xcd, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x9a, /* 0xb0-0xb7 */ + 0x9b, 0x9c, 0x9d, 0x9e, 0x9f, 0xaa, 0xab, 0xac, /* 0xb8-0xbf */ + 0xad, 0xae, 0xba, 0xaf, 0xbb, 0xbc, 0xbd, 0xbe, /* 0xc0-0xc7 */ + 0xbf, 0xcb, 0xb4, 0xb8, 0xb6, 0xb7, 0xb9, 0x00, /* 0xc8-0xcf */ +}; +#endif +#if DEDUPLICATE_TABLES +#define ebcdic4971_page20 ebcdic875_page20 +#else /* Unoptimized */ +static const unsigned char ebcdic4971_page20[16] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0xcf, 0x00, 0x00, /* 0x10-0x17 */ + 0xce, 0xde, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x18-0x1f */ +}; +#endif + +static int +ebcdic4971_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x00c0) + c = ebcdic4971_page00[wc]; + else if (wc >= 0x0380 && wc < 0x03d0) + c = ebcdic4971_page03[wc-0x0380]; + else if (wc >= 0x2010 && wc < 0x2020) + c = ebcdic4971_page20[wc-0x2010]; + else if (wc == 0x20ac) + c = 0xfc; + if (c != 0 || wc == 0) { + if (conv->osurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/Externals/libiconv/lib/ebcdic500.h b/Externals/libiconv/lib/ebcdic500.h new file mode 100644 index 00000000000..f3935c9fbf5 --- /dev/null +++ b/Externals/libiconv/lib/ebcdic500.h @@ -0,0 +1,133 @@ +/* + * Copyright (C) 1999-2023 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV Library is free software; you can redistribute it + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV Library is distributed in the hope that it will be + * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with the GNU LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-500 + */ + +static const unsigned short ebcdic500_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x00e2, 0x00e4, 0x00e0, 0x00e1, 0x00e3, 0x00e5, + 0x00e7, 0x00f1, 0x005b, 0x002e, 0x003c, 0x0028, 0x002b, 0x0021, + /* 0x50 */ + 0x0026, 0x00e9, 0x00ea, 0x00eb, 0x00e8, 0x00ed, 0x00ee, 0x00ef, + 0x00ec, 0x00df, 0x005d, 0x0024, 0x002a, 0x0029, 0x003b, 0x005e, + /* 0x60 */ + 0x002d, 0x002f, 0x00c2, 0x00c4, 0x00c0, 0x00c1, 0x00c3, 0x00c5, + 0x00c7, 0x00d1, 0x00a6, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x00f8, 0x00c9, 0x00ca, 0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, + 0x00cc, 0x0060, 0x003a, 0x0023, 0x0040, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x00d8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x00ab, 0x00bb, 0x00f0, 0x00fd, 0x00fe, 0x00b1, + /* 0x90 */ + 0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x00aa, 0x00ba, 0x00e6, 0x00b8, 0x00c6, 0x00a4, + /* 0xa0 */ + 0x00b5, 0x007e, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x00a1, 0x00bf, 0x00d0, 0x00dd, 0x00de, 0x00ae, + /* 0xb0 */ + 0x00a2, 0x00a3, 0x00a5, 0x00b7, 0x00a9, 0x00a7, 0x00b6, 0x00bc, + 0x00bd, 0x00be, 0x00ac, 0x007c, 0x00af, 0x00a8, 0x00b4, 0x00d7, + /* 0xc0 */ + 0x007b, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x00f4, 0x00f6, 0x00f2, 0x00f3, 0x00f5, + /* 0xd0 */ + 0x007d, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x00b9, 0x00fb, 0x00fc, 0x00f9, 0x00fa, 0x00ff, + /* 0xe0 */ + 0x005c, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x00b2, 0x00d4, 0x00d6, 0x00d2, 0x00d3, 0x00d5, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x00b3, 0x00db, 0x00dc, 0x00d9, 0x00da, 0x009f, +}; + +static int +ebcdic500_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + if (conv->isurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *pwc = (ucs4_t) ebcdic500_2uni[c]; + return 1; +} + +static const unsigned char ebcdic500_page00[256] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x4f, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0x4a, 0xe0, 0x5a, 0x5f, 0x6d, /* 0x58-0x5f */ + 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0xc0, 0xbb, 0xd0, 0xa1, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0xaa, 0xb0, 0xb1, 0x9f, 0xb2, 0x6a, 0xb5, /* 0xa0-0xa7 */ + 0xbd, 0xb4, 0x9a, 0x8a, 0xba, 0xca, 0xaf, 0xbc, /* 0xa8-0xaf */ + 0x90, 0x8f, 0xea, 0xfa, 0xbe, 0xa0, 0xb6, 0xb3, /* 0xb0-0xb7 */ + 0x9d, 0xda, 0x9b, 0x8b, 0xb7, 0xb8, 0xb9, 0xab, /* 0xb8-0xbf */ + 0x64, 0x65, 0x62, 0x66, 0x63, 0x67, 0x9e, 0x68, /* 0xc0-0xc7 */ + 0x74, 0x71, 0x72, 0x73, 0x78, 0x75, 0x76, 0x77, /* 0xc8-0xcf */ + 0xac, 0x69, 0xed, 0xee, 0xeb, 0xef, 0xec, 0xbf, /* 0xd0-0xd7 */ + 0x80, 0xfd, 0xfe, 0xfb, 0xfc, 0xad, 0xae, 0x59, /* 0xd8-0xdf */ + 0x44, 0x45, 0x42, 0x46, 0x43, 0x47, 0x9c, 0x48, /* 0xe0-0xe7 */ + 0x54, 0x51, 0x52, 0x53, 0x58, 0x55, 0x56, 0x57, /* 0xe8-0xef */ + 0x8c, 0x49, 0xcd, 0xce, 0xcb, 0xcf, 0xcc, 0xe1, /* 0xf0-0xf7 */ + 0x70, 0xdd, 0xde, 0xdb, 0xdc, 0x8d, 0x8e, 0xdf, /* 0xf8-0xff */ +}; + +static int +ebcdic500_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x0100) + c = ebcdic500_page00[wc]; + if (c != 0 || wc == 0) { + if (conv->osurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/Externals/libiconv/lib/ebcdic838.h b/Externals/libiconv/lib/ebcdic838.h new file mode 100644 index 00000000000..01bded867a4 --- /dev/null +++ b/Externals/libiconv/lib/ebcdic838.h @@ -0,0 +1,139 @@ +/* + * Copyright (C) 1999-2023 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV Library is free software; you can redistribute it + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV Library is distributed in the hope that it will be + * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with the GNU LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-838 + */ + +static const unsigned short ebcdic838_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x0e01, 0x0e02, 0x0e03, 0x0e04, 0x0e05, 0x0e06, + 0x0e07, 0x005b, 0x00a2, 0x002e, 0x003c, 0x0028, 0x002b, 0x007c, + /* 0x50 */ + 0x0026, 0x0e48, 0x0e08, 0x0e09, 0x0e0a, 0x0e0b, 0x0e0c, 0x0e0d, + 0x0e0e, 0x005d, 0x0021, 0x0024, 0x002a, 0x0029, 0x003b, 0x00ac, + /* 0x60 */ + 0x002d, 0x002f, 0x0e0f, 0x0e10, 0x0e11, 0x0e12, 0x0e13, 0x0e14, + 0x0e15, 0x005e, 0x00a6, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x0e3f, 0x0e4e, 0x0e16, 0x0e17, 0x0e18, 0x0e19, 0x0e1a, 0x0e1b, + 0x0e1c, 0x0060, 0x003a, 0x0023, 0x0040, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x0e4f, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x0e1d, 0x0e1e, 0x0e1f, 0x0e20, 0x0e21, 0x0e22, + /* 0x90 */ + 0x0e5a, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x0e23, 0x0e24, 0x0e25, 0x0e26, 0x0e27, 0x0e28, + /* 0xa0 */ + 0x0e5b, 0x007e, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x0e29, 0x0e2a, 0x0e2b, 0x0e2c, 0x0e2d, 0x0e2e, + /* 0xb0 */ + 0x0e50, 0x0e51, 0x0e52, 0x0e53, 0x0e54, 0x0e55, 0x0e56, 0x0e57, + 0x0e58, 0x0e59, 0x0e2f, 0x0e30, 0x0e31, 0x0e32, 0x0e33, 0x0e34, + /* 0xc0 */ + 0x007b, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x0e49, 0x0e35, 0x0e36, 0x0e37, 0x0e38, 0x0e39, + /* 0xd0 */ + 0x007d, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x0e3a, 0x0e40, 0x0e41, 0x0e42, 0x0e43, 0x0e44, + /* 0xe0 */ + 0x005c, 0x0e4a, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x0e45, 0x0e46, 0x0e47, 0x0e48, 0x0e49, 0x0e4a, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x0e4b, 0x0e4c, 0x0e4d, 0x0e4b, 0x0e4c, 0x009f, +}; + +static int +ebcdic838_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + if (conv->isurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *pwc = (ucs4_t) ebcdic838_2uni[c]; + return 1; +} + +static const unsigned char ebcdic838_page00[176] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x5a, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0x49, 0xe0, 0x59, 0x69, 0x6d, /* 0x58-0x5f */ + 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0xc0, 0x4f, 0xd0, 0xa1, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0x00, 0x4a, 0x00, 0x00, 0x00, 0x6a, 0x00, /* 0xa0-0xa7 */ + 0x00, 0x00, 0x00, 0x00, 0x5f, 0x00, 0x00, 0x00, /* 0xa8-0xaf */ +}; +static const unsigned char ebcdic838_page0e[96] = { + 0x00, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, /* 0x00-0x07 */ + 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x62, /* 0x08-0x0f */ + 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x72, 0x73, /* 0x10-0x17 */ + 0x74, 0x75, 0x76, 0x77, 0x78, 0x8a, 0x8b, 0x8c, /* 0x18-0x1f */ + 0x8d, 0x8e, 0x8f, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, /* 0x20-0x27 */ + 0x9f, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xba, /* 0x28-0x2f */ + 0xbb, 0xbc, 0xbd, 0xbe, 0xbf, 0xcb, 0xcc, 0xcd, /* 0x30-0x37 */ + 0xce, 0xcf, 0xda, 0x00, 0x00, 0x00, 0x00, 0x70, /* 0x38-0x3f */ + 0xdb, 0xdc, 0xdd, 0xde, 0xdf, 0xea, 0xeb, 0xec, /* 0x40-0x47 */ + 0xed, 0xee, 0xef, 0xfa, 0xfb, 0xfc, 0x71, 0x80, /* 0x48-0x4f */ + 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, /* 0x50-0x57 */ + 0xb8, 0xb9, 0x90, 0xa0, 0x00, 0x00, 0x00, 0x00, /* 0x58-0x5f */ +}; + +static int +ebcdic838_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x00b0) + c = ebcdic838_page00[wc]; + else if (wc >= 0x0e00 && wc < 0x0e60) + c = ebcdic838_page0e[wc-0x0e00]; + if (c != 0 || wc == 0) { + if (conv->osurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/Externals/libiconv/lib/ebcdic870.h b/Externals/libiconv/lib/ebcdic870.h new file mode 100644 index 00000000000..7111d5e93f4 --- /dev/null +++ b/Externals/libiconv/lib/ebcdic870.h @@ -0,0 +1,158 @@ +/* + * Copyright (C) 1999-2023 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV Library is free software; you can redistribute it + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV Library is distributed in the hope that it will be + * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with the GNU LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-870 + */ + +static const unsigned short ebcdic870_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x00e2, 0x00e4, 0x0163, 0x00e1, 0x0103, 0x010d, + 0x00e7, 0x0107, 0x005b, 0x002e, 0x003c, 0x0028, 0x002b, 0x0021, + /* 0x50 */ + 0x0026, 0x00e9, 0x0119, 0x00eb, 0x016f, 0x00ed, 0x00ee, 0x013e, + 0x013a, 0x00df, 0x005d, 0x0024, 0x002a, 0x0029, 0x003b, 0x005e, + /* 0x60 */ + 0x002d, 0x002f, 0x00c2, 0x00c4, 0x02dd, 0x00c1, 0x0102, 0x010c, + 0x00c7, 0x0106, 0x007c, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x02c7, 0x00c9, 0x0118, 0x00cb, 0x016e, 0x00cd, 0x00ce, 0x013d, + 0x0139, 0x0060, 0x003a, 0x0023, 0x0040, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x02d8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x015b, 0x0148, 0x0111, 0x00fd, 0x0159, 0x015f, + /* 0x90 */ + 0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x0142, 0x0144, 0x0161, 0x00b8, 0x02db, 0x00a4, + /* 0xa0 */ + 0x0105, 0x007e, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x015a, 0x0147, 0x0110, 0x00dd, 0x0158, 0x015e, + /* 0xb0 */ + 0x02d9, 0x0104, 0x017c, 0x0162, 0x017b, 0x00a7, 0x017e, 0x017a, + 0x017d, 0x0179, 0x0141, 0x0143, 0x0160, 0x00a8, 0x00b4, 0x00d7, + /* 0xc0 */ + 0x007b, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x00f4, 0x00f6, 0x0155, 0x00f3, 0x0151, + /* 0xd0 */ + 0x007d, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x011a, 0x0171, 0x00fc, 0x0165, 0x00fa, 0x011b, + /* 0xe0 */ + 0x005c, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x010f, 0x00d4, 0x00d6, 0x0154, 0x00d3, 0x0150, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x010e, 0x0170, 0x00dc, 0x0164, 0x00da, 0x009f, +}; + +static int +ebcdic870_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + if (conv->isurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *pwc = (ucs4_t) ebcdic870_2uni[c]; + return 1; +} + +static const unsigned char ebcdic870_page00[384] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x4f, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0x4a, 0xe0, 0x5a, 0x5f, 0x6d, /* 0x58-0x5f */ + 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0xc0, 0x6a, 0xd0, 0xa1, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0x00, 0x00, 0x00, 0x9f, 0x00, 0x00, 0xb5, /* 0xa0-0xa7 */ + 0xbd, 0x00, 0x00, 0x00, 0x00, 0xca, 0x00, 0x00, /* 0xa8-0xaf */ + 0x90, 0x00, 0x00, 0x00, 0xbe, 0x00, 0x00, 0x00, /* 0xb0-0xb7 */ + 0x9d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xb8-0xbf */ + 0x00, 0x65, 0x62, 0x00, 0x63, 0x00, 0x00, 0x68, /* 0xc0-0xc7 */ + 0x00, 0x71, 0x00, 0x73, 0x00, 0x75, 0x76, 0x00, /* 0xc8-0xcf */ + 0x00, 0x00, 0x00, 0xee, 0xeb, 0x00, 0xec, 0xbf, /* 0xd0-0xd7 */ + 0x00, 0x00, 0xfe, 0x00, 0xfc, 0xad, 0x00, 0x59, /* 0xd8-0xdf */ + 0x00, 0x45, 0x42, 0x00, 0x43, 0x00, 0x00, 0x48, /* 0xe0-0xe7 */ + 0x00, 0x51, 0x00, 0x53, 0x00, 0x55, 0x56, 0x00, /* 0xe8-0xef */ + 0x00, 0x00, 0x00, 0xce, 0xcb, 0x00, 0xcc, 0xe1, /* 0xf0-0xf7 */ + 0x00, 0x00, 0xde, 0x00, 0xdc, 0x8d, 0x00, 0x00, /* 0xf8-0xff */ + /* 0x0100 */ + 0x00, 0x00, 0x66, 0x46, 0xb1, 0xa0, 0x69, 0x49, /* 0x00-0x07 */ + 0x00, 0x00, 0x00, 0x00, 0x67, 0x47, 0xfa, 0xea, /* 0x08-0x0f */ + 0xac, 0x8c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10-0x17 */ + 0x72, 0x52, 0xda, 0xdf, 0x00, 0x00, 0x00, 0x00, /* 0x18-0x1f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x20-0x27 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x28-0x2f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x30-0x37 */ + 0x00, 0x78, 0x58, 0x00, 0x00, 0x77, 0x57, 0x00, /* 0x38-0x3f */ + 0x00, 0xba, 0x9a, 0xbb, 0x9b, 0x00, 0x00, 0xab, /* 0x40-0x47 */ + 0x8b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x48-0x4f */ + 0xef, 0xcf, 0x00, 0x00, 0xed, 0xcd, 0x00, 0x00, /* 0x50-0x57 */ + 0xae, 0x8e, 0xaa, 0x8a, 0x00, 0x00, 0xaf, 0x8f, /* 0x58-0x5f */ + 0xbc, 0x9c, 0xb3, 0x44, 0xfd, 0xdd, 0x00, 0x00, /* 0x60-0x67 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x74, 0x54, /* 0x68-0x6f */ + 0xfb, 0xdb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x70-0x77 */ + 0x00, 0xb9, 0xb7, 0xb4, 0xb2, 0xb8, 0xb6, 0x00, /* 0x78-0x7f */ +}; +static const unsigned char ebcdic870_page02[32] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, /* 0xc0-0xc7 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xc8-0xcf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xd0-0xd7 */ + 0x80, 0xb0, 0x00, 0x9e, 0x00, 0x64, 0x00, 0x00, /* 0xd8-0xdf */ +}; + +static int +ebcdic870_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x0180) + c = ebcdic870_page00[wc]; + else if (wc >= 0x02c0 && wc < 0x02e0) + c = ebcdic870_page02[wc-0x02c0]; + if (c != 0 || wc == 0) { + if (conv->osurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/Externals/libiconv/lib/ebcdic871.h b/Externals/libiconv/lib/ebcdic871.h new file mode 100644 index 00000000000..27f570560b1 --- /dev/null +++ b/Externals/libiconv/lib/ebcdic871.h @@ -0,0 +1,133 @@ +/* + * Copyright (C) 1999-2023 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV Library is free software; you can redistribute it + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV Library is distributed in the hope that it will be + * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with the GNU LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-871 + */ + +static const unsigned short ebcdic871_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x00e2, 0x00e4, 0x00e0, 0x00e1, 0x00e3, 0x00e5, + 0x00e7, 0x00f1, 0x00de, 0x002e, 0x003c, 0x0028, 0x002b, 0x0021, + /* 0x50 */ + 0x0026, 0x00e9, 0x00ea, 0x00eb, 0x00e8, 0x00ed, 0x00ee, 0x00ef, + 0x00ec, 0x00df, 0x00c6, 0x0024, 0x002a, 0x0029, 0x003b, 0x00d6, + /* 0x60 */ + 0x002d, 0x002f, 0x00c2, 0x00c4, 0x00c0, 0x00c1, 0x00c3, 0x00c5, + 0x00c7, 0x00d1, 0x00a6, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x00f8, 0x00c9, 0x00ca, 0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, + 0x00cc, 0x00f0, 0x003a, 0x0023, 0x00d0, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x00d8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x00ab, 0x00bb, 0x0060, 0x00fd, 0x007b, 0x00b1, + /* 0x90 */ + 0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x00aa, 0x00ba, 0x007d, 0x00b8, 0x005d, 0x00a4, + /* 0xa0 */ + 0x00b5, 0x00f6, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x00a1, 0x00bf, 0x0040, 0x00dd, 0x005b, 0x00ae, + /* 0xb0 */ + 0x00a2, 0x00a3, 0x00a5, 0x00b7, 0x00a9, 0x00a7, 0x00b6, 0x00bc, + 0x00bd, 0x00be, 0x00ac, 0x007c, 0x00af, 0x00a8, 0x005c, 0x00d7, + /* 0xc0 */ + 0x00fe, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x00f4, 0x007e, 0x00f2, 0x00f3, 0x00f5, + /* 0xd0 */ + 0x00e6, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x00b9, 0x00fb, 0x00fc, 0x00f9, 0x00fa, 0x00ff, + /* 0xe0 */ + 0x00b4, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x00b2, 0x00d4, 0x005e, 0x00d2, 0x00d3, 0x00d5, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x00b3, 0x00db, 0x00dc, 0x00d9, 0x00da, 0x009f, +}; + +static int +ebcdic871_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + if (conv->isurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *pwc = (ucs4_t) ebcdic871_2uni[c]; + return 1; +} + +static const unsigned char ebcdic871_page00[256] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x4f, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0xac, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0xae, 0xbe, 0x9e, 0xec, 0x6d, /* 0x58-0x5f */ + 0x8c, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0x8e, 0xbb, 0x9c, 0xcc, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0xaa, 0xb0, 0xb1, 0x9f, 0xb2, 0x6a, 0xb5, /* 0xa0-0xa7 */ + 0xbd, 0xb4, 0x9a, 0x8a, 0xba, 0xca, 0xaf, 0xbc, /* 0xa8-0xaf */ + 0x90, 0x8f, 0xea, 0xfa, 0xe0, 0xa0, 0xb6, 0xb3, /* 0xb0-0xb7 */ + 0x9d, 0xda, 0x9b, 0x8b, 0xb7, 0xb8, 0xb9, 0xab, /* 0xb8-0xbf */ + 0x64, 0x65, 0x62, 0x66, 0x63, 0x67, 0x5a, 0x68, /* 0xc0-0xc7 */ + 0x74, 0x71, 0x72, 0x73, 0x78, 0x75, 0x76, 0x77, /* 0xc8-0xcf */ + 0x7c, 0x69, 0xed, 0xee, 0xeb, 0xef, 0x5f, 0xbf, /* 0xd0-0xd7 */ + 0x80, 0xfd, 0xfe, 0xfb, 0xfc, 0xad, 0x4a, 0x59, /* 0xd8-0xdf */ + 0x44, 0x45, 0x42, 0x46, 0x43, 0x47, 0xd0, 0x48, /* 0xe0-0xe7 */ + 0x54, 0x51, 0x52, 0x53, 0x58, 0x55, 0x56, 0x57, /* 0xe8-0xef */ + 0x79, 0x49, 0xcd, 0xce, 0xcb, 0xcf, 0xa1, 0xe1, /* 0xf0-0xf7 */ + 0x70, 0xdd, 0xde, 0xdb, 0xdc, 0x8d, 0xc0, 0xdf, /* 0xf8-0xff */ +}; + +static int +ebcdic871_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x0100) + c = ebcdic871_page00[wc]; + if (c != 0 || wc == 0) { + if (conv->osurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/Externals/libiconv/lib/ebcdic875.h b/Externals/libiconv/lib/ebcdic875.h new file mode 100644 index 00000000000..759c14e27ee --- /dev/null +++ b/Externals/libiconv/lib/ebcdic875.h @@ -0,0 +1,149 @@ +/* + * Copyright (C) 1999-2023 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV Library is free software; you can redistribute it + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV Library is distributed in the hope that it will be + * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with the GNU LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-875 + */ + +static const unsigned short ebcdic875_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x0391, 0x0392, 0x0393, 0x0394, 0x0395, 0x0396, 0x0397, + 0x0398, 0x0399, 0x005b, 0x002e, 0x003c, 0x0028, 0x002b, 0x0021, + /* 0x50 */ + 0x0026, 0x039a, 0x039b, 0x039c, 0x039d, 0x039e, 0x039f, 0x03a0, + 0x03a1, 0x03a3, 0x005d, 0x0024, 0x002a, 0x0029, 0x003b, 0x005e, + /* 0x60 */ + 0x002d, 0x002f, 0x03a4, 0x03a5, 0x03a6, 0x03a7, 0x03a8, 0x03a9, + 0x03aa, 0x03ab, 0x007c, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x00a8, 0x0386, 0x0388, 0x0389, 0x00a0, 0x038a, 0x038c, 0x038e, + 0x038f, 0x0060, 0x003a, 0x0023, 0x0040, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x0385, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x03b1, 0x03b2, 0x03b3, 0x03b4, 0x03b5, 0x03b6, + /* 0x90 */ + 0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x03b7, 0x03b8, 0x03b9, 0x03ba, 0x03bb, 0x03bc, + /* 0xa0 */ + 0x00b4, 0x007e, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x03bd, 0x03be, 0x03bf, 0x03c0, 0x03c1, 0x03c3, + /* 0xb0 */ + 0x00a3, 0x03ac, 0x03ad, 0x03ae, 0x03ca, 0x03af, 0x03cc, 0x03cd, + 0x03cb, 0x03ce, 0x03c2, 0x03c4, 0x03c5, 0x03c6, 0x03c7, 0x03c8, + /* 0xc0 */ + 0x007b, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x03c9, 0x0390, 0x03b0, 0x2018, 0x2015, + /* 0xd0 */ + 0x007d, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x00b1, 0x00bd, 0xfffd, 0x0387, 0x2019, 0x00a6, + /* 0xe0 */ + 0x005c, 0xfffd, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x00b2, 0x00a7, 0xfffd, 0xfffd, 0x00ab, 0x00ac, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x00b3, 0x00a9, 0xfffd, 0xfffd, 0x00bb, 0x009f, +}; + +static int +ebcdic875_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + if (conv->isurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + unsigned short wc = ebcdic875_2uni[c]; + if (wc != 0xfffd) { + *pwc = (ucs4_t) wc; + return 1; + } + return RET_ILSEQ; +} + +static const unsigned char ebcdic875_page00[192] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x4f, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0x4a, 0xe0, 0x5a, 0x5f, 0x6d, /* 0x58-0x5f */ + 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0xc0, 0x6a, 0xd0, 0xa1, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x74, 0x00, 0x00, 0xb0, 0x00, 0x00, 0xdf, 0xeb, /* 0xa0-0xa7 */ + 0x70, 0xfb, 0x00, 0xee, 0xef, 0xca, 0x00, 0x00, /* 0xa8-0xaf */ + 0x90, 0xda, 0xea, 0xfa, 0xa0, 0x00, 0x00, 0x00, /* 0xb0-0xb7 */ + 0x00, 0x00, 0x00, 0xfe, 0x00, 0xdb, 0x00, 0x00, /* 0xb8-0xbf */ +}; +static const unsigned char ebcdic875_page03[80] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x71, 0xdd, /* 0x80-0x87 */ + 0x72, 0x73, 0x75, 0x00, 0x76, 0x00, 0x77, 0x78, /* 0x88-0x8f */ + 0xcc, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, /* 0x90-0x97 */ + 0x48, 0x49, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, /* 0x98-0x9f */ + 0x57, 0x58, 0x00, 0x59, 0x62, 0x63, 0x64, 0x65, /* 0xa0-0xa7 */ + 0x66, 0x67, 0x68, 0x69, 0xb1, 0xb2, 0xb3, 0xb5, /* 0xa8-0xaf */ + 0xcd, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x9a, /* 0xb0-0xb7 */ + 0x9b, 0x9c, 0x9d, 0x9e, 0x9f, 0xaa, 0xab, 0xac, /* 0xb8-0xbf */ + 0xad, 0xae, 0xba, 0xaf, 0xbb, 0xbc, 0xbd, 0xbe, /* 0xc0-0xc7 */ + 0xbf, 0xcb, 0xb4, 0xb8, 0xb6, 0xb7, 0xb9, 0x00, /* 0xc8-0xcf */ +}; +static const unsigned char ebcdic875_page20[16] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0xcf, 0x00, 0x00, /* 0x10-0x17 */ + 0xce, 0xde, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x18-0x1f */ +}; + +static int +ebcdic875_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x00c0) + c = ebcdic875_page00[wc]; + else if (wc >= 0x0380 && wc < 0x03d0) + c = ebcdic875_page03[wc-0x0380]; + else if (wc >= 0x2010 && wc < 0x2020) + c = ebcdic875_page20[wc-0x2010]; + if (c != 0 || wc == 0) { + if (conv->osurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/Externals/libiconv/lib/ebcdic880.h b/Externals/libiconv/lib/ebcdic880.h new file mode 100644 index 00000000000..bd40720c1e8 --- /dev/null +++ b/Externals/libiconv/lib/ebcdic880.h @@ -0,0 +1,141 @@ +/* + * Copyright (C) 1999-2023 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV Library is free software; you can redistribute it + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV Library is distributed in the hope that it will be + * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with the GNU LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-880 + */ + +static const unsigned short ebcdic880_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x0452, 0x0453, 0x0451, 0x0454, 0x0455, 0x0456, + 0x0457, 0x0458, 0x005b, 0x002e, 0x003c, 0x0028, 0x002b, 0x0021, + /* 0x50 */ + 0x0026, 0x0459, 0x045a, 0x045b, 0x045c, 0x045e, 0x045f, 0x042a, + 0x2116, 0x0402, 0x005d, 0x0024, 0x002a, 0x0029, 0x003b, 0x005e, + /* 0x60 */ + 0x002d, 0x002f, 0x0403, 0x0401, 0x0404, 0x0405, 0x0406, 0x0407, + 0x0408, 0x0409, 0x007c, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x040a, 0x040b, 0x040c, 0x00ad, 0x040e, 0x040f, 0x044e, 0x0430, + 0x0431, 0x0060, 0x003a, 0x0023, 0x0040, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x0446, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x0434, 0x0435, 0x0444, 0x0433, 0x0445, 0x0438, + /* 0x90 */ + 0x0439, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x043a, 0x043b, 0x043c, 0x043d, 0x043e, 0x043f, + /* 0xa0 */ + 0x044f, 0x007e, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x0440, 0x0441, 0x0442, 0x0443, 0x0436, 0x0432, + /* 0xb0 */ + 0x044c, 0x044b, 0x0437, 0x0448, 0x044d, 0x0449, 0x0447, 0x044a, + 0x042e, 0x0410, 0x0411, 0x0426, 0x0414, 0x0415, 0x0424, 0x0413, + /* 0xc0 */ + 0x007b, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x0425, 0x0418, 0x0419, 0x041a, 0x041b, 0x041c, + /* 0xd0 */ + 0x007d, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x041d, 0x041e, 0x041f, 0x042f, 0x0420, 0x0421, + /* 0xe0 */ + 0x005c, 0x00a4, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x0422, 0x0423, 0x0416, 0x0412, 0x042c, 0x042b, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x0417, 0x0428, 0x042d, 0x0429, 0x0427, 0x009f, +}; + +static int +ebcdic880_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + if (conv->isurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *pwc = (ucs4_t) ebcdic880_2uni[c]; + return 1; +} + +static const unsigned char ebcdic880_page00[176] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x4f, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0x4a, 0xe0, 0x5a, 0x5f, 0x6d, /* 0x58-0x5f */ + 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0xc0, 0x6a, 0xd0, 0xa1, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0x00, 0x00, 0x00, 0xe1, 0x00, 0x00, 0x00, /* 0xa0-0xa7 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x73, 0x00, 0x00, /* 0xa8-0xaf */ +}; +static const unsigned char ebcdic880_page04[96] = { + 0x00, 0x63, 0x59, 0x62, 0x64, 0x65, 0x66, 0x67, /* 0x00-0x07 */ + 0x68, 0x69, 0x70, 0x71, 0x72, 0x00, 0x74, 0x75, /* 0x08-0x0f */ + 0xb9, 0xba, 0xed, 0xbf, 0xbc, 0xbd, 0xec, 0xfa, /* 0x10-0x17 */ + 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xda, 0xdb, 0xdc, /* 0x18-0x1f */ + 0xde, 0xdf, 0xea, 0xeb, 0xbe, 0xca, 0xbb, 0xfe, /* 0x20-0x27 */ + 0xfb, 0xfd, 0x57, 0xef, 0xee, 0xfc, 0xb8, 0xdd, /* 0x28-0x2f */ + 0x77, 0x78, 0xaf, 0x8d, 0x8a, 0x8b, 0xae, 0xb2, /* 0x30-0x37 */ + 0x8f, 0x90, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f, /* 0x38-0x3f */ + 0xaa, 0xab, 0xac, 0xad, 0x8c, 0x8e, 0x80, 0xb6, /* 0x40-0x47 */ + 0xb3, 0xb5, 0xb7, 0xb1, 0xb0, 0xb4, 0x76, 0xa0, /* 0x48-0x4f */ + 0x00, 0x44, 0x42, 0x43, 0x45, 0x46, 0x47, 0x48, /* 0x50-0x57 */ + 0x49, 0x51, 0x52, 0x53, 0x54, 0x00, 0x55, 0x56, /* 0x58-0x5f */ +}; + +static int +ebcdic880_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x00b0) + c = ebcdic880_page00[wc]; + else if (wc >= 0x0400 && wc < 0x0460) + c = ebcdic880_page04[wc-0x0400]; + else if (wc == 0x2116) + c = 0x58; + if (c != 0 || wc == 0) { + if (conv->osurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/Externals/libiconv/lib/ebcdic905.h b/Externals/libiconv/lib/ebcdic905.h new file mode 100644 index 00000000000..c3cef744cd7 --- /dev/null +++ b/Externals/libiconv/lib/ebcdic905.h @@ -0,0 +1,161 @@ +/* + * Copyright (C) 1999-2023 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV Library is free software; you can redistribute it + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV Library is distributed in the hope that it will be + * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with the GNU LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-905 + */ + +static const unsigned short ebcdic905_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x00e2, 0x00e4, 0x00e0, 0x00e1, 0xfffd, 0x010b, + 0x007b, 0x00f1, 0x00c7, 0x002e, 0x003c, 0x0028, 0x002b, 0x0021, + /* 0x50 */ + 0x0026, 0x00e9, 0x00ea, 0x00eb, 0x00e8, 0x00ed, 0x00ee, 0x00ef, + 0x00ec, 0x00df, 0x011e, 0x0130, 0x002a, 0x0029, 0x003b, 0x005e, + /* 0x60 */ + 0x002d, 0x002f, 0x00c2, 0x00c4, 0x00c0, 0x00c1, 0xfffd, 0x010a, + 0x005b, 0x00d1, 0x015f, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0xfffd, 0x00c9, 0x00ca, 0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, + 0x00cc, 0x0131, 0x003a, 0x00d6, 0x015e, 0x0027, 0x003d, 0x00dc, + /* 0x80 */ + 0x02d8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x0127, 0x0109, 0x015d, 0x016d, 0xfffd, 0x007c, + /* 0x90 */ + 0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x0125, 0x011d, 0x0135, 0x00b8, 0xfffd, 0x00a4, + /* 0xa0 */ + 0x00b5, 0x00f6, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x0126, 0x0108, 0x015c, 0x016c, 0xfffd, 0x0040, + /* 0xb0 */ + 0x02d9, 0x00a3, 0x017c, 0x007d, 0x017b, 0x00a7, 0x005d, 0x00b7, + 0x00bd, 0x0024, 0x0124, 0x011c, 0x0134, 0x00a8, 0x00b4, 0x00d7, + /* 0xc0 */ + 0x00e7, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x00f4, 0x007e, 0x00f2, 0x00f3, 0x0121, + /* 0xd0 */ + 0x011f, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x0060, 0x00fb, 0x005c, 0x00f9, 0x00fa, 0xfffd, + /* 0xe0 */ + 0x00fc, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x00b2, 0x00d4, 0x0023, 0x00d2, 0x00d3, 0x0120, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x00b3, 0x00db, 0x0022, 0x00d9, 0x00da, 0x009f, +}; + +static int +ebcdic905_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + if (conv->isurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + unsigned short wc = ebcdic905_2uni[c]; + if (wc != 0xfffd) { + *pwc = (ucs4_t) wc; + return 1; + } + return RET_ILSEQ; +} + +static const unsigned char ebcdic905_page00[256] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x4f, 0xfc, 0xec, 0xb9, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0xaf, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0x68, 0xdc, 0xb6, 0x5f, 0x6d, /* 0x58-0x5f */ + 0xda, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0x48, 0x8f, 0xb3, 0xcc, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0x00, 0x00, 0xb1, 0x9f, 0x00, 0x00, 0xb5, /* 0xa0-0xa7 */ + 0xbd, 0x00, 0x00, 0x00, 0x00, 0xca, 0x00, 0x00, /* 0xa8-0xaf */ + 0x90, 0x00, 0xea, 0xfa, 0xbe, 0xa0, 0x00, 0xb7, /* 0xb0-0xb7 */ + 0x9d, 0x00, 0x00, 0x00, 0x00, 0xb8, 0x00, 0x00, /* 0xb8-0xbf */ + 0x64, 0x65, 0x62, 0x00, 0x63, 0x00, 0x00, 0x4a, /* 0xc0-0xc7 */ + 0x74, 0x71, 0x72, 0x73, 0x78, 0x75, 0x76, 0x77, /* 0xc8-0xcf */ + 0x00, 0x69, 0xed, 0xee, 0xeb, 0x00, 0x7b, 0xbf, /* 0xd0-0xd7 */ + 0x00, 0xfd, 0xfe, 0xfb, 0x7f, 0x00, 0x00, 0x59, /* 0xd8-0xdf */ + 0x44, 0x45, 0x42, 0x00, 0x43, 0x00, 0x00, 0xc0, /* 0xe0-0xe7 */ + 0x54, 0x51, 0x52, 0x53, 0x58, 0x55, 0x56, 0x57, /* 0xe8-0xef */ + 0x00, 0x49, 0xcd, 0xce, 0xcb, 0x00, 0xa1, 0xe1, /* 0xf0-0xf7 */ + 0x00, 0xdd, 0xde, 0xdb, 0xe0, 0x00, 0x00, 0x00, /* 0xf8-0xff */ +}; +static const unsigned char ebcdic905_page01[120] = { + 0xab, 0x8b, 0x67, 0x47, 0x00, 0x00, 0x00, 0x00, /* 0x08-0x0f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10-0x17 */ + 0x00, 0x00, 0x00, 0x00, 0xbb, 0x9b, 0x5a, 0xd0, /* 0x18-0x1f */ + 0xef, 0xcf, 0x00, 0x00, 0xba, 0x9a, 0xaa, 0x8a, /* 0x20-0x27 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x28-0x2f */ + 0x5b, 0x79, 0x00, 0x00, 0xbc, 0x9c, 0x00, 0x00, /* 0x30-0x37 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x38-0x3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x40-0x47 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x48-0x4f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x50-0x57 */ + 0x00, 0x00, 0x00, 0x00, 0xac, 0x8c, 0x7c, 0x6a, /* 0x58-0x5f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x60-0x67 */ + 0x00, 0x00, 0x00, 0x00, 0xad, 0x8d, 0x00, 0x00, /* 0x68-0x6f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x70-0x77 */ + 0x00, 0x00, 0x00, 0xb4, 0xb2, 0x00, 0x00, 0x00, /* 0x78-0x7f */ +}; +static const unsigned char ebcdic905_page02[8] = { + 0x80, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xd8-0xdf */ +}; + +static int +ebcdic905_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x0100) + c = ebcdic905_page00[wc]; + else if (wc >= 0x0108 && wc < 0x0180) + c = ebcdic905_page01[wc-0x0108]; + else if (wc >= 0x02d8 && wc < 0x02e0) + c = ebcdic905_page02[wc-0x02d8]; + if (c != 0 || wc == 0) { + if (conv->osurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/Externals/libiconv/lib/ebcdic924.h b/Externals/libiconv/lib/ebcdic924.h new file mode 100644 index 00000000000..c3cba1f97ae --- /dev/null +++ b/Externals/libiconv/lib/ebcdic924.h @@ -0,0 +1,145 @@ +/* + * Copyright (C) 1999-2023 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV Library is free software; you can redistribute it + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV Library is distributed in the hope that it will be + * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with the GNU LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-924 + */ + +static const unsigned short ebcdic924_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x00e2, 0x00e4, 0x00e0, 0x00e1, 0x00e3, 0x00e5, + 0x00e7, 0x00f1, 0x00dd, 0x002e, 0x003c, 0x0028, 0x002b, 0x007c, + /* 0x50 */ + 0x0026, 0x00e9, 0x00ea, 0x00eb, 0x00e8, 0x00ed, 0x00ee, 0x00ef, + 0x00ec, 0x00df, 0x0021, 0x0024, 0x002a, 0x0029, 0x003b, 0x005e, + /* 0x60 */ + 0x002d, 0x002f, 0x00c2, 0x00c4, 0x00c0, 0x00c1, 0x00c3, 0x00c5, + 0x00c7, 0x00d1, 0x0160, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x00f8, 0x00c9, 0x00ca, 0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, + 0x00cc, 0x0060, 0x003a, 0x0023, 0x0040, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x00d8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x00ab, 0x00bb, 0x00f0, 0x00fd, 0x00fe, 0x00b1, + /* 0x90 */ + 0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x00aa, 0x00ba, 0x00e6, 0x017e, 0x00c6, 0x20ac, + /* 0xa0 */ + 0x00b5, 0x007e, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x00a1, 0x00bf, 0x00d0, 0x005b, 0x00de, 0x00ae, + /* 0xb0 */ + 0x00a2, 0x00a3, 0x00a5, 0x00b7, 0x00a9, 0x00a7, 0x00b6, 0x0152, + 0x0153, 0x0178, 0x00ac, 0x0161, 0x00af, 0x005d, 0x017d, 0x00d7, + /* 0xc0 */ + 0x007b, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x00f4, 0x00f6, 0x00f2, 0x00f3, 0x00f5, + /* 0xd0 */ + 0x007d, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x00b9, 0x00fb, 0x00fc, 0x00f9, 0x00fa, 0x00ff, + /* 0xe0 */ + 0x005c, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x00b2, 0x00d4, 0x00d6, 0x00d2, 0x00d3, 0x00d5, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x00b3, 0x00db, 0x00dc, 0x00d9, 0x00da, 0x009f, +}; + +static int +ebcdic924_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + if (conv->isurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *pwc = (ucs4_t) ebcdic924_2uni[c]; + return 1; +} + +static const unsigned char ebcdic924_page00[256] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x5a, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0xad, 0xe0, 0xbd, 0x5f, 0x6d, /* 0x58-0x5f */ + 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0xc0, 0x4f, 0xd0, 0xa1, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0xaa, 0xb0, 0xb1, 0x00, 0xb2, 0x00, 0xb5, /* 0xa0-0xa7 */ + 0x00, 0xb4, 0x9a, 0x8a, 0xba, 0xca, 0xaf, 0xbc, /* 0xa8-0xaf */ + 0x90, 0x8f, 0xea, 0xfa, 0x00, 0xa0, 0xb6, 0xb3, /* 0xb0-0xb7 */ + 0x00, 0xda, 0x9b, 0x8b, 0x00, 0x00, 0x00, 0xab, /* 0xb8-0xbf */ + 0x64, 0x65, 0x62, 0x66, 0x63, 0x67, 0x9e, 0x68, /* 0xc0-0xc7 */ + 0x74, 0x71, 0x72, 0x73, 0x78, 0x75, 0x76, 0x77, /* 0xc8-0xcf */ + 0xac, 0x69, 0xed, 0xee, 0xeb, 0xef, 0xec, 0xbf, /* 0xd0-0xd7 */ + 0x80, 0xfd, 0xfe, 0xfb, 0xfc, 0x4a, 0xae, 0x59, /* 0xd8-0xdf */ + 0x44, 0x45, 0x42, 0x46, 0x43, 0x47, 0x9c, 0x48, /* 0xe0-0xe7 */ + 0x54, 0x51, 0x52, 0x53, 0x58, 0x55, 0x56, 0x57, /* 0xe8-0xef */ + 0x8c, 0x49, 0xcd, 0xce, 0xcb, 0xcf, 0xcc, 0xe1, /* 0xf0-0xf7 */ + 0x70, 0xdd, 0xde, 0xdb, 0xdc, 0x8d, 0x8e, 0xdf, /* 0xf8-0xff */ +}; +static const unsigned char ebcdic924_page01[48] = { + 0x00, 0x00, 0xb7, 0xb8, 0x00, 0x00, 0x00, 0x00, /* 0x50-0x57 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x58-0x5f */ + 0x6a, 0xbb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x60-0x67 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x68-0x6f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x70-0x77 */ + 0xb9, 0x00, 0x00, 0x00, 0x00, 0xbe, 0x9d, 0x00, /* 0x78-0x7f */ +}; + +static int +ebcdic924_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x0100) + c = ebcdic924_page00[wc]; + else if (wc >= 0x0150 && wc < 0x0180) + c = ebcdic924_page01[wc-0x0150]; + else if (wc == 0x20ac) + c = 0x9f; + if (c != 0 || wc == 0) { + if (conv->osurface & ICONV_SURFACE_EBCDIC_ZOS_UNIX) + c = swap_x15_x25 (c); + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/Externals/libiconv-1.14/lib/encodings.def b/Externals/libiconv/lib/encodings.def similarity index 97% rename from Externals/libiconv-1.14/lib/encodings.def rename to Externals/libiconv/lib/encodings.def index 01743435177..e5063d32988 100644 --- a/Externals/libiconv-1.14/lib/encodings.def +++ b/Externals/libiconv/lib/encodings.def @@ -1,20 +1,19 @@ -/* Copyright (C) 1999-2010 Free Software Foundation, Inc. +/* Copyright (C) 1999-2011 Free Software Foundation, Inc. This file is part of the GNU LIBICONV Library. The GNU LIBICONV Library is free software; you can redistribute it - and/or modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either version 2 + and/or modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. The GNU LIBICONV Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. + Lesser General Public License for more details. - You should have received a copy of the GNU Library General Public + You should have received a copy of the GNU Lesser General Public License along with the GNU LIBICONV Library; see the file COPYING.LIB. - If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - Fifth Floor, Boston, MA 02110-1301, USA. */ + If not, see . */ /* The list of all system independent user-visible encodings. */ @@ -365,6 +364,7 @@ DEFENCODING(( "ISO-8859-13", /* IANA, glibc */ "LATIN7", /* glibc */ "L7", /* glibc */ "ISO8859-13", /* glibc, FreeBSD */ + /*"CP28603", Windows */ ), iso8859_13, { iso8859_13_mbtowc, NULL }, { iso8859_13_wctomb, NULL }) @@ -424,6 +424,7 @@ DEFENCODING(( "KOI8-U", /* IANA, RFC 2319 */ { koi8_u_mbtowc, NULL }, { koi8_u_wctomb, NULL }) DEFENCODING(( "KOI8-RU", + /*"CP21866", Windows */ ), koi8_ru, { koi8_ru_mbtowc, NULL }, { koi8_ru_wctomb, NULL }) @@ -867,6 +868,13 @@ DEFENCODING(( "ISO-2022-JP-2", /* IANA, RFC 1554 */ iso2022_jp2, { iso2022_jp2_mbtowc, NULL }, { iso2022_jp2_wctomb, iso2022_jp2_reset }) +DEFENCODING(( "ISO-2022-JP-MS", + "CP50221", + /*"ISO-2022-JP-ESC", Windows */ + ), + iso2022_jpms, + { iso2022_jpms_mbtowc, NULL }, { iso2022_jpms_wctomb, iso2022_jpms_reset }) + DEFENCODING(( "EUC-CN", /* glibc */ "EUCCN", /* glibc, IRIX */ "GB2312", /* IANA */ @@ -904,9 +912,15 @@ DEFENCODING(( "CP936", /* IANA */ DEFENCODING(( "GB18030", /* IANA, glibc */ /*"CP54936", Windows */ + "GB18030:2005", ), - gb18030, - { gb18030_mbtowc, NULL }, { gb18030_wctomb, NULL }) + gb18030_2005, + { gb18030_2005_mbtowc, NULL },{ gb18030_2005_wctomb, NULL }) + +DEFENCODING(( "GB18030:2022", + ), + gb18030_2022, + { gb18030_2022_mbtowc, NULL },{ gb18030_2022_wctomb, NULL }) DEFENCODING(( "ISO-2022-CN", /* IANA, RFC 1922 */ "csISO2022CN", @@ -922,6 +936,7 @@ DEFENCODING(( "ISO-2022-CN-EXT", /* IANA, RFC 1922 */ DEFENCODING(( "HZ", /* RFC 1843 */ "HZ-GB-2312", /* IANA, RFC 1842 */ + /*"CP52936", Windows */ ), hz, { hz_mbtowc, NULL }, { hz_wctomb, hz_reset }) @@ -1024,6 +1039,7 @@ DEFALIAS( "KO_KR.JOHAP92", /* Solaris */ DEFENCODING(( "ISO-2022-KR", /* IANA, RFC 1557 */ "csISO2022KR", /* IANA */ /*"ISO2022KR", JDK 1.1 */ + /*"CP50225", Windows */ ), iso2022_kr, { iso2022_kr_mbtowc, NULL }, { iso2022_kr_wctomb, iso2022_kr_reset }) diff --git a/Externals/libiconv-1.14/lib/encodings_aix.def b/Externals/libiconv/lib/encodings_aix.def similarity index 89% rename from Externals/libiconv-1.14/lib/encodings_aix.def rename to Externals/libiconv/lib/encodings_aix.def index 259452eb538..0a065f78e42 100644 --- a/Externals/libiconv-1.14/lib/encodings_aix.def +++ b/Externals/libiconv/lib/encodings_aix.def @@ -2,19 +2,18 @@ This file is part of the GNU LIBICONV Library. The GNU LIBICONV Library is free software; you can redistribute it - and/or modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either version 2 + and/or modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. The GNU LIBICONV Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. + Lesser General Public License for more details. - You should have received a copy of the GNU Library General Public + You should have received a copy of the GNU Lesser General Public License along with the GNU LIBICONV Library; see the file COPYING.LIB. - If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - Fifth Floor, Boston, MA 02110-1301, USA. */ + If not, see . */ /* Encodings used by system dependent locales on AIX. */ diff --git a/Externals/libiconv-1.14/lib/encodings_dos.def b/Externals/libiconv/lib/encodings_dos.def similarity index 93% rename from Externals/libiconv-1.14/lib/encodings_dos.def rename to Externals/libiconv/lib/encodings_dos.def index c9d30c8c0ff..ae8cc55612a 100644 --- a/Externals/libiconv-1.14/lib/encodings_dos.def +++ b/Externals/libiconv/lib/encodings_dos.def @@ -2,19 +2,18 @@ This file is part of the GNU LIBICONV Library. The GNU LIBICONV Library is free software; you can redistribute it - and/or modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either version 2 + and/or modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. The GNU LIBICONV Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. + Lesser General Public License for more details. - You should have received a copy of the GNU Library General Public + You should have received a copy of the GNU Lesser General Public License along with the GNU LIBICONV Library; see the file COPYING.LIB. - If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - Fifth Floor, Boston, MA 02110-1301, USA. */ + If not, see . */ /* Encodings used by system dependent locales on MSDOS. */ diff --git a/Externals/libiconv-1.14/lib/encodings_extra.def b/Externals/libiconv/lib/encodings_extra.def similarity index 85% rename from Externals/libiconv-1.14/lib/encodings_extra.def rename to Externals/libiconv/lib/encodings_extra.def index 614422b68d6..a72f6907515 100644 --- a/Externals/libiconv-1.14/lib/encodings_extra.def +++ b/Externals/libiconv/lib/encodings_extra.def @@ -2,19 +2,18 @@ This file is part of the GNU LIBICONV Library. The GNU LIBICONV Library is free software; you can redistribute it - and/or modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either version 2 + and/or modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. The GNU LIBICONV Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. + Lesser General Public License for more details. - You should have received a copy of the GNU Library General Public + You should have received a copy of the GNU Lesser General Public License along with the GNU LIBICONV Library; see the file COPYING.LIB. - If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - Fifth Floor, Boston, MA 02110-1301, USA. */ + If not, see . */ DEFENCODING(( "EUC-JISX0213", "EUC-JIS-2004", /* x0213.org */ diff --git a/Externals/libiconv-1.14/lib/encodings_local.def b/Externals/libiconv/lib/encodings_local.def similarity index 74% rename from Externals/libiconv-1.14/lib/encodings_local.def rename to Externals/libiconv/lib/encodings_local.def index 4e793e5bd97..4cbff9eea80 100644 --- a/Externals/libiconv-1.14/lib/encodings_local.def +++ b/Externals/libiconv/lib/encodings_local.def @@ -2,19 +2,18 @@ This file is part of the GNU LIBICONV Library. The GNU LIBICONV Library is free software; you can redistribute it - and/or modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either version 2 + and/or modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. The GNU LIBICONV Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. + Lesser General Public License for more details. - You should have received a copy of the GNU Library General Public + You should have received a copy of the GNU Lesser General Public License along with the GNU LIBICONV Library; see the file COPYING.LIB. - If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - Fifth Floor, Boston, MA 02110-1301, USA. */ + If not, see . */ /* Names for locale dependent encodings. */ diff --git a/Externals/libiconv-1.14/lib/encodings_osf1.def b/Externals/libiconv/lib/encodings_osf1.def similarity index 78% rename from Externals/libiconv-1.14/lib/encodings_osf1.def rename to Externals/libiconv/lib/encodings_osf1.def index 7912854bbbd..0ca581a53e4 100644 --- a/Externals/libiconv-1.14/lib/encodings_osf1.def +++ b/Externals/libiconv/lib/encodings_osf1.def @@ -2,19 +2,18 @@ This file is part of the GNU LIBICONV Library. The GNU LIBICONV Library is free software; you can redistribute it - and/or modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either version 2 + and/or modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. The GNU LIBICONV Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. + Lesser General Public License for more details. - You should have received a copy of the GNU Library General Public + You should have received a copy of the GNU Lesser General Public License along with the GNU LIBICONV Library; see the file COPYING.LIB. - If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - Fifth Floor, Boston, MA 02110-1301, USA. */ + If not, see . */ /* Encodings used by system dependent locales on OSF/1 a.k.a. Tru64. */ diff --git a/Externals/libiconv/lib/encodings_zos.def b/Externals/libiconv/lib/encodings_zos.def new file mode 100644 index 00000000000..838b6becded --- /dev/null +++ b/Externals/libiconv/lib/encodings_zos.def @@ -0,0 +1,471 @@ +/* Copyright (C) 2022 Free Software Foundation, Inc. + This file is part of the GNU LIBICONV Library. + + The GNU LIBICONV Library is free software; you can redistribute it + and/or modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either version 2.1 + of the License, or (at your option) any later version. + + The GNU LIBICONV Library is distributed in the hope that it will be + useful, but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU LIBICONV Library; see the file COPYING.LIB. + If not, see . */ + +/* Encodings used by system dependent locales on z/OS. */ + +DEFENCODING(( "IBM-037", + "IBM037", /* IANA */ + "CP037", /* IANA */ + "EBCDIC-CP-US", /* IANA */ + "EBCDIC-CP-CA", /* IANA */ + "EBCDIC-CP-WT", /* IANA */ + "EBCDIC-CP-NL", /* IANA */ + "csIBM037", /* IANA */ + ), + ebcdic037, + { ebcdic037_mbtowc, NULL }, { ebcdic037_wctomb, NULL }) + +DEFENCODING(( "IBM-273", + "IBM273", /* IANA */ + "CP273", /* IANA */ + "csIBM273", /* IANA */ + ), + ebcdic273, + { ebcdic273_mbtowc, NULL }, { ebcdic273_wctomb, NULL }) + +DEFENCODING(( "IBM-277", + "IBM277", /* IANA */ + "EBCDIC-CP-DK", /* IANA */ + "EBCDIC-CP-NO", /* IANA */ + "csIBM277", /* IANA */ + ), + ebcdic277, + { ebcdic277_mbtowc, NULL }, { ebcdic277_wctomb, NULL }) + +DEFENCODING(( "IBM-278", + "IBM278", /* IANA */ + "CP278", /* IANA */ + "EBCDIC-CP-FI", /* IANA */ + "EBCDIC-CP-SE", /* IANA */ + "csIBM278", /* IANA */ + ), + ebcdic278, + { ebcdic278_mbtowc, NULL }, { ebcdic278_wctomb, NULL }) + +DEFENCODING(( "IBM-280", + "IBM280", /* IANA */ + "CP280", /* IANA */ + "EBCDIC-CP-IT", /* IANA */ + "csIBM280", /* IANA */ + ), + ebcdic280, + { ebcdic280_mbtowc, NULL }, { ebcdic280_wctomb, NULL }) + +DEFENCODING(( "IBM-282", + "IBM282", + ), + ebcdic282, + { ebcdic282_mbtowc, NULL }, { ebcdic282_wctomb, NULL }) + +DEFENCODING(( "IBM-284", + "IBM284", /* IANA */ + "CP284", /* IANA */ + "EBCDIC-CP-ES", /* IANA */ + "csIBM284", /* IANA */ + ), + ebcdic284, + { ebcdic284_mbtowc, NULL }, { ebcdic284_wctomb, NULL }) + +DEFENCODING(( "IBM-285", + "IBM285", /* IANA */ + "CP285", /* IANA */ + "EBCDIC-CP-GB", /* IANA */ + "csIBM285", /* IANA */ + ), + ebcdic285, + { ebcdic285_mbtowc, NULL }, { ebcdic285_wctomb, NULL }) + +DEFENCODING(( "IBM-297", + "IBM297", /* IANA */ + "CP297", /* IANA */ + "EBCDIC-CP-FR", /* IANA */ + "csIBM297", /* IANA */ + ), + ebcdic297, + { ebcdic297_mbtowc, NULL }, { ebcdic297_wctomb, NULL }) + +DEFENCODING(( "IBM-423", + "IBM423", /* IANA */ + "CP423", /* IANA */ + "EBCDIC-CP-GR", /* IANA */ + "csIBM423", /* IANA */ + ), + ebcdic423, + { ebcdic423_mbtowc, NULL }, { ebcdic423_wctomb, NULL }) + +DEFENCODING(( "IBM-424", + "IBM424", /* IANA */ + "CP424", /* IANA */ + "EBCDIC-CP-HE", /* IANA */ + "csIBM424", /* IANA */ + ), + ebcdic424, + { ebcdic424_mbtowc, NULL }, { ebcdic424_wctomb, NULL }) + +DEFENCODING(( "IBM-425", + "IBM425", + ), + ebcdic425, + { ebcdic425_mbtowc, NULL }, { ebcdic425_wctomb, NULL }) + +DEFENCODING(( "IBM-500", + "IBM500", /* IANA */ + "CP500", /* IANA */ + "EBCDIC-CP-BE", /* IANA */ + "EBCDIC-CP-CH", /* IANA */ + "csIBM500", /* IANA */ + ), + ebcdic500, + { ebcdic500_mbtowc, NULL }, { ebcdic500_wctomb, NULL }) + +DEFENCODING(( "IBM-838", + "IBM838", + "IBM-THAI", /* IANA */ + "csIBMThai", /* IANA */ + ), + ebcdic838, + { ebcdic838_mbtowc, NULL }, { ebcdic838_wctomb, NULL }) + +DEFENCODING(( "IBM-870", + "IBM870", /* IANA */ + "CP870", /* IANA */ + "EBCDIC-CP-ROECE", /* IANA */ + "EBCDIC-CP-YU", /* IANA */ + "csIBM870", /* IANA */ + ), + ebcdic870, + { ebcdic870_mbtowc, NULL }, { ebcdic870_wctomb, NULL }) + +DEFENCODING(( "IBM-871", + "IBM871", /* IANA */ + "CP871", /* IANA */ + "EBCDIC-CP-IS", /* IANA */ + "csIBM871", /* IANA */ + ), + ebcdic871, + { ebcdic871_mbtowc, NULL }, { ebcdic871_wctomb, NULL }) + +DEFENCODING(( "IBM-875", + "IBM875", /* glibc */ + "CP875", /* glibc */ + "EBCDIC-GREEK", /* glibc */ + ), + ebcdic875, + { ebcdic875_mbtowc, NULL }, { ebcdic875_wctomb, NULL }) + +DEFENCODING(( "IBM-880", + "IBM880", /* IANA */ + "CP880", /* IANA */ + "EBCDIC-CYRILLIC", /* IANA */ + "csIBM880", /* IANA */ + ), + ebcdic880, + { ebcdic880_mbtowc, NULL }, { ebcdic880_wctomb, NULL }) + +DEFENCODING(( "IBM-905", + "IBM905", /* IANA */ + "CP905", /* IANA */ + "EBCDIC-CP-TR", /* IANA */ + "csIBM905", /* IANA */ + ), + ebcdic905, + { ebcdic905_mbtowc, NULL }, { ebcdic905_wctomb, NULL }) + +DEFENCODING(( "IBM-924", + "IBM924", + "IBM00924", /* IANA */ + "CCSID00924", /* IANA */ + "CP00924", /* IANA */ + "EBCDIC-LATIN9-EURO", /* IANA */ + "csIBM00924", /* IANA */ + ), + ebcdic924, + { ebcdic924_mbtowc, NULL }, { ebcdic924_wctomb, NULL }) + +DEFENCODING(( "IBM-1025", + "IBM1025", /* glibc */ + "CP1025", /* glibc */ + ), + ebcdic1025, + { ebcdic1025_mbtowc, NULL }, { ebcdic1025_wctomb, NULL }) + +DEFENCODING(( "IBM-1026", + "IBM1026", /* IANA */ + "CP1026", /* IANA */ + "csIBM1026", /* IANA */ + ), + ebcdic1026, + { ebcdic1026_mbtowc, NULL }, { ebcdic1026_wctomb, NULL }) + +DEFENCODING(( "IBM-1047", /* IANA */ + "IBM1047", /* IANA */ + "CP1047", /* glibc */ + "csIBM1047", /* IANA */ + ), + ebcdic1047, + { ebcdic1047_mbtowc, NULL }, { ebcdic1047_wctomb, NULL }) + +DEFENCODING(( "IBM-1097", + "IBM1097", /* glibc */ + "CP1097", /* glibc */ + ), + ebcdic1097, + { ebcdic1097_mbtowc, NULL }, { ebcdic1097_wctomb, NULL }) + +DEFENCODING(( "IBM-1112", + "IBM1112", /* glibc */ + "CP1112", /* glibc */ + ), + ebcdic1112, + { ebcdic1112_mbtowc, NULL }, { ebcdic1112_wctomb, NULL }) + +DEFENCODING(( "IBM-1122", + "IBM1122", /* glibc */ + "CP1122", /* glibc */ + ), + ebcdic1122, + { ebcdic1122_mbtowc, NULL }, { ebcdic1122_wctomb, NULL }) + +DEFENCODING(( "IBM-1123", + "IBM1123", /* glibc */ + "CP1123", /* glibc */ + ), + ebcdic1123, + { ebcdic1123_mbtowc, NULL }, { ebcdic1123_wctomb, NULL }) + +DEFENCODING(( "IBM-1130", + "IBM1130", /* glibc */ + "CP1130", /* glibc */ + ), + ebcdic1130, + { ebcdic1130_mbtowc, NULL }, { ebcdic1130_wctomb, NULL }) + +DEFENCODING(( "IBM-1132", + "IBM1132", /* glibc */ + "CP1132", /* glibc */ + ), + ebcdic1132, + { ebcdic1132_mbtowc, NULL }, { ebcdic1132_wctomb, NULL }) + +DEFENCODING(( "IBM-1137", + "IBM1137", /* glibc */ + "CP1137", /* glibc */ + ), + ebcdic1137, + { ebcdic1137_mbtowc, NULL }, { ebcdic1137_wctomb, NULL }) + +DEFENCODING(( "IBM-1140", + "IBM1140", + "IBM01140", /* IANA */ + "CCSID01140", /* IANA */ + "CP01140", /* IANA */ + "EBCDIC-US-37+EURO", /* IANA */ + "csIBM01140", /* IANA */ + ), + ebcdic1140, + { ebcdic1140_mbtowc, NULL }, { ebcdic1140_wctomb, NULL }) + +DEFENCODING(( "IBM-1141", + "IBM1141", + "IBM01141", /* IANA */ + "CCSID01141", /* IANA */ + "CP01141", /* IANA */ + "EBCDIC-DE-273+EURO", /* IANA */ + "csIBM01141", /* IANA */ + ), + ebcdic1141, + { ebcdic1141_mbtowc, NULL }, { ebcdic1141_wctomb, NULL }) + +DEFENCODING(( "IBM-1142", + "IBM1142", + "IBM01142", /* IANA */ + "CCSID01142", /* IANA */ + "CP01142", /* IANA */ + "EBCDIC-DK-277+EURO", /* IANA */ + "EBCDIC-NO-277+EURO", /* IANA */ + "csIBM01142", /* IANA */ + ), + ebcdic1142, + { ebcdic1142_mbtowc, NULL }, { ebcdic1142_wctomb, NULL }) + +DEFENCODING(( "IBM-1143", + "IBM1143", + "IBM01143", /* IANA */ + "CCSID01143", /* IANA */ + "CP01143", /* IANA */ + "EBCDIC-FI-278+EURO", /* IANA */ + "EBCDIC-SE-278+EURO", /* IANA */ + "csIBM01143", /* IANA */ + ), + ebcdic1143, + { ebcdic1143_mbtowc, NULL }, { ebcdic1143_wctomb, NULL }) + +DEFENCODING(( "IBM-1144", + "IBM1144", + "IBM01144", /* IANA */ + "CCSID01144", /* IANA */ + "CP01144", /* IANA */ + "EBCDIC-IT-280+EURO", /* IANA */ + "csPC8CodePage1144", /* IANA */ + ), + ebcdic1144, + { ebcdic1144_mbtowc, NULL }, { ebcdic1144_wctomb, NULL }) + +DEFENCODING(( "IBM-1145", + "IBM1145", + "IBM01145", /* IANA */ + "CCSID01145", /* IANA */ + "CP01145", /* IANA */ + "EBCDIC-ES-284+EURO", /* IANA */ + "csIBM01145", /* IANA */ + ), + ebcdic1145, + { ebcdic1145_mbtowc, NULL }, { ebcdic1145_wctomb, NULL }) + +DEFENCODING(( "IBM-1146", + "IBM1146", + "IBM01146", /* IANA */ + "CCSID01146", /* IANA */ + "CP01146", /* IANA */ + "EBCDIC-GB-285+EURO", /* IANA */ + "csPC8CodePage1146", /* IANA */ + ), + ebcdic1146, + { ebcdic1146_mbtowc, NULL }, { ebcdic1146_wctomb, NULL }) + +DEFENCODING(( "IBM-1147", + "IBM1147", + "IBM01147", /* IANA */ + "CCSID01147", /* IANA */ + "CP01147", /* IANA */ + "EBCDIC-FR-297+EURO", /* IANA */ + "csIBM01147", /* IANA */ + ), + ebcdic1147, + { ebcdic1147_mbtowc, NULL }, { ebcdic1147_wctomb, NULL }) + +DEFENCODING(( "IBM-1148", + "IBM1148", + "IBM01148", /* IANA */ + "CCSID01148", /* IANA */ + "CP01148", /* IANA */ + "EBCDIC-INTERNATIONAL-500+EURO", /* IANA */ + "csIBM01148", /* IANA */ + ), + ebcdic1148, + { ebcdic1148_mbtowc, NULL }, { ebcdic1148_wctomb, NULL }) + +DEFENCODING(( "IBM-1149", + "IBM1149", + "IBM01149", /* IANA */ + "CCSID01149", /* IANA */ + "CP01149", /* IANA */ + "EBCDIC-IS-871+EURO", /* IANA */ + "csIBM01149", /* IANA */ + ), + ebcdic1149, + { ebcdic1149_mbtowc, NULL }, { ebcdic1149_wctomb, NULL }) + +DEFENCODING(( "IBM-1153", + "IBM1153", /* glibc */ + "CP1153", /* glibc */ + ), + ebcdic1153, + { ebcdic1153_mbtowc, NULL }, { ebcdic1153_wctomb, NULL }) + +DEFENCODING(( "IBM-1154", + "IBM1154", /* glibc */ + "CP1154", /* glibc */ + ), + ebcdic1154, + { ebcdic1154_mbtowc, NULL }, { ebcdic1154_wctomb, NULL }) + +DEFENCODING(( "IBM-1155", + "IBM1155", /* glibc */ + "CP1155", /* glibc */ + ), + ebcdic1155, + { ebcdic1155_mbtowc, NULL }, { ebcdic1155_wctomb, NULL }) + +DEFENCODING(( "IBM-1156", + "IBM1156", /* glibc */ + "CP1156", /* glibc */ + ), + ebcdic1156, + { ebcdic1156_mbtowc, NULL }, { ebcdic1156_wctomb, NULL }) + +DEFENCODING(( "IBM-1157", + "IBM1157", /* glibc */ + "CP1157", /* glibc */ + ), + ebcdic1157, + { ebcdic1157_mbtowc, NULL }, { ebcdic1157_wctomb, NULL }) + +DEFENCODING(( "IBM-1158", + "IBM1158", /* glibc */ + "CP1158", /* glibc */ + ), + ebcdic1158, + { ebcdic1158_mbtowc, NULL }, { ebcdic1158_wctomb, NULL }) + +DEFENCODING(( "IBM-1160", + "IBM1160", /* glibc */ + "CP1160", /* glibc */ + ), + ebcdic1160, + { ebcdic1160_mbtowc, NULL }, { ebcdic1160_wctomb, NULL }) + +DEFENCODING(( "IBM-1164", + "IBM1164", /* glibc */ + "CP1164", /* glibc */ + ), + ebcdic1164, + { ebcdic1164_mbtowc, NULL }, { ebcdic1164_wctomb, NULL }) + +DEFENCODING(( "IBM-1165", + "IBM1165", + ), + ebcdic1165, + { ebcdic1165_mbtowc, NULL }, { ebcdic1165_wctomb, NULL }) + +DEFENCODING(( "IBM-1166", + "IBM1166", /* glibc */ + "CP1166", /* glibc */ + ), + ebcdic1166, + { ebcdic1166_mbtowc, NULL }, { ebcdic1166_wctomb, NULL }) + +DEFENCODING(( "IBM-4971", + "IBM4971", /* glibc */ + "CP4971", /* glibc */ + ), + ebcdic4971, + { ebcdic4971_mbtowc, NULL }, { ebcdic4971_wctomb, NULL }) + +DEFENCODING(( "IBM-12712", + "IBM12712", /* glibc */ + "CP12712", /* glibc */ + ), + ebcdic12712, + { ebcdic12712_mbtowc, NULL }, { ebcdic12712_wctomb, NULL }) + +DEFENCODING(( "IBM-16804", + "IBM16804", /* glibc */ + "CP16804", /* glibc */ + ), + ebcdic16804, + { ebcdic16804_mbtowc, NULL }, { ebcdic16804_wctomb, NULL }) diff --git a/Externals/libiconv-1.14/lib/euc_cn.h b/Externals/libiconv/lib/euc_cn.h similarity index 77% rename from Externals/libiconv-1.14/lib/euc_cn.h rename to Externals/libiconv/lib/euc_cn.h index a25417a989c..d698617d7c7 100644 --- a/Externals/libiconv-1.14/lib/euc_cn.h +++ b/Externals/libiconv/lib/euc_cn.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -23,7 +22,7 @@ */ static int -euc_cn_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +euc_cn_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; /* Code set 0 (ASCII or GB 1988-89) */ @@ -47,7 +46,7 @@ euc_cn_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) } static int -euc_cn_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +euc_cn_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char buf[2]; int ret; diff --git a/Externals/libiconv-1.14/lib/euc_jisx0213.h b/Externals/libiconv/lib/euc_jisx0213.h similarity index 94% rename from Externals/libiconv-1.14/lib/euc_jisx0213.h rename to Externals/libiconv/lib/euc_jisx0213.h index 4d417ca12e1..49becad9d47 100644 --- a/Externals/libiconv-1.14/lib/euc_jisx0213.h +++ b/Externals/libiconv/lib/euc_jisx0213.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2002 Free Software Foundation, Inc. + * Copyright (C) 1999-2002, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -40,7 +39,7 @@ #include "flushwc.h" static int -euc_jisx0213_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +euc_jisx0213_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { ucs4_t last_wc = conv->istate; if (last_wc) { @@ -144,7 +143,7 @@ static const struct { unsigned short base; unsigned short composed; } euc_jisx02 }; static int -euc_jisx0213_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +euc_jisx0213_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { int count = 0; unsigned short lasttwo = conv->ostate; @@ -252,7 +251,7 @@ euc_jisx0213_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) } static int -euc_jisx0213_reset (conv_t conv, unsigned char *r, int n) +euc_jisx0213_reset (conv_t conv, unsigned char *r, size_t n) { state_t lasttwo = conv->ostate; diff --git a/Externals/libiconv-1.14/lib/euc_jp.h b/Externals/libiconv/lib/euc_jp.h similarity index 91% rename from Externals/libiconv-1.14/lib/euc_jp.h rename to Externals/libiconv/lib/euc_jp.h index 84fa2e7eb03..f147c47afda 100644 --- a/Externals/libiconv-1.14/lib/euc_jp.h +++ b/Externals/libiconv/lib/euc_jp.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001, 2005 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2005, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -23,7 +22,7 @@ */ static int -euc_jp_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +euc_jp_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; /* Code set 0 (ASCII or JIS X 0201-1976 Roman) */ @@ -108,7 +107,7 @@ euc_jp_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) } static int -euc_jp_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +euc_jp_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char buf[2]; int ret; diff --git a/Externals/libiconv-1.14/lib/euc_kr.h b/Externals/libiconv/lib/euc_kr.h similarity index 78% rename from Externals/libiconv-1.14/lib/euc_kr.h rename to Externals/libiconv/lib/euc_kr.h index 8b3dd0528d7..2687f887fac 100644 --- a/Externals/libiconv-1.14/lib/euc_kr.h +++ b/Externals/libiconv/lib/euc_kr.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001, 2007 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2007, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -25,7 +24,7 @@ /* Specification: RFC 1557 */ static int -euc_kr_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +euc_kr_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; /* Code set 0 (ASCII or KS C 5636-1993) */ @@ -49,7 +48,7 @@ euc_kr_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) } static int -euc_kr_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +euc_kr_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char buf[2]; int ret; diff --git a/Externals/libiconv-1.14/lib/euc_tw.h b/Externals/libiconv/lib/euc_tw.h similarity index 86% rename from Externals/libiconv-1.14/lib/euc_tw.h rename to Externals/libiconv/lib/euc_tw.h index f7bdc8b7ca3..4fd4e14ff40 100644 --- a/Externals/libiconv-1.14/lib/euc_tw.h +++ b/Externals/libiconv/lib/euc_tw.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -23,7 +22,7 @@ */ static int -euc_tw_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +euc_tw_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; /* Code set 0 (ASCII) */ @@ -79,7 +78,7 @@ euc_tw_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) } static int -euc_tw_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +euc_tw_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char buf[3]; int ret; diff --git a/Externals/libiconv-1.14/lib/flags.h b/Externals/libiconv/lib/flags.h similarity index 76% rename from Externals/libiconv-1.14/lib/flags.h rename to Externals/libiconv/lib/flags.h index e91934abd5e..2be6392de30 100644 --- a/Externals/libiconv-1.14/lib/flags.h +++ b/Externals/libiconv/lib/flags.h @@ -104,10 +104,12 @@ #define ei_iso2022_jp_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS) #define ei_iso2022_jp1_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS) #define ei_iso2022_jp2_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS | HAVE_HANGUL_JAMO) +#define ei_iso2022_jpms_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS) #define ei_euc_cn_oflags (HAVE_QUOTATION_MARKS) #define ei_ces_gbk_oflags (HAVE_QUOTATION_MARKS) #define ei_cp936_oflags (HAVE_QUOTATION_MARKS) -#define ei_gb18030_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS | HAVE_HANGUL_JAMO) +#define ei_gb18030_2005_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS | HAVE_HANGUL_JAMO) +#define ei_gb18030_2022_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) @@ -148,6 +150,59 @@ #define ei_cp865_oflags (0) #define ei_cp869_oflags (HAVE_QUOTATION_MARKS) #define ei_cp1125_oflags (0) +#define ei_ebcdic037_oflags (HAVE_ACCENTS) +#define ei_ebcdic273_oflags (HAVE_ACCENTS) +#define ei_ebcdic277_oflags (HAVE_ACCENTS) +#define ei_ebcdic278_oflags (HAVE_ACCENTS) +#define ei_ebcdic280_oflags (HAVE_ACCENTS) +#define ei_ebcdic282_oflags (HAVE_ACCENTS) +#define ei_ebcdic284_oflags (HAVE_ACCENTS) +#define ei_ebcdic285_oflags (HAVE_ACCENTS) +#define ei_ebcdic297_oflags (HAVE_ACCENTS) +#define ei_ebcdic423_oflags (HAVE_ACCENTS) +#define ei_ebcdic424_oflags (HAVE_ACCENTS) +#define ei_ebcdic425_oflags (0) +#define ei_ebcdic500_oflags (HAVE_ACCENTS) +#define ei_ebcdic838_oflags (0) +#define ei_ebcdic870_oflags (HAVE_ACCENTS) +#define ei_ebcdic871_oflags (HAVE_ACCENTS) +#define ei_ebcdic875_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS) +#define ei_ebcdic880_oflags (0) +#define ei_ebcdic905_oflags (HAVE_ACCENTS) +#define ei_ebcdic924_oflags (0) +#define ei_ebcdic1025_oflags (0) +#define ei_ebcdic1026_oflags (HAVE_ACCENTS) +#define ei_ebcdic1047_oflags (HAVE_ACCENTS) +#define ei_ebcdic1097_oflags (0) +#define ei_ebcdic1112_oflags (0) +#define ei_ebcdic1122_oflags (HAVE_ACCENTS) +#define ei_ebcdic1123_oflags (0) +#define ei_ebcdic1130_oflags (0) +#define ei_ebcdic1132_oflags (0) +#define ei_ebcdic1137_oflags (0) +#define ei_ebcdic1140_oflags (HAVE_ACCENTS) +#define ei_ebcdic1141_oflags (HAVE_ACCENTS) +#define ei_ebcdic1142_oflags (HAVE_ACCENTS) +#define ei_ebcdic1143_oflags (HAVE_ACCENTS) +#define ei_ebcdic1144_oflags (HAVE_ACCENTS) +#define ei_ebcdic1145_oflags (HAVE_ACCENTS) +#define ei_ebcdic1146_oflags (HAVE_ACCENTS) +#define ei_ebcdic1147_oflags (HAVE_ACCENTS) +#define ei_ebcdic1148_oflags (HAVE_ACCENTS) +#define ei_ebcdic1149_oflags (HAVE_ACCENTS) +#define ei_ebcdic1153_oflags (HAVE_ACCENTS) +#define ei_ebcdic1154_oflags (0) +#define ei_ebcdic1155_oflags (HAVE_ACCENTS) +#define ei_ebcdic1156_oflags (0) +#define ei_ebcdic1157_oflags (HAVE_ACCENTS) +#define ei_ebcdic1158_oflags (0) +#define ei_ebcdic1160_oflags (0) +#define ei_ebcdic1164_oflags (0) +#define ei_ebcdic1165_oflags (HAVE_ACCENTS) +#define ei_ebcdic1166_oflags (0) +#define ei_ebcdic4971_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS) +#define ei_ebcdic12712_oflags (HAVE_ACCENTS) +#define ei_ebcdic16804_oflags (0) #define ei_euc_jisx0213_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS) #define ei_shift_jisx0213_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS) #define ei_iso2022_jp3_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS) diff --git a/Externals/libiconv-1.14/lib/flushwc.h b/Externals/libiconv/lib/flushwc.h similarity index 74% rename from Externals/libiconv-1.14/lib/flushwc.h rename to Externals/libiconv/lib/flushwc.h index da25212efaa..ec47fee7782 100644 --- a/Externals/libiconv-1.14/lib/flushwc.h +++ b/Externals/libiconv/lib/flushwc.h @@ -3,19 +3,18 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ #ifndef _FLUSHWC_H diff --git a/Externals/libiconv-1.14/lib/gb12345.h b/Externals/libiconv/lib/gb12345.h similarity index 80% rename from Externals/libiconv-1.14/lib/gb12345.h rename to Externals/libiconv/lib/gb12345.h index b7e062e3e62..b8d1eb6258a 100644 --- a/Externals/libiconv-1.14/lib/gb12345.h +++ b/Externals/libiconv/lib/gb12345.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -33,7 +32,7 @@ #include "gb12345ext.h" static int -gb12345_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +gb12345_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { int ret; @@ -48,7 +47,7 @@ gb12345_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) } static int -gb12345_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +gb12345_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { int ret; diff --git a/Externals/libiconv-1.14/lib/gb12345ext.h b/Externals/libiconv/lib/gb12345ext.h similarity index 99% rename from Externals/libiconv-1.14/lib/gb12345ext.h rename to Externals/libiconv/lib/gb12345ext.h index b461ec87d56..1e9e2fdd6e8 100644 --- a/Externals/libiconv-1.14/lib/gb12345ext.h +++ b/Externals/libiconv/lib/gb12345ext.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2012, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -1004,7 +1003,7 @@ static const unsigned short gb12345ext_2uni_page30[6871] = { }; static int -gb12345ext_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +gb12345ext_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c1 = s[0]; if ((c1 == 0x21) || (c1 == 0x26) || (c1 == 0x28) || (c1 >= 0x30 && c1 <= 0x79)) { @@ -1759,7 +1758,7 @@ static const Summary16 gb12345ext_uni2indx_pagefe[5] = { }; static int -gb12345ext_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +gb12345ext_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { if (n >= 2) { const Summary16 *summary = NULL; @@ -1778,9 +1777,9 @@ gb12345ext_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) unsigned int i = wc & 0x0f; if (used & ((unsigned short) 1 << i)) { unsigned short c; - /* Keep in `used' only the bits 0..i-1. */ + /* 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'. */ + /* 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); diff --git a/Externals/libiconv-1.14/lib/gb18030.h b/Externals/libiconv/lib/gb18030_2005.h similarity index 77% rename from Externals/libiconv-1.14/lib/gb18030.h rename to Externals/libiconv/lib/gb18030_2005.h index e9502e1bdd8..4e7fca57091 100644 --- a/Externals/libiconv-1.14/lib/gb18030.h +++ b/Externals/libiconv/lib/gb18030_2005.h @@ -1,32 +1,31 @@ /* - * Copyright (C) 1999-2001, 2005 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2005, 2012, 2016, 2023 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* - * GB18030 + * GB18030:2005 */ /* * GB18030, as specified in the GB18030 standard, is an extension of GBK. * * In what follows, page numbers refer to the GB18030 standard (second - * printing). + * printing) from 2005. * * * It consists of the following parts: @@ -145,7 +144,7 @@ * p. 12 0xA7C2..0xA7D0 U+E7A0..U+E7AE * p. 12 0xA7F2..0xA7FE U+E7AF..U+E7BB * p. 82 0xA896..0xA8A0 U+E7BC..U+E7C6 - * p. 12 0xA8BC [glyphs here!!] U+E7C7 + * p. 12 0x8135F437 U+E7C7 * p. 255 0x8336C830 U+E7C8 * p. 12 0xA8C1..0xA8C4 U+E7C9..U+E7CC * p. 12 0xA8EA..0xA8FE U+E7CD..U+E7E1 @@ -186,7 +185,7 @@ #include "gb18030uni.h" static int -gb18030_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +gb18030_2005_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { int ret; @@ -199,13 +198,13 @@ gb18030_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) if (ret != RET_ILSEQ) return ret; - ret = gb18030ext_mbtowc(conv,pwc,s,n); + ret = gb18030_2005_ext_mbtowc(conv,pwc,s,n); if (ret != RET_ILSEQ) return ret; /* Code set 2 (remainder of Unicode U+0000..U+FFFF), including User-defined characters, two-byte part of range U+E766..U+E864 */ - ret = gb18030uni_mbtowc(conv,pwc,s,n); + ret = gb18030_2005_uni_mbtowc(conv,pwc,s,n); if (ret != RET_ILSEQ) return ret; /* User-defined characters range U+E000..U+E765 */ @@ -267,44 +266,47 @@ gb18030_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) } } -static const unsigned short gb18030_pua2charset[32*3] = { -/* Unicode range GB18030 range */ - 0xe766, 0xe76b, 0xa2ab, /*.. 0xa2b0, */ - 0xe76d, 0xe76d, 0xa2e4, - 0xe76e, 0xe76f, 0xa2ef, /*.. 0xa2f0, */ - 0xe770, 0xe771, 0xa2fd, /*.. 0xa2fe, */ - 0xe772, 0xe77c, 0xa4f4, /*.. 0xa4fe, */ - 0xe77d, 0xe784, 0xa5f7, /*.. 0xa5fe, */ - 0xe785, 0xe78c, 0xa6b9, /*.. 0xa6c0, */ - 0xe78d, 0xe793, 0xa6d9, /*.. 0xa6df, */ - 0xe794, 0xe795, 0xa6ec, /*.. 0xa6ed, */ - 0xe796, 0xe796, 0xa6f3, - 0xe797, 0xe79f, 0xa6f6, /*.. 0xa6fe, */ - 0xe7a0, 0xe7ae, 0xa7c2, /*.. 0xa7d0, */ - 0xe7af, 0xe7bb, 0xa7f2, /*.. 0xa7fe, */ - 0xe7bc, 0xe7c6, 0xa896, /*.. 0xa8a0, */ - 0xe7c7, 0xe7c7, 0xa8bc, - 0xe7c9, 0xe7cc, 0xa8c1, /*.. 0xa8c4, */ - 0xe7cd, 0xe7e1, 0xa8ea, /*.. 0xa8fe, */ - 0xe7e2, 0xe7e2, 0xa958, - 0xe7e3, 0xe7e3, 0xa95b, - 0xe7e4, 0xe7e6, 0xa95d, /*.. 0xa95f, */ - 0xe7f4, 0xe800, 0xa997, /*.. 0xa9a3, */ - 0xe801, 0xe80f, 0xa9f0, /*.. 0xa9fe, */ - 0xe810, 0xe814, 0xd7fa, /*.. 0xd7fe, */ - 0xe816, 0xe818, 0xfe51, /*.. 0xfe53, */ - 0xe81e, 0xe81e, 0xfe59, - 0xe826, 0xe826, 0xfe61, - 0xe82b, 0xe82c, 0xfe66, /*.. 0xfe67, */ - 0xe831, 0xe832, 0xfe6c, /*.. 0xfe6d, */ - 0xe83b, 0xe83b, 0xfe76, - 0xe843, 0xe843, 0xfe7e, - 0xe854, 0xe855, 0xfe90, /*.. 0xfe91, */ - 0xe864, 0xe864, 0xfea0, +static const struct { unsigned short uni[2]; unsigned int charset; } gb18030_2005_pua2charset[35] = { +/* Unicode range GB18030 range */ + { { 0xe766, 0xe76b }, 0xa2ab /*.. 0xa2b0, */ }, + { { 0xe76d, 0xe76d }, 0xa2e4 }, + { { 0xe76e, 0xe76f }, 0xa2ef /*.. 0xa2f0, */ }, + { { 0xe770, 0xe771 }, 0xa2fd /*.. 0xa2fe, */ }, + { { 0xe772, 0xe77c }, 0xa4f4 /*.. 0xa4fe, */ }, + { { 0xe77d, 0xe784 }, 0xa5f7 /*.. 0xa5fe, */ }, + { { 0xe785, 0xe78c }, 0xa6b9 /*.. 0xa6c0, */ }, + { { 0xe78d, 0xe793 }, 0xa6d9 /*.. 0xa6df, */ }, + { { 0xe794, 0xe795 }, 0xa6ec /*.. 0xa6ed, */ }, + { { 0xe796, 0xe796 }, 0xa6f3 }, + { { 0xe797, 0xe79f }, 0xa6f6 /*.. 0xa6fe, */ }, + { { 0xe7a0, 0xe7ae }, 0xa7c2 /*.. 0xa7d0, */ }, + { { 0xe7af, 0xe7bb }, 0xa7f2 /*.. 0xa7fe, */ }, + { { 0xe7bc, 0xe7c6 }, 0xa896 /*.. 0xa8a0, */ }, + { { 0xe7c9, 0xe7cc }, 0xa8c1 /*.. 0xa8c4, */ }, + { { 0xe7cd, 0xe7e1 }, 0xa8ea /*.. 0xa8fe, */ }, + { { 0xe7e2, 0xe7e2 }, 0xa958 }, + { { 0xe7e3, 0xe7e3 }, 0xa95b }, + { { 0xe7e4, 0xe7e6 }, 0xa95d /*.. 0xa95f, */ }, + { { 0xe7f4, 0xe800 }, 0xa997 /*.. 0xa9a3, */ }, + { { 0xe801, 0xe80f }, 0xa9f0 /*.. 0xa9fe, */ }, + { { 0xe810, 0xe814 }, 0xd7fa /*.. 0xd7fe, */ }, + { { 0xe816, 0xe816 }, 0x95329031 }, + { { 0xe817, 0xe817 }, 0x95329033 }, + { { 0xe818, 0xe818 }, 0x95329730 }, + { { 0xe81e, 0xe81e }, 0xfe59 }, + { { 0xe826, 0xe826 }, 0xfe61 }, + { { 0xe82b, 0xe82c }, 0xfe66 /*.. 0xfe67, */ }, + { { 0xe831, 0xe831 }, 0x9536b937 }, + { { 0xe832, 0xe832 }, 0xfe6d }, + { { 0xe83b, 0xe83b }, 0x9630ba35 }, + { { 0xe843, 0xe843 }, 0xfe7e }, + { { 0xe854, 0xe854 }, 0xfe90 }, + { { 0xe855, 0xe855 }, 0x9635b630 }, + { { 0xe864, 0xe864 }, 0xfea0 }, }; static int -gb18030_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +gb18030_2005_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { int ret; @@ -339,30 +341,39 @@ gb18030_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) return 2; } } else { - /* User-defined characters, two-byte part of range U+E766..U+E864 */ + /* User-defined characters, two-byte part and 6 four-byte mappings in + range U+E766..U+E864 */ unsigned int k1 = 0; - unsigned int k2 = 32; + unsigned int k2 = 35; /* Invariant: We know that if wc occurs in Unicode interval in - gb18030_pua2charset, it does so at a k with k1 <= k < k2. */ + gb18030_2005_pua2charset, it does so at a k with k1 <= k < k2. */ while (k1 < k2) { unsigned int k = (k1 + k2) / 2; - if (wc < gb18030_pua2charset[k*3+0]) + if (wc < gb18030_2005_pua2charset[k].uni[0]) k2 = k; - else if (wc > gb18030_pua2charset[k*3+1]) + else if (wc > gb18030_2005_pua2charset[k].uni[1]) k1 = k + 1; else { - unsigned short c = - gb18030_pua2charset[k*3+2] + (wc - gb18030_pua2charset[k*3+0]); - r[0] = (c >> 8); - r[1] = (c & 0xff); - return 2; + unsigned int c = + gb18030_2005_pua2charset[k].charset + (wc - gb18030_2005_pua2charset[k].uni[0]); + if (c < 0x10000) { + r[0] = (c >> 8); + r[1] = c & 0xff; + return 2; + } else { + r[0] = (c >> 24); + r[1] = (c >> 16) & 0xff; + r[2] = (c >> 8) & 0xff; + r[3] = c & 0xff; + return 4; + } } } } } else return RET_TOOSMALL; } - ret = gb18030uni_wctomb(conv,r,wc,n); + ret = gb18030_2005_uni_wctomb(conv,r,wc,n); if (ret != RET_ILUNI) return ret; diff --git a/Externals/libiconv/lib/gb18030_2022.h b/Externals/libiconv/lib/gb18030_2022.h new file mode 100644 index 00000000000..4d70a927d40 --- /dev/null +++ b/Externals/libiconv/lib/gb18030_2022.h @@ -0,0 +1,215 @@ +/* + * Copyright (C) 1999-2001, 2005, 2012, 2016, 2023 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV Library is free software; you can redistribute it + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV Library is distributed in the hope that it will be + * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with the GNU LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * GB18030:2022 + */ + +/* + * GB18030, in the version from 2022, is like the version from 2005, + * except that a few mappings to the Unicode PUA have been replaced with + * mappings to assigned Unicode characters. + */ + +static int +gb18030_2022_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t 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 = gb18030_2022_ext_mbtowc(conv,pwc,s,n); + if (ret != RET_ILSEQ) + return ret; + + /* Code set 2 (remainder of Unicode U+0000..U+FFFF), including + User-defined characters, two-byte part of range U+E766..U+E864 */ + ret = gb18030_2022_uni_mbtowc(conv,pwc,s,n); + if (ret != RET_ILSEQ) + return ret; + /* User-defined characters range U+E000..U+E765 */ + { + unsigned char c1 = s[0]; + if ((c1 >= 0xaa && c1 <= 0xaf) || (c1 >= 0xf8 && c1 <= 0xfe)) { + if (n >= 2) { + unsigned char c2 = s[1]; + if (c2 >= 0xa1 && c2 <= 0xfe) { + *pwc = 0xe000 + 94 * (c1 >= 0xf8 ? c1 - 0xf2 : c1 - 0xaa) + (c2 - 0xa1); + return 2; + } + } else + return RET_TOOFEW(0); + } else if (c1 >= 0xa1 && c1 <= 0xa7) { + if (n >= 2) { + unsigned char c2 = s[1]; + if (c2 >= 0x40 && c2 <= 0xa1 && c2 != 0x7f) { + *pwc = 0xe4c6 + 96 * (c1 - 0xa1) + c2 - (c2 >= 0x80 ? 0x41 : 0x40); + return 2; + } + } else + return RET_TOOFEW(0); + } + } + + /* Code set 3 (Unicode U+10000..U+10FFFF) */ + { + unsigned char c1 = s[0]; + if (c1 >= 0x90 && c1 <= 0xe3) { + 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 - 0x90) * 10 + (c2 - 0x30)) * 126 + (c3 - 0x81)) * 10 + (c4 - 0x30); + if (i >= 0 && i < 0x100000) { + *pwc = (ucs4_t) (0x10000 + i); + 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 const unsigned short gb18030_2022_pua2charset[23*3] = { +/* Unicode range GB18030 range */ + 0xe766, 0xe76b, 0xa2ab, /*.. 0xa2b0, */ + 0xe76d, 0xe76d, 0xa2e4, + 0xe76e, 0xe76f, 0xa2ef, /*.. 0xa2f0, */ + 0xe770, 0xe771, 0xa2fd, /*.. 0xa2fe, */ + 0xe772, 0xe77c, 0xa4f4, /*.. 0xa4fe, */ + 0xe77d, 0xe784, 0xa5f7, /*.. 0xa5fe, */ + 0xe785, 0xe78c, 0xa6b9, /*.. 0xa6c0, */ + 0xe797, 0xe79f, 0xa6f6, /*.. 0xa6fe, */ + 0xe7a0, 0xe7ae, 0xa7c2, /*.. 0xa7d0, */ + 0xe7af, 0xe7bb, 0xa7f2, /*.. 0xa7fe, */ + 0xe7bc, 0xe7c6, 0xa896, /*.. 0xa8a0, */ + 0xe7c9, 0xe7cc, 0xa8c1, /*.. 0xa8c4, */ + 0xe7cd, 0xe7e1, 0xa8ea, /*.. 0xa8fe, */ + 0xe7e2, 0xe7e2, 0xa958, + 0xe7e3, 0xe7e3, 0xa95b, + 0xe7e4, 0xe7e6, 0xa95d, /*.. 0xa95f, */ + 0xe7f4, 0xe800, 0xa997, /*.. 0xa9a3, */ + 0xe801, 0xe80f, 0xa9f0, /*.. 0xa9fe, */ + 0xe810, 0xe814, 0xd7fa, /*.. 0xd7fe, */ + 0xe816, 0xe818, 0xfe51, /*.. 0xfe53, */ + 0xe831, 0xe831, 0xfe6c, + 0xe83b, 0xe83b, 0xfe76, + 0xe855, 0xe855, 0xfe91, +}; + +static int +gb18030_2022_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + int ret; + + /* Code set 0 (ASCII) */ + ret = ascii_wctomb(conv,r,wc,n); + if (ret != RET_ILUNI) + return ret; + + /* Code set 1 (GBK extended) */ + ret = gbk_wctomb(conv,r,wc,n); + if (ret != RET_ILUNI) + return ret; + + ret = gb18030ext_wctomb(conv,r,wc,n); + if (ret != RET_ILUNI) + return ret; + + /* Code set 2 (remainder of Unicode U+0000..U+FFFF) */ + if (wc >= 0xe000 && wc <= 0xe864) { + if (n >= 2) { + if (wc < 0xe766) { + /* User-defined characters range U+E000..U+E765 */ + if (wc < 0xe4c6) { + unsigned int i = wc - 0xe000; + r[1] = (i % 94) + 0xa1; i = i / 94; + r[0] = (i < 6 ? i + 0xaa : i + 0xf2); + return 2; + } else { + unsigned int i = wc - 0xe4c6; + r[0] = (i / 96) + 0xa1; i = i % 96; + r[1] = i + (i >= 0x3f ? 0x41 : 0x40); + return 2; + } + } else { + /* User-defined characters, two-byte part of range U+E766..U+E864 */ + unsigned int k1 = 0; + unsigned int k2 = 23; + /* Invariant: We know that if wc occurs in Unicode interval in + gb18030_2022_pua2charset, it does so at a k with k1 <= k < k2. */ + while (k1 < k2) { + unsigned int k = (k1 + k2) / 2; + if (wc < gb18030_2022_pua2charset[k*3+0]) + k2 = k; + else if (wc > gb18030_2022_pua2charset[k*3+1]) + k1 = k + 1; + else { + unsigned short c = + gb18030_2022_pua2charset[k*3+2] + (wc - gb18030_2022_pua2charset[k*3+0]); + r[0] = (c >> 8); + r[1] = (c & 0xff); + return 2; + } + } + } + } else + return RET_TOOSMALL; + } + ret = gb18030_2022_uni_wctomb(conv,r,wc,n); + if (ret != RET_ILUNI) + return ret; + + /* Code set 3 (Unicode U+10000..U+10FFFF) */ + if (n >= 4) { + if (wc >= 0x10000 && wc < 0x110000) { + unsigned int i = wc - 0x10000; + 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 + 0x90; + return 4; + } + return RET_ILUNI; + } + return RET_TOOSMALL; +} diff --git a/Externals/libiconv-1.14/lib/gb18030ext.h b/Externals/libiconv/lib/gb18030ext.h similarity index 72% rename from Externals/libiconv-1.14/lib/gb18030ext.h rename to Externals/libiconv/lib/gb18030ext.h index 5e59419bc8c..97f01dad027 100644 --- a/Externals/libiconv-1.14/lib/gb18030ext.h +++ b/Externals/libiconv/lib/gb18030ext.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001, 2005, 2011 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2005, 2011, 2016, 2023 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -27,7 +26,7 @@ static const unsigned short gb18030ext_2uni_pagea9[13] = { 0x303e, 0x2ff0, 0x2ff1, 0x2ff2, 0x2ff3, 0x2ff4, 0x2ff5, 0x2ff6, 0x2ff7, 0x2ff8, 0x2ff9, 0x2ffa, 0x2ffb, }; -static const unsigned int gb18030ext_2uni_pagefe[96] = { +static const unsigned int gb18030_2005_ext_2uni_pagefe[96] = { /* 0xfe */ 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, @@ -43,8 +42,24 @@ static const unsigned int gb18030ext_2uni_pagefe[96] = { 0x4d14, 0x4d15, 0x4d16, 0x4d17, 0x4d18, 0x4d19, 0x4dae, 0x9fbb, }; +static const unsigned short gb18030_2022_ext_2uni_pagefe[96] = { + /* 0xfe */ + 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, + 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, + 0x2e81, 0xe816, 0xe817, 0xe818, 0x2e84, 0x3473, 0x3447, 0x2e88, + 0x2e8b, 0x9fb4, 0x359e, 0x361a, 0x360e, 0x2e8c, 0x2e97, 0x396e, + 0x3918, 0x9fb5, 0x39cf, 0x39df, 0x3a73, 0x39d0, 0x9fb6, 0x9fb7, + 0x3b4e, 0x3c6e, 0x3ce0, 0x2ea7, 0xe831, 0x9fb8, 0x2eaa, 0x4056, + 0x415f, 0x2eae, 0x4337, 0x2eb3, 0x2eb6, 0x2eb7, 0xe83b, 0x43b1, + 0x43ac, 0x2ebb, 0x43dd, 0x44d6, 0x4661, 0x464c, 0x9fb9, 0x4723, + 0x4729, 0x477c, 0x478d, 0x2eca, 0x4947, 0x497a, 0x497d, 0x4982, + 0x4983, 0x4985, 0x4986, 0x499f, 0x499b, 0x49b7, 0x49b6, 0x9fba, + 0xe855, 0x4ca3, 0x4c9f, 0x4ca0, 0x4ca1, 0x4c77, 0x4ca2, 0x4d13, + 0x4d14, 0x4d15, 0x4d16, 0x4d17, 0x4d18, 0x4d19, 0x4dae, 0x9fbb, +}; + static int -gb18030ext_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +gb18030_2005_ext_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c1 = s[0]; if ((c1 == 0xa2) || (c1 >= 0xa4 && c1 <= 0xa9) || (c1 == 0xd7) || (c1 == 0xfe)) { @@ -126,7 +141,107 @@ gb18030ext_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) break; case 0xfe: if (i < 23846) - wc = gb18030ext_2uni_pagefe[i-23750]; + wc = gb18030_2005_ext_2uni_pagefe[i-23750]; + break; + default: + break; + } + if (wc != 0xfffd) { + *pwc = (ucs4_t) wc; + return 2; + } + } + return RET_ILSEQ; + } + return RET_TOOFEW(0); + } + return RET_ILSEQ; +} + +static int +gb18030_2022_ext_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c1 = s[0]; + if ((c1 == 0xa2) || (c1 >= 0xa4 && c1 <= 0xa9) || (c1 == 0xd7) || (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 int wc = 0xfffd; + switch (c1) { + case 0xa2: + if (i >= 6376 && i <= 6381) /* 0xA2AB..0xA2B0 */ + wc = 0xe766 + (i - 6376); + else if (i == 6432) /* 0xA2E3 */ + wc = 0x20ac; + else if (i == 6433) /* 0xA2E4 */ + wc = 0xe76d; + else if (i >= 6444 && i <= 6445) /* 0xA2EF..0xA2F0 */ + wc = 0xe76e + (i - 6444); + else if (i >= 6458 && i <= 6459) /* 0xA2FD..0xA2FE */ + wc = 0xe770 + (i - 6458); + break; + case 0xa4: + if (i >= 6829 && i <= 6839) /* 0xA4F4..0xA4FE */ + wc = 0xe772 + (i - 6829); + break; + case 0xa5: + if (i >= 7022 && i <= 7029) /* 0xA5F7..0xA5FE */ + wc = 0xe77d + (i - 7022); + break; + case 0xa6: + if (i >= 7150 && i <= 7157) /* 0xA6B9..0xA6C0 */ + wc = 0xe785 + (i - 7150); + else if (i >= 7183 && i <= 7184) /* 0xA6DA..0xA6DB */ + wc = 0xfe12 - (i - 7183); + else if (i >= 7182 && i <= 7190) /* 0xA6D9..0xA6DF */ + wc = 0xfe10 + (i - 7182); + else if (i >= 7201 && i <= 7202) /* 0xA6EC..0xA6ED */ + wc = 0xfe17 + (i - 7201); + else if (i == 7208) /* 0xA6F3 */ + wc = 0xfe19; + else if (i >= 7211 && i <= 7219) /* 0xA6F6..0xA6FE */ + wc = 0xe797 + (i - 7211); + break; + case 0xa7: + if (i >= 7349 && i <= 7363) /* 0xA7C2..0xA7D0 */ + wc = 0xe7a0 + (i - 7349); + else if (i >= 7397 && i <= 7409) /* 0xA7F2..0xA7FE */ + wc = 0xe7af + (i - 7397); + break; + case 0xa8: + if (i >= 7495 && i <= 7505) /* 0xA896..0xA8A0 */ + wc = 0xe7bc + (i - 7495); + else if (i == 7533) /* 0xA8BC */ + wc = 0x1e3f; + else if (i == 7536) /* 0xA8BF */ + wc = 0x01f9; + else if (i >= 7538 && i <= 7541) /* 0xA8C1..0xA8C4 */ + wc = 0xe7c9 + (i - 7538); + else if (i >= 7579 && i <= 7599) /* 0xA8EA..0xA8FE */ + wc = 0xe7cd + (i - 7579); + break; + case 0xa9: + if (i == 7624) /* 0xA958 */ + wc = 0xe7e2; + else if (i == 7627) /* 0xA95B */ + wc = 0xe7e3; + else if (i >= 7629 && i <= 7631) /* 0xA95D..0xA95F */ + wc = 0xe7e4 + (i - 7629); + else if (i >= 7672 && i < 7685) /* 0xA989..0xA995 */ + wc = gb18030ext_2uni_pagea9[i-7672]; + else if (i >= 7686 && i <= 7698) /* 0xA997..0xA9A3 */ + wc = 0xe7f4 + (i - 7686); + else if (i >= 7775 && i <= 7789) /* 0xA9F0..0xA9FE */ + wc = 0xe801 + (i - 7775); + break; + case 0xd7: + if (i >= 16525 && i <= 16529) /* 0xD7FA..0xD7FE */ + wc = 0xe810 + (i - 16525); + break; + case 0xfe: + if (i < 23846) + wc = gb18030_2022_ext_2uni_pagefe[i-23750]; break; default: break; @@ -242,7 +357,7 @@ static const unsigned short gb18030ext_pagefe[16] = { }; static int -gb18030ext_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +gb18030ext_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { if (n >= 2) { unsigned short c = 0; @@ -306,18 +421,6 @@ gb18030ext_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) c = gb18030ext_page9f[wc-0x9fb0]; else if (wc >= 0xfe10 && wc < 0xfe1a) c = gb18030ext_pagefe[wc-0xfe10]; - else if (wc == 0x20087) - c = 0xfe51; - else if (wc == 0x20089) - c = 0xfe52; - else if (wc == 0x200cc) - c = 0xfe53; - else if (wc == 0x215d7) - c = 0xfe6c; - else if (wc == 0x2298f) - c = 0xfe76; - else if (wc == 0x241fe) - c = 0xfe91; if (c != 0) { r[0] = (c >> 8); r[1] = (c & 0xff); return 2; diff --git a/Externals/libiconv-1.14/lib/gb18030uni.h b/Externals/libiconv/lib/gb18030uni.h similarity index 62% rename from Externals/libiconv-1.14/lib/gb18030uni.h rename to Externals/libiconv/lib/gb18030uni.h index bea31e513b7..1f5a2cc23bb 100644 --- a/Externals/libiconv-1.14/lib/gb18030uni.h +++ b/Externals/libiconv/lib/gb18030uni.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001, 2005 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2005, 2012, 2016, 2023 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -167,8 +166,16 @@ static const unsigned short gb18030uni_ranges[206] = { 25994, 25998, 26012, 26016, 26110, 26116 }; +static const unsigned short gb18030_2022_charset2uni_pua1[8] = { + 0xe81e, 0xe826, 0xe82b, 0xe82c, 0xe832, 0xe843, 0xe854, 0xe864 +}; + +static const unsigned short gb18030_2022_charset2uni_pua2[10] = { + 0xe78d, 0xe78f, 0xe78e, 0xe790, 0xe791, 0xe792, 0xe793, 0xe794, 0xe795, 0xe796 +}; + static int -gb18030uni_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +gb18030_2005_uni_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c1 = s[0]; if (c1 >= 0x81 && c1 <= 0x84) { @@ -183,22 +190,26 @@ gb18030uni_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) if (c4 >= 0x30 && c4 <= 0x39) { unsigned int i = (((c1 - 0x81) * 10 + (c2 - 0x30)) * 126 + (c3 - 0x81)) * 10 + (c4 - 0x30); if (i >= 0 && i <= 39419) { - unsigned int k1 = 0; - unsigned int k2 = 205; - 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 diff = gb18030uni_ranges[k1]; - *pwc = (ucs4_t) (i + diff); - return 4; + if (i == 7457) { + *pwc = 0xe7c7; + } else { + unsigned int k1 = 0; + unsigned int k2 = 205; + 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 diff = gb18030uni_ranges[k1]; + *pwc = (ucs4_t) (i + diff); + } } + return 4; } } return RET_ILSEQ; @@ -217,31 +228,162 @@ gb18030uni_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) } static int -gb18030uni_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +gb18030_2022_uni_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t 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 <= 39419) { + if (i == 7457) { + *pwc = 0xe7c7; + } else if (i >= 19057 && i <= 19064) { + *pwc = gb18030_2022_charset2uni_pua1[i-19057]; + } else if (i >= 39076 && i <= 39085) { + *pwc = gb18030_2022_charset2uni_pua2[i-39076]; + } else { + unsigned int k1 = 0; + unsigned int k2 = 205; + 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 diff = gb18030uni_ranges[k1]; + *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 const unsigned char gb18030_2022_uni2charset_pua1[71] = { + /* 0xe810 */ 1, 0, + /* 0xe820 */ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 3, 4, 0, 0, 0, + /* 0xe830 */ 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + /* 0xe840 */ 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + /* 0xe850 */ 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + /* 0xe860 */ 0, 0, 0, 0, 8, +}; + +static const unsigned char gb18030_2022_uni2charset_pua2[10] = { + 0, 2, 1, 3, 4, 5, 6, 7, 8, 9 +}; + +static int +gb18030_2005_uni_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { if (n >= 4) { - unsigned int i = wc; - if (i >= 0x0080 && i <= 0xffff) { - unsigned int k1 = 0; - unsigned int k2 = 205; - 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_ILUNI; + unsigned int i; + if (wc >= 0x0080 && wc <= 0xffff) { + if (wc == 0xe7c7) { + i = 7457; + } else { + unsigned int k1 = 0; + unsigned int k2 = 205; + i = wc; + 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_ILUNI; + } + { + unsigned int diff = gb18030uni_ranges[k1]; + i -= diff; + } } - { - unsigned int diff = gb18030uni_ranges[k1]; - 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; + } else if (wc >= 0x20087 && wc <= 0x241fe) { + if (wc == 0x20087) + i = 0x3e2cf; + else if (wc == 0x20089) + i = 0x3e2d1; + else if (wc == 0x200cc) + i = 0x3e314; + else if (wc == 0x215d7) + i = 0x3f81f; + else if (wc == 0x2298f) + i = 0x40bd7; + else if (wc == 0x241fe) + i = 0x42446; + else + return RET_ILUNI; + } else + return RET_ILUNI; + 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_TOOSMALL; +} + +static int +gb18030_2022_uni_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + if (n >= 4) { + if (wc >= 0x0080 && wc <= 0xffff) { + unsigned int i; + if (wc == 0xe7c7) { + i = 7457; + } else if (wc >= 0xe78d && wc <= 0xe796) { + i = 39076 + gb18030_2022_uni2charset_pua2[wc-0xe78d]; + } else if (wc >= 0xe81e && wc <= 0xe864 && gb18030_2022_uni2charset_pua1[wc-0xe81e]) { + i = 19056 + gb18030_2022_uni2charset_pua1[wc-0xe81e]; + } else { + unsigned int k1 = 0; + unsigned int k2 = 205; + i = wc; + 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_ILUNI; + } + { + unsigned int diff = gb18030uni_ranges[k1]; + 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_ILUNI; } diff --git a/Externals/libiconv-1.14/lib/gb2312.h b/Externals/libiconv/lib/gb2312.h similarity index 99% rename from Externals/libiconv-1.14/lib/gb2312.h rename to Externals/libiconv/lib/gb2312.h index 831a5691273..fb0621a7a1e 100644 --- a/Externals/libiconv-1.14/lib/gb2312.h +++ b/Externals/libiconv/lib/gb2312.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2012, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -1079,7 +1078,7 @@ static const unsigned short gb2312_2uni_page30[6768] = { }; static int -gb2312_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +gb2312_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c1 = s[0]; if ((c1 >= 0x21 && c1 <= 0x29) || (c1 >= 0x30 && c1 <= 0x77)) { @@ -2532,7 +2531,7 @@ static const Summary16 gb2312_uni2indx_pageff[15] = { }; static int -gb2312_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +gb2312_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { if (n >= 2) { const Summary16 *summary = NULL; @@ -2553,9 +2552,9 @@ gb2312_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) unsigned int i = wc & 0x0f; if (used & ((unsigned short) 1 << i)) { unsigned short c; - /* Keep in `used' only the bits 0..i-1. */ + /* 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'. */ + /* 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); diff --git a/Externals/libiconv-1.14/lib/gbk.h b/Externals/libiconv/lib/gbk.h similarity index 89% rename from Externals/libiconv-1.14/lib/gbk.h rename to Externals/libiconv/lib/gbk.h index b6ff526284e..7ed3509b5b5 100644 --- a/Externals/libiconv-1.14/lib/gbk.h +++ b/Externals/libiconv/lib/gbk.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001, 2005, 2008 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2005, 2008, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -61,7 +60,7 @@ #include "cp936ext.h" static int -gbk_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +gbk_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; @@ -109,7 +108,7 @@ gbk_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) } static int -gbk_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +gbk_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char buf[2]; int ret; diff --git a/Externals/libiconv-1.14/lib/gbkext1.h b/Externals/libiconv/lib/gbkext1.h similarity index 99% rename from Externals/libiconv-1.14/lib/gbkext1.h rename to Externals/libiconv/lib/gbkext1.h index d244c7695e2..7aac6c746c0 100644 --- a/Externals/libiconv-1.14/lib/gbkext1.h +++ b/Externals/libiconv/lib/gbkext1.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2000 Free Software Foundation, Inc. + * Copyright (C) 1999-2000, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -826,7 +825,7 @@ static const unsigned short gbkext1_2uni_page81[6080] = { }; static int -gbkext1_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +gbkext1_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c1 = s[0]; if ((c1 >= 0x81 && c1 <= 0xa0)) { diff --git a/Externals/libiconv-1.14/lib/gbkext2.h b/Externals/libiconv/lib/gbkext2.h similarity index 99% rename from Externals/libiconv-1.14/lib/gbkext2.h rename to Externals/libiconv/lib/gbkext2.h index 5a0dbdec57f..af19aa5bcaa 100644 --- a/Externals/libiconv-1.14/lib/gbkext2.h +++ b/Externals/libiconv/lib/gbkext2.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2000 Free Software Foundation, Inc. + * Copyright (C) 1999-2000, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -1147,7 +1146,7 @@ static const unsigned short gbkext2_2uni_pagea8[8272] = { }; static int -gbkext2_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +gbkext2_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c1 = s[0]; if ((c1 >= 0xa8 && c1 <= 0xfe)) { diff --git a/Externals/libiconv-1.14/lib/gbkext_inv.h b/Externals/libiconv/lib/gbkext_inv.h similarity index 99% rename from Externals/libiconv-1.14/lib/gbkext_inv.h rename to Externals/libiconv/lib/gbkext_inv.h index 45f57d9b762..eeb76e4a814 100644 --- a/Externals/libiconv-1.14/lib/gbkext_inv.h +++ b/Externals/libiconv/lib/gbkext_inv.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2012, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -2300,7 +2299,7 @@ static const Summary16 gbkext_inv_uni2indx_pagefe[31] = { }; static int -gbkext_inv_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +gbkext_inv_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { if (n >= 2) { const Summary16 *summary = NULL; @@ -2325,9 +2324,9 @@ gbkext_inv_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) unsigned int i = wc & 0x0f; if (used & ((unsigned short) 1 << i)) { unsigned short c; - /* Keep in `used' only the bits 0..i-1. */ + /* 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'. */ + /* 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); diff --git a/Externals/libiconv/lib/genaliases.c b/Externals/libiconv/lib/genaliases.c new file mode 100644 index 00000000000..82606813a07 --- /dev/null +++ b/Externals/libiconv/lib/genaliases.c @@ -0,0 +1,136 @@ +/* Copyright (C) 1999-2001, 2003, 2005, 2008, 2012, 2017, 2023 Free Software Foundation, Inc. + This file is part of the GNU LIBICONV Library. + + The GNU LIBICONV Library is free software; you can redistribute it + and/or modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either version 2.1 + of the License, or (at your option) any later version. + + The GNU LIBICONV Library is distributed in the hope that it will be + useful, but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU LIBICONV Library; see the file COPYING.LIB. + If not, see . */ + +/* Creates the aliases.gperf table. */ + +#include +#include + +/* When we create shell scripts, we need to make sure that on Cygwin they have + Unix end-of-line characters, regardless of Cygwin choice of text mode vs. + binary mode. On z/OS, however, binary mode turns off charset tagging for + output files, which is not what we want. */ +#if defined __MVS__ +# define BINARY_MODE "" +#else +# define BINARY_MODE "b" +#endif + +static void emit_alias (FILE* out1, const char* alias, const char* c_name) +{ + /* Output alias in upper case. */ + const char* s = alias; + for (; *s; s++) { + unsigned char c = * (unsigned char *) s; + if (c >= 0x80) + exit(1); + if (c >= 'a' && c <= 'z') + c -= 'a'-'A'; + putc(c, out1); + } + fprintf(out1,", ei_%s\n", c_name); +} + +static void emit_encoding (FILE* out1, FILE* out2, const char* const* names, size_t n, const char* c_name) +{ + fprintf(out2,"grep 'sizeof(\""); + /* Output *names in upper case. */ + { + const char* s = *names; + for (; *s; s++) { + unsigned char c = * (unsigned char *) s; + if (c >= 0x80) + exit(1); + if (c >= 'a' && c <= 'z') + c -= 'a'-'A'; + putc(c, out2); + } + } + fprintf(out2,"\")' tmp.h | sed -e 's|^.*\\(stringpool_str[0-9]*\\).*$| (int)(long)\\&((struct stringpool_t *)0)->\\1,|'\n"); + for (; n > 0; names++, n--) + emit_alias(out1, *names, c_name); +} + +int main (int argc, char* argv[]) +{ + char* aliases_file_name; + char* canonical_sh_file_name; + char* canonical_local_sh_file_name; + FILE* aliases_file; + FILE* canonical_sh_file; + + if (argc != 4) { + fprintf(stderr, "Usage: genaliases aliases.gperf canonical.sh canonical_local.sh\n"); + exit(1); + } + + aliases_file_name = argv[1]; + canonical_sh_file_name = argv[2]; + canonical_local_sh_file_name = argv[3]; + + aliases_file = fopen(aliases_file_name, "w"); + if (aliases_file == NULL) { + fprintf(stderr, "Could not open '%s' for writing\n", aliases_file_name); + exit(1); + } + + fprintf(aliases_file, "struct alias { int name; unsigned int encoding_index; };\n"); + fprintf(aliases_file, "%%struct-type\n"); + fprintf(aliases_file, "%%language=ANSI-C\n"); + fprintf(aliases_file, "%%define hash-function-name aliases_hash\n"); + fprintf(aliases_file, "%%define lookup-function-name aliases_lookup\n"); + fprintf(aliases_file, "%%7bit\n"); + fprintf(aliases_file, "%%readonly-tables\n"); + fprintf(aliases_file, "%%global-table\n"); + fprintf(aliases_file, "%%define word-array-name aliases\n"); + fprintf(aliases_file, "%%pic\n"); + fprintf(aliases_file, "%%%%\n"); + +#define DEFENCODING(xxx_names,xxx,xxx_ifuncs1,xxx_ifuncs2,xxx_ofuncs1,xxx_ofuncs2) \ + { \ + static const char* const names[] = BRACIFY xxx_names; \ + emit_encoding(aliases_file,canonical_sh_file,names,sizeof(names)/sizeof(names[0]),#xxx); \ + } +#define BRACIFY(...) { __VA_ARGS__ } +#define DEFALIAS(xxx_alias,xxx) emit_alias(aliases_file,xxx_alias,#xxx); + + canonical_sh_file = fopen(canonical_sh_file_name, "w" BINARY_MODE); + if (canonical_sh_file == NULL) { + fprintf(stderr, "Could not open '%s' for writing\n", canonical_sh_file_name); + exit(1); + } +#include "encodings.def" + if (ferror(canonical_sh_file) || fclose(canonical_sh_file)) + exit(1); + + canonical_sh_file = fopen(canonical_local_sh_file_name, "w" BINARY_MODE); + if (canonical_sh_file == NULL) { + fprintf(stderr, "Could not open '%s' for writing\n", canonical_local_sh_file_name); + exit(1); + } +#include "encodings_local.def" + if (ferror(canonical_sh_file) || fclose(canonical_sh_file)) + exit(1); + +#undef DEFALIAS +#undef BRACIFY +#undef DEFENCODING + + if (ferror(aliases_file) || fclose(aliases_file)) + exit(1); + exit(0); +} diff --git a/Externals/libiconv-1.14/lib/genaliases2.c b/Externals/libiconv/lib/genaliases2.c similarity index 59% rename from Externals/libiconv-1.14/lib/genaliases2.c rename to Externals/libiconv/lib/genaliases2.c index 1b789ed9aa2..51a951cc87c 100644 --- a/Externals/libiconv-1.14/lib/genaliases2.c +++ b/Externals/libiconv/lib/genaliases2.c @@ -1,20 +1,19 @@ -/* Copyright (C) 1999-2003, 2005, 2008 Free Software Foundation, Inc. +/* Copyright (C) 1999-2003, 2005, 2008, 2012, 2022 Free Software Foundation, Inc. This file is part of the GNU LIBICONV Library. The GNU LIBICONV Library is free software; you can redistribute it - and/or modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either version 2 + and/or modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. The GNU LIBICONV Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. + Lesser General Public License for more details. - You should have received a copy of the GNU Library General Public + You should have received a copy of the GNU Lesser General Public License along with the GNU LIBICONV Library; see the file COPYING.LIB. - If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - Fifth Floor, Boston, MA 02110-1301, USA. */ + If not, see . */ /* Creates the aliases2.h table. */ @@ -51,17 +50,40 @@ static void emit_encoding (FILE* out1, FILE* out2, const char* tag, const char* int main (int argc, char* argv[]) { - const char * tag = (argc > 1 ? argv[1] : "xxx"); - FILE * stdout2 = fdopen(3, "w"); - if (stdout2 == NULL) + const char* tag; + char* aliases_file_name; + char* canonical_file_name; + FILE* aliases_file; + FILE* canonical_file; + + if (argc != 4) { + fprintf(stderr, "Usage: genaliases2 tag aliases.h canonical.h\n"); exit(1); + } + + tag = argv[1]; + aliases_file_name = argv[2]; + canonical_file_name = argv[3]; + + aliases_file = fopen(aliases_file_name, "w"); + if (aliases_file == NULL) { + fprintf(stderr, "Could not open '%s' for writing\n", aliases_file_name); + exit(1); + } + + canonical_file = fopen(canonical_file_name, "w"); + if (canonical_file == NULL) { + fprintf(stderr, "Could not open '%s' for writing\n", canonical_file_name); + exit(1); + } + #define DEFENCODING(xxx_names,xxx,xxx_ifuncs1,xxx_ifuncs2,xxx_ofuncs1,xxx_ofuncs2) \ { \ static const char* const names[] = BRACIFY xxx_names; \ - emit_encoding(stdout,stdout2,tag,names,sizeof(names)/sizeof(names[0]),#xxx); \ + emit_encoding(aliases_file,canonical_file,tag,names,sizeof(names)/sizeof(names[0]),#xxx); \ } #define BRACIFY(...) { __VA_ARGS__ } -#define DEFALIAS(xxx_alias,xxx) emit_alias(stdout,tag,xxx_alias,#xxx); +#define DEFALIAS(xxx_alias,xxx) emit_alias(aliases_file,tag,xxx_alias,#xxx); #ifdef USE_AIX #include "encodings_aix.def" #endif @@ -71,13 +93,18 @@ int main (int argc, char* argv[]) #ifdef USE_DOS #include "encodings_dos.def" #endif +#ifdef USE_ZOS +#include "encodings_zos.def" +#endif #ifdef USE_EXTRA #include "encodings_extra.def" #endif #undef DEFALIAS #undef BRACIFY #undef DEFENCODING - if (ferror(stdout) || fclose(stdout) || ferror(stdout2) || fclose(stdout2)) + if (ferror(aliases_file) || fclose(aliases_file)) + exit(1); + if (ferror(canonical_file) || fclose(canonical_file)) exit(1); exit(0); } diff --git a/Externals/libiconv-1.14/lib/genflags.c b/Externals/libiconv/lib/genflags.c similarity index 84% rename from Externals/libiconv-1.14/lib/genflags.c rename to Externals/libiconv/lib/genflags.c index 448f89288d4..9f3d15d2ee3 100644 --- a/Externals/libiconv-1.14/lib/genflags.c +++ b/Externals/libiconv/lib/genflags.c @@ -1,36 +1,43 @@ -/* Copyright (C) 2000-2002, 2005-2006, 2008-2009 Free Software Foundation, Inc. +/* Copyright (C) 2000-2002, 2005-2006, 2008-2009, 2016, 2022-2023 Free Software Foundation, Inc. This file is part of the GNU LIBICONV Library. The GNU LIBICONV Library is free software; you can redistribute it - and/or modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either version 2 + and/or modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. The GNU LIBICONV Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. + Lesser General Public License for more details. - You should have received a copy of the GNU Library General Public + You should have received a copy of the GNU Lesser General Public License along with the GNU LIBICONV Library; see the file COPYING.LIB. - If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - Fifth Floor, Boston, MA 02110-1301, USA. */ + If not, see . */ /* Creates the flags.h include file. */ +#include #include #include #include +/* Avoid lots of warnings from "gcc -Wall". */ +#if (__GNUC__ == 4 && __GNUC_MINOR__ >= 2) || __GNUC__ > 4 +# pragma GCC diagnostic ignored "-Wunused-function" +#endif + /* Consider all encodings, including the system dependent ones. */ #define USE_AIX #define USE_OSF1 #define USE_DOS +#define USE_ZOS #define USE_EXTRA struct loop_funcs {}; -struct iconv_fallbacks {}; struct iconv_hooks {}; +struct iconv_fallbacks {}; +#define ICONV_SURFACE_EBCDIC_ZOS_UNIX 1 #include "converters.h" static void emit_encoding (struct wctomb_funcs * ofuncs, const char* c_name) @@ -104,6 +111,7 @@ int main () #include "encodings_aix.def" #include "encodings_osf1.def" #include "encodings_dos.def" +#include "encodings_zos.def" #include "encodings_extra.def" #undef DEFALIAS #undef DEFENCODING diff --git a/Externals/libiconv-1.14/lib/gentranslit.c b/Externals/libiconv/lib/gentranslit.c similarity index 85% rename from Externals/libiconv-1.14/lib/gentranslit.c rename to Externals/libiconv/lib/gentranslit.c index 0b2779c7ff9..b9ee780bb4c 100644 --- a/Externals/libiconv-1.14/lib/gentranslit.c +++ b/Externals/libiconv/lib/gentranslit.c @@ -1,20 +1,19 @@ -/* Copyright (C) 1999-2003, 2005, 2011 Free Software Foundation, Inc. +/* Copyright (C) 1999-2003, 2005, 2011-2012, 2016, 2018, 2020 Free Software Foundation, Inc. This file is part of the GNU LIBICONV Library. The GNU LIBICONV Library is free software; you can redistribute it - and/or modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either version 2 + and/or modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. The GNU LIBICONV Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. + Lesser General Public License for more details. - You should have received a copy of the GNU Library General Public + You should have received a copy of the GNU Lesser General Public License along with the GNU LIBICONV Library; see the file COPYING.LIB. - If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - Fifth Floor, Boston, MA 02110-1301, USA. */ + If not, see . */ /* * Generates a table of small strings, used for transliteration, from a table @@ -28,31 +27,37 @@ int main (int argc, char *argv[]) { - unsigned int data[0x100000]; - int uni2index[0x110000]; + unsigned int *data; + int *uni2index; int index; if (argc != 1) exit(1); + data = malloc(0x100000 * sizeof(*data)); + uni2index = malloc(0x110000 * sizeof(*uni2index)); + if (data == NULL || uni2index == NULL) { + fprintf(stderr, "out of memory\n"); + exit(1); + } + printf("/*\n"); printf(" * Copyright (C) 1999-2003 Free Software Foundation, Inc.\n"); printf(" * This file is part of the GNU LIBICONV Library.\n"); printf(" *\n"); printf(" * The GNU LIBICONV Library is free software; you can redistribute it\n"); - printf(" * and/or modify it under the terms of the GNU Library General Public\n"); + printf(" * and/or modify it under the terms of the GNU Lesser General Public\n"); printf(" * License as published by the Free Software Foundation; either version 2\n"); printf(" * of the License, or (at your option) any later version.\n"); printf(" *\n"); printf(" * The GNU LIBICONV Library is distributed in the hope that it will be\n"); printf(" * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of\n"); printf(" * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n"); - printf(" * Library General Public License for more details.\n"); + printf(" * Lesser General Public License for more details.\n"); printf(" *\n"); - printf(" * You should have received a copy of the GNU Library General Public\n"); + printf(" * You should have received a copy of the GNU Lesser General Public\n"); printf(" * License along with the GNU LIBICONV Library; see the file COPYING.LIB.\n"); - printf(" * If not, write to the Free Software Foundation, Inc., 51 Franklin Street,\n"); - printf(" * Fifth Floor, Boston, MA 02110-1301, USA.\n"); + printf(" * If not, see .\n"); printf(" */\n"); printf("\n"); printf("/*\n"); @@ -132,17 +137,11 @@ int main (int argc, char *argv[]) } printf("\n"); { - bool pages[0x1100]; int line[0x22000]; int tableno; struct { int minline; int maxline; int usecount; const char* suffix; } tables[0x2000]; int i, j, p, j1, j2, t; - for (p = 0; p < 0x1100; p++) - pages[p] = false; - for (j = 0; j < 0x110000; j++) - if (uni2index[j] >= 0) - pages[j>>8] = true; for (j1 = 0; j1 < 0x22000; j1++) { bool all_invalid = true; for (j2 = 0; j2 < 8; j2++) { @@ -183,10 +182,16 @@ int main (int argc, char *argv[]) if (tables[t].usecount > 1) { char* s; if (p == tables[t].minline >> 5) { + i++; + /* i is the number of tables with the same (tables[t].minline >> 5) + that we have seen so far. Since the tables[t].minline values are + strongly monotonically increasing, there are at most 32 of them. */ + if (!(i >= 0 && i <= 32)) abort(); s = (char*) malloc(4+1+2+1); - sprintf(s, "%02x_%d", p, ++i); + sprintf(s, "%02x_%d", p, i); } else { p = tables[t].minline >> 5; + i = 0; s = (char*) malloc(4+1); sprintf(s, "%02x", p); } diff --git a/Externals/libiconv-1.14/lib/georgian_academy.h b/Externals/libiconv/lib/georgian_academy.h similarity index 90% rename from Externals/libiconv-1.14/lib/georgian_academy.h rename to Externals/libiconv/lib/georgian_academy.h index ddbe57806d1..ff00fd39cad 100644 --- a/Externals/libiconv-1.14/lib/georgian_academy.h +++ b/Externals/libiconv/lib/georgian_academy.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -32,7 +31,7 @@ static const unsigned short georgian_academy_2uni[32] = { }; static int -georgian_academy_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +georgian_academy_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; if (c >= 0x80 && c < 0xa0) @@ -77,7 +76,7 @@ static const unsigned char georgian_academy_page20[48] = { }; static int -georgian_academy_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +georgian_academy_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char c = 0; if (wc < 0x0080) { diff --git a/Externals/libiconv-1.14/lib/georgian_ps.h b/Externals/libiconv/lib/georgian_ps.h similarity index 90% rename from Externals/libiconv-1.14/lib/georgian_ps.h rename to Externals/libiconv/lib/georgian_ps.h index e23dbae1cd0..2809f94e3f5 100644 --- a/Externals/libiconv-1.14/lib/georgian_ps.h +++ b/Externals/libiconv/lib/georgian_ps.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -42,7 +41,7 @@ static const unsigned short georgian_ps_2uni_2[39] = { }; static int -georgian_ps_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +georgian_ps_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; if (c >= 0x80 && c < 0xa0) @@ -94,7 +93,7 @@ static const unsigned char georgian_ps_page20[48] = { }; static int -georgian_ps_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +georgian_ps_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char c = 0; if (wc < 0x0080) { diff --git a/Externals/libiconv-1.14/lib/hkscs1999.h b/Externals/libiconv/lib/hkscs1999.h similarity index 99% rename from Externals/libiconv-1.14/lib/hkscs1999.h rename to Externals/libiconv/lib/hkscs1999.h index 37327633968..91607d7f867 100644 --- a/Externals/libiconv-1.14/lib/hkscs1999.h +++ b/Externals/libiconv/lib/hkscs1999.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2006 Free Software Foundation, Inc. + * Copyright (C) 1999-2006, 2012, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -850,7 +849,7 @@ static const ucs4_t hkscs1999_2uni_upages[973] = { }; static int -hkscs1999_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +hkscs1999_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c1 = s[0]; if ((c1 >= 0x88 && c1 <= 0x8b) || (c1 >= 0x8d && c1 <= 0xa0) || (c1 >= 0xc6 && c1 <= 0xc8) || (c1 >= 0xf9 && c1 <= 0xfe)) { @@ -2950,7 +2949,7 @@ static const Summary16 hkscs1999_uni2indx_page2f8[30] = { }; static int -hkscs1999_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +hkscs1999_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { if (n >= 2) { const Summary16 *summary = NULL; @@ -2987,9 +2986,9 @@ hkscs1999_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) unsigned int i = wc & 0x0f; if (used & ((unsigned short) 1 << i)) { unsigned short c; - /* Keep in `used' only the bits 0..i-1. */ + /* 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'. */ + /* 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); diff --git a/Externals/libiconv-1.14/lib/hkscs2001.h b/Externals/libiconv/lib/hkscs2001.h similarity index 98% rename from Externals/libiconv-1.14/lib/hkscs2001.h rename to Externals/libiconv/lib/hkscs2001.h index 66642cf9cc6..6cfd3d5af4e 100644 --- a/Externals/libiconv-1.14/lib/hkscs2001.h +++ b/Externals/libiconv/lib/hkscs2001.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2006 Free Software Foundation, Inc. + * Copyright (C) 1999-2006, 2012, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -57,7 +56,7 @@ static const ucs4_t hkscs2001_2uni_upages[85] = { }; static int -hkscs2001_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +hkscs2001_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c1 = s[0]; if ((c1 == 0x8c)) { @@ -551,7 +550,7 @@ static const Summary16 hkscs2001_uni2indx_page2a1[28] = { }; static int -hkscs2001_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +hkscs2001_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { if (n >= 2) { const Summary16 *summary = NULL; @@ -665,9 +664,9 @@ hkscs2001_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) unsigned int i = wc & 0x0f; if (used & ((unsigned short) 1 << i)) { unsigned short c; - /* Keep in `used' only the bits 0..i-1. */ + /* 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'. */ + /* 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); diff --git a/Externals/libiconv-1.14/lib/hkscs2004.h b/Externals/libiconv/lib/hkscs2004.h similarity index 98% rename from Externals/libiconv-1.14/lib/hkscs2004.h rename to Externals/libiconv/lib/hkscs2004.h index d5ab99748ca..943a0b7f92b 100644 --- a/Externals/libiconv-1.14/lib/hkscs2004.h +++ b/Externals/libiconv/lib/hkscs2004.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2006 Free Software Foundation, Inc. + * Copyright (C) 1999-2006, 2012, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -76,7 +75,7 @@ static const ucs4_t hkscs2004_2uni_upages[78] = { }; static int -hkscs2004_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +hkscs2004_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c1 = s[0]; if ((c1 == 0x87) || (c1 >= 0x8c && c1 <= 0x8d)) { @@ -543,7 +542,7 @@ static const Summary16 hkscs2004_uni2indx_page2a3[6] = { }; static int -hkscs2004_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +hkscs2004_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { if (n >= 2) { const Summary16 *summary = NULL; @@ -661,9 +660,9 @@ hkscs2004_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) unsigned int i = wc & 0x0f; if (used & ((unsigned short) 1 << i)) { unsigned short c; - /* Keep in `used' only the bits 0..i-1. */ + /* 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'. */ + /* 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); diff --git a/Externals/libiconv-1.14/lib/hkscs2008.h b/Externals/libiconv/lib/hkscs2008.h similarity index 97% rename from Externals/libiconv-1.14/lib/hkscs2008.h rename to Externals/libiconv/lib/hkscs2008.h index ee6235c0d1d..656b778ccd9 100644 --- a/Externals/libiconv-1.14/lib/hkscs2008.h +++ b/Externals/libiconv/lib/hkscs2008.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2010 Free Software Foundation, Inc. + * Copyright (C) 1999-2010, 2012, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -53,7 +52,7 @@ static const ucs4_t hkscs2008_2uni_upages[50] = { }; static int -hkscs2008_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +hkscs2008_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c1 = s[0]; if ((c1 == 0x87)) { @@ -364,7 +363,7 @@ static const Summary16 hkscs2008_uni2indx_page2ad[16] = { }; static int -hkscs2008_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +hkscs2008_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { if (n >= 2) { const Summary16 *summary = NULL; @@ -449,9 +448,9 @@ hkscs2008_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) unsigned int i = wc & 0x0f; if (used & ((unsigned short) 1 << i)) { unsigned short c; - /* Keep in `used' only the bits 0..i-1. */ + /* 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'. */ + /* 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); diff --git a/Externals/libiconv-1.14/lib/hp_roman8.h b/Externals/libiconv/lib/hp_roman8.h similarity index 89% rename from Externals/libiconv-1.14/lib/hp_roman8.h rename to Externals/libiconv/lib/hp_roman8.h index da776ed0871..671a166bb20 100644 --- a/Externals/libiconv-1.14/lib/hp_roman8.h +++ b/Externals/libiconv/lib/hp_roman8.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -44,7 +43,7 @@ static const unsigned short hp_roman8_2uni[96] = { }; static int -hp_roman8_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +hp_roman8_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; if (c < 0xa0) { @@ -92,7 +91,7 @@ static const unsigned char hp_roman8_page02[32] = { }; static int -hp_roman8_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +hp_roman8_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char c = 0; if (wc < 0x00a0) { diff --git a/Externals/libiconv-1.14/lib/hz.h b/Externals/libiconv/lib/hz.h similarity index 85% rename from Externals/libiconv-1.14/lib/hz.h rename to Externals/libiconv/lib/hz.h index db0b4b11dc7..9e78518c575 100644 --- a/Externals/libiconv-1.14/lib/hz.h +++ b/Externals/libiconv/lib/hz.h @@ -1,20 +1,20 @@ /* - * Copyright (C) 1999-2001, 2008 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2008, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -28,7 +28,7 @@ */ static int -hz_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +hz_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { state_t state = conv->istate; unsigned int count = 0; @@ -97,7 +97,7 @@ ilseq: } static int -hz_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +hz_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { state_t state = conv->ostate; unsigned char buf[2]; @@ -148,7 +148,7 @@ hz_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) } static int -hz_reset (conv_t conv, unsigned char *r, int n) +hz_reset (conv_t conv, unsigned char *r, size_t n) { state_t state = conv->ostate; if (state) { diff --git a/Externals/libiconv-1.14/lib/iconv.c b/Externals/libiconv/lib/iconv.c similarity index 83% rename from Externals/libiconv-1.14/lib/iconv.c rename to Externals/libiconv/lib/iconv.c index 37852968a8c..13248972152 100644 --- a/Externals/libiconv-1.14/lib/iconv.c +++ b/Externals/libiconv/lib/iconv.c @@ -1,25 +1,25 @@ /* - * Copyright (C) 1999-2008, 2011 Free Software Foundation, Inc. + * Copyright (C) 1999-2024 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ #include +#include #include #include #include "config.h" @@ -37,6 +37,7 @@ #define USE_AIX #define USE_OSF1 #define USE_DOS +#define USE_ZOS #define USE_EXTRA #else /* @@ -52,6 +53,11 @@ #if defined(__DJGPP__) || (defined(_WIN32) && (defined(_MSC_VER) || defined(__MINGW32__))) #define USE_DOS #endif +/* Enable the EBCDIC encodings not only on z/OS but also on Linux/s390, for + easier interoperability between z/OS and Linux/s390. */ +#if defined(__MVS__) || (defined(__linux__) && (defined(__s390__) || defined(__s390x__))) +#define USE_ZOS +#endif #endif /* @@ -98,6 +104,9 @@ enum { #ifdef USE_DOS # include "encodings_dos.def" #endif +#ifdef USE_ZOS +# include "encodings_zos.def" +#endif #ifdef USE_EXTRA # include "encodings_extra.def" #endif @@ -119,6 +128,9 @@ static struct encoding const all_encodings[] = { #ifdef USE_DOS # include "encodings_dos.def" #endif +#ifdef USE_ZOS +# include "encodings_zos.def" +#endif #ifdef USE_EXTRA # include "encodings_extra.def" #endif @@ -159,7 +171,7 @@ static struct encoding const all_encodings[] = { * Defines * const struct alias * aliases2_lookup (const char *str); */ -#if defined(USE_AIX) || defined(USE_OSF1) || defined(USE_DOS) || defined(USE_EXTRA) /* || ... */ +#if defined(USE_AIX) || defined(USE_OSF1) || defined(USE_DOS) || defined(USE_ZOS) || defined(USE_EXTRA) /* || ... */ struct stringpool2_t { #define S(tag,name,encoding_index) char stringpool_##tag[sizeof(name)]; #include "aliases2.h" @@ -178,8 +190,12 @@ static const struct alias sysdep_aliases[] = { }; #ifdef __GNUC__ __inline +#else +#ifdef __cplusplus +inline #endif -const struct alias * +#endif +static const struct alias * aliases2_lookup (register const char *str) { const struct alias * ptr; @@ -220,10 +236,12 @@ iconv_t iconv_open (const char* tocode, const char* fromcode) struct conv_struct * cd; unsigned int from_index; int from_wchar; + unsigned int from_surface; unsigned int to_index; int to_wchar; + unsigned int to_surface; int transliterate; - int discard_ilseq; + unsigned int discard_ilseq; #include "iconv_open1.h" @@ -263,14 +281,12 @@ int iconv_close (iconv_t icd) return 0; } -#ifndef LIBICONV_PLUG - /* * Verify that a 'struct conv_struct' and a 'struct wchar_conv_struct' each * fit in an iconv_allocation_t. * If this verification fails, iconv_allocation_t must be made larger and * the major version in LIBICONV_VERSION_INFO must be bumped. - * Currently 'struct conv_struct' has 21 integer/pointer fields, and + * Currently 'struct conv_struct' has 23 integer/pointer fields, and * 'struct wchar_conv_struct' additionally has an 'mbstate_t' field. */ typedef int verify_size_1[2 * (sizeof (struct conv_struct) <= sizeof (iconv_allocation_t)) - 1]; @@ -282,10 +298,12 @@ int iconv_open_into (const char* tocode, const char* fromcode, struct conv_struct * cd; unsigned int from_index; int from_wchar; + unsigned int from_surface; unsigned int to_index; int to_wchar; + unsigned int to_surface; int transliterate; - int discard_ilseq; + unsigned int discard_ilseq; #include "iconv_open1.h" @@ -299,6 +317,9 @@ invalid: return -1; } +/* Bit mask of all valid surfaces. */ +#define ALL_SURFACES (ICONV_SURFACE_EBCDIC_ZOS_UNIX) + int iconvctl (iconv_t icd, int request, void* argument) { conv_t cd = (conv_t) icd; @@ -306,7 +327,8 @@ int iconvctl (iconv_t icd, int request, void* argument) case ICONV_TRIVIALP: *(int *)argument = ((cd->lfuncs.loop_convert == unicode_loop_convert - && cd->iindex == cd->oindex) + && cd->iindex == cd->oindex + && cd->isurface == cd->osurface) || cd->lfuncs.loop_convert == wchar_id_loop_convert ? 1 : 0); return 0; @@ -316,11 +338,33 @@ int iconvctl (iconv_t icd, int request, void* argument) case ICONV_SET_TRANSLITERATE: cd->transliterate = (*(const int *)argument ? 1 : 0); return 0; + case ICONV_GET_DISCARD_INVALID: + *(int *)argument = (cd->discard_ilseq & DISCARD_INVALID ? 1 : 0); + return 0; + case ICONV_SET_DISCARD_INVALID: + if (*(const int *)argument) + cd->discard_ilseq |= DISCARD_INVALID; + else + cd->discard_ilseq &= ~DISCARD_INVALID; + return 0; + case ICONV_GET_DISCARD_NON_IDENTICAL: + *(int *)argument = (cd->discard_ilseq & DISCARD_UNCONVERTIBLE ? 1 : 0); + return 0; + case ICONV_SET_DISCARD_NON_IDENTICAL: + if (*(const int *)argument) + cd->discard_ilseq |= DISCARD_UNCONVERTIBLE; + else + cd->discard_ilseq &= ~DISCARD_UNCONVERTIBLE; + return 0; case ICONV_GET_DISCARD_ILSEQ: - *(int *)argument = cd->discard_ilseq; + *(int *)argument = + ((DISCARD_INVALID | DISCARD_UNCONVERTIBLE) & ~ cd->discard_ilseq) == 0; return 0; case ICONV_SET_DISCARD_ILSEQ: - cd->discard_ilseq = (*(const int *)argument ? 1 : 0); + if (*(const int *)argument) + cd->discard_ilseq |= DISCARD_INVALID | DISCARD_UNCONVERTIBLE; + else + cd->discard_ilseq &= ~(DISCARD_INVALID | DISCARD_UNCONVERTIBLE); return 0; case ICONV_SET_HOOKS: if (argument != NULL) { @@ -342,6 +386,28 @@ int iconvctl (iconv_t icd, int request, void* argument) cd->fallbacks.data = NULL; } return 0; + case ICONV_GET_FROM_SURFACE: + *(unsigned int *)argument = cd->isurface; + return 0; + case ICONV_SET_FROM_SURFACE: + if ((*(const unsigned int *)argument & ~ALL_SURFACES) == 0) { + cd->isurface = *(const unsigned int *)argument; + return 0; + } else { + errno = EINVAL; + return -1; + } + case ICONV_GET_TO_SURFACE: + *(unsigned int *)argument = cd->osurface; + return 0; + case ICONV_SET_TO_SURFACE: + if ((*(const unsigned int *)argument & ~ALL_SURFACES) == 0) { + cd->osurface = *(const unsigned int *)argument; + return 0; + } else { + errno = EINVAL; + return -1; + } default: errno = EINVAL; return -1; @@ -360,8 +426,8 @@ static int compare_by_index (const void * arg1, const void * arg2) static int compare_by_name (const void * arg1, const void * arg2) { - const char * name1 = *(const char **)arg1; - const char * name2 = *(const char **)arg2; + const char * name1 = *(const char * const *)arg1; + const char * name2 = *(const char * const *)arg2; /* Compare alphabetically, but put "CS" names at the end. */ int sign = strcmp(name1,name2); if (sign != 0) { @@ -468,6 +534,9 @@ static const unsigned short all_canonical[] = { #ifdef USE_DOS # include "canonical_dos.h" #endif +#ifdef USE_ZOS +# include "canonical_zos.h" +#endif #ifdef USE_EXTRA # include "canonical_extra.h" #endif @@ -503,7 +572,7 @@ const char * iconv_canonicalize (const char * name) for (code = name;;) { /* Search code in the table. */ for (cp = code, bp = buf, count = MAX_WORD_LENGTH+10+1; ; cp++, bp++) { - unsigned char c = * (unsigned char *) cp; + unsigned char c = (unsigned char) *cp; if (c >= 0x80) goto invalid; if (c >= 'a' && c <= 'z') @@ -555,7 +624,7 @@ const char * iconv_canonicalize (const char * name) /* On systems which define __STDC_ISO_10646__, wchar_t is Unicode. This is also the case on native Woe32 systems and Cygwin >= 1.7, where we know that it is UTF-16. */ -#if ((defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__) || (defined __CYGWIN__ && CYGWIN_VERSION_DLL_MAJOR >= 1007) +#if (defined _WIN32 && !defined __CYGWIN__) || (defined __CYGWIN__ && CYGWIN_VERSION_DLL_MAJOR >= 1007) if (sizeof(wchar_t) == 4) { index = ei_ucs4internal; break; @@ -606,5 +675,3 @@ strong_alias (libiconv_open, iconv_open) strong_alias (libiconv, iconv) strong_alias (libiconv_close, iconv_close) #endif - -#endif diff --git a/Externals/libiconv-1.14/lib/iconv_open1.h b/Externals/libiconv/lib/iconv_open1.h similarity index 61% rename from Externals/libiconv-1.14/lib/iconv_open1.h rename to Externals/libiconv/lib/iconv_open1.h index acee5a4a099..64679b833ad 100644 --- a/Externals/libiconv-1.14/lib/iconv_open1.h +++ b/Externals/libiconv/lib/iconv_open1.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2008, 2011 Free Software Foundation, Inc. + * Copyright (C) 1999-2024 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* Part 1 of iconv_open. @@ -23,19 +22,23 @@ Output: unsigned int from_index; int from_wchar; + unsigned int from_surface; unsigned int to_index; int to_wchar; + unsigned int to_surface; int transliterate; - int discard_ilseq; - Jumps to 'invalid' in case of errror. + unsigned int discard_ilseq; + Jumps to 'invalid' in case of error. */ { - char buf[MAX_WORD_LENGTH+10+1]; + char buf[MAX_WORD_LENGTH+9+9+1]; const char* cp; char* bp; const struct alias * ap; unsigned int count; + from_surface = ICONV_SURFACE_NONE; + to_surface = ICONV_SURFACE_NONE; transliterate = 0; discard_ilseq = 0; @@ -46,8 +49,8 @@ */ 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; + for (cp = tocode, bp = buf, count = MAX_WORD_LENGTH+9+9+1; ; cp++, bp++) { + unsigned char c = (unsigned char) *cp; if (c >= 0x80) goto invalid; if (c >= 'a' && c <= 'z') @@ -59,18 +62,39 @@ goto invalid; } for (;;) { - if (bp-buf >= 10 && memcmp(bp-10,"//TRANSLIT",10)==0) { - bp -= 10; - *bp = '\0'; + char *sp = bp; + int parsed_translit = 0; + int parsed_ignore = 0; + int parsed_non_identical_discard = 0; + for (;;) { + if (sp-buf > 9 && memcmp(sp-9,"/TRANSLIT",9)==0) { + sp = sp - 9; + parsed_translit = 1; + } else if (sp-buf > 7 && memcmp(sp-7,"/IGNORE",7)==0) { + sp = sp - 7; + parsed_ignore = 1; + } else if (sp-buf > 22 && memcmp(sp-22,"/NON_IDENTICAL_DISCARD",22)==0) { + sp = sp - 22; + parsed_non_identical_discard = 1; + } else + break; + if (sp > buf && sp[-1] == '/') + sp = sp - 1; + } + if (sp > buf && sp[-1] == '/') { + bp = sp - 1; + } else if (sp-buf >= 9 && memcmp(sp-9,"/ZOS_UNIX",9)==0) { + bp = sp - 9; + to_surface = ICONV_SURFACE_EBCDIC_ZOS_UNIX; + } else + bp = sp; + *bp = '\0'; + if (parsed_translit) transliterate = 1; - continue; - } - if (bp-buf >= 8 && memcmp(bp-8,"//IGNORE",8)==0) { - bp -= 8; - *bp = '\0'; - discard_ilseq = 1; - continue; - } + if (parsed_ignore) + discard_ilseq |= DISCARD_INVALID | DISCARD_UNCONVERTIBLE; + if (parsed_non_identical_discard) + discard_ilseq |= DISCARD_UNCONVERTIBLE; break; } if (buf[0] == '\0') { @@ -99,7 +123,7 @@ /* On systems which define __STDC_ISO_10646__, wchar_t is Unicode. This is also the case on native Woe32 systems and Cygwin >= 1.7, where we know that it is UTF-16. */ -#if ((defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__) || (defined __CYGWIN__ && CYGWIN_VERSION_DLL_MAJOR >= 1007) +#if (defined _WIN32 && !defined __CYGWIN__) || (defined __CYGWIN__ && CYGWIN_VERSION_DLL_MAJOR >= 1007) if (sizeof(wchar_t) == 4) { to_index = ei_ucs4internal; break; @@ -138,8 +162,8 @@ } 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; + for (cp = fromcode, bp = buf, count = MAX_WORD_LENGTH+9+9+1; ; cp++, bp++) { + unsigned char c = (unsigned char) *cp; if (c >= 0x80) goto invalid; if (c >= 'a' && c <= 'z') @@ -151,16 +175,39 @@ goto invalid; } for (;;) { - if (bp-buf >= 10 && memcmp(bp-10,"//TRANSLIT",10)==0) { - bp -= 10; - *bp = '\0'; - continue; - } - if (bp-buf >= 8 && memcmp(bp-8,"//IGNORE",8)==0) { - bp -= 8; - *bp = '\0'; - continue; + char *sp = bp; + int parsed_translit = 0; + int parsed_ignore = 0; + int parsed_non_identical_discard = 0; + for (;;) { + if (sp-buf > 9 && memcmp(sp-9,"/TRANSLIT",9)==0) { + sp = sp - 9; + parsed_translit = 1; + } else if (sp-buf > 7 && memcmp(sp-7,"/IGNORE",7)==0) { + sp = sp - 7; + parsed_ignore = 1; + } else if (sp-buf > 22 && memcmp(sp-22,"/NON_IDENTICAL_DISCARD",22)==0) { + sp = sp - 22; + parsed_non_identical_discard = 1; + } else + break; + if (sp > buf && sp[-1] == '/') + sp = sp - 1; } + if (sp > buf && sp[-1] == '/') { + bp = sp - 1; + } else if (sp-buf >= 9 && memcmp(sp-9,"/ZOS_UNIX",9)==0) { + bp = sp - 9; + from_surface = ICONV_SURFACE_EBCDIC_ZOS_UNIX; + } else + bp = sp; + *bp = '\0'; + if (parsed_translit) + transliterate = 1; + if (parsed_ignore) + discard_ilseq |= DISCARD_INVALID | DISCARD_UNCONVERTIBLE; + if (parsed_non_identical_discard) + discard_ilseq |= DISCARD_UNCONVERTIBLE; break; } if (buf[0] == '\0') { @@ -189,7 +236,7 @@ /* On systems which define __STDC_ISO_10646__, wchar_t is Unicode. This is also the case on native Woe32 systems and Cygwin >= 1.7, where we know that it is UTF-16. */ -#if ((defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__) || (defined __CYGWIN__ && CYGWIN_VERSION_DLL_MAJOR >= 1007) +#if (defined _WIN32 && !defined __CYGWIN__) || (defined __CYGWIN__ && CYGWIN_VERSION_DLL_MAJOR >= 1007) if (sizeof(wchar_t) == 4) { from_index = ei_ucs4internal; break; diff --git a/Externals/libiconv-1.14/lib/iconv_open2.h b/Externals/libiconv/lib/iconv_open2.h similarity index 81% rename from Externals/libiconv-1.14/lib/iconv_open2.h rename to Externals/libiconv/lib/iconv_open2.h index 6d6296f05b3..ceddcd5b61f 100644 --- a/Externals/libiconv-1.14/lib/iconv_open2.h +++ b/Externals/libiconv/lib/iconv_open2.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2009 Free Software Foundation, Inc. + * Copyright (C) 1999-2024 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* Part 2 of iconv_open. @@ -23,10 +22,12 @@ struct conv_struct * cd; unsigned int from_index; int from_wchar; + unsigned int from_surface; unsigned int to_index; int to_wchar; + unsigned int to_surface; int transliterate; - int discard_ilseq; + unsigned int discard_ilseq; Output: none. Side effects: Fills cd. */ @@ -63,13 +64,16 @@ cd->lfuncs.loop_reset = unicode_loop_reset; } } + /* Initialize the surfaces. */ + cd->isurface = from_surface; + cd->osurface = to_surface; /* Initialize the states. */ + memset(&cd->ibyteorder,'\0',sizeof(state_t)); memset(&cd->istate,'\0',sizeof(state_t)); memset(&cd->ostate,'\0',sizeof(state_t)); /* Initialize the operation flags. */ cd->transliterate = transliterate; cd->discard_ilseq = discard_ilseq; - #ifndef LIBICONV_PLUG cd->fallbacks.mb_to_uc_fallback = NULL; cd->fallbacks.uc_to_mb_fallback = NULL; cd->fallbacks.mb_to_wc_fallback = NULL; @@ -78,7 +82,6 @@ cd->hooks.uc_hook = NULL; cd->hooks.wc_hook = NULL; cd->hooks.data = NULL; - #endif /* Initialize additional fields. */ if (from_wchar != to_wchar) { struct wchar_conv_struct * wcd = (struct wchar_conv_struct *) cd; diff --git a/Externals/libiconv-1.14/lib/iso2022_cn.h b/Externals/libiconv/lib/iso2022_cn.h similarity index 93% rename from Externals/libiconv-1.14/lib/iso2022_cn.h rename to Externals/libiconv/lib/iso2022_cn.h index d7e3e393a56..800863cc358 100644 --- a/Externals/libiconv-1.14/lib/iso2022_cn.h +++ b/Externals/libiconv/lib/iso2022_cn.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001, 2008 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2008, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -51,7 +50,7 @@ state = (state3 << 16) | (state2 << 8) | state1 static int -iso2022_cn_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +iso2022_cn_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { state_t state = conv->istate; SPLIT_STATE; @@ -179,7 +178,7 @@ ilseq: } static int -iso2022_cn_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +iso2022_cn_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { state_t state = conv->ostate; SPLIT_STATE; @@ -297,7 +296,7 @@ iso2022_cn_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) } static int -iso2022_cn_reset (conv_t conv, unsigned char *r, int n) +iso2022_cn_reset (conv_t conv, unsigned char *r, size_t n) { state_t state = conv->ostate; SPLIT_STATE; diff --git a/Externals/libiconv-1.14/lib/iso2022_cnext.h b/Externals/libiconv/lib/iso2022_cnext.h similarity index 97% rename from Externals/libiconv-1.14/lib/iso2022_cnext.h rename to Externals/libiconv/lib/iso2022_cnext.h index f8488709db0..8e6d3090a75 100644 --- a/Externals/libiconv-1.14/lib/iso2022_cnext.h +++ b/Externals/libiconv/lib/iso2022_cnext.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001, 2008 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2008, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -61,7 +60,7 @@ state = (state4 << 24) | (state3 << 16) | (state2 << 8) | state1 static int -iso2022_cn_ext_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +iso2022_cn_ext_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { state_t state = conv->istate; SPLIT_STATE; @@ -297,7 +296,7 @@ ilseq: } static int -iso2022_cn_ext_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +iso2022_cn_ext_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { state_t state = conv->ostate; SPLIT_STATE; @@ -555,7 +554,7 @@ iso2022_cn_ext_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) } static int -iso2022_cn_ext_reset (conv_t conv, unsigned char *r, int n) +iso2022_cn_ext_reset (conv_t conv, unsigned char *r, size_t n) { state_t state = conv->ostate; SPLIT_STATE; diff --git a/Externals/libiconv-1.14/lib/iso2022_jp.h b/Externals/libiconv/lib/iso2022_jp.h similarity index 90% rename from Externals/libiconv-1.14/lib/iso2022_jp.h rename to Externals/libiconv/lib/iso2022_jp.h index 1c8abec1bb3..cdc049600a4 100644 --- a/Externals/libiconv-1.14/lib/iso2022_jp.h +++ b/Externals/libiconv/lib/iso2022_jp.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001, 2008 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2008, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -34,7 +33,7 @@ #define STATE_JISX0208 2 static int -iso2022_jp_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +iso2022_jp_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { state_t state = conv->istate; int count = 0; @@ -122,7 +121,7 @@ ilseq: } static int -iso2022_jp_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +iso2022_jp_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { state_t state = conv->ostate; unsigned char buf[2]; @@ -196,7 +195,7 @@ iso2022_jp_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) } static int -iso2022_jp_reset (conv_t conv, unsigned char *r, int n) +iso2022_jp_reset (conv_t conv, unsigned char *r, size_t n) { state_t state = conv->ostate; if (state != STATE_ASCII) { diff --git a/Externals/libiconv-1.14/lib/iso2022_jp1.h b/Externals/libiconv/lib/iso2022_jp1.h similarity index 91% rename from Externals/libiconv-1.14/lib/iso2022_jp1.h rename to Externals/libiconv/lib/iso2022_jp1.h index c3094740f9a..050184e1627 100644 --- a/Externals/libiconv-1.14/lib/iso2022_jp1.h +++ b/Externals/libiconv/lib/iso2022_jp1.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001, 2008 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2008, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -35,7 +34,7 @@ #define STATE_JISX0212 3 static int -iso2022_jp1_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +iso2022_jp1_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { state_t state = conv->istate; int count = 0; @@ -146,7 +145,7 @@ ilseq: } static int -iso2022_jp1_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +iso2022_jp1_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { state_t state = conv->ostate; unsigned char buf[2]; @@ -243,7 +242,7 @@ iso2022_jp1_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) } static int -iso2022_jp1_reset (conv_t conv, unsigned char *r, int n) +iso2022_jp1_reset (conv_t conv, unsigned char *r, size_t n) { state_t state = conv->ostate; if (state != STATE_ASCII) { diff --git a/Externals/libiconv-1.14/lib/iso2022_jp2.h b/Externals/libiconv/lib/iso2022_jp2.h similarity index 97% rename from Externals/libiconv-1.14/lib/iso2022_jp2.h rename to Externals/libiconv/lib/iso2022_jp2.h index 5e3ca41555a..f1c8c5bd49b 100644 --- a/Externals/libiconv-1.14/lib/iso2022_jp2.h +++ b/Externals/libiconv/lib/iso2022_jp2.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001, 2008 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2008, 2016, 2024 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -51,7 +50,7 @@ state = (state2 << 8) | state1 static int -iso2022_jp2_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +iso2022_jp2_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { state_t state = conv->istate; SPLIT_STATE; @@ -304,14 +303,14 @@ ilseq: state = (state3 << 16) | (state2 << 8) | state1 static int -iso2022_jp2_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +iso2022_jp2_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { state_t state = conv->ostate; SPLIT_STATE; unsigned char buf[2]; int ret; /* This defines the conversion preferences depending on the current - langauge tag. */ + language tag. */ enum conversion { none = 0, european, japanese, chinese, korean, other }; static const unsigned int conversion_lists[STATE_TAG_LANGUAGE] = { /* STATE_TAG_NONE */ @@ -653,7 +652,7 @@ iso2022_jp2_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) } static int -iso2022_jp2_reset (conv_t conv, unsigned char *r, int n) +iso2022_jp2_reset (conv_t conv, unsigned char *r, size_t n) { state_t state = conv->ostate; SPLIT_STATE; diff --git a/Externals/libiconv-1.14/lib/iso2022_jp3.h b/Externals/libiconv/lib/iso2022_jp3.h similarity index 96% rename from Externals/libiconv-1.14/lib/iso2022_jp3.h rename to Externals/libiconv/lib/iso2022_jp3.h index 58cea1bb348..9b38f16af6d 100644 --- a/Externals/libiconv-1.14/lib/iso2022_jp3.h +++ b/Externals/libiconv/lib/iso2022_jp3.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2004, 2008 Free Software Foundation, Inc. + * Copyright (C) 1999-2004, 2008, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -42,7 +41,7 @@ */ static int -iso2022_jp3_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +iso2022_jp3_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { ucs4_t last_wc = conv->istate >> 3; if (last_wc) { @@ -261,7 +260,7 @@ static const struct { unsigned short base; unsigned short composed; } iso2022_jp /* assume lasttwo == 0, then prevstate is ignored */ static int -iso2022_jp3_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +iso2022_jp3_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { int count = 0; unsigned char buf[2]; @@ -495,7 +494,7 @@ iso2022_jp3_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) } static int -iso2022_jp3_reset (conv_t conv, unsigned char *r, int n) +iso2022_jp3_reset (conv_t conv, unsigned char *r, size_t n) { state_t state = conv->ostate; SPLIT_STATE; diff --git a/Externals/libiconv/lib/iso2022_jpms.h b/Externals/libiconv/lib/iso2022_jpms.h new file mode 100644 index 00000000000..970ecdfe62f --- /dev/null +++ b/Externals/libiconv/lib/iso2022_jpms.h @@ -0,0 +1,445 @@ +/* + * Copyright (C) 1999-2001, 2008, 2011-2012, 2016, 2018, 2024 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV Library is free software; you can redistribute it + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV Library is distributed in the hope that it will be + * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with the GNU LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * ISO-2022-JP-MS + * alias CP50221 + * + * This is an extension of ISO-2022-JP-1 with larger character sets. + * It uses ESC $ B and ESC $ ( D to denote *extensions* of JIS X 0208 and + * JIS X 0212, respectively. This violates the principles of ISO 2022, + * where + * 1. character sets to be used by ISO 2022 have to be registered at the + * ISO IR registry , + * 2. different character sets are designated by different escape + * sequences. + * It's a typical instance of the "embrace and extend" strategy by Microsoft + * . + */ + +/* + * Windows has three encodings CP50220, CP50221, CP50222. + * The common parts are: + * - US-ASCII (0x00..0x7F) + * - JIS X 0208 extended by + * - one row (0x2D), + * - a private use area (rows 0x75..0x7E = U+E000..U+E3AB), + * enabled with ESC $ B, disabled with ESC ( B. + * - JIS X 0212 extended by + * - two rows (0x73..0x74), + * - a private use area (rows 0x75..0x7E = U+E3AC..U+E757), + * enabled with ESC $ ( D, disabled with ESC ( B. + * They differ in the handling of JIS X 0201 characters (halfwidth Katakana) + * in the conversion direction Unicode -> CP5022x: + * * CP50220 maps the halfwidth Katakana to fullwidth Katakana characters. + * * CP50221 contains the JIS X 0201 halfwidth Katakana characters, + * enabled with ESC ( I, disabled with ESC ( B. + * * CP50222 contains the JIS X 0201 halfwidth Katakana characters, + * enabled with ESC ( J 0x0E, disabled with ESC ( B. + * In the conversion direction CP5022x -> Unicode, all three operate the same: + * - ESC ( I is supported and understood. + * - ESC ( J 0x0E is not accepted. (Tested on Windows XP SP3.) + * Conclusion: + * - CP50222 should not be used, because the multibyte sequence that it + * produces cannot be parsed by either of the three encodings. + * - CP50221 is preferable to CP50220, because it can faithfully represent + * the halfwidth Katakana characters. + * We therefore implement CP50221. As an extension, in the mbtowc conversion + * direction, we support also ESC ( J 0x0E, just in case. + */ + +#include "cp50221_0208_ext.h" +#include "cp50221_0212_ext.h" + +#define ESC 0x1b +#define SO 0x0e +#define SI 0x0f + +/* + * The state can be one of the following values. + */ +#define STATE_ASCII 0 /* Esc ( B */ +#define STATE_JISX0201ROMAN 1 /* Esc ( J */ /* only in mbtowc direction */ +#define STATE_JISX0201KATAKANA 2 /* Esc ( I */ +#define STATE_JISX0208MS 3 /* Esc $ @ or Esc $ B */ +#define STATE_JISX0212MS 4 /* Esc $ ( D */ + +static int +iso2022_jpms_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + state_t state = conv->istate; + int count = 0; + unsigned char c; + for (;;) { + c = *s; + if (c == ESC) { + if (n < count+3) + goto none; + if (s[1] == '(') { + if (s[2] == 'B') { + state = STATE_ASCII; + s += 3; count += 3; + if (n < count+1) + goto none; + continue; + } + if (s[2] == 'I') { + state = STATE_JISX0201KATAKANA; + s += 3; count += 3; + if (n < count+1) + goto none; + continue; + } + if (s[2] == 'J') { + state = STATE_JISX0201ROMAN; + s += 3; count += 3; + if (n < count+1) + goto none; + continue; + } + goto ilseq; + } + if (s[1] == '$') { + if (s[2] == '@' || s[2] == 'B') { + /* We don't distinguish JIS X 0208-1978 and JIS X 0208-1983. */ + state = STATE_JISX0208MS; + s += 3; count += 3; + if (n < count+1) + goto none; + continue; + } + if (s[2] == '(') { + if (n < count+4) + goto none; + if (s[3] == 'D') { + state = STATE_JISX0212MS; + s += 4; count += 4; + if (n < count+1) + goto none; + continue; + } + } + goto ilseq; + } + goto ilseq; + } + if (c == SO) { + if (state == STATE_JISX0201ROMAN) + state = STATE_JISX0201KATAKANA; + s += 1; count += 1; + if (n < count+1) + goto none; + continue; + } + if (c == SI) { + if (state == STATE_JISX0201KATAKANA) + state = STATE_JISX0201ROMAN; + s += 1; count += 1; + if (n < count+1) + goto none; + continue; + } + break; + } + switch (state) { + case STATE_ASCII: + if (c < 0x80) { + int ret = ascii_mbtowc(conv,pwc,s,1); + if (ret == RET_ILSEQ) + goto ilseq; + if (ret != 1) abort(); + conv->istate = state; + return count+1; + } else + goto ilseq; + case STATE_JISX0201ROMAN: + if (c < 0x80) { + int ret = jisx0201_mbtowc(conv,pwc,s,1); + if (ret == RET_ILSEQ) + goto ilseq; + if (ret != 1) abort(); + conv->istate = state; + return count+1; + } else + goto ilseq; + case STATE_JISX0201KATAKANA: + if (c < 0x80) { + unsigned char buf = c+0x80; + int ret = jisx0201_mbtowc(conv,pwc,&buf,1); + if (ret == RET_ILSEQ) + goto ilseq; + if (ret != 1) abort(); + conv->istate = state; + return count+1; + } else + goto ilseq; + case STATE_JISX0208MS: + if (n < count+2) + goto none; + if (s[0] < 0x80 && s[1] < 0x80) { + int ret; + if (s[0] < 0x75) { + if (s[0] == 0x2d) { + /* Extension of JIS X 0208. */ + if (s[1] >= 0x21 && s[1] <= 0x79) { + unsigned char i = (s[1] - 0x21) + 1; + ret = cp50221_0208_ext_mbtowc(conv,pwc,&i,1); + if (ret == 1) + ret = 2; + } else + ret = RET_ILSEQ; + } else { + /* JIS X 0208. */ + ret = jisx0208_mbtowc(conv,pwc,s,2); + } + } else { + /* Extension of JIS X 0208. + 0x{75..7E}{21..8E} maps to U+E000..U+E3AB. + But some rows maps to characters present in CP932. */ + if (s[0] <= 0x7e && (s[1] >= 0x21 && s[1] <= 0x7e)) { + unsigned short wc = 0xfffd; + if (s[0] >= 0x79 && s[0] <= 0x7c) + wc = cp932ext_2uni_pageed[(s[0] - 0x79) * 94 + (s[1] - 0x21)]; + if (wc == 0xfffd) + wc = (s[0] - 0x75) * 94 + (s[1] - 0x21) + 0xe000; + *pwc = wc; + ret = 2; + } else + ret = RET_ILSEQ; + } + if (ret == RET_ILSEQ) + goto ilseq; + if (ret != 2) abort(); + conv->istate = state; + return count+2; + } else + goto ilseq; + case STATE_JISX0212MS: + if (n < count+2) + goto none; + if (s[0] < 0x80 && s[1] < 0x80) { + int ret; + if (s[0] < 0x73) { + /* JIS X 0212. */ + ret = jisx0212_mbtowc(conv,pwc,s,2); + } else { + if (s[0] < 0x75) { + /* Extension of JIS X 0212. */ + if (s[1] >= 0x21 && s[1] <= 0x7e) { + unsigned char i = (s[0] - 0x73) * 94 + (s[1] - 0x21) + 1; + ret = cp50221_0212_ext_mbtowc(conv,pwc,&i,1); + if (ret == 1) + ret = 2; + } else + ret = RET_ILSEQ; + } else { + /* Extension of JIS X 0208. + 0x{75..7E}{21..8E} maps to U+E3AC..U+E757. */ + if (s[0] <= 0x7e && (s[1] >= 0x21 && s[1] <= 0x7e)) { + *pwc = (s[0] - 0x75) * 94 + (s[1] - 0x21) + 0xe3ac; + ret = 2; + } else + ret = RET_ILSEQ; + } + } + if (ret == RET_ILSEQ) + goto ilseq; + if (ret != 2) abort(); + conv->istate = state; + return count+2; + } else + goto ilseq; + default: abort(); + } + +none: + conv->istate = state; + return RET_TOOFEW(count); + +ilseq: + conv->istate = state; + return RET_SHIFT_ILSEQ(count); +} + +static int +iso2022_jpms_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + state_t state = conv->ostate; + unsigned char buf[2]; + int ret; + + /* Try ASCII. */ + ret = ascii_wctomb(conv,buf,wc,1); + if (ret != RET_ILUNI) { + if (ret != 1) abort(); + if (buf[0] < 0x80) { + int count = (state == STATE_ASCII ? 1 : 4); + if (n < count) + return RET_TOOSMALL; + if (state != STATE_ASCII) { + r[0] = ESC; + r[1] = '('; + r[2] = 'B'; + r += 3; + state = STATE_ASCII; + } + r[0] = buf[0]; + conv->ostate = state; + return count; + } + } + + /* Try JIS X 0201-1976 Katakana. */ + ret = jisx0201_wctomb(conv,buf,wc,1); + if (ret != RET_ILUNI) { + if (ret != 1) abort(); + if (buf[0] >= 0x80) { + int count = (state == STATE_JISX0201KATAKANA ? 1 : 4); + if (n < count) + return RET_TOOSMALL; + if (state != STATE_JISX0201KATAKANA) { + r[0] = ESC; + r[1] = '('; + r[2] = 'I'; + r += 3; + state = STATE_JISX0201KATAKANA; + } + r[0] = buf[0]-0x80; + conv->ostate = state; + return count; + } + } + + /* Try JIS X 0208-1990, in place of JIS X 0208-1978 and JIS X 0208-1983, + and the extensions mentioned above. */ + if (wc >= 0xe000 && wc < 0xe3ac) { + unsigned short i = wc - 0xe000; + buf[0] = (i / 94) + 0x75; + buf[1] = (i % 94) + 0x21; + ret = 2; + } else { + ret = jisx0208_wctomb(conv,buf,wc,2); + if (ret == RET_ILUNI) { + /* Extension of JIS X 0208. */ + unsigned char i; + ret = cp50221_0208_ext_wctomb(conv,&i,wc,1); + if (ret == 1) { + buf[0] = 0x2d; + buf[1] = i-1 + 0x21; + ret = 2; + } else if (wc == 0x663B) { + buf[0] = 0x7a; + buf[1] = 0x36; + ret = 2; + } else if (wc == 0xffe2) { + buf[0] = 0x7c; + buf[1] = 0x7b; + ret = 2; + } else if (wc == 0xffe4) { + buf[0] = 0x7c; + buf[1] = 0x7c; + ret = 2; + } + } + } + if (ret != RET_ILUNI) { + if (ret != 2) abort(); + if (buf[0] < 0x80 && buf[1] < 0x80) { + int count = (state == STATE_JISX0208MS ? 2 : 5); + if (n < count) + return RET_TOOSMALL; + if (state != STATE_JISX0208MS) { + r[0] = ESC; + r[1] = '$'; + r[2] = 'B'; + r += 3; + state = STATE_JISX0208MS; + } + r[0] = buf[0]; + r[1] = buf[1]; + conv->ostate = state; + return count; + } + } + + /* Try JIS X 0212-1990 and the extensions mentioned above. */ + if (wc >= 0xe3ac && wc < 0xe758) { + unsigned short i = wc - 0xe3ac; + buf[0] = (i / 94) + 0x75; + buf[1] = (i % 94) + 0x21; + ret = 2; + } else { + ret = jisx0212_wctomb(conv,buf,wc,2); + if (ret == RET_ILUNI) { + /* Extension of JIS X 0212. */ + unsigned char i; + ret = cp50221_0212_ext_wctomb(conv,&i,wc,1); + if (ret == 1) { + i -= 1; + buf[0] = (i / 94) + 0x73; + buf[1] = (i % 94) + 0x21; + ret = 2; + } + } + } + if (ret != RET_ILUNI) { + if (ret != 2) abort(); + if (buf[0] < 0x80 && buf[1] < 0x80) { + int count = (state == STATE_JISX0212MS ? 2 : 6); + if (n < count) + return RET_TOOSMALL; + if (state != STATE_JISX0212MS) { + r[0] = ESC; + r[1] = '$'; + r[2] = '('; + r[3] = 'D'; + r += 4; + state = STATE_JISX0212MS; + } + r[0] = buf[0]; + r[1] = buf[1]; + conv->ostate = state; + return count; + } + } + + return RET_ILUNI; +} + +static int +iso2022_jpms_reset (conv_t conv, unsigned char *r, size_t n) +{ + state_t state = conv->ostate; + if (state != STATE_ASCII) { + if (n < 3) + return RET_TOOSMALL; + r[0] = ESC; + r[1] = '('; + r[2] = 'B'; + /* conv->ostate = 0; will be done by the caller */ + return 3; + } else + return 0; +} + +#undef STATE_JISX0212MS +#undef STATE_JISX0208MS +#undef STATE_JISX0201KATAKANA +#undef STATE_JISX0201ROMAN +#undef STATE_ASCII diff --git a/Externals/libiconv-1.14/lib/iso2022_kr.h b/Externals/libiconv/lib/iso2022_kr.h similarity index 90% rename from Externals/libiconv-1.14/lib/iso2022_kr.h rename to Externals/libiconv/lib/iso2022_kr.h index 8045d4e5e10..0256505d43f 100644 --- a/Externals/libiconv-1.14/lib/iso2022_kr.h +++ b/Externals/libiconv/lib/iso2022_kr.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001, 2008 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2008, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -50,7 +49,7 @@ state = (state2 << 8) | state1 static int -iso2022_kr_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +iso2022_kr_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { state_t state = conv->istate; SPLIT_STATE; @@ -137,7 +136,7 @@ ilseq: } static int -iso2022_kr_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +iso2022_kr_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { state_t state = conv->ostate; SPLIT_STATE; @@ -199,7 +198,7 @@ iso2022_kr_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) } static int -iso2022_kr_reset (conv_t conv, unsigned char *r, int n) +iso2022_kr_reset (conv_t conv, unsigned char *r, size_t n) { state_t state = conv->ostate; SPLIT_STATE; diff --git a/Externals/libiconv-1.14/lib/iso646_cn.h b/Externals/libiconv/lib/iso646_cn.h similarity index 71% rename from Externals/libiconv-1.14/lib/iso646_cn.h rename to Externals/libiconv/lib/iso646_cn.h index a571ce713ac..3e7e2a0d42f 100644 --- a/Externals/libiconv-1.14/lib/iso646_cn.h +++ b/Externals/libiconv/lib/iso646_cn.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -24,7 +23,7 @@ */ static int -iso646_cn_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +iso646_cn_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; if (c < 0x80) { @@ -40,7 +39,7 @@ iso646_cn_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) } static int -iso646_cn_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +iso646_cn_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { if (wc < 0x0080 && !(wc == 0x0024 || wc == 0x007e)) { *r = wc; diff --git a/Externals/libiconv-1.14/lib/iso646_jp.h b/Externals/libiconv/lib/iso646_jp.h similarity index 72% rename from Externals/libiconv-1.14/lib/iso646_jp.h rename to Externals/libiconv/lib/iso646_jp.h index 7cc3abd040e..189dc730e82 100644 --- a/Externals/libiconv-1.14/lib/iso646_jp.h +++ b/Externals/libiconv/lib/iso646_jp.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -26,7 +25,7 @@ /* This is the lower half of JIS_X0201. */ static int -iso646_jp_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +iso646_jp_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; if (c < 0x80) { @@ -42,7 +41,7 @@ iso646_jp_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) } static int -iso646_jp_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +iso646_jp_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { if (wc < 0x0080 && !(wc == 0x005c || wc == 0x007e)) { *r = wc; diff --git a/Externals/libiconv-1.14/lib/iso8859_1.h b/Externals/libiconv/lib/iso8859_1.h similarity index 63% rename from Externals/libiconv-1.14/lib/iso8859_1.h rename to Externals/libiconv/lib/iso8859_1.h index 53469164b17..d6251d96900 100644 --- a/Externals/libiconv-1.14/lib/iso8859_1.h +++ b/Externals/libiconv/lib/iso8859_1.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -23,7 +22,7 @@ */ static int -iso8859_1_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +iso8859_1_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; *pwc = (ucs4_t) c; @@ -31,7 +30,7 @@ iso8859_1_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) } static int -iso8859_1_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +iso8859_1_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { if (wc < 0x0100) { *r = wc; diff --git a/Externals/libiconv-1.14/lib/iso8859_10.h b/Externals/libiconv/lib/iso8859_10.h similarity index 89% rename from Externals/libiconv-1.14/lib/iso8859_10.h rename to Externals/libiconv/lib/iso8859_10.h index 49b3f6ad3d5..5d47195a366 100644 --- a/Externals/libiconv-1.14/lib/iso8859_10.h +++ b/Externals/libiconv/lib/iso8859_10.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -44,7 +43,7 @@ static const unsigned short iso8859_10_2uni[96] = { }; static int -iso8859_10_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +iso8859_10_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; if (c < 0xa0) @@ -87,7 +86,7 @@ static const unsigned char iso8859_10_page00[224] = { }; static int -iso8859_10_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +iso8859_10_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char c = 0; if (wc < 0x00a0) { diff --git a/Externals/libiconv-1.14/lib/iso8859_11.h b/Externals/libiconv/lib/iso8859_11.h similarity index 70% rename from Externals/libiconv-1.14/lib/iso8859_11.h rename to Externals/libiconv/lib/iso8859_11.h index ef8b1a66c55..d42de9eb28d 100644 --- a/Externals/libiconv-1.14/lib/iso8859_11.h +++ b/Externals/libiconv/lib/iso8859_11.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2004 Free Software Foundation, Inc. + * Copyright (C) 1999-2004, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -23,7 +22,7 @@ */ static int -iso8859_11_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +iso8859_11_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; if (c < 0xa1) { @@ -38,7 +37,7 @@ iso8859_11_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) } static int -iso8859_11_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +iso8859_11_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { if (wc < 0x00a1) { *r = wc; diff --git a/Externals/libiconv-1.14/lib/iso8859_13.h b/Externals/libiconv/lib/iso8859_13.h similarity index 89% rename from Externals/libiconv-1.14/lib/iso8859_13.h rename to Externals/libiconv/lib/iso8859_13.h index 2fadc7b8b41..98df56a3b4d 100644 --- a/Externals/libiconv-1.14/lib/iso8859_13.h +++ b/Externals/libiconv/lib/iso8859_13.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -44,7 +43,7 @@ static const unsigned short iso8859_13_2uni[96] = { }; static int -iso8859_13_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +iso8859_13_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; if (c < 0xa0) @@ -90,7 +89,7 @@ static const unsigned char iso8859_13_page20[8] = { }; static int -iso8859_13_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +iso8859_13_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char c = 0; if (wc < 0x00a0) { diff --git a/Externals/libiconv-1.14/lib/iso8859_14.h b/Externals/libiconv/lib/iso8859_14.h similarity index 91% rename from Externals/libiconv-1.14/lib/iso8859_14.h rename to Externals/libiconv/lib/iso8859_14.h index 01c9cdd9509..16630d7a5b9 100644 --- a/Externals/libiconv-1.14/lib/iso8859_14.h +++ b/Externals/libiconv/lib/iso8859_14.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -44,7 +43,7 @@ static const unsigned short iso8859_14_2uni[96] = { }; static int -iso8859_14_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +iso8859_14_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; if (c >= 0xa0) @@ -102,7 +101,7 @@ static const unsigned char iso8859_14_page1e_1[8] = { }; static int -iso8859_14_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +iso8859_14_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char c = 0; if (wc < 0x00a0) { diff --git a/Externals/libiconv-1.14/lib/iso8859_15.h b/Externals/libiconv/lib/iso8859_15.h similarity index 83% rename from Externals/libiconv-1.14/lib/iso8859_15.h rename to Externals/libiconv/lib/iso8859_15.h index 24de90d7d31..d3feb89644f 100644 --- a/Externals/libiconv-1.14/lib/iso8859_15.h +++ b/Externals/libiconv/lib/iso8859_15.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -32,7 +31,7 @@ static const unsigned short iso8859_15_2uni[32] = { }; static int -iso8859_15_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +iso8859_15_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; if (c >= 0xa0 && c < 0xc0) @@ -58,7 +57,7 @@ static const unsigned char iso8859_15_page01[48] = { }; static int -iso8859_15_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +iso8859_15_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char c = 0; if (wc < 0x00a0) { diff --git a/Externals/libiconv-1.14/lib/iso8859_16.h b/Externals/libiconv/lib/iso8859_16.h similarity index 90% rename from Externals/libiconv-1.14/lib/iso8859_16.h rename to Externals/libiconv/lib/iso8859_16.h index 200471840f4..cbb112ae9c6 100644 --- a/Externals/libiconv-1.14/lib/iso8859_16.h +++ b/Externals/libiconv/lib/iso8859_16.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -44,7 +43,7 @@ static const unsigned short iso8859_16_2uni[96] = { }; static int -iso8859_16_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +iso8859_16_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; if (c < 0xa0) @@ -93,7 +92,7 @@ static const unsigned char iso8859_16_page20[8] = { }; static int -iso8859_16_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +iso8859_16_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char c = 0; if (wc < 0x00a0) { diff --git a/Externals/libiconv-1.14/lib/iso8859_2.h b/Externals/libiconv/lib/iso8859_2.h similarity index 90% rename from Externals/libiconv-1.14/lib/iso8859_2.h rename to Externals/libiconv/lib/iso8859_2.h index 9ad4d4aa5de..2744bc6aacb 100644 --- a/Externals/libiconv-1.14/lib/iso8859_2.h +++ b/Externals/libiconv/lib/iso8859_2.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -44,7 +43,7 @@ static const unsigned short iso8859_2_2uni[96] = { }; static int -iso8859_2_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +iso8859_2_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; if (c < 0xa0) @@ -93,7 +92,7 @@ static const unsigned char iso8859_2_page02[32] = { }; static int -iso8859_2_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +iso8859_2_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char c = 0; if (wc < 0x00a0) { diff --git a/Externals/libiconv-1.14/lib/iso8859_3.h b/Externals/libiconv/lib/iso8859_3.h similarity index 90% rename from Externals/libiconv-1.14/lib/iso8859_3.h rename to Externals/libiconv/lib/iso8859_3.h index 308e0b0d649..85dde030a8b 100644 --- a/Externals/libiconv-1.14/lib/iso8859_3.h +++ b/Externals/libiconv/lib/iso8859_3.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -44,7 +43,7 @@ static const unsigned short iso8859_3_2uni[96] = { }; static int -iso8859_3_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +iso8859_3_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; if (c < 0xa0) { @@ -97,7 +96,7 @@ static const unsigned char iso8859_3_page02[8] = { }; static int -iso8859_3_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +iso8859_3_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char c = 0; if (wc < 0x00a0) { diff --git a/Externals/libiconv-1.14/lib/iso8859_4.h b/Externals/libiconv/lib/iso8859_4.h similarity index 90% rename from Externals/libiconv-1.14/lib/iso8859_4.h rename to Externals/libiconv/lib/iso8859_4.h index 51e17786563..50c777c9e0b 100644 --- a/Externals/libiconv-1.14/lib/iso8859_4.h +++ b/Externals/libiconv/lib/iso8859_4.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -44,7 +43,7 @@ static const unsigned short iso8859_4_2uni[96] = { }; static int -iso8859_4_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +iso8859_4_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; if (c < 0xa0) @@ -93,7 +92,7 @@ static const unsigned char iso8859_4_page02[32] = { }; static int -iso8859_4_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +iso8859_4_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char c = 0; if (wc < 0x00a0) { diff --git a/Externals/libiconv-1.14/lib/iso8859_5.h b/Externals/libiconv/lib/iso8859_5.h similarity index 87% rename from Externals/libiconv-1.14/lib/iso8859_5.h rename to Externals/libiconv/lib/iso8859_5.h index 6b836055ac6..e56347fd53f 100644 --- a/Externals/libiconv-1.14/lib/iso8859_5.h +++ b/Externals/libiconv/lib/iso8859_5.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -44,7 +43,7 @@ static const unsigned short iso8859_5_2uni[96] = { }; static int -iso8859_5_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +iso8859_5_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; if (c < 0xa0) @@ -74,7 +73,7 @@ static const unsigned char iso8859_5_page04[96] = { }; static int -iso8859_5_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +iso8859_5_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char c = 0; if (wc < 0x00a0) { diff --git a/Externals/libiconv-1.14/lib/iso8859_6.h b/Externals/libiconv/lib/iso8859_6.h similarity index 87% rename from Externals/libiconv-1.14/lib/iso8859_6.h rename to Externals/libiconv/lib/iso8859_6.h index 8d311994093..bbe93701458 100644 --- a/Externals/libiconv-1.14/lib/iso8859_6.h +++ b/Externals/libiconv/lib/iso8859_6.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -44,7 +43,7 @@ static const unsigned short iso8859_6_2uni[96] = { }; static int -iso8859_6_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +iso8859_6_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; if (c < 0xa0) { @@ -79,7 +78,7 @@ static const unsigned char iso8859_6_page06[80] = { }; static int -iso8859_6_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +iso8859_6_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char c = 0; if (wc < 0x00a0) { diff --git a/Externals/libiconv-1.14/lib/iso8859_7.h b/Externals/libiconv/lib/iso8859_7.h similarity index 88% rename from Externals/libiconv-1.14/lib/iso8859_7.h rename to Externals/libiconv/lib/iso8859_7.h index 0825ef5cd9e..3d9b72414d2 100644 --- a/Externals/libiconv-1.14/lib/iso8859_7.h +++ b/Externals/libiconv/lib/iso8859_7.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2004 Free Software Foundation, Inc. + * Copyright (C) 1999-2004, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -44,7 +43,7 @@ static const unsigned short iso8859_7_2uni[96] = { }; static int -iso8859_7_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +iso8859_7_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; if (c < 0xa0) { @@ -86,7 +85,7 @@ static const unsigned char iso8859_7_page20[16] = { }; static int -iso8859_7_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +iso8859_7_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char c = 0; if (wc < 0x00a0) { diff --git a/Externals/libiconv-1.14/lib/iso8859_8.h b/Externals/libiconv/lib/iso8859_8.h similarity index 88% rename from Externals/libiconv-1.14/lib/iso8859_8.h rename to Externals/libiconv/lib/iso8859_8.h index 6184846ea13..7e3ba96bee4 100644 --- a/Externals/libiconv-1.14/lib/iso8859_8.h +++ b/Externals/libiconv/lib/iso8859_8.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -44,7 +43,7 @@ static const unsigned short iso8859_8_2uni[96] = { }; static int -iso8859_8_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +iso8859_8_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; if (c >= 0xa0) { @@ -86,7 +85,7 @@ static const unsigned char iso8859_8_page20[16] = { }; static int -iso8859_8_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +iso8859_8_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char c = 0; if (wc < 0x00a0) { diff --git a/Externals/libiconv-1.14/lib/iso8859_9.h b/Externals/libiconv/lib/iso8859_9.h similarity index 85% rename from Externals/libiconv-1.14/lib/iso8859_9.h rename to Externals/libiconv/lib/iso8859_9.h index 7dbd37d233c..eb09c583c36 100644 --- a/Externals/libiconv-1.14/lib/iso8859_9.h +++ b/Externals/libiconv/lib/iso8859_9.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -35,7 +34,7 @@ static const unsigned short iso8859_9_2uni[48] = { }; static int -iso8859_9_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +iso8859_9_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; if (c >= 0xd0) @@ -66,7 +65,7 @@ static const unsigned char iso8859_9_page01[72] = { }; static int -iso8859_9_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +iso8859_9_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char c = 0; if (wc < 0x00d0) { diff --git a/Externals/libiconv-1.14/lib/isoir165.h b/Externals/libiconv/lib/isoir165.h similarity index 91% rename from Externals/libiconv-1.14/lib/isoir165.h rename to Externals/libiconv/lib/isoir165.h index 4d6e9ffa030..28f47e3cfa0 100644 --- a/Externals/libiconv-1.14/lib/isoir165.h +++ b/Externals/libiconv/lib/isoir165.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001, 2005 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2005, 2012, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -81,7 +80,7 @@ #include "isoir165ext.h" static int -isoir165_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +isoir165_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { int ret; @@ -108,7 +107,7 @@ isoir165_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) if (n >= 2) { unsigned char c2 = s[1]; if (c2 >= 0x21 && c2 < 0x7f) { - int ret = iso646_cn_mbtowc(conv,pwc,s+1,1); + ret = iso646_cn_mbtowc(conv,pwc,s+1,1); if (ret != 1) abort(); return 2; } @@ -122,7 +121,7 @@ isoir165_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) } static int -isoir165_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +isoir165_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char buf[2]; int ret; diff --git a/Externals/libiconv-1.14/lib/isoir165ext.h b/Externals/libiconv/lib/isoir165ext.h similarity index 98% rename from Externals/libiconv-1.14/lib/isoir165ext.h rename to Externals/libiconv/lib/isoir165ext.h index 0bc811ac301..c92cc408123 100644 --- a/Externals/libiconv-1.14/lib/isoir165ext.h +++ b/Externals/libiconv/lib/isoir165ext.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2012, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -158,7 +157,7 @@ static const unsigned short isoir165ext_2uni_page7a[470] = { }; static int -isoir165ext_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +isoir165ext_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c1 = s[0]; if ((c1 >= 0x2b && c1 <= 0x2f) || (c1 >= 0x7a && c1 <= 0x7e)) { @@ -753,7 +752,7 @@ static const Summary16 isoir165ext_uni2indx_pageff[5] = { }; static int -isoir165ext_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +isoir165ext_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { if (n >= 2) { const Summary16 *summary = NULL; @@ -782,9 +781,9 @@ isoir165ext_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) unsigned int i = wc & 0x0f; if (used & ((unsigned short) 1 << i)) { unsigned short c; - /* Keep in `used' only the bits 0..i-1. */ + /* 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'. */ + /* 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); diff --git a/Externals/libiconv-1.14/lib/java.h b/Externals/libiconv/lib/java.h similarity index 87% rename from Externals/libiconv-1.14/lib/java.h rename to Externals/libiconv/lib/java.h index 4d4485f54f1..841bfa9e741 100644 --- a/Externals/libiconv-1.14/lib/java.h +++ b/Externals/libiconv/lib/java.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2002 Free Software Foundation, Inc. + * Copyright (C) 1999-2002, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -26,7 +25,7 @@ */ static int -java_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +java_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c; ucs4_t wc, wc2; @@ -95,7 +94,7 @@ simply_backslash: } static int -java_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +java_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { if (wc < 0x80) { *r = wc; diff --git a/Externals/libiconv-1.14/lib/jisx0201.h b/Externals/libiconv/lib/jisx0201.h similarity index 74% rename from Externals/libiconv-1.14/lib/jisx0201.h rename to Externals/libiconv/lib/jisx0201.h index d58c1d59569..739fae66986 100644 --- a/Externals/libiconv-1.14/lib/jisx0201.h +++ b/Externals/libiconv/lib/jisx0201.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -23,7 +22,7 @@ */ static int -jisx0201_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +jisx0201_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; if (c < 0x80) { @@ -44,7 +43,7 @@ jisx0201_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) } static int -jisx0201_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +jisx0201_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { if (wc < 0x0080 && !(wc == 0x005c || wc == 0x007e)) { *r = wc; diff --git a/Externals/libiconv-1.14/lib/jisx0208.h b/Externals/libiconv/lib/jisx0208.h similarity index 99% rename from Externals/libiconv-1.14/lib/jisx0208.h rename to Externals/libiconv/lib/jisx0208.h index 755b8ba6a5c..262cd405459 100644 --- a/Externals/libiconv-1.14/lib/jisx0208.h +++ b/Externals/libiconv/lib/jisx0208.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2012, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -1010,7 +1009,7 @@ static const unsigned short jisx0208_2uni_page30[6398] = { }; static int -jisx0208_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +jisx0208_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c1 = s[0]; if ((c1 >= 0x21 && c1 <= 0x28) || (c1 >= 0x30 && c1 <= 0x74)) { @@ -2374,7 +2373,7 @@ static const Summary16 jisx0208_uni2indx_pageff[15] = { }; static int -jisx0208_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +jisx0208_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { if (n >= 2) { const Summary16 *summary = NULL; @@ -2397,9 +2396,9 @@ jisx0208_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) unsigned int i = wc & 0x0f; if (used & ((unsigned short) 1 << i)) { unsigned short c; - /* Keep in `used' only the bits 0..i-1. */ + /* 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'. */ + /* 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); diff --git a/Externals/libiconv-1.14/lib/jisx0212.h b/Externals/libiconv/lib/jisx0212.h similarity index 99% rename from Externals/libiconv-1.14/lib/jisx0212.h rename to Externals/libiconv/lib/jisx0212.h index 371dbb152cc..05fbdc859c3 100644 --- a/Externals/libiconv-1.14/lib/jisx0212.h +++ b/Externals/libiconv/lib/jisx0212.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2012, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -911,7 +910,7 @@ static const unsigned short jisx0212_2uni_page30[5801] = { }; static int -jisx0212_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +jisx0212_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c1 = s[0]; if ((c1 == 0x22) || (c1 >= 0x26 && c1 <= 0x27) || (c1 >= 0x29 && c1 <= 0x2b) || (c1 >= 0x30 && c1 <= 0x6d)) { @@ -2154,7 +2153,7 @@ static const Summary16 jisx0212_uni2indx_pageff[6] = { }; static int -jisx0212_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +jisx0212_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { if (n >= 2) { const Summary16 *summary = NULL; @@ -2171,9 +2170,9 @@ jisx0212_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) unsigned int i = wc & 0x0f; if (used & ((unsigned short) 1 << i)) { unsigned short c; - /* Keep in `used' only the bits 0..i-1. */ + /* 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'. */ + /* 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); diff --git a/Externals/libiconv-1.14/lib/jisx0213.h b/Externals/libiconv/lib/jisx0213.h similarity index 99% rename from Externals/libiconv-1.14/lib/jisx0213.h rename to Externals/libiconv/lib/jisx0213.h index 98468c46449..9c0016a0d4d 100644 --- a/Externals/libiconv-1.14/lib/jisx0213.h +++ b/Externals/libiconv/lib/jisx0213.h @@ -1,25 +1,24 @@ /* - * Copyright (C) 1999-2004 Free Software Foundation, Inc. + * Copyright (C) 1999-2004, 2012 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* - * JISX0213:2000 + * JISX0213:2004 */ #ifndef _JISX0213_H @@ -5907,9 +5906,9 @@ static unsigned short ucs4_to_jisx0213 (ucs4_t ucs) unsigned short used = summary->used; unsigned int i = ucs & 0x0f; if (used & ((unsigned short) 1 << i)) { - /* Keep in `used' only the bits 0..i-1. */ + /* 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'. */ + /* 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); diff --git a/Externals/libiconv-1.14/lib/johab.h b/Externals/libiconv/lib/johab.h similarity index 89% rename from Externals/libiconv-1.14/lib/johab.h rename to Externals/libiconv/lib/johab.h index fb2c17f59e2..6ac624d4197 100644 --- a/Externals/libiconv-1.14/lib/johab.h +++ b/Externals/libiconv/lib/johab.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001, 2007 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2007, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -48,7 +47,7 @@ */ static int -johab_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +johab_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; if (c < 0x80) { @@ -86,7 +85,7 @@ johab_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) } static int -johab_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +johab_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char buf[2]; int ret; diff --git a/Externals/libiconv-1.14/lib/johab_hangul.h b/Externals/libiconv/lib/johab_hangul.h similarity index 95% rename from Externals/libiconv-1.14/lib/johab_hangul.h rename to Externals/libiconv/lib/johab_hangul.h index 68368dff1e7..1a9bc7340fd 100644 --- a/Externals/libiconv-1.14/lib/johab_hangul.h +++ b/Externals/libiconv/lib/johab_hangul.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -102,7 +101,7 @@ static const signed char jamo_final_index[32] = { }; static int -johab_hangul_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +johab_hangul_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c1 = s[0]; if ((c1 >= 0x84 && c1 <= 0xd3)) { @@ -195,7 +194,7 @@ static const char jamo_final_index_inverse[28] = { }; static int -johab_hangul_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +johab_hangul_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { if (n >= 2) { if (wc >= 0x3131 && wc < 0x3164) { diff --git a/Externals/libiconv-1.14/lib/koi8_r.h b/Externals/libiconv/lib/koi8_r.h similarity index 93% rename from Externals/libiconv-1.14/lib/koi8_r.h rename to Externals/libiconv/lib/koi8_r.h index 3e435368f19..a60c5fa0ad5 100644 --- a/Externals/libiconv-1.14/lib/koi8_r.h +++ b/Externals/libiconv/lib/koi8_r.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -52,7 +51,7 @@ static const unsigned short koi8_r_2uni[128] = { }; static int -koi8_r_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +koi8_r_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; if (c < 0x80) @@ -128,7 +127,7 @@ static const unsigned char koi8_r_page25[168] = { }; static int -koi8_r_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +koi8_r_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char c = 0; if (wc < 0x0080) { diff --git a/Externals/libiconv-1.14/lib/koi8_ru.h b/Externals/libiconv/lib/koi8_ru.h similarity index 93% rename from Externals/libiconv-1.14/lib/koi8_ru.h rename to Externals/libiconv/lib/koi8_ru.h index e43ae720322..ee0b03319ad 100644 --- a/Externals/libiconv-1.14/lib/koi8_ru.h +++ b/Externals/libiconv/lib/koi8_ru.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -50,7 +49,7 @@ static const unsigned short koi8_ru_2uni[128] = { }; static int -koi8_ru_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +koi8_ru_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; if (c < 0x80) @@ -134,7 +133,7 @@ static const unsigned char koi8_ru_page25[168] = { }; static int -koi8_ru_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +koi8_ru_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char c = 0; if (wc < 0x0080) { diff --git a/Externals/libiconv-1.14/lib/koi8_t.h b/Externals/libiconv/lib/koi8_t.h similarity index 92% rename from Externals/libiconv-1.14/lib/koi8_t.h rename to Externals/libiconv/lib/koi8_t.h index 0f7a5685294..a2e9bf50eb0 100644 --- a/Externals/libiconv-1.14/lib/koi8_t.h +++ b/Externals/libiconv/lib/koi8_t.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2002 Free Software Foundation, Inc. + * Copyright (C) 1999-2002, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -50,7 +49,7 @@ static const unsigned short koi8_t_2uni[128] = { }; static int -koi8_t_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +koi8_t_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; if (c < 0x80) { @@ -120,7 +119,7 @@ static const unsigned char koi8_t_page21[24] = { }; static int -koi8_t_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +koi8_t_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char c = 0; if (wc < 0x0080) { diff --git a/Externals/libiconv-1.14/lib/koi8_u.h b/Externals/libiconv/lib/koi8_u.h similarity index 93% rename from Externals/libiconv-1.14/lib/koi8_u.h rename to Externals/libiconv/lib/koi8_u.h index 0637d5854f4..f035b30c84a 100644 --- a/Externals/libiconv-1.14/lib/koi8_u.h +++ b/Externals/libiconv/lib/koi8_u.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -52,7 +51,7 @@ static const unsigned short koi8_u_2uni[128] = { }; static int -koi8_u_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +koi8_u_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; if (c < 0x80) @@ -136,7 +135,7 @@ static const unsigned char koi8_u_page25[168] = { }; static int -koi8_u_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +koi8_u_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char c = 0; if (wc < 0x0080) { diff --git a/Externals/libiconv-1.14/lib/ksc5601.h b/Externals/libiconv/lib/ksc5601.h similarity index 99% rename from Externals/libiconv-1.14/lib/ksc5601.h rename to Externals/libiconv/lib/ksc5601.h index fd166232176..0a0b7489fdd 100644 --- a/Externals/libiconv-1.14/lib/ksc5601.h +++ b/Externals/libiconv/lib/ksc5601.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2007 Free Software Foundation, Inc. + * Copyright (C) 1999-2007, 2012, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -1186,7 +1185,7 @@ static const unsigned short ksc5601_2uni_page4a[4888] = { }; static int -ksc5601_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +ksc5601_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c1 = s[0]; if ((c1 >= 0x21 && c1 <= 0x2c) || (c1 >= 0x30 && c1 <= 0x48) || (c1 >= 0x4a && c1 <= 0x7d)) { @@ -2981,7 +2980,7 @@ static const Summary16 ksc5601_uni2indx_pageff[15] = { }; static int -ksc5601_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +ksc5601_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { if (n >= 2) { const Summary16 *summary = NULL; @@ -3004,9 +3003,9 @@ ksc5601_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) unsigned int i = wc & 0x0f; if (used & ((unsigned short) 1 << i)) { unsigned short c; - /* Keep in `used' only the bits 0..i-1. */ + /* 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'. */ + /* 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); diff --git a/Externals/libiconv-1.14/lib/loop_unicode.h b/Externals/libiconv/lib/loop_unicode.h similarity index 93% rename from Externals/libiconv-1.14/lib/loop_unicode.h rename to Externals/libiconv/lib/loop_unicode.h index 1c787b5f7d5..e0010338100 100644 --- a/Externals/libiconv-1.14/lib/loop_unicode.h +++ b/Externals/libiconv/lib/loop_unicode.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2003, 2005-2006, 2008 Free Software Foundation, Inc. + * Copyright (C) 1999-2024 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* This file defines the conversion loop via Unicode as a pivot encoding. */ @@ -154,8 +153,6 @@ static int unicode_transliterate (conv_t cd, ucs4_t wc, return RET_ILUNI; } -#ifndef LIBICONV_PLUG - struct uc_to_mb_fallback_locals { unsigned char* l_outbuf; size_t l_outbytesleft; @@ -217,12 +214,10 @@ static void mb_to_uc_write_replacement (const unsigned int *buf, size_t buflen, if (outcount != RET_ILUNI) goto outcount_ok; } - if (cd->discard_ilseq) { + if (cd->discard_ilseq & DISCARD_UNCONVERTIBLE) { outcount = 0; goto outcount_ok; - } - #ifndef LIBICONV_PLUG - else if (cd->fallbacks.uc_to_mb_fallback != NULL) { + } else if (cd->fallbacks.uc_to_mb_fallback != NULL) { struct uc_to_mb_fallback_locals locals; locals.l_outbuf = outptr; locals.l_outbytesleft = outleft; @@ -240,7 +235,6 @@ static void mb_to_uc_write_replacement (const unsigned int *buf, size_t buflen, outcount = 0; goto outcount_ok; } - #endif outcount = cd->ofuncs.xxx_wctomb(cd,outptr,0xFFFD,outleft); if (outcount != RET_ILUNI) goto outcount_ok; @@ -251,10 +245,8 @@ static void mb_to_uc_write_replacement (const unsigned int *buf, size_t buflen, plocals->l_errno = E2BIG; break; } - #ifndef LIBICONV_PLUG if (cd->hooks.uc_hook) (*cd->hooks.uc_hook)(wc, cd->hooks.data); - #endif if (!(outcount <= outleft)) abort(); outptr += outcount; outleft -= outcount; outcount_zero: ; @@ -264,8 +256,6 @@ static void mb_to_uc_write_replacement (const unsigned int *buf, size_t buflen, } } -#endif /* !LIBICONV_PLUG */ - static size_t unicode_loop_convert (iconv_t icd, const char* * inbuf, size_t *inbytesleft, char* * outbuf, size_t *outbytesleft) @@ -286,7 +276,7 @@ static size_t unicode_loop_convert (iconv_t icd, if ((unsigned int)(-1-incount) % 2 == (unsigned int)(-1-RET_ILSEQ) % 2) { /* Case 1: invalid input, possibly after a shift sequence */ incount = DECODE_SHIFT_ILSEQ(incount); - if (cd->discard_ilseq) { + if (cd->discard_ilseq & DISCARD_INVALID) { switch (cd->iindex) { case ei_ucs4: case ei_ucs4be: case ei_ucs4le: case ei_utf32: case ei_utf32be: case ei_utf32le: @@ -300,9 +290,7 @@ static size_t unicode_loop_convert (iconv_t icd, incount += 1; break; } goto outcount_zero; - } - #ifndef LIBICONV_PLUG - else if (cd->fallbacks.mb_to_uc_fallback != NULL) { + } else if (cd->fallbacks.mb_to_uc_fallback != NULL) { unsigned int incount2; struct mb_to_uc_fallback_locals locals; switch (cd->iindex) { @@ -337,7 +325,6 @@ static size_t unicode_loop_convert (iconv_t icd, result += 1; goto outcount_zero; } - #endif inptr += incount; inleft -= incount; errno = EILSEQ; result = -1; @@ -372,12 +359,10 @@ static size_t unicode_loop_convert (iconv_t icd, if (outcount != RET_ILUNI) goto outcount_ok; } - if (cd->discard_ilseq) { + if (cd->discard_ilseq & DISCARD_UNCONVERTIBLE) { outcount = 0; goto outcount_ok; - } - #ifndef LIBICONV_PLUG - else if (cd->fallbacks.uc_to_mb_fallback != NULL) { + } else if (cd->fallbacks.uc_to_mb_fallback != NULL) { struct uc_to_mb_fallback_locals locals; locals.l_outbuf = outptr; locals.l_outbytesleft = outleft; @@ -396,7 +381,6 @@ static size_t unicode_loop_convert (iconv_t icd, outcount = 0; goto outcount_ok; } - #endif outcount = cd->ofuncs.xxx_wctomb(cd,outptr,0xFFFD,outleft); if (outcount != RET_ILUNI) goto outcount_ok; @@ -411,10 +395,8 @@ static size_t unicode_loop_convert (iconv_t icd, result = -1; break; } - #ifndef LIBICONV_PLUG if (cd->hooks.uc_hook) (*cd->hooks.uc_hook)(wc, cd->hooks.data); - #endif if (!(outcount <= outleft)) abort(); outptr += outcount; outleft -= outcount; } @@ -459,12 +441,10 @@ static size_t unicode_loop_reset (iconv_t icd, if (outcount != RET_ILUNI) goto outcount_ok; } - if (cd->discard_ilseq) { + if (cd->discard_ilseq & DISCARD_UNCONVERTIBLE) { outcount = 0; goto outcount_ok; - } - #ifndef LIBICONV_PLUG - else if (cd->fallbacks.uc_to_mb_fallback != NULL) { + } else if (cd->fallbacks.uc_to_mb_fallback != NULL) { struct uc_to_mb_fallback_locals locals; locals.l_outbuf = outptr; locals.l_outbytesleft = outleft; @@ -483,7 +463,6 @@ static size_t unicode_loop_reset (iconv_t icd, outcount = 0; goto outcount_ok; } - #endif outcount = cd->ofuncs.xxx_wctomb(cd,outptr,0xFFFD,outleft); if (outcount != RET_ILUNI) goto outcount_ok; @@ -496,10 +475,8 @@ static size_t unicode_loop_reset (iconv_t icd, errno = E2BIG; return -1; } - #ifndef LIBICONV_PLUG if (cd->hooks.uc_hook) (*cd->hooks.uc_hook)(wc, cd->hooks.data); - #endif if (!(outcount <= outleft)) abort(); outptr += outcount; outleft -= outcount; diff --git a/Externals/libiconv-1.14/lib/loop_wchar.h b/Externals/libiconv/lib/loop_wchar.h similarity index 93% rename from Externals/libiconv-1.14/lib/loop_wchar.h rename to Externals/libiconv/lib/loop_wchar.h index 6dc011b3e4c..515a9eaa256 100644 --- a/Externals/libiconv-1.14/lib/loop_wchar.h +++ b/Externals/libiconv/lib/loop_wchar.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 2000-2002, 2005-2006, 2008-2009, 2011 Free Software Foundation, Inc. + * Copyright (C) 2000-2024 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* This file defines three conversion loops: @@ -37,7 +36,6 @@ # include # define BUF_SIZE 64 /* assume MB_LEN_MAX <= 64 */ /* Some systems, like BeOS, have multibyte encodings but lack mbstate_t. */ - extern size_t mbrtowc (); # ifdef mbstate_t # define mbrtowc(pwc, s, n, ps) (mbrtowc)(pwc, s, n, 0) # define mbsinit(ps) 1 @@ -64,8 +62,6 @@ struct wchar_conv_struct { /* From wchar_t to anything else. */ -#ifndef LIBICONV_PLUG - #if 0 struct wc_to_mb_fallback_locals { @@ -136,8 +132,6 @@ static void wc_to_mb_write_replacement (const char *buf, size_t buflen, #endif -#endif /* !LIBICONV_PLUG */ - static size_t wchar_from_loop_convert (iconv_t icd, const char* * inbuf, size_t *inbytesleft, char* * outbuf, size_t *outbytesleft) @@ -155,11 +149,9 @@ static size_t wchar_from_loop_convert (iconv_t icd, size_t count = wcrtomb(buf+bufcount,*inptr,&state); if (count == (size_t)(-1)) { /* Invalid input. */ - if (wcd->parent.discard_ilseq) { + if (wcd->parent.discard_ilseq & DISCARD_INVALID) { count = 0; - } - #ifndef LIBICONV_PLUG - else if (wcd->parent.fallbacks.wc_to_mb_fallback != NULL) { + } else if (wcd->parent.fallbacks.wc_to_mb_fallback != NULL) { /* Drop the contents of buf[] accumulated so far, and instead pass all queued wide characters to the fallback handler. */ struct wc_to_mb_fallback_locals locals; @@ -188,9 +180,7 @@ static size_t wchar_from_loop_convert (iconv_t icd, *outbytesleft = locals.l_outbytesleft; result += 1; break; - } - #endif - else { + } else { errno = EILSEQ; return -1; } @@ -292,8 +282,6 @@ static size_t wchar_from_loop_reset (iconv_t icd, /* From anything else to wchar_t. */ -#ifndef LIBICONV_PLUG - struct mb_to_wc_fallback_locals { char* l_outbuf; size_t l_outbytesleft; @@ -320,8 +308,6 @@ static void mb_to_wc_write_replacement (const wchar_t *buf, size_t buflen, } } -#endif /* !LIBICONV_PLUG */ - static size_t wchar_to_loop_convert (iconv_t icd, const char* * inbuf, size_t *inbytesleft, char* * outbuf, size_t *outbytesleft) @@ -360,10 +346,8 @@ static size_t wchar_to_loop_convert (iconv_t icd, } else { if (res == (size_t)(-1)) { /* Invalid input. */ - if (wcd->parent.discard_ilseq) { - } - #ifndef LIBICONV_PLUG - else if (wcd->parent.fallbacks.mb_to_wc_fallback != NULL) { + if (wcd->parent.discard_ilseq & DISCARD_INVALID) { + } else if (wcd->parent.fallbacks.mb_to_wc_fallback != NULL) { /* Drop the contents of buf[] accumulated so far, and instead pass all queued chars to the fallback handler. */ struct mb_to_wc_fallback_locals locals; @@ -389,9 +373,7 @@ static size_t wchar_to_loop_convert (iconv_t icd, *outbytesleft = locals.l_outbytesleft; result += 1; break; - } - #endif - else + } else return -1; } else { if (*outbytesleft < sizeof(wchar_t)) { @@ -456,10 +438,8 @@ static size_t wchar_id_loop_convert (iconv_t icd, do { wchar_t wc = *inptr++; *outptr++ = wc; - #ifndef LIBICONV_PLUG if (cd->hooks.wc_hook) (*cd->hooks.wc_hook)(wc, cd->hooks.data); - #endif } while (--count > 0); *inbuf = (const char*) inptr; *outbuf = (char*) outptr; diff --git a/Externals/libiconv-1.14/lib/loops.h b/Externals/libiconv/lib/loops.h similarity index 68% rename from Externals/libiconv-1.14/lib/loops.h rename to Externals/libiconv/lib/loops.h index 782cc0926d9..8125c365fbd 100644 --- a/Externals/libiconv-1.14/lib/loops.h +++ b/Externals/libiconv/lib/loops.h @@ -3,19 +3,18 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* This file defines all the loops. */ diff --git a/Externals/libiconv-1.14/lib/mac_arabic.h b/Externals/libiconv/lib/mac_arabic.h similarity index 91% rename from Externals/libiconv-1.14/lib/mac_arabic.h rename to Externals/libiconv/lib/mac_arabic.h index 9d05a1ab63b..43ea38bda9b 100644 --- a/Externals/libiconv-1.14/lib/mac_arabic.h +++ b/Externals/libiconv/lib/mac_arabic.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -50,7 +49,7 @@ static const unsigned short mac_arabic_2uni[128] = { }; static int -mac_arabic_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +mac_arabic_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; if (c < 0x80) { @@ -111,7 +110,7 @@ static const unsigned char mac_arabic_page06[208] = { }; static int -mac_arabic_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +mac_arabic_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char c = 0; if (wc < 0x0080) { diff --git a/Externals/libiconv-1.14/lib/mac_centraleurope.h b/Externals/libiconv/lib/mac_centraleurope.h similarity index 93% rename from Externals/libiconv-1.14/lib/mac_centraleurope.h rename to Externals/libiconv/lib/mac_centraleurope.h index be030cfc81d..f38cf870618 100644 --- a/Externals/libiconv-1.14/lib/mac_centraleurope.h +++ b/Externals/libiconv/lib/mac_centraleurope.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -50,7 +49,7 @@ static const unsigned short mac_centraleurope_2uni[128] = { }; static int -mac_centraleurope_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +mac_centraleurope_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; if (c < 0x80) @@ -110,7 +109,7 @@ static const unsigned char mac_centraleurope_page22_1[8] = { }; static int -mac_centraleurope_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +mac_centraleurope_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char c = 0; if (wc < 0x0080) { diff --git a/Externals/libiconv-1.14/lib/mac_croatian.h b/Externals/libiconv/lib/mac_croatian.h similarity index 93% rename from Externals/libiconv-1.14/lib/mac_croatian.h rename to Externals/libiconv/lib/mac_croatian.h index 582f3e05c00..2b023e29526 100644 --- a/Externals/libiconv-1.14/lib/mac_croatian.h +++ b/Externals/libiconv/lib/mac_croatian.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -50,7 +49,7 @@ static const unsigned short mac_croatian_2uni[128] = { }; static int -mac_croatian_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +mac_croatian_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; if (c < 0x80) { @@ -136,7 +135,7 @@ static const unsigned char mac_croatian_page22[104] = { }; static int -mac_croatian_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +mac_croatian_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char c = 0; if (wc < 0x0080) { diff --git a/Externals/libiconv-1.14/lib/mac_cyrillic.h b/Externals/libiconv/lib/mac_cyrillic.h similarity index 91% rename from Externals/libiconv-1.14/lib/mac_cyrillic.h rename to Externals/libiconv/lib/mac_cyrillic.h index a5b5972f287..41111b0396c 100644 --- a/Externals/libiconv-1.14/lib/mac_cyrillic.h +++ b/Externals/libiconv/lib/mac_cyrillic.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -50,7 +49,7 @@ static const unsigned short mac_cyrillic_2uni[128] = { }; static int -mac_cyrillic_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +mac_cyrillic_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; if (c >= 0x80) @@ -107,7 +106,7 @@ static const unsigned char mac_cyrillic_page22[104] = { }; static int -mac_cyrillic_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +mac_cyrillic_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char c = 0; if (wc < 0x0080) { diff --git a/Externals/libiconv-1.14/lib/mac_greek.h b/Externals/libiconv/lib/mac_greek.h similarity index 91% rename from Externals/libiconv-1.14/lib/mac_greek.h rename to Externals/libiconv/lib/mac_greek.h index 3cc4ac29f86..98e92062bf2 100644 --- a/Externals/libiconv-1.14/lib/mac_greek.h +++ b/Externals/libiconv/lib/mac_greek.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -50,7 +49,7 @@ static const unsigned short mac_greek_2uni[128] = { }; static int -mac_greek_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +mac_greek_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; if (c < 0x80) { @@ -108,7 +107,7 @@ static const unsigned char mac_greek_page22[32] = { }; static int -mac_greek_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +mac_greek_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char c = 0; if (wc < 0x0080) { diff --git a/Externals/libiconv-1.14/lib/mac_hebrew.h b/Externals/libiconv/lib/mac_hebrew.h similarity index 91% rename from Externals/libiconv-1.14/lib/mac_hebrew.h rename to Externals/libiconv/lib/mac_hebrew.h index c7f97bb6b1d..d66bd9cb4c0 100644 --- a/Externals/libiconv-1.14/lib/mac_hebrew.h +++ b/Externals/libiconv/lib/mac_hebrew.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -50,7 +49,7 @@ static const unsigned short mac_hebrew_2uni[128] = { }; static int -mac_hebrew_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +mac_hebrew_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; if (c < 0x80) { @@ -107,7 +106,7 @@ static const unsigned char mac_hebrew_pagefb[56] = { }; static int -mac_hebrew_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +mac_hebrew_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char c = 0; if (wc < 0x0080) { diff --git a/Externals/libiconv-1.14/lib/mac_iceland.h b/Externals/libiconv/lib/mac_iceland.h similarity index 93% rename from Externals/libiconv-1.14/lib/mac_iceland.h rename to Externals/libiconv/lib/mac_iceland.h index b49f1642aff..9a45bbf04e7 100644 --- a/Externals/libiconv-1.14/lib/mac_iceland.h +++ b/Externals/libiconv/lib/mac_iceland.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -50,7 +49,7 @@ static const unsigned short mac_iceland_2uni[128] = { }; static int -mac_iceland_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +mac_iceland_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; if (c < 0x80) { @@ -131,7 +130,7 @@ static const unsigned char mac_iceland_page22[104] = { }; static int -mac_iceland_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +mac_iceland_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char c = 0; if (wc < 0x0080) { diff --git a/Externals/libiconv-1.14/lib/mac_roman.h b/Externals/libiconv/lib/mac_roman.h similarity index 93% rename from Externals/libiconv-1.14/lib/mac_roman.h rename to Externals/libiconv/lib/mac_roman.h index 7a6d51aa0bc..cb126bc864f 100644 --- a/Externals/libiconv-1.14/lib/mac_roman.h +++ b/Externals/libiconv/lib/mac_roman.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -50,7 +49,7 @@ static const unsigned short mac_roman_2uni[128] = { }; static int -mac_roman_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +mac_roman_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; if (c < 0x80) { @@ -134,7 +133,7 @@ static const unsigned char mac_roman_pagefb[8] = { }; static int -mac_roman_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +mac_roman_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char c = 0; if (wc < 0x0080) { diff --git a/Externals/libiconv-1.14/lib/mac_romania.h b/Externals/libiconv/lib/mac_romania.h similarity index 93% rename from Externals/libiconv-1.14/lib/mac_romania.h rename to Externals/libiconv/lib/mac_romania.h index 2d35562d897..ac03b1d974b 100644 --- a/Externals/libiconv-1.14/lib/mac_romania.h +++ b/Externals/libiconv/lib/mac_romania.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -50,7 +49,7 @@ static const unsigned short mac_romania_2uni[128] = { }; static int -mac_romania_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +mac_romania_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; if (c < 0x80) { @@ -136,7 +135,7 @@ static const unsigned char mac_romania_page22[104] = { }; static int -mac_romania_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +mac_romania_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char c = 0; if (wc < 0x0080) { diff --git a/Externals/libiconv-1.14/lib/mac_thai.h b/Externals/libiconv/lib/mac_thai.h similarity index 90% rename from Externals/libiconv-1.14/lib/mac_thai.h rename to Externals/libiconv/lib/mac_thai.h index 74d15aaf7f5..804cc3cc53d 100644 --- a/Externals/libiconv-1.14/lib/mac_thai.h +++ b/Externals/libiconv/lib/mac_thai.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -50,7 +49,7 @@ static const unsigned short mac_thai_2uni[128] = { }; static int -mac_thai_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +mac_thai_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; if (c < 0x80) { @@ -101,7 +100,7 @@ static const unsigned char mac_thai_pagef8[32] = { }; static int -mac_thai_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +mac_thai_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char c = 0; if (wc < 0x0080) { diff --git a/Externals/libiconv-1.14/lib/mac_turkish.h b/Externals/libiconv/lib/mac_turkish.h similarity index 93% rename from Externals/libiconv-1.14/lib/mac_turkish.h rename to Externals/libiconv/lib/mac_turkish.h index 94f7d376b93..b61ed59da38 100644 --- a/Externals/libiconv-1.14/lib/mac_turkish.h +++ b/Externals/libiconv/lib/mac_turkish.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -50,7 +49,7 @@ static const unsigned short mac_turkish_2uni[128] = { }; static int -mac_turkish_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +mac_turkish_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; if (c < 0x80) { @@ -132,7 +131,7 @@ static const unsigned char mac_turkish_page22[104] = { }; static int -mac_turkish_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +mac_turkish_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char c = 0; if (wc < 0x0080) { diff --git a/Externals/libiconv-1.14/lib/mac_ukraine.h b/Externals/libiconv/lib/mac_ukraine.h similarity index 92% rename from Externals/libiconv-1.14/lib/mac_ukraine.h rename to Externals/libiconv/lib/mac_ukraine.h index 8ea17b09c9a..b83444a5423 100644 --- a/Externals/libiconv-1.14/lib/mac_ukraine.h +++ b/Externals/libiconv/lib/mac_ukraine.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -50,7 +49,7 @@ static const unsigned short mac_ukraine_2uni[128] = { }; static int -mac_ukraine_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +mac_ukraine_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; if (c >= 0x80) @@ -114,7 +113,7 @@ static const unsigned char mac_ukraine_page22[104] = { }; static int -mac_ukraine_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +mac_ukraine_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char c = 0; if (wc < 0x0080) { diff --git a/Externals/libiconv-1.14/lib/mulelao.h b/Externals/libiconv/lib/mulelao.h similarity index 86% rename from Externals/libiconv-1.14/lib/mulelao.h rename to Externals/libiconv/lib/mulelao.h index abfb5cf0ee2..8b92855f56f 100644 --- a/Externals/libiconv-1.14/lib/mulelao.h +++ b/Externals/libiconv/lib/mulelao.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -44,7 +43,7 @@ static const unsigned short mulelao_2uni[96] = { }; static int -mulelao_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +mulelao_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; if (c < 0xa0) { @@ -77,7 +76,7 @@ static const unsigned char mulelao_page0e[96] = { }; static int -mulelao_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +mulelao_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char c = 0; if (wc < 0x00a0) { diff --git a/Externals/libiconv-1.14/lib/nextstep.h b/Externals/libiconv/lib/nextstep.h similarity index 92% rename from Externals/libiconv-1.14/lib/nextstep.h rename to Externals/libiconv/lib/nextstep.h index ffe41b91700..481e621de33 100644 --- a/Externals/libiconv-1.14/lib/nextstep.h +++ b/Externals/libiconv/lib/nextstep.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -50,7 +49,7 @@ static const unsigned short nextstep_2uni[128] = { }; static int -nextstep_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +nextstep_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; if (c < 0x80) { @@ -116,7 +115,7 @@ static const unsigned char nextstep_pagefb[8] = { }; static int -nextstep_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +nextstep_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char c = 0; if (wc < 0x0080) { diff --git a/Externals/libiconv-1.14/lib/pt154.h b/Externals/libiconv/lib/pt154.h similarity index 90% rename from Externals/libiconv-1.14/lib/pt154.h rename to Externals/libiconv/lib/pt154.h index 36a5d84fc24..9e9cec8c0cd 100644 --- a/Externals/libiconv-1.14/lib/pt154.h +++ b/Externals/libiconv/lib/pt154.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2005 Free Software Foundation, Inc. + * Copyright (C) 1999-2005, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -38,7 +37,7 @@ static const unsigned short pt154_2uni[64] = { }; static int -pt154_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +pt154_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; if (c < 0x80) @@ -95,7 +94,7 @@ static const unsigned char pt154_page20[24] = { }; static int -pt154_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +pt154_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char c = 0; if (wc < 0x0080) { diff --git a/Externals/libiconv-1.14/lib/riscos1.h b/Externals/libiconv/lib/riscos1.h similarity index 86% rename from Externals/libiconv-1.14/lib/riscos1.h rename to Externals/libiconv/lib/riscos1.h index 2ebc7513419..0613d8993f9 100644 --- a/Externals/libiconv-1.14/lib/riscos1.h +++ b/Externals/libiconv/lib/riscos1.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2002 Free Software Foundation, Inc. + * Copyright (C) 1999-2002, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -32,7 +31,7 @@ static const unsigned short riscos1_2uni[32] = { }; static int -riscos1_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +riscos1_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; if (c >= 0x80 && c < 0xa0) @@ -67,7 +66,7 @@ static const unsigned char riscos1_page22[16] = { }; static int -riscos1_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +riscos1_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char c = 0; if (wc < 0x0080 || wc == 0x0083 || wc == 0x0087 || (wc >= 0x00a0 && wc < 0x0100)) { diff --git a/Externals/libiconv-1.14/lib/rk1048.h b/Externals/libiconv/lib/rk1048.h similarity index 92% rename from Externals/libiconv-1.14/lib/rk1048.h rename to Externals/libiconv/lib/rk1048.h index 0e1fde89713..4ffb8901575 100644 --- a/Externals/libiconv-1.14/lib/rk1048.h +++ b/Externals/libiconv/lib/rk1048.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2007 Free Software Foundation, Inc. + * Copyright (C) 1999-2007, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -50,7 +49,7 @@ static const unsigned short rk1048_2uni[128] = { }; static int -rk1048_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +rk1048_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; if (c < 0x80) { @@ -120,7 +119,7 @@ static const unsigned char rk1048_page21[24] = { }; static int -rk1048_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +rk1048_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char c = 0; if (wc < 0x0080) { diff --git a/Externals/libiconv-1.14/lib/shift_jisx0213.h b/Externals/libiconv/lib/shift_jisx0213.h similarity index 95% rename from Externals/libiconv-1.14/lib/shift_jisx0213.h rename to Externals/libiconv/lib/shift_jisx0213.h index 05f00b00b00..f67dbfc1dd0 100644 --- a/Externals/libiconv-1.14/lib/shift_jisx0213.h +++ b/Externals/libiconv/lib/shift_jisx0213.h @@ -3,19 +3,18 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -40,7 +39,7 @@ #include "flushwc.h" static int -shift_jisx0213_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +shift_jisx0213_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { ucs4_t last_wc = conv->istate; if (last_wc) { @@ -158,7 +157,7 @@ static const struct { unsigned short base; unsigned short composed; } shift_jisx }; static int -shift_jisx0213_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +shift_jisx0213_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { int count = 0; unsigned short lasttwo = conv->ostate; @@ -294,7 +293,7 @@ shift_jisx0213_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) } static int -shift_jisx0213_reset (conv_t conv, unsigned char *r, int n) +shift_jisx0213_reset (conv_t conv, unsigned char *r, size_t n) { state_t lasttwo = conv->ostate; diff --git a/Externals/libiconv-1.14/lib/sjis.h b/Externals/libiconv/lib/sjis.h similarity index 87% rename from Externals/libiconv-1.14/lib/sjis.h rename to Externals/libiconv/lib/sjis.h index 8244e3a87c3..0dba78c17bb 100644 --- a/Externals/libiconv-1.14/lib/sjis.h +++ b/Externals/libiconv/lib/sjis.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2002 Free Software Foundation, Inc. + * Copyright (C) 1999-2002, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -44,7 +43,7 @@ */ static int -sjis_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +sjis_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; if (c < 0x80 || (c >= 0xa1 && c <= 0xdf)) @@ -80,7 +79,7 @@ sjis_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) } static int -sjis_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +sjis_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char buf[2]; int ret; diff --git a/Externals/libiconv/lib/stamp-h2 b/Externals/libiconv/lib/stamp-h2 new file mode 100644 index 00000000000..8ce1fe9cb00 --- /dev/null +++ b/Externals/libiconv/lib/stamp-h2 @@ -0,0 +1 @@ +timestamp for lib/config.h diff --git a/Externals/libiconv-1.14/lib/tcvn.h b/Externals/libiconv/lib/tcvn.h similarity index 94% rename from Externals/libiconv-1.14/lib/tcvn.h rename to Externals/libiconv/lib/tcvn.h index abd5def22c5..dd981c448cf 100644 --- a/Externals/libiconv-1.14/lib/tcvn.h +++ b/Externals/libiconv/lib/tcvn.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2002, 2004 Free Software Foundation, Inc. + * Copyright (C) 1999-2002, 2004, 2016, 2019 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -78,7 +77,7 @@ static const unsigned short tcvn_2uni_2[128] = { character, or 0 if none. */ static int -tcvn_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +tcvn_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; unsigned short wc; @@ -215,10 +214,10 @@ static const unsigned char tcvn_page1e[96] = { }; static int -tcvn_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +tcvn_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char c = 0; - if (wc < 0x0080 && (wc >= 0x0020 || (0x00fe0076 & (1 << wc)) == 0)) { + if (wc < 0x0080 && (wc >= 0x0020 || (0x00fe0076U & (1U << wc)) == 0)) { *r = wc; return 1; } diff --git a/Externals/libiconv-1.14/lib/tds565.h b/Externals/libiconv/lib/tds565.h similarity index 89% rename from Externals/libiconv-1.14/lib/tds565.h rename to Externals/libiconv/lib/tds565.h index 479513fedf9..acb59a99852 100644 --- a/Externals/libiconv-1.14/lib/tds565.h +++ b/Externals/libiconv/lib/tds565.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2002 Free Software Foundation, Inc. + * Copyright (C) 1999-2002, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -38,7 +37,7 @@ static const unsigned short tds565_2uni[64] = { }; static int -tds565_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +tds565_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; if (c < 0x40) { @@ -84,7 +83,7 @@ static const unsigned char tds565_page01[64] = { }; static int -tds565_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +tds565_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char c = 0; if (wc < 0x0040) { diff --git a/Externals/libiconv-1.14/lib/tis620.h b/Externals/libiconv/lib/tis620.h similarity index 70% rename from Externals/libiconv-1.14/lib/tis620.h rename to Externals/libiconv/lib/tis620.h index 125e6dc80e7..b22fa1ca132 100644 --- a/Externals/libiconv-1.14/lib/tis620.h +++ b/Externals/libiconv/lib/tis620.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -23,7 +22,7 @@ */ static int -tis620_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +tis620_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; if (c < 0x80) { @@ -38,7 +37,7 @@ tis620_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) } static int -tis620_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +tis620_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { if (wc < 0x0080) { *r = wc; diff --git a/Externals/libiconv/lib/translit.def b/Externals/libiconv/lib/translit.def new file mode 100644 index 00000000000..aea219efc52 --- /dev/null +++ b/Externals/libiconv/lib/translit.def @@ -0,0 +1,4421 @@ +# Copyright (C) 1999-2003, 2023 Free Software Foundation, Inc. +# This file is part of the GNU LIBICONV Library. +# +# The GNU LIBICONV Library is free software; you can redistribute it +# and/or modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either version 2.1 +# of the License, or (at your option) any later version. +# +# The GNU LIBICONV Library is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with the GNU LIBICONV Library; see the file COPYING.LIB. +# If not, see . +# +# +# Definition of transliteration from Unicode to poorer character sets. +# +# This covers all of Markus Kuhn's TARGET1. +# +# The second column gives the transliteration. It is enclosed between tabs! +# +00A0 # NO-BREAK SPACE +00A1 ! # INVERTED EXCLAMATION MARK +00A2 c # CENT SIGN +00A3 lb # POUND SIGN +00A4 # CURRENCY SIGN +00A5 yen # YEN SIGN +00A6 | # BROKEN BAR +00A7 SS # SECTION SIGN +00A8 " # DIAERESIS +00A9 (c) # COPYRIGHT SIGN +00AA a # FEMININE ORDINAL INDICATOR +00AB << # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK +00AC not # NOT SIGN +00AD - # SOFT HYPHEN +00AE (R) # REGISTERED SIGN +00AF # MACRON +00B0 ^0 # DEGREE SIGN +00B1 +/- # PLUS-MINUS SIGN +00B2 ^2 # SUPERSCRIPT TWO +00B3 ^3 # SUPERSCRIPT THREE +00B4 ' # ACUTE ACCENT +00B5 u # MICRO SIGN +00B6 P # PILCROW SIGN +00B7 . # MIDDLE DOT +00B8 , # CEDILLA +00B9 ^1 # SUPERSCRIPT ONE +00BA o # MASCULINE ORDINAL INDICATOR +00BB >> # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK +00BC 1⁄4 # VULGAR FRACTION ONE QUARTER +00BD 1⁄2 # VULGAR FRACTION ONE HALF +00BE 3⁄4 # VULGAR FRACTION THREE QUARTERS +00BF ? # INVERTED QUESTION MARK +00C0 `A # LATIN CAPITAL LETTER A WITH GRAVE +00C1 ´A # LATIN CAPITAL LETTER A WITH ACUTE +00C2 ^A # LATIN CAPITAL LETTER A WITH CIRCUMFLEX +00C3 ~A # LATIN CAPITAL LETTER A WITH TILDE +00C4 "A # LATIN CAPITAL LETTER A WITH DIAERESIS +00C5 A # LATIN CAPITAL LETTER A WITH RING ABOVE +00C6 AE # LATIN CAPITAL LETTER AE +00C7 C # LATIN CAPITAL LETTER C WITH CEDILLA +00C8 `E # LATIN CAPITAL LETTER E WITH GRAVE +00C9 ´E # LATIN CAPITAL LETTER E WITH ACUTE +00CA ^E # LATIN CAPITAL LETTER E WITH CIRCUMFLEX +00CB "E # LATIN CAPITAL LETTER E WITH DIAERESIS +00CC `I # LATIN CAPITAL LETTER I WITH GRAVE +00CD ´I # LATIN CAPITAL LETTER I WITH ACUTE +00CE ^I # LATIN CAPITAL LETTER I WITH CIRCUMFLEX +00CF "I # LATIN CAPITAL LETTER I WITH DIAERESIS +00D0 D # LATIN CAPITAL LETTER ETH +00D1 ~N # LATIN CAPITAL LETTER N WITH TILDE +00D2 `O # LATIN CAPITAL LETTER O WITH GRAVE +00D3 ´O # LATIN CAPITAL LETTER O WITH ACUTE +00D4 ^O # LATIN CAPITAL LETTER O WITH CIRCUMFLEX +00D5 ~O # LATIN CAPITAL LETTER O WITH TILDE +00D6 "O # LATIN CAPITAL LETTER O WITH DIAERESIS +00D7 x # MULTIPLICATION SIGN +00D8 O # LATIN CAPITAL LETTER O WITH STROKE +00D9 `U # LATIN CAPITAL LETTER U WITH GRAVE +00DA ´U # LATIN CAPITAL LETTER U WITH ACUTE +00DB ^U # LATIN CAPITAL LETTER U WITH CIRCUMFLEX +00DC "U # LATIN CAPITAL LETTER U WITH DIAERESIS +00DD ´Y # LATIN CAPITAL LETTER Y WITH ACUTE +00DE Th # LATIN CAPITAL LETTER THORN +00DF ss # LATIN SMALL LETTER SHARP S +00E0 `a # LATIN SMALL LETTER A WITH GRAVE +00E1 ´a # LATIN SMALL LETTER A WITH ACUTE +00E2 ^a # LATIN SMALL LETTER A WITH CIRCUMFLEX +00E3 ~a # LATIN SMALL LETTER A WITH TILDE +00E4 "a # LATIN SMALL LETTER A WITH DIAERESIS +00E5 a # LATIN SMALL LETTER A WITH RING ABOVE +00E6 ae # LATIN SMALL LETTER AE +00E7 c # LATIN SMALL LETTER C WITH CEDILLA +00E8 `e # LATIN SMALL LETTER E WITH GRAVE +00E9 ´e # LATIN SMALL LETTER E WITH ACUTE +00EA ^e # LATIN SMALL LETTER E WITH CIRCUMFLEX +00EB "e # LATIN SMALL LETTER E WITH DIAERESIS +00EC `i # LATIN SMALL LETTER I WITH GRAVE +00ED ´i # LATIN SMALL LETTER I WITH ACUTE +00EE ^i # LATIN SMALL LETTER I WITH CIRCUMFLEX +00EF "i # LATIN SMALL LETTER I WITH DIAERESIS +00F0 d # LATIN SMALL LETTER ETH +00F1 ~n # LATIN SMALL LETTER N WITH TILDE +00F2 `o # LATIN SMALL LETTER O WITH GRAVE +00F3 ´o # LATIN SMALL LETTER O WITH ACUTE +00F4 ^o # LATIN SMALL LETTER O WITH CIRCUMFLEX +00F5 ~o # LATIN SMALL LETTER O WITH TILDE +00F6 "o # LATIN SMALL LETTER O WITH DIAERESIS +00F7 : # DIVISION SIGN +00F8 o # LATIN SMALL LETTER O WITH STROKE +00F9 `u # LATIN SMALL LETTER U WITH GRAVE +00FA ´u # LATIN SMALL LETTER U WITH ACUTE +00FB ^u # LATIN SMALL LETTER U WITH CIRCUMFLEX +00FC "u # LATIN SMALL LETTER U WITH DIAERESIS +00FD ´y # LATIN SMALL LETTER Y WITH ACUTE +00FE th # LATIN SMALL LETTER THORN +00FF "y # LATIN SMALL LETTER Y WITH DIAERESIS +0100 A # LATIN CAPITAL LETTER A WITH MACRON +0101 a # LATIN SMALL LETTER A WITH MACRON +0102 A # LATIN CAPITAL LETTER A WITH BREVE +0103 a # LATIN SMALL LETTER A WITH BREVE +0104 A # LATIN CAPITAL LETTER A WITH OGONEK +0105 a # LATIN SMALL LETTER A WITH OGONEK +0106 ´C # LATIN CAPITAL LETTER C WITH ACUTE +0107 ´c # LATIN SMALL LETTER C WITH ACUTE +0108 ^C # LATIN CAPITAL LETTER C WITH CIRCUMFLEX +0109 ^c # LATIN SMALL LETTER C WITH CIRCUMFLEX +010A C # LATIN CAPITAL LETTER C WITH DOT ABOVE +010B c # LATIN SMALL LETTER C WITH DOT ABOVE +010C C # LATIN CAPITAL LETTER C WITH CARON +010D c # LATIN SMALL LETTER C WITH CARON +010E D # LATIN CAPITAL LETTER D WITH CARON +010F d # LATIN SMALL LETTER D WITH CARON +0110 D # LATIN CAPITAL LETTER D WITH STROKE +0111 d # LATIN SMALL LETTER D WITH STROKE +0112 E # LATIN CAPITAL LETTER E WITH MACRON +0113 e # LATIN SMALL LETTER E WITH MACRON +0114 E # LATIN CAPITAL LETTER E WITH BREVE +0115 e # LATIN SMALL LETTER E WITH BREVE +0116 E # LATIN CAPITAL LETTER E WITH DOT ABOVE +0117 e # LATIN SMALL LETTER E WITH DOT ABOVE +0118 E # LATIN CAPITAL LETTER E WITH OGONEK +0119 e # LATIN SMALL LETTER E WITH OGONEK +011A E # LATIN CAPITAL LETTER E WITH CARON +011B e # LATIN SMALL LETTER E WITH CARON +011C ^G # LATIN CAPITAL LETTER G WITH CIRCUMFLEX +011D ^g # LATIN SMALL LETTER G WITH CIRCUMFLEX +011E G # LATIN CAPITAL LETTER G WITH BREVE +011F g # LATIN SMALL LETTER G WITH BREVE +0120 G # LATIN CAPITAL LETTER G WITH DOT ABOVE +0121 g # LATIN SMALL LETTER G WITH DOT ABOVE +0122 G # LATIN CAPITAL LETTER G WITH CEDILLA +0123 g # LATIN SMALL LETTER G WITH CEDILLA +0124 ^H # LATIN CAPITAL LETTER H WITH CIRCUMFLEX +0125 ^h # LATIN SMALL LETTER H WITH CIRCUMFLEX +0126 H # LATIN CAPITAL LETTER H WITH STROKE +0127 h # LATIN SMALL LETTER H WITH STROKE +0128 ~I # LATIN CAPITAL LETTER I WITH TILDE +0129 ~i # LATIN SMALL LETTER I WITH TILDE +012A I # LATIN CAPITAL LETTER I WITH MACRON +012B i # LATIN SMALL LETTER I WITH MACRON +012C I # LATIN CAPITAL LETTER I WITH BREVE +012D i # LATIN SMALL LETTER I WITH BREVE +012E I # LATIN CAPITAL LETTER I WITH OGONEK +012F i # LATIN SMALL LETTER I WITH OGONEK +0130 I # LATIN CAPITAL LETTER I WITH DOT ABOVE +0131 i # LATIN SMALL LETTER DOTLESS I +0132 IJ # LATIN CAPITAL LIGATURE IJ +0133 ij # LATIN SMALL LIGATURE IJ +0134 ^J # LATIN CAPITAL LETTER J WITH CIRCUMFLEX +0135 ^j # LATIN SMALL LETTER J WITH CIRCUMFLEX +0136 K # LATIN CAPITAL LETTER K WITH CEDILLA +0137 k # LATIN SMALL LETTER K WITH CEDILLA +0138 # LATIN SMALL LETTER KRA +0139 L # LATIN CAPITAL LETTER L WITH ACUTE +013A l # LATIN SMALL LETTER L WITH ACUTE +013B L # LATIN CAPITAL LETTER L WITH CEDILLA +013C l # LATIN SMALL LETTER L WITH CEDILLA +013D L # LATIN CAPITAL LETTER L WITH CARON +013E l # LATIN SMALL LETTER L WITH CARON +013F L # LATIN CAPITAL LETTER L WITH MIDDLE DOT +0140 l # LATIN SMALL LETTER L WITH MIDDLE DOT +0141 L # LATIN CAPITAL LETTER L WITH STROKE +0142 l # LATIN SMALL LETTER L WITH STROKE +0143 ´N # LATIN CAPITAL LETTER N WITH ACUTE +0144 ´n # LATIN SMALL LETTER N WITH ACUTE +0145 N # LATIN CAPITAL LETTER N WITH CEDILLA +0146 n # LATIN SMALL LETTER N WITH CEDILLA +0147 N # LATIN CAPITAL LETTER N WITH CARON +0148 n # LATIN SMALL LETTER N WITH CARON +0149 'n # LATIN SMALL LETTER N PRECEDED BY APOSTROPHE +014A # LATIN CAPITAL LETTER ENG +014B # LATIN SMALL LETTER ENG +014C O # LATIN CAPITAL LETTER O WITH MACRON +014D o # LATIN SMALL LETTER O WITH MACRON +014E O # LATIN CAPITAL LETTER O WITH BREVE +014F o # LATIN SMALL LETTER O WITH BREVE +0150 "O # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE +0151 "o # LATIN SMALL LETTER O WITH DOUBLE ACUTE +0152 OE # LATIN CAPITAL LIGATURE OE +0153 oe # LATIN SMALL LIGATURE OE +0154 ´R # LATIN CAPITAL LETTER R WITH ACUTE +0155 ´r # LATIN SMALL LETTER R WITH ACUTE +0156 R # LATIN CAPITAL LETTER R WITH CEDILLA +0157 r # LATIN SMALL LETTER R WITH CEDILLA +0158 R # LATIN CAPITAL LETTER R WITH CARON +0159 r # LATIN SMALL LETTER R WITH CARON +015A ´S # LATIN CAPITAL LETTER S WITH ACUTE +015B ´s # LATIN SMALL LETTER S WITH ACUTE +015C ^S # LATIN CAPITAL LETTER S WITH CIRCUMFLEX +015D ^s # LATIN SMALL LETTER S WITH CIRCUMFLEX +015E S # LATIN CAPITAL LETTER S WITH CEDILLA +015F s # LATIN SMALL LETTER S WITH CEDILLA +0160 S # LATIN CAPITAL LETTER S WITH CARON +0161 s # LATIN SMALL LETTER S WITH CARON +0162 T # LATIN CAPITAL LETTER T WITH CEDILLA +0163 t # LATIN SMALL LETTER T WITH CEDILLA +0164 T # LATIN CAPITAL LETTER T WITH CARON +0165 t # LATIN SMALL LETTER T WITH CARON +0166 T # LATIN CAPITAL LETTER T WITH STROKE +0167 t # LATIN SMALL LETTER T WITH STROKE +0168 ~U # LATIN CAPITAL LETTER U WITH TILDE +0169 ~u # LATIN SMALL LETTER U WITH TILDE +016A U # LATIN CAPITAL LETTER U WITH MACRON +016B u # LATIN SMALL LETTER U WITH MACRON +016C U # LATIN CAPITAL LETTER U WITH BREVE +016D u # LATIN SMALL LETTER U WITH BREVE +016E U # LATIN CAPITAL LETTER U WITH RING ABOVE +016F u # LATIN SMALL LETTER U WITH RING ABOVE +0170 "U # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE +0171 "u # LATIN SMALL LETTER U WITH DOUBLE ACUTE +0172 U # LATIN CAPITAL LETTER U WITH OGONEK +0173 u # LATIN SMALL LETTER U WITH OGONEK +0174 ^W # LATIN CAPITAL LETTER W WITH CIRCUMFLEX +0175 ^w # LATIN SMALL LETTER W WITH CIRCUMFLEX +0176 ^Y # LATIN CAPITAL LETTER Y WITH CIRCUMFLEX +0177 ^y # LATIN SMALL LETTER Y WITH CIRCUMFLEX +0178 "Y # LATIN CAPITAL LETTER Y WITH DIAERESIS +0179 ´Z # LATIN CAPITAL LETTER Z WITH ACUTE +017A ´z # LATIN SMALL LETTER Z WITH ACUTE +017B Z # LATIN CAPITAL LETTER Z WITH DOT ABOVE +017C z # LATIN SMALL LETTER Z WITH DOT ABOVE +017D Z # LATIN CAPITAL LETTER Z WITH CARON +017E z # LATIN SMALL LETTER Z WITH CARON +017F s # LATIN SMALL LETTER LONG S +018F # LATIN CAPITAL LETTER SCHWA +0192 f # LATIN SMALL LETTER F WITH HOOK +01C4 DŽ # LATIN CAPITAL LETTER DZ WITH CARON +01C5 Dž # LATIN CAPITAL LETTER D WITH SMALL LETTER Z WITH CARON +01C6 dž # LATIN SMALL LETTER DZ WITH CARON +01C7 LJ # LATIN CAPITAL LETTER LJ +01C8 Lj # LATIN CAPITAL LETTER L WITH SMALL LETTER J +01C9 lj # LATIN SMALL LETTER LJ +01CA NJ # LATIN CAPITAL LETTER NJ +01CB Nj # LATIN CAPITAL LETTER N WITH SMALL LETTER J +01CC nj # LATIN SMALL LETTER NJ +01F1 DZ # LATIN CAPITAL LETTER DZ +01F2 Dz # LATIN CAPITAL LETTER D WITH SMALL LETTER Z +01F3 dz # LATIN SMALL LETTER DZ +0218 S # LATIN CAPITAL LETTER S WITH COMMA BELOW +0219 s # LATIN SMALL LETTER S WITH COMMA BELOW +021A T # LATIN CAPITAL LETTER T WITH COMMA BELOW +021B t # LATIN SMALL LETTER T WITH COMMA BELOW +0259 # LATIN SMALL LETTER SCHWA +02B9 ′ # MODIFIER LETTER PRIME +02BA ″ # MODIFIER LETTER DOUBLE PRIME +02BB ‘ # MODIFIER LETTER TURNED COMMA +02BC ’ # MODIFIER LETTER APOSTROPHE +02BD ‛ # MODIFIER LETTER REVERSED COMMA +02C6 ^ # MODIFIER LETTER CIRCUMFLEX ACCENT +02C7 # CARON +02C8 ' # MODIFIER LETTER VERTICAL LINE +02C9 ¯ # MODIFIER LETTER MACRON +02CA ´ # MODIFIER LETTER ACUTE ACCENT +02CB ` # MODIFIER LETTER GRAVE ACCENT +02CD _ # MODIFIER LETTER LOW MACRON +02D8 # BREVE +02D9 # DOT ABOVE +02DA # RING ABOVE +02DB # OGONEK +02DC ~ # SMALL TILDE +02DD " # DOUBLE ACUTE ACCENT +0374 # GREEK NUMERAL SIGN +0375 # GREEK LOWER NUMERAL SIGN +037A # GREEK YPOGEGRAMMENI +037E # GREEK QUESTION MARK +0384 # GREEK TONOS +0385 # GREEK DIALYTIKA TONOS +0386 # GREEK CAPITAL LETTER ALPHA WITH TONOS +0387 # GREEK ANO TELEIA +0388 # GREEK CAPITAL LETTER EPSILON WITH TONOS +0389 # GREEK CAPITAL LETTER ETA WITH TONOS +038A # GREEK CAPITAL LETTER IOTA WITH TONOS +038C # GREEK CAPITAL LETTER OMICRON WITH TONOS +038E # GREEK CAPITAL LETTER UPSILON WITH TONOS +038F # GREEK CAPITAL LETTER OMEGA WITH TONOS +0390 # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS +0391 # GREEK CAPITAL LETTER ALPHA +0392 # GREEK CAPITAL LETTER BETA +0393 # GREEK CAPITAL LETTER GAMMA +0394 # GREEK CAPITAL LETTER DELTA +0395 # GREEK CAPITAL LETTER EPSILON +0396 # GREEK CAPITAL LETTER ZETA +0397 # GREEK CAPITAL LETTER ETA +0398 # GREEK CAPITAL LETTER THETA +0399 # GREEK CAPITAL LETTER IOTA +039A # GREEK CAPITAL LETTER KAPPA +039B # GREEK CAPITAL LETTER LAMDA +039C # GREEK CAPITAL LETTER MU +039D # GREEK CAPITAL LETTER NU +039E # GREEK CAPITAL LETTER XI +039F # GREEK CAPITAL LETTER OMICRON +03A0 # GREEK CAPITAL LETTER PI +03A1 # GREEK CAPITAL LETTER RHO +03A3 # GREEK CAPITAL LETTER SIGMA +03A4 # GREEK CAPITAL LETTER TAU +03A5 # GREEK CAPITAL LETTER UPSILON +03A6 # GREEK CAPITAL LETTER PHI +03A7 # GREEK CAPITAL LETTER CHI +03A8 # GREEK CAPITAL LETTER PSI +03A9 # GREEK CAPITAL LETTER OMEGA +03AA # GREEK CAPITAL LETTER IOTA WITH DIALYTIKA +03AB # GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA +03AC # GREEK SMALL LETTER ALPHA WITH TONOS +03AD # GREEK SMALL LETTER EPSILON WITH TONOS +03AE # GREEK SMALL LETTER ETA WITH TONOS +03AF # GREEK SMALL LETTER IOTA WITH TONOS +03B0 # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS +03B1 # GREEK SMALL LETTER ALPHA +03B2 # GREEK SMALL LETTER BETA +03B3 # GREEK SMALL LETTER GAMMA +03B4 # GREEK SMALL LETTER DELTA +03B5 # GREEK SMALL LETTER EPSILON +03B6 # GREEK SMALL LETTER ZETA +03B7 # GREEK SMALL LETTER ETA +03B8 # GREEK SMALL LETTER THETA +03B9 # GREEK SMALL LETTER IOTA +03BA # GREEK SMALL LETTER KAPPA +03BB # GREEK SMALL LETTER LAMDA +03BC # GREEK SMALL LETTER MU +03BD # GREEK SMALL LETTER NU +03BE # GREEK SMALL LETTER XI +03BF # GREEK SMALL LETTER OMICRON +03C0 # GREEK SMALL LETTER PI +03C1 # GREEK SMALL LETTER RHO +03C2 # GREEK SMALL LETTER FINAL SIGMA +03C3 # GREEK SMALL LETTER SIGMA +03C4 # GREEK SMALL LETTER TAU +03C5 # GREEK SMALL LETTER UPSILON +03C6 # GREEK SMALL LETTER PHI +03C7 # GREEK SMALL LETTER CHI +03C8 # GREEK SMALL LETTER PSI +03C9 # GREEK SMALL LETTER OMEGA +03CA # GREEK SMALL LETTER IOTA WITH DIALYTIKA +03CB # GREEK SMALL LETTER UPSILON WITH DIALYTIKA +03CC # GREEK SMALL LETTER OMICRON WITH TONOS +03CD # GREEK SMALL LETTER UPSILON WITH TONOS +03CE # GREEK SMALL LETTER OMEGA WITH TONOS +03D0 β # GREEK BETA SYMBOL +03D1 θ # GREEK THETA SYMBOL +03D2 Υ # GREEK UPSILON WITH HOOK SYMBOL +03D5 φ # GREEK PHI SYMBOL +03D6 π # GREEK PI SYMBOL +03F0 κ # GREEK KAPPA SYMBOL +03F1 ρ # GREEK RHO SYMBOL +03F2 ς # GREEK LUNATE SIGMA SYMBOL +03F4 Θ # GREEK CAPITAL THETA SYMBOL +03F5 ε # GREEK LUNATE EPSILON SYMBOL +03F9 Σ # GREEK CAPITAL LUNATE SIGMA SYMBOL +0401 # CYRILLIC CAPITAL LETTER IO +0402 # CYRILLIC CAPITAL LETTER DJE +0403 # CYRILLIC CAPITAL LETTER GJE +0404 # CYRILLIC CAPITAL LETTER UKRAINIAN IE +0405 # CYRILLIC CAPITAL LETTER DZE +0406 # CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I +0407 # CYRILLIC CAPITAL LETTER YI +0408 # CYRILLIC CAPITAL LETTER JE +0409 # CYRILLIC CAPITAL LETTER LJE +040A # CYRILLIC CAPITAL LETTER NJE +040B # CYRILLIC CAPITAL LETTER TSHE +040C # CYRILLIC CAPITAL LETTER KJE +040E # CYRILLIC CAPITAL LETTER SHORT U +040F # CYRILLIC CAPITAL LETTER DZHE +0410 # CYRILLIC CAPITAL LETTER A +0411 # CYRILLIC CAPITAL LETTER BE +0412 # CYRILLIC CAPITAL LETTER VE +0413 # CYRILLIC CAPITAL LETTER GHE +0414 # CYRILLIC CAPITAL LETTER DE +0415 # CYRILLIC CAPITAL LETTER IE +0416 # CYRILLIC CAPITAL LETTER ZHE +0417 # CYRILLIC CAPITAL LETTER ZE +0418 # CYRILLIC CAPITAL LETTER I +0419 # CYRILLIC CAPITAL LETTER SHORT I +041A # CYRILLIC CAPITAL LETTER KA +041B # CYRILLIC CAPITAL LETTER EL +041C # CYRILLIC CAPITAL LETTER EM +041D # CYRILLIC CAPITAL LETTER EN +041E # CYRILLIC CAPITAL LETTER O +041F # CYRILLIC CAPITAL LETTER PE +0420 # CYRILLIC CAPITAL LETTER ER +0421 # CYRILLIC CAPITAL LETTER ES +0422 # CYRILLIC CAPITAL LETTER TE +0423 # CYRILLIC CAPITAL LETTER U +0424 # CYRILLIC CAPITAL LETTER EF +0425 # CYRILLIC CAPITAL LETTER HA +0426 # CYRILLIC CAPITAL LETTER TSE +0427 # CYRILLIC CAPITAL LETTER CHE +0428 # CYRILLIC CAPITAL LETTER SHA +0429 # CYRILLIC CAPITAL LETTER SHCHA +042A # CYRILLIC CAPITAL LETTER HARD SIGN +042B # CYRILLIC CAPITAL LETTER YERU +042C # CYRILLIC CAPITAL LETTER SOFT SIGN +042D # CYRILLIC CAPITAL LETTER E +042E # CYRILLIC CAPITAL LETTER YU +042F # CYRILLIC CAPITAL LETTER YA +0430 # CYRILLIC SMALL LETTER A +0431 # CYRILLIC SMALL LETTER BE +0432 # CYRILLIC SMALL LETTER VE +0433 # CYRILLIC SMALL LETTER GHE +0434 # CYRILLIC SMALL LETTER DE +0435 # CYRILLIC SMALL LETTER IE +0436 # CYRILLIC SMALL LETTER ZHE +0437 # CYRILLIC SMALL LETTER ZE +0438 # CYRILLIC SMALL LETTER I +0439 # CYRILLIC SMALL LETTER SHORT I +043A # CYRILLIC SMALL LETTER KA +043B # CYRILLIC SMALL LETTER EL +043C # CYRILLIC SMALL LETTER EM +043D # CYRILLIC SMALL LETTER EN +043E # CYRILLIC SMALL LETTER O +043F # CYRILLIC SMALL LETTER PE +0440 # CYRILLIC SMALL LETTER ER +0441 # CYRILLIC SMALL LETTER ES +0442 # CYRILLIC SMALL LETTER TE +0443 # CYRILLIC SMALL LETTER U +0444 # CYRILLIC SMALL LETTER EF +0445 # CYRILLIC SMALL LETTER HA +0446 # CYRILLIC SMALL LETTER TSE +0447 # CYRILLIC SMALL LETTER CHE +0448 # CYRILLIC SMALL LETTER SHA +0449 # CYRILLIC SMALL LETTER SHCHA +044A # CYRILLIC SMALL LETTER HARD SIGN +044B # CYRILLIC SMALL LETTER YERU +044C # CYRILLIC SMALL LETTER SOFT SIGN +044D # CYRILLIC SMALL LETTER E +044E # CYRILLIC SMALL LETTER YU +044F # CYRILLIC SMALL LETTER YA +0451 # CYRILLIC SMALL LETTER IO +0452 # CYRILLIC SMALL LETTER DJE +0453 # CYRILLIC SMALL LETTER GJE +0454 # CYRILLIC SMALL LETTER UKRAINIAN IE +0455 # CYRILLIC SMALL LETTER DZE +0456 # CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I +0457 # CYRILLIC SMALL LETTER YI +0458 # CYRILLIC SMALL LETTER JE +0459 # CYRILLIC SMALL LETTER LJE +045A # CYRILLIC SMALL LETTER NJE +045B # CYRILLIC SMALL LETTER TSHE +045C # CYRILLIC SMALL LETTER KJE +045E # CYRILLIC SMALL LETTER SHORT U +045F # CYRILLIC SMALL LETTER DZHE +0490 # CYRILLIC CAPITAL LETTER GHE WITH UPTURN +0491 # CYRILLIC SMALL LETTER GHE WITH UPTURN +0587 եւ # ARMENIAN SMALL LIGATURE ECH YIWN +05D0 # HEBREW LETTER ALEF +05D1 # HEBREW LETTER BET +05D2 # HEBREW LETTER GIMEL +05D3 # HEBREW LETTER DALET +05D4 # HEBREW LETTER HE +05D5 # HEBREW LETTER VAV +05D6 # HEBREW LETTER ZAYIN +05D7 # HEBREW LETTER HET +05D8 # HEBREW LETTER TET +05D9 # HEBREW LETTER YOD +05DA # HEBREW LETTER FINAL KAF +05DB # HEBREW LETTER KAF +05DC # HEBREW LETTER LAMED +05DD # HEBREW LETTER FINAL MEM +05DE # HEBREW LETTER MEM +05DF # HEBREW LETTER FINAL NUN +05E0 # HEBREW LETTER NUN +05E1 # HEBREW LETTER SAMEKH +05E2 # HEBREW LETTER AYIN +05E3 # HEBREW LETTER FINAL PE +05E4 # HEBREW LETTER PE +05E5 # HEBREW LETTER FINAL TSADI +05E6 # HEBREW LETTER TSADI +05E7 # HEBREW LETTER QOF +05E8 # HEBREW LETTER RESH +05E9 # HEBREW LETTER SHIN +05EA # HEBREW LETTER TAV +05F0 וו # HEBREW LIGATURE YIDDISH DOUBLE VAV +05F1 וי # HEBREW LIGATURE YIDDISH VAV YOD +05F2 יי # HEBREW LIGATURE YIDDISH DOUBLE YOD +0675 اٴ # ARABIC LETTER HIGH HAMZA ALEF +0676 وٴ # ARABIC LETTER HIGH HAMZA WAW +0677 ۇٴ # ARABIC LETTER U WITH HAMZA ABOVE +0678 يٴ # ARABIC LETTER HIGH HAMZA YEH +0E33 ํา # THAI CHARACTER SARA AM +0EB3 ໍາ # LAO VOWEL SIGN AM +0EDC ຫນ # LAO HO NO +0EDD ຫມ # LAO HO MO +0F77 ྲཱྀ # TIBETAN VOWEL SIGN VOCALIC RR +0F79 ླཱྀ # TIBETAN VOWEL SIGN VOCALIC LL +1E02 B # LATIN CAPITAL LETTER B WITH DOT ABOVE +1E03 b # LATIN SMALL LETTER B WITH DOT ABOVE +1E0A D # LATIN CAPITAL LETTER D WITH DOT ABOVE +1E0B d # LATIN SMALL LETTER D WITH DOT ABOVE +1E1E F # LATIN CAPITAL LETTER F WITH DOT ABOVE +1E1F f # LATIN SMALL LETTER F WITH DOT ABOVE +1E40 M # LATIN CAPITAL LETTER M WITH DOT ABOVE +1E41 m # LATIN SMALL LETTER M WITH DOT ABOVE +1E56 P # LATIN CAPITAL LETTER P WITH DOT ABOVE +1E57 p # LATIN SMALL LETTER P WITH DOT ABOVE +1E60 S # LATIN CAPITAL LETTER S WITH DOT ABOVE +1E61 s # LATIN SMALL LETTER S WITH DOT ABOVE +1E6A T # LATIN CAPITAL LETTER T WITH DOT ABOVE +1E6B t # LATIN SMALL LETTER T WITH DOT ABOVE +1E80 `W # LATIN CAPITAL LETTER W WITH GRAVE +1E81 `w # LATIN SMALL LETTER W WITH GRAVE +1E82 ´W # LATIN CAPITAL LETTER W WITH ACUTE +1E83 ´w # LATIN SMALL LETTER W WITH ACUTE +1E84 "W # LATIN CAPITAL LETTER W WITH DIAERESIS +1E85 "w # LATIN SMALL LETTER W WITH DIAERESIS +1E9A aʾ # LATIN SMALL LETTER A WITH RIGHT HALF RING +1EF2 `Y # LATIN CAPITAL LETTER Y WITH GRAVE +1EF3 `y # LATIN SMALL LETTER Y WITH GRAVE +2002 # EN SPACE +2003 # EM SPACE +2004 # THREE-PER-EM SPACE +2005 # FOUR-PER-EM SPACE +2006 # SIX-PER-EM SPACE +2008 # PUNCTUATION SPACE +2009 # THIN SPACE +200A # HAIR SPACE +2010 - # HYPHEN +2011 - # NON-BREAKING HYPHEN +2012 - # FIGURE DASH +2013 - # EN DASH +2014 - # EM DASH +2015 - # HORIZONTAL BAR +2016 # DOUBLE VERTICAL LINE +2017 # DOUBLE LOW LINE +2018 ' # LEFT SINGLE QUOTATION MARK +2019 ' # RIGHT SINGLE QUOTATION MARK +201A , # SINGLE LOW-9 QUOTATION MARK +201B ' # SINGLE HIGH-REVERSED-9 QUOTATION MARK +201C " # LEFT DOUBLE QUOTATION MARK +201D " # RIGHT DOUBLE QUOTATION MARK +201E " # DOUBLE LOW-9 QUOTATION MARK +201F " # DOUBLE HIGH-REVERSED-9 QUOTATION MARK +2020 + # DAGGER +2021 # DOUBLE DAGGER +2022 o # BULLET +2024 . # ONE DOT LEADER +2025 .. # TWO DOT LEADER +2026 ... # HORIZONTAL ELLIPSIS +2030 o/oo # PER MILLE SIGN +2032 ´ # PRIME +2033 ´´ # DOUBLE PRIME +2034 ´´´ # TRIPLE PRIME +2036 ‵‵ # REVERSED DOUBLE PRIME +2037 ‵‵‵ # REVERSED TRIPLE PRIME +2039 < # SINGLE LEFT-POINTING ANGLE QUOTATION MARK +203A > # SINGLE RIGHT-POINTING ANGLE QUOTATION MARK +203C !! # DOUBLE EXCLAMATION MARK +203E # OVERLINE +2044 / # FRACTION SLASH +2047 ?? # DOUBLE QUESTION MARK +2048 ?! # QUESTION EXCLAMATION MARK +2049 !? # EXCLAMATION QUESTION MARK +2057 ´´´´ # QUADRUPLE PRIME +20A8 Rs # RUPEE SIGN +20AB Đồng # DONG SIGN +20AC EUR # EURO SIGN +2100 a/c # ACCOUNT OF +2101 a/s # ADDRESSED TO THE SUBJECT +2102 C # DOUBLE-STRUCK CAPITAL C +2103 °C # DEGREE CELSIUS +2105 c/o # CARE OF +2106 c/u # CADA UNA +2107 Ɛ # EULER CONSTANT +2109 °F # DEGREE FAHRENHEIT +210A g # SCRIPT SMALL G +210B H # SCRIPT CAPITAL H +210C H # BLACK-LETTER CAPITAL H +210D H # DOUBLE-STRUCK CAPITAL H +210E h # PLANCK CONSTANT +210F ħ # PLANCK CONSTANT OVER TWO PI +2110 I # SCRIPT CAPITAL I +2111 I # BLACK-LETTER CAPITAL I +2112 L # SCRIPT CAPITAL L +2113 l # SCRIPT SMALL L +2115 N # DOUBLE-STRUCK CAPITAL N +2116 No # NUMERO SIGN +2119 P # DOUBLE-STRUCK CAPITAL P +211A Q # DOUBLE-STRUCK CAPITAL Q +211B R # SCRIPT CAPITAL R +211C R # BLACK-LETTER CAPITAL R +211D R # DOUBLE-STRUCK CAPITAL R +2121 TEL # TELEPHONE SIGN +2122 TM # TRADE MARK SIGN +2124 Z # DOUBLE-STRUCK CAPITAL Z +2126 Ohm # OHM SIGN +2128 Z # BLACK-LETTER CAPITAL Z +212C B # SCRIPT CAPITAL B +212D C # BLACK-LETTER CAPITAL C +212E e # ESTIMATED SYMBOL +212F e # SCRIPT SMALL E +2130 E # SCRIPT CAPITAL E +2131 F # SCRIPT CAPITAL F +2133 M # SCRIPT CAPITAL M +2134 o # SCRIPT SMALL O +2135 א # ALEF SYMBOL +2136 ב # BET SYMBOL +2137 ג # GIMEL SYMBOL +2138 ד # DALET SYMBOL +2139 i # INFORMATION SOURCE +213B FAX # FACSIMILE SIGN +213C π # DOUBLE-STRUCK SMALL PI +213D γ # DOUBLE-STRUCK SMALL GAMMA +213E Γ # DOUBLE-STRUCK CAPITAL GAMMA +213F Π # DOUBLE-STRUCK CAPITAL PI +2140 ∑ # DOUBLE-STRUCK N-ARY SUMMATION +2145 D # DOUBLE-STRUCK ITALIC CAPITAL D +2146 d # DOUBLE-STRUCK ITALIC SMALL D +2147 e # DOUBLE-STRUCK ITALIC SMALL E +2148 i # DOUBLE-STRUCK ITALIC SMALL I +2149 j # DOUBLE-STRUCK ITALIC SMALL J +2153 1⁄3 # VULGAR FRACTION ONE THIRD +2154 2⁄3 # VULGAR FRACTION TWO THIRDS +2155 1⁄5 # VULGAR FRACTION ONE FIFTH +2156 2⁄5 # VULGAR FRACTION TWO FIFTHS +2157 3⁄5 # VULGAR FRACTION THREE FIFTHS +2158 4⁄5 # VULGAR FRACTION FOUR FIFTHS +2159 1⁄6 # VULGAR FRACTION ONE SIXTH +215A 5⁄6 # VULGAR FRACTION FIVE SIXTHS +215B 1⁄8 # VULGAR FRACTION ONE EIGHTH +215C 3⁄8 # VULGAR FRACTION THREE EIGHTHS +215D 5⁄8 # VULGAR FRACTION FIVE EIGHTHS +215E 7⁄8 # VULGAR FRACTION SEVEN EIGHTHS +215F 1⁄ # FRACTION NUMERATOR ONE +2160 I # ROMAN NUMERAL ONE +2161 II # ROMAN NUMERAL TWO +2162 III # ROMAN NUMERAL THREE +2163 IV # ROMAN NUMERAL FOUR +2164 V # ROMAN NUMERAL FIVE +2165 VI # ROMAN NUMERAL SIX +2166 VII # ROMAN NUMERAL SEVEN +2167 VIII # ROMAN NUMERAL EIGHT +2168 IX # ROMAN NUMERAL NINE +2169 X # ROMAN NUMERAL TEN +216A XI # ROMAN NUMERAL ELEVEN +216B XII # ROMAN NUMERAL TWELVE +216C L # ROMAN NUMERAL FIFTY +216D C # ROMAN NUMERAL ONE HUNDRED +216E D # ROMAN NUMERAL FIVE HUNDRED +216F M # ROMAN NUMERAL ONE THOUSAND +2170 i # SMALL ROMAN NUMERAL ONE +2171 ii # SMALL ROMAN NUMERAL TWO +2172 iii # SMALL ROMAN NUMERAL THREE +2173 iv # SMALL ROMAN NUMERAL FOUR +2174 v # SMALL ROMAN NUMERAL FIVE +2175 vi # SMALL ROMAN NUMERAL SIX +2176 vii # SMALL ROMAN NUMERAL SEVEN +2177 viii # SMALL ROMAN NUMERAL EIGHT +2178 ix # SMALL ROMAN NUMERAL NINE +2179 x # SMALL ROMAN NUMERAL TEN +217A xi # SMALL ROMAN NUMERAL ELEVEN +217B xii # SMALL ROMAN NUMERAL TWELVE +217C l # SMALL ROMAN NUMERAL FIFTY +217D c # SMALL ROMAN NUMERAL ONE HUNDRED +217E d # SMALL ROMAN NUMERAL FIVE HUNDRED +217F m # SMALL ROMAN NUMERAL ONE THOUSAND +2190 <- # LEFTWARDS ARROW +2191 ^ # UPWARDS ARROW +2192 -> # RIGHTWARDS ARROW +2193 V # DOWNWARDS ARROW +2194 <-> # LEFT RIGHT ARROW +21D0 <= # LEFTWARDS DOUBLE ARROW +21D2 => # RIGHTWARDS DOUBLE ARROW +21D4 <=> # LEFT RIGHT DOUBLE ARROW +2212 - # MINUS SIGN +2215 / # DIVISION SLASH +2216 \ # SET MINUS +2217 * # ASTERISK OPERATOR +2219 • # BULLET OPERATOR +2223 | # DIVIDES +222C ∫∫ # DOUBLE INTEGRAL +222D ∫∫∫ # TRIPLE INTEGRAL +222F ∮∮ # SURFACE INTEGRAL +2230 ∮∮∮ # VOLUME INTEGRAL +2236 : # RATIO +223C ~ # TILDE OPERATOR +2260 /= # NOT EQUAL TO +2264 <= # LESS-THAN OR EQUAL TO +2265 >= # GREATER-THAN OR EQUAL TO +226A << # MUCH LESS-THAN +226B >> # MUCH GREATER-THAN +22C5 · # DOT OPERATOR +22D8 <<< # VERY MUCH LESS-THAN +22D9 >>> # VERY MUCH GREATER-THAN +22EF ··· # MIDLINE HORIZONTAL ELLIPSIS +2400 [NUL] # SYMBOL FOR NULL +2401 [SOH] # SYMBOL FOR START OF HEADING +2402 [STX] # SYMBOL FOR START OF TEXT +2403 [ETX] # SYMBOL FOR END OF TEXT +2404 [EOT] # SYMBOL FOR END OF TRANSMISSION +2405 [ENQ] # SYMBOL FOR ENQUIRY +2406 [ACK] # SYMBOL FOR ACKNOWLEDGE +2407 [BEL] # SYMBOL FOR BELL +2408 [BS] # SYMBOL FOR BACKSPACE +2409 [HT] # SYMBOL FOR HORIZONTAL TABULATION +240A [LF] # SYMBOL FOR LINE FEED +240B [VT] # SYMBOL FOR VERTICAL TABULATION +240C [FF] # SYMBOL FOR FORM FEED +240D [CR] # SYMBOL FOR CARRIAGE RETURN +240E [SO] # SYMBOL FOR SHIFT OUT +240F [SI] # SYMBOL FOR SHIFT IN +2410 [DLE] # SYMBOL FOR DATA LINK ESCAPE +2411 [DC1] # SYMBOL FOR DEVICE CONTROL ONE +2412 [DC2] # SYMBOL FOR DEVICE CONTROL TWO +2413 [DC3] # SYMBOL FOR DEVICE CONTROL THREE +2414 [DC4] # SYMBOL FOR DEVICE CONTROL FOUR +2415 [NAK] # SYMBOL FOR NEGATIVE ACKNOWLEDGE +2416 [SYN] # SYMBOL FOR SYNCHRONOUS IDLE +2417 [ETB] # SYMBOL FOR END OF TRANSMISSION BLOCK +2418 [CAN] # SYMBOL FOR CANCEL +2419 [EM] # SYMBOL FOR END OF MEDIUM +241A [SUB] # SYMBOL FOR SUBSTITUTE +241B [ESC] # SYMBOL FOR ESCAPE +241C [FS] # SYMBOL FOR FILE SEPARATOR +241D [GS] # SYMBOL FOR GROUP SEPARATOR +241E [RS] # SYMBOL FOR RECORD SEPARATOR +241F [US] # SYMBOL FOR UNIT SEPARATOR +2420 [SP] # SYMBOL FOR SPACE +2421 [DEL] # SYMBOL FOR DELETE +2424 [NL] # SYMBOL FOR NEWLINE +2460 (1) # CIRCLED DIGIT ONE +2461 (2) # CIRCLED DIGIT TWO +2462 (3) # CIRCLED DIGIT THREE +2463 (4) # CIRCLED DIGIT FOUR +2464 (5) # CIRCLED DIGIT FIVE +2465 (6) # CIRCLED DIGIT SIX +2466 (7) # CIRCLED DIGIT SEVEN +2467 (8) # CIRCLED DIGIT EIGHT +2468 (9) # CIRCLED DIGIT NINE +2469 (10) # CIRCLED NUMBER TEN +246A (11) # CIRCLED NUMBER ELEVEN +246B (12) # CIRCLED NUMBER TWELVE +246C (13) # CIRCLED NUMBER THIRTEEN +246D (14) # CIRCLED NUMBER FOURTEEN +246E (15) # CIRCLED NUMBER FIFTEEN +246F (16) # CIRCLED NUMBER SIXTEEN +2470 (17) # CIRCLED NUMBER SEVENTEEN +2471 (18) # CIRCLED NUMBER EIGHTEEN +2472 (19) # CIRCLED NUMBER NINETEEN +2473 (20) # CIRCLED NUMBER TWENTY +2474 (1) # PARENTHESIZED DIGIT ONE +2475 (2) # PARENTHESIZED DIGIT TWO +2476 (3) # PARENTHESIZED DIGIT THREE +2477 (4) # PARENTHESIZED DIGIT FOUR +2478 (5) # PARENTHESIZED DIGIT FIVE +2479 (6) # PARENTHESIZED DIGIT SIX +247A (7) # PARENTHESIZED DIGIT SEVEN +247B (8) # PARENTHESIZED DIGIT EIGHT +247C (9) # PARENTHESIZED DIGIT NINE +247D (10) # PARENTHESIZED NUMBER TEN +247E (11) # PARENTHESIZED NUMBER ELEVEN +247F (12) # PARENTHESIZED NUMBER TWELVE +2480 (13) # PARENTHESIZED NUMBER THIRTEEN +2481 (14) # PARENTHESIZED NUMBER FOURTEEN +2482 (15) # PARENTHESIZED NUMBER FIFTEEN +2483 (16) # PARENTHESIZED NUMBER SIXTEEN +2484 (17) # PARENTHESIZED NUMBER SEVENTEEN +2485 (18) # PARENTHESIZED NUMBER EIGHTEEN +2486 (19) # PARENTHESIZED NUMBER NINETEEN +2487 (20) # PARENTHESIZED NUMBER TWENTY +2488 1. # DIGIT ONE FULL STOP +2489 2. # DIGIT TWO FULL STOP +248A 3. # DIGIT THREE FULL STOP +248B 4. # DIGIT FOUR FULL STOP +248C 5. # DIGIT FIVE FULL STOP +248D 6. # DIGIT SIX FULL STOP +248E 7. # DIGIT SEVEN FULL STOP +248F 8. # DIGIT EIGHT FULL STOP +2490 9. # DIGIT NINE FULL STOP +2491 10. # NUMBER TEN FULL STOP +2492 11. # NUMBER ELEVEN FULL STOP +2493 12. # NUMBER TWELVE FULL STOP +2494 13. # NUMBER THIRTEEN FULL STOP +2495 14. # NUMBER FOURTEEN FULL STOP +2496 15. # NUMBER FIFTEEN FULL STOP +2497 16. # NUMBER SIXTEEN FULL STOP +2498 17. # NUMBER SEVENTEEN FULL STOP +2499 18. # NUMBER EIGHTEEN FULL STOP +249A 19. # NUMBER NINETEEN FULL STOP +249B 20. # NUMBER TWENTY FULL STOP +249C (a) # PARENTHESIZED LATIN SMALL LETTER A +249D (b) # PARENTHESIZED LATIN SMALL LETTER B +249E (c) # PARENTHESIZED LATIN SMALL LETTER C +249F (d) # PARENTHESIZED LATIN SMALL LETTER D +24A0 (e) # PARENTHESIZED LATIN SMALL LETTER E +24A1 (f) # PARENTHESIZED LATIN SMALL LETTER F +24A2 (g) # PARENTHESIZED LATIN SMALL LETTER G +24A3 (h) # PARENTHESIZED LATIN SMALL LETTER H +24A4 (i) # PARENTHESIZED LATIN SMALL LETTER I +24A5 (j) # PARENTHESIZED LATIN SMALL LETTER J +24A6 (k) # PARENTHESIZED LATIN SMALL LETTER K +24A7 (l) # PARENTHESIZED LATIN SMALL LETTER L +24A8 (m) # PARENTHESIZED LATIN SMALL LETTER M +24A9 (n) # PARENTHESIZED LATIN SMALL LETTER N +24AA (o) # PARENTHESIZED LATIN SMALL LETTER O +24AB (p) # PARENTHESIZED LATIN SMALL LETTER P +24AC (q) # PARENTHESIZED LATIN SMALL LETTER Q +24AD (r) # PARENTHESIZED LATIN SMALL LETTER R +24AE (s) # PARENTHESIZED LATIN SMALL LETTER S +24AF (t) # PARENTHESIZED LATIN SMALL LETTER T +24B0 (u) # PARENTHESIZED LATIN SMALL LETTER U +24B1 (v) # PARENTHESIZED LATIN SMALL LETTER V +24B2 (w) # PARENTHESIZED LATIN SMALL LETTER W +24B3 (x) # PARENTHESIZED LATIN SMALL LETTER X +24B4 (y) # PARENTHESIZED LATIN SMALL LETTER Y +24B5 (z) # PARENTHESIZED LATIN SMALL LETTER Z +24B6 (A) # CIRCLED LATIN CAPITAL LETTER A +24B7 (B) # CIRCLED LATIN CAPITAL LETTER B +24B8 (C) # CIRCLED LATIN CAPITAL LETTER C +24B9 (D) # CIRCLED LATIN CAPITAL LETTER D +24BA (E) # CIRCLED LATIN CAPITAL LETTER E +24BB (F) # CIRCLED LATIN CAPITAL LETTER F +24BC (G) # CIRCLED LATIN CAPITAL LETTER G +24BD (H) # CIRCLED LATIN CAPITAL LETTER H +24BE (I) # CIRCLED LATIN CAPITAL LETTER I +24BF (J) # CIRCLED LATIN CAPITAL LETTER J +24C0 (K) # CIRCLED LATIN CAPITAL LETTER K +24C1 (L) # CIRCLED LATIN CAPITAL LETTER L +24C2 (M) # CIRCLED LATIN CAPITAL LETTER M +24C3 (N) # CIRCLED LATIN CAPITAL LETTER N +24C4 (O) # CIRCLED LATIN CAPITAL LETTER O +24C5 (P) # CIRCLED LATIN CAPITAL LETTER P +24C6 (Q) # CIRCLED LATIN CAPITAL LETTER Q +24C7 (R) # CIRCLED LATIN CAPITAL LETTER R +24C8 (S) # CIRCLED LATIN CAPITAL LETTER S +24C9 (T) # CIRCLED LATIN CAPITAL LETTER T +24CA (U) # CIRCLED LATIN CAPITAL LETTER U +24CB (V) # CIRCLED LATIN CAPITAL LETTER V +24CC (W) # CIRCLED LATIN CAPITAL LETTER W +24CD (X) # CIRCLED LATIN CAPITAL LETTER X +24CE (Y) # CIRCLED LATIN CAPITAL LETTER Y +24CF (Z) # CIRCLED LATIN CAPITAL LETTER Z +24D0 (a) # CIRCLED LATIN SMALL LETTER A +24D1 (b) # CIRCLED LATIN SMALL LETTER B +24D2 (c) # CIRCLED LATIN SMALL LETTER C +24D3 (d) # CIRCLED LATIN SMALL LETTER D +24D4 (e) # CIRCLED LATIN SMALL LETTER E +24D5 (f) # CIRCLED LATIN SMALL LETTER F +24D6 (g) # CIRCLED LATIN SMALL LETTER G +24D7 (h) # CIRCLED LATIN SMALL LETTER H +24D8 (i) # CIRCLED LATIN SMALL LETTER I +24D9 (j) # CIRCLED LATIN SMALL LETTER J +24DA (k) # CIRCLED LATIN SMALL LETTER K +24DB (l) # CIRCLED LATIN SMALL LETTER L +24DC (m) # CIRCLED LATIN SMALL LETTER M +24DD (n) # CIRCLED LATIN SMALL LETTER N +24DE (o) # CIRCLED LATIN SMALL LETTER O +24DF (p) # CIRCLED LATIN SMALL LETTER P +24E0 (q) # CIRCLED LATIN SMALL LETTER Q +24E1 (r) # CIRCLED LATIN SMALL LETTER R +24E2 (s) # CIRCLED LATIN SMALL LETTER S +24E3 (t) # CIRCLED LATIN SMALL LETTER T +24E4 (u) # CIRCLED LATIN SMALL LETTER U +24E5 (v) # CIRCLED LATIN SMALL LETTER V +24E6 (w) # CIRCLED LATIN SMALL LETTER W +24E7 (x) # CIRCLED LATIN SMALL LETTER X +24E8 (y) # CIRCLED LATIN SMALL LETTER Y +24E9 (z) # CIRCLED LATIN SMALL LETTER Z +24EA (0) # CIRCLED DIGIT ZERO +2500 - # BOX DRAWINGS LIGHT HORIZONTAL +2502 | # BOX DRAWINGS LIGHT VERTICAL +250C + # BOX DRAWINGS LIGHT DOWN AND RIGHT +2510 + # BOX DRAWINGS LIGHT DOWN AND LEFT +2514 + # BOX DRAWINGS LIGHT UP AND RIGHT +2518 + # BOX DRAWINGS LIGHT UP AND LEFT +251C + # BOX DRAWINGS LIGHT VERTICAL AND RIGHT +2524 + # BOX DRAWINGS LIGHT VERTICAL AND LEFT +252C + # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL +2534 + # BOX DRAWINGS LIGHT UP AND HORIZONTAL +253C + # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL +2592 # MEDIUM SHADE +25AE # BLACK VERTICAL RECTANGLE +25C6 # BLACK DIAMOND +25E6 o # WHITE BULLET +2661 /<3 # WHITE HEART SUIT +2665 /<3 # BLACK HEART SUIT +266A # EIGHTH NOTE +2764 /<3 # HEAVY BLACK HEART +27E6 [| # MATHEMATICAL LEFT WHITE SQUARE BRACKET +27E7 |] # MATHEMATICAL RIGHT WHITE SQUARE BRACKET +27E8 < # MATHEMATICAL LEFT ANGLE BRACKET +27E9 > # MATHEMATICAL RIGHT ANGLE BRACKET +27EA << # MATHEMATICAL LEFT DOUBLE ANGLE BRACKET +27EB >> # MATHEMATICAL RIGHT DOUBLE ANGLE BRACKET +27EC (( # MATHEMATICAL LEFT WHITE TORTOISE SHELL BRACKET +27ED )) # MATHEMATICAL RIGHT WHITE TORTOISE SHELL BRACKET +27EE ( # MATHEMATICAL LEFT FLATTENED PARENTHESIS +27EF ) # MATHEMATICAL RIGHT FLATTENED PARENTHESIS +2980 ||| # TRIPLE VERTICAL BAR DELIMITER +2983 {| # LEFT WHITE CURLY BRACKET +2984 |} # RIGHT WHITE CURLY BRACKET +2985 (( # LEFT WHITE PARENTHESIS +2986 )) # RIGHT WHITE PARENTHESIS +2987 (| # Z NOTATION LEFT IMAGE BRACKET +2988 |) # Z NOTATION RIGHT IMAGE BRACKET +2989 <| # Z NOTATION LEFT BINDING BRACKET +298A |> # Z NOTATION RIGHT BINDING BRACKET +29E3 # # EQUALS SIGN AND SLANTED PARALLEL +29E5 # # IDENTICAL TO AND SLANTED PARALLEL +29F5 \ # REVERSE SOLIDUS OPERATOR +29F8 / # BIG SOLIDUS +29F9 \ # BIG REVERSE SOLIDUS +29FC < # LEFT-POINTING CURVED ANGLE BRACKET +29FD > # RIGHT-POINTING CURVED ANGLE BRACKET +29FE + # TINY +29FF - # MINY +2A0C ∫∫∫∫ # QUADRUPLE INTEGRAL OPERATOR +2A74 ::= # DOUBLE COLON EQUAL +2A75 == # TWO CONSECUTIVE EQUALS SIGNS +2A76 === # THREE CONSECUTIVE EQUALS SIGNS +2E9F 母 # CJK RADICAL MOTHER +2EF3 龟 # CJK RADICAL C-SIMPLIFIED TURTLE +2F00 一 # KANGXI RADICAL ONE +2F01 丨 # KANGXI RADICAL LINE +2F02 丶 # KANGXI RADICAL DOT +2F03 丿 # KANGXI RADICAL SLASH +2F04 乙 # KANGXI RADICAL SECOND +2F05 亅 # KANGXI RADICAL HOOK +2F06 二 # KANGXI RADICAL TWO +2F07 亠 # KANGXI RADICAL LID +2F08 人 # KANGXI RADICAL MAN +2F09 儿 # KANGXI RADICAL LEGS +2F0A 入 # KANGXI RADICAL ENTER +2F0B 八 # KANGXI RADICAL EIGHT +2F0C 冂 # KANGXI RADICAL DOWN BOX +2F0D 冖 # KANGXI RADICAL COVER +2F0E 冫 # KANGXI RADICAL ICE +2F0F 几 # KANGXI RADICAL TABLE +2F10 凵 # KANGXI RADICAL OPEN BOX +2F11 刀 # KANGXI RADICAL KNIFE +2F12 力 # KANGXI RADICAL POWER +2F13 勹 # KANGXI RADICAL WRAP +2F14 匕 # KANGXI RADICAL SPOON +2F15 匚 # KANGXI RADICAL RIGHT OPEN BOX +2F16 匸 # KANGXI RADICAL HIDING ENCLOSURE +2F17 十 # KANGXI RADICAL TEN +2F18 卜 # KANGXI RADICAL DIVINATION +2F19 卩 # KANGXI RADICAL SEAL +2F1A 厂 # KANGXI RADICAL CLIFF +2F1B 厶 # KANGXI RADICAL PRIVATE +2F1C 又 # KANGXI RADICAL AGAIN +2F1D 口 # KANGXI RADICAL MOUTH +2F1E 囗 # KANGXI RADICAL ENCLOSURE +2F1F 土 # KANGXI RADICAL EARTH +2F20 士 # KANGXI RADICAL SCHOLAR +2F21 夂 # KANGXI RADICAL GO +2F22 夊 # KANGXI RADICAL GO SLOWLY +2F23 夕 # KANGXI RADICAL EVENING +2F24 大 # KANGXI RADICAL BIG +2F25 女 # KANGXI RADICAL WOMAN +2F26 子 # KANGXI RADICAL CHILD +2F27 宀 # KANGXI RADICAL ROOF +2F28 寸 # KANGXI RADICAL INCH +2F29 小 # KANGXI RADICAL SMALL +2F2A 尢 # KANGXI RADICAL LAME +2F2B 尸 # KANGXI RADICAL CORPSE +2F2C 屮 # KANGXI RADICAL SPROUT +2F2D 山 # KANGXI RADICAL MOUNTAIN +2F2E 巛 # KANGXI RADICAL RIVER +2F2F 工 # KANGXI RADICAL WORK +2F30 己 # KANGXI RADICAL ONESELF +2F31 巾 # KANGXI RADICAL TURBAN +2F32 干 # KANGXI RADICAL DRY +2F33 幺 # KANGXI RADICAL SHORT THREAD +2F34 广 # KANGXI RADICAL DOTTED CLIFF +2F35 廴 # KANGXI RADICAL LONG STRIDE +2F36 廾 # KANGXI RADICAL TWO HANDS +2F37 弋 # KANGXI RADICAL SHOOT +2F38 弓 # KANGXI RADICAL BOW +2F39 彐 # KANGXI RADICAL SNOUT +2F3A 彡 # KANGXI RADICAL BRISTLE +2F3B 彳 # KANGXI RADICAL STEP +2F3C 心 # KANGXI RADICAL HEART +2F3D 戈 # KANGXI RADICAL HALBERD +2F3E 戶 # KANGXI RADICAL DOOR +2F3F 手 # KANGXI RADICAL HAND +2F40 支 # KANGXI RADICAL BRANCH +2F41 攴 # KANGXI RADICAL RAP +2F42 文 # KANGXI RADICAL SCRIPT +2F43 斗 # KANGXI RADICAL DIPPER +2F44 斤 # KANGXI RADICAL AXE +2F45 方 # KANGXI RADICAL SQUARE +2F46 无 # KANGXI RADICAL NOT +2F47 日 # KANGXI RADICAL SUN +2F48 曰 # KANGXI RADICAL SAY +2F49 月 # KANGXI RADICAL MOON +2F4A 木 # KANGXI RADICAL TREE +2F4B 欠 # KANGXI RADICAL LACK +2F4C 止 # KANGXI RADICAL STOP +2F4D 歹 # KANGXI RADICAL DEATH +2F4E 殳 # KANGXI RADICAL WEAPON +2F4F 毋 # KANGXI RADICAL DO NOT +2F50 比 # KANGXI RADICAL COMPARE +2F51 毛 # KANGXI RADICAL FUR +2F52 氏 # KANGXI RADICAL CLAN +2F53 气 # KANGXI RADICAL STEAM +2F54 水 # KANGXI RADICAL WATER +2F55 火 # KANGXI RADICAL FIRE +2F56 爪 # KANGXI RADICAL CLAW +2F57 父 # KANGXI RADICAL FATHER +2F58 爻 # KANGXI RADICAL DOUBLE X +2F59 爿 # KANGXI RADICAL HALF TREE TRUNK +2F5A 片 # KANGXI RADICAL SLICE +2F5B 牙 # KANGXI RADICAL FANG +2F5C 牛 # KANGXI RADICAL COW +2F5D 犬 # KANGXI RADICAL DOG +2F5E 玄 # KANGXI RADICAL PROFOUND +2F5F 玉 # KANGXI RADICAL JADE +2F60 瓜 # KANGXI RADICAL MELON +2F61 瓦 # KANGXI RADICAL TILE +2F62 甘 # KANGXI RADICAL SWEET +2F63 生 # KANGXI RADICAL LIFE +2F64 用 # KANGXI RADICAL USE +2F65 田 # KANGXI RADICAL FIELD +2F66 疋 # KANGXI RADICAL BOLT OF CLOTH +2F67 疒 # KANGXI RADICAL SICKNESS +2F68 癶 # KANGXI RADICAL DOTTED TENT +2F69 白 # KANGXI RADICAL WHITE +2F6A 皮 # KANGXI RADICAL SKIN +2F6B 皿 # KANGXI RADICAL DISH +2F6C 目 # KANGXI RADICAL EYE +2F6D 矛 # KANGXI RADICAL SPEAR +2F6E 矢 # KANGXI RADICAL ARROW +2F6F 石 # KANGXI RADICAL STONE +2F70 示 # KANGXI RADICAL SPIRIT +2F71 禸 # KANGXI RADICAL TRACK +2F72 禾 # KANGXI RADICAL GRAIN +2F73 穴 # KANGXI RADICAL CAVE +2F74 立 # KANGXI RADICAL STAND +2F75 竹 # KANGXI RADICAL BAMBOO +2F76 米 # KANGXI RADICAL RICE +2F77 糸 # KANGXI RADICAL SILK +2F78 缶 # KANGXI RADICAL JAR +2F79 网 # KANGXI RADICAL NET +2F7A 羊 # KANGXI RADICAL SHEEP +2F7B 羽 # KANGXI RADICAL FEATHER +2F7C 老 # KANGXI RADICAL OLD +2F7D 而 # KANGXI RADICAL AND +2F7E 耒 # KANGXI RADICAL PLOW +2F7F 耳 # KANGXI RADICAL EAR +2F80 聿 # KANGXI RADICAL BRUSH +2F81 肉 # KANGXI RADICAL MEAT +2F82 臣 # KANGXI RADICAL MINISTER +2F83 自 # KANGXI RADICAL SELF +2F84 至 # KANGXI RADICAL ARRIVE +2F85 臼 # KANGXI RADICAL MORTAR +2F86 舌 # KANGXI RADICAL TONGUE +2F87 舛 # KANGXI RADICAL OPPOSE +2F88 舟 # KANGXI RADICAL BOAT +2F89 艮 # KANGXI RADICAL STOPPING +2F8A 色 # KANGXI RADICAL COLOR +2F8B 艸 # KANGXI RADICAL GRASS +2F8C 虍 # KANGXI RADICAL TIGER +2F8D 虫 # KANGXI RADICAL INSECT +2F8E 血 # KANGXI RADICAL BLOOD +2F8F 行 # KANGXI RADICAL WALK ENCLOSURE +2F90 衣 # KANGXI RADICAL CLOTHES +2F91 襾 # KANGXI RADICAL WEST +2F92 見 # KANGXI RADICAL SEE +2F93 角 # KANGXI RADICAL HORN +2F94 言 # KANGXI RADICAL SPEECH +2F95 谷 # KANGXI RADICAL VALLEY +2F96 豆 # KANGXI RADICAL BEAN +2F97 豕 # KANGXI RADICAL PIG +2F98 豸 # KANGXI RADICAL BADGER +2F99 貝 # KANGXI RADICAL SHELL +2F9A 赤 # KANGXI RADICAL RED +2F9B 走 # KANGXI RADICAL RUN +2F9C 足 # KANGXI RADICAL FOOT +2F9D 身 # KANGXI RADICAL BODY +2F9E 車 # KANGXI RADICAL CART +2F9F 辛 # KANGXI RADICAL BITTER +2FA0 辰 # KANGXI RADICAL MORNING +2FA1 辵 # KANGXI RADICAL WALK +2FA2 邑 # KANGXI RADICAL CITY +2FA3 酉 # KANGXI RADICAL WINE +2FA4 釆 # KANGXI RADICAL DISTINGUISH +2FA5 里 # KANGXI RADICAL VILLAGE +2FA6 金 # KANGXI RADICAL GOLD +2FA7 長 # KANGXI RADICAL LONG +2FA8 門 # KANGXI RADICAL GATE +2FA9 阜 # KANGXI RADICAL MOUND +2FAA 隶 # KANGXI RADICAL SLAVE +2FAB 隹 # KANGXI RADICAL SHORT TAILED BIRD +2FAC 雨 # KANGXI RADICAL RAIN +2FAD 靑 # KANGXI RADICAL BLUE +2FAE 非 # KANGXI RADICAL WRONG +2FAF 面 # KANGXI RADICAL FACE +2FB0 革 # KANGXI RADICAL LEATHER +2FB1 韋 # KANGXI RADICAL TANNED LEATHER +2FB2 韭 # KANGXI RADICAL LEEK +2FB3 音 # KANGXI RADICAL SOUND +2FB4 頁 # KANGXI RADICAL LEAF +2FB5 風 # KANGXI RADICAL WIND +2FB6 飛 # KANGXI RADICAL FLY +2FB7 食 # KANGXI RADICAL EAT +2FB8 首 # KANGXI RADICAL HEAD +2FB9 香 # KANGXI RADICAL FRAGRANT +2FBA 馬 # KANGXI RADICAL HORSE +2FBB 骨 # KANGXI RADICAL BONE +2FBC 高 # KANGXI RADICAL TALL +2FBD 髟 # KANGXI RADICAL HAIR +2FBE 鬥 # KANGXI RADICAL FIGHT +2FBF 鬯 # KANGXI RADICAL SACRIFICIAL WINE +2FC0 鬲 # KANGXI RADICAL CAULDRON +2FC1 鬼 # KANGXI RADICAL GHOST +2FC2 魚 # KANGXI RADICAL FISH +2FC3 鳥 # KANGXI RADICAL BIRD +2FC4 鹵 # KANGXI RADICAL SALT +2FC5 鹿 # KANGXI RADICAL DEER +2FC6 麥 # KANGXI RADICAL WHEAT +2FC7 麻 # KANGXI RADICAL HEMP +2FC8 黃 # KANGXI RADICAL YELLOW +2FC9 黍 # KANGXI RADICAL MILLET +2FCA 黑 # KANGXI RADICAL BLACK +2FCB 黹 # KANGXI RADICAL EMBROIDERY +2FCC 黽 # KANGXI RADICAL FROG +2FCD 鼎 # KANGXI RADICAL TRIPOD +2FCE 鼓 # KANGXI RADICAL DRUM +2FCF 鼠 # KANGXI RADICAL RAT +2FD0 鼻 # KANGXI RADICAL NOSE +2FD1 齊 # KANGXI RADICAL EVEN +2FD2 齒 # KANGXI RADICAL TOOTH +2FD3 龍 # KANGXI RADICAL DRAGON +2FD4 龜 # KANGXI RADICAL TURTLE +2FD5 龠 # KANGXI RADICAL FLUTE +3000 # IDEOGRAPHIC SPACE +3036 〒 # CIRCLED POSTAL MARK +3038 十 # HANGZHOU NUMERAL TEN +3039 卄 # HANGZHOU NUMERAL TWENTY +303A 卅 # HANGZHOU NUMERAL THIRTY +3041 あ # HIRAGANA LETTER SMALL A +3043 い # HIRAGANA LETTER SMALL I +3045 う # HIRAGANA LETTER SMALL U +3047 え # HIRAGANA LETTER SMALL E +3049 お # HIRAGANA LETTER SMALL O +3063 つ # HIRAGANA LETTER SMALL TU +3083 や # HIRAGANA LETTER SMALL YA +3085 ゆ # HIRAGANA LETTER SMALL YU +3087 よ # HIRAGANA LETTER SMALL YO +308E わ # HIRAGANA LETTER SMALL WA +3095 か # HIRAGANA LETTER SMALL KA +3096 け # HIRAGANA LETTER SMALL KE +309B ゙ # KATAKANA-HIRAGANA VOICED SOUND MARK +309C ゚ # KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK +30A0 = # KATAKANA-HIRAGANA DOUBLE HYPHEN +30A1 ア # KATAKANA LETTER SMALL A +30A3 イ # KATAKANA LETTER SMALL I +30A5 ウ # KATAKANA LETTER SMALL U +30A7 エ # KATAKANA LETTER SMALL E +30A9 オ # KATAKANA LETTER SMALL O +30C3 ツ # KATAKANA LETTER SMALL TU +30E3 ヤ # KATAKANA LETTER SMALL YA +30E5 ユ # KATAKANA LETTER SMALL YU +30E7 ヨ # KATAKANA LETTER SMALL YO +30EE ワ # KATAKANA LETTER SMALL WA +30F5 カ # KATAKANA LETTER SMALL KA +30F6 ケ # KATAKANA LETTER SMALL KE +3131 ᄀ # HANGUL LETTER KIYEOK +3132 ᄁ # HANGUL LETTER SSANGKIYEOK +3133 ᆪ # HANGUL LETTER KIYEOK-SIOS +3134 ᄂ # HANGUL LETTER NIEUN +3135 ᆬ # HANGUL LETTER NIEUN-CIEUC +3136 ᆭ # HANGUL LETTER NIEUN-HIEUH +3137 ᄃ # HANGUL LETTER TIKEUT +3138 ᄄ # HANGUL LETTER SSANGTIKEUT +3139 ᄅ # HANGUL LETTER RIEUL +313A ᆰ # HANGUL LETTER RIEUL-KIYEOK +313B ᆱ # HANGUL LETTER RIEUL-MIEUM +313C ᆲ # HANGUL LETTER RIEUL-PIEUP +313D ᆳ # HANGUL LETTER RIEUL-SIOS +313E ᆴ # HANGUL LETTER RIEUL-THIEUTH +313F ᆵ # HANGUL LETTER RIEUL-PHIEUPH +3140 ᄚ # HANGUL LETTER RIEUL-HIEUH +3141 ᄆ # HANGUL LETTER MIEUM +3142 ᄇ # HANGUL LETTER PIEUP +3143 ᄈ # HANGUL LETTER SSANGPIEUP +3144 ᄡ # HANGUL LETTER PIEUP-SIOS +3145 ᄉ # HANGUL LETTER SIOS +3146 ᄊ # HANGUL LETTER SSANGSIOS +3147 ᄋ # HANGUL LETTER IEUNG +3148 ᄌ # HANGUL LETTER CIEUC +3149 ᄍ # HANGUL LETTER SSANGCIEUC +314A ᄎ # HANGUL LETTER CHIEUCH +314B ᄏ # HANGUL LETTER KHIEUKH +314C ᄐ # HANGUL LETTER THIEUTH +314D ᄑ # HANGUL LETTER PHIEUPH +314E ᄒ # HANGUL LETTER HIEUH +314F ᅡ # HANGUL LETTER A +3150 ᅢ # HANGUL LETTER AE +3151 ᅣ # HANGUL LETTER YA +3152 ᅤ # HANGUL LETTER YAE +3153 ᅥ # HANGUL LETTER EO +3154 ᅦ # HANGUL LETTER E +3155 ᅧ # HANGUL LETTER YEO +3156 ᅨ # HANGUL LETTER YE +3157 ᅩ # HANGUL LETTER O +3158 ᅪ # HANGUL LETTER WA +3159 ᅫ # HANGUL LETTER WAE +315A ᅬ # HANGUL LETTER OE +315B ᅭ # HANGUL LETTER YO +315C ᅮ # HANGUL LETTER U +315D ᅯ # HANGUL LETTER WEO +315E ᅰ # HANGUL LETTER WE +315F ᅱ # HANGUL LETTER WI +3160 ᅲ # HANGUL LETTER YU +3161 ᅳ # HANGUL LETTER EU +3162 ᅴ # HANGUL LETTER YI +3163 ᅵ # HANGUL LETTER I +3164 ᅠ # HANGUL FILLER +3165 ᄔ # HANGUL LETTER SSANGNIEUN +3166 ᄕ # HANGUL LETTER NIEUN-TIKEUT +3167 ᇇ # HANGUL LETTER NIEUN-SIOS +3168 ᇈ # HANGUL LETTER NIEUN-PANSIOS +3169 ᇌ # HANGUL LETTER RIEUL-KIYEOK-SIOS +316A ᇎ # HANGUL LETTER RIEUL-TIKEUT +316B ᇓ # HANGUL LETTER RIEUL-PIEUP-SIOS +316C ᇗ # HANGUL LETTER RIEUL-PANSIOS +316D ᇙ # HANGUL LETTER RIEUL-YEORINHIEUH +316E ᄜ # HANGUL LETTER MIEUM-PIEUP +316F ᇝ # HANGUL LETTER MIEUM-SIOS +3170 ᇟ # HANGUL LETTER MIEUM-PANSIOS +3171 ᄝ # HANGUL LETTER KAPYEOUNMIEUM +3172 ᄞ # HANGUL LETTER PIEUP-KIYEOK +3173 ᄠ # HANGUL LETTER PIEUP-TIKEUT +3174 ᄢ # HANGUL LETTER PIEUP-SIOS-KIYEOK +3175 ᄣ # HANGUL LETTER PIEUP-SIOS-TIKEUT +3176 ᄧ # HANGUL LETTER PIEUP-CIEUC +3177 ᄩ # HANGUL LETTER PIEUP-THIEUTH +3178 ᄫ # HANGUL LETTER KAPYEOUNPIEUP +3179 ᄬ # HANGUL LETTER KAPYEOUNSSANGPIEUP +317A ᄭ # HANGUL LETTER SIOS-KIYEOK +317B ᄮ # HANGUL LETTER SIOS-NIEUN +317C ᄯ # HANGUL LETTER SIOS-TIKEUT +317D ᄲ # HANGUL LETTER SIOS-PIEUP +317E ᄶ # HANGUL LETTER SIOS-CIEUC +317F ᅀ # HANGUL LETTER PANSIOS +3180 ᅇ # HANGUL LETTER SSANGIEUNG +3181 ᅌ # HANGUL LETTER YESIEUNG +3182 ᇱ # HANGUL LETTER YESIEUNG-SIOS +3183 ᇲ # HANGUL LETTER YESIEUNG-PANSIOS +3184 ᅗ # HANGUL LETTER KAPYEOUNPHIEUPH +3185 ᅘ # HANGUL LETTER SSANGHIEUH +3186 ᅙ # HANGUL LETTER YEORINHIEUH +3187 ᆄ # HANGUL LETTER YO-YA +3188 ᆅ # HANGUL LETTER YO-YAE +3189 ᆈ # HANGUL LETTER YO-I +318A ᆑ # HANGUL LETTER YU-YEO +318B ᆒ # HANGUL LETTER YU-YE +318C ᆔ # HANGUL LETTER YU-I +318D ᆞ # HANGUL LETTER ARAEA +318E ᆡ # HANGUL LETTER ARAEAE +31F0 ク # KATAKANA LETTER SMALL KU +31F1 シ # KATAKANA LETTER SMALL SI +31F2 ス # KATAKANA LETTER SMALL SU +31F3 ト # KATAKANA LETTER SMALL TO +31F4 ヌ # KATAKANA LETTER SMALL NU +31F5 ハ # KATAKANA LETTER SMALL HA +31F6 ヒ # KATAKANA LETTER SMALL HI +31F7 フ # KATAKANA LETTER SMALL HU +31F8 ヘ # KATAKANA LETTER SMALL HE +31F9 ホ # KATAKANA LETTER SMALL HO +31FA ム # KATAKANA LETTER SMALL MU +31FB ラ # KATAKANA LETTER SMALL RA +31FC リ # KATAKANA LETTER SMALL RI +31FD ル # KATAKANA LETTER SMALL RU +31FE レ # KATAKANA LETTER SMALL RE +31FF ロ # KATAKANA LETTER SMALL RO +3200 (ᄀ) # PARENTHESIZED HANGUL KIYEOK +3201 (ᄂ) # PARENTHESIZED HANGUL NIEUN +3202 (ᄃ) # PARENTHESIZED HANGUL TIKEUT +3203 (ᄅ) # PARENTHESIZED HANGUL RIEUL +3204 (ᄆ) # PARENTHESIZED HANGUL MIEUM +3205 (ᄇ) # PARENTHESIZED HANGUL PIEUP +3206 (ᄉ) # PARENTHESIZED HANGUL SIOS +3207 (ᄋ) # PARENTHESIZED HANGUL IEUNG +3208 (ᄌ) # PARENTHESIZED HANGUL CIEUC +3209 (ᄎ) # PARENTHESIZED HANGUL CHIEUCH +320A (ᄏ) # PARENTHESIZED HANGUL KHIEUKH +320B (ᄐ) # PARENTHESIZED HANGUL THIEUTH +320C (ᄑ) # PARENTHESIZED HANGUL PHIEUPH +320D (ᄒ) # PARENTHESIZED HANGUL HIEUH +320E (가) # PARENTHESIZED HANGUL KIYEOK A +320F (나) # PARENTHESIZED HANGUL NIEUN A +3210 (다) # PARENTHESIZED HANGUL TIKEUT A +3211 (라) # PARENTHESIZED HANGUL RIEUL A +3212 (마) # PARENTHESIZED HANGUL MIEUM A +3213 (바) # PARENTHESIZED HANGUL PIEUP A +3214 (사) # PARENTHESIZED HANGUL SIOS A +3215 (아) # PARENTHESIZED HANGUL IEUNG A +3216 (자) # PARENTHESIZED HANGUL CIEUC A +3217 (차) # PARENTHESIZED HANGUL CHIEUCH A +3218 (카) # PARENTHESIZED HANGUL KHIEUKH A +3219 (타) # PARENTHESIZED HANGUL THIEUTH A +321A (파) # PARENTHESIZED HANGUL PHIEUPH A +321B (하) # PARENTHESIZED HANGUL HIEUH A +321C (주) # PARENTHESIZED HANGUL CIEUC U +321D (오전) # PARENTHESIZED KOREAN CHARACTER OJEON +321E (오후) # PARENTHESIZED KOREAN CHARACTER O HU +3220 (一) # PARENTHESIZED IDEOGRAPH ONE +3221 (二) # PARENTHESIZED IDEOGRAPH TWO +3222 (三) # PARENTHESIZED IDEOGRAPH THREE +3223 (四) # PARENTHESIZED IDEOGRAPH FOUR +3224 (五) # PARENTHESIZED IDEOGRAPH FIVE +3225 (六) # PARENTHESIZED IDEOGRAPH SIX +3226 (七) # PARENTHESIZED IDEOGRAPH SEVEN +3227 (八) # PARENTHESIZED IDEOGRAPH EIGHT +3228 (九) # PARENTHESIZED IDEOGRAPH NINE +3229 (十) # PARENTHESIZED IDEOGRAPH TEN +322A (月) # PARENTHESIZED IDEOGRAPH MOON +322B (火) # PARENTHESIZED IDEOGRAPH FIRE +322C (水) # PARENTHESIZED IDEOGRAPH WATER +322D (木) # PARENTHESIZED IDEOGRAPH WOOD +322E (金) # PARENTHESIZED IDEOGRAPH METAL +322F (土) # PARENTHESIZED IDEOGRAPH EARTH +3230 (日) # PARENTHESIZED IDEOGRAPH SUN +3231 (株) # PARENTHESIZED IDEOGRAPH STOCK +3232 (有) # PARENTHESIZED IDEOGRAPH HAVE +3233 (社) # PARENTHESIZED IDEOGRAPH SOCIETY +3234 (名) # PARENTHESIZED IDEOGRAPH NAME +3235 (特) # PARENTHESIZED IDEOGRAPH SPECIAL +3236 (財) # PARENTHESIZED IDEOGRAPH FINANCIAL +3237 (祝) # PARENTHESIZED IDEOGRAPH CONGRATULATION +3238 (労) # PARENTHESIZED IDEOGRAPH LABOR +3239 (代) # PARENTHESIZED IDEOGRAPH REPRESENT +323A (呼) # PARENTHESIZED IDEOGRAPH CALL +323B (学) # PARENTHESIZED IDEOGRAPH STUDY +323C (監) # PARENTHESIZED IDEOGRAPH SUPERVISE +323D (企) # PARENTHESIZED IDEOGRAPH ENTERPRISE +323E (資) # PARENTHESIZED IDEOGRAPH RESOURCE +323F (協) # PARENTHESIZED IDEOGRAPH ALLIANCE +3240 (祭) # PARENTHESIZED IDEOGRAPH FESTIVAL +3241 (休) # PARENTHESIZED IDEOGRAPH REST +3242 (自) # PARENTHESIZED IDEOGRAPH SELF +3243 (至) # PARENTHESIZED IDEOGRAPH REACH +3244 (問) # CIRCLED IDEOGRAPH QUESTION +3245 (幼) # CIRCLED IDEOGRAPH KINDERGARTEN +3246 (文) # CIRCLED IDEOGRAPH SCHOOL +3247 (箏) # CIRCLED IDEOGRAPH KOTO +3250 PTE # PARTNERSHIP SIGN +3251 (21) # CIRCLED NUMBER TWENTY ONE +3252 (22) # CIRCLED NUMBER TWENTY TWO +3253 (23) # CIRCLED NUMBER TWENTY THREE +3254 (24) # CIRCLED NUMBER TWENTY FOUR +3255 (25) # CIRCLED NUMBER TWENTY FIVE +3256 (26) # CIRCLED NUMBER TWENTY SIX +3257 (27) # CIRCLED NUMBER TWENTY SEVEN +3258 (28) # CIRCLED NUMBER TWENTY EIGHT +3259 (29) # CIRCLED NUMBER TWENTY NINE +325A (30) # CIRCLED NUMBER THIRTY +325B (31) # CIRCLED NUMBER THIRTY ONE +325C (32) # CIRCLED NUMBER THIRTY TWO +325D (33) # CIRCLED NUMBER THIRTY THREE +325E (34) # CIRCLED NUMBER THIRTY FOUR +325F (35) # CIRCLED NUMBER THIRTY FIVE +3260 (ᄀ) # CIRCLED HANGUL KIYEOK +3261 (ᄂ) # CIRCLED HANGUL NIEUN +3262 (ᄃ) # CIRCLED HANGUL TIKEUT +3263 (ᄅ) # CIRCLED HANGUL RIEUL +3264 (ᄆ) # CIRCLED HANGUL MIEUM +3265 (ᄇ) # CIRCLED HANGUL PIEUP +3266 (ᄉ) # CIRCLED HANGUL SIOS +3267 (ᄋ) # CIRCLED HANGUL IEUNG +3268 (ᄌ) # CIRCLED HANGUL CIEUC +3269 (ᄎ) # CIRCLED HANGUL CHIEUCH +326A (ᄏ) # CIRCLED HANGUL KHIEUKH +326B (ᄐ) # CIRCLED HANGUL THIEUTH +326C (ᄑ) # CIRCLED HANGUL PHIEUPH +326D (ᄒ) # CIRCLED HANGUL HIEUH +326E (가) # CIRCLED HANGUL KIYEOK A +326F (나) # CIRCLED HANGUL NIEUN A +3270 (다) # CIRCLED HANGUL TIKEUT A +3271 (라) # CIRCLED HANGUL RIEUL A +3272 (마) # CIRCLED HANGUL MIEUM A +3273 (바) # CIRCLED HANGUL PIEUP A +3274 (사) # CIRCLED HANGUL SIOS A +3275 (아) # CIRCLED HANGUL IEUNG A +3276 (자) # CIRCLED HANGUL CIEUC A +3277 (차) # CIRCLED HANGUL CHIEUCH A +3278 (카) # CIRCLED HANGUL KHIEUKH A +3279 (타) # CIRCLED HANGUL THIEUTH A +327A (파) # CIRCLED HANGUL PHIEUPH A +327B (하) # CIRCLED HANGUL HIEUH A +327C (참고) # CIRCLED KOREAN CHARACTER CHAMKO +327D (주의) # CIRCLED KOREAN CHARACTER JUEUI +327E (우) # CIRCLED HANGUL IEUNG U +3280 (一) # CIRCLED IDEOGRAPH ONE +3281 (二) # CIRCLED IDEOGRAPH TWO +3282 (三) # CIRCLED IDEOGRAPH THREE +3283 (四) # CIRCLED IDEOGRAPH FOUR +3284 (五) # CIRCLED IDEOGRAPH FIVE +3285 (六) # CIRCLED IDEOGRAPH SIX +3286 (七) # CIRCLED IDEOGRAPH SEVEN +3287 (八) # CIRCLED IDEOGRAPH EIGHT +3288 (九) # CIRCLED IDEOGRAPH NINE +3289 (十) # CIRCLED IDEOGRAPH TEN +328A (月) # CIRCLED IDEOGRAPH MOON +328B (火) # CIRCLED IDEOGRAPH FIRE +328C (水) # CIRCLED IDEOGRAPH WATER +328D (木) # CIRCLED IDEOGRAPH WOOD +328E (金) # CIRCLED IDEOGRAPH METAL +328F (土) # CIRCLED IDEOGRAPH EARTH +3290 (日) # CIRCLED IDEOGRAPH SUN +3291 (株) # CIRCLED IDEOGRAPH STOCK +3292 (有) # CIRCLED IDEOGRAPH HAVE +3293 (社) # CIRCLED IDEOGRAPH SOCIETY +3294 (名) # CIRCLED IDEOGRAPH NAME +3295 (特) # CIRCLED IDEOGRAPH SPECIAL +3296 (財) # CIRCLED IDEOGRAPH FINANCIAL +3297 (祝) # CIRCLED IDEOGRAPH CONGRATULATION +3298 (労) # CIRCLED IDEOGRAPH LABOR +3299 (秘) # CIRCLED IDEOGRAPH SECRET +329A (男) # CIRCLED IDEOGRAPH MALE +329B (女) # CIRCLED IDEOGRAPH FEMALE +329C (適) # CIRCLED IDEOGRAPH SUITABLE +329D (優) # CIRCLED IDEOGRAPH EXCELLENT +329E (印) # CIRCLED IDEOGRAPH PRINT +329F (注) # CIRCLED IDEOGRAPH ATTENTION +32A0 (項) # CIRCLED IDEOGRAPH ITEM +32A1 (休) # CIRCLED IDEOGRAPH REST +32A2 (写) # CIRCLED IDEOGRAPH COPY +32A3 (正) # CIRCLED IDEOGRAPH CORRECT +32A4 (上) # CIRCLED IDEOGRAPH HIGH +32A5 (中) # CIRCLED IDEOGRAPH CENTRE +32A6 (下) # CIRCLED IDEOGRAPH LOW +32A7 (左) # CIRCLED IDEOGRAPH LEFT +32A8 (右) # CIRCLED IDEOGRAPH RIGHT +32A9 (医) # CIRCLED IDEOGRAPH MEDICINE +32AA (宗) # CIRCLED IDEOGRAPH RELIGION +32AB (学) # CIRCLED IDEOGRAPH STUDY +32AC (監) # CIRCLED IDEOGRAPH SUPERVISE +32AD (企) # CIRCLED IDEOGRAPH ENTERPRISE +32AE (資) # CIRCLED IDEOGRAPH RESOURCE +32AF (協) # CIRCLED IDEOGRAPH ALLIANCE +32B0 (夜) # CIRCLED IDEOGRAPH NIGHT +32B1 (36) # CIRCLED NUMBER THIRTY SIX +32B2 (37) # CIRCLED NUMBER THIRTY SEVEN +32B3 (38) # CIRCLED NUMBER THIRTY EIGHT +32B4 (39) # CIRCLED NUMBER THIRTY NINE +32B5 (40) # CIRCLED NUMBER FORTY +32B6 (41) # CIRCLED NUMBER FORTY ONE +32B7 (42) # CIRCLED NUMBER FORTY TWO +32B8 (43) # CIRCLED NUMBER FORTY THREE +32B9 (44) # CIRCLED NUMBER FORTY FOUR +32BA (45) # CIRCLED NUMBER FORTY FIVE +32BB (46) # CIRCLED NUMBER FORTY SIX +32BC (47) # CIRCLED NUMBER FORTY SEVEN +32BD (48) # CIRCLED NUMBER FORTY EIGHT +32BE (49) # CIRCLED NUMBER FORTY NINE +32BF (50) # CIRCLED NUMBER FIFTY +32C0 1月 # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JANUARY +32C1 2月 # IDEOGRAPHIC TELEGRAPH SYMBOL FOR FEBRUARY +32C2 3月 # IDEOGRAPHIC TELEGRAPH SYMBOL FOR MARCH +32C3 4月 # IDEOGRAPHIC TELEGRAPH SYMBOL FOR APRIL +32C4 5月 # IDEOGRAPHIC TELEGRAPH SYMBOL FOR MAY +32C5 6月 # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JUNE +32C6 7月 # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JULY +32C7 8月 # IDEOGRAPHIC TELEGRAPH SYMBOL FOR AUGUST +32C8 9月 # IDEOGRAPHIC TELEGRAPH SYMBOL FOR SEPTEMBER +32C9 10月 # IDEOGRAPHIC TELEGRAPH SYMBOL FOR OCTOBER +32CA 11月 # IDEOGRAPHIC TELEGRAPH SYMBOL FOR NOVEMBER +32CB 12月 # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DECEMBER +32CC Hg # SQUARE HG +32CD erg # SQUARE ERG +32CE eV # SQUARE EV +32CF LTD # LIMITED LIABILITY SIGN +32D0 (ア) # CIRCLED KATAKANA A +32D1 (イ) # CIRCLED KATAKANA I +32D2 (ウ) # CIRCLED KATAKANA U +32D3 (エ) # CIRCLED KATAKANA E +32D4 (オ) # CIRCLED KATAKANA O +32D5 (カ) # CIRCLED KATAKANA KA +32D6 (キ) # CIRCLED KATAKANA KI +32D7 (ク) # CIRCLED KATAKANA KU +32D8 (ケ) # CIRCLED KATAKANA KE +32D9 (コ) # CIRCLED KATAKANA KO +32DA (サ) # CIRCLED KATAKANA SA +32DB (シ) # CIRCLED KATAKANA SI +32DC (ス) # CIRCLED KATAKANA SU +32DD (セ) # CIRCLED KATAKANA SE +32DE (ソ) # CIRCLED KATAKANA SO +32DF (タ) # CIRCLED KATAKANA TA +32E0 (チ) # CIRCLED KATAKANA TI +32E1 (ツ) # CIRCLED KATAKANA TU +32E2 (テ) # CIRCLED KATAKANA TE +32E3 (ト) # CIRCLED KATAKANA TO +32E4 (ナ) # CIRCLED KATAKANA NA +32E5 (ニ) # CIRCLED KATAKANA NI +32E6 (ヌ) # CIRCLED KATAKANA NU +32E7 (ネ) # CIRCLED KATAKANA NE +32E8 (ノ) # CIRCLED KATAKANA NO +32E9 (ハ) # CIRCLED KATAKANA HA +32EA (ヒ) # CIRCLED KATAKANA HI +32EB (フ) # CIRCLED KATAKANA HU +32EC (ヘ) # CIRCLED KATAKANA HE +32ED (ホ) # CIRCLED KATAKANA HO +32EE (マ) # CIRCLED KATAKANA MA +32EF (ミ) # CIRCLED KATAKANA MI +32F0 (ム) # CIRCLED KATAKANA MU +32F1 (メ) # CIRCLED KATAKANA ME +32F2 (モ) # CIRCLED KATAKANA MO +32F3 (ヤ) # CIRCLED KATAKANA YA +32F4 (ユ) # CIRCLED KATAKANA YU +32F5 (ヨ) # CIRCLED KATAKANA YO +32F6 (ラ) # CIRCLED KATAKANA RA +32F7 (リ) # CIRCLED KATAKANA RI +32F8 (ル) # CIRCLED KATAKANA RU +32F9 (レ) # CIRCLED KATAKANA RE +32FA (ロ) # CIRCLED KATAKANA RO +32FB (ワ) # CIRCLED KATAKANA WA +32FC (ヰ) # CIRCLED KATAKANA WI +32FD (ヱ) # CIRCLED KATAKANA WE +32FE (ヲ) # CIRCLED KATAKANA WO +32FF 令和 # SQUARE ERA NAME REIWA +3300 アパート # SQUARE APAATO +3301 アルファ # SQUARE ARUHUA +3302 アンペア # SQUARE ANPEA +3303 アール # SQUARE AARU +3304 イニング # SQUARE ININGU +3305 インチ # SQUARE INTI +3306 ウォン # SQUARE UON +3307 エスクード # SQUARE ESUKUUDO +3308 エーカー # SQUARE EEKAA +3309 オンス # SQUARE ONSU +330A オーム # SQUARE OOMU +330B カイリ # SQUARE KAIRI +330C カラット # SQUARE KARATTO +330D カロリー # SQUARE KARORII +330E ガロン # SQUARE GARON +330F ガンマ # SQUARE GANMA +3310 ギガ # SQUARE GIGA +3311 ギニー # SQUARE GINII +3312 キュリー # SQUARE KYURII +3313 ギルダー # SQUARE GIRUDAA +3314 キロ # SQUARE KIRO +3315 キログラム # SQUARE KIROGURAMU +3316 キロメートル # SQUARE KIROMEETORU +3317 キロワット # SQUARE KIROWATTO +3318 グラム # SQUARE GURAMU +3319 グラムトン # SQUARE GURAMUTON +331A クルゼイロ # SQUARE KURUZEIRO +331B クローネ # SQUARE KUROONE +331C ケース # SQUARE KEESU +331D コルナ # SQUARE KORUNA +331E コーポ # SQUARE KOOPO +331F サイクル # SQUARE SAIKURU +3320 サンチーム # SQUARE SANTIIMU +3321 シリング # SQUARE SIRINGU +3322 センチ # SQUARE SENTI +3323 セント # SQUARE SENTO +3324 ダース # SQUARE DAASU +3325 デシ # SQUARE DESI +3326 ドル # SQUARE DORU +3327 トン # SQUARE TON +3328 ナノ # SQUARE NANO +3329 ノット # SQUARE NOTTO +332A ハイツ # SQUARE HAITU +332B パーセント # SQUARE PAASENTO +332C パーツ # SQUARE PAATU +332D バーレル # SQUARE BAARERU +332E ピアストル # SQUARE PIASUTORU +332F ピクル # SQUARE PIKURU +3330 ピコ # SQUARE PIKO +3331 ビル # SQUARE BIRU +3332 ファラッド # SQUARE HUARADDO +3333 フィート # SQUARE HUIITO +3334 ブッシェル # SQUARE BUSSYERU +3335 フラン # SQUARE HURAN +3336 ヘクタール # SQUARE HEKUTAARU +3337 ペソ # SQUARE PESO +3338 ペニヒ # SQUARE PENIHI +3339 ヘルツ # SQUARE HERUTU +333A ペンス # SQUARE PENSU +333B ページ # SQUARE PEEZI +333C ベータ # SQUARE BEETA +333D ポイント # SQUARE POINTO +333E ボルト # SQUARE BORUTO +333F ホン # SQUARE HON +3340 ポンド # SQUARE PONDO +3341 ホール # SQUARE HOORU +3342 ホーン # SQUARE HOON +3343 マイクロ # SQUARE MAIKURO +3344 マイル # SQUARE MAIRU +3345 マッハ # SQUARE MAHHA +3346 マルク # SQUARE MARUKU +3347 マンション # SQUARE MANSYON +3348 ミクロン # SQUARE MIKURON +3349 ミリ # SQUARE MIRI +334A ミリバール # SQUARE MIRIBAARU +334B メガ # SQUARE MEGA +334C メガトン # SQUARE MEGATON +334D メートル # SQUARE MEETORU +334E ヤード # SQUARE YAADO +334F ヤール # SQUARE YAARU +3350 ユアン # SQUARE YUAN +3351 リットル # SQUARE RITTORU +3352 リラ # SQUARE RIRA +3353 ルピー # SQUARE RUPII +3354 ルーブル # SQUARE RUUBURU +3355 レム # SQUARE REMU +3356 レントゲン # SQUARE RENTOGEN +3357 ワット # SQUARE WATTO +3358 0点 # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ZERO +3359 1点 # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ONE +335A 2点 # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWO +335B 3点 # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THREE +335C 4点 # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOUR +335D 5点 # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIVE +335E 6点 # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIX +335F 7点 # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVEN +3360 8点 # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHT +3361 9点 # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINE +3362 10点 # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TEN +3363 11点 # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ELEVEN +3364 12点 # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWELVE +3365 13点 # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THIRTEEN +3366 14点 # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOURTEEN +3367 15点 # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIFTEEN +3368 16点 # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIXTEEN +3369 17点 # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVENTEEN +336A 18点 # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHTEEN +336B 19点 # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINETEEN +336C 20点 # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY +336D 21点 # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-ONE +336E 22点 # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-TWO +336F 23点 # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-THREE +3370 24点 # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-FOUR +3371 hPa # SQUARE HPA +3372 da # SQUARE DA +3373 AU # SQUARE AU +3374 bar # SQUARE BAR +3375 oV # SQUARE OV +3376 pc # SQUARE PC +3377 dm # SQUARE DM +3378 dm^2 # SQUARE DM SQUARED +3379 dm^3 # SQUARE DM CUBED +337A IU # SQUARE IU +337B 平成 # SQUARE ERA NAME HEISEI +337C 昭和 # SQUARE ERA NAME SYOUWA +337D 大正 # SQUARE ERA NAME TAISYOU +337E 明治 # SQUARE ERA NAME MEIZI +337F 株式会社 # SQUARE CORPORATION +3380 pA # SQUARE PA AMPS +3381 nA # SQUARE NA +3382 μA # SQUARE MU A +3383 mA # SQUARE MA +3384 kA # SQUARE KA +3385 KB # SQUARE KB +3386 MB # SQUARE MB +3387 GB # SQUARE GB +3388 cal # SQUARE CAL +3389 kcal # SQUARE KCAL +338A pF # SQUARE PF +338B nF # SQUARE NF +338C μF # SQUARE MU F +338D μg # SQUARE MU G +338E mg # SQUARE MG +338F kg # SQUARE KG +3390 Hz # SQUARE HZ +3391 kHz # SQUARE KHZ +3392 MHz # SQUARE MHZ +3393 GHz # SQUARE GHZ +3394 THz # SQUARE THZ +3395 μl # SQUARE MU L +3396 ml # SQUARE ML +3397 dl # SQUARE DL +3398 kl # SQUARE KL +3399 fm # SQUARE FM +339A nm # SQUARE NM +339B μm # SQUARE MU M +339C mm # SQUARE MM +339D cm # SQUARE CM +339E km # SQUARE KM +339F mm^2 # SQUARE MM SQUARED +33A0 cm^2 # SQUARE CM SQUARED +33A1 m^2 # SQUARE M SQUARED +33A2 km^2 # SQUARE KM SQUARED +33A3 mm^3 # SQUARE MM CUBED +33A4 cm^3 # SQUARE CM CUBED +33A5 m^3 # SQUARE M CUBED +33A6 km^3 # SQUARE KM CUBED +33A7 m/s # SQUARE M OVER S +33A8 m/s^2 # SQUARE M OVER S SQUARED +33A9 Pa # SQUARE PA +33AA kPa # SQUARE KPA +33AB MPa # SQUARE MPA +33AC GPa # SQUARE GPA +33AD rad # SQUARE RAD +33AE rad/s # SQUARE RAD OVER S +33AF rad/s^2 # SQUARE RAD OVER S SQUARED +33B0 ps # SQUARE PS +33B1 ns # SQUARE NS +33B2 μs # SQUARE MU S +33B3 ms # SQUARE MS +33B4 pV # SQUARE PV +33B5 nV # SQUARE NV +33B6 μV # SQUARE MU V +33B7 mV # SQUARE MV +33B8 kV # SQUARE KV +33B9 MV # SQUARE MV MEGA +33BA pW # SQUARE PW +33BB nW # SQUARE NW +33BC μW # SQUARE MU W +33BD mW # SQUARE MW +33BE kW # SQUARE KW +33BF MW # SQUARE MW MEGA +33C0 kΩ # SQUARE K OHM +33C1 MΩ # SQUARE M OHM +33C2 a.m. # SQUARE AM +33C3 Bq # SQUARE BQ +33C4 cc # SQUARE CC +33C5 cd # SQUARE CD +33C6 C/kg # SQUARE C OVER KG +33C7 Co. # SQUARE CO +33C8 dB # SQUARE DB +33C9 Gy # SQUARE GY +33CA ha # SQUARE HA +33CB HP # SQUARE HP +33CC in # SQUARE IN +33CD KK # SQUARE KK +33CE KM # SQUARE KM CAPITAL +33CF kt # SQUARE KT +33D0 lm # SQUARE LM +33D1 ln # SQUARE LN +33D2 log # SQUARE LOG +33D3 lx # SQUARE LX +33D4 mb # SQUARE MB SMALL +33D5 mil # SQUARE MIL +33D6 mol # SQUARE MOL +33D7 PH # SQUARE PH +33D8 p.m. # SQUARE PM +33D9 PPM # SQUARE PPM +33DA PR # SQUARE PR +33DB sr # SQUARE SR +33DC Sv # SQUARE SV +33DD Wb # SQUARE WB +33DE V/m # SQUARE V OVER M +33DF A/m # SQUARE A OVER M +33E0 1日 # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ONE +33E1 2日 # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWO +33E2 3日 # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THREE +33E3 4日 # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOUR +33E4 5日 # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIVE +33E5 6日 # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIX +33E6 7日 # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVEN +33E7 8日 # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHT +33E8 9日 # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINE +33E9 10日 # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TEN +33EA 11日 # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ELEVEN +33EB 12日 # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWELVE +33EC 13日 # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTEEN +33ED 14日 # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOURTEEN +33EE 15日 # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIFTEEN +33EF 16日 # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIXTEEN +33F0 17日 # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVENTEEN +33F1 18日 # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHTEEN +33F2 19日 # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINETEEN +33F3 20日 # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY +33F4 21日 # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-ONE +33F5 22日 # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-TWO +33F6 23日 # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-THREE +33F7 24日 # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FOUR +33F8 25日 # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FIVE +33F9 26日 # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SIX +33FA 27日 # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SEVEN +33FB 28日 # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-EIGHT +33FC 29日 # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-NINE +33FD 30日 # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY +33FE 31日 # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY-ONE +33FF gal # SQUARE GAL +F900 豈 # CJK COMPATIBILITY IDEOGRAPH-F900 +F901 更 # CJK COMPATIBILITY IDEOGRAPH-F901 +F902 車 # CJK COMPATIBILITY IDEOGRAPH-F902 +F903 賈 # CJK COMPATIBILITY IDEOGRAPH-F903 +F904 滑 # CJK COMPATIBILITY IDEOGRAPH-F904 +F905 串 # CJK COMPATIBILITY IDEOGRAPH-F905 +F906 句 # CJK COMPATIBILITY IDEOGRAPH-F906 +F907 龜 # CJK COMPATIBILITY IDEOGRAPH-F907 +F908 龜 # CJK COMPATIBILITY IDEOGRAPH-F908 +F909 契 # CJK COMPATIBILITY IDEOGRAPH-F909 +F90A 金 # CJK COMPATIBILITY IDEOGRAPH-F90A +F90B 喇 # CJK COMPATIBILITY IDEOGRAPH-F90B +F90C 奈 # CJK COMPATIBILITY IDEOGRAPH-F90C +F90D 懶 # CJK COMPATIBILITY IDEOGRAPH-F90D +F90E 癩 # CJK COMPATIBILITY IDEOGRAPH-F90E +F90F 羅 # CJK COMPATIBILITY IDEOGRAPH-F90F +F910 蘿 # CJK COMPATIBILITY IDEOGRAPH-F910 +F911 螺 # CJK COMPATIBILITY IDEOGRAPH-F911 +F912 裸 # CJK COMPATIBILITY IDEOGRAPH-F912 +F913 邏 # CJK COMPATIBILITY IDEOGRAPH-F913 +F914 樂 # CJK COMPATIBILITY IDEOGRAPH-F914 +F915 洛 # CJK COMPATIBILITY IDEOGRAPH-F915 +F916 烙 # CJK COMPATIBILITY IDEOGRAPH-F916 +F917 珞 # CJK COMPATIBILITY IDEOGRAPH-F917 +F918 落 # CJK COMPATIBILITY IDEOGRAPH-F918 +F919 酪 # CJK COMPATIBILITY IDEOGRAPH-F919 +F91A 駱 # CJK COMPATIBILITY IDEOGRAPH-F91A +F91B 亂 # CJK COMPATIBILITY IDEOGRAPH-F91B +F91C 卵 # CJK COMPATIBILITY IDEOGRAPH-F91C +F91D 欄 # CJK COMPATIBILITY IDEOGRAPH-F91D +F91E 爛 # CJK COMPATIBILITY IDEOGRAPH-F91E +F91F 蘭 # CJK COMPATIBILITY IDEOGRAPH-F91F +F920 鸞 # CJK COMPATIBILITY IDEOGRAPH-F920 +F921 嵐 # CJK COMPATIBILITY IDEOGRAPH-F921 +F922 濫 # CJK COMPATIBILITY IDEOGRAPH-F922 +F923 藍 # CJK COMPATIBILITY IDEOGRAPH-F923 +F924 襤 # CJK COMPATIBILITY IDEOGRAPH-F924 +F925 拉 # CJK COMPATIBILITY IDEOGRAPH-F925 +F926 臘 # CJK COMPATIBILITY IDEOGRAPH-F926 +F927 蠟 # CJK COMPATIBILITY IDEOGRAPH-F927 +F928 廊 # CJK COMPATIBILITY IDEOGRAPH-F928 +F929 朗 # CJK COMPATIBILITY IDEOGRAPH-F929 +F92A 浪 # CJK COMPATIBILITY IDEOGRAPH-F92A +F92B 狼 # CJK COMPATIBILITY IDEOGRAPH-F92B +F92C 郎 # CJK COMPATIBILITY IDEOGRAPH-F92C +F92D 來 # CJK COMPATIBILITY IDEOGRAPH-F92D +F92E 冷 # CJK COMPATIBILITY IDEOGRAPH-F92E +F92F 勞 # CJK COMPATIBILITY IDEOGRAPH-F92F +F930 擄 # CJK COMPATIBILITY IDEOGRAPH-F930 +F931 櫓 # CJK COMPATIBILITY IDEOGRAPH-F931 +F932 爐 # CJK COMPATIBILITY IDEOGRAPH-F932 +F933 盧 # CJK COMPATIBILITY IDEOGRAPH-F933 +F934 老 # CJK COMPATIBILITY IDEOGRAPH-F934 +F935 蘆 # CJK COMPATIBILITY IDEOGRAPH-F935 +F936 虜 # CJK COMPATIBILITY IDEOGRAPH-F936 +F937 路 # CJK COMPATIBILITY IDEOGRAPH-F937 +F938 露 # CJK COMPATIBILITY IDEOGRAPH-F938 +F939 魯 # CJK COMPATIBILITY IDEOGRAPH-F939 +F93A 鷺 # CJK COMPATIBILITY IDEOGRAPH-F93A +F93B 碌 # CJK COMPATIBILITY IDEOGRAPH-F93B +F93C 祿 # CJK COMPATIBILITY IDEOGRAPH-F93C +F93D 綠 # CJK COMPATIBILITY IDEOGRAPH-F93D +F93E 菉 # CJK COMPATIBILITY IDEOGRAPH-F93E +F93F 錄 # CJK COMPATIBILITY IDEOGRAPH-F93F +F940 鹿 # CJK COMPATIBILITY IDEOGRAPH-F940 +F941 論 # CJK COMPATIBILITY IDEOGRAPH-F941 +F942 壟 # CJK COMPATIBILITY IDEOGRAPH-F942 +F943 弄 # CJK COMPATIBILITY IDEOGRAPH-F943 +F944 籠 # CJK COMPATIBILITY IDEOGRAPH-F944 +F945 聾 # CJK COMPATIBILITY IDEOGRAPH-F945 +F946 牢 # CJK COMPATIBILITY IDEOGRAPH-F946 +F947 磊 # CJK COMPATIBILITY IDEOGRAPH-F947 +F948 賂 # CJK COMPATIBILITY IDEOGRAPH-F948 +F949 雷 # CJK COMPATIBILITY IDEOGRAPH-F949 +F94A 壘 # CJK COMPATIBILITY IDEOGRAPH-F94A +F94B 屢 # CJK COMPATIBILITY IDEOGRAPH-F94B +F94C 樓 # CJK COMPATIBILITY IDEOGRAPH-F94C +F94D 淚 # CJK COMPATIBILITY IDEOGRAPH-F94D +F94E 漏 # CJK COMPATIBILITY IDEOGRAPH-F94E +F94F 累 # CJK COMPATIBILITY IDEOGRAPH-F94F +F950 縷 # CJK COMPATIBILITY IDEOGRAPH-F950 +F951 陋 # CJK COMPATIBILITY IDEOGRAPH-F951 +F952 勒 # CJK COMPATIBILITY IDEOGRAPH-F952 +F953 肋 # CJK COMPATIBILITY IDEOGRAPH-F953 +F954 凜 # CJK COMPATIBILITY IDEOGRAPH-F954 +F955 凌 # CJK COMPATIBILITY IDEOGRAPH-F955 +F956 稜 # CJK COMPATIBILITY IDEOGRAPH-F956 +F957 綾 # CJK COMPATIBILITY IDEOGRAPH-F957 +F958 菱 # CJK COMPATIBILITY IDEOGRAPH-F958 +F959 陵 # CJK COMPATIBILITY IDEOGRAPH-F959 +F95A 讀 # CJK COMPATIBILITY IDEOGRAPH-F95A +F95B 拏 # CJK COMPATIBILITY IDEOGRAPH-F95B +F95C 樂 # CJK COMPATIBILITY IDEOGRAPH-F95C +F95D 諾 # CJK COMPATIBILITY IDEOGRAPH-F95D +F95E 丹 # CJK COMPATIBILITY IDEOGRAPH-F95E +F95F 寧 # CJK COMPATIBILITY IDEOGRAPH-F95F +F960 怒 # CJK COMPATIBILITY IDEOGRAPH-F960 +F961 率 # CJK COMPATIBILITY IDEOGRAPH-F961 +F962 異 # CJK COMPATIBILITY IDEOGRAPH-F962 +F963 北 # CJK COMPATIBILITY IDEOGRAPH-F963 +F964 磻 # CJK COMPATIBILITY IDEOGRAPH-F964 +F965 便 # CJK COMPATIBILITY IDEOGRAPH-F965 +F966 復 # CJK COMPATIBILITY IDEOGRAPH-F966 +F967 不 # CJK COMPATIBILITY IDEOGRAPH-F967 +F968 泌 # CJK COMPATIBILITY IDEOGRAPH-F968 +F969 數 # CJK COMPATIBILITY IDEOGRAPH-F969 +F96A 索 # CJK COMPATIBILITY IDEOGRAPH-F96A +F96B 參 # CJK COMPATIBILITY IDEOGRAPH-F96B +F96C 塞 # CJK COMPATIBILITY IDEOGRAPH-F96C +F96D 省 # CJK COMPATIBILITY IDEOGRAPH-F96D +F96E 葉 # CJK COMPATIBILITY IDEOGRAPH-F96E +F96F 說 # CJK COMPATIBILITY IDEOGRAPH-F96F +F970 殺 # CJK COMPATIBILITY IDEOGRAPH-F970 +F971 辰 # CJK COMPATIBILITY IDEOGRAPH-F971 +F972 沈 # CJK COMPATIBILITY IDEOGRAPH-F972 +F973 拾 # CJK COMPATIBILITY IDEOGRAPH-F973 +F974 若 # CJK COMPATIBILITY IDEOGRAPH-F974 +F975 掠 # CJK COMPATIBILITY IDEOGRAPH-F975 +F976 略 # CJK COMPATIBILITY IDEOGRAPH-F976 +F977 亮 # CJK COMPATIBILITY IDEOGRAPH-F977 +F978 兩 # CJK COMPATIBILITY IDEOGRAPH-F978 +F979 凉 # CJK COMPATIBILITY IDEOGRAPH-F979 +F97A 梁 # CJK COMPATIBILITY IDEOGRAPH-F97A +F97B 糧 # CJK COMPATIBILITY IDEOGRAPH-F97B +F97C 良 # CJK COMPATIBILITY IDEOGRAPH-F97C +F97D 諒 # CJK COMPATIBILITY IDEOGRAPH-F97D +F97E 量 # CJK COMPATIBILITY IDEOGRAPH-F97E +F97F 勵 # CJK COMPATIBILITY IDEOGRAPH-F97F +F980 呂 # CJK COMPATIBILITY IDEOGRAPH-F980 +F981 女 # CJK COMPATIBILITY IDEOGRAPH-F981 +F982 廬 # CJK COMPATIBILITY IDEOGRAPH-F982 +F983 旅 # CJK COMPATIBILITY IDEOGRAPH-F983 +F984 濾 # CJK COMPATIBILITY IDEOGRAPH-F984 +F985 礪 # CJK COMPATIBILITY IDEOGRAPH-F985 +F986 閭 # CJK COMPATIBILITY IDEOGRAPH-F986 +F987 驪 # CJK COMPATIBILITY IDEOGRAPH-F987 +F988 麗 # CJK COMPATIBILITY IDEOGRAPH-F988 +F989 黎 # CJK COMPATIBILITY IDEOGRAPH-F989 +F98A 力 # CJK COMPATIBILITY IDEOGRAPH-F98A +F98B 曆 # CJK COMPATIBILITY IDEOGRAPH-F98B +F98C 歷 # CJK COMPATIBILITY IDEOGRAPH-F98C +F98D 轢 # CJK COMPATIBILITY IDEOGRAPH-F98D +F98E 年 # CJK COMPATIBILITY IDEOGRAPH-F98E +F98F 憐 # CJK COMPATIBILITY IDEOGRAPH-F98F +F990 戀 # CJK COMPATIBILITY IDEOGRAPH-F990 +F991 撚 # CJK COMPATIBILITY IDEOGRAPH-F991 +F992 漣 # CJK COMPATIBILITY IDEOGRAPH-F992 +F993 煉 # CJK COMPATIBILITY IDEOGRAPH-F993 +F994 璉 # CJK COMPATIBILITY IDEOGRAPH-F994 +F995 秊 # CJK COMPATIBILITY IDEOGRAPH-F995 +F996 練 # CJK COMPATIBILITY IDEOGRAPH-F996 +F997 聯 # CJK COMPATIBILITY IDEOGRAPH-F997 +F998 輦 # CJK COMPATIBILITY IDEOGRAPH-F998 +F999 蓮 # CJK COMPATIBILITY IDEOGRAPH-F999 +F99A 連 # CJK COMPATIBILITY IDEOGRAPH-F99A +F99B 鍊 # CJK COMPATIBILITY IDEOGRAPH-F99B +F99C 列 # CJK COMPATIBILITY IDEOGRAPH-F99C +F99D 劣 # CJK COMPATIBILITY IDEOGRAPH-F99D +F99E 咽 # CJK COMPATIBILITY IDEOGRAPH-F99E +F99F 烈 # CJK COMPATIBILITY IDEOGRAPH-F99F +F9A0 裂 # CJK COMPATIBILITY IDEOGRAPH-F9A0 +F9A1 說 # CJK COMPATIBILITY IDEOGRAPH-F9A1 +F9A2 廉 # CJK COMPATIBILITY IDEOGRAPH-F9A2 +F9A3 念 # CJK COMPATIBILITY IDEOGRAPH-F9A3 +F9A4 捻 # CJK COMPATIBILITY IDEOGRAPH-F9A4 +F9A5 殮 # CJK COMPATIBILITY IDEOGRAPH-F9A5 +F9A6 簾 # CJK COMPATIBILITY IDEOGRAPH-F9A6 +F9A7 獵 # CJK COMPATIBILITY IDEOGRAPH-F9A7 +F9A8 令 # CJK COMPATIBILITY IDEOGRAPH-F9A8 +F9A9 囹 # CJK COMPATIBILITY IDEOGRAPH-F9A9 +F9AA 寧 # CJK COMPATIBILITY IDEOGRAPH-F9AA +F9AB 嶺 # CJK COMPATIBILITY IDEOGRAPH-F9AB +F9AC 怜 # CJK COMPATIBILITY IDEOGRAPH-F9AC +F9AD 玲 # CJK COMPATIBILITY IDEOGRAPH-F9AD +F9AE 瑩 # CJK COMPATIBILITY IDEOGRAPH-F9AE +F9AF 羚 # CJK COMPATIBILITY IDEOGRAPH-F9AF +F9B0 聆 # CJK COMPATIBILITY IDEOGRAPH-F9B0 +F9B1 鈴 # CJK COMPATIBILITY IDEOGRAPH-F9B1 +F9B2 零 # CJK COMPATIBILITY IDEOGRAPH-F9B2 +F9B3 靈 # CJK COMPATIBILITY IDEOGRAPH-F9B3 +F9B4 領 # CJK COMPATIBILITY IDEOGRAPH-F9B4 +F9B5 例 # CJK COMPATIBILITY IDEOGRAPH-F9B5 +F9B6 禮 # CJK COMPATIBILITY IDEOGRAPH-F9B6 +F9B7 醴 # CJK COMPATIBILITY IDEOGRAPH-F9B7 +F9B8 隸 # CJK COMPATIBILITY IDEOGRAPH-F9B8 +F9B9 惡 # CJK COMPATIBILITY IDEOGRAPH-F9B9 +F9BA 了 # CJK COMPATIBILITY IDEOGRAPH-F9BA +F9BB 僚 # CJK COMPATIBILITY IDEOGRAPH-F9BB +F9BC 寮 # CJK COMPATIBILITY IDEOGRAPH-F9BC +F9BD 尿 # CJK COMPATIBILITY IDEOGRAPH-F9BD +F9BE 料 # CJK COMPATIBILITY IDEOGRAPH-F9BE +F9BF 樂 # CJK COMPATIBILITY IDEOGRAPH-F9BF +F9C0 燎 # CJK COMPATIBILITY IDEOGRAPH-F9C0 +F9C1 療 # CJK COMPATIBILITY IDEOGRAPH-F9C1 +F9C2 蓼 # CJK COMPATIBILITY IDEOGRAPH-F9C2 +F9C3 遼 # CJK COMPATIBILITY IDEOGRAPH-F9C3 +F9C4 龍 # CJK COMPATIBILITY IDEOGRAPH-F9C4 +F9C5 暈 # CJK COMPATIBILITY IDEOGRAPH-F9C5 +F9C6 阮 # CJK COMPATIBILITY IDEOGRAPH-F9C6 +F9C7 劉 # CJK COMPATIBILITY IDEOGRAPH-F9C7 +F9C8 杻 # CJK COMPATIBILITY IDEOGRAPH-F9C8 +F9C9 柳 # CJK COMPATIBILITY IDEOGRAPH-F9C9 +F9CA 流 # CJK COMPATIBILITY IDEOGRAPH-F9CA +F9CB 溜 # CJK COMPATIBILITY IDEOGRAPH-F9CB +F9CC 琉 # CJK COMPATIBILITY IDEOGRAPH-F9CC +F9CD 留 # CJK COMPATIBILITY IDEOGRAPH-F9CD +F9CE 硫 # CJK COMPATIBILITY IDEOGRAPH-F9CE +F9CF 紐 # CJK COMPATIBILITY IDEOGRAPH-F9CF +F9D0 類 # CJK COMPATIBILITY IDEOGRAPH-F9D0 +F9D1 六 # CJK COMPATIBILITY IDEOGRAPH-F9D1 +F9D2 戮 # CJK COMPATIBILITY IDEOGRAPH-F9D2 +F9D3 陸 # CJK COMPATIBILITY IDEOGRAPH-F9D3 +F9D4 倫 # CJK COMPATIBILITY IDEOGRAPH-F9D4 +F9D5 崙 # CJK COMPATIBILITY IDEOGRAPH-F9D5 +F9D6 淪 # CJK COMPATIBILITY IDEOGRAPH-F9D6 +F9D7 輪 # CJK COMPATIBILITY IDEOGRAPH-F9D7 +F9D8 律 # CJK COMPATIBILITY IDEOGRAPH-F9D8 +F9D9 慄 # CJK COMPATIBILITY IDEOGRAPH-F9D9 +F9DA 栗 # CJK COMPATIBILITY IDEOGRAPH-F9DA +F9DB 率 # CJK COMPATIBILITY IDEOGRAPH-F9DB +F9DC 隆 # CJK COMPATIBILITY IDEOGRAPH-F9DC +F9DD 利 # CJK COMPATIBILITY IDEOGRAPH-F9DD +F9DE 吏 # CJK COMPATIBILITY IDEOGRAPH-F9DE +F9DF 履 # CJK COMPATIBILITY IDEOGRAPH-F9DF +F9E0 易 # CJK COMPATIBILITY IDEOGRAPH-F9E0 +F9E1 李 # CJK COMPATIBILITY IDEOGRAPH-F9E1 +F9E2 梨 # CJK COMPATIBILITY IDEOGRAPH-F9E2 +F9E3 泥 # CJK COMPATIBILITY IDEOGRAPH-F9E3 +F9E4 理 # CJK COMPATIBILITY IDEOGRAPH-F9E4 +F9E5 痢 # CJK COMPATIBILITY IDEOGRAPH-F9E5 +F9E6 罹 # CJK COMPATIBILITY IDEOGRAPH-F9E6 +F9E7 裏 # CJK COMPATIBILITY IDEOGRAPH-F9E7 +F9E8 裡 # CJK COMPATIBILITY IDEOGRAPH-F9E8 +F9E9 里 # CJK COMPATIBILITY IDEOGRAPH-F9E9 +F9EA 離 # CJK COMPATIBILITY IDEOGRAPH-F9EA +F9EB 匿 # CJK COMPATIBILITY IDEOGRAPH-F9EB +F9EC 溺 # CJK COMPATIBILITY IDEOGRAPH-F9EC +F9ED 吝 # CJK COMPATIBILITY IDEOGRAPH-F9ED +F9EE 燐 # CJK COMPATIBILITY IDEOGRAPH-F9EE +F9EF 璘 # CJK COMPATIBILITY IDEOGRAPH-F9EF +F9F0 藺 # CJK COMPATIBILITY IDEOGRAPH-F9F0 +F9F1 隣 # CJK COMPATIBILITY IDEOGRAPH-F9F1 +F9F2 鱗 # CJK COMPATIBILITY IDEOGRAPH-F9F2 +F9F3 麟 # CJK COMPATIBILITY IDEOGRAPH-F9F3 +F9F4 林 # CJK COMPATIBILITY IDEOGRAPH-F9F4 +F9F5 淋 # CJK COMPATIBILITY IDEOGRAPH-F9F5 +F9F6 臨 # CJK COMPATIBILITY IDEOGRAPH-F9F6 +F9F7 立 # CJK COMPATIBILITY IDEOGRAPH-F9F7 +F9F8 笠 # CJK COMPATIBILITY IDEOGRAPH-F9F8 +F9F9 粒 # CJK COMPATIBILITY IDEOGRAPH-F9F9 +F9FA 狀 # CJK COMPATIBILITY IDEOGRAPH-F9FA +F9FB 炙 # CJK COMPATIBILITY IDEOGRAPH-F9FB +F9FC 識 # CJK COMPATIBILITY IDEOGRAPH-F9FC +F9FD 什 # CJK COMPATIBILITY IDEOGRAPH-F9FD +F9FE 茶 # CJK COMPATIBILITY IDEOGRAPH-F9FE +F9FF 刺 # CJK COMPATIBILITY IDEOGRAPH-F9FF +FA00 切 # CJK COMPATIBILITY IDEOGRAPH-FA00 +FA01 度 # CJK COMPATIBILITY IDEOGRAPH-FA01 +FA02 拓 # CJK COMPATIBILITY IDEOGRAPH-FA02 +FA03 糖 # CJK COMPATIBILITY IDEOGRAPH-FA03 +FA04 宅 # CJK COMPATIBILITY IDEOGRAPH-FA04 +FA05 洞 # CJK COMPATIBILITY IDEOGRAPH-FA05 +FA06 暴 # CJK COMPATIBILITY IDEOGRAPH-FA06 +FA07 輻 # CJK COMPATIBILITY IDEOGRAPH-FA07 +FA08 行 # CJK COMPATIBILITY IDEOGRAPH-FA08 +FA09 降 # CJK COMPATIBILITY IDEOGRAPH-FA09 +FA0A 見 # CJK COMPATIBILITY IDEOGRAPH-FA0A +FA0B 廓 # CJK COMPATIBILITY IDEOGRAPH-FA0B +FA0C 兀 # CJK COMPATIBILITY IDEOGRAPH-FA0C +FA0D 嗀 # CJK COMPATIBILITY IDEOGRAPH-FA0D +FA10 塚 # CJK COMPATIBILITY IDEOGRAPH-FA10 +FA12 晴 # CJK COMPATIBILITY IDEOGRAPH-FA12 +FA15 凞 # CJK COMPATIBILITY IDEOGRAPH-FA15 +FA16 猪 # CJK COMPATIBILITY IDEOGRAPH-FA16 +FA17 益 # CJK COMPATIBILITY IDEOGRAPH-FA17 +FA18 礼 # CJK COMPATIBILITY IDEOGRAPH-FA18 +FA19 神 # CJK COMPATIBILITY IDEOGRAPH-FA19 +FA1A 祥 # CJK COMPATIBILITY IDEOGRAPH-FA1A +FA1B 福 # CJK COMPATIBILITY IDEOGRAPH-FA1B +FA1C 靖 # CJK COMPATIBILITY IDEOGRAPH-FA1C +FA1D 精 # CJK COMPATIBILITY IDEOGRAPH-FA1D +FA1E 羽 # CJK COMPATIBILITY IDEOGRAPH-FA1E +FA20 蘒 # CJK COMPATIBILITY IDEOGRAPH-FA20 +FA22 諸 # CJK COMPATIBILITY IDEOGRAPH-FA22 +FA25 逸 # CJK COMPATIBILITY IDEOGRAPH-FA25 +FA26 都 # CJK COMPATIBILITY IDEOGRAPH-FA26 +FA2A 飯 # CJK COMPATIBILITY IDEOGRAPH-FA2A +FA2B 飼 # CJK COMPATIBILITY IDEOGRAPH-FA2B +FA2C 館 # CJK COMPATIBILITY IDEOGRAPH-FA2C +FA2D 鶴 # CJK COMPATIBILITY IDEOGRAPH-FA2D +FA2E 郞 # CJK COMPATIBILITY IDEOGRAPH-FA2E +FA2F 隷 # CJK COMPATIBILITY IDEOGRAPH-FA2F +FA30 侮 # CJK COMPATIBILITY IDEOGRAPH-FA30 +FA31 僧 # CJK COMPATIBILITY IDEOGRAPH-FA31 +FA32 免 # CJK COMPATIBILITY IDEOGRAPH-FA32 +FA33 勉 # CJK COMPATIBILITY IDEOGRAPH-FA33 +FA34 勤 # CJK COMPATIBILITY IDEOGRAPH-FA34 +FA35 卑 # CJK COMPATIBILITY IDEOGRAPH-FA35 +FA36 喝 # CJK COMPATIBILITY IDEOGRAPH-FA36 +FA37 嘆 # CJK COMPATIBILITY IDEOGRAPH-FA37 +FA38 器 # CJK COMPATIBILITY IDEOGRAPH-FA38 +FA39 塀 # CJK COMPATIBILITY IDEOGRAPH-FA39 +FA3A 墨 # CJK COMPATIBILITY IDEOGRAPH-FA3A +FA3B 層 # CJK COMPATIBILITY IDEOGRAPH-FA3B +FA3C 屮 # CJK COMPATIBILITY IDEOGRAPH-FA3C +FA3D 悔 # CJK COMPATIBILITY IDEOGRAPH-FA3D +FA3E 慨 # CJK COMPATIBILITY IDEOGRAPH-FA3E +FA3F 憎 # CJK COMPATIBILITY IDEOGRAPH-FA3F +FA40 懲 # CJK COMPATIBILITY IDEOGRAPH-FA40 +FA41 敏 # CJK COMPATIBILITY IDEOGRAPH-FA41 +FA42 既 # CJK COMPATIBILITY IDEOGRAPH-FA42 +FA43 暑 # CJK COMPATIBILITY IDEOGRAPH-FA43 +FA44 梅 # CJK COMPATIBILITY IDEOGRAPH-FA44 +FA45 海 # CJK COMPATIBILITY IDEOGRAPH-FA45 +FA46 渚 # CJK COMPATIBILITY IDEOGRAPH-FA46 +FA47 漢 # CJK COMPATIBILITY IDEOGRAPH-FA47 +FA48 煮 # CJK COMPATIBILITY IDEOGRAPH-FA48 +FA49 爫 # CJK COMPATIBILITY IDEOGRAPH-FA49 +FA4A 琢 # CJK COMPATIBILITY IDEOGRAPH-FA4A +FA4B 碑 # CJK COMPATIBILITY IDEOGRAPH-FA4B +FA4C 社 # CJK COMPATIBILITY IDEOGRAPH-FA4C +FA4D 祉 # CJK COMPATIBILITY IDEOGRAPH-FA4D +FA4E 祈 # CJK COMPATIBILITY IDEOGRAPH-FA4E +FA4F 祐 # CJK COMPATIBILITY IDEOGRAPH-FA4F +FA50 祖 # CJK COMPATIBILITY IDEOGRAPH-FA50 +FA51 祝 # CJK COMPATIBILITY IDEOGRAPH-FA51 +FA52 禍 # CJK COMPATIBILITY IDEOGRAPH-FA52 +FA53 禎 # CJK COMPATIBILITY IDEOGRAPH-FA53 +FA54 穀 # CJK COMPATIBILITY IDEOGRAPH-FA54 +FA55 突 # CJK COMPATIBILITY IDEOGRAPH-FA55 +FA56 節 # CJK COMPATIBILITY IDEOGRAPH-FA56 +FA57 練 # CJK COMPATIBILITY IDEOGRAPH-FA57 +FA58 縉 # CJK COMPATIBILITY IDEOGRAPH-FA58 +FA59 繁 # CJK COMPATIBILITY IDEOGRAPH-FA59 +FA5A 署 # CJK COMPATIBILITY IDEOGRAPH-FA5A +FA5B 者 # CJK COMPATIBILITY IDEOGRAPH-FA5B +FA5C 臭 # CJK COMPATIBILITY IDEOGRAPH-FA5C +FA5D 艹 # CJK COMPATIBILITY IDEOGRAPH-FA5D +FA5E 艹 # CJK COMPATIBILITY IDEOGRAPH-FA5E +FA5F 著 # CJK COMPATIBILITY IDEOGRAPH-FA5F +FA60 褐 # CJK COMPATIBILITY IDEOGRAPH-FA60 +FA61 視 # CJK COMPATIBILITY IDEOGRAPH-FA61 +FA62 謁 # CJK COMPATIBILITY IDEOGRAPH-FA62 +FA63 謹 # CJK COMPATIBILITY IDEOGRAPH-FA63 +FA64 賓 # CJK COMPATIBILITY IDEOGRAPH-FA64 +FA65 贈 # CJK COMPATIBILITY IDEOGRAPH-FA65 +FA66 辶 # CJK COMPATIBILITY IDEOGRAPH-FA66 +FA67 逸 # CJK COMPATIBILITY IDEOGRAPH-FA67 +FA68 難 # CJK COMPATIBILITY IDEOGRAPH-FA68 +FA69 響 # CJK COMPATIBILITY IDEOGRAPH-FA69 +FA6A 頻 # CJK COMPATIBILITY IDEOGRAPH-FA6A +FA6B 恵 # CJK COMPATIBILITY IDEOGRAPH-FA6B +FA6C 𤋮 # CJK COMPATIBILITY IDEOGRAPH-FA6C +FA6D 舘 # CJK COMPATIBILITY IDEOGRAPH-FA6D +FA70 並 # CJK COMPATIBILITY IDEOGRAPH-FA70 +FA71 况 # CJK COMPATIBILITY IDEOGRAPH-FA71 +FA72 全 # CJK COMPATIBILITY IDEOGRAPH-FA72 +FA73 侀 # CJK COMPATIBILITY IDEOGRAPH-FA73 +FA74 充 # CJK COMPATIBILITY IDEOGRAPH-FA74 +FA75 冀 # CJK COMPATIBILITY IDEOGRAPH-FA75 +FA76 勇 # CJK COMPATIBILITY IDEOGRAPH-FA76 +FA77 勺 # CJK COMPATIBILITY IDEOGRAPH-FA77 +FA78 喝 # CJK COMPATIBILITY IDEOGRAPH-FA78 +FA79 啕 # CJK COMPATIBILITY IDEOGRAPH-FA79 +FA7A 喙 # CJK COMPATIBILITY IDEOGRAPH-FA7A +FA7B 嗢 # CJK COMPATIBILITY IDEOGRAPH-FA7B +FA7C 塚 # CJK COMPATIBILITY IDEOGRAPH-FA7C +FA7D 墳 # CJK COMPATIBILITY IDEOGRAPH-FA7D +FA7E 奄 # CJK COMPATIBILITY IDEOGRAPH-FA7E +FA7F 奔 # CJK COMPATIBILITY IDEOGRAPH-FA7F +FA80 婢 # CJK COMPATIBILITY IDEOGRAPH-FA80 +FA81 嬨 # CJK COMPATIBILITY IDEOGRAPH-FA81 +FA82 廒 # CJK COMPATIBILITY IDEOGRAPH-FA82 +FA83 廙 # CJK COMPATIBILITY IDEOGRAPH-FA83 +FA84 彩 # CJK COMPATIBILITY IDEOGRAPH-FA84 +FA85 徭 # CJK COMPATIBILITY IDEOGRAPH-FA85 +FA86 惘 # CJK COMPATIBILITY IDEOGRAPH-FA86 +FA87 慎 # CJK COMPATIBILITY IDEOGRAPH-FA87 +FA88 愈 # CJK COMPATIBILITY IDEOGRAPH-FA88 +FA89 憎 # CJK COMPATIBILITY IDEOGRAPH-FA89 +FA8A 慠 # CJK COMPATIBILITY IDEOGRAPH-FA8A +FA8B 懲 # CJK COMPATIBILITY IDEOGRAPH-FA8B +FA8C 戴 # CJK COMPATIBILITY IDEOGRAPH-FA8C +FA8D 揄 # CJK COMPATIBILITY IDEOGRAPH-FA8D +FA8E 搜 # CJK COMPATIBILITY IDEOGRAPH-FA8E +FA8F 摒 # CJK COMPATIBILITY IDEOGRAPH-FA8F +FA90 敖 # CJK COMPATIBILITY IDEOGRAPH-FA90 +FA91 晴 # CJK COMPATIBILITY IDEOGRAPH-FA91 +FA92 朗 # CJK COMPATIBILITY IDEOGRAPH-FA92 +FA93 望 # CJK COMPATIBILITY IDEOGRAPH-FA93 +FA94 杖 # CJK COMPATIBILITY IDEOGRAPH-FA94 +FA95 歹 # CJK COMPATIBILITY IDEOGRAPH-FA95 +FA96 殺 # CJK COMPATIBILITY IDEOGRAPH-FA96 +FA97 流 # CJK COMPATIBILITY IDEOGRAPH-FA97 +FA98 滛 # CJK COMPATIBILITY IDEOGRAPH-FA98 +FA99 滋 # CJK COMPATIBILITY IDEOGRAPH-FA99 +FA9A 漢 # CJK COMPATIBILITY IDEOGRAPH-FA9A +FA9B 瀞 # CJK COMPATIBILITY IDEOGRAPH-FA9B +FA9C 煮 # CJK COMPATIBILITY IDEOGRAPH-FA9C +FA9D 瞧 # CJK COMPATIBILITY IDEOGRAPH-FA9D +FA9E 爵 # CJK COMPATIBILITY IDEOGRAPH-FA9E +FA9F 犯 # CJK COMPATIBILITY IDEOGRAPH-FA9F +FAA0 猪 # CJK COMPATIBILITY IDEOGRAPH-FAA0 +FAA1 瑱 # CJK COMPATIBILITY IDEOGRAPH-FAA1 +FAA2 甆 # CJK COMPATIBILITY IDEOGRAPH-FAA2 +FAA3 画 # CJK COMPATIBILITY IDEOGRAPH-FAA3 +FAA4 瘝 # CJK COMPATIBILITY IDEOGRAPH-FAA4 +FAA5 瘟 # CJK COMPATIBILITY IDEOGRAPH-FAA5 +FAA6 益 # CJK COMPATIBILITY IDEOGRAPH-FAA6 +FAA7 盛 # CJK COMPATIBILITY IDEOGRAPH-FAA7 +FAA8 直 # CJK COMPATIBILITY IDEOGRAPH-FAA8 +FAA9 睊 # CJK COMPATIBILITY IDEOGRAPH-FAA9 +FAAA 着 # CJK COMPATIBILITY IDEOGRAPH-FAAA +FAAB 磌 # CJK COMPATIBILITY IDEOGRAPH-FAAB +FAAC 窱 # CJK COMPATIBILITY IDEOGRAPH-FAAC +FAAD 節 # CJK COMPATIBILITY IDEOGRAPH-FAAD +FAAE 类 # CJK COMPATIBILITY IDEOGRAPH-FAAE +FAAF 絛 # CJK COMPATIBILITY IDEOGRAPH-FAAF +FAB0 練 # CJK COMPATIBILITY IDEOGRAPH-FAB0 +FAB1 缾 # CJK COMPATIBILITY IDEOGRAPH-FAB1 +FAB2 者 # CJK COMPATIBILITY IDEOGRAPH-FAB2 +FAB3 荒 # CJK COMPATIBILITY IDEOGRAPH-FAB3 +FAB4 華 # CJK COMPATIBILITY IDEOGRAPH-FAB4 +FAB5 蝹 # CJK COMPATIBILITY IDEOGRAPH-FAB5 +FAB6 襁 # CJK COMPATIBILITY IDEOGRAPH-FAB6 +FAB7 覆 # CJK COMPATIBILITY IDEOGRAPH-FAB7 +FAB8 視 # CJK COMPATIBILITY IDEOGRAPH-FAB8 +FAB9 調 # CJK COMPATIBILITY IDEOGRAPH-FAB9 +FABA 諸 # CJK COMPATIBILITY IDEOGRAPH-FABA +FABB 請 # CJK COMPATIBILITY IDEOGRAPH-FABB +FABC 謁 # CJK COMPATIBILITY IDEOGRAPH-FABC +FABD 諾 # CJK COMPATIBILITY IDEOGRAPH-FABD +FABE 諭 # CJK COMPATIBILITY IDEOGRAPH-FABE +FABF 謹 # CJK COMPATIBILITY IDEOGRAPH-FABF +FAC0 變 # CJK COMPATIBILITY IDEOGRAPH-FAC0 +FAC1 贈 # CJK COMPATIBILITY IDEOGRAPH-FAC1 +FAC2 輸 # CJK COMPATIBILITY IDEOGRAPH-FAC2 +FAC3 遲 # CJK COMPATIBILITY IDEOGRAPH-FAC3 +FAC4 醙 # CJK COMPATIBILITY IDEOGRAPH-FAC4 +FAC5 鉶 # CJK COMPATIBILITY IDEOGRAPH-FAC5 +FAC6 陼 # CJK COMPATIBILITY IDEOGRAPH-FAC6 +FAC7 難 # CJK COMPATIBILITY IDEOGRAPH-FAC7 +FAC8 靖 # CJK COMPATIBILITY IDEOGRAPH-FAC8 +FAC9 韛 # CJK COMPATIBILITY IDEOGRAPH-FAC9 +FACA 響 # CJK COMPATIBILITY IDEOGRAPH-FACA +FACB 頋 # CJK COMPATIBILITY IDEOGRAPH-FACB +FACC 頻 # CJK COMPATIBILITY IDEOGRAPH-FACC +FACD 鬒 # CJK COMPATIBILITY IDEOGRAPH-FACD +FACE 龜 # CJK COMPATIBILITY IDEOGRAPH-FACE +FACF 𢡊 # CJK COMPATIBILITY IDEOGRAPH-FACF +FAD0 𢡄 # CJK COMPATIBILITY IDEOGRAPH-FAD0 +FAD1 𣏕 # CJK COMPATIBILITY IDEOGRAPH-FAD1 +FAD2 㮝 # CJK COMPATIBILITY IDEOGRAPH-FAD2 +FAD3 䀘 # CJK COMPATIBILITY IDEOGRAPH-FAD3 +FAD4 䀹 # CJK COMPATIBILITY IDEOGRAPH-FAD4 +FAD5 𥉉 # CJK COMPATIBILITY IDEOGRAPH-FAD5 +FAD6 𥳐 # CJK COMPATIBILITY IDEOGRAPH-FAD6 +FAD7 𧻓 # CJK COMPATIBILITY IDEOGRAPH-FAD7 +FAD8 齃 # CJK COMPATIBILITY IDEOGRAPH-FAD8 +FAD9 龎 # CJK COMPATIBILITY IDEOGRAPH-FAD9 +FB00 ff # LATIN SMALL LIGATURE FF +FB01 fi # LATIN SMALL LIGATURE FI +FB02 fl # LATIN SMALL LIGATURE FL +FB03 ffi # LATIN SMALL LIGATURE FFI +FB04 ffl # LATIN SMALL LIGATURE FFL +FB05 ſt # LATIN SMALL LIGATURE LONG S T +FB06 st # LATIN SMALL LIGATURE ST +FB13 մն # ARMENIAN SMALL LIGATURE MEN NOW +FB14 մե # ARMENIAN SMALL LIGATURE MEN ECH +FB15 մի # ARMENIAN SMALL LIGATURE MEN INI +FB16 վն # ARMENIAN SMALL LIGATURE VEW NOW +FB17 մխ # ARMENIAN SMALL LIGATURE MEN XEH +FB20 ע # HEBREW LETTER ALTERNATIVE AYIN +FB21 א # HEBREW LETTER WIDE ALEF +FB22 ד # HEBREW LETTER WIDE DALET +FB23 ה # HEBREW LETTER WIDE HE +FB24 כ # HEBREW LETTER WIDE KAF +FB25 ל # HEBREW LETTER WIDE LAMED +FB26 ם # HEBREW LETTER WIDE FINAL MEM +FB27 ר # HEBREW LETTER WIDE RESH +FB28 ת # HEBREW LETTER WIDE TAV +FB29 + # HEBREW LETTER ALTERNATIVE PLUS SIGN +FB4F אל # HEBREW LIGATURE ALEF LAMED +FE49 ‾ # DASHED OVERLINE +FE4A ‾ # CENTRELINE OVERLINE +FE4B ‾ # WAVY OVERLINE +FE4C ‾ # DOUBLE WAVY OVERLINE +FE4D _ # DASHED LOW LINE +FE4E _ # CENTRELINE LOW LINE +FE4F _ # WAVY LOW LINE +FE50 , # SMALL COMMA +FE51 、 # SMALL IDEOGRAPHIC COMMA +FE52 . # SMALL FULL STOP +FE54 ; # SMALL SEMICOLON +FE55 : # SMALL COLON +FE56 ? # SMALL QUESTION MARK +FE57 ! # SMALL EXCLAMATION MARK +FE58 — # SMALL EM DASH +FE59 ( # SMALL LEFT PARENTHESIS +FE5A ) # SMALL RIGHT PARENTHESIS +FE5B { # SMALL LEFT CURLY BRACKET +FE5C } # SMALL RIGHT CURLY BRACKET +FE5D 〔 # SMALL LEFT TORTOISE SHELL BRACKET +FE5E 〕 # SMALL RIGHT TORTOISE SHELL BRACKET +FE5F # # SMALL NUMBER SIGN +FE60 & # SMALL AMPERSAND +FE61 * # SMALL ASTERISK +FE62 + # SMALL PLUS SIGN +FE63 - # SMALL HYPHEN-MINUS +FE64 < # SMALL LESS-THAN SIGN +FE65 > # SMALL GREATER-THAN SIGN +FE66 = # SMALL EQUALS SIGN +FE68 \ # SMALL REVERSE SOLIDUS +FE69 $ # SMALL DOLLAR SIGN +FE6A % # SMALL PERCENT SIGN +FE6B @ # SMALL COMMERCIAL AT +FF01 ! # FULLWIDTH EXCLAMATION MARK +FF02 " # FULLWIDTH QUOTATION MARK +FF03 # # FULLWIDTH NUMBER SIGN +FF04 $ # FULLWIDTH DOLLAR SIGN +FF05 % # FULLWIDTH PERCENT SIGN +FF06 & # FULLWIDTH AMPERSAND +FF07 ' # FULLWIDTH APOSTROPHE +FF08 ( # FULLWIDTH LEFT PARENTHESIS +FF09 ) # FULLWIDTH RIGHT PARENTHESIS +FF0A * # FULLWIDTH ASTERISK +FF0B + # FULLWIDTH PLUS SIGN +FF0C , # FULLWIDTH COMMA +FF0D - # FULLWIDTH HYPHEN-MINUS +FF0E . # FULLWIDTH FULL STOP +FF0F / # FULLWIDTH SOLIDUS +FF10 0 # FULLWIDTH DIGIT ZERO +FF11 1 # FULLWIDTH DIGIT ONE +FF12 2 # FULLWIDTH DIGIT TWO +FF13 3 # FULLWIDTH DIGIT THREE +FF14 4 # FULLWIDTH DIGIT FOUR +FF15 5 # FULLWIDTH DIGIT FIVE +FF16 6 # FULLWIDTH DIGIT SIX +FF17 7 # FULLWIDTH DIGIT SEVEN +FF18 8 # FULLWIDTH DIGIT EIGHT +FF19 9 # FULLWIDTH DIGIT NINE +FF1A : # FULLWIDTH COLON +FF1B ; # FULLWIDTH SEMICOLON +FF1C < # FULLWIDTH LESS-THAN SIGN +FF1D = # FULLWIDTH EQUALS SIGN +FF1E > # FULLWIDTH GREATER-THAN SIGN +FF1F ? # FULLWIDTH QUESTION MARK +FF20 @ # FULLWIDTH COMMERCIAL AT +FF21 A # FULLWIDTH LATIN CAPITAL LETTER A +FF22 B # FULLWIDTH LATIN CAPITAL LETTER B +FF23 C # FULLWIDTH LATIN CAPITAL LETTER C +FF24 D # FULLWIDTH LATIN CAPITAL LETTER D +FF25 E # FULLWIDTH LATIN CAPITAL LETTER E +FF26 F # FULLWIDTH LATIN CAPITAL LETTER F +FF27 G # FULLWIDTH LATIN CAPITAL LETTER G +FF28 H # FULLWIDTH LATIN CAPITAL LETTER H +FF29 I # FULLWIDTH LATIN CAPITAL LETTER I +FF2A J # FULLWIDTH LATIN CAPITAL LETTER J +FF2B K # FULLWIDTH LATIN CAPITAL LETTER K +FF2C L # FULLWIDTH LATIN CAPITAL LETTER L +FF2D M # FULLWIDTH LATIN CAPITAL LETTER M +FF2E N # FULLWIDTH LATIN CAPITAL LETTER N +FF2F O # FULLWIDTH LATIN CAPITAL LETTER O +FF30 P # FULLWIDTH LATIN CAPITAL LETTER P +FF31 Q # FULLWIDTH LATIN CAPITAL LETTER Q +FF32 R # FULLWIDTH LATIN CAPITAL LETTER R +FF33 S # FULLWIDTH LATIN CAPITAL LETTER S +FF34 T # FULLWIDTH LATIN CAPITAL LETTER T +FF35 U # FULLWIDTH LATIN CAPITAL LETTER U +FF36 V # FULLWIDTH LATIN CAPITAL LETTER V +FF37 W # FULLWIDTH LATIN CAPITAL LETTER W +FF38 X # FULLWIDTH LATIN CAPITAL LETTER X +FF39 Y # FULLWIDTH LATIN CAPITAL LETTER Y +FF3A Z # FULLWIDTH LATIN CAPITAL LETTER Z +FF3B [ # FULLWIDTH LEFT SQUARE BRACKET +FF3C \ # FULLWIDTH REVERSE SOLIDUS +FF3D ] # FULLWIDTH RIGHT SQUARE BRACKET +FF3E ^ # FULLWIDTH CIRCUMFLEX ACCENT +FF3F _ # FULLWIDTH LOW LINE +FF40 ` # FULLWIDTH GRAVE ACCENT +FF41 a # FULLWIDTH LATIN SMALL LETTER A +FF42 b # FULLWIDTH LATIN SMALL LETTER B +FF43 c # FULLWIDTH LATIN SMALL LETTER C +FF44 d # FULLWIDTH LATIN SMALL LETTER D +FF45 e # FULLWIDTH LATIN SMALL LETTER E +FF46 f # FULLWIDTH LATIN SMALL LETTER F +FF47 g # FULLWIDTH LATIN SMALL LETTER G +FF48 h # FULLWIDTH LATIN SMALL LETTER H +FF49 i # FULLWIDTH LATIN SMALL LETTER I +FF4A j # FULLWIDTH LATIN SMALL LETTER J +FF4B k # FULLWIDTH LATIN SMALL LETTER K +FF4C l # FULLWIDTH LATIN SMALL LETTER L +FF4D m # FULLWIDTH LATIN SMALL LETTER M +FF4E n # FULLWIDTH LATIN SMALL LETTER N +FF4F o # FULLWIDTH LATIN SMALL LETTER O +FF50 p # FULLWIDTH LATIN SMALL LETTER P +FF51 q # FULLWIDTH LATIN SMALL LETTER Q +FF52 r # FULLWIDTH LATIN SMALL LETTER R +FF53 s # FULLWIDTH LATIN SMALL LETTER S +FF54 t # FULLWIDTH LATIN SMALL LETTER T +FF55 u # FULLWIDTH LATIN SMALL LETTER U +FF56 v # FULLWIDTH LATIN SMALL LETTER V +FF57 w # FULLWIDTH LATIN SMALL LETTER W +FF58 x # FULLWIDTH LATIN SMALL LETTER X +FF59 y # FULLWIDTH LATIN SMALL LETTER Y +FF5A z # FULLWIDTH LATIN SMALL LETTER Z +FF5B { # FULLWIDTH LEFT CURLY BRACKET +FF5C | # FULLWIDTH VERTICAL LINE +FF5D } # FULLWIDTH RIGHT CURLY BRACKET +FF5E ~ # FULLWIDTH TILDE +FF5F ⦅ # FULLWIDTH LEFT WHITE PARENTHESIS +FF60 ⦆ # FULLWIDTH RIGHT WHITE PARENTHESIS +FF61 。 # HALFWIDTH IDEOGRAPHIC FULL STOP +FF62 「 # HALFWIDTH LEFT CORNER BRACKET +FF63 」 # HALFWIDTH RIGHT CORNER BRACKET +FF64 、 # HALFWIDTH IDEOGRAPHIC COMMA +FF65 ・ # HALFWIDTH KATAKANA MIDDLE DOT +FF66 ヲ # HALFWIDTH KATAKANA LETTER WO +FF67 ァ # HALFWIDTH KATAKANA LETTER SMALL A +FF68 ィ # HALFWIDTH KATAKANA LETTER SMALL I +FF69 ゥ # HALFWIDTH KATAKANA LETTER SMALL U +FF6A ェ # HALFWIDTH KATAKANA LETTER SMALL E +FF6B ォ # HALFWIDTH KATAKANA LETTER SMALL O +FF6C ャ # HALFWIDTH KATAKANA LETTER SMALL YA +FF6D ュ # HALFWIDTH KATAKANA LETTER SMALL YU +FF6E ョ # HALFWIDTH KATAKANA LETTER SMALL YO +FF6F ッ # HALFWIDTH KATAKANA LETTER SMALL TU +FF70 ー # HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK +FF71 ア # HALFWIDTH KATAKANA LETTER A +FF72 イ # HALFWIDTH KATAKANA LETTER I +FF73 ウ # HALFWIDTH KATAKANA LETTER U +FF74 エ # HALFWIDTH KATAKANA LETTER E +FF75 オ # HALFWIDTH KATAKANA LETTER O +FF76 カ # HALFWIDTH KATAKANA LETTER KA +FF77 キ # HALFWIDTH KATAKANA LETTER KI +FF78 ク # HALFWIDTH KATAKANA LETTER KU +FF79 ケ # HALFWIDTH KATAKANA LETTER KE +FF7A コ # HALFWIDTH KATAKANA LETTER KO +FF7B サ # HALFWIDTH KATAKANA LETTER SA +FF7C シ # HALFWIDTH KATAKANA LETTER SI +FF7D ス # HALFWIDTH KATAKANA LETTER SU +FF7E セ # HALFWIDTH KATAKANA LETTER SE +FF7F ソ # HALFWIDTH KATAKANA LETTER SO +FF80 タ # HALFWIDTH KATAKANA LETTER TA +FF81 チ # HALFWIDTH KATAKANA LETTER TI +FF82 ツ # HALFWIDTH KATAKANA LETTER TU +FF83 テ # HALFWIDTH KATAKANA LETTER TE +FF84 ト # HALFWIDTH KATAKANA LETTER TO +FF85 ナ # HALFWIDTH KATAKANA LETTER NA +FF86 ニ # HALFWIDTH KATAKANA LETTER NI +FF87 ヌ # HALFWIDTH KATAKANA LETTER NU +FF88 ネ # HALFWIDTH KATAKANA LETTER NE +FF89 ノ # HALFWIDTH KATAKANA LETTER NO +FF8A ハ # HALFWIDTH KATAKANA LETTER HA +FF8B ヒ # HALFWIDTH KATAKANA LETTER HI +FF8C フ # HALFWIDTH KATAKANA LETTER HU +FF8D ヘ # HALFWIDTH KATAKANA LETTER HE +FF8E ホ # HALFWIDTH KATAKANA LETTER HO +FF8F マ # HALFWIDTH KATAKANA LETTER MA +FF90 ミ # HALFWIDTH KATAKANA LETTER MI +FF91 ム # HALFWIDTH KATAKANA LETTER MU +FF92 メ # HALFWIDTH KATAKANA LETTER ME +FF93 モ # HALFWIDTH KATAKANA LETTER MO +FF94 ヤ # HALFWIDTH KATAKANA LETTER YA +FF95 ユ # HALFWIDTH KATAKANA LETTER YU +FF96 ヨ # HALFWIDTH KATAKANA LETTER YO +FF97 ラ # HALFWIDTH KATAKANA LETTER RA +FF98 リ # HALFWIDTH KATAKANA LETTER RI +FF99 ル # HALFWIDTH KATAKANA LETTER RU +FF9A レ # HALFWIDTH KATAKANA LETTER RE +FF9B ロ # HALFWIDTH KATAKANA LETTER RO +FF9C ワ # HALFWIDTH KATAKANA LETTER WA +FF9D ン # HALFWIDTH KATAKANA LETTER N +FF9E ゙ # HALFWIDTH KATAKANA VOICED SOUND MARK +FF9F ゚ # HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK +FFA0 ㅤ # HALFWIDTH HANGUL FILLER +FFA1 ㄱ # HALFWIDTH HANGUL LETTER KIYEOK +FFA2 ㄲ # HALFWIDTH HANGUL LETTER SSANGKIYEOK +FFA3 ㄳ # HALFWIDTH HANGUL LETTER KIYEOK-SIOS +FFA4 ㄴ # HALFWIDTH HANGUL LETTER NIEUN +FFA5 ㄵ # HALFWIDTH HANGUL LETTER NIEUN-CIEUC +FFA6 ㄶ # HALFWIDTH HANGUL LETTER NIEUN-HIEUH +FFA7 ㄷ # HALFWIDTH HANGUL LETTER TIKEUT +FFA8 ㄸ # HALFWIDTH HANGUL LETTER SSANGTIKEUT +FFA9 ㄹ # HALFWIDTH HANGUL LETTER RIEUL +FFAA ㄺ # HALFWIDTH HANGUL LETTER RIEUL-KIYEOK +FFAB ㄻ # HALFWIDTH HANGUL LETTER RIEUL-MIEUM +FFAC ㄼ # HALFWIDTH HANGUL LETTER RIEUL-PIEUP +FFAD ㄽ # HALFWIDTH HANGUL LETTER RIEUL-SIOS +FFAE ㄾ # HALFWIDTH HANGUL LETTER RIEUL-THIEUTH +FFAF ㄿ # HALFWIDTH HANGUL LETTER RIEUL-PHIEUPH +FFB0 ㅀ # HALFWIDTH HANGUL LETTER RIEUL-HIEUH +FFB1 ㅁ # HALFWIDTH HANGUL LETTER MIEUM +FFB2 ㅂ # HALFWIDTH HANGUL LETTER PIEUP +FFB3 ㅃ # HALFWIDTH HANGUL LETTER SSANGPIEUP +FFB4 ㅄ # HALFWIDTH HANGUL LETTER PIEUP-SIOS +FFB5 ㅅ # HALFWIDTH HANGUL LETTER SIOS +FFB6 ㅆ # HALFWIDTH HANGUL LETTER SSANGSIOS +FFB7 ㅇ # HALFWIDTH HANGUL LETTER IEUNG +FFB8 ㅈ # HALFWIDTH HANGUL LETTER CIEUC +FFB9 ㅉ # HALFWIDTH HANGUL LETTER SSANGCIEUC +FFBA ㅊ # HALFWIDTH HANGUL LETTER CHIEUCH +FFBB ㅋ # HALFWIDTH HANGUL LETTER KHIEUKH +FFBC ㅌ # HALFWIDTH HANGUL LETTER THIEUTH +FFBD ㅍ # HALFWIDTH HANGUL LETTER PHIEUPH +FFBE ㅎ # HALFWIDTH HANGUL LETTER HIEUH +FFC2 ㅏ # HALFWIDTH HANGUL LETTER A +FFC3 ㅐ # HALFWIDTH HANGUL LETTER AE +FFC4 ㅑ # HALFWIDTH HANGUL LETTER YA +FFC5 ㅒ # HALFWIDTH HANGUL LETTER YAE +FFC6 ㅓ # HALFWIDTH HANGUL LETTER EO +FFC7 ㅔ # HALFWIDTH HANGUL LETTER E +FFCA ㅕ # HALFWIDTH HANGUL LETTER YEO +FFCB ㅖ # HALFWIDTH HANGUL LETTER YE +FFCC ㅗ # HALFWIDTH HANGUL LETTER O +FFCD ㅘ # HALFWIDTH HANGUL LETTER WA +FFCE ㅙ # HALFWIDTH HANGUL LETTER WAE +FFCF ㅚ # HALFWIDTH HANGUL LETTER OE +FFD2 ㅛ # HALFWIDTH HANGUL LETTER YO +FFD3 ㅜ # HALFWIDTH HANGUL LETTER U +FFD4 ㅝ # HALFWIDTH HANGUL LETTER WEO +FFD5 ㅞ # HALFWIDTH HANGUL LETTER WE +FFD6 ㅟ # HALFWIDTH HANGUL LETTER WI +FFD7 ㅠ # HALFWIDTH HANGUL LETTER YU +FFDA ㅡ # HALFWIDTH HANGUL LETTER EU +FFDB ㅢ # HALFWIDTH HANGUL LETTER YI +FFDC ㅣ # HALFWIDTH HANGUL LETTER I +FFE0 ¢ # FULLWIDTH CENT SIGN +FFE1 £ # FULLWIDTH POUND SIGN +FFE2 ¬ # FULLWIDTH NOT SIGN +FFE3 ¯ # FULLWIDTH MACRON +FFE4 ¦ # FULLWIDTH BROKEN BAR +FFE5 ¥ # FULLWIDTH YEN SIGN +FFE6 ₩ # FULLWIDTH WON SIGN +FFE8 │ # HALFWIDTH FORMS LIGHT VERTICAL +FFE9 ← # HALFWIDTH LEFTWARDS ARROW +FFEA ↑ # HALFWIDTH UPWARDS ARROW +FFEB → # HALFWIDTH RIGHTWARDS ARROW +FFEC ↓ # HALFWIDTH DOWNWARDS ARROW +FFED ■ # HALFWIDTH BLACK SQUARE +FFEE ○ # HALFWIDTH WHITE CIRCLE +1D400 A # MATHEMATICAL BOLD CAPITAL A +1D401 B # MATHEMATICAL BOLD CAPITAL B +1D402 C # MATHEMATICAL BOLD CAPITAL C +1D403 D # MATHEMATICAL BOLD CAPITAL D +1D404 E # MATHEMATICAL BOLD CAPITAL E +1D405 F # MATHEMATICAL BOLD CAPITAL F +1D406 G # MATHEMATICAL BOLD CAPITAL G +1D407 H # MATHEMATICAL BOLD CAPITAL H +1D408 I # MATHEMATICAL BOLD CAPITAL I +1D409 J # MATHEMATICAL BOLD CAPITAL J +1D40A K # MATHEMATICAL BOLD CAPITAL K +1D40B L # MATHEMATICAL BOLD CAPITAL L +1D40C M # MATHEMATICAL BOLD CAPITAL M +1D40D N # MATHEMATICAL BOLD CAPITAL N +1D40E O # MATHEMATICAL BOLD CAPITAL O +1D40F P # MATHEMATICAL BOLD CAPITAL P +1D410 Q # MATHEMATICAL BOLD CAPITAL Q +1D411 R # MATHEMATICAL BOLD CAPITAL R +1D412 S # MATHEMATICAL BOLD CAPITAL S +1D413 T # MATHEMATICAL BOLD CAPITAL T +1D414 U # MATHEMATICAL BOLD CAPITAL U +1D415 V # MATHEMATICAL BOLD CAPITAL V +1D416 W # MATHEMATICAL BOLD CAPITAL W +1D417 X # MATHEMATICAL BOLD CAPITAL X +1D418 Y # MATHEMATICAL BOLD CAPITAL Y +1D419 Z # MATHEMATICAL BOLD CAPITAL Z +1D41A a # MATHEMATICAL BOLD SMALL A +1D41B b # MATHEMATICAL BOLD SMALL B +1D41C c # MATHEMATICAL BOLD SMALL C +1D41D d # MATHEMATICAL BOLD SMALL D +1D41E e # MATHEMATICAL BOLD SMALL E +1D41F f # MATHEMATICAL BOLD SMALL F +1D420 g # MATHEMATICAL BOLD SMALL G +1D421 h # MATHEMATICAL BOLD SMALL H +1D422 i # MATHEMATICAL BOLD SMALL I +1D423 j # MATHEMATICAL BOLD SMALL J +1D424 k # MATHEMATICAL BOLD SMALL K +1D425 l # MATHEMATICAL BOLD SMALL L +1D426 m # MATHEMATICAL BOLD SMALL M +1D427 n # MATHEMATICAL BOLD SMALL N +1D428 o # MATHEMATICAL BOLD SMALL O +1D429 p # MATHEMATICAL BOLD SMALL P +1D42A q # MATHEMATICAL BOLD SMALL Q +1D42B r # MATHEMATICAL BOLD SMALL R +1D42C s # MATHEMATICAL BOLD SMALL S +1D42D t # MATHEMATICAL BOLD SMALL T +1D42E u # MATHEMATICAL BOLD SMALL U +1D42F v # MATHEMATICAL BOLD SMALL V +1D430 w # MATHEMATICAL BOLD SMALL W +1D431 x # MATHEMATICAL BOLD SMALL X +1D432 y # MATHEMATICAL BOLD SMALL Y +1D433 z # MATHEMATICAL BOLD SMALL Z +1D434 A # MATHEMATICAL ITALIC CAPITAL A +1D435 B # MATHEMATICAL ITALIC CAPITAL B +1D436 C # MATHEMATICAL ITALIC CAPITAL C +1D437 D # MATHEMATICAL ITALIC CAPITAL D +1D438 E # MATHEMATICAL ITALIC CAPITAL E +1D439 F # MATHEMATICAL ITALIC CAPITAL F +1D43A G # MATHEMATICAL ITALIC CAPITAL G +1D43B H # MATHEMATICAL ITALIC CAPITAL H +1D43C I # MATHEMATICAL ITALIC CAPITAL I +1D43D J # MATHEMATICAL ITALIC CAPITAL J +1D43E K # MATHEMATICAL ITALIC CAPITAL K +1D43F L # MATHEMATICAL ITALIC CAPITAL L +1D440 M # MATHEMATICAL ITALIC CAPITAL M +1D441 N # MATHEMATICAL ITALIC CAPITAL N +1D442 O # MATHEMATICAL ITALIC CAPITAL O +1D443 P # MATHEMATICAL ITALIC CAPITAL P +1D444 Q # MATHEMATICAL ITALIC CAPITAL Q +1D445 R # MATHEMATICAL ITALIC CAPITAL R +1D446 S # MATHEMATICAL ITALIC CAPITAL S +1D447 T # MATHEMATICAL ITALIC CAPITAL T +1D448 U # MATHEMATICAL ITALIC CAPITAL U +1D449 V # MATHEMATICAL ITALIC CAPITAL V +1D44A W # MATHEMATICAL ITALIC CAPITAL W +1D44B X # MATHEMATICAL ITALIC CAPITAL X +1D44C Y # MATHEMATICAL ITALIC CAPITAL Y +1D44D Z # MATHEMATICAL ITALIC CAPITAL Z +1D44E a # MATHEMATICAL ITALIC SMALL A +1D44F b # MATHEMATICAL ITALIC SMALL B +1D450 c # MATHEMATICAL ITALIC SMALL C +1D451 d # MATHEMATICAL ITALIC SMALL D +1D452 e # MATHEMATICAL ITALIC SMALL E +1D453 f # MATHEMATICAL ITALIC SMALL F +1D454 g # MATHEMATICAL ITALIC SMALL G +1D456 i # MATHEMATICAL ITALIC SMALL I +1D457 j # MATHEMATICAL ITALIC SMALL J +1D458 k # MATHEMATICAL ITALIC SMALL K +1D459 l # MATHEMATICAL ITALIC SMALL L +1D45A m # MATHEMATICAL ITALIC SMALL M +1D45B n # MATHEMATICAL ITALIC SMALL N +1D45C o # MATHEMATICAL ITALIC SMALL O +1D45D p # MATHEMATICAL ITALIC SMALL P +1D45E q # MATHEMATICAL ITALIC SMALL Q +1D45F r # MATHEMATICAL ITALIC SMALL R +1D460 s # MATHEMATICAL ITALIC SMALL S +1D461 t # MATHEMATICAL ITALIC SMALL T +1D462 u # MATHEMATICAL ITALIC SMALL U +1D463 v # MATHEMATICAL ITALIC SMALL V +1D464 w # MATHEMATICAL ITALIC SMALL W +1D465 x # MATHEMATICAL ITALIC SMALL X +1D466 y # MATHEMATICAL ITALIC SMALL Y +1D467 z # MATHEMATICAL ITALIC SMALL Z +1D468 A # MATHEMATICAL BOLD ITALIC CAPITAL A +1D469 B # MATHEMATICAL BOLD ITALIC CAPITAL B +1D46A C # MATHEMATICAL BOLD ITALIC CAPITAL C +1D46B D # MATHEMATICAL BOLD ITALIC CAPITAL D +1D46C E # MATHEMATICAL BOLD ITALIC CAPITAL E +1D46D F # MATHEMATICAL BOLD ITALIC CAPITAL F +1D46E G # MATHEMATICAL BOLD ITALIC CAPITAL G +1D46F H # MATHEMATICAL BOLD ITALIC CAPITAL H +1D470 I # MATHEMATICAL BOLD ITALIC CAPITAL I +1D471 J # MATHEMATICAL BOLD ITALIC CAPITAL J +1D472 K # MATHEMATICAL BOLD ITALIC CAPITAL K +1D473 L # MATHEMATICAL BOLD ITALIC CAPITAL L +1D474 M # MATHEMATICAL BOLD ITALIC CAPITAL M +1D475 N # MATHEMATICAL BOLD ITALIC CAPITAL N +1D476 O # MATHEMATICAL BOLD ITALIC CAPITAL O +1D477 P # MATHEMATICAL BOLD ITALIC CAPITAL P +1D478 Q # MATHEMATICAL BOLD ITALIC CAPITAL Q +1D479 R # MATHEMATICAL BOLD ITALIC CAPITAL R +1D47A S # MATHEMATICAL BOLD ITALIC CAPITAL S +1D47B T # MATHEMATICAL BOLD ITALIC CAPITAL T +1D47C U # MATHEMATICAL BOLD ITALIC CAPITAL U +1D47D V # MATHEMATICAL BOLD ITALIC CAPITAL V +1D47E W # MATHEMATICAL BOLD ITALIC CAPITAL W +1D47F X # MATHEMATICAL BOLD ITALIC CAPITAL X +1D480 Y # MATHEMATICAL BOLD ITALIC CAPITAL Y +1D481 Z # MATHEMATICAL BOLD ITALIC CAPITAL Z +1D482 a # MATHEMATICAL BOLD ITALIC SMALL A +1D483 b # MATHEMATICAL BOLD ITALIC SMALL B +1D484 c # MATHEMATICAL BOLD ITALIC SMALL C +1D485 d # MATHEMATICAL BOLD ITALIC SMALL D +1D486 e # MATHEMATICAL BOLD ITALIC SMALL E +1D487 f # MATHEMATICAL BOLD ITALIC SMALL F +1D488 g # MATHEMATICAL BOLD ITALIC SMALL G +1D489 h # MATHEMATICAL BOLD ITALIC SMALL H +1D48A i # MATHEMATICAL BOLD ITALIC SMALL I +1D48B j # MATHEMATICAL BOLD ITALIC SMALL J +1D48C k # MATHEMATICAL BOLD ITALIC SMALL K +1D48D l # MATHEMATICAL BOLD ITALIC SMALL L +1D48E m # MATHEMATICAL BOLD ITALIC SMALL M +1D48F n # MATHEMATICAL BOLD ITALIC SMALL N +1D490 o # MATHEMATICAL BOLD ITALIC SMALL O +1D491 p # MATHEMATICAL BOLD ITALIC SMALL P +1D492 q # MATHEMATICAL BOLD ITALIC SMALL Q +1D493 r # MATHEMATICAL BOLD ITALIC SMALL R +1D494 s # MATHEMATICAL BOLD ITALIC SMALL S +1D495 t # MATHEMATICAL BOLD ITALIC SMALL T +1D496 u # MATHEMATICAL BOLD ITALIC SMALL U +1D497 v # MATHEMATICAL BOLD ITALIC SMALL V +1D498 w # MATHEMATICAL BOLD ITALIC SMALL W +1D499 x # MATHEMATICAL BOLD ITALIC SMALL X +1D49A y # MATHEMATICAL BOLD ITALIC SMALL Y +1D49B z # MATHEMATICAL BOLD ITALIC SMALL Z +1D49C A # MATHEMATICAL SCRIPT CAPITAL A +1D49E C # MATHEMATICAL SCRIPT CAPITAL C +1D49F D # MATHEMATICAL SCRIPT CAPITAL D +1D4A2 G # MATHEMATICAL SCRIPT CAPITAL G +1D4A5 J # MATHEMATICAL SCRIPT CAPITAL J +1D4A6 K # MATHEMATICAL SCRIPT CAPITAL K +1D4A9 N # MATHEMATICAL SCRIPT CAPITAL N +1D4AA O # MATHEMATICAL SCRIPT CAPITAL O +1D4AB P # MATHEMATICAL SCRIPT CAPITAL P +1D4AC Q # MATHEMATICAL SCRIPT CAPITAL Q +1D4AE S # MATHEMATICAL SCRIPT CAPITAL S +1D4AF T # MATHEMATICAL SCRIPT CAPITAL T +1D4B0 U # MATHEMATICAL SCRIPT CAPITAL U +1D4B1 V # MATHEMATICAL SCRIPT CAPITAL V +1D4B2 W # MATHEMATICAL SCRIPT CAPITAL W +1D4B3 X # MATHEMATICAL SCRIPT CAPITAL X +1D4B4 Y # MATHEMATICAL SCRIPT CAPITAL Y +1D4B5 Z # MATHEMATICAL SCRIPT CAPITAL Z +1D4B6 a # MATHEMATICAL SCRIPT SMALL A +1D4B7 b # MATHEMATICAL SCRIPT SMALL B +1D4B8 c # MATHEMATICAL SCRIPT SMALL C +1D4B9 d # MATHEMATICAL SCRIPT SMALL D +1D4BB f # MATHEMATICAL SCRIPT SMALL F +1D4BD h # MATHEMATICAL SCRIPT SMALL H +1D4BE i # MATHEMATICAL SCRIPT SMALL I +1D4BF j # MATHEMATICAL SCRIPT SMALL J +1D4C0 k # MATHEMATICAL SCRIPT SMALL K +1D4C1 l # MATHEMATICAL SCRIPT SMALL L +1D4C2 m # MATHEMATICAL SCRIPT SMALL M +1D4C3 n # MATHEMATICAL SCRIPT SMALL N +1D4C5 p # MATHEMATICAL SCRIPT SMALL P +1D4C6 q # MATHEMATICAL SCRIPT SMALL Q +1D4C7 r # MATHEMATICAL SCRIPT SMALL R +1D4C8 s # MATHEMATICAL SCRIPT SMALL S +1D4C9 t # MATHEMATICAL SCRIPT SMALL T +1D4CA u # MATHEMATICAL SCRIPT SMALL U +1D4CB v # MATHEMATICAL SCRIPT SMALL V +1D4CC w # MATHEMATICAL SCRIPT SMALL W +1D4CD x # MATHEMATICAL SCRIPT SMALL X +1D4CE y # MATHEMATICAL SCRIPT SMALL Y +1D4CF z # MATHEMATICAL SCRIPT SMALL Z +1D4D0 A # MATHEMATICAL BOLD SCRIPT CAPITAL A +1D4D1 B # MATHEMATICAL BOLD SCRIPT CAPITAL B +1D4D2 C # MATHEMATICAL BOLD SCRIPT CAPITAL C +1D4D3 D # MATHEMATICAL BOLD SCRIPT CAPITAL D +1D4D4 E # MATHEMATICAL BOLD SCRIPT CAPITAL E +1D4D5 F # MATHEMATICAL BOLD SCRIPT CAPITAL F +1D4D6 G # MATHEMATICAL BOLD SCRIPT CAPITAL G +1D4D7 H # MATHEMATICAL BOLD SCRIPT CAPITAL H +1D4D8 I # MATHEMATICAL BOLD SCRIPT CAPITAL I +1D4D9 J # MATHEMATICAL BOLD SCRIPT CAPITAL J +1D4DA K # MATHEMATICAL BOLD SCRIPT CAPITAL K +1D4DB L # MATHEMATICAL BOLD SCRIPT CAPITAL L +1D4DC M # MATHEMATICAL BOLD SCRIPT CAPITAL M +1D4DD N # MATHEMATICAL BOLD SCRIPT CAPITAL N +1D4DE O # MATHEMATICAL BOLD SCRIPT CAPITAL O +1D4DF P # MATHEMATICAL BOLD SCRIPT CAPITAL P +1D4E0 Q # MATHEMATICAL BOLD SCRIPT CAPITAL Q +1D4E1 R # MATHEMATICAL BOLD SCRIPT CAPITAL R +1D4E2 S # MATHEMATICAL BOLD SCRIPT CAPITAL S +1D4E3 T # MATHEMATICAL BOLD SCRIPT CAPITAL T +1D4E4 U # MATHEMATICAL BOLD SCRIPT CAPITAL U +1D4E5 V # MATHEMATICAL BOLD SCRIPT CAPITAL V +1D4E6 W # MATHEMATICAL BOLD SCRIPT CAPITAL W +1D4E7 X # MATHEMATICAL BOLD SCRIPT CAPITAL X +1D4E8 Y # MATHEMATICAL BOLD SCRIPT CAPITAL Y +1D4E9 Z # MATHEMATICAL BOLD SCRIPT CAPITAL Z +1D4EA a # MATHEMATICAL BOLD SCRIPT SMALL A +1D4EB b # MATHEMATICAL BOLD SCRIPT SMALL B +1D4EC c # MATHEMATICAL BOLD SCRIPT SMALL C +1D4ED d # MATHEMATICAL BOLD SCRIPT SMALL D +1D4EE e # MATHEMATICAL BOLD SCRIPT SMALL E +1D4EF f # MATHEMATICAL BOLD SCRIPT SMALL F +1D4F0 g # MATHEMATICAL BOLD SCRIPT SMALL G +1D4F1 h # MATHEMATICAL BOLD SCRIPT SMALL H +1D4F2 i # MATHEMATICAL BOLD SCRIPT SMALL I +1D4F3 j # MATHEMATICAL BOLD SCRIPT SMALL J +1D4F4 k # MATHEMATICAL BOLD SCRIPT SMALL K +1D4F5 l # MATHEMATICAL BOLD SCRIPT SMALL L +1D4F6 m # MATHEMATICAL BOLD SCRIPT SMALL M +1D4F7 n # MATHEMATICAL BOLD SCRIPT SMALL N +1D4F8 o # MATHEMATICAL BOLD SCRIPT SMALL O +1D4F9 p # MATHEMATICAL BOLD SCRIPT SMALL P +1D4FA q # MATHEMATICAL BOLD SCRIPT SMALL Q +1D4FB r # MATHEMATICAL BOLD SCRIPT SMALL R +1D4FC s # MATHEMATICAL BOLD SCRIPT SMALL S +1D4FD t # MATHEMATICAL BOLD SCRIPT SMALL T +1D4FE u # MATHEMATICAL BOLD SCRIPT SMALL U +1D4FF v # MATHEMATICAL BOLD SCRIPT SMALL V +1D500 w # MATHEMATICAL BOLD SCRIPT SMALL W +1D501 x # MATHEMATICAL BOLD SCRIPT SMALL X +1D502 y # MATHEMATICAL BOLD SCRIPT SMALL Y +1D503 z # MATHEMATICAL BOLD SCRIPT SMALL Z +1D504 A # MATHEMATICAL FRAKTUR CAPITAL A +1D505 B # MATHEMATICAL FRAKTUR CAPITAL B +1D507 D # MATHEMATICAL FRAKTUR CAPITAL D +1D508 E # MATHEMATICAL FRAKTUR CAPITAL E +1D509 F # MATHEMATICAL FRAKTUR CAPITAL F +1D50A G # MATHEMATICAL FRAKTUR CAPITAL G +1D50D J # MATHEMATICAL FRAKTUR CAPITAL J +1D50E K # MATHEMATICAL FRAKTUR CAPITAL K +1D50F L # MATHEMATICAL FRAKTUR CAPITAL L +1D510 M # MATHEMATICAL FRAKTUR CAPITAL M +1D511 N # MATHEMATICAL FRAKTUR CAPITAL N +1D512 O # MATHEMATICAL FRAKTUR CAPITAL O +1D513 P # MATHEMATICAL FRAKTUR CAPITAL P +1D514 Q # MATHEMATICAL FRAKTUR CAPITAL Q +1D516 S # MATHEMATICAL FRAKTUR CAPITAL S +1D517 T # MATHEMATICAL FRAKTUR CAPITAL T +1D518 U # MATHEMATICAL FRAKTUR CAPITAL U +1D519 V # MATHEMATICAL FRAKTUR CAPITAL V +1D51A W # MATHEMATICAL FRAKTUR CAPITAL W +1D51B X # MATHEMATICAL FRAKTUR CAPITAL X +1D51C Y # MATHEMATICAL FRAKTUR CAPITAL Y +1D51E a # MATHEMATICAL FRAKTUR SMALL A +1D51F b # MATHEMATICAL FRAKTUR SMALL B +1D520 c # MATHEMATICAL FRAKTUR SMALL C +1D521 d # MATHEMATICAL FRAKTUR SMALL D +1D522 e # MATHEMATICAL FRAKTUR SMALL E +1D523 f # MATHEMATICAL FRAKTUR SMALL F +1D524 g # MATHEMATICAL FRAKTUR SMALL G +1D525 h # MATHEMATICAL FRAKTUR SMALL H +1D526 i # MATHEMATICAL FRAKTUR SMALL I +1D527 j # MATHEMATICAL FRAKTUR SMALL J +1D528 k # MATHEMATICAL FRAKTUR SMALL K +1D529 l # MATHEMATICAL FRAKTUR SMALL L +1D52A m # MATHEMATICAL FRAKTUR SMALL M +1D52B n # MATHEMATICAL FRAKTUR SMALL N +1D52C o # MATHEMATICAL FRAKTUR SMALL O +1D52D p # MATHEMATICAL FRAKTUR SMALL P +1D52E q # MATHEMATICAL FRAKTUR SMALL Q +1D52F r # MATHEMATICAL FRAKTUR SMALL R +1D530 s # MATHEMATICAL FRAKTUR SMALL S +1D531 t # MATHEMATICAL FRAKTUR SMALL T +1D532 u # MATHEMATICAL FRAKTUR SMALL U +1D533 v # MATHEMATICAL FRAKTUR SMALL V +1D534 w # MATHEMATICAL FRAKTUR SMALL W +1D535 x # MATHEMATICAL FRAKTUR SMALL X +1D536 y # MATHEMATICAL FRAKTUR SMALL Y +1D537 z # MATHEMATICAL FRAKTUR SMALL Z +1D538 A # MATHEMATICAL DOUBLE-STRUCK CAPITAL A +1D539 B # MATHEMATICAL DOUBLE-STRUCK CAPITAL B +1D53B D # MATHEMATICAL DOUBLE-STRUCK CAPITAL D +1D53C E # MATHEMATICAL DOUBLE-STRUCK CAPITAL E +1D53D F # MATHEMATICAL DOUBLE-STRUCK CAPITAL F +1D53E G # MATHEMATICAL DOUBLE-STRUCK CAPITAL G +1D540 I # MATHEMATICAL DOUBLE-STRUCK CAPITAL I +1D541 J # MATHEMATICAL DOUBLE-STRUCK CAPITAL J +1D542 K # MATHEMATICAL DOUBLE-STRUCK CAPITAL K +1D543 L # MATHEMATICAL DOUBLE-STRUCK CAPITAL L +1D544 M # MATHEMATICAL DOUBLE-STRUCK CAPITAL M +1D546 O # MATHEMATICAL DOUBLE-STRUCK CAPITAL O +1D54A S # MATHEMATICAL DOUBLE-STRUCK CAPITAL S +1D54B T # MATHEMATICAL DOUBLE-STRUCK CAPITAL T +1D54C U # MATHEMATICAL DOUBLE-STRUCK CAPITAL U +1D54D V # MATHEMATICAL DOUBLE-STRUCK CAPITAL V +1D54E W # MATHEMATICAL DOUBLE-STRUCK CAPITAL W +1D54F X # MATHEMATICAL DOUBLE-STRUCK CAPITAL X +1D550 Y # MATHEMATICAL DOUBLE-STRUCK CAPITAL Y +1D552 a # MATHEMATICAL DOUBLE-STRUCK SMALL A +1D553 b # MATHEMATICAL DOUBLE-STRUCK SMALL B +1D554 c # MATHEMATICAL DOUBLE-STRUCK SMALL C +1D555 d # MATHEMATICAL DOUBLE-STRUCK SMALL D +1D556 e # MATHEMATICAL DOUBLE-STRUCK SMALL E +1D557 f # MATHEMATICAL DOUBLE-STRUCK SMALL F +1D558 g # MATHEMATICAL DOUBLE-STRUCK SMALL G +1D559 h # MATHEMATICAL DOUBLE-STRUCK SMALL H +1D55A i # MATHEMATICAL DOUBLE-STRUCK SMALL I +1D55B j # MATHEMATICAL DOUBLE-STRUCK SMALL J +1D55C k # MATHEMATICAL DOUBLE-STRUCK SMALL K +1D55D l # MATHEMATICAL DOUBLE-STRUCK SMALL L +1D55E m # MATHEMATICAL DOUBLE-STRUCK SMALL M +1D55F n # MATHEMATICAL DOUBLE-STRUCK SMALL N +1D560 o # MATHEMATICAL DOUBLE-STRUCK SMALL O +1D561 p # MATHEMATICAL DOUBLE-STRUCK SMALL P +1D562 q # MATHEMATICAL DOUBLE-STRUCK SMALL Q +1D563 r # MATHEMATICAL DOUBLE-STRUCK SMALL R +1D564 s # MATHEMATICAL DOUBLE-STRUCK SMALL S +1D565 t # MATHEMATICAL DOUBLE-STRUCK SMALL T +1D566 u # MATHEMATICAL DOUBLE-STRUCK SMALL U +1D567 v # MATHEMATICAL DOUBLE-STRUCK SMALL V +1D568 w # MATHEMATICAL DOUBLE-STRUCK SMALL W +1D569 x # MATHEMATICAL DOUBLE-STRUCK SMALL X +1D56A y # MATHEMATICAL DOUBLE-STRUCK SMALL Y +1D56B z # MATHEMATICAL DOUBLE-STRUCK SMALL Z +1D56C A # MATHEMATICAL BOLD FRAKTUR CAPITAL A +1D56D B # MATHEMATICAL BOLD FRAKTUR CAPITAL B +1D56E C # MATHEMATICAL BOLD FRAKTUR CAPITAL C +1D56F D # MATHEMATICAL BOLD FRAKTUR CAPITAL D +1D570 E # MATHEMATICAL BOLD FRAKTUR CAPITAL E +1D571 F # MATHEMATICAL BOLD FRAKTUR CAPITAL F +1D572 G # MATHEMATICAL BOLD FRAKTUR CAPITAL G +1D573 H # MATHEMATICAL BOLD FRAKTUR CAPITAL H +1D574 I # MATHEMATICAL BOLD FRAKTUR CAPITAL I +1D575 J # MATHEMATICAL BOLD FRAKTUR CAPITAL J +1D576 K # MATHEMATICAL BOLD FRAKTUR CAPITAL K +1D577 L # MATHEMATICAL BOLD FRAKTUR CAPITAL L +1D578 M # MATHEMATICAL BOLD FRAKTUR CAPITAL M +1D579 N # MATHEMATICAL BOLD FRAKTUR CAPITAL N +1D57A O # MATHEMATICAL BOLD FRAKTUR CAPITAL O +1D57B P # MATHEMATICAL BOLD FRAKTUR CAPITAL P +1D57C Q # MATHEMATICAL BOLD FRAKTUR CAPITAL Q +1D57D R # MATHEMATICAL BOLD FRAKTUR CAPITAL R +1D57E S # MATHEMATICAL BOLD FRAKTUR CAPITAL S +1D57F T # MATHEMATICAL BOLD FRAKTUR CAPITAL T +1D580 U # MATHEMATICAL BOLD FRAKTUR CAPITAL U +1D581 V # MATHEMATICAL BOLD FRAKTUR CAPITAL V +1D582 W # MATHEMATICAL BOLD FRAKTUR CAPITAL W +1D583 X # MATHEMATICAL BOLD FRAKTUR CAPITAL X +1D584 Y # MATHEMATICAL BOLD FRAKTUR CAPITAL Y +1D585 Z # MATHEMATICAL BOLD FRAKTUR CAPITAL Z +1D586 a # MATHEMATICAL BOLD FRAKTUR SMALL A +1D587 b # MATHEMATICAL BOLD FRAKTUR SMALL B +1D588 c # MATHEMATICAL BOLD FRAKTUR SMALL C +1D589 d # MATHEMATICAL BOLD FRAKTUR SMALL D +1D58A e # MATHEMATICAL BOLD FRAKTUR SMALL E +1D58B f # MATHEMATICAL BOLD FRAKTUR SMALL F +1D58C g # MATHEMATICAL BOLD FRAKTUR SMALL G +1D58D h # MATHEMATICAL BOLD FRAKTUR SMALL H +1D58E i # MATHEMATICAL BOLD FRAKTUR SMALL I +1D58F j # MATHEMATICAL BOLD FRAKTUR SMALL J +1D590 k # MATHEMATICAL BOLD FRAKTUR SMALL K +1D591 l # MATHEMATICAL BOLD FRAKTUR SMALL L +1D592 m # MATHEMATICAL BOLD FRAKTUR SMALL M +1D593 n # MATHEMATICAL BOLD FRAKTUR SMALL N +1D594 o # MATHEMATICAL BOLD FRAKTUR SMALL O +1D595 p # MATHEMATICAL BOLD FRAKTUR SMALL P +1D596 q # MATHEMATICAL BOLD FRAKTUR SMALL Q +1D597 r # MATHEMATICAL BOLD FRAKTUR SMALL R +1D598 s # MATHEMATICAL BOLD FRAKTUR SMALL S +1D599 t # MATHEMATICAL BOLD FRAKTUR SMALL T +1D59A u # MATHEMATICAL BOLD FRAKTUR SMALL U +1D59B v # MATHEMATICAL BOLD FRAKTUR SMALL V +1D59C w # MATHEMATICAL BOLD FRAKTUR SMALL W +1D59D x # MATHEMATICAL BOLD FRAKTUR SMALL X +1D59E y # MATHEMATICAL BOLD FRAKTUR SMALL Y +1D59F z # MATHEMATICAL BOLD FRAKTUR SMALL Z +1D5A0 A # MATHEMATICAL SANS-SERIF CAPITAL A +1D5A1 B # MATHEMATICAL SANS-SERIF CAPITAL B +1D5A2 C # MATHEMATICAL SANS-SERIF CAPITAL C +1D5A3 D # MATHEMATICAL SANS-SERIF CAPITAL D +1D5A4 E # MATHEMATICAL SANS-SERIF CAPITAL E +1D5A5 F # MATHEMATICAL SANS-SERIF CAPITAL F +1D5A6 G # MATHEMATICAL SANS-SERIF CAPITAL G +1D5A7 H # MATHEMATICAL SANS-SERIF CAPITAL H +1D5A8 I # MATHEMATICAL SANS-SERIF CAPITAL I +1D5A9 J # MATHEMATICAL SANS-SERIF CAPITAL J +1D5AA K # MATHEMATICAL SANS-SERIF CAPITAL K +1D5AB L # MATHEMATICAL SANS-SERIF CAPITAL L +1D5AC M # MATHEMATICAL SANS-SERIF CAPITAL M +1D5AD N # MATHEMATICAL SANS-SERIF CAPITAL N +1D5AE O # MATHEMATICAL SANS-SERIF CAPITAL O +1D5AF P # MATHEMATICAL SANS-SERIF CAPITAL P +1D5B0 Q # MATHEMATICAL SANS-SERIF CAPITAL Q +1D5B1 R # MATHEMATICAL SANS-SERIF CAPITAL R +1D5B2 S # MATHEMATICAL SANS-SERIF CAPITAL S +1D5B3 T # MATHEMATICAL SANS-SERIF CAPITAL T +1D5B4 U # MATHEMATICAL SANS-SERIF CAPITAL U +1D5B5 V # MATHEMATICAL SANS-SERIF CAPITAL V +1D5B6 W # MATHEMATICAL SANS-SERIF CAPITAL W +1D5B7 X # MATHEMATICAL SANS-SERIF CAPITAL X +1D5B8 Y # MATHEMATICAL SANS-SERIF CAPITAL Y +1D5B9 Z # MATHEMATICAL SANS-SERIF CAPITAL Z +1D5BA a # MATHEMATICAL SANS-SERIF SMALL A +1D5BB b # MATHEMATICAL SANS-SERIF SMALL B +1D5BC c # MATHEMATICAL SANS-SERIF SMALL C +1D5BD d # MATHEMATICAL SANS-SERIF SMALL D +1D5BE e # MATHEMATICAL SANS-SERIF SMALL E +1D5BF f # MATHEMATICAL SANS-SERIF SMALL F +1D5C0 g # MATHEMATICAL SANS-SERIF SMALL G +1D5C1 h # MATHEMATICAL SANS-SERIF SMALL H +1D5C2 i # MATHEMATICAL SANS-SERIF SMALL I +1D5C3 j # MATHEMATICAL SANS-SERIF SMALL J +1D5C4 k # MATHEMATICAL SANS-SERIF SMALL K +1D5C5 l # MATHEMATICAL SANS-SERIF SMALL L +1D5C6 m # MATHEMATICAL SANS-SERIF SMALL M +1D5C7 n # MATHEMATICAL SANS-SERIF SMALL N +1D5C8 o # MATHEMATICAL SANS-SERIF SMALL O +1D5C9 p # MATHEMATICAL SANS-SERIF SMALL P +1D5CA q # MATHEMATICAL SANS-SERIF SMALL Q +1D5CB r # MATHEMATICAL SANS-SERIF SMALL R +1D5CC s # MATHEMATICAL SANS-SERIF SMALL S +1D5CD t # MATHEMATICAL SANS-SERIF SMALL T +1D5CE u # MATHEMATICAL SANS-SERIF SMALL U +1D5CF v # MATHEMATICAL SANS-SERIF SMALL V +1D5D0 w # MATHEMATICAL SANS-SERIF SMALL W +1D5D1 x # MATHEMATICAL SANS-SERIF SMALL X +1D5D2 y # MATHEMATICAL SANS-SERIF SMALL Y +1D5D3 z # MATHEMATICAL SANS-SERIF SMALL Z +1D5D4 A # MATHEMATICAL SANS-SERIF BOLD CAPITAL A +1D5D5 B # MATHEMATICAL SANS-SERIF BOLD CAPITAL B +1D5D6 C # MATHEMATICAL SANS-SERIF BOLD CAPITAL C +1D5D7 D # MATHEMATICAL SANS-SERIF BOLD CAPITAL D +1D5D8 E # MATHEMATICAL SANS-SERIF BOLD CAPITAL E +1D5D9 F # MATHEMATICAL SANS-SERIF BOLD CAPITAL F +1D5DA G # MATHEMATICAL SANS-SERIF BOLD CAPITAL G +1D5DB H # MATHEMATICAL SANS-SERIF BOLD CAPITAL H +1D5DC I # MATHEMATICAL SANS-SERIF BOLD CAPITAL I +1D5DD J # MATHEMATICAL SANS-SERIF BOLD CAPITAL J +1D5DE K # MATHEMATICAL SANS-SERIF BOLD CAPITAL K +1D5DF L # MATHEMATICAL SANS-SERIF BOLD CAPITAL L +1D5E0 M # MATHEMATICAL SANS-SERIF BOLD CAPITAL M +1D5E1 N # MATHEMATICAL SANS-SERIF BOLD CAPITAL N +1D5E2 O # MATHEMATICAL SANS-SERIF BOLD CAPITAL O +1D5E3 P # MATHEMATICAL SANS-SERIF BOLD CAPITAL P +1D5E4 Q # MATHEMATICAL SANS-SERIF BOLD CAPITAL Q +1D5E5 R # MATHEMATICAL SANS-SERIF BOLD CAPITAL R +1D5E6 S # MATHEMATICAL SANS-SERIF BOLD CAPITAL S +1D5E7 T # MATHEMATICAL SANS-SERIF BOLD CAPITAL T +1D5E8 U # MATHEMATICAL SANS-SERIF BOLD CAPITAL U +1D5E9 V # MATHEMATICAL SANS-SERIF BOLD CAPITAL V +1D5EA W # MATHEMATICAL SANS-SERIF BOLD CAPITAL W +1D5EB X # MATHEMATICAL SANS-SERIF BOLD CAPITAL X +1D5EC Y # MATHEMATICAL SANS-SERIF BOLD CAPITAL Y +1D5ED Z # MATHEMATICAL SANS-SERIF BOLD CAPITAL Z +1D5EE a # MATHEMATICAL SANS-SERIF BOLD SMALL A +1D5EF b # MATHEMATICAL SANS-SERIF BOLD SMALL B +1D5F0 c # MATHEMATICAL SANS-SERIF BOLD SMALL C +1D5F1 d # MATHEMATICAL SANS-SERIF BOLD SMALL D +1D5F2 e # MATHEMATICAL SANS-SERIF BOLD SMALL E +1D5F3 f # MATHEMATICAL SANS-SERIF BOLD SMALL F +1D5F4 g # MATHEMATICAL SANS-SERIF BOLD SMALL G +1D5F5 h # MATHEMATICAL SANS-SERIF BOLD SMALL H +1D5F6 i # MATHEMATICAL SANS-SERIF BOLD SMALL I +1D5F7 j # MATHEMATICAL SANS-SERIF BOLD SMALL J +1D5F8 k # MATHEMATICAL SANS-SERIF BOLD SMALL K +1D5F9 l # MATHEMATICAL SANS-SERIF BOLD SMALL L +1D5FA m # MATHEMATICAL SANS-SERIF BOLD SMALL M +1D5FB n # MATHEMATICAL SANS-SERIF BOLD SMALL N +1D5FC o # MATHEMATICAL SANS-SERIF BOLD SMALL O +1D5FD p # MATHEMATICAL SANS-SERIF BOLD SMALL P +1D5FE q # MATHEMATICAL SANS-SERIF BOLD SMALL Q +1D5FF r # MATHEMATICAL SANS-SERIF BOLD SMALL R +1D600 s # MATHEMATICAL SANS-SERIF BOLD SMALL S +1D601 t # MATHEMATICAL SANS-SERIF BOLD SMALL T +1D602 u # MATHEMATICAL SANS-SERIF BOLD SMALL U +1D603 v # MATHEMATICAL SANS-SERIF BOLD SMALL V +1D604 w # MATHEMATICAL SANS-SERIF BOLD SMALL W +1D605 x # MATHEMATICAL SANS-SERIF BOLD SMALL X +1D606 y # MATHEMATICAL SANS-SERIF BOLD SMALL Y +1D607 z # MATHEMATICAL SANS-SERIF BOLD SMALL Z +1D608 A # MATHEMATICAL SANS-SERIF ITALIC CAPITAL A +1D609 B # MATHEMATICAL SANS-SERIF ITALIC CAPITAL B +1D60A C # MATHEMATICAL SANS-SERIF ITALIC CAPITAL C +1D60B D # MATHEMATICAL SANS-SERIF ITALIC CAPITAL D +1D60C E # MATHEMATICAL SANS-SERIF ITALIC CAPITAL E +1D60D F # MATHEMATICAL SANS-SERIF ITALIC CAPITAL F +1D60E G # MATHEMATICAL SANS-SERIF ITALIC CAPITAL G +1D60F H # MATHEMATICAL SANS-SERIF ITALIC CAPITAL H +1D610 I # MATHEMATICAL SANS-SERIF ITALIC CAPITAL I +1D611 J # MATHEMATICAL SANS-SERIF ITALIC CAPITAL J +1D612 K # MATHEMATICAL SANS-SERIF ITALIC CAPITAL K +1D613 L # MATHEMATICAL SANS-SERIF ITALIC CAPITAL L +1D614 M # MATHEMATICAL SANS-SERIF ITALIC CAPITAL M +1D615 N # MATHEMATICAL SANS-SERIF ITALIC CAPITAL N +1D616 O # MATHEMATICAL SANS-SERIF ITALIC CAPITAL O +1D617 P # MATHEMATICAL SANS-SERIF ITALIC CAPITAL P +1D618 Q # MATHEMATICAL SANS-SERIF ITALIC CAPITAL Q +1D619 R # MATHEMATICAL SANS-SERIF ITALIC CAPITAL R +1D61A S # MATHEMATICAL SANS-SERIF ITALIC CAPITAL S +1D61B T # MATHEMATICAL SANS-SERIF ITALIC CAPITAL T +1D61C U # MATHEMATICAL SANS-SERIF ITALIC CAPITAL U +1D61D V # MATHEMATICAL SANS-SERIF ITALIC CAPITAL V +1D61E W # MATHEMATICAL SANS-SERIF ITALIC CAPITAL W +1D61F X # MATHEMATICAL SANS-SERIF ITALIC CAPITAL X +1D620 Y # MATHEMATICAL SANS-SERIF ITALIC CAPITAL Y +1D621 Z # MATHEMATICAL SANS-SERIF ITALIC CAPITAL Z +1D622 a # MATHEMATICAL SANS-SERIF ITALIC SMALL A +1D623 b # MATHEMATICAL SANS-SERIF ITALIC SMALL B +1D624 c # MATHEMATICAL SANS-SERIF ITALIC SMALL C +1D625 d # MATHEMATICAL SANS-SERIF ITALIC SMALL D +1D626 e # MATHEMATICAL SANS-SERIF ITALIC SMALL E +1D627 f # MATHEMATICAL SANS-SERIF ITALIC SMALL F +1D628 g # MATHEMATICAL SANS-SERIF ITALIC SMALL G +1D629 h # MATHEMATICAL SANS-SERIF ITALIC SMALL H +1D62A i # MATHEMATICAL SANS-SERIF ITALIC SMALL I +1D62B j # MATHEMATICAL SANS-SERIF ITALIC SMALL J +1D62C k # MATHEMATICAL SANS-SERIF ITALIC SMALL K +1D62D l # MATHEMATICAL SANS-SERIF ITALIC SMALL L +1D62E m # MATHEMATICAL SANS-SERIF ITALIC SMALL M +1D62F n # MATHEMATICAL SANS-SERIF ITALIC SMALL N +1D630 o # MATHEMATICAL SANS-SERIF ITALIC SMALL O +1D631 p # MATHEMATICAL SANS-SERIF ITALIC SMALL P +1D632 q # MATHEMATICAL SANS-SERIF ITALIC SMALL Q +1D633 r # MATHEMATICAL SANS-SERIF ITALIC SMALL R +1D634 s # MATHEMATICAL SANS-SERIF ITALIC SMALL S +1D635 t # MATHEMATICAL SANS-SERIF ITALIC SMALL T +1D636 u # MATHEMATICAL SANS-SERIF ITALIC SMALL U +1D637 v # MATHEMATICAL SANS-SERIF ITALIC SMALL V +1D638 w # MATHEMATICAL SANS-SERIF ITALIC SMALL W +1D639 x # MATHEMATICAL SANS-SERIF ITALIC SMALL X +1D63A y # MATHEMATICAL SANS-SERIF ITALIC SMALL Y +1D63B z # MATHEMATICAL SANS-SERIF ITALIC SMALL Z +1D63C A # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL A +1D63D B # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL B +1D63E C # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL C +1D63F D # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL D +1D640 E # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL E +1D641 F # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL F +1D642 G # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL G +1D643 H # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL H +1D644 I # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL I +1D645 J # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL J +1D646 K # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL K +1D647 L # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL L +1D648 M # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL M +1D649 N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL N +1D64A O # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL O +1D64B P # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL P +1D64C Q # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL Q +1D64D R # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL R +1D64E S # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL S +1D64F T # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL T +1D650 U # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL U +1D651 V # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL V +1D652 W # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL W +1D653 X # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL X +1D654 Y # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL Y +1D655 Z # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL Z +1D656 a # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL A +1D657 b # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL B +1D658 c # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL C +1D659 d # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL D +1D65A e # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL E +1D65B f # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL F +1D65C g # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL G +1D65D h # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL H +1D65E i # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL I +1D65F j # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL J +1D660 k # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL K +1D661 l # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL L +1D662 m # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL M +1D663 n # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL N +1D664 o # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL O +1D665 p # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL P +1D666 q # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Q +1D667 r # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL R +1D668 s # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL S +1D669 t # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL T +1D66A u # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL U +1D66B v # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL V +1D66C w # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL W +1D66D x # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL X +1D66E y # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Y +1D66F z # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Z +1D670 A # MATHEMATICAL MONOSPACE CAPITAL A +1D671 B # MATHEMATICAL MONOSPACE CAPITAL B +1D672 C # MATHEMATICAL MONOSPACE CAPITAL C +1D673 D # MATHEMATICAL MONOSPACE CAPITAL D +1D674 E # MATHEMATICAL MONOSPACE CAPITAL E +1D675 F # MATHEMATICAL MONOSPACE CAPITAL F +1D676 G # MATHEMATICAL MONOSPACE CAPITAL G +1D677 H # MATHEMATICAL MONOSPACE CAPITAL H +1D678 I # MATHEMATICAL MONOSPACE CAPITAL I +1D679 J # MATHEMATICAL MONOSPACE CAPITAL J +1D67A K # MATHEMATICAL MONOSPACE CAPITAL K +1D67B L # MATHEMATICAL MONOSPACE CAPITAL L +1D67C M # MATHEMATICAL MONOSPACE CAPITAL M +1D67D N # MATHEMATICAL MONOSPACE CAPITAL N +1D67E O # MATHEMATICAL MONOSPACE CAPITAL O +1D67F P # MATHEMATICAL MONOSPACE CAPITAL P +1D680 Q # MATHEMATICAL MONOSPACE CAPITAL Q +1D681 R # MATHEMATICAL MONOSPACE CAPITAL R +1D682 S # MATHEMATICAL MONOSPACE CAPITAL S +1D683 T # MATHEMATICAL MONOSPACE CAPITAL T +1D684 U # MATHEMATICAL MONOSPACE CAPITAL U +1D685 V # MATHEMATICAL MONOSPACE CAPITAL V +1D686 W # MATHEMATICAL MONOSPACE CAPITAL W +1D687 X # MATHEMATICAL MONOSPACE CAPITAL X +1D688 Y # MATHEMATICAL MONOSPACE CAPITAL Y +1D689 Z # MATHEMATICAL MONOSPACE CAPITAL Z +1D68A a # MATHEMATICAL MONOSPACE SMALL A +1D68B b # MATHEMATICAL MONOSPACE SMALL B +1D68C c # MATHEMATICAL MONOSPACE SMALL C +1D68D d # MATHEMATICAL MONOSPACE SMALL D +1D68E e # MATHEMATICAL MONOSPACE SMALL E +1D68F f # MATHEMATICAL MONOSPACE SMALL F +1D690 g # MATHEMATICAL MONOSPACE SMALL G +1D691 h # MATHEMATICAL MONOSPACE SMALL H +1D692 i # MATHEMATICAL MONOSPACE SMALL I +1D693 j # MATHEMATICAL MONOSPACE SMALL J +1D694 k # MATHEMATICAL MONOSPACE SMALL K +1D695 l # MATHEMATICAL MONOSPACE SMALL L +1D696 m # MATHEMATICAL MONOSPACE SMALL M +1D697 n # MATHEMATICAL MONOSPACE SMALL N +1D698 o # MATHEMATICAL MONOSPACE SMALL O +1D699 p # MATHEMATICAL MONOSPACE SMALL P +1D69A q # MATHEMATICAL MONOSPACE SMALL Q +1D69B r # MATHEMATICAL MONOSPACE SMALL R +1D69C s # MATHEMATICAL MONOSPACE SMALL S +1D69D t # MATHEMATICAL MONOSPACE SMALL T +1D69E u # MATHEMATICAL MONOSPACE SMALL U +1D69F v # MATHEMATICAL MONOSPACE SMALL V +1D6A0 w # MATHEMATICAL MONOSPACE SMALL W +1D6A1 x # MATHEMATICAL MONOSPACE SMALL X +1D6A2 y # MATHEMATICAL MONOSPACE SMALL Y +1D6A3 z # MATHEMATICAL MONOSPACE SMALL Z +1D6A4 ı # MATHEMATICAL ITALIC SMALL DOTLESS I +1D6A5 ȷ # MATHEMATICAL ITALIC SMALL DOTLESS J +1D6A8 Α # MATHEMATICAL BOLD CAPITAL ALPHA +1D6A9 Β # MATHEMATICAL BOLD CAPITAL BETA +1D6AA Γ # MATHEMATICAL BOLD CAPITAL GAMMA +1D6AB Δ # MATHEMATICAL BOLD CAPITAL DELTA +1D6AC Ε # MATHEMATICAL BOLD CAPITAL EPSILON +1D6AD Ζ # MATHEMATICAL BOLD CAPITAL ZETA +1D6AE Η # MATHEMATICAL BOLD CAPITAL ETA +1D6AF Θ # MATHEMATICAL BOLD CAPITAL THETA +1D6B0 Ι # MATHEMATICAL BOLD CAPITAL IOTA +1D6B1 Κ # MATHEMATICAL BOLD CAPITAL KAPPA +1D6B2 Λ # MATHEMATICAL BOLD CAPITAL LAMDA +1D6B3 Μ # MATHEMATICAL BOLD CAPITAL MU +1D6B4 Ν # MATHEMATICAL BOLD CAPITAL NU +1D6B5 Ξ # MATHEMATICAL BOLD CAPITAL XI +1D6B6 Ο # MATHEMATICAL BOLD CAPITAL OMICRON +1D6B7 Π # MATHEMATICAL BOLD CAPITAL PI +1D6B8 Ρ # MATHEMATICAL BOLD CAPITAL RHO +1D6B9 ϴ # MATHEMATICAL BOLD CAPITAL THETA SYMBOL +1D6BA Σ # MATHEMATICAL BOLD CAPITAL SIGMA +1D6BB Τ # MATHEMATICAL BOLD CAPITAL TAU +1D6BC Υ # MATHEMATICAL BOLD CAPITAL UPSILON +1D6BD Φ # MATHEMATICAL BOLD CAPITAL PHI +1D6BE Χ # MATHEMATICAL BOLD CAPITAL CHI +1D6BF Ψ # MATHEMATICAL BOLD CAPITAL PSI +1D6C0 Ω # MATHEMATICAL BOLD CAPITAL OMEGA +1D6C1 ∇ # MATHEMATICAL BOLD NABLA +1D6C2 α # MATHEMATICAL BOLD SMALL ALPHA +1D6C3 β # MATHEMATICAL BOLD SMALL BETA +1D6C4 γ # MATHEMATICAL BOLD SMALL GAMMA +1D6C5 δ # MATHEMATICAL BOLD SMALL DELTA +1D6C6 ε # MATHEMATICAL BOLD SMALL EPSILON +1D6C7 ζ # MATHEMATICAL BOLD SMALL ZETA +1D6C8 η # MATHEMATICAL BOLD SMALL ETA +1D6C9 θ # MATHEMATICAL BOLD SMALL THETA +1D6CA ι # MATHEMATICAL BOLD SMALL IOTA +1D6CB κ # MATHEMATICAL BOLD SMALL KAPPA +1D6CC λ # MATHEMATICAL BOLD SMALL LAMDA +1D6CD μ # MATHEMATICAL BOLD SMALL MU +1D6CE ν # MATHEMATICAL BOLD SMALL NU +1D6CF ξ # MATHEMATICAL BOLD SMALL XI +1D6D0 ο # MATHEMATICAL BOLD SMALL OMICRON +1D6D1 π # MATHEMATICAL BOLD SMALL PI +1D6D2 ρ # MATHEMATICAL BOLD SMALL RHO +1D6D3 ς # MATHEMATICAL BOLD SMALL FINAL SIGMA +1D6D4 σ # MATHEMATICAL BOLD SMALL SIGMA +1D6D5 τ # MATHEMATICAL BOLD SMALL TAU +1D6D6 υ # MATHEMATICAL BOLD SMALL UPSILON +1D6D7 φ # MATHEMATICAL BOLD SMALL PHI +1D6D8 χ # MATHEMATICAL BOLD SMALL CHI +1D6D9 ψ # MATHEMATICAL BOLD SMALL PSI +1D6DA ω # MATHEMATICAL BOLD SMALL OMEGA +1D6DB ∂ # MATHEMATICAL BOLD PARTIAL DIFFERENTIAL +1D6DC ϵ # MATHEMATICAL BOLD EPSILON SYMBOL +1D6DD ϑ # MATHEMATICAL BOLD THETA SYMBOL +1D6DE ϰ # MATHEMATICAL BOLD KAPPA SYMBOL +1D6DF ϕ # MATHEMATICAL BOLD PHI SYMBOL +1D6E0 ϱ # MATHEMATICAL BOLD RHO SYMBOL +1D6E1 ϖ # MATHEMATICAL BOLD PI SYMBOL +1D6E2 Α # MATHEMATICAL ITALIC CAPITAL ALPHA +1D6E3 Β # MATHEMATICAL ITALIC CAPITAL BETA +1D6E4 Γ # MATHEMATICAL ITALIC CAPITAL GAMMA +1D6E5 Δ # MATHEMATICAL ITALIC CAPITAL DELTA +1D6E6 Ε # MATHEMATICAL ITALIC CAPITAL EPSILON +1D6E7 Ζ # MATHEMATICAL ITALIC CAPITAL ZETA +1D6E8 Η # MATHEMATICAL ITALIC CAPITAL ETA +1D6E9 Θ # MATHEMATICAL ITALIC CAPITAL THETA +1D6EA Ι # MATHEMATICAL ITALIC CAPITAL IOTA +1D6EB Κ # MATHEMATICAL ITALIC CAPITAL KAPPA +1D6EC Λ # MATHEMATICAL ITALIC CAPITAL LAMDA +1D6ED Μ # MATHEMATICAL ITALIC CAPITAL MU +1D6EE Ν # MATHEMATICAL ITALIC CAPITAL NU +1D6EF Ξ # MATHEMATICAL ITALIC CAPITAL XI +1D6F0 Ο # MATHEMATICAL ITALIC CAPITAL OMICRON +1D6F1 Π # MATHEMATICAL ITALIC CAPITAL PI +1D6F2 Ρ # MATHEMATICAL ITALIC CAPITAL RHO +1D6F3 ϴ # MATHEMATICAL ITALIC CAPITAL THETA SYMBOL +1D6F4 Σ # MATHEMATICAL ITALIC CAPITAL SIGMA +1D6F5 Τ # MATHEMATICAL ITALIC CAPITAL TAU +1D6F6 Υ # MATHEMATICAL ITALIC CAPITAL UPSILON +1D6F7 Φ # MATHEMATICAL ITALIC CAPITAL PHI +1D6F8 Χ # MATHEMATICAL ITALIC CAPITAL CHI +1D6F9 Ψ # MATHEMATICAL ITALIC CAPITAL PSI +1D6FA Ω # MATHEMATICAL ITALIC CAPITAL OMEGA +1D6FB ∇ # MATHEMATICAL ITALIC NABLA +1D6FC α # MATHEMATICAL ITALIC SMALL ALPHA +1D6FD β # MATHEMATICAL ITALIC SMALL BETA +1D6FE γ # MATHEMATICAL ITALIC SMALL GAMMA +1D6FF δ # MATHEMATICAL ITALIC SMALL DELTA +1D700 ε # MATHEMATICAL ITALIC SMALL EPSILON +1D701 ζ # MATHEMATICAL ITALIC SMALL ZETA +1D702 η # MATHEMATICAL ITALIC SMALL ETA +1D703 θ # MATHEMATICAL ITALIC SMALL THETA +1D704 ι # MATHEMATICAL ITALIC SMALL IOTA +1D705 κ # MATHEMATICAL ITALIC SMALL KAPPA +1D706 λ # MATHEMATICAL ITALIC SMALL LAMDA +1D707 μ # MATHEMATICAL ITALIC SMALL MU +1D708 ν # MATHEMATICAL ITALIC SMALL NU +1D709 ξ # MATHEMATICAL ITALIC SMALL XI +1D70A ο # MATHEMATICAL ITALIC SMALL OMICRON +1D70B π # MATHEMATICAL ITALIC SMALL PI +1D70C ρ # MATHEMATICAL ITALIC SMALL RHO +1D70D ς # MATHEMATICAL ITALIC SMALL FINAL SIGMA +1D70E σ # MATHEMATICAL ITALIC SMALL SIGMA +1D70F τ # MATHEMATICAL ITALIC SMALL TAU +1D710 υ # MATHEMATICAL ITALIC SMALL UPSILON +1D711 φ # MATHEMATICAL ITALIC SMALL PHI +1D712 χ # MATHEMATICAL ITALIC SMALL CHI +1D713 ψ # MATHEMATICAL ITALIC SMALL PSI +1D714 ω # MATHEMATICAL ITALIC SMALL OMEGA +1D715 ∂ # MATHEMATICAL ITALIC PARTIAL DIFFERENTIAL +1D716 ϵ # MATHEMATICAL ITALIC EPSILON SYMBOL +1D717 ϑ # MATHEMATICAL ITALIC THETA SYMBOL +1D718 ϰ # MATHEMATICAL ITALIC KAPPA SYMBOL +1D719 ϕ # MATHEMATICAL ITALIC PHI SYMBOL +1D71A ϱ # MATHEMATICAL ITALIC RHO SYMBOL +1D71B ϖ # MATHEMATICAL ITALIC PI SYMBOL +1D71C Α # MATHEMATICAL BOLD ITALIC CAPITAL ALPHA +1D71D Β # MATHEMATICAL BOLD ITALIC CAPITAL BETA +1D71E Γ # MATHEMATICAL BOLD ITALIC CAPITAL GAMMA +1D71F Δ # MATHEMATICAL BOLD ITALIC CAPITAL DELTA +1D720 Ε # MATHEMATICAL BOLD ITALIC CAPITAL EPSILON +1D721 Ζ # MATHEMATICAL BOLD ITALIC CAPITAL ZETA +1D722 Η # MATHEMATICAL BOLD ITALIC CAPITAL ETA +1D723 Θ # MATHEMATICAL BOLD ITALIC CAPITAL THETA +1D724 Ι # MATHEMATICAL BOLD ITALIC CAPITAL IOTA +1D725 Κ # MATHEMATICAL BOLD ITALIC CAPITAL KAPPA +1D726 Λ # MATHEMATICAL BOLD ITALIC CAPITAL LAMDA +1D727 Μ # MATHEMATICAL BOLD ITALIC CAPITAL MU +1D728 Ν # MATHEMATICAL BOLD ITALIC CAPITAL NU +1D729 Ξ # MATHEMATICAL BOLD ITALIC CAPITAL XI +1D72A Ο # MATHEMATICAL BOLD ITALIC CAPITAL OMICRON +1D72B Π # MATHEMATICAL BOLD ITALIC CAPITAL PI +1D72C Ρ # MATHEMATICAL BOLD ITALIC CAPITAL RHO +1D72D ϴ # MATHEMATICAL BOLD ITALIC CAPITAL THETA SYMBOL +1D72E Σ # MATHEMATICAL BOLD ITALIC CAPITAL SIGMA +1D72F Τ # MATHEMATICAL BOLD ITALIC CAPITAL TAU +1D730 Υ # MATHEMATICAL BOLD ITALIC CAPITAL UPSILON +1D731 Φ # MATHEMATICAL BOLD ITALIC CAPITAL PHI +1D732 Χ # MATHEMATICAL BOLD ITALIC CAPITAL CHI +1D733 Ψ # MATHEMATICAL BOLD ITALIC CAPITAL PSI +1D734 Ω # MATHEMATICAL BOLD ITALIC CAPITAL OMEGA +1D735 ∇ # MATHEMATICAL BOLD ITALIC NABLA +1D736 α # MATHEMATICAL BOLD ITALIC SMALL ALPHA +1D737 β # MATHEMATICAL BOLD ITALIC SMALL BETA +1D738 γ # MATHEMATICAL BOLD ITALIC SMALL GAMMA +1D739 δ # MATHEMATICAL BOLD ITALIC SMALL DELTA +1D73A ε # MATHEMATICAL BOLD ITALIC SMALL EPSILON +1D73B ζ # MATHEMATICAL BOLD ITALIC SMALL ZETA +1D73C η # MATHEMATICAL BOLD ITALIC SMALL ETA +1D73D θ # MATHEMATICAL BOLD ITALIC SMALL THETA +1D73E ι # MATHEMATICAL BOLD ITALIC SMALL IOTA +1D73F κ # MATHEMATICAL BOLD ITALIC SMALL KAPPA +1D740 λ # MATHEMATICAL BOLD ITALIC SMALL LAMDA +1D741 μ # MATHEMATICAL BOLD ITALIC SMALL MU +1D742 ν # MATHEMATICAL BOLD ITALIC SMALL NU +1D743 ξ # MATHEMATICAL BOLD ITALIC SMALL XI +1D744 ο # MATHEMATICAL BOLD ITALIC SMALL OMICRON +1D745 π # MATHEMATICAL BOLD ITALIC SMALL PI +1D746 ρ # MATHEMATICAL BOLD ITALIC SMALL RHO +1D747 ς # MATHEMATICAL BOLD ITALIC SMALL FINAL SIGMA +1D748 σ # MATHEMATICAL BOLD ITALIC SMALL SIGMA +1D749 τ # MATHEMATICAL BOLD ITALIC SMALL TAU +1D74A υ # MATHEMATICAL BOLD ITALIC SMALL UPSILON +1D74B φ # MATHEMATICAL BOLD ITALIC SMALL PHI +1D74C χ # MATHEMATICAL BOLD ITALIC SMALL CHI +1D74D ψ # MATHEMATICAL BOLD ITALIC SMALL PSI +1D74E ω # MATHEMATICAL BOLD ITALIC SMALL OMEGA +1D74F ∂ # MATHEMATICAL BOLD ITALIC PARTIAL DIFFERENTIAL +1D750 ϵ # MATHEMATICAL BOLD ITALIC EPSILON SYMBOL +1D751 ϑ # MATHEMATICAL BOLD ITALIC THETA SYMBOL +1D752 ϰ # MATHEMATICAL BOLD ITALIC KAPPA SYMBOL +1D753 ϕ # MATHEMATICAL BOLD ITALIC PHI SYMBOL +1D754 ϱ # MATHEMATICAL BOLD ITALIC RHO SYMBOL +1D755 ϖ # MATHEMATICAL BOLD ITALIC PI SYMBOL +1D756 Α # MATHEMATICAL SANS-SERIF BOLD CAPITAL ALPHA +1D757 Β # MATHEMATICAL SANS-SERIF BOLD CAPITAL BETA +1D758 Γ # MATHEMATICAL SANS-SERIF BOLD CAPITAL GAMMA +1D759 Δ # MATHEMATICAL SANS-SERIF BOLD CAPITAL DELTA +1D75A Ε # MATHEMATICAL SANS-SERIF BOLD CAPITAL EPSILON +1D75B Ζ # MATHEMATICAL SANS-SERIF BOLD CAPITAL ZETA +1D75C Η # MATHEMATICAL SANS-SERIF BOLD CAPITAL ETA +1D75D Θ # MATHEMATICAL SANS-SERIF BOLD CAPITAL THETA +1D75E Ι # MATHEMATICAL SANS-SERIF BOLD CAPITAL IOTA +1D75F Κ # MATHEMATICAL SANS-SERIF BOLD CAPITAL KAPPA +1D760 Λ # MATHEMATICAL SANS-SERIF BOLD CAPITAL LAMDA +1D761 Μ # MATHEMATICAL SANS-SERIF BOLD CAPITAL MU +1D762 Ν # MATHEMATICAL SANS-SERIF BOLD CAPITAL NU +1D763 Ξ # MATHEMATICAL SANS-SERIF BOLD CAPITAL XI +1D764 Ο # MATHEMATICAL SANS-SERIF BOLD CAPITAL OMICRON +1D765 Π # MATHEMATICAL SANS-SERIF BOLD CAPITAL PI +1D766 Ρ # MATHEMATICAL SANS-SERIF BOLD CAPITAL RHO +1D767 ϴ # MATHEMATICAL SANS-SERIF BOLD CAPITAL THETA SYMBOL +1D768 Σ # MATHEMATICAL SANS-SERIF BOLD CAPITAL SIGMA +1D769 Τ # MATHEMATICAL SANS-SERIF BOLD CAPITAL TAU +1D76A Υ # MATHEMATICAL SANS-SERIF BOLD CAPITAL UPSILON +1D76B Φ # MATHEMATICAL SANS-SERIF BOLD CAPITAL PHI +1D76C Χ # MATHEMATICAL SANS-SERIF BOLD CAPITAL CHI +1D76D Ψ # MATHEMATICAL SANS-SERIF BOLD CAPITAL PSI +1D76E Ω # MATHEMATICAL SANS-SERIF BOLD CAPITAL OMEGA +1D76F ∇ # MATHEMATICAL SANS-SERIF BOLD NABLA +1D770 α # MATHEMATICAL SANS-SERIF BOLD SMALL ALPHA +1D771 β # MATHEMATICAL SANS-SERIF BOLD SMALL BETA +1D772 γ # MATHEMATICAL SANS-SERIF BOLD SMALL GAMMA +1D773 δ # MATHEMATICAL SANS-SERIF BOLD SMALL DELTA +1D774 ε # MATHEMATICAL SANS-SERIF BOLD SMALL EPSILON +1D775 ζ # MATHEMATICAL SANS-SERIF BOLD SMALL ZETA +1D776 η # MATHEMATICAL SANS-SERIF BOLD SMALL ETA +1D777 θ # MATHEMATICAL SANS-SERIF BOLD SMALL THETA +1D778 ι # MATHEMATICAL SANS-SERIF BOLD SMALL IOTA +1D779 κ # MATHEMATICAL SANS-SERIF BOLD SMALL KAPPA +1D77A λ # MATHEMATICAL SANS-SERIF BOLD SMALL LAMDA +1D77B μ # MATHEMATICAL SANS-SERIF BOLD SMALL MU +1D77C ν # MATHEMATICAL SANS-SERIF BOLD SMALL NU +1D77D ξ # MATHEMATICAL SANS-SERIF BOLD SMALL XI +1D77E ο # MATHEMATICAL SANS-SERIF BOLD SMALL OMICRON +1D77F π # MATHEMATICAL SANS-SERIF BOLD SMALL PI +1D780 ρ # MATHEMATICAL SANS-SERIF BOLD SMALL RHO +1D781 ς # MATHEMATICAL SANS-SERIF BOLD SMALL FINAL SIGMA +1D782 σ # MATHEMATICAL SANS-SERIF BOLD SMALL SIGMA +1D783 τ # MATHEMATICAL SANS-SERIF BOLD SMALL TAU +1D784 υ # MATHEMATICAL SANS-SERIF BOLD SMALL UPSILON +1D785 φ # MATHEMATICAL SANS-SERIF BOLD SMALL PHI +1D786 χ # MATHEMATICAL SANS-SERIF BOLD SMALL CHI +1D787 ψ # MATHEMATICAL SANS-SERIF BOLD SMALL PSI +1D788 ω # MATHEMATICAL SANS-SERIF BOLD SMALL OMEGA +1D789 ∂ # MATHEMATICAL SANS-SERIF BOLD PARTIAL DIFFERENTIAL +1D78A ϵ # MATHEMATICAL SANS-SERIF BOLD EPSILON SYMBOL +1D78B ϑ # MATHEMATICAL SANS-SERIF BOLD THETA SYMBOL +1D78C ϰ # MATHEMATICAL SANS-SERIF BOLD KAPPA SYMBOL +1D78D ϕ # MATHEMATICAL SANS-SERIF BOLD PHI SYMBOL +1D78E ϱ # MATHEMATICAL SANS-SERIF BOLD RHO SYMBOL +1D78F ϖ # MATHEMATICAL SANS-SERIF BOLD PI SYMBOL +1D790 Α # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ALPHA +1D791 Β # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL BETA +1D792 Γ # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL GAMMA +1D793 Δ # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL DELTA +1D794 Ε # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL EPSILON +1D795 Ζ # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ZETA +1D796 Η # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ETA +1D797 Θ # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL THETA +1D798 Ι # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL IOTA +1D799 Κ # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL KAPPA +1D79A Λ # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL LAMDA +1D79B Μ # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL MU +1D79C Ν # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL NU +1D79D Ξ # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL XI +1D79E Ο # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMICRON +1D79F Π # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL PI +1D7A0 Ρ # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL RHO +1D7A1 ϴ # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL THETA SYMBOL +1D7A2 Σ # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL SIGMA +1D7A3 Τ # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL TAU +1D7A4 Υ # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL UPSILON +1D7A5 Φ # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL PHI +1D7A6 Χ # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL CHI +1D7A7 Ψ # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL PSI +1D7A8 Ω # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMEGA +1D7A9 ∇ # MATHEMATICAL SANS-SERIF BOLD ITALIC NABLA +1D7AA α # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ALPHA +1D7AB β # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL BETA +1D7AC γ # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL GAMMA +1D7AD δ # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL DELTA +1D7AE ε # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL EPSILON +1D7AF ζ # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ZETA +1D7B0 η # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ETA +1D7B1 θ # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL THETA +1D7B2 ι # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL IOTA +1D7B3 κ # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL KAPPA +1D7B4 λ # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL LAMDA +1D7B5 μ # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL MU +1D7B6 ν # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL NU +1D7B7 ξ # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL XI +1D7B8 ο # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMICRON +1D7B9 π # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PI +1D7BA ρ # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL RHO +1D7BB ς # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL FINAL SIGMA +1D7BC σ # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL SIGMA +1D7BD τ # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL TAU +1D7BE υ # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL UPSILON +1D7BF φ # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PHI +1D7C0 χ # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL CHI +1D7C1 ψ # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PSI +1D7C2 ω # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMEGA +1D7C3 ∂ # MATHEMATICAL SANS-SERIF BOLD ITALIC PARTIAL DIFFERENTIAL +1D7C4 ϵ # MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL +1D7C5 ϑ # MATHEMATICAL SANS-SERIF BOLD ITALIC THETA SYMBOL +1D7C6 ϰ # MATHEMATICAL SANS-SERIF BOLD ITALIC KAPPA SYMBOL +1D7C7 ϕ # MATHEMATICAL SANS-SERIF BOLD ITALIC PHI SYMBOL +1D7C8 ϱ # MATHEMATICAL SANS-SERIF BOLD ITALIC RHO SYMBOL +1D7C9 ϖ # MATHEMATICAL SANS-SERIF BOLD ITALIC PI SYMBOL +1D7CA Ϝ # MATHEMATICAL BOLD CAPITAL DIGAMMA +1D7CB ϝ # MATHEMATICAL BOLD SMALL DIGAMMA +1D7CE 0 # MATHEMATICAL BOLD DIGIT ZERO +1D7CF 1 # MATHEMATICAL BOLD DIGIT ONE +1D7D0 2 # MATHEMATICAL BOLD DIGIT TWO +1D7D1 3 # MATHEMATICAL BOLD DIGIT THREE +1D7D2 4 # MATHEMATICAL BOLD DIGIT FOUR +1D7D3 5 # MATHEMATICAL BOLD DIGIT FIVE +1D7D4 6 # MATHEMATICAL BOLD DIGIT SIX +1D7D5 7 # MATHEMATICAL BOLD DIGIT SEVEN +1D7D6 8 # MATHEMATICAL BOLD DIGIT EIGHT +1D7D7 9 # MATHEMATICAL BOLD DIGIT NINE +1D7D8 0 # MATHEMATICAL DOUBLE-STRUCK DIGIT ZERO +1D7D9 1 # MATHEMATICAL DOUBLE-STRUCK DIGIT ONE +1D7DA 2 # MATHEMATICAL DOUBLE-STRUCK DIGIT TWO +1D7DB 3 # MATHEMATICAL DOUBLE-STRUCK DIGIT THREE +1D7DC 4 # MATHEMATICAL DOUBLE-STRUCK DIGIT FOUR +1D7DD 5 # MATHEMATICAL DOUBLE-STRUCK DIGIT FIVE +1D7DE 6 # MATHEMATICAL DOUBLE-STRUCK DIGIT SIX +1D7DF 7 # MATHEMATICAL DOUBLE-STRUCK DIGIT SEVEN +1D7E0 8 # MATHEMATICAL DOUBLE-STRUCK DIGIT EIGHT +1D7E1 9 # MATHEMATICAL DOUBLE-STRUCK DIGIT NINE +1D7E2 0 # MATHEMATICAL SANS-SERIF DIGIT ZERO +1D7E3 1 # MATHEMATICAL SANS-SERIF DIGIT ONE +1D7E4 2 # MATHEMATICAL SANS-SERIF DIGIT TWO +1D7E5 3 # MATHEMATICAL SANS-SERIF DIGIT THREE +1D7E6 4 # MATHEMATICAL SANS-SERIF DIGIT FOUR +1D7E7 5 # MATHEMATICAL SANS-SERIF DIGIT FIVE +1D7E8 6 # MATHEMATICAL SANS-SERIF DIGIT SIX +1D7E9 7 # MATHEMATICAL SANS-SERIF DIGIT SEVEN +1D7EA 8 # MATHEMATICAL SANS-SERIF DIGIT EIGHT +1D7EB 9 # MATHEMATICAL SANS-SERIF DIGIT NINE +1D7EC 0 # MATHEMATICAL SANS-SERIF BOLD DIGIT ZERO +1D7ED 1 # MATHEMATICAL SANS-SERIF BOLD DIGIT ONE +1D7EE 2 # MATHEMATICAL SANS-SERIF BOLD DIGIT TWO +1D7EF 3 # MATHEMATICAL SANS-SERIF BOLD DIGIT THREE +1D7F0 4 # MATHEMATICAL SANS-SERIF BOLD DIGIT FOUR +1D7F1 5 # MATHEMATICAL SANS-SERIF BOLD DIGIT FIVE +1D7F2 6 # MATHEMATICAL SANS-SERIF BOLD DIGIT SIX +1D7F3 7 # MATHEMATICAL SANS-SERIF BOLD DIGIT SEVEN +1D7F4 8 # MATHEMATICAL SANS-SERIF BOLD DIGIT EIGHT +1D7F5 9 # MATHEMATICAL SANS-SERIF BOLD DIGIT NINE +1D7F6 0 # MATHEMATICAL MONOSPACE DIGIT ZERO +1D7F7 1 # MATHEMATICAL MONOSPACE DIGIT ONE +1D7F8 2 # MATHEMATICAL MONOSPACE DIGIT TWO +1D7F9 3 # MATHEMATICAL MONOSPACE DIGIT THREE +1D7FA 4 # MATHEMATICAL MONOSPACE DIGIT FOUR +1D7FB 5 # MATHEMATICAL MONOSPACE DIGIT FIVE +1D7FC 6 # MATHEMATICAL MONOSPACE DIGIT SIX +1D7FD 7 # MATHEMATICAL MONOSPACE DIGIT SEVEN +1D7FE 8 # MATHEMATICAL MONOSPACE DIGIT EIGHT +1D7FF 9 # MATHEMATICAL MONOSPACE DIGIT NINE +1EE00 ا # ARABIC MATHEMATICAL ALEF +1EE01 ب # ARABIC MATHEMATICAL BEH +1EE02 ج # ARABIC MATHEMATICAL JEEM +1EE03 د # ARABIC MATHEMATICAL DAL +1EE05 و # ARABIC MATHEMATICAL WAW +1EE06 ز # ARABIC MATHEMATICAL ZAIN +1EE07 ح # ARABIC MATHEMATICAL HAH +1EE08 ط # ARABIC MATHEMATICAL TAH +1EE09 ي # ARABIC MATHEMATICAL YEH +1EE0A ك # ARABIC MATHEMATICAL KAF +1EE0B ل # ARABIC MATHEMATICAL LAM +1EE0C م # ARABIC MATHEMATICAL MEEM +1EE0D ن # ARABIC MATHEMATICAL NOON +1EE0E س # ARABIC MATHEMATICAL SEEN +1EE0F ع # ARABIC MATHEMATICAL AIN +1EE10 ف # ARABIC MATHEMATICAL FEH +1EE11 ص # ARABIC MATHEMATICAL SAD +1EE12 ق # ARABIC MATHEMATICAL QAF +1EE13 ر # ARABIC MATHEMATICAL REH +1EE14 ش # ARABIC MATHEMATICAL SHEEN +1EE15 ت # ARABIC MATHEMATICAL TEH +1EE16 ث # ARABIC MATHEMATICAL THEH +1EE17 خ # ARABIC MATHEMATICAL KHAH +1EE18 ذ # ARABIC MATHEMATICAL THAL +1EE19 ض # ARABIC MATHEMATICAL DAD +1EE1A ظ # ARABIC MATHEMATICAL ZAH +1EE1B غ # ARABIC MATHEMATICAL GHAIN +1EE1C ٮ # ARABIC MATHEMATICAL DOTLESS BEH +1EE1D ں # ARABIC MATHEMATICAL DOTLESS NOON +1EE1E ڡ # ARABIC MATHEMATICAL DOTLESS FEH +1EE1F ٯ # ARABIC MATHEMATICAL DOTLESS QAF +1EE21 ب # ARABIC MATHEMATICAL INITIAL BEH +1EE22 ج # ARABIC MATHEMATICAL INITIAL JEEM +1EE24 ه # ARABIC MATHEMATICAL INITIAL HEH +1EE27 ح # ARABIC MATHEMATICAL INITIAL HAH +1EE29 ي # ARABIC MATHEMATICAL INITIAL YEH +1EE2A ك # ARABIC MATHEMATICAL INITIAL KAF +1EE2B ل # ARABIC MATHEMATICAL INITIAL LAM +1EE2C م # ARABIC MATHEMATICAL INITIAL MEEM +1EE2D ن # ARABIC MATHEMATICAL INITIAL NOON +1EE2E س # ARABIC MATHEMATICAL INITIAL SEEN +1EE2F ع # ARABIC MATHEMATICAL INITIAL AIN +1EE30 ف # ARABIC MATHEMATICAL INITIAL FEH +1EE31 ص # ARABIC MATHEMATICAL INITIAL SAD +1EE32 ق # ARABIC MATHEMATICAL INITIAL QAF +1EE34 ش # ARABIC MATHEMATICAL INITIAL SHEEN +1EE35 ت # ARABIC MATHEMATICAL INITIAL TEH +1EE36 ث # ARABIC MATHEMATICAL INITIAL THEH +1EE37 خ # ARABIC MATHEMATICAL INITIAL KHAH +1EE39 ض # ARABIC MATHEMATICAL INITIAL DAD +1EE3B غ # ARABIC MATHEMATICAL INITIAL GHAIN +1EE42 ج # ARABIC MATHEMATICAL TAILED JEEM +1EE47 ح # ARABIC MATHEMATICAL TAILED HAH +1EE49 ي # ARABIC MATHEMATICAL TAILED YEH +1EE4B ل # ARABIC MATHEMATICAL TAILED LAM +1EE4D ن # ARABIC MATHEMATICAL TAILED NOON +1EE4E س # ARABIC MATHEMATICAL TAILED SEEN +1EE4F ع # ARABIC MATHEMATICAL TAILED AIN +1EE51 ص # ARABIC MATHEMATICAL TAILED SAD +1EE52 ق # ARABIC MATHEMATICAL TAILED QAF +1EE54 ش # ARABIC MATHEMATICAL TAILED SHEEN +1EE57 خ # ARABIC MATHEMATICAL TAILED KHAH +1EE59 ض # ARABIC MATHEMATICAL TAILED DAD +1EE5B غ # ARABIC MATHEMATICAL TAILED GHAIN +1EE5D ں # ARABIC MATHEMATICAL TAILED DOTLESS NOON +1EE5F ٯ # ARABIC MATHEMATICAL TAILED DOTLESS QAF +1EE61 ب # ARABIC MATHEMATICAL STRETCHED BEH +1EE62 ج # ARABIC MATHEMATICAL STRETCHED JEEM +1EE64 ه # ARABIC MATHEMATICAL STRETCHED HEH +1EE67 ح # ARABIC MATHEMATICAL STRETCHED HAH +1EE68 ط # ARABIC MATHEMATICAL STRETCHED TAH +1EE69 ي # ARABIC MATHEMATICAL STRETCHED YEH +1EE6A ك # ARABIC MATHEMATICAL STRETCHED KAF +1EE6C م # ARABIC MATHEMATICAL STRETCHED MEEM +1EE6D ن # ARABIC MATHEMATICAL STRETCHED NOON +1EE6E س # ARABIC MATHEMATICAL STRETCHED SEEN +1EE6F ع # ARABIC MATHEMATICAL STRETCHED AIN +1EE70 ف # ARABIC MATHEMATICAL STRETCHED FEH +1EE71 ص # ARABIC MATHEMATICAL STRETCHED SAD +1EE72 ق # ARABIC MATHEMATICAL STRETCHED QAF +1EE74 ش # ARABIC MATHEMATICAL STRETCHED SHEEN +1EE75 ت # ARABIC MATHEMATICAL STRETCHED TEH +1EE76 ث # ARABIC MATHEMATICAL STRETCHED THEH +1EE77 خ # ARABIC MATHEMATICAL STRETCHED KHAH +1EE79 ض # ARABIC MATHEMATICAL STRETCHED DAD +1EE7A ظ # ARABIC MATHEMATICAL STRETCHED ZAH +1EE7B غ # ARABIC MATHEMATICAL STRETCHED GHAIN +1EE7C ٮ # ARABIC MATHEMATICAL STRETCHED DOTLESS BEH +1EE7E ڡ # ARABIC MATHEMATICAL STRETCHED DOTLESS FEH +1EE80 ا # ARABIC MATHEMATICAL LOOPED ALEF +1EE81 ب # ARABIC MATHEMATICAL LOOPED BEH +1EE82 ج # ARABIC MATHEMATICAL LOOPED JEEM +1EE83 د # ARABIC MATHEMATICAL LOOPED DAL +1EE84 ه # ARABIC MATHEMATICAL LOOPED HEH +1EE85 و # ARABIC MATHEMATICAL LOOPED WAW +1EE86 ز # ARABIC MATHEMATICAL LOOPED ZAIN +1EE87 ح # ARABIC MATHEMATICAL LOOPED HAH +1EE88 ط # ARABIC MATHEMATICAL LOOPED TAH +1EE89 ي # ARABIC MATHEMATICAL LOOPED YEH +1EE8B ل # ARABIC MATHEMATICAL LOOPED LAM +1EE8C م # ARABIC MATHEMATICAL LOOPED MEEM +1EE8D ن # ARABIC MATHEMATICAL LOOPED NOON +1EE8E س # ARABIC MATHEMATICAL LOOPED SEEN +1EE8F ع # ARABIC MATHEMATICAL LOOPED AIN +1EE90 ف # ARABIC MATHEMATICAL LOOPED FEH +1EE91 ص # ARABIC MATHEMATICAL LOOPED SAD +1EE92 ق # ARABIC MATHEMATICAL LOOPED QAF +1EE93 ر # ARABIC MATHEMATICAL LOOPED REH +1EE94 ش # ARABIC MATHEMATICAL LOOPED SHEEN +1EE95 ت # ARABIC MATHEMATICAL LOOPED TEH +1EE96 ث # ARABIC MATHEMATICAL LOOPED THEH +1EE97 خ # ARABIC MATHEMATICAL LOOPED KHAH +1EE98 ذ # ARABIC MATHEMATICAL LOOPED THAL +1EE99 ض # ARABIC MATHEMATICAL LOOPED DAD +1EE9A ظ # ARABIC MATHEMATICAL LOOPED ZAH +1EE9B غ # ARABIC MATHEMATICAL LOOPED GHAIN +1EEA1 ب # ARABIC MATHEMATICAL DOUBLE-STRUCK BEH +1EEA2 ج # ARABIC MATHEMATICAL DOUBLE-STRUCK JEEM +1EEA3 د # ARABIC MATHEMATICAL DOUBLE-STRUCK DAL +1EEA5 و # ARABIC MATHEMATICAL DOUBLE-STRUCK WAW +1EEA6 ز # ARABIC MATHEMATICAL DOUBLE-STRUCK ZAIN +1EEA7 ح # ARABIC MATHEMATICAL DOUBLE-STRUCK HAH +1EEA8 ط # ARABIC MATHEMATICAL DOUBLE-STRUCK TAH +1EEA9 ي # ARABIC MATHEMATICAL DOUBLE-STRUCK YEH +1EEAB ل # ARABIC MATHEMATICAL DOUBLE-STRUCK LAM +1EEAC م # ARABIC MATHEMATICAL DOUBLE-STRUCK MEEM +1EEAD ن # ARABIC MATHEMATICAL DOUBLE-STRUCK NOON +1EEAE س # ARABIC MATHEMATICAL DOUBLE-STRUCK SEEN +1EEAF ع # ARABIC MATHEMATICAL DOUBLE-STRUCK AIN +1EEB0 ف # ARABIC MATHEMATICAL DOUBLE-STRUCK FEH +1EEB1 ص # ARABIC MATHEMATICAL DOUBLE-STRUCK SAD +1EEB2 ق # ARABIC MATHEMATICAL DOUBLE-STRUCK QAF +1EEB3 ر # ARABIC MATHEMATICAL DOUBLE-STRUCK REH +1EEB4 ش # ARABIC MATHEMATICAL DOUBLE-STRUCK SHEEN +1EEB5 ت # ARABIC MATHEMATICAL DOUBLE-STRUCK TEH +1EEB6 ث # ARABIC MATHEMATICAL DOUBLE-STRUCK THEH +1EEB7 خ # ARABIC MATHEMATICAL DOUBLE-STRUCK KHAH +1EEB8 ذ # ARABIC MATHEMATICAL DOUBLE-STRUCK THAL +1EEB9 ض # ARABIC MATHEMATICAL DOUBLE-STRUCK DAD +1EEBA ظ # ARABIC MATHEMATICAL DOUBLE-STRUCK ZAH +1EEBB غ # ARABIC MATHEMATICAL DOUBLE-STRUCK GHAIN +1F100 0. # DIGIT ZERO FULL STOP +1F101 0, # DIGIT ZERO COMMA +1F102 1, # DIGIT ONE COMMA +1F103 2, # DIGIT TWO COMMA +1F104 3, # DIGIT THREE COMMA +1F105 4, # DIGIT FOUR COMMA +1F106 5, # DIGIT FIVE COMMA +1F107 6, # DIGIT SIX COMMA +1F108 7, # DIGIT SEVEN COMMA +1F109 8, # DIGIT EIGHT COMMA +1F10A 9, # DIGIT NINE COMMA +1F110 (A) # PARENTHESIZED LATIN CAPITAL LETTER A +1F111 (B) # PARENTHESIZED LATIN CAPITAL LETTER B +1F112 (C) # PARENTHESIZED LATIN CAPITAL LETTER C +1F113 (D) # PARENTHESIZED LATIN CAPITAL LETTER D +1F114 (E) # PARENTHESIZED LATIN CAPITAL LETTER E +1F115 (F) # PARENTHESIZED LATIN CAPITAL LETTER F +1F116 (G) # PARENTHESIZED LATIN CAPITAL LETTER G +1F117 (H) # PARENTHESIZED LATIN CAPITAL LETTER H +1F118 (I) # PARENTHESIZED LATIN CAPITAL LETTER I +1F119 (J) # PARENTHESIZED LATIN CAPITAL LETTER J +1F11A (K) # PARENTHESIZED LATIN CAPITAL LETTER K +1F11B (L) # PARENTHESIZED LATIN CAPITAL LETTER L +1F11C (M) # PARENTHESIZED LATIN CAPITAL LETTER M +1F11D (N) # PARENTHESIZED LATIN CAPITAL LETTER N +1F11E (O) # PARENTHESIZED LATIN CAPITAL LETTER O +1F11F (P) # PARENTHESIZED LATIN CAPITAL LETTER P +1F120 (Q) # PARENTHESIZED LATIN CAPITAL LETTER Q +1F121 (R) # PARENTHESIZED LATIN CAPITAL LETTER R +1F122 (S) # PARENTHESIZED LATIN CAPITAL LETTER S +1F123 (T) # PARENTHESIZED LATIN CAPITAL LETTER T +1F124 (U) # PARENTHESIZED LATIN CAPITAL LETTER U +1F125 (V) # PARENTHESIZED LATIN CAPITAL LETTER V +1F126 (W) # PARENTHESIZED LATIN CAPITAL LETTER W +1F127 (X) # PARENTHESIZED LATIN CAPITAL LETTER X +1F128 (Y) # PARENTHESIZED LATIN CAPITAL LETTER Y +1F129 (Z) # PARENTHESIZED LATIN CAPITAL LETTER Z +1F12A 〔S〕 # TORTOISE SHELL BRACKETED LATIN CAPITAL LETTER S +1F12B (C) # CIRCLED ITALIC LATIN CAPITAL LETTER C +1F12C (R) # CIRCLED ITALIC LATIN CAPITAL LETTER R +1F12D (CD) # CIRCLED CD +1F12E (WZ) # CIRCLED WZ +1F130 A # SQUARED LATIN CAPITAL LETTER A +1F131 B # SQUARED LATIN CAPITAL LETTER B +1F132 C # SQUARED LATIN CAPITAL LETTER C +1F133 D # SQUARED LATIN CAPITAL LETTER D +1F134 E # SQUARED LATIN CAPITAL LETTER E +1F135 F # SQUARED LATIN CAPITAL LETTER F +1F136 G # SQUARED LATIN CAPITAL LETTER G +1F137 H # SQUARED LATIN CAPITAL LETTER H +1F138 I # SQUARED LATIN CAPITAL LETTER I +1F139 J # SQUARED LATIN CAPITAL LETTER J +1F13A K # SQUARED LATIN CAPITAL LETTER K +1F13B L # SQUARED LATIN CAPITAL LETTER L +1F13C M # SQUARED LATIN CAPITAL LETTER M +1F13D N # SQUARED LATIN CAPITAL LETTER N +1F13E O # SQUARED LATIN CAPITAL LETTER O +1F13F P # SQUARED LATIN CAPITAL LETTER P +1F140 Q # SQUARED LATIN CAPITAL LETTER Q +1F141 R # SQUARED LATIN CAPITAL LETTER R +1F142 S # SQUARED LATIN CAPITAL LETTER S +1F143 T # SQUARED LATIN CAPITAL LETTER T +1F144 U # SQUARED LATIN CAPITAL LETTER U +1F145 V # SQUARED LATIN CAPITAL LETTER V +1F146 W # SQUARED LATIN CAPITAL LETTER W +1F147 X # SQUARED LATIN CAPITAL LETTER X +1F148 Y # SQUARED LATIN CAPITAL LETTER Y +1F149 Z # SQUARED LATIN CAPITAL LETTER Z +1F14A HV # SQUARED HV +1F14B MV # SQUARED MV +1F14C SD # SQUARED SD +1F14D SS # SQUARED SS +1F14E PPV # SQUARED PPV +1F14F WC # SQUARED WC +1F190 DJ # SQUARE DJ +1F200 ほか # SQUARE HIRAGANA HOKA +1F201 ココ # SQUARED KATAKANA KOKO +1F202 サ # SQUARED KATAKANA SA +1F210 手 # SQUARED CJK UNIFIED IDEOGRAPH-624B +1F211 字 # SQUARED CJK UNIFIED IDEOGRAPH-5B57 +1F212 双 # SQUARED CJK UNIFIED IDEOGRAPH-53CC +1F213 デ # SQUARED KATAKANA DE +1F214 二 # SQUARED CJK UNIFIED IDEOGRAPH-4E8C +1F215 多 # SQUARED CJK UNIFIED IDEOGRAPH-591A +1F216 解 # SQUARED CJK UNIFIED IDEOGRAPH-89E3 +1F217 天 # SQUARED CJK UNIFIED IDEOGRAPH-5929 +1F218 交 # SQUARED CJK UNIFIED IDEOGRAPH-4EA4 +1F219 映 # SQUARED CJK UNIFIED IDEOGRAPH-6620 +1F21A 無 # SQUARED CJK UNIFIED IDEOGRAPH-7121 +1F21B 料 # SQUARED CJK UNIFIED IDEOGRAPH-6599 +1F21C 前 # SQUARED CJK UNIFIED IDEOGRAPH-524D +1F21D 後 # SQUARED CJK UNIFIED IDEOGRAPH-5F8C +1F21E 再 # SQUARED CJK UNIFIED IDEOGRAPH-518D +1F21F 新 # SQUARED CJK UNIFIED IDEOGRAPH-65B0 +1F220 初 # SQUARED CJK UNIFIED IDEOGRAPH-521D +1F221 終 # SQUARED CJK UNIFIED IDEOGRAPH-7D42 +1F222 生 # SQUARED CJK UNIFIED IDEOGRAPH-751F +1F223 販 # SQUARED CJK UNIFIED IDEOGRAPH-8CA9 +1F224 声 # SQUARED CJK UNIFIED IDEOGRAPH-58F0 +1F225 吹 # SQUARED CJK UNIFIED IDEOGRAPH-5439 +1F226 演 # SQUARED CJK UNIFIED IDEOGRAPH-6F14 +1F227 投 # SQUARED CJK UNIFIED IDEOGRAPH-6295 +1F228 捕 # SQUARED CJK UNIFIED IDEOGRAPH-6355 +1F229 一 # SQUARED CJK UNIFIED IDEOGRAPH-4E00 +1F22A 三 # SQUARED CJK UNIFIED IDEOGRAPH-4E09 +1F22B 遊 # SQUARED CJK UNIFIED IDEOGRAPH-904A +1F22C 左 # SQUARED CJK UNIFIED IDEOGRAPH-5DE6 +1F22D 中 # SQUARED CJK UNIFIED IDEOGRAPH-4E2D +1F22E 右 # SQUARED CJK UNIFIED IDEOGRAPH-53F3 +1F22F 指 # SQUARED CJK UNIFIED IDEOGRAPH-6307 +1F230 走 # SQUARED CJK UNIFIED IDEOGRAPH-8D70 +1F231 打 # SQUARED CJK UNIFIED IDEOGRAPH-6253 +1F232 禁 # SQUARED CJK UNIFIED IDEOGRAPH-7981 +1F233 空 # SQUARED CJK UNIFIED IDEOGRAPH-7A7A +1F234 合 # SQUARED CJK UNIFIED IDEOGRAPH-5408 +1F235 満 # SQUARED CJK UNIFIED IDEOGRAPH-6E80 +1F236 有 # SQUARED CJK UNIFIED IDEOGRAPH-6709 +1F237 月 # SQUARED CJK UNIFIED IDEOGRAPH-6708 +1F238 申 # SQUARED CJK UNIFIED IDEOGRAPH-7533 +1F239 割 # SQUARED CJK UNIFIED IDEOGRAPH-5272 +1F23A 営 # SQUARED CJK UNIFIED IDEOGRAPH-55B6 +1F23B 配 # SQUARED CJK UNIFIED IDEOGRAPH-914D +1F240 〔本〕 # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-672C +1F241 〔三〕 # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E09 +1F242 〔二〕 # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E8C +1F243 〔安〕 # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-5B89 +1F244 〔点〕 # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-70B9 +1F245 〔打〕 # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6253 +1F246 〔盗〕 # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-76D7 +1F247 〔勝〕 # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-52DD +1F248 〔敗〕 # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6557 +1F250 (得) # CIRCLED IDEOGRAPH ADVANTAGE +1F251 (可) # CIRCLED IDEOGRAPH ACCEPT +1F493 /<3 # BEATING HEART +1F494 /:) # SMILING FACE WITH HORNS +1F609 ;-) # WINKING FACE +1F60A :-) # SMILING FACE WITH SMILING EYES +1F60B :-P # FACE SAVOURING DELICIOUS FOOD +1F60C :-) # RELIEVED FACE +1F60D :-* # SMILING FACE WITH HEART-SHAPED EYES +1F60E B-) # SMILING FACE WITH SUNGLASSES +1F60F ;-) # SMIRKING FACE +1F610 :-| # NEUTRAL FACE +1F611 :-| # EXPRESSIONLESS FACE +1F612 :-| # UNAMUSED FACE +1F613 :'-| # FACE WITH COLD SWEAT +1F614 :-| # PENSIVE FACE +1F615 :-// # CONFUSED FACE +1F616 :-S # CONFOUNDED FACE +1F617 :-* # KISSING FACE +1F618 :-* # FACE THROWING A KISS +1F619 :-* # KISSING FACE WITH SMILING EYES +1F61A :-* # KISSING FACE WITH CLOSED EYES +1F61B :-P # FACE WITH STUCK-OUT TONGUE +1F61C ;-P # FACE WITH STUCK-OUT TONGUE AND WINKING EYE +1F61D X-P # FACE WITH STUCK-OUT TONGUE AND TIGHTLY-CLOSED EYES +1F61E :-( # DISAPPOINTED FACE +1F61F :-( # WORRIED FACE +1F620 />:-( # ANGRY FACE +1F621 :-( # POUTING FACE +1F622 :'-( # CRYING FACE +1F623 X-( # PERSEVERING FACE +1F626 :-O # FROWNING FACE WITH OPEN MOUTH +1F627 :-O # ANGUISHED FACE +1F628 :-O # FEARFUL FACE +1F629 :-O # WEARY FACE +1F62D :"-( # LOUDLY CRYING FACE +1F62E :-O # FACE WITH OPEN MOUTH +1F62F :-O # HUSHED FACE +1F630 :'-O # FACE WITH OPEN MOUTH AND COLD SWEAT +1F631 :-O # FACE SCREAMING IN FEAR +1F632 :-O # ASTONISHED FACE +1F638 :-3 # GRINNING CAT FACE WITH SMILING EYES +1F639 :'-3 # CAT FACE WITH TEARS OF JOY +1F63A :-3 # SMILING CAT FACE WITH OPEN MOUTH +1F63B :-3 # SMILING CAT FACE WITH HEART-SHAPE EYES +1F63C ;-3 # CAT FACE WITH WRY SMILE +1F63D :-3 # KISSING CAT FACE WITH CLOSED EYES +1F641 :-( # SLIGHTLY FROWNING FACE +1F642 :-) # SLIGHTLY SMILING FACE +1F643 (-: # UPSIDE-DOWN FACE +1F90D /<3 # WHITE HEART +1F90E /<3 # BROWN HEART +1F9E1 /<3 # ORANGE HEART +1FBF0 0 # SEGMENTED DIGIT ZERO +1FBF1 1 # SEGMENTED DIGIT ONE +1FBF2 2 # SEGMENTED DIGIT TWO +1FBF3 3 # SEGMENTED DIGIT THREE +1FBF4 4 # SEGMENTED DIGIT FOUR +1FBF5 5 # SEGMENTED DIGIT FIVE +1FBF6 6 # SEGMENTED DIGIT SIX +1FBF7 7 # SEGMENTED DIGIT SEVEN +1FBF8 8 # SEGMENTED DIGIT EIGHT +1FBF9 9 # SEGMENTED DIGIT NINE +2F800 丽 # CJK COMPATIBILITY IDEOGRAPH-2F800 +2F801 丸 # CJK COMPATIBILITY IDEOGRAPH-2F801 +2F802 乁 # CJK COMPATIBILITY IDEOGRAPH-2F802 +2F803 𠄢 # CJK COMPATIBILITY IDEOGRAPH-2F803 +2F804 你 # CJK COMPATIBILITY IDEOGRAPH-2F804 +2F805 侮 # CJK COMPATIBILITY IDEOGRAPH-2F805 +2F806 侻 # CJK COMPATIBILITY IDEOGRAPH-2F806 +2F807 倂 # CJK COMPATIBILITY IDEOGRAPH-2F807 +2F808 偺 # CJK COMPATIBILITY IDEOGRAPH-2F808 +2F809 備 # CJK COMPATIBILITY IDEOGRAPH-2F809 +2F80A 僧 # CJK COMPATIBILITY IDEOGRAPH-2F80A +2F80B 像 # CJK COMPATIBILITY IDEOGRAPH-2F80B +2F80C 㒞 # CJK COMPATIBILITY IDEOGRAPH-2F80C +2F80D 𠘺 # CJK COMPATIBILITY IDEOGRAPH-2F80D +2F80E 免 # CJK COMPATIBILITY IDEOGRAPH-2F80E +2F80F 兔 # CJK COMPATIBILITY IDEOGRAPH-2F80F +2F810 兤 # CJK COMPATIBILITY IDEOGRAPH-2F810 +2F811 具 # CJK COMPATIBILITY IDEOGRAPH-2F811 +2F812 𠔜 # CJK COMPATIBILITY IDEOGRAPH-2F812 +2F813 㒹 # CJK COMPATIBILITY IDEOGRAPH-2F813 +2F814 內 # CJK COMPATIBILITY IDEOGRAPH-2F814 +2F815 再 # CJK COMPATIBILITY IDEOGRAPH-2F815 +2F816 𠕋 # CJK COMPATIBILITY IDEOGRAPH-2F816 +2F817 冗 # CJK COMPATIBILITY IDEOGRAPH-2F817 +2F818 冤 # CJK COMPATIBILITY IDEOGRAPH-2F818 +2F819 仌 # CJK COMPATIBILITY IDEOGRAPH-2F819 +2F81A 冬 # CJK COMPATIBILITY IDEOGRAPH-2F81A +2F81B 况 # CJK COMPATIBILITY IDEOGRAPH-2F81B +2F81C 𩇟 # CJK COMPATIBILITY IDEOGRAPH-2F81C +2F81D 凵 # CJK COMPATIBILITY IDEOGRAPH-2F81D +2F81E 刃 # CJK COMPATIBILITY IDEOGRAPH-2F81E +2F81F 㓟 # CJK COMPATIBILITY IDEOGRAPH-2F81F +2F820 刻 # CJK COMPATIBILITY IDEOGRAPH-2F820 +2F821 剆 # CJK COMPATIBILITY IDEOGRAPH-2F821 +2F822 割 # CJK COMPATIBILITY IDEOGRAPH-2F822 +2F823 剷 # CJK COMPATIBILITY IDEOGRAPH-2F823 +2F824 㔕 # CJK COMPATIBILITY IDEOGRAPH-2F824 +2F825 勇 # CJK COMPATIBILITY IDEOGRAPH-2F825 +2F826 勉 # CJK COMPATIBILITY IDEOGRAPH-2F826 +2F827 勤 # CJK COMPATIBILITY IDEOGRAPH-2F827 +2F828 勺 # CJK COMPATIBILITY IDEOGRAPH-2F828 +2F829 包 # CJK COMPATIBILITY IDEOGRAPH-2F829 +2F82A 匆 # CJK COMPATIBILITY IDEOGRAPH-2F82A +2F82B 北 # CJK COMPATIBILITY IDEOGRAPH-2F82B +2F82C 卉 # CJK COMPATIBILITY IDEOGRAPH-2F82C +2F82D 卑 # CJK COMPATIBILITY IDEOGRAPH-2F82D +2F82E 博 # CJK COMPATIBILITY IDEOGRAPH-2F82E +2F82F 即 # CJK COMPATIBILITY IDEOGRAPH-2F82F +2F830 卽 # CJK COMPATIBILITY IDEOGRAPH-2F830 +2F831 卿 # CJK COMPATIBILITY IDEOGRAPH-2F831 +2F832 卿 # CJK COMPATIBILITY IDEOGRAPH-2F832 +2F833 卿 # CJK COMPATIBILITY IDEOGRAPH-2F833 +2F834 𠨬 # CJK COMPATIBILITY IDEOGRAPH-2F834 +2F835 灰 # CJK COMPATIBILITY IDEOGRAPH-2F835 +2F836 及 # CJK COMPATIBILITY IDEOGRAPH-2F836 +2F837 叟 # CJK COMPATIBILITY IDEOGRAPH-2F837 +2F838 𠭣 # CJK COMPATIBILITY IDEOGRAPH-2F838 +2F839 叫 # CJK COMPATIBILITY IDEOGRAPH-2F839 +2F83A 叱 # CJK COMPATIBILITY IDEOGRAPH-2F83A +2F83B 吆 # CJK COMPATIBILITY IDEOGRAPH-2F83B +2F83C 咞 # CJK COMPATIBILITY IDEOGRAPH-2F83C +2F83D 吸 # CJK COMPATIBILITY IDEOGRAPH-2F83D +2F83E 呈 # CJK COMPATIBILITY IDEOGRAPH-2F83E +2F83F 周 # CJK COMPATIBILITY IDEOGRAPH-2F83F +2F840 咢 # CJK COMPATIBILITY IDEOGRAPH-2F840 +2F841 哶 # CJK COMPATIBILITY IDEOGRAPH-2F841 +2F842 唐 # CJK COMPATIBILITY IDEOGRAPH-2F842 +2F843 啓 # CJK COMPATIBILITY IDEOGRAPH-2F843 +2F844 啣 # CJK COMPATIBILITY IDEOGRAPH-2F844 +2F845 善 # CJK COMPATIBILITY IDEOGRAPH-2F845 +2F846 善 # CJK COMPATIBILITY IDEOGRAPH-2F846 +2F847 喙 # CJK COMPATIBILITY IDEOGRAPH-2F847 +2F848 喫 # CJK COMPATIBILITY IDEOGRAPH-2F848 +2F849 喳 # CJK COMPATIBILITY IDEOGRAPH-2F849 +2F84A 嗂 # CJK COMPATIBILITY IDEOGRAPH-2F84A +2F84B 圖 # CJK COMPATIBILITY IDEOGRAPH-2F84B +2F84C 嘆 # CJK COMPATIBILITY IDEOGRAPH-2F84C +2F84D 圗 # CJK COMPATIBILITY IDEOGRAPH-2F84D +2F84E 噑 # CJK COMPATIBILITY IDEOGRAPH-2F84E +2F84F 噴 # CJK COMPATIBILITY IDEOGRAPH-2F84F +2F850 切 # CJK COMPATIBILITY IDEOGRAPH-2F850 +2F851 壮 # CJK COMPATIBILITY IDEOGRAPH-2F851 +2F852 城 # CJK COMPATIBILITY IDEOGRAPH-2F852 +2F853 埴 # CJK COMPATIBILITY IDEOGRAPH-2F853 +2F854 堍 # CJK COMPATIBILITY IDEOGRAPH-2F854 +2F855 型 # CJK COMPATIBILITY IDEOGRAPH-2F855 +2F856 堲 # CJK COMPATIBILITY IDEOGRAPH-2F856 +2F857 報 # CJK COMPATIBILITY IDEOGRAPH-2F857 +2F858 墬 # CJK COMPATIBILITY IDEOGRAPH-2F858 +2F859 𡓤 # CJK COMPATIBILITY IDEOGRAPH-2F859 +2F85A 売 # CJK COMPATIBILITY IDEOGRAPH-2F85A +2F85B 壷 # CJK COMPATIBILITY IDEOGRAPH-2F85B +2F85C 夆 # CJK COMPATIBILITY IDEOGRAPH-2F85C +2F85D 多 # CJK COMPATIBILITY IDEOGRAPH-2F85D +2F85E 夢 # CJK COMPATIBILITY IDEOGRAPH-2F85E +2F85F 奢 # CJK COMPATIBILITY IDEOGRAPH-2F85F +2F860 𡚨 # CJK COMPATIBILITY IDEOGRAPH-2F860 +2F861 𡛪 # CJK COMPATIBILITY IDEOGRAPH-2F861 +2F862 姬 # CJK COMPATIBILITY IDEOGRAPH-2F862 +2F863 娛 # CJK COMPATIBILITY IDEOGRAPH-2F863 +2F864 娧 # CJK COMPATIBILITY IDEOGRAPH-2F864 +2F865 姘 # CJK COMPATIBILITY IDEOGRAPH-2F865 +2F866 婦 # CJK COMPATIBILITY IDEOGRAPH-2F866 +2F867 㛮 # CJK COMPATIBILITY IDEOGRAPH-2F867 +2F868 㛼 # CJK COMPATIBILITY IDEOGRAPH-2F868 +2F869 嬈 # CJK COMPATIBILITY IDEOGRAPH-2F869 +2F86A 嬾 # CJK COMPATIBILITY IDEOGRAPH-2F86A +2F86B 嬾 # CJK COMPATIBILITY IDEOGRAPH-2F86B +2F86C 𡧈 # CJK COMPATIBILITY IDEOGRAPH-2F86C +2F86D 寃 # CJK COMPATIBILITY IDEOGRAPH-2F86D +2F86E 寘 # CJK COMPATIBILITY IDEOGRAPH-2F86E +2F86F 寧 # CJK COMPATIBILITY IDEOGRAPH-2F86F +2F870 寳 # CJK COMPATIBILITY IDEOGRAPH-2F870 +2F871 𡬘 # CJK COMPATIBILITY IDEOGRAPH-2F871 +2F872 寿 # CJK COMPATIBILITY IDEOGRAPH-2F872 +2F873 将 # CJK COMPATIBILITY IDEOGRAPH-2F873 +2F874 当 # CJK COMPATIBILITY IDEOGRAPH-2F874 +2F875 尢 # CJK COMPATIBILITY IDEOGRAPH-2F875 +2F876 㞁 # CJK COMPATIBILITY IDEOGRAPH-2F876 +2F877 屠 # CJK COMPATIBILITY IDEOGRAPH-2F877 +2F878 屮 # CJK COMPATIBILITY IDEOGRAPH-2F878 +2F879 峀 # CJK COMPATIBILITY IDEOGRAPH-2F879 +2F87A 岍 # CJK COMPATIBILITY IDEOGRAPH-2F87A +2F87B 𡷤 # CJK COMPATIBILITY IDEOGRAPH-2F87B +2F87C 嵃 # CJK COMPATIBILITY IDEOGRAPH-2F87C +2F87D 𡷦 # CJK COMPATIBILITY IDEOGRAPH-2F87D +2F87E 嵮 # CJK COMPATIBILITY IDEOGRAPH-2F87E +2F87F 嵫 # CJK COMPATIBILITY IDEOGRAPH-2F87F +2F880 嵼 # CJK COMPATIBILITY IDEOGRAPH-2F880 +2F881 巡 # CJK COMPATIBILITY IDEOGRAPH-2F881 +2F882 巢 # CJK COMPATIBILITY IDEOGRAPH-2F882 +2F883 㠯 # CJK COMPATIBILITY IDEOGRAPH-2F883 +2F884 巽 # CJK COMPATIBILITY IDEOGRAPH-2F884 +2F885 帨 # CJK COMPATIBILITY IDEOGRAPH-2F885 +2F886 帽 # CJK COMPATIBILITY IDEOGRAPH-2F886 +2F887 幩 # CJK COMPATIBILITY IDEOGRAPH-2F887 +2F888 㡢 # CJK COMPATIBILITY IDEOGRAPH-2F888 +2F889 𢆃 # CJK COMPATIBILITY IDEOGRAPH-2F889 +2F88A 㡼 # CJK COMPATIBILITY IDEOGRAPH-2F88A +2F88B 庰 # CJK COMPATIBILITY IDEOGRAPH-2F88B +2F88C 庳 # CJK COMPATIBILITY IDEOGRAPH-2F88C +2F88D 庶 # CJK COMPATIBILITY IDEOGRAPH-2F88D +2F88E 廊 # CJK COMPATIBILITY IDEOGRAPH-2F88E +2F88F 𪎒 # CJK COMPATIBILITY IDEOGRAPH-2F88F +2F890 廾 # CJK COMPATIBILITY IDEOGRAPH-2F890 +2F891 𢌱 # CJK COMPATIBILITY IDEOGRAPH-2F891 +2F892 𢌱 # CJK COMPATIBILITY IDEOGRAPH-2F892 +2F893 舁 # CJK COMPATIBILITY IDEOGRAPH-2F893 +2F894 弢 # CJK COMPATIBILITY IDEOGRAPH-2F894 +2F895 弢 # CJK COMPATIBILITY IDEOGRAPH-2F895 +2F896 㣇 # CJK COMPATIBILITY IDEOGRAPH-2F896 +2F897 𣊸 # CJK COMPATIBILITY IDEOGRAPH-2F897 +2F898 𦇚 # CJK COMPATIBILITY IDEOGRAPH-2F898 +2F899 形 # CJK COMPATIBILITY IDEOGRAPH-2F899 +2F89A 彫 # CJK COMPATIBILITY IDEOGRAPH-2F89A +2F89B 㣣 # CJK COMPATIBILITY IDEOGRAPH-2F89B +2F89C 徚 # CJK COMPATIBILITY IDEOGRAPH-2F89C +2F89D 忍 # CJK COMPATIBILITY IDEOGRAPH-2F89D +2F89E 志 # CJK COMPATIBILITY IDEOGRAPH-2F89E +2F89F 忹 # CJK COMPATIBILITY IDEOGRAPH-2F89F +2F8A0 悁 # CJK COMPATIBILITY IDEOGRAPH-2F8A0 +2F8A1 㤺 # CJK COMPATIBILITY IDEOGRAPH-2F8A1 +2F8A2 㤜 # CJK COMPATIBILITY IDEOGRAPH-2F8A2 +2F8A3 悔 # CJK COMPATIBILITY IDEOGRAPH-2F8A3 +2F8A4 𢛔 # CJK COMPATIBILITY IDEOGRAPH-2F8A4 +2F8A5 惇 # CJK COMPATIBILITY IDEOGRAPH-2F8A5 +2F8A6 慈 # CJK COMPATIBILITY IDEOGRAPH-2F8A6 +2F8A7 慌 # CJK COMPATIBILITY IDEOGRAPH-2F8A7 +2F8A8 慎 # CJK COMPATIBILITY IDEOGRAPH-2F8A8 +2F8A9 慌 # CJK COMPATIBILITY IDEOGRAPH-2F8A9 +2F8AA 慺 # CJK COMPATIBILITY IDEOGRAPH-2F8AA +2F8AB 憎 # CJK COMPATIBILITY IDEOGRAPH-2F8AB +2F8AC 憲 # CJK COMPATIBILITY IDEOGRAPH-2F8AC +2F8AD 憤 # CJK COMPATIBILITY IDEOGRAPH-2F8AD +2F8AE 憯 # CJK COMPATIBILITY IDEOGRAPH-2F8AE +2F8AF 懞 # CJK COMPATIBILITY IDEOGRAPH-2F8AF +2F8B0 懲 # CJK COMPATIBILITY IDEOGRAPH-2F8B0 +2F8B1 懶 # CJK COMPATIBILITY IDEOGRAPH-2F8B1 +2F8B2 成 # CJK COMPATIBILITY IDEOGRAPH-2F8B2 +2F8B3 戛 # CJK COMPATIBILITY IDEOGRAPH-2F8B3 +2F8B4 扝 # CJK COMPATIBILITY IDEOGRAPH-2F8B4 +2F8B5 抱 # CJK COMPATIBILITY IDEOGRAPH-2F8B5 +2F8B6 拔 # CJK COMPATIBILITY IDEOGRAPH-2F8B6 +2F8B7 捐 # CJK COMPATIBILITY IDEOGRAPH-2F8B7 +2F8B8 𢬌 # CJK COMPATIBILITY IDEOGRAPH-2F8B8 +2F8B9 挽 # CJK COMPATIBILITY IDEOGRAPH-2F8B9 +2F8BA 拼 # CJK COMPATIBILITY IDEOGRAPH-2F8BA +2F8BB 捨 # CJK COMPATIBILITY IDEOGRAPH-2F8BB +2F8BC 掃 # CJK COMPATIBILITY IDEOGRAPH-2F8BC +2F8BD 揤 # CJK COMPATIBILITY IDEOGRAPH-2F8BD +2F8BE 𢯱 # CJK COMPATIBILITY IDEOGRAPH-2F8BE +2F8BF 搢 # CJK COMPATIBILITY IDEOGRAPH-2F8BF +2F8C0 揅 # CJK COMPATIBILITY IDEOGRAPH-2F8C0 +2F8C1 掩 # CJK COMPATIBILITY IDEOGRAPH-2F8C1 +2F8C2 㨮 # CJK COMPATIBILITY IDEOGRAPH-2F8C2 +2F8C3 摩 # CJK COMPATIBILITY IDEOGRAPH-2F8C3 +2F8C4 摾 # CJK COMPATIBILITY IDEOGRAPH-2F8C4 +2F8C5 撝 # CJK COMPATIBILITY IDEOGRAPH-2F8C5 +2F8C6 摷 # CJK COMPATIBILITY IDEOGRAPH-2F8C6 +2F8C7 㩬 # CJK COMPATIBILITY IDEOGRAPH-2F8C7 +2F8C8 敏 # CJK COMPATIBILITY IDEOGRAPH-2F8C8 +2F8C9 敬 # CJK COMPATIBILITY IDEOGRAPH-2F8C9 +2F8CA 𣀊 # CJK COMPATIBILITY IDEOGRAPH-2F8CA +2F8CB 旣 # CJK COMPATIBILITY IDEOGRAPH-2F8CB +2F8CC 書 # CJK COMPATIBILITY IDEOGRAPH-2F8CC +2F8CD 晉 # CJK COMPATIBILITY IDEOGRAPH-2F8CD +2F8CE 㬙 # CJK COMPATIBILITY IDEOGRAPH-2F8CE +2F8CF 暑 # CJK COMPATIBILITY IDEOGRAPH-2F8CF +2F8D0 㬈 # CJK COMPATIBILITY IDEOGRAPH-2F8D0 +2F8D1 㫤 # CJK COMPATIBILITY IDEOGRAPH-2F8D1 +2F8D2 冒 # CJK COMPATIBILITY IDEOGRAPH-2F8D2 +2F8D3 冕 # CJK COMPATIBILITY IDEOGRAPH-2F8D3 +2F8D4 最 # CJK COMPATIBILITY IDEOGRAPH-2F8D4 +2F8D5 暜 # CJK COMPATIBILITY IDEOGRAPH-2F8D5 +2F8D6 肭 # CJK COMPATIBILITY IDEOGRAPH-2F8D6 +2F8D7 䏙 # CJK COMPATIBILITY IDEOGRAPH-2F8D7 +2F8D8 朗 # CJK COMPATIBILITY IDEOGRAPH-2F8D8 +2F8D9 望 # CJK COMPATIBILITY IDEOGRAPH-2F8D9 +2F8DA 朡 # CJK COMPATIBILITY IDEOGRAPH-2F8DA +2F8DB 杞 # CJK COMPATIBILITY IDEOGRAPH-2F8DB +2F8DC 杓 # CJK COMPATIBILITY IDEOGRAPH-2F8DC +2F8DD 𣏃 # CJK COMPATIBILITY IDEOGRAPH-2F8DD +2F8DE 㭉 # CJK COMPATIBILITY IDEOGRAPH-2F8DE +2F8DF 柺 # CJK COMPATIBILITY IDEOGRAPH-2F8DF +2F8E0 枅 # CJK COMPATIBILITY IDEOGRAPH-2F8E0 +2F8E1 桒 # CJK COMPATIBILITY IDEOGRAPH-2F8E1 +2F8E2 梅 # CJK COMPATIBILITY IDEOGRAPH-2F8E2 +2F8E3 𣑭 # CJK COMPATIBILITY IDEOGRAPH-2F8E3 +2F8E4 梎 # CJK COMPATIBILITY IDEOGRAPH-2F8E4 +2F8E5 栟 # CJK COMPATIBILITY IDEOGRAPH-2F8E5 +2F8E6 椔 # CJK COMPATIBILITY IDEOGRAPH-2F8E6 +2F8E7 㮝 # CJK COMPATIBILITY IDEOGRAPH-2F8E7 +2F8E8 楂 # CJK COMPATIBILITY IDEOGRAPH-2F8E8 +2F8E9 榣 # CJK COMPATIBILITY IDEOGRAPH-2F8E9 +2F8EA 槪 # CJK COMPATIBILITY IDEOGRAPH-2F8EA +2F8EB 檨 # CJK COMPATIBILITY IDEOGRAPH-2F8EB +2F8EC 𣚣 # CJK COMPATIBILITY IDEOGRAPH-2F8EC +2F8ED 櫛 # CJK COMPATIBILITY IDEOGRAPH-2F8ED +2F8EE 㰘 # CJK COMPATIBILITY IDEOGRAPH-2F8EE +2F8EF 次 # CJK COMPATIBILITY IDEOGRAPH-2F8EF +2F8F0 𣢧 # CJK COMPATIBILITY IDEOGRAPH-2F8F0 +2F8F1 歔 # CJK COMPATIBILITY IDEOGRAPH-2F8F1 +2F8F2 㱎 # CJK COMPATIBILITY IDEOGRAPH-2F8F2 +2F8F3 歲 # CJK COMPATIBILITY IDEOGRAPH-2F8F3 +2F8F4 殟 # CJK COMPATIBILITY IDEOGRAPH-2F8F4 +2F8F5 殺 # CJK COMPATIBILITY IDEOGRAPH-2F8F5 +2F8F6 殻 # CJK COMPATIBILITY IDEOGRAPH-2F8F6 +2F8F7 𣪍 # CJK COMPATIBILITY IDEOGRAPH-2F8F7 +2F8F8 𡴋 # CJK COMPATIBILITY IDEOGRAPH-2F8F8 +2F8F9 𣫺 # CJK COMPATIBILITY IDEOGRAPH-2F8F9 +2F8FA 汎 # CJK COMPATIBILITY IDEOGRAPH-2F8FA +2F8FB 𣲼 # CJK COMPATIBILITY IDEOGRAPH-2F8FB +2F8FC 沿 # CJK COMPATIBILITY IDEOGRAPH-2F8FC +2F8FD 泍 # CJK COMPATIBILITY IDEOGRAPH-2F8FD +2F8FE 汧 # CJK COMPATIBILITY IDEOGRAPH-2F8FE +2F8FF 洖 # CJK COMPATIBILITY IDEOGRAPH-2F8FF +2F900 派 # CJK COMPATIBILITY IDEOGRAPH-2F900 +2F901 海 # CJK COMPATIBILITY IDEOGRAPH-2F901 +2F902 流 # CJK COMPATIBILITY IDEOGRAPH-2F902 +2F903 浩 # CJK COMPATIBILITY IDEOGRAPH-2F903 +2F904 浸 # CJK COMPATIBILITY IDEOGRAPH-2F904 +2F905 涅 # CJK COMPATIBILITY IDEOGRAPH-2F905 +2F906 𣴞 # CJK COMPATIBILITY IDEOGRAPH-2F906 +2F907 洴 # CJK COMPATIBILITY IDEOGRAPH-2F907 +2F908 港 # CJK COMPATIBILITY IDEOGRAPH-2F908 +2F909 湮 # CJK COMPATIBILITY IDEOGRAPH-2F909 +2F90A 㴳 # CJK COMPATIBILITY IDEOGRAPH-2F90A +2F90B 滋 # CJK COMPATIBILITY IDEOGRAPH-2F90B +2F90C 滇 # CJK COMPATIBILITY IDEOGRAPH-2F90C +2F90D 𣻑 # CJK COMPATIBILITY IDEOGRAPH-2F90D +2F90E 淹 # CJK COMPATIBILITY IDEOGRAPH-2F90E +2F90F 潮 # CJK COMPATIBILITY IDEOGRAPH-2F90F +2F910 𣽞 # CJK COMPATIBILITY IDEOGRAPH-2F910 +2F911 𣾎 # CJK COMPATIBILITY IDEOGRAPH-2F911 +2F912 濆 # CJK COMPATIBILITY IDEOGRAPH-2F912 +2F913 瀹 # CJK COMPATIBILITY IDEOGRAPH-2F913 +2F914 瀞 # CJK COMPATIBILITY IDEOGRAPH-2F914 +2F915 瀛 # CJK COMPATIBILITY IDEOGRAPH-2F915 +2F916 㶖 # CJK COMPATIBILITY IDEOGRAPH-2F916 +2F917 灊 # CJK COMPATIBILITY IDEOGRAPH-2F917 +2F918 災 # CJK COMPATIBILITY IDEOGRAPH-2F918 +2F919 灷 # CJK COMPATIBILITY IDEOGRAPH-2F919 +2F91A 炭 # CJK COMPATIBILITY IDEOGRAPH-2F91A +2F91B 𠔥 # CJK COMPATIBILITY IDEOGRAPH-2F91B +2F91C 煅 # CJK COMPATIBILITY IDEOGRAPH-2F91C +2F91D 𤉣 # CJK COMPATIBILITY IDEOGRAPH-2F91D +2F91E 熜 # CJK COMPATIBILITY IDEOGRAPH-2F91E +2F91F 𤎫 # CJK COMPATIBILITY IDEOGRAPH-2F91F +2F920 爨 # CJK COMPATIBILITY IDEOGRAPH-2F920 +2F921 爵 # CJK COMPATIBILITY IDEOGRAPH-2F921 +2F922 牐 # CJK COMPATIBILITY IDEOGRAPH-2F922 +2F923 𤘈 # CJK COMPATIBILITY IDEOGRAPH-2F923 +2F924 犀 # CJK COMPATIBILITY IDEOGRAPH-2F924 +2F925 犕 # CJK COMPATIBILITY IDEOGRAPH-2F925 +2F926 𤜵 # CJK COMPATIBILITY IDEOGRAPH-2F926 +2F927 𤠔 # CJK COMPATIBILITY IDEOGRAPH-2F927 +2F928 獺 # CJK COMPATIBILITY IDEOGRAPH-2F928 +2F929 王 # CJK COMPATIBILITY IDEOGRAPH-2F929 +2F92A 㺬 # CJK COMPATIBILITY IDEOGRAPH-2F92A +2F92B 玥 # CJK COMPATIBILITY IDEOGRAPH-2F92B +2F92C 㺸 # CJK COMPATIBILITY IDEOGRAPH-2F92C +2F92D 㺸 # CJK COMPATIBILITY IDEOGRAPH-2F92D +2F92E 瑇 # CJK COMPATIBILITY IDEOGRAPH-2F92E +2F92F 瑜 # CJK COMPATIBILITY IDEOGRAPH-2F92F +2F930 瑱 # CJK COMPATIBILITY IDEOGRAPH-2F930 +2F931 璅 # CJK COMPATIBILITY IDEOGRAPH-2F931 +2F932 瓊 # CJK COMPATIBILITY IDEOGRAPH-2F932 +2F933 㼛 # CJK COMPATIBILITY IDEOGRAPH-2F933 +2F934 甤 # CJK COMPATIBILITY IDEOGRAPH-2F934 +2F935 𤰶 # CJK COMPATIBILITY IDEOGRAPH-2F935 +2F936 甾 # CJK COMPATIBILITY IDEOGRAPH-2F936 +2F937 𤲒 # CJK COMPATIBILITY IDEOGRAPH-2F937 +2F938 異 # CJK COMPATIBILITY IDEOGRAPH-2F938 +2F939 𢆟 # CJK COMPATIBILITY IDEOGRAPH-2F939 +2F93A 瘐 # CJK COMPATIBILITY IDEOGRAPH-2F93A +2F93B 𤾡 # CJK COMPATIBILITY IDEOGRAPH-2F93B +2F93C 𤾸 # CJK COMPATIBILITY IDEOGRAPH-2F93C +2F93D 𥁄 # CJK COMPATIBILITY IDEOGRAPH-2F93D +2F93E 㿼 # CJK COMPATIBILITY IDEOGRAPH-2F93E +2F93F 䀈 # CJK COMPATIBILITY IDEOGRAPH-2F93F +2F940 直 # CJK COMPATIBILITY IDEOGRAPH-2F940 +2F941 𥃳 # CJK COMPATIBILITY IDEOGRAPH-2F941 +2F942 𥃲 # CJK COMPATIBILITY IDEOGRAPH-2F942 +2F943 𥄙 # CJK COMPATIBILITY IDEOGRAPH-2F943 +2F944 𥄳 # CJK COMPATIBILITY IDEOGRAPH-2F944 +2F945 眞 # CJK COMPATIBILITY IDEOGRAPH-2F945 +2F946 真 # CJK COMPATIBILITY IDEOGRAPH-2F946 +2F947 真 # CJK COMPATIBILITY IDEOGRAPH-2F947 +2F948 睊 # CJK COMPATIBILITY IDEOGRAPH-2F948 +2F949 䀹 # CJK COMPATIBILITY IDEOGRAPH-2F949 +2F94A 瞋 # CJK COMPATIBILITY IDEOGRAPH-2F94A +2F94B 䁆 # CJK COMPATIBILITY IDEOGRAPH-2F94B +2F94C 䂖 # CJK COMPATIBILITY IDEOGRAPH-2F94C +2F94D 𥐝 # CJK COMPATIBILITY IDEOGRAPH-2F94D +2F94E 硎 # CJK COMPATIBILITY IDEOGRAPH-2F94E +2F94F 碌 # CJK COMPATIBILITY IDEOGRAPH-2F94F +2F950 磌 # CJK COMPATIBILITY IDEOGRAPH-2F950 +2F951 䃣 # CJK COMPATIBILITY IDEOGRAPH-2F951 +2F952 𥘦 # CJK COMPATIBILITY IDEOGRAPH-2F952 +2F953 祖 # CJK COMPATIBILITY IDEOGRAPH-2F953 +2F954 𥚚 # CJK COMPATIBILITY IDEOGRAPH-2F954 +2F955 𥛅 # CJK COMPATIBILITY IDEOGRAPH-2F955 +2F956 福 # CJK COMPATIBILITY IDEOGRAPH-2F956 +2F957 秫 # CJK COMPATIBILITY IDEOGRAPH-2F957 +2F958 䄯 # CJK COMPATIBILITY IDEOGRAPH-2F958 +2F959 穀 # CJK COMPATIBILITY IDEOGRAPH-2F959 +2F95A 穊 # CJK COMPATIBILITY IDEOGRAPH-2F95A +2F95B 穏 # CJK COMPATIBILITY IDEOGRAPH-2F95B +2F95C 𥥼 # CJK COMPATIBILITY IDEOGRAPH-2F95C +2F95D 𥪧 # CJK COMPATIBILITY IDEOGRAPH-2F95D +2F95E 𥪧 # CJK COMPATIBILITY IDEOGRAPH-2F95E +2F95F 竮 # CJK COMPATIBILITY IDEOGRAPH-2F95F +2F960 䈂 # CJK COMPATIBILITY IDEOGRAPH-2F960 +2F961 𥮫 # CJK COMPATIBILITY IDEOGRAPH-2F961 +2F962 篆 # CJK COMPATIBILITY IDEOGRAPH-2F962 +2F963 築 # CJK COMPATIBILITY IDEOGRAPH-2F963 +2F964 䈧 # CJK COMPATIBILITY IDEOGRAPH-2F964 +2F965 𥲀 # CJK COMPATIBILITY IDEOGRAPH-2F965 +2F966 糒 # CJK COMPATIBILITY IDEOGRAPH-2F966 +2F967 䊠 # CJK COMPATIBILITY IDEOGRAPH-2F967 +2F968 糨 # CJK COMPATIBILITY IDEOGRAPH-2F968 +2F969 糣 # CJK COMPATIBILITY IDEOGRAPH-2F969 +2F96A 紀 # CJK COMPATIBILITY IDEOGRAPH-2F96A +2F96B 𥾆 # CJK COMPATIBILITY IDEOGRAPH-2F96B +2F96C 絣 # CJK COMPATIBILITY IDEOGRAPH-2F96C +2F96D 䌁 # CJK COMPATIBILITY IDEOGRAPH-2F96D +2F96E 緇 # CJK COMPATIBILITY IDEOGRAPH-2F96E +2F96F 縂 # CJK COMPATIBILITY IDEOGRAPH-2F96F +2F970 繅 # CJK COMPATIBILITY IDEOGRAPH-2F970 +2F971 䌴 # CJK COMPATIBILITY IDEOGRAPH-2F971 +2F972 𦈨 # CJK COMPATIBILITY IDEOGRAPH-2F972 +2F973 𦉇 # CJK COMPATIBILITY IDEOGRAPH-2F973 +2F974 䍙 # CJK COMPATIBILITY IDEOGRAPH-2F974 +2F975 𦋙 # CJK COMPATIBILITY IDEOGRAPH-2F975 +2F976 罺 # CJK COMPATIBILITY IDEOGRAPH-2F976 +2F977 𦌾 # CJK COMPATIBILITY IDEOGRAPH-2F977 +2F978 羕 # CJK COMPATIBILITY IDEOGRAPH-2F978 +2F979 翺 # CJK COMPATIBILITY IDEOGRAPH-2F979 +2F97A 者 # CJK COMPATIBILITY IDEOGRAPH-2F97A +2F97B 𦓚 # CJK COMPATIBILITY IDEOGRAPH-2F97B +2F97C 𦔣 # CJK COMPATIBILITY IDEOGRAPH-2F97C +2F97D 聠 # CJK COMPATIBILITY IDEOGRAPH-2F97D +2F97E 𦖨 # CJK COMPATIBILITY IDEOGRAPH-2F97E +2F97F 聰 # CJK COMPATIBILITY IDEOGRAPH-2F97F +2F980 𣍟 # CJK COMPATIBILITY IDEOGRAPH-2F980 +2F981 䏕 # CJK COMPATIBILITY IDEOGRAPH-2F981 +2F982 育 # CJK COMPATIBILITY IDEOGRAPH-2F982 +2F983 脃 # CJK COMPATIBILITY IDEOGRAPH-2F983 +2F984 䐋 # CJK COMPATIBILITY IDEOGRAPH-2F984 +2F985 脾 # CJK COMPATIBILITY IDEOGRAPH-2F985 +2F986 媵 # CJK COMPATIBILITY IDEOGRAPH-2F986 +2F987 𦞧 # CJK COMPATIBILITY IDEOGRAPH-2F987 +2F988 𦞵 # CJK COMPATIBILITY IDEOGRAPH-2F988 +2F989 𣎓 # CJK COMPATIBILITY IDEOGRAPH-2F989 +2F98A 𣎜 # CJK COMPATIBILITY IDEOGRAPH-2F98A +2F98B 舁 # CJK COMPATIBILITY IDEOGRAPH-2F98B +2F98C 舄 # CJK COMPATIBILITY IDEOGRAPH-2F98C +2F98D 辞 # CJK COMPATIBILITY IDEOGRAPH-2F98D +2F98E 䑫 # CJK COMPATIBILITY IDEOGRAPH-2F98E +2F98F 芑 # CJK COMPATIBILITY IDEOGRAPH-2F98F +2F990 芋 # CJK COMPATIBILITY IDEOGRAPH-2F990 +2F991 芝 # CJK COMPATIBILITY IDEOGRAPH-2F991 +2F992 劳 # CJK COMPATIBILITY IDEOGRAPH-2F992 +2F993 花 # CJK COMPATIBILITY IDEOGRAPH-2F993 +2F994 芳 # CJK COMPATIBILITY IDEOGRAPH-2F994 +2F995 芽 # CJK COMPATIBILITY IDEOGRAPH-2F995 +2F996 苦 # CJK COMPATIBILITY IDEOGRAPH-2F996 +2F997 𦬼 # CJK COMPATIBILITY IDEOGRAPH-2F997 +2F998 若 # CJK COMPATIBILITY IDEOGRAPH-2F998 +2F999 茝 # CJK COMPATIBILITY IDEOGRAPH-2F999 +2F99A 荣 # CJK COMPATIBILITY IDEOGRAPH-2F99A +2F99B 莭 # CJK COMPATIBILITY IDEOGRAPH-2F99B +2F99C 茣 # CJK COMPATIBILITY IDEOGRAPH-2F99C +2F99D 莽 # CJK COMPATIBILITY IDEOGRAPH-2F99D +2F99E 菧 # CJK COMPATIBILITY IDEOGRAPH-2F99E +2F99F 著 # CJK COMPATIBILITY IDEOGRAPH-2F99F +2F9A0 荓 # CJK COMPATIBILITY IDEOGRAPH-2F9A0 +2F9A1 菊 # CJK COMPATIBILITY IDEOGRAPH-2F9A1 +2F9A2 菌 # CJK COMPATIBILITY IDEOGRAPH-2F9A2 +2F9A3 菜 # CJK COMPATIBILITY IDEOGRAPH-2F9A3 +2F9A4 𦰶 # CJK COMPATIBILITY IDEOGRAPH-2F9A4 +2F9A5 𦵫 # CJK COMPATIBILITY IDEOGRAPH-2F9A5 +2F9A6 𦳕 # CJK COMPATIBILITY IDEOGRAPH-2F9A6 +2F9A7 䔫 # CJK COMPATIBILITY IDEOGRAPH-2F9A7 +2F9A8 蓱 # CJK COMPATIBILITY IDEOGRAPH-2F9A8 +2F9A9 蓳 # CJK COMPATIBILITY IDEOGRAPH-2F9A9 +2F9AA 蔖 # CJK COMPATIBILITY IDEOGRAPH-2F9AA +2F9AB 𧏊 # CJK COMPATIBILITY IDEOGRAPH-2F9AB +2F9AC 蕤 # CJK COMPATIBILITY IDEOGRAPH-2F9AC +2F9AD 𦼬 # CJK COMPATIBILITY IDEOGRAPH-2F9AD +2F9AE 䕝 # CJK COMPATIBILITY IDEOGRAPH-2F9AE +2F9AF 䕡 # CJK COMPATIBILITY IDEOGRAPH-2F9AF +2F9B0 𦾱 # CJK COMPATIBILITY IDEOGRAPH-2F9B0 +2F9B1 𧃒 # CJK COMPATIBILITY IDEOGRAPH-2F9B1 +2F9B2 䕫 # CJK COMPATIBILITY IDEOGRAPH-2F9B2 +2F9B3 虐 # CJK COMPATIBILITY IDEOGRAPH-2F9B3 +2F9B4 虜 # CJK COMPATIBILITY IDEOGRAPH-2F9B4 +2F9B5 虧 # CJK COMPATIBILITY IDEOGRAPH-2F9B5 +2F9B6 虩 # CJK COMPATIBILITY IDEOGRAPH-2F9B6 +2F9B7 蚩 # CJK COMPATIBILITY IDEOGRAPH-2F9B7 +2F9B8 蚈 # CJK COMPATIBILITY IDEOGRAPH-2F9B8 +2F9B9 蜎 # CJK COMPATIBILITY IDEOGRAPH-2F9B9 +2F9BA 蛢 # CJK COMPATIBILITY IDEOGRAPH-2F9BA +2F9BB 蝹 # CJK COMPATIBILITY IDEOGRAPH-2F9BB +2F9BC 蜨 # CJK COMPATIBILITY IDEOGRAPH-2F9BC +2F9BD 蝫 # CJK COMPATIBILITY IDEOGRAPH-2F9BD +2F9BE 螆 # CJK COMPATIBILITY IDEOGRAPH-2F9BE +2F9BF 䗗 # CJK COMPATIBILITY IDEOGRAPH-2F9BF +2F9C0 蟡 # CJK COMPATIBILITY IDEOGRAPH-2F9C0 +2F9C1 蠁 # CJK COMPATIBILITY IDEOGRAPH-2F9C1 +2F9C2 䗹 # CJK COMPATIBILITY IDEOGRAPH-2F9C2 +2F9C3 衠 # CJK COMPATIBILITY IDEOGRAPH-2F9C3 +2F9C4 衣 # CJK COMPATIBILITY IDEOGRAPH-2F9C4 +2F9C5 𧙧 # CJK COMPATIBILITY IDEOGRAPH-2F9C5 +2F9C6 裗 # CJK COMPATIBILITY IDEOGRAPH-2F9C6 +2F9C7 裞 # CJK COMPATIBILITY IDEOGRAPH-2F9C7 +2F9C8 䘵 # CJK COMPATIBILITY IDEOGRAPH-2F9C8 +2F9C9 裺 # CJK COMPATIBILITY IDEOGRAPH-2F9C9 +2F9CA 㒻 # CJK COMPATIBILITY IDEOGRAPH-2F9CA +2F9CB 𧢮 # CJK COMPATIBILITY IDEOGRAPH-2F9CB +2F9CC 𧥦 # CJK COMPATIBILITY IDEOGRAPH-2F9CC +2F9CD 䚾 # CJK COMPATIBILITY IDEOGRAPH-2F9CD +2F9CE 䛇 # CJK COMPATIBILITY IDEOGRAPH-2F9CE +2F9CF 誠 # CJK COMPATIBILITY IDEOGRAPH-2F9CF +2F9D0 諭 # CJK COMPATIBILITY IDEOGRAPH-2F9D0 +2F9D1 變 # CJK COMPATIBILITY IDEOGRAPH-2F9D1 +2F9D2 豕 # CJK COMPATIBILITY IDEOGRAPH-2F9D2 +2F9D3 𧲨 # CJK COMPATIBILITY IDEOGRAPH-2F9D3 +2F9D4 貫 # CJK COMPATIBILITY IDEOGRAPH-2F9D4 +2F9D5 賁 # CJK COMPATIBILITY IDEOGRAPH-2F9D5 +2F9D6 贛 # CJK COMPATIBILITY IDEOGRAPH-2F9D6 +2F9D7 起 # CJK COMPATIBILITY IDEOGRAPH-2F9D7 +2F9D8 𧼯 # CJK COMPATIBILITY IDEOGRAPH-2F9D8 +2F9D9 𠠄 # CJK COMPATIBILITY IDEOGRAPH-2F9D9 +2F9DA 跋 # CJK COMPATIBILITY IDEOGRAPH-2F9DA +2F9DB 趼 # CJK COMPATIBILITY IDEOGRAPH-2F9DB +2F9DC 跰 # CJK COMPATIBILITY IDEOGRAPH-2F9DC +2F9DD 𠣞 # CJK COMPATIBILITY IDEOGRAPH-2F9DD +2F9DE 軔 # CJK COMPATIBILITY IDEOGRAPH-2F9DE +2F9DF 輸 # CJK COMPATIBILITY IDEOGRAPH-2F9DF +2F9E0 𨗒 # CJK COMPATIBILITY IDEOGRAPH-2F9E0 +2F9E1 𨗭 # CJK COMPATIBILITY IDEOGRAPH-2F9E1 +2F9E2 邔 # CJK COMPATIBILITY IDEOGRAPH-2F9E2 +2F9E3 郱 # CJK COMPATIBILITY IDEOGRAPH-2F9E3 +2F9E4 鄑 # CJK COMPATIBILITY IDEOGRAPH-2F9E4 +2F9E5 𨜮 # CJK COMPATIBILITY IDEOGRAPH-2F9E5 +2F9E6 鄛 # CJK COMPATIBILITY IDEOGRAPH-2F9E6 +2F9E7 鈸 # CJK COMPATIBILITY IDEOGRAPH-2F9E7 +2F9E8 鋗 # CJK COMPATIBILITY IDEOGRAPH-2F9E8 +2F9E9 鋘 # CJK COMPATIBILITY IDEOGRAPH-2F9E9 +2F9EA 鉼 # CJK COMPATIBILITY IDEOGRAPH-2F9EA +2F9EB 鏹 # CJK COMPATIBILITY IDEOGRAPH-2F9EB +2F9EC 鐕 # CJK COMPATIBILITY IDEOGRAPH-2F9EC +2F9ED 𨯺 # CJK COMPATIBILITY IDEOGRAPH-2F9ED +2F9EE 開 # CJK COMPATIBILITY IDEOGRAPH-2F9EE +2F9EF 䦕 # CJK COMPATIBILITY IDEOGRAPH-2F9EF +2F9F0 閷 # CJK COMPATIBILITY IDEOGRAPH-2F9F0 +2F9F1 𨵷 # CJK COMPATIBILITY IDEOGRAPH-2F9F1 +2F9F2 䧦 # CJK COMPATIBILITY IDEOGRAPH-2F9F2 +2F9F3 雃 # CJK COMPATIBILITY IDEOGRAPH-2F9F3 +2F9F4 嶲 # CJK COMPATIBILITY IDEOGRAPH-2F9F4 +2F9F5 霣 # CJK COMPATIBILITY IDEOGRAPH-2F9F5 +2F9F6 𩅅 # CJK COMPATIBILITY IDEOGRAPH-2F9F6 +2F9F7 𩈚 # CJK COMPATIBILITY IDEOGRAPH-2F9F7 +2F9F8 䩮 # CJK COMPATIBILITY IDEOGRAPH-2F9F8 +2F9F9 䩶 # CJK COMPATIBILITY IDEOGRAPH-2F9F9 +2F9FA 韠 # CJK COMPATIBILITY IDEOGRAPH-2F9FA +2F9FB 𩐊 # CJK COMPATIBILITY IDEOGRAPH-2F9FB +2F9FC 䪲 # CJK COMPATIBILITY IDEOGRAPH-2F9FC +2F9FD 𩒖 # CJK COMPATIBILITY IDEOGRAPH-2F9FD +2F9FE 頋 # CJK COMPATIBILITY IDEOGRAPH-2F9FE +2F9FF 頋 # CJK COMPATIBILITY IDEOGRAPH-2F9FF +2FA00 頩 # CJK COMPATIBILITY IDEOGRAPH-2FA00 +2FA01 𩖶 # CJK COMPATIBILITY IDEOGRAPH-2FA01 +2FA02 飢 # CJK COMPATIBILITY IDEOGRAPH-2FA02 +2FA03 䬳 # CJK COMPATIBILITY IDEOGRAPH-2FA03 +2FA04 餩 # CJK COMPATIBILITY IDEOGRAPH-2FA04 +2FA05 馧 # CJK COMPATIBILITY IDEOGRAPH-2FA05 +2FA06 駂 # CJK COMPATIBILITY IDEOGRAPH-2FA06 +2FA07 駾 # CJK COMPATIBILITY IDEOGRAPH-2FA07 +2FA08 䯎 # CJK COMPATIBILITY IDEOGRAPH-2FA08 +2FA09 𩬰 # CJK COMPATIBILITY IDEOGRAPH-2FA09 +2FA0A 鬒 # CJK COMPATIBILITY IDEOGRAPH-2FA0A +2FA0B 鱀 # CJK COMPATIBILITY IDEOGRAPH-2FA0B +2FA0C 鳽 # CJK COMPATIBILITY IDEOGRAPH-2FA0C +2FA0D 䳎 # CJK COMPATIBILITY IDEOGRAPH-2FA0D +2FA0E 䳭 # CJK COMPATIBILITY IDEOGRAPH-2FA0E +2FA0F 鵧 # CJK COMPATIBILITY IDEOGRAPH-2FA0F +2FA10 𪃎 # CJK COMPATIBILITY IDEOGRAPH-2FA10 +2FA11 䳸 # CJK COMPATIBILITY IDEOGRAPH-2FA11 +2FA12 𪄅 # CJK COMPATIBILITY IDEOGRAPH-2FA12 +2FA13 𪈎 # CJK COMPATIBILITY IDEOGRAPH-2FA13 +2FA14 𪊑 # CJK COMPATIBILITY IDEOGRAPH-2FA14 +2FA15 麻 # CJK COMPATIBILITY IDEOGRAPH-2FA15 +2FA16 䵖 # CJK COMPATIBILITY IDEOGRAPH-2FA16 +2FA17 黹 # CJK COMPATIBILITY IDEOGRAPH-2FA17 +2FA18 黾 # CJK COMPATIBILITY IDEOGRAPH-2FA18 +2FA19 鼅 # CJK COMPATIBILITY IDEOGRAPH-2FA19 +2FA1A 鼏 # CJK COMPATIBILITY IDEOGRAPH-2FA1A +2FA1B 鼖 # CJK COMPATIBILITY IDEOGRAPH-2FA1B +2FA1C 鼻 # CJK COMPATIBILITY IDEOGRAPH-2FA1C +2FA1D 𪘀 # CJK COMPATIBILITY IDEOGRAPH-2FA1D diff --git a/Externals/libiconv-1.14/lib/translit.h b/Externals/libiconv/lib/translit.h similarity index 60% rename from Externals/libiconv-1.14/lib/translit.h rename to Externals/libiconv/lib/translit.h index 15aa4472641..51d6d4c8b30 100644 --- a/Externals/libiconv-1.14/lib/translit.h +++ b/Externals/libiconv/lib/translit.h @@ -3,26 +3,25 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public + * and/or modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* * Transliteration table */ -static const unsigned int translit_data[9116] = { +static const unsigned int translit_data[10411] = { 1, ' ', 1, '!', 1, 'c', @@ -408,6 +407,7 @@ static const unsigned int translit_data[9116] = { 1,0x05D3, 1, 'i', 3, 'F', 'A', 'X', + 1,0x03C0, 1,0x03B3, 1,0x0393, 1,0x03A0, @@ -677,6 +677,37 @@ static const unsigned int translit_data[9116] = { 1, '+', 1, '+', 1, 'o', + 3, '/', '<', '3', + 3, '/', '<', '3', + 3, '/', '<', '3', + 2, '[', '|', + 2, '|', ']', + 1, '<', + 1, '>', + 2, '<', '<', + 2, '>', '>', + 2, '(', '(', + 2, ')', ')', + 1, '(', + 1, ')', + 3, '|', '|', '|', + 2, '{', '|', + 2, '|', '}', + 2, '(', '(', + 2, ')', ')', + 2, '(', '|', + 2, '|', ')', + 2, '<', '|', + 2, '|', '>', + 1, '#', + 1, '#', + 1,'\\', + 1, '/', + 1,'\\', + 1, '<', + 1, '>', + 1, '+', + 1, '-', 4,0x222B,0x222B,0x222B,0x222B, 3, ':', ':', '=', 2, '=', '=', @@ -1106,6 +1137,10 @@ static const unsigned int translit_data[9116] = { 3, '(',0x4F11, ')', 3, '(',0x81EA, ')', 3, '(',0x81F3, ')', + 3, '(',0x554F, ')', + 3, '(',0x5E7C, ')', + 3, '(',0x6587, ')', + 3, '(',0x7B8F, ')', 3, 'P', 'T', 'E', 4, '(', '2', '1', ')', 4, '(', '2', '2', ')', @@ -1152,6 +1187,7 @@ static const unsigned int translit_data[9116] = { 4, '(',0x1112,0x1161, ')', 7, '(',0x110E,0x1161,0x11B7,0x1100,0x1169, ')', 6, '(',0x110C,0x116E,0x110B,0x1174, ')', + 4, '(',0x110B,0x116E, ')', 3, '(',0x4E00, ')', 3, '(',0x4E8C, ')', 3, '(',0x4E09, ')', @@ -1279,6 +1315,7 @@ static const unsigned int translit_data[9116] = { 3, '(',0x30F0, ')', 3, '(',0x30F1, ')', 3, '(',0x30F2, ')', + 2,0x4EE4,0x548C, 4,0x30A2,0x30D1,0x30FC,0x30C8, 4,0x30A2,0x30EB,0x30D5,0x30A1, 4,0x30A2,0x30F3,0x30DA,0x30A2, @@ -1503,7 +1540,6 @@ static const unsigned int translit_data[9116] = { 2, 'W', 'b', 3, 'V', '/', 'm', 3, 'A', '/', 'm', - 3, 'g', 'a', 'l', 2, '1',0x65E5, 2, '2',0x65E5, 2, '3',0x65E5, @@ -1535,6 +1571,7 @@ static const unsigned int translit_data[9116] = { 3, '2', '9',0x65E5, 3, '3', '0',0x65E5, 3, '3', '1',0x65E5, + 3, 'g', 'a', 'l', 1,0x8C48, 1,0x66F4, 1,0x8ECA, @@ -1825,6 +1862,8 @@ static const unsigned int translit_data[9116] = { 1,0x98FC, 1,0x9928, 1,0x9DB4, + 1,0x90DE, + 1,0x96B7, 1,0x4FAE, 1,0x50E7, 1,0x514D, @@ -1884,6 +1923,115 @@ static const unsigned int translit_data[9116] = { 1,0x96E3, 1,0x97FF, 1,0x983B, + 1,0x6075, + 1,0x242EE, + 1,0x8218, + 1,0x4E26, + 1,0x51B5, + 1,0x5168, + 1,0x4F80, + 1,0x5145, + 1,0x5180, + 1,0x52C7, + 1,0x52FA, + 1,0x559D, + 1,0x5555, + 1,0x5599, + 1,0x55E2, + 1,0x585A, + 1,0x58B3, + 1,0x5944, + 1,0x5954, + 1,0x5A62, + 1,0x5B28, + 1,0x5ED2, + 1,0x5ED9, + 1,0x5F69, + 1,0x5FAD, + 1,0x60D8, + 1,0x614E, + 1,0x6108, + 1,0x618E, + 1,0x6160, + 1,0x61F2, + 1,0x6234, + 1,0x63C4, + 1,0x641C, + 1,0x6452, + 1,0x6556, + 1,0x6674, + 1,0x6717, + 1,0x671B, + 1,0x6756, + 1,0x6B79, + 1,0x6BBA, + 1,0x6D41, + 1,0x6EDB, + 1,0x6ECB, + 1,0x6F22, + 1,0x701E, + 1,0x716E, + 1,0x77A7, + 1,0x7235, + 1,0x72AF, + 1,0x732A, + 1,0x7471, + 1,0x7506, + 1,0x753B, + 1,0x761D, + 1,0x761F, + 1,0x76CA, + 1,0x76DB, + 1,0x76F4, + 1,0x774A, + 1,0x7740, + 1,0x78CC, + 1,0x7AB1, + 1,0x7BC0, + 1,0x7C7B, + 1,0x7D5B, + 1,0x7DF4, + 1,0x7F3E, + 1,0x8005, + 1,0x8352, + 1,0x83EF, + 1,0x8779, + 1,0x8941, + 1,0x8986, + 1,0x8996, + 1,0x8ABF, + 1,0x8AF8, + 1,0x8ACB, + 1,0x8B01, + 1,0x8AFE, + 1,0x8AED, + 1,0x8B39, + 1,0x8B8A, + 1,0x8D08, + 1,0x8F38, + 1,0x9072, + 1,0x9199, + 1,0x9276, + 1,0x967C, + 1,0x96E3, + 1,0x9756, + 1,0x97DB, + 1,0x97FF, + 1,0x980B, + 1,0x983B, + 1,0x9B12, + 1,0x9F9C, + 1,0x2284A, + 1,0x22844, + 1,0x233D5, + 1,0x3B9D, + 1,0x4018, + 1,0x4039, + 1,0x25249, + 1,0x25CD0, + 1,0x27ED3, + 1,0x9F43, + 1,0x9F8E, 2, 'f', 'f', 2, 'f', 'i', 2, 'f', 'l', @@ -2817,6 +2965,8 @@ static const unsigned int translit_data[9116] = { 1, 'x', 1, 'y', 1, 'z', + 1,0x0131, + 1,0x0237, 1,0x0391, 1,0x0392, 1,0x0393, @@ -3107,6 +3257,8 @@ static const unsigned int translit_data[9116] = { 1,0x03D5, 1,0x03F1, 1,0x03D6, + 1,0x03DC, + 1,0x03DD, 1, '0', 1, '1', 1, '2', @@ -3157,6 +3309,357 @@ static const unsigned int translit_data[9116] = { 1, '7', 1, '8', 1, '9', + 1,0x0627, + 1,0x0628, + 1,0x062C, + 1,0x062F, + 1,0x0648, + 1,0x0632, + 1,0x062D, + 1,0x0637, + 1,0x064A, + 1,0x0643, + 1,0x0644, + 1,0x0645, + 1,0x0646, + 1,0x0633, + 1,0x0639, + 1,0x0641, + 1,0x0635, + 1,0x0642, + 1,0x0631, + 1,0x0634, + 1,0x062A, + 1,0x062B, + 1,0x062E, + 1,0x0630, + 1,0x0636, + 1,0x0638, + 1,0x063A, + 1,0x066E, + 1,0x06BA, + 1,0x06A1, + 1,0x066F, + 1,0x0628, + 1,0x062C, + 1,0x0647, + 1,0x062D, + 1,0x064A, + 1,0x0643, + 1,0x0644, + 1,0x0645, + 1,0x0646, + 1,0x0633, + 1,0x0639, + 1,0x0641, + 1,0x0635, + 1,0x0642, + 1,0x0634, + 1,0x062A, + 1,0x062B, + 1,0x062E, + 1,0x0636, + 1,0x063A, + 1,0x062C, + 1,0x062D, + 1,0x064A, + 1,0x0644, + 1,0x0646, + 1,0x0633, + 1,0x0639, + 1,0x0635, + 1,0x0642, + 1,0x0634, + 1,0x062E, + 1,0x0636, + 1,0x063A, + 1,0x06BA, + 1,0x066F, + 1,0x0628, + 1,0x062C, + 1,0x0647, + 1,0x062D, + 1,0x0637, + 1,0x064A, + 1,0x0643, + 1,0x0645, + 1,0x0646, + 1,0x0633, + 1,0x0639, + 1,0x0641, + 1,0x0635, + 1,0x0642, + 1,0x0634, + 1,0x062A, + 1,0x062B, + 1,0x062E, + 1,0x0636, + 1,0x0638, + 1,0x063A, + 1,0x066E, + 1,0x06A1, + 1,0x0627, + 1,0x0628, + 1,0x062C, + 1,0x062F, + 1,0x0647, + 1,0x0648, + 1,0x0632, + 1,0x062D, + 1,0x0637, + 1,0x064A, + 1,0x0644, + 1,0x0645, + 1,0x0646, + 1,0x0633, + 1,0x0639, + 1,0x0641, + 1,0x0635, + 1,0x0642, + 1,0x0631, + 1,0x0634, + 1,0x062A, + 1,0x062B, + 1,0x062E, + 1,0x0630, + 1,0x0636, + 1,0x0638, + 1,0x063A, + 1,0x0628, + 1,0x062C, + 1,0x062F, + 1,0x0648, + 1,0x0632, + 1,0x062D, + 1,0x0637, + 1,0x064A, + 1,0x0644, + 1,0x0645, + 1,0x0646, + 1,0x0633, + 1,0x0639, + 1,0x0641, + 1,0x0635, + 1,0x0642, + 1,0x0631, + 1,0x0634, + 1,0x062A, + 1,0x062B, + 1,0x062E, + 1,0x0630, + 1,0x0636, + 1,0x0638, + 1,0x063A, + 2, '0', '.', + 2, '0', ',', + 2, '1', ',', + 2, '2', ',', + 2, '3', ',', + 2, '4', ',', + 2, '5', ',', + 2, '6', ',', + 2, '7', ',', + 2, '8', ',', + 2, '9', ',', + 3, '(', 'A', ')', + 3, '(', 'B', ')', + 3, '(', 'C', ')', + 3, '(', 'D', ')', + 3, '(', 'E', ')', + 3, '(', 'F', ')', + 3, '(', 'G', ')', + 3, '(', 'H', ')', + 3, '(', 'I', ')', + 3, '(', 'J', ')', + 3, '(', 'K', ')', + 3, '(', 'L', ')', + 3, '(', 'M', ')', + 3, '(', 'N', ')', + 3, '(', 'O', ')', + 3, '(', 'P', ')', + 3, '(', 'Q', ')', + 3, '(', 'R', ')', + 3, '(', 'S', ')', + 3, '(', 'T', ')', + 3, '(', 'U', ')', + 3, '(', 'V', ')', + 3, '(', 'W', ')', + 3, '(', 'X', ')', + 3, '(', 'Y', ')', + 3, '(', 'Z', ')', + 3,0x3014, 'S',0x3015, + 3, '(', 'C', ')', + 3, '(', 'R', ')', + 4, '(', 'C', 'D', ')', + 4, '(', 'W', 'Z', ')', + 1, 'A', + 1, 'B', + 1, 'C', + 1, 'D', + 1, 'E', + 1, 'F', + 1, 'G', + 1, 'H', + 1, 'I', + 1, 'J', + 1, 'K', + 1, 'L', + 1, 'M', + 1, 'N', + 1, 'O', + 1, 'P', + 1, 'Q', + 1, 'R', + 1, 'S', + 1, 'T', + 1, 'U', + 1, 'V', + 1, 'W', + 1, 'X', + 1, 'Y', + 1, 'Z', + 2, 'H', 'V', + 2, 'M', 'V', + 2, 'S', 'D', + 2, 'S', 'S', + 3, 'P', 'P', 'V', + 2, 'W', 'C', + 2, 'D', 'J', + 2,0x307B,0x304B, + 2,0x30B3,0x30B3, + 1,0x30B5, + 1,0x624B, + 1,0x5B57, + 1,0x53CC, + 1,0x30C7, + 1,0x4E8C, + 1,0x591A, + 1,0x89E3, + 1,0x5929, + 1,0x4EA4, + 1,0x6620, + 1,0x7121, + 1,0x6599, + 1,0x524D, + 1,0x5F8C, + 1,0x518D, + 1,0x65B0, + 1,0x521D, + 1,0x7D42, + 1,0x751F, + 1,0x8CA9, + 1,0x58F0, + 1,0x5439, + 1,0x6F14, + 1,0x6295, + 1,0x6355, + 1,0x4E00, + 1,0x4E09, + 1,0x904A, + 1,0x5DE6, + 1,0x4E2D, + 1,0x53F3, + 1,0x6307, + 1,0x8D70, + 1,0x6253, + 1,0x7981, + 1,0x7A7A, + 1,0x5408, + 1,0x6E80, + 1,0x6709, + 1,0x6708, + 1,0x7533, + 1,0x5272, + 1,0x55B6, + 1,0x914D, + 3,0x3014,0x672C,0x3015, + 3,0x3014,0x4E09,0x3015, + 3,0x3014,0x4E8C,0x3015, + 3,0x3014,0x5B89,0x3015, + 3,0x3014,0x70B9,0x3015, + 3,0x3014,0x6253,0x3015, + 3,0x3014,0x76D7,0x3015, + 3,0x3014,0x52DD,0x3015, + 3,0x3014,0x6557,0x3015, + 3, '(',0x5F97, ')', + 3, '(',0x53EF, ')', + 3, '/', '<', '3', + 5, '/', '<', '/', '/', '3', + 3, '/', '<', '3', + 3, '/', '<', '3', + 3, '/', '<', '3', + 3, '/', '<', '3', + 3, '/', '<', '3', + 3, '/', '<', '3', + 3, '/', '<', '3', + 3, ':', '-', 'D', + 3, ':', '-', 'D', + 3, ':','\'', 'D', + 3, ':', '-', 'D', + 3, ':', '-', 'D', + 3, ':', '-', 'D', + 3, ':', '-', 'D', + 4, 'O', ':', '-', ')', + 4, '/', '>', ':', ')', + 3, ';', '-', ')', + 3, ':', '-', ')', + 3, ':', '-', 'P', + 3, ':', '-', ')', + 3, ':', '-', '*', + 3, 'B', '-', ')', + 3, ';', '-', ')', + 3, ':', '-', '|', + 3, ':', '-', '|', + 3, ':', '-', '|', + 4, ':','\'', '-', '|', + 3, ':', '-', '|', + 4, ':', '-', '/', '/', + 3, ':', '-', 'S', + 3, ':', '-', '*', + 3, ':', '-', '*', + 3, ':', '-', '*', + 3, ':', '-', '*', + 3, ':', '-', 'P', + 3, ';', '-', 'P', + 3, 'X', '-', 'P', + 3, ':', '-', '(', + 3, ':', '-', '(', + 5, '/', '>', ':', '-', '(', + 3, ':', '-', '(', + 4, ':','\'', '-', '(', + 3, 'X', '-', '(', + 3, ':', '-', 'O', + 3, ':', '-', 'O', + 3, ':', '-', 'O', + 3, ':', '-', 'O', + 4, ':', '"', '-', '(', + 3, ':', '-', 'O', + 3, ':', '-', 'O', + 4, ':','\'', '-', 'O', + 3, ':', '-', 'O', + 3, ':', '-', 'O', + 3, ':', '-', '3', + 4, ':','\'', '-', '3', + 3, ':', '-', '3', + 3, ':', '-', '3', + 3, ';', '-', '3', + 3, ':', '-', '3', + 3, ':', '-', '(', + 3, ':', '-', ')', + 3, '(', '-', ':', + 3, '/', '<', '3', + 3, '/', '<', '3', + 3, '/', '<', '3', + 1, '0', + 1, '1', + 1, '2', + 1, '3', + 1, '4', + 1, '5', + 1, '6', + 1, '7', + 1, '8', + 1, '9', 1,0x4E3D, 1,0x4E38, 1,0x4E41, @@ -3806,7 +4309,7 @@ static const short translit_page1e[160] = { -1, -1, -1, -1, -1, -1, -1, -1, /* 0x90-0x97 */ -1, -1, 742, -1, -1, -1, -1, -1, /* 0x98-0x9f */ }; -static const short translit_page1e_2[8] = { +static const short translit_page1e_1[8] = { -1, -1, 745, 748, -1, -1, -1, -1, /* 0xf0-0xf7 */ }; static const short translit_page20[88] = { @@ -3822,7 +4325,7 @@ static const short translit_page20[88] = { 841, 844, -1, -1, -1, -1, -1, -1, /* 0x48-0x4f */ -1, -1, -1, -1, -1, -1, -1, 847, /* 0x50-0x57 */ }; -static const short translit_page20_3[8] = { +static const short translit_page20_1[8] = { 852, -1, -1, 855, 860, -1, -1, -1, /* 0xa8-0xaf */ }; static const short translit_page21[216] = { @@ -3833,18 +4336,18 @@ static const short translit_page21[216] = { -1, 925, 929, -1, 932, -1, 934, -1, /* 0x20-0x27 */ 938, -1, -1, -1, 940, 942, 944, 946, /* 0x28-0x2f */ 948, 950, -1, 952, 954, 956, 958, 960, /* 0x30-0x37 */ - 962, 964, -1, 966, -1, 970, 972, 974, /* 0x38-0x3f */ - 976, -1, -1, -1, -1, 978, 980, 982, /* 0x40-0x47 */ - 984, 986, -1, -1, -1, -1, -1, -1, /* 0x48-0x4f */ - -1, -1, -1, 988, 994, 1000, 1006, 1012, /* 0x50-0x57 */ - 1018, 1024, 1030, 1036, 1042, 1048, 1054, 1060, /* 0x58-0x5f */ - 1064, 1066, 1069, 1073, 1076, 1078, 1081, 1085, /* 0x60-0x67 */ - 1090, 1093, 1095, 1098, 1102, 1104, 1106, 1108, /* 0x68-0x6f */ - 1110, 1112, 1115, 1119, 1122, 1124, 1127, 1131, /* 0x70-0x77 */ - 1136, 1139, 1141, 1144, 1148, 1150, 1152, 1154, /* 0x78-0x7f */ + 962, 964, -1, 966, 970, 972, 974, 976, /* 0x38-0x3f */ + 978, -1, -1, -1, -1, 980, 982, 984, /* 0x40-0x47 */ + 986, 988, -1, -1, -1, -1, -1, -1, /* 0x48-0x4f */ + -1, -1, -1, 990, 996, 1002, 1008, 1014, /* 0x50-0x57 */ + 1020, 1026, 1032, 1038, 1044, 1050, 1056, 1062, /* 0x58-0x5f */ + 1066, 1068, 1071, 1075, 1078, 1080, 1083, 1087, /* 0x60-0x67 */ + 1092, 1095, 1097, 1100, 1104, 1106, 1108, 1110, /* 0x68-0x6f */ + 1112, 1114, 1117, 1121, 1124, 1126, 1129, 1133, /* 0x70-0x77 */ + 1138, 1141, 1143, 1146, 1150, 1152, 1154, 1156, /* 0x78-0x7f */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0x80-0x87 */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0x88-0x8f */ - 1156, 1159, 1161, 1164, 1166, -1, -1, -1, /* 0x90-0x97 */ + 1158, 1161, 1163, 1166, 1168, -1, -1, -1, /* 0x90-0x97 */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0x98-0x9f */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0xa0-0xa7 */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0xa8-0xaf */ @@ -3852,36 +4355,36 @@ static const short translit_page21[216] = { -1, -1, -1, -1, -1, -1, -1, -1, /* 0xb8-0xbf */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0xc0-0xc7 */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0xc8-0xcf */ - 1170, -1, 1173, -1, 1176, -1, -1, -1, /* 0xd0-0xd7 */ + 1172, -1, 1175, -1, 1178, -1, -1, -1, /* 0xd0-0xd7 */ }; static const short translit_page22[96] = { - -1, -1, 1180, -1, -1, 1182, 1184, 1186, /* 0x10-0x17 */ - -1, 1188, -1, -1, -1, -1, -1, -1, /* 0x18-0x1f */ - -1, -1, -1, 1190, -1, -1, -1, -1, /* 0x20-0x27 */ - -1, -1, -1, -1, 1192, 1195, -1, 1199, /* 0x28-0x2f */ - 1202, -1, -1, -1, -1, -1, 1206, -1, /* 0x30-0x37 */ - -1, -1, -1, -1, 1208, -1, -1, -1, /* 0x38-0x3f */ + -1, -1, 1182, -1, -1, 1184, 1186, 1188, /* 0x10-0x17 */ + -1, 1190, -1, -1, -1, -1, -1, -1, /* 0x18-0x1f */ + -1, -1, -1, 1192, -1, -1, -1, -1, /* 0x20-0x27 */ + -1, -1, -1, -1, 1194, 1197, -1, 1201, /* 0x28-0x2f */ + 1204, -1, -1, -1, -1, -1, 1208, -1, /* 0x30-0x37 */ + -1, -1, -1, -1, 1210, -1, -1, -1, /* 0x38-0x3f */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0x40-0x47 */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0x48-0x4f */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0x50-0x57 */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0x58-0x5f */ - 1210, -1, -1, -1, 1213, 1216, -1, -1, /* 0x60-0x67 */ - -1, -1, 1219, 1222, -1, -1, -1, -1, /* 0x68-0x6f */ + 1212, -1, -1, -1, 1215, 1218, -1, -1, /* 0x60-0x67 */ + -1, -1, 1221, 1224, -1, -1, -1, -1, /* 0x68-0x6f */ }; -static const short translit_page22_4[48] = { - -1, -1, -1, -1, -1, 1225, -1, -1, /* 0xc0-0xc7 */ +static const short translit_page22_1[48] = { + -1, -1, -1, -1, -1, 1227, -1, -1, /* 0xc0-0xc7 */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0xc8-0xcf */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0xd0-0xd7 */ - 1227, 1231, -1, -1, -1, -1, -1, -1, /* 0xd8-0xdf */ + 1229, 1233, -1, -1, -1, -1, -1, -1, /* 0xd8-0xdf */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0xe0-0xe7 */ - -1, -1, -1, -1, -1, -1, -1, 1235, /* 0xe8-0xef */ + -1, -1, -1, -1, -1, -1, -1, 1237, /* 0xe8-0xef */ }; static const short translit_page24[240] = { - 1239, 1245, 1251, 1257, 1263, 1269, 1275, 1281, /* 0x00-0x07 */ - 1287, 1292, 1297, 1302, 1307, 1312, 1317, 1322, /* 0x08-0x0f */ - 1327, 1333, 1339, 1345, 1351, 1357, 1363, 1369, /* 0x10-0x17 */ - 1375, 1381, 1386, 1392, 1398, 1403, 1408, 1413, /* 0x18-0x1f */ - 1418, 1423, -1, -1, 1429, -1, -1, -1, /* 0x20-0x27 */ + 1241, 1247, 1253, 1259, 1265, 1271, 1277, 1283, /* 0x00-0x07 */ + 1289, 1294, 1299, 1304, 1309, 1314, 1319, 1324, /* 0x08-0x0f */ + 1329, 1335, 1341, 1347, 1353, 1359, 1365, 1371, /* 0x10-0x17 */ + 1377, 1383, 1388, 1394, 1400, 1405, 1410, 1415, /* 0x18-0x1f */ + 1420, 1425, -1, -1, 1431, -1, -1, -1, /* 0x20-0x27 */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0x28-0x2f */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0x30-0x37 */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0x38-0x3f */ @@ -3889,488 +4392,592 @@ static const short translit_page24[240] = { -1, -1, -1, -1, -1, -1, -1, -1, /* 0x48-0x4f */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0x50-0x57 */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0x58-0x5f */ - 1434, 1438, 1442, 1446, 1450, 1454, 1458, 1462, /* 0x60-0x67 */ - 1466, 1470, 1475, 1480, 1485, 1490, 1495, 1500, /* 0x68-0x6f */ - 1505, 1510, 1515, 1520, 1525, 1529, 1533, 1537, /* 0x70-0x77 */ - 1541, 1545, 1549, 1553, 1557, 1561, 1566, 1571, /* 0x78-0x7f */ - 1576, 1581, 1586, 1591, 1596, 1601, 1606, 1611, /* 0x80-0x87 */ - 1616, 1619, 1622, 1625, 1628, 1631, 1634, 1637, /* 0x88-0x8f */ - 1640, 1643, 1647, 1651, 1655, 1659, 1663, 1667, /* 0x90-0x97 */ - 1671, 1675, 1679, 1683, 1687, 1691, 1695, 1699, /* 0x98-0x9f */ - 1703, 1707, 1711, 1715, 1719, 1723, 1727, 1731, /* 0xa0-0xa7 */ - 1735, 1739, 1743, 1747, 1751, 1755, 1759, 1763, /* 0xa8-0xaf */ - 1767, 1771, 1775, 1779, 1783, 1787, 1791, 1795, /* 0xb0-0xb7 */ - 1799, 1803, 1807, 1811, 1815, 1819, 1823, 1827, /* 0xb8-0xbf */ - 1831, 1835, 1839, 1843, 1847, 1851, 1855, 1859, /* 0xc0-0xc7 */ - 1863, 1867, 1871, 1875, 1879, 1883, 1887, 1891, /* 0xc8-0xcf */ - 1895, 1899, 1903, 1907, 1911, 1915, 1919, 1923, /* 0xd0-0xd7 */ - 1927, 1931, 1935, 1939, 1943, 1947, 1951, 1955, /* 0xd8-0xdf */ - 1959, 1963, 1967, 1971, 1975, 1979, 1983, 1987, /* 0xe0-0xe7 */ - 1991, 1995, 1999, -1, -1, -1, -1, -1, /* 0xe8-0xef */ + 1436, 1440, 1444, 1448, 1452, 1456, 1460, 1464, /* 0x60-0x67 */ + 1468, 1472, 1477, 1482, 1487, 1492, 1497, 1502, /* 0x68-0x6f */ + 1507, 1512, 1517, 1522, 1527, 1531, 1535, 1539, /* 0x70-0x77 */ + 1543, 1547, 1551, 1555, 1559, 1563, 1568, 1573, /* 0x78-0x7f */ + 1578, 1583, 1588, 1593, 1598, 1603, 1608, 1613, /* 0x80-0x87 */ + 1618, 1621, 1624, 1627, 1630, 1633, 1636, 1639, /* 0x88-0x8f */ + 1642, 1645, 1649, 1653, 1657, 1661, 1665, 1669, /* 0x90-0x97 */ + 1673, 1677, 1681, 1685, 1689, 1693, 1697, 1701, /* 0x98-0x9f */ + 1705, 1709, 1713, 1717, 1721, 1725, 1729, 1733, /* 0xa0-0xa7 */ + 1737, 1741, 1745, 1749, 1753, 1757, 1761, 1765, /* 0xa8-0xaf */ + 1769, 1773, 1777, 1781, 1785, 1789, 1793, 1797, /* 0xb0-0xb7 */ + 1801, 1805, 1809, 1813, 1817, 1821, 1825, 1829, /* 0xb8-0xbf */ + 1833, 1837, 1841, 1845, 1849, 1853, 1857, 1861, /* 0xc0-0xc7 */ + 1865, 1869, 1873, 1877, 1881, 1885, 1889, 1893, /* 0xc8-0xcf */ + 1897, 1901, 1905, 1909, 1913, 1917, 1921, 1925, /* 0xd0-0xd7 */ + 1929, 1933, 1937, 1941, 1945, 1949, 1953, 1957, /* 0xd8-0xdf */ + 1961, 1965, 1969, 1973, 1977, 1981, 1985, 1989, /* 0xe0-0xe7 */ + 1993, 1997, 2001, -1, -1, -1, -1, -1, /* 0xe8-0xef */ }; static const short translit_page25[64] = { - 2003, -1, 2005, -1, -1, -1, -1, -1, /* 0x00-0x07 */ - -1, -1, -1, -1, 2007, -1, -1, -1, /* 0x08-0x0f */ - 2009, -1, -1, -1, 2011, -1, -1, -1, /* 0x10-0x17 */ - 2013, -1, -1, -1, 2015, -1, -1, -1, /* 0x18-0x1f */ - -1, -1, -1, -1, 2017, -1, -1, -1, /* 0x20-0x27 */ - -1, -1, -1, -1, 2019, -1, -1, -1, /* 0x28-0x2f */ - -1, -1, -1, -1, 2021, -1, -1, -1, /* 0x30-0x37 */ - -1, -1, -1, -1, 2023, -1, -1, -1, /* 0x38-0x3f */ + 2005, -1, 2007, -1, -1, -1, -1, -1, /* 0x00-0x07 */ + -1, -1, -1, -1, 2009, -1, -1, -1, /* 0x08-0x0f */ + 2011, -1, -1, -1, 2013, -1, -1, -1, /* 0x10-0x17 */ + 2015, -1, -1, -1, 2017, -1, -1, -1, /* 0x18-0x1f */ + -1, -1, -1, -1, 2019, -1, -1, -1, /* 0x20-0x27 */ + -1, -1, -1, -1, 2021, -1, -1, -1, /* 0x28-0x2f */ + -1, -1, -1, -1, 2023, -1, -1, -1, /* 0x30-0x37 */ + -1, -1, -1, -1, 2025, -1, -1, -1, /* 0x38-0x3f */ +}; +static const short translit_page26[8] = { + -1, 2029, -1, -1, -1, 2033, -1, -1, /* 0x60-0x67 */ +}; +static const short translit_page27[16] = { + -1, -1, -1, -1, -1, -1, 2041, 2044, /* 0xe0-0xe7 */ + 2047, 2049, 2051, 2054, 2057, 2060, 2063, 2065, /* 0xe8-0xef */ +}; +static const short translit_page29[16] = { + 2067, -1, -1, 2071, 2074, 2077, 2080, 2083, /* 0x80-0x87 */ + 2086, 2089, 2092, -1, -1, -1, -1, -1, /* 0x88-0x8f */ +}; +static const short translit_page29_1[32] = { + -1, -1, -1, 2095, -1, 2097, -1, -1, /* 0xe0-0xe7 */ + -1, -1, -1, -1, -1, -1, -1, -1, /* 0xe8-0xef */ + -1, -1, -1, -1, -1, 2099, -1, -1, /* 0xf0-0xf7 */ + 2101, 2103, -1, -1, 2105, 2107, 2109, 2111, /* 0xf8-0xff */ }; static const short translit_page2a[8] = { - -1, -1, -1, -1, 2032, 2036, 2039, -1, /* 0x70-0x77 */ + -1, -1, -1, -1, 2118, 2122, 2125, -1, /* 0x70-0x77 */ }; static const short translit_page2f[216] = { - 2047, 2049, 2051, 2053, 2055, 2057, 2059, 2061, /* 0x00-0x07 */ - 2063, 2065, 2067, 2069, 2071, 2073, 2075, 2077, /* 0x08-0x0f */ - 2079, 2081, 2083, 2085, 2087, 2089, 2091, 2093, /* 0x10-0x17 */ - 2095, 2097, 2099, 2101, 2103, 2105, 2107, 2109, /* 0x18-0x1f */ - 2111, 2113, 2115, 2117, 2119, 2121, 2123, 2125, /* 0x20-0x27 */ - 2127, 2129, 2131, 2133, 2135, 2137, 2139, 2141, /* 0x28-0x2f */ - 2143, 2145, 2147, 2149, 2151, 2153, 2155, 2157, /* 0x30-0x37 */ - 2159, 2161, 2163, 2165, 2167, 2169, 2171, 2173, /* 0x38-0x3f */ - 2175, 2177, 2179, 2181, 2183, 2185, 2187, 2189, /* 0x40-0x47 */ - 2191, 2193, 2195, 2197, 2199, 2201, 2203, 2205, /* 0x48-0x4f */ - 2207, 2209, 2211, 2213, 2215, 2217, 2219, 2221, /* 0x50-0x57 */ - 2223, 2225, 2227, 2229, 2231, 2233, 2235, 2237, /* 0x58-0x5f */ - 2239, 2241, 2243, 2245, 2247, 2249, 2251, 2253, /* 0x60-0x67 */ - 2255, 2257, 2259, 2261, 2263, 2265, 2267, 2269, /* 0x68-0x6f */ - 2271, 2273, 2275, 2277, 2279, 2281, 2283, 2285, /* 0x70-0x77 */ - 2287, 2289, 2291, 2293, 2295, 2297, 2299, 2301, /* 0x78-0x7f */ - 2303, 2305, 2307, 2309, 2311, 2313, 2315, 2317, /* 0x80-0x87 */ - 2319, 2321, 2323, 2325, 2327, 2329, 2331, 2333, /* 0x88-0x8f */ - 2335, 2337, 2339, 2341, 2343, 2345, 2347, 2349, /* 0x90-0x97 */ - 2351, 2353, 2355, 2357, 2359, 2361, 2363, 2365, /* 0x98-0x9f */ - 2367, 2369, 2371, 2373, 2375, 2377, 2379, 2381, /* 0xa0-0xa7 */ - 2383, 2385, 2387, 2389, 2391, 2393, 2395, 2397, /* 0xa8-0xaf */ - 2399, 2401, 2403, 2405, 2407, 2409, 2411, 2413, /* 0xb0-0xb7 */ - 2415, 2417, 2419, 2421, 2423, 2425, 2427, 2429, /* 0xb8-0xbf */ - 2431, 2433, 2435, 2437, 2439, 2441, 2443, 2445, /* 0xc0-0xc7 */ - 2447, 2449, 2451, 2453, 2455, 2457, 2459, 2461, /* 0xc8-0xcf */ - 2463, 2465, 2467, 2469, 2471, 2473, -1, -1, /* 0xd0-0xd7 */ + 2133, 2135, 2137, 2139, 2141, 2143, 2145, 2147, /* 0x00-0x07 */ + 2149, 2151, 2153, 2155, 2157, 2159, 2161, 2163, /* 0x08-0x0f */ + 2165, 2167, 2169, 2171, 2173, 2175, 2177, 2179, /* 0x10-0x17 */ + 2181, 2183, 2185, 2187, 2189, 2191, 2193, 2195, /* 0x18-0x1f */ + 2197, 2199, 2201, 2203, 2205, 2207, 2209, 2211, /* 0x20-0x27 */ + 2213, 2215, 2217, 2219, 2221, 2223, 2225, 2227, /* 0x28-0x2f */ + 2229, 2231, 2233, 2235, 2237, 2239, 2241, 2243, /* 0x30-0x37 */ + 2245, 2247, 2249, 2251, 2253, 2255, 2257, 2259, /* 0x38-0x3f */ + 2261, 2263, 2265, 2267, 2269, 2271, 2273, 2275, /* 0x40-0x47 */ + 2277, 2279, 2281, 2283, 2285, 2287, 2289, 2291, /* 0x48-0x4f */ + 2293, 2295, 2297, 2299, 2301, 2303, 2305, 2307, /* 0x50-0x57 */ + 2309, 2311, 2313, 2315, 2317, 2319, 2321, 2323, /* 0x58-0x5f */ + 2325, 2327, 2329, 2331, 2333, 2335, 2337, 2339, /* 0x60-0x67 */ + 2341, 2343, 2345, 2347, 2349, 2351, 2353, 2355, /* 0x68-0x6f */ + 2357, 2359, 2361, 2363, 2365, 2367, 2369, 2371, /* 0x70-0x77 */ + 2373, 2375, 2377, 2379, 2381, 2383, 2385, 2387, /* 0x78-0x7f */ + 2389, 2391, 2393, 2395, 2397, 2399, 2401, 2403, /* 0x80-0x87 */ + 2405, 2407, 2409, 2411, 2413, 2415, 2417, 2419, /* 0x88-0x8f */ + 2421, 2423, 2425, 2427, 2429, 2431, 2433, 2435, /* 0x90-0x97 */ + 2437, 2439, 2441, 2443, 2445, 2447, 2449, 2451, /* 0x98-0x9f */ + 2453, 2455, 2457, 2459, 2461, 2463, 2465, 2467, /* 0xa0-0xa7 */ + 2469, 2471, 2473, 2475, 2477, 2479, 2481, 2483, /* 0xa8-0xaf */ + 2485, 2487, 2489, 2491, 2493, 2495, 2497, 2499, /* 0xb0-0xb7 */ + 2501, 2503, 2505, 2507, 2509, 2511, 2513, 2515, /* 0xb8-0xbf */ + 2517, 2519, 2521, 2523, 2525, 2527, 2529, 2531, /* 0xc0-0xc7 */ + 2533, 2535, 2537, 2539, 2541, 2543, 2545, 2547, /* 0xc8-0xcf */ + 2549, 2551, 2553, 2555, 2557, 2559, -1, -1, /* 0xd0-0xd7 */ }; static const short translit_page30[248] = { - 2475, -1, -1, -1, -1, -1, -1, -1, /* 0x00-0x07 */ + 2561, -1, -1, -1, -1, -1, -1, -1, /* 0x00-0x07 */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0x08-0x0f */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0x10-0x17 */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0x18-0x1f */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0x20-0x27 */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0x28-0x2f */ - -1, -1, -1, -1, -1, -1, 2477, -1, /* 0x30-0x37 */ - 2479, 2481, 2483, -1, -1, -1, -1, -1, /* 0x38-0x3f */ - -1, 2485, -1, 2487, -1, 2489, -1, 2491, /* 0x40-0x47 */ - -1, 2493, -1, -1, -1, -1, -1, -1, /* 0x48-0x4f */ + -1, -1, -1, -1, -1, -1, 2563, -1, /* 0x30-0x37 */ + 2565, 2567, 2569, -1, -1, -1, -1, -1, /* 0x38-0x3f */ + -1, 2571, -1, 2573, -1, 2575, -1, 2577, /* 0x40-0x47 */ + -1, 2579, -1, -1, -1, -1, -1, -1, /* 0x48-0x4f */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0x50-0x57 */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0x58-0x5f */ - -1, -1, -1, 2495, -1, -1, -1, -1, /* 0x60-0x67 */ + -1, -1, -1, 2581, -1, -1, -1, -1, /* 0x60-0x67 */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0x68-0x6f */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0x70-0x77 */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0x78-0x7f */ - -1, -1, -1, 2497, -1, 2499, -1, 2501, /* 0x80-0x87 */ - -1, -1, -1, -1, -1, -1, 2503, -1, /* 0x88-0x8f */ - -1, -1, -1, -1, -1, 2505, 2507, -1, /* 0x90-0x97 */ - -1, -1, -1, 2509, 2512, -1, -1, -1, /* 0x98-0x9f */ - 2515, 2517, -1, 2519, -1, 2521, -1, 2523, /* 0xa0-0xa7 */ - -1, 2525, -1, -1, -1, -1, -1, -1, /* 0xa8-0xaf */ + -1, -1, -1, 2583, -1, 2585, -1, 2587, /* 0x80-0x87 */ + -1, -1, -1, -1, -1, -1, 2589, -1, /* 0x88-0x8f */ + -1, -1, -1, -1, -1, 2591, 2593, -1, /* 0x90-0x97 */ + -1, -1, -1, 2595, 2598, -1, -1, -1, /* 0x98-0x9f */ + 2601, 2603, -1, 2605, -1, 2607, -1, 2609, /* 0xa0-0xa7 */ + -1, 2611, -1, -1, -1, -1, -1, -1, /* 0xa8-0xaf */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0xb0-0xb7 */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0xb8-0xbf */ - -1, -1, -1, 2527, -1, -1, -1, -1, /* 0xc0-0xc7 */ + -1, -1, -1, 2613, -1, -1, -1, -1, /* 0xc0-0xc7 */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0xc8-0xcf */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0xd0-0xd7 */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0xd8-0xdf */ - -1, -1, -1, 2529, -1, 2531, -1, 2533, /* 0xe0-0xe7 */ - -1, -1, -1, -1, -1, -1, 2535, -1, /* 0xe8-0xef */ - -1, -1, -1, -1, -1, 2537, 2539, -1, /* 0xf0-0xf7 */ + -1, -1, -1, 2615, -1, 2617, -1, 2619, /* 0xe0-0xe7 */ + -1, -1, -1, -1, -1, -1, 2621, -1, /* 0xe8-0xef */ + -1, -1, -1, -1, -1, 2623, 2625, -1, /* 0xf0-0xf7 */ }; static const short translit_page31[96] = { - -1, 2541, 2543, 2545, 2547, 2549, 2551, 2553, /* 0x30-0x37 */ - 2555, 2557, 2559, 2561, 2563, 2565, 2567, 2569, /* 0x38-0x3f */ - 2571, 2573, 2575, 2577, 2579, 2581, 2583, 2585, /* 0x40-0x47 */ - 2587, 2589, 2591, 2593, 2595, 2597, 2599, 2601, /* 0x48-0x4f */ - 2603, 2605, 2607, 2609, 2611, 2613, 2615, 2617, /* 0x50-0x57 */ - 2619, 2621, 2623, 2625, 2627, 2629, 2631, 2633, /* 0x58-0x5f */ - 2635, 2637, 2639, 2641, 2643, 2645, 2647, 2649, /* 0x60-0x67 */ - 2651, 2653, 2655, 2657, 2659, 2661, 2663, 2665, /* 0x68-0x6f */ - 2667, 2669, 2671, 2673, 2675, 2677, 2679, 2681, /* 0x70-0x77 */ - 2683, 2685, 2687, 2689, 2691, 2693, 2695, 2697, /* 0x78-0x7f */ - 2699, 2701, 2703, 2705, 2707, 2709, 2711, 2713, /* 0x80-0x87 */ - 2715, 2717, 2719, 2721, 2723, 2725, 2727, -1, /* 0x88-0x8f */ + -1, 2627, 2629, 2631, 2633, 2635, 2637, 2639, /* 0x30-0x37 */ + 2641, 2643, 2645, 2647, 2649, 2651, 2653, 2655, /* 0x38-0x3f */ + 2657, 2659, 2661, 2663, 2665, 2667, 2669, 2671, /* 0x40-0x47 */ + 2673, 2675, 2677, 2679, 2681, 2683, 2685, 2687, /* 0x48-0x4f */ + 2689, 2691, 2693, 2695, 2697, 2699, 2701, 2703, /* 0x50-0x57 */ + 2705, 2707, 2709, 2711, 2713, 2715, 2717, 2719, /* 0x58-0x5f */ + 2721, 2723, 2725, 2727, 2729, 2731, 2733, 2735, /* 0x60-0x67 */ + 2737, 2739, 2741, 2743, 2745, 2747, 2749, 2751, /* 0x68-0x6f */ + 2753, 2755, 2757, 2759, 2761, 2763, 2765, 2767, /* 0x70-0x77 */ + 2769, 2771, 2773, 2775, 2777, 2779, 2781, 2783, /* 0x78-0x7f */ + 2785, 2787, 2789, 2791, 2793, 2795, 2797, 2799, /* 0x80-0x87 */ + 2801, 2803, 2805, 2807, 2809, 2811, 2813, -1, /* 0x88-0x8f */ }; -static const short translit_page31_5[528] = { - 2729, 2731, 2733, 2735, 2737, 2739, 2741, 2743, /* 0xf0-0xf7 */ - 2745, 2747, 2749, 2751, 2753, 2755, 2757, 2759, /* 0xf8-0xff */ +static const short translit_page31_1[528] = { + 2815, 2817, 2819, 2821, 2823, 2825, 2827, 2829, /* 0xf0-0xf7 */ + 2831, 2833, 2835, 2837, 2839, 2841, 2843, 2845, /* 0xf8-0xff */ /* 0x3200 */ - 2761, 2765, 2769, 2773, 2777, 2781, 2785, 2789, /* 0x00-0x07 */ - 2793, 2797, 2801, 2805, 2809, 2813, 2817, 2822, /* 0x08-0x0f */ - 2827, 2832, 2837, 2842, 2847, 2852, 2857, 2862, /* 0x10-0x17 */ - 2867, 2872, 2877, 2882, 2887, 2892, 2900, -1, /* 0x18-0x1f */ - 2907, 2911, 2915, 2919, 2923, 2927, 2931, 2935, /* 0x20-0x27 */ - 2939, 2943, 2947, 2951, 2955, 2959, 2963, 2967, /* 0x28-0x2f */ - 2971, 2975, 2979, 2983, 2987, 2991, 2995, 2999, /* 0x30-0x37 */ - 3003, 3007, 3011, 3015, 3019, 3023, 3027, 3031, /* 0x38-0x3f */ - 3035, 3039, 3043, 3047, -1, -1, -1, -1, /* 0x40-0x47 */ + 2847, 2851, 2855, 2859, 2863, 2867, 2871, 2875, /* 0x00-0x07 */ + 2879, 2883, 2887, 2891, 2895, 2899, 2903, 2908, /* 0x08-0x0f */ + 2913, 2918, 2923, 2928, 2933, 2938, 2943, 2948, /* 0x10-0x17 */ + 2953, 2958, 2963, 2968, 2973, 2978, 2986, -1, /* 0x18-0x1f */ + 2993, 2997, 3001, 3005, 3009, 3013, 3017, 3021, /* 0x20-0x27 */ + 3025, 3029, 3033, 3037, 3041, 3045, 3049, 3053, /* 0x28-0x2f */ + 3057, 3061, 3065, 3069, 3073, 3077, 3081, 3085, /* 0x30-0x37 */ + 3089, 3093, 3097, 3101, 3105, 3109, 3113, 3117, /* 0x38-0x3f */ + 3121, 3125, 3129, 3133, 3137, 3141, 3145, 3149, /* 0x40-0x47 */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0x48-0x4f */ - 3051, 3055, 3060, 3065, 3070, 3075, 3080, 3085, /* 0x50-0x57 */ - 3090, 3095, 3100, 3105, 3110, 3115, 3120, 3125, /* 0x58-0x5f */ - 3130, 3134, 3138, 3142, 3146, 3150, 3154, 3158, /* 0x60-0x67 */ - 3162, 3166, 3170, 3174, 3178, 3182, 3186, 3191, /* 0x68-0x6f */ - 3196, 3201, 3206, 3211, 3216, 3221, 3226, 3231, /* 0x70-0x77 */ - 3236, 3241, 3246, 3251, 3256, 3264, -1, -1, /* 0x78-0x7f */ - 3271, 3275, 3279, 3283, 3287, 3291, 3295, 3299, /* 0x80-0x87 */ - 3303, 3307, 3311, 3315, 3319, 3323, 3327, 3331, /* 0x88-0x8f */ - 3335, 3339, 3343, 3347, 3351, 3355, 3359, 3363, /* 0x90-0x97 */ - 3367, 3371, 3375, 3379, 3383, 3387, 3391, 3395, /* 0x98-0x9f */ - 3399, 3403, 3407, 3411, 3415, 3419, 3423, 3427, /* 0xa0-0xa7 */ - 3431, 3435, 3439, 3443, 3447, 3451, 3455, 3459, /* 0xa8-0xaf */ - 3463, 3467, 3472, 3477, 3482, 3487, 3492, 3497, /* 0xb0-0xb7 */ - 3502, 3507, 3512, 3517, 3522, 3527, 3532, 3537, /* 0xb8-0xbf */ - 3542, 3545, 3548, 3551, 3554, 3557, 3560, 3563, /* 0xc0-0xc7 */ - 3566, 3569, 3573, 3577, 3581, 3584, 3588, 3591, /* 0xc8-0xcf */ - 3595, 3599, 3603, 3607, 3611, 3615, 3619, 3623, /* 0xd0-0xd7 */ - 3627, 3631, 3635, 3639, 3643, 3647, 3651, 3655, /* 0xd8-0xdf */ - 3659, 3663, 3667, 3671, 3675, 3679, 3683, 3687, /* 0xe0-0xe7 */ - 3691, 3695, 3699, 3703, 3707, 3711, 3715, 3719, /* 0xe8-0xef */ - 3723, 3727, 3731, 3735, 3739, 3743, 3747, 3751, /* 0xf0-0xf7 */ - 3755, 3759, 3763, 3767, 3771, 3775, 3779, -1, /* 0xf8-0xff */ + 3153, 3157, 3162, 3167, 3172, 3177, 3182, 3187, /* 0x50-0x57 */ + 3192, 3197, 3202, 3207, 3212, 3217, 3222, 3227, /* 0x58-0x5f */ + 3232, 3236, 3240, 3244, 3248, 3252, 3256, 3260, /* 0x60-0x67 */ + 3264, 3268, 3272, 3276, 3280, 3284, 3288, 3293, /* 0x68-0x6f */ + 3298, 3303, 3308, 3313, 3318, 3323, 3328, 3333, /* 0x70-0x77 */ + 3338, 3343, 3348, 3353, 3358, 3366, 3373, -1, /* 0x78-0x7f */ + 3378, 3382, 3386, 3390, 3394, 3398, 3402, 3406, /* 0x80-0x87 */ + 3410, 3414, 3418, 3422, 3426, 3430, 3434, 3438, /* 0x88-0x8f */ + 3442, 3446, 3450, 3454, 3458, 3462, 3466, 3470, /* 0x90-0x97 */ + 3474, 3478, 3482, 3486, 3490, 3494, 3498, 3502, /* 0x98-0x9f */ + 3506, 3510, 3514, 3518, 3522, 3526, 3530, 3534, /* 0xa0-0xa7 */ + 3538, 3542, 3546, 3550, 3554, 3558, 3562, 3566, /* 0xa8-0xaf */ + 3570, 3574, 3579, 3584, 3589, 3594, 3599, 3604, /* 0xb0-0xb7 */ + 3609, 3614, 3619, 3624, 3629, 3634, 3639, 3644, /* 0xb8-0xbf */ + 3649, 3652, 3655, 3658, 3661, 3664, 3667, 3670, /* 0xc0-0xc7 */ + 3673, 3676, 3680, 3684, 3688, 3691, 3695, 3698, /* 0xc8-0xcf */ + 3702, 3706, 3710, 3714, 3718, 3722, 3726, 3730, /* 0xd0-0xd7 */ + 3734, 3738, 3742, 3746, 3750, 3754, 3758, 3762, /* 0xd8-0xdf */ + 3766, 3770, 3774, 3778, 3782, 3786, 3790, 3794, /* 0xe0-0xe7 */ + 3798, 3802, 3806, 3810, 3814, 3818, 3822, 3826, /* 0xe8-0xef */ + 3830, 3834, 3838, 3842, 3846, 3850, 3854, 3858, /* 0xf0-0xf7 */ + 3862, 3866, 3870, 3874, 3878, 3882, 3886, 3890, /* 0xf8-0xff */ /* 0x3300 */ - 3783, 3788, 3793, 3798, 3802, 3807, 3811, 3815, /* 0x00-0x07 */ - 3821, 3826, 3830, 3834, 3838, 3843, 3848, 3852, /* 0x08-0x0f */ - 3856, 3859, 3863, 3868, 3873, 3876, 3882, 3889, /* 0x10-0x17 */ - 3895, 3899, 3905, 3911, 3916, 3920, 3924, 3928, /* 0x18-0x1f */ - 3933, 3939, 3944, 3948, 3952, 3956, 3959, 3962, /* 0x20-0x27 */ - 3965, 3968, 3972, 3976, 3982, 3986, 3991, 3997, /* 0x28-0x2f */ - 4001, 4004, 4007, 4013, 4018, 4024, 4028, 4034, /* 0x30-0x37 */ - 4037, 4041, 4045, 4049, 4053, 4057, 4062, 4066, /* 0x38-0x3f */ - 4069, 4073, 4077, 4081, 4086, 4090, 4094, 4098, /* 0x40-0x47 */ - 4104, 4109, 4112, 4118, 4121, 4126, 4131, 4135, /* 0x48-0x4f */ - 4139, 4143, 4148, 4151, 4155, 4160, 4163, 4169, /* 0x50-0x57 */ - 4173, 4176, 4179, 4182, 4185, 4188, 4191, 4194, /* 0x58-0x5f */ - 4197, 4200, 4203, 4207, 4211, 4215, 4219, 4223, /* 0x60-0x67 */ - 4227, 4231, 4235, 4239, 4243, 4247, 4251, 4255, /* 0x68-0x6f */ - 4259, 4263, 4267, 4270, 4273, 4277, 4280, 4283, /* 0x70-0x77 */ - 4286, 4291, 4296, 4299, 4302, 4305, 4308, 4311, /* 0x78-0x7f */ - 4316, 4319, 4322, 4325, 4328, 4331, 4334, 4337, /* 0x80-0x87 */ - 4340, 4344, 4349, 4352, 4355, 4358, 4361, 4364, /* 0x88-0x8f */ - 4367, 4370, 4374, 4378, 4382, 4386, 4389, 4392, /* 0x90-0x97 */ - 4395, 4398, 4401, 4404, 4407, 4410, 4413, 4416, /* 0x98-0x9f */ - 4421, 4426, 4430, 4435, 4440, 4445, 4449, 4454, /* 0xa0-0xa7 */ - 4458, 4464, 4467, 4471, 4475, 4479, 4483, 4489, /* 0xa8-0xaf */ - 4497, 4500, 4503, 4506, 4509, 4512, 4515, 4518, /* 0xb0-0xb7 */ - 4521, 4524, 4527, 4530, 4533, 4536, 4539, 4542, /* 0xb8-0xbf */ - 4545, 4548, 4551, 4556, 4559, 4562, 4565, 4570, /* 0xc0-0xc7 */ - 4574, 4577, 4580, 4583, 4586, 4589, 4592, 4595, /* 0xc8-0xcf */ - 4598, 4601, 4604, 4608, 4611, 4614, 4618, 4622, /* 0xd0-0xd7 */ - 4625, 4630, 4634, 4637, 4640, 4643, 4646, 4650, /* 0xd8-0xdf */ - 4658, 4661, 4664, 4667, 4670, 4673, 4676, 4679, /* 0xe0-0xe7 */ - 4682, 4685, 4689, 4693, 4697, 4701, 4705, 4709, /* 0xe8-0xef */ - 4713, 4717, 4721, 4725, 4729, 4733, 4737, 4741, /* 0xf0-0xf7 */ - 4745, 4749, 4753, 4757, 4761, 4765, 4769, 4654, /* 0xf8-0xff */ + 3893, 3898, 3903, 3908, 3912, 3917, 3921, 3925, /* 0x00-0x07 */ + 3931, 3936, 3940, 3944, 3948, 3953, 3958, 3962, /* 0x08-0x0f */ + 3966, 3969, 3973, 3978, 3983, 3986, 3992, 3999, /* 0x10-0x17 */ + 4005, 4009, 4015, 4021, 4026, 4030, 4034, 4038, /* 0x18-0x1f */ + 4043, 4049, 4054, 4058, 4062, 4066, 4069, 4072, /* 0x20-0x27 */ + 4075, 4078, 4082, 4086, 4092, 4096, 4101, 4107, /* 0x28-0x2f */ + 4111, 4114, 4117, 4123, 4128, 4134, 4138, 4144, /* 0x30-0x37 */ + 4147, 4151, 4155, 4159, 4163, 4167, 4172, 4176, /* 0x38-0x3f */ + 4179, 4183, 4187, 4191, 4196, 4200, 4204, 4208, /* 0x40-0x47 */ + 4214, 4219, 4222, 4228, 4231, 4236, 4241, 4245, /* 0x48-0x4f */ + 4249, 4253, 4258, 4261, 4265, 4270, 4273, 4279, /* 0x50-0x57 */ + 4283, 4286, 4289, 4292, 4295, 4298, 4301, 4304, /* 0x58-0x5f */ + 4307, 4310, 4313, 4317, 4321, 4325, 4329, 4333, /* 0x60-0x67 */ + 4337, 4341, 4345, 4349, 4353, 4357, 4361, 4365, /* 0x68-0x6f */ + 4369, 4373, 4377, 4380, 4383, 4387, 4390, 4393, /* 0x70-0x77 */ + 4396, 4401, 4406, 4409, 4412, 4415, 4418, 4421, /* 0x78-0x7f */ + 4426, 4429, 4432, 4435, 4438, 4441, 4444, 4447, /* 0x80-0x87 */ + 4450, 4454, 4459, 4462, 4465, 4468, 4471, 4474, /* 0x88-0x8f */ + 4477, 4480, 4484, 4488, 4492, 4496, 4499, 4502, /* 0x90-0x97 */ + 4505, 4508, 4511, 4514, 4517, 4520, 4523, 4526, /* 0x98-0x9f */ + 4531, 4536, 4540, 4545, 4550, 4555, 4559, 4564, /* 0xa0-0xa7 */ + 4568, 4574, 4577, 4581, 4585, 4589, 4593, 4599, /* 0xa8-0xaf */ + 4607, 4610, 4613, 4616, 4619, 4622, 4625, 4628, /* 0xb0-0xb7 */ + 4631, 4634, 4637, 4640, 4643, 4646, 4649, 4652, /* 0xb8-0xbf */ + 4655, 4658, 4661, 4666, 4669, 4672, 4675, 4680, /* 0xc0-0xc7 */ + 4684, 4687, 4690, 4693, 4696, 4699, 4702, 4705, /* 0xc8-0xcf */ + 4708, 4711, 4714, 4718, 4721, 4724, 4728, 4732, /* 0xd0-0xd7 */ + 4735, 4740, 4744, 4747, 4750, 4753, 4756, 4760, /* 0xd8-0xdf */ + 4764, 4767, 4770, 4773, 4776, 4779, 4782, 4785, /* 0xe0-0xe7 */ + 4788, 4791, 4795, 4799, 4803, 4807, 4811, 4815, /* 0xe8-0xef */ + 4819, 4823, 4827, 4831, 4835, 4839, 4843, 4847, /* 0xf0-0xf7 */ + 4851, 4855, 4859, 4863, 4867, 4871, 4875, 4879, /* 0xf8-0xff */ }; -static const short translit_pagef9[368] = { - 4773, 4775, 4777, 4779, 4781, 4783, 4785, 4787, /* 0x00-0x07 */ - 4789, 4791, 4793, 4795, 4797, 4799, 4801, 4803, /* 0x08-0x0f */ - 4805, 4807, 4809, 4811, 4813, 4815, 4817, 4819, /* 0x10-0x17 */ - 4821, 4823, 4825, 4827, 4829, 4831, 4833, 4835, /* 0x18-0x1f */ - 4837, 4839, 4841, 4843, 4845, 4847, 4849, 4851, /* 0x20-0x27 */ - 4853, 4855, 4857, 4859, 4861, 4863, 4865, 4867, /* 0x28-0x2f */ - 4869, 4871, 4873, 4875, 4877, 4879, 4881, 4883, /* 0x30-0x37 */ - 4885, 4887, 4889, 4891, 4893, 4895, 4897, 4899, /* 0x38-0x3f */ - 4901, 4903, 4905, 4907, 4909, 4911, 4913, 4915, /* 0x40-0x47 */ - 4917, 4919, 4921, 4923, 4925, 4927, 4929, 4931, /* 0x48-0x4f */ - 4933, 4935, 4937, 4939, 4941, 4943, 4945, 4947, /* 0x50-0x57 */ - 4949, 4951, 4953, 4955, 4957, 4959, 4961, 4963, /* 0x58-0x5f */ - 4965, 4967, 4969, 4971, 4973, 4975, 4977, 4979, /* 0x60-0x67 */ - 4981, 4983, 4985, 4987, 4989, 4991, 4993, 4995, /* 0x68-0x6f */ - 4997, 4999, 5001, 5003, 5005, 5007, 5009, 5011, /* 0x70-0x77 */ - 5013, 5015, 5017, 5019, 5021, 5023, 5025, 5027, /* 0x78-0x7f */ - 5029, 5031, 5033, 5035, 5037, 5039, 5041, 5043, /* 0x80-0x87 */ - 5045, 5047, 5049, 5051, 5053, 5055, 5057, 5059, /* 0x88-0x8f */ - 5061, 5063, 5065, 5067, 5069, 5071, 5073, 5075, /* 0x90-0x97 */ - 5077, 5079, 5081, 5083, 5085, 5087, 5089, 5091, /* 0x98-0x9f */ - 5093, 5095, 5097, 5099, 5101, 5103, 5105, 5107, /* 0xa0-0xa7 */ - 5109, 5111, 5113, 5115, 5117, 5119, 5121, 5123, /* 0xa8-0xaf */ - 5125, 5127, 5129, 5131, 5133, 5135, 5137, 5139, /* 0xb0-0xb7 */ - 5141, 5143, 5145, 5147, 5149, 5151, 5153, 5155, /* 0xb8-0xbf */ - 5157, 5159, 5161, 5163, 5165, 5167, 5169, 5171, /* 0xc0-0xc7 */ - 5173, 5175, 5177, 5179, 5181, 5183, 5185, 5187, /* 0xc8-0xcf */ - 5189, 5191, 5193, 5195, 5197, 5199, 5201, 5203, /* 0xd0-0xd7 */ - 5205, 5207, 5209, 5211, 5213, 5215, 5217, 5219, /* 0xd8-0xdf */ - 5221, 5223, 5225, 5227, 5229, 5231, 5233, 5235, /* 0xe0-0xe7 */ - 5237, 5239, 5241, 5243, 5245, 5247, 5249, 5251, /* 0xe8-0xef */ - 5253, 5255, 5257, 5259, 5261, 5263, 5265, 5267, /* 0xf0-0xf7 */ - 5269, 5271, 5273, 5275, 5277, 5279, 5281, 5283, /* 0xf8-0xff */ +static const short translit_pagef9[480] = { + 4883, 4885, 4887, 4889, 4891, 4893, 4895, 4897, /* 0x00-0x07 */ + 4899, 4901, 4903, 4905, 4907, 4909, 4911, 4913, /* 0x08-0x0f */ + 4915, 4917, 4919, 4921, 4923, 4925, 4927, 4929, /* 0x10-0x17 */ + 4931, 4933, 4935, 4937, 4939, 4941, 4943, 4945, /* 0x18-0x1f */ + 4947, 4949, 4951, 4953, 4955, 4957, 4959, 4961, /* 0x20-0x27 */ + 4963, 4965, 4967, 4969, 4971, 4973, 4975, 4977, /* 0x28-0x2f */ + 4979, 4981, 4983, 4985, 4987, 4989, 4991, 4993, /* 0x30-0x37 */ + 4995, 4997, 4999, 5001, 5003, 5005, 5007, 5009, /* 0x38-0x3f */ + 5011, 5013, 5015, 5017, 5019, 5021, 5023, 5025, /* 0x40-0x47 */ + 5027, 5029, 5031, 5033, 5035, 5037, 5039, 5041, /* 0x48-0x4f */ + 5043, 5045, 5047, 5049, 5051, 5053, 5055, 5057, /* 0x50-0x57 */ + 5059, 5061, 5063, 5065, 5067, 5069, 5071, 5073, /* 0x58-0x5f */ + 5075, 5077, 5079, 5081, 5083, 5085, 5087, 5089, /* 0x60-0x67 */ + 5091, 5093, 5095, 5097, 5099, 5101, 5103, 5105, /* 0x68-0x6f */ + 5107, 5109, 5111, 5113, 5115, 5117, 5119, 5121, /* 0x70-0x77 */ + 5123, 5125, 5127, 5129, 5131, 5133, 5135, 5137, /* 0x78-0x7f */ + 5139, 5141, 5143, 5145, 5147, 5149, 5151, 5153, /* 0x80-0x87 */ + 5155, 5157, 5159, 5161, 5163, 5165, 5167, 5169, /* 0x88-0x8f */ + 5171, 5173, 5175, 5177, 5179, 5181, 5183, 5185, /* 0x90-0x97 */ + 5187, 5189, 5191, 5193, 5195, 5197, 5199, 5201, /* 0x98-0x9f */ + 5203, 5205, 5207, 5209, 5211, 5213, 5215, 5217, /* 0xa0-0xa7 */ + 5219, 5221, 5223, 5225, 5227, 5229, 5231, 5233, /* 0xa8-0xaf */ + 5235, 5237, 5239, 5241, 5243, 5245, 5247, 5249, /* 0xb0-0xb7 */ + 5251, 5253, 5255, 5257, 5259, 5261, 5263, 5265, /* 0xb8-0xbf */ + 5267, 5269, 5271, 5273, 5275, 5277, 5279, 5281, /* 0xc0-0xc7 */ + 5283, 5285, 5287, 5289, 5291, 5293, 5295, 5297, /* 0xc8-0xcf */ + 5299, 5301, 5303, 5305, 5307, 5309, 5311, 5313, /* 0xd0-0xd7 */ + 5315, 5317, 5319, 5321, 5323, 5325, 5327, 5329, /* 0xd8-0xdf */ + 5331, 5333, 5335, 5337, 5339, 5341, 5343, 5345, /* 0xe0-0xe7 */ + 5347, 5349, 5351, 5353, 5355, 5357, 5359, 5361, /* 0xe8-0xef */ + 5363, 5365, 5367, 5369, 5371, 5373, 5375, 5377, /* 0xf0-0xf7 */ + 5379, 5381, 5383, 5385, 5387, 5389, 5391, 5393, /* 0xf8-0xff */ /* 0xfa00 */ - 5285, 5287, 5289, 5291, 5293, 5295, 5297, 5299, /* 0x00-0x07 */ - 5301, 5303, 5305, 5307, 5309, 5311, -1, -1, /* 0x08-0x0f */ - 5313, -1, 5315, -1, -1, 5317, 5319, 5321, /* 0x10-0x17 */ - 5323, 5325, 5327, 5329, 5331, 5333, 5335, -1, /* 0x18-0x1f */ - 5337, -1, 5339, -1, -1, 5341, 5343, -1, /* 0x20-0x27 */ - -1, -1, 5345, 5347, 5349, 5351, -1, -1, /* 0x28-0x2f */ - 5353, 5355, 5357, 5359, 5361, 5363, 5365, 5367, /* 0x30-0x37 */ - 5369, 5371, 5373, 5375, 5377, 5379, 5381, 5383, /* 0x38-0x3f */ - 5385, 5387, 5389, 5391, 5393, 5395, 5397, 5399, /* 0x40-0x47 */ - 5401, 5403, 5405, 5407, 5409, 5411, 5413, 5415, /* 0x48-0x4f */ - 5417, 5419, 5421, 5423, 5425, 5427, 5429, 5431, /* 0x50-0x57 */ - 5433, 5435, 5437, 5439, 5441, 5443, 5445, 5447, /* 0x58-0x5f */ - 5449, 5451, 5453, 5455, 5457, 5459, 5461, 5463, /* 0x60-0x67 */ - 5465, 5467, 5469, -1, -1, -1, -1, -1, /* 0x68-0x6f */ + 5395, 5397, 5399, 5401, 5403, 5405, 5407, 5409, /* 0x00-0x07 */ + 5411, 5413, 5415, 5417, 5419, 5421, -1, -1, /* 0x08-0x0f */ + 5423, -1, 5425, -1, -1, 5427, 5429, 5431, /* 0x10-0x17 */ + 5433, 5435, 5437, 5439, 5441, 5443, 5445, -1, /* 0x18-0x1f */ + 5447, -1, 5449, -1, -1, 5451, 5453, -1, /* 0x20-0x27 */ + -1, -1, 5455, 5457, 5459, 5461, 5463, 5465, /* 0x28-0x2f */ + 5467, 5469, 5471, 5473, 5475, 5477, 5479, 5481, /* 0x30-0x37 */ + 5483, 5485, 5487, 5489, 5491, 5493, 5495, 5497, /* 0x38-0x3f */ + 5499, 5501, 5503, 5505, 5507, 5509, 5511, 5513, /* 0x40-0x47 */ + 5515, 5517, 5519, 5521, 5523, 5525, 5527, 5529, /* 0x48-0x4f */ + 5531, 5533, 5535, 5537, 5539, 5541, 5543, 5545, /* 0x50-0x57 */ + 5547, 5549, 5551, 5553, 5555, 5557, 5559, 5561, /* 0x58-0x5f */ + 5563, 5565, 5567, 5569, 5571, 5573, 5575, 5577, /* 0x60-0x67 */ + 5579, 5581, 5583, 5585, 5587, 5589, -1, -1, /* 0x68-0x6f */ + 5591, 5593, 5595, 5597, 5599, 5601, 5603, 5605, /* 0x70-0x77 */ + 5607, 5609, 5611, 5613, 5615, 5617, 5619, 5621, /* 0x78-0x7f */ + 5623, 5625, 5627, 5629, 5631, 5633, 5635, 5637, /* 0x80-0x87 */ + 5639, 5641, 5643, 5645, 5647, 5649, 5651, 5653, /* 0x88-0x8f */ + 5655, 5657, 5659, 5661, 5663, 5665, 5667, 5669, /* 0x90-0x97 */ + 5671, 5673, 5675, 5677, 5679, 5681, 5683, 5685, /* 0x98-0x9f */ + 5687, 5689, 5691, 5693, 5695, 5697, 5699, 5701, /* 0xa0-0xa7 */ + 5703, 5705, 5707, 5709, 5711, 5713, 5715, 5717, /* 0xa8-0xaf */ + 5719, 5721, 5723, 5725, 5727, 5729, 5731, 5733, /* 0xb0-0xb7 */ + 5735, 5737, 5739, 5741, 5743, 5745, 5747, 5749, /* 0xb8-0xbf */ + 5751, 5753, 5755, 5757, 5759, 5761, 5763, 5765, /* 0xc0-0xc7 */ + 5767, 5769, 5771, 5773, 5775, 5777, 5779, 5781, /* 0xc8-0xcf */ + 5783, 5785, 5787, 5789, 5791, 5793, 5795, 5797, /* 0xd0-0xd7 */ + 5799, 5801, -1, -1, -1, -1, -1, -1, /* 0xd8-0xdf */ }; static const short translit_pagefb[80] = { - 5471, 5474, 5477, 5480, 5484, 5488, 5491, -1, /* 0x00-0x07 */ + 5803, 5806, 5809, 5812, 5816, 5820, 5823, -1, /* 0x00-0x07 */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0x08-0x0f */ - -1, -1, -1, 5494, 5497, 5500, 5503, 5506, /* 0x10-0x17 */ + -1, -1, -1, 5826, 5829, 5832, 5835, 5838, /* 0x10-0x17 */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0x18-0x1f */ - 5509, 5511, 5513, 5515, 5517, 5519, 5521, 5523, /* 0x20-0x27 */ - 5525, 5527, -1, -1, -1, -1, -1, -1, /* 0x28-0x2f */ + 5841, 5843, 5845, 5847, 5849, 5851, 5853, 5855, /* 0x20-0x27 */ + 5857, 5859, -1, -1, -1, -1, -1, -1, /* 0x28-0x2f */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0x30-0x37 */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0x38-0x3f */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0x40-0x47 */ - -1, -1, -1, -1, -1, -1, -1, 5529, /* 0x48-0x4f */ + -1, -1, -1, -1, -1, -1, -1, 5861, /* 0x48-0x4f */ }; static const short translit_pagefe[40] = { - -1, 5532, 5534, 5536, 5538, 5540, 5542, 5544, /* 0x48-0x4f */ - 5546, 5548, 5550, -1, 5552, 5554, 5556, 5558, /* 0x50-0x57 */ - 5560, 5562, 5564, 5566, 5568, 5570, 5572, 5574, /* 0x58-0x5f */ - 5576, 5578, 5580, 5582, 5584, 5586, 5588, -1, /* 0x60-0x67 */ - 5590, 5592, 5594, 5596, -1, -1, -1, -1, /* 0x68-0x6f */ + -1, 5864, 5866, 5868, 5870, 5872, 5874, 5876, /* 0x48-0x4f */ + 5878, 5880, 5882, -1, 5884, 5886, 5888, 5890, /* 0x50-0x57 */ + 5892, 5894, 5896, 5898, 5900, 5902, 5904, 5906, /* 0x58-0x5f */ + 5908, 5910, 5912, 5914, 5916, 5918, 5920, -1, /* 0x60-0x67 */ + 5922, 5924, 5926, 5928, -1, -1, -1, -1, /* 0x68-0x6f */ }; static const short translit_pageff[240] = { - -1, 5598, 5600, 5602, 5604, 5606, 5608, 5610, /* 0x00-0x07 */ - 5612, 5614, 5616, 5618, 5620, 5622, 5624, 5626, /* 0x08-0x0f */ - 5628, 5630, 5632, 5634, 5636, 5638, 5640, 5642, /* 0x10-0x17 */ - 5644, 5646, 5648, 5650, 5652, 5654, 5656, 5658, /* 0x18-0x1f */ - 5660, 5662, 5664, 5666, 5668, 5670, 5672, 5674, /* 0x20-0x27 */ - 5676, 5678, 5680, 5682, 5684, 5686, 5688, 5690, /* 0x28-0x2f */ - 5692, 5694, 5696, 5698, 5700, 5702, 5704, 5706, /* 0x30-0x37 */ - 5708, 5710, 5712, 5714, 5716, 5718, 5720, 5722, /* 0x38-0x3f */ - 5724, 5726, 5728, 5730, 5732, 5734, 5736, 5738, /* 0x40-0x47 */ - 5740, 5742, 5744, 5746, 5748, 5750, 5752, 5754, /* 0x48-0x4f */ - 5756, 5758, 5760, 5762, 5764, 5766, 5768, 5770, /* 0x50-0x57 */ - 5772, 5774, 5776, 5778, 5780, 5782, 5784, 5786, /* 0x58-0x5f */ - 5788, 5790, 5792, 5794, 5796, 5798, 5800, 5802, /* 0x60-0x67 */ - 5804, 5806, 5808, 5810, 5812, 5814, 5816, 5818, /* 0x68-0x6f */ - 5820, 5822, 5824, 5826, 5828, 5830, 5832, 5834, /* 0x70-0x77 */ - 5836, 5838, 5840, 5842, 5844, 5846, 5848, 5850, /* 0x78-0x7f */ - 5852, 5854, 5856, 5858, 5860, 5862, 5864, 5866, /* 0x80-0x87 */ - 5868, 5870, 5872, 5874, 5876, 5878, 5880, 5882, /* 0x88-0x8f */ - 5884, 5886, 5888, 5890, 5892, 5894, 5896, 5898, /* 0x90-0x97 */ - 5900, 5902, 5904, 5906, 5908, 5910, 5912, 5914, /* 0x98-0x9f */ - 5916, 5918, 5920, 5922, 5924, 5926, 5928, 5930, /* 0xa0-0xa7 */ - 5932, 5934, 5936, 5938, 5940, 5942, 5944, 5946, /* 0xa8-0xaf */ - 5948, 5950, 5952, 5954, 5956, 5958, 5960, 5962, /* 0xb0-0xb7 */ - 5964, 5966, 5968, 5970, 5972, 5974, 5976, -1, /* 0xb8-0xbf */ - -1, -1, 5978, 5980, 5982, 5984, 5986, 5988, /* 0xc0-0xc7 */ - -1, -1, 5990, 5992, 5994, 5996, 5998, 6000, /* 0xc8-0xcf */ - -1, -1, 6002, 6004, 6006, 6008, 6010, 6012, /* 0xd0-0xd7 */ - -1, -1, 6014, 6016, 6018, -1, -1, -1, /* 0xd8-0xdf */ - 6020, 6022, 6024, 6026, 6028, 6030, 6032, -1, /* 0xe0-0xe7 */ - 6034, 6036, 6038, 6040, 6042, 6044, 6046, -1, /* 0xe8-0xef */ + -1, 5930, 5932, 5934, 5936, 5938, 5940, 5942, /* 0x00-0x07 */ + 5944, 5946, 5948, 5950, 5952, 5954, 5956, 5958, /* 0x08-0x0f */ + 5960, 5962, 5964, 5966, 5968, 5970, 5972, 5974, /* 0x10-0x17 */ + 5976, 5978, 5980, 5982, 5984, 5986, 5988, 5990, /* 0x18-0x1f */ + 5992, 5994, 5996, 5998, 6000, 6002, 6004, 6006, /* 0x20-0x27 */ + 6008, 6010, 6012, 6014, 6016, 6018, 6020, 6022, /* 0x28-0x2f */ + 6024, 6026, 6028, 6030, 6032, 6034, 6036, 6038, /* 0x30-0x37 */ + 6040, 6042, 6044, 6046, 6048, 6050, 6052, 6054, /* 0x38-0x3f */ + 6056, 6058, 6060, 6062, 6064, 6066, 6068, 6070, /* 0x40-0x47 */ + 6072, 6074, 6076, 6078, 6080, 6082, 6084, 6086, /* 0x48-0x4f */ + 6088, 6090, 6092, 6094, 6096, 6098, 6100, 6102, /* 0x50-0x57 */ + 6104, 6106, 6108, 6110, 6112, 6114, 6116, 6118, /* 0x58-0x5f */ + 6120, 6122, 6124, 6126, 6128, 6130, 6132, 6134, /* 0x60-0x67 */ + 6136, 6138, 6140, 6142, 6144, 6146, 6148, 6150, /* 0x68-0x6f */ + 6152, 6154, 6156, 6158, 6160, 6162, 6164, 6166, /* 0x70-0x77 */ + 6168, 6170, 6172, 6174, 6176, 6178, 6180, 6182, /* 0x78-0x7f */ + 6184, 6186, 6188, 6190, 6192, 6194, 6196, 6198, /* 0x80-0x87 */ + 6200, 6202, 6204, 6206, 6208, 6210, 6212, 6214, /* 0x88-0x8f */ + 6216, 6218, 6220, 6222, 6224, 6226, 6228, 6230, /* 0x90-0x97 */ + 6232, 6234, 6236, 6238, 6240, 6242, 6244, 6246, /* 0x98-0x9f */ + 6248, 6250, 6252, 6254, 6256, 6258, 6260, 6262, /* 0xa0-0xa7 */ + 6264, 6266, 6268, 6270, 6272, 6274, 6276, 6278, /* 0xa8-0xaf */ + 6280, 6282, 6284, 6286, 6288, 6290, 6292, 6294, /* 0xb0-0xb7 */ + 6296, 6298, 6300, 6302, 6304, 6306, 6308, -1, /* 0xb8-0xbf */ + -1, -1, 6310, 6312, 6314, 6316, 6318, 6320, /* 0xc0-0xc7 */ + -1, -1, 6322, 6324, 6326, 6328, 6330, 6332, /* 0xc8-0xcf */ + -1, -1, 6334, 6336, 6338, 6340, 6342, 6344, /* 0xd0-0xd7 */ + -1, -1, 6346, 6348, 6350, -1, -1, -1, /* 0xd8-0xdf */ + 6352, 6354, 6356, 6358, 6360, 6362, 6364, -1, /* 0xe0-0xe7 */ + 6366, 6368, 6370, 6372, 6374, 6376, 6378, -1, /* 0xe8-0xef */ }; static const short translit_page1d4[1024] = { - 6048, 6050, 6052, 6054, 6056, 6058, 6060, 6062, /* 0x00-0x07 */ - 6064, 6066, 6068, 6070, 6072, 6074, 6076, 6078, /* 0x08-0x0f */ - 6080, 6082, 6084, 6086, 6088, 6090, 6092, 6094, /* 0x10-0x17 */ - 6096, 6098, 6100, 6102, 6104, 6106, 6108, 6110, /* 0x18-0x1f */ - 6112, 6114, 6116, 6118, 6120, 6122, 6124, 6126, /* 0x20-0x27 */ - 6128, 6130, 6132, 6134, 6136, 6138, 6140, 6142, /* 0x28-0x2f */ - 6144, 6146, 6148, 6150, 6152, 6154, 6156, 6158, /* 0x30-0x37 */ - 6160, 6162, 6164, 6166, 6168, 6170, 6172, 6174, /* 0x38-0x3f */ - 6176, 6178, 6180, 6182, 6184, 6186, 6188, 6190, /* 0x40-0x47 */ - 6192, 6194, 6196, 6198, 6200, 6202, 6204, 6206, /* 0x48-0x4f */ - 6208, 6210, 6212, 6214, 6216, -1, 6218, 6220, /* 0x50-0x57 */ - 6222, 6224, 6226, 6228, 6230, 6232, 6234, 6236, /* 0x58-0x5f */ - 6238, 6240, 6242, 6244, 6246, 6248, 6250, 6252, /* 0x60-0x67 */ - 6254, 6256, 6258, 6260, 6262, 6264, 6266, 6268, /* 0x68-0x6f */ - 6270, 6272, 6274, 6276, 6278, 6280, 6282, 6284, /* 0x70-0x77 */ - 6286, 6288, 6290, 6292, 6294, 6296, 6298, 6300, /* 0x78-0x7f */ - 6302, 6304, 6306, 6308, 6310, 6312, 6314, 6316, /* 0x80-0x87 */ - 6318, 6320, 6322, 6324, 6326, 6328, 6330, 6332, /* 0x88-0x8f */ - 6334, 6336, 6338, 6340, 6342, 6344, 6346, 6348, /* 0x90-0x97 */ - 6350, 6352, 6354, 6356, 6358, -1, 6360, 6362, /* 0x98-0x9f */ - -1, -1, 6364, -1, -1, 6366, 6368, -1, /* 0xa0-0xa7 */ - -1, 6370, 6372, 6374, 6376, -1, 6378, 6380, /* 0xa8-0xaf */ - 6382, 6384, 6386, 6388, 6390, 6392, 6394, 6396, /* 0xb0-0xb7 */ - 6398, 6400, -1, 6402, -1, 6404, 6406, 6408, /* 0xb8-0xbf */ - 6410, 6412, 6414, 6416, -1, 6418, 6420, 6422, /* 0xc0-0xc7 */ - 6424, 6426, 6428, 6430, 6432, 6434, 6436, 6438, /* 0xc8-0xcf */ - 6440, 6442, 6444, 6446, 6448, 6450, 6452, 6454, /* 0xd0-0xd7 */ - 6456, 6458, 6460, 6462, 6464, 6466, 6468, 6470, /* 0xd8-0xdf */ - 6472, 6474, 6476, 6478, 6480, 6482, 6484, 6486, /* 0xe0-0xe7 */ - 6488, 6490, 6492, 6494, 6496, 6498, 6500, 6502, /* 0xe8-0xef */ - 6504, 6506, 6508, 6510, 6512, 6514, 6516, 6518, /* 0xf0-0xf7 */ - 6520, 6522, 6524, 6526, 6528, 6530, 6532, 6534, /* 0xf8-0xff */ + 6380, 6382, 6384, 6386, 6388, 6390, 6392, 6394, /* 0x00-0x07 */ + 6396, 6398, 6400, 6402, 6404, 6406, 6408, 6410, /* 0x08-0x0f */ + 6412, 6414, 6416, 6418, 6420, 6422, 6424, 6426, /* 0x10-0x17 */ + 6428, 6430, 6432, 6434, 6436, 6438, 6440, 6442, /* 0x18-0x1f */ + 6444, 6446, 6448, 6450, 6452, 6454, 6456, 6458, /* 0x20-0x27 */ + 6460, 6462, 6464, 6466, 6468, 6470, 6472, 6474, /* 0x28-0x2f */ + 6476, 6478, 6480, 6482, 6484, 6486, 6488, 6490, /* 0x30-0x37 */ + 6492, 6494, 6496, 6498, 6500, 6502, 6504, 6506, /* 0x38-0x3f */ + 6508, 6510, 6512, 6514, 6516, 6518, 6520, 6522, /* 0x40-0x47 */ + 6524, 6526, 6528, 6530, 6532, 6534, 6536, 6538, /* 0x48-0x4f */ + 6540, 6542, 6544, 6546, 6548, -1, 6550, 6552, /* 0x50-0x57 */ + 6554, 6556, 6558, 6560, 6562, 6564, 6566, 6568, /* 0x58-0x5f */ + 6570, 6572, 6574, 6576, 6578, 6580, 6582, 6584, /* 0x60-0x67 */ + 6586, 6588, 6590, 6592, 6594, 6596, 6598, 6600, /* 0x68-0x6f */ + 6602, 6604, 6606, 6608, 6610, 6612, 6614, 6616, /* 0x70-0x77 */ + 6618, 6620, 6622, 6624, 6626, 6628, 6630, 6632, /* 0x78-0x7f */ + 6634, 6636, 6638, 6640, 6642, 6644, 6646, 6648, /* 0x80-0x87 */ + 6650, 6652, 6654, 6656, 6658, 6660, 6662, 6664, /* 0x88-0x8f */ + 6666, 6668, 6670, 6672, 6674, 6676, 6678, 6680, /* 0x90-0x97 */ + 6682, 6684, 6686, 6688, 6690, -1, 6692, 6694, /* 0x98-0x9f */ + -1, -1, 6696, -1, -1, 6698, 6700, -1, /* 0xa0-0xa7 */ + -1, 6702, 6704, 6706, 6708, -1, 6710, 6712, /* 0xa8-0xaf */ + 6714, 6716, 6718, 6720, 6722, 6724, 6726, 6728, /* 0xb0-0xb7 */ + 6730, 6732, -1, 6734, -1, 6736, 6738, 6740, /* 0xb8-0xbf */ + 6742, 6744, 6746, 6748, -1, 6750, 6752, 6754, /* 0xc0-0xc7 */ + 6756, 6758, 6760, 6762, 6764, 6766, 6768, 6770, /* 0xc8-0xcf */ + 6772, 6774, 6776, 6778, 6780, 6782, 6784, 6786, /* 0xd0-0xd7 */ + 6788, 6790, 6792, 6794, 6796, 6798, 6800, 6802, /* 0xd8-0xdf */ + 6804, 6806, 6808, 6810, 6812, 6814, 6816, 6818, /* 0xe0-0xe7 */ + 6820, 6822, 6824, 6826, 6828, 6830, 6832, 6834, /* 0xe8-0xef */ + 6836, 6838, 6840, 6842, 6844, 6846, 6848, 6850, /* 0xf0-0xf7 */ + 6852, 6854, 6856, 6858, 6860, 6862, 6864, 6866, /* 0xf8-0xff */ /* 0x1d500 */ - 6536, 6538, 6540, 6542, 6544, 6546, -1, 6548, /* 0x00-0x07 */ - 6550, 6552, 6554, -1, -1, 6556, 6558, 6560, /* 0x08-0x0f */ - 6562, 6564, 6566, 6568, 6570, -1, 6572, 6574, /* 0x10-0x17 */ - 6576, 6578, 6580, 6582, 6584, -1, 6586, 6588, /* 0x18-0x1f */ - 6590, 6592, 6594, 6596, 6598, 6600, 6602, 6604, /* 0x20-0x27 */ - 6606, 6608, 6610, 6612, 6614, 6616, 6618, 6620, /* 0x28-0x2f */ - 6622, 6624, 6626, 6628, 6630, 6632, 6634, 6636, /* 0x30-0x37 */ - 6638, 6640, -1, 6642, 6644, 6646, 6648, -1, /* 0x38-0x3f */ - 6650, 6652, 6654, 6656, 6658, -1, 6660, -1, /* 0x40-0x47 */ - -1, -1, 6662, 6664, 6666, 6668, 6670, 6672, /* 0x48-0x4f */ - 6674, -1, 6676, 6678, 6680, 6682, 6684, 6686, /* 0x50-0x57 */ - 6688, 6690, 6692, 6694, 6696, 6698, 6700, 6702, /* 0x58-0x5f */ - 6704, 6706, 6708, 6710, 6712, 6714, 6716, 6718, /* 0x60-0x67 */ - 6720, 6722, 6724, 6726, 6728, 6730, 6732, 6734, /* 0x68-0x6f */ - 6736, 6738, 6740, 6742, 6744, 6746, 6748, 6750, /* 0x70-0x77 */ - 6752, 6754, 6756, 6758, 6760, 6762, 6764, 6766, /* 0x78-0x7f */ - 6768, 6770, 6772, 6774, 6776, 6778, 6780, 6782, /* 0x80-0x87 */ - 6784, 6786, 6788, 6790, 6792, 6794, 6796, 6798, /* 0x88-0x8f */ - 6800, 6802, 6804, 6806, 6808, 6810, 6812, 6814, /* 0x90-0x97 */ - 6816, 6818, 6820, 6822, 6824, 6826, 6828, 6830, /* 0x98-0x9f */ - 6832, 6834, 6836, 6838, 6840, 6842, 6844, 6846, /* 0xa0-0xa7 */ - 6848, 6850, 6852, 6854, 6856, 6858, 6860, 6862, /* 0xa8-0xaf */ - 6864, 6866, 6868, 6870, 6872, 6874, 6876, 6878, /* 0xb0-0xb7 */ - 6880, 6882, 6884, 6886, 6888, 6890, 6892, 6894, /* 0xb8-0xbf */ - 6896, 6898, 6900, 6902, 6904, 6906, 6908, 6910, /* 0xc0-0xc7 */ - 6912, 6914, 6916, 6918, 6920, 6922, 6924, 6926, /* 0xc8-0xcf */ - 6928, 6930, 6932, 6934, 6936, 6938, 6940, 6942, /* 0xd0-0xd7 */ - 6944, 6946, 6948, 6950, 6952, 6954, 6956, 6958, /* 0xd8-0xdf */ - 6960, 6962, 6964, 6966, 6968, 6970, 6972, 6974, /* 0xe0-0xe7 */ - 6976, 6978, 6980, 6982, 6984, 6986, 6988, 6990, /* 0xe8-0xef */ - 6992, 6994, 6996, 6998, 7000, 7002, 7004, 7006, /* 0xf0-0xf7 */ - 7008, 7010, 7012, 7014, 7016, 7018, 7020, 7022, /* 0xf8-0xff */ + 6868, 6870, 6872, 6874, 6876, 6878, -1, 6880, /* 0x00-0x07 */ + 6882, 6884, 6886, -1, -1, 6888, 6890, 6892, /* 0x08-0x0f */ + 6894, 6896, 6898, 6900, 6902, -1, 6904, 6906, /* 0x10-0x17 */ + 6908, 6910, 6912, 6914, 6916, -1, 6918, 6920, /* 0x18-0x1f */ + 6922, 6924, 6926, 6928, 6930, 6932, 6934, 6936, /* 0x20-0x27 */ + 6938, 6940, 6942, 6944, 6946, 6948, 6950, 6952, /* 0x28-0x2f */ + 6954, 6956, 6958, 6960, 6962, 6964, 6966, 6968, /* 0x30-0x37 */ + 6970, 6972, -1, 6974, 6976, 6978, 6980, -1, /* 0x38-0x3f */ + 6982, 6984, 6986, 6988, 6990, -1, 6992, -1, /* 0x40-0x47 */ + -1, -1, 6994, 6996, 6998, 7000, 7002, 7004, /* 0x48-0x4f */ + 7006, -1, 7008, 7010, 7012, 7014, 7016, 7018, /* 0x50-0x57 */ + 7020, 7022, 7024, 7026, 7028, 7030, 7032, 7034, /* 0x58-0x5f */ + 7036, 7038, 7040, 7042, 7044, 7046, 7048, 7050, /* 0x60-0x67 */ + 7052, 7054, 7056, 7058, 7060, 7062, 7064, 7066, /* 0x68-0x6f */ + 7068, 7070, 7072, 7074, 7076, 7078, 7080, 7082, /* 0x70-0x77 */ + 7084, 7086, 7088, 7090, 7092, 7094, 7096, 7098, /* 0x78-0x7f */ + 7100, 7102, 7104, 7106, 7108, 7110, 7112, 7114, /* 0x80-0x87 */ + 7116, 7118, 7120, 7122, 7124, 7126, 7128, 7130, /* 0x88-0x8f */ + 7132, 7134, 7136, 7138, 7140, 7142, 7144, 7146, /* 0x90-0x97 */ + 7148, 7150, 7152, 7154, 7156, 7158, 7160, 7162, /* 0x98-0x9f */ + 7164, 7166, 7168, 7170, 7172, 7174, 7176, 7178, /* 0xa0-0xa7 */ + 7180, 7182, 7184, 7186, 7188, 7190, 7192, 7194, /* 0xa8-0xaf */ + 7196, 7198, 7200, 7202, 7204, 7206, 7208, 7210, /* 0xb0-0xb7 */ + 7212, 7214, 7216, 7218, 7220, 7222, 7224, 7226, /* 0xb8-0xbf */ + 7228, 7230, 7232, 7234, 7236, 7238, 7240, 7242, /* 0xc0-0xc7 */ + 7244, 7246, 7248, 7250, 7252, 7254, 7256, 7258, /* 0xc8-0xcf */ + 7260, 7262, 7264, 7266, 7268, 7270, 7272, 7274, /* 0xd0-0xd7 */ + 7276, 7278, 7280, 7282, 7284, 7286, 7288, 7290, /* 0xd8-0xdf */ + 7292, 7294, 7296, 7298, 7300, 7302, 7304, 7306, /* 0xe0-0xe7 */ + 7308, 7310, 7312, 7314, 7316, 7318, 7320, 7322, /* 0xe8-0xef */ + 7324, 7326, 7328, 7330, 7332, 7334, 7336, 7338, /* 0xf0-0xf7 */ + 7340, 7342, 7344, 7346, 7348, 7350, 7352, 7354, /* 0xf8-0xff */ /* 0x1d600 */ - 7024, 7026, 7028, 7030, 7032, 7034, 7036, 7038, /* 0x00-0x07 */ - 7040, 7042, 7044, 7046, 7048, 7050, 7052, 7054, /* 0x08-0x0f */ - 7056, 7058, 7060, 7062, 7064, 7066, 7068, 7070, /* 0x10-0x17 */ - 7072, 7074, 7076, 7078, 7080, 7082, 7084, 7086, /* 0x18-0x1f */ - 7088, 7090, 7092, 7094, 7096, 7098, 7100, 7102, /* 0x20-0x27 */ - 7104, 7106, 7108, 7110, 7112, 7114, 7116, 7118, /* 0x28-0x2f */ - 7120, 7122, 7124, 7126, 7128, 7130, 7132, 7134, /* 0x30-0x37 */ - 7136, 7138, 7140, 7142, 7144, 7146, 7148, 7150, /* 0x38-0x3f */ - 7152, 7154, 7156, 7158, 7160, 7162, 7164, 7166, /* 0x40-0x47 */ - 7168, 7170, 7172, 7174, 7176, 7178, 7180, 7182, /* 0x48-0x4f */ - 7184, 7186, 7188, 7190, 7192, 7194, 7196, 7198, /* 0x50-0x57 */ - 7200, 7202, 7204, 7206, 7208, 7210, 7212, 7214, /* 0x58-0x5f */ - 7216, 7218, 7220, 7222, 7224, 7226, 7228, 7230, /* 0x60-0x67 */ - 7232, 7234, 7236, 7238, 7240, 7242, 7244, 7246, /* 0x68-0x6f */ - 7248, 7250, 7252, 7254, 7256, 7258, 7260, 7262, /* 0x70-0x77 */ - 7264, 7266, 7268, 7270, 7272, 7274, 7276, 7278, /* 0x78-0x7f */ - 7280, 7282, 7284, 7286, 7288, 7290, 7292, 7294, /* 0x80-0x87 */ - 7296, 7298, 7300, 7302, 7304, 7306, 7308, 7310, /* 0x88-0x8f */ - 7312, 7314, 7316, 7318, 7320, 7322, 7324, 7326, /* 0x90-0x97 */ - 7328, 7330, 7332, 7334, 7336, 7338, 7340, 7342, /* 0x98-0x9f */ - 7344, 7346, 7348, 7350, -1, -1, -1, -1, /* 0xa0-0xa7 */ - 7352, 7354, 7356, 7358, 7360, 7362, 7364, 7366, /* 0xa8-0xaf */ - 7368, 7370, 7372, 7374, 7376, 7378, 7380, 7382, /* 0xb0-0xb7 */ - 7384, 7386, 7388, 7390, 7392, 7394, 7396, 7398, /* 0xb8-0xbf */ - 7400, 7402, 7404, 7406, 7408, 7410, 7412, 7414, /* 0xc0-0xc7 */ - 7416, 7418, 7420, 7422, 7424, 7426, 7428, 7430, /* 0xc8-0xcf */ - 7432, 7434, 7436, 7438, 7440, 7442, 7444, 7446, /* 0xd0-0xd7 */ - 7448, 7450, 7452, 7454, 7456, 7458, 7460, 7462, /* 0xd8-0xdf */ - 7464, 7466, 7468, 7470, 7472, 7474, 7476, 7478, /* 0xe0-0xe7 */ - 7480, 7482, 7484, 7486, 7488, 7490, 7492, 7494, /* 0xe8-0xef */ - 7496, 7498, 7500, 7502, 7504, 7506, 7508, 7510, /* 0xf0-0xf7 */ - 7512, 7514, 7516, 7518, 7520, 7522, 7524, 7526, /* 0xf8-0xff */ + 7356, 7358, 7360, 7362, 7364, 7366, 7368, 7370, /* 0x00-0x07 */ + 7372, 7374, 7376, 7378, 7380, 7382, 7384, 7386, /* 0x08-0x0f */ + 7388, 7390, 7392, 7394, 7396, 7398, 7400, 7402, /* 0x10-0x17 */ + 7404, 7406, 7408, 7410, 7412, 7414, 7416, 7418, /* 0x18-0x1f */ + 7420, 7422, 7424, 7426, 7428, 7430, 7432, 7434, /* 0x20-0x27 */ + 7436, 7438, 7440, 7442, 7444, 7446, 7448, 7450, /* 0x28-0x2f */ + 7452, 7454, 7456, 7458, 7460, 7462, 7464, 7466, /* 0x30-0x37 */ + 7468, 7470, 7472, 7474, 7476, 7478, 7480, 7482, /* 0x38-0x3f */ + 7484, 7486, 7488, 7490, 7492, 7494, 7496, 7498, /* 0x40-0x47 */ + 7500, 7502, 7504, 7506, 7508, 7510, 7512, 7514, /* 0x48-0x4f */ + 7516, 7518, 7520, 7522, 7524, 7526, 7528, 7530, /* 0x50-0x57 */ + 7532, 7534, 7536, 7538, 7540, 7542, 7544, 7546, /* 0x58-0x5f */ + 7548, 7550, 7552, 7554, 7556, 7558, 7560, 7562, /* 0x60-0x67 */ + 7564, 7566, 7568, 7570, 7572, 7574, 7576, 7578, /* 0x68-0x6f */ + 7580, 7582, 7584, 7586, 7588, 7590, 7592, 7594, /* 0x70-0x77 */ + 7596, 7598, 7600, 7602, 7604, 7606, 7608, 7610, /* 0x78-0x7f */ + 7612, 7614, 7616, 7618, 7620, 7622, 7624, 7626, /* 0x80-0x87 */ + 7628, 7630, 7632, 7634, 7636, 7638, 7640, 7642, /* 0x88-0x8f */ + 7644, 7646, 7648, 7650, 7652, 7654, 7656, 7658, /* 0x90-0x97 */ + 7660, 7662, 7664, 7666, 7668, 7670, 7672, 7674, /* 0x98-0x9f */ + 7676, 7678, 7680, 7682, 7684, 7686, -1, -1, /* 0xa0-0xa7 */ + 7688, 7690, 7692, 7694, 7696, 7698, 7700, 7702, /* 0xa8-0xaf */ + 7704, 7706, 7708, 7710, 7712, 7714, 7716, 7718, /* 0xb0-0xb7 */ + 7720, 7722, 7724, 7726, 7728, 7730, 7732, 7734, /* 0xb8-0xbf */ + 7736, 7738, 7740, 7742, 7744, 7746, 7748, 7750, /* 0xc0-0xc7 */ + 7752, 7754, 7756, 7758, 7760, 7762, 7764, 7766, /* 0xc8-0xcf */ + 7768, 7770, 7772, 7774, 7776, 7778, 7780, 7782, /* 0xd0-0xd7 */ + 7784, 7786, 7788, 7790, 7792, 7794, 7796, 7798, /* 0xd8-0xdf */ + 7800, 7802, 7804, 7806, 7808, 7810, 7812, 7814, /* 0xe0-0xe7 */ + 7816, 7818, 7820, 7822, 7824, 7826, 7828, 7830, /* 0xe8-0xef */ + 7832, 7834, 7836, 7838, 7840, 7842, 7844, 7846, /* 0xf0-0xf7 */ + 7848, 7850, 7852, 7854, 7856, 7858, 7860, 7862, /* 0xf8-0xff */ /* 0x1d700 */ - 7528, 7530, 7532, 7534, 7536, 7538, 7540, 7542, /* 0x00-0x07 */ - 7544, 7546, 7548, 7550, 7552, 7554, 7556, 7558, /* 0x08-0x0f */ - 7560, 7562, 7564, 7566, 7568, 7570, 7572, 7574, /* 0x10-0x17 */ - 7576, 7578, 7580, 7582, 7584, 7586, 7588, 7590, /* 0x18-0x1f */ - 7592, 7594, 7596, 7598, 7600, 7602, 7604, 7606, /* 0x20-0x27 */ - 7608, 7610, 7612, 7614, 7616, 7618, 7620, 7622, /* 0x28-0x2f */ - 7624, 7626, 7628, 7630, 7632, 7634, 7636, 7638, /* 0x30-0x37 */ - 7640, 7642, 7644, 7646, 7648, 7650, 7652, 7654, /* 0x38-0x3f */ - 7656, 7658, 7660, 7662, 7664, 7666, 7668, 7670, /* 0x40-0x47 */ - 7672, 7674, 7676, 7678, 7680, 7682, 7684, 7686, /* 0x48-0x4f */ - 7688, 7690, 7692, 7694, 7696, 7698, 7700, 7702, /* 0x50-0x57 */ - 7704, 7706, 7708, 7710, 7712, 7714, 7716, 7718, /* 0x58-0x5f */ - 7720, 7722, 7724, 7726, 7728, 7730, 7732, 7734, /* 0x60-0x67 */ - 7736, 7738, 7740, 7742, 7744, 7746, 7748, 7750, /* 0x68-0x6f */ - 7752, 7754, 7756, 7758, 7760, 7762, 7764, 7766, /* 0x70-0x77 */ - 7768, 7770, 7772, 7774, 7776, 7778, 7780, 7782, /* 0x78-0x7f */ - 7784, 7786, 7788, 7790, 7792, 7794, 7796, 7798, /* 0x80-0x87 */ - 7800, 7802, 7804, 7806, 7808, 7810, 7812, 7814, /* 0x88-0x8f */ - 7816, 7818, 7820, 7822, 7824, 7826, 7828, 7830, /* 0x90-0x97 */ - 7832, 7834, 7836, 7838, 7840, 7842, 7844, 7846, /* 0x98-0x9f */ - 7848, 7850, 7852, 7854, 7856, 7858, 7860, 7862, /* 0xa0-0xa7 */ - 7864, 7866, 7868, 7870, 7872, 7874, 7876, 7878, /* 0xa8-0xaf */ - 7880, 7882, 7884, 7886, 7888, 7890, 7892, 7894, /* 0xb0-0xb7 */ - 7896, 7898, 7900, 7902, 7904, 7906, 7908, 7910, /* 0xb8-0xbf */ - 7912, 7914, 7916, 7918, 7920, 7922, 7924, 7926, /* 0xc0-0xc7 */ - 7928, 7930, -1, -1, -1, -1, 7932, 7934, /* 0xc8-0xcf */ - 7936, 7938, 7940, 7942, 7944, 7946, 7948, 7950, /* 0xd0-0xd7 */ - 7952, 7954, 7956, 7958, 7960, 7962, 7964, 7966, /* 0xd8-0xdf */ - 7968, 7970, 7972, 7974, 7976, 7978, 7980, 7982, /* 0xe0-0xe7 */ - 7984, 7986, 7988, 7990, 7992, 7994, 7996, 7998, /* 0xe8-0xef */ - 8000, 8002, 8004, 8006, 8008, 8010, 8012, 8014, /* 0xf0-0xf7 */ - 8016, 8018, 8020, 8022, 8024, 8026, 8028, 8030, /* 0xf8-0xff */ + 7864, 7866, 7868, 7870, 7872, 7874, 7876, 7878, /* 0x00-0x07 */ + 7880, 7882, 7884, 7886, 7888, 7890, 7892, 7894, /* 0x08-0x0f */ + 7896, 7898, 7900, 7902, 7904, 7906, 7908, 7910, /* 0x10-0x17 */ + 7912, 7914, 7916, 7918, 7920, 7922, 7924, 7926, /* 0x18-0x1f */ + 7928, 7930, 7932, 7934, 7936, 7938, 7940, 7942, /* 0x20-0x27 */ + 7944, 7946, 7948, 7950, 7952, 7954, 7956, 7958, /* 0x28-0x2f */ + 7960, 7962, 7964, 7966, 7968, 7970, 7972, 7974, /* 0x30-0x37 */ + 7976, 7978, 7980, 7982, 7984, 7986, 7988, 7990, /* 0x38-0x3f */ + 7992, 7994, 7996, 7998, 8000, 8002, 8004, 8006, /* 0x40-0x47 */ + 8008, 8010, 8012, 8014, 8016, 8018, 8020, 8022, /* 0x48-0x4f */ + 8024, 8026, 8028, 8030, 8032, 8034, 8036, 8038, /* 0x50-0x57 */ + 8040, 8042, 8044, 8046, 8048, 8050, 8052, 8054, /* 0x58-0x5f */ + 8056, 8058, 8060, 8062, 8064, 8066, 8068, 8070, /* 0x60-0x67 */ + 8072, 8074, 8076, 8078, 8080, 8082, 8084, 8086, /* 0x68-0x6f */ + 8088, 8090, 8092, 8094, 8096, 8098, 8100, 8102, /* 0x70-0x77 */ + 8104, 8106, 8108, 8110, 8112, 8114, 8116, 8118, /* 0x78-0x7f */ + 8120, 8122, 8124, 8126, 8128, 8130, 8132, 8134, /* 0x80-0x87 */ + 8136, 8138, 8140, 8142, 8144, 8146, 8148, 8150, /* 0x88-0x8f */ + 8152, 8154, 8156, 8158, 8160, 8162, 8164, 8166, /* 0x90-0x97 */ + 8168, 8170, 8172, 8174, 8176, 8178, 8180, 8182, /* 0x98-0x9f */ + 8184, 8186, 8188, 8190, 8192, 8194, 8196, 8198, /* 0xa0-0xa7 */ + 8200, 8202, 8204, 8206, 8208, 8210, 8212, 8214, /* 0xa8-0xaf */ + 8216, 8218, 8220, 8222, 8224, 8226, 8228, 8230, /* 0xb0-0xb7 */ + 8232, 8234, 8236, 8238, 8240, 8242, 8244, 8246, /* 0xb8-0xbf */ + 8248, 8250, 8252, 8254, 8256, 8258, 8260, 8262, /* 0xc0-0xc7 */ + 8264, 8266, 8268, 8270, -1, -1, 8272, 8274, /* 0xc8-0xcf */ + 8276, 8278, 8280, 8282, 8284, 8286, 8288, 8290, /* 0xd0-0xd7 */ + 8292, 8294, 8296, 8298, 8300, 8302, 8304, 8306, /* 0xd8-0xdf */ + 8308, 8310, 8312, 8314, 8316, 8318, 8320, 8322, /* 0xe0-0xe7 */ + 8324, 8326, 8328, 8330, 8332, 8334, 8336, 8338, /* 0xe8-0xef */ + 8340, 8342, 8344, 8346, 8348, 8350, 8352, 8354, /* 0xf0-0xf7 */ + 8356, 8358, 8360, 8362, 8364, 8366, 8368, 8370, /* 0xf8-0xff */ +}; +static const short translit_page1ee[192] = { + 8372, 8374, 8376, 8378, -1, 8380, 8382, 8384, /* 0x00-0x07 */ + 8386, 8388, 8390, 8392, 8394, 8396, 8398, 8400, /* 0x08-0x0f */ + 8402, 8404, 8406, 8408, 8410, 8412, 8414, 8416, /* 0x10-0x17 */ + 8418, 8420, 8422, 8424, 8426, 8428, 8430, 8432, /* 0x18-0x1f */ + -1, 8434, 8436, -1, 8438, -1, -1, 8440, /* 0x20-0x27 */ + -1, 8442, 8444, 8446, 8448, 8450, 8452, 8454, /* 0x28-0x2f */ + 8456, 8458, 8460, -1, 8462, 8464, 8466, 8468, /* 0x30-0x37 */ + -1, 8470, -1, 8472, -1, -1, -1, -1, /* 0x38-0x3f */ + -1, -1, 8474, -1, -1, -1, -1, 8476, /* 0x40-0x47 */ + -1, 8478, -1, 8480, -1, 8482, 8484, 8486, /* 0x48-0x4f */ + -1, 8488, 8490, -1, 8492, -1, -1, 8494, /* 0x50-0x57 */ + -1, 8496, -1, 8498, -1, 8500, -1, 8502, /* 0x58-0x5f */ + -1, 8504, 8506, -1, 8508, -1, -1, 8510, /* 0x60-0x67 */ + 8512, 8514, 8516, -1, 8518, 8520, 8522, 8524, /* 0x68-0x6f */ + 8526, 8528, 8530, -1, 8532, 8534, 8536, 8538, /* 0x70-0x77 */ + -1, 8540, 8542, 8544, 8546, -1, 8548, -1, /* 0x78-0x7f */ + 8550, 8552, 8554, 8556, 8558, 8560, 8562, 8564, /* 0x80-0x87 */ + 8566, 8568, -1, 8570, 8572, 8574, 8576, 8578, /* 0x88-0x8f */ + 8580, 8582, 8584, 8586, 8588, 8590, 8592, 8594, /* 0x90-0x97 */ + 8596, 8598, 8600, 8602, -1, -1, -1, -1, /* 0x98-0x9f */ + -1, 8604, 8606, 8608, -1, 8610, 8612, 8614, /* 0xa0-0xa7 */ + 8616, 8618, -1, 8620, 8622, 8624, 8626, 8628, /* 0xa8-0xaf */ + 8630, 8632, 8634, 8636, 8638, 8640, 8642, 8644, /* 0xb0-0xb7 */ + 8646, 8648, 8650, 8652, -1, -1, -1, -1, /* 0xb8-0xbf */ +}; +static const short translit_page1f1[80] = { + 8654, 8657, 8660, 8663, 8666, 8669, 8672, 8675, /* 0x00-0x07 */ + 8678, 8681, 8684, -1, -1, -1, -1, -1, /* 0x08-0x0f */ + 8687, 8691, 8695, 8699, 8703, 8707, 8711, 8715, /* 0x10-0x17 */ + 8719, 8723, 8727, 8731, 8735, 8739, 8743, 8747, /* 0x18-0x1f */ + 8751, 8755, 8759, 8763, 8767, 8771, 8775, 8779, /* 0x20-0x27 */ + 8783, 8787, 8791, 8795, 8799, 8803, 8808, -1, /* 0x28-0x2f */ + 8813, 8815, 8817, 8819, 8821, 8823, 8825, 8827, /* 0x30-0x37 */ + 8829, 8831, 8833, 8835, 8837, 8839, 8841, 8843, /* 0x38-0x3f */ + 8845, 8847, 8849, 8851, 8853, 8855, 8857, 8859, /* 0x40-0x47 */ + 8861, 8863, 8865, 8868, 8871, 8874, 8877, 8881, /* 0x48-0x4f */ +}; +static const short translit_page1f2[88] = { + 8887, 8890, 8893, -1, -1, -1, -1, -1, /* 0x00-0x07 */ + -1, -1, -1, -1, -1, -1, -1, -1, /* 0x08-0x0f */ + 8895, 8897, 8899, 8901, 8903, 8905, 8907, 8909, /* 0x10-0x17 */ + 8911, 8913, 8915, 8917, 8919, 8921, 8923, 8925, /* 0x18-0x1f */ + 8927, 8929, 8931, 8933, 8935, 8937, 8939, 8941, /* 0x20-0x27 */ + 8943, 8945, 8947, 8949, 8951, 8953, 8955, 8957, /* 0x28-0x2f */ + 8959, 8961, 8963, 8965, 8967, 8969, 8971, 8973, /* 0x30-0x37 */ + 8975, 8977, 8979, 8981, -1, -1, -1, -1, /* 0x38-0x3f */ + 8983, 8987, 8991, 8995, 8999, 9003, 9007, 9011, /* 0x40-0x47 */ + 9015, -1, -1, -1, -1, -1, -1, -1, /* 0x48-0x4f */ + 9019, 9023, -1, -1, -1, -1, -1, -1, /* 0x50-0x57 */ +}; +static const short translit_page1f4[16] = { + -1, -1, -1, 9027, 9031, -1, 9037, 9041, /* 0x90-0x97 */ + -1, 9045, 9049, 9053, 9057, -1, -1, -1, /* 0x98-0x9f */ +}; +static const short translit_page1f6[72] = { + 9065, 9069, 9073, 9077, 9081, 9085, 9089, 9093, /* 0x00-0x07 */ + 9098, 9103, 9107, 9111, 9115, 9119, 9123, 9127, /* 0x08-0x0f */ + 9131, 9135, 9139, 9143, 9148, 9152, 9157, 9161, /* 0x10-0x17 */ + 9165, 9169, 9173, 9177, 9181, 9185, 9189, 9193, /* 0x18-0x1f */ + 9197, 9203, 9207, 9212, -1, -1, 9216, 9220, /* 0x20-0x27 */ + 9224, 9228, -1, -1, -1, 9232, 9237, 9241, /* 0x28-0x2f */ + 9245, 9250, 9254, -1, -1, -1, -1, -1, /* 0x30-0x37 */ + 9258, 9262, 9267, 9271, 9275, 9279, -1, -1, /* 0x38-0x3f */ + -1, 9283, 9287, 9291, -1, -1, -1, -1, /* 0x40-0x47 */ +}; +static const short translit_page1f9[8] = { + -1, -1, -1, -1, -1, 9295, 9299, -1, /* 0x08-0x0f */ +}; +static const short translit_page1fb[16] = { + 9307, 9309, 9311, 9313, 9315, 9317, 9319, 9321, /* 0xf0-0xf7 */ + 9323, 9325, -1, -1, -1, -1, -1, -1, /* 0xf8-0xff */ }; static const short translit_page2f8[544] = { - 8032, 8034, 8036, 8038, 8040, 8042, 8044, 8046, /* 0x00-0x07 */ - 8048, 8050, 8052, 8054, 8056, 8058, 8060, 8062, /* 0x08-0x0f */ - 8064, 8066, 8068, 8070, 8072, 8074, 8076, 8078, /* 0x10-0x17 */ - 8080, 8082, 8084, 8086, 8088, 8090, 8092, 8094, /* 0x18-0x1f */ - 8096, 8098, 8100, 8102, 8104, 8106, 8108, 8110, /* 0x20-0x27 */ - 8112, 8114, 8116, 8118, 8120, 8122, 8124, 8126, /* 0x28-0x2f */ - 8128, 8130, 8132, 8134, 8136, 8138, 8140, 8142, /* 0x30-0x37 */ - 8144, 8146, 8148, 8150, 8152, 8154, 8156, 8158, /* 0x38-0x3f */ - 8160, 8162, 8164, 8166, 8168, 8170, 8172, 8174, /* 0x40-0x47 */ - 8176, 8178, 8180, 8182, 8184, 8186, 8188, 8190, /* 0x48-0x4f */ - 8192, 8194, 8196, 8198, 8200, 8202, 8204, 8206, /* 0x50-0x57 */ - 8208, 8210, 8212, 8214, 8216, 8218, 8220, 8222, /* 0x58-0x5f */ - 8224, 8226, 8228, 8230, 8232, 8234, 8236, 8238, /* 0x60-0x67 */ - 8240, 8242, 8244, 8246, 8248, 8250, 8252, 8254, /* 0x68-0x6f */ - 8256, 8258, 8260, 8262, 8264, 8266, 8268, 8270, /* 0x70-0x77 */ - 8272, 8274, 8276, 8278, 8280, 8282, 8284, 8286, /* 0x78-0x7f */ - 8288, 8290, 8292, 8294, 8296, 8298, 8300, 8302, /* 0x80-0x87 */ - 8304, 8306, 8308, 8310, 8312, 8314, 8316, 8318, /* 0x88-0x8f */ - 8320, 8322, 8324, 8326, 8328, 8330, 8332, 8334, /* 0x90-0x97 */ - 8336, 8338, 8340, 8342, 8344, 8346, 8348, 8350, /* 0x98-0x9f */ - 8352, 8354, 8356, 8358, 8360, 8362, 8364, 8366, /* 0xa0-0xa7 */ - 8368, 8370, 8372, 8374, 8376, 8378, 8380, 8382, /* 0xa8-0xaf */ - 8384, 8386, 8388, 8390, 8392, 8394, 8396, 8398, /* 0xb0-0xb7 */ - 8400, 8402, 8404, 8406, 8408, 8410, 8412, 8414, /* 0xb8-0xbf */ - 8416, 8418, 8420, 8422, 8424, 8426, 8428, 8430, /* 0xc0-0xc7 */ - 8432, 8434, 8436, 8438, 8440, 8442, 8444, 8446, /* 0xc8-0xcf */ - 8448, 8450, 8452, 8454, 8456, 8458, 8460, 8462, /* 0xd0-0xd7 */ - 8464, 8466, 8468, 8470, 8472, 8474, 8476, 8478, /* 0xd8-0xdf */ - 8480, 8482, 8484, 8486, 8488, 8490, 8492, 8494, /* 0xe0-0xe7 */ - 8496, 8498, 8500, 8502, 8504, 8506, 8508, 8510, /* 0xe8-0xef */ - 8512, 8514, 8516, 8518, 8520, 8522, 8524, 8526, /* 0xf0-0xf7 */ - 8528, 8530, 8532, 8534, 8536, 8538, 8540, 8542, /* 0xf8-0xff */ + 9327, 9329, 9331, 9333, 9335, 9337, 9339, 9341, /* 0x00-0x07 */ + 9343, 9345, 9347, 9349, 9351, 9353, 9355, 9357, /* 0x08-0x0f */ + 9359, 9361, 9363, 9365, 9367, 9369, 9371, 9373, /* 0x10-0x17 */ + 9375, 9377, 9379, 9381, 9383, 9385, 9387, 9389, /* 0x18-0x1f */ + 9391, 9393, 9395, 9397, 9399, 9401, 9403, 9405, /* 0x20-0x27 */ + 9407, 9409, 9411, 9413, 9415, 9417, 9419, 9421, /* 0x28-0x2f */ + 9423, 9425, 9427, 9429, 9431, 9433, 9435, 9437, /* 0x30-0x37 */ + 9439, 9441, 9443, 9445, 9447, 9449, 9451, 9453, /* 0x38-0x3f */ + 9455, 9457, 9459, 9461, 9463, 9465, 9467, 9469, /* 0x40-0x47 */ + 9471, 9473, 9475, 9477, 9479, 9481, 9483, 9485, /* 0x48-0x4f */ + 9487, 9489, 9491, 9493, 9495, 9497, 9499, 9501, /* 0x50-0x57 */ + 9503, 9505, 9507, 9509, 9511, 9513, 9515, 9517, /* 0x58-0x5f */ + 9519, 9521, 9523, 9525, 9527, 9529, 9531, 9533, /* 0x60-0x67 */ + 9535, 9537, 9539, 9541, 9543, 9545, 9547, 9549, /* 0x68-0x6f */ + 9551, 9553, 9555, 9557, 9559, 9561, 9563, 9565, /* 0x70-0x77 */ + 9567, 9569, 9571, 9573, 9575, 9577, 9579, 9581, /* 0x78-0x7f */ + 9583, 9585, 9587, 9589, 9591, 9593, 9595, 9597, /* 0x80-0x87 */ + 9599, 9601, 9603, 9605, 9607, 9609, 9611, 9613, /* 0x88-0x8f */ + 9615, 9617, 9619, 9621, 9623, 9625, 9627, 9629, /* 0x90-0x97 */ + 9631, 9633, 9635, 9637, 9639, 9641, 9643, 9645, /* 0x98-0x9f */ + 9647, 9649, 9651, 9653, 9655, 9657, 9659, 9661, /* 0xa0-0xa7 */ + 9663, 9665, 9667, 9669, 9671, 9673, 9675, 9677, /* 0xa8-0xaf */ + 9679, 9681, 9683, 9685, 9687, 9689, 9691, 9693, /* 0xb0-0xb7 */ + 9695, 9697, 9699, 9701, 9703, 9705, 9707, 9709, /* 0xb8-0xbf */ + 9711, 9713, 9715, 9717, 9719, 9721, 9723, 9725, /* 0xc0-0xc7 */ + 9727, 9729, 9731, 9733, 9735, 9737, 9739, 9741, /* 0xc8-0xcf */ + 9743, 9745, 9747, 9749, 9751, 9753, 9755, 9757, /* 0xd0-0xd7 */ + 9759, 9761, 9763, 9765, 9767, 9769, 9771, 9773, /* 0xd8-0xdf */ + 9775, 9777, 9779, 9781, 9783, 9785, 9787, 9789, /* 0xe0-0xe7 */ + 9791, 9793, 9795, 9797, 9799, 9801, 9803, 9805, /* 0xe8-0xef */ + 9807, 9809, 9811, 9813, 9815, 9817, 9819, 9821, /* 0xf0-0xf7 */ + 9823, 9825, 9827, 9829, 9831, 9833, 9835, 9837, /* 0xf8-0xff */ /* 0x2f900 */ - 8544, 8546, 8548, 8550, 8552, 8554, 8556, 8558, /* 0x00-0x07 */ - 8560, 8562, 8564, 8566, 8568, 8570, 8572, 8574, /* 0x08-0x0f */ - 8576, 8578, 8580, 8582, 8584, 8586, 8588, 8590, /* 0x10-0x17 */ - 8592, 8594, 8596, 8598, 8600, 8602, 8604, 8606, /* 0x18-0x1f */ - 8608, 8610, 8612, 8614, 8616, 8618, 8620, 8622, /* 0x20-0x27 */ - 8624, 8626, 8628, 8630, 8632, 8634, 8636, 8638, /* 0x28-0x2f */ - 8640, 8642, 8644, 8646, 8648, 8650, 8652, 8654, /* 0x30-0x37 */ - 8656, 8658, 8660, 8662, 8664, 8666, 8668, 8670, /* 0x38-0x3f */ - 8672, 8674, 8676, 8678, 8680, 8682, 8684, 8686, /* 0x40-0x47 */ - 8688, 8690, 8692, 8694, 8696, 8698, 8700, 8702, /* 0x48-0x4f */ - 8704, 8706, 8708, 8710, 8712, 8714, 8716, 8718, /* 0x50-0x57 */ - 8720, 8722, 8724, 8726, 8728, 8730, 8732, 8734, /* 0x58-0x5f */ - 8736, 8738, 8740, 8742, 8744, 8746, 8748, 8750, /* 0x60-0x67 */ - 8752, 8754, 8756, 8758, 8760, 8762, 8764, 8766, /* 0x68-0x6f */ - 8768, 8770, 8772, 8774, 8776, 8778, 8780, 8782, /* 0x70-0x77 */ - 8784, 8786, 8788, 8790, 8792, 8794, 8796, 8798, /* 0x78-0x7f */ - 8800, 8802, 8804, 8806, 8808, 8810, 8812, 8814, /* 0x80-0x87 */ - 8816, 8818, 8820, 8822, 8824, 8826, 8828, 8830, /* 0x88-0x8f */ - 8832, 8834, 8836, 8838, 8840, 8842, 8844, 8846, /* 0x90-0x97 */ - 8848, 8850, 8852, 8854, 8856, 8858, 8860, 8862, /* 0x98-0x9f */ - 8864, 8866, 8868, 8870, 8872, 8874, 8876, 8878, /* 0xa0-0xa7 */ - 8880, 8882, 8884, 8886, 8888, 8890, 8892, 8894, /* 0xa8-0xaf */ - 8896, 8898, 8900, 8902, 8904, 8906, 8908, 8910, /* 0xb0-0xb7 */ - 8912, 8914, 8916, 8918, 8920, 8922, 8924, 8926, /* 0xb8-0xbf */ - 8928, 8930, 8932, 8934, 8936, 8938, 8940, 8942, /* 0xc0-0xc7 */ - 8944, 8946, 8948, 8950, 8952, 8954, 8956, 8958, /* 0xc8-0xcf */ - 8960, 8962, 8964, 8966, 8968, 8970, 8972, 8974, /* 0xd0-0xd7 */ - 8976, 8978, 8980, 8982, 8984, 8986, 8988, 8990, /* 0xd8-0xdf */ - 8992, 8994, 8996, 8998, 9000, 9002, 9004, 9006, /* 0xe0-0xe7 */ - 9008, 9010, 9012, 9014, 9016, 9018, 9020, 9022, /* 0xe8-0xef */ - 9024, 9026, 9028, 9030, 9032, 9034, 9036, 9038, /* 0xf0-0xf7 */ - 9040, 9042, 9044, 9046, 9048, 9050, 9052, 9054, /* 0xf8-0xff */ + 9839, 9841, 9843, 9845, 9847, 9849, 9851, 9853, /* 0x00-0x07 */ + 9855, 9857, 9859, 9861, 9863, 9865, 9867, 9869, /* 0x08-0x0f */ + 9871, 9873, 9875, 9877, 9879, 9881, 9883, 9885, /* 0x10-0x17 */ + 9887, 9889, 9891, 9893, 9895, 9897, 9899, 9901, /* 0x18-0x1f */ + 9903, 9905, 9907, 9909, 9911, 9913, 9915, 9917, /* 0x20-0x27 */ + 9919, 9921, 9923, 9925, 9927, 9929, 9931, 9933, /* 0x28-0x2f */ + 9935, 9937, 9939, 9941, 9943, 9945, 9947, 9949, /* 0x30-0x37 */ + 9951, 9953, 9955, 9957, 9959, 9961, 9963, 9965, /* 0x38-0x3f */ + 9967, 9969, 9971, 9973, 9975, 9977, 9979, 9981, /* 0x40-0x47 */ + 9983, 9985, 9987, 9989, 9991, 9993, 9995, 9997, /* 0x48-0x4f */ + 9999, 10001, 10003, 10005, 10007, 10009, 10011, 10013, /* 0x50-0x57 */ + 10015, 10017, 10019, 10021, 10023, 10025, 10027, 10029, /* 0x58-0x5f */ + 10031, 10033, 10035, 10037, 10039, 10041, 10043, 10045, /* 0x60-0x67 */ + 10047, 10049, 10051, 10053, 10055, 10057, 10059, 10061, /* 0x68-0x6f */ + 10063, 10065, 10067, 10069, 10071, 10073, 10075, 10077, /* 0x70-0x77 */ + 10079, 10081, 10083, 10085, 10087, 10089, 10091, 10093, /* 0x78-0x7f */ + 10095, 10097, 10099, 10101, 10103, 10105, 10107, 10109, /* 0x80-0x87 */ + 10111, 10113, 10115, 10117, 10119, 10121, 10123, 10125, /* 0x88-0x8f */ + 10127, 10129, 10131, 10133, 10135, 10137, 10139, 10141, /* 0x90-0x97 */ + 10143, 10145, 10147, 10149, 10151, 10153, 10155, 10157, /* 0x98-0x9f */ + 10159, 10161, 10163, 10165, 10167, 10169, 10171, 10173, /* 0xa0-0xa7 */ + 10175, 10177, 10179, 10181, 10183, 10185, 10187, 10189, /* 0xa8-0xaf */ + 10191, 10193, 10195, 10197, 10199, 10201, 10203, 10205, /* 0xb0-0xb7 */ + 10207, 10209, 10211, 10213, 10215, 10217, 10219, 10221, /* 0xb8-0xbf */ + 10223, 10225, 10227, 10229, 10231, 10233, 10235, 10237, /* 0xc0-0xc7 */ + 10239, 10241, 10243, 10245, 10247, 10249, 10251, 10253, /* 0xc8-0xcf */ + 10255, 10257, 10259, 10261, 10263, 10265, 10267, 10269, /* 0xd0-0xd7 */ + 10271, 10273, 10275, 10277, 10279, 10281, 10283, 10285, /* 0xd8-0xdf */ + 10287, 10289, 10291, 10293, 10295, 10297, 10299, 10301, /* 0xe0-0xe7 */ + 10303, 10305, 10307, 10309, 10311, 10313, 10315, 10317, /* 0xe8-0xef */ + 10319, 10321, 10323, 10325, 10327, 10329, 10331, 10333, /* 0xf0-0xf7 */ + 10335, 10337, 10339, 10341, 10343, 10345, 10347, 10349, /* 0xf8-0xff */ /* 0x2fa00 */ - 9056, 9058, 9060, 9062, 9064, 9066, 9068, 9070, /* 0x00-0x07 */ - 9072, 9074, 9076, 9078, 9080, 9082, 9084, 9086, /* 0x08-0x0f */ - 9088, 9090, 9092, 9094, 9096, 9098, 9100, 9102, /* 0x10-0x17 */ - 9104, 9106, 9108, 9110, 9112, 9114, -1, -1, /* 0x18-0x1f */ + 10351, 10353, 10355, 10357, 10359, 10361, 10363, 10365, /* 0x00-0x07 */ + 10367, 10369, 10371, 10373, 10375, 10377, 10379, 10381, /* 0x08-0x0f */ + 10383, 10385, 10387, 10389, 10391, 10393, 10395, 10397, /* 0x10-0x17 */ + 10399, 10401, 10403, 10405, 10407, 10409, -1, -1, /* 0x18-0x1f */ }; #define translit_index(wc) \ @@ -4385,27 +4992,42 @@ static const short translit_page2f8[544] = { wc >= 0x0eb0 && wc < 0x0ee0 ? translit_page0e[wc-0x0eb0] : \ wc >= 0x0f70 && wc < 0x0f80 ? translit_page0f[wc-0x0f70] : \ wc >= 0x1e00 && wc < 0x1ea0 ? translit_page1e[wc-0x1e00] : \ - wc >= 0x1ef0 && wc < 0x1ef8 ? translit_page1e_2[wc-0x1ef0] : \ + wc >= 0x1ef0 && wc < 0x1ef8 ? translit_page1e_1[wc-0x1ef0] : \ wc >= 0x2000 && wc < 0x2058 ? translit_page20[wc-0x2000] : \ - wc >= 0x20a8 && wc < 0x20b0 ? translit_page20_3[wc-0x20a8] : \ + wc >= 0x20a8 && wc < 0x20b0 ? translit_page20_1[wc-0x20a8] : \ wc >= 0x2100 && wc < 0x21d8 ? translit_page21[wc-0x2100] : \ wc >= 0x2210 && wc < 0x2270 ? translit_page22[wc-0x2210] : \ - wc >= 0x22c0 && wc < 0x22f0 ? translit_page22_4[wc-0x22c0] : \ + wc >= 0x22c0 && wc < 0x22f0 ? translit_page22_1[wc-0x22c0] : \ wc >= 0x2400 && wc < 0x24f0 ? translit_page24[wc-0x2400] : \ wc >= 0x2500 && wc < 0x2540 ? translit_page25[wc-0x2500] : \ - wc == 0x25e6 ? 2025 : \ - wc == 0x2a0c ? 2027 : \ + wc == 0x25e6 ? 2027 : \ + wc >= 0x2660 && wc < 0x2668 ? translit_page26[wc-0x2660] : \ + wc == 0x2764 ? 2037 : \ + wc >= 0x27e0 && wc < 0x27f0 ? translit_page27[wc-0x27e0] : \ + wc >= 0x2980 && wc < 0x2990 ? translit_page29[wc-0x2980] : \ + wc >= 0x29e0 && wc < 0x2a00 ? translit_page29_1[wc-0x29e0] : \ + wc == 0x2a0c ? 2113 : \ wc >= 0x2a70 && wc < 0x2a78 ? translit_page2a[wc-0x2a70] : \ - wc == 0x2e9f ? 2043 : \ - wc == 0x2ef3 ? 2045 : \ + wc == 0x2e9f ? 2129 : \ + wc == 0x2ef3 ? 2131 : \ wc >= 0x2f00 && wc < 0x2fd8 ? translit_page2f[wc-0x2f00] : \ wc >= 0x3000 && wc < 0x30f8 ? translit_page30[wc-0x3000] : \ wc >= 0x3130 && wc < 0x3190 ? translit_page31[wc-0x3130] : \ - wc >= 0x31f0 && wc < 0x3400 ? translit_page31_5[wc-0x31f0] : \ - wc >= 0xf900 && wc < 0xfa70 ? translit_pagef9[wc-0xf900] : \ + wc >= 0x31f0 && wc < 0x3400 ? translit_page31_1[wc-0x31f0] : \ + wc >= 0xf900 && wc < 0xfae0 ? translit_pagef9[wc-0xf900] : \ wc >= 0xfb00 && wc < 0xfb50 ? translit_pagefb[wc-0xfb00] : \ wc >= 0xfe48 && wc < 0xfe70 ? translit_pagefe[wc-0xfe48] : \ wc >= 0xff00 && wc < 0xfff0 ? translit_pageff[wc-0xff00] : \ wc >= 0x1d400 && wc < 0x1d800 ? translit_page1d4[wc-0x1d400] : \ + wc >= 0x1ee00 && wc < 0x1eec0 ? translit_page1ee[wc-0x1ee00] : \ + wc >= 0x1f100 && wc < 0x1f150 ? translit_page1f1[wc-0x1f100] : \ + wc == 0x1f190 ? 8884 : \ + wc >= 0x1f200 && wc < 0x1f258 ? translit_page1f2[wc-0x1f200] : \ + wc >= 0x1f490 && wc < 0x1f4a0 ? translit_page1f4[wc-0x1f490] : \ + wc == 0x1f5a4 ? 9061 : \ + wc >= 0x1f600 && wc < 0x1f648 ? translit_page1f6[wc-0x1f600] : \ + wc >= 0x1f908 && wc < 0x1f910 ? translit_page1f9[wc-0x1f908] : \ + wc == 0x1f9e1 ? 9303 : \ + wc >= 0x1fbf0 && wc < 0x1fc00 ? translit_page1fb[wc-0x1fbf0] : \ wc >= 0x2f800 && wc < 0x2fa20 ? translit_page2f8[wc-0x2f800] : \ -1) diff --git a/Externals/libiconv-1.14/lib/ucs2.h b/Externals/libiconv/lib/ucs2.h similarity index 71% rename from Externals/libiconv-1.14/lib/ucs2.h rename to Externals/libiconv/lib/ucs2.h index 206b8ccaeae..14f1e7aeb1b 100644 --- a/Externals/libiconv-1.14/lib/ucs2.h +++ b/Externals/libiconv/lib/ucs2.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001, 2008 Free Software Foundation, Inc. + * Copyright (C) 1999-2024 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -26,26 +25,26 @@ 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, ucs4_t *pwc, const unsigned char *s, int n) +ucs2_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { - state_t state = conv->istate; + state_t state = conv->ibyteorder; int count = 0; - for (; n >= 2;) { + for (; n >= 2 && count <= RET_COUNT_MAX && count <= INT_MAX-2;) { 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) { - conv->istate = state; + conv->ibyteorder = state; return RET_SHIFT_ILSEQ(count); } else { *pwc = wc; - conv->istate = state; - return count; + conv->ibyteorder = state; + return count+2; } + s += 2; n -= 2; count += 2; } - conv->istate = state; + conv->ibyteorder = state; return RET_TOOFEW(count); } @@ -54,7 +53,7 @@ ucs2_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) "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, ucs4_t wc, int n) +ucs2_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { if (wc < 0x10000 && wc != 0xfffe && !(wc >= 0xd800 && wc < 0xe000)) { if (n >= 2) { diff --git a/Externals/libiconv-1.14/lib/ucs2be.h b/Externals/libiconv/lib/ucs2be.h similarity index 70% rename from Externals/libiconv-1.14/lib/ucs2be.h rename to Externals/libiconv/lib/ucs2be.h index 150c0a36ba4..f11062f8294 100644 --- a/Externals/libiconv-1.14/lib/ucs2be.h +++ b/Externals/libiconv/lib/ucs2be.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -23,7 +22,7 @@ */ static int -ucs2be_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +ucs2be_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { if (n >= 2) { if (s[0] >= 0xd8 && s[0] < 0xe0) { @@ -37,7 +36,7 @@ ucs2be_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) } static int -ucs2be_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +ucs2be_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { if (wc < 0x10000 && !(wc >= 0xd800 && wc < 0xe000)) { if (n >= 2) { diff --git a/Externals/libiconv-1.14/lib/ucs2internal.h b/Externals/libiconv/lib/ucs2internal.h similarity index 71% rename from Externals/libiconv-1.14/lib/ucs2internal.h rename to Externals/libiconv/lib/ucs2internal.h index d482aeac40b..ffb565f5bd7 100644 --- a/Externals/libiconv-1.14/lib/ucs2internal.h +++ b/Externals/libiconv/lib/ucs2internal.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -23,7 +22,7 @@ */ static int -ucs2internal_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +ucs2internal_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { if (n >= 2) { unsigned short x = *(const unsigned short *)s; @@ -38,7 +37,7 @@ ucs2internal_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) } static int -ucs2internal_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +ucs2internal_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { if (wc < 0x10000 && !(wc >= 0xd800 && wc < 0xe000)) { if (n >= 2) { diff --git a/Externals/libiconv-1.14/lib/ucs2le.h b/Externals/libiconv/lib/ucs2le.h similarity index 70% rename from Externals/libiconv-1.14/lib/ucs2le.h rename to Externals/libiconv/lib/ucs2le.h index 49018612b5d..51e9e42fdc2 100644 --- a/Externals/libiconv-1.14/lib/ucs2le.h +++ b/Externals/libiconv/lib/ucs2le.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -23,7 +22,7 @@ */ static int -ucs2le_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +ucs2le_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { if (n >= 2) { if (s[1] >= 0xd8 && s[1] < 0xe0) { @@ -37,7 +36,7 @@ ucs2le_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) } static int -ucs2le_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +ucs2le_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { if (wc < 0x10000 && !(wc >= 0xd800 && wc < 0xe000)) { if (n >= 2) { diff --git a/Externals/libiconv-1.14/lib/ucs2swapped.h b/Externals/libiconv/lib/ucs2swapped.h similarity index 75% rename from Externals/libiconv-1.14/lib/ucs2swapped.h rename to Externals/libiconv/lib/ucs2swapped.h index f426f406f12..ace7e2c42f2 100644 --- a/Externals/libiconv-1.14/lib/ucs2swapped.h +++ b/Externals/libiconv/lib/ucs2swapped.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -23,7 +22,7 @@ */ static int -ucs2swapped_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +ucs2swapped_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { /* This function assumes that 'unsigned short' has exactly 16 bits. */ if (sizeof(unsigned short) != 2) abort(); @@ -42,7 +41,7 @@ ucs2swapped_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) } static int -ucs2swapped_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +ucs2swapped_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { /* This function assumes that 'unsigned short' has exactly 16 bits. */ if (sizeof(unsigned short) != 2) abort(); diff --git a/Externals/libiconv-1.14/lib/ucs4.h b/Externals/libiconv/lib/ucs4.h similarity index 59% rename from Externals/libiconv-1.14/lib/ucs4.h rename to Externals/libiconv/lib/ucs4.h index 00d08d2517a..dc5af71cd38 100644 --- a/Externals/libiconv-1.14/lib/ucs4.h +++ b/Externals/libiconv/lib/ucs4.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001, 2008 Free Software Foundation, Inc. + * Copyright (C) 1999-2024 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -26,34 +25,40 @@ 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, ucs4_t *pwc, const unsigned char *s, int n) +ucs4_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { - state_t state = conv->istate; + state_t state = conv->ibyteorder; int count = 0; - for (; n >= 4;) { + for (; n >= 4 && count <= RET_COUNT_MAX && count <= INT_MAX-4;) { 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; + ? (ucs4_t) s[0] + + ((ucs4_t) s[1] << 8) + + ((ucs4_t) s[2] << 16) + + ((ucs4_t) s[3] << 24) + : ((ucs4_t) s[0] << 24) + + ((ucs4_t) s[1] << 16) + + ((ucs4_t) s[2] << 8) + + (ucs4_t) s[3]); if (wc == 0x0000feff) { } else if (wc == 0xfffe0000u) { state ^= 1; } else if (wc <= 0x7fffffff) { *pwc = wc; - conv->istate = state; - return count; + conv->ibyteorder = state; + return count+4; } else { - conv->istate = state; + conv->ibyteorder = state; return RET_SHIFT_ILSEQ(count); } + s += 4; n -= 4; count += 4; } - conv->istate = state; + conv->ibyteorder = state; return RET_TOOFEW(count); } /* But we output UCS-4 in big-endian order, without byte-order mark. */ static int -ucs4_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +ucs4_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { if (wc <= 0x7fffffff) { if (n >= 4) { diff --git a/Externals/libiconv-1.14/lib/ucs4be.h b/Externals/libiconv/lib/ucs4be.h similarity index 64% rename from Externals/libiconv-1.14/lib/ucs4be.h rename to Externals/libiconv/lib/ucs4be.h index 241bc158dcf..942878da7f2 100644 --- a/Externals/libiconv-1.14/lib/ucs4be.h +++ b/Externals/libiconv/lib/ucs4be.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2000 Free Software Foundation, Inc. + * Copyright (C) 1999-2000, 2016, 2024 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -23,17 +22,20 @@ */ static int -ucs4be_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +ucs4be_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { if (n >= 4) { - *pwc = (s[0] << 24) + (s[1] << 16) + (s[2] << 8) + s[3]; + *pwc = ((ucs4_t) s[0] << 24) + + ((ucs4_t) s[1] << 16) + + ((ucs4_t) s[2] << 8) + + (ucs4_t) s[3]; return 4; } return RET_TOOFEW(0); } static int -ucs4be_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +ucs4be_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { if (n >= 4) { r[0] = (unsigned char) (wc >> 24); diff --git a/Externals/libiconv-1.14/lib/ucs4internal.h b/Externals/libiconv/lib/ucs4internal.h similarity index 66% rename from Externals/libiconv-1.14/lib/ucs4internal.h rename to Externals/libiconv/lib/ucs4internal.h index bd793a3f0af..c5bf3e2b9eb 100644 --- a/Externals/libiconv-1.14/lib/ucs4internal.h +++ b/Externals/libiconv/lib/ucs4internal.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2000 Free Software Foundation, Inc. + * Copyright (C) 1999-2000, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -23,7 +22,7 @@ */ static int -ucs4internal_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +ucs4internal_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { if (n >= 4) { *pwc = *(const unsigned int *)s; @@ -33,7 +32,7 @@ ucs4internal_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) } static int -ucs4internal_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +ucs4internal_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { if (n >= 4) { *(unsigned int *)r = wc; diff --git a/Externals/libiconv-1.14/lib/ucs4le.h b/Externals/libiconv/lib/ucs4le.h similarity index 64% rename from Externals/libiconv-1.14/lib/ucs4le.h rename to Externals/libiconv/lib/ucs4le.h index 0c762fec59e..bd431c2a17d 100644 --- a/Externals/libiconv-1.14/lib/ucs4le.h +++ b/Externals/libiconv/lib/ucs4le.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2000 Free Software Foundation, Inc. + * Copyright (C) 1999-2000, 2016, 2024 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -23,17 +22,20 @@ */ static int -ucs4le_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +ucs4le_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { if (n >= 4) { - *pwc = s[0] + (s[1] << 8) + (s[2] << 16) + (s[3] << 24); + *pwc = (ucs4_t) s[0] + + ((ucs4_t) s[1] << 8) + + ((ucs4_t) s[2] << 16) + + ((ucs4_t) s[3] << 24); return 4; } return RET_TOOFEW(0); } static int -ucs4le_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +ucs4le_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { if (n >= 4) { r[0] = (unsigned char) wc; diff --git a/Externals/libiconv-1.14/lib/ucs4swapped.h b/Externals/libiconv/lib/ucs4swapped.h similarity index 74% rename from Externals/libiconv-1.14/lib/ucs4swapped.h rename to Externals/libiconv/lib/ucs4swapped.h index 6a292ecda69..8ce7c5b953a 100644 --- a/Externals/libiconv-1.14/lib/ucs4swapped.h +++ b/Externals/libiconv/lib/ucs4swapped.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2000 Free Software Foundation, Inc. + * Copyright (C) 1999-2000, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -23,7 +22,7 @@ */ static int -ucs4swapped_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +ucs4swapped_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { /* This function assumes that 'unsigned int' has exactly 32 bits. */ if (sizeof(unsigned int) != 4) abort(); @@ -38,7 +37,7 @@ ucs4swapped_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) } static int -ucs4swapped_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +ucs4swapped_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { /* This function assumes that 'unsigned int' has exactly 32 bits. */ if (sizeof(unsigned int) != 4) abort(); diff --git a/Externals/libiconv-1.14/lib/uhc_1.h b/Externals/libiconv/lib/uhc_1.h similarity index 99% rename from Externals/libiconv-1.14/lib/uhc_1.h rename to Externals/libiconv/lib/uhc_1.h index 7b0c725819f..1a4647747fd 100644 --- a/Externals/libiconv-1.14/lib/uhc_1.h +++ b/Externals/libiconv/lib/uhc_1.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2012, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -804,7 +803,7 @@ static const unsigned char uhc_1_2uni_page81[5696] = { }; static int -uhc_1_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +uhc_1_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c1 = s[0]; if ((c1 >= 0x81 && c1 <= 0xa0)) { @@ -1697,7 +1696,7 @@ static const Summary16 uhc_1_uni2indx_pageac[459] = { }; static int -uhc_1_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +uhc_1_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { if (n >= 2) { if (wc >= 0xac00 && wc < 0xc8b0) { @@ -1706,9 +1705,9 @@ uhc_1_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) unsigned int i = wc & 0x0f; if (used & ((unsigned short) 1 << i)) { unsigned short c; - /* Keep in `used' only the bits 0..i-1. */ + /* 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'. */ + /* 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); diff --git a/Externals/libiconv-1.14/lib/uhc_2.h b/Externals/libiconv/lib/uhc_2.h similarity index 98% rename from Externals/libiconv-1.14/lib/uhc_2.h rename to Externals/libiconv/lib/uhc_2.h index 4aa290a943b..3dd03e6e7f8 100644 --- a/Externals/libiconv-1.14/lib/uhc_2.h +++ b/Externals/libiconv/lib/uhc_2.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2012, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -486,7 +485,7 @@ static const unsigned char uhc_2_2uni_pagea1[3126] = { }; static int -uhc_2_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +uhc_2_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c1 = s[0]; if ((c1 >= 0xa1 && c1 <= 0xc6)) { @@ -994,7 +993,7 @@ static const Summary16 uhc_2_uni2indx_pagec8[251] = { }; static int -uhc_2_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +uhc_2_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { if (n >= 2) { if (wc >= 0xc800 && wc < 0xd7b0) { @@ -1003,9 +1002,9 @@ uhc_2_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) unsigned int i = wc & 0x0f; if (used & ((unsigned short) 1 << i)) { unsigned short c; - /* Keep in `used' only the bits 0..i-1. */ + /* 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'. */ + /* 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); diff --git a/Externals/libiconv-1.14/lib/utf16.h b/Externals/libiconv/lib/utf16.h similarity index 83% rename from Externals/libiconv-1.14/lib/utf16.h rename to Externals/libiconv/lib/utf16.h index 99b5e2c2d85..eac85230bd8 100644 --- a/Externals/libiconv-1.14/lib/utf16.h +++ b/Externals/libiconv/lib/utf16.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001, 2008 Free Software Foundation, Inc. + * Copyright (C) 1999-2024 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -32,11 +31,11 @@ The default is big-endian. */ /* The state is 0 if big-endian, 1 if little-endian. */ static int -utf16_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +utf16_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { - state_t state = conv->istate; + state_t state = conv->ibyteorder; int count = 0; - for (; n >= 2;) { + for (; n >= 2 && count <= RET_COUNT_MAX && count <= INT_MAX-2;) { ucs4_t wc = (state ? s[0] + (s[1] << 8) : (s[0] << 8) + s[1]); if (wc == 0xfeff) { } else if (wc == 0xfffe) { @@ -47,7 +46,7 @@ utf16_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) if (!(wc2 >= 0xdc00 && wc2 < 0xe000)) goto ilseq; *pwc = 0x10000 + ((wc - 0xd800) << 10) + (wc2 - 0xdc00); - conv->istate = state; + conv->ibyteorder = state; return count+4; } else break; @@ -55,16 +54,16 @@ utf16_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) goto ilseq; } else { *pwc = wc; - conv->istate = state; + conv->ibyteorder = state; return count+2; } s += 2; n -= 2; count += 2; } - conv->istate = state; + conv->ibyteorder = state; return RET_TOOFEW(count); ilseq: - conv->istate = state; + conv->ibyteorder = state; return RET_SHIFT_ILSEQ(count); } @@ -74,7 +73,7 @@ ilseq: 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, ucs4_t wc, int n) +utf16_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { if (wc != 0xfffe && !(wc >= 0xd800 && wc < 0xe000)) { int count = 0; diff --git a/Externals/libiconv-1.14/lib/utf16be.h b/Externals/libiconv/lib/utf16be.h similarity index 80% rename from Externals/libiconv-1.14/lib/utf16be.h rename to Externals/libiconv/lib/utf16be.h index a6d90ffb916..2cfab52d632 100644 --- a/Externals/libiconv-1.14/lib/utf16be.h +++ b/Externals/libiconv/lib/utf16be.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001, 2008 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2008, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -25,7 +24,7 @@ /* Specification: RFC 2781 */ static int -utf16be_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +utf16be_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { int count = 0; if (n >= 2) { @@ -52,7 +51,7 @@ ilseq: } static int -utf16be_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +utf16be_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { if (!(wc >= 0xd800 && wc < 0xe000)) { if (wc < 0x10000) { diff --git a/Externals/libiconv-1.14/lib/utf16le.h b/Externals/libiconv/lib/utf16le.h similarity index 80% rename from Externals/libiconv-1.14/lib/utf16le.h rename to Externals/libiconv/lib/utf16le.h index 5bb2b026966..97e94bc59a6 100644 --- a/Externals/libiconv-1.14/lib/utf16le.h +++ b/Externals/libiconv/lib/utf16le.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001, 2008 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2008, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -25,7 +24,7 @@ /* Specification: RFC 2781 */ static int -utf16le_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +utf16le_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { int count = 0; if (n >= 2) { @@ -52,7 +51,7 @@ ilseq: } static int -utf16le_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +utf16le_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { if (!(wc >= 0xd800 && wc < 0xe000)) { if (wc < 0x10000) { diff --git a/Externals/libiconv-1.14/lib/utf32.h b/Externals/libiconv/lib/utf32.h similarity index 69% rename from Externals/libiconv-1.14/lib/utf32.h rename to Externals/libiconv/lib/utf32.h index bc579ae0b8b..7ef2214b493 100644 --- a/Externals/libiconv-1.14/lib/utf32.h +++ b/Externals/libiconv/lib/utf32.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001, 2008 Free Software Foundation, Inc. + * Copyright (C) 1999-2024 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -32,38 +31,43 @@ The default is big-endian. */ /* The state is 0 if big-endian, 1 if little-endian. */ static int -utf32_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +utf32_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { - state_t state = conv->istate; + state_t state = conv->ibyteorder; int count = 0; - for (; n >= 4;) { + for (; n >= 4 && count <= RET_COUNT_MAX && count <= INT_MAX-4;) { 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]); - count += 4; + ? (ucs4_t) s[0] + + ((ucs4_t) s[1] << 8) + + ((ucs4_t) s[2] << 16) + + ((ucs4_t) s[3] << 24) + : ((ucs4_t) s[0] << 24) + + ((ucs4_t) s[1] << 16) + + ((ucs4_t) s[2] << 8) + + (ucs4_t) s[3]); if (wc == 0x0000feff) { } else if (wc == 0xfffe0000u) { state ^= 1; } else { if (wc < 0x110000 && !(wc >= 0xd800 && wc < 0xe000)) { *pwc = wc; - conv->istate = state; - return count; + conv->ibyteorder = state; + return count+4; } else { - conv->istate = state; + conv->ibyteorder = state; return RET_SHIFT_ILSEQ(count); } } - s += 4; n -= 4; + s += 4; n -= 4; count += 4; } - conv->istate = state; + conv->ibyteorder = state; return RET_TOOFEW(count); } /* We output UTF-32 in big-endian order, with byte-order mark. */ /* The state is 0 at the beginning, 1 after the BOM has been written. */ static int -utf32_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +utf32_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { if (wc < 0x110000 && !(wc >= 0xd800 && wc < 0xe000)) { int count = 0; diff --git a/Externals/libiconv-1.14/lib/utf32be.h b/Externals/libiconv/lib/utf32be.h similarity index 68% rename from Externals/libiconv-1.14/lib/utf32be.h rename to Externals/libiconv/lib/utf32be.h index 50811298d63..217706ee77d 100644 --- a/Externals/libiconv-1.14/lib/utf32be.h +++ b/Externals/libiconv/lib/utf32be.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2016, 2024 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -25,10 +24,13 @@ /* Specification: Unicode 3.1 Standard Annex #19 */ static int -utf32be_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +utf32be_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { if (n >= 4) { - ucs4_t wc = (s[0] << 24) + (s[1] << 16) + (s[2] << 8) + s[3]; + ucs4_t wc = ((ucs4_t) s[0] << 24) + + ((ucs4_t) s[1] << 16) + + ((ucs4_t) s[2] << 8) + + (ucs4_t) s[3]; if (wc < 0x110000 && !(wc >= 0xd800 && wc < 0xe000)) { *pwc = wc; return 4; @@ -39,7 +41,7 @@ utf32be_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) } static int -utf32be_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +utf32be_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { if (wc < 0x110000 && !(wc >= 0xd800 && wc < 0xe000)) { if (n >= 4) { diff --git a/Externals/libiconv-1.14/lib/utf32le.h b/Externals/libiconv/lib/utf32le.h similarity index 68% rename from Externals/libiconv-1.14/lib/utf32le.h rename to Externals/libiconv/lib/utf32le.h index 9d3699bc98d..2d44526e1db 100644 --- a/Externals/libiconv-1.14/lib/utf32le.h +++ b/Externals/libiconv/lib/utf32le.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2016, 2024 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -25,10 +24,13 @@ /* Specification: Unicode 3.1 Standard Annex #19 */ static int -utf32le_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +utf32le_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { if (n >= 4) { - ucs4_t wc = s[0] + (s[1] << 8) + (s[2] << 16) + (s[3] << 24); + ucs4_t wc = (ucs4_t) s[0] + + ((ucs4_t) s[1] << 8) + + ((ucs4_t) s[2] << 16) + + ((ucs4_t) s[3] << 24); if (wc < 0x110000 && !(wc >= 0xd800 && wc < 0xe000)) { *pwc = wc; return 4; @@ -39,7 +41,7 @@ utf32le_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) } static int -utf32le_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +utf32le_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { if (wc < 0x110000 && !(wc >= 0xd800 && wc < 0xe000)) { if (n >= 4) { diff --git a/Externals/libiconv-1.14/lib/utf7.h b/Externals/libiconv/lib/utf7.h similarity index 94% rename from Externals/libiconv-1.14/lib/utf7.h rename to Externals/libiconv/lib/utf7.h index 888bfb4d650..6f237ed7b63 100644 --- a/Externals/libiconv-1.14/lib/utf7.h +++ b/Externals/libiconv/lib/utf7.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001, 2008 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2008, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -66,7 +65,7 @@ static const unsigned char xbase64_tab[128/8] = { */ static int -utf7_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +utf7_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { state_t state = conv->istate; int count = 0; /* number of input bytes already read */ @@ -207,7 +206,7 @@ ilseq: #define UTF7_ENCODE_OPTIONAL_CHARS 1 static int -utf7_wctomb (conv_t conv, unsigned char *r, ucs4_t iwc, int n) +utf7_wctomb (conv_t conv, unsigned char *r, ucs4_t iwc, size_t n) { state_t state = conv->ostate; unsigned int wc = iwc; @@ -322,7 +321,7 @@ active: } static int -utf7_reset (conv_t conv, unsigned char *r, int n) +utf7_reset (conv_t conv, unsigned char *r, size_t n) { state_t state = conv->ostate; if (state & 3) { diff --git a/Externals/libiconv-1.14/lib/utf8.h b/Externals/libiconv/lib/utf8.h similarity index 51% rename from Externals/libiconv-1.14/lib/utf8.h rename to Externals/libiconv/lib/utf8.h index 9d07219c8ad..43727ea7df3 100644 --- a/Externals/libiconv-1.14/lib/utf8.h +++ b/Externals/libiconv/lib/utf8.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001, 2004 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2004, 2016 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -25,7 +24,7 @@ /* Specification: RFC 3629 */ static int -utf8_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +utf8_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = s[0]; @@ -46,7 +45,8 @@ utf8_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) if (n < 3) return RET_TOOFEW(0); if (!((s[1] ^ 0x80) < 0x40 && (s[2] ^ 0x80) < 0x40 - && (c >= 0xe1 || s[1] >= 0xa0))) + && (c >= 0xe1 || s[1] >= 0xa0) + && (c != 0xed || s[1] < 0xa0))) return RET_ILSEQ; *pwc = ((ucs4_t) (c & 0x0f) << 12) | ((ucs4_t) (s[1] ^ 0x80) << 6) @@ -57,68 +57,38 @@ utf8_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) return RET_TOOFEW(0); if (!((s[1] ^ 0x80) < 0x40 && (s[2] ^ 0x80) < 0x40 && (s[3] ^ 0x80) < 0x40 - && (c >= 0xf1 || s[1] >= 0x90))) + && (c >= 0xf1 || s[1] >= 0x90) + && (c < 0xf4 || (c == 0xf4 && s[1] < 0x90)))) return RET_ILSEQ; *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(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 = ((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(ucs4_t)*8 >= 32) { - if (n < 6) - return RET_TOOFEW(0); - if (!((s[1] ^ 0x80) < 0x40 && (s[2] ^ 0x80) < 0x40 - && (s[3] ^ 0x80) < 0x40 && (s[4] ^ 0x80) < 0x40 - && (s[5] ^ 0x80) < 0x40 - && (c >= 0xfd || s[1] >= 0x84))) - return RET_ILSEQ; - *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, ucs4_t wc, int n) /* n == 0 is acceptable */ +utf8_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) /* n == 0 is acceptable */ { int count; if (wc < 0x80) count = 1; else if (wc < 0x800) count = 2; - else if (wc < 0x10000) - count = 3; - else if (wc < 0x200000) + else if (wc < 0x10000) { + if (wc < 0xd800 || wc >= 0xe000) + count = 3; + else + return RET_ILUNI; + } else if (wc < 0x110000) count = 4; - else if (wc < 0x4000000) - count = 5; - else if (wc <= 0x7fffffff) - count = 6; else return RET_ILUNI; if (n < count) return RET_TOOSMALL; switch (count) { /* note: code falls through cases! */ - case 6: r[5] = 0x80 | (wc & 0x3f); wc = wc >> 6; wc |= 0x4000000; - case 5: r[4] = 0x80 | (wc & 0x3f); wc = wc >> 6; wc |= 0x200000; case 4: r[3] = 0x80 | (wc & 0x3f); wc = wc >> 6; wc |= 0x10000; case 3: r[2] = 0x80 | (wc & 0x3f); wc = wc >> 6; wc |= 0x800; case 2: r[1] = 0x80 | (wc & 0x3f); wc = wc >> 6; wc |= 0xc0; diff --git a/Externals/libiconv-1.14/lib/vietcomb.h b/Externals/libiconv/lib/vietcomb.h similarity index 97% rename from Externals/libiconv-1.14/lib/vietcomb.h rename to Externals/libiconv/lib/vietcomb.h index 023b5e32f09..ed06d9d73a4 100644 --- a/Externals/libiconv-1.14/lib/vietcomb.h +++ b/Externals/libiconv/lib/vietcomb.h @@ -3,19 +3,18 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* Combining characters used in Vietnamese encodings CP1258, TCVN. */ diff --git a/Externals/libiconv-1.14/lib/viscii.h b/Externals/libiconv/lib/viscii.h similarity index 91% rename from Externals/libiconv-1.14/lib/viscii.h rename to Externals/libiconv/lib/viscii.h index 04e68fa8153..e0802f85868 100644 --- a/Externals/libiconv-1.14/lib/viscii.h +++ b/Externals/libiconv/lib/viscii.h @@ -1,21 +1,20 @@ /* - * Copyright (C) 1999-2001 Free Software Foundation, Inc. + * Copyright (C) 1999-2001, 2016, 2019 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * The GNU LIBICONV Library is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. - * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. + * If not, see . */ /* @@ -60,7 +59,7 @@ static const unsigned short viscii_2uni_2[128] = { }; static int -viscii_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +viscii_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) { unsigned char c = *s; if (c < 0x20) @@ -122,10 +121,10 @@ static const unsigned char viscii_page1e[96] = { }; static int -viscii_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +viscii_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) { unsigned char c = 0; - if (wc < 0x0080 && (wc >= 0x0020 || (0x42100064 & (1 << wc)) == 0)) { + if (wc < 0x0080 && (wc >= 0x0020 || (0x42100064U & (1U << wc)) == 0)) { *r = wc; return 1; } diff --git a/Externals/libiconv/libcharset/CMakeLists.txt b/Externals/libiconv/libcharset/CMakeLists.txt new file mode 100644 index 00000000000..43c26229f99 --- /dev/null +++ b/Externals/libiconv/libcharset/CMakeLists.txt @@ -0,0 +1,92 @@ +project(libcharset VERSION 1.5 LANGUAGES C) + +option(ENABLE_RELOCATABLE "Allow the package to run at any location in the file system" ON) + +include(CheckIncludeFile) +check_include_file("dlfcn.h" HAVE_DLFCN_H) +check_include_file("inttypes.h" HAVE_INTTYPES_H) +check_include_file("mach-o/dyld.h" HAVE_MACH_O_DYLD_H) +check_include_file("minix/config.h" HAVE_MINIX_CONFIG_H) +check_include_file("stdint.h" HAVE_STDINT_H) +check_include_file("stdio.h" HAVE_STDIO_H) +check_include_file("stdlib.h" HAVE_STDLIB_H) +check_include_file("strings.h" HAVE_STRINGS_H) +check_include_file("string.h" HAVE_STRING_H) +check_include_file("sys/stat.h" HAVE_SYS_STAT_H) +check_include_file("sys/types.h" HAVE_SYS_TYPES_H) +check_include_file("unistd.h" HAVE_UNISTD_H) +check_include_file("wchar.h" HAVE_WCHAR_H) + +include(CheckFunctionExists) +check_function_exists(copy_file_range HAVE_COPY_FILE_RANGE) +check_function_exists(setlocale HAVE_SETLOCALE) +check_function_exists(symlink HAVE_SYMLINK) +check_function_exists(_NSGetExecutablePath HAVE__NSGETEXECUTABLEPATH) + +include(CheckCCompilerFlag) +check_c_compiler_flag("-fvisibility=hidden" HAVE_VISIBILITY) + +include(CheckSymbolExists) +check_symbol_exists(nl_langinfo "langinfo.h" HAVE_LANGINFO_CODESET) +check_symbol_exists(O_NOATIME "fcntl.h" HAVE_WORKING_O_NOATIME) +check_symbol_exists(O_NOFOLLOW "fcntl.h" HAVE_WORKING_O_NOFOLLOW) + +set(STDC_HEADERS + ${HAVE_STDINT_H} + ${HAVE_STDIO_H} + ${HAVE_STDLIB_H} + ${HAVE_STRING_H} + ${HAVE_STRINGS_H} +) + +set(SYSTEM_DEFINES + _ALL_SOURCE + _DARWIN_C_SOURCE + __EXTENSIONS__ + _GNU_SOURCE + _HPUX_ALT_XOPEN_SOCKET_API + _MINIX + _NETBSD_SOURCE + _OPENBSD_SOURCE + _POSIX_SOURCE + _POSIX_1_SOURCE + _POSIX_PTHREAD_SEMANTICS + __STDC_WANT_IEC_60559_ATTRIBS_EXT__ + __STDC_WANT_IEC_60559_BFP_EXT__ + __STDC_WANT_IEC_60559_DFP_EXT__ + __STDC_WANT_IEC_60559_EXT__ + __STDC_WANT_IEC_60559_FUNCS_EXT__ + __STDC_WANT_IEC_60559_TYPES_EXT__ + __STDC_WANT_LIB_EXT2__ + __STDC_WANT_MATH_SPEC_FUNCS__ + _TANDEM_SOURCE + _XOPEN_SOURCE +) + +foreach(def ${SYSTEM_DEFINES}) + add_compile_definitions(${def}) +endforeach() + +set(PACKAGE_NAME "${PROJECT_NAME}") +set(PACKAGE_STRING "${PROJECT_NAME} ${PROJECT_VERSION}") +set(PACKAGE_TARNAME "${PROJECT_NAME}") +set(PACKAGE_BUGREPORT "") +set(PACKAGE_URL "") +set(PACKAGE_VERSION "${PROJECT_VERSION}") +set(LT_OBJDIR ".libs") + +configure_file( + ${CMAKE_CURRENT_SOURCE_DIR}/config.h.in + ${CMAKE_CURRENT_BINARY_DIR}/config.h + @ONLY +) + +add_library(libcharset STATIC + lib/localcharset.c +) + +target_include_directories(libcharset + PUBLIC + $ + $ +) \ No newline at end of file diff --git a/Externals/libiconv/libcharset/config.h.in b/Externals/libiconv/libcharset/config.h.in new file mode 100644 index 00000000000..f77791f91e4 --- /dev/null +++ b/Externals/libiconv/libcharset/config.h.in @@ -0,0 +1,88 @@ +/* Define to 1 if you have the 'copy_file_range' function. */ +#cmakedefine01 HAVE_COPY_FILE_RANGE + +/* Define to 1 if you have the header file. */ +#cmakedefine01 HAVE_DLFCN_H + +/* Define to 1 if you have the header file. */ +#cmakedefine01 HAVE_INTTYPES_H + +/* Define if you have and nl_langinfo(CODESET). */ +#cmakedefine01 HAVE_LANGINFO_CODESET + +/* Define to 1 if you have the header file. */ +#cmakedefine01 HAVE_MACH_O_DYLD_H + +/* Define to 1 if you have the header file. */ +#cmakedefine01 HAVE_MINIX_CONFIG_H + +/* Define to 1 if you have the 'setlocale' function. */ +#cmakedefine01 HAVE_SETLOCALE + +/* Define to 1 if you have the header file. */ +#cmakedefine01 HAVE_STDINT_H + +/* Define to 1 if you have the header file. */ +#cmakedefine01 HAVE_STDIO_H + +/* Define to 1 if you have the header file. */ +#cmakedefine01 HAVE_STDLIB_H + +/* Define to 1 if you have the header file. */ +#cmakedefine01 HAVE_STRINGS_H + +/* Define to 1 if you have the header file. */ +#cmakedefine01 HAVE_STRING_H + +/* Define to 1 if you have the 'symlink' function. */ +#cmakedefine01 HAVE_SYMLINK + +/* Define to 1 if you have the header file. */ +#cmakedefine01 HAVE_SYS_STAT_H + +/* Define to 1 if you have the header file. */ +#cmakedefine01 HAVE_SYS_TYPES_H + +/* Define to 1 if you have the header file. */ +#cmakedefine01 HAVE_UNISTD_H + +/* Define to 1 or 0, depending whether the compiler supports simple visibility + * declarations. */ +#cmakedefine01 HAVE_VISIBILITY + +/* Define to 1 if you have the header file. */ +#cmakedefine01 HAVE_WCHAR_H + +/* Define to 1 if O_NOATIME works. */ +#cmakedefine01 HAVE_WORKING_O_NOATIME + +/* Define to 1 if O_NOFOLLOW works. */ +#cmakedefine01 HAVE_WORKING_O_NOFOLLOW + +/* Define to 1 if you have the '_NSGetExecutablePath' function. */ +#cmakedefine01 HAVE__NSGETEXECUTABLEPATH + +/* Define to the value of ${prefix}, as a string. */ +#cmakedefine INSTALLPREFIX "@CMAKE_INSTALL_PREFIX@" + +/* Define to the sub-directory where libtool stores uninstalled libraries. */ +#cmakedefine LT_OBJDIR "@LT_OBJDIR@" + +/* Define to the address where bug reports for this package should be sent. */ +#cmakedefine PACKAGE_BUGREPORT "@PACKAGE_BUGREPORT@" +/* Define to the full name of this package. */ +#cmakedefine PACKAGE_NAME "@PACKAGE_NAME@" +/* Define to the full name and version of this package. */ +#cmakedefine PACKAGE_STRING "@PACKAGE_STRING@" +/* Define to the one symbol short name of this package. */ +#cmakedefine PACKAGE_TARNAME "@PACKAGE_TARNAME@" +/* Define to the home page for this package. */ +#cmakedefine PACKAGE_URL "@PACKAGE_URL@" + +/* Define to the version of this package. */ +#cmakedefine PACKAGE_VERSION "@PACKAGE_VERSION@" + +/* Define to 1 if all of the C89 standard headers exist (not just the ones + required in a freestanding environment). This macro is provided for + backward compatibility; new code need not use it. */ +#cmakedefine01 STDC_HEADERS diff --git a/Externals/libiconv/libcharset/include/export.h b/Externals/libiconv/libcharset/include/export.h new file mode 100644 index 00000000000..22d1fb5f10d --- /dev/null +++ b/Externals/libiconv/libcharset/include/export.h @@ -0,0 +1,36 @@ +/* Control of exported symbols from libcharset. + Copyright (C) 2005-2023 Free Software Foundation, Inc. + + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + This file is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ + +#if @HAVE_VISIBILITY@ && BUILDING_LIBCHARSET +# define LIBCHARSET_SHLIB_EXPORTED __attribute__((__visibility__("default"))) +#elif defined _MSC_VER && BUILDING_LIBCHARSET +/* When building with MSVC, exporting a symbol means that the object file + contains a "linker directive" of the form /EXPORT:symbol. This can be + inspected through the "objdump -s --section=.drectve FILE" or + "dumpbin /directives FILE" commands. + The symbols from this file should be exported if and only if the object + file gets included in a DLL. Libtool, on Windows platforms, defines + the C macro DLL_EXPORT (together with PIC) when compiling for a shared + library (called DLL under Windows) and does not define it when compiling + an object file meant to be linked statically into some executable. */ +# if defined DLL_EXPORT +# define LIBCHARSET_SHLIB_EXPORTED __declspec(dllexport) +# else +# define LIBCHARSET_SHLIB_EXPORTED +# endif +#else +# define LIBCHARSET_SHLIB_EXPORTED +#endif diff --git a/Externals/libiconv/libcharset/include/libcharset.h b/Externals/libiconv/libcharset/include/libcharset.h new file mode 100644 index 00000000000..0b29fa18920 --- /dev/null +++ b/Externals/libiconv/libcharset/include/libcharset.h @@ -0,0 +1,66 @@ +/* Copyright (C) 2003 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 Lesser 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 + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with the GNU CHARSET Library; see the file COPYING.LIB. If not, + see . */ + +#ifndef _LIBCHARSET_H +#define _LIBCHARSET_H + +#if 1 && BUILDING_LIBCHARSET +# define LIBCHARSET_SHLIB_EXPORTED __attribute__((__visibility__("default"))) +#elif defined _MSC_VER && BUILDING_LIBCHARSET +/* When building with MSVC, exporting a symbol means that the object file + contains a "linker directive" of the form /EXPORT:symbol. This can be + inspected through the "objdump -s --section=.drectve FILE" or + "dumpbin /directives FILE" commands. + The symbols from this file should be exported if and only if the object + file gets included in a DLL. Libtool, on Windows platforms, defines + the C macro DLL_EXPORT (together with PIC) when compiling for a shared + library (called DLL under Windows) and does not define it when compiling + an object file meant to be linked statically into some executable. */ +# if defined DLL_EXPORT +# define LIBCHARSET_SHLIB_EXPORTED __declspec(dllexport) +# else +# define LIBCHARSET_SHLIB_EXPORTED +# endif +#else +# define LIBCHARSET_SHLIB_EXPORTED +#endif + +#include + + +#ifdef __cplusplus +extern "C" { +#endif + + +/* Support for relocatable packages. */ + +/* Sets the original and the current installation prefix of the package. + Relocation simply replaces a pathname starting with the original prefix + by the corresponding pathname with the current prefix instead. Both + prefixes should be directory names without trailing slash (i.e. use "" + instead of "/"). */ +extern LIBCHARSET_SHLIB_EXPORTED void libcharset_set_relocation_prefix (const char *orig_prefix, + const char *curr_prefix); + + +#ifdef __cplusplus +} +#endif + + +#endif /* _LIBCHARSET_H */ diff --git a/Externals/libiconv/libcharset/include/localcharset.h b/Externals/libiconv/libcharset/include/localcharset.h new file mode 100644 index 00000000000..8b13943db0b --- /dev/null +++ b/Externals/libiconv/libcharset/include/localcharset.h @@ -0,0 +1,158 @@ +/* Determine a canonical name for the current locale's character encoding. + Copyright (C) 2000-2003, 2009-2019 Free Software Foundation, Inc. + This file is part of the GNU CHARSET Library. + + This program is free software; you can redistribute it and/or modify it + under the terms of the GNU Lesser General Public License as published + by the Free Software Foundation; either version 2, 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 + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program; if not, see . */ + +#ifndef _LOCALCHARSET_H +#define _LOCALCHARSET_H + +#if 1 && BUILDING_LIBCHARSET +# define LIBCHARSET_SHLIB_EXPORTED __attribute__((__visibility__("default"))) +#elif defined _MSC_VER && BUILDING_LIBCHARSET +/* When building with MSVC, exporting a symbol means that the object file + contains a "linker directive" of the form /EXPORT:symbol. This can be + inspected through the "objdump -s --section=.drectve FILE" or + "dumpbin /directives FILE" commands. + The symbols from this file should be exported if and only if the object + file gets included in a DLL. Libtool, on Windows platforms, defines + the C macro DLL_EXPORT (together with PIC) when compiling for a shared + library (called DLL under Windows) and does not define it when compiling + an object file meant to be linked statically into some executable. */ +# if defined DLL_EXPORT +# define LIBCHARSET_SHLIB_EXPORTED __declspec(dllexport) +# else +# define LIBCHARSET_SHLIB_EXPORTED +# endif +#else +# define LIBCHARSET_SHLIB_EXPORTED +#endif + + +#ifdef __cplusplus +extern "C" { +#endif + + +/* Determine the current locale's character encoding, and canonicalize it + into one of the canonical names listed below. + The result must not be freed; it is statically allocated. The result + becomes invalid when setlocale() is used to change the global locale, or + when the value of one of the environment variables LC_ALL, LC_CTYPE, LANG + is changed; threads in multithreaded programs should not do this. + If the canonical name cannot be determined, the result is a non-canonical + name. */ +extern LIBCHARSET_SHLIB_EXPORTED const char * locale_charset (void); + +/* About GNU canonical names for character encodings: + + Every canonical name must be supported by GNU libiconv. Support by GNU libc + is also desirable. + + The name is case insensitive. Usually an upper case MIME charset name is + preferred. + + The current list of these GNU canonical names is: + + name MIME? used by which systems + (darwin = Mac OS X, windows = native Windows) + + ASCII, ANSI_X3.4-1968 glibc solaris freebsd netbsd darwin minix cygwin + ISO-8859-1 Y glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin cygwin zos + ISO-8859-2 Y glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin cygwin zos + ISO-8859-3 Y glibc solaris cygwin + ISO-8859-4 Y hpux osf solaris freebsd netbsd openbsd darwin + ISO-8859-5 Y glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin cygwin zos + ISO-8859-6 Y glibc aix hpux solaris cygwin + ISO-8859-7 Y glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin cygwin zos + ISO-8859-8 Y glibc aix hpux osf solaris cygwin zos + ISO-8859-9 Y glibc aix hpux irix osf solaris freebsd darwin cygwin zos + ISO-8859-13 glibc hpux solaris freebsd netbsd openbsd darwin cygwin + ISO-8859-14 glibc cygwin + ISO-8859-15 glibc aix irix osf solaris freebsd netbsd openbsd darwin cygwin + KOI8-R Y glibc hpux solaris freebsd netbsd openbsd darwin + KOI8-U Y glibc freebsd netbsd openbsd darwin cygwin + KOI8-T glibc + CP437 dos + CP775 dos + CP850 aix osf dos + CP852 dos + CP855 dos + CP856 aix + CP857 dos + CP861 dos + CP862 dos + CP864 dos + CP865 dos + CP866 freebsd netbsd openbsd darwin dos + CP869 dos + CP874 windows dos + CP922 aix + CP932 aix cygwin windows dos + CP943 aix zos + CP949 osf darwin windows dos + CP950 windows dos + CP1046 aix + CP1124 aix + CP1125 dos + CP1129 aix + CP1131 freebsd darwin + CP1250 windows + CP1251 glibc hpux solaris freebsd netbsd openbsd darwin cygwin windows + CP1252 aix windows + CP1253 windows + CP1254 windows + CP1255 glibc windows + CP1256 windows + CP1257 windows + GB2312 Y glibc aix hpux irix solaris freebsd netbsd darwin cygwin zos + EUC-JP Y glibc aix hpux irix osf solaris freebsd netbsd darwin cygwin + EUC-KR Y glibc aix hpux irix osf solaris freebsd netbsd darwin cygwin zos + EUC-TW glibc aix hpux irix osf solaris netbsd + BIG5 Y glibc aix hpux osf solaris freebsd netbsd darwin cygwin zos + BIG5-HKSCS glibc hpux solaris netbsd darwin + GBK glibc aix osf solaris freebsd darwin cygwin windows dos + GB18030 glibc hpux solaris freebsd netbsd darwin + SHIFT_JIS Y hpux osf solaris freebsd netbsd darwin + JOHAB glibc solaris windows + TIS-620 glibc aix hpux osf solaris cygwin zos + VISCII Y glibc + TCVN5712-1 glibc + ARMSCII-8 glibc freebsd netbsd darwin + GEORGIAN-PS glibc cygwin + PT154 glibc netbsd cygwin + HP-ROMAN8 hpux + HP-ARABIC8 hpux + HP-GREEK8 hpux + HP-HEBREW8 hpux + HP-TURKISH8 hpux + HP-KANA8 hpux + DEC-KANJI osf + DEC-HANYU osf + UTF-8 Y glibc aix hpux osf solaris netbsd darwin cygwin zos + + 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. + */ + + +#ifdef __cplusplus +} +#endif + + +#endif /* _LOCALCHARSET_H */ diff --git a/Externals/libiconv/libcharset/lib/localcharset.c b/Externals/libiconv/libcharset/lib/localcharset.c new file mode 100644 index 00000000000..dbcd38468dd --- /dev/null +++ b/Externals/libiconv/libcharset/lib/localcharset.c @@ -0,0 +1,1159 @@ +/* Determine a canonical name for the current locale's character encoding. + + Copyright (C) 2000-2006, 2008-2019 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify it + under the terms of the GNU Lesser General Public License as published + by the Free Software Foundation; either version 2, 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 + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program; if not, see . */ + +/* Written by Bruno Haible . */ + +#include + +/* Specification. */ +#include "localcharset.h" + +#include +#include +#include +#include + +#if defined __APPLE__ && defined __MACH__ && HAVE_LANGINFO_CODESET +# define DARWIN7 /* Darwin 7 or newer, i.e. Mac OS X 10.3 or newer */ +#endif + +#if defined _WIN32 && !defined __CYGWIN__ +# define WINDOWS_NATIVE +# include +#endif + +#if defined __EMX__ +/* Assume EMX program runs on OS/2, even if compiled under DOS. */ +# ifndef OS2 +# define OS2 +# endif +#endif + +#if !defined WINDOWS_NATIVE +# if HAVE_LANGINFO_CODESET +# include +# else +# if 0 /* see comment regarding use of setlocale(), below */ +# include +# endif +# endif +# ifdef __CYGWIN__ +# define WIN32_LEAN_AND_MEAN +# include +# endif +#elif defined WINDOWS_NATIVE +# define WIN32_LEAN_AND_MEAN +# include + /* For the use of setlocale() below, the Gnulib override in setlocale.c is + not needed; see the platform lists in setlocale_null.m4. */ +# undef setlocale +#endif +#if defined OS2 +# define INCL_DOS +# include +#endif + +/* For MB_CUR_MAX_L */ +#if defined DARWIN7 +# include +#endif + + +#if HAVE_LANGINFO_CODESET || defined WINDOWS_NATIVE || defined OS2 + +/* On these platforms, we use a mapping from non-canonical encoding name + to GNU canonical encoding name. */ + +/* 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. */ +# if !((defined __GNU_LIBRARY__ && __GLIBC__ >= 2) || defined __UCLIBC__) + +struct table_entry +{ + const char alias[11+1]; + const char canonical[11+1]; +}; + +/* Table of platform-dependent mappings, sorted in ascending order. */ +static const struct table_entry alias_table[] = + { +# if defined __FreeBSD__ /* FreeBSD */ + /*{ "ARMSCII-8", "ARMSCII-8" },*/ + { "Big5", "BIG5" }, + { "C", "ASCII" }, + /*{ "CP1131", "CP1131" },*/ + /*{ "CP1251", "CP1251" },*/ + /*{ "CP866", "CP866" },*/ + /*{ "GB18030", "GB18030" },*/ + /*{ "GB2312", "GB2312" },*/ + /*{ "GBK", "GBK" },*/ + /*{ "ISCII-DEV", "?" },*/ + { "ISO8859-1", "ISO-8859-1" }, + { "ISO8859-13", "ISO-8859-13" }, + { "ISO8859-15", "ISO-8859-15" }, + { "ISO8859-2", "ISO-8859-2" }, + { "ISO8859-5", "ISO-8859-5" }, + { "ISO8859-7", "ISO-8859-7" }, + { "ISO8859-9", "ISO-8859-9" }, + /*{ "KOI8-R", "KOI8-R" },*/ + /*{ "KOI8-U", "KOI8-U" },*/ + { "SJIS", "SHIFT_JIS" }, + { "US-ASCII", "ASCII" }, + { "eucCN", "GB2312" }, + { "eucJP", "EUC-JP" }, + { "eucKR", "EUC-KR" } +# define alias_table_defined +# endif +# if defined __NetBSD__ /* NetBSD */ + { "646", "ASCII" }, + /*{ "ARMSCII-8", "ARMSCII-8" },*/ + /*{ "BIG5", "BIG5" },*/ + { "Big5-HKSCS", "BIG5-HKSCS" }, + /*{ "CP1251", "CP1251" },*/ + /*{ "CP866", "CP866" },*/ + /*{ "GB18030", "GB18030" },*/ + /*{ "GB2312", "GB2312" },*/ + { "ISO8859-1", "ISO-8859-1" }, + { "ISO8859-13", "ISO-8859-13" }, + { "ISO8859-15", "ISO-8859-15" }, + { "ISO8859-2", "ISO-8859-2" }, + { "ISO8859-4", "ISO-8859-4" }, + { "ISO8859-5", "ISO-8859-5" }, + { "ISO8859-7", "ISO-8859-7" }, + /*{ "KOI8-R", "KOI8-R" },*/ + /*{ "KOI8-U", "KOI8-U" },*/ + /*{ "PT154", "PT154" },*/ + { "SJIS", "SHIFT_JIS" }, + { "eucCN", "GB2312" }, + { "eucJP", "EUC-JP" }, + { "eucKR", "EUC-KR" }, + { "eucTW", "EUC-TW" } +# define alias_table_defined +# endif +# if defined __OpenBSD__ /* OpenBSD */ + { "646", "ASCII" }, + { "ISO8859-1", "ISO-8859-1" }, + { "ISO8859-13", "ISO-8859-13" }, + { "ISO8859-15", "ISO-8859-15" }, + { "ISO8859-2", "ISO-8859-2" }, + { "ISO8859-4", "ISO-8859-4" }, + { "ISO8859-5", "ISO-8859-5" }, + { "ISO8859-7", "ISO-8859-7" }, + { "US-ASCII", "ASCII" } +# define alias_table_defined +# endif +# if defined __APPLE__ && defined __MACH__ /* Mac OS X */ + /* Darwin 7.5 has nl_langinfo(CODESET), but sometimes its value is + useless: + - It returns the empty string when LANG is set to a locale of the + form ll_CC, although ll_CC/LC_CTYPE is a symlink to an UTF-8 + LC_CTYPE file. + - The environment variables LANG, LC_CTYPE, LC_ALL are not set by + the system; nl_langinfo(CODESET) returns "US-ASCII" in this case. + - The documentation says: + "... all code that calls BSD system routines should ensure + that the const *char parameters of these routines are in UTF-8 + encoding. All BSD system functions expect their string + parameters to be in UTF-8 encoding and nothing else." + It also says + "An additional caveat is that string parameters for files, + paths, and other file-system entities must be in canonical + UTF-8. In a canonical UTF-8 Unicode string, all decomposable + characters are decomposed ..." + but this is not true: You can pass non-decomposed UTF-8 strings + to file system functions, and it is the OS which will convert + them to decomposed UTF-8 before accessing the file system. + - The Apple Terminal application displays UTF-8 by default. + - However, other applications are free to use different encodings: + - xterm uses ISO-8859-1 by default. + - TextEdit uses MacRoman by default. + We prefer UTF-8 over decomposed UTF-8-MAC because one should + minimize the use of decomposed Unicode. Unfortunately, through the + Darwin file system, decomposed UTF-8 strings are leaked into user + space nevertheless. + Then there are also the locales with encodings other than US-ASCII + and UTF-8. These locales can be occasionally useful to users (e.g. + when grepping through ISO-8859-1 encoded text files), when all their + file names are in US-ASCII. + */ + { "ARMSCII-8", "ARMSCII-8" }, + { "Big5", "BIG5" }, + { "Big5HKSCS", "BIG5-HKSCS" }, + { "CP1131", "CP1131" }, + { "CP1251", "CP1251" }, + { "CP866", "CP866" }, + { "CP949", "CP949" }, + { "GB18030", "GB18030" }, + { "GB2312", "GB2312" }, + { "GBK", "GBK" }, + /*{ "ISCII-DEV", "?" },*/ + { "ISO8859-1", "ISO-8859-1" }, + { "ISO8859-13", "ISO-8859-13" }, + { "ISO8859-15", "ISO-8859-15" }, + { "ISO8859-2", "ISO-8859-2" }, + { "ISO8859-4", "ISO-8859-4" }, + { "ISO8859-5", "ISO-8859-5" }, + { "ISO8859-7", "ISO-8859-7" }, + { "ISO8859-9", "ISO-8859-9" }, + { "KOI8-R", "KOI8-R" }, + { "KOI8-U", "KOI8-U" }, + { "PT154", "PT154" }, + { "SJIS", "SHIFT_JIS" }, + { "eucCN", "GB2312" }, + { "eucJP", "EUC-JP" }, + { "eucKR", "EUC-KR" } +# define alias_table_defined +# endif +# if defined _AIX /* AIX */ + /*{ "GBK", "GBK" },*/ + { "IBM-1046", "CP1046" }, + { "IBM-1124", "CP1124" }, + { "IBM-1129", "CP1129" }, + { "IBM-1252", "CP1252" }, + { "IBM-850", "CP850" }, + { "IBM-856", "CP856" }, + { "IBM-921", "ISO-8859-13" }, + { "IBM-922", "CP922" }, + { "IBM-932", "CP932" }, + { "IBM-943", "CP943" }, + { "IBM-eucCN", "GB2312" }, + { "IBM-eucJP", "EUC-JP" }, + { "IBM-eucKR", "EUC-KR" }, + { "IBM-eucTW", "EUC-TW" }, + { "ISO8859-1", "ISO-8859-1" }, + { "ISO8859-15", "ISO-8859-15" }, + { "ISO8859-2", "ISO-8859-2" }, + { "ISO8859-5", "ISO-8859-5" }, + { "ISO8859-6", "ISO-8859-6" }, + { "ISO8859-7", "ISO-8859-7" }, + { "ISO8859-8", "ISO-8859-8" }, + { "ISO8859-9", "ISO-8859-9" }, + { "TIS-620", "TIS-620" }, + /*{ "UTF-8", "UTF-8" },*/ + { "big5", "BIG5" } +# define alias_table_defined +# endif +# if defined __hpux /* HP-UX */ + { "SJIS", "SHIFT_JIS" }, + { "arabic8", "HP-ARABIC8" }, + { "big5", "BIG5" }, + { "cp1251", "CP1251" }, + { "eucJP", "EUC-JP" }, + { "eucKR", "EUC-KR" }, + { "eucTW", "EUC-TW" }, + { "gb18030", "GB18030" }, + { "greek8", "HP-GREEK8" }, + { "hebrew8", "HP-HEBREW8" }, + { "hkbig5", "BIG5-HKSCS" }, + { "hp15CN", "GB2312" }, + { "iso88591", "ISO-8859-1" }, + { "iso885913", "ISO-8859-13" }, + { "iso885915", "ISO-8859-15" }, + { "iso88592", "ISO-8859-2" }, + { "iso88594", "ISO-8859-4" }, + { "iso88595", "ISO-8859-5" }, + { "iso88596", "ISO-8859-6" }, + { "iso88597", "ISO-8859-7" }, + { "iso88598", "ISO-8859-8" }, + { "iso88599", "ISO-8859-9" }, + { "kana8", "HP-KANA8" }, + { "koi8r", "KOI8-R" }, + { "roman8", "HP-ROMAN8" }, + { "tis620", "TIS-620" }, + { "turkish8", "HP-TURKISH8" }, + { "utf8", "UTF-8" } +# define alias_table_defined +# endif +# if defined __sgi /* IRIX */ + { "ISO8859-1", "ISO-8859-1" }, + { "ISO8859-15", "ISO-8859-15" }, + { "ISO8859-2", "ISO-8859-2" }, + { "ISO8859-5", "ISO-8859-5" }, + { "ISO8859-7", "ISO-8859-7" }, + { "ISO8859-9", "ISO-8859-9" }, + { "eucCN", "GB2312" }, + { "eucJP", "EUC-JP" }, + { "eucKR", "EUC-KR" }, + { "eucTW", "EUC-TW" } +# define alias_table_defined +# endif +# if defined __osf__ /* OSF/1 */ + /*{ "GBK", "GBK" },*/ + { "ISO8859-1", "ISO-8859-1" }, + { "ISO8859-15", "ISO-8859-15" }, + { "ISO8859-2", "ISO-8859-2" }, + { "ISO8859-4", "ISO-8859-4" }, + { "ISO8859-5", "ISO-8859-5" }, + { "ISO8859-7", "ISO-8859-7" }, + { "ISO8859-8", "ISO-8859-8" }, + { "ISO8859-9", "ISO-8859-9" }, + { "KSC5601", "CP949" }, + { "SJIS", "SHIFT_JIS" }, + { "TACTIS", "TIS-620" }, + /*{ "UTF-8", "UTF-8" },*/ + { "big5", "BIG5" }, + { "cp850", "CP850" }, + { "dechanyu", "DEC-HANYU" }, + { "dechanzi", "GB2312" }, + { "deckanji", "DEC-KANJI" }, + { "deckorean", "EUC-KR" }, + { "eucJP", "EUC-JP" }, + { "eucKR", "EUC-KR" }, + { "eucTW", "EUC-TW" }, + { "sdeckanji", "EUC-JP" } +# define alias_table_defined +# endif +# if defined __sun /* Solaris */ + { "5601", "EUC-KR" }, + { "646", "ASCII" }, + /*{ "BIG5", "BIG5" },*/ + { "Big5-HKSCS", "BIG5-HKSCS" }, + { "GB18030", "GB18030" }, + /*{ "GBK", "GBK" },*/ + { "ISO8859-1", "ISO-8859-1" }, + { "ISO8859-11", "TIS-620" }, + { "ISO8859-13", "ISO-8859-13" }, + { "ISO8859-15", "ISO-8859-15" }, + { "ISO8859-2", "ISO-8859-2" }, + { "ISO8859-3", "ISO-8859-3" }, + { "ISO8859-4", "ISO-8859-4" }, + { "ISO8859-5", "ISO-8859-5" }, + { "ISO8859-6", "ISO-8859-6" }, + { "ISO8859-7", "ISO-8859-7" }, + { "ISO8859-8", "ISO-8859-8" }, + { "ISO8859-9", "ISO-8859-9" }, + { "PCK", "SHIFT_JIS" }, + { "TIS620.2533", "TIS-620" }, + /*{ "UTF-8", "UTF-8" },*/ + { "ansi-1251", "CP1251" }, + { "cns11643", "EUC-TW" }, + { "eucJP", "EUC-JP" }, + { "gb2312", "GB2312" }, + { "koi8-r", "KOI8-R" } +# define alias_table_defined +# endif +# if defined __minix /* Minix */ + { "646", "ASCII" } +# define alias_table_defined +# endif +# if defined WINDOWS_NATIVE || defined __CYGWIN__ /* Windows */ + { "CP1361", "JOHAB" }, + { "CP20127", "ASCII" }, + { "CP20866", "KOI8-R" }, + { "CP20936", "GB2312" }, + { "CP21866", "KOI8-RU" }, + { "CP28591", "ISO-8859-1" }, + { "CP28592", "ISO-8859-2" }, + { "CP28593", "ISO-8859-3" }, + { "CP28594", "ISO-8859-4" }, + { "CP28595", "ISO-8859-5" }, + { "CP28596", "ISO-8859-6" }, + { "CP28597", "ISO-8859-7" }, + { "CP28598", "ISO-8859-8" }, + { "CP28599", "ISO-8859-9" }, + { "CP28605", "ISO-8859-15" }, + { "CP38598", "ISO-8859-8" }, + { "CP51932", "EUC-JP" }, + { "CP51936", "GB2312" }, + { "CP51949", "EUC-KR" }, + { "CP51950", "EUC-TW" }, + { "CP54936", "GB18030" }, + { "CP65001", "UTF-8" }, + { "CP936", "GBK" } +# define alias_table_defined +# endif +# if defined OS2 /* OS/2 */ + /* The list of encodings is taken from "List of OS/2 Codepages" + by Alex Taylor: + . + See also "__convcp() of kLIBC": + . */ + { "CP1004", "CP1252" }, + /*{ "CP1041", "CP943" },*/ + /*{ "CP1088", "CP949" },*/ + { "CP1089", "ISO-8859-6" }, + /*{ "CP1114", "CP950" },*/ + /*{ "CP1115", "GB2312" },*/ + { "CP1208", "UTF-8" }, + /*{ "CP1380", "GB2312" },*/ + { "CP1381", "GB2312" }, + { "CP1383", "GB2312" }, + { "CP1386", "GBK" }, + /*{ "CP301", "CP943" },*/ + { "CP3372", "EUC-JP" }, + { "CP4946", "CP850" }, + /*{ "CP5048", "JIS_X0208-1990" },*/ + /*{ "CP5049", "JIS_X0212-1990" },*/ + /*{ "CP5067", "KS_C_5601-1987" },*/ + { "CP813", "ISO-8859-7" }, + { "CP819", "ISO-8859-1" }, + { "CP878", "KOI8-R" }, + /*{ "CP897", "CP943" },*/ + { "CP912", "ISO-8859-2" }, + { "CP913", "ISO-8859-3" }, + { "CP914", "ISO-8859-4" }, + { "CP915", "ISO-8859-5" }, + { "CP916", "ISO-8859-8" }, + { "CP920", "ISO-8859-9" }, + { "CP921", "ISO-8859-13" }, + { "CP923", "ISO-8859-15" }, + /*{ "CP941", "CP943" },*/ + /*{ "CP947", "CP950" },*/ + /*{ "CP951", "CP949" },*/ + /*{ "CP952", "JIS_X0208-1990" },*/ + /*{ "CP953", "JIS_X0212-1990" },*/ + { "CP954", "EUC-JP" }, + { "CP964", "EUC-TW" }, + { "CP970", "EUC-KR" }, + /*{ "CP971", "KS_C_5601-1987" },*/ + { "IBM-1004", "CP1252" }, + /*{ "IBM-1006", "?" },*/ + /*{ "IBM-1008", "?" },*/ + /*{ "IBM-1041", "CP943" },*/ + /*{ "IBM-1051", "?" },*/ + /*{ "IBM-1088", "CP949" },*/ + { "IBM-1089", "ISO-8859-6" }, + /*{ "IBM-1098", "?" },*/ + /*{ "IBM-1114", "CP950" },*/ + /*{ "IBM-1115", "GB2312" },*/ + /*{ "IBM-1116", "?" },*/ + /*{ "IBM-1117", "?" },*/ + /*{ "IBM-1118", "?" },*/ + /*{ "IBM-1119", "?" },*/ + { "IBM-1124", "CP1124" }, + { "IBM-1125", "CP1125" }, + { "IBM-1131", "CP1131" }, + { "IBM-1208", "UTF-8" }, + { "IBM-1250", "CP1250" }, + { "IBM-1251", "CP1251" }, + { "IBM-1252", "CP1252" }, + { "IBM-1253", "CP1253" }, + { "IBM-1254", "CP1254" }, + { "IBM-1255", "CP1255" }, + { "IBM-1256", "CP1256" }, + { "IBM-1257", "CP1257" }, + /*{ "IBM-1275", "?" },*/ + /*{ "IBM-1276", "?" },*/ + /*{ "IBM-1277", "?" },*/ + /*{ "IBM-1280", "?" },*/ + /*{ "IBM-1281", "?" },*/ + /*{ "IBM-1282", "?" },*/ + /*{ "IBM-1283", "?" },*/ + /*{ "IBM-1380", "GB2312" },*/ + { "IBM-1381", "GB2312" }, + { "IBM-1383", "GB2312" }, + { "IBM-1386", "GBK" }, + /*{ "IBM-301", "CP943" },*/ + { "IBM-3372", "EUC-JP" }, + { "IBM-367", "ASCII" }, + { "IBM-437", "CP437" }, + { "IBM-4946", "CP850" }, + /*{ "IBM-5048", "JIS_X0208-1990" },*/ + /*{ "IBM-5049", "JIS_X0212-1990" },*/ + /*{ "IBM-5067", "KS_C_5601-1987" },*/ + { "IBM-813", "ISO-8859-7" }, + { "IBM-819", "ISO-8859-1" }, + { "IBM-850", "CP850" }, + /*{ "IBM-851", "?" },*/ + { "IBM-852", "CP852" }, + { "IBM-855", "CP855" }, + { "IBM-856", "CP856" }, + { "IBM-857", "CP857" }, + /*{ "IBM-859", "?" },*/ + { "IBM-860", "CP860" }, + { "IBM-861", "CP861" }, + { "IBM-862", "CP862" }, + { "IBM-863", "CP863" }, + { "IBM-864", "CP864" }, + { "IBM-865", "CP865" }, + { "IBM-866", "CP866" }, + /*{ "IBM-868", "?" },*/ + { "IBM-869", "CP869" }, + { "IBM-874", "CP874" }, + { "IBM-878", "KOI8-R" }, + /*{ "IBM-895", "?" },*/ + /*{ "IBM-897", "CP943" },*/ + /*{ "IBM-907", "?" },*/ + /*{ "IBM-909", "?" },*/ + { "IBM-912", "ISO-8859-2" }, + { "IBM-913", "ISO-8859-3" }, + { "IBM-914", "ISO-8859-4" }, + { "IBM-915", "ISO-8859-5" }, + { "IBM-916", "ISO-8859-8" }, + { "IBM-920", "ISO-8859-9" }, + { "IBM-921", "ISO-8859-13" }, + { "IBM-922", "CP922" }, + { "IBM-923", "ISO-8859-15" }, + { "IBM-932", "CP932" }, + /*{ "IBM-941", "CP943" },*/ + /*{ "IBM-942", "?" },*/ + { "IBM-943", "CP943" }, + /*{ "IBM-947", "CP950" },*/ + { "IBM-949", "CP949" }, + { "IBM-950", "CP950" }, + /*{ "IBM-951", "CP949" },*/ + /*{ "IBM-952", "JIS_X0208-1990" },*/ + /*{ "IBM-953", "JIS_X0212-1990" },*/ + { "IBM-954", "EUC-JP" }, + /*{ "IBM-955", "?" },*/ + { "IBM-964", "EUC-TW" }, + { "IBM-970", "EUC-KR" }, + /*{ "IBM-971", "KS_C_5601-1987" },*/ + { "IBM-eucCN", "GB2312" }, + { "IBM-eucJP", "EUC-JP" }, + { "IBM-eucKR", "EUC-KR" }, + { "IBM-eucTW", "EUC-TW" }, + { "IBM33722", "EUC-JP" }, + { "ISO8859-1", "ISO-8859-1" }, + { "ISO8859-2", "ISO-8859-2" }, + { "ISO8859-3", "ISO-8859-3" }, + { "ISO8859-4", "ISO-8859-4" }, + { "ISO8859-5", "ISO-8859-5" }, + { "ISO8859-6", "ISO-8859-6" }, + { "ISO8859-7", "ISO-8859-7" }, + { "ISO8859-8", "ISO-8859-8" }, + { "ISO8859-9", "ISO-8859-9" }, + /*{ "JISX0201-1976", "JISX0201-1976" },*/ + /*{ "JISX0208-1978", "?" },*/ + /*{ "JISX0208-1983", "JIS_X0208-1983" },*/ + /*{ "JISX0208-1990", "JIS_X0208-1990" },*/ + /*{ "JISX0212-1990", "JIS_X0212-1990" },*/ + /*{ "KSC5601-1987", "KS_C_5601-1987" },*/ + { "SJIS-1", "CP943" }, + { "SJIS-2", "CP943" }, + { "eucJP", "EUC-JP" }, + { "eucKR", "EUC-KR" }, + { "eucTW-1993", "EUC-TW" } +# define alias_table_defined +# endif +# if defined VMS /* OpenVMS */ + /* The list of encodings is taken from the OpenVMS 7.3-1 documentation + "Compaq C Run-Time Library Reference Manual for OpenVMS systems" + section 10.7 "Handling Different Character Sets". */ + { "DECHANYU", "DEC-HANYU" }, + { "DECHANZI", "GB2312" }, + { "DECKANJI", "DEC-KANJI" }, + { "DECKOREAN", "EUC-KR" }, + { "ISO8859-1", "ISO-8859-1" }, + { "ISO8859-2", "ISO-8859-2" }, + { "ISO8859-5", "ISO-8859-5" }, + { "ISO8859-7", "ISO-8859-7" }, + { "ISO8859-8", "ISO-8859-8" }, + { "ISO8859-9", "ISO-8859-9" }, + { "SDECKANJI", "EUC-JP" }, + { "SJIS", "SHIFT_JIS" }, + { "eucJP", "EUC-JP" }, + { "eucTW", "EUC-TW" } +# define alias_table_defined +# endif +# ifndef alias_table_defined + /* Just a dummy entry, to avoid a C syntax error. */ + { "", "" } +# endif + }; + +# endif + +#else + +/* On these platforms, we use a mapping from locale name to GNU canonical + encoding name. */ + +struct table_entry +{ + const char locale[17+1]; + const char canonical[11+1]; +}; + +/* Table of platform-dependent mappings, sorted in ascending order. */ +static const struct table_entry locale_table[] = + { +# if defined __FreeBSD__ /* FreeBSD 4.2 */ + { "cs_CZ.ISO_8859-2", "ISO-8859-2" }, + { "da_DK.DIS_8859-15", "ISO-8859-15" }, + { "da_DK.ISO_8859-1", "ISO-8859-1" }, + { "de_AT.DIS_8859-15", "ISO-8859-15" }, + { "de_AT.ISO_8859-1", "ISO-8859-1" }, + { "de_CH.DIS_8859-15", "ISO-8859-15" }, + { "de_CH.ISO_8859-1", "ISO-8859-1" }, + { "de_DE.DIS_8859-15", "ISO-8859-15" }, + { "de_DE.ISO_8859-1", "ISO-8859-1" }, + { "en_AU.DIS_8859-15", "ISO-8859-15" }, + { "en_AU.ISO_8859-1", "ISO-8859-1" }, + { "en_CA.DIS_8859-15", "ISO-8859-15" }, + { "en_CA.ISO_8859-1", "ISO-8859-1" }, + { "en_GB.DIS_8859-15", "ISO-8859-15" }, + { "en_GB.ISO_8859-1", "ISO-8859-1" }, + { "en_US.DIS_8859-15", "ISO-8859-15" }, + { "en_US.ISO_8859-1", "ISO-8859-1" }, + { "es_ES.DIS_8859-15", "ISO-8859-15" }, + { "es_ES.ISO_8859-1", "ISO-8859-1" }, + { "fi_FI.DIS_8859-15", "ISO-8859-15" }, + { "fi_FI.ISO_8859-1", "ISO-8859-1" }, + { "fr_BE.DIS_8859-15", "ISO-8859-15" }, + { "fr_BE.ISO_8859-1", "ISO-8859-1" }, + { "fr_CA.DIS_8859-15", "ISO-8859-15" }, + { "fr_CA.ISO_8859-1", "ISO-8859-1" }, + { "fr_CH.DIS_8859-15", "ISO-8859-15" }, + { "fr_CH.ISO_8859-1", "ISO-8859-1" }, + { "fr_FR.DIS_8859-15", "ISO-8859-15" }, + { "fr_FR.ISO_8859-1", "ISO-8859-1" }, + { "hr_HR.ISO_8859-2", "ISO-8859-2" }, + { "hu_HU.ISO_8859-2", "ISO-8859-2" }, + { "is_IS.DIS_8859-15", "ISO-8859-15" }, + { "is_IS.ISO_8859-1", "ISO-8859-1" }, + { "it_CH.DIS_8859-15", "ISO-8859-15" }, + { "it_CH.ISO_8859-1", "ISO-8859-1" }, + { "it_IT.DIS_8859-15", "ISO-8859-15" }, + { "it_IT.ISO_8859-1", "ISO-8859-1" }, + { "ja_JP.EUC", "EUC-JP" }, + { "ja_JP.SJIS", "SHIFT_JIS" }, + { "ja_JP.Shift_JIS", "SHIFT_JIS" }, + { "ko_KR.EUC", "EUC-KR" }, + { "la_LN.ASCII", "ASCII" }, + { "la_LN.DIS_8859-15", "ISO-8859-15" }, + { "la_LN.ISO_8859-1", "ISO-8859-1" }, + { "la_LN.ISO_8859-2", "ISO-8859-2" }, + { "la_LN.ISO_8859-4", "ISO-8859-4" }, + { "lt_LN.ASCII", "ASCII" }, + { "lt_LN.DIS_8859-15", "ISO-8859-15" }, + { "lt_LN.ISO_8859-1", "ISO-8859-1" }, + { "lt_LN.ISO_8859-2", "ISO-8859-2" }, + { "lt_LT.ISO_8859-4", "ISO-8859-4" }, + { "nl_BE.DIS_8859-15", "ISO-8859-15" }, + { "nl_BE.ISO_8859-1", "ISO-8859-1" }, + { "nl_NL.DIS_8859-15", "ISO-8859-15" }, + { "nl_NL.ISO_8859-1", "ISO-8859-1" }, + { "no_NO.DIS_8859-15", "ISO-8859-15" }, + { "no_NO.ISO_8859-1", "ISO-8859-1" }, + { "pl_PL.ISO_8859-2", "ISO-8859-2" }, + { "pt_PT.DIS_8859-15", "ISO-8859-15" }, + { "pt_PT.ISO_8859-1", "ISO-8859-1" }, + { "ru_RU.CP866", "CP866" }, + { "ru_RU.ISO_8859-5", "ISO-8859-5" }, + { "ru_RU.KOI8-R", "KOI8-R" }, + { "ru_SU.CP866", "CP866" }, + { "ru_SU.ISO_8859-5", "ISO-8859-5" }, + { "ru_SU.KOI8-R", "KOI8-R" }, + { "sl_SI.ISO_8859-2", "ISO-8859-2" }, + { "sv_SE.DIS_8859-15", "ISO-8859-15" }, + { "sv_SE.ISO_8859-1", "ISO-8859-1" }, + { "uk_UA.KOI8-U", "KOI8-U" }, + { "zh_CN.EUC", "GB2312" }, + { "zh_TW.BIG5", "BIG5" }, + { "zh_TW.Big5", "BIG5" } +# define locale_table_defined +# endif +# if defined __DJGPP__ /* DOS / DJGPP 2.03 */ + /* The encodings given here may not all be correct. + If you find that the encoding given for your language and + country is not the one your DOS machine actually uses, just + correct it in this file, and send a mail to + Juan Manuel Guerrero + and . */ + { "C", "ASCII" }, + { "ar", "CP864" }, + { "ar_AE", "CP864" }, + { "ar_DZ", "CP864" }, + { "ar_EG", "CP864" }, + { "ar_IQ", "CP864" }, + { "ar_IR", "CP864" }, + { "ar_JO", "CP864" }, + { "ar_KW", "CP864" }, + { "ar_MA", "CP864" }, + { "ar_OM", "CP864" }, + { "ar_QA", "CP864" }, + { "ar_SA", "CP864" }, + { "ar_SY", "CP864" }, + { "be", "CP866" }, + { "be_BE", "CP866" }, + { "bg", "CP866" }, /* not CP855 ?? */ + { "bg_BG", "CP866" }, /* not CP855 ?? */ + { "ca", "CP850" }, + { "ca_ES", "CP850" }, + { "cs", "CP852" }, + { "cs_CZ", "CP852" }, + { "da", "CP865" }, /* not CP850 ?? */ + { "da_DK", "CP865" }, /* not CP850 ?? */ + { "de", "CP850" }, + { "de_AT", "CP850" }, + { "de_CH", "CP850" }, + { "de_DE", "CP850" }, + { "el", "CP869" }, + { "el_GR", "CP869" }, + { "en", "CP850" }, + { "en_AU", "CP850" }, /* not CP437 ?? */ + { "en_CA", "CP850" }, + { "en_GB", "CP850" }, + { "en_NZ", "CP437" }, + { "en_US", "CP437" }, + { "en_ZA", "CP850" }, /* not CP437 ?? */ + { "eo", "CP850" }, + { "eo_EO", "CP850" }, + { "es", "CP850" }, + { "es_AR", "CP850" }, + { "es_BO", "CP850" }, + { "es_CL", "CP850" }, + { "es_CO", "CP850" }, + { "es_CR", "CP850" }, + { "es_CU", "CP850" }, + { "es_DO", "CP850" }, + { "es_EC", "CP850" }, + { "es_ES", "CP850" }, + { "es_GT", "CP850" }, + { "es_HN", "CP850" }, + { "es_MX", "CP850" }, + { "es_NI", "CP850" }, + { "es_PA", "CP850" }, + { "es_PE", "CP850" }, + { "es_PY", "CP850" }, + { "es_SV", "CP850" }, + { "es_UY", "CP850" }, + { "es_VE", "CP850" }, + { "et", "CP850" }, + { "et_EE", "CP850" }, + { "eu", "CP850" }, + { "eu_ES", "CP850" }, + { "fi", "CP850" }, + { "fi_FI", "CP850" }, + { "fr", "CP850" }, + { "fr_BE", "CP850" }, + { "fr_CA", "CP850" }, + { "fr_CH", "CP850" }, + { "fr_FR", "CP850" }, + { "ga", "CP850" }, + { "ga_IE", "CP850" }, + { "gd", "CP850" }, + { "gd_GB", "CP850" }, + { "gl", "CP850" }, + { "gl_ES", "CP850" }, + { "he", "CP862" }, + { "he_IL", "CP862" }, + { "hr", "CP852" }, + { "hr_HR", "CP852" }, + { "hu", "CP852" }, + { "hu_HU", "CP852" }, + { "id", "CP850" }, /* not CP437 ?? */ + { "id_ID", "CP850" }, /* not CP437 ?? */ + { "is", "CP861" }, /* not CP850 ?? */ + { "is_IS", "CP861" }, /* not CP850 ?? */ + { "it", "CP850" }, + { "it_CH", "CP850" }, + { "it_IT", "CP850" }, + { "ja", "CP932" }, + { "ja_JP", "CP932" }, + { "kr", "CP949" }, /* not CP934 ?? */ + { "kr_KR", "CP949" }, /* not CP934 ?? */ + { "lt", "CP775" }, + { "lt_LT", "CP775" }, + { "lv", "CP775" }, + { "lv_LV", "CP775" }, + { "mk", "CP866" }, /* not CP855 ?? */ + { "mk_MK", "CP866" }, /* not CP855 ?? */ + { "mt", "CP850" }, + { "mt_MT", "CP850" }, + { "nb", "CP865" }, /* not CP850 ?? */ + { "nb_NO", "CP865" }, /* not CP850 ?? */ + { "nl", "CP850" }, + { "nl_BE", "CP850" }, + { "nl_NL", "CP850" }, + { "nn", "CP865" }, /* not CP850 ?? */ + { "nn_NO", "CP865" }, /* not CP850 ?? */ + { "no", "CP865" }, /* not CP850 ?? */ + { "no_NO", "CP865" }, /* not CP850 ?? */ + { "pl", "CP852" }, + { "pl_PL", "CP852" }, + { "pt", "CP850" }, + { "pt_BR", "CP850" }, + { "pt_PT", "CP850" }, + { "ro", "CP852" }, + { "ro_RO", "CP852" }, + { "ru", "CP866" }, + { "ru_RU", "CP866" }, + { "sk", "CP852" }, + { "sk_SK", "CP852" }, + { "sl", "CP852" }, + { "sl_SI", "CP852" }, + { "sq", "CP852" }, + { "sq_AL", "CP852" }, + { "sr", "CP852" }, /* CP852 or CP866 or CP855 ?? */ + { "sr_CS", "CP852" }, /* CP852 or CP866 or CP855 ?? */ + { "sr_YU", "CP852" }, /* CP852 or CP866 or CP855 ?? */ + { "sv", "CP850" }, + { "sv_SE", "CP850" }, + { "th", "CP874" }, + { "th_TH", "CP874" }, + { "tr", "CP857" }, + { "tr_TR", "CP857" }, + { "uk", "CP1125" }, + { "uk_UA", "CP1125" }, + { "zh_CN", "GBK" }, + { "zh_TW", "CP950" } /* not CP938 ?? */ +# define locale_table_defined +# endif +# ifndef locale_table_defined + /* Just a dummy entry, to avoid a C syntax error. */ + { "", "" } +# endif + }; + +#endif + + +/* Determine the current locale's character encoding, and canonicalize it + into one of the canonical names listed below. + The result must not be freed; it is statically allocated. The result + becomes invalid when setlocale() is used to change the global locale, or + when the value of one of the environment variables LC_ALL, LC_CTYPE, LANG + is changed; threads in multithreaded programs should not do this. + If the canonical name cannot be determined, the result is a non-canonical + name. */ + +#ifdef STATIC +STATIC +#endif +const char * +locale_charset (void) +{ + const char *codeset; + + /* This function must be multithread-safe. To achieve this without using + thread-local storage, we use a simple strcpy or memcpy to fill this static + buffer. Filling it through, for example, strcpy + strcat would not be + guaranteed to leave the buffer's contents intact if another thread is + currently accessing it. If necessary, the contents is first assembled in + a stack-allocated buffer. */ + +#if HAVE_LANGINFO_CODESET || defined WINDOWS_NATIVE || defined OS2 + +# if HAVE_LANGINFO_CODESET + + /* Most systems support nl_langinfo (CODESET) nowadays. */ + codeset = nl_langinfo (CODESET); + +# ifdef __CYGWIN__ + /* Cygwin < 1.7 does not have locales. nl_langinfo (CODESET) always + returns "US-ASCII". Return the suffix of the locale name from the + environment variables (if present) or the codepage as a number. */ + if (codeset != NULL && strcmp (codeset, "US-ASCII") == 0) + { + const char *locale; + static char resultbuf[2 + 10 + 1]; + + locale = getenv ("LC_ALL"); + if (locale == NULL || locale[0] == '\0') + { + locale = getenv ("LC_CTYPE"); + if (locale == NULL || locale[0] == '\0') + locale = getenv ("LANG"); + } + if (locale != NULL && locale[0] != '\0') + { + /* If the locale name contains an encoding after the dot, return + it. */ + const char *dot = strchr (locale, '.'); + + if (dot != NULL) + { + const char *modifier; + + dot++; + /* Look for the possible @... trailer and remove it, if any. */ + modifier = strchr (dot, '@'); + if (modifier == NULL) + return dot; + if (modifier - dot < sizeof (resultbuf)) + { + /* This way of filling resultbuf is multithread-safe. */ + memcpy (resultbuf, dot, modifier - dot); + resultbuf [modifier - dot] = '\0'; + return resultbuf; + } + } + } + + /* The Windows API has a function returning the locale's codepage as a + number: GetACP(). This encoding is used by Cygwin, unless the user + has set the environment variable CYGWIN=codepage:oem (which very few + people do). + Output directed to console windows needs to be converted (to + GetOEMCP() if the console is using a raster font, or to + GetConsoleOutputCP() if it is using a TrueType font). Cygwin does + this conversion transparently (see winsup/cygwin/fhandler_console.cc), + converting to GetConsoleOutputCP(). This leads to correct results, + except when SetConsoleOutputCP has been called and a raster font is + in use. */ + { + char buf[2 + 10 + 1]; + + sprintf (buf, "CP%u", GetACP ()); + strcpy (resultbuf, buf); + codeset = resultbuf; + } + } +# endif + + if (codeset == NULL) + /* The canonical name cannot be determined. */ + codeset = ""; + +# elif defined WINDOWS_NATIVE + + char buf[2 + 10 + 1]; + static char resultbuf[2 + 10 + 1]; + + /* The Windows API has a function returning the locale's codepage as + a number, but the value doesn't change according to what the + 'setlocale' call specified. So we use it as a last resort, in + case the string returned by 'setlocale' doesn't specify the + codepage. */ + char *current_locale = setlocale (LC_CTYPE, NULL); + char *pdot = strrchr (current_locale, '.'); + + if (pdot && 2 + strlen (pdot + 1) + 1 <= sizeof (buf)) + sprintf (buf, "CP%s", pdot + 1); + else + { + /* The Windows API has a function returning the locale's codepage as a + number: GetACP(). + When the output goes to a console window, it needs to be provided in + GetOEMCP() encoding if the console is using a raster font, or in + GetConsoleOutputCP() encoding if it is using a TrueType font. + But in GUI programs and for output sent to files and pipes, GetACP() + encoding is the best bet. */ + sprintf (buf, "CP%u", GetACP ()); + } + /* For a locale name such as "French_France.65001", in Windows 10, + setlocale now returns "French_France.utf8" instead. */ + if (strcmp (buf + 2, "65001") == 0 || strcmp (buf + 2, "utf8") == 0) + codeset = "UTF-8"; + else + { + strcpy (resultbuf, buf); + codeset = resultbuf; + } + +# elif defined OS2 + + const char *locale; + static char resultbuf[2 + 10 + 1]; + ULONG cp[3]; + ULONG cplen; + + codeset = NULL; + + /* Allow user to override the codeset, as set in the operating system, + with standard language environment variables. */ + locale = getenv ("LC_ALL"); + if (locale == NULL || locale[0] == '\0') + { + locale = getenv ("LC_CTYPE"); + if (locale == NULL || locale[0] == '\0') + locale = getenv ("LANG"); + } + if (locale != NULL && locale[0] != '\0') + { + /* If the locale name contains an encoding after the dot, return it. */ + const char *dot = strchr (locale, '.'); + + if (dot != NULL) + { + const char *modifier; + + dot++; + /* Look for the possible @... trailer and remove it, if any. */ + modifier = strchr (dot, '@'); + if (modifier == NULL) + return dot; + if (modifier - dot < sizeof (resultbuf)) + { + /* This way of filling resultbuf is multithread-safe. */ + memcpy (resultbuf, dot, modifier - dot); + resultbuf [modifier - dot] = '\0'; + return resultbuf; + } + } + + /* For the POSIX locale, don't use the system's codepage. */ + if (strcmp (locale, "C") == 0 || strcmp (locale, "POSIX") == 0) + codeset = ""; + } + + if (codeset == NULL) + { + /* OS/2 has a function returning the locale's codepage as a number. */ + if (DosQueryCp (sizeof (cp), cp, &cplen)) + codeset = ""; + else + { + char buf[2 + 10 + 1]; + + sprintf (buf, "CP%u", cp[0]); + strcpy (resultbuf, buf); + codeset = resultbuf; + } + } + +# else + +# error "Add code for other platforms here." + +# endif + + /* Resolve alias. */ + { +# ifdef alias_table_defined + /* On some platforms, UTF-8 locales are the most frequently used ones. + Speed up the common case and slow down the less common cases by + testing for this case first. */ +# if defined __OpenBSD__ || (defined __APPLE__ && defined __MACH__) || defined __sun || defined __CYGWIN__ + if (strcmp (codeset, "UTF-8") == 0) + goto done_table_lookup; + else +# endif + { + const struct table_entry * const table = alias_table; + size_t const table_size = + sizeof (alias_table) / sizeof (struct table_entry); + /* The table is sorted. Perform a binary search. */ + size_t hi = table_size; + size_t lo = 0; + while (lo < hi) + { + /* Invariant: + for i < lo, strcmp (table[i].alias, codeset) < 0, + for i >= hi, strcmp (table[i].alias, codeset) > 0. */ + size_t mid = (hi + lo) >> 1; /* >= lo, < hi */ + int cmp = strcmp (table[mid].alias, codeset); + if (cmp < 0) + lo = mid + 1; + else if (cmp > 0) + hi = mid; + else + { + /* Found an i with + strcmp (table[i].alias, codeset) == 0. */ + codeset = table[mid].canonical; + goto done_table_lookup; + } + } + } + if (0) + done_table_lookup: ; + else +# endif + { + /* Did not find it in the table. */ + /* On Mac OS X, all modern locales use the UTF-8 encoding. + BeOS and Haiku have a single locale, and it has UTF-8 encoding. */ +# if (defined __APPLE__ && defined __MACH__) || defined __BEOS__ || defined __HAIKU__ + codeset = "UTF-8"; +# else + /* Don't return an empty string. GNU libc and GNU libiconv interpret + the empty string as denoting "the locale's character encoding", + thus GNU libiconv would call this function a second time. */ + if (codeset[0] == '\0') + codeset = "ASCII"; +# endif + } + } + +#else + + /* On old systems which lack it, use setlocale or getenv. */ + const char *locale = NULL; + + /* But most old systems don't have a complete set of locales. Some + (like DJGPP) have only the C locale. Therefore we don't use setlocale + here; it would return "C" when it doesn't support the locale name the + user has set. */ +# if 0 + 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"); + if (locale == NULL) + locale = ""; + } + } + + /* Map locale name to canonical encoding name. */ + { +# ifdef locale_table_defined + const struct table_entry * const table = locale_table; + size_t const table_size = + sizeof (locale_table) / sizeof (struct table_entry); + /* The table is sorted. Perform a binary search. */ + size_t hi = table_size; + size_t lo = 0; + while (lo < hi) + { + /* Invariant: + for i < lo, strcmp (table[i].locale, locale) < 0, + for i >= hi, strcmp (table[i].locale, locale) > 0. */ + size_t mid = (hi + lo) >> 1; /* >= lo, < hi */ + int cmp = strcmp (table[mid].locale, locale); + if (cmp < 0) + lo = mid + 1; + else if (cmp > 0) + hi = mid; + else + { + /* Found an i with + strcmp (table[i].locale, locale) == 0. */ + codeset = table[mid].canonical; + goto done_table_lookup; + } + } + if (0) + done_table_lookup: ; + else +# endif + { + /* Did not find it in the table. */ + /* On Mac OS X, all modern locales use the UTF-8 encoding. + BeOS and Haiku have a single locale, and it has UTF-8 encoding. */ +# if (defined __APPLE__ && defined __MACH__) || defined __BEOS__ || defined __HAIKU__ + codeset = "UTF-8"; +# else + /* The canonical name cannot be determined. */ + /* Don't return an empty string. GNU libc and GNU libiconv interpret + the empty string as denoting "the locale's character encoding", + thus GNU libiconv would call this function a second time. */ + codeset = "ASCII"; +# endif + } + } + +#endif + +#ifdef DARWIN7 + /* Mac OS X sets MB_CUR_MAX to 1 when LC_ALL=C, and "UTF-8" + (the default codeset) does not work when MB_CUR_MAX is 1. */ + if (strcmp (codeset, "UTF-8") == 0 && MB_CUR_MAX_L (uselocale (NULL)) <= 1) + codeset = "ASCII"; +#endif + + return codeset; +} diff --git a/Externals/libiconv/libcharset/lib/relocatable-stub.c b/Externals/libiconv/libcharset/lib/relocatable-stub.c new file mode 100644 index 00000000000..dfb545a59a9 --- /dev/null +++ b/Externals/libiconv/libcharset/lib/relocatable-stub.c @@ -0,0 +1,29 @@ +/* Provide relocatable packages. + Copyright (C) 2018-2023 Free Software Foundation, Inc. + Written by Bruno Haible , 2018. + + This program is free software; you can redistribute it and/or modify it + under the terms of the GNU Lesser General Public License as published + by the Free Software Foundation; either version 2, 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 + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program; if not, see . */ + +#include + +#include "libcharset.h" + +extern LIBCHARSET_SHLIB_EXPORTED void +libcharset_set_relocation_prefix (const char *orig_prefix, const char *curr_prefix); + +/* This is a stub for binary backward-compatibility. */ +void +libcharset_set_relocation_prefix (const char *orig_prefix, const char *curr_prefix) +{ +} diff --git a/Externals/licenses.md b/Externals/licenses.md index 5a62c93c3b4..b3d1913fd3c 100644 --- a/Externals/licenses.md +++ b/Externals/licenses.md @@ -31,7 +31,7 @@ Dolphin includes or links code of the following third-party software projects: - [libcdio](https://www.gnu.org/software/libcdio/): [GPLv3+](http://git.savannah.gnu.org/gitweb/?p=libcdio.git;a=blob_plain;f=COPYING) - [libiconv](https://www.gnu.org/software/libiconv/): - [LGPLv2+](http://git.savannah.gnu.org/cgit/libiconv.git/tree/COPYING.LIB) + [LGPLv2.1+](http://git.savannah.gnu.org/cgit/libiconv.git/tree/COPYING.LIB) - [liblzma](https://tukaani.org/xz/): [Public domain](https://git.tukaani.org/?p=xz.git;a=blob_plain;f=COPYING;hb=HEAD) - [libspng](https://github.com/randy408/libspng): diff --git a/Source/Core/Common/CMakeLists.txt b/Source/Core/Common/CMakeLists.txt index ee738ba4e3f..ce59dda7ff8 100644 --- a/Source/Core/Common/CMakeLists.txt +++ b/Source/Core/Common/CMakeLists.txt @@ -184,7 +184,6 @@ PUBLIC PRIVATE CURL::libcurl FatFs - Iconv::Iconv spng::spng watcher ${VTUNE_LIBRARIES} @@ -342,6 +341,8 @@ endif() if(WIN32) target_sources(common PRIVATE HRWrap.h HRWrap.cpp) +else() + target_link_libraries(common PRIVATE Iconv::Iconv) endif() if(USE_UPNP)