Thursday, July 3, 2025

TOCORRECT THE TRANSLITERATOR POPULATOR CODES

       public static void PopulateRulesAccordingToAxioms()

        {

            Rules___List_Of___BengaliAsciiTransliterationRule.Clear();

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Clear();

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "\u0964", AsciiSyllable = ".", BengaliToAsciiComplexity = 600, AsciiToBengaliComplexity = 600 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = " ", AsciiSyllable = "_space_", BengaliToAsciiComplexity = 380, AsciiToBengaliComplexity = 380 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "\u0995", AsciiSyllable = "KA", BengaliToAsciiComplexity = 1, AsciiToBengaliComplexity = 1 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "\u0996", AsciiSyllable = "KHA", BengaliToAsciiComplexity = 1, AsciiToBengaliComplexity = 1 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "\u0997", AsciiSyllable = "GA", BengaliToAsciiComplexity = 1, AsciiToBengaliComplexity = 1 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "\u0998", AsciiSyllable = "GHA", BengaliToAsciiComplexity = 1, AsciiToBengaliComplexity = 1 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "\u0999", AsciiSyllable = "NGA", BengaliToAsciiComplexity = 1, AsciiToBengaliComplexity = 1 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "\u099A", AsciiSyllable = "CA", BengaliToAsciiComplexity = 1, AsciiToBengaliComplexity = 1 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "\u099B", AsciiSyllable = "CHA", BengaliToAsciiComplexity = 1, AsciiToBengaliComplexity = 1 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "\u099C", AsciiSyllable = "JA", BengaliToAsciiComplexity = 1, AsciiToBengaliComplexity = 1 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "\u099D", AsciiSyllable = "JHA", BengaliToAsciiComplexity = 1, AsciiToBengaliComplexity = 1 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "\u099E", AsciiSyllable = "NYA", BengaliToAsciiComplexity = 1, AsciiToBengaliComplexity = 1 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "\u099F", AsciiSyllable = "TTA", BengaliToAsciiComplexity = 1, AsciiToBengaliComplexity = 1 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "\u09A0", AsciiSyllable = "TTHA", BengaliToAsciiComplexity = 1, AsciiToBengaliComplexity = 1 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "\u09A1", AsciiSyllable = "DDA", BengaliToAsciiComplexity = 1, AsciiToBengaliComplexity = 1 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "\u09A2", AsciiSyllable = "DDHA", BengaliToAsciiComplexity = 1, AsciiToBengaliComplexity = 1 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "\u09A3", AsciiSyllable = "NNA", BengaliToAsciiComplexity = 1, AsciiToBengaliComplexity = 1 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "\u09A4", AsciiSyllable = "TA", BengaliToAsciiComplexity = 1, AsciiToBengaliComplexity = 1 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "\u09A5", AsciiSyllable = "THA", BengaliToAsciiComplexity = 1, AsciiToBengaliComplexity = 1 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "\u09A6", AsciiSyllable = "DA", BengaliToAsciiComplexity = 1, AsciiToBengaliComplexity = 1 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "\u09A7", AsciiSyllable = "DHA", BengaliToAsciiComplexity = 1, AsciiToBengaliComplexity = 1 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "\u09A8", AsciiSyllable = "NA", BengaliToAsciiComplexity = 1, AsciiToBengaliComplexity = 1 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "\u09AA", AsciiSyllable = "PA", BengaliToAsciiComplexity = 1, AsciiToBengaliComplexity = 1 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "\u09AB", AsciiSyllable = "PHA", BengaliToAsciiComplexity = 1, AsciiToBengaliComplexity = 1 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "\u09AC", AsciiSyllable = "BA", BengaliToAsciiComplexity = 1, AsciiToBengaliComplexity = 1 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "\u09AD", AsciiSyllable = "BHA", BengaliToAsciiComplexity = 1, AsciiToBengaliComplexity = 1 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "\u09AE", AsciiSyllable = "MA", BengaliToAsciiComplexity = 1, AsciiToBengaliComplexity = 1 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "\u09AF", AsciiSyllable = "YA", BengaliToAsciiComplexity = 1, AsciiToBengaliComplexity = 1 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "\u09B0", AsciiSyllable = "RA", BengaliToAsciiComplexity = 1, AsciiToBengaliComplexity = 1 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "\u09B2", AsciiSyllable = "LA", BengaliToAsciiComplexity = 1, AsciiToBengaliComplexity = 1 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "\u09B6", AsciiSyllable = "SHA", BengaliToAsciiComplexity = 1, AsciiToBengaliComplexity = 1 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "\u09B7", AsciiSyllable = "SSA", BengaliToAsciiComplexity = 1, AsciiToBengaliComplexity = 1 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "\u09B8", AsciiSyllable = "SA", BengaliToAsciiComplexity = 1, AsciiToBengaliComplexity = 1 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "\u09B9", AsciiSyllable = "HA", BengaliToAsciiComplexity = 1, AsciiToBengaliComplexity = 1 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "\u09DD", AsciiSyllable = "RRA", BengaliToAsciiComplexity = 1, AsciiToBengaliComplexity = 1 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "\u09DF", AsciiSyllable = "A", BengaliToAsciiComplexity = 1, AsciiToBengaliComplexity = 1 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "\u0985", AsciiSyllable = "AA", BengaliToAsciiComplexity = 0, AsciiToBengaliComplexity = 0 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "\u0986", AsciiSyllable = "I", BengaliToAsciiComplexity = 0, AsciiToBengaliComplexity = 0 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "\u0987", AsciiSyllable = "II", BengaliToAsciiComplexity = 0, AsciiToBengaliComplexity = 0 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "\u0988", AsciiSyllable = "U", BengaliToAsciiComplexity = 0, AsciiToBengaliComplexity = 0 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "\u0989", AsciiSyllable = "UU", BengaliToAsciiComplexity = 0, AsciiToBengaliComplexity = 0 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "\u098A", AsciiSyllable = "VocalicR", BengaliToAsciiComplexity = 0, AsciiToBengaliComplexity = 0 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "\u098B", AsciiSyllable = "E", BengaliToAsciiComplexity = 0, AsciiToBengaliComplexity = 0 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "\u098F", AsciiSyllable = "AI", BengaliToAsciiComplexity = 0, AsciiToBengaliComplexity = 0 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "\u0990", AsciiSyllable = "O", BengaliToAsciiComplexity = 0, AsciiToBengaliComplexity = 0 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "\u0993", AsciiSyllable = "AU", BengaliToAsciiComplexity = 0, AsciiToBengaliComplexity = 0 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "\u0994", AsciiSyllable = "Candrabindu", BengaliToAsciiComplexity = 0, AsciiToBengaliComplexity = 0 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "\u0981", AsciiSyllable = "Anusvara", BengaliToAsciiComplexity = 11, AsciiToBengaliComplexity = 11 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "\u0982", AsciiSyllable = "Visarga", BengaliToAsciiComplexity = 11, AsciiToBengaliComplexity = 11 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "\u0983", AsciiSyllable = "halant", BengaliToAsciiComplexity = 11, AsciiToBengaliComplexity = 11 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "\u09CD", AsciiSyllable = "yafalas", BengaliToAsciiComplexity = 11, AsciiToBengaliComplexity = 11 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "\u09DF", AsciiSyllable = "AA", BengaliToAsciiComplexity = 11, AsciiToBengaliComplexity = 11 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "\u09BE", AsciiSyllable = "I", BengaliToAsciiComplexity = 3, AsciiToBengaliComplexity = 3 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "\u09BF", AsciiSyllable = "II", BengaliToAsciiComplexity = 3, AsciiToBengaliComplexity = 3 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "\u09C0", AsciiSyllable = "U", BengaliToAsciiComplexity = 3, AsciiToBengaliComplexity = 3 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "\u09C1", AsciiSyllable = "UU", BengaliToAsciiComplexity = 3, AsciiToBengaliComplexity = 3 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "\u09C2", AsciiSyllable = "E", BengaliToAsciiComplexity = 3, AsciiToBengaliComplexity = 3 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "\u09C7", AsciiSyllable = "AI", BengaliToAsciiComplexity = 3, AsciiToBengaliComplexity = 3 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "\u09C8", AsciiSyllable = "O", BengaliToAsciiComplexity = 3, AsciiToBengaliComplexity = 3 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "\u09CB", AsciiSyllable = "AU", BengaliToAsciiComplexity = 3, AsciiToBengaliComplexity = 3 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "\u09CC", AsciiSyllable = "kk", BengaliToAsciiComplexity = 3, AsciiToBengaliComplexity = 3 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ক্ক", AsciiSyllable = "kT", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ক্ট", AsciiSyllable = "kt", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ক্ত", AsciiSyllable = "kn", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ক্ন", AsciiSyllable = "kb", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ক্ব", AsciiSyllable = "km", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ক্ম", AsciiSyllable = "ky", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ক্য", AsciiSyllable = "kr", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ক্র", AsciiSyllable = "kl", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ক্ল", AsciiSyllable = "kSH", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ক্ষ", AsciiSyllable = "ks", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ক্স", AsciiSyllable = "khy", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "খ্য", AsciiSyllable = "khr", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "খ্র", AsciiSyllable = "gg", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "গ্গ", AsciiSyllable = "gDH", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "গ্ধ", AsciiSyllable = "gn", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "গ্ন", AsciiSyllable = "gb", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "গ্ব", AsciiSyllable = "gm", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "গ্ম", AsciiSyllable = "gy", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "গ্য", AsciiSyllable = "gr", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "গ্র", AsciiSyllable = "gl", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "গ্ল", AsciiSyllable = "Ghn", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ঘ্ন", AsciiSyllable = "GHy", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ঘ্য", AsciiSyllable = "GHr", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ঘ্র", AsciiSyllable = "NUOk", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ঙ্ক", AsciiSyllable = "NUOKH", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ঙ্খ", AsciiSyllable = "NUOg", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ঙ্গ", AsciiSyllable = "NUOGH", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ঙ্ঘ", AsciiSyllable = "NUOm", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ঙ্ম", AsciiSyllable = "NUOy", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ঙ্য", AsciiSyllable = "NUOr", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ঙ্র", AsciiSyllable = "chch", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "চ্চ", AsciiSyllable = "chCHH", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "চ্ছ", AsciiSyllable = "chNUO", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "চ্ঞ", AsciiSyllable = "chy", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "চ্য", AsciiSyllable = "chr", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "চ্র", AsciiSyllable = "CHHY", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ছ্য", AsciiSyllable = "CHHr", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ছ্র", AsciiSyllable = "jj", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "জ্জ", AsciiSyllable = "jJH", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "জ্ঝ", AsciiSyllable = "jNUO", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "জ্ঞ", AsciiSyllable = "jb", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "জ্ব", AsciiSyllable = "jy", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "জ্য", AsciiSyllable = "jr", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "জ্র", AsciiSyllable = "JHy", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ঝ্য", AsciiSyllable = "JHr", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ঝ্র", AsciiSyllable = "NYAch", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ঞ্চ", AsciiSyllable = "NYACHH", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ঞ্ছ", AsciiSyllable = "NYAj", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ঞ্জ", AsciiSyllable = "NYAJH", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ঞ্ঝ", AsciiSyllable = "NYAy", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ঞ্য", AsciiSyllable = "NYAr", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ঞ্র", AsciiSyllable = "Tt", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ট্ট", AsciiSyllable = "Tb", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ট্ব", AsciiSyllable = "Ty", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ট্য", AsciiSyllable = "Tr", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ট্র", AsciiSyllable = "TTHy", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ঠ্য", AsciiSyllable = "TTHr", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ঠ্র", AsciiSyllable = "DD", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ড্ড", AsciiSyllable = "Dy", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ড্য", AsciiSyllable = "Dr", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ড্র", AsciiSyllable = "DDHy", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ঢ্য", AsciiSyllable = "DDHr", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ঢ্র", AsciiSyllable = "NT", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ণ্ট", AsciiSyllable = "NTTH", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ণ্ঠ", AsciiSyllable = "ND", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ণ্ড", AsciiSyllable = "NDH", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ণ্ঢ", AsciiSyllable = "NN", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ণ্ণ", AsciiSyllable = "Nb", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ণ্ব", AsciiSyllable = "Nm", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ণ্ম", AsciiSyllable = "Ny", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ণ্য", AsciiSyllable = "Nr", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ণ্র", AsciiSyllable = "tt", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ত্ত", AsciiSyllable = "tTh", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ত্থ", AsciiSyllable = "tn", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ত্ন", AsciiSyllable = "tb", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ত্ব", AsciiSyllable = "tm", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ত্ম", AsciiSyllable = "ty", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ত্য", AsciiSyllable = "tr", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ত্র", AsciiSyllable = "THb", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "থ্ব", AsciiSyllable = "THy", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "থ্য", AsciiSyllable = "THr", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "থ্র", AsciiSyllable = "dg", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "দ্গ", AsciiSyllable = "dGH", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "দ্ঘ", AsciiSyllable = "dd", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "দ্দ", AsciiSyllable = "dDH", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "দ্ধ", AsciiSyllable = "db", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "দ্ব", AsciiSyllable = "dv", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "দ্ভ", AsciiSyllable = "dm", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "দ্ম", AsciiSyllable = "dy", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "দ্য", AsciiSyllable = "dr", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "দ্র", AsciiSyllable = "DHn", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ধ্ন", AsciiSyllable = "DHb", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ধ্ব", AsciiSyllable = "DHy", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ধ্য", AsciiSyllable = "DHr", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ধ্র", AsciiSyllable = "nj", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ন্জ", AsciiSyllable = "nT", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ন্ট", AsciiSyllable = "nTTH", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ন্ঠ", AsciiSyllable = "nD", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ন্ড", AsciiSyllable = "nt", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ন্ত", AsciiSyllable = "nTHH", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ন্থ", AsciiSyllable = "nd", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ন্দ", AsciiSyllable = "ndh", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ন্ধ", AsciiSyllable = "nn", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ন্ন", AsciiSyllable = "nb", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ন্ব", AsciiSyllable = "nm", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ন্ম", AsciiSyllable = "ny", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ন্য", AsciiSyllable = "nr", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ন্র", AsciiSyllable = "ns", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ন্স", AsciiSyllable = "pT", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "প্ট", AsciiSyllable = "pt", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "প্ত", AsciiSyllable = "pn", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "প্ন", AsciiSyllable = "pp", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "প্প", AsciiSyllable = "py", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "প্য", AsciiSyllable = "pr", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "প্র", AsciiSyllable = "pl", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "প্ল", AsciiSyllable = "ps", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "প্স", AsciiSyllable = "ft", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ফ্ট", AsciiSyllable = "fy", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ফ্য", AsciiSyllable = "fr", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ফ্র", AsciiSyllable = "fl", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ফ্ল", AsciiSyllable = "bj", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ব্জ", AsciiSyllable = "bd", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ব্দ", AsciiSyllable = "bDH", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ব্ধ", AsciiSyllable = "bb", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ব্ব", AsciiSyllable = "bv", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ব্ভ", AsciiSyllable = "by", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ব্য", AsciiSyllable = "br", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ব্র", AsciiSyllable = "bl", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ব্ল", AsciiSyllable = "vy", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ভ্য", AsciiSyllable = "vr", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ভ্র", AsciiSyllable = "mn", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ম্ন", AsciiSyllable = "mp", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ম্প", AsciiSyllable = "mf", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ম্ফ", AsciiSyllable = "mb", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ম্ব", AsciiSyllable = "mv", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ম্ভ", AsciiSyllable = "mm", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ম্ম", AsciiSyllable = "my", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ম্য", AsciiSyllable = "mr", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ম্র", AsciiSyllable = "ml", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ম্ল", AsciiSyllable = "YY", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "য্য", AsciiSyllable = "Yr", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "য্র", AsciiSyllable = "rk", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "র্ক", AsciiSyllable = "rKH", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "র্খ", AsciiSyllable = "rg", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "র্গ", AsciiSyllable = "rGH", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "র্ঘ", AsciiSyllable = "rNUO", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "র্ঙ", AsciiSyllable = "rch", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "র্চ", AsciiSyllable = "rCHH", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "র্ছ", AsciiSyllable = "rj", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "র্জ", AsciiSyllable = "rJH", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "র্ঝ", AsciiSyllable = "rNYA", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "র্ঞ", AsciiSyllable = "rT", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "র্ট", AsciiSyllable = "rTTH", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "র্ঠ", AsciiSyllable = "rD", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "র্ড", AsciiSyllable = "rDDH", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "র্ঢ", AsciiSyllable = "rN", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "র্ণ", AsciiSyllable = "rt", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "র্ত", AsciiSyllable = "rTH", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "র্থ", AsciiSyllable = "rd", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "র্দ", AsciiSyllable = "rDH", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "র্ধ", AsciiSyllable = "rn", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "র্ন", AsciiSyllable = "rp", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "র্প", AsciiSyllable = "rf", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "র্ফ", AsciiSyllable = "rb", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "র্ব", AsciiSyllable = "rv", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "র্ভ", AsciiSyllable = "rm", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "র্ম", AsciiSyllable = "ry", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "র্য", AsciiSyllable = "rR", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "র্র", AsciiSyllable = "rl", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "র্ল", AsciiSyllable = "rsh", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "র্শ", AsciiSyllable = "rSH", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "র্ষ", AsciiSyllable = "rs", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "র্স", AsciiSyllable = "rh", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "র্হ", AsciiSyllable = "rDDR", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "র্ঢ়", AsciiSyllable = "rY", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "র্য়", AsciiSyllable = "lk", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ল্ক", AsciiSyllable = "lg", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ল্গ", AsciiSyllable = "lT", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ল্ট", AsciiSyllable = "lD", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ল্ড", AsciiSyllable = "lp", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ল্প", AsciiSyllable = "lf", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ল্ফ", AsciiSyllable = "lb", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ল্ব", AsciiSyllable = "lm", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ল্ম", AsciiSyllable = "ly", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ল্য", AsciiSyllable = "lr", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ল্র", AsciiSyllable = "ll", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ল্ল", AsciiSyllable = "ls", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ল্স", AsciiSyllable = "shch", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "শ্চ", AsciiSyllable = "shCHH", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "শ্ছ", AsciiSyllable = "sht", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "শ্ত", AsciiSyllable = "shn", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "শ্ন", AsciiSyllable = "shb", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "শ্ব", AsciiSyllable = "shm", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "শ্ম", AsciiSyllable = "shy", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "শ্য", AsciiSyllable = "shr", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "শ্র", AsciiSyllable = "shl", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "শ্ল", AsciiSyllable = "SHk", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ষ্ক", AsciiSyllable = "SHT", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ষ্ট", AsciiSyllable = "SHTTH", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ষ্ঠ", AsciiSyllable = "SHNYA", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ষ্ণ", AsciiSyllable = "SHp", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ষ্প", AsciiSyllable = "SHf", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ষ্ফ", AsciiSyllable = "SHb", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ষ্ব", AsciiSyllable = "SHm", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ষ্ম", AsciiSyllable = "SHy", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ষ্য", AsciiSyllable = "SHr", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ষ্র", AsciiSyllable = "sk", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "স্ক", AsciiSyllable = "sKH", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "স্খ", AsciiSyllable = "sT", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "স্ট", AsciiSyllable = "st", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "স্ত", AsciiSyllable = "sH", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "স্থ", AsciiSyllable = "sn", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "স্ন", AsciiSyllable = "sp", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "স্প", AsciiSyllable = "sf", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "স্ফ", AsciiSyllable = "sb", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "স্ব", AsciiSyllable = "sm", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "স্ম", AsciiSyllable = "sy", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "স্য", AsciiSyllable = "sr", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "স্র", AsciiSyllable = "sl", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "স্ল", AsciiSyllable = "Hn", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "হ্ণ", AsciiSyllable = "HN", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "হ্ন", AsciiSyllable = "Hb", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "হ্ব", AsciiSyllable = "HM", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "হ্ম", AsciiSyllable = "HY", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "হ্য", AsciiSyllable = "Hr", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "হ্র", AsciiSyllable = "Hl", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "হ্ল", AsciiSyllable = "DDRy", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ঢ়্য", AsciiSyllable = "DDRr", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "ঢ়্র", AsciiSyllable = "YYr", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "য়্র", AsciiSyllable = "Yy ", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "য়্য়", AsciiSyllable = "", BengaliToAsciiComplexity = 100, AsciiToBengaliComplexity = 100 });

            double ___additional_complexity_due_to_first_char = 0;

            double ___additional_complexity_due_to_second_char = 0;

            double ___additional_complexity_due_to_color_vowel_symbols_char = 0;

            double ___additional_complexity_due_halantas_symbols_char = 0;

            double extraComplexity = 0;

            double ___additional_overall_complexity_due_to_combining = 0;

            foreach (var rule___first_concatenator in PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS)

            {

                extraComplexity = extraComplexity + 0.0000001;

                if (string.IsNullOrWhiteSpace(rule___first_concatenator.BengaliUnicodeSyllable))

                {

                    continue;

                }//if (string.IsNullOrWhiteSpace(rule.BengaliUnicodeSyllable))

                else

                {

                }//end of else of if (string.IsNullOrWhiteSpace(rule.BengaliUnicodeSyllable))

                // Reject if the first char is invalid

                string firstChar___rule___first_concatenator = rule___first_concatenator.BengaliUnicodeSyllable.Substring(0, 1);

                if (INVALID_STARTERS.Contains(firstChar___rule___first_concatenator))

                {

                    continue;

                }//if (INVALID_STARTERS.Contains(firstChar___rule___first_concatenator))

                else

                {

                    foreach (var rule___second_concatenator in PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS)

                    {

                        //allow this in the second concatenator cases

                        //////// Reject if the first char is invalid

                        string firstChar___rule___second_concatenator = rule___second_concatenator.BengaliUnicodeSyllable.Substring(0, 1);

                        if (INVALID_STARTERS.Contains(firstChar___rule___second_concatenator))

                        {

                            //for second concatenator use this   continue;

                            string ___concatenatedsignsandotherthings_withouthalantas = "";

                            string ___concatenatedenglishsignsandotherthings_withouthalantas = "";

                            ___concatenatedsignsandotherthings_withouthalantas

                            =

                             rule___second_concatenator.BengaliUnicodeSyllable

                           + rule___first_concatenator.BengaliUnicodeSyllable

                                 ;

                            ___concatenatedenglishsignsandotherthings_withouthalantas

                                =

                             rule___second_concatenator.AsciiSyllable

                           + rule___first_concatenator.AsciiSyllable

                                 ;

                            Rules___List_Of___BengaliAsciiTransliterationRule.Add(new BengaliAsciiTransliterationRule

                            {

                                BengaliUnicodeSyllable = ___concatenatedsignsandotherthings_withouthalantas,

                                AsciiSyllable = ___concatenatedenglishsignsandotherthings_withouthalantas,

                                BengaliToAsciiComplexity = rule___first_concatenator.BengaliToAsciiComplexity + extraComplexity+0.688,

                                AsciiToBengaliComplexity = rule___first_concatenator.AsciiToBengaliComplexity + extraComplexity + 0.688

                            });

                            string bengsyllswithhalantasclubbed = "";

                            bengsyllswithhalantasclubbed

                                =

                            rule___second_concatenator.BengaliUnicodeSyllable

                                + "\u09CD"

                          + rule___first_concatenator.BengaliUnicodeSyllable

                                ;

                            if (HasPreassignedGlyph(bengsyllswithhalantasclubbed))

                            {

                                string engsasciissyllswithhalantasclubbed = "";

                                engsasciissyllswithhalantasclubbed

                                    =

                            rule___second_concatenator.AsciiSyllable

                          + rule___first_concatenator.AsciiSyllable

                                ;

                                ___additional_complexity_due_halantas_symbols_char = 0.6638338;

                                extraComplexity = 0.01 + ___additional_complexity_due_halantas_symbols_char;

                                Rules___List_Of___BengaliAsciiTransliterationRule.Add(new BengaliAsciiTransliterationRule

                                {

                                    BengaliUnicodeSyllable = bengsyllswithhalantasclubbed,

                                    AsciiSyllable = engsasciissyllswithhalantasclubbed,

                                    BengaliToAsciiComplexity =  extraComplexity,

                                    AsciiToBengaliComplexity =  extraComplexity

                                });

                            }//if (HasPreassignedGlyph(bengsyllswithhalantasclubbed))

                        }//if (INVALID_STARTERS.Contains(firstChar___rule___second_concatenator))

                        else

                        {

                            continue;

                        }//end of else of //if (INVALID_STARTERS.Contains(firstChar___rule___second_concatenator))

                    }//foreach (var rule___second_concatenator in PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS)

                }//end of else of if (INVALID_STARTERS.Contains(firstChar___rule___first_concatenator))

                if (HasPreassignedGlyph(rule___first_concatenator.BengaliUnicodeSyllable))

                {

                    ___additional_complexity_due_halantas_symbols_char = 0.338338;

                    extraComplexity = 0.01 + ___additional_complexity_due_halantas_symbols_char;

                }//if (HasPreassignedGlyph(rule.BengaliUnicodeSyllable))

                Rules___List_Of___BengaliAsciiTransliterationRule.Add(new BengaliAsciiTransliterationRule

                {

                    BengaliUnicodeSyllable = rule___first_concatenator.BengaliUnicodeSyllable,

                    AsciiSyllable = rule___first_concatenator.AsciiSyllable,

                    BengaliToAsciiComplexity = rule___first_concatenator.BengaliToAsciiComplexity + extraComplexity,

                    AsciiToBengaliComplexity = rule___first_concatenator.AsciiToBengaliComplexity + extraComplexity

                });

            }//foreach (var rule in PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS)

            // Optional: sort by descending complexity if needed

            Rules___List_Of___BengaliAsciiTransliterationRule 

                = Rules___List_Of___BengaliAsciiTransliterationRule

                .OrderByDescending(r => r.BengaliToAsciiComplexity)

                .ThenByDescending(r => r.AsciiToBengaliComplexity)

                .ToList();

        }// public static void PopulateRulesAccordingToAxioms() 










