You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by le...@apache.org on 2014/05/30 18:18:02 UTC

svn commit: r1598655 - in /pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font: PDCIDFont.java PDCIDFontType0Font.java PDType0Font.java PDType1AfmPfbFont.java PDType1CFont.java PDType1Font.java PDType3Font.java

Author: lehmi
Date: Fri May 30 16:18:01 2014
New Revision: 1598655

URL: http://svn.apache.org/r1598655
Log:
PDFBOX-2101: clear cached resources if necessary

Modified:
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDCIDFont.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDCIDFontType0Font.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType0Font.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType1AfmPfbFont.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType1CFont.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType1Font.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType3Font.java

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDCIDFont.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDCIDFont.java?rev=1598655&r1=1598654&r2=1598655&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDCIDFont.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDCIDFont.java Fri May 30 16:18:01 2014
@@ -374,4 +374,15 @@ public abstract class PDCIDFont extends 
         }
         return result;
     }
+    
+    @Override
+    public void clear()
+    {
+        super.clear();
+        if (widthCache != null)
+        {
+            widthCache.clear();
+            widthCache = null;
+        }
+    }
 }

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDCIDFontType0Font.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDCIDFontType0Font.java?rev=1598655&r1=1598654&r2=1598655&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDCIDFontType0Font.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDCIDFontType0Font.java Fri May 30 16:18:01 2014
@@ -82,4 +82,15 @@ public class PDCIDFontType0Font extends 
     {
         return type1CFont;
     }
+    
+    @Override
+    public void clear()
+    {
+        super.clear();
+        if (type1CFont != null)
+        {
+            type1CFont.clear();
+            type1CFont = null;
+        }
+    }
 }

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType0Font.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType0Font.java?rev=1598655&r1=1598654&r2=1598655&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType0Font.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType0Font.java Fri May 30 16:18:01 2014
@@ -181,4 +181,20 @@ public class PDType0Font extends PDSimpl
         return descendantFont;
     }
 
+    @Override
+    public void clear()
+    {
+        super.clear();
+        if (descendantFontArray != null)
+        {
+            descendantFontArray.clear();
+            descendantFontArray = null;
+        }
+        if (descendantFont != null)
+        {
+            descendantFont.clear();
+            descendantFont = null;
+        }
+        descendantFontDictionary = null;
+    }
 }

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType1AfmPfbFont.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType1AfmPfbFont.java?rev=1598655&r1=1598654&r2=1598655&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType1AfmPfbFont.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType1AfmPfbFont.java Fri May 30 16:18:01 2014
@@ -236,4 +236,10 @@ public class PDType1AfmPfbFont extends P
         return new DictionaryEncoding(dictionary);
     }
 
+    @Override
+    public void clear()
+    {
+        super.clear();
+        metric = null;
+    }
 }

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType1CFont.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType1CFont.java?rev=1598655&r1=1598654&r2=1598655&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType1CFont.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType1CFont.java Fri May 30 16:18:01 2014
@@ -426,4 +426,43 @@ public class PDType1CFont extends PDSimp
     {
         return cffFont;
     }
+    
+    @Override
+    public void clear()
+    {
+        super.clear();
+        cffFont = null;
+        fontMetric = null;
+        fontBBox = null;
+        if (characterToSID != null)
+        {
+            characterToSID.clear();
+            characterToSID = null;
+        }
+        if (codeToSID != null)
+        {
+            codeToSID.clear();
+            codeToSID = null;
+        }
+        if (glyphHeights != null)
+        {
+            glyphHeights.clear();
+            glyphHeights = null;
+        }
+        if (glyphWidths != null)
+        {
+            glyphWidths.clear();
+            glyphWidths = null;
+        }
+        if (sidToCharacter != null)
+        {
+            sidToCharacter.clear();
+            sidToCharacter = null;
+        }
+        if (sidToName != null)
+        {
+            sidToName.clear();
+            sidToName = null;
+        }
+    }
 }

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType1Font.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType1Font.java?rev=1598655&r1=1598654&r2=1598655&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType1Font.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType1Font.java Fri May 30 16:18:01 2014
@@ -579,5 +579,17 @@ public class PDType1Font extends PDSimpl
     {
         return type1font;
     }
-    
+
+    @Override
+    public void clear()
+    {
+        super.clear();
+        if (type1CFont != null)
+        {
+            type1CFont.clear();
+            type1CFont = null;
+        }
+        type1font = null;
+        afm = null;
+    }
 }

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType3Font.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType3Font.java?rev=1598655&r1=1598654&r2=1598655&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType3Font.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType3Font.java Fri May 30 16:18:01 2014
@@ -136,4 +136,16 @@ public class PDType3Font extends PDSimpl
         }
         return stream;
     }
+    
+    @Override
+    public void clear()
+    {
+        super.clear();
+        charProcs = null;
+        if (type3Resources != null)
+        {
+            type3Resources.clear();
+            type3Resources = null;
+        }
+    }
 }