[Pkg-cups-devel] r824 - in cupsys/trunk/debian: . local/filters/pdf-filters/filter

Till Kamppeter till-guest at alioth.debian.org
Fri Aug 15 08:07:13 UTC 2008


Author: till-guest
Date: Fri Aug 15 08:07:12 2008
New Revision: 824

Log:
Upstream update of texttopdf filter, removed s/Courier/FreeMono/ patch in texttopdf.


Modified:
   cupsys/trunk/debian/changelog
   cupsys/trunk/debian/local/filters/pdf-filters/filter/texttopdf.c

Modified: cupsys/trunk/debian/changelog
==============================================================================
--- cupsys/trunk/debian/changelog	(original)
+++ cupsys/trunk/debian/changelog	Fri Aug 15 08:07:12 2008
@@ -1,3 +1,13 @@
+cups (1.3.8-5) UNRELEASED; urgency=low
+
+  [ Till Kamppeter ]
+  * debian/local/filters/pdf-filters/filter/texttopdf.c: Added bug fix
+    from upstream so that texttopdf does not segfault on missing or bad
+    fonts any more. Backed out Johan Kiviniemi's patch of replacing
+    Courier by FreeMono.
+
+ -- Martin Pitt <mpitt at debian.org>  Fri, 15 Aug 2008 10:02:32 +0200
+
 cups (1.3.8-4) experimental; urgency=low
 
   [ Till Kamppeter ]

Modified: cupsys/trunk/debian/local/filters/pdf-filters/filter/texttopdf.c
==============================================================================
--- cupsys/trunk/debian/local/filters/pdf-filters/filter/texttopdf.c	(original)
+++ cupsys/trunk/debian/local/filters/pdf-filters/filter/texttopdf.c	Fri Aug 15 08:07:12 2008
@@ -61,7 +61,10 @@
   snprintf(filename, sizeof(filename), "%s/fonts/%s", datadir, font);
 
   OTF_FILE *otf=otf_load(filename);
-  assert(otf);
+  if (!otf) {
+    // TODO: try /usr/share/fonts/*/*/%s.ttf
+    return NULL;
+  }
   struct _FONTFILE *ff=malloc(sizeof(struct _FONTFILE));
   assert(ff);
   ff->sfnt=otf; // TODO
@@ -520,11 +523,19 @@
 
             if (k==num_fonts) {  // not found
 	      fonts[num_fonts] = Fonts[NumFonts][i] = font_load(datadir,valptr);
+              if (!fonts[num_fonts]) { // font missing/corrupt, replace by first
+                break;
+              }
               fontnames[num_fonts++] = strdup(valptr);
             }
           }
 	}
 
+        /* ignore complete range, when the first font is not available */
+        if (i==0) {
+          continue;
+        }
+
        /*
 	* Fill in remaining fonts as needed...
 	*/
@@ -737,16 +748,16 @@
   else // {{{ Standard ASCII
   {
    /*
-    * Standard ASCII output just uses FreeMono, FreeMono-Bold, and
-    * possibly FreeMono-Oblique.
+    * Standard ASCII output just uses Courier, Courier-Bold, and
+    * possibly Courier-Oblique.
     */
 
     NumFonts = 1;
 
-    Fonts[0][ATTR_NORMAL]     = font_load(datadir,"FreeMono.ttf");
-    Fonts[0][ATTR_BOLD]       = font_load(datadir,"FreeMonoBold.ttf");
-    Fonts[0][ATTR_ITALIC]     = font_load(datadir,"FreeMonoOblique.ttf");
-    Fonts[0][ATTR_BOLDITALIC] = font_load(datadir,"FreeMonoBoldOblique.ttf");
+    Fonts[0][ATTR_NORMAL]     = font_load(datadir,"Courier");
+    Fonts[0][ATTR_BOLD]       = font_load(datadir,"Courier-Bold");
+    Fonts[0][ATTR_ITALIC]     = font_load(datadir,"Courier-Oblique");
+    Fonts[0][ATTR_BOLDITALIC] = font_load(datadir,"Courier-BoldOblique");
 
     Widths[0]     = 1;
     Directions[0] = 1;



More information about the Pkg-cups-devel mailing list