TOCORRECTTHISPOPULATOR.txt READ THE FULL IMPLEMENTATION IN THE CODE AND FIND THE FLAWS SPECIALLY AT THESE LOCATIONS... I HAVE PROBABLY PUT SOME WRONG STYL;ES OF ORDERING TO CONCATENATE THE SYLLABLES HERE SPECIALLY IN THIS CODE PART          double ___additional_complexity_due_to_first_char = 0;

            double ___additional_complexity_due_to_second_char = 0;

            double ___additional_complexity_due_to_color_vowel_symbols_char = 0;

            double ___additional_complexity_due_halantas_symbols_char = 0;


            double extraComplexity = 0;

            double ___additional_overall_complexity_due_to_combining = 0;


            foreach (var rule___first_concatenator in PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS)

            {


                extraComplexity = extraComplexity + 0.0000001;




                if (string.IsNullOrWhiteSpace(rule___first_concatenator.BengaliUnicodeSyllable))

                {

                    continue;

                }//if (string.IsNullOrWhiteSpace(rule.BengaliUnicodeSyllable))

                else

                {




                }//end of else of if (string.IsNullOrWhiteSpace(rule.BengaliUnicodeSyllable))



                // Reject if the first char is invalid

                string firstChar___rule___first_concatenator = rule___first_concatenator.BengaliUnicodeSyllable.Substring(0, 1);

                if (INVALID_STARTERS.Contains(firstChar___rule___first_concatenator))

                {

                    continue;

                }//if (INVALID_STARTERS.Contains(firstChar___rule___first_concatenator))

                else

                {


                    foreach (var rule___second_concatenator in PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS)

                    {


                        //allow this in the second concatenator cases

                        //////// Reject if the first char is invalid

                        string firstChar___rule___second_concatenator = rule___second_concatenator.BengaliUnicodeSyllable.Substring(0, 1);

                        if (INVALID_STARTERS.Contains(firstChar___rule___second_concatenator))

                        {

                            //for second concatenator use this   continue;

                            string ___concatenatedsignsandotherthings_withouthalantas = "";


                            string ___concatenatedenglishsignsandotherthings_withouthalantas = "";


                            ___concatenatedsignsandotherthings_withouthalantas

                            =


                             rule___second_concatenator.BengaliUnicodeSyllable

                           + rule___first_concatenator.BengaliUnicodeSyllable

                                 ;


                            ___concatenatedenglishsignsandotherthings_withouthalantas

                                =

                             rule___second_concatenator.AsciiSyllable

                           + rule___first_concatenator.AsciiSyllable

                                 ;





                            Rules___List_Of___BengaliAsciiTransliterationRule.Add(new BengaliAsciiTransliterationRule

                            {

                                BengaliUnicodeSyllable = ___concatenatedsignsandotherthings_withouthalantas,

                                AsciiSyllable = ___concatenatedenglishsignsandotherthings_withouthalantas,

                                BengaliToAsciiComplexity = rule___first_concatenator.BengaliToAsciiComplexity + extraComplexity+0.688,

                                AsciiToBengaliComplexity = rule___first_concatenator.AsciiToBengaliComplexity + extraComplexity + 0.688

                            });










                            string bengsyllswithhalantasclubbed = "";

                            bengsyllswithhalantasclubbed

                                =

                            rule___second_concatenator.BengaliUnicodeSyllable

                                + "\u09CD"

                          + rule___first_concatenator.BengaliUnicodeSyllable

                                ;


                           


                            if (HasPreassignedGlyph(bengsyllswithhalantasclubbed))

                            {

                                string engsasciissyllswithhalantasclubbed = "";


                                engsasciissyllswithhalantasclubbed

                                    =

                            rule___second_concatenator.AsciiSyllable

                                

                          + rule___first_concatenator.AsciiSyllable

                                ;



                                ___additional_complexity_due_halantas_symbols_char = 0.6638338;

                                extraComplexity = 0.01 + ___additional_complexity_due_halantas_symbols_char;



                                Rules___List_Of___BengaliAsciiTransliterationRule.Add(new BengaliAsciiTransliterationRule

                                {

                                    BengaliUnicodeSyllable = bengsyllswithhalantasclubbed,

                                    AsciiSyllable = engsasciissyllswithhalantasclubbed,

                                    BengaliToAsciiComplexity =  extraComplexity,

                                    AsciiToBengaliComplexity =  extraComplexity

                                });

                            }//if (HasPreassignedGlyph(bengsyllswithhalantasclubbed))

                        }//if (INVALID_STARTERS.Contains(firstChar___rule___second_concatenator))

                        else

                        {

                            continue;




                        }//end of else of //if (INVALID_STARTERS.Contains(firstChar___rule___second_concatenator))



                    }//foreach (var rule___second_concatenator in PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS)



                }//end of else of if (INVALID_STARTERS.Contains(firstChar___rule___first_concatenator))



                if (HasPreassignedGlyph(rule___first_concatenator.BengaliUnicodeSyllable))

                {

                    ___additional_complexity_due_halantas_symbols_char = 0.338338;

                    extraComplexity = 0.01 + ___additional_complexity_due_halantas_symbols_char;

                }//if (HasPreassignedGlyph(rule.BengaliUnicodeSyllable))


                Rules___List_Of___BengaliAsciiTransliterationRule.Add(new BengaliAsciiTransliterationRule

                {

                    BengaliUnicodeSyllable = rule___first_concatenator.BengaliUnicodeSyllable,

                    AsciiSyllable = rule___first_concatenator.AsciiSyllable,

                    BengaliToAsciiComplexity = rule___first_concatenator.BengaliToAsciiComplexity + extraComplexity,

                    AsciiToBengaliComplexity = rule___first_concatenator.AsciiToBengaliComplexity + extraComplexity

                });






            }//foreach (var rule in PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS)









































            // Optional: sort by descending complexity if needed

            Rules___List_Of___BengaliAsciiTransliterationRule 

                = Rules___List_Of___BengaliAsciiTransliterationRule

                .OrderByDescending(r => r.BengaliToAsciiComplexity)

                .ThenByDescending(r => r.AsciiToBengaliComplexity)

                .ToList();














