Uploaded image for project: 'PDFBox'
  1. PDFBox
  2. PDFBOX-2245

java.lang.StringIndexOutOfBoundsException in PDTrueTypeFont.getGIDForCharacterCode

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 2.0.0
    • 2.0.0
    • Parsing
    • None

    Description

      I get this exception with the attached file:

      java.lang.StringIndexOutOfBoundsException: String index out of range: 0
              at java.lang.String.codePointAt(Unknown Source)
              at org.apache.pdfbox.pdmodel.font.PDTrueTypeFont.getGIDForCharacterCode(PDTrueTypeFont.java:452)
              at org.apache.pdfbox.rendering.font.TTFGlyph2D.getGIDForCharacterCode(TTFGlyph2D.java:178)
              at org.apache.pdfbox.rendering.font.TTFGlyph2D.getPathForCharacterCode(TTFGlyph2D.java:150)
              at org.apache.pdfbox.rendering.PageDrawer.drawGlyph2D(PageDrawer.java:354)
              at org.apache.pdfbox.rendering.PageDrawer.processGlyph(PageDrawer.java:325)
      

      The cause is that Encoding.getCharacterForName(characterName) returns an empty string. This is because characterName is ".notdef". Adobe Reader displays a gap. This can be seen at "Alumni Weekend" and "health professions". A copy & paste into an editor shows that Adobe returns a hex 1 code. My change ignores the wrong code, outputs an error message and the file renders like in adobe reader.

      Attachments

        1. PDFBOX-2245-052567.pdf
          12 kB
          Tilman Hausherr

        Activity

          People

            tilman Tilman Hausherr
            tilman Tilman Hausherr
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: