updated the recipes of geda-gaf, pcb and gerbv. Different server, the most current...
[minipack.git] / patches / geda-gaf / 04-cairo_printing.patch
blob545706f9a2fa4aeb074056c7a56543a28d8b4754
1 diff --git a/configure.ac b/configure.ac
2 index df0a0f6..ddcf236 100644
3 --- a/configure.ac
4 +++ b/configure.ac
5 @@ -84,6 +84,9 @@ PKG_CHECK_MODULES(GDK_PIXBUF, [gdk-pixbuf-2.0 >= 0.15.0], ,
6 PKG_CHECK_MODULES(CAIRO, [cairo >= 1.2.0], ,
7 AC_MSG_ERROR([CAIRO 1.2.0 or later is required.]))
9 +PKG_CHECK_MODULES(CAIRO, [cairo-svg], ,
10 + AC_MSG_ERROR([CAIRO built with SVG support is required.]))
12 #####################################################################
13 # Header files & particular functions
14 #####################################################################
15 diff --git a/gschem/include/gschem_struct.h b/gschem/include/gschem_struct.h
16 index 9d8bacb..ff60a3c 100644
17 --- a/gschem/include/gschem_struct.h
18 +++ b/gschem/include/gschem_struct.h
19 @@ -79,6 +79,7 @@ struct st_gschem_toplevel {
20 GdkPixmap *drawable; /* drawable to paint onto */
21 cairo_t *cr; /* Cairo surface */
22 PangoLayout *pl; /* Pango layout */
23 + int is_printing; /* Magic flag to fixup some transforms */
25 int win_width, win_height; /* Actual size of window (?) */
27 diff --git a/gschem/src/g_funcs.c b/gschem/src/g_funcs.c
28 index 7faa171..4027c10 100644
29 --- a/gschem/src/g_funcs.c
30 +++ b/gschem/src/g_funcs.c
31 @@ -45,6 +45,8 @@
33 SCM g_funcs_print(SCM filename)
35 +#warning FIXME PRINTING
36 +#if 0
37 SCM_ASSERT (scm_is_string (filename), filename,
38 SCM_ARG1, "gschem-print");
40 @@ -56,6 +58,7 @@ SCM g_funcs_print(SCM filename)
41 return SCM_BOOL_F;
44 +#endif
45 return SCM_BOOL_T;
48 @@ -66,6 +69,8 @@ SCM g_funcs_print(SCM filename)
50 SCM g_funcs_postscript(SCM filename)
52 +#warning FIXME POSTSCRIPT OUTPUT
53 +#if 0
54 SCM_ASSERT (scm_is_string (filename), filename,
55 SCM_ARG1, "gschem-postscript");
57 @@ -77,6 +82,7 @@ SCM g_funcs_postscript(SCM filename)
58 return SCM_BOOL_F;
61 +#endif
62 return SCM_BOOL_T;
65 diff --git a/gschem/src/gschem_cairo.c b/gschem/src/gschem_cairo.c
66 index 2e7882d..9a1d41e 100644
67 --- a/gschem/src/gschem_cairo.c
68 +++ b/gschem/src/gschem_cairo.c
69 @@ -22,6 +22,7 @@
70 #include <config.h>
72 #include <cairo.h>
73 +#include <cairo-ps.h>
74 #include <math.h>
76 #include "gschem.h"
77 @@ -33,9 +34,15 @@
79 static inline int screen_width (GSCHEM_TOPLEVEL *w_current, int w_width)
81 - int width = SCREENabs (w_current, w_width);
82 - if (width < 1)
83 - width = 1;
84 + int width;
86 + if (w_current->is_printing) {
87 + width = w_width;
88 + if (width < 10) width = 10;
89 + } else {
90 + width = SCREENabs (w_current, w_width);
91 + if (width < 1) width = 1;
92 + }
94 return width;
96 @@ -51,46 +58,52 @@ void gschem_cairo_line (GSCHEM_TOPLEVEL *w_current, int line_end,
97 int horizontal = 0;
98 int vertical = 0;
100 - WORLDtoSCREEN (w_current, w_x1, w_y1, &x1, &y1);
101 - WORLDtoSCREEN (w_current, w_x2, w_y2, &x2, &y2);
102 - line_width = screen_width (w_current, w_line_width);
103 - offset = ((line_width % 2) == 0) ? 0 : 0.5;
105 - if (y1 == y2) horizontal = 1;
106 - if (x1 == x2) vertical = 1;
108 - /* Hint so the length of the line runs along a pixel boundary */
110 - if (horizontal)
111 - yoffset = offset;
112 - else if (vertical)
113 - xoffset = offset;
114 - else
115 - xoffset = yoffset = offset;
117 - /* Now hint the ends of the lines */
119 - switch (line_end) {
120 - case END_NONE:
121 - /* Line terminates at the passed coordinate */
123 - /* Add an extra pixel to give an inclusive span */
124 - if (horizontal) {
125 - if (x1 > x2) x1 += 1; else x2 += 1;
126 - } else if (vertical) {
127 - if (y1 > y2) y1 += 1; else y2 += 1;
129 - break;
130 + if (w_current->is_printing) {
131 + x1 = w_x1; y1 = w_y1;
132 + x2 = w_x2; y2 = w_y2;
133 + } else {
135 - case END_SQUARE:
136 - case END_ROUND:
137 - /* Line terminates half a width away from the passed coordinate */
138 - if (horizontal) {
139 - xoffset = offset;
140 - } else if (vertical) {
141 - yoffset = offset;
143 - break;
144 + WORLDtoSCREEN (w_current, w_x1, w_y1, &x1, &y1);
145 + WORLDtoSCREEN (w_current, w_x2, w_y2, &x2, &y2);
146 + line_width = screen_width (w_current, w_line_width);
147 + offset = ((line_width % 2) == 0) ? 0 : 0.5;
149 + if (y1 == y2) horizontal = 1;
150 + if (x1 == x2) vertical = 1;
152 + /* Hint so the length of the line runs along a pixel boundary */
154 + if (horizontal)
155 + yoffset = offset;
156 + else if (vertical)
157 + xoffset = offset;
158 + else
159 + xoffset = yoffset = offset;
161 + /* Now hint the ends of the lines */
163 + switch (line_end) {
164 + case END_NONE:
165 + /* Line terminates at the passed coordinate */
167 + /* Add an extra pixel to give an inclusive span */
168 + if (horizontal) {
169 + if (x1 > x2) x1 += 1; else x2 += 1;
170 + } else if (vertical) {
171 + if (y1 > y2) y1 += 1; else y2 += 1;
173 + break;
175 + case END_SQUARE:
176 + case END_ROUND:
177 + /* Line terminates half a width away from the passed coordinate */
178 + if (horizontal) {
179 + xoffset = offset;
180 + } else if (vertical) {
181 + yoffset = offset;
183 + break;
187 cairo_move_to (w_current->cr, x1 + xoffset, y1 + yoffset);
188 @@ -105,16 +118,22 @@ void gschem_cairo_box (GSCHEM_TOPLEVEL *w_current, int line_width,
189 int s_x1, s_y1, s_x2, s_y2;
190 double offset;
192 - WORLDtoSCREEN (w_current, x1, y1, &s_x1, &s_y1);
193 - WORLDtoSCREEN (w_current, x2, y2, &s_x2, &s_y2);
194 - s_line_width = screen_width (w_current, line_width);
195 - offset = (line_width == -1 || (s_line_width % 2) == 0) ? 0 : 0.5;
197 - /* Allow filled boxes (inferred from line_width == -1)
198 - * to touch an extra pixel, so the filled span is inclusive */
199 - if (line_width == -1) {
200 - if (x1 > x2) x1 += 1; else x2 += 1;
201 - if (y1 > y2) y1 += 1; else y2 += 1;
202 + if (w_current->is_printing) {
203 + s_x1 = x1; s_y1 = y1;
204 + s_x2 = x2; s_y2 = y2;
205 + offset = 0.;
206 + } else {
207 + WORLDtoSCREEN (w_current, x1, y1, &s_x1, &s_y1);
208 + WORLDtoSCREEN (w_current, x2, y2, &s_x2, &s_y2);
209 + s_line_width = screen_width (w_current, line_width);
210 + offset = (line_width == -1 || (s_line_width % 2) == 0) ? 0 : 0.5;
212 + /* Allow filled boxes (inferred from line_width == -1)
213 + * to touch an extra pixel, so the filled span is inclusive */
214 + if (line_width == -1) {
215 + if (x1 > x2) x1 += 1; else x2 += 1;
216 + if (y1 > y2) y1 += 1; else y2 += 1;
220 cairo_move_to (w_current->cr, s_x2 + offset, s_y2 + offset);
221 @@ -142,46 +161,51 @@ void gschem_cairo_center_box (GSCHEM_TOPLEVEL *w_current,
222 int do_width_hint = TRUE;
223 int do_height_hint = TRUE;
225 - WORLDtoSCREEN (w_current, x, y, &s_x, &s_y);
226 - s_width = SCREENabs (w_current, 2 * half_width);
227 - s_height = SCREENabs (w_current, 2 * half_height);
228 - even_width = (s_width % 2 == 0);
229 - even_height = (s_width % 2 == 0);
230 - s_half_width = (double) s_width / 2.;
231 - s_half_height = (double) s_height / 2.;
232 + if (w_current->is_printing) {
233 + x1 = x - half_width; y1 = y - half_height;
234 + x2 = x + half_width; y2 = y + half_height;
235 + } else {
236 + WORLDtoSCREEN (w_current, x, y, &s_x, &s_y);
237 + s_width = SCREENabs (w_current, 2 * half_width);
238 + s_height = SCREENabs (w_current, 2 * half_height);
239 + even_width = (s_width % 2 == 0);
240 + even_height = (s_width % 2 == 0);
241 + s_half_width = (double) s_width / 2.;
242 + s_half_height = (double) s_height / 2.;
244 #if 0 /* Not as nice an effect as with arcs */
245 - /* Switch off radius hinting for small radii. If we don't, then we get
246 - * a very abrupt transition once the box reaches a single pixel size. */
247 - if (s_half_width <= 1.) do_width_hint = FALSE;
248 - if (s_half_height <= 1.) do_height_hint = FALSE;
249 + /* Switch off radius hinting for small radii. If we don't, then we get
250 + * a very abrupt transition once the box reaches a single pixel size. */
251 + if (s_half_width <= 1.) do_width_hint = FALSE;
252 + if (s_half_height <= 1.) do_height_hint = FALSE;
253 #endif
255 - /* Hint the center of the box based on where a line
256 - * of thickness center_width (world) would drawn */
257 - s_center_width = screen_width (w_current, center_width);
258 - even_center_width = (center_width == -1 || (s_center_width % 2) == 0);
259 - center_offset = even_center_width ? 0. : 0.5;
261 - /* Hint the half-widths to land the stroke on the pixel grid */
262 - s_line_width = screen_width (w_current, line_width);
263 - even_line_width = (line_width == -1 || (s_line_width % 2) == 0);
264 - if (do_width_hint)
265 - s_half_width += ((even_center_width ==
266 - even_line_width) == even_width ) ? 0. : 0.5;
267 - if (do_height_hint)
268 - s_half_height += ((even_center_width ==
269 - even_line_width) == even_height) ? 0. : 0.5;
271 - x1 = (double) s_x + center_offset - s_half_width;
272 - y1 = (double) s_y + center_offset - s_half_height;
273 - x2 = (double) s_x + center_offset + s_half_width;
274 - y2 = (double) s_y + center_offset + s_half_height;
276 - /* Allow filled boxes (inferred from line_width == -1)
277 - * to touch an extra pixel, so the filled span is inclusive */
278 - if (line_width == -1) {
279 - x2 += 1; y2 += 1;
280 + /* Hint the center of the box based on where a line
281 + * of thickness center_width (world) would drawn */
282 + s_center_width = screen_width (w_current, center_width);
283 + even_center_width = (center_width == -1 || (s_center_width % 2) == 0);
284 + center_offset = even_center_width ? 0. : 0.5;
286 + /* Hint the half-widths to land the stroke on the pixel grid */
287 + s_line_width = screen_width (w_current, line_width);
288 + even_line_width = (line_width == -1 || (s_line_width % 2) == 0);
289 + if (do_width_hint)
290 + s_half_width += ((even_center_width ==
291 + even_line_width) == even_width ) ? 0. : 0.5;
292 + if (do_height_hint)
293 + s_half_height += ((even_center_width ==
294 + even_line_width) == even_height) ? 0. : 0.5;
296 + x1 = (double) s_x + center_offset - s_half_width;
297 + y1 = (double) s_y + center_offset - s_half_height;
298 + x2 = (double) s_x + center_offset + s_half_width;
299 + y2 = (double) s_y + center_offset + s_half_height;
301 + /* Allow filled boxes (inferred from line_width == -1)
302 + * to touch an extra pixel, so the filled span is inclusive */
303 + if (line_width == -1) {
304 + x2 += 1; y2 += 1;
308 cairo_move_to (w_current->cr, x2, y2);
309 @@ -215,22 +239,29 @@ void gschem_cairo_arc (GSCHEM_TOPLEVEL *w_current,
310 double s_x, s_y, s_radius;
311 double offset;
313 - WORLDtoSCREEN (w_current, x - radius, y + radius, &x1, &y1);
314 - WORLDtoSCREEN (w_current, x + radius, y - radius, &x2, &y2);
315 - s_width = screen_width (w_current, width);
316 - offset = ((s_width % 2) == 0) ? 0 : 0.5;
318 - s_x = (double)(x1 + x2) / 2.;
319 - s_y = (double)(y1 + y2) / 2.;
320 - s_radius = (double)(y2 - y1) / 2.;
322 - cairo_save (w_current->cr);
323 - cairo_translate (w_current->cr, s_x + offset, s_y + offset);
325 - /* Adjust for non-uniform X/Y scale factor. Note that the + 1
326 - allows for the case where x2 == x1 or y2 == y1 */
327 - cairo_scale (w_current->cr, (double)(x2 - x1 + 1) /
328 - (double)(y2 - y1 + 1), 1.);
329 + if (w_current->is_printing) {
330 + s_radius = radius;
331 + cairo_save (w_current->cr);
332 + cairo_translate (w_current->cr, x, y);
333 + cairo_scale (w_current->cr, 1., -1.);
334 + } else {
335 + WORLDtoSCREEN (w_current, x - radius, y + radius, &x1, &y1);
336 + WORLDtoSCREEN (w_current, x + radius, y - radius, &x2, &y2);
337 + s_width = screen_width (w_current, width);
338 + offset = ((s_width % 2) == 0) ? 0 : 0.5;
340 + s_x = (double)(x1 + x2) / 2.;
341 + s_y = (double)(y1 + y2) / 2.;
342 + s_radius = (double)(y2 - y1) / 2.;
344 + cairo_save (w_current->cr);
345 + cairo_translate (w_current->cr, s_x + offset, s_y + offset);
347 + /* Adjust for non-uniform X/Y scale factor. Note that the + 1
348 + allows for the case where x2 == x1 or y2 == y1 */
349 + cairo_scale (w_current->cr, (double)(x2 - x1 + 1) /
350 + (double)(y2 - y1 + 1), 1.);
353 do_arc (w_current->cr, 0., 0., (double) s_radius, start_angle, end_angle);
355 @@ -252,32 +283,45 @@ void gschem_cairo_center_arc (GSCHEM_TOPLEVEL *w_current,
356 double s_radius;
357 int do_radius_hint = TRUE;
359 - WORLDtoSCREEN (w_current, x, y, &s_x, &s_y);
360 - s_diameter = SCREENabs (w_current, 2 * radius);
361 - even_diameter = ((s_diameter % 2) == 0);
362 - s_radius = (double) s_diameter / 2.;
364 - /* Switch off radius hinting for small radii. If we don't, then we get
365 - * a very abrupt transition once the arc reaches a single pixel size. */
366 - if (s_radius <= 1.) do_radius_hint = FALSE;
368 - /* Hint the center of the arc based on where a line
369 - * of thickness center_width (world) would drawn */
370 - s_center_width = screen_width (w_current, center_width);
371 - even_center_width = (center_width == -1 || (s_center_width % 2) == 0);
372 - center_offset = even_center_width ? 0. : 0.5;
374 - /* Hint the radius to land its extermity on the pixel grid */
375 - s_line_width = screen_width (w_current, line_width);
376 - even_line_width = (line_width == -1 || (s_line_width % 2) == 0);
377 - if (do_radius_hint)
378 - s_radius += ((even_center_width ==
379 - even_line_width) == even_diameter) ? 0. : 0.5;
380 + if (w_current->is_printing) {
381 + s_x = 0;
382 + s_y = 0;
383 + s_radius = radius;
384 + center_offset = 0.;
385 + cairo_save (w_current->cr);
386 + cairo_translate (w_current->cr, x, y);
387 + cairo_scale (w_current->cr, 1., -1.);
388 + } else {
389 + WORLDtoSCREEN (w_current, x, y, &s_x, &s_y);
390 + s_diameter = SCREENabs (w_current, 2 * radius);
391 + even_diameter = ((s_diameter % 2) == 0);
392 + s_radius = (double) s_diameter / 2.;
394 + /* Switch off radius hinting for small radii. If we don't, then we get
395 + * a very abrupt transition once the arc reaches a single pixel size. */
396 + if (s_radius <= 1.) do_radius_hint = FALSE;
398 + /* Hint the center of the arc based on where a line
399 + * of thickness center_width (world) would drawn */
400 + s_center_width = screen_width (w_current, center_width);
401 + even_center_width = (center_width == -1 || (s_center_width % 2) == 0);
402 + center_offset = even_center_width ? 0. : 0.5;
404 + /* Hint the radius to land its extermity on the pixel grid */
405 + s_line_width = screen_width (w_current, line_width);
406 + even_line_width = (line_width == -1 || (s_line_width % 2) == 0);
407 + if (do_radius_hint)
408 + s_radius += ((even_center_width ==
409 + even_line_width) == even_diameter) ? 0. : 0.5;
412 do_arc (w_current->cr, (double) s_x + center_offset,
413 (double) s_y + center_offset,
414 (double) s_radius,
415 start_angle, end_angle);
417 + if (w_current->is_printing)
418 + cairo_restore (w_current->cr);
422 @@ -292,16 +336,25 @@ void gschem_cairo_stroke (GSCHEM_TOPLEVEL *w_current, int line_type, int line_en
423 int width, length, space;
425 width = screen_width (w_current, wwidth);
426 - length = screen_width (w_current, wlength);
427 - space = screen_width (w_current, wspace);
428 - offset = ((width % 2) == 0) ? 0 : 0.5;
430 + if (w_current->is_printing) {
431 + length = wlength;
432 + space = wspace;
433 + offset = 0.;
435 + round_cap_if_legible = CAIRO_LINE_CAP_ROUND;
436 + } else {
437 + length = screen_width (w_current, wlength);
438 + space = screen_width (w_current, wspace);
439 + offset = ((width % 2) == 0) ? 0 : 0.5;
441 + round_cap_if_legible = (width <= 1) ? CAIRO_LINE_CAP_SQUARE :
442 + CAIRO_LINE_CAP_ROUND;
445 cairo_set_line_width (w_current->cr, width);
446 cairo_set_line_join (w_current->cr, CAIRO_LINE_JOIN_MITER);
448 - round_cap_if_legible = (width <= 1) ? CAIRO_LINE_CAP_SQUARE :
449 - CAIRO_LINE_CAP_ROUND;
451 switch (line_end) {
452 case END_NONE: cap = CAIRO_LINE_CAP_BUTT; break;
453 case END_SQUARE: cap = CAIRO_LINE_CAP_SQUARE; break;
454 diff --git a/gschem/src/gschem_toplevel.c b/gschem/src/gschem_toplevel.c
455 index 4367d9f..f2704d6 100644
456 --- a/gschem/src/gschem_toplevel.c
457 +++ b/gschem/src/gschem_toplevel.c
458 @@ -97,6 +97,7 @@ GSCHEM_TOPLEVEL *gschem_toplevel_new ()
459 w_current->drawable = NULL;
460 w_current->cr = NULL;
461 w_current->pl = NULL;
462 + w_current->is_printing = 0;
463 w_current->win_width = 0;
464 w_current->win_height = 0;
466 diff --git a/gschem/src/o_basic.c b/gschem/src/o_basic.c
467 index df8858d..87301a6 100644
468 --- a/gschem/src/o_basic.c
469 +++ b/gschem/src/o_basic.c
470 @@ -600,14 +600,18 @@ COLOR *o_drawing_color (GSCHEM_TOPLEVEL *w_current, OBJECT *object)
472 color_idx = object->color;
474 - if (object->selected)
475 - color_idx = SELECT_COLOR;
476 + /* If we are printing, we don't look at whether an object is selected */
477 + if (!w_current->is_printing) {
479 - /* Check if the object, or its parent(s) are selected */
480 - for (temp = object; temp != NULL; temp = temp->parent) {
481 - if (temp->selected) {
482 + if (object->selected)
483 color_idx = SELECT_COLOR;
484 - break;
486 + /* Check if the object, or its parent(s) are selected */
487 + for (temp = object; temp != NULL; temp = temp->parent) {
488 + if (temp->selected) {
489 + color_idx = SELECT_COLOR;
490 + break;
495 diff --git a/gschem/src/o_line.c b/gschem/src/o_line.c
496 index 2d9ac27..2e46932 100644
497 --- a/gschem/src/o_line.c
498 +++ b/gschem/src/o_line.c
499 @@ -288,7 +288,8 @@ int o_line_visible (GSCHEM_TOPLEVEL *w_current, LINE *line,
500 *x2 = line->x[1]; *y2 = line->y[1];
502 /* Do we want to skip clipping? */
503 - if (!w_current->toplevel->object_clipping)
504 + if (!w_current->toplevel->object_clipping ||
505 + w_current->is_printing)
506 return TRUE;
508 return WORLDclip_change (w_current, x1, y1, x2, y2);
509 diff --git a/gschem/src/o_path.c b/gschem/src/o_path.c
510 index 496a13c..336b362 100644
511 --- a/gschem/src/o_path.c
512 +++ b/gschem/src/o_path.c
513 @@ -56,9 +56,12 @@ static void path_path (GSCHEM_TOPLEVEL *w_current, OBJECT *object)
514 double fx2 = 0.0, fy2 = 0.0;
515 double fx3 = 0.0, fy3 = 0.0;
517 - line_width = SCREENabs (w_current, object->line_width);
518 - if (line_width <= 0) {
519 - line_width = 1;
520 + if (w_current->is_printing) {
521 + line_width = object->line_width;
522 + if (line_width < 10) line_width = 10;
523 + } else {
524 + line_width = SCREENabs (w_current, object->line_width);
525 + if (line_width < 1) line_width = 1;
528 for (i = 0; i < path->num_sections; i++) {
529 @@ -67,8 +70,13 @@ static void path_path (GSCHEM_TOPLEVEL *w_current, OBJECT *object)
530 switch (section->code) {
531 case PATH_CURVETO:
532 /* Two control point grips */
533 - WORLDtoSCREEN (w_current, section->x1, section->y1, &x1, &y1);
534 - WORLDtoSCREEN (w_current, section->x2, section->y2, &x2, &y2);
535 + if (w_current->is_printing) {
536 + x1 = section->x1; y1 = section->y1;
537 + x2 = section->x2; y2 = section->y2;
538 + } else {
539 + WORLDtoSCREEN (w_current, section->x1, section->y1, &x1, &y1);
540 + WORLDtoSCREEN (w_current, section->x2, section->y2, &x2, &y2);
542 hint_coordinates (x1, y1, &fx1, &fy1, line_width);
543 hint_coordinates (x2, y2, &fx2, &fy2, line_width);
544 /* Fall through */
545 @@ -76,7 +84,11 @@ static void path_path (GSCHEM_TOPLEVEL *w_current, OBJECT *object)
546 case PATH_MOVETO_OPEN:
547 case PATH_LINETO:
548 /* Destination point grip */
549 - WORLDtoSCREEN (w_current, section->x3, section->y3, &x3, &y3);
550 + if (w_current->is_printing) {
551 + x3 = section->x3; y3 = section->y3;
552 + } else {
553 + WORLDtoSCREEN (w_current, section->x3, section->y3, &x3, &y3);
555 hint_coordinates (x3, y3, &fx3, &fy3, line_width);
556 case PATH_END:
557 break;
558 diff --git a/gschem/src/o_picture.c b/gschem/src/o_picture.c
559 index 5302ded..7b60e3a 100644
560 --- a/gschem/src/o_picture.c
561 +++ b/gschem/src/o_picture.c
562 @@ -322,12 +322,22 @@ void o_picture_draw (GSCHEM_TOPLEVEL *w_current, OBJECT *o_current)
563 float orig_height = swap_wh ? gdk_pixbuf_get_width (o_current->picture->pixbuf) :
564 gdk_pixbuf_get_height (o_current->picture->pixbuf);
566 - cairo_translate (w_current->cr, s_upper_x, s_upper_y);
567 - cairo_scale (w_current->cr,
568 - (float)SCREENabs (w_current, abs (o_current->picture->upper_x -
569 - o_current->picture->lower_x)) / orig_width,
570 - (float)SCREENabs (w_current, abs (o_current->picture->upper_y -
571 - o_current->picture->lower_y)) / orig_height);
572 + if (w_current->is_printing) {
573 + cairo_translate (w_current->cr, o_current->picture->upper_x,
574 + o_current->picture->upper_y);
575 + cairo_scale (w_current->cr,
576 + (float)(o_current->picture->lower_x -
577 + o_current->picture->upper_x) / orig_width,
578 + (float)(o_current->picture->lower_y -
579 + o_current->picture->upper_y) / orig_height);
580 + } else {
581 + cairo_translate (w_current->cr, s_upper_x, s_upper_y);
582 + cairo_scale (w_current->cr,
583 + (float)SCREENabs (w_current, abs (o_current->picture->upper_x -
584 + o_current->picture->lower_x)) / orig_width,
585 + (float)SCREENabs (w_current, abs (o_current->picture->upper_y -
586 + o_current->picture->lower_y)) / orig_height);
589 /* Evil magic translates picture origin to the right position for a given rotation */
590 switch (o_current->picture->angle) {
591 diff --git a/gschem/src/o_text.c b/gschem/src/o_text.c
592 index b766521..9cb2b55 100644
593 --- a/gschem/src/o_text.c
594 +++ b/gschem/src/o_text.c
595 @@ -163,10 +163,16 @@ static PangoFontMetrics *setup_pango_return_metrics (GSCHEM_TOPLEVEL *w_current,
597 context = pango_layout_get_context (layout);
599 - /* Switch off metric hinting, set medium outline hinting */
600 options = cairo_font_options_create ();
601 - cairo_font_options_set_hint_metrics (options, CAIRO_HINT_METRICS_OFF);
602 - cairo_font_options_set_hint_style (options, CAIRO_HINT_STYLE_MEDIUM);
603 + if (w_current->is_printing) {
604 + /* No hinting for printing */
605 + cairo_font_options_set_hint_metrics (options, CAIRO_HINT_METRICS_OFF);
606 + cairo_font_options_set_hint_style (options, CAIRO_HINT_STYLE_NONE);
607 + } else {
608 + /* Switch off metric hinting, set medium outline hinting */
609 + cairo_font_options_set_hint_metrics (options, CAIRO_HINT_METRICS_OFF);
610 + cairo_font_options_set_hint_style (options, CAIRO_HINT_STYLE_MEDIUM);
612 pango_cairo_context_set_font_options (context, options);
613 cairo_font_options_destroy (options);
615 @@ -387,12 +393,10 @@ static void o_text_draw_lowlevel(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current,
616 !toplevel->show_hidden_text)
617 return;
619 - if (o_current->text->disp_string == NULL)
620 - return;
622 font_metrics =
623 setup_pango_return_metrics (w_current, w_current->pl,
624 - toplevel->page_current->to_screen_x_constant,
625 + w_current->is_printing ? 1. :
626 + toplevel->page_current->to_screen_x_constant,
627 o_current);
629 pango_layout_get_pixel_extents (w_current->pl, &inked_rect, &logical_rect);
630 @@ -400,10 +404,18 @@ static void o_text_draw_lowlevel(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current,
632 cairo_save (cr);
634 - WORLDtoSCREEN (w_current, o_current->text->x + dx,
635 - o_current->text->y + dy, &sx, &sy);
636 + if (w_current->is_printing) {
637 + sx = o_current->text->x + dx;
638 + sy = o_current->text->y + dy;
639 + } else {
640 + WORLDtoSCREEN (w_current, o_current->text->x + dx,
641 + o_current->text->y + dy, &sx, &sy);
643 cairo_translate (cr, sx, sy);
645 + if (w_current->is_printing)
646 + cairo_scale (cr, 1., -1.);
648 /* Special case turns upside-down text back upright */
649 if (o_current->text->angle != 180) {
650 cairo_rotate (cr, - M_PI * o_current->text->angle / 180.);
651 diff --git a/gschem/src/x_clipboard.c b/gschem/src/x_clipboard.c
652 index af965fd..5a0cfaa 100644
653 --- a/gschem/src/x_clipboard.c
654 +++ b/gschem/src/x_clipboard.c
655 @@ -28,6 +28,8 @@
657 #include "gschem.h"
659 +#include <cairo-svg.h>
661 #ifdef HAVE_LIBDMALLOC
662 #include <dmalloc.h>
663 #endif
664 @@ -35,6 +37,10 @@
665 #define MIME_TYPE_SCHEMATIC "application/x-geda-schematic"
666 #define CLIP_TYPE_SCHEMATIC 1
668 +#define MIME_TYPE_SVG "image/svg+xml"
669 +#define CLIP_TYPE_SVG 2
672 /* \brief Callback for handling system clipboard owner change.
673 * \par Function Description
675 @@ -48,24 +54,96 @@ clip_handle_owner_change (GtkClipboard *cb, GdkEvent *event,
676 i_update_menus (w_current);
679 +static cairo_status_t
680 +write_svg_data (void *closure, unsigned char *data, unsigned int length)
682 + char **buf = closure;
683 + char *tmp1;
684 + char *tmp2;
686 + tmp1 = g_strndup ((char *)data, length);
688 + if (*buf == NULL) {
689 + *buf = tmp1;
690 + } else {
691 + tmp2 = g_strconcat (*buf, tmp1, NULL);
692 + g_free (*buf);
693 + g_free (tmp1);
694 + *buf = tmp2;
696 + return CAIRO_STATUS_SUCCESS;
699 static void
700 clip_get (GtkClipboard *cb, GtkSelectionData *selection_data,
701 guint info, gpointer user_data_or_owner)
703 GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL *) user_data_or_owner;
704 TOPLEVEL *toplevel = w_current->toplevel;
705 - GdkAtom type = gdk_atom_intern (MIME_TYPE_SCHEMATIC, FALSE);
706 + GdkAtom sch_type = gdk_atom_intern (MIME_TYPE_SCHEMATIC, FALSE);
707 + GdkAtom svg_type = gdk_atom_intern (MIME_TYPE_SVG, FALSE);
708 gchar *buf;
709 - if (info != CLIP_TYPE_SCHEMATIC) return;
710 - /* Convert the objects in the clipboard buffer to gEDA schematic
711 - * format */
712 - buf = o_save_buffer (toplevel, w_current->clipboard_buffer);
713 - /* Set the selection appropriately */
714 - gtk_selection_data_set (selection_data, type,
715 - 8, /* 8-bit data (UTF-8) */
716 - (guchar *) buf,
717 - (gint) strlen(buf));
718 - g_free (buf);
719 + cairo_surface_t *surface;
720 + int min_x, min_y, max_x, max_y;
721 + int width, height;
723 + switch (info) {
724 + case CLIP_TYPE_SCHEMATIC:
725 + /* Convert the objects in the clipboard buffer to gEDA schematic
726 + * format */
727 + buf = o_save_buffer (toplevel, w_current->clipboard_buffer);
728 + /* Set the selection appropriately */
729 + gtk_selection_data_set (selection_data, sch_type,
730 + 8, /* 8-bit data (UTF-8) */
731 + (guchar *) buf,
732 + (gint) strlen(buf));
733 + g_free (buf);
734 + break;
735 + case CLIP_TYPE_SVG:
736 + buf = NULL;
737 + world_get_object_glist_bounds (toplevel, w_current->clipboard_buffer, &min_x, &min_y, &max_x, &max_y);
738 + width = max_x - min_x;
739 + height = max_y - min_y;
740 + surface =
741 + cairo_svg_surface_create_for_stream ((cairo_write_func_t)write_svg_data,
742 + &buf, width * 72. / 1000.,
743 + height * 72. / 1000.);
745 + if (w_current->cr != NULL)
746 + cairo_destroy (w_current->cr);
748 + if (w_current->pl != NULL)
749 + g_object_unref (w_current->pl);
751 + w_current->cr = cairo_create (surface);
752 + w_current->pl = pango_cairo_create_layout (w_current->cr);
753 + w_current->is_printing = TRUE;
755 + cairo_scale (w_current->cr, 72. / 1000., 72. / 1000.);
756 + cairo_scale (w_current->cr, 1, -1);
757 + cairo_translate (w_current->cr, -min_x, -max_y);
759 + /* NB: Cast to avoid compiler warning from dropping const.
760 + I know o_redraw won't upset the GList though */
761 + o_redraw (w_current, w_current->clipboard_buffer, TRUE);
762 + /* BUG: Cues don't work properly since the clipboard objects aren't interconnected */
763 + //o_cue_redraw_all (w_current, w_current->clipboard_buffer, TRUE);
765 + g_object_unref (w_current->pl);
766 + cairo_destroy (w_current->cr);
767 + cairo_surface_destroy (surface);
769 + w_current->cr = NULL;
770 + w_current->pl = NULL;
771 + w_current->is_printing = FALSE;
773 + gtk_selection_data_set (selection_data, svg_type,
774 + 8, /* 8-bit data (UTF-8) */
775 + (guchar *) buf,
776 + (gint) strlen(buf));
777 + g_free (buf);
778 + break;
782 static void
783 @@ -182,8 +260,10 @@ gboolean
784 x_clipboard_set (GSCHEM_TOPLEVEL *w_current, const GList *object_list)
786 GtkClipboard *cb = gtk_clipboard_get (GDK_SELECTION_CLIPBOARD);
787 - GtkTargetEntry target = { MIME_TYPE_SCHEMATIC, 0,
788 - CLIP_TYPE_SCHEMATIC };
789 + GtkTargetEntry targets[2] = {
790 + {MIME_TYPE_SCHEMATIC, 0, CLIP_TYPE_SCHEMATIC},
791 + {MIME_TYPE_SVG , 0, CLIP_TYPE_SVG }
792 + };
793 TOPLEVEL *toplevel = w_current->toplevel;
794 gboolean result;
796 @@ -197,7 +277,7 @@ x_clipboard_set (GSCHEM_TOPLEVEL *w_current, const GList *object_list)
797 SELECTION_FLAG);
799 /* Advertise that the data is available */
800 - result = gtk_clipboard_set_with_data (cb, &target, 1,
801 + result = gtk_clipboard_set_with_data (cb, targets, 2,
802 clip_get, clip_clear, w_current);
804 /* Hint that the data can be stored to be accessed after the program
805 diff --git a/gschem/src/x_image.c b/gschem/src/x_image.c
806 index b088f2e..00029cf 100644
807 --- a/gschem/src/x_image.c
808 +++ b/gschem/src/x_image.c
809 @@ -279,6 +279,8 @@ static void x_image_update_dialog_filename(GtkComboBox *combo,
811 void x_image_write_eps(GSCHEM_TOPLEVEL *w_current, const char* filename)
813 +#warning FIXME PRINT EPS TO FILE
814 +#if 0
815 TOPLEVEL *toplevel = w_current->toplevel;
816 int result;
817 int w, h, orientation, type;
818 @@ -301,6 +303,7 @@ void x_image_write_eps(GSCHEM_TOPLEVEL *w_current, const char* filename)
819 toplevel->paper_height = h;
820 toplevel->print_orientation = orientation;
821 toplevel->print_output_type = type;
822 +#endif
825 /*! \brief Write the image file, with the desired options.
826 diff --git a/gschem/src/x_print.c b/gschem/src/x_print.c
827 index 7ab38fd..b7bb477 100644
828 --- a/gschem/src/x_print.c
829 +++ b/gschem/src/x_print.c
830 @@ -636,6 +636,136 @@ print_dialog_get_type ()
831 return print_dialog_type;
834 +static void
835 +begin_print (GtkPrintOperation *operation,
836 + GtkPrintContext *context,
837 + gpointer user_data)
839 + GSCHEM_TOPLEVEL *w_current = user_data;
841 + if (w_current->cr != NULL)
842 + cairo_destroy (w_current->cr);
844 + if (w_current->pl != NULL)
845 + g_object_unref (w_current->pl);
847 + w_current->cr = gtk_print_context_get_cairo_context (context);
848 + w_current->pl = gtk_print_context_create_pango_layout (context);
849 + w_current->is_printing = TRUE;
852 +static void
853 +end_print (GtkPrintOperation *operation,
854 + GtkPrintContext *context,
855 + gpointer user_data)
857 + GSCHEM_TOPLEVEL *w_current = user_data;
859 + g_object_unref (w_current->pl);
860 + w_current->pl = NULL;
861 + /* Cairo context is owned by the printing context */
862 + w_current->cr = NULL;
863 + w_current->is_printing = FALSE;
867 +static void
868 +draw_page (GtkPrintOperation *operation,
869 + GtkPrintContext *context,
870 + gint page_nr,
871 + gpointer user_data)
873 + GSCHEM_TOPLEVEL *w_current = user_data;
874 + TOPLEVEL *toplevel = w_current->toplevel;
875 + int left, top, right, bottom;
876 + int margin_x, margin_y;
877 + int paper_width, paper_height;
878 + float dx, dy;
879 + float scale;
881 + GtkPageSetup *page_setup;
883 + if (page_nr != 0) {
884 + g_warning ("Asked to print unknown page number %i\n", page_nr + 1);
885 + return;
888 + if (!world_get_object_glist_bounds (toplevel,
889 + s_page_objects (toplevel->page_current),
890 + &left, &top, &right, &bottom)) {
891 + g_warning (_("Nothing to print\n"));
892 + gtk_print_operation_cancel (operation);
893 + return;
896 + /* Calculate scale factor that will make the image fit on the page */
897 + margin_x = 0; margin_y = 0;
899 + switch (toplevel->print_output_type) {
900 + case EXTENTS_NOMARGINS:
901 + break;
903 + case EXTENTS:
904 + /* Add a 10% margin */
905 + margin_x = (right - left) / 10;
906 + margin_y = (bottom - top) / 10;
907 + left -= margin_x / 2;
908 + top -= margin_y / 2;
909 + right += margin_x / 2;
910 + bottom += margin_y / 2;
911 + break;
913 + case WINDOW:
914 + left = toplevel->page_current->left;
915 + top = toplevel->page_current->top;
916 + right = toplevel->page_current->right;
917 + bottom = toplevel->page_current->bottom;
918 + break;
920 + default:
921 + g_warn_if_reached ();
924 + page_setup = gtk_print_context_get_page_setup (context);
926 + /* The following already take into account page oriention */
927 + paper_width = gtk_page_setup_get_paper_width (page_setup, GTK_UNIT_INCH) * 1000.;
928 + paper_height = gtk_page_setup_get_paper_height (page_setup, GTK_UNIT_INCH) * 1000.;
930 + scale = 0.0;
931 + dx = right - left;
932 + dy = bottom - top;
933 + if(toplevel->print_orientation == LANDSCAPE) {
934 + /* First attempt to fit in x direction. */
935 + scale = paper_width / dx;
936 + if((paper_height / dy) < scale ) {
937 + /* Else fit with y direction */
938 + scale = (paper_height / dy);
940 + } else { /* portrait */
941 + /* First attempt to fit in y direction. */
942 + scale = paper_width / dy;
943 + if((paper_height / dx) < scale ) {
944 + /* Else fit with x direction */
945 + scale = (paper_height / dx);
949 + cairo_scale (w_current->cr, 72. / 1000., 72. / 1000.);
950 + cairo_translate (w_current->cr, paper_width / 2.,
951 + paper_height / 2.);
952 + cairo_scale (w_current->cr, 1, -1);
954 + cairo_scale (w_current->cr, scale, scale);
955 + cairo_translate (w_current->cr, -(left + right) / 2.,
956 + -(top + bottom) / 2.);
958 + /* NB: Cast to avoid compiler warning from dropping const.
959 + I know o_redraw won't upset the GList though */
960 + o_redraw (w_current, (GList *)s_page_objects (toplevel->page_current), TRUE);
961 + o_cue_redraw_all (w_current, (GList *)s_page_objects (toplevel->page_current), TRUE);
964 /*! \todo Finish function documentation
965 * \brief
966 * \par Function Description
967 @@ -679,7 +809,74 @@ x_print_setup (GSCHEM_TOPLEVEL *w_current, char *filename)
969 paperidx++;
973 + GtkPrintOperation *print_op;
974 + GtkPageSetup *default_page_setup;
975 + GtkPageSetup *page_setup;
976 + GtkPrintSettings *settings;
977 + GtkWidget *error_dialog;
978 + GError *error;
979 + GtkPrintOperationResult res;
981 + print_op = gtk_print_operation_new ();
982 + gtk_print_operation_set_allow_async (print_op, FALSE);
984 + default_page_setup = gtk_print_operation_get_default_page_setup (print_op);
985 + if (default_page_setup == NULL)
986 + default_page_setup = gtk_page_setup_new ();
988 + gtk_page_setup_set_orientation (default_page_setup,
989 + GTK_PAGE_ORIENTATION_LANDSCAPE);
991 + settings = gtk_print_settings_new ();
993 + page_setup = gtk_print_run_page_setup_dialog (GTK_WINDOW (w_current->main_window),
994 + default_page_setup,
995 + settings);
997 + g_object_unref (settings);
998 + g_object_unref (default_page_setup);
1000 + gtk_print_operation_set_default_page_setup (print_op, page_setup);
1001 + g_object_unref (page_setup);
1003 + gtk_print_operation_set_job_name (print_op, _("gEDA print job"));
1004 + gtk_print_operation_set_n_pages (print_op, 1);
1005 + gtk_print_operation_set_use_full_page (print_op, TRUE);
1006 + gtk_print_operation_set_unit (print_op, GTK_UNIT_POINTS);
1007 + gtk_print_operation_set_show_progress (print_op, TRUE);
1009 + gtk_print_operation_set_custom_tab_label (print_op, _("Custom stuff"));
1011 + g_signal_connect (print_op, "begin-print",
1012 + G_CALLBACK (begin_print), w_current);
1013 + g_signal_connect (print_op, "end-print",
1014 + G_CALLBACK (end_print), w_current);
1015 + g_signal_connect (print_op, "draw-page",
1016 + G_CALLBACK (draw_page), w_current);
1018 + res = gtk_print_operation_run (print_op,
1019 + GTK_PRINT_OPERATION_ACTION_PRINT_DIALOG,
1020 + GTK_WINDOW (w_current->main_window),
1021 + &error);
1023 + if (res == GTK_PRINT_OPERATION_RESULT_ERROR) {
1024 + error_dialog = gtk_message_dialog_new (GTK_WINDOW (w_current->main_window),
1025 + GTK_DIALOG_DESTROY_WITH_PARENT,
1026 + GTK_MESSAGE_ERROR,
1027 + GTK_BUTTONS_CLOSE,
1028 + "Error printing file:\n%s",
1029 + error->message);
1030 + g_signal_connect (error_dialog, "response",
1031 + G_CALLBACK (gtk_widget_destroy), NULL);
1032 + gtk_widget_show (error_dialog);
1033 + g_error_free (error);
1037 +#warning REMOVE OLD PRINTING SYSTEM
1038 +#if 0
1040 /* Create a print dialog, find out whether the user clicks Print or
1041 Cancel, and then print or return accordingly */
1042 dialog = GTK_DIALOG (g_object_new (TYPE_PRINT_DIALOG,
1043 @@ -768,5 +965,5 @@ x_print_setup (GSCHEM_TOPLEVEL *w_current, char *filename)
1045 /* We don't need the dialog any more */
1046 gtk_widget_destroy (GTK_WIDGET (dialog));
1048 +#endif
1050 diff --git a/libgeda/include/libgeda/prototype.h b/libgeda/include/libgeda/prototype.h
1051 index 1e47b5e..43769a4 100644
1052 --- a/libgeda/include/libgeda/prototype.h
1053 +++ b/libgeda/include/libgeda/prototype.h
1054 @@ -20,12 +20,6 @@ int f_save(TOPLEVEL *toplevel, const char *filename);
1055 gchar *f_normalize_filename (const gchar *filename, GError **error);
1056 char *follow_symlinks (const gchar *filename, GError **error);
1058 -/* f_print.c */
1059 -int f_print_file (TOPLEVEL *toplevel, const char *filename);
1060 -int f_print_command (TOPLEVEL *toplevel, const char *command);
1061 -int f_print_stream(TOPLEVEL *toplevel, FILE *fp);
1062 -void f_print_set_type(TOPLEVEL *toplevel, int type);
1064 /* g_basic.c */
1065 SCM g_scm_eval_protected (SCM exp, SCM module_or_state);
1066 SCM g_scm_eval_string_protected (SCM str);
1067 @@ -326,14 +320,6 @@ void s_conn_print(GList *conn_list);
1068 int s_conn_net_search(OBJECT* new_net, int whichone, GList * conn_list);
1069 GList *s_conn_return_others(GList *input_list, OBJECT *object);
1071 -/* s_cue.c */
1072 -void s_cue_postscript_fillbox(TOPLEVEL *toplevel, FILE *fp, int x, int y);
1073 -void s_cue_postscript_junction (TOPLEVEL *toplevel, FILE *fp, int x, int y, int bus_involved);
1074 -void s_cue_output_all(TOPLEVEL *toplevel, const GList *obj_list, FILE *fp, int type);
1075 -void s_cue_output_lowlevel(TOPLEVEL *toplevel, OBJECT *object, int whichone, FILE *fp, int output_type);
1076 -void s_cue_output_lowlevel_midpoints(TOPLEVEL *toplevel, OBJECT *object, FILE *fp, int output_type);
1077 -void s_cue_output_single(TOPLEVEL *toplevel, OBJECT *object, FILE *fp, int type);
1079 /* s_hierarchy.c */
1080 int s_hierarchy_down_schematic_single(TOPLEVEL *toplevel, const gchar *filename, PAGE *parent, int page_control, int flag);
1081 void s_hierarchy_down_symbol (TOPLEVEL *toplevel, const CLibSymbol *symbol, PAGE *parent);
1082 diff --git a/libgeda/include/prototype_priv.h b/libgeda/include/prototype_priv.h
1083 index fce2c75..c859fde 100644
1084 --- a/libgeda/include/prototype_priv.h
1085 +++ b/libgeda/include/prototype_priv.h
1086 @@ -1,14 +1,6 @@
1087 /* a_basic.c */
1088 gchar *o_save_objects(const GList *object_list, gboolean save_attribs);
1090 -/* f_print.c */
1091 -void f_print_set_line_width(FILE *fp, int width);
1092 -void f_print_set_color(TOPLEVEL *toplevel, FILE *fp, int color);
1093 -int f_print_header(TOPLEVEL *toplevel, FILE *fp, int paper_size_x, int paper_size_y, int eps);
1094 -void f_print_footer(FILE *fp);
1095 -void f_print_objects(TOPLEVEL *toplevel, FILE *fp, const GList *obj_list, int start_x, int start_y, float scale, int unicode_count, gunichar *unicode_table);
1096 -int f_print_initialize_glyph_table(void);
1098 /* g_rc.c */
1099 int vstbl_lookup_str(const vstbl_entry *table, int size, const char *str);
1100 int vstbl_get_val(const vstbl_entry *table, int index);
1101 @@ -88,12 +80,6 @@ void m_transform_translate(TRANSFORM *transform, gdouble dx, gdouble dy);
1102 /* o_arc_basic.c */
1103 OBJECT *o_arc_read(TOPLEVEL *toplevel, char buf[], unsigned int release_ver, unsigned int fileformat_ver);
1104 char *o_arc_save(OBJECT *object);
1105 -void o_arc_print(TOPLEVEL *toplevel, FILE *fp, OBJECT *o_current, int origin_x, int origin_y);
1106 -void o_arc_print_solid(TOPLEVEL *toplevel, FILE *fp, int x, int y, int radius, int angle1, int angle2, int color, int arc_width, int length, int space, int origin_x, int origin_y);
1107 -void o_arc_print_dotted(TOPLEVEL *toplevel, FILE *fp, int x, int y, int radius, int angle1, int angle2, int color, int arc_width, int length, int space, int origin_x, int origin_y);
1108 -void o_arc_print_dashed(TOPLEVEL *toplevel, FILE *fp, int x, int y, int radius, int angle1, int angle2, int color, int arc_width, int length, int space, int origin_x, int origin_y);
1109 -void o_arc_print_center(TOPLEVEL *toplevel, FILE *fp, int x, int y, int radius, int angle1, int angle2, int color, int arc_width, int length, int space, int origin_x, int origin_y);
1110 -void o_arc_print_phantom(TOPLEVEL *toplevel, FILE *fp, int x, int y, int radius, int angle1, int angle2, int color, int arc_width, int length, int space, int origin_x, int origin_y);
1111 double o_arc_shortest_distance(OBJECT *object, int x, int y, int force_soild);
1112 gboolean o_arc_within_sweep(ARC *arc, gint x, gint y);
1113 void world_get_arc_bounds(TOPLEVEL *toplevel, OBJECT *object, int *left, int *top, int *right, int *bottom);
1114 @@ -116,15 +102,6 @@ double o_shortest_distance_full(OBJECT *object, int x, int y, int force_solid);
1115 /* o_box_basic.c */
1116 OBJECT *o_box_read(TOPLEVEL *toplevel, char buf[], unsigned int release_ver, unsigned int fileformat_ver);
1117 char *o_box_save(OBJECT *object);
1118 -void o_box_print(TOPLEVEL *toplevel, FILE *fp, OBJECT *o_current, int origin_x, int origin_y);
1119 -void o_box_print_solid(TOPLEVEL *toplevel, FILE *fp, int x, int y, int width, int height, int color, int line_width, int length, int space, int origin_x, int origin_y);
1120 -void o_box_print_dotted(TOPLEVEL *toplevel, FILE *fp, int x, int y, int width, int height, int color, int line_width, int length, int space, int origin_x, int origin_y);
1121 -void o_box_print_dashed(TOPLEVEL *toplevel, FILE *fp, int x, int y, int width, int height, int color, int line_width, int length, int space, int origin_x, int origin_y);
1122 -void o_box_print_center(TOPLEVEL *toplevel, FILE *fp, int x, int y, int width, int height, int color, int line_width, int length, int space, int origin_x, int origin_y);
1123 -void o_box_print_phantom(TOPLEVEL *toplevel, FILE *fp, int x, int y, int width, int height, int color, int line_width, int length, int space, int origin_x, int origin_y);
1124 -void o_box_print_filled(TOPLEVEL *toplevel, FILE *fp, int x, int y, int width, int height, int color, int fill_width, int angle1, int pitch1, int angle2, int pitch2, int origin_x, int origin_y);
1125 -void o_box_print_mesh(TOPLEVEL *toplevel, FILE *fp, int x, int y, int width, int height, int color, int fill_width, int angle1, int pitch1, int angle2, int pitch2, int origin_x, int origin_y);
1126 -void o_box_print_hatch(TOPLEVEL *toplevel, FILE *fp, int x, int y, int width, int height, int color, int fill_width, int angle1, int pitch1, int angle2, int pitch2, int origin_x, int origin_y);
1127 double o_box_shortest_distance(OBJECT *object, int x, int y, int force_soild);
1128 void world_get_box_bounds(TOPLEVEL *toplevel, OBJECT *object, int *left, int *top, int *right, int *bottom);
1129 gboolean o_box_get_position(TOPLEVEL *toplevel, gint *x, gint *y, OBJECT *object);
1130 @@ -133,7 +110,6 @@ void o_box_recalc(TOPLEVEL *toplevel, OBJECT *o_current);
1131 /* o_bus_basic.c */
1132 OBJECT *o_bus_read(TOPLEVEL *toplevel, char buf[], unsigned int release_ver, unsigned int fileformat_ver);
1133 char *o_bus_save(OBJECT *object);
1134 -void o_bus_print(TOPLEVEL *toplevel, FILE *fp, OBJECT *o_current, int origin_x, int origin_y);
1135 void world_get_bus_bounds(TOPLEVEL *toplevel, OBJECT *object, int *left, int *top, int *right, int *bottom);
1136 gboolean o_bus_get_position(TOPLEVEL *toplevel, gint *x, gint *y, OBJECT *object);
1137 void o_bus_recalc(TOPLEVEL *toplevel, OBJECT *o_current);
1138 @@ -141,15 +117,6 @@ void o_bus_recalc(TOPLEVEL *toplevel, OBJECT *o_current);
1139 /* o_circle_basic.c */
1140 OBJECT *o_circle_read(TOPLEVEL *toplevel, char buf[], unsigned int release_ver, unsigned int fileformat_ver);
1141 char *o_circle_save(OBJECT *object);
1142 -void o_circle_print(TOPLEVEL *toplevel, FILE *fp, OBJECT *o_current, int origin_x, int origin_y);
1143 -void o_circle_print_solid(TOPLEVEL *toplevel, FILE *fp, int x, int y, int radius, int color, int circle_width, int length, int space, int origin_x, int origin_y);
1144 -void o_circle_print_dotted(TOPLEVEL *toplevel, FILE *fp, int x, int y, int radius, int color, int circle_width, int length, int space, int origin_x, int origin_y);
1145 -void o_circle_print_dashed(TOPLEVEL *toplevel, FILE *fp, int x, int y, int radius, int color, int circle_width, int length, int space, int origin_x, int origin_y);
1146 -void o_circle_print_center(TOPLEVEL *toplevel, FILE *fp, int x, int y, int radius, int color, int circle_width, int length, int space, int origin_x, int origin_y);
1147 -void o_circle_print_phantom(TOPLEVEL *toplevel, FILE *fp, int x, int y, int radius, int color, int circle_width, int length, int space, int origin_x, int origin_y);
1148 -void o_circle_print_filled(TOPLEVEL *toplevel, FILE *fp, int x, int y, int radius, int color, int fill_width, int angle1, int pitch1, int angle2, int pitch2, int origin_x, int origin_y);
1149 -void o_circle_print_mesh(TOPLEVEL *toplevel, FILE *fp, int x, int y, int radius, int color, int fill_width, int angle1, int pitch1, int angle2, int pitch2, int origin_x, int origin_y);
1150 -void o_circle_print_hatch(TOPLEVEL *toplevel, FILE *fp, int x, int y, int radius, int color, int fill_width, int angle1, int pitch1, int angle2, int pitch2, int origin_x, int origin_y);
1151 double o_circle_shortest_distance(OBJECT *object, int x, int y, int force_soild);
1152 void world_get_circle_bounds(TOPLEVEL *toplevel, OBJECT *object, int *left, int *top, int *right, int *bottom);
1153 gboolean o_circle_get_position(TOPLEVEL *toplevel, gint *x, gint *y, OBJECT *object);
1154 @@ -166,12 +133,6 @@ void o_complex_recalc(TOPLEVEL *toplevel, OBJECT *o_current);
1155 /* o_line_basic.c */
1156 OBJECT *o_line_read(TOPLEVEL *toplevel, char buf[], unsigned int release_ver, unsigned int fileformat_ver);
1157 char *o_line_save(OBJECT *object);
1158 -void o_line_print(TOPLEVEL *toplevel, FILE *fp, OBJECT *o_current, int origin_x, int origin_y);
1159 -void o_line_print_solid(TOPLEVEL *toplevel, FILE *fp, int x1, int y1, int x2, int y2, int color, int line_width, int length, int space, int origin_x, int origin_y);
1160 -void o_line_print_dotted(TOPLEVEL *toplevel, FILE *fp, int x1, int y1, int x2, int y2, int color, int line_width, int length, int space, int origin_x, int origin_y);
1161 -void o_line_print_dashed(TOPLEVEL *toplevel, FILE *fp, int x1, int y1, int x2, int y2, int color, int line_width, int length, int space, int origin_x, int origin_y);
1162 -void o_line_print_center(TOPLEVEL *toplevel, FILE *fp, int x1, int y1, int x2, int y2, int color, int line_width, int length, int space, int origin_x, int origin_y);
1163 -void o_line_print_phantom(TOPLEVEL *toplevel, FILE *fp, int x1, int y1, int x2, int y2, int color, int line_width, int length, int space, int origin_x, int origin_y);
1164 double o_line_shortest_distance(OBJECT *object, int x, int y, int force_soild);
1165 void world_get_line_bounds(TOPLEVEL *toplevel, OBJECT *object, int *left, int *top, int *right, int *bottom);
1166 gboolean o_line_get_position(TOPLEVEL *toplevel, gint *x, gint *y, OBJECT *object);
1167 @@ -180,7 +141,6 @@ void o_line_recalc(TOPLEVEL *toplevel, OBJECT *o_current);
1168 /* o_net_basic.c */
1169 OBJECT *o_net_read(TOPLEVEL *toplevel, char buf[], unsigned int release_ver, unsigned int fileformat_ver);
1170 char *o_net_save(OBJECT *object);
1171 -void o_net_print(TOPLEVEL *toplevel, FILE *fp, OBJECT *o_current, int origin_x, int origin_y);
1172 void world_get_net_bounds(TOPLEVEL *toplevel, OBJECT *object, int *left, int *top, int *right, int *bottom);
1173 gboolean o_net_get_position(TOPLEVEL *toplevel, gint *x, gint *y, OBJECT *object);
1174 void o_net_recalc(TOPLEVEL *toplevel, OBJECT *o_current);
1175 @@ -188,7 +148,6 @@ void o_net_recalc(TOPLEVEL *toplevel, OBJECT *o_current);
1176 /* o_path_basic.c */
1177 OBJECT *o_path_read(TOPLEVEL *toplevel, const char *first_line, TextBuffer *tb, unsigned int release_ver, unsigned int fileformat_ver);
1178 char *o_path_save(OBJECT *object);
1179 -void o_path_print(TOPLEVEL *toplevel, FILE *fp, OBJECT *o_current, int origin_x, int origin_y);
1180 double o_path_shortest_distance(OBJECT *object, int x, int y, int force_soild);
1181 void world_get_path_bounds(TOPLEVEL *toplevel, OBJECT *object, int *left, int *top, int *right, int *bottom);
1182 gboolean o_path_get_position(TOPLEVEL *toplevel, gint *x, gint *y, OBJECT *object);
1183 @@ -198,8 +157,6 @@ void o_path_recalc(TOPLEVEL *toplevel, OBJECT *o_current);
1184 /* o_picture.c */
1185 OBJECT *o_picture_read(TOPLEVEL *toplevel, const char *first_line, TextBuffer *tb, unsigned int release_ver, unsigned int fileformat_ver);
1186 char *o_picture_save(OBJECT *object);
1187 -void o_picture_print(TOPLEVEL *toplevel, FILE *fp, OBJECT *o_current,
1188 - int origin_x, int origin_y);
1189 double o_picture_shortest_distance(OBJECT *object, int x, int y, int force_soild);
1190 void world_get_picture_bounds(TOPLEVEL *toplevel, OBJECT *object, int *left, int *top, int *right, int *bottom);
1191 gboolean o_picture_get_position(TOPLEVEL *toplevel, gint *x, gint *y, OBJECT *object);
1192 @@ -208,7 +165,6 @@ void o_picture_recalc(TOPLEVEL *toplevel, OBJECT *o_current);
1193 /* o_pin_basic.c */
1194 OBJECT *o_pin_read(TOPLEVEL *toplevel, char buf[], unsigned int release_ver, unsigned int fileformat_ver);
1195 char *o_pin_save(OBJECT *object);
1196 -void o_pin_print(TOPLEVEL *toplevel, FILE *fp, OBJECT *o_current, int origin_x, int origin_y);
1197 void world_get_pin_bounds(TOPLEVEL *toplevel, OBJECT *object, int *left, int *top, int *right, int *bottom);
1198 gboolean o_pin_get_position(TOPLEVEL *toplevel, gint *x, gint *y, OBJECT *object);
1199 void o_pin_recalc(TOPLEVEL *toplevel, OBJECT *o_current);
1200 @@ -216,8 +172,6 @@ void o_pin_recalc(TOPLEVEL *toplevel, OBJECT *o_current);
1201 /* o_text_basic.c */
1202 OBJECT *o_text_read(TOPLEVEL *toplevel, const char *first_line, TextBuffer *tb, unsigned int release_ver, unsigned int fileformat_ver);
1203 char *o_text_save(OBJECT *object);
1204 -void o_text_print_text_string(FILE *fp, char *string, int unicode_count, gunichar *unicode_table);
1205 -void o_text_print(TOPLEVEL *toplevel, FILE *fp, OBJECT *o_current, int origin_x, int origin_y, int unicode_count, gunichar *unicode_table);
1206 double o_text_shortest_distance(OBJECT *object, int x, int y, int force_soild);
1207 int world_get_text_bounds(TOPLEVEL *toplevel, OBJECT *o_current, int *left, int *top, int *right, int *bottom);
1208 gboolean o_text_get_position(TOPLEVEL *toplevel, gint *x, gint *y, OBJECT *object);
1209 diff --git a/libgeda/src/Makefile.am b/libgeda/src/Makefile.am
1210 index 7b10439..aa777a9 100644
1211 --- a/libgeda/src/Makefile.am
1212 +++ b/libgeda/src/Makefile.am
1213 @@ -5,7 +5,6 @@ lib_LTLIBRARIES = libgeda.la
1214 libgeda_la_SOURCES = \
1215 a_basic.c \
1216 f_basic.c \
1217 - f_print.c \
1218 g_basic.c \
1219 gdk-pixbuf-hacks.c \
1220 geda_list.c \
1221 @@ -43,7 +42,6 @@ libgeda_la_SOURCES = \
1222 s_clib.c \
1223 s_color.c \
1224 s_conn.c \
1225 - s_cue.c \
1226 s_encoding.c \
1227 s_hierarchy.c \
1228 s_log.c \
1229 diff --git a/libgeda/src/f_print.c b/libgeda/src/f_print.c
1230 deleted file mode 100644
1231 index 381532f..0000000
1232 --- a/libgeda/src/f_print.c
1233 +++ /dev/null
1234 @@ -1,5139 +0,0 @@
1235 -/* gEDA - GPL Electronic Design Automation
1236 - * libgeda - gEDA's library
1237 - * Copyright (C) 1998-2008 Ales Hvezda
1238 - * Copyright (C) 1998-2008 gEDA Contributors (see ChangeLog for details)
1240 - * This program is free software; you can redistribute it and/or modify
1241 - * it under the terms of the GNU General Public License as published by
1242 - * the Free Software Foundation; either version 2 of the License, or
1243 - * (at your option) any later version.
1245 - * This program is distributed in the hope that it will be useful,
1246 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
1247 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1248 - * GNU General Public License for more details.
1250 - * You should have received a copy of the GNU General Public License
1251 - * along with this program; if not, write to the Free Software
1252 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA
1253 - */
1255 -/*! \file f_print.c
1256 - * \brief functions to write postscript files
1257 - */
1259 -#include <config.h>
1260 -#include <version.h>
1262 -#include <stdio.h>
1263 -#include <unistd.h>
1264 -#include <time.h>
1265 -#include <math.h>
1267 -#include "libgeda_priv.h"
1269 -/*! \brief Hashtable storing mapping between character and
1270 - * postscript glyph name
1271 - */
1272 -GHashTable *unicode_char_to_glyph = NULL;
1274 -static int f_print_get_unicode_chars (TOPLEVEL * toplevel,
1275 - const GList *obj_list,
1276 - int count, gunichar * table);
1277 -static void f_print_unicode_map(FILE * fp, int count, gunichar * table);
1279 -/*! \brief Prints the line width in mils to a postscript document.
1280 - * \par Function Description
1281 - * This function writes the line width in mils to the specified
1282 - * postscript document.
1284 - * \param [in] fp The postscript document to write to.
1285 - * \param [in] width The width of the line in mils to set.
1286 - */
1287 -void f_print_set_line_width(FILE *fp, int width)
1289 - if (width > 0) {
1290 - fprintf(fp, "%d setlinewidth\n", width);
1294 -/*! \brief Prints the color to a postscript document
1295 - * \par Function Description
1296 - * This function converts the color number passed to a string
1297 - * and prints it to the postscript document provided.
1299 - * \param [in] toplevel The current #TOPLEVEL structure.
1300 - * \param [in] fp The postscript document to print the color to.
1301 - * \param [in] color Integer color to convert and print.
1302 - */
1303 -void f_print_set_color(TOPLEVEL *toplevel, FILE *fp, int color)
1305 - gchar *string;
1307 - if (!toplevel->print_color || (toplevel->last_ps_color == color)) return;
1309 - string = s_color_ps_string(color);
1311 - if (string) {
1312 - fprintf(fp, "%s setrgbcolor\n", string);
1313 - } else {
1314 - fprintf(fp, "0 0 0 setrgbcolor\n");
1317 - g_free (string);
1319 - toplevel->last_ps_color = color;
1322 -/*! \brief Prints the header to a postscript document.
1323 - * \par Function Description
1324 - * This function will print a document preamble and header
1325 - * for a postscript document.
1327 - * \param [in] toplevel The TOPLEVEL object to create document for.
1328 - * \param [in] fp The postscript document to write to.
1329 - * \param [in] paper_size_x The width of the document on paper in inches.
1330 - * \param [in] paper_size_y The height of the document on paper in inches.
1331 - * \param [in] eps whether to create a eps of a ps document
1332 - * \return 0 on success, -1 on failure.
1333 - */
1334 -int f_print_header(TOPLEVEL *toplevel, FILE *fp,
1335 - int paper_size_x, int paper_size_y, int eps)
1337 - char *buf = NULL;
1338 - FILE *prolog;
1339 - size_t bytes;
1340 - int llx,lly,urx,ury;
1341 - time_t current_time,time_rc;
1343 - /* Compute bounding box */
1344 - llx=0; /* So, right now, the box starts at (0,0) */
1345 - lly=0;
1346 - urx=((float)paper_size_y * 72.0)/1000;
1347 - ury=((float)paper_size_x * 72.0)/1000;
1349 - /* Get Time of day for creation date */
1350 - time_rc = time(&current_time);
1351 - if(time_rc == (time_t)-1) {
1352 - s_log_message(_("Unable to get time of day in f_print_header()\n"));
1353 - current_time=0; /* Just set it to 1970... */
1356 - /* Output the DSC comments at the beginning of the document */
1357 - if (eps)
1358 - fprintf(fp, "%%!PS-Adobe-3.0 EPSF-3.0\n");
1359 - else
1360 - fprintf(fp, "%%!PS-Adobe-3.0\n");
1361 - fprintf(fp, "%%%%Creator: gEDA gschem %s\n"
1362 - "%%%%CreationDate: %s"
1363 - "%%%%Title: %s\n"
1364 -#ifdef HAVE_GETLOGIN
1365 - "%%%%Author: %s\n"
1366 -#endif
1367 - "%%%%BoundingBox: %d %d %d %d\n"
1368 - "%%%%Orientation: %s\n"
1369 - "%%%%Pages: 1\n"
1370 - "%%%%Endcomments\n"
1371 - "%%%%BeginProlog\n",
1372 - PACKAGE_GIT_VERSION,
1373 - ctime(&current_time),
1374 - toplevel->page_current->page_filename,
1375 -#ifdef HAVE_GETLOGIN
1376 - getlogin(),
1377 -#endif
1378 - llx, lly, urx, ury,
1379 - ((toplevel->print_orientation == LANDSCAPE)
1380 - ? "Landscape" : "Portrait")
1381 - );
1383 - /* Fetch and insert the Postscript prolog from disk here */
1385 - /* Allocate a buffer to use during copy */
1386 -#define PROLOG_BUFFER_SIZE 8192
1388 - /* Don't check this (succeeds or aborts) */
1389 - buf = g_malloc(PROLOG_BUFFER_SIZE);
1391 - /* Open the prolog file */
1392 - prolog = fopen(toplevel->postscript_prolog,"r");
1393 - if(prolog == NULL) {
1394 - s_log_message(_("Unable to open the prolog file `%s' for reading "
1395 - "in f_print_header()\n"), toplevel->postscript_prolog);
1396 - goto f_print_header_fail;
1398 - /* Loop while reading file into buffer and dump it
1399 - * back out to the supplied file handle
1400 - */
1401 - do {
1402 - bytes = fread(buf, 1, PROLOG_BUFFER_SIZE, prolog);
1403 - if(ferror(prolog)) break;
1404 - if (fwrite(buf, 1, bytes, fp) != bytes) {
1405 - /* An error occurred with fwrite */
1406 -#warning FIXME: What do we do?
1408 - } while(!feof(prolog) && !ferror(prolog) && !ferror(fp));
1410 - if(ferror(prolog)) {
1411 - s_log_message(_("Error during reading of the prolog file `%s' "
1412 - "in f_print_header()\n"), toplevel->postscript_prolog);
1413 - goto f_print_header_fail;
1416 - if(ferror(fp)) {
1417 - s_log_message(_("Error during writing of the output postscript file "
1418 - "in f_print_header()\n"));
1419 - goto f_print_header_fail;
1421 - g_free(buf); /* If we got to here, the buffer was allocated. */
1423 - fprintf(fp,"%%%%EndProlog\n"
1424 - "%%%%Page: 1 1\n"); /* Just name it `page 1' for now */
1427 - return 0;
1429 - f_print_header_fail:
1430 - s_log_message (_("Giving up on printing\n"));
1431 - g_free (buf); /* g_free() succeeds if argument is NULL */
1432 - return -1;
1435 -/*! \brief Prints the footer to a postscript document
1436 - * \par Function Description
1437 - * This function will print a document footer and end
1438 - * a postscript document.
1439 - *
1440 - * \param [in] fp The postscript document to write footer to.
1441 - */
1442 -void f_print_footer(FILE *fp)
1444 - fprintf(fp,"showpage\n"
1445 - "%%%%End\n");
1448 -/*! \brief Print all objects from the toplevel TOPLEVEL object.
1449 - * \par Function Description
1450 - * This function will parse the head parameter for all objects
1451 - * and write the to the postscript document.
1453 - * \param [in] toplevel The current TOPLEVEL object.
1454 - * \param [in] fp The postscript document to print to.
1455 - * \param [in] obj_list List of objects to be printed.
1456 - * \param [in] start_x X origin on page to start printing objects.
1457 - * \param [in] start_y Y origin on page to start printing objects.
1458 - * \param [in] scale Scale factor for object output.
1459 - * \param [in] unicode_count Number of items in unicode table.
1460 - * \param [in] unicode_table Table of unicode items.
1461 - * \return void
1462 - */
1463 -void f_print_objects (TOPLEVEL *toplevel, FILE *fp, const GList *obj_list,
1464 - int start_x, int start_y, float scale,
1465 - int unicode_count, gunichar *unicode_table)
1467 - OBJECT *o_current=NULL;
1468 - int origin_x, origin_y;
1469 - int save_last_ps_color;
1470 - const GList *iter;
1472 - origin_x = start_x;
1473 - origin_y = start_y;
1475 - if (obj_list == NULL) {
1476 - return;
1479 - /* Apply a translation to move the origin to where we want it */
1480 - if (origin_x != 0 || origin_y != 0) {
1481 - fprintf(fp, "%d %d translate\n", -origin_x, -origin_y);
1482 - }
1485 - /* no longer change the coords, the postscript translate takes care
1486 - * of this */
1487 - origin_x = 0;
1488 - origin_y = 0;
1490 - iter = obj_list;
1492 - while ( iter != NULL ) {
1493 - o_current = (OBJECT *)iter->data;
1495 - switch (o_current->type) {
1496 - case(OBJ_LINE):
1497 - o_line_print(toplevel, fp, o_current,
1498 - origin_x, origin_y);
1499 - break;
1501 - case(OBJ_NET):
1502 - o_net_print(toplevel, fp, o_current,
1503 - origin_x, origin_y);
1504 - break;
1506 - case(OBJ_BUS):
1507 - o_bus_print(toplevel, fp, o_current,
1508 - origin_x, origin_y);
1509 - break;
1511 - case(OBJ_BOX):
1512 - o_box_print(toplevel, fp, o_current,
1513 - origin_x, origin_y);
1514 - break;
1516 - case(OBJ_CIRCLE):
1517 - o_circle_print(toplevel, fp, o_current,
1518 - origin_x, origin_y);
1519 - break;
1521 - case(OBJ_COMPLEX):
1522 - case(OBJ_PLACEHOLDER): /* new object -- 1.20.2005 SDB */
1523 - save_last_ps_color = toplevel->last_ps_color;
1524 - fprintf(fp, "gsave\n");
1526 - f_print_objects(toplevel, fp,
1527 - o_current->complex->prim_objs,
1528 - origin_x, origin_y, scale,
1529 - unicode_count, unicode_table);
1530 - fprintf(fp, "grestore\n");
1531 - toplevel->last_ps_color = save_last_ps_color;
1532 - break;
1534 - case(OBJ_TEXT):
1535 - if (o_current->visibility == VISIBLE) {
1536 - /* Output text */
1537 - save_last_ps_color = toplevel->last_ps_color;
1538 - fprintf(fp, "gsave\n");
1539 - o_text_print(toplevel, fp,
1540 - o_current,
1541 - origin_x, origin_y, unicode_count, unicode_table);
1543 - fprintf(fp, "grestore\n");
1544 - toplevel->last_ps_color = save_last_ps_color;
1546 - break;
1549 - case(OBJ_PATH):
1550 - o_path_print(toplevel, fp, o_current,
1551 - origin_x, origin_y);
1552 - break;
1554 - case(OBJ_PIN):
1555 - o_pin_print(toplevel, fp, o_current,
1556 - origin_x, origin_y);
1557 - break;
1559 - case(OBJ_ARC):
1560 - o_arc_print(toplevel, fp, o_current,
1561 - origin_x, origin_y);
1562 - break;
1564 - case(OBJ_PICTURE):
1565 - o_picture_print(toplevel, fp, o_current,
1566 - origin_x, origin_y);
1567 - break;
1569 - default:
1570 - fprintf(stderr, "Error type!\n");
1571 - exit(-1);
1572 - break;
1574 - iter = g_list_next (iter);
1577 - s_cue_output_all (toplevel, obj_list, fp, POSTSCRIPT);
1578 - return;
1581 -/*! \brief Print the current TOPLEVEL object to a file as a postscript
1582 - * document.
1584 - * \par Function Description
1586 - * \param [in] toplevel The TOPLEVEL object to print.
1587 - * \param [in] filename The file name of the output postscript document.
1588 - * \return 0 on success, -1 on failure.
1589 - */
1590 -int f_print_file (TOPLEVEL *toplevel, const char *filename)
1592 - FILE *fp;
1593 - int result;
1595 - /* dots are breaking my filename selection hack hack !!!! */
1596 - fp = fopen(filename, "wb"); /* Use "wb" for safety on e.g. Win32 */
1598 - /* check to see if it worked */
1599 - if (fp == NULL) {
1600 - s_log_message(_("Could not open [%s] for printing\n"), filename);
1601 - return -1;
1604 - result = f_print_stream(toplevel, fp);
1606 - if (result != 0) {
1607 - /* If there was an error in f_print_stream, then unlink the output file. */
1608 - unlink(filename);
1610 - fclose (fp);
1611 - return result;
1614 -/*! \brief Opens a pipe to the specified command and prints the
1615 - * current TOPLEVEL object to the pipe as a postscript document.
1617 - * \par Function Description
1619 - * \param [in] toplevel The TOPLEVEL object to print.
1620 - * \param [in] command The command to print to.
1621 - * \return 0 on success, -1 on failure.
1622 - */
1623 -int f_print_command (TOPLEVEL *toplevel, const char *command)
1625 - FILE *fp;
1626 - int result;
1628 - fp = popen (command, "w");
1630 - /* check to see if it worked */
1631 - if (fp == NULL)
1633 - s_log_message(_("Could not execute command [%s] for printing\n"),
1634 - command);
1635 - return -1;
1638 - result = f_print_stream (toplevel, fp);
1639 - pclose (fp);
1640 - return result;
1643 -/*! \brief Print the current TOPLEVEL object to a stream as a
1644 - * postscript document.
1645 - * \par Function Description
1647 - * \param [in] toplevel The TOPLEVEL object to print.
1648 - * \param [in] fp A pointer to an open IO stream
1649 - * \return 0 on success, -1 on failure.
1650 - */
1652 -int f_print_stream(TOPLEVEL *toplevel, FILE *fp)
1654 - int origin_x, origin_y, bottom, right;
1655 - int margin_x, margin_y;
1656 - int dx,dy;
1657 - float scale;
1658 - int unicode_count;
1659 - gunichar unicode_table [128]; /* to contain the list of unicode
1660 - characters that need mapping */
1661 - int eps;
1664 - /* Unicode support */
1665 - f_print_initialize_glyph_table(); /* Fill up unicode map */
1667 - /* Find all the unicode characters */
1668 - unicode_count =
1669 - f_print_get_unicode_chars (toplevel,
1670 - s_page_objects (toplevel->page_current),
1671 - 0, unicode_table);
1673 - /* printf("%d %d\n", toplevel->paper_width, toplevel->paper_height);*/
1675 - world_get_object_glist_bounds (toplevel,
1676 - s_page_objects (toplevel->page_current),
1677 - &origin_x, &origin_y,
1678 - &right, &bottom);
1680 - /* Calculate scale factor that will make the image fit on the page */
1681 - dx = 0; dy = 0;
1682 - margin_x = 0; margin_y = 0;
1683 - switch (toplevel->print_output_type) {
1684 - case EXTENTS:
1685 - dx = right - origin_x;
1686 - dy = bottom - origin_y;
1688 - /* Add a 10% margin */
1689 - margin_x = dx/10;
1690 - margin_y = dy/10;
1691 - dx = dx + margin_x;
1692 - dy = dy + margin_y;
1693 - break;
1695 - case WINDOW:
1696 - dx = toplevel->page_current->right - toplevel->page_current->left;
1697 - dy = toplevel->page_current->bottom - toplevel->page_current->top;
1698 - origin_x = toplevel->page_current->left;
1699 - origin_y = toplevel->page_current->top;
1700 - right = toplevel->page_current->right;
1701 - bottom = toplevel->page_current->bottom;
1702 - break;
1704 - case EXTENTS_NOMARGINS:
1705 - dx = right - origin_x;
1706 - dy = bottom - origin_y;
1707 - break;
1709 - default:
1710 - break;
1714 - if(toplevel->paper_width == 0) {
1715 - eps = 1;
1716 - if(toplevel->print_orientation == LANDSCAPE) {
1717 - toplevel->paper_width = dx;
1718 - toplevel->paper_height = dy;
1719 - } else { /* portrait */
1720 - toplevel->paper_width = dy;
1721 - toplevel->paper_height = dx;
1723 - } else
1724 - eps = 0;
1726 - scale = 0.0;
1727 - if(toplevel->print_orientation == LANDSCAPE) {
1728 - /* First attempt to fit in x direction. */
1729 - scale = toplevel->paper_width / (float)dx;
1730 - if((toplevel->paper_height / (float)dy) < scale ) {
1731 - /* Else fit with y direction */
1732 - scale = (toplevel->paper_height / (float)dy);
1734 - } else { /* portrait */
1735 - /* First attempt to fit in y direction. */
1736 - scale = toplevel->paper_width / (float) dy;
1737 - if((toplevel->paper_height / (float)dx) < scale ) {
1738 - /* Else fit with x direction */
1739 - scale = (toplevel->paper_height / (float)dx);
1743 -#if 0
1744 - /* Debug */
1745 - printf("dx: %d dy:%d, origin_x:%d origin_y:%d, right:%d bottom:%d\n",
1746 - dx,dy,origin_x,origin_y,right,bottom);
1747 - printf("scale:%f\n",scale);
1748 -#endif
1750 - /* Output the header */
1751 - if (f_print_header(toplevel, fp,
1752 - toplevel->paper_width,
1753 - toplevel->paper_height,
1754 - eps) != 0) {
1756 - /* There was an error in f_print_header */
1757 - return -1;
1760 - /* Output font re-encoding */
1761 - if (unicode_count) {
1762 - f_print_unicode_map(fp, unicode_count, unicode_table);
1763 - /* output font re-encodeing command, use our re-encoding */
1764 - fprintf(fp,"/gEDAFont UTFencoding /Helvetica RE\n");
1765 - } else {
1766 - /* Otherwise, use LATIN1 extended encoding from prolog */
1767 - fprintf(fp,"/gEDAFont ISOLatin1Extended /Helvetica RE\n");
1771 - /* XXX - Do page orientation selection */
1773 -/* if (toplevel->setpagedevice_orientation) { */
1774 -/* if (toplevel->print_orientation == LANDSCAPE) { */
1775 -/* fprintf(fp, "%c%c /Orientation 1 %c%c setpagedevice\n\n", '<', '<', */
1776 -/* '>', '>'); */
1777 -/* } else { */
1778 -/* fprintf(fp, "%c%c /Orientation 0 %c%c setpagedevice\n\n", '<', '<', */
1779 -/* '>', '>'); */
1780 -/* } */
1781 -/* } */
1783 - /* the height and width are in the right order here, since they were
1784 - * specified in landscape order in the system-gschemrc file.
1785 - * \074 is '<', \076 is '>' */
1786 - if (toplevel->setpagedevice_pagesize) {
1787 - fprintf(fp, "\074\074 /PageSize [%d %d] \076\076 setpagedevice\n",
1788 - (toplevel->paper_height * 72) / MILS_PER_INCH,
1789 - (toplevel->paper_width * 72) / MILS_PER_INCH);
1793 - /* Set line end style */
1794 - if (toplevel->print_output_capstyle == BUTT_CAP) {
1795 - fprintf(fp, "0 setlinecap\n");
1796 - } else if (toplevel->print_output_capstyle == SQUARE_CAP) {
1797 - fprintf(fp, "2 setlinecap\n");
1798 - } else if (toplevel->print_output_capstyle == ROUND_CAP) {
1799 - fprintf(fp, "1 setlinecap\n");
1802 - /* Apply mils to postscript native units scaling to CTM */
1803 - fprintf(fp,"%f %f scale\n",
1804 - 72.0 / 1000.0 , 72.0 / 1000.0);
1806 - /* Now the output is defined in terms of mils */
1807 - /* Draw a box with the background colour covering the whole page */
1808 - if (toplevel->print_color) {
1809 - f_print_set_color(toplevel, fp, toplevel->print_color_background);
1810 - fprintf(fp,"%d %d 0 0 fbox\n",
1811 - toplevel->paper_height,
1812 - toplevel->paper_width);
1815 - /* Now rotate and translate the graphics to fit onto the desired
1816 - * page with the orientation we want. Center it too */
1817 - if(toplevel->print_orientation == LANDSCAPE) {
1818 - fprintf(fp,
1819 - "%d %d translate 90 rotate\n",
1820 - (int)((toplevel->paper_height + ( dy-margin_y) * scale)/2.0),
1821 - (int)((toplevel->paper_width + (-dx+margin_x) * scale)/2.0));
1822 - } else { /* portrait */
1823 - fprintf(fp,"%d %d translate\n",
1824 - (int)((toplevel->paper_height + (-dx + margin_x) * scale)/2.0),
1825 - (int)((toplevel->paper_width + (-dy + margin_y) * scale)/2.0));
1829 - /* Now apply final mils to output scaling factor */
1830 - fprintf(fp,"%f %f scale\n",
1831 - scale, scale);
1833 - /* Print the objects */
1834 - f_print_objects (toplevel, fp, s_page_objects (toplevel->page_current),
1835 - origin_x, origin_y, scale, unicode_count, unicode_table);
1837 - f_print_footer(fp);
1839 - return(0);
1842 -/*! \brief Sets the current TOPLEVEL object output type
1843 - * \par Function Description
1844 - * Sets the current TOPLEVEL object output type.
1846 - * \param [in,out] toplevel The TOPLEVEL object to set output type in.
1847 - * \param [in] type The print type to set.
1848 - */
1849 -void f_print_set_type(TOPLEVEL *toplevel, int type)
1851 - toplevel->print_output_type = type;
1854 -/*! \brief Converts all text strings to unicode format.
1855 - * \par Function Description
1856 - * Converts all text strings to unicode format.
1858 - * \param [in,out] toplevel The output TOPLEVEL element to store converted
1859 - * strings in.
1860 - * \param [in] obj_list The object containing strings for conversion.
1861 - * \param [in] count The number of elements in the unicode table.
1862 - * \param [in] table The unicode table.
1863 - * \return count on success, 0 otherwise.
1864 - */
1865 -static int f_print_get_unicode_chars (TOPLEVEL *toplevel,
1866 - const GList *obj_list,
1867 - int count, gunichar *table)
1869 - OBJECT *o_current = NULL;
1870 - gchar *aux;
1871 - gunichar current_char;
1872 - int i, found;
1873 - const GList *iter;
1875 - iter = obj_list;
1877 - while (iter != NULL) {
1878 - o_current = (OBJECT *)iter->data;
1880 - switch (o_current->type) {
1882 - case (OBJ_COMPLEX):
1883 - case (OBJ_PLACEHOLDER):
1885 - count = f_print_get_unicode_chars(toplevel,
1886 - o_current->complex->prim_objs,
1887 - count, table);
1888 - break;
1890 - case (OBJ_TEXT):
1891 - if (o_current->visibility == VISIBLE) {
1893 - aux = o_current->text->string;
1894 - while (aux && ((gunichar) (*aux) != 0)) {
1895 - current_char = g_utf8_get_char_validated(aux, -1);
1896 - if (current_char >= 127) {
1897 - found = 0;
1898 - i = 0;
1899 - while (i < count) {
1900 - if (table[i] == current_char)
1901 - found = 1;
1902 - i++;
1904 - if (!found) {
1905 - if (count < 128)
1906 - table[count++] = current_char;
1907 - else
1908 - s_log_message(_("Too many UTF-8 characters, cannot print\n"));
1911 - aux = g_utf8_find_next_char(aux, NULL);
1914 - break;
1916 - default:
1917 - break;
1919 - iter = g_list_next (iter);
1921 - return (count);
1924 -/*! \brief Prints unicode map to postscript document.
1925 - * \par Function Description
1926 - * Prints unicode map to postscript document.
1928 - * \param [in] fp The postscript document to write unicode map to.
1929 - * \param [in] count Size of unicode map table.
1930 - * \param [in] table The unicode map to write.
1931 - */
1932 -static void f_print_unicode_map(FILE * fp, int count, gunichar * table)
1934 - unsigned int i;
1935 - int line_count;
1936 - char *glyph_map[256]; /* To contain the postscript remapping */
1938 - /* update the glyph map, undefine everything */
1939 - for(i=0; i<256; i++) glyph_map[i]="/.notdef";
1941 - /* Now fill in the active characters */
1942 - for (i=0; i<128; i++) { /* Copy in the regular latin chars */
1943 - glyph_map[i] = g_hash_table_lookup (unicode_char_to_glyph,
1944 - GUINT_TO_POINTER (i));
1946 - /* Finish by using up the rest of the spares */
1947 - for (i=128; i<(count+128); i++) {
1948 - if(i < (count+128)) {
1949 - glyph_map[i] = g_hash_table_lookup (unicode_char_to_glyph,
1950 - GUINT_TO_POINTER (table[i-128]));
1954 - fprintf(fp, "%%%%BeginResource: encoding UTFencoding\n");
1955 - fprintf(fp, "/UTFencoding [\n");
1957 - /* Output the re-encoding vector, prettily */
1958 - line_count = 0;
1959 - for (i=0; i<256; i++) {
1960 - line_count += fprintf(fp, "%s ", glyph_map[i]);
1961 - if(line_count > 60) {
1962 - line_count = 0;
1963 - fprintf(fp, "\n");
1967 - fprintf(fp, "] def\n");
1968 - fprintf(fp, "%%%%EndResource\n");
1972 -/*! \brief */
1973 -static struct glyph_list {
1974 - gpointer key;
1975 - gpointer name;
1976 -} glyphs[] = {
1977 - { GUINT_TO_POINTER (0x0000), "/.notdef" },
1978 - { GUINT_TO_POINTER (0x0041), "/A" },
1979 - { GUINT_TO_POINTER (0x00C6), "/AE" },
1980 - { GUINT_TO_POINTER (0x01FC), "/AEacute" },
1981 - { GUINT_TO_POINTER (0x01E2), "/AEmacron" },
1982 - { GUINT_TO_POINTER (0xF7E6), "/AEsmall" },
1983 - { GUINT_TO_POINTER (0x00C1), "/Aacute" },
1984 - { GUINT_TO_POINTER (0xF7E1), "/Aacutesmall" },
1985 - { GUINT_TO_POINTER (0x0102), "/Abreve" },
1986 - { GUINT_TO_POINTER (0x1EAE), "/Abreveacute" },
1987 - { GUINT_TO_POINTER (0x04D0), "/Abrevecyrillic" },
1988 - { GUINT_TO_POINTER (0x1EB6), "/Abrevedotbelow" },
1989 - { GUINT_TO_POINTER (0x1EB0), "/Abrevegrave" },
1990 - { GUINT_TO_POINTER (0x1EB2), "/Abrevehookabove" },
1991 - { GUINT_TO_POINTER (0x1EB4), "/Abrevetilde" },
1992 - { GUINT_TO_POINTER (0x01CD), "/Acaron" },
1993 - { GUINT_TO_POINTER (0x24B6), "/Acircle" },
1994 - { GUINT_TO_POINTER (0x00C2), "/Acircumflex" },
1995 - { GUINT_TO_POINTER (0x1EA4), "/Acircumflexacute" },
1996 - { GUINT_TO_POINTER (0x1EAC), "/Acircumflexdotbelow" },
1997 - { GUINT_TO_POINTER (0x1EA6), "/Acircumflexgrave" },
1998 - { GUINT_TO_POINTER (0x1EA8), "/Acircumflexhookabove" },
1999 - { GUINT_TO_POINTER (0xF7E2), "/Acircumflexsmall" },
2000 - { GUINT_TO_POINTER (0x1EAA), "/Acircumflextilde" },
2001 - { GUINT_TO_POINTER (0xF6C9), "/Acute" },
2002 - { GUINT_TO_POINTER (0xF7B4), "/Acutesmall" },
2003 - { GUINT_TO_POINTER (0x0410), "/Acyrillic" },
2004 - { GUINT_TO_POINTER (0x0200), "/Adblgrave" },
2005 - { GUINT_TO_POINTER (0x00C4), "/Adieresis" },
2006 - { GUINT_TO_POINTER (0x04D2), "/Adieresiscyrillic" },
2007 - { GUINT_TO_POINTER (0x01DE), "/Adieresismacron" },
2008 - { GUINT_TO_POINTER (0xF7E4), "/Adieresissmall" },
2009 - { GUINT_TO_POINTER (0x1EA0), "/Adotbelow" },
2010 - { GUINT_TO_POINTER (0x01E0), "/Adotmacron" },
2011 - { GUINT_TO_POINTER (0x00C0), "/Agrave" },
2012 - { GUINT_TO_POINTER (0xF7E0), "/Agravesmall" },
2013 - { GUINT_TO_POINTER (0x1EA2), "/Ahookabove" },
2014 - { GUINT_TO_POINTER (0x04D4), "/Aiecyrillic" },
2015 - { GUINT_TO_POINTER (0x0202), "/Ainvertedbreve" },
2016 - { GUINT_TO_POINTER (0x0391), "/Alpha" },
2017 - { GUINT_TO_POINTER (0x0386), "/Alphatonos" },
2018 - { GUINT_TO_POINTER (0x0100), "/Amacron" },
2019 - { GUINT_TO_POINTER (0xFF21), "/Amonospace" },
2020 - { GUINT_TO_POINTER (0x0104), "/Aogonek" },
2021 - { GUINT_TO_POINTER (0x00C5), "/Aring" },
2022 - { GUINT_TO_POINTER (0x01FA), "/Aringacute" },
2023 - { GUINT_TO_POINTER (0x1E00), "/Aringbelow" },
2024 - { GUINT_TO_POINTER (0xF7E5), "/Aringsmall" },
2025 - { GUINT_TO_POINTER (0xF761), "/Asmall" },
2026 - { GUINT_TO_POINTER (0x00C3), "/Atilde" },
2027 - { GUINT_TO_POINTER (0xF7E3), "/Atildesmall" },
2028 - { GUINT_TO_POINTER (0x0531), "/Aybarmenian" },
2029 - { GUINT_TO_POINTER (0x0042), "/B" },
2030 - { GUINT_TO_POINTER (0x24B7), "/Bcircle" },
2031 - { GUINT_TO_POINTER (0x1E02), "/Bdotaccent" },
2032 - { GUINT_TO_POINTER (0x1E04), "/Bdotbelow" },
2033 - { GUINT_TO_POINTER (0x0411), "/Becyrillic" },
2034 - { GUINT_TO_POINTER (0x0532), "/Benarmenian" },
2035 - { GUINT_TO_POINTER (0x0392), "/Beta" },
2036 - { GUINT_TO_POINTER (0x0181), "/Bhook" },
2037 - { GUINT_TO_POINTER (0x1E06), "/Blinebelow" },
2038 - { GUINT_TO_POINTER (0xFF22), "/Bmonospace" },
2039 - { GUINT_TO_POINTER (0xF6F4), "/Brevesmall" },
2040 - { GUINT_TO_POINTER (0xF762), "/Bsmall" },
2041 - { GUINT_TO_POINTER (0x0182), "/Btopbar" },
2042 - { GUINT_TO_POINTER (0x0043), "/C" },
2043 - { GUINT_TO_POINTER (0x053E), "/Caarmenian" },
2044 - { GUINT_TO_POINTER (0x0106), "/Cacute" },
2045 - { GUINT_TO_POINTER (0xF6CA), "/Caron" },
2046 - { GUINT_TO_POINTER (0xF6F5), "/Caronsmall" },
2047 - { GUINT_TO_POINTER (0x010C), "/Ccaron" },
2048 - { GUINT_TO_POINTER (0x00C7), "/Ccedilla" },
2049 - { GUINT_TO_POINTER (0x1E08), "/Ccedillaacute" },
2050 - { GUINT_TO_POINTER (0xF7E7), "/Ccedillasmall" },
2051 - { GUINT_TO_POINTER (0x24B8), "/Ccircle" },
2052 - { GUINT_TO_POINTER (0x0108), "/Ccircumflex" },
2053 - { GUINT_TO_POINTER (0x010A), "/Cdot" },
2054 - { GUINT_TO_POINTER (0x010A), "/Cdotaccent" },
2055 - { GUINT_TO_POINTER (0xF7B8), "/Cedillasmall" },
2056 - { GUINT_TO_POINTER (0x0549), "/Chaarmenian" },
2057 - { GUINT_TO_POINTER (0x04BC), "/Cheabkhasiancyrillic" },
2058 - { GUINT_TO_POINTER (0x0427), "/Checyrillic" },
2059 - { GUINT_TO_POINTER (0x04BE), "/Chedescenderabkhasiancyrillic" },
2060 - { GUINT_TO_POINTER (0x04B6), "/Chedescendercyrillic" },
2061 - { GUINT_TO_POINTER (0x04F4), "/Chedieresiscyrillic" },
2062 - { GUINT_TO_POINTER (0x0543), "/Cheharmenian" },
2063 - { GUINT_TO_POINTER (0x04CB), "/Chekhakassiancyrillic" },
2064 - { GUINT_TO_POINTER (0x04B8), "/Cheverticalstrokecyrillic" },
2065 - { GUINT_TO_POINTER (0x03A7), "/Chi" },
2066 - { GUINT_TO_POINTER (0x0187), "/Chook" },
2067 - { GUINT_TO_POINTER (0xF6F6), "/Circumflexsmall" },
2068 - { GUINT_TO_POINTER (0xFF23), "/Cmonospace" },
2069 - { GUINT_TO_POINTER (0x0551), "/Coarmenian" },
2070 - { GUINT_TO_POINTER (0xF763), "/Csmall" },
2071 - { GUINT_TO_POINTER (0x0044), "/D" },
2072 - { GUINT_TO_POINTER (0x01F1), "/DZ" },
2073 - { GUINT_TO_POINTER (0x01C4), "/DZcaron" },
2074 - { GUINT_TO_POINTER (0x0534), "/Daarmenian" },
2075 - { GUINT_TO_POINTER (0x0189), "/Dafrican" },
2076 - { GUINT_TO_POINTER (0x010E), "/Dcaron" },
2077 - { GUINT_TO_POINTER (0x1E10), "/Dcedilla" },
2078 - { GUINT_TO_POINTER (0x24B9), "/Dcircle" },
2079 - { GUINT_TO_POINTER (0x1E12), "/Dcircumflexbelow" },
2080 - { GUINT_TO_POINTER (0x0110), "/Dcroat" },
2081 - { GUINT_TO_POINTER (0x1E0A), "/Ddotaccent" },
2082 - { GUINT_TO_POINTER (0x1E0C), "/Ddotbelow" },
2083 - { GUINT_TO_POINTER (0x0414), "/Decyrillic" },
2084 - { GUINT_TO_POINTER (0x03EE), "/Deicoptic" },
2085 - { GUINT_TO_POINTER (0x2206), "/Delta" },
2086 - { GUINT_TO_POINTER (0x0394), "/Deltagreek" },
2087 - { GUINT_TO_POINTER (0x018A), "/Dhook" },
2088 - { GUINT_TO_POINTER (0xF6CB), "/Dieresis" },
2089 - { GUINT_TO_POINTER (0xF6CC), "/DieresisAcute" },
2090 - { GUINT_TO_POINTER (0xF6CD), "/DieresisGrave" },
2091 - { GUINT_TO_POINTER (0xF7A8), "/Dieresissmall" },
2092 - { GUINT_TO_POINTER (0x03DC), "/Digammagreek" },
2093 - { GUINT_TO_POINTER (0x0402), "/Djecyrillic" },
2094 - { GUINT_TO_POINTER (0x1E0E), "/Dlinebelow" },
2095 - { GUINT_TO_POINTER (0xFF24), "/Dmonospace" },
2096 - { GUINT_TO_POINTER (0xF6F7), "/Dotaccentsmall" },
2097 - { GUINT_TO_POINTER (0x0110), "/Dslash" },
2098 - { GUINT_TO_POINTER (0xF764), "/Dsmall" },
2099 - { GUINT_TO_POINTER (0x018B), "/Dtopbar" },
2100 - { GUINT_TO_POINTER (0x01F2), "/Dz" },
2101 - { GUINT_TO_POINTER (0x01C5), "/Dzcaron" },
2102 - { GUINT_TO_POINTER (0x04E0), "/Dzeabkhasiancyrillic" },
2103 - { GUINT_TO_POINTER (0x0405), "/Dzecyrillic" },
2104 - { GUINT_TO_POINTER (0x040F), "/Dzhecyrillic" },
2105 - { GUINT_TO_POINTER (0x0045), "/E" },
2106 - { GUINT_TO_POINTER (0x00C9), "/Eacute" },
2107 - { GUINT_TO_POINTER (0xF7E9), "/Eacutesmall" },
2108 - { GUINT_TO_POINTER (0x0114), "/Ebreve" },
2109 - { GUINT_TO_POINTER (0x011A), "/Ecaron" },
2110 - { GUINT_TO_POINTER (0x1E1C), "/Ecedillabreve" },
2111 - { GUINT_TO_POINTER (0x0535), "/Echarmenian" },
2112 - { GUINT_TO_POINTER (0x24BA), "/Ecircle" },
2113 - { GUINT_TO_POINTER (0x00CA), "/Ecircumflex" },
2114 - { GUINT_TO_POINTER (0x1EBE), "/Ecircumflexacute" },
2115 - { GUINT_TO_POINTER (0x1E18), "/Ecircumflexbelow" },
2116 - { GUINT_TO_POINTER (0x1EC6), "/Ecircumflexdotbelow" },
2117 - { GUINT_TO_POINTER (0x1EC0), "/Ecircumflexgrave" },
2118 - { GUINT_TO_POINTER (0x1EC2), "/Ecircumflexhookabove" },
2119 - { GUINT_TO_POINTER (0xF7EA), "/Ecircumflexsmall" },
2120 - { GUINT_TO_POINTER (0x1EC4), "/Ecircumflextilde" },
2121 - { GUINT_TO_POINTER (0x0404), "/Ecyrillic" },
2122 - { GUINT_TO_POINTER (0x0204), "/Edblgrave" },
2123 - { GUINT_TO_POINTER (0x00CB), "/Edieresis" },
2124 - { GUINT_TO_POINTER (0xF7EB), "/Edieresissmall" },
2125 - { GUINT_TO_POINTER (0x0116), "/Edot" },
2126 - { GUINT_TO_POINTER (0x0116), "/Edotaccent" },
2127 - { GUINT_TO_POINTER (0x1EB8), "/Edotbelow" },
2128 - { GUINT_TO_POINTER (0x0424), "/Efcyrillic" },
2129 - { GUINT_TO_POINTER (0x00C8), "/Egrave" },
2130 - { GUINT_TO_POINTER (0xF7E8), "/Egravesmall" },
2131 - { GUINT_TO_POINTER (0x0537), "/Eharmenian" },
2132 - { GUINT_TO_POINTER (0x1EBA), "/Ehookabove" },
2133 - { GUINT_TO_POINTER (0x2167), "/Eightroman" },
2134 - { GUINT_TO_POINTER (0x0206), "/Einvertedbreve" },
2135 - { GUINT_TO_POINTER (0x0464), "/Eiotifiedcyrillic" },
2136 - { GUINT_TO_POINTER (0x041B), "/Elcyrillic" },
2137 - { GUINT_TO_POINTER (0x216A), "/Elevenroman" },
2138 - { GUINT_TO_POINTER (0x0112), "/Emacron" },
2139 - { GUINT_TO_POINTER (0x1E16), "/Emacronacute" },
2140 - { GUINT_TO_POINTER (0x1E14), "/Emacrongrave" },
2141 - { GUINT_TO_POINTER (0x041C), "/Emcyrillic" },
2142 - { GUINT_TO_POINTER (0xFF25), "/Emonospace" },
2143 - { GUINT_TO_POINTER (0x041D), "/Encyrillic" },
2144 - { GUINT_TO_POINTER (0x04A2), "/Endescendercyrillic" },
2145 - { GUINT_TO_POINTER (0x014A), "/Eng" },
2146 - { GUINT_TO_POINTER (0x04A4), "/Enghecyrillic" },
2147 - { GUINT_TO_POINTER (0x04C7), "/Enhookcyrillic" },
2148 - { GUINT_TO_POINTER (0x0118), "/Eogonek" },
2149 - { GUINT_TO_POINTER (0x0190), "/Eopen" },
2150 - { GUINT_TO_POINTER (0x0395), "/Epsilon" },
2151 - { GUINT_TO_POINTER (0x0388), "/Epsilontonos" },
2152 - { GUINT_TO_POINTER (0x0420), "/Ercyrillic" },
2153 - { GUINT_TO_POINTER (0x018E), "/Ereversed" },
2154 - { GUINT_TO_POINTER (0x042D), "/Ereversedcyrillic" },
2155 - { GUINT_TO_POINTER (0x0421), "/Escyrillic" },
2156 - { GUINT_TO_POINTER (0x04AA), "/Esdescendercyrillic" },
2157 - { GUINT_TO_POINTER (0x01A9), "/Esh" },
2158 - { GUINT_TO_POINTER (0xF765), "/Esmall" },
2159 - { GUINT_TO_POINTER (0x0397), "/Eta" },
2160 - { GUINT_TO_POINTER (0x0538), "/Etarmenian" },
2161 - { GUINT_TO_POINTER (0x0389), "/Etatonos" },
2162 - { GUINT_TO_POINTER (0x00D0), "/Eth" },
2163 - { GUINT_TO_POINTER (0xF7F0), "/Ethsmall" },
2164 - { GUINT_TO_POINTER (0x1EBC), "/Etilde" },
2165 - { GUINT_TO_POINTER (0x1E1A), "/Etildebelow" },
2166 - { GUINT_TO_POINTER (0x20AC), "/Euro" },
2167 - { GUINT_TO_POINTER (0x01B7), "/Ezh" },
2168 - { GUINT_TO_POINTER (0x01EE), "/Ezhcaron" },
2169 - { GUINT_TO_POINTER (0x01B8), "/Ezhreversed" },
2170 - { GUINT_TO_POINTER (0x0046), "/F" },
2171 - { GUINT_TO_POINTER (0x24BB), "/Fcircle" },
2172 - { GUINT_TO_POINTER (0x1E1E), "/Fdotaccent" },
2173 - { GUINT_TO_POINTER (0x0556), "/Feharmenian" },
2174 - { GUINT_TO_POINTER (0x03E4), "/Feicoptic" },
2175 - { GUINT_TO_POINTER (0x0191), "/Fhook" },
2176 - { GUINT_TO_POINTER (0x0472), "/Fitacyrillic" },
2177 - { GUINT_TO_POINTER (0x2164), "/Fiveroman" },
2178 - { GUINT_TO_POINTER (0xFF26), "/Fmonospace" },
2179 - { GUINT_TO_POINTER (0x2163), "/Fourroman" },
2180 - { GUINT_TO_POINTER (0xF766), "/Fsmall" },
2181 - { GUINT_TO_POINTER (0x0047), "/G" },
2182 - { GUINT_TO_POINTER (0x3387), "/GBsquare" },
2183 - { GUINT_TO_POINTER (0x01F4), "/Gacute" },
2184 - { GUINT_TO_POINTER (0x0393), "/Gamma" },
2185 - { GUINT_TO_POINTER (0x0194), "/Gammaafrican" },
2186 - { GUINT_TO_POINTER (0x03EA), "/Gangiacoptic" },
2187 - { GUINT_TO_POINTER (0x011E), "/Gbreve" },
2188 - { GUINT_TO_POINTER (0x01E6), "/Gcaron" },
2189 - { GUINT_TO_POINTER (0x0122), "/Gcedilla" },
2190 - { GUINT_TO_POINTER (0x24BC), "/Gcircle" },
2191 - { GUINT_TO_POINTER (0x011C), "/Gcircumflex" },
2192 - { GUINT_TO_POINTER (0x0122), "/Gcommaaccent" },
2193 - { GUINT_TO_POINTER (0x0120), "/Gdot" },
2194 - { GUINT_TO_POINTER (0x0120), "/Gdotaccent" },
2195 - { GUINT_TO_POINTER (0x0413), "/Gecyrillic" },
2196 - { GUINT_TO_POINTER (0x0542), "/Ghadarmenian" },
2197 - { GUINT_TO_POINTER (0x0494), "/Ghemiddlehookcyrillic" },
2198 - { GUINT_TO_POINTER (0x0492), "/Ghestrokecyrillic" },
2199 - { GUINT_TO_POINTER (0x0490), "/Gheupturncyrillic" },
2200 - { GUINT_TO_POINTER (0x0193), "/Ghook" },
2201 - { GUINT_TO_POINTER (0x0533), "/Gimarmenian" },
2202 - { GUINT_TO_POINTER (0x0403), "/Gjecyrillic" },
2203 - { GUINT_TO_POINTER (0x1E20), "/Gmacron" },
2204 - { GUINT_TO_POINTER (0xFF27), "/Gmonospace" },
2205 - { GUINT_TO_POINTER (0xF6CE), "/Grave" },
2206 - { GUINT_TO_POINTER (0xF760), "/Gravesmall" },
2207 - { GUINT_TO_POINTER (0xF767), "/Gsmall" },
2208 - { GUINT_TO_POINTER (0x029B), "/Gsmallhook" },
2209 - { GUINT_TO_POINTER (0x01E4), "/Gstroke" },
2210 - { GUINT_TO_POINTER (0x0048), "/H" },
2211 - { GUINT_TO_POINTER (0x25CF), "/H18533" },
2212 - { GUINT_TO_POINTER (0x25AA), "/H18543" },
2213 - { GUINT_TO_POINTER (0x25AB), "/H18551" },
2214 - { GUINT_TO_POINTER (0x25A1), "/H22073" },
2215 - { GUINT_TO_POINTER (0x33CB), "/HPsquare" },
2216 - { GUINT_TO_POINTER (0x04A8), "/Haabkhasiancyrillic" },
2217 - { GUINT_TO_POINTER (0x04B2), "/Hadescendercyrillic" },
2218 - { GUINT_TO_POINTER (0x042A), "/Hardsigncyrillic" },
2219 - { GUINT_TO_POINTER (0x0126), "/Hbar" },
2220 - { GUINT_TO_POINTER (0x1E2A), "/Hbrevebelow" },
2221 - { GUINT_TO_POINTER (0x1E28), "/Hcedilla" },
2222 - { GUINT_TO_POINTER (0x24BD), "/Hcircle" },
2223 - { GUINT_TO_POINTER (0x0124), "/Hcircumflex" },
2224 - { GUINT_TO_POINTER (0x1E26), "/Hdieresis" },
2225 - { GUINT_TO_POINTER (0x1E22), "/Hdotaccent" },
2226 - { GUINT_TO_POINTER (0x1E24), "/Hdotbelow" },
2227 - { GUINT_TO_POINTER (0xFF28), "/Hmonospace" },
2228 - { GUINT_TO_POINTER (0x0540), "/Hoarmenian" },
2229 - { GUINT_TO_POINTER (0x03E8), "/Horicoptic" },
2230 - { GUINT_TO_POINTER (0xF768), "/Hsmall" },
2231 - { GUINT_TO_POINTER (0xF6CF), "/Hungarumlaut" },
2232 - { GUINT_TO_POINTER (0xF6F8), "/Hungarumlautsmall" },
2233 - { GUINT_TO_POINTER (0x3390), "/Hzsquare" },
2234 - { GUINT_TO_POINTER (0x0049), "/I" },
2235 - { GUINT_TO_POINTER (0x042F), "/IAcyrillic" },
2236 - { GUINT_TO_POINTER (0x0132), "/IJ" },
2237 - { GUINT_TO_POINTER (0x042E), "/IUcyrillic" },
2238 - { GUINT_TO_POINTER (0x00CD), "/Iacute" },
2239 - { GUINT_TO_POINTER (0xF7ED), "/Iacutesmall" },
2240 - { GUINT_TO_POINTER (0x012C), "/Ibreve" },
2241 - { GUINT_TO_POINTER (0x01CF), "/Icaron" },
2242 - { GUINT_TO_POINTER (0x24BE), "/Icircle" },
2243 - { GUINT_TO_POINTER (0x00CE), "/Icircumflex" },
2244 - { GUINT_TO_POINTER (0xF7EE), "/Icircumflexsmall" },
2245 - { GUINT_TO_POINTER (0x0406), "/Icyrillic" },
2246 - { GUINT_TO_POINTER (0x0208), "/Idblgrave" },
2247 - { GUINT_TO_POINTER (0x00CF), "/Idieresis" },
2248 - { GUINT_TO_POINTER (0x1E2E), "/Idieresisacute" },
2249 - { GUINT_TO_POINTER (0x04E4), "/Idieresiscyrillic" },
2250 - { GUINT_TO_POINTER (0xF7EF), "/Idieresissmall" },
2251 - { GUINT_TO_POINTER (0x0130), "/Idot" },
2252 - { GUINT_TO_POINTER (0x0130), "/Idotaccent" },
2253 - { GUINT_TO_POINTER (0x1ECA), "/Idotbelow" },
2254 - { GUINT_TO_POINTER (0x04D6), "/Iebrevecyrillic" },
2255 - { GUINT_TO_POINTER (0x0415), "/Iecyrillic" },
2256 - { GUINT_TO_POINTER (0x2111), "/Ifraktur" },
2257 - { GUINT_TO_POINTER (0x00CC), "/Igrave" },
2258 - { GUINT_TO_POINTER (0xF7EC), "/Igravesmall" },
2259 - { GUINT_TO_POINTER (0x1EC8), "/Ihookabove" },
2260 - { GUINT_TO_POINTER (0x0418), "/Iicyrillic" },
2261 - { GUINT_TO_POINTER (0x020A), "/Iinvertedbreve" },
2262 - { GUINT_TO_POINTER (0x0419), "/Iishortcyrillic" },
2263 - { GUINT_TO_POINTER (0x012A), "/Imacron" },
2264 - { GUINT_TO_POINTER (0x04E2), "/Imacroncyrillic" },
2265 - { GUINT_TO_POINTER (0xFF29), "/Imonospace" },
2266 - { GUINT_TO_POINTER (0x053B), "/Iniarmenian" },
2267 - { GUINT_TO_POINTER (0x0401), "/Iocyrillic" },
2268 - { GUINT_TO_POINTER (0x012E), "/Iogonek" },
2269 - { GUINT_TO_POINTER (0x0399), "/Iota" },
2270 - { GUINT_TO_POINTER (0x0196), "/Iotaafrican" },
2271 - { GUINT_TO_POINTER (0x03AA), "/Iotadieresis" },
2272 - { GUINT_TO_POINTER (0x038A), "/Iotatonos" },
2273 - { GUINT_TO_POINTER (0xF769), "/Ismall" },
2274 - { GUINT_TO_POINTER (0x0197), "/Istroke" },
2275 - { GUINT_TO_POINTER (0x0128), "/Itilde" },
2276 - { GUINT_TO_POINTER (0x1E2C), "/Itildebelow" },
2277 - { GUINT_TO_POINTER (0x0474), "/Izhitsacyrillic" },
2278 - { GUINT_TO_POINTER (0x0476), "/Izhitsadblgravecyrillic" },
2279 - { GUINT_TO_POINTER (0x004A), "/J" },
2280 - { GUINT_TO_POINTER (0x0541), "/Jaarmenian" },
2281 - { GUINT_TO_POINTER (0x24BF), "/Jcircle" },
2282 - { GUINT_TO_POINTER (0x0134), "/Jcircumflex" },
2283 - { GUINT_TO_POINTER (0x0408), "/Jecyrillic" },
2284 - { GUINT_TO_POINTER (0x054B), "/Jheharmenian" },
2285 - { GUINT_TO_POINTER (0xFF2A), "/Jmonospace" },
2286 - { GUINT_TO_POINTER (0xF76A), "/Jsmall" },
2287 - { GUINT_TO_POINTER (0x004B), "/K" },
2288 - { GUINT_TO_POINTER (0x3385), "/KBsquare" },
2289 - { GUINT_TO_POINTER (0x33CD), "/KKsquare" },
2290 - { GUINT_TO_POINTER (0x04A0), "/Kabashkircyrillic" },
2291 - { GUINT_TO_POINTER (0x1E30), "/Kacute" },
2292 - { GUINT_TO_POINTER (0x041A), "/Kacyrillic" },
2293 - { GUINT_TO_POINTER (0x049A), "/Kadescendercyrillic" },
2294 - { GUINT_TO_POINTER (0x04C3), "/Kahookcyrillic" },
2295 - { GUINT_TO_POINTER (0x039A), "/Kappa" },
2296 - { GUINT_TO_POINTER (0x049E), "/Kastrokecyrillic" },
2297 - { GUINT_TO_POINTER (0x049C), "/Kaverticalstrokecyrillic" },
2298 - { GUINT_TO_POINTER (0x01E8), "/Kcaron" },
2299 - { GUINT_TO_POINTER (0x0136), "/Kcedilla" },
2300 - { GUINT_TO_POINTER (0x24C0), "/Kcircle" },
2301 - { GUINT_TO_POINTER (0x0136), "/Kcommaaccent" },
2302 - { GUINT_TO_POINTER (0x1E32), "/Kdotbelow" },
2303 - { GUINT_TO_POINTER (0x0554), "/Keharmenian" },
2304 - { GUINT_TO_POINTER (0x053F), "/Kenarmenian" },
2305 - { GUINT_TO_POINTER (0x0425), "/Khacyrillic" },
2306 - { GUINT_TO_POINTER (0x03E6), "/Kheicoptic" },
2307 - { GUINT_TO_POINTER (0x0198), "/Khook" },
2308 - { GUINT_TO_POINTER (0x040C), "/Kjecyrillic" },
2309 - { GUINT_TO_POINTER (0x1E34), "/Klinebelow" },
2310 - { GUINT_TO_POINTER (0xFF2B), "/Kmonospace" },
2311 - { GUINT_TO_POINTER (0x0480), "/Koppacyrillic" },
2312 - { GUINT_TO_POINTER (0x03DE), "/Koppagreek" },
2313 - { GUINT_TO_POINTER (0x046E), "/Ksicyrillic" },
2314 - { GUINT_TO_POINTER (0xF76B), "/Ksmall" },
2315 - { GUINT_TO_POINTER (0x004C), "/L" },
2316 - { GUINT_TO_POINTER (0x01C7), "/LJ" },
2317 - { GUINT_TO_POINTER (0xF6BF), "/LL" },
2318 - { GUINT_TO_POINTER (0x0139), "/Lacute" },
2319 - { GUINT_TO_POINTER (0x039B), "/Lambda" },
2320 - { GUINT_TO_POINTER (0x013D), "/Lcaron" },
2321 - { GUINT_TO_POINTER (0x013B), "/Lcedilla" },
2322 - { GUINT_TO_POINTER (0x24C1), "/Lcircle" },
2323 - { GUINT_TO_POINTER (0x1E3C), "/Lcircumflexbelow" },
2324 - { GUINT_TO_POINTER (0x013B), "/Lcommaaccent" },
2325 - { GUINT_TO_POINTER (0x013F), "/Ldot" },
2326 - { GUINT_TO_POINTER (0x013F), "/Ldotaccent" },
2327 - { GUINT_TO_POINTER (0x1E36), "/Ldotbelow" },
2328 - { GUINT_TO_POINTER (0x1E38), "/Ldotbelowmacron" },
2329 - { GUINT_TO_POINTER (0x053C), "/Liwnarmenian" },
2330 - { GUINT_TO_POINTER (0x01C8), "/Lj" },
2331 - { GUINT_TO_POINTER (0x0409), "/Ljecyrillic" },
2332 - { GUINT_TO_POINTER (0x1E3A), "/Llinebelow" },
2333 - { GUINT_TO_POINTER (0xFF2C), "/Lmonospace" },
2334 - { GUINT_TO_POINTER (0x0141), "/Lslash" },
2335 - { GUINT_TO_POINTER (0xF6F9), "/Lslashsmall" },
2336 - { GUINT_TO_POINTER (0xF76C), "/Lsmall" },
2337 - { GUINT_TO_POINTER (0x004D), "/M" },
2338 - { GUINT_TO_POINTER (0x3386), "/MBsquare" },
2339 - { GUINT_TO_POINTER (0xF6D0), "/Macron" },
2340 - { GUINT_TO_POINTER (0xF7AF), "/Macronsmall" },
2341 - { GUINT_TO_POINTER (0x1E3E), "/Macute" },
2342 - { GUINT_TO_POINTER (0x24C2), "/Mcircle" },
2343 - { GUINT_TO_POINTER (0x1E40), "/Mdotaccent" },
2344 - { GUINT_TO_POINTER (0x1E42), "/Mdotbelow" },
2345 - { GUINT_TO_POINTER (0x0544), "/Menarmenian" },
2346 - { GUINT_TO_POINTER (0xFF2D), "/Mmonospace" },
2347 - { GUINT_TO_POINTER (0xF76D), "/Msmall" },
2348 - { GUINT_TO_POINTER (0x019C), "/Mturned" },
2349 - { GUINT_TO_POINTER (0x039C), "/Mu" },
2350 - { GUINT_TO_POINTER (0x004E), "/N" },
2351 - { GUINT_TO_POINTER (0x01CA), "/NJ" },
2352 - { GUINT_TO_POINTER (0x0143), "/Nacute" },
2353 - { GUINT_TO_POINTER (0x0147), "/Ncaron" },
2354 - { GUINT_TO_POINTER (0x0145), "/Ncedilla" },
2355 - { GUINT_TO_POINTER (0x24C3), "/Ncircle" },
2356 - { GUINT_TO_POINTER (0x1E4A), "/Ncircumflexbelow" },
2357 - { GUINT_TO_POINTER (0x0145), "/Ncommaaccent" },
2358 - { GUINT_TO_POINTER (0x1E44), "/Ndotaccent" },
2359 - { GUINT_TO_POINTER (0x1E46), "/Ndotbelow" },
2360 - { GUINT_TO_POINTER (0x019D), "/Nhookleft" },
2361 - { GUINT_TO_POINTER (0x2168), "/Nineroman" },
2362 - { GUINT_TO_POINTER (0x01CB), "/Nj" },
2363 - { GUINT_TO_POINTER (0x040A), "/Njecyrillic" },
2364 - { GUINT_TO_POINTER (0x1E48), "/Nlinebelow" },
2365 - { GUINT_TO_POINTER (0xFF2E), "/Nmonospace" },
2366 - { GUINT_TO_POINTER (0x0546), "/Nowarmenian" },
2367 - { GUINT_TO_POINTER (0xF76E), "/Nsmall" },
2368 - { GUINT_TO_POINTER (0x00D1), "/Ntilde" },
2369 - { GUINT_TO_POINTER (0xF7F1), "/Ntildesmall" },
2370 - { GUINT_TO_POINTER (0x039D), "/Nu" },
2371 - { GUINT_TO_POINTER (0x004F), "/O" },
2372 - { GUINT_TO_POINTER (0x0152), "/OE" },
2373 - { GUINT_TO_POINTER (0xF6FA), "/OEsmall" },
2374 - { GUINT_TO_POINTER (0x00D3), "/Oacute" },
2375 - { GUINT_TO_POINTER (0xF7F3), "/Oacutesmall" },
2376 - { GUINT_TO_POINTER (0x04E8), "/Obarredcyrillic" },
2377 - { GUINT_TO_POINTER (0x04EA), "/Obarreddieresiscyrillic" },
2378 - { GUINT_TO_POINTER (0x014E), "/Obreve" },
2379 - { GUINT_TO_POINTER (0x01D1), "/Ocaron" },
2380 - { GUINT_TO_POINTER (0x019F), "/Ocenteredtilde" },
2381 - { GUINT_TO_POINTER (0x24C4), "/Ocircle" },
2382 - { GUINT_TO_POINTER (0x00D4), "/Ocircumflex" },
2383 - { GUINT_TO_POINTER (0x1ED0), "/Ocircumflexacute" },
2384 - { GUINT_TO_POINTER (0x1ED8), "/Ocircumflexdotbelow" },
2385 - { GUINT_TO_POINTER (0x1ED2), "/Ocircumflexgrave" },
2386 - { GUINT_TO_POINTER (0x1ED4), "/Ocircumflexhookabove" },
2387 - { GUINT_TO_POINTER (0xF7F4), "/Ocircumflexsmall" },
2388 - { GUINT_TO_POINTER (0x1ED6), "/Ocircumflextilde" },
2389 - { GUINT_TO_POINTER (0x041E), "/Ocyrillic" },
2390 - { GUINT_TO_POINTER (0x0150), "/Odblacute" },
2391 - { GUINT_TO_POINTER (0x020C), "/Odblgrave" },
2392 - { GUINT_TO_POINTER (0x00D6), "/Odieresis" },
2393 - { GUINT_TO_POINTER (0x04E6), "/Odieresiscyrillic" },
2394 - { GUINT_TO_POINTER (0xF7F6), "/Odieresissmall" },
2395 - { GUINT_TO_POINTER (0x1ECC), "/Odotbelow" },
2396 - { GUINT_TO_POINTER (0xF6FB), "/Ogoneksmall" },
2397 - { GUINT_TO_POINTER (0x00D2), "/Ograve" },
2398 - { GUINT_TO_POINTER (0xF7F2), "/Ogravesmall" },
2399 - { GUINT_TO_POINTER (0x0555), "/Oharmenian" },
2400 - { GUINT_TO_POINTER (0x2126), "/Ohm" },
2401 - { GUINT_TO_POINTER (0x1ECE), "/Ohookabove" },
2402 - { GUINT_TO_POINTER (0x01A0), "/Ohorn" },
2403 - { GUINT_TO_POINTER (0x1EDA), "/Ohornacute" },
2404 - { GUINT_TO_POINTER (0x1EE2), "/Ohorndotbelow" },
2405 - { GUINT_TO_POINTER (0x1EDC), "/Ohorngrave" },
2406 - { GUINT_TO_POINTER (0x1EDE), "/Ohornhookabove" },
2407 - { GUINT_TO_POINTER (0x1EE0), "/Ohorntilde" },
2408 - { GUINT_TO_POINTER (0x0150), "/Ohungarumlaut" },
2409 - { GUINT_TO_POINTER (0x01A2), "/Oi" },
2410 - { GUINT_TO_POINTER (0x020E), "/Oinvertedbreve" },
2411 - { GUINT_TO_POINTER (0x014C), "/Omacron" },
2412 - { GUINT_TO_POINTER (0x1E52), "/Omacronacute" },
2413 - { GUINT_TO_POINTER (0x1E50), "/Omacrongrave" },
2414 - { GUINT_TO_POINTER (0x2126), "/Omega" },
2415 - { GUINT_TO_POINTER (0x0460), "/Omegacyrillic" },
2416 - { GUINT_TO_POINTER (0x03A9), "/Omegagreek" },
2417 - { GUINT_TO_POINTER (0x047A), "/Omegaroundcyrillic" },
2418 - { GUINT_TO_POINTER (0x047C), "/Omegatitlocyrillic" },
2419 - { GUINT_TO_POINTER (0x038F), "/Omegatonos" },
2420 - { GUINT_TO_POINTER (0x039F), "/Omicron" },
2421 - { GUINT_TO_POINTER (0x038C), "/Omicrontonos" },
2422 - { GUINT_TO_POINTER (0xFF2F), "/Omonospace" },
2423 - { GUINT_TO_POINTER (0x2160), "/Oneroman" },
2424 - { GUINT_TO_POINTER (0x01EA), "/Oogonek" },
2425 - { GUINT_TO_POINTER (0x01EC), "/Oogonekmacron" },
2426 - { GUINT_TO_POINTER (0x0186), "/Oopen" },
2427 - { GUINT_TO_POINTER (0x00D8), "/Oslash" },
2428 - { GUINT_TO_POINTER (0x01FE), "/Oslashacute" },
2429 - { GUINT_TO_POINTER (0xF7F8), "/Oslashsmall" },
2430 - { GUINT_TO_POINTER (0xF76F), "/Osmall" },
2431 - { GUINT_TO_POINTER (0x01FE), "/Ostrokeacute" },
2432 - { GUINT_TO_POINTER (0x047E), "/Otcyrillic" },
2433 - { GUINT_TO_POINTER (0x00D5), "/Otilde" },
2434 - { GUINT_TO_POINTER (0x1E4C), "/Otildeacute" },
2435 - { GUINT_TO_POINTER (0x1E4E), "/Otildedieresis" },
2436 - { GUINT_TO_POINTER (0xF7F5), "/Otildesmall" },
2437 - { GUINT_TO_POINTER (0x0050), "/P" },
2438 - { GUINT_TO_POINTER (0x1E54), "/Pacute" },
2439 - { GUINT_TO_POINTER (0x24C5), "/Pcircle" },
2440 - { GUINT_TO_POINTER (0x1E56), "/Pdotaccent" },
2441 - { GUINT_TO_POINTER (0x041F), "/Pecyrillic" },
2442 - { GUINT_TO_POINTER (0x054A), "/Peharmenian" },
2443 - { GUINT_TO_POINTER (0x04A6), "/Pemiddlehookcyrillic" },
2444 - { GUINT_TO_POINTER (0x03A6), "/Phi" },
2445 - { GUINT_TO_POINTER (0x01A4), "/Phook" },
2446 - { GUINT_TO_POINTER (0x03A0), "/Pi" },
2447 - { GUINT_TO_POINTER (0x0553), "/Piwrarmenian" },
2448 - { GUINT_TO_POINTER (0xFF30), "/Pmonospace" },
2449 - { GUINT_TO_POINTER (0x03A8), "/Psi" },
2450 - { GUINT_TO_POINTER (0x0470), "/Psicyrillic" },
2451 - { GUINT_TO_POINTER (0xF770), "/Psmall" },
2452 - { GUINT_TO_POINTER (0x0051), "/Q" },
2453 - { GUINT_TO_POINTER (0x24C6), "/Qcircle" },
2454 - { GUINT_TO_POINTER (0xFF31), "/Qmonospace" },
2455 - { GUINT_TO_POINTER (0xF771), "/Qsmall" },
2456 - { GUINT_TO_POINTER (0x0052), "/R" },
2457 - { GUINT_TO_POINTER (0x054C), "/Raarmenian" },
2458 - { GUINT_TO_POINTER (0x0154), "/Racute" },
2459 - { GUINT_TO_POINTER (0x0158), "/Rcaron" },
2460 - { GUINT_TO_POINTER (0x0156), "/Rcedilla" },
2461 - { GUINT_TO_POINTER (0x24C7), "/Rcircle" },
2462 - { GUINT_TO_POINTER (0x0156), "/Rcommaaccent" },
2463 - { GUINT_TO_POINTER (0x0210), "/Rdblgrave" },
2464 - { GUINT_TO_POINTER (0x1E58), "/Rdotaccent" },
2465 - { GUINT_TO_POINTER (0x1E5A), "/Rdotbelow" },
2466 - { GUINT_TO_POINTER (0x1E5C), "/Rdotbelowmacron" },
2467 - { GUINT_TO_POINTER (0x0550), "/Reharmenian" },
2468 - { GUINT_TO_POINTER (0x211C), "/Rfraktur" },
2469 - { GUINT_TO_POINTER (0x03A1), "/Rho" },
2470 - { GUINT_TO_POINTER (0xF6FC), "/Ringsmall" },
2471 - { GUINT_TO_POINTER (0x0212), "/Rinvertedbreve" },
2472 - { GUINT_TO_POINTER (0x1E5E), "/Rlinebelow" },
2473 - { GUINT_TO_POINTER (0xFF32), "/Rmonospace" },
2474 - { GUINT_TO_POINTER (0xF772), "/Rsmall" },
2475 - { GUINT_TO_POINTER (0x0281), "/Rsmallinverted" },
2476 - { GUINT_TO_POINTER (0x02B6), "/Rsmallinvertedsuperior" },
2477 - { GUINT_TO_POINTER (0x0053), "/S" },
2478 - { GUINT_TO_POINTER (0x250C), "/SF010000" },
2479 - { GUINT_TO_POINTER (0x2514), "/SF020000" },
2480 - { GUINT_TO_POINTER (0x2510), "/SF030000" },
2481 - { GUINT_TO_POINTER (0x2518), "/SF040000" },
2482 - { GUINT_TO_POINTER (0x253C), "/SF050000" },
2483 - { GUINT_TO_POINTER (0x252C), "/SF060000" },
2484 - { GUINT_TO_POINTER (0x2534), "/SF070000" },
2485 - { GUINT_TO_POINTER (0x251C), "/SF080000" },
2486 - { GUINT_TO_POINTER (0x2524), "/SF090000" },
2487 - { GUINT_TO_POINTER (0x2500), "/SF100000" },
2488 - { GUINT_TO_POINTER (0x2502), "/SF110000" },
2489 - { GUINT_TO_POINTER (0x2561), "/SF190000" },
2490 - { GUINT_TO_POINTER (0x2562), "/SF200000" },
2491 - { GUINT_TO_POINTER (0x2556), "/SF210000" },
2492 - { GUINT_TO_POINTER (0x2555), "/SF220000" },
2493 - { GUINT_TO_POINTER (0x2563), "/SF230000" },
2494 - { GUINT_TO_POINTER (0x2551), "/SF240000" },
2495 - { GUINT_TO_POINTER (0x2557), "/SF250000" },
2496 - { GUINT_TO_POINTER (0x255D), "/SF260000" },
2497 - { GUINT_TO_POINTER (0x255C), "/SF270000" },
2498 - { GUINT_TO_POINTER (0x255B), "/SF280000" },
2499 - { GUINT_TO_POINTER (0x255E), "/SF360000" },
2500 - { GUINT_TO_POINTER (0x255F), "/SF370000" },
2501 - { GUINT_TO_POINTER (0x255A), "/SF380000" },
2502 - { GUINT_TO_POINTER (0x2554), "/SF390000" },
2503 - { GUINT_TO_POINTER (0x2569), "/SF400000" },
2504 - { GUINT_TO_POINTER (0x2566), "/SF410000" },
2505 - { GUINT_TO_POINTER (0x2560), "/SF420000" },
2506 - { GUINT_TO_POINTER (0x2550), "/SF430000" },
2507 - { GUINT_TO_POINTER (0x256C), "/SF440000" },
2508 - { GUINT_TO_POINTER (0x2567), "/SF450000" },
2509 - { GUINT_TO_POINTER (0x2568), "/SF460000" },
2510 - { GUINT_TO_POINTER (0x2564), "/SF470000" },
2511 - { GUINT_TO_POINTER (0x2565), "/SF480000" },
2512 - { GUINT_TO_POINTER (0x2559), "/SF490000" },
2513 - { GUINT_TO_POINTER (0x2558), "/SF500000" },
2514 - { GUINT_TO_POINTER (0x2552), "/SF510000" },
2515 - { GUINT_TO_POINTER (0x2553), "/SF520000" },
2516 - { GUINT_TO_POINTER (0x256B), "/SF530000" },
2517 - { GUINT_TO_POINTER (0x256A), "/SF540000" },
2518 - { GUINT_TO_POINTER (0x015A), "/Sacute" },
2519 - { GUINT_TO_POINTER (0x1E64), "/Sacutedotaccent" },
2520 - { GUINT_TO_POINTER (0x03E0), "/Sampigreek" },
2521 - { GUINT_TO_POINTER (0x0160), "/Scaron" },
2522 - { GUINT_TO_POINTER (0x1E66), "/Scarondotaccent" },
2523 - { GUINT_TO_POINTER (0xF6FD), "/Scaronsmall" },
2524 - { GUINT_TO_POINTER (0x015E), "/Scedilla" },
2525 - { GUINT_TO_POINTER (0x018F), "/Schwa" },
2526 - { GUINT_TO_POINTER (0x04D8), "/Schwacyrillic" },
2527 - { GUINT_TO_POINTER (0x04DA), "/Schwadieresiscyrillic" },
2528 - { GUINT_TO_POINTER (0x24C8), "/Scircle" },
2529 - { GUINT_TO_POINTER (0x015C), "/Scircumflex" },
2530 - { GUINT_TO_POINTER (0x0218), "/Scommaaccent" },
2531 - { GUINT_TO_POINTER (0x1E60), "/Sdotaccent" },
2532 - { GUINT_TO_POINTER (0x1E62), "/Sdotbelow" },
2533 - { GUINT_TO_POINTER (0x1E68), "/Sdotbelowdotaccent" },
2534 - { GUINT_TO_POINTER (0x054D), "/Seharmenian" },
2535 - { GUINT_TO_POINTER (0x2166), "/Sevenroman" },
2536 - { GUINT_TO_POINTER (0x0547), "/Shaarmenian" },
2537 - { GUINT_TO_POINTER (0x0428), "/Shacyrillic" },
2538 - { GUINT_TO_POINTER (0x0429), "/Shchacyrillic" },
2539 - { GUINT_TO_POINTER (0x03E2), "/Sheicoptic" },
2540 - { GUINT_TO_POINTER (0x04BA), "/Shhacyrillic" },
2541 - { GUINT_TO_POINTER (0x03EC), "/Shimacoptic" },
2542 - { GUINT_TO_POINTER (0x03A3), "/Sigma" },
2543 - { GUINT_TO_POINTER (0x2165), "/Sixroman" },
2544 - { GUINT_TO_POINTER (0xFF33), "/Smonospace" },
2545 - { GUINT_TO_POINTER (0x042C), "/Softsigncyrillic" },
2546 - { GUINT_TO_POINTER (0xF773), "/Ssmall" },
2547 - { GUINT_TO_POINTER (0x03DA), "/Stigmagreek" },
2548 - { GUINT_TO_POINTER (0x0054), "/T" },
2549 - { GUINT_TO_POINTER (0x03A4), "/Tau" },
2550 - { GUINT_TO_POINTER (0x0166), "/Tbar" },
2551 - { GUINT_TO_POINTER (0x0164), "/Tcaron" },
2552 - { GUINT_TO_POINTER (0x0162), "/Tcedilla" },
2553 - { GUINT_TO_POINTER (0x24C9), "/Tcircle" },
2554 - { GUINT_TO_POINTER (0x1E70), "/Tcircumflexbelow" },
2555 - { GUINT_TO_POINTER (0x0162), "/Tcommaaccent" },
2556 - { GUINT_TO_POINTER (0x1E6A), "/Tdotaccent" },
2557 - { GUINT_TO_POINTER (0x1E6C), "/Tdotbelow" },
2558 - { GUINT_TO_POINTER (0x0422), "/Tecyrillic" },
2559 - { GUINT_TO_POINTER (0x04AC), "/Tedescendercyrillic" },
2560 - { GUINT_TO_POINTER (0x2169), "/Tenroman" },
2561 - { GUINT_TO_POINTER (0x04B4), "/Tetsecyrillic" },
2562 - { GUINT_TO_POINTER (0x0398), "/Theta" },
2563 - { GUINT_TO_POINTER (0x01AC), "/Thook" },
2564 - { GUINT_TO_POINTER (0x00DE), "/Thorn" },
2565 - { GUINT_TO_POINTER (0xF7FE), "/Thornsmall" },
2566 - { GUINT_TO_POINTER (0x2162), "/Threeroman" },
2567 - { GUINT_TO_POINTER (0xF6FE), "/Tildesmall" },
2568 - { GUINT_TO_POINTER (0x054F), "/Tiwnarmenian" },
2569 - { GUINT_TO_POINTER (0x1E6E), "/Tlinebelow" },
2570 - { GUINT_TO_POINTER (0xFF34), "/Tmonospace" },
2571 - { GUINT_TO_POINTER (0x0539), "/Toarmenian" },
2572 - { GUINT_TO_POINTER (0x01BC), "/Tonefive" },
2573 - { GUINT_TO_POINTER (0x0184), "/Tonesix" },
2574 - { GUINT_TO_POINTER (0x01A7), "/Tonetwo" },
2575 - { GUINT_TO_POINTER (0x01AE), "/Tretroflexhook" },
2576 - { GUINT_TO_POINTER (0x0426), "/Tsecyrillic" },
2577 - { GUINT_TO_POINTER (0x040B), "/Tshecyrillic" },
2578 - { GUINT_TO_POINTER (0xF774), "/Tsmall" },
2579 - { GUINT_TO_POINTER (0x216B), "/Twelveroman" },
2580 - { GUINT_TO_POINTER (0x2161), "/Tworoman" },
2581 - { GUINT_TO_POINTER (0x0055), "/U" },
2582 - { GUINT_TO_POINTER (0x00DA), "/Uacute" },
2583 - { GUINT_TO_POINTER (0xF7FA), "/Uacutesmall" },
2584 - { GUINT_TO_POINTER (0x016C), "/Ubreve" },
2585 - { GUINT_TO_POINTER (0x01D3), "/Ucaron" },
2586 - { GUINT_TO_POINTER (0x24CA), "/Ucircle" },
2587 - { GUINT_TO_POINTER (0x00DB), "/Ucircumflex" },
2588 - { GUINT_TO_POINTER (0x1E76), "/Ucircumflexbelow" },
2589 - { GUINT_TO_POINTER (0xF7FB), "/Ucircumflexsmall" },
2590 - { GUINT_TO_POINTER (0x0423), "/Ucyrillic" },
2591 - { GUINT_TO_POINTER (0x0170), "/Udblacute" },
2592 - { GUINT_TO_POINTER (0x0214), "/Udblgrave" },
2593 - { GUINT_TO_POINTER (0x00DC), "/Udieresis" },
2594 - { GUINT_TO_POINTER (0x01D7), "/Udieresisacute" },
2595 - { GUINT_TO_POINTER (0x1E72), "/Udieresisbelow" },
2596 - { GUINT_TO_POINTER (0x01D9), "/Udieresiscaron" },
2597 - { GUINT_TO_POINTER (0x04F0), "/Udieresiscyrillic" },
2598 - { GUINT_TO_POINTER (0x01DB), "/Udieresisgrave" },
2599 - { GUINT_TO_POINTER (0x01D5), "/Udieresismacron" },
2600 - { GUINT_TO_POINTER (0xF7FC), "/Udieresissmall" },
2601 - { GUINT_TO_POINTER (0x1EE4), "/Udotbelow" },
2602 - { GUINT_TO_POINTER (0x00D9), "/Ugrave" },
2603 - { GUINT_TO_POINTER (0xF7F9), "/Ugravesmall" },
2604 - { GUINT_TO_POINTER (0x1EE6), "/Uhookabove" },
2605 - { GUINT_TO_POINTER (0x01AF), "/Uhorn" },
2606 - { GUINT_TO_POINTER (0x1EE8), "/Uhornacute" },
2607 - { GUINT_TO_POINTER (0x1EF0), "/Uhorndotbelow" },
2608 - { GUINT_TO_POINTER (0x1EEA), "/Uhorngrave" },
2609 - { GUINT_TO_POINTER (0x1EEC), "/Uhornhookabove" },
2610 - { GUINT_TO_POINTER (0x1EEE), "/Uhorntilde" },
2611 - { GUINT_TO_POINTER (0x0170), "/Uhungarumlaut" },
2612 - { GUINT_TO_POINTER (0x04F2), "/Uhungarumlautcyrillic" },
2613 - { GUINT_TO_POINTER (0x0216), "/Uinvertedbreve" },
2614 - { GUINT_TO_POINTER (0x0478), "/Ukcyrillic" },
2615 - { GUINT_TO_POINTER (0x016A), "/Umacron" },
2616 - { GUINT_TO_POINTER (0x04EE), "/Umacroncyrillic" },
2617 - { GUINT_TO_POINTER (0x1E7A), "/Umacrondieresis" },
2618 - { GUINT_TO_POINTER (0xFF35), "/Umonospace" },
2619 - { GUINT_TO_POINTER (0x0172), "/Uogonek" },
2620 - { GUINT_TO_POINTER (0x03A5), "/Upsilon" },
2621 - { GUINT_TO_POINTER (0x03D2), "/Upsilon1" },
2622 - { GUINT_TO_POINTER (0x03D3), "/Upsilonacutehooksymbolgreek" },
2623 - { GUINT_TO_POINTER (0x01B1), "/Upsilonafrican" },
2624 - { GUINT_TO_POINTER (0x03AB), "/Upsilondieresis" },
2625 - { GUINT_TO_POINTER (0x03D4), "/Upsilondieresishooksymbolgreek" },
2626 - { GUINT_TO_POINTER (0x03D2), "/Upsilonhooksymbol" },
2627 - { GUINT_TO_POINTER (0x038E), "/Upsilontonos" },
2628 - { GUINT_TO_POINTER (0x016E), "/Uring" },
2629 - { GUINT_TO_POINTER (0x040E), "/Ushortcyrillic" },
2630 - { GUINT_TO_POINTER (0xF775), "/Usmall" },
2631 - { GUINT_TO_POINTER (0x04AE), "/Ustraightcyrillic" },
2632 - { GUINT_TO_POINTER (0x04B0), "/Ustraightstrokecyrillic" },
2633 - { GUINT_TO_POINTER (0x0168), "/Utilde" },
2634 - { GUINT_TO_POINTER (0x1E78), "/Utildeacute" },
2635 - { GUINT_TO_POINTER (0x1E74), "/Utildebelow" },
2636 - { GUINT_TO_POINTER (0x0056), "/V" },
2637 - { GUINT_TO_POINTER (0x24CB), "/Vcircle" },
2638 - { GUINT_TO_POINTER (0x1E7E), "/Vdotbelow" },
2639 - { GUINT_TO_POINTER (0x0412), "/Vecyrillic" },
2640 - { GUINT_TO_POINTER (0x054E), "/Vewarmenian" },
2641 - { GUINT_TO_POINTER (0x01B2), "/Vhook" },
2642 - { GUINT_TO_POINTER (0xFF36), "/Vmonospace" },
2643 - { GUINT_TO_POINTER (0x0548), "/Voarmenian" },
2644 - { GUINT_TO_POINTER (0xF776), "/Vsmall" },
2645 - { GUINT_TO_POINTER (0x1E7C), "/Vtilde" },
2646 - { GUINT_TO_POINTER (0x0057), "/W" },
2647 - { GUINT_TO_POINTER (0x1E82), "/Wacute" },
2648 - { GUINT_TO_POINTER (0x24CC), "/Wcircle" },
2649 - { GUINT_TO_POINTER (0x0174), "/Wcircumflex" },
2650 - { GUINT_TO_POINTER (0x1E84), "/Wdieresis" },
2651 - { GUINT_TO_POINTER (0x1E86), "/Wdotaccent" },
2652 - { GUINT_TO_POINTER (0x1E88), "/Wdotbelow" },
2653 - { GUINT_TO_POINTER (0x1E80), "/Wgrave" },
2654 - { GUINT_TO_POINTER (0xFF37), "/Wmonospace" },
2655 - { GUINT_TO_POINTER (0xF777), "/Wsmall" },
2656 - { GUINT_TO_POINTER (0x0058), "/X" },
2657 - { GUINT_TO_POINTER (0x24CD), "/Xcircle" },
2658 - { GUINT_TO_POINTER (0x1E8C), "/Xdieresis" },
2659 - { GUINT_TO_POINTER (0x1E8A), "/Xdotaccent" },
2660 - { GUINT_TO_POINTER (0x053D), "/Xeharmenian" },
2661 - { GUINT_TO_POINTER (0x039E), "/Xi" },
2662 - { GUINT_TO_POINTER (0xFF38), "/Xmonospace" },
2663 - { GUINT_TO_POINTER (0xF778), "/Xsmall" },
2664 - { GUINT_TO_POINTER (0x0059), "/Y" },
2665 - { GUINT_TO_POINTER (0x00DD), "/Yacute" },
2666 - { GUINT_TO_POINTER (0xF7FD), "/Yacutesmall" },
2667 - { GUINT_TO_POINTER (0x0462), "/Yatcyrillic" },
2668 - { GUINT_TO_POINTER (0x24CE), "/Ycircle" },
2669 - { GUINT_TO_POINTER (0x0176), "/Ycircumflex" },
2670 - { GUINT_TO_POINTER (0x0178), "/Ydieresis" },
2671 - { GUINT_TO_POINTER (0xF7FF), "/Ydieresissmall" },
2672 - { GUINT_TO_POINTER (0x1E8E), "/Ydotaccent" },
2673 - { GUINT_TO_POINTER (0x1EF4), "/Ydotbelow" },
2674 - { GUINT_TO_POINTER (0x042B), "/Yericyrillic" },
2675 - { GUINT_TO_POINTER (0x04F8), "/Yerudieresiscyrillic" },
2676 - { GUINT_TO_POINTER (0x1EF2), "/Ygrave" },
2677 - { GUINT_TO_POINTER (0x01B3), "/Yhook" },
2678 - { GUINT_TO_POINTER (0x1EF6), "/Yhookabove" },
2679 - { GUINT_TO_POINTER (0x0545), "/Yiarmenian" },
2680 - { GUINT_TO_POINTER (0x0407), "/Yicyrillic" },
2681 - { GUINT_TO_POINTER (0x0552), "/Yiwnarmenian" },
2682 - { GUINT_TO_POINTER (0xFF39), "/Ymonospace" },
2683 - { GUINT_TO_POINTER (0xF779), "/Ysmall" },
2684 - { GUINT_TO_POINTER (0x1EF8), "/Ytilde" },
2685 - { GUINT_TO_POINTER (0x046A), "/Yusbigcyrillic" },
2686 - { GUINT_TO_POINTER (0x046C), "/Yusbigiotifiedcyrillic" },
2687 - { GUINT_TO_POINTER (0x0466), "/Yuslittlecyrillic" },
2688 - { GUINT_TO_POINTER (0x0468), "/Yuslittleiotifiedcyrillic" },
2689 - { GUINT_TO_POINTER (0x005A), "/Z" },
2690 - { GUINT_TO_POINTER (0x0536), "/Zaarmenian" },
2691 - { GUINT_TO_POINTER (0x0179), "/Zacute" },
2692 - { GUINT_TO_POINTER (0x017D), "/Zcaron" },
2693 - { GUINT_TO_POINTER (0xF6FF), "/Zcaronsmall" },
2694 - { GUINT_TO_POINTER (0x24CF), "/Zcircle" },
2695 - { GUINT_TO_POINTER (0x1E90), "/Zcircumflex" },
2696 - { GUINT_TO_POINTER (0x017B), "/Zdot" },
2697 - { GUINT_TO_POINTER (0x017B), "/Zdotaccent" },
2698 - { GUINT_TO_POINTER (0x1E92), "/Zdotbelow" },
2699 - { GUINT_TO_POINTER (0x0417), "/Zecyrillic" },
2700 - { GUINT_TO_POINTER (0x0498), "/Zedescendercyrillic" },
2701 - { GUINT_TO_POINTER (0x04DE), "/Zedieresiscyrillic" },
2702 - { GUINT_TO_POINTER (0x0396), "/Zeta" },
2703 - { GUINT_TO_POINTER (0x053A), "/Zhearmenian" },
2704 - { GUINT_TO_POINTER (0x04C1), "/Zhebrevecyrillic" },
2705 - { GUINT_TO_POINTER (0x0416), "/Zhecyrillic" },
2706 - { GUINT_TO_POINTER (0x0496), "/Zhedescendercyrillic" },
2707 - { GUINT_TO_POINTER (0x04DC), "/Zhedieresiscyrillic" },
2708 - { GUINT_TO_POINTER (0x1E94), "/Zlinebelow" },
2709 - { GUINT_TO_POINTER (0xFF3A), "/Zmonospace" },
2710 - { GUINT_TO_POINTER (0xF77A), "/Zsmall" },
2711 - { GUINT_TO_POINTER (0x01B5), "/Zstroke" },
2712 - { GUINT_TO_POINTER (0x0061), "/a" },
2713 - { GUINT_TO_POINTER (0x0986), "/aabengali" },
2714 - { GUINT_TO_POINTER (0x00E1), "/aacute" },
2715 - { GUINT_TO_POINTER (0x0906), "/aadeva" },
2716 - { GUINT_TO_POINTER (0x0A86), "/aagujarati" },
2717 - { GUINT_TO_POINTER (0x0A06), "/aagurmukhi" },
2718 - { GUINT_TO_POINTER (0x0A3E), "/aamatragurmukhi" },
2719 - { GUINT_TO_POINTER (0x3303), "/aarusquare" },
2720 - { GUINT_TO_POINTER (0x09BE), "/aavowelsignbengali" },
2721 - { GUINT_TO_POINTER (0x093E), "/aavowelsigndeva" },
2722 - { GUINT_TO_POINTER (0x0ABE), "/aavowelsigngujarati" },
2723 - { GUINT_TO_POINTER (0x055F), "/abbreviationmarkarmenian" },
2724 - { GUINT_TO_POINTER (0x0970), "/abbreviationsigndeva" },
2725 - { GUINT_TO_POINTER (0x0985), "/abengali" },
2726 - { GUINT_TO_POINTER (0x311A), "/abopomofo" },
2727 - { GUINT_TO_POINTER (0x0103), "/abreve" },
2728 - { GUINT_TO_POINTER (0x1EAF), "/abreveacute" },
2729 - { GUINT_TO_POINTER (0x04D1), "/abrevecyrillic" },
2730 - { GUINT_TO_POINTER (0x1EB7), "/abrevedotbelow" },
2731 - { GUINT_TO_POINTER (0x1EB1), "/abrevegrave" },
2732 - { GUINT_TO_POINTER (0x1EB3), "/abrevehookabove" },
2733 - { GUINT_TO_POINTER (0x1EB5), "/abrevetilde" },
2734 - { GUINT_TO_POINTER (0x01CE), "/acaron" },
2735 - { GUINT_TO_POINTER (0x24D0), "/acircle" },
2736 - { GUINT_TO_POINTER (0x00E2), "/acircumflex" },
2737 - { GUINT_TO_POINTER (0x1EA5), "/acircumflexacute" },
2738 - { GUINT_TO_POINTER (0x1EAD), "/acircumflexdotbelow" },
2739 - { GUINT_TO_POINTER (0x1EA7), "/acircumflexgrave" },
2740 - { GUINT_TO_POINTER (0x1EA9), "/acircumflexhookabove" },
2741 - { GUINT_TO_POINTER (0x1EAB), "/acircumflextilde" },
2742 - { GUINT_TO_POINTER (0x00B4), "/acute" },
2743 - { GUINT_TO_POINTER (0x0317), "/acutebelowcmb" },
2744 - { GUINT_TO_POINTER (0x0301), "/acutecmb" },
2745 - { GUINT_TO_POINTER (0x0301), "/acutecomb" },
2746 - { GUINT_TO_POINTER (0x0954), "/acutedeva" },
2747 - { GUINT_TO_POINTER (0x02CF), "/acutelowmod" },
2748 - { GUINT_TO_POINTER (0x0341), "/acutetonecmb" },
2749 - { GUINT_TO_POINTER (0x0430), "/acyrillic" },
2750 - { GUINT_TO_POINTER (0x0201), "/adblgrave" },
2751 - { GUINT_TO_POINTER (0x0A71), "/addakgurmukhi" },
2752 - { GUINT_TO_POINTER (0x0905), "/adeva" },
2753 - { GUINT_TO_POINTER (0x00E4), "/adieresis" },
2754 - { GUINT_TO_POINTER (0x04D3), "/adieresiscyrillic" },
2755 - { GUINT_TO_POINTER (0x01DF), "/adieresismacron" },
2756 - { GUINT_TO_POINTER (0x1EA1), "/adotbelow" },
2757 - { GUINT_TO_POINTER (0x01E1), "/adotmacron" },
2758 - { GUINT_TO_POINTER (0x00E6), "/ae" },
2759 - { GUINT_TO_POINTER (0x01FD), "/aeacute" },
2760 - { GUINT_TO_POINTER (0x3150), "/aekorean" },
2761 - { GUINT_TO_POINTER (0x01E3), "/aemacron" },
2762 - { GUINT_TO_POINTER (0x2015), "/afii00208" },
2763 - { GUINT_TO_POINTER (0x20A4), "/afii08941" },
2764 - { GUINT_TO_POINTER (0x0410), "/afii10017" },
2765 - { GUINT_TO_POINTER (0x0411), "/afii10018" },
2766 - { GUINT_TO_POINTER (0x0412), "/afii10019" },
2767 - { GUINT_TO_POINTER (0x0413), "/afii10020" },
2768 - { GUINT_TO_POINTER (0x0414), "/afii10021" },
2769 - { GUINT_TO_POINTER (0x0415), "/afii10022" },
2770 - { GUINT_TO_POINTER (0x0401), "/afii10023" },
2771 - { GUINT_TO_POINTER (0x0416), "/afii10024" },
2772 - { GUINT_TO_POINTER (0x0417), "/afii10025" },
2773 - { GUINT_TO_POINTER (0x0418), "/afii10026" },
2774 - { GUINT_TO_POINTER (0x0419), "/afii10027" },
2775 - { GUINT_TO_POINTER (0x041A), "/afii10028" },
2776 - { GUINT_TO_POINTER (0x041B), "/afii10029" },
2777 - { GUINT_TO_POINTER (0x041C), "/afii10030" },
2778 - { GUINT_TO_POINTER (0x041D), "/afii10031" },
2779 - { GUINT_TO_POINTER (0x041E), "/afii10032" },
2780 - { GUINT_TO_POINTER (0x041F), "/afii10033" },
2781 - { GUINT_TO_POINTER (0x0420), "/afii10034" },
2782 - { GUINT_TO_POINTER (0x0421), "/afii10035" },
2783 - { GUINT_TO_POINTER (0x0422), "/afii10036" },
2784 - { GUINT_TO_POINTER (0x0423), "/afii10037" },
2785 - { GUINT_TO_POINTER (0x0424), "/afii10038" },
2786 - { GUINT_TO_POINTER (0x0425), "/afii10039" },
2787 - { GUINT_TO_POINTER (0x0426), "/afii10040" },
2788 - { GUINT_TO_POINTER (0x0427), "/afii10041" },
2789 - { GUINT_TO_POINTER (0x0428), "/afii10042" },
2790 - { GUINT_TO_POINTER (0x0429), "/afii10043" },
2791 - { GUINT_TO_POINTER (0x042A), "/afii10044" },
2792 - { GUINT_TO_POINTER (0x042B), "/afii10045" },
2793 - { GUINT_TO_POINTER (0x042C), "/afii10046" },
2794 - { GUINT_TO_POINTER (0x042D), "/afii10047" },
2795 - { GUINT_TO_POINTER (0x042E), "/afii10048" },
2796 - { GUINT_TO_POINTER (0x042F), "/afii10049" },
2797 - { GUINT_TO_POINTER (0x0490), "/afii10050" },
2798 - { GUINT_TO_POINTER (0x0402), "/afii10051" },
2799 - { GUINT_TO_POINTER (0x0403), "/afii10052" },
2800 - { GUINT_TO_POINTER (0x0404), "/afii10053" },
2801 - { GUINT_TO_POINTER (0x0405), "/afii10054" },
2802 - { GUINT_TO_POINTER (0x0406), "/afii10055" },
2803 - { GUINT_TO_POINTER (0x0407), "/afii10056" },
2804 - { GUINT_TO_POINTER (0x0408), "/afii10057" },
2805 - { GUINT_TO_POINTER (0x0409), "/afii10058" },
2806 - { GUINT_TO_POINTER (0x040A), "/afii10059" },
2807 - { GUINT_TO_POINTER (0x040B), "/afii10060" },
2808 - { GUINT_TO_POINTER (0x040C), "/afii10061" },
2809 - { GUINT_TO_POINTER (0x040E), "/afii10062" },
2810 - { GUINT_TO_POINTER (0xF6C4), "/afii10063" },
2811 - { GUINT_TO_POINTER (0xF6C5), "/afii10064" },
2812 - { GUINT_TO_POINTER (0x0430), "/afii10065" },
2813 - { GUINT_TO_POINTER (0x0431), "/afii10066" },
2814 - { GUINT_TO_POINTER (0x0432), "/afii10067" },
2815 - { GUINT_TO_POINTER (0x0433), "/afii10068" },
2816 - { GUINT_TO_POINTER (0x0434), "/afii10069" },
2817 - { GUINT_TO_POINTER (0x0435), "/afii10070" },
2818 - { GUINT_TO_POINTER (0x0451), "/afii10071" },
2819 - { GUINT_TO_POINTER (0x0436), "/afii10072" },
2820 - { GUINT_TO_POINTER (0x0437), "/afii10073" },
2821 - { GUINT_TO_POINTER (0x0438), "/afii10074" },
2822 - { GUINT_TO_POINTER (0x0439), "/afii10075" },
2823 - { GUINT_TO_POINTER (0x043A), "/afii10076" },
2824 - { GUINT_TO_POINTER (0x043B), "/afii10077" },
2825 - { GUINT_TO_POINTER (0x043C), "/afii10078" },
2826 - { GUINT_TO_POINTER (0x043D), "/afii10079" },
2827 - { GUINT_TO_POINTER (0x043E), "/afii10080" },
2828 - { GUINT_TO_POINTER (0x043F), "/afii10081" },
2829 - { GUINT_TO_POINTER (0x0440), "/afii10082" },
2830 - { GUINT_TO_POINTER (0x0441), "/afii10083" },
2831 - { GUINT_TO_POINTER (0x0442), "/afii10084" },
2832 - { GUINT_TO_POINTER (0x0443), "/afii10085" },
2833 - { GUINT_TO_POINTER (0x0444), "/afii10086" },
2834 - { GUINT_TO_POINTER (0x0445), "/afii10087" },
2835 - { GUINT_TO_POINTER (0x0446), "/afii10088" },
2836 - { GUINT_TO_POINTER (0x0447), "/afii10089" },
2837 - { GUINT_TO_POINTER (0x0448), "/afii10090" },
2838 - { GUINT_TO_POINTER (0x0449), "/afii10091" },
2839 - { GUINT_TO_POINTER (0x044A), "/afii10092" },
2840 - { GUINT_TO_POINTER (0x044B), "/afii10093" },
2841 - { GUINT_TO_POINTER (0x044C), "/afii10094" },
2842 - { GUINT_TO_POINTER (0x044D), "/afii10095" },
2843 - { GUINT_TO_POINTER (0x044E), "/afii10096" },
2844 - { GUINT_TO_POINTER (0x044F), "/afii10097" },
2845 - { GUINT_TO_POINTER (0x0491), "/afii10098" },
2846 - { GUINT_TO_POINTER (0x0452), "/afii10099" },
2847 - { GUINT_TO_POINTER (0x0453), "/afii10100" },
2848 - { GUINT_TO_POINTER (0x0454), "/afii10101" },
2849 - { GUINT_TO_POINTER (0x0455), "/afii10102" },
2850 - { GUINT_TO_POINTER (0x0456), "/afii10103" },
2851 - { GUINT_TO_POINTER (0x0457), "/afii10104" },
2852 - { GUINT_TO_POINTER (0x0458), "/afii10105" },
2853 - { GUINT_TO_POINTER (0x0459), "/afii10106" },
2854 - { GUINT_TO_POINTER (0x045A), "/afii10107" },
2855 - { GUINT_TO_POINTER (0x045B), "/afii10108" },
2856 - { GUINT_TO_POINTER (0x045C), "/afii10109" },
2857 - { GUINT_TO_POINTER (0x045E), "/afii10110" },
2858 - { GUINT_TO_POINTER (0x040F), "/afii10145" },
2859 - { GUINT_TO_POINTER (0x0462), "/afii10146" },
2860 - { GUINT_TO_POINTER (0x0472), "/afii10147" },
2861 - { GUINT_TO_POINTER (0x0474), "/afii10148" },
2862 - { GUINT_TO_POINTER (0xF6C6), "/afii10192" },
2863 - { GUINT_TO_POINTER (0x045F), "/afii10193" },
2864 - { GUINT_TO_POINTER (0x0463), "/afii10194" },
2865 - { GUINT_TO_POINTER (0x0473), "/afii10195" },
2866 - { GUINT_TO_POINTER (0x0475), "/afii10196" },
2867 - { GUINT_TO_POINTER (0xF6C7), "/afii10831" },
2868 - { GUINT_TO_POINTER (0xF6C8), "/afii10832" },
2869 - { GUINT_TO_POINTER (0x04D9), "/afii10846" },
2870 - { GUINT_TO_POINTER (0x200E), "/afii299" },
2871 - { GUINT_TO_POINTER (0x200F), "/afii300" },
2872 - { GUINT_TO_POINTER (0x200D), "/afii301" },
2873 - { GUINT_TO_POINTER (0x066A), "/afii57381" },
2874 - { GUINT_TO_POINTER (0x060C), "/afii57388" },
2875 - { GUINT_TO_POINTER (0x0660), "/afii57392" },
2876 - { GUINT_TO_POINTER (0x0661), "/afii57393" },
2877 - { GUINT_TO_POINTER (0x0662), "/afii57394" },
2878 - { GUINT_TO_POINTER (0x0663), "/afii57395" },
2879 - { GUINT_TO_POINTER (0x0664), "/afii57396" },
2880 - { GUINT_TO_POINTER (0x0665), "/afii57397" },
2881 - { GUINT_TO_POINTER (0x0666), "/afii57398" },
2882 - { GUINT_TO_POINTER (0x0667), "/afii57399" },
2883 - { GUINT_TO_POINTER (0x0668), "/afii57400" },
2884 - { GUINT_TO_POINTER (0x0669), "/afii57401" },
2885 - { GUINT_TO_POINTER (0x061B), "/afii57403" },
2886 - { GUINT_TO_POINTER (0x061F), "/afii57407" },
2887 - { GUINT_TO_POINTER (0x0621), "/afii57409" },
2888 - { GUINT_TO_POINTER (0x0622), "/afii57410" },
2889 - { GUINT_TO_POINTER (0x0623), "/afii57411" },
2890 - { GUINT_TO_POINTER (0x0624), "/afii57412" },
2891 - { GUINT_TO_POINTER (0x0625), "/afii57413" },
2892 - { GUINT_TO_POINTER (0x0626), "/afii57414" },
2893 - { GUINT_TO_POINTER (0x0627), "/afii57415" },
2894 - { GUINT_TO_POINTER (0x0628), "/afii57416" },
2895 - { GUINT_TO_POINTER (0x0629), "/afii57417" },
2896 - { GUINT_TO_POINTER (0x062A), "/afii57418" },
2897 - { GUINT_TO_POINTER (0x062B), "/afii57419" },
2898 - { GUINT_TO_POINTER (0x062C), "/afii57420" },
2899 - { GUINT_TO_POINTER (0x062D), "/afii57421" },
2900 - { GUINT_TO_POINTER (0x062E), "/afii57422" },
2901 - { GUINT_TO_POINTER (0x062F), "/afii57423" },
2902 - { GUINT_TO_POINTER (0x0630), "/afii57424" },
2903 - { GUINT_TO_POINTER (0x0631), "/afii57425" },
2904 - { GUINT_TO_POINTER (0x0632), "/afii57426" },
2905 - { GUINT_TO_POINTER (0x0633), "/afii57427" },
2906 - { GUINT_TO_POINTER (0x0634), "/afii57428" },
2907 - { GUINT_TO_POINTER (0x0635), "/afii57429" },
2908 - { GUINT_TO_POINTER (0x0636), "/afii57430" },
2909 - { GUINT_TO_POINTER (0x0637), "/afii57431" },
2910 - { GUINT_TO_POINTER (0x0638), "/afii57432" },
2911 - { GUINT_TO_POINTER (0x0639), "/afii57433" },
2912 - { GUINT_TO_POINTER (0x063A), "/afii57434" },
2913 - { GUINT_TO_POINTER (0x0640), "/afii57440" },
2914 - { GUINT_TO_POINTER (0x0641), "/afii57441" },
2915 - { GUINT_TO_POINTER (0x0642), "/afii57442" },
2916 - { GUINT_TO_POINTER (0x0643), "/afii57443" },
2917 - { GUINT_TO_POINTER (0x0644), "/afii57444" },
2918 - { GUINT_TO_POINTER (0x0645), "/afii57445" },
2919 - { GUINT_TO_POINTER (0x0646), "/afii57446" },
2920 - { GUINT_TO_POINTER (0x0648), "/afii57448" },
2921 - { GUINT_TO_POINTER (0x0649), "/afii57449" },
2922 - { GUINT_TO_POINTER (0x064A), "/afii57450" },
2923 - { GUINT_TO_POINTER (0x064B), "/afii57451" },
2924 - { GUINT_TO_POINTER (0x064C), "/afii57452" },
2925 - { GUINT_TO_POINTER (0x064D), "/afii57453" },
2926 - { GUINT_TO_POINTER (0x064E), "/afii57454" },
2927 - { GUINT_TO_POINTER (0x064F), "/afii57455" },
2928 - { GUINT_TO_POINTER (0x0650), "/afii57456" },
2929 - { GUINT_TO_POINTER (0x0651), "/afii57457" },
2930 - { GUINT_TO_POINTER (0x0652), "/afii57458" },
2931 - { GUINT_TO_POINTER (0x0647), "/afii57470" },
2932 - { GUINT_TO_POINTER (0x06A4), "/afii57505" },
2933 - { GUINT_TO_POINTER (0x067E), "/afii57506" },
2934 - { GUINT_TO_POINTER (0x0686), "/afii57507" },
2935 - { GUINT_TO_POINTER (0x0698), "/afii57508" },
2936 - { GUINT_TO_POINTER (0x06AF), "/afii57509" },
2937 - { GUINT_TO_POINTER (0x0679), "/afii57511" },
2938 - { GUINT_TO_POINTER (0x0688), "/afii57512" },
2939 - { GUINT_TO_POINTER (0x0691), "/afii57513" },
2940 - { GUINT_TO_POINTER (0x06BA), "/afii57514" },
2941 - { GUINT_TO_POINTER (0x06D2), "/afii57519" },
2942 - { GUINT_TO_POINTER (0x06D5), "/afii57534" },
2943 - { GUINT_TO_POINTER (0x20AA), "/afii57636" },
2944 - { GUINT_TO_POINTER (0x05BE), "/afii57645" },
2945 - { GUINT_TO_POINTER (0x05C3), "/afii57658" },
2946 - { GUINT_TO_POINTER (0x05D0), "/afii57664" },
2947 - { GUINT_TO_POINTER (0x05D1), "/afii57665" },
2948 - { GUINT_TO_POINTER (0x05D2), "/afii57666" },
2949 - { GUINT_TO_POINTER (0x05D3), "/afii57667" },
2950 - { GUINT_TO_POINTER (0x05D4), "/afii57668" },
2951 - { GUINT_TO_POINTER (0x05D5), "/afii57669" },
2952 - { GUINT_TO_POINTER (0x05D6), "/afii57670" },
2953 - { GUINT_TO_POINTER (0x05D7), "/afii57671" },
2954 - { GUINT_TO_POINTER (0x05D8), "/afii57672" },
2955 - { GUINT_TO_POINTER (0x05D9), "/afii57673" },
2956 - { GUINT_TO_POINTER (0x05DA), "/afii57674" },
2957 - { GUINT_TO_POINTER (0x05DB), "/afii57675" },
2958 - { GUINT_TO_POINTER (0x05DC), "/afii57676" },
2959 - { GUINT_TO_POINTER (0x05DD), "/afii57677" },
2960 - { GUINT_TO_POINTER (0x05DE), "/afii57678" },
2961 - { GUINT_TO_POINTER (0x05DF), "/afii57679" },
2962 - { GUINT_TO_POINTER (0x05E0), "/afii57680" },
2963 - { GUINT_TO_POINTER (0x05E1), "/afii57681" },
2964 - { GUINT_TO_POINTER (0x05E2), "/afii57682" },
2965 - { GUINT_TO_POINTER (0x05E3), "/afii57683" },
2966 - { GUINT_TO_POINTER (0x05E4), "/afii57684" },
2967 - { GUINT_TO_POINTER (0x05E5), "/afii57685" },
2968 - { GUINT_TO_POINTER (0x05E6), "/afii57686" },
2969 - { GUINT_TO_POINTER (0x05E7), "/afii57687" },
2970 - { GUINT_TO_POINTER (0x05E8), "/afii57688" },
2971 - { GUINT_TO_POINTER (0x05E9), "/afii57689" },
2972 - { GUINT_TO_POINTER (0x05EA), "/afii57690" },
2973 - { GUINT_TO_POINTER (0xFB2A), "/afii57694" },
2974 - { GUINT_TO_POINTER (0xFB2B), "/afii57695" },
2975 - { GUINT_TO_POINTER (0xFB4B), "/afii57700" },
2976 - { GUINT_TO_POINTER (0xFB1F), "/afii57705" },
2977 - { GUINT_TO_POINTER (0x05F0), "/afii57716" },
2978 - { GUINT_TO_POINTER (0x05F1), "/afii57717" },
2979 - { GUINT_TO_POINTER (0x05F2), "/afii57718" },
2980 - { GUINT_TO_POINTER (0xFB35), "/afii57723" },
2981 - { GUINT_TO_POINTER (0x05B4), "/afii57793" },
2982 - { GUINT_TO_POINTER (0x05B5), "/afii57794" },
2983 - { GUINT_TO_POINTER (0x05B6), "/afii57795" },
2984 - { GUINT_TO_POINTER (0x05BB), "/afii57796" },
2985 - { GUINT_TO_POINTER (0x05B8), "/afii57797" },
2986 - { GUINT_TO_POINTER (0x05B7), "/afii57798" },
2987 - { GUINT_TO_POINTER (0x05B0), "/afii57799" },
2988 - { GUINT_TO_POINTER (0x05B2), "/afii57800" },
2989 - { GUINT_TO_POINTER (0x05B1), "/afii57801" },
2990 - { GUINT_TO_POINTER (0x05B3), "/afii57802" },
2991 - { GUINT_TO_POINTER (0x05C2), "/afii57803" },
2992 - { GUINT_TO_POINTER (0x05C1), "/afii57804" },
2993 - { GUINT_TO_POINTER (0x05B9), "/afii57806" },
2994 - { GUINT_TO_POINTER (0x05BC), "/afii57807" },
2995 - { GUINT_TO_POINTER (0x05BD), "/afii57839" },
2996 - { GUINT_TO_POINTER (0x05BF), "/afii57841" },
2997 - { GUINT_TO_POINTER (0x05C0), "/afii57842" },
2998 - { GUINT_TO_POINTER (0x02BC), "/afii57929" },
2999 - { GUINT_TO_POINTER (0x2105), "/afii61248" },
3000 - { GUINT_TO_POINTER (0x2113), "/afii61289" },
3001 - { GUINT_TO_POINTER (0x2116), "/afii61352" },
3002 - { GUINT_TO_POINTER (0x202C), "/afii61573" },
3003 - { GUINT_TO_POINTER (0x202D), "/afii61574" },
3004 - { GUINT_TO_POINTER (0x202E), "/afii61575" },
3005 - { GUINT_TO_POINTER (0x200C), "/afii61664" },
3006 - { GUINT_TO_POINTER (0x066D), "/afii63167" },
3007 - { GUINT_TO_POINTER (0x02BD), "/afii64937" },
3008 - { GUINT_TO_POINTER (0x00E0), "/agrave" },
3009 - { GUINT_TO_POINTER (0x0A85), "/agujarati" },
3010 - { GUINT_TO_POINTER (0x0A05), "/agurmukhi" },
3011 - { GUINT_TO_POINTER (0x3042), "/ahiragana" },
3012 - { GUINT_TO_POINTER (0x1EA3), "/ahookabove" },
3013 - { GUINT_TO_POINTER (0x0990), "/aibengali" },
3014 - { GUINT_TO_POINTER (0x311E), "/aibopomofo" },
3015 - { GUINT_TO_POINTER (0x0910), "/aideva" },
3016 - { GUINT_TO_POINTER (0x04D5), "/aiecyrillic" },
3017 - { GUINT_TO_POINTER (0x0A90), "/aigujarati" },
3018 - { GUINT_TO_POINTER (0x0A10), "/aigurmukhi" },
3019 - { GUINT_TO_POINTER (0x0A48), "/aimatragurmukhi" },
3020 - { GUINT_TO_POINTER (0x0639), "/ainarabic" },
3021 - { GUINT_TO_POINTER (0xFECA), "/ainfinalarabic" },
3022 - { GUINT_TO_POINTER (0xFECB), "/aininitialarabic" },
3023 - { GUINT_TO_POINTER (0xFECC), "/ainmedialarabic" },
3024 - { GUINT_TO_POINTER (0x0203), "/ainvertedbreve" },
3025 - { GUINT_TO_POINTER (0x09C8), "/aivowelsignbengali" },
3026 - { GUINT_TO_POINTER (0x0948), "/aivowelsigndeva" },
3027 - { GUINT_TO_POINTER (0x0AC8), "/aivowelsigngujarati" },
3028 - { GUINT_TO_POINTER (0x30A2), "/akatakana" },
3029 - { GUINT_TO_POINTER (0xFF71), "/akatakanahalfwidth" },
3030 - { GUINT_TO_POINTER (0x314F), "/akorean" },
3031 - { GUINT_TO_POINTER (0x05D0), "/alef" },
3032 - { GUINT_TO_POINTER (0x0627), "/alefarabic" },
3033 - { GUINT_TO_POINTER (0xFB30), "/alefdageshhebrew" },
3034 - { GUINT_TO_POINTER (0xFE8E), "/aleffinalarabic" },
3035 - { GUINT_TO_POINTER (0x0623), "/alefhamzaabovearabic" },
3036 - { GUINT_TO_POINTER (0xFE84), "/alefhamzaabovefinalarabic" },
3037 - { GUINT_TO_POINTER (0x0625), "/alefhamzabelowarabic" },
3038 - { GUINT_TO_POINTER (0xFE88), "/alefhamzabelowfinalarabic" },
3039 - { GUINT_TO_POINTER (0x05D0), "/alefhebrew" },
3040 - { GUINT_TO_POINTER (0xFB4F), "/aleflamedhebrew" },
3041 - { GUINT_TO_POINTER (0x0622), "/alefmaddaabovearabic" },
3042 - { GUINT_TO_POINTER (0xFE82), "/alefmaddaabovefinalarabic" },
3043 - { GUINT_TO_POINTER (0x0649), "/alefmaksuraarabic" },
3044 - { GUINT_TO_POINTER (0xFEF0), "/alefmaksurafinalarabic" },
3045 - { GUINT_TO_POINTER (0xFEF3), "/alefmaksurainitialarabic" },
3046 - { GUINT_TO_POINTER (0xFEF4), "/alefmaksuramedialarabic" },
3047 - { GUINT_TO_POINTER (0xFB2E), "/alefpatahhebrew" },
3048 - { GUINT_TO_POINTER (0xFB2F), "/alefqamatshebrew" },
3049 - { GUINT_TO_POINTER (0x2135), "/aleph" },
3050 - { GUINT_TO_POINTER (0x224C), "/allequal" },
3051 - { GUINT_TO_POINTER (0x03B1), "/alpha" },
3052 - { GUINT_TO_POINTER (0x03AC), "/alphatonos" },
3053 - { GUINT_TO_POINTER (0x0101), "/amacron" },
3054 - { GUINT_TO_POINTER (0xFF41), "/amonospace" },
3055 - { GUINT_TO_POINTER (0x0026), "/ampersand" },
3056 - { GUINT_TO_POINTER (0xFF06), "/ampersandmonospace" },
3057 - { GUINT_TO_POINTER (0xF726), "/ampersandsmall" },
3058 - { GUINT_TO_POINTER (0x33C2), "/amsquare" },
3059 - { GUINT_TO_POINTER (0x3122), "/anbopomofo" },
3060 - { GUINT_TO_POINTER (0x3124), "/angbopomofo" },
3061 - { GUINT_TO_POINTER (0x0E5A), "/angkhankhuthai" },
3062 - { GUINT_TO_POINTER (0x2220), "/angle" },
3063 - { GUINT_TO_POINTER (0x3008), "/anglebracketleft" },
3064 - { GUINT_TO_POINTER (0xFE3F), "/anglebracketleftvertical" },
3065 - { GUINT_TO_POINTER (0x3009), "/anglebracketright" },
3066 - { GUINT_TO_POINTER (0xFE40), "/anglebracketrightvertical" },
3067 - { GUINT_TO_POINTER (0x2329), "/angleleft" },
3068 - { GUINT_TO_POINTER (0x232A), "/angleright" },
3069 - { GUINT_TO_POINTER (0x212B), "/angstrom" },
3070 - { GUINT_TO_POINTER (0x0387), "/anoteleia" },
3071 - { GUINT_TO_POINTER (0x0952), "/anudattadeva" },
3072 - { GUINT_TO_POINTER (0x0982), "/anusvarabengali" },
3073 - { GUINT_TO_POINTER (0x0902), "/anusvaradeva" },
3074 - { GUINT_TO_POINTER (0x0A82), "/anusvaragujarati" },
3075 - { GUINT_TO_POINTER (0x0105), "/aogonek" },
3076 - { GUINT_TO_POINTER (0x3300), "/apaatosquare" },
3077 - { GUINT_TO_POINTER (0x249C), "/aparen" },
3078 - { GUINT_TO_POINTER (0x055A), "/apostrophearmenian" },
3079 - { GUINT_TO_POINTER (0x02BC), "/apostrophemod" },
3080 - { GUINT_TO_POINTER (0xF8FF), "/apple" },
3081 - { GUINT_TO_POINTER (0x2250), "/approaches" },
3082 - { GUINT_TO_POINTER (0x2248), "/approxequal" },
3083 - { GUINT_TO_POINTER (0x2252), "/approxequalorimage" },
3084 - { GUINT_TO_POINTER (0x2245), "/approximatelyequal" },
3085 - { GUINT_TO_POINTER (0x318E), "/araeaekorean" },
3086 - { GUINT_TO_POINTER (0x318D), "/araeakorean" },
3087 - { GUINT_TO_POINTER (0x2312), "/arc" },
3088 - { GUINT_TO_POINTER (0x1E9A), "/arighthalfring" },
3089 - { GUINT_TO_POINTER (0x00E5), "/aring" },
3090 - { GUINT_TO_POINTER (0x01FB), "/aringacute" },
3091 - { GUINT_TO_POINTER (0x1E01), "/aringbelow" },
3092 - { GUINT_TO_POINTER (0x2194), "/arrowboth" },
3093 - { GUINT_TO_POINTER (0x21E3), "/arrowdashdown" },
3094 - { GUINT_TO_POINTER (0x21E0), "/arrowdashleft" },
3095 - { GUINT_TO_POINTER (0x21E2), "/arrowdashright" },
3096 - { GUINT_TO_POINTER (0x21E1), "/arrowdashup" },
3097 - { GUINT_TO_POINTER (0x21D4), "/arrowdblboth" },
3098 - { GUINT_TO_POINTER (0x21D3), "/arrowdbldown" },
3099 - { GUINT_TO_POINTER (0x21D0), "/arrowdblleft" },
3100 - { GUINT_TO_POINTER (0x21D2), "/arrowdblright" },
3101 - { GUINT_TO_POINTER (0x21D1), "/arrowdblup" },
3102 - { GUINT_TO_POINTER (0x2193), "/arrowdown" },
3103 - { GUINT_TO_POINTER (0x2199), "/arrowdownleft" },
3104 - { GUINT_TO_POINTER (0x2198), "/arrowdownright" },
3105 - { GUINT_TO_POINTER (0x21E9), "/arrowdownwhite" },
3106 - { GUINT_TO_POINTER (0x02C5), "/arrowheaddownmod" },
3107 - { GUINT_TO_POINTER (0x02C2), "/arrowheadleftmod" },
3108 - { GUINT_TO_POINTER (0x02C3), "/arrowheadrightmod" },
3109 - { GUINT_TO_POINTER (0x02C4), "/arrowheadupmod" },
3110 - { GUINT_TO_POINTER (0xF8E7), "/arrowhorizex" },
3111 - { GUINT_TO_POINTER (0x2190), "/arrowleft" },
3112 - { GUINT_TO_POINTER (0x21D0), "/arrowleftdbl" },
3113 - { GUINT_TO_POINTER (0x21CD), "/arrowleftdblstroke" },
3114 - { GUINT_TO_POINTER (0x21C6), "/arrowleftoverright" },
3115 - { GUINT_TO_POINTER (0x21E6), "/arrowleftwhite" },
3116 - { GUINT_TO_POINTER (0x2192), "/arrowright" },
3117 - { GUINT_TO_POINTER (0x21CF), "/arrowrightdblstroke" },
3118 - { GUINT_TO_POINTER (0x279E), "/arrowrightheavy" },
3119 - { GUINT_TO_POINTER (0x21C4), "/arrowrightoverleft" },
3120 - { GUINT_TO_POINTER (0x21E8), "/arrowrightwhite" },
3121 - { GUINT_TO_POINTER (0x21E4), "/arrowtableft" },
3122 - { GUINT_TO_POINTER (0x21E5), "/arrowtabright" },
3123 - { GUINT_TO_POINTER (0x2191), "/arrowup" },
3124 - { GUINT_TO_POINTER (0x2195), "/arrowupdn" },
3125 - { GUINT_TO_POINTER (0x21A8), "/arrowupdnbse" },
3126 - { GUINT_TO_POINTER (0x21A8), "/arrowupdownbase" },
3127 - { GUINT_TO_POINTER (0x2196), "/arrowupleft" },
3128 - { GUINT_TO_POINTER (0x21C5), "/arrowupleftofdown" },
3129 - { GUINT_TO_POINTER (0x2197), "/arrowupright" },
3130 - { GUINT_TO_POINTER (0x21E7), "/arrowupwhite" },
3131 - { GUINT_TO_POINTER (0xF8E6), "/arrowvertex" },
3132 - { GUINT_TO_POINTER (0x005E), "/asciicircum" },
3133 - { GUINT_TO_POINTER (0xFF3E), "/asciicircummonospace" },
3134 - { GUINT_TO_POINTER (0x007E), "/asciitilde" },
3135 - { GUINT_TO_POINTER (0xFF5E), "/asciitildemonospace" },
3136 - { GUINT_TO_POINTER (0x0251), "/ascript" },
3137 - { GUINT_TO_POINTER (0x0252), "/ascriptturned" },
3138 - { GUINT_TO_POINTER (0x3041), "/asmallhiragana" },
3139 - { GUINT_TO_POINTER (0x30A1), "/asmallkatakana" },
3140 - { GUINT_TO_POINTER (0xFF67), "/asmallkatakanahalfwidth" },
3141 - { GUINT_TO_POINTER (0x002A), "/asterisk" },
3142 - { GUINT_TO_POINTER (0x066D), "/asteriskaltonearabic" },
3143 - { GUINT_TO_POINTER (0x066D), "/asteriskarabic" },
3144 - { GUINT_TO_POINTER (0x2217), "/asteriskmath" },
3145 - { GUINT_TO_POINTER (0xFF0A), "/asteriskmonospace" },
3146 - { GUINT_TO_POINTER (0xFE61), "/asterisksmall" },
3147 - { GUINT_TO_POINTER (0x2042), "/asterism" },
3148 - { GUINT_TO_POINTER (0xF6E9), "/asuperior" },
3149 - { GUINT_TO_POINTER (0x2243), "/asymptoticallyequal" },
3150 - { GUINT_TO_POINTER (0x0040), "/at" },
3151 - { GUINT_TO_POINTER (0x00E3), "/atilde" },
3152 - { GUINT_TO_POINTER (0xFF20), "/atmonospace" },
3153 - { GUINT_TO_POINTER (0xFE6B), "/atsmall" },
3154 - { GUINT_TO_POINTER (0x0250), "/aturned" },
3155 - { GUINT_TO_POINTER (0x0994), "/aubengali" },
3156 - { GUINT_TO_POINTER (0x3120), "/aubopomofo" },
3157 - { GUINT_TO_POINTER (0x0914), "/audeva" },
3158 - { GUINT_TO_POINTER (0x0A94), "/augujarati" },
3159 - { GUINT_TO_POINTER (0x0A14), "/augurmukhi" },
3160 - { GUINT_TO_POINTER (0x09D7), "/aulengthmarkbengali" },
3161 - { GUINT_TO_POINTER (0x0A4C), "/aumatragurmukhi" },
3162 - { GUINT_TO_POINTER (0x09CC), "/auvowelsignbengali" },
3163 - { GUINT_TO_POINTER (0x094C), "/auvowelsigndeva" },
3164 - { GUINT_TO_POINTER (0x0ACC), "/auvowelsigngujarati" },
3165 - { GUINT_TO_POINTER (0x093D), "/avagrahadeva" },
3166 - { GUINT_TO_POINTER (0x0561), "/aybarmenian" },
3167 - { GUINT_TO_POINTER (0x05E2), "/ayin" },
3168 - { GUINT_TO_POINTER (0xFB20), "/ayinaltonehebrew" },
3169 - { GUINT_TO_POINTER (0x05E2), "/ayinhebrew" },
3170 - { GUINT_TO_POINTER (0x0062), "/b" },
3171 - { GUINT_TO_POINTER (0x09AC), "/babengali" },
3172 - { GUINT_TO_POINTER (0x005C), "/backslash" },
3173 - { GUINT_TO_POINTER (0xFF3C), "/backslashmonospace" },
3174 - { GUINT_TO_POINTER (0x092C), "/badeva" },
3175 - { GUINT_TO_POINTER (0x0AAC), "/bagujarati" },
3176 - { GUINT_TO_POINTER (0x0A2C), "/bagurmukhi" },
3177 - { GUINT_TO_POINTER (0x3070), "/bahiragana" },
3178 - { GUINT_TO_POINTER (0x0E3F), "/bahtthai" },
3179 - { GUINT_TO_POINTER (0x30D0), "/bakatakana" },
3180 - { GUINT_TO_POINTER (0x007C), "/bar" },
3181 - { GUINT_TO_POINTER (0xFF5C), "/barmonospace" },
3182 - { GUINT_TO_POINTER (0x3105), "/bbopomofo" },
3183 - { GUINT_TO_POINTER (0x24D1), "/bcircle" },
3184 - { GUINT_TO_POINTER (0x1E03), "/bdotaccent" },
3185 - { GUINT_TO_POINTER (0x1E05), "/bdotbelow" },
3186 - { GUINT_TO_POINTER (0x266C), "/beamedsixteenthnotes" },
3187 - { GUINT_TO_POINTER (0x2235), "/because" },
3188 - { GUINT_TO_POINTER (0x0431), "/becyrillic" },
3189 - { GUINT_TO_POINTER (0x0628), "/beharabic" },
3190 - { GUINT_TO_POINTER (0xFE90), "/behfinalarabic" },
3191 - { GUINT_TO_POINTER (0xFE91), "/behinitialarabic" },
3192 - { GUINT_TO_POINTER (0x3079), "/behiragana" },
3193 - { GUINT_TO_POINTER (0xFE92), "/behmedialarabic" },
3194 - { GUINT_TO_POINTER (0xFC9F), "/behmeeminitialarabic" },
3195 - { GUINT_TO_POINTER (0xFC08), "/behmeemisolatedarabic" },
3196 - { GUINT_TO_POINTER (0xFC6D), "/behnoonfinalarabic" },
3197 - { GUINT_TO_POINTER (0x30D9), "/bekatakana" },
3198 - { GUINT_TO_POINTER (0x0562), "/benarmenian" },
3199 - { GUINT_TO_POINTER (0x05D1), "/bet" },
3200 - { GUINT_TO_POINTER (0x03B2), "/beta" },
3201 - { GUINT_TO_POINTER (0x03D0), "/betasymbolgreek" },
3202 - { GUINT_TO_POINTER (0xFB31), "/betdagesh" },
3203 - { GUINT_TO_POINTER (0xFB31), "/betdageshhebrew" },
3204 - { GUINT_TO_POINTER (0x05D1), "/bethebrew" },
3205 - { GUINT_TO_POINTER (0xFB4C), "/betrafehebrew" },
3206 - { GUINT_TO_POINTER (0x09AD), "/bhabengali" },
3207 - { GUINT_TO_POINTER (0x092D), "/bhadeva" },
3208 - { GUINT_TO_POINTER (0x0AAD), "/bhagujarati" },
3209 - { GUINT_TO_POINTER (0x0A2D), "/bhagurmukhi" },
3210 - { GUINT_TO_POINTER (0x0253), "/bhook" },
3211 - { GUINT_TO_POINTER (0x3073), "/bihiragana" },
3212 - { GUINT_TO_POINTER (0x30D3), "/bikatakana" },
3213 - { GUINT_TO_POINTER (0x0298), "/bilabialclick" },
3214 - { GUINT_TO_POINTER (0x0A02), "/bindigurmukhi" },
3215 - { GUINT_TO_POINTER (0x3331), "/birusquare" },
3216 - { GUINT_TO_POINTER (0x25CF), "/blackcircle" },
3217 - { GUINT_TO_POINTER (0x25C6), "/blackdiamond" },
3218 - { GUINT_TO_POINTER (0x25BC), "/blackdownpointingtriangle" },
3219 - { GUINT_TO_POINTER (0x25C4), "/blackleftpointingpointer" },
3220 - { GUINT_TO_POINTER (0x25C0), "/blackleftpointingtriangle" },
3221 - { GUINT_TO_POINTER (0x3010), "/blacklenticularbracketleft" },
3222 - { GUINT_TO_POINTER (0xFE3B), "/blacklenticularbracketleftvertical" },
3223 - { GUINT_TO_POINTER (0x3011), "/blacklenticularbracketright" },
3224 - { GUINT_TO_POINTER (0xFE3C), "/blacklenticularbracketrightvertical" },
3225 - { GUINT_TO_POINTER (0x25E3), "/blacklowerlefttriangle" },
3226 - { GUINT_TO_POINTER (0x25E2), "/blacklowerrighttriangle" },
3227 - { GUINT_TO_POINTER (0x25AC), "/blackrectangle" },
3228 - { GUINT_TO_POINTER (0x25BA), "/blackrightpointingpointer" },
3229 - { GUINT_TO_POINTER (0x25B6), "/blackrightpointingtriangle" },
3230 - { GUINT_TO_POINTER (0x25AA), "/blacksmallsquare" },
3231 - { GUINT_TO_POINTER (0x263B), "/blacksmilingface" },
3232 - { GUINT_TO_POINTER (0x25A0), "/blacksquare" },
3233 - { GUINT_TO_POINTER (0x2605), "/blackstar" },
3234 - { GUINT_TO_POINTER (0x25E4), "/blackupperlefttriangle" },
3235 - { GUINT_TO_POINTER (0x25E5), "/blackupperrighttriangle" },
3236 - { GUINT_TO_POINTER (0x25B4), "/blackuppointingsmalltriangle" },
3237 - { GUINT_TO_POINTER (0x25B2), "/blackuppointingtriangle" },
3238 - { GUINT_TO_POINTER (0x2423), "/blank" },
3239 - { GUINT_TO_POINTER (0x1E07), "/blinebelow" },
3240 - { GUINT_TO_POINTER (0x2588), "/block" },
3241 - { GUINT_TO_POINTER (0xFF42), "/bmonospace" },
3242 - { GUINT_TO_POINTER (0x0E1A), "/bobaimaithai" },
3243 - { GUINT_TO_POINTER (0x307C), "/bohiragana" },
3244 - { GUINT_TO_POINTER (0x30DC), "/bokatakana" },
3245 - { GUINT_TO_POINTER (0x249D), "/bparen" },
3246 - { GUINT_TO_POINTER (0x33C3), "/bqsquare" },
3247 - { GUINT_TO_POINTER (0xF8F4), "/braceex" },
3248 - { GUINT_TO_POINTER (0x007B), "/braceleft" },
3249 - { GUINT_TO_POINTER (0xF8F3), "/braceleftbt" },
3250 - { GUINT_TO_POINTER (0xF8F2), "/braceleftmid" },
3251 - { GUINT_TO_POINTER (0xFF5B), "/braceleftmonospace" },
3252 - { GUINT_TO_POINTER (0xFE5B), "/braceleftsmall" },
3253 - { GUINT_TO_POINTER (0xF8F1), "/bracelefttp" },
3254 - { GUINT_TO_POINTER (0xFE37), "/braceleftvertical" },
3255 - { GUINT_TO_POINTER (0x007D), "/braceright" },
3256 - { GUINT_TO_POINTER (0xF8FE), "/bracerightbt" },
3257 - { GUINT_TO_POINTER (0xF8FD), "/bracerightmid" },
3258 - { GUINT_TO_POINTER (0xFF5D), "/bracerightmonospace" },
3259 - { GUINT_TO_POINTER (0xFE5C), "/bracerightsmall" },
3260 - { GUINT_TO_POINTER (0xF8FC), "/bracerighttp" },
3261 - { GUINT_TO_POINTER (0xFE38), "/bracerightvertical" },
3262 - { GUINT_TO_POINTER (0x005B), "/bracketleft" },
3263 - { GUINT_TO_POINTER (0xF8F0), "/bracketleftbt" },
3264 - { GUINT_TO_POINTER (0xF8EF), "/bracketleftex" },
3265 - { GUINT_TO_POINTER (0xFF3B), "/bracketleftmonospace" },
3266 - { GUINT_TO_POINTER (0xF8EE), "/bracketlefttp" },
3267 - { GUINT_TO_POINTER (0x005D), "/bracketright" },
3268 - { GUINT_TO_POINTER (0xF8FB), "/bracketrightbt" },
3269 - { GUINT_TO_POINTER (0xF8FA), "/bracketrightex" },
3270 - { GUINT_TO_POINTER (0xFF3D), "/bracketrightmonospace" },
3271 - { GUINT_TO_POINTER (0xF8F9), "/bracketrighttp" },
3272 - { GUINT_TO_POINTER (0x02D8), "/breve" },
3273 - { GUINT_TO_POINTER (0x032E), "/brevebelowcmb" },
3274 - { GUINT_TO_POINTER (0x0306), "/brevecmb" },
3275 - { GUINT_TO_POINTER (0x032F), "/breveinvertedbelowcmb" },
3276 - { GUINT_TO_POINTER (0x0311), "/breveinvertedcmb" },
3277 - { GUINT_TO_POINTER (0x0361), "/breveinverteddoublecmb" },
3278 - { GUINT_TO_POINTER (0x032A), "/bridgebelowcmb" },
3279 - { GUINT_TO_POINTER (0x033A), "/bridgeinvertedbelowcmb" },
3280 - { GUINT_TO_POINTER (0x00A6), "/brokenbar" },
3281 - { GUINT_TO_POINTER (0x0180), "/bstroke" },
3282 - { GUINT_TO_POINTER (0xF6EA), "/bsuperior" },
3283 - { GUINT_TO_POINTER (0x0183), "/btopbar" },
3284 - { GUINT_TO_POINTER (0x3076), "/buhiragana" },
3285 - { GUINT_TO_POINTER (0x30D6), "/bukatakana" },
3286 - { GUINT_TO_POINTER (0x2022), "/bullet" },
3287 - { GUINT_TO_POINTER (0x25D8), "/bulletinverse" },
3288 - { GUINT_TO_POINTER (0x2219), "/bulletoperator" },
3289 - { GUINT_TO_POINTER (0x25CE), "/bullseye" },
3290 - { GUINT_TO_POINTER (0x0063), "/c" },
3291 - { GUINT_TO_POINTER (0x056E), "/caarmenian" },
3292 - { GUINT_TO_POINTER (0x099A), "/cabengali" },
3293 - { GUINT_TO_POINTER (0x0107), "/cacute" },
3294 - { GUINT_TO_POINTER (0x091A), "/cadeva" },
3295 - { GUINT_TO_POINTER (0x0A9A), "/cagujarati" },
3296 - { GUINT_TO_POINTER (0x0A1A), "/cagurmukhi" },
3297 - { GUINT_TO_POINTER (0x3388), "/calsquare" },
3298 - { GUINT_TO_POINTER (0x0981), "/candrabindubengali" },
3299 - { GUINT_TO_POINTER (0x0310), "/candrabinducmb" },
3300 - { GUINT_TO_POINTER (0x0901), "/candrabindudeva" },
3301 - { GUINT_TO_POINTER (0x0A81), "/candrabindugujarati" },
3302 - { GUINT_TO_POINTER (0x21EA), "/capslock" },
3303 - { GUINT_TO_POINTER (0x2105), "/careof" },
3304 - { GUINT_TO_POINTER (0x02C7), "/caron" },
3305 - { GUINT_TO_POINTER (0x032C), "/caronbelowcmb" },
3306 - { GUINT_TO_POINTER (0x030C), "/caroncmb" },
3307 - { GUINT_TO_POINTER (0x21B5), "/carriagereturn" },
3308 - { GUINT_TO_POINTER (0x3118), "/cbopomofo" },
3309 - { GUINT_TO_POINTER (0x010D), "/ccaron" },
3310 - { GUINT_TO_POINTER (0x00E7), "/ccedilla" },
3311 - { GUINT_TO_POINTER (0x1E09), "/ccedillaacute" },
3312 - { GUINT_TO_POINTER (0x24D2), "/ccircle" },
3313 - { GUINT_TO_POINTER (0x0109), "/ccircumflex" },
3314 - { GUINT_TO_POINTER (0x0255), "/ccurl" },
3315 - { GUINT_TO_POINTER (0x010B), "/cdot" },
3316 - { GUINT_TO_POINTER (0x010B), "/cdotaccent" },
3317 - { GUINT_TO_POINTER (0x33C5), "/cdsquare" },
3318 - { GUINT_TO_POINTER (0x00B8), "/cedilla" },
3319 - { GUINT_TO_POINTER (0x0327), "/cedillacmb" },
3320 - { GUINT_TO_POINTER (0x00A2), "/cent" },
3321 - { GUINT_TO_POINTER (0x2103), "/centigrade" },
3322 - { GUINT_TO_POINTER (0xF6DF), "/centinferior" },
3323 - { GUINT_TO_POINTER (0xFFE0), "/centmonospace" },
3324 - { GUINT_TO_POINTER (0xF7A2), "/centoldstyle" },
3325 - { GUINT_TO_POINTER (0xF6E0), "/centsuperior" },
3326 - { GUINT_TO_POINTER (0x0579), "/chaarmenian" },
3327 - { GUINT_TO_POINTER (0x099B), "/chabengali" },
3328 - { GUINT_TO_POINTER (0x091B), "/chadeva" },
3329 - { GUINT_TO_POINTER (0x0A9B), "/chagujarati" },
3330 - { GUINT_TO_POINTER (0x0A1B), "/chagurmukhi" },
3331 - { GUINT_TO_POINTER (0x3114), "/chbopomofo" },
3332 - { GUINT_TO_POINTER (0x04BD), "/cheabkhasiancyrillic" },
3333 - { GUINT_TO_POINTER (0x2713), "/checkmark" },
3334 - { GUINT_TO_POINTER (0x0447), "/checyrillic" },
3335 - { GUINT_TO_POINTER (0x04BF), "/chedescenderabkhasiancyrillic" },
3336 - { GUINT_TO_POINTER (0x04B7), "/chedescendercyrillic" },
3337 - { GUINT_TO_POINTER (0x04F5), "/chedieresiscyrillic" },
3338 - { GUINT_TO_POINTER (0x0573), "/cheharmenian" },
3339 - { GUINT_TO_POINTER (0x04CC), "/chekhakassiancyrillic" },
3340 - { GUINT_TO_POINTER (0x04B9), "/cheverticalstrokecyrillic" },
3341 - { GUINT_TO_POINTER (0x03C7), "/chi" },
3342 - { GUINT_TO_POINTER (0x3277), "/chieuchacirclekorean" },
3343 - { GUINT_TO_POINTER (0x3217), "/chieuchaparenkorean" },
3344 - { GUINT_TO_POINTER (0x3269), "/chieuchcirclekorean" },
3345 - { GUINT_TO_POINTER (0x314A), "/chieuchkorean" },
3346 - { GUINT_TO_POINTER (0x3209), "/chieuchparenkorean" },
3347 - { GUINT_TO_POINTER (0x0E0A), "/chochangthai" },
3348 - { GUINT_TO_POINTER (0x0E08), "/chochanthai" },
3349 - { GUINT_TO_POINTER (0x0E09), "/chochingthai" },
3350 - { GUINT_TO_POINTER (0x0E0C), "/chochoethai" },
3351 - { GUINT_TO_POINTER (0x0188), "/chook" },
3352 - { GUINT_TO_POINTER (0x3276), "/cieucacirclekorean" },
3353 - { GUINT_TO_POINTER (0x3216), "/cieucaparenkorean" },
3354 - { GUINT_TO_POINTER (0x3268), "/cieuccirclekorean" },
3355 - { GUINT_TO_POINTER (0x3148), "/cieuckorean" },
3356 - { GUINT_TO_POINTER (0x3208), "/cieucparenkorean" },
3357 - { GUINT_TO_POINTER (0x321C), "/cieucuparenkorean" },
3358 - { GUINT_TO_POINTER (0x25CB), "/circle" },
3359 - { GUINT_TO_POINTER (0x2297), "/circlemultiply" },
3360 - { GUINT_TO_POINTER (0x2299), "/circleot" },
3361 - { GUINT_TO_POINTER (0x2295), "/circleplus" },
3362 - { GUINT_TO_POINTER (0x3036), "/circlepostalmark" },
3363 - { GUINT_TO_POINTER (0x25D0), "/circlewithlefthalfblack" },
3364 - { GUINT_TO_POINTER (0x25D1), "/circlewithrighthalfblack" },
3365 - { GUINT_TO_POINTER (0x02C6), "/circumflex" },
3366 - { GUINT_TO_POINTER (0x032D), "/circumflexbelowcmb" },
3367 - { GUINT_TO_POINTER (0x0302), "/circumflexcmb" },
3368 - { GUINT_TO_POINTER (0x2327), "/clear" },
3369 - { GUINT_TO_POINTER (0x01C2), "/clickalveolar" },
3370 - { GUINT_TO_POINTER (0x01C0), "/clickdental" },
3371 - { GUINT_TO_POINTER (0x01C1), "/clicklateral" },
3372 - { GUINT_TO_POINTER (0x01C3), "/clickretroflex" },
3373 - { GUINT_TO_POINTER (0x2663), "/club" },
3374 - { GUINT_TO_POINTER (0x2663), "/clubsuitblack" },
3375 - { GUINT_TO_POINTER (0x2667), "/clubsuitwhite" },
3376 - { GUINT_TO_POINTER (0x33A4), "/cmcubedsquare" },
3377 - { GUINT_TO_POINTER (0xFF43), "/cmonospace" },
3378 - { GUINT_TO_POINTER (0x33A0), "/cmsquaredsquare" },
3379 - { GUINT_TO_POINTER (0x0581), "/coarmenian" },
3380 - { GUINT_TO_POINTER (0x003A), "/colon" },
3381 - { GUINT_TO_POINTER (0x20A1), "/colonmonetary" },
3382 - { GUINT_TO_POINTER (0xFF1A), "/colonmonospace" },
3383 - { GUINT_TO_POINTER (0x20A1), "/colonsign" },
3384 - { GUINT_TO_POINTER (0xFE55), "/colonsmall" },
3385 - { GUINT_TO_POINTER (0x02D1), "/colontriangularhalfmod" },
3386 - { GUINT_TO_POINTER (0x02D0), "/colontriangularmod" },
3387 - { GUINT_TO_POINTER (0x002C), "/comma" },
3388 - { GUINT_TO_POINTER (0x0313), "/commaabovecmb" },
3389 - { GUINT_TO_POINTER (0x0315), "/commaaboverightcmb" },
3390 - { GUINT_TO_POINTER (0xF6C3), "/commaaccent" },
3391 - { GUINT_TO_POINTER (0x060C), "/commaarabic" },
3392 - { GUINT_TO_POINTER (0x055D), "/commaarmenian" },
3393 - { GUINT_TO_POINTER (0xF6E1), "/commainferior" },
3394 - { GUINT_TO_POINTER (0xFF0C), "/commamonospace" },
3395 - { GUINT_TO_POINTER (0x0314), "/commareversedabovecmb" },
3396 - { GUINT_TO_POINTER (0x02BD), "/commareversedmod" },
3397 - { GUINT_TO_POINTER (0xFE50), "/commasmall" },
3398 - { GUINT_TO_POINTER (0xF6E2), "/commasuperior" },
3399 - { GUINT_TO_POINTER (0x0312), "/commaturnedabovecmb" },
3400 - { GUINT_TO_POINTER (0x02BB), "/commaturnedmod" },
3401 - { GUINT_TO_POINTER (0x263C), "/compass" },
3402 - { GUINT_TO_POINTER (0x2245), "/congruent" },
3403 - { GUINT_TO_POINTER (0x222E), "/contourintegral" },
3404 - { GUINT_TO_POINTER (0x2303), "/control" },
3405 - { GUINT_TO_POINTER (0x0006), "/controlACK" },
3406 - { GUINT_TO_POINTER (0x0007), "/controlBEL" },
3407 - { GUINT_TO_POINTER (0x0008), "/controlBS" },
3408 - { GUINT_TO_POINTER (0x0018), "/controlCAN" },
3409 - { GUINT_TO_POINTER (0x000D), "/controlCR" },
3410 - { GUINT_TO_POINTER (0x0011), "/controlDC1" },
3411 - { GUINT_TO_POINTER (0x0012), "/controlDC2" },
3412 - { GUINT_TO_POINTER (0x0013), "/controlDC3" },
3413 - { GUINT_TO_POINTER (0x0014), "/controlDC4" },
3414 - { GUINT_TO_POINTER (0x007F), "/controlDEL" },
3415 - { GUINT_TO_POINTER (0x0010), "/controlDLE" },
3416 - { GUINT_TO_POINTER (0x0019), "/controlEM" },
3417 - { GUINT_TO_POINTER (0x0005), "/controlENQ" },
3418 - { GUINT_TO_POINTER (0x0004), "/controlEOT" },
3419 - { GUINT_TO_POINTER (0x001B), "/controlESC" },
3420 - { GUINT_TO_POINTER (0x0017), "/controlETB" },
3421 - { GUINT_TO_POINTER (0x0003), "/controlETX" },
3422 - { GUINT_TO_POINTER (0x000C), "/controlFF" },
3423 - { GUINT_TO_POINTER (0x001C), "/controlFS" },
3424 - { GUINT_TO_POINTER (0x001D), "/controlGS" },
3425 - { GUINT_TO_POINTER (0x0009), "/controlHT" },
3426 - { GUINT_TO_POINTER (0x000A), "/controlLF" },
3427 - { GUINT_TO_POINTER (0x0015), "/controlNAK" },
3428 - { GUINT_TO_POINTER (0x001E), "/controlRS" },
3429 - { GUINT_TO_POINTER (0x000F), "/controlSI" },
3430 - { GUINT_TO_POINTER (0x000E), "/controlSO" },
3431 - { GUINT_TO_POINTER (0x0002), "/controlSOT" },
3432 - { GUINT_TO_POINTER (0x0001), "/controlSTX" },
3433 - { GUINT_TO_POINTER (0x001A), "/controlSUB" },
3434 - { GUINT_TO_POINTER (0x0016), "/controlSYN" },
3435 - { GUINT_TO_POINTER (0x001F), "/controlUS" },
3436 - { GUINT_TO_POINTER (0x000B), "/controlVT" },
3437 - { GUINT_TO_POINTER (0x00A9), "/copyright" },
3438 - { GUINT_TO_POINTER (0xF8E9), "/copyrightsans" },
3439 - { GUINT_TO_POINTER (0xF6D9), "/copyrightserif" },
3440 - { GUINT_TO_POINTER (0x300C), "/cornerbracketleft" },
3441 - { GUINT_TO_POINTER (0xFF62), "/cornerbracketlefthalfwidth" },
3442 - { GUINT_TO_POINTER (0xFE41), "/cornerbracketleftvertical" },
3443 - { GUINT_TO_POINTER (0x300D), "/cornerbracketright" },
3444 - { GUINT_TO_POINTER (0xFF63), "/cornerbracketrighthalfwidth" },
3445 - { GUINT_TO_POINTER (0xFE42), "/cornerbracketrightvertical" },
3446 - { GUINT_TO_POINTER (0x337F), "/corporationsquare" },
3447 - { GUINT_TO_POINTER (0x33C7), "/cosquare" },
3448 - { GUINT_TO_POINTER (0x33C6), "/coverkgsquare" },
3449 - { GUINT_TO_POINTER (0x249E), "/cparen" },
3450 - { GUINT_TO_POINTER (0x20A2), "/cruzeiro" },
3451 - { GUINT_TO_POINTER (0x0297), "/cstretched" },
3452 - { GUINT_TO_POINTER (0x22CF), "/curlyand" },
3453 - { GUINT_TO_POINTER (0x22CE), "/curlyor" },
3454 - { GUINT_TO_POINTER (0x00A4), "/currency" },
3455 - { GUINT_TO_POINTER (0xF6D1), "/cyrBreve" },
3456 - { GUINT_TO_POINTER (0xF6D2), "/cyrFlex" },
3457 - { GUINT_TO_POINTER (0xF6D4), "/cyrbreve" },
3458 - { GUINT_TO_POINTER (0xF6D5), "/cyrflex" },
3459 - { GUINT_TO_POINTER (0x0064), "/d" },
3460 - { GUINT_TO_POINTER (0x0564), "/daarmenian" },
3461 - { GUINT_TO_POINTER (0x09A6), "/dabengali" },
3462 - { GUINT_TO_POINTER (0x0636), "/dadarabic" },
3463 - { GUINT_TO_POINTER (0x0926), "/dadeva" },
3464 - { GUINT_TO_POINTER (0xFEBE), "/dadfinalarabic" },
3465 - { GUINT_TO_POINTER (0xFEBF), "/dadinitialarabic" },
3466 - { GUINT_TO_POINTER (0xFEC0), "/dadmedialarabic" },
3467 - { GUINT_TO_POINTER (0x05BC), "/dagesh" },
3468 - { GUINT_TO_POINTER (0x05BC), "/dageshhebrew" },
3469 - { GUINT_TO_POINTER (0x2020), "/dagger" },
3470 - { GUINT_TO_POINTER (0x2021), "/daggerdbl" },
3471 - { GUINT_TO_POINTER (0x0AA6), "/dagujarati" },
3472 - { GUINT_TO_POINTER (0x0A26), "/dagurmukhi" },
3473 - { GUINT_TO_POINTER (0x3060), "/dahiragana" },
3474 - { GUINT_TO_POINTER (0x30C0), "/dakatakana" },
3475 - { GUINT_TO_POINTER (0x062F), "/dalarabic" },
3476 - { GUINT_TO_POINTER (0x05D3), "/dalet" },
3477 - { GUINT_TO_POINTER (0xFB33), "/daletdagesh" },
3478 - { GUINT_TO_POINTER (0xFB33), "/daletdageshhebrew" },
3479 - { GUINT_TO_POINTER (0x05D3), "/dalethatafpatah" },
3480 - { GUINT_TO_POINTER (0x05B2), "/dalethatafpatah" },
3481 - { GUINT_TO_POINTER (0x05D3), "/dalethatafpatahhebrew" },
3482 - { GUINT_TO_POINTER (0x05B2), "/dalethatafpatahhebrew" },
3483 - { GUINT_TO_POINTER (0x05D3), "/dalethatafsegol" },
3484 - { GUINT_TO_POINTER (0x05B1), "/dalethatafsegol" },
3485 - { GUINT_TO_POINTER (0x05D3), "/dalethatafsegolhebrew" },
3486 - { GUINT_TO_POINTER (0x05B1), "/dalethatafsegolhebrew" },
3487 - { GUINT_TO_POINTER (0x05D3), "/dalethebrew" },
3488 - { GUINT_TO_POINTER (0x05D3), "/dalethiriq" },
3489 - { GUINT_TO_POINTER (0x05B4), "/dalethiriq" },
3490 - { GUINT_TO_POINTER (0x05D3), "/dalethiriqhebrew" },
3491 - { GUINT_TO_POINTER (0x05B4), "/dalethiriqhebrew" },
3492 - { GUINT_TO_POINTER (0x05D3), "/daletholam" },
3493 - { GUINT_TO_POINTER (0x05B9), "/daletholam" },
3494 - { GUINT_TO_POINTER (0x05D3), "/daletholamhebrew" },
3495 - { GUINT_TO_POINTER (0x05B9), "/daletholamhebrew" },
3496 - { GUINT_TO_POINTER (0x05D3), "/daletpatah" },
3497 - { GUINT_TO_POINTER (0x05B7), "/daletpatah" },
3498 - { GUINT_TO_POINTER (0x05D3), "/daletpatahhebrew" },
3499 - { GUINT_TO_POINTER (0x05B7), "/daletpatahhebrew" },
3500 - { GUINT_TO_POINTER (0x05D3), "/daletqamats" },
3501 - { GUINT_TO_POINTER (0x05B8), "/daletqamats" },
3502 - { GUINT_TO_POINTER (0x05D3), "/daletqamatshebrew" },
3503 - { GUINT_TO_POINTER (0x05B8), "/daletqamatshebrew" },
3504 - { GUINT_TO_POINTER (0x05D3), "/daletqubuts" },
3505 - { GUINT_TO_POINTER (0x05BB), "/daletqubuts" },
3506 - { GUINT_TO_POINTER (0x05D3), "/daletqubutshebrew" },
3507 - { GUINT_TO_POINTER (0x05BB), "/daletqubutshebrew" },
3508 - { GUINT_TO_POINTER (0x05D3), "/daletsegol" },
3509 - { GUINT_TO_POINTER (0x05B6), "/daletsegol" },
3510 - { GUINT_TO_POINTER (0x05D3), "/daletsegolhebrew" },
3511 - { GUINT_TO_POINTER (0x05B6), "/daletsegolhebrew" },
3512 - { GUINT_TO_POINTER (0x05D3), "/daletsheva" },
3513 - { GUINT_TO_POINTER (0x05B0), "/daletsheva" },
3514 - { GUINT_TO_POINTER (0x05D3), "/daletshevahebrew" },
3515 - { GUINT_TO_POINTER (0x05B0), "/daletshevahebrew" },
3516 - { GUINT_TO_POINTER (0x05D3), "/dalettsere" },
3517 - { GUINT_TO_POINTER (0x05B5), "/dalettsere" },
3518 - { GUINT_TO_POINTER (0x05D3), "/dalettserehebrew" },
3519 - { GUINT_TO_POINTER (0x05B5), "/dalettserehebrew" },
3520 - { GUINT_TO_POINTER (0xFEAA), "/dalfinalarabic" },
3521 - { GUINT_TO_POINTER (0x064F), "/dammaarabic" },
3522 - { GUINT_TO_POINTER (0x064F), "/dammalowarabic" },
3523 - { GUINT_TO_POINTER (0x064C), "/dammatanaltonearabic" },
3524 - { GUINT_TO_POINTER (0x064C), "/dammatanarabic" },
3525 - { GUINT_TO_POINTER (0x0964), "/danda" },
3526 - { GUINT_TO_POINTER (0x05A7), "/dargahebrew" },
3527 - { GUINT_TO_POINTER (0x05A7), "/dargalefthebrew" },
3528 - { GUINT_TO_POINTER (0x0485), "/dasiapneumatacyrilliccmb" },
3529 - { GUINT_TO_POINTER (0xF6D3), "/dblGrave" },
3530 - { GUINT_TO_POINTER (0x300A), "/dblanglebracketleft" },
3531 - { GUINT_TO_POINTER (0xFE3D), "/dblanglebracketleftvertical" },
3532 - { GUINT_TO_POINTER (0x300B), "/dblanglebracketright" },
3533 - { GUINT_TO_POINTER (0xFE3E), "/dblanglebracketrightvertical" },
3534 - { GUINT_TO_POINTER (0x032B), "/dblarchinvertedbelowcmb" },
3535 - { GUINT_TO_POINTER (0x21D4), "/dblarrowleft" },
3536 - { GUINT_TO_POINTER (0x21D2), "/dblarrowright" },
3537 - { GUINT_TO_POINTER (0x0965), "/dbldanda" },
3538 - { GUINT_TO_POINTER (0xF6D6), "/dblgrave" },
3539 - { GUINT_TO_POINTER (0x030F), "/dblgravecmb" },
3540 - { GUINT_TO_POINTER (0x222C), "/dblintegral" },
3541 - { GUINT_TO_POINTER (0x2017), "/dbllowline" },
3542 - { GUINT_TO_POINTER (0x0333), "/dbllowlinecmb" },
3543 - { GUINT_TO_POINTER (0x033F), "/dbloverlinecmb" },
3544 - { GUINT_TO_POINTER (0x02BA), "/dblprimemod" },
3545 - { GUINT_TO_POINTER (0x2016), "/dblverticalbar" },
3546 - { GUINT_TO_POINTER (0x030E), "/dblverticallineabovecmb" },
3547 - { GUINT_TO_POINTER (0x3109), "/dbopomofo" },
3548 - { GUINT_TO_POINTER (0x33C8), "/dbsquare" },
3549 - { GUINT_TO_POINTER (0x010F), "/dcaron" },
3550 - { GUINT_TO_POINTER (0x1E11), "/dcedilla" },
3551 - { GUINT_TO_POINTER (0x24D3), "/dcircle" },
3552 - { GUINT_TO_POINTER (0x1E13), "/dcircumflexbelow" },
3553 - { GUINT_TO_POINTER (0x0111), "/dcroat" },
3554 - { GUINT_TO_POINTER (0x09A1), "/ddabengali" },
3555 - { GUINT_TO_POINTER (0x0921), "/ddadeva" },
3556 - { GUINT_TO_POINTER (0x0AA1), "/ddagujarati" },
3557 - { GUINT_TO_POINTER (0x0A21), "/ddagurmukhi" },
3558 - { GUINT_TO_POINTER (0x0688), "/ddalarabic" },
3559 - { GUINT_TO_POINTER (0xFB89), "/ddalfinalarabic" },
3560 - { GUINT_TO_POINTER (0x095C), "/dddhadeva" },
3561 - { GUINT_TO_POINTER (0x09A2), "/ddhabengali" },
3562 - { GUINT_TO_POINTER (0x0922), "/ddhadeva" },
3563 - { GUINT_TO_POINTER (0x0AA2), "/ddhagujarati" },
3564 - { GUINT_TO_POINTER (0x0A22), "/ddhagurmukhi" },
3565 - { GUINT_TO_POINTER (0x1E0B), "/ddotaccent" },
3566 - { GUINT_TO_POINTER (0x1E0D), "/ddotbelow" },
3567 - { GUINT_TO_POINTER (0x066B), "/decimalseparatorarabic" },
3568 - { GUINT_TO_POINTER (0x066B), "/decimalseparatorpersian" },
3569 - { GUINT_TO_POINTER (0x0434), "/decyrillic" },
3570 - { GUINT_TO_POINTER (0x00B0), "/degree" },
3571 - { GUINT_TO_POINTER (0x05AD), "/dehihebrew" },
3572 - { GUINT_TO_POINTER (0x3067), "/dehiragana" },
3573 - { GUINT_TO_POINTER (0x03EF), "/deicoptic" },
3574 - { GUINT_TO_POINTER (0x30C7), "/dekatakana" },
3575 - { GUINT_TO_POINTER (0x232B), "/deleteleft" },
3576 - { GUINT_TO_POINTER (0x2326), "/deleteright" },
3577 - { GUINT_TO_POINTER (0x03B4), "/delta" },
3578 - { GUINT_TO_POINTER (0x018D), "/deltaturned" },
3579 - { GUINT_TO_POINTER (0x09F8), "/denominatorminusonenumeratorbengali" },
3580 - { GUINT_TO_POINTER (0x02A4), "/dezh" },
3581 - { GUINT_TO_POINTER (0x09A7), "/dhabengali" },
3582 - { GUINT_TO_POINTER (0x0927), "/dhadeva" },
3583 - { GUINT_TO_POINTER (0x0AA7), "/dhagujarati" },
3584 - { GUINT_TO_POINTER (0x0A27), "/dhagurmukhi" },
3585 - { GUINT_TO_POINTER (0x0257), "/dhook" },
3586 - { GUINT_TO_POINTER (0x0385), "/dialytikatonos" },
3587 - { GUINT_TO_POINTER (0x0344), "/dialytikatonoscmb" },
3588 - { GUINT_TO_POINTER (0x2666), "/diamond" },
3589 - { GUINT_TO_POINTER (0x2662), "/diamondsuitwhite" },
3590 - { GUINT_TO_POINTER (0x00A8), "/dieresis" },
3591 - { GUINT_TO_POINTER (0xF6D7), "/dieresisacute" },
3592 - { GUINT_TO_POINTER (0x0324), "/dieresisbelowcmb" },
3593 - { GUINT_TO_POINTER (0x0308), "/dieresiscmb" },
3594 - { GUINT_TO_POINTER (0xF6D8), "/dieresisgrave" },
3595 - { GUINT_TO_POINTER (0x0385), "/dieresistonos" },
3596 - { GUINT_TO_POINTER (0x3062), "/dihiragana" },
3597 - { GUINT_TO_POINTER (0x30C2), "/dikatakana" },
3598 - { GUINT_TO_POINTER (0x3003), "/dittomark" },
3599 - { GUINT_TO_POINTER (0x00F7), "/divide" },
3600 - { GUINT_TO_POINTER (0x2223), "/divides" },
3601 - { GUINT_TO_POINTER (0x2215), "/divisionslash" },
3602 - { GUINT_TO_POINTER (0x0452), "/djecyrillic" },
3603 - { GUINT_TO_POINTER (0x2593), "/dkshade" },
3604 - { GUINT_TO_POINTER (0x1E0F), "/dlinebelow" },
3605 - { GUINT_TO_POINTER (0x3397), "/dlsquare" },
3606 - { GUINT_TO_POINTER (0x0111), "/dmacron" },
3607 - { GUINT_TO_POINTER (0xFF44), "/dmonospace" },
3608 - { GUINT_TO_POINTER (0x2584), "/dnblock" },
3609 - { GUINT_TO_POINTER (0x0E0E), "/dochadathai" },
3610 - { GUINT_TO_POINTER (0x0E14), "/dodekthai" },
3611 - { GUINT_TO_POINTER (0x3069), "/dohiragana" },
3612 - { GUINT_TO_POINTER (0x30C9), "/dokatakana" },
3613 - { GUINT_TO_POINTER (0x0024), "/dollar" },
3614 - { GUINT_TO_POINTER (0xF6E3), "/dollarinferior" },
3615 - { GUINT_TO_POINTER (0xFF04), "/dollarmonospace" },
3616 - { GUINT_TO_POINTER (0xF724), "/dollaroldstyle" },
3617 - { GUINT_TO_POINTER (0xFE69), "/dollarsmall" },
3618 - { GUINT_TO_POINTER (0xF6E4), "/dollarsuperior" },
3619 - { GUINT_TO_POINTER (0x20AB), "/dong" },
3620 - { GUINT_TO_POINTER (0x3326), "/dorusquare" },
3621 - { GUINT_TO_POINTER (0x02D9), "/dotaccent" },
3622 - { GUINT_TO_POINTER (0x0307), "/dotaccentcmb" },
3623 - { GUINT_TO_POINTER (0x0323), "/dotbelowcmb" },
3624 - { GUINT_TO_POINTER (0x0323), "/dotbelowcomb" },
3625 - { GUINT_TO_POINTER (0x30FB), "/dotkatakana" },
3626 - { GUINT_TO_POINTER (0x0131), "/dotlessi" },
3627 - { GUINT_TO_POINTER (0xF6BE), "/dotlessj" },
3628 - { GUINT_TO_POINTER (0x0284), "/dotlessjstrokehook" },
3629 - { GUINT_TO_POINTER (0x22C5), "/dotmath" },
3630 - { GUINT_TO_POINTER (0x25CC), "/dottedcircle" },
3631 - { GUINT_TO_POINTER (0xFB1F), "/doubleyodpatah" },
3632 - { GUINT_TO_POINTER (0xFB1F), "/doubleyodpatahhebrew" },
3633 - { GUINT_TO_POINTER (0x031E), "/downtackbelowcmb" },
3634 - { GUINT_TO_POINTER (0x02D5), "/downtackmod" },
3635 - { GUINT_TO_POINTER (0x249F), "/dparen" },
3636 - { GUINT_TO_POINTER (0xF6EB), "/dsuperior" },
3637 - { GUINT_TO_POINTER (0x0256), "/dtail" },
3638 - { GUINT_TO_POINTER (0x018C), "/dtopbar" },
3639 - { GUINT_TO_POINTER (0x3065), "/duhiragana" },
3640 - { GUINT_TO_POINTER (0x30C5), "/dukatakana" },
3641 - { GUINT_TO_POINTER (0x01F3), "/dz" },
3642 - { GUINT_TO_POINTER (0x02A3), "/dzaltone" },
3643 - { GUINT_TO_POINTER (0x01C6), "/dzcaron" },
3644 - { GUINT_TO_POINTER (0x02A5), "/dzcurl" },
3645 - { GUINT_TO_POINTER (0x04E1), "/dzeabkhasiancyrillic" },
3646 - { GUINT_TO_POINTER (0x0455), "/dzecyrillic" },
3647 - { GUINT_TO_POINTER (0x045F), "/dzhecyrillic" },
3648 - { GUINT_TO_POINTER (0x0065), "/e" },
3649 - { GUINT_TO_POINTER (0x00E9), "/eacute" },
3650 - { GUINT_TO_POINTER (0x2641), "/earth" },
3651 - { GUINT_TO_POINTER (0x098F), "/ebengali" },
3652 - { GUINT_TO_POINTER (0x311C), "/ebopomofo" },
3653 - { GUINT_TO_POINTER (0x0115), "/ebreve" },
3654 - { GUINT_TO_POINTER (0x090D), "/ecandradeva" },
3655 - { GUINT_TO_POINTER (0x0A8D), "/ecandragujarati" },
3656 - { GUINT_TO_POINTER (0x0945), "/ecandravowelsigndeva" },
3657 - { GUINT_TO_POINTER (0x0AC5), "/ecandravowelsigngujarati" },
3658 - { GUINT_TO_POINTER (0x011B), "/ecaron" },
3659 - { GUINT_TO_POINTER (0x1E1D), "/ecedillabreve" },
3660 - { GUINT_TO_POINTER (0x0565), "/echarmenian" },
3661 - { GUINT_TO_POINTER (0x0587), "/echyiwnarmenian" },
3662 - { GUINT_TO_POINTER (0x24D4), "/ecircle" },
3663 - { GUINT_TO_POINTER (0x00EA), "/ecircumflex" },
3664 - { GUINT_TO_POINTER (0x1EBF), "/ecircumflexacute" },
3665 - { GUINT_TO_POINTER (0x1E19), "/ecircumflexbelow" },
3666 - { GUINT_TO_POINTER (0x1EC7), "/ecircumflexdotbelow" },
3667 - { GUINT_TO_POINTER (0x1EC1), "/ecircumflexgrave" },
3668 - { GUINT_TO_POINTER (0x1EC3), "/ecircumflexhookabove" },
3669 - { GUINT_TO_POINTER (0x1EC5), "/ecircumflextilde" },
3670 - { GUINT_TO_POINTER (0x0454), "/ecyrillic" },
3671 - { GUINT_TO_POINTER (0x0205), "/edblgrave" },
3672 - { GUINT_TO_POINTER (0x090F), "/edeva" },
3673 - { GUINT_TO_POINTER (0x00EB), "/edieresis" },
3674 - { GUINT_TO_POINTER (0x0117), "/edot" },
3675 - { GUINT_TO_POINTER (0x0117), "/edotaccent" },
3676 - { GUINT_TO_POINTER (0x1EB9), "/edotbelow" },
3677 - { GUINT_TO_POINTER (0x0A0F), "/eegurmukhi" },
3678 - { GUINT_TO_POINTER (0x0A47), "/eematragurmukhi" },
3679 - { GUINT_TO_POINTER (0x0444), "/efcyrillic" },
3680 - { GUINT_TO_POINTER (0x00E8), "/egrave" },
3681 - { GUINT_TO_POINTER (0x0A8F), "/egujarati" },
3682 - { GUINT_TO_POINTER (0x0567), "/eharmenian" },
3683 - { GUINT_TO_POINTER (0x311D), "/ehbopomofo" },
3684 - { GUINT_TO_POINTER (0x3048), "/ehiragana" },
3685 - { GUINT_TO_POINTER (0x1EBB), "/ehookabove" },
3686 - { GUINT_TO_POINTER (0x311F), "/eibopomofo" },
3687 - { GUINT_TO_POINTER (0x0038), "/eight" },
3688 - { GUINT_TO_POINTER (0x0668), "/eightarabic" },
3689 - { GUINT_TO_POINTER (0x09EE), "/eightbengali" },
3690 - { GUINT_TO_POINTER (0x2467), "/eightcircle" },
3691 - { GUINT_TO_POINTER (0x2791), "/eightcircleinversesansserif" },
3692 - { GUINT_TO_POINTER (0x096E), "/eightdeva" },
3693 - { GUINT_TO_POINTER (0x2471), "/eighteencircle" },
3694 - { GUINT_TO_POINTER (0x2485), "/eighteenparen" },
3695 - { GUINT_TO_POINTER (0x2499), "/eighteenperiod" },
3696 - { GUINT_TO_POINTER (0x0AEE), "/eightgujarati" },
3697 - { GUINT_TO_POINTER (0x0A6E), "/eightgurmukhi" },
3698 - { GUINT_TO_POINTER (0x0668), "/eighthackarabic" },
3699 - { GUINT_TO_POINTER (0x3028), "/eighthangzhou" },
3700 - { GUINT_TO_POINTER (0x266B), "/eighthnotebeamed" },
3701 - { GUINT_TO_POINTER (0x3227), "/eightideographicparen" },
3702 - { GUINT_TO_POINTER (0x2088), "/eightinferior" },
3703 - { GUINT_TO_POINTER (0xFF18), "/eightmonospace" },
3704 - { GUINT_TO_POINTER (0xF738), "/eightoldstyle" },
3705 - { GUINT_TO_POINTER (0x247B), "/eightparen" },
3706 - { GUINT_TO_POINTER (0x248F), "/eightperiod" },
3707 - { GUINT_TO_POINTER (0x06F8), "/eightpersian" },
3708 - { GUINT_TO_POINTER (0x2177), "/eightroman" },
3709 - { GUINT_TO_POINTER (0x2078), "/eightsuperior" },
3710 - { GUINT_TO_POINTER (0x0E58), "/eightthai" },
3711 - { GUINT_TO_POINTER (0x0207), "/einvertedbreve" },
3712 - { GUINT_TO_POINTER (0x0465), "/eiotifiedcyrillic" },
3713 - { GUINT_TO_POINTER (0x30A8), "/ekatakana" },
3714 - { GUINT_TO_POINTER (0xFF74), "/ekatakanahalfwidth" },
3715 - { GUINT_TO_POINTER (0x0A74), "/ekonkargurmukhi" },
3716 - { GUINT_TO_POINTER (0x3154), "/ekorean" },
3717 - { GUINT_TO_POINTER (0x043B), "/elcyrillic" },
3718 - { GUINT_TO_POINTER (0x2208), "/element" },
3719 - { GUINT_TO_POINTER (0x246A), "/elevencircle" },
3720 - { GUINT_TO_POINTER (0x247E), "/elevenparen" },
3721 - { GUINT_TO_POINTER (0x2492), "/elevenperiod" },
3722 - { GUINT_TO_POINTER (0x217A), "/elevenroman" },
3723 - { GUINT_TO_POINTER (0x2026), "/ellipsis" },
3724 - { GUINT_TO_POINTER (0x22EE), "/ellipsisvertical" },
3725 - { GUINT_TO_POINTER (0x0113), "/emacron" },
3726 - { GUINT_TO_POINTER (0x1E17), "/emacronacute" },
3727 - { GUINT_TO_POINTER (0x1E15), "/emacrongrave" },
3728 - { GUINT_TO_POINTER (0x043C), "/emcyrillic" },
3729 - { GUINT_TO_POINTER (0x2014), "/emdash" },
3730 - { GUINT_TO_POINTER (0xFE31), "/emdashvertical" },
3731 - { GUINT_TO_POINTER (0xFF45), "/emonospace" },
3732 - { GUINT_TO_POINTER (0x055B), "/emphasismarkarmenian" },
3733 - { GUINT_TO_POINTER (0x2205), "/emptyset" },
3734 - { GUINT_TO_POINTER (0x3123), "/enbopomofo" },
3735 - { GUINT_TO_POINTER (0x043D), "/encyrillic" },
3736 - { GUINT_TO_POINTER (0x2013), "/endash" },
3737 - { GUINT_TO_POINTER (0xFE32), "/endashvertical" },
3738 - { GUINT_TO_POINTER (0x04A3), "/endescendercyrillic" },
3739 - { GUINT_TO_POINTER (0x014B), "/eng" },
3740 - { GUINT_TO_POINTER (0x3125), "/engbopomofo" },
3741 - { GUINT_TO_POINTER (0x04A5), "/enghecyrillic" },
3742 - { GUINT_TO_POINTER (0x04C8), "/enhookcyrillic" },
3743 - { GUINT_TO_POINTER (0x2002), "/enspace" },
3744 - { GUINT_TO_POINTER (0x0119), "/eogonek" },
3745 - { GUINT_TO_POINTER (0x3153), "/eokorean" },
3746 - { GUINT_TO_POINTER (0x025B), "/eopen" },
3747 - { GUINT_TO_POINTER (0x029A), "/eopenclosed" },
3748 - { GUINT_TO_POINTER (0x025C), "/eopenreversed" },
3749 - { GUINT_TO_POINTER (0x025E), "/eopenreversedclosed" },
3750 - { GUINT_TO_POINTER (0x025D), "/eopenreversedhook" },
3751 - { GUINT_TO_POINTER (0x24A0), "/eparen" },
3752 - { GUINT_TO_POINTER (0x03B5), "/epsilon" },
3753 - { GUINT_TO_POINTER (0x03AD), "/epsilontonos" },
3754 - { GUINT_TO_POINTER (0x003D), "/equal" },
3755 - { GUINT_TO_POINTER (0xFF1D), "/equalmonospace" },
3756 - { GUINT_TO_POINTER (0xFE66), "/equalsmall" },
3757 - { GUINT_TO_POINTER (0x207C), "/equalsuperior" },
3758 - { GUINT_TO_POINTER (0x2261), "/equivalence" },
3759 - { GUINT_TO_POINTER (0x3126), "/erbopomofo" },
3760 - { GUINT_TO_POINTER (0x0440), "/ercyrillic" },
3761 - { GUINT_TO_POINTER (0x0258), "/ereversed" },
3762 - { GUINT_TO_POINTER (0x044D), "/ereversedcyrillic" },
3763 - { GUINT_TO_POINTER (0x0441), "/escyrillic" },
3764 - { GUINT_TO_POINTER (0x04AB), "/esdescendercyrillic" },
3765 - { GUINT_TO_POINTER (0x0283), "/esh" },
3766 - { GUINT_TO_POINTER (0x0286), "/eshcurl" },
3767 - { GUINT_TO_POINTER (0x090E), "/eshortdeva" },
3768 - { GUINT_TO_POINTER (0x0946), "/eshortvowelsigndeva" },
3769 - { GUINT_TO_POINTER (0x01AA), "/eshreversedloop" },
3770 - { GUINT_TO_POINTER (0x0285), "/eshsquatreversed" },
3771 - { GUINT_TO_POINTER (0x3047), "/esmallhiragana" },
3772 - { GUINT_TO_POINTER (0x30A7), "/esmallkatakana" },
3773 - { GUINT_TO_POINTER (0xFF6A), "/esmallkatakanahalfwidth" },
3774 - { GUINT_TO_POINTER (0x212E), "/estimated" },
3775 - { GUINT_TO_POINTER (0xF6EC), "/esuperior" },
3776 - { GUINT_TO_POINTER (0x03B7), "/eta" },
3777 - { GUINT_TO_POINTER (0x0568), "/etarmenian" },
3778 - { GUINT_TO_POINTER (0x03AE), "/etatonos" },
3779 - { GUINT_TO_POINTER (0x00F0), "/eth" },
3780 - { GUINT_TO_POINTER (0x1EBD), "/etilde" },
3781 - { GUINT_TO_POINTER (0x1E1B), "/etildebelow" },
3782 - { GUINT_TO_POINTER (0x0591), "/etnahtafoukhhebrew" },
3783 - { GUINT_TO_POINTER (0x0591), "/etnahtafoukhlefthebrew" },
3784 - { GUINT_TO_POINTER (0x0591), "/etnahtahebrew" },
3785 - { GUINT_TO_POINTER (0x0591), "/etnahtalefthebrew" },
3786 - { GUINT_TO_POINTER (0x01DD), "/eturned" },
3787 - { GUINT_TO_POINTER (0x3161), "/eukorean" },
3788 - { GUINT_TO_POINTER (0x20AC), "/euro" },
3789 - { GUINT_TO_POINTER (0x09C7), "/evowelsignbengali" },
3790 - { GUINT_TO_POINTER (0x0947), "/evowelsigndeva" },
3791 - { GUINT_TO_POINTER (0x0AC7), "/evowelsigngujarati" },
3792 - { GUINT_TO_POINTER (0x0021), "/exclam" },
3793 - { GUINT_TO_POINTER (0x055C), "/exclamarmenian" },
3794 - { GUINT_TO_POINTER (0x203C), "/exclamdbl" },
3795 - { GUINT_TO_POINTER (0x00A1), "/exclamdown" },
3796 - { GUINT_TO_POINTER (0xF7A1), "/exclamdownsmall" },
3797 - { GUINT_TO_POINTER (0xFF01), "/exclammonospace" },
3798 - { GUINT_TO_POINTER (0xF721), "/exclamsmall" },
3799 - { GUINT_TO_POINTER (0x2203), "/existential" },
3800 - { GUINT_TO_POINTER (0x0292), "/ezh" },
3801 - { GUINT_TO_POINTER (0x01EF), "/ezhcaron" },
3802 - { GUINT_TO_POINTER (0x0293), "/ezhcurl" },
3803 - { GUINT_TO_POINTER (0x01B9), "/ezhreversed" },
3804 - { GUINT_TO_POINTER (0x01BA), "/ezhtail" },
3805 - { GUINT_TO_POINTER (0x0066), "/f" },
3806 - { GUINT_TO_POINTER (0x095E), "/fadeva" },
3807 - { GUINT_TO_POINTER (0x0A5E), "/fagurmukhi" },
3808 - { GUINT_TO_POINTER (0x2109), "/fahrenheit" },
3809 - { GUINT_TO_POINTER (0x064E), "/fathaarabic" },
3810 - { GUINT_TO_POINTER (0x064E), "/fathalowarabic" },
3811 - { GUINT_TO_POINTER (0x064B), "/fathatanarabic" },
3812 - { GUINT_TO_POINTER (0x3108), "/fbopomofo" },
3813 - { GUINT_TO_POINTER (0x24D5), "/fcircle" },
3814 - { GUINT_TO_POINTER (0x1E1F), "/fdotaccent" },
3815 - { GUINT_TO_POINTER (0x0641), "/feharabic" },
3816 - { GUINT_TO_POINTER (0x0586), "/feharmenian" },
3817 - { GUINT_TO_POINTER (0xFED2), "/fehfinalarabic" },
3818 - { GUINT_TO_POINTER (0xFED3), "/fehinitialarabic" },
3819 - { GUINT_TO_POINTER (0xFED4), "/fehmedialarabic" },
3820 - { GUINT_TO_POINTER (0x03E5), "/feicoptic" },
3821 - { GUINT_TO_POINTER (0x2640), "/female" },
3822 - { GUINT_TO_POINTER (0xFB00), "/ff" },
3823 - { GUINT_TO_POINTER (0xFB03), "/ffi" },
3824 - { GUINT_TO_POINTER (0xFB04), "/ffl" },
3825 - { GUINT_TO_POINTER (0xFB01), "/fi" },
3826 - { GUINT_TO_POINTER (0x246E), "/fifteencircle" },
3827 - { GUINT_TO_POINTER (0x2482), "/fifteenparen" },
3828 - { GUINT_TO_POINTER (0x2496), "/fifteenperiod" },
3829 - { GUINT_TO_POINTER (0x2012), "/figuredash" },
3830 - { GUINT_TO_POINTER (0x25A0), "/filledbox" },
3831 - { GUINT_TO_POINTER (0x25AC), "/filledrect" },
3832 - { GUINT_TO_POINTER (0x05DA), "/finalkaf" },
3833 - { GUINT_TO_POINTER (0xFB3A), "/finalkafdagesh" },
3834 - { GUINT_TO_POINTER (0xFB3A), "/finalkafdageshhebrew" },
3835 - { GUINT_TO_POINTER (0x05DA), "/finalkafhebrew" },
3836 - { GUINT_TO_POINTER (0x05DA), "/finalkafqamats" },
3837 - { GUINT_TO_POINTER (0x05B8), "/finalkafqamats" },
3838 - { GUINT_TO_POINTER (0x05DA), "/finalkafqamatshebrew" },
3839 - { GUINT_TO_POINTER (0x05B8), "/finalkafqamatshebrew" },
3840 - { GUINT_TO_POINTER (0x05DA), "/finalkafsheva" },
3841 - { GUINT_TO_POINTER (0x05B0), "/finalkafsheva" },
3842 - { GUINT_TO_POINTER (0x05DA), "/finalkafshevahebrew" },
3843 - { GUINT_TO_POINTER (0x05B0), "/finalkafshevahebrew" },
3844 - { GUINT_TO_POINTER (0x05DD), "/finalmem" },
3845 - { GUINT_TO_POINTER (0x05DD), "/finalmemhebrew" },
3846 - { GUINT_TO_POINTER (0x05DF), "/finalnun" },
3847 - { GUINT_TO_POINTER (0x05DF), "/finalnunhebrew" },
3848 - { GUINT_TO_POINTER (0x05E3), "/finalpe" },
3849 - { GUINT_TO_POINTER (0x05E3), "/finalpehebrew" },
3850 - { GUINT_TO_POINTER (0x05E5), "/finaltsadi" },
3851 - { GUINT_TO_POINTER (0x05E5), "/finaltsadihebrew" },
3852 - { GUINT_TO_POINTER (0x02C9), "/firsttonechinese" },
3853 - { GUINT_TO_POINTER (0x25C9), "/fisheye" },
3854 - { GUINT_TO_POINTER (0x0473), "/fitacyrillic" },
3855 - { GUINT_TO_POINTER (0x0035), "/five" },
3856 - { GUINT_TO_POINTER (0x0665), "/fivearabic" },
3857 - { GUINT_TO_POINTER (0x09EB), "/fivebengali" },
3858 - { GUINT_TO_POINTER (0x2464), "/fivecircle" },
3859 - { GUINT_TO_POINTER (0x278E), "/fivecircleinversesansserif" },
3860 - { GUINT_TO_POINTER (0x096B), "/fivedeva" },
3861 - { GUINT_TO_POINTER (0x215D), "/fiveeighths" },
3862 - { GUINT_TO_POINTER (0x0AEB), "/fivegujarati" },
3863 - { GUINT_TO_POINTER (0x0A6B), "/fivegurmukhi" },
3864 - { GUINT_TO_POINTER (0x0665), "/fivehackarabic" },
3865 - { GUINT_TO_POINTER (0x3025), "/fivehangzhou" },
3866 - { GUINT_TO_POINTER (0x3224), "/fiveideographicparen" },
3867 - { GUINT_TO_POINTER (0x2085), "/fiveinferior" },
3868 - { GUINT_TO_POINTER (0xFF15), "/fivemonospace" },
3869 - { GUINT_TO_POINTER (0xF735), "/fiveoldstyle" },
3870 - { GUINT_TO_POINTER (0x2478), "/fiveparen" },
3871 - { GUINT_TO_POINTER (0x248C), "/fiveperiod" },
3872 - { GUINT_TO_POINTER (0x06F5), "/fivepersian" },
3873 - { GUINT_TO_POINTER (0x2174), "/fiveroman" },
3874 - { GUINT_TO_POINTER (0x2075), "/fivesuperior" },
3875 - { GUINT_TO_POINTER (0x0E55), "/fivethai" },
3876 - { GUINT_TO_POINTER (0xFB02), "/fl" },
3877 - { GUINT_TO_POINTER (0x0192), "/florin" },
3878 - { GUINT_TO_POINTER (0xFF46), "/fmonospace" },
3879 - { GUINT_TO_POINTER (0x3399), "/fmsquare" },
3880 - { GUINT_TO_POINTER (0x0E1F), "/fofanthai" },
3881 - { GUINT_TO_POINTER (0x0E1D), "/fofathai" },
3882 - { GUINT_TO_POINTER (0x0E4F), "/fongmanthai" },
3883 - { GUINT_TO_POINTER (0x2200), "/forall" },
3884 - { GUINT_TO_POINTER (0x0034), "/four" },
3885 - { GUINT_TO_POINTER (0x0664), "/fourarabic" },
3886 - { GUINT_TO_POINTER (0x09EA), "/fourbengali" },
3887 - { GUINT_TO_POINTER (0x2463), "/fourcircle" },
3888 - { GUINT_TO_POINTER (0x278D), "/fourcircleinversesansserif" },
3889 - { GUINT_TO_POINTER (0x096A), "/fourdeva" },
3890 - { GUINT_TO_POINTER (0x0AEA), "/fourgujarati" },
3891 - { GUINT_TO_POINTER (0x0A6A), "/fourgurmukhi" },
3892 - { GUINT_TO_POINTER (0x0664), "/fourhackarabic" },
3893 - { GUINT_TO_POINTER (0x3024), "/fourhangzhou" },
3894 - { GUINT_TO_POINTER (0x3223), "/fourideographicparen" },
3895 - { GUINT_TO_POINTER (0x2084), "/fourinferior" },
3896 - { GUINT_TO_POINTER (0xFF14), "/fourmonospace" },
3897 - { GUINT_TO_POINTER (0x09F7), "/fournumeratorbengali" },
3898 - { GUINT_TO_POINTER (0xF734), "/fouroldstyle" },
3899 - { GUINT_TO_POINTER (0x2477), "/fourparen" },
3900 - { GUINT_TO_POINTER (0x248B), "/fourperiod" },
3901 - { GUINT_TO_POINTER (0x06F4), "/fourpersian" },
3902 - { GUINT_TO_POINTER (0x2173), "/fourroman" },
3903 - { GUINT_TO_POINTER (0x2074), "/foursuperior" },
3904 - { GUINT_TO_POINTER (0x246D), "/fourteencircle" },
3905 - { GUINT_TO_POINTER (0x2481), "/fourteenparen" },
3906 - { GUINT_TO_POINTER (0x2495), "/fourteenperiod" },
3907 - { GUINT_TO_POINTER (0x0E54), "/fourthai" },
3908 - { GUINT_TO_POINTER (0x02CB), "/fourthtonechinese" },
3909 - { GUINT_TO_POINTER (0x24A1), "/fparen" },
3910 - { GUINT_TO_POINTER (0x2044), "/fraction" },
3911 - { GUINT_TO_POINTER (0x20A3), "/franc" },
3912 - { GUINT_TO_POINTER (0x0067), "/g" },
3913 - { GUINT_TO_POINTER (0x0997), "/gabengali" },
3914 - { GUINT_TO_POINTER (0x01F5), "/gacute" },
3915 - { GUINT_TO_POINTER (0x0917), "/gadeva" },
3916 - { GUINT_TO_POINTER (0x06AF), "/gafarabic" },
3917 - { GUINT_TO_POINTER (0xFB93), "/gaffinalarabic" },
3918 - { GUINT_TO_POINTER (0xFB94), "/gafinitialarabic" },
3919 - { GUINT_TO_POINTER (0xFB95), "/gafmedialarabic" },
3920 - { GUINT_TO_POINTER (0x0A97), "/gagujarati" },
3921 - { GUINT_TO_POINTER (0x0A17), "/gagurmukhi" },
3922 - { GUINT_TO_POINTER (0x304C), "/gahiragana" },
3923 - { GUINT_TO_POINTER (0x30AC), "/gakatakana" },
3924 - { GUINT_TO_POINTER (0x03B3), "/gamma" },
3925 - { GUINT_TO_POINTER (0x0263), "/gammalatinsmall" },
3926 - { GUINT_TO_POINTER (0x02E0), "/gammasuperior" },
3927 - { GUINT_TO_POINTER (0x03EB), "/gangiacoptic" },
3928 - { GUINT_TO_POINTER (0x310D), "/gbopomofo" },
3929 - { GUINT_TO_POINTER (0x011F), "/gbreve" },
3930 - { GUINT_TO_POINTER (0x01E7), "/gcaron" },
3931 - { GUINT_TO_POINTER (0x0123), "/gcedilla" },
3932 - { GUINT_TO_POINTER (0x24D6), "/gcircle" },
3933 - { GUINT_TO_POINTER (0x011D), "/gcircumflex" },
3934 - { GUINT_TO_POINTER (0x0123), "/gcommaaccent" },
3935 - { GUINT_TO_POINTER (0x0121), "/gdot" },
3936 - { GUINT_TO_POINTER (0x0121), "/gdotaccent" },
3937 - { GUINT_TO_POINTER (0x0433), "/gecyrillic" },
3938 - { GUINT_TO_POINTER (0x3052), "/gehiragana" },
3939 - { GUINT_TO_POINTER (0x30B2), "/gekatakana" },
3940 - { GUINT_TO_POINTER (0x2251), "/geometricallyequal" },
3941 - { GUINT_TO_POINTER (0x059C), "/gereshaccenthebrew" },
3942 - { GUINT_TO_POINTER (0x05F3), "/gereshhebrew" },
3943 - { GUINT_TO_POINTER (0x059D), "/gereshmuqdamhebrew" },
3944 - { GUINT_TO_POINTER (0x00DF), "/germandbls" },
3945 - { GUINT_TO_POINTER (0x059E), "/gershayimaccenthebrew" },
3946 - { GUINT_TO_POINTER (0x05F4), "/gershayimhebrew" },
3947 - { GUINT_TO_POINTER (0x3013), "/getamark" },
3948 - { GUINT_TO_POINTER (0x0998), "/ghabengali" },
3949 - { GUINT_TO_POINTER (0x0572), "/ghadarmenian" },
3950 - { GUINT_TO_POINTER (0x0918), "/ghadeva" },
3951 - { GUINT_TO_POINTER (0x0A98), "/ghagujarati" },
3952 - { GUINT_TO_POINTER (0x0A18), "/ghagurmukhi" },
3953 - { GUINT_TO_POINTER (0x063A), "/ghainarabic" },
3954 - { GUINT_TO_POINTER (0xFECE), "/ghainfinalarabic" },
3955 - { GUINT_TO_POINTER (0xFECF), "/ghaininitialarabic" },
3956 - { GUINT_TO_POINTER (0xFED0), "/ghainmedialarabic" },
3957 - { GUINT_TO_POINTER (0x0495), "/ghemiddlehookcyrillic" },
3958 - { GUINT_TO_POINTER (0x0493), "/ghestrokecyrillic" },
3959 - { GUINT_TO_POINTER (0x0491), "/gheupturncyrillic" },
3960 - { GUINT_TO_POINTER (0x095A), "/ghhadeva" },
3961 - { GUINT_TO_POINTER (0x0A5A), "/ghhagurmukhi" },
3962 - { GUINT_TO_POINTER (0x0260), "/ghook" },
3963 - { GUINT_TO_POINTER (0x3393), "/ghzsquare" },
3964 - { GUINT_TO_POINTER (0x304E), "/gihiragana" },
3965 - { GUINT_TO_POINTER (0x30AE), "/gikatakana" },
3966 - { GUINT_TO_POINTER (0x0563), "/gimarmenian" },
3967 - { GUINT_TO_POINTER (0x05D2), "/gimel" },
3968 - { GUINT_TO_POINTER (0xFB32), "/gimeldagesh" },
3969 - { GUINT_TO_POINTER (0xFB32), "/gimeldageshhebrew" },
3970 - { GUINT_TO_POINTER (0x05D2), "/gimelhebrew" },
3971 - { GUINT_TO_POINTER (0x0453), "/gjecyrillic" },
3972 - { GUINT_TO_POINTER (0x01BE), "/glottalinvertedstroke" },
3973 - { GUINT_TO_POINTER (0x0294), "/glottalstop" },
3974 - { GUINT_TO_POINTER (0x0296), "/glottalstopinverted" },
3975 - { GUINT_TO_POINTER (0x02C0), "/glottalstopmod" },
3976 - { GUINT_TO_POINTER (0x0295), "/glottalstopreversed" },
3977 - { GUINT_TO_POINTER (0x02C1), "/glottalstopreversedmod" },
3978 - { GUINT_TO_POINTER (0x02E4), "/glottalstopreversedsuperior" },
3979 - { GUINT_TO_POINTER (0x02A1), "/glottalstopstroke" },
3980 - { GUINT_TO_POINTER (0x02A2), "/glottalstopstrokereversed" },
3981 - { GUINT_TO_POINTER (0x1E21), "/gmacron" },
3982 - { GUINT_TO_POINTER (0xFF47), "/gmonospace" },
3983 - { GUINT_TO_POINTER (0x3054), "/gohiragana" },
3984 - { GUINT_TO_POINTER (0x30B4), "/gokatakana" },
3985 - { GUINT_TO_POINTER (0x24A2), "/gparen" },
3986 - { GUINT_TO_POINTER (0x33AC), "/gpasquare" },
3987 - { GUINT_TO_POINTER (0x2207), "/gradient" },
3988 - { GUINT_TO_POINTER (0x0060), "/grave" },
3989 - { GUINT_TO_POINTER (0x0316), "/gravebelowcmb" },
3990 - { GUINT_TO_POINTER (0x0300), "/gravecmb" },
3991 - { GUINT_TO_POINTER (0x0300), "/gravecomb" },
3992 - { GUINT_TO_POINTER (0x0953), "/gravedeva" },
3993 - { GUINT_TO_POINTER (0x02CE), "/gravelowmod" },
3994 - { GUINT_TO_POINTER (0xFF40), "/gravemonospace" },
3995 - { GUINT_TO_POINTER (0x0340), "/gravetonecmb" },
3996 - { GUINT_TO_POINTER (0x003E), "/greater" },
3997 - { GUINT_TO_POINTER (0x2265), "/greaterequal" },
3998 - { GUINT_TO_POINTER (0x22DB), "/greaterequalorless" },
3999 - { GUINT_TO_POINTER (0xFF1E), "/greatermonospace" },
4000 - { GUINT_TO_POINTER (0x2273), "/greaterorequivalent" },
4001 - { GUINT_TO_POINTER (0x2277), "/greaterorless" },
4002 - { GUINT_TO_POINTER (0x2267), "/greateroverequal" },
4003 - { GUINT_TO_POINTER (0xFE65), "/greatersmall" },
4004 - { GUINT_TO_POINTER (0x0261), "/gscript" },
4005 - { GUINT_TO_POINTER (0x01E5), "/gstroke" },
4006 - { GUINT_TO_POINTER (0x3050), "/guhiragana" },
4007 - { GUINT_TO_POINTER (0x00AB), "/guillemotleft" },
4008 - { GUINT_TO_POINTER (0x00BB), "/guillemotright" },
4009 - { GUINT_TO_POINTER (0x2039), "/guilsinglleft" },
4010 - { GUINT_TO_POINTER (0x203A), "/guilsinglright" },
4011 - { GUINT_TO_POINTER (0x30B0), "/gukatakana" },
4012 - { GUINT_TO_POINTER (0x3318), "/guramusquare" },
4013 - { GUINT_TO_POINTER (0x33C9), "/gysquare" },
4014 - { GUINT_TO_POINTER (0x0068), "/h" },
4015 - { GUINT_TO_POINTER (0x04A9), "/haabkhasiancyrillic" },
4016 - { GUINT_TO_POINTER (0x06C1), "/haaltonearabic" },
4017 - { GUINT_TO_POINTER (0x09B9), "/habengali" },
4018 - { GUINT_TO_POINTER (0x04B3), "/hadescendercyrillic" },
4019 - { GUINT_TO_POINTER (0x0939), "/hadeva" },
4020 - { GUINT_TO_POINTER (0x0AB9), "/hagujarati" },
4021 - { GUINT_TO_POINTER (0x0A39), "/hagurmukhi" },
4022 - { GUINT_TO_POINTER (0x062D), "/haharabic" },
4023 - { GUINT_TO_POINTER (0xFEA2), "/hahfinalarabic" },
4024 - { GUINT_TO_POINTER (0xFEA3), "/hahinitialarabic" },
4025 - { GUINT_TO_POINTER (0x306F), "/hahiragana" },
4026 - { GUINT_TO_POINTER (0xFEA4), "/hahmedialarabic" },
4027 - { GUINT_TO_POINTER (0x332A), "/haitusquare" },
4028 - { GUINT_TO_POINTER (0x30CF), "/hakatakana" },
4029 - { GUINT_TO_POINTER (0xFF8A), "/hakatakanahalfwidth" },
4030 - { GUINT_TO_POINTER (0x0A4D), "/halantgurmukhi" },
4031 - { GUINT_TO_POINTER (0x0621), "/hamzaarabic" },
4032 - { GUINT_TO_POINTER (0x0621), "/hamzadammaarabic" },
4033 - { GUINT_TO_POINTER (0x064F), "/hamzadammaarabic" },
4034 - { GUINT_TO_POINTER (0x0621), "/hamzadammatanarabic" },
4035 - { GUINT_TO_POINTER (0x064C), "/hamzadammatanarabic" },
4036 - { GUINT_TO_POINTER (0x0621), "/hamzafathaarabic" },
4037 - { GUINT_TO_POINTER (0x064E), "/hamzafathaarabic" },
4038 - { GUINT_TO_POINTER (0x0621), "/hamzafathatanarabic" },
4039 - { GUINT_TO_POINTER (0x064B), "/hamzafathatanarabic" },
4040 - { GUINT_TO_POINTER (0x0621), "/hamzalowarabic" },
4041 - { GUINT_TO_POINTER (0x0621), "/hamzalowkasraarabic" },
4042 - { GUINT_TO_POINTER (0x0650), "/hamzalowkasraarabic" },
4043 - { GUINT_TO_POINTER (0x0621), "/hamzalowkasratanarabic" },
4044 - { GUINT_TO_POINTER (0x064D), "/hamzalowkasratanarabic" },
4045 - { GUINT_TO_POINTER (0x0621), "/hamzasukunarabic" },
4046 - { GUINT_TO_POINTER (0x0652), "/hamzasukunarabic" },
4047 - { GUINT_TO_POINTER (0x3164), "/hangulfiller" },
4048 - { GUINT_TO_POINTER (0x044A), "/hardsigncyrillic" },
4049 - { GUINT_TO_POINTER (0x21BC), "/harpoonleftbarbup" },
4050 - { GUINT_TO_POINTER (0x21C0), "/harpoonrightbarbup" },
4051 - { GUINT_TO_POINTER (0x33CA), "/hasquare" },
4052 - { GUINT_TO_POINTER (0x05B2), "/hatafpatah" },
4053 - { GUINT_TO_POINTER (0x05B2), "/hatafpatah16" },
4054 - { GUINT_TO_POINTER (0x05B2), "/hatafpatah23" },
4055 - { GUINT_TO_POINTER (0x05B2), "/hatafpatah2f" },
4056 - { GUINT_TO_POINTER (0x05B2), "/hatafpatahhebrew" },
4057 - { GUINT_TO_POINTER (0x05B2), "/hatafpatahnarrowhebrew" },
4058 - { GUINT_TO_POINTER (0x05B2), "/hatafpatahquarterhebrew" },
4059 - { GUINT_TO_POINTER (0x05B2), "/hatafpatahwidehebrew" },
4060 - { GUINT_TO_POINTER (0x05B3), "/hatafqamats" },
4061 - { GUINT_TO_POINTER (0x05B3), "/hatafqamats1b" },
4062 - { GUINT_TO_POINTER (0x05B3), "/hatafqamats28" },
4063 - { GUINT_TO_POINTER (0x05B3), "/hatafqamats34" },
4064 - { GUINT_TO_POINTER (0x05B3), "/hatafqamatshebrew" },
4065 - { GUINT_TO_POINTER (0x05B3), "/hatafqamatsnarrowhebrew" },
4066 - { GUINT_TO_POINTER (0x05B3), "/hatafqamatsquarterhebrew" },
4067 - { GUINT_TO_POINTER (0x05B3), "/hatafqamatswidehebrew" },
4068 - { GUINT_TO_POINTER (0x05B1), "/hatafsegol" },
4069 - { GUINT_TO_POINTER (0x05B1), "/hatafsegol17" },
4070 - { GUINT_TO_POINTER (0x05B1), "/hatafsegol24" },
4071 - { GUINT_TO_POINTER (0x05B1), "/hatafsegol30" },
4072 - { GUINT_TO_POINTER (0x05B1), "/hatafsegolhebrew" },
4073 - { GUINT_TO_POINTER (0x05B1), "/hatafsegolnarrowhebrew" },
4074 - { GUINT_TO_POINTER (0x05B1), "/hatafsegolquarterhebrew" },
4075 - { GUINT_TO_POINTER (0x05B1), "/hatafsegolwidehebrew" },
4076 - { GUINT_TO_POINTER (0x0127), "/hbar" },
4077 - { GUINT_TO_POINTER (0x310F), "/hbopomofo" },
4078 - { GUINT_TO_POINTER (0x1E2B), "/hbrevebelow" },
4079 - { GUINT_TO_POINTER (0x1E29), "/hcedilla" },
4080 - { GUINT_TO_POINTER (0x24D7), "/hcircle" },
4081 - { GUINT_TO_POINTER (0x0125), "/hcircumflex" },
4082 - { GUINT_TO_POINTER (0x1E27), "/hdieresis" },
4083 - { GUINT_TO_POINTER (0x1E23), "/hdotaccent" },
4084 - { GUINT_TO_POINTER (0x1E25), "/hdotbelow" },
4085 - { GUINT_TO_POINTER (0x05D4), "/he" },
4086 - { GUINT_TO_POINTER (0x2665), "/heart" },
4087 - { GUINT_TO_POINTER (0x2665), "/heartsuitblack" },
4088 - { GUINT_TO_POINTER (0x2661), "/heartsuitwhite" },
4089 - { GUINT_TO_POINTER (0xFB34), "/hedagesh" },
4090 - { GUINT_TO_POINTER (0xFB34), "/hedageshhebrew" },
4091 - { GUINT_TO_POINTER (0x06C1), "/hehaltonearabic" },
4092 - { GUINT_TO_POINTER (0x0647), "/heharabic" },
4093 - { GUINT_TO_POINTER (0x05D4), "/hehebrew" },
4094 - { GUINT_TO_POINTER (0xFBA7), "/hehfinalaltonearabic" },
4095 - { GUINT_TO_POINTER (0xFEEA), "/hehfinalalttwoarabic" },
4096 - { GUINT_TO_POINTER (0xFEEA), "/hehfinalarabic" },
4097 - { GUINT_TO_POINTER (0xFBA5), "/hehhamzaabovefinalarabic" },
4098 - { GUINT_TO_POINTER (0xFBA4), "/hehhamzaaboveisolatedarabic" },
4099 - { GUINT_TO_POINTER (0xFBA8), "/hehinitialaltonearabic" },
4100 - { GUINT_TO_POINTER (0xFEEB), "/hehinitialarabic" },
4101 - { GUINT_TO_POINTER (0x3078), "/hehiragana" },
4102 - { GUINT_TO_POINTER (0xFBA9), "/hehmedialaltonearabic" },
4103 - { GUINT_TO_POINTER (0xFEEC), "/hehmedialarabic" },
4104 - { GUINT_TO_POINTER (0x337B), "/heiseierasquare" },
4105 - { GUINT_TO_POINTER (0x30D8), "/hekatakana" },
4106 - { GUINT_TO_POINTER (0xFF8D), "/hekatakanahalfwidth" },
4107 - { GUINT_TO_POINTER (0x3336), "/hekutaarusquare" },
4108 - { GUINT_TO_POINTER (0x0267), "/henghook" },
4109 - { GUINT_TO_POINTER (0x3339), "/herutusquare" },
4110 - { GUINT_TO_POINTER (0x05D7), "/het" },
4111 - { GUINT_TO_POINTER (0x05D7), "/hethebrew" },
4112 - { GUINT_TO_POINTER (0x0266), "/hhook" },
4113 - { GUINT_TO_POINTER (0x02B1), "/hhooksuperior" },
4114 - { GUINT_TO_POINTER (0x327B), "/hieuhacirclekorean" },
4115 - { GUINT_TO_POINTER (0x321B), "/hieuhaparenkorean" },
4116 - { GUINT_TO_POINTER (0x326D), "/hieuhcirclekorean" },
4117 - { GUINT_TO_POINTER (0x314E), "/hieuhkorean" },
4118 - { GUINT_TO_POINTER (0x320D), "/hieuhparenkorean" },
4119 - { GUINT_TO_POINTER (0x3072), "/hihiragana" },
4120 - { GUINT_TO_POINTER (0x30D2), "/hikatakana" },
4121 - { GUINT_TO_POINTER (0xFF8B), "/hikatakanahalfwidth" },
4122 - { GUINT_TO_POINTER (0x05B4), "/hiriq" },
4123 - { GUINT_TO_POINTER (0x05B4), "/hiriq14" },
4124 - { GUINT_TO_POINTER (0x05B4), "/hiriq21" },
4125 - { GUINT_TO_POINTER (0x05B4), "/hiriq2d" },
4126 - { GUINT_TO_POINTER (0x05B4), "/hiriqhebrew" },
4127 - { GUINT_TO_POINTER (0x05B4), "/hiriqnarrowhebrew" },
4128 - { GUINT_TO_POINTER (0x05B4), "/hiriqquarterhebrew" },
4129 - { GUINT_TO_POINTER (0x05B4), "/hiriqwidehebrew" },
4130 - { GUINT_TO_POINTER (0x1E96), "/hlinebelow" },
4131 - { GUINT_TO_POINTER (0xFF48), "/hmonospace" },
4132 - { GUINT_TO_POINTER (0x0570), "/hoarmenian" },
4133 - { GUINT_TO_POINTER (0x0E2B), "/hohipthai" },
4134 - { GUINT_TO_POINTER (0x307B), "/hohiragana" },
4135 - { GUINT_TO_POINTER (0x30DB), "/hokatakana" },
4136 - { GUINT_TO_POINTER (0xFF8E), "/hokatakanahalfwidth" },
4137 - { GUINT_TO_POINTER (0x05B9), "/holam" },
4138 - { GUINT_TO_POINTER (0x05B9), "/holam19" },
4139 - { GUINT_TO_POINTER (0x05B9), "/holam26" },
4140 - { GUINT_TO_POINTER (0x05B9), "/holam32" },
4141 - { GUINT_TO_POINTER (0x05B9), "/holamhebrew" },
4142 - { GUINT_TO_POINTER (0x05B9), "/holamnarrowhebrew" },
4143 - { GUINT_TO_POINTER (0x05B9), "/holamquarterhebrew" },
4144 - { GUINT_TO_POINTER (0x05B9), "/holamwidehebrew" },
4145 - { GUINT_TO_POINTER (0x0E2E), "/honokhukthai" },
4146 - { GUINT_TO_POINTER (0x0309), "/hookabovecomb" },
4147 - { GUINT_TO_POINTER (0x0309), "/hookcmb" },
4148 - { GUINT_TO_POINTER (0x0321), "/hookpalatalizedbelowcmb" },
4149 - { GUINT_TO_POINTER (0x0322), "/hookretroflexbelowcmb" },
4150 - { GUINT_TO_POINTER (0x3342), "/hoonsquare" },
4151 - { GUINT_TO_POINTER (0x03E9), "/horicoptic" },
4152 - { GUINT_TO_POINTER (0x2015), "/horizontalbar" },
4153 - { GUINT_TO_POINTER (0x031B), "/horncmb" },
4154 - { GUINT_TO_POINTER (0x2668), "/hotsprings" },
4155 - { GUINT_TO_POINTER (0x2302), "/house" },
4156 - { GUINT_TO_POINTER (0x24A3), "/hparen" },
4157 - { GUINT_TO_POINTER (0x02B0), "/hsuperior" },
4158 - { GUINT_TO_POINTER (0x0265), "/hturned" },
4159 - { GUINT_TO_POINTER (0x3075), "/huhiragana" },
4160 - { GUINT_TO_POINTER (0x3333), "/huiitosquare" },
4161 - { GUINT_TO_POINTER (0x30D5), "/hukatakana" },
4162 - { GUINT_TO_POINTER (0xFF8C), "/hukatakanahalfwidth" },
4163 - { GUINT_TO_POINTER (0x02DD), "/hungarumlaut" },
4164 - { GUINT_TO_POINTER (0x030B), "/hungarumlautcmb" },
4165 - { GUINT_TO_POINTER (0x0195), "/hv" },
4166 - { GUINT_TO_POINTER (0x002D), "/hyphen" },
4167 - { GUINT_TO_POINTER (0xF6E5), "/hypheninferior" },
4168 - { GUINT_TO_POINTER (0xFF0D), "/hyphenmonospace" },
4169 - { GUINT_TO_POINTER (0xFE63), "/hyphensmall" },
4170 - { GUINT_TO_POINTER (0xF6E6), "/hyphensuperior" },
4171 - { GUINT_TO_POINTER (0x2010), "/hyphentwo" },
4172 - { GUINT_TO_POINTER (0x0069), "/i" },
4173 - { GUINT_TO_POINTER (0x00ED), "/iacute" },
4174 - { GUINT_TO_POINTER (0x044F), "/iacyrillic" },
4175 - { GUINT_TO_POINTER (0x0987), "/ibengali" },
4176 - { GUINT_TO_POINTER (0x3127), "/ibopomofo" },
4177 - { GUINT_TO_POINTER (0x012D), "/ibreve" },
4178 - { GUINT_TO_POINTER (0x01D0), "/icaron" },
4179 - { GUINT_TO_POINTER (0x24D8), "/icircle" },
4180 - { GUINT_TO_POINTER (0x00EE), "/icircumflex" },
4181 - { GUINT_TO_POINTER (0x0456), "/icyrillic" },
4182 - { GUINT_TO_POINTER (0x0209), "/idblgrave" },
4183 - { GUINT_TO_POINTER (0x328F), "/ideographearthcircle" },
4184 - { GUINT_TO_POINTER (0x328B), "/ideographfirecircle" },
4185 - { GUINT_TO_POINTER (0x323F), "/ideographicallianceparen" },
4186 - { GUINT_TO_POINTER (0x323A), "/ideographiccallparen" },
4187 - { GUINT_TO_POINTER (0x32A5), "/ideographiccentrecircle" },
4188 - { GUINT_TO_POINTER (0x3006), "/ideographicclose" },
4189 - { GUINT_TO_POINTER (0x3001), "/ideographiccomma" },
4190 - { GUINT_TO_POINTER (0xFF64), "/ideographiccommaleft" },
4191 - { GUINT_TO_POINTER (0x3237), "/ideographiccongratulationparen" },
4192 - { GUINT_TO_POINTER (0x32A3), "/ideographiccorrectcircle" },
4193 - { GUINT_TO_POINTER (0x322F), "/ideographicearthparen" },
4194 - { GUINT_TO_POINTER (0x323D), "/ideographicenterpriseparen" },
4195 - { GUINT_TO_POINTER (0x329D), "/ideographicexcellentcircle" },
4196 - { GUINT_TO_POINTER (0x3240), "/ideographicfestivalparen" },
4197 - { GUINT_TO_POINTER (0x3296), "/ideographicfinancialcircle" },
4198 - { GUINT_TO_POINTER (0x3236), "/ideographicfinancialparen" },
4199 - { GUINT_TO_POINTER (0x322B), "/ideographicfireparen" },
4200 - { GUINT_TO_POINTER (0x3232), "/ideographichaveparen" },
4201 - { GUINT_TO_POINTER (0x32A4), "/ideographichighcircle" },
4202 - { GUINT_TO_POINTER (0x3005), "/ideographiciterationmark" },
4203 - { GUINT_TO_POINTER (0x3298), "/ideographiclaborcircle" },
4204 - { GUINT_TO_POINTER (0x3238), "/ideographiclaborparen" },
4205 - { GUINT_TO_POINTER (0x32A7), "/ideographicleftcircle" },
4206 - { GUINT_TO_POINTER (0x32A6), "/ideographiclowcircle" },
4207 - { GUINT_TO_POINTER (0x32A9), "/ideographicmedicinecircle" },
4208 - { GUINT_TO_POINTER (0x322E), "/ideographicmetalparen" },
4209 - { GUINT_TO_POINTER (0x322A), "/ideographicmoonparen" },
4210 - { GUINT_TO_POINTER (0x3234), "/ideographicnameparen" },
4211 - { GUINT_TO_POINTER (0x3002), "/ideographicperiod" },
4212 - { GUINT_TO_POINTER (0x329E), "/ideographicprintcircle" },
4213 - { GUINT_TO_POINTER (0x3243), "/ideographicreachparen" },
4214 - { GUINT_TO_POINTER (0x3239), "/ideographicrepresentparen" },
4215 - { GUINT_TO_POINTER (0x323E), "/ideographicresourceparen" },
4216 - { GUINT_TO_POINTER (0x32A8), "/ideographicrightcircle" },
4217 - { GUINT_TO_POINTER (0x3299), "/ideographicsecretcircle" },
4218 - { GUINT_TO_POINTER (0x3242), "/ideographicselfparen" },
4219 - { GUINT_TO_POINTER (0x3233), "/ideographicsocietyparen" },
4220 - { GUINT_TO_POINTER (0x3000), "/ideographicspace" },
4221 - { GUINT_TO_POINTER (0x3235), "/ideographicspecialparen" },
4222 - { GUINT_TO_POINTER (0x3231), "/ideographicstockparen" },
4223 - { GUINT_TO_POINTER (0x323B), "/ideographicstudyparen" },
4224 - { GUINT_TO_POINTER (0x3230), "/ideographicsunparen" },
4225 - { GUINT_TO_POINTER (0x323C), "/ideographicsuperviseparen" },
4226 - { GUINT_TO_POINTER (0x322C), "/ideographicwaterparen" },
4227 - { GUINT_TO_POINTER (0x322D), "/ideographicwoodparen" },
4228 - { GUINT_TO_POINTER (0x3007), "/ideographiczero" },
4229 - { GUINT_TO_POINTER (0x328E), "/ideographmetalcircle" },
4230 - { GUINT_TO_POINTER (0x328A), "/ideographmooncircle" },
4231 - { GUINT_TO_POINTER (0x3294), "/ideographnamecircle" },
4232 - { GUINT_TO_POINTER (0x3290), "/ideographsuncircle" },
4233 - { GUINT_TO_POINTER (0x328C), "/ideographwatercircle" },
4234 - { GUINT_TO_POINTER (0x328D), "/ideographwoodcircle" },
4235 - { GUINT_TO_POINTER (0x0907), "/ideva" },
4236 - { GUINT_TO_POINTER (0x00EF), "/idieresis" },
4237 - { GUINT_TO_POINTER (0x1E2F), "/idieresisacute" },
4238 - { GUINT_TO_POINTER (0x04E5), "/idieresiscyrillic" },
4239 - { GUINT_TO_POINTER (0x1ECB), "/idotbelow" },
4240 - { GUINT_TO_POINTER (0x04D7), "/iebrevecyrillic" },
4241 - { GUINT_TO_POINTER (0x0435), "/iecyrillic" },
4242 - { GUINT_TO_POINTER (0x3275), "/ieungacirclekorean" },
4243 - { GUINT_TO_POINTER (0x3215), "/ieungaparenkorean" },
4244 - { GUINT_TO_POINTER (0x3267), "/ieungcirclekorean" },
4245 - { GUINT_TO_POINTER (0x3147), "/ieungkorean" },
4246 - { GUINT_TO_POINTER (0x3207), "/ieungparenkorean" },
4247 - { GUINT_TO_POINTER (0x00EC), "/igrave" },
4248 - { GUINT_TO_POINTER (0x0A87), "/igujarati" },
4249 - { GUINT_TO_POINTER (0x0A07), "/igurmukhi" },
4250 - { GUINT_TO_POINTER (0x3044), "/ihiragana" },
4251 - { GUINT_TO_POINTER (0x1EC9), "/ihookabove" },
4252 - { GUINT_TO_POINTER (0x0988), "/iibengali" },
4253 - { GUINT_TO_POINTER (0x0438), "/iicyrillic" },
4254 - { GUINT_TO_POINTER (0x0908), "/iideva" },
4255 - { GUINT_TO_POINTER (0x0A88), "/iigujarati" },
4256 - { GUINT_TO_POINTER (0x0A08), "/iigurmukhi" },
4257 - { GUINT_TO_POINTER (0x0A40), "/iimatragurmukhi" },
4258 - { GUINT_TO_POINTER (0x020B), "/iinvertedbreve" },
4259 - { GUINT_TO_POINTER (0x0439), "/iishortcyrillic" },
4260 - { GUINT_TO_POINTER (0x09C0), "/iivowelsignbengali" },
4261 - { GUINT_TO_POINTER (0x0940), "/iivowelsigndeva" },
4262 - { GUINT_TO_POINTER (0x0AC0), "/iivowelsigngujarati" },
4263 - { GUINT_TO_POINTER (0x0133), "/ij" },
4264 - { GUINT_TO_POINTER (0x30A4), "/ikatakana" },
4265 - { GUINT_TO_POINTER (0xFF72), "/ikatakanahalfwidth" },
4266 - { GUINT_TO_POINTER (0x3163), "/ikorean" },
4267 - { GUINT_TO_POINTER (0x02DC), "/ilde" },
4268 - { GUINT_TO_POINTER (0x05AC), "/iluyhebrew" },
4269 - { GUINT_TO_POINTER (0x012B), "/imacron" },
4270 - { GUINT_TO_POINTER (0x04E3), "/imacroncyrillic" },
4271 - { GUINT_TO_POINTER (0x2253), "/imageorapproximatelyequal" },
4272 - { GUINT_TO_POINTER (0x0A3F), "/imatragurmukhi" },
4273 - { GUINT_TO_POINTER (0xFF49), "/imonospace" },
4274 - { GUINT_TO_POINTER (0x2206), "/increment" },
4275 - { GUINT_TO_POINTER (0x221E), "/infinity" },
4276 - { GUINT_TO_POINTER (0x056B), "/iniarmenian" },
4277 - { GUINT_TO_POINTER (0x222B), "/integral" },
4278 - { GUINT_TO_POINTER (0x2321), "/integralbottom" },
4279 - { GUINT_TO_POINTER (0x2321), "/integralbt" },
4280 - { GUINT_TO_POINTER (0xF8F5), "/integralex" },
4281 - { GUINT_TO_POINTER (0x2320), "/integraltop" },
4282 - { GUINT_TO_POINTER (0x2320), "/integraltp" },
4283 - { GUINT_TO_POINTER (0x2229), "/intersection" },
4284 - { GUINT_TO_POINTER (0x3305), "/intisquare" },
4285 - { GUINT_TO_POINTER (0x25D8), "/invbullet" },
4286 - { GUINT_TO_POINTER (0x25D9), "/invcircle" },
4287 - { GUINT_TO_POINTER (0x263B), "/invsmileface" },
4288 - { GUINT_TO_POINTER (0x0451), "/iocyrillic" },
4289 - { GUINT_TO_POINTER (0x012F), "/iogonek" },
4290 - { GUINT_TO_POINTER (0x03B9), "/iota" },
4291 - { GUINT_TO_POINTER (0x03CA), "/iotadieresis" },
4292 - { GUINT_TO_POINTER (0x0390), "/iotadieresistonos" },
4293 - { GUINT_TO_POINTER (0x0269), "/iotalatin" },
4294 - { GUINT_TO_POINTER (0x03AF), "/iotatonos" },
4295 - { GUINT_TO_POINTER (0x24A4), "/iparen" },
4296 - { GUINT_TO_POINTER (0x0A72), "/irigurmukhi" },
4297 - { GUINT_TO_POINTER (0x3043), "/ismallhiragana" },
4298 - { GUINT_TO_POINTER (0x30A3), "/ismallkatakana" },
4299 - { GUINT_TO_POINTER (0xFF68), "/ismallkatakanahalfwidth" },
4300 - { GUINT_TO_POINTER (0x09FA), "/issharbengali" },
4301 - { GUINT_TO_POINTER (0x0268), "/istroke" },
4302 - { GUINT_TO_POINTER (0xF6ED), "/isuperior" },
4303 - { GUINT_TO_POINTER (0x309D), "/iterationhiragana" },
4304 - { GUINT_TO_POINTER (0x30FD), "/iterationkatakana" },
4305 - { GUINT_TO_POINTER (0x0129), "/itilde" },
4306 - { GUINT_TO_POINTER (0x1E2D), "/itildebelow" },
4307 - { GUINT_TO_POINTER (0x3129), "/iubopomofo" },
4308 - { GUINT_TO_POINTER (0x044E), "/iucyrillic" },
4309 - { GUINT_TO_POINTER (0x09BF), "/ivowelsignbengali" },
4310 - { GUINT_TO_POINTER (0x093F), "/ivowelsigndeva" },
4311 - { GUINT_TO_POINTER (0x0ABF), "/ivowelsigngujarati" },
4312 - { GUINT_TO_POINTER (0x0475), "/izhitsacyrillic" },
4313 - { GUINT_TO_POINTER (0x0477), "/izhitsadblgravecyrillic" },
4314 - { GUINT_TO_POINTER (0x006A), "/j" },
4315 - { GUINT_TO_POINTER (0x0571), "/jaarmenian" },
4316 - { GUINT_TO_POINTER (0x099C), "/jabengali" },
4317 - { GUINT_TO_POINTER (0x091C), "/jadeva" },
4318 - { GUINT_TO_POINTER (0x0A9C), "/jagujarati" },
4319 - { GUINT_TO_POINTER (0x0A1C), "/jagurmukhi" },
4320 - { GUINT_TO_POINTER (0x3110), "/jbopomofo" },
4321 - { GUINT_TO_POINTER (0x01F0), "/jcaron" },
4322 - { GUINT_TO_POINTER (0x24D9), "/jcircle" },
4323 - { GUINT_TO_POINTER (0x0135), "/jcircumflex" },
4324 - { GUINT_TO_POINTER (0x029D), "/jcrossedtail" },
4325 - { GUINT_TO_POINTER (0x025F), "/jdotlessstroke" },
4326 - { GUINT_TO_POINTER (0x0458), "/jecyrillic" },
4327 - { GUINT_TO_POINTER (0x062C), "/jeemarabic" },
4328 - { GUINT_TO_POINTER (0xFE9E), "/jeemfinalarabic" },
4329 - { GUINT_TO_POINTER (0xFE9F), "/jeeminitialarabic" },
4330 - { GUINT_TO_POINTER (0xFEA0), "/jeemmedialarabic" },
4331 - { GUINT_TO_POINTER (0x0698), "/jeharabic" },
4332 - { GUINT_TO_POINTER (0xFB8B), "/jehfinalarabic" },
4333 - { GUINT_TO_POINTER (0x099D), "/jhabengali" },
4334 - { GUINT_TO_POINTER (0x091D), "/jhadeva" },
4335 - { GUINT_TO_POINTER (0x0A9D), "/jhagujarati" },
4336 - { GUINT_TO_POINTER (0x0A1D), "/jhagurmukhi" },
4337 - { GUINT_TO_POINTER (0x057B), "/jheharmenian" },
4338 - { GUINT_TO_POINTER (0x3004), "/jis" },
4339 - { GUINT_TO_POINTER (0xFF4A), "/jmonospace" },
4340 - { GUINT_TO_POINTER (0x24A5), "/jparen" },
4341 - { GUINT_TO_POINTER (0x02B2), "/jsuperior" },
4342 - { GUINT_TO_POINTER (0x006B), "/k" },
4343 - { GUINT_TO_POINTER (0x04A1), "/kabashkircyrillic" },
4344 - { GUINT_TO_POINTER (0x0995), "/kabengali" },
4345 - { GUINT_TO_POINTER (0x1E31), "/kacute" },
4346 - { GUINT_TO_POINTER (0x043A), "/kacyrillic" },
4347 - { GUINT_TO_POINTER (0x049B), "/kadescendercyrillic" },
4348 - { GUINT_TO_POINTER (0x0915), "/kadeva" },
4349 - { GUINT_TO_POINTER (0x05DB), "/kaf" },
4350 - { GUINT_TO_POINTER (0x0643), "/kafarabic" },
4351 - { GUINT_TO_POINTER (0xFB3B), "/kafdagesh" },
4352 - { GUINT_TO_POINTER (0xFB3B), "/kafdageshhebrew" },
4353 - { GUINT_TO_POINTER (0xFEDA), "/kaffinalarabic" },
4354 - { GUINT_TO_POINTER (0x05DB), "/kafhebrew" },
4355 - { GUINT_TO_POINTER (0xFEDB), "/kafinitialarabic" },
4356 - { GUINT_TO_POINTER (0xFEDC), "/kafmedialarabic" },
4357 - { GUINT_TO_POINTER (0xFB4D), "/kafrafehebrew" },
4358 - { GUINT_TO_POINTER (0x0A95), "/kagujarati" },
4359 - { GUINT_TO_POINTER (0x0A15), "/kagurmukhi" },
4360 - { GUINT_TO_POINTER (0x304B), "/kahiragana" },
4361 - { GUINT_TO_POINTER (0x04C4), "/kahookcyrillic" },
4362 - { GUINT_TO_POINTER (0x30AB), "/kakatakana" },
4363 - { GUINT_TO_POINTER (0xFF76), "/kakatakanahalfwidth" },
4364 - { GUINT_TO_POINTER (0x03BA), "/kappa" },
4365 - { GUINT_TO_POINTER (0x03F0), "/kappasymbolgreek" },
4366 - { GUINT_TO_POINTER (0x3171), "/kapyeounmieumkorean" },
4367 - { GUINT_TO_POINTER (0x3184), "/kapyeounphieuphkorean" },
4368 - { GUINT_TO_POINTER (0x3178), "/kapyeounpieupkorean" },
4369 - { GUINT_TO_POINTER (0x3179), "/kapyeounssangpieupkorean" },
4370 - { GUINT_TO_POINTER (0x330D), "/karoriisquare" },
4371 - { GUINT_TO_POINTER (0x0640), "/kashidaautoarabic" },
4372 - { GUINT_TO_POINTER (0x0640), "/kashidaautonosidebearingarabic" },
4373 - { GUINT_TO_POINTER (0x30F5), "/kasmallkatakana" },
4374 - { GUINT_TO_POINTER (0x3384), "/kasquare" },
4375 - { GUINT_TO_POINTER (0x0650), "/kasraarabic" },
4376 - { GUINT_TO_POINTER (0x064D), "/kasratanarabic" },
4377 - { GUINT_TO_POINTER (0x049F), "/kastrokecyrillic" },
4378 - { GUINT_TO_POINTER (0xFF70), "/katahiraprolongmarkhalfwidth" },
4379 - { GUINT_TO_POINTER (0x049D), "/kaverticalstrokecyrillic" },
4380 - { GUINT_TO_POINTER (0x310E), "/kbopomofo" },
4381 - { GUINT_TO_POINTER (0x3389), "/kcalsquare" },
4382 - { GUINT_TO_POINTER (0x01E9), "/kcaron" },
4383 - { GUINT_TO_POINTER (0x0137), "/kcedilla" },
4384 - { GUINT_TO_POINTER (0x24DA), "/kcircle" },
4385 - { GUINT_TO_POINTER (0x0137), "/kcommaaccent" },
4386 - { GUINT_TO_POINTER (0x1E33), "/kdotbelow" },
4387 - { GUINT_TO_POINTER (0x0584), "/keharmenian" },
4388 - { GUINT_TO_POINTER (0x3051), "/kehiragana" },
4389 - { GUINT_TO_POINTER (0x30B1), "/kekatakana" },
4390 - { GUINT_TO_POINTER (0xFF79), "/kekatakanahalfwidth" },
4391 - { GUINT_TO_POINTER (0x056F), "/kenarmenian" },
4392 - { GUINT_TO_POINTER (0x30F6), "/kesmallkatakana" },
4393 - { GUINT_TO_POINTER (0x0138), "/kgreenlandic" },
4394 - { GUINT_TO_POINTER (0x0996), "/khabengali" },
4395 - { GUINT_TO_POINTER (0x0445), "/khacyrillic" },
4396 - { GUINT_TO_POINTER (0x0916), "/khadeva" },
4397 - { GUINT_TO_POINTER (0x0A96), "/khagujarati" },
4398 - { GUINT_TO_POINTER (0x0A16), "/khagurmukhi" },
4399 - { GUINT_TO_POINTER (0x062E), "/khaharabic" },
4400 - { GUINT_TO_POINTER (0xFEA6), "/khahfinalarabic" },
4401 - { GUINT_TO_POINTER (0xFEA7), "/khahinitialarabic" },
4402 - { GUINT_TO_POINTER (0xFEA8), "/khahmedialarabic" },
4403 - { GUINT_TO_POINTER (0x03E7), "/kheicoptic" },
4404 - { GUINT_TO_POINTER (0x0959), "/khhadeva" },
4405 - { GUINT_TO_POINTER (0x0A59), "/khhagurmukhi" },
4406 - { GUINT_TO_POINTER (0x3278), "/khieukhacirclekorean" },
4407 - { GUINT_TO_POINTER (0x3218), "/khieukhaparenkorean" },
4408 - { GUINT_TO_POINTER (0x326A), "/khieukhcirclekorean" },
4409 - { GUINT_TO_POINTER (0x314B), "/khieukhkorean" },
4410 - { GUINT_TO_POINTER (0x320A), "/khieukhparenkorean" },
4411 - { GUINT_TO_POINTER (0x0E02), "/khokhaithai" },
4412 - { GUINT_TO_POINTER (0x0E05), "/khokhonthai" },
4413 - { GUINT_TO_POINTER (0x0E03), "/khokhuatthai" },
4414 - { GUINT_TO_POINTER (0x0E04), "/khokhwaithai" },
4415 - { GUINT_TO_POINTER (0x0E5B), "/khomutthai" },
4416 - { GUINT_TO_POINTER (0x0199), "/khook" },
4417 - { GUINT_TO_POINTER (0x0E06), "/khorakhangthai" },
4418 - { GUINT_TO_POINTER (0x3391), "/khzsquare" },
4419 - { GUINT_TO_POINTER (0x304D), "/kihiragana" },
4420 - { GUINT_TO_POINTER (0x30AD), "/kikatakana" },
4421 - { GUINT_TO_POINTER (0xFF77), "/kikatakanahalfwidth" },
4422 - { GUINT_TO_POINTER (0x3315), "/kiroguramusquare" },
4423 - { GUINT_TO_POINTER (0x3316), "/kiromeetorusquare" },
4424 - { GUINT_TO_POINTER (0x3314), "/kirosquare" },
4425 - { GUINT_TO_POINTER (0x326E), "/kiyeokacirclekorean" },
4426 - { GUINT_TO_POINTER (0x320E), "/kiyeokaparenkorean" },
4427 - { GUINT_TO_POINTER (0x3260), "/kiyeokcirclekorean" },
4428 - { GUINT_TO_POINTER (0x3131), "/kiyeokkorean" },
4429 - { GUINT_TO_POINTER (0x3200), "/kiyeokparenkorean" },
4430 - { GUINT_TO_POINTER (0x3133), "/kiyeoksioskorean" },
4431 - { GUINT_TO_POINTER (0x045C), "/kjecyrillic" },
4432 - { GUINT_TO_POINTER (0x1E35), "/klinebelow" },
4433 - { GUINT_TO_POINTER (0x3398), "/klsquare" },
4434 - { GUINT_TO_POINTER (0x33A6), "/kmcubedsquare" },
4435 - { GUINT_TO_POINTER (0xFF4B), "/kmonospace" },
4436 - { GUINT_TO_POINTER (0x33A2), "/kmsquaredsquare" },
4437 - { GUINT_TO_POINTER (0x3053), "/kohiragana" },
4438 - { GUINT_TO_POINTER (0x33C0), "/kohmsquare" },
4439 - { GUINT_TO_POINTER (0x0E01), "/kokaithai" },
4440 - { GUINT_TO_POINTER (0x30B3), "/kokatakana" },
4441 - { GUINT_TO_POINTER (0xFF7A), "/kokatakanahalfwidth" },
4442 - { GUINT_TO_POINTER (0x331E), "/kooposquare" },
4443 - { GUINT_TO_POINTER (0x0481), "/koppacyrillic" },
4444 - { GUINT_TO_POINTER (0x327F), "/koreanstandardsymbol" },
4445 - { GUINT_TO_POINTER (0x0343), "/koroniscmb" },
4446 - { GUINT_TO_POINTER (0x24A6), "/kparen" },
4447 - { GUINT_TO_POINTER (0x33AA), "/kpasquare" },
4448 - { GUINT_TO_POINTER (0x046F), "/ksicyrillic" },
4449 - { GUINT_TO_POINTER (0x33CF), "/ktsquare" },
4450 - { GUINT_TO_POINTER (0x029E), "/kturned" },
4451 - { GUINT_TO_POINTER (0x304F), "/kuhiragana" },
4452 - { GUINT_TO_POINTER (0x30AF), "/kukatakana" },
4453 - { GUINT_TO_POINTER (0xFF78), "/kukatakanahalfwidth" },
4454 - { GUINT_TO_POINTER (0x33B8), "/kvsquare" },
4455 - { GUINT_TO_POINTER (0x33BE), "/kwsquare" },
4456 - { GUINT_TO_POINTER (0x006C), "/l" },
4457 - { GUINT_TO_POINTER (0x09B2), "/labengali" },
4458 - { GUINT_TO_POINTER (0x013A), "/lacute" },
4459 - { GUINT_TO_POINTER (0x0932), "/ladeva" },
4460 - { GUINT_TO_POINTER (0x0AB2), "/lagujarati" },
4461 - { GUINT_TO_POINTER (0x0A32), "/lagurmukhi" },
4462 - { GUINT_TO_POINTER (0x0E45), "/lakkhangyaothai" },
4463 - { GUINT_TO_POINTER (0xFEFC), "/lamaleffinalarabic" },
4464 - { GUINT_TO_POINTER (0xFEF8), "/lamalefhamzaabovefinalarabic" },
4465 - { GUINT_TO_POINTER (0xFEF7), "/lamalefhamzaaboveisolatedarabic" },
4466 - { GUINT_TO_POINTER (0xFEFA), "/lamalefhamzabelowfinalarabic" },
4467 - { GUINT_TO_POINTER (0xFEF9), "/lamalefhamzabelowisolatedarabic" },
4468 - { GUINT_TO_POINTER (0xFEFB), "/lamalefisolatedarabic" },
4469 - { GUINT_TO_POINTER (0xFEF6), "/lamalefmaddaabovefinalarabic" },
4470 - { GUINT_TO_POINTER (0xFEF5), "/lamalefmaddaaboveisolatedarabic" },
4471 - { GUINT_TO_POINTER (0x0644), "/lamarabic" },
4472 - { GUINT_TO_POINTER (0x03BB), "/lambda" },
4473 - { GUINT_TO_POINTER (0x019B), "/lambdastroke" },
4474 - { GUINT_TO_POINTER (0x05DC), "/lamed" },
4475 - { GUINT_TO_POINTER (0xFB3C), "/lameddagesh" },
4476 - { GUINT_TO_POINTER (0xFB3C), "/lameddageshhebrew" },
4477 - { GUINT_TO_POINTER (0x05DC), "/lamedhebrew" },
4478 - { GUINT_TO_POINTER (0x05DC), "/lamedholam" },
4479 - { GUINT_TO_POINTER (0x05B9), "/lamedholam" },
4480 - { GUINT_TO_POINTER (0x05DC), "/lamedholamdagesh" },
4481 - { GUINT_TO_POINTER (0x05B9), "/lamedholamdagesh" },
4482 - { GUINT_TO_POINTER (0x05BC), "/lamedholamdagesh" },
4483 - { GUINT_TO_POINTER (0x05DC), "/lamedholamdageshhebrew" },
4484 - { GUINT_TO_POINTER (0x05B9), "/lamedholamdageshhebrew" },
4485 - { GUINT_TO_POINTER (0x05BC), "/lamedholamdageshhebrew" },
4486 - { GUINT_TO_POINTER (0x05DC), "/lamedholamhebrew" },
4487 - { GUINT_TO_POINTER (0x05B9), "/lamedholamhebrew" },
4488 - { GUINT_TO_POINTER (0xFEDE), "/lamfinalarabic" },
4489 - { GUINT_TO_POINTER (0xFCCA), "/lamhahinitialarabic" },
4490 - { GUINT_TO_POINTER (0xFEDF), "/laminitialarabic" },
4491 - { GUINT_TO_POINTER (0xFCC9), "/lamjeeminitialarabic" },
4492 - { GUINT_TO_POINTER (0xFCCB), "/lamkhahinitialarabic" },
4493 - { GUINT_TO_POINTER (0xFDF2), "/lamlamhehisolatedarabic" },
4494 - { GUINT_TO_POINTER (0xFEE0), "/lammedialarabic" },
4495 - { GUINT_TO_POINTER (0xFD88), "/lammeemhahinitialarabic" },
4496 - { GUINT_TO_POINTER (0xFCCC), "/lammeeminitialarabic" },
4497 - { GUINT_TO_POINTER (0xFEDF), "/lammeemjeeminitialarabic" },
4498 - { GUINT_TO_POINTER (0xFEE4), "/lammeemjeeminitialarabic" },
4499 - { GUINT_TO_POINTER (0xFEA0), "/lammeemjeeminitialarabic" },
4500 - { GUINT_TO_POINTER (0xFEDF), "/lammeemkhahinitialarabic" },
4501 - { GUINT_TO_POINTER (0xFEE4), "/lammeemkhahinitialarabic" },
4502 - { GUINT_TO_POINTER (0xFEA8), "/lammeemkhahinitialarabic" },
4503 - { GUINT_TO_POINTER (0x25EF), "/largecircle" },
4504 - { GUINT_TO_POINTER (0x019A), "/lbar" },
4505 - { GUINT_TO_POINTER (0x026C), "/lbelt" },
4506 - { GUINT_TO_POINTER (0x310C), "/lbopomofo" },
4507 - { GUINT_TO_POINTER (0x013E), "/lcaron" },
4508 - { GUINT_TO_POINTER (0x013C), "/lcedilla" },
4509 - { GUINT_TO_POINTER (0x24DB), "/lcircle" },
4510 - { GUINT_TO_POINTER (0x1E3D), "/lcircumflexbelow" },
4511 - { GUINT_TO_POINTER (0x013C), "/lcommaaccent" },
4512 - { GUINT_TO_POINTER (0x0140), "/ldot" },
4513 - { GUINT_TO_POINTER (0x0140), "/ldotaccent" },
4514 - { GUINT_TO_POINTER (0x1E37), "/ldotbelow" },
4515 - { GUINT_TO_POINTER (0x1E39), "/ldotbelowmacron" },
4516 - { GUINT_TO_POINTER (0x031A), "/leftangleabovecmb" },
4517 - { GUINT_TO_POINTER (0x0318), "/lefttackbelowcmb" },
4518 - { GUINT_TO_POINTER (0x003C), "/less" },
4519 - { GUINT_TO_POINTER (0x2264), "/lessequal" },
4520 - { GUINT_TO_POINTER (0x22DA), "/lessequalorgreater" },
4521 - { GUINT_TO_POINTER (0xFF1C), "/lessmonospace" },
4522 - { GUINT_TO_POINTER (0x2272), "/lessorequivalent" },
4523 - { GUINT_TO_POINTER (0x2276), "/lessorgreater" },
4524 - { GUINT_TO_POINTER (0x2266), "/lessoverequal" },
4525 - { GUINT_TO_POINTER (0xFE64), "/lesssmall" },
4526 - { GUINT_TO_POINTER (0x026E), "/lezh" },
4527 - { GUINT_TO_POINTER (0x258C), "/lfblock" },
4528 - { GUINT_TO_POINTER (0x026D), "/lhookretroflex" },
4529 - { GUINT_TO_POINTER (0x20A4), "/lira" },
4530 - { GUINT_TO_POINTER (0x056C), "/liwnarmenian" },
4531 - { GUINT_TO_POINTER (0x01C9), "/lj" },
4532 - { GUINT_TO_POINTER (0x0459), "/ljecyrillic" },
4533 - { GUINT_TO_POINTER (0xF6C0), "/ll" },
4534 - { GUINT_TO_POINTER (0x0933), "/lladeva" },
4535 - { GUINT_TO_POINTER (0x0AB3), "/llagujarati" },
4536 - { GUINT_TO_POINTER (0x1E3B), "/llinebelow" },
4537 - { GUINT_TO_POINTER (0x0934), "/llladeva" },
4538 - { GUINT_TO_POINTER (0x09E1), "/llvocalicbengali" },
4539 - { GUINT_TO_POINTER (0x0961), "/llvocalicdeva" },
4540 - { GUINT_TO_POINTER (0x09E3), "/llvocalicvowelsignbengali" },
4541 - { GUINT_TO_POINTER (0x0963), "/llvocalicvowelsigndeva" },
4542 - { GUINT_TO_POINTER (0x026B), "/lmiddletilde" },
4543 - { GUINT_TO_POINTER (0xFF4C), "/lmonospace" },
4544 - { GUINT_TO_POINTER (0x33D0), "/lmsquare" },
4545 - { GUINT_TO_POINTER (0x0E2C), "/lochulathai" },
4546 - { GUINT_TO_POINTER (0x2227), "/logicaland" },
4547 - { GUINT_TO_POINTER (0x00AC), "/logicalnot" },
4548 - { GUINT_TO_POINTER (0x2310), "/logicalnotreversed" },
4549 - { GUINT_TO_POINTER (0x2228), "/logicalor" },
4550 - { GUINT_TO_POINTER (0x0E25), "/lolingthai" },
4551 - { GUINT_TO_POINTER (0x017F), "/longs" },
4552 - { GUINT_TO_POINTER (0xFE4E), "/lowlinecenterline" },
4553 - { GUINT_TO_POINTER (0x0332), "/lowlinecmb" },
4554 - { GUINT_TO_POINTER (0xFE4D), "/lowlinedashed" },
4555 - { GUINT_TO_POINTER (0x25CA), "/lozenge" },
4556 - { GUINT_TO_POINTER (0x24A7), "/lparen" },
4557 - { GUINT_TO_POINTER (0x0142), "/lslash" },
4558 - { GUINT_TO_POINTER (0x2113), "/lsquare" },
4559 - { GUINT_TO_POINTER (0xF6EE), "/lsuperior" },
4560 - { GUINT_TO_POINTER (0x2591), "/ltshade" },
4561 - { GUINT_TO_POINTER (0x0E26), "/luthai" },
4562 - { GUINT_TO_POINTER (0x098C), "/lvocalicbengali" },
4563 - { GUINT_TO_POINTER (0x090C), "/lvocalicdeva" },
4564 - { GUINT_TO_POINTER (0x09E2), "/lvocalicvowelsignbengali" },
4565 - { GUINT_TO_POINTER (0x0962), "/lvocalicvowelsigndeva" },
4566 - { GUINT_TO_POINTER (0x33D3), "/lxsquare" },
4567 - { GUINT_TO_POINTER (0x006D), "/m" },
4568 - { GUINT_TO_POINTER (0x09AE), "/mabengali" },
4569 - { GUINT_TO_POINTER (0x00AF), "/macron" },
4570 - { GUINT_TO_POINTER (0x0331), "/macronbelowcmb" },
4571 - { GUINT_TO_POINTER (0x0304), "/macroncmb" },
4572 - { GUINT_TO_POINTER (0x02CD), "/macronlowmod" },
4573 - { GUINT_TO_POINTER (0xFFE3), "/macronmonospace" },
4574 - { GUINT_TO_POINTER (0x1E3F), "/macute" },
4575 - { GUINT_TO_POINTER (0x092E), "/madeva" },
4576 - { GUINT_TO_POINTER (0x0AAE), "/magujarati" },
4577 - { GUINT_TO_POINTER (0x0A2E), "/magurmukhi" },
4578 - { GUINT_TO_POINTER (0x05A4), "/mahapakhhebrew" },
4579 - { GUINT_TO_POINTER (0x05A4), "/mahapakhlefthebrew" },
4580 - { GUINT_TO_POINTER (0x307E), "/mahiragana" },
4581 - { GUINT_TO_POINTER (0xF895), "/maichattawalowleftthai" },
4582 - { GUINT_TO_POINTER (0xF894), "/maichattawalowrightthai" },
4583 - { GUINT_TO_POINTER (0x0E4B), "/maichattawathai" },
4584 - { GUINT_TO_POINTER (0xF893), "/maichattawaupperleftthai" },
4585 - { GUINT_TO_POINTER (0xF88C), "/maieklowleftthai" },
4586 - { GUINT_TO_POINTER (0xF88B), "/maieklowrightthai" },
4587 - { GUINT_TO_POINTER (0x0E48), "/maiekthai" },
4588 - { GUINT_TO_POINTER (0xF88A), "/maiekupperleftthai" },
4589 - { GUINT_TO_POINTER (0xF884), "/maihanakatleftthai" },
4590 - { GUINT_TO_POINTER (0x0E31), "/maihanakatthai" },
4591 - { GUINT_TO_POINTER (0xF889), "/maitaikhuleftthai" },
4592 - { GUINT_TO_POINTER (0x0E47), "/maitaikhuthai" },
4593 - { GUINT_TO_POINTER (0xF88F), "/maitholowleftthai" },
4594 - { GUINT_TO_POINTER (0xF88E), "/maitholowrightthai" },
4595 - { GUINT_TO_POINTER (0x0E49), "/maithothai" },
4596 - { GUINT_TO_POINTER (0xF88D), "/maithoupperleftthai" },
4597 - { GUINT_TO_POINTER (0xF892), "/maitrilowleftthai" },
4598 - { GUINT_TO_POINTER (0xF891), "/maitrilowrightthai" },
4599 - { GUINT_TO_POINTER (0x0E4A), "/maitrithai" },
4600 - { GUINT_TO_POINTER (0xF890), "/maitriupperleftthai" },
4601 - { GUINT_TO_POINTER (0x0E46), "/maiyamokthai" },
4602 - { GUINT_TO_POINTER (0x30DE), "/makatakana" },
4603 - { GUINT_TO_POINTER (0xFF8F), "/makatakanahalfwidth" },
4604 - { GUINT_TO_POINTER (0x2642), "/male" },
4605 - { GUINT_TO_POINTER (0x3347), "/mansyonsquare" },
4606 - { GUINT_TO_POINTER (0x05BE), "/maqafhebrew" },
4607 - { GUINT_TO_POINTER (0x2642), "/mars" },
4608 - { GUINT_TO_POINTER (0x05AF), "/masoracirclehebrew" },
4609 - { GUINT_TO_POINTER (0x3383), "/masquare" },
4610 - { GUINT_TO_POINTER (0x3107), "/mbopomofo" },
4611 - { GUINT_TO_POINTER (0x33D4), "/mbsquare" },
4612 - { GUINT_TO_POINTER (0x24DC), "/mcircle" },
4613 - { GUINT_TO_POINTER (0x33A5), "/mcubedsquare" },
4614 - { GUINT_TO_POINTER (0x1E41), "/mdotaccent" },
4615 - { GUINT_TO_POINTER (0x1E43), "/mdotbelow" },
4616 - { GUINT_TO_POINTER (0x0645), "/meemarabic" },
4617 - { GUINT_TO_POINTER (0xFEE2), "/meemfinalarabic" },
4618 - { GUINT_TO_POINTER (0xFEE3), "/meeminitialarabic" },
4619 - { GUINT_TO_POINTER (0xFEE4), "/meemmedialarabic" },
4620 - { GUINT_TO_POINTER (0xFCD1), "/meemmeeminitialarabic" },
4621 - { GUINT_TO_POINTER (0xFC48), "/meemmeemisolatedarabic" },
4622 - { GUINT_TO_POINTER (0x334D), "/meetorusquare" },
4623 - { GUINT_TO_POINTER (0x3081), "/mehiragana" },
4624 - { GUINT_TO_POINTER (0x337E), "/meizierasquare" },
4625 - { GUINT_TO_POINTER (0x30E1), "/mekatakana" },
4626 - { GUINT_TO_POINTER (0xFF92), "/mekatakanahalfwidth" },
4627 - { GUINT_TO_POINTER (0x05DE), "/mem" },
4628 - { GUINT_TO_POINTER (0xFB3E), "/memdagesh" },
4629 - { GUINT_TO_POINTER (0xFB3E), "/memdageshhebrew" },
4630 - { GUINT_TO_POINTER (0x05DE), "/memhebrew" },
4631 - { GUINT_TO_POINTER (0x0574), "/menarmenian" },
4632 - { GUINT_TO_POINTER (0x05A5), "/merkhahebrew" },
4633 - { GUINT_TO_POINTER (0x05A6), "/merkhakefulahebrew" },
4634 - { GUINT_TO_POINTER (0x05A6), "/merkhakefulalefthebrew" },
4635 - { GUINT_TO_POINTER (0x05A5), "/merkhalefthebrew" },
4636 - { GUINT_TO_POINTER (0x0271), "/mhook" },
4637 - { GUINT_TO_POINTER (0x3392), "/mhzsquare" },
4638 - { GUINT_TO_POINTER (0xFF65), "/middledotkatakanahalfwidth" },
4639 - { GUINT_TO_POINTER (0x00B7), "/middot" },
4640 - { GUINT_TO_POINTER (0x3272), "/mieumacirclekorean" },
4641 - { GUINT_TO_POINTER (0x3212), "/mieumaparenkorean" },
4642 - { GUINT_TO_POINTER (0x3264), "/mieumcirclekorean" },
4643 - { GUINT_TO_POINTER (0x3141), "/mieumkorean" },
4644 - { GUINT_TO_POINTER (0x3170), "/mieumpansioskorean" },
4645 - { GUINT_TO_POINTER (0x3204), "/mieumparenkorean" },
4646 - { GUINT_TO_POINTER (0x316E), "/mieumpieupkorean" },
4647 - { GUINT_TO_POINTER (0x316F), "/mieumsioskorean" },
4648 - { GUINT_TO_POINTER (0x307F), "/mihiragana" },
4649 - { GUINT_TO_POINTER (0x30DF), "/mikatakana" },
4650 - { GUINT_TO_POINTER (0xFF90), "/mikatakanahalfwidth" },
4651 - { GUINT_TO_POINTER (0x2212), "/minus" },
4652 - { GUINT_TO_POINTER (0x0320), "/minusbelowcmb" },
4653 - { GUINT_TO_POINTER (0x2296), "/minuscircle" },
4654 - { GUINT_TO_POINTER (0x02D7), "/minusmod" },
4655 - { GUINT_TO_POINTER (0x2213), "/minusplus" },
4656 - { GUINT_TO_POINTER (0x2032), "/minute" },
4657 - { GUINT_TO_POINTER (0x334A), "/miribaarusquare" },
4658 - { GUINT_TO_POINTER (0x3349), "/mirisquare" },
4659 - { GUINT_TO_POINTER (0x0270), "/mlonglegturned" },
4660 - { GUINT_TO_POINTER (0x3396), "/mlsquare" },
4661 - { GUINT_TO_POINTER (0x33A3), "/mmcubedsquare" },
4662 - { GUINT_TO_POINTER (0xFF4D), "/mmonospace" },
4663 - { GUINT_TO_POINTER (0x339F), "/mmsquaredsquare" },
4664 - { GUINT_TO_POINTER (0x3082), "/mohiragana" },
4665 - { GUINT_TO_POINTER (0x33C1), "/mohmsquare" },
4666 - { GUINT_TO_POINTER (0x30E2), "/mokatakana" },
4667 - { GUINT_TO_POINTER (0xFF93), "/mokatakanahalfwidth" },
4668 - { GUINT_TO_POINTER (0x33D6), "/molsquare" },
4669 - { GUINT_TO_POINTER (0x0E21), "/momathai" },
4670 - { GUINT_TO_POINTER (0x33A7), "/moverssquare" },
4671 - { GUINT_TO_POINTER (0x33A8), "/moverssquaredsquare" },
4672 - { GUINT_TO_POINTER (0x24A8), "/mparen" },
4673 - { GUINT_TO_POINTER (0x33AB), "/mpasquare" },
4674 - { GUINT_TO_POINTER (0x33B3), "/mssquare" },
4675 - { GUINT_TO_POINTER (0xF6EF), "/msuperior" },
4676 - { GUINT_TO_POINTER (0x026F), "/mturned" },
4677 - { GUINT_TO_POINTER (0x00B5), "/mu" },
4678 - { GUINT_TO_POINTER (0x00B5), "/mu1" },
4679 - { GUINT_TO_POINTER (0x3382), "/muasquare" },
4680 - { GUINT_TO_POINTER (0x226B), "/muchgreater" },
4681 - { GUINT_TO_POINTER (0x226A), "/muchless" },
4682 - { GUINT_TO_POINTER (0x338C), "/mufsquare" },
4683 - { GUINT_TO_POINTER (0x03BC), "/mugreek" },
4684 - { GUINT_TO_POINTER (0x338D), "/mugsquare" },
4685 - { GUINT_TO_POINTER (0x3080), "/muhiragana" },
4686 - { GUINT_TO_POINTER (0x30E0), "/mukatakana" },
4687 - { GUINT_TO_POINTER (0xFF91), "/mukatakanahalfwidth" },
4688 - { GUINT_TO_POINTER (0x3395), "/mulsquare" },
4689 - { GUINT_TO_POINTER (0x00D7), "/multiply" },
4690 - { GUINT_TO_POINTER (0x339B), "/mumsquare" },
4691 - { GUINT_TO_POINTER (0x05A3), "/munahhebrew" },
4692 - { GUINT_TO_POINTER (0x05A3), "/munahlefthebrew" },
4693 - { GUINT_TO_POINTER (0x266A), "/musicalnote" },
4694 - { GUINT_TO_POINTER (0x266B), "/musicalnotedbl" },
4695 - { GUINT_TO_POINTER (0x266D), "/musicflatsign" },
4696 - { GUINT_TO_POINTER (0x266F), "/musicsharpsign" },
4697 - { GUINT_TO_POINTER (0x33B2), "/mussquare" },
4698 - { GUINT_TO_POINTER (0x33B6), "/muvsquare" },
4699 - { GUINT_TO_POINTER (0x33BC), "/muwsquare" },
4700 - { GUINT_TO_POINTER (0x33B9), "/mvmegasquare" },
4701 - { GUINT_TO_POINTER (0x33B7), "/mvsquare" },
4702 - { GUINT_TO_POINTER (0x33BF), "/mwmegasquare" },
4703 - { GUINT_TO_POINTER (0x33BD), "/mwsquare" },
4704 - { GUINT_TO_POINTER (0x006E), "/n" },
4705 - { GUINT_TO_POINTER (0x09A8), "/nabengali" },
4706 - { GUINT_TO_POINTER (0x2207), "/nabla" },
4707 - { GUINT_TO_POINTER (0x0144), "/nacute" },
4708 - { GUINT_TO_POINTER (0x0928), "/nadeva" },
4709 - { GUINT_TO_POINTER (0x0AA8), "/nagujarati" },
4710 - { GUINT_TO_POINTER (0x0A28), "/nagurmukhi" },
4711 - { GUINT_TO_POINTER (0x306A), "/nahiragana" },
4712 - { GUINT_TO_POINTER (0x30CA), "/nakatakana" },
4713 - { GUINT_TO_POINTER (0xFF85), "/nakatakanahalfwidth" },
4714 - { GUINT_TO_POINTER (0x0149), "/napostrophe" },
4715 - { GUINT_TO_POINTER (0x3381), "/nasquare" },
4716 - { GUINT_TO_POINTER (0x310B), "/nbopomofo" },
4717 - { GUINT_TO_POINTER (0x00A0), "/nbspace" },
4718 - { GUINT_TO_POINTER (0x0148), "/ncaron" },
4719 - { GUINT_TO_POINTER (0x0146), "/ncedilla" },
4720 - { GUINT_TO_POINTER (0x24DD), "/ncircle" },
4721 - { GUINT_TO_POINTER (0x1E4B), "/ncircumflexbelow" },
4722 - { GUINT_TO_POINTER (0x0146), "/ncommaaccent" },
4723 - { GUINT_TO_POINTER (0x1E45), "/ndotaccent" },
4724 - { GUINT_TO_POINTER (0x1E47), "/ndotbelow" },
4725 - { GUINT_TO_POINTER (0x306D), "/nehiragana" },
4726 - { GUINT_TO_POINTER (0x30CD), "/nekatakana" },
4727 - { GUINT_TO_POINTER (0xFF88), "/nekatakanahalfwidth" },
4728 - { GUINT_TO_POINTER (0x20AA), "/newsheqelsign" },
4729 - { GUINT_TO_POINTER (0x338B), "/nfsquare" },
4730 - { GUINT_TO_POINTER (0x0999), "/ngabengali" },
4731 - { GUINT_TO_POINTER (0x0919), "/ngadeva" },
4732 - { GUINT_TO_POINTER (0x0A99), "/ngagujarati" },
4733 - { GUINT_TO_POINTER (0x0A19), "/ngagurmukhi" },
4734 - { GUINT_TO_POINTER (0x0E07), "/ngonguthai" },
4735 - { GUINT_TO_POINTER (0x3093), "/nhiragana" },
4736 - { GUINT_TO_POINTER (0x0272), "/nhookleft" },
4737 - { GUINT_TO_POINTER (0x0273), "/nhookretroflex" },
4738 - { GUINT_TO_POINTER (0x326F), "/nieunacirclekorean" },
4739 - { GUINT_TO_POINTER (0x320F), "/nieunaparenkorean" },
4740 - { GUINT_TO_POINTER (0x3135), "/nieuncieuckorean" },
4741 - { GUINT_TO_POINTER (0x3261), "/nieuncirclekorean" },
4742 - { GUINT_TO_POINTER (0x3136), "/nieunhieuhkorean" },
4743 - { GUINT_TO_POINTER (0x3134), "/nieunkorean" },
4744 - { GUINT_TO_POINTER (0x3168), "/nieunpansioskorean" },
4745 - { GUINT_TO_POINTER (0x3201), "/nieunparenkorean" },
4746 - { GUINT_TO_POINTER (0x3167), "/nieunsioskorean" },
4747 - { GUINT_TO_POINTER (0x3166), "/nieuntikeutkorean" },
4748 - { GUINT_TO_POINTER (0x306B), "/nihiragana" },
4749 - { GUINT_TO_POINTER (0x30CB), "/nikatakana" },
4750 - { GUINT_TO_POINTER (0xFF86), "/nikatakanahalfwidth" },
4751 - { GUINT_TO_POINTER (0xF899), "/nikhahitleftthai" },
4752 - { GUINT_TO_POINTER (0x0E4D), "/nikhahitthai" },
4753 - { GUINT_TO_POINTER (0x0039), "/nine" },
4754 - { GUINT_TO_POINTER (0x0669), "/ninearabic" },
4755 - { GUINT_TO_POINTER (0x09EF), "/ninebengali" },
4756 - { GUINT_TO_POINTER (0x2468), "/ninecircle" },
4757 - { GUINT_TO_POINTER (0x2792), "/ninecircleinversesansserif" },
4758 - { GUINT_TO_POINTER (0x096F), "/ninedeva" },
4759 - { GUINT_TO_POINTER (0x0AEF), "/ninegujarati" },
4760 - { GUINT_TO_POINTER (0x0A6F), "/ninegurmukhi" },
4761 - { GUINT_TO_POINTER (0x0669), "/ninehackarabic" },
4762 - { GUINT_TO_POINTER (0x3029), "/ninehangzhou" },
4763 - { GUINT_TO_POINTER (0x3228), "/nineideographicparen" },
4764 - { GUINT_TO_POINTER (0x2089), "/nineinferior" },
4765 - { GUINT_TO_POINTER (0xFF19), "/ninemonospace" },
4766 - { GUINT_TO_POINTER (0xF739), "/nineoldstyle" },
4767 - { GUINT_TO_POINTER (0x247C), "/nineparen" },
4768 - { GUINT_TO_POINTER (0x2490), "/nineperiod" },
4769 - { GUINT_TO_POINTER (0x06F9), "/ninepersian" },
4770 - { GUINT_TO_POINTER (0x2178), "/nineroman" },
4771 - { GUINT_TO_POINTER (0x2079), "/ninesuperior" },
4772 - { GUINT_TO_POINTER (0x2472), "/nineteencircle" },
4773 - { GUINT_TO_POINTER (0x2486), "/nineteenparen" },
4774 - { GUINT_TO_POINTER (0x249A), "/nineteenperiod" },
4775 - { GUINT_TO_POINTER (0x0E59), "/ninethai" },
4776 - { GUINT_TO_POINTER (0x01CC), "/nj" },
4777 - { GUINT_TO_POINTER (0x045A), "/njecyrillic" },
4778 - { GUINT_TO_POINTER (0x30F3), "/nkatakana" },
4779 - { GUINT_TO_POINTER (0xFF9D), "/nkatakanahalfwidth" },
4780 - { GUINT_TO_POINTER (0x019E), "/nlegrightlong" },
4781 - { GUINT_TO_POINTER (0x1E49), "/nlinebelow" },
4782 - { GUINT_TO_POINTER (0xFF4E), "/nmonospace" },
4783 - { GUINT_TO_POINTER (0x339A), "/nmsquare" },
4784 - { GUINT_TO_POINTER (0x09A3), "/nnabengali" },
4785 - { GUINT_TO_POINTER (0x0923), "/nnadeva" },
4786 - { GUINT_TO_POINTER (0x0AA3), "/nnagujarati" },
4787 - { GUINT_TO_POINTER (0x0A23), "/nnagurmukhi" },
4788 - { GUINT_TO_POINTER (0x0929), "/nnnadeva" },
4789 - { GUINT_TO_POINTER (0x306E), "/nohiragana" },
4790 - { GUINT_TO_POINTER (0x30CE), "/nokatakana" },
4791 - { GUINT_TO_POINTER (0xFF89), "/nokatakanahalfwidth" },
4792 - { GUINT_TO_POINTER (0x00A0), "/nonbreakingspace" },
4793 - { GUINT_TO_POINTER (0x0E13), "/nonenthai" },
4794 - { GUINT_TO_POINTER (0x0E19), "/nonuthai" },
4795 - { GUINT_TO_POINTER (0x0646), "/noonarabic" },
4796 - { GUINT_TO_POINTER (0xFEE6), "/noonfinalarabic" },
4797 - { GUINT_TO_POINTER (0x06BA), "/noonghunnaarabic" },
4798 - { GUINT_TO_POINTER (0xFB9F), "/noonghunnafinalarabic" },
4799 - { GUINT_TO_POINTER (0xFEE7), "/noonhehinitialarabic" },
4800 - { GUINT_TO_POINTER (0xFEEC), "/noonhehinitialarabic" },
4801 - { GUINT_TO_POINTER (0xFEE7), "/nooninitialarabic" },
4802 - { GUINT_TO_POINTER (0xFCD2), "/noonjeeminitialarabic" },
4803 - { GUINT_TO_POINTER (0xFC4B), "/noonjeemisolatedarabic" },
4804 - { GUINT_TO_POINTER (0xFEE8), "/noonmedialarabic" },
4805 - { GUINT_TO_POINTER (0xFCD5), "/noonmeeminitialarabic" },
4806 - { GUINT_TO_POINTER (0xFC4E), "/noonmeemisolatedarabic" },
4807 - { GUINT_TO_POINTER (0xFC8D), "/noonnoonfinalarabic" },
4808 - { GUINT_TO_POINTER (0x220C), "/notcontains" },
4809 - { GUINT_TO_POINTER (0x2209), "/notelement" },
4810 - { GUINT_TO_POINTER (0x2209), "/notelementof" },
4811 - { GUINT_TO_POINTER (0x2260), "/notequal" },
4812 - { GUINT_TO_POINTER (0x226F), "/notgreater" },
4813 - { GUINT_TO_POINTER (0x2271), "/notgreaternorequal" },
4814 - { GUINT_TO_POINTER (0x2279), "/notgreaternorless" },
4815 - { GUINT_TO_POINTER (0x2262), "/notidentical" },
4816 - { GUINT_TO_POINTER (0x226E), "/notless" },
4817 - { GUINT_TO_POINTER (0x2270), "/notlessnorequal" },
4818 - { GUINT_TO_POINTER (0x2226), "/notparallel" },
4819 - { GUINT_TO_POINTER (0x2280), "/notprecedes" },
4820 - { GUINT_TO_POINTER (0x2284), "/notsubset" },
4821 - { GUINT_TO_POINTER (0x2281), "/notsucceeds" },
4822 - { GUINT_TO_POINTER (0x2285), "/notsuperset" },
4823 - { GUINT_TO_POINTER (0x0576), "/nowarmenian" },
4824 - { GUINT_TO_POINTER (0x24A9), "/nparen" },
4825 - { GUINT_TO_POINTER (0x33B1), "/nssquare" },
4826 - { GUINT_TO_POINTER (0x207F), "/nsuperior" },
4827 - { GUINT_TO_POINTER (0x00F1), "/ntilde" },
4828 - { GUINT_TO_POINTER (0x03BD), "/nu" },
4829 - { GUINT_TO_POINTER (0x306C), "/nuhiragana" },
4830 - { GUINT_TO_POINTER (0x30CC), "/nukatakana" },
4831 - { GUINT_TO_POINTER (0xFF87), "/nukatakanahalfwidth" },
4832 - { GUINT_TO_POINTER (0x09BC), "/nuktabengali" },
4833 - { GUINT_TO_POINTER (0x093C), "/nuktadeva" },
4834 - { GUINT_TO_POINTER (0x0ABC), "/nuktagujarati" },
4835 - { GUINT_TO_POINTER (0x0A3C), "/nuktagurmukhi" },
4836 - { GUINT_TO_POINTER (0x0023), "/numbersign" },
4837 - { GUINT_TO_POINTER (0xFF03), "/numbersignmonospace" },
4838 - { GUINT_TO_POINTER (0xFE5F), "/numbersignsmall" },
4839 - { GUINT_TO_POINTER (0x0374), "/numeralsigngreek" },
4840 - { GUINT_TO_POINTER (0x0375), "/numeralsignlowergreek" },
4841 - { GUINT_TO_POINTER (0x2116), "/numero" },
4842 - { GUINT_TO_POINTER (0x05E0), "/nun" },
4843 - { GUINT_TO_POINTER (0xFB40), "/nundagesh" },
4844 - { GUINT_TO_POINTER (0xFB40), "/nundageshhebrew" },
4845 - { GUINT_TO_POINTER (0x05E0), "/nunhebrew" },
4846 - { GUINT_TO_POINTER (0x33B5), "/nvsquare" },
4847 - { GUINT_TO_POINTER (0x33BB), "/nwsquare" },
4848 - { GUINT_TO_POINTER (0x099E), "/nyabengali" },
4849 - { GUINT_TO_POINTER (0x091E), "/nyadeva" },
4850 - { GUINT_TO_POINTER (0x0A9E), "/nyagujarati" },
4851 - { GUINT_TO_POINTER (0x0A1E), "/nyagurmukhi" },
4852 - { GUINT_TO_POINTER (0x006F), "/o" },
4853 - { GUINT_TO_POINTER (0x00F3), "/oacute" },
4854 - { GUINT_TO_POINTER (0x0E2D), "/oangthai" },
4855 - { GUINT_TO_POINTER (0x0275), "/obarred" },
4856 - { GUINT_TO_POINTER (0x04E9), "/obarredcyrillic" },
4857 - { GUINT_TO_POINTER (0x04EB), "/obarreddieresiscyrillic" },
4858 - { GUINT_TO_POINTER (0x0993), "/obengali" },
4859 - { GUINT_TO_POINTER (0x311B), "/obopomofo" },
4860 - { GUINT_TO_POINTER (0x014F), "/obreve" },
4861 - { GUINT_TO_POINTER (0x0911), "/ocandradeva" },
4862 - { GUINT_TO_POINTER (0x0A91), "/ocandragujarati" },
4863 - { GUINT_TO_POINTER (0x0949), "/ocandravowelsigndeva" },
4864 - { GUINT_TO_POINTER (0x0AC9), "/ocandravowelsigngujarati" },
4865 - { GUINT_TO_POINTER (0x01D2), "/ocaron" },
4866 - { GUINT_TO_POINTER (0x24DE), "/ocircle" },
4867 - { GUINT_TO_POINTER (0x00F4), "/ocircumflex" },
4868 - { GUINT_TO_POINTER (0x1ED1), "/ocircumflexacute" },
4869 - { GUINT_TO_POINTER (0x1ED9), "/ocircumflexdotbelow" },
4870 - { GUINT_TO_POINTER (0x1ED3), "/ocircumflexgrave" },
4871 - { GUINT_TO_POINTER (0x1ED5), "/ocircumflexhookabove" },
4872 - { GUINT_TO_POINTER (0x1ED7), "/ocircumflextilde" },
4873 - { GUINT_TO_POINTER (0x043E), "/ocyrillic" },
4874 - { GUINT_TO_POINTER (0x0151), "/odblacute" },
4875 - { GUINT_TO_POINTER (0x020D), "/odblgrave" },
4876 - { GUINT_TO_POINTER (0x0913), "/odeva" },
4877 - { GUINT_TO_POINTER (0x00F6), "/odieresis" },
4878 - { GUINT_TO_POINTER (0x04E7), "/odieresiscyrillic" },
4879 - { GUINT_TO_POINTER (0x1ECD), "/odotbelow" },
4880 - { GUINT_TO_POINTER (0x0153), "/oe" },
4881 - { GUINT_TO_POINTER (0x315A), "/oekorean" },
4882 - { GUINT_TO_POINTER (0x02DB), "/ogonek" },
4883 - { GUINT_TO_POINTER (0x0328), "/ogonekcmb" },
4884 - { GUINT_TO_POINTER (0x00F2), "/ograve" },
4885 - { GUINT_TO_POINTER (0x0A93), "/ogujarati" },
4886 - { GUINT_TO_POINTER (0x0585), "/oharmenian" },
4887 - { GUINT_TO_POINTER (0x304A), "/ohiragana" },
4888 - { GUINT_TO_POINTER (0x1ECF), "/ohookabove" },
4889 - { GUINT_TO_POINTER (0x01A1), "/ohorn" },
4890 - { GUINT_TO_POINTER (0x1EDB), "/ohornacute" },
4891 - { GUINT_TO_POINTER (0x1EE3), "/ohorndotbelow" },
4892 - { GUINT_TO_POINTER (0x1EDD), "/ohorngrave" },
4893 - { GUINT_TO_POINTER (0x1EDF), "/ohornhookabove" },
4894 - { GUINT_TO_POINTER (0x1EE1), "/ohorntilde" },
4895 - { GUINT_TO_POINTER (0x0151), "/ohungarumlaut" },
4896 - { GUINT_TO_POINTER (0x01A3), "/oi" },
4897 - { GUINT_TO_POINTER (0x020F), "/oinvertedbreve" },
4898 - { GUINT_TO_POINTER (0x30AA), "/okatakana" },
4899 - { GUINT_TO_POINTER (0xFF75), "/okatakanahalfwidth" },
4900 - { GUINT_TO_POINTER (0x3157), "/okorean" },
4901 - { GUINT_TO_POINTER (0x05AB), "/olehebrew" },
4902 - { GUINT_TO_POINTER (0x014D), "/omacron" },
4903 - { GUINT_TO_POINTER (0x1E53), "/omacronacute" },
4904 - { GUINT_TO_POINTER (0x1E51), "/omacrongrave" },
4905 - { GUINT_TO_POINTER (0x0950), "/omdeva" },
4906 - { GUINT_TO_POINTER (0x03C9), "/omega" },
4907 - { GUINT_TO_POINTER (0x03D6), "/omega1" },
4908 - { GUINT_TO_POINTER (0x0461), "/omegacyrillic" },
4909 - { GUINT_TO_POINTER (0x0277), "/omegalatinclosed" },
4910 - { GUINT_TO_POINTER (0x047B), "/omegaroundcyrillic" },
4911 - { GUINT_TO_POINTER (0x047D), "/omegatitlocyrillic" },
4912 - { GUINT_TO_POINTER (0x03CE), "/omegatonos" },
4913 - { GUINT_TO_POINTER (0x0AD0), "/omgujarati" },
4914 - { GUINT_TO_POINTER (0x03BF), "/omicron" },
4915 - { GUINT_TO_POINTER (0x03CC), "/omicrontonos" },
4916 - { GUINT_TO_POINTER (0xFF4F), "/omonospace" },
4917 - { GUINT_TO_POINTER (0x0031), "/one" },
4918 - { GUINT_TO_POINTER (0x0661), "/onearabic" },
4919 - { GUINT_TO_POINTER (0x09E7), "/onebengali" },
4920 - { GUINT_TO_POINTER (0x2460), "/onecircle" },
4921 - { GUINT_TO_POINTER (0x278A), "/onecircleinversesansserif" },
4922 - { GUINT_TO_POINTER (0x0967), "/onedeva" },
4923 - { GUINT_TO_POINTER (0x2024), "/onedotenleader" },
4924 - { GUINT_TO_POINTER (0x215B), "/oneeighth" },
4925 - { GUINT_TO_POINTER (0xF6DC), "/onefitted" },
4926 - { GUINT_TO_POINTER (0x0AE7), "/onegujarati" },
4927 - { GUINT_TO_POINTER (0x0A67), "/onegurmukhi" },
4928 - { GUINT_TO_POINTER (0x0661), "/onehackarabic" },
4929 - { GUINT_TO_POINTER (0x00BD), "/onehalf" },
4930 - { GUINT_TO_POINTER (0x3021), "/onehangzhou" },
4931 - { GUINT_TO_POINTER (0x3220), "/oneideographicparen" },
4932 - { GUINT_TO_POINTER (0x2081), "/oneinferior" },
4933 - { GUINT_TO_POINTER (0xFF11), "/onemonospace" },
4934 - { GUINT_TO_POINTER (0x09F4), "/onenumeratorbengali" },
4935 - { GUINT_TO_POINTER (0xF731), "/oneoldstyle" },
4936 - { GUINT_TO_POINTER (0x2474), "/oneparen" },
4937 - { GUINT_TO_POINTER (0x2488), "/oneperiod" },
4938 - { GUINT_TO_POINTER (0x06F1), "/onepersian" },
4939 - { GUINT_TO_POINTER (0x00BC), "/onequarter" },
4940 - { GUINT_TO_POINTER (0x2170), "/oneroman" },
4941 - { GUINT_TO_POINTER (0x00B9), "/onesuperior" },
4942 - { GUINT_TO_POINTER (0x0E51), "/onethai" },
4943 - { GUINT_TO_POINTER (0x2153), "/onethird" },
4944 - { GUINT_TO_POINTER (0x01EB), "/oogonek" },
4945 - { GUINT_TO_POINTER (0x01ED), "/oogonekmacron" },
4946 - { GUINT_TO_POINTER (0x0A13), "/oogurmukhi" },
4947 - { GUINT_TO_POINTER (0x0A4B), "/oomatragurmukhi" },
4948 - { GUINT_TO_POINTER (0x0254), "/oopen" },
4949 - { GUINT_TO_POINTER (0x24AA), "/oparen" },
4950 - { GUINT_TO_POINTER (0x25E6), "/openbullet" },
4951 - { GUINT_TO_POINTER (0x2325), "/option" },
4952 - { GUINT_TO_POINTER (0x00AA), "/ordfeminine" },
4953 - { GUINT_TO_POINTER (0x00BA), "/ordmasculine" },
4954 - { GUINT_TO_POINTER (0x221F), "/orthogonal" },
4955 - { GUINT_TO_POINTER (0x0912), "/oshortdeva" },
4956 - { GUINT_TO_POINTER (0x094A), "/oshortvowelsigndeva" },
4957 - { GUINT_TO_POINTER (0x00F8), "/oslash" },
4958 - { GUINT_TO_POINTER (0x01FF), "/oslashacute" },
4959 - { GUINT_TO_POINTER (0x3049), "/osmallhiragana" },
4960 - { GUINT_TO_POINTER (0x30A9), "/osmallkatakana" },
4961 - { GUINT_TO_POINTER (0xFF6B), "/osmallkatakanahalfwidth" },
4962 - { GUINT_TO_POINTER (0x01FF), "/ostrokeacute" },
4963 - { GUINT_TO_POINTER (0xF6F0), "/osuperior" },
4964 - { GUINT_TO_POINTER (0x047F), "/otcyrillic" },
4965 - { GUINT_TO_POINTER (0x00F5), "/otilde" },
4966 - { GUINT_TO_POINTER (0x1E4D), "/otildeacute" },
4967 - { GUINT_TO_POINTER (0x1E4F), "/otildedieresis" },
4968 - { GUINT_TO_POINTER (0x3121), "/oubopomofo" },
4969 - { GUINT_TO_POINTER (0x203E), "/overline" },
4970 - { GUINT_TO_POINTER (0xFE4A), "/overlinecenterline" },
4971 - { GUINT_TO_POINTER (0x0305), "/overlinecmb" },
4972 - { GUINT_TO_POINTER (0xFE49), "/overlinedashed" },
4973 - { GUINT_TO_POINTER (0xFE4C), "/overlinedblwavy" },
4974 - { GUINT_TO_POINTER (0xFE4B), "/overlinewavy" },
4975 - { GUINT_TO_POINTER (0x00AF), "/overscore" },
4976 - { GUINT_TO_POINTER (0x09CB), "/ovowelsignbengali" },
4977 - { GUINT_TO_POINTER (0x094B), "/ovowelsigndeva" },
4978 - { GUINT_TO_POINTER (0x0ACB), "/ovowelsigngujarati" },
4979 - { GUINT_TO_POINTER (0x0070), "/p" },
4980 - { GUINT_TO_POINTER (0x3380), "/paampssquare" },
4981 - { GUINT_TO_POINTER (0x332B), "/paasentosquare" },
4982 - { GUINT_TO_POINTER (0x09AA), "/pabengali" },
4983 - { GUINT_TO_POINTER (0x1E55), "/pacute" },
4984 - { GUINT_TO_POINTER (0x092A), "/padeva" },
4985 - { GUINT_TO_POINTER (0x21DF), "/pagedown" },
4986 - { GUINT_TO_POINTER (0x21DE), "/pageup" },
4987 - { GUINT_TO_POINTER (0x0AAA), "/pagujarati" },
4988 - { GUINT_TO_POINTER (0x0A2A), "/pagurmukhi" },
4989 - { GUINT_TO_POINTER (0x3071), "/pahiragana" },
4990 - { GUINT_TO_POINTER (0x0E2F), "/paiyannoithai" },
4991 - { GUINT_TO_POINTER (0x30D1), "/pakatakana" },
4992 - { GUINT_TO_POINTER (0x0484), "/palatalizationcyrilliccmb" },
4993 - { GUINT_TO_POINTER (0x04C0), "/palochkacyrillic" },
4994 - { GUINT_TO_POINTER (0x317F), "/pansioskorean" },
4995 - { GUINT_TO_POINTER (0x00B6), "/paragraph" },
4996 - { GUINT_TO_POINTER (0x2225), "/parallel" },
4997 - { GUINT_TO_POINTER (0x0028), "/parenleft" },
4998 - { GUINT_TO_POINTER (0xFD3E), "/parenleftaltonearabic" },
4999 - { GUINT_TO_POINTER (0xF8ED), "/parenleftbt" },
5000 - { GUINT_TO_POINTER (0xF8EC), "/parenleftex" },
5001 - { GUINT_TO_POINTER (0x208D), "/parenleftinferior" },
5002 - { GUINT_TO_POINTER (0xFF08), "/parenleftmonospace" },
5003 - { GUINT_TO_POINTER (0xFE59), "/parenleftsmall" },
5004 - { GUINT_TO_POINTER (0x207D), "/parenleftsuperior" },
5005 - { GUINT_TO_POINTER (0xF8EB), "/parenlefttp" },
5006 - { GUINT_TO_POINTER (0xFE35), "/parenleftvertical" },
5007 - { GUINT_TO_POINTER (0x0029), "/parenright" },
5008 - { GUINT_TO_POINTER (0xFD3F), "/parenrightaltonearabic" },
5009 - { GUINT_TO_POINTER (0xF8F8), "/parenrightbt" },
5010 - { GUINT_TO_POINTER (0xF8F7), "/parenrightex" },
5011 - { GUINT_TO_POINTER (0x208E), "/parenrightinferior" },
5012 - { GUINT_TO_POINTER (0xFF09), "/parenrightmonospace" },
5013 - { GUINT_TO_POINTER (0xFE5A), "/parenrightsmall" },
5014 - { GUINT_TO_POINTER (0x207E), "/parenrightsuperior" },
5015 - { GUINT_TO_POINTER (0xF8F6), "/parenrighttp" },
5016 - { GUINT_TO_POINTER (0xFE36), "/parenrightvertical" },
5017 - { GUINT_TO_POINTER (0x2202), "/partialdiff" },
5018 - { GUINT_TO_POINTER (0x05C0), "/paseqhebrew" },
5019 - { GUINT_TO_POINTER (0x0599), "/pashtahebrew" },
5020 - { GUINT_TO_POINTER (0x33A9), "/pasquare" },
5021 - { GUINT_TO_POINTER (0x05B7), "/patah" },
5022 - { GUINT_TO_POINTER (0x05B7), "/patah11" },
5023 - { GUINT_TO_POINTER (0x05B7), "/patah1d" },
5024 - { GUINT_TO_POINTER (0x05B7), "/patah2a" },
5025 - { GUINT_TO_POINTER (0x05B7), "/patahhebrew" },
5026 - { GUINT_TO_POINTER (0x05B7), "/patahnarrowhebrew" },
5027 - { GUINT_TO_POINTER (0x05B7), "/patahquarterhebrew" },
5028 - { GUINT_TO_POINTER (0x05B7), "/patahwidehebrew" },
5029 - { GUINT_TO_POINTER (0x05A1), "/pazerhebrew" },
5030 - { GUINT_TO_POINTER (0x3106), "/pbopomofo" },
5031 - { GUINT_TO_POINTER (0x24DF), "/pcircle" },
5032 - { GUINT_TO_POINTER (0x1E57), "/pdotaccent" },
5033 - { GUINT_TO_POINTER (0x05E4), "/pe" },
5034 - { GUINT_TO_POINTER (0x043F), "/pecyrillic" },
5035 - { GUINT_TO_POINTER (0xFB44), "/pedagesh" },
5036 - { GUINT_TO_POINTER (0xFB44), "/pedageshhebrew" },
5037 - { GUINT_TO_POINTER (0x333B), "/peezisquare" },
5038 - { GUINT_TO_POINTER (0xFB43), "/pefinaldageshhebrew" },
5039 - { GUINT_TO_POINTER (0x067E), "/peharabic" },
5040 - { GUINT_TO_POINTER (0x057A), "/peharmenian" },
5041 - { GUINT_TO_POINTER (0x05E4), "/pehebrew" },
5042 - { GUINT_TO_POINTER (0xFB57), "/pehfinalarabic" },
5043 - { GUINT_TO_POINTER (0xFB58), "/pehinitialarabic" },
5044 - { GUINT_TO_POINTER (0x307A), "/pehiragana" },
5045 - { GUINT_TO_POINTER (0xFB59), "/pehmedialarabic" },
5046 - { GUINT_TO_POINTER (0x30DA), "/pekatakana" },
5047 - { GUINT_TO_POINTER (0x04A7), "/pemiddlehookcyrillic" },
5048 - { GUINT_TO_POINTER (0xFB4E), "/perafehebrew" },
5049 - { GUINT_TO_POINTER (0x0025), "/percent" },
5050 - { GUINT_TO_POINTER (0x066A), "/percentarabic" },
5051 - { GUINT_TO_POINTER (0xFF05), "/percentmonospace" },
5052 - { GUINT_TO_POINTER (0xFE6A), "/percentsmall" },
5053 - { GUINT_TO_POINTER (0x002E), "/period" },
5054 - { GUINT_TO_POINTER (0x0589), "/periodarmenian" },
5055 - { GUINT_TO_POINTER (0x00B7), "/periodcentered" },
5056 - { GUINT_TO_POINTER (0xFF61), "/periodhalfwidth" },
5057 - { GUINT_TO_POINTER (0xF6E7), "/periodinferior" },
5058 - { GUINT_TO_POINTER (0xFF0E), "/periodmonospace" },
5059 - { GUINT_TO_POINTER (0xFE52), "/periodsmall" },
5060 - { GUINT_TO_POINTER (0xF6E8), "/periodsuperior" },
5061 - { GUINT_TO_POINTER (0x0342), "/perispomenigreekcmb" },
5062 - { GUINT_TO_POINTER (0x22A5), "/perpendicular" },
5063 - { GUINT_TO_POINTER (0x2030), "/perthousand" },
5064 - { GUINT_TO_POINTER (0x20A7), "/peseta" },
5065 - { GUINT_TO_POINTER (0x338A), "/pfsquare" },
5066 - { GUINT_TO_POINTER (0x09AB), "/phabengali" },
5067 - { GUINT_TO_POINTER (0x092B), "/phadeva" },
5068 - { GUINT_TO_POINTER (0x0AAB), "/phagujarati" },
5069 - { GUINT_TO_POINTER (0x0A2B), "/phagurmukhi" },
5070 - { GUINT_TO_POINTER (0x03C6), "/phi" },
5071 - { GUINT_TO_POINTER (0x03D5), "/phi1" },
5072 - { GUINT_TO_POINTER (0x327A), "/phieuphacirclekorean" },
5073 - { GUINT_TO_POINTER (0x321A), "/phieuphaparenkorean" },
5074 - { GUINT_TO_POINTER (0x326C), "/phieuphcirclekorean" },
5075 - { GUINT_TO_POINTER (0x314D), "/phieuphkorean" },
5076 - { GUINT_TO_POINTER (0x320C), "/phieuphparenkorean" },
5077 - { GUINT_TO_POINTER (0x0278), "/philatin" },
5078 - { GUINT_TO_POINTER (0x0E3A), "/phinthuthai" },
5079 - { GUINT_TO_POINTER (0x03D5), "/phisymbolgreek" },
5080 - { GUINT_TO_POINTER (0x01A5), "/phook" },
5081 - { GUINT_TO_POINTER (0x0E1E), "/phophanthai" },
5082 - { GUINT_TO_POINTER (0x0E1C), "/phophungthai" },
5083 - { GUINT_TO_POINTER (0x0E20), "/phosamphaothai" },
5084 - { GUINT_TO_POINTER (0x03C0), "/pi" },
5085 - { GUINT_TO_POINTER (0x3273), "/pieupacirclekorean" },
5086 - { GUINT_TO_POINTER (0x3213), "/pieupaparenkorean" },
5087 - { GUINT_TO_POINTER (0x3176), "/pieupcieuckorean" },
5088 - { GUINT_TO_POINTER (0x3265), "/pieupcirclekorean" },
5089 - { GUINT_TO_POINTER (0x3172), "/pieupkiyeokkorean" },
5090 - { GUINT_TO_POINTER (0x3142), "/pieupkorean" },
5091 - { GUINT_TO_POINTER (0x3205), "/pieupparenkorean" },
5092 - { GUINT_TO_POINTER (0x3174), "/pieupsioskiyeokkorean" },
5093 - { GUINT_TO_POINTER (0x3144), "/pieupsioskorean" },
5094 - { GUINT_TO_POINTER (0x3175), "/pieupsiostikeutkorean" },
5095 - { GUINT_TO_POINTER (0x3177), "/pieupthieuthkorean" },
5096 - { GUINT_TO_POINTER (0x3173), "/pieuptikeutkorean" },
5097 - { GUINT_TO_POINTER (0x3074), "/pihiragana" },
5098 - { GUINT_TO_POINTER (0x30D4), "/pikatakana" },
5099 - { GUINT_TO_POINTER (0x03D6), "/pisymbolgreek" },
5100 - { GUINT_TO_POINTER (0x0583), "/piwrarmenian" },
5101 - { GUINT_TO_POINTER (0x002B), "/plus" },
5102 - { GUINT_TO_POINTER (0x031F), "/plusbelowcmb" },
5103 - { GUINT_TO_POINTER (0x2295), "/pluscircle" },
5104 - { GUINT_TO_POINTER (0x00B1), "/plusminus" },
5105 - { GUINT_TO_POINTER (0x02D6), "/plusmod" },
5106 - { GUINT_TO_POINTER (0xFF0B), "/plusmonospace" },
5107 - { GUINT_TO_POINTER (0xFE62), "/plussmall" },
5108 - { GUINT_TO_POINTER (0x207A), "/plussuperior" },
5109 - { GUINT_TO_POINTER (0xFF50), "/pmonospace" },
5110 - { GUINT_TO_POINTER (0x33D8), "/pmsquare" },
5111 - { GUINT_TO_POINTER (0x307D), "/pohiragana" },
5112 - { GUINT_TO_POINTER (0x261F), "/pointingindexdownwhite" },
5113 - { GUINT_TO_POINTER (0x261C), "/pointingindexleftwhite" },
5114 - { GUINT_TO_POINTER (0x261E), "/pointingindexrightwhite" },
5115 - { GUINT_TO_POINTER (0x261D), "/pointingindexupwhite" },
5116 - { GUINT_TO_POINTER (0x30DD), "/pokatakana" },
5117 - { GUINT_TO_POINTER (0x0E1B), "/poplathai" },
5118 - { GUINT_TO_POINTER (0x3012), "/postalmark" },
5119 - { GUINT_TO_POINTER (0x3020), "/postalmarkface" },
5120 - { GUINT_TO_POINTER (0x24AB), "/pparen" },
5121 - { GUINT_TO_POINTER (0x227A), "/precedes" },
5122 - { GUINT_TO_POINTER (0x211E), "/prescription" },
5123 - { GUINT_TO_POINTER (0x02B9), "/primemod" },
5124 - { GUINT_TO_POINTER (0x2035), "/primereversed" },
5125 - { GUINT_TO_POINTER (0x220F), "/product" },
5126 - { GUINT_TO_POINTER (0x2305), "/projective" },
5127 - { GUINT_TO_POINTER (0x30FC), "/prolongedkana" },
5128 - { GUINT_TO_POINTER (0x2318), "/propellor" },
5129 - { GUINT_TO_POINTER (0x2282), "/propersubset" },
5130 - { GUINT_TO_POINTER (0x2283), "/propersuperset" },
5131 - { GUINT_TO_POINTER (0x2237), "/proportion" },
5132 - { GUINT_TO_POINTER (0x221D), "/proportional" },
5133 - { GUINT_TO_POINTER (0x03C8), "/psi" },
5134 - { GUINT_TO_POINTER (0x0471), "/psicyrillic" },
5135 - { GUINT_TO_POINTER (0x0486), "/psilipneumatacyrilliccmb" },
5136 - { GUINT_TO_POINTER (0x33B0), "/pssquare" },
5137 - { GUINT_TO_POINTER (0x3077), "/puhiragana" },
5138 - { GUINT_TO_POINTER (0x30D7), "/pukatakana" },
5139 - { GUINT_TO_POINTER (0x33B4), "/pvsquare" },
5140 - { GUINT_TO_POINTER (0x33BA), "/pwsquare" },
5141 - { GUINT_TO_POINTER (0x0071), "/q" },
5142 - { GUINT_TO_POINTER (0x0958), "/qadeva" },
5143 - { GUINT_TO_POINTER (0x05A8), "/qadmahebrew" },
5144 - { GUINT_TO_POINTER (0x0642), "/qafarabic" },
5145 - { GUINT_TO_POINTER (0xFED6), "/qaffinalarabic" },
5146 - { GUINT_TO_POINTER (0xFED7), "/qafinitialarabic" },
5147 - { GUINT_TO_POINTER (0xFED8), "/qafmedialarabic" },
5148 - { GUINT_TO_POINTER (0x05B8), "/qamats" },
5149 - { GUINT_TO_POINTER (0x05B8), "/qamats10" },
5150 - { GUINT_TO_POINTER (0x05B8), "/qamats1a" },
5151 - { GUINT_TO_POINTER (0x05B8), "/qamats1c" },
5152 - { GUINT_TO_POINTER (0x05B8), "/qamats27" },
5153 - { GUINT_TO_POINTER (0x05B8), "/qamats29" },
5154 - { GUINT_TO_POINTER (0x05B8), "/qamats33" },
5155 - { GUINT_TO_POINTER (0x05B8), "/qamatsde" },
5156 - { GUINT_TO_POINTER (0x05B8), "/qamatshebrew" },
5157 - { GUINT_TO_POINTER (0x05B8), "/qamatsnarrowhebrew" },
5158 - { GUINT_TO_POINTER (0x05B8), "/qamatsqatanhebrew" },
5159 - { GUINT_TO_POINTER (0x05B8), "/qamatsqatannarrowhebrew" },
5160 - { GUINT_TO_POINTER (0x05B8), "/qamatsqatanquarterhebrew" },
5161 - { GUINT_TO_POINTER (0x05B8), "/qamatsqatanwidehebrew" },
5162 - { GUINT_TO_POINTER (0x05B8), "/qamatsquarterhebrew" },
5163 - { GUINT_TO_POINTER (0x05B8), "/qamatswidehebrew" },
5164 - { GUINT_TO_POINTER (0x059F), "/qarneyparahebrew" },
5165 - { GUINT_TO_POINTER (0x3111), "/qbopomofo" },
5166 - { GUINT_TO_POINTER (0x24E0), "/qcircle" },
5167 - { GUINT_TO_POINTER (0x02A0), "/qhook" },
5168 - { GUINT_TO_POINTER (0xFF51), "/qmonospace" },
5169 - { GUINT_TO_POINTER (0x05E7), "/qof" },
5170 - { GUINT_TO_POINTER (0xFB47), "/qofdagesh" },
5171 - { GUINT_TO_POINTER (0xFB47), "/qofdageshhebrew" },
5172 - { GUINT_TO_POINTER (0x05E7), "/qofhatafpatah" },
5173 - { GUINT_TO_POINTER (0x05B2), "/qofhatafpatah" },
5174 - { GUINT_TO_POINTER (0x05E7), "/qofhatafpatahhebrew" },
5175 - { GUINT_TO_POINTER (0x05B2), "/qofhatafpatahhebrew" },
5176 - { GUINT_TO_POINTER (0x05E7), "/qofhatafsegol" },
5177 - { GUINT_TO_POINTER (0x05B1), "/qofhatafsegol" },
5178 - { GUINT_TO_POINTER (0x05E7), "/qofhatafsegolhebrew" },
5179 - { GUINT_TO_POINTER (0x05B1), "/qofhatafsegolhebrew" },
5180 - { GUINT_TO_POINTER (0x05E7), "/qofhebrew" },
5181 - { GUINT_TO_POINTER (0x05E7), "/qofhiriq" },
5182 - { GUINT_TO_POINTER (0x05B4), "/qofhiriq" },
5183 - { GUINT_TO_POINTER (0x05E7), "/qofhiriqhebrew" },
5184 - { GUINT_TO_POINTER (0x05B4), "/qofhiriqhebrew" },
5185 - { GUINT_TO_POINTER (0x05E7), "/qofholam" },
5186 - { GUINT_TO_POINTER (0x05B9), "/qofholam" },
5187 - { GUINT_TO_POINTER (0x05E7), "/qofholamhebrew" },
5188 - { GUINT_TO_POINTER (0x05B9), "/qofholamhebrew" },
5189 - { GUINT_TO_POINTER (0x05E7), "/qofpatah" },
5190 - { GUINT_TO_POINTER (0x05B7), "/qofpatah" },
5191 - { GUINT_TO_POINTER (0x05E7), "/qofpatahhebrew" },
5192 - { GUINT_TO_POINTER (0x05B7), "/qofpatahhebrew" },
5193 - { GUINT_TO_POINTER (0x05E7), "/qofqamats" },
5194 - { GUINT_TO_POINTER (0x05B8), "/qofqamats" },
5195 - { GUINT_TO_POINTER (0x05E7), "/qofqamatshebrew" },
5196 - { GUINT_TO_POINTER (0x05B8), "/qofqamatshebrew" },
5197 - { GUINT_TO_POINTER (0x05E7), "/qofqubuts" },
5198 - { GUINT_TO_POINTER (0x05BB), "/qofqubuts" },
5199 - { GUINT_TO_POINTER (0x05E7), "/qofqubutshebrew" },
5200 - { GUINT_TO_POINTER (0x05BB), "/qofqubutshebrew" },
5201 - { GUINT_TO_POINTER (0x05E7), "/qofsegol" },
5202 - { GUINT_TO_POINTER (0x05B6), "/qofsegol" },
5203 - { GUINT_TO_POINTER (0x05E7), "/qofsegolhebrew" },
5204 - { GUINT_TO_POINTER (0x05B6), "/qofsegolhebrew" },
5205 - { GUINT_TO_POINTER (0x05E7), "/qofsheva" },
5206 - { GUINT_TO_POINTER (0x05B0), "/qofsheva" },
5207 - { GUINT_TO_POINTER (0x05E7), "/qofshevahebrew" },
5208 - { GUINT_TO_POINTER (0x05B0), "/qofshevahebrew" },
5209 - { GUINT_TO_POINTER (0x05E7), "/qoftsere" },
5210 - { GUINT_TO_POINTER (0x05B5), "/qoftsere" },
5211 - { GUINT_TO_POINTER (0x05E7), "/qoftserehebrew" },
5212 - { GUINT_TO_POINTER (0x05B5), "/qoftserehebrew" },
5213 - { GUINT_TO_POINTER (0x24AC), "/qparen" },
5214 - { GUINT_TO_POINTER (0x2669), "/quarternote" },
5215 - { GUINT_TO_POINTER (0x05BB), "/qubuts" },
5216 - { GUINT_TO_POINTER (0x05BB), "/qubuts18" },
5217 - { GUINT_TO_POINTER (0x05BB), "/qubuts25" },
5218 - { GUINT_TO_POINTER (0x05BB), "/qubuts31" },
5219 - { GUINT_TO_POINTER (0x05BB), "/qubutshebrew" },
5220 - { GUINT_TO_POINTER (0x05BB), "/qubutsnarrowhebrew" },
5221 - { GUINT_TO_POINTER (0x05BB), "/qubutsquarterhebrew" },
5222 - { GUINT_TO_POINTER (0x05BB), "/qubutswidehebrew" },
5223 - { GUINT_TO_POINTER (0x003F), "/question" },
5224 - { GUINT_TO_POINTER (0x061F), "/questionarabic" },
5225 - { GUINT_TO_POINTER (0x055E), "/questionarmenian" },
5226 - { GUINT_TO_POINTER (0x00BF), "/questiondown" },
5227 - { GUINT_TO_POINTER (0xF7BF), "/questiondownsmall" },
5228 - { GUINT_TO_POINTER (0x037E), "/questiongreek" },
5229 - { GUINT_TO_POINTER (0xFF1F), "/questionmonospace" },
5230 - { GUINT_TO_POINTER (0xF73F), "/questionsmall" },
5231 - { GUINT_TO_POINTER (0x0022), "/quotedbl" },
5232 - { GUINT_TO_POINTER (0x201E), "/quotedblbase" },
5233 - { GUINT_TO_POINTER (0x201C), "/quotedblleft" },
5234 - { GUINT_TO_POINTER (0xFF02), "/quotedblmonospace" },
5235 - { GUINT_TO_POINTER (0x301E), "/quotedblprime" },
5236 - { GUINT_TO_POINTER (0x301D), "/quotedblprimereversed" },
5237 - { GUINT_TO_POINTER (0x201D), "/quotedblright" },
5238 - { GUINT_TO_POINTER (0x2018), "/quoteleft" },
5239 - { GUINT_TO_POINTER (0x201B), "/quoteleftreversed" },
5240 - { GUINT_TO_POINTER (0x201B), "/quotereversed" },
5241 - { GUINT_TO_POINTER (0x2019), "/quoteright" },
5242 - { GUINT_TO_POINTER (0x0149), "/quoterightn" },
5243 - { GUINT_TO_POINTER (0x201A), "/quotesinglbase" },
5244 - { GUINT_TO_POINTER (0x0027), "/quotesingle" },
5245 - { GUINT_TO_POINTER (0xFF07), "/quotesinglemonospace" },
5246 - { GUINT_TO_POINTER (0x0072), "/r" },
5247 - { GUINT_TO_POINTER (0x057C), "/raarmenian" },
5248 - { GUINT_TO_POINTER (0x09B0), "/rabengali" },
5249 - { GUINT_TO_POINTER (0x0155), "/racute" },
5250 - { GUINT_TO_POINTER (0x0930), "/radeva" },
5251 - { GUINT_TO_POINTER (0x221A), "/radical" },
5252 - { GUINT_TO_POINTER (0xF8E5), "/radicalex" },
5253 - { GUINT_TO_POINTER (0x33AE), "/radoverssquare" },
5254 - { GUINT_TO_POINTER (0x33AF), "/radoverssquaredsquare" },
5255 - { GUINT_TO_POINTER (0x33AD), "/radsquare" },
5256 - { GUINT_TO_POINTER (0x05BF), "/rafe" },
5257 - { GUINT_TO_POINTER (0x05BF), "/rafehebrew" },
5258 - { GUINT_TO_POINTER (0x0AB0), "/ragujarati" },
5259 - { GUINT_TO_POINTER (0x0A30), "/ragurmukhi" },
5260 - { GUINT_TO_POINTER (0x3089), "/rahiragana" },
5261 - { GUINT_TO_POINTER (0x30E9), "/rakatakana" },
5262 - { GUINT_TO_POINTER (0xFF97), "/rakatakanahalfwidth" },
5263 - { GUINT_TO_POINTER (0x09F1), "/ralowerdiagonalbengali" },
5264 - { GUINT_TO_POINTER (0x09F0), "/ramiddlediagonalbengali" },
5265 - { GUINT_TO_POINTER (0x0264), "/ramshorn" },
5266 - { GUINT_TO_POINTER (0x2236), "/ratio" },
5267 - { GUINT_TO_POINTER (0x3116), "/rbopomofo" },
5268 - { GUINT_TO_POINTER (0x0159), "/rcaron" },
5269 - { GUINT_TO_POINTER (0x0157), "/rcedilla" },
5270 - { GUINT_TO_POINTER (0x24E1), "/rcircle" },
5271 - { GUINT_TO_POINTER (0x0157), "/rcommaaccent" },
5272 - { GUINT_TO_POINTER (0x0211), "/rdblgrave" },
5273 - { GUINT_TO_POINTER (0x1E59), "/rdotaccent" },
5274 - { GUINT_TO_POINTER (0x1E5B), "/rdotbelow" },
5275 - { GUINT_TO_POINTER (0x1E5D), "/rdotbelowmacron" },
5276 - { GUINT_TO_POINTER (0x203B), "/referencemark" },
5277 - { GUINT_TO_POINTER (0x2286), "/reflexsubset" },
5278 - { GUINT_TO_POINTER (0x2287), "/reflexsuperset" },
5279 - { GUINT_TO_POINTER (0x00AE), "/registered" },
5280 - { GUINT_TO_POINTER (0xF8E8), "/registersans" },
5281 - { GUINT_TO_POINTER (0xF6DA), "/registerserif" },
5282 - { GUINT_TO_POINTER (0x0631), "/reharabic" },
5283 - { GUINT_TO_POINTER (0x0580), "/reharmenian" },
5284 - { GUINT_TO_POINTER (0xFEAE), "/rehfinalarabic" },
5285 - { GUINT_TO_POINTER (0x308C), "/rehiragana" },
5286 - { GUINT_TO_POINTER (0x0631), "/rehyehaleflamarabic" },
5287 - { GUINT_TO_POINTER (0xFEF3), "/rehyehaleflamarabic" },
5288 - { GUINT_TO_POINTER (0xFE8E), "/rehyehaleflamarabic" },
5289 - { GUINT_TO_POINTER (0x0644), "/rehyehaleflamarabic" },
5290 - { GUINT_TO_POINTER (0x30EC), "/rekatakana" },
5291 - { GUINT_TO_POINTER (0xFF9A), "/rekatakanahalfwidth" },
5292 - { GUINT_TO_POINTER (0x05E8), "/resh" },
5293 - { GUINT_TO_POINTER (0xFB48), "/reshdageshhebrew" },
5294 - { GUINT_TO_POINTER (0x05E8), "/reshhatafpatah" },
5295 - { GUINT_TO_POINTER (0x05B2), "/reshhatafpatah" },
5296 - { GUINT_TO_POINTER (0x05E8), "/reshhatafpatahhebrew" },
5297 - { GUINT_TO_POINTER (0x05B2), "/reshhatafpatahhebrew" },
5298 - { GUINT_TO_POINTER (0x05E8), "/reshhatafsegol" },
5299 - { GUINT_TO_POINTER (0x05B1), "/reshhatafsegol" },
5300 - { GUINT_TO_POINTER (0x05E8), "/reshhatafsegolhebrew" },
5301 - { GUINT_TO_POINTER (0x05B1), "/reshhatafsegolhebrew" },
5302 - { GUINT_TO_POINTER (0x05E8), "/reshhebrew" },
5303 - { GUINT_TO_POINTER (0x05E8), "/reshhiriq" },
5304 - { GUINT_TO_POINTER (0x05B4), "/reshhiriq" },
5305 - { GUINT_TO_POINTER (0x05E8), "/reshhiriqhebrew" },
5306 - { GUINT_TO_POINTER (0x05B4), "/reshhiriqhebrew" },
5307 - { GUINT_TO_POINTER (0x05E8), "/reshholam" },
5308 - { GUINT_TO_POINTER (0x05B9), "/reshholam" },
5309 - { GUINT_TO_POINTER (0x05E8), "/reshholamhebrew" },
5310 - { GUINT_TO_POINTER (0x05B9), "/reshholamhebrew" },
5311 - { GUINT_TO_POINTER (0x05E8), "/reshpatah" },
5312 - { GUINT_TO_POINTER (0x05B7), "/reshpatah" },
5313 - { GUINT_TO_POINTER (0x05E8), "/reshpatahhebrew" },
5314 - { GUINT_TO_POINTER (0x05B7), "/reshpatahhebrew" },
5315 - { GUINT_TO_POINTER (0x05E8), "/reshqamats" },
5316 - { GUINT_TO_POINTER (0x05B8), "/reshqamats" },
5317 - { GUINT_TO_POINTER (0x05E8), "/reshqamatshebrew" },
5318 - { GUINT_TO_POINTER (0x05B8), "/reshqamatshebrew" },
5319 - { GUINT_TO_POINTER (0x05E8), "/reshqubuts" },
5320 - { GUINT_TO_POINTER (0x05BB), "/reshqubuts" },
5321 - { GUINT_TO_POINTER (0x05E8), "/reshqubutshebrew" },
5322 - { GUINT_TO_POINTER (0x05BB), "/reshqubutshebrew" },
5323 - { GUINT_TO_POINTER (0x05E8), "/reshsegol" },
5324 - { GUINT_TO_POINTER (0x05B6), "/reshsegol" },
5325 - { GUINT_TO_POINTER (0x05E8), "/reshsegolhebrew" },
5326 - { GUINT_TO_POINTER (0x05B6), "/reshsegolhebrew" },
5327 - { GUINT_TO_POINTER (0x05E8), "/reshsheva" },
5328 - { GUINT_TO_POINTER (0x05B0), "/reshsheva" },
5329 - { GUINT_TO_POINTER (0x05E8), "/reshshevahebrew" },
5330 - { GUINT_TO_POINTER (0x05B0), "/reshshevahebrew" },
5331 - { GUINT_TO_POINTER (0x05E8), "/reshtsere" },
5332 - { GUINT_TO_POINTER (0x05B5), "/reshtsere" },
5333 - { GUINT_TO_POINTER (0x05E8), "/reshtserehebrew" },
5334 - { GUINT_TO_POINTER (0x05B5), "/reshtserehebrew" },
5335 - { GUINT_TO_POINTER (0x223D), "/reversedtilde" },
5336 - { GUINT_TO_POINTER (0x0597), "/reviahebrew" },
5337 - { GUINT_TO_POINTER (0x0597), "/reviamugrashhebrew" },
5338 - { GUINT_TO_POINTER (0x2310), "/revlogicalnot" },
5339 - { GUINT_TO_POINTER (0x027E), "/rfishhook" },
5340 - { GUINT_TO_POINTER (0x027F), "/rfishhookreversed" },
5341 - { GUINT_TO_POINTER (0x09DD), "/rhabengali" },
5342 - { GUINT_TO_POINTER (0x095D), "/rhadeva" },
5343 - { GUINT_TO_POINTER (0x03C1), "/rho" },
5344 - { GUINT_TO_POINTER (0x027D), "/rhook" },
5345 - { GUINT_TO_POINTER (0x027B), "/rhookturned" },
5346 - { GUINT_TO_POINTER (0x02B5), "/rhookturnedsuperior" },
5347 - { GUINT_TO_POINTER (0x03F1), "/rhosymbolgreek" },
5348 - { GUINT_TO_POINTER (0x02DE), "/rhotichookmod" },
5349 - { GUINT_TO_POINTER (0x3271), "/rieulacirclekorean" },
5350 - { GUINT_TO_POINTER (0x3211), "/rieulaparenkorean" },
5351 - { GUINT_TO_POINTER (0x3263), "/rieulcirclekorean" },
5352 - { GUINT_TO_POINTER (0x3140), "/rieulhieuhkorean" },
5353 - { GUINT_TO_POINTER (0x313A), "/rieulkiyeokkorean" },
5354 - { GUINT_TO_POINTER (0x3169), "/rieulkiyeoksioskorean" },
5355 - { GUINT_TO_POINTER (0x3139), "/rieulkorean" },
5356 - { GUINT_TO_POINTER (0x313B), "/rieulmieumkorean" },
5357 - { GUINT_TO_POINTER (0x316C), "/rieulpansioskorean" },
5358 - { GUINT_TO_POINTER (0x3203), "/rieulparenkorean" },
5359 - { GUINT_TO_POINTER (0x313F), "/rieulphieuphkorean" },
5360 - { GUINT_TO_POINTER (0x313C), "/rieulpieupkorean" },
5361 - { GUINT_TO_POINTER (0x316B), "/rieulpieupsioskorean" },
5362 - { GUINT_TO_POINTER (0x313D), "/rieulsioskorean" },
5363 - { GUINT_TO_POINTER (0x313E), "/rieulthieuthkorean" },
5364 - { GUINT_TO_POINTER (0x316A), "/rieultikeutkorean" },
5365 - { GUINT_TO_POINTER (0x316D), "/rieulyeorinhieuhkorean" },
5366 - { GUINT_TO_POINTER (0x221F), "/rightangle" },
5367 - { GUINT_TO_POINTER (0x0319), "/righttackbelowcmb" },
5368 - { GUINT_TO_POINTER (0x22BF), "/righttriangle" },
5369 - { GUINT_TO_POINTER (0x308A), "/rihiragana" },
5370 - { GUINT_TO_POINTER (0x30EA), "/rikatakana" },
5371 - { GUINT_TO_POINTER (0xFF98), "/rikatakanahalfwidth" },
5372 - { GUINT_TO_POINTER (0x02DA), "/ring" },
5373 - { GUINT_TO_POINTER (0x0325), "/ringbelowcmb" },
5374 - { GUINT_TO_POINTER (0x030A), "/ringcmb" },
5375 - { GUINT_TO_POINTER (0x02BF), "/ringhalfleft" },
5376 - { GUINT_TO_POINTER (0x0559), "/ringhalfleftarmenian" },
5377 - { GUINT_TO_POINTER (0x031C), "/ringhalfleftbelowcmb" },
5378 - { GUINT_TO_POINTER (0x02D3), "/ringhalfleftcentered" },
5379 - { GUINT_TO_POINTER (0x02BE), "/ringhalfright" },
5380 - { GUINT_TO_POINTER (0x0339), "/ringhalfrightbelowcmb" },
5381 - { GUINT_TO_POINTER (0x02D2), "/ringhalfrightcentered" },
5382 - { GUINT_TO_POINTER (0x0213), "/rinvertedbreve" },
5383 - { GUINT_TO_POINTER (0x3351), "/rittorusquare" },
5384 - { GUINT_TO_POINTER (0x1E5F), "/rlinebelow" },
5385 - { GUINT_TO_POINTER (0x027C), "/rlongleg" },
5386 - { GUINT_TO_POINTER (0x027A), "/rlonglegturned" },
5387 - { GUINT_TO_POINTER (0xFF52), "/rmonospace" },
5388 - { GUINT_TO_POINTER (0x308D), "/rohiragana" },
5389 - { GUINT_TO_POINTER (0x30ED), "/rokatakana" },
5390 - { GUINT_TO_POINTER (0xFF9B), "/rokatakanahalfwidth" },
5391 - { GUINT_TO_POINTER (0x0E23), "/roruathai" },
5392 - { GUINT_TO_POINTER (0x24AD), "/rparen" },
5393 - { GUINT_TO_POINTER (0x09DC), "/rrabengali" },
5394 - { GUINT_TO_POINTER (0x0931), "/rradeva" },
5395 - { GUINT_TO_POINTER (0x0A5C), "/rragurmukhi" },
5396 - { GUINT_TO_POINTER (0x0691), "/rreharabic" },
5397 - { GUINT_TO_POINTER (0xFB8D), "/rrehfinalarabic" },
5398 - { GUINT_TO_POINTER (0x09E0), "/rrvocalicbengali" },
5399 - { GUINT_TO_POINTER (0x0960), "/rrvocalicdeva" },
5400 - { GUINT_TO_POINTER (0x0AE0), "/rrvocalicgujarati" },
5401 - { GUINT_TO_POINTER (0x09C4), "/rrvocalicvowelsignbengali" },
5402 - { GUINT_TO_POINTER (0x0944), "/rrvocalicvowelsigndeva" },
5403 - { GUINT_TO_POINTER (0x0AC4), "/rrvocalicvowelsigngujarati" },
5404 - { GUINT_TO_POINTER (0xF6F1), "/rsuperior" },
5405 - { GUINT_TO_POINTER (0x2590), "/rtblock" },
5406 - { GUINT_TO_POINTER (0x0279), "/rturned" },
5407 - { GUINT_TO_POINTER (0x02B4), "/rturnedsuperior" },
5408 - { GUINT_TO_POINTER (0x308B), "/ruhiragana" },
5409 - { GUINT_TO_POINTER (0x30EB), "/rukatakana" },
5410 - { GUINT_TO_POINTER (0xFF99), "/rukatakanahalfwidth" },
5411 - { GUINT_TO_POINTER (0x09F2), "/rupeemarkbengali" },
5412 - { GUINT_TO_POINTER (0x09F3), "/rupeesignbengali" },
5413 - { GUINT_TO_POINTER (0xF6DD), "/rupiah" },
5414 - { GUINT_TO_POINTER (0x0E24), "/ruthai" },
5415 - { GUINT_TO_POINTER (0x098B), "/rvocalicbengali" },
5416 - { GUINT_TO_POINTER (0x090B), "/rvocalicdeva" },
5417 - { GUINT_TO_POINTER (0x0A8B), "/rvocalicgujarati" },
5418 - { GUINT_TO_POINTER (0x09C3), "/rvocalicvowelsignbengali" },
5419 - { GUINT_TO_POINTER (0x0943), "/rvocalicvowelsigndeva" },
5420 - { GUINT_TO_POINTER (0x0AC3), "/rvocalicvowelsigngujarati" },
5421 - { GUINT_TO_POINTER (0x0073), "/s" },
5422 - { GUINT_TO_POINTER (0x09B8), "/sabengali" },
5423 - { GUINT_TO_POINTER (0x015B), "/sacute" },
5424 - { GUINT_TO_POINTER (0x1E65), "/sacutedotaccent" },
5425 - { GUINT_TO_POINTER (0x0635), "/sadarabic" },
5426 - { GUINT_TO_POINTER (0x0938), "/sadeva" },
5427 - { GUINT_TO_POINTER (0xFEBA), "/sadfinalarabic" },
5428 - { GUINT_TO_POINTER (0xFEBB), "/sadinitialarabic" },
5429 - { GUINT_TO_POINTER (0xFEBC), "/sadmedialarabic" },
5430 - { GUINT_TO_POINTER (0x0AB8), "/sagujarati" },
5431 - { GUINT_TO_POINTER (0x0A38), "/sagurmukhi" },
5432 - { GUINT_TO_POINTER (0x3055), "/sahiragana" },
5433 - { GUINT_TO_POINTER (0x30B5), "/sakatakana" },
5434 - { GUINT_TO_POINTER (0xFF7B), "/sakatakanahalfwidth" },
5435 - { GUINT_TO_POINTER (0xFDFA), "/sallallahoualayhewasallamarabic" },
5436 - { GUINT_TO_POINTER (0x05E1), "/samekh" },
5437 - { GUINT_TO_POINTER (0xFB41), "/samekhdagesh" },
5438 - { GUINT_TO_POINTER (0xFB41), "/samekhdageshhebrew" },
5439 - { GUINT_TO_POINTER (0x05E1), "/samekhhebrew" },
5440 - { GUINT_TO_POINTER (0x0E32), "/saraaathai" },
5441 - { GUINT_TO_POINTER (0x0E41), "/saraaethai" },
5442 - { GUINT_TO_POINTER (0x0E44), "/saraaimaimalaithai" },
5443 - { GUINT_TO_POINTER (0x0E43), "/saraaimaimuanthai" },
5444 - { GUINT_TO_POINTER (0x0E33), "/saraamthai" },
5445 - { GUINT_TO_POINTER (0x0E30), "/saraathai" },
5446 - { GUINT_TO_POINTER (0x0E40), "/saraethai" },
5447 - { GUINT_TO_POINTER (0xF886), "/saraiileftthai" },
5448 - { GUINT_TO_POINTER (0x0E35), "/saraiithai" },
5449 - { GUINT_TO_POINTER (0xF885), "/saraileftthai" },
5450 - { GUINT_TO_POINTER (0x0E34), "/saraithai" },
5451 - { GUINT_TO_POINTER (0x0E42), "/saraothai" },
5452 - { GUINT_TO_POINTER (0xF888), "/saraueeleftthai" },
5453 - { GUINT_TO_POINTER (0x0E37), "/saraueethai" },
5454 - { GUINT_TO_POINTER (0xF887), "/saraueleftthai" },
5455 - { GUINT_TO_POINTER (0x0E36), "/sarauethai" },
5456 - { GUINT_TO_POINTER (0x0E38), "/sarauthai" },
5457 - { GUINT_TO_POINTER (0x0E39), "/sarauuthai" },
5458 - { GUINT_TO_POINTER (0x3119), "/sbopomofo" },
5459 - { GUINT_TO_POINTER (0x0161), "/scaron" },
5460 - { GUINT_TO_POINTER (0x1E67), "/scarondotaccent" },
5461 - { GUINT_TO_POINTER (0x015F), "/scedilla" },
5462 - { GUINT_TO_POINTER (0x0259), "/schwa" },
5463 - { GUINT_TO_POINTER (0x04D9), "/schwacyrillic" },
5464 - { GUINT_TO_POINTER (0x04DB), "/schwadieresiscyrillic" },
5465 - { GUINT_TO_POINTER (0x025A), "/schwahook" },
5466 - { GUINT_TO_POINTER (0x24E2), "/scircle" },
5467 - { GUINT_TO_POINTER (0x015D), "/scircumflex" },
5468 - { GUINT_TO_POINTER (0x0219), "/scommaaccent" },
5469 - { GUINT_TO_POINTER (0x1E61), "/sdotaccent" },
5470 - { GUINT_TO_POINTER (0x1E63), "/sdotbelow" },
5471 - { GUINT_TO_POINTER (0x1E69), "/sdotbelowdotaccent" },
5472 - { GUINT_TO_POINTER (0x033C), "/seagullbelowcmb" },
5473 - { GUINT_TO_POINTER (0x2033), "/second" },
5474 - { GUINT_TO_POINTER (0x02CA), "/secondtonechinese" },
5475 - { GUINT_TO_POINTER (0x00A7), "/section" },
5476 - { GUINT_TO_POINTER (0x0633), "/seenarabic" },
5477 - { GUINT_TO_POINTER (0xFEB2), "/seenfinalarabic" },
5478 - { GUINT_TO_POINTER (0xFEB3), "/seeninitialarabic" },
5479 - { GUINT_TO_POINTER (0xFEB4), "/seenmedialarabic" },
5480 - { GUINT_TO_POINTER (0x05B6), "/segol" },
5481 - { GUINT_TO_POINTER (0x05B6), "/segol13" },
5482 - { GUINT_TO_POINTER (0x05B6), "/segol1f" },
5483 - { GUINT_TO_POINTER (0x05B6), "/segol2c" },
5484 - { GUINT_TO_POINTER (0x05B6), "/segolhebrew" },
5485 - { GUINT_TO_POINTER (0x05B6), "/segolnarrowhebrew" },
5486 - { GUINT_TO_POINTER (0x05B6), "/segolquarterhebrew" },
5487 - { GUINT_TO_POINTER (0x0592), "/segoltahebrew" },
5488 - { GUINT_TO_POINTER (0x05B6), "/segolwidehebrew" },
5489 - { GUINT_TO_POINTER (0x057D), "/seharmenian" },
5490 - { GUINT_TO_POINTER (0x305B), "/sehiragana" },
5491 - { GUINT_TO_POINTER (0x30BB), "/sekatakana" },
5492 - { GUINT_TO_POINTER (0xFF7E), "/sekatakanahalfwidth" },
5493 - { GUINT_TO_POINTER (0x003B), "/semicolon" },
5494 - { GUINT_TO_POINTER (0x061B), "/semicolonarabic" },
5495 - { GUINT_TO_POINTER (0xFF1B), "/semicolonmonospace" },
5496 - { GUINT_TO_POINTER (0xFE54), "/semicolonsmall" },
5497 - { GUINT_TO_POINTER (0x309C), "/semivoicedmarkkana" },
5498 - { GUINT_TO_POINTER (0xFF9F), "/semivoicedmarkkanahalfwidth" },
5499 - { GUINT_TO_POINTER (0x3322), "/sentisquare" },
5500 - { GUINT_TO_POINTER (0x3323), "/sentosquare" },
5501 - { GUINT_TO_POINTER (0x0037), "/seven" },
5502 - { GUINT_TO_POINTER (0x0667), "/sevenarabic" },
5503 - { GUINT_TO_POINTER (0x09ED), "/sevenbengali" },
5504 - { GUINT_TO_POINTER (0x2466), "/sevencircle" },
5505 - { GUINT_TO_POINTER (0x2790), "/sevencircleinversesansserif" },
5506 - { GUINT_TO_POINTER (0x096D), "/sevendeva" },
5507 - { GUINT_TO_POINTER (0x215E), "/seveneighths" },
5508 - { GUINT_TO_POINTER (0x0AED), "/sevengujarati" },
5509 - { GUINT_TO_POINTER (0x0A6D), "/sevengurmukhi" },
5510 - { GUINT_TO_POINTER (0x0667), "/sevenhackarabic" },
5511 - { GUINT_TO_POINTER (0x3027), "/sevenhangzhou" },
5512 - { GUINT_TO_POINTER (0x3226), "/sevenideographicparen" },
5513 - { GUINT_TO_POINTER (0x2087), "/seveninferior" },
5514 - { GUINT_TO_POINTER (0xFF17), "/sevenmonospace" },
5515 - { GUINT_TO_POINTER (0xF737), "/sevenoldstyle" },
5516 - { GUINT_TO_POINTER (0x247A), "/sevenparen" },
5517 - { GUINT_TO_POINTER (0x248E), "/sevenperiod" },
5518 - { GUINT_TO_POINTER (0x06F7), "/sevenpersian" },
5519 - { GUINT_TO_POINTER (0x2176), "/sevenroman" },
5520 - { GUINT_TO_POINTER (0x2077), "/sevensuperior" },
5521 - { GUINT_TO_POINTER (0x2470), "/seventeencircle" },
5522 - { GUINT_TO_POINTER (0x2484), "/seventeenparen" },
5523 - { GUINT_TO_POINTER (0x2498), "/seventeenperiod" },
5524 - { GUINT_TO_POINTER (0x0E57), "/seventhai" },
5525 - { GUINT_TO_POINTER (0x00AD), "/sfthyphen" },
5526 - { GUINT_TO_POINTER (0x0577), "/shaarmenian" },
5527 - { GUINT_TO_POINTER (0x09B6), "/shabengali" },
5528 - { GUINT_TO_POINTER (0x0448), "/shacyrillic" },
5529 - { GUINT_TO_POINTER (0x0651), "/shaddaarabic" },
5530 - { GUINT_TO_POINTER (0xFC61), "/shaddadammaarabic" },
5531 - { GUINT_TO_POINTER (0xFC5E), "/shaddadammatanarabic" },
5532 - { GUINT_TO_POINTER (0xFC60), "/shaddafathaarabic" },
5533 - { GUINT_TO_POINTER (0x0651), "/shaddafathatanarabic" },
5534 - { GUINT_TO_POINTER (0x064B), "/shaddafathatanarabic" },
5535 - { GUINT_TO_POINTER (0xFC62), "/shaddakasraarabic" },
5536 - { GUINT_TO_POINTER (0xFC5F), "/shaddakasratanarabic" },
5537 - { GUINT_TO_POINTER (0x2592), "/shade" },
5538 - { GUINT_TO_POINTER (0x2593), "/shadedark" },
5539 - { GUINT_TO_POINTER (0x2591), "/shadelight" },
5540 - { GUINT_TO_POINTER (0x2592), "/shademedium" },
5541 - { GUINT_TO_POINTER (0x0936), "/shadeva" },
5542 - { GUINT_TO_POINTER (0x0AB6), "/shagujarati" },
5543 - { GUINT_TO_POINTER (0x0A36), "/shagurmukhi" },
5544 - { GUINT_TO_POINTER (0x0593), "/shalshelethebrew" },
5545 - { GUINT_TO_POINTER (0x3115), "/shbopomofo" },
5546 - { GUINT_TO_POINTER (0x0449), "/shchacyrillic" },
5547 - { GUINT_TO_POINTER (0x0634), "/sheenarabic" },
5548 - { GUINT_TO_POINTER (0xFEB6), "/sheenfinalarabic" },
5549 - { GUINT_TO_POINTER (0xFEB7), "/sheeninitialarabic" },
5550 - { GUINT_TO_POINTER (0xFEB8), "/sheenmedialarabic" },
5551 - { GUINT_TO_POINTER (0x03E3), "/sheicoptic" },
5552 - { GUINT_TO_POINTER (0x20AA), "/sheqel" },
5553 - { GUINT_TO_POINTER (0x20AA), "/sheqelhebrew" },
5554 - { GUINT_TO_POINTER (0x05B0), "/sheva" },
5555 - { GUINT_TO_POINTER (0x05B0), "/sheva115" },
5556 - { GUINT_TO_POINTER (0x05B0), "/sheva15" },
5557 - { GUINT_TO_POINTER (0x05B0), "/sheva22" },
5558 - { GUINT_TO_POINTER (0x05B0), "/sheva2e" },
5559 - { GUINT_TO_POINTER (0x05B0), "/shevahebrew" },
5560 - { GUINT_TO_POINTER (0x05B0), "/shevanarrowhebrew" },
5561 - { GUINT_TO_POINTER (0x05B0), "/shevaquarterhebrew" },
5562 - { GUINT_TO_POINTER (0x05B0), "/shevawidehebrew" },
5563 - { GUINT_TO_POINTER (0x04BB), "/shhacyrillic" },
5564 - { GUINT_TO_POINTER (0x03ED), "/shimacoptic" },
5565 - { GUINT_TO_POINTER (0x05E9), "/shin" },
5566 - { GUINT_TO_POINTER (0xFB49), "/shindagesh" },
5567 - { GUINT_TO_POINTER (0xFB49), "/shindageshhebrew" },
5568 - { GUINT_TO_POINTER (0xFB2C), "/shindageshshindot" },
5569 - { GUINT_TO_POINTER (0xFB2C), "/shindageshshindothebrew" },
5570 - { GUINT_TO_POINTER (0xFB2D), "/shindageshsindot" },
5571 - { GUINT_TO_POINTER (0xFB2D), "/shindageshsindothebrew" },
5572 - { GUINT_TO_POINTER (0x05C1), "/shindothebrew" },
5573 - { GUINT_TO_POINTER (0x05E9), "/shinhebrew" },
5574 - { GUINT_TO_POINTER (0xFB2A), "/shinshindot" },
5575 - { GUINT_TO_POINTER (0xFB2A), "/shinshindothebrew" },
5576 - { GUINT_TO_POINTER (0xFB2B), "/shinsindot" },
5577 - { GUINT_TO_POINTER (0xFB2B), "/shinsindothebrew" },
5578 - { GUINT_TO_POINTER (0x0282), "/shook" },
5579 - { GUINT_TO_POINTER (0x03C3), "/sigma" },
5580 - { GUINT_TO_POINTER (0x03C2), "/sigma1" },
5581 - { GUINT_TO_POINTER (0x03C2), "/sigmafinal" },
5582 - { GUINT_TO_POINTER (0x03F2), "/sigmalunatesymbolgreek" },
5583 - { GUINT_TO_POINTER (0x3057), "/sihiragana" },
5584 - { GUINT_TO_POINTER (0x30B7), "/sikatakana" },
5585 - { GUINT_TO_POINTER (0xFF7C), "/sikatakanahalfwidth" },
5586 - { GUINT_TO_POINTER (0x05BD), "/siluqhebrew" },
5587 - { GUINT_TO_POINTER (0x05BD), "/siluqlefthebrew" },
5588 - { GUINT_TO_POINTER (0x223C), "/similar" },
5589 - { GUINT_TO_POINTER (0x05C2), "/sindothebrew" },
5590 - { GUINT_TO_POINTER (0x3274), "/siosacirclekorean" },
5591 - { GUINT_TO_POINTER (0x3214), "/siosaparenkorean" },
5592 - { GUINT_TO_POINTER (0x317E), "/sioscieuckorean" },
5593 - { GUINT_TO_POINTER (0x3266), "/sioscirclekorean" },
5594 - { GUINT_TO_POINTER (0x317A), "/sioskiyeokkorean" },
5595 - { GUINT_TO_POINTER (0x3145), "/sioskorean" },
5596 - { GUINT_TO_POINTER (0x317B), "/siosnieunkorean" },
5597 - { GUINT_TO_POINTER (0x3206), "/siosparenkorean" },
5598 - { GUINT_TO_POINTER (0x317D), "/siospieupkorean" },
5599 - { GUINT_TO_POINTER (0x317C), "/siostikeutkorean" },
5600 - { GUINT_TO_POINTER (0x0036), "/six" },
5601 - { GUINT_TO_POINTER (0x0666), "/sixarabic" },
5602 - { GUINT_TO_POINTER (0x09EC), "/sixbengali" },
5603 - { GUINT_TO_POINTER (0x2465), "/sixcircle" },
5604 - { GUINT_TO_POINTER (0x278F), "/sixcircleinversesansserif" },
5605 - { GUINT_TO_POINTER (0x096C), "/sixdeva" },
5606 - { GUINT_TO_POINTER (0x0AEC), "/sixgujarati" },
5607 - { GUINT_TO_POINTER (0x0A6C), "/sixgurmukhi" },
5608 - { GUINT_TO_POINTER (0x0666), "/sixhackarabic" },
5609 - { GUINT_TO_POINTER (0x3026), "/sixhangzhou" },
5610 - { GUINT_TO_POINTER (0x3225), "/sixideographicparen" },
5611 - { GUINT_TO_POINTER (0x2086), "/sixinferior" },
5612 - { GUINT_TO_POINTER (0xFF16), "/sixmonospace" },
5613 - { GUINT_TO_POINTER (0xF736), "/sixoldstyle" },
5614 - { GUINT_TO_POINTER (0x2479), "/sixparen" },
5615 - { GUINT_TO_POINTER (0x248D), "/sixperiod" },
5616 - { GUINT_TO_POINTER (0x06F6), "/sixpersian" },
5617 - { GUINT_TO_POINTER (0x2175), "/sixroman" },
5618 - { GUINT_TO_POINTER (0x2076), "/sixsuperior" },
5619 - { GUINT_TO_POINTER (0x246F), "/sixteencircle" },
5620 - { GUINT_TO_POINTER (0x09F9), "/sixteencurrencydenominatorbengali" },
5621 - { GUINT_TO_POINTER (0x2483), "/sixteenparen" },
5622 - { GUINT_TO_POINTER (0x2497), "/sixteenperiod" },
5623 - { GUINT_TO_POINTER (0x0E56), "/sixthai" },
5624 - { GUINT_TO_POINTER (0x002F), "/slash" },
5625 - { GUINT_TO_POINTER (0xFF0F), "/slashmonospace" },
5626 - { GUINT_TO_POINTER (0x017F), "/slong" },
5627 - { GUINT_TO_POINTER (0x1E9B), "/slongdotaccent" },
5628 - { GUINT_TO_POINTER (0x263A), "/smileface" },
5629 - { GUINT_TO_POINTER (0xFF53), "/smonospace" },
5630 - { GUINT_TO_POINTER (0x05C3), "/sofpasuqhebrew" },
5631 - { GUINT_TO_POINTER (0x00AD), "/softhyphen" },
5632 - { GUINT_TO_POINTER (0x044C), "/softsigncyrillic" },
5633 - { GUINT_TO_POINTER (0x305D), "/sohiragana" },
5634 - { GUINT_TO_POINTER (0x30BD), "/sokatakana" },
5635 - { GUINT_TO_POINTER (0xFF7F), "/sokatakanahalfwidth" },
5636 - { GUINT_TO_POINTER (0x0338), "/soliduslongoverlaycmb" },
5637 - { GUINT_TO_POINTER (0x0337), "/solidusshortoverlaycmb" },
5638 - { GUINT_TO_POINTER (0x0E29), "/sorusithai" },
5639 - { GUINT_TO_POINTER (0x0E28), "/sosalathai" },
5640 - { GUINT_TO_POINTER (0x0E0B), "/sosothai" },
5641 - { GUINT_TO_POINTER (0x0E2A), "/sosuathai" },
5642 - { GUINT_TO_POINTER (0x0020), "/space" },
5643 - { GUINT_TO_POINTER (0x2660), "/spade" },
5644 - { GUINT_TO_POINTER (0x2660), "/spadesuitblack" },
5645 - { GUINT_TO_POINTER (0x2664), "/spadesuitwhite" },
5646 - { GUINT_TO_POINTER (0x24AE), "/sparen" },
5647 - { GUINT_TO_POINTER (0x033B), "/squarebelowcmb" },
5648 - { GUINT_TO_POINTER (0x33C4), "/squarecc" },
5649 - { GUINT_TO_POINTER (0x339D), "/squarecm" },
5650 - { GUINT_TO_POINTER (0x25A9), "/squarediagonalcrosshatchfill" },
5651 - { GUINT_TO_POINTER (0x25A4), "/squarehorizontalfill" },
5652 - { GUINT_TO_POINTER (0x338F), "/squarekg" },
5653 - { GUINT_TO_POINTER (0x339E), "/squarekm" },
5654 - { GUINT_TO_POINTER (0x33CE), "/squarekmcapital" },
5655 - { GUINT_TO_POINTER (0x33D1), "/squareln" },
5656 - { GUINT_TO_POINTER (0x33D2), "/squarelog" },
5657 - { GUINT_TO_POINTER (0x338E), "/squaremg" },
5658 - { GUINT_TO_POINTER (0x33D5), "/squaremil" },
5659 - { GUINT_TO_POINTER (0x339C), "/squaremm" },
5660 - { GUINT_TO_POINTER (0x33A1), "/squaremsquared" },
5661 - { GUINT_TO_POINTER (0x25A6), "/squareorthogonalcrosshatchfill" },
5662 - { GUINT_TO_POINTER (0x25A7), "/squareupperlefttolowerrightfill" },
5663 - { GUINT_TO_POINTER (0x25A8), "/squareupperrighttolowerleftfill" },
5664 - { GUINT_TO_POINTER (0x25A5), "/squareverticalfill" },
5665 - { GUINT_TO_POINTER (0x25A3), "/squarewhitewithsmallblack" },
5666 - { GUINT_TO_POINTER (0x33DB), "/srsquare" },
5667 - { GUINT_TO_POINTER (0x09B7), "/ssabengali" },
5668 - { GUINT_TO_POINTER (0x0937), "/ssadeva" },
5669 - { GUINT_TO_POINTER (0x0AB7), "/ssagujarati" },
5670 - { GUINT_TO_POINTER (0x3149), "/ssangcieuckorean" },
5671 - { GUINT_TO_POINTER (0x3185), "/ssanghieuhkorean" },
5672 - { GUINT_TO_POINTER (0x3180), "/ssangieungkorean" },
5673 - { GUINT_TO_POINTER (0x3132), "/ssangkiyeokkorean" },
5674 - { GUINT_TO_POINTER (0x3165), "/ssangnieunkorean" },
5675 - { GUINT_TO_POINTER (0x3143), "/ssangpieupkorean" },
5676 - { GUINT_TO_POINTER (0x3146), "/ssangsioskorean" },
5677 - { GUINT_TO_POINTER (0x3138), "/ssangtikeutkorean" },
5678 - { GUINT_TO_POINTER (0xF6F2), "/ssuperior" },
5679 - { GUINT_TO_POINTER (0x00A3), "/sterling" },
5680 - { GUINT_TO_POINTER (0xFFE1), "/sterlingmonospace" },
5681 - { GUINT_TO_POINTER (0x0336), "/strokelongoverlaycmb" },
5682 - { GUINT_TO_POINTER (0x0335), "/strokeshortoverlaycmb" },
5683 - { GUINT_TO_POINTER (0x2282), "/subset" },
5684 - { GUINT_TO_POINTER (0x228A), "/subsetnotequal" },
5685 - { GUINT_TO_POINTER (0x2286), "/subsetorequal" },
5686 - { GUINT_TO_POINTER (0x227B), "/succeeds" },
5687 - { GUINT_TO_POINTER (0x220B), "/suchthat" },
5688 - { GUINT_TO_POINTER (0x3059), "/suhiragana" },
5689 - { GUINT_TO_POINTER (0x30B9), "/sukatakana" },
5690 - { GUINT_TO_POINTER (0xFF7D), "/sukatakanahalfwidth" },
5691 - { GUINT_TO_POINTER (0x0652), "/sukunarabic" },
5692 - { GUINT_TO_POINTER (0x2211), "/summation" },
5693 - { GUINT_TO_POINTER (0x263C), "/sun" },
5694 - { GUINT_TO_POINTER (0x2283), "/superset" },
5695 - { GUINT_TO_POINTER (0x228B), "/supersetnotequal" },
5696 - { GUINT_TO_POINTER (0x2287), "/supersetorequal" },
5697 - { GUINT_TO_POINTER (0x33DC), "/svsquare" },
5698 - { GUINT_TO_POINTER (0x337C), "/syouwaerasquare" },
5699 - { GUINT_TO_POINTER (0x0074), "/t" },
5700 - { GUINT_TO_POINTER (0x09A4), "/tabengali" },
5701 - { GUINT_TO_POINTER (0x22A4), "/tackdown" },
5702 - { GUINT_TO_POINTER (0x22A3), "/tackleft" },
5703 - { GUINT_TO_POINTER (0x0924), "/tadeva" },
5704 - { GUINT_TO_POINTER (0x0AA4), "/tagujarati" },
5705 - { GUINT_TO_POINTER (0x0A24), "/tagurmukhi" },
5706 - { GUINT_TO_POINTER (0x0637), "/taharabic" },
5707 - { GUINT_TO_POINTER (0xFEC2), "/tahfinalarabic" },
5708 - { GUINT_TO_POINTER (0xFEC3), "/tahinitialarabic" },
5709 - { GUINT_TO_POINTER (0x305F), "/tahiragana" },
5710 - { GUINT_TO_POINTER (0xFEC4), "/tahmedialarabic" },
5711 - { GUINT_TO_POINTER (0x337D), "/taisyouerasquare" },
5712 - { GUINT_TO_POINTER (0x30BF), "/takatakana" },
5713 - { GUINT_TO_POINTER (0xFF80), "/takatakanahalfwidth" },
5714 - { GUINT_TO_POINTER (0x0640), "/tatweelarabic" },
5715 - { GUINT_TO_POINTER (0x03C4), "/tau" },
5716 - { GUINT_TO_POINTER (0x05EA), "/tav" },
5717 - { GUINT_TO_POINTER (0xFB4A), "/tavdages" },
5718 - { GUINT_TO_POINTER (0xFB4A), "/tavdagesh" },
5719 - { GUINT_TO_POINTER (0xFB4A), "/tavdageshhebrew" },
5720 - { GUINT_TO_POINTER (0x05EA), "/tavhebrew" },
5721 - { GUINT_TO_POINTER (0x0167), "/tbar" },
5722 - { GUINT_TO_POINTER (0x310A), "/tbopomofo" },
5723 - { GUINT_TO_POINTER (0x0165), "/tcaron" },
5724 - { GUINT_TO_POINTER (0x02A8), "/tccurl" },
5725 - { GUINT_TO_POINTER (0x0163), "/tcedilla" },
5726 - { GUINT_TO_POINTER (0x0686), "/tcheharabic" },
5727 - { GUINT_TO_POINTER (0xFB7B), "/tchehfinalarabic" },
5728 - { GUINT_TO_POINTER (0xFB7C), "/tchehinitialarabic" },
5729 - { GUINT_TO_POINTER (0xFB7D), "/tchehmedialarabic" },
5730 - { GUINT_TO_POINTER (0xFB7C), "/tchehmeeminitialarabic" },
5731 - { GUINT_TO_POINTER (0xFEE4), "/tchehmeeminitialarabic" },
5732 - { GUINT_TO_POINTER (0x24E3), "/tcircle" },
5733 - { GUINT_TO_POINTER (0x1E71), "/tcircumflexbelow" },
5734 - { GUINT_TO_POINTER (0x0163), "/tcommaaccent" },
5735 - { GUINT_TO_POINTER (0x1E97), "/tdieresis" },
5736 - { GUINT_TO_POINTER (0x1E6B), "/tdotaccent" },
5737 - { GUINT_TO_POINTER (0x1E6D), "/tdotbelow" },
5738 - { GUINT_TO_POINTER (0x0442), "/tecyrillic" },
5739 - { GUINT_TO_POINTER (0x04AD), "/tedescendercyrillic" },
5740 - { GUINT_TO_POINTER (0x062A), "/teharabic" },
5741 - { GUINT_TO_POINTER (0xFE96), "/tehfinalarabic" },
5742 - { GUINT_TO_POINTER (0xFCA2), "/tehhahinitialarabic" },
5743 - { GUINT_TO_POINTER (0xFC0C), "/tehhahisolatedarabic" },
5744 - { GUINT_TO_POINTER (0xFE97), "/tehinitialarabic" },
5745 - { GUINT_TO_POINTER (0x3066), "/tehiragana" },
5746 - { GUINT_TO_POINTER (0xFCA1), "/tehjeeminitialarabic" },
5747 - { GUINT_TO_POINTER (0xFC0B), "/tehjeemisolatedarabic" },
5748 - { GUINT_TO_POINTER (0x0629), "/tehmarbutaarabic" },
5749 - { GUINT_TO_POINTER (0xFE94), "/tehmarbutafinalarabic" },
5750 - { GUINT_TO_POINTER (0xFE98), "/tehmedialarabic" },
5751 - { GUINT_TO_POINTER (0xFCA4), "/tehmeeminitialarabic" },
5752 - { GUINT_TO_POINTER (0xFC0E), "/tehmeemisolatedarabic" },
5753 - { GUINT_TO_POINTER (0xFC73), "/tehnoonfinalarabic" },
5754 - { GUINT_TO_POINTER (0x30C6), "/tekatakana" },
5755 - { GUINT_TO_POINTER (0xFF83), "/tekatakanahalfwidth" },
5756 - { GUINT_TO_POINTER (0x2121), "/telephone" },
5757 - { GUINT_TO_POINTER (0x260E), "/telephoneblack" },
5758 - { GUINT_TO_POINTER (0x05A0), "/telishagedolahebrew" },
5759 - { GUINT_TO_POINTER (0x05A9), "/telishaqetanahebrew" },
5760 - { GUINT_TO_POINTER (0x2469), "/tencircle" },
5761 - { GUINT_TO_POINTER (0x3229), "/tenideographicparen" },
5762 - { GUINT_TO_POINTER (0x247D), "/tenparen" },
5763 - { GUINT_TO_POINTER (0x2491), "/tenperiod" },
5764 - { GUINT_TO_POINTER (0x2179), "/tenroman" },
5765 - { GUINT_TO_POINTER (0x02A7), "/tesh" },
5766 - { GUINT_TO_POINTER (0x05D8), "/tet" },
5767 - { GUINT_TO_POINTER (0xFB38), "/tetdagesh" },
5768 - { GUINT_TO_POINTER (0xFB38), "/tetdageshhebrew" },
5769 - { GUINT_TO_POINTER (0x05D8), "/tethebrew" },
5770 - { GUINT_TO_POINTER (0x04B5), "/tetsecyrillic" },
5771 - { GUINT_TO_POINTER (0x059B), "/tevirhebrew" },
5772 - { GUINT_TO_POINTER (0x059B), "/tevirlefthebrew" },
5773 - { GUINT_TO_POINTER (0x09A5), "/thabengali" },
5774 - { GUINT_TO_POINTER (0x0925), "/thadeva" },
5775 - { GUINT_TO_POINTER (0x0AA5), "/thagujarati" },
5776 - { GUINT_TO_POINTER (0x0A25), "/thagurmukhi" },
5777 - { GUINT_TO_POINTER (0x0630), "/thalarabic" },
5778 - { GUINT_TO_POINTER (0xFEAC), "/thalfinalarabic" },
5779 - { GUINT_TO_POINTER (0xF898), "/thanthakhatlowleftthai" },
5780 - { GUINT_TO_POINTER (0xF897), "/thanthakhatlowrightthai" },
5781 - { GUINT_TO_POINTER (0x0E4C), "/thanthakhatthai" },
5782 - { GUINT_TO_POINTER (0xF896), "/thanthakhatupperleftthai" },
5783 - { GUINT_TO_POINTER (0x062B), "/theharabic" },
5784 - { GUINT_TO_POINTER (0xFE9A), "/thehfinalarabic" },
5785 - { GUINT_TO_POINTER (0xFE9B), "/thehinitialarabic" },
5786 - { GUINT_TO_POINTER (0xFE9C), "/thehmedialarabic" },
5787 - { GUINT_TO_POINTER (0x2203), "/thereexists" },
5788 - { GUINT_TO_POINTER (0x2234), "/therefore" },
5789 - { GUINT_TO_POINTER (0x03B8), "/theta" },
5790 - { GUINT_TO_POINTER (0x03D1), "/theta1" },
5791 - { GUINT_TO_POINTER (0x03D1), "/thetasymbolgreek" },
5792 - { GUINT_TO_POINTER (0x3279), "/thieuthacirclekorean" },
5793 - { GUINT_TO_POINTER (0x3219), "/thieuthaparenkorean" },
5794 - { GUINT_TO_POINTER (0x326B), "/thieuthcirclekorean" },
5795 - { GUINT_TO_POINTER (0x314C), "/thieuthkorean" },
5796 - { GUINT_TO_POINTER (0x320B), "/thieuthparenkorean" },
5797 - { GUINT_TO_POINTER (0x246C), "/thirteencircle" },
5798 - { GUINT_TO_POINTER (0x2480), "/thirteenparen" },
5799 - { GUINT_TO_POINTER (0x2494), "/thirteenperiod" },
5800 - { GUINT_TO_POINTER (0x0E11), "/thonangmonthothai" },
5801 - { GUINT_TO_POINTER (0x01AD), "/thook" },
5802 - { GUINT_TO_POINTER (0x0E12), "/thophuthaothai" },
5803 - { GUINT_TO_POINTER (0x00FE), "/thorn" },
5804 - { GUINT_TO_POINTER (0x0E17), "/thothahanthai" },
5805 - { GUINT_TO_POINTER (0x0E10), "/thothanthai" },
5806 - { GUINT_TO_POINTER (0x0E18), "/thothongthai" },
5807 - { GUINT_TO_POINTER (0x0E16), "/thothungthai" },
5808 - { GUINT_TO_POINTER (0x0482), "/thousandcyrillic" },
5809 - { GUINT_TO_POINTER (0x066C), "/thousandsseparatorarabic" },
5810 - { GUINT_TO_POINTER (0x066C), "/thousandsseparatorpersian" },
5811 - { GUINT_TO_POINTER (0x0033), "/three" },
5812 - { GUINT_TO_POINTER (0x0663), "/threearabic" },
5813 - { GUINT_TO_POINTER (0x09E9), "/threebengali" },
5814 - { GUINT_TO_POINTER (0x2462), "/threecircle" },
5815 - { GUINT_TO_POINTER (0x278C), "/threecircleinversesansserif" },
5816 - { GUINT_TO_POINTER (0x0969), "/threedeva" },
5817 - { GUINT_TO_POINTER (0x215C), "/threeeighths" },
5818 - { GUINT_TO_POINTER (0x0AE9), "/threegujarati" },
5819 - { GUINT_TO_POINTER (0x0A69), "/threegurmukhi" },
5820 - { GUINT_TO_POINTER (0x0663), "/threehackarabic" },
5821 - { GUINT_TO_POINTER (0x3023), "/threehangzhou" },
5822 - { GUINT_TO_POINTER (0x3222), "/threeideographicparen" },
5823 - { GUINT_TO_POINTER (0x2083), "/threeinferior" },
5824 - { GUINT_TO_POINTER (0xFF13), "/threemonospace" },
5825 - { GUINT_TO_POINTER (0x09F6), "/threenumeratorbengali" },
5826 - { GUINT_TO_POINTER (0xF733), "/threeoldstyle" },
5827 - { GUINT_TO_POINTER (0x2476), "/threeparen" },
5828 - { GUINT_TO_POINTER (0x248A), "/threeperiod" },
5829 - { GUINT_TO_POINTER (0x06F3), "/threepersian" },
5830 - { GUINT_TO_POINTER (0x00BE), "/threequarters" },
5831 - { GUINT_TO_POINTER (0xF6DE), "/threequartersemdash" },
5832 - { GUINT_TO_POINTER (0x2172), "/threeroman" },
5833 - { GUINT_TO_POINTER (0x00B3), "/threesuperior" },
5834 - { GUINT_TO_POINTER (0x0E53), "/threethai" },
5835 - { GUINT_TO_POINTER (0x3394), "/thzsquare" },
5836 - { GUINT_TO_POINTER (0x3061), "/tihiragana" },
5837 - { GUINT_TO_POINTER (0x30C1), "/tikatakana" },
5838 - { GUINT_TO_POINTER (0xFF81), "/tikatakanahalfwidth" },
5839 - { GUINT_TO_POINTER (0x3270), "/tikeutacirclekorean" },
5840 - { GUINT_TO_POINTER (0x3210), "/tikeutaparenkorean" },
5841 - { GUINT_TO_POINTER (0x3262), "/tikeutcirclekorean" },
5842 - { GUINT_TO_POINTER (0x3137), "/tikeutkorean" },
5843 - { GUINT_TO_POINTER (0x3202), "/tikeutparenkorean" },
5844 - { GUINT_TO_POINTER (0x02DC), "/tilde" },
5845 - { GUINT_TO_POINTER (0x0330), "/tildebelowcmb" },
5846 - { GUINT_TO_POINTER (0x0303), "/tildecmb" },
5847 - { GUINT_TO_POINTER (0x0303), "/tildecomb" },
5848 - { GUINT_TO_POINTER (0x0360), "/tildedoublecmb" },
5849 - { GUINT_TO_POINTER (0x223C), "/tildeoperator" },
5850 - { GUINT_TO_POINTER (0x0334), "/tildeoverlaycmb" },
5851 - { GUINT_TO_POINTER (0x033E), "/tildeverticalcmb" },
5852 - { GUINT_TO_POINTER (0x2297), "/timescircle" },
5853 - { GUINT_TO_POINTER (0x0596), "/tipehahebrew" },
5854 - { GUINT_TO_POINTER (0x0596), "/tipehalefthebrew" },
5855 - { GUINT_TO_POINTER (0x0A70), "/tippigurmukhi" },
5856 - { GUINT_TO_POINTER (0x0483), "/titlocyrilliccmb" },
5857 - { GUINT_TO_POINTER (0x057F), "/tiwnarmenian" },
5858 - { GUINT_TO_POINTER (0x1E6F), "/tlinebelow" },
5859 - { GUINT_TO_POINTER (0xFF54), "/tmonospace" },
5860 - { GUINT_TO_POINTER (0x0569), "/toarmenian" },
5861 - { GUINT_TO_POINTER (0x3068), "/tohiragana" },
5862 - { GUINT_TO_POINTER (0x30C8), "/tokatakana" },
5863 - { GUINT_TO_POINTER (0xFF84), "/tokatakanahalfwidth" },
5864 - { GUINT_TO_POINTER (0x02E5), "/tonebarextrahighmod" },
5865 - { GUINT_TO_POINTER (0x02E9), "/tonebarextralowmod" },
5866 - { GUINT_TO_POINTER (0x02E6), "/tonebarhighmod" },
5867 - { GUINT_TO_POINTER (0x02E8), "/tonebarlowmod" },
5868 - { GUINT_TO_POINTER (0x02E7), "/tonebarmidmod" },
5869 - { GUINT_TO_POINTER (0x01BD), "/tonefive" },
5870 - { GUINT_TO_POINTER (0x0185), "/tonesix" },
5871 - { GUINT_TO_POINTER (0x01A8), "/tonetwo" },
5872 - { GUINT_TO_POINTER (0x0384), "/tonos" },
5873 - { GUINT_TO_POINTER (0x3327), "/tonsquare" },
5874 - { GUINT_TO_POINTER (0x0E0F), "/topatakthai" },
5875 - { GUINT_TO_POINTER (0x3014), "/tortoiseshellbracketleft" },
5876 - { GUINT_TO_POINTER (0xFE5D), "/tortoiseshellbracketleftsmall" },
5877 - { GUINT_TO_POINTER (0xFE39), "/tortoiseshellbracketleftvertical" },
5878 - { GUINT_TO_POINTER (0x3015), "/tortoiseshellbracketright" },
5879 - { GUINT_TO_POINTER (0xFE5E), "/tortoiseshellbracketrightsmall" },
5880 - { GUINT_TO_POINTER (0xFE3A), "/tortoiseshellbracketrightvertical" },
5881 - { GUINT_TO_POINTER (0x0E15), "/totaothai" },
5882 - { GUINT_TO_POINTER (0x01AB), "/tpalatalhook" },
5883 - { GUINT_TO_POINTER (0x24AF), "/tparen" },
5884 - { GUINT_TO_POINTER (0x2122), "/trademark" },
5885 - { GUINT_TO_POINTER (0xF8EA), "/trademarksans" },
5886 - { GUINT_TO_POINTER (0xF6DB), "/trademarkserif" },
5887 - { GUINT_TO_POINTER (0x0288), "/tretroflexhook" },
5888 - { GUINT_TO_POINTER (0x25BC), "/triagdn" },
5889 - { GUINT_TO_POINTER (0x25C4), "/triaglf" },
5890 - { GUINT_TO_POINTER (0x25BA), "/triagrt" },
5891 - { GUINT_TO_POINTER (0x25B2), "/triagup" },
5892 - { GUINT_TO_POINTER (0x02A6), "/ts" },
5893 - { GUINT_TO_POINTER (0x05E6), "/tsadi" },
5894 - { GUINT_TO_POINTER (0xFB46), "/tsadidagesh" },
5895 - { GUINT_TO_POINTER (0xFB46), "/tsadidageshhebrew" },
5896 - { GUINT_TO_POINTER (0x05E6), "/tsadihebrew" },
5897 - { GUINT_TO_POINTER (0x0446), "/tsecyrillic" },
5898 - { GUINT_TO_POINTER (0x05B5), "/tsere" },
5899 - { GUINT_TO_POINTER (0x05B5), "/tsere12" },
5900 - { GUINT_TO_POINTER (0x05B5), "/tsere1e" },
5901 - { GUINT_TO_POINTER (0x05B5), "/tsere2b" },
5902 - { GUINT_TO_POINTER (0x05B5), "/tserehebrew" },
5903 - { GUINT_TO_POINTER (0x05B5), "/tserenarrowhebrew" },
5904 - { GUINT_TO_POINTER (0x05B5), "/tserequarterhebrew" },
5905 - { GUINT_TO_POINTER (0x05B5), "/tserewidehebrew" },
5906 - { GUINT_TO_POINTER (0x045B), "/tshecyrillic" },
5907 - { GUINT_TO_POINTER (0xF6F3), "/tsuperior" },
5908 - { GUINT_TO_POINTER (0x099F), "/ttabengali" },
5909 - { GUINT_TO_POINTER (0x091F), "/ttadeva" },
5910 - { GUINT_TO_POINTER (0x0A9F), "/ttagujarati" },
5911 - { GUINT_TO_POINTER (0x0A1F), "/ttagurmukhi" },
5912 - { GUINT_TO_POINTER (0x0679), "/tteharabic" },
5913 - { GUINT_TO_POINTER (0xFB67), "/ttehfinalarabic" },
5914 - { GUINT_TO_POINTER (0xFB68), "/ttehinitialarabic" },
5915 - { GUINT_TO_POINTER (0xFB69), "/ttehmedialarabic" },
5916 - { GUINT_TO_POINTER (0x09A0), "/tthabengali" },
5917 - { GUINT_TO_POINTER (0x0920), "/tthadeva" },
5918 - { GUINT_TO_POINTER (0x0AA0), "/tthagujarati" },
5919 - { GUINT_TO_POINTER (0x0A20), "/tthagurmukhi" },
5920 - { GUINT_TO_POINTER (0x0287), "/tturned" },
5921 - { GUINT_TO_POINTER (0x3064), "/tuhiragana" },
5922 - { GUINT_TO_POINTER (0x30C4), "/tukatakana" },
5923 - { GUINT_TO_POINTER (0xFF82), "/tukatakanahalfwidth" },
5924 - { GUINT_TO_POINTER (0x3063), "/tusmallhiragana" },
5925 - { GUINT_TO_POINTER (0x30C3), "/tusmallkatakana" },
5926 - { GUINT_TO_POINTER (0xFF6F), "/tusmallkatakanahalfwidth" },
5927 - { GUINT_TO_POINTER (0x246B), "/twelvecircle" },
5928 - { GUINT_TO_POINTER (0x247F), "/twelveparen" },
5929 - { GUINT_TO_POINTER (0x2493), "/twelveperiod" },
5930 - { GUINT_TO_POINTER (0x217B), "/twelveroman" },
5931 - { GUINT_TO_POINTER (0x2473), "/twentycircle" },
5932 - { GUINT_TO_POINTER (0x5344), "/twentyhangzhou" },
5933 - { GUINT_TO_POINTER (0x2487), "/twentyparen" },
5934 - { GUINT_TO_POINTER (0x249B), "/twentyperiod" },
5935 - { GUINT_TO_POINTER (0x0032), "/two" },
5936 - { GUINT_TO_POINTER (0x0662), "/twoarabic" },
5937 - { GUINT_TO_POINTER (0x09E8), "/twobengali" },
5938 - { GUINT_TO_POINTER (0x2461), "/twocircle" },
5939 - { GUINT_TO_POINTER (0x278B), "/twocircleinversesansserif" },
5940 - { GUINT_TO_POINTER (0x0968), "/twodeva" },
5941 - { GUINT_TO_POINTER (0x2025), "/twodotenleader" },
5942 - { GUINT_TO_POINTER (0x2025), "/twodotleader" },
5943 - { GUINT_TO_POINTER (0xFE30), "/twodotleadervertical" },
5944 - { GUINT_TO_POINTER (0x0AE8), "/twogujarati" },
5945 - { GUINT_TO_POINTER (0x0A68), "/twogurmukhi" },
5946 - { GUINT_TO_POINTER (0x0662), "/twohackarabic" },
5947 - { GUINT_TO_POINTER (0x3022), "/twohangzhou" },
5948 - { GUINT_TO_POINTER (0x3221), "/twoideographicparen" },
5949 - { GUINT_TO_POINTER (0x2082), "/twoinferior" },
5950 - { GUINT_TO_POINTER (0xFF12), "/twomonospace" },
5951 - { GUINT_TO_POINTER (0x09F5), "/twonumeratorbengali" },
5952 - { GUINT_TO_POINTER (0xF732), "/twooldstyle" },
5953 - { GUINT_TO_POINTER (0x2475), "/twoparen" },
5954 - { GUINT_TO_POINTER (0x2489), "/twoperiod" },
5955 - { GUINT_TO_POINTER (0x06F2), "/twopersian" },
5956 - { GUINT_TO_POINTER (0x2171), "/tworoman" },
5957 - { GUINT_TO_POINTER (0x01BB), "/twostroke" },
5958 - { GUINT_TO_POINTER (0x00B2), "/twosuperior" },
5959 - { GUINT_TO_POINTER (0x0E52), "/twothai" },
5960 - { GUINT_TO_POINTER (0x2154), "/twothirds" },
5961 - { GUINT_TO_POINTER (0x0075), "/u" },
5962 - { GUINT_TO_POINTER (0x00FA), "/uacute" },
5963 - { GUINT_TO_POINTER (0x0289), "/ubar" },
5964 - { GUINT_TO_POINTER (0x0989), "/ubengali" },
5965 - { GUINT_TO_POINTER (0x3128), "/ubopomofo" },
5966 - { GUINT_TO_POINTER (0x016D), "/ubreve" },
5967 - { GUINT_TO_POINTER (0x01D4), "/ucaron" },
5968 - { GUINT_TO_POINTER (0x24E4), "/ucircle" },
5969 - { GUINT_TO_POINTER (0x00FB), "/ucircumflex" },
5970 - { GUINT_TO_POINTER (0x1E77), "/ucircumflexbelow" },
5971 - { GUINT_TO_POINTER (0x0443), "/ucyrillic" },
5972 - { GUINT_TO_POINTER (0x0951), "/udattadeva" },
5973 - { GUINT_TO_POINTER (0x0171), "/udblacute" },
5974 - { GUINT_TO_POINTER (0x0215), "/udblgrave" },
5975 - { GUINT_TO_POINTER (0x0909), "/udeva" },
5976 - { GUINT_TO_POINTER (0x00FC), "/udieresis" },
5977 - { GUINT_TO_POINTER (0x01D8), "/udieresisacute" },
5978 - { GUINT_TO_POINTER (0x1E73), "/udieresisbelow" },
5979 - { GUINT_TO_POINTER (0x01DA), "/udieresiscaron" },
5980 - { GUINT_TO_POINTER (0x04F1), "/udieresiscyrillic" },
5981 - { GUINT_TO_POINTER (0x01DC), "/udieresisgrave" },
5982 - { GUINT_TO_POINTER (0x01D6), "/udieresismacron" },
5983 - { GUINT_TO_POINTER (0x1EE5), "/udotbelow" },
5984 - { GUINT_TO_POINTER (0x00F9), "/ugrave" },
5985 - { GUINT_TO_POINTER (0x0A89), "/ugujarati" },
5986 - { GUINT_TO_POINTER (0x0A09), "/ugurmukhi" },
5987 - { GUINT_TO_POINTER (0x3046), "/uhiragana" },
5988 - { GUINT_TO_POINTER (0x1EE7), "/uhookabove" },
5989 - { GUINT_TO_POINTER (0x01B0), "/uhorn" },
5990 - { GUINT_TO_POINTER (0x1EE9), "/uhornacute" },
5991 - { GUINT_TO_POINTER (0x1EF1), "/uhorndotbelow" },
5992 - { GUINT_TO_POINTER (0x1EEB), "/uhorngrave" },
5993 - { GUINT_TO_POINTER (0x1EED), "/uhornhookabove" },
5994 - { GUINT_TO_POINTER (0x1EEF), "/uhorntilde" },
5995 - { GUINT_TO_POINTER (0x0171), "/uhungarumlaut" },
5996 - { GUINT_TO_POINTER (0x04F3), "/uhungarumlautcyrillic" },
5997 - { GUINT_TO_POINTER (0x0217), "/uinvertedbreve" },
5998 - { GUINT_TO_POINTER (0x30A6), "/ukatakana" },
5999 - { GUINT_TO_POINTER (0xFF73), "/ukatakanahalfwidth" },
6000 - { GUINT_TO_POINTER (0x0479), "/ukcyrillic" },
6001 - { GUINT_TO_POINTER (0x315C), "/ukorean" },
6002 - { GUINT_TO_POINTER (0x016B), "/umacron" },
6003 - { GUINT_TO_POINTER (0x04EF), "/umacroncyrillic" },
6004 - { GUINT_TO_POINTER (0x1E7B), "/umacrondieresis" },
6005 - { GUINT_TO_POINTER (0x0A41), "/umatragurmukhi" },
6006 - { GUINT_TO_POINTER (0xFF55), "/umonospace" },
6007 - { GUINT_TO_POINTER (0x005F), "/underscore" },
6008 - { GUINT_TO_POINTER (0x2017), "/underscoredbl" },
6009 - { GUINT_TO_POINTER (0xFF3F), "/underscoremonospace" },
6010 - { GUINT_TO_POINTER (0xFE33), "/underscorevertical" },
6011 - { GUINT_TO_POINTER (0xFE4F), "/underscorewavy" },
6012 - { GUINT_TO_POINTER (0x222A), "/union" },
6013 - { GUINT_TO_POINTER (0x2200), "/universal" },
6014 - { GUINT_TO_POINTER (0x0173), "/uogonek" },
6015 - { GUINT_TO_POINTER (0x24B0), "/uparen" },
6016 - { GUINT_TO_POINTER (0x2580), "/upblock" },
6017 - { GUINT_TO_POINTER (0x05C4), "/upperdothebrew" },
6018 - { GUINT_TO_POINTER (0x03C5), "/upsilon" },
6019 - { GUINT_TO_POINTER (0x03CB), "/upsilondieresis" },
6020 - { GUINT_TO_POINTER (0x03B0), "/upsilondieresistonos" },
6021 - { GUINT_TO_POINTER (0x028A), "/upsilonlatin" },
6022 - { GUINT_TO_POINTER (0x03CD), "/upsilontonos" },
6023 - { GUINT_TO_POINTER (0x031D), "/uptackbelowcmb" },
6024 - { GUINT_TO_POINTER (0x02D4), "/uptackmod" },
6025 - { GUINT_TO_POINTER (0x0A73), "/uragurmukhi" },
6026 - { GUINT_TO_POINTER (0x016F), "/uring" },
6027 - { GUINT_TO_POINTER (0x045E), "/ushortcyrillic" },
6028 - { GUINT_TO_POINTER (0x3045), "/usmallhiragana" },
6029 - { GUINT_TO_POINTER (0x30A5), "/usmallkatakana" },
6030 - { GUINT_TO_POINTER (0xFF69), "/usmallkatakanahalfwidth" },
6031 - { GUINT_TO_POINTER (0x04AF), "/ustraightcyrillic" },
6032 - { GUINT_TO_POINTER (0x04B1), "/ustraightstrokecyrillic" },
6033 - { GUINT_TO_POINTER (0x0169), "/utilde" },
6034 - { GUINT_TO_POINTER (0x1E79), "/utildeacute" },
6035 - { GUINT_TO_POINTER (0x1E75), "/utildebelow" },
6036 - { GUINT_TO_POINTER (0x098A), "/uubengali" },
6037 - { GUINT_TO_POINTER (0x090A), "/uudeva" },
6038 - { GUINT_TO_POINTER (0x0A8A), "/uugujarati" },
6039 - { GUINT_TO_POINTER (0x0A0A), "/uugurmukhi" },
6040 - { GUINT_TO_POINTER (0x0A42), "/uumatragurmukhi" },
6041 - { GUINT_TO_POINTER (0x09C2), "/uuvowelsignbengali" },
6042 - { GUINT_TO_POINTER (0x0942), "/uuvowelsigndeva" },
6043 - { GUINT_TO_POINTER (0x0AC2), "/uuvowelsigngujarati" },
6044 - { GUINT_TO_POINTER (0x09C1), "/uvowelsignbengali" },
6045 - { GUINT_TO_POINTER (0x0941), "/uvowelsigndeva" },
6046 - { GUINT_TO_POINTER (0x0AC1), "/uvowelsigngujarati" },
6047 - { GUINT_TO_POINTER (0x0076), "/v" },
6048 - { GUINT_TO_POINTER (0x0935), "/vadeva" },
6049 - { GUINT_TO_POINTER (0x0AB5), "/vagujarati" },
6050 - { GUINT_TO_POINTER (0x0A35), "/vagurmukhi" },
6051 - { GUINT_TO_POINTER (0x30F7), "/vakatakana" },
6052 - { GUINT_TO_POINTER (0x05D5), "/vav" },
6053 - { GUINT_TO_POINTER (0xFB35), "/vavdagesh" },
6054 - { GUINT_TO_POINTER (0xFB35), "/vavdagesh65" },
6055 - { GUINT_TO_POINTER (0xFB35), "/vavdageshhebrew" },
6056 - { GUINT_TO_POINTER (0x05D5), "/vavhebrew" },
6057 - { GUINT_TO_POINTER (0xFB4B), "/vavholam" },
6058 - { GUINT_TO_POINTER (0xFB4B), "/vavholamhebrew" },
6059 - { GUINT_TO_POINTER (0x05F0), "/vavvavhebrew" },
6060 - { GUINT_TO_POINTER (0x05F1), "/vavyodhebrew" },
6061 - { GUINT_TO_POINTER (0x24E5), "/vcircle" },
6062 - { GUINT_TO_POINTER (0x1E7F), "/vdotbelow" },
6063 - { GUINT_TO_POINTER (0x0432), "/vecyrillic" },
6064 - { GUINT_TO_POINTER (0x06A4), "/veharabic" },
6065 - { GUINT_TO_POINTER (0xFB6B), "/vehfinalarabic" },
6066 - { GUINT_TO_POINTER (0xFB6C), "/vehinitialarabic" },
6067 - { GUINT_TO_POINTER (0xFB6D), "/vehmedialarabic" },
6068 - { GUINT_TO_POINTER (0x30F9), "/vekatakana" },
6069 - { GUINT_TO_POINTER (0x2640), "/venus" },
6070 - { GUINT_TO_POINTER (0x007C), "/verticalbar" },
6071 - { GUINT_TO_POINTER (0x030D), "/verticallineabovecmb" },
6072 - { GUINT_TO_POINTER (0x0329), "/verticallinebelowcmb" },
6073 - { GUINT_TO_POINTER (0x02CC), "/verticallinelowmod" },
6074 - { GUINT_TO_POINTER (0x02C8), "/verticallinemod" },
6075 - { GUINT_TO_POINTER (0x057E), "/vewarmenian" },
6076 - { GUINT_TO_POINTER (0x028B), "/vhook" },
6077 - { GUINT_TO_POINTER (0x30F8), "/vikatakana" },
6078 - { GUINT_TO_POINTER (0x09CD), "/viramabengali" },
6079 - { GUINT_TO_POINTER (0x094D), "/viramadeva" },
6080 - { GUINT_TO_POINTER (0x0ACD), "/viramagujarati" },
6081 - { GUINT_TO_POINTER (0x0983), "/visargabengali" },
6082 - { GUINT_TO_POINTER (0x0903), "/visargadeva" },
6083 - { GUINT_TO_POINTER (0x0A83), "/visargagujarati" },
6084 - { GUINT_TO_POINTER (0xFF56), "/vmonospace" },
6085 - { GUINT_TO_POINTER (0x0578), "/voarmenian" },
6086 - { GUINT_TO_POINTER (0x309E), "/voicediterationhiragana" },
6087 - { GUINT_TO_POINTER (0x30FE), "/voicediterationkatakana" },
6088 - { GUINT_TO_POINTER (0x309B), "/voicedmarkkana" },
6089 - { GUINT_TO_POINTER (0xFF9E), "/voicedmarkkanahalfwidth" },
6090 - { GUINT_TO_POINTER (0x30FA), "/vokatakana" },
6091 - { GUINT_TO_POINTER (0x24B1), "/vparen" },
6092 - { GUINT_TO_POINTER (0x1E7D), "/vtilde" },
6093 - { GUINT_TO_POINTER (0x028C), "/vturned" },
6094 - { GUINT_TO_POINTER (0x3094), "/vuhiragana" },
6095 - { GUINT_TO_POINTER (0x30F4), "/vukatakana" },
6096 - { GUINT_TO_POINTER (0x0077), "/w" },
6097 - { GUINT_TO_POINTER (0x1E83), "/wacute" },
6098 - { GUINT_TO_POINTER (0x3159), "/waekorean" },
6099 - { GUINT_TO_POINTER (0x308F), "/wahiragana" },
6100 - { GUINT_TO_POINTER (0x30EF), "/wakatakana" },
6101 - { GUINT_TO_POINTER (0xFF9C), "/wakatakanahalfwidth" },
6102 - { GUINT_TO_POINTER (0x3158), "/wakorean" },
6103 - { GUINT_TO_POINTER (0x308E), "/wasmallhiragana" },
6104 - { GUINT_TO_POINTER (0x30EE), "/wasmallkatakana" },
6105 - { GUINT_TO_POINTER (0x3357), "/wattosquare" },
6106 - { GUINT_TO_POINTER (0x301C), "/wavedash" },
6107 - { GUINT_TO_POINTER (0xFE34), "/wavyunderscorevertical" },
6108 - { GUINT_TO_POINTER (0x0648), "/wawarabic" },
6109 - { GUINT_TO_POINTER (0xFEEE), "/wawfinalarabic" },
6110 - { GUINT_TO_POINTER (0x0624), "/wawhamzaabovearabic" },
6111 - { GUINT_TO_POINTER (0xFE86), "/wawhamzaabovefinalarabic" },
6112 - { GUINT_TO_POINTER (0x33DD), "/wbsquare" },
6113 - { GUINT_TO_POINTER (0x24E6), "/wcircle" },
6114 - { GUINT_TO_POINTER (0x0175), "/wcircumflex" },
6115 - { GUINT_TO_POINTER (0x1E85), "/wdieresis" },
6116 - { GUINT_TO_POINTER (0x1E87), "/wdotaccent" },
6117 - { GUINT_TO_POINTER (0x1E89), "/wdotbelow" },
6118 - { GUINT_TO_POINTER (0x3091), "/wehiragana" },
6119 - { GUINT_TO_POINTER (0x2118), "/weierstrass" },
6120 - { GUINT_TO_POINTER (0x30F1), "/wekatakana" },
6121 - { GUINT_TO_POINTER (0x315E), "/wekorean" },
6122 - { GUINT_TO_POINTER (0x315D), "/weokorean" },
6123 - { GUINT_TO_POINTER (0x1E81), "/wgrave" },
6124 - { GUINT_TO_POINTER (0x25E6), "/whitebullet" },
6125 - { GUINT_TO_POINTER (0x25CB), "/whitecircle" },
6126 - { GUINT_TO_POINTER (0x25D9), "/whitecircleinverse" },
6127 - { GUINT_TO_POINTER (0x300E), "/whitecornerbracketleft" },
6128 - { GUINT_TO_POINTER (0xFE43), "/whitecornerbracketleftvertical" },
6129 - { GUINT_TO_POINTER (0x300F), "/whitecornerbracketright" },
6130 - { GUINT_TO_POINTER (0xFE44), "/whitecornerbracketrightvertical" },
6131 - { GUINT_TO_POINTER (0x25C7), "/whitediamond" },
6132 - { GUINT_TO_POINTER (0x25C8), "/whitediamondcontainingblacksmalldiamond" },
6133 - { GUINT_TO_POINTER (0x25BF), "/whitedownpointingsmalltriangle" },
6134 - { GUINT_TO_POINTER (0x25BD), "/whitedownpointingtriangle" },
6135 - { GUINT_TO_POINTER (0x25C3), "/whiteleftpointingsmalltriangle" },
6136 - { GUINT_TO_POINTER (0x25C1), "/whiteleftpointingtriangle" },
6137 - { GUINT_TO_POINTER (0x3016), "/whitelenticularbracketleft" },
6138 - { GUINT_TO_POINTER (0x3017), "/whitelenticularbracketright" },
6139 - { GUINT_TO_POINTER (0x25B9), "/whiterightpointingsmalltriangle" },
6140 - { GUINT_TO_POINTER (0x25B7), "/whiterightpointingtriangle" },
6141 - { GUINT_TO_POINTER (0x25AB), "/whitesmallsquare" },
6142 - { GUINT_TO_POINTER (0x263A), "/whitesmilingface" },
6143 - { GUINT_TO_POINTER (0x25A1), "/whitesquare" },
6144 - { GUINT_TO_POINTER (0x2606), "/whitestar" },
6145 - { GUINT_TO_POINTER (0x260F), "/whitetelephone" },
6146 - { GUINT_TO_POINTER (0x3018), "/whitetortoiseshellbracketleft" },
6147 - { GUINT_TO_POINTER (0x3019), "/whitetortoiseshellbracketright" },
6148 - { GUINT_TO_POINTER (0x25B5), "/whiteuppointingsmalltriangle" },
6149 - { GUINT_TO_POINTER (0x25B3), "/whiteuppointingtriangle" },
6150 - { GUINT_TO_POINTER (0x3090), "/wihiragana" },
6151 - { GUINT_TO_POINTER (0x30F0), "/wikatakana" },
6152 - { GUINT_TO_POINTER (0x315F), "/wikorean" },
6153 - { GUINT_TO_POINTER (0xFF57), "/wmonospace" },
6154 - { GUINT_TO_POINTER (0x3092), "/wohiragana" },
6155 - { GUINT_TO_POINTER (0x30F2), "/wokatakana" },
6156 - { GUINT_TO_POINTER (0xFF66), "/wokatakanahalfwidth" },
6157 - { GUINT_TO_POINTER (0x20A9), "/won" },
6158 - { GUINT_TO_POINTER (0xFFE6), "/wonmonospace" },
6159 - { GUINT_TO_POINTER (0x0E27), "/wowaenthai" },
6160 - { GUINT_TO_POINTER (0x24B2), "/wparen" },
6161 - { GUINT_TO_POINTER (0x1E98), "/wring" },
6162 - { GUINT_TO_POINTER (0x02B7), "/wsuperior" },
6163 - { GUINT_TO_POINTER (0x028D), "/wturned" },
6164 - { GUINT_TO_POINTER (0x01BF), "/wynn" },
6165 - { GUINT_TO_POINTER (0x0078), "/x" },
6166 - { GUINT_TO_POINTER (0x033D), "/xabovecmb" },
6167 - { GUINT_TO_POINTER (0x3112), "/xbopomofo" },
6168 - { GUINT_TO_POINTER (0x24E7), "/xcircle" },
6169 - { GUINT_TO_POINTER (0x1E8D), "/xdieresis" },
6170 - { GUINT_TO_POINTER (0x1E8B), "/xdotaccent" },
6171 - { GUINT_TO_POINTER (0x056D), "/xeharmenian" },
6172 - { GUINT_TO_POINTER (0x03BE), "/xi" },
6173 - { GUINT_TO_POINTER (0xFF58), "/xmonospace" },
6174 - { GUINT_TO_POINTER (0x24B3), "/xparen" },
6175 - { GUINT_TO_POINTER (0x02E3), "/xsuperior" },
6176 - { GUINT_TO_POINTER (0x0079), "/y" },
6177 - { GUINT_TO_POINTER (0x334E), "/yaadosquare" },
6178 - { GUINT_TO_POINTER (0x09AF), "/yabengali" },
6179 - { GUINT_TO_POINTER (0x00FD), "/yacute" },
6180 - { GUINT_TO_POINTER (0x092F), "/yadeva" },
6181 - { GUINT_TO_POINTER (0x3152), "/yaekorean" },
6182 - { GUINT_TO_POINTER (0x0AAF), "/yagujarati" },
6183 - { GUINT_TO_POINTER (0x0A2F), "/yagurmukhi" },
6184 - { GUINT_TO_POINTER (0x3084), "/yahiragana" },
6185 - { GUINT_TO_POINTER (0x30E4), "/yakatakana" },
6186 - { GUINT_TO_POINTER (0xFF94), "/yakatakanahalfwidth" },
6187 - { GUINT_TO_POINTER (0x3151), "/yakorean" },
6188 - { GUINT_TO_POINTER (0x0E4E), "/yamakkanthai" },
6189 - { GUINT_TO_POINTER (0x3083), "/yasmallhiragana" },
6190 - { GUINT_TO_POINTER (0x30E3), "/yasmallkatakana" },
6191 - { GUINT_TO_POINTER (0xFF6C), "/yasmallkatakanahalfwidth" },
6192 - { GUINT_TO_POINTER (0x0463), "/yatcyrillic" },
6193 - { GUINT_TO_POINTER (0x24E8), "/ycircle" },
6194 - { GUINT_TO_POINTER (0x0177), "/ycircumflex" },
6195 - { GUINT_TO_POINTER (0x00FF), "/ydieresis" },
6196 - { GUINT_TO_POINTER (0x1E8F), "/ydotaccent" },
6197 - { GUINT_TO_POINTER (0x1EF5), "/ydotbelow" },
6198 - { GUINT_TO_POINTER (0x064A), "/yeharabic" },
6199 - { GUINT_TO_POINTER (0x06D2), "/yehbarreearabic" },
6200 - { GUINT_TO_POINTER (0xFBAF), "/yehbarreefinalarabic" },
6201 - { GUINT_TO_POINTER (0xFEF2), "/yehfinalarabic" },
6202 - { GUINT_TO_POINTER (0x0626), "/yehhamzaabovearabic" },
6203 - { GUINT_TO_POINTER (0xFE8A), "/yehhamzaabovefinalarabic" },
6204 - { GUINT_TO_POINTER (0xFE8B), "/yehhamzaaboveinitialarabic" },
6205 - { GUINT_TO_POINTER (0xFE8C), "/yehhamzaabovemedialarabic" },
6206 - { GUINT_TO_POINTER (0xFEF3), "/yehinitialarabic" },
6207 - { GUINT_TO_POINTER (0xFEF4), "/yehmedialarabic" },
6208 - { GUINT_TO_POINTER (0xFCDD), "/yehmeeminitialarabic" },
6209 - { GUINT_TO_POINTER (0xFC58), "/yehmeemisolatedarabic" },
6210 - { GUINT_TO_POINTER (0xFC94), "/yehnoonfinalarabic" },
6211 - { GUINT_TO_POINTER (0x06D1), "/yehthreedotsbelowarabic" },
6212 - { GUINT_TO_POINTER (0x3156), "/yekorean" },
6213 - { GUINT_TO_POINTER (0x00A5), "/yen" },
6214 - { GUINT_TO_POINTER (0xFFE5), "/yenmonospace" },
6215 - { GUINT_TO_POINTER (0x3155), "/yeokorean" },
6216 - { GUINT_TO_POINTER (0x3186), "/yeorinhieuhkorean" },
6217 - { GUINT_TO_POINTER (0x05AA), "/yerahbenyomohebrew" },
6218 - { GUINT_TO_POINTER (0x05AA), "/yerahbenyomolefthebrew" },
6219 - { GUINT_TO_POINTER (0x044B), "/yericyrillic" },
6220 - { GUINT_TO_POINTER (0x04F9), "/yerudieresiscyrillic" },
6221 - { GUINT_TO_POINTER (0x3181), "/yesieungkorean" },
6222 - { GUINT_TO_POINTER (0x3183), "/yesieungpansioskorean" },
6223 - { GUINT_TO_POINTER (0x3182), "/yesieungsioskorean" },
6224 - { GUINT_TO_POINTER (0x059A), "/yetivhebrew" },
6225 - { GUINT_TO_POINTER (0x1EF3), "/ygrave" },
6226 - { GUINT_TO_POINTER (0x01B4), "/yhook" },
6227 - { GUINT_TO_POINTER (0x1EF7), "/yhookabove" },
6228 - { GUINT_TO_POINTER (0x0575), "/yiarmenian" },
6229 - { GUINT_TO_POINTER (0x0457), "/yicyrillic" },
6230 - { GUINT_TO_POINTER (0x3162), "/yikorean" },
6231 - { GUINT_TO_POINTER (0x262F), "/yinyang" },
6232 - { GUINT_TO_POINTER (0x0582), "/yiwnarmenian" },
6233 - { GUINT_TO_POINTER (0xFF59), "/ymonospace" },
6234 - { GUINT_TO_POINTER (0x05D9), "/yod" },
6235 - { GUINT_TO_POINTER (0xFB39), "/yoddagesh" },
6236 - { GUINT_TO_POINTER (0xFB39), "/yoddageshhebrew" },
6237 - { GUINT_TO_POINTER (0x05D9), "/yodhebrew" },
6238 - { GUINT_TO_POINTER (0x05F2), "/yodyodhebrew" },
6239 - { GUINT_TO_POINTER (0xFB1F), "/yodyodpatahhebrew" },
6240 - { GUINT_TO_POINTER (0x3088), "/yohiragana" },
6241 - { GUINT_TO_POINTER (0x3189), "/yoikorean" },
6242 - { GUINT_TO_POINTER (0x30E8), "/yokatakana" },
6243 - { GUINT_TO_POINTER (0xFF96), "/yokatakanahalfwidth" },
6244 - { GUINT_TO_POINTER (0x315B), "/yokorean" },
6245 - { GUINT_TO_POINTER (0x3087), "/yosmallhiragana" },
6246 - { GUINT_TO_POINTER (0x30E7), "/yosmallkatakana" },
6247 - { GUINT_TO_POINTER (0xFF6E), "/yosmallkatakanahalfwidth" },
6248 - { GUINT_TO_POINTER (0x03F3), "/yotgreek" },
6249 - { GUINT_TO_POINTER (0x3188), "/yoyaekorean" },
6250 - { GUINT_TO_POINTER (0x3187), "/yoyakorean" },
6251 - { GUINT_TO_POINTER (0x0E22), "/yoyakthai" },
6252 - { GUINT_TO_POINTER (0x0E0D), "/yoyingthai" },
6253 - { GUINT_TO_POINTER (0x24B4), "/yparen" },
6254 - { GUINT_TO_POINTER (0x037A), "/ypogegrammeni" },
6255 - { GUINT_TO_POINTER (0x0345), "/ypogegrammenigreekcmb" },
6256 - { GUINT_TO_POINTER (0x01A6), "/yr" },
6257 - { GUINT_TO_POINTER (0x1E99), "/yring" },
6258 - { GUINT_TO_POINTER (0x02B8), "/ysuperior" },
6259 - { GUINT_TO_POINTER (0x1EF9), "/ytilde" },
6260 - { GUINT_TO_POINTER (0x028E), "/yturned" },
6261 - { GUINT_TO_POINTER (0x3086), "/yuhiragana" },
6262 - { GUINT_TO_POINTER (0x318C), "/yuikorean" },
6263 - { GUINT_TO_POINTER (0x30E6), "/yukatakana" },
6264 - { GUINT_TO_POINTER (0xFF95), "/yukatakanahalfwidth" },
6265 - { GUINT_TO_POINTER (0x3160), "/yukorean" },
6266 - { GUINT_TO_POINTER (0x046B), "/yusbigcyrillic" },
6267 - { GUINT_TO_POINTER (0x046D), "/yusbigiotifiedcyrillic" },
6268 - { GUINT_TO_POINTER (0x0467), "/yuslittlecyrillic" },
6269 - { GUINT_TO_POINTER (0x0469), "/yuslittleiotifiedcyrillic" },
6270 - { GUINT_TO_POINTER (0x3085), "/yusmallhiragana" },
6271 - { GUINT_TO_POINTER (0x30E5), "/yusmallkatakana" },
6272 - { GUINT_TO_POINTER (0xFF6D), "/yusmallkatakanahalfwidth" },
6273 - { GUINT_TO_POINTER (0x318B), "/yuyekorean" },
6274 - { GUINT_TO_POINTER (0x318A), "/yuyeokorean" },
6275 - { GUINT_TO_POINTER (0x09DF), "/yyabengali" },
6276 - { GUINT_TO_POINTER (0x095F), "/yyadeva" },
6277 - { GUINT_TO_POINTER (0x007A), "/z" },
6278 - { GUINT_TO_POINTER (0x0566), "/zaarmenian" },
6279 - { GUINT_TO_POINTER (0x017A), "/zacute" },
6280 - { GUINT_TO_POINTER (0x095B), "/zadeva" },
6281 - { GUINT_TO_POINTER (0x0A5B), "/zagurmukhi" },
6282 - { GUINT_TO_POINTER (0x0638), "/zaharabic" },
6283 - { GUINT_TO_POINTER (0xFEC6), "/zahfinalarabic" },
6284 - { GUINT_TO_POINTER (0xFEC7), "/zahinitialarabic" },
6285 - { GUINT_TO_POINTER (0x3056), "/zahiragana" },
6286 - { GUINT_TO_POINTER (0xFEC8), "/zahmedialarabic" },
6287 - { GUINT_TO_POINTER (0x0632), "/zainarabic" },
6288 - { GUINT_TO_POINTER (0xFEB0), "/zainfinalarabic" },
6289 - { GUINT_TO_POINTER (0x30B6), "/zakatakana" },
6290 - { GUINT_TO_POINTER (0x0595), "/zaqefgadolhebrew" },
6291 - { GUINT_TO_POINTER (0x0594), "/zaqefqatanhebrew" },
6292 - { GUINT_TO_POINTER (0x0598), "/zarqahebrew" },
6293 - { GUINT_TO_POINTER (0x05D6), "/zayin" },
6294 - { GUINT_TO_POINTER (0xFB36), "/zayindagesh" },
6295 - { GUINT_TO_POINTER (0xFB36), "/zayindageshhebrew" },
6296 - { GUINT_TO_POINTER (0x05D6), "/zayinhebrew" },
6297 - { GUINT_TO_POINTER (0x3117), "/zbopomofo" },
6298 - { GUINT_TO_POINTER (0x017E), "/zcaron" },
6299 - { GUINT_TO_POINTER (0x24E9), "/zcircle" },
6300 - { GUINT_TO_POINTER (0x1E91), "/zcircumflex" },
6301 - { GUINT_TO_POINTER (0x0291), "/zcurl" },
6302 - { GUINT_TO_POINTER (0x017C), "/zdot" },
6303 - { GUINT_TO_POINTER (0x017C), "/zdotaccent" },
6304 - { GUINT_TO_POINTER (0x1E93), "/zdotbelow" },
6305 - { GUINT_TO_POINTER (0x0437), "/zecyrillic" },
6306 - { GUINT_TO_POINTER (0x0499), "/zedescendercyrillic" },
6307 - { GUINT_TO_POINTER (0x04DF), "/zedieresiscyrillic" },
6308 - { GUINT_TO_POINTER (0x305C), "/zehiragana" },
6309 - { GUINT_TO_POINTER (0x30BC), "/zekatakana" },
6310 - { GUINT_TO_POINTER (0x0030), "/zero" },
6311 - { GUINT_TO_POINTER (0x0660), "/zeroarabic" },
6312 - { GUINT_TO_POINTER (0x09E6), "/zerobengali" },
6313 - { GUINT_TO_POINTER (0x0966), "/zerodeva" },
6314 - { GUINT_TO_POINTER (0x0AE6), "/zerogujarati" },
6315 - { GUINT_TO_POINTER (0x0A66), "/zerogurmukhi" },
6316 - { GUINT_TO_POINTER (0x0660), "/zerohackarabic" },
6317 - { GUINT_TO_POINTER (0x2080), "/zeroinferior" },
6318 - { GUINT_TO_POINTER (0xFF10), "/zeromonospace" },
6319 - { GUINT_TO_POINTER (0xF730), "/zerooldstyle" },
6320 - { GUINT_TO_POINTER (0x06F0), "/zeropersian" },
6321 - { GUINT_TO_POINTER (0x2070), "/zerosuperior" },
6322 - { GUINT_TO_POINTER (0x0E50), "/zerothai" },
6323 - { GUINT_TO_POINTER (0xFEFF), "/zerowidthjoiner" },
6324 - { GUINT_TO_POINTER (0x200C), "/zerowidthnonjoiner" },
6325 - { GUINT_TO_POINTER (0x200B), "/zerowidthspace" },
6326 - { GUINT_TO_POINTER (0x03B6), "/zeta" },
6327 - { GUINT_TO_POINTER (0x3113), "/zhbopomofo" },
6328 - { GUINT_TO_POINTER (0x056A), "/zhearmenian" },
6329 - { GUINT_TO_POINTER (0x04C2), "/zhebrevecyrillic" },
6330 - { GUINT_TO_POINTER (0x0436), "/zhecyrillic" },
6331 - { GUINT_TO_POINTER (0x0497), "/zhedescendercyrillic" },
6332 - { GUINT_TO_POINTER (0x04DD), "/zhedieresiscyrillic" },
6333 - { GUINT_TO_POINTER (0x3058), "/zihiragana" },
6334 - { GUINT_TO_POINTER (0x30B8), "/zikatakana" },
6335 - { GUINT_TO_POINTER (0x05AE), "/zinorhebrew" },
6336 - { GUINT_TO_POINTER (0x1E95), "/zlinebelow" },
6337 - { GUINT_TO_POINTER (0xFF5A), "/zmonospace" },
6338 - { GUINT_TO_POINTER (0x305E), "/zohiragana" },
6339 - { GUINT_TO_POINTER (0x30BE), "/zokatakana" },
6340 - { GUINT_TO_POINTER (0x24B5), "/zparen" },
6341 - { GUINT_TO_POINTER (0x0290), "/zretroflexhook" },
6342 - { GUINT_TO_POINTER (0x01B6), "/zstroke" },
6343 - { GUINT_TO_POINTER (0x305A), "/zuhiragana" },
6344 - { GUINT_TO_POINTER (0x30BA), "/zukatakana" },
6345 - { NULL, NULL }
6348 -/*! \brief Initializes the glyph translation table.
6349 - * \par Function Description
6350 - * Initializes the glyph translation table
6352 - * \return 0
6353 - */
6354 -int f_print_initialize_glyph_table(void)
6356 - struct glyph_list *g;
6358 - /* Is the hash already intialized? */
6359 - if(unicode_char_to_glyph != NULL) return 0;
6361 - /* No, allocate hash table */
6362 - unicode_char_to_glyph = g_hash_table_new_full (g_direct_hash,
6363 - g_direct_equal,
6364 - NULL,
6365 - NULL);
6367 - /* insert all the entries, from glyph name mapping table */
6368 - for(g = glyphs; g->name != NULL; g++) {
6369 - g_hash_table_insert(unicode_char_to_glyph, g->key, g->name);
6372 - return 0;
6374 diff --git a/libgeda/src/o_arc_basic.c b/libgeda/src/o_arc_basic.c
6375 index 3a7d3d6..93ef40f 100644
6376 --- a/libgeda/src/o_arc_basic.c
6377 +++ b/libgeda/src/o_arc_basic.c
6378 @@ -586,635 +586,6 @@ gboolean o_arc_get_position (TOPLEVEL *toplevel, gint *x, gint *y,
6379 return TRUE;
6382 -/*! \brief
6383 - * \par Function Description
6384 - * This function writes in a postscript file the arc described by
6385 - * the <B>o_current</B> pointed object.
6386 - * The postscript resulting file is described by the <B>fp</B> file pointer.
6387 - *
6388 - * Parameters of the arc are extracted from object pointed by <B>o_current</B>
6389 - * and formatted to suit future calls to specialized arc printing functions.
6391 - * \param [in] toplevel The TOPLEVEL object.
6392 - * \param [in] fp The postscript document to print to.
6393 - * \param [in] o_current
6394 - * \param [in] origin_x
6395 - * \param [in] origin_y
6396 - */
6397 -void o_arc_print(TOPLEVEL *toplevel, FILE *fp, OBJECT *o_current,
6398 - int origin_x, int origin_y)
6400 - int x, y, radius, start_angle, end_angle;
6401 - int color;
6402 - int arc_width, space, length;
6403 - void (*outl_func)() = NULL;
6405 - if (o_current == NULL) {
6406 - printf("got null in o_arc_print\n");
6407 - return;
6410 - x = o_current->arc->x;
6411 - y = o_current->arc->y;
6412 - radius = o_current->arc->width / 2;
6413 - start_angle = o_current->arc->start_angle;
6414 - end_angle = o_current->arc->end_angle;
6415 - color = o_current->color;
6417 - /*! \note
6418 - * Depending on the type of the line for this particular arc, the
6419 - * appropriate function is chosen among #o_arc_print_solid(),
6420 - * #o_arc_print_dotted(), #o_arc_print_dashed(), #o_arc_print_center() and #o_arc_print_phantom().
6422 - * The needed parameters for each of these types are extracted from the <B>o_current</B> object.
6423 - * Depending on the type, unused parameters are set to -1.
6424 - *
6425 - * In the eventuality of a length and/or space null, the arc is printed solid to avoid and
6426 - * endless loop produced by other functions.
6427 - */
6429 -#if 0 /* was causing arcs which are solid to be much thinner compared to */
6430 - /* lines, boxes, also of zero width */
6431 - if (o_current->line_width > 0) {
6432 - arc_width = o_current->line_width;
6433 - } else {
6434 - arc_width = 1;
6436 -#endif
6437 - arc_width = o_current->line_width; /* Added instead of above */
6438 - if(arc_width <=2) {
6439 - if(toplevel->line_style == THICK) {
6440 - arc_width=LINE_WIDTH;
6441 - } else {
6442 - arc_width=2;
6446 - length = o_current->line_length;
6447 - space = o_current->line_space;
6449 - switch(o_current->line_type) {
6450 - case(TYPE_SOLID):
6451 - length = -1; space = -1;
6452 - outl_func = o_arc_print_solid;
6453 - break;
6455 - case(TYPE_DOTTED):
6456 - length = -1;
6457 - outl_func = o_arc_print_dotted;
6458 - break;
6460 - case(TYPE_DASHED):
6461 - outl_func = o_arc_print_dashed;
6462 - break;
6464 - case(TYPE_CENTER):
6465 - outl_func = o_arc_print_center;
6466 - break;
6468 - case(TYPE_PHANTOM):
6469 - outl_func = o_arc_print_phantom;
6470 - break;
6472 - case(TYPE_ERASE):
6473 - /* Unused for now, print it solid */
6474 - length = -1; space = -1;
6475 - outl_func = o_arc_print_solid;
6476 - break;
6479 - if((space == 0) || (length == 0)) {
6480 - length = -1; space = -1;
6481 - outl_func = o_arc_print_solid;
6484 - (*outl_func)(toplevel, fp,
6485 - x - origin_x, y - origin_x, radius,
6486 - start_angle, end_angle,
6487 - color, arc_width, length, space, origin_x, origin_y);
6491 -/*! \brief
6492 - * \par Function Description
6493 - * This function prints an arc when a solid line type is required.
6494 - * The arc is defined by its center in <B>x</B> and <B>y</B>, its radius
6495 - * in <B>radius</B> and the start and end angles of the arc on the circle.
6496 - * The postscript file is defined by the file pointer <B>fp</B>.
6498 - * The parameters <B>length</B> and <B>space</B> are ignored
6499 - * whereas <B>arc_width</B> specifies the width of the printed line.
6501 - * All dimensions are in mils, except <B>angle1</B> and <B>angle2</B> in degrees.
6503 - * \param [in] toplevel The TOPLEVEL object.
6504 - * \param [in] fp FILE pointer to postscript document.
6505 - * \param [in] x
6506 - * \param [in] y
6507 - * \param [in] radius
6508 - * \param [in] angle1
6509 - * \param [in] angle2
6510 - * \param [in] color
6511 - * \param [in] arc_width
6512 - * \param [in] length
6513 - * \param [in] space
6514 - * \param [in] origin_x
6515 - * \param [in] origin_y
6516 - */
6517 -void o_arc_print_solid(TOPLEVEL *toplevel, FILE *fp,
6518 - int x, int y, int radius,
6519 - int angle1, int angle2,
6520 - int color,
6521 - int arc_width, int length, int space,
6522 - int origin_x, int origin_y)
6524 - f_print_set_color(toplevel, fp, color);
6526 - /* inverting angle2 if < 0 and changing angle1 accordingly */
6527 - if (angle2 < 0) {
6528 - angle1 = angle1 + angle2;
6529 - angle2 = -angle2;
6532 - fprintf(fp, "%d %d %d %d %d %d darc\n",
6533 - x,y, radius, angle1, angle1 + angle2,
6534 - arc_width);
6538 -/*! \brief
6539 - * \par Function Description
6540 - * This function prints an arc when a dotted line type is required.
6541 - * The arc is defined by its center in <B>x</B> and <B>y</B>, its
6542 - * radius in <B>radius</B> and the start and end angles of the arc on the circle.
6543 - * The postscript file is defined by the file pointer <B>fp</B>.
6544 - * The parameter <B>length</B> is ignored whereas <B>arc_width</B> specifies
6545 - * the diameter of the dots of the printed line and <B>space</B> the distance
6546 - * between two dots.
6547 - *
6548 - * A negative value for <B>space</B> leads to an endless loop.
6550 - * All dimensions are in mils, except <B>angle1</B> and <B>angle2</B> in degrees.
6552 - * The function sets the color the line will be printed with.
6553 - *
6554 - * \param [in] toplevel The TOPLEVEL object.
6555 - * \param [in] fp FILE pointer to postscript document.
6556 - * \param [in] x
6557 - * \param [in] y
6558 - * \param [in] radius
6559 - * \param [in] angle1
6560 - * \param [in] angle2
6561 - * \param [in] color
6562 - * \param [in] arc_width
6563 - * \param [in] length
6564 - * \param [in] space
6565 - * \param [in] origin_x
6566 - * \param [in] origin_y
6567 - */
6568 -void o_arc_print_dotted(TOPLEVEL *toplevel, FILE *fp,
6569 - int x, int y, int radius,
6570 - int angle1, int angle2,
6571 - int color,
6572 - int arc_width, int length, int space,
6573 - int origin_x, int origin_y)
6575 - int da, d;
6577 - f_print_set_color(toplevel, fp, color);
6579 - /*! \note
6580 - * Depending on the radius of the arc, the <B>space</B> parameter is
6581 - * changed into a small angle <B>da</B>.
6582 - * Starting from <B>angle1</B> - the start angle - the dots are printed
6583 - * along the arc by increments of this new angle.
6585 - * As <B>da</B> is rounded as an integer, it can take a null value which
6586 - * will make the function enter an endless loop. In such a case, the arc
6587 - * is printed solid. The <B>da</B> variable should never be negative
6588 - * except if <B>space</B> is negative.
6589 - */
6591 - /* Inverting angle2 if < 0 and changing angle1 accordingly */
6592 - /* the loop test assume that da > 0 */
6593 - if (angle2 < 0) {
6594 - angle1 = angle1 + angle2;
6595 - angle2 = -angle2;
6597 - da = (int) ((space * 180) / (M_PI * ((double) radius)));
6599 - /* If da or db too small for arc to be displayed as dotted,
6600 - draw a solid arc */
6601 - if (da <= 0) {
6602 - o_arc_print_solid(toplevel, fp,
6603 - x, y, radius,
6604 - angle1, angle2,
6605 - color,
6606 - arc_width, length, space, origin_x, origin_y);
6607 - return;
6610 - fprintf(fp,"[");
6611 - d = angle1;
6612 - while (d < (angle2 + angle1)) {
6613 - /*xa = ((double) x) + ((double) radius) * cos(d * M_PI / 180);
6614 - ya = ((double) y) + ((double) radius) * sin(d * M_PI / 180);
6615 - */
6616 - fprintf(fp,"[%d] ",d);
6618 - d = d + da;
6620 - fprintf(fp,"] %d %d %d %d dashedarc %% dotted\n",
6621 - x,y, radius, arc_width);
6624 -/*! \brief
6625 - * \par Function Description
6626 - * This function prints an arc when a dashed line type is required.
6627 - * The arc is defined by its center in <B>x</B> and <B>y</B>, its radius
6628 - * in <B>radius</B> and the start and end angles of the arc on the circle.
6629 - * The postscript file is defined by the file pointer <B>fp</B>.
6630 - * The parameter <B>arc_width</B> specifies the diameter of the dots of the printed line.
6632 - * A negative value for <B>space</B> or <B>length</B> leads to an endless loop.
6634 - * All dimensions are in mils, except <B>angle1</B> and <B>angle2</B> in degrees.
6636 - * The function sets the color the line will be printed with.
6638 - * \param [in] toplevel The TOPLEVEL object.
6639 - * \param [in] fp FILE pointer to postscript document.
6640 - * \param [in] x
6641 - * \param [in] y
6642 - * \param [in] radius
6643 - * \param [in] angle1
6644 - * \param [in] angle2
6645 - * \param [in] color
6646 - * \param [in] arc_width
6647 - * \param [in] length
6648 - * \param [in] space
6649 - * \param [in] origin_x
6650 - * \param [in] origin_y
6651 - */
6652 -void o_arc_print_dashed(TOPLEVEL *toplevel, FILE *fp,
6653 - int x, int y, int radius,
6654 - int angle1, int angle2,
6655 - int color,
6656 - int arc_width, int length, int space,
6657 - int origin_x, int origin_y)
6659 - int da, db, a1, a2, d;
6661 - f_print_set_color(toplevel, fp, color);
6663 - /*! \note
6664 - * Depending on the radius of the arc, the <B>space</B> (resp. <B>length</B>)
6665 - * parameter is changed into a small angle <B>da</B> (resp. <B>db</B>).
6666 - * Starting from <B>angle1</B> - the start angle - the dashes are printed
6667 - * along the arc by increments of these new angles.
6669 - * As <B>da</B> (resp. <B>db</B>) is rounded as an integer, it can take a
6670 - * null value which will make the function enter an endless loop. In such a case,
6671 - * the arc is printed solid. The <B>da</B> (resp. <B>db</B>) variable should never
6672 - * be negative except if <B>space</B> (resp. <B>length</B>) is negative.
6674 - * It prints as many dashes of length <B>length</B> as possible.
6675 - */
6677 - /* Inverting angle2 if < 0 and changing angle1 accordingly */
6678 - /* the loop test assume that da > 0 */
6679 - if (angle2 < 0) {
6680 - angle1 = angle1 + angle2;
6681 - angle2 = -angle2;
6683 - da = (int) ((length * 180) / (M_PI * ((double) radius)));
6684 - db = (int) ((space * 180) / (M_PI * ((double) radius)));
6686 - /* If da or db too small for arc to be displayed as dotted,
6687 - draw a solid arc */
6688 - if ((da <= 0) || (db <= 0)) {
6689 - o_arc_print_solid(toplevel, fp,
6690 - x, y, radius,
6691 - angle1, angle2,
6692 - color,
6693 - arc_width, length, space, origin_x, origin_y);
6694 - return;
6697 - fprintf(fp,"[");
6698 - d = angle1;
6699 - while ((d + da + db) < (angle1 + angle2)) {
6700 - a1 = d;
6701 - d = d + da;
6703 - fprintf(fp,"[%d %d] ",
6704 - a1, a1+da);
6706 - d = d + db;
6708 - /*! \note
6709 - * When the above condition is no more satisfied, then it is not
6710 - * possible to print a dash of length <B>length</B> and the following <B>space</B>.
6711 - * However it may be possible to print the complete dash or a shorter one.
6712 - */
6714 - if ((d + da) < (angle1 + angle2)) {
6715 - a1 = d;
6716 - a2 = da;
6717 - } else {
6718 - a1 = d;
6719 - a2 = (angle1 + angle2) - d;
6722 - fprintf(fp,"[%d %d] ",
6723 - a1, a1+da);
6726 - fprintf(fp,"] %d %d %d %d dashedarc %% dashed\n",
6727 - x,y, radius, arc_width);
6731 -/*! \brief
6732 - * \par Function Description
6733 - * This function prints an arc when a centered line type is required.
6734 - * The arc is defined by its center in <B>x</B> and <B>y</B>, its radius in
6735 - * <B>radius</B> and the start and end angles of the arc on the circle.
6736 - * The postscript file is defined by the file pointer <B>fp</B>.
6737 - * The parameter <B>arc_width</B> specifies the diameter of the dots and the width of the dashes of the printed line.
6739 - * A negative value for <B>space</B> or <B>length</B> leads to an endless loop.
6741 - * All dimensions are in mils, except <B>angle1</B> and <B>angle2</B> in degrees.
6743 - * The function sets the color in which the line will be printed with.
6745 - * \param [in] toplevel The TOPLEVEL object.
6746 - * \param [in] fp FILE pointer to postscript document.
6747 - * \param [in] x
6748 - * \param [in] y
6749 - * \param [in] radius
6750 - * \param [in] angle1
6751 - * \param [in] angle2
6752 - * \param [in] color
6753 - * \param [in] arc_width
6754 - * \param [in] length
6755 - * \param [in] space
6756 - * \param [in] origin_x
6757 - * \param [in] origin_y
6758 - */
6759 -void o_arc_print_center(TOPLEVEL *toplevel, FILE *fp,
6760 - int x, int y, int radius,
6761 - int angle1, int angle2,
6762 - int color,
6763 - int arc_width, int length, int space,
6764 - int origin_x, int origin_y)
6766 - int da, db, a1, a2, d;
6768 - f_print_set_color(toplevel, fp, color);
6770 - /*! \note
6771 - * Depending on the radius of the arc, the <B>space</B> (resp. <B>length</B>)
6772 - * parameter is changed into a small angle <B>da</B> (resp. <B>db</B>).
6773 - * Starting from <B>angle1</B> - the start angle - the dashes are printed
6774 - * along the arc by increments of these new angles.
6776 - * As <B>da</B> (resp. <B>db</B>) is rounded as an integer, it can take a null
6777 - * value which will make the function enter an endless loop. In such a case,
6778 - * the arc is printed solid. The <B>da</B> (resp. <B>db</B>) variable should never
6779 - * be negative except if <B>space</B> (resp. <B>length</B>) is negative.
6781 - * It prints as many sets of dash-dot as possible.
6782 - */
6784 - /* Inverting angle2 if < 0 and changing angle1 accordingly */
6785 - /* the loop test assume that da > 0 */
6786 - if (angle2 < 0) {
6787 - angle1 = angle1 + angle2;
6788 - angle2 = -angle2;
6791 - da = (int) ((length * 180) / (M_PI * ((double) radius)));
6792 - db = (int) ((space * 180) / (M_PI * ((double) radius)));
6794 - /* If da or db too small to be displayed, draw an arc */
6795 - if ((da <= 0) || (db <= 0)) {
6796 - o_arc_print_solid(toplevel, fp,
6797 - x, y, radius,
6798 - angle1, angle2,
6799 - color,
6800 - arc_width, length, space, origin_x, origin_y);
6801 - return;
6804 - fprintf(fp, "[");
6805 - d = angle1;
6806 - while ((d + da + 2 * db) < (angle1 + angle2)) {
6807 - a1 = d;
6808 - d = d + da;
6809 - fprintf(fp,"[%d %d] ",(int) a1, (int) a1 + da);
6811 - d = d + db;
6812 - /*
6813 - xa = ((double) x) + ((double) radius) * cos(d * (M_PI / 180));
6814 - ya = ((double) y) + ((double) radius) * sin(d * (M_PI / 180));
6815 - */
6816 - fprintf(fp,"[%d] ",d);
6817 - d = d + db;
6819 - /*! \note
6820 - * When the above condition is no more satisfied, then it is not
6821 - * possible to print a dash of length <B>length</B>. However two cases are possible :
6822 - * <DL>
6823 - * <DT>*</DT><DD>it is possible to print the dash and the dot
6824 - * <DT>*</DT><DD>it is possible to print the dash or a part of the original dash
6825 - * </DL>
6826 - */
6828 - if ((d + da) < (angle1 + angle2)) {
6829 - a1 = d;
6830 - a2 = da;
6832 - d = d + da;
6833 - } else {
6834 - a1 = d;
6835 - a2 = (angle1 + angle2) - d;
6837 - d = d + da;
6840 - fprintf(fp,"[%d %d] ",(int) a1, (int) a1 + da);
6843 - if ((d + db) < (angle1 + angle2)) {
6844 - /*
6845 - xa = ((double) x) + ((double) radius) * cos(d * (M_PI / 180));
6846 - ya = ((double) y) + ((double) radius) * sin(d * (M_PI / 180));
6847 - */
6848 - fprintf(fp,"[%d] ",d);
6852 - fprintf(fp,"] %d %d %d %d dashedarc %% center\n",
6853 - x,y, radius, arc_width);
6856 -/*! \note
6857 - * A dot is represented by a filled circle. Position of the circle is (<B>xa</B>, <B>ya</B>)
6858 - * and its radius is the <B>arc_width</B> parameter.
6859 - */
6861 -/*! \brief
6862 - * \par Function Description
6863 - * This function prints an arc when a phantom line type is required.
6864 - * The arc is defined by its center in <B>x</B> and <B>y</B>, its radius
6865 - * in <B>radius</B> and the start and end angles of the arc on the circle.
6866 - * The postscript file is defined by the file pointer <B>fp</B>.
6867 - * The parameter <B>arc_width</B> specifies the diameter of the dots and the width of the dashes of the printed line.
6869 - * A negative value for <B>space</B> or <B>length</B> leads to an endless loop.
6871 - * All dimensions are in mils, except <B>angle1</B> and <B>angle2</B> in degrees.
6873 - * The function sets the color in which the line will be printed with.
6875 - * \param [in] toplevel The TOPLEVEL object.
6876 - * \param [in] fp FILE pointer to postscript document.
6877 - * \param [in] x
6878 - * \param [in] y
6879 - * \param [in] radius
6880 - * \param [in] angle1
6881 - * \param [in] angle2
6882 - * \param [in] color
6883 - * \param [in] arc_width
6884 - * \param [in] length
6885 - * \param [in] space
6886 - * \param [in] origin_x
6887 - * \param [in] origin_y
6888 - */
6889 -void o_arc_print_phantom(TOPLEVEL *toplevel, FILE *fp,
6890 - int x, int y, int radius,
6891 - int angle1, int angle2,
6892 - int color,
6893 - int arc_width, int length, int space,
6894 - int origin_x, int origin_y)
6896 - int da, db, a1, a2, d;
6898 - f_print_set_color(toplevel, fp, color);
6900 - /*! \note
6901 - * Depending on the radius of the arc, the <B>space</B> (resp. <B>length</B>)
6902 - * parameter is changed into a small angle <B>da</B> (resp. <B>db</B>).
6903 - * Starting from <B>angle1</B> - the start angle - the dashes are printed
6904 - * along the arc by increments of these new angles.
6906 - * As <B>da</B> (resp. <B>db</B>) is rounded as an integer, it can take a
6907 - * null value which will make the function enter an endless loop. In such
6908 - * a case, the arc is printed solid. The <B>da</B> (resp. <B>db</B>) variable
6909 - * should never be negative except if <B>space</B> (resp. <B>length</B>) is negative.
6911 - * It prints as many sets of dash-dot-dot as possible.
6912 - */
6914 - /* Inverting angle2 if < 0 and changing angle1 accordingly */
6915 - /* the loop test assume that da > 0 */
6916 - if (angle2 < 0) {
6917 - angle1 = angle1 + angle2;
6918 - angle2 = -angle2;
6920 - da = (int) ((length * 180) / (((double) radius) * M_PI));
6921 - db = (int) ((space * 180) / (((double) radius) * M_PI));
6923 - /* If da or db too small for arc to be displayed as dotted,
6924 - draw a solid arc */
6925 - if ((da <= 0) || (db <= 0)) {
6926 - o_arc_print_solid(toplevel, fp,
6927 - x, y, radius,
6928 - angle1, angle2,
6929 - color,
6930 - arc_width, length, space, origin_x, origin_y);
6931 - return;
6934 - fprintf(fp,"[");
6936 - d = angle1;
6937 - while ((d + da + 3 * db) < (angle1 + angle2)) {
6938 - a1 = d;
6939 - d = d + da;
6941 - fprintf(fp,"[%d %d] ",(int) a1, (int) a1 + da);
6943 - d = d + db;
6944 - /*
6945 - xa = ((double) x) + ((double) radius) * cos(d * (M_PI / 180));
6946 - ya = ((double) y) + ((double) radius) * sin(d * (M_PI / 180));
6947 - */
6948 - fprintf(fp,"[%d] ",d);
6950 - d = d + db;
6952 - /*
6953 - xa = ((double) x) + ((double) radius) * cos(d * (M_PI / 180));
6954 - ya = ((double) y) + ((double) radius) * sin(d * (M_PI / 180));
6955 - */
6956 - fprintf(fp,"[%d] ",d);
6958 - d = d + db;
6961 - /*! \note
6962 - * When the above condition is no more satisfied, then it is not
6963 - * possible to print a dash of length <B>length</B>.
6964 - * However three cases are possible :
6965 - * <DL>
6966 - * <DT>*</DT><DD>it is possible to print a dash and a dot and a dot
6967 - * <DT>*</DT><DD>it is possible to print a dash and a dot
6968 - * <DT>*</DT><DD>it is possible to print the dash or a part of the original dash
6969 - * </DL>
6970 - */
6972 - if ((d + da) < (angle1 + angle2)) {
6973 - a1 = d;
6974 - a2 = da;
6975 - d = d + da;
6976 - } else {
6977 - a1 = d;
6978 - a2 = (angle1 + angle2) - d;
6979 - d = d + da;
6982 - fprintf(fp,"[%d %d] ",(int) a1, (int) a1 + da);
6984 - if ((d + db) < (angle1 + angle2)) {
6985 - d = d + db;
6987 - /*
6988 - xa = ((double) x) + ((double) radius) * cos(d * (M_PI / 180));
6989 - ya = ((double) y) + ((double) radius) * sin(d * (M_PI / 180));
6990 - */
6991 - fprintf(fp,"[%d] ",d);
6995 - if ((d + db) < (angle1 + angle2)) {
6996 - d = d + db;
6998 - /*
6999 - xa = ((double) x) + ((double) radius) * cos(d * (M_PI / 180));
7000 - ya = ((double) y) + ((double) radius) * sin(d * (M_PI / 180));
7001 - */
7003 - fprintf(fp,"[%d] ",d);
7008 - fprintf(fp,"] %d %d %d %d dashedarc %% phantom\n",
7009 - x,y, radius, arc_width);
7012 /*! \brief Calculates the distance between the given point and the closest
7013 * point on the perimeter of the arc.
7014 diff --git a/libgeda/src/o_box_basic.c b/libgeda/src/o_box_basic.c
7015 index 9c9d336..d25a0b3 100644
7016 --- a/libgeda/src/o_box_basic.c
7017 +++ b/libgeda/src/o_box_basic.c
7018 @@ -608,677 +608,7 @@ gboolean o_box_get_position (TOPLEVEL *toplevel, gint *x, gint *y,
7019 *y = min(object->box->lower_y, object->box->upper_y);
7020 return TRUE;
7023 -/*! \brief Print BOX to Postscript document.
7024 - * \par Function Description
7025 - * This function prints the box described by the <B>o_current</B>
7026 - * parameter to a Postscript document. It takes into account its line
7027 - * type and fill type.
7028 - * The Postscript document is descibed by the file pointer <B>fp</B>.
7030 - * The validity of the <B>o_current</B> parameter is verified : a null pointer
7031 - * causes an error message and a return.
7033 - * The description of the box is extracted from
7034 - * the <B>o_current</B> parameter :
7035 - * the coordinates of the box - upper left corner and width and
7036 - * height of the box -, its line type, its fill type.
7038 - * The outline and the inside of the box are successively handled by two
7039 - * differend sets of functions.
7040 - *
7041 - * \param [in] toplevel The TOPLEVEL object.
7042 - * \param [in] fp FILE pointer to Postscript document.
7043 - * \param [in] o_current BOX OBJECT to write to document.
7044 - * \param [in] origin_x Page x coordinate to place BOX OBJECT.
7045 - * \param [in] origin_y Page y coordinate to place BOX OBJECT.
7046 - */
7047 -void o_box_print(TOPLEVEL *toplevel, FILE *fp, OBJECT *o_current,
7048 - int origin_x, int origin_y)
7050 - int x, y, width, height;
7051 - int color;
7052 - int line_width, length, space;
7053 - int fill_width, angle1, pitch1, angle2, pitch2;
7054 - void (*outl_func)() = NULL;
7055 - void (*fill_func)() = NULL;
7057 - if (o_current == NULL) {
7058 - printf("got null in o_box_print\n");
7059 - return;
7062 - x = o_current->box->upper_x;
7063 - y = o_current->box->upper_y;
7064 - width = abs(o_current->box->lower_x - o_current->box->upper_x);
7065 - height = abs(o_current->box->lower_y - o_current->box->upper_y);
7066 - color = o_current->color;
7068 - /*! \note
7069 - * Depending on the type of the line for this particular box, the
7070 - * appropriate function is chosen among #o_box_print_solid(),
7071 - * #o_box_print_dotted(), #o_box_print_dashed(),
7072 - * #o_box_print_center() and #o_box_print_phantom().
7074 - * The needed parameters for each of these type is extracted from the
7075 - * <B>o_current</B> object. Depending on the type, unused parameters are
7076 - * set to -1.
7078 - * In the eventuality of a length and/or space null, the line is printed
7079 - * solid to avoid and endless loop produced by other functions in such a
7080 - * case.
7081 - */
7082 - line_width = o_current->line_width;
7084 - if(line_width <=2) {
7085 - if(toplevel->line_style == THICK) {
7086 - line_width=LINE_WIDTH;
7087 - } else {
7088 - line_width=2;
7091 - length = o_current->line_length;
7092 - space = o_current->line_space;
7094 - switch(o_current->line_type) {
7095 - case(TYPE_SOLID):
7096 - length = -1; space = -1;
7097 - outl_func = o_box_print_solid;
7098 - break;
7100 - case(TYPE_DOTTED):
7101 - length = -1;
7102 - outl_func = o_box_print_dotted;
7103 - break;
7105 - case(TYPE_DASHED):
7106 - outl_func = o_box_print_dashed;
7107 - break;
7109 - case(TYPE_CENTER):
7110 - outl_func = o_box_print_center;
7111 - break;
7113 - case(TYPE_PHANTOM):
7114 - outl_func = o_box_print_phantom;
7115 - break;
7117 - case(TYPE_ERASE):
7118 - /* Unused for now, print it solid */
7119 - length = -1; space = -1;
7120 - outl_func = o_box_print_solid;
7121 - break;
7124 - if((length == 0) || (space == 0)) {
7125 - length = -1; space = -1;
7126 - outl_func = o_box_print_solid;
7129 - (*outl_func)(toplevel, fp,
7130 - x, y, width, height,
7131 - color,
7132 - line_width,
7133 - length, space,
7134 - origin_x, origin_y);
7136 - /*! \note
7137 - * If the filling type of the box is not <B>HOLLOW</B>, the appropriate
7138 - * function is chosen among #o_box_print_filled(), #o_box_print_mesh()
7139 - * and #o_box_print_hatch(). The corresponding parameters are extracted
7140 - * from the <B>o_current</B> object and corrected afterward.
7142 - * The case where <B>pitch1</B> and <B>pitch2</B> are null or negative is
7143 - * avoided as it leads to an endless loop in most of the called functions.
7144 - * In such a case, the box is printed filled. Unused parameters for each of
7145 - * these functions are set to -1 or any passive value.
7146 - */
7147 - if(o_current->fill_type != FILLING_HOLLOW) {
7148 - fill_width = o_current->fill_width;
7149 - angle1 = o_current->fill_angle1;
7150 - pitch1 = o_current->fill_pitch1;
7151 - angle2 = o_current->fill_angle2;
7152 - pitch2 = o_current->fill_pitch2;
7154 - switch(o_current->fill_type) {
7155 - case(FILLING_FILL):
7156 - angle1 = -1; pitch1 = 1;
7157 - angle2 = -1; pitch2 = 1;
7158 - fill_width = -1;
7159 - fill_func = o_box_print_filled;
7160 - break;
7162 - case(FILLING_MESH):
7163 - fill_func = o_box_print_mesh;
7164 - break;
7166 - case(FILLING_HATCH):
7167 - angle2 = -1; pitch2 = 1;
7168 - fill_func = o_box_print_hatch;
7169 - break;
7171 - case(FILLING_VOID):
7172 - /* Unused for now, print it filled */
7173 - angle1 = -1; pitch1 = 1;
7174 - angle2 = -1; pitch2 = 1;
7175 - fill_width = -1;
7176 - fill_func = o_box_print_filled;
7177 - break;
7178 - case(FILLING_HOLLOW):
7179 - /* nop */
7180 - break;
7184 - if((pitch1 <= 0) || (pitch2 <= 0)) {
7185 - angle1 = -1; pitch1 = 1;
7186 - angle2 = -1; pitch2 = 1;
7187 - fill_func = o_box_print_filled;
7190 - (*fill_func)(toplevel, fp,
7191 - x, y, width, height,
7192 - color,
7193 - fill_width,
7194 - angle1, pitch1, angle2, pitch2,
7195 - origin_x, origin_y);
7199 -/*! \brief Print a solid BOX to Postscript document.
7200 - * \par Function Description
7201 - * This function prints the outline of a box when a solid line type is
7202 - * required. The box is defined by the coordinates of its upper left corner
7203 - * in (<B>x</B>,<B>y</B>) and its width and height given by the <B>width</B> and
7204 - * <B>height</B> parameters.
7205 - * The postscript file is defined by the file pointer <B>fp</B>.
7206 - * The parameters <B>length</B> and <B>space</B> are ignored.
7208 - * It uses the function #o_line_print_solid() to print the outline.
7209 - * It performs four calls to this function, one for each of its side.
7211 - * All dimensions are in mils.
7213 - * \param [in] toplevel The TOPLEVEL object.
7214 - * \param [in] fp FILE pointer to Postscript document.
7215 - * \param [in] x Upper x coordinate of BOX.
7216 - * \param [in] y Upper y coordinate of BOX.
7217 - * \param [in] width Width of BOX.
7218 - * \param [in] height Height of BOX.
7219 - * \param [in] color BOX color.
7220 - * \param [in] line_width BOX Line width.
7221 - * \param [in] length Dashed line length.
7222 - * \param [in] space Amount of space between dashes.
7223 - * \param [in] origin_x Page x coordinate to place BOX OBJECT.
7224 - * \param [in] origin_y Page y coordinate to place BOX OBJECT.
7225 - */
7226 -void
7227 -o_box_print_solid(TOPLEVEL *toplevel, FILE *fp,
7228 - int x, int y,
7229 - int width, int height,
7230 - int color,
7231 - int line_width, int length, int space,
7232 - int origin_x, int origin_y)
7234 - int x1, y1;
7236 - f_print_set_color(toplevel, fp, color);
7238 - x1 = x;
7239 - y1 = y - height; /* move the origin to 0, 0*/
7241 - o_line_print_solid(toplevel, fp,
7242 - x1, y1, x1 + width, y1,
7243 - color,
7244 - line_width, length, space,
7245 - origin_x, origin_y);
7246 - o_line_print_solid(toplevel, fp,
7247 - x1 + width, y1, x1 + width, y1 + height,
7248 - color,
7249 - line_width, length, space,
7250 - origin_x, origin_y);
7251 - o_line_print_solid(toplevel, fp,
7252 - x1 + width, y1 + height, x1, y1 + height,
7253 - color,
7254 - line_width, length, space,
7255 - origin_x, origin_y);
7256 - o_line_print_solid(toplevel, fp,
7257 - x1, y1 + height, x1, y1,
7258 - color,
7259 - line_width, length, space,
7260 - origin_x, origin_y);
7263 -/*! \brief Print a dotted BOX to Postscript document.
7264 - * \par Function Description
7265 - * This function prints the outline of a box when a dotted line type is
7266 - * required. The box is defined by the coordinates of its upper left corner
7267 - * in (<B>x</B>,<B>y</B>) and its width and height given by the <B>width</B> and
7268 - * <B>height</B> parameters.
7269 - * The postscript file is defined by the file pointer <B>fp</B>.
7270 - * The parameters <B>length</B> is ignored.
7272 - * It uses the function #o_line_print_dotted() to print the outline.
7273 - * It performs four calls to this function, one for each of its side.
7275 - * All dimensions are in mils.
7277 - * \param [in] toplevel The TOPLEVEL object.
7278 - * \param [in] fp FILE pointer to Postscript document.
7279 - * \param [in] x Upper x coordinate of BOX.
7280 - * \param [in] y Upper y coordinate of BOX.
7281 - * \param [in] width Width of BOX.
7282 - * \param [in] height Height of BOX.
7283 - * \param [in] color BOX color.
7284 - * \param [in] line_width BOX Line width.
7285 - * \param [in] length Dashed line length.
7286 - * \param [in] space Amount of space between dashes.
7287 - * \param [in] origin_x Page x coordinate to place BOX OBJECT.
7288 - * \param [in] origin_y Page y coordinate to place BOX OBJECT.
7289 - */
7290 -void o_box_print_dotted(TOPLEVEL *toplevel, FILE *fp,
7291 - int x, int y,
7292 - int width, int height,
7293 - int color,
7294 - int line_width, int length, int space,
7295 - int origin_x, int origin_y)
7297 - int x1, y1;
7299 - f_print_set_color(toplevel, fp, color);
7301 - x1 = x;
7302 - y1 = y - height; /* move the origin to 0, 0*/
7304 - o_line_print_dotted(toplevel, fp,
7305 - x1, y1, x1 + width, y1,
7306 - color,
7307 - line_width, length, space,
7308 - origin_x, origin_y);
7309 - o_line_print_dotted(toplevel, fp,
7310 - x1 + width, y1, x1 + width, y1 + height,
7311 - color,
7312 - line_width, length, space,
7313 - origin_x, origin_y);
7314 - o_line_print_dotted(toplevel, fp,
7315 - x1 + width, y1 + height, x1, y1 + height,
7316 - color,
7317 - line_width, length, space,
7318 - origin_x, origin_y);
7319 - o_line_print_dotted(toplevel, fp,
7320 - x1, y1 + height, x1, y1,
7321 - color,
7322 - line_width, length, space,
7323 - origin_x, origin_y);
7326 -/*! \brief Print a dashed BOX to Postscript document.
7327 - * \par Function Description
7328 - * This function prints the outline of a box when a dashed line type is
7329 - * required. The box is defined by the coordinates of its upper left corner
7330 - * in (<B>x</B>,<B>y</B>) and its width and height given by the <B>width</B> and
7331 - * <B>height</B> parameters.
7332 - * The postscript file is defined by the file pointer <B>fp</B>.
7334 - * It uses the function #o_line_print_dashed() to print the outline.
7335 - * It performs four calls to this function, one for each of its side.
7337 - * All dimensions are in mils.
7339 - * \param [in] toplevel The TOPLEVEL object.
7340 - * \param [in] fp FILE pointer to Postscript document.
7341 - * \param [in] x Upper x coordinate of BOX.
7342 - * \param [in] y Upper y coordinate of BOX.
7343 - * \param [in] width Width of BOX.
7344 - * \param [in] height Height of BOX.
7345 - * \param [in] color BOX color.
7346 - * \param [in] line_width BOX Line width.
7347 - * \param [in] length Dashed line length.
7348 - * \param [in] space Amount of space between dashes.
7349 - * \param [in] origin_x Page x coordinate to place BOX OBJECT.
7350 - * \param [in] origin_y Page y coordinate to place BOX OBJECT.
7351 - */
7352 -void o_box_print_dashed(TOPLEVEL *toplevel, FILE *fp,
7353 - int x, int y,
7354 - int width, int height,
7355 - int color,
7356 - int line_width, int length, int space,
7357 - int origin_x, int origin_y)
7359 - int x1, y1;
7361 - f_print_set_color(toplevel, fp, color);
7364 - x1 = x;
7365 - y1 = y - height; /* move the origin to 0, 0*/
7367 - o_line_print_dashed(toplevel, fp,
7368 - x1, y1, x1 + width, y1,
7369 - color,
7370 - line_width, length, space,
7371 - origin_x, origin_y);
7372 - o_line_print_dashed(toplevel, fp,
7373 - x1 + width, y1, x1 + width, y1 + height,
7374 - color,
7375 - line_width, length, space,
7376 - origin_x, origin_y);
7377 - o_line_print_dashed(toplevel, fp,
7378 - x1 + width, y1 + height, x1, y1 + height,
7379 - color,
7380 - line_width, length, space,
7381 - origin_x, origin_y);
7382 - o_line_print_dashed(toplevel, fp,
7383 - x1, y1 + height, x1, y1,
7384 - color,
7385 - line_width, length, space,
7386 - origin_x, origin_y);
7389 -/*! \brief Print centered line type BOX to Postscript document.
7390 - * \par Function Description
7391 - * This function prints the outline of a box when a centered line type is
7392 - * required. The box is defined by the coordinates of its upper left corner
7393 - * in (<B>x</B>,<B>y</B>) and its width and height given by the <B>width</B> and
7394 - * <B>height</B> parameters.
7395 - * The postscript file is defined by the file pointer <B>fp</B>.
7397 - * It uses the function #o_line_print_center() to print the outline.
7398 - * It performs four calls to this function, one for each of its side.
7400 - * All dimensions are in mils.
7402 - * \param [in] toplevel The TOPLEVEL object.
7403 - * \param [in] fp FILE pointer to Postscript document.
7404 - * \param [in] x Upper x coordinate of BOX.
7405 - * \param [in] y Upper y coordinate of BOX.
7406 - * \param [in] width Width of BOX.
7407 - * \param [in] height Height of BOX.
7408 - * \param [in] color BOX color.
7409 - * \param [in] line_width BOX Line width.
7410 - * \param [in] length Dashed line length.
7411 - * \param [in] space Amount of space between dashes.
7412 - * \param [in] origin_x Page x coordinate to place BOX OBJECT.
7413 - * \param [in] origin_y Page y coordinate to place BOX OBJECT.
7414 - */
7415 -void o_box_print_center(TOPLEVEL *toplevel, FILE *fp,
7416 - int x, int y,
7417 - int width, int height,
7418 - int color,
7419 - int line_width, int length, int space,
7420 - int origin_x, int origin_y)
7422 - int x1, y1;
7424 - f_print_set_color(toplevel, fp, color);
7426 - x1 = x;
7427 - y1 = y - height; /* move the origin to 0, 0*/
7429 - o_line_print_center(toplevel, fp,
7430 - x1, y1, x1 + width, y1,
7431 - color,
7432 - line_width, length, space,
7433 - origin_x, origin_y);
7434 - o_line_print_center(toplevel, fp,
7435 - x1 + width, y1, x1 + width, y1 + height,
7436 - color,
7437 - line_width, length, space,
7438 - origin_x, origin_y);
7439 - o_line_print_center(toplevel, fp,
7440 - x1 + width, y1 + height, x1, y1 + height,
7441 - color,
7442 - line_width, length, space,
7443 - origin_x, origin_y);
7444 - o_line_print_center(toplevel, fp,
7445 - x1, y1 + height, x1, y1,
7446 - color,
7447 - line_width, length, space,
7448 - origin_x, origin_y);
7451 -/*! \brief Print phantom line type BOX to Postscript document.
7452 - * \par Function Description
7453 - * This function prints the outline of a box when a phantom line type is
7454 - * required. The box is defined by the coordinates of its upper left corner
7455 - * in (<B>x</B>,<B>y</B>) and its width and height given by the <B>width</B> and
7456 - * <B>height</B> parameters.
7457 - * The postscript file is defined by the file pointer <B>fp</B>.
7459 - * It uses the function #o_line_print_phantom() to print the outline.
7460 - * It performs four calls to this function, one for each of its side.
7462 - * All dimensions are in mils.
7463 - *
7464 - * \param [in] toplevel The TOPLEVEL object.
7465 - * \param [in] fp FILE pointer to Postscript document.
7466 - * \param [in] x Upper x coordinate of BOX.
7467 - * \param [in] y Upper y coordinate of BOX.
7468 - * \param [in] width Width of BOX.
7469 - * \param [in] height Height of BOX.
7470 - * \param [in] color BOX color.
7471 - * \param [in] line_width BOX Line width.
7472 - * \param [in] length Dashed line length.
7473 - * \param [in] space Amount of space between dashes.
7474 - * \param [in] origin_x Page x coordinate to place BOX OBJECT.
7475 - * \param [in] origin_y Page y coordinate to place BOX OBJECT.
7476 - */
7477 -void o_box_print_phantom(TOPLEVEL *toplevel, FILE *fp,
7478 - int x, int y,
7479 - int width, int height,
7480 - int color,
7481 - int line_width, int length, int space,
7482 - int origin_x, int origin_y)
7484 - int x1, y1;
7486 - f_print_set_color(toplevel, fp, color);
7488 - x1 = x;
7489 - y1 = y - height; /* move the origin to 0, 0*/
7491 - o_line_print_phantom(toplevel, fp,
7492 - x1, y1, x1 + width, y1,
7493 - color,
7494 - line_width, length, space,
7495 - origin_x, origin_y);
7496 - o_line_print_phantom(toplevel, fp,
7497 - x1 + width, y1, x1 + width, y1 + height,
7498 - color,
7499 - line_width, length, space,
7500 - origin_x, origin_y);
7501 - o_line_print_phantom(toplevel, fp,
7502 - x1 + width, y1 + height, x1, y1 + height,
7503 - color,
7504 - line_width, length, space,
7505 - origin_x, origin_y);
7506 - o_line_print_phantom(toplevel, fp,
7507 - x1, y1 + height, x1, y1,
7508 - color,
7509 - line_width, length, space,
7510 - origin_x, origin_y);
7513 -/*! \brief Print a solid pattern BOX to Postscript document.
7514 - * \par Function Description
7515 - * The function prints a filled box with a solid pattern. No outline is
7516 - * printed.
7517 - * The box is defined by the coordinates of its upper left corner in
7518 - * (<B>x</B>,<B>y</B>) and its width and height given by the <B>width</B> and
7519 - * <B>height</B> parameters. The postscript file is defined by the file
7520 - * pointer <B>fp</B>.
7521 - * <B>fill_width</B>, <B>angle1</B> and <B>pitch1</B>, <B>angle2</B> and <B>pitch2</B>
7522 - * parameters are ignored in this functions but kept for compatibility
7523 - * with other fill functions.
7525 - * It uses the fbox postscript function defined in the prolog to
7526 - * specify a filled box.
7527 - *
7528 - * All dimensions are in mils.
7530 - * \param [in] toplevel The TOPLEVEL object.
7531 - * \param [in] fp FILE pointer to Postscript document.
7532 - * \param [in] x Upper x coordinate of BOX.
7533 - * \param [in] y Upper y coordinate of BOX.
7534 - * \param [in] width Width of BOX.
7535 - * \param [in] height Height of BOX.
7536 - * \param [in] color BOX color.
7537 - * \param [in] fill_width BOX fill width. (unused).
7538 - * \param [in] angle1 (unused).
7539 - * \param [in] pitch1 (unused).
7540 - * \param [in] angle2 (unused).
7541 - * \param [in] pitch2 (unused).
7542 - * \param [in] origin_x Page x coordinate to place BOX OBJECT.
7543 - * \param [in] origin_y Page y coordinate to place BOX OBJECT.
7544 - */
7545 -void o_box_print_filled(TOPLEVEL *toplevel, FILE *fp,
7546 - int x, int y,
7547 - int width, int height,
7548 - int color,
7549 - int fill_width,
7550 - int angle1, int pitch1,
7551 - int angle2, int pitch2,
7552 - int origin_x, int origin_y)
7554 - int x1, y1;
7556 - f_print_set_color(toplevel, fp, color);
7558 - x1 = x;
7559 - y1 = y-height; /* move the origin to 0, 0*/
7560 - fprintf(fp, "%d %d %d %d fbox\n",
7561 - width, height,
7562 - x1-origin_x, y1-origin_y);
7566 -/*! \brief Print a mesh pattern BOX to Postscript document.
7567 - * \par Function Description
7568 - * This function prints a meshed box. No outline is printed. The box is
7569 - * defined by the coordinates of its upper left corner in (<B>x</B>,<B>y</B>) and
7570 - * its width and height given by the <B>width</B> and <B>height</B> parameters.
7571 - * The postscript file is defined by the file pointer <B>fp</B>.
7573 - * The inside mesh is achieved by two successive call to the
7574 - * #o_box_print_hatch() function, given <B>angle1</B> and <B>pitch1</B> the first
7575 - * time and <B>angle2</B> and <B>pitch2</B> the second time.
7577 - * Negative or null values for <B>pitch1</B> and/or <B>pitch2</B> are not allowed
7578 - * as it leads to an endless loop in #o_box_print_hatch().
7579 - *
7580 - * All dimensions are in mils.
7582 - * \param [in] toplevel The TOPLEVEL object.
7583 - * \param [in] fp FILE pointer to Postscript document.
7584 - * \param [in] x Upper x coordinate of BOX.
7585 - * \param [in] y Upper y coordinate of BOX.
7586 - * \param [in] width Width of BOX.
7587 - * \param [in] height Height of BOX.
7588 - * \param [in] color BOX color.
7589 - * \param [in] fill_width BOX fill width.
7590 - * \param [in] angle1 1st angle for mesh pattern.
7591 - * \param [in] pitch1 1st pitch for mesh pattern.
7592 - * \param [in] angle2 2nd angle for mesh pattern.
7593 - * \param [in] pitch2 2nd pitch for mesh pattern.
7594 - * \param [in] origin_x Page x coordinate to place BOX OBJECT.
7595 - * \param [in] origin_y Page y coordinate to place BOX OBJECT.
7596 - */
7597 -void o_box_print_mesh(TOPLEVEL *toplevel, FILE *fp,
7598 - int x, int y,
7599 - int width, int height,
7600 - int color,
7601 - int fill_width,
7602 - int angle1, int pitch1,
7603 - int angle2, int pitch2,
7604 - int origin_x, int origin_y)
7606 - o_box_print_hatch(toplevel, fp,
7607 - x, y, width, height,
7608 - color,
7609 - fill_width,
7610 - angle1, pitch1, -1, -1,
7611 - origin_x, origin_y);
7612 - o_box_print_hatch(toplevel, fp,
7613 - x, y, width, height,
7614 - color,
7615 - fill_width,
7616 - angle2, pitch2, -1, -1,
7617 - origin_x, origin_y);
7621 -/*! \brief Print a hatch pattern BOX to Postscript document.
7622 - * \par Function Description
7623 - * The function prints a hatched box. No outline is printed. The box is
7624 - * defined by the coordinates of its upper left corner in (<B>x</B>,<B>y</B>) and
7625 - * its width and height given by the <B>width</B> and <B>height</B> parameters.
7626 - * The postscript file is defined by the file pointer <B>fp</B>.
7627 - * <B>fill_width</B>, <B>angle1</B>, <B>pitch1</B> parameters define the way the box
7628 - * has to be hatched.
7629 - * <B>angle2</B> and <B>pitch2</B> parameters are unused but kept for compatibility
7630 - * with other fill functions.
7632 - * Negative or null values for <B>pitch1</B> are not allowed as it leads to an
7633 - * endless loop.
7635 - * All dimensions are in mils.
7637 - * \param [in] toplevel The TOPLEVEL object.
7638 - * \param [in] fp FILE pointer to Postscript document.
7639 - * \param [in] x Upper x coordinate of BOX.
7640 - * \param [in] y Upper y coordinate of BOX.
7641 - * \param [in] width Width of BOX.
7642 - * \param [in] height Height of BOX.
7643 - * \param [in] color BOX color.
7644 - * \param [in] fill_width BOX fill width.
7645 - * \param [in] angle1 Angle of hatch pattern.
7646 - * \param [in] pitch1 Pitch of hatch pattern.
7647 - * \param [in] angle2 (unused).
7648 - * \param [in] pitch2 (unused).
7649 - * \param [in] origin_x Page x coordinate to place BOX OBJECT.
7650 - * \param [in] origin_y Page y coordinate to place BOX OBJECT.
7651 - */
7652 -void o_box_print_hatch(TOPLEVEL *toplevel, FILE *fp,
7653 - int x, int y,
7654 - int width, int height,
7655 - int color,
7656 - int fill_width,
7657 - int angle1, int pitch1,
7658 - int angle2, int pitch2,
7659 - int origin_x, int origin_y)
7661 - BOX box;
7662 - gint index;
7663 - GArray *lines;
7665 - g_return_if_fail(toplevel != NULL);
7666 - g_return_if_fail(fp != NULL);
7668 - f_print_set_color(toplevel, fp, color);
7670 - /* Avoid printing line widths too small */
7671 - if (fill_width <= 1) fill_width = 2;
7673 - lines = g_array_new(FALSE, FALSE, sizeof(LINE));
7675 - box.upper_x = x;
7676 - box.upper_y = y;
7677 - box.lower_x = x + width;
7678 - box.lower_y = y - height; /* Hmmm... */
7680 - m_hatch_box(&box, angle1, pitch1, lines);
7682 - for(index=0; index<lines->len; index++) {
7683 - LINE *line = &g_array_index(lines, LINE, index);
7685 - fprintf(fp,"%d %d %d %d %d line\n",
7686 - line->x[0], line->y[0],
7687 - line->x[1], line->y[1],
7688 - fill_width);
7691 - g_array_free(lines, TRUE);
7694 /*! \brief Calculates the distance between the given point and the closest
7695 * point on the perimeter of the box.
7696 diff --git a/libgeda/src/o_bus_basic.c b/libgeda/src/o_bus_basic.c
7697 index cdedb3d..2ec11b6 100644
7698 --- a/libgeda/src/o_bus_basic.c
7699 +++ b/libgeda/src/o_bus_basic.c
7700 @@ -273,52 +273,6 @@ OBJECT *o_bus_copy(TOPLEVEL *toplevel, OBJECT *o_current)
7701 return new_obj;
7704 -/*! \brief postscript print command for a bus object
7705 - * \par Function Description
7706 - * This function writes the postscript command of the bus object \a o_current
7707 - * into the FILE \a fp points to.
7708 - *
7709 - * \param [in] toplevel The TOPLEVEL object
7710 - * \param [in] fp pointer to a FILE structure
7711 - * \param [in] o_current The OBJECT to print
7712 - * \param [in] origin_x x-coord of the postscript origin
7713 - * \param [in] origin_y y-coord of the postscript origin
7714 - */
7715 -void o_bus_print(TOPLEVEL *toplevel, FILE *fp, OBJECT *o_current,
7716 - int origin_x, int origin_y)
7718 - int offset, offset2;
7719 - int cross, bus_width;
7720 - int x1, y1;
7721 - int x2, y2;
7723 - if (o_current == NULL) {
7724 - printf("got null in o_bus_print\n");
7725 - return;
7728 - offset = 7*6;
7729 - offset2 = 7;
7731 - cross = offset;
7733 - f_print_set_color(toplevel, fp, o_current->color);
7735 - bus_width = 2;
7736 - if (toplevel->bus_style == THICK) {
7737 - bus_width = BUS_WIDTH;
7740 - x1 = o_current->line->x[0]-origin_x,
7741 - y1 = o_current->line->y[0]-origin_y;
7742 - x2 = o_current->line->x[1]-origin_x,
7743 - y2 = o_current->line->y[1]-origin_y;
7745 - fprintf(fp, "%d %d %d %d %d line\n",
7746 - x1,y1,x2,y2,bus_width);
7751 /*! \brief rotate a bus object around a centerpoint
7752 * \par Function Description
7753 diff --git a/libgeda/src/o_circle_basic.c b/libgeda/src/o_circle_basic.c
7754 index 586efa5..6dd7c02 100644
7755 --- a/libgeda/src/o_circle_basic.c
7756 +++ b/libgeda/src/o_circle_basic.c
7757 @@ -548,558 +548,6 @@ gboolean o_circle_get_position (TOPLEVEL *toplevel, gint *x, gint *y,
7758 return TRUE;
7761 -/*! \brief Print circle to Postscript document.
7762 - * \par Function Description
7763 - * This function prints the circle described by the <B>o_current</B>
7764 - * parameter to a Postscript document. It takes into account its line type
7765 - * and fill type.
7766 - * The Postscript document is descibed by the file pointer <B>fp</B>.
7768 - * The validity of the <B>o_current</B> pointer is checked :
7769 - * a null pointer causes an error message and a return.
7771 - * The description of the circle is extracted from the <B>o_current</B>
7772 - * parameter : the coordinates of the center of the circle, its radius,
7773 - * its line type, its fill type.
7775 - * The outline and the inside of the circle are successively handled by
7776 - * two differend sets of functions.
7777 - *
7778 - * \param [in] toplevel The TOPLEVEL object.
7779 - * \param [in] fp FILE pointer to Postscript document.
7780 - * \param [in] o_current Circle OBJECT to write to document.
7781 - * \param [in] origin_x Page x coordinate to place circle OBJECT.
7782 - * \param [in] origin_y Page y coordinate to place circle OBJECT.
7783 - */
7784 -void o_circle_print(TOPLEVEL *toplevel, FILE *fp, OBJECT *o_current,
7785 - int origin_x, int origin_y)
7787 - int x, y, radius;
7788 - int color;
7789 - int circle_width, length, space;
7790 - int fill_width, angle1, pitch1, angle2, pitch2;
7791 - void (*outl_func)() = NULL;
7792 - void (*fill_func)() = NULL;
7794 - if (o_current == NULL) {
7795 - printf("got null in o_circle_print\n");
7796 - return;
7799 - x = o_current->circle->center_x;
7800 - y = o_current->circle->center_y;
7801 - radius = o_current->circle->radius;
7803 - color = o_current->color;
7805 - /*
7806 - * Depending on the type of the line for this particular circle, the
7807 - * appropriate function is chosen among #o_circle_print_solid(),
7808 - * #o_circle_print_dotted(), #o_circle_print_dashed(),
7809 - * #o_circle_print_center() and #o_circle_print_phantom().
7811 - * The needed parameters for each of these type is extracted from the
7812 - * <B>o_current</B> object. Depending on the type, unused parameters are
7813 - * set to -1.
7815 - * In the eventuality of a length and/or space null, the line is
7816 - * printed solid to avoid and endless loop produced by other functions
7817 - * in such a case.
7818 - */
7819 - circle_width = o_current->line_width;
7820 - if(circle_width <=2) {
7821 - if(toplevel->line_style == THICK) {
7822 - circle_width=LINE_WIDTH;
7823 - } else {
7824 - circle_width=2;
7827 - length = o_current->line_length;
7828 - space = o_current->line_space;
7830 - switch(o_current->line_type) {
7831 - case(TYPE_SOLID):
7832 - length = -1; space = -1;
7833 - outl_func = o_circle_print_solid;
7834 - break;
7836 - case(TYPE_DOTTED):
7837 - length = -1;
7838 - outl_func = o_circle_print_dotted;
7839 - break;
7841 - case(TYPE_DASHED):
7842 - outl_func = o_circle_print_dashed;
7843 - break;
7845 - case(TYPE_CENTER):
7846 - outl_func = o_circle_print_center;
7847 - break;
7849 - case(TYPE_PHANTOM):
7850 - outl_func = o_circle_print_phantom;
7851 - break;
7853 - case(TYPE_ERASE):
7854 - /* Unused for now print it solid */
7855 - length = -1; space = -1;
7856 - outl_func = o_circle_print_solid;
7857 - break;
7860 - if((length == 0) || (space == 0)) {
7861 - length = -1; space = -1;
7862 - outl_func = o_circle_print_solid;
7865 - (*outl_func)(toplevel, fp,
7866 - x - origin_x, y - origin_y,
7867 - radius,
7868 - color,
7869 - circle_width, length, space,
7870 - origin_x, origin_y);
7872 - /*
7873 - * If the filling type of the circle is not <B>HOLLOW</B>, the appropriate
7874 - * function is chosen among #o_circle_print_filled(), #o_circle_print_mesh()
7875 - * and #o_circle_print_hatch(). The corresponding parameters are extracted
7876 - * from the <B>o_current</B> object and corrected afterward.
7878 - * The case where <B>pitch1</B> and <B>pitch2</B> are null or negative is
7879 - * avoided as it leads to an endless loop in most of the called functions.
7880 - * In such a case, the circle is printed filled. Unused parameters for
7881 - * each of these functions are set to -1 or any passive value.
7882 - */
7883 - if(o_current->fill_type != FILLING_HOLLOW) {
7884 - fill_width = o_current->fill_width;
7885 - angle1 = o_current->fill_angle1;
7886 - pitch1 = o_current->fill_pitch1;
7887 - angle2 = o_current->fill_angle2;
7888 - pitch2 = o_current->fill_pitch2;
7890 - switch(o_current->fill_type) {
7891 - case(FILLING_FILL):
7892 - angle1 = -1; pitch1 = 1;
7893 - angle2 = -1; pitch2 = 1;
7894 - fill_width = -1;
7895 - fill_func = o_circle_print_filled;
7896 - break;
7898 - case(FILLING_MESH):
7899 - fill_func = o_circle_print_mesh;
7900 - break;
7902 - case(FILLING_HATCH):
7903 - angle2 = -1; pitch2 = 1;
7904 - fill_func = o_circle_print_hatch;
7905 - break;
7907 - case(FILLING_VOID):
7908 - /* Unused for now, print it filled */
7909 - angle1 = -1; pitch1 = 1;
7910 - angle2 = -1; pitch2 = 1;
7911 - fill_width = -1;
7912 - fill_func = o_circle_print_filled;
7913 - break;
7915 - case(FILLING_HOLLOW):
7916 - /* nop */
7917 - break;
7920 - if((pitch1 <= 0) || (pitch2 <= 0)) {
7921 - angle1 = -1; pitch1 = 1;
7922 - angle2 = -1; pitch2 = 1;
7923 - fill_func = o_circle_print_filled;
7926 - (*fill_func)(toplevel, fp,
7927 - x, y, radius,
7928 - color,
7929 - fill_width,
7930 - angle1, pitch1, angle2, pitch2,
7931 - origin_x, origin_y);
7935 -/*! \brief Print a solid circle to Postscript document.
7936 - * \par Function Description
7937 - * This function prints the outline of a circle when a solid line type
7938 - * is required. The circle is defined by its center in (<B>x</B>, <B>y</B>)
7939 - * and its radius in <B>radius</B>. It is printed with the color given
7940 - * in <B>color</B>.
7941 - * The parameters <B>length</B> and <B>space</B> are ignored.
7943 - * It uses the function #o_arc_print_solid() to print the outline.
7944 - * Therefore it acts as an interface between the way a circle is defined
7945 - * and the way an arc is defined.
7947 - * All dimensions are in mils.
7949 - * \param [in] toplevel The TOPLEVEL object.
7950 - * \param [in] fp FILE pointer to Postscript document.
7951 - * \param [in] x Center x coordinate of circle.
7952 - * \param [in] y Center y coordinate of circle.
7953 - * \param [in] radius Circle radius.
7954 - * \param [in] color Circle color.
7955 - * \param [in] circle_width Width of circle.
7956 - * \param [in] length (unused).
7957 - * \param [in] space (unused).
7958 - * \param [in] origin_x Page x coordinate to place circle OBJECT.
7959 - * \param [in] origin_y Page y coordinate to place circle OBJECT.
7960 - */
7961 -void o_circle_print_solid(TOPLEVEL *toplevel, FILE *fp,
7962 - int x, int y, int radius,
7963 - int color,
7964 - int circle_width, int length, int space,
7965 - int origin_x, int origin_y)
7968 - o_arc_print_solid(toplevel, fp,
7969 - x, y, radius,
7970 - 0, FULL_CIRCLE / 64,
7971 - color,
7972 - circle_width, -1, -1,
7973 - origin_x, origin_y);
7978 -/*! \brief Print a dotted circle to Postscript document.
7979 - * \par Function Description
7980 - * This function prints the outline of a circle when a dotted line
7981 - * type is required. The circle is defined by its center
7982 - * in (<B>x</B>, <B>y</B>) and its radius in <B>radius</B>. It is printed
7983 - * with the color given in <B>color</B>.
7984 - * The parameter <B>length</B> is ignored.
7986 - * It uses the function #o_arc_print_dotted() to print the outline.
7987 - * Therefore it acts as an interface between the way a circle is
7988 - * defined and the way an arc is defined.
7990 - * All dimensions are in mils.
7992 - * \param [in] toplevel The TOPLEVEL object.
7993 - * \param [in] fp FILE pointer to Postscript document.
7994 - * \param [in] x Center x coordinate of circle.
7995 - * \param [in] y Center y coordinate of circle.
7996 - * \param [in] radius Circle radius.
7997 - * \param [in] color Circle color.
7998 - * \param [in] circle_width Width of circle.
7999 - * \param [in] length (unused).
8000 - * \param [in] space Space between dots.
8001 - * \param [in] origin_x Page x coordinate to place circle OBJECT.
8002 - * \param [in] origin_y Page y coordinate to place circle OBJECT.
8003 - */
8004 -void o_circle_print_dotted(TOPLEVEL *toplevel, FILE *fp,
8005 - int x, int y, int radius,
8006 - int color,
8007 - int circle_width, int length, int space,
8008 - int origin_x, int origin_y)
8011 - o_arc_print_dotted(toplevel, fp,
8012 - x, y, radius,
8013 - 0, FULL_CIRCLE / 64,
8014 - color,
8015 - circle_width, -1, space,
8016 - origin_x, origin_y);
8020 -/*! \brief Print a dashed circle to Postscript document.
8021 - * \par Function Description
8022 - * This function prints the outline of a circle when a dashed line type
8023 - * is required. The circle is defined by its center in
8024 - * (<B>x</B>, <B>y</B>) and its radius in <B>radius</B>. It is printed with the
8025 - * color given in <B>color</B>.
8027 - * It uses the function #o_arc_print_dashed() to print the outline.
8028 - * Therefore it acts as an interface between the way a circle is
8029 - * defined and the way an arc is defined.
8031 - * All dimensions are in mils.
8033 - * \param [in] toplevel The TOPLEVEL object.
8034 - * \param [in] fp FILE pointer to Postscript document.
8035 - * \param [in] x Center x coordinate of circle.
8036 - * \param [in] y Center y coordinate of circle.
8037 - * \param [in] radius Circle radius.
8038 - * \param [in] color Circle color.
8039 - * \param [in] circle_width Width of circle.
8040 - * \param [in] length Length of dashed lines.
8041 - * \param [in] space Space between dashes.
8042 - * \param [in] origin_x Page x coordinate to place circle OBJECT.
8043 - * \param [in] origin_y Page y coordinate to place circle OBJECT.
8044 - */
8045 -void o_circle_print_dashed(TOPLEVEL *toplevel, FILE *fp,
8046 - int x, int y,
8047 - int radius,
8048 - int color,
8049 - int circle_width, int length, int space,
8050 - int origin_x, int origin_y)
8053 - o_arc_print_dashed(toplevel, fp,
8054 - x, y, radius,
8055 - 0, FULL_CIRCLE / 64,
8056 - color,
8057 - circle_width, length, space,
8058 - origin_x, origin_y);
8062 -/*! \brief Print a centered line type circle to Postscript document.
8063 - * \par Function Description
8064 - * This function prints the outline of a circle when a centered line
8065 - * type is required. The circle is defined by its center in
8066 - * (<B>x</B>, <B>y</B>) and its radius in <B>radius</B>. It is printed with the
8067 - * color given in <B>color</B>.
8069 - * It uses the function #o_arc_print_center() to print the outline.
8070 - * Therefore it acts as an interface between the way a circle is
8071 - * defined and the way an arc is defined.
8073 - * All dimensions are in mils.
8075 - * \param [in] toplevel The TOPLEVEL object.
8076 - * \param [in] fp FILE pointer to Postscript document.
8077 - * \param [in] x Center x coordinate of circle.
8078 - * \param [in] y Center y coordinate of circle.
8079 - * \param [in] radius Circle radius.
8080 - * \param [in] color Circle color.
8081 - * \param [in] circle_width Width of circle.
8082 - * \param [in] length Length of dashed lines.
8083 - * \param [in] space Space between dashes.
8084 - * \param [in] origin_x Page x coordinate to place circle OBJECT.
8085 - * \param [in] origin_y Page y coordinate to place circle OBJECT.
8086 - */
8087 -void o_circle_print_center(TOPLEVEL *toplevel, FILE *fp,
8088 - int x, int y,
8089 - int radius,
8090 - int color,
8091 - int circle_width, int length, int space,
8092 - int origin_x, int origin_y)
8095 - o_arc_print_center(toplevel, fp,
8096 - x, y, radius,
8097 - 0, FULL_CIRCLE / 64,
8098 - color,
8099 - circle_width, length, space,
8100 - origin_x, origin_y);
8104 -/*! \brief Print a phantom line type circle to Postscript document.
8105 - * \par Function Description
8106 - * This function prints the outline of a circle when a phantom line type
8107 - * is required. The circle is defined by its center in
8108 - * (<B>x</B>, <B>y</B>) and its radius in <B>radius</B>. It is printed with the
8109 - * color given in <B>color</B>.
8111 - * It uses the function #o_arc_print_phantom() to print the outline.
8112 - * Therefore it acts as an interface between the way a circle is defined
8113 - * and the way an arc is defined.
8115 - * All dimensions are in mils.
8117 - * \param [in] toplevel The TOPLEVEL object.
8118 - * \param [in] fp FILE pointer to Postscript document.
8119 - * \param [in] x Center x coordinate of circle.
8120 - * \param [in] y Center y coordinate of circle.
8121 - * \param [in] radius Circle radius.
8122 - * \param [in] color Circle color.
8123 - * \param [in] circle_width Width of circle.
8124 - * \param [in] length Length of dashed lines.
8125 - * \param [in] space Space between dashes.
8126 - * \param [in] origin_x Page x coordinate to place circle OBJECT.
8127 - * \param [in] origin_y Page y coordinate to place circle OBJECT.
8128 - */
8129 -void o_circle_print_phantom(TOPLEVEL *toplevel, FILE *fp,
8130 - int x, int y,
8131 - int radius,
8132 - int color,
8133 - int circle_width, int length, int space,
8134 - int origin_x, int origin_y)
8137 - o_arc_print_phantom(toplevel, fp,
8138 - x, y, radius,
8139 - 0, FULL_CIRCLE / 64,
8140 - color,
8141 - circle_width, length, space,
8142 - origin_x, origin_y);
8146 -/*! \brief Print a solid pattern circle to Postscript document.
8147 - * \par Function Description
8148 - * The function prints a filled circle with a solid pattern.
8149 - * No outline is printed.
8150 - * The circle is defined by the coordinates of its center in
8151 - * (<B>x</B>,<B>y</B>) and its radius given by the <B>radius</B> parameter.
8152 - * The postscript file is defined by the file pointer <B>fp</B>.
8153 - * <B>fill_width</B>, <B>angle1</B> and <B>pitch1</B>, <B>angle2</B>
8154 - * and <B>pitch2</B> parameters are ignored in this functions but
8155 - * kept for compatibility with other fill functions.
8157 - * All dimensions are in mils (except <B>angle1</B> and <B>angle2</B> in degree).
8159 - * \param [in] toplevel The TOPLEVEL object.
8160 - * \param [in] fp FILE pointer to Postscript document.
8161 - * \param [in] x Center x coordinate of circle.
8162 - * \param [in] y Center y coordinate of circle.
8163 - * \param [in] radius Radius of circle.
8164 - * \param [in] color Circle color.
8165 - * \param [in] fill_width Circle fill width. (unused).
8166 - * \param [in] angle1 (unused).
8167 - * \param [in] pitch1 (unused).
8168 - * \param [in] angle2 (unused).
8169 - * \param [in] pitch2 (unused).
8170 - * \param [in] origin_x Page x coordinate to place circle OBJECT.
8171 - * \param [in] origin_y Page y coordinate to place circle OBJECT.
8172 - */
8173 -void o_circle_print_filled(TOPLEVEL *toplevel, FILE *fp,
8174 - int x, int y, int radius,
8175 - int color,
8176 - int fill_width,
8177 - int angle1, int pitch1,
8178 - int angle2, int pitch2,
8179 - int origin_x, int origin_y)
8181 - f_print_set_color(toplevel, fp, color);
8183 - fprintf(fp, "%d %d %d dot\n",
8184 - x-origin_x, y-origin_y,
8185 - radius);
8189 -/*! \brief Print a mesh pattern circle to Postscript document.
8190 - * \par Function Description
8191 - * This function prints a meshed circle. No outline is printed.
8192 - * The circle is defined by the coordinates of its center in
8193 - * (<B>x</B>,<B>y</B>) and its radius by the <B>radius</B> parameter.
8194 - * The Postscript document is defined by the file pointer <B>fp</B>.
8196 - * The inside mesh is achieved by two successive call to the
8197 - * #o_circle_print_hatch() function, given <B>angle1</B> and <B>pitch1</B>
8198 - * the first time and <B>angle2</B> and <B>pitch2</B> the second time.
8200 - * Negative or null values for <B>pitch1</B> and/or <B>pitch2</B> are
8201 - * not allowed as it leads to an endless loop in #o_circle_print_hatch().
8203 - * All dimensions are in mils (except <B>angle1</B> and <B>angle2</B> in degree).
8205 - * \param [in] toplevel The TOPLEVEL object.
8206 - * \param [in] fp FILE pointer to Postscript document.
8207 - * \param [in] x Center x coordinate of circle.
8208 - * \param [in] y Center y coordinate of circle.
8209 - * \param [in] radius Radius of circle.
8210 - * \param [in] color Circle color.
8211 - * \param [in] fill_width Circle fill width.
8212 - * \param [in] angle1 1st angle for mesh pattern.
8213 - * \param [in] pitch1 1st pitch for mesh pattern.
8214 - * \param [in] angle2 2nd angle for mesh pattern.
8215 - * \param [in] pitch2 2nd pitch for mesh pattern.
8216 - * \param [in] origin_x Page x coordinate to place circle OBJECT.
8217 - * \param [in] origin_y Page y coordinate to place circle OBJECT.
8218 - */
8219 -void o_circle_print_mesh(TOPLEVEL *toplevel, FILE *fp,
8220 - int x, int y, int radius,
8221 - int color,
8222 - int fill_width,
8223 - int angle1, int pitch1,
8224 - int angle2, int pitch2,
8225 - int origin_x, int origin_y)
8227 - o_circle_print_hatch(toplevel, fp,
8228 - x, y, radius,
8229 - color,
8230 - fill_width,
8231 - angle1, pitch1,
8232 - -1, -1,
8233 - origin_x, origin_y);
8234 - o_circle_print_hatch(toplevel, fp,
8235 - x, y, radius,
8236 - color,
8237 - fill_width,
8238 - angle2, pitch2,
8239 - -1, -1,
8240 - origin_x, origin_y);
8244 -/*! \brief Print a hatch pattern circle to Postscript document.
8245 - * \par Function Description
8246 - * The function prints a hatched circle. No outline is printed.
8247 - * The circle is defined by the coordinates of its center in
8248 - * (<B>x</B>,<B>y</B>) and its radius by the <B>radius</B> parameter.
8249 - * The Postscript document is defined by the file pointer <B>fp</B>.
8250 - * <B>angle2</B> and <B>pitch2</B> parameters are ignored in this
8251 - * functions but kept for compatibility with other fill functions.
8253 - * The only attribute of line here is its width from the parameter <B>width</B>.
8255 - * Negative or null values for <B>pitch1</B> is not allowed as it
8256 - * leads to an endless loop.
8258 - * All dimensions are in mils (except <B>angle1</B> is in degrees).
8260 - * \param [in] toplevel The TOPLEVEL object.
8261 - * \param [in] fp FILE pointer to Postscript document.
8262 - * \param [in] x Center x coordinate of circle.
8263 - * \param [in] y Center y coordinate of circle.
8264 - * \param [in] radius Radius of circle.
8265 - * \param [in] color Circle color.
8266 - * \param [in] fill_width Circle fill width.
8267 - * \param [in] angle1 Angle for hatch pattern.
8268 - * \param [in] pitch1 Pitch for hatch pattern.
8269 - * \param [in] angle2 (unused).
8270 - * \param [in] pitch2 (unused).
8271 - * \param [in] origin_x Page x coordinate to place circle OBJECT.
8272 - * \param [in] origin_y Page y coordinate to place circle OBJECT.
8273 - */
8274 -void o_circle_print_hatch(TOPLEVEL *toplevel, FILE *fp,
8275 - int x, int y, int radius,
8276 - int color,
8277 - int fill_width,
8278 - int angle1, int pitch1,
8279 - int angle2, int pitch2,
8280 - int origin_x, int origin_y)
8282 - CIRCLE circle;
8283 - gint index;
8284 - GArray *lines;
8286 - g_return_if_fail(toplevel != NULL);
8287 - g_return_if_fail(fp != NULL);
8289 - f_print_set_color(toplevel, fp, color);
8291 - /* Avoid printing line widths too small */
8292 - if (fill_width <= 1) fill_width = 2;
8294 - lines = g_array_new(FALSE, FALSE, sizeof(LINE));
8296 - circle.center_x = x;
8297 - circle.center_y = y;
8298 - circle.radius = radius;
8300 - m_hatch_circle(&circle, angle1, pitch1, lines);
8302 - for(index=0; index<lines->len; index++) {
8303 - LINE *line = &g_array_index(lines, LINE, index);
8305 - fprintf(fp,"%d %d %d %d %d line\n",
8306 - line->x[0], line->y[0],
8307 - line->x[1], line->y[1],
8308 - fill_width);
8311 - g_array_free(lines, TRUE);
8314 /*! \brief Calculates the distance between the given point and the closest
8315 * point on the perimeter of the circle.
8316 diff --git a/libgeda/src/o_line_basic.c b/libgeda/src/o_line_basic.c
8317 index a0462d1..e1726e8 100644
8318 --- a/libgeda/src/o_line_basic.c
8319 +++ b/libgeda/src/o_line_basic.c
8320 @@ -509,616 +509,6 @@ gboolean o_line_get_position (TOPLEVEL *toplevel, gint *x, gint *y,
8324 -/*! \brief Print line to Postscript document.
8325 - * \par Function Description
8326 - * This function prints the line described by the <B>o_current</B>
8327 - * parameter to a Postscript document.
8328 - * The Postscript document is described by the <B>fp</B> file pointer.
8330 - * Parameters of the line are extracted from object pointed by
8331 - * <B>o_current</B>.
8332 - *
8333 - * \param [in] toplevel The TOPLEVEL object.
8334 - * \param [in] fp FILE pointer to Postscript document.
8335 - * \param [in] o_current Line OBJECT to write to document.
8336 - * \param [in] origin_x Page x coordinate to place line OBJECT.
8337 - * \param [in] origin_y Page y coordinate to place line OBJECT.
8338 - */
8339 -void o_line_print(TOPLEVEL *toplevel, FILE *fp, OBJECT *o_current,
8340 - int origin_x, int origin_y)
8342 - int x1, y1, x2, y2;
8343 - int color;
8344 - int line_width, length, space;
8345 - void (*outl_func)() = NULL;
8347 - if (o_current == NULL) {
8348 - printf("got null in o_line_print\n");
8349 - return;
8352 - x1 = o_current->line->x[0];
8353 - y1 = o_current->line->y[0];
8354 - x2 = o_current->line->x[1];
8355 - y2 = o_current->line->y[1];
8356 - color = o_current->color;
8358 - /*
8359 - * Depending on the type of the line for this particular line, the
8360 - * appropriate function is chosen among
8361 - * #o_line_print_solid(), #o_line_print_dotted()#, #o_line_print_dashed(),
8362 - * #o_line_print_center() and #o_line_print_phantom().
8364 - * The needed parameters for each of these types are extracted from the
8365 - * <B>o_current</B> object. Depending on the type, unused parameters are
8366 - * set to -1.
8368 - * In the eventuality of a length and/or space null, the line is printed
8369 - * solid to avoid and endless loop produced by other functions.
8370 - */
8371 - line_width = o_current->line_width;
8372 - if(line_width <=2) {
8373 - if(toplevel->line_style == THICK) {
8374 - line_width=LINE_WIDTH;
8375 - } else {
8376 - line_width=2;
8380 - length = o_current->line_length;
8381 - space = o_current->line_space;
8383 - switch(o_current->line_type) {
8384 - case(TYPE_SOLID):
8385 - length = -1; space = -1;
8386 - outl_func = o_line_print_solid;
8387 - break;
8389 - case(TYPE_DOTTED):
8390 - length = -1;
8391 - outl_func = o_line_print_dotted;
8392 - break;
8394 - case(TYPE_DASHED):
8395 - outl_func = o_line_print_dashed;
8396 - break;
8398 - case(TYPE_CENTER):
8399 - outl_func = o_line_print_center;
8400 - break;
8402 - case(TYPE_PHANTOM):
8403 - outl_func = o_line_print_phantom;
8404 - break;
8406 - case(TYPE_ERASE):
8407 - /* Unused for now, print it solid */
8408 - length = -1; space = -1;
8409 - outl_func = o_line_print_solid;
8410 - break;
8413 - if((length == 0) || (space == 0)) {
8414 - length = -1; space = -1;
8415 - outl_func = o_line_print_solid;
8418 - (*outl_func)(toplevel, fp,
8419 - x1 - origin_x, y1 - origin_y,
8420 - x2 - origin_x, y2 - origin_y,
8421 - color,
8422 - line_width, length, space,
8423 - origin_x, origin_y);
8426 -/*! \brief Print a solid line to Postscript document.
8427 - * \par Function Description
8428 - * This function prints a line when a solid line type is required.
8429 - * The line is defined by the coordinates of its two ends in
8430 - * (<B>x1</B>,<B>y1</B>) and (<B>x2</B>,<B>y2</B>).
8431 - * The Postscript document is defined by the file pointer <B>fp</B>.
8432 - * The parameters <B>length</B> and <B>space</B> are ignored whereas
8433 - * <B>line_width</B> specifies the width of the printed line.
8435 - * \param [in] toplevel The TOPLEVEL object.
8436 - * \param [in] fp FILE pointer to Postscript document.
8437 - * \param [in] x1 Upper x coordinate.
8438 - * \param [in] y1 Upper y coordinate.
8439 - * \param [in] x2 Lower x coordinate.
8440 - * \param [in] y2 Lower y coordinate.
8441 - * \param [in] color Line color.
8442 - * \param [in] line_width Width of line.
8443 - * \param [in] length (unused).
8444 - * \param [in] space (unused).
8445 - * \param [in] origin_x Page x coordinate to place line OBJECT.
8446 - * \param [in] origin_y Page y coordinate to place line OBJECT.
8447 - */
8448 -void o_line_print_solid(TOPLEVEL *toplevel, FILE *fp,
8449 - int x1, int y1, int x2, int y2,
8450 - int color,
8451 - int line_width, int length, int space,
8452 - int origin_x, int origin_y)
8454 - f_print_set_color(toplevel, fp, color);
8456 - fprintf(fp,"%d %d %d %d %d line\n",
8457 - x1,y1,x2,y2, line_width);
8460 -/*! \brief Print a dotted line to Postscript document.
8461 - * \par Function Description
8462 - * This function prints a line when a dotted line type is required.
8463 - * The line is defined by the coordinates of its two ends in
8464 - * (<B>x1</B>,<B>y1</B>) and (<B>x2</B>,<B>y2</B>).
8465 - * The Postscript document is defined by the file pointer <B>fp</B>.
8466 - * The parameter <B>length</B> is ignored whereas <B>line_width</B>
8467 - * specifies the diameter of the dots and <B>space</B> the distance
8468 - * between two dots.
8470 - * A negative value for <B>space</B> leads to an endless loop.
8472 - * All dimensions are in mils.
8474 - * The function sets the color in which the line will be printed with.
8476 - * \param [in] toplevel The TOPLEVEL object.
8477 - * \param [in] fp FILE pointer to Postscript document.
8478 - * \param [in] x1 Upper x coordinate.
8479 - * \param [in] y1 Upper y coordinate.
8480 - * \param [in] x2 Lower x coordinate.
8481 - * \param [in] y2 Lower y coordinate.
8482 - * \param [in] color Line color.
8483 - * \param [in] line_width Width of line.
8484 - * \param [in] length (unused).
8485 - * \param [in] space Space between dots.
8486 - * \param [in] origin_x Page x coordinate to place line OBJECT.
8487 - * \param [in] origin_y Page y coordinate to place line OBJECT.
8488 - */
8489 -void o_line_print_dotted(TOPLEVEL *toplevel, FILE *fp,
8490 - int x1, int y1, int x2, int y2,
8491 - int color,
8492 - int line_width, int length, int space,
8493 - int origin_x, int origin_y)
8495 - double dx, dy, l, d;
8496 - double dx1, dy1;
8497 - double xa, ya;
8499 - f_print_set_color(toplevel, fp, color);
8501 - /* The dotted line command takes an array of dots so print out the
8502 - * beginnings of the array
8503 - */
8504 - fprintf(fp,"[");
8505 - /* is the width relevant for a dot (circle) ? */
8506 - /* f_print_set_line_width(fp, line_width); */
8508 - /*
8509 - * Depending on the slope of the line the space parameter is
8510 - * projected on each of the two directions x and y resulting
8511 - * in <B>dx1</B> and <B>dy1</B>. Starting from one end by increments
8512 - * of space the dots are printed.
8514 - * A dot is represented by a filled circle. Position of the
8515 - * circle is (<B>xa</B>, <B>ya</B>) and its radius is the <B>line_width</B>
8516 - * parameter.
8517 - */
8519 - dx = (double) (x2 - x1);
8520 - dy = (double) (y2 - y1);
8521 - l = sqrt((dx * dx) + (dy * dy));
8523 - dx1 = (dx * space) / l;
8524 - dy1 = (dy * space) / l;
8526 - d = 0;
8527 - xa = x1; ya = y1;
8528 - while(d < l) {
8530 - fprintf(fp,"[%d %d] ",
8531 - (int)xa, (int)ya);
8532 - d = d + space;
8533 - xa = xa + dx1;
8534 - ya = ya + dy1;
8537 - fprintf(fp,"] %d dashed\n",line_width);
8542 -/*! \brief Print a dashed line to Postscript document.
8543 - * \par Function Description
8544 - * This function prints a line when a dashed line type is required.
8545 - * The line is defined by the coordinates of its two ends in
8546 - * (<B>x1</B>,<B>y1</B>) and (<B>x2</B>,<B>y2</B>).
8547 - * The postscript file is defined by the file pointer <B>fp</B>.
8549 - * A negative value for <B>space</B> or <B>length</B> leads to an
8550 - * endless loop.
8552 - * All dimensions are in mils.
8554 - * The function sets the color in which the line will be printed and
8555 - * the width of the line - that is the width of the dashes.
8557 - * \param [in] toplevel The TOPLEVEL object.
8558 - * \param [in] fp FILE pointer to Postscript document.
8559 - * \param [in] x1 Upper x coordinate.
8560 - * \param [in] y1 Upper y coordinate.
8561 - * \param [in] x2 Lower x coordinate.
8562 - * \param [in] y2 Lower y coordinate.
8563 - * \param [in] color Line color.
8564 - * \param [in] line_width Width of line.
8565 - * \param [in] length Length of a dash.
8566 - * \param [in] space Space between dashes.
8567 - * \param [in] origin_x Page x coordinate to place line OBJECT.
8568 - * \param [in] origin_y Page y coordinate to place line OBJECT.
8569 - */
8570 -void o_line_print_dashed(TOPLEVEL *toplevel, FILE *fp,
8571 - int x1, int y1, int x2, int y2,
8572 - int color,
8573 - int line_width, int length, int space,
8574 - int origin_x, int origin_y)
8576 - double dx, dy, l, d;
8577 - double dx1, dy1, dx2, dy2;
8578 - double xa, ya, xb, yb;
8580 - f_print_set_color(toplevel, fp, color);
8582 - /* the dashed line function takes an array of start-finish pairs
8583 - * output the beginnings of the array now
8584 - */
8585 - fprintf(fp,"[");
8587 - /*
8588 - * Depending on the slope of the line the <B>length</B> (resp. <B>space</B>)
8589 - * parameter is projected on each of the two directions x and y
8590 - * resulting in <B>dx1</B> and <B>dy1</B> (resp. <B>dx2</B> and <B>dy2</B>).
8591 - * Starting from one end and incrementing alternatively by <B>space</B>
8592 - * and <B>length</B> the dashes are printed.
8594 - * It prints as many dashes of length <B>length</B> as possible.
8595 - */
8596 - dx = (double) (x2 - x1);
8597 - dy = (double) (y2 - y1);
8598 - l = sqrt((dx * dx) + (dy * dy));
8600 - dx1 = (dx * length) / l;
8601 - dy1 = (dy * length) / l;
8603 - dx2 = (dx * space) / l;
8604 - dy2 = (dy * space) / l;
8606 - d = 0;
8607 - xa = x1; ya = y1;
8608 - while((d + length + space) < l) {
8609 - d = d + length;
8610 - xb = xa + dx1;
8611 - yb = ya + dy1;
8613 - fprintf(fp, "[%d %d %d %d] ",
8614 - (int) xa, (int) ya,
8615 - (int) xb, (int) yb);
8617 - d = d + space;
8618 - xa = xb + dx2;
8619 - ya = yb + dy2;
8621 - /*
8622 - * When the above condition is no more satisfied, then it is not possible
8623 - * to print a dash of length <B>length</B>. However it may be possible to
8624 - * print the complete dash or a shorter one.
8625 - */
8627 - if((d + length) < l) {
8628 - d = d + length;
8629 - xb = xa + dx1;
8630 - yb = ya + dy1;
8631 - } else {
8632 - xb = x2;
8633 - yb = y2;
8636 - fprintf(fp, "[%d %d %d %d] ",
8637 - (int) xa, (int) ya,
8638 - (int) xb, (int) yb);
8640 - fprintf(fp,"] %d dashed\n", line_width);
8644 -/*! \brief Print a centered line type line to Postscript document.
8645 - * \par Function Description
8646 - * This function prints a line when a centered line type is required.
8647 - * The line is defined by the coordinates of its two ends in
8648 - * (<B>x1</B>,<B>y1</B>) and (<B>x2</B>,<B>y2</B>).
8649 - * The Postscript document is defined by the file pointer <B>fp</B>.
8651 - * A negative value for <B>space</B> or <B>length</B> leads to an
8652 - * endless loop.
8654 - * All dimensions are in mils.
8656 - * The function sets the color in which the line will be printed and the
8657 - * width of the line - that is the width of the dashes and the diameter
8658 - * of the dots.
8660 - * \param [in] toplevel The TOPLEVEL object.
8661 - * \param [in] fp FILE pointer to Postscript document.
8662 - * \param [in] x1 Upper x coordinate.
8663 - * \param [in] y1 Upper y coordinate.
8664 - * \param [in] x2 Lower x coordinate.
8665 - * \param [in] y2 Lower y coordinate.
8666 - * \param [in] color Line color.
8667 - * \param [in] line_width Width of line.
8668 - * \param [in] length Length of a dash.
8669 - * \param [in] space Space between dashes.
8670 - * \param [in] origin_x Page x coordinate to place line OBJECT.
8671 - * \param [in] origin_y Page y coordinate to place line OBJECT.
8672 - */
8673 -void o_line_print_center(TOPLEVEL *toplevel, FILE *fp,
8674 - int x1, int y1, int x2, int y2,
8675 - int color,
8676 - int line_width, int length, int space,
8677 - int origin_x, int origin_y)
8679 - double dx, dy, l, d;
8680 - double dx1, dy1, dx2, dy2;
8681 - double xa, ya, xb, yb;
8683 - f_print_set_color(toplevel, fp, color);
8685 - fprintf(fp, "[");
8687 - /*
8688 - * Depending on the slope of the line the <B>length</B> (resp. <B>space</B>)
8689 - * parameter is projected on each of the two directions x and y resulting
8690 - * in <B>dx1</B> and <B>dy1</B> (resp. <B>dx2</B> and <B>dy2</B>).
8691 - * Starting from one end and incrementing alternatively by <B>space</B>
8692 - * and <B>length</B> the dashes and dots are printed.
8694 - * It prints as many sets of dash and dot as possible.
8695 - */
8696 - dx = (double) (x2 - x1);
8697 - dy = (double) (y2 - y1);
8698 - l = sqrt((dx * dx) + (dy * dy));
8700 - dx1 = (dx * length) / l;
8701 - dy1 = (dy * length) / l;
8703 - dx2 = (dx * space) / l;
8704 - dy2 = (dy * space) / l;
8706 - d = 0;
8707 - xa = x1; ya = y1;
8708 - while((d + length + 2 * space) < l) {
8709 - d = d + length;
8710 - xb = xa + dx1;
8711 - yb = ya + dy1;
8713 - fprintf(fp, "[%d %d %d %d] ",
8714 - (int) xa, (int) ya,
8715 - (int) xb, (int) yb);
8717 - d = d + space;
8718 - xa = xb + dx2;
8719 - ya = yb + dy2;
8721 - fprintf(fp,"[%d %d] ",(int) xa, (int) ya);
8723 - d = d + space;
8724 - xa = xa + dx2;
8725 - ya = ya + dy2;
8727 - /*
8728 - * When the above condition is no more satisfied, then it is not possible
8729 - * to print a dash of length <B>length</B>.
8730 - * However two cases are possible :
8731 - * <DL>
8732 - * <DT>*</DT><DD>it is possible to print the dash and the dot.
8733 - * <DT>*</DT><DD>it is possible to print the dash or a part
8734 - * of the original dash.
8735 - * </DL>
8736 - */
8738 - if((d + length + space) < l) {
8739 - d = d + length;
8740 - xb = xa + dx1;
8741 - yb = ya + dy1;
8743 - fprintf(fp, "[%d %d %d %d] ",
8744 - (int) xa, (int) ya,
8745 - (int) xb, (int) yb);
8747 - d = d + space;
8748 - xa = xb + dx2;
8749 - ya = yb + dy2;
8751 - fprintf(fp,"[%d %d] ",(int) xa, (int) ya);
8753 - } else {
8754 - if(d + length < l) {
8755 - xb = xa + dx1;
8756 - yb = ya + dy1;
8757 - } else {
8758 - xb = x2;
8759 - yb = y2;
8762 - fprintf(fp, "[%d %d %d %d] ",
8763 - (int) xa, (int) ya,
8764 - (int) xb, (int) yb);
8768 - fprintf(fp,"] %d dashed\n", line_width);
8770 - /*
8771 - * A dot is represented by a filled circle. Position of the circle is
8772 - * (<B>xa</B>, <B>ya</B>) and its radius by the <B>line_width</B> parameter.
8773 - */
8776 -/*! \brief Print a phantom line type line to Postscript document.
8777 - * \par Function Description
8778 - * This function prints a line when a phantom line type is required.
8779 - * The line is defined by the coordinates of its two ends in
8780 - * (<B>x1</B>,<B>y1</B>) and (<B>x2</B>,<B>y2</B>).
8781 - * The Postscript document is defined by the file pointer <B>fp</B>.
8783 - * A negative value for <B>space</B> or <B>length</B> leads to an
8784 - * endless loop.
8786 - * All dimensions are in mils.
8788 - * The function sets the color in which the line will be printed and the
8789 - * width of the line - that is the width of the dashes and the diameter
8790 - * of the dots.
8792 - * \param [in] toplevel The TOPLEVEL object.
8793 - * \param [in] fp FILE pointer to Postscript document.
8794 - * \param [in] x1 Upper x coordinate.
8795 - * \param [in] y1 Upper y coordinate.
8796 - * \param [in] x2 Lower x coordinate.
8797 - * \param [in] y2 Lower y coordinate.
8798 - * \param [in] color Line color.
8799 - * \param [in] line_width Width of line.
8800 - * \param [in] length Length of a dash.
8801 - * \param [in] space Space between dashes.
8802 - * \param [in] origin_x Page x coordinate to place line OBJECT.
8803 - * \param [in] origin_y Page y coordinate to place line OBJECT.
8804 - */
8805 -void o_line_print_phantom(TOPLEVEL *toplevel, FILE *fp,
8806 - int x1, int y1, int x2, int y2,
8807 - int color,
8808 - int line_width, int length, int space,
8809 - int origin_x, int origin_y)
8811 - double dx, dy, l, d;
8812 - double dx1, dy1, dx2, dy2;
8813 - double xa, ya, xb, yb;
8815 - f_print_set_color(toplevel, fp, color);
8817 - fprintf(fp,"[");
8819 - /*
8820 - * Depending on the slope of the line the <B>length</B> (resp. <B>space</B>)
8821 - * parameter is projected on each of the two directions x and y resulting
8822 - * in <B>dx1</B> and <B>dy1</B> (resp. <B>dx2</B> and <B>dy2</B>).
8823 - * Starting from one end and incrementing alternatively by <B>space</B>
8824 - * and <B>length</B> the dashes and dots are printed.
8826 - * It prints as many sets of dash-dot-dot as possible.
8827 - */
8828 - dx = (double) (x2 - x1);
8829 - dy = (double) (y2 - y1);
8830 - l = sqrt((dx * dx) + (dy * dy));
8832 - dx1 = (dx * length) / l;
8833 - dy1 = (dy * length) / l;
8835 - dx2 = (dx * space) / l;
8836 - dy2 = (dy * space) / l;
8838 - d = 0;
8839 - xa = x1; ya = y1;
8840 - while((d + length + 3 * space) < l) {
8841 - d = d + length;
8842 - xb = xa + dx1;
8843 - yb = ya + dy1;
8845 - fprintf(fp,"[%d %d %d %d] ",
8846 - (int) xa, (int)ya,
8847 - (int) xb, (int)yb);
8849 - d = d + space;
8850 - xa = xb + dx2;
8851 - ya = yb + dy2;
8853 - fprintf(fp,"[%d %d] ",(int) xa, (int) ya);
8855 - d = d + space;
8856 - xa = xa + dx2;
8857 - ya = ya + dy2;
8859 - fprintf(fp,"[%d %d] ",(int) xa, (int) ya);
8861 - d = d + space;
8862 - xa = xa + dx2;
8863 - ya = ya + dy2;
8865 - /*
8866 - * When the above condition is no more satisfied, then it is not possible
8867 - * to print a complete set of dash-dot-dot.
8868 - * However three cases are possible :
8869 - * <DL>
8870 - * <DT>*</DT><DD>it is possible to print a dash and a dot and a dot.
8871 - * <DT>*</DT><DD>it is possible to print a dash and a dot.
8872 - * <DT>*</DT><DD>it is possible to print the dash or a part
8873 - * of the original dash.
8874 - * </DL>
8875 - */
8877 - if((d + length + 2 * space) < l) {
8878 - d = d + length;
8879 - xb = xa + dx1;
8880 - yb = ya + dy1;
8882 - fprintf(fp,"[%d %d %d %d] ",
8883 - (int) xa, (int)ya,
8884 - (int) xb, (int)yb);
8886 - d = d + space;
8887 - xa = xb + dx2;
8888 - ya = yb + dy2;
8890 - fprintf(fp,"[%d %d] ",(int) xa, (int)ya);
8892 - d = d + space;
8893 - xa = xb + dx2;
8894 - ya = yb + dy2;
8896 - fprintf(fp,"[%d %d] ",(int) xa, (int)ya);
8898 - } else {
8899 - if(d + length + space < l) {
8900 - d = d + length;
8901 - xb = xa + dx1;
8902 - yb = ya + dy1;
8904 - fprintf(fp,"[%d %d %d %d] ",
8905 - (int) xa, (int)ya,
8906 - (int) xb, (int)yb);
8908 - d = d + space;
8909 - xa = xb + dx2;
8910 - ya = yb + dy2;
8912 - fprintf(fp,"[%d %d] ",(int) xa, (int)ya);
8914 - } else {
8915 - if(d + length < l) {
8916 - xb = xa + dx1;
8917 - yb = ya + dy1;
8918 - } else {
8919 - xb = x2;
8920 - yb = y2;
8923 - fprintf(fp,"[%d %d %d %d] ",
8924 - (int) xa, (int)ya,
8925 - (int) xb, (int)yb);
8930 - fprintf(fp,"] %d dashed\n", line_width);
8934 /*! \brief
8935 * \par Function Description
8937 diff --git a/libgeda/src/o_net_basic.c b/libgeda/src/o_net_basic.c
8938 index e8074c1..c80f1f4 100644
8939 --- a/libgeda/src/o_net_basic.c
8940 +++ b/libgeda/src/o_net_basic.c
8941 @@ -259,50 +259,6 @@ OBJECT *o_net_copy(TOPLEVEL *toplevel, OBJECT *o_current)
8942 return new_obj;
8945 -/*! \brief postscript print command for a net object
8946 - * \par Function Description
8947 - * This function writes the postscript command of the net object \a o_current
8948 - * into the FILE \a fp points to.
8949 - *
8950 - * \param [in] toplevel The TOPLEVEL object
8951 - * \param [in] fp pointer to a FILE structure
8952 - * \param [in] o_current The OBJECT to print
8953 - * \param [in] origin_x x-coord of the postscript origin
8954 - * \param [in] origin_y y-coord of the postscript origin
8955 - */
8956 -void o_net_print(TOPLEVEL *toplevel, FILE *fp, OBJECT *o_current,
8957 - int origin_x, int origin_y)
8959 - int offset, offset2;
8960 - int cross, net_width;
8961 - int x1, y1;
8962 - int x2, y2;
8964 - if (o_current == NULL) {
8965 - printf("got null in o_net_print\n");
8966 - return;
8969 - offset = 7 * 6;
8970 - offset2 = 7;
8972 - cross = offset;
8974 - f_print_set_color(toplevel, fp, o_current->color);
8976 - net_width = 2;
8977 - if (toplevel->net_style == THICK) {
8978 - net_width = NET_WIDTH;
8981 - x1 = o_current->line->x[0] - origin_x,
8982 - y1 = o_current->line->y[0] - origin_y;
8983 - x2 = o_current->line->x[1] - origin_x,
8984 - y2 = o_current->line->y[1] - origin_y;
8986 - fprintf(fp, "%d %d %d %d %d line\n", x1,y1,x2,y2,net_width);
8990 /*! \brief rotate a net object around a centerpoint
8991 * \par Function Description
8992 diff --git a/libgeda/src/o_path_basic.c b/libgeda/src/o_path_basic.c
8993 index 991d6cc..c11ecf1 100644
8994 --- a/libgeda/src/o_path_basic.c
8995 +++ b/libgeda/src/o_path_basic.c
8996 @@ -579,465 +579,6 @@ gboolean o_path_get_position (TOPLEVEL *toplevel, gint *x, gint *y,
8997 return TRUE;
9000 -/*! \brief Print a solid PATH to Postscript document.
9001 - * \par Function Description
9002 - * This function prints the outline of a path when a solid line type is
9003 - * required. The postscript file is defined by the file pointer <B>fp</B>.
9004 - * The parameters <B>length</B> and <B>space</B> are ignored.
9006 - * All dimensions are in mils.
9008 - * \param [in] toplevel The TOPLEVEL object.
9009 - * \param [in] fp FILE pointer to Postscript document.
9010 - * \param [in] path The PATH object ot print
9011 - * \param [in] line_width PATH Line width.
9012 - * \param [in] length Dashed line length.
9013 - * \param [in] space Amount of space between dashes.
9014 - * \param [in] origin_x Page x coordinate to place PATH OBJECT.
9015 - * \param [in] origin_y Page y coordinate to place PATH OBJECT.
9016 - */
9017 -static void o_path_print_solid (TOPLEVEL *toplevel, FILE *fp, PATH *path,
9018 - int line_width, int length, int space,
9019 - int origin_x, int origin_y)
9021 - int i;
9023 - for (i = 0; i < path->num_sections; i++) {
9024 - PATH_SECTION *section = &path->sections[i];
9026 - if (i > 0)
9027 - fprintf (fp, " ");
9029 - switch (section->code) {
9030 - case PATH_MOVETO:
9031 - fprintf (fp, "closepath ");
9032 - /* Fall through */
9033 - case PATH_MOVETO_OPEN:
9034 - fprintf (fp, "%i %i moveto",
9035 - section->x3 - origin_x, section->y3 - origin_y);
9036 - break;
9037 - case PATH_CURVETO:
9038 - fprintf (fp, "%i %i %i %i %i %i curveto",
9039 - section->x1 - origin_x, section->y1 - origin_y,
9040 - section->x2 - origin_x, section->y2 - origin_y,
9041 - section->x3 - origin_x, section->y3 - origin_y);
9042 - break;
9043 - case PATH_LINETO:
9044 - fprintf (fp, "%i %i lineto",
9045 - section->x3 - origin_x, section->y3 - origin_y);
9046 - break;
9047 - case PATH_END:
9048 - fprintf (fp, "closepath ");
9049 - break;
9053 - fprintf (fp, "stroke\n");
9057 -/*! \brief Print a dotted PATH to Postscript document.
9058 - * \par Function Description
9059 - * This function prints the outline of a path when a dotted line type is
9060 - * required. The postscript file is defined by the file pointer <B>fp</B>.
9061 - * The parameter <B>length</B> is ignored.
9063 - * All dimensions are in mils.
9065 - * \param [in] toplevel The TOPLEVEL object
9066 - * \param [in] fp FILE pointer to Postscript document
9067 - * \param [in] path The PATH object to print
9068 - * \param [in] line_width PATH Line width
9069 - * \param [in] length Dashed line length
9070 - * \param [in] space Amount of space between dashes
9071 - * \param [in] origin_x Page x coordinate to place PATH OBJECT
9072 - * \param [in] origin_y Page y coordinate to place PATH OBJECT
9073 - */
9074 -static void o_path_print_dotted (TOPLEVEL *toplevel, FILE *fp, PATH *path,
9075 - int line_width, int length, int space,
9076 - int origin_x, int origin_y)
9078 - o_path_print_solid (toplevel, fp, path, line_width,
9079 - length, space, origin_x, origin_y);
9083 -/*! \brief Print a dashed PATH to Postscript document.
9084 - * \par Function Description
9085 - * This function prints the outline of a path when a dashed line type is
9086 - * required. The postscript file is defined by the file pointer <B>fp</B>.
9088 - * All dimensions are in mils.
9090 - * \param [in] toplevel The TOPLEVEL object.
9091 - * \param [in] fp FILE pointer to Postscript document.
9092 - * \param [in] path The PATH object to print.
9093 - * \param [in] line_width PATH Line width.
9094 - * \param [in] length Dashed line length.
9095 - * \param [in] space Amount of space between dashes.
9096 - * \param [in] origin_x Page x coordinate to place PATH OBJECT.
9097 - * \param [in] origin_y Page y coordinate to place PATH OBJECT.
9098 - */
9099 -static void o_path_print_dashed (TOPLEVEL *toplevel, FILE *fp, PATH *path,
9100 - int line_width, int length, int space,
9101 - int origin_x, int origin_y)
9103 - o_path_print_solid (toplevel, fp, path, line_width,
9104 - length, space, origin_x, origin_y);
9108 -/*! \brief Print centered line type PATH to Postscript document.
9109 - * \par Function Description
9110 - * This function prints the outline of a path when a centered line type is
9111 - * required. The postscript file is defined by the file pointer <B>fp</B>.
9113 - * All dimensions are in mils.
9115 - * \param [in] toplevel The TOPLEVEL object
9116 - * \param [in] fp FILE pointer to Postscript document
9117 - * \param [in] path The PATH object to print
9118 - * \param [in] line_width PATH Line width
9119 - * \param [in] length Dashed line length
9120 - * \param [in] space Amount of space between dashes
9121 - * \param [in] origin_x Page x coordinate to place PATH OBJECT
9122 - * \param [in] origin_y Page y coordinate to place PATH OBJECT
9123 - */
9124 -static void o_path_print_center (TOPLEVEL *toplevel, FILE *fp, PATH *path,
9125 - int line_width, int length,
9126 - int space, int origin_x, int origin_y)
9128 - o_path_print_solid (toplevel, fp, path, line_width,
9129 - length, space, origin_x, origin_y);
9133 -/*! \brief Print phantom line type PATH to Postscript document.
9134 - * \par Function Description
9135 - * This function prints the outline of a path when a phantom line type is
9136 - * required. The postscript file is defined by the file pointer <B>fp</B>.
9138 - * All dimensions are in mils.
9140 - * \param [in] toplevel The TOPLEVEL object
9141 - * \param [in] fp FILE pointer to Postscript document
9142 - * \param [in] path The PATH object to print
9143 - * \param [in] line_width PATH Line width
9144 - * \param [in] length Dashed line length
9145 - * \param [in] space Amount of space between dashes
9146 - * \param [in] origin_x Page x coordinate to place PATH OBJECT
9147 - * \param [in] origin_y Page y coordinate to place PATH OBJECT
9148 - */
9149 -static void o_path_print_phantom (TOPLEVEL *toplevel, FILE *fp, PATH *path,
9150 - int line_width, int length,
9151 - int space, int origin_x, int origin_y)
9153 - o_path_print_solid (toplevel, fp, path, line_width,
9154 - length, space, origin_x, origin_y);
9158 -/*! \brief Print a solid pattern PATH to Postscript document.
9159 - * \par Function Description
9160 - * The function prints a filled path with a solid pattern. No outline is
9161 - * printed. The postscript file is defined by the file pointer <B>fp</B>.
9162 - * <B>fill_width</B>, <B>angle1</B> and <B>pitch1</B>, <B>angle2</B> and <B>pitch2</B>
9163 - * parameters are ignored in this functions but kept for compatibility
9164 - * with other fill functions.
9166 - * All dimensions are in mils.
9168 - * \param [in] toplevel The TOPLEVEL object
9169 - * \param [in] fp FILE pointer to Postscript document
9170 - * \param [in] path The PATH object to print
9171 - * \param [in] fill_width PATH fill width (unused)
9172 - * \param [in] angle1 (unused)
9173 - * \param [in] pitch1 (unused)
9174 - * \param [in] angle2 (unused)
9175 - * \param [in] pitch2 (unused)
9176 - * \param [in] origin_x Page x coordinate to place PATH OBJECT
9177 - * \param [in] origin_y Page y coordinate to place PATH OBJECT
9178 - */
9179 -static void o_path_print_filled (TOPLEVEL *toplevel, FILE *fp, PATH *path,
9180 - int fill_width,
9181 - int angle1, int pitch1, int angle2, int pitch2,
9182 - int origin_x, int origin_y)
9184 - int i;
9186 - for (i = 0; i < path->num_sections; i++) {
9187 - PATH_SECTION *section = &path->sections[i];
9189 - if (i > 0)
9190 - fprintf (fp, " ");
9192 - switch (section->code) {
9193 - case PATH_MOVETO:
9194 - fprintf (fp, "closepath ");
9195 - /* Fall through */
9196 - case PATH_MOVETO_OPEN:
9197 - fprintf (fp, "%i %i moveto",
9198 - section->x3 - origin_x, section->y3 - origin_y);
9199 - break;
9200 - case PATH_CURVETO:
9201 - fprintf (fp, "%i %i %i %i %i %i curveto",
9202 - section->x1 - origin_x, section->y1 - origin_y,
9203 - section->x2 - origin_x, section->y2 - origin_y,
9204 - section->x3 - origin_x, section->y3 - origin_y);
9205 - break;
9206 - case PATH_LINETO:
9207 - fprintf (fp, "%i %i lineto",
9208 - section->x3 - origin_x, section->y3 - origin_y);
9209 - break;
9210 - case PATH_END:
9211 - fprintf (fp, "closepath ");
9212 - break;
9216 - fprintf (fp, "fill\n");
9220 -/*! \brief Print a hatch pattern PATH to Postscript document.
9221 - * \par Function Description
9222 - * The function prints a hatched path. No outline is printed.
9223 - * The postscript file is defined by the file pointer <B>fp</B>.
9224 - * <B>fill_width</B>, <B>angle1</B>, <B>pitch1</B> parameters define the way the path
9225 - * has to be hatched.
9226 - * <B>angle2</B> and <B>pitch2</B> parameters are unused but kept for compatibility
9227 - * with other fill functions.
9229 - * Negative or zero values for <B>pitch1</B> are not allowed.
9231 - * All dimensions are in mils.
9233 - * \param [in] toplevel The TOPLEVEL object
9234 - * \param [in] fp FILE pointer to Postscript document
9235 - * \param [in] path The PATH object to print
9236 - * \param [in] fill_width PATH fill width
9237 - * \param [in] angle1 Angle of hatch pattern
9238 - * \param [in] pitch1 Pitch of hatch pattern
9239 - * \param [in] angle2 (unused)
9240 - * \param [in] pitch2 (unused)
9241 - * \param [in] origin_x Page x coordinate to place PATH OBJECT
9242 - * \param [in] origin_y Page y coordinate to place PATH OBJECT
9243 - */
9244 -static void o_path_print_hatch (TOPLEVEL *toplevel, FILE *fp, PATH *path,
9245 - int fill_width,
9246 - int angle1, int pitch1, int angle2, int pitch2,
9247 - int origin_x, int origin_y)
9249 - int i;
9250 - GArray *lines;
9252 - g_return_if_fail (toplevel != NULL);
9253 - g_return_if_fail (fp != NULL);
9255 - /* Avoid printing line widths too small */
9256 - if (fill_width <= 1) fill_width = 2;
9258 - lines = g_array_new (FALSE, FALSE, sizeof(LINE));
9260 - m_hatch_path (path, angle1, pitch1, lines);
9262 - for (i=0; i < lines->len; i++) {
9263 - LINE *line = &g_array_index (lines, LINE, i);
9265 - fprintf (fp,"%d %d %d %d %d line\n", line->x[0], line->y[0],
9266 - line->x[1], line->y[1], fill_width);
9269 - g_array_free (lines, TRUE);
9273 -/*! \brief Print a mesh pattern PATH to Postscript document.
9274 - * \par Function Description
9275 - * This function prints a meshed path. No outline is printed.
9276 - * The postscript file is defined by the file pointer <B>fp</B>.
9278 - * Negative or zero values for <B>pitch1</B> and/or <B>pitch2</B> are
9279 - * not allowed.
9281 - * All dimensions are in mils.
9283 - * \param [in] toplevel The TOPLEVEL object
9284 - * \param [in] fp FILE pointer to Postscript document
9285 - * \param [in] path The PATH object to print
9286 - * \param [in] fill_width PATH fill width
9287 - * \param [in] angle1 1st angle for mesh pattern
9288 - * \param [in] pitch1 1st pitch for mesh pattern
9289 - * \param [in] angle2 2nd angle for mesh pattern
9290 - * \param [in] pitch2 2nd pitch for mesh pattern
9291 - * \param [in] origin_x Page x coordinate to place PATH OBJECT
9292 - * \param [in] origin_y Page y coordinate to place PATH OBJECT
9293 - */
9294 -static void o_path_print_mesh (TOPLEVEL *toplevel, FILE *fp, PATH *path,
9295 - int fill_width,
9296 - int angle1, int pitch1, int angle2, int pitch2,
9297 - int origin_x, int origin_y)
9299 - o_path_print_hatch (toplevel, fp, path, fill_width,
9300 - angle1, pitch1, -1, -1, origin_x, origin_y);
9302 - o_path_print_hatch (toplevel, fp, path, fill_width,
9303 - angle2, pitch2, -1, -1, origin_x, origin_y);
9307 -/*! \brief Print PATH to Postscript document.
9308 - * \par Function Description
9309 - * This function prints the path described by the <B>o_current</B>
9310 - * parameter to a Postscript document.
9311 - * The Postscript document is descibed by the file pointer <B>fp</B>.
9313 - * \param [in] toplevel The TOPLEVEL object.
9314 - * \param [in] fp FILE pointer to Postscript document.
9315 - * \param [in] o_current PATH OBJECT to write to document.
9316 - * \param [in] origin_x Page x coordinate to place PATH OBJECT.
9317 - * \param [in] origin_y Page y coordinate to place PATH OBJECT.
9318 - */
9319 -void o_path_print(TOPLEVEL *toplevel, FILE *fp, OBJECT *o_current,
9320 - int origin_x, int origin_y)
9322 - int color;
9323 - int line_width, length, space;
9324 - int fill_width, angle1, pitch1, angle2, pitch2;
9325 - DRAW_FUNC outl_func = NULL;
9326 - FILL_FUNC fill_func = NULL;
9328 - color = o_current->color;
9330 - /*! \note
9331 - * Depending on the type of the line for this particular path, the
9332 - * appropriate function is chosen among #o_path_print_solid(),
9333 - * #o_path_print_dotted(), #o_path_print_dashed(),
9334 - * #o_path_print_center() and #o_path_print_phantom().
9336 - * The needed parameters for each of these type is extracted from the
9337 - * <B>o_current</B> object. Depending on the type, unused parameters are
9338 - * set to -1.
9340 - * In the eventuality of a length and/or space null, the line is printed
9341 - * solid to avoid and endless loop produced by other functions in such a
9342 - * case.
9343 - */
9344 - line_width = o_current->line_width;
9346 - if (line_width <= 2) {
9347 - if (toplevel->line_style == THICK) {
9348 - line_width = LINE_WIDTH;
9349 - } else {
9350 - line_width=2;
9353 - length = o_current->line_length;
9354 - space = o_current->line_space;
9356 - switch(o_current->line_type) {
9357 - case TYPE_SOLID:
9358 - length = -1; space = -1;
9359 - outl_func = o_path_print_solid;
9360 - break;
9362 - case TYPE_DOTTED:
9363 - length = -1;
9364 - outl_func = o_path_print_dotted;
9365 - break;
9367 - case TYPE_DASHED:
9368 - outl_func = o_path_print_dashed;
9369 - break;
9371 - case TYPE_CENTER:
9372 - outl_func = o_path_print_center;
9373 - break;
9375 - case TYPE_PHANTOM:
9376 - outl_func = o_path_print_phantom;
9377 - break;
9379 - case TYPE_ERASE:
9380 - /* Unused for now, print it solid */
9381 - length = -1; space = -1;
9382 - outl_func = o_path_print_solid;
9383 - break;
9386 - if((length == 0) || (space == 0)) {
9387 - length = -1; space = -1;
9388 - outl_func = o_path_print_solid;
9391 - f_print_set_color (toplevel, fp, o_current->color);
9393 - f_print_set_line_width (fp, line_width);
9395 - (*outl_func) (toplevel, fp, o_current->path, line_width,
9396 - length, space, origin_x, origin_y);
9398 - /*! \note
9399 - * If the filling type of the path is not <B>HOLLOW</B>, the appropriate
9400 - * function is chosen among #o_path_print_filled(), #o_path_print_mesh()
9401 - * and #o_path_print_hatch(). The corresponding parameters are extracted
9402 - * from the <B>o_current</B> object and corrected afterward.
9404 - * The case where <B>pitch1</B> and <B>pitch2</B> are null or negative is
9405 - * avoided as it leads to an endless loop in most of the called functions.
9406 - * In such a case, the path is printed filled. Unused parameters for each of
9407 - * these functions are set to -1 or any passive value.
9408 - */
9409 - if(o_current->fill_type != FILLING_HOLLOW) {
9410 - fill_width = o_current->fill_width;
9411 - angle1 = o_current->fill_angle1;
9412 - pitch1 = o_current->fill_pitch1;
9413 - angle2 = o_current->fill_angle2;
9414 - pitch2 = o_current->fill_pitch2;
9416 - switch(o_current->fill_type) {
9417 - case FILLING_FILL:
9418 - angle1 = -1; pitch1 = 1;
9419 - angle2 = -1; pitch2 = 1;
9420 - fill_width = -1;
9421 - fill_func = o_path_print_filled;
9422 - break;
9424 - case FILLING_MESH:
9425 - fill_func = o_path_print_mesh;
9426 - break;
9428 - case FILLING_HATCH:
9429 - angle2 = -1; pitch2 = 1;
9430 - fill_func = o_path_print_hatch;
9431 - break;
9433 - case FILLING_VOID:
9434 - /* Unused for now, print it filled */
9435 - angle1 = -1; pitch1 = 1;
9436 - angle2 = -1; pitch2 = 1;
9437 - fill_width = -1;
9438 - fill_func = o_path_print_filled;
9439 - break;
9441 - case FILLING_HOLLOW:
9442 - /* nop */
9443 - break;
9447 - if((pitch1 <= 0) || (pitch2 <= 0)) {
9448 - angle1 = -1; pitch1 = 1;
9449 - angle2 = -1; pitch2 = 1;
9450 - fill_func = o_path_print_filled;
9453 - (*fill_func) (toplevel, fp,
9454 - o_current->path, fill_width,
9455 - angle1, pitch1, angle2, pitch2, origin_x, origin_y);
9460 /*! \brief Calculates the distance between the given point and the closest
9461 * point on the given path segment.
9462 diff --git a/libgeda/src/o_pin_basic.c b/libgeda/src/o_pin_basic.c
9463 index 3cbf123..bb52690 100644
9464 --- a/libgeda/src/o_pin_basic.c
9465 +++ b/libgeda/src/o_pin_basic.c
9466 @@ -277,43 +277,6 @@ OBJECT *o_pin_copy(TOPLEVEL *toplevel, OBJECT *o_current)
9467 return new_obj;
9470 -/*! \brief postscript print command for a pin object
9471 - * \par Function Description
9472 - * This function writes the postscript command of the pin object \a o_current
9473 - * into the FILE \a fp points to.
9474 - *
9475 - * \param [in] toplevel The TOPLEVEL object
9476 - * \param [in] fp pointer to a FILE structure
9477 - * \param [in] o_current The OBJECT to print
9478 - * \param [in] origin_x x-coord of the postscript origin
9479 - * \param [in] origin_y y-coord of the postscript origin
9480 - */
9481 -void o_pin_print(TOPLEVEL *toplevel, FILE *fp, OBJECT *o_current,
9482 - int origin_x, int origin_y)
9484 - int pin_width;
9485 - int x1, y1;
9486 - int x2, y2;
9488 - if (o_current == NULL) {
9489 - printf("got null in o_pin_print\n");
9490 - return;
9493 - f_print_set_color(toplevel, fp, o_current->color);
9495 - x1 = o_current->line->x[0] - origin_x;
9496 - y1 = o_current->line->y[0] - origin_y;
9497 - x2 = o_current->line->x[1] - origin_x;
9498 - y2 = o_current->line->y[1] - origin_y;
9499 - pin_width = 2;
9500 - if(toplevel->pin_style == THICK) {
9501 - pin_width = o_current->line_width;
9504 - fprintf(fp, "%d %d %d %d %d line\n",x1,y1,x2,y2,pin_width);
9508 /*! \brief rotate a pin object around a centerpoint
9509 * \par Function Description
9510 diff --git a/libgeda/src/o_text_basic.c b/libgeda/src/o_text_basic.c
9511 index 2260573..42e0a14 100644
9512 --- a/libgeda/src/o_text_basic.c
9513 +++ b/libgeda/src/o_text_basic.c
9514 @@ -558,258 +558,6 @@ OBJECT *o_text_copy(TOPLEVEL *toplevel, OBJECT *o_current)
9518 -/*! \brief write a text string to a postscript file
9519 - * \par Function Description
9520 - * This function writes the single \a string into the postscript file \a fp.
9522 - * \param [in] fp pointer to a FILE structure
9523 - * \param [in] string The string to print
9524 - * \param [in] unicode_count Number of items in the unicode table
9525 - * \param [in] unicode_table Table of unicode items
9526 - *
9527 - * \todo investigate whether the TAB character is handled correctly
9528 - */
9529 -void o_text_print_text_string(FILE *fp, char *string, int unicode_count,
9530 - gunichar *unicode_table)
9532 - int len, j;
9533 - gchar *aux;
9534 - gunichar current_char, c;
9536 - if (!string)
9538 - return;
9541 - aux = string;
9542 - len = g_utf8_strlen(string, -1);
9544 - fprintf(fp, "(");
9546 - while (aux && ((gunichar) (*aux) != 0)) {
9547 - current_char = g_utf8_get_char_validated(aux, -1);
9548 - if (current_char == '(' || current_char == ')' || current_char == '\\') {
9549 - fprintf(fp, "\\");
9552 - c = current_char;
9553 - if (c >= 128) {
9554 - current_char = '?';
9555 - if (unicode_count) {
9556 - for (j = 0; j < unicode_count; j++)
9557 - if (c == unicode_table[j]) {
9558 - current_char = j + 128;
9559 - break;
9565 - if (current_char == '\t') {
9566 - /* Output eight spaces instead of the tab character */
9567 - fprintf(fp, " ");
9568 - } else {
9569 - fprintf(fp, "%c", current_char);
9572 - aux = g_utf8_find_next_char(aux, NULL);
9575 - fprintf(fp,") ");
9579 -/*! \brief calculates the height of a text string
9580 - * \par Function Description
9581 - * This function calculates the height of a \a string depending
9582 - * on it's text \a size. The number of lines and the spacing
9583 - * between the lines are taken into account.
9584 - *
9585 - * \param [in] string the text string
9586 - * \param [in] size the text size of the character
9587 - * \return the total height of the text string
9588 - */
9589 -static int o_text_height(const char *string, int size)
9591 - int line_count = 0;
9593 - if (string == NULL) {
9594 - return 0;
9597 - /* Get the number of lines in the string */
9598 - line_count = o_text_num_lines(string);
9600 - /* 26 is the height of a single char (in mils) */
9601 - /* which represents a character which is 2 pts high */
9602 - /* So size has to be divided in half */
9603 - /* and it's added the LINE_SPACING*character_height of each line */
9604 - return(26*size/2*(1+LINE_SPACING*(line_count-1)));
9608 -/*! \brief print a text object into a postscript file
9609 - * \par Function Description
9610 - * This function writes the postscript representation of the text object
9611 - * \a o_current into the the file \a fp.
9612 - * \param [in] toplevel The TOPLEVEL object
9613 - * \param [in] fp pointer to a FILE structure
9614 - * \param [in] o_current The OBJECT to print
9615 - * \param [in] origin_x x-coord of the postscript origin
9616 - * \param [in] origin_y y-coord of the postscript origin
9617 - * \param [in] unicode_count Number of items in the unicode table
9618 - * \param [in] unicode_table Table of unicode items
9619 - */
9620 -void o_text_print(TOPLEVEL *toplevel, FILE *fp, OBJECT *o_current,
9621 - int origin_x, int origin_y,
9622 - int unicode_count, gunichar *unicode_table)
9624 - int alignment;
9625 - char *centering_control = NULL;
9626 - char *p,*s;
9627 - char *output_string = NULL;
9628 - char *name = NULL;
9629 - char *value = NULL;
9630 - int x, y, angle, len, char_height;
9631 - float font_size;
9634 - if (!o_current->text->string) {
9635 - return;
9638 - f_print_set_color(toplevel, fp, o_current->color);
9641 - if (o_attrib_get_name_value (o_current, &name, &value)) {
9642 - switch(o_current->show_name_value) {
9643 - case(SHOW_NAME_VALUE):
9644 - output_string = g_strdup(o_current->text->string);
9645 - break;
9647 - case(SHOW_NAME):
9648 - if (name[0] != '\0') {
9649 - output_string = g_strdup(name);
9650 - } else {
9651 - fprintf(stderr,
9652 - "Got an improper attribute: %s\n",
9653 - o_current->text->string);
9654 - output_string = g_strdup("invalid");
9656 - break;
9658 - case(SHOW_VALUE):
9659 - if (value[0] != '\0') {
9660 - output_string = g_strdup(value);
9661 - } else {
9662 - /* you probably can remove this now... */
9663 - /* since improper attributes will never get here */
9664 - fprintf(stderr,
9665 - "Got an improper attribute: %s\n",
9666 - o_current->text->string);
9667 - output_string = g_strdup("invalid");
9669 - break;
9671 - } else {
9672 - output_string = g_strdup(o_current->text->string);
9675 - /* Apply alignment map to apply when text is 180 degrees rotated.
9676 - * We want the text on the printer to appear upside right, even
9677 - * though mathematically it aught to be upside down. To make this
9678 - * work, we will reset the angle to 0, when it's equal to 180
9679 - * degrees, then apply a transformation to the origin location as if
9680 - * the text was rotated about that point. E.g. if the text origin
9681 - * was at the lower left, and the text was rotated by 180 degrees,
9682 - * it would be as if the origin was at the upper right. The same
9683 - * reasoning has been applied to all 8 other text origins.
9684 - * MIDDLE_MIDDLE maps to itself.
9685 - */
9686 - alignment = o_current->text->alignment;
9687 - angle = o_current->text->angle;
9688 - if(angle == 180) {
9689 - angle = 0; /* reset angle to 0 to make text upright */
9690 - switch(alignment) {
9691 - case(LOWER_LEFT): alignment = UPPER_RIGHT;
9692 - break;
9693 - case(MIDDLE_LEFT): alignment = MIDDLE_RIGHT;
9694 - break;
9695 - case(UPPER_LEFT): alignment = LOWER_RIGHT;
9696 - break;
9697 - case(LOWER_MIDDLE): alignment = UPPER_MIDDLE;
9698 - break;
9699 - case(MIDDLE_MIDDLE): alignment = MIDDLE_MIDDLE;
9700 - break;
9701 - case(UPPER_MIDDLE): alignment = LOWER_MIDDLE;
9702 - break;
9703 - case(LOWER_RIGHT): alignment = UPPER_LEFT;
9704 - break;
9705 - case(MIDDLE_RIGHT): alignment = MIDDLE_LEFT;
9706 - break;
9707 - case(UPPER_RIGHT): alignment = LOWER_LEFT;
9708 - break;
9712 - /* Create an appropriate control string for the centering. */
9713 - switch(alignment) {
9714 - /* hcenter rjustify vcenter vjustify */
9715 - case(LOWER_LEFT): centering_control = "false false false false";
9716 - break;
9717 - case(MIDDLE_LEFT): centering_control = "false false true false";
9718 - break;
9719 - case(UPPER_LEFT): centering_control = "false false false true";
9720 - break;
9721 - case(LOWER_MIDDLE): centering_control = "true false false false";
9722 - break;
9723 - case(MIDDLE_MIDDLE): centering_control = "true false true false";
9724 - break;
9725 - case(UPPER_MIDDLE): centering_control = "true false false true";
9726 - break;
9727 - case(LOWER_RIGHT): centering_control = "false true false false";
9728 - break;
9729 - case(MIDDLE_RIGHT): centering_control = "false true true false";
9730 - break;
9731 - case(UPPER_RIGHT): centering_control = "false true false true";
9732 - break;
9735 - char_height = o_text_height("a", o_current->text->size);
9736 - fprintf(fp,"%s %f [",centering_control,(float)(char_height*LINE_SPACING));
9738 - /* split the line at each newline and print them */
9739 - p = output_string; /* Current point */
9740 - s = output_string; /* Start of the current string */
9741 - len = strlen(output_string)+1;
9742 - while(len != 0) {
9743 - /* Have we reached the end of a line? */
9744 - if((*p == '\n') || (*p == '\0')) {
9745 - /* Yes, replace the newline with a NULL and output the string */
9746 - *p = '\0';
9747 - o_text_print_text_string(fp,s,unicode_count,unicode_table);
9748 - /* Update output string start for next string */
9749 - s = p+1; /* One past the current character. */
9751 - p++; /* Advance to next character */
9752 - len--; /* Keep track of how many characters left to process */
9755 - /* Finish up with the rest of the text print command */
9756 - /* Collect pertinent info about the text location */
9757 - x = o_current->text->x;
9758 - y = o_current->text->y;
9759 - font_size = o_text_get_font_size_in_points (toplevel, o_current)
9760 - / 72.0 * 1000.0;
9761 - fprintf(fp,"] %d %d %d %f text\n",angle,x,y,font_size);
9764 - g_free(output_string);
9765 - g_free(name);
9766 - g_free(value);
9770 /*! \brief rotate a text object around a centerpoint
9771 * \par Function Description
9772 * This function rotates a text \a object around the point
9773 diff --git a/libgeda/src/s_cue.c b/libgeda/src/s_cue.c
9774 deleted file mode 100644
9775 index 4dc059c..0000000
9776 --- a/libgeda/src/s_cue.c
9777 +++ /dev/null
9778 @@ -1,258 +0,0 @@
9779 -/* gEDA - GPL Electronic Design Automation
9780 - * libgeda - gEDA's library
9781 - * Copyright (C) 1998-2008 Ales Hvezda
9782 - * Copyright (C) 1998-2008 gEDA Contributors (see ChangeLog for details)
9784 - * This program is free software; you can redistribute it and/or modify
9785 - * it under the terms of the GNU General Public License as published by
9786 - * the Free Software Foundation; either version 2 of the License, or
9787 - * (at your option) any later version.
9789 - * This program is distributed in the hope that it will be useful,
9790 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
9791 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
9792 - * GNU General Public License for more details.
9794 - * You should have received a copy of the GNU General Public License
9795 - * along with this program; if not, write to the Free Software
9796 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA
9797 - */
9798 -#include <config.h>
9800 -#include <stdio.h>
9801 -#include <ctype.h>
9802 -#ifdef HAVE_STDLIB_H
9803 -#include <stdlib.h>
9804 -#endif
9806 -#include "libgeda_priv.h"
9808 -#ifdef HAVE_LIBDMALLOC
9809 -#include <dmalloc.h>
9810 -#endif
9812 -/*! \todo Finish function documentation!!!
9813 - * \brief
9814 - * \par Function Description
9816 - */
9817 -void s_cue_postscript_fillbox(TOPLEVEL * toplevel, FILE * fp, int x,
9818 - int y)
9820 - int offset;
9821 - int offset2;
9823 - /* hard coded values */
9824 - offset = CUE_BOX_SIZE;
9825 - offset2 = offset*2;
9827 - f_print_set_color(toplevel, fp, NET_ENDPOINT_COLOR);
9829 - fprintf(fp, "%d %d %d %d fbox\n",
9830 - offset2, offset2, x-offset, y-offset);
9833 -/*! \todo Finish function documentation!!!
9834 - * \brief
9835 - * \par Function Description
9837 - */
9838 -void s_cue_postscript_junction (TOPLEVEL * toplevel, FILE * fp,
9839 - int x, int y, int bus_involved)
9841 - int offset2;
9843 - if (bus_involved) {
9844 - offset2 = JUNCTION_CUE_SIZE_BUS;
9845 - } else {
9846 - offset2 = JUNCTION_CUE_SIZE_NET;
9849 - f_print_set_color(toplevel, fp, JUNCTION_COLOR);
9851 - fprintf(fp, "newpath\n");
9852 - fprintf(fp, "%d %d\n", x, y);
9853 - fprintf(fp, "%d\n", offset2 / 2);
9854 - fprintf(fp, "0 360 arc\n");
9855 - fprintf(fp, "fill\n");
9859 -/*! \todo Finish function documentation!!!
9860 - * \brief
9861 - * \par Function Description
9863 - */
9864 -void s_cue_output_all (TOPLEVEL * toplevel, const GList *obj_list, FILE * fp,
9865 - int type)
9867 - OBJECT *o_current;
9868 - const GList *iter;
9870 - iter = obj_list;
9871 - while (iter != NULL) {
9872 - o_current = (OBJECT *)iter->data;
9873 - switch (o_current->type) {
9874 - case (OBJ_NET):
9875 - case (OBJ_BUS):
9876 - case (OBJ_PIN):
9877 - s_cue_output_single(toplevel, o_current, fp, type);
9878 - break;
9880 - case (OBJ_COMPLEX):
9881 - case (OBJ_PLACEHOLDER):
9882 - s_cue_output_all(toplevel, o_current->complex->prim_objs, fp,
9883 - type);
9884 - break;
9887 - iter = g_list_next (iter);
9891 -/*! \todo Finish function documentation!!!
9892 - * \brief
9893 - * \par Function Description
9895 - */
9896 -void s_cue_output_lowlevel(TOPLEVEL * toplevel, OBJECT * object, int whichone,
9897 - FILE * fp, int output_type)
9899 - int x, y;
9900 - GList *cl_current;
9901 - CONN *conn;
9902 - int type, count = 0;
9903 - int done = FALSE;
9904 - int bus_involved = FALSE;
9906 - x = object->line->x[whichone];
9907 - y = object->line->y[whichone];
9909 - type = CONN_ENDPOINT;
9911 - if (object->type == OBJ_BUS ||
9912 - (object->type == OBJ_PIN && object->pin_type == PIN_TYPE_BUS))
9913 - bus_involved = TRUE;
9915 - cl_current = object->conn_list;
9916 - while (cl_current != NULL && !done) {
9917 - conn = (CONN *) cl_current->data;
9919 - if (conn->x == x && conn->y == y) {
9921 - if (conn->other_object &&
9922 - (conn->other_object->type == OBJ_BUS ||
9923 - (conn->other_object->type == OBJ_PIN &&
9924 - conn->other_object->pin_type == PIN_TYPE_BUS)))
9925 - bus_involved=TRUE;
9927 - switch (conn->type) {
9929 - case (CONN_ENDPOINT):
9930 - count++;
9931 - break;
9933 - case (CONN_MIDPOINT):
9934 - type = CONN_MIDPOINT;
9935 - done = TRUE;
9936 - count = 0;
9937 - break;
9941 - cl_current = g_list_next(cl_current);
9944 -#if DEBUG
9945 - printf("type: %d count: %d\n", type, count);
9946 -#endif
9948 - switch (type) {
9950 - case (CONN_ENDPOINT):
9951 - if (object->type == OBJ_NET) { /* only nets have these cues */
9952 - if (count < 1) { /* Didn't find anything connected there */
9953 - if (output_type == POSTSCRIPT) {
9954 - s_cue_postscript_fillbox(toplevel, fp, x, y);
9958 - } else if (count >= 2) {
9959 - if (output_type == POSTSCRIPT)
9960 - s_cue_postscript_junction (toplevel, fp, x, y, bus_involved);
9963 - break;
9965 - case (CONN_MIDPOINT):
9966 - if (output_type == POSTSCRIPT)
9967 - s_cue_postscript_junction (toplevel, fp, x, y, bus_involved);
9968 - break;
9973 -/*! \todo Finish function documentation!!!
9974 - * \brief
9975 - * \par Function Description
9977 - */
9978 -void s_cue_output_lowlevel_midpoints(TOPLEVEL * toplevel, OBJECT * object,
9979 - FILE * fp, int output_type)
9981 - int x, y;
9982 - GList *cl_current;
9983 - CONN *conn;
9984 - int bus_involved = FALSE;
9986 - if (object->type == OBJ_BUS)
9987 - bus_involved = TRUE;
9989 - cl_current = object->conn_list;
9990 - while (cl_current != NULL) {
9991 - conn = (CONN *) cl_current->data;
9993 - switch (conn->type) {
9994 - case (CONN_MIDPOINT):
9996 - x = conn->x;
9997 - y = conn->y;
9999 - if (conn->other_object && conn->other_object->type == OBJ_BUS)
10000 - bus_involved = TRUE;
10002 - if (output_type == POSTSCRIPT) {
10003 - s_cue_postscript_junction (toplevel, fp, x, y, bus_involved);
10005 - break;
10009 - cl_current = g_list_next(cl_current);
10013 -/*! \todo Finish function documentation!!!
10014 - * \brief
10015 - * \par Function Description
10017 - */
10018 -void s_cue_output_single(TOPLEVEL * toplevel, OBJECT * object, FILE * fp,
10019 - int type)
10021 - if (!object) {
10022 - return;
10025 - if (object->type != OBJ_NET && object->type != OBJ_PIN &&
10026 - object->type != OBJ_BUS) {
10027 - return;
10030 - s_cue_output_lowlevel(toplevel, object, 0, fp, type);
10031 - s_cue_output_lowlevel(toplevel, object, 1, fp, type);
10032 - s_cue_output_lowlevel_midpoints(toplevel, object, fp, type);