You're absolutely right to focus stepwise now on why transliteration isn't working properly. Based on the PopulateRulesAccordingToAxioms and ConvertBengaliToAscii___WITH_REGEXES__________WITH_SORTED_RULES_SETS implementations, here's a detailed diagnosis of the flaws, especially in syllable concatenation and ordering logic that leads to incorrect results.


🔍 PROBLEM DIAGNOSIS: Why Transliteration Fails

1. Fundamental Design Idea – Good:

  • You attempt to build a combinatorial rule engine: atomic + compound syllables.

  • Each rule has a complexity score. You sort descending by BengaliToAsciiComplexity so longest/most complex matches are tried first.

However...


❌ CRITICAL FLAWS

❌ A. Broken Ordering of Syllable Concatenation

In this part:

csharp
___concatenatedsignsandotherthings_withouthalantas = rule___second_concatenator.BengaliUnicodeSyllable + rule___first_concatenator.BengaliUnicodeSyllable;

You are concatenating second + first — this reverses the correct natural order of syllables.

FIX:

csharp
___concatenatedsignsandotherthings_withouthalantas = rule___first_concatenator.BengaliUnicodeSyllable + rule___second_concatenator.BengaliUnicodeSyllable; ___concatenatedenglishsignsandotherthings_withouthalantas = rule___first_concatenator.AsciiSyllable + rule___second_concatenator.AsciiSyllable;

