--- /dev/null
+#include <string.h>
+#include <stdio.h>
+#include <errno.h>
+#include <ctype.h>
+#include <stdlib.h>
+
+#include <glib.h>
+
+typedef struct {
+ gchar *name;
+ gint id;
+ gchar *bitmap;
+ gint hotx;
+ gint hoty;
+} font_info_t;
+
+typedef struct {
+ gchar *name;
+ gint id;
+ gint width;
+ gint height;
+ gint hotx;
+ gint hoty;
+ gchar *data;
+} cursor_info_t;
+
+static GSList *fonts = NULL;
+static GSList *cursors = NULL;
+
+gint dw,dh;
+
+#define HEX(c) (((c) >= '0' && (c) <= '9') ? \
+ ((c) - '0') : (toupper(c) - 'A' + 10))
+
+static void print_font(fi)
+font_info_t *fi;
+{
+ int x,y;
+
+ for (y = 0; y < dh; y++)
+ {
+ for (x = 0; x < dw; x++)
+ {
+ printf(fi->bitmap[y*dw+x]? "X" : " ");
+ }
+ printf("\n");
+ }
+}
+
+static void print_cursor(ci)
+cursor_info_t *ci;
+{
+ int x,y;
+
+ for (y = 0; y < ci->height; y++)
+ {
+ for (x = 0; x < ci->width; x++)
+ {
+ if (ci->hotx == x && ci->hoty == y)
+ printf ("o");
+ else
+ switch (ci->data[y*ci->width+x])
+ {
+ case 0:
+ printf(" ");
+ break;
+ case 1:
+ printf(".");
+ break;
+ case 2:
+ printf("X");
+ break;
+ }
+ }
+ printf("\n");
+ }
+}
+
+static gint read_bdf_font(fname)
+gchar *fname;
+{
+ FILE *f;
+ gchar line[2048];
+ gint rv = 0;
+ gboolean startchar = FALSE, startbitmap = FALSE;
+ gchar *charname,*p,*bitmap;
+ gint dx = 0,dy = 0;
+ gint w,h,x,y,py;
+ gint id,tmp;
+
+ dw = 0;
+ dh = 0;
+
+ if (!(f = fopen(fname, "r")))
+ {
+ perror(fname);
+ return -1;
+ }
+
+ if (fgets(line, sizeof(line), f) && strncasecmp("STARTFONT ", line, 10))
+ {
+ printf("!BDF font file\n");
+ fclose(f);
+ return -1;
+ }
+
+ p = line;
+ while (fgets(line, sizeof(line), f))
+ {
+ if (!startchar)
+ {
+ if (!strncasecmp("STARTCHAR ", line, 10))
+ {
+ startchar = TRUE;
+ charname = g_strndup(p + 10,
+ strcspn(p+10, "\r\n"));
+ }
+ else if (!strncasecmp("FONTBOUNDINGBOX ", line, 16))
+ sscanf(p+16, "%d %d %d %d", &dw, &dh, &dx, &dy);
+ }
+ else
+ {
+ if (!strncasecmp("ENDCHAR", line, 7))
+ {
+ font_info_t *nfi;
+
+ startchar = FALSE;
+ startbitmap = FALSE;
+
+ nfi = g_malloc(sizeof(font_info_t));
+ memset(nfi, '\0', sizeof(font_info_t));
+
+ nfi->name = charname;
+ nfi->id = id;
+ nfi->bitmap = bitmap;
+ nfi->hotx = 0 - dx;
+ nfi->hoty = 0 - dy;
+
+ fonts = g_slist_append(fonts, nfi);
+ }
+ else if (startbitmap)
+ {
+ int px,cx;
+ guchar mask;
+
+ px = x - dx + py * dw;
+ for (cx = 0; cx < w; cx++)
+ {
+ mask = 1 << (3 - (cx % 4));
+
+ bitmap[px+cx] =
+ (mask & HEX(line[cx/4])) != 0;
+
+ /*printf(bitmap[px+cx] ? "X" : " ");*/
+ }
+ py++;
+ /*printf("\n");*/
+ }
+ else if (!strncasecmp("BBX ", line, 4))
+ sscanf(p+4, "%d %d %d %d", &w, &h, &x, &y);
+ else if (!strncasecmp("ENCODING ", line, 9))
+ {
+ if (sscanf(p+9, "%d %d", &tmp, &id) != 2)
+ id = tmp;
+ }
+ else if (!strncasecmp("BITMAP", line, 6))
+ {
+ py = y - dy;
+ startbitmap = TRUE;
+ bitmap = g_malloc(dw*dh);
+ memset(bitmap, '\0', dw*dh);
+ }
+ }
+ }
+
+ if (strncasecmp("ENDFONT", line, 7))
+ rv = -1;
+
+ fclose(f);
+
+ return rv;
+}
+
+static gint font_info_compare(fi, name)
+font_info_t *fi;
+char *name;
+{
+ return strcmp(name, fi->name);
+}
+
+static cursor_info_t *gen_cursor(bmap, mask)
+font_info_t *bmap;
+font_info_t *mask;
+{
+ cursor_info_t *ci;
+ int bx = dw,by = dh,ex = 0,ey = 0;
+ int i,j;
+
+ for (j = 0; j < dh; j++)
+ {
+ gboolean havep = FALSE;
+
+ for (i = 0; i < dw; i++)
+ {
+ if (bmap->bitmap[j*dw+i] || mask->bitmap[j*dw+i])
+ {
+ havep = TRUE;
+ bx = MIN(bx, i);
+ ex = MAX(i+1, ex);
+ }
+ }
+
+ if (havep)
+ {
+ by = MIN(by, j);
+ ey = MAX(ey, j+1);
+ }
+ }
+
+ ci = g_malloc(sizeof(cursor_info_t));
+ ci->name = g_strdup(bmap->name);
+ ci->id = bmap->id;
+
+ ci->width = ex - bx;
+ ci->height = ey - by;
+
+ ci->hotx = bmap->hotx - bx;
+ ci->hoty = ci->height - (bmap->hoty - by);
+
+ ci->data = g_malloc(ci->width * ci->height);
+ memset(ci->data, '\0', ci->width * ci->height);
+
+ for (j = 0; j < ci->height; j++)
+ {
+ for (i = 0; i < ci->width; i++)
+ {
+ int ofs = (by + j) * dw + bx + i;
+
+ ci->data[j*ci->width + i] = mask->bitmap[ofs] *
+ (1 + bmap->bitmap[ofs]);
+ }
+ }
+
+ return ci;
+}
+
+static void compose_cursors_from_fonts()
+{
+ GSList *l;
+
+ for (l = g_slist_copy(fonts); l; l = g_slist_remove_link(l,l))
+ {
+ font_info_t *fi = l->data;
+ gchar *name;
+ GSList *ml;
+
+ name = g_strconcat(fi->name, "_mask", NULL);
+
+ if ((ml = g_slist_find_custom(fonts, name,
+ (GCompareFunc) font_info_compare)))
+ {
+ cursors = g_slist_append(cursors, gen_cursor(l->data, ml->data));
+ fonts = g_slist_remove(fonts, l->data);
+ fonts = g_slist_remove(fonts, ml->data);
+ }
+
+ g_free(name);
+ }
+}
+
+static char *dump_cursor(ci, id)
+cursor_info_t *ci;
+int id;
+{
+ static gchar cdata[8192];
+ gchar *p;
+ gint i;
+ gint c;
+ gboolean flushed;
+
+ sprintf(cdata, " { \"%s\", %d, %d, %d, %d, %d, \n \"",
+ ci->name, ci->id, ci->width, ci->height, ci->hotx, ci->hoty);
+ p = cdata + strlen(cdata);
+
+ for (i = 0; i < ci->width * ci->height; i++)
+ {
+ flushed = FALSE;
+
+ if (!(i%4))
+ c = 0;
+
+ c = c << 2;
+
+ c += ci->data[i];
+
+ if ((i % 4) == 3)
+ {
+ flushed = TRUE;
+ sprintf(p, "\\%03o", c);
+ p += strlen(p);
+ }
+
+ if (i > 0 && !(i % 64))
+ {
+ strcpy(p ,"\"\n \"");
+ p += strlen(p);
+ }
+ }
+ if (!flushed)
+ {
+ sprintf(p, "\\%03o", c);
+ p += strlen(p);
+ }
+
+ strcpy(p, "\" }");
+
+ return cdata;
+}
+
+static int dump_cursors()
+{
+ GSList *ptr;
+ FILE *f = stdout;
+
+ fprintf(f, "static const struct { const gchar *name; gint type; guchar width; guchar height; guchar hotx; guchar hoty; guchar *data; } cursors[] = {\n");
+
+ for (ptr = cursors; ptr; ptr = ptr->next)
+ {
+ /* print_cursor(ptr->data); */
+ fprintf(f, "%s, \n", dump_cursor(ptr->data));
+ }
+
+ fprintf(f, " { NULL, 0, 0, 0, 0, 0, NULL },\n};\n");
+
+ return 0;
+}
+
+gint main(argc, argv)
+gint argc;
+gchar **argv;
+{
+ if (argc != 2)
+ {
+ printf("missing parameters !\n");
+ printf("Usage: %s [BDF cursor file]\n", argv[0]);
+ return -1;
+ }
+
+ if (read_bdf_font(argv[1]) || !fonts)
+ {
+ printf("Error reading font\n");
+ return 1;
+ }
+
+ compose_cursors_from_fonts();
+
+ if (!cursors)
+ {
+ printf("failed to generate cursors from font!\n");
+ return 1;
+ }
+
+ dump_cursors();
+
+ if (fonts)
+ {
+ printf("some fonts remained unconverted!\n");
+ return 1;
+ }
+
+ return 0;
+}
+
--- /dev/null
+static const struct { const gchar *name; gint type; guchar width; guchar height; guchar hotx; guchar hoty; guchar *data; } cursors[] = {
+ { "X_cursor", 0, 16, 16, 7, 7,
+ "\125\000\000\125\152\100\001\251\152\220\006\251\152\244\032\251"
+ "\032\251\152\244\006\252\252\220\001\252\252\100\000\152\251\000"
+ "\000\152\251\000\001\252\252\100\006\252\252\220\032\251\152\244"
+ "\152\244\032\251\152\220\006\251\152\100\001\251\125\000\000\125" },
+ { "arrow", 2, 16, 16, 14, 1,
+ "\000\000\000\025\000\000\001\151\000\000\026\251\000\001\152\244"
+ "\000\026\252\244\001\152\252\220\006\252\252\220\005\126\252\100"
+ "\000\032\252\100\000\152\151\000\001\251\151\000\006\244\144\000"
+ "\032\220\144\000\152\100\020\000\031\000\000\000\004\000\000\000" },
+ { "based_arrow_down", 4, 10, 12, 4, 10,
+ "\125\125\126\252\251\125\125\126\252\251\125\245\120\032\100\001"
+ "\244\001\132\124\031\246\101\152\224\005\245\000\025\100" },
+ { "based_arrow_up", 6, 10, 12, 4, 10,
+ "\000\120\000\032\100\026\251\101\232\144\025\245\100\032\100\001"
+ "\244\005\132\125\152\252\225\125\125\152\252\225\125\125" },
+ { "boat", 8, 16, 9, 14, 4,
+ "\000\026\000\000\000\152\240\000\201\225\150\000\252\252\252\252"
+ "\125\125\126\225\125\125\131\125\125\125\145\100\252\252\244\000"
+ "\125\125\120\000" },
+ { "bogosity", 10, 15, 16, 7, 7,
+ "\125\105\105\125\251\031\032\225\144\144\145\101\221\221\220\126"
+ "\126\126\125\252\252\252\226\145\145\146\131\221\221\231\146\106"
+ "\106\145\231\131\131\226\252\252\252\125\225\225\225\006\106\106"
+ "\101\131\031\031\126\244\144\152\125\121\121\125" },
+ { "bottom_left_corner", 12, 16, 16, 1, 14,
+ "\125\000\000\000\151\000\000\000\151\025\000\120\151\031\001\220"
+ "\151\031\006\100\151\031\031\000\151\031\144\000\151\031\220\000"
+ "\151\032\125\120\151\032\252\220\151\025\125\120\151\000\000\000"
+ "\151\125\125\125\152\252\252\251\152\252\252\251\125\125\125\125" },
+ { "bottom_right_corner", 14, 16, 16, 14, 14,
+ "\000\000\000\125\000\000\000\151\005\000\124\151\006\100\144\151"
+ "\001\220\144\151\000\144\144\151\000\031\144\151\000\006\144\151"
+ "\005\125\244\151\006\252\244\151\005\125\124\151\000\000\000\151"
+ "\125\125\125\151\152\252\252\251\152\252\252\251\125\125\125\125" },
+ { "bottom_side", 16, 15, 16, 7, 14,
+ "\000\005\100\000\000\031\000\000\000\144\000\000\001\220\000\000"
+ "\006\100\000\000\031\000\000\120\144\024\001\221\221\220\001\226"
+ "\131\000\001\231\220\000\001\251\000\000\001\220\000\125\125\125"
+ "\125\252\252\252\226\252\252\252\125\125\125\125" },
+ { "bottom_tee", 18, 16, 12, 8, 10,
+ "\000\005\120\000\000\006\220\000\000\006\220\000\000\006\220\000"
+ "\000\006\220\000\000\006\220\000\000\006\220\000\000\006\220\000"
+ "\125\126\225\125\152\252\252\251\152\252\252\251\125\125\125\125" },
+ { "box_spiral", 20, 16, 16, 8, 8,
+ "\252\252\252\251\225\125\125\125\232\252\252\251\231\125\125\131"
+ "\231\252\252\231\231\225\125\231\231\232\251\231\231\231\131\231"
+ "\231\231\231\231\231\232\231\231\231\225\131\231\231\252\251\231"
+ "\231\125\125\231\232\252\252\231\225\125\125\131\252\252\252\251" },
+ { "center_ptr", 22, 12, 16, 5, 1,
+ "\000\125\000\000\151\000\001\151\100\001\252\100\005\252\120\006"
+ "\252\220\026\252\224\032\252\244\132\252\245\151\151\151\145\151"
+ "\131\124\151\025\000\151\000\000\151\000\000\151\000\000\125\000" },
+ { "circle", 24, 16, 16, 8, 8,
+ "\000\025\124\000\001\132\245\100\005\252\252\120\026\252\252\224"
+ "\032\245\132\244\132\220\006\245\152\100\001\251\152\100\001\251"
+ "\152\100\001\251\152\100\001\251\132\220\006\245\032\245\132\244"
+ "\026\252\252\224\005\252\252\120\001\132\245\100\000\025\124\000" },
+ { "clock", 26, 15, 16, 6, 3,
+ "\032\252\252\101\241\252\012\112\030\132\112\141\206\222\111\206"
+ "\251\131\046\006\124\220\232\006\251\012\132\252\252\244\142\032"
+ "\110\221\210\151\042\106\041\244\211\030\232\246\044\242\032\110"
+ "\246\250\024\052\232\252\252\252\152\252\252\251" },
+ { "coffee_mug", 28, 16, 16, 7, 9,
+ "\002\252\252\000\011\125\125\200\051\125\125\151\046\125\126\231"
+ "\145\252\251\131\245\125\125\131\245\125\125\131\145\125\125\131"
+ "\045\125\125\131\046\226\126\231\151\231\231\231\251\232\231\231"
+ "\246\231\226\231\145\125\125\131\045\125\125\131\012\252\252\240" },
+ { "cross", 30, 16, 16, 7, 7,
+ "\000\025\120\000\000\031\220\000\000\031\220\000\000\031\220\000"
+ "\000\031\220\000\125\131\225\125\125\131\225\125\252\251\252\252"
+ "\125\125\125\125\252\251\252\252\000\031\220\000\000\031\220\000"
+ "\000\031\220\000\000\031\220\000\000\031\220\000\000\031\220\000" },
+ { "cross_reverse", 32, 16, 15, 7, 7,
+ "\044\030\220\140\211\030\221\211\142\130\226\044\030\230\230\220"
+ "\006\050\242\100\125\210\211\125\252\240\052\252\000\001\000\000"
+ "\252\240\052\252\125\210\211\125\006\050\242\100\030\230\230\220"
+ "\142\130\226\044\211\030\221\211\044\030\220\140" },
+ { "crosshair", 34, 16, 16, 7, 7,
+ "\000\005\100\000\000\006\100\000\000\006\100\000\000\006\100\000"
+ "\000\006\100\000\000\006\100\000\125\126\125\125\125\126\125\125"
+ "\252\251\252\252\000\006\100\000\000\006\100\000\000\006\100\000"
+ "\000\006\100\000\000\006\100\000\000\006\100\000\000\006\100\000" },
+ { "diamond_cross", 36, 16, 16, 7, 7,
+ "\000\025\120\000\000\131\224\000\001\151\245\000\005\211\211\100"
+ "\026\011\202\120\130\011\200\224\145\131\225\145\252\250\252\251"
+ "\125\125\125\125\250\011\200\250\045\011\201\140\011\111\205\200"
+ "\002\131\226\000\000\231\230\000\000\051\240\000\000\011\200\000" },
+ { "dot", 38, 12, 12, 6, 6,
+ "\001\125\100\025\252\124\032\252\244\132\252\245\152\252\251\152"
+ "\252\251\152\252\251\152\252\251\132\252\245\032\252\244\025\252"
+ "\124\001\125\100" },
+ { "dotbox", 40, 14, 14, 7, 6,
+ "\125\125\125\126\252\252\251\145\125\125\226\100\000\031\144\000"
+ "\001\226\101\124\031\144\032\101\226\101\244\031\144\025\101\226"
+ "\100\000\031\144\000\001\226\125\125\131\152\252\252\225\125\125"
+ "\125" },
+ { "double_arrow", 42, 12, 16, 6, 8,
+ "\000\125\000\001\151\100\005\252\120\026\252\224\132\151\245\151"
+ "\151\151\125\151\125\000\151\000\000\151\000\125\151\125\151\151"
+ "\151\132\151\245\026\252\224\005\252\120\001\151\100\000\125\000" },
+ { "draft_large", 44, 15, 16, 14, 0,
+ "\000\000\000\024\000\000\005\140\000\001\132\100\000\126\250\000"
+ "\025\252\200\005\152\252\001\132\252\240\006\252\252\200\000\026"
+ "\250\000\001\146\240\000\026\032\000\001\140\150\000\026\001\200"
+ "\001\140\006\000\006\000\000\000\040\000\000\000" },
+ { "draft_small", 46, 15, 15, 14, 0,
+ "\000\000\000\030\000\000\006\220\000\001\252\000\000\152\244\000"
+ "\032\252\200\000\125\251\000\000\031\240\000\001\226\100\000\031"
+ "\030\000\001\220\100\000\031\000\000\001\220\000\000\031\000\000"
+ "\001\220\000\000\011\000\000\000\000" },
+ { "draped_box", 48, 14, 14, 7, 6,
+ "\125\125\125\126\252\252\251\140\145\220\226\032\132\111\146\220"
+ "\151\226\244\121\251\145\032\105\226\121\244\131\152\105\032\226"
+ "\151\006\231\141\245\244\226\006\131\011\152\252\252\225\125\125"
+ "\125" },
+ { "exchange", 50, 16, 16, 7, 7,
+ "\120\025\124\000\144\152\251\000\151\252\252\100\152\245\126\220"
+ "\145\220\001\220\145\245\000\120\152\251\000\000\125\125\000\000"
+ "\000\000\125\125\000\000\152\251\005\000\032\131\006\100\006\131"
+ "\006\225\132\251\001\252\252\151\000\152\251\031\000\025\124\005" },
+ { "fleur", 52, 16, 16, 8, 8,
+ "\000\005\120\000\000\006\224\000\000\032\244\000\000\152\251\000"
+ "\001\026\224\100\006\106\221\220\132\126\225\245\152\252\252\251"
+ "\152\252\252\251\132\126\225\245\006\106\221\220\001\026\224\100"
+ "\000\152\251\000\000\032\244\000\000\006\220\000\000\005\120\000" },
+ { "gobbler", 54, 16, 16, 14, 3,
+ "\000\000\152\220\000\000\152\120\220\000\132\132\226\252\232\125"
+ "\252\252\252\125\252\251\132\120\252\245\132\120\151\125\132\220"
+ "\125\125\252\120\126\252\251\120\025\225\125\100\001\225\125\000"
+ "\001\220\000\000\001\220\000\000\006\251\000\000\005\125\000\000" },
+ { "gumby", 56, 16, 16, 2, 0,
+ "\012\252\000\000\122\125\200\000\244\225\140\000\251\231\230\000"
+ "\244\225\130\000\244\232\231\120\252\225\132\244\132\225\132\252"
+ "\005\225\130\152\000\225\130\152\000\226\131\252\000\226\130\152"
+ "\000\226\130\025\002\126\126\000\011\126\125\200\012\250\252\200" },
+ { "hand1", 58, 13, 16, 12, 0,
+ "\000\000\006\200\000\032\240\000\152\220\000\152\220\000\152\220"
+ "\000\152\251\001\152\252\221\232\252\224\252\252\251\046\252\252"
+ "\105\132\252\101\126\252\100\226\145\100\051\131\000\006\231\000"
+ "\000\151\000\000" },
+ { "hand2", 60, 16, 16, 0, 1,
+ "\025\125\100\000\152\252\220\000\225\125\144\000\152\251\131\000"
+ "\026\125\126\100\001\251\126\100\006\125\126\100\001\251\131\220"
+ "\006\125\145\144\001\245\225\131\000\132\125\144\000\031\145\220"
+ "\000\006\126\100\000\001\231\000\000\000\144\000\000\000\020\000" },
+ { "heart", 62, 15, 14, 6, 8,
+ "\012\250\252\200\245\152\126\212\100\144\006\244\000\100\006\220"
+ "\000\000\032\100\000\000\151\000\104\001\251\000\100\032\051\000"
+ "\001\240\051\000\032\000\051\001\240\000\051\132\000\000\051\240"
+ "\000\000\052\000\000" },
+ { "icon", 64, 16, 16, 8, 8,
+ "\252\252\252\252\246\146\146\146\231\231\231\232\246\146\146\146"
+ "\231\125\125\232\246\125\125\146\231\125\125\232\246\125\125\146"
+ "\231\125\125\232\246\125\125\146\231\125\125\232\246\125\125\146"
+ "\231\231\231\232\246\146\146\146\231\231\231\232\252\252\252\252" },
+ { "iron_cross", 66, 16, 16, 8, 7,
+ "\005\125\125\120\032\252\252\244\026\252\252\224\145\252\252\131"
+ "\151\152\251\151\152\132\245\251\152\226\226\251\152\252\252\251"
+ "\152\252\252\251\152\226\226\251\152\132\245\251\151\152\251\151"
+ "\145\252\252\131\026\252\252\224\032\252\252\244\005\125\125\120" },
+ { "left_ptr", 68, 10, 16, 1, 1,
+ "\120\000\006\100\000\151\000\006\244\000\152\220\006\252\100\152"
+ "\251\006\252\244\152\252\226\252\125\151\244\006\106\220\120\151"
+ "\000\001\244\000\032\100\000\120" },
+ { "left_side", 70, 16, 15, 1, 7,
+ "\125\000\000\000\151\000\000\000\151\000\120\000\151\001\220\000"
+ "\151\006\100\000\151\031\000\000\151\145\125\125\151\252\252\251"
+ "\151\145\125\125\151\031\000\000\151\006\100\000\151\001\220\000"
+ "\151\000\120\000\151\000\000\000\125\000\000\000" },
+ { "left_tee", 72, 12, 16, 1, 8,
+ "\125\000\000\151\000\000\151\000\000\151\000\000\151\000\000\151"
+ "\000\000\151\125\125\152\252\251\152\252\251\151\125\125\151\000"
+ "\000\151\000\000\151\000\000\151\000\000\151\000\000\125\000\000" },
+ { "leftbutton", 74, 16, 16, 8, 8,
+ "\025\125\125\120\152\252\252\244\152\252\252\244\145\145\145\144"
+ "\145\146\146\144\145\146\146\144\145\146\146\144\145\146\146\144"
+ "\145\145\145\144\152\252\252\244\152\252\252\244\152\252\252\244"
+ "\152\252\252\244\152\252\252\244\152\252\252\244\025\125\125\120" },
+ { "ll_angle", 76, 12, 12, 1, 10,
+ "\125\000\000\151\000\000\151\000\000\151\000\000\151\000\000\151"
+ "\000\000\151\000\000\151\000\000\151\125\125\152\252\251\152\252"
+ "\251\125\125\125" },
+ { "lr_angle", 78, 12, 12, 10, 10,
+ "\000\000\125\000\000\151\000\000\151\000\000\151\000\000\151\000"
+ "\000\151\000\000\151\000\000\151\125\125\151\152\252\251\152\252"
+ "\251\125\125\125" },
+ { "man", 80, 16, 16, 14, 5,
+ "\001\132\224\000\006\251\252\000\005\131\225\100\220\006\100\004"
+ "\144\032\220\052\031\145\145\232\006\246\152\105\001\146\145\000"
+ "\000\045\144\000\000\031\220\000\000\145\144\000\001\226\131\000"
+ "\006\131\226\100\026\144\146\120\152\220\032\245\252\220\032\252" },
+ { "middlebutton", 82, 16, 16, 8, 8,
+ "\025\125\125\120\152\252\252\244\152\252\252\244\145\145\145\144"
+ "\146\145\146\144\146\145\146\144\146\145\146\144\146\145\146\144"
+ "\145\145\145\144\152\252\252\244\152\252\252\244\152\252\252\244"
+ "\152\252\252\244\152\252\252\244\152\252\252\244\025\125\125\120" },
+ { "mouse", 84, 16, 16, 4, 1,
+ "\000\125\100\000\001\124\000\000\000\152\000\000\000\045\000\000"
+ "\025\151\125\100\125\132\125\120\152\252\252\225\225\125\125\145"
+ "\232\132\132\151\232\132\132\151\232\132\132\151\225\125\125\151"
+ "\005\125\125\051\001\125\124\000\000\225\140\000\000\052\200\000" },
+ { "pencil", 86, 13, 16, 11, 15,
+ "\132\220\000\031\131\000\006\126\220\000\145\230\000\012\246\100"
+ "\001\225\140\000\031\131\000\002\125\200\000\145\144\000\012\126"
+ "\000\001\225\220\000\031\131\000\001\252\100\000\032\220\000\001"
+ "\244\000\000\031" },
+ { "pirate", 88, 16, 16, 7, 12,
+ "\000\152\220\000\001\252\244\000\006\252\251\000\032\132\132\100"
+ "\032\132\132\100\006\252\251\000\001\252\244\000\100\152\220\001"
+ "\200\152\220\045\220\152\220\151\145\032\101\220\032\200\052\100"
+ "\000\052\200\000\026\252\250\011\252\125\132\251\225\000\005\144" },
+ { "plus", 90, 12, 12, 5, 6,
+ "\000\125\000\000\151\000\000\151\000\000\151\000\125\151\125\152"
+ "\252\251\152\252\251\125\151\125\000\151\000\000\151\000\000\151"
+ "\000\000\125\000" },
+ { "question_arrow", 92, 11, 16, 5, 8,
+ "\002\252\000\052\252\002\245\152\032\125\151\152\001\245\151\012"
+ "\221\124\251\101\152\224\001\251\100\006\144\000\031\220\002\246"
+ "\240\026\232\120\026\245\000\026\120\000\025\000" },
+ { "right_ptr", 94, 10, 16, 8, 1,
+ "\000\000\120\000\031\000\006\220\001\251\000\152\220\032\251\006"
+ "\252\221\252\251\152\252\225\132\251\001\246\220\151\031\006\220"
+ "\121\244\000\032\100\000\120\000" },
+ { "right_side", 96, 16, 15, 14, 7,
+ "\000\000\000\125\000\000\000\151\000\005\000\151\000\006\100\151"
+ "\000\001\220\151\000\000\144\151\125\125\131\151\152\252\252\151"
+ "\125\125\131\151\000\000\144\151\000\001\220\151\000\006\100\151"
+ "\000\005\000\151\000\000\000\151\000\000\000\125" },
+ { "right_tee", 98, 12, 16, 10, 8,
+ "\000\000\125\000\000\151\000\000\151\000\000\151\000\000\151\000"
+ "\000\151\125\125\151\152\252\251\152\252\251\125\125\151\000\000"
+ "\151\000\000\151\000\000\151\000\000\151\000\000\151\000\000\125" },
+ { "rightbutton", 100, 16, 16, 8, 8,
+ "\025\125\125\120\152\252\252\244\152\252\252\244\145\145\145\144"
+ "\146\146\145\144\146\146\145\144\146\146\145\144\146\146\145\144"
+ "\145\145\145\144\152\252\252\244\152\252\252\244\152\252\252\244"
+ "\152\252\252\244\152\252\252\244\152\252\252\244\025\125\125\120" },
+ { "rtl_logo", 102, 16, 16, 7, 7,
+ "\125\125\125\125\152\252\252\251\145\125\131\131\144\000\031\031"
+ "\145\125\131\031\152\252\251\031\145\145\131\031\144\144\031\031"
+ "\144\144\031\031\144\145\131\131\144\152\252\251\144\145\125\131"
+ "\144\144\000\031\145\145\125\131\152\252\252\251\125\125\125\125" },
+ { "sailboat", 104, 16, 16, 8, 0,
+ "\000\000\120\000\000\000\124\000\000\001\144\000\000\005\145\000"
+ "\000\006\151\000\000\026\151\000\000\032\151\100\000\132\152\100"
+ "\000\152\152\100\001\152\152\120\001\252\152\220\005\252\152\220"
+ "\006\252\152\225\026\252\152\245\132\251\132\200\025\125\124\000" },
+ { "sb_down_arrow", 106, 9, 16, 4, 15,
+ "\005\124\001\231\000\146\100\031\220\006\144\001\231\000\146\100"
+ "\031\220\006\144\001\231\005\146\125\131\225\052\252\002\252\000"
+ "\052\000\002\000" },
+ { "sb_h_double_arrow", 108, 15, 9, 7, 4,
+ "\001\100\005\000\031\000\031\001\245\125\151\032\252\252\251\252"
+ "\125\126\251\252\252\252\221\245\125\151\001\220\001\220\001\100"
+ "\005\000" },
+ { "sb_left_arrow", 110, 16, 9, 0, 4,
+ "\000\120\000\000\001\220\000\000\006\225\125\125\032\252\252\252"
+ "\152\225\125\125\032\252\252\252\006\225\125\125\001\220\000\000"
+ "\000\120\000\000" },
+ { "sb_right_arrow", 112, 16, 9, 15, 4,
+ "\000\000\005\000\000\000\006\100\125\125\126\220\252\252\252\244"
+ "\125\125\126\251\252\252\252\244\125\125\126\220\000\000\006\100"
+ "\000\000\005\000" },
+ { "sb_up_arrow", 114, 9, 16, 4, 0,
+ "\000\200\000\250\000\252\200\252\250\126\145\125\231\120\146\100"
+ "\031\220\006\144\001\231\000\146\100\031\220\006\144\001\231\000"
+ "\146\100\025\120" },
+ { "sb_v_double_arrow", 116, 9, 15, 4, 7,
+ "\001\220\001\251\001\252\221\252\251\126\145\101\231\000\146\100"
+ "\031\220\006\144\001\231\005\146\125\252\251\032\251\001\251\000"
+ "\031\000" },
+ { "shuttle", 118, 16, 16, 11, 0,
+ "\000\000\006\100\000\000\032\220\000\000\152\244\000\000\251\252"
+ "\000\030\251\252\000\144\251\252\001\224\251\252\001\224\251\252"
+ "\001\224\251\252\001\224\251\252\006\224\251\252\032\224\251\252"
+ "\152\250\251\252\025\244\145\144\000\120\032\244\000\000\006\220" },
+ { "sizing", 120, 16, 16, 8, 8,
+ "\125\125\120\000\152\252\220\000\145\125\120\000\144\000\000\000"
+ "\144\125\125\000\144\152\251\000\144\145\131\025\144\144\031\031"
+ "\144\144\031\031\124\145\131\031\000\152\251\031\000\125\126\131"
+ "\000\000\001\231\000\005\125\151\000\006\252\251\000\005\125\125" },
+ { "spider", 122, 16, 16, 6, 7,
+ "\030\000\002\100\006\000\011\000\002\000\010\000\001\200\044\000"
+ "\100\225\140\001\220\152\220\152\050\152\222\220\006\252\251\000"
+ "\006\252\250\000\050\152\226\200\220\152\220\152\100\225\140\001"
+ "\001\200\040\000\002\100\030\000\006\000\011\000\030\000\002\100" },
+ { "spraycan", 124, 12, 16, 10, 2,
+ "\000\000\012\001\100\205\006\230\112\012\244\205\032\144\112\152"
+ "\251\000\145\131\000\152\131\000\146\131\000\152\131\000\146\131"
+ "\000\152\131\000\152\131\000\145\131\000\145\131\000\152\251\000" },
+ { "star", 126, 16, 16, 7, 7,
+ "\000\002\000\000\000\011\200\000\000\011\200\000\000\030\220\000"
+ "\000\044\140\000\000\140\044\000\001\140\045\100\132\202\012\224"
+ "\240\000\000\051\132\200\012\224\005\202\011\100\006\011\202\100"
+ "\030\044\140\220\030\220\030\220\032\100\006\220\031\000\001\220" },
+ { "target", 128, 16, 14, 7, 7,
+ "\000\032\220\000\000\252\250\000\002\245\152\000\012\120\026\200"
+ "\051\000\001\240\244\002\000\150\240\011\200\051\240\024\120\051"
+ "\140\005\100\045\130\001\000\224\026\000\002\120\005\240\051\100"
+ "\001\132\225\000\000\025\120\000" },
+ { "tcross", 130, 15, 15, 7, 7,
+ "\000\005\100\000\000\031\000\000\000\144\000\000\001\220\000\000"
+ "\006\100\000\000\031\000\005\125\145\125\132\252\252\251\125\126"
+ "\125\124\000\031\000\000\000\144\000\000\001\220\000\000\006\100"
+ "\000\000\031\000\000\000\124\000\000" },
+ { "top_left_arrow", 132, 16, 16, 1, 1,
+ "\124\000\000\000\151\100\000\000\152\224\000\000\032\251\100\000"
+ "\032\252\224\000\006\252\251\120\006\252\252\220\001\252\225\120"
+ "\001\252\220\000\000\151\144\000\000\151\031\000\000\031\006\100"
+ "\000\031\001\220\000\025\000\144\000\000\000\031\000\000\000\005" },
+ { "top_left_corner", 134, 16, 16, 1, 1,
+ "\125\125\125\125\152\252\252\251\152\252\252\251\151\125\125\125"
+ "\151\000\000\000\151\025\125\120\151\032\252\220\151\032\125\120"
+ "\151\031\220\000\151\031\144\000\151\031\031\000\151\031\006\100"
+ "\151\031\001\220\151\025\000\120\151\000\000\000\125\000\000\000" },
+ { "top_right_corner", 136, 16, 16, 14, 1,
+ "\125\125\125\125\152\252\252\251\152\252\252\251\125\125\125\151"
+ "\000\000\000\151\005\125\124\151\006\252\244\151\005\125\244\151"
+ "\000\006\144\151\000\031\144\151\000\144\144\151\001\220\144\151"
+ "\006\100\144\151\005\000\124\151\000\000\000\151\000\000\000\125" },
+ { "top_side", 138, 15, 16, 7, 1,
+ "\125\125\125\125\252\252\252\226\252\252\252\125\125\125\125\000"
+ "\006\100\000\000\152\100\000\006\146\100\000\145\226\100\006\106"
+ "\106\100\024\031\005\000\000\144\000\000\001\220\000\000\006\100"
+ "\000\000\031\000\000\000\144\000\000\001\120\000" },
+ { "top_tee", 140, 16, 12, 8, 1,
+ "\125\125\125\125\152\252\252\251\152\252\252\251\125\126\225\125"
+ "\000\006\220\000\000\006\220\000\000\006\220\000\000\006\220\000"
+ "\000\006\220\000\000\006\220\000\000\006\220\000\000\005\120\000" },
+ { "trek", 142, 9, 16, 4, 0,
+ "\001\220\000\124\000\152\100\152\244\152\252\132\232\226\252\244"
+ "\152\244\006\244\004\144\106\152\145\246\151\145\226\131\021\226"
+ "\104\145\220\031" },
+ { "ul_angle", 144, 12, 12, 1, 1,
+ "\125\125\125\152\252\251\152\252\251\151\125\125\151\000\000\151"
+ "\000\000\151\000\000\151\000\000\151\000\000\151\000\000\151\000"
+ "\000\125\000\000" },
+ { "umbrella", 146, 16, 16, 8, 2,
+ "\001\025\024\124\121\125\125\105\105\225\226\120\025\131\131\225"
+ "\145\226\231\140\131\152\245\225\126\006\102\124\000\006\100\000"
+ "\000\006\100\000\000\006\100\000\000\006\100\000\000\006\124\000"
+ "\000\006\124\000\000\006\144\000\000\006\144\000\000\001\220\000" },
+ { "ur_angle", 148, 12, 12, 10, 1,
+ "\125\125\125\152\252\251\152\252\251\125\125\151\000\000\151\000"
+ "\000\151\000\000\151\000\000\151\000\000\151\000\000\151\000\000"
+ "\151\000\000\125" },
+ { "watch", 150, 16, 16, 15, 9,
+ "\006\252\251\000\006\252\251\000\006\252\251\000\032\252\252\100"
+ "\151\126\126\220\245\126\125\245\225\126\125\152\225\132\225\152"
+ "\225\132\225\152\225\145\125\152\245\225\125\245\151\125\126\220"
+ "\032\252\252\100\006\252\251\000\006\252\251\000\006\252\251\000" },
+ { "xterm", 152, 9, 16, 4, 8,
+ "\125\025\132\232\225\152\124\026\120\001\220\000\144\000\031\000"
+ "\006\100\001\220\000\144\000\031\000\006\100\005\224\025\251\126"
+ "\246\245\124\125" },
+ { NULL, 0, 0, 0, 0, 0, NULL },
+};