# automatic
@Uppercase = [ A Aacute Abreve Acircumflex Adieresis Agrave Amacron Aogonek Aring Atilde AE B C Cacute Ccaron Ccedilla Cdotaccent D Eth Dcaron Dcroat E Eacute Ecaron Ecircumflex Edieresis Edotaccent Egrave Emacron Eogonek F G Gbreve Gcommaaccent Gdotaccent H Hbar I IJ Iacute Icircumflex Idieresis Idotaccent Igrave Imacron Iogonek J K Kcommaaccent L Lacute Lcaron Lcommaaccent Lslash M N Nacute Ncaron Ncommaaccent Ntilde Eng O Oacute Ocircumflex Odieresis Ograve Ohungarumlaut Omacron Oslash Otilde OE P Thorn Q R Racute Rcaron Rcommaaccent S Sacute Scaron Scedilla Scommaaccent Germandbls T Tcaron Tcommaaccent U Uacute Ubreve Ucircumflex Udieresis Ugrave Uhungarumlaut Umacron Uogonek Uring V W Wacute Wcircumflex Wdieresis Wgrave X Y Yacute Ycircumflex Ydieresis Ygrave Z Zacute Zcaron Zdotaccent
];

# Prefix: Languagesystems
# automatic
languagesystem DFLT dflt;

languagesystem arab dflt;

languagesystem latn dflt;
languagesystem latn ROM;
languagesystem latn MOL;

languagesystem hebr dflt;
languagesystem hebr IWR;


feature aalt {
# automatic
feature init;
feature locl;
feature sups;
feature frac;
feature ordn;
feature case;
feature init;
feature medi;
feature fina;

} aalt;

feature ccmp {
# automatic
lookup ccmp_Other_1 {
	@CombiningTopAccents = [acutecomb brevecomb caroncomb circumflexcomb commaturnedabovecomb dieresiscomb dotaccentcomb gravecomb hungarumlautcomb macroncomb ringcomb tildecomb];
	@CombiningNonTopAccents = [cedillacomb ogonekcomb];
	sub [i j]' @CombiningTopAccents by [idotless jdotless];
	sub [i j]' @CombiningNonTopAccents @CombiningTopAccents by [idotless jdotless];
	@Markscomb = [dieresiscomb dotaccentcomb gravecomb acutecomb hungarumlautcomb circumflexcomb caroncomb brevecomb ringcomb tildecomb macroncomb];
	@MarkscombCase = [dieresiscomb.case dotaccentcomb.case gravecomb.case acutecomb.case hungarumlautcomb.case circumflexcomb.case caroncomb.case brevecomb.case ringcomb.case tildecomb.case macroncomb.case];
	sub @Markscomb @Markscomb' by @MarkscombCase;
	sub @Uppercase @Markscomb' by @MarkscombCase;
} ccmp_Other_1;

lookup ccmp_Other_2 {
	sub @Markscomb' @MarkscombCase by @MarkscombCase;
	sub @MarkscombCase @Markscomb' by @MarkscombCase;
} ccmp_Other_2;

lookup ccmp_arab_1 {
	sub hamzaabove-ar damma-ar by hamzaaboveDamma-ar;
	sub damma-ar hamzaabove-ar by hamzaaboveDamma-ar;
	sub hamzaabove-ar dammatan-ar by hamzaaboveDammatan-ar;
	sub dammatan-ar hamzaabove-ar by hamzaaboveDammatan-ar;
	sub hamzaabove-ar fatha-ar by hamzaaboveFatha-ar;
	sub fatha-ar hamzaabove-ar by hamzaaboveFatha-ar;
	sub hamzaabove-ar fathatan-ar by hamzaaboveFathatan-ar;
	sub fathatan-ar hamzaabove-ar by hamzaaboveFathatan-ar;
	sub hamzaabove-ar sukun-ar by hamzaaboveSukun-ar;
	sub sukun-ar hamzaabove-ar by hamzaaboveSukun-ar;
	sub hamzabelow-ar kasra-ar by hamzabelowKasra-ar;
	sub kasra-ar hamzabelow-ar by hamzabelowKasra-ar;
	sub hamzabelow-ar kasratan-ar by hamzabelowKasratan-ar;
	sub kasratan-ar hamzabelow-ar by hamzabelowKasratan-ar;
	sub shadda-ar alefabove-ar by shaddaAlefabove-ar;
	sub alefabove-ar shadda-ar by shaddaAlefabove-ar;
	sub shadda-ar damma-ar by shaddaDamma-ar;
	sub damma-ar shadda-ar by shaddaDamma-ar;
	sub shadda-ar dammatan-ar by shaddaDammatan-ar;
	sub dammatan-ar shadda-ar by shaddaDammatan-ar;
	sub shadda-ar fatha-ar by shaddaFatha-ar;
	sub fatha-ar shadda-ar by shaddaFatha-ar;
	sub shadda-ar fathatan-ar by shaddaFathatan-ar;
	sub fathatan-ar shadda-ar by shaddaFathatan-ar;
	sub shadda-ar kasra-ar by shaddaKasra-ar;
	sub kasra-ar shadda-ar by shaddaKasra-ar;
	sub shadda-ar kasratan-ar by shaddaKasratan-ar;
	sub kasratan-ar shadda-ar by shaddaKasratan-ar;
} ccmp_arab_1;

script arab;
lookup ccmp_arab_1;

} ccmp;