❌ B. Incorrect Use of INVALID_STARTERS to Skip Valid Joins

You’re using INVALID_STARTERS.Contains(...) to skip most valid syllable joins.

This is too aggressive. For example:

csharp
if (INVALID_STARTERS.Contains(firstChar___rule___second_concatenator)) { continue; }

But many valid conjuncts like "ক্য", "ক্র", "ঙ্ক" begin with halant+consonant. These must be included.

FIX: Adjust INVALID_STARTERS to only truly invalid control chars or whitespace — and do not skip pre-assigned ligatures just because of start char.


⚠️ DESIGN WARNINGS

⚠️ 1. Duplicate Entries are Overwritten

You are appending multiple similar concatenations (like KA + TA, KA + TA with halant, etc.) without deduplication.

Recommendation:
Use a HashSet<string> on BengaliUnicodeSyllable to avoid duplicate transliteration rule insertions.


✅ What's Actually Good

  • Your combining rules with halant (\u09CD) and HasPreassignedGlyph(...) are excellent.

  • The complexity mechanism (adding +0.688, +0.01, etc.) ensures longer matches win.


✅ Suggested Fix Summary

IssueFix
Wrong concat orderUse first + second instead of second + first
Too harsh INVALID_STARTERSNarrow its definition, or don’t skip pre-assigned ligatures
Duplicate entriesAdd a uniqueness check on the final list
Complexity stackingKeep but refine additive constants per rule type

