aboutsummaryrefslogtreecommitdiff
path: root/src/libdraw/openfont.c
diff options
context:
space:
mode:
authorRuss Cox <rsc@swtch.com>2015-02-17 00:57:10 -0500
committerRuss Cox <rsc@swtch.com>2015-02-17 05:58:37 +0000
commit77f23268f7073b254e91748d4764768bab6d6f1f (patch)
tree5b4128cb14c9d587d3f1567c2ae11b0a36cbb55a /src/libdraw/openfont.c
parent32dc15fa62d94c88f0b62bfe4d64ba60fe1733a6 (diff)
downloadplan9port-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.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;
}