diff options
Diffstat (limited to 'Master/texmf-dist/doc/fonts/amiri/sources/kerning.fea')
-rw-r--r-- | Master/texmf-dist/doc/fonts/amiri/sources/kerning.fea | 208 |
1 files changed, 0 insertions, 208 deletions
diff --git a/Master/texmf-dist/doc/fonts/amiri/sources/kerning.fea b/Master/texmf-dist/doc/fonts/amiri/sources/kerning.fea deleted file mode 100644 index 5d75e474acb..00000000000 --- a/Master/texmf-dist/doc/fonts/amiri/sources/kerning.fea +++ /dev/null @@ -1,208 +0,0 @@ -@Dal_1 = [@aDal.fina @aDal.fina_BaaDal @aDal.fina_KafDal @aDal.fina_LamDal - @aDal.isol]; -@1st_2 = [@RaaWaw @AlefHamzaBelow]; -@1st_4 = [@aHeh.isol @aHeh.fina @aHeh.fina_KafHeh @aHeh.fina_LamHeh]; - -// final alef with no hamza above -@Alf_1 = [uni0627.fina_LamAlfFina uni0625.fina_LamAlfFina]; -@Alf_2 = [@aAlf.fina @aAlf.fina_KafAlf @aAlf.fina_KafMemAlf - @aAlf.fina_LamAlfFina @aAlf.fina_LamAlfIsol @aAlf.fina_MemAlfFina]; - -@Kaf_1 = [@aKaf.init_KafHeh - @aKaf.init_KafMemIsol]; -@Kaf_2 = [@aKaf.init_KafBaaInit @aKaf.init_KafMemAlf]; -@Kaf_3 = [@aKaf.init @aKaf.init_KafLam @aGaf.isol]; -@Kaf_4 = [@aKaf.init_KafYaaIsol]; -@Kaf_5 = [@aKaf.init_KafMemInit @aKaf.init_KafRaaIsol]; -@Raa_1 = [@RaaWaw @aDal.fina @aDal.isol @aDal.fina_BaaDal @aDal.fina_KafDal - @aDal.fina_LamDal]; -@Raa_2 = [@aRaa.fina_MemRaaIsol]; -@2nd_3 = [@aSen.init_SenHaaInit @aSad.init_SadHaaInit @aLam.init_LamHaaHaaInit]; -@2nd_4 = [@aSad.init_AboveHaa @aSen.init_AboveHaa @aHeh.init_AboveHaa - @aHaa.init_AboveHaa @aMem.init_AboveHaa @aKaf.init_AboveHaa - @aAyn.init_AboveHaa]; -@Teh_m = [uni0629.fina_LamHeh uni0629.fina_KafHeh // teh marbuta - uni06C3.fina_LamHeh uni06C3.fina_KafHeh]; - -feature kern { - // we don't want to kern those if there is tashkil as it touches the kaf - pos @RaaWaw' <-600 0 -600 0> @Kaf_1; - pos @RaaWaw' <-300 0 -300 0> @Kaf_4; - pos @Dal_1' <-600 0 -600 0> @Kaf_1; - pos @Dal_1' <-400 0 -400 0> @Kaf_4; -} kern; - -lookup YaaBari3Kern { - pos @aAyn.init <0 0 440 0>; - pos @aFaa.init <0 0 710 0>; - pos @aHeh.init <0 0 400 0>; - pos @aLam.init <0 0 955 0>; - pos @aMem.init <0 0 520 0>; - pos @aSen.init <0 0 150 0>; - pos @aTaa.init <0 0 150 0>; - pos uni06BE.init <0 0 400 0>; -} YaaBari3Kern; - -feature kern { - lookupflag IgnoreMarks; - pos @RaaWaw' <-600 0 -600 0> @Kaf_5; - pos @RaaWaw' <-300 0 -300 0> [@Kaf_2 @Kaf_3]; - - pos @RaaWaw' <-100 0 -100 0> @2nd_3; - - pos @Dal_1' <-600 0 -600 0> @Kaf_5; - pos @Dal_1' <-400 0 -400 0> [@Kaf_2 @Kaf_3]; - - pos @Raa_2' <-400 0 -400 0> [@Kaf_2 @Kaf_3 @Kaf_4]; - pos @Raa_2' <-800 0 -800 0> [@Kaf_1 @Kaf_5]; - pos @Raa_2' <-200 0 -200 0> @2nd_3; - pos @Raa_2' <-400 0 -400 0> @2nd_4; - - // the dots of teh marbuta are very close to exclamation mark - pos @Teh_m' < 150 0 150 0> exclam; - - // +ve kern so that the tail of raa/waw does not touch the dot of baa - pos @1st_2' < 170 0 170 0> @aBaaDotBelow; - - // increase advance width for first glyph in 3-letter Baree Yaa ligatures - pos [@aAyn.init @aFaa.init @aHeh.init @aLam.init - @aMem.init @aSen.init @aTaa.init uni06BE.init]' lookup YaaBari3Kern - @aBaa.medi_YaaBari; -} kern; - -// we don't want to ignore marks here -feature kern { - pos @Alf_1' <-500 0 -500 0> [@Kaf_1 @Kaf_5]; - pos @Alf_1' <-200 0 -200 0> @Kaf_2; - pos @Alf_1' <-250 0 -250 0> @Kaf_3; - pos @Alf_1' <-300 0 -300 0> @Kaf_4; - - // raa/waw/dal followed by isolated dagger alef followed by madda needs some - // space to avoid fatha/madda clash - pos @Raa_1' < 200 0 200 0> uni064E uni0670.isol [uni0653 uni06E4]; - - pos [uni0621]' < 200 0 200 0> uni064E uni0670.isol; -} kern; - -feature kern { - lookupflag IgnoreMarks; - pos @RaaWaw' <80 0 80 0> @aYaa.init; -} kern; - -feature kern { - lookupflag IgnoreMarks; - // kern heh isol/final followed by kaf, does not happen in Arabic but can be - // seen in Kurdish or Persian using ZWNJ between them. - pos @1st_4 uni200C [@Kaf_1 @Kaf_2 @Kaf_3 @Kaf_4 @Kaf_5]' -500; - // Uniscribe replace ZWNJ with space - pos @1st_4 space [@Kaf_1 @Kaf_2 @Kaf_3 @Kaf_4 @Kaf_5]' -500; - // some applications might just remove it - pos @1st_4 [@Kaf_1 @Kaf_2 @Kaf_3 @Kaf_4 @Kaf_5]' -500; -} kern; - -// were are only interested in subset of already defined classes; the ones with -// wide dots below. -@aYaa_1 = [uni0680.init uni0776.init uni0750.init uni06CE.init uni0775.init uni06BD.init - uni064A.init uni0755.init uni067E.init uni067B.init uni0753.init uni0752.init - uni063D.init uni0754.init uni06D1.init uni06D0.init uni06CC.init uni0767.init - uni0680.init_BaaRaaIsol uni0776.init_BaaRaaIsol uni0750.init_BaaRaaIsol - uni06CE.init_BaaRaaIsol uni0775.init_BaaRaaIsol uni06BD.init_BaaRaaIsol - uni064A.init_BaaRaaIsol uni0755.init_BaaRaaIsol uni067E.init_BaaRaaIsol - uni067B.init_BaaRaaIsol uni0753.init_BaaRaaIsol uni0752.init_BaaRaaIsol - uni063D.init_BaaRaaIsol uni0754.init_BaaRaaIsol uni06D1.init_BaaRaaIsol - uni06D0.init_BaaRaaIsol uni06CC.init_BaaRaaIsol uni0767.init_BaaRaaIsol - uni0680.init_BaaNonIsol uni0776.init_BaaNonIsol uni0750.init_BaaNonIsol - uni06CE.init_BaaNonIsol uni0775.init_BaaNonIsol uni06BD.init_BaaNonIsol - uni064A.init_BaaNonIsol uni0755.init_BaaNonIsol uni067E.init_BaaNonIsol - uni067B.init_BaaNonIsol uni0753.init_BaaNonIsol uni0752.init_BaaNonIsol - uni063D.init_BaaNonIsol uni0754.init_BaaNonIsol uni06D1.init_BaaNonIsol - uni06D0.init_BaaNonIsol uni06CC.init_BaaNonIsol uni0767.init_BaaNonIsol - uni0680.init_BaaYaaIsol uni0776.init_BaaYaaIsol uni0750.init_BaaYaaIsol - uni06CE.init_BaaYaaIsol uni0775.init_BaaYaaIsol uni06BD.init_BaaYaaIsol - uni064A.init_BaaYaaIsol uni0755.init_BaaYaaIsol uni067E.init_BaaYaaIsol - uni067B.init_BaaYaaIsol uni0753.init_BaaYaaIsol uni0752.init_BaaYaaIsol - uni063D.init_BaaYaaIsol uni0754.init_BaaYaaIsol uni06D1.init_BaaYaaIsol - uni06D0.init_BaaYaaIsol uni06CC.init_BaaYaaIsol uni0767.init_BaaYaaIsol - uni0680.init_BaaMemIsol uni0776.init_BaaMemIsol uni0750.init_BaaMemIsol - uni06CE.init_BaaMemIsol uni0775.init_BaaMemIsol uni06BD.init_BaaMemIsol - uni064A.init_BaaMemIsol uni0755.init_BaaMemIsol uni067E.init_BaaMemIsol - uni067B.init_BaaMemIsol uni0753.init_BaaMemIsol uni0752.init_BaaMemIsol - uni063D.init_BaaMemIsol uni0754.init_BaaMemIsol uni06D1.init_BaaMemIsol - uni06D0.init_BaaMemIsol uni06CC.init_BaaMemIsol uni0767.init_BaaMemIsol - uni0680.init_BaaSenAltInit uni0776.init_BaaSenAltInit uni0750.init_BaaSenAltInit - uni06CE.init_BaaSenAltInit uni0775.init_BaaSenAltInit uni06BD.init_BaaSenAltInit - uni064A.init_BaaSenAltInit uni0755.init_BaaSenAltInit uni067E.init_BaaSenAltInit - uni067B.init_BaaSenAltInit uni0753.init_BaaSenAltInit uni0752.init_BaaSenAltInit - uni063D.init_BaaSenAltInit uni0754.init_BaaSenAltInit uni06D1.init_BaaSenAltInit - uni06D0.init_BaaSenAltInit uni06CC.init_BaaSenAltInit uni0767.init_BaaSenAltInit]; - -feature kern { - lookupflag IgnoreMarks; - pos @Raa_2' <180 0 180 0> @aYaa_1; -} kern; - -feature kern { - lookupflag IgnoreMarks; -#ifndef QURAN - pos period.ara' <-300 0 -300 0> [quotedblleft quoteleft]; - pos period' -150 [quotedblright quoteright]; -#else - pos period' <-300 0 -300 0> [quotedblleft quoteleft]; -#endif -} kern; - -#ifdef ITALIC -feature kern { - lookupflag IgnoreMarks; - pos @Alf_2 <300 0 300 0> [parenleft bracketleft braceleft]; - - pos [parenright bracketright braceright] <-100 0 -100 0> [@Kaf_1 @Kaf_2 @Kaf_4 @Kaf_5]; - pos [parenright bracketright braceright] <-200 0 -200 0> [@Kaf_3]; - - pos [braceright] <-200 0 -200 0> [@Kaf_1 @Kaf_2 @Kaf_4 @Kaf_5]; - pos [braceright] <-300 0 -300 0> [@Kaf_3]; -} kern; -#endif - -// proportional digits -feature kern { - pos uni0661.prop uni0662.prop -100; - pos uni0661.prop uni0663.prop -100; - pos uni0661.prop uni0666.prop -200; - pos uni0661.prop uni0669.prop -100; - - pos uni0662.prop uni0667.prop 100; - pos uni0662.prop uni0668.prop -50; - - pos uni0663.prop uni0667.prop 100; - - pos uni0664.prop uni0661.prop -50; - pos uni0664.prop uni0668.prop 50; - - pos uni0666.prop uni0661.prop -50; - - pos uni0667.prop uni0661.prop -50; - pos uni0667.prop uni0668.prop -50; - - pos uni0668.prop uni0661.prop -100; - pos uni0668.prop uni0662.prop -100; - pos uni0668.prop uni0663.prop -100; - pos uni0668.prop uni0666.prop -100; - pos uni0668.prop uni0667.prop -100; - - pos uni0669.prop uni0668.prop 50; - pos uni0669.prop uni0660.prop 50; - - pos uni0660.prop uni0667.prop 50; - pos uni0660.prop uni0668.prop 50; -} kern; - -// generated features for anchor points will be inserted here by build script -{%anchors%} - -// With ss05 on, kasra is below shadda, so move the shadda up a bit to -// compensate for the kasra. -feature ss05 { - pos uni0651' <0 210 0 0> [uni0650.small]; - pos uni0651' <0 350 0 0> [uni064D.small]; -} ss05; |