Hi everybody, best wishes for (the still new) 2019! My question is not strictly a ConTeXt problem, but about the way luatex (and pure Lua) can handle utf8 in lpeg. Here is my Lua example: mystring = "abcdeφὴὰabcde" local replace_table = { a = "y", c = "z", ὴ = "ή", ὰ = "ά", } function replace(s) local patt = (lpeg.Cs(1)) / replace_table local parser = lpeg.Cs((patt + 1)^0) t = parser:match(s) return t end newstring = replace(mystring) print(newstring) This will successfully replace "a" and "c," but not "ὴ" or "ὰ" because lpeg.Cs(1) sees only the first byte of these multibyte characters. Pure Lua complains with an error message; luatex runs, but does not do the replacement. What would be a good way to work around this limitation? All best Thomas