private static void a(RTL.PartMode A_0, string A_1, ref List <string> A_2) { if (A_1 == "") { return; } switch (A_0) { case RTL.PartMode.Arabic: A_2.Add(A_1); return; case RTL.PartMode.English: A_1 = RTL.a(A_1); A_2.Add(A_1); return; case RTL.PartMode.LatinNumbers: A_1 = RTL.a(A_1); A_2.Add(A_1); return; case RTL.PartMode.ArabicNumbers: A_1 = RTL.a(A_1); A_2.Add(A_1); return; case RTL.PartMode.Punctuation: A_2.Add(A_1); return; default: return; } }
private static RTL.PartMode a(List <char> A_0, int A_1, RTL.PartMode A_2, RTL.PartMode A_3, bool A_4) { if (RTL.latinChars.IndexOf(A_0[A_1]) > -1) { if (A_1 == 0) { } A_3 = RTL.PartMode.English; } else if (RTL.arabicIntegers.IndexOf(A_0[A_1]) > -1) { if (A_1 == 0) { } A_3 = RTL.PartMode.ArabicNumbers; } else if (RTL.punctuationMarks.IndexOf(A_0[A_1]) > -1) { if (A_1 == 0) { } A_3 = RTL.PartMode.Punctuation; } else { if (A_1 == 0) { } A_3 = RTL.PartMode.Arabic; } return(A_3); }
private static string a(string A_0, bool A_1, bool A_2) { List <char> list = new List <char>(A_0.ToLower().ToCharArray()); List <char> list2 = new List <char>(A_0.ToCharArray()); new List <char>(); List <string> list3 = new List <string>(); string text = ""; RTL.PartMode partMode = RTL.PartMode.Arabic; RTL.PartMode partMode2 = RTL.PartMode.Arabic; for (int i = 0; i < list.Count; i++) { bool flag = false; partMode2 = RTL.a(list, i, partMode, partMode2, A_2); if (partMode2 != partMode) { flag = true; if (partMode == RTL.PartMode.Arabic && partMode2 == RTL.PartMode.Punctuation) { flag = false; } } if (flag) { RTL.a(partMode, text, ref list3); text = ""; partMode = partMode2; } text += list2[i]; } RTL.a(partMode, text, ref list3); StringBuilder stringBuilder = new StringBuilder(); if (A_1) { for (int j = list3.Count - 1; j >= 0; j--) { stringBuilder.Append(list3[j]); } } else if (A_2) { for (int k = list3.Count - 1; k >= 0; k--) { stringBuilder.Append(list3[k]); } } else { foreach (string current in list3) { stringBuilder.Append(current); } } return(stringBuilder.ToString()); }