executing \IfFileExists{d:/texroot/2019/texmf-dist/fonts/opentype/public/lm/lmroman10-bold.otf}{}{} writes an entry to .fls like: INPUT d:/texroot/2019/texmf-dist/fonts/opentype/public/lm/lmroman10-bold.otf that's what this code does for every used opentype font. I tried offered fio.recordfilename(fdata.filename) but did not see any difference in .fls On 11/7/2019 5:20 PM, Hans Hagen wrote:
On 11/7/2019 3:57 PM, Linas Stonys wrote:
Hi All, I'm using dirty trick to write documents used .otf files to .fls by adding code to ...\tex\latex\fontspec\fontspec.cfg
\bgroup \catcode`\ 10 %
\gdef\opentype@write@to@fls{% \directlua{ local fontdata = fonts.hashes.identifiers local done = {} for id, fdata in pairs(fontdata) do if fdata.filename and not done[fdata.filename] then tex.sprint("\string\\IfFileExists{".. fdata.filename .."}{}{}") done[fdata.filename] = '' end end }}
\egroup \AtEndDocument{\opentype@write@to@fls}
Then example: \documentclass{article} \usepackage{fontspec}
\begin{document} \fontfamily{ptm}\selectfont a \end{document}
Maybe this could be solved directly in luatex engine that all the input would be written to .fls? i have no clue what that code is for but if it's a trick to get something recorded, you can probably use
fio.recordfilename(fdata.filename)