b211be496cb00c0899c46fa90d70181efe41bef6
jcasper
  Mon Feb 6 16:20:57 2023 -0800
Removing EPS output links for hgTracks/hgGenome, refs #30606

diff --git src/hg/hgTracks/hgTracks.c src/hg/hgTracks/hgTracks.c
index eb61e9f..b01cb43 100644
--- src/hg/hgTracks/hgTracks.c
+++ src/hg/hgTracks/hgTracks.c
@@ -5789,30 +5789,32 @@
     errAbortSetDoContentType(FALSE);
     jsonObjectAdd(json, "track", newJsonString(cartString(cart, "hgt.trackNameFilter")));
     jsonObjectAdd(json, "height", newJsonNumber(pixHeight));
     jsonObjectAdd(json, "width", newJsonNumber(pixWidth));
     jsonObjectAdd(json, "img", newJsonString(pngTn.forHtml));
     printf("%s(", cartString(cart, "jsonp"));
     hPrintEnable();
     jsonPrint((struct jsonElement *) json, NULL, 0);
     hPrintDisable();
     printf(")\n");
     return;
     }
 else if(sameString(type, "png") || sameString(type, "pdf") || sameString(type, "eps"))
     {
     // following code bypasses html and return png's directly - see redmine 4888
+    // NB: Pretty sure the pdf and eps options here are never invoked.  I don't see any
+    // calls that would activate eps output, and pdf is locked behind an unused ifdef
     char *file;
     if(sameString(type, "pdf"))
         {
         printf("Content-Disposition: filename=hgTracks.pdf\nContent-Type: application/pdf\n\n");
         file = convertEpsToPdf(psOutput);
         unlink(psOutput);
         }
     else if(sameString(type, "eps"))
         {
         printf("Content-Disposition: filename=hgTracks.eps\nContent-Type: application/eps\n\n");
         file = psOutput;
         }
     else
         {
         printf("Content-Disposition: filename=hgTracks.png\nContent-Type: image/png\n\n");
@@ -9553,38 +9555,35 @@
 
 pdfFile = convertEpsToPdf(psTn.forCgi);
 if (strlen(ideoPsTn.forCgi))
     ideoPdfFile = convertEpsToPdf(ideoPsTn.forCgi);
 if (pdfFile != NULL)
     {
     printf("<UL style=\"margin-top:5px;\">\n");
     printf("<LI>Download <A TARGET=_blank HREF=\"%s\">"
        "the current browser graphic in PDF</A>\n", pdfFile);
     if (ideoPdfFile != NULL)
         printf("<LI>Download <A TARGET=_blank HREF=\"%s\">"
                "the current chromosome ideogram in PDF</A>\n", ideoPdfFile);
     printf("</UL>\n");
     freez(&pdfFile);
     freez(&ideoPdfFile);
-    // postscript
-    printf("EPS (Postscript) images are a variant of PDF and easier to import into some "
-            "drawing programs.\n");
-    printf("<UL style=\"margin-top: 5px;\">\n");
-    printf("<LI>Download <A HREF=\"%s\">the current browser graphic in EPS</A>", psTn.forCgi);
-    if (strlen(ideoPsTn.forCgi))
-        printf("<LI>Download <A HREF=\"%s\">the current chromosome ideogram in EPS</A>", ideoPsTn.forCgi);
-    printf("</UL>\n");
+
+    printf("EPS (PostScript) output has been discontinued in pursuit of additional features\n");
+    printf("that are not PostScript-compatible.  If you require PostScript output for your\n");
+    printf("workflow, please <a href='https://genome.ucsc.edu/contacts.html'>reach out to us</a>\n");
+    printf("and let us know what your needs are - we may be able to help.\n");
 
     // see redmine #1077
     printf("<div style=\"margin-top:15px\">Tips for producing quality images for publication:</div>\n");
     printf("<UL style=\"margin-top:0px\">\n");
     printf("<LI>Add assembly name and chromosome range to the image on the\n"
         "<A HREF=\"hgTrackUi?g=ruler\">configuration page of the base position track</A>.\n");
     printf("<LI>If using the UCSC Genes track, consider showing only one transcript per gene by turning off splice variants on the track configuration page.\n");
     printf("<LI>Increase the font size and remove the light blue vertical guidelines in the \n"
         "<A HREF=\"hgTracks?hgTracksConfigPage=configure\">image configuration menu</A>.");
     printf("<LI>In the image configuration menu, change the size of the image,\n"
             "to make it look more square.\n");
     printf("</UL>\n");
     printf("</div>\n");