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

Can't encode Euro with WinAnsiEncoding

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 2.0.0
    • 2.0.0
    • AcroForm, PDModel
    • None

    Description

      From the users mailing list when trying to set a field value to the Euro sign the following exception occurs

      Exception in thread "main" java.lang.IllegalArgumentException: No glyph for U+20AC in font Arial
      	at org.apache.pdfbox.pdmodel.font.PDTrueTypeFont.encode(PDTrueTypeFont.java:267)
      	at org.apache.pdfbox.pdmodel.font.PDFont.encode(PDFont.java:268)
      	at org.apache.pdfbox.pdmodel.font.PDFont.getStringWidth(PDFont.java:297)
      	at org.apache.pdfbox.pdmodel.interactive.form.AppearanceGeneratorHelper.calculateHorizontalOffset(AppearanceGeneratorHelper.java:564)
      	at org.apache.pdfbox.pdmodel.interactive.form.AppearanceGeneratorHelper.insertGeneratedAppearance(AppearanceGeneratorHelper.java:305)
      	at org.apache.pdfbox.pdmodel.interactive.form.AppearanceGeneratorHelper.createAppearanceContent(AppearanceGeneratorHelper.java:228)
      	at org.apache.pdfbox.pdmodel.interactive.form.AppearanceGeneratorHelper.setAppearanceValue(AppearanceGeneratorHelper.java:203)
      	at org.apache.pdfbox.pdmodel.interactive.form.AppearanceGenerator.generateFieldAppearances(AppearanceGenerator.java:61)
      	at org.apache.pdfbox.pdmodel.interactive.form.PDField.updateFieldAppearances(PDField.java:121)
      	at org.apache.pdfbox.pdmodel.interactive.form.PDTextField.setValue(PDTextField.java:289)
      

      A small test loading the extracted font ArialMT directly with

          PDTrueTypeFont font2 = PDTrueTypeFont.loadTTF(document, new File("ArialMT.ttf"));
          font2.encode("€");
      

      gives the same error whereas using

          PDType0Font font = PDType0Font.load(document, new File("ArialMT.ttf"));
          font.encode("€");
      

      the error doesn't happen.

      Attachments

        1. ArialMT.ttf
          693 kB
          Maruan Sahyoun
        2. test2.pdf
          451 kB
          Maruan Sahyoun
        3. PdfTest.java
          0.6 kB
          Maruan Sahyoun
        4. test.pdf
          459 kB
          Maruan Sahyoun

        Activity

          People

            Unassigned Unassigned
            msahyoun Maruan Sahyoun
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: