Author: lehmi
Date: Sat Sep 30 15:27:32 2023
New Revision: 1912629

URL: http://svn.apache.org/viewvc?rev=1912629&view=rev
Log:
PDFBOX-5687: remove obsolete KCMS option

Modified:
    
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDICCBased.java
    
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/rendering/PDFRenderer.java

Modified: 
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDICCBased.java
URL: 
http://svn.apache.org/viewvc/pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDICCBased.java?rev=1912629&r1=1912628&r2=1912629&view=diff
==============================================================================
--- 
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDICCBased.java
 (original)
+++ 
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDICCBased.java
 Sat Sep 30 15:27:32 2023
@@ -67,27 +67,6 @@ public final class PDICCBased extends PD
     // reasons with LittleCMS (LCMS), see PDFBOX-4309
     // WARNING: do not activate this in a conforming reader
     private boolean useOnlyAlternateColorSpace = false;
-    private static final boolean IS_KCMS;
-
-    static
-    {
-        String cmmProperty = System.getProperty("sun.java2d.cmm");
-        boolean result = false;
-        if ("sun.java2d.cmm.kcms.KcmsServiceProvider".equals(cmmProperty))
-        {
-            try
-            {
-                Class.forName("sun.java2d.cmm.kcms.KcmsServiceProvider");
-                result = true;
-            }
-            catch (ClassNotFoundException e)
-            {
-                // KCMS not available
-            }
-        }
-        // else maybe KCMS was available, but not wished
-        IS_KCMS = result;
-    }
 
     /**
      * Creates a new ICC color space with an empty stream.
@@ -229,17 +208,12 @@ public final class PDICCBased extends PD
                 // do things that trigger a ProfileDataException
                 // or CMMException due to invalid profiles, see PDFBOX-1295 
and PDFBOX-1740 (ü-file)
                 // or ArrayIndexOutOfBoundsException, see PDFBOX-3610
-                // also triggers a ProfileDataException for PDFBOX-3549 with 
KCMS
-                /// also triggers a ProfileDataException for PDFBOX-3549 with 
KCMS
                 // also triggers "CMMException: LCMS error 13" for PDFBOX-5563 
with LCMS, but
                 // calling "new ComponentColorModel" doesn't
                 awtColorSpace.toRGB(new float[numOfComponents]);
-                if (!IS_KCMS)
-                {
-                    // PDFBOX-4015: this one triggers "CMMException: LCMS 
error 13" with LCMS
-                    new ComponentColorModel(awtColorSpace, false, false,
-                            Transparency.OPAQUE, DataBuffer.TYPE_BYTE);
-                }
+                // PDFBOX-4015: this one triggers "CMMException: LCMS error 
13" with LCMS
+                new ComponentColorModel(awtColorSpace, false, false, 
Transparency.OPAQUE,
+                        DataBuffer.TYPE_BYTE);
             }
         }
         catch (ProfileDataException | CMMException | IllegalArgumentException |

Modified: 
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/rendering/PDFRenderer.java
URL: 
http://svn.apache.org/viewvc/pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/rendering/PDFRenderer.java?rev=1912629&r1=1912628&r2=1912629&view=diff
==============================================================================
--- 
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/rendering/PDFRenderer.java
 (original)
+++ 
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/rendering/PDFRenderer.java
 Sat Sep 30 15:27:32 2023
@@ -24,10 +24,6 @@ import java.awt.GraphicsDevice;
 import java.awt.RenderingHints;
 import java.awt.image.BufferedImage;
 import java.io.IOException;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.pdfbox.cos.COSName;
 import org.apache.pdfbox.pdmodel.PDDocument;
 import org.apache.pdfbox.pdmodel.PDPage;
@@ -48,8 +44,6 @@ import org.apache.pdfbox.pdmodel.interac
  */
 public class PDFRenderer
 {
-    private static final Log LOG = LogFactory.getLog(PDFRenderer.class);
-
     protected final PDDocument document;
     // TODO keep rendering state such as caches here
     
@@ -66,8 +60,6 @@ public class PDFRenderer
 
     private BufferedImage pageImage;
 
-    private static boolean kcmsLogged = false;
-
     private float imageDownscalingOptimizationThreshold = 0.5f;
 
     private final PDPageTree pageTree;
@@ -80,12 +72,6 @@ public class PDFRenderer
     {
         this.document = document;
         this.pageTree = document.getPages();
-
-        if (!kcmsLogged)
-        {
-            suggestKCMS();
-            kcmsLogged = true;
-        }
     }
 
     /**
@@ -579,56 +565,4 @@ public class PDFRenderer
         return pageImage;
     }
 
-    private static void suggestKCMS()
-    {
-        String cmmProperty = System.getProperty("sun.java2d.cmm");
-        if (!"sun.java2d.cmm.kcms.KcmsServiceProvider".equals(cmmProperty))
-        {
-            try
-            {
-                // Make sure that class exists
-                Class.forName("sun.java2d.cmm.kcms.KcmsServiceProvider");
-
-                String version = System.getProperty("java.version");
-                if (version == null ||
-                    isGoodVersion(version, "1.8.0_(\\d+)", 191) ||
-                    isGoodVersion(version, "9.0.(\\d+)", 4))
-                {
-                    return;
-                }
-                LOG.info("Your current java version is: " + version);
-                LOG.info("To get higher rendering speed on old java 1.8 or 9 
versions,");
-                LOG.info("  update to the latest 1.8 or 9 version (>= 
1.8.0_191 or >= 9.0.4),");
-                LOG.info("  or");
-                LOG.info("  use the option 
-Dsun.java2d.cmm=sun.java2d.cmm.kcms.KcmsServiceProvider");
-                LOG.info("  or call System.setProperty(\"sun.java2d.cmm\", 
\"sun.java2d.cmm.kcms.KcmsServiceProvider\")");
-            }
-            catch (ClassNotFoundException e)
-            {
-                // KCMS not available
-            }
-        }
-    }
-
-    private static boolean isGoodVersion(String version, String regex, int min)
-    {
-        Matcher matcher = Pattern.compile(regex).matcher(version);
-        if (matcher.matches() && matcher.groupCount() >= 1)
-        {
-            try
-            {
-                int v = Integer.parseInt(matcher.group(1));
-                if (v >= min)
-                {
-                    // LCMS no longer bad
-                    return true;
-                }
-            }
-            catch (NumberFormatException ex)
-            {
-                return true;
-            }
-        }
-        return false;
-    }
 }


Reply via email to