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 "CMR",
23
24 0xf2,
25 "TeX text",
26 0x00600000,
27 0xb94161a8,
28 7,
29 128
30 };
31
32 static TFM::Dimension dimension[] = {
33 { 0x01, "slant", 0x00000000 },
34 { 0x02, "space", 0x0006aaa5 },
35 { 0x03, "space_stretch", 0x00031c70 },
36 { 0x04, "space_shrink", 0x000212f5 },
37 { 0x05, "x_height", 0x0006e38d },
38 { 0x06, "quad", 0x00138e2b },
39 { 0x07, "extra_space", 0x000212f5 }
40 };
41
42
43 static TFM::Kerning C_0b_Kerning[] = {
44 { 0x21, 0x00014bd8 },
45 { 0x27, 0x00014bd8 },
46 { 0x29, 0x00014bd8 },
47 { 0x3f, 0x00014bd8 },
48 { 0x5d, 0x00014bd8 }
49 };
50
51 static TFM::Kerning C_20_Kerning[] = {
52 { 0x4c, 0xfff9a500 },
53 { 0x6c, 0xfffa5ed5 }
54 };
55
56 static TFM::Kerning C_27_Kerning[] = {
57 { 0x21, 0x000212f5 },
58 { 0x3f, 0x000212f5 }
59 };
60
61 static TFM::Kerning C_41_Kerning[] = {
62 { 0x43, 0xffff7b43 },
63 { 0x47, 0xffff7b43 },
64 { 0x4f, 0xffff7b43 },
65 { 0x51, 0xffff7b43 },
66 { 0x54, 0xfffe71c8 },
67 { 0x55, 0xffff7b43 },
68 { 0x56, 0xfffded0b },
69 { 0x57, 0xfffded0b },
70 { 0x59, 0xfffe71c8 },
71 { 0x74, 0xffff7b43 }
72 };
73
74 static TFM::Kerning C_44_Kerning[] = {
75 { 0x41, 0xffff7b43 },
76 { 0x56, 0xffff7b43 },
77 { 0x57, 0xffff7b43 },
78 { 0x58, 0xffff7b43 },
79 { 0x59, 0xffff7b43 }
80 };
81
82 static TFM::Kerning C_46_Kerning[] = {
83 { 0x41, 0xfffded0b },
84 { 0x43, 0xffff7b43 },
85 { 0x47, 0xffff7b43 },
86 { 0x4f, 0xffff7b43 },
87 { 0x51, 0xffff7b43 },
88 { 0x61, 0xfffe71c8 },
89 { 0x65, 0xfffe71c8 },
90 { 0x6f, 0xfffe71c8 },
91 { 0x72, 0xfffe71c8 },
92 { 0x75, 0xfffe71c8 }
93 };
94
95 static TFM::Kerning C_49_Kerning[] = {
96 { 0x49, 0x000084bd }
97 };
98
99 static TFM::Kerning C_4b_Kerning[] = {
100 { 0x43, 0xffff7b43 },
101 { 0x47, 0xffff7b43 },
102 { 0x4f, 0xffff7b43 },
103 { 0x51, 0xffff7b43 }
104 };
105
106 static TFM::Kerning C_4c_Kerning[] = {
107 { 0x54, 0xfffe71c8 },
108 { 0x56, 0xfffded0b },
109 { 0x57, 0xfffded0b },
110 { 0x59, 0xfffe71c8 }
111 };
112
113 static TFM::Kerning C_4f_Kerning[] = {
114 { 0x41, 0xffff7b43 },
115 { 0x56, 0xffff7b43 },
116 { 0x57, 0xffff7b43 },
117 { 0x58, 0xffff7b43 },
118 { 0x59, 0xffff7b43 }
119 };
120
121 static TFM::Kerning C_50_Kerning[] = {
122 { 0x2c, 0xfffe71c8 },
123 { 0x2e, 0xfffe71c8 },
124 { 0x41, 0xfffe71c8 },
125 { 0x61, 0xffff7b43 },
126 { 0x65, 0xffff7b43 },
127 { 0x6f, 0xffff7b43 }
128 };
129
130 static TFM::Kerning C_52_Kerning[] = {
131 { 0x43, 0xffff7b43 },
132 { 0x47, 0xffff7b43 },
133 { 0x4f, 0xffff7b43 },
134 { 0x51, 0xffff7b43 },
135 { 0x54, 0xfffe71c8 },
136 { 0x55, 0xffff7b43 },
137 { 0x56, 0xfffded0b },
138 { 0x57, 0xfffded0b },
139 { 0x59, 0xfffe71c8 },
140 { 0x74, 0xffff7b43 }
141 };
142
143 static TFM::Kerning C_54_Kerning[] = {
144 { 0x41, 0xfffe71c8 },
145 { 0x61, 0xfffe71c8 },
146 { 0x65, 0xfffe71c8 },
147 { 0x6f, 0xfffe71c8 },
148 { 0x72, 0xfffe71c8 },
149 { 0x75, 0xfffe71c8 },
150 { 0x79, 0xffff7b43 }
151 };
152
153 static TFM::Kerning C_56_Kerning[] = {
154 { 0x41, 0xfffded0b },
155 { 0x43, 0xffff7b43 },
156 { 0x47, 0xffff7b43 },
157 { 0x4f, 0xffff7b43 },
158 { 0x51, 0xffff7b43 },
159 { 0x61, 0xfffe71c8 },
160 { 0x65, 0xfffe71c8 },
161 { 0x6f, 0xfffe71c8 },
162 { 0x72, 0xfffe71c8 },
163 { 0x75, 0xfffe71c8 }
164 };
165
166 static TFM::Kerning C_57_Kerning[] = {
167 { 0x41, 0xfffded0b },
168 { 0x43, 0xffff7b43 },
169 { 0x47, 0xffff7b43 },
170 { 0x4f, 0xffff7b43 },
171 { 0x51, 0xffff7b43 },
172 { 0x61, 0xfffe71c8 },
173 { 0x65, 0xfffe71c8 },
174 { 0x6f, 0xfffe71c8 },
175 { 0x72, 0xfffe71c8 },
176 { 0x75, 0xfffe71c8 }
177 };
178
179 static TFM::Kerning C_58_Kerning[] = {
180 { 0x43, 0xffff7b43 },
181 { 0x47, 0xffff7b43 },
182 { 0x4f, 0xffff7b43 },
183 { 0x51, 0xffff7b43 }
184 };
185
186 static TFM::Kerning C_59_Kerning[] = {
187 { 0x41, 0xfffe71c8 },
188 { 0x61, 0xfffe71c8 },
189 { 0x65, 0xfffe71c8 },
190 { 0x6f, 0xfffe71c8 },
191 { 0x72, 0xfffe71c8 },
192 { 0x75, 0xfffe71c8 }
193 };
194
195 static TFM::Kerning C_61_Kerning[] = {
196 { 0x6a, 0x0001097b },
197 { 0x76, 0xffff7b43 },
198 { 0x77, 0xffff7b43 },
199 { 0x79, 0xffff7b43 }
200 };
201
202 static TFM::Kerning C_62_Kerning[] = {
203 { 0x63, 0x000084bd },
204 { 0x64, 0x000084bd },
205 { 0x65, 0x000084bd },
206 { 0x6a, 0x0001097b },
207 { 0x6f, 0x000084bd },
208 { 0x71, 0x000084bd },
209 { 0x76, 0xffff7b43 },
210 { 0x77, 0xffff7b43 },
211 { 0x78, 0xffff7b43 },
212 { 0x79, 0xffff7b43 }
213 };
214
215 static TFM::Kerning C_63_Kerning[] = {
216 { 0x68, 0xffff7b43 },
217 { 0x6b, 0xffff7b43 }
218 };
219
220 static TFM::Kerning C_66_Kerning[] = {
221 { 0x21, 0x00014bd8 },
222 { 0x27, 0x00014bd8 },
223 { 0x29, 0x00014bd8 },
224 { 0x3f, 0x00014bd8 },
225 { 0x5d, 0x00014bd8 }
226 };
227
228 static TFM::Kerning C_67_Kerning[] = {
229 { 0x6a, 0x000084bd }
230 };
231
232 static TFM::Kerning C_68_Kerning[] = {
233 { 0x62, 0xffff7b43 },
234 { 0x74, 0xffff7b43 },
235 { 0x75, 0xffff7b43 },
236 { 0x76, 0xffff7b43 },
237 { 0x77, 0xffff7b43 },
238 { 0x79, 0xffff7b43 }
239 };
240
241 static TFM::Kerning C_6b_Kerning[] = {
242 { 0x61, 0xfffef685 },
243 { 0x61, 0xffff7b43 },
244 { 0x63, 0xffff7b43 },
245 { 0x65, 0xffff7b43 },
246 { 0x6f, 0xffff7b43 }
247 };
248
249 static TFM::Kerning C_6d_Kerning[] = {
250 { 0x62, 0xffff7b43 },
251 { 0x74, 0xffff7b43 },
252 { 0x75, 0xffff7b43 },
253 { 0x76, 0xffff7b43 },
254 { 0x77, 0xffff7b43 },
255 { 0x79, 0xffff7b43 }
256 };
257
258 static TFM::Kerning C_6e_Kerning[] = {
259 { 0x62, 0xffff7b43 },
260 { 0x74, 0xffff7b43 },
261 { 0x75, 0xffff7b43 },
262 { 0x76, 0xffff7b43 },
263 { 0x77, 0xffff7b43 },
264 { 0x79, 0xffff7b43 }
265 };
266
267 static TFM::Kerning C_6f_Kerning[] = {
268 { 0x63, 0x000084bd },
269 { 0x64, 0x000084bd },
270 { 0x65, 0x000084bd },
271 { 0x6a, 0x0001097b },
272 { 0x6f, 0x000084bd },
273 { 0x71, 0x000084bd },
274 { 0x76, 0xffff7b43 },
275 { 0x77, 0xffff7b43 },
276 { 0x78, 0xffff7b43 },
277 { 0x79, 0xffff7b43 }
278 };
279
280 static TFM::Kerning C_70_Kerning[] = {
281 { 0x63, 0x000084bd },
282 { 0x64, 0x000084bd },
283 { 0x65, 0x000084bd },
284 { 0x6a, 0x0001097b },
285 { 0x6f, 0x000084bd },
286 { 0x71, 0x000084bd },
287 { 0x76, 0xffff7b43 },
288 { 0x77, 0xffff7b43 },
289 { 0x78, 0xffff7b43 },
290 { 0x79, 0xffff7b43 }
291 };
292
293 static TFM::Kerning C_74_Kerning[] = {
294 { 0x77, 0xffff7b43 },
295 { 0x79, 0xffff7b43 }
296 };
297
298 static TFM::Kerning C_75_Kerning[] = {
299 { 0x77, 0xffff7b43 }
300 };
301
302 static TFM::Kerning C_76_Kerning[] = {
303 { 0x61, 0xfffef685 },
304 { 0x61, 0xffff7b43 },
305 { 0x63, 0xffff7b43 },
306 { 0x65, 0xffff7b43 },
307 { 0x6f, 0xffff7b43 }
308 };
309
310 static TFM::Kerning C_77_Kerning[] = {
311 { 0x61, 0xffff7b43 },
312 { 0x63, 0xffff7b43 },
313 { 0x65, 0xffff7b43 },
314 { 0x6f, 0xffff7b43 }
315 };
316
317 static TFM::Kerning C_79_Kerning[] = {
318 { 0x2c, 0xfffe71c8 },
319 { 0x2e, 0xfffe71c8 },
320 { 0x61, 0xffff7b43 },
321 { 0x65, 0xffff7b43 },
322 { 0x6f, 0xffff7b43 }
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, 0x000c0f23, 0x000aeef0, 0x00000000, 0x00000000, 0, 0, 0, 0 },
363 { 0x01, 0x000ffff5, 0x000aeef0, 0x00000000, 0x00000000, 0, 0, 0, 0 },
364 { 0x02, 0x000ef67b, 0x000aeef0, 0x00000000, 0x00000000, 0, 0, 0, 0 },
365 { 0x03, 0x000d4db5, 0x000aeef0, 0x00000000, 0x00000000, 0, 0, 0, 0 },
366 { 0x04, 0x000ce385, 0x000aeef0, 0x00000000, 0x00000000, 0, 0, 0, 0 },
367 { 0x05, 0x000e5730, 0x000aeef0, 0x00000000, 0x00000000, 0, 0, 0, 0 },
368 { 0x06, 0x000ded00, 0x000aeef0, 0x00000000, 0x00000000, 0, 0, 0, 0 },
369 { 0x07, 0x000ef67b, 0x000aeef0, 0x00000000, 0x00000000, 0, 0, 0, 0 },
370 { 0x08, 0x000ded00, 0x000aeef0, 0x00000000, 0x00000000, 0, 0, 0, 0 },
371 { 0x09, 0x000ef67b, 0x000aeef0, 0x00000000, 0x00000000, 0, 0, 0, 0 },
372 { 0x0a, 0x000ded00, 0x000aeef0, 0x00000000, 0x00000000, 0, 0, 0, 0 },
373 { 0x0b, 0x000bc713, 0x000b1c73, 0x00000000, 0x00014bd8, 5, C_0b_Kerning, 2, C_0b_Ligature },
374 { 0x0c, 0x000b4255, 0x000b1c73, 0x00000000, 0x00000000, 0, 0, 0, 0 },
375 { 0x0d, 0x000b4255, 0x000b1c73, 0x00000000, 0x00000000, 0, 0, 0, 0 },
376 { 0x0e, 0x0010e380, 0x000b1c73, 0x00000000, 0x00000000, 0, 0, 0, 0 },
377 { 0x0f, 0x0010e380, 0x000b1c73, 0x00000000, 0x00000000, 0, 0, 0, 0 },
378 { 0x10, 0x0005a12b, 0x0006e38d, 0x00000000, 0x00000000, 0, 0, 0, 0 },
379 { 0x11, 0x000625e8, 0x0006e38d, 0x00031c73, 0x00000000, 0, 0, 0, 0 },
380 { 0x12, 0x0009c715, 0x000b1c73, 0x00000000, 0x00000000, 0, 0, 0, 0 },
381 { 0x13, 0x0009c715, 0x000b1c73, 0x00000000, 0x00000000, 0, 0, 0, 0 },
382 { 0x14, 0x0009c715, 0x000a0e3b, 0x00000000, 0x00000000, 0, 0, 0, 0 },
383 { 0x15, 0x0009c715, 0x000b1c73, 0x00000000, 0x00000000, 0, 0, 0, 0 },
384 { 0x16, 0x0009c715, 0x0009425d, 0x00000000, 0x00000000, 0, 0, 0, 0 },
385 { 0x17, 0x000e5730, 0x000b1c73, 0x00000000, 0x00000000, 0, 0, 0, 0 },
386 { 0x18, 0x0008bd9b, 0x00000000, 0x0002b8e5, 0x00000000, 0, 0, 0, 0 },
387 { 0x19, 0x0009c715, 0x000b1c73, 0x00000000, 0x00000000, 0, 0, 0, 0 },
388 { 0x1a, 0x000ded00, 0x0006e38d, 0x00000000, 0x00000000, 0, 0, 0, 0 },
389 { 0x1b, 0x000ef67b, 0x0006e38d, 0x00000000, 0x00000000, 0, 0, 0, 0 },
390 { 0x1c, 0x0009c715, 0x000871c8, 0x00018e3b, 0x00000000, 0, 0, 0, 0 },
391 { 0x1d, 0x00113e88, 0x000aeef0, 0x00000000, 0x00000000, 0, 0, 0, 0 },
392 { 0x1e, 0x0013517d, 0x000aeef0, 0x00000000, 0x00000000, 0, 0, 0, 0 },
393 { 0x1f, 0x000ef67b, 0x000bb60d, 0x0000c71d, 0x00000000, 0, 0, 0, 0 },
394 { 0x20, 0x0005a12b, 0x0006e38d, 0x00000000, 0x00000000, 2, C_20_Kerning, 0, 0 },
395 { 0x21, 0x0005a12b, 0x000b1c73, 0x00000000, 0x00000000, 0, 0, 1, C_21_Ligature },
396 { 0x22, 0x0009c715, 0x000b1c73, 0x00000000, 0x00000000, 0, 0, 0, 0 },
397 { 0x23, 0x000ffff5, 0x000b1c73, 0x00031c70, 0x00000000, 0, 0, 0, 0 },
398 { 0x24, 0x0009c715, 0x000c0000, 0x0000e38d, 0x00000000, 0, 0, 0, 0 },
399 { 0x25, 0x000ffff5, 0x000c0000, 0x0000e38d, 0x00000000, 0, 0, 0, 0 },
400 { 0x26, 0x000ef67b, 0x000b1c73, 0x00000000, 0x00000000, 0, 0, 0, 0 },
401 { 0x27, 0x0005a12b, 0x000b1c73, 0x00000000, 0x00000000, 2, C_27_Kerning, 1, C_27_Ligature },
402 { 0x28, 0x0007b420, 0x000c0000, 0x00040000, 0x00000000, 0, 0, 0, 0 },
403 { 0x29, 0x0007b420, 0x000c0000, 0x00040000, 0x00000000, 0, 0, 0, 0 },
404 { 0x2a, 0x0009c715, 0x000c0000, 0x00000000, 0x00000000, 0, 0, 0, 0 },
405 { 0x2b, 0x000ef67b, 0x000a38e0, 0x000238e0, 0x00000000, 0, 0, 0, 0 },
406 { 0x2c, 0x0005a12b, 0x0001ed0b, 0x00031c73, 0x00000000, 0, 0, 0, 0 },
407 { 0x2d, 0x0006aaa5, 0x0006e38d, 0x00000000, 0x00000000, 0, 0, 1, C_2d_Ligature },
408 { 0x2e, 0x0005a12b, 0x0001ed0b, 0x00000000, 0x00000000, 0, 0, 0, 0 },
409 { 0x2f, 0x0009c715, 0x000c0000, 0x00040000, 0x00000000, 0, 0, 0, 0 },
410 { 0x30, 0x0009c715, 0x000a4fa5, 0x00000000, 0x00000000, 0, 0, 0, 0 },
411 { 0x31, 0x0009c715, 0x000a4fa5, 0x00000000, 0x00000000, 0, 0, 0, 0 },
412 { 0x32, 0x0009c715, 0x000a4fa5, 0x00000000, 0x00000000, 0, 0, 0, 0 },
413 { 0x33, 0x0009c715, 0x000a4fa5, 0x00000000, 0x00000000, 0, 0, 0, 0 },
414 { 0x34, 0x0009c715, 0x000a4fa5, 0x00000000, 0x00000000, 0, 0, 0, 0 },
415 { 0x35, 0x0009c715, 0x000a4fa5, 0x00000000, 0x00000000, 0, 0, 0, 0 },
416 { 0x36, 0x0009c715, 0x000a4fa5, 0x00000000, 0x00000000, 0, 0, 0, 0 },
417 { 0x37, 0x0009c715, 0x000a4fa5, 0x00000000, 0x00000000, 0, 0, 0, 0 },
418 { 0x38, 0x0009c715, 0x000a4fa5, 0x00000000, 0x00000000, 0, 0, 0, 0 },
419 { 0x39, 0x0009c715, 0x000a4fa5, 0x00000000, 0x00000000, 0, 0, 0, 0 },
420 { 0x3a, 0x0005a12b, 0x0006e38d, 0x00000000, 0x00000000, 0, 0, 0, 0 },
421 { 0x3b, 0x0005a12b, 0x0006e38d, 0x00031c73, 0x00000000, 0, 0, 0, 0 },
422 { 0x3c, 0x0005a12b, 0x00080000, 0x00031c73, 0x00000000, 0, 0, 0, 0 },
423 { 0x3d, 0x000ef67b, 0x00063d28, 0xfffe3d28, 0x00000000, 0, 0, 0, 0 },
424 { 0x3e, 0x00094258, 0x00080000, 0x00031c73, 0x00000000, 0, 0, 0, 0 },
425 { 0x3f, 0x00094258, 0x000b1c73, 0x00000000, 0x00000000, 0, 0, 1, C_3f_Ligature },
426 { 0x40, 0x000ef67b, 0x000b1c73, 0x00000000, 0x00000000, 0, 0, 0, 0 },
427 { 0x41, 0x000e5730, 0x000aeef0, 0x00000000, 0x00000000, 10, C_41_Kerning, 0, 0 },
428 { 0x42, 0x000d9d5b, 0x000aeef0, 0x00000000, 0x00000000, 0, 0, 0, 0 },
429 { 0x43, 0x000ded00, 0x000aeef0, 0x00000000, 0x00000000, 0, 0, 0, 0 },
430 { 0x44, 0x000ea6d5, 0x000aeef0, 0x00000000, 0x00000000, 5, C_44_Kerning, 0, 0 },
431 { 0x45, 0x000d189d, 0x000aeef0, 0x00000000, 0x00000000, 0, 0, 0, 0 },
432 { 0x46, 0x000c93e0, 0x000aeef0, 0x00000000, 0x00000000, 10, C_46_Kerning, 0, 0 },
433 { 0x47, 0x000f1108, 0x000aeef0, 0x00000000, 0x00000000, 0, 0, 0, 0 },
434 { 0x48, 0x000e5730, 0x000aeef0, 0x00000000, 0x00000000, 0, 0, 0, 0 },
435 { 0x49, 0x000714d5, 0x000aeef0, 0x00000000, 0x00000000, 1, C_49_Kerning, 0, 0 },
436 { 0x4a, 0x0009fc2d, 0x000aeef0, 0x00000000, 0x00000000, 0, 0, 0, 0 },
437 { 0x4b, 0x000edbed, 0x000aeef0, 0x00000000, 0x00000000, 4, C_4b_Kerning, 0, 0 },
438 { 0x4c, 0x000c0f23, 0x000aeef0, 0x00000000, 0x00000000, 4, C_4c_Kerning, 0, 0 },
439 { 0x4d, 0x001173a0, 0x000aeef0, 0x00000000, 0x00000000, 0, 0, 0, 0 },
440 { 0x4e, 0x000e5730, 0x000aeef0, 0x00000000, 0x00000000, 0, 0, 0, 0 },
441 { 0x4f, 0x000ef67b, 0x000aeef0, 0x00000000, 0x00000000, 5, C_4f_Kerning, 0, 0 },
442 { 0x50, 0x000d189d, 0x000aeef0, 0x00000000, 0x00000000, 6, C_50_Kerning, 0, 0 },
443 { 0x51, 0x000ef67b, 0x000aeef0, 0x00031c73, 0x00000000, 0, 0, 0, 0 },
444 { 0x52, 0x000e2218, 0x000aeef0, 0x00000000, 0x00000000, 10, C_52_Kerning, 0, 0 },
445 { 0x53, 0x000ad090, 0x000aeef0, 0x00000000, 0x00000000, 0, 0, 0, 0 },
446 { 0x54, 0x000ded00, 0x000aeef0, 0x00000000, 0x00000000, 7, C_54_Kerning, 0, 0 },
447 { 0x55, 0x000e5730, 0x000aeef0, 0x00000000, 0x00000000, 0, 0, 0, 0 },
448 { 0x56, 0x000e5730, 0x000aeef0, 0x00000000, 0x00004260, 10, C_56_Kerning, 0, 0 },
449 { 0x57, 0x00138695, 0x000aeef0, 0x00000000, 0x00004260, 10, C_57_Kerning, 0, 0 },
450 { 0x58, 0x000e5730, 0x000aeef0, 0x00000000, 0x00000000, 4, C_58_Kerning, 0, 0 },
451 { 0x59, 0x000e5730, 0x000aeef0, 0x00000000, 0x00007778, 6, C_59_Kerning, 0, 0 },
452 { 0x5a, 0x000bda0b, 0x000aeef0, 0x00000000, 0x00000000, 0, 0, 0, 0 },
453 { 0x5b, 0x0005a12b, 0x000c0000, 0x00040000, 0x00000000, 0, 0, 0, 0 },
454 { 0x5c, 0x0009c715, 0x000b1c73, 0x00000000, 0x00000000, 0, 0, 0, 0 },
455 { 0x5d, 0x0005a12b, 0x000c0000, 0x00040000, 0x00000000, 0, 0, 0, 0 },
456 { 0x5e, 0x0009c715, 0x000b1c73, 0x00000000, 0x00000000, 0, 0, 0, 0 },
457 { 0x5f, 0x0005a12b, 0x000acde3, 0x00000000, 0x00000000, 0, 0, 0, 0 },
458 { 0x60, 0x0005a12b, 0x000b1c73, 0x00000000, 0x00000000, 0, 0, 1, C_60_Ligature },
459 { 0x61, 0x0009c715, 0x0006e38d, 0x00000000, 0x00000000, 4, C_61_Kerning, 0, 0 },
460 { 0x62, 0x000ad090, 0x000b1c73, 0x00000000, 0x00000000, 10, C_62_Kerning, 0, 0 },
461 { 0x63, 0x0008bd9b, 0x0006e38d, 0x00000000, 0x00000000, 2, C_63_Kerning, 0, 0 },
462 { 0x64, 0x000ad090, 0x000b1c73, 0x00000000, 0x00000000, 0, 0, 0, 0 },
463 { 0x65, 0x0008bd9d, 0x0006e38d, 0x00000000, 0x00000000, 0, 0, 0, 0 },
464 { 0x66, 0x000625e8, 0x000b1c73, 0x00000000, 0x00014bd8, 5, C_66_Kerning, 3, C_66_Ligature },
465 { 0x67, 0x0009c715, 0x0006e38d, 0x00031c73, 0x00004260, 1, C_67_Kerning, 0, 0 },
466 { 0x68, 0x000ad090, 0x000b1c73, 0x00000000, 0x00000000, 6, C_68_Kerning, 0, 0 },
467 { 0x69, 0x0005a12b, 0x000acde3, 0x00000000, 0x00000000, 0, 0, 0, 0 },
468 { 0x6a, 0x000625e8, 0x000acde3, 0x00031c73, 0x00000000, 0, 0, 0, 0 },
469 { 0x6b, 0x000a4bd3, 0x000b1c73, 0x00000000, 0x00000000, 5, C_6b_Kerning, 0, 0 },
470 { 0x6c, 0x0005a12b, 0x000b1c73, 0x00000000, 0x00000000, 0, 0, 0, 0 },
471 { 0x6d, 0x000ffff5, 0x0006e38d, 0x00000000, 0x00000000, 6, C_6d_Kerning, 0, 0 },
472 { 0x6e, 0x000ad090, 0x0006e38d, 0x00000000, 0x00000000, 6, C_6e_Kerning, 0, 0 },
473 { 0x6f, 0x0009c715, 0x0006e38d, 0x00000000, 0x00000000, 10, C_6f_Kerning, 0, 0 },
474 { 0x70, 0x000ad090, 0x0006e38d, 0x00031c73, 0x00000000, 10, C_70_Kerning, 0, 0 },
475 { 0x71, 0x000a4bd3, 0x0006e38d, 0x00031c73, 0x00000000, 0, 0, 0, 0 },
476 { 0x72, 0x0007b420, 0x0006e38d, 0x00000000, 0x00000000, 0, 0, 0, 0 },
477 { 0x73, 0x0007cead, 0x0006e38d, 0x00000000, 0x00000000, 0, 0, 0, 0 },
478 { 0x74, 0x0007b420, 0x0009d75d, 0x00000000, 0x00000000, 2, C_74_Kerning, 0, 0 },
479 { 0x75, 0x000ad090, 0x0006e38d, 0x00000000, 0x00000000, 1, C_75_Kerning, 0, 0 },
480 { 0x76, 0x000a4bd3, 0x0006e38d, 0x00000000, 0x00004260, 5, C_76_Kerning, 0, 0 },
481 { 0x77, 0x000ded00, 0x0006e38d, 0x00000000, 0x00004260, 4, C_77_Kerning, 0, 0 },
482 { 0x78, 0x000a4bd3, 0x0006e38d, 0x00000000, 0x00000000, 0, 0, 0, 0 },
483 { 0x79, 0x000a4bd3, 0x0006e38d, 0x00031c73, 0x00004260, 5, C_79_Kerning, 0, 0 },
484 { 0x7a, 0x0008bd9b, 0x0006e38d, 0x00000000, 0x00000000, 0, 0, 0, 0 },
485 { 0x7b, 0x0009c715, 0x0006e38d, 0x00000000, 0x000084bd, 0, 0, 1, C_7b_Ligature },
486 { 0x7c, 0x00138e2b, 0x0006e38d, 0x00000000, 0x000084bd, 0, 0, 0, 0 },
487 { 0x7d, 0x0009c715, 0x000b1c73, 0x00000000, 0x00000000, 0, 0, 0, 0 },
488 { 0x7e, 0x0009c715, 0x000acde3, 0x00000000, 0x00000000, 0, 0, 0, 0 },
489 { 0x7f, 0x0009c715, 0x000acde3, 0x00000000, 0x00000000, 0, 0, 0, 0 }
490 };
491
492 void
cmr6_tables(TFM::Font * & _font,TFM::Dimension * & _dimension,TFM::Character * & _character)493 cmr6_tables(TFM::Font*& _font, TFM::Dimension*& _dimension, TFM::Character*& _character)
494 {
495 _font = &font;
496 _dimension = dimension;
497 _character = character;
498 }
499