✅ Suggested Additional Enhancements

  • Add explicit vowel signs (kar) rules (e.g., , ি, , , etc.) and visarga/nasal signs.

  • Use a debug report writer to print the rules list for visual confirmation.

  • Add logging to see which rules are matching in Regex.Replace.


✅ Next Step?

Would you like me to now rewrite the core PopulateRulesAccordingToAxioms() to fix the logic as per above?

Or help implement a RegexMatcherDebugger to show which rules match during transliteration?

Let me know.


Evaluating Syllable Order

I've been meticulously examining the syllable ordering and concatenation within the PopulateRulesAccordingToAxioms() method. I'm focusing particularly on potential complexities introduced by the current approach. I'm looking for inefficiencies in how syllables are ordered, and calculating the complexities of those orderings. I need to make sure the logic is efficient and accurate.

Scrutinizing Concatenation Order

I'm now zeroing in on the PopulateRulesAccordingToAxioms() method, dissecting its rule generation process. The nested loops have caught my eye, particularly the arbitrary complexity increments within the outer loop. I'm also paying close attention to the order in which rule___first_concatenator and rule___second_concatenator are concatenated, since that could be improved. I am looking for any opportunities for efficiency.

Dissecting Complexity Factors

The incrementing extraComplexity and the use of ___additional_complexity_due_hal antas_symbols_char have become a key focus. The arbitrary increment within the outer loop seems counterintuitive. I'm scrutinizing how these complexity factors are integrated within the rule-creation process, particularly in relation to the invalid starters. The nested if statements seem overly complicated, especially considering the INVALID_STARTERS checks.

Revisiting Concatenation Order

I'm now examining the impact of the inner loop's invalid starter check, and I see now that the order in the concatenation is reversed, which impacts correctness. I am revisiting the assumption that first_concatenator will always be a base character. The continuous incremental extraComplexity appears arbitrary and complex. I'm focusing on clarifying these complexities.

Assessing Complexity Calculations

I'm now investigating how the complexity metrics are utilized and augmented, particularly with the extraComplexity and ___additional_complexity_due_hal antas_symbols_char. The persistent increment of extraComplexity within the outer loop seems counterintuitive. I believe the existing method introduces unnecessary complexity to rule creation. I'm scrutinizing how these complexity increments affect the final calculated values for character combinations.

Reassessing Rule Formation

I've discovered a critical issue: the PopulateRulesAccordingToAxioms() method incorrectly concatenates characters when building compound rules, specifically Bengali conjuncts. It's using the wrong order, placing the modifying character (second) before the base character (first). This will lead to incorrect rule generation. Additionally, the complex and counterintuitive handling of INVALID_STARTERS further complicates rule creation, hindering correct conjunct formation. I'm focusing on fixing the order and improving the logic.

Addressing Concatenation Order

I've determined that the concatenation order within the method is incorrect for Bengali conjuncts. My analysis reveals a fundamental flaw: the code combines characters in the reversed order required by Bengali grammar, significantly hindering the generation of accurate rules. The continuous increment of extraComplexity also appears to be problematic. I am now concentrating on fixing the concatenation order and the associated complexity calculations.

Addressing Incorrect Order

I've determined the concatenation order within the PopulateRulesAccordingToAxioms() method is flawed for Bengali conjuncts. The code reverses the correct syllable order, which will lead to improper rule generation, particularly for combined characters. The nested loops contain arbitrary complexities, like the extraComplexity which increment, further complicating the logic. I am focusing on fixing this flawed character order.

Assessing Rule Generation Logic

I've pinpointed a critical issue: the PopulateRulesAccordingToAxioms() method incorrectly concatenates Bengali characters, specifically for conjuncts, using the reverse order and flawed conditional logic. The constant increment of extraComplexity appears to be arbitrary and not suited for the accurate computation of syllable complexities. This introduces complexities and inaccuracies. The use of INVALID_STARTERS adds another layer of complexity.

You've identified a critical section for review, and indeed, there are several significant flaws in the provided PopulateRulesAccordingToAxioms() method, especially concerning the generation and ordering of rules for concatenated Bengali syllables (conjuncts or compound characters).

The issues primarily stem from the order of concatenation, the conditional logic for creating rules, and the management of complexity values.

Identified Flaws in the Code

Let's break down the problems:

  1. Incorrect Order of Concatenation:

    • Inverted Syllable Order: In both places where you concatenate Bengali Unicode syllables:

      • ___concatenatedsignsandotherthings_withouthalantas = rule___second_concatenator.BengaliUnicodeSyllable + rule___first_concatenator.BengaliUnicodeSyllable;

      • bengsyllswithhalantasclubbed = rule___second_concatenator.BengaliUnicodeSyllable + "\u09CD" + rule___first_concatenator.BengaliUnicodeSyllable; You are concatenating second_concatenator followed by first_concatenator. In Bengali (and most Indic scripts), compound characters (যুক্তাক্ষর / Juktakshars) are generally formed by a base consonant (the "first" part in a logical sense) followed by a conjunct consonant or a vowel sign, often with an implicit or explicit halant (্, U+09CD) in between.

    • Correct Order: For a rule to correctly represent a Bengali conjunct, it should typically be base_character + (optional_halant) + subsequent_character. Your current code concatenates them in reverse. For example, to form "ক্ত" (kta), you'd combine "ক" (ka) with "ত" (ta) often with a halant between them ( + + ). Your code might be attempting + + .

  2. Flawed Conditional Logic for Rule Creation:

    • Inner Loop's if (INVALID_STARTERS.Contains(firstChar___rule___second_concatenator)) block: This is highly problematic. You are creating the concatenated rules (both with and without halant) only if the firstChar___rule___second_concatenator (the first character of the second rule in the concatenation) is present in INVALID_STARTERS. This means you are primarily generating rules where the second part of the compound character begins with something like a vowel sign (which typically follows a consonant, not leads a compound character in this way) or a special symbol that cannot start a standalone syllable.

      • Issue: This will prevent the creation of many valid and common Bengali conjuncts where the second character is a regular consonant that can be a valid starter (e.g., in "ক্ল" (kla), "ল" (la) is a valid starter).

    • Inner Loop's else { continue; } block: This is the flip side of the above. If firstChar___rule___second_concatenator is not an invalid starter (i.e., it's a valid starter like a regular consonant), then the continue statement makes the inner loop skip the rest of the iteration for that rule___second_concatenator. This means almost all standard consonant-consonant conjuncts will not be generated by this logic.

  3. Inconsistent and Arbitrary Complexity Calculation:

    • extraComplexity = extraComplexity + 0.0000001;: This line within the outer foreach loop continuously increments extraComplexity with an arbitrary small value. This extraComplexity then feeds into the complexity calculations for newly generated rules. This makes the BengaliToAsciiComplexity and AsciiToBengaliComplexity values non-deterministic and dependent on the iteration order, rather than reflecting the inherent complexity of the combined syllable.

    • Magic Numbers for Complexity: The values like +0.688 and 0.6638338 (and 0.338338, 0.01) are "magic numbers." Their meaning and why they are added to complexity are unclear and make the system less maintainable and predictable. Complexity should ideally derive directly from the properties of the characters being combined (e.g., number of characters, presence of halant, rarity).

  4. Redundant/Overlapping Rule Addition (Potentially):

    • The line Rules___List_Of___BengaliAsciiTransliterationRule.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = rule___first_concatenator.BengaliUnicodeSyllable, ... }); at the end of the outer loop adds individual base rules. If PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS already contains these simple rules, and PopulateRulesAccordingToAxioms() is called multiple times without properly clearing Rules___List_Of___BengaliAsciiTransliterationRule, this could lead to duplicate entries or unintended complexity overrides.

  5. Reliance on HasPreassignedGlyph: The logic heavily depends on if (HasPreassignedGlyph(someBengaliSyllable)). The implementation of this method is crucial. If it's not comprehensive or accurate, many valid Bengali conjuncts might be missed.

