[OpenJDK 2D-Dev] RFR: 7017058: Malayalam glyph substitution is failing for Malayalam with Windows Kartika font.
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
Sinhala text rendering problem with C+VIRAMA+ZWJ+RA/YA+V
opentype:Bengali: "Khanda Ta" shaping issue with U+09A4 TA, U+09CD
virama, U+200D ZWJ
As discussed in the evaluation of 7017058, this is because of some code
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
If it does not then we still will map to the empty glyph in which case
font can't have any lookup that depends on it.
The variable origCharCode is added because several of the methods mutate
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.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the 2d-dev