]> granicus.if.org Git - graphviz/commitdiff
Fix core ps driver to use the new ps_string API, and wrap the root URL in parens...
authorEmden R. Gansner <erg@alum.mit.edu>
Fri, 24 Jan 2014 16:00:08 +0000 (11:00 -0500)
committerEmden R. Gansner <erg@alum.mit.edu>
Fri, 24 Jan 2014 16:00:08 +0000 (11:00 -0500)
postscript;
handle base url and chars using ps_string. (The anchors were not being generated as ps strings.)

plugin/core/gvrender_core_ps.c
plugin/lasi/gvrender_lasi.cpp

index d0938123ff605501a0ae542f6ea50ec95f352885..a96fbf03ad3be2648521571836412da4604de7cb 100644 (file)
@@ -97,7 +97,7 @@ static void psgen_begin_graph(GVJ_t * job)
             cat_libfile(job, NULL, args);
         }
     }
-    isLatin1 = (GD_charset(obj->u.g) == CHAR_LATIN1);
+    isLatin1 = (GD_charset(obj->u.g) == CHAR_LATIN1 ? CHAR_LATIN1 : -1);
     /* We always setup Latin1. The charset info is always output,
      * and installing it is cheap. With it installed, we can then
      * rely on ps_string to convert UTF-8 characters whose encoding
@@ -110,8 +110,8 @@ static void psgen_begin_graph(GVJ_t * job)
     }
     /*  Set base URL for relative links (for Distiller >= 3.0)  */
     if (obj->url)
-       gvprintf(job, "[ {Catalog} << /URI << /Base (%s) >> >>\n"
-               "/PUT pdfmark\n", obj->url);
+       gvprintf(job, "[ {Catalog} << /URI << /Base %s >> >>\n"
+               "/PUT pdfmark\n", ps_string(obj->url,isLatin1));
 }
 
 static void psgen_begin_layer(GVJ_t * job, char *layername, int layerNum, int numLayers)
index 87d8807c0b01b1a333bcf284718fff5af3470566..e6dd0d146ae17329e943cf52a78c26b8a5577f90 100644 (file)
@@ -25,6 +25,7 @@
 #include "gvio.h"
 #include "gvcint.h"
 #include "agxbuf.h"
+#include "const.h"
 #include "utils.h"
 #include "ps.h"
 
@@ -172,8 +173,8 @@ static void lasi_begin_graph(GVJ_t * job)
 //    }
     /*  Set base URL for relative links (for Distiller >= 3.0)  */
     if (obj->url)
-       gvprintf(job, "[ {Catalog} << /URI << /Base (%s) >> >>\n"
-               "/PUT pdfmark\n", obj->url);
+       gvprintf(job, "[ {Catalog} << /URI << /Base %s >> >>\n"
+               "/PUT pdfmark\n", ps_string(obj->url, CHAR_UTF8));
 }
 
 static void lasi_begin_layer(GVJ_t * job, char *layername, int layerNum, int numLayers)
@@ -276,8 +277,7 @@ static void lasi_begin_anchor(GVJ_t *job, char *url, char *tooltip, char *target
                "  /Action << /Subtype /URI /URI %s >>\n"
                "  /Subtype /Link\n"
                "/ANN pdfmark\n",
-//             ps_string(url, isLatin1));
-               url);
+               ps_string(url, CHAR_UTF8));
     }
 }