From 5527360cf7e5b68a1954874c82128690ed7df488 Mon Sep 17 00:00:00 2001 From: Ben Harris Date: Sun, 2 Dec 2007 18:38:31 +0000 Subject: Cope with TrueType fonts with slightly broken cmaps, just ignoring code points that can't be resolved (apart from warning about it). [originally from svn r7800] --- error.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'error.c') diff --git a/error.c b/error.c index b6c2007..2a2c6cd 100644 --- a/error.c +++ b/error.c @@ -18,7 +18,7 @@ static void do_error(int code, va_list ap) { char c; int i, j; char *sp, *sp2; - wchar_t *wsp, *wsp2; + wchar_t *wsp, *wsp2, wc; filepos fpos, fpos2, *fposp; int flags = 0; @@ -374,6 +374,14 @@ static void do_error(int code, va_list ap) { sprintf(error, "font has an invalid header"); flags = FILEPOS; break; + case err_sfntbadglyph: + fpos = *va_arg(ap, filepos *); + wc = va_arg(ap, wchar_t); + sprintf(error, + "warning: character U+%04X references an non-existent glyph", + wc); + flags = FILEPOS; + break; case err_whatever: sp = va_arg(ap, char *); vsprintf(error, sp, ap); -- cgit v1.1