glyph.js 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. // Convert Akkadian transliteration to unicode cuneiform.
  2. // Copyright 2015 Ralph Giles. GPLv3.
  3. // Sign values from Huehnergard's "A Grammar of Akkadian",
  4. // 3rd Edition, compiled by Angelika and published with
  5. // the AkkadianStudy Yahoo Group. Unicode values from
  6. // http://www.unicode.org/charts/PDF/U12000.pdf
  7. var akkad_readings = {
  8. // Lesson 9 signs.
  9. '𒀸': ['aš', 'rum'],
  10. '𒄬': ['ḫal'],
  11. '𒀭': ['an'],
  12. '𒈤': ['maḫ'],
  13. '𒆷': ['la'],
  14. '𒉡': ['nu'],
  15. '𒁴': ['dim', 'tim', 'ṭim', 'dem', 'tem', 'ṭem'],
  16. '𒍗': ['be', 'bad', 'bat', 'baṭ', 'til'], // or 𒁁?
  17. '𒈾': ['na'],
  18. '𒈬': ['mu'],
  19. // Lesson 10
  20. '𒋾': ['ti', 'tì'],
  21. '𒄷': ['ḫu'],
  22. '𒉆': ['nam'],
  23. '𒂗': ['en'],
  24. '𒊑': ['ri', 're', 'tal', 'ṭal'],
  25. '𒍣': ['zi', 'ze', 'sí', 'sé', 'ṣí', 'ṣé'],
  26. '𒄀': ['gi', 'ge'],
  27. '𒀝': ['ag', 'ak', 'aq'],
  28. '𒅅': ['ig', 'ik', 'iq', 'eg', 'ek', 'eq'],
  29. // Lesson 11
  30. '𒋗': ['šu'],
  31. '𒄥': ['gur'],
  32. '𒋛': ['si', 'se'],
  33. '𒊒': ['ru'],
  34. '𒌒': ['ub', 'up'],
  35. '𒊓': ['sa'],
  36. '𒌝': ['um'],
  37. '𒀜': ['ad', 'at', 'aṭ'],
  38. '𒀊': ['ab', 'ap'],
  39. '𒍢': ['ṣi', 'ṣe', 'zí', 'zé'],
  40. // Lesson 12
  41. '𒊌': ['ug', 'uk', 'uq'],
  42. '𒊍': ['as', 'aṣ', 'az'],
  43. '𒁺': ['du'],
  44. '𒍑': ['uš', 'ús', 'úṣ', 'úz'],
  45. '𒌫': ['úr'],
  46. '𒌈': ['tum', 'dum', 'ṭum'],
  47. '𒅋': ['il'],
  48. '𒅖': ['iš', 'ís', 'íṣ', 'íz', 'mil'],
  49. '𒁉': ['bi', 'bé', 'pí', 'pé'],
  50. '𒄣': ['kum'],
  51. // Lesson 13
  52. '𒀭': ['an', 'AN', 'DINGIR'],
  53. '𒈬': ['mu', 'MU'],
  54. '': ['DUMU'],
  55. '𒊔': ['SAG'],
  56. '𒂍': ['É'],
  57. '𒀴': ['ÌR', 'ARAD'],
  58. '𒌓': ['ud', 'ut', 'uṭ', 'tam', 'UD', 'UTU', 'BABBAR'],
  59. '𒊺': ['še', 'ŠE'],
  60. '𒆠': ['ki', 'ke', 'qí', 'qé', 'KI'],
  61. '': ['KUG', 'KÙ'],
  62. '𒁹': ['1'],
  63. '𒎌': ['MEŠ'],
  64. '': ['MUNUS', 'MÍ'],
  65. '': ['GEME2'],
  66. // Lesson 14
  67. '𒋳': ['šum'],
  68. '𒄠': ['am'],
  69. '𒉈': ['ne', 'bí', 'bil', 'pil', 'ṭè'],
  70. '𒉋': ['bíl', 'píl'],
  71. '𒊭': ['ša'],
  72. '𒋫': ['ta', 'ṭá'],
  73. '𒂵': ['ga', 'qá'],
  74. '𒋻': ['tar', 'ṭar', 'KUD'],
  75. '𒁲': ['di', 'de', 'ṭi', 'ṭe', 'DI'],
  76. '𒆍': ['KÁ', 'KÁ.DINGIR.RAKI'],
  77. '𒈗': ['LUGAL'],
  78. };
  79. var akkad_table = {};
  80. for (var sign in akkad_readings) {
  81. for (var reading of akkad_readings[sign]) {
  82. akkad_table[reading] = sign;
  83. }
  84. }
  85. var convert = function(text) {
  86. var wedges = [];
  87. for (var word of text.split(' ')) {
  88. var code = '';
  89. for (var sign of word.split('-')) {
  90. if (sign in akkad_table) {
  91. code += akkad_table[sign];
  92. } else {
  93. code += sign;
  94. }
  95. }
  96. wedges.push(code)
  97. }
  98. return wedges.join(' ');
  99. }