feature init {
sub behDotless-ar by behDotless-ar.init;
sub beh-ar by beh-ar.init;
sub teh-ar by teh-ar.init;
sub theh-ar by theh-ar.init;
sub hah-ar by hah-ar.init;
sub khah-ar by khah-ar.init;
sub seen-ar by seen-ar.init;
sub sheen-ar by sheen-ar.init;
sub sad-ar by sad-ar.init;
sub ain-ar by ain-ar.init;
sub fehDotless-ar by fehDotless-ar.init;
sub feh-ar by feh-ar.init;
sub kaf-ar by kaf-ar.init;
sub noon-ar by noon-ar.init;
sub heh-ar by heh-ar.init;
sub yehHamzaabove-ar by yehHamzaabove-ar.init;

} init;

feature locl {
# automatic
lookup locl_latn_0 {
	script latn;
	language ROM;
	sub Scedilla by Scommaaccent;
	sub scedilla by scommaaccent;
	language MOL;
	sub Scedilla by Scommaaccent;
	sub scedilla by scommaaccent;
} locl_latn_0;

} locl;

feature sups {
# automatic
sub one by onesuperior;
sub two by twosuperior;
sub three by threesuperior;
sub four by foursuperior;

} sups;

feature frac {
# automatic
sub one slash four by onequarter;
sub one slash two by onehalf;
sub three slash four by threequarters;

} frac;

feature ordn {
# automatic
sub [zero one two three four five six seven eight nine] [A a]' by ordfeminine;
sub [zero one two three four five six seven eight nine] [O o]' by ordmasculine;

} ordn;

feature case {
# automatic
sub dieresiscomb by dieresiscomb.case;
sub dotaccentcomb by dotaccentcomb.case;
sub gravecomb by gravecomb.case;
sub acutecomb by acutecomb.case;
sub hungarumlautcomb by hungarumlautcomb.case;
sub circumflexcomb by circumflexcomb.case;
sub caroncomb by caroncomb.case;
sub brevecomb by brevecomb.case;
sub ringcomb by ringcomb.case;
sub tildecomb by tildecomb.case;
sub macroncomb by macroncomb.case;

} case;

feature init {
# automatic
sub behDotless-ar by behDotless-ar.init;
sub beh-ar by beh-ar.init;
sub peh-ar by peh-ar.init;
sub teh-ar by teh-ar.init;
sub theh-ar by theh-ar.init;
sub jeem-ar by jeem-ar.init;
sub tcheh-ar by tcheh-ar.init;
sub hah-ar by hah-ar.init;
sub khah-ar by khah-ar.init;
sub seen-ar by seen-ar.init;
sub sheen-ar by sheen-ar.init;
sub sad-ar by sad-ar.init;
sub dad-ar by dad-ar.init;
sub tah-ar by tah-ar.init;
sub zah-ar by zah-ar.init;
sub ain-ar by ain-ar.init;
sub ghain-ar by ghain-ar.init;
sub feh-ar by feh-ar.init;
sub veh-ar by veh-ar.init;
sub fehDotless-ar by fehDotless-ar.init;
sub qaf-ar by qaf-ar.init;
sub kaf-ar by kaf-ar.init;
sub keheh-ar by keheh-ar.init;
sub gaf-ar by gaf-ar.init;
sub lam-ar by lam-ar.init;
sub meem-ar by meem-ar.init;
sub noon-ar by noon-ar.init;
sub heh-ar by heh-ar.init;
sub yeh-ar by yeh-ar.init;
sub yehHamzaabove-ar by yehHamzaabove-ar.init;
sub yehFarsi-ar by yehFarsi-ar.init;

} init;

