@@ -236,4 +236,98 @@ word = character (("-" : "") character)*;
236236text = word (bytelib.kSpace+ word)*;
237237
238238export Cuneifier = Optimize[input_chars @ text];
239- export Decuneifier = Optimize[Invert[text]];
239+ export NaiveDecuneifier = Optimize[Invert[text]];
240+
241+
242+ # The inverted characters are transliterations from MesZL
243+ I_AN = MESZL_10 : "AN";
244+ I_BA = MESZL_14 : "BA";
245+ I_ZU = MESZL_15 : "ZU";
246+ I_SU = MESZL_16 : "SU";
247+ I_KA = MESZL_24 : "KA";
248+ I_LI = MESZL_85 : "LI";
249+ I_TU = MESZL_86 : "TU";
250+ I_LA = MESZL_89 : "LA";
251+ I_MU = MESZL_98 : "MU";
252+ I_SILA3 = MESZL_99 : "SILA3";
253+ I_NA = MESZL_110 : "NA";
254+ I_RU = MESZL_111 : "RU";
255+ I_NU = MESZL_112 : "NU";
256+ I_BAD = MESZL_113 : "BAD";
257+ I_TI = MESZL_118 : "TI";
258+ I_AK = MESZL_127 : "AK";
259+ I_HU = MESZL_132 : "HU";
260+ I_IG = MESZL_136 : "IG";
261+ I_ZI = MESZL_140 : "ZI";
262+ I_GI = MESZL_141 : "GI";
263+ I_RI = MESZL_142 : "RI";
264+ I_EN = MESZL_164 : "EN";
265+ I_SA = MESZL_172 : "SA";
266+ I_SI = MESZL_181 : "SI";
267+ I_AB = MESZL_223 : "AB";
268+ I_UM = MESZL_238 : "UM";
269+ I_TA = MESZL_248 : "TA";
270+ I_I = MESZL_252 : "I";
271+ I_AD = MESZL_258 : "AD";
272+ I_IN = MESZL_261 : "IN";
273+ I_UG = MESZL_296 : "UG";
274+ I_AZ = MESZL_297 : "AZ";
275+ I_AM = MESZL_309 : "AM";
276+ I_NE = MESZL_313 : "NE";
277+ I_KUM = MESZL_339 : "KUM";
278+ I_IL = MESZL_348 : "IL";
279+ I_DU = MESZL_350 : "DU";
280+ I_BI = MESZL_358 : "BI";
281+ I_NI = MESZL_380 : "NI";
282+ I_IR = MESZL_437 : "IR";
283+ I_PA = MESZL_464 : "PA";
284+ I_GISH = MESZL_469 : "GISH";
285+ I_AL = MESZL_474 : "AL";
286+ I_GA = MESZL_491 : "GA";
287+ I_E = MESZL_498 : "E";
288+ I_UN = MESZL_501 : "UN";
289+ I_UB = MESZL_504 : "UB";
290+ I_RA = MESZL_511 : "RA";
291+ I_MA = MESZL_552 : "MA";
292+ I_A2 = MESZL_560 : "A2";
293+ I_DE = MESZL_561 : "DA";
294+ I_BU = MESZL_580 : "BU";
295+ I_UZ = MESZL_583 : "UZ";
296+ I_TE = MESZL_589 : "TE";
297+ I_UD = MESZL_596 : "UD";
298+ I_PI = MESZL_598 : "PI";
299+ I_HI = MESZL_631 : "HI";
300+ I_AH = MESZL_636 : "AH";
301+ I_IM = MESZL_641 : "IM";
302+ I_U = MESZL_661 : "U";
303+ I_MI = MESZL_681 : "MI";
304+ I_UL = MESZL_698 : "UL";
305+ I_AR = MESZL_726 : "AR";
306+ I_DI = MESZL_736 : "DI";
307+ I_KI = MESZL_737 : "KI";
308+ I_ME = MESZL_753 : "ME";
309+ I_IB = MESZL_807 : "IB";
310+ I_KU = MESZL_808 : "KU";
311+ I_LU = MESZL_812 : "LU";
312+ I_KIN = MESZL_815 : "KIN";
313+ I_UR = MESZL_828 : "UR";
314+ I_A = MESZL_839 : "A";
315+ I_ZA = MESZL_851 : "ZA";
316+ I_HA = MESZL_856 : "HA";
317+ I_GU = MESZL_891 : "GU";
318+ I_EL = MESZL_899 : "EL";
319+
320+ i_character = Optimize[I_AN | I_BA | I_ZU | I_SU | I_KA | I_LI | I_TU | I_LA |
321+ I_MU | I_SILA3 | I_NA | I_RU | I_NU | I_BAD | I_TI | I_AK |
322+ I_HU | I_IG | I_ZI | I_GI | I_RI | I_EN | I_SA | I_SI |
323+ I_AB | I_UM | I_TA | I_I | I_AD | I_IN | I_UG | I_AZ |
324+ I_AM | I_NE | I_KUM | I_IL | I_DU | I_BI | I_NI | I_IR |
325+ I_PA | I_GISH | I_AL | I_GA | I_E | I_UN | I_UB | I_RA |
326+ I_MA | I_A2 | I_DE | I_BU | I_UZ | I_TE | I_UD | I_PI |
327+ I_HI | I_AH | I_IM | I_U | I_MI | I_UL | I_AR | I_DI |
328+ I_KI | I_ME | I_IB | I_KU | I_LU | I_KIN | I_UR | I_A |
329+ I_ZA | I_HA | I_GU | I_EL];
330+
331+ i_word = i_character (("" : "-") i_character)*;
332+
333+ export Decuneifier = Optimize[i_word (bytelib.kSpace+ i_word)*];
0 commit comments