Re: Font names using multi-byte strings
Chris Bowditch <[email protected]> Fri, 23 Jan 2026 14:43:59 +0000
| Newsgroups | gmane.text.xml.fop.user |
|---|---|
| Message-ID | <GVYP280MB0270149B0FAF736E2536BA21FB94A@GVYP280MB0270.SWEP280.PROD.OUTLOOK.COM> |
Hi Mark, Are you able to attach your PDF so we can replicate this? Thanks, Chris On 15/01/2026 17:09, Mark Gibson wrote: > > Hi, > > I thought I’d just poll the community on this one, as I can’t see it > reported anywhere. > > We have a PDF that lists its fonts using Japanese characters (in this > case, it’s MS Gothic and MS PGothic, where “Gothic” actually is in > Japanese characters). > > When trying to import that image using fo:external-graphic > (fop-pdf-images.jar), we get an exception with the message “Only 8-bit > characters allowed by this implementation”. > > In reviewing FOP code, org.apache.fop.pdf.PDFName.toHex() throws this > exception if the character id is > 256. > > Does this mean FOP cannot handle cases where the names of PDF records > are not in simple ascii range? > > Caused by: java.lang.IllegalArgumentException: Only 8-bit characters > allowed by this implementation > > at org.apache.fop.pdf.PDFName.toHex(PDFName.java:78) > > at org.apache.fop.pdf.PDFName.escapeName(PDFName.java:64) > > at org.apache.fop.pdf.PDFName.<init>(PDFName.java:42) > > at > org.apache.fop.render.pdf.pdfbox.PDFCloner.cloneForNewDocument(PDFCloner.java:106) > > at > org.apache.fop.render.pdf.pdfbox.PDFCloner.readCOSDictionary(PDFCloner.java:154) > > at > org.apache.fop.render.pdf.pdfbox.PDFCloner.cloneForNewDocument(PDFCloner.java:104) > > at > org.apache.fop.render.pdf.pdfbox.PDFCloner.readCOSObject(PDFCloner.java:134) > > at > org.apache.fop.render.pdf.pdfbox.PDFCloner.cloneForNewDocument(PDFCloner.java:84) > > at > org.apache.fop.render.pdf.pdfbox.PDFCloner.readCOSDictionary(PDFCloner.java:154) > > at > org.apache.fop.render.pdf.pdfbox.PDFCloner.cloneForNewDocument(PDFCloner.java:104) > > at > org.apache.fop.render.pdf.pdfbox.PDFCloner.readCOSDictionary(PDFCloner.java:154) > > at > org.apache.fop.render.pdf.pdfbox.PDFCloner.cloneForNewDocument(PDFCloner.java:104) > > at > org.apache.fop.render.pdf.pdfbox.PDFBoxAdapter.cloneForNewDocument(PDFBoxAdapter.java:141) > > at > org.apache.fop.render.pdf.pdfbox.PDFBoxAdapter.createStreamFromPDFBoxPage(PDFBoxAdapter.java:212) > > at > org.apache.fop.render.pdf.pdfbox.AbstractPDFBoxHandler.createStreamForPDF(AbstractPDFBoxHandler.java:111) > > at > org.apache.fop.render.pdf.pdfbox.PDFBoxImageHandler.handleImage(PDFBoxImageHandler.java:77) >