+ XftColor c;
+
+ /* accomidate for areas bigger/smaller than Xft thinks the font is tall */
+ y += (h - t->font->xftfont->height) / 2;
+
+ x += 3; /* XXX figure out X with justification */
+
+ if (t->shadow) {
+ c.color.red = 0;
+ c.color.green = 0;
+ c.color.blue = 0;
+ c.color.alpha = t->tint | t->tint << 8; /* transparent shadow */
+ c.pixel = BlackPixel(ob_display, ob_screen);
+
+ XftDrawStringUtf8(d, &c, t->font->xftfont, x + t->offset,
+ t->font->xftfont->ascent + y + t->offset,
+ (FcChar8*)t->string, strlen(t->string));
+ }
+ c.color.red = t->color->r | t->color->r << 8;
+ c.color.green = t->color->g | t->color->g << 8;
+ c.color.blue = t->color->b | t->color->b << 8;
+ c.color.alpha = 0xff | 0xff << 8; /* fully opaque text */
+ c.pixel = t->color->pixel;
+
+ XftDrawStringUtf8(d, &c, t->font->xftfont, x,
+ t->font->xftfont->ascent + y -
+ (t->font->xftfont->height - t->font->height) / 2,
+ (FcChar8*)t->string, strlen(t->string));
+ return;