X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;f=ps%2Fps.c;h=e79fb0631957dab61aff8fe589d175995477d829;hb=73aa6f5da16527a89d0c89a10020b92cba755a15;hp=693cc375cefc4506cf5624111692495d15b3d970;hpb=b30d106163b2b06b7f7193a0da766835984341f2;p=evince.git diff --git a/ps/ps.c b/ps/ps.c index 693cc375..e79fb063 100644 --- a/ps/ps.c +++ b/ps/ps.c @@ -133,7 +133,7 @@ pages_new(struct page *pages, int current, int maxpages) * Page Size (for the Page Size), Bounding Box (to minimize backing * pixmap size or determine window size for encapsulated PostScript), * Orientation of Paper (for default transformation matrix), and - * Page Order. The title and CreationDate are also retrieved to + * Page Order. The Title, Creator, and CreationDate are also retrieved to * help identify the document. * * The following comments are examined: @@ -144,6 +144,7 @@ pages_new(struct page *pages, int current, int maxpages) * * %!PS-Adobe-* [EPSF-*] * %%BoundingBox: |(atend) + * %%Creator: * %%CreationDate: * %%Orientation: Portrait|Landscape|(atend) * %%Pages: []|(atend) @@ -322,18 +323,6 @@ psscan(FILE * file, int respect_eof, const gchar * fname) In a way, this makes sense, a program PostScript does not need the !PS at the beginning. */ - /* use a test command to determine if ghostscript can - understand this document! */ - gchar *test_cmd; - - test_cmd = g_strdup_printf - ("%s -dNOPAUSE -dBATCH -sDEVICE=nullpage %s " - "1>/dev/null 2>/dev/null", gtk_gs_defaults_get_interpreter_cmd(), fname); - if(system(test_cmd) != 0) { - g_free(test_cmd); - return NULL; - } - g_free(test_cmd); doc = g_new0(struct document, 1); doc->default_page_orientation = GTK_GS_ORIENTATION_NONE; doc->orientation = GTK_GS_ORIENTATION_NONE; @@ -360,6 +349,9 @@ psscan(FILE * file, int respect_eof, const gchar * fname) else if(doc->date == NULL && iscomment(line + 2, "CreationDate:")) { doc->date = gettextline(line + length("%%CreationDate:")); } + else if(doc->creator == NULL && iscomment(line + 2, "Creator:")) { + doc->creator = gettextline(line + length("%%Creator:")); + } else if(bb_set == NONE && iscomment(line + 2, "BoundingBox:")) { sscanf(line + length("%%BoundingBox:"), "%256s", text); if(strcmp(text, "(atend)") == 0) { @@ -1167,6 +1159,8 @@ psfree(doc) g_free(doc->title); if(doc->date) g_free(doc->date); + if(doc->creator) + g_free(doc->creator); if(doc->pages) g_free(doc->pages); if(doc->size)