The GSUB table for Noto Sans Javanese contains several rules that
- assume character sequences that are invalid according to the Unicode Standard
and to the OpenType specification for Javanese,
- assume glyph sequences that can't occur when GSUB rules are processed because
of prior OpenType reordering, or
- assume glyph sequences that can't occur because of earlier GSUB rules.
Specification references:
http://www.unicode.org/versions/Unicode7.0.0/ch17.pdf
http://www.microsoft.com/typography/OpenTypeDev/javanese/intro.htm
1) Lookup 1 defines a ligature for the sequence uniA9B8 uniA9BF. U+A9B8 is a
vowel, U+A9BF a medial consonant, and according to the specifications vowels
always follow medial consonants in well-formed syllables. The ligature is
therefore not formed for well-formed text.
2) Lookup 2 defines an alternate glyph for the pasangan form of uniA9B0 if it
precedes one of the vowels uniA9BA or uniA9BB. These sequences are valid at the
character level, but cannot occur at the stage where GSUB rules are processed
because a shaper implementing the OpenType Javanese specification reorders
these vowels to the beginning of the syllable.
Note: Lookup 4 similarly defines ligatures for the pasangan forms of uniA9A5,
uniA9A6, uniA9B1, and uniA9B2 if they precede one of the vowels uniA9BA or
uniA9BB; however, unlike Lookup 2 it is used only for the DFLT writing system,
when Javanese-specific reordering rules aren't applied.
3) Lookup 3 defines a ligature to replace either uniA981 uniA9BC or uniA9BC
uniA981. Only uniA9BC uniA981 is a valid sequence according to the
specifications.
4) Lookup 6 includes glyph00119, which is a ligature for uniA994 and uniA9B8,
as context for uniA9B8. A sequence of two U+A9B8 is not valid according to the
Unicode standard (although the OpenType specification strangely allows it).
5) Lookup 11 defines ligatures for the pasangan forms of uniA994, uniA997,
uniA99B, uniA99D, uniA9AE followed by uniA9B8; however, Lookup 6 already maps
uniA9B8 to a below-pasangan form when following these pasangan forms, so the
ligature rule can't match uniA9B8.
Noto Sans Javanese 1.01
Original issue reported on code.google.com by googled...@lindenbergsoftware.com on 20 Jan 2015 at 11:38
Original issue reported on code.google.com by
googled...@lindenbergsoftware.com
on 20 Jan 2015 at 11:38