[OpenJDK 2D-Dev] RFR: 7017058: Malayalam glyph substitution is failing for Malayalam with Windows Kartika font.
Philip Race
philip.race at oracle.com
Wed Sep 5 00:40:29 UTC 2018
This fixes 3 submitted bugs
https://bugs.openjdk.java.net/browse/JDK-7017058 : the Malayalam bug above
And also
https://bugs.openjdk.java.net/browse/JDK-8191130 :
Sinhala text rendering problem with C+VIRAMA+ZWJ+RA/YA+V
and
https://bugs.openjdk.java.net/browse/JDK-8195836:
opentype:Bengali: "Khanda Ta" shaping issue with U+09A4 TA, U+09CD
virama, U+200D ZWJ
Webrev: http://cr.openjdk.java.net/~prr/7017058/
As discussed in the evaluation of 7017058, this is because of some code
which
always maps several unicode formatting characters to the invisible glyph to
ensure it is never rendered as a missing glyph box.
But if the opentype tables in a font have glyph substitution looks ups that
depend on that font's actual mapping of those glyphs then they are broken.
We have had several reports of this (above) and also complaints this breaks
Emoji family ligature substitution.
The fix changes this to first consult the font to see if it does map
these codepoints.
If it does not then we still will map to the empty glyph in which case
clearly the
font can't have any lookup that depends on it.
The variable origCharCode is added because several of the methods mutate
charCode
and we avoid risk with this approach.
The tab, NL and CR code points are still always mapped to the empty glyph
since they are never going to be used by layout in this way and some fonts
map TAB to a space char which is not what we want.
-phil.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/2d-dev/attachments/20180904/743ccb81/attachment.html>
More information about the 2d-dev
mailing list