You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-dev@xmlgraphics.apache.org by "Julian Müller (Jira)" <ji...@apache.org> on 2022/08/10 21:03:00 UTC

[jira] [Created] (FOP-3087) PDFTranscoder fails to auto-detect system fonts by default

Julian Müller created FOP-3087:
----------------------------------

             Summary: PDFTranscoder fails to auto-detect system fonts by default
                 Key: FOP-3087
                 URL: https://issues.apache.org/jira/browse/FOP-3087
             Project: FOP
          Issue Type: Bug
    Affects Versions: 2.7, 2.6, 2.4, 2.5
            Reporter: Julian Müller


Contrary to the documentation, the PDFTranscoder fails to auto-detect system fonts by default, and also does not honor transcoding hint KEY_AUTO_FONTS = true.

This is because the implicitly built configuration is not set up correctly. Line 163
{code:java}
                c.addChild(fonts); {code}
in AbstractFOPTranscoder needs to be moved after line 165, which is
{code:java}
                fonts.addChild(autodetect); {code}
 
A simple workaround to this problem is to explicitly pass a correctly set up configuration to PDFTranscoder, however, it would be preferable if PDFTranscoder would just honor its contract.

I think this bug was introduced by FOP-2733, due to a subtle difference in Avalon's configuration package and its replacement. Avalon's configuration package allowed the addition of children in any order, but the new FOP configuration package adds copies instead of the original children, so the configuration tree needs to be built from the leaves to the root node. As of now, the code in AbstractFOPTranscoder does not follow this new requirement and instead builds the configuration tree from the root to the leaf.



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