diff options
author | Russ Cox <rsc@swtch.com> | 2015-02-17 00:57:10 -0500 |
---|---|---|
committer | Russ Cox <rsc@swtch.com> | 2015-02-17 05:58:37 +0000 |
commit | 77f23268f7073b254e91748d4764768bab6d6f1f (patch) | |
tree | 5b4128cb14c9d587d3f1567c2ae11b0a36cbb55a /src/libdraw/openfont.c | |
parent | 32dc15fa62d94c88f0b62bfe4d64ba60fe1733a6 (diff) | |
download | plan9port-77f23268f7073b254e91748d4764768bab6d6f1f.tar.gz plan9port-77f23268f7073b254e91748d4764768bab6d6f1f.tar.bz2 plan9port-77f23268f7073b254e91748d4764768bab6d6f1f.zip |
libdraw: add 2*font syntax for scaled fonts
An experiment.
Change-Id: I40660a211b8372701597d80f7e86917e94cccbaa
Reviewed-on: https://plan9port-review.googlesource.com/1161
Reviewed-by: Russ Cox <rsc@swtch.com>
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; } |