Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(72)

Side by Side Diff: core/src/fpdfapi/fpdf_font/fpdf_font_charset.cpp

Issue 1265503005: clang-format all pdfium code. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: sigh Created 5 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 PDFium Authors. All rights reserved. 1 // Copyright 2014 PDFium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6 6
7 #include "../../../include/fpdfapi/fpdf_page.h" 7 #include "../../../include/fpdfapi/fpdf_page.h"
8 #include "../../../include/fpdfapi/fpdf_resource.h" 8 #include "../../../include/fpdfapi/fpdf_resource.h"
9 #include "../../../include/fxge/fx_freetype.h" 9 #include "../../../include/fxge/fx_freetype.h"
10 10
11 // TODO(tsepez): These belong in headers, too. 11 // TODO(tsepez): These belong in headers, too.
12 extern const FX_WORD PDFDocEncoding[256]; 12 extern const FX_WORD PDFDocEncoding[256];
13 13
14 static const struct _UnicodeAlt { 14 static const struct _UnicodeAlt {
15 FX_WORD» m_Unicode; 15 FX_WORD m_Unicode;
16 const FX_CHAR* m_Alter; 16 const FX_CHAR* m_Alter;
17 } UnicodeAlts[] = { 17 } UnicodeAlts[] = {
18 {0x00a0, " "}, {0x00a1, "!"}, {0x00a2, "c"}, {0x00a3, "P"}, {0x00a4, "o"}, 18 {0x00a0, " "}, {0x00a1, "!"}, {0x00a2, "c"}, {0x00a3, "P"},
19 {0x00a5, "Y"}, {0x00a6, "|"}, {0x00a7, "S"}, {0x00a9, "(C)"}, {0x00aa, "a"}, 19 {0x00a4, "o"}, {0x00a5, "Y"}, {0x00a6, "|"}, {0x00a7, "S"},
20 {0x00ab, "<<"}, {0x00ac, "-|"}, {0x00ae, "(R)"}, {0x00af, "-"}, 20 {0x00a9, "(C)"}, {0x00aa, "a"}, {0x00ab, "<<"}, {0x00ac, "-|"},
21 {0x00b0, "o"}, {0x00b1, "+/-"}, {0x00b2, "^2"}, { 0x00b3, "^3"}, 21 {0x00ae, "(R)"}, {0x00af, "-"}, {0x00b0, "o"}, {0x00b1, "+/-"},
22 {0x00b4, "'"}, {0x00b5, "u"}, {0x00b6, "P"}, {0x00b7, "."}, 22 {0x00b2, "^2"}, {0x00b3, "^3"}, {0x00b4, "'"}, {0x00b5, "u"},
23 {0x00b9, "^1"}, {0x00ba, "o"}, {0x00bb, ">>"}, {0x00bc, "1/4"}, 23 {0x00b6, "P"}, {0x00b7, "."}, {0x00b9, "^1"}, {0x00ba, "o"},
24 {0x00bd, "1/2"}, {0x00be, "3/4"}, {0x00bf, "?"}, {0x00c0, "A"}, 24 {0x00bb, ">>"}, {0x00bc, "1/4"}, {0x00bd, "1/2"}, {0x00be, "3/4"},
25 {0x00c1, "A"}, {0x00c2, "A"}, {0x00c3, "A"}, {0x00c4, "A"}, 25 {0x00bf, "?"}, {0x00c0, "A"}, {0x00c1, "A"}, {0x00c2, "A"},
26 {0x00c5, "A"}, {0x00c6, "AE"}, {0x00c7, "C"}, {0x00c8, "E"}, 26 {0x00c3, "A"}, {0x00c4, "A"}, {0x00c5, "A"}, {0x00c6, "AE"},
27 {0x00c9, "E"}, {0x00ca, "E"}, {0x00cb, "E"}, {0x00cc, "I"}, 27 {0x00c7, "C"}, {0x00c8, "E"}, {0x00c9, "E"}, {0x00ca, "E"},
28 {0x00cd, "I"}, {0x00ce, "I"}, {0x00cf, "I"}, 28 {0x00cb, "E"}, {0x00cc, "I"}, {0x00cd, "I"}, {0x00ce, "I"},
29 {0x00d1, "N"}, {0x00d2, "O"}, {0x00d3, "O"}, {0x00d4, "O"}, 29 {0x00cf, "I"}, {0x00d1, "N"}, {0x00d2, "O"}, {0x00d3, "O"},
30 {0x00d5, "O"}, {0x00d6, "O"}, {0x00d7, "x"}, {0x00d8, "O"}, 30 {0x00d4, "O"}, {0x00d5, "O"}, {0x00d6, "O"}, {0x00d7, "x"},
31 {0x00d9, "U"}, {0x00da, "U"}, {0x00db, "U"}, {0x00dc, "U"}, 31 {0x00d8, "O"}, {0x00d9, "U"}, {0x00da, "U"}, {0x00db, "U"},
32 {0x00dd, "Y"}, {0x00df, "S"}, {0x00e0, "a"}, 32 {0x00dc, "U"}, {0x00dd, "Y"}, {0x00df, "S"}, {0x00e0, "a"},
33 {0x00e1, "a"}, {0x00e2, "a"}, {0x00e3, "a"}, {0x00e4, "a"}, 33 {0x00e1, "a"}, {0x00e2, "a"}, {0x00e3, "a"}, {0x00e4, "a"},
34 {0x00e5, "a"}, {0x00e6, "ae"}, {0x00e7, "c"}, {0x00e8, "e"}, 34 {0x00e5, "a"}, {0x00e6, "ae"}, {0x00e7, "c"}, {0x00e8, "e"},
35 {0x00e9, "e"}, {0x00ea, "e"}, {0x00eb, "e"}, {0x00ec, "i"}, 35 {0x00e9, "e"}, {0x00ea, "e"}, {0x00eb, "e"}, {0x00ec, "i"},
36 {0x00ed, "i"}, {0x00ee, "i"}, {0x00ef, "i"}, 36 {0x00ed, "i"}, {0x00ee, "i"}, {0x00ef, "i"}, {0x00f1, "n"},
37 {0x00f1, "n"}, {0x00f2, "o"}, {0x00f3, "o"}, {0x00f4, "o"}, 37 {0x00f2, "o"}, {0x00f3, "o"}, {0x00f4, "o"}, {0x00f5, "o"},
38 {0x00f5, "o"}, {0x00f6, "o"}, {0x00f7, "/"}, {0x00f8, "o"}, 38 {0x00f6, "o"}, {0x00f7, "/"}, {0x00f8, "o"}, {0x00f9, "u"},
39 {0x00f9, "u"}, {0x00fa, "u"}, {0x00fb, "u"}, {0x00fc, "u"}, 39 {0x00fa, "u"}, {0x00fb, "u"}, {0x00fc, "u"}, {0x00fd, "y"},
40 {0x00fd, "y"}, {0x00ff, "y"}, 40 {0x00ff, "y"}, {0x02b0, "h"}, {0x02b2, "j"}, {0x02b3, "r"},
41 {0x02b0, "h"}, {0x02b2, "j"}, {0x02b3, "r"}, {0x02b7, "w"}, 41 {0x02b7, "w"}, {0x02b8, "y"}, {0x02b9, "'"}, {0x02ba, "\""},
42 {0x02b8, "y"}, {0x02b9, "'"}, {0x02ba, "\""}, {0x02bb, "'"}, 42 {0x02bb, "'"}, {0x02bc, "'"}, {0x02bd, "'"}, {0x02be, "'"},
43 {0x02bc, "'"}, {0x02bd, "'"}, {0x02be, "'"}, {0x02bf, "'"}, 43 {0x02bf, "'"}, {0x02c2, "<"}, {0x02c3, ">"}, {0x02c4, "^"},
44 {0x02c2, "<"}, {0x02c3, ">"}, {0x02c4, "^"}, {0x02c5, "v"}, 44 {0x02c5, "v"}, {0x02c6, "^"}, {0x02c7, "v"}, {0x02c8, "'"},
45 {0x02c6, "^"}, {0x02c7, "v"}, {0x02c8, "'"}, {0x02c9, "-"}, 45 {0x02c9, "-"}, {0x02ca, "'"}, {0x02cb, "'"}, {0x02cc, "."},
46 {0x02ca, "'"}, {0x02cb, "'"}, {0x02cc, "."}, {0x02cd, "_"}, 46 {0x02cd, "_"}, {0x2010, "-"}, {0x2012, "-"}, {0x2013, "-"},
47 {0x2010, "-"}, {0x2012, "-"}, {0x2013, "-"}, {0x2014, "--"}, 47 {0x2014, "--"}, {0x2015, "--"}, {0x2016, "|"}, {0x2017, "_"},
48 {0x2015, "--"}, {0x2016, "|"}, {0x2017, "_"}, 48 {0x2018, "'"}, {0x2019, "'"}, {0x201a, ","}, {0x201b, "'"},
49 {0x2018, "'"}, {0x2019, "'"}, {0x201a, ","}, {0x201b, "'"}, 49 {0x201c, "\""}, {0x201d, "\""}, {0x201e, ","}, {0x201f, "'"},
50 {0x201c, "\""}, {0x201d, "\""}, {0x201e, ","}, {0x201f, "'"}, 50 {0x2020, "+"}, {0x2021, "+"}, {0x2022, "*"}, {0x2023, ">"},
51 {0x2020, "+"}, {0x2021, "+"}, {0x2022, "*"}, {0x2023, ">"}, 51 {0x2024, "."}, {0x2025, ".."}, {0x2027, "."}, {0x2032, "'"},
52 {0x2024, "."}, {0x2025, ".."}, {0x2027, "."}, {0x2032, "'"}, 52 {0x2033, "\""}, {0x2035, "'"}, {0x2036, "\""}, {0x2038, "^"},
53 {0x2033, "\""}, {0x2035, "'"}, {0x2036, "\""}, {0x2038, "^"}, 53 {0x2039, "<"}, {0x203a, ">"}, {0x203b, "*"}, {0x203c, "!!"},
54 {0x2039, "<"}, {0x203a, ">"}, {0x203b, "*"}, {0x203c, "!!"}, 54 {0x203d, "?!"}, {0x203e, "-"}, {0x2044, "/"}, {0x2047, "??"},
55 {0x203d, "?!"}, {0x203e, "-"}, {0x2044, "/"}, {0x2047, "??"}, 55 {0x2048, "?!"}, {0x2049, "!?"}, {0x204e, "*"}, {0x2052, "%"},
56 {0x2048, "?!"}, {0x2049, "!?"}, {0x204e, "*"}, {0x2052, "%"}, 56 {0x2122, "(TM)"}, {0x2212, "-"}, {0x2215, "/"}, {0x2216, "\\"},
57 {0x2122, "(TM)"}, 57 {0x2217, "*"}, {0x2218, "*"}, {0x2219, "*"}, {0x2223, "|"},
58 {0x2212, "-"}, {0x2215, "/"}, {0x2216, "\\"}, {0x2217, "*"}, 58 {0x22c5, "."}, {0x266f, "#"}, {0XF6D9, "(C)"}, {0XF6DA, "(C)"},
59 {0x2218, "*"}, {0x2219, "*"}, {0x2223, "|"}, {0x22c5, "."}, 59 {0XF6DB, "(TM)"}, {0XF8E8, "(C)"}, {0xf8e9, "(C)"}, {0XF8EA, "(TM)"},
60 {0x266f, "#"}, 60 {0xfb01, "fi"}, {0xfb02, "fl"}};
61 {0XF6D9, "(C)"}, {0XF6DA, "(C)"}, {0XF6DB, "(TM)"}, 61 const FX_CHAR* FCS_GetAltStr(FX_WCHAR unicode) {
62 {0XF8E8, "(C)"}, {0xf8e9, "(C)"}, {0XF8EA, "(TM)"}, 62 int begin = 0;
63 {0xfb01, "fi"}, {0xfb02, "fl"} 63 int end = sizeof UnicodeAlts / sizeof(struct _UnicodeAlt) - 1;
64 }; 64 while (begin <= end) {
65 const FX_CHAR* FCS_GetAltStr(FX_WCHAR unicode) 65 int middle = (begin + end) / 2;
66 { 66 FX_WORD middlecode = UnicodeAlts[middle].m_Unicode;
67 int begin = 0; 67 if (middlecode > unicode) {
68 int end = sizeof UnicodeAlts / sizeof(struct _UnicodeAlt) - 1; 68 end = middle - 1;
69 while (begin <= end) { 69 } else if (middlecode < unicode) {
70 int middle = (begin + end) / 2; 70 begin = middle + 1;
71 FX_WORD middlecode = UnicodeAlts[middle].m_Unicode; 71 } else {
72 if (middlecode > unicode) { 72 return UnicodeAlts[middle].m_Alter;
73 end = middle - 1;
74 } else if (middlecode < unicode) {
75 begin = middle + 1;
76 } else {
77 return UnicodeAlts[middle].m_Alter;
78 }
79 } 73 }
80 return NULL; 74 }
75 return NULL;
81 } 76 }
82 static const FX_WORD StandardEncoding[256] = { 77 static const FX_WORD StandardEncoding[256] = {
83 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00 00, 78 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
84 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00 00, 79 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
85 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00 00, 80 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
86 0x0000, 0x0000, 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x20 19, 81 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0021, 0x0022, 0x0023,
87 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, 0x0030, 0x00 31, 82 0x0024, 0x0025, 0x0026, 0x2019, 0x0028, 0x0029, 0x002a, 0x002b, 0x002c,
88 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, 0x0038, 0x0039, 0x003a, 0x00 3b, 83 0x002d, 0x002e, 0x002f, 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035,
89 0x003c, 0x003d, 0x003e, 0x003f, 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x00 45, 84 0x0036, 0x0037, 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e,
90 0x0046, 0x0047, 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x00 4f, 85 0x003f, 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,
91 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, 0x00 59, 86 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050,
92 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, 0x2018, 0x0061, 0x0062, 0x00 63, 87 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, 0x0059,
93 0x0064, 0x0065, 0x0066, 0x0067, 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x00 6d, 88 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, 0x2018, 0x0061, 0x0062,
94 0x006e, 0x006f, 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x00 77, 89 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, 0x0068, 0x0069, 0x006a, 0x006b,
95 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x0000, 0x0000, 0x00 00, 90 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, 0x0071, 0x0072, 0x0073, 0x0074,
96 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00 00, 91 0x0075, 0x0076, 0x0077, 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d,
97 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00 00, 92 0x007e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
98 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00 00, 93 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
99 0x0000, 0x00a1, 0x00a2, 0x00a3, 0x2044, 0x00a5, 0x0192, 0x00a7, 0x00a4, 0x00 27, 94 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
100 0x201c, 0x00ab, 0x2039, 0x203a, 0xfb01, 0xfb02, 0x0000, 0x2013, 0x2020, 0x20 21, 95 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00a1,
101 0x00b7, 0x0000, 0x00b6, 0x2022, 0x201a, 0x201e, 0x201d, 0x00bb, 0x2026, 0x20 30, 96 0x00a2, 0x00a3, 0x2044, 0x00a5, 0x0192, 0x00a7, 0x00a4, 0x0027, 0x201c,
102 0x0000, 0x00bf, 0x0000, 0x0060, 0x00b4, 0x02c6, 0x02dc, 0x00af, 0x02d8, 0x02 d9, 97 0x00ab, 0x2039, 0x203a, 0xfb01, 0xfb02, 0x0000, 0x2013, 0x2020, 0x2021,
103 0x00a8, 0x0000, 0x02da, 0x00b8, 0x0000, 0x02dd, 0x02db, 0x02c7, 0x2014, 0x00 00, 98 0x00b7, 0x0000, 0x00b6, 0x2022, 0x201a, 0x201e, 0x201d, 0x00bb, 0x2026,
104 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00 00, 99 0x2030, 0x0000, 0x00bf, 0x0000, 0x0060, 0x00b4, 0x02c6, 0x02dc, 0x00af,
105 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00c6, 0x0000, 0x00aa, 0x0000, 0x00 00, 100 0x02d8, 0x02d9, 0x00a8, 0x0000, 0x02da, 0x00b8, 0x0000, 0x02dd, 0x02db,
106 0x0000, 0x0000, 0x0141, 0x00d8, 0x0152, 0x00ba, 0x0000, 0x0000, 0x0000, 0x00 00, 101 0x02c7, 0x2014, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
107 0x0000, 0x00e6, 0x0000, 0x0000, 0x0000, 0x0131, 0x0000, 0x0000, 0x0142, 0x00 f8, 102 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
108 0x0153, 0x00df, 0x0000, 0x0000, 0x0000, 0x0000 103 0x00c6, 0x0000, 0x00aa, 0x0000, 0x0000, 0x0000, 0x0000, 0x0141, 0x00d8,
109 }; 104 0x0152, 0x00ba, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00e6, 0x0000,
105 0x0000, 0x0000, 0x0131, 0x0000, 0x0000, 0x0142, 0x00f8, 0x0153, 0x00df,
106 0x0000, 0x0000, 0x0000, 0x0000};
110 static const FX_WORD MacRomanEncoding[256] = { 107 static const FX_WORD MacRomanEncoding[256] = {
111 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00 00, 108 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
112 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00 00, 109 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
113 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00 00, 110 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
114 0x0000, 0x0000, 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x00 27, 111 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0021, 0x0022, 0x0023,
115 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, 0x0030, 0x00 31, 112 0x0024, 0x0025, 0x0026, 0x0027, 0x0028, 0x0029, 0x002a, 0x002b, 0x002c,
116 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, 0x0038, 0x0039, 0x003a, 0x00 3b, 113 0x002d, 0x002e, 0x002f, 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035,
117 0x003c, 0x003d, 0x003e, 0x003f, 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x00 45, 114 0x0036, 0x0037, 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e,
118 0x0046, 0x0047, 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x00 4f, 115 0x003f, 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,
119 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, 0x00 59, 116 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050,
120 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, 0x0060, 0x0061, 0x0062, 0x00 63, 117 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, 0x0059,
121 0x0064, 0x0065, 0x0066, 0x0067, 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x00 6d, 118 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, 0x0060, 0x0061, 0x0062,
122 0x006e, 0x006f, 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x00 77, 119 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, 0x0068, 0x0069, 0x006a, 0x006b,
123 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x0000, 0x00c4, 0x00 c5, 120 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, 0x0071, 0x0072, 0x0073, 0x0074,
124 0x00c7, 0x00c9, 0x00d1, 0x00d6, 0x00dc, 0x00e1, 0x00e0, 0x00e2, 0x00e4, 0x00 e3, 121 0x0075, 0x0076, 0x0077, 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d,
125 0x00e5, 0x00e7, 0x00e9, 0x00e8, 0x00ea, 0x00eb, 0x00ed, 0x00ec, 0x00ee, 0x00 ef, 122 0x007e, 0x0000, 0x00c4, 0x00c5, 0x00c7, 0x00c9, 0x00d1, 0x00d6, 0x00dc,
126 0x00f1, 0x00f3, 0x00f2, 0x00f4, 0x00f6, 0x00f5, 0x00fa, 0x00f9, 0x00fb, 0x00 fc, 123 0x00e1, 0x00e0, 0x00e2, 0x00e4, 0x00e3, 0x00e5, 0x00e7, 0x00e9, 0x00e8,
127 0x2020, 0x00b0, 0x00a2, 0x00a3, 0x00a7, 0x2022, 0x00b6, 0x00df, 0x00ae, 0x00 a9, 124 0x00ea, 0x00eb, 0x00ed, 0x00ec, 0x00ee, 0x00ef, 0x00f1, 0x00f3, 0x00f2,
128 0x2122, 0x00b4, 0x00a8, 0x0000, 0x00c6, 0x00d8, 0x0000, 0x00b1, 0x0000, 0x00 00, 125 0x00f4, 0x00f6, 0x00f5, 0x00fa, 0x00f9, 0x00fb, 0x00fc, 0x2020, 0x00b0,
129 0x00a5, 0x00b5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00aa, 0x00ba, 0x00 00, 126 0x00a2, 0x00a3, 0x00a7, 0x2022, 0x00b6, 0x00df, 0x00ae, 0x00a9, 0x2122,
130 0x00e6, 0x00f8, 0x00bf, 0x00a3, 0x00ac, 0x0000, 0x0192, 0x0000, 0x0000, 0x00 ab, 127 0x00b4, 0x00a8, 0x0000, 0x00c6, 0x00d8, 0x0000, 0x00b1, 0x0000, 0x0000,
131 0x00bb, 0x2026, 0x0020, 0x00c0, 0x00c3, 0x00d5, 0x0152, 0x0153, 0x2013, 0x20 14, 128 0x00a5, 0x00b5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00aa, 0x00ba,
132 0x201c, 0x201d, 0x2018, 0x2019, 0x00f7, 0x0000, 0x00ff, 0x0178, 0x2044, 0x00 a4, 129 0x0000, 0x00e6, 0x00f8, 0x00bf, 0x00a3, 0x00ac, 0x0000, 0x0192, 0x0000,
133 0x2039, 0x203a, 0xfb01, 0xfb02, 0x2021, 0x00b7, 0x201a, 0x201e, 0x2030, 0x00 c2, 130 0x0000, 0x00ab, 0x00bb, 0x2026, 0x0020, 0x00c0, 0x00c3, 0x00d5, 0x0152,
134 0x00ca, 0x00c1, 0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, 0x00cc, 0x00d3, 0x00 d4, 131 0x0153, 0x2013, 0x2014, 0x201c, 0x201d, 0x2018, 0x2019, 0x00f7, 0x0000,
135 0x0000, 0x00d2, 0x00da, 0x00db, 0x00d9, 0x0131, 0x02c6, 0x02dc, 0x00af, 0x02 d8, 132 0x00ff, 0x0178, 0x2044, 0x00a4, 0x2039, 0x203a, 0xfb01, 0xfb02, 0x2021,
136 0x02d9, 0x02da, 0x00b8, 0x02dd, 0x02db, 0x02c7 133 0x00b7, 0x201a, 0x201e, 0x2030, 0x00c2, 0x00ca, 0x00c1, 0x00cb, 0x00c8,
137 }; 134 0x00cd, 0x00ce, 0x00cf, 0x00cc, 0x00d3, 0x00d4, 0x0000, 0x00d2, 0x00da,
135 0x00db, 0x00d9, 0x0131, 0x02c6, 0x02dc, 0x00af, 0x02d8, 0x02d9, 0x02da,
136 0x00b8, 0x02dd, 0x02db, 0x02c7};
138 static const FX_WORD AdobeWinAnsiEncoding[256] = { 137 static const FX_WORD AdobeWinAnsiEncoding[256] = {
139 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 138 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
140 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 139 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
141 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 140 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
142 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 141 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0021, 0x0022, 0x0023,
143 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, 142 0x0024, 0x0025, 0x0026, 0x0027, 0x0028, 0x0029, 0x002a, 0x002b, 0x002c,
144 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, 143 0x002d, 0x002e, 0x002f, 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035,
145 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, 144 0x0036, 0x0037, 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e,
146 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, 145 0x003f, 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,
147 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, 146 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050,
148 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 147 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, 0x0059,
149 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 148 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, 0x0060, 0x0061, 0x0062,
150 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, 149 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, 0x0068, 0x0069, 0x006a, 0x006b,
151 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, 150 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, 0x0071, 0x0072, 0x0073, 0x0074,
152 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 151 0x0075, 0x0076, 0x0077, 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d,
153 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 152 0x007e, 0x2022, 0x20ac, 0x2022, 0x201a, 0x0192, 0x201e, 0x2026, 0x2020,
154 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x2022, 153 0x2021, 0x02c6, 0x2030, 0x0160, 0x2039, 0x0152, 0x2022, 0x017d, 0x2022,
155 0x20ac, 0x2022, 0x201a, 0x0192, 0x201e, 0x2026, 0x2020, 0x2021, 154 0x2022, 0x2018, 0x2019, 0x201c, 0x201d, 0x2022, 0x2013, 0x2014, 0x02dc,
156 0x02c6, 0x2030, 0x0160, 0x2039,» 0x0152, 0x2022, 0x017d, 0x2022, 155 0x2122, 0x0161, 0x203a, 0x0153, 0x2022, 0x017e, 0x0178, 0x0020, 0x00a1,
157 0x2022, 0x2018, 0x2019, 0x201c, 0x201d, 0x2022, 0x2013, 0x2014, 156 0x00a2, 0x00a3, 0x00a4, 0x00a5, 0x00a6, 0x00a7, 0x00a8, 0x00a9, 0x00aa,
158 0x02dc, 0x2122, 0x0161, 0x203a, 0x0153, 0x2022, 0x017e, 0x0178, 157 0x00ab, 0x00ac, 0x002d, 0x00ae, 0x00af, 0x00b0, 0x00b1, 0x00b2, 0x00b3,
159 0x0020, 0x00a1, 0x00a2, 0x00a3, 0x00a4, 0x00a5, 0x00a6, 0x00a7, 158 0x00b4, 0x00b5, 0x00b6, 0x00b7, 0x00b8, 0x00b9, 0x00ba, 0x00bb, 0x00bc,
160 0x00a8, 0x00a9, 0x00aa, 0x00ab, 0x00ac, 0x002d, 0x00ae, 0x00af, 159 0x00bd, 0x00be, 0x00bf, 0x00c0, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5,
161 0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x00b6, 0x00b7, 160 0x00c6, 0x00c7, 0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce,
162 0x00b8, 0x00b9, 0x00ba, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x00bf, 161 0x00cf, 0x00d0, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x00d7,
163 0x00c0, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x00c7, 162 0x00d8, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x00dd, 0x00de, 0x00df, 0x00e0,
164 0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf, 163 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x00e7, 0x00e8, 0x00e9,
165 0x00d0, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x00d7, 164 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef, 0x00f0, 0x00f1, 0x00f2,
166 0x00d8, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x00dd, 0x00de, 0x00df, 165 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x00f7, 0x00f8, 0x00f9, 0x00fa, 0x00fb,
167 0x00e0, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x00e7, 166 0x00fc, 0x00fd, 0x00fe, 0x00ff};
168 0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef,
169 0x00f0, 0x00f1, 0x00f2, 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x00f7,
170 0x00f8, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x00fd, 0x00fe, 0x00ff
171 };
172 static const FX_WORD MacExpertEncoding[256] = { 167 static const FX_WORD MacExpertEncoding[256] = {
173 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00 00, 168 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
174 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00 00, 169 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
175 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00 00, 170 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
176 0x0000, 0x0000, 0x0020, 0xf721, 0xf6f8, 0xf7a2, 0xf724, 0xf6e4, 0xf726, 0xf7 b4, 171 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0xf721, 0xf6f8, 0xf7a2,
177 0x207d, 0x207e, 0x2025, 0x2024, 0x002c, 0x002d, 0x002e, 0x2044, 0xf730, 0xf7 31, 172 0xf724, 0xf6e4, 0xf726, 0xf7b4, 0x207d, 0x207e, 0x2025, 0x2024, 0x002c,
178 0xf732, 0xf733, 0xf734, 0xf735, 0xf736, 0xf737, 0xf738, 0xf739, 0x003a, 0x00 3b, 173 0x002d, 0x002e, 0x2044, 0xf730, 0xf731, 0xf732, 0xf733, 0xf734, 0xf735,
179 0x0000, 0xf6de, 0x0000, 0xf73f, 0x0000, 0x0000, 0x0000, 0x0000, 0xf7f0, 0x00 00, 174 0xf736, 0xf737, 0xf738, 0xf739, 0x003a, 0x003b, 0x0000, 0xf6de, 0x0000,
180 0x0000, 0x00bc, 0x00bd, 0x00be, 0x215b, 0x215c, 0x215d, 0x215e, 0x2153, 0x21 54, 175 0xf73f, 0x0000, 0x0000, 0x0000, 0x0000, 0xf7f0, 0x0000, 0x0000, 0x00bc,
181 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xfb00, 0xfb01, 0xfb02, 0xfb 03, 176 0x00bd, 0x00be, 0x215b, 0x215c, 0x215d, 0x215e, 0x2153, 0x2154, 0x0000,
182 0xfb04, 0x208d, 0x0000, 0x208e, 0xf6f6, 0xf6e5, 0xf760, 0xf761, 0xf762, 0xf7 63, 177 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xfb00, 0xfb01, 0xfb02, 0xfb03,
183 0xf764, 0xf765, 0xf766, 0xf767, 0xf768, 0xf769, 0xf76a, 0xf76b, 0xf76c, 0xf7 6d, 178 0xfb04, 0x208d, 0x0000, 0x208e, 0xf6f6, 0xf6e5, 0xf760, 0xf761, 0xf762,
184 0xf76e, 0xf76f, 0xf770, 0xf771, 0xf772, 0xf773, 0xf774, 0xf775, 0xf776, 0xf7 77, 179 0xf763, 0xf764, 0xf765, 0xf766, 0xf767, 0xf768, 0xf769, 0xf76a, 0xf76b,
185 0xf778, 0xf779, 0xf77a, 0x20a1, 0xf6dc, 0xf6dd, 0xf6fe, 0x0000, 0x0000, 0xf6 e9, 180 0xf76c, 0xf76d, 0xf76e, 0xf76f, 0xf770, 0xf771, 0xf772, 0xf773, 0xf774,
186 0xf6e0, 0x0000, 0x0000, 0x0000, 0x0000, 0xf7e1, 0xf7e0, 0xf7e2, 0xf7e4, 0xf7 e3, 181 0xf775, 0xf776, 0xf777, 0xf778, 0xf779, 0xf77a, 0x20a1, 0xf6dc, 0xf6dd,
187 0xf7e5, 0xf7e7, 0xf7e9, 0xf7e8, 0xf7ea, 0xf7eb, 0xf7ed, 0xf7ec, 0xf7ee, 0xf7 ef, 182 0xf6fe, 0x0000, 0x0000, 0xf6e9, 0xf6e0, 0x0000, 0x0000, 0x0000, 0x0000,
188 0xf7f1, 0xf7f3, 0xf7f2, 0xf7f4, 0xf7f6, 0xf7f5, 0xf7fa, 0xf7f9, 0xf7fb, 0xf7 fc, 183 0xf7e1, 0xf7e0, 0xf7e2, 0xf7e4, 0xf7e3, 0xf7e5, 0xf7e7, 0xf7e9, 0xf7e8,
189 0x0000, 0x2078, 0x2084, 0x2083, 0x2086, 0x2088, 0x2087, 0xf6fd, 0x0000, 0xf6 df, 184 0xf7ea, 0xf7eb, 0xf7ed, 0xf7ec, 0xf7ee, 0xf7ef, 0xf7f1, 0xf7f3, 0xf7f2,
190 0x2082, 0x0000, 0xf7a8, 0x0000, 0xf6f5, 0xf6fd, 0x2085, 0x0000, 0xf6e1, 0xf6 e7, 185 0xf7f4, 0xf7f6, 0xf7f5, 0xf7fa, 0xf7f9, 0xf7fb, 0xf7fc, 0x0000, 0x2078,
191 0xf7fd, 0x0000, 0xf6e3, 0x0000, 0x0000, 0xf7fe, 0x0000, 0x2089, 0x2080, 0xf6 ff, 186 0x2084, 0x2083, 0x2086, 0x2088, 0x2087, 0xf6fd, 0x0000, 0xf6df, 0x2082,
192 0xf7e6, 0xf7f8, 0xf7bf, 0x2081, 0xf6e9, 0x0000, 0x0000, 0x0000, 0x0000, 0x00 00, 187 0x0000, 0xf7a8, 0x0000, 0xf6f5, 0xf6fd, 0x2085, 0x0000, 0xf6e1, 0xf6e7,
193 0x0000, 0xf7b8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf6fa, 0x2012, 0xf6 e6, 188 0xf7fd, 0x0000, 0xf6e3, 0x0000, 0x0000, 0xf7fe, 0x0000, 0x2089, 0x2080,
194 0x0000, 0x0000, 0x0000, 0x0000, 0xf7a1, 0x0000, 0xf7ff, 0x0000, 0x00b9, 0x00 b2, 189 0xf6ff, 0xf7e6, 0xf7f8, 0xf7bf, 0x2081, 0xf6e9, 0x0000, 0x0000, 0x0000,
195 0x00b3, 0x2074, 0x2075, 0x2076, 0x2077, 0x2079, 0x2070, 0x0000, 0xf6ec, 0xf6 f1, 190 0x0000, 0x0000, 0x0000, 0xf7b8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
196 0x0000, 0x0000, 0x0000, 0xf6ed, 0xf6f2, 0xf6eb, 0x0000, 0x0000, 0x0000, 0x00 00, 191 0xf6fa, 0x2012, 0xf6e6, 0x0000, 0x0000, 0x0000, 0x0000, 0xf7a1, 0x0000,
197 0x0000, 0xf6ee, 0xf6fb, 0xf6f4, 0xf7af, 0xf6ea, 0x207f, 0xf6ef, 0xf6e2, 0xf6 e8, 192 0xf7ff, 0x0000, 0x00b9, 0x00b2, 0x00b3, 0x2074, 0x2075, 0x2076, 0x2077,
198 0xf6f7, 0xf6fc, 0x0000, 0x0000, 0x0000, 0x0000 193 0x2079, 0x2070, 0x0000, 0xf6ec, 0xf6f1, 0x0000, 0x0000, 0x0000, 0xf6ed,
199 }; 194 0xf6f2, 0xf6eb, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf6ee, 0xf6fb,
195 0xf6f4, 0xf7af, 0xf6ea, 0x207f, 0xf6ef, 0xf6e2, 0xf6e8, 0xf6f7, 0xf6fc,
196 0x0000, 0x0000, 0x0000, 0x0000};
200 static const FX_WORD AdobeSymbolEncoding[256] = { 197 static const FX_WORD AdobeSymbolEncoding[256] = {
201 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 198 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
202 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 199 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
203 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 200 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
204 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 201 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0021, 0x2200, 0x0023,
205 0x0020, 0x0021, 0x2200, 0x0023, 0x2203, 0x0025, 0x0026, 0x220B, 202 0x2203, 0x0025, 0x0026, 0x220B, 0x0028, 0x0029, 0x2217, 0x002B, 0x002C,
206 0x0028, 0x0029, 0x2217, 0x002B, 0x002C, 0x2212, 0x002E, 0x002F, 203 0x2212, 0x002E, 0x002F, 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035,
207 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, 204 0x0036, 0x0037, 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E,
208 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, 205 0x003F, 0x2245, 0x0391, 0x0392, 0x03A7, 0x0394, 0x0395, 0x03A6, 0x0393,
209 0x2245, 0x0391, 0x0392, 0x03A7, 0x0394, 0x0395, 0x03A6, 0x0393, 206 0x0397, 0x0399, 0x03D1, 0x039A, 0x039B, 0x039C, 0x039D, 0x039F, 0x03A0,
210 0x0397, 0x0399, 0x03D1, 0x039A, 0x039B, 0x039C, 0x039D, 0x039F, 207 0x0398, 0x03A1, 0x03A3, 0x03A4, 0x03A5, 0x03C2, 0x03A9, 0x039E, 0x03A8,
211 0x03A0, 0x0398, 0x03A1, 0x03A3, 0x03A4, 0x03A5, 0x03C2, 0x03A9, 208 0x0396, 0x005B, 0x2234, 0x005D, 0x22A5, 0x005F, 0xF8E5, 0x03B1, 0x03B2,
212 0x039E, 0x03A8, 0x0396, 0x005B, 0x2234, 0x005D, 0x22A5, 0x005F, 209 0x03C7, 0x03B4, 0x03B5, 0x03C6, 0x03B3, 0x03B7, 0x03B9, 0x03D5, 0x03BA,
213 0xF8E5, 0x03B1, 0x03B2, 0x03C7, 0x03B4, 0x03B5, 0x03C6, 0x03B3, 210 0x03BB, 0x03BC, 0x03BD, 0x03BF, 0x03C0, 0x03B8, 0x03C1, 0x03C3, 0x03C4,
214 0x03B7, 0x03B9, 0x03D5, 0x03BA, 0x03BB, 0x03BC, 0x03BD, 0x03BF, 211 0x03C5, 0x03D6, 0x03C9, 0x03BE, 0x03C8, 0x03B6, 0x007B, 0x007C, 0x007D,
215 0x03C0, 0x03B8, 0x03C1, 0x03C3, 0x03C4, 0x03C5, 0x03D6, 0x03C9, 212 0x223C, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
216 0x03BE, 0x03C8, 0x03B6, 0x007B, 0x007C, 0x007D, 0x223C, 0x0000, 213 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
217 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 214 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
218 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 215 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x20AC, 0x03D2,
219 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 216 0x2032, 0x2264, 0x2044, 0x221E, 0x0192, 0x2663, 0x2666, 0x2665, 0x2660,
220 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 217 0x2194, 0x2190, 0x2191, 0x2192, 0x2193, 0x00B0, 0x00B1, 0x2033, 0x2265,
221 0x20AC, 0x03D2, 0x2032, 0x2264, 0x2044, 0x221E, 0x0192, 0x2663, 218 0x00D7, 0x221D, 0x2202, 0x2022, 0x00F7, 0x2260, 0x2261, 0x2248, 0x2026,
222 0x2666, 0x2665, 0x2660, 0x2194, 0x2190, 0x2191, 0x2192, 0x2193, 219 0xF8E6, 0xF8E7, 0x21B5, 0x2135, 0x2111, 0x211C, 0x2118, 0x2297, 0x2295,
223 0x00B0, 0x00B1, 0x2033, 0x2265, 0x00D7, 0x221D, 0x2202, 0x2022, 220 0x2205, 0x2229, 0x222A, 0x2283, 0x2287, 0x2284, 0x2282, 0x2286, 0x2208,
224 0x00F7, 0x2260, 0x2261, 0x2248, 0x2026, 0xF8E6, 0xF8E7, 0x21B5, 221 0x2209, 0x2220, 0x2207, 0xF6DA, 0xF6D9, 0xF6DB, 0x220F, 0x221A, 0x22C5,
225 0x2135, 0x2111, 0x211C, 0x2118, 0x2297, 0x2295, 0x2205, 0x2229, 222 0x00AC, 0x2227, 0x2228, 0x21D4, 0x21D0, 0x21D1, 0x21D2, 0x21D3, 0x25CA,
226 0x222A, 0x2283, 0x2287, 0x2284, 0x2282, 0x2286, 0x2208, 0x2209, 223 0x2329, 0xF8E8, 0xF8E9, 0xF8EA, 0x2211, 0xF8EB, 0xF8EC, 0xF8ED, 0xF8EE,
227 0x2220, 0x2207, 0xF6DA, 0xF6D9, 0xF6DB, 0x220F, 0x221A, 0x22C5, 224 0xF8EF, 0xF8F0, 0xF8F1, 0xF8F2, 0xF8F3, 0xF8F4, 0x0000, 0x232A, 0x222B,
228 0x00AC, 0x2227, 0x2228, 0x21D4, 0x21D0, 0x21D1, 0x21D2, 0x21D3, 225 0x2320, 0xF8F5, 0x2321, 0xF8F6, 0xF8F7, 0xF8F8, 0xF8F9, 0xF8FA, 0xF8FB,
229 0x25CA, 0x2329, 0xF8E8, 0xF8E9, 0xF8EA, 0x2211, 0xF8EB, 0xF8EC, 226 0xF8FC, 0xF8FD, 0xF8FE, 0x0000,
230 0xF8ED, 0xF8EE, 0xF8EF, 0xF8F0, 0xF8F1, 0xF8F2, 0xF8F3, 0xF8F4,
231 0x0000, 0x232A, 0x222B, 0x2320, 0xF8F5, 0x2321, 0xF8F6, 0xF8F7,
232 0xF8F8, 0xF8F9, 0xF8FA, 0xF8FB, 0xF8FC, 0xF8FD, 0xF8FE, 0x0000,
233 }; 227 };
234 static const FX_WORD ZapfEncoding[256] = { 228 static const FX_WORD ZapfEncoding[256] = {
235 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 229 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
236 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 230 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
237 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 231 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
238 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 232 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x2701, 0x2702, 0x2703,
239 0x0020, 0x2701, 0x2702, 0x2703, 0x2704, 0x260E, 0x2706, 0x2707, 233 0x2704, 0x260E, 0x2706, 0x2707, 0x2708, 0x2709, 0x261B, 0x261E, 0x270C,
240 0x2708, 0x2709, 0x261B, 0x261E, 0x270C, 0x270D, 0x270E, 0x270F, 234 0x270D, 0x270E, 0x270F, 0x2710, 0x2711, 0x2712, 0x2713, 0x2714, 0x2715,
241 0x2710, 0x2711, 0x2712, 0x2713, 0x2714, 0x2715, 0x2716, 0x2717, 235 0x2716, 0x2717, 0x2718, 0x2719, 0x271A, 0x271B, 0x271C, 0x271D, 0x271E,
242 0x2718, 0x2719, 0x271A, 0x271B, 0x271C, 0x271D, 0x271E, 0x271F, 236 0x271F, 0x2720, 0x2721, 0x2722, 0x2723, 0x2724, 0x2725, 0x2726, 0x2727,
243 0x2720, 0x2721, 0x2722, 0x2723, 0x2724, 0x2725, 0x2726, 0x2727, 237 0x2605, 0x2729, 0x272A, 0x272B, 0x272C, 0x272D, 0x272E, 0x272F, 0x2730,
244 0x2605, 0x2729, 0x272A, 0x272B, 0x272C, 0x272D, 0x272E, 0x272F, 238 0x2731, 0x2732, 0x2733, 0x2734, 0x2735, 0x2736, 0x2737, 0x2738, 0x2739,
245 0x2730, 0x2731, 0x2732, 0x2733, 0x2734, 0x2735, 0x2736, 0x2737, 239 0x273A, 0x273B, 0x273C, 0x273D, 0x273E, 0x273F, 0x2740, 0x2741, 0x2742,
246 0x2738, 0x2739, 0x273A, 0x273B, 0x273C, 0x273D, 0x273E, 0x273F, 240 0x2743, 0x2744, 0x2745, 0x2746, 0x2747, 0x2748, 0x2749, 0x274A, 0x274B,
247 0x2740, 0x2741, 0x2742, 0x2743, 0x2744, 0x2745, 0x2746, 0x2747, 241 0x25CF, 0x274D, 0x25A0, 0x274F, 0x2750, 0x2751, 0x2752, 0x25B2, 0x25BC,
248 0x2748, 0x2749, 0x274A, 0x274B, 0x25CF, 0x274D, 0x25A0, 0x274F, 242 0x25C6, 0x2756, 0x25D7, 0x2758, 0x2759, 0x275A, 0x275B, 0x275C, 0x275D,
249 0x2750, 0x2751, 0x2752, 0x25B2, 0x25BC, 0x25C6, 0x2756, 0x25D7, 243 0x275E, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
250 0x2758, 0x2759, 0x275A, 0x275B, 0x275C, 0x275D, 0x275E, 0x0000, 244 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
251 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 245 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
252 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 246 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2761,
253 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 247 0x2762, 0x2763, 0x2764, 0x2765, 0x2766, 0x2767, 0x2663, 0x2666, 0x2665,
254 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 248 0x2660, 0x2460, 0x2461, 0x2462, 0x2463, 0x2464, 0x2465, 0x2466, 0x2467,
255 0x0000, 0x2761, 0x2762, 0x2763, 0x2764, 0x2765, 0x2766, 0x2767, 249 0x2468, 0x2469, 0x2776, 0x2777, 0x2778, 0x2779, 0x277A, 0x277B, 0x277C,
256 0x2663, 0x2666, 0x2665, 0x2660, 0x2460, 0x2461, 0x2462, 0x2463, 250 0x277D, 0x277E, 0x277F, 0x2780, 0x2781, 0x2782, 0x2783, 0x2784, 0x2785,
257 0x2464, 0x2465, 0x2466, 0x2467, 0x2468, 0x2469, 0x2776, 0x2777, 251 0x2786, 0x2787, 0x2788, 0x2789, 0x278A, 0x278B, 0x278C, 0x278D, 0x278E,
258 0x2778, 0x2779, 0x277A, 0x277B, 0x277C, 0x277D, 0x277E, 0x277F, 252 0x278F, 0x2790, 0x2791, 0x2792, 0x2793, 0x2794, 0x2192, 0x2194, 0x2195,
259 0x2780, 0x2781, 0x2782, 0x2783, 0x2784, 0x2785, 0x2786, 0x2787, 253 0x2798, 0x2799, 0x279A, 0x279B, 0x279C, 0x279D, 0x279E, 0x279F, 0x27A0,
260 0x2788, 0x2789, 0x278A, 0x278B, 0x278C, 0x278D, 0x278E, 0x278F, 254 0x27A1, 0x27A2, 0x27A3, 0x27A4, 0x27A5, 0x27A6, 0x27A7, 0x27A8, 0x27A9,
261 0x2790, 0x2791, 0x2792, 0x2793, 0x2794, 0x2192, 0x2194, 0x2195, 255 0x27AA, 0x27AB, 0x27AC, 0x27AD, 0x27AE, 0x27AF, 0x0000, 0x27B1, 0x27B2,
262 0x2798, 0x2799, 0x279A, 0x279B, 0x279C, 0x279D, 0x279E, 0x279F, 256 0x27B3, 0x27B4, 0x27B5, 0x27B6, 0x27B7, 0x27B8, 0x27B9, 0x27BA, 0x27BB,
263 0x27A0, 0x27A1, 0x27A2, 0x27A3, 0x27A4, 0x27A5, 0x27A6, 0x27A7, 257 0x27BC, 0x27BD, 0x27BE, 0x0000,
264 0x27A8, 0x27A9, 0x27AA, 0x27AB, 0x27AC, 0x27AD, 0x27AE, 0x27AF,
265 0x0000, 0x27B1, 0x27B2, 0x27B3, 0x27B4, 0x27B5, 0x27B6, 0x27B7,
266 0x27B8, 0x27B9, 0x27BA, 0x27BB, 0x27BC, 0x27BD, 0x27BE, 0x0000,
267 }; 258 };
268 static const FX_CHAR* const StandardEncodingNames[224] = { 259 static const FX_CHAR* const StandardEncodingNames[224] = {
269 "space", "exclam", "quotedbl", "numbersign", "dollar", "percent", "ampersand ", "quoteright", 260 "space",
270 "parenleft", "parenright", "asterisk", "plus", "comma", "hyphen", "period", "slash", 261 "exclam",
271 "zero", "one", "two", "three", "four", "five", "six", "seven", 262 "quotedbl",
272 "eight", "nine", "colon", "semicolon", "less", "equal", "greater", "question ", 263 "numbersign",
273 "at", "A", "B", "C", "D", "E", "F", "G", 264 "dollar",
274 "H", "I", "J", "K", "L", "M", "N", "O", 265 "percent",
275 "P", "Q", "R", "S", "T", "U", "V", "W", 266 "ampersand",
276 "X", "Y", "Z", "bracketleft", "backslash", "bracketright", "asciicircum", "u nderscore", 267 "quoteright",
277 "quoteleft", "a", "b", "c", "d", "e", "f", "g", 268 "parenleft",
278 "h", "i", "j", "k", "l", "m", "n", "o", 269 "parenright",
279 "p", "q", "r", "s", "t", "u", "v", "w", 270 "asterisk",
280 "x", "y", "z", "braceleft", "bar", "braceright", "asciitilde", NULL, 271 "plus",
281 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 272 "comma",
282 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 273 "hyphen",
283 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 274 "period",
284 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 275 "slash",
285 NULL, "exclamdown", "cent", "sterling", "fraction", "yen", "florin", "sectio n", 276 "zero",
286 "currency", "quotesingle", "quotedblleft", "guillemotleft", "guilsinglleft", "guilsinglright", "fi", "fl", 277 "one",
287 NULL, "endash", "dagger", "daggerdbl", "periodcentered", NULL, "paragraph", "bullet", 278 "two",
288 "quotesinglbase", "quotedblbase", "quotedblright", "guillemotright", "ellips is", "perthousand", NULL, "questiondown", 279 "three",
289 NULL, "grave", "acute", "circumflex", "tilde", "macron", "breve", "dotaccent ", 280 "four",
290 "dieresis", NULL, "ring", "cedilla", NULL, "hungarumlaut", "ogonek", "caron" , 281 "five",
291 "emdash", NULL, NULL, NULL, NULL, NULL, NULL, NULL, 282 "six",
292 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 283 "seven",
293 NULL, "AE", NULL, "ordfeminine", NULL, NULL, NULL, NULL, 284 "eight",
294 "Lslash", "Oslash", "OE", "ordmasculine", NULL, NULL, NULL, NULL, 285 "nine",
295 NULL, "ae", NULL, NULL, NULL, "dotlessi", NULL, NULL, 286 "colon",
296 "lslash", "oslash", "oe", "germandbls", NULL, NULL, NULL, NULL, 287 "semicolon",
288 "less",
289 "equal",
290 "greater",
291 "question",
292 "at",
293 "A",
294 "B",
295 "C",
296 "D",
297 "E",
298 "F",
299 "G",
300 "H",
301 "I",
302 "J",
303 "K",
304 "L",
305 "M",
306 "N",
307 "O",
308 "P",
309 "Q",
310 "R",
311 "S",
312 "T",
313 "U",
314 "V",
315 "W",
316 "X",
317 "Y",
318 "Z",
319 "bracketleft",
320 "backslash",
321 "bracketright",
322 "asciicircum",
323 "underscore",
324 "quoteleft",
325 "a",
326 "b",
327 "c",
328 "d",
329 "e",
330 "f",
331 "g",
332 "h",
333 "i",
334 "j",
335 "k",
336 "l",
337 "m",
338 "n",
339 "o",
340 "p",
341 "q",
342 "r",
343 "s",
344 "t",
345 "u",
346 "v",
347 "w",
348 "x",
349 "y",
350 "z",
351 "braceleft",
352 "bar",
353 "braceright",
354 "asciitilde",
355 NULL,
356 NULL,
357 NULL,
358 NULL,
359 NULL,
360 NULL,
361 NULL,
362 NULL,
363 NULL,
364 NULL,
365 NULL,
366 NULL,
367 NULL,
368 NULL,
369 NULL,
370 NULL,
371 NULL,
372 NULL,
373 NULL,
374 NULL,
375 NULL,
376 NULL,
377 NULL,
378 NULL,
379 NULL,
380 NULL,
381 NULL,
382 NULL,
383 NULL,
384 NULL,
385 NULL,
386 NULL,
387 NULL,
388 NULL,
389 "exclamdown",
390 "cent",
391 "sterling",
392 "fraction",
393 "yen",
394 "florin",
395 "section",
396 "currency",
397 "quotesingle",
398 "quotedblleft",
399 "guillemotleft",
400 "guilsinglleft",
401 "guilsinglright",
402 "fi",
403 "fl",
404 NULL,
405 "endash",
406 "dagger",
407 "daggerdbl",
408 "periodcentered",
409 NULL,
410 "paragraph",
411 "bullet",
412 "quotesinglbase",
413 "quotedblbase",
414 "quotedblright",
415 "guillemotright",
416 "ellipsis",
417 "perthousand",
418 NULL,
419 "questiondown",
420 NULL,
421 "grave",
422 "acute",
423 "circumflex",
424 "tilde",
425 "macron",
426 "breve",
427 "dotaccent",
428 "dieresis",
429 NULL,
430 "ring",
431 "cedilla",
432 NULL,
433 "hungarumlaut",
434 "ogonek",
435 "caron",
436 "emdash",
437 NULL,
438 NULL,
439 NULL,
440 NULL,
441 NULL,
442 NULL,
443 NULL,
444 NULL,
445 NULL,
446 NULL,
447 NULL,
448 NULL,
449 NULL,
450 NULL,
451 NULL,
452 NULL,
453 "AE",
454 NULL,
455 "ordfeminine",
456 NULL,
457 NULL,
458 NULL,
459 NULL,
460 "Lslash",
461 "Oslash",
462 "OE",
463 "ordmasculine",
464 NULL,
465 NULL,
466 NULL,
467 NULL,
468 NULL,
469 "ae",
470 NULL,
471 NULL,
472 NULL,
473 "dotlessi",
474 NULL,
475 NULL,
476 "lslash",
477 "oslash",
478 "oe",
479 "germandbls",
480 NULL,
481 NULL,
482 NULL,
483 NULL,
297 }; 484 };
298 static const FX_CHAR* const AdobeWinAnsiEncodingNames[224] = { 485 static const FX_CHAR* const AdobeWinAnsiEncodingNames[224] = {
299 "space", "exclam", "quotedbl", "numbersign", "dollar", "percent", "ampersand ", "quotesingle", 486 "space",
300 "parenleft", "parenright", "asterisk", "plus", "comma", "hyphen", "period", "slash", 487 "exclam",
301 "zero", "one", "two", "three", "four", "five", "six", "seven", 488 "quotedbl",
302 "eight", "nine", "colon", "semicolon", "less", "equal", "greater", "question ", 489 "numbersign",
303 "at", "A", "B", "C", "D", "E", "F", "G", 490 "dollar",
304 "H", "I", "J", "K", "L", "M", "N", "O", 491 "percent",
305 "P", "Q", "R", "S", "T", "U", "V", "W", 492 "ampersand",
306 "X", "Y", "Z", "bracketleft", "backslash", "bracketright", "asciicircum", "u nderscore", 493 "quotesingle",
307 "grave", "a", "b", "c", "d", "e", "f", "g", 494 "parenleft",
308 "h", "i", "j", "k", "l", "m", "n", "o", 495 "parenright",
309 "p", "q", "r", "s", "t", "u", "v", "w", 496 "asterisk",
310 "x", "y", "z", "braceleft", "bar", "braceright", "asciitilde", "bullet", 497 "plus",
311 "Euro", "bullet", "quotesinglbase", "florin", "quotedblbase", "ellipsis", "d agger", "daggerdbl", 498 "comma",
312 "circumflex", "perthousand", "Scaron", "guilsinglleft", "OE", "bullet", "Zca ron", "bullet", 499 "hyphen",
313 "bullet", "quoteleft", "quoteright", "quotedblleft", "quotedblright", "bulle t", "endash", "emdash", 500 "period",
314 "tilde", "trademark", "scaron", "guilsinglright", "oe", "bullet", "zcaron", "Ydieresis", 501 "slash",
315 "space", "exclamdown", "cent", "sterling", "currency", "yen", "brokenbar", " section", 502 "zero",
316 "dieresis", "copyright", "ordfeminine", "guillemotleft", "logicalnot", "hyph en", "registered", "macron", 503 "one",
317 "degree", "plusminus", "twosuperior", "threesuperior", "acute", "mu", "parag raph", "periodcentered", 504 "two",
318 "cedilla", "onesuperior", "ordmasculine", "guillemotright", "onequarter", "o nehalf", "threequarters", "questiondown", 505 "three",
319 "Agrave", "Aacute", "Acircumflex", "Atilde", "Adieresis", "Aring", "AE", "Cc edilla", 506 "four",
320 "Egrave", "Eacute", "Ecircumflex", "Edieresis", "Igrave", "Iacute", "Icircum flex", "Idieresis", 507 "five",
321 "Eth", "Ntilde", "Ograve", "Oacute", "Ocircumflex", "Otilde", "Odieresis", " multiply", 508 "six",
322 "Oslash", "Ugrave", "Uacute", "Ucircumflex", "Udieresis", "Yacute", "Thorn", "germandbls", 509 "seven",
323 "agrave", "aacute", "acircumflex", "atilde", "adieresis", "aring", "ae", "cc edilla", 510 "eight",
324 "egrave", "eacute", "ecircumflex", "edieresis", "igrave", "iacute", "icircum flex", "idieresis", 511 "nine",
325 "eth", "ntilde", "ograve", "oacute", "ocircumflex", "otilde", "odieresis", " divide", 512 "colon",
326 "oslash", "ugrave", "uacute", "ucircumflex", "udieresis", "yacute", "thorn", "ydieresis", 513 "semicolon",
514 "less",
515 "equal",
516 "greater",
517 "question",
518 "at",
519 "A",
520 "B",
521 "C",
522 "D",
523 "E",
524 "F",
525 "G",
526 "H",
527 "I",
528 "J",
529 "K",
530 "L",
531 "M",
532 "N",
533 "O",
534 "P",
535 "Q",
536 "R",
537 "S",
538 "T",
539 "U",
540 "V",
541 "W",
542 "X",
543 "Y",
544 "Z",
545 "bracketleft",
546 "backslash",
547 "bracketright",
548 "asciicircum",
549 "underscore",
550 "grave",
551 "a",
552 "b",
553 "c",
554 "d",
555 "e",
556 "f",
557 "g",
558 "h",
559 "i",
560 "j",
561 "k",
562 "l",
563 "m",
564 "n",
565 "o",
566 "p",
567 "q",
568 "r",
569 "s",
570 "t",
571 "u",
572 "v",
573 "w",
574 "x",
575 "y",
576 "z",
577 "braceleft",
578 "bar",
579 "braceright",
580 "asciitilde",
581 "bullet",
582 "Euro",
583 "bullet",
584 "quotesinglbase",
585 "florin",
586 "quotedblbase",
587 "ellipsis",
588 "dagger",
589 "daggerdbl",
590 "circumflex",
591 "perthousand",
592 "Scaron",
593 "guilsinglleft",
594 "OE",
595 "bullet",
596 "Zcaron",
597 "bullet",
598 "bullet",
599 "quoteleft",
600 "quoteright",
601 "quotedblleft",
602 "quotedblright",
603 "bullet",
604 "endash",
605 "emdash",
606 "tilde",
607 "trademark",
608 "scaron",
609 "guilsinglright",
610 "oe",
611 "bullet",
612 "zcaron",
613 "Ydieresis",
614 "space",
615 "exclamdown",
616 "cent",
617 "sterling",
618 "currency",
619 "yen",
620 "brokenbar",
621 "section",
622 "dieresis",
623 "copyright",
624 "ordfeminine",
625 "guillemotleft",
626 "logicalnot",
627 "hyphen",
628 "registered",
629 "macron",
630 "degree",
631 "plusminus",
632 "twosuperior",
633 "threesuperior",
634 "acute",
635 "mu",
636 "paragraph",
637 "periodcentered",
638 "cedilla",
639 "onesuperior",
640 "ordmasculine",
641 "guillemotright",
642 "onequarter",
643 "onehalf",
644 "threequarters",
645 "questiondown",
646 "Agrave",
647 "Aacute",
648 "Acircumflex",
649 "Atilde",
650 "Adieresis",
651 "Aring",
652 "AE",
653 "Ccedilla",
654 "Egrave",
655 "Eacute",
656 "Ecircumflex",
657 "Edieresis",
658 "Igrave",
659 "Iacute",
660 "Icircumflex",
661 "Idieresis",
662 "Eth",
663 "Ntilde",
664 "Ograve",
665 "Oacute",
666 "Ocircumflex",
667 "Otilde",
668 "Odieresis",
669 "multiply",
670 "Oslash",
671 "Ugrave",
672 "Uacute",
673 "Ucircumflex",
674 "Udieresis",
675 "Yacute",
676 "Thorn",
677 "germandbls",
678 "agrave",
679 "aacute",
680 "acircumflex",
681 "atilde",
682 "adieresis",
683 "aring",
684 "ae",
685 "ccedilla",
686 "egrave",
687 "eacute",
688 "ecircumflex",
689 "edieresis",
690 "igrave",
691 "iacute",
692 "icircumflex",
693 "idieresis",
694 "eth",
695 "ntilde",
696 "ograve",
697 "oacute",
698 "ocircumflex",
699 "otilde",
700 "odieresis",
701 "divide",
702 "oslash",
703 "ugrave",
704 "uacute",
705 "ucircumflex",
706 "udieresis",
707 "yacute",
708 "thorn",
709 "ydieresis",
327 }; 710 };
328 static const FX_CHAR* const MacRomanEncodingNames[224] = { 711 static const FX_CHAR* const MacRomanEncodingNames[224] = {
329 "space", "exclam", "quotedbl", "numbersign", "dollar", "percent", "ampersand ", "quotesingle", 712 "space",
330 "parenleft", "parenright", "asterisk", "plus", "comma", "hyphen", "period", "slash", 713 "exclam",
331 "zero", "one", "two", "three", "four", "five", "six", "seven", 714 "quotedbl",
332 "eight", "nine", "colon", "semicolon", "less", "equal", "greater", "question ", 715 "numbersign",
333 "at", "A", "B", "C", "D", "E", "F", "G", 716 "dollar",
334 "H", "I", "J", "K", "L", "M", "N", "O", 717 "percent",
335 "P", "Q", "R", "S", "T", "U", "V", "W", 718 "ampersand",
336 "X", "Y", "Z", "bracketleft", "backslash", "bracketright", "asciicircum", "u nderscore", 719 "quotesingle",
337 "grave", "a", "b", "c", "d", "e", "f", "g", 720 "parenleft",
338 "h", "i", "j", "k", "l", "m", "n", "o", 721 "parenright",
339 "p", "q", "r", "s", "t", "u", "v", "w", 722 "asterisk",
340 "x", "y", "z", "braceleft", "bar", "braceright", "asciitilde", NULL, 723 "plus",
341 "Adieresis", "Aring", "Ccedilla", "Eacute", "Ntilde", "Odieresis", "Udieresi s", "aacute", 724 "comma",
342 "agrave", "acircumflex", "adieresis", "atilde", "aring", "ccedilla", "eacute ", "egrave", 725 "hyphen",
343 "ecircumflex", "edieresis", "iacute", "igrave", "icircumflex", "idieresis", "ntilde", "oacute", 726 "period",
344 "ograve", "ocircumflex", "odieresis", "otilde", "uacute", "ugrave", "ucircum flex", "udieresis", 727 "slash",
345 "dagger", "degree", "cent", "sterling", "section", "bullet", "paragraph", "g ermandbls", 728 "zero",
346 "registered", "copyright", "trademark", "acute", "dieresis", "notequal", "AE ", "Oslash", 729 "one",
347 "infinity", "plusminus", "lessequal", "greaterequal", "yen", "mu", "partiald iff", "summation", 730 "two",
348 "product", "pi", "integral", "ordfeminine", "ordmasculine", "Omega", "ae", " oslash", 731 "three",
349 "questiondown", "exclamdown", "logicalnot", "radical", "florin", "approxequa l", "Delta", "guillemotleft", 732 "four",
350 "guillemotright", "ellipsis", "space", "Agrave", "Atilde", "Otilde", "OE", " oe", 733 "five",
351 "endash", "emdash", "quotedblleft", "quotedblright", "quoteleft", "quoterigh t", "divide", "lozenge", 734 "six",
352 "ydieresis", "Ydieresis", "fraction", "currency", "guilsinglleft", "guilsing lright", "fi", "fl", 735 "seven",
353 "daggerdbl", "periodcentered", "quotesinglbase", "quotedblbase", "perthousan d", "Acircumflex", "Ecircumflex", "Aacute", 736 "eight",
354 "Edieresis", "Egrave", "Iacute", "Icircumflex", "Idieresis", "Igrave", "Oacu te", "Ocircumflex", 737 "nine",
355 "apple", "Ograve", "Uacute", "Ucircumflex", "Ugrave", "dotlessi", "circumfle x", "tilde", 738 "colon",
356 "macron", "breve", "dotaccent", "ring", "cedilla", "hungarumlaut", "ogonek", "caron", 739 "semicolon",
740 "less",
741 "equal",
742 "greater",
743 "question",
744 "at",
745 "A",
746 "B",
747 "C",
748 "D",
749 "E",
750 "F",
751 "G",
752 "H",
753 "I",
754 "J",
755 "K",
756 "L",
757 "M",
758 "N",
759 "O",
760 "P",
761 "Q",
762 "R",
763 "S",
764 "T",
765 "U",
766 "V",
767 "W",
768 "X",
769 "Y",
770 "Z",
771 "bracketleft",
772 "backslash",
773 "bracketright",
774 "asciicircum",
775 "underscore",
776 "grave",
777 "a",
778 "b",
779 "c",
780 "d",
781 "e",
782 "f",
783 "g",
784 "h",
785 "i",
786 "j",
787 "k",
788 "l",
789 "m",
790 "n",
791 "o",
792 "p",
793 "q",
794 "r",
795 "s",
796 "t",
797 "u",
798 "v",
799 "w",
800 "x",
801 "y",
802 "z",
803 "braceleft",
804 "bar",
805 "braceright",
806 "asciitilde",
807 NULL,
808 "Adieresis",
809 "Aring",
810 "Ccedilla",
811 "Eacute",
812 "Ntilde",
813 "Odieresis",
814 "Udieresis",
815 "aacute",
816 "agrave",
817 "acircumflex",
818 "adieresis",
819 "atilde",
820 "aring",
821 "ccedilla",
822 "eacute",
823 "egrave",
824 "ecircumflex",
825 "edieresis",
826 "iacute",
827 "igrave",
828 "icircumflex",
829 "idieresis",
830 "ntilde",
831 "oacute",
832 "ograve",
833 "ocircumflex",
834 "odieresis",
835 "otilde",
836 "uacute",
837 "ugrave",
838 "ucircumflex",
839 "udieresis",
840 "dagger",
841 "degree",
842 "cent",
843 "sterling",
844 "section",
845 "bullet",
846 "paragraph",
847 "germandbls",
848 "registered",
849 "copyright",
850 "trademark",
851 "acute",
852 "dieresis",
853 "notequal",
854 "AE",
855 "Oslash",
856 "infinity",
857 "plusminus",
858 "lessequal",
859 "greaterequal",
860 "yen",
861 "mu",
862 "partialdiff",
863 "summation",
864 "product",
865 "pi",
866 "integral",
867 "ordfeminine",
868 "ordmasculine",
869 "Omega",
870 "ae",
871 "oslash",
872 "questiondown",
873 "exclamdown",
874 "logicalnot",
875 "radical",
876 "florin",
877 "approxequal",
878 "Delta",
879 "guillemotleft",
880 "guillemotright",
881 "ellipsis",
882 "space",
883 "Agrave",
884 "Atilde",
885 "Otilde",
886 "OE",
887 "oe",
888 "endash",
889 "emdash",
890 "quotedblleft",
891 "quotedblright",
892 "quoteleft",
893 "quoteright",
894 "divide",
895 "lozenge",
896 "ydieresis",
897 "Ydieresis",
898 "fraction",
899 "currency",
900 "guilsinglleft",
901 "guilsinglright",
902 "fi",
903 "fl",
904 "daggerdbl",
905 "periodcentered",
906 "quotesinglbase",
907 "quotedblbase",
908 "perthousand",
909 "Acircumflex",
910 "Ecircumflex",
911 "Aacute",
912 "Edieresis",
913 "Egrave",
914 "Iacute",
915 "Icircumflex",
916 "Idieresis",
917 "Igrave",
918 "Oacute",
919 "Ocircumflex",
920 "apple",
921 "Ograve",
922 "Uacute",
923 "Ucircumflex",
924 "Ugrave",
925 "dotlessi",
926 "circumflex",
927 "tilde",
928 "macron",
929 "breve",
930 "dotaccent",
931 "ring",
932 "cedilla",
933 "hungarumlaut",
934 "ogonek",
935 "caron",
357 }; 936 };
358 static const FX_CHAR* const MacExpertEncodingNames[224] = { 937 static const FX_CHAR* const MacExpertEncodingNames[224] = {
359 "space", "exclamsmall", "Hungarumlautsmall", "centoldstyle", "dollaroldstyle ", "dollarsuperior", "ampersandsmall", "Acutesmall", 938 "space",
360 "parenleftsuperior", "parenrightsuperior", "twodotenleader", "onedotenleader ", "comma", "hyphen", "period", "fraction", 939 "exclamsmall",
361 "zerooldstyle", "oneoldstyle", "twooldstyle", "threeoldstyle", "fouroldstyle ", "fiveoldstyle", "sixoldstyle", "sevenoldstyle", 940 "Hungarumlautsmall",
362 "eightoldstyle", "nineoldstyle", "colon", "semicolon", NULL, "threequarterse mdash", NULL, "questionsmall", 941 "centoldstyle",
363 NULL, NULL, NULL, NULL, "Ethsmall", NULL, NULL, "onequarter", 942 "dollaroldstyle",
364 "onehalf", "threequarters", "oneeighth", "threeeighths", "fiveeighths", "sev eneighths", "onethird", "twothirds", 943 "dollarsuperior",
365 NULL, NULL, NULL, NULL, NULL, NULL, "ff", "fi", 944 "ampersandsmall",
366 "fl", "ffi", "ffl", "parenleftinferior", NULL, "parenrightinferior", "Circum flexsmall", "hypheninferior", 945 "Acutesmall",
367 "Gravesmall", "Asmall", "Bsmall", "Csmall", "Dsmall", "Esmall", "Fsmall", "G small", 946 "parenleftsuperior",
368 "Hsmall", "Ismall", "Jsmall", "Ksmall", "Lsmall", "Msmall", "Nsmall", "Osmal l", 947 "parenrightsuperior",
369 "Psmall", "Qsmall", "Rsmall", "Ssmall", "Tsmall", "Usmall", "Vsmall", "Wsmal l", 948 "twodotenleader",
370 "Xsmall", "Ysmall", "Zsmall", "colonmonetary", "onefitted", "rupiah", "Tilde small", NULL, 949 "onedotenleader",
371 NULL, "asuperior", "centsuperior", NULL, NULL, NULL, NULL, "Aacutesmall", 950 "comma",
372 "Agravesmall", "Acircumflexsmall", "Adieresissmall", "Atildesmall", "Aringsm all", "Ccedillasmall", "Eacutesmall", "Egravesmall", 951 "hyphen",
373 "Ecircumflexsmall", "Edieresissmall", "Iacutesmall", "Igravesmall", "Icircum flexsmall", "Idieresissmall", "Ntildesmall", "Oacutesmall", 952 "period",
374 "Ogravesmall", "Ocircumflexsmall", "Odieresissmall", "Otildesmall", "Uacutes mall", "Ugravesmall", "Ucircumflexsmall", "Udieresissmall", 953 "fraction",
375 NULL, "eightsuperior", "fourinferior", "threeinferior", "sixinferior", "eigh tinferior", "seveninferior", "Scaronsmall", 954 "zerooldstyle",
376 NULL, "centinferior", "twoinferior", NULL, "Dieresissmall", NULL, "Caronsmal l", "Scaronsmall", 955 "oneoldstyle",
377 "fiveinferior", NULL, "commainferior", "periodinferior", "Yacutesmall", NULL , "dollarinferior", NULL, 956 "twooldstyle",
378 NULL, "Thornsmall", NULL, "nineinferior", "zeroinferior", "Zcaronsmall", "AE small", "Oslashsmall", 957 "threeoldstyle",
379 "questiondownsmall", "oneinferior", "asuperior", NULL, NULL, NULL, NULL, NUL L, 958 "fouroldstyle",
380 NULL, "Cedillasmall", NULL, NULL, NULL, NULL, NULL, "OEsmall", 959 "fiveoldstyle",
381 "figuredash", "hyphensuperior", NULL, NULL, NULL, NULL, "exclamdownsmall", N ULL, 960 "sixoldstyle",
382 "Ydieresissmall", NULL, "onesuperior", "twosuperior", "threesuperior", "four superior", "fivesuperior", "sixsuperior", 961 "sevenoldstyle",
383 "sevensuperior", "ninesuperior", "zerosuperior", NULL, "esuperior", "rsuperi or", NULL, NULL, 962 "eightoldstyle",
384 NULL, "isuperior", "ssuperior", "dsuperior", NULL, NULL, NULL, NULL, 963 "nineoldstyle",
385 NULL, "lsuperior", "Ogoneksmall", "Brevesmall", "Macronsmall", "bsuperior", "nsuperior", "msuperior", 964 "colon",
386 "commasuperior", "periodsuperior", "Dotaccentsmall", "Ringsmall", NULL, NULL , NULL, NULL, 965 "semicolon",
966 NULL,
967 "threequartersemdash",
968 NULL,
969 "questionsmall",
970 NULL,
971 NULL,
972 NULL,
973 NULL,
974 "Ethsmall",
975 NULL,
976 NULL,
977 "onequarter",
978 "onehalf",
979 "threequarters",
980 "oneeighth",
981 "threeeighths",
982 "fiveeighths",
983 "seveneighths",
984 "onethird",
985 "twothirds",
986 NULL,
987 NULL,
988 NULL,
989 NULL,
990 NULL,
991 NULL,
992 "ff",
993 "fi",
994 "fl",
995 "ffi",
996 "ffl",
997 "parenleftinferior",
998 NULL,
999 "parenrightinferior",
1000 "Circumflexsmall",
1001 "hypheninferior",
1002 "Gravesmall",
1003 "Asmall",
1004 "Bsmall",
1005 "Csmall",
1006 "Dsmall",
1007 "Esmall",
1008 "Fsmall",
1009 "Gsmall",
1010 "Hsmall",
1011 "Ismall",
1012 "Jsmall",
1013 "Ksmall",
1014 "Lsmall",
1015 "Msmall",
1016 "Nsmall",
1017 "Osmall",
1018 "Psmall",
1019 "Qsmall",
1020 "Rsmall",
1021 "Ssmall",
1022 "Tsmall",
1023 "Usmall",
1024 "Vsmall",
1025 "Wsmall",
1026 "Xsmall",
1027 "Ysmall",
1028 "Zsmall",
1029 "colonmonetary",
1030 "onefitted",
1031 "rupiah",
1032 "Tildesmall",
1033 NULL,
1034 NULL,
1035 "asuperior",
1036 "centsuperior",
1037 NULL,
1038 NULL,
1039 NULL,
1040 NULL,
1041 "Aacutesmall",
1042 "Agravesmall",
1043 "Acircumflexsmall",
1044 "Adieresissmall",
1045 "Atildesmall",
1046 "Aringsmall",
1047 "Ccedillasmall",
1048 "Eacutesmall",
1049 "Egravesmall",
1050 "Ecircumflexsmall",
1051 "Edieresissmall",
1052 "Iacutesmall",
1053 "Igravesmall",
1054 "Icircumflexsmall",
1055 "Idieresissmall",
1056 "Ntildesmall",
1057 "Oacutesmall",
1058 "Ogravesmall",
1059 "Ocircumflexsmall",
1060 "Odieresissmall",
1061 "Otildesmall",
1062 "Uacutesmall",
1063 "Ugravesmall",
1064 "Ucircumflexsmall",
1065 "Udieresissmall",
1066 NULL,
1067 "eightsuperior",
1068 "fourinferior",
1069 "threeinferior",
1070 "sixinferior",
1071 "eightinferior",
1072 "seveninferior",
1073 "Scaronsmall",
1074 NULL,
1075 "centinferior",
1076 "twoinferior",
1077 NULL,
1078 "Dieresissmall",
1079 NULL,
1080 "Caronsmall",
1081 "Scaronsmall",
1082 "fiveinferior",
1083 NULL,
1084 "commainferior",
1085 "periodinferior",
1086 "Yacutesmall",
1087 NULL,
1088 "dollarinferior",
1089 NULL,
1090 NULL,
1091 "Thornsmall",
1092 NULL,
1093 "nineinferior",
1094 "zeroinferior",
1095 "Zcaronsmall",
1096 "AEsmall",
1097 "Oslashsmall",
1098 "questiondownsmall",
1099 "oneinferior",
1100 "asuperior",
1101 NULL,
1102 NULL,
1103 NULL,
1104 NULL,
1105 NULL,
1106 NULL,
1107 "Cedillasmall",
1108 NULL,
1109 NULL,
1110 NULL,
1111 NULL,
1112 NULL,
1113 "OEsmall",
1114 "figuredash",
1115 "hyphensuperior",
1116 NULL,
1117 NULL,
1118 NULL,
1119 NULL,
1120 "exclamdownsmall",
1121 NULL,
1122 "Ydieresissmall",
1123 NULL,
1124 "onesuperior",
1125 "twosuperior",
1126 "threesuperior",
1127 "foursuperior",
1128 "fivesuperior",
1129 "sixsuperior",
1130 "sevensuperior",
1131 "ninesuperior",
1132 "zerosuperior",
1133 NULL,
1134 "esuperior",
1135 "rsuperior",
1136 NULL,
1137 NULL,
1138 NULL,
1139 "isuperior",
1140 "ssuperior",
1141 "dsuperior",
1142 NULL,
1143 NULL,
1144 NULL,
1145 NULL,
1146 NULL,
1147 "lsuperior",
1148 "Ogoneksmall",
1149 "Brevesmall",
1150 "Macronsmall",
1151 "bsuperior",
1152 "nsuperior",
1153 "msuperior",
1154 "commasuperior",
1155 "periodsuperior",
1156 "Dotaccentsmall",
1157 "Ringsmall",
1158 NULL,
1159 NULL,
1160 NULL,
1161 NULL,
387 }; 1162 };
388 static const FX_CHAR* const PDFDocEncodingNames[232] = { 1163 static const FX_CHAR* const PDFDocEncodingNames[232] = {
389 "breve", "caron", "circumflex", "dotaccent", "hungarumlaut", "ogonek", "ring ", "tilde", 1164 "breve",
390 "space", "exclam", "quotedbl", "numbersign", "dollar", "percent", "ampersand ", "quotesingle", 1165 "caron",
391 "parenleft", "parenright", "asterisk", "plus", "comma", "hyphen", "period", "slash", 1166 "circumflex",
392 "zero", "one", "two", "three", "four", "five", "six", "seven", 1167 "dotaccent",
393 "eight", "nine", "colon", "semicolon", "less", "equal", "greater", "question ", 1168 "hungarumlaut",
394 "at", "A", "B", "C", "D", "E", "F", "G", 1169 "ogonek",
395 "H", "I", "J", "K", "L", "M", "N", "O", 1170 "ring",
396 "P", "Q", "R", "S", "T", "U", "V", "W", 1171 "tilde",
397 "X", "Y", "Z", "bracketleft", "backslash", "bracketright", "asciicircum", "u nderscore", 1172 "space",
398 "grave", "a", "b", "c", "d", "e", "f", "g", 1173 "exclam",
399 "h", "i", "j", "k", "l", "m", "n", "o", 1174 "quotedbl",
400 "p", "q", "r", "s", "t", "u", "v", "w", 1175 "numbersign",
401 "x", "y", "z", "braceleft", "bar", "braceright", "asciitilde", NULL, 1176 "dollar",
402 "bullet3", "dagger", "daggerdbl", "ellipsis", "emdash", "endash", "florin", "fraction", 1177 "percent",
403 "guilsinglleft", "guilsinglright", "minus", "perthousand", "quotedblbase", " quotedblleft", "quotedblright", "quoteleft", 1178 "ampersand",
404 "quoteright", "quotesinglbase", "trademark", "fi", "fl", "Lslash", "OE", "Sc aron", 1179 "quotesingle",
405 "Ydieresis", "Zcaron2", "dotlessi", "lslash", "oe", "scaron", "zcaron2", NUL L, 1180 "parenleft",
406 "Euro", "exclamdown", "cent", "sterling", "currency", "yen", "brokenbar", "s ection", 1181 "parenright",
407 "dieresis", "copyright", "ordfeminine", "guillemotleft4", "logicalnot", NULL , "registered", "macron", 1182 "asterisk",
408 "degree", "plusminus", "twosuperior", "threesuperior", "acute", "mu", "parag raph", "periodcentered", 1183 "plus",
409 "cedilla", "onesuperior", "ordmasculine", "guillemotright4", "onequarter", " onehalf", "threequarters", "questiondown", 1184 "comma",
410 "Agrave", "Aacute", "Acircumflex", "Atilde", "Adieresis", "Aring", "AE", "Cc edilla", 1185 "hyphen",
411 "Egrave", "Eacute", "Ecircumflex", "Edieresis", "Igrave", "Iacute", "Icircum flex", "Idieresis", 1186 "period",
412 "Eth", "Ntilde", "Ograve", "Oacute", "Ocircumflex", "Otilde", "Odieresis", " multiply", 1187 "slash",
413 "Oslash", "Ugrave", "Uacute", "Ucircumflex", "Udieresis", "Yacute", "Thorn", "germandbls", 1188 "zero",
414 "agrave", "aacute", "acircumflex", "atilde", "adieresis", "aring", "ae", "cc edilla", 1189 "one",
415 "egrave", "eacute", "ecircumflex", "edieresis", "igrave", "iacute", "icircum flex", "idieresis", 1190 "two",
416 "eth", "ntilde", "ograve", "oacute", "ocircumflex", "otilde", "odieresis", " divide", 1191 "three",
417 "oslash", "ugrave", "uacute", "ucircumflex", "udieresis", "yacute", "thorn", "ydieresis", 1192 "four",
1193 "five",
1194 "six",
1195 "seven",
1196 "eight",
1197 "nine",
1198 "colon",
1199 "semicolon",
1200 "less",
1201 "equal",
1202 "greater",
1203 "question",
1204 "at",
1205 "A",
1206 "B",
1207 "C",
1208 "D",
1209 "E",
1210 "F",
1211 "G",
1212 "H",
1213 "I",
1214 "J",
1215 "K",
1216 "L",
1217 "M",
1218 "N",
1219 "O",
1220 "P",
1221 "Q",
1222 "R",
1223 "S",
1224 "T",
1225 "U",
1226 "V",
1227 "W",
1228 "X",
1229 "Y",
1230 "Z",
1231 "bracketleft",
1232 "backslash",
1233 "bracketright",
1234 "asciicircum",
1235 "underscore",
1236 "grave",
1237 "a",
1238 "b",
1239 "c",
1240 "d",
1241 "e",
1242 "f",
1243 "g",
1244 "h",
1245 "i",
1246 "j",
1247 "k",
1248 "l",
1249 "m",
1250 "n",
1251 "o",
1252 "p",
1253 "q",
1254 "r",
1255 "s",
1256 "t",
1257 "u",
1258 "v",
1259 "w",
1260 "x",
1261 "y",
1262 "z",
1263 "braceleft",
1264 "bar",
1265 "braceright",
1266 "asciitilde",
1267 NULL,
1268 "bullet3",
1269 "dagger",
1270 "daggerdbl",
1271 "ellipsis",
1272 "emdash",
1273 "endash",
1274 "florin",
1275 "fraction",
1276 "guilsinglleft",
1277 "guilsinglright",
1278 "minus",
1279 "perthousand",
1280 "quotedblbase",
1281 "quotedblleft",
1282 "quotedblright",
1283 "quoteleft",
1284 "quoteright",
1285 "quotesinglbase",
1286 "trademark",
1287 "fi",
1288 "fl",
1289 "Lslash",
1290 "OE",
1291 "Scaron",
1292 "Ydieresis",
1293 "Zcaron2",
1294 "dotlessi",
1295 "lslash",
1296 "oe",
1297 "scaron",
1298 "zcaron2",
1299 NULL,
1300 "Euro",
1301 "exclamdown",
1302 "cent",
1303 "sterling",
1304 "currency",
1305 "yen",
1306 "brokenbar",
1307 "section",
1308 "dieresis",
1309 "copyright",
1310 "ordfeminine",
1311 "guillemotleft4",
1312 "logicalnot",
1313 NULL,
1314 "registered",
1315 "macron",
1316 "degree",
1317 "plusminus",
1318 "twosuperior",
1319 "threesuperior",
1320 "acute",
1321 "mu",
1322 "paragraph",
1323 "periodcentered",
1324 "cedilla",
1325 "onesuperior",
1326 "ordmasculine",
1327 "guillemotright4",
1328 "onequarter",
1329 "onehalf",
1330 "threequarters",
1331 "questiondown",
1332 "Agrave",
1333 "Aacute",
1334 "Acircumflex",
1335 "Atilde",
1336 "Adieresis",
1337 "Aring",
1338 "AE",
1339 "Ccedilla",
1340 "Egrave",
1341 "Eacute",
1342 "Ecircumflex",
1343 "Edieresis",
1344 "Igrave",
1345 "Iacute",
1346 "Icircumflex",
1347 "Idieresis",
1348 "Eth",
1349 "Ntilde",
1350 "Ograve",
1351 "Oacute",
1352 "Ocircumflex",
1353 "Otilde",
1354 "Odieresis",
1355 "multiply",
1356 "Oslash",
1357 "Ugrave",
1358 "Uacute",
1359 "Ucircumflex",
1360 "Udieresis",
1361 "Yacute",
1362 "Thorn",
1363 "germandbls",
1364 "agrave",
1365 "aacute",
1366 "acircumflex",
1367 "atilde",
1368 "adieresis",
1369 "aring",
1370 "ae",
1371 "ccedilla",
1372 "egrave",
1373 "eacute",
1374 "ecircumflex",
1375 "edieresis",
1376 "igrave",
1377 "iacute",
1378 "icircumflex",
1379 "idieresis",
1380 "eth",
1381 "ntilde",
1382 "ograve",
1383 "oacute",
1384 "ocircumflex",
1385 "otilde",
1386 "odieresis",
1387 "divide",
1388 "oslash",
1389 "ugrave",
1390 "uacute",
1391 "ucircumflex",
1392 "udieresis",
1393 "yacute",
1394 "thorn",
1395 "ydieresis",
418 }; 1396 };
419 static const FX_CHAR* const AdobeSymbolEncodingNames[224] = { 1397 static const FX_CHAR* const AdobeSymbolEncodingNames[224] = {
420 "space", "exclam", "universal", "numbersign", "existential", "percent", "amp ersand", "suchthat", 1398 "space",
421 "parenleft", "parenright", "asteriskmath", "plus", "comma", "minus", "period ", "slash", 1399 "exclam",
422 "zero", "one", "two", "three", "four", "five", "six", "seven", 1400 "universal",
423 "eight", "nine", "colon", "semicolon", "less", "equal", "greater", "question ", 1401 "numbersign",
424 "congruent", "Alpha", "Beta", "Chi", "Delta", "Epsilon", "Phi", "Gamma", 1402 "existential",
425 "Eta", "Iota", "theta1", "Kappa", "Lambda", "Mu", "Nu", "Omicron", 1403 "percent",
426 "Pi", "Theta", "Rho", "Sigma", "Tau", "Upsilon", "sigma1", "Omega", 1404 "ampersand",
427 "Xi", "Psi", "Zeta", "bracketleft", "therefore", "bracketright", "perpendicu lar", "underscore", 1405 "suchthat",
428 "radicalex", "alpha", "beta", "chi", "delta", "epsilon", "phi", "gamma", 1406 "parenleft",
429 "eta", "iota", "phi1", "kappa", "lambda", "mu", "nu", "omicron", 1407 "parenright",
430 "pi", "theta", "rho", "sigma", "tau", "upsilon", "omega1", "omega", 1408 "asteriskmath",
431 "xi", "psi", "zeta", "braceleft", "bar", "braceright", "similar", NULL, 1409 "plus",
432 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1410 "comma",
433 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1411 "minus",
434 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1412 "period",
435 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1413 "slash",
436 "Euro", "Upsilon1", "minute", "lessequal", "fraction", "infinity", "florin", "club", 1414 "zero",
437 "diamond", "heart", "spade", "arrowboth", "arrowleft", "arrowup", "arrowrigh t", "arrowdown", 1415 "one",
438 "degree", "plusminus", "second", "greaterequal", "multiply", "proportional", "partialdiff", "bullet", 1416 "two",
439 "divide", "notequal", "equivalence", "approxequal", "ellipsis", "arrowvertex ", "arrowhorizex", "carriagereturn", 1417 "three",
440 "aleph", "Ifraktur", "Rfraktur", "weierstrass", "circlemultiply", "circleplu s", "emptyset", "intersection", 1418 "four",
441 "union", "propersuperset", "reflexsuperset", "notsubset", "propersubset", "r eflexsubset", "element", "notelement", 1419 "five",
442 "angle", "gradient", "registerserif", "copyrightserif", "trademarkserif", "p roduct", "radical", "dotmath", 1420 "six",
443 "logicalnot", "logicaland", "logicalor", "arrowdblboth", "arrowdblleft", "ar rowdblup", "arrowdblright", "arrowdbldown", 1421 "seven",
444 "lozenge", "angleleft", "registersans", "copyrightsans", "trademarksans", "s ummation", "parenlefttp", "parenleftex", 1422 "eight",
445 "parenleftbt", "bracketlefttp", "bracketleftex", "bracketleftbt", "braceleft tp", "braceleftmid", "braceleftbt", "braceex", 1423 "nine",
446 NULL, "angleright", "integral", "integraltp", "integralex", "integralbt", "p arenrighttp", "parenrightex", 1424 "colon",
447 "parenrightbt", "bracketrighttp", "bracketrightex", "bracketrightbt", "brace righttp", "bracerightmid", "bracerightbt", NULL, 1425 "semicolon",
1426 "less",
1427 "equal",
1428 "greater",
1429 "question",
1430 "congruent",
1431 "Alpha",
1432 "Beta",
1433 "Chi",
1434 "Delta",
1435 "Epsilon",
1436 "Phi",
1437 "Gamma",
1438 "Eta",
1439 "Iota",
1440 "theta1",
1441 "Kappa",
1442 "Lambda",
1443 "Mu",
1444 "Nu",
1445 "Omicron",
1446 "Pi",
1447 "Theta",
1448 "Rho",
1449 "Sigma",
1450 "Tau",
1451 "Upsilon",
1452 "sigma1",
1453 "Omega",
1454 "Xi",
1455 "Psi",
1456 "Zeta",
1457 "bracketleft",
1458 "therefore",
1459 "bracketright",
1460 "perpendicular",
1461 "underscore",
1462 "radicalex",
1463 "alpha",
1464 "beta",
1465 "chi",
1466 "delta",
1467 "epsilon",
1468 "phi",
1469 "gamma",
1470 "eta",
1471 "iota",
1472 "phi1",
1473 "kappa",
1474 "lambda",
1475 "mu",
1476 "nu",
1477 "omicron",
1478 "pi",
1479 "theta",
1480 "rho",
1481 "sigma",
1482 "tau",
1483 "upsilon",
1484 "omega1",
1485 "omega",
1486 "xi",
1487 "psi",
1488 "zeta",
1489 "braceleft",
1490 "bar",
1491 "braceright",
1492 "similar",
1493 NULL,
1494 NULL,
1495 NULL,
1496 NULL,
1497 NULL,
1498 NULL,
1499 NULL,
1500 NULL,
1501 NULL,
1502 NULL,
1503 NULL,
1504 NULL,
1505 NULL,
1506 NULL,
1507 NULL,
1508 NULL,
1509 NULL,
1510 NULL,
1511 NULL,
1512 NULL,
1513 NULL,
1514 NULL,
1515 NULL,
1516 NULL,
1517 NULL,
1518 NULL,
1519 NULL,
1520 NULL,
1521 NULL,
1522 NULL,
1523 NULL,
1524 NULL,
1525 NULL,
1526 "Euro",
1527 "Upsilon1",
1528 "minute",
1529 "lessequal",
1530 "fraction",
1531 "infinity",
1532 "florin",
1533 "club",
1534 "diamond",
1535 "heart",
1536 "spade",
1537 "arrowboth",
1538 "arrowleft",
1539 "arrowup",
1540 "arrowright",
1541 "arrowdown",
1542 "degree",
1543 "plusminus",
1544 "second",
1545 "greaterequal",
1546 "multiply",
1547 "proportional",
1548 "partialdiff",
1549 "bullet",
1550 "divide",
1551 "notequal",
1552 "equivalence",
1553 "approxequal",
1554 "ellipsis",
1555 "arrowvertex",
1556 "arrowhorizex",
1557 "carriagereturn",
1558 "aleph",
1559 "Ifraktur",
1560 "Rfraktur",
1561 "weierstrass",
1562 "circlemultiply",
1563 "circleplus",
1564 "emptyset",
1565 "intersection",
1566 "union",
1567 "propersuperset",
1568 "reflexsuperset",
1569 "notsubset",
1570 "propersubset",
1571 "reflexsubset",
1572 "element",
1573 "notelement",
1574 "angle",
1575 "gradient",
1576 "registerserif",
1577 "copyrightserif",
1578 "trademarkserif",
1579 "product",
1580 "radical",
1581 "dotmath",
1582 "logicalnot",
1583 "logicaland",
1584 "logicalor",
1585 "arrowdblboth",
1586 "arrowdblleft",
1587 "arrowdblup",
1588 "arrowdblright",
1589 "arrowdbldown",
1590 "lozenge",
1591 "angleleft",
1592 "registersans",
1593 "copyrightsans",
1594 "trademarksans",
1595 "summation",
1596 "parenlefttp",
1597 "parenleftex",
1598 "parenleftbt",
1599 "bracketlefttp",
1600 "bracketleftex",
1601 "bracketleftbt",
1602 "bracelefttp",
1603 "braceleftmid",
1604 "braceleftbt",
1605 "braceex",
1606 NULL,
1607 "angleright",
1608 "integral",
1609 "integraltp",
1610 "integralex",
1611 "integralbt",
1612 "parenrighttp",
1613 "parenrightex",
1614 "parenrightbt",
1615 "bracketrighttp",
1616 "bracketrightex",
1617 "bracketrightbt",
1618 "bracerighttp",
1619 "bracerightmid",
1620 "bracerightbt",
1621 NULL,
448 }; 1622 };
449 static const FX_CHAR* const ZapfEncodingNames[224] = { 1623 static const FX_CHAR* const ZapfEncodingNames[224] = {
450 "space", "a1", "a2", "a202", "a3", "a4", "a5", "a119", 1624 "space", "a1", "a2", "a202", "a3", "a4", "a5", "a119", "a118",
451 "a118", "a117", "a11", "a12", "a13", "a14", "a15", "a16", 1625 "a117", "a11", "a12", "a13", "a14", "a15", "a16", "a105", "a17",
452 "a105", "a17", "a18", "a19", "a20", "a21", "a22", "a23", 1626 "a18", "a19", "a20", "a21", "a22", "a23", "a24", "a25", "a26",
453 "a24", "a25", "a26", "a27", "a28", "a6", "a7", "a8", 1627 "a27", "a28", "a6", "a7", "a8", "a9", "a10", "a29", "a30",
454 "a9", "a10", "a29", "a30", "a31", "a32", "a33", "a34", 1628 "a31", "a32", "a33", "a34", "a35", "a36", "a37", "a38", "a39",
455 "a35", "a36", "a37", "a38", "a39", "a40", "a41", "a42", 1629 "a40", "a41", "a42", "a43", "a44", "a45", "a46", "a47", "a48",
456 "a43", "a44", "a45", "a46", "a47", "a48", "a49", "a50", 1630 "a49", "a50", "a51", "a52", "a53", "a54", "a55", "a56", "a57",
457 "a51", "a52", "a53", "a54", "a55", "a56", "a57", "a58", 1631 "a58", "a59", "a60", "a61", "a62", "a63", "a64", "a65", "a66",
458 "a59", "a60", "a61", "a62", "a63", "a64", "a65", "a66", 1632 "a67", "a68", "a69", "a70", "a71", "a72", "a73", "a74", "a203",
459 "a67", "a68", "a69", "a70", "a71", "a72", "a73", "a74", 1633 "a75", "a204", "a76", "a77", "a78", "a79", "a81", "a82", "a83",
460 "a203", "a75", "a204", "a76", "a77", "a78", "a79", "a81", 1634 "a84", "a97", "a98", "a99", "a100", NULL, "a89", "a90", "a93",
461 "a82", "a83", "a84", "a97", "a98", "a99", "a100", NULL, 1635 "a94", "a91", "a92", "a205", "a85", "a206", "a86", "a87", "a88",
462 "a89", "a90", "a93", "a94", "a91", "a92", "a205", "a85", 1636 "a95", "a96", NULL, NULL, NULL, NULL, NULL, NULL, NULL,
463 "a206", "a86", "a87", "a88", "a95", "a96", NULL, NULL, 1637 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
464 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1638 NULL, NULL, NULL, "a101", "a102", "a103", "a104", "a106", "a107",
465 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1639 "a108", "a112", "a111", "a110", "a109", "a120", "a121", "a122", "a123",
466 NULL, "a101", "a102", "a103", "a104", "a106", "a107", "a108", 1640 "a124", "a125", "a126", "a127", "a128", "a129", "a130", "a131", "a132",
467 "a112", "a111", "a110", "a109", "a120", "a121", "a122", "a123", 1641 "a133", "a134", "a135", "a136", "a137", "a138", "a139", "a140", "a141",
468 "a124", "a125", "a126", "a127", "a128", "a129", "a130", "a131", 1642 "a142", "a143", "a144", "a145", "a146", "a147", "a148", "a149", "a150",
469 "a132", "a133", "a134", "a135", "a136", "a137", "a138", "a139", 1643 "a151", "a152", "a153", "a154", "a155", "a156", "a157", "a158", "a159",
470 "a140", "a141", "a142", "a143", "a144", "a145", "a146", "a147", 1644 "a160", "a161", "a163", "a164", "a196", "a165", "a192", "a166", "a167",
471 "a148", "a149", "a150", "a151", "a152", "a153", "a154", "a155", 1645 "a168", "a169", "a170", "a171", "a172", "a173", "a162", "a174", "a175",
472 "a156", "a157", "a158", "a159", "a160", "a161", "a163", "a164", 1646 "a176", "a177", "a178", "a179", "a193", "a180", "a199", "a181", "a200",
473 "a196", "a165", "a192", "a166", "a167", "a168", "a169", "a170", 1647 "a182", NULL, "a201", "a183", "a184", "a197", "a185", "a194", "a198",
474 "a171", "a172", "a173", "a162", "a174", "a175", "a176", "a177", 1648 "a186", "a195", "a187", "a188", "a189", "a190", "a191", NULL};
475 "a178", "a179", "a193", "a180", "a199", "a181", "a200", "a182", 1649 const FX_CHAR* PDF_CharNameFromPredefinedCharSet(int encoding,
476 NULL, "a201", "a183", "a184", "a197", "a185", "a194", "a198", 1650 uint8_t charcode) {
477 "a186", "a195", "a187", "a188", "a189", "a190", "a191", NULL 1651 if (encoding == PDFFONT_ENCODING_PDFDOC) {
478 }; 1652 if (charcode < 24) {
479 const FX_CHAR* PDF_CharNameFromPredefinedCharSet(int encoding, uint8_t charcode ) 1653 return NULL;
480 {
481 if (encoding == PDFFONT_ENCODING_PDFDOC) {
482 if (charcode < 24) {
483 return NULL;
484 }
485 charcode -= 24;
486 } else {
487 if (charcode < 32) {
488 return NULL;
489 }
490 charcode -= 32;
491 } 1654 }
492 switch (encoding) { 1655 charcode -= 24;
493 case PDFFONT_ENCODING_WINANSI: 1656 } else {
494 return AdobeWinAnsiEncodingNames[charcode]; 1657 if (charcode < 32) {
495 case PDFFONT_ENCODING_MACROMAN: 1658 return NULL;
496 return MacRomanEncodingNames[charcode];
497 case PDFFONT_ENCODING_MACEXPERT:
498 return MacExpertEncodingNames[charcode];
499 case PDFFONT_ENCODING_STANDARD:
500 return StandardEncodingNames[charcode];
501 case PDFFONT_ENCODING_ADOBE_SYMBOL:
502 return AdobeSymbolEncodingNames[charcode];
503 case PDFFONT_ENCODING_ZAPFDINGBATS:
504 return ZapfEncodingNames[charcode];
505 case PDFFONT_ENCODING_PDFDOC:
506 return PDFDocEncodingNames[charcode];
507 } 1659 }
508 return NULL; 1660 charcode -= 32;
1661 }
1662 switch (encoding) {
1663 case PDFFONT_ENCODING_WINANSI:
1664 return AdobeWinAnsiEncodingNames[charcode];
1665 case PDFFONT_ENCODING_MACROMAN:
1666 return MacRomanEncodingNames[charcode];
1667 case PDFFONT_ENCODING_MACEXPERT:
1668 return MacExpertEncodingNames[charcode];
1669 case PDFFONT_ENCODING_STANDARD:
1670 return StandardEncodingNames[charcode];
1671 case PDFFONT_ENCODING_ADOBE_SYMBOL:
1672 return AdobeSymbolEncodingNames[charcode];
1673 case PDFFONT_ENCODING_ZAPFDINGBATS:
1674 return ZapfEncodingNames[charcode];
1675 case PDFFONT_ENCODING_PDFDOC:
1676 return PDFDocEncodingNames[charcode];
1677 }
1678 return NULL;
509 } 1679 }
510 FX_WCHAR FT_UnicodeFromCharCode(int encoding, FX_DWORD charcode) 1680 FX_WCHAR FT_UnicodeFromCharCode(int encoding, FX_DWORD charcode) {
511 { 1681 switch (encoding) {
512 switch (encoding) { 1682 case FXFT_ENCODING_UNICODE:
513 case FXFT_ENCODING_UNICODE: 1683 return (FX_WORD)charcode;
514 return (FX_WORD)charcode; 1684 case FXFT_ENCODING_ADOBE_STANDARD:
515 case FXFT_ENCODING_ADOBE_STANDARD: 1685 return StandardEncoding[(uint8_t)charcode];
516 return StandardEncoding[(uint8_t)charcode]; 1686 case FXFT_ENCODING_ADOBE_EXPERT:
517 case FXFT_ENCODING_ADOBE_EXPERT: 1687 return MacExpertEncoding[(uint8_t)charcode];
518 return MacExpertEncoding[(uint8_t)charcode]; 1688 case FXFT_ENCODING_ADOBE_LATIN_1:
519 case FXFT_ENCODING_ADOBE_LATIN_1: 1689 return AdobeWinAnsiEncoding[(uint8_t)charcode];
520 return AdobeWinAnsiEncoding[(uint8_t)charcode]; 1690 case FXFT_ENCODING_APPLE_ROMAN:
521 case FXFT_ENCODING_APPLE_ROMAN: 1691 return MacRomanEncoding[(uint8_t)charcode];
522 return MacRomanEncoding[(uint8_t)charcode]; 1692 case PDFFONT_ENCODING_PDFDOC:
523 case PDFFONT_ENCODING_PDFDOC: 1693 return PDFDocEncoding[(uint8_t)charcode];
524 return PDFDocEncoding[(uint8_t)charcode]; 1694 }
1695 return 0;
1696 }
1697 static FX_DWORD PDF_FindCode(const FX_WORD* pCodes, FX_WORD unicode) {
1698 for (FX_DWORD i = 0; i < 256; i++)
1699 if (pCodes[i] == unicode) {
1700 return i;
525 } 1701 }
526 return 0; 1702 return 0;
527 }
528 static FX_DWORD PDF_FindCode(const FX_WORD* pCodes, FX_WORD unicode)
529 {
530 for (FX_DWORD i = 0; i < 256; i ++)
531 if (pCodes[i] == unicode) {
532 return i;
533 }
534 return 0;
535 } 1703 }
536 static const FX_WORD MSSymbolEncoding[256] = { 1704 static const FX_WORD MSSymbolEncoding[256] = {
537 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00 00, 1705 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
538 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00 00, 1706 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
539 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00 00, 1707 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
540 0x0000, 0x0000, 32, 33, 8704, 35, 8707, 37, 38, 8715, 1708 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 32, 33, 8704, 35,
541 40, 41, 8727, 43, 44, 8722, 46, 47, 48, 49, 1709 8707, 37, 38, 8715, 40, 41, 8727, 43, 44,
542 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 1710 8722, 46, 47, 48, 49, 50, 51, 52, 53,
543 60, 61, 62, 63, 8773, 913, 914, 935, 916, 917, 1711 54, 55, 56, 57, 58, 59, 60, 61, 62,
544 934, 915, 919, 921, 977, 922, 923, 924, 925, 927, 1712 63, 8773, 913, 914, 935, 916, 917, 934, 915,
545 928, 920, 929, 931, 932, 933, 962, 937, 926, 936, 1713 919, 921, 977, 922, 923, 924, 925, 927, 928,
546 918, 91, 8756, 93, 8869, 95, 8254, 945, 946, 967, 1714 920, 929, 931, 932, 933, 962, 937, 926, 936,
547 948, 949, 966, 947, 951, 953, 981, 954, 955, 956, 1715 918, 91, 8756, 93, 8869, 95, 8254, 945, 946,
548 957, 959, 960, 952, 961, 963, 964, 965, 982, 969, 1716 967, 948, 949, 966, 947, 951, 953, 981, 954,
549 958, 968, 950, 123, 124, 125, 8764, 0, 0, 0, 1717 955, 956, 957, 959, 960, 952, 961, 963, 964,
550 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00 00, 1718 965, 982, 969, 958, 968, 950, 123, 124, 125,
551 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00 00, 1719 8764, 0, 0, 0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
552 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00 00, 1720 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
553 0x0000, 978, 8242, 8804, 8725, 8734, 402, 9827, 9830, 9828, 1721 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
554 9824, 8596, 8592, 8593, 8594, 8595, 176, 177, 8243, 8805, 1722 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 978,
555 215, 8733, 8706, 8729, 247, 8800, 8801, 8776, 8943, 0, 1723 8242, 8804, 8725, 8734, 402, 9827, 9830, 9828, 9824,
556 0, 8629, 0, 8465, 8476, 8472, 8855, 8853, 8709, 8745, 1724 8596, 8592, 8593, 8594, 8595, 176, 177, 8243, 8805,
557 8746, 8835, 8839, 8836, 8834, 8838, 8712, 8713, 8736, 8711, 1725 215, 8733, 8706, 8729, 247, 8800, 8801, 8776, 8943,
558 174, 169, 8482, 8719, 8730, 8901, 172, 8743, 8744, 8660, 1726 0, 0, 8629, 0, 8465, 8476, 8472, 8855, 8853,
559 8656, 8657, 8658, 8659, 9674, 9001, 0, 0, 0, 8721, 1727 8709, 8745, 8746, 8835, 8839, 8836, 8834, 8838, 8712,
560 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1728 8713, 8736, 8711, 174, 169, 8482, 8719, 8730, 8901,
561 0x0000, 9002, 8747, 8992, 0, 8993, 0, 0, 0, 0, 1729 172, 8743, 8744, 8660, 8656, 8657, 8658, 8659, 9674,
562 0, 0, 0x0000, 0x0000, 0x0000, 0x0000 1730 9001, 0, 0, 0, 8721, 0, 0, 0, 0,
563 }; 1731 0, 0, 0, 0, 0, 0, 0x0000, 9002, 8747,
564 FX_DWORD FT_CharCodeFromUnicode(int encoding, FX_WCHAR unicode) 1732 8992, 0, 8993, 0, 0, 0, 0, 0, 0,
565 { 1733 0x0000, 0x0000, 0x0000, 0x0000};
566 switch (encoding) { 1734 FX_DWORD FT_CharCodeFromUnicode(int encoding, FX_WCHAR unicode) {
567 case FXFT_ENCODING_UNICODE: 1735 switch (encoding) {
568 return unicode; 1736 case FXFT_ENCODING_UNICODE:
569 case FXFT_ENCODING_ADOBE_STANDARD: 1737 return unicode;
570 return PDF_FindCode(StandardEncoding, unicode); 1738 case FXFT_ENCODING_ADOBE_STANDARD:
571 case FXFT_ENCODING_ADOBE_EXPERT: 1739 return PDF_FindCode(StandardEncoding, unicode);
572 return PDF_FindCode(MacExpertEncoding, unicode); 1740 case FXFT_ENCODING_ADOBE_EXPERT:
573 case FXFT_ENCODING_ADOBE_LATIN_1: 1741 return PDF_FindCode(MacExpertEncoding, unicode);
574 return PDF_FindCode(AdobeWinAnsiEncoding, unicode); 1742 case FXFT_ENCODING_ADOBE_LATIN_1:
575 case FXFT_ENCODING_APPLE_ROMAN: 1743 return PDF_FindCode(AdobeWinAnsiEncoding, unicode);
576 return PDF_FindCode(MacRomanEncoding, unicode); 1744 case FXFT_ENCODING_APPLE_ROMAN:
577 case FXFT_ENCODING_ADOBE_CUSTOM: 1745 return PDF_FindCode(MacRomanEncoding, unicode);
578 return PDF_FindCode(PDFDocEncoding, unicode); 1746 case FXFT_ENCODING_ADOBE_CUSTOM:
579 case FXFT_ENCODING_MS_SYMBOL: 1747 return PDF_FindCode(PDFDocEncoding, unicode);
580 return PDF_FindCode(MSSymbolEncoding, unicode); 1748 case FXFT_ENCODING_MS_SYMBOL:
581 } 1749 return PDF_FindCode(MSSymbolEncoding, unicode);
582 return 0; 1750 }
1751 return 0;
583 } 1752 }
584 const FX_WORD* PDF_UnicodesForPredefinedCharSet(int encoding) 1753 const FX_WORD* PDF_UnicodesForPredefinedCharSet(int encoding) {
585 { 1754 switch (encoding) {
586 switch (encoding) { 1755 case PDFFONT_ENCODING_WINANSI:
587 case PDFFONT_ENCODING_WINANSI: 1756 return AdobeWinAnsiEncoding;
588 return AdobeWinAnsiEncoding; 1757 case PDFFONT_ENCODING_MACROMAN:
589 case PDFFONT_ENCODING_MACROMAN: 1758 return MacRomanEncoding;
590 return MacRomanEncoding; 1759 case PDFFONT_ENCODING_MACEXPERT:
591 case PDFFONT_ENCODING_MACEXPERT: 1760 return MacExpertEncoding;
592 return MacExpertEncoding; 1761 case PDFFONT_ENCODING_STANDARD:
593 case PDFFONT_ENCODING_STANDARD: 1762 return StandardEncoding;
594 return StandardEncoding; 1763 case PDFFONT_ENCODING_ADOBE_SYMBOL:
595 case PDFFONT_ENCODING_ADOBE_SYMBOL: 1764 return AdobeSymbolEncoding;
596 return AdobeSymbolEncoding; 1765 case PDFFONT_ENCODING_ZAPFDINGBATS:
597 case PDFFONT_ENCODING_ZAPFDINGBATS: 1766 return ZapfEncoding;
598 return ZapfEncoding; 1767 case PDFFONT_ENCODING_PDFDOC:
599 case PDFFONT_ENCODING_PDFDOC: 1768 return PDFDocEncoding;
600 return PDFDocEncoding; 1769 case PDFFONT_ENCODING_MS_SYMBOL:
601 case PDFFONT_ENCODING_MS_SYMBOL: 1770 return MSSymbolEncoding;
602 return MSSymbolEncoding; 1771 }
603 } 1772 return NULL;
604 return NULL;
605 } 1773 }
606 FX_DWORD PDF_PredefinedCharCodeFromUnicode(int encoding, FX_WCHAR unicode) 1774 FX_DWORD PDF_PredefinedCharCodeFromUnicode(int encoding, FX_WCHAR unicode) {
607 { 1775 return PDF_FindCode(PDF_UnicodesForPredefinedCharSet(encoding), unicode);
608 return PDF_FindCode(PDF_UnicodesForPredefinedCharSet(encoding), unicode);
609 } 1776 }
610 #ifdef __cplusplus 1777 #ifdef __cplusplus
611 extern "C" { 1778 extern "C" {
612 #endif 1779 #endif
613 extern int FXFT_unicode_from_adobe_name(const char* name); 1780 extern int FXFT_unicode_from_adobe_name(const char* name);
614 extern void FXFT_adobe_name_from_unicode(char* glyph_name, FX_WCHAR unicode); 1781 extern void FXFT_adobe_name_from_unicode(char* glyph_name, FX_WCHAR unicode);
615 #ifdef __cplusplus 1782 #ifdef __cplusplus
616 } 1783 }
617 #endif 1784 #endif
618 FX_WCHAR PDF_UnicodeFromAdobeName(const FX_CHAR* name) 1785 FX_WCHAR PDF_UnicodeFromAdobeName(const FX_CHAR* name) {
619 { 1786 return (FX_WCHAR)(FXFT_unicode_from_adobe_name(name) & 0x7FFFFFFF);
620 return (FX_WCHAR)(FXFT_unicode_from_adobe_name(name) & 0x7FFFFFFF);
621 } 1787 }
622 CFX_ByteString PDF_AdobeNameFromUnicode(FX_WCHAR unicode) 1788 CFX_ByteString PDF_AdobeNameFromUnicode(FX_WCHAR unicode) {
623 { 1789 char glyph_name[64];
624 char glyph_name[64]; 1790 FXFT_adobe_name_from_unicode(glyph_name, unicode);
625 FXFT_adobe_name_from_unicode(glyph_name, unicode); 1791 return CFX_ByteString(glyph_name, -1);
626 return CFX_ByteString(glyph_name, -1);
627 } 1792 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698