blob: 9607d4ea348870f68d93e1b0856ab2a7ee61a83d (
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
|
// 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;
#endif
|