texlive[44324] Master/texmf-dist: context (May 12 23:56)

commits+karl at tug.org commits+karl at tug.org
Sun May 14 01:29:40 CEST 2017


Revision: 44324
          http://tug.org/svn/texlive?view=revision&revision=44324
Author:   karl
Date:     2017-05-14 01:29:40 +0200 (Sun, 14 May 2017)
Log Message:
-----------
context (May 12 23:56)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/context/documents/general/qrcs/setup-cs.pdf
    trunk/Master/texmf-dist/doc/context/documents/general/qrcs/setup-de.pdf
    trunk/Master/texmf-dist/doc/context/documents/general/qrcs/setup-en.pdf
    trunk/Master/texmf-dist/doc/context/documents/general/qrcs/setup-fr.pdf
    trunk/Master/texmf-dist/doc/context/documents/general/qrcs/setup-it.pdf
    trunk/Master/texmf-dist/doc/context/documents/general/qrcs/setup-nl.pdf
    trunk/Master/texmf-dist/doc/context/documents/general/qrcs/setup-ro.pdf
    trunk/Master/texmf-dist/doc/man/man1/context.man1.pdf
    trunk/Master/texmf-dist/doc/man/man1/luatools.man1.pdf
    trunk/Master/texmf-dist/doc/man/man1/mtx-babel.man1.pdf
    trunk/Master/texmf-dist/doc/man/man1/mtx-base.man1.pdf
    trunk/Master/texmf-dist/doc/man/man1/mtx-bibtex.man1.pdf
    trunk/Master/texmf-dist/doc/man/man1/mtx-cache.man1.pdf
    trunk/Master/texmf-dist/doc/man/man1/mtx-chars.man1.pdf
    trunk/Master/texmf-dist/doc/man/man1/mtx-check.man1.pdf
    trunk/Master/texmf-dist/doc/man/man1/mtx-colors.man1.pdf
    trunk/Master/texmf-dist/doc/man/man1/mtx-context.man1.pdf
    trunk/Master/texmf-dist/doc/man/man1/mtx-dvi.man1.pdf
    trunk/Master/texmf-dist/doc/man/man1/mtx-epub.man1.pdf
    trunk/Master/texmf-dist/doc/man/man1/mtx-fcd.man1.pdf
    trunk/Master/texmf-dist/doc/man/man1/mtx-flac.man1.pdf
    trunk/Master/texmf-dist/doc/man/man1/mtx-fonts.man1.pdf
    trunk/Master/texmf-dist/doc/man/man1/mtx-grep.man1.pdf
    trunk/Master/texmf-dist/doc/man/man1/mtx-interface.man1.pdf
    trunk/Master/texmf-dist/doc/man/man1/mtx-metapost.man1.pdf
    trunk/Master/texmf-dist/doc/man/man1/mtx-metatex.man1.pdf
    trunk/Master/texmf-dist/doc/man/man1/mtx-modules.man1.pdf
    trunk/Master/texmf-dist/doc/man/man1/mtx-package.man1.pdf
    trunk/Master/texmf-dist/doc/man/man1/mtx-patterns.man1.pdf
    trunk/Master/texmf-dist/doc/man/man1/mtx-pdf.man1.pdf
    trunk/Master/texmf-dist/doc/man/man1/mtx-plain.man1.pdf
    trunk/Master/texmf-dist/doc/man/man1/mtx-profile.man1.pdf
    trunk/Master/texmf-dist/doc/man/man1/mtx-rsync.man1.pdf
    trunk/Master/texmf-dist/doc/man/man1/mtx-scite.man1.pdf
    trunk/Master/texmf-dist/doc/man/man1/mtx-server.man1.pdf
    trunk/Master/texmf-dist/doc/man/man1/mtx-texworks.man1.pdf
    trunk/Master/texmf-dist/doc/man/man1/mtx-timing.man1.pdf
    trunk/Master/texmf-dist/doc/man/man1/mtx-tools.man1.pdf
    trunk/Master/texmf-dist/doc/man/man1/mtx-unicode.man1.pdf
    trunk/Master/texmf-dist/doc/man/man1/mtx-unzip.man1.pdf
    trunk/Master/texmf-dist/doc/man/man1/mtx-update.man1.pdf
    trunk/Master/texmf-dist/doc/man/man1/mtx-watch.man1.pdf
    trunk/Master/texmf-dist/doc/man/man1/mtx-youless.man1.pdf
    trunk/Master/texmf-dist/doc/man/man1/mtxrun.man1.pdf
    trunk/Master/texmf-dist/doc/man/man1/texexec.man1.pdf
    trunk/Master/texmf-dist/doc/man/man1/texmfstart.man1.pdf
    trunk/Master/texmf-dist/tex/context/base/mkii/cont-new.mkii
    trunk/Master/texmf-dist/tex/context/base/mkii/context.mkii
    trunk/Master/texmf-dist/tex/context/base/mkiv/char-ini.lua
    trunk/Master/texmf-dist/tex/context/base/mkiv/cont-new.mkiv
    trunk/Master/texmf-dist/tex/context/base/mkiv/context.mkiv
    trunk/Master/texmf-dist/tex/context/base/mkiv/font-col.lua
    trunk/Master/texmf-dist/tex/context/base/mkiv/font-col.mkvi
    trunk/Master/texmf-dist/tex/context/base/mkiv/font-ctx.lua
    trunk/Master/texmf-dist/tex/context/base/mkiv/font-mat.mkvi
    trunk/Master/texmf-dist/tex/context/base/mkiv/math-act.lua
    trunk/Master/texmf-dist/tex/context/base/mkiv/math-noa.lua
    trunk/Master/texmf-dist/tex/context/base/mkiv/status-files.pdf
    trunk/Master/texmf-dist/tex/context/base/mkiv/status-lua.pdf
    trunk/Master/texmf-dist/tex/context/interface/mkiv/i-context.pdf
    trunk/Master/texmf-dist/tex/context/interface/mkiv/i-readme.pdf
    trunk/Master/texmf-dist/tex/context/sample/common/samples.tex
    trunk/Master/texmf-dist/tex/generic/context/luatex/luatex-fonts-merged.lua