feature medi {
# automatic
sub behDotless-ar by behDotless-ar.medi;
sub beh-ar by beh-ar.medi;
sub peh-ar by peh-ar.medi;
sub teh-ar by teh-ar.medi;
sub theh-ar by theh-ar.medi;
sub jeem-ar by jeem-ar.medi;
sub tcheh-ar by tcheh-ar.medi;
sub hah-ar by hah-ar.medi;
sub khah-ar by khah-ar.medi;
sub seen-ar by seen-ar.medi;
sub sheen-ar by sheen-ar.medi;
sub sad-ar by sad-ar.medi;
sub dad-ar by dad-ar.medi;
sub tah-ar by tah-ar.medi;
sub zah-ar by zah-ar.medi;
sub ain-ar by ain-ar.medi;
sub ghain-ar by ghain-ar.medi;
sub feh-ar by feh-ar.medi;
sub veh-ar by veh-ar.medi;
sub fehDotless-ar by fehDotless-ar.medi;
sub qaf-ar by qaf-ar.medi;
sub kaf-ar by kaf-ar.medi;
sub keheh-ar by keheh-ar.medi;
sub gaf-ar by gaf-ar.medi;
sub lam-ar by lam-ar.medi;
sub meem-ar by meem-ar.medi;
sub noon-ar by noon-ar.medi;
sub heh-ar by heh-ar.medi;
sub yeh-ar by yeh-ar.medi;
sub yehHamzaabove-ar by yehHamzaabove-ar.medi;
sub yehFarsi-ar by yehFarsi-ar.medi;

} medi;

feature fina {
# automatic
sub alef-ar by alef-ar.fina;
sub alefHamzaabove-ar by alefHamzaabove-ar.fina;
sub alefHamzabelow-ar by alefHamzabelow-ar.fina;
sub alefMadda-ar by alefMadda-ar.fina;
sub alefWasla-ar by alefWasla-ar.fina;
sub behDotless-ar by behDotless-ar.fina;
sub beh-ar by beh-ar.fina;
sub peh-ar by peh-ar.fina;
sub teh-ar by teh-ar.fina;
sub theh-ar by theh-ar.fina;
sub jeem-ar by jeem-ar.fina;
sub tcheh-ar by tcheh-ar.fina;
sub hah-ar by hah-ar.fina;
sub khah-ar by khah-ar.fina;
sub dal-ar by dal-ar.fina;
sub thal-ar by thal-ar.fina;
sub reh-ar by reh-ar.fina;
sub zain-ar by zain-ar.fina;
sub jeh-ar by jeh-ar.fina;
sub seen-ar by seen-ar.fina;
sub sheen-ar by sheen-ar.fina;
sub sad-ar by sad-ar.fina;
sub dad-ar by dad-ar.fina;
sub tah-ar by tah-ar.fina;
sub zah-ar by zah-ar.fina;
sub ain-ar by ain-ar.fina;
sub ghain-ar by ghain-ar.fina;
sub feh-ar by feh-ar.fina;
sub veh-ar by veh-ar.fina;
sub fehDotless-ar by fehDotless-ar.fina;
sub qafDotless-ar by qafDotless-ar.fina;
sub qaf-ar by qaf-ar.fina;
sub kaf-ar by kaf-ar.fina;
sub keheh-ar by keheh-ar.fina;
sub gaf-ar by gaf-ar.fina;
sub lam-ar by lam-ar.fina;
sub meem-ar by meem-ar.fina;
sub noon-ar by noon-ar.fina;
sub noonghunna-ar by noonghunna-ar.fina;
sub heh-ar by heh-ar.fina;
sub tehMarbuta-ar by tehMarbuta-ar.fina;
sub waw-ar by waw-ar.fina;
sub wawHamzaabove-ar by wawHamzaabove-ar.fina;
sub alefMaksura-ar by alefMaksura-ar.fina;
sub yeh-ar by yeh-ar.fina;
sub yehHamzaabove-ar by yehHamzaabove-ar.fina;
sub yehFarsi-ar by yehFarsi-ar.fina;
sub lam_alef-ar by lam_alef-ar.fina;
sub lam_alefHamzaabove-ar by lam_alefHamzaabove-ar.fina;
sub lam_alefHamzabelow-ar by lam_alefHamzabelow-ar.fina;
sub lam_alefMadda-ar by lam_alefMadda-ar.fina;
sub lam_alefWasla-ar by lam_alefWasla-ar.fina;

} fina;

feature rlig {
# automatic
lookup rlig_arab_0 {
	lookupflag IgnoreMarks;
	script arab;
	sub alef-ar lam-ar.init lam-ar.medi heh-ar.fina by allah-ar;
	sub lam-ar.init alef-ar.fina by lam_alef-ar;
	sub lam-ar.medi alef-ar.fina by lam_alef-ar.fina;
	sub lam-ar.init alefHamzaabove-ar.fina by lam_alefHamzaabove-ar;
	sub lam-ar.medi alefHamzaabove-ar.fina by lam_alefHamzaabove-ar.fina;
	sub lam-ar.init alefHamzabelow-ar.fina by lam_alefHamzabelow-ar;
	sub lam-ar.medi alefHamzabelow-ar.fina by lam_alefHamzabelow-ar.fina;
	sub lam-ar.init alefMadda-ar.fina by lam_alefMadda-ar;
	sub lam-ar.medi alefMadda-ar.fina by lam_alefMadda-ar.fina;
	sub lam-ar.init alefWasla-ar.fina by lam_alefWasla-ar;
	sub lam-ar.medi alefWasla-ar.fina by lam_alefWasla-ar.fina;
} rlig_arab_0;

} rlig;
