This fixes #72, bringing the docs back up to the same regular expressions used by HarfBuzz.
The essence is that a "Consonant,Halant,ZWJ,matra" sequence should get a dotted circle inserted just before the matra. Previously, this was not done because testing indicated that Uniscribe also did not insert the dotted-circle. Subsequent testing by HarfBuzz maintainers, however, narrowed down the Uniscribe behavior to be limited to "Consonant,Halant,ZWJ,Consonant,Halant,ZWJ,matra" cases (that is, two explicit half forms, followed by a matra).
That situation is almost certainly a bug, and only of interest to shapers targeting rigorous equivalence with Uniscribe. The MS specifications do not permit that.
So, this PR updates the regular expressions to match the updated versions in HarfBuzz (which no longer permit the "Consonant,Halant,ZWJ,matra" to match, and it notes the condition and reasoning in the Uniscribe-compatibility document.
This fixes #72, bringing the docs back up to the same regular expressions used by HarfBuzz.
The essence is that a "Consonant,Halant,ZWJ,matra" sequence should get a dotted circle inserted just before the matra. Previously, this was not done because testing indicated that Uniscribe also did not insert the dotted-circle. Subsequent testing by HarfBuzz maintainers, however, narrowed down the Uniscribe behavior to be limited to "Consonant,Halant,ZWJ,Consonant,Halant,ZWJ,matra" cases (that is, two explicit half forms, followed by a matra).
That situation is almost certainly a bug, and only of interest to shapers targeting rigorous equivalence with Uniscribe. The MS specifications do not permit that.
So, this PR updates the regular expressions to match the updated versions in HarfBuzz (which no longer permit the "Consonant,Halant,ZWJ,matra" to match, and it notes the condition and reasoning in the Uniscribe-compatibility document.