diff -Naur libiconv-1.14-old/ChangeLog libiconv-1.14/ChangeLog --- libiconv-1.14-old/ChangeLog 2011-08-07 17:48:04.000000000 +0000 +++ libiconv-1.14/ChangeLog 2011-09-21 22:30:43.000000000 +0000 @@ -1,3 +1,15 @@ +2011-08-21 Jerzy Kut + + Implement and document ATARI8-*. + * tools/Makefile (ALL): Add atari8_*.h. + (atari8_*.h): New rule. + * lib/atari8_*.h: New file. + * lib/converters.h: Include it. + * lib/encodings_extra.def (ATARI8-*): New encoding. + * README, man/iconv_open.3: Add ATARI8-*. + * tests/Makefile.in (check-extra-yes): Check ATARI8-*. + * tests/ATARI8-*.TXT: New file. + 2011-08-07 Bruno Haible * Version 1.14 released. diff -Naur libiconv-1.14-old/NOTES libiconv-1.14/NOTES --- libiconv-1.14-old/NOTES 2009-06-21 11:17:33.000000000 +0000 +++ libiconv-1.14/NOTES 2011-09-21 17:44:39.000000000 +0000 @@ -289,6 +289,9 @@ We implement these because they were the native character set on HPs and NeXTs for a long time, and libiconv is intended to be usable on these old machines. + * ATARI8-* + We implement these because they are quite useful in crossworking + on retro 8-bit Atari XL/XE machines Full Unicode * UTF-8, UCS-2, UCS-4 We implement these. Obviously. diff -Naur libiconv-1.14-old/README libiconv-1.14/README --- libiconv-1.14-old/README 2011-08-07 17:48:03.000000000 +0000 +++ libiconv-1.14/README 2011-09-22 00:11:34.000000000 +0000 @@ -70,7 +70,8 @@ Turkmen TDS565 Platform specifics - ATARIST, RISCOS-LATIN1 + ATARIST, RISCOS-LATIN1, + ATARI8-{GRAPH,INT,KAREN,AWP,XLENT,PANTHER,PE,PL}, ATASCII, ATASCII2 It can convert from any of these encodings to any other, through Unicode conversion. diff -Naur libiconv-1.14-old/configure libiconv-1.14/configure --- libiconv-1.14-old/configure 2011-08-07 17:49:02.000000000 +0000 +++ libiconv-1.14/configure 2011-09-21 23:13:59.000000000 +0000 @@ -3503,7 +3503,7 @@ # Define the identity of the package. PACKAGE=libiconv - VERSION=1.14 + VERSION=1.14-atari cat >>confdefs.h <<_ACEOF diff -Naur libiconv-1.14-old/configure.ac libiconv-1.14/configure.ac --- libiconv-1.14-old/configure.ac 2011-08-07 17:48:03.000000000 +0000 +++ libiconv-1.14/configure.ac 2011-09-21 23:14:15.000000000 +0000 @@ -20,7 +20,7 @@ AC_INIT AC_CONFIG_SRCDIR([lib/iconv.c]) AC_CONFIG_AUX_DIR([build-aux]) -AM_INIT_AUTOMAKE([libiconv], [1.14]) +AM_INIT_AUTOMAKE([libiconv], [1.14-atari]) AC_CONFIG_HEADERS([config.h lib/config.h]) AC_PROG_MAKE_SET diff -Naur libiconv-1.14-old/lib/aliases_extra.h libiconv-1.14/lib/aliases_extra.h --- libiconv-1.14-old/lib/aliases_extra.h 2011-08-07 17:49:09.000000000 +0000 +++ libiconv-1.14/lib/aliases_extra.h 2011-09-22 00:12:59.000000000 +0000 @@ -10,3 +10,15 @@ S(extra_9, "ATARIST", ei_atarist ) S(extra_10, "ATARI", ei_atarist ) S(extra_11, "RISCOS-LATIN1", ei_riscos1 ) + S(extra_12, "ATARI8", ei_atari8_graph ) + S(extra_13, "ATARI8-GRAPH", ei_atari8_graph ) + S(extra_14, "ATARI8-ATASCII", ei_atari8_graph ) + S(extra_15, "ATASCII", ei_atari8_graph ) + S(extra_16, "ATARI8-INT", ei_atari8_int ) + S(extra_17, "ATASCII2", ei_atari8_int ) + S(extra_18, "ATARI8-KAREN", ei_atari8_karen ) + S(extra_19, "ATARI8-PL", ei_atari8_karen ) + S(extra_20, "ATARI8-AWP", ei_atari8_awp ) + S(extra_21, "ATARI8-XLENT", ei_atari8_xlent ) + S(extra_22, "ATARI8-PANTHER", ei_atari8_panther ) + S(extra_23, "ATARI8-PE", ei_atari8_pe ) diff -Naur libiconv-1.14-old/lib/atari8_awp.h libiconv-1.14/lib/atari8_awp.h --- libiconv-1.14-old/lib/atari8_awp.h 1970-01-01 00:00:00.000000000 +0000 +++ libiconv-1.14/lib/atari8_awp.h 2011-09-22 00:15:43.000000000 +0000 @@ -0,0 +1,165 @@ +/* + * Copyright (C) 1999-2002 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV Library is free software; you can redistribute it + * and/or modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV Library is distributed in the hope that it will be + * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with the GNU LIBICONV Library; see the file COPYING.LIB. + * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, + * Fifth Floor, Boston, MA 02110-1301, USA. + */ + +/* + * Atari 8-bit Polish Atari Writer + ATASCII + */ + +static const unsigned short atari8_awp_2uni_1[32] = { + /* 0x00 */ + 0x0179, 0x0105, 0x017a, 0x0107, 0x015a, 0x0119, 0x2571, 0x2572, + 0x25e2, 0x2597, 0x25e3, 0x0141, 0x0142, 0x0143, 0x0144, 0x00f3, + /* 0x10 */ + 0x00d3, 0x250c, 0x0118, 0x015b, 0x25cf, 0x2584, 0x0106, 0x0104, + 0x017b, 0x258c, 0x017c, 0x241b, 0x2191, 0x2193, 0x2190, 0x2192, +}; +static const unsigned short atari8_awp_2uni_2[32] = { + /* 0x60 */ + 0x2666, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + /* 0x70 */ + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x2660, 0x007c, 0x21b0, 0x25c0, 0x25b6, +}; +static const unsigned short atari8_awp_2uni_3[16] = { + /* 0x90 */ + 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, + 0xfffd, 0xfffd, 0xfffd, 0x000a, 0xfffd, 0xfffd, 0xfffd, 0xfffd, +}; + +static int +atari8_awp_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +{ + unsigned char c = *s; + if (c < 0x20) { + *pwc = (ucs4_t) atari8_awp_2uni_1[c]; + return 1; + } + else if (c < 0x60) { + *pwc = (ucs4_t) c; + return 1; + } + else if (c < 0x80) { + *pwc = (ucs4_t) atari8_awp_2uni_2[c-0x60]; + return 1; + } + else if (c < 0x90) { + } + else if (c < 0xa0) { + unsigned short wc = atari8_awp_2uni_3[c-0x90]; + if (wc != 0xfffd) { + *pwc = (ucs4_t) wc; + return 1; + } + } + else { + } + return RET_ILSEQ; +} + +static const unsigned char atari8_awp_page00[32] = { + 0x00, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, /* 0x60-0x67 */ + 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, /* 0x68-0x6f */ + 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, /* 0x70-0x77 */ + 0x78, 0x79, 0x7a, 0x00, 0x7c, 0x00, 0x00, 0x00, /* 0x78-0x7f */ +}; +static const unsigned char atari8_awp_page00_1[40] = { + 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, /* 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, 0x0f, 0x00, 0x00, 0x00, 0x00, /* 0xf0-0xf7 */ +}; +static const unsigned char atari8_awp_page01[128] = { + 0x00, 0x00, 0x00, 0x00, 0x17, 0x01, 0x16, 0x03, /* 0x00-0x07 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x08-0x0f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10-0x17 */ + 0x12, 0x05, 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, 0x0b, 0x0c, 0x0d, 0x0e, 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, 0x04, 0x13, 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, 0x02, 0x18, 0x1a, 0x00, 0x00, 0x00, /* 0x78-0x7f */ +}; +static const unsigned char atari8_awp_page21[40] = { + 0x1e, 0x1c, 0x1f, 0x1d, 0x00, 0x00, 0x00, 0x00, /* 0x90-0x97 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x98-0x9f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa0-0xa7 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa8-0xaf */ + 0x7d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xb0-0xb7 */ +}; +static const unsigned char atari8_awp_page25[120] = { + 0x00, 0x06, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x70-0x77 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x78-0x7f */ + 0x00, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, /* 0x80-0x87 */ + 0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, /* 0x88-0x8f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, /* 0x90-0x97 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x98-0x9f */ + 0x00, 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, 0x7f, 0x00, /* 0xb0-0xb7 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xb8-0xbf */ + 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xc0-0xc7 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, /* 0xc8-0xcf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xd0-0xd7 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xd8-0xdf */ + 0x00, 0x00, 0x08, 0x0a, 0x00, 0x00, 0x00, 0x00, /* 0xe0-0xe7 */ +}; +static const unsigned char atari8_awp_page26[8] = { + 0x7b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, /* 0x60-0x67 */ +}; + +static int +atari8_awp_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +{ + unsigned char c = 0; + if (wc == 0x000a) + c = 0x9b; + else if (wc >= 0x0020 && wc < 0x0060) + c = wc; + else if (wc >= 0x0060 && wc < 0x0080) + c = atari8_awp_page00[wc-0x0060]; + else if (wc >= 0x00d0 && wc < 0x00f8) + c = atari8_awp_page00_1[wc-0x00d0]; + else if (wc >= 0x0100 && wc < 0x0180) + c = atari8_awp_page01[wc-0x0100]; + else if (wc >= 0x2190 && wc < 0x21b8) + c = atari8_awp_page21[wc-0x2190]; + else if (wc == 0x241b) + c = 0x1b; + else if (wc == 0x250c) + c = 0x11; + else if (wc >= 0x2570 && wc < 0x25e8) + c = atari8_awp_page25[wc-0x2570]; + else if (wc >= 0x2660 && wc < 0x2668) + c = atari8_awp_page26[wc-0x2660]; + if (c != 0) { + *r = c; + return 1; + } + return RET_ILUNI; +} diff -Naur libiconv-1.14-old/lib/atari8_graph.h libiconv-1.14/lib/atari8_graph.h --- libiconv-1.14-old/lib/atari8_graph.h 1970-01-01 00:00:00.000000000 +0000 +++ libiconv-1.14/lib/atari8_graph.h 2011-09-22 00:15:52.000000000 +0000 @@ -0,0 +1,148 @@ +/* + * Copyright (C) 1999-2002 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV Library is free software; you can redistribute it + * and/or modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV Library is distributed in the hope that it will be + * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with the GNU LIBICONV Library; see the file COPYING.LIB. + * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, + * Fifth Floor, Boston, MA 02110-1301, USA. + */ + +/* + * Atari 8-bit Semi-graphic ATASCII + */ + +static const unsigned short atari8_graph_2uni_1[32] = { + /* 0x00 */ + 0x2665, 0x251c, 0x2595, 0x2518, 0x2524, 0x2510, 0x2571, 0x2572, + 0x25e2, 0x2597, 0x25e3, 0x259d, 0x2598, 0x2594, 0x2581, 0x2596, + /* 0x10 */ + 0x2663, 0x250c, 0x2500, 0x253c, 0x25cf, 0x2584, 0x258f, 0x252c, + 0x2534, 0x258c, 0x2514, 0x241b, 0x2191, 0x2193, 0x2190, 0x2192, +}; +static const unsigned short atari8_graph_2uni_2[32] = { + /* 0x60 */ + 0x2666, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + /* 0x70 */ + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x2660, 0x007c, 0x21b0, 0x25c0, 0x25b6, +}; +static const unsigned short atari8_graph_2uni_3[16] = { + /* 0x90 */ + 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, + 0xfffd, 0xfffd, 0xfffd, 0x000a, 0xfffd, 0xfffd, 0xfffd, 0xfffd, +}; + +static int +atari8_graph_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +{ + unsigned char c = *s; + if (c < 0x20) { + *pwc = (ucs4_t) atari8_graph_2uni_1[c]; + return 1; + } + else if (c < 0x60) { + *pwc = (ucs4_t) c; + return 1; + } + else if (c < 0x80) { + *pwc = (ucs4_t) atari8_graph_2uni_2[c-0x60]; + return 1; + } + else if (c < 0x90) { + } + else if (c < 0xa0) { + unsigned short wc = atari8_graph_2uni_3[c-0x90]; + if (wc != 0xfffd) { + *pwc = (ucs4_t) wc; + return 1; + } + } + else { + } + return RET_ILSEQ; +} + +static const unsigned char atari8_graph_page00[32] = { + 0x00, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, /* 0x60-0x67 */ + 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, /* 0x68-0x6f */ + 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, /* 0x70-0x77 */ + 0x78, 0x79, 0x7a, 0x00, 0x7c, 0x00, 0x00, 0x00, /* 0x78-0x7f */ +}; +static const unsigned char atari8_graph_page21[40] = { + 0x1e, 0x1c, 0x1f, 0x1d, 0x00, 0x00, 0x00, 0x00, /* 0x90-0x97 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x98-0x9f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa0-0xa7 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa8-0xaf */ + 0x7d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xb0-0xb7 */ +}; +static const unsigned char atari8_graph_page25[232] = { + 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x00-0x07 */ + 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, /* 0x08-0x0f */ + 0x05, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, /* 0x10-0x17 */ + 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, /* 0x18-0x1f */ + 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, /* 0x20-0x27 */ + 0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, /* 0x28-0x2f */ + 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, /* 0x30-0x37 */ + 0x00, 0x00, 0x00, 0x00, 0x13, 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 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x60-0x67 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x68-0x6f */ + 0x00, 0x06, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x70-0x77 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x78-0x7f */ + 0x00, 0x0e, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, /* 0x80-0x87 */ + 0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x16, /* 0x88-0x8f */ + 0x00, 0x00, 0x00, 0x00, 0x0d, 0x02, 0x0f, 0x09, /* 0x90-0x97 */ + 0x0c, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, /* 0x98-0x9f */ + 0x00, 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, 0x7f, 0x00, /* 0xb0-0xb7 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xb8-0xbf */ + 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xc0-0xc7 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, /* 0xc8-0xcf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xd0-0xd7 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xd8-0xdf */ + 0x00, 0x00, 0x08, 0x0a, 0x00, 0x00, 0x00, 0x00, /* 0xe0-0xe7 */ +}; +static const unsigned char atari8_graph_page26[8] = { + 0x7b, 0x00, 0x00, 0x10, 0x00, 0x00, 0x60, 0x00, /* 0x60-0x67 */ +}; + +static int +atari8_graph_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +{ + unsigned char c = 0; + if (wc == 0x000a) + c = 0x9b; + else if (wc >= 0x0020 && wc < 0x0060) + c = wc; + else if (wc >= 0x0060 && wc < 0x0080) + c = atari8_graph_page00[wc-0x0060]; + else if (wc >= 0x2190 && wc < 0x21b8) + c = atari8_graph_page21[wc-0x2190]; + else if (wc == 0x241b) + c = 0x1b; + else if (wc >= 0x2500 && wc < 0x25e8) + c = atari8_graph_page25[wc-0x2500]; + else if (wc >= 0x2660 && wc < 0x2668) + c = atari8_graph_page26[wc-0x2660]; + if (c != 0) { + *r = c; + return 1; + } + return RET_ILUNI; +} diff -Naur libiconv-1.14-old/lib/atari8_int.h libiconv-1.14/lib/atari8_int.h --- libiconv-1.14-old/lib/atari8_int.h 1970-01-01 00:00:00.000000000 +0000 +++ libiconv-1.14/lib/atari8_int.h 2011-09-22 00:16:01.000000000 +0000 @@ -0,0 +1,133 @@ +/* + * Copyright (C) 1999-2002 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV Library is free software; you can redistribute it + * and/or modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV Library is distributed in the hope that it will be + * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with the GNU LIBICONV Library; see the file COPYING.LIB. + * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, + * Fifth Floor, Boston, MA 02110-1301, USA. + */ + +/* + * Atari 8-bit International ATASCII2 + */ + +static const unsigned short atari8_int_2uni_1[32] = { + /* 0x00 */ + 0x00e1, 0x00f9, 0x00d1, 0x00c9, 0x00e7, 0x00f4, 0x00f2, 0x00ec, + 0x00a3, 0x00ef, 0x00fc, 0x00e4, 0x00d6, 0x00fa, 0x00f3, 0x00f6, + /* 0x10 */ + 0x00dc, 0x00e2, 0x00fb, 0x00ee, 0x00e9, 0x00e8, 0x00f1, 0x00ea, + 0x00e5, 0x00e0, 0x00c5, 0x241b, 0x2191, 0x2193, 0x2190, 0x2192, +}; +static const unsigned short atari8_int_2uni_2[32] = { + /* 0x60 */ + 0x00a1, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + /* 0x70 */ + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x00c4, 0x007c, 0x21b0, 0x25c0, 0x25b6, +}; +static const unsigned short atari8_int_2uni_3[16] = { + /* 0x90 */ + 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, + 0xfffd, 0xfffd, 0xfffd, 0x000a, 0xfffd, 0xfffd, 0xfffd, 0xfffd, +}; + +static int +atari8_int_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +{ + unsigned char c = *s; + if (c < 0x20) { + *pwc = (ucs4_t) atari8_int_2uni_1[c]; + return 1; + } + else if (c < 0x60) { + *pwc = (ucs4_t) c; + return 1; + } + else if (c < 0x80) { + *pwc = (ucs4_t) atari8_int_2uni_2[c-0x60]; + return 1; + } + else if (c < 0x90) { + } + else if (c < 0xa0) { + unsigned short wc = atari8_int_2uni_3[c-0x90]; + if (wc != 0xfffd) { + *pwc = (ucs4_t) wc; + return 1; + } + } + else { + } + return RET_ILSEQ; +} + +static const unsigned char atari8_int_page00[160] = { + 0x00, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, /* 0x60-0x67 */ + 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, /* 0x68-0x6f */ + 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, /* 0x70-0x77 */ + 0x78, 0x79, 0x7a, 0x00, 0x7c, 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 */ + 0x00, 0x60, 0x00, 0x08, 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, 0x7b, 0x1a, 0x00, 0x00, /* 0xc0-0xc7 */ + 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xc8-0xcf */ + 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, /* 0xd0-0xd7 */ + 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, /* 0xd8-0xdf */ + 0x19, 0x00, 0x11, 0x00, 0x0b, 0x18, 0x00, 0x04, /* 0xe0-0xe7 */ + 0x15, 0x14, 0x17, 0x00, 0x07, 0x00, 0x13, 0x09, /* 0xe8-0xef */ + 0x00, 0x16, 0x06, 0x0e, 0x05, 0x00, 0x0f, 0x00, /* 0xf0-0xf7 */ + 0x00, 0x01, 0x0d, 0x12, 0x0a, 0x00, 0x00, 0x00, /* 0xf8-0xff */ +}; +static const unsigned char atari8_int_page21[40] = { + 0x1e, 0x1c, 0x1f, 0x1d, 0x00, 0x00, 0x00, 0x00, /* 0x90-0x97 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x98-0x9f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa0-0xa7 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa8-0xaf */ + 0x7d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xb0-0xb7 */ +}; +static const unsigned char atari8_int_page25[24] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x00, /* 0xb0-0xb7 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xb8-0xbf */ + 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xc0-0xc7 */ +}; + +static int +atari8_int_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +{ + unsigned char c = 0; + if (wc == 0x000a) + c = 0x9b; + else if (wc >= 0x0020 && wc < 0x0060) + c = wc; + else if (wc >= 0x0060 && wc < 0x0100) + c = atari8_int_page00[wc-0x0060]; + else if (wc >= 0x2190 && wc < 0x21b8) + c = atari8_int_page21[wc-0x2190]; + else if (wc == 0x241b) + c = 0x1b; + else if (wc >= 0x25b0 && wc < 0x25c8) + c = atari8_int_page25[wc-0x25b0]; + if (c != 0) { + *r = c; + return 1; + } + return RET_ILUNI; +} diff -Naur libiconv-1.14-old/lib/atari8_karen.h libiconv-1.14/lib/atari8_karen.h --- libiconv-1.14-old/lib/atari8_karen.h 1970-01-01 00:00:00.000000000 +0000 +++ libiconv-1.14/lib/atari8_karen.h 2011-09-22 00:16:09.000000000 +0000 @@ -0,0 +1,154 @@ +/* + * Copyright (C) 1999-2002 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV Library is free software; you can redistribute it + * and/or modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV Library is distributed in the hope that it will be + * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with the GNU LIBICONV Library; see the file COPYING.LIB. + * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, + * Fifth Floor, Boston, MA 02110-1301, USA. + */ + +/* + * Atari 8-bit Polish P.Z.Karen ATASCII + */ + +static const unsigned short atari8_karen_2uni_1[32] = { + /* 0x00 */ + 0x0179, 0x0105, 0x017a, 0x0107, 0x015a, 0x0119, 0x00f6, 0x00d6, + 0x00a3, 0x00fc, 0x00df, 0x0141, 0x0142, 0x0143, 0x0144, 0x00f3, + /* 0x10 */ + 0x00d3, 0x0474, 0x0118, 0x015b, 0x00e4, 0x00dc, 0x0106, 0x0104, + 0x017b, 0x00c4, 0x017c, 0x241b, 0x2191, 0x2193, 0x2190, 0x2192, +}; +static const unsigned short atari8_karen_2uni_2[32] = { + /* 0x60 */ + 0x00a0, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + /* 0x70 */ + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0xfeff, 0x007c, 0x21b0, 0x25c0, 0x25b6, +}; +static const unsigned short atari8_karen_2uni_3[16] = { + /* 0x90 */ + 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, + 0xfffd, 0xfffd, 0xfffd, 0x000a, 0xfffd, 0xfffd, 0xfffd, 0xfffd, +}; + +static int +atari8_karen_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +{ + unsigned char c = *s; + if (c < 0x20) { + *pwc = (ucs4_t) atari8_karen_2uni_1[c]; + return 1; + } + else if (c < 0x60) { + *pwc = (ucs4_t) c; + return 1; + } + else if (c < 0x80) { + *pwc = (ucs4_t) atari8_karen_2uni_2[c-0x60]; + return 1; + } + else if (c < 0x90) { + } + else if (c < 0xa0) { + unsigned short wc = atari8_karen_2uni_3[c-0x90]; + if (wc != 0xfffd) { + *pwc = (ucs4_t) wc; + return 1; + } + } + else { + } + return RET_ILSEQ; +} + +static const unsigned char atari8_karen_page00[288] = { + 0x00, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, /* 0x60-0x67 */ + 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, /* 0x68-0x6f */ + 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, /* 0x70-0x77 */ + 0x78, 0x79, 0x7a, 0x00, 0x7c, 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 */ + 0x60, 0x00, 0x00, 0x08, 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, 0x19, 0x00, 0x00, 0x00, /* 0xc0-0xc7 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xc8-0xcf */ + 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x07, 0x00, /* 0xd0-0xd7 */ + 0x00, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x0a, /* 0xd8-0xdf */ + 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, /* 0xe0-0xe7 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xe8-0xef */ + 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x06, 0x00, /* 0xf0-0xf7 */ + 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, /* 0xf8-0xff */ + /* 0x0100 */ + 0x00, 0x00, 0x00, 0x00, 0x17, 0x01, 0x16, 0x03, /* 0x00-0x07 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x08-0x0f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10-0x17 */ + 0x12, 0x05, 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, 0x0b, 0x0c, 0x0d, 0x0e, 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, 0x04, 0x13, 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, 0x02, 0x18, 0x1a, 0x00, 0x00, 0x00, /* 0x78-0x7f */ +}; +static const unsigned char atari8_karen_page21[40] = { + 0x1e, 0x1c, 0x1f, 0x1d, 0x00, 0x00, 0x00, 0x00, /* 0x90-0x97 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x98-0x9f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa0-0xa7 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa8-0xaf */ + 0x7d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xb0-0xb7 */ +}; +static const unsigned char atari8_karen_page25[24] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x00, /* 0xb0-0xb7 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xb8-0xbf */ + 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xc0-0xc7 */ +}; + +static int +atari8_karen_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +{ + unsigned char c = 0; + if (wc == 0x000a) + c = 0x9b; + else if (wc >= 0x0020 && wc < 0x0060) + c = wc; + else if (wc >= 0x0060 && wc < 0x0180) + c = atari8_karen_page00[wc-0x0060]; + else if (wc == 0x0474) + c = 0x11; + else if (wc >= 0x2190 && wc < 0x21b8) + c = atari8_karen_page21[wc-0x2190]; + else if (wc == 0x241b) + c = 0x1b; + else if (wc >= 0x25b0 && wc < 0x25c8) + c = atari8_karen_page25[wc-0x25b0]; + else if (wc == 0xfeff) + c = 0x7b; + if (c != 0) { + *r = c; + return 1; + } + return RET_ILUNI; +} diff -Naur libiconv-1.14-old/lib/atari8_panther.h libiconv-1.14/lib/atari8_panther.h --- libiconv-1.14-old/lib/atari8_panther.h 1970-01-01 00:00:00.000000000 +0000 +++ libiconv-1.14/lib/atari8_panther.h 2011-09-22 00:16:17.000000000 +0000 @@ -0,0 +1,160 @@ +/* + * Copyright (C) 1999-2002 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV Library is free software; you can redistribute it + * and/or modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV Library is distributed in the hope that it will be + * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with the GNU LIBICONV Library; see the file COPYING.LIB. + * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, + * Fifth Floor, Boston, MA 02110-1301, USA. + */ + +/* + * Atari 8-bit Polish Panther ATASCII + */ + +static const unsigned short atari8_panther_2uni_1[32] = { + /* 0x00 */ + 0x2665, 0x0105, 0x2595, 0x0107, 0x015a, 0x0119, 0x2571, 0x2572, + 0x25e2, 0x2597, 0x25e3, 0x017a, 0x0142, 0x0143, 0x0144, 0x00f3, + /* 0x10 */ + 0x00d3, 0x0104, 0x0118, 0x015b, 0x25cf, 0x2584, 0x0106, 0x252c, + 0x017b, 0x258c, 0x017c, 0x241b, 0x2191, 0x2193, 0x2190, 0x2192, +}; +static const unsigned short atari8_panther_2uni_2[32] = { + /* 0x60 */ + 0x0179, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + /* 0x70 */ + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x0141, 0x007c, 0x21b0, 0x25c0, 0x25b6, +}; +static const unsigned short atari8_panther_2uni_3[16] = { + /* 0x90 */ + 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, + 0xfffd, 0xfffd, 0xfffd, 0x000a, 0xfffd, 0xfffd, 0xfffd, 0xfffd, +}; + +static int +atari8_panther_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +{ + unsigned char c = *s; + if (c < 0x20) { + *pwc = (ucs4_t) atari8_panther_2uni_1[c]; + return 1; + } + else if (c < 0x60) { + *pwc = (ucs4_t) c; + return 1; + } + else if (c < 0x80) { + *pwc = (ucs4_t) atari8_panther_2uni_2[c-0x60]; + return 1; + } + else if (c < 0x90) { + } + else if (c < 0xa0) { + unsigned short wc = atari8_panther_2uni_3[c-0x90]; + if (wc != 0xfffd) { + *pwc = (ucs4_t) wc; + return 1; + } + } + else { + } + return RET_ILSEQ; +} + +static const unsigned char atari8_panther_page00[32] = { + 0x00, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, /* 0x60-0x67 */ + 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, /* 0x68-0x6f */ + 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, /* 0x70-0x77 */ + 0x78, 0x79, 0x7a, 0x00, 0x7c, 0x00, 0x00, 0x00, /* 0x78-0x7f */ +}; +static const unsigned char atari8_panther_page00_1[40] = { + 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, /* 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, 0x0f, 0x00, 0x00, 0x00, 0x00, /* 0xf0-0xf7 */ +}; +static const unsigned char atari8_panther_page01[128] = { + 0x00, 0x00, 0x00, 0x00, 0x11, 0x01, 0x16, 0x03, /* 0x00-0x07 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x08-0x0f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10-0x17 */ + 0x12, 0x05, 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, 0x7b, 0x0c, 0x0d, 0x0e, 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, 0x04, 0x13, 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, 0x60, 0x0b, 0x18, 0x1a, 0x00, 0x00, 0x00, /* 0x78-0x7f */ +}; +static const unsigned char atari8_panther_page21[40] = { + 0x1e, 0x1c, 0x1f, 0x1d, 0x00, 0x00, 0x00, 0x00, /* 0x90-0x97 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x98-0x9f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa0-0xa7 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa8-0xaf */ + 0x7d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xb0-0xb7 */ +}; +static const unsigned char atari8_panther_page25[120] = { + 0x00, 0x06, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x70-0x77 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x78-0x7f */ + 0x00, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, /* 0x80-0x87 */ + 0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, /* 0x88-0x8f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x09, /* 0x90-0x97 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x98-0x9f */ + 0x00, 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, 0x7f, 0x00, /* 0xb0-0xb7 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xb8-0xbf */ + 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xc0-0xc7 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, /* 0xc8-0xcf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xd0-0xd7 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xd8-0xdf */ + 0x00, 0x00, 0x08, 0x0a, 0x00, 0x00, 0x00, 0x00, /* 0xe0-0xe7 */ +}; + +static int +atari8_panther_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +{ + unsigned char c = 0; + if (wc == 0x000a) + c = 0x9b; + else if (wc >= 0x0020 && wc < 0x0060) + c = wc; + else if (wc >= 0x0060 && wc < 0x0080) + c = atari8_panther_page00[wc-0x0060]; + else if (wc >= 0x00d0 && wc < 0x00f8) + c = atari8_panther_page00_1[wc-0x00d0]; + else if (wc >= 0x0100 && wc < 0x0180) + c = atari8_panther_page01[wc-0x0100]; + else if (wc >= 0x2190 && wc < 0x21b8) + c = atari8_panther_page21[wc-0x2190]; + else if (wc == 0x241b) + c = 0x1b; + else if (wc == 0x252c) + c = 0x17; + else if (wc >= 0x2570 && wc < 0x25e8) + c = atari8_panther_page25[wc-0x2570]; + if (c != 0) { + *r = c; + return 1; + } + return RET_ILUNI; +} diff -Naur libiconv-1.14-old/lib/atari8_pe.h libiconv-1.14/lib/atari8_pe.h --- libiconv-1.14-old/lib/atari8_pe.h 1970-01-01 00:00:00.000000000 +0000 +++ libiconv-1.14/lib/atari8_pe.h 2011-09-22 00:16:24.000000000 +0000 @@ -0,0 +1,166 @@ +/* + * Copyright (C) 1999-2002 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV Library is free software; you can redistribute it + * and/or modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV Library is distributed in the hope that it will be + * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with the GNU LIBICONV Library; see the file COPYING.LIB. + * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, + * Fifth Floor, Boston, MA 02110-1301, USA. + */ + +/* + * Atari 8-bit Polish Polski Edytor ATASCII + */ + +static const unsigned short atari8_pe_2uni_1[32] = { + /* 0x00 */ + 0x2665, 0x0105, 0x2595, 0x0107, 0x2524, 0x0119, 0x2571, 0x2572, + 0x25e2, 0x2597, 0x25e3, 0x259d, 0x0142, 0x2594, 0x0144, 0x00f3, + /* 0x10 */ + 0x2663, 0x250c, 0x2500, 0x015b, 0x25cf, 0x2584, 0x258f, 0x252c, + 0x017a, 0x258c, 0x017c, 0x241b, 0x2191, 0x2193, 0x2190, 0x2192, +}; +static const unsigned short atari8_pe_2uni_2[32] = { + /* 0x60 */ + 0x2666, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + /* 0x70 */ + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x2660, 0x007c, 0x21b0, 0x25c0, 0x25b6, +}; +static const unsigned short atari8_pe_2uni_3[16] = { + /* 0x90 */ + 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, + 0xfffd, 0xfffd, 0xfffd, 0x000a, 0xfffd, 0xfffd, 0xfffd, 0xfffd, +}; + +static int +atari8_pe_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +{ + unsigned char c = *s; + if (c < 0x20) { + *pwc = (ucs4_t) atari8_pe_2uni_1[c]; + return 1; + } + else if (c < 0x60) { + *pwc = (ucs4_t) c; + return 1; + } + else if (c < 0x80) { + *pwc = (ucs4_t) atari8_pe_2uni_2[c-0x60]; + return 1; + } + else if (c < 0x90) { + } + else if (c < 0xa0) { + unsigned short wc = atari8_pe_2uni_3[c-0x90]; + if (wc != 0xfffd) { + *pwc = (ucs4_t) wc; + return 1; + } + } + else { + } + return RET_ILSEQ; +} + +static const unsigned char atari8_pe_page00[32] = { + 0x00, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, /* 0x60-0x67 */ + 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, /* 0x68-0x6f */ + 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, /* 0x70-0x77 */ + 0x78, 0x79, 0x7a, 0x00, 0x7c, 0x00, 0x00, 0x00, /* 0x78-0x7f */ +}; +static const unsigned char atari8_pe_page01[128] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x03, /* 0x00-0x07 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x08-0x0f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10-0x17 */ + 0x00, 0x05, 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, 0x0c, 0x00, 0x0e, 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, 0x13, 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, 0x18, 0x00, 0x1a, 0x00, 0x00, 0x00, /* 0x78-0x7f */ +}; +static const unsigned char atari8_pe_page21[40] = { + 0x1e, 0x1c, 0x1f, 0x1d, 0x00, 0x00, 0x00, 0x00, /* 0x90-0x97 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x98-0x9f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa0-0xa7 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa8-0xaf */ + 0x7d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xb0-0xb7 */ +}; +static const unsigned char atari8_pe_page25[48] = { + 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x00-0x07 */ + 0x00, 0x00, 0x00, 0x00, 0x11, 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, 0x04, 0x00, 0x00, 0x00, /* 0x20-0x27 */ + 0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, /* 0x28-0x2f */ +}; +static const unsigned char atari8_pe_page25_1[120] = { + 0x00, 0x06, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x70-0x77 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x78-0x7f */ + 0x00, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, /* 0x80-0x87 */ + 0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x16, /* 0x88-0x8f */ + 0x00, 0x00, 0x00, 0x00, 0x0d, 0x02, 0x00, 0x09, /* 0x90-0x97 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, /* 0x98-0x9f */ + 0x00, 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, 0x7f, 0x00, /* 0xb0-0xb7 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xb8-0xbf */ + 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xc0-0xc7 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, /* 0xc8-0xcf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xd0-0xd7 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xd8-0xdf */ + 0x00, 0x00, 0x08, 0x0a, 0x00, 0x00, 0x00, 0x00, /* 0xe0-0xe7 */ +}; +static const unsigned char atari8_pe_page26[8] = { + 0x7b, 0x00, 0x00, 0x10, 0x00, 0x00, 0x60, 0x00, /* 0x60-0x67 */ +}; + +static int +atari8_pe_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +{ + unsigned char c = 0; + if (wc == 0x000a) + c = 0x9b; + else if (wc >= 0x0020 && wc < 0x0060) + c = wc; + else if (wc >= 0x0060 && wc < 0x0080) + c = atari8_pe_page00[wc-0x0060]; + else if (wc == 0x00f3) + c = 0x0f; + else if (wc >= 0x0100 && wc < 0x0180) + c = atari8_pe_page01[wc-0x0100]; + else if (wc >= 0x2190 && wc < 0x21b8) + c = atari8_pe_page21[wc-0x2190]; + else if (wc == 0x241b) + c = 0x1b; + else if (wc >= 0x2500 && wc < 0x2530) + c = atari8_pe_page25[wc-0x2500]; + else if (wc >= 0x2570 && wc < 0x25e8) + c = atari8_pe_page25_1[wc-0x2570]; + else if (wc >= 0x2660 && wc < 0x2668) + c = atari8_pe_page26[wc-0x2660]; + if (c != 0) { + *r = c; + return 1; + } + return RET_ILUNI; +} diff -Naur libiconv-1.14-old/lib/atari8_xlent.h libiconv-1.14/lib/atari8_xlent.h --- libiconv-1.14-old/lib/atari8_xlent.h 1970-01-01 00:00:00.000000000 +0000 +++ libiconv-1.14/lib/atari8_xlent.h 2011-09-22 00:16:33.000000000 +0000 @@ -0,0 +1,162 @@ +/* + * Copyright (C) 1999-2002 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV Library is free software; you can redistribute it + * and/or modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV Library is distributed in the hope that it will be + * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with the GNU LIBICONV Library; see the file COPYING.LIB. + * If not, write to the Free Software Foundation, Inc., 51 Franklin Street, + * Fifth Floor, Boston, MA 02110-1301, USA. + */ + +/* + * Atari 8-bit Polish First XLEnt Word Processor ATASCII + */ + +static const unsigned short atari8_xlent_2uni_1[32] = { + /* 0x00 */ + 0x0179, 0x0105, 0x017a, 0x0107, 0x015a, 0x0119, 0x2571, 0x2572, + 0x25e2, 0x2597, 0x25e3, 0x259d, 0x0142, 0x0143, 0x0144, 0x00f3, + /* 0x10 */ + 0x00d3, 0x250c, 0x0118, 0x015b, 0x25cf, 0x2584, 0x0106, 0x0104, + 0x017b, 0x258c, 0x017c, 0x241b, 0x2191, 0x2193, 0x2190, 0x2192, +}; +static const unsigned short atari8_xlent_2uni_2[32] = { + /* 0x60 */ + 0x2666, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + /* 0x70 */ + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x0141, 0x007c, 0x21b0, 0x25c0, 0x25b6, +}; +static const unsigned short atari8_xlent_2uni_3[16] = { + /* 0x90 */ + 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, + 0xfffd, 0xfffd, 0xfffd, 0x000a, 0xfffd, 0xfffd, 0xfffd, 0xfffd, +}; + +static int +atari8_xlent_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n) +{ + unsigned char c = *s; + if (c < 0x20) { + *pwc = (ucs4_t) atari8_xlent_2uni_1[c]; + return 1; + } + else if (c < 0x60) { + *pwc = (ucs4_t) c; + return 1; + } + else if (c < 0x80) { + *pwc = (ucs4_t) atari8_xlent_2uni_2[c-0x60]; + return 1; + } + else if (c < 0x90) { + } + else if (c < 0xa0) { + unsigned short wc = atari8_xlent_2uni_3[c-0x90]; + if (wc != 0xfffd) { + *pwc = (ucs4_t) wc; + return 1; + } + } + else { + } + return RET_ILSEQ; +} + +static const unsigned char atari8_xlent_page00[32] = { + 0x00, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, /* 0x60-0x67 */ + 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, /* 0x68-0x6f */ + 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, /* 0x70-0x77 */ + 0x78, 0x79, 0x7a, 0x00, 0x7c, 0x00, 0x00, 0x00, /* 0x78-0x7f */ +}; +static const unsigned char atari8_xlent_page00_1[40] = { + 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, /* 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, 0x0f, 0x00, 0x00, 0x00, 0x00, /* 0xf0-0xf7 */ +}; +static const unsigned char atari8_xlent_page01[128] = { + 0x00, 0x00, 0x00, 0x00, 0x17, 0x01, 0x16, 0x03, /* 0x00-0x07 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x08-0x0f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10-0x17 */ + 0x12, 0x05, 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, 0x7b, 0x0c, 0x0d, 0x0e, 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, 0x04, 0x13, 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, 0x02, 0x18, 0x1a, 0x00, 0x00, 0x00, /* 0x78-0x7f */ +}; +static const unsigned char atari8_xlent_page21[40] = { + 0x1e, 0x1c, 0x1f, 0x1d, 0x00, 0x00, 0x00, 0x00, /* 0x90-0x97 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x98-0x9f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa0-0xa7 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa8-0xaf */ + 0x7d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xb0-0xb7 */ +}; +static const unsigned char atari8_xlent_page25[120] = { + 0x00, 0x06, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x70-0x77 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x78-0x7f */ + 0x00, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, /* 0x80-0x87 */ + 0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, /* 0x88-0x8f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, /* 0x90-0x97 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, /* 0x98-0x9f */ + 0x00, 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, 0x7f, 0x00, /* 0xb0-0xb7 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xb8-0xbf */ + 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xc0-0xc7 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, /* 0xc8-0xcf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xd0-0xd7 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xd8-0xdf */ + 0x00, 0x00, 0x08, 0x0a, 0x00, 0x00, 0x00, 0x00, /* 0xe0-0xe7 */ +}; + +static int +atari8_xlent_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) +{ + unsigned char c = 0; + if (wc == 0x000a) + c = 0x9b; + else if (wc >= 0x0020 && wc < 0x0060) + c = wc; + else if (wc >= 0x0060 && wc < 0x0080) + c = atari8_xlent_page00[wc-0x0060]; + else if (wc >= 0x00d0 && wc < 0x00f8) + c = atari8_xlent_page00_1[wc-0x00d0]; + else if (wc >= 0x0100 && wc < 0x0180) + c = atari8_xlent_page01[wc-0x0100]; + else if (wc >= 0x2190 && wc < 0x21b8) + c = atari8_xlent_page21[wc-0x2190]; + else if (wc == 0x241b) + c = 0x1b; + else if (wc == 0x250c) + c = 0x11; + else if (wc >= 0x2570 && wc < 0x25e8) + c = atari8_xlent_page25[wc-0x2570]; + else if (wc == 0x2666) + c = 0x60; + if (c != 0) { + *r = c; + return 1; + } + return RET_ILUNI; +} diff -Naur libiconv-1.14-old/lib/converters.h libiconv-1.14/lib/converters.h --- libiconv-1.14-old/lib/converters.h 2010-11-24 02:24:03.000000000 +0000 +++ libiconv-1.14/lib/converters.h 2011-09-21 22:10:52.000000000 +0000 @@ -294,5 +294,12 @@ #include "tds565.h" #include "atarist.h" #include "riscos1.h" +#include "atari8_graph.h" +#include "atari8_int.h" +#include "atari8_karen.h" +#include "atari8_awp.h" +#include "atari8_xlent.h" +#include "atari8_panther.h" +#include "atari8_pe.h" #endif diff -Naur libiconv-1.14-old/lib/encodings_extra.def libiconv-1.14/lib/encodings_extra.def --- libiconv-1.14-old/lib/encodings_extra.def 2009-06-21 11:17:33.000000000 +0000 +++ libiconv-1.14/lib/encodings_extra.def 2011-09-22 00:13:33.000000000 +0000 @@ -55,3 +55,42 @@ ), riscos1, { riscos1_mbtowc, NULL }, { riscos1_wctomb, NULL }) + +DEFENCODING(( "ATARI8", + "ATARI8-GRAPH", "ATARI8-ATASCII", "ATASCII", + ), + atari8_graph, + { atari8_graph_mbtowc, NULL }, { atari8_graph_wctomb, NULL }) + +DEFENCODING(( "ATARI8-INT", + "ATASCII2", + ), + atari8_int, + { atari8_int_mbtowc, NULL }, { atari8_int_wctomb, NULL }) + +DEFENCODING(( "ATARI8-KAREN", + "ATARI8-PL", + ), + atari8_karen, + { atari8_karen_mbtowc, NULL }, { atari8_karen_wctomb, NULL }) + +DEFENCODING(( "ATARI8-AWP", + ), + atari8_awp, + { atari8_awp_mbtowc, NULL }, { atari8_awp_wctomb, NULL }) + +DEFENCODING(( "ATARI8-XLENT", + ), + atari8_xlent, + { atari8_xlent_mbtowc, NULL }, { atari8_xlent_wctomb, NULL }) + +DEFENCODING(( "ATARI8-PANTHER", + ), + atari8_panther, + { atari8_panther_mbtowc, NULL }, { atari8_panther_wctomb, NULL }) + +DEFENCODING(( "ATARI8-PE", + ), + atari8_pe, + { atari8_pe_mbtowc, NULL }, { atari8_pe_wctomb, NULL }) + diff -Naur libiconv-1.14-old/lib/flags.h libiconv-1.14/lib/flags.h --- libiconv-1.14-old/lib/flags.h 2011-08-07 17:49:13.000000000 +0000 +++ libiconv-1.14/lib/flags.h 2011-09-21 23:07:56.000000000 +0000 @@ -155,3 +155,10 @@ #define ei_tds565_oflags (0) #define ei_atarist_oflags (HAVE_ACCENTS) #define ei_riscos1_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS) +#define ei_atari8_graph_oflags (HAVE_ACCENTS) +#define ei_atari8_int_oflags (HAVE_ACCENTS) +#define ei_atari8_karen_oflags (HAVE_ACCENTS) +#define ei_atari8_awp_oflags (HAVE_ACCENTS) +#define ei_atari8_xlent_oflags (HAVE_ACCENTS) +#define ei_atari8_panther_oflags (HAVE_ACCENTS) +#define ei_atari8_pe_oflags (HAVE_ACCENTS) diff -Naur libiconv-1.14-old/man/iconv_open.3 libiconv-1.14/man/iconv_open.3 --- libiconv-1.14-old/man/iconv_open.3 2010-11-24 02:24:03.000000000 +0000 +++ libiconv-1.14/man/iconv_open.3 2011-09-22 00:12:01.000000000 +0000 @@ -166,7 +166,8 @@ Platform specifics .nf .fi -ATARIST, RISCOS\-LATIN1 +ATARIST, RISCOS\-LATIN1, +ATARI8\-{GRAPH,INT,KAREN,AWP,XLENT,PANTHER,PE,PL}, ATASCII, ATASCII2 .PP The empty encoding name "" is equivalent to "char": it denotes the locale dependent character encoding. diff -Naur libiconv-1.14-old/man/iconv_open.3.html libiconv-1.14/man/iconv_open.3.html --- libiconv-1.14-old/man/iconv_open.3.html 2011-08-07 17:49:14.000000000 +0000 +++ libiconv-1.14/man/iconv_open.3.html 2011-09-22 00:12:15.000000000 +0000 @@ -231,7 +231,8 @@

