summaryrefslogtreecommitdiff
path: root/tex/context/third/transliterator/trans_tables_iso9.lua
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/third/transliterator/trans_tables_iso9.lua')
-rw-r--r--tex/context/third/transliterator/trans_tables_iso9.lua19
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