From 76b522bc5aac82f7d1c0e3433f1620a7a192bdad Mon Sep 17 00:00:00 2001 From: Ben Harris Date: Sat, 9 Dec 2006 14:44:47 +0000 Subject: Correct embedding of Type 1 fonts in PDF. Error cases (e.g. invalid Type 1 fonts) may not be well handled, and may emit invalid PDF. [originally from svn r6974] --- error.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'error.c') diff --git a/error.c b/error.c index dfe65e3..2dae220 100644 --- a/error.c +++ b/error.c @@ -315,6 +315,27 @@ static void do_error(int code, va_list ap) { sprintf(error, "AFM key '%.200s' requires %d values", sp, i); flags = FILEPOS; break; + case err_pfeof: + fpos = *va_arg(ap, filepos *); + sprintf(error, "Type 1 font file ended unexpectedly"); + flags = FILEPOS; + break; + case err_pfhead: + fpos = *va_arg(ap, filepos *); + sprintf(error, "Type 1 font file header line invalid"); + flags = FILEPOS; + break; + case err_pfbad: + fpos = *va_arg(ap, filepos *); + sprintf(error, "Type 1 font file invalid"); + flags = FILEPOS; + break; + case err_pfnoafm: + fpos = *va_arg(ap, filepos *); + sp = va_arg(ap, char *); + sprintf(error, "No metrics available for Type 1 font '%.200s'", sp); + flags = FILEPOS; + break; case err_whatever: sp = va_arg(ap, char *); vsprintf(error, sp, ap); -- cgit v1.1