Impact of These Flaws

These flaws, particularly the incorrect concatenation order and the faulty conditional logic, will severely limit the system's ability to accurately generate transliteration rules for a wide range of Bengali compound characters and vowel signs. The inconsistent complexity values will also undermine the effectiveness of sorting rules by complexity, which is essential for ensuring that longer, more specific rules are applied before shorter, more general ones (e.g., "ক্ষ" before "ক").

To address these, you would need to:

  • Revise the concatenation logic to correctly form Bengali conjuncts (base + optional halant + conjunct).

  • Correct the conditional statements (if/else blocks) in the inner loop to ensure that all valid combinations are attempted, not just those where the second character is an "invalid starter."

  • Develop a more logical and consistent method for calculating the complexity of combined rules.














PLEASE PLEASE PLEASE REWRITE ONLY THIS PART FOLLOWING THE REQUIREMENT OF SMOOTHE TRANSLITERATIONS... I HAVE ALREADY POPULATED THE DATA NECESSARY FOR TRANSLITERATIONS foreach (var rule___first_concatenator in PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS)

{

extraComplexity = extraComplexity + 0.0000001;

if (string.IsNullOrWhiteSpace(rule___first_concatenator.BengaliUnicodeSyllable))

{

continue;

}//if (string.IsNullOrWhiteSpace(rule.BengaliUnicodeSyllable))

else

{

}//end of else of if (string.IsNullOrWhiteSpace(rule.BengaliUnicodeSyllable))

// Reject if the first char is invalid

string firstChar___rule___first_concatenator = rule___first_concatenator.BengaliUnicodeSyllable.Substring(0, 1);

if (INVALID_STARTERS.Contains(firstChar___rule___first_concatenator))

{

continue;

}//if (INVALID_STARTERS.Contains(firstChar___rule___first_concatenator))

else

{

foreach (var rule___second_concatenator in PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS)

{

//allow this in the second concatenator cases

//////// Reject if the first char is invalid

string firstChar___rule___second_concatenator = rule___second_concatenator.BengaliUnicodeSyllable.Substring(0, 1);

if (INVALID_STARTERS.Contains(firstChar___rule___second_concatenator))

{

//for second concatenator use this continue;

string ___concatenatedsignsandotherthings_withouthalantas = "";

string ___concatenatedenglishsignsandotherthings_withouthalantas = "";

___concatenatedsignsandotherthings_withouthalantas

=

rule___second_concatenator.BengaliUnicodeSyllable

+ rule___first_concatenator.BengaliUnicodeSyllable

;

___concatenatedenglishsignsandotherthings_withouthalantas

=

rule___second_concatenator.AsciiSyllable

+ rule___first_concatenator.AsciiSyllable

;

Rules___List_Of___BengaliAsciiTransliterationRule.Add(new BengaliAsciiTransliterationRule

{

BengaliUnicodeSyllable = ___concatenatedsignsandotherthings_withouthalantas,

AsciiSyllable = ___concatenatedenglishsignsandotherthings_withouthalantas,

BengaliToAsciiComplexity = rule___first_concatenator.BengaliToAsciiComplexity + extraComplexity+0.688,

AsciiToBengaliComplexity = rule___first_concatenator.AsciiToBengaliComplexity + extraComplexity + 0.688

});

string bengsyllswithhalantasclubbed = "";

bengsyllswithhalantasclubbed

=

rule___second_concatenator.BengaliUnicodeSyllable

+ "\u09CD"

+ rule___first_concatenator.BengaliUnicodeSyllable

;

if (HasPreassignedGlyph(bengsyllswithhalantasclubbed))

{

string engsasciissyllswithhalantasclubbed = "";

engsasciissyllswithhalantasclubbed

=

rule___second_concatenator.AsciiSyllable

+ rule___first_concatenator.AsciiSyllable

;

___additional_complexity_due_halantas_symbols_char = 0.6638338;

extraComplexity = 0.01 + ___additional_complexity_due_halantas_symbols_char;

Rules___List_Of___BengaliAsciiTransliterationRule.Add(new BengaliAsciiTransliterationRule

{

BengaliUnicodeSyllable = bengsyllswithhalantasclubbed,

AsciiSyllable = engsasciissyllswithhalantasclubbed,

BengaliToAsciiComplexity = extraComplexity,

AsciiToBengaliComplexity = extraComplexity

});

}//if (HasPreassignedGlyph(bengsyllswithhalantasclubbed))

}//if (INVALID_STARTERS.Contains(firstChar___rule___second_concatenator))

else

{

continue;

}//end of else of //if (INVALID_STARTERS.Contains(firstChar___rule___second_concatenator))

}//foreach (var rule___second_concatenator in PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS)

}//end of else of if (INVALID_STARTERS.Contains(firstChar___rule___first_concatenator))

if (HasPreassignedGlyph(rule___first_concatenator.BengaliUnicodeSyllable))

{

___additional_complexity_due_halantas_symbols_char = 0.338338;

extraComplexity = 0.01 + ___additional_complexity_due_halantas_symbols_char;

}//if (HasPreassignedGlyph(rule.BengaliUnicodeSyllable))

Rules___List_Of___BengaliAsciiTransliterationRule.Add(new BengaliAsciiTransliterationRule

{

BengaliUnicodeSyllable = rule___first_concatenator.BengaliUnicodeSyllable,

AsciiSyllable = rule___first_concatenator.AsciiSyllable,

BengaliToAsciiComplexity = rule___first_concatenator.BengaliToAsciiComplexity + extraComplexity,

AsciiToBengaliComplexity = rule___first_concatenator.AsciiToBengaliComplexity + extraComplexity

});

}//foreach (var rule in PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS)

// Optional: sort by descending complexity if needed

Rules___List_Of___BengaliAsciiTransliterationRule

= Rules___List_Of___BengaliAsciiTransliterationRule

.OrderByDescending(r => r.BengaliToAsciiComplexity)

.ThenByDescending(r => r.AsciiToBengaliComplexity)

.ToList();



_____________________



Refining Smooth Transliterations

I'm now zeroing in on the PopulateRulesAccordingToAxioms() method, focusing on achieving those "smooth transliterations" the user desires. I'm actively integrating the insights from our previous discussion, directly addressing the identified weaknesses. I'm making sure my changes yield the appropriate results.

Improving Loop Implementation

I've begun restructuring the loop block within PopulateRulesAccordingToAxioms(). My focus is on addressing the identified flaws in sequence. I'm starting by ensuring proper initialization of Rules___List_Of___BengaliAsciiTransliterationRule, incorporating the one-to-one mappings upfront. I'm carefully analyzing the complexity calculations, aiming for more consistent and accurate results with each iteration. I'm preparing to rewrite the nested loops entirely, considering the points you raised.

Reworking the Concatenation Logic

I've tackled the core of the problem: rewriting the problematic loop. I've reset the variable initializations and am ensuring the concatenation order aligns with Bengali syllable structure, prioritizing base consonants. I'm focusing on the types of characters in the second_concatenator to correctly generate conjuncts and vowel sign combinations. My goal is clean, accurate rule generation, ensuring no invalid rules are created, with an improved approach to complexity calculations.

Restructuring the Core Logic

I'm now fully immersed in reworking the foreach loop block. I've reset initializations and refined complexity calculations. I'm prioritizing the correct Bengali concatenation order – base consonant first. I'm dissecting second_concatenator character types to generate conjuncts and vowel sign combinations accurately. My aim is clean, valid, and consistently-assessed rules, with improved complexity tracking. I will then ensure the new logic will handle all edge cases.

Formulating the Loop Rewrite

