Remove final pause from Arabic shaper
authorBehdad Esfahbod <behdad@behdad.org>
Mon, 7 Dec 2015 20:38:47 +0000 (21:38 +0100)
committerBehdad Esfahbod <behdad@behdad.org>
Mon, 7 Dec 2015 20:38:47 +0000 (21:38 +0100)
commit98460779bae19e4d64d29461ff154b3527bf8420
tree76bab69b172ca724ba10cfcac3cab7cdecf2fb24
parentdee0fbf9e2eac8b61730efc4978bc10c552b5227
Remove final pause from Arabic shaper

Back in the old days, we used to apply 'calt' and 'cswh' in Arabic shaper,
with a pause in between.  Then we disabled the 'cswh' because Microsoft
disabled it, but forgot to remove the unnecessary pause.  Do that now.

This has the benefit that it fixes shaping with monbaiti from Windows 10.
In that version of that font, the lookups from 'calt' are duplicated in
'rclt', and Mongolian was changed to go through Universal Shaping Engine.
We still use the Arabic shaper for Mongolian.  With a pause after 'calt',
we were applying the duplicate lookups from 'calt' and 'rclt' twice.  It
happened to be the case that these lookups were NOT idempotent.  So we
were getting wrong shaping.  See thread "Windows 10 monbaiti.ttf upgrade
(5.01 -> 5.51) caused loss of diacritical marks when shaped with harfbuz"
on the mailing list.  This fixes that.
src/hb-ot-shape-complex-arabic.cc