Added Paths:
-----------
    trunk/Master/texmf-dist/tex/context/sample/common/sapolsky.tex

Modified: trunk/Master/texmf-dist/doc/context/documents/general/qrcs/setup-cs.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/context/documents/general/qrcs/setup-de.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/context/documents/general/qrcs/setup-en.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/context/documents/general/qrcs/setup-fr.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/context/documents/general/qrcs/setup-it.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/context/documents/general/qrcs/setup-nl.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/context/documents/general/qrcs/setup-ro.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/man/man1/context.man1.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/man/man1/luatools.man1.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/man/man1/mtx-babel.man1.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/man/man1/mtx-base.man1.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/man/man1/mtx-bibtex.man1.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/man/man1/mtx-cache.man1.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/man/man1/mtx-chars.man1.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/man/man1/mtx-check.man1.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/man/man1/mtx-colors.man1.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/man/man1/mtx-context.man1.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/man/man1/mtx-dvi.man1.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/man/man1/mtx-epub.man1.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/man/man1/mtx-fcd.man1.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/man/man1/mtx-flac.man1.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/man/man1/mtx-fonts.man1.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/man/man1/mtx-grep.man1.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/man/man1/mtx-interface.man1.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/man/man1/mtx-metapost.man1.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/man/man1/mtx-metatex.man1.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/man/man1/mtx-modules.man1.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/man/man1/mtx-package.man1.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/man/man1/mtx-patterns.man1.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/man/man1/mtx-pdf.man1.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/man/man1/mtx-plain.man1.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/man/man1/mtx-profile.man1.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/man/man1/mtx-rsync.man1.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/man/man1/mtx-scite.man1.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/man/man1/mtx-server.man1.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/man/man1/mtx-texworks.man1.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/man/man1/mtx-timing.man1.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/man/man1/mtx-tools.man1.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/man/man1/mtx-unicode.man1.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/man/man1/mtx-unzip.man1.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/man/man1/mtx-update.man1.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/man/man1/mtx-watch.man1.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/man/man1/mtx-youless.man1.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/man/man1/mtxrun.man1.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/man/man1/texexec.man1.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/man/man1/texmfstart.man1.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/tex/context/base/mkii/cont-new.mkii
===================================================================
--- trunk/Master/texmf-dist/tex/context/base/mkii/cont-new.mkii	2017-05-13 23:07:11 UTC (rev 44323)
+++ trunk/Master/texmf-dist/tex/context/base/mkii/cont-new.mkii	2017-05-13 23:29:40 UTC (rev 44324)
@@ -11,7 +11,7 @@
 %C therefore copyrighted by \PRAGMA. See mreadme.pdf for
 %C details.
 
-\newcontextversion{2017.05.10 10:41}
+\newcontextversion{2017.05.12 22:40}
 
 %D This file is loaded at runtime, thereby providing an
 %D excellent place for hacks, patches, extensions and new

Modified: trunk/Master/texmf-dist/tex/context/base/mkii/context.mkii
===================================================================
--- trunk/Master/texmf-dist/tex/context/base/mkii/context.mkii	2017-05-13 23:07:11 UTC (rev 44323)
+++ trunk/Master/texmf-dist/tex/context/base/mkii/context.mkii	2017-05-13 23:29:40 UTC (rev 44324)
@@ -20,7 +20,7 @@
 %D your styles an modules.
 
 \edef\contextformat {\jobname}
-\edef\contextversion{2017.05.10 10:41}
+\edef\contextversion{2017.05.12 22:40}
 
 %D For those who want to use this:
 

Modified: trunk/Master/texmf-dist/tex/context/base/mkiv/char-ini.lua
===================================================================
--- trunk/Master/texmf-dist/tex/context/base/mkiv/char-ini.lua	2017-05-13 23:07:11 UTC (rev 44323)
+++ trunk/Master/texmf-dist/tex/context/base/mkiv/char-ini.lua	2017-05-13 23:29:40 UTC (rev 44324)
@@ -553,15 +553,34 @@
     return "dflt"
 end)
 
-local splitter = lpeg.splitat(S(":-"))
+local splitter1 = lpeg.splitat(S(":-"))
+local splitter2 = lpeg.splitat(S(" +-"),true)
 
-function characters.getrange(name) -- used in font fallback definitions (name or range)
-    local range = blocks[name]
+function characters.getrange(name,expression) -- used in font fallback definitions (name or range)
+    local range = rawget(blocks,lower(gsub(name,"[^a-zA-Z0-9]","")))
     if range then
         return range.first, range.last, range.description, range.gaps
     end
     name = gsub(name,'"',"0x") -- goodie: tex hex notation
-    local start, stop = lpegmatch(splitter,name)
+    local start, stop
+    if expression then
+        local first, rest = lpegmatch(splitter2,name)
+        local range = rawget(blocks,lower(gsub(first,"[^a-zA-Z0-9]","")))
+        if range then
+            start = range.first
+            stop  = range.last
+            local s = loadstring("return 0 " .. rest)
+            if type(s) == "function" then
+                local d = s()
+                if type(d) == "number" then
+                    start = start + d
+                    stop  = stop  + d
+                    return start, stop, nil
+                end
+            end
+        end
+    end
+    start, stop = lpegmatch(splitter1,name)
     if start and stop then
         start, stop = tonumber(start,16) or tonumber(start), tonumber(stop,16) or tonumber(stop)
         if start and stop then
@@ -572,6 +591,9 @@
     return slot, slot, nil
 end
 
