thai.ts 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. const char_roman_to_thai = [
  2. { id: "khe", value: "เข" },
  3. { id: "ghe", value: "เฃ" },
  4. { id: "che", value: "เฉ" },
  5. { id: "jhe", value: "เณ" },
  6. { id: "ṭhe", value: "เฐ" },
  7. { id: "ḍhe", value: "เฒ" },
  8. { id: "the", value: "เถ" },
  9. { id: "dhe", value: "เธ" },
  10. { id: "phe", value: "เผ" },
  11. { id: "bhe", value: "เภ" },
  12. { id: "kho", value: "โข" },
  13. { id: "gho", value: "โฃ" },
  14. { id: "cho", value: "โฉ" },
  15. { id: "jho", value: "โณ" },
  16. { id: "ṭho", value: "โฐ" },
  17. { id: "ḍho", value: "โฒ" },
  18. { id: "tho", value: "โถ" },
  19. { id: "dho", value: "โธ" },
  20. { id: "pho", value: "โผ" },
  21. { id: "bho", value: "โภ" },
  22. { id: "ke", value: "เก" },
  23. { id: "ge", value: "เค" },
  24. { id: "ce", value: "เจ" },
  25. { id: "je", value: "เช" },
  26. { id: "ñe", value: "เญ" },
  27. { id: "ḷe", value: "เฬ" },
  28. { id: "ṭe", value: "เฏ" },
  29. { id: "ḍe", value: "เฑ" },
  30. { id: "ṇe", value: "เฌ" },
  31. { id: "te", value: "เต" },
  32. { id: "de", value: "เท" },
  33. { id: "ne", value: "เน" },
  34. { id: "pe", value: "เป" },
  35. { id: "be", value: "เพ" },
  36. { id: "me", value: "เม" },
  37. { id: "le", value: "เล" },
  38. { id: "se", value: "เส" },
  39. { id: "ṅe", value: "เง" },
  40. { id: "he", value: "เห" },
  41. { id: "ye", value: "เย" },
  42. { id: "re", value: "เร" },
  43. { id: "ve", value: "เว" },
  44. { id: "ko", value: "โก" },
  45. { id: "go", value: "โค" },
  46. { id: "co", value: "โจ" },
  47. { id: "jo", value: "โช" },
  48. { id: "ño", value: "โญ" },
  49. { id: "ḷo", value: "โฬ" },
  50. { id: "ṭo", value: "โฏ" },
  51. { id: "ḍo", value: "โฑ" },
  52. { id: "ṇo", value: "โฌ" },
  53. { id: "to", value: "โต" },
  54. { id: "do", value: "โท" },
  55. { id: "no", value: "โน" },
  56. { id: "po", value: "โป" },
  57. { id: "bo", value: "โพ" },
  58. { id: "mo", value: "โม" },
  59. { id: "lo", value: "โล" },
  60. { id: "so", value: "โส" },
  61. { id: "ṅo", value: "โง" },
  62. { id: "ho", value: "โห" },
  63. { id: "yo", value: "โย" },
  64. { id: "ro", value: "โร" },
  65. { id: "vo", value: "โว" },
  66. { id: "kh", value: "ขฺ" },
  67. { id: "gh", value: "ฃฺ" },
  68. { id: "ch", value: "ฉฺ" },
  69. { id: "jh", value: "ณฺ" },
  70. { id: "ṭh", value: "ฐฺ" },
  71. { id: "ḍh", value: "ฒฺ" },
  72. { id: "th", value: "ถฺ" },
  73. { id: "dh", value: "ธฺ" },
  74. { id: "ph", value: "ผฺ" },
  75. { id: "bh", value: "ภฺ" },
  76. { id: "k", value: "กฺ" },
  77. { id: "g", value: "คฺ" },
  78. { id: "c", value: "จฺ" },
  79. { id: "j", value: "ชฺ" },
  80. { id: "ñ", value: "ญฺ" },
  81. { id: "ḷ", value: "ฬฺ" },
  82. { id: "ṭ", value: "ฏฺ" },
  83. { id: "ḍ", value: "ฑฺ" },
  84. { id: "ṇ", value: "ฌฺ" },
  85. { id: "t", value: "ตฺ" },
  86. { id: "d", value: "ทฺ" },
  87. { id: "n", value: "นฺ" },
  88. { id: "p", value: "ปฺ" },
  89. { id: "b", value: "พฺ" },
  90. { id: "m", value: "มฺ" },
  91. { id: "l", value: "ลฺ" },
  92. { id: "s", value: "สฺ" },
  93. { id: "ṅ", value: "งฺ" },
  94. { id: "h", value: "หฺ" },
  95. { id: "y", value: "ยฺ" },
  96. { id: "r", value: "รฺ" },
  97. { id: "v", value: "วฺ" },
  98. { id: "ฺaṃ", value: "ํ" },
  99. { id: "ฺiṃ", value: "ิํ" },
  100. { id: "ฺuṃ", value: "ุํ" },
  101. { id: "ฺā", value: "า" },
  102. { id: "ฺi", value: "ิ" },
  103. { id: "ฺī", value: "ี" },
  104. { id: "ฺu", value: "ุ" },
  105. { id: "ฺū", value: "ู" },
  106. { id: "aṃ", value: "อํ" },
  107. { id: "iṃ", value: "อิํ" },
  108. { id: "uṃ", value: "อุํ" },
  109. { id: "a", value: "อ" },
  110. { id: "ā", value: "อา" },
  111. { id: "i", value: "อิ" },
  112. { id: "ī", value: "อี" },
  113. { id: "u", value: "อุ" },
  114. { id: "ū", value: "อู" },
  115. { id: "e", value: "เอ" },
  116. { id: "o", value: "โอ" },
  117. { id: "ฺอ", value: "" },
  118. ];
  119. export const roman_to_thai = (
  120. input: string | undefined
  121. ): string | undefined => {
  122. if (typeof input === "undefined") {
  123. return input;
  124. }
  125. let txt = input.toLowerCase();
  126. try {
  127. for (const iterator of char_roman_to_thai) {
  128. txt = txt.replaceAll(iterator.id, iterator.value);
  129. }
  130. } catch (err) {
  131. //error
  132. console.error(err);
  133. }
  134. return txt;
  135. };