this repo has no description
1/*
2 INTLCHAR.h
3
4 Copyright (C) 2010 Paul C. Pratt
5
6 You can redistribute this file and/or modify it under the terms
7 of version 2 of the GNU General Public License as published by
8 the Free Software Foundation. You should have received a copy
9 of the license along with this file; see the file COPYING.
10
11 This file is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 license for more details.
15*/
16
17/*
18 InterNaTionAL CHARacters
19*/
20
21/* master copy of private font data */
22/*
23 Data in commments:
24 Mini vMac Cell name
25 Mac Roman (Octal)
26 windows-1252 code page
27 Unicode
28 plain ascii
29 ClStrAppendSubstCStr encoding
30 HTML character entity
31*/
32LOCALVAR const ui3b CellData[] = {
33 /* kCellUpA 101 0x41 0x0041 'A' 'A' A */
34 0x00, 0x00, 0x00, 0x3C, 0x42, 0x42, 0x42, 0x7E,
35 0x42, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00,
36 /* kCellUpB 102 0x42 0x0042 'B' 'B' B */
37 0x00, 0x00, 0x00, 0x7C, 0x42, 0x42, 0x7C, 0x42,
38 0x42, 0x42, 0x42, 0x7C, 0x00, 0x00, 0x00, 0x00,
39 /* kCellUpC 103 0x43 0x0043 'C' 'C' C */
40 0x00, 0x00, 0x00, 0x3C, 0x42, 0x42, 0x40, 0x40,
41 0x40, 0x40, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00,
42 /* kCellUpD 104 0x44 0x0044 'D' 'D' D */
43 0x00, 0x00, 0x00, 0x7C, 0x42, 0x42, 0x42, 0x42,
44 0x42, 0x42, 0x42, 0x7C, 0x00, 0x00, 0x00, 0x00,
45 /* kCellUpE 105 0x45 0x0045 'E' 'E' E */
46 0x00, 0x00, 0x00, 0x7E, 0x40, 0x40, 0x40, 0x7C,
47 0x40, 0x40, 0x40, 0x7E, 0x00, 0x00, 0x00, 0x00,
48 /* kCellUpF 106 0x46 0x0046 'F' 'F' F */
49 0x00, 0x00, 0x00, 0x7E, 0x40, 0x40, 0x40, 0x7C,
50 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00,
51 /* kCellUpG 107 0x47 0x0047 'G' 'G' G */
52 0x00, 0x00, 0x00, 0x3C, 0x42, 0x40, 0x40, 0x4E,
53 0x42, 0x42, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00,
54 /* kCellUpH 110 0x48 0x0048 'H' 'H' H */
55 0x00, 0x00, 0x00, 0x42, 0x42, 0x42, 0x42, 0x7E,
56 0x42, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00,
57 /* kCellUpI 111 0x49 0x0049 'I' 'I' I */
58 0x00, 0x00, 0x00, 0x08, 0x08, 0x08, 0x08, 0x08,
59 0x08, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00,
60 /* kCellUpJ 112 0x4A 0x004A 'J' 'J' J */
61 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0x02,
62 0x02, 0x42, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00,
63 /* kCellUpK 113 0x4B 0x004B 'K' 'K' K */
64 0x00, 0x00, 0x00, 0x42, 0x44, 0x48, 0x50, 0x60,
65 0x50, 0x48, 0x44, 0x42, 0x00, 0x00, 0x00, 0x00,
66 /* kCellUpL 114 0x4C 0x004C 'L' 'L' L */
67 0x00, 0x00, 0x00, 0x40, 0x40, 0x40, 0x40, 0x40,
68 0x40, 0x40, 0x40, 0x7E, 0x00, 0x00, 0x00, 0x00,
69 /* kCellUpM 115 0x4D 0x004D 'M' 'M' M */
70 0x00, 0x00, 0x00, 0x82, 0xC6, 0xAA, 0x92, 0x82,
71 0x82, 0x82, 0x82, 0x82, 0x00, 0x00, 0x00, 0x00,
72 /* kCellUpN 116 0x4E 0x004E 'N' 'N' N */
73 0x00, 0x00, 0x00, 0x42, 0x42, 0x62, 0x52, 0x4A,
74 0x46, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00,
75 /* kCellUpO 117 0x4F 0x004F 'O' 'O' O */
76 0x00, 0x00, 0x00, 0x3C, 0x42, 0x42, 0x42, 0x42,
77 0x42, 0x42, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00,
78 /* kCellUpP 120 0x50 0x0050 'P' 'P' P */
79 0x00, 0x00, 0x00, 0x7C, 0x42, 0x42, 0x42, 0x7C,
80 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00,
81 /* kCellUpQ 121 0x51 0x0051 'Q' 'Q' Q */
82 0x00, 0x00, 0x00, 0x3C, 0x42, 0x42, 0x42, 0x42,
83 0x42, 0x42, 0x42, 0x3C, 0x10, 0x0C, 0x00, 0x00,
84 /* kCellUpR 122 0x52 0x0052 'R' 'R' R */
85 0x00, 0x00, 0x00, 0x7C, 0x42, 0x42, 0x42, 0x7C,
86 0x42, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00,
87 /* kCellUpS 123 0x53 0x0053 'S' 'S' S */
88 0x00, 0x00, 0x00, 0x3C, 0x42, 0x40, 0x40, 0x3C,
89 0x02, 0x02, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00,
90 /* kCellUpT 124 0x54 0x0054 'T' 'T' T */
91 0x00, 0x00, 0x00, 0x7F, 0x08, 0x08, 0x08, 0x08,
92 0x08, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00,
93 /* kCellUpU 125 0x55 0x0055 'U' 'U' U */
94 0x00, 0x00, 0x00, 0x42, 0x42, 0x42, 0x42, 0x42,
95 0x42, 0x42, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00,
96 /* kCellUpV 126 0x56 0x0056 'V' 'V' V */
97 0x00, 0x00, 0x00, 0x42, 0x42, 0x42, 0x42, 0x44,
98 0x48, 0x50, 0x60, 0x40, 0x00, 0x00, 0x00, 0x00,
99 /* kCellUpW 127 0x57 0x0057 'W' 'W' W */
100 0x00, 0x00, 0x00, 0x42, 0x42, 0x42, 0x42, 0x42,
101 0x42, 0x5A, 0x66, 0x42, 0x00, 0x00, 0x00, 0x00,
102 /* kCellUpX 130 0x58 0x0058 'X' 'X' X */
103 0x00, 0x00, 0x00, 0x42, 0x42, 0x42, 0x24, 0x18,
104 0x24, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00,
105 /* kCellUpY 131 0x59 0x0059 'Y' 'Y' Y */
106 0x00, 0x00, 0x00, 0x22, 0x22, 0x22, 0x22, 0x14,
107 0x08, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00,
108 /* kCellUpZ 132 0x5A 0x005A 'Z' 'Z' Z */
109 0x00, 0x00, 0x00, 0x7E, 0x02, 0x04, 0x08, 0x10,
110 0x20, 0x40, 0x40, 0x7E, 0x00, 0x00, 0x00, 0x00,
111 /* kCellLoA 141 0x61 0x0061 'a' 'a' a */
112 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x42,
113 0x42, 0x42, 0x46, 0x3A, 0x00, 0x00, 0x00, 0x00,
114 /* kCellLoB 142 0x62 0x0062 'b' 'b' b */
115 0x00, 0x00, 0x00, 0x40, 0x40, 0x40, 0x7C, 0x42,
116 0x42, 0x42, 0x42, 0x7C, 0x00, 0x00, 0x00, 0x00,
117 /* kCellLoC 143 0x63 0x0063 'c' 'c' c */
118 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x42,
119 0x40, 0x40, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00,
120 /* kCellLoD 144 0x64 0x0064 'd' 'd' d */
121 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x3E, 0x42,
122 0x42, 0x42, 0x42, 0x3E, 0x00, 0x00, 0x00, 0x00,
123 /* kCellLoE 145 0x65 0x0065 'e' 'e' e */
124 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x42,
125 0x7E, 0x40, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00,
126 /* kCellLoF 146 0x66 0x0066 'f' 'f' f */
127 0x00, 0x00, 0x00, 0x0E, 0x10, 0x10, 0x3C, 0x10,
128 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00,
129 /* kCellLoG 147 0x67 0x0067 'g' 'g' g */
130 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x42,
131 0x42, 0x42, 0x42, 0x3E, 0x02, 0x42, 0x3C, 0x00,
132 /* kCellLoH 150 0x68 0x0068 'h' 'h' h */
133 0x00, 0x00, 0x00, 0x40, 0x40, 0x40, 0x7C, 0x42,
134 0x42, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00,
135 /* kCellLoI 151 0x69 0x0069 'i' 'i' i */
136 0x00, 0x00, 0x00, 0x10, 0x10, 0x00, 0x10, 0x10,
137 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00,
138 /* kCellLoJ 152 0x6A 0x006A 'j' 'j' j */
139 0x00, 0x00, 0x00, 0x08, 0x08, 0x00, 0x08, 0x08,
140 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x70, 0x00,
141 /* kCellLoK 153 0x6B 0x006B 'k' 'k' k */
142 0x00, 0x00, 0x00, 0x40, 0x40, 0x40, 0x44, 0x48,
143 0x70, 0x48, 0x44, 0x42, 0x00, 0x00, 0x00, 0x00,
144 /* kCellLoL 154 0x6C 0x006C 'l' 'l' l */
145 0x00, 0x00, 0x00, 0x08, 0x08, 0x08, 0x08, 0x08,
146 0x08, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00,
147 /* kCellLoM 155 0x6D 0x006D 'm' 'm' m */
148 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x92,
149 0x92, 0x92, 0x92, 0x92, 0x00, 0x00, 0x00, 0x00,
150 /* kCellLoN 156 0x6E 0x006E 'n' 'n' n */
151 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x42,
152 0x42, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00,
153 /* kCellLoO 157 0x6F 0x006F 'o' 'o' o */
154 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x42,
155 0x42, 0x42, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00,
156 /* kCellLoP 160 0x70 0x0070 'p' 'p' p */
157 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x42,
158 0x42, 0x42, 0x42, 0x7C, 0x40, 0x40, 0x00, 0x00,
159 /* kCellLoQ 161 0x71 0x0071 'q' 'q' q */
160 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x42,
161 0x42, 0x42, 0x42, 0x3E, 0x02, 0x02, 0x00, 0x00,
162 /* kCellLoR 162 0x72 0x0072 'r' 'r' r */
163 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5C, 0x62,
164 0x42, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00,
165 /* kCellLoS 163 0x73 0x0073 's' 's' s */
166 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x42,
167 0x3C, 0x02, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00,
168 /* kCellLoT 164 0x74 0x0074 't' 't' t */
169 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0x78, 0x20,
170 0x20, 0x20, 0x20, 0x1C, 0x00, 0x00, 0x00, 0x00,
171 /* kCellLoU 165 0x75 0x0075 'u' 'u' u */
172 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x42,
173 0x42, 0x42, 0x46, 0x3A, 0x00, 0x00, 0x00, 0x00,
174 /* kCellLoV 166 0x76 0x0076 'v' 'v' v */
175 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x44,
176 0x48, 0x50, 0x60, 0x40, 0x00, 0x00, 0x00, 0x00,
177 /* kCellLoW 167 0x77 0x0077 'w' 'w' w */
178 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x92, 0x92,
179 0x92, 0x92, 0x92, 0x6C, 0x00, 0x00, 0x00, 0x00,
180 /* kCellLoX 170 0x78 0x0078 'x' 'x' x */
181 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x24,
182 0x18, 0x18, 0x24, 0x42, 0x00, 0x00, 0x00, 0x00,
183 /* kCellLoY 171 0x79 0x0079 'y' 'y' y */
184 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x42,
185 0x42, 0x42, 0x42, 0x3E, 0x02, 0x42, 0x3C, 0x00,
186 /* kCellLoZ 172 0x7A 0x007A 'z' 'z' z */
187 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x04,
188 0x08, 0x10, 0x20, 0x7E, 0x00, 0x00, 0x00, 0x00,
189 /* kCellDigit0 060 0x30 0x0030 '0' '0' 0 */
190 0x00, 0x00, 0x00, 0x3C, 0x42, 0x42, 0x42, 0x42,
191 0x42, 0x42, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00,
192 /* kCellDigit1 061 0x31 0x0031 '1' '1' 1 */
193 0x00, 0x00, 0x00, 0x08, 0x18, 0x08, 0x08, 0x08,
194 0x08, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00,
195 /* kCellDigit2 062 0x32 0x0032 '2' '2' 2 */
196 0x00, 0x00, 0x00, 0x3C, 0x42, 0x02, 0x02, 0x04,
197 0x08, 0x10, 0x20, 0x7E, 0x00, 0x00, 0x00, 0x00,
198 /* kCellDigit3 063 0x33 0x0033 '3' '3' 3 */
199 0x00, 0x00, 0x00, 0x3C, 0x42, 0x02, 0x0C, 0x02,
200 0x02, 0x02, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00,
201 /* kCellDigit4 064 0x34 0x0034 '4' '4' 4 */
202 0x00, 0x00, 0x00, 0x04, 0x0C, 0x14, 0x24, 0x7E,
203 0x04, 0x04, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00,
204 /* kCellDigit5 065 0x35 0x0035 '5' '5' 5 */
205 0x00, 0x00, 0x00, 0x7E, 0x40, 0x40, 0x7C, 0x02,
206 0x02, 0x02, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00,
207 /* kCellDigit6 066 0x36 0x0036 '6' '6' 6 */
208 0x00, 0x00, 0x00, 0x1C, 0x20, 0x40, 0x7C, 0x42,
209 0x42, 0x42, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00,
210 /* kCellDigit7 067 0x37 0x0037 '7' '7' 7 */
211 0x00, 0x00, 0x00, 0x7E, 0x02, 0x02, 0x04, 0x08,
212 0x08, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00,
213 /* kCellDigit8 070 0x38 0x0038 '8' '8' 8 */
214 0x00, 0x00, 0x00, 0x3C, 0x42, 0x42, 0x3C, 0x42,
215 0x42, 0x42, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00,
216 /* kCellDigit9 071 0x39 0x0039 '9' '9' 9 */
217 0x00, 0x00, 0x00, 0x3C, 0x42, 0x42, 0x42, 0x42,
218 0x3E, 0x02, 0x04, 0x38, 0x00, 0x00, 0x00, 0x00,
219 /* kCellExclamation 041 0x21 0x0021 '!' '!' ! */
220 0x00, 0x00, 0x00, 0x08, 0x08, 0x08, 0x08, 0x08,
221 0x08, 0x00, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00,
222 /* kCellAmpersand 046 0x26 0x0026 '&' '&' amp */
223 0x00, 0x00, 0x00, 0x30, 0x48, 0x48, 0x50, 0x20,
224 0x50, 0x4A, 0x44, 0x3A, 0x00, 0x00, 0x00, 0x00,
225 /* kCellApostrophe 047 0x27 0x0027 '\047' ';la' #39 (apos) */
226 0x00, 0x00, 0x00, 0x08, 0x08, 0x08, 0x00, 0x00,
227 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
228 /* kCellLeftParen 050 0x28 0x0028 '(' '(' ( */
229 0x00, 0x00, 0x04, 0x08, 0x08, 0x10, 0x10, 0x10,
230 0x10, 0x10, 0x08, 0x08, 0x04, 0x00, 0x00, 0x00,
231 /* kCellRightParen 051 0x29 0x0029 ')' ')' ) */
232 0x00, 0x00, 0x20, 0x10, 0x10, 0x08, 0x08, 0x08,
233 0x08, 0x08, 0x10, 0x10, 0x20, 0x00, 0x00, 0x00,
234 /* kCellComma 054 0x2C 0x002C ',' ',' , */
235 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
236 0x00, 0x00, 0x08, 0x08, 0x08, 0x10, 0x00, 0x00,
237 /* kCellHyphen 055 0x2D 0x002D '-' '-' - */
238 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
239 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
240 /* kCellPeriod 056 0x2E 0x002E '.' '.' . */
241 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
242 0x00, 0x00, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00,
243 /* kCellSlash 057 0x2F 0x002F '/' '/' / */
244 0x00, 0x00, 0x00, 0x02, 0x04, 0x04, 0x08, 0x08,
245 0x10, 0x10, 0x20, 0x20, 0x40, 0x00, 0x00, 0x00,
246 /* kCellColon 072 0x3A 0x003A ':' ':' : */
247 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08,
248 0x00, 0x00, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00,
249 /* kCellSemicolon 073 0x3B 0x003B ';' ';ls' #59 (semi) */
250 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08,
251 0x00, 0x00, 0x08, 0x08, 0x08, 0x10, 0x00, 0x00,
252 /* kCellQuestion 077 0x3F 0x003F '?' '?' ? */
253 0x00, 0x00, 0x00, 0x38, 0x44, 0x04, 0x08, 0x10,
254 0x10, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00,
255 /* kCellEllipsis 311 0x85 0x2026 '_' ';ll' #8230 (mldr) */
256 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
257 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00, 0x00,
258 /* kCellUnderscore 137 0x5F 0x005F '_' '_' _ */
259 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
260 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00,
261 /* kCellLeftDQuote 322 0x93 0x201C '"' ';[' ldquo */
262 0x00, 0x00, 0x00, 0x24, 0x48, 0x6C, 0x00, 0x00,
263 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
264 /* kCellRightDQuote 323 0x94 0x201D '"' ';{' rdquo */
265 0x00, 0x00, 0x00, 0x36, 0x12, 0x24, 0x00, 0x00,
266 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
267 /* kCellLeftSQuote 324 0x91 0x2018 '\047' ';]' lsquo */
268 0x00, 0x00, 0x00, 0x08, 0x10, 0x18, 0x00, 0x00,
269 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
270 /* kCellRightSQuote 325 0x92 0x2019 '\047' ';}' rsquo */
271 0x00, 0x00, 0x00, 0x18, 0x08, 0x10, 0x00, 0x00,
272 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
273 /* kCellCopyright 251 0xA9 0x00A9 'c' ';g' copy */
274 0x00, 0x00, 0x00, 0x00, 0x38, 0x44, 0x9A, 0xA2,
275 0xA2, 0x9A, 0x44, 0x38, 0x00, 0x00, 0x00, 0x00,
276 /* kCellSpace 040 0x20 0x0020 '\040' '' #32 */
277 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
278 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
279
280#if NeedIntlChars
281 /* kCellUpADiaeresis 200 0xC4 0x00C4 'A' ';uA' Auml */
282 0x00, 0x24, 0x00, 0x3C, 0x42, 0x42, 0x42, 0x7E,
283 0x42, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00,
284 /* kCellUpARing 201 0xC5 0x00C5 'A' ';A' Aring */
285 0x3C, 0x42, 0x42, 0x3C, 0x42, 0x42, 0x42, 0x7E,
286 0x42, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00,
287 /* kCellUpCCedilla 202 0xC7 0x00C7 'C' ';C' Ccedil */
288 0x00, 0x00, 0x00, 0x3C, 0x42, 0x42, 0x40, 0x40,
289 0x40, 0x40, 0x42, 0x3C, 0x08, 0x08, 0x10, 0x00,
290 /* kCellUpEAcute 203 0xC9 0x00C9 'E' ';eE' Eacute */
291 0x08, 0x10, 0x00, 0x7E, 0x40, 0x40, 0x40, 0x7C,
292 0x40, 0x40, 0x40, 0x7E, 0x00, 0x00, 0x00, 0x00,
293 /* kCellUpNTilde 204 0xD1 0x00D1 'N' ';nN' Ntilde */
294 0x32, 0x4C, 0x00, 0x42, 0x42, 0x62, 0x52, 0x4A,
295 0x46, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00,
296 /* kCellUpODiaeresis 205 0xD6 0x00D6 'O' ';uO' Ouml */
297 0x00, 0x24, 0x00, 0x3C, 0x42, 0x42, 0x42, 0x42,
298 0x42, 0x42, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00,
299 /* kCellUpUDiaeresis 206 0xDC 0x00DC 'U' ';uU' Uuml */
300 0x00, 0x24, 0x00, 0x42, 0x42, 0x42, 0x42, 0x42,
301 0x42, 0x42, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00,
302 /* kCellLoAAcute 207 0xE1 0x00E1 'a' ';ea' aacute */
303 0x00, 0x00, 0x00, 0x08, 0x10, 0x00, 0x3E, 0x42,
304 0x42, 0x42, 0x46, 0x3A, 0x00, 0x00, 0x00, 0x00,
305 /* kCellLoAGrave 210 0xE0 0x00E0 'a' ';`a' agrave */
306 0x00, 0x00, 0x00, 0x10, 0x08, 0x00, 0x3E, 0x42,
307 0x42, 0x42, 0x46, 0x3A, 0x00, 0x00, 0x00, 0x00,
308 /* kCellLoACircumflex 211 0xE2 0x00E2 'a' ';ia' acirc */
309 0x00, 0x00, 0x00, 0x18, 0x24, 0x00, 0x3E, 0x42,
310 0x42, 0x42, 0x46, 0x3A, 0x00, 0x00, 0x00, 0x00,
311 /* kCellLoADiaeresis 212 0xE4 0x00E4 'a' ';ua' auml */
312 0x00, 0x00, 0x00, 0x00, 0x24, 0x00, 0x3E, 0x42,
313 0x42, 0x42, 0x46, 0x3A, 0x00, 0x00, 0x00, 0x00,
314 /* kCellLoATilde 213 0xE3 0x00E3 'a' ';na' atilde */
315 0x00, 0x00, 0x00, 0x32, 0x4C, 0x00, 0x3E, 0x42,
316 0x42, 0x42, 0x46, 0x3A, 0x00, 0x00, 0x00, 0x00,
317 /* kCellLoARing 214 0xE5 0x00E5 'a' ';a' aring */
318 0x00, 0x00, 0x18, 0x24, 0x24, 0x18, 0x3E, 0x42,
319 0x42, 0x42, 0x46, 0x3A, 0x00, 0x00, 0x00, 0x00,
320 /* kCellLoCCedilla 215 0xE7 0x00E7 'c' ';c' ccedil */
321 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x42,
322 0x40, 0x40, 0x42, 0x3C, 0x08, 0x08, 0x10, 0x00,
323 /* kCellLoEAcute 216 0xE9 0x00E9 'e' ';ee' eacute */
324 0x00, 0x00, 0x00, 0x08, 0x10, 0x00, 0x3C, 0x42,
325 0x7E, 0x40, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00,
326 /* kCellLoEGrave 217 0xE8 0x00E8 'e' ';`e' egrave */
327 0x00, 0x00, 0x00, 0x10, 0x08, 0x00, 0x3C, 0x42,
328 0x7E, 0x40, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00,
329 /* kCellLoECircumflex 220 0xEA 0x00EA 'e' ';ie' ecirc */
330 0x00, 0x00, 0x00, 0x18, 0x24, 0x00, 0x3C, 0x42,
331 0x7E, 0x40, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00,
332 /* kCellLoEDiaeresis 221 0xEB 0x00EB 'e' ';ue' euml */
333 0x00, 0x00, 0x00, 0x00, 0x24, 0x00, 0x3C, 0x42,
334 0x7E, 0x40, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00,
335 /* kCellLoIAcute 222 0xED 0x00ED 'i' ';ei' iacute */
336 0x00, 0x00, 0x00, 0x08, 0x10, 0x00, 0x10, 0x10,
337 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00,
338 /* kCellLoIGrave 223 0xEC 0x00EC 'i' ';`i' igrave */
339 0x00, 0x00, 0x00, 0x20, 0x10, 0x00, 0x10, 0x10,
340 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00,
341 /* kCellLoICircumflex 224 0xEE 0x00EE 'i' ';ii' icirc */
342 0x00, 0x00, 0x00, 0x10, 0x28, 0x00, 0x10, 0x10,
343 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00,
344 /* kCellLoIDiaeresis 225 0xEF 0x00EF 'i' ';ui' iuml */
345 0x00, 0x00, 0x00, 0x00, 0x28, 0x00, 0x10, 0x10,
346 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00,
347 /* kCellLoNTilde 226 0xF1 0x00F1 'n' ';nn' ntilde */
348 0x00, 0x00, 0x00, 0x32, 0x4C, 0x00, 0x7C, 0x42,
349 0x42, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00,
350 /* kCellLoOAcute 227 0xF3 0x00F3 'o' ';eo' oacute */
351 0x00, 0x00, 0x00, 0x08, 0x10, 0x00, 0x3C, 0x42,
352 0x42, 0x42, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00,
353 /* kCellLoOGrave 230 0xF2 0x00F2 'o' ';`o' ograve */
354 0x00, 0x00, 0x00, 0x10, 0x08, 0x00, 0x3C, 0x42,
355 0x42, 0x42, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00,
356 /* kCellLoOCircumflex 231 0xF4 0x00F4 'o' ';io' ocirc */
357 0x00, 0x00, 0x00, 0x18, 0x24, 0x00, 0x3C, 0x42,
358 0x42, 0x42, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00,
359 /* kCellLoODiaeresis 232 0xF6 0x00F6 'o' ';uo' ouml */
360 0x00, 0x00, 0x00, 0x00, 0x24, 0x00, 0x3C, 0x42,
361 0x42, 0x42, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00,
362 /* kCellLoOTilde 233 0xF5 0x00F5 'o' ';no' otilde */
363 0x00, 0x00, 0x00, 0x32, 0x4C, 0x00, 0x3C, 0x42,
364 0x42, 0x42, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00,
365 /* kCellLoUAcute 234 0xFA 0x00FA 'u' ';eu' uacute */
366 0x00, 0x00, 0x00, 0x08, 0x10, 0x00, 0x42, 0x42,
367 0x42, 0x42, 0x46, 0x3A, 0x00, 0x00, 0x00, 0x00,
368 /* kCellLoUGrave 235 0xF9 0x00F9 'u' ';`u' ugrave */
369 0x00, 0x00, 0x00, 0x10, 0x08, 0x00, 0x42, 0x42,
370 0x42, 0x42, 0x46, 0x3A, 0x00, 0x00, 0x00, 0x00,
371 /* kCellLoUCircumflex 236 0xFB 0x00FB 'u' ';iu' ucirc */
372 0x00, 0x00, 0x00, 0x18, 0x24, 0x00, 0x42, 0x42,
373 0x42, 0x42, 0x46, 0x3A, 0x00, 0x00, 0x00, 0x00,
374 /* kCellLoUDiaeresis 237 0xFC 0x00FC 'u' ';uu' uuml */
375 0x00, 0x00, 0x00, 0x00, 0x24, 0x00, 0x42, 0x42,
376 0x42, 0x42, 0x46, 0x3A, 0x00, 0x00, 0x00, 0x00,
377
378 /* kCellUpAE 256 0xC6 0x00C6 '?' ';lE' AElig */
379 0x00, 0x00, 0x00, 0x3E, 0x48, 0x48, 0x48, 0x7C,
380 0x48, 0x48, 0x48, 0x4E, 0x00, 0x00, 0x00, 0x00,
381 /* kCellUpOStroke 257 0xD8 0x00D8 'O' ';O' Oslash */
382 0x00, 0x00, 0x00, 0x3C, 0x42, 0x42, 0x46, 0x5A,
383 0x62, 0x42, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00,
384
385 /* kCellLoAE 276 0xE6 0x00E6 '?' ';le' aelig */
386 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x52,
387 0x5E, 0x50, 0x52, 0x3C, 0x00, 0x00, 0x00, 0x00,
388 /* kCellLoOStroke 277 0xF8 0x00F8 'o' ';o' oslash */
389 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x46,
390 0x5A, 0x62, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00,
391 /* kCellInvQuestion 300 0xBF 0x00BF '?' ';?' iquest */
392 0x00, 0x00, 0x00, 0x10, 0x10, 0x00, 0x10, 0x10,
393 0x20, 0x40, 0x44, 0x38, 0x00, 0x00, 0x00, 0x00,
394 /* kCellInvExclam 301 0xA1 0x00A1 '!' ';1' iexcl */
395 0x00, 0x00, 0x00, 0x08, 0x08, 0x00, 0x08, 0x08,
396 0x08, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00,
397
398 /* kCellUpAGrave 313 0xC0 0x00C0 'A' ';`A' Agrave */
399 0x10, 0x08, 0x00, 0x3C, 0x42, 0x42, 0x42, 0x42,
400 0x7E, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00,
401 /* kCellUpATilde 314 0xC3 0x00C3 'A' ';nA' Atilde */
402 0x32, 0x4C, 0x00, 0x3C, 0x42, 0x42, 0x42, 0x42,
403 0x7E, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00,
404 /* kCellUpOTilde 315 0xD5 0x00D5 'O' ';nO' Otilde */
405 0x32, 0x4C, 0x00, 0x3C, 0x42, 0x42, 0x42, 0x42,
406 0x42, 0x42, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00,
407 /* kCellUpLigatureOE 316 0x8C 0x0152 '?' ';Q' OElig */
408 0x00, 0x00, 0x00, 0x3E, 0x48, 0x48, 0x48, 0x4E,
409 0x48, 0x48, 0x48, 0x3E, 0x00, 0x00, 0x00, 0x00,
410 /* kCellLoLigatureOE 317 0x9C 0x0153 '?' ';q' oelig */
411 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2C, 0x52,
412 0x5E, 0x50, 0x52, 0x2C, 0x00, 0x00, 0x00, 0x00,
413
414 /* kCellLoYDiaeresis 330 0xFF 0x00FF 'y' ';uy' yuml */
415 0x00, 0x00, 0x00, 0x00, 0x24, 0x00, 0x42, 0x42,
416 0x42, 0x42, 0x42, 0x3E, 0x02, 0x42, 0x3C, 0x00,
417 /* kCellUpYDiaeresis 331 0x9F 0x0178 'Y' ';uY' Yuml */
418 0x00, 0x14, 0x00, 0x22, 0x22, 0x22, 0x22, 0x14,
419 0x08, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00,
420
421 /* kCellUpACircumflex 345 0xC2 0x00C2 'A' ';iA' Acirc */
422 0x18, 0x24, 0x00, 0x3C, 0x42, 0x42, 0x42, 0x7E,
423 0x42, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00,
424 /* kCellUpECircumflex 346 0xCA 0x00CA 'E' ';iE' Ecirc */
425 0x18, 0x24, 0x00, 0x7E, 0x40, 0x40, 0x40, 0x7C,
426 0x40, 0x40, 0x40, 0x7E, 0x00, 0x00, 0x00, 0x00,
427 /* kCellUpAAcute 347 0xC1 0x00C1 'A' ';eA' Aacute */
428 0x08, 0x10, 0x00, 0x3C, 0x42, 0x42, 0x42, 0x42,
429 0x7E, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00,
430 /* kCellUpEDiaeresis 350 0xCB 0x00CB 'E' ';uE' Euml */
431 0x00, 0x24, 0x00, 0x7E, 0x40, 0x40, 0x40, 0x7C,
432 0x40, 0x40, 0x40, 0x7E, 0x00, 0x00, 0x00, 0x00,
433 /* kCellUpEGrave 351 0xC8 0x00C8 'E' ';`E' Egrave */
434 0x10, 0x08, 0x00, 0x7E, 0x40, 0x40, 0x40, 0x7C,
435 0x40, 0x40, 0x40, 0x7E, 0x00, 0x00, 0x00, 0x00,
436 /* kCellUpIAcute 352 0xCD 0x00CD 'A' ';eI' Iacute */
437 0x04, 0x08, 0x00, 0x3E, 0x08, 0x08, 0x08, 0x08,
438 0x08, 0x08, 0x08, 0x3E, 0x00, 0x00, 0x00, 0x00,
439 /* kCellUpICircumflex 353 0xCE 0x00CE 'I' ';iI' Icirc */
440 0x08, 0x14, 0x00, 0x3E, 0x08, 0x08, 0x08, 0x08,
441 0x08, 0x08, 0x08, 0x3E, 0x00, 0x00, 0x00, 0x00,
442 /* kCellUpIDiaeresis 354 0xCF 0x00CF 'I' ';uI' Iuml */
443 0x00, 0x14, 0x00, 0x3E, 0x08, 0x08, 0x08, 0x08,
444 0x08, 0x08, 0x08, 0x3E, 0x00, 0x00, 0x00, 0x00,
445 /* kCellUpIGrave 355 0xCC 0x00CC 'I' ';`I' Igrave */
446 0x10, 0x08, 0x00, 0x3E, 0x08, 0x08, 0x08, 0x08,
447 0x08, 0x08, 0x08, 0x3E, 0x00, 0x00, 0x00, 0x00,
448 /* kCellUpOAcute 356 0xD3 0x00D3 'O' ';eO' Oacute */
449 0x08, 0x10, 0x00, 0x3C, 0x42, 0x42, 0x42, 0x42,
450 0x42, 0x42, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00,
451 /* kCellUpOCircumflex 357 0xD4 0x00D4 'O' ';iO' Ocirc */
452 0x18, 0x24, 0x00, 0x3C, 0x42, 0x42, 0x42, 0x42,
453 0x42, 0x42, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00,
454
455 /* kCellUpOGrave 361 0xD2 0x00D2 'O' ';`O' Ograve */
456 0x10, 0x08, 0x00, 0x3C, 0x42, 0x42, 0x42, 0x42,
457 0x42, 0x42, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00,
458 /* kCellUpUAcute 362 0xDA 0x00DA 'U' ';eU' Uacute */
459 0x08, 0x10, 0x00, 0x42, 0x42, 0x42, 0x42, 0x42,
460 0x42, 0x42, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00,
461 /* kCellUpUCircumflex 363 0xDB 0x00DB 'U' ';iU' Ucirc */
462 0x18, 0x24, 0x00, 0x42, 0x42, 0x42, 0x42, 0x42,
463 0x42, 0x42, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00,
464 /* kCellUpUGrave 364 0xD9 0x00D9 'U' ';`U' Ugrave */
465 0x10, 0x08, 0x00, 0x42, 0x42, 0x42, 0x42, 0x42,
466 0x42, 0x42, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00,
467 /* kCellSharpS 247 0xDF 0x00DF 'B' ';s' szlig */
468 0x00, 0x00, 0x00, 0x1C, 0x22, 0x42, 0x44, 0x44,
469 0x42, 0x42, 0x42, 0x5C, 0x40, 0x00, 0x00, 0x00,
470
471 /* kCellUpACedille 260 ? 0x0104 'A' ';dA' #260 (Aogon) */
472 0x00, 0x00, 0x00, 0x3C, 0x42, 0x42, 0x42, 0x7E,
473 0x42, 0x42, 0x42, 0x42, 0x04, 0x04, 0x02, 0x00,
474 /* kCellLoACedille 261 ? 0x0105 'a' ';da' #261 (aogon) */
475 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x42,
476 0x42, 0x42, 0x46, 0x3A, 0x04, 0x04, 0x02, 0x00,
477 /* kCellUpCAcute 262 ? 0x0106 'C' ';eC' #262 (Cacute) */
478 0x08, 0x10, 0x00, 0x3C, 0x42, 0x42, 0x40, 0x40,
479 0x40, 0x40, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00,
480 /* kCellLoCAcute 263 ? 0x0107 'c' ';ec' #263 (cacute) */
481 0x00, 0x00, 0x00, 0x08, 0x10, 0x00, 0x3C, 0x42,
482 0x40, 0x40, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00,
483 /* kCellUpECedille 264 ? 0x0118 'E' ';dE' #280 (Eogon) */
484 0x00, 0x00, 0x00, 0x7E, 0x40, 0x40, 0x40, 0x7C,
485 0x40, 0x40, 0x40, 0x7E, 0x04, 0x04, 0x02, 0x00,
486 /* kCellLoECedille 265 ? 0x0119 'e' ';de' #281 (eogon) */
487 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x42,
488 0x7E, 0x40, 0x42, 0x3C, 0x08, 0x08, 0x04, 0x00,
489 /* kCellUpLBar 266 ? 0x0141 'L' ';dL' #321 (Lstrok) */
490 0x00, 0x00, 0x00, 0x40, 0x40, 0x40, 0x60, 0x40,
491 0xC0, 0x40, 0x40, 0x7E, 0x00, 0x00, 0x00, 0x00,
492 /* kCellLoLBar 267 ? 0x0142 'l' ';dl' #322 (lstrok) */
493 0x00, 0x00, 0x00, 0x08, 0x08, 0x08, 0x0C, 0x08,
494 0x18, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00,
495 /* kCellUpNAcute 270 ? 0x0143 'N' ';eN' #323 (Nacute) */
496 0x08, 0x10, 0x00, 0x42, 0x42, 0x62, 0x52, 0x4A,
497 0x46, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00,
498 /* kCellLoNAcute 271 ? 0x0144 'n' ';en' #324 (nacute) */
499 0x00, 0x00, 0x00, 0x08, 0x10, 0x00, 0x7C, 0x42,
500 0x42, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00,
501 /* kCellUpSAcute 272 ? 0x015A 'S' ';eS' #346 (Sacute) */
502 0x08, 0x10, 0x00, 0x3C, 0x42, 0x40, 0x40, 0x3C,
503 0x02, 0x02, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00,
504 /* kCellLoSAcute 273 ? 0x015B 's' ';es' #347 (sacute) */
505 0x00, 0x00, 0x00, 0x08, 0x10, 0x00, 0x3C, 0x42,
506 0x3C, 0x02, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00,
507 /* kCellUpZAcute 274 ? 0x0179 'Z' ';eZ' #377 (Zacute) */
508 0x08, 0x10, 0x00, 0x7E, 0x02, 0x04, 0x08, 0x10,
509 0x20, 0x40, 0x40, 0x7E, 0x00, 0x00, 0x00, 0x00,
510 /* kCellLoZAcute 275 ? 0x017A 'z' ';ez' #378 (zacute) */
511 0x00, 0x00, 0x00, 0x08, 0x10, 0x00, 0x7E, 0x04,
512 0x08, 0x10, 0x20, 0x7E, 0x00, 0x00, 0x00, 0x00,
513 /* kCellUpZDot 276 ? 0x017B 'Z' ';dZ' #379 (Zdot) */
514 0x10, 0x00, 0x00, 0x7E, 0x02, 0x04, 0x08, 0x10,
515 0x20, 0x40, 0x40, 0x7E, 0x00, 0x00, 0x00, 0x00,
516 /* kCellLoZDot 277 ? 0x017C 'z' ';dz' #380 (zdot) */
517 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x7E, 0x04,
518 0x08, 0x10, 0x20, 0x7E, 0x00, 0x00, 0x00, 0x00,
519 /* kCellMidDot 341 0xB7 0x00B7 '.' ';l.' middot */
520 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,
521 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
522 /* kCellUpCCaron 077 ? 0x010C 'C' ';vC' #268 (Ccaron) */
523 0x14, 0x08, 0x00, 0x3C, 0x42, 0x42, 0x40, 0x40,
524 0x40, 0x40, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00,
525 /* kCellLoCCaron 077 ? 0x010D 'c' ';vc' #269 (ccaron) */
526 0x00, 0x00, 0x00, 0x14, 0x08, 0x00, 0x3C, 0x42,
527 0x40, 0x40, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00,
528 /* kCellLoECaron 077 ? 0x011B 'e' ';ve' #283 (ecaron) */
529 0x00, 0x00, 0x00, 0x14, 0x08, 0x00, 0x3C, 0x42,
530 0x7E, 0x40, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00,
531 /* kCellLoRCaron 077 ? 0x0159 'r' ';vr' #345 (rcaron) */
532 0x00, 0x00, 0x00, 0x14, 0x08, 0x00, 0x5C, 0x62,
533 0x42, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00,
534 /* kCellLoSCaron 077 0x9A 0x0161 's' ';vs' #353 (scaron) */
535 0x00, 0x00, 0x00, 0x14, 0x08, 0x00, 0x3C, 0x42,
536 0x3C, 0x02, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00,
537 /* kCellLoTCaron 077 ? 0x0165 't' ';vt' #357 (tcaron) */
538 0x00, 0x14, 0x08, 0x00, 0x20, 0x20, 0x78, 0x20,
539 0x20, 0x20, 0x20, 0x1C, 0x00, 0x00, 0x00, 0x00,
540 /* kCellLoZCaron 077 0x9E 0x017E 'z' ';vz' #382 (zcaron) */
541 0x00, 0x00, 0x00, 0x14, 0x08, 0x00, 0x7E, 0x04,
542 0x08, 0x10, 0x20, 0x7E, 0x00, 0x00, 0x00, 0x00,
543 /* kCellUpYAcute 077 0xDD 0x00DD 'Y' ';eY' Yacute */
544 0x08, 0x10, 0x00, 0x22, 0x22, 0x22, 0x22, 0x14,
545 0x08, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00,
546 /* kCellLoYAcute 077 0xFD 0x00FD 'y' ';ey' yacute */
547 0x00, 0x00, 0x00, 0x08, 0x10, 0x00, 0x42, 0x42,
548 0x42, 0x42, 0x42, 0x3E, 0x02, 0x42, 0x3C, 0x00,
549 /* kCellLoUDblac 077 ? 0x0171 'u' ';Eu' #369 (udblac) */
550 0x00, 0x00, 0x00, 0x12, 0x24, 0x00, 0x42, 0x42,
551 0x42, 0x42, 0x46, 0x3A, 0x00, 0x00, 0x00, 0x00,
552 /* kCellLoURing 077 ? 0x016F 'u' ';ru' #367 (uring) */
553 0x00, 0x00, 0x18, 0x24, 0x24, 0x18, 0x42, 0x42,
554 0x42, 0x42, 0x46, 0x3A, 0x00, 0x00, 0x00, 0x00,
555 /* kCellUpDStroke 077 ? 0x0110 'D' ';dD' #272 (Dstrok) */
556 0x00, 0x00, 0x00, 0x7C, 0x42, 0x42, 0x42, 0xF2,
557 0x42, 0x42, 0x42, 0x7C, 0x00, 0x00, 0x00, 0x00,
558 /* kCellLoDStroke 077 ? 0x0111 'd' ';dd' #273 (dstrok) */
559 0x00, 0x00, 0x00, 0x02, 0x0F, 0x02, 0x3E, 0x42,
560 0x42, 0x42, 0x42, 0x3E, 0x00, 0x00, 0x00, 0x00,
561#endif
562
563 /* kCellUpperLeft */
564 0xFF, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
565 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
566 /* kCellUpperMiddle */
567 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
568 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
569 /* kCellMiddleLeft */
570 0xFF, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
571 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
572 /* kCellMiddleLeft */
573 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
574 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
575 /* kCellMiddleRight */
576 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
577 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
578 /* kCellLowerLeft */
579 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
580 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0xFF,
581 /* kCellLowerMiddle */
582 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
583 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF,
584 /* kCellLowerRight */
585 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
586 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0xFF,
587 /* kCellGraySep */
588 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAA,
589 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
590 /* kCellIcon00 */
591 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
592 0x00, 0x07, 0x08, 0x08, 0x08, 0x09, 0x09, 0x09,
593 /* kCellIcon01 */
594 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
595 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x18, 0x18,
596 /* kCellIcon02 */
597 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
598 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x18, 0x30,
599 /* kCellIcon03 */
600 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
601 0x00, 0xE0, 0x10, 0x10, 0x10, 0x90, 0x90, 0x90,
602 /* kCellIcon10 */
603 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09,
604 0x09, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
605 /* kCellIcon11 */
606 0x18, 0x18, 0x19, 0x1B, 0x1E, 0x1C, 0x18, 0x10,
607 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
608 /* kCellIcon12 */
609 0x60, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
610 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00,
611 /* kCellIcon13 */
612 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90,
613 0x90, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10,
614 /* kCellIcon20 */
615 0x08, 0x08, 0x08, 0x07, 0x04, 0x04, 0x04, 0x07,
616 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
617 /* kCellIcon21 */
618 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF,
619 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
620 /* kCellIcon22 */
621 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF,
622 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
623 /* kCellIcon23 */
624 0x10, 0x10, 0x10, 0xE0, 0x20, 0x20, 0x20, 0xE0,
625 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
626#if EnableAltKeysMode
627 /* kInsertText00 */
628 0xFF, 0x80, 0x80, 0x80, 0x80, 0x83, 0x80, 0x80,
629 0x80, 0x80, 0x83, 0x80, 0x80, 0x80, 0x80, 0xFF,
630 /* kInsertText01 */
631 0xFF, 0x00, 0x00, 0x18, 0x18, 0x18, 0x18, 0x19,
632 0x1B, 0x1E, 0x1C, 0x18, 0x10, 0x00, 0x00, 0xFF,
633 /* kInsertText02 */
634 0xFF, 0x00, 0x00, 0x18, 0x30, 0x60, 0xC0, 0x80,
635 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0xFF,
636 /* kInsertText03 */
637 0xFF, 0x01, 0x01, 0x01, 0x01, 0xC1, 0x01, 0x01,
638 0x01, 0x01, 0xC1, 0x01, 0x01, 0x01, 0x01, 0xFF,
639 /* kInsertText04 */
640 0xFF, 0x00, 0x00, 0x00, 0x00, 0xC3, 0x00, 0x00,
641 0x00, 0x00, 0xC3, 0x00, 0x00, 0x00, 0x00, 0xFF,
642#endif
643#if EnableDemoMsg
644 /* kCellDemo0 */
645 0xFF, 0x80, 0x80, 0x80, 0x80, 0x83, 0x80, 0x80,
646 0x80, 0x80, 0x83, 0x80, 0x80, 0x80, 0x80, 0xFF,
647 /* kCellDemo1 */
648 0xFF, 0x00, 0x00, 0x7C, 0x42, 0x42, 0x42, 0x42,
649 0x42, 0x42, 0x42, 0x7C, 0x00, 0x00, 0x00, 0xFF,
650 /* kCellDemo2 */
651 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x42,
652 0x7E, 0x40, 0x42, 0x3C, 0x00, 0x00, 0x00, 0xFF,
653 /* kCellDemo3 */
654 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x92,
655 0x92, 0x92, 0x92, 0x92, 0x00, 0x00, 0x00, 0xFF,
656 /* kCellDemo4 */
657 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x42,
658 0x42, 0x42, 0x42, 0x3C, 0x00, 0x00, 0x00, 0xFF,
659 /* kCellDemo5 */
660 0xFF, 0x01, 0x01, 0x01, 0x01, 0xC1, 0x01, 0x01,
661 0x01, 0x01, 0xC1, 0x01, 0x01, 0x01, 0x01, 0xFF,
662 /* kCellDemo6 */
663 0xFF, 0x00, 0x00, 0x00, 0x00, 0xC3, 0x00, 0x00,
664 0x00, 0x00, 0xC3, 0x00, 0x00, 0x00, 0x00, 0xFF,
665 /* kCellDemo7 */
666 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
667 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF,
668#endif
669
670 0x00 /* just so last above line can end in ',' */
671};
672
673enum {
674 kCellUpA,
675 kCellUpB,
676 kCellUpC,
677 kCellUpD,
678 kCellUpE,
679 kCellUpF,
680 kCellUpG,
681 kCellUpH,
682 kCellUpI,
683 kCellUpJ,
684 kCellUpK,
685 kCellUpL,
686 kCellUpM,
687 kCellUpN,
688 kCellUpO,
689 kCellUpP,
690 kCellUpQ,
691 kCellUpR,
692 kCellUpS,
693 kCellUpT,
694 kCellUpU,
695 kCellUpV,
696 kCellUpW,
697 kCellUpX,
698 kCellUpY,
699 kCellUpZ,
700 kCellLoA,
701 kCellLoB,
702 kCellLoC,
703 kCellLoD,
704 kCellLoE,
705 kCellLoF,
706 kCellLoG,
707 kCellLoH,
708 kCellLoI,
709 kCellLoJ,
710 kCellLoK,
711 kCellLoL,
712 kCellLoM,
713 kCellLoN,
714 kCellLoO,
715 kCellLoP,
716 kCellLoQ,
717 kCellLoR,
718 kCellLoS,
719 kCellLoT,
720 kCellLoU,
721 kCellLoV,
722 kCellLoW,
723 kCellLoX,
724 kCellLoY,
725 kCellLoZ,
726 kCellDigit0,
727 kCellDigit1,
728 kCellDigit2,
729 kCellDigit3,
730 kCellDigit4,
731 kCellDigit5,
732 kCellDigit6,
733 kCellDigit7,
734 kCellDigit8,
735 kCellDigit9,
736 kCellExclamation,
737 kCellAmpersand,
738 kCellApostrophe,
739 kCellLeftParen,
740 kCellRightParen,
741 kCellComma,
742 kCellHyphen,
743 kCellPeriod,
744 kCellSlash,
745 kCellColon,
746 kCellSemicolon,
747 kCellQuestion,
748 kCellEllipsis,
749 kCellUnderscore,
750 kCellLeftDQuote,
751 kCellRightDQuote,
752 kCellLeftSQuote,
753 kCellRightSQuote,
754 kCellCopyright,
755 kCellSpace,
756
757#if NeedIntlChars
758 kCellUpADiaeresis,
759 kCellUpARing,
760 kCellUpCCedilla,
761 kCellUpEAcute,
762 kCellUpNTilde,
763 kCellUpODiaeresis,
764 kCellUpUDiaeresis,
765 kCellLoAAcute,
766 kCellLoAGrave,
767 kCellLoACircumflex,
768 kCellLoADiaeresis,
769 kCellLoATilde,
770 kCellLoARing,
771 kCellLoCCedilla,
772 kCellLoEAcute,
773 kCellLoEGrave,
774 kCellLoECircumflex,
775 kCellLoEDiaeresis,
776 kCellLoIAcute,
777 kCellLoIGrave,
778 kCellLoICircumflex,
779 kCellLoIDiaeresis,
780 kCellLoNTilde,
781 kCellLoOAcute,
782 kCellLoOGrave,
783 kCellLoOCircumflex,
784 kCellLoODiaeresis,
785 kCellLoOTilde,
786 kCellLoUAcute,
787 kCellLoUGrave,
788 kCellLoUCircumflex,
789 kCellLoUDiaeresis,
790
791 kCellUpAE,
792 kCellUpOStroke,
793
794 kCellLoAE,
795 kCellLoOStroke,
796 kCellInvQuestion,
797 kCellInvExclam,
798
799 kCellUpAGrave,
800 kCellUpATilde,
801 kCellUpOTilde,
802 kCellUpLigatureOE,
803 kCellLoLigatureOE,
804
805 kCellLoYDiaeresis,
806 kCellUpYDiaeresis,
807
808 kCellUpACircumflex,
809 kCellUpECircumflex,
810 kCellUpAAcute,
811 kCellUpEDiaeresis,
812 kCellUpEGrave,
813 kCellUpIAcute,
814 kCellUpICircumflex,
815 kCellUpIDiaeresis,
816 kCellUpIGrave,
817 kCellUpOAcute,
818 kCellUpOCircumflex,
819
820 kCellUpOGrave,
821 kCellUpUAcute,
822 kCellUpUCircumflex,
823 kCellUpUGrave,
824 kCellSharpS,
825
826 kCellUpACedille,
827 kCellLoACedille,
828 kCellUpCAcute,
829 kCellLoCAcute,
830 kCellUpECedille,
831 kCellLoECedille,
832 kCellUpLBar,
833 kCellLoLBar,
834 kCellUpNAcute,
835 kCellLoNAcute,
836 kCellUpSAcute,
837 kCellLoSAcute,
838 kCellUpZAcute,
839 kCellLoZAcute,
840 kCellUpZDot,
841 kCellLoZDot,
842 kCellMidDot,
843 kCellUpCCaron,
844 kCellLoCCaron,
845 kCellLoECaron,
846 kCellLoRCaron,
847 kCellLoSCaron,
848 kCellLoTCaron,
849 kCellLoZCaron,
850 kCellUpYAcute,
851 kCellLoYAcute,
852 kCellLoUDblac,
853 kCellLoURing,
854 kCellUpDStroke,
855 kCellLoDStroke,
856#endif
857
858 kCellUpperLeft,
859 kCellUpperMiddle,
860 kCellUpperRight,
861 kCellMiddleLeft,
862 kCellMiddleRight,
863 kCellLowerLeft,
864 kCellLowerMiddle,
865 kCellLowerRight,
866 kCellGraySep,
867 kCellIcon00,
868 kCellIcon01,
869 kCellIcon02,
870 kCellIcon03,
871 kCellIcon10,
872 kCellIcon11,
873 kCellIcon12,
874 kCellIcon13,
875 kCellIcon20,
876 kCellIcon21,
877 kCellIcon22,
878 kCellIcon23,
879#if EnableAltKeysMode
880 kInsertText00,
881 kInsertText01,
882 kInsertText02,
883 kInsertText03,
884 kInsertText04,
885#endif
886#if EnableDemoMsg
887 kCellDemo0,
888 kCellDemo1,
889 kCellDemo2,
890 kCellDemo3,
891 kCellDemo4,
892 kCellDemo5,
893 kCellDemo6,
894 kCellDemo7,
895#endif
896
897 kNumCells
898};
899
900#if UseActvCode && 0
901#define UseActvFile 1
902#else
903#define UseActvFile 0
904#endif
905
906#ifndef NeedCell2MacAsciiMap
907#if 1 /* UseActvCode || EnableDemoMsg */
908#define NeedCell2MacAsciiMap 1
909#else
910#define NeedCell2MacAsciiMap 0
911#endif
912#endif
913
914#if NeedCell2MacAsciiMap
915/* Mac Roman character set */
916LOCALVAR const char Cell2MacAsciiMap[] = {
917 '\101', /* kCellUpA */
918 '\102', /* kCellUpB */
919 '\103', /* kCellUpC */
920 '\104', /* kCellUpD */
921 '\105', /* kCellUpE */
922 '\106', /* kCellUpF */
923 '\107', /* kCellUpG */
924 '\110', /* kCellUpH */
925 '\111', /* kCellUpI */
926 '\112', /* kCellUpJ */
927 '\113', /* kCellUpK */
928 '\114', /* kCellUpL */
929 '\115', /* kCellUpM */
930 '\116', /* kCellUpN */
931 '\117', /* kCellUpO */
932 '\120', /* kCellUpP */
933 '\121', /* kCellUpQ */
934 '\122', /* kCellUpR */
935 '\123', /* kCellUpS */
936 '\124', /* kCellUpT */
937 '\125', /* kCellUpU */
938 '\126', /* kCellUpV */
939 '\127', /* kCellUpW */
940 '\130', /* kCellUpX */
941 '\131', /* kCellUpY */
942 '\132', /* kCellUpZ */
943 '\141', /* kCellLoA */
944 '\142', /* kCellLoB */
945 '\143', /* kCellLoC */
946 '\144', /* kCellLoD */
947 '\145', /* kCellLoE */
948 '\146', /* kCellLoF */
949 '\147', /* kCellLoG */
950 '\150', /* kCellLoH */
951 '\151', /* kCellLoI */
952 '\152', /* kCellLoJ */
953 '\153', /* kCellLoK */
954 '\154', /* kCellLoL */
955 '\155', /* kCellLoM */
956 '\156', /* kCellLoN */
957 '\157', /* kCellLoO */
958 '\160', /* kCellLoP */
959 '\161', /* kCellLoQ */
960 '\162', /* kCellLoR */
961 '\163', /* kCellLoS */
962 '\164', /* kCellLoT */
963 '\165', /* kCellLoU */
964 '\166', /* kCellLoV */
965 '\167', /* kCellLoW */
966 '\170', /* kCellLoX */
967 '\171', /* kCellLoY */
968 '\172', /* kCellLoZ */
969 '\060', /* kCellDigit0 */
970 '\061', /* kCellDigit1 */
971 '\062', /* kCellDigit2 */
972 '\063', /* kCellDigit3 */
973 '\064', /* kCellDigit4 */
974 '\065', /* kCellDigit5 */
975 '\066', /* kCellDigit6 */
976 '\067', /* kCellDigit7 */
977 '\070', /* kCellDigit8 */
978 '\071', /* kCellDigit9 */
979 '\041', /* kCellExclamation */
980 '\046', /* kCellAmpersand */
981 '\047', /* kCellApostrophe */
982 '\050', /* kCellLeftParen */
983 '\051', /* kCellRightParen */
984 '\054', /* kCellComma */
985 '\055', /* kCellHyphen */
986 '\056', /* kCellPeriod */
987 '\057', /* kCellSlash */
988 '\072', /* kCellColon */
989 '\073', /* kCellSemicolon */
990 '\077', /* kCellQuestion */
991 '\311', /* kCellEllipsis */
992 '\137', /* kCellUnderscore */
993 '\322', /* kCellLeftDQuote */
994 '\323', /* kCellRightDQuote */
995 '\324', /* kCellLeftSQuote */
996 '\325', /* kCellRightSQuote */
997 '\251', /* kCellCopyright */
998 '\040', /* kCellSpace */
999
1000#if NeedIntlChars
1001 '\200', /* kCellUpADiaeresis */
1002 '\201', /* kCellUpARing */
1003 '\202', /* kCellUpCCedilla */
1004 '\203', /* kCellUpEAcute */
1005 '\204', /* kCellUpNTilde */
1006 '\205', /* kCellUpODiaeresis */
1007 '\206', /* kCellUpUDiaeresis */
1008 '\207', /* kCellLoAAcute */
1009 '\210', /* kCellLoAGrave */
1010 '\211', /* kCellLoACircumflex */
1011 '\212', /* kCellLoADiaeresis */
1012 '\213', /* kCellLoATilde */
1013 '\214', /* kCellLoARing */
1014 '\215', /* kCellLoCCedilla */
1015 '\216', /* kCellLoEAcute */
1016 '\217', /* kCellLoEGrave */
1017 '\220', /* kCellLoECircumflex */
1018 '\221', /* kCellLoEDiaeresis */
1019 '\222', /* kCellLoIAcute */
1020 '\223', /* kCellLoIGrave */
1021 '\224', /* kCellLoICircumflex */
1022 '\225', /* kCellLoIDiaeresis */
1023 '\226', /* kCellLoNTilde */
1024 '\227', /* kCellLoOAcute */
1025 '\230', /* kCellLoOGrave */
1026 '\231', /* kCellLoOCircumflex */
1027 '\232', /* kCellLoODiaeresis */
1028 '\233', /* kCellLoOTilde */
1029 '\234', /* kCellLoUAcute */
1030 '\235', /* kCellLoUGrave */
1031 '\236', /* kCellLoUCircumflex */
1032 '\237', /* kCellLoUDiaeresis */
1033
1034 '\256', /* kCellUpAE */
1035 '\257', /* kCellUpOStroke */
1036
1037 '\276', /* kCellLoAE */
1038 '\277', /* kCellLoOStroke */
1039 '\300', /* kCellInvQuestion */
1040 '\301', /* kCellInvExclam */
1041
1042 '\313', /* kCellUpAGrave */
1043 '\314', /* kCellUpATilde */
1044 '\315', /* kCellUpOTilde */
1045 '\316', /* kCellUpLigatureOE */
1046 '\317', /* kCellLoLigatureOE */
1047
1048 '\330', /* kCellLoYDiaeresis */
1049 '\331', /* kCellUpYDiaeresis */
1050
1051 '\345', /* kCellUpACircumflex */
1052 '\346', /* kCellUpECircumflex */
1053 '\347', /* kCellUpAAcute */
1054 '\350', /* kCellUpEDiaeresis */
1055 '\351', /* kCellUpEGrave */
1056 '\352', /* kCellUpIAcute */
1057 '\353', /* kCellUpICircumflex */
1058 '\354', /* kCellUpIDiaeresis */
1059 '\355', /* kCellUpIGrave */
1060 '\356', /* kCellUpOAcute */
1061 '\357', /* kCellUpOCircumflex */
1062
1063 '\361', /* kCellUpOGrave */
1064 '\362', /* kCellUpUAcute */
1065 '\363', /* kCellUpUCircumflex */
1066 '\364', /* kCellUpUGrave */
1067 '\247', /* kCellSharpS */
1068
1069 '\260', /* kCellUpACedille */
1070 '\261', /* kCellLoACedille */
1071 '\262', /* kCellUpCAcute */
1072 '\263', /* kCellLoCAcute */
1073 '\264', /* kCellUpECedille */
1074 '\265', /* kCellLoECedille */
1075 '\266', /* kCellUpLBar */
1076 '\267', /* kCellLoLBar */
1077 '\270', /* kCellUpNAcute */
1078 '\271', /* kCellLoNAcute */
1079 '\272', /* kCellUpSAcute */
1080 '\273', /* kCellLoSAcute */
1081 '\274', /* kCellUpZAcute */
1082 '\275', /* kCellLoZAcute */
1083 '\276', /* kCellUpZDot */
1084 '\277', /* kCellLoZDot */
1085 '\341', /* kCellMidDot */
1086 '\103', /* kCellUpCCaron */
1087 '\143', /* kCellLoCCaron */
1088 '\145', /* kCellLoECaron */
1089 '\162', /* kCellLoRCaron */
1090 '\163', /* kCellLoSCaron */
1091 '\164', /* kCellLoTCaron */
1092 '\172', /* kCellLoZCaron */
1093 '\131', /* kCellUpYAcute */
1094 '\171', /* kCellLoYAcute */
1095 '\165', /* kCellLoUDblac */
1096 '\165', /* kCellLoURing */
1097 '\104', /* kCellUpDStroke */
1098 '\144', /* kCellLoDStroke */
1099#endif
1100
1101 '\0' /* just so last above line can end in ',' */
1102};
1103#endif
1104
1105#ifndef NeedCell2WinAsciiMap
1106#define NeedCell2WinAsciiMap 0
1107#endif
1108
1109#if NeedCell2WinAsciiMap
1110/* Windows character set (windows-1252 code page) */
1111LOCALVAR const ui3b Cell2WinAsciiMap[] = {
1112 0x41, /* kCellUpA */
1113 0x42, /* kCellUpB */
1114 0x43, /* kCellUpC */
1115 0x44, /* kCellUpD */
1116 0x45, /* kCellUpE */
1117 0x46, /* kCellUpF */
1118 0x47, /* kCellUpG */
1119 0x48, /* kCellUpH */
1120 0x49, /* kCellUpI */
1121 0x4A, /* kCellUpJ */
1122 0x4B, /* kCellUpK */
1123 0x4C, /* kCellUpL */
1124 0x4D, /* kCellUpM */
1125 0x4E, /* kCellUpN */
1126 0x4F, /* kCellUpO */
1127 0x50, /* kCellUpP */
1128 0x51, /* kCellUpQ */
1129 0x52, /* kCellUpR */
1130 0x53, /* kCellUpS */
1131 0x54, /* kCellUpT */
1132 0x55, /* kCellUpU */
1133 0x56, /* kCellUpV */
1134 0x57, /* kCellUpW */
1135 0x58, /* kCellUpX */
1136 0x59, /* kCellUpY */
1137 0x5A, /* kCellUpZ */
1138 0x61, /* kCellLoA */
1139 0x62, /* kCellLoB */
1140 0x63, /* kCellLoC */
1141 0x64, /* kCellLoD */
1142 0x65, /* kCellLoE */
1143 0x66, /* kCellLoF */
1144 0x67, /* kCellLoG */
1145 0x68, /* kCellLoH */
1146 0x69, /* kCellLoI */
1147 0x6A, /* kCellLoJ */
1148 0x6B, /* kCellLoK */
1149 0x6C, /* kCellLoL */
1150 0x6D, /* kCellLoM */
1151 0x6E, /* kCellLoN */
1152 0x6F, /* kCellLoO */
1153 0x70, /* kCellLoP */
1154 0x71, /* kCellLoQ */
1155 0x72, /* kCellLoR */
1156 0x73, /* kCellLoS */
1157 0x74, /* kCellLoT */
1158 0x75, /* kCellLoU */
1159 0x76, /* kCellLoV */
1160 0x77, /* kCellLoW */
1161 0x78, /* kCellLoX */
1162 0x79, /* kCellLoY */
1163 0x7A, /* kCellLoZ */
1164 0x30, /* kCellDigit0 */
1165 0x31, /* kCellDigit1 */
1166 0x32, /* kCellDigit2 */
1167 0x33, /* kCellDigit3 */
1168 0x34, /* kCellDigit4 */
1169 0x35, /* kCellDigit5 */
1170 0x36, /* kCellDigit6 */
1171 0x37, /* kCellDigit7 */
1172 0x38, /* kCellDigit8 */
1173 0x39, /* kCellDigit9 */
1174 0x21, /* kCellExclamation */
1175 0x26, /* kCellAmpersand */
1176 0x27, /* kCellApostrophe */
1177 0x28, /* kCellLeftParen */
1178 0x29, /* kCellRightParen */
1179 0x2C, /* kCellComma */
1180 0x2D, /* kCellHyphen */
1181 0x2E, /* kCellPeriod */
1182 0x2F, /* kCellSlash */
1183 0x3A, /* kCellColon */
1184 0x3B, /* kCellSemicolon */
1185 0x3F, /* kCellQuestion */
1186 0x85, /* kCellEllipsis */
1187 0x5F, /* kCellUnderscore */
1188 0x93, /* kCellLeftDQuote */
1189 0x94, /* kCellRightDQuote */
1190 0x91, /* kCellLeftSQuote */
1191 0x92, /* kCellRightSQuote */
1192 0xA9, /* kCellCopyright */
1193 0x20, /* kCellSpace */
1194
1195#if NeedIntlChars
1196 0xC4, /* kCellUpADiaeresis */
1197 0xC5, /* kCellUpARing */
1198 0xC7, /* kCellUpCCedilla */
1199 0xC9, /* kCellUpEAcute */
1200 0xD1, /* kCellUpNTilde */
1201 0xD6, /* kCellUpODiaeresis */
1202 0xDC, /* kCellUpUDiaeresis */
1203 0xE1, /* kCellLoAAcute */
1204 0xE0, /* kCellLoAGrave */
1205 0xE2, /* kCellLoACircumflex */
1206 0xE4, /* kCellLoADiaeresis */
1207 0xE3, /* kCellLoATilde */
1208 0xE5, /* kCellLoARing */
1209 0xE7, /* kCellLoCCedilla */
1210 0xE9, /* kCellLoEAcute */
1211 0xE8, /* kCellLoEGrave */
1212 0xEA, /* kCellLoECircumflex */
1213 0xEB, /* kCellLoEDiaeresis */
1214 0xED, /* kCellLoIAcute */
1215 0xEC, /* kCellLoIGrave */
1216 0xEE, /* kCellLoICircumflex */
1217 0xEF, /* kCellLoIDiaeresis */
1218 0xF1, /* kCellLoNTilde */
1219 0xF3, /* kCellLoOAcute */
1220 0xF2, /* kCellLoOGrave */
1221 0xF4, /* kCellLoOCircumflex */
1222 0xF6, /* kCellLoODiaeresis */
1223 0xF5, /* kCellLoOTilde */
1224 0xFA, /* kCellLoUAcute */
1225 0xF9, /* kCellLoUGrave */
1226 0xFB, /* kCellLoUCircumflex */
1227 0xFC, /* kCellLoUDiaeresis */
1228
1229 0xC6, /* kCellUpAE */
1230 0xD8, /* kCellUpOStroke */
1231
1232 0xE6, /* kCellLoAE */
1233 0xF8, /* kCellLoOStroke */
1234 0xBF, /* kCellInvQuestion */
1235 0xA1, /* kCellInvExclam */
1236
1237 0xC0, /* kCellUpAGrave */
1238 0xC3, /* kCellUpATilde */
1239 0xD5, /* kCellUpOTilde */
1240 0x8C, /* kCellUpLigatureOE */
1241 0x9C, /* kCellLoLigatureOE */
1242
1243 0xFF, /* kCellLoYDiaeresis */
1244 0x9F, /* kCellUpYDiaeresis */
1245
1246 0xC2, /* kCellUpACircumflex */
1247 0xCA, /* kCellUpECircumflex */
1248 0xC1, /* kCellUpAAcute */
1249 0xCB, /* kCellUpEDiaeresis */
1250 0xC8, /* kCellUpEGrave */
1251 0xCD, /* kCellUpIAcute */
1252 0xCE, /* kCellUpICircumflex */
1253 0xCF, /* kCellUpIDiaeresis */
1254 0xCC, /* kCellUpIGrave */
1255 0xD3, /* kCellUpOAcute */
1256 0xD4, /* kCellUpOCircumflex */
1257
1258 0xD2, /* kCellUpOGrave */
1259 0xDA, /* kCellUpUAcute */
1260 0xDB, /* kCellUpUCircumflex */
1261 0xD9, /* kCellUpUGrave */
1262 0xDF, /* kCellSharpS */
1263
1264 0x41, /* kCellUpACedille */
1265 0x61, /* kCellLoACedille */
1266 0x43, /* kCellUpCAcute */
1267 0x63, /* kCellLoCAcute */
1268 0x45, /* kCellUpECedille */
1269 0x65, /* kCellLoECedille */
1270 0x4C, /* kCellUpLBar */
1271 0x6C, /* kCellLoLBar */
1272 0x4E, /* kCellUpNAcute */
1273 0x6E, /* kCellLoNAcute */
1274 0x53, /* kCellUpSAcute */
1275 0x73, /* kCellLoSAcute */
1276 0x5A, /* kCellUpZAcute */
1277 0x7A, /* kCellLoZAcute */
1278 0x5A, /* kCellUpZDot */
1279 0x7A, /* kCellLoZDot */
1280 0xB7, /* kCellMidDot */
1281 0x43, /* kCellUpCCaron */
1282 0x63, /* kCellLoCCaron */
1283 0x65, /* kCellLoECaron */
1284 0x61, /* kCellLoRCaron */
1285 0x9A, /* kCellLoSCaron */
1286 0x74, /* kCellLoTCaron */
1287 0x9E, /* kCellLoZCaron */
1288 0xDD, /* kCellUpYAcute */
1289 0xFD, /* kCellLoYAcute */
1290 0x75, /* kCellLoUDblac */
1291 0x75, /* kCellLoURing */
1292 0x44, /* kCellUpDStroke */
1293 0x64, /* kCellLoDStroke */
1294#endif
1295
1296 '\0' /* just so last above line can end in ',' */
1297};
1298#endif
1299
1300#ifndef NeedCell2PlainAsciiMap
1301#define NeedCell2PlainAsciiMap 0
1302#endif
1303
1304#if NeedCell2PlainAsciiMap
1305/* Plain ascii - remove accents when possible */
1306LOCALVAR const char Cell2PlainAsciiMap[] = {
1307 'A', /* kCellUpA */
1308 'B', /* kCellUpB */
1309 'C', /* kCellUpC */
1310 'D', /* kCellUpD */
1311 'E', /* kCellUpE */
1312 'F', /* kCellUpF */
1313 'G', /* kCellUpG */
1314 'H', /* kCellUpH */
1315 'I', /* kCellUpI */
1316 'J', /* kCellUpJ */
1317 'K', /* kCellUpK */
1318 'L', /* kCellUpL */
1319 'M', /* kCellUpM */
1320 'N', /* kCellUpN */
1321 'O', /* kCellUpO */
1322 'P', /* kCellUpP */
1323 'Q', /* kCellUpQ */
1324 'R', /* kCellUpR */
1325 'S', /* kCellUpS */
1326 'T', /* kCellUpT */
1327 'U', /* kCellUpU */
1328 'V', /* kCellUpV */
1329 'W', /* kCellUpW */
1330 'X', /* kCellUpX */
1331 'Y', /* kCellUpY */
1332 'Z', /* kCellUpZ */
1333 'a', /* kCellLoA */
1334 'b', /* kCellLoB */
1335 'c', /* kCellLoC */
1336 'd', /* kCellLoD */
1337 'e', /* kCellLoE */
1338 'f', /* kCellLoF */
1339 'g', /* kCellLoG */
1340 'h', /* kCellLoH */
1341 'i', /* kCellLoI */
1342 'j', /* kCellLoJ */
1343 'k', /* kCellLoK */
1344 'l', /* kCellLoL */
1345 'm', /* kCellLoM */
1346 'n', /* kCellLoN */
1347 'o', /* kCellLoO */
1348 'p', /* kCellLoP */
1349 'q', /* kCellLoQ */
1350 'r', /* kCellLoR */
1351 's', /* kCellLoS */
1352 't', /* kCellLoT */
1353 'u', /* kCellLoU */
1354 'v', /* kCellLoV */
1355 'w', /* kCellLoW */
1356 'x', /* kCellLoX */
1357 'y', /* kCellLoY */
1358 'z', /* kCellLoZ */
1359 '0', /* kCellDigit0 */
1360 '1', /* kCellDigit1 */
1361 '2', /* kCellDigit2 */
1362 '3', /* kCellDigit3 */
1363 '4', /* kCellDigit4 */
1364 '5', /* kCellDigit5 */
1365 '6', /* kCellDigit6 */
1366 '7', /* kCellDigit7 */
1367 '8', /* kCellDigit8 */
1368 '9', /* kCellDigit9 */
1369 '!', /* kCellExclamation */
1370 '&', /* kCellAmpersand */
1371 '\047', /* kCellApostrophe */
1372 '(', /* kCellLeftParen */
1373 ')', /* kCellRightParen */
1374 ',', /* kCellComma */
1375 '-', /* kCellHyphen */
1376 '.', /* kCellPeriod */
1377 '/', /* kCellSlash */
1378 ':', /* kCellColon */
1379 ';', /* kCellSemicolon */
1380 '?', /* kCellQuestion */
1381 '_', /* kCellEllipsis */
1382 '_', /* kCellUnderscore */
1383 '"', /* kCellLeftDQuote */
1384 '"', /* kCellRightDQuote */
1385 '\047', /* kCellLeftSQuote */
1386 '\047', /* kCellRightSQuote */
1387 'c', /* kCellCopyright */
1388 ' ', /* kCellSpace */
1389
1390#if NeedIntlChars
1391 'A', /* kCellUpADiaeresis */
1392 'A', /* kCellUpARing */
1393 'C', /* kCellUpCCedilla */
1394 'E', /* kCellUpEAcute */
1395 'N', /* kCellUpNTilde */
1396 'O', /* kCellUpODiaeresis */
1397 'U', /* kCellUpUDiaeresis */
1398 'a', /* kCellLoAAcute */
1399 'a', /* kCellLoAGrave */
1400 'a', /* kCellLoACircumflex */
1401 'a', /* kCellLoADiaeresis */
1402 'a', /* kCellLoATilde */
1403 'a', /* kCellLoARing */
1404 'c', /* kCellLoCCedilla */
1405 'e', /* kCellLoEAcute */
1406 'e', /* kCellLoEGrave */
1407 'e', /* kCellLoECircumflex */
1408 'e', /* kCellLoEDiaeresis */
1409 'i', /* kCellLoIAcute */
1410 'i', /* kCellLoIGrave */
1411 'i', /* kCellLoICircumflex */
1412 'i', /* kCellLoIDiaeresis */
1413 'n', /* kCellLoNTilde */
1414 'o', /* kCellLoOAcute */
1415 'o', /* kCellLoOGrave */
1416 'o', /* kCellLoOCircumflex */
1417 'o', /* kCellLoODiaeresis */
1418 'o', /* kCellLoOTilde */
1419 'u', /* kCellLoUAcute */
1420 'u', /* kCellLoUGrave */
1421 'u', /* kCellLoUCircumflex */
1422 'u', /* kCellLoUDiaeresis */
1423
1424 '?', /* kCellUpAE */
1425 'O', /* kCellUpOStroke */
1426
1427 '?', /* kCellLoAE */
1428 'o', /* kCellLoOStroke */
1429 '?', /* kCellInvQuestion */
1430 '!', /* kCellInvExclam */
1431
1432 'A', /* kCellUpAGrave */
1433 'A', /* kCellUpATilde */
1434 'O', /* kCellUpOTilde */
1435 '?', /* kCellUpLigatureOE */
1436 '?', /* kCellLoLigatureOE */
1437
1438 'y', /* kCellLoYDiaeresis */
1439 'Y', /* kCellUpYDiaeresis */
1440
1441 'A', /* kCellUpACircumflex */
1442 'E', /* kCellUpECircumflex */
1443 'A', /* kCellUpAAcute */
1444 'E', /* kCellUpEDiaeresis */
1445 'E', /* kCellUpEGrave */
1446 'A', /* kCellUpIAcute */
1447 'I', /* kCellUpICircumflex */
1448 'I', /* kCellUpIDiaeresis */
1449 'I', /* kCellUpIGrave */
1450 'O', /* kCellUpOAcute */
1451 'O', /* kCellUpOCircumflex */
1452
1453 'O', /* kCellUpOGrave */
1454 'U', /* kCellUpUAcute */
1455 'U', /* kCellUpUCircumflex */
1456 'U', /* kCellUpUGrave */
1457 'B', /* kCellSharpS */
1458
1459 'A', /* kCellUpACedille */
1460 'a', /* kCellLoACedille */
1461 'C', /* kCellUpCAcute */
1462 'c', /* kCellLoCAcute */
1463 'E', /* kCellUpECedille */
1464 'e', /* kCellLoECedille */
1465 'L', /* kCellUpLBar */
1466 'l', /* kCellLoLBar */
1467 'N', /* kCellUpNAcute */
1468 'n', /* kCellLoNAcute */
1469 'S', /* kCellUpSAcute */
1470 's', /* kCellLoSAcute */
1471 'Z', /* kCellUpZAcute */
1472 'z', /* kCellLoZAcute */
1473 'Z', /* kCellUpZDot */
1474 'z', /* kCellLoZDot */
1475 '.', /* kCellMidDot */
1476 'C', /* kCellUpCCaron */
1477 'c', /* kCellLoCCaron */
1478 'e', /* kCellLoECaron */
1479 'r', /* kCellLoRCaron */
1480 's', /* kCellLoSCaron */
1481 't', /* kCellLoTCaron */
1482 'z', /* kCellLoZCaron */
1483 'Y', /* kCellUpYAcute */
1484 'y', /* kCellLoYAcute */
1485 'u', /* kCellLoUDblac */
1486 'u', /* kCellLoURing */
1487 'D', /* kCellUpDStroke */
1488 'd', /* kCellLoDStroke */
1489#endif
1490
1491 '\0' /* just so last above line can end in ',' */
1492};
1493#endif
1494
1495#ifndef NeedCell2UnicodeMap
1496#define NeedCell2UnicodeMap 0
1497#endif
1498
1499#if NeedCell2UnicodeMap
1500/* Unicode character set */
1501LOCALVAR const ui4b Cell2UnicodeMap[] = {
1502 0x0041, /* kCellUpA */
1503 0x0042, /* kCellUpB */
1504 0x0043, /* kCellUpC */
1505 0x0044, /* kCellUpD */
1506 0x0045, /* kCellUpE */
1507 0x0046, /* kCellUpF */
1508 0x0047, /* kCellUpG */
1509 0x0048, /* kCellUpH */
1510 0x0049, /* kCellUpI */
1511 0x004A, /* kCellUpJ */
1512 0x004B, /* kCellUpK */
1513 0x004C, /* kCellUpL */
1514 0x004D, /* kCellUpM */
1515 0x004E, /* kCellUpN */
1516 0x004F, /* kCellUpO */
1517 0x0050, /* kCellUpP */
1518 0x0051, /* kCellUpQ */
1519 0x0052, /* kCellUpR */
1520 0x0053, /* kCellUpS */
1521 0x0054, /* kCellUpT */
1522 0x0055, /* kCellUpU */
1523 0x0056, /* kCellUpV */
1524 0x0057, /* kCellUpW */
1525 0x0058, /* kCellUpX */
1526 0x0059, /* kCellUpY */
1527 0x005A, /* kCellUpZ */
1528 0x0061, /* kCellLoA */
1529 0x0062, /* kCellLoB */
1530 0x0063, /* kCellLoC */
1531 0x0064, /* kCellLoD */
1532 0x0065, /* kCellLoE */
1533 0x0066, /* kCellLoF */
1534 0x0067, /* kCellLoG */
1535 0x0068, /* kCellLoH */
1536 0x0069, /* kCellLoI */
1537 0x006A, /* kCellLoJ */
1538 0x006B, /* kCellLoK */
1539 0x006C, /* kCellLoL */
1540 0x006D, /* kCellLoM */
1541 0x006E, /* kCellLoN */
1542 0x006F, /* kCellLoO */
1543 0x0070, /* kCellLoP */
1544 0x0071, /* kCellLoQ */
1545 0x0072, /* kCellLoR */
1546 0x0073, /* kCellLoS */
1547 0x0074, /* kCellLoT */
1548 0x0075, /* kCellLoU */
1549 0x0076, /* kCellLoV */
1550 0x0077, /* kCellLoW */
1551 0x0078, /* kCellLoX */
1552 0x0079, /* kCellLoY */
1553 0x007A, /* kCellLoZ */
1554 0x0030, /* kCellDigit0 */
1555 0x0031, /* kCellDigit1 */
1556 0x0032, /* kCellDigit2 */
1557 0x0033, /* kCellDigit3 */
1558 0x0034, /* kCellDigit4 */
1559 0x0035, /* kCellDigit5 */
1560 0x0036, /* kCellDigit6 */
1561 0x0037, /* kCellDigit7 */
1562 0x0038, /* kCellDigit8 */
1563 0x0039, /* kCellDigit9 */
1564 0x0021, /* kCellExclamation */
1565 0x0026, /* kCellAmpersand */
1566 0x0027, /* kCellApostrophe */
1567 0x0028, /* kCellLeftParen */
1568 0x0029, /* kCellRightParen */
1569 0x002C, /* kCellComma */
1570 0x002D, /* kCellHyphen */
1571 0x002E, /* kCellPeriod */
1572 0x002F, /* kCellSlash */
1573 0x003A, /* kCellColon */
1574 0x003B, /* kCellSemicolon */
1575 0x003F, /* kCellQuestion */
1576 0x2026, /* kCellEllipsis */
1577 0x005F, /* kCellUnderscore */
1578 0x201C, /* kCellLeftDQuote */
1579 0x201D, /* kCellRightDQuote */
1580 0x2018, /* kCellLeftSQuote */
1581 0x2019, /* kCellRightSQuote */
1582 0x00A9, /* kCellCopyright */
1583 0x0020, /* kCellSpace */
1584
1585#if NeedIntlChars
1586 0x00C4, /* kCellUpADiaeresis */
1587 0x00C5, /* kCellUpARing */
1588 0x00C7, /* kCellUpCCedilla */
1589 0x00C9, /* kCellUpEAcute */
1590 0x00D1, /* kCellUpNTilde */
1591 0x00D6, /* kCellUpODiaeresis */
1592 0x00DC, /* kCellUpUDiaeresis */
1593 0x00E1, /* kCellLoAAcute */
1594 0x00E0, /* kCellLoAGrave */
1595 0x00E2, /* kCellLoACircumflex */
1596 0x00E4, /* kCellLoADiaeresis */
1597 0x00E3, /* kCellLoATilde */
1598 0x00E5, /* kCellLoARing */
1599 0x00E7, /* kCellLoCCedilla */
1600 0x00E9, /* kCellLoEAcute */
1601 0x00E8, /* kCellLoEGrave */
1602 0x00EA, /* kCellLoECircumflex */
1603 0x00EB, /* kCellLoEDiaeresis */
1604 0x00ED, /* kCellLoIAcute */
1605 0x00EC, /* kCellLoIGrave */
1606 0x00EE, /* kCellLoICircumflex */
1607 0x00EF, /* kCellLoIDiaeresis */
1608 0x00F1, /* kCellLoNTilde */
1609 0x00F3, /* kCellLoOAcute */
1610 0x00F2, /* kCellLoOGrave */
1611 0x00F4, /* kCellLoOCircumflex */
1612 0x00F6, /* kCellLoODiaeresis */
1613 0x00F5, /* kCellLoOTilde */
1614 0x00FA, /* kCellLoUAcute */
1615 0x00F9, /* kCellLoUGrave */
1616 0x00FB, /* kCellLoUCircumflex */
1617 0x00FC, /* kCellLoUDiaeresis */
1618
1619 0x00C6, /* kCellUpAE */
1620 0x00D8, /* kCellUpOStroke */
1621
1622 0x00E6, /* kCellLoAE */
1623 0x00F8, /* kCellLoOStroke */
1624 0x00BF, /* kCellInvQuestion */
1625 0x00A1, /* kCellInvExclam */
1626
1627 0x00C0, /* kCellUpAGrave */
1628 0x00C3, /* kCellUpATilde */
1629 0x00D5, /* kCellUpOTilde */
1630 0x0152, /* kCellUpLigatureOE */
1631 0x0153, /* kCellLoLigatureOE */
1632
1633 0x00FF, /* kCellLoYDiaeresis */
1634 0x0178, /* kCellUpYDiaeresis */
1635
1636 0x00C2, /* kCellUpACircumflex */
1637 0x00CA, /* kCellUpECircumflex */
1638 0x00C1, /* kCellUpAAcute */
1639 0x00CB, /* kCellUpEDiaeresis */
1640 0x00C8, /* kCellUpEGrave */
1641 0x00CD, /* kCellUpIAcute */
1642 0x00CE, /* kCellUpICircumflex */
1643 0x00CF, /* kCellUpIDiaeresis */
1644 0x00CC, /* kCellUpIGrave */
1645 0x00D3, /* kCellUpOAcute */
1646 0x00D4, /* kCellUpOCircumflex */
1647
1648 0x00D2, /* kCellUpOGrave */
1649 0x00DA, /* kCellUpUAcute */
1650 0x00DB, /* kCellUpUCircumflex */
1651 0x00D9, /* kCellUpUGrave */
1652 0x00DF, /* kCellSharpS */
1653
1654 0x0104, /* kCellUpACedille */
1655 0x0105, /* kCellLoACedille */
1656 0x0106, /* kCellUpCAcute */
1657 0x0107, /* kCellLoCAcute */
1658 0x0118, /* kCellUpECedille */
1659 0x0119, /* kCellLoECedille */
1660 0x0141, /* kCellUpLBar */
1661 0x0142, /* kCellLoLBar */
1662 0x0143, /* kCellUpNAcute */
1663 0x0144, /* kCellLoNAcute */
1664 0x015A, /* kCellUpSAcute */
1665 0x015B, /* kCellLoSAcute */
1666 0x0179, /* kCellUpZAcute */
1667 0x017A, /* kCellLoZAcute */
1668 0x017B, /* kCellUpZDot */
1669 0x017C, /* kCellLoZDot */
1670 0x00B7, /* kCellMidDot */
1671 0x010C, /* kCellUpCCaron */
1672 0x010D, /* kCellLoCCaron */
1673 0x011B, /* kCellLoECaron */
1674 0x0159, /* kCellLoRCaron */
1675 0x0161, /* kCellLoSCaron */
1676 0x0165, /* kCellLoTCaron */
1677 0x017E, /* kCellLoZCaron */
1678 0x00DD, /* kCellUpYAcute */
1679 0x00FD, /* kCellLoYAcute */
1680 0x0171, /* kCellLoUDblac */
1681 0x016F, /* kCellLoURing */
1682 0x0110, /* kCellUpDStroke */
1683 0x0111, /* kCellLoDStroke */
1684#endif
1685
1686 '\0' /* just so last above line can end in ',' */
1687};
1688#endif
1689
1690LOCALVAR blnr SpeedStopped = falseblnr;
1691
1692LOCALVAR blnr RunInBackground = (WantInitRunInBackground != 0);
1693
1694#if VarFullScreen
1695LOCALVAR blnr WantFullScreen = (WantInitFullScreen != 0);
1696#endif
1697
1698#if EnableMagnify
1699LOCALVAR blnr WantMagnify = (WantInitMagnify != 0);
1700#endif
1701
1702#ifndef NeedRequestInsertDisk
1703#define NeedRequestInsertDisk 0
1704#endif
1705
1706#ifndef NeedDoMoreCommandsMsg
1707#define NeedDoMoreCommandsMsg 0
1708#endif
1709
1710#ifndef NeedDoAboutMsg
1711#define NeedDoAboutMsg 0
1712#endif
1713
1714#if NeedRequestInsertDisk
1715LOCALVAR blnr RequestInsertDisk = falseblnr;
1716#endif
1717
1718#ifndef NeedRequestIthDisk
1719#define NeedRequestIthDisk 0
1720#endif
1721
1722#if NeedRequestIthDisk
1723LOCALVAR ui3r RequestIthDisk = 0;
1724#endif
1725
1726#if UseControlKeys
1727LOCALVAR blnr ControlKeyPressed = falseblnr;
1728#endif
1729
1730#ifndef kStrCntrlKyName
1731#define kStrCntrlKyName "control"
1732#endif
1733
1734#ifndef kControlModeKey
1735#define kControlModeKey kStrCntrlKyName
1736#endif
1737
1738#ifndef kUnMappedKey
1739#define kUnMappedKey kStrCntrlKyName
1740#endif
1741
1742LOCALFUNC char * GetSubstitutionStr(char x)
1743{
1744 char *s;
1745
1746 switch (x) {
1747 case 'w':
1748 s = kStrHomePage;
1749 break;
1750 case 'y':
1751 s = kStrCopyrightYear;
1752 break;
1753 case 'p':
1754 s = kStrAppName;
1755 break;
1756 case 'v':
1757 s = kAppVariationStr;
1758 break;
1759 case 'r':
1760 s = RomFileName;
1761 break;
1762 case 'c':
1763 s = kControlModeKey;
1764 break;
1765 case 'm':
1766 s = kUnMappedKey;
1767 break;
1768#if UseControlKeys
1769 case 'k':
1770 if (ControlKeyPressed) {
1771 s = kStrPressed;
1772 } else {
1773 s = kStrReleased;
1774 }
1775 break;
1776#endif
1777#if EnableMagnify
1778 case 'g':
1779 if (WantMagnify) {
1780 s = kStrOn;
1781 } else {
1782 s = kStrOff;
1783 }
1784 break;
1785#endif
1786#if VarFullScreen
1787 case 'f':
1788 if (WantFullScreen) {
1789 s = kStrOn;
1790 } else {
1791 s = kStrOff;
1792 }
1793 break;
1794#endif
1795 case 'b':
1796 if (RunInBackground) {
1797 s = kStrOn;
1798 } else {
1799 s = kStrOff;
1800 }
1801 break;
1802 case 'h':
1803 if (SpeedStopped) {
1804 s = kStrStoppedOn;
1805 } else {
1806 s = kStrStoppedOff;
1807 }
1808 break;
1809#if EnableAutoSlow
1810 case 'l':
1811 if (WantNotAutoSlow) {
1812 s = kStrStoppedOff;
1813 } else {
1814 s = kStrStoppedOn;
1815 }
1816 break;
1817#endif
1818 case 's':
1819 switch (SpeedValue) {
1820 case 0:
1821 s = "1x";
1822 break;
1823 case 1:
1824 s = "2x";
1825 break;
1826 case 2:
1827 s = "4x";
1828 break;
1829 case 3:
1830 s = "8x";
1831 break;
1832 case 4:
1833 s = "16x";
1834 break;
1835 case 5:
1836 s = "32x";
1837 break;
1838 default:
1839 s = kStrSpeedValueAllOut;
1840 break;
1841 }
1842 break;
1843 default:
1844 s = "???";
1845 break;
1846 }
1847 return s;
1848}
1849
1850LOCALFUNC int ClStrSizeSubstCStr(char *s)
1851{
1852 /* must match ClStrAppendSubstCStr ! */
1853
1854 char *p = s;
1855 char c;
1856 int L = 0;
1857
1858 while (0 != (c = *p++)) {
1859 if ('^' == c) {
1860 if (0 == (c = *p++)) {
1861 goto l_exit; /* oops, unexpected end of string, abort */
1862 } else if ('^' == c) {
1863 ++L;
1864 } else {
1865 L += ClStrSizeSubstCStr(GetSubstitutionStr(c));
1866 }
1867 } else if (';' == c) {
1868 if (0 == (c = *p++)) {
1869 goto l_exit; /* oops, unexpected end of string, abort */
1870 }
1871
1872 switch (c) {
1873 case 'l':
1874#if NeedIntlChars
1875 case '`':
1876 case 'd':
1877 case 'e':
1878 case 'i':
1879 case 'n':
1880 case 'u':
1881 case 'v':
1882 case 'E':
1883 case 'r':
1884#endif
1885 if (0 == (c = *p++)) {
1886 /* oops, unexpected end of string, abort */
1887 goto l_exit;
1888 }
1889 (void) c; /* not needed for computing size */
1890 break;
1891 default:
1892 break;
1893 }
1894 ++L;
1895 } else {
1896 ++L;
1897 }
1898 }
1899
1900l_exit:
1901 return L;
1902}
1903
1904LOCALPROC ClStrAppendChar(int *L0, ui3b *r, ui3b c)
1905{
1906 int L = *L0;
1907
1908 r[L] = c;
1909 L++;
1910 *L0 = L;
1911}
1912
1913LOCALPROC ClStrAppendSubstCStr(int *L, ui3b *r, char *s)
1914{
1915 /* must match ClStrSizeSubstCStr ! */
1916
1917 char *p = s;
1918 char c;
1919 ui3b x;
1920
1921 while (0 != (c = *p++)) {
1922 if ('^' == c) {
1923 if (0 == (c = *p++)) {
1924 return; /* oops, unexpected end of string, abort */
1925 } else if ('^' == c) {
1926 ClStrAppendChar(L, r, c);
1927 } else {
1928 ClStrAppendSubstCStr(L, r, GetSubstitutionStr(c));
1929 }
1930 } else if (';' == c) {
1931 if (0 == (c = *p++)) {
1932 return; /* oops, unexpected end of string, abort */
1933 }
1934
1935 switch (c) {
1936 case 'g': x = kCellCopyright; break;
1937 case 'l':
1938 if (0 == (c = *p++)) {
1939 /* oops, unexpected end of string, abort */
1940 return;
1941 }
1942
1943 switch (c) {
1944 case 'a': x = kCellApostrophe; break;
1945 case 'l': x = kCellEllipsis; break;
1946 case 's': x = kCellSemicolon; break;
1947#if NeedIntlChars
1948 case 'E': x = kCellUpAE; break;
1949 case 'e': x = kCellLoAE; break;
1950 case '.': x = kCellMidDot; break;
1951#endif
1952 default: x = kCellQuestion; break;
1953 }
1954 break;
1955 case '[': x = kCellLeftDQuote; break;
1956 case '{': x = kCellRightDQuote; break;
1957 case ']': x = kCellLeftSQuote; break;
1958 case '}': x = kCellRightSQuote; break;
1959#if NeedIntlChars
1960 case '?': x = kCellInvQuestion; break;
1961 case 'A': x = kCellUpARing; break;
1962 case 'C': x = kCellUpCCedilla; break;
1963 case 'O': x = kCellUpOStroke; break;
1964 case 'Q': x = kCellUpLigatureOE; break;
1965 case '`':
1966 if (0 == (c = *p++)) {
1967 /* oops, unexpected end of string, abort */
1968 return;
1969 }
1970
1971 switch (c) {
1972 case 'A': x = kCellUpAGrave; break;
1973 case 'E': x = kCellUpEGrave; break;
1974 case 'I': x = kCellUpIGrave; break;
1975 case 'O': x = kCellUpOGrave; break;
1976 case 'U': x = kCellUpUGrave; break;
1977 case 'a': x = kCellLoAGrave; break;
1978 case 'e': x = kCellLoEGrave; break;
1979 case 'i': x = kCellLoIGrave; break;
1980 case 'o': x = kCellLoOGrave; break;
1981 case 'u': x = kCellLoUGrave; break;
1982 default: x = kCellQuestion; break;
1983 }
1984 break;
1985 case 'a': x = kCellLoARing; break;
1986 case 'c': x = kCellLoCCedilla; break;
1987 case 'd':
1988 if (0 == (c = *p++)) {
1989 /* oops, unexpected end of string, abort */
1990 return;
1991 }
1992
1993 switch (c) {
1994 case 'A': x = kCellUpACedille; break;
1995 case 'a': x = kCellLoACedille; break;
1996 case 'D': x = kCellUpDStroke; break;
1997 case 'd': x = kCellLoDStroke; break;
1998 case 'E': x = kCellUpECedille; break;
1999 case 'e': x = kCellLoECedille; break;
2000 case 'L': x = kCellUpLBar; break;
2001 case 'l': x = kCellLoLBar; break;
2002 case 'Z': x = kCellUpZDot; break;
2003 case 'z': x = kCellLoZDot; break;
2004 default: x = kCellQuestion; break;
2005 }
2006 break;
2007 case 'e':
2008 if (0 == (c = *p++)) {
2009 /* oops, unexpected end of string, abort */
2010 return;
2011 }
2012
2013 switch (c) {
2014 case 'A': x = kCellUpAAcute; break;
2015 case 'E': x = kCellUpEAcute; break;
2016 case 'I': x = kCellUpIAcute; break;
2017 case 'O': x = kCellUpOAcute; break;
2018 case 'U': x = kCellUpUAcute; break;
2019 case 'a': x = kCellLoAAcute; break;
2020 case 'e': x = kCellLoEAcute; break;
2021 case 'i': x = kCellLoIAcute; break;
2022 case 'o': x = kCellLoOAcute; break;
2023 case 'u': x = kCellLoUAcute; break;
2024
2025 case 'C': x = kCellUpCAcute; break;
2026 case 'c': x = kCellLoCAcute; break;
2027 case 'N': x = kCellUpNAcute; break;
2028 case 'n': x = kCellLoNAcute; break;
2029 case 'S': x = kCellUpSAcute; break;
2030 case 's': x = kCellLoSAcute; break;
2031 case 'Z': x = kCellUpZAcute; break;
2032 case 'z': x = kCellLoZAcute; break;
2033 case 'Y': x = kCellUpYAcute; break;
2034 case 'y': x = kCellLoYAcute; break;
2035
2036 default: x = kCellQuestion; break;
2037 }
2038 break;
2039 case 'i':
2040 if (0 == (c = *p++)) {
2041 /* oops, unexpected end of string, abort */
2042 return;
2043 }
2044
2045 switch (c) {
2046 case 'A': x = kCellUpACircumflex; break;
2047 case 'E': x = kCellUpECircumflex; break;
2048 case 'I': x = kCellUpICircumflex; break;
2049 case 'O': x = kCellUpOCircumflex; break;
2050 case 'U': x = kCellUpUCircumflex; break;
2051 case 'a': x = kCellLoACircumflex; break;
2052 case 'e': x = kCellLoECircumflex; break;
2053 case 'i': x = kCellLoICircumflex; break;
2054 case 'o': x = kCellLoOCircumflex; break;
2055 case 'u': x = kCellLoUCircumflex; break;
2056 default: x = kCellQuestion; break;
2057 }
2058 break;
2059 case 'n':
2060 if (0 == (c = *p++)) {
2061 /* oops, unexpected end of string, abort */
2062 return;
2063 }
2064
2065 switch (c) {
2066 case 'A': x = kCellUpATilde; break;
2067 case 'N': x = kCellUpNTilde; break;
2068 case 'O': x = kCellUpOTilde; break;
2069 case 'a': x = kCellLoATilde; break;
2070 case 'n': x = kCellLoNTilde; break;
2071 case 'o': x = kCellLoOTilde; break;
2072 default: x = kCellQuestion; break;
2073 }
2074 break;
2075 case 'o': x = kCellLoOStroke; break;
2076 case 'q': x = kCellLoLigatureOE; break;
2077 case 's': x = kCellSharpS; break;
2078 case 'u':
2079 if (0 == (c = *p++)) {
2080 /* oops, unexpected end of string, abort */
2081 return;
2082 }
2083
2084 switch (c) {
2085 case 'A': x = kCellUpADiaeresis; break;
2086 case 'E': x = kCellUpEDiaeresis; break;
2087 case 'I': x = kCellUpIDiaeresis; break;
2088 case 'O': x = kCellUpODiaeresis; break;
2089 case 'U': x = kCellUpUDiaeresis; break;
2090 case 'Y': x = kCellUpYDiaeresis; break;
2091 case 'a': x = kCellLoADiaeresis; break;
2092 case 'e': x = kCellLoEDiaeresis; break;
2093 case 'i': x = kCellLoIDiaeresis; break;
2094 case 'o': x = kCellLoODiaeresis; break;
2095 case 'u': x = kCellLoUDiaeresis; break;
2096 case 'y': x = kCellLoYDiaeresis; break;
2097 default: x = kCellQuestion; break;
2098 }
2099 break;
2100 case 'v':
2101 if (0 == (c = *p++)) {
2102 /* oops, unexpected end of string, abort */
2103 return;
2104 }
2105
2106 switch (c) {
2107 case 'C': x = kCellUpCCaron; break;
2108 case 'c': x = kCellLoCCaron; break;
2109 case 'e': x = kCellLoECaron; break;
2110 case 'r': x = kCellLoRCaron; break;
2111 case 's': x = kCellLoSCaron; break;
2112 case 't': x = kCellLoTCaron; break;
2113 case 'z': x = kCellLoZCaron; break;
2114 default: x = kCellQuestion; break;
2115 }
2116 break;
2117 case 'E':
2118 if (0 == (c = *p++)) {
2119 /* oops, unexpected end of string, abort */
2120 return;
2121 }
2122
2123 switch (c) {
2124 case 'u': x = kCellLoUDblac; break;
2125 default: x = kCellQuestion; break;
2126 }
2127 break;
2128 case 'r':
2129 if (0 == (c = *p++)) {
2130 /* oops, unexpected end of string, abort */
2131 return;
2132 }
2133
2134 switch (c) {
2135 case 'u': x = kCellLoURing; break;
2136 default: x = kCellQuestion; break;
2137 }
2138 break;
2139#endif
2140 default: x = kCellQuestion; break;
2141 }
2142 ClStrAppendChar(L, r, x);
2143 } else {
2144 switch (c) {
2145 case 'A': x = kCellUpA; break;
2146 case 'B': x = kCellUpB; break;
2147 case 'C': x = kCellUpC; break;
2148 case 'D': x = kCellUpD; break;
2149 case 'E': x = kCellUpE; break;
2150 case 'F': x = kCellUpF; break;
2151 case 'G': x = kCellUpG; break;
2152 case 'H': x = kCellUpH; break;
2153 case 'I': x = kCellUpI; break;
2154 case 'J': x = kCellUpJ; break;
2155 case 'K': x = kCellUpK; break;
2156 case 'L': x = kCellUpL; break;
2157 case 'M': x = kCellUpM; break;
2158 case 'N': x = kCellUpN; break;
2159 case 'O': x = kCellUpO; break;
2160 case 'P': x = kCellUpP; break;
2161 case 'Q': x = kCellUpQ; break;
2162 case 'R': x = kCellUpR; break;
2163 case 'S': x = kCellUpS; break;
2164 case 'T': x = kCellUpT; break;
2165 case 'U': x = kCellUpU; break;
2166 case 'V': x = kCellUpV; break;
2167 case 'W': x = kCellUpW; break;
2168 case 'X': x = kCellUpX; break;
2169 case 'Y': x = kCellUpY; break;
2170 case 'Z': x = kCellUpZ; break;
2171 case 'a': x = kCellLoA; break;
2172 case 'b': x = kCellLoB; break;
2173 case 'c': x = kCellLoC; break;
2174 case 'd': x = kCellLoD; break;
2175 case 'e': x = kCellLoE; break;
2176 case 'f': x = kCellLoF; break;
2177 case 'g': x = kCellLoG; break;
2178 case 'h': x = kCellLoH; break;
2179 case 'i': x = kCellLoI; break;
2180 case 'j': x = kCellLoJ; break;
2181 case 'k': x = kCellLoK; break;
2182 case 'l': x = kCellLoL; break;
2183 case 'm': x = kCellLoM; break;
2184 case 'n': x = kCellLoN; break;
2185 case 'o': x = kCellLoO; break;
2186 case 'p': x = kCellLoP; break;
2187 case 'q': x = kCellLoQ; break;
2188 case 'r': x = kCellLoR; break;
2189 case 's': x = kCellLoS; break;
2190 case 't': x = kCellLoT; break;
2191 case 'u': x = kCellLoU; break;
2192 case 'v': x = kCellLoV; break;
2193 case 'w': x = kCellLoW; break;
2194 case 'x': x = kCellLoX; break;
2195 case 'y': x = kCellLoY; break;
2196 case 'z': x = kCellLoZ; break;
2197 case '0': x = kCellDigit0; break;
2198 case '1': x = kCellDigit1; break;
2199 case '2': x = kCellDigit2; break;
2200 case '3': x = kCellDigit3; break;
2201 case '4': x = kCellDigit4; break;
2202 case '5': x = kCellDigit5; break;
2203 case '6': x = kCellDigit6; break;
2204 case '7': x = kCellDigit7; break;
2205 case '8': x = kCellDigit8; break;
2206 case '9': x = kCellDigit9; break;
2207 case '!': x = kCellExclamation; break;
2208 case '&': x = kCellAmpersand; break;
2209 case '(': x = kCellLeftParen; break;
2210 case ')': x = kCellRightParen; break;
2211 case ',': x = kCellComma; break;
2212 case '-': x = kCellHyphen; break;
2213 case '.': x = kCellPeriod; break;
2214 case '/': x = kCellSlash; break;
2215 case ':': x = kCellColon; break;
2216 case ';': x = kCellSemicolon; break;
2217 case '?': x = kCellQuestion; break;
2218 case '_': x = kCellUnderscore; break;
2219 case ' ': x = kCellSpace; break;
2220 case '\047': x = kCellApostrophe; break;
2221
2222 default: x = kCellQuestion; break;
2223 }
2224 ClStrAppendChar(L, r, x);
2225 }
2226 }
2227}
2228
2229#define ClStrMaxLength 512
2230
2231LOCALPROC ClStrFromSubstCStr(int *L, ui3b *r, char *s)
2232{
2233 int n = ClStrSizeSubstCStr(s);
2234
2235 *L = 0;
2236 if (n <= ClStrMaxLength) {
2237 ClStrAppendSubstCStr(L, r, s);
2238
2239 if (n != *L) {
2240 /* try to ensure mismatch is noticed */
2241 *L = 0;
2242 }
2243 }
2244}