# automatic
@Uppercase = [ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z OE Agrave Aacute Acircumflex Atilde Aring Adieresis AE Ccedilla Egrave Eacute Ecircumflex Edieresis Igrave Iacute Icircumflex Idieresis Eth Ntilde Ograve Oacute Ocircumflex Otilde Odieresis Oslash Ugrave Uacute Ucircumflex Udieresis Yacute Thorn Germandbls
];

@figures = [ zero one two three four five six seven eight nine
];

@figures_denominator = [ zero.dnom one.dnom two.dnom three.dnom four.dnom five.dnom six.dnom seven.dnom eight.dnom nine.dnom
];

@figures_numerator = [ zero.numr one.numr two.numr three.numr four.numr five.numr six.numr seven.numr eight.numr nine.numr
];

@RAKAR_U_UU = [ Ra.bn Ra.as JaRa.bn SaRa.bn ShaRa.bn BhaRa.bn BaRa.bn PaRa.bn DhaRa.bn DaRa.bn ThaRa.bn TaRa.bn GaRa.bn NaDaRa.bn MaPaRa.bn DaDaRa.bn BaDaRa.bn SaPaRa.bn GaLa.bn PaLa.bn BaLa.bn ShaLa.bn SaLa.bn SaPaLa.bn SsaPaRa.bn WaRa.as
KhaRa.bn GhaRa.bn MaRa.bn
];

@TTA_1 = [ Tta.bn KaTta.bn KaTtaRa.bn TtaTta.bn TtaTtaRa.bn TtaRa.bn TtaBa.bn SsaTta.bn SsaTtaRa.bn
];

@TTA_2 = [ NnaTta.bn NnaTtaRa.bn NaTta.bn NaTtaRa.bn NaSaTta.bn PaTta.bn PhaTta.bn LaTta.bn LaTtaRa.bn SaTta.bn SaTtaRa.bn
];

@TTA_TTHA_I_1 = [ KaTta.bn KaTtaRa.bn TtaTta.bn TtaTtaRa.bn TtaRa.bn SsaTta.bn SsaTtaRa.bn SsaTtha.bn
];

@TTA_TTHA_I_2 = [ TtaMa.bn NnaTta.bn NnaTtaRa.bn NnaTtha.bn NnaTthaRa.bn NaTta.bn NaTtaRa.bn NaTtha.bn PaTta.bn PhaTta.bn LaTta.bn LaTtaRa.bn SsaTtha.bn SaTta.bn SaTtaRa.bn
];

@TTHA = [ Ttha.bn TthaRa.bn NnaTtha.bn NnaTthaRa.bn NaTtha.bn SsaTtha.bn
];

@BELOWBASE_alt1 = [ Ja.bn JaJa.bn BaJa.bn NyaJa.bn
];

@BELOWBASE_alt2 = [ Da.bn GaDa.bn DaDa.bn NaDa.bn BaDa.bn MaDa.bn LaDa.bn NgaGa.bn 
];

@BELOWBASE_alt3 = [ Dda.bn Nga.bn Ca.bn Cha.bn Tta.bn Ttha.bn Ddha.bn Ta.bn Bha.bn
DdaDda.bn NnaDda.bn NaDda.bn BaDda.bn LaDda.bn 
JaNya.bn 
CaCa.bn ShaCa.bn CaCha.bn NyaCha.bn ShaCha.bn 
NaTha.bn SaTha.bn 
Ha.bn HaNa.bn 
KaTa.bn TaTa.bn NaTa.bn PaTa.bn MaTa.bn ShaTa.bn SaTa.bn
KaTta.bn TtaTta.bn NnaTta.bn NaTta.bn NaSaTta.bn PaTta.bn PhaTta.bn LaTta.bn SsaTta.bn SaTta.bn 
NnaTtha.bn NaTtha.bn SsaTtha.bn 
NnaDdha.bn BaDdha.bn LaDdha.bn
Rra_for_ukar.bn Rha_for_ukar.bn MaTa.bn DaBha.bn BaBha.bn MaBha.bn

];

@BELOWBASE_alt4 = [ KaLa.bn TaLa.bn PhaLa.bn BaLa.bn BhaLa.bn MaLa.bn SaLa.bn HaLa.bn
KaNa.bn GhaNa.bn TaNa.bn DhaNa.bn MaNa.bn SaNa.bn KaSsaNna.bn CaNa.bn DaNa.bn  
GaNa.bn NnaNa.bn PaNa.bn ShaNa.bn HaNna.bn

];

@BELOWBASE_alt5 = [ Ga.bn Nna.bn Na.bn Pa.bn Ma.bn La.bn Sha.bn Sa.bn
GaGa.bn GaNna.bn 
DdaGa.bn 
DaGa.bn LaGa.bn RraGa.bn NnaNna.bn NaNa.bn 
PaPa.bn MaPa.bn LaPa.bn SsaPa.bn SaPa.bn 
KaSa.bn NaSa.bn PaSa.bn KaSsa.bn NgaKaSsa.bn HaMa.bn
GaLa.bn SaPaLa.bn PaLa.bn LaLa.bn ShaLa.bn
KaMa.bn KaSsaMa.bn GaMa.bn NgaMa.bn DdaMa.bn TtaMa.bn NnaMa.bn TaMa.bn DaMa.bn DhaMa.bn PaMa.bn MaMa.bn NaMa.bn LaMa.bn ShaMa.bn SsaMa.bn SaMa.bn HaMa.bn
 

];

@All_I = [ Ka.bn Kha.bn Ga.bn Gha.bn Nga.bn Ca.bn Cha.bn Ja.bn Jha.bn Nya.bn Dda.bn Ddha.bn Nna.bn Ta.bn Tha.bn Da.bn Dha.bn Na.bn Pa.bn Pha.bn Ba.bn Bha.bn Ma.bn Ya.bn Ra.bn La.bn Sha.bn Ssa.bn Sa.bn Ha.bn Rra.bn Rha.bn Yya.bn Ra.as Wa.as KaKa.bn KaTa.bn KaTaRa.bn KaTaBa.bn KaNa.bn KaMa.bn KaRa.bn KaLa.bn KaBa.bn KaSsa.bn KaSsaNna.bn KaSsaMa.bn KaSsaRa.bn KaSsaBa.bn KaSa.bn KhaRa.bn KhaBa.bn GaGa.bn GaNna.bn GaDa.bn GaDha.bn GaDhaBa.bn GaDhaRa.bn GaNa.bn GaMa.bn GaRa.bn GaLa.bn GaBa.bn GhaNa.bn GhaRa.bn GhaBa.bn NgaKa.bn NgaKaRa.bn NgaKaSsa.bn NgaKaSsaRa.bn NgaKha.bn NgaGa.bn NgaGha.bn NgaGhaRa.bn NgaMa.bn NgaRa.bn CaCa.bn CaCha.bn CaChaRa.bn CaChaBa.bn CaNya.bn CaNa.bn CaRa.bn CaBa.bn ChaRa.bn ChaBa.bn JaJa.bn JaJaBa.bn JaJha.bn JaNya.bn JaRa.bn JaBa.bn JhaRa.bn NyaCa.bn NyaCaBa.bn NyaCha.bn NyaJa.bn NyaJha.bn DdaGa.bn DdaDda.bn DdaMa.bn DdaRa.bn DdaBa.bn DdhaRa.bn NnaDda.bn NnaDdaRa.bn NnaDdha.bn NnaDdhaRa.bn NnaNna.bn NnaNa.bn NnaMa.bn NnaRa.bn NnaBa.bn TaTa.bn TaTaRa.bn TaTaBa.bn TaTha.bn TaNa.bn TaMa.bn TaRa.bn TaLa.bn TaBa.bn ThaRa.bn ThaBa.bn DaGa.bn DaGha.bn DaDa.bn DaDaRa.bn DaDaBa.bn DaDha.bn DaDhaBa.bn DaNa.bn DaBha.bn DaBhaRa.bn DaMa.bn DaRa.bn DaBa.bn DhaNa.bn DhaMa.bn DhaRa.bn DhaBa.bn NaDda.bn NaDdaRa.bn NaTa.bn NaTaRa.bn NaTaBa.bn NaTha.bn NaThaRa.bn NaDa.bn NaDaRa.bn NaDaBa.bn NaDha.bn NaDhaBa.bn NaDhaRa.bn NaNa.bn NaMa.bn NaRa.bn NaBa.bn NaSa.bn PaTa.bn PaTaRa.bn PaNa.bn PaPa.bn PaMa.bn PaRa.bn PaLa.bn PaSa.bn PhaRa.bn PhaLa.bn BaJa.bn BaJha.bn BaDda.bn BaDdha.bn BaDa.bn BaDaRa.bn BaDha.bn BaBa.bn BaBha.bn BaRa.bn BaLa.bn BhaRa.bn BhaLa.bn MaTa.bn MaDa.bn MaNa.bn MaPa.bn MaPaRa.bn MaPha.bn MaPhaRa.bn MaBa.bn MaBaRa.bn MaBha.bn MaBhaRa.bn MaMa.bn MaRa.bn MaLa.bn YaRa.bn LaKa.bn LaGa.bn LaGha.bn LaDda.bn LaDdaRa.bn LaDdha.bn LaDa.bn LaDha.bn LaPa.bn LaPha.bn LaPhaRa.bn LaBa.bn LaMa.bn LaRa.bn LaLa.bn ShaCa.bn ShaCha.bn ShaTa.bn ShaNa.bn ShaMa.bn ShaBa.bn ShaRa.bn ShaLa.bn SsaKa.bn SsaKaRa.bn SsaNna.bn SsaPa.bn SsaPaRa.bn SsaPha.bn SsaRa.bn SsaBa.bn SsaMa.bn SaKa.bn SaKaRa.bn SaKha.bn SaTa.bn SaTaRa.bn SaTaBa.bn SaTha.bn SaNa.bn SaPa.bn SaPaRa.bn SaPaLa.bn SaPha.bn SaBa.bn SaMa.bn SaRa.bn SaLa.bn HaNna.bn HaNa.bn HaBa.bn HaMa.bn HaRa.bn HaLa.bn RraGa.bn RraRa.bn RhaRa.bn YyaRa.bn WaRa.as TthaRa.bn
];

