fix font width calculations
This commit is contained in:
		
							
								
								
									
										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; | ||||||
| } | } | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user