From 97bfa85d313ea1bd867ef3b37e1e2b7355a00706 Mon Sep 17 00:00:00 2001 From: Martin Kretzschmar Date: Fri, 17 Jun 2005 13:33:00 +0000 Subject: read "Creator:" comment, free creator field if necessary. * ps/ps.c (psscan, psfree): read "Creator:" comment, free creator field if necessary. * ps/ps.h: add creator field to document. * ps/ps-document.c (ps_document_get_info): set format to PostScript, set creator field. --- (limited to 'ps/ps.c') diff --git a/ps/ps.c b/ps/ps.c index c95c815..e79fb06 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) @@ -348,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) { @@ -1155,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) -- cgit v0.9.1