Git init
[framework/graphics/cairo.git] / src / cairo-font-face-twin-data.c
1 /* See cairo-font-face-twin.c for copyright info */
2
3 #include "cairoint.h"
4
5 const int8_t _cairo_twin_outlines[] = {
6 /* 0x0 '\0'  offset 0 */
7     0, 24, 42, 0, 2, 2,
8     0, 24, /* snap_x */
9     -42, 0, /* snap_y */
10     'm', 0, 0,
11     'l', 0, -42,
12     'l', 24, -42,
13     'l', 24, 0,
14     'l', 0, 0,
15     'e',
16     'X', 'X',
17 /* 0x20 ' '  offset 28 */
18     0, 4, 0, 0, 0, 0,
19     /* snap_x */
20     /* snap_y */
21     'e',
22     'X', 'X', 'X',
23     'X', 'X',
24 /* 0x21 '!'  offset 40 */
25     0, 0, 42, 0, 1, 3,
26     0, /* snap_x */
27     -42, -14, 0, /* snap_y */
28     'm', 0, -42,
29     'l', 0, -14,
30     'm', 0, 0,
31     'l', 0, 0,
32     'e',
33     'X', 'X', 'X', 'X', 'X', 'X',
34     'X', 'X', 'X', 'X', 'X', 'X',
35     'X', 'X', 'X', 'X', 'X', 'X',
36     'X', 'X', 'X', 'X', 'X', 'X',
37     'X', 'X', 'X',
38 /* 0x22 '"'  offset 90 */
39     0, 16, 42, -28, 2, 2,
40     0, 16, /* snap_x */
41     -42, -28, /* snap_y */
42     'm', 0, -42,
43     'l', 0, -28,
44     'm', 16, -42,
45     'l', 16, -28,
46     'e',
47     'X',
48 /* 0x23 '#'  offset 114 */
49     0, 30, 50, 14, 2, 5,
50     0, 30, /* snap_x */
51     -24, -21, -15, -12, 0, /* snap_y */
52     'm', 16, -50,
53     'l', 2, 14,
54     'm', 28, -50,
55     'l', 14, 14,
56     'm', 2, -24,
57     'l', 30, -24,
58     'm', 0, -12,
59     'l', 28, -12,
60     'e',
61 /* 0x24 '$'  offset 152 */
62     0, 28, 50, 8, 4, 4,
63     0, 10, 18, 28, /* snap_x */
64     -42, -21, -15, 0, /* snap_y */
65     'm', 10, -50,
66     'l', 10, 8,
67     'm', 18, -50,
68     'l', 18, 8,
69     'm', 28, -36,
70     'c', 24, -42, 18, -42, 14, -42,
71     'c', 10, -42, 0, -42, 0, -34,
72     'c', 0, -25, 8, -24, 14, -22,
73     'c', 20, -20, 28, -19, 28, -9,
74     'c', 28, 0, 18, 0, 14, 0,
75     'c', 10, 0, 4, 0, 0, -6,
76     'e',
77 /* 0x25 '%'  offset 224 */
78     0, 36, 42, 0, 4, 7,
79     0, 14, 22, 36, /* snap_x */
80     -42, -38, -28, -21, -15, -14, 0, /* snap_y */
81     'm', 10, -42,
82     'c', 12, -41, 14, -40, 14, -36,
83     'c', 14, -30, 11, -28, 6, -28,
84     'c', 2, -28, 0, -30, 0, -34,
85     'c', 0, -39, 3, -42, 8, -42,
86     'l', 10, -42,
87     'c', 18, -37, 28, -37, 36, -42,
88     'l', 0, 0,
89     'm', 28, -14,
90     'c', 24, -14, 22, -11, 22, -6,
91     'c', 22, -2, 24, 0, 28, 0,
92     'c', 33, 0, 36, -2, 36, -8,
93     'c', 36, -12, 34, -14, 30, -14,
94     'l', 28, -14,
95     'e',
96     'X', 'X', 'X',
97 /* 0x26 '&'  offset 323 */
98     0, 40, 42, 0, 4, 4,
99     0, 10, 22, 40, /* snap_x */
100     -28, -21, -15, 0, /* snap_y */
101     'm', 40, -24,
102     'c', 40, -27, 39, -28, 37, -28,
103     'c', 29, -28, 32, 0, 12, 0,
104     'c', 0, 0, 0, -8, 0, -10,
105     'c', 0, -24, 22, -20, 22, -34,
106     'c', 22, -45, 10, -45, 10, -34,
107     'c', 10, -27, 25, 0, 36, 0,
108     'c', 39, 0, 40, -1, 40, -4,
109     'e',
110 /* 0x27 '''  offset 390 */
111     0, 4, 42, -30, 2, 2,
112     0, 4, /* snap_x */
113     -42, -28, /* snap_y */
114     'm', 2, -38,
115     'c', -1, -38, -1, -42, 2, -42,
116     'c', 6, -42, 5, -33, 0, -30,
117     'e',
118     'X',
119 /* 0x28 '('  offset 419 */
120     0, 14, 50, 14, 2, 2,
121     0, 14, /* snap_x */
122     -50, 14, /* snap_y */
123     'm', 14, -50,
124     'c', -5, -32, -5, -5, 14, 14,
125     'e',
126     'X',
127 /* 0x29 ')'  offset 441 */
128     0, 14, 50, 14, 2, 2,
129     0, 14, /* snap_x */
130     -15, 14, /* snap_y */
131     'm', 0, -50,
132     'c', 19, -34, 19, -2, 0, 14,
133     'e',
134     'X',
135 /* 0x2a '*'  offset 463 */
136     0, 20, 30, -6, 3, 3,
137     0, 10, 20, /* snap_x */
138     -21, -15, 0, /* snap_y */
139     'm', 10, -30,
140     'l', 10, -6,
141     'm', 0, -24,
142     'l', 20, -12,
143     'm', 20, -24,
144     'l', 0, -12,
145     'e',
146 /* 0x2b '+'  offset 494 */
147     0, 36, 36, 0, 3, 4,
148     0, 18, 36, /* snap_x */
149     -21, -18, -15, 0, /* snap_y */
150     'm', 18, -36,
151     'l', 18, 0,
152     'm', 0, -18,
153     'l', 36, -18,
154     'e',
155 /* 0x2c ','  offset 520 */
156     0, 4, 4, 8, 2, 3,
157     0, 4, /* snap_x */
158     -21, -15, 0, /* snap_y */
159     'm', 4, -2,
160     'c', 4, 1, 0, 1, 0, -2,
161     'c', 0, -5, 4, -5, 4, -2,
162     'c', 4, 4, 2, 6, 0, 8,
163     'e',
164 /* 0x2d '-'  offset 556 */
165     0, 36, 18, -18, 2, 4,
166     0, 36, /* snap_x */
167     -21, -18, -15, 0, /* snap_y */
168     'm', 0, -18,
169     'l', 36, -18,
170     'e',
171 /* 0x2e '.'  offset 575 */
172     0, 4, 4, 0, 2, 3,
173     0, 4, /* snap_x */
174     -21, -15, 0, /* snap_y */
175     'm', 2, -4,
176     'c', -1, -4, -1, 0, 2, 0,
177     'c', 5, 0, 5, -4, 2, -4,
178     'e',
179 /* 0x2f '/'  offset 604 */
180     0, 36, 50, 14, 2, 3,
181     0, 36, /* snap_x */
182     -21, -15, 0, /* snap_y */
183     'm', 36, -50,
184     'l', 0, 14,
185     'e',
186 /* 0x30 '0'  offset 622 */
187     0, 28, 42, 0, 2, 4,
188     0, 28, /* snap_x */
189     -42, -21, -15, 0, /* snap_y */
190     'm', 14, -42,
191     'c', 9, -42, 0, -42, 0, -21,
192     'c', 0, 0, 9, 0, 14, 0,
193     'c', 19, 0, 28, 0, 28, -21,
194     'c', 28, -42, 19, -42, 14, -42,
195     'E',
196 /* 0x31 '1'  offset 666 */
197     0, 28, 42, 0, 2, 3,
198     0, 17, 28 /* snap_x */
199     -42, -34, 0, /* snap_y */
200     'm', 7, -34,
201     'c', 11, -35, 15, -38, 17, -42,
202     'l', 17, 0,
203     'e',
204 /* 0x32 '2'  offset 691 */
205     0, 28, 42, 0, 4, 4,
206     0, 2, 26, 28, /* snap_x */
207     -42, -21, -15, 0, /* snap_y */
208     'm', 2, -32,
209     'c', 2, -34, 2, -42, 14, -42,
210     'c', 26, -42, 26, -34, 26, -32,
211     'c', 26, -30, 25, -25, 10, -10,
212     'l', 0, 0,
213     'l', 28, 0,
214     'e',
215 /* 0x33 '3'  offset 736 */
216     0, 28, 42, 0, 2, 5,
217     0, 28, /* snap_x */
218     -42, -26, -21, -15, 0, /* snap_y */
219     'm', 4, -42,
220     'l', 26, -42,
221     'l', 14, -26,
222     'c', 21, -26, 28, -26, 28, -14,
223     'c', 28, 0, 17, 0, 13, 0,
224     'c', 8, 0, 3, -1, 0, -8,
225     'e',
226 /* 0x34 '4'  offset 780 */
227     0, 28, 42, 0, 3, 3,
228     0, 20, 30, /* snap_x */
229     -42, -14, 0, /* snap_y */
230     'm', 20, 0,
231     'l', 20, -42,
232     'l', 0, -14,
233     'l', 30, -14,
234     'e',
235     'X', 'X', 'X',
236     'X',
237 /* 0x35 '5'  offset 809 */
238     0, 28, 42, 0, 2, 5,
239     0, 28, /* snap_x */
240     -42, -28, -21, -15, 0, /* snap_y */
241     'm', 24, -42,
242     'l', 4, -42,
243     'l', 2, -24,
244     'c', 5, -27, 10, -28, 13, -28,
245     'c', 16, -28, 28, -28, 28, -14,
246     'c', 28, 0, 16, 0, 13, 0,
247     'c', 10, 0, 3, 0, 0, -8,
248     'e',
249 /* 0x36 '6'  offset 860 */
250     0, 28, 42, 0, 2, 5,
251     0, 26, /* snap_x */
252     -42, -26, -21, -15, 0, /* snap_y */
253     'm', 24, -36,
254     'c', 22, -41, 19, -42, 14, -42,
255     'c', 9, -42, 0, -41, 0, -19,
256     'c', 0, -1, 9, 0, 13, 0,
257     'c', 18, 0, 26, -3, 26, -13,
258     'c', 26, -18, 23, -26, 13, -26,
259     'c', 10, -26, 1, -24, 0, -14,
260     'e',
261 /* 0x37 '7'  offset 919 */
262     0, 28, 42, 0, 2, 4,
263     0, 28, /* snap_x */
264     -42, -21, -15, 0, /* snap_y */
265     'm', 0, -42,
266     'l', 28, -42,
267     'l', 8, 0,
268     'e',
269     'X', 'X', 'X',
270 /* 0x38 '8'  offset 944 */
271     0, 28, 42, 0, 4, 4,
272     0, 2, 26, 28, /* snap_x */
273     -42, -21, -15, 0, /* snap_y */
274     'm', 14, -42,
275     'c', 5, -42, 2, -40, 2, -34,
276     'c', 2, -18, 28, -32, 28, -11,
277     'c', 28, 0, 18, 0, 14, 0,
278     'c', 10, 0, 0, 0, 0, -11,
279     'c', 0, -32, 26, -18, 26, -34,
280     'c', 26, -40, 23, -42, 14, -42,
281     'E',
282 /* 0x39 '9'  offset 1004 */
283     0, 28, 42, 0, 2, 5,
284     0, 26, /* snap_x */
285     -42, -21, -16, -15, 0, /* snap_y */
286     'm', 26, -28,
287     'c', 25, -16, 13, -16, 13, -16,
288     'c', 8, -16, 0, -19, 0, -29,
289     'c', 0, -34, 3, -42, 13, -42,
290     'c', 24, -42, 26, -32, 26, -23,
291     'c', 26, -14, 24, 0, 12, 0,
292     'c', 7, 0, 4, -2, 2, -6,
293     'e',
294 /* 0x3a ':'  offset 1063 */
295     0, 4, 28, 0, 2, 3,
296     0, 4, /* snap_x */
297     -21, -15, 0, /* snap_y */
298     'm', 2, -28,
299     'c', -1, -28, -1, -24, 2, -24,
300     'c', 5, -24, 5, -28, 2, -28,
301     'm', 2, -4,
302     'c', -1, -4, -1, 0, 2, 0,
303     'c', 5, 0, 5, -4, 2, -4,
304     'e',
305 /* 0x3b ';'  offset 1109 */
306     0, 4, 28, 8, 2, 3,
307     0, 4, /* snap_x */
308     -21, -15, 0, /* snap_y */
309     'm', 2, -28,
310     'c', -1, -28, -1, -24, 2, -24,
311     'c', 5, -24, 5, -28, 2, -28,
312     'm', 4, -2,
313     'c', 4, 1, 0, 1, 0, -2,
314     'c', 0, -5, 4, -5, 4, -2,
315     'c', 4, 3, 2, 6, 0, 8,
316     'e',
317 /* 0x3c '<'  offset 1162 */
318     0, 32, 36, 0, 2, 3,
319     0, 32, /* snap_x */
320     -36, -18, 0, /* snap_y */
321     'm', 32, -36,
322     'l', 0, -18,
323     'l', 32, 0,
324     'e',
325 /* 0x3d '='  offset 1183 */
326     0, 36, 24, -12, 2, 2,
327     0, 36, /* snap_x */
328     -24, -15, /* snap_y */
329     'm', 0, -24,
330     'l', 36, -24,
331     'm', 0, -12,
332     'l', 36, -12,
333     'e',
334     'X', 'X', 'X',
335 /* 0x3e '>'  offset 1209 */
336     0, 32, 36, 0, 2, 3,
337     0, 32, /* snap_x */
338     -36, -18, 0, /* snap_y */
339     'm', 0, -36,
340     'l', 32, -18,
341     'l', 0, 0,
342     'e',
343 /* 0x3f '?'  offset 1230 */
344     0, 24, 42, 0, 3, 4,
345     0, 12, 24, /* snap_x */
346     -42, -21, -15, 0, /* snap_y */
347     'm', 0, -32,
348     'c', 0, -34, 0, -42, 12, -42,
349     'c', 24, -42, 24, -34, 24, -32,
350     'c', 24, -29, 24, -24, 12, -20,
351     'l', 12, -14,
352     'm', 12, 0,
353     'l', 12, 0,
354     'e',
355     'X', 'X', 'X',
356     'X', 'X', 'X',
357     'X', 'X', 'X',
358     'X', 'X',
359 /* 0x40 '@'  offset 1288 */
360     0, 42, 42, 0, 1, 6,
361     30, /* snap_x */
362     -42, -32, -21, -15, -10, 0, /* snap_y */
363     'm', 30, -26,
364     'c', 28, -31, 24, -32, 21, -32,
365     'c', 10, -32, 10, -23, 10, -19,
366     'c', 10, -13, 11, -10, 19, -10,
367     'c', 30, -10, 28, -21, 30, -32,
368     'c', 27, -10, 30, -10, 34, -10,
369     'c', 41, -10, 42, -19, 42, -22,
370     'c', 42, -34, 34, -42, 21, -42,
371     'c', 9, -42, 0, -34, 0, -21,
372     'c', 0, -9, 8, 0, 21, 0,
373     'c', 30, 0, 34, -3, 36, -6,
374     'e',
375 /* 0x41 'A'  offset 1375 */
376     0, 32, 42, 0, 2, 3,
377     0, 32, /* snap_x */
378     -42, -14, 0, /* snap_y */
379     'm', 0, 0,
380     'l', 16, -42,
381     'l', 32, 0,
382     'm', 6, -14,
383     'l', 26, -14,
384     'e',
385     'X', 'X', 'X',
386     'X',
387 /* 0x42 'B'  offset 1406 */
388     0, 28, 42, 0, 2, 3,
389     0, 28, /* snap_x */
390     -42, -22, 0, /* snap_y */
391     'm', 0, 0,
392     'l', 0, -42,
393     'l', 18, -42,
394     'c', 32, -42, 32, -22, 18, -22,
395     'l', 0, -22,
396     'l', 18, -22,
397     'c', 32, -22, 32, 0, 18, 0,
398     'E',
399     'X', 'X', 'X',
400     'X', 'X', 'X',
401     'X', 'X',
402 /* 0x43 'C'  offset 1455 */
403     0, 30, 42, 0, 2, 4,
404     0, 30, /* snap_x */
405     -42, -21, -15, 0, /* snap_y */
406     'm', 30, -32,
407     'c', 26, -42, 21, -42, 16, -42,
408     'c', 2, -42, 0, -29, 0, -21,
409     'c', 0, -13, 2, 0, 16, 0,
410     'c', 21, 0, 26, 0, 30, -10,
411     'e',
412 /* 0x44 'D'  offset 1499 */
413     0, 28, 42, 0, 2, 2,
414     0, 28, /* snap_x */
415     -42, 0, /* snap_y */
416     'm', 0, 0,
417     'l', 0, -42,
418     'l', 14, -42,
419     'c', 33, -42, 33, 0, 14, 0,
420     'E',
421     'X', 'X', 'X',
422     'X', 'X', 'X',
423     'X', 'X',
424 /* 0x45 'E'  offset 1534 */
425     0, 26, 42, 0, 2, 3,
426     0, 26, /* snap_x */
427     -42, -22, 0, /* snap_y */
428     'm', 26, -42,
429     'l', 0, -42,
430     'l', 0, 0,
431     'l', 26, 0,
432     'm', 0, -22,
433     'l', 16, -22,
434     'e',
435     'X', 'X', 'X',
436     'X', 'X', 'X',
437     'X', 'X',
438 /* 0x46 'F'  offset 1572 */
439     0, 26, 42, 0, 2, 3,
440     0, 26, /* snap_x */
441     -42, -22, 0, /* snap_y */
442     'm', 0, 0,
443     'l', 0, -42,
444     'l', 26, -42,
445     'm', 0, -22,
446     'l', 16, -22,
447     'e',
448     'X', 'X', 'X',
449     'X', 'X',
450 /* 0x47 'G'  offset 1604 */
451     0, 30, 42, 0, 2, 5,
452     0, 30, /* snap_x */
453     -42, -21, -16, -15, 0, /* snap_y */
454     'm', 30, -32,
455     'c', 26, -42, 21, -42, 16, -42,
456     'c', 2, -42, 0, -29, 0, -21,
457     'c', 0, -13, 2, 0, 16, 0,
458     'c', 28, 0, 30, -7, 30, -16,
459     'l', 20, -16,
460     'e',
461     'X', 'X', 'X',
462 /* 0x48 'H'  offset 1655 */
463     0, 28, 42, 0, 2, 3,
464     0, 28, /* snap_x */
465     -42, -22, 0, /* snap_y */
466     'm', 0, -42,
467     'l', 0, 0,
468     'm', 28, -42,
469     'l', 28, 0,
470     'm', 0, -22,
471     'l', 28, -22,
472     'e',
473     'X',
474 /* 0x49 'I'  offset 1686 */
475     0, 0, 42, 0, 1, 2,
476     0, /* snap_x */
477     -42, 0, /* snap_y */
478     'm', 0, -42,
479     'l', 0, 0,
480     'e',
481     'X',
482 /* 0x4a 'J'  offset 1703 */
483     0, 20, 42, 0, 2, 3,
484     0, 20, /* snap_x */
485     -42, -15, 0, /* snap_y */
486     'm', 20, -42,
487     'l', 20, -10,
488     'c', 20, 3, 0, 3, 0, -10,
489     'l', 0, -14,
490     'e',
491 /* 0x4b 'K'  offset 1731 */
492     0, 28, 42, 0, 2, 3,
493     0, 28, /* snap_x */
494     -42, -15, 0, /* snap_y */
495     'm', 0, -42,
496     'l', 0, 0,
497     'm', 28, -42,
498     'l', 0, -14,
499     'm', 10, -24,
500     'l', 28, 0,
501     'e',
502 /* 0x4c 'L'  offset 1761 */
503     0, 24, 42, 0, 2, 2,
504     0, 24, /* snap_x */
505     -42, 0, /* snap_y */
506     'm', 0, -42,
507     'l', 0, 0,
508     'l', 24, 0,
509     'e',
510     'X', 'X', 'X',
511     'X',
512 /* 0x4d 'M'  offset 1785 */
513     0, 32, 42, 0, 2, 2,
514     0, 32, /* snap_x */
515     -42, 0, /* snap_y */
516     'm', 0, 0,
517     'l', 0, -42,
518     'l', 16, 0,
519     'l', 32, -42,
520     'l', 32, 0,
521     'e',
522     'X', 'X', 'X',
523     'X', 'X', 'X',
524     'X', 'X', 'X',
525     'X',
526 /* 0x4e 'N'  offset 1821 */
527     0, 28, 42, 0, 2, 2,
528     0, 28, /* snap_x */
529     -42, 0, /* snap_y */
530     'm', 0, 0,
531     'l', 0, -42,
532     'l', 28, 0,
533     'l', 28, -42,
534     'e',
535     'X', 'X', 'X',
536     'X', 'X', 'X',
537     'X',
538 /* 0x4f 'O'  offset 1851 */
539     0, 32, 42, 0, 2, 4,
540     0, 32, /* snap_x */
541     -42, -21, -15, 0, /* snap_y */
542     'm', 16, -42,
543     'c', 2, -42, 0, -29, 0, -21,
544     'c', 0, -13, 2, 0, 16, 0,
545     'c', 30, 0, 32, -13, 32, -21,
546     'c', 32, -29, 30, -42, 16, -42,
547     'E',
548 /* 0x50 'P'  offset 1895 */
549     0, 28, 42, 0, 2, 5,
550     0, 28, /* snap_x */
551     -42, -21, -20, -15, 0, /* snap_y */
552     'm', 0, 0,
553     'l', 0, -42,
554     'l', 18, -42,
555     'c', 32, -42, 32, -20, 18, -20,
556     'l', 0, -20,
557     'e',
558     'X', 'X', 'X',
559 /* 0x51 'Q'  offset 1931 */
560     0, 32, 42, 4, 2, 4,
561     0, 32, /* snap_x */
562     -42, -21, -15, 0, /* snap_y */
563     'm', 16, -42,
564     'c', 2, -42, 0, -29, 0, -21,
565     'c', 0, -13, 2, 0, 16, 0,
566     'c', 30, 0, 32, -13, 32, -21,
567     'c', 32, -29, 30, -42, 16, -42,
568     'M', 18, -8,
569     'l', 30, 4,
570     'e',
571 /* 0x52 'R'  offset 1981 */
572     0, 28, 42, 0, 2, 5,
573     0, 28, /* snap_x */
574     -42, -22, -21, -15, 0, /* snap_y */
575     'm', 0, 0,
576     'l', 0, -42,
577     'l', 18, -42,
578     'c', 32, -42, 31, -22, 18, -22,
579     'l', 0, -22,
580     'm', 14, -22,
581     'l', 28, 0,
582     'e',
583     'X', 'X', 'X',
584 /* 0x53 'S'  offset 2023 */
585     0, 28, 42, 0, 2, 4,
586     0, 28, /* snap_x */
587     -42, -21, -15, 0, /* snap_y */
588     'm', 28, -36,
589     'c', 25, -41, 21, -42, 14, -42,
590     'c', 10, -42, 0, -42, 0, -34,
591     'c', 0, -17, 28, -28, 28, -9,
592     'c', 28, 0, 19, 0, 14, 0,
593     'c', 7, 0, 3, -1, 0, -6,
594     'e',
595 /* 0x54 'T'  offset 2074 */
596     0, 28, 42, 0, 3, 4,
597     0, 14, 28, /* snap_x */
598     -42, -21, -15, 0, /* snap_y */
599     'm', 14, -42,
600     'l', 14, 0,
601     'm', 0, -42,
602     'l', 28, -42,
603     'e',
604 /* 0x55 'U'  offset 2100 */
605     0, 28, 42, 0, 2, 2,
606     0, 28, /* snap_x */
607     -42, 0, /* snap_y */
608     'm', 0, -42,
609     'l', 0, -12,
610     'c', 0, 4, 28, 4, 28, -12,
611     'l', 28, -42,
612     'e',
613     'X',
614 /* 0x56 'V'  offset 2128 */
615     0, 32, 42, 0, 2, 2,
616     0, 32, /* snap_x */
617     -42, 0, /* snap_y */
618     'm', 0, -42,
619     'l', 16, 0,
620     'l', 32, -42,
621     'e',
622     'X', 'X', 'X',
623     'X',
624 /* 0x57 'W'  offset 2152 */
625     0, 40, 42, 0, 2, 2,
626     0, 40, /* snap_x */
627     -42, 0, /* snap_y */
628     'm', 0, -42,
629     'l', 10, 0,
630     'l', 20, -42,
631     'l', 30, 0,
632     'l', 40, -42,
633     'e',
634     'X', 'X', 'X',
635     'X', 'X', 'X',
636     'X', 'X', 'X',
637     'X',
638 /* 0x58 'X'  offset 2188 */
639     0, 28, 42, 0, 2, 2,
640     0, 28, /* snap_x */
641     -42, 0, /* snap_y */
642     'm', 0, -42,
643     'l', 28, 0,
644     'm', 28, -42,
645     'l', 0, 0,
646     'e',
647     'X',
648 /* 0x59 'Y'  offset 2212 */
649     0, 32, 42, 0, 3, 3,
650     0, 16, 32, /* snap_x */
651     -42, -21, 0, /* snap_y */
652     'm', 0, -42,
653     'l', 16, -22,
654     'l', 16, 0,
655     'm', 32, -42,
656     'l', 16, -22,
657     'e',
658 /* 0x5a 'Z'  offset 2240 */
659     0, 28, 42, 0, 2, 4,
660     0, 28, /* snap_x */
661     -42, -21, -15, 0, /* snap_y */
662     'm', 28, 0,
663     'l', 0, 0,
664     'l', 28, -42,
665     'l', 0, -42,
666     'e',
667     'X', 'X', 'X',
668     'X', 'X', 'X',
669 /* 0x5b '['  offset 2271 */
670     0, 14, 44, 0, 2, 4,
671     0, 14, /* snap_x */
672     -44, -21, -15, 0, /* snap_y */
673     'm', 14, -44,
674     'l', 0, -44,
675     'l', 0, 0,
676     'l', 14, 0,
677     'e',
678 /* 0x5c '\'  offset 2296 */
679     0, 36, 50, 14, 2, 3,
680     0, 36, /* snap_x */
681     -21, -15, 0, /* snap_y */
682     'm', 0, -50,
683     'l', 36, 14,
684     'e',
685 /* 0x5d ']'  offset 2314 */
686     0, 14, 44, 0, 2, 4,
687     0, 14, /* snap_x */
688     -44, -21, -15, 0, /* snap_y */
689     'm', 0, -44,
690     'l', 14, -44,
691     'l', 14, 0,
692     'l', 0, 0,
693     'e',
694 /* 0x5e '^'  offset 2339 */
695     0, 32, 46, -18, 2, 3,
696     0, 32, /* snap_x */
697     -21, -15, 0, /* snap_y */
698     'm', 0, -18,
699     'l', 16, -46,
700     'l', 32, -18,
701     'e',
702     'X', 'X', 'X',
703 /* 0x5f '_'  offset 2363 */
704     0, 36, 0, 0, 2, 1,
705     0, 36, /* snap_x */
706     0, /* snap_y */
707     'm', 0, 0,
708     'l', 36, 0,
709     'e',
710     'X', 'X',
711 /* 0x60 '`'  offset 2381 */
712     0, 4, 42, -30, 2, 2,
713     0, 4, /* snap_x */
714     -42, 0, /* snap_y */
715     'm', 4, -42,
716     'c', 2, -40, 0, -39, 0, -32,
717     'c', 0, -31, 1, -30, 2, -30,
718     'c', 5, -30, 5, -34, 2, -34,
719     'e',
720     'X',
721 /* 0x61 'a'  offset 2417 */
722     0, 24, 28, 0, 2, 4,
723     0, 24, /* snap_x */
724     -28, -21, -15, 0, /* snap_y */
725     'm', 24, -28,
726     'l', 24, 0,
727     'm', 24, -22,
728     'c', 21, -27, 18, -28, 13, -28,
729     'c', 2, -28, 0, -19, 0, -14,
730     'c', 0, -9, 2, 0, 13, 0,
731     'c', 18, 0, 21, -1, 24, -6,
732     'e',
733 /* 0x62 'b'  offset 2467 */
734     0, 24, 42, 0, 2, 4,
735     0, 24, /* snap_x */
736     -42, -28, -15, 0, /* snap_y */
737     'm', 0, -42,
738     'l', 0, 0,
739     'm', 0, -22,
740     'c', 3, -26, 6, -28, 11, -28,
741     'c', 22, -28, 24, -19, 24, -14,
742     'c', 24, -9, 22, 0, 11, 0,
743     'c', 6, 0, 3, -2, 0, -6,
744     'e',
745 /* 0x63 'c'  offset 2517 */
746     0, 24, 28, 0, 2, 4,
747     0, 24, /* snap_x */
748     -28, -21, -15, 0, /* snap_y */
749     'm', 24, -22,
750     'c', 21, -26, 18, -28, 13, -28,
751     'c', 2, -28, 0, -19, 0, -14,
752     'c', 0, -9, 2, 0, 13, 0,
753     'c', 18, 0, 21, -2, 24, -6,
754     'e',
755 /* 0x64 'd'  offset 2561 */
756     0, 24, 42, 0, 2, 4,
757     0, 24, /* snap_x */
758     -42, -28, -15, 0, /* snap_y */
759     'm', 24, -42,
760     'l', 24, 0,
761     'm', 24, -22,
762     'c', 21, -26, 18, -28, 13, -28,
763     'c', 2, -28, 0, -19, 0, -14,
764     'c', 0, -9, 2, 0, 13, 0,
765     'c', 18, 0, 21, -2, 24, -6,
766     'e',
767 /* 0x65 'e'  offset 2611 */
768     0, 24, 28, 0, 2, 5,
769     0, 24, /* snap_x */
770     -28, -21, -16, -15, 0, /* snap_y */
771     'm', 0, -16,
772     'l', 24, -16,
773     'c', 24, -20, 24, -28, 13, -28,
774     'c', 2, -28, 0, -19, 0, -14,
775     'c', 0, -9, 2, 0, 13, 0,
776     'c', 18, 0, 21, -2, 24, -6,
777     'e',
778 /* 0x66 'f'  offset 2659 */
779     0, 16, 42, 0, 3, 5,
780     0, 6, 16, /* snap_x */
781     -42, -28, -21, -15, 0, /* snap_y */
782     'm', 16, -42,
783     'c', 8, -42, 6, -40, 6, -34,
784     'l', 6, 0,
785     'm', 0, -28,
786     'l', 14, -28,
787     'e',
788 /* 0x67 'g'  offset 2693 */
789     0, 24, 28, 14, 2, 5,
790     0, 24, /* snap_x */
791     -28, -21, -15, 0, 14, /* snap_y */
792     'm', 24, -28,
793     'l', 24, 4,
794     'c', 23, 14, 16, 14, 13, 14,
795     'c', 10, 14, 8, 14, 6, 12,
796     'm', 24, -22,
797     'c', 21, -26, 18, -28, 13, -28,
798     'c', 2, -28, 0, -19, 0, -14,
799     'c', 0, -9, 2, 0, 13, 0,
800     'c', 18, 0, 21, -2, 24, -6,
801     'e',
802 /* 0x68 'h'  offset 2758 */
803     0, 22, 42, 0, 2, 4,
804     0, 22, /* snap_x */
805     -42, -28, -15, 0, /* snap_y */
806     'm', 0, -42,
807     'l', 0, 0,
808     'm', 0, -20,
809     'c', 8, -32, 22, -31, 22, -20,
810     'l', 22, 0,
811     'e',
812 /* 0x69 'i'  offset 2790 */
813     0, 0, 44, 0, 1, 3,
814     0, /* snap_x */
815     -42, -28, 0, /* snap_y */
816     'm', 0, -42,
817     'l', 0, -42,
818     'm', 0, -28,
819     'l', 0, 0,
820     'e',
821     'X', 'X', 'X',
822     'X', 'X', 'X',
823     'X', 'X', 'X',
824     'X', 'X',
825     'X', 'X',
826 /* 0x6a 'j'  offset 2826 */
827     -8, 4, 44, 14, 3, 5,
828     -8, 2, 4, /* snap_x */
829     -42, -21, -15, 0, 14, /* snap_y */
830     'm', 2, -42,
831     'l', 2, -42,
832     'm', 2, -28,
833     'l', 2, 6,
834     'c', 2, 13, -1, 14, -8, 14,
835     'e',
836     'X', 'X', 'X',
837     'X', 'X', 'X',
838     'X', 'X', 'X',
839     'X',
840 /* 0x6b 'k'  offset 2870 */
841     0, 22, 42, 0, 2, 3,
842     0, 22, /* snap_x */
843     -42, -28, 0, /* snap_y */
844     'm', 0, -42,
845     'l', 0, 0,
846     'm', 20, -28,
847     'l', 0, -8,
848     'm', 8, -16,
849     'l', 22, 0,
850     'e',
851 /* 0x6c 'l'  offset 2900 */
852     0, 0, 42, 0, 1, 2,
853     0, /* snap_x */
854     -42, 0, /* snap_y */
855     'm', 0, -42,
856     'l', 0, 0,
857     'e',
858     'X',
859 /* 0x6d 'm'  offset 2917 */
860     0, 44, 28, 0, 3, 3,
861     0, 22, 44, /* snap_x */
862     -28, -21, 0, /* snap_y */
863     'm', 0, -28,
864     'l', 0, 0,
865     'm', 0, -20,
866     'c', 5, -29, 22, -33, 22, -20,
867     'l', 22, 0,
868     'm', 22, -20,
869     'c', 27, -29, 44, -33, 44, -20,
870     'l', 44, 0,
871     'e',
872     'X',
873 /* 0x6e 'n'  offset 2963 */
874     0, 22, 28, 0, 2, 3,
875     0, 22, /* snap_x */
876     -28, -21, 0, /* snap_y */
877     'm', 0, -28,
878     'l', 0, 0,
879     'm', 0, -20,
880     'c', 4, -28, 22, -34, 22, -20,
881     'l', 22, 0,
882     'e',
883     'X',
884 /* 0x6f 'o'  offset 2995 */
885     0, 26, 28, 0, 2, 4,
886     0, 26, /* snap_x */
887     -28, -21, -15, 0, /* snap_y */
888     'm', 13, -28,
889     'c', 2, -28, 0, -19, 0, -14,
890     'c', 0, -9, 2, 0, 13, 0,
891     'c', 24, 0, 26, -9, 26, -14,
892     'c', 26, -19, 24, -28, 13, -28,
893     'E',
894 /* 0x70 'p'  offset 3039 */
895     0, 24, 28, 14, 2, 4,
896     0, 24, /* snap_x */
897     -28, -21, 0, 14, /* snap_y */
898     'm', 0, -28,
899     'l', 0, 14,
900     'm', 0, -22,
901     'c', 3, -26, 6, -28, 11, -28,
902     'c', 22, -28, 24, -19, 24, -14,
903     'c', 24, -9, 22, 0, 11, 0,
904     'c', 6, 0, 3, -2, 0, -6,
905     'e',
906 /* 0x71 'q'  offset 3089 */
907     0, 24, 28, 14, 2, 4,
908     0, 24, /* snap_x */
909     -28, -21, 0, 14, /* snap_y */
910     'm', 24, -28,
911     'l', 24, 14,
912     'm', 24, -22,
913     'c', 21, -26, 18, -28, 13, -28,
914     'c', 2, -28, 0, -19, 0, -14,
915     'c', 0, -9, 2, 0, 13, 0,
916     'c', 18, 0, 21, -2, 24, -6,
917     'e',
918 /* 0x72 'r'  offset 3139 */
919     0, 16, 28, 0, 2, 4,
920     0, 16, /* snap_x */
921     -28, -21, -15, 0, /* snap_y */
922     'm', 0, -28,
923     'l', 0, 0,
924     'm', 0, -16,
925     'c', 2, -27, 7, -28, 16, -28,
926     'e',
927 /* 0x73 's'  offset 3168 */
928     0, 22, 28, 0, 2, 4,
929     0, 22, /* snap_x */
930     -28, -21, -15, 0, /* snap_y */
931     'm', 22, -22,
932     'c', 22, -27, 16, -28, 11, -28,
933     'c', 4, -28, 0, -26, 0, -22,
934     'c', 0, -11, 22, -20, 22, -7,
935     'c', 22, 0, 17, 0, 11, 0,
936     'c', 6, 0, 0, -1, 0, -6,
937     'e',
938 /* 0x74 't'  offset 3219 */
939     0, 16, 42, 0, 3, 4,
940     0, 6, 16, /* snap_x */
941     -42, -28, -21, 0, /* snap_y */
942     'm', 6, -42,
943     'l', 6, -8,
944     'c', 6, -2, 8, 0, 16, 0,
945     'm', 0, -28,
946     'l', 14, -28,
947     'e',
948 /* 0x75 'u'  offset 3252 */
949     0, 22, 28, 0, 2, 3,
950     0, 22, /* snap_x */
951     -28, -15, 0, /* snap_y */
952     'm', 0, -28,
953     'l', 0, -8,
954     'c', 0, 6, 18, 0, 22, -8,
955     'm', 22, -28,
956     'l', 22, 0,
957     'e',
958 /* 0x76 'v'  offset 3283 */
959     0, 24, 28, 0, 2, 3,
960     0, 24, /* snap_x */
961     -28, -15, 0, /* snap_y */
962     'm', 0, -28,
963     'l', 12, 0,
964     'l', 24, -28,
965     'e',
966     'X', 'X', 'X',
967 /* 0x77 'w'  offset 3307 */
968     0, 32, 28, 0, 2, 3,
969     0, 32, /* snap_x */
970     -28, -15, 0, /* snap_y */
971     'm', 0, -28,
972     'l', 8, 0,
973     'l', 16, -28,
974     'l', 24, 0,
975     'l', 32, -28,
976     'e',
977     'X', 'X', 'X',
978     'X', 'X', 'X',
979     'X', 'X', 'X',
980 /* 0x78 'x'  offset 3343 */
981     0, 22, 28, 0, 2, 2,
982     0, 22, /* snap_x */
983     -28, 0, /* snap_y */
984     'm', 0, -28,
985     'l', 22, 0,
986     'm', 22, -28,
987     'l', 0, 0,
988     'e',
989     'X',
990 /* 0x79 'y'  offset 3367 */
991     -2, 24, 28, 14, 2, 4,
992     0, 24, /* snap_x */
993     -28, -15, 0, 14, /* snap_y */
994     'm', 0, -28,
995     'l', 12, 0,
996     'm', 24, -28,
997     'l', 12, 0,
998     'c', 6, 13, 0, 14, -2, 14,
999     'e',
1000 /* 0x7a 'z'  offset 3399 */
1001     0, 22, 28, 0, 2, 4,
1002     0, 22, /* snap_x */
1003     -28, -21, -15, 0, /* snap_y */
1004     'm', 22, 0,
1005     'l', 0, 0,
1006     'l', 22, -28,
1007     'l', 0, -28,
1008     'e',
1009     'X', 'X', 'X',
1010     'X', 'X', 'X',
1011 /* 0x7b '{'  offset 3430 */
1012     0, 16, 44, 0, 3, 5,
1013     0, 6, 16, /* snap_x */
1014     -44, -24, -21, -15, 0, /* snap_y */
1015     'm', 16, -44,
1016     'c', 10, -44, 6, -42, 6, -36,
1017     'l', 6, -24,
1018     'l', 0, -24,
1019     'l', 6, -24,
1020     'l', 6, -8,
1021     'c', 6, -2, 10, 0, 16, 0,
1022     'e',
1023 /* 0x7c '|'  offset 3474 */
1024     0, 0, 50, 14, 1, 2,
1025     0, /* snap_x */
1026     -50, 14, /* snap_y */
1027     'm', 0, -50,
1028     'l', 0, 14,
1029     'e',
1030     'X',
1031 /* 0x7d '}'  offset 3491 */
1032     0, 16, 44, 0, 3, 5,
1033     0, 10, 16, /* snap_x */
1034     -44, -24, -21, -15, 0, /* snap_y */
1035     'm', 0, -44,
1036     'c', 6, -44, 10, -42, 10, -36,
1037     'l', 10, -24,
1038     'l', 16, -24,
1039     'l', 10, -24,
1040     'l', 10, -8,
1041     'c', 10, -2, 6, 0, 0, 0,
1042     'e',
1043 /* 0x7e '~'  offset 3535 */
1044     0, 36, 24, -12, 2, 5,
1045     0, 36, /* snap_x */
1046     -24, -21, -15, -12, 0, /* snap_y */
1047     'm', 0, -14,
1048     'c', 1, -21, 4, -24, 8, -24,
1049     'c', 18, -24, 18, -12, 28, -12,
1050     'c', 32, -12, 35, -15, 36, -22,
1051     'e',
1052 };
1053
1054 const uint16_t _cairo_twin_charmap[128] = {
1055     0,    0,    0,    0,    0,    0,    0,    0,
1056     0,    0,    0,    0,    0,    0,    0,    0,
1057     0,    0,    0,    0,    0,    0,    0,    0,
1058     0,    0,    0,    0,    0,    0,    0,    0,
1059     28,   40,   90,  114,  152,  224,  323,  390,
1060     419,  441,  463,  494,  520,  556,  575,  604,
1061     622,  666,  691,  736,  780,  809,  860,  919,
1062     944, 1004, 1063, 1109, 1162, 1183, 1209, 1230,
1063     1288, 1375, 1406, 1455, 1499, 1534, 1572, 1604,
1064     1655, 1686, 1703, 1731, 1761, 1785, 1821, 1851,
1065     1895, 1931, 1981, 2023, 2074, 2100, 2128, 2152,
1066     2188, 2212, 2240, 2271, 2296, 2314, 2339, 2363,
1067     2381, 2417, 2467, 2517, 2561, 2611, 2659, 2693,
1068     2758, 2790, 2826, 2870, 2900, 2917, 2963, 2995,
1069     3039, 3089, 3139, 3168, 3219, 3252, 3283, 3307,
1070     3343, 3367, 3399, 3430, 3474, 3491, 3535,    0,
1071 };
1072