summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/fonts/amiri/sources/stylisticsets.fea
blob: b04a8464b6b98be40a353ad6fc149feaff5797da (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
// Replace baa glyphs with dot below following a raa or waw by an alternate ones
// with low dots.
feature ss01 {
  lookupflag IgnoreMarks;
  sub @RaaWaw @aBaaDotBelow' by @aBaaLowDotBelow;
} ss01;

//
lookup MemAlfFina {
  sub @aAlf.fina by @aAlf.fina_MemAlfFina;
  sub @aMem.medi by @aMem.medi_MemAlfFina;

  sub @aSad.medi by @aSad.medi_PreYaa;
  sub @aSen.medi by @aSen.medi_PreYaa;

  sub @aBaa.init_BaaSenInit by @aBaa.init_BaaSenAltInit;
  sub @aSen.medi_BaaSenInit by @aSen.medi_BaaSenAltInit;
} MemAlfFina;

lookup MemAlfFinaPostTooth {
  sub @aMem.medi by @aMem.medi_AlfPostTooth;
} MemAlfFinaPostTooth;

lookup BaaMemAlfFina {
  sub @aBaa.medi by @aBaa.medi_BaaMemAlfFina;
  sub @aMem.medi by @aMem.medi_BaaMemAlfFina;
} BaaMemAlfFina;

@NoMemAlfFina = [@aMem.medi @aMem.medi_LamBaaMemInit @aMem.medi_LamMemInit
                 @aMem.medi_LamHaaMemInit @aMem.medi_BaaMemInit
                 @aMem.medi_LamMemMedi @aMem.medi_SenBaaMemInit
                 @aMem.medi_BaaBaaMemInit @aMem.medi_LamMemInitTatweel
                 @aMem.medi_KafMemMedi @aMem.medi_SenMemInit
                 @aHeh.medi_BaaHehMedi @aHeh.medi_PostTooth];

feature ss02 {
  lookupflag IgnoreMarks;
  ignore sub @NoMemAlfFina @aMem.medi' @aAlf.fina';

  sub @aBaa.medi' lookup BaaMemAlfFina
      @aMem.medi' lookup BaaMemAlfFina
      @aAlf.fina' lookup MemAlfFina;

  sub [@aSad.medi @aSen.medi]' lookup MemAlfFina
      @aMem.medi' lookup MemAlfFinaPostTooth
      @aAlf.fina' lookup MemAlfFina;

  sub @aBaa.init_BaaSenInit' lookup MemAlfFina
      @aSen.medi_BaaSenInit' lookup MemAlfFina
      @aMem.medi'            lookup MemAlfFinaPostTooth
      @aAlf.fina'            lookup MemAlfFina;

  sub @aMem.medi' lookup MemAlfFina
      @aAlf.fina' lookup MemAlfFina;
} ss02;

#ifndef QURAN
lookup localsym {
  sub at by at.ara;
} localsym;

feature ss03 {
  script arab;
  language ARA;
  lookup localsym;

  script arab;
  language dflt;
  lookup localsym;
} ss03;

// alternate Gaf form
feature ss04 {
  sub @aGaf.isol by @aGaf.alt;
  sub @aGaf.fina by @aGaf.alt.fina;
} ss04;

lookup dummy {
  sub uni0640.1 by uni0640;
} dummy;

feature ss04 {
  sub @aLam.init' lookup LamLamInit
      [uni0640.1]' lookup dummy
      @aGaf.alt.fina 'lookup LamLamInit;

  sub @aLam.medi' lookup LamLamMedi2
      [uni0640.1]' lookup dummy
      @aGaf.alt.fina' lookup LamLamMedi;

  sub [@aKaf.init @aKaf.medi]' lookup KafLam
      @aGaf.alt.fina' lookup KafLam;
} ss04;
#endif

lookup SSShaddaKasra {
  sub uni064D by uni064D.small;
  sub uni0650 by uni0650.small;
} SSShaddaKasra;

feature ss05 {
  sub uni0651 [uni064D uni0650]' lookup SSShaddaKasra;
} ss05;