Details
-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: 6.1.3
-
Fix Version/s: 6.2.2
-
Component/s: Core/Rendering
-
Labels:None
-
Environment:All
-
Support Case References:Support Case #13981 - https://icesoft.my.salesforce.com/5007000001gOEta
Description
In the provided PDF file, there are a number of bullet points and dashes in the content. When rendering in ICEpdf, these characters are rendered as a box. No errors are seen in the logs.
There are a few fonts in this file that use a cidToGlyph map that does not contain correct mapping for the squares in question. For example the 'iacute' character is 146 in ascii but the font in question assumes that we can magically map it to the 209 which point to glyph 67.
I've added some code to the content parser to check if a font can show a particular character if it can't we fall back to font substitution which generally allows the ascii code to be correctly found.
the code is unfortunately a bit slower so I've created a new system property to turn it on. The property org.icepdf.core.enabledFontFallback is false by default but when enabled will correctly render the PDF. Hopefully the underlying mapping issue can be fixed in the future.