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

Jaromír Dobrý commented on PDFBOX-5713:
---------------------------------------

[~tilman] At least please add check that the segments are in the order expected 
in PFB file (ASCII segments first, then binary). Otherwise you will corrupt the 
font in case they weren't (I am almost sure that this won't happen but just to 
be on the safer side).
Regarding the file I posted. It is certainly some kind of abuse of the PFB 
specification but if you read the specification of the IBM PC format carefully, 
this will pass (almost - I probably forgotten the EOF marker but it doesn't 
matter here).

> PfbParser fails to parse PFB font with multiple binary records.
> ---------------------------------------------------------------
>
>                 Key: PDFBOX-5713
>                 URL: https://issues.apache.org/jira/browse/PDFBOX-5713
>             Project: PDFBox
>          Issue Type: Bug
>          Components: FontBox
>    Affects Versions: 3.0.0 PDFBox
>            Reporter: Jaromír Dobrý
>            Priority: Major
>         Attachments: 5040.Download_Fonts.pdf, DejaVuSerifCondensed.pfb, 
> PDFBOX-5713.diff, PDFBOX-5713_minimal.diff, pfa_wrapped.pfb, 
> type1_embedded.pdf
>
>
> * The attached PFB font can be opened in FontForge but PfbParser in fontbox 
> fails to read it.
>  * The problem is that fontbox assumes there are three records (ascii, 
> binary, ascii) in the PFB file but the binary part is split into multiple 
> shorter chunks (i.e. ascii, binary, ..., binary, ascii).
>  * I didn't find that this is forbidden and according to FontForge behavior 
> it seems to be valid.
>  * The fix seems to be easy, it is probably sufficient to concatenate the 
> binary records together in PfbParser and the result will work correctly.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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

Reply via email to