Hi Hans,
it is more side effect of removing the (declared obsolete some years ago) `` '' input which catched it later
i tend to remove
for k, v in next, ligaturemapping do hash[k] = v end
in favor of an explicit 'tquo' feature that one can enable if wanted
\definefontfeature[default][default][tlig=yes,tquo=yes,trep=yes]
That does make the output more consistent, but not in the way that I'm wanting. My real code looks more like this: \definefontfeature[default][default][tlig=yes, tquo=yes, trep=yes] \startbuffer[test-bib] @article{one, author = {``Auth\v{o}r---One''}, } @article{two, author = {``Authǒr---Two''}, } \stopbuffer \usebtxdataset[test-bib.buffer] \startluacode for key, value in table.sortedpairs(publications.datasets.default.luadata) do print(key, publications.prerollcmdstring(value.author)) end \stopluacode publications.prerollcmdstring seems to run before any of the replacements/ligatures, so with your fix I get this as the output: one ``Authǒr---One'' two ``Authǒr---Two'' while with my suggested fix I get: one “Authǒr—One” two “Authǒr—Two” I'm using a CLD document to convert a bunch of old .bib and .tex files into Lua tables (which I'll then convert into XML). I can't modify any of the input files, so I'll need to somehow deal with all the LaTeX-style input. Using publications.prerollcmdstring + characters.tex.toutf seems like the best way to do this, but I'm open to a different solution if you have any suggestions. Thanks, -- Max