fix font width calculations
This commit is contained in:
parent
4a114392bb
commit
a9ca2473fd
2
drw.c
2
drw.c
@ -379,7 +379,7 @@ unsigned int
|
|||||||
drw_fontset_getwidth(Drw *drw, const char *text) {
|
drw_fontset_getwidth(Drw *drw, const char *text) {
|
||||||
if (!drw || !drw->fonts || !text)
|
if (!drw || !drw->fonts || !text)
|
||||||
return 0;
|
return 0;
|
||||||
return drw_text(drw, 0, 0, 0, 0, text, 0) + drw->fonts->h;
|
return drw_text(drw, 0, 0, 0, 0, text, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
7
sent.c
7
sent.c
@ -312,17 +312,18 @@ void pngdraw(Image *img)
|
|||||||
void getfontsize(char *str, unsigned int *width, unsigned int *height)
|
void getfontsize(char *str, unsigned int *width, unsigned int *height)
|
||||||
{
|
{
|
||||||
size_t i;
|
size_t i;
|
||||||
size_t len = strlen(str);
|
|
||||||
|
|
||||||
for (i = 0; i < NUMFONTSCALES; i++) {
|
for (i = 0; i < NUMFONTSCALES; i++) {
|
||||||
drw_setfontset(d, fonts[i]);
|
drw_setfontset(d, fonts[i]);
|
||||||
drw_font_getexts(fonts[i], str, len, width, height);
|
*height = fonts[i]->h;
|
||||||
|
*width = drw_fontset_getwidth(d, str);
|
||||||
if (*width > xw.uw || *height > xw.uh)
|
if (*width > xw.uw || *height > xw.uh)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (i > 0) {
|
if (i > 0) {
|
||||||
drw_setfontset(d, fonts[i-1]);
|
drw_setfontset(d, fonts[i-1]);
|
||||||
drw_font_getexts(fonts[i-1], str, len, width, height);
|
*height = fonts[i-1]->h;
|
||||||
|
*width = drw_fontset_getwidth(d, str);
|
||||||
}
|
}
|
||||||
*width += d->fonts->h;
|
*width += d->fonts->h;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user