diff options
Diffstat (limited to 'tex/context/third/transliterator/trans_tables_iso9.lua')
-rw-r--r-- | tex/context/third/transliterator/trans_tables_iso9.lua | 19 |
1 files changed, 5 insertions, 14 deletions
diff --git a/tex/context/third/transliterator/trans_tables_iso9.lua b/tex/context/third/transliterator/trans_tables_iso9.lua index 4057a0e..ad99e23 100644 --- a/tex/context/third/transliterator/trans_tables_iso9.lua +++ b/tex/context/third/transliterator/trans_tables_iso9.lua @@ -252,9 +252,7 @@ translit.tables["cyrillic other uppercase ISO~9"] = translit.non_ru_upp function translit.iso9 (mode, text) local P, R, S, V, Cs = lpeg.P, lpeg.R, lpeg.S, lpeg.V, lpeg.Cs local addrules = translit.addrules - local utfchar = lpeg.patterns.utf8char - - -- Add keys of a dictionary to a ruleset. + local utfchar = translit.utfchar local iso9 = translit.make_add_dict{} iso9 = translit.ru_upp + translit.ru_low @@ -268,22 +266,15 @@ function translit.iso9 (mode, text) + translit.non_ru_upp + translit.non_ru_low end - end - - if mode == "ru_old_jer_hack" then + elseif mode == "ru_old_jer_hack" then iso9 = iso9 + translit.ru_old_upp + translit.ru_old_low + translit.ru_jer_hack end - local p_iso9 - p_iso9 = addrules (iso9, p_iso9) - - local p_cyr = Cs(p_iso9) / iso9 - - local iso9_parser = Cs((p_cyr + utfchar)^0) - text = iso9_parser:match(text) + local p_iso9 = addrules (iso9, p_iso9) + local iso9_parser = Cs((p_iso9 / iso9 + utfchar)^0) - return text + return iso9_parser:match(text) end |