You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ti...@apache.org on 2014/10/06 18:39:57 UTC

svn commit: r1629707 - in /pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/font: ./ descriptor/

Author: tilman
Date: Mon Oct  6 16:39:56 2014
New Revision: 1629707

URL: http://svn.apache.org/r1629707
Log:
PDFBOX-2299: use PDFontLike instead of PDSimpleFont because PDCIDFontType0 is not extended from PDSimpleFont

Modified:
    pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/font/DescendantFontValidator.java
    pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/font/SimpleFontValidator.java
    pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/font/TrueTypeFontValidator.java
    pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/font/Type1FontValidator.java
    pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/font/descriptor/CIDType0DescriptorHelper.java
    pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/font/descriptor/CIDType2DescriptorHelper.java
    pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/font/descriptor/FontDescriptorHelper.java
    pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/font/descriptor/TrueTypeDescriptorHelper.java

Modified: pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/font/DescendantFontValidator.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/font/DescendantFontValidator.java?rev=1629707&r1=1629706&r2=1629707&view=diff
==============================================================================
--- pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/font/DescendantFontValidator.java (original)
+++ pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/font/DescendantFontValidator.java Mon Oct  6 16:39:56 2014
@@ -46,7 +46,8 @@ public abstract class DescendantFontVali
 
     public DescendantFontValidator(PreflightContext context, PDCIDFont font, T fContainer)
     {
-        super(context, font.getCOSObject(), fContainer);
+        super(context, font, font.getCOSObject(), fContainer);
+        this.font = font;
         cosDocument = context.getDocument().getDocument();
     }
 

Modified: pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/font/SimpleFontValidator.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/font/SimpleFontValidator.java?rev=1629707&r1=1629706&r2=1629707&view=diff
==============================================================================
--- pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/font/SimpleFontValidator.java (original)
+++ pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/font/SimpleFontValidator.java Mon Oct  6 16:39:56 2014
@@ -25,7 +25,7 @@ import static org.apache.pdfbox.prefligh
 
 import org.apache.pdfbox.cos.COSDictionary;
 import org.apache.pdfbox.cos.COSName;
-import org.apache.pdfbox.pdmodel.font.PDSimpleFont;
+import org.apache.pdfbox.pdmodel.font.PDFontLike;
 import org.apache.pdfbox.preflight.PreflightContext;
 import org.apache.pdfbox.preflight.ValidationResult.ValidationError;
 import org.apache.pdfbox.preflight.exception.ValidationException;
