aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/fontsrv/osx.c
diff options
context:
space:
mode:
authorPetter Rodhelind <petter.rodhelind@gmail.com>2018-04-20 19:39:01 +0200
committerPetter Rodhelind <petter.rodhelind@gmail.com>2018-04-20 19:39:01 +0200
commit79223bb49d950dc6236b6c79c37fea787e40ba5c (patch)
treebb85b2a21fa74e8792704b056cc163c38fcc55c2 /src/cmd/fontsrv/osx.c
parentc04683ef3aa6e9f42fb279025f231b06b17191f4 (diff)
parent03a8ec739af17bc4ba0a2e18ea59b33671c34f2b (diff)
downloadplan9port-79223bb49d950dc6236b6c79c37fea787e40ba5c.tar.gz
plan9port-79223bb49d950dc6236b6c79c37fea787e40ba5c.tar.bz2
plan9port-79223bb49d950dc6236b6c79c37fea787e40ba5c.zip
Merge remote-tracking branch 'upstream/master'
Diffstat (limited to 'src/cmd/fontsrv/osx.c')
-rw-r--r--src/cmd/fontsrv/osx.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/cmd/fontsrv/osx.c b/src/cmd/fontsrv/osx.c
index f48f5b49..4d969290 100644
--- a/src/cmd/fontsrv/osx.c
+++ b/src/cmd/fontsrv/osx.c
@@ -30,7 +30,7 @@ mapUnicode(char *name, int i)
{
int j;
- if(0xd800 <= i && i < 0xe0000) // surrogate pairs, will crash OS X libraries!
+ if(0xd800 <= i && i < 0xe000) // surrogate pairs, will crash OS X libraries!
return 0xfffd;
for(j=0; j<nelem(skipquotemap); j++) {
if(strstr(name, skipquotemap[j]))
@@ -104,6 +104,7 @@ static char *lines[] = {
"ABCDEFGHIJKLMNOPQRSTUVWXYZ",
"abcdefghijklmnopqrstuvwxyz",
"g",
+ "┌┬┐├┼┤└┴┘│─",
"ὕαλον ϕαγεῖν δύναμαι· τοῦτο οὔ με βλάπτει.",
"私はガラスを食べられます。それは私を傷つけません。",
"Aš galiu valgyti stiklą ir jis manęs nežeidžia",
@@ -234,7 +235,7 @@ mksubfont(XFont *f, char *name, int lo, int hi, int size, int antialias)
bbox = CTFontGetBoundingBox(font);
- x = (int)(bbox.size.width + 0.99999999);
+ x = (int)(bbox.size.width*2 + 0.99999999);
fontheight(f, size, &height, &ascent);
y = height;
@@ -244,8 +245,10 @@ mksubfont(XFont *f, char *name, int lo, int hi, int size, int antialias)
if(m == nil)
return nil;
mc = allocmemimage(Rect(0, 0, x+1, y+1), GREY8);
- if(mc == nil)
+ if(mc == nil){
+ freememimage(m);
return nil;
+ }
memfillcolor(m, DBlack);
memfillcolor(mc, DBlack);
fc = malloc((hi+2 - lo) * sizeof fc[0]);
@@ -343,6 +346,7 @@ mksubfont(XFont *f, char *name, int lo, int hi, int size, int antialias)
m1 = allocmemimage(Rect(0, 0, x, y), antialias ? GREY8 : GREY1);
memimagedraw(m1, m1->r, m, m->r.min, memopaque, ZP, S);
freememimage(m);
+ freememimage(mc);
sf->name = nil;
sf->n = hi+1 - lo;