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: dev-unsubscr...@pdfbox.apache.org
For additional commands, e-mail: dev-h...@pdfbox.apache.org

Reply via email to