]> granicus.if.org Git - imagemagick/commitdiff
Only reference PS fonts if the image includes labels
authorCristy <urban-warrior@imagemagick.org>
Thu, 15 Dec 2016 13:09:35 +0000 (08:09 -0500)
committerCristy <urban-warrior@imagemagick.org>
Thu, 15 Dec 2016 13:09:35 +0000 (08:09 -0500)
coders/ps.c
coders/ps2.c

index 1e6d321014b7f44c692cbb8666fbe82710379925..5d2d063cbfbb155dbeb553918b101a4855dc4140 100644 (file)
@@ -1439,7 +1439,6 @@ static MagickBooleanType WritePSImage(const ImageInfo *image_info,Image *image,
       "  token pop /y exch def pop",
       "  currentfile buffer readline pop",
       "  token pop /pointsize exch def pop",
-      "  /Times-Roman findfont pointsize scalefont setfont",
       (const char *) NULL
     },
     *const PostscriptEpilog[]=
@@ -1810,13 +1809,18 @@ RestoreMSCWarning
         }
         value=GetImageProperty(image,"label",exception);
         if (value != (const char *) NULL)
-          for (j=(ssize_t) MultilineCensus(value)-1; j >= 0; j--)
           {
-            (void) WriteBlobString(image,"  /label 512 string def\n");
-            (void) WriteBlobString(image,"  currentfile label readline pop\n");
-            (void) FormatLocaleString(buffer,MagickPathExtent,
-              "  0 y %g add moveto label show pop\n",j*pointsize+12);
-            (void) WriteBlobString(image,buffer);
+            (void) WriteBlobString(image,
+              "  /Times-Roman findfont pointsize scalefont setfont\n");
+            for (j=(ssize_t) MultilineCensus(value)-1; j >= 0; j--)
+            {
+              (void) WriteBlobString(image,"  /label 512 string def\n");
+              (void) WriteBlobString(image,
+                "  currentfile label readline pop\n");
+              (void) FormatLocaleString(buffer,MagickPathExtent,
+                "  0 y %g add moveto label show pop\n",j*pointsize+12);
+              (void) WriteBlobString(image,buffer);
+            }
           }
         for (s=PostscriptEpilog; *s != (char *) NULL; s++)
         {
index f4105d98125c711de9a0d341a03eb54efddc506c..04f404e90e8f0b9adcf418e0d26380572a87f19a 100644 (file)
@@ -357,7 +357,6 @@ static MagickBooleanType WritePS2Image(const ImageInfo *image_info,Image *image,
       "  token pop /y exch def pop",
       "  currentfile buffer readline pop",
       "  token pop /pointsize exch def pop",
-      "  /Helvetica findfont pointsize scalefont setfont",
       (const char *) NULL
     },
     *const PostscriptEpilog[]=
@@ -657,13 +656,18 @@ static MagickBooleanType WritePS2Image(const ImageInfo *image_info,Image *image,
         }
         value=GetImageProperty(image,"label",exception);
         if (value != (const char *) NULL)
-          for (j=(ssize_t) MultilineCensus(value)-1; j >= 0; j--)
           {
-            (void) WriteBlobString(image,"  /label 512 string def\n");
-            (void) WriteBlobString(image,"  currentfile label readline pop\n");
-            (void) FormatLocaleString(buffer,MagickPathExtent,
-              "  0 y %g add moveto label show pop\n",j*pointsize+12);
-            (void) WriteBlobString(image,buffer);
+            (void) WriteBlobString(image,
+              "  /Helvetica findfont pointsize scalefont setfont\n");
+            for (j=(ssize_t) MultilineCensus(value)-1; j >= 0; j--)
+            {
+              (void) WriteBlobString(image,"  /label 512 string def\n");
+              (void) WriteBlobString(image,
+                "  currentfile label readline pop\n");
+              (void) FormatLocaleString(buffer,MagickPathExtent,
+                "  0 y %g add moveto label show pop\n",j*pointsize+12);
+              (void) WriteBlobString(image,buffer);
+            }
           }
         for (q=PostscriptEpilog; *q; q++)
         {
@@ -693,7 +697,7 @@ static MagickBooleanType WritePS2Image(const ImageInfo *image_info,Image *image,
       bounds.y2=(double) geometry.y+(geometry.height+text_size)-1;
     value=GetImageProperty(image,"label",exception);
     if (value != (const char *) NULL)
-      (void) WriteBlobString(image,"%%PageResources: font Times-Roman\n");
+      (void) WriteBlobString(image,"%%PageResources: font Helvetica\n");
     if (LocaleCompare(image_info->magick,"PS2") != 0)
       (void) WriteBlobString(image,"userdict begin\n");
     start=TellBlob(image);