1 // Copyright (C) 2000-2007, Luca Padovani <padovani@sti.uniurb.it>.
2 //
3 // This file is part of GtkMathView, a flexible, high-quality rendering
4 // engine for MathML documents.
5 //
6 // GtkMathView is free software; you can redistribute it and/or modify it
7 // under the terms of the GNU Lesser General Public License as published
8 // by the Free Software Foundation; either version 3 of the License, or
9 // (at your option) any later version.
10 //
11 // GtkMathView is distributed in the hope that it will be useful, but
12 // WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 // Lesser General Public License for more details.
15 //
16 // You should have received a copy of the GNU Lesser General Public License
17 // along with this program. If not, see <http://www.gnu.org/licenses/>.
18
19 #include "TFM.hh"
20
21 static TFM::Font font = {
22 "CMBX",
23
24 0xec,
25 "TeX text",
26 0x00900000,
27 0x740c893a,
28 7,
29 128
30 };
31
32 static TFM::Dimension dimension[] = {
33 { 0x01, "slant", 0x00000000 },
34 { 0x02, "space", 0x00064fa0 },
35 { 0x03, "space_stretch", 0x000327d0 },
36 { 0x04, "space_shrink", 0x00021a8b },
37 { 0x05, "x_height", 0x00071c72 },
38 { 0x06, "quad", 0x0012eee0 },
39 { 0x07, "extra_space", 0x00021a8b }
40 };
41
42
43 static TFM::Kerning C_0b_Kerning[] = {
44 { 0x21, 0x0001cfa5 },
45 { 0x27, 0x0001cfa5 },
46 { 0x29, 0x0001cfa5 },
47 { 0x3f, 0x0001cfa5 },
48 { 0x5d, 0x0001cfa5 }
49 };
50
51 static TFM::Kerning C_20_Kerning[] = {
52 { 0x4c, 0xfff9ccce },
53 { 0x6c, 0xfffabda5 }
54 };
55
56 static TFM::Kerning C_27_Kerning[] = {
57 { 0x21, 0x00021a8b },
58 { 0x3f, 0x00021a8b }
59 };
60
61 static TFM::Kerning C_41_Kerning[] = {
62 { 0x43, 0xffff795c },
63 { 0x47, 0xffff795c },
64 { 0x4f, 0xffff795c },
65 { 0x51, 0xffff795c },
66 { 0x54, 0xfffe6c17 },
67 { 0x55, 0xffff795c },
68 { 0x56, 0xfffde575 },
69 { 0x57, 0xfffde575 },
70 { 0x59, 0xfffe6c17 },
71 { 0x74, 0xffff795c }
72 };
73
74 static TFM::Kerning C_44_Kerning[] = {
75 { 0x41, 0xffff795c },
76 { 0x56, 0xffff795c },
77 { 0x57, 0xffff795c },
78 { 0x58, 0xffff795c },
79 { 0x59, 0xffff795c }
80 };
81
82 static TFM::Kerning C_46_Kerning[] = {
83 { 0x41, 0xfffde575 },
84 { 0x43, 0xffff795c },
85 { 0x47, 0xffff795c },
86 { 0x4f, 0xffff795c },
87 { 0x51, 0xffff795c },
88 { 0x61, 0xfffe6c17 },
89 { 0x65, 0xfffe6c17 },
90 { 0x6f, 0xfffe6c17 },
91 { 0x72, 0xfffe6c17 },
92 { 0x75, 0xfffe6c17 }
93 };
94
95 static TFM::Kerning C_49_Kerning[] = {
96 { 0x49, 0x000086a4 }
97 };
98
99 static TFM::Kerning C_4b_Kerning[] = {
100 { 0x43, 0xffff795c },
101 { 0x47, 0xffff795c },
102 { 0x4f, 0xffff795c },
103 { 0x51, 0xffff795c }
104 };
105
106 static TFM::Kerning C_4c_Kerning[] = {
107 { 0x54, 0xfffe6c17 },
108 { 0x56, 0xfffde575 },
109 { 0x57, 0xfffde575 },
110 { 0x59, 0xfffe6c17 }
111 };
112
113 static TFM::Kerning C_4f_Kerning[] = {
114 { 0x41, 0xffff795c },
115 { 0x56, 0xffff795c },
116 { 0x57, 0xffff795c },
117 { 0x58, 0xffff795c },
118 { 0x59, 0xffff795c }
119 };
120
121 static TFM::Kerning C_50_Kerning[] = {
122 { 0x2c, 0xfffe6c17 },
123 { 0x2e, 0xfffe6c17 },
124 { 0x41, 0xfffe6c17 },
125 { 0x61, 0xffff795c },
126 { 0x65, 0xffff795c },
127 { 0x6f, 0xffff795c }
128 };
129
130 static TFM::Kerning C_52_Kerning[] = {
131 { 0x43, 0xffff795c },
132 { 0x47, 0xffff795c },
133 { 0x4f, 0xffff795c },
134 { 0x51, 0xffff795c },
135 { 0x54, 0xfffe6c17 },
136 { 0x55, 0xffff795c },
137 { 0x56, 0xfffde575 },
138 { 0x57, 0xfffde575 },
139 { 0x59, 0xfffe6c17 },
140 { 0x74, 0xffff795c }
141 };
142
143 static TFM::Kerning C_54_Kerning[] = {
144 { 0x41, 0xfffe6c17 },
145 { 0x61, 0xfffe6c17 },
146 { 0x65, 0xfffe6c17 },
147 { 0x6f, 0xfffe6c17 },
148 { 0x72, 0xfffe6c17 },
149 { 0x75, 0xfffe6c17 },
150 { 0x79, 0xffff795c }
151 };
152
153 static TFM::Kerning C_56_Kerning[] = {
154 { 0x41, 0xfffde575 },
155 { 0x43, 0xffff795c },
156 { 0x47, 0xffff795c },
157 { 0x4f, 0xffff795c },
158 { 0x51, 0xffff795c },
159 { 0x61, 0xfffe6c17 },
160 { 0x65, 0xfffe6c17 },
161 { 0x6f, 0xfffe6c17 },
162 { 0x72, 0xfffe6c17 },
163 { 0x75, 0xfffe6c17 }
164 };
165
166 static TFM::Kerning C_57_Kerning[] = {
167 { 0x41, 0xfffde575 },
168 { 0x43, 0xffff795c },
169 { 0x47, 0xffff795c },
170 { 0x4f, 0xffff795c },
171 { 0x51, 0xffff795c },
172 { 0x61, 0xfffe6c17 },
173 { 0x65, 0xfffe6c17 },
174 { 0x6f, 0xfffe6c17 },
175 { 0x72, 0xfffe6c17 },
176 { 0x75, 0xfffe6c17 }
177 };
178
179 static TFM::Kerning C_58_Kerning[] = {
180 { 0x43, 0xffff795c },
181 { 0x47, 0xffff795c },
182 { 0x4f, 0xffff795c },
183 { 0x51, 0xffff795c }
184 };
185
186 static TFM::Kerning C_59_Kerning[] = {
187 { 0x41, 0xfffe6c17 },
188 { 0x61, 0xfffe6c17 },
189 { 0x65, 0xfffe6c17 },
190 { 0x6f, 0xfffe6c17 },
191 { 0x72, 0xfffe6c17 },
192 { 0x75, 0xfffe6c17 }
193 };
194
195 static TFM::Kerning C_61_Kerning[] = {
196 { 0x6a, 0x00010d45 },
197 { 0x76, 0xffff795c },
198 { 0x77, 0xffff795c },
199 { 0x79, 0xffff795c }
200 };
201
202 static TFM::Kerning C_62_Kerning[] = {
203 { 0x63, 0x000086a4 },
204 { 0x64, 0x000086a4 },
205 { 0x65, 0x000086a4 },
206 { 0x6a, 0x00010d45 },
207 { 0x6f, 0x000086a4 },
208 { 0x71, 0x000086a4 },
209 { 0x76, 0xffff795c },
210 { 0x77, 0xffff795c },
211 { 0x78, 0xffff795c },
212 { 0x79, 0xffff795c }
213 };
214
215 static TFM::Kerning C_63_Kerning[] = {
216 { 0x68, 0xffff795c },
217 { 0x6b, 0xffff795c }
218 };
219
220 static TFM::Kerning C_66_Kerning[] = {
221 { 0x21, 0x0001cfa5 },
222 { 0x27, 0x0001cfa5 },
223 { 0x29, 0x0001cfa5 },
224 { 0x3f, 0x0001cfa5 },
225 { 0x5d, 0x0001cfa5 }
226 };
227
228 static TFM::Kerning C_67_Kerning[] = {
229 { 0x6a, 0x000086a4 }
230 };
231
232 static TFM::Kerning C_68_Kerning[] = {
233 { 0x62, 0xffff795c },
234 { 0x74, 0xffff795c },
235 { 0x75, 0xffff795c },
236 { 0x76, 0xffff795c },
237 { 0x77, 0xffff795c },
238 { 0x79, 0xffff795c }
239 };
240
241 static TFM::Kerning C_6b_Kerning[] = {
242 { 0x61, 0xfffef2bb },
243 { 0x61, 0xffff795c },
244 { 0x63, 0xffff795c },
245 { 0x65, 0xffff795c },
246 { 0x6f, 0xffff795c }
247 };
248
249 static TFM::Kerning C_6d_Kerning[] = {
250 { 0x62, 0xffff795c },
251 { 0x74, 0xffff795c },
252 { 0x75, 0xffff795c },
253 { 0x76, 0xffff795c },
254 { 0x77, 0xffff795c },
255 { 0x79, 0xffff795c }
256 };
257
258 static TFM::Kerning C_6e_Kerning[] = {
259 { 0x62, 0xffff795c },
260 { 0x74, 0xffff795c },
261 { 0x75, 0xffff795c },
262 { 0x76, 0xffff795c },
263 { 0x77, 0xffff795c },
264 { 0x79, 0xffff795c }
265 };
266
267 static TFM::Kerning C_6f_Kerning[] = {
268 { 0x63, 0x000086a4 },
269 { 0x64, 0x000086a4 },
270 { 0x65, 0x000086a4 },
271 { 0x6a, 0x00010d45 },
272 { 0x6f, 0x000086a4 },
273 { 0x71, 0x000086a4 },
274 { 0x76, 0xffff795c },
275 { 0x77, 0xffff795c },
276 { 0x78, 0xffff795c },
277 { 0x79, 0xffff795c }
278 };
279
280 static TFM::Kerning C_70_Kerning[] = {
281 { 0x63, 0x000086a4 },
282 { 0x64, 0x000086a4 },
283 { 0x65, 0x000086a4 },
284 { 0x6a, 0x00010d45 },
285 { 0x6f, 0x000086a4 },
286 { 0x71, 0x000086a4 },
287 { 0x76, 0xffff795c },
288 { 0x77, 0xffff795c },
289 { 0x78, 0xffff795c },
290 { 0x79, 0xffff795c }
291 };
292
293 static TFM::Kerning C_74_Kerning[] = {
294 { 0x77, 0xffff795c },
295 { 0x79, 0xffff795c }
296 };
297
298 static TFM::Kerning C_75_Kerning[] = {
299 { 0x77, 0xffff795c }
300 };
301
302 static TFM::Kerning C_76_Kerning[] = {
303 { 0x61, 0xfffef2bb },
304 { 0x61, 0xffff795c },
305 { 0x63, 0xffff795c },
306 { 0x65, 0xffff795c },
307 { 0x6f, 0xffff795c }
308 };
309
310 static TFM::Kerning C_77_Kerning[] = {
311 { 0x61, 0xffff795c },
312 { 0x63, 0xffff795c },
313 { 0x65, 0xffff795c },
314 { 0x6f, 0xffff795c }
315 };
316
317 static TFM::Kerning C_79_Kerning[] = {
318 { 0x2c, 0xfffe6c17 },
319 { 0x2e, 0xfffe6c17 },
320 { 0x61, 0xffff795c },
321 { 0x65, 0xffff795c },
322 { 0x6f, 0xffff795c }
323 };
324
325 static TFM::Ligature C_0b_Ligature[] = {
326 { 0x69, 0x00, 0x0e },
327 { 0x6c, 0x00, 0x0f }
328 };
329
330 static TFM::Ligature C_21_Ligature[] = {
331 { 0x60, 0x00, 0x3c }
332 };
333
334 static TFM::Ligature C_27_Ligature[] = {
335 { 0x27, 0x00, 0x22 }
336 };
337
338 static TFM::Ligature C_2d_Ligature[] = {
339 { 0x2d, 0x00, 0x7b }
340 };
341
342 static TFM::Ligature C_3f_Ligature[] = {
343 { 0x60, 0x00, 0x3e }
344 };
345
346 static TFM::Ligature C_60_Ligature[] = {
347 { 0x60, 0x00, 0x5c }
348 };
349
350 static TFM::Ligature C_66_Ligature[] = {
351 { 0x66, 0x00, 0x0b },
352 { 0x69, 0x00, 0x0c },
353 { 0x6c, 0x00, 0x0d }
354 };
355
356 static TFM::Ligature C_7b_Ligature[] = {
357 { 0x2d, 0x00, 0x7c }
358 };
359
360
361 static TFM::Character character[] = {
362 { 0x00, 0x000b5f69, 0x000afa50, 0x00000000, 0x00000000, 0, 0, 0, 0 },
363 { 0x01, 0x000fc710, 0x000afa50, 0x00000000, 0x00000000, 0, 0, 0, 0 },
364 { 0x02, 0x000eb9cb, 0x000afa50, 0x00000000, 0x00000000, 0, 0, 0, 0 },
365 { 0x03, 0x000d3c04, 0x000afa50, 0x00000000, 0x00000000, 0, 0, 0, 0 },
366 { 0x04, 0x000c9f40, 0x000afa50, 0x00000000, 0x00000000, 0, 0, 0, 0 },
367 { 0x05, 0x000eca3c, 0x000afa50, 0x00000000, 0x00000000, 0, 0, 0, 0 },
368 { 0x06, 0x000dac85, 0x000afa50, 0x00000000, 0x00000000, 0, 0, 0, 0 },
369 { 0x07, 0x000eb9cb, 0x000afa50, 0x00000000, 0x00000000, 0, 0, 0, 0 },
370 { 0x08, 0x000dac85, 0x000afa50, 0x00000000, 0x00000000, 0, 0, 0, 0 },
371 { 0x09, 0x000eb9cb, 0x000afa50, 0x00000000, 0x00000000, 0, 0, 0, 0 },
372 { 0x0a, 0x000dac85, 0x000afa50, 0x00000000, 0x00000000, 0, 0, 0, 0 },
373 { 0x0b, 0x000b0b59, 0x000b1c72, 0x00000000, 0x0001cfa5, 5, C_0b_Kerning, 2, C_0b_Ligature },
374 { 0x0c, 0x000a84b5, 0x000b1c72, 0x00000000, 0x00000000, 0, 0, 0, 0 },
375 { 0x0d, 0x000a84b5, 0x000b1c72, 0x00000000, 0x00000000, 0, 0, 0, 0 },
376 { 0x0e, 0x000fc710, 0x000b1c72, 0x00000000, 0x00000000, 0, 0, 0, 0 },
377 { 0x0f, 0x000fc710, 0x000b1c72, 0x00000000, 0x00000000, 0, 0, 0, 0 },
378 { 0x10, 0x0005425b, 0x00071c72, 0x00000000, 0x00000000, 0, 0, 0, 0 },
379 { 0x11, 0x0005c8fe, 0x00071c72, 0x00031c72, 0x00000000, 0, 0, 0, 0 },
380 { 0x12, 0x00097770, 0x000b1c72, 0x00000000, 0x00000000, 0, 0, 0, 0 },
381 { 0x13, 0x00097770, 0x000b1c72, 0x00000000, 0x00000000, 0, 0, 0, 0 },
382 { 0x14, 0x00097770, 0x000a1c72, 0x00000000, 0x00000000, 0, 0, 0, 0 },
383 { 0x15, 0x00097770, 0x000b1c72, 0x00000000, 0x00000000, 0, 0, 0, 0 },
384 { 0x16, 0x00097770, 0x0009948b, 0x00000000, 0x00000000, 0, 0, 0, 0 },
385 { 0x17, 0x000e4949, 0x000b1c72, 0x00000000, 0x00000000, 0, 0, 0, 0 },
386 { 0x18, 0x00086a2b, 0x00000000, 0x0002b8e4, 0x00000000, 0, 0, 0, 0 },
387 { 0x19, 0x0009de7e, 0x000b1c72, 0x00000000, 0x00000000, 0, 0, 0, 0 },
388 { 0x1a, 0x000dac85, 0x00071c72, 0x00000000, 0x00000000, 0, 0, 0, 0 },
389 { 0x1b, 0x000eb9cb, 0x00071c72, 0x00000000, 0x00000000, 0, 0, 0, 0 },
390 { 0x1c, 0x00097770, 0x0008aaab, 0x00018e39, 0x00000000, 0, 0, 0, 0 },
391 { 0x1d, 0x001122b7, 0x000afa50, 0x00000000, 0x00000000, 0, 0, 0, 0 },
392 { 0x1e, 0x00133d42, 0x000afa50, 0x00000000, 0x00000000, 0, 0, 0, 0 },
393 { 0x1f, 0x000eb9cb, 0x000bc16c, 0x0000c71c, 0x00000000, 0, 0, 0, 0 },
394 { 0x20, 0x0005425b, 0x00071c72, 0x00000000, 0x00000000, 2, C_20_Kerning, 0, 0 },
395 { 0x21, 0x0005c34e, 0x000b1c72, 0x00000000, 0x00000000, 0, 0, 1, C_21_Ligature },
396 { 0x22, 0x0009e1a4, 0x000b1c72, 0x00000000, 0x00000000, 0, 0, 0, 0 },
397 { 0x23, 0x000fc710, 0x000b1c72, 0x00031c72, 0x00000000, 0, 0, 0, 0 },
398 { 0x24, 0x00097770, 0x000c0000, 0x0000e38e, 0x00000000, 0, 0, 0, 0 },
399 { 0x25, 0x000fc710, 0x000c0000, 0x0000e38e, 0x00000000, 0, 0, 0, 0 },
400 { 0x26, 0x000eb9cb, 0x000b1c72, 0x00000000, 0x00000000, 0, 0, 0, 0 },
401 { 0x27, 0x0005425b, 0x000b1c72, 0x00000000, 0x00000000, 2, C_27_Kerning, 1, C_27_Ligature },
402 { 0x28, 0x00075ce5, 0x000c0000, 0x00040000, 0x00000000, 0, 0, 0, 0 },
403 { 0x29, 0x00075ce5, 0x000c0000, 0x00040000, 0x00000000, 0, 0, 0, 0 },
404 { 0x2a, 0x00097770, 0x000c0000, 0x00000000, 0x00000000, 0, 0, 0, 0 },
405 { 0x2b, 0x000eb9cb, 0x000a4fa0, 0x00024fa0, 0x00000000, 0, 0, 0, 0 },
406 { 0x2c, 0x0005425b, 0x000284be, 0x00031c72, 0x00000000, 0, 0, 0, 0 },
407 { 0x2d, 0x00064fa0, 0x00071c72, 0x00000000, 0x00000000, 0, 0, 1, C_2d_Ligature },
408 { 0x2e, 0x0005425b, 0x000284be, 0x00000000, 0x00000000, 0, 0, 0, 0 },
409 { 0x2f, 0x00097770, 0x000c0000, 0x00040000, 0x00000000, 0, 0, 0, 0 },
410 { 0x30, 0x00097770, 0x000a4fa5, 0x00000000, 0x00000000, 0, 0, 0, 0 },
411 { 0x31, 0x00097770, 0x000a4fa5, 0x00000000, 0x00000000, 0, 0, 0, 0 },
412 { 0x32, 0x00097770, 0x000a4fa5, 0x00000000, 0x00000000, 0, 0, 0, 0 },
413 { 0x33, 0x00097770, 0x000a4fa5, 0x00000000, 0x00000000, 0, 0, 0, 0 },
414 { 0x34, 0x00097770, 0x000a4fa5, 0x00000000, 0x00000000, 0, 0, 0, 0 },
415 { 0x35, 0x00097770, 0x000a4fa5, 0x00000000, 0x00000000, 0, 0, 0, 0 },
416 { 0x36, 0x00097770, 0x000a4fa5, 0x00000000, 0x00000000, 0, 0, 0, 0 },
417 { 0x37, 0x00097770, 0x000a4fa5, 0x00000000, 0x00000000, 0, 0, 0, 0 },
418 { 0x38, 0x00097770, 0x000a4fa5, 0x00000000, 0x00000000, 0, 0, 0, 0 },
419 { 0x39, 0x00097770, 0x000a4fa5, 0x00000000, 0x00000000, 0, 0, 0, 0 },
420 { 0x3a, 0x0005425b, 0x00071c72, 0x00000000, 0x00000000, 0, 0, 0, 0 },
421 { 0x3b, 0x0005425b, 0x00071c72, 0x00031c72, 0x00000000, 0, 0, 0, 0 },
422 { 0x3c, 0x0005c34e, 0x00080000, 0x00031c72, 0x00000000, 0, 0, 0, 0 },
423 { 0x3d, 0x000eb9cb, 0x00065b07, 0xfffe5b07, 0x00000000, 0, 0, 0, 0 },
424 { 0x3e, 0x0008f0ce, 0x00080000, 0x00031c72, 0x00000000, 0, 0, 0, 0 },
425 { 0x3f, 0x0008f0ce, 0x000b1c72, 0x00000000, 0x00000000, 0, 0, 1, C_3f_Ligature },
426 { 0x40, 0x000eb9cb, 0x000b1c72, 0x00000000, 0x00000000, 0, 0, 0, 0 },
427 { 0x41, 0x000e4949, 0x000afa50, 0x00000000, 0x00000000, 10, C_41_Kerning, 0, 0 },
428 { 0x42, 0x000d7445, 0x000afa50, 0x00000000, 0x00000000, 0, 0, 0, 0 },
429 { 0x43, 0x000dac85, 0x000afa50, 0x00000000, 0x00000000, 0, 0, 0, 0 },
430 { 0x44, 0x000e818b, 0x000afa50, 0x00000000, 0x00000000, 5, C_44_Kerning, 0, 0 },
431 { 0x45, 0x000c6cae, 0x000afa50, 0x00000000, 0x00000000, 0, 0, 0, 0 },
432 { 0x46, 0x000be60c, 0x000afa50, 0x00000000, 0x00000000, 10, C_46_Kerning, 0, 0 },
433 { 0x47, 0x000ee0fc, 0x000afa50, 0x00000000, 0x00000000, 0, 0, 0, 0 },
434 { 0x48, 0x000eca3c, 0x000afa50, 0x00000000, 0x00000000, 0, 0, 0, 0 },
435 { 0x49, 0x00072405, 0x000afa50, 0x00000000, 0x00000000, 1, C_49_Kerning, 0, 0 },
436 { 0x4a, 0x0009c5d2, 0x000afa50, 0x00000000, 0x00000000, 0, 0, 0, 0 },
437 { 0x4b, 0x000ecfec, 0x000afa50, 0x00000000, 0x00000000, 4, C_4b_Kerning, 0, 0 },
438 { 0x4c, 0x000b5f69, 0x000afa50, 0x00000000, 0x00000000, 4, C_4c_Kerning, 0, 0 },
439 { 0x4d, 0x0011f20c, 0x000afa50, 0x00000000, 0x00000000, 0, 0, 0, 0 },
440 { 0x4e, 0x000eca3c, 0x000afa50, 0x00000000, 0x00000000, 0, 0, 0, 0 },
441 { 0x4f, 0x000e38d7, 0x000afa50, 0x00000000, 0x00000000, 5, C_4f_Kerning, 0, 0 },
442 { 0x50, 0x000ceda2, 0x000afa50, 0x00000000, 0x00000000, 6, C_50_Kerning, 0, 0 },
443 { 0x51, 0x000e38d7, 0x000afa50, 0x00031c72, 0x00000000, 0, 0, 0, 0 },
444 { 0x52, 0x000e3002, 0x000afa50, 0x00000000, 0x00000000, 10, C_52_Kerning, 0, 0 },
445 { 0x53, 0x000a84b5, 0x000afa50, 0x00000000, 0x00000000, 0, 0, 0, 0 },
446 { 0x54, 0x000d2b92, 0x000afa50, 0x00000000, 0x00000000, 7, C_54_Kerning, 0, 0 },
447 { 0x55, 0x000e89c4, 0x000afa50, 0x00000000, 0x00000000, 0, 0, 0, 0 },
448 { 0x56, 0x000e4949, 0x000afa50, 0x00000000, 0x00004352, 10, C_56_Kerning, 0, 0 },
449 { 0x57, 0x00138ba4, 0x000afa50, 0x00000000, 0x00004352, 10, C_57_Kerning, 0, 0 },
450 { 0x58, 0x000e4949, 0x000afa50, 0x00000000, 0x00000000, 4, C_58_Kerning, 0, 0 },
451 { 0x59, 0x000e4949, 0x000afa50, 0x00000000, 0x0000792c, 6, C_59_Kerning, 0, 0 },
452 { 0x5a, 0x000b91fb, 0x000afa50, 0x00000000, 0x00000000, 0, 0, 0, 0 },
453 { 0x5b, 0x0005425b, 0x000c0000, 0x00040000, 0x00000000, 0, 0, 0, 0 },
454 { 0x5c, 0x0009e1a4, 0x000b1c72, 0x00000000, 0x00000000, 0, 0, 0, 0 },
455 { 0x5d, 0x0005425b, 0x000c0000, 0x00040000, 0x00000000, 0, 0, 0, 0 },
456 { 0x5e, 0x00097770, 0x000b1c72, 0x00000000, 0x00000000, 0, 0, 0, 0 },
457 { 0x5f, 0x0005425b, 0x000b1c72, 0x00000000, 0x00000000, 0, 0, 0, 0 },
458 { 0x60, 0x0005425b, 0x000b1c72, 0x00000000, 0x00000000, 0, 0, 1, C_60_Ligature },
459 { 0x61, 0x0009341e, 0x00071c72, 0x00000000, 0x00000000, 4, C_61_Kerning, 0, 0 },
460 { 0x62, 0x000a84b5, 0x000b1c72, 0x00000000, 0x00000000, 10, C_62_Kerning, 0, 0 },
461 { 0x63, 0x00086a2b, 0x00071c72, 0x00000000, 0x00000000, 2, C_63_Kerning, 0, 0 },
462 { 0x64, 0x000a84b5, 0x000b1c72, 0x00000000, 0x00000000, 0, 0, 0, 0 },
463 { 0x65, 0x0008b005, 0x00071c72, 0x00000000, 0x00000000, 0, 0, 0, 0 },
464 { 0x66, 0x0005c8fe, 0x000b1c72, 0x00000000, 0x0001cfa5, 5, C_66_Kerning, 3, C_66_Ligature },
465 { 0x67, 0x00097770, 0x00071c72, 0x00031c72, 0x00004352, 1, C_67_Kerning, 0, 0 },
466 { 0x68, 0x000a84b5, 0x000b1c72, 0x00000000, 0x00000000, 6, C_68_Kerning, 0, 0 },
467 { 0x69, 0x0005425b, 0x000b1c72, 0x00000000, 0x00000000, 0, 0, 0, 0 },
468 { 0x6a, 0x0005c8fe, 0x000b1c72, 0x00031c72, 0x00000000, 0, 0, 0, 0 },
469 { 0x6b, 0x0009fe14, 0x000b1c72, 0x00000000, 0x00000000, 5, C_6b_Kerning, 0, 0 },
470 { 0x6c, 0x0005425b, 0x000b1c72, 0x00000000, 0x00000000, 0, 0, 0, 0 },
471 { 0x6d, 0x000fc710, 0x00071c72, 0x00000000, 0x00000000, 6, C_6d_Kerning, 0, 0 },
472 { 0x6e, 0x000a84b5, 0x00071c72, 0x00000000, 0x00000000, 6, C_6e_Kerning, 0, 0 },
473 { 0x6f, 0x00097770, 0x00071c72, 0x00000000, 0x00000000, 10, C_6f_Kerning, 0, 0 },
474 { 0x70, 0x000a84b5, 0x00071c72, 0x00031c72, 0x00000000, 10, C_70_Kerning, 0, 0 },
475 { 0x71, 0x0009fe12, 0x00071c72, 0x00031c72, 0x00000000, 0, 0, 0, 0 },
476 { 0x72, 0x0007cf52, 0x00071c72, 0x00000000, 0x00000000, 0, 0, 0, 0 },
477 { 0x73, 0x000777d4, 0x00071c72, 0x00000000, 0x00000000, 0, 0, 0, 0 },
478 { 0x74, 0x00075ce5, 0x000a28a4, 0x00000000, 0x00000000, 2, C_74_Kerning, 0, 0 },
479 { 0x75, 0x000a84b5, 0x00071c72, 0x00000000, 0x00000000, 1, C_75_Kerning, 0, 0 },
480 { 0x76, 0x0009fe14, 0x00071c72, 0x00000000, 0x00004352, 5, C_76_Kerning, 0, 0 },
481 { 0x77, 0x000dac85, 0x00071c72, 0x00000000, 0x00004352, 4, C_77_Kerning, 0, 0 },
482 { 0x78, 0x0009fe14, 0x00071c72, 0x00000000, 0x00000000, 0, 0, 0, 0 },
483 { 0x79, 0x0009fe14, 0x00071c72, 0x00031c72, 0x00004352, 5, C_79_Kerning, 0, 0 },
484 { 0x7a, 0x00086a2b, 0x00071c72, 0x00000000, 0x00000000, 0, 0, 0, 0 },
485 { 0x7b, 0x00097770, 0x00071c72, 0x00000000, 0x000086a4, 0, 0, 1, C_7b_Ligature },
486 { 0x7c, 0x0012eee0, 0x00071c72, 0x00000000, 0x000086a4, 0, 0, 0, 0 },
487 { 0x7d, 0x00097770, 0x000b1c72, 0x00000000, 0x00000000, 0, 0, 0, 0 },
488 { 0x7e, 0x00097770, 0x000b1c72, 0x00000000, 0x00000000, 0, 0, 0, 0 },
489 { 0x7f, 0x00097770, 0x000b1c72, 0x00000000, 0x00000000, 0, 0, 0, 0 }
490 };
491
492 void
cmbx9_tables(TFM::Font * & _font,TFM::Dimension * & _dimension,TFM::Character * & _character)493 cmbx9_tables(TFM::Font*& _font, TFM::Dimension*& _dimension, TFM::Character*& _character)
494 {
495 _font = &font;
496 _dimension = dimension;
497 _character = character;
498 }
499