diff options
Diffstat (limited to 'src/libdraw/openfont.c')
-rw-r--r-- | src/libdraw/openfont.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/libdraw/openfont.c b/src/libdraw/openfont.c index 892f7f61..ae1462d4 100644 --- a/src/libdraw/openfont.c +++ b/src/libdraw/openfont.c @@ -9,10 +9,15 @@ Font* openfont(Display *d, char *name) { Font *fnt; - int fd, i, n; + int fd, i, n, scale; char *buf, *nambuf; nambuf = 0; + scale = 1; + if('1' <= name[0] && name[0] <= '9' && name[1] == '*') { + scale = name[0] - '0'; + name += 2; + } fd = open(name, OREAD); if(fd < 0 && strncmp(name, "/lib/font/bit/", 14) == 0){ @@ -54,6 +59,12 @@ openfont(Display *d, char *name) fnt = buildfont(d, buf, name); free(buf); free(nambuf); + if(scale != 1) { + fnt->scale = scale; + fnt->height *= scale; + fnt->ascent *= scale; + fnt->width *= scale; + } return fnt; } |