Skip to content

Commit

Permalink
Simplify code
Browse files Browse the repository at this point in the history
  • Loading branch information
khaledhosny committed Jun 19, 2023
1 parent 460fa7a commit 587fda6
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 96 deletions.
2 changes: 0 additions & 2 deletions sources/classes.fea
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,6 @@
@aGaf.medi = [keheh-ar.medi gaf-ar.medi gafRing-ar.medi ngoeh-ar.medi gafTwodotsbelow-ar.medi gueh-ar.medi gafThreedots-ar.medi kehehDotabove-ar.medi kehehThreedotsabove-ar.medi kehehThreedotsupbelow-ar.medi kehehTwodotshorizontalabove-ar.medi kehehThreedotsbelow-ar.medi];
@aKaf.medi = [kehehTwodotshorizontalabove-ar.medi kehehThreedotsbelow-ar.medi kafTwodotshorizontalabove-ar.medi kehehThreedotsupbelow-ar.medi kaf-ar.medi gafRing-ar.medi gueh-ar.medi gafTwodotsbelow-ar.medi kafRing-ar.medi kafDotabove-ar.medi ng-ar.medi kafThreedotsbelow-ar.medi gaf-ar.medi keheh-ar.medi gafThreedots-ar.medi kehehThreedotsabove-ar.medi kehehDotabove-ar.medi ngoeh-ar.medi];
@aLam.fina = [lamVabove-ar.fina lamThreedotsabove-ar.fina lam-ar.fina lamThreedotsbelow-ar.fina lamDotabove-ar.fina lamBar-ar.fina];
# XXX: sync with contextuals.fea
@aLam.init = [lamVabove-ar.init lamThreedotsabove-ar.init lam-ar.init lamThreedotsbelow-ar.init lamDotabove-ar.init lamBar-ar.init];
@aLam.isol = [lamVabove-ar lamThreedotsabove-ar lam-ar lamThreedotsbelow-ar lamDotabove-ar lamBar-ar];
@aLam.medi = [lamVabove-ar.medi lamThreedotsabove-ar.medi lam-ar.medi lamThreedotsbelow-ar.medi lamDotabove-ar.medi lamBar-ar.medi];
Expand Down Expand Up @@ -142,7 +141,6 @@
@aHaa.medi.BaaBaaHaaInit = [khah-ar.medi.BaaBaaHaaInit hah-ar.medi.BaaBaaHaaInit hahHamzaabove-ar.medi.BaaBaaHaaInit tcheheh-ar.medi.BaaBaaHaaInit hahThreedotsabove-ar.medi.BaaBaaHaaInit jeem-ar.medi.BaaBaaHaaInit hahTwodotsverticalabove-ar.medi.BaaBaaHaaInit hahTwodotshorizontalabove-ar.medi.BaaBaaHaaInit dyeh-ar.medi.BaaBaaHaaInit hahTahTwodotshorizontalabove-ar.medi.BaaBaaHaaInit hahTahbelow-ar.medi.BaaBaaHaaInit nyeh-ar.medi.BaaBaaHaaInit tchehDotabove-ar.medi.BaaBaaHaaInit hahFourbelow-ar.medi.BaaBaaHaaInit hahThreedotsupbelow-ar.medi.BaaBaaHaaInit hahTahabove-ar.medi.BaaBaaHaaInit tcheh-ar.medi.BaaBaaHaaInit];
@aHaa.medi.BaaHaaMemInit = [khah-ar.medi.BaaHaaMemInit hah-ar.medi.BaaHaaMemInit hahHamzaabove-ar.medi.BaaHaaMemInit tcheheh-ar.medi.BaaHaaMemInit hahThreedotsabove-ar.medi.BaaHaaMemInit jeem-ar.medi.BaaHaaMemInit hahTwodotsverticalabove-ar.medi.BaaHaaMemInit hahTwodotshorizontalabove-ar.medi.BaaHaaMemInit dyeh-ar.medi.BaaHaaMemInit hahTahTwodotshorizontalabove-ar.medi.BaaHaaMemInit hahTahbelow-ar.medi.BaaHaaMemInit nyeh-ar.medi.BaaHaaMemInit tchehDotabove-ar.medi.BaaHaaMemInit hahFourbelow-ar.medi.BaaHaaMemInit hahThreedotsupbelow-ar.medi.BaaHaaMemInit hahTahabove-ar.medi.BaaHaaMemInit tcheh-ar.medi.BaaHaaMemInit];
@aHaa.medi.BaaMemHaaInit = [khah-ar.medi.BaaMemHaaInit hah-ar.medi.BaaMemHaaInit hahHamzaabove-ar.medi.BaaMemHaaInit tcheheh-ar.medi.BaaMemHaaInit hahThreedotsabove-ar.medi.BaaMemHaaInit jeem-ar.medi.BaaMemHaaInit hahTwodotsverticalabove-ar.medi.BaaMemHaaInit hahTwodotshorizontalabove-ar.medi.BaaMemHaaInit dyeh-ar.medi.BaaMemHaaInit hahTahTwodotshorizontalabove-ar.medi.BaaMemHaaInit hahTahbelow-ar.medi.BaaMemHaaInit nyeh-ar.medi.BaaMemHaaInit tchehDotabove-ar.medi.BaaMemHaaInit hahFourbelow-ar.medi.BaaMemHaaInit hahThreedotsupbelow-ar.medi.BaaMemHaaInit hahTahabove-ar.medi.BaaMemHaaInit tcheh-ar.medi.BaaMemHaaInit];
# XXX: sync with contextuals.fea
@aHaa.medi.FaaHaaInit = [khah-ar.medi.FaaHaaInit hah-ar.medi.FaaHaaInit hahHamzaabove-ar.medi.FaaHaaInit tcheheh-ar.medi.FaaHaaInit hahThreedotsabove-ar.medi.FaaHaaInit jeem-ar.medi.FaaHaaInit hahTwodotsverticalabove-ar.medi.FaaHaaInit hahTwodotshorizontalabove-ar.medi.FaaHaaInit dyeh-ar.medi.FaaHaaInit hahTahTwodotshorizontalabove-ar.medi.FaaHaaInit hahTahbelow-ar.medi.FaaHaaInit nyeh-ar.medi.FaaHaaInit tchehDotabove-ar.medi.FaaHaaInit hahFourbelow-ar.medi.FaaHaaInit hahThreedotsupbelow-ar.medi.FaaHaaInit hahTahabove-ar.medi.FaaHaaInit tcheh-ar.medi.FaaHaaInit];
@aHaa.medi.Finjani = [khah-ar.medi.Finjani hah-ar.medi.Finjani hahHamzaabove-ar.medi.Finjani tcheheh-ar.medi.Finjani hahThreedotsabove-ar.medi.Finjani jeem-ar.medi.Finjani hahTwodotsverticalabove-ar.medi.Finjani hahTwodotshorizontalabove-ar.medi.Finjani dyeh-ar.medi.Finjani hahTahTwodotshorizontalabove-ar.medi.Finjani hahTahbelow-ar.medi.Finjani nyeh-ar.medi.Finjani tchehDotabove-ar.medi.Finjani hahFourbelow-ar.medi.Finjani hahThreedotsupbelow-ar.medi.Finjani hahTahabove-ar.medi.Finjani tcheh-ar.medi.Finjani];
@aHaa.medi.HaaHaaInit = [khah-ar.medi.HaaHaaInit hah-ar.medi.HaaHaaInit hahHamzaabove-ar.medi.HaaHaaInit tcheheh-ar.medi.HaaHaaInit hahThreedotsabove-ar.medi.HaaHaaInit jeem-ar.medi.HaaHaaInit hahTwodotsverticalabove-ar.medi.HaaHaaInit hahTwodotshorizontalabove-ar.medi.HaaHaaInit dyeh-ar.medi.HaaHaaInit hahTahTwodotshorizontalabove-ar.medi.HaaHaaInit hahTahbelow-ar.medi.HaaHaaInit nyeh-ar.medi.HaaHaaInit tchehDotabove-ar.medi.HaaHaaInit hahFourbelow-ar.medi.HaaHaaInit hahThreedotsupbelow-ar.medi.HaaHaaInit hahTahabove-ar.medi.HaaHaaInit tcheh-ar.medi.HaaHaaInit];
Expand Down
101 changes: 7 additions & 94 deletions sources/contextuals.fea
Original file line number Diff line number Diff line change
Expand Up @@ -795,49 +795,15 @@ feature calt {
sub [@aLam.medi.KafLam]' lookup KafLamYaa [@aYaa.fina]' lookup LamYaaFina;
} calt;

