fix loadfont
This commit is contained in:
parent
a6cbc6c9a7
commit
c805dcbeaf
1 changed files with 13 additions and 12 deletions
25
draw.c
25
draw.c
|
@ -121,26 +121,27 @@ initfont(DC *dc, const char *fontstr) {
|
||||||
Bool
|
Bool
|
||||||
loadfont(DC *dc, const char *fontstr) {
|
loadfont(DC *dc, const char *fontstr) {
|
||||||
char *def, **missing, **names;
|
char *def, **missing, **names;
|
||||||
int i, n = 1;
|
int i, n;
|
||||||
XFontStruct **xfonts;
|
XFontStruct **xfonts;
|
||||||
|
|
||||||
if(!*fontstr)
|
if(!*fontstr)
|
||||||
return False;
|
return False;
|
||||||
if((dc->font.set = XCreateFontSet(dc->dpy, fontstr, &missing, &n, &def)))
|
if((dc->font.set = XCreateFontSet(dc->dpy, fontstr, &missing, &n, &def))) {
|
||||||
n = XFontsOfFontSet(dc->font.set, &xfonts, &names);
|
n = XFontsOfFontSet(dc->font.set, &xfonts, &names);
|
||||||
else if((dc->font.xfont = XLoadQueryFont(dc->dpy, fontstr)))
|
for(i = 0; i < n; i++) {
|
||||||
xfonts = &dc->font.xfont;
|
dc->font.ascent = MAX(dc->font.ascent, xfonts[i]->ascent);
|
||||||
else
|
dc->font.descent = MAX(dc->font.descent, xfonts[i]->descent);
|
||||||
n = 0;
|
dc->font.width = MAX(dc->font.width, xfonts[i]->max_bounds.width);
|
||||||
|
}
|
||||||
for(i = 0; i < n; i++) {
|
}
|
||||||
dc->font.ascent = MAX(dc->font.ascent, xfonts[i]->ascent);
|
else if((dc->font.xfont = XLoadQueryFont(dc->dpy, fontstr))) {
|
||||||
dc->font.descent = MAX(dc->font.descent, xfonts[i]->descent);
|
dc->font.ascent = dc->font.xfont->ascent;
|
||||||
dc->font.width = MAX(dc->font.width, xfonts[i]->max_bounds.width);
|
dc->font.descent = dc->font.xfont->descent;
|
||||||
|
dc->font.width = dc->font.xfont->max_bounds.width;
|
||||||
}
|
}
|
||||||
if(missing)
|
if(missing)
|
||||||
XFreeStringList(missing);
|
XFreeStringList(missing);
|
||||||
return (dc->font.set || dc->font.xfont);
|
return dc->font.set || dc->font.xfont;
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|
Loading…
Reference in a new issue