You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ja...@apache.org on 2014/09/15 22:34:54 UTC
svn commit: r1625160 -
/pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/ttf/HorizontalMetricsTable.java
Author: jahewson
Date: Mon Sep 15 20:34:54 2014
New Revision: 1625160
URL: http://svn.apache.org/r1625160
Log:
PDFBOX-2352: Handle TTFs with too many horizontal metrics
Modified:
pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/ttf/HorizontalMetricsTable.java
Modified: pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/ttf/HorizontalMetricsTable.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/ttf/HorizontalMetricsTable.java?rev=1625160&r1=1625159&r2=1625160&view=diff
==============================================================================
--- pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/ttf/HorizontalMetricsTable.java (original)
+++ pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/ttf/HorizontalMetricsTable.java Mon Sep 15 20:34:54 2014
@@ -60,6 +60,13 @@ public class HorizontalMetricsTable exte
if (bytesRead < getLength())
{
int numberNonHorizontal = numGlyphs - numHMetrics;
+
+ // handle bad fonts with too many hmetrics
+ if (numberNonHorizontal < 0)
+ {
+ numberNonHorizontal = numGlyphs;
+ }
+
nonHorizontalLeftSideBearing = new short[ numberNonHorizontal ];
for( int i=0; i<numberNonHorizontal; i++ )
{