@@ -33,20 +33,14 @@ import org.apache.pdfbox.preflight.font.
 
 public abstract class SimpleFontValidator<T extends FontContainer> extends FontValidator<T>
 {
-    protected PDSimpleFont font;
+    protected PDFontLike font;
     protected COSDictionary fontDictionary;
 
-    public SimpleFontValidator(PreflightContext context, PDSimpleFont font, T fContainer)
-    {
-        super(context, font.getCOSObject(), fContainer);
-        this.fontDictionary = font.getCOSObject();
-        this.font = font;
-    }
-
-    public SimpleFontValidator(PreflightContext context, COSDictionary fontDictionary, T fContainer)
+    public SimpleFontValidator(PreflightContext context, PDFontLike font, COSDictionary fontDictionary, T fContainer)
     {
         super(context, fontDictionary, fContainer);
         this.fontDictionary = fontDictionary;
+        this.font = font;
     }
 
     /**

Modified: pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/font/TrueTypeFontValidator.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/font/TrueTypeFontValidator.java?rev=1629707&r1=1629706&r2=1629707&view=diff
==============================================================================
--- pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/font/TrueTypeFontValidator.java (original)
+++ pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/font/TrueTypeFontValidator.java Mon Oct  6 16:39:56 2014
@@ -39,17 +39,21 @@ public class TrueTypeFontValidator exten
 {
     public TrueTypeFontValidator(PreflightContext context, PDTrueTypeFont font)
     {
-        super(context, font, new TrueTypeContainer(font));
+        super(context, font, font.getCOSObject(), new TrueTypeContainer(font));
     }
 
+    @Override
     protected void createFontDescriptorHelper()
     {
-        this.descriptorHelper = new TrueTypeDescriptorHelper(context, font, fontContainer);
+        this.descriptorHelper = new TrueTypeDescriptorHelper(context, (PDTrueTypeFont) font, fontContainer);
     }
 
+    @Override
     protected void checkEncoding()
     {
-        PDFontDescriptor fd = this.font.getFontDescriptor();
+        PDTrueTypeFont ttFont = (PDTrueTypeFont) font;
+                
+        PDFontDescriptor fd = ttFont.getFontDescriptor();
         if (fd != null)
         {
             /*
@@ -57,7 +61,7 @@ public class TrueTypeFontValidator exten
              */
             if (fd.isNonSymbolic())
             {
-                Encoding encodingValue = this.font.getEncoding();
+                Encoding encodingValue = ttFont.getEncoding();
                 if (encodingValue == null
                         || !(encodingValue instanceof MacRomanEncoding || encodingValue instanceof WinAnsiEncoding))
                 {
@@ -70,7 +74,7 @@ public class TrueTypeFontValidator exten
              * For symbolic font, no encoding entry is allowed and only one encoding entry is expected into the FontFile
              * CMap (Check latter when the FontFile stream will be checked)
              */
-            if (fd.isSymbolic() && ((COSDictionary) this.font.getCOSObject()).getItem(COSName.ENCODING) != null)
+            if (fd.isSymbolic() && ((COSDictionary) fontDictionary).getItem(COSName.ENCODING) != null)
             {
                 this.fontContainer.push(new ValidationError(ERROR_FONTS_ENCODING,
                         "The Encoding should be missing for the Symbolic TTF"));

Modified: pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/font/Type1FontValidator.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/font/Type1FontValidator.java?rev=1629707&r1=1629706&r2=1629707&view=diff
==============================================================================
--- pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/font/Type1FontValidator.java (original)
+++ pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/font/Type1FontValidator.java Mon Oct  6 16:39:56 2014
@@ -44,18 +44,19 @@ public class Type1FontValidator extends 
 
     public Type1FontValidator(PreflightContext context, PDSimpleFont font)
     {
-        super(context, font, new Type1Container(font));
+        super(context, font, font.getCOSObject(), new Type1Container(font));
     }
 
     @Override
     protected void createFontDescriptorHelper()
     {
-        this.descriptorHelper = new Type1DescriptorHelper(context, font, fontContainer);
+        this.descriptorHelper = new Type1DescriptorHelper(context, (PDSimpleFont) font, fontContainer);
     }
 
+    @Override
     protected void checkEncoding()
     {
-        COSBase encoding = ((COSDictionary) font.getCOSObject()).getItem(COSName.ENCODING);
+        COSBase encoding = ((COSDictionary) fontDictionary).getItem(COSName.ENCODING);
         if (encoding != null)
         {
             COSDocument cosDocument = context.getDocument().getDocument();

Modified: pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/font/descriptor/CIDType0DescriptorHelper.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/font/descriptor/CIDType0DescriptorHelper.java?rev=1629707&r1=1629706&r2=1629707&view=diff
==============================================================================
--- pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/font/descriptor/CIDType0DescriptorHelper.java (original)
+++ pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/font/descriptor/CIDType0DescriptorHelper.java Mon Oct  6 16:39:56 2014
@@ -38,8 +38,8 @@ import org.apache.pdfbox.cos.COSDocument
 import org.apache.pdfbox.cos.COSName;
 import org.apache.pdfbox.cos.COSStream;
 import org.apache.pdfbox.pdmodel.common.PDStream;
-import org.apache.pdfbox.pdmodel.font.PDFont;
 import org.apache.pdfbox.pdmodel.font.PDFontDescriptor;
+import org.apache.pdfbox.pdmodel.font.PDFontLike;
 import org.apache.pdfbox.preflight.PreflightContext;
 import org.apache.pdfbox.preflight.ValidationResult;
 import org.apache.pdfbox.preflight.ValidationResult.ValidationError;
@@ -50,7 +50,7 @@ import org.apache.pdfbox.preflight.utils
 public class CIDType0DescriptorHelper extends FontDescriptorHelper<CIDType0Container>
 {
 
-    public CIDType0DescriptorHelper(PreflightContext context, PDFont font, CIDType0Container fontContainer)
+    public CIDType0DescriptorHelper(PreflightContext context, PDFontLike font, CIDType0Container fontContainer)
     {
         super(context, font, fontContainer);
     }

Modified: pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/font/descriptor/CIDType2DescriptorHelper.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/font/descriptor/CIDType2DescriptorHelper.java?rev=1629707&r1=1629706&r2=1629707&view=diff
==============================================================================
--- pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/font/descriptor/CIDType2DescriptorHelper.java (original)
+++ pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/font/descriptor/CIDType2DescriptorHelper.java Mon Oct  6 16:39:56 2014
@@ -35,8 +35,8 @@ import org.apache.pdfbox.cos.COSDocument
 import org.apache.pdfbox.cos.COSName;
 import org.apache.pdfbox.cos.COSStream;
 import org.apache.pdfbox.pdmodel.common.PDStream;
-import org.apache.pdfbox.pdmodel.font.PDFont;
 import org.apache.pdfbox.pdmodel.font.PDFontDescriptor;
+import org.apache.pdfbox.pdmodel.font.PDFontLike;
 import org.apache.pdfbox.preflight.PreflightContext;
 import org.apache.pdfbox.preflight.ValidationResult;
 import org.apache.pdfbox.preflight.ValidationResult.ValidationError;
@@ -47,7 +47,7 @@ import org.apache.pdfbox.preflight.utils
 public class CIDType2DescriptorHelper extends FontDescriptorHelper<CIDType2Container>
 {
 
-    public CIDType2DescriptorHelper(PreflightContext context, PDFont font, CIDType2Container fontContainer)
+    public CIDType2DescriptorHelper(PreflightContext context, PDFontLike font, CIDType2Container fontContainer)
     {
         super(context, font, fontContainer);
     }

Modified: pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/font/descriptor/FontDescriptorHelper.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/font/descriptor/FontDescriptorHelper.java?rev=1629707&r1=1629706&r2=1629707&view=diff
==============================================================================
--- pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/font/descriptor/FontDescriptorHelper.java (original)
+++ pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/font/descriptor/FontDescriptorHelper.java Mon Oct  6 16:39:56 2014
@@ -49,8 +49,8 @@ import org.apache.pdfbox.cos.COSDictiona
 import org.apache.pdfbox.cos.COSName;
 import org.apache.pdfbox.pdmodel.common.PDMetadata;
 import org.apache.pdfbox.pdmodel.common.PDStream;
-import org.apache.pdfbox.pdmodel.font.PDFont;
 import org.apache.pdfbox.pdmodel.font.PDFontDescriptor;
+import org.apache.pdfbox.pdmodel.font.PDFontLike;
 import org.apache.pdfbox.preflight.PreflightContext;
 import org.apache.pdfbox.preflight.ValidationResult.ValidationError;
 import org.apache.pdfbox.preflight.font.container.FontContainer;
@@ -66,11 +66,11 @@ public abstract class FontDescriptorHelp
     protected T fContainer;
 
     protected PreflightContext context;
-    protected PDFont font;
+    protected PDFontLike font;
 
     protected PDFontDescriptor fontDescriptor;
 
-    public FontDescriptorHelper(PreflightContext context, PDFont font, T fontContainer)
+    public FontDescriptorHelper(PreflightContext context, PDFontLike font, T fontContainer)
     {
         super();
         this.fContainer = fontContainer;

Modified: pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/font/descriptor/TrueTypeDescriptorHelper.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/font/descriptor/TrueTypeDescriptorHelper.java?rev=1629707&r1=1629706&r2=1629707&view=diff
==============================================================================
--- pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/font/descriptor/TrueTypeDescriptorHelper.java (original)
+++ pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/font/descriptor/TrueTypeDescriptorHelper.java Mon Oct  6 16:39:56 2014
@@ -48,6 +48,7 @@ public class TrueTypeDescriptorHelper ex
         super(context, font, fontContainer);
     }
 
+    @Override
     public PDStream extractFontFile(PDFontDescriptor fontDescriptor)
     {
         PDStream fontFile = fontDescriptor.getFontFile2();
@@ -70,6 +71,7 @@ public class TrueTypeDescriptorHelper ex
         return fontFile;
     }
 
+    @Override
     protected void processFontFile(PDFontDescriptor fontDescriptor, PDStream fontFile)
     {
         /*