diff options
Diffstat (limited to 'Thronefall_1_57/Decompile/I2.Loc/RTLFixer.cs')
| -rw-r--r-- | Thronefall_1_57/Decompile/I2.Loc/RTLFixer.cs | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/Thronefall_1_57/Decompile/I2.Loc/RTLFixer.cs b/Thronefall_1_57/Decompile/I2.Loc/RTLFixer.cs new file mode 100644 index 0000000..56ccb8b --- /dev/null +++ b/Thronefall_1_57/Decompile/I2.Loc/RTLFixer.cs @@ -0,0 +1,79 @@ +using System; + +namespace I2.Loc; + +public class RTLFixer +{ + public static string Fix(string str) + { + return Fix(str, showTashkeel: false, useHinduNumbers: true); + } + + public static string Fix(string str, bool rtl) + { + if (rtl) + { + return Fix(str); + } + string[] array = str.Split(' '); + string text = ""; + string text2 = ""; + string[] array2 = array; + foreach (string text3 in array2) + { + if (char.IsLower(text3.ToLower()[text3.Length / 2])) + { + text = text + Fix(text2) + text3 + " "; + text2 = ""; + } + else + { + text2 = text2 + text3 + " "; + } + } + if (text2 != "") + { + text += Fix(text2); + } + return text; + } + + public static string Fix(string str, bool showTashkeel, bool useHinduNumbers) + { + string text = HindiFixer.Fix(str); + if (text != str) + { + return text; + } + RTLFixerTool.showTashkeel = showTashkeel; + RTLFixerTool.useHinduNumbers = useHinduNumbers; + if (str.Contains("\n")) + { + str = str.Replace("\n", Environment.NewLine); + } + if (str.Contains(Environment.NewLine)) + { + string[] separator = new string[1] { Environment.NewLine }; + string[] array = str.Split(separator, StringSplitOptions.None); + if (array.Length == 0) + { + return RTLFixerTool.FixLine(str); + } + if (array.Length == 1) + { + return RTLFixerTool.FixLine(str); + } + string text2 = RTLFixerTool.FixLine(array[0]); + int i = 1; + if (array.Length > 1) + { + for (; i < array.Length; i++) + { + text2 = text2 + Environment.NewLine + RTLFixerTool.FixLine(array[i]); + } + } + return text2; + } + return RTLFixerTool.FixLine(str); + } +} |