@LamKafInit = [@aLam.init @aLam.medi @aLam.medi.KafLam @aLam.medi.KafMemLam @aLam.medi.LamLamInit];
lookup LamKafInit {
# XXX: sync with classes.fea
# @aLam.init
sub lamVabove-ar.init by lamVabove-ar.init kashida-ar.1;
sub lamThreedotsabove-ar.init by lamThreedotsabove-ar.init kashida-ar.1;
sub lam-ar.init by lam-ar.init kashida-ar.1;
sub lamThreedotsbelow-ar.init by lamThreedotsbelow-ar.init kashida-ar.1;
sub lamDotabove-ar.init by lamDotabove-ar.init kashida-ar.1;
sub lamBar-ar.init by lamBar-ar.init kashida-ar.1;
# @aLam.medi by
sub lamVabove-ar.medi by lamVabove-ar.medi kashida-ar.1;
sub lamThreedotsabove-ar.medi by lamThreedotsabove-ar.medi kashida-ar.1;
sub lam-ar.medi by lam-ar.medi kashida-ar.1;
sub lamThreedotsbelow-ar.medi by lamThreedotsbelow-ar.medi kashida-ar.1;
sub lamDotabove-ar.medi by lamDotabove-ar.medi kashida-ar.1;
sub lamBar-ar.medi by lamBar-ar.medi kashida-ar.1;
# @aLam.medi.KafLam
sub lamVabove-ar.medi.KafLam by lamVabove-ar.medi.KafLam kashida-ar.1;
sub lamThreedotsabove-ar.medi.KafLam by lamThreedotsabove-ar.medi.KafLam kashida-ar.1;
sub lam-ar.medi.KafLam by lam-ar.medi.KafLam kashida-ar.1;
sub lamThreedotsbelow-ar.medi.KafLam by lamThreedotsbelow-ar.medi.KafLam kashida-ar.1;
sub lamDotabove-ar.medi.KafLam by lamDotabove-ar.medi.KafLam kashida-ar.1;
sub lamBar-ar.medi.KafLam by lamBar-ar.medi.KafLam kashida-ar.1;
# @aLam.medi.KafMemLam
sub lamVabove-ar.medi.KafMemLam by lamVabove-ar.medi.KafMemLam kashida-ar.1;
sub lamThreedotsabove-ar.medi.KafMemLam by lamThreedotsabove-ar.medi.KafMemLam kashida-ar.1;
sub lam-ar.medi.KafMemLam by lam-ar.medi.KafMemLam kashida-ar.1;
sub lamThreedotsbelow-ar.medi.KafMemLam by lamThreedotsbelow-ar.medi.KafMemLam kashida-ar.1;
sub lamDotabove-ar.medi.KafMemLam by lamDotabove-ar.medi.KafMemLam kashida-ar.1;
sub lamBar-ar.medi.KafMemLam by lamBar-ar.medi.KafMemLam kashida-ar.1;
# @aLam.medi.LamLamInit
sub lamVabove-ar.medi.LamLamInit by lamVabove-ar.medi.LamLamInit kashida-ar.1;
sub lamThreedotsabove-ar.medi.LamLamInit by lamThreedotsabove-ar.medi.LamLamInit kashida-ar.1;
sub lam-ar.medi.LamLamInit by lam-ar.medi.LamLamInit kashida-ar.1;
sub lamThreedotsbelow-ar.medi.LamLamInit by lamThreedotsbelow-ar.medi.LamLamInit kashida-ar.1;
sub lamDotabove-ar.medi.LamLamInit by lamDotabove-ar.medi.LamLamInit kashida-ar.1;
sub lamBar-ar.medi.LamLamInit by lamBar-ar.medi.LamLamInit kashida-ar.1;
sub meem-ar.medi.LamMemInit by meem-ar.medi.LamMemInitTatweel;
sub @LamKafInit by @LamKafInit kashida-ar.1;
sub @aMem.medi.LamMemInit by @aMem.medi.LamMemInitTatweel;
} LamKafInit;

