[ https://issues.apache.org/jira/browse/PDFBOX-922?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12972933#action_12972933 ]
Thanos Agelatos commented on PDFBOX-922: ---------------------------------------- Andreas, thank you for the reply. I assumed that since code affected from PDFBOX-654 does some Identity-H parsing from the PDF the opposite could achieve what is requested here. Anyways, do you have some planning on when this feature will be come available? Limiting to WinAnsi is taking out many of the languages that we want PDFs generated for. thanks in advance Thanos > True type PDFont subclass only supports WinAnsiEncoding (hardcoded!) > -------------------------------------------------------------------- > > Key: PDFBOX-922 > URL: https://issues.apache.org/jira/browse/PDFBOX-922 > Project: PDFBox > Issue Type: New Feature > Components: FontBox, PDModel, Writing > Affects Versions: 1.3.1 > Environment: JDK 1.6 / OS irrelevant, tried against 1.3.1 and 1.2.0 > Reporter: Thanos Agelatos > > PDFBox cannot embed Identity-H or Identity-V type TTF fonts in the PDF it > creates, making it impossible to create PDFs in any language apart from > English and ones supported in WinAnsiEncoding. This behaviour is caused > because method PDTrueTypeFont.loadTTF has hardcoded WinAnsiEncoding inside, > and there is no Identity-H or Identity-V Encoding classes provided (to set > afterwards via PDFont.setFont() ) > This excludes the following languages plus many others: > - Greek > - Bulgarian > - Swedish > - Baltic languages > - Malteze > The PDF created contains garbled characters and/or squares. > Simple test case: > PDDocument doc = null; > try { > doc = new PDDocument(); > PDPage page = new PDPage(); > doc.addPage(page); > // extract fonts for fields > byte[] arialNorm = extractFont("arial.ttf"); > //byte[] arialBold = extractFont("arialbd.ttf"); > //PDFont font = PDType1Font.HELVETICA; > PDFont font = PDTrueTypeFont.loadTTF(doc, new > ByteArrayInputStream(arialNorm)); > > PDPageContentStream contentStream = new > PDPageContentStream(doc, page); > contentStream.beginText(); > contentStream.setFont(font, 12); > contentStream.moveTextPositionByAmount(100, 700); > contentStream.drawString("Hello world from PDFBox > ελληνικά"); // text here may appear garbled; insert any text in Greek or > Bulgarian or Malteze > contentStream.endText(); > contentStream.close(); > doc.save("pdfbox.pdf"); > System.out.println(" created!"); > } catch (Exception ioe) { > ioe.printStackTrace(); > } finally { > if (doc != null) { > try { doc.close(); } catch (Exception e) {} > } > } -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.