summaryrefslogtreecommitdiff
path: root/Build/source/texk/web2c/luatexdir/luafontloader/fontforge/fontforge/macenc.c
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/texk/web2c/luatexdir/luafontloader/fontforge/fontforge/macenc.c')
-rw-r--r--Build/source/texk/web2c/luatexdir/luafontloader/fontforge/fontforge/macenc.c1416
1 files changed, 0 insertions, 1416 deletions
diff --git a/Build/source/texk/web2c/luatexdir/luafontloader/fontforge/fontforge/macenc.c b/Build/source/texk/web2c/luatexdir/luafontloader/fontforge/fontforge/macenc.c
deleted file mode 100644
index 7dd59529e7f..00000000000
--- a/Build/source/texk/web2c/luatexdir/luafontloader/fontforge/fontforge/macenc.c
+++ /dev/null
@@ -1,1416 +0,0 @@
-/* Copyright (C) 2003-2008 by George Williams */
-/*
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice, this
- * list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
-
- * The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
-
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-#include "fontforgevw.h"
-#include <ustring.h>
-#include "ttf.h"
-
-/*
- The original data for these mappings may be found at
- http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/
- unfortunately this site does not contain all the macintosh encodings
- so we leave some blank
-*/
-/* Response (indirectly) from charsets@apple.com when asked about the missing
- encodings:
-
- > I don't believe any of those additional scripts are actually
- > defined as character encodings. He can safely ignore anything
- > that's not in the Apple folder on the Unicode site.
- >
- > I monitor charsets@apple.com and don't recall seeing any e-mail
- > on this subject. It's possible it got lost in the voluminous
- > spam the address receives.
- >
- > Deborah
- I find this perplexing (unless the script is defined but unused, how can
- it fail to have a defined encoding), but will accept it.
-*/
-
-/* Macintosh 1 byte encodings */
-static unichar_t arabic[256] = {
- 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,
- 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,
- 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,
- 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,
- 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,
- 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,
- 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,
- 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,
- 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,
- 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,
- 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,
- 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,
- 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,
- 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,
- 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,
- 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,
- 0x00c4, 0x00a0, 0x00c7, 0x00c9, 0x00d1, 0x00d6, 0x00dc, 0x00e1,
- 0x00e0, 0x00e2, 0x00e4, 0x06ba, 0x00ab, 0x00e7, 0x00e9, 0x00e8,
- 0x00ea, 0x00eb, 0x00ed, 0x2026, 0x00ee, 0x00ef, 0x00f1, 0x00f3,
- 0x00bb, 0x00f4, 0x00f6, 0x00f7, 0x00fa, 0x00f9, 0x00fb, 0x00fc,
- 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x066a, 0x0026, 0x0027,
- 0x0028, 0x0029, 0x002a, 0x002b, 0x060c, 0x002d, 0x002e, 0x002f,
- 0x0660, 0x0661, 0x0662, 0x0663, 0x0664, 0x0665, 0x0666, 0x0667,
- 0x0668, 0x0669, 0x003a, 0x061b, 0x003c, 0x003d, 0x003e, 0x061f,
- 0x274a, 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, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,
- 0x0640, 0x0641, 0x0642, 0x0643, 0x0644, 0x0645, 0x0646, 0x0647,
- 0x0648, 0x0649, 0x064a, 0x064b, 0x064c, 0x064d, 0x064e, 0x064f,
- 0x0650, 0x0651, 0x0652, 0x067e, 0x0679, 0x0686, 0x06d5, 0x06a4,
- 0x06af, 0x0688, 0x0691, 0x007b, 0x007c, 0x007d, 0x0698, 0x06d2
-};
-
-static unichar_t centeuro[256] = {
- 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,
- 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,
- 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,
- 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,
- 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,
- 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,
- 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,
- 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,
- 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,
- 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,
- 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,
- 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,
- 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,
- 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,
- 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,
- 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,
- 0x00c4, 0x0100, 0x0101, 0x00c9, 0x0104, 0x00d6, 0x00dc, 0x00e1,
- 0x0105, 0x010c, 0x00e4, 0x010d, 0x0106, 0x0107, 0x00e9, 0x0179,
- 0x017a, 0x010e, 0x00ed, 0x010f, 0x0112, 0x0113, 0x0116, 0x00f3,
- 0x0117, 0x00f4, 0x00f6, 0x00f5, 0x00fa, 0x011a, 0x011b, 0x00fc,
- 0x2020, 0x00b0, 0x0118, 0x00a3, 0x00a7, 0x2022, 0x00b6, 0x00df,
- 0x00ae, 0x00a9, 0x2122, 0x0119, 0x00a8, 0x2260, 0x0123, 0x012e,
- 0x012f, 0x012a, 0x2264, 0x2265, 0x012b, 0x0136, 0x2202, 0x2211,
- 0x0142, 0x013b, 0x013c, 0x013d, 0x013e, 0x0139, 0x013a, 0x0145,
- 0x0146, 0x0143, 0x00ac, 0x221a, 0x0144, 0x0147, 0x2206, 0x00ab,
- 0x00bb, 0x2026, 0x00a0, 0x0148, 0x0150, 0x00d5, 0x0151, 0x014c,
- 0x2013, 0x2014, 0x201c, 0x201d, 0x2018, 0x2019, 0x00f7, 0x25ca,
- 0x014d, 0x0154, 0x0155, 0x0158, 0x2039, 0x203a, 0x0159, 0x0156,
- 0x0157, 0x0160, 0x201a, 0x201e, 0x0161, 0x015a, 0x015b, 0x00c1,
- 0x0164, 0x0165, 0x00cd, 0x017d, 0x017e, 0x016a, 0x00d3, 0x00d4,
- 0x016b, 0x016e, 0x00da, 0x016f, 0x0170, 0x0171, 0x0172, 0x0173,
- 0x00dd, 0x00fd, 0x0137, 0x017b, 0x0141, 0x017c, 0x0122, 0x02c7
-};
-
-static unichar_t croatian[256] = {
- 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,
- 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,
- 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,
- 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,
- 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,
- 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,
- 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,
- 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,
- 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,
- 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,
- 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,
- 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,
- 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,
- 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,
- 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,
- 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,
- 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, 0x0160, 0x2122, 0x00b4, 0x00a8, 0x2260, 0x017d, 0x00d8,
- 0x221e, 0x00b1, 0x2264, 0x2265, 0x2206, 0x00b5, 0x2202, 0x2211,
- 0x220f, 0x0161, 0x222b, 0x00aa, 0x00ba, 0x03a9, 0x017e, 0x00f8,
- 0x00bf, 0x00a1, 0x00ac, 0x221a, 0x0192, 0x2248, 0x0106, 0x00ab,
- 0x010c, 0x2026, 0x00a0, 0x00c0, 0x00c3, 0x00d5, 0x0152, 0x0153,
- 0x0110, 0x2014, 0x201c, 0x201d, 0x2018, 0x2019, 0x00f7, 0x25ca,
- 0xf8ff, 0x00a9, 0x2044, 0x20ac, 0x2039, 0x203a, 0x00c6, 0x00bb,
- 0x2013, 0x00b7, 0x201a, 0x201e, 0x2030, 0x00c2, 0x0107, 0x00c1,
- 0x010d, 0x00c8, 0x00cd, 0x00ce, 0x00cf, 0x00cc, 0x00d3, 0x00d4,
- 0x0111, 0x00d2, 0x00da, 0x00db, 0x00d9, 0x0131, 0x02c6, 0x02dc,
- 0x00af, 0x03c0, 0x00cb, 0x02da, 0x00b8, 0x00ca, 0x00e6, 0x02c7
-};
-
-static unichar_t cyrillic[256] = {
- 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,
- 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,
- 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,
- 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,
- 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,
- 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,
- 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,
- 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,
- 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,
- 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,
- 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,
- 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,
- 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,
- 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,
- 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,
- 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,
- 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,
- 0x2020, 0x00b0, 0x0490, 0x00a3, 0x00a7, 0x2022, 0x00b6, 0x0406,
- 0x00ae, 0x00a9, 0x2122, 0x0402, 0x0452, 0x2260, 0x0403, 0x0453,
- 0x221e, 0x00b1, 0x2264, 0x2265, 0x0456, 0x00b5, 0x0491, 0x0408,
- 0x0404, 0x0454, 0x0407, 0x0457, 0x0409, 0x0459, 0x040a, 0x045a,
- 0x0458, 0x0405, 0x00ac, 0x221a, 0x0192, 0x2248, 0x2206, 0x00ab,
- 0x00bb, 0x2026, 0x00a0, 0x040b, 0x045b, 0x040c, 0x045c, 0x0455,
- 0x2013, 0x2014, 0x201c, 0x201d, 0x2018, 0x2019, 0x00f7, 0x201e,
- 0x040e, 0x045e, 0x040f, 0x045f, 0x2116, 0x0401, 0x0451, 0x044f,
- 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, 0x20ac
-};
-
-static unichar_t devanagari[256] = {
- 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,
- 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,
- 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,
- 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,
- 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,
- 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,
- 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,
- 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,
- 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,
- 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,
- 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,
- 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,
- 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,
- 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,
- 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,
- 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,
- 0x00d7, 0x2212, 0x2013, 0x2014, 0x2018, 0x2019, 0x2026, 0x2022,
- 0x00a9, 0x00ae, 0x2122, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
- 0x0965, 0x0970, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
- 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
- 0x00a0, 0x0901, 0x0902, 0x0903, 0x0905, 0x0906, 0x0907, 0x0908,
- 0x0909, 0x090a, 0x090b, 0x090e, 0x090f, 0x0910, 0x090d, 0x0912,
- 0x0913, 0x0914, 0x0911, 0x0915, 0x0916, 0x0917, 0x0918, 0x0919,
- 0x091a, 0x091b, 0x091c, 0x091d, 0x091e, 0x091f, 0x0920, 0x0921,
- 0x0922, 0x0923, 0x0924, 0x0925, 0x0926, 0x0927, 0x0928, 0x0929,
- 0x092a, 0x092b, 0x092c, 0x092d, 0x092e, 0x092f, 0x095f, 0x0930,
- 0x0931, 0x0932, 0x0933, 0x0934, 0x0935, 0x0936, 0x0937, 0x0938,
- 0x0939, 0x200e, 0x093e, 0x093f, 0x0940, 0x0941, 0x0942, 0x0943,
- 0x0946, 0x0947, 0x0948, 0x0945, 0x094a, 0x094b, 0x094c, 0x0949,
- 0x094d, 0x093c, 0x0964, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef,
- 0x00f0, 0x0966, 0x0967, 0x0968, 0x0969, 0x096a, 0x096b, 0x096c,
- 0x096d, 0x096e, 0x096f,
-};
-
-static unichar_t farsi[256] = {
- 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,
- 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,
- 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,
- 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,
- 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,
- 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,
- 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,
- 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,
- 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,
- 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,
- 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,
- 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,
- 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,
- 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,
- 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,
- 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,
- 0x00c4, 0x00a0, 0x00c7, 0x00c9, 0x00d1, 0x00d6, 0x00dc, 0x00e1,
- 0x00e0, 0x00e2, 0x00e4, 0x06ba, 0x00ab, 0x00e7, 0x00e9, 0x00e8,
- 0x00ea, 0x00eb, 0x00ed, 0x2026, 0x00ee, 0x00ef, 0x00f1, 0x00f3,
- 0x00bb, 0x00f4, 0x00f6, 0x00f7, 0x00fa, 0x00f9, 0x00fb, 0x00fc,
- 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x066a, 0x0026, 0x0027,
- 0x0028, 0x0029, 0x002a, 0x002b, 0x060c, 0x002d, 0x002e, 0x002f,
- 0x06f0, 0x06f1, 0x06f2, 0x06f3, 0x06f4, 0x06f5, 0x06f6, 0x06f7,
- 0x06f8, 0x06f9, 0x003a, 0x061b, 0x003c, 0x003d, 0x003e, 0x061f,
- 0x274a, 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, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,
- 0x0640, 0x0641, 0x0642, 0x0643, 0x0644, 0x0645, 0x0646, 0x0647,
- 0x0648, 0x0649, 0x064a, 0x064b, 0x064c, 0x064d, 0x064e, 0x064f,
- 0x0650, 0x0651, 0x0652, 0x067e, 0x0679, 0x0686, 0x06d5, 0x06a4,
- 0x06af, 0x0688, 0x0691, 0x007b, 0x007c, 0x007d, 0x0698, 0x06d2
-};
-
-static unichar_t greek[256] = {
- 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,
- 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,
- 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,
- 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,
- 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,
- 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,
- 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,
- 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,
- 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,
- 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,
- 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,
- 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,
- 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,
- 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,
- 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,
- 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,
- 0x00c4, 0x00b9, 0x00b2, 0x00c9, 0x00b3, 0x00d6, 0x00dc, 0x0385,
- 0x00e0, 0x00e2, 0x00e4, 0x0384, 0x00a8, 0x00e7, 0x00e9, 0x00e8,
- 0x00ea, 0x00eb, 0x00a3, 0x2122, 0x00ee, 0x00ef, 0x2022, 0x00bd,
- 0x2030, 0x00f4, 0x00f6, 0x00a6, 0x20ac, 0x00f9, 0x00fb, 0x00fc,
- 0x2020, 0x0393, 0x0394, 0x0398, 0x039b, 0x039e, 0x03a0, 0x00df,
- 0x00ae, 0x00a9, 0x03a3, 0x03aa, 0x00a7, 0x2260, 0x00b0, 0x00b7,
- 0x0391, 0x00b1, 0x2264, 0x2265, 0x00a5, 0x0392, 0x0395, 0x0396,
- 0x0397, 0x0399, 0x039a, 0x039c, 0x03a6, 0x03ab, 0x03a8, 0x03a9,
- 0x03ac, 0x039d, 0x00ac, 0x039f, 0x03a1, 0x2248, 0x03a4, 0x00ab,
- 0x00bb, 0x2026, 0x00a0, 0x03a5, 0x03a7, 0x0386, 0x0388, 0x0153,
- 0x2013, 0x2015, 0x201c, 0x201d, 0x2018, 0x2019, 0x00f7, 0x0389,
- 0x038a, 0x038c, 0x038e, 0x03ad, 0x03ae, 0x03af, 0x03cc, 0x038f,
- 0x03cd, 0x03b1, 0x03b2, 0x03c8, 0x03b4, 0x03b5, 0x03c6, 0x03b3,
- 0x03b7, 0x03b9, 0x03be, 0x03ba, 0x03bb, 0x03bc, 0x03bd, 0x03bf,
- 0x03c0, 0x03ce, 0x03c1, 0x03c3, 0x03c4, 0x03b8, 0x03c9, 0x03c2,
- 0x03c7, 0x03c5, 0x03b6, 0x03ca, 0x03cb, 0x0390, 0x03b0, 0x00ad
-};
-
-static unichar_t gujarati[256] = {
- 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,
- 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,
- 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,
- 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,
- 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,
- 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,
- 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,
- 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,
- 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,
- 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,
- 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,
- 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,
- 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,
- 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,
- 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,
- 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,
- 0x00d7, 0x2212, 0x2013, 0x2014, 0x2018, 0x2019, 0x2026, 0x2022,
- 0x00a9, 0x00ae, 0x2122, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
- 0x0965, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
- 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
- 0x00a0, 0x0a81, 0x0a82, 0x0a83, 0x0a85, 0x0a86, 0x0a87, 0x0a88,
- 0x0a89, 0x0a8a, 0x0a8b, 0x00ab, 0x0a8f, 0x0a90, 0x0a8d, 0x00af,
- 0x0a93, 0x0a94, 0x0a91, 0x0a95, 0x0a96, 0x0a97, 0x0a98, 0x0a99,
- 0x0a9a, 0x0a9b, 0x0a9c, 0x0a9d, 0x0a9e, 0x0a9f, 0x0aa0, 0x0aa1,
- 0x0aa2, 0x0aa3, 0x0aa4, 0x0aa5, 0x0aa6, 0x0aa7, 0x0aa8, 0x00c7,
- 0x0aaa, 0x0aab, 0x0aac, 0x0aad, 0x0aae, 0x0aaf, 0x00ce, 0x0ab0,
- 0x00d0, 0x0ab2, 0x0ab3, 0x00d3, 0x0ab5, 0x0ab6, 0x0ab7, 0x0ab8,
- 0x0ab9, 0x200e, 0x0abe, 0x0abf, 0x0ac0, 0x0ac1, 0x0ac2, 0x0ac3,
- 0x00e0, 0x0ac7, 0x0ac8, 0x0ac5, 0x00e4, 0x0acb, 0x0acc, 0x0ac9,
- 0x0acd, 0x0abc, 0x0964, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef,
- 0x00f0, 0x0ae6, 0x0ae7, 0x0ae8, 0x0ae9, 0x0aea, 0x0aeb, 0x0aec,
- 0x0aed, 0x0aee, 0x0aef,
-};
-
-static unichar_t gurmukhi[256] = {
- 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,
- 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,
- 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,
- 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,
- 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,
- 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,
- 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,
- 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,
- 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,
- 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,
- 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,
- 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,
- 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,
- 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,
- 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,
- 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,
- 0x00d7, 0x2212, 0x2013, 0x2014, 0x2018, 0x2019, 0x2026, 0x2022,
- 0x00a9, 0x00ae, 0x2122, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
- 0x0a71, 0x0a5c, 0x0a73, 0x0a72, 0x0a74, 0x0095, 0x0096, 0x0097,
- 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
- 0x00a0, 0x00a1, 0x0a02, 0x00a3, 0x0a05, 0x0a06, 0x0a07, 0x0a08,
- 0x0a09, 0x0a0a, 0x00aa, 0x00ab, 0x0a0f, 0x0a10, 0x00ae, 0x00af,
- 0x0a13, 0x0a14, 0x00b2, 0x0a15, 0x0a16, 0x0a17, 0x0a18, 0x0a19,
- 0x0a1a, 0x0a1b, 0x0a1c, 0x0a1d, 0x0a1e, 0x0a1f, 0x0a20, 0x0a21,
- 0x0a22, 0x0a23, 0x0a24, 0x0a25, 0x0a26, 0x0a27, 0x0a28, 0x00c7,
- 0x0a2a, 0x0a2b, 0x0a2c, 0x0a2d, 0x0a2e, 0x0a2f, 0x00ce, 0x0a30,
- 0x00d0, 0x0a32, 0x00d2, 0x00d3, 0x0a35, 0xf860, 0x00d6, 0x0a38,
- 0x0a39, 0x200e, 0x0a3e, 0x0a3f, 0x0a40, 0x0a41, 0x0a42, 0x00df,
- 0x00e0, 0x0a47, 0x0a48, 0x00e3, 0x00e4, 0x0a4b, 0x0a4c, 0x00e7,
- 0x0a4d, 0x0a3c, 0x0964, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef,
- 0x00f0, 0x0a66, 0x0a67, 0x0a68, 0x0a69, 0x0a6a, 0x0a6b, 0x0a6c,
- 0x0a6d, 0x0a6e, 0x0a6f,
-};
-
-static unichar_t hebrew[256] = {
- 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,
- 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,
- 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,
- 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,
- 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,
- 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,
- 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,
- 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,
- 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,
- 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,
- 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,
- 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,
- 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,
- 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,
- 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,
- 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,
- 0x00c4, 0x05f2, 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,
- 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x20aa, 0x0027,
- 0x0029, 0x0028, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,
- 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,
- 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,
- 0xf86a, 0x201e, 0xf89b, 0xf89c, 0xf89d, 0xf89e, 0x05bc, 0xfb4b,
- 0xfb35, 0x2026, 0x00a0, 0x05b8, 0x05b7, 0x05b5, 0x05b6, 0x05b4,
- 0x2013, 0x2014, 0x201c, 0x201d, 0x2018, 0x2019, 0xfb2a, 0xfb2b,
- 0x05bf, 0x05b0, 0x05b2, 0x05b1, 0x05bb, 0x05b9, 0x05b8, 0x05b3,
- 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, 0x007d, 0x005d, 0x007b, 0x005b, 0x007c
-};
-
-static unichar_t iceland[256] = {
- 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,
- 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,
- 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,
- 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,
- 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,
- 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,
- 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,
- 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,
- 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,
- 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,
- 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,
- 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,
- 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,
- 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,
- 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,
- 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,
- 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,
- 0x00dd, 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, 0x00d0, 0x00f0, 0x00de, 0x00fe,
- 0x00fd, 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
-};
-
-static unichar_t romanian[256] = {
- 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,
- 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,
- 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,
- 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,
- 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,
- 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,
- 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,
- 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,
- 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,
- 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,
- 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,
- 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,
- 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,
- 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,
- 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,
- 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,
- 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, 0x0102, 0x0218,
- 0x221e, 0x00b1, 0x2264, 0x2265, 0x00a5, 0x00b5, 0x2202, 0x2211,
- 0x220f, 0x03c0, 0x222b, 0x00aa, 0x00ba, 0x03a9, 0x0103, 0x0219,
- 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, 0x021a, 0x021b,
- 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
-};
-
-unichar_t MacRomanEnc[256] = {
- 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,
- 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,
- 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,
- 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,
- 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,
- 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,
- 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,
- 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,
- 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,
- 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,
- 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,
- 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,
- 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,
- 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,
- 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,
- 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,
- 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
-};
-
-static unichar_t thai[256] = {
- 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,
- 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,
- 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,
- 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,
- 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,
- 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,
- 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,
- 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,
- 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,
- 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,
- 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,
- 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,
- 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,
- 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,
- 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,
- 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,
- 0x00ab, 0x00bb, 0x2026, 0x0e48, 0x0e49, 0x0e4a, 0x0e4b, 0x0e4c,
- 0x0e48, 0x0e49, 0x0e4a, 0x0e4b, 0x0e4c, 0x201c, 0x201d, 0x0e4d,
- 0x0090, 0x2022, 0x0e31, 0x0e47, 0x0e34, 0x0e35, 0x0e36, 0x0e37,
- 0x0e48, 0x0e49, 0x0e4a, 0x0e4b, 0x0e4c, 0x2018, 0x2019, 0x009f,
- 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, 0x2060, 0x200b, 0x2013, 0x2014, 0x0e3f,
- 0x0e40, 0x0e41, 0x0e42, 0x0e43, 0x0e44, 0x0e45, 0x0e46, 0x0e47,
- 0x0e48, 0x0e49, 0x0e4a, 0x0e4b, 0x0e4c, 0x0e4d, 0x2122, 0x0e4f,
- 0x0e50, 0x0e51, 0x0e52, 0x0e53, 0x0e54, 0x0e55, 0x0e56, 0x0e57,
- 0x0e58, 0x0e59, 0x00ae, 0x00a9,
-};
-
-static unichar_t turkish[256] = {
- 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,
- 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,
- 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,
- 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,
- 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,
- 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,
- 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,
- 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,
- 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,
- 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,
- 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,
- 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,
- 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,
- 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,
- 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,
- 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,
- 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, 0x011e, 0x011f, 0x0130, 0x0131, 0x015e, 0x015f,
- 0x2021, 0x00b7, 0x201a, 0x201e, 0x2030, 0x00c2, 0x00ca, 0x00c1,
- 0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, 0x00cc, 0x00d3, 0x00d4,
- 0xf8ff, 0x00d2, 0x00da, 0x00db, 0x00d9, 0xf8a0, 0x02c6, 0x02dc,
- 0x00af, 0x02d8, 0x02d9, 0x02da, 0x00b8, 0x02dd, 0x02db, 0x02c7
-};
-
-enum script_codes {
- sm_roman, sm_japanese, sm_tradchinese, sm_korean,
- sm_arabic, sm_hebrew, sm_greek, sm_cyrillic,
- sm_rsymbol, sm_devanagari, sm_gurmukhi, sm_gujarati,
- sm_oriya, sm_bengali, sm_tamil, sm_telugu,
- sm_kannada, sm_malayalam, sm_sinhalese, sm_burmese,
- sm_khmer, sm_thai, sm_laotian, sm_georgian,
- sm_armenian, sm_simpchinese, sm_tibetan, sm_mongolian,
- sm_geez, sm_slavic, sm_vietnamese, sm_sindhi,
- sm_max };
-
-static unichar_t *macencodings[] = {
- MacRomanEnc,
- NULL/*Essentially SJIS*/,
- NULL/*Essentially Big 5*/,
- NULL/*Essentially Wansung*/,
- arabic,
- hebrew,
- greek,
- cyrillic,
- NULL, /* rsymbol, whatever that is */
- devanagari,
-/*10*/ gurmukhi,
- gujarati,
- NULL, /* oriya */
- NULL, /* bengali */
- NULL, /* Tamil */
- NULL, /* Telugu */
- NULL, /* Kannada */
- NULL, /* Malayalam */
- NULL, /* Sinhalese */
- NULL, /* Burmese */
-/*20*/ NULL, /* Khmer */
- thai,
- NULL, /* Lao */
- NULL, /* Georgian */
- NULL, /* Armenian */
-/*25*/ NULL,/* SimpChinese, GB2312 offset by 0x8080 to 0xa1a1 */
- NULL, /* Tibetan */
- NULL, /* Mongolian */
- NULL, /* Geex/Ethiopic */
- centeuro, /* Baltic/Slavic */
-/*30*/ NULL, /* Vietnamese */
- NULL, /* Extended Arabic for Sindhi */
- NULL /* Uninterpretted */
-};
-
-/* The icelandic encoding also uses 0 (mac roman) encoding even though it's not*/
-/* The turkish encoding also uses 0 (mac roman) encoding even though it's not*/
-/* The croatian encoding also uses 0 (mac roman) encoding even though it's not*/
-/* The romanian encoding also uses 0 (mac roman) encoding even though it's not*/
-
-/* I've no idea what encoding code farsi uses, it isn't documented to be arabic 4, nor is it documented to have its own code */
-
-static uint8 _MacScriptFromLanguage[] = {
- sm_roman, /* English */
- sm_roman, /* French */
- sm_roman, /* German */
- sm_roman, /* Italian */
- sm_roman, /* Dutch */
- sm_roman, /* Swedish */
- sm_roman, /* Spanish */
- sm_roman, /* Danish */
- sm_roman, /* Portuguese */
- sm_roman, /* Norwegian */
-/*10*/ sm_hebrew, /* Hebrew */
- sm_japanese, /* Japanese */
- sm_arabic, /* Arabic */
- sm_roman, /* Finnish */
- sm_greek, /* Greek */
- sm_roman, /* Icelandic */ /* Modified roman */
- sm_roman, /* Maltese */
- sm_roman, /* Turkish */ /* Modified roman */
- sm_roman, /* Croatian */ /* Modified roman */
- sm_tradchinese, /* Traditional Chinese */
-/*20*/ sm_arabic, /* Urdu (I assume arabic) */
- sm_devanagari, /* Hindi (I assume) */
- sm_thai, /* Thai */
- sm_korean, /* Korean */
- sm_slavic, /* Lithuanian */
- sm_slavic, /* Polish */
- sm_slavic, /* Hungarian */
- sm_slavic, /* Estonian */
- sm_slavic, /* Latvian */
- sm_roman, /* Sami (Lappish) */
-/*30*/ sm_roman, /* Faroese (Icelandic) */ /* Modified roman */
- sm_arabic, /* Farsi/Persian */ /* Modified Arabic */
- sm_cyrillic, /* Russian */
- sm_simpchinese, /* Simplified Chinese */
- sm_roman, /* Flemish */
- sm_roman, /* Irish Gaelic */
- sm_roman, /* albanian (???) */
- sm_roman, /* Romanian */ /* Modified roman */
- sm_slavic, /* Czech */
- sm_slavic, /* Slovak */
-/*40*/ sm_slavic, /* Slovenian */
- sm_roman, /* Yiddish */
- sm_cyrillic, /* Serbian */
- sm_cyrillic, /* Macedonian */
- sm_cyrillic, /* Bulgarian */
- sm_cyrillic, /* Ukrainian */
- sm_cyrillic, /* Byelorussian */
- sm_cyrillic, /* Uzbek */
- sm_cyrillic, /* Kazakh */
- sm_cyrillic, /* Axerbaijani (Cyrillic) */
-/*50*/ sm_arabic, /* Axerbaijani (Arabic) */
- sm_armenian, /* Armenian */
- sm_georgian, /* Georgian */
- sm_cyrillic, /* Moldavian */
- sm_cyrillic, /* Kirghiz */
- sm_cyrillic, /* Tajiki */
- sm_cyrillic, /* Turkmen */
- sm_mongolian, /* Mongolian (Mongolian) */
- sm_cyrillic, /* Mongolian (cyrillic) */
- sm_arabic, /* Pashto */
-/*60*/ sm_arabic, /* Kurdish */
- sm_devanagari, /* Kashmiri (???) */
- sm_sindhi, /* Sindhi */
- sm_tibetan, /* Tibetan */
- sm_tibetan, /* Nepali (???) */
- sm_devanagari, /* Sanskrit */
- sm_devanagari, /* Marathi */
- sm_bengali, /* Bengali */
- sm_bengali, /* Assamese (???) */
- sm_gujarati, /* Gujarati */
-/*70*/ sm_gujarati, /* Punjabi (???) */
- sm_oriya, /* Oriya */
- sm_malayalam, /* Malayalam */
- sm_kannada, /* Kannada */
- sm_tamil, /* Tamil */
- sm_telugu, /* Telugu */
- sm_sinhalese, /* Sinhalese */
- sm_burmese, /* Burmese */
- sm_khmer, /* Khmer */
- sm_laotian, /* Lao */
-/*80*/ sm_vietnamese, /* Vietnamese */
- sm_arabic, /* Indonesian */
- sm_roman, /* Tagalog (???) */
- sm_roman, /* Malay (roman) */
- sm_arabic, /* Malay (arabic) */
- sm_roman, /* Amharic (???) */
- sm_roman, /* Tigrinya (???) */
- sm_roman, /* Galla (???) */
- sm_roman, /* Somali (???) */
- sm_roman, /* Swahili (???) */
-/*90*/ sm_roman, /* Kinyarwanda/Ruanda (???) */
- sm_roman, /* Rundi (???) */
- sm_roman, /* Nyanja/Chewa (???) */
- sm_roman, /* Malagasy */
-/*94*/ sm_roman, /* Esperanto */
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
-/*100*/ 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
-/*110*/ 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
-/*120*/ 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
-/*128*/ sm_roman, /* Welsh */
- sm_roman, /* Basque */
-/*130*/ sm_roman, /* Catalan */
- sm_roman, /* Latin */
- sm_roman, /* Quechua (???) */
- sm_roman, /* Guarani (???) */
- sm_roman, /* Aymara (???) */
- sm_cyrillic, /* Tatar (???) */
- sm_cyrillic, /* Uighur (???) */
- sm_cyrillic, /* Dzongkha (???) */
- sm_roman, /* Javanese (roman) */
- sm_roman, /* Sundanese (roman) */
-/*140*/ sm_roman, /* Galician */
- sm_roman, /* Afrikaans */
- sm_roman, /* Breton */
- sm_roman, /* Inuktitut */
- sm_roman, /* Scottish Gaelic */
- sm_roman, /* Manx Gaelic */
- sm_roman, /* Irish Gaelic (with dot) */
- sm_roman, /* Tongan */
- sm_greek, /* Greek (polytonic) */
- sm_roman, /* Greenlandic */ /* Presumably icelandic? */
-/*150*/ sm_roman, /* Azebaijani (roman) */
- 0xff
-};
-
-static uint16 _WinLangFromMac[] = {
- 0x409, /* English */
- 0x40c, /* French */
- 0x407, /* German */
- 0x410, /* Italian */
- 0x413, /* Dutch */
- 0x41d, /* Swedish */
- 0x40a, /* Spanish */
- 0x406, /* Danish */
- 0x416, /* Portuguese */
- 0x414, /* Norwegian */
-/*10*/ 0x40d, /* Hebrew */
- 0x411, /* Japanese */
- 0x401, /* Arabic */
- 0x40b, /* Finnish */
- 0x408, /* Greek */
- 0x40f, /* Icelandic */
- 0x43a, /* Maltese */
- 0x41f, /* Turkish */
- 0x41a, /* Croatian */
- 0x404, /* Traditional Chinese */
-/*20*/ 0x420, /* Urdu */
- 0x439, /* Hindi */
- 0x41e, /* Thai */
- 0x412, /* Korean */
- 0x427, /* Lithuanian */
- 0x415, /* Polish */
- 0x40e, /* Hungarian */
- 0x425, /* Estonian */
- 0x426, /* Latvian */
- 0x43b, /* Sami (Lappish) */
-/*30*/ 0x438, /* Faroese (Icelandic) */
- 0x429, /* Farsi/Persian */
- 0x419, /* Russian */
- 0x804, /* Simplified Chinese */
- 0x813, /* Flemish */
- 0x43c, /* Irish Gaelic */
- 0x41c, /* albanian */
- 0x418, /* Romanian */
- 0x405, /* Czech */
- 0x41b, /* Slovak */
-/*40*/ 0x424, /* Slovenian */
- 0x43d, /* Yiddish */
- 0xc1a, /* Serbian */
- 0x42f, /* Macedonian */
- 0x402, /* Bulgarian */
- 0x422, /* Ukrainian */
- 0x423, /* Byelorussian */
- 0x843, /* Uzbek */
- 0x43f, /* Kazakh */
- 0x42c, /* Azerbaijani (Cyrillic) */
-/*50*/ 0x82c, /* Azerbaijani (Arabic) */
- 0x42b, /* Armenian */
- 0x437, /* Georgian */
- 0x818, /* Moldavian */
- 0x440, /* Kirghiz */
- 0x428, /* Tajiki */
- 0x442, /* Turkmen */
- 0x450, /* Mongolian (Mongolian) */
- 0x850, /* Mongolian (cyrillic) */
- 0x463, /* Pashto */
-/*60*/ 0xffff, /* Kurdish */
- 0x860, /* Kashmiri */
- 0x459, /* Sindhi */
- 0xffff, /* Tibetan */
- 0x461, /* Nepali */
- 0x43b, /* Sanskrit */
- 0x44e, /* Marathi */
- 0x445, /* Bengali */
- 0x44d, /* Assamese */
- 0x447, /* Gujarati */
-/*70*/ 0x446, /* Punjabi */
- 0x448, /* Oriya */
- 0x44c, /* Malayalam */
- 0x44b, /* Kannada */
- 0x449, /* Tamil */
- 0x44a, /* Telugu */
- 0x45b, /* Sinhalese */
- 0x455, /* Burmese */
- 0x453, /* Khmer */
- 0x454, /* Lao */
-/*80*/ 0x42a, /* Vietnamese */
- 0x421, /* Indonesian */
- 0x464, /* Tagalog */
- 0x43e, /* Malay (latin) */
- 0x83e, /* Malay (arabic) */
- 0x45e, /* Amharic */
- 0x473, /* Tigrinya */
- 0x472, /* Galla, oromo, afan */
- 0x477, /* Somali */
- 0x441, /* Swahili */
-/*90*/ 0xffff, /* Kinyarwanda/Ruanda */
- 0xffff, /* Rundi/Kirundi */
- 0xffff, /* Nyanja/Chewa */
- 0xffff, /* Malagasy */
-/*94*/ 0xffff, /* Esperanto */
- 0xffff,
- 0xffff,
- 0xffff,
- 0xffff,
- 0xffff,
-/*100*/ 0xffff,
- 0xffff,
- 0xffff,
- 0xffff,
- 0xffff,
- 0xffff,
- 0xffff,
- 0xffff,
- 0xffff,
- 0xffff,
-/*110*/ 0xffff,
- 0xffff,
- 0xffff,
- 0xffff,
- 0xffff,
- 0xffff,
- 0xffff,
- 0xffff,
- 0xffff,
- 0xffff,
-/*120*/ 0xffff,
- 0xffff,
- 0xffff,
- 0xffff,
- 0xffff,
- 0xffff,
- 0xffff,
- 0xffff,
-/*128*/ 0x452, /* Welsh */
- 0x42d, /* Basque */
-/*130*/ 0x403, /* Catalan */
- 0x476, /* Latin */
- 0xffff, /* Quechua */
- 0x474, /* Guarani */
- 0xffff, /* Aymara */
- 0x444, /* Tatar */
- 0xffff, /* Uighur */
- 0xffff, /* Dzongkha/Bhutani */
- 0xffff, /* Javanese (roman) */
- 0xffff, /* Sundanese (roman) */
-/*140*/ 0x456, /* Galician */
- 0x436, /* Afrikaans */
- 0xffff, /* Breton */
- 0x45d, /* Inuktitut */
- 0x43c, /* Scottish Gaelic */
- 0xc3c, /* Manx Gaelic */
- 0x83c, /* Irish Gaelic (with dot) */
- 0xffff, /* Tongan */
- 0xffff, /* Greek (polytonic) */
- 0xffff, /* Greenlandic */ /* Presumably icelandic? */
-/*150*/ 0x42c, /* Azebaijani (roman) */
- 0xffff
-};
-
-static char *LanguageCodesFromMacLang[] = {
- "en", /* English */
- "fr", /* French */
- "de", /* German */
- "it", /* Italian */
- "nl", /* Dutch */
- "sv", /* Swedish */
- "es", /* Spanish */
- "da", /* Danish */
- "pt", /* Portuguese */
- "no", /* Norwegian */
-/*10*/ "he", /* Hebrew */
- "ja", /* Japanese */
- "ar", /* Arabic */
- "fi", /* Finnish */
- "el", /* Greek */
- "is", /* Icelandic */
- "ml", /* Maltese */
- "tr", /* Turkish */
- "hr", /* Croatian */
- "zh_TW", /* Traditional Chinese */ /* zh_HK */
-/*20*/ "ur", /* Urdu */
- "hi", /* Hindi */
- "th", /* Thai */
- "ko", /* Korean */
- "lt", /* Lithuanian */
- "pl", /* Polish */
- "hu", /* Hungarian */
- "et", /* Estonian */
- "lv", /* Latvian */
- "smi", /* Sami (Lappish) */
-/*30*/ "fo", /* Faroese (Icelandic) */
- "fa", /* Farsi/Persian */
- "ru", /* Russian */
- "zh_CN", /* Simplified Chinese */
- "nl_BE", /* Flemish */ /* Flemish doesn't rate a language code, use dutch */
- "ga", /* Irish Gaelic */
- "sq", /* albanian */
- "ro", /* Romanian */
- "cs", /* Czech */
- "sk", /* Slovak */
-/*40*/ "sl", /* Slovenian */
- "yi", /* Yiddish */
- "sr", /* Serbian */
- "mk", /* Macedonian */
- "bg", /* Bulgarian */
- "uk", /* Ukrainian */
- "be", /* Byelorussian */
- "uz", /* Uzbek */
- "kk", /* Kazakh */
- "az", /* Axerbaijani (Cyrillic) */
-/*50*/ "az", /* Axerbaijani (Arabic) */
- "hy", /* Armenian */
- "ka", /* Georgian */
- "mo", /* Moldavian */
- "ky", /* Kirghiz */
- "tg", /* Tajiki */
- "tk", /* Turkmen */
- "mn", /* Mongolian (Mongolian) */
- "mn", /* Mongolian (cyrillic) */
- "ps", /* Pashto */
-/*60*/ "ku", /* Kurdish */
- "ks", /* Kashmiri */
- "sd", /* Sindhi */
- "bo", /* Tibetan */
- "ne", /* Nepali */
- "sa", /* Sanskrit */
- "mr", /* Marathi */
- "bn", /* Bengali */
- "as", /* Assamese */
- "gu", /* Gujarati */
-/*70*/ "pa", /* Punjabi */
- "or", /* Oriya */
- "mal", /* Malayalam */
- "kn", /* Kannada */
- "ta", /* Tamil */
- "te", /* Telugu */
- "si", /* Sinhalese */
- "my", /* Burmese */
- "km", /* Khmer */
- "lo", /* Lao */
-/*80*/ "vi", /* Vietnamese */
- "id", /* Indonesian */
- "tl", /* Tagalog */
- "ms", /* Malay (roman) */
- "ms", /* Malay (arabic) */
- "am", /* Amharic */
- "ti", /* Tigrinya */
- "om", /* Galla */
- "so", /* Somali */
- "sw", /* Swahili */
-/*90*/ "rw", /* Kinyarwanda/Ruanda */
- "rn", /* Rundi */
- "nya", /* Nyanja/Chewa */
- "mg", /* Malagasy */
-/*94*/ "eo", /* Esperanto */
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
-/*100*/ NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
-/*110*/ NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
-/*120*/ NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
-/*128*/ "cy", /* Welsh */
- "eu", /* Basque */
-/*130*/ "ca", /* Catalan */
- "la", /* Latin */
- "qu", /* Quechua */
- "gn", /* Guarani */
- "ay", /* Aymara */
- "tt", /* Tatar */
- "ug", /* Uighur */
- "dz", /* Dzongkha */
- "jv", /* Javanese (roman) */
- "su", /* Sundanese (roman) */
-/*140*/ "gl", /* Galician */
- "af", /* Afrikaans */
- "be", /* Breton */
- "iu", /* Inuktitut */
- "gd", /* Scottish Gaelic */
- "gv", /* Manx Gaelic */
- NULL, /* Irish Gaelic (with dot) */
- "to", /* Tongan */
- "grc", /* Greek (polytonic) */
- "kl", /* Greenlandic */ /* Presumably icelandic? */
-/*150*/ "az", /* Azebaijani (roman) */
- NULL
-};
-
-static const unichar_t *MacEncLangToTable(int macenc,int maclang) {
- const unichar_t *table = macencodings[macenc];
-
- if ( maclang==15 /* Icelandic */ ||
- maclang==30 /* Faroese */ ||
- maclang==149 /* Greenlandic */ )
- table = iceland;
- else if ( maclang == 17 /* turkish */ )
- table = turkish;
- else if ( maclang == 18 /* croatian */ )
- table = croatian;
- else if ( maclang == 37 /* romanian */ )
- table = romanian;
- else if ( maclang == 31 /* Farsi/Persian */ )
- table = farsi;
-return( table );
-}
-
-char *MacStrToUtf8(const char *str,int macenc,int maclang) {
- const unichar_t *table;
- char *ret, *rpt;
- const uint8 *ustr = (uint8 *) str;
-
- if ( str==NULL )
-return( NULL );
-
- if ( macenc==sm_japanese || macenc==sm_korean || macenc==sm_tradchinese ||
- macenc == sm_simpchinese ) {
- Encoding *enc = FindOrMakeEncoding(macenc==sm_japanese ? "Sjis" :
- macenc==sm_korean ? "EUC-KR" :
- macenc==sm_tradchinese ? "Big5" :
- "EUC-CN" );
- iconv_t *toutf8;
- ICONV_CONST char *in;
- char *out;
- size_t inlen, outlen;
- if ( enc==NULL )
-return( NULL );
-#ifdef UNICHAR_16
- toutf8 = iconv_open("UCS2",enc->iconv_name!=NULL?enc->iconv_name:enc->enc_name);
-#else
- toutf8 = iconv_open("UCS4",enc->iconv_name!=NULL?enc->iconv_name:enc->enc_name);
-#endif
- if ( toutf8==(iconv_t) -1 || toutf8==NULL )
-return( NULL );
- in = (char *) str;
- inlen = strlen(in);
- outlen = (inlen+1)*4;
- out = (char *) (ret = galloc(outlen+2));
- if(iconv(toutf8,&in,&inlen,&out,&outlen)==-1){
- if (ret) free(ret) ;
- if (toutf8) iconv_close(toutf8);
-return( NULL );}
- out[0] = '\0';
- iconv_close(toutf8);
-#ifdef UNICHAR_16
- toutf8 = iconv_open("UTF-8","UCS2");
-#else
- toutf8 = iconv_open("UTF-8","UCS4");
-#endif
- if ( toutf8==(iconv_t) -1 || toutf8==NULL ){
- if (ret) free(ret);
- if (toutf8) iconv_close(toutf8);
-return( NULL );}
- in = (char *) strdup(ret);
- inlen = strlen(in);
- outlen = (inlen+1)*4;
- out = (char *) (ret = grealloc(ret,outlen+2));
- if(iconv(toutf8,&in,&inlen,&out,&outlen)==-1)
-return( NULL );
- out[0] = '\0';
- iconv_close(toutf8);
- free(in);
-return( ret );
- }
-
- if ( macenc<0 || macenc>31 ) {
- IError( "Invalid mac encoding %d.\n", macenc );
-return( NULL );
- }
- table = MacEncLangToTable(macenc,maclang);
-
- if ( table==NULL )
-return( NULL );
-
- ret = galloc((strlen(str)+1)*3);
- for ( rpt = ret; *ustr; ++ustr ) {
- int ch = table[*ustr];
- rpt = utf8_idpb(rpt,ch);
- }
- *rpt = '\0';
-return( ret );
-}
-
-uint8 MacEncFromMacLang(int maclang) {
- if ( maclang<0 || maclang>=(int)(sizeof(_MacScriptFromLanguage)/sizeof(_MacScriptFromLanguage[0])))
-return( 0xff );
-
-return( _MacScriptFromLanguage[maclang] );
-}
-
-uint16 WinLangFromMac(int maclang) {
-
- if ( maclang<0 || maclang>=(int)(sizeof(_WinLangFromMac)/sizeof(_WinLangFromMac[0])))
-return( 0xffff );
-
-return( _WinLangFromMac[maclang] );
-}
-
-uint16 WinLangToMac(int winlang) {
- int i;
-
- for ( i=0; i<(int)(sizeof(_WinLangFromMac)/sizeof(_WinLangFromMac[0])); ++i )
- if ( _WinLangFromMac[i] == winlang )
-return( i );
-
- winlang &= 0xff;
- for ( i=0; i<(int)(sizeof(_WinLangFromMac)/sizeof(_WinLangFromMac[0])); ++i )
- if ( (_WinLangFromMac[i]&0xff) == winlang )
-return( i );
-
-return( 0xffff );
-}
-
-int CanEncodingWinLangAsMac(int winlang) {
- int maclang = WinLangToMac(winlang);
- int macenc = MacEncFromMacLang(maclang);
-
- if ( macenc==0xff )
-return( false );
- if ( macencodings[macenc]==NULL )
-return( false );
-
-return( true );
-}
-
-const int32 *MacEncToUnicode(int script,int lang) {
- static int32 temp[256];
- int i;
- const unichar_t *table;
-
- table = MacEncLangToTable(script,lang);
- if ( table==NULL )
-return( NULL );
- for ( i=0; i<256; ++i )
- temp[i] = table[i];
-return( temp );
-}
-
-int MacLangFromLocale(void) {
- /*const char *loc = setlocale(LC_MESSAGES,NULL);*/ /* This always returns "C" for me, even when it shouldn't be */
- const char *loc;
- static int found=-1;
- int i;
-
- if ( found!=-1 )
-return( found );
-
- loc = getenv("LC_ALL");
- if ( loc==NULL ) loc = getenv("LC_MESSAGES");
- if ( loc==NULL ) loc = getenv("LANG");
-
- if ( loc==NULL ) {
- found=0; /* Default to english */
-return(found);
- }
- if ( strncmp(loc,"nl_BE",5)==0 ) {
- found = 34;
-return( found );
- }
- for ( i=0; i<(int)(sizeof(LanguageCodesFromMacLang)/sizeof(LanguageCodesFromMacLang[0])); ++i ) {
- if ( LanguageCodesFromMacLang[i]!=NULL &&
- strncmp(loc,LanguageCodesFromMacLang[i],strlen(LanguageCodesFromMacLang[i]))==0 ) {
- found = i;
-return( found );
- }
- }
- if ( strncmp(loc,"zh_HK",2)==0 ) /* I think there are other traditional locales than Hong Kong and Taiwan (?Singapore?) so any chinese we don't recognize */
- found = 19;
- else
- found = 0;
-return( found );
-}
-
-static struct { char *name; int code; } localmaclang[] = {
- {N_("English"), 0},
- {N_("French"), 1},
- {N_("German"), 2},
- {N_("Italian"), 3},
- {N_("Dutch"), 4},
- {N_("Swedish"), 5},
- {N_("Spanish"), 6},
- {N_("Danish"), 7},
- {N_("Portuguese"), 8},
- {N_("Norwegian"), 9},
- {N_("Hebrew"), 10},
- {N_("Japanese"), 11},
- {N_("Arabic"), 12},
- {N_("Finnish"), 13},
- {N_("Greek"), 14},
- {N_("Icelandic"), 15},
- {N_("Maltese"), 16},
- {N_("Turkish"), 17},
- {N_("Croatian"), 18},
- {N_("Traditional Chinese"), 19},
- {N_("Urdu"), 20},
- {N_("Hindi"), 21},
- {N_("Thai"), 22},
- {N_("Korean"), 23},
- {N_("Lithuanian"), 24},
- {N_("Polish"), 25},
- {N_("Hungarian"), 26},
- {N_("Estonian"), 27},
- {N_("Latvian"), 28},
- {N_("Sami (Lappish)"), 29},
- {N_("Faroese (Icelandic)"), 30},
-/* GT: See the long comment at "Property|New" */
-/* GT: The msgstr should contain a translation of "Farsi/Persian"), ignore "" */
- {N_("Farsi/Persian"), 31},
- {N_("Russian"), 32},
- {N_("Simplified Chinese"), 33},
- {N_("Flemish"), 34},
- {N_("Irish Gaelic"), 35},
- {N_("Albanian"), 36},
- {N_("Romanian"), 37},
- {N_("Czech"), 38},
- {N_("Slovak"), 39},
- {N_("Slovenian"), 40},
- {N_("Yiddish"), 41},
- {N_("Serbian"), 42},
- {N_("Macedonian"), 43},
- {N_("Bulgarian"), 44},
- {N_("Ukrainian"), 45},
- {N_("Byelorussian"), 46},
- {N_("Uzbek"), 47},
- {N_("Kazakh"), 48},
- {N_("Axerbaijani (Cyrillic)"), 49},
- {N_("Axerbaijani (Arabic)"), 50},
- {N_("Armenian"), 51},
- {N_("Georgian"), 52},
- {N_("Moldavian"), 53},
- {N_("Kirghiz"), 54},
- {N_("Tajiki"), 55},
- {N_("Turkmen"), 56},
- {N_("Mongolian (Mongolian)"), 57},
- {N_("Mongolian (cyrillic)"), 58},
- {N_("Pashto"), 59},
- {N_("Kurdish"), 60},
- {N_("Kashmiri"), 61},
- {N_("Sindhi"), 62},
- {N_("Tibetan"), 63},
- {N_("Nepali"), 64},
- {N_("Sanskrit"), 65},
- {N_("Marathi"), 66},
- {N_("Bengali"), 67},
- {N_("Assamese"), 68},
- {N_("Gujarati"), 69},
- {N_("Punjabi"), 70},
- {N_("Oriya"), 71},
- {N_("Malayalam"), 72},
- {N_("Kannada"), 73},
- {N_("Tamil"), 74},
- {N_("Telugu"), 75},
- {N_("Sinhalese"), 76},
- {N_("Burmese"), 77},
- {N_("Khmer"), 78},
- {N_("Lao"), 79},
- {N_("Vietnamese"), 80},
- {N_("Indonesian"), 81},
- {N_("Tagalog"), 82},
- {N_("Malay (roman)"), 83},
- {N_("Malay (arabic)"), 84},
- {N_("Amharic"), 85},
- {N_("Tigrinya"), 86},
- {N_("Galla"), 87},
- {N_("Somali"), 88},
- {N_("Swahili"), 89},
- {N_("Kinyarwanda/Ruanda"), 90},
- {N_("Rundi"), 91},
- {N_("Nyanja/Chewa"), 92},
- {N_("Malagasy"), 93},
- {N_("Esperanto"), 94},
- {N_("Welsh"), 128},
- {N_("Basque"), 129},
- {N_("Catalan"), 130},
- {N_("Latin"), 131},
- {N_("Quechua"), 132},
- {N_("Guarani"), 133},
- {N_("Aymara"), 134},
- {N_("Tatar"), 135},
- {N_("Uighur"), 136},
- {N_("Dzongkha"), 137},
- {N_("Javanese (roman)"), 138},
- {N_("Sundanese (roman)"), 139},
- {N_("Galician"), 140},
- {N_("Afrikaans"), 141},
- {N_("Breton"), 142},
- {N_("Inuktitut"), 143},
- {N_("Scottish Gaelic"), 144},
- {N_("Manx Gaelic"), 145},
- {N_("Irish Gaelic (with dot)"), 146},
- {N_("Tongan"), 147},
- {N_("Greek (polytonic)"), 148},
- {N_("Greenlandic"), 149},
- {N_("Azebaijani (roman)"), 150},
- { NULL, 0 }};
-
-char *MacLanguageFromCode(int code) {
- int i;
-
- if ( code==-1 )
-return( _("Unspecified Language") );
-
- for ( i=0; localmaclang[i].name!=NULL; ++i )
- if ( code == localmaclang[i].code )
-return( _(localmaclang[i].name) );
-
-return( _("Unknown Language"));
-}