ICEpdf
  1. ICEpdf
  2. PDF-357

Some Text being placed in reverse order

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 4.2.2
    • Fix Version/s: 4.3
    • Component/s: Core/Parsing
    • Labels:
      None
    • Environment:
      any

      Description

      The PDF posted on the forms exhibits several glyph placement issues. I'll have to take a closer look but likely a corner case in the layout rules.

        Activity

        Patrick Corless created issue -
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #26671 Thu Dec 01 08:28:37 MST 2011 patrick.corless PDF-357 updated getLiteralStringBuffer() algorith to correctly process 2byte and 4byte zero based CID's. The previous algorithm was returning an empty string when a zero CID was encountered and threw off the layout of the sample PDF.
        Files Changed
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/HexStringObject.java
        Hide
        Patrick Corless added a comment -

        The issue turns out to be a very specific corner case for CID fonts. In short when when convert "\u0000" to a string we where returning an empty String in stead of a valid "0" cid. There are two caes "00" -> "0" or "0000" -> "0". Our HexStringObject.getLiteralStringBuffer() was incorrectly assuming that cid's couldn't be zero. I touched up the algorithm to not ignore a zero cid.

        Show
        Patrick Corless added a comment - The issue turns out to be a very specific corner case for CID fonts. In short when when convert "\u0000" to a string we where returning an empty String in stead of a valid "0" cid. There are two caes "00" -> "0" or "0000" -> "0". Our HexStringObject.getLiteralStringBuffer() was incorrectly assuming that cid's couldn't be zero. I touched up the algorithm to not ignore a zero cid.
        Hide
        Patrick Corless added a comment -

        Corrected the getLiteralStringBuffer() method to correctly handle the zero'd CIDs.

        Show
        Patrick Corless added a comment - Corrected the getLiteralStringBuffer() method to correctly handle the zero'd CIDs.
        Patrick Corless made changes -
        Field Original Value New Value
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Ken Fyten made changes -
        Status Resolved [ 5 ] Closed [ 6 ]

          People

          • Assignee:
            Patrick Corless
            Reporter:
            Patrick Corless
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: