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)
>