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 "CMSSI",
23
24 0xec,
25 "TeX text",
26 0x00900000,
27 0x2ba19717,
28 7,
29 128
30 };
31
32 static TFM::Dimension dimension[] = {
33 { 0x01, "slant", 0x000366a0 },
34 { 0x02, "space", 0x00057b40 },
35 { 0x03, "space_stretch", 0x0002bda0 },
36 { 0x04, "space_shrink", 0x0001d3c0 },
37 { 0x05, "x_height", 0x00071c72 },
38 { 0x06, "quad", 0x001071c0 },
39 { 0x07, "extra_space", 0x0001d3c0 }
40 };
41
42
43 static TFM::Kerning C_0b_Kerning[] = {
44 { 0x21, 0x00012459 },
45 { 0x27, 0x00012459 },
46 { 0x29, 0x00012459 },
47 { 0x3f, 0x00012459 },
48 { 0x5d, 0x00012459 }
49 };
50
51 static TFM::Kerning C_20_Kerning[] = {
52 { 0x4c, 0xfffbbda4 },
53 { 0x6c, 0xfffc12f9 }
54 };
55
56 static TFM::Kerning C_27_Kerning[] = {
57 { 0x21, 0x0001d3c0 },
58 { 0x3f, 0x0001d3c0 }
59 };
60
61 static TFM::Kerning C_41_Kerning[] = {
62 { 0x43, 0xffff8b10 },
63 { 0x47, 0xffff8b10 },
64 { 0x4f, 0xffff8b10 },
65 { 0x51, 0xffff8b10 },
66 { 0x54, 0xfffea130 },
67 { 0x55, 0xffff8b10 },
68 { 0x56, 0xfffe2c40 },
69 { 0x57, 0xfffe2c40 },
70 { 0x59, 0xfffea130 },
71 { 0x74, 0xffff8b10 }
72 };
73
74 static TFM::Kerning C_44_Kerning[] = {
75 { 0x41, 0xffff8b10 },
76 { 0x56, 0xffff8b10 },
77 { 0x57, 0xffff8b10 },
78 { 0x58, 0xffff8b10 },
79 { 0x59, 0xffff8b10 }
80 };
81
82 static TFM::Kerning C_46_Kerning[] = {
83 { 0x41, 0xfffea130 },
84 { 0x43, 0xffff8b10 },
85 { 0x47, 0xffff8b10 },
86 { 0x4f, 0xffff8b10 },
87 { 0x51, 0xffff8b10 },
88 { 0x61, 0xffff8b10 },
89 { 0x65, 0xffff8b10 },
90 { 0x6f, 0xffff8b10 },
91 { 0x72, 0xffff8b10 },
92 { 0x75, 0xffff8b10 }
93 };
94
95 static TFM::Kerning C_49_Kerning[] = {
96 { 0x49, 0x000074f0 }
97 };
98
99 static TFM::Kerning C_4b_Kerning[] = {
100 { 0x43, 0xffff8b10 },
101 { 0x47, 0xffff8b10 },
102 { 0x4f, 0xffff8b10 },
103 { 0x51, 0xffff8b10 }
104 };
105
106 static TFM::Kerning C_4c_Kerning[] = {
107 { 0x54, 0xfffea130 },
108 { 0x56, 0xfffe2c40 },
109 { 0x57, 0xfffe2c40 },
110 { 0x59, 0xfffea130 }
111 };
112
113 static TFM::Kerning C_4f_Kerning[] = {
114 { 0x41, 0xffff8b10 },
115 { 0x56, 0xffff8b10 },
116 { 0x57, 0xffff8b10 },
117 { 0x58, 0xffff8b10 },
118 { 0x59, 0xffff8b10 }
119 };
120
121 static TFM::Kerning C_50_Kerning[] = {
122 { 0x2c, 0xfffea130 },
123 { 0x2e, 0xfffea130 },
124 { 0x41, 0xfffea130 },
125 { 0x61, 0xffff8b10 },
126 { 0x65, 0xffff8b10 },
127 { 0x6f, 0xffff8b10 }
128 };
129
130 static TFM::Kerning C_54_Kerning[] = {
131 { 0x41, 0xfffea130 },
132 { 0x61, 0xfffea130 },
133 { 0x65, 0xfffea130 },
134 { 0x6f, 0xfffea130 },
135 { 0x72, 0xfffea130 },
136 { 0x75, 0xfffea130 },
137 { 0x79, 0xfffea130 }
138 };
139
140 static TFM::Kerning C_56_Kerning[] = {
141 { 0x41, 0xfffea130 },
142 { 0x43, 0xffff8b10 },
143 { 0x47, 0xffff8b10 },
144 { 0x4f, 0xffff8b10 },
145 { 0x51, 0xffff8b10 },
146 { 0x61, 0xffff8b10 },
147 { 0x65, 0xffff8b10 },
148 { 0x6f, 0xffff8b10 },
149 { 0x72, 0xffff8b10 },
150 { 0x75, 0xffff8b10 }
151 };
152
153 static TFM::Kerning C_57_Kerning[] = {
154 { 0x41, 0xfffea130 },
155 { 0x43, 0xffff8b10 },
156 { 0x47, 0xffff8b10 },
157 { 0x4f, 0xffff8b10 },
158 { 0x51, 0xffff8b10 },
159 { 0x61, 0xffff8b10 },
160 { 0x65, 0xffff8b10 },
161 { 0x6f, 0xffff8b10 },
162 { 0x72, 0xffff8b10 },
163 { 0x75, 0xffff8b10 }
164 };
165
166 static TFM::Kerning C_58_Kerning[] = {
167 { 0x43, 0xffff8b10 },
168 { 0x47, 0xffff8b10 },
169 { 0x4f, 0xffff8b10 },
170 { 0x51, 0xffff8b10 }
171 };
172
173 static TFM::Kerning C_59_Kerning[] = {
174 { 0x41, 0xfffea130 },
175 { 0x61, 0xfffea130 },
176 { 0x65, 0xfffea130 },
177 { 0x6f, 0xfffea130 },
178 { 0x72, 0xfffea130 },
179 { 0x75, 0xfffea130 }
180 };
181
182 static TFM::Kerning C_61_Kerning[] = {
183 { 0x72, 0xffff8b10 },
184 { 0x77, 0xffff8b10 },
185 { 0x79, 0xffff8b10 }
186 };
187
188 static TFM::Kerning C_62_Kerning[] = {
189 { 0x63, 0x000074f0 },
190 { 0x64, 0x000074f0 },
191 { 0x65, 0x000074f0 },
192 { 0x6f, 0x000074f0 },
193 { 0x71, 0x000074f0 },
194 { 0x72, 0xffff8b10 },
195 { 0x77, 0xffff8b10 },
196 { 0x78, 0xffff8b10 },
197 { 0x79, 0xffff8b10 }
198 };
199
200 static TFM::Kerning C_66_Kerning[] = {
201 { 0x21, 0x00012459 },
202 { 0x27, 0x00012459 },
203 { 0x29, 0x00012459 },
204 { 0x3f, 0x00012459 },
205 { 0x5d, 0x00012459 }
206 };
207
208 static TFM::Kerning C_67_Kerning[] = {
209 { 0x6a, 0x000074f0 }
210 };
211
212 static TFM::Kerning C_6b_Kerning[] = {
213 { 0x61, 0xffff8b10 },
214 { 0x63, 0xffff8b10 },
215 { 0x65, 0xffff8b10 },
216 { 0x6f, 0xffff8b10 }
217 };
218
219 static TFM::Kerning C_6f_Kerning[] = {
220 { 0x63, 0x000074f0 },
221 { 0x64, 0x000074f0 },
222 { 0x65, 0x000074f0 },
223 { 0x6f, 0x000074f0 },
224 { 0x71, 0x000074f0 },
225 { 0x72, 0xffff8b10 },
226 { 0x77, 0xffff8b10 },
227 { 0x78, 0xffff8b10 },
228 { 0x79, 0xffff8b10 }
229 };
230
231 static TFM::Kerning C_70_Kerning[] = {
232 { 0x63, 0x000074f0 },
233 { 0x64, 0x000074f0 },
234 { 0x65, 0x000074f0 },
235 { 0x6f, 0x000074f0 },
236 { 0x71, 0x000074f0 },
237 { 0x72, 0xffff8b10 },
238 { 0x77, 0xffff8b10 },
239 { 0x78, 0xffff8b10 },
240 { 0x79, 0xffff8b10 }
241 };
242
243 static TFM::Kerning C_74_Kerning[] = {
244 { 0x77, 0xffff8b10 },
245 { 0x79, 0xffff8b10 }
246 };
247
248 static TFM::Kerning C_75_Kerning[] = {
249 { 0x77, 0xffff8b10 }
250 };
251
252 static TFM::Kerning C_77_Kerning[] = {
253 { 0x61, 0xffff8b10 },
254 { 0x63, 0xffff8b10 },
255 { 0x65, 0xffff8b10 },
256 { 0x6f, 0xffff8b10 }
257 };
258
259 static TFM::Kerning C_79_Kerning[] = {
260 { 0x2c, 0xfffea130 },
261 { 0x2e, 0xfffea130 },
262 { 0x61, 0xffff8b10 },
263 { 0x65, 0xffff8b10 },
264 { 0x6f, 0xffff8b10 }
265 };
266
267 static TFM::Ligature C_0b_Ligature[] = {
268 { 0x69, 0x00, 0x0e },
269 { 0x6c, 0x00, 0x0f }
270 };
271
272 static TFM::Ligature C_21_Ligature[] = {
273 { 0x60, 0x00, 0x3c }
274 };
275
276 static TFM::Ligature C_27_Ligature[] = {
277 { 0x27, 0x00, 0x22 }
278 };
279
280 static TFM::Ligature C_2d_Ligature[] = {
281 { 0x2d, 0x00, 0x7b }
282 };
283
284 static TFM::Ligature C_3f_Ligature[] = {
285 { 0x60, 0x00, 0x3e }
286 };
287
288 static TFM::Ligature C_60_Ligature[] = {
289 { 0x60, 0x00, 0x5c }
290 };
291
292 static TFM::Ligature C_66_Ligature[] = {
293 { 0x66, 0x00, 0x0b },
294 { 0x69, 0x00, 0x0c },
295 { 0x6c, 0x00, 0x0d }
296 };
297
298 static TFM::Ligature C_7b_Ligature[] = {
299 { 0x2d, 0x00, 0x7c }
300 };
301
302
303 static TFM::Character character[] = {
304 { 0x00, 0x0008f680, 0x000b1c72, 0x00000000, 0x00002944, 0, 0, 0, 0 },
305 { 0x01, 0x000db420, 0x000b1c72, 0x00000000, 0x00000000, 0, 0, 0, 0 },
306 { 0x02, 0x000cca40, 0x000b1c72, 0x00000000, 0x00004c89, 0, 0, 0, 0 },
307 { 0x03, 0x000a12f2, 0x000b1c72, 0x00000000, 0x00000000, 0, 0, 0, 0 },
308 { 0x04, 0x000af680, 0x000b1c72, 0x00000000, 0x0000e7ab, 0, 0, 0, 0 },
309 { 0x05, 0x000ba12b, 0x000b1c72, 0x00000000, 0x00008244, 0, 0, 0, 0 },
310 { 0x06, 0x000be060, 0x000b1c72, 0x00000000, 0x0000d207, 0, 0, 0, 0 },
311 { 0x07, 0x000cca40, 0x000b1c72, 0x00000000, 0x00003e60, 0, 0, 0, 0 },
312 { 0x08, 0x000be060, 0x000b1c72, 0x00000000, 0x0000b95c, 0, 0, 0, 0 },
313 { 0x09, 0x000cca40, 0x000b1c72, 0x00000000, 0x00003e60, 0, 0, 0, 0 },
314 { 0x0a, 0x000be060, 0x000b1c72, 0x00000000, 0x0000a557, 0, 0, 0, 0 },
315 { 0x0b, 0x000997b0, 0x000b1c72, 0x00000000, 0x000064b9, 5, C_0b_Kerning, 2, C_0b_Ligature },
316 { 0x0c, 0x0008d094, 0x000b1c72, 0x00000000, 0x00007ce7, 0, 0, 0, 0 },
317 { 0x0d, 0x0008d094, 0x000b1c72, 0x00000000, 0x0000764e, 0, 0, 0, 0 },
318 { 0x0e, 0x000d61f4, 0x000b1c72, 0x00000000, 0x00007ce7, 0, 0, 0, 0 },
319 { 0x0f, 0x000d61f4, 0x000b1c72, 0x00000000, 0x0000764e, 0, 0, 0, 0 },
320 { 0x10, 0x0003ed07, 0x00071c72, 0x00000000, 0x0000ac09, 0, 0, 0, 0 },
321 { 0x11, 0x000461f7, 0x00071c72, 0x00031c72, 0x0000ac09, 0, 0, 0, 0 },
322 { 0x12, 0x000838e0, 0x000b1c72, 0x00000000, 0x00000000, 0, 0, 0, 0 },
323 { 0x13, 0x000838e0, 0x000b1c72, 0x00000000, 0x000049f5, 0, 0, 0, 0 },
324 { 0x14, 0x000838e0, 0x000a1c72, 0x00000000, 0x0000ac09, 0, 0, 0, 0 },
325 { 0x15, 0x000838e0, 0x000b1c72, 0x00000000, 0x000064b9, 0, 0, 0, 0 },
326 { 0x16, 0x000838e0, 0x0009ceb2, 0x00000000, 0x00002944, 0, 0, 0, 0 },
327 { 0x17, 0x000c1f07, 0x000b1c72, 0x00000000, 0x00000000, 0, 0, 0, 0 },
328 { 0x18, 0x00074f00, 0x00000000, 0x0002b8e4, 0x00000000, 0, 0, 0, 0 },
329 { 0x19, 0x0007e6b4, 0x000b1c72, 0x00000000, 0x000049f5, 0, 0, 0, 0 },
330 { 0x1a, 0x000be060, 0x00071c72, 0x00000000, 0x00003e60, 0, 0, 0, 0 },
331 { 0x1b, 0x000cca40, 0x00071c72, 0x00000000, 0x00003e60, 0, 0, 0, 0 },
332 { 0x1c, 0x000838e0, 0x0008aaab, 0x00018e39, 0x0000c30c, 0, 0, 0, 0 },
333 { 0x1d, 0x000e2c39, 0x000b1c72, 0x00000000, 0x0000d207, 0, 0, 0, 0 },
334 { 0x1e, 0x000ffff9, 0x000b1c72, 0x00000000, 0x0000d207, 0, 0, 0, 0 },
335 { 0x1f, 0x000cca40, 0x000be38e, 0x0000c71c, 0x00004c89, 0, 0, 0, 0 },
336 { 0x20, 0x0003ed07, 0x00071c72, 0x00000000, 0x00000000, 2, C_20_Kerning, 0, 0 },
337 { 0x21, 0x000535b9, 0x000b1c72, 0x00000000, 0x0000e7ab, 0, 0, 1, C_21_Ligature },
338 { 0x22, 0x000838e0, 0x000b1c72, 0x00000000, 0x00000000, 0, 0, 0, 0 },
339 { 0x23, 0x000db420, 0x000b1c72, 0x00031c72, 0x0000d207, 0, 0, 0, 0 },
340 { 0x24, 0x000838e0, 0x000c0000, 0x0000e38e, 0x0000ac09, 0, 0, 0, 0 },
341 { 0x25, 0x000db420, 0x000c0000, 0x0000e38e, 0x00007ce7, 0, 0, 0, 0 },
342 { 0x26, 0x000c7814, 0x000b1c72, 0x00000000, 0x0000764e, 0, 0, 0, 0 },
343 { 0x27, 0x00049160, 0x000b1c72, 0x00000000, 0x0000602e, 2, C_27_Kerning, 1, C_27_Ligature },
344 { 0x28, 0x00066520, 0x000c0000, 0x00040000, 0x00000000, 0, 0, 0, 0 },
345 { 0x29, 0x00066520, 0x000c0000, 0x00040000, 0x000064b9, 0, 0, 0, 0 },
346 { 0x2a, 0x000838e0, 0x000c0000, 0x00000000, 0x0000b95c, 0, 0, 0, 0 },
347 { 0x2b, 0x000cca40, 0x00097b40, 0x00017b40, 0x000064b9, 0, 0, 0, 0 },
348 { 0x2c, 0x00049160, 0x000161f9, 0x00020652, 0x00000000, 0, 0, 0, 0 },
349 { 0x2d, 0x00057b40, 0x00071c72, 0x00000000, 0x00004c89, 0, 0, 1, C_2d_Ligature },
350 { 0x2e, 0x00049160, 0x000161f9, 0x00000000, 0x00000000, 0, 0, 0, 0 },
351 { 0x2f, 0x000838e0, 0x000c0000, 0x00040000, 0x00000000, 0, 0, 0, 0 },
352 { 0x30, 0x000838e0, 0x000a7819, 0x00000000, 0x0000ac09, 0, 0, 0, 0 },
353 { 0x31, 0x000838e0, 0x000a7819, 0x00000000, 0x0000ac09, 0, 0, 0, 0 },
354 { 0x32, 0x000838e0, 0x000a7819, 0x00000000, 0x0000ac09, 0, 0, 0, 0 },
355 { 0x33, 0x000838e0, 0x000a7819, 0x00000000, 0x0000ac09, 0, 0, 0, 0 },
356 { 0x34, 0x000838e0, 0x000a7819, 0x00000000, 0x0000ac09, 0, 0, 0, 0 },
357 { 0x35, 0x000838e0, 0x000a7819, 0x00000000, 0x0000ac09, 0, 0, 0, 0 },
358 { 0x36, 0x000838e0, 0x000a7819, 0x00000000, 0x0000ac09, 0, 0, 0, 0 },
359 { 0x37, 0x000838e0, 0x000a7819, 0x00000000, 0x0000ac09, 0, 0, 0, 0 },
360 { 0x38, 0x000838e0, 0x000a7819, 0x00000000, 0x0000ac09, 0, 0, 0, 0 },
361 { 0x39, 0x000838e0, 0x000a7819, 0x00000000, 0x0000ac09, 0, 0, 0, 0 },
362 { 0x3a, 0x00049160, 0x00071c72, 0x00000000, 0x0000602e, 0, 0, 0, 0 },
363 { 0x3b, 0x00049160, 0x00071c72, 0x00020652, 0x0000602e, 0, 0, 0, 0 },
364 { 0x3c, 0x000535b9, 0x00080000, 0x00031c72, 0x00003e60, 0, 0, 0, 0 },
365 { 0x3d, 0x000cca40, 0x00060247, 0xfffe0247, 0x0000d207, 0, 0, 0, 0 },
366 { 0x3e, 0x0007c3f0, 0x00080000, 0x00031c72, 0x00000000, 0, 0, 0, 0 },
367 { 0x3f, 0x0007c3f0, 0x000b1c72, 0x00000000, 0x0000c30c, 0, 0, 1, C_3f_Ligature },
368 { 0x40, 0x000af680, 0x000b1c72, 0x00000000, 0x00004c89, 0, 0, 0, 0 },
369 { 0x41, 0x000afcd2, 0x000b1c72, 0x00000000, 0x00000000, 10, C_41_Kerning, 0, 0 },
370 { 0x42, 0x000af9a9, 0x000b1c72, 0x00000000, 0x0000a557, 0, 0, 0, 0 },
371 { 0x43, 0x000a8190, 0x000b1c72, 0x00000000, 0x0000d207, 0, 0, 0, 0 },
372 { 0x44, 0x000be389, 0x000b1c72, 0x00000000, 0x00004c89, 5, C_44_Kerning, 0, 0 },
373 { 0x45, 0x0009e060, 0x000b1c72, 0x00000000, 0x0000d207, 0, 0, 0, 0 },
374 { 0x46, 0x00096b70, 0x000b1c72, 0x00000000, 0x00002944, 10, C_46_Kerning, 0, 0 },
375 { 0x47, 0x000af680, 0x000b1c72, 0x00000000, 0x0000d207, 0, 0, 0, 0 },
376 { 0x48, 0x000ba12b, 0x000b1c72, 0x00000000, 0x00008244, 0, 0, 0, 0 },
377 { 0x49, 0x000497b2, 0x000b1c72, 0x00000000, 0x00002944, 1, C_49_Kerning, 0, 0 },
378 { 0x4a, 0x0007c719, 0x000b1c72, 0x00000000, 0x00008244, 0, 0, 0, 0 },
379 { 0x4b, 0x000b71c2, 0x000b1c72, 0x00000000, 0x0000d207, 4, C_4b_Kerning, 0, 0 },
380 { 0x4c, 0x0008f680, 0x000b1c72, 0x00000000, 0x00000000, 4, C_4c_Kerning, 0, 0 },
381 { 0x4d, 0x000e5ecb, 0x000b1c72, 0x00000000, 0x00008244, 0, 0, 0, 0 },
382 { 0x4e, 0x000ba12b, 0x000b1c72, 0x00000000, 0x00008244, 0, 0, 0, 0 },
383 { 0x4f, 0x000c25e7, 0x000b1c72, 0x00000000, 0x00004c89, 5, C_4f_Kerning, 0, 0 },
384 { 0x50, 0x000a84b9, 0x000b1c72, 0x00000000, 0x0000a557, 6, C_50_Kerning, 0, 0 },
385 { 0x51, 0x000c25e7, 0x000b1c72, 0x00020652, 0x00004c89, 0, 0, 0, 0 },
386 { 0x52, 0x000aa77c, 0x000b1c72, 0x00000000, 0x0000a557, 0, 0, 0, 0 },
387 { 0x53, 0x000922c0, 0x000b1c72, 0x00000000, 0x000049f5, 0, 0, 0, 0 },
388 { 0x54, 0x000b3c07, 0x000b1c72, 0x00000000, 0x00002944, 7, C_54_Kerning, 0, 0 },
389 { 0x55, 0x000b4efe, 0x000b1c72, 0x00000000, 0x00008244, 0, 0, 0, 0 },
390 { 0x56, 0x000afcd2, 0x000b1c72, 0x00000000, 0x00004c89, 10, C_56_Kerning, 0, 0 },
391 { 0x57, 0x000f8e32, 0x000b1c72, 0x00000000, 0x00004c89, 10, C_57_Kerning, 0, 0 },
392 { 0x58, 0x000afcd2, 0x000b1c72, 0x00000000, 0x00002944, 4, C_58_Kerning, 0, 0 },
393 { 0x59, 0x000afcd2, 0x000b1c72, 0x00000000, 0x0000602e, 6, C_59_Kerning, 0, 0 },
394 { 0x5a, 0x000a0ca0, 0x000b1c72, 0x00000000, 0x0000d207, 0, 0, 0, 0 },
395 { 0x5b, 0x0004c71b, 0x000c0000, 0x00040000, 0x000049f5, 0, 0, 0, 0 },
396 { 0x5c, 0x000838e0, 0x000b1c72, 0x00000000, 0x00003e60, 0, 0, 0, 0 },
397 { 0x5d, 0x0004c71b, 0x000c0000, 0x00040000, 0x0000c30c, 0, 0, 0, 0 },
398 { 0x5e, 0x000838e0, 0x000b1c72, 0x00000000, 0x0000764e, 0, 0, 0, 0 },
399 { 0x5f, 0x00049160, 0x000aec97, 0x00000000, 0x00007ce7, 0, 0, 0, 0 },
400 { 0x60, 0x00049160, 0x000b1c72, 0x00000000, 0x0000602e, 0, 0, 1, C_60_Ligature },
401 { 0x61, 0x0007e6b4, 0x00071c72, 0x00000000, 0x00002944, 3, C_61_Kerning, 0, 0 },
402 { 0x62, 0x00087e67, 0x000b1c72, 0x00000000, 0x00008244, 9, C_62_Kerning, 0, 0 },
403 { 0x63, 0x00074f00, 0x00071c72, 0x00000000, 0x0000b95c, 0, 0, 0, 0 },
404 { 0x64, 0x00087e67, 0x000b1c72, 0x00000000, 0x0000764e, 0, 0, 0, 0 },
405 { 0x65, 0x00074f02, 0x00071c72, 0x00000000, 0x00003e60, 0, 0, 0, 0 },
406 { 0x66, 0x00050650, 0x000b1c72, 0x00000000, 0x000064b9, 5, C_66_Kerning, 3, C_66_Ligature },
407 { 0x67, 0x000838e0, 0x00071c72, 0x00031c72, 0x0000a557, 1, C_67_Kerning, 0, 0 },
408 { 0x68, 0x00087e67, 0x000b1c72, 0x00000000, 0x000049f5, 0, 0, 0, 0 },
409 { 0x69, 0x0003ed07, 0x000aec97, 0x00000000, 0x00008244, 0, 0, 0, 0 },
410 { 0x6a, 0x000461f7, 0x000aec97, 0x00031c72, 0x0000602e, 0, 0, 0, 0 },
411 { 0x6b, 0x00080977, 0x000b1c72, 0x00000000, 0x0000b95c, 4, C_6b_Kerning, 0, 0 },
412 { 0x6c, 0x0003ed07, 0x000b1c72, 0x00000000, 0x0000764e, 0, 0, 0, 0 },
413 { 0x6d, 0x000d0fc7, 0x00071c72, 0x00000000, 0x000049f5, 0, 0, 0, 0 },
414 { 0x6e, 0x00087e67, 0x00071c72, 0x00000000, 0x000049f5, 0, 0, 0, 0 },
415 { 0x6f, 0x000838e0, 0x00071c72, 0x00000000, 0x00002944, 9, C_6f_Kerning, 0, 0 },
416 { 0x70, 0x00087e67, 0x00071c72, 0x00031c72, 0x0000a557, 9, C_70_Kerning, 0, 0 },
417 { 0x71, 0x00087e67, 0x00071c72, 0x00031c72, 0x0000ac09, 0, 0, 0, 0 },
418 { 0x72, 0x00059e04, 0x00071c72, 0x00000000, 0x0000a557, 0, 0, 0, 0 },
419 { 0x73, 0x00064dbe, 0x00071c72, 0x00000000, 0x000064b9, 0, 0, 0, 0 },
420 { 0x74, 0x0005f030, 0x00092495, 0x00000000, 0x000049f5, 2, C_74_Kerning, 0, 0 },
421 { 0x75, 0x00087e67, 0x00071c72, 0x00000000, 0x0000ac09, 1, C_75_Kerning, 0, 0 },
422 { 0x76, 0x00079487, 0x00071c72, 0x00000000, 0x0000a557, 0, 0, 0, 0 },
423 { 0x77, 0x000b3c07, 0x00071c72, 0x00000000, 0x0000a557, 4, C_77_Kerning, 0, 0 },
424 { 0x78, 0x00079487, 0x00071c72, 0x00000000, 0x00004c89, 0, 0, 0, 0 },
425 { 0x79, 0x00079487, 0x00071c72, 0x00031c72, 0x0000a557, 5, C_79_Kerning, 0, 0 },
426 { 0x7a, 0x000725e9, 0x00071c72, 0x00000000, 0x00000000, 0, 0, 0, 0 },
427 { 0x7b, 0x000838e0, 0x00071c72, 0x00000000, 0x0000d207, 0, 0, 1, C_7b_Ligature },
428 { 0x7c, 0x001071c0, 0x00071c72, 0x00000000, 0x0000d207, 0, 0, 0, 0 },
429 { 0x7d, 0x000838e0, 0x000b1c72, 0x00000000, 0x000049f5, 0, 0, 0, 0 },
430 { 0x7e, 0x000838e0, 0x000ad9a0, 0x00000000, 0x0000e7ab, 0, 0, 0, 0 },
431 { 0x7f, 0x000838e0, 0x000aec97, 0x00000000, 0x00000000, 0, 0, 0, 0 }
432 };
433
434 void
cmssi9_tables(TFM::Font * & _font,TFM::Dimension * & _dimension,TFM::Character * & _character)435 cmssi9_tables(TFM::Font*& _font, TFM::Dimension*& _dimension, TFM::Character*& _character)
436 {
437 _font = &font;
438 _dimension = dimension;
439 _character = character;
440 }
441