wmii

git clone git://oldgit.suckless.org/wmii/
Log | Files | Refs | README | LICENSE

commit 956b52bb2a2d344fcff5c8c84771781d7b3444c1
parent 3931fe18f45f317ad807b47f8fa5ac6e99487509
Author: Anselm R. Garbe <garbeam@wmii.de>
Date:   Sun, 23 Apr 2006 20:39:58 +0200

implemented Xutf8DrawString behavior


Diffstat:
liblitz/draw.c | 4++++
liblitz/font.c | 17++++++++++++++---
2 files changed, 18 insertions(+), 3 deletions(-)

diff --git a/liblitz/draw.c b/liblitz/draw.c @@ -102,7 +102,11 @@ xdrawtext(Display *dpy, BlitzDraw *d) } XSetBackground(dpy, d->gc, d->color.bg); XSetForeground(dpy, d->gc, d->color.fg); +#ifdef X_HAVE_UTF8_STRING + Xutf8DrawString(dpy, d->drawable, d->font.set, d->gc, x, y, text, len); +#else XDrawString(dpy, d->drawable, d->gc, x, y, text, len); +#endif } void diff --git a/liblitz/font.c b/liblitz/font.c @@ -5,20 +5,31 @@ #include <stdio.h> #include <stdlib.h> +#include <cext.h> #include "blitz.h" void blitz_loadfont(Display *dpy, BlitzFont *font, char *fontstr) { + char *fontname = fontstr; + char **missing = nil, *def = "?"; + int nmissing; + if(font->set) + XFreeFontSet(dpy, font->set); if(font->font) XFreeFont(dpy, font->font); - font->font = XLoadQueryFont(dpy, fontstr); + font->font = XLoadQueryFont(dpy, fontname); if (!font->font) { - font->font = XLoadQueryFont(dpy, "fixed"); + fontname = "fixed"; + font->font = XLoadQueryFont(dpy, fontname); if (!font->font) { - fprintf(stderr, "%s", "liblitz: error, cannot load fixed font\n"); + fprintf(stderr, "%s", "liblitz: error, cannot load 'fixed' font\n"); exit(1); } } + font->set = XCreateFontSet(dpy, fontname, &missing, &nmissing, &def); + + if(missing) + XFreeStringList(missing); }