SHA256
1
0
forked from pool/cairo
cairo/cairo-pdf-fixes.patch

169 lines
6.2 KiB
Diff

From c7e87cd9df401f2c5a62534697d12a4e0afda2ce Mon Sep 17 00:00:00 2001
From: Kouhei Sutou <kou@clear-code.com>
Date: Wed, 4 Jan 2017 23:32:59 +0900
Subject: pdf: Remove duplicated item
diff --git a/src/cairo-pdf.h b/src/cairo-pdf.h
index 1e46a7c..74117f4 100644
--- a/src/cairo-pdf.h
+++ b/src/cairo-pdf.h
@@ -120,7 +120,6 @@ cairo_pdf_surface_add_outline (cairo_surface_t *surface,
* @CAIRO_PDF_METADATA_SUBJECT: The document subject (Since 1.16)
* @CAIRO_PDF_METADATA_KEYWORDS: The document keywords (Since 1.16)
* @CAIRO_PDF_METADATA_CREATOR: The document creator (Since 1.16)
- * @CAIRO_PDF_METADATA_TITLE: The document title (Since 1.16)
* @CAIRO_PDF_METADATA_CREATE_DATE: The document creation date (Since 1.16)
* @CAIRO_PDF_METADATA_MOD_DATE: The document modification date (Since 1.16)
*
--
cgit v0.10.2
From dd4706d0a9d123d3aa4284ac9ab35fbe165278b2 Mon Sep 17 00:00:00 2001
From: Kouhei Sutou <kou@clear-code.com>
Date: Wed, 4 Jan 2017 23:38:17 +0900
Subject: pdf: Fix wrong cairo_pdf_outline_flags_t item prefix
diff --git a/src/cairo-pdf-interchange.c b/src/cairo-pdf-interchange.c
index 18dd4d8..1fc8197 100644
--- a/src/cairo-pdf-interchange.c
+++ b/src/cairo-pdf-interchange.c
@@ -579,9 +579,9 @@ cairo_pdf_interchange_write_outline (cairo_pdf_surface_t *surface)
if (outline->flags) {
int flags = 0;
- if (outline->flags & CAIRO_BOOKMARK_FLAG_ITALIC)
+ if (outline->flags & CAIRO_PDF_OUTLINE_FLAG_ITALIC)
flags |= 1;
- if (outline->flags & CAIRO_BOOKMARK_FLAG_BOLD)
+ if (outline->flags & CAIRO_PDF_OUTLINE_FLAG_BOLD)
flags |= 2;
_cairo_output_stream_printf (surface->output,
" /F %d\n",
@@ -1338,7 +1338,7 @@ _cairo_pdf_interchange_add_outline (cairo_pdf_surface_t *surface,
/* Update Count */
outline = outline->parent;
while (outline) {
- if (outline->flags & CAIRO_BOOKMARK_FLAG_OPEN) {
+ if (outline->flags & CAIRO_PDF_OUTLINE_FLAG_OPEN) {
outline->count++;
} else {
outline->count--;
diff --git a/src/cairo-pdf.h b/src/cairo-pdf.h
index 74117f4..040c0ed 100644
--- a/src/cairo-pdf.h
+++ b/src/cairo-pdf.h
@@ -87,9 +87,9 @@ cairo_pdf_surface_set_size (cairo_surface_t *surface,
/**
* cairo_pdf_outline_flags_t:
- * @CAIRO_BOOKMARK_FLAG_OPEN: The outline item defaults to open in the PDF viewer (Since 1.16)
- * @CAIRO_BOOKMARK_FLAG_BOLD: The outline item is displayed by the viewer in bold text (Since 1.16)
- * @CAIRO_BOOKMARK_FLAG_ITALIC: The outline item is displayed by the viewer in italic text (Since 1.16)
+ * @CAIRO_PDF_OUTLINE_FLAG_OPEN: The outline item defaults to open in the PDF viewer (Since 1.16)
+ * @CAIRO_PDF_OUTLINE_FLAG_BOLD: The outline item is displayed by the viewer in bold text (Since 1.16)
+ * @CAIRO_PDF_OUTLINE_FLAG_ITALIC: The outline item is displayed by the viewer in italic text (Since 1.16)
*
* #cairo_pdf_outline_flags_t is used by the
* cairo_pdf_surface_add_outline() function specify the attributes of
@@ -99,9 +99,9 @@ cairo_pdf_surface_set_size (cairo_surface_t *surface,
* Since: 1.16
**/
typedef enum _cairo_pdf_outline_flags {
- CAIRO_BOOKMARK_FLAG_OPEN = 0x1,
- CAIRO_BOOKMARK_FLAG_BOLD = 0x2,
- CAIRO_BOOKMARK_FLAG_ITALIC = 0x4,
+ CAIRO_PDF_OUTLINE_FLAG_OPEN = 0x1,
+ CAIRO_PDF_OUTLINE_FLAG_BOLD = 0x2,
+ CAIRO_PDF_OUTLINE_FLAG_ITALIC = 0x4,
} cairo_pdf_outline_flags_t;
#define CAIRO_PDF_OUTLINE_ROOT 0
diff --git a/test/pdf-tagged-text.c b/test/pdf-tagged-text.c
index 14dbad1..74e7968 100644
--- a/test/pdf-tagged-text.c
+++ b/test/pdf-tagged-text.c
@@ -244,7 +244,7 @@ draw_section (cairo_surface_t *surface, cairo_t *cr, const struct section *secti
cairo_tag_end (cr, CAIRO_TAG_DEST);
cairo_tag_end (cr, "H1");
y_pos = MARGIN + HEADING_HEIGHT;
- flags = CAIRO_BOOKMARK_FLAG_BOLD | CAIRO_BOOKMARK_FLAG_OPEN;
+ flags = CAIRO_PDF_OUTLINE_FLAG_BOLD | CAIRO_PDF_OUTLINE_FLAG_OPEN;
outline_parents[0] = cairo_pdf_surface_add_outline (surface,
CAIRO_PDF_OUTLINE_ROOT,
section->heading,
@@ -256,7 +256,7 @@ draw_section (cairo_surface_t *surface, cairo_t *cr, const struct section *secti
flags = 0;
} else {
cairo_set_font_size(cr, HEADING3_SIZE);
- flags = CAIRO_BOOKMARK_FLAG_ITALIC;
+ flags = CAIRO_PDF_OUTLINE_FLAG_ITALIC;
}
if (y_pos + HEADING_HEIGHT + paragraph_height + MARGIN > PAGE_HEIGHT) {
@@ -335,7 +335,8 @@ create_document (cairo_surface_t *surface, cairo_t *cr)
cairo_pdf_surface_add_outline (surface,
CAIRO_PDF_OUTLINE_ROOT,
- "Contents", "TOC", CAIRO_BOOKMARK_FLAG_BOLD);
+ "Contents", "TOC",
+ CAIRO_PDF_OUTLINE_FLAG_BOLD);
cairo_tag_begin (cr, CAIRO_TAG_DEST, "name='TOC'");
cairo_tag_begin (cr, "TOC", NULL);
--
cgit v0.10.2
From 5854dd9df40a68efb0cb1b2bb7f94e3f05cbdf45 Mon Sep 17 00:00:00 2001
From: Adrian Johnson <ajohnson@redneon.com>
Date: Thu, 2 Feb 2017 06:47:11 +1030
Subject: pdf: don't return uninitialized status
https://bugs.freedesktop.org/show_bug.cgi?id=99630
diff --git a/src/cairo-pdf-interchange.c b/src/cairo-pdf-interchange.c
index 1fc8197..bac62d5 100644
--- a/src/cairo-pdf-interchange.c
+++ b/src/cairo-pdf-interchange.c
@@ -397,7 +397,7 @@ cairo_pdf_interchange_walk_struct_tree (cairo_pdf_surface_t *surface,
return status;
}
- return status;
+ return CAIRO_STATUS_SUCCESS;
}
static cairo_int_status_t
--
cgit v0.10.2
From 1a307123af14cfa50a0c35819cfaee79f0ade1ba Mon Sep 17 00:00:00 2001
From: Adrian Johnson <ajohnson@redneon.com>
Date: Thu, 2 Mar 2017 19:14:04 +1030
Subject: pdf-operators: fix bug in line wrapping
patch by jmmorlan@sonic.net
https://bugs.freedesktop.org/show_bug.cgi?id=100029
diff --git a/src/cairo-pdf-operators.c b/src/cairo-pdf-operators.c
index 99a8dc8..b4ac253 100644
--- a/src/cairo-pdf-operators.c
+++ b/src/cairo-pdf-operators.c
@@ -319,7 +319,8 @@ _word_wrap_stream_write (cairo_output_stream_t *base,
if (*data == '\n' || stream->column >= stream->max_column) {
_cairo_output_stream_printf (stream->output, "\n");
stream->column = 0;
- } else if (*data == '<') {
+ }
+ if (*data == '<') {
stream->state = WRAP_STATE_HEXSTRING;
} else if (*data == '(') {
stream->state = WRAP_STATE_STRING;
--
cgit v0.10.2