Hello Anton,
now the fix looks fine to me.
Thanks,
Andrew
On 1/29/2014 5:23 PM, anton nashatyrev wrote:
Hello,
Andrew, thanks for review in offline! Here is the corrected fix:
http://cr.openjdk.java.net/~anashaty/8023990/webrev.01/
<http://cr.openjdk.java.net/%7Eanashaty/8023990/webrev.01/>
Thanks!
Anton.
On 28.01.2014 22:52, anton nashatyrev wrote:
Hello,
please review the following fix for JDK-9.
Phil, Andrew,
the fix had been approved by you for JDK-8 (but not yet pushed),
this is the 'backport' to JDK-9. The patch has been applied without
any modifications. The fix for JDK-9 was tested with the bug testcase
and Font2D demo.
bug: https://jbs.oracle.com/bugs/browse/JDK-8023990
fix for JDK-8: http://cr.openjdk.java.net/%7Ealitvinov/8023990/webrev.00
fix for JDK-9:
http://cr.openjdk.java.net/~anashaty/8023990/webrev.00/
<http://cr.openjdk.java.net/%7Eanashaty/8023990/webrev.00/>
[description from original review]
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.