summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/fonts/amiri/sources/contextuals.fea
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/doc/fonts/amiri/sources/contextuals.fea')
-rw-r--r--Master/texmf-dist/doc/fonts/amiri/sources/contextuals.fea25
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;