+-- print(characters.getrange("lowercaseitalic + 123",true))
+-- print(characters.getrange("lowercaseitalic + 124",true))
+
 local categorytags = allocate {
     lu = "Letter Uppercase",
     ll = "Letter Lowercase",

Modified: trunk/Master/texmf-dist/tex/context/base/mkiv/cont-new.mkiv
===================================================================
--- trunk/Master/texmf-dist/tex/context/base/mkiv/cont-new.mkiv	2017-05-13 23:07:11 UTC (rev 44323)
+++ trunk/Master/texmf-dist/tex/context/base/mkiv/cont-new.mkiv	2017-05-13 23:29:40 UTC (rev 44324)
@@ -11,7 +11,7 @@
 %C therefore copyrighted by \PRAGMA. See mreadme.pdf for
 %C details.
 
-\newcontextversion{2017.05.10 10:41}
+\newcontextversion{2017.05.12 22:40}
 
 %D This file is loaded at runtime, thereby providing an excellent place for
 %D hacks, patches, extensions and new features.

Modified: trunk/Master/texmf-dist/tex/context/base/mkiv/context.mkiv
===================================================================
--- trunk/Master/texmf-dist/tex/context/base/mkiv/context.mkiv	2017-05-13 23:07:11 UTC (rev 44323)
+++ trunk/Master/texmf-dist/tex/context/base/mkiv/context.mkiv	2017-05-13 23:29:40 UTC (rev 44324)
@@ -39,7 +39,7 @@
 %D up and the dependencies are more consistent.
 
 \edef\contextformat {\jobname}
-\edef\contextversion{2017.05.10 10:41}
+\edef\contextversion{2017.05.12 22:40}
 \edef\contextkind   {beta}
 
 %D For those who want to use this:

Modified: trunk/Master/texmf-dist/tex/context/base/mkiv/font-col.lua
===================================================================
--- trunk/Master/texmf-dist/tex/context/base/mkiv/font-col.lua	2017-05-13 23:07:11 UTC (rev 44323)
+++ trunk/Master/texmf-dist/tex/context/base/mkiv/font-col.lua	2017-05-13 23:29:40 UTC (rev 44324)
@@ -104,7 +104,7 @@
     details = settings_to_hash(details)
     -- todo, combine per font start/stop as arrays
     for s in gmatch(ranges,"[^, ]+") do
-        local start, stop, description, gaps = characters.getrange(s)
+        local start, stop, description, gaps = characters.getrange(s,true)
         if start and stop then
             if trace_collecting then
                 if description then
@@ -119,7 +119,7 @@
             end
             local offset = details.offset
             if type(offset) == "string" then
-                local start = characters.getrange(offset)
+                local start = characters.getrange(offset,true)
                 offset = start or false
             else
                 offset = tonumber(offset) or false

Modified: trunk/Master/texmf-dist/tex/context/base/mkiv/font-col.mkvi
===================================================================
--- trunk/Master/texmf-dist/tex/context/base/mkiv/font-col.mkvi	2017-05-13 23:07:11 UTC (rev 44323)
+++ trunk/Master/texmf-dist/tex/context/base/mkiv/font-col.mkvi	2017-05-13 23:29:40 UTC (rev 44324)
@@ -102,8 +102,8 @@
       {\definedfont[#2*#3\space at #4\scaledpoint]}%
    \ctxlua{mathematics.registerfallbackid(#1,\fontid\font)}}
 
-\def\font_fallbacks_finish_math
-  {\ctxlua{mathematics.finishfallbacks()}}
+% \def\font_fallbacks_finish_math
+%   {\ctxlua{mathematics.finishfallbacks()}}
 
 % check : only replace when present in replacement font (default: no)
 % force : force replacent even when basefont has glyph  (default: yes)

Modified: trunk/Master/texmf-dist/tex/context/base/mkiv/font-ctx.lua
===================================================================
--- trunk/Master/texmf-dist/tex/context/base/mkiv/font-ctx.lua	2017-05-13 23:07:11 UTC (rev 44323)
+++ trunk/Master/texmf-dist/tex/context/base/mkiv/font-ctx.lua	2017-05-13 23:29:40 UTC (rev 44324)
@@ -1118,6 +1118,187 @@
  -- function commands.definefont_two(global,cs,str,size,inheritancemode,classfeatures,fontfeatures,classfallbacks,fontfallbacks,
  --     mathsize,textsize,relativeid,classgoodies,goodies,classdesignsize,fontdesignsize,scaledfontmode)
 
+--     scanners.definefont_two = function()
+
+--         local global          = scanboolean() -- \ifx\fontclass\empty\s!false\else\s!true\fi
+--         local cs              = scanstring () -- {#csname}%
+--         local str             = scanstring () -- \somefontfile
+--         local size            = scaninteger() -- \d_font_scaled_font_size
+--         local inheritancemode = scaninteger() -- \c_font_feature_inheritance_mode
+--         local classfeatures   = scanstring () -- \m_font_class_features
+--         local fontfeatures    = scanstring () -- \m_font_features
+--         local classfallbacks  = scanstring () -- \m_font_class_fallbacks
+--         local fontfallbacks   = scanstring () -- \m_font_fallbacks
+--         local mathsize        = scaninteger() -- \fontface
+--         local textsize        = scaninteger() -- \d_font_scaled_text_face
+--         local relativeid      = scaninteger() -- \relativefontid
+--         local classgoodies    = scanstring () -- \m_font_class_goodies
+--         local goodies         = scanstring () -- \m_font_goodies
+--         local classdesignsize = scanstring () -- \m_font_class_designsize
+--         local fontdesignsize  = scanstring () -- \m_font_designsize
+--         local scaledfontmode  = scaninteger() -- \scaledfontmode
+
+--         if trace_defining then
+--             report_defining("start stage two: %s, size %s, features %a & %a",str,size,classfeatures,fontfeatures)
+--         end
+--         -- name is now resolved and size is scaled cf sa/mo
+--         local lookup, name, sub, method, detail = getspecification(str or "")
+--         -- new (todo: inheritancemode)
+--         local designsize = fontdesignsize ~= "" and fontdesignsize or classdesignsize or ""
+--         local designname = designsizefilename(name,designsize,size)
+--         if designname and designname ~= "" then
+--             if trace_defining or trace_designsize then
+--                 report_defining("remapping name %a, specification %a, size %a, designsize %a",name,designsize,size,designname)
+--             end
+--             -- we don't catch detail here
+--             local o_lookup, o_name, o_sub, o_method, o_detail = getspecification(designname)
+--             if o_lookup and o_lookup ~= "" then lookup = o_lookup end
+--             if o_method and o_method ~= "" then method = o_method end
+--             if o_detail and o_detail ~= "" then detail = o_detail end
+--             name = o_name
+--             sub = o_sub
+--         end
+--         -- so far
+--         -- some settings can have been overloaded
+--         if lookup and lookup ~= "" then
+--             specification.lookup = lookup
+--         end
+--         if relativeid and relativeid ~= "" then -- experimental hook
+--             local id = tonumber(relativeid) or 0
+--             specification.relativeid = id > 0 and id
+--         end
+--         --
+--         specification.name      = name
+--         specification.size      = size
+--         specification.sub       = (sub and sub ~= "" and sub) or specification.sub
+--         specification.mathsize  = mathsize
+--         specification.textsize  = textsize
+--         specification.goodies   = goodies
+--         specification.cs        = cs
+--         specification.global    = global
+--         specification.scalemode = scaledfontmode -- context specific
+--         if detail and detail ~= "" then
+--             specification.method = method or "*"
+--             specification.detail = detail
+--         elseif specification.detail and specification.detail ~= "" then
+--             -- already set
+--         elseif inheritancemode == 0 then
+--             -- nothing
+--         elseif inheritancemode == 1 then
+--             -- fontonly
+--             if fontfeatures and fontfeatures ~= "" then
+--                 specification.method = "*"
+--                 specification.detail = fontfeatures
+--             end
+--             if fontfallbacks and fontfallbacks ~= "" then
+--                 specification.fallbacks = fontfallbacks
+--             end
+--         elseif inheritancemode == 2 then
+--             -- classonly
+--             if classfeatures and classfeatures ~= "" then
+--                 specification.method = "*"
+--                 specification.detail = classfeatures
+--             end
+--             if classfallbacks and classfallbacks ~= "" then
+--                 specification.fallbacks = classfallbacks
+--             end
+--         elseif inheritancemode == 3 then
+--             -- fontfirst
+--             if fontfeatures and fontfeatures ~= "" then
+--                 specification.method = "*"
+--                 specification.detail = fontfeatures
+--             elseif classfeatures and classfeatures ~= "" then
+--                 specification.method = "*"
+--                 specification.detail = classfeatures
+--             end
+--             if fontfallbacks and fontfallbacks ~= "" then
+--                 specification.fallbacks = fontfallbacks
+--             elseif classfallbacks and classfallbacks ~= "" then
+--                 specification.fallbacks = classfallbacks
+--             end
+--         elseif inheritancemode == 4 then
+--             -- classfirst
+--             if classfeatures and classfeatures ~= "" then
+--                 specification.method = "*"
+--                 specification.detail = classfeatures
+--             elseif fontfeatures and fontfeatures ~= "" then
+--                 specification.method = "*"
+--                 specification.detail = fontfeatures
+--             end
+--             if classfallbacks and classfallbacks ~= "" then
+--                 specification.fallbacks = classfallbacks
+--             elseif fontfallbacks and fontfallbacks ~= "" then
+--                 specification.fallbacks = fontfallbacks
+--             end
+--         end
+--         local tfmdata = definers.read(specification,size) -- id not yet known (size in spec?)
+--         --
+--         local lastfontid = 0
+--         if not tfmdata then
+--             report_defining("unable to define %a as %a",name,nice_cs(cs))
+--             lastfontid = -1
+--             texsetcount("scaledfontsize",0)
+--          -- ctx_letvaluerelax(cs) -- otherwise the current definition takes the previous one
+--         elseif type(tfmdata) == "number" then
+--             if trace_defining then
+--                 report_defining("reusing %s, id %a, target %a, features %a / %a, fallbacks %a / %a, goodies %a / %a, designsize %a / %a",
+--                     name,tfmdata,nice_cs(cs),classfeatures,fontfeatures,classfallbacks,fontfallbacks,classgoodies,goodies,classdesignsize,fontdesignsize)
+--             end
+--             csnames[tfmdata] = specification.cs
+--             texdefinefont(global,cs,tfmdata)
+--             -- resolved (when designsize is used):
+--             local size = fontdata[tfmdata].parameters.size or 0
+--          -- ctx_setsomefontsize(size .. "sp")
+--             setmacro("somefontsize",size.."sp")
+--             texsetcount("scaledfontsize",size)
+--             lastfontid = tfmdata
+--         else
+--             -- setting the extra characters will move elsewhere
+--             local characters = tfmdata.characters
+--             local parameters = tfmdata.parameters
+--             -- we use char0 as signal; cf the spec pdf can handle this (no char in slot)
+--             characters[0] = nil
+--          -- characters[0x00A0] = { width = parameters.space }
+--          -- characters[0x2007] = { width = characters[0x0030] and characters[0x0030].width or parameters.space } -- figure
+--          -- characters[0x2008] = { width = characters[0x002E] and characters[0x002E].width or parameters.space } -- period
+--             --
+--             constructors.checkvirtualids(tfmdata) -- experiment, will become obsolete when slots can selfreference
+--             local id = definefont(tfmdata)
+--             csnames[id] = specification.cs
+--             tfmdata.properties.id = id
+--             definers.register(tfmdata,id) -- to be sure, normally already done
+--             texdefinefont(global,cs,id)
+--             constructors.cleanuptable(tfmdata)
+--             constructors.finalize(tfmdata)
+--             if trace_defining then
+--                 report_defining("defining %a, id %a, target %a, features %a / %a, fallbacks %a / %a",
+--                     name,id,nice_cs(cs),classfeatures,fontfeatures,classfallbacks,fontfallbacks)
+--             end
+--             -- resolved (when designsize is used):
+--             local size = tfmdata.parameters.size or 655360
+--             setmacro("somefontsize",size.."sp")
+--          -- ctx_setsomefontsize(size .. "sp")
+--             texsetcount("scaledfontsize",size)
+--             lastfontid = id
+--         end
+--         if trace_defining then
+--             report_defining("memory usage after: %s",statistics.memused())
+--             report_defining("stop stage two")
+--         end
+--         --
+--         texsetcount("global","lastfontid",lastfontid)
+--         specifiers[lastfontid] = { str, size }
+--         if not mathsize then
+--             -- forget about it
+--         elseif mathsize == 0 then
+--             lastmathids[1] = lastfontid
+--         else
+--             lastmathids[mathsize] = lastfontid
+--         end
+--         --
+--         stoptiming(fonts)
+--     end
+
     scanners.definefont_two = function()
 
         local global          = scanboolean() -- \ifx\fontclass\empty\s!false\else\s!true\fi
@@ -1234,25 +1415,8 @@
         local tfmdata = definers.read(specification,size) -- id not yet known (size in spec?)
         --
         local lastfontid = 0
-        if not tfmdata then
-            report_defining("unable to define %a as %a",name,nice_cs(cs))
-            lastfontid = -1
-            texsetcount("scaledfontsize",0)
-         -- ctx_letvaluerelax(cs) -- otherwise the current definition takes the previous one
-        elseif type(tfmdata) == "number" then
-            if trace_defining then
-                report_defining("reusing %s, id %a, target %a, features %a / %a, fallbacks %a / %a, goodies %a / %a, designsize %a / %a",
-                    name,tfmdata,nice_cs(cs),classfeatures,fontfeatures,classfallbacks,fontfallbacks,classgoodies,goodies,classdesignsize,fontdesignsize)
-            end
-            csnames[tfmdata] = specification.cs
-            texdefinefont(global,cs,tfmdata)
-            -- resolved (when designsize is used):
-            local size = fontdata[tfmdata].parameters.size or 0
-         -- ctx_setsomefontsize(size .. "sp")
-            setmacro("somefontsize",size.."sp")
-            texsetcount("scaledfontsize",size)
-            lastfontid = tfmdata
-        else
+        local tfmtype    = type(tfmdata)
+        if tfmtype == "table" then
             -- setting the extra characters will move elsewhere
             local characters = tfmdata.characters
             local parameters = tfmdata.parameters
@@ -1263,23 +1427,83 @@
          -- characters[0x2008] = { width = characters[0x002E] and characters[0x002E].width or parameters.space } -- period
             --
             constructors.checkvirtualids(tfmdata) -- experiment, will become obsolete when slots can selfreference
-            local id = definefont(tfmdata)
-            csnames[id] = specification.cs
-            tfmdata.properties.id = id
-            definers.register(tfmdata,id) -- to be sure, normally already done
-            texdefinefont(global,cs,id)
-            constructors.cleanuptable(tfmdata)
-            constructors.finalize(tfmdata)
+            local fallbacks = specification.fallbacks
+            if fallbacks and fallbacks ~= "" and tfmdata.properties.hasmath then
+                -- We need this ugly hack in order to resolve fontnames (at the \TEX end). Originally
+                -- math was done in Lua after loading (plugged into aftercopying).
+                --
+                -- After tl 2017 I'll also do text falbacks this way (although backups there are done
+                -- in a completely different way.
+                mathematics.resolvefallbacks(tfmdata,specification,fallbacks)
+                context(function()
+                    mathematics.finishfallbacks(tfmdata,specification,fallbacks)
+                    local id = definefont(tfmdata)
+                    csnames[id] = specification.cs
+                    tfmdata.properties.id = id
+                    definers.register(tfmdata,id) -- to be sure, normally already done
+                    texdefinefont(global,cs,id)
+                    constructors.cleanuptable(tfmdata)
+                    constructors.finalize(tfmdata)
+                    if trace_defining then
+                        report_defining("defining %a, id %a, target %a, features %a / %a, fallbacks %a / %a",
+                            name,id,nice_cs(cs),classfeatures,fontfeatures,classfallbacks,fontfallbacks)
+                    end
+                    -- resolved (when designsize is used):
+                    local size = tfmdata.parameters.size or 655360
+                    setmacro("somefontsize",size.."sp")
+                 -- ctx_setsomefontsize(size .. "sp")
+                    texsetcount("scaledfontsize",size)
+                    lastfontid = id
+                    --
+                    texsetcount("global","lastfontid",lastfontid)
+                    specifiers[lastfontid] = { str, size }
+                    if not mathsize then
+                        -- forget about it
+                    elseif mathsize == 0 then
+                        lastmathids[1] = lastfontid
+                    else
+                        lastmathids[mathsize] = lastfontid
+                    end
+                    stoptiming(fonts)
+                end)
+                return
+            else
+                local id = definefont(tfmdata)
+                csnames[id] = specification.cs
+                tfmdata.properties.id = id
+                definers.register(tfmdata,id) -- to be sure, normally already done
+                texdefinefont(global,cs,id)
+                constructors.cleanuptable(tfmdata)
+                constructors.finalize(tfmdata)
+                if trace_defining then
+                    report_defining("defining %a, id %a, target %a, features %a / %a, fallbacks %a / %a",
+                        name,id,nice_cs(cs),classfeatures,fontfeatures,classfallbacks,fontfallbacks)
+                end
+                -- resolved (when designsize is used):
+                local size = tfmdata.parameters.size or 655360
+                setmacro("somefontsize",size.."sp")
+             -- ctx_setsomefontsize(size .. "sp")
+                texsetcount("scaledfontsize",size)
+                lastfontid = id
+            end
+        elseif tfmtype == "number" then
             if trace_defining then
-                report_defining("defining %a, id %a, target %a, features %a / %a, fallbacks %a / %a",
-                    name,id,nice_cs(cs),classfeatures,fontfeatures,classfallbacks,fontfallbacks)
+                report_defining("reusing %s, id %a, target %a, features %a / %a, fallbacks %a / %a, goodies %a / %a, designsize %a / %a",
+                    name,tfmdata,nice_cs(cs),classfeatures,fontfeatures,classfallbacks,fontfallbacks,classgoodies,goodies,classdesignsize,fontdesignsize)
             end
+            csnames[tfmdata] = specification.cs
+            texdefinefont(global,cs,tfmdata)
             -- resolved (when designsize is used):
-            local size = tfmdata.parameters.size or 655360
+            local size = fontdata[tfmdata].parameters.size or 0
+         -- ctx_setsomefontsize(size .. "sp")
             setmacro("somefontsize",size.."sp")
-         -- ctx_setsomefontsize(size .. "sp")
             texsetcount("scaledfontsize",size)
-            lastfontid = id
+            lastfontid = tfmdata
+        else
+            report_defining("unable to define %a as %a",name,nice_cs(cs))
+            lastfontid = -1
+            texsetcount("scaledfontsize",0)
+         -- ctx_letvaluerelax(cs) -- otherwise the current definition takes the previous one
         end
         if trace_defining then
             report_defining("memory usage after: %s",statistics.memused())

Modified: trunk/Master/texmf-dist/tex/context/base/mkiv/font-mat.mkvi
===================================================================
--- trunk/Master/texmf-dist/tex/context/base/mkiv/font-mat.mkvi	2017-05-13 23:07:11 UTC (rev 44323)
+++ trunk/Master/texmf-dist/tex/context/base/mkiv/font-mat.mkvi	2017-05-13 23:29:40 UTC (rev 44324)
@@ -133,9 +133,9 @@
   {\let\savedfontbody\fontbody
    \let\fontfamily#family%
    % the order is important as we depend on known id's when completing fonts
-   \let\mathsizesuffix\mathtextsuffix        \let\fontface\!!plusthree\font_helpers_set_math_family_a\scriptscriptfont#mrtag\font
+   \let\mathsizesuffix\mathscriptscriptsuffix\let\fontface\!!plusthree\font_helpers_set_math_family_a\scriptscriptfont#mrtag\font
    \let\mathsizesuffix\mathscriptsuffix      \let\fontface\!!plustwo  \font_helpers_set_math_family_a\scriptfont      #mrtag\font
-   \let\mathsizesuffix\mathscriptscriptsuffix\let\fontface\!!plusone  \font_helpers_set_math_family_a\textfont        #mrtag\font
+   \let\mathsizesuffix\mathtextsuffix        \let\fontface\!!plusone  \font_helpers_set_math_family_a\textfont        #mrtag\font
    \let\mathsizesuffix\empty                 \let\fontface\!!zerocount
    \let\fontbody\savedfontbody
    \setfalse\c_font_auto_size}
@@ -161,9 +161,9 @@
    \let\defaultfontclass\fontclass % else truefontname falls back on the wrong one
    \let\savedfontbody\fontbody
    \let\fontfamily#familytag%
-   \let\mathsizesuffix\mathtextsuffix        \let\fontface\!!plusthree\font_helpers_set_math_family_bold_a\scriptscriptfont#mbfam#mrfam%
+   \let\mathsizesuffix\mathscriptscriptsuffix\let\fontface\!!plusthree\font_helpers_set_math_family_bold_a\scriptscriptfont#mbfam#mrfam%
    \let\mathsizesuffix\mathscriptsuffix      \let\fontface\!!plustwo  \font_helpers_set_math_family_bold_a\scriptfont      #mbfam#mrfam%
-   \let\mathsizesuffix\mathscriptscriptsuffix\let\fontface\!!plusone  \font_helpers_set_math_family_bold_a\textfont        #mbfam#mrfam%
+   \let\mathsizesuffix\mathtextsuffix        \let\fontface\!!plusone  \font_helpers_set_math_family_bold_a\textfont        #mbfam#mrfam%
    \let\mathsizesuffix\empty                 \let\fontface\!!zerocount
    \let\fontbody\savedfontbody
    \let\defaultfontclass\savedfontclass

Modified: trunk/Master/texmf-dist/tex/context/base/mkiv/math-act.lua
===================================================================
--- trunk/Master/texmf-dist/tex/context/base/mkiv/math-act.lua	2017-05-13 23:07:11 UTC (rev 44323)
+++ trunk/Master/texmf-dist/tex/context/base/mkiv/math-act.lua	2017-05-13 23:29:40 UTC (rev 44324)
@@ -632,7 +632,7 @@
 --                         fonts[index] = { id = id, size = size }
 --                         local chars  = fontchars[id]
 --                         local function remap(unic,unicode,gap)
---                             local unic = unicode + offset - start
+--                          -- local unic = unicode + offset - start
 --                             if check and not chars[unicode] then
 --                                 -- not in font
 --                             elseif force or (not done[unic] and not characters[unic]) then
@@ -659,143 +659,100 @@
 --         end
 --     end
 -- end
+--
+-- sequencers.appendaction("aftercopyingcharacters", "system","mathematics.finishfallbacks")
 
 local stack = { }
 
 function mathematics.registerfallbackid(n,id)
-    local top = stack[#stack]
-    if top then
-        top.list[n] = id
-    else
-        report_math("stack underrun in math fallbacks")
-    end
+    stack[#stack][n] = id
 end
 
-function mathematics.injectfallbacks(target,original)
-    if #stack > 0 then
-        -- for now
-        if trace_collecting then
-            report_math("stack overflow in math fallbacks")
-        end
-        return
-    end
-    local properties = original.properties
-    if properties and properties.hasmath then
-        local specification = target.specification
-        if specification then
-            local fallbacks = specification.fallbacks
-            if fallbacks then
-                local definitions = fonts.collections.definitions[fallbacks]
-                if definitions then
-                    insert(stack, {
-                        target   = target,
-                        original = original,
-                        list     = { },
-                    })
-                    if trace_collecting then
-                        report_math("adding fallback characters to font %a",specification.hash)
-                    end
-                    local size = specification.size -- target.size
-                    context.pushcatcodes("prt") -- context.unprotect()
-                    for i=1,#definitions do
-                        local definition = definitions[i]
-                        local name       = definition.font
-                        local features   = definition.features or ""
-                        local size       = size * (definition.rscale or 1)
-                        context.font_fallbacks_register_math(i,name,features,size)
-                    end
-                    context.font_fallbacks_finish_math()
-                    context.popcatcodes()
-                end
+function mathematics.resolvefallbacks(target,specification,fallbacks)
+    local definitions = fonts.collections.definitions[fallbacks]
+    if definitions then
+        local size = specification.size -- target.size
+        local list = { }
+        insert(stack,list)
+        context.pushcatcodes("prt") -- context.unprotect()
+        for i=1,#definitions do
+            local definition = definitions[i]
+            local name       = definition.font
+            local features   = definition.features or ""
+            local size       = size * (definition.rscale or 1)
+            context.font_fallbacks_register_math(i,name,features,size)
+            if trace_collecting then
+                report_math("registering fallback font %i, name %a, size %a, features %a",i,name,size,features)
             end
         end
+        context.popcatcodes()
     end
 end
 
-function mathematics.finishfallbacks()
-    local top = remove(stack)
-    if not top then
-        report_math("finish error in math fallbacks")
-        return
-    end
-    local target   = top.target
-    local original = top.original
-    local list     = top.list
-    local properties = original.properties
-    if properties and properties.hasmath then
-        local specification = target.specification
-        if specification then
-            local fallbacks = specification.fallbacks
-            if fallbacks then
-                local definitions = fonts.collections.definitions[fallbacks]
-                if definitions and #definitions > 0 then
-                    if trace_collecting then
-                        report_math("adding fallback characters to font %a",specification.hash)
+function mathematics.finishfallbacks(target,specification,fallbacks)
+    local list = remove(stack)
+    if list and #list > 0 then
+        local definitions = fonts.collections.definitions[fallbacks]
+        if definitions and #definitions > 0 then
+            if trace_collecting then
+                report_math("adding fallback characters to font %a",specification.hash)
+            end
+            local definedfont = fonts.definers.internal
+            local copiedglyph = fonts.handlers.vf.math.copy_glyph
+            local fonts       = target.fonts
+            local size        = specification.size -- target.size
+            local characters  = target.characters
+            if not fonts then
+                fonts = { }
+                target.fonts = fonts
+            end
+            target.type = "virtual"
+            target.properties.virtualized = true
+            if #fonts == 0 then
+                fonts[1] = { id = 0, size = size } -- self, will be resolved later
+            end
+            local done = { }
+            for i=1,#definitions do
+                local definition = definitions[i]
+                local name   = definition.font
+                local start  = definition.start
+                local stop   = definition.stop
+                local gaps   = definition.gaps
+                local check  = definition.check
+                local force  = definition.force
+                local rscale = definition.rscale or 1
+                local offset = definition.offset or start
+                local id     = list[i]
+                if id then
+                    local index  = #fonts + 1
+                    fonts[index] = { id = id, size = size }
+                    local chars  = fontchars[id]
+                    local function remap(unic,unicode,gap)
+                        if check and not chars[unicode] then
+                            return
+                        end
+                        if force or (not done[unic] and not characters[unic]) then
+                            if trace_collecting then
+                                report_math("replacing math character %C by %C using vector %a and font %a named %a%s%s",
+                                    unic,unicode,fallbacks,id,name,check and ", checked",gap and ", gap plugged")
+                            end
+                            characters[unic] = copiedglyph(target,characters,chars,unicode,index)
+                            done[unic] = true
+                        end
                     end
-                    local definedfont = fonts.definers.internal
-                    local copiedglyph = fonts.handlers.vf.math.copy_glyph
-                    local fonts       = target.fonts
-                    local size        = specification.size -- target.size
-                    local characters  = target.characters
-                    if not fonts then
-                        fonts = { }
-                        target.fonts = fonts
-                        target.type = "virtual"
-                        target.properties.virtualized = true
+                    for unicode = start, stop do
+                        local unic = unicode + offset - start
+                        remap(unic,unicode,false)
                     end
-                    if #fonts == 0 then
-                        fonts[1] = { id = 0, size = size } -- sel, will be resolved later
-                    end
-                    local done = { }
-                    for i=1,#definitions do
-                        local definition = definitions[i]
-                        local name   = definition.font
-                        local start  = definition.start
-                        local stop   = definition.stop
-                        local gaps   = definition.gaps
-                        local check  = definition.check
-                        local force  = definition.force
-                        local rscale = definition.rscale or 1
-                        local offset = definition.offset or start
-                        local id     = list[i]
-                        if id then
-                            local index  = #fonts + 1
-                            fonts[index] = { id = id, size = size }
-                            local chars  = fontchars[id]
-                            local function remap(unic,unicode,gap)
-                                local unic = unicode + offset - start
-                                if check and not chars[unicode] then
-                                    -- not in font
-                                elseif force or (not done[unic] and not characters[unic]) then
-                                    if trace_collecting then
-                                        report_math("remapping math character, vector %a, font %a, character %C%s%s",
-                                            fallbacks,name,unic,check and ", checked",gap and ", gap plugged")
-                                    end
-                                    characters[unic] = copiedglyph(target,characters,chars,unicode,index)
-                                    done[unic] = true
-                                else
-                                end
-                            end
-                            for unicode = start, stop do
-                                local unic = unicode + offset - start
-                                remap(unic,unicode,false)
-                            end
-                            if gaps then
-                                for unic, unicode in next, gaps do
-                                    remap(unic,unicode,true)
-                                end
-                            end
+                    if gaps then
+                        for unic, unicode in next, gaps do
+                            remap(unic,unicode,true)
                         end
                     end
-                    xlist     = nil
-                    xtarget   = nil
-                    xoriginal = nil
-                elseif trace_collecting then
-                    report_math("no fallback characters added to font %a",specification.hash)
                 end
             end
+        elseif trace_collecting then
+            report_math("no fallback characters added to font %a",specification.hash)
         end
     end
 end
-
-sequencers.appendaction("aftercopyingcharacters", "system","mathematics.injectfallbacks")

Modified: trunk/Master/texmf-dist/tex/context/base/mkiv/math-noa.lua
===================================================================
--- trunk/Master/texmf-dist/tex/context/base/mkiv/math-noa.lua	2017-05-13 23:07:11 UTC (rev 44323)
+++ trunk/Master/texmf-dist/tex/context/base/mkiv/math-noa.lua	2017-05-13 23:29:40 UTC (rev 44324)
@@ -585,9 +585,10 @@
             end
             local newchar = remapalphabets(char,a,g)
             if newchar then
-                if characters[newchar] then
+                local newchardata = characters[newchar]
+                if newchardata then
                     if trace_remapping then
-                        report_remap("char",font,char,newchar)
+                        report_remap("char",font,char,newchar,newchardata.commands and " (virtual)" or "")
                     end
                     if trace_analyzing then
                         setnodecolor(pointer,"font:isol")
@@ -618,6 +619,11 @@
                         report_remap("char",font,char,newchar," fails (no fallback style)")
                     end
                 end
+            elseif trace_remapping then
+                local chardata = characters[char]
+                if chardata and chardata.commands then
+                    report_remap("char",font,char,char," (virtual)")
+                end
             end
         end
         if not characters[char] then

Modified: trunk/Master/texmf-dist/tex/context/base/mkiv/status-files.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/tex/context/base/mkiv/status-lua.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/tex/context/interface/mkiv/i-context.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/tex/context/interface/mkiv/i-readme.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/tex/context/sample/common/samples.tex
===================================================================
--- trunk/Master/texmf-dist/tex/context/sample/common/samples.tex	2017-05-13 23:07:11 UTC (rev 44323)
+++ trunk/Master/texmf-dist/tex/context/sample/common/samples.tex	2017-05-13 23:29:40 UTC (rev 44324)
@@ -48,6 +48,8 @@
 \NC waltham.tex        \NC David Waltham         \NC Lucky Planet, why earth is exceptional and what that
                                                      means for life in the universe,
                                                      Icon Books Ltd, London, 2014, p. 168 \NC \NR
+\NC sapolsky.tex       \NC Robert M. Sapolsky    \NC Why Zebras Don't Have Ulsters,                                              means for life in the universe,
+                                                     St Martin's Press, 2004 \NC \NR
 \stoptabulate
 
 % Tufte: This quote will always produce hyphenated text, apart from the content,

Added: trunk/Master/texmf-dist/tex/context/sample/common/sapolsky.tex
===================================================================
--- trunk/Master/texmf-dist/tex/context/sample/common/sapolsky.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/context/sample/common/sapolsky.tex	2017-05-13 23:29:40 UTC (rev 44324)
@@ -0,0 +1,11 @@
+Agriculture is a fairly recent human invention, and in many ways it was one of
+the great stupid moves of all time. Hunter|-|gatherers have thousands of wild
+sources of food to subsist on. Agriculture changed that all, generating an
+overwhelming reliance on a few dozen domesticated food sources, making you
+extremely vulnerable to the next famine, the next locust infestation, the next
+potato blight. Agriculture allowed for stockpiling of surplus resources and thus,
+inevitably, the unequal stockpiling of them --- stratification of society and
+the invention of classes. Thus, it allowed for the invention of poverty. I think
+that the punch line of the primate|-|human difference is that when humans
+invented poverty, they came up with a way of subjugating the low|-|ranking like
+nothing ever seen before in the primate world.


Property changes on: trunk/Master/texmf-dist/tex/context/sample/common/sapolsky.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/tex/generic/context/luatex/luatex-fonts-merged.lua
===================================================================
--- trunk/Master/texmf-dist/tex/generic/context/luatex/luatex-fonts-merged.lua	2017-05-13 23:07:11 UTC (rev 44323)
+++ trunk/Master/texmf-dist/tex/generic/context/luatex/luatex-fonts-merged.lua	2017-05-13 23:29:40 UTC (rev 44324)
@@ -1,6 +1,6 @@
 -- merged file : c:/data/develop/context/sources/luatex-fonts-merged.lua
 -- parent file : c:/data/develop/context/sources/luatex-fonts.lua
--- merge date  : 05/10/17 10:41:46
+-- merge date  : 05/12/17 22:40:43
 
 do -- begin closure to overcome local limits and interference
 



More information about the tex-live-commits mailing list