%D \module %D [ file=s-fonts-statistics, %D version=2018.03.21, % guess %D title=\CONTEXT\ Style File, %D subtitle=Listing font statistics, %D author=Hans Hagen, %D date=\currentdate, %D copyright={PRAGMA ADE \& \CONTEXT\ Development Team}] %C %C This module is part of the \CONTEXT\ macro||package and is %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. \startmodule[fonts-statistics] \startluacode moduledata.fonts = moduledata.fonts or { } moduledata.fonts.statistics = moduledata.fonts.statistics or { } local context = context local ctx_NC, ctx_BC, ctx_NR = context.NC, context.BC, context.NR function moduledata.fonts.statistics.showusage() local t = table.load(tex.jobname.."-fonts-usage.lua") if t then local totalinstances = 0 local totalfilesize = 0 local totalfilenames = #t if totalfilenames > 0 then context.starttabulate { "|r|r|c||" } context.FL() ctx_BC() context("used") ctx_BC() context("filesize") ctx_BC() context("version") ctx_BC() context("filename") ctx_NR() context.ML() for i=1,#t do local ti = t[i] local version = tonumber(string.match(ti.version or "","^.-([%d%.]+)")) local instances = ti.instances or 1 local filename = file.basename(ti.filename) or "unknown" local filesize = ti.size or 0 totalinstances = totalinstances + instances totalfilesize = totalfilesize + filesize ctx_NC() context(instances) ctx_NC() context("%0m",filesize) ctx_NC() if version then context("%0.3f",version) end ctx_NC() context.type(filename) ctx_NR() end context.LL() ctx_BC() context(totalinstances) ctx_BC() context("%0m",totalfilesize) ctx_BC() context() ctx_BC() context("%i files loaded",totalfilenames) ctx_NR() context.stoptabulate() end end end \stopluacode \installmodulecommandluasingle \showfontusage {moduledata.fonts.statistics.showusage} \stopmodule \continueifinputfile{s-fonts-statistics.mkiv} \enabletrackers[fonts.usage] \starttext \input klein \showfontusage \stoptext