[ 
https://issues.apache.org/jira/browse/PDFBOX-1655?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andreas Lehmkühler resolved PDFBOX-1655.
----------------------------------------

       Resolution: Fixed
    Fix Version/s: 2.0.0

The whole method was broken so that even Adrians patch won't help. I fixed that 
in revision 1505737.

Thanks for pointer!!
                
> Wasted work (or incorrect behavior) in PDCIDFontType2Font.readCIDToGIDMapping
> -----------------------------------------------------------------------------
>
>                 Key: PDFBOX-1655
>                 URL: https://issues.apache.org/jira/browse/PDFBOX-1655
>             Project: PDFBox
>          Issue Type: Bug
>          Components: PDModel
>    Affects Versions: 1.8.2
>         Environment: any
>            Reporter: Adrian Nistor
>            Assignee: Andreas Lehmkühler
>              Labels: patch, performance
>             Fix For: 2.0.0
>
>         Attachments: patch.diff
>
>
> The problem appears in version 1.8.2 and in revision 1497941.  I
> attached a two-line patch (patch.diff) that fixes it.
> In method "PDCIDFontType2Font.readCIDToGIDMapping", the loop: 
> "for(int offset = 0;offset < numberOfInts;offset++)" 
> keeps overriding "cid2gid[index]" with "getCodeFromArray(mapAsBytes,
> offset, 2)", where "index" does not change in the loop ("index" is
> always "0").  Therefore, only the last written value is visible out of
> the loop and all the previous writes and iterations are not necessary.
> The patch iterates from the end of the loop and breaks the first time
> when "cid2gid[index]" is set.  The code can be further simplified, but
> I leave it like this to make the patch easy to follow.
> My patch preserves the original code behavior, but note that the
> original code (not the patch) may be incorrect to start with: maybe
> the code is not supposed to keep overriding "cid2gid[index]" (with
> "index" never changing in the loop, with value "0" all the time), but
> rather to also change "index".  Maybe the code was supposed to be
> something like "cid2gid[index++]".

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to