diff options
Diffstat (limited to 'Master/texmf-dist/doc/fonts/amiri/sources/kashida.fea')
-rw-r--r-- | Master/texmf-dist/doc/fonts/amiri/sources/kashida.fea | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/fonts/amiri/sources/kashida.fea b/Master/texmf-dist/doc/fonts/amiri/sources/kashida.fea new file mode 100644 index 00000000000..bb54f142a6c --- /dev/null +++ b/Master/texmf-dist/doc/fonts/amiri/sources/kashida.fea @@ -0,0 +1,30 @@ +# Kashida justification as implemented in most, if not all, applications is +# broken by design; it inserts kashidas *after* doing OT layout which makes it +# impossible for OT code to interact with those kashidas breaking all sorts of +# things. +# To trick LibreOffice/MS Office to not do kashida justification we set the +# default kashida to a zero width, blank glyph which makes them to think there +# is no suitable kashida glyph, resorting back to regular justification +# To get manually inserted kashida working we use an rlig feature to map to the +# actual kashida glyph(s). + +feature rlig { + lookupflag IgnoreMarks; + sub uni0640 uni0640 uni0640 uni0640 by uni0640.4; + sub uni0640 uni0640 uni0640 by uni0640.3; + sub uni0640 uni0640 by uni0640.2; +} rlig; + +# should be merged with the bove lookup, FF ignores it for some reason. +feature rlig { + lookupflag IgnoreMarks; + sub uni0640 by uni0640.1; +} rlig; + +feature rlig { + lookupflag IgnoreMarks; + sub uni0640.1 uni0627.fina by uni0627.fina_Tatweel; + sub uni0640.2 uni0627.fina by uni0627.fina_Tatweel; + sub uni0640.3 uni0627.fina by uni0627.fina_Tatweel; + sub uni0640.4 uni0627.fina by uni0627.fina_Tatweel; +} rlig; |