I've completed the preliminary analysis and now I'm constructing the new loop logic according to the specifications. I'm focusing on ensuring the correct concatenation order and incorporating a more robust approach to character type handling to generate accurate rules. I will prioritize complexity calculations based on string length and the inclusion of halants. I'll test the output to ensure the generation process works correctly.

Here's a rewritten version of that specific part of your PopulateRulesAccordingToAxioms() method, focusing on correct concatenation order, clearer logic for generating compound characters, and a more logical approach to complexity.

This rewrite assumes:

  1. PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS holds your fundamental, one-to-one Bengali character to ASCII mappings (e.g., individual consonants like ->KA, basic vowel signs, numbers, punctuation).

  2. Rules___List_Of___BengaliAsciiTransliterationRule is the final list that will be used for transliteration, containing both simple and complex rules, sorted by complexity.

  3. INVALID_STARTERS contains characters that should not be the first part of a compound character (e.g., standalone vowel signs, certain diacritics).

  4. HasPreassignedGlyph(string combinedSyllable) is a helper method that correctly identifies if a given combined Bengali Unicode string (like "ক্ষ") has a precomposed Unicode representation that should be used as a single rule.

C#
public static void PopulateRulesAccordingToAxioms()
{
    // Clear both lists to ensure fresh population, especially if this method is called multiple times.
    Rules___List_Of___BengaliAsciiTransliterationRule.Clear();
    PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Clear(); // Ensure this is populated elsewhere or add them here if this is the only population point.
    // Assuming PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS is populated with basic rules before this method or at its start.
    // For demonstration, I will re-add a few basic rules here, you should ensure all your basic rules are in PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS first.
    PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "\u0964", AsciiSyllable = ".", BengaliToAsciiComplexity = 600, AsciiToBengaliComplexity = 600 });
    PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = " ", AsciiSyllable = "_space_", BengaliToAsciiComplexity = 380, AsciiToBengaliComplexity = 380 });
    PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "\u0995", AsciiSyllable = "KA", BengaliToAsciiComplexity = 1, AsciiToBengaliComplexity = 1 }); // ক
    PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "\u099B", AsciiSyllable = "CHA", BengaliToAsciiComplexity = 1, AsciiToBengaliComplexity = 1 }); // ছ
    PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "\u0997", AsciiSyllable = "GA", BengaliToAsciiComplexity = 1, AsciiToBengaliComplexity = 1 }); // গ
    PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "\u09BE", AsciiSyllable = "AA", BengaliToAsciiComplexity = 3, AsciiToBengaliComplexity = 3 }); // আ-কার
    PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "\u09BF", AsciiSyllable = "I", BengaliToAsciiComplexity = 3, AsciiToBengaliComplexity = 3 }); // ই-কার
    PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = "\u09CD", AsciiSyllable = "", BengaliToAsciiComplexity = 11, AsciiToBengaliComplexity = 11 }); // ্ (Halant)

    // Step 1: Add all original, one-to-one rules from PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS
    // to the main Rules list. These are the base rules.
    foreach (var rule in PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS)
    {
        // Avoid adding null/empty rules
        if (string.IsNullOrWhiteSpace(rule.BengaliUnicodeSyllable))
            continue;

        // Add with its original complexity. No 'extraComplexity' added here.
        Rules___List_Of___BengaliAsciiTransliterationRule.Add(new BengaliAsciiTransliterationRule
        {
            BengaliUnicodeSyllable = rule.BengaliUnicodeSyllable,
            AsciiSyllable = rule.AsciiSyllable,
            BengaliToAsciiComplexity = rule.BengaliToAsciiComplexity, // Use original complexity
            AsciiToBengaliComplexity = rule.AsciiToBengaliComplexity // Use original complexity
        });
    }


    // Step 2: Generate rules for Consonant + Halant + Consonant (Juktakshars)
    // Iterate through all possible base consonants
    foreach (var baseConsonantRule in PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS)
    {
        if (string.IsNullOrWhiteSpace(baseConsonantRule.BengaliUnicodeSyllable) ||
            INVALID_STARTERS.Contains(baseConsonantRule.BengaliUnicodeSyllable.Substring(0, 1)))
        {
            continue; // Skip if base is invalid or empty
        }

        // Iterate through all possible combining consonants
        foreach (var combiningConsonantRule in PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS)
        {
            if (string.IsNullOrWhiteSpace(combiningConsonantRule.BengaliUnicodeSyllable) ||
                INVALID_STARTERS.Contains(combiningConsonantRule.BengaliUnicodeSyllable.Substring(0, 1)))
            {
                // This `INVALID_STARTERS` check is now for the combining consonant's first character.
                // It means we want to combine a valid consonant with another valid consonant.
                // If it's an invalid starter (like a vowel sign), it's handled in the next section.
                continue;
            }

            // Construct the combined Bengali syllable: BaseConsonant + Halant + CombiningConsonant
            string bengaliCombined = baseConsonantRule.BengaliUnicodeSyllable + "\u09CD" + combiningConsonantRule.BengaliUnicodeSyllable;
            string asciiCombined = baseConsonantRule.AsciiSyllable + combiningConsonantRule.AsciiSyllable; // Halant is silent, so no ASCII equivalent is added

            // Only add if it doesn't have a specific pre-assigned glyph that should take precedence
            // Or, if HasPreassignedGlyph returns true for this combination, it means it's a valid conjunct.
            // You might need to refine HasPreassignedGlyph to manage precomposed vs. decomposed.
            if (HasPreassignedGlyph(bengaliCombined)) // Assuming HasPreassignedGlyph means "this is a valid/known Bengali conjunct form"
            {
                // Assign a higher complexity to compound characters to ensure they are replaced first.
                // Complexity can be based on length, presence of halant, or a fixed higher value.
                double combinedComplexity = 1000 + baseConsonantRule.BengaliToAsciiComplexity + combiningConsonantRule.BengaliToAsciiComplexity; // Example calculation
                // Add a very small increment based on length to differentiate similar complexities
                combinedComplexity += bengaliCombined.Length * 0.0001;

                Rules___List_Of___BengaliAsciiTransliterationRule.Add(new BengaliAsciiTransliterationRule
                {
                    BengaliUnicodeSyllable = bengaliCombined,
                    AsciiSyllable = asciiCombined,
                    BengaliToAsciiComplexity = combinedComplexity,
                    AsciiToBengaliComplexity = combinedComplexity // Adjust if ASCII to Bengali complexity is different
                });
            }
        }
    }

    // Step 3: Generate rules for Consonant + Vowel Sign
    // Iterate through all possible consonants
    foreach (var consonantRule in PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS)
    {
        if (string.IsNullOrWhiteSpace(consonantRule.BengaliUnicodeSyllable) ||
            INVALID_STARTERS.Contains(consonantRule.BengaliUnicodeSyllable.Substring(0, 1)))
        {
            continue; // Skip if base is invalid or empty
        }

        // Iterate through all possible vowel signs
        foreach (var vowelSignRule in PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS)
        {
            // Assuming you have a way to identify vowel signs, e.g., via TYPE_OF_OBJECT_IT_IS_... or a specific range.
            // For example, if vowel signs have `BengaliToAsciiComplexity = 3` (as in your example) and consonants have `1`.
            // This is a simplification; a more robust check would be to check Unicode ranges or a dedicated type property.
            if (vowelSignRule.BengaliToAsciiComplexity != 3 || string.IsNullOrWhiteSpace(vowelSignRule.BengaliUnicodeSyllable))
            {
                continue; // Skip if not a vowel sign or empty
            }

            // Construct the combined Bengali syllable: Consonant + VowelSign
            string bengaliCombined = consonantRule.BengaliUnicodeSyllable + vowelSignRule.BengaliUnicodeSyllable;
            string asciiCombined = consonantRule.AsciiSyllable.TrimEnd('A') + vowelSignRule.AsciiSyllable; // Assuming ASCII for consonants ends with 'A' and vowel sign replaces it

            // Example: KA + AA_KAR = KAA
            // This requires careful handling of ASCII transliteration, especially for implied 'A' sounds.
            // For instance, if 'KA' is "K" + "A", and 'AA_KAR' (আ-কার) is 'AA', then 'কা' should be 'KAA'.
            // The logic `consonantRule.AsciiSyllable.TrimEnd('A')` is a common but sometimes tricky approach.
            // It might be better to have rules like 'ক' -> 'K' and 'আ-কার' -> 'AA' and combine them.

            if (HasPreassignedGlyph(bengaliCombined)) // Check if this is a known combination
            {
                // Assign appropriate complexity. Vowel sign combinations might be less complex than Juktakshars.
                double combinedComplexity = 500 + consonantRule.BengaliToAsciiComplexity + vowelSignRule.BengaliToAsciiComplexity;
                combinedComplexity += bengaliCombined.Length * 0.0001; // Small length increment

                Rules___List_Of___BengaliAsciiTransliterationRule.Add(new BengaliAsciiTransliterationRule
                {
                    BengaliUnicodeSyllable = bengaliCombined,
                    AsciiSyllable = asciiCombined,
                    BengaliToAsciiComplexity = combinedComplexity,
                    AsciiToBengaliComplexity = combinedComplexity
                });
            }
        }
    }


    // Final sorting is crucial. Sort by descending complexity to ensure longer/more specific rules are matched first.
    Rules___List_Of___BengaliAsciiTransliterationRule
        = Rules___List_Of___BengaliAsciiTransliterationRule
        .OrderByDescending(r => r.BengaliToAsciiComplexity)
        .ThenByDescending(r => r.BengaliUnicodeSyllable.Length) // Then by length (longer first) to break ties in complexity
        .ToList();
}

