44 lines
1.7 KiB
Diff
44 lines
1.7 KiB
Diff
Description: Load the sRGB profile from the icc-profiles-free package
|
|
Author: Emmanuel Bourg <ebourg@apache.org>
|
|
Forwarded: not-needed
|
|
Bug-Debian: https://bugs.debian.org/657281
|
|
Bug: https://issues.apache.org/jira/browse/FOP-2025
|
|
--- a/src/java/org/apache/fop/pdf/PDFICCBasedColorSpace.java
|
|
+++ b/src/java/org/apache/fop/pdf/PDFICCBasedColorSpace.java
|
|
@@ -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;
|
|
|
|
@@ -135,11 +137,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 icc-profiles-free package
|
|
+ File file = new File("/usr/share/color/icc/sRGB.icc");
|
|
+ if (file.exists()) {
|
|
+ InputStream in = null;
|
|
try {
|
|
+ in = new FileInputStream(file);
|
|
profile = ColorProfileUtil.getICC_Profile(in);
|
|
} catch (IOException ioe) {
|
|
throw new RuntimeException(
|
|
@@ -147,7 +152,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);
|
|
}
|