\starttexdefinition OneMathSample #1#2
    \startcontent
        \switchtobodyfont[#1]
        \framed[align=middle,offset=2ex,corner=round,rulethickness=1pt,framecolor=darkred] \bgroup
            \getbuffer[#2]%
            \blank[back]
        \egroup
    \stopcontent
    \startcaption
        \tt\tfb\color[darkred]{#1}
    \stopcaption
\stoptexdefinition

\startluacode
    local default = {
        "cambria",
        "modern",
     -- "modernlatin",
        "dejavu",
        "pagella",
        "termes",
        "bonum",
        "schola",
        "lucidadk",
     -- "xits",
        "stixtwo",
        "libertinus",
        "ebgaramond",
        "kpfonts",
     -- "minion",
     -- "asana"
    }

    function document.MathSamples(list,samples)
        list    = string.strip(list)
        samples = string.strip(samples)
        local s = list ~= "" and utilities.parsers.settings_to_array(list) or default
        local n = #s
        if s[n] == "" then
            n = n - 1
        end
        local m = n % 4
        local x = 4
        local y = n // 4
        if m > 0 then
            x = x + 1
        end
     -- for i=1,n do
     --     context.usebodyfont { s[i] }
     -- end
--        context.startTEXpage { offset = "2ex" }
            context.startcombination { nx = x, ny = y, location = "top", distance = "2ex", after = "\\blank[2*big]" }
                for i=1,n do
                    context.OneMathSample(s[i],samples)
                end
            context.stopcombination()
--        context.stopTEXpage()
    end
\stopluacode

\protected\def\MathSamples[#1]#*[#2]%
  {\ctxlua{document.MathSamples("#1","#2")}}

\def\DoShowNextBox
  {\begingroup
   \dowithnextbox
     {\showboxinbuffer{mathbox}\nextbox\plusone
      \midaligned{\framed{\box\nextbox}}%
      \switchtobodyfont[4pt]
      \typebuffer[mathbox][option=TEX]%
      \endgroup
      \endgroup}%
    \hbox}

\protected\def\StartShowBox
  {\begingroup
   \protected\def\StopShowBox{\removeunwantedspaces\egroup}%
   \DoShowNextBox
   \bgroup\ignorespaces}

\protected\def\ShowBox
  {\begingroup
   \DoShowNextBox}