feature calt {
lookupflag IgnoreMarks;
sub [@aLam.init @aLam.medi @aLam.medi.KafLam @aLam.medi.KafMemLam @aLam.medi.LamLamInit @aMem.medi.LamMemInit]' lookup LamKafInit [@aKaf.medi @aKaf.medi.KafHeh @aKaf.medi.KafMemFina @aKaf.medi.KafRaaFina @aKaf.medi.KafYaaFina @aKaf.medi.KafMemAlf @aKaf.medi.PreHeh @aGaf.fina];
sub [@LamKafInit @aMem.medi.LamMemInit]' lookup LamKafInit [@aKaf.medi @aKaf.medi.KafHeh @aKaf.medi.KafMemFina @aKaf.medi.KafRaaFina @aKaf.medi.KafYaaFina @aKaf.medi.KafMemAlf @aKaf.medi.PreHeh @aGaf.fina];
} calt;

#ifdef QURAN
Expand Down Expand Up @@ -865,25 +831,7 @@ feature calt {

# insert tatweel between ح and ك in فحك[ملير]
lookup FaaHaaKaf {
# XXX: sync with classes.fea
# sub @aHaa.medi.FaaHaaInit by @aHaa.medi.FaaHaaInit uni0640.1;
sub khah-ar.medi.FaaHaaInit by khah-ar.medi.FaaHaaInit kashida-ar.1;
sub hah-ar.medi.FaaHaaInit by hah-ar.medi.FaaHaaInit kashida-ar.1;
sub hahHamzaabove-ar.medi.FaaHaaInit by hahHamzaabove-ar.medi.FaaHaaInit kashida-ar.1;
sub tcheheh-ar.medi.FaaHaaInit by tcheheh-ar.medi.FaaHaaInit kashida-ar.1;
sub hahThreedotsabove-ar.medi.FaaHaaInit by hahThreedotsabove-ar.medi.FaaHaaInit kashida-ar.1;
sub jeem-ar.medi.FaaHaaInit by jeem-ar.medi.FaaHaaInit kashida-ar.1;
sub hahTwodotsverticalabove-ar.medi.FaaHaaInit by hahTwodotsverticalabove-ar.medi.FaaHaaInit kashida-ar.1;
sub hahTwodotshorizontalabove-ar.medi.FaaHaaInit by hahTwodotshorizontalabove-ar.medi.FaaHaaInit kashida-ar.1;
sub dyeh-ar.medi.FaaHaaInit by dyeh-ar.medi.FaaHaaInit kashida-ar.1;
sub hahTahTwodotshorizontalabove-ar.medi.FaaHaaInit by hahTahTwodotshorizontalabove-ar.medi.FaaHaaInit kashida-ar.1;
sub hahTahbelow-ar.medi.FaaHaaInit by hahTahbelow-ar.medi.FaaHaaInit kashida-ar.1;
sub nyeh-ar.medi.FaaHaaInit by nyeh-ar.medi.FaaHaaInit kashida-ar.1;
sub tchehDotabove-ar.medi.FaaHaaInit by tchehDotabove-ar.medi.FaaHaaInit kashida-ar.1;
sub hahFourbelow-ar.medi.FaaHaaInit by hahFourbelow-ar.medi.FaaHaaInit kashida-ar.1;
sub hahThreedotsupbelow-ar.medi.FaaHaaInit by hahThreedotsupbelow-ar.medi.FaaHaaInit kashida-ar.1;
sub hahTahabove-ar.medi.FaaHaaInit by hahTahabove-ar.medi.FaaHaaInit kashida-ar.1;
sub tcheh-ar.medi.FaaHaaInit by tcheh-ar.medi.FaaHaaInit kashida-ar.1;
sub @aHaa.medi.FaaHaaInit by @aHaa.medi.FaaHaaInit kashida-ar.1;
} FaaHaaKaf;

feature calt {
Expand All @@ -893,43 +841,8 @@ feature calt {

# insert tatweel between ح and ت in [بمسصف]حت[رن]
lookup AboveHaaTatweel {
# XXX: sync with classes.fea
# sub @aHaa.medi.FaaHaaInit by @aHaa.medi.FaaHaaInit uni0640.05;
sub khah-ar.medi.FaaHaaInit by khah-ar.medi.FaaHaaInit kashida-ar.05;
sub hah-ar.medi.FaaHaaInit by hah-ar.medi.FaaHaaInit kashida-ar.05;
sub hahHamzaabove-ar.medi.FaaHaaInit by hahHamzaabove-ar.medi.FaaHaaInit kashida-ar.05;
sub tcheheh-ar.medi.FaaHaaInit by tcheheh-ar.medi.FaaHaaInit kashida-ar.05;
sub hahThreedotsabove-ar.medi.FaaHaaInit by hahThreedotsabove-ar.medi.FaaHaaInit kashida-ar.05;
sub jeem-ar.medi.FaaHaaInit by jeem-ar.medi.FaaHaaInit kashida-ar.05;
sub hahTwodotsverticalabove-ar.medi.FaaHaaInit by hahTwodotsverticalabove-ar.medi.FaaHaaInit kashida-ar.05;
sub hahTwodotshorizontalabove-ar.medi.FaaHaaInit by hahTwodotshorizontalabove-ar.medi.FaaHaaInit kashida-ar.05;
sub dyeh-ar.medi.FaaHaaInit by dyeh-ar.medi.FaaHaaInit kashida-ar.05;
sub hahTahTwodotshorizontalabove-ar.medi.FaaHaaInit by hahTahTwodotshorizontalabove-ar.medi.FaaHaaInit kashida-ar.05;
sub hahTahbelow-ar.medi.FaaHaaInit by hahTahbelow-ar.medi.FaaHaaInit kashida-ar.05;
sub nyeh-ar.medi.FaaHaaInit by nyeh-ar.medi.FaaHaaInit kashida-ar.05;
sub tchehDotabove-ar.medi.FaaHaaInit by tchehDotabove-ar.medi.FaaHaaInit kashida-ar.05;
sub hahFourbelow-ar.medi.FaaHaaInit by hahFourbelow-ar.medi.FaaHaaInit kashida-ar.05;
sub hahThreedotsupbelow-ar.medi.FaaHaaInit by hahThreedotsupbelow-ar.medi.FaaHaaInit kashida-ar.05;
sub hahTahabove-ar.medi.FaaHaaInit by hahTahabove-ar.medi.FaaHaaInit kashida-ar.05;
sub tcheh-ar.medi.FaaHaaInit by tcheh-ar.medi.FaaHaaInit kashida-ar.05;
# sub @aHaa.medi.SadHaaInit by @aHaa.medi.SadHaaInit uni0640.05;
sub khah-ar.medi.SadHaaInit by khah-ar.medi.SadHaaInit kashida-ar.05;
sub hah-ar.medi.SadHaaInit by hah-ar.medi.SadHaaInit kashida-ar.05;
sub hahHamzaabove-ar.medi.SadHaaInit by hahHamzaabove-ar.medi.SadHaaInit kashida-ar.05;
sub tcheheh-ar.medi.SadHaaInit by tcheheh-ar.medi.SadHaaInit kashida-ar.05;
sub hahThreedotsabove-ar.medi.SadHaaInit by hahThreedotsabove-ar.medi.SadHaaInit kashida-ar.05;
sub jeem-ar.medi.SadHaaInit by jeem-ar.medi.SadHaaInit kashida-ar.05;
sub hahTwodotsverticalabove-ar.medi.SadHaaInit by hahTwodotsverticalabove-ar.medi.SadHaaInit kashida-ar.05;
sub hahTwodotshorizontalabove-ar.medi.SadHaaInit by hahTwodotshorizontalabove-ar.medi.SadHaaInit kashida-ar.05;
sub dyeh-ar.medi.SadHaaInit by dyeh-ar.medi.SadHaaInit kashida-ar.05;
sub hahTahTwodotshorizontalabove-ar.medi.SadHaaInit by hahTahTwodotshorizontalabove-ar.medi.SadHaaInit kashida-ar.05;
sub hahTahbelow-ar.medi.SadHaaInit by hahTahbelow-ar.medi.SadHaaInit kashida-ar.05;
sub nyeh-ar.medi.SadHaaInit by nyeh-ar.medi.SadHaaInit kashida-ar.05;
sub tchehDotabove-ar.medi.SadHaaInit by tchehDotabove-ar.medi.SadHaaInit kashida-ar.05;
sub hahFourbelow-ar.medi.SadHaaInit by hahFourbelow-ar.medi.SadHaaInit kashida-ar.05;
sub hahThreedotsupbelow-ar.medi.SadHaaInit by hahThreedotsupbelow-ar.medi.SadHaaInit kashida-ar.05;
sub hahTahabove-ar.medi.SadHaaInit by hahTahabove-ar.medi.SadHaaInit kashida-ar.05;
sub tcheh-ar.medi.SadHaaInit by tcheh-ar.medi.SadHaaInit kashida-ar.05;
sub @aHaa.medi.FaaHaaInit by @aHaa.medi.FaaHaaInit kashida-ar.05;
sub @aHaa.medi.SadHaaInit by @aHaa.medi.SadHaaInit kashida-ar.05;
} AboveHaaTatweel;

feature calt {
Expand Down

0 comments on commit 587fda6

Please sign in to comment.