2015-12-10 05:06:13 +02:00
/****************************************************************************
* *
* * Copyright ( C ) 2015 The Qt Company Ltd .
2019-06-03 14:21:30 +00:00
* * Copyright ( C ) 2016 - 2019 Ivailo Monev
2015-12-10 05:06:13 +02:00
* *
* * This file is part of the QtCore module of the Qt Toolkit .
* *
* * $ QT_BEGIN_LICENSE : LGPL $
* * Commercial License Usage
* * Licensees holding valid commercial Qt licenses may use this file in
* * accordance with the commercial license agreement provided with the
* * Software or , alternatively , in accordance with the terms contained in
* * a written agreement between you and The Qt Company . For licensing terms
* * and conditions see http : //www.qt.io/terms-conditions. For further
* * information use the contact form at http : //www.qt.io/contact-us.
* *
* * GNU Lesser General Public License Usage
* * Alternatively , this file may be used under the terms of the GNU Lesser
* * General Public License version 2.1 or version 3 as published by the Free
* * Software Foundation and appearing in the file LICENSE . LGPLv21 and
* * LICENSE . LGPLv3 included in the packaging of this file . Please review the
* * following information to ensure the GNU Lesser General Public License
* * requirements will be met : https : //www.gnu.org/licenses/lgpl.html and
* * http : //www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
* *
* * As a special exception , The Qt Company gives you certain additional
* * rights . These rights are described in The Qt Company LGPL Exception
* * version 1.1 , included in the file LGPL_EXCEPTION . txt in this package .
* *
* * GNU General Public License Usage
* * Alternatively , this file may be used under the terms of the GNU
* * General Public License version 3.0 as published by the Free Software
* * Foundation and appearing in the file LICENSE . GPL included in the
* * packaging of this file . Please review the following information to
* * ensure the GNU General Public License version 3.0 requirements will be
* * met : http : //www.gnu.org/copyleft/gpl.html.
* *
* * $ QT_END_LICENSE $
* *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
# include "qsimplecodec_p.h"
# include "qlist.h"
# ifndef QT_NO_TEXTCODEC
QT_BEGIN_NAMESPACE
# define LAST_MIB 2004
static const struct {
const char * mime ;
const char * aliases [ 7 ] ;
int mib ;
quint16 values [ 128 ] ;
} unicodevalues [ QSimpleTextCodec : : numSimpleCodecs ] = {
// from RFC 1489, ftp://ftp.isi.edu/in-notes/rfc1489.txt
2016-11-16 17:03:56 +00:00
{ " KOI8-R " , { " csKOI8R " , Q_NULLPTR } , 2084 ,
2015-12-10 05:06:13 +02:00
{ 0x2500 , 0x2502 , 0x250C , 0x2510 , 0x2514 , 0x2518 , 0x251C , 0x2524 ,
0x252C , 0x2534 , 0x253C , 0x2580 , 0x2584 , 0x2588 , 0x258C , 0x2590 ,
0x2591 , 0x2592 , 0x2593 , 0x2320 , 0x25A0 , 0x2219 /**/ , 0x221A , 0x2248 ,
0x2264 , 0x2265 , 0x00A0 , 0x2321 , 0x00B0 , 0x00B2 , 0x00B7 , 0x00F7 ,
0x2550 , 0x2551 , 0x2552 , 0x0451 , 0x2553 , 0x2554 , 0x2555 , 0x2556 ,
0x2557 , 0x2558 , 0x2559 , 0x255A , 0x255B , 0x255C , 0x255D , 0x255E ,
0x255F , 0x2560 , 0x2561 , 0x0401 , 0x2562 , 0x2563 , 0x2564 , 0x2565 ,
0x2566 , 0x2567 , 0x2568 , 0x2569 , 0x256A , 0x256B , 0x256C , 0x00A9 ,
0x044E , 0x0430 , 0x0431 , 0x0446 , 0x0434 , 0x0435 , 0x0444 , 0x0433 ,
0x0445 , 0x0438 , 0x0439 , 0x043A , 0x043B , 0x043C , 0x043D , 0x043E ,
0x043F , 0x044F , 0x0440 , 0x0441 , 0x0442 , 0x0443 , 0x0436 , 0x0432 ,
0x044C , 0x044B , 0x0437 , 0x0448 , 0x044D , 0x0449 , 0x0447 , 0x044A ,
0x042E , 0x0410 , 0x0411 , 0x0426 , 0x0414 , 0x0415 , 0x0424 , 0x0413 ,
0x0425 , 0x0418 , 0x0419 , 0x041A , 0x041B , 0x041C , 0x041D , 0x041E ,
0x041F , 0x042F , 0x0420 , 0x0421 , 0x0422 , 0x0423 , 0x0416 , 0x0412 ,
0x042C , 0x042B , 0x0417 , 0x0428 , 0x042D , 0x0429 , 0x0427 , 0x042A } } ,
// /**/ - The BULLET OPERATOR is confused. Some people think
// it should be 0x2022 (BULLET).
// from RFC 2319, ftp://ftp.isi.edu/in-notes/rfc2319.txt
2016-11-16 17:03:56 +00:00
{ " KOI8-U " , { " KOI8-RU " , Q_NULLPTR } , 2088 ,
2015-12-10 05:06:13 +02:00
{ 0x2500 , 0x2502 , 0x250C , 0x2510 , 0x2514 , 0x2518 , 0x251C , 0x2524 ,
0x252C , 0x2534 , 0x253C , 0x2580 , 0x2584 , 0x2588 , 0x258C , 0x2590 ,
0x2591 , 0x2592 , 0x2593 , 0x2320 , 0x25A0 , 0x2219 , 0x221A , 0x2248 ,
0x2264 , 0x2265 , 0x00A0 , 0x2321 , 0x00B0 , 0x00B2 , 0x00B7 , 0x00F7 ,
0x2550 , 0x2551 , 0x2552 , 0x0451 , 0x0454 , 0x2554 , 0x0456 , 0x0457 ,
0x2557 , 0x2558 , 0x2559 , 0x255A , 0x255B , 0x0491 , 0x255D , 0x255E ,
0x255F , 0x2560 , 0x2561 , 0x0401 , 0x0404 , 0x2563 , 0x0406 , 0x0407 ,
0x2566 , 0x2567 , 0x2568 , 0x2569 , 0x256A , 0x0490 , 0x256C , 0x00A9 ,
0x044E , 0x0430 , 0x0431 , 0x0446 , 0x0434 , 0x0435 , 0x0444 , 0x0433 ,
0x0445 , 0x0438 , 0x0439 , 0x043A , 0x043B , 0x043C , 0x043D , 0x043E ,
0x043F , 0x044F , 0x0440 , 0x0441 , 0x0442 , 0x0443 , 0x0436 , 0x0432 ,
0x044C , 0x044B , 0x0437 , 0x0448 , 0x044D , 0x0449 , 0x0447 , 0x044A ,
0x042E , 0x0410 , 0x0411 , 0x0426 , 0x0414 , 0x0415 , 0x0424 , 0x0413 ,
0x0425 , 0x0418 , 0x0419 , 0x041A , 0x041B , 0x041C , 0x041D , 0x041E ,
0x041F , 0x042F , 0x0420 , 0x0421 , 0x0422 , 0x0423 , 0x0416 , 0x0412 ,
0x042C , 0x042B , 0x0417 , 0x0428 , 0x042D , 0x0429 , 0x0427 , 0x042A } } ,
// next bits generated from tables on the Unicode 2.0 CD. we can
// use these tables since this is part of the transition to using
// unicode everywhere in qt.
// $ for A in 8 9 A B C D E F ; do for B in 0 1 2 3 4 5 6 7 8 9 A B C D E F ; do echo 0x${A}${B} 0xFFFD ; done ; done > /tmp/digits ; for a in 8859-* ; do (awk '/^0x[89ABCDEF]/{ print $1, $2 }' < $a ; cat /tmp/digits) | sort | uniq -w4 | cut -c6- | paste '-d ' - - - - - - - - | sed -e 's/ /, /g' -e 's/$/,/' -e '$ s/,$/} },/' -e '1 s/^/{ /' > ~/tmp/$a ; done
// then I inserted the files manually.
2016-11-16 17:03:56 +00:00
{ " ISO-8859-2 " , { " latin2 " , " iso-ir-101 " , " csISOLatin2 " , Q_NULLPTR } , 5 ,
2015-12-10 05:06:13 +02:00
{ 0x0080 , 0x0081 , 0x0082 , 0x0083 , 0x0084 , 0x0085 , 0x0086 , 0x0087 ,
0x0088 , 0x0089 , 0x008A , 0x008B , 0x008C , 0x008D , 0x008E , 0x008F ,
0x0090 , 0x0091 , 0x0092 , 0x0093 , 0x0094 , 0x0095 , 0x0096 , 0x0097 ,
0x0098 , 0x0099 , 0x009A , 0x009B , 0x009C , 0x009D , 0x009E , 0x009F ,
0x00A0 , 0x0104 , 0x02D8 , 0x0141 , 0x00A4 , 0x013D , 0x015A , 0x00A7 ,
0x00A8 , 0x0160 , 0x015E , 0x0164 , 0x0179 , 0x00AD , 0x017D , 0x017B ,
0x00B0 , 0x0105 , 0x02DB , 0x0142 , 0x00B4 , 0x013E , 0x015B , 0x02C7 ,
0x00B8 , 0x0161 , 0x015F , 0x0165 , 0x017A , 0x02DD , 0x017E , 0x017C ,
0x0154 , 0x00C1 , 0x00C2 , 0x0102 , 0x00C4 , 0x0139 , 0x0106 , 0x00C7 ,
0x010C , 0x00C9 , 0x0118 , 0x00CB , 0x011A , 0x00CD , 0x00CE , 0x010E ,
0x0110 , 0x0143 , 0x0147 , 0x00D3 , 0x00D4 , 0x0150 , 0x00D6 , 0x00D7 ,
0x0158 , 0x016E , 0x00DA , 0x0170 , 0x00DC , 0x00DD , 0x0162 , 0x00DF ,
0x0155 , 0x00E1 , 0x00E2 , 0x0103 , 0x00E4 , 0x013A , 0x0107 , 0x00E7 ,
0x010D , 0x00E9 , 0x0119 , 0x00EB , 0x011B , 0x00ED , 0x00EE , 0x010F ,
0x0111 , 0x0144 , 0x0148 , 0x00F3 , 0x00F4 , 0x0151 , 0x00F6 , 0x00F7 ,
0x0159 , 0x016F , 0x00FA , 0x0171 , 0x00FC , 0x00FD , 0x0163 , 0x02D9 } } ,
2016-11-16 17:03:56 +00:00
{ " ISO-8859-3 " , { " latin3 " , " iso-ir-109 " , " csISOLatin3 " , Q_NULLPTR } , 6 ,
2015-12-10 05:06:13 +02:00
{ 0x0080 , 0x0081 , 0x0082 , 0x0083 , 0x0084 , 0x0085 , 0x0086 , 0x0087 ,
0x0088 , 0x0089 , 0x008A , 0x008B , 0x008C , 0x008D , 0x008E , 0x008F ,
0x0090 , 0x0091 , 0x0092 , 0x0093 , 0x0094 , 0x0095 , 0x0096 , 0x0097 ,
0x0098 , 0x0099 , 0x009A , 0x009B , 0x009C , 0x009D , 0x009E , 0x009F ,
0x00A0 , 0x0126 , 0x02D8 , 0x00A3 , 0x00A4 , 0xFFFD , 0x0124 , 0x00A7 ,
0x00A8 , 0x0130 , 0x015E , 0x011E , 0x0134 , 0x00AD , 0xFFFD , 0x017B ,
0x00B0 , 0x0127 , 0x00B2 , 0x00B3 , 0x00B4 , 0x00B5 , 0x0125 , 0x00B7 ,
0x00B8 , 0x0131 , 0x015F , 0x011F , 0x0135 , 0x00BD , 0xFFFD , 0x017C ,
0x00C0 , 0x00C1 , 0x00C2 , 0xFFFD , 0x00C4 , 0x010A , 0x0108 , 0x00C7 ,
0x00C8 , 0x00C9 , 0x00CA , 0x00CB , 0x00CC , 0x00CD , 0x00CE , 0x00CF ,
0xFFFD , 0x00D1 , 0x00D2 , 0x00D3 , 0x00D4 , 0x0120 , 0x00D6 , 0x00D7 ,
0x011C , 0x00D9 , 0x00DA , 0x00DB , 0x00DC , 0x016C , 0x015C , 0x00DF ,
0x00E0 , 0x00E1 , 0x00E2 , 0xFFFD , 0x00E4 , 0x010B , 0x0109 , 0x00E7 ,
0x00E8 , 0x00E9 , 0x00EA , 0x00EB , 0x00EC , 0x00ED , 0x00EE , 0x00EF ,
0xFFFD , 0x00F1 , 0x00F2 , 0x00F3 , 0x00F4 , 0x0121 , 0x00F6 , 0x00F7 ,
0x011D , 0x00F9 , 0x00FA , 0x00FB , 0x00FC , 0x016D , 0x015D , 0x02D9 } } ,
2016-11-16 17:03:56 +00:00
{ " ISO-8859-4 " , { " latin4 " , " iso-ir-110 " , " csISOLatin4 " , Q_NULLPTR } , 7 ,
2015-12-10 05:06:13 +02:00
{ 0x0080 , 0x0081 , 0x0082 , 0x0083 , 0x0084 , 0x0085 , 0x0086 , 0x0087 ,
0x0088 , 0x0089 , 0x008A , 0x008B , 0x008C , 0x008D , 0x008E , 0x008F ,
0x0090 , 0x0091 , 0x0092 , 0x0093 , 0x0094 , 0x0095 , 0x0096 , 0x0097 ,
0x0098 , 0x0099 , 0x009A , 0x009B , 0x009C , 0x009D , 0x009E , 0x009F ,
0x00A0 , 0x0104 , 0x0138 , 0x0156 , 0x00A4 , 0x0128 , 0x013B , 0x00A7 ,
0x00A8 , 0x0160 , 0x0112 , 0x0122 , 0x0166 , 0x00AD , 0x017D , 0x00AF ,
0x00B0 , 0x0105 , 0x02DB , 0x0157 , 0x00B4 , 0x0129 , 0x013C , 0x02C7 ,
0x00B8 , 0x0161 , 0x0113 , 0x0123 , 0x0167 , 0x014A , 0x017E , 0x014B ,
0x0100 , 0x00C1 , 0x00C2 , 0x00C3 , 0x00C4 , 0x00C5 , 0x00C6 , 0x012E ,
0x010C , 0x00C9 , 0x0118 , 0x00CB , 0x0116 , 0x00CD , 0x00CE , 0x012A ,
0x0110 , 0x0145 , 0x014C , 0x0136 , 0x00D4 , 0x00D5 , 0x00D6 , 0x00D7 ,
0x00D8 , 0x0172 , 0x00DA , 0x00DB , 0x00DC , 0x0168 , 0x016A , 0x00DF ,
0x0101 , 0x00E1 , 0x00E2 , 0x00E3 , 0x00E4 , 0x00E5 , 0x00E6 , 0x012F ,
0x010D , 0x00E9 , 0x0119 , 0x00EB , 0x0117 , 0x00ED , 0x00EE , 0x012B ,
0x0111 , 0x0146 , 0x014D , 0x0137 , 0x00F4 , 0x00F5 , 0x00F6 , 0x00F7 ,
0x00F8 , 0x0173 , 0x00FA , 0x00FB , 0x00FC , 0x0169 , 0x016B , 0x02D9 } } ,
2016-11-16 17:03:56 +00:00
{ " ISO-8859-5 " , { " cyrillic " , " iso-ir-144 " , " csISOLatinCyrillic " , Q_NULLPTR } , 8 ,
2015-12-10 05:06:13 +02:00
{ 0x0080 , 0x0081 , 0x0082 , 0x0083 , 0x0084 , 0x0085 , 0x0086 , 0x0087 ,
0x0088 , 0x0089 , 0x008A , 0x008B , 0x008C , 0x008D , 0x008E , 0x008F ,
0x0090 , 0x0091 , 0x0092 , 0x0093 , 0x0094 , 0x0095 , 0x0096 , 0x0097 ,
0x0098 , 0x0099 , 0x009A , 0x009B , 0x009C , 0x009D , 0x009E , 0x009F ,
0x00A0 , 0x0401 , 0x0402 , 0x0403 , 0x0404 , 0x0405 , 0x0406 , 0x0407 ,
0x0408 , 0x0409 , 0x040A , 0x040B , 0x040C , 0x00AD , 0x040E , 0x040F ,
0x0410 , 0x0411 , 0x0412 , 0x0413 , 0x0414 , 0x0415 , 0x0416 , 0x0417 ,
0x0418 , 0x0419 , 0x041A , 0x041B , 0x041C , 0x041D , 0x041E , 0x041F ,
0x0420 , 0x0421 , 0x0422 , 0x0423 , 0x0424 , 0x0425 , 0x0426 , 0x0427 ,
0x0428 , 0x0429 , 0x042A , 0x042B , 0x042C , 0x042D , 0x042E , 0x042F ,
0x0430 , 0x0431 , 0x0432 , 0x0433 , 0x0434 , 0x0435 , 0x0436 , 0x0437 ,
0x0438 , 0x0439 , 0x043A , 0x043B , 0x043C , 0x043D , 0x043E , 0x043F ,
0x0440 , 0x0441 , 0x0442 , 0x0443 , 0x0444 , 0x0445 , 0x0446 , 0x0447 ,
0x0448 , 0x0449 , 0x044A , 0x044B , 0x044C , 0x044D , 0x044E , 0x044F ,
0x2116 , 0x0451 , 0x0452 , 0x0453 , 0x0454 , 0x0455 , 0x0456 , 0x0457 ,
0x0458 , 0x0459 , 0x045A , 0x045B , 0x045C , 0x00A7 , 0x045E , 0x045F } } ,
2016-11-16 17:03:56 +00:00
{ " ISO-8859-6 " , { " ISO-8859-6-I " , " ECMA-114 " , " ASMO-708 " , " arabic " , " iso-ir-127 " , " csISOLatinArabic " , Q_NULLPTR } , 82 ,
2015-12-10 05:06:13 +02:00
{ 0x0080 , 0x0081 , 0x0082 , 0x0083 , 0x0084 , 0x0085 , 0x0086 , 0x0087 ,
0x0088 , 0x0089 , 0x008A , 0x008B , 0x008C , 0x008D , 0x008E , 0x008F ,
0x0090 , 0x0091 , 0x0092 , 0x0093 , 0x0094 , 0x0095 , 0x0096 , 0x0097 ,
0x0098 , 0x0099 , 0x009A , 0x009B , 0x009C , 0x009D , 0x009E , 0x009F ,
0x00A0 , 0xFFFD , 0xFFFD , 0xFFFD , 0x00A4 , 0xFFFD , 0xFFFD , 0xFFFD ,
0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD , 0x060C , 0x00AD , 0xFFFD , 0xFFFD ,
0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD ,
0xFFFD , 0xFFFD , 0xFFFD , 0x061B , 0xFFFD , 0xFFFD , 0xFFFD , 0x061F ,
0xFFFD , 0x0621 , 0x0622 , 0x0623 , 0x0624 , 0x0625 , 0x0626 , 0x0627 ,
0x0628 , 0x0629 , 0x062A , 0x062B , 0x062C , 0x062D , 0x062E , 0x062F ,
0x0630 , 0x0631 , 0x0632 , 0x0633 , 0x0634 , 0x0635 , 0x0636 , 0x0637 ,
0x0638 , 0x0639 , 0x063A , 0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD ,
0x0640 , 0x0641 , 0x0642 , 0x0643 , 0x0644 , 0x0645 , 0x0646 , 0x0647 ,
0x0648 , 0x0649 , 0x064A , 0x064B , 0x064C , 0x064D , 0x064E , 0x064F ,
0x0650 , 0x0651 , 0x0652 , 0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD ,
0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD } } ,
2016-11-16 17:03:56 +00:00
{ " ISO-8859-7 " , { " ECMA-118 " , " greek " , " iso-ir-126 " , " csISOLatinGreek " , Q_NULLPTR } , 10 ,
2015-12-10 05:06:13 +02:00
{ 0x0080 , 0x0081 , 0x0082 , 0x0083 , 0x0084 , 0x0085 , 0x0086 , 0x0087 ,
0x0088 , 0x0089 , 0x008A , 0x008B , 0x008C , 0x008D , 0x008E , 0x008F ,
0x0090 , 0x0091 , 0x0092 , 0x0093 , 0x0094 , 0x0095 , 0x0096 , 0x0097 ,
0x0098 , 0x0099 , 0x009A , 0x009B , 0x009C , 0x009D , 0x009E , 0x009F ,
0x00A0 , 0x2018 , 0x2019 , 0x00A3 , 0xFFFD , 0xFFFD , 0x00A6 , 0x00A7 ,
0x00A8 , 0x00A9 , 0xFFFD , 0x00AB , 0x00AC , 0x00AD , 0xFFFD , 0x2015 ,
0x00B0 , 0x00B1 , 0x00B2 , 0x00B3 , 0x0384 , 0x0385 , 0x0386 , 0x00B7 ,
0x0388 , 0x0389 , 0x038A , 0x00BB , 0x038C , 0x00BD , 0x038E , 0x038F ,
0x0390 , 0x0391 , 0x0392 , 0x0393 , 0x0394 , 0x0395 , 0x0396 , 0x0397 ,
0x0398 , 0x0399 , 0x039A , 0x039B , 0x039C , 0x039D , 0x039E , 0x039F ,
0x03A0 , 0x03A1 , 0xFFFD , 0x03A3 , 0x03A4 , 0x03A5 , 0x03A6 , 0x03A7 ,
0x03A8 , 0x03A9 , 0x03AA , 0x03AB , 0x03AC , 0x03AD , 0x03AE , 0x03AF ,
0x03B0 , 0x03B1 , 0x03B2 , 0x03B3 , 0x03B4 , 0x03B5 , 0x03B6 , 0x03B7 ,
0x03B8 , 0x03B9 , 0x03BA , 0x03BB , 0x03BC , 0x03BD , 0x03BE , 0x03BF ,
0x03C0 , 0x03C1 , 0x03C2 , 0x03C3 , 0x03C4 , 0x03C5 , 0x03C6 , 0x03C7 ,
0x03C8 , 0x03C9 , 0x03CA , 0x03CB , 0x03CC , 0x03CD , 0x03CE , 0xFFFD } } ,
2016-11-16 17:03:56 +00:00
{ " ISO-8859-8 " , { " ISO 8859-8-I " , " iso-ir-138 " , " hebrew " , " csISOLatinHebrew " , Q_NULLPTR } , 85 ,
2015-12-10 05:06:13 +02:00
{ 0x0080 , 0x0081 , 0x0082 , 0x0083 , 0x0084 , 0x0085 , 0x0086 , 0x0087 ,
0x0088 , 0x0089 , 0x008A , 0x008B , 0x008C , 0x008D , 0x008E , 0x008F ,
0x0090 , 0x0091 , 0x0092 , 0x0093 , 0x0094 , 0x0095 , 0x0096 , 0x0097 ,
0x0098 , 0x0099 , 0x009A , 0x009B , 0x009C , 0x009D , 0x009E , 0x009F ,
0x00A0 , 0xFFFD , 0x00A2 , 0x00A3 , 0x00A4 , 0x00A5 , 0x00A6 , 0x00A7 ,
0x00A8 , 0x00A9 , 0x00D7 , 0x00AB , 0x00AC , 0x00AD , 0x00AE , 0x203E ,
0x00B0 , 0x00B1 , 0x00B2 , 0x00B3 , 0x00B4 , 0x00B5 , 0x00B6 , 0x00B7 ,
0x00B8 , 0x00B9 , 0x00F7 , 0x00BB , 0x00BC , 0x00BD , 0x00BE , 0xFFFD ,
0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD ,
0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD ,
0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD ,
0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD , 0x2017 ,
0x05D0 , 0x05D1 , 0x05D2 , 0x05D3 , 0x05D4 , 0x05D5 , 0x05D6 , 0x05D7 ,
0x05D8 , 0x05D9 , 0x05DA , 0x05DB , 0x05DC , 0x05DD , 0x05DE , 0x05DF ,
0x05E0 , 0x05E1 , 0x05E2 , 0x05E3 , 0x05E4 , 0x05E5 , 0x05E6 , 0x05E7 ,
0x05E8 , 0x05E9 , 0x05EA , 0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD } } ,
2016-11-16 17:03:56 +00:00
{ " ISO-8859-9 " , { " iso-ir-148 " , " latin5 " , " csISOLatin5 " , Q_NULLPTR } , 12 ,
2015-12-10 05:06:13 +02:00
{ 0x0080 , 0x0081 , 0x0082 , 0x0083 , 0x0084 , 0x0085 , 0x0086 , 0x0087 ,
0x0088 , 0x0089 , 0x008A , 0x008B , 0x008C , 0x008D , 0x008E , 0x008F ,
0x0090 , 0x0091 , 0x0092 , 0x0093 , 0x0094 , 0x0095 , 0x0096 , 0x0097 ,
0x0098 , 0x0099 , 0x009A , 0x009B , 0x009C , 0x009D , 0x009E , 0x009F ,
0x00A0 , 0x00A1 , 0x00A2 , 0x00A3 , 0x00A4 , 0x00A5 , 0x00A6 , 0x00A7 ,
0x00A8 , 0x00A9 , 0x00AA , 0x00AB , 0x00AC , 0x00AD , 0x00AE , 0x00AF ,
0x00B0 , 0x00B1 , 0x00B2 , 0x00B3 , 0x00B4 , 0x00B5 , 0x00B6 , 0x00B7 ,
0x00B8 , 0x00B9 , 0x00BA , 0x00BB , 0x00BC , 0x00BD , 0x00BE , 0x00BF ,
0x00C0 , 0x00C1 , 0x00C2 , 0x00C3 , 0x00C4 , 0x00C5 , 0x00C6 , 0x00C7 ,
0x00C8 , 0x00C9 , 0x00CA , 0x00CB , 0x00CC , 0x00CD , 0x00CE , 0x00CF ,
0x011E , 0x00D1 , 0x00D2 , 0x00D3 , 0x00D4 , 0x00D5 , 0x00D6 , 0x00D7 ,
0x00D8 , 0x00D9 , 0x00DA , 0x00DB , 0x00DC , 0x0130 , 0x015E , 0x00DF ,
0x00E0 , 0x00E1 , 0x00E2 , 0x00E3 , 0x00E4 , 0x00E5 , 0x00E6 , 0x00E7 ,
0x00E8 , 0x00E9 , 0x00EA , 0x00EB , 0x00EC , 0x00ED , 0x00EE , 0x00EF ,
0x011F , 0x00F1 , 0x00F2 , 0x00F3 , 0x00F4 , 0x00F5 , 0x00F6 , 0x00F7 ,
0x00F8 , 0x00F9 , 0x00FA , 0x00FB , 0x00FC , 0x0131 , 0x015F , 0x00FF } } ,
2016-11-16 17:03:56 +00:00
{ " ISO-8859-10 " , { " iso-ir-157 " , " latin6 " , " ISO-8859-10:1992 " , " csISOLatin6 " , Q_NULLPTR } , 13 ,
2015-12-10 05:06:13 +02:00
{ 0x0080 , 0x0081 , 0x0082 , 0x0083 , 0x0084 , 0x0085 , 0x0086 , 0x0087 ,
0x0088 , 0x0089 , 0x008A , 0x008B , 0x008C , 0x008D , 0x008E , 0x008F ,
0x0090 , 0x0091 , 0x0092 , 0x0093 , 0x0094 , 0x0095 , 0x0096 , 0x0097 ,
0x0098 , 0x0099 , 0x009A , 0x009B , 0x009C , 0x009D , 0x009E , 0x009F ,
0x00A0 , 0x0104 , 0x0112 , 0x0122 , 0x012A , 0x0128 , 0x0136 , 0x00A7 ,
0x013B , 0x0110 , 0x0160 , 0x0166 , 0x017D , 0x00AD , 0x016A , 0x014A ,
0x00B0 , 0x0105 , 0x0113 , 0x0123 , 0x012B , 0x0129 , 0x0137 , 0x00B7 ,
0x013C , 0x0111 , 0x0161 , 0x0167 , 0x017E , 0x2015 , 0x016B , 0x014B ,
0x0100 , 0x00C1 , 0x00C2 , 0x00C3 , 0x00C4 , 0x00C5 , 0x00C6 , 0x012E ,
0x010C , 0x00C9 , 0x0118 , 0x00CB , 0x0116 , 0x00CD , 0x00CE , 0x00CF ,
0x00D0 , 0x0145 , 0x014C , 0x00D3 , 0x00D4 , 0x00D5 , 0x00D6 , 0x0168 ,
0x00D8 , 0x0172 , 0x00DA , 0x00DB , 0x00DC , 0x00DD , 0x00DE , 0x00DF ,
0x0101 , 0x00E1 , 0x00E2 , 0x00E3 , 0x00E4 , 0x00E5 , 0x00E6 , 0x012F ,
0x010D , 0x00E9 , 0x0119 , 0x00EB , 0x0117 , 0x00ED , 0x00EE , 0x00EF ,
0x00F0 , 0x0146 , 0x014D , 0x00F3 , 0x00F4 , 0x00F5 , 0x00F6 , 0x0169 ,
0x00F8 , 0x0173 , 0x00FA , 0x00FB , 0x00FC , 0x00FD , 0x00FE , 0x0138 } } ,
2016-11-16 17:03:56 +00:00
{ " ISO-8859-13 " , { Q_NULLPTR } , 109 ,
2015-12-10 05:06:13 +02:00
{ 0x0080 , 0x0081 , 0x0082 , 0x0083 , 0x0084 , 0x0085 , 0x0086 , 0x0087 ,
0x0088 , 0x0089 , 0x008A , 0x008B , 0x008C , 0x008D , 0x008E , 0x008F ,
0x0090 , 0x0091 , 0x0092 , 0x0093 , 0x0094 , 0x0095 , 0x0096 , 0x0097 ,
0x0098 , 0x0099 , 0x009A , 0x009B , 0x009C , 0x009D , 0x009E , 0x009F ,
0x00A0 , 0x201D , 0x00A2 , 0x00A3 , 0x00A4 , 0x201E , 0x00A6 , 0x00A7 ,
0x00D8 , 0x00A9 , 0x0156 , 0x00AB , 0x00AC , 0x00AD , 0x00AE , 0x00C6 ,
0x00B0 , 0x00B1 , 0x00B2 , 0x00B3 , 0x201C , 0x00B5 , 0x00B6 , 0x00B7 ,
0x00F8 , 0x00B9 , 0x0157 , 0x00BB , 0x00BC , 0x00BD , 0x00BE , 0x00E6 ,
0x0104 , 0x012E , 0x0100 , 0x0106 , 0x00C4 , 0x00C5 , 0x0118 , 0x0112 ,
0x010C , 0x00C9 , 0x0179 , 0x0116 , 0x0122 , 0x0136 , 0x012A , 0x013B ,
0x0160 , 0x0143 , 0x0145 , 0x00D3 , 0x014C , 0x00D5 , 0x00D6 , 0x00D7 ,
0x0172 , 0x0141 , 0x015A , 0x016A , 0x00DC , 0x017B , 0x017D , 0x00DF ,
0x0105 , 0x012F , 0x0101 , 0x0107 , 0x00E4 , 0x00E5 , 0x0119 , 0x0113 ,
0x010D , 0x00E9 , 0x017A , 0x0117 , 0x0123 , 0x0137 , 0x012B , 0x013C ,
0x0161 , 0x0144 , 0x0146 , 0x00F3 , 0x014D , 0x00F5 , 0x00F6 , 0x00F7 ,
0x0173 , 0x0142 , 0x015B , 0x016B , 0x00FC , 0x017C , 0x017E , 0x2019 } } ,
2016-11-16 17:03:56 +00:00
{ " ISO-8859-14 " , { " iso-ir-199 " , " latin8 " , " iso-celtic " , Q_NULLPTR } , 110 ,
2015-12-10 05:06:13 +02:00
{ 0x0080 , 0x0081 , 0x0082 , 0x0083 , 0x0084 , 0x0085 , 0x0086 , 0x0087 ,
0x0088 , 0x0089 , 0x008A , 0x008B , 0x008C , 0x008D , 0x008E , 0x008F ,
0x0090 , 0x0091 , 0x0092 , 0x0093 , 0x0094 , 0x0095 , 0x0096 , 0x0097 ,
0x0098 , 0x0099 , 0x009A , 0x009B , 0x009C , 0x009D , 0x009E , 0x009F ,
0x00A0 , 0x1E02 , 0x1E03 , 0x00A3 , 0x010A , 0x010B , 0x1E0A , 0x00A7 ,
0x1E80 , 0x00A9 , 0x1E82 , 0x1E0B , 0x1EF2 , 0x00AD , 0x00AE , 0x0178 ,
0x1E1E , 0x1E1F , 0x0120 , 0x0121 , 0x1E40 , 0x1E41 , 0x00B6 , 0x1E56 ,
0x1E81 , 0x1E57 , 0x1E83 , 0x1E60 , 0x1EF3 , 0x1E84 , 0x1E85 , 0x1E61 ,
0x00C0 , 0x00C1 , 0x00C2 , 0x00C3 , 0x00C4 , 0x00C5 , 0x00C6 , 0x00C7 ,
0x00C8 , 0x00C9 , 0x00CA , 0x00CB , 0x00CC , 0x00CD , 0x00CE , 0x00CF ,
0x0174 , 0x00D1 , 0x00D2 , 0x00D3 , 0x00D4 , 0x00D5 , 0x00D6 , 0x1E6A ,
0x00D8 , 0x00D9 , 0x00DA , 0x00DB , 0x00DC , 0x00DD , 0x0176 , 0x00DF ,
0x00E0 , 0x00E1 , 0x00E2 , 0x00E3 , 0x00E4 , 0x00E5 , 0x00E6 , 0x00E7 ,
0x00E8 , 0x00E9 , 0x00EA , 0x00EB , 0x00EC , 0x00ED , 0x00EE , 0x00EF ,
0x0175 , 0x00F1 , 0x00F2 , 0x00F3 , 0x00F4 , 0x00F5 , 0x00F6 , 0x1E6B ,
0x00F8 , 0x00F9 , 0x00FA , 0x00FB , 0x00FC , 0x00FD , 0x0177 , 0x00FF } } ,
2016-11-16 17:03:56 +00:00
{ " ISO-8859-16 " , { " iso-ir-226 " , " latin10 " , Q_NULLPTR } , 112 ,
2015-12-10 05:06:13 +02:00
{ 0x0080 , 0x0081 , 0x0082 , 0x0083 , 0x0084 , 0x0085 , 0x0086 , 0x0087 ,
0x0088 , 0x0089 , 0x008A , 0x008B , 0x008C , 0x008D , 0x008E , 0x008F ,
0x0090 , 0x0091 , 0x0092 , 0x0093 , 0x0094 , 0x0095 , 0x0096 , 0x0097 ,
0x0098 , 0x0099 , 0x009A , 0x009B , 0x009C , 0x009D , 0x009E , 0x009F ,
0x00A0 , 0x0104 , 0x0105 , 0x0141 , 0x20AC , 0x201E , 0x0160 , 0x00A7 ,
0x0161 , 0x00A9 , 0x0218 , 0x00AB , 0x0179 , 0x00AD , 0x017A , 0x017B ,
0x00B0 , 0x00B1 , 0x010C , 0x0142 , 0x017D , 0x201D , 0x00B6 , 0x00B7 ,
0x017E , 0x010D , 0x0219 , 0x00BB , 0x0152 , 0x0153 , 0x0178 , 0x017C ,
0x00C0 , 0x00C1 , 0x00C2 , 0x0102 , 0x00C4 , 0x0106 , 0x00C6 , 0x00C7 ,
0x00C8 , 0x00C9 , 0x00CA , 0x00CB , 0x00CC , 0x00CD , 0x00CE , 0x00CF ,
0x0110 , 0x0143 , 0x00D2 , 0x00D3 , 0x00D4 , 0x0150 , 0x00D6 , 0x015A ,
0x0170 , 0x00D9 , 0x00DA , 0x00DB , 0x00DC , 0x0118 , 0x021A , 0x00DF ,
0x00E0 , 0x00E1 , 0x00E2 , 0x0103 , 0x00E4 , 0x0107 , 0x00E6 , 0x00E7 ,
0x00E8 , 0x00E9 , 0x00EA , 0x00EB , 0x00EC , 0x00ED , 0x00EE , 0x00EF ,
0x0111 , 0x0144 , 0x00F2 , 0x00F3 , 0x00F4 , 0x0151 , 0x00F6 , 0x015B ,
0x0171 , 0x00F9 , 0x00FA , 0x00FB , 0x00FC , 0x0119 , 0x021B , 0x00FF } } ,
// next bits generated again from tables on the Unicode 3.0 CD.
// $ for a in CP* ; do (awk '/^0x[89ABCDEF]/{ print $1, $2 }' < $a) | sort | sed -e 's/#UNDEF.*$/0xFFFD/' | cut -c6- | paste '-d ' - - - - - - - - | sed -e 's/ /, /g' -e 's/$/,/' -e '$ s/,$/} },/' -e '1 s/^/{ /' > ~/tmp/$a ; done
2016-11-16 17:03:56 +00:00
{ " IBM850 " , { " CP850 " , " csPC850Multilingual " , Q_NULLPTR } , 2009 ,
2015-12-10 05:06:13 +02:00
{ 0x00C7 , 0x00FC , 0x00E9 , 0x00E2 , 0x00E4 , 0x00E0 , 0x00E5 , 0x00E7 ,
0x00EA , 0x00EB , 0x00E8 , 0x00EF , 0x00EE , 0x00EC , 0x00C4 , 0x00C5 ,
0x00C9 , 0x00E6 , 0x00C6 , 0x00F4 , 0x00F6 , 0x00F2 , 0x00FB , 0x00F9 ,
0x00FF , 0x00D6 , 0x00DC , 0x00F8 , 0x00A3 , 0x00D8 , 0x00D7 , 0x0192 ,
0x00E1 , 0x00ED , 0x00F3 , 0x00FA , 0x00F1 , 0x00D1 , 0x00AA , 0x00BA ,
0x00BF , 0x00AE , 0x00AC , 0x00BD , 0x00BC , 0x00A1 , 0x00AB , 0x00BB ,
0x2591 , 0x2592 , 0x2593 , 0x2502 , 0x2524 , 0x00C1 , 0x00C2 , 0x00C0 ,
0x00A9 , 0x2563 , 0x2551 , 0x2557 , 0x255D , 0x00A2 , 0x00A5 , 0x2510 ,
0x2514 , 0x2534 , 0x252C , 0x251C , 0x2500 , 0x253C , 0x00E3 , 0x00C3 ,
0x255A , 0x2554 , 0x2569 , 0x2566 , 0x2560 , 0x2550 , 0x256C , 0x00A4 ,
0x00F0 , 0x00D0 , 0x00CA , 0x00CB , 0x00C8 , 0x0131 , 0x00CD , 0x00CE ,
0x00CF , 0x2518 , 0x250C , 0x2588 , 0x2584 , 0x00A6 , 0x00CC , 0x2580 ,
0x00D3 , 0x00DF , 0x00D4 , 0x00D2 , 0x00F5 , 0x00D5 , 0x00B5 , 0x00FE ,
0x00DE , 0x00DA , 0x00DB , 0x00D9 , 0x00FD , 0x00DD , 0x00AF , 0x00B4 ,
0x00AD , 0x00B1 , 0x2017 , 0x00BE , 0x00B6 , 0x00A7 , 0x00F7 , 0x00B8 ,
0x00B0 , 0x00A8 , 0x00B7 , 0x00B9 , 0x00B3 , 0x00B2 , 0x25A0 , 0x00A0 } } ,
2016-11-16 17:03:56 +00:00
{ " IBM874 " , { " CP874 " , Q_NULLPTR } , - 874 , //### what is the mib?
2015-12-10 05:06:13 +02:00
{ 0x20AC , 0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD , 0x2026 , 0xFFFD , 0xFFFD ,
0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD ,
0xFFFD , 0x2018 , 0x2019 , 0x201C , 0x201D , 0x2022 , 0x2013 , 0x2014 ,
0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD ,
0x00A0 , 0x0E01 , 0x0E02 , 0x0E03 , 0x0E04 , 0x0E05 , 0x0E06 , 0x0E07 ,
0x0E08 , 0x0E09 , 0x0E0A , 0x0E0B , 0x0E0C , 0x0E0D , 0x0E0E , 0x0E0F ,
0x0E10 , 0x0E11 , 0x0E12 , 0x0E13 , 0x0E14 , 0x0E15 , 0x0E16 , 0x0E17 ,
0x0E18 , 0x0E19 , 0x0E1A , 0x0E1B , 0x0E1C , 0x0E1D , 0x0E1E , 0x0E1F ,
0x0E20 , 0x0E21 , 0x0E22 , 0x0E23 , 0x0E24 , 0x0E25 , 0x0E26 , 0x0E27 ,
0x0E28 , 0x0E29 , 0x0E2A , 0x0E2B , 0x0E2C , 0x0E2D , 0x0E2E , 0x0E2F ,
0x0E30 , 0x0E31 , 0x0E32 , 0x0E33 , 0x0E34 , 0x0E35 , 0x0E36 , 0x0E37 ,
0x0E38 , 0x0E39 , 0x0E3A , 0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD , 0x0E3F ,
0x0E40 , 0x0E41 , 0x0E42 , 0x0E43 , 0x0E44 , 0x0E45 , 0x0E46 , 0x0E47 ,
0x0E48 , 0x0E49 , 0x0E4A , 0x0E4B , 0x0E4C , 0x0E4D , 0x0E4E , 0x0E4F ,
0x0E50 , 0x0E51 , 0x0E52 , 0x0E53 , 0x0E54 , 0x0E55 , 0x0E56 , 0x0E57 ,
0x0E58 , 0x0E59 , 0x0E5A , 0x0E5B , 0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD } } ,
2016-11-16 17:03:56 +00:00
{ " IBM866 " , { " CP866 " , " csIBM866 " , Q_NULLPTR } , 2086 ,
2015-12-10 05:06:13 +02:00
{ 0x0410 , 0x0411 , 0x0412 , 0x0413 , 0x0414 , 0x0415 , 0x0416 , 0x0417 ,
0x0418 , 0x0419 , 0x041A , 0x041B , 0x041C , 0x041D , 0x041E , 0x041F ,
0x0420 , 0x0421 , 0x0422 , 0x0423 , 0x0424 , 0x0425 , 0x0426 , 0x0427 ,
0x0428 , 0x0429 , 0x042A , 0x042B , 0x042C , 0x042D , 0x042E , 0x042F ,
0x0430 , 0x0431 , 0x0432 , 0x0433 , 0x0434 , 0x0435 , 0x0436 , 0x0437 ,
0x0438 , 0x0439 , 0x043A , 0x043B , 0x043C , 0x043D , 0x043E , 0x043F ,
0x2591 , 0x2592 , 0x2593 , 0x2502 , 0x2524 , 0x2561 , 0x2562 , 0x2556 ,
0x2555 , 0x2563 , 0x2551 , 0x2557 , 0x255D , 0x255C , 0x255B , 0x2510 ,
0x2514 , 0x2534 , 0x252C , 0x251C , 0x2500 , 0x253C , 0x255E , 0x255F ,
0x255A , 0x2554 , 0x2569 , 0x2566 , 0x2560 , 0x2550 , 0x256C , 0x2567 ,
0x2568 , 0x2564 , 0x2565 , 0x2559 , 0x2558 , 0x2552 , 0x2553 , 0x256B ,
0x256A , 0x2518 , 0x250C , 0x2588 , 0x2584 , 0x258C , 0x2590 , 0x2580 ,
0x0440 , 0x0441 , 0x0442 , 0x0443 , 0x0444 , 0x0445 , 0x0446 , 0x0447 ,
0x0448 , 0x0449 , 0x044A , 0x044B , 0x044C , 0x044D , 0x044E , 0x044F ,
0x0401 , 0x0451 , 0x0404 , 0x0454 , 0x0407 , 0x0457 , 0x040E , 0x045E ,
0x00B0 , 0x2219 , 0x00B7 , 0x221A , 0x2116 , 0x00A4 , 0x25A0 , 0x00A0 } } ,
2016-11-16 17:03:56 +00:00
{ " windows-1250 " , { " CP1250 " , Q_NULLPTR } , 2250 ,
2015-12-10 05:06:13 +02:00
{ 0x20AC , 0xFFFD , 0x201A , 0xFFFD , 0x201E , 0x2026 , 0x2020 , 0x2021 ,
0xFFFD , 0x2030 , 0x0160 , 0x2039 , 0x015A , 0x0164 , 0x017D , 0x0179 ,
0xFFFD , 0x2018 , 0x2019 , 0x201C , 0x201D , 0x2022 , 0x2013 , 0x2014 ,
0xFFFD , 0x2122 , 0x0161 , 0x203A , 0x015B , 0x0165 , 0x017E , 0x017A ,
0x00A0 , 0x02C7 , 0x02D8 , 0x0141 , 0x00A4 , 0x0104 , 0x00A6 , 0x00A7 ,
0x00A8 , 0x00A9 , 0x015E , 0x00AB , 0x00AC , 0x00AD , 0x00AE , 0x017B ,
0x00B0 , 0x00B1 , 0x02DB , 0x0142 , 0x00B4 , 0x00B5 , 0x00B6 , 0x00B7 ,
0x00B8 , 0x0105 , 0x015F , 0x00BB , 0x013D , 0x02DD , 0x013E , 0x017C ,
0x0154 , 0x00C1 , 0x00C2 , 0x0102 , 0x00C4 , 0x0139 , 0x0106 , 0x00C7 ,
0x010C , 0x00C9 , 0x0118 , 0x00CB , 0x011A , 0x00CD , 0x00CE , 0x010E ,
0x0110 , 0x0143 , 0x0147 , 0x00D3 , 0x00D4 , 0x0150 , 0x00D6 , 0x00D7 ,
0x0158 , 0x016E , 0x00DA , 0x0170 , 0x00DC , 0x00DD , 0x0162 , 0x00DF ,
0x0155 , 0x00E1 , 0x00E2 , 0x0103 , 0x00E4 , 0x013A , 0x0107 , 0x00E7 ,
0x010D , 0x00E9 , 0x0119 , 0x00EB , 0x011B , 0x00ED , 0x00EE , 0x010F ,
0x0111 , 0x0144 , 0x0148 , 0x00F3 , 0x00F4 , 0x0151 , 0x00F6 , 0x00F7 ,
0x0159 , 0x016F , 0x00FA , 0x0171 , 0x00FC , 0x00FD , 0x0163 , 0x02D9 } } ,
2016-11-16 17:03:56 +00:00
{ " windows-1251 " , { " CP1251 " , Q_NULLPTR } , 2251 ,
2015-12-10 05:06:13 +02:00
{ 0x0402 , 0x0403 , 0x201A , 0x0453 , 0x201E , 0x2026 , 0x2020 , 0x2021 ,
0x20AC , 0x2030 , 0x0409 , 0x2039 , 0x040A , 0x040C , 0x040B , 0x040F ,
0x0452 , 0x2018 , 0x2019 , 0x201C , 0x201D , 0x2022 , 0x2013 , 0x2014 ,
0xFFFD , 0x2122 , 0x0459 , 0x203A , 0x045A , 0x045C , 0x045B , 0x045F ,
0x00A0 , 0x040E , 0x045E , 0x0408 , 0x00A4 , 0x0490 , 0x00A6 , 0x00A7 ,
0x0401 , 0x00A9 , 0x0404 , 0x00AB , 0x00AC , 0x00AD , 0x00AE , 0x0407 ,
0x00B0 , 0x00B1 , 0x0406 , 0x0456 , 0x0491 , 0x00B5 , 0x00B6 , 0x00B7 ,
0x0451 , 0x2116 , 0x0454 , 0x00BB , 0x0458 , 0x0405 , 0x0455 , 0x0457 ,
0x0410 , 0x0411 , 0x0412 , 0x0413 , 0x0414 , 0x0415 , 0x0416 , 0x0417 ,
0x0418 , 0x0419 , 0x041A , 0x041B , 0x041C , 0x041D , 0x041E , 0x041F ,
0x0420 , 0x0421 , 0x0422 , 0x0423 , 0x0424 , 0x0425 , 0x0426 , 0x0427 ,
0x0428 , 0x0429 , 0x042A , 0x042B , 0x042C , 0x042D , 0x042E , 0x042F ,
0x0430 , 0x0431 , 0x0432 , 0x0433 , 0x0434 , 0x0435 , 0x0436 , 0x0437 ,
0x0438 , 0x0439 , 0x043A , 0x043B , 0x043C , 0x043D , 0x043E , 0x043F ,
0x0440 , 0x0441 , 0x0442 , 0x0443 , 0x0444 , 0x0445 , 0x0446 , 0x0447 ,
0x0448 , 0x0449 , 0x044A , 0x044B , 0x044C , 0x044D , 0x044E , 0x044F } } ,
2016-11-16 17:03:56 +00:00
{ " windows-1252 " , { " CP1252 " , Q_NULLPTR } , 2252 ,
2015-12-10 05:06:13 +02:00
{ 0x20AC , 0xFFFD , 0x201A , 0x0192 , 0x201E , 0x2026 , 0x2020 , 0x2021 ,
0x02C6 , 0x2030 , 0x0160 , 0x2039 , 0x0152 , 0xFFFD , 0x017D , 0xFFFD ,
0xFFFD , 0x2018 , 0x2019 , 0x201C , 0x201D , 0x2022 , 0x2013 , 0x2014 ,
0x02DC , 0x2122 , 0x0161 , 0x203A , 0x0153 , 0xFFFD , 0x017E , 0x0178 ,
0x00A0 , 0x00A1 , 0x00A2 , 0x00A3 , 0x00A4 , 0x00A5 , 0x00A6 , 0x00A7 ,
0x00A8 , 0x00A9 , 0x00AA , 0x00AB , 0x00AC , 0x00AD , 0x00AE , 0x00AF ,
0x00B0 , 0x00B1 , 0x00B2 , 0x00B3 , 0x00B4 , 0x00B5 , 0x00B6 , 0x00B7 ,
0x00B8 , 0x00B9 , 0x00BA , 0x00BB , 0x00BC , 0x00BD , 0x00BE , 0x00BF ,
0x00C0 , 0x00C1 , 0x00C2 , 0x00C3 , 0x00C4 , 0x00C5 , 0x00C6 , 0x00C7 ,
0x00C8 , 0x00C9 , 0x00CA , 0x00CB , 0x00CC , 0x00CD , 0x00CE , 0x00CF ,
0x00D0 , 0x00D1 , 0x00D2 , 0x00D3 , 0x00D4 , 0x00D5 , 0x00D6 , 0x00D7 ,
0x00D8 , 0x00D9 , 0x00DA , 0x00DB , 0x00DC , 0x00DD , 0x00DE , 0x00DF ,
0x00E0 , 0x00E1 , 0x00E2 , 0x00E3 , 0x00E4 , 0x00E5 , 0x00E6 , 0x00E7 ,
0x00E8 , 0x00E9 , 0x00EA , 0x00EB , 0x00EC , 0x00ED , 0x00EE , 0x00EF ,
0x00F0 , 0x00F1 , 0x00F2 , 0x00F3 , 0x00F4 , 0x00F5 , 0x00F6 , 0x00F7 ,
0x00F8 , 0x00F9 , 0x00FA , 0x00FB , 0x00FC , 0x00FD , 0x00FE , 0x00FF } } ,
2016-11-16 17:03:56 +00:00
{ " windows-1253 " , { " CP1253 " , Q_NULLPTR } , 2253 ,
2015-12-10 05:06:13 +02:00
{ 0x20AC , 0xFFFD , 0x201A , 0x0192 , 0x201E , 0x2026 , 0x2020 , 0x2021 ,
0xFFFD , 0x2030 , 0xFFFD , 0x2039 , 0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD ,
0xFFFD , 0x2018 , 0x2019 , 0x201C , 0x201D , 0x2022 , 0x2013 , 0x2014 ,
0xFFFD , 0x2122 , 0xFFFD , 0x203A , 0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD ,
0x00A0 , 0x0385 , 0x0386 , 0x00A3 , 0x00A4 , 0x00A5 , 0x00A6 , 0x00A7 ,
0x00A8 , 0x00A9 , 0xFFFD , 0x00AB , 0x00AC , 0x00AD , 0x00AE , 0x2015 ,
0x00B0 , 0x00B1 , 0x00B2 , 0x00B3 , 0x0384 , 0x00B5 , 0x00B6 , 0x00B7 ,
0x0388 , 0x0389 , 0x038A , 0x00BB , 0x038C , 0x00BD , 0x038E , 0x038F ,
0x0390 , 0x0391 , 0x0392 , 0x0393 , 0x0394 , 0x0395 , 0x0396 , 0x0397 ,
0x0398 , 0x0399 , 0x039A , 0x039B , 0x039C , 0x039D , 0x039E , 0x039F ,
0x03A0 , 0x03A1 , 0xFFFD , 0x03A3 , 0x03A4 , 0x03A5 , 0x03A6 , 0x03A7 ,
0x03A8 , 0x03A9 , 0x03AA , 0x03AB , 0x03AC , 0x03AD , 0x03AE , 0x03AF ,
0x03B0 , 0x03B1 , 0x03B2 , 0x03B3 , 0x03B4 , 0x03B5 , 0x03B6 , 0x03B7 ,
0x03B8 , 0x03B9 , 0x03BA , 0x03BB , 0x03BC , 0x03BD , 0x03BE , 0x03BF ,
0x03C0 , 0x03C1 , 0x03C2 , 0x03C3 , 0x03C4 , 0x03C5 , 0x03C6 , 0x03C7 ,
0x03C8 , 0x03C9 , 0x03CA , 0x03CB , 0x03CC , 0x03CD , 0x03CE , 0xFFFD } } ,
2016-11-16 17:03:56 +00:00
{ " windows-1254 " , { " CP1254 " , Q_NULLPTR } , 2254 ,
2015-12-10 05:06:13 +02:00
{ 0x20AC , 0xFFFD , 0x201A , 0x0192 , 0x201E , 0x2026 , 0x2020 , 0x2021 ,
0x02C6 , 0x2030 , 0x0160 , 0x2039 , 0x0152 , 0xFFFD , 0xFFFD , 0xFFFD ,
0xFFFD , 0x2018 , 0x2019 , 0x201C , 0x201D , 0x2022 , 0x2013 , 0x2014 ,
0x02DC , 0x2122 , 0x0161 , 0x203A , 0x0153 , 0xFFFD , 0xFFFD , 0x0178 ,
0x00A0 , 0x00A1 , 0x00A2 , 0x00A3 , 0x00A4 , 0x00A5 , 0x00A6 , 0x00A7 ,
0x00A8 , 0x00A9 , 0x00AA , 0x00AB , 0x00AC , 0x00AD , 0x00AE , 0x00AF ,
0x00B0 , 0x00B1 , 0x00B2 , 0x00B3 , 0x00B4 , 0x00B5 , 0x00B6 , 0x00B7 ,
0x00B8 , 0x00B9 , 0x00BA , 0x00BB , 0x00BC , 0x00BD , 0x00BE , 0x00BF ,
0x00C0 , 0x00C1 , 0x00C2 , 0x00C3 , 0x00C4 , 0x00C5 , 0x00C6 , 0x00C7 ,
0x00C8 , 0x00C9 , 0x00CA , 0x00CB , 0x00CC , 0x00CD , 0x00CE , 0x00CF ,
0x011E , 0x00D1 , 0x00D2 , 0x00D3 , 0x00D4 , 0x00D5 , 0x00D6 , 0x00D7 ,
0x00D8 , 0x00D9 , 0x00DA , 0x00DB , 0x00DC , 0x0130 , 0x015E , 0x00DF ,
0x00E0 , 0x00E1 , 0x00E2 , 0x00E3 , 0x00E4 , 0x00E5 , 0x00E6 , 0x00E7 ,
0x00E8 , 0x00E9 , 0x00EA , 0x00EB , 0x00EC , 0x00ED , 0x00EE , 0x00EF ,
0x011F , 0x00F1 , 0x00F2 , 0x00F3 , 0x00F4 , 0x00F5 , 0x00F6 , 0x00F7 ,
0x00F8 , 0x00F9 , 0x00FA , 0x00FB , 0x00FC , 0x0131 , 0x015F , 0x00FF } } ,
2016-11-16 17:03:56 +00:00
{ " windows-1255 " , { " CP1255 " , Q_NULLPTR } , 2255 ,
2015-12-10 05:06:13 +02:00
{ 0x20AC , 0xFFFD , 0x201A , 0x0192 , 0x201E , 0x2026 , 0x2020 , 0x2021 ,
0x02C6 , 0x2030 , 0xFFFD , 0x2039 , 0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD ,
0xFFFD , 0x2018 , 0x2019 , 0x201C , 0x201D , 0x2022 , 0x2013 , 0x2014 ,
0x02DC , 0x2122 , 0xFFFD , 0x203A , 0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD ,
0x00A0 , 0x00A1 , 0x00A2 , 0x00A3 , 0x20AA , 0x00A5 , 0x00A6 , 0x00A7 ,
0x00A8 , 0x00A9 , 0x00D7 , 0x00AB , 0x00AC , 0x00AD , 0x00AE , 0x00AF ,
0x00B0 , 0x00B1 , 0x00B2 , 0x00B3 , 0x00B4 , 0x00B5 , 0x00B6 , 0x00B7 ,
0x00B8 , 0x00B9 , 0x00F7 , 0x00BB , 0x00BC , 0x00BD , 0x00BE , 0x00BF ,
0x05B0 , 0x05B1 , 0x05B2 , 0x05B3 , 0x05B4 , 0x05B5 , 0x05B6 , 0x05B7 ,
0x05B8 , 0x05B9 , 0xFFFD , 0x05BB , 0x05BC , 0x05BD , 0x05BE , 0x05BF ,
0x05C0 , 0x05C1 , 0x05C2 , 0x05C3 , 0x05F0 , 0x05F1 , 0x05F2 , 0x05F3 ,
0x05F4 , 0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD ,
0x05D0 , 0x05D1 , 0x05D2 , 0x05D3 , 0x05D4 , 0x05D5 , 0x05D6 , 0x05D7 ,
0x05D8 , 0x05D9 , 0x05DA , 0x05DB , 0x05DC , 0x05DD , 0x05DE , 0x05DF ,
0x05E0 , 0x05E1 , 0x05E2 , 0x05E3 , 0x05E4 , 0x05E5 , 0x05E6 , 0x05E7 ,
0x05E8 , 0x05E9 , 0x05EA , 0xFFFD , 0xFFFD , 0x200E , 0x200F , 0xFFFD } } ,
2016-11-16 17:03:56 +00:00
{ " windows-1256 " , { " CP1256 " , Q_NULLPTR } , 2256 ,
2015-12-10 05:06:13 +02:00
{ 0x20AC , 0x067E , 0x201A , 0x0192 , 0x201E , 0x2026 , 0x2020 , 0x2021 ,
0x02C6 , 0x2030 , 0x0679 , 0x2039 , 0x0152 , 0x0686 , 0x0698 , 0x0688 ,
0x06AF , 0x2018 , 0x2019 , 0x201C , 0x201D , 0x2022 , 0x2013 , 0x2014 ,
0x06A9 , 0x2122 , 0x0691 , 0x203A , 0x0153 , 0x200C , 0x200D , 0x06BA ,
0x00A0 , 0x060C , 0x00A2 , 0x00A3 , 0x00A4 , 0x00A5 , 0x00A6 , 0x00A7 ,
0x00A8 , 0x00A9 , 0x06BE , 0x00AB , 0x00AC , 0x00AD , 0x00AE , 0x00AF ,
0x00B0 , 0x00B1 , 0x00B2 , 0x00B3 , 0x00B4 , 0x00B5 , 0x00B6 , 0x00B7 ,
0x00B8 , 0x00B9 , 0x061B , 0x00BB , 0x00BC , 0x00BD , 0x00BE , 0x061F ,
0x06C1 , 0x0621 , 0x0622 , 0x0623 , 0x0624 , 0x0625 , 0x0626 , 0x0627 ,
0x0628 , 0x0629 , 0x062A , 0x062B , 0x062C , 0x062D , 0x062E , 0x062F ,
0x0630 , 0x0631 , 0x0632 , 0x0633 , 0x0634 , 0x0635 , 0x0636 , 0x00D7 ,
0x0637 , 0x0638 , 0x0639 , 0x063A , 0x0640 , 0x0641 , 0x0642 , 0x0643 ,
0x00E0 , 0x0644 , 0x00E2 , 0x0645 , 0x0646 , 0x0647 , 0x0648 , 0x00E7 ,
0x00E8 , 0x00E9 , 0x00EA , 0x00EB , 0x0649 , 0x064A , 0x00EE , 0x00EF ,
0x064B , 0x064C , 0x064D , 0x064E , 0x00F4 , 0x064F , 0x0650 , 0x00F7 ,
0x0651 , 0x00F9 , 0x0652 , 0x00FB , 0x00FC , 0x200E , 0x200F , 0x06D2 } } ,
2016-11-16 17:03:56 +00:00
{ " windows-1257 " , { " CP1257 " , Q_NULLPTR } , 2257 ,
2015-12-10 05:06:13 +02:00
{ 0x20AC , 0xFFFD , 0x201A , 0xFFFD , 0x201E , 0x2026 , 0x2020 , 0x2021 ,
0xFFFD , 0x2030 , 0xFFFD , 0x2039 , 0xFFFD , 0x00A8 , 0x02C7 , 0x00B8 ,
0xFFFD , 0x2018 , 0x2019 , 0x201C , 0x201D , 0x2022 , 0x2013 , 0x2014 ,
0xFFFD , 0x2122 , 0xFFFD , 0x203A , 0xFFFD , 0x00AF , 0x02DB , 0xFFFD ,
0x00A0 , 0xFFFD , 0x00A2 , 0x00A3 , 0x00A4 , 0xFFFD , 0x00A6 , 0x00A7 ,
0x00D8 , 0x00A9 , 0x0156 , 0x00AB , 0x00AC , 0x00AD , 0x00AE , 0x00C6 ,
0x00B0 , 0x00B1 , 0x00B2 , 0x00B3 , 0x00B4 , 0x00B5 , 0x00B6 , 0x00B7 ,
0x00F8 , 0x00B9 , 0x0157 , 0x00BB , 0x00BC , 0x00BD , 0x00BE , 0x00E6 ,
0x0104 , 0x012E , 0x0100 , 0x0106 , 0x00C4 , 0x00C5 , 0x0118 , 0x0112 ,
0x010C , 0x00C9 , 0x0179 , 0x0116 , 0x0122 , 0x0136 , 0x012A , 0x013B ,
0x0160 , 0x0143 , 0x0145 , 0x00D3 , 0x014C , 0x00D5 , 0x00D6 , 0x00D7 ,
0x0172 , 0x0141 , 0x015A , 0x016A , 0x00DC , 0x017B , 0x017D , 0x00DF ,
0x0105 , 0x012F , 0x0101 , 0x0107 , 0x00E4 , 0x00E5 , 0x0119 , 0x0113 ,
0x010D , 0x00E9 , 0x017A , 0x0117 , 0x0123 , 0x0137 , 0x012B , 0x013C ,
0x0161 , 0x0144 , 0x0146 , 0x00F3 , 0x014D , 0x00F5 , 0x00F6 , 0x00F7 ,
0x0173 , 0x0142 , 0x015B , 0x016B , 0x00FC , 0x017C , 0x017E , 0x02D9 } } ,
2016-11-16 17:03:56 +00:00
{ " windows-1258 " , { " CP1258 " , Q_NULLPTR } , 2258 ,
2015-12-10 05:06:13 +02:00
{ 0x20AC , 0xFFFD , 0x201A , 0x0192 , 0x201E , 0x2026 , 0x2020 , 0x2021 ,
0x02C6 , 0x2030 , 0xFFFD , 0x2039 , 0x0152 , 0xFFFD , 0xFFFD , 0xFFFD ,
0xFFFD , 0x2018 , 0x2019 , 0x201C , 0x201D , 0x2022 , 0x2013 , 0x2014 ,
0x02DC , 0x2122 , 0xFFFD , 0x203A , 0x0153 , 0xFFFD , 0xFFFD , 0x0178 ,
0x00A0 , 0x00A1 , 0x00A2 , 0x00A3 , 0x00A4 , 0x00A5 , 0x00A6 , 0x00A7 ,
0x00A8 , 0x00A9 , 0x00AA , 0x00AB , 0x00AC , 0x00AD , 0x00AE , 0x00AF ,
0x00B0 , 0x00B1 , 0x00B2 , 0x00B3 , 0x00B4 , 0x00B5 , 0x00B6 , 0x00B7 ,
0x00B8 , 0x00B9 , 0x00BA , 0x00BB , 0x00BC , 0x00BD , 0x00BE , 0x00BF ,
0x00C0 , 0x00C1 , 0x00C2 , 0x0102 , 0x00C4 , 0x00C5 , 0x00C6 , 0x00C7 ,
0x00C8 , 0x00C9 , 0x00CA , 0x00CB , 0x0300 , 0x00CD , 0x00CE , 0x00CF ,
0x0110 , 0x00D1 , 0x0309 , 0x00D3 , 0x00D4 , 0x01A0 , 0x00D6 , 0x00D7 ,
0x00D8 , 0x00D9 , 0x00DA , 0x00DB , 0x00DC , 0x01AF , 0x0303 , 0x00DF ,
0x00E0 , 0x00E1 , 0x00E2 , 0x0103 , 0x00E4 , 0x00E5 , 0x00E6 , 0x00E7 ,
0x00E8 , 0x00E9 , 0x00EA , 0x00EB , 0x0301 , 0x00ED , 0x00EE , 0x00EF ,
0x0111 , 0x00F1 , 0x0323 , 0x00F3 , 0x00F4 , 0x01A1 , 0x00F6 , 0x00F7 ,
0x00F8 , 0x00F9 , 0x00FA , 0x00FB , 0x00FC , 0x01B0 , 0x20AB , 0x00FF } } ,
2016-11-16 17:03:56 +00:00
{ " Apple Roman " , { " macintosh " , " MacRoman " , Q_NULLPTR } , - 168 ,
2015-12-10 05:06:13 +02:00
{ 0x00C4 , 0x00C5 , 0x00C7 , 0x00C9 , 0x00D1 , 0x00D6 , 0x00DC , 0x00E1 ,
0x00E0 , 0x00E2 , 0x00E4 , 0x00E3 , 0x00E5 , 0x00E7 , 0x00E9 , 0x00E8 ,
0x00EA , 0x00EB , 0x00ED , 0x00EC , 0x00EE , 0x00EF , 0x00F1 , 0x00F3 ,
0x00F2 , 0x00F4 , 0x00F6 , 0x00F5 , 0x00FA , 0x00F9 , 0x00FB , 0x00FC ,
0x2020 , 0x00B0 , 0x00A2 , 0x00A3 , 0x00A7 , 0x2022 , 0x00B6 , 0x00DF ,
0x00AE , 0x00A9 , 0x2122 , 0x00B4 , 0x00A8 , 0x2260 , 0x00C6 , 0x00D8 ,
0x221E , 0x00B1 , 0x2264 , 0x2265 , 0x00A5 , 0x00B5 , 0x2202 , 0x2211 ,
0x220F , 0x03C0 , 0x222B , 0x00AA , 0x00BA , 0x03A9 , 0x00E6 , 0x00F8 ,
0x00BF , 0x00A1 , 0x00AC , 0x221A , 0x0192 , 0x2248 , 0x2206 , 0x00AB ,
0x00BB , 0x2026 , 0x00A0 , 0x00C0 , 0x00C3 , 0x00D5 , 0x0152 , 0x0153 ,
0x2013 , 0x2014 , 0x201C , 0x201D , 0x2018 , 0x2019 , 0x00F7 , 0x25CA ,
0x00FF , 0x0178 , 0x2044 , 0x20AC , 0x2039 , 0x203A , 0xFB01 , 0xFB02 ,
0x2021 , 0x00B7 , 0x201A , 0x201E , 0x2030 , 0x00C2 , 0x00CA , 0x00C1 ,
0x00CB , 0x00C8 , 0x00CD , 0x00CE , 0x00CF , 0x00CC , 0x00D3 , 0x00D4 ,
0xF8FF , 0x00D2 , 0x00DA , 0x00DB , 0x00D9 , 0x0131 , 0x02C6 , 0x02DC ,
0x00AF , 0x02D8 , 0x02D9 , 0x02DA , 0x00B8 , 0x02DD , 0x02DB , 0x02C7 } } ,
// This one is based on the charmap file
// /usr/share/i18n/charmaps/SAMI-WS2.gz, which is manually adapted
// to this format by Boerre Gaup <boerre@subdimension.com>
2016-11-16 17:03:56 +00:00
{ " WINSAMI2 " , { " WS2 " , Q_NULLPTR } , - 165 ,
2015-12-10 05:06:13 +02:00
{ 0x20AC , 0xFFFD , 0x010C , 0x0192 , 0x010D , 0x01B7 , 0x0292 , 0x01EE ,
0x01EF , 0x0110 , 0x0160 , 0x2039 , 0x0152 , 0xFFFD , 0xFFFD , 0xFFFD ,
0xFFFD , 0x2018 , 0x2019 , 0x201C , 0x201D , 0x2022 , 0x2013 , 0x2014 ,
0x0111 , 0x01E6 , 0x0161 , 0x203A , 0x0153 , 0xFFFD , 0xFFFD , 0x0178 ,
0x00A0 , 0x01E7 , 0x01E4 , 0x00A3 , 0x00A4 , 0x01E5 , 0x00A6 , 0x00A7 ,
0x00A8 , 0x00A9 , 0x021E , 0x00AB , 0x00AC , 0x00AD , 0x00AE , 0x021F ,
0x00B0 , 0x00B1 , 0x01E8 , 0x01E9 , 0x00B4 , 0x00B5 , 0x00B6 , 0x00B7 ,
0x014A , 0x014B , 0x0166 , 0x00BB , 0x0167 , 0x00BD , 0x017D , 0x017E ,
0x00C0 , 0x00C1 , 0x00C2 , 0x00C3 , 0x00C4 , 0x00C5 , 0x00C6 , 0x00C7 ,
0x00C8 , 0x00C9 , 0x00CA , 0x00CB , 0x00CC , 0x00CD , 0x00CE , 0x00CF ,
0x00D0 , 0x00D1 , 0x00D2 , 0x00D3 , 0x00D4 , 0x00D5 , 0x00D6 , 0x00D7 ,
0x00D8 , 0x00D9 , 0x00DA , 0x00DB , 0x00DC , 0x00DD , 0x00DE , 0x00DF ,
0x00E0 , 0x00E1 , 0x00E2 , 0x00E3 , 0x00E4 , 0x00E5 , 0x00E6 , 0x00E7 ,
0x00E8 , 0x00E9 , 0x00EA , 0x00EB , 0x00EC , 0x00ED , 0x00EE , 0x00EF ,
0x00F0 , 0x00F1 , 0x00F2 , 0x00F3 , 0x00F4 , 0x00F5 , 0x00F6 , 0x00F7 ,
0x00F8 , 0x00F9 , 0x00FA , 0x00FB , 0x00FC , 0x00FD , 0x00FE , 0x00FF } } ,
// this one is generated from the charmap file located in /usr/share/i18n/charmaps
// on most Linux distributions. The thai character set tis620 is byte by byte equivalent
// to iso8859-11, so we name it 8859-11 here, but recognise the name tis620 too.
// $ for A in 8 9 A B C D E F ; do for B in 0 1 2 3 4 5 6 7 8 9 A B C D E F ; do echo x${A}${B} 0xFFFD ; done ; done > /tmp/digits ; (cut -c25- < TIS-620 ; cat /tmp/digits) | awk '/^x[89ABCDEF]/{ print $1, $2 }' | sed -e 's/<U/0x/' -e 's/>//' | sort | uniq -w4 | cut -c5- | paste '-d ' - - - - - - - - | sed -e 's/ /, /g' -e 's/$/,/' -e '$ s/,$/} },/' -e '1 s/^/{ /' > ~/tmp/tis-620
2016-11-16 17:03:56 +00:00
{ " TIS-620 " , { " ISO 8859-11 " , Q_NULLPTR } , 2259 , // Thai character set mib enum taken from tis620 (which is byte by byte equivalent)
2015-12-10 05:06:13 +02:00
{ 0x20AC , 0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD , 0x2026 , 0xFFFD , 0xFFFD ,
0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD ,
0xFFFD , 0x2018 , 0x2019 , 0x201C , 0x201D , 0x2022 , 0x2013 , 0x2014 ,
0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD ,
0xFFFD , 0x0E01 , 0x0E02 , 0x0E03 , 0x0E04 , 0x0E05 , 0x0E06 , 0x0E07 ,
0x0E08 , 0x0E09 , 0x0E0A , 0x0E0B , 0x0E0C , 0x0E0D , 0x0E0E , 0x0E0F ,
0x0E10 , 0x0E11 , 0x0E12 , 0x0E13 , 0x0E14 , 0x0E15 , 0x0E16 , 0x0E17 ,
0x0E18 , 0x0E19 , 0x0E1A , 0x0E1B , 0x0E1C , 0x0E1D , 0x0E1E , 0x0E1F ,
0x0E20 , 0x0E21 , 0x0E22 , 0x0E23 , 0x0E24 , 0x0E25 , 0x0E26 , 0x0E27 ,
0x0E28 , 0x0E29 , 0x0E2A , 0x0E2B , 0x0E2C , 0x0E2D , 0x0E2E , 0x0E2F ,
0x0E30 , 0x0E31 , 0x0E32 , 0x0E33 , 0x0E34 , 0x0E35 , 0x0E36 , 0x0E37 ,
0x0E38 , 0x0E39 , 0x0E3A , 0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD , 0x0E3F ,
0x0E40 , 0x0E41 , 0x0E42 , 0x0E43 , 0x0E44 , 0x0E45 , 0x0E46 , 0x0E47 ,
0x0E48 , 0x0E49 , 0x0E4A , 0x0E4B , 0x0E4C , 0x0E4D , 0x0E4E , 0x0E4F ,
0x0E50 , 0x0E51 , 0x0E52 , 0x0E53 , 0x0E54 , 0x0E55 , 0x0E56 , 0x0E57 ,
0x0E58 , 0x0E59 , 0x0E5A , 0x0E5B , 0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD } } ,
/*
Name : hp - roman8 [ HP - PCL5 , RFC1345 , KXS2 ]
MIBenum : 2004
Source : LaserJet IIP Printer User ' s Manual ,
HP part no 33471 - 90901 , Hewlet - Packard , June 1989.
Alias : roman8
Alias : r8
Alias : csHPRoman8
*/
2016-11-16 17:03:56 +00:00
{ " roman8 " , { " hp-roman8 " , " csHPRoman8 " , Q_NULLPTR } , 2004 ,
2015-12-10 05:06:13 +02:00
{ 0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD ,
0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD ,
0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD ,
0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD , 0xFFFD ,
0x00A0 , 0x00C0 , 0x00C2 , 0x00C8 , 0x00CA , 0x00CB , 0x00CE , 0x00CF ,
0x00B4 , 0x02CB , 0x02C6 , 0x00A8 , 0x02DC , 0x00D9 , 0x00DB , 0x20A4 ,
0x00AF , 0x00DD , 0x00FD , 0x00B0 , 0x00C7 , 0x00E7 , 0x00D1 , 0x00F1 ,
0x00A1 , 0x00BF , 0x00A4 , 0x00A3 , 0x00A5 , 0x00A7 , 0x0192 , 0x00A2 ,
0x00E2 , 0x00EA , 0x00F4 , 0x00FB , 0x00E1 , 0x00E9 , 0x00F3 , 0x00FA ,
0x00E0 , 0x00E8 , 0x00F2 , 0x00F9 , 0x00E4 , 0x00EB , 0x00F6 , 0x00FC ,
0x00C5 , 0x00EE , 0x00D8 , 0x00C6 , 0x00E5 , 0x00ED , 0x00F8 , 0x00E6 ,
0x00C4 , 0x00EC , 0x00D6 , 0x00DC , 0x00C9 , 0x00EF , 0x00DF , 0x00D4 ,
0x00C1 , 0x00C3 , 0x00E3 , 0x00D0 , 0x00F0 , 0x00CD , 0x00CC , 0x00D3 ,
0x00D2 , 0x00D5 , 0x00F5 , 0x0160 , 0x0161 , 0x00DA , 0x0178 , 0x00FF ,
0x00DE , 0x00FE , 0x00B7 , 0x00B5 , 0x00B6 , 0x00BE , 0x2014 , 0x00BC ,
0x00BD , 0x00AA , 0x00BA , 0x00AB , 0x25A0 , 0x00BB , 0x00B1 , 0xFFFD } }
// if you add more chacater sets at the end, change LAST_MIB above
} ;
2016-11-16 17:03:56 +00:00
QSimpleTextCodec : : QSimpleTextCodec ( int i ) : forwardIndex ( i ) , reverseMap ( Q_NULLPTR )
2015-12-10 05:06:13 +02:00
{
}
QSimpleTextCodec : : ~ QSimpleTextCodec ( )
{
delete reverseMap ;
}
static QByteArray * buildReverseMap ( int forwardIndex )
{
QByteArray * map = new QByteArray ( ) ;
int m = 0 ;
int i = 0 ;
while ( i < 128 ) {
if ( unicodevalues [ forwardIndex ] . values [ i ] > m & &
unicodevalues [ forwardIndex ] . values [ i ] < 0xfffd )
m = unicodevalues [ forwardIndex ] . values [ i ] ;
i + + ;
}
m + + ;
map - > resize ( m ) ;
for ( i = 0 ; i < 128 & & i < m ; i + + )
( * map ) [ i ] = ( char ) i ;
for ( ; i < m ; i + + )
( * map ) [ i ] = 0 ;
for ( i = 128 ; i < 256 ; i + + ) {
int u = unicodevalues [ forwardIndex ] . values [ i - 128 ] ;
if ( u < m )
( * map ) [ u ] = ( char ) ( unsigned char ) ( i ) ;
}
return map ;
}
QString QSimpleTextCodec : : convertToUnicode ( const char * chars , int len , ConverterState * ) const
{
2016-11-16 17:03:56 +00:00
if ( len < = 0 | | ! chars )
2015-12-10 05:06:13 +02:00
return QString ( ) ;
const unsigned char * c = ( const unsigned char * ) chars ;
QString r ( len , Qt : : Uninitialized ) ;
QChar * uc = r . data ( ) ;
for ( int i = 0 ; i < len ; i + + ) {
if ( c [ i ] > 127 )
uc [ i ] = unicodevalues [ forwardIndex ] . values [ c [ i ] - 128 ] ;
else
uc [ i ] = QLatin1Char ( c [ i ] ) ;
}
return r ;
}
QByteArray QSimpleTextCodec : : convertFromUnicode ( const QChar * in , int length , ConverterState * state ) const
{
const char replacement = ( state & & state - > flags & ConvertInvalidToNull ) ? 0 : ' ? ' ;
int invalid = 0 ;
if ( ! reverseMap ) {
QByteArray * tmp = buildReverseMap ( this - > forwardIndex ) ;
if ( ! reverseMap . testAndSetOrdered ( 0 , tmp ) )
delete tmp ;
}
QByteArray r ( length , Qt : : Uninitialized ) ;
int i = length ;
int u ;
const QChar * ucp = in ;
unsigned char * rp = ( unsigned char * ) r . data ( ) ;
const unsigned char * rmp = ( const unsigned char * ) reverseMap - > constData ( ) ;
int rmsize = ( int ) reverseMap - > size ( ) ;
while ( i - - )
{
u = ucp - > unicode ( ) ;
if ( u < 128 ) {
* rp = ( char ) u ;
} else {
* rp = ( ( u < rmsize ) ? ( * ( rmp + u ) ) : 0 ) ;
if ( * rp = = 0 ) {
* rp = replacement ;
+ + invalid ;
}
}
rp + + ;
ucp + + ;
}
if ( state ) {
state - > invalidChars + = invalid ;
}
return r ;
}
QByteArray QSimpleTextCodec : : name ( ) const
{
return unicodevalues [ forwardIndex ] . mime ;
}
QList < QByteArray > QSimpleTextCodec : : aliases ( ) const
{
QList < QByteArray > list ;
const char * const * a = unicodevalues [ forwardIndex ] . aliases ;
while ( * a ) {
list < < * a ;
+ + a ;
}
return list ;
}
int QSimpleTextCodec : : mibEnum ( ) const
{
return unicodevalues [ forwardIndex ] . mib ;
}
QT_END_NAMESPACE
# endif // QT_NO_TEXTCODEC