update draw.c
This commit is contained in:
parent
723cbabc12
commit
f7cbe710a2
23
draw.c
23
draw.c
|
@ -120,24 +120,23 @@ initfont(DC *dc, const char *fontstr) {
|
||||||
|
|
||||||
Bool
|
Bool
|
||||||
loadfont(DC *dc, const char *fontstr) {
|
loadfont(DC *dc, const char *fontstr) {
|
||||||
char *def, **missing;
|
char *def, **missing, **names;
|
||||||
int i, n;
|
int i, n = 1;
|
||||||
|
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)))
|
||||||
char **names;
|
|
||||||
XFontStruct **xfonts;
|
|
||||||
|
|
||||||
n = XFontsOfFontSet(dc->font.set, &xfonts, &names);
|
n = XFontsOfFontSet(dc->font.set, &xfonts, &names);
|
||||||
for(i = dc->font.ascent = dc->font.descent = 0; i < n; i++) {
|
else if((dc->font.xfont = XLoadQueryFont(dc->dpy, fontstr)))
|
||||||
|
xfonts = &dc->font.xfont;
|
||||||
|
else
|
||||||
|
n = 0;
|
||||||
|
|
||||||
|
for(i = 0; i < n; i++) {
|
||||||
dc->font.ascent = MAX(dc->font.ascent, xfonts[i]->ascent);
|
dc->font.ascent = MAX(dc->font.ascent, xfonts[i]->ascent);
|
||||||
dc->font.descent = MAX(dc->font.descent, xfonts[i]->descent);
|
dc->font.descent = MAX(dc->font.descent, xfonts[i]->descent);
|
||||||
}
|
dc->font.width = MAX(dc->font.width, xfonts[i]->max_bounds.width);
|
||||||
}
|
|
||||||
else if((dc->font.xfont = XLoadQueryFont(dc->dpy, fontstr))) {
|
|
||||||
dc->font.ascent = dc->font.xfont->ascent;
|
|
||||||
dc->font.descent = dc->font.xfont->descent;
|
|
||||||
}
|
}
|
||||||
if(missing)
|
if(missing)
|
||||||
XFreeStringList(missing);
|
XFreeStringList(missing);
|
||||||
|
|
Loading…
Reference in New Issue