Gabriel Carabas created PDFBOX-3354:
---------------------------------------
Summary: PDCIDFont.getAverageFontWidth always returns 0
Key: PDFBOX-3354
URL: https://issues.apache.org/jira/browse/PDFBOX-3354
Project: PDFBox
Issue Type: Bug
Affects Versions: 2.0.1
Reporter: Gabriel Carabas
Priority: Minor
*PDCIDFont.getAverageFontWidth* method is using the field *averageWidth* as a
cache, but fails to update its contents. Instead all the calculations go into a
local variable with identical name,
{code:title=PDCIDFont.java|borderStyle=solid}
public float getAverageFontWidth()
{
if (averageWidth == 0)
{
float totalWidths = 0.0f;
float characterCount = 0.0f;
if (widths != null)
{
characterCount = widths.size();
Collection<Float> widthsValues = widths.values();
for (Float width : widthsValues)
{
totalWidths += width;
}
}
float averageWidth = totalWidths / characterCount;
if (averageWidth <= 0 || Float.isNaN(averageWidth))
{
averageWidth = getDefaultWidth();
}
}
return averageWidth;
}
{code}
A potential fix is the removal of the local variable declaration.
{quote}
-float- averageWidth = totalWidths / characterCount;
{quote}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]