Key Changes and Rationale:

  1. Clear Initialization: Rules___List_Of___BengaliAsciiTransliterationRule.Clear(); is placed at the very beginning to ensure no old rules persist if PopulateRulesAccordingToAxioms() is called multiple times.

  2. Explicit Rule Addition Steps:

    • Step 1: Add Individual Rules First: All basic, one-to-one character mappings from PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS are added directly to Rules___List_Of___BengaliAsciiTransliterationRule with their original complexities. This covers the simple cases.

    • Step 2: Generate Consonant Conjuncts (Juktakshars): A dedicated nested loop processes baseConsonantRule + Halant (\u09CD) + combiningConsonantRule.

      • Correct Order: baseConsonantRule comes first, then Halant, then combiningConsonantRule.

      • Logical Filtering: The INVALID_STARTERS check is now used more logically to ensure both base and combining consonants are valid components for forming conjuncts.

      • Complexity: A higher base complexity (e.g., 1000) is assigned to these multi-character conjuncts to ensure they are processed before individual characters by the Regex.Replace method, preventing partial matches.

    • Step 3: Generate Consonant + Vowel Sign Combinations: Another nested loop specifically handles combining consonants with vowel signs.

      • Vowel Sign Identification: This section assumes vowelSignRule.BengaliToAsciiComplexity == 3 as a way to identify vowel signs. A more robust solution might involve a TYPE_OF_OBJECT_IT_IS_... property on your BengaliAsciiTransliterationRule or a lookup table for Unicode ranges of vowel signs.

      • ASCII Transliteration: The TrimEnd('A') for the ASCII part of the consonant is a common technique, but be aware it might need fine-tuning for all Bengali vowel-consonant combinations to ensure smooth pronunciation.

  3. Refined Complexity Calculation:

    • extraComplexity variables are removed from global accumulation. Complexity for combined rules is now calculated based on the complexities of their component parts plus a base value (e.g., 1000 for conjuncts, 500 for vowel combinations) to ensure a higher precedence.

    • A small bengaliCombined.Length * 0.0001 increment is added to break ties for rules with similar complexities, prioritizing longer matches.

  4. HasPreassignedGlyph Usage: This method is used as a filter to ensure that only "valid" or "known" combinations are added. You need to ensure HasPreassignedGlyph is comprehensive and accurate for your needs.

  5. Final Sorting: The OrderByDescending now includes ThenByDescending(r => r.BengaliUnicodeSyllable.Length) as a secondary sort key. This is a best practice: for rules with the same complexity, longer Bengali strings should be matched first to prevent shorter, embedded matches from occurring prematurely.

This rewritten structure provides a much more robust and systematic way to populate your transliteration rules, addressing the flaws related to concatenation order, conditional logic, and complexity assignment.



Thank you. Below is the fully rewritten, logically corrected, and transliteration-smoothed version of the code block you supplied.

✅ Fixes & Improvements:

  1. Reversed the concatenation logic: now it's first + second, not the incorrect second + first.

  2. Correctly handle both halanta-clubbed and non-halanta combinations.

  3. Avoid skipping valid conjuncts via INVALID_STARTERS checks—these are now used only for real invalids.

  4. Preserve complexity scoring model, but with better application.

  5. Use HasPreassignedGlyph() check correctly for visual compound validation.


✅ REWRITTEN CODE BLOCK (Drop-in Replacement)

csharp
foreach (var rule___first in PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS) { extraComplexity += 0.0000001; if (string.IsNullOrWhiteSpace(rule___first.BengaliUnicodeSyllable)) continue; string firstChar = rule___first.BengaliUnicodeSyllable.Substring(0, 1); if (INVALID_STARTERS.Contains(firstChar)) continue; foreach (var rule___second in PUBLIC_STATIC_LIST_TO_STORE_ONE_TO_ONE_MAPS___FOR_TRANSLITERATORS) { if (string.IsNullOrWhiteSpace(rule___second.BengaliUnicodeSyllable)) continue; string secondChar = rule___second.BengaliUnicodeSyllable.Substring(0, 1); if (INVALID_STARTERS.Contains(secondChar)) continue; // === 1. Simple concatenation: First + Second string concatBengali = rule___first.BengaliUnicodeSyllable + rule___second.BengaliUnicodeSyllable; string concatAscii = rule___first.AsciiSyllable + rule___second.AsciiSyllable; Rules___List_Of___BengaliAsciiTransliterationRule.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = concatBengali, AsciiSyllable = concatAscii, BengaliToAsciiComplexity = rule___first.BengaliToAsciiComplexity + rule___second.BengaliToAsciiComplexity + extraComplexity + 0.188, AsciiToBengaliComplexity = rule___first.AsciiToBengaliComplexity + rule___second.AsciiToBengaliComplexity + extraComplexity + 0.188 }); // === 2. Conjunct with Halanta: First + Halant + Second string concatWithHalanta = rule___first.BengaliUnicodeSyllable + "\u09CD" + rule___second.BengaliUnicodeSyllable; if (HasPreassignedGlyph(concatWithHalanta)) { string concatAsciiWithHalanta = rule___first.AsciiSyllable + rule___second.AsciiSyllable; double halantaComplexity = 0.6638338; double fullComplexity = rule___first.BengaliToAsciiComplexity + rule___second.BengaliToAsciiComplexity + halantaComplexity + extraComplexity; Rules___List_Of___BengaliAsciiTransliterationRule.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = concatWithHalanta, AsciiSyllable = concatAsciiWithHalanta, BengaliToAsciiComplexity = fullComplexity, AsciiToBengaliComplexity = fullComplexity }); } } // === 3. Add the base rule itself (standalone) if (HasPreassignedGlyph(rule___first.BengaliUnicodeSyllable)) { double soloComplexity = 0.01 + 0.338338; Rules___List_Of___BengaliAsciiTransliterationRule.Add(new BengaliAsciiTransliterationRule { BengaliUnicodeSyllable = rule___first.BengaliUnicodeSyllable, AsciiSyllable = rule___first.AsciiSyllable, BengaliToAsciiComplexity = rule___first.BengaliToAsciiComplexity + soloComplexity, AsciiToBengaliComplexity = rule___first.AsciiToBengaliComplexity + soloComplexity }); } } // Final sort by descending complexity Rules___List_Of___BengaliAsciiTransliterationRule = Rules___List_Of___BengaliAsciiTransliterationRule .OrderByDescending(r => r.BengaliToAsciiComplexity) .ThenByDescending(r => r.AsciiToBengaliComplexity) .ToList();

🧪 Optional Debugging Add-on (Optional)

To verify correctness and richness of the rule population, you could add:

csharp
foreach (var rule in Rules___List_Of___BengaliAsciiTransliterationRule) { Console.WriteLine($"{rule.BengaliUnicodeSyllable}{rule.AsciiSyllable} ({rule.BengaliToAsciiComplexity})"); }

✅ Summary of Fixes Applied

IssueFixed
Wrong syllable orderingfirst + second logic used
Excessive invalid filtering✅ Removed overly restrictive checks
Halanta joining✅ Preserved and checked with HasPreassignedGlyph()
Complexity stacking✅ Handled with clarity
Final sorting✅ Ensured after all insertions

Let me know if you'd like a unit test function to verify a list of test Bengali strings with expected ASCII results using this updated rule base.

No comments:

Post a Comment