si.ts 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337
  1. const char_unicode_to_si = [
  2. { id: "bbhr", value: "බ්භ්ර්" },
  3. { id: "bbhv", value: "බ්භ්ව්" },
  4. { id: "bbhy", value: "බ්භ්ය්" },
  5. { id: "cchr", value: "ච්ඡ්ර්" },
  6. { id: "cchv", value: "ච්ඡ්ව්" },
  7. { id: "cchy", value: "ච්ඡ්ය්" },
  8. { id: "ddhr", value: "ද්ධ්ර්" },
  9. { id: "ddhv", value: "ද්ධ්ව්" },
  10. { id: "ddhy", value: "ද්ධ්ය්" },
  11. { id: "ḍḍhr", value: "ඩ්ඪ්ර්" },
  12. { id: "ḍḍhv", value: "ඩ්ඪ්ව්" },
  13. { id: "ḍḍhy", value: "ඩ්ඪ්ය්" },
  14. { id: "gghr", value: "ග්ඝ්ර්" },
  15. { id: "gghv", value: "ග්ඝ්ව්" },
  16. { id: "gghy", value: "ග්ඝ්ය්" },
  17. { id: "ṅkhr", value: "ඞ්ඛ්ර්" },
  18. { id: "ṅkhv", value: "ඞ්ඛ්ව්" },
  19. { id: "ṅkhy", value: "ඞ්ඛ්ය්" },
  20. { id: "ṅghr", value: "ඞ්ඝ්ර්" },
  21. { id: "ṅghv", value: "ඞ්ඝ්ව්" },
  22. { id: "ṅghy", value: "ඞ්ඝ්ය්" },
  23. { id: "jjhr", value: "ජ්ඣ්ර්" },
  24. { id: "jjhv", value: "ජ්ඣ්ව්" },
  25. { id: "jjhy", value: "ජ්ඣ්ය්" },
  26. { id: "kkhr", value: "ක්ඛ්ර්" },
  27. { id: "kkhv", value: "ක්ඛ්ව්" },
  28. { id: "kkhy", value: "ක්ඛ්ය්" },
  29. { id: "ñchr", value: "ඤ්ඡ්ර්" },
  30. { id: "ñchv", value: "ඤ්ඡ්ව්" },
  31. { id: "ñchy", value: "ඤ්ඡ්ය්" },
  32. { id: "ñjhr", value: "ඤ්ඣ්ර්" },
  33. { id: "ñjhv", value: "ඤ්ඣ්ව්" },
  34. { id: "ñjhy", value: "ඤ්ඣ්ය්" },
  35. { id: "ṇṭhr", value: "ණ්ඨ්ර්" },
  36. { id: "ṇṭhv", value: "ණ්ඨ්ව්" },
  37. { id: "ṇṭhy", value: "ණ්ඨ්ය්" },
  38. { id: "ṇḍhr", value: "ණ්ඪ්ර්" },
  39. { id: "ṇḍhv", value: "ණ්ඪ්ව්" },
  40. { id: "ṇḍhy", value: "ණ්ඪ්ය්" },
  41. { id: "nthr", value: "න්ථ්ර්" },
  42. { id: "nthv", value: "න්ථ්ව්" },
  43. { id: "nthy", value: "න්ථ්ය්" },
  44. { id: "ndhr", value: "න්ධ්ර්" },
  45. { id: "ndhv", value: "න්ධ්ව්" },
  46. { id: "ndhy", value: "න්ධ්ය්" },
  47. { id: "pphr", value: "ප්ඵ්ර්" },
  48. { id: "pphv", value: "ප්ඵ්ව්" },
  49. { id: "pphy", value: "ප්ඵ්ය්" },
  50. { id: "mphr", value: "ම්ඵ්ර්" },
  51. { id: "mphv", value: "ම්ඵ්ව්" },
  52. { id: "mphy", value: "ම්ඵ්ය්" },
  53. { id: "mbhr", value: "ම්භ්ර්" },
  54. { id: "mbhv", value: "ම්භ්ව්" },
  55. { id: "mbhy", value: "ම්භ්ය්" },
  56. { id: "tthr", value: "ත්ථ්ර්" },
  57. { id: "tthv", value: "ත්ථ්ව්" },
  58. { id: "tthy", value: "ත්ථ්ය්" },
  59. { id: "ṭṭhr", value: "ට්ඨ්ර්" },
  60. { id: "ṭṭhv", value: "ට්ඨ්ව්" },
  61. { id: "ṭṭhy", value: "ට්ඨ්ය්" },
  62. { id: "bbr", value: "බ්බ්ර්" },
  63. { id: "bbv", value: "බ්බ්ව්" },
  64. { id: "bby", value: "බ්බ්ය්" },
  65. { id: "ccr", value: "ච්ච්ර්" },
  66. { id: "ccv", value: "ච්ච්ව්" },
  67. { id: "ccy", value: "ච්ච්ය්" },
  68. { id: "ddr", value: "ද්ද්ර්" },
  69. { id: "ddv", value: "ද්ද්ව්" },
  70. { id: "ddy", value: "ද්ද්ය්" },
  71. { id: "ḍḍr", value: "ඩ්ඩ්ර්" },
  72. { id: "ḍḍv", value: "ඩ්ඩ්ව්" },
  73. { id: "ḍḍy", value: "ඩ්ඩ්ය්" },
  74. { id: "ggr", value: "ග්ග්ර්" },
  75. { id: "ggv", value: "ග්ග්ව්" },
  76. { id: "ggy", value: "ග්ග්ය්" },
  77. { id: "jjr", value: "ජ්ජ්ර්" },
  78. { id: "jjv", value: "ජ්ජ්ව්" },
  79. { id: "jjy", value: "ජ්ජ්ය්" },
  80. { id: "ṅkr", value: "ඞ්ක්ර්" },
  81. { id: "ṅkv", value: "ඞ්ක්ව්" },
  82. { id: "ṅky", value: "ඞ්ක්ය්" },
  83. { id: "ṅgr", value: "ඞ්ග්ර්" },
  84. { id: "ṅgv", value: "ඞ්ග්ව්" },
  85. { id: "ṅgy", value: "ඞ්ග්ය්" },
  86. { id: "kkr", value: "ක්ක්ර්" },
  87. { id: "kkv", value: "ක්ක්ව්" },
  88. { id: "kky", value: "ක්ක්ය්" },
  89. { id: "ñcr", value: "ඤ්ච්ර්" },
  90. { id: "ñcv", value: "ඤ්ච්ව්" },
  91. { id: "ñcy", value: "ඤ්ච්ය්" },
  92. { id: "ñjr", value: "ඤ්ජ්ර්" },
  93. { id: "ñjv", value: "ඤ්ජ්ව්" },
  94. { id: "ñjy", value: "ඤ්ජ්ය්" },
  95. { id: "mmr", value: "ම්ම්ර්" },
  96. { id: "mmv", value: "ම්ම්ව්" },
  97. { id: "mmy", value: "ම්ම්ය්" },
  98. { id: "nnr", value: "න්න්ර්" },
  99. { id: "nnv", value: "න්න්ව්" },
  100. { id: "nny", value: "න්න්ය්" },
  101. { id: "ṇṭr", value: "ණ්ට්ර්" },
  102. { id: "ṇṭv", value: "ණ්ට්ව්" },
  103. { id: "ṇṭy", value: "ණ්ට්ය්" },
  104. { id: "ṇḍr", value: "ණ්ඩ්ර්" },
  105. { id: "ṇḍv", value: "ණ්ඩ්ව්" },
  106. { id: "ṇḍy", value: "ණ්ඩ්ය්" },
  107. { id: "ññr", value: "ඤ්ඤ්ර්" },
  108. { id: "ññv", value: "ඤ්ඤ්ව්" },
  109. { id: "ññy", value: "ඤ්ඤ්ය්" },
  110. { id: "ṇṇr", value: "ණ්ණ්ර්" },
  111. { id: "ṇṇv", value: "ණ්ණ්ව්" },
  112. { id: "ṇṇy", value: "ණ්ණ්ය්" },
  113. { id: "ppr", value: "ප්ප්ර්" },
  114. { id: "ppv", value: "ප්ප්ව්" },
  115. { id: "ppy", value: "ප්ප්ය්" },
  116. { id: "ntr", value: "න්ත්ර්" },
  117. { id: "ntv", value: "න්ත්ව්" },
  118. { id: "nty", value: "න්ත්ය්" },
  119. { id: "ndr", value: "න්ද්ර්" },
  120. { id: "ndv", value: "න්ද්ව්" },
  121. { id: "ndy", value: "න්ද්ය්" },
  122. { id: "ttr", value: "ත්ත්ර්" },
  123. { id: "ttv", value: "ත්ත්ව්" },
  124. { id: "tty", value: "ත්ත්ය්" },
  125. { id: "mpr", value: "ම්ප්ර්" },
  126. { id: "mpv", value: "ම්ප්ව්" },
  127. { id: "mpy", value: "ම්ප්ය්" },
  128. { id: "mbr", value: "ම්බ්ර්" },
  129. { id: "mbv", value: "ම්බ්ව්" },
  130. { id: "mby", value: "ම්බ්ය්" },
  131. { id: "ṭṭr", value: "ට්ට්ර්" },
  132. { id: "ṭṭv", value: "ට්ට්ව්" },
  133. { id: "ṭṭy", value: "ට්ට්ය්" },
  134. { id: "llr", value: "ල්ල්ර්" },
  135. { id: "llv", value: "ල්ල්ව්" },
  136. { id: "lly", value: "ල්ල්ය්" },
  137. { id: "ssr", value: "ස්ස්ර්" },
  138. { id: "ssv", value: "ස්ස්ව්" },
  139. { id: "ssy", value: "ස්ස්ය්" },
  140. { id: "yyr", value: "ය්ය්ර්" },
  141. { id: "yyv", value: "ය්ය්ව්" },
  142. { id: "yyy", value: "ය්ය්ය්" },
  143. { id: "bbh", value: "බ්භ්" },
  144. { id: "cch", value: "ච්ඡ්" },
  145. { id: "ddh", value: "ද්ධ්" },
  146. { id: "ḍḍh", value: "ඩ්ඪ්" },
  147. { id: "ggh", value: "ග්ඝ්" },
  148. { id: "jjh", value: "ජ්ඣ්" },
  149. { id: "kkh", value: "ක්ඛ්" },
  150. { id: "mbh", value: "ම්භ්" },
  151. { id: "mph", value: "ම්ඵ්" },
  152. { id: "ñch", value: "ඤ්ඡ්" },
  153. { id: "bhr", value: "භ්ර්" },
  154. { id: "bhv", value: "භ්ව්" },
  155. { id: "bhy", value: "භ්ය්" },
  156. { id: "chr", value: "ඡ්ර්" },
  157. { id: "chv", value: "ඡ්ව්" },
  158. { id: "chy", value: "ඡ්ය්" },
  159. { id: "dhr", value: "ධ්ර්" },
  160. { id: "dhv", value: "ධ්ව්" },
  161. { id: "dhy", value: "ධ්ය්" },
  162. { id: "ḍhr", value: "ඪ්ර්" },
  163. { id: "ḍhv", value: "ඪ්ව්" },
  164. { id: "ḍhy", value: "ඪ්ය්" },
  165. { id: "ghr", value: "ඝ්ර්" },
  166. { id: "ghv", value: "ඝ්ව්" },
  167. { id: "ghy", value: "ඝ්ය්" },
  168. { id: "jhr", value: "ඣ්ර්" },
  169. { id: "jhv", value: "ඣ්ව්" },
  170. { id: "jhy", value: "ඣ්ය්" },
  171. { id: "khr", value: "ඛ්ර්" },
  172. { id: "khv", value: "ඛ්ව්" },
  173. { id: "khy", value: "ඛ්ය්" },
  174. { id: "phr", value: "ඵ්ර්" },
  175. { id: "phv", value: "ඵ්ව්" },
  176. { id: "phy", value: "ඵ්ය්" },
  177. { id: "thr", value: "ථ්ර්" },
  178. { id: "thv", value: "ථ්ව්" },
  179. { id: "thy", value: "ථ්ය්" },
  180. { id: "ṭhr", value: "ඨ්ර්" },
  181. { id: "ṭhv", value: "ඨ්ව්" },
  182. { id: "ṭhy", value: "ඨ්ය්" },
  183. { id: "ndh", value: "න්ධ්" },
  184. { id: "ṇḍh", value: "ණ්ඪ්" },
  185. { id: "ṅgh", value: "ඞ්ඝ්" },
  186. { id: "ñjh", value: "ඤ්ඣ්" },
  187. { id: "ṅkh", value: "ඞ්ඛ්" },
  188. { id: "nth", value: "න්ථ්" },
  189. { id: "ṇṭh", value: "ණ්ඨ්" },
  190. { id: "pph", value: "ප්ඵ්" },
  191. { id: "tth", value: "ත්ථ්" },
  192. { id: "ṭṭh", value: "ට්ඨ්" },
  193. { id: "bb", value: "බ්බ්" },
  194. { id: "bh", value: "භ්" },
  195. { id: "cc", value: "ච්ච්" },
  196. { id: "ch", value: "ඡ්" },
  197. { id: "dd", value: "ද්ද්" },
  198. { id: "ḍḍ", value: "ඩ්ඩ්" },
  199. { id: "dh", value: "ධ්" },
  200. { id: "ḍh", value: "ඪ්" },
  201. { id: "gg", value: "ග්ග්" },
  202. { id: "gh", value: "ඝ්" },
  203. { id: "jh", value: "ඣ්" },
  204. { id: "jj", value: "ජ්ජ්" },
  205. { id: "kh", value: "ඛ්" },
  206. { id: "kk", value: "ක්ක්" },
  207. { id: "ll", value: "ල්ල්" },
  208. { id: "mb", value: "ම්බ්" },
  209. { id: "mm", value: "ම්ම්" },
  210. { id: "mp", value: "ම්ප්" },
  211. { id: "ñc", value: "ඤ්ච්" },
  212. { id: "nd", value: "න්ද්" },
  213. { id: "ṇḍ", value: "ණ්ඩ්" },
  214. { id: "ṅg", value: "ඞ්ග්" },
  215. { id: "ñj", value: "ඤ්ජ්" },
  216. { id: "ṅk", value: "ඞ්ක්" },
  217. { id: "nn", value: "න්න්" },
  218. { id: "ññ", value: "ඤ්ඤ්" },
  219. { id: "ṇṇ", value: "ණ්ණ්" },
  220. { id: "nt", value: "න්ත්" },
  221. { id: "br", value: "බ්ර්" },
  222. { id: "bv", value: "බ්ව්" },
  223. { id: "by", value: "බ්ය්" },
  224. { id: "cr", value: "ච්ර්" },
  225. { id: "cv", value: "ච්ව්" },
  226. { id: "cy", value: "ච්ය්" },
  227. { id: "dr", value: "ද්ර්" },
  228. { id: "dv", value: "ද්ව්" },
  229. { id: "dy", value: "ද්ය්" },
  230. { id: "ḍr", value: "ඩ්ර්" },
  231. { id: "ḍv", value: "ඩ්ව්" },
  232. { id: "ḍy", value: "ඩ්ය්" },
  233. { id: "gr", value: "ග්ර්" },
  234. { id: "gv", value: "ග්ව්" },
  235. { id: "gy", value: "ග්ය්" },
  236. { id: "jr", value: "ජ්ර්" },
  237. { id: "jv", value: "ජ්ව්" },
  238. { id: "jy", value: "ජ්ය්" },
  239. { id: "kr", value: "ක්ර්" },
  240. { id: "kv", value: "ක්ව්" },
  241. { id: "ky", value: "ක්ය්" },
  242. { id: "pr", value: "ප්ර්" },
  243. { id: "pv", value: "ප්ව්" },
  244. { id: "py", value: "ප්ය්" },
  245. { id: "tr", value: "ත්ර්" },
  246. { id: "tv", value: "ත්ව්" },
  247. { id: "ty", value: "ත්ය්" },
  248. { id: "ṭr", value: "ට්ර්" },
  249. { id: "ṭv", value: "ට්ව්" },
  250. { id: "ṭy", value: "ට්ය්" },
  251. { id: "ñh", value: "ඤ්හ්" },
  252. { id: "ṇh", value: "ණ්හ්" },
  253. { id: "nh", value: "න්හ්" },
  254. { id: "mh", value: "ම්හ්" },
  255. { id: "yh", value: "ය්හ්" },
  256. { id: "ly", value: "ල්ය්" },
  257. { id: "lh", value: "ල්හ්" },
  258. { id: "vh", value: "ව්හ්" },
  259. { id: "sm", value: "ස්ම්" },
  260. { id: "sv", value: "ස්ව්" },
  261. { id: "hm", value: "හ්ම්" },
  262. { id: "hv", value: "හ්ව්" },
  263. { id: "ḷh", value: "ළ්හ්" },
  264. { id: "ṇṭ", value: "ණ්ට්" },
  265. { id: "ph", value: "ඵ්" },
  266. { id: "pp", value: "ප්ප්" },
  267. { id: "ss", value: "ස්ස්" },
  268. { id: "th", value: "ථ්" },
  269. { id: "ṭh", value: "ඨ්" },
  270. { id: "tt", value: "ත්ත්" },
  271. { id: "ṭṭ", value: "ට්ට්" },
  272. { id: "yy", value: "ය්ය්" },
  273. { id: "b", value: "බ්" },
  274. { id: "c", value: "ච්" },
  275. { id: "d", value: "ද්" },
  276. { id: "ḍ", value: "ඩ්" },
  277. { id: "g", value: "ග්" },
  278. { id: "h", value: "හ්" },
  279. { id: "j", value: "ජ්" },
  280. { id: "k", value: "ක්" },
  281. { id: "l", value: "ල්" },
  282. { id: "ḷ", value: "ළ්" },
  283. { id: "m", value: "ම්" },
  284. { id: "n", value: "න්" },
  285. { id: "ṅ", value: "ඞ්" },
  286. { id: "ñ", value: "ඤ්" },
  287. { id: "ṇ", value: "ණ්" },
  288. { id: "p", value: "ප්" },
  289. { id: "r", value: "‍ර්" },
  290. { id: "s", value: "ස්" },
  291. { id: "t", value: "ත්" },
  292. { id: "ṭ", value: "ට්" },
  293. { id: "v", value: "ව්" },
  294. { id: "y", value: "‍ය්" },
  295. { id: "්iṃ", value: "ිං" },
  296. { id: "්uṃ", value: "ුං" },
  297. { id: "්aṃ", value: "ං" },
  298. { id: "්ā", value: "ා" },
  299. { id: "්i", value: "ි" },
  300. { id: "්ī", value: "ී" },
  301. { id: "්u", value: "ු" },
  302. { id: "්ū", value: "ූ" },
  303. { id: "්e", value: "ෙ" },
  304. { id: "්ē", value: "ේ" },
  305. { id: "්o", value: "ො" },
  306. { id: "්ō", value: "ෝ" },
  307. { id: "්", value: "්" },
  308. { id: "aṃ", value: "අං" },
  309. { id: "iṃ", value: "ඉං" },
  310. { id: "uṃ", value: "උං" },
  311. { id: "්a", value: "" },
  312. { id: "a", value: "අ" },
  313. { id: "ā", value: "ආ" },
  314. { id: "i", value: "ඉ" },
  315. { id: "ī", value: "ඊ" },
  316. { id: "u", value: "උ" },
  317. { id: "ū", value: "ඌ" },
  318. { id: "e", value: "එ" },
  319. { id: "o", value: "ඔ" },
  320. ];
  321. export const roman_to_si = (input: string | undefined): string | undefined => {
  322. if (typeof input === "undefined") {
  323. return input;
  324. }
  325. let txt = input.toLowerCase();
  326. try {
  327. for (const iterator of char_unicode_to_si) {
  328. txt = txt.replaceAll(iterator.id, iterator.value);
  329. }
  330. } catch (err) {
  331. //error
  332. console.error(err);
  333. }
  334. return txt;
  335. };