packages: ghostscript/ghostscript.spec, ghostscript/ghostscript-git.patch (...

arekm arekm at pld-linux.org
Tue Jul 12 22:15:39 CEST 2011


Author: arekm                        Date: Tue Jul 12 20:15:39 2011 GMT
Module: packages                      Tag: HEAD
---- Log message:
- rel 3; fix Error: Font Renderer Plugin ( FreeType ) return code = -1 from git

---- Files affected:
packages/ghostscript:
   ghostscript.spec (1.206 -> 1.207) , ghostscript-git.patch (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: packages/ghostscript/ghostscript.spec
diff -u packages/ghostscript/ghostscript.spec:1.206 packages/ghostscript/ghostscript.spec:1.207
--- packages/ghostscript/ghostscript.spec:1.206	Tue Jun 14 22:25:58 2011
+++ packages/ghostscript/ghostscript.spec	Tue Jul 12 22:15:34 2011
@@ -18,7 +18,7 @@
 Summary(tr.UTF-8):	PostScript & PDF yorumlayıcı ve gösterici
 Name:		ghostscript
 Version:	9.02
-Release:	2
+Release:	3
 License:	GPL v3+
 Group:		Applications/Graphics
 Source0:	http://downloads.sourceforge.net/ghostscript/%{name}-%{version}.tar.bz2
@@ -31,6 +31,7 @@
 Patch5:		%{name}-cups-sh.patch
 Patch6:		%{name}-gdevcd8-fixes.patch
 Patch7:		%{name}-fPIC.patch
+Patch8:		%{name}-git.patch
 URL:		http://www.ghostscript.com/
 BuildRequires:	autoconf >= 2.57
 BuildRequires:	automake >= 1.6
@@ -188,6 +189,7 @@
 %patch5 -p1
 %patch6 -p1
 %patch7 -p1
+%patch8 -p2
 
 %build
 %if %{with system_jbig2dec}
@@ -406,6 +408,9 @@
 All persons listed below can be reached at <cvs_login>@pld-linux.org
 
 $Log$
+Revision 1.207  2011/07/12 20:15:34  arekm
+- rel 3; fix Error: Font Renderer Plugin ( FreeType ) return code = -1 from git
+
 Revision 1.206  2011/06/14 20:25:58  arekm
 ... and pdftoraster
 

================================================================
Index: packages/ghostscript/ghostscript-git.patch
diff -u /dev/null packages/ghostscript/ghostscript-git.patch:1.1
--- /dev/null	Tue Jul 12 22:15:39 2011
+++ packages/ghostscript/ghostscript-git.patch	Tue Jul 12 22:15:34 2011
@@ -0,0 +1,56 @@
+commit e784a5443d0bee380d1ad32055ad3075e3aa0995
+Author: Chris Liddell <chris.liddell at artifex.com>
+Date:   Mon May 2 14:32:18 2011 +0100
+
+    Change error return to remove confusion over meaning.
+    
+    When we encounter a font whose charstring has been replaced with a PS
+    procedure, we were returning FT_Err_Invalid_File_Format, and using that
+    as a hint we should try to execute it as a PS procedure. This
+    turns out to be problematic as it is also the error return generated by
+    Freetype for an invalid charstring. In the case of an invalid charstring
+    we should fall back to the notdef, not attempt to execute the object as
+    Postscript.
+    
+    So, change the error return value that *we* generate, and subsequently
+    check for, to FT_Err_Unknown_File_Format, which FT should never,
+    normally, generate during glyph interpretation. This means, in this
+    case, we correctly identify a failed attempt to interpret a charstring,
+    and use the notdef fallback - instead of, eventually, throwing an
+    error.
+    
+    Bug 692176.
+    
+    No cluster differences expected.
+
+diff --git a/gs/psi/fapi_ft.c b/gs/psi/fapi_ft.c
+index a420a84..f3c656a 100644
+--- a/gs/psi/fapi_ft.c
++++ b/gs/psi/fapi_ft.c
+@@ -227,7 +227,7 @@ get_fapi_glyph_data(FT_Incremental a_info, FT_UInt a_index, FT_Data *a_data)
+        length = ff->get_glyph(ff, a_index, a_info->glyph_data, (ushort)a_info->glyph_data_length);
+        if (length == -1) {
+            ff->char_data = saved_char_data;
+-           return FT_Err_Invalid_File_Format;
++           return FT_Err_Unknown_File_Format;
+        }
+ 
+        /* If the buffer was too small enlarge it and try again. */
+@@ -246,7 +246,7 @@ get_fapi_glyph_data(FT_Incremental a_info, FT_UInt a_index, FT_Data *a_data)
+             ff->char_data = saved_char_data;
+             length = ff->get_glyph(ff, a_index, a_info->glyph_data, length);
+             if (length == -1)
+-                return FT_Err_Invalid_File_Format;
++                return FT_Err_Unknown_File_Format;
+         }
+ 
+         /* Set the returned pointer and length. */
+@@ -435,7 +435,7 @@ load_glyph(FAPI_font *a_fapi_font, const FAPI_char_ref *a_char_ref,
+         else {
+             /* Current FreeType hinting for type 1 fonts is so poor we are actually better off without it (fewer files render incorrectly) (FT_LOAD_NO_HINTING) */
+             ft_error = FT_Load_Glyph(ft_face, index, FT_LOAD_MONOCHROME | FT_LOAD_NO_HINTING | FT_LOAD_NO_BITMAP | FT_LOAD_LINEAR_DESIGN);
+-            if (ft_error == FT_Err_Invalid_File_Format) 
++            if (ft_error == FT_Err_Unknown_File_Format)
+                 return index+1;
+         }
+     }
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/ghostscript/ghostscript.spec?r1=1.206&r2=1.207&f=u



More information about the pld-cvs-commit mailing list