[
https://issues.apache.org/jira/browse/PDFBOX-3354?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15291891#comment-15291891
]
ASF subversion and git services commented on PDFBOX-3354:
---------------------------------------------------------
Commit 1744614 from [~tilman] in branch 'pdfbox/branches/2.0'
[ https://svn.apache.org/r1744614 ]
PDFBOX-3354: fix bug, averageWidth is not local, as reported by Gabriel Carabas
> 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]