Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 5.0.5
    • Fix Version/s: 5.0.6
    • Component/s: Core/Parsing
    • Labels:
      None
    • Environment:
      All

      Description

      With the provided PDF the fonts on the page are rendered incorrectly and look to be random characters. The following is logged for the font substitution:

      Apr 02, 2014 11:01:36 AM org.icepdf.core.pobjects.fonts.FontManager findFont
      FINER: ----> Found font: couriernewpsmt family: Plain for: CourierNew C:\Windows\Fonts\cour.ttf
      Apr 02, 2014 11:01:36 AM org.icepdf.core.pobjects.fonts.FontManager getInstance
      FINE: Font Substitution: Found type1 font: CourierNewPSMT for named font Courier
      Apr 02, 2014 11:01:36 AM org.icepdf.core.pobjects.fonts.FontManager findFont
      FINER: ----> Found font: couriernewps-boldmt family: Bold for: CourierNew,Bold C:\Windows\Fonts\courbd.ttf
      Apr 02, 2014 11:01:36 AM org.icepdf.core.pobjects.fonts.FontManager getInstance
      FINE: Font Substitution: Found type1 font: CourierNewPS-BoldMT for named font Courier-Bold
      Apr 02, 2014 11:01:36 AM org.icepdf.core.pobjects.fonts.FontManager findFont
      FINER: ----> Found font: couriernewps-boldmt family: Bold for: CourierNew,Bold C:\Windows\Fonts\courbd.ttf
      Apr 02, 2014 11:01:36 AM org.icepdf.core.pobjects.fonts.FontManager getInstance
      FINE: Font Substitution: Found type1 font: CourierNewPS-BoldMT for named font Courier-Bold

        Activity

        Hide
        Patrick Corless added a comment -

        The PDF in question is using an interesting ecodeing format for the font where the differences array is referenced as an indirect object which technically against the specification. Our font parsing assumes that the differences list is of type LIst and thus skips and never parses the data found via the reference.

        Show
        Patrick Corless added a comment - The PDF in question is using an interesting ecodeing format for the font where the differences array is referenced as an indirect object which technically against the specification. Our font parsing assumes that the differences list is of type LIst and thus skips and never parses the data found via the reference.
        Hide
        Patrick Corless added a comment -

        Updated the Font class initialization object to take into the account that the differences list could be References object and thus we fetch and parse the respective list notation.

        The PDF now renders correctly.

        Show
        Patrick Corless added a comment - Updated the Font class initialization object to take into the account that the differences list could be References object and thus we fetch and parse the respective list notation. The PDF now renders correctly.

          People

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

            Dates

            • Created:
              Updated:
              Resolved: