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

John Hewson commented on PDFBOX-2467:
-------------------------------------

It's in the [Adobe Supplement to the ISO 
32000|http://www.adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/adobe_supplement_iso32000.pdf]
 in section 5.5.1. Strictly speaking, that applies to Type 1 fonts only, 
however we've found that Acrobat supports those names for any font type, i.e. 
we've gone beyond the spec into a gray area.

I'm not convinced that a Type 1 version of Arial is a viable substitute, the 
TTF version has many more glyphs, so your system Helvetica may be a better 
substitute in general. Ultimately, if you want to render this PDF correctly 
then you need to install the Arial TTF font. (How exactly did you get a Type 1 
Arial anyway?)

> Remove substitute logic from ExternalFonts
> ------------------------------------------
>
>                 Key: PDFBOX-2467
>                 URL: https://issues.apache.org/jira/browse/PDFBOX-2467
>             Project: PDFBox
>          Issue Type: Improvement
>    Affects Versions: 2.0.0
>            Reporter: Cornelis Hoeflake
>            Assignee: John Hewson
>             Fix For: 2.0.0
>
>         Attachments: patch1.diff, patch2.diff
>
>
> The ExternalFonts class does some substitute logic for fonts. There is a 
> static map which holds the substitutes and is loaded in the ExternalClass 
> file and some substitutes are got from Standards14.
> Next that map also contains some substitutes for registry fonts (I don't know 
> what it is), but it feels a bit like misusing the substitutes mechanism (with 
> prepending a $ to omit conflicts).
> As user of PDFBox I want to have the control over substitutes. For example 
> when a PDF has font TrueType Arial,Bold (windows style), and my font provider 
> has only a Type1 font for Arial Bold, the current mechanism returns the 
> Helvetica Bold font True Type font (if have one in my fontprovider).
> So I wrote a patch which allows you to wrap a fontprovider in a 
> SubstituteFontProvider. That SubstituteFontProvider does the substitute logic 
> like ExternalFonts did before. The user is in control to wrap (or let 
> ExternalFonts wrap) his own fontprovider in the SubstituteFontProvider.
> The registry fonts issue is kept in ExternalFonts and uses an own map.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to