summarylogtreecommitdiffstats
path: root/04-texstudio-use-poppler-lcd.patch
blob: d400a57402d2b49de30516d1d9a44275a68265fb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
From: Jeffrey Feng <galago1992@gmail.com>
Subject: [PATCH 4/4] texstudio with the LCD subpixel rendering backend of cairo applied to poppler
---
git diff --stat
 texstudio.pro                      |  2 +-
 src/pdfviewer/pdfviewer.pri        | 10 +++++++---
 src/configdialog.ui                |  4 ++--
 src/pdfviewer/pdfrendermanager.cpp |  4 ++--
 4 files changed, 12 insertions(+), 8 deletions(-)

diff --git a/texstudio.pro b/texstudio.pro
index 74cd63c5..de977b74 100644
--- a/texstudio.pro
+++ b/texstudio.pro
@@ -414,7 +414,7 @@ exists(./.git)  {
 #QMAKE_CXXFLAGS_DEBUG += -Werror  -Wall -Wextra -Winit-self -Wmain -Wmissing-include-dirs -Wtrigraphs -Wunused -Wunknown-pragmas -Wundef -Wpointer-arith -Wtype-limits -Wwrite-strings -Wclobbered -Wempty-body -Wsign-compare -Waddress -Wlogical-op -Winline
 QMAKE_CXXFLAGS_DEBUG += -Wall -Wextra -Winit-self -Wmissing-include-dirs -Wtrigraphs -Wunused -Wunknown-pragmas -Wundef -Wpointer-arith -Wwrite-strings -Wempty-body -Wsign-compare -Waddress -Winline
 QMAKE_CXXFLAGS += -std=c++0x
-!win32: QMAKE_LFLAGS += -rdynamic # option not supported by mingw
+!win32: QMAKE_LFLAGS += -rdynamic -Wl,-rpath,$$(POPPLER_LIB_RPATH)# option not supported by mingw
 else {
   QMAKE_CXXFLAGS += -gstabs -g
   QMAKE_LFLAGS -= -Wl,-s
diff --git a/src/pdfviewer/pdfviewer.pri b/src/pdfviewer/pdfviewer.pri
index 1e7aec94..42d7d4fa 100644
--- a/src/pdfviewer/pdfviewer.pri
+++ b/src/pdfviewer/pdfviewer.pri
@@ -53,7 +53,7 @@ isEmpty(NO_POPPLER_PREVIEW) {
 
         CONFIG += link_pkgconfig
 
-        PKGCONFIG += $${poppler_qt_pkg}
+        #PKGCONFIG += $${poppler_qt_pkg}
 
 	!isEmpty(MXE){
 		message("Using MXE")
@@ -72,8 +72,12 @@ isEmpty(NO_POPPLER_PREVIEW) {
 	# work-around for travis osx build
 	LIBS += -L/usr/local/Cellar/poppler/0.61.0-texworks/lib
 
-        system($${PKG_CONFIG_EXE} --atleast-version=0.24 $${poppler_qt_pkg}):DEFINES += HAS_POPPLER_24
-        system($${PKG_CONFIG_EXE} --atleast-version=0.31 $${poppler_qt_pkg}):DEFINES += HAS_POPPLER_31
+        #system($${PKG_CONFIG_EXE} --atleast-version=0.24 $${poppler_qt_pkg}):DEFINES += HAS_POPPLER_24
+        #system($${PKG_CONFIG_EXE} --atleast-version=0.31 $${poppler_qt_pkg}):DEFINES += HAS_POPPLER_31
+        DEFINES += HAS_POPPLER_24
+        DEFINES += HAS_POPPLER_31
+        INCLUDEPATH  += $$(POPPLER_LIB_DIR)/../include/poppler/qt5
+        LIBS += -L$$(POPPLER_LIB_DIR) -lpoppler-qt5-lcd -lpoppler-lcd
     }
 } else {
     DEFINES += NO_POPPLER_PREVIEW
diff --git a/src/configdialog.ui b/src/configdialog.ui
index 0f3cbe6f..23121ef6 100644
--- a/src/configdialog.ui
+++ b/src/configdialog.ui
@@ -4296,7 +4296,7 @@ them here.</string>
                <widget class="QComboBox" name="comboBoxPDFRenderBackend">
                 <property name="toolTip">
                  <string>The Render Backend used by the PDF library poppler.
-'Splash' is the default and suitable for most situations.
+'Cairo' is the default and suitable for LCD subpixel rendering.
 If there are rendering issues, you may try the alternative 'Arthur' backend.
 Note: Changing this setting will only affect documents that are opened afterwards.</string>
                 </property>
@@ -4305,7 +4305,7 @@ Note: Changing this setting will only affect documents that are opened afterward
                 </property>
                 <item>
                  <property name="text">
-                  <string notr="true">Splash</string>
+                  <string notr="true">Cairo</string>
                  </property>
                 </item>
                 <item>
diff --git a/src/pdfviewer/pdfrendermanager.cpp b/src/pdfviewer/pdfrendermanager.cpp
index 2323252e..9b6b5da2 100644
--- a/src/pdfviewer/pdfrendermanager.cpp
+++ b/src/pdfviewer/pdfrendermanager.cpp
@@ -176,7 +176,7 @@ QSharedPointer<Poppler::Document> PDFRenderManager::loadDocument(const QString &
 
 	cachedNumPages = docPtr->numPages();
 
-	Poppler::Document::RenderBackend backend = Poppler::Document::SplashBackend;
+	Poppler::Document::RenderBackend backend = Poppler::Document::CairoBackend;
 	if (ConfigManagerInterface::getInstance()->getOption("Preview/RenderBackend").toInt() == 1) {
 		backend = Poppler::Document::ArthurBackend;
 	}
@@ -227,7 +227,7 @@ QSharedPointer<Poppler::Document> PDFRenderManager::loadDocument(const QString &
 			error = FileIncomplete;
 			return QSharedPointer<Poppler::Document>();
 		}
-		doc->setRenderBackend(Poppler::Document::SplashBackend);
+		doc->setRenderBackend(Poppler::Document::CairoBackend);
 		doc->setRenderHint(Poppler::Document::Antialiasing);
 		doc->setRenderHint(Poppler::Document::TextAntialiasing);
 #endif