Platform specifics

ATARIST, -RISCOS−LATIN1

+RISCOS−LATIN1, +ATARI8−{GRAPH,INT,KAREN,AWP,XLENT,PANTHER,PE,PL}, ATASCII, ATASCII2

The empty encoding name "" is equivalent to diff -Naur libiconv-1.14-old/tests/ATARI8-AWP.TXT libiconv-1.14/tests/ATARI8-AWP.TXT --- libiconv-1.14-old/tests/ATARI8-AWP.TXT 1970-01-01 00:00:00.000000000 +0000 +++ libiconv-1.14/tests/ATARI8-AWP.TXT 2011-09-22 00:19:44.000000000 +0000 @@ -0,0 +1,129 @@ +0x00 0x0179 +0x01 0x0105 +0x02 0x017A +0x03 0x0107 +0x04 0x015A +0x05 0x0119 +0x06 0x2571 +0x07 0x2572 +0x08 0x25E2 +0x09 0x2597 +0x0A 0x25E3 +0x0B 0x0141 +0x0C 0x0142 +0x0D 0x0143 +0x0E 0x0144 +0x0F 0x00F3 +0x10 0x00D3 +0x11 0x250C +0x12 0x0118 +0x13 0x015B +0x14 0x25CF +0x15 0x2584 +0x16 0x0106 +0x17 0x0104 +0x18 0x017B +0x19 0x258C +0x1A 0x017C +0x1B 0x241B +0x1C 0x2191 +0x1D 0x2193 +0x1E 0x2190 +0x1F 0x2192 +0x20 0x0020 +0x21 0x0021 +0x22 0x0022 +0x23 0x0023 +0x24 0x0024 +0x25 0x0025 +0x26 0x0026 +0x27 0x0027 +0x28 0x0028 +0x29 0x0029 +0x2A 0x002A +0x2B 0x002B +0x2C 0x002C +0x2D 0x002D +0x2E 0x002E +0x2F 0x002F +0x30 0x0030 +0x31 0x0031 +0x32 0x0032 +0x33 0x0033 +0x34 0x0034 +0x35 0x0035 +0x36 0x0036 +0x37 0x0037 +0x38 0x0038 +0x39 0x0039 +0x3A 0x003A +0x3B 0x003B +0x3C 0x003C +0x3D 0x003D +0x3E 0x003E +0x3F 0x003F +0x40 0x0040 +0x41 0x0041 +0x42 0x0042 +0x43 0x0043 +0x44 0x0044 +0x45 0x0045 +0x46 0x0046 +0x47 0x0047 +0x48 0x0048 +0x49 0x0049 +0x4A 0x004A +0x4B 0x004B +0x4C 0x004C +0x4D 0x004D +0x4E 0x004E +0x4F 0x004F +0x50 0x0050 +0x51 0x0051 +0x52 0x0052 +0x53 0x0053 +0x54 0x0054 +0x55 0x0055 +0x56 0x0056 +0x57 0x0057 +0x58 0x0058 +0x59 0x0059 +0x5A 0x005A +0x5B 0x005B +0x5C 0x005C +0x5D 0x005D +0x5E 0x005E +0x5F 0x005F +0x60 0x2666 +0x61 0x0061 +0x62 0x0062 +0x63 0x0063 +0x64 0x0064 +0x65 0x0065 +0x66 0x0066 +0x67 0x0067 +0x68 0x0068 +0x69 0x0069 +0x6A 0x006A +0x6B 0x006B +0x6C 0x006C +0x6D 0x006D +0x6E 0x006E +0x6F 0x006F +0x70 0x0070 +0x71 0x0071 +0x72 0x0072 +0x73 0x0073 +0x74 0x0074 +0x75 0x0075 +0x76 0x0076 +0x77 0x0077 +0x78 0x0078 +0x79 0x0079 +0x7A 0x007A +0x7B 0x2660 +0x7C 0x007C +0x7D 0x21B0 +0x7E 0x25C0 +0x7F 0x25B6 +0x9B 0x000A diff -Naur libiconv-1.14-old/tests/ATARI8-GRAPH.TXT libiconv-1.14/tests/ATARI8-GRAPH.TXT --- libiconv-1.14-old/tests/ATARI8-GRAPH.TXT 1970-01-01 00:00:00.000000000 +0000 +++ libiconv-1.14/tests/ATARI8-GRAPH.TXT 2011-09-22 00:19:57.000000000 +0000 @@ -0,0 +1,129 @@ +0x00 0x2665 +0x01 0x251C +0x02 0x2595 +0x03 0x2518 +0x04 0x2524 +0x05 0x2510 +0x06 0x2571 +0x07 0x2572 +0x08 0x25E2 +0x09 0x2597 +0x0A 0x25E3 +0x0B 0x259D +0x0C 0x2598 +0x0D 0x2594 +0x0E 0x2581 +0x0F 0x2596 +0x10 0x2663 +0x11 0x250C +0x12 0x2500 +0x13 0x253C +0x14 0x25CF +0x15 0x2584 +0x16 0x258F +0x17 0x252C +0x18 0x2534 +0x19 0x258C +0x1A 0x2514 +0x1B 0x241B +0x1C 0x2191 +0x1D 0x2193 +0x1E 0x2190 +0x1F 0x2192 +0x20 0x0020 +0x21 0x0021 +0x22 0x0022 +0x23 0x0023 +0x24 0x0024 +0x25 0x0025 +0x26 0x0026 +0x27 0x0027 +0x28 0x0028 +0x29 0x0029 +0x2A 0x002A +0x2B 0x002B +0x2C 0x002C +0x2D 0x002D +0x2E 0x002E +0x2F 0x002F +0x30 0x0030 +0x31 0x0031 +0x32 0x0032 +0x33 0x0033 +0x34 0x0034 +0x35 0x0035 +0x36 0x0036 +0x37 0x0037 +0x38 0x0038 +0x39 0x0039 +0x3A 0x003A +0x3B 0x003B +0x3C 0x003C +0x3D 0x003D +0x3E 0x003E +0x3F 0x003F +0x40 0x0040 +0x41 0x0041 +0x42 0x0042 +0x43 0x0043 +0x44 0x0044 +0x45 0x0045 +0x46 0x0046 +0x47 0x0047 +0x48 0x0048 +0x49 0x0049 +0x4A 0x004A +0x4B 0x004B +0x4C 0x004C +0x4D 0x004D +0x4E 0x004E +0x4F 0x004F +0x50 0x0050 +0x51 0x0051 +0x52 0x0052 +0x53 0x0053 +0x54 0x0054 +0x55 0x0055 +0x56 0x0056 +0x57 0x0057 +0x58 0x0058 +0x59 0x0059 +0x5A 0x005A +0x5B 0x005B +0x5C 0x005C +0x5D 0x005D +0x5E 0x005E +0x5F 0x005F +0x60 0x2666 +0x61 0x0061 +0x62 0x0062 +0x63 0x0063 +0x64 0x0064 +0x65 0x0065 +0x66 0x0066 +0x67 0x0067 +0x68 0x0068 +0x69 0x0069 +0x6A 0x006A +0x6B 0x006B +0x6C 0x006C +0x6D 0x006D +0x6E 0x006E +0x6F 0x006F +0x70 0x0070 +0x71 0x0071 +0x72 0x0072 +0x73 0x0073 +0x74 0x0074 +0x75 0x0075 +0x76 0x0076 +0x77 0x0077 +0x78 0x0078 +0x79 0x0079 +0x7A 0x007A +0x7B 0x2660 +0x7C 0x007C +0x7D 0x21B0 +0x7E 0x25C0 +0x7F 0x25B6 +0x9B 0x000A diff -Naur libiconv-1.14-old/tests/ATARI8-INT.TXT libiconv-1.14/tests/ATARI8-INT.TXT --- libiconv-1.14-old/tests/ATARI8-INT.TXT 1970-01-01 00:00:00.000000000 +0000 +++ libiconv-1.14/tests/ATARI8-INT.TXT 2011-09-22 00:20:07.000000000 +0000 @@ -0,0 +1,129 @@ +0x00 0x00E1 +0x01 0x00F9 +0x02 0x00D1 +0x03 0x00C9 +0x04 0x00E7 +0x05 0x00F4 +0x06 0x00F2 +0x07 0x00EC +0x08 0x00A3 +0x09 0x00EF +0x0A 0x00FC +0x0B 0x00E4 +0x0C 0x00D6 +0x0D 0x00FA +0x0E 0x00F3 +0x0F 0x00F6 +0x10 0x00DC +0x11 0x00E2 +0x12 0x00FB +0x13 0x00EE +0x14 0x00E9 +0x15 0x00E8 +0x16 0x00F1 +0x17 0x00EA +0x18 0x00E5 +0x19 0x00E0 +0x1A 0x00C5 +0x1B 0x241B +0x1C 0x2191 +0x1D 0x2193 +0x1E 0x2190 +0x1F 0x2192 +0x20 0x0020 +0x21 0x0021 +0x22 0x0022 +0x23 0x0023 +0x24 0x0024 +0x25 0x0025 +0x26 0x0026 +0x27 0x0027 +0x28 0x0028 +0x29 0x0029 +0x2A 0x002A +0x2B 0x002B +0x2C 0x002C +0x2D 0x002D +0x2E 0x002E +0x2F 0x002F +0x30 0x0030 +0x31 0x0031 +0x32 0x0032 +0x33 0x0033 +0x34 0x0034 +0x35 0x0035 +0x36 0x0036 +0x37 0x0037 +0x38 0x0038 +0x39 0x0039 +0x3A 0x003A +0x3B 0x003B +0x3C 0x003C +0x3D 0x003D +0x3E 0x003E +0x3F 0x003F +0x40 0x0040 +0x41 0x0041 +0x42 0x0042 +0x43 0x0043 +0x44 0x0044 +0x45 0x0045 +0x46 0x0046 +0x47 0x0047 +0x48 0x0048 +0x49 0x0049 +0x4A 0x004A +0x4B 0x004B +0x4C 0x004C +0x4D 0x004D +0x4E 0x004E +0x4F 0x004F +0x50 0x0050 +0x51 0x0051 +0x52 0x0052 +0x53 0x0053 +0x54 0x0054 +0x55 0x0055 +0x56 0x0056 +0x57 0x0057 +0x58 0x0058 +0x59 0x0059 +0x5A 0x005A +0x5B 0x005B +0x5C 0x005C +0x5D 0x005D +0x5E 0x005E +0x5F 0x005F +0x60 0x00A1 +0x61 0x0061 +0x62 0x0062 +0x63 0x0063 +0x64 0x0064 +0x65 0x0065 +0x66 0x0066 +0x67 0x0067 +0x68 0x0068 +0x69 0x0069 +0x6A 0x006A +0x6B 0x006B +0x6C 0x006C +0x6D 0x006D +0x6E 0x006E +0x6F 0x006F +0x70 0x0070 +0x71 0x0071 +0x72 0x0072 +0x73 0x0073 +0x74 0x0074 +0x75 0x0075 +0x76 0x0076 +0x77 0x0077 +0x78 0x0078 +0x79 0x0079 +0x7A 0x007A +0x7B 0x00C4 +0x7C 0x007C +0x7D 0x21B0 +0x7E 0x25C0 +0x7F 0x25B6 +0x9B 0x000A diff -Naur libiconv-1.14-old/tests/ATARI8-KAREN.TXT libiconv-1.14/tests/ATARI8-KAREN.TXT --- libiconv-1.14-old/tests/ATARI8-KAREN.TXT 1970-01-01 00:00:00.000000000 +0000 +++ libiconv-1.14/tests/ATARI8-KAREN.TXT 2011-09-22 00:20:21.000000000 +0000 @@ -0,0 +1,122 @@ +0x00 0x0179 +0x01 0x0105 +0x02 0x017A +0x03 0x0107 +0x04 0x015A +0x05 0x0119 +0x0A 0x00DF +0x0B 0x0141 +0x0C 0x0142 +0x0D 0x0143 +0x0E 0x0144 +0x0F 0x00F3 +0x10 0x00D3 +0x11 0x0474 +0x12 0x0118 +0x13 0x015B +0x16 0x0106 +0x17 0x0104 +0x18 0x017B +0x1A 0x017C +0x1B 0x241B +0x1C 0x2191 +0x1D 0x2193 +0x1E 0x2190 +0x1F 0x2192 +0x20 0x0020 +0x21 0x0021 +0x22 0x0022 +0x23 0x0023 +0x24 0x0024 +0x25 0x0025 +0x26 0x0026 +0x27 0x0027 +0x28 0x0028 +0x29 0x0029 +0x2A 0x002A +0x2B 0x002B +0x2C 0x002C +0x2D 0x002D +0x2E 0x002E +0x2F 0x002F +0x30 0x0030 +0x31 0x0031 +0x32 0x0032 +0x33 0x0033 +0x34 0x0034 +0x35 0x0035 +0x36 0x0036 +0x37 0x0037 +0x38 0x0038 +0x39 0x0039 +0x3A 0x003A +0x3B 0x003B +0x3C 0x003C +0x3D 0x003D +0x3E 0x003E +0x3F 0x003F +0x40 0x0040 +0x41 0x0041 +0x42 0x0042 +0x43 0x0043 +0x44 0x0044 +0x45 0x0045 +0x46 0x0046 +0x47 0x0047 +0x48 0x0048 +0x49 0x0049 +0x4A 0x004A +0x4B 0x004B +0x4C 0x004C +0x4D 0x004D +0x4E 0x004E +0x4F 0x004F +0x50 0x0050 +0x51 0x0051 +0x52 0x0052 +0x53 0x0053 +0x54 0x0054 +0x55 0x0055 +0x56 0x0056 +0x57 0x0057 +0x58 0x0058 +0x59 0x0059 +0x5A 0x005A +0x5B 0x005B +0x5C 0x005C +0x5D 0x005D +0x5E 0x005E +0x5F 0x005F +0x60 0x00A0 +0x61 0x0061 +0x62 0x0062 +0x63 0x0063 +0x64 0x0064 +0x65 0x0065 +0x66 0x0066 +0x67 0x0067 +0x68 0x0068 +0x69 0x0069 +0x6A 0x006A +0x6B 0x006B +0x6C 0x006C +0x6D 0x006D +0x6E 0x006E +0x6F 0x006F +0x70 0x0070 +0x71 0x0071 +0x72 0x0072 +0x73 0x0073 +0x74 0x0074 +0x75 0x0075 +0x76 0x0076 +0x77 0x0077 +0x78 0x0078 +0x79 0x0079 +0x7A 0x007A +0x7B 0xFEFF +0x7C 0x007C +0x7D 0x21B0 +0x7E 0x25C0 +0x7F 0x25B6 +0x9B 0x000A diff -Naur libiconv-1.14-old/tests/ATARI8-PANTHER.TXT libiconv-1.14/tests/ATARI8-PANTHER.TXT --- libiconv-1.14-old/tests/ATARI8-PANTHER.TXT 1970-01-01 00:00:00.000000000 +0000 +++ libiconv-1.14/tests/ATARI8-PANTHER.TXT 2011-09-22 00:20:34.000000000 +0000 @@ -0,0 +1,129 @@ +0x00 0x2665 +0x01 0x0105 +0x02 0x2595 +0x03 0x0107 +0x04 0x015A +0x05 0x0119 +0x06 0x2571 +0x07 0x2572 +0x08 0x25E2 +0x09 0x2597 +0x0A 0x25E3 +0x0B 0x017A +0x0C 0x0142 +0x0D 0x0143 +0x0E 0x0144 +0x0F 0x00F3 +0x10 0x00D3 +0x11 0x0104 +0x12 0x0118 +0x13 0x015B +0x14 0x25CF +0x15 0x2584 +0x16 0x0106 +0x17 0x252C +0x18 0x017B +0x19 0x258C +0x1A 0x017C +0x1B 0x241B +0x1C 0x2191 +0x1D 0x2193 +0x1E 0x2190 +0x1F 0x2192 +0x20 0x0020 +0x21 0x0021 +0x22 0x0022 +0x23 0x0023 +0x24 0x0024 +0x25 0x0025 +0x26 0x0026 +0x27 0x0027 +0x28 0x0028 +0x29 0x0029 +0x2A 0x002A +0x2B 0x002B +0x2C 0x002C +0x2D 0x002D +0x2E 0x002E +0x2F 0x002F +0x30 0x0030 +0x31 0x0031 +0x32 0x0032 +0x33 0x0033 +0x34 0x0034 +0x35 0x0035 +0x36 0x0036 +0x37 0x0037 +0x38 0x0038 +0x39 0x0039 +0x3A 0x003A +0x3B 0x003B +0x3C 0x003C +0x3D 0x003D +0x3E 0x003E +0x3F 0x003F +0x40 0x0040 +0x41 0x0041 +0x42 0x0042 +0x43 0x0043 +0x44 0x0044 +0x45 0x0045 +0x46 0x0046 +0x47 0x0047 +0x48 0x0048 +0x49 0x0049 +0x4A 0x004A +0x4B 0x004B +0x4C 0x004C +0x4D 0x004D +0x4E 0x004E +0x4F 0x004F +0x50 0x0050 +0x51 0x0051 +0x52 0x0052 +0x53 0x0053 +0x54 0x0054 +0x55 0x0055 +0x56 0x0056 +0x57 0x0057 +0x58 0x0058 +0x59 0x0059 +0x5A 0x005A +0x5B 0x005B +0x5C 0x005C +0x5D 0x005D +0x5E 0x005E +0x5F 0x005F +0x60 0x0179 +0x61 0x0061 +0x62 0x0062 +0x63 0x0063 +0x64 0x0064 +0x65 0x0065 +0x66 0x0066 +0x67 0x0067 +0x68 0x0068 +0x69 0x0069 +0x6A 0x006A +0x6B 0x006B +0x6C 0x006C +0x6D 0x006D +0x6E 0x006E +0x6F 0x006F +0x70 0x0070 +0x71 0x0071 +0x72 0x0072 +0x73 0x0073 +0x74 0x0074 +0x75 0x0075 +0x76 0x0076 +0x77 0x0077 +0x78 0x0078 +0x79 0x0079 +0x7A 0x007A +0x7B 0x0141 +0x7C 0x007C +0x7D 0x21B0 +0x7E 0x25C0 +0x7F 0x25B6 +0x9B 0x000A diff -Naur libiconv-1.14-old/tests/ATARI8-PE.TXT libiconv-1.14/tests/ATARI8-PE.TXT --- libiconv-1.14-old/tests/ATARI8-PE.TXT 1970-01-01 00:00:00.000000000 +0000 +++ libiconv-1.14/tests/ATARI8-PE.TXT 2011-09-22 00:20:45.000000000 +0000 @@ -0,0 +1,129 @@ +0x00 0x2665 +0x01 0x0105 +0x02 0x2595 +0x03 0x0107 +0x04 0x2524 +0x05 0x0119 +0x06 0x2571 +0x07 0x2572 +0x08 0x25E2 +0x09 0x2597 +0x0A 0x25E3 +0x0B 0x259D +0x0C 0x0142 +0x0D 0x2594 +0x0E 0x0144 +0x0F 0x00F3 +0x10 0x2663 +0x11 0x250C +0x12 0x2500 +0x13 0x015B +0x14 0x25CF +0x15 0x2584 +0x16 0x258F +0x17 0x252C +0x18 0x017A +0x19 0x258C +0x1A 0x017C +0x1B 0x241B +0x1C 0x2191 +0x1D 0x2193 +0x1E 0x2190 +0x1F 0x2192 +0x20 0x0020 +0x21 0x0021 +0x22 0x0022 +0x23 0x0023 +0x24 0x0024 +0x25 0x0025 +0x26 0x0026 +0x27 0x0027 +0x28 0x0028 +0x29 0x0029 +0x2A 0x002A +0x2B 0x002B +0x2C 0x002C +0x2D 0x002D +0x2E 0x002E +0x2F 0x002F +0x30 0x0030 +0x31 0x0031 +0x32 0x0032 +0x33 0x0033 +0x34 0x0034 +0x35 0x0035 +0x36 0x0036 +0x37 0x0037 +0x38 0x0038 +0x39 0x0039 +0x3A 0x003A +0x3B 0x003B +0x3C 0x003C +0x3D 0x003D +0x3E 0x003E +0x3F 0x003F +0x40 0x0040 +0x41 0x0041 +0x42 0x0042 +0x43 0x0043 +0x44 0x0044 +0x45 0x0045 +0x46 0x0046 +0x47 0x0047 +0x48 0x0048 +0x49 0x0049 +0x4A 0x004A +0x4B 0x004B +0x4C 0x004C +0x4D 0x004D +0x4E 0x004E +0x4F 0x004F +0x50 0x0050 +0x51 0x0051 +0x52 0x0052 +0x53 0x0053 +0x54 0x0054 +0x55 0x0055 +0x56 0x0056 +0x57 0x0057 +0x58 0x0058 +0x59 0x0059 +0x5A 0x005A +0x5B 0x005B +0x5C 0x005C +0x5D 0x005D +0x5E 0x005E +0x5F 0x005F +0x60 0x2666 +0x61 0x0061 +0x62 0x0062 +0x63 0x0063 +0x64 0x0064 +0x65 0x0065 +0x66 0x0066 +0x67 0x0067 +0x68 0x0068 +0x69 0x0069 +0x6A 0x006A +0x6B 0x006B +0x6C 0x006C +0x6D 0x006D +0x6E 0x006E +0x6F 0x006F +0x70 0x0070 +0x71 0x0071 +0x72 0x0072 +0x73 0x0073 +0x74 0x0074 +0x75 0x0075 +0x76 0x0076 +0x77 0x0077 +0x78 0x0078 +0x79 0x0079 +0x7A 0x007A +0x7B 0x2660 +0x7C 0x007C +0x7D 0x21B0 +0x7E 0x25C0 +0x7F 0x25B6 +0x9B 0x000A diff -Naur libiconv-1.14-old/tests/ATARI8-XLENT.TXT libiconv-1.14/tests/ATARI8-XLENT.TXT --- libiconv-1.14-old/tests/ATARI8-XLENT.TXT 1970-01-01 00:00:00.000000000 +0000 +++ libiconv-1.14/tests/ATARI8-XLENT.TXT 2011-09-22 00:20:56.000000000 +0000 @@ -0,0 +1,129 @@ +0x00 0x0179 +0x01 0x0105 +0x02 0x017A +0x03 0x0107 +0x04 0x015A +0x05 0x0119 +0x06 0x2571 +0x07 0x2572 +0x08 0x25E2 +0x09 0x2597 +0x0A 0x25E3 +0x0B 0x259D +0x0C 0x0142 +0x0D 0x0143 +0x0E 0x0144 +0x0F 0x00F3 +0x10 0x00D3 +0x11 0x250C +0x12 0x0118 +0x13 0x015B +0x14 0x25CF +0x15 0x2584 +0x16 0x0106 +0x17 0x0104 +0x18 0x017B +0x19 0x258C +0x1A 0x017C +0x1B 0x241B +0x1C 0x2191 +0x1D 0x2193 +0x1E 0x2190 +0x1F 0x2192 +0x20 0x0020 +0x21 0x0021 +0x22 0x0022 +0x23 0x0023 +0x24 0x0024 +0x25 0x0025 +0x26 0x0026 +0x27 0x0027 +0x28 0x0028 +0x29 0x0029 +0x2A 0x002A +0x2B 0x002B +0x2C 0x002C +0x2D 0x002D +0x2E 0x002E +0x2F 0x002F +0x30 0x0030 +0x31 0x0031 +0x32 0x0032 +0x33 0x0033 +0x34 0x0034 +0x35 0x0035 +0x36 0x0036 +0x37 0x0037 +0x38 0x0038 +0x39 0x0039 +0x3A 0x003A +0x3B 0x003B +0x3C 0x003C +0x3D 0x003D +0x3E 0x003E +0x3F 0x003F +0x40 0x0040 +0x41 0x0041 +0x42 0x0042 +0x43 0x0043 +0x44 0x0044 +0x45 0x0045 +0x46 0x0046 +0x47 0x0047 +0x48 0x0048 +0x49 0x0049 +0x4A 0x004A +0x4B 0x004B +0x4C 0x004C +0x4D 0x004D +0x4E 0x004E +0x4F 0x004F +0x50 0x0050 +0x51 0x0051 +0x52 0x0052 +0x53 0x0053 +0x54 0x0054 +0x55 0x0055 +0x56 0x0056 +0x57 0x0057 +0x58 0x0058 +0x59 0x0059 +0x5A 0x005A +0x5B 0x005B +0x5C 0x005C +0x5D 0x005D +0x5E 0x005E +0x5F 0x005F +0x60 0x2666 +0x61 0x0061 +0x62 0x0062 +0x63 0x0063 +0x64 0x0064 +0x65 0x0065 +0x66 0x0066 +0x67 0x0067 +0x68 0x0068 +0x69 0x0069 +0x6A 0x006A +0x6B 0x006B +0x6C 0x006C +0x6D 0x006D +0x6E 0x006E +0x6F 0x006F +0x70 0x0070 +0x71 0x0071 +0x72 0x0072 +0x73 0x0073 +0x74 0x0074 +0x75 0x0075 +0x76 0x0076 +0x77 0x0077 +0x78 0x0078 +0x79 0x0079 +0x7A 0x007A +0x7B 0x0141 +0x7C 0x007C +0x7D 0x21B0 +0x7E 0x25C0 +0x7F 0x25B6 +0x9B 0x000A diff -Naur libiconv-1.14-old/tests/Makefile.in libiconv-1.14/tests/Makefile.in --- libiconv-1.14-old/tests/Makefile.in 2010-11-24 02:24:03.000000000 +0000 +++ libiconv-1.14/tests/Makefile.in 2011-09-21 22:33:21.000000000 +0000 @@ -202,6 +202,13 @@ $(srcdir)/check-stateless $(srcdir) TDS565 $(srcdir)/check-stateless $(srcdir) ATARIST $(srcdir)/check-stateless $(srcdir) RISCOS-LATIN1 + $(srcdir)/check-stateless $(srcdir) ATARI8-GRAPH + $(srcdir)/check-stateless $(srcdir) ATARI8-INT + $(srcdir)/check-stateless $(srcdir) ATARI8-KAREN + $(srcdir)/check-stateless $(srcdir) ATARI8-AWP + $(srcdir)/check-stateless $(srcdir) ATARI8-XLENT + $(srcdir)/check-stateless $(srcdir) ATARI8-PANTHER + $(srcdir)/check-stateless $(srcdir) ATARI8-PE table-from : table-from.@OBJEXT@ ../lib/libiconv.la $(LIBTOOL_LINK) $(CC) $(LDFLAGS) $(CFLAGS) table-from.@OBJEXT@ ../srclib/libicrt.a ../lib/libiconv.la -o $@ diff -Naur libiconv-1.14-old/tools/Makefile libiconv-1.14/tools/Makefile --- libiconv-1.14-old/tools/Makefile 2010-11-24 02:24:03.000000000 +0000 +++ libiconv-1.14/tools/Makefile 2011-09-21 21:31:24.000000000 +0000 @@ -122,7 +122,14 @@ tds565.h \ atarist.h \ riscos1.h \ - cjk_variants.h + cjk_variants.h \ + atari8_graph.h \ + atari8_int.h \ + atari8_karen.h \ + atari8_awp.h \ + atari8_xlent.h \ + atari8_panther.h \ + atari8_pe.h all : $(ALL) @@ -514,6 +521,26 @@ riscos1.h : $(TABLESDIR)/recode-cvs/RISCOS-LATIN1.TXT 8bit_tab_to_h (echo '#'; cat $<) | ./8bit_tab_to_h RISCOS-LATIN1 riscos1 > $@ +atari8_graph.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MISC/ATARI8-GRAPH.TXT + ./8bit_tab_to_h "Atari 8-bit Semi-graphic ATASCII" atari8_graph < $< > $@ + +atari8_int.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MISC/ATARI8-INT.TXT + ./8bit_tab_to_h "Atari 8-bit International ATASCII2" atari8_int < $< > $@ + +atari8_karen.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MISC/ATARI8-KAREN.TXT + ./8bit_tab_to_h "Atari 8-bit Polish P.Z.Karen ATASCII" atari8_karen < $< > $@ + +atari8_awp.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MISC/ATARI8-AWP.TXT + ./8bit_tab_to_h "Atari 8-bit Polish Atari Writer + ATASCII" atari8_awp < $< > $@ + +atari8_xlent.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MISC/ATARI8-XLENT.TXT + ./8bit_tab_to_h "Atari 8-bit Polish First XLEnt Word Processor ATASCII" atari8_xlent < $< > $@ + +atari8_panther.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MISC/ATARI8-PANTHER.TXT + ./8bit_tab_to_h "Atari 8-bit Polish Panther ATASCII" atari8_panther < $< > $@ + +atari8_pe.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MISC/ATARI8-PE.TXT + ./8bit_tab_to_h "Atari 8-bit Polish Polski Edytor ATASCII" atari8_pe < $< > $@ cjk_variants.h : $(TABLESDIR)/yasuoka/UniVariants cjk_variants ./cjk_variants < $< > $@