@CANDRABINDU_ALT_1 = [ VowelI.bn VowelIi.bn VowelU.bn VowelUu.bn VowelAi.bn VowelAu.bn Ttha.bn
SignAuMark.bn SignIi.bn 
TtaSignIReph.bn TthaSignIReph.bn 
SignI_reph.bn SignI_Tta_Ttha1_reph.bn SignI_Tta_Ttha2_reph.bn 
KaTtaSignI.bn KaTtaRaSignI.bn TtaTtaSignI.bn TtaTtaRaSignI.bn TtaRaSignI.bn SsaTtaSignI.bn SsaTtaRaSignI.bn NnaTtaSignI.bn NnaTtaRaSignI.bn NaTtaSignI.bn NaTtaRaSignI.bn NaSaTtaSignI.bn PaTtaSignI.bn PhaTtaSignI.bn LaTtaSignI.bn LaTtaRaSignI.bn SaTtaSignI.bn SaTtaRaSignI.bn 
TthaRaSignI.bn 
abvs_null.bn
TtaBaSignI.bn
SsaTthaSignI.bn ShaRaSignIi.bn NaTthaSignI.bn NnaTthaSignI.bn

];

@KHA = [ Kha.bn KhaRa.bn KhaBa.bn NgaKha.bn Jha.bn JhaRa.bn TaTha.bn Tha.bn ThaRa.bn ThaBa.bn Dha.bn DhaNa.bn DhaRa.bn BaJha.bn SaKha.bn
];

# Prefix: Languagesystems
languagesystem DFLT dflt;
languagesystem latn dflt;
languagesystem bng2 dflt;
languagesystem beng dflt;

#additional lookups

lookup Reorder_Candrabindu1a {
     sub SignAa.bn by Candrabindu.bn;
     sub Candrabindu.bn by SignAa.bn;
 } Reorder_Candrabindu1a;

lookup Reorder_Candrabindu1b {
     sub SignAa.bn by Candrabindu_alt.bn;
     sub Candrabindu_alt.bn by SignAa.bn;
 } Reorder_Candrabindu1b;

lookup Reorder_Candrabindu2a {
     sub Yaphala.bn by Candrabindu.bn;
     sub Candrabindu.bn by Yaphala.bn;
 } Reorder_Candrabindu2a;

lookup Reorder_Candrabindu2b {
     sub Yaphala.bn by Candrabindu_alt.bn;
     sub Candrabindu_alt.bn by Yaphala.bn;
 } Reorder_Candrabindu2b;

 lookup Reorder_Reph1 {
     sub SignU.side.bn by Reph.bn;
     sub Reph.bn by SignU.side.bn;
 } Reorder_Reph1;

 lookup Reorder_Reph2 {
     sub SignUu.side.bn by Reph.bn;
     sub Reph.bn by SignUu.side.bn;
 } Reorder_Reph2;

 lookup Reorder_Candrabindu3 {
     sub SignU.side.bn by Candrabindu.bn;
     sub Candrabindu.bn by SignU.side.bn;
 } Reorder_Candrabindu3;

 lookup Reorder_Candrabindu4 {
     sub SignUu.side.bn by Candrabindu.bn;
     sub Candrabindu.bn by SignUu.side.bn;
 } Reorder_Candrabindu4;


feature aalt {
# automatic
feature subs;
feature sinf;
feature sups;
feature numr;
feature dnom;
feature frac;
feature ordn;
feature tnum;
feature case;
feature zero;
feature init;
feature nukt;
feature akhn;
feature rphf;
feature blwf;
feature pstf;
feature vatu;
feature half;
feature pres;
feature abvs;
feature blws;
feature psts;
feature haln;

} aalt;

