Back to index

tetex-bin  3.0
UnicodeMapTables.h
Go to the documentation of this file.
00001 //========================================================================
00002 //
00003 // UnicodeMapTables.h
00004 //
00005 // Copyright 2001-2003 Glyph & Cog, LLC
00006 //
00007 //========================================================================
00008 
00009 static UnicodeMapRange latin1UnicodeMapRanges[] = {
00010   { 0x000a, 0x000a, 0x0a, 1 },
00011   { 0x000c, 0x000d, 0x0c, 1 },
00012   { 0x0020, 0x007e, 0x20, 1 },
00013   { 0x00a0, 0x00a0, 0x20, 1 },
00014   { 0x00a1, 0x00ac, 0xa1, 1 },
00015   { 0x00ae, 0x00ff, 0xae, 1 },
00016   { 0x010c, 0x010c, 0x43, 1 },
00017   { 0x010d, 0x010d, 0x63, 1 },
00018   { 0x0131, 0x0131, 0x69, 1 },
00019   { 0x0141, 0x0141, 0x4c, 1 },
00020   { 0x0142, 0x0142, 0x6c, 1 },
00021   { 0x0152, 0x0152, 0x4f45, 2 },
00022   { 0x0153, 0x0153, 0x6f65, 2 },
00023   { 0x0160, 0x0160, 0x53, 1 },
00024   { 0x0161, 0x0161, 0x73, 1 },
00025   { 0x0178, 0x0178, 0x59, 1 },
00026   { 0x017d, 0x017d, 0x5a, 1 },
00027   { 0x017e, 0x017e, 0x7a, 1 },
00028   { 0x02c6, 0x02c6, 0x5e, 1 },
00029   { 0x02da, 0x02da, 0xb0, 1 },
00030   { 0x02dc, 0x02dc, 0x7e, 1 },
00031   { 0x2013, 0x2013, 0xad, 1 },
00032   { 0x2014, 0x2014, 0x2d2d, 2 },
00033   { 0x2018, 0x2018, 0x60, 1 },
00034   { 0x2019, 0x2019, 0x27, 1 },
00035   { 0x201a, 0x201a, 0x2c, 1 },
00036   { 0x201c, 0x201c, 0x22, 1 },
00037   { 0x201d, 0x201d, 0x22, 1 },
00038   { 0x201e, 0x201e, 0x2c2c, 2 },
00039   { 0x2022, 0x2022, 0xb7, 1 },
00040   { 0x2026, 0x2026, 0x2e2e2e, 3 },
00041   { 0x2039, 0x2039, 0x3c, 1 },
00042   { 0x203a, 0x203a, 0x3e, 1 },
00043   { 0x2044, 0x2044, 0x2f, 1 },
00044   { 0x2122, 0x2122, 0x544d, 2 },
00045   { 0x2212, 0x2212, 0x2d, 1 },
00046   { 0xf6f9, 0xf6f9, 0x4c, 1 },
00047   { 0xf6fa, 0xf6fa, 0x4f45, 2 },
00048   { 0xf6fc, 0xf6fc, 0xb0, 1 },
00049   { 0xf6fd, 0xf6fd, 0x53, 1 },
00050   { 0xf6fe, 0xf6fe, 0x7e, 1 },
00051   { 0xf6ff, 0xf6ff, 0x5a, 1 },
00052   { 0xf721, 0xf721, 0x21, 1 },
00053   { 0xf724, 0xf724, 0x24, 1 },
00054   { 0xf726, 0xf726, 0x26, 1 },
00055   { 0xf730, 0xf739, 0x30, 1 },
00056   { 0xf73f, 0xf73f, 0x3f, 1 },
00057   { 0xf761, 0xf77a, 0x41, 1 },
00058   { 0xf7a1, 0xf7a2, 0xa1, 1 },
00059   { 0xf7bf, 0xf7bf, 0xbf, 1 },
00060   { 0xf7e0, 0xf7f6, 0xc0, 1 },
00061   { 0xf7f8, 0xf7fe, 0xd8, 1 },
00062   { 0xf7ff, 0xf7ff, 0x59, 1 },
00063   { 0xfb00, 0xfb00, 0x6666, 2 },
00064   { 0xfb01, 0xfb01, 0x6669, 2 },
00065   { 0xfb02, 0xfb02, 0x666c, 2 },
00066   { 0xfb03, 0xfb03, 0x666669, 3 },
00067   { 0xfb04, 0xfb04, 0x66666c, 3 }
00068 };
00069 #define latin1UnicodeMapLen (sizeof(latin1UnicodeMapRanges) / sizeof(UnicodeMapRange))
00070 
00071 static UnicodeMapRange ascii7UnicodeMapRanges[] = {
00072   { 0x000a, 0x000a, 0x0a, 1 },
00073   { 0x000c, 0x000d, 0x0c, 1 },
00074   { 0x0020, 0x005f, 0x20, 1 },
00075   { 0x0061, 0x007e, 0x61, 1 },
00076   { 0x00a6, 0x00a6, 0x7c, 1 },
00077   { 0x00a9, 0x00a9, 0x286329, 3 },
00078   { 0x00ae, 0x00ae, 0x285229, 3 },
00079   { 0x00b7, 0x00b7, 0x2a, 1 },
00080   { 0x00bc, 0x00bc, 0x312f34, 3 },
00081   { 0x00bd, 0x00bd, 0x312f32, 3 },
00082   { 0x00be, 0x00be, 0x332f34, 3 },
00083   { 0x00c0, 0x00c0, 0x41, 1 },
00084   { 0x00c1, 0x00c1, 0x41, 1 },
00085   { 0x00c2, 0x00c2, 0x41, 1 },
00086   { 0x00c3, 0x00c3, 0x41, 1 },
00087   { 0x00c4, 0x00c4, 0x41, 1 },
00088   { 0x00c5, 0x00c5, 0x41, 1 },
00089   { 0x00c6, 0x00c6, 0x4145, 2 },
00090   { 0x00c7, 0x00c7, 0x43, 1 },
00091   { 0x00c8, 0x00c8, 0x45, 1 },
00092   { 0x00c9, 0x00c9, 0x45, 1 },
00093   { 0x00ca, 0x00ca, 0x45, 1 },
00094   { 0x00cb, 0x00cb, 0x45, 1 },
00095   { 0x00cc, 0x00cc, 0x49, 1 },
00096   { 0x00cd, 0x00cd, 0x49, 1 },
00097   { 0x00ce, 0x00ce, 0x49, 1 },
00098   { 0x00cf, 0x00cf, 0x49, 1 },
00099   { 0x00d1, 0x00d2, 0x4e, 1 },
00100   { 0x00d3, 0x00d3, 0x4f, 1 },
00101   { 0x00d4, 0x00d4, 0x4f, 1 },
00102   { 0x00d5, 0x00d5, 0x4f, 1 },
00103   { 0x00d6, 0x00d6, 0x4f, 1 },
00104   { 0x00d7, 0x00d7, 0x78, 1 },
00105   { 0x00d8, 0x00d8, 0x4f, 1 },
00106   { 0x00d9, 0x00d9, 0x55, 1 },
00107   { 0x00da, 0x00da, 0x55, 1 },
00108   { 0x00db, 0x00db, 0x55, 1 },
00109   { 0x00dc, 0x00dc, 0x55, 1 },
00110   { 0x00dd, 0x00dd, 0x59, 1 },
00111   { 0x00e0, 0x00e0, 0x61, 1 },
00112   { 0x00e1, 0x00e1, 0x61, 1 },
00113   { 0x00e2, 0x00e2, 0x61, 1 },
00114   { 0x00e3, 0x00e3, 0x61, 1 },
00115   { 0x00e4, 0x00e4, 0x61, 1 },
00116   { 0x00e5, 0x00e5, 0x61, 1 },
00117   { 0x00e6, 0x00e6, 0x6165, 2 },
00118   { 0x00e7, 0x00e7, 0x63, 1 },
00119   { 0x00e8, 0x00e8, 0x65, 1 },
00120   { 0x00e9, 0x00e9, 0x65, 1 },
00121   { 0x00ea, 0x00ea, 0x65, 1 },
00122   { 0x00eb, 0x00eb, 0x65, 1 },
00123   { 0x00ec, 0x00ec, 0x69, 1 },
00124   { 0x00ed, 0x00ed, 0x69, 1 },
00125   { 0x00ee, 0x00ee, 0x69, 1 },
00126   { 0x00ef, 0x00ef, 0x69, 1 },
00127   { 0x00f1, 0x00f2, 0x6e, 1 },
00128   { 0x00f3, 0x00f3, 0x6f, 1 },
00129   { 0x00f4, 0x00f4, 0x6f, 1 },
00130   { 0x00f5, 0x00f5, 0x6f, 1 },
00131   { 0x00f6, 0x00f6, 0x6f, 1 },
00132   { 0x00f7, 0x00f7, 0x2f, 1 },
00133   { 0x00f8, 0x00f8, 0x6f, 1 },
00134   { 0x00f9, 0x00f9, 0x75, 1 },
00135   { 0x00fa, 0x00fa, 0x75, 1 },
00136   { 0x00fb, 0x00fb, 0x75, 1 },
00137   { 0x00fc, 0x00fc, 0x75, 1 },
00138   { 0x00fd, 0x00fd, 0x79, 1 },
00139   { 0x00ff, 0x00ff, 0x79, 1 },
00140   { 0x0131, 0x0131, 0x69, 1 },
00141   { 0x0141, 0x0141, 0x4c, 1 },
00142   { 0x0152, 0x0152, 0x4f45, 2 },
00143   { 0x0153, 0x0153, 0x6f65, 2 },
00144   { 0x0160, 0x0160, 0x53, 1 },
00145   { 0x0178, 0x0178, 0x59, 1 },
00146   { 0x017d, 0x017d, 0x5a, 1 },
00147   { 0x2013, 0x2013, 0x2d, 1 },
00148   { 0x2014, 0x2014, 0x2d2d, 2 },
00149   { 0x2018, 0x2018, 0x60, 1 },
00150   { 0x2019, 0x2019, 0x27, 1 },
00151   { 0x201c, 0x201c, 0x22, 1 },
00152   { 0x201d, 0x201d, 0x22, 1 },
00153   { 0x2022, 0x2022, 0x2a, 1 },
00154   { 0x2026, 0x2026, 0x2e2e2e, 3 },
00155   { 0x2122, 0x2122, 0x544d, 2 },
00156   { 0x2212, 0x2212, 0x2d, 1 },
00157   { 0xf6f9, 0xf6f9, 0x4c, 1 },
00158   { 0xf6fa, 0xf6fa, 0x4f45, 2 },
00159   { 0xf6fd, 0xf6fd, 0x53, 1 },
00160   { 0xf6fe, 0xf6fe, 0x7e, 1 },
00161   { 0xf6ff, 0xf6ff, 0x5a, 1 },
00162   { 0xf721, 0xf721, 0x21, 1 },
00163   { 0xf724, 0xf724, 0x24, 1 },
00164   { 0xf726, 0xf726, 0x26, 1 },
00165   { 0xf730, 0xf739, 0x30, 1 },
00166   { 0xf73f, 0xf73f, 0x3f, 1 },
00167   { 0xf761, 0xf77a, 0x41, 1 },
00168   { 0xf7e0, 0xf7e0, 0x41, 1 },
00169   { 0xf7e1, 0xf7e1, 0x41, 1 },
00170   { 0xf7e2, 0xf7e2, 0x41, 1 },
00171   { 0xf7e3, 0xf7e3, 0x41, 1 },
00172   { 0xf7e4, 0xf7e4, 0x41, 1 },
00173   { 0xf7e5, 0xf7e5, 0x41, 1 },
00174   { 0xf7e6, 0xf7e6, 0x4145, 2 },
00175   { 0xf7e7, 0xf7e7, 0x43, 1 },
00176   { 0xf7e8, 0xf7e8, 0x45, 1 },
00177   { 0xf7e9, 0xf7e9, 0x45, 1 },
00178   { 0xf7ea, 0xf7ea, 0x45, 1 },
00179   { 0xf7eb, 0xf7eb, 0x45, 1 },
00180   { 0xf7ec, 0xf7ec, 0x49, 1 },
00181   { 0xf7ed, 0xf7ed, 0x49, 1 },
00182   { 0xf7ee, 0xf7ee, 0x49, 1 },
00183   { 0xf7ef, 0xf7ef, 0x49, 1 },
00184   { 0xf7f1, 0xf7f2, 0x4e, 1 },
00185   { 0xf7f3, 0xf7f3, 0x4f, 1 },
00186   { 0xf7f4, 0xf7f4, 0x4f, 1 },
00187   { 0xf7f5, 0xf7f5, 0x4f, 1 },
00188   { 0xf7f6, 0xf7f6, 0x4f, 1 },
00189   { 0xf7f8, 0xf7f8, 0x4f, 1 },
00190   { 0xf7f9, 0xf7f9, 0x55, 1 },
00191   { 0xf7fa, 0xf7fa, 0x55, 1 },
00192   { 0xf7fb, 0xf7fb, 0x55, 1 },
00193   { 0xf7fc, 0xf7fc, 0x55, 1 },
00194   { 0xf7fd, 0xf7fd, 0x59, 1 },
00195   { 0xf7ff, 0xf7ff, 0x59, 1 },
00196   { 0xfb00, 0xfb00, 0x6666, 2 },
00197   { 0xfb01, 0xfb01, 0x6669, 2 },
00198   { 0xfb02, 0xfb02, 0x666c, 2 },
00199   { 0xfb03, 0xfb03, 0x666669, 3 },
00200   { 0xfb04, 0xfb04, 0x66666c, 3 }
00201 };
00202 #define ascii7UnicodeMapLen (sizeof(ascii7UnicodeMapRanges) / sizeof(UnicodeMapRange))
00203 
00204 static UnicodeMapRange symbolUnicodeMapRanges[] = {
00205   { 0x0020, 0x0021, 0x20, 1 },
00206   { 0x0023, 0x0023, 0x23, 1 },
00207   { 0x0025, 0x0026, 0x25, 1 },
00208   { 0x0028, 0x0029, 0x28, 1 },
00209   { 0x002b, 0x002c, 0x2b, 1 },
00210   { 0x002e, 0x003f, 0x2e, 1 },
00211   { 0x005b, 0x005b, 0x5b, 1 },
00212   { 0x005d, 0x005d, 0x5d, 1 },
00213   { 0x005f, 0x005f, 0x5f, 1 },
00214   { 0x007b, 0x007d, 0x7b, 1 },
00215   { 0x00ac, 0x00ac, 0xd8, 1 },
00216   { 0x00b0, 0x00b1, 0xb0, 1 },
00217   { 0x00b5, 0x00b5, 0x6d, 1 },
00218   { 0x00d7, 0x00d7, 0xb4, 1 },
00219   { 0x00f7, 0x00f7, 0xb8, 1 },
00220   { 0x0192, 0x0192, 0xa6, 1 },
00221   { 0x0391, 0x0392, 0x41, 1 },
00222   { 0x0393, 0x0393, 0x47, 1 },
00223   { 0x0395, 0x0395, 0x45, 1 },
00224   { 0x0396, 0x0396, 0x5a, 1 },
00225   { 0x0397, 0x0397, 0x48, 1 },
00226   { 0x0398, 0x0398, 0x51, 1 },
00227   { 0x0399, 0x0399, 0x49, 1 },
00228   { 0x039a, 0x039d, 0x4b, 1 },
00229   { 0x039e, 0x039e, 0x58, 1 },
00230   { 0x039f, 0x03a0, 0x4f, 1 },
00231   { 0x03a1, 0x03a1, 0x52, 1 },
00232   { 0x03a3, 0x03a5, 0x53, 1 },
00233   { 0x03a6, 0x03a6, 0x46, 1 },
00234   { 0x03a7, 0x03a7, 0x43, 1 },
00235   { 0x03a8, 0x03a8, 0x59, 1 },
00236   { 0x03b1, 0x03b2, 0x61, 1 },
00237   { 0x03b3, 0x03b3, 0x67, 1 },
00238   { 0x03b4, 0x03b5, 0x64, 1 },
00239   { 0x03b6, 0x03b6, 0x7a, 1 },
00240   { 0x03b7, 0x03b7, 0x68, 1 },
00241   { 0x03b8, 0x03b8, 0x71, 1 },
00242   { 0x03b9, 0x03b9, 0x69, 1 },
00243   { 0x03ba, 0x03bb, 0x6b, 1 },
00244   { 0x03bd, 0x03bd, 0x6e, 1 },
00245   { 0x03be, 0x03be, 0x78, 1 },
00246   { 0x03bf, 0x03c0, 0x6f, 1 },
00247   { 0x03c1, 0x03c1, 0x72, 1 },
00248   { 0x03c2, 0x03c2, 0x56, 1 },
00249   { 0x03c3, 0x03c5, 0x73, 1 },
00250   { 0x03c6, 0x03c6, 0x66, 1 },
00251   { 0x03c7, 0x03c7, 0x63, 1 },
00252   { 0x03c8, 0x03c8, 0x79, 1 },
00253   { 0x03c9, 0x03c9, 0x77, 1 },
00254   { 0x03d1, 0x03d1, 0x4a, 1 },
00255   { 0x03d2, 0x03d2, 0xa1, 1 },
00256   { 0x03d5, 0x03d5, 0x6a, 1 },
00257   { 0x03d6, 0x03d6, 0x76, 1 },
00258   { 0x2022, 0x2022, 0xb7, 1 },
00259   { 0x2026, 0x2026, 0xbc, 1 },
00260   { 0x2032, 0x2032, 0xa2, 1 },
00261   { 0x2033, 0x2033, 0xb2, 1 },
00262   { 0x2044, 0x2044, 0xa4, 1 },
00263   { 0x2111, 0x2111, 0xc1, 1 },
00264   { 0x2118, 0x2118, 0xc3, 1 },
00265   { 0x211c, 0x211c, 0xc2, 1 },
00266   { 0x2126, 0x2126, 0x57, 1 },
00267   { 0x2135, 0x2135, 0xc0, 1 },
00268   { 0x2190, 0x2193, 0xac, 1 },
00269   { 0x2194, 0x2194, 0xab, 1 },
00270   { 0x21b5, 0x21b5, 0xbf, 1 },
00271   { 0x21d0, 0x21d3, 0xdc, 1 },
00272   { 0x21d4, 0x21d4, 0xdb, 1 },
00273   { 0x2200, 0x2200, 0x22, 1 },
00274   { 0x2202, 0x2202, 0xb6, 1 },
00275   { 0x2203, 0x2203, 0x24, 1 },
00276   { 0x2205, 0x2205, 0xc6, 1 },
00277   { 0x2206, 0x2206, 0x44, 1 },
00278   { 0x2207, 0x2207, 0xd1, 1 },
00279   { 0x2208, 0x2209, 0xce, 1 },
00280   { 0x220b, 0x220b, 0x27, 1 },
00281   { 0x220f, 0x220f, 0xd5, 1 },
00282   { 0x2211, 0x2211, 0xe5, 1 },
00283   { 0x2212, 0x2212, 0x2d, 1 },
00284   { 0x2217, 0x2217, 0x2a, 1 },
00285   { 0x221a, 0x221a, 0xd6, 1 },
00286   { 0x221d, 0x221d, 0xb5, 1 },
00287   { 0x221e, 0x221e, 0xa5, 1 },
00288   { 0x2220, 0x2220, 0xd0, 1 },
00289   { 0x2227, 0x2228, 0xd9, 1 },
00290   { 0x2229, 0x222a, 0xc7, 1 },
00291   { 0x222b, 0x222b, 0xf2, 1 },
00292   { 0x2234, 0x2234, 0x5c, 1 },
00293   { 0x223c, 0x223c, 0x7e, 1 },
00294   { 0x2245, 0x2245, 0x40, 1 },
00295   { 0x2248, 0x2248, 0xbb, 1 },
00296   { 0x2260, 0x2261, 0xb9, 1 },
00297   { 0x2264, 0x2264, 0xa3, 1 },
00298   { 0x2265, 0x2265, 0xb3, 1 },
00299   { 0x2282, 0x2282, 0xcc, 1 },
00300   { 0x2283, 0x2283, 0xc9, 1 },
00301   { 0x2284, 0x2284, 0xcb, 1 },
00302   { 0x2286, 0x2286, 0xcd, 1 },
00303   { 0x2287, 0x2287, 0xca, 1 },
00304   { 0x2295, 0x2295, 0xc5, 1 },
00305   { 0x2297, 0x2297, 0xc4, 1 },
00306   { 0x22a5, 0x22a5, 0x5e, 1 },
00307   { 0x22c5, 0x22c5, 0xd7, 1 },
00308   { 0x2320, 0x2320, 0xf3, 1 },
00309   { 0x2321, 0x2321, 0xf5, 1 },
00310   { 0x2329, 0x2329, 0xe1, 1 },
00311   { 0x232a, 0x232a, 0xf1, 1 },
00312   { 0x25ca, 0x25ca, 0xe0, 1 },
00313   { 0x2660, 0x2660, 0xaa, 1 },
00314   { 0x2663, 0x2663, 0xa7, 1 },
00315   { 0x2665, 0x2665, 0xa9, 1 },
00316   { 0x2666, 0x2666, 0xa8, 1 },
00317   { 0xf6d9, 0xf6d9, 0xd3, 1 },
00318   { 0xf6da, 0xf6da, 0xd2, 1 },
00319   { 0xf6db, 0xf6db, 0xd4, 1 },
00320   { 0xf8e5, 0xf8e5, 0x60, 1 },
00321   { 0xf8e6, 0xf8e7, 0xbd, 1 },
00322   { 0xf8e8, 0xf8ea, 0xe2, 1 },
00323   { 0xf8eb, 0xf8f4, 0xe6, 1 },
00324   { 0xf8f5, 0xf8f5, 0xf4, 1 },
00325   { 0xf8f6, 0xf8fe, 0xf6, 1 }
00326 };
00327 #define symbolUnicodeMapLen (sizeof(symbolUnicodeMapRanges) / sizeof(UnicodeMapRange))
00328 
00329 static UnicodeMapRange zapfDingbatsUnicodeMapRanges[] = {
00330   { 0x0020, 0x0020, 0x20, 1 },
00331   { 0x2192, 0x2192, 0xd5, 1 },
00332   { 0x2194, 0x2195, 0xd6, 1 },
00333   { 0x2460, 0x2469, 0xac, 1 },
00334   { 0x25a0, 0x25a0, 0x6e, 1 },
00335   { 0x25b2, 0x25b2, 0x73, 1 },
00336   { 0x25bc, 0x25bc, 0x74, 1 },
00337   { 0x25c6, 0x25c6, 0x75, 1 },
00338   { 0x25cf, 0x25cf, 0x6c, 1 },
00339   { 0x25d7, 0x25d7, 0x77, 1 },
00340   { 0x2605, 0x2605, 0x48, 1 },
00341   { 0x260e, 0x260e, 0x25, 1 },
00342   { 0x261b, 0x261b, 0x2a, 1 },
00343   { 0x261e, 0x261e, 0x2b, 1 },
00344   { 0x2660, 0x2660, 0xab, 1 },
00345   { 0x2663, 0x2663, 0xa8, 1 },
00346   { 0x2665, 0x2665, 0xaa, 1 },
00347   { 0x2666, 0x2666, 0xa9, 1 },
00348   { 0x2701, 0x2704, 0x21, 1 },
00349   { 0x2706, 0x2709, 0x26, 1 },
00350   { 0x270c, 0x2727, 0x2c, 1 },
00351   { 0x2729, 0x274b, 0x49, 1 },
00352   { 0x274d, 0x274d, 0x6d, 1 },
00353   { 0x274f, 0x2752, 0x6f, 1 },
00354   { 0x2756, 0x2756, 0x76, 1 },
00355   { 0x2758, 0x275e, 0x78, 1 },
00356   { 0x2761, 0x2767, 0xa1, 1 },
00357   { 0x2776, 0x2794, 0xb6, 1 },
00358   { 0x2798, 0x27af, 0xd8, 1 },
00359   { 0x27b1, 0x27be, 0xf1, 1 }
00360 };
00361 #define zapfDingbatsUnicodeMapLen (sizeof(zapfDingbatsUnicodeMapRanges) / sizeof(UnicodeMapRange))