[ 
https://issues.apache.org/jira/browse/PDFBOX-4793?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17051953#comment-17051953
 ] 

Christian Appl edited comment on PDFBOX-4793 at 3/5/20, 9:50 AM:
-----------------------------------------------------------------

[~lehmi] Agreed, the embedded subset should contain all required glyphs - but 
iText (in case of the problematic document) decided to embed a nonsensical 
subset. However, as other applications (such as PDF.js and Adobe Reader) do 
display the PDF just fine, I can not simply dismiss the document as erroneous.

It would be great if the solution was as easy as installing a new font... 
however, if everything is fine in your tests, then I seem to do something wrong 
here:

*Further information and following your instructions:*
I am using Windows10 and OpenJDK 11.0.6 - I have reinstalled ArialUnicodeMS 
(even though my OS told me, it was already installed.)
 !screenshot-2.png! 

I created a new fresh and empty project (to rule out hickups in our code) and 
added PDFBox via the following dependency to the project's pom:
 !screenshot-3.png!

I used the PDFRenderer to check whether ArialUnicode would be used to render 
the image now:
 !screenshot-4.png! 

But still Malgun is used as the fallback font:
 !screenshot-5.png! 

Still leading to the following output:
 !screenshot-6.png!

*Questions:*
What on earth am I doing wrong?
Are the determined fallback fonts cached in some way and is deleting the cache 
an option?


was (Author: capsvd):
[~lehmi] Agreed, the embedded subset should contain all required glyphs - but 
iText (in case of the problematic document) decided to embed a nonsensical 
subset. However, as other applications (such as PDF.js and Adobe Reader) do 
display the PDF just fine, I can not simply dismiss the document as erroneous.

It would be great if the solution was as easy as installing a new font... 
however, if everything is fine in your tests, then I seem to do something wrong 
here:

*Further information and following your instructions:*
I am using Windows10 - I have reinstalled ArialUnicodeMS (even though my OS 
told me, it was already installed.)
 !screenshot-2.png! 

I created a new fresh and empty project (to rule out hickups in our code) and 
added PDFBox via the following dependency to the project's pom:
 !screenshot-3.png!

I used the PDFRenderer to check whether ArialUnicode would be used to render 
the image now:
 !screenshot-4.png! 

But still Malgun is used as the fallback font:
 !screenshot-5.png! 

Still leading to the following output:
 !screenshot-6.png!

*Questions:*
What on earth am I doing wrong?
Are the determined fallback fonts cached in some way and is deleting the cache 
an option?

> Questionable fallback font for some embedded chinese fonts
> ----------------------------------------------------------
>
>                 Key: PDFBOX-4793
>                 URL: https://issues.apache.org/jira/browse/PDFBOX-4793
>             Project: PDFBox
>          Issue Type: Bug
>          Components: Rendering
>    Affects Versions: 2.0.18
>            Reporter: Christian Appl
>            Priority: Major
>         Attachments: image-2020-03-04-09-49-42-323.png, 
> image-2020-03-04-09-58-01-055.png, image-2020-03-04-10-09-25-343.png, 
> image-2020-03-04-10-31-03-065.png, pdf_font-zhcn.pdf, screenshot-2.png, 
> screenshot-3.png, screenshot-4.png, screenshot-5.png, screenshot-6.png
>
>
> *Issue:*
> I tried to render PDFs, that contain embedded chinese fonts. Neither the PDF 
> Debugger, nor printouts of the document (PDFPrintable), nor the PDFRenderer 
> can display/render the chinese glyphs correctly and will render placeholders 
> instead.
> *Assumptions:*
> I assume, that said embedded fonts are incomplete and don't contain all 
> glyphs, that would be required to render the text properly and therefore 
> PDFbox attempts to use the previously determined fallback font. (!?)
>  !image-2020-03-04-09-49-42-323.png! 
>  !image-2020-03-04-09-58-01-055.png! 
> And fails to find the glyphs in said fallback font.
> Which is not surprising, as the Fallback font "MalgunGothic-Semilight" 
> (Windows standard font) does not contain chinese characters.
>  !image-2020-03-04-10-09-25-343.png! 
> *Debugging:*
> I tried to understand how the fallback font is determined and what could be 
> done to solve this problem on my end. But I was unable to find a satisfying 
> solution.
> My best guess so far is, that the CIDFontMapping (FontMapperImpl) is to blame 
> for determining an unfit fallback font.
> Although it seems to check, whether required codepages are contained in a 
> fallback font, it still does rank the Malgun font as the topscorer and best 
> substitute font, even though it does clearly not contain all required 
> codepages.
> *My opinion:*
> This is troubling, as better fit fonts exist and could have been selected. 
> (ie.: Adobe Stong Std) And are indeed included in the CIDFontMapping, but 
> seemingly are scoring lower for some reason.
> *Further information:*
> I can not disclose the document in question, however I found a document 
> (pdf_font-zhcn.pdf) in another issue (PDFBOX-3132), that can be used to 
> reproduce the issue (ie.: by dropping it into the PDF Debugger)
>  !image-2020-03-04-10-31-03-065.png! 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to