home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / wxos2233.zip / wxOS2-2_3_3.zip / wxWindows-2.3.3 / src / common / unictabl.inc < prev    next >
Text File  |  1999-12-31  |  36KB  |  847 lines

  1.  
  2.  
  3. /*
  4.  *    This file is #included by encconv.cpp
  5.  *
  6.  *    CVS-ID: $Id: unictabl.inc,v 1.1 1999/12/31 00:34:14 VS Exp $
  7.  *
  8.  *    *** ***  CAUTION! *** ***
  9.  *    Do not modify this file by hand! It is generated by shell
  10.  *    script $(WXWIN)/misc/unictabl/regenerate
  11.  *
  12.  *    Parts of this file are based on tables published by Unicode, Inc.
  13.  *    Original tables are freely available at 
  14.  *        ftp://ftp.unicode.org/MAPPINGS
  15.  *
  16.  *    Original copyright info as present in mapping tables follows:
  17.  *
  18.  *
  19.  *    Copyright (c) 1991-1999 Unicode, Inc.  All Rights reserved.
  20.  *
  21.  *    This file is provided as-is by Unicode, Inc. (The Unicode Consortium).
  22.  *    No claims are made as to fitness for any particular purpose.  No
  23.  *    warranties of any kind are expressed or implied.  The recipient
  24.  *    agrees to determine applicability of information provided.  If this
  25.  *    file has been provided on optical media by Unicode, Inc., the sole
  26.  *    remedy for any claim will be exchange of defective media within 90
  27.  *    days of receipt.
  28.  *
  29.  *    Unicode, Inc. hereby grants the right to freely use the information
  30.  *    supplied in this file in the creation of products supporting the
  31.  *    Unicode Standard, and to make copies of this file in any form for
  32.  *    internal or external distribution as long as this notice remains
  33.  *    attached.
  34.  */
  35.  
  36.  
  37.  
  38.  
  39. /* 
  40.  * ISO8859_1 to Unicode recoding table 
  41.  * based on file mappings/8859-1.TXT by Unicode Consortium
  42.  */
  43.  
  44. static wxUint16 encoding_table__ISO8859_1[128] = {
  45.     0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087, 
  46.     0x0088, 0x0089, 0x008A, 0x008B, 0x008C, 0x008D, 0x008E, 0x008F, 
  47.     0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097, 
  48.     0x0098, 0x0099, 0x009A, 0x009B, 0x009C, 0x009D, 0x009E, 0x009F, 
  49.     0x00A0, 0x00A1, 0x00A2, 0x00A3, 0x00A4, 0x00A5, 0x00A6, 0x00A7, 
  50.     0x00A8, 0x00A9, 0x00AA, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x00AF, 
  51.     0x00B0, 0x00B1, 0x00B2, 0x00B3, 0x00B4, 0x00B5, 0x00B6, 0x00B7, 
  52.     0x00B8, 0x00B9, 0x00BA, 0x00BB, 0x00BC, 0x00BD, 0x00BE, 0x00BF, 
  53.     0x00C0, 0x00C1, 0x00C2, 0x00C3, 0x00C4, 0x00C5, 0x00C6, 0x00C7, 
  54.     0x00C8, 0x00C9, 0x00CA, 0x00CB, 0x00CC, 0x00CD, 0x00CE, 0x00CF, 
  55.     0x00D0, 0x00D1, 0x00D2, 0x00D3, 0x00D4, 0x00D5, 0x00D6, 0x00D7, 
  56.     0x00D8, 0x00D9, 0x00DA, 0x00DB, 0x00DC, 0x00DD, 0x00DE, 0x00DF, 
  57.     0x00E0, 0x00E1, 0x00E2, 0x00E3, 0x00E4, 0x00E5, 0x00E6, 0x00E7, 
  58.     0x00E8, 0x00E9, 0x00EA, 0x00EB, 0x00EC, 0x00ED, 0x00EE, 0x00EF, 
  59.     0x00F0, 0x00F1, 0x00F2, 0x00F3, 0x00F4, 0x00F5, 0x00F6, 0x00F7, 
  60.     0x00F8, 0x00F9, 0x00FA, 0x00FB, 0x00FC, 0x00FD, 0x00FE, 0x00FF
  61.  };
  62.  
  63.  
  64. /* 
  65.  * ISO8859_10 to Unicode recoding table 
  66.  * based on file mappings/8859-10.TXT by Unicode Consortium
  67.  */
  68.  
  69. static wxUint16 encoding_table__ISO8859_10[128] = {
  70.     0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087, 
  71.     0x0088, 0x0089, 0x008A, 0x008B, 0x008C, 0x008D, 0x008E, 0x008F, 
  72.     0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097, 
  73.     0x0098, 0x0099, 0x009A, 0x009B, 0x009C, 0x009D, 0x009E, 0x009F, 
  74.     0x00A0, 0x0104, 0x0112, 0x0122, 0x012A, 0x0128, 0x0136, 0x00A7, 
  75.     0x013B, 0x0110, 0x0160, 0x0166, 0x017D, 0x00AD, 0x016A, 0x014A, 
  76.     0x00B0, 0x0105, 0x0113, 0x0123, 0x012B, 0x0129, 0x0137, 0x00B7, 
  77.     0x013C, 0x0111, 0x0161, 0x0167, 0x017E, 0x2015, 0x016B, 0x014B, 
  78.     0x0100, 0x00C1, 0x00C2, 0x00C3, 0x00C4, 0x00C5, 0x00C6, 0x012E, 
  79.     0x010C, 0x00C9, 0x0118, 0x00CB, 0x0116, 0x00CD, 0x00CE, 0x00CF, 
  80.     0x00D0, 0x0145, 0x014C, 0x00D3, 0x00D4, 0x00D5, 0x00D6, 0x0168, 
  81.     0x00D8, 0x0172, 0x00DA, 0x00DB, 0x00DC, 0x00DD, 0x00DE, 0x00DF, 
  82.     0x0101, 0x00E1, 0x00E2, 0x00E3, 0x00E4, 0x00E5, 0x00E6, 0x012F, 
  83.     0x010D, 0x00E9, 0x0119, 0x00EB, 0x0117, 0x00ED, 0x00EE, 0x00EF, 
  84.     0x00F0, 0x0146, 0x014D, 0x00F3, 0x00F4, 0x00F5, 0x00F6, 0x0169, 
  85.     0x00F8, 0x0173, 0x00FA, 0x00FB, 0x00FC, 0x00FD, 0x00FE, 0x0138
  86.  };
  87.  
  88.  
  89. /* 
  90.  * ISO8859_13 to Unicode recoding table 
  91.  * based on file mappings/8859-13.TXT by Unicode Consortium
  92.  */
  93.  
  94. static wxUint16 encoding_table__ISO8859_13[128] = {
  95.     0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087, 
  96.     0x0088, 0x0089, 0x008A, 0x008B, 0x008C, 0x008D, 0x008E, 0x008F, 
  97.     0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097, 
  98.     0x0098, 0x0099, 0x009A, 0x009B, 0x009C, 0x009D, 0x009E, 0x009F, 
  99.     0x00A0, 0x201D, 0x00A2, 0x00A3, 0x00A4, 0x201E, 0x00A6, 0x00A7, 
  100.     0x00D8, 0x00A9, 0x0156, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x00C6, 
  101.     0x00B0, 0x00B1, 0x00B2, 0x00B3, 0x201C, 0x00B5, 0x00B6, 0x00B7, 
  102.     0x00F8, 0x00B9, 0x0157, 0x00BB, 0x00BC, 0x00BD, 0x00BE, 0x00E6, 
  103.     0x0104, 0x012E, 0x0100, 0x0106, 0x00C4, 0x00C5, 0x0118, 0x0112, 
  104.     0x010C, 0x00C9, 0x0179, 0x0116, 0x0122, 0x0136, 0x012A, 0x013B, 
  105.     0x0160, 0x0143, 0x0145, 0x00D3, 0x014C, 0x00D5, 0x00D6, 0x00D7, 
  106.     0x0172, 0x0141, 0x015A, 0x016A, 0x00DC, 0x017B, 0x017D, 0x00DF, 
  107.     0x0105, 0x012F, 0x0101, 0x0107, 0x00E4, 0x00E5, 0x0119, 0x0113, 
  108.     0x010D, 0x00E9, 0x017A, 0x0117, 0x0123, 0x0137, 0x012B, 0x013C, 
  109.     0x0161, 0x0144, 0x0146, 0x00F3, 0x014D, 0x00F5, 0x00F6, 0x00F7, 
  110.     0x0173, 0x0142, 0x015B, 0x016B, 0x00FC, 0x017C, 0x017E, 0x2019
  111.  };
  112.  
  113.  
  114. /* 
  115.  * ISO8859_14 to Unicode recoding table 
  116.  * based on file mappings/8859-14.TXT by Unicode Consortium
  117.  */
  118.  
  119. static wxUint16 encoding_table__ISO8859_14[128] = {
  120.     0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087, 
  121.     0x0088, 0x0089, 0x008A, 0x008B, 0x008C, 0x008D, 0x008E, 0x008F, 
  122.     0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097, 
  123.     0x0098, 0x0099, 0x009A, 0x009B, 0x009C, 0x009D, 0x009E, 0x009F, 
  124.     0x00A0, 0x1E02, 0x1E03, 0x00A3, 0x010A, 0x010B, 0x1E0A, 0x00A7, 
  125.     0x1E80, 0x00A9, 0x1E82, 0x1E0B, 0x1EF2, 0x00AD, 0x00AE, 0x0178, 
  126.     0x1E1E, 0x1E1F, 0x0120, 0x0121, 0x1E40, 0x1E41, 0x00B6, 0x1E56, 
  127.     0x1E81, 0x1E57, 0x1E83, 0x1E60, 0x1EF3, 0x1E84, 0x1E85, 0x1E61, 
  128.     0x00C0, 0x00C1, 0x00C2, 0x00C3, 0x00C4, 0x00C5, 0x00C6, 0x00C7, 
  129.     0x00C8, 0x00C9, 0x00CA, 0x00CB, 0x00CC, 0x00CD, 0x00CE, 0x00CF, 
  130.     0x0174, 0x00D1, 0x00D2, 0x00D3, 0x00D4, 0x00D5, 0x00D6, 0x1E6A, 
  131.     0x00D8, 0x00D9, 0x00DA, 0x00DB, 0x00DC, 0x00DD, 0x0176, 0x00DF, 
  132.     0x00E0, 0x00E1, 0x00E2, 0x00E3, 0x00E4, 0x00E5, 0x00E6, 0x00E7, 
  133.     0x00E8, 0x00E9, 0x00EA, 0x00EB, 0x00EC, 0x00ED, 0x00EE, 0x00EF, 
  134.     0x0175, 0x00F1, 0x00F2, 0x00F3, 0x00F4, 0x00F5, 0x00F6, 0x1E6B, 
  135.     0x00F8, 0x00F9, 0x00FA, 0x00FB, 0x00FC, 0x00FD, 0x0177, 0x00FF
  136.  };
  137.  
  138.  
  139. /* 
  140.  * ISO8859_15 to Unicode recoding table 
  141.  * based on file mappings/8859-15.TXT by Unicode Consortium
  142.  */
  143.  
  144. static wxUint16 encoding_table__ISO8859_15[128] = {
  145.     0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087, 
  146.     0x0088, 0x0089, 0x008A, 0x008B, 0x008C, 0x008D, 0x008E, 0x008F, 
  147.     0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097, 
  148.     0x0098, 0x0099, 0x009A, 0x009B, 0x009C, 0x009D, 0x009E, 0x009F, 
  149.     0x00A0, 0x00A1, 0x00A2, 0x00A3, 0x20AC, 0x00A5, 0x0160, 0x00A7, 
  150.     0x0161, 0x00A9, 0x00AA, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x00AF, 
  151.     0x00B0, 0x00B1, 0x00B2, 0x00B3, 0x017D, 0x00B5, 0x00B6, 0x00B7, 
  152.     0x017E, 0x00B9, 0x00BA, 0x00BB, 0x0152, 0x0153, 0x0178, 0x00BF, 
  153.     0x00C0, 0x00C1, 0x00C2, 0x00C3, 0x00C4, 0x00C5, 0x00C6, 0x00C7, 
  154.     0x00C8, 0x00C9, 0x00CA, 0x00CB, 0x00CC, 0x00CD, 0x00CE, 0x00CF, 
  155.     0x00D0, 0x00D1, 0x00D2, 0x00D3, 0x00D4, 0x00D5, 0x00D6, 0x00D7, 
  156.     0x00D8, 0x00D9, 0x00DA, 0x00DB, 0x00DC, 0x00DD, 0x00DE, 0x00DF, 
  157.     0x00E0, 0x00E1, 0x00E2, 0x00E3, 0x00E4, 0x00E5, 0x00E6, 0x00E7, 
  158.     0x00E8, 0x00E9, 0x00EA, 0x00EB, 0x00EC, 0x00ED, 0x00EE, 0x00EF, 
  159.     0x00F0, 0x00F1, 0x00F2, 0x00F3, 0x00F4, 0x00F5, 0x00F6, 0x00F7, 
  160.     0x00F8, 0x00F9, 0x00FA, 0x00FB, 0x00FC, 0x00FD, 0x00FE, 0x00FF
  161.  };
  162.  
  163.  
  164. /* 
  165.  * ISO8859_2 to Unicode recoding table 
  166.  * based on file mappings/8859-2.TXT by Unicode Consortium
  167.  */
  168.  
  169. static wxUint16 encoding_table__ISO8859_2[128] = {
  170.     0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087, 
  171.     0x0088, 0x0089, 0x008A, 0x008B, 0x008C, 0x008D, 0x008E, 0x008F, 
  172.     0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097, 
  173.     0x0098, 0x0099, 0x009A, 0x009B, 0x009C, 0x009D, 0x009E, 0x009F, 
  174.     0x00A0, 0x0104, 0x02D8, 0x0141, 0x00A4, 0x013D, 0x015A, 0x00A7, 
  175.     0x00A8, 0x0160, 0x015E, 0x0164, 0x0179, 0x00AD, 0x017D, 0x017B, 
  176.     0x00B0, 0x0105, 0x02DB, 0x0142, 0x00B4, 0x013E, 0x015B, 0x02C7, 
  177.     0x00B8, 0x0161, 0x015F, 0x0165, 0x017A, 0x02DD, 0x017E, 0x017C, 
  178.     0x0154, 0x00C1, 0x00C2, 0x0102, 0x00C4, 0x0139, 0x0106, 0x00C7, 
  179.     0x010C, 0x00C9, 0x0118, 0x00CB, 0x011A, 0x00CD, 0x00CE, 0x010E, 
  180.     0x0110, 0x0143, 0x0147, 0x00D3, 0x00D4, 0x0150, 0x00D6, 0x00D7, 
  181.     0x0158, 0x016E, 0x00DA, 0x0170, 0x00DC, 0x00DD, 0x0162, 0x00DF, 
  182.     0x0155, 0x00E1, 0x00E2, 0x0103, 0x00E4, 0x013A, 0x0107, 0x00E7, 
  183.     0x010D, 0x00E9, 0x0119, 0x00EB, 0x011B, 0x00ED, 0x00EE, 0x010F, 
  184.     0x0111, 0x0144, 0x0148, 0x00F3, 0x00F4, 0x0151, 0x00F6, 0x00F7, 
  185.     0x0159, 0x016F, 0x00FA, 0x0171, 0x00FC, 0x00FD, 0x0163, 0x02D9
  186.  };
  187.  
  188.  
  189. /* 
  190.  * ISO8859_3 to Unicode recoding table 
  191.  * based on file mappings/8859-3.TXT by Unicode Consortium
  192.  */
  193.  
  194. static wxUint16 encoding_table__ISO8859_3[128] = {
  195.     0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087, 
  196.     0x0088, 0x0089, 0x008A, 0x008B, 0x008C, 0x008D, 0x008E, 0x008F, 
  197.     0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097, 
  198.     0x0098, 0x0099, 0x009A, 0x009B, 0x009C, 0x009D, 0x009E, 0x009F, 
  199.     0x00A0, 0x0126, 0x02D8, 0x00A3, 0x00A4, 0x0000, 0x0124, 0x00A7, 
  200.     0x00A8, 0x0130, 0x015E, 0x011E, 0x0134, 0x00AD, 0x0000, 0x017B, 
  201.     0x00B0, 0x0127, 0x00B2, 0x00B3, 0x00B4, 0x00B5, 0x0125, 0x00B7, 
  202.     0x00B8, 0x0131, 0x015F, 0x011F, 0x0135, 0x00BD, 0x0000, 0x017C, 
  203.     0x00C0, 0x00C1, 0x00C2, 0x0000, 0x00C4, 0x010A, 0x0108, 0x00C7, 
  204.     0x00C8, 0x00C9, 0x00CA, 0x00CB, 0x00CC, 0x00CD, 0x00CE, 0x00CF, 
  205.     0x0000, 0x00D1, 0x00D2, 0x00D3, 0x00D4, 0x0120, 0x00D6, 0x00D7, 
  206.     0x011C, 0x00D9, 0x00DA, 0x00DB, 0x00DC, 0x016C, 0x015C, 0x00DF, 
  207.     0x00E0, 0x00E1, 0x00E2, 0x0000, 0x00E4, 0x010B, 0x0109, 0x00E7, 
  208.     0x00E8, 0x00E9, 0x00EA, 0x00EB, 0x00EC, 0x00ED, 0x00EE, 0x00EF, 
  209.     0x0000, 0x00F1, 0x00F2, 0x00F3, 0x00F4, 0x0121, 0x00F6, 0x00F7, 
  210.     0x011D, 0x00F9, 0x00FA, 0x00FB, 0x00FC, 0x016D, 0x015D, 0x02D9
  211.  };
  212.  
  213.  
  214. /* 
  215.  * ISO8859_4 to Unicode recoding table 
  216.  * based on file mappings/8859-4.TXT by Unicode Consortium
  217.  */
  218.  
  219. static wxUint16 encoding_table__ISO8859_4[128] = {
  220.     0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087, 
  221.     0x0088, 0x0089, 0x008A, 0x008B, 0x008C, 0x008D, 0x008E, 0x008F, 
  222.     0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097, 
  223.     0x0098, 0x0099, 0x009A, 0x009B, 0x009C, 0x009D, 0x009E, 0x009F, 
  224.     0x00A0, 0x0104, 0x0138, 0x0156, 0x00A4, 0x0128, 0x013B, 0x00A7, 
  225.     0x00A8, 0x0160, 0x0112, 0x0122, 0x0166, 0x00AD, 0x017D, 0x00AF, 
  226.     0x00B0, 0x0105, 0x02DB, 0x0157, 0x00B4, 0x0129, 0x013C, 0x02C7, 
  227.     0x00B8, 0x0161, 0x0113, 0x0123, 0x0167, 0x014A, 0x017E, 0x014B, 
  228.     0x0100, 0x00C1, 0x00C2, 0x00C3, 0x00C4, 0x00C5, 0x00C6, 0x012E, 
  229.     0x010C, 0x00C9, 0x0118, 0x00CB, 0x0116, 0x00CD, 0x00CE, 0x012A, 
  230.     0x0110, 0x0145, 0x014C, 0x0136, 0x00D4, 0x00D5, 0x00D6, 0x00D7, 
  231.     0x00D8, 0x0172, 0x00DA, 0x00DB, 0x00DC, 0x0168, 0x016A, 0x00DF, 
  232.     0x0101, 0x00E1, 0x00E2, 0x00E3, 0x00E4, 0x00E5, 0x00E6, 0x012F, 
  233.     0x010D, 0x00E9, 0x0119, 0x00EB, 0x0117, 0x00ED, 0x00EE, 0x012B, 
  234.     0x0111, 0x0146, 0x014D, 0x0137, 0x00F4, 0x00F5, 0x00F6, 0x00F7, 
  235.     0x00F8, 0x0173, 0x00FA, 0x00FB, 0x00FC, 0x0169, 0x016B, 0x02D9
  236.  };
  237.  
  238.  
  239. /* 
  240.  * ISO8859_5 to Unicode recoding table 
  241.  * based on file mappings/8859-5.TXT by Unicode Consortium
  242.  */
  243.  
  244. static wxUint16 encoding_table__ISO8859_5[128] = {
  245.     0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087, 
  246.     0x0088, 0x0089, 0x008A, 0x008B, 0x008C, 0x008D, 0x008E, 0x008F, 
  247.     0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097, 
  248.     0x0098, 0x0099, 0x009A, 0x009B, 0x009C, 0x009D, 0x009E, 0x009F, 
  249.     0x00A0, 0x0401, 0x0402, 0x0403, 0x0404, 0x0405, 0x0406, 0x0407, 
  250.     0x0408, 0x0409, 0x040A, 0x040B, 0x040C, 0x00AD, 0x040E, 0x040F, 
  251.     0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417, 
  252.     0x0418, 0x0419, 0x041A, 0x041B, 0x041C, 0x041D, 0x041E, 0x041F, 
  253.     0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427, 
  254.     0x0428, 0x0429, 0x042A, 0x042B, 0x042C, 0x042D, 0x042E, 0x042F, 
  255.     0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437, 
  256.     0x0438, 0x0439, 0x043A, 0x043B, 0x043C, 0x043D, 0x043E, 0x043F, 
  257.     0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447, 
  258.     0x0448, 0x0449, 0x044A, 0x044B, 0x044C, 0x044D, 0x044E, 0x044F, 
  259.     0x2116, 0x0451, 0x0452, 0x0453, 0x0454, 0x0455, 0x0456, 0x0457, 
  260.     0x0458, 0x0459, 0x045A, 0x045B, 0x045C, 0x00A7, 0x045E, 0x045F
  261.  };
  262.  
  263.  
  264. /* 
  265.  * ISO8859_6 to Unicode recoding table 
  266.  * based on file mappings/8859-6.TXT by Unicode Consortium
  267.  */
  268.  
  269. static wxUint16 encoding_table__ISO8859_6[128] = {
  270.     0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087, 
  271.     0x0088, 0x0089, 0x008A, 0x008B, 0x008C, 0x008D, 0x008E, 0x008F, 
  272.     0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097, 
  273.     0x0098, 0x0099, 0x009A, 0x009B, 0x009C, 0x009D, 0x009E, 0x009F, 
  274.     0x00A0, 0x0000, 0x0000, 0x0000, 0x00A4, 0x0000, 0x0000, 0x0000, 
  275.     0x0000, 0x0000, 0x0000, 0x0000, 0x060C, 0x00AD, 0x0000, 0x0000, 
  276.     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 
  277.     0x0000, 0x0000, 0x0000, 0x061B, 0x0000, 0x0000, 0x0000, 0x061F, 
  278.     0x0000, 0x0621, 0x0622, 0x0623, 0x0624, 0x0625, 0x0626, 0x0627, 
  279.     0x0628, 0x0629, 0x062A, 0x062B, 0x062C, 0x062D, 0x062E, 0x062F, 
  280.     0x0630, 0x0631, 0x0632, 0x0633, 0x0634, 0x0635, 0x0636, 0x0637, 
  281.     0x0638, 0x0639, 0x063A, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 
  282.     0x0640, 0x0641, 0x0642, 0x0643, 0x0644, 0x0645, 0x0646, 0x0647, 
  283.     0x0648, 0x0649, 0x064A, 0x064B, 0x064C, 0x064D, 0x064E, 0x064F, 
  284.     0x0650, 0x0651, 0x0652, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 
  285.     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
  286.  };
  287.  
  288.  
  289. /* 
  290.  * ISO8859_7 to Unicode recoding table 
  291.  * based on file mappings/8859-7.TXT by Unicode Consortium
  292.  */
  293.  
  294. static wxUint16 encoding_table__ISO8859_7[128] = {
  295.     0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087, 
  296.     0x0088, 0x0089, 0x008A, 0x008B, 0x008C, 0x008D, 0x008E, 0x008F, 
  297.     0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097, 
  298.     0x0098, 0x0099, 0x009A, 0x009B, 0x009C, 0x009D, 0x009E, 0x009F, 
  299.     0x00A0, 0x2018, 0x2019, 0x00A3, 0x0000, 0x0000, 0x00A6, 0x00A7, 
  300.     0x00A8, 0x00A9, 0x0000, 0x00AB, 0x00AC, 0x00AD, 0x0000, 0x2015, 
  301.     0x00B0, 0x00B1, 0x00B2, 0x00B3, 0x0384, 0x0385, 0x0386, 0x00B7, 
  302.     0x0388, 0x0389, 0x038A, 0x00BB, 0x038C, 0x00BD, 0x038E, 0x038F, 
  303.     0x0390, 0x0391, 0x0392, 0x0393, 0x0394, 0x0395, 0x0396, 0x0397, 
  304.     0x0398, 0x0399, 0x039A, 0x039B, 0x039C, 0x039D, 0x039E, 0x039F, 
  305.     0x03A0, 0x03A1, 0x0000, 0x03A3, 0x03A4, 0x03A5, 0x03A6, 0x03A7, 
  306.     0x03A8, 0x03A9, 0x03AA, 0x03AB, 0x03AC, 0x03AD, 0x03AE, 0x03AF, 
  307.     0x03B0, 0x03B1, 0x03B2, 0x03B3, 0x03B4, 0x03B5, 0x03B6, 0x03B7, 
  308.     0x03B8, 0x03B9, 0x03BA, 0x03BB, 0x03BC, 0x03BD, 0x03BE, 0x03BF, 
  309.     0x03C0, 0x03C1, 0x03C2, 0x03C3, 0x03C4, 0x03C5, 0x03C6, 0x03C7, 
  310.     0x03C8, 0x03C9, 0x03CA, 0x03CB, 0x03CC, 0x03CD, 0x03CE, 0x0000
  311.  };
  312.  
  313.  
  314. /* 
  315.  * ISO8859_8 to Unicode recoding table 
  316.  * based on file mappings/8859-8.TXT by Unicode Consortium
  317.  */
  318.  
  319. static wxUint16 encoding_table__ISO8859_8[128] = {
  320.     0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087, 
  321.     0x0088, 0x0089, 0x008A, 0x008B, 0x008C, 0x008D, 0x008E, 0x008F, 
  322.     0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097, 
  323.     0x0098, 0x0099, 0x009A, 0x009B, 0x009C, 0x009D, 0x009E, 0x009F, 
  324.     0x00A0, 0x0000, 0x00A2, 0x00A3, 0x00A4, 0x00A5, 0x00A6, 0x00A7, 
  325.     0x00A8, 0x00A9, 0x00D7, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x203E, 
  326.     0x00B0, 0x00B1, 0x00B2, 0x00B3, 0x00B4, 0x00B5, 0x00B6, 0x00B7, 
  327.     0x00B8, 0x00B9, 0x00F7, 0x00BB, 0x00BC, 0x00BD, 0x00BE, 0x0000, 
  328.     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 
  329.     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 
  330.     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 
  331.     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2017, 
  332.     0x05D0, 0x05D1, 0x05D2, 0x05D3, 0x05D4, 0x05D5, 0x05D6, 0x05D7, 
  333.     0x05D8, 0x05D9, 0x05DA, 0x05DB, 0x05DC, 0x05DD, 0x05DE, 0x05DF, 
  334.     0x05E0, 0x05E1, 0x05E2, 0x05E3, 0x05E4, 0x05E5, 0x05E6, 0x05E7, 
  335.     0x05E8, 0x05E9, 0x05EA, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
  336.  };
  337.  
  338.  
  339. /* 
  340.  * ISO8859_9 to Unicode recoding table 
  341.  * based on file mappings/8859-9.TXT by Unicode Consortium
  342.  */
  343.  
  344. static wxUint16 encoding_table__ISO8859_9[128] = {
  345.     0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087, 
  346.     0x0088, 0x0089, 0x008A, 0x008B, 0x008C, 0x008D, 0x008E, 0x008F, 
  347.     0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097, 
  348.     0x0098, 0x0099, 0x009A, 0x009B, 0x009C, 0x009D, 0x009E, 0x009F, 
  349.     0x00A0, 0x00A1, 0x00A2, 0x00A3, 0x00A4, 0x00A5, 0x00A6, 0x00A7, 
  350.     0x00A8, 0x00A9, 0x00AA, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x00AF, 
  351.     0x00B0, 0x00B1, 0x00B2, 0x00B3, 0x00B4, 0x00B5, 0x00B6, 0x00B7, 
  352.     0x00B8, 0x00B9, 0x00BA, 0x00BB, 0x00BC, 0x00BD, 0x00BE, 0x00BF, 
  353.     0x00C0, 0x00C1, 0x00C2, 0x00C3, 0x00C4, 0x00C5, 0x00C6, 0x00C7, 
  354.     0x00C8, 0x00C9, 0x00CA, 0x00CB, 0x00CC, 0x00CD, 0x00CE, 0x00CF, 
  355.     0x011E, 0x00D1, 0x00D2, 0x00D3, 0x00D4, 0x00D5, 0x00D6, 0x00D7, 
  356.     0x00D8, 0x00D9, 0x00DA, 0x00DB, 0x00DC, 0x0130, 0x015E, 0x00DF, 
  357.     0x00E0, 0x00E1, 0x00E2, 0x00E3, 0x00E4, 0x00E5, 0x00E6, 0x00E7, 
  358.     0x00E8, 0x00E9, 0x00EA, 0x00EB, 0x00EC, 0x00ED, 0x00EE, 0x00EF, 
  359.     0x011F, 0x00F1, 0x00F2, 0x00F3, 0x00F4, 0x00F5, 0x00F6, 0x00F7, 
  360.     0x00F8, 0x00F9, 0x00FA, 0x00FB, 0x00FC, 0x0131, 0x015F, 0x00FF
  361.  };
  362.  
  363.  
  364. /* 
  365.  * CP1250 to Unicode recoding table 
  366.  * based on file mappings/CP1250.TXT by Unicode Consortium
  367.  */
  368.  
  369. static wxUint16 encoding_table__CP1250[128] = {
  370.     0x20AC, 0x0000, 0x201A, 0x0000, 0x201E, 0x2026, 0x2020, 0x2021, 
  371.     0x0000, 0x2030, 0x0160, 0x2039, 0x015A, 0x0164, 0x017D, 0x0179, 
  372.     0x0000, 0x2018, 0x2019, 0x201C, 0x201D, 0x2022, 0x2013, 0x2014, 
  373.     0x0000, 0x2122, 0x0161, 0x203A, 0x015B, 0x0165, 0x017E, 0x017A, 
  374.     0x00A0, 0x02C7, 0x02D8, 0x0141, 0x00A4, 0x0104, 0x00A6, 0x00A7, 
  375.     0x00A8, 0x00A9, 0x015E, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x017B, 
  376.     0x00B0, 0x00B1, 0x02DB, 0x0142, 0x00B4, 0x00B5, 0x00B6, 0x00B7, 
  377.     0x00B8, 0x0105, 0x015F, 0x00BB, 0x013D, 0x02DD, 0x013E, 0x017C, 
  378.     0x0154, 0x00C1, 0x00C2, 0x0102, 0x00C4, 0x0139, 0x0106, 0x00C7, 
  379.     0x010C, 0x00C9, 0x0118, 0x00CB, 0x011A, 0x00CD, 0x00CE, 0x010E, 
  380.     0x0110, 0x0143, 0x0147, 0x00D3, 0x00D4, 0x0150, 0x00D6, 0x00D7, 
  381.     0x0158, 0x016E, 0x00DA, 0x0170, 0x00DC, 0x00DD, 0x0162, 0x00DF, 
  382.     0x0155, 0x00E1, 0x00E2, 0x0103, 0x00E4, 0x013A, 0x0107, 0x00E7, 
  383.     0x010D, 0x00E9, 0x0119, 0x00EB, 0x011B, 0x00ED, 0x00EE, 0x010F, 
  384.     0x0111, 0x0144, 0x0148, 0x00F3, 0x00F4, 0x0151, 0x00F6, 0x00F7, 
  385.     0x0159, 0x016F, 0x00FA, 0x0171, 0x00FC, 0x00FD, 0x0163, 0x02D9
  386.  };
  387.  
  388.  
  389. /* 
  390.  * CP1251 to Unicode recoding table 
  391.  * based on file mappings/CP1251.TXT by Unicode Consortium
  392.  */
  393.  
  394. static wxUint16 encoding_table__CP1251[128] = {
  395.     0x0402, 0x0403, 0x201A, 0x0453, 0x201E, 0x2026, 0x2020, 0x2021, 
  396.     0x20AC, 0x2030, 0x0409, 0x2039, 0x040A, 0x040C, 0x040B, 0x040F, 
  397.     0x0452, 0x2018, 0x2019, 0x201C, 0x201D, 0x2022, 0x2013, 0x2014, 
  398.     0x0000, 0x2122, 0x0459, 0x203A, 0x045A, 0x045C, 0x045B, 0x045F, 
  399.     0x00A0, 0x040E, 0x045E, 0x0408, 0x00A4, 0x0490, 0x00A6, 0x00A7, 
  400.     0x0401, 0x00A9, 0x0404, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x0407, 
  401.     0x00B0, 0x00B1, 0x0406, 0x0456, 0x0491, 0x00B5, 0x00B6, 0x00B7, 
  402.     0x0451, 0x2116, 0x0454, 0x00BB, 0x0458, 0x0405, 0x0455, 0x0457, 
  403.     0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417, 
  404.     0x0418, 0x0419, 0x041A, 0x041B, 0x041C, 0x041D, 0x041E, 0x041F, 
  405.     0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427, 
  406.     0x0428, 0x0429, 0x042A, 0x042B, 0x042C, 0x042D, 0x042E, 0x042F, 
  407.     0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437, 
  408.     0x0438, 0x0439, 0x043A, 0x043B, 0x043C, 0x043D, 0x043E, 0x043F, 
  409.     0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447, 
  410.     0x0448, 0x0449, 0x044A, 0x044B, 0x044C, 0x044D, 0x044E, 0x044F
  411.  };
  412.  
  413.  
  414. /* 
  415.  * CP1252 to Unicode recoding table 
  416.  * based on file mappings/CP1252.TXT by Unicode Consortium
  417.  */
  418.  
  419. static wxUint16 encoding_table__CP1252[128] = {
  420.     0x20AC, 0x0000, 0x201A, 0x0192, 0x201E, 0x2026, 0x2020, 0x2021, 
  421.     0x02C6, 0x2030, 0x0160, 0x2039, 0x0152, 0x0000, 0x017D, 0x0000, 
  422.     0x0000, 0x2018, 0x2019, 0x201C, 0x201D, 0x2022, 0x2013, 0x2014, 
  423.     0x02DC, 0x2122, 0x0161, 0x203A, 0x0153, 0x0000, 0x017E, 0x0178, 
  424.     0x00A0, 0x00A1, 0x00A2, 0x00A3, 0x00A4, 0x00A5, 0x00A6, 0x00A7, 
  425.     0x00A8, 0x00A9, 0x00AA, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x00AF, 
  426.     0x00B0, 0x00B1, 0x00B2, 0x00B3, 0x00B4, 0x00B5, 0x00B6, 0x00B7, 
  427.     0x00B8, 0x00B9, 0x00BA, 0x00BB, 0x00BC, 0x00BD, 0x00BE, 0x00BF, 
  428.     0x00C0, 0x00C1, 0x00C2, 0x00C3, 0x00C4, 0x00C5, 0x00C6, 0x00C7, 
  429.     0x00C8, 0x00C9, 0x00CA, 0x00CB, 0x00CC, 0x00CD, 0x00CE, 0x00CF, 
  430.     0x00D0, 0x00D1, 0x00D2, 0x00D3, 0x00D4, 0x00D5, 0x00D6, 0x00D7, 
  431.     0x00D8, 0x00D9, 0x00DA, 0x00DB, 0x00DC, 0x00DD, 0x00DE, 0x00DF, 
  432.     0x00E0, 0x00E1, 0x00E2, 0x00E3, 0x00E4, 0x00E5, 0x00E6, 0x00E7, 
  433.     0x00E8, 0x00E9, 0x00EA, 0x00EB, 0x00EC, 0x00ED, 0x00EE, 0x00EF, 
  434.     0x00F0, 0x00F1, 0x00F2, 0x00F3, 0x00F4, 0x00F5, 0x00F6, 0x00F7, 
  435.     0x00F8, 0x00F9, 0x00FA, 0x00FB, 0x00FC, 0x00FD, 0x00FE, 0x00FF
  436.  };
  437.  
  438.  
  439. /* 
  440.  * CP1253 to Unicode recoding table 
  441.  * based on file mappings/CP1253.TXT by Unicode Consortium
  442.  */
  443.  
  444. static wxUint16 encoding_table__CP1253[128] = {
  445.     0x20AC, 0x0000, 0x201A, 0x0192, 0x201E, 0x2026, 0x2020, 0x2021, 
  446.     0x0000, 0x2030, 0x0000, 0x2039, 0x0000, 0x0000, 0x0000, 0x0000, 
  447.     0x0000, 0x2018, 0x2019, 0x201C, 0x201D, 0x2022, 0x2013, 0x2014, 
  448.     0x0000, 0x2122, 0x0000, 0x203A, 0x0000, 0x0000, 0x0000, 0x0000, 
  449.     0x00A0, 0x0385, 0x0386, 0x00A3, 0x00A4, 0x00A5, 0x00A6, 0x00A7, 
  450.     0x00A8, 0x00A9, 0x0000, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x2015, 
  451.     0x00B0, 0x00B1, 0x00B2, 0x00B3, 0x0384, 0x00B5, 0x00B6, 0x00B7, 
  452.     0x0388, 0x0389, 0x038A, 0x00BB, 0x038C, 0x00BD, 0x038E, 0x038F, 
  453.     0x0390, 0x0391, 0x0392, 0x0393, 0x0394, 0x0395, 0x0396, 0x0397, 
  454.     0x0398, 0x0399, 0x039A, 0x039B, 0x039C, 0x039D, 0x039E, 0x039F, 
  455.     0x03A0, 0x03A1, 0x0000, 0x03A3, 0x03A4, 0x03A5, 0x03A6, 0x03A7, 
  456.     0x03A8, 0x03A9, 0x03AA, 0x03AB, 0x03AC, 0x03AD, 0x03AE, 0x03AF, 
  457.     0x03B0, 0x03B1, 0x03B2, 0x03B3, 0x03B4, 0x03B5, 0x03B6, 0x03B7, 
  458.     0x03B8, 0x03B9, 0x03BA, 0x03BB, 0x03BC, 0x03BD, 0x03BE, 0x03BF, 
  459.     0x03C0, 0x03C1, 0x03C2, 0x03C3, 0x03C4, 0x03C5, 0x03C6, 0x03C7, 
  460.     0x03C8, 0x03C9, 0x03CA, 0x03CB, 0x03CC, 0x03CD, 0x03CE, 0x0000
  461.  };
  462.  
  463.  
  464. /* 
  465.  * CP1254 to Unicode recoding table 
  466.  * based on file mappings/CP1254.TXT by Unicode Consortium
  467.  */
  468.  
  469. static wxUint16 encoding_table__CP1254[128] = {
  470.     0x20AC, 0x0000, 0x201A, 0x0192, 0x201E, 0x2026, 0x2020, 0x2021, 
  471.     0x02C6, 0x2030, 0x0160, 0x2039, 0x0152, 0x0000, 0x0000, 0x0000, 
  472.     0x0000, 0x2018, 0x2019, 0x201C, 0x201D, 0x2022, 0x2013, 0x2014, 
  473.     0x02DC, 0x2122, 0x0161, 0x203A, 0x0153, 0x0000, 0x0000, 0x0178, 
  474.     0x00A0, 0x00A1, 0x00A2, 0x00A3, 0x00A4, 0x00A5, 0x00A6, 0x00A7, 
  475.     0x00A8, 0x00A9, 0x00AA, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x00AF, 
  476.     0x00B0, 0x00B1, 0x00B2, 0x00B3, 0x00B4, 0x00B5, 0x00B6, 0x00B7, 
  477.     0x00B8, 0x00B9, 0x00BA, 0x00BB, 0x00BC, 0x00BD, 0x00BE, 0x00BF, 
  478.     0x00C0, 0x00C1, 0x00C2, 0x00C3, 0x00C4, 0x00C5, 0x00C6, 0x00C7, 
  479.     0x00C8, 0x00C9, 0x00CA, 0x00CB, 0x00CC, 0x00CD, 0x00CE, 0x00CF, 
  480.     0x011E, 0x00D1, 0x00D2, 0x00D3, 0x00D4, 0x00D5, 0x00D6, 0x00D7, 
  481.     0x00D8, 0x00D9, 0x00DA, 0x00DB, 0x00DC, 0x0130, 0x015E, 0x00DF, 
  482.     0x00E0, 0x00E1, 0x00E2, 0x00E3, 0x00E4, 0x00E5, 0x00E6, 0x00E7, 
  483.     0x00E8, 0x00E9, 0x00EA, 0x00EB, 0x00EC, 0x00ED, 0x00EE, 0x00EF, 
  484.     0x011F, 0x00F1, 0x00F2, 0x00F3, 0x00F4, 0x00F5, 0x00F6, 0x00F7, 
  485.     0x00F8, 0x00F9, 0x00FA, 0x00FB, 0x00FC, 0x0131, 0x015F, 0x00FF
  486.  };
  487.  
  488.  
  489. /* 
  490.  * CP1255 to Unicode recoding table 
  491.  * based on file mappings/CP1255.TXT by Unicode Consortium
  492.  */
  493.  
  494. static wxUint16 encoding_table__CP1255[128] = {
  495.     0x20AC, 0x0000, 0x201A, 0x0192, 0x201E, 0x2026, 0x2020, 0x2021, 
  496.     0x02C6, 0x2030, 0x0000, 0x2039, 0x0000, 0x0000, 0x0000, 0x0000, 
  497.     0x0000, 0x2018, 0x2019, 0x201C, 0x201D, 0x2022, 0x2013, 0x2014, 
  498.     0x02DC, 0x2122, 0x0000, 0x203A, 0x0000, 0x0000, 0x0000, 0x0000, 
  499.     0x00A0, 0x00A1, 0x00A2, 0x00A3, 0x20AA, 0x00A5, 0x00A6, 0x00A7, 
  500.     0x00A8, 0x00A9, 0x00D7, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x00AF, 
  501.     0x00B0, 0x00B1, 0x00B2, 0x00B3, 0x00B4, 0x00B5, 0x00B6, 0x00B7, 
  502.     0x00B8, 0x00B9, 0x00F7, 0x00BB, 0x00BC, 0x00BD, 0x00BE, 0x00BF, 
  503.     0x05B0, 0x05B1, 0x05B2, 0x05B3, 0x05B4, 0x05B5, 0x05B6, 0x05B7, 
  504.     0x05B8, 0x05B9, 0x0000, 0x05BB, 0x05BC, 0x05BD, 0x05BE, 0x05BF, 
  505.     0x05C0, 0x05C1, 0x05C2, 0x05C3, 0x05F0, 0x05F1, 0x05F2, 0x05F3, 
  506.     0x05F4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 
  507.     0x05D0, 0x05D1, 0x05D2, 0x05D3, 0x05D4, 0x05D5, 0x05D6, 0x05D7, 
  508.     0x05D8, 0x05D9, 0x05DA, 0x05DB, 0x05DC, 0x05DD, 0x05DE, 0x05DF, 
  509.     0x05E0, 0x05E1, 0x05E2, 0x05E3, 0x05E4, 0x05E5, 0x05E6, 0x05E7, 
  510.     0x05E8, 0x05E9, 0x05EA, 0x0000, 0x0000, 0x200E, 0x200F, 0x0000
  511.  };
  512.  
  513.  
  514. /* 
  515.  * CP1256 to Unicode recoding table 
  516.  * based on file mappings/CP1256.TXT by Unicode Consortium
  517.  */
  518.  
  519. static wxUint16 encoding_table__CP1256[128] = {
  520.     0x20AC, 0x067E, 0x201A, 0x0192, 0x201E, 0x2026, 0x2020, 0x2021, 
  521.     0x02C6, 0x2030, 0x0679, 0x2039, 0x0152, 0x0686, 0x0698, 0x0688, 
  522.     0x06AF, 0x2018, 0x2019, 0x201C, 0x201D, 0x2022, 0x2013, 0x2014, 
  523.     0x06A9, 0x2122, 0x0691, 0x203A, 0x0153, 0x200C, 0x200D, 0x06BA, 
  524.     0x00A0, 0x060C, 0x00A2, 0x00A3, 0x00A4, 0x00A5, 0x00A6, 0x00A7, 
  525.     0x00A8, 0x00A9, 0x06BE, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x00AF, 
  526.     0x00B0, 0x00B1, 0x00B2, 0x00B3, 0x00B4, 0x00B5, 0x00B6, 0x00B7, 
  527.     0x00B8, 0x00B9, 0x061B, 0x00BB, 0x00BC, 0x00BD, 0x00BE, 0x061F, 
  528.     0x06C1, 0x0621, 0x0622, 0x0623, 0x0624, 0x0625, 0x0626, 0x0627, 
  529.     0x0628, 0x0629, 0x062A, 0x062B, 0x062C, 0x062D, 0x062E, 0x062F, 
  530.     0x0630, 0x0631, 0x0632, 0x0633, 0x0634, 0x0635, 0x0636, 0x00D7, 
  531.     0x0637, 0x0638, 0x0639, 0x063A, 0x0640, 0x0641, 0x0642, 0x0643, 
  532.     0x00E0, 0x0644, 0x00E2, 0x0645, 0x0646, 0x0647, 0x0648, 0x00E7, 
  533.     0x00E8, 0x00E9, 0x00EA, 0x00EB, 0x0649, 0x064A, 0x00EE, 0x00EF, 
  534.     0x064B, 0x064C, 0x064D, 0x064E, 0x00F4, 0x064F, 0x0650, 0x00F7, 
  535.     0x0651, 0x00F9, 0x0652, 0x00FB, 0x00FC, 0x200E, 0x200F, 0x06D2
  536.  };
  537.  
  538.  
  539. /* 
  540.  * CP1257 to Unicode recoding table 
  541.  * based on file mappings/CP1257.TXT by Unicode Consortium
  542.  */
  543.  
  544. static wxUint16 encoding_table__CP1257[128] = {
  545.     0x20AC, 0x0000, 0x201A, 0x0000, 0x201E, 0x2026, 0x2020, 0x2021, 
  546.     0x0000, 0x2030, 0x0000, 0x2039, 0x0000, 0x00A8, 0x02C7, 0x00B8, 
  547.     0x0000, 0x2018, 0x2019, 0x201C, 0x201D, 0x2022, 0x2013, 0x2014, 
  548.     0x0000, 0x2122, 0x0000, 0x203A, 0x0000, 0x00AF, 0x02DB, 0x0000, 
  549.     0x00A0, 0x0000, 0x00A2, 0x00A3, 0x00A4, 0x0000, 0x00A6, 0x00A7, 
  550.     0x00D8, 0x00A9, 0x0156, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x00C6, 
  551.     0x00B0, 0x00B1, 0x00B2, 0x00B3, 0x00B4, 0x00B5, 0x00B6, 0x00B7, 
  552.     0x00F8, 0x00B9, 0x0157, 0x00BB, 0x00BC, 0x00BD, 0x00BE, 0x00E6, 
  553.     0x0104, 0x012E, 0x0100, 0x0106, 0x00C4, 0x00C5, 0x0118, 0x0112, 
  554.     0x010C, 0x00C9, 0x0179, 0x0116, 0x0122, 0x0136, 0x012A, 0x013B, 
  555.     0x0160, 0x0143, 0x0145, 0x00D3, 0x014C, 0x00D5, 0x00D6, 0x00D7, 
  556.     0x0172, 0x0141, 0x015A, 0x016A, 0x00DC, 0x017B, 0x017D, 0x00DF, 
  557.     0x0105, 0x012F, 0x0101, 0x0107, 0x00E4, 0x00E5, 0x0119, 0x0113, 
  558.     0x010D, 0x00E9, 0x017A, 0x0117, 0x0123, 0x0137, 0x012B, 0x013C, 
  559.     0x0161, 0x0144, 0x0146, 0x00F3, 0x014D, 0x00F5, 0x00F6, 0x00F7, 
  560.     0x0173, 0x0142, 0x015B, 0x016B, 0x00FC, 0x017C, 0x017E, 0x02D9
  561.  };
  562.  
  563.  
  564. /* 
  565.  * KOI8 to Unicode recoding table 
  566.  * based on file mappings/KOI8-R.TXT by Unicode Consortium
  567.  */
  568.  
  569. static wxUint16 encoding_table__KOI8[128] = {
  570.     0x2500, 0x2502, 0x250C, 0x2510, 0x2514, 0x2518, 0x251C, 0x2524, 
  571.     0x252C, 0x2534, 0x253C, 0x2580, 0x2584, 0x2588, 0x258C, 0x2590, 
  572.     0x2591, 0x2592, 0x2593, 0x2320, 0x25A0, 0x2219, 0x221A, 0x2248, 
  573.     0x2264, 0x2265, 0x00A0, 0x2321, 0x00B0, 0x00B2, 0x00B7, 0x00F7, 
  574.     0x2550, 0x2551, 0x2552, 0x0451, 0x2553, 0x2554, 0x2555, 0x2556, 
  575.     0x2557, 0x2558, 0x2559, 0x255A, 0x255B, 0x255C, 0x255D, 0x255E, 
  576.     0x255F, 0x2560, 0x2561, 0x0401, 0x2562, 0x2563, 0x2564, 0x2565, 
  577.     0x2566, 0x2567, 0x2568, 0x2569, 0x256A, 0x256B, 0x256C, 0x00A9, 
  578.     0x044E, 0x0430, 0x0431, 0x0446, 0x0434, 0x0435, 0x0444, 0x0433, 
  579.     0x0445, 0x0438, 0x0439, 0x043A, 0x043B, 0x043C, 0x043D, 0x043E, 
  580.     0x043F, 0x044F, 0x0440, 0x0441, 0x0442, 0x0443, 0x0436, 0x0432, 
  581.     0x044C, 0x044B, 0x0437, 0x0448, 0x044D, 0x0449, 0x0447, 0x044A, 
  582.     0x042E, 0x0410, 0x0411, 0x0426, 0x0414, 0x0415, 0x0424, 0x0413, 
  583.     0x0425, 0x0418, 0x0419, 0x041A, 0x041B, 0x041C, 0x041D, 0x041E, 
  584.     0x041F, 0x042F, 0x0420, 0x0421, 0x0422, 0x0423, 0x0416, 0x0412, 
  585.     0x042C, 0x042B, 0x0417, 0x0428, 0x042D, 0x0429, 0x0427, 0x042A
  586.  };
  587.  
  588.  
  589.  
  590.  
  591.  
  592. /*
  593.  *
  594.  * Unicode to 7bit ASCII fallback
  595.  * (for use with wxRECODE_SUBSTITUTE recoding mode)
  596.  *
  597.  */
  598.  
  599. static struct {
  600.     wxUint16 c  /*code*/;
  601.     wxUint8  s /*inaccurate substitution*/;
  602. } encoding_unicode_fallback[] = {
  603.  
  604.     {0x00AB, 0x22},
  605.     {0x00BB, 0x22},
  606.     {0x00C0, 0x41},
  607.     {0x00C1, 0x41},
  608.     {0x00C2, 0x41},
  609.     {0x00C3, 0x41},
  610.     {0x00C4, 0x41},
  611.     {0x00C5, 0x41},
  612.     {0x00C7, 0x43},
  613.     {0x00C8, 0x45},
  614.     {0x00C9, 0x45},
  615.     {0x00CA, 0x45},
  616.     {0x00CB, 0x45},
  617.     {0x00CC, 0x49},
  618.     {0x00CD, 0x49},
  619.     {0x00CE, 0x49},
  620.     {0x00CF, 0x49},
  621.     {0x00D1, 0x4E},
  622.     {0x00D2, 0x4F},
  623.     {0x00D3, 0x4F},
  624.     {0x00D4, 0x4F},
  625.     {0x00D5, 0x4F},
  626.     {0x00D6, 0x4F},
  627.     {0x00D8, 0x4F},
  628.     {0x00D9, 0x55},
  629.     {0x00DA, 0x55},
  630.     {0x00DB, 0x55},
  631.     {0x00DC, 0x55},
  632.     {0x00DD, 0x59},
  633.     {0x00E0, 0x61},
  634.     {0x00E1, 0x61},
  635.     {0x00E2, 0x61},
  636.     {0x00E3, 0x61},
  637.     {0x00E4, 0x61},
  638.     {0x00E5, 0x61},
  639.     {0x00E7, 0x63},
  640.     {0x00E8, 0x65},
  641.     {0x00E9, 0x65},
  642.     {0x00EA, 0x65},
  643.     {0x00EB, 0x65},
  644.     {0x00EC, 0x69},
  645.     {0x00ED, 0x69},
  646.     {0x00EE, 0x69},
  647.     {0x00EF, 0x69},
  648.     {0x00F1, 0x6E},
  649.     {0x00F2, 0x6F},
  650.     {0x00F3, 0x6F},
  651.     {0x00F4, 0x6F},
  652.     {0x00F5, 0x6F},
  653.     {0x00F6, 0x6F},
  654.     {0x00F8, 0x6F},
  655.     {0x00F9, 0x75},
  656.     {0x00FA, 0x75},
  657.     {0x00FB, 0x75},
  658.     {0x00FC, 0x75},
  659.     {0x00FD, 0x79},
  660.     {0x00FF, 0x79},
  661.     {0x0100, 0x41},
  662.     {0x0101, 0x61},
  663.     {0x0102, 0x41},
  664.     {0x0103, 0x61},
  665.     {0x0104, 0x41},
  666.     {0x0105, 0x61},
  667.     {0x0106, 0x43},
  668.     {0x0107, 0x63},
  669.     {0x0108, 0x43},
  670.     {0x0109, 0x63},
  671.     {0x010A, 0x43},
  672.     {0x010B, 0x63},
  673.     {0x010C, 0x43},
  674.     {0x010D, 0x63},
  675.     {0x010E, 0x44},
  676.     {0x010F, 0x64},
  677.     {0x0110, 0x44},
  678.     {0x0111, 0x64},
  679.     {0x0112, 0x45},
  680.     {0x0113, 0x65},
  681.     {0x0116, 0x45},
  682.     {0x0117, 0x65},
  683.     {0x0118, 0x45},
  684.     {0x0119, 0x65},
  685.     {0x011A, 0x45},
  686.     {0x011B, 0x65},
  687.     {0x011C, 0x47},
  688.     {0x011D, 0x67},
  689.     {0x011E, 0x47},
  690.     {0x011F, 0x67},
  691.     {0x0120, 0x47},
  692.     {0x0121, 0x67},
  693.     {0x0122, 0x47},
  694.     {0x0123, 0x67},
  695.     {0x0124, 0x48},
  696.     {0x0125, 0x68},
  697.     {0x0126, 0x48},
  698.     {0x0127, 0x68},
  699.     {0x0128, 0x49},
  700.     {0x0129, 0x69},
  701.     {0x012A, 0x49},
  702.     {0x012B, 0x69},
  703.     {0x012E, 0x49},
  704.     {0x012F, 0x69},
  705.     {0x0130, 0x49},
  706.     {0x0134, 0x4A},
  707.     {0x0135, 0x6A},
  708.     {0x0136, 0x4B},
  709.     {0x0137, 0x6B},
  710.     {0x0139, 0x4C},
  711.     {0x013A, 0x6C},
  712.     {0x013B, 0x4C},
  713.     {0x013C, 0x6C},
  714.     {0x013D, 0x4C},
  715.     {0x013E, 0x6C},
  716.     {0x0141, 0x4C},
  717.     {0x0142, 0x6C},
  718.     {0x0143, 0x4E},
  719.     {0x0144, 0x6E},
  720.     {0x0145, 0x4E},
  721.     {0x0146, 0x6E},
  722.     {0x0147, 0x4E},
  723.     {0x0148, 0x6E},
  724.     {0x014C, 0x4F},
  725.     {0x014D, 0x6F},
  726.     {0x0150, 0x4F},
  727.     {0x0151, 0x6F},
  728.     {0x0154, 0x52},
  729.     {0x0155, 0x72},
  730.     {0x0156, 0x52},
  731.     {0x0157, 0x72},
  732.     {0x0158, 0x52},
  733.     {0x0159, 0x72},
  734.     {0x015A, 0x53},
  735.     {0x015B, 0x73},
  736.     {0x015C, 0x53},
  737.     {0x015D, 0x73},
  738.     {0x015E, 0x53},
  739.     {0x015F, 0x73},
  740.     {0x0160, 0x53},
  741.     {0x0161, 0x73},
  742.     {0x0162, 0x54},
  743.     {0x0163, 0x74},
  744.     {0x0164, 0x54},
  745.     {0x0165, 0x74},
  746.     {0x0166, 0x54},
  747.     {0x0167, 0x74},
  748.     {0x0168, 0x55},
  749.     {0x0169, 0x75},
  750.     {0x016A, 0x55},
  751.     {0x016B, 0x75},
  752.     {0x016C, 0x55},
  753.     {0x016D, 0x75},
  754.     {0x016E, 0x55},
  755.     {0x016F, 0x75},
  756.     {0x0170, 0x55},
  757.     {0x0171, 0x75},
  758.     {0x0172, 0x55},
  759.     {0x0173, 0x75},
  760.     {0x0174, 0x57},
  761.     {0x0175, 0x77},
  762.     {0x0176, 0x59},
  763.     {0x0177, 0x79},
  764.     {0x0178, 0x59},
  765.     {0x0179, 0x5A},
  766.     {0x017A, 0x7A},
  767.     {0x017B, 0x5A},
  768.     {0x017C, 0x7A},
  769.     {0x017D, 0x5A},
  770.     {0x017E, 0x7A},
  771.     {0x0192, 0x66},
  772.     {0x1E02, 0x42},
  773.     {0x1E03, 0x62},
  774.     {0x1E0A, 0x44},
  775.     {0x1E0B, 0x64},
  776.     {0x1E1E, 0x46},
  777.     {0x1E1F, 0x66},
  778.     {0x1E40, 0x4D},
  779.     {0x1E41, 0x6D},
  780.     {0x1E56, 0x50},
  781.     {0x1E57, 0x70},
  782.     {0x1E60, 0x53},
  783.     {0x1E61, 0x73},
  784.     {0x1E6A, 0x54},
  785.     {0x1E6B, 0x74},
  786.     {0x1E80, 0x57},
  787.     {0x1E81, 0x77},
  788.     {0x1E82, 0x57},
  789.     {0x1E83, 0x77},
  790.     {0x1E84, 0x57},
  791.     {0x1E85, 0x77},
  792.     {0x1EF2, 0x59},
  793.     {0x1EF3, 0x79},
  794.     {0x2013, 0x2D},
  795.     {0x2014, 0x2D},
  796.     {0x2018, 0x27},
  797.     {0x2019, 0x27},
  798.     {0x201A, 0x27},
  799.     {0x201C, 0x22},
  800.     {0x201D, 0x22},
  801.     {0x201E, 0x22},
  802.     {0x2039, 0x27},
  803.     {0x203A, 0x27},
  804.     {0, 0}
  805.  };
  806.  
  807. static unsigned encoding_unicode_fallback_count =  200;
  808.  
  809.  
  810.  
  811.  
  812. /*
  813.  *
  814.  * Table of all supported encodings:
  815.  *
  816.  */
  817.  
  818. static struct {
  819.     wxFontEncoding encoding; // encoding identifier
  820.     wxUint16 *table;         // 8bit to unicode table
  821. } encodings_list[] = {
  822.  
  823.     { wxFONTENCODING_ISO8859_1, encoding_table__ISO8859_1},
  824.     { wxFONTENCODING_ISO8859_10, encoding_table__ISO8859_10},
  825.     { wxFONTENCODING_ISO8859_13, encoding_table__ISO8859_13},
  826.     { wxFONTENCODING_ISO8859_14, encoding_table__ISO8859_14},
  827.     { wxFONTENCODING_ISO8859_15, encoding_table__ISO8859_15},
  828.     { wxFONTENCODING_ISO8859_2, encoding_table__ISO8859_2},
  829.     { wxFONTENCODING_ISO8859_3, encoding_table__ISO8859_3},
  830.     { wxFONTENCODING_ISO8859_4, encoding_table__ISO8859_4},
  831.     { wxFONTENCODING_ISO8859_5, encoding_table__ISO8859_5},
  832.     { wxFONTENCODING_ISO8859_6, encoding_table__ISO8859_6},
  833.     { wxFONTENCODING_ISO8859_7, encoding_table__ISO8859_7},
  834.     { wxFONTENCODING_ISO8859_8, encoding_table__ISO8859_8},
  835.     { wxFONTENCODING_ISO8859_9, encoding_table__ISO8859_9},
  836.     { wxFONTENCODING_CP1250, encoding_table__CP1250},
  837.     { wxFONTENCODING_CP1251, encoding_table__CP1251},
  838.     { wxFONTENCODING_CP1252, encoding_table__CP1252},
  839.     { wxFONTENCODING_CP1253, encoding_table__CP1253},
  840.     { wxFONTENCODING_CP1254, encoding_table__CP1254},
  841.     { wxFONTENCODING_CP1255, encoding_table__CP1255},
  842.     { wxFONTENCODING_CP1256, encoding_table__CP1256},
  843.     { wxFONTENCODING_CP1257, encoding_table__CP1257},
  844.     { wxFONTENCODING_KOI8, encoding_table__KOI8},
  845.     {wxFONTENCODING_MAX /*anything*/, NULL}
  846.  };
  847.