+2005-06-17 Martin Kretzschmar <martink@gnome.org>
+
+ * 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.
+
2005-06-17 Marco Pesenti Gritti <mpg@redhat.com>
* data/evince-properties.glade:
info = g_new0 (EvDocumentInfo, 1);
info->fields_mask = EV_DOCUMENT_INFO_TITLE |
+ EV_DOCUMENT_INFO_FORMAT |
+ EV_DOCUMENT_INFO_CREATOR |
EV_DOCUMENT_INFO_N_PAGES;
info->title = g_strdup (ps->doc->title);
+ info->format = ps->doc->epsf ? g_strdup (_("Encapsulated PostScript"))
+ : g_strdup (_("PostScript"));
+ info->creator = g_strdup (ps->doc->creator);
info->n_pages = ev_document_get_n_pages (document);
return info;
* 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:
*
* %!PS-Adobe-* [EPSF-*]
* %%BoundingBox: <int> <int> <int> <int>|(atend)
+ * %%Creator: <textline>
* %%CreationDate: <textline>
* %%Orientation: Portrait|Landscape|(atend)
* %%Pages: <uint> [<int>]|(atend)
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) {
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)
int epsf; /* Encapsulated PostScript flag. */
char *title; /* Title of document. */
char *date; /* Creation date. */
+ char *creator; /* Program that created the file */
int pageorder; /* ASCEND, DESCEND, SPECIAL */
long beginheader, endheader; /* offsets into file */
unsigned int lenheader;