git: 9front

Download patch

ref: 72a8af8a0d1405295f0901d30bee3b95ff239dd2
parent: 5ec4e04076757221808057aab6d5ac06b2c0939a
author: Sigrid Solveig Haflínudóttir <sigrid@ftrv.se>
date: Tue Mar 28 12:13:19 EDT 2023

truetypefs: fall back instead of crashing when could not get a glyph

--- a/sys/src/cmd/truetypefs.c
+++ b/sys/src/cmd/truetypefs.c
@@ -166,8 +166,10 @@
 			g = 0;
 		else
 			g = ttffindchar(t, s->start + i);
-		gs[i] = ttfgetglyph(t, g, 1);
-		w += gs[i]->width;
+		if((gs[i] = ttfgetglyph(t, g, 1)) == nil && g != 0)
+			gs[i] = ttfgetglyph(t, 0, 1);
+		assert(gs[i] != nil);
+	   w += gs[i]->width;
 	}
 	sz = 5 * 12 + (w+7>>3) * h + 3 * 12 + (n + 1) * 6;
 	d = emalloc(sz);
--