summaryrefslogtreecommitdiff
path: root/libre/fop/fop-replace_sRGB_profile.patch
diff options
context:
space:
mode:
Diffstat (limited to 'libre/fop/fop-replace_sRGB_profile.patch')
-rw-r--r--libre/fop/fop-replace_sRGB_profile.patch39
1 files changed, 39 insertions, 0 deletions
diff --git a/libre/fop/fop-replace_sRGB_profile.patch b/libre/fop/fop-replace_sRGB_profile.patch
new file mode 100644
index 000000000..035a7e4b3
--- /dev/null
+++ b/libre/fop/fop-replace_sRGB_profile.patch
@@ -0,0 +1,39 @@
+--- fop-2.0.orig/src/java/org/apache/fop/pdf/PDFICCBasedColorSpace.java 2015-05-26 03:03:48.000000000 -0500
++++ fop-2.0/src/java/org/apache/fop/pdf/PDFICCBasedColorSpace.java 2015-12-21 16:38:02.149485578 -0500
+@@ -21,6 +21,8 @@
+
+ import java.awt.color.ColorSpace;
+ import java.awt.color.ICC_Profile;
++import java.io.File;
++import java.io.FileInputStream;
+ import java.io.IOException;
+ import java.io.InputStream;
+ import java.util.Set;
+@@ -136,11 +138,14 @@
+ * @return the ICC stream with the sRGB profile
+ */
+ public static PDFICCStream setupsRGBColorProfile(PDFDocument pdfDoc) {
+- ICC_Profile profile;
++ ICC_Profile profile = null;
+ PDFICCStream sRGBProfile = pdfDoc.getFactory().makePDFICCStream();
+- InputStream in = PDFDocument.class.getResourceAsStream("sRGB Color Space Profile.icm");
+- if (in != null) {
++ // Load the sRGB profile installed by the openicc package
++ File file = new File("/usr/share/color/icc/OpenICC/sRGB.icc");
++ if (file.exists()) {
++ InputStream in = null;
+ try {
++ in = new FileInputStream(file);
+ profile = ColorProfileUtil.getICC_Profile(in);
+ } catch (IOException ioe) {
+ throw new RuntimeException(
+@@ -148,7 +153,8 @@
+ } finally {
+ IOUtils.closeQuietly(in);
+ }
+- } else {
++ }
++ if (profile == null) {
+ // Fallback: Use the sRGB profile from the JRE (about 140KB)
+ profile = ColorProfileUtil.getICC_Profile(ColorSpace.CS_sRGB);
+ }