zathura-pdf-mupdf: rebuild for mupdf-1.12.0_1
This commit is contained in:
parent
9f25aa2af8
commit
f95c7e0c76
2 changed files with 1 additions and 168 deletions
|
@ -1,167 +0,0 @@
|
||||||
From b742d97f3d49b37d82aedcbe68e2fac2f3f9a58a Mon Sep 17 00:00:00 2001
|
|
||||||
From: lemmi <lemmi@nerd2nerd.org>
|
|
||||||
Date: Sun, 31 Dec 2017 10:23:53 +0100
|
|
||||||
Subject: [PATCH] Revert "Updated for MuPDF 1.12.0"
|
|
||||||
|
|
||||||
This reverts commit a3f703788f77b19bb986e14666fe0c47911adddc.
|
|
||||||
---
|
|
||||||
image.c | 18 ++++++++++--------
|
|
||||||
page.c | 9 +++++++++
|
|
||||||
plugin.h | 3 +--
|
|
||||||
render.c | 4 +---
|
|
||||||
select.c | 11 +++--------
|
|
||||||
utils.c | 8 ++++----
|
|
||||||
6 files changed, 28 insertions(+), 25 deletions(-)
|
|
||||||
|
|
||||||
diff --git image.c image.c
|
|
||||||
index 3de01ba..b938e5c 100644
|
|
||||||
--- image.c
|
|
||||||
+++ image.c
|
|
||||||
@@ -43,16 +43,18 @@ pdf_page_images_get(zathura_page_t* page, mupdf_page_t* mupdf_page, zathura_erro
|
|
||||||
/* Extract images */
|
|
||||||
mupdf_page_extract_text(mupdf_document, mupdf_page);
|
|
||||||
|
|
||||||
- fz_stext_block* block;
|
|
||||||
- for (block = mupdf_page->text->first_block; block; block = block->next) {
|
|
||||||
- if (block->type == FZ_STEXT_BLOCK_IMAGE) {
|
|
||||||
+ fz_page_block* block;
|
|
||||||
+ for (block = mupdf_page->text->blocks; block < mupdf_page->text->blocks + mupdf_page->text->len; block++) {
|
|
||||||
+ if (block->type == FZ_PAGE_BLOCK_IMAGE) {
|
|
||||||
+ fz_image_block *image_block = block->u.image;
|
|
||||||
+
|
|
||||||
zathura_image_t* zathura_image = g_malloc(sizeof(zathura_image_t));
|
|
||||||
|
|
||||||
- zathura_image->position.x1 = block->bbox.x0;
|
|
||||||
- zathura_image->position.y1 = block->bbox.y0;
|
|
||||||
- zathura_image->position.x2 = block->bbox.x1;
|
|
||||||
- zathura_image->position.y2 = block->bbox.y1;
|
|
||||||
- zathura_image->data = block->u.i.image;
|
|
||||||
+ zathura_image->position.x1 = image_block->bbox.x0;
|
|
||||||
+ zathura_image->position.y1 = image_block->bbox.y0;
|
|
||||||
+ zathura_image->position.x2 = image_block->bbox.x1;
|
|
||||||
+ zathura_image->position.y2 = image_block->bbox.y1;
|
|
||||||
+ zathura_image->data = image_block->image;
|
|
||||||
|
|
||||||
girara_list_append(list, zathura_image);
|
|
||||||
}
|
|
||||||
diff --git page.c page.c
|
|
||||||
index c615efe..a563655 100644
|
|
||||||
--- page.c
|
|
||||||
+++ page.c
|
|
||||||
@@ -44,6 +44,11 @@ pdf_page_init(zathura_page_t* page)
|
|
||||||
goto error_free;
|
|
||||||
}
|
|
||||||
|
|
||||||
+ mupdf_page->sheet = fz_new_stext_sheet(mupdf_page->ctx);
|
|
||||||
+ if (mupdf_page->sheet == NULL) {
|
|
||||||
+ goto error_free;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
zathura_page_set_data(page, mupdf_page);
|
|
||||||
|
|
||||||
/* get page dimensions */
|
|
||||||
@@ -74,6 +79,10 @@ pdf_page_clear(zathura_page_t* page, mupdf_page_t* mupdf_page)
|
|
||||||
fz_drop_stext_page(mupdf_page->ctx, mupdf_page->text);
|
|
||||||
}
|
|
||||||
|
|
||||||
+ if (mupdf_page->sheet != NULL) {
|
|
||||||
+ fz_drop_stext_sheet(mupdf_page->ctx, mupdf_page->sheet);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
if (mupdf_page->page != NULL) {
|
|
||||||
fz_drop_page(mupdf_document->ctx, mupdf_page->page);
|
|
||||||
}
|
|
||||||
diff --git plugin.h plugin.h
|
|
||||||
index 09fb1de..35ff568 100644
|
|
||||||
--- plugin.h
|
|
||||||
+++ plugin.h
|
|
||||||
@@ -3,8 +3,6 @@
|
|
||||||
#ifndef PDF_H
|
|
||||||
#define PDF_H
|
|
||||||
|
|
||||||
-#include <stdlib.h>
|
|
||||||
-#include <string.h>
|
|
||||||
#include <stdbool.h>
|
|
||||||
#include <zathura/plugin-api.h>
|
|
||||||
#include <mupdf/fitz.h>
|
|
||||||
@@ -20,6 +18,7 @@ typedef struct mupdf_page_s
|
|
||||||
{
|
|
||||||
fz_page* page; /**< Reference to the mupdf page */
|
|
||||||
fz_context* ctx; /**< Context */
|
|
||||||
+ fz_stext_sheet* sheet; /**< Text sheet */
|
|
||||||
fz_stext_page* text; /**< Page text */
|
|
||||||
fz_rect bbox; /**< Bbox */
|
|
||||||
bool extracted_text; /**< If text has already been extracted */
|
|
||||||
diff --git render.c render.c
|
|
||||||
index d3bc177..5d70401 100644
|
|
||||||
--- render.c
|
|
||||||
+++ render.c
|
|
||||||
@@ -38,8 +38,7 @@ pdf_page_render_to_buffer(mupdf_document_t* mupdf_document, mupdf_page_t* mupdf_
|
|
||||||
fz_rect rect = { .x1 = page_width, .y1 = page_height };
|
|
||||||
|
|
||||||
fz_colorspace* colorspace = fz_device_bgr(mupdf_document->ctx);
|
|
||||||
- fz_separations* seps= fz_page_separations(mupdf_page->ctx, mupdf_page->page);
|
|
||||||
- fz_pixmap* pixmap = fz_new_pixmap_with_bbox_and_data(mupdf_page->ctx, colorspace, &irect, seps, 1, image);
|
|
||||||
+ fz_pixmap* pixmap = fz_new_pixmap_with_bbox_and_data(mupdf_page->ctx, colorspace, &irect, 1, image);
|
|
||||||
fz_clear_pixmap_with_value(mupdf_page->ctx, pixmap, 0xFF);
|
|
||||||
|
|
||||||
device = fz_new_draw_device(mupdf_page->ctx, NULL, pixmap);
|
|
||||||
@@ -49,7 +48,6 @@ pdf_page_render_to_buffer(mupdf_document_t* mupdf_document, mupdf_page_t* mupdf_
|
|
||||||
|
|
||||||
fz_drop_pixmap(mupdf_page->ctx, pixmap);
|
|
||||||
fz_drop_display_list(mupdf_page->ctx, display_list);
|
|
||||||
- fz_drop_separations(mupdf_page->ctx, seps);
|
|
||||||
|
|
||||||
return ZATHURA_ERROR_OK;
|
|
||||||
}
|
|
||||||
diff --git select.c select.c
|
|
||||||
index 427458e..c1e1437 100644
|
|
||||||
--- select.c
|
|
||||||
+++ select.c
|
|
||||||
@@ -24,14 +24,9 @@ pdf_page_get_text(zathura_page_t* page, mupdf_page_t* mupdf_page, zathura_rectan
|
|
||||||
mupdf_page_extract_text(mupdf_document, mupdf_page);
|
|
||||||
}
|
|
||||||
|
|
||||||
- fz_point a = { rectangle.x1, rectangle.y1 };
|
|
||||||
- fz_point b = { rectangle.x2, rectangle.y2 };
|
|
||||||
-
|
|
||||||
-#ifdef _WIN32
|
|
||||||
- return fz_copy_selection(mupdf_page->ctx, mupdf_page->text, a, b, 1);
|
|
||||||
-#else
|
|
||||||
- return fz_copy_selection(mupdf_page->ctx, mupdf_page->text, a, b, 0);
|
|
||||||
-#endif
|
|
||||||
+ fz_rect rect = { rectangle.x1, rectangle.y1, rectangle.x2, rectangle.y2 };
|
|
||||||
+
|
|
||||||
+ return fz_copy_selection(mupdf_page->ctx, mupdf_page->text, rect);
|
|
||||||
|
|
||||||
error_ret:
|
|
||||||
|
|
||||||
diff --git utils.c utils.c
|
|
||||||
index 923fb4b..5605783 100644
|
|
||||||
--- utils.c
|
|
||||||
+++ utils.c
|
|
||||||
@@ -7,17 +7,17 @@
|
|
||||||
void
|
|
||||||
mupdf_page_extract_text(mupdf_document_t* mupdf_document, mupdf_page_t* mupdf_page) {
|
|
||||||
if (mupdf_document == NULL || mupdf_document->ctx == NULL || mupdf_page == NULL ||
|
|
||||||
- mupdf_page->text == NULL) {
|
|
||||||
+ mupdf_page->sheet == NULL || mupdf_page->text == NULL) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
fz_device* text_device = NULL;
|
|
||||||
|
|
||||||
fz_try (mupdf_page->ctx) {
|
|
||||||
- text_device = fz_new_stext_device(mupdf_page->ctx, mupdf_page->text, NULL);
|
|
||||||
+ text_device = fz_new_stext_device(mupdf_page->ctx, mupdf_page->sheet, mupdf_page->text, NULL);
|
|
||||||
|
|
||||||
- /* Disable FZ_DONT_INTERPOLATE_IMAGES to collect image blocks */
|
|
||||||
- fz_disable_device_hints(mupdf_page->ctx, text_device, FZ_DONT_INTERPOLATE_IMAGES);
|
|
||||||
+ /* Disable FZ_IGNORE_IMAGE to collect image blocks */
|
|
||||||
+ fz_disable_device_hints(mupdf_page->ctx, text_device, FZ_IGNORE_IMAGE);
|
|
||||||
|
|
||||||
fz_matrix ctm;
|
|
||||||
fz_scale(&ctm, 1.0, 1.0);
|
|
||||||
--
|
|
||||||
2.15.1
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
# Template file for 'zathura-pdf-mupdf'
|
# Template file for 'zathura-pdf-mupdf'
|
||||||
pkgname=zathura-pdf-mupdf
|
pkgname=zathura-pdf-mupdf
|
||||||
version=0.3.2
|
version=0.3.2
|
||||||
revision=1
|
revision=2
|
||||||
build_style=gnu-makefile
|
build_style=gnu-makefile
|
||||||
make_build_args="MUPDF_LIB=-lmupdf MUPDF_LIB+=-lmujs"
|
make_build_args="MUPDF_LIB=-lmupdf MUPDF_LIB+=-lmujs"
|
||||||
maintainer="lemmi <lemmi@nerd2nerd.org>"
|
maintainer="lemmi <lemmi@nerd2nerd.org>"
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue