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 2015/06/29 22:32:56 UTC
svn commit: r1688302 - in
/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox:
pdmodel/font/PDType1CFont.java rendering/PageDrawer.java
Author: jahewson
Date: Mon Jun 29 20:32:56 2015
New Revision: 1688302
URL: http://svn.apache.org/r1688302
Log:
PDFBOX-2842: Use the FontMatrix when calculating widths
Modified:
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType1CFont.java
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/rendering/PageDrawer.java
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=1688302&r1=1688301&r2=1688302&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 Mon Jun 29 20:32:56 2015
@@ -208,18 +208,27 @@ public class PDType1CFont extends PDSimp
{
if (fontMatrix == null)
{
- if (cffFont != null)
+ List<Number> numbers = null;
+ try
{
- List<Number> numbers = cffFont.getFontMatrix();
- if (numbers != null && numbers.size() == 6)
- {
- fontMatrix = new Matrix(numbers.get(0).floatValue(), numbers.get(1).floatValue(),
- numbers.get(2).floatValue(), numbers.get(3).floatValue(),
- numbers.get(4).floatValue(), numbers.get(5).floatValue());
- return fontMatrix;
- }
+ numbers = genericFont.getFontMatrix();
+ }
+ catch (IOException e)
+ {
+ fontMatrix = DEFAULT_FONT_MATRIX;
+ }
+
+ if (numbers != null && numbers.size() == 6)
+ {
+ fontMatrix = new Matrix(
+ numbers.get(0).floatValue(), numbers.get(1).floatValue(),
+ numbers.get(2).floatValue(), numbers.get(3).floatValue(),
+ numbers.get(4).floatValue(), numbers.get(5).floatValue());
+ }
+ else
+ {
+ return super.getFontMatrix();
}
- fontMatrix = super.getFontMatrix();
}
return fontMatrix;
}
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/rendering/PageDrawer.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/rendering/PageDrawer.java?rev=1688302&r1=1688301&r2=1688302&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/rendering/PageDrawer.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/rendering/PageDrawer.java Mon Jun 29 20:32:56 2015
@@ -367,6 +367,7 @@ public class PageDrawer extends PDFGraph
Math.abs(fontWidth - displacement.getX() * 1000) > 0.0001)
{
float pdfWidth = displacement.getX() * 1000;
+ pdfWidth *= font.getFontMatrix().getScalingFactorX() * 1000;
at.scale(pdfWidth / fontWidth, 1);
}
}