HindiFixer.cs 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. using System;
  2. using System.Linq;
  3. namespace I2.Loc
  4. {
  5. public class HindiFixer
  6. {
  7. internal static string Fix(string text)
  8. {
  9. char[] array = text.ToCharArray();
  10. bool flag = false;
  11. for (int i = 0; i < array.Length; i++)
  12. {
  13. if (array[i] == 'ि' && !char.IsWhiteSpace(array[i - 1]) && array[i - 1] != '\0')
  14. {
  15. array[i] = array[i - 1];
  16. array[i - 1] = 'ि';
  17. flag = true;
  18. }
  19. if (i != array.Length - 1)
  20. {
  21. if (array[i] == 'इ' && array[i + 1] == '़')
  22. {
  23. array[i] = 'ऌ';
  24. array[i + 1] = '\0';
  25. flag = true;
  26. }
  27. if (array[i] == 'ृ' && array[i + 1] == '़')
  28. {
  29. array[i] = 'ॄ';
  30. array[i + 1] = '\0';
  31. flag = true;
  32. }
  33. if (array[i] == 'ँ' && array[i + 1] == '़')
  34. {
  35. array[i] = 'ॐ';
  36. array[i + 1] = '\0';
  37. flag = true;
  38. }
  39. if (array[i] == 'ऋ' && array[i + 1] == '़')
  40. {
  41. array[i] = 'ॠ';
  42. array[i + 1] = '\0';
  43. flag = true;
  44. }
  45. if (array[i] == 'ई' && array[i + 1] == '़')
  46. {
  47. array[i] = 'ॡ';
  48. array[i + 1] = '\0';
  49. flag = true;
  50. }
  51. if (array[i] == 'ि' && array[i + 1] == '़')
  52. {
  53. array[i] = 'ॢ';
  54. array[i + 1] = '\0';
  55. flag = true;
  56. }
  57. if (array[i] == 'ी' && array[i + 1] == '़')
  58. {
  59. array[i] = 'ॣ';
  60. array[i + 1] = '\0';
  61. flag = true;
  62. }
  63. if (array[i] == '।' && array[i + 1] == '़')
  64. {
  65. array[i] = 'ऽ';
  66. array[i + 1] = '\0';
  67. flag = true;
  68. }
  69. }
  70. }
  71. if (!flag)
  72. {
  73. return text;
  74. }
  75. string text2 = new string((from x in array
  76. where x != '\0'
  77. select x).ToArray<char>());
  78. if (text2 == text)
  79. {
  80. return text2;
  81. }
  82. text = text2;
  83. return text;
  84. }
  85. }
  86. }