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

Can't show text (glyph) from ZapfDingbats font

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 2.0.0, 2.0.2, 2.0.3, 3.0.0 PDFBox
    • Fix Version/s: 2.0.3, 3.0.0 PDFBox
    • Component/s: FontBox
    • Labels:
      None
    • Environment:
      Linux (kernel "3.19.0-32 generic"), Java "build 1.8.0_66-b17".

      Description

      I am unable to add glyphs from the standard ZapfDingbats font to a PDF document. The issue seems to be that the encoding for the font (WinAnsiEncoding) does not have mappings for the "non-ASCII (???)" PDF names used in the font ("aXX"). (However, the PDSimpleFont.glyphList does contain mappings between Unicode codepoints and PDF names.)

      Sample code:

      PDDocument document = PDDocument.load(new File("myfile.pdf"));
      PDPage page = document.getPages().get(0); // first page
      PDPageContentStream contentStream = new PDPageContentStream(document, page, AppendMode.APPEND, true);
      
      PDType1Font font = PDType1Font.ZAPF_DINGBATS;
      String glyph = "\u2714";
      
      contentStream.beginText();
      contentStream.setFont(font, fontSize);
      contentStream.newLineAtOffset(10, 10); // towards lower left corner of page
      contentStream.showText(glyph);
      contentStream.endText();
      contentStream.close();
      
      document.save("output.pdf");
      document.close();
      

      Exception thrown:

      Exception in thread "main" java.lang.IllegalArgumentException: U+2714 ('a20') is not available in this font's encoding: WinAnsiEncoding
          at org.apache.pdfbox.pdmodel.font.PDType1Font.encode(PDType1Font.java:345)
          at org.apache.pdfbox.pdmodel.font.PDFont.encode(PDFont.java:286)
          :
      

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                tilman Tilman Hausherr
                Reporter:
                fif Friedwin Fleischmann
              • Votes:
                1 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: