aboutsummaryrefslogtreecommitdiff
path: root/src/libdraw/openfont.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libdraw/openfont.c')
-rw-r--r--src/libdraw/openfont.c13
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;
}