Is there a reason that kerning of the base 14 fonts is disabled by default?

Furthermore, except by programmatic means, there does not seem to be a way
to enable it except by using FontManager.setBase14KerningEnabled() or the
deprecated method FopFactory.setBase14KerningEnabled(). This technique is
used to enable it during testing in one test case:
layoutengine/standard-testcases/kerning_1_on.xml, by means of special code
in org.apache.fop.layoutengine.TestEnvironment.

However, there appears no way for a user to enable it via non-programmitc
means. To support this (which I need in testing the new generalized position
adjustments for text drawing), I'm adding a base14-kerning element to be
placed in the top-level fop element in the FOP configuration file, e.g.,

<fop>
  ...
  <base14-kerning>true</base14-kerning>
  ...
</fop>

The rationale for making this a child of the top-level fop element is that
the enable/disable state is presently maintained in the singleton
FontManager instance, which is configured (in FontManagerConfigurator) from
other top-level children of the fop element.

For consistency, it my be better to enable base14 kerning by default, then
allow a user to disable it using the above mechanism. However, I have not
made this latter change (yet).

Comments?

G.

Reply via email to