diff options
Diffstat (limited to 'Master/texmf-dist/doc/fonts/amiri/sources/contextuals.fea')
-rw-r--r-- | Master/texmf-dist/doc/fonts/amiri/sources/contextuals.fea | 25 |
1 files changed, 20 insertions, 5 deletions
diff --git a/Master/texmf-dist/doc/fonts/amiri/sources/contextuals.fea b/Master/texmf-dist/doc/fonts/amiri/sources/contextuals.fea index f5619dd8f0a..44fab5e365b 100644 --- a/Master/texmf-dist/doc/fonts/amiri/sources/contextuals.fea +++ b/Master/texmf-dist/doc/fonts/amiri/sources/contextuals.fea @@ -10,6 +10,12 @@ feature calt { sub @AlefHamzaBelow [uni0650]' by [uni0650.small2]; } calt; +# replace hamza mark when following a final heh by a glyph that only have a +# HamzaAbove mark so it will be positioned correctly +feature calt { + sub [uni0647 uni06D5 uni06C1 uni0647.fina uni06D5.fina uni06C1.fina] [uni0654]' by hamza.above; +} calt; + lookup AboveHaaInit { sub @aBaa.init by @aBaa.init_BaaHaaInit; sub @aHaa.medi by @aHaa.medi_SadHaaInit; @@ -86,9 +92,15 @@ lookup HighBaa { feature calt { lookupflag IgnoreMarks; + # hack to prevent double high baa in سببس and likes + sub [@aSen.init @aSen.medi]' + [@aBaa.medi]' + [@aBaa.medi]' lookup HighBaa + [@aSen.medi @aSen.fina]'; + sub [@aBaa.medi @aSad.init @aSad.medi @aSen.init @aSen.medi @aBaa.medi_BaaBaaInit] [@aBaa.medi]' lookup HighBaa - [@aBaa.fina @aBaa.medi @aSen.fina @aSen.medi @aBaa.medi_BaaHehMedi @aSen.medi_PreYaa]; + [@aBaa.fina @aBaa.medi @aSen.fina @aBaa.medi_BaaHehMedi @aSen.medi @aSen.medi_PreYaa]; sub [@aBaa.medi]' lookup HighBaa [@aSen.fina @aSen.medi @aSen.medi_PreYaa]; sub [@aBaa.init]' lookup HighBaa @@ -128,6 +140,7 @@ lookup BaaSenAltInit { sub @aBaa.init by @aBaa.init_BaaSenAltInit; sub @aRaa.fina by @aRaa.fina_PostTooth; sub @aSen.medi by @aSen.medi_BaaSenAltInit; + sub @aHeh.medi by @aHeh.medi_PostTooth; sub @aYaa.fina by @aYaa.fina_PostTooth; sub @aMem.fina by @aMem.fina_PostTooth; } BaaSenAltInit; @@ -624,7 +637,7 @@ feature calt { sub [@aBaa.init]' lookup BaaSenAltInit [@aSen.medi]' lookup BaaSenAltInit - [@aRaa.fina @aYaa.fina @aMem.fina]' lookup BaaSenAltInit; + [@aHeh.medi @aRaa.fina @aYaa.fina @aMem.fina]' lookup BaaSenAltInit; sub [@aLam.init]' lookup LamHaaHaaInit [@aHaa.medi]' lookup LamHaaHaaInit @@ -741,7 +754,10 @@ feature calt { [@aAlf.fina @aAlf.fina_LamAlfFina]; sub [@aBaa.init]' lookup BaaSenInit - [@aSen.medi @aSen.fina]' lookup BaaSenInit; + [@aSen.medi]' lookup BaaSenInit; + + sub [@aBaa.init]' lookup BaaSenAltInit + [@aSen.fina]' lookup BaaSenInit; sub [@aKaf.medi]' lookup KafRaaFina [@aRaa.fina]' lookup KafRaaFina; @@ -895,12 +911,11 @@ lookup HehMediTooth { sub @aSad.medi by @aSad.medi_PreYaa; sub @aSen.init by @aSen.init_PreYaa; sub @aSen.medi by @aSen.medi_PreYaa; - sub @aSen.medi_BaaSenInit by @aSen.medi_BaaSenAltInit; } HehMediTooth; feature calt { lookupflag IgnoreMarks; - sub [@aSad.init @aSad.medi @aSen.init @aSen.medi @aSen.medi_BaaSenInit]' lookup HehMediTooth + sub [@aSad.init @aSad.medi @aSen.init @aSen.medi]' lookup HehMediTooth [@aHeh.medi]' lookup HehMediTooth; } calt; |