[
https://issues.apache.org/jira/browse/PDFBOX-4793?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17052292#comment-17052292
]
Christian Appl edited comment on PDFBOX-4793 at 3/5/20, 4:09 PM:
-----------------------------------------------------------------
Get well soon!!
I gave one of your first suggestions a shot (Ausschluss mapping), to verify,
that it would theoretically work:
{code:java}
private PriorityQueue<FontMatch> getFontMatches(PDFontDescriptor
fontDescriptor,
PDCIDSystemInfo
cidSystemInfo) {
PriorityQueue<FontMatch> queue = new PriorityQueue<FontMatch>(20);
for (FontInfo info : fontInfoByName.values()) {
// ignore Malgun gothic
if (info.getPostScriptName().startsWith("MalgunGothic")) {
continue;
}
// filter by CIDSystemInfo, if given
if (cidSystemInfo != null && !isCharSetMatch(cidSystemInfo, info)) {
continue;
}
{code}
And the issue was resolved - another Font was selected and the PDF rendered
just fine.
!screenshot-7.png!
However: Is it really a good idea to flatout deny rendering with a specific
font? Concerning the blacklist idea: I would expect, that this could cause
issues with other documents (using korean letters).
I think I like your current idea better to differentiate using the bit flags.
*However:* Just giving the feedback - Yes, if the malgun font wasn't selected
on my system, the PDF would render perfectly fine.
was (Author: capsvd):
Get well soon!!
I gace one of your first suggestions a shot (Ausschluss mapping), to verify,
that it would theoretically work:
{code:java}
private PriorityQueue<FontMatch> getFontMatches(PDFontDescriptor
fontDescriptor,
PDCIDSystemInfo
cidSystemInfo) {
PriorityQueue<FontMatch> queue = new PriorityQueue<FontMatch>(20);
for (FontInfo info : fontInfoByName.values()) {
// ignore Malgun gothic
if (info.getPostScriptName().startsWith("MalgunGothic")) {
continue;
}
// filter by CIDSystemInfo, if given
if (cidSystemInfo != null && !isCharSetMatch(cidSystemInfo, info)) {
continue;
}
{code}
And the issue was resolved - another Font was selected and the PDF rendered
just fine.
!screenshot-7.png!
However: Is it really a good idea to flatout deny rendering with a specific
font? Concerning the blacklist idea: I would expect, that this could cause
issues with other documents (using korean letters).
I think I like your current idea better to differentiate using the bit flags.
*However:* Just giving the feedback - Yes, if the malgun font wasn't selected
on my system, the PDF would render perfectly fine.
> 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: PDFJS-10699.pdf, 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,
> screenshot-7.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]