[gs-commits] ghostpdl branch, master, updated. ghostpdl-9.02-1032-ga107514
Chris Liddell
chrisl at ghostscript.com
Wed Mar 28 16:09:19 UTC 2012
The ghostpdl branch, master has been updated
via a1075141f25f7bf38bf372f9ccc65dfd9c0c8baa (commit)
from 5b50a46f4ed3e54fec6727a1ad52258e5d32b0a9 (commit)
----------------------------------------------------------------------
commit a1075141f25f7bf38bf372f9ccc65dfd9c0c8baa
Author: Chris Liddell <chris.liddell at artifex.com>
Date: Wed Mar 28 17:03:25 2012 +0100
Bug 692950: further revise falling back to unhinted rendering.
In the FAPI/FT interface, we caught some errors from Freetype to do with the
byte code hinting in TrueType fonts - when they occur we retry the glyph
rendering with hinting disabled.
This commit expands that to *any* error from the byte code interpreter will
now cause us to retry unhinted.
(the core problem in this case seems to be scale depending operations in the
font program, which is supposed not to be permitted).
No cluster differences.
diff --git a/gs/psi/fapi_ft.c b/gs/psi/fapi_ft.c
index 2f24eee..c6f1168 100644
--- a/gs/psi/fapi_ft.c
+++ b/gs/psi/fapi_ft.c
@@ -562,10 +562,11 @@ load_glyph(FAPI_server *a_server, FAPI_font *a_fapi_font, const FAPI_char_ref *a
}
}
- if (ft_error == FT_Err_Too_Many_Hints || ft_error == FT_Err_Invalid_Argument
- || ft_error == FT_Err_Too_Many_Function_Defs || ft_error == FT_Err_Invalid_Glyph_Index
- || ft_error == FT_Err_Invalid_Reference) {
+ if (ft_error == FT_Err_Invalid_Argument || ft_error == FT_Err_Invalid_Glyph_Index
+ || (ft_error >= FT_Err_Invalid_Opcode && ft_error <= FT_Err_Too_Many_Instruction_Defs)) {
+
a_fapi_font->char_data = saved_char_data;
+
/* We want to prevent hinting, even for a "tricky" font - it shouldn't matter for the notdef */
fflags = ft_face->face_flags;
ft_face->face_flags &= ~FT_FACE_FLAG_TRICKY;
Summary of changes:
gs/psi/fapi_ft.c | 7 ++++---
1 files changed, 4 insertions(+), 3 deletions(-)
More information about the gs-commits
mailing list