Hello,

    this is a duplicate request:

    could you please review the following fix:

fix: http://cr.openjdk.java.net/~alitvinov/8023990/webrev.00 <http://cr.openjdk.java.net/%7Ealitvinov/8023990/webrev.00>
bug: https://bugs.openjdk.java.net/browse/JDK-8023990

When the FcFontConfiguration was added for using fontconfig on a set of Linux platforms (as well as OpenSolaris) (the corresponding rfe is here <https://bugs.openjdk.java.net/browse/JDK-8023990>), the implementation of the method FcFontConfiguration.getFontDescriptors() returned just an empty array. This functionality is actually not used by anyone except of the PSPrinterJob which tries to find out whether the string could be represented using PS embedded font. If this procedure fails then the PSPrinterJob falls back to glyphs outline printing. As I understand this normally happened for strings containing non-ASCII characters. For ASCII strings PSPrinterJob usually selected the PS embedded font. With the addition of FcFontConfiguration even ASCII strings output starts to fall back to outlines.

The fix is some basic implementation of the getFontDescriptors() functionality. The returned FontDecriptors don't contain missing glyph information. Though it might be queried from the fontconfig library (with some additional effort) this doesn't change the behavior of PSPrinterJob, since all the fonts has the ISO 10646 encoding (UTF-8), and the PSPrinterJob will still be falling back to outlines for any non-ASCII strings.

Thanks!
Anton.

Reply via email to