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 2011/11/13 22:20:07 UTC
svn commit: r1201518 -
/pdfbox/trunk/preflight/src/main/java/org/apache/padaf/preflight/font/AbstractFontContainer.java
Author: leleueri
Date: Sun Nov 13 21:20:07 2011
New Revision: 1201518
URL: http://svn.apache.org/viewvc?rev=1201518&view=rev
Log:
PDFBOX-1162 : Font error in "preflight" .....when validating the attached PDF/A
Modified:
pdfbox/trunk/preflight/src/main/java/org/apache/padaf/preflight/font/AbstractFontContainer.java
Modified: pdfbox/trunk/preflight/src/main/java/org/apache/padaf/preflight/font/AbstractFontContainer.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/preflight/src/main/java/org/apache/padaf/preflight/font/AbstractFontContainer.java?rev=1201518&r1=1201517&r2=1201518&view=diff
==============================================================================
--- pdfbox/trunk/preflight/src/main/java/org/apache/padaf/preflight/font/AbstractFontContainer.java (original)
+++ pdfbox/trunk/preflight/src/main/java/org/apache/padaf/preflight/font/AbstractFontContainer.java Sun Nov 13 21:20:07 2011
@@ -159,8 +159,10 @@ public abstract class AbstractFontContai
}
protected void checkWidthsConsistency(int cid, float widthProvidedByPdfDictionary, float widthInFontProgram) throws GlyphException {
- if(!(Math.floor(widthInFontProgram) == widthProvidedByPdfDictionary || Math.round(widthInFontProgram) == widthProvidedByPdfDictionary)) {
- GlyphException e = new GlyphException(ValidationConstants.ERROR_FONTS_METRICS, cid,
+ // a delta of 1/1000 unit is allowed
+ float epsilon = widthInFontProgram/1000;
+ if(!(Math.floor(widthInFontProgram-epsilon) <= widthProvidedByPdfDictionary && Math.round(widthInFontProgram+epsilon) >= widthProvidedByPdfDictionary)) {
+ GlyphException e = new GlyphException(ValidationConstants.ERROR_FONTS_METRICS, cid,
"Width of the character \"" + cid
+ "\" in the font program \""
+ this.font.getBaseFont()