widget.js 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466
  1. ๏ปฟ(function( $ ){
  2. var la2li = {
  3. "1": {
  4. "~": "๐„‡",
  5. "0":
  6. {
  7. "~": "๐„",
  8. "0": {
  9. "~": "๐„™",
  10. "0": {
  11. "~": "๐„ข",
  12. "0": "๐„ซ"
  13. }
  14. }
  15. }
  16. },
  17. "2": {
  18. "~": "๐„ˆ",
  19. "0":
  20. {
  21. "~": "๐„‘",
  22. "0": {
  23. "~": "๐„š",
  24. "0": {
  25. "~": "๐„ฃ",
  26. "0": "๐„ฌ"
  27. }
  28. }
  29. }
  30. },
  31. "3": {
  32. "~": "๐„‰",
  33. "0":
  34. {
  35. "~": "๐„’",
  36. "0": {
  37. "~": "๐„›",
  38. "0": {
  39. "~": "๐„ค",
  40. "0": "๐„ญ"
  41. }
  42. }
  43. }
  44. },
  45. "4": {
  46. "~": "๐„Š",
  47. "0":
  48. {
  49. "~": "๐„“",
  50. "0": {
  51. "~": "๐„œ",
  52. "0": {
  53. "~": "๐„ฅ",
  54. "0": "๐„ฎ"
  55. }
  56. }
  57. }
  58. },
  59. "5": {
  60. "~": "๐„‹",
  61. "0":
  62. {
  63. "~": "๐„”",
  64. "0": {
  65. "~": "๐„",
  66. "0": {
  67. "~": "๐„ฆ",
  68. "0": "๐„ฏ"
  69. }
  70. }
  71. }
  72. },
  73. "6": {
  74. "~": "๐„Œ",
  75. "0":
  76. {
  77. "~": "๐„•",
  78. "0": {
  79. "~": "๐„ž",
  80. "0": {
  81. "~": "๐„ง",
  82. "0": "๐„ฐ"
  83. }
  84. }
  85. }
  86. },
  87. "7": {
  88. "~": "๐„",
  89. "0":
  90. {
  91. "~": "๐„–",
  92. "0": {
  93. "~": "๐„Ÿ",
  94. "0": {
  95. "~": "๐„จ",
  96. "0": "๐„ฑ"
  97. }
  98. }
  99. }
  100. },
  101. "8": {
  102. "~": "๐„Ž",
  103. "0":
  104. {
  105. "~": "๐„—",
  106. "0": {
  107. "~": "๐„ ",
  108. "0": {
  109. "~": "๐„ฉ",
  110. "0": "๐„ฒ"
  111. }
  112. }
  113. }
  114. },
  115. "9": {
  116. "~": "๐„",
  117. "0":
  118. {
  119. "~": "๐„˜",
  120. "0": {
  121. "~": "๐„ก",
  122. "0": {
  123. "~": "๐„ช",
  124. "0": "๐„ณ"
  125. }
  126. }
  127. }
  128. },
  129. "a": {
  130. "~": "๐€€",
  131. "i": "๐",
  132. "lv": "๐ƒ…",
  133. "mph": "๐ƒจ",
  134. "rom": "๐‚‘",
  135. "u": "๐‚"
  136. },
  137. "b": {
  138. "i":
  139. {
  140. "g": "๐ƒŒ",
  141. },
  142. "o": {
  143. "s":
  144. {
  145. "~": "๐€˜",
  146. "f": "๐‚Œ",
  147. "m": "๐‚"
  148. }
  149. }
  150. },
  151. "c": {
  152. "a": {
  153. "p": {
  154. "~": "๐’",
  155. "f": "๐‚ˆ",
  156. "m": "๐‚‰",
  157. "s": "๐ƒŽ"
  158. }
  159. },
  160. "e": {
  161. "l": "๐€ฏ",
  162. "n": { "t": "๐„™"} ,
  163. "r": {"v": "๐‚‚" }
  164. },
  165. "u": {"m": {"i": {"n": "๐€“"}},
  166. "r": "๐ƒ"},
  167. "y": {"p": "๐‚’"}
  168. },
  169. "d": {
  170. "a": {
  171. "~": "๐€…",
  172. "g": "๐ƒ‰",
  173. },
  174. "e": {
  175. "~": "๐€†",
  176. "c": "๐„",
  177. "m": {
  178. "i": {
  179. "l": "๐„ซ",
  180. }
  181. }
  182. },
  183. "i": "๐€‡",
  184. "m": {
  185. "i": {
  186. "l": "๐„ฃ",
  187. }
  188. },
  189. "o": "๐€ˆ",
  190. "u": {
  191. "~": "๐€‰",
  192. "c": "๐„š",
  193. "m": {
  194. "i": {
  195. "l": "๐„ฌ"
  196. }
  197. },
  198. "o": "๐„ˆ"
  199. },
  200. "w": {
  201. "e": "๐ƒ",
  202. "o": "๐„"
  203. }
  204. },
  205. "e": "๐€",
  206. "h": {"a":"๐€"},
  207. "i": "๐€‚",
  208. "j": {
  209. "a": "๐€Š",
  210. "e": "๐€‹",
  211. "o": "๐€"},
  212. "k": {
  213. "a": "๐€",
  214. "e": "๐€",
  215. "i": "๐€‘",
  216. "o": "๐€’",
  217. "u": "๐€“"
  218. },
  219. "m": {
  220. "a": "๐€”",
  221. "e": "๐€•",
  222. "i": "๐€–",
  223. "o": "๐€—",
  224. "u": "๐€˜"
  225. },
  226. "n": {
  227. "a": "๐€™",
  228. "e": "๐€š",
  229. "i": "๐€›",
  230. "o": "๐€œ",
  231. "u": "๐€",
  232. "w": {"a":"๐…"}
  233. },
  234. "o": "๐€ƒ",
  235. "p": {
  236. "a": "๐€ž",
  237. "e": "๐€Ÿ",
  238. "h": {"u":"๐†"},
  239. "i": "๐€ ",
  240. "o": "๐€ก",
  241. "t": {"e":"๐‡"},
  242. "u": "๐€ข"
  243. },
  244. "q": {
  245. "a": "๐€ฃ",
  246. "e": "๐€ค",
  247. "i": "๐€ฅ",
  248. "o": "๐€ฆ"
  249. },
  250. "r": {
  251. "a": {"~" : "๐€จ",
  252. "i" : "๐‰"
  253. },
  254. "e": "๐€ฉ",
  255. "i": "๐€ช",
  256. "o": "๐€ซ",
  257. "u": "๐€ฌ",
  258. "y": {"a" : "๐ˆ",
  259. "o": "๐Š"}
  260. },
  261. "s": {
  262. "a": "๐€ญ",
  263. "e": "๐€ฎ",
  264. "i": "๐€ฏ",
  265. "o": "๐€ฐ",
  266. "u": "๐€ฑ"
  267. },
  268. "t": {
  269. "a": "๐€ฒ",
  270. "e": "๐€ณ",
  271. "i": "๐€ด",
  272. "o": "๐€ต",
  273. "u": "๐€ถ",
  274. "w": {"e" : "๐Œ", "o" : "๐"},
  275. "y": {"a": "๐‹"}
  276. },
  277. "u": "๐€„",
  278. "w": {
  279. "a": "๐€ท",
  280. "e": "๐€ธ",
  281. "i": "๐€น",
  282. "o": "๐€บ"
  283. },
  284. "z": {
  285. "a": "๐€ผ",
  286. "e": "๐€ฝ",
  287. "o": "๐€ฟ"
  288. }
  289. };
  290. var li2la = {
  291. "\ud800" :
  292. {"\udc00": "a",
  293. "\udc01": "e",
  294. "\udc02": "i",
  295. "\udc03": "o",
  296. "\udc04": "u",
  297. "\udc05": "da",
  298. "\udc06": "de",
  299. "\udc07": "di",
  300. "\udc08": "do",
  301. "\udc09": "du",
  302. "\udc0a": "ja",
  303. "\udc0b": "je",
  304. "\udc0d": "jo",
  305. "\udc0f": "ka",
  306. "\udc10": "ke",
  307. "\udc11": "ki",
  308. "\udc12": "ko",
  309. "\udc13": "ku",
  310. "\udc14": "ma",
  311. "\udc15": "me",
  312. "\udc16": "mi",
  313. "\udc17": "mo",
  314. "\udc18": "mu",
  315. "\udc19": "na",
  316. "\udc1a": "ne",
  317. "\udc1b": "ni",
  318. "\udc1c": "no",
  319. "\udc1d": "nu",
  320. "\udc1e": "pa",
  321. "\udc1f": "pe",
  322. "\udc20": "pi",
  323. "\udc21": "po",
  324. "\udc22": "pu",
  325. "\udc23": "qa",
  326. "\udc24": "qe",
  327. "\udc25": "qi",
  328. "\udc26": "qo",
  329. "\udc28": "ra",
  330. "\udc29": "re",
  331. "\udc2a": "ri",
  332. "\udc2b": "ro",
  333. "\udc2c": "ru",
  334. "\udc2d": "sa",
  335. "\udc2e": "se",
  336. "\udc2f": "si",
  337. "\udc30": "so",
  338. "\udc31": "su",
  339. "\udc32": "ta",
  340. "\udc33": "te",
  341. "\udc34": "ti",
  342. "\udc35": "to",
  343. "\udc36": "tu",
  344. "\udc37": "wa",
  345. "\udc38": "we",
  346. "\udc39": "wi",
  347. "\udc3a": "wo",
  348. "\udc3c": "za",
  349. "\udc3d": "ze",
  350. "\udc3f": "zo",
  351. "\udc40": "ha",
  352. "\udc41": "ai",
  353. "\udc42": "au",
  354. "\udc43": "dwe",
  355. "\udc44": "dwo",
  356. "\udc45": "nwa",
  357. "\udc46": "phu",
  358. "\udc47": "pte",
  359. "\udc48": "rya",
  360. "\udc49": "rai",
  361. "\udc4a": "ryo",
  362. "\udc4b": "tya",
  363. "\udc4c": "twe",
  364. "\udc4d": "two",
  365. "\udc52": "cap",
  366. "\udc80": "vir",
  367. "\udc81": "mul",
  368. "\udc82": "cerv",
  369. "\udc83": "equ",
  370. }
  371. };
  372. var converterMap = la2li;
  373. function doconvert(src) {
  374. function traverse(i, chars, ws) {
  375. var c = src[i];
  376. if (c in chars) {
  377. if (chars[c] instanceof Array)
  378. return (ws ? chars[c][1] : chars[c][0]) + traverse(i + 1, converterMap);
  379. else if (chars[c] instanceof Object)
  380. return traverse(i + 1, chars[c], ws);
  381. else
  382. return chars[c] + traverse(i + 1, converterMap);
  383. }
  384. else if ('~' in chars) {
  385. if (chars['~'] instanceof Array)
  386. return (ws ? chars['~'][1] : chars['~'][0]) + traverse(i, converterMap);
  387. else
  388. return chars['~'] + traverse(i, converterMap);
  389. }
  390. else if (c) {
  391. return c + traverse(i + 1, converterMap, c == ' ');
  392. }
  393. return "";
  394. }
  395. return traverse(0, converterMap, true);
  396. }
  397. function translate() {
  398. var src = $("#source").val();
  399. $("#destination").val(doconvert(src));
  400. }
  401. function changeDictionary() {
  402. converterMap = eval($('#source-map').val());
  403. translate();
  404. }
  405. var htmlForm = ' \
  406. <div class="lbt overlay"></div> \
  407. <div class="lbt window"> \
  408. <h4>Linear B transliterator</h4> \
  409. <hr /> \
  410. <table style="width: 100%;"> \
  411. <tr> \
  412. <td> \
  413. <select style="width: 70%;" id="source-map"> \
  414. <option value="la2li">Latin to Linear B</options> \
  415. <option value="li2la">Linear B to Latin</options> \
  416. </select> \
  417. </tr> \
  418. <tr> \
  419. <td><textarea id="source" style="width: 100%;"></textarea></td> \
  420. <td><textarea id="destination" style="width: 100%;"></textarea></td> \
  421. </tr> \
  422. </table> \
  423. </div> \
  424. ';
  425. $.fn.lbt = function(options) {
  426. var settings = $.extend({}, options);
  427. if (settings['window-holder']) {
  428. $(document).ready(onResize);
  429. $(window).resize(onResize);
  430. $(settings['window-holder']).html(htmlForm);
  431. $('.lbt.overlay').click(hidePopup);
  432. this.click(showPopup);
  433. }
  434. else {
  435. this.html(htmlForm);
  436. $('.lbt.window').show();
  437. $('.lbt.window').css("position", "relative");
  438. }
  439. $('#source').change(translate);
  440. $('#source').keyup(translate);
  441. $('#source-map').change(changeDictionary);
  442. };
  443. })( jQuery );