gdk_draw_rectangle(inst->pixmap, gc, 1, x*9, y*15, len*9, 15);
gdk_draw_rectangle(inst->pixmap, gc, 1, x*inst->font_width, y*inst->font_height, len*inst->font_width, inst->font_height);
void do_text(Context ctx, int x, int y, char *text, int len,	     unsigned long attr, int lattr){    int nfg, nbg, t;    GdkGC *gc = (GdkGC *)ctx;    /*     * NYI:     *  - ATTR_WIDE (is this for Unicode CJK? I hope so)     *  - LATTR_* (ESC # 4 double-width and double-height stuff)     *  - cursor shapes other than block     *  - VT100 line drawing stuff; code pages in general!     *  - shadow bolding     *  - underline     */    nfg = 2 * ((attr & ATTR_FGMASK) >> ATTR_FGSHIFT);    nbg = 2 * ((attr & ATTR_BGMASK) >> ATTR_BGSHIFT);    if (attr & ATTR_REVERSE) {	t = nfg;	nfg = nbg;	nbg = t;    }    if (cfg.bold_colour && (attr & ATTR_BOLD))	nfg++;    if (cfg.bold_colour && (attr & ATTR_BLINK))	nbg++;    if (attr & TATTR_ACTCURS) {	nfg = NCOLOURS-2;	nbg = NCOLOURS-1;    }    gdk_gc_set_foreground(gc, &inst->cols[nbg]);    gdk_draw_rectangle(inst->pixmap, gc, 1, x*9, y*15, len*9, 15);        gdk_gc_set_foreground(gc, &inst->cols[nfg]);    gdk_draw_text(inst->pixmap, inst->fonts[0], gc,		  x*9, y*15 + inst->fonts[0]->ascent, text, len);    if (attr & ATTR_UNDER) {	int uheight = inst->fonts[0]->ascent + 1;	if (uheight >= 15)	    uheight = 14;	gdk_draw_line(inst->pixmap, gc, x*9, y*15 + uheight,		      (x+len)*9-1, y*15+uheight);    }    gdk_draw_pixmap(inst->area->window, gc, inst->pixmap,		    x*9, y*15, x*9, y*15, len*9, 15);}