feature ccmp {
# automatic
lookup ccmp_Other_1 {
	@CombiningTopAccents = [acutecomb circumflexcomb dieresiscomb dotaccentcomb gravecomb macroncomb ringcomb tildecomb];
	@CombiningNonTopAccents = [cedillacomb];
	sub [i]' @CombiningTopAccents by [idotless];
	sub [i]' @CombiningNonTopAccents @CombiningTopAccents by [idotless];
	@Markscomb = [dieresiscomb gravecomb acutecomb circumflexcomb ringcomb tildecomb macroncomb cedillacomb];
	@MarkscombCase = [dieresiscomb.case gravecomb.case acutecomb.case circumflexcomb.case ringcomb.case tildecomb.case macroncomb.case cedillacomb.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_latn_1 {
	sub fi by f i;
	sub fl by f l;
} ccmp_latn_1;

script latn;
lookup ccmp_latn_1;

} ccmp;

feature subs {
# automatic
sub zero by zeroinferior;
sub one by oneinferior;
sub two by twoinferior;
sub three by threeinferior;
sub four by fourinferior;
sub five by fiveinferior;
sub six by sixinferior;
sub seven by seveninferior;
sub eight by eightinferior;
sub nine by nineinferior;

} subs;

feature sinf {
# automatic
sub zero by zeroinferior;
sub one by oneinferior;
sub two by twoinferior;
sub three by threeinferior;
sub four by fourinferior;
sub five by fiveinferior;
sub six by sixinferior;
sub seven by seveninferior;
sub eight by eightinferior;
sub nine by nineinferior;

} sinf;

feature sups {
# automatic
sub one by onesuperior;
sub two by twosuperior;
sub three by threesuperior;
sub zero by zerosuperior;
sub four by foursuperior;
sub five by fivesuperior;
sub six by sixsuperior;
sub seven by sevensuperior;
sub eight by eightsuperior;
sub nine by ninesuperior;

} sups;

feature numr {
# automatic
sub zero by zero.numr;
sub one by one.numr;
sub two by two.numr;
sub three by three.numr;
sub four by four.numr;
sub five by five.numr;
sub six by six.numr;
sub seven by seven.numr;
sub eight by eight.numr;
sub nine by nine.numr;

} numr;

feature dnom {
# automatic
sub zero by zero.dnom;
sub one by one.dnom;
sub two by two.dnom;
sub three by three.dnom;
sub four by four.dnom;
sub five by five.dnom;
sub six by six.dnom;
sub seven by seven.dnom;
sub eight by eight.dnom;
sub nine by nine.dnom;

} dnom;

feature frac {
lookup FractionBar {
        ignore sub slash @figures @figures @figures @figures @figures @figures @figures @figures @figures @figures slash';
        ignore sub slash' @figures @figures @figures @figures @figures @figures @figures @figures @figures @figures slash;
        ignore sub slash @figures @figures @figures @figures @figures @figures @figures @figures @figures slash';
        ignore sub slash' @figures @figures @figures @figures @figures @figures @figures @figures @figures slash;
        ignore sub slash @figures @figures @figures @figures @figures @figures @figures @figures slash';
        ignore sub slash' @figures @figures @figures @figures @figures @figures @figures @figures slash;
        ignore sub slash @figures @figures @figures @figures @figures @figures @figures slash';
        ignore sub slash' @figures @figures @figures @figures @figures @figures @figures slash;
        ignore sub slash @figures @figures @figures @figures @figures @figures slash';
        ignore sub slash' @figures @figures @figures @figures @figures @figures slash;
        ignore sub slash @figures @figures @figures @figures @figures slash';
        ignore sub slash' @figures @figures @figures @figures @figures slash;
        ignore sub slash @figures @figures @figures @figures slash';
        ignore sub slash' @figures @figures @figures @figures slash;
        ignore sub slash @figures @figures @figures slash';
        ignore sub slash' @figures @figures @figures slash;
        ignore sub slash @figures @figures slash';
        ignore sub slash' @figures @figures slash;
        ignore sub slash @figures slash';
        ignore sub slash' @figures slash;
        ignore sub slash slash';
        ignore sub slash' slash;
        sub @figures slash' @figures by fraction;
    } FractionBar;
    
    lookup Numerator1 {
        sub @figures' fraction by @figures_numerator;
    } Numerator1;

    lookup Numerator2 {
        sub @figures' @figures_numerator fraction by @figures_numerator;
    } Numerator2;

    lookup Numerator3 {
        sub @figures' @figures_numerator @figures_numerator fraction by @figures_numerator;
    } Numerator3;

    lookup Numerator4 {
        sub @figures' @figures_numerator @figures_numerator @figures_numerator fraction by @figures_numerator;
    } Numerator4;

    lookup Numerator5 {
        sub @figures' @figures_numerator @figures_numerator @figures_numerator @figures_numerator fraction by @figures_numerator;
    } Numerator5;

    lookup Numerator6 {
        sub @figures' @figures_numerator @figures_numerator @figures_numerator @figures_numerator @figures_numerator fraction by @figures_numerator;
    } Numerator6;

    lookup Numerator7 {
        sub @figures' @figures_numerator @figures_numerator @figures_numerator @figures_numerator @figures_numerator @figures_numerator fraction by @figures_numerator;
    } Numerator7;

    lookup Numerator8 {
        sub @figures' @figures_numerator @figures_numerator @figures_numerator @figures_numerator @figures_numerator @figures_numerator @figures_numerator fraction by @figures_numerator;
    } Numerator8;

    lookup Numerator9 {
        sub @figures' @figures_numerator @figures_numerator @figures_numerator @figures_numerator @figures_numerator @figures_numerator @figures_numerator @figures_numerator fraction by @figures_numerator;
    } Numerator9;

    lookup Numerator10 {
        sub @figures' @figures_numerator @figures_numerator @figures_numerator @figures_numerator @figures_numerator @figures_numerator @figures_numerator @figures_numerator @figures_numerator fraction by @figures_numerator;
    } Numerator10;

    lookup Denominator {
        sub [fraction @figures_denominator] @figures' by @figures_denominator;
    } Denominator;

    sub @figures space' @figures_numerator by thinspace;
} 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 tnum {
# automatic
sub zero by zero.tf;
sub one by one.tf;
sub two by two.tf;
sub three by three.tf;
sub four by four.tf;
sub five by five.tf;
sub six by six.tf;
sub seven by seven.tf;
sub eight by eight.tf;
sub nine by nine.tf;

} tnum;

feature case {
# automatic
sub dieresiscomb by dieresiscomb.case;
sub gravecomb by gravecomb.case;
sub acutecomb by acutecomb.case;
sub circumflexcomb by circumflexcomb.case;
sub ringcomb by ringcomb.case;
sub tildecomb by tildecomb.case;
sub macroncomb by macroncomb.case;
sub cedillacomb by cedillacomb.case;

} case;

feature dlig {
# automatic
lookupflag IgnoreMarks;
sub r t by r_t;

} dlig;

feature liga {
# automatic
lookupflag IgnoreMarks;
sub f f i by f_f_i;
sub f f l by f_f_l;
sub f f by f_f;
sub f i by fi;
sub f l by fl;

} liga;

feature zero {
# automatic
sub zero by zero.zero;
sub zero.tf by zero.tf.zero;

} zero;

feature init {
script bng2;
language dflt;
lookup init1 {
	sub [SignE.bn SignAi.bn] by [SignE.ini.bn SignAi.ini.bn];
} init1;
script beng;
language dflt;
lookup init1;
} init;

feature nukt {
script bng2;
language dflt;
lookup nukt1{
	sub Dda.bn Nukta.bn by Rra.bn;
	sub Ddha.bn Nukta.bn by Rha.bn;
	sub Ya.bn Nukta.bn by Yya.bn;
} nukt1;
script beng;
language dflt;
lookup nukt1;
} nukt;

feature akhn {
script bng2;
language dflt;
lookup akhn1{
	sub Ka.bn Hasant.bn Ssa.bn by KaSsa.bn;
	sub Ja.bn Hasant.bn Nya.bn by JaNya.bn;
	sub Ta.bn Hasant.bn Ta.bn by TaTa.bn;
	sub Ta.bn Hasant.bn Tha.bn by TaTha.bn; 
	sub Ta.bn Hasant.bn Na.bn by TaNa.bn;
	sub Ta.bn Hasant.bn Ma.bn by TaMa.bn;
	sub Ta.bn Hasant.bn La.bn by TaLa.bn;
} akhn1;
script beng;
language dflt;
lookup akhn1;
} akhn;

feature rphf {
script bng2;
language dflt;
lookup rphf1 {
	sub Ra.bn Hasant.bn by Reph.bn;
	sub Ra.as Hasant.bn by Reph.bn;
} rphf1;
script beng;
language dflt;
lookup rphf1;

} rphf;

feature blwf {
script bng2;
language dflt;
lookup blwf1 {
	sub Hasant.bn Ra.bn by Raphala.bn;
	sub Hasant.bn Ba.bn by Baphala.bn;
	sub Hasant.bn Ra.as by Raphala.bn;
} blwf1;
script beng;
language dflt;
lookup blwf2 {
	sub Ra.bn Hasant.bn by Raphala.bn;
	sub Ba.bn Hasant.bn by Baphala.bn;
	sub Ra.as Hasant.bn by Raphala.bn;
} blwf2;
} blwf;

feature pstf {
script bng2;
language dflt;
lookup pstf1 {
	sub Hasant.bn Ya.bn by Yaphala.bn;
} pstf1;
script beng;
language dflt;
lookup pstf2 {
	sub Ya.bn Hasant.bn by Yaphala.bn;
} pstf2;

} pstf;

feature vatu {
script bng2;
language dflt;
lookup vatu1 {
	sub Ka.bn Raphala.bn by KaRa.bn;
	sub Kha.bn Raphala.bn by KhaRa.bn;
	sub Ga.bn Raphala.bn by GaRa.bn;
	sub Gha.bn Raphala.bn by GhaRa.bn;
	sub Nga.bn Raphala.bn by NgaRa.bn;
	sub Ca.bn Raphala.bn by CaRa.bn;
	sub Cha.bn Raphala.bn by ChaRa.bn;
	sub Ja.bn Raphala.bn by JaRa.bn;
	sub Jha.bn Raphala.bn by JhaRa.bn;
	sub Tta.bn Raphala.bn by TtaRa.bn;
	sub Ttha.bn Raphala.bn by TthaRa.bn;
	sub Dda.bn Raphala.bn by DdaRa.bn;
	sub Ddha.bn Raphala.bn by DdhaRa.bn;
	sub Nna.bn Raphala.bn by NnaRa.bn;
	sub Ta.bn Raphala.bn by TaRa.bn;
	sub Tha.bn Raphala.bn by ThaRa.bn;
	sub Da.bn Raphala.bn by DaRa.bn;
	sub Dha.bn Raphala.bn by DhaRa.bn;
	sub Na.bn Raphala.bn by NaRa.bn;
	sub Pa.bn Raphala.bn by PaRa.bn;
	sub Pha.bn Raphala.bn by PhaRa.bn;
	sub Ba.bn Raphala.bn by BaRa.bn;
	sub Bha.bn Raphala.bn by BhaRa.bn;
	sub Ma.bn Raphala.bn by MaRa.bn;
	sub Ya.bn Raphala.bn by YaRa.bn;
	sub La.bn Raphala.bn by LaRa.bn;
	sub Sha.bn Raphala.bn by ShaRa.bn;
	sub Ssa.bn Raphala.bn by SsaRa.bn;
	sub Sa.bn Raphala.bn by SaRa.bn;
	sub Ha.bn Raphala.bn by HaRa.bn;
	sub Rra.bn Raphala.bn by RraRa.bn;
	sub Rha.bn Raphala.bn by RhaRa.bn;
	sub Yya.bn Raphala.bn by YyaRa.bn;
	sub Wa.as Raphala.bn by WaRa.as;
	sub KaSsa.bn Raphala.bn by KaSsaRa.bn;
	sub TaTa.bn Raphala.bn by TaTaRa.bn;
} vatu1;
script beng;
language dflt;
lookup vatu1;
} vatu;

feature half {
script bng2;
language dflt;
lookup half1 {
	sub Ka.bn Hasant.bn by KaHalf.bn;
	sub Kha.bn Hasant.bn by KhaHalf.bn;
	sub Ga.bn Hasant.bn by GaHalf.bn;
	sub Gha.bn Hasant.bn by GhaHalf.bn;
	sub Nga.bn Hasant.bn by NgaHalf.bn;
	sub Ca.bn Hasant.bn by CaHalf.bn;
	sub Cha.bn Hasant.bn by ChaHalf.bn;
	sub Ja.bn Hasant.bn by JaHalf.bn;
	sub Jha.bn Hasant.bn by JhaHalf.bn;
	sub Nya.bn Hasant.bn by NyaHalf.bn;
	sub Tta.bn Hasant.bn by TtaHalf.bn;
	sub Ttha.bn Hasant.bn by TthaHalf.bn;
	sub Dda.bn Hasant.bn by DdaHalf.bn;
	sub Ddha.bn Hasant.bn by DdhaHalf.bn;
	sub Nna.bn Hasant.bn by NnaHalf.bn;
	sub Ta.bn Hasant.bn by TaHalf.bn;
	sub Tha.bn Hasant.bn by ThaHalf.bn;
	sub Da.bn Hasant.bn by DaHalf.bn;
	sub Dha.bn Hasant.bn by DhaHalf.bn;
	sub Na.bn Hasant.bn by NaHalf.bn;
	sub Pa.bn Hasant.bn by PaHalf.bn;
	sub Pha.bn Hasant.bn by PhaHalf.bn;
	sub Ba.bn Hasant.bn by BaHalf.bn;
	sub Bha.bn Hasant.bn by BhaHalf.bn;
	sub Ma.bn Hasant.bn by MaHalf.bn;
	sub Ya.bn Hasant.bn by YaHalf.bn;
	sub La.bn Hasant.bn by LaHalf.bn;
	sub Sha.bn Hasant.bn by ShaHalf.bn;
	sub Ssa.bn Hasant.bn by SsaHalf.bn;
	sub Sa.bn Hasant.bn by SaHalf.bn;
	sub Ha.bn Hasant.bn by HaHalf.bn;
	sub Rra.bn Hasant.bn by RraHalf.bn;
	sub Rha.bn Hasant.bn by RhaHalf.bn;
	sub Yya.bn Hasant.bn by YyaHalf.bn;
	sub Wa.as Hasant.bn by WaHalf.as;
	sub KaSsa.bn Hasant.bn by KaSsaHalf.bn;
	sub Ta.bn Hasant.bn ZWJ by KhandaTa.bn;
} half1;
script beng;
language dflt;
lookup half1;

} half;

feature pres {
script bng2;
language dflt;

lookup pres1{ #Conjuncts
	sub KaHalf.bn TaRa.bn by KaTaRa.bn;
	sub KaHalf.bn TtaRa.bn by KaTtaRa.bn;
	sub KaHalf.bn Ta.bn Baphala.bn by KaTaBa.bn;
	sub KaSsaHalf.bn Nna.bn by KaSsaNna.bn;
	sub KaSsa.bn Baphala.bn by KaSsaBa.bn;
	sub KaSsaHalf.bn Ma.bn by KaSsaMa.bn;
	sub GaHalf.bn DhaRa.bn by GaDhaRa.bn;
	sub GaHalf.bn Dha.bn Baphala.bn by GaDhaBa.bn;
	sub NgaHalf.bn KaRa.bn by NgaKaRa.bn;
	sub NgaHalf.bn GhaRa.bn by NgaGhaRa.bn;
	sub NgaHalf.bn KaHalf.bn SsaRa.bn by NgaKaSsaRa.bn;
	sub NgaHalf.bn KaHalf.bn Ssa.bn by NgaKaSsa.bn;
	sub CaHalf.bn ChaRa.bn by CaChaRa.bn;
	sub CaHalf.bn Cha.bn Baphala.bn by CaChaBa.bn;
	sub JaHalf.bn Ja.bn Baphala.bn by JaJaBa.bn;
	sub NyaHalf.bn Ca.bn Baphala.bn by NyaCaBa.bn;
	sub TtaHalf.bn TtaRa.bn by TtaTtaRa.bn;
	sub NnaHalf.bn TtaRa.bn by NnaTtaRa.bn;
	sub NnaHalf.bn TthaRa.bn by NnaTthaRa.bn;
	sub NnaHalf.bn DdaRa.bn by NnaDdaRa.bn;
	sub NnaHalf.bn DdhaRa.bn by NnaDdhaRa.bn;
	sub TaHalf.bn Ta.bn Baphala.bn by TaTaBa.bn;
	sub TaTa.bn Baphala.bn by TaTaBa.bn;
	sub DaHalf.bn DaRa.bn by DaDaRa.bn;
	sub DaHalf.bn Da.bn Baphala.bn by DaDaBa.bn;
	sub DaHalf.bn Dha.bn Baphala.bn by DaDhaBa.bn;
	sub DaHalf.bn BhaRa.bn by DaBhaRa.bn;
	sub NaHalf.bn TtaRa.bn by NaTtaRa.bn;
	sub NaHalf.bn DdaRa.bn by NaDdaRa.bn;
	sub NaHalf.bn TaRa.bn by NaTaRa.bn;
	sub NaHalf.bn Ta.bn Baphala.bn by NaTaBa.bn;
	sub NaHalf.bn ThaRa.bn by NaThaRa.bn;
	sub NaHalf.bn DaRa.bn by NaDaRa.bn;
	sub NaHalf.bn Da.bn Baphala.bn by NaDaBa.bn;
	sub NaHalf.bn DhaRa.bn by NaDhaRa.bn;
	sub NaHalf.bn Dha.bn Baphala.bn by NaDhaBa.bn;
	sub NaHalf.bn SaHalf.bn Tta.bn by NaSaTta.bn;
	sub PaHalf.bn TaRa.bn by PaTaRa.bn;
	sub BaHalf.bn DaRa.bn by BaDaRa.bn;
	sub MaHalf.bn PaRa.bn by MaPaRa.bn;
	sub MaHalf.bn PhaRa.bn by MaPhaRa.bn;
	sub Ma.bn Baphala.bn Raphala.bn by MaBaRa.bn;
	sub MaHalf.bn BhaRa.bn by MaBhaRa.bn;
	sub LaHalf.bn TtaRa.bn by LaTtaRa.bn;
	sub LaHalf.bn DdaRa.bn by LaDdaRa.bn;
	sub LaHalf.bn PhaRa.bn by LaPhaRa.bn;
	sub SsaHalf.bn KaRa.bn by SsaKaRa.bn;
	sub SsaHalf.bn TtaRa.bn by SsaTtaRa.bn;
	sub SsaHalf.bn PaRa.bn by SsaPaRa.bn;
	sub SaHalf.bn KaRa.bn by SaKaRa.bn;
	sub SaHalf.bn TtaRa.bn by SaTtaRa.bn;
	sub SaHalf.bn TaRa.bn by SaTaRa.bn;
	sub SaHalf.bn Ta.bn Baphala.bn by SaTaBa.bn;
	sub SaHalf.bn PaRa.bn by SaPaRa.bn;
	sub SaHalf.bn PaHalf.bn La.bn by SaPaLa.bn;
	sub KaHalf.bn Ka.bn by KaKa.bn;
	sub KaHalf.bn Tta.bn by KaTta.bn;
	sub KaHalf.bn Ta.bn by KaTa.bn;
	sub KaHalf.bn Na.bn by KaNa.bn;
	sub KaHalf.bn Ma.bn by KaMa.bn;
	sub KaHalf.bn La.bn by KaLa.bn;
	sub KaHalf.bn Sa.bn by KaSa.bn;
	sub GaHalf.bn Ga.bn by GaGa.bn;
	sub GaHalf.bn Da.bn by GaDa.bn;
	sub GaHalf.bn Nna.bn by GaNna.bn;
	sub GaHalf.bn Dha.bn by GaDha.bn;
	sub GaHalf.bn Na.bn by GaNa.bn;
	sub GaHalf.bn Ma.bn by GaMa.bn;
	sub GaHalf.bn La.bn by GaLa.bn;
	sub GhaHalf.bn Na.bn by GhaNa.bn;
	sub NgaHalf.bn Ka.bn by NgaKa.bn;
	sub NgaHalf.bn Kha.bn by NgaKha.bn;
	sub NgaHalf.bn Ga.bn by NgaGa.bn;
	sub NgaHalf.bn Gha.bn by NgaGha.bn;
	sub NgaHalf.bn Ma.bn by NgaMa.bn;
	sub CaHalf.bn Ca.bn by CaCa.bn;
	sub CaHalf.bn Cha.bn by CaCha.bn;
	sub CaHalf.bn Nya.bn by CaNya.bn;
	sub CaHalf.bn Na.bn by CaNa.bn;
	sub JaHalf.bn Ja.bn by JaJa.bn;
	sub JaHalf.bn Jha.bn by JaJha.bn;
	sub NyaHalf.bn Ca.bn by NyaCa.bn;
	sub NyaHalf.bn Cha.bn by NyaCha.bn;
	sub NyaHalf.bn Ja.bn by NyaJa.bn;
	sub NyaHalf.bn Jha.bn by NyaJha.bn;
	sub TtaHalf.bn Tta.bn by TtaTta.bn;
	sub TtaHalf.bn Ma.bn by TtaMa.bn;
	sub DdaHalf.bn Ga.bn by DdaGa.bn;
	sub DdaHalf.bn Dda.bn by DdaDda.bn;
	sub DdaHalf.bn Ma.bn by DdaMa.bn;
	sub NnaHalf.bn Tta.bn by NnaTta.bn;
	sub NnaHalf.bn Ttha.bn by NnaTtha.bn;
	sub NnaHalf.bn Dda.bn by NnaDda.bn;
	sub NnaHalf.bn Ddha.bn by NnaDdha.bn;
	sub NnaHalf.bn Nna.bn by NnaNna.bn;
	sub NnaHalf.bn Ma.bn by NnaMa.bn;
	sub DaHalf.bn Ga.bn by DaGa.bn;
	sub DaHalf.bn Gha.bn by DaGha.bn;
	sub DaHalf.bn Da.bn by DaDa.bn;
	sub DaHalf.bn Dha.bn by DaDha.bn;
	sub DaHalf.bn Na.bn by DaNa.bn;
	sub DaHalf.bn Bha.bn by DaBha.bn;
	sub DaHalf.bn Ma.bn by DaMa.bn;
	sub DhaHalf.bn Na.bn by DhaNa.bn;
	sub DhaHalf.bn Ma.bn by DhaMa.bn;
	sub NaHalf.bn Tta.bn by NaTta.bn;
	sub NaHalf.bn Ttha.bn by NaTtha.bn;
	sub NaHalf.bn Dda.bn by NaDda.bn;
	sub NaHalf.bn Ta.bn by NaTa.bn;
	sub NaHalf.bn Tha.bn by NaTha.bn;
	sub NaHalf.bn Da.bn by NaDa.bn;
	sub NaHalf.bn Dha.bn by NaDha.bn;
	sub NaHalf.bn Na.bn by NaNa.bn;
	sub NaHalf.bn Ma.bn by NaMa.bn;
	sub NaHalf.bn Sa.bn by NaSa.bn;
	sub PaHalf.bn Tta.bn by PaTta.bn;
	sub PaHalf.bn Ta.bn by PaTa.bn;
	sub PaHalf.bn Na.bn by PaNa.bn;
	sub PaHalf.bn Pa.bn by PaPa.bn;
	sub PaHalf.bn Ma.bn by PaMa.bn;
	sub PaHalf.bn La.bn by PaLa.bn;
	sub PaHalf.bn Sa.bn by PaSa.bn;
	sub PhaHalf.bn Tta.bn by PhaTta.bn;
	sub PhaHalf.bn La.bn by PhaLa.bn;
	sub BaHalf.bn Ja.bn by BaJa.bn;
	sub BaHalf.bn Jha.bn by BaJha.bn;
	sub BaHalf.bn Dda.bn by BaDda.bn;
	sub BaHalf.bn Ddha.bn by BaDdha.bn;
	sub BaHalf.bn Da.bn by BaDa.bn;
	sub BaHalf.bn Dha.bn by BaDha.bn;
	sub BaHalf.bn Bha.bn by BaBha.bn;
	sub BaHalf.bn La.bn by BaLa.bn;
	sub BhaHalf.bn La.bn by BhaLa.bn;
	sub MaHalf.bn Ta.bn by MaTa.bn;
	sub MaHalf.bn Da.bn by MaDa.bn;
	sub MaHalf.bn Na.bn by MaNa.bn;
	sub MaHalf.bn Pa.bn by MaPa.bn;
	sub MaHalf.bn Pha.bn by MaPha.bn;
	sub MaHalf.bn Bha.bn by MaBha.bn;
	sub MaHalf.bn Ma.bn by MaMa.bn;
	sub MaHalf.bn La.bn by MaLa.bn;
	sub LaHalf.bn Ka.bn by LaKa.bn;
	sub LaHalf.bn Ga.bn by LaGa.bn;
	sub LaHalf.bn Gha.bn by LaGha.bn;
	sub LaHalf.bn Tta.bn by LaTta.bn;
	sub LaHalf.bn Dda.bn by LaDda.bn;
	sub LaHalf.bn Ddha.bn by LaDdha.bn;
	sub LaHalf.bn Da.bn by LaDa.bn;
	sub LaHalf.bn Dha.bn by LaDha.bn;
	sub LaHalf.bn Pa.bn by LaPa.bn;
	sub LaHalf.bn Pha.bn by LaPha.bn;
	sub LaHalf.bn Ma.bn by LaMa.bn;
	sub LaHalf.bn La.bn by LaLa.bn;
	sub ShaHalf.bn Ca.bn by ShaCa.bn;
	sub ShaHalf.bn Cha.bn by ShaCha.bn;
	sub ShaHalf.bn Ta.bn by ShaTa.bn;
	sub ShaHalf.bn Na.bn by ShaNa.bn;
	sub ShaHalf.bn Ma.bn by ShaMa.bn;
	sub ShaHalf.bn La.bn by ShaLa.bn;
	sub SsaHalf.bn Ka.bn by SsaKa.bn;
	sub SsaHalf.bn Tta.bn by SsaTta.bn;
	sub SsaHalf.bn Ttha.bn by SsaTtha.bn;
	sub SsaHalf.bn Nna.bn by SsaNna.bn;
	sub SsaHalf.bn Pa.bn by SsaPa.bn;
	sub SsaHalf.bn Pha.bn by SsaPha.bn;
	sub SsaHalf.bn Ma.bn by SsaMa.bn;
	sub SaHalf.bn Ka.bn by SaKa.bn;
	sub SaHalf.bn Kha.bn by SaKha.bn;
	sub SaHalf.bn Tta.bn by SaTta.bn;
	sub SaHalf.bn Ta.bn by SaTa.bn;
	sub SaHalf.bn Tha.bn by SaTha.bn;
	sub SaHalf.bn Na.bn by SaNa.bn;
	sub SaHalf.bn Pa.bn by SaPa.bn;
	sub SaHalf.bn Pha.bn by SaPha.bn;
	sub SaHalf.bn Ma.bn by SaMa.bn;
	sub SaHalf.bn La.bn by SaLa.bn;
	sub HaHalf.bn Nna.bn by HaNna.bn;
	sub HaHalf.bn Na.bn by HaNa.bn;
	sub HaHalf.bn Ma.bn by HaMa.bn;
	sub HaHalf.bn La.bn by HaLa.bn;
	sub RraHalf.bn Ga.bn by RraGa.bn;
	sub NnaHalf.bn Na.bn by NnaNa.bn;
	sub Ka.bn Baphala.bn by KaBa.bn;
	sub Kha.bn Baphala.bn by KhaBa.bn;
	sub Ga.bn Baphala.bn by GaBa.bn;
	sub Gha.bn Baphala.bn by GhaBa.bn;
	sub Ca.bn Baphala.bn by CaBa.bn;
	sub Cha.bn Baphala.bn by ChaBa.bn;
	sub Ja.bn Baphala.bn by JaBa.bn;
	sub Tta.bn Baphala.bn by TtaBa.bn;
	sub Dda.bn Baphala.bn by DdaBa.bn;
	sub Nna.bn Baphala.bn by NnaBa.bn;
	sub Ta.bn Baphala.bn by TaBa.bn;
	sub Tha.bn Baphala.bn by ThaBa.bn;
	sub Da.bn Baphala.bn by DaBa.bn;
	sub Dha.bn Baphala.bn by DhaBa.bn;
	sub Na.bn Baphala.bn by NaBa.bn;
	sub Ba.bn Baphala.bn by BaBa.bn;
	sub Ma.bn Baphala.bn by MaBa.bn;
	sub La.bn Baphala.bn by LaBa.bn;
	sub Sha.bn Baphala.bn by ShaBa.bn;
	sub Ssa.bn Baphala.bn by SsaBa.bn;
	sub Sa.bn Baphala.bn by SaBa.bn;
	sub Ha.bn Baphala.bn by HaBa.bn;
} pres1;

lookup pres2{ #SignI for Tta and Ttha
	sub SignI.bn Tta.bn by TtaSignI.bn;
	sub SignI.bn Ttha.bn by TthaSignI.bn;

} pres2;

lookup pres3{ #SignI for Tta and Ttha conjuncts
	sub SignI.bn KaTta.bn by KaTtaSignI.bn;
	sub SignI.bn KaTtaRa.bn by KaTtaRaSignI.bn;
	sub SignI.bn TtaTta.bn by TtaTtaSignI.bn;
	sub SignI.bn TtaTtaRa.bn by TtaTtaRaSignI.bn;
	sub SignI.bn TtaMa.bn by TtaMaSignI.bn;
	sub SignI.bn TtaRa.bn by TtaRaSignI.bn;
	sub SignI.bn TtaBa.bn by TtaBaSignI.bn;
	sub SignI.bn SsaTta.bn by SsaTtaSignI.bn;
	sub SignI.bn SsaTtaRa.bn by SsaTtaRaSignI.bn;
	sub SignI.bn NnaTta.bn by NnaTtaSignI.bn;
	sub SignI.bn NnaTtaRa.bn by NnaTtaRaSignI.bn;
	sub SignI.bn NaTta.bn by NaTtaSignI.bn;
	sub SignI.bn NaTtaRa.bn by NaTtaRaSignI.bn;
	sub SignI.bn NaSaTta.bn by NaSaTtaSignI.bn;
	sub SignI.bn PaTta.bn by PaTtaSignI.bn;
	sub SignI.bn PhaTta.bn by PhaTtaSignI.bn;
	sub SignI.bn LaTta.bn by LaTtaSignI.bn;
	sub SignI.bn LaTtaRa.bn by LaTtaRaSignI.bn;
	sub SignI.bn SaTta.bn by SaTtaSignI.bn;
	sub SignI.bn SaTtaRa.bn by SaTtaRaSignI.bn;
	sub SignI.bn TthaRa.bn by TthaRaSignI.bn;
	sub SignI.bn SsaTtha.bn by SsaTthaSignI.bn;
	sub SignI.bn NnaTtha.bn by NnaTthaSignI.bn;
	sub SignI.bn NnaTthaRa.bn by NnaTthaRaSignI.bn;
	sub SignI.bn NaTtha.bn by NaTthaSignI.bn;

} pres3;
    
lookup pres5 { #SignI+Reph part1
    sub SignI.bn' @All_I Reph.bn by SignI_reph.bn;
    sub SignI.bn' @All_I Candrabindu.bn by SignICandrabindu.bn;
    sub SignI_Tta_Ttha1.bn' @TTA_TTHA_I_1 Reph.bn by SignI_Tta_Ttha1_reph.bn;
    sub SignI_Tta_Ttha2.bn' @TTA_TTHA_I_2 Reph.bn by SignI_Tta_Ttha2_reph.bn;
    sub SignI_Tta_Ttha1.bn' @TTA_TTHA_I_1 Candrabindu.bn by SignICandrabindu_Tta_Ttha1.bn;
    sub SignI_Tta_Ttha2.bn' @TTA_TTHA_I_2 Candrabindu.bn by SignICandrabindu_Tta_Ttha2.bn;
} pres5;

lookup pres6 { #SignI+Reph part2
    sub SignI_reph.bn @All_I Reph.bn' by abvs_null.bn;
    sub SignI_Tta_Ttha1_reph.bn @TTA_TTHA_I_1 Reph.bn' by abvs_null.bn;
    sub SignI_Tta_Ttha2_reph.bn @TTA_TTHA_I_2 Reph.bn' by abvs_null.bn;  
    sub SignICandrabindu.bn @All_I Candrabindu.bn' by abvs_null.bn;
    sub SignICandrabindu_Tta_Ttha1.bn @TTA_TTHA_I_1 Candrabindu.bn' by abvs_null.bn;
    sub SignICandrabindu_Tta_Ttha2.bn @TTA_TTHA_I_2 Candrabindu.bn' by abvs_null.bn;   
} pres6;


script beng;
language dflt;
lookup pres1;
lookup pres2;
lookup pres3;
lookup pres5;
lookup pres6;

} pres;

feature cjct {
script bng2;
language dflt;
lookup pres1;
script beng;
language dflt;
lookup pres1;
} cjct;

feature abvs {
script bng2;
language dflt;

lookup abvs4{ #Reph for Tta and Tta conjuncts
	sub @TTA_1 Reph.bn' by Reph_alt2.bn;
	sub @TTA_2 Reph.bn' by Reph_alt2.bn;
} abvs4;

lookup abvs2{ #SignI+Reph for Tta Ttha and SignIi+Reph for Ttha
	sub TtaSignI.bn Reph.bn by TtaSignIReph.bn;
	sub TthaSignI.bn Reph.bn by TthaSignIReph.bn;
	sub TtaSignI.bn Candrabindu.bn by TtaSignICandrabindu.bn;
	sub TthaSignI.bn Candrabindu.bn by TthaSignICandrabindu.bn;
} abvs2;

lookup abvs1a { #Alternate chandrabindu for abovebase matras
    sub @CANDRABINDU_ALT_1 Candrabindu.bn' by Candrabindu_alt.bn;
    sub @TTA_1 Candrabindu.bn' by Candrabindu_alt.bn;
    sub @TTA_2 Candrabindu.bn' by Candrabindu_alt.bn;
    sub @TTHA Candrabindu.bn' by Candrabindu_alt.bn;
} abvs1a;

lookup abvs1b { #Alternate chandrabindu for Tta+matras
    sub @TTA_1 [SignAa.bn SignU.bn SignUu.bn SignRu.bn SignRuu.bn SignLru.bn SignLruu.bn Yaphala.bn] Candrabindu.bn' by Candrabindu_alt.bn;
    sub @TTA_2 [SignAa.bn SignU.bn SignUu.bn SignRu.bn SignRuu.bn SignLru.bn SignLruu.bn Yaphala.bn] Candrabindu.bn' by Candrabindu_alt.bn;
    sub @TTHA [SignAa.bn SignU.bn SignUu.bn SignRu.bn SignRuu.bn SignLru.bn SignLruu.bn Yaphala.bn] Candrabindu.bn' by Candrabindu_alt.bn;
} abvs1b;

lookup abvs3{ #SignIi+Reph Reph+Candrabindu SignAuMark+Reph+Candrabindu
	sub Reph.bn SignIi.bn by SignIiReph.bn;
	sub Reph_alt2.bn SignIi.bn by SignIiReph.bn;
	sub Reph.bn SignAuMark.bn by SignAuMark_Reph.bn;
	sub Reph_alt2.bn SignAuMark.bn by SignAuMark_Reph.bn;
	sub Reph.bn Candrabindu.bn by RephCandrabindu.bn;
	sub Reph_alt2.bn Candrabindu.bn by RephCandrabindu_alt2.bn;
} abvs3; 



script beng;
language dflt;
lookup abvs4;
lookup abvs2;
lookup abvs1a;
lookup abvs1b;
lookup abvs3;
} abvs;

feature blws {
script bng2;
language dflt;
lookup vatu1;
lookup blws1{
	sub KaSsa.bn Baphala.bn by KaSsaBa.bn;
	sub TaTa.bn Baphala.bn by TaTaBa.bn;
	sub Ma.bn Baphala.bn Raphala.bn by MaBaRa.bn;
	sub Ka.bn Baphala.bn by KaBa.bn;
	sub Kha.bn Baphala.bn by KhaBa.bn;
	sub Ga.bn Baphala.bn by GaBa.bn;
	sub Gha.bn Baphala.bn by GhaBa.bn;
	sub Ca.bn Baphala.bn by CaBa.bn;
	sub Cha.bn Baphala.bn by ChaBa.bn;
	sub Ja.bn Baphala.bn by JaBa.bn;
	sub Tta.bn Baphala.bn by TtaBa.bn;
	sub Dda.bn Baphala.bn by DdaBa.bn;
	sub Nna.bn Baphala.bn by NnaBa.bn;
	sub Ta.bn Baphala.bn by TaBa.bn;
	sub Tha.bn Baphala.bn by ThaBa.bn;
	sub Da.bn Baphala.bn by DaBa.bn;
	sub Dha.bn Baphala.bn by DhaBa.bn;
	sub Na.bn Baphala.bn by NaBa.bn;
	sub Ba.bn Baphala.bn by BaBa.bn;
	sub Ma.bn Baphala.bn by MaBa.bn;
	sub La.bn Baphala.bn by LaBa.bn;
	sub Sha.bn Baphala.bn by ShaBa.bn;
	sub Ssa.bn Baphala.bn by SsaBa.bn;
	sub Sa.bn Baphala.bn by SaBa.bn;
	sub Ha.bn Baphala.bn by HaBa.bn;
	sub TtaSignI.bn Baphala.bn by TtaBaSignI.bn;
} blws1;
lookup blws2 {
	sub Ga.bn SignU.bn by GaSignU.bn;
	sub Sha.bn SignU.bn by ShaSignU.bn;
	sub Ha.bn SignU.bn by HaSignU.bn;
	sub Ha.bn SignRu.bn by HaSignRu.bn;
	sub NaTa.bn SignU.bn by NaTaSignU.bn;
	sub PaTa.bn SignU.bn by PaTaSignU.bn;
	sub SaTa.bn SignU.bn by SaTaSignU.bn;
	sub LaGa.bn SignU.bn by LaGaSignU.bn;
} blws2;
lookup blws3 {
	sub @RAKAR_U_UU SignU.bn' by SignU.side.bn;
	sub @RAKAR_U_UU SignUu.bn' by SignUu.side.bn;
	sub Rra.bn' [SignUu.bn SignU.bn SignRu.bn] by Rra_for_ukar.bn;
	sub Rha.bn' [SignUu.bn SignU.bn SignRu.bn] by Rha_for_ukar.bn;
	sub @BELOWBASE_alt1 SignU.bn' by SignU_alt1.bn;
	sub @BELOWBASE_alt1 SignUu.bn' by SignUu_alt1.bn;
	sub @BELOWBASE_alt1 SignRu.bn' by SignRu_alt1.bn;
	sub Wa.as SignU.bn' by SignU_defaultA.bn;
	sub Wa.as SignUu.bn' by SignUu_defaultA.bn;
	sub Wa.as SignRu.bn' by SignRu_defaultA.bn;
	sub [Da.bn GaDa.bn DaDa.bn NaDa.bn BaDa.bn MaDa.bn LaDa.bn NgaGa.bn] SignU.bn' by SignU_alt2.bn;
	sub [Da.bn GaDa.bn DaDa.bn NaDa.bn BaDa.bn MaDa.bn LaDa.bn NgaGa.bn] SignUu.bn' by SignUu_alt2.bn;
	sub [Da.bn GaDa.bn DaDa.bn NaDa.bn BaDa.bn MaDa.bn LaDa.bn NgaGa.bn] SignRu.bn' by SignRu_alt2.bn;
	#sub NgaGa.bn SignU.bn' by SignU_alt2a.bn;
	#sub NgaGa.bn SignUu.bn' by SignUu_alt2a.bn;
	#sub NgaGa.bn SignRu.bn' by SignRu_alt2a.bn;
	sub @BELOWBASE_alt3 SignU.bn' by SignU_alt3.bn;
	sub @BELOWBASE_alt3 SignUu.bn' by SignUu_alt3.bn;
	sub @BELOWBASE_alt3 SignRu.bn' by SignRu_alt3.bn;
	sub @BELOWBASE_alt4 SignU.bn' by SignU_alt4.bn;
	sub @BELOWBASE_alt4 SignUu.bn' by SignUu_alt4.bn;
	sub @BELOWBASE_alt4 SignRu.bn' by SignRu_alt4.bn;
	sub @BELOWBASE_alt5 SignU.bn' by SignU_alt5.bn;
	sub @BELOWBASE_alt5 SignUu.bn' by SignUu_alt5.bn;
	sub @BELOWBASE_alt5 SignRu.bn' by SignRu_alt5.bn;
} blws3;
script beng;
language dflt;
lookup vatu1;
lookup blws1;
lookup blws2;
lookup blws3;

} blws;

feature psts {
script bng2;
language dflt;

lookup psts1 {
	sub ShaRa.bn SignIi.bn by ShaRaSignIi.bn;
} psts1;

lookup psts2 {
	#sub @KHA SignIi.bn' by SignIi_Kha.bn;
	#sub [PaTa.bn ShaTa.bn] SignIi.bn' by SignIi_PaTa.bn;
	#sub PaTaRa.bn SignIi.bn' by SignIi_PaTaRa.bn;
	sub @TTA_1 SignIi.bn' by SignIi_Tta1.bn;
	sub @TTA_2 SignIi.bn' by SignIi_Tta2.bn;
} psts2;

lookup psts3 {
	#sub @KHA SignIiReph.bn' by SignIi_Kha_Reph.bn;
	#sub [PaTa.bn ShaTa.bn]  SignIiReph.bn' by SignIi_PaTa_Reph.bn;
	#sub PaTaRa.bn SignIiReph.bn' by SignIi_PaTaRa_Reph.bn;
	sub @TTA_1 SignIiReph.bn' by SignIi_Tta1_Reph.bn;
	sub @TTA_2 SignIiReph.bn' by SignIi_Tta2_Reph.bn;
} psts3;

lookup psts4 {
	sub @TTA_1 SignAuMark_Reph.bn' by SignAuMark_Tta_Reph.bn;
	sub @TTA_2 SignAuMark_Reph.bn' by SignAuMark_Tta_Reph.bn;
} psts4;

lookup psts5{
	sub TtaMa.bn SignIi.bn by TtaMaSignIi.bn;
	sub Ttha.bn SignIi.bn by TthaSignIi.bn;
	sub TthaRa.bn SignIi.bn by TthaRaSignIi.bn;
	sub NnaTtha.bn SignIi.bn by NnaTthaSignIi.bn;
	sub NnaTthaRa.bn SignIi.bn by NnaTthaRaSignIi.bn;
	sub NaTtha.bn SignIi.bn by NaTthaSignIi.bn;
	sub SsaTtha.bn SignIi.bn by SsaTthaSignIi.bn;
	sub Ttha.bn SignIiReph.bn by TthaSignIiReph.bn;
} psts5;

lookup psts6a {
	sub SignAa.bn' lookup Reorder_Candrabindu1a
	Candrabindu.bn' lookup Reorder_Candrabindu1a ;
} psts6a;

lookup psts6b {
	sub SignAa.bn' lookup Reorder_Candrabindu1b
	Candrabindu_alt.bn' lookup Reorder_Candrabindu1b ;
} psts6b;

lookup psts7a {
	sub Yaphala.bn' lookup Reorder_Candrabindu2a 
	Candrabindu.bn' lookup Reorder_Candrabindu2a ;
} psts7a;

lookup psts7b {
	sub Yaphala.bn' lookup Reorder_Candrabindu2b 
	Candrabindu_alt.bn' lookup Reorder_Candrabindu2b ;
} psts7b;

lookup psts8 {
	sub SignU.side.bn' lookup Reorder_Reph1 
	Reph.bn' lookup Reorder_Reph1 ;
	sub SignUu.side.bn' lookup Reorder_Reph2 
	Reph.bn' lookup Reorder_Reph2 ;
} psts8;

lookup psts9 {
	sub SignU.side.bn' lookup Reorder_Candrabindu3 
	Candrabindu.bn' lookup Reorder_Candrabindu3 ;
	sub SignUu.side.bn' lookup Reorder_Candrabindu4 
	Candrabindu.bn' lookup Reorder_Candrabindu4 ;
} psts9;

script beng;
language dflt;
lookup psts1;
lookup psts2;
lookup psts3;
lookup psts4;
lookup psts5;
lookup psts6a;
lookup psts6b;
lookup psts7a;
lookup psts7b;
lookup psts8;
lookup psts9;
} psts;

feature haln {
script bng2;
language dflt;
lookup haln1 {
	sub Ka.bn Hasant.bn by KaHasant.bn;
	sub Kha.bn Hasant.bn by KhaHasant.bn;
	sub Ga.bn Hasant.bn by GaHasant.bn;
	sub Gha.bn Hasant.bn by GhaHasant.bn;
	sub Nga.bn Hasant.bn by NgaHasant.bn;
	sub Ca.bn Hasant.bn by CaHasant.bn;
	sub Cha.bn Hasant.bn by ChaHasant.bn;
	sub Ja.bn Hasant.bn by JaHasant.bn;
	sub Jha.bn Hasant.bn by JhaHasant.bn;
	sub Nya.bn Hasant.bn by NyaHasant.bn;
	sub Tta.bn Hasant.bn by TtaHasant.bn;
	sub Ttha.bn Hasant.bn by TthaHasant.bn;
	sub Dda.bn Hasant.bn by DdaHasant.bn;
	sub Ddha.bn Hasant.bn by DdhaHasant.bn;
	sub Nna.bn Hasant.bn by NnaHasant.bn;
	sub Ta.bn Hasant.bn by TaHasant.bn;
	sub Tha.bn Hasant.bn by ThaHasant.bn;
	sub Da.bn Hasant.bn by DaHasant.bn;
	sub Dha.bn Hasant.bn by DhaHasant.bn;
	sub Na.bn Hasant.bn by NaHasant.bn;
	sub Pa.bn Hasant.bn by PaHasant.bn;
	sub Pha.bn Hasant.bn by PhaHasant.bn;
	sub Ba.bn Hasant.bn by BaHasant.bn;
	sub Bha.bn Hasant.bn by BhaHasant.bn;
	sub Ma.bn Hasant.bn by MaHasant.bn;
	sub Ya.bn Hasant.bn by YaHasant.bn;
	sub Ra.bn Hasant.bn by RaHasant.bn;
	sub La.bn Hasant.bn by LaHasant.bn;
	sub Sha.bn Hasant.bn by ShaHasant.bn;
	sub Ssa.bn Hasant.bn by SsaHasant.bn;
	sub Sa.bn Hasant.bn by SaHasant.bn;
	sub Ha.bn Hasant.bn by HaHasant.bn;
	sub Rra.bn Hasant.bn by RraHasant.bn;
	sub Rha.bn Hasant.bn by RhaHasant.bn;
	sub Yya.bn Hasant.bn by YyaHasant.bn;
	sub Ra.as Hasant.bn by RaHasant.as;
	sub Wa.as Hasant.bn by WaHasant.as;
	sub KaSsa.bn Hasant.bn by KaSsaHasant.bn;
} haln1;
script beng;
language dflt;
lookup haln1;

} haln;

table GDEF {
  # automatic
  GlyphClassDef
    [dollar A B C D E F G H I J K L M N O P Q R S T U V W X Y Z grave a b c d e f g h i k l m n o p q r s t u v w x y z OE oe cent yen Agrave Aacute Acircumflex Atilde Aring Adieresis AE Ccedilla Egrave Eacute Ecircumflex Edieresis Igrave Iacute Icircumflex Idieresis Eth Ntilde Ograve Oacute Ocircumflex Otilde Odieresis Oslash Ugrave Uacute Ucircumflex Udieresis Yacute Thorn germandbls agrave aacute acircumflex atilde adieresis aring ae ccedilla egrave eacute ecircumflex edieresis igrave iacute icircumflex idieresis ntilde ograve oacute ocircumflex otilde odieresis oslash ugrave uacute ucircumflex udieresis yacute thorn ydieresis Germandbls idotless VowelA.bn VowelAa.bn VowelI.bn VowelIi.bn VowelU.bn VowelUu.bn VowelRu.bn VowelLru.bn VowelLru_Alt.bn VowelE.bn VowelAi.bn VowelO.bn VowelAu.bn Ka.bn Kha.bn Ga.bn Gha.bn Nga.bn Ca.bn Cha.bn Ja.bn Jha.bn Nya.bn Tta.bn Ttha.bn Dda.bn Ddha.bn Nna.bn Ta.bn Tha.bn Da.bn Dha.bn Na.bn Pa.bn Pha.bn Ba.bn Bha.bn Ma.bn Ya.bn Ra.bn La.bn Sha.bn Ssa.bn Sa.bn Ha.bn SignAa.bn SignI.bn SignIi.bn SignAi.bn SignO.bn SignAu.bn SignAuMark.bn Rra.bn Rha.bn Yya.bn VowelRuu.bn VowelLruu.bn VowelLruu_Alt.bn Ra.as Wa.as KaKa.bn KaTta.bn KaTtaRa.bn KaTa.bn KaTaRa.bn KaTaBa.bn KaNa.bn KaMa.bn KaRa.bn KaLa.bn KaBa.bn KaSsa.bn KaSsaNna.bn KaSsaMa.bn KaSsaRa.bn KaSsaBa.bn KaSa.bn KhaRa.bn KhaBa.bn GaSignU.bn GaGa.bn GaNna.bn GaDa.bn GaDha.bn GaDhaBa.bn GaDhaRa.bn GaNa.bn GaMa.bn GaRa.bn GaLa.bn GaBa.bn GhaNa.bn GhaRa.bn GhaBa.bn NgaKa.bn NgaKaRa.bn NgaKaSsa.bn NgaKaSsaRa.bn NgaKha.bn NgaGa.bn NgaGha.bn NgaGhaRa.bn NgaMa.bn NgaRa.bn CaCa.bn CaCha.bn CaChaRa.bn CaChaBa.bn CaNya.bn CaNa.bn CaRa.bn CaBa.bn ChaRa.bn ChaBa.bn JaJa.bn JaJaBa.bn JaJha.bn JaNya.bn JaRa.bn JaBa.bn JhaRa.bn NyaCa.bn NyaCaBa.bn NyaCha.bn NyaJa.bn NyaJha.bn TtaTta.bn TtaTtaRa.bn TtaMa.bn TtaRa.bn TtaBa.bn TthaRa.bn DdaGa.bn DdaDda.bn DdaMa.bn DdaRa.bn DdaBa.bn DdhaRa.bn NnaTta.bn NnaTtaRa.bn NnaTtha.bn NnaTthaRa.bn NnaDda.bn NnaDdaRa.bn NnaDdha.bn NnaDdhaRa.bn NnaNna.bn NnaNa.bn NnaMa.bn NnaRa.bn NnaBa.bn TaTa.bn TaTaRa.bn TaTaBa.bn TaTha.bn TaNa.bn TaMa.bn TaRa.bn TaLa.bn TaBa.bn ThaRa.bn ThaBa.bn DaGa.bn DaGha.bn DaDa.bn DaDaRa.bn DaDaBa.bn DaDha.bn DaDhaBa.bn DaNa.bn DaBha.bn DaBhaRa.bn DaMa.bn DaRa.bn DaBa.bn DhaNa.bn DhaMa.bn DhaRa.bn DhaBa.bn NaTta.bn NaTtaRa.bn NaTtha.bn NaDda.bn NaDdaRa.bn NaTa.bn NaTaSignU.bn NaTaRa.bn NaTaBa.bn NaTha.bn NaThaRa.bn NaDa.bn NaDaRa.bn NaDaBa.bn NaDha.bn NaDhaBa.bn NaDhaRa.bn NaNa.bn NaMa.bn NaRa.bn NaBa.bn NaSa.bn NaSaTta.bn PaTta.bn PaTa.bn PaTaSignU.bn PaTaRa.bn PaNa.bn PaPa.bn PaMa.bn PaRa.bn PaLa.bn PaSa.bn PhaTta.bn PhaRa.bn PhaLa.bn BaJa.bn BaJha.bn BaDda.bn BaDdha.bn BaDa.bn BaDaRa.bn BaDha.bn BaBa.bn BaBha.bn BaRa.bn BaLa.bn BhaRa.bn BhaLa.bn MaTa.bn MaDa.bn MaNa.bn MaPa.bn MaPaRa.bn MaPha.bn MaPhaRa.bn MaBa.bn MaBaRa.bn MaBha.bn MaBhaRa.bn MaMa.bn MaRa.bn MaLa.bn YaRa.bn LaKa.bn LaGa.bn LaGaSignU.bn LaGha.bn LaTta.bn LaTtaRa.bn LaDda.bn LaDdaRa.bn LaDdha.bn LaDa.bn LaDha.bn LaPa.bn LaPha.bn LaPhaRa.bn LaBa.bn LaMa.bn LaRa.bn LaLa.bn ShaSignU.bn ShaCa.bn ShaCha.bn ShaTa.bn ShaNa.bn ShaMa.bn ShaBa.bn ShaRa.bn ShaRaSignIi.bn ShaLa.bn SsaKa.bn SsaKaRa.bn SsaTta.bn SsaTtaRa.bn SsaTtha.bn SsaNna.bn SsaPa.bn SsaPaRa.bn SsaPha.bn SsaRa.bn SsaBa.bn SsaMa.bn SaKa.bn SaKaRa.bn SaKha.bn SaTta.bn SaTtaRa.bn SaTa.bn SaTaSignU.bn SaTaRa.bn SaTaBa.bn SaTha.bn SaNa.bn SaPa.bn SaPaRa.bn SaPaLa.bn SaPha.bn SaBa.bn SaMa.bn SaRa.bn SaLa.bn HaSignU.bn HaSignRu.bn HaNna.bn HaNa.bn HaBa.bn HaMa.bn HaRa.bn HaLa.bn RraGa.bn RraRa.bn RhaRa.bn YyaRa.bn WaRa.as KaHasant.bn KhaHasant.bn GaHasant.bn GhaHasant.bn NgaHasant.bn CaHasant.bn ChaHasant.bn JaHasant.bn JhaHasant.bn NyaHasant.bn TtaHasant.bn TthaHasant.bn DdaHasant.bn DdhaHasant.bn NnaHasant.bn TaHasant.bn ThaHasant.bn DaHasant.bn DhaHasant.bn NaHasant.bn PaHasant.bn BaHasant.bn BhaHasant.bn MaHasant.bn YaHasant.bn RaHasant.bn LaHasant.bn ShaHasant.bn SsaHasant.bn SaHasant.bn HaHasant.bn RraHasant.bn RhaHasant.bn YyaHasant.bn KaSsaHasant.bn WaHasant.as RaHasant.as KhaHalf.bn GaHalf.bn GhaHalf.bn NgaHalf.bn JhaHalf.bn TtaHalf.bn TthaHalf.bn NnaHalf.bn ThaHalf.bn DaHalf.bn DhaHalf.bn NaHalf.bn PaHalf.bn BaHalf.bn YaHalf.bn LaHalf.bn ShaHalf.bn SsaHalf.bn SaHalf.bn YyaHalf.bn WaHalf.as Rra_for_ukar.bn Rha_for_ukar.bn TtaSignI.bn TthaSignI.bn NaSaTtaSignI.bn TtaSignIReph.bn TthaSignIReph.bn TthaSignIi.bn TthaRaSignIi.bn NnaTthaSignIi.bn NnaTthaRaSignIi.bn NaTthaSignIi.bn SsaTthaSignIi.bn TthaSignIiReph.bn KaTtaRaSignI.bn KaTtaSignI.bn LaTtaRaSignI.bn LaTtaSignI.bn NaTtaRaSignI.bn NaTtaSignI.bn NaTthaSignI.bn NnaTtaRaSignI.bn NnaTtaSignI.bn NnaTthaRaSignI.bn NnaTthaSignI.bn PaTtaSignI.bn PhaTtaSignI.bn SaTtaRaSignI.bn SaTtaSignI.bn SsaTtaRaSignI.bn SsaTtaSignI.bn SsaTthaSignI.bn TtaBaSignI.bn TtaMaSignI.bn TtaMaSignIi.bn TtaRaSignI.bn TtaSignICandrabindu.bn TtaTtaRaSignI.bn TtaTtaSignI.bn TthaRaSignI.bn TthaSignICandrabindu.bn SignI_Tta_Ttha1.bn SignI_Tta_Ttha2.bn SignI_reph.bn SignI_Tta_Ttha1_reph.bn SignI_Tta_Ttha2_reph.bn SignICandrabindu.bn SignICandrabindu_Tta_Ttha1.bn SignICandrabindu_Tta_Ttha2.bn SignIi_Tta1.bn SignIi_Tta2.bn SignIiReph.bn SignIi_Tta1_Reph.bn SignIi_Tta2_Reph.bn SignAuMark_Reph.bn SignAuMark_Tta_Reph.bn SignAi.ini.bn Raphala.bn Baphala.bn Componant_Dhaphala.bn Componant_DhaBa.bn Componant_TaRa.bn Componant_Naphala1.bn Componant_Naphala2.bn Componant_Baphala2.bn Componant_Laphala.bn Componant_KaaRa.bn], # Base
    [fi fl r_t f_f f_f_i f_f_l], # Liga
    [dieresiscomb dotaccentcomb gravecomb acutecomb circumflexcomb ringcomb tildecomb macroncomb cedillacomb dieresiscomb.case gravecomb.case acutecomb.case circumflexcomb.case ringcomb.case tildecomb.case macroncomb.case cedillacomb.case dieresiscomb.narrow gravecomb.narrow acutecomb.narrow circumflexcomb.narrow tildecomb.narrow macroncomb.narrow Candrabindu.bn SignU.bn SignUu.bn SignRu.bn SignRuu.bn Hasant.bn Reph.bn RephCandrabindu.bn Candrabindu_alt.bn RephCandrabindu_alt2.bn Reph_alt2.bn SignRu_alt1.bn SignRu_alt2.bn SignRu_alt3.bn SignRu_alt4.bn SignRu_alt5.bn SignU_alt1.bn SignU_alt2.bn SignU_alt3.bn SignU_alt4.bn SignU_alt5.bn SignUu_alt1.bn SignUu_alt2.bn SignUu_alt3.bn SignUu_alt4.bn SignUu_alt5.bn SignRu_defaultA.bn SignU_defaultA.bn SignUu_defaultA.bn], # Mark
    ;
  LigatureCaretByPos f_f 887;
  LigatureCaretByPos f_f_i 802 1604;
  LigatureCaretByPos f_f_l 802 1605;
  LigatureCaretByPos fi 800;
  LigatureCaretByPos fl 801;
  LigatureCaretByPos r_t 982;
} GDEF;
