Hi Hans, the font cache currently drops non-ascii bytes when creating file names by means of containers.cleanname(). Dohyun Kim sent a fix for data-con.lua (see below). My own test with the unicode library leads to some odd results. Also I noticed that as a pattern, [^%w%d] is a bit redundant since %d is a subset of %w in both string and unicode.utf8. Regards Philipp #!/usr/bin/env texlua local non_ascii_names = { [[华文仿宋.ttf]], [[华文细黑.ttf]], [[华文黑体.ttf]], } --- [a]: current data-con --- [b]: include non-ascii (proposed by Dohyun Kim) --- [c]: with selene unicode for i = 1, #non_ascii_names do local name = non_ascii_names[i] print"" print("[a]", name, string.gsub(string.lower(name), "[^%w%d]+","-")) print("[b]", name, string.gsub(string.lower(name), "[^%w%d\128-\255]+","-")) print("[c]", name, unicode.utf8.gsub(unicode.utf8.lower(name), "[^%w%d]+","-")) end