1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- using System;
- namespace I2.Loc
- {
- public class RTLFixer
- {
- public static string Fix(string str)
- {
- return RTLFixer.Fix(str, false, true);
- }
- public static string Fix(string str, bool rtl)
- {
- if (rtl)
- {
- return RTLFixer.Fix(str);
- }
- string[] array = str.Split(new char[]
- {
- ' '
- });
- string text = string.Empty;
- string text2 = string.Empty;
- foreach (string text3 in array)
- {
- if (char.IsLower(text3.ToLower()[text3.Length / 2]))
- {
- text = text + RTLFixer.Fix(text2) + text3 + " ";
- text2 = string.Empty;
- }
- else
- {
- text2 = text2 + text3 + " ";
- }
- }
- if (text2 != string.Empty)
- {
- text += RTLFixer.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))
- {
- return RTLFixerTool.FixLine(str);
- }
- string[] separator = new string[]
- {
- 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)
- {
- while (i < array.Length)
- {
- text2 = text2 + Environment.NewLine + RTLFixerTool.FixLine(array[i]);
- i++;
- }
- }
- return text2;
- }
- }
- }
|