%% %% Ein Beispiel der DANTE-Edition %% %% 1. Auflage %% %% %% Copyright (C) 2014 Herbert Voss %% %% It may be distributed and/or modified under the conditions %% of the LaTeX Project Public License, either version 1.3 %% of this license or (at your option) any later version. %% %% See http://www.latex-project.org/lppl.txt for details. %% %% %% ==== % Show page(s) 1,2 %% %% \documentclass[]{exaarticle2} \pagestyle{empty} \setlength\textwidth{158.76529pt} \setlength{\parindent}{0em} \usepackage[paper=a6,pagesize,DIV15]{typearea} %StartShownPreambleCommands \usepackage{fontspec,luacode} \newfontface\LMML{Latin Modern Mono Light Cond} \begin{luacode} local teststring = "Lua\\LaTeX~--~Eine Einführung." function printFontDemo(fontname) local starttime = os.gettimeofday () local foundname = file.replacesuffix (config.luaotfload.paths.index_path_lua, "luc") local fh = io.open (foundname, "rb") local chunk = fh:read"*all" fh:close() local code = load (chunk, "b") data = code() local fnA = string.lower(fontname) local a = {} local b = {} -- print(table.serialize(data.mappings[1])) for i, v in ipairs(data.mappings) do m, n = string.find(string.lower(v.familyname),fnA) if m then a[v.fontname] = v.familyname b[#b + 1] = v.fontname end print(i, tostring(v.familyname)) end table.sort(b) for i, v in ipairs(b) do tex.print("\\parbox{0.21\\linewidth}{\\LMML\\footnotesize") tex.print(-2, a[v]) tex.print("\\\\ \\scriptsize") tex.print(-2, v) tex.print("}\\parbox{0.79\\linewidth}{\\raggedright\\fontspec{" .. v .. "}") tex.print(teststring) tex.print("}\\\\[2pt]") end end \end{luacode} %StopShownPreambleCommands \begin{document} \directlua{printFontDemo("Bioli")} \end{document}