[latex3-commits] [git/LaTeX3-latex3-luaotfload] dev: Import new fontloader (11ed2c7)

Marcel Fabian Krüger tex at 2krueger.de
Thu Jan 7 23:23:22 CET 2021


Repository : https://github.com/latex3/luaotfload
On branch  : dev
Link       : https://github.com/latex3/luaotfload/commit/11ed2c75a4e277d34da0b84ce99ff908c36bda73

>---------------------------------------------------------------

commit 11ed2c75a4e277d34da0b84ce99ff908c36bda73
Author: Marcel Fabian Krüger <tex at 2krueger.de>
Date:   Thu Jan 7 23:23:22 2021 +0100

    Import new fontloader


>---------------------------------------------------------------

11ed2c75a4e277d34da0b84ce99ff908c36bda73
 build.lua                                          |   2 +-
 ...er-2020-12-30.lua => fontloader-2021-01-07.lua} | 179 ++++++++++----------
 src/auto/luaotfload-status.lua                     | 182 ++++++++++-----------
 src/fontloader/misc/fontloader-font-cff.lua        |  15 +-
 src/fontloader/misc/fontloader-font-con.lua        |  16 +-
 src/fontloader/misc/fontloader-font-dsp.lua        |   4 +-
 .../misc/fontloader-font-imp-italics.lua           |  18 --
 src/fontloader/misc/fontloader-font-otl.lua        |   2 +-
 src/fontloader/misc/fontloader-font-ots.lua        |   3 +
 src/fontloader/runtime/fontloader-reference.lua    |  17 +-
 testfiles/aaaaa-luakern.tlg                        |   2 +-
 11 files changed, 224 insertions(+), 216 deletions(-)

diff --git a/build.lua b/build.lua
index b91c3e3..64b4b23 100644
--- a/build.lua
+++ b/build.lua
@@ -1,7 +1,7 @@
 
 packageversion= "3.17-dev"
 packagedate   = "2020-12-31"
-fontloaderdate= "2020-12-30"
+fontloaderdate= "2021-01-07"
 packagedesc   = ""
 
 module   = "luaotfload"
diff --git a/src/auto/fontloader-2020-12-30.lua b/src/auto/fontloader-2021-01-07.lua
similarity index 99%
rename from src/auto/fontloader-2020-12-30.lua
rename to src/auto/fontloader-2021-01-07.lua
index 835eca6..e333584 100644
--- a/src/auto/fontloader-2020-12-30.lua
+++ b/src/auto/fontloader-2021-01-07.lua
@@ -1,9 +1,9 @@
 --[[info-----------------------------------------------------------------------
   Luaotfload fontloader package
-  build 2020-12-30 17:29:34
+  build 2021-01-07 23:19:37
 -------------------------------------------------------------------------------
 
-  © 2020 PRAGMA ADE / ConTeXt Development Team
+  © 2021 PRAGMA ADE / ConTeXt Development Team
 
   The code in this file is provided under the GPL v2.0 license. See the
   file COPYING in the Luaotfload repository for details.
@@ -63,7 +63,7 @@
 --info]]-----------------------------------------------------------------------
 
 
-do  --- [luaotfload, fontloader-2020-12-30.lua scope for “data-con” 23a0f5386d46a1c157ae82a373e35fa0] ---
+do  --- [luaotfload, fontloader-2021-01-07.lua scope for “data-con” 23a0f5386d46a1c157ae82a373e35fa0] ---
 
 if not modules then modules={} end modules ['data-con']={
  version=1.100,
@@ -184,10 +184,10 @@ function containers.cleanname(name)
  return (gsub(lower(name),"[^%w\128-\255]+","-")) 
 end
 
-end --- [luaotfload, fontloader-2020-12-30.lua scope for “data-con”] ---
+end --- [luaotfload, fontloader-2021-01-07.lua scope for “data-con”] ---
 
 
-do  --- [luaotfload, fontloader-2020-12-30.lua scope for “basics-nod” 4b5c3c63e19df1b3f37fae7f87c25bda] ---
+do  --- [luaotfload, fontloader-2021-01-07.lua scope for “basics-nod” 4b5c3c63e19df1b3f37fae7f87c25bda] ---
 
 if not modules then modules={} end modules ['luatex-fonts-nod']={
  version=1.001,
@@ -450,10 +450,10 @@ do
  end
 end
 
-end --- [luaotfload, fontloader-2020-12-30.lua scope for “basics-nod”] ---
+end --- [luaotfload, fontloader-2021-01-07.lua scope for “basics-nod”] ---
 
 
-do  --- [luaotfload, fontloader-2020-12-30.lua scope for “basics-chr” 64fafe4eaf55d64aead6513c1e74a024] ---
+do  --- [luaotfload, fontloader-2021-01-07.lua scope for “basics-chr” 64fafe4eaf55d64aead6513c1e74a024] ---
 
 
 characters=characters or {}
@@ -4063,10 +4063,10 @@ characters.indicgroups={
  },
 }
 
-end --- [luaotfload, fontloader-2020-12-30.lua scope for “basics-chr”] ---
+end --- [luaotfload, fontloader-2021-01-07.lua scope for “basics-chr”] ---
 
 
-do  --- [luaotfload, fontloader-2020-12-30.lua scope for “font-ini” 5343de60613adb24cdd7a8d2ee1d153c] ---
+do  --- [luaotfload, fontloader-2021-01-07.lua scope for “font-ini” 5343de60613adb24cdd7a8d2ee1d153c] ---
 
 if not modules then modules={} end modules ['font-ini']={
  version=1.001,
@@ -4107,10 +4107,10 @@ if node and not tex.getfontoffamily then
  tex.getfontoffamily=node.family_font 
 end
 
-end --- [luaotfload, fontloader-2020-12-30.lua scope for “font-ini”] ---
+end --- [luaotfload, fontloader-2021-01-07.lua scope for “font-ini”] ---
 
 
-do  --- [luaotfload, fontloader-2020-12-30.lua scope for “fonts-mis” 17e967c9ec4d001deefd43ddf25e98f7] ---
+do  --- [luaotfload, fontloader-2021-01-07.lua scope for “fonts-mis” 17e967c9ec4d001deefd43ddf25e98f7] ---
 
 if not modules then modules={} end modules ['luatex-font-mis']={
  version=1.001,
@@ -4142,10 +4142,10 @@ function font.each()
  return table.sortedhash(fonts.hashes.identifiers)
 end
 
-end --- [luaotfload, fontloader-2020-12-30.lua scope for “fonts-mis”] ---
+end --- [luaotfload, fontloader-2021-01-07.lua scope for “fonts-mis”] ---
 
 
-do  --- [luaotfload, fontloader-2020-12-30.lua scope for “font-con” a3eb543fa5946fa1faf0e1e50d5b3b91] ---
+do  --- [luaotfload, fontloader-2021-01-07.lua scope for “font-con” 724e5dd14aec2d4d189f8619898004cf] ---
 
 if not modules then modules={} end modules ['font-con']={
  version=1.001,
@@ -4599,6 +4599,9 @@ function constructors.scale(tfmdata,specification)
   properties.hasmath=true
   target.nomath=false
   target.MathConstants=target.mathparameters
+  local oldmath=properties.oldmath
+  targetproperties.oldmath=oldmath
+  target.oldmath=oldmath
  else
   properties.hasmath=false
   target.nomath=true
@@ -5510,10 +5513,10 @@ function constructors.addcoreunicodes(unicodes)
  return unicodes
 end
 
-end --- [luaotfload, fontloader-2020-12-30.lua scope for “font-con”] ---
+end --- [luaotfload, fontloader-2021-01-07.lua scope for “font-con”] ---
 
 
-do  --- [luaotfload, fontloader-2020-12-30.lua scope for “fonts-enc” 5ff4ca50493d7c4ecea0e15c203099f0] ---
+do  --- [luaotfload, fontloader-2021-01-07.lua scope for “fonts-enc” 5ff4ca50493d7c4ecea0e15c203099f0] ---
 
 if not modules then modules={} end modules ['luatex-font-enc']={
  version=1.001,
@@ -5582,10 +5585,10 @@ function encodings.load(filename)
  return containers.write(encodings.cache,name,data)
 end
 
-end --- [luaotfload, fontloader-2020-12-30.lua scope for “fonts-enc”] ---
+end --- [luaotfload, fontloader-2021-01-07.lua scope for “fonts-enc”] ---
 
 
-do  --- [luaotfload, fontloader-2020-12-30.lua scope for “font-cid” 22b0367742fb253deef84ef7ccf5e8de] ---
+do  --- [luaotfload, fontloader-2021-01-07.lua scope for “font-cid” 22b0367742fb253deef84ef7ccf5e8de] ---
 
 if not modules then modules={} end modules ['font-cid']={
  version=1.001,
@@ -5736,10 +5739,10 @@ function cid.getmap(specification)
  return found
 end
 
-end --- [luaotfload, fontloader-2020-12-30.lua scope for “font-cid”] ---
+end --- [luaotfload, fontloader-2021-01-07.lua scope for “font-cid”] ---
 
 
-do  --- [luaotfload, fontloader-2020-12-30.lua scope for “font-map” c4a39db5ad822b348aa61bca5f4a599a] ---
+do  --- [luaotfload, fontloader-2021-01-07.lua scope for “font-map” c4a39db5ad822b348aa61bca5f4a599a] ---
 
 if not modules then modules={} end modules ['font-map']={
  version=1.001,
@@ -6147,10 +6150,10 @@ function mappings.addtounicode(data,filename,checklookups,forceligatures)
  end
 end
 
-end --- [luaotfload, fontloader-2020-12-30.lua scope for “font-map”] ---
+end --- [luaotfload, fontloader-2021-01-07.lua scope for “font-map”] ---
 
 
-do  --- [luaotfload, fontloader-2020-12-30.lua scope for “font-vfc” a81c29eda98cd62cbebdb6c93544b50d] ---
+do  --- [luaotfload, fontloader-2021-01-07.lua scope for “font-vfc” a81c29eda98cd62cbebdb6c93544b50d] ---
 
 if not modules then modules={} end modules ['font-vfc']={
  version=1.001,
@@ -6247,10 +6250,10 @@ helpers.commands=utilities.storage.allocate {
  dummy=dummy,
 }
 
-end --- [luaotfload, fontloader-2020-12-30.lua scope for “font-vfc”] ---
+end --- [luaotfload, fontloader-2021-01-07.lua scope for “font-vfc”] ---
 
 
-do  --- [luaotfload, fontloader-2020-12-30.lua scope for “font-otr” 64dcbbc7107538723990e1119a80a9f8] ---
+do  --- [luaotfload, fontloader-2021-01-07.lua scope for “font-otr” 64dcbbc7107538723990e1119a80a9f8] ---
 
 if not modules then modules={} end modules ['font-otr']={
  version=1.001,
@@ -8094,10 +8097,10 @@ function readers.extend(fontdata)
  end
 end
 
-end --- [luaotfload, fontloader-2020-12-30.lua scope for “font-otr”] ---
+end --- [luaotfload, fontloader-2021-01-07.lua scope for “font-otr”] ---
 
 
-do  --- [luaotfload, fontloader-2020-12-30.lua scope for “font-oti” 309a75f9c14b77d87e94eba827dc4e71] ---
+do  --- [luaotfload, fontloader-2021-01-07.lua scope for “font-oti” 309a75f9c14b77d87e94eba827dc4e71] ---
 
 if not modules then modules={} end modules ['font-oti']={
  version=1.001,
@@ -8240,10 +8243,10 @@ function otffeatures.checkeddefaultlanguage(featuretype,autolanguage,languages)
  end
 end
 
-end --- [luaotfload, fontloader-2020-12-30.lua scope for “font-oti”] ---
+end --- [luaotfload, fontloader-2021-01-07.lua scope for “font-oti”] ---
 
 
-do  --- [luaotfload, fontloader-2020-12-30.lua scope for “font-ott” 673ed11e1d159997f535bfec5fa73808] ---
+do  --- [luaotfload, fontloader-2021-01-07.lua scope for “font-ott” 673ed11e1d159997f535bfec5fa73808] ---
 
 if not modules then modules={} end modules ["font-ott"]={
  version=1.001,
@@ -9359,10 +9362,10 @@ function otffeatures.normalize(features,wrap)
  end
 end
 
-end --- [luaotfload, fontloader-2020-12-30.lua scope for “font-ott”] ---
+end --- [luaotfload, fontloader-2021-01-07.lua scope for “font-ott”] ---
 
 
-do  --- [luaotfload, fontloader-2020-12-30.lua scope for “font-cff” 802a10ad12ac32329f540881f940e3f2] ---
+do  --- [luaotfload, fontloader-2021-01-07.lua scope for “font-cff” 2b677fad52d9999d0685e8525271a8cc] ---
 
 if not modules then modules={} end modules ['font-cff']={
  version=1.001,
@@ -10540,7 +10543,7 @@ do
  local reginit=false
  local function updateregions(n) 
   if regions then
-   local current=regions[n] or regions[1]
+   local current=regions[n+1] or regions[1]
    nofregions=#current
    if axis and n~=reginit then
     factors={}
@@ -11109,7 +11112,11 @@ do
   popped=3
   seacs={}
   if regions then
-   regions={ regions } 
+   regions={}
+   local deltas=data.deltas
+   for i=1,#deltas do
+    regions[i]=deltas[i].regions
+   end
    axis=data.factors or false
   end
  end
@@ -11557,10 +11564,10 @@ function readers.cffcheck(filename)
  end
 end
 
-end --- [luaotfload, fontloader-2020-12-30.lua scope for “font-cff”] ---
+end --- [luaotfload, fontloader-2021-01-07.lua scope for “font-cff”] ---
 
 
-do  --- [luaotfload, fontloader-2020-12-30.lua scope for “font-ttf” ffffc827e1bcddc33a2b615340ecff7f] ---
+do  --- [luaotfload, fontloader-2021-01-07.lua scope for “font-ttf” ffffc827e1bcddc33a2b615340ecff7f] ---
 
 if not modules then modules={} end modules ['font-ttf']={
  version=1.001,
@@ -12731,10 +12738,10 @@ function readers.gvar(f,fontdata,specification,glyphdata,shapedata)
  end
 end
 
-end --- [luaotfload, fontloader-2020-12-30.lua scope for “font-ttf”] ---
+end --- [luaotfload, fontloader-2021-01-07.lua scope for “font-ttf”] ---
 
 
-do  --- [luaotfload, fontloader-2020-12-30.lua scope for “font-dsp” 18c85a4857f45c31a3555bf1faac434a] ---
+do  --- [luaotfload, fontloader-2021-01-07.lua scope for “font-dsp” 174ce11f3ba0bddf270f48d8d2addd56] ---
 
 if not modules then modules={} end modules ['font-dsp']={
  version=1.001,
@@ -13096,7 +13103,6 @@ local function readvariationdata(f,storeoffset,factors)
   end
   regions[i]=t
  end
- if factors then
   for i=1,nofdeltadata do
    setposition(f,storeoffset+deltadata[i])
    local nofdeltasets=readushort(f)
@@ -13120,7 +13126,6 @@ local function readvariationdata(f,storeoffset,factors)
     scales=factors and getscales(usedregions,factors) or nil,
    }
   end
- end
  setposition(f,position)
  return regions,deltadata
 end
@@ -16012,10 +16017,10 @@ function readers.mvar(f,fontdata,specification)
  end
 end
 
-end --- [luaotfload, fontloader-2020-12-30.lua scope for “font-dsp”] ---
+end --- [luaotfload, fontloader-2021-01-07.lua scope for “font-dsp”] ---
 
 
-do  --- [luaotfload, fontloader-2020-12-30.lua scope for “font-oup” 6f46aa00ae1c20c43f8ffaf329dc8695] ---
+do  --- [luaotfload, fontloader-2021-01-07.lua scope for “font-oup” 6f46aa00ae1c20c43f8ffaf329dc8695] ---
 
 if not modules then modules={} end modules ['font-oup']={
  version=1.001,
@@ -18656,10 +18661,10 @@ function readers.expand(data)
  expandlookups(sublookups)
 end
 
-end --- [luaotfload, fontloader-2020-12-30.lua scope for “font-oup”] ---
+end --- [luaotfload, fontloader-2021-01-07.lua scope for “font-oup”] ---
 
 
-do  --- [luaotfload, fontloader-2020-12-30.lua scope for “font-otl” 6c4b718ceacfb0cbeb2c03c423f97aec] ---
+do  --- [luaotfload, fontloader-2021-01-07.lua scope for “font-otl” f4e6652a191003493389de230b14cfb3] ---
 
 if not modules then modules={} end modules ['font-otl']={
  version=1.001,
@@ -18687,7 +18692,7 @@ local trace_defining=false  registertracker("fonts.defining",function(v) trace_d
 local report_otf=logs.reporter("fonts","otf loading")
 local fonts=fonts
 local otf=fonts.handlers.otf
-otf.version=3.112 
+otf.version=3.113 
 otf.cache=containers.define("fonts","otl",otf.version,true)
 otf.svgcache=containers.define("fonts","svg",otf.version,true)
 otf.pngcache=containers.define("fonts","png",otf.version,true)
@@ -19365,10 +19370,10 @@ otf.coverup={
  end
 }
 
-end --- [luaotfload, fontloader-2020-12-30.lua scope for “font-otl”] ---
+end --- [luaotfload, fontloader-2021-01-07.lua scope for “font-otl”] ---
 
 
-do  --- [luaotfload, fontloader-2020-12-30.lua scope for “font-oto” 2b1d6bc63b2ebf8f2655a15e1cda6541] ---
+do  --- [luaotfload, fontloader-2021-01-07.lua scope for “font-oto” 2b1d6bc63b2ebf8f2655a15e1cda6541] ---
 
 if not modules then modules={} end modules ['font-oto']={ 
  version=1.001,
@@ -19826,10 +19831,10 @@ registerotffeature {
 }
 otf.basemodeinitializer=featuresinitializer
 
-end --- [luaotfload, fontloader-2020-12-30.lua scope for “font-oto”] ---
+end --- [luaotfload, fontloader-2021-01-07.lua scope for “font-oto”] ---
 
 
-do  --- [luaotfload, fontloader-2020-12-30.lua scope for “font-otj” 8de59cb9b043e5f73c6b9f7cc8f6978e] ---
+do  --- [luaotfload, fontloader-2021-01-07.lua scope for “font-otj” 8de59cb9b043e5f73c6b9f7cc8f6978e] ---
 
 if not modules then modules={} end modules ['font-otj']={
  version=1.001,
@@ -21324,10 +21329,10 @@ function injections.handler(head,where)
  end
 end
 
-end --- [luaotfload, fontloader-2020-12-30.lua scope for “font-otj”] ---
+end --- [luaotfload, fontloader-2021-01-07.lua scope for “font-otj”] ---
 
 
-do  --- [luaotfload, fontloader-2020-12-30.lua scope for “font-ota” ad1d5de06400f88829509e1f3ff2b473] ---
+do  --- [luaotfload, fontloader-2021-01-07.lua scope for “font-ota” ad1d5de06400f88829509e1f3ff2b473] ---
 
 if not modules then modules={} end modules ['font-ota']={
  version=1.001,
@@ -21821,10 +21826,10 @@ directives.register("otf.analyze.useunicodemarks",function(v)
  analyzers.useunicodemarks=v
 end)
 
-end --- [luaotfload, fontloader-2020-12-30.lua scope for “font-ota”] ---
+end --- [luaotfload, fontloader-2021-01-07.lua scope for “font-ota”] ---
 
 
-do  --- [luaotfload, fontloader-2020-12-30.lua scope for “font-ots” 91c79619c386e4a96954f3115f398b94] ---
+do  --- [luaotfload, fontloader-2021-01-07.lua scope for “font-ots” c780a471147527f4ddc139e017927ffe] ---
 
 if not modules then modules={} end modules ['font-ots']={ 
  version=1.001,
@@ -25442,10 +25447,10 @@ registerotffeature {
  },
 }
 
-end --- [luaotfload, fontloader-2020-12-30.lua scope for “font-ots”] ---
+end --- [luaotfload, fontloader-2021-01-07.lua scope for “font-ots”] ---
 
 
-do  --- [luaotfload, fontloader-2020-12-30.lua scope for “font-osd” 73c9531c79df5ada320cb20777f7ed49] ---
+do  --- [luaotfload, fontloader-2021-01-07.lua scope for “font-osd” 73c9531c79df5ada320cb20777f7ed49] ---
 
 if not modules then modules={} end modules ['font-osd']={ 
  version=1.001,
@@ -27878,10 +27883,10 @@ for i=1,nofscripts do
  methods[scripts_two[i]]=method_two
 end
 
-end --- [luaotfload, fontloader-2020-12-30.lua scope for “font-osd”] ---
+end --- [luaotfload, fontloader-2021-01-07.lua scope for “font-osd”] ---
 
 
-do  --- [luaotfload, fontloader-2020-12-30.lua scope for “font-ocl” 797b5c71bf819c5f4fb314a4d646e9a7] ---
+do  --- [luaotfload, fontloader-2021-01-07.lua scope for “font-ocl” 797b5c71bf819c5f4fb314a4d646e9a7] ---
 
 if not modules then modules={} end modules ['font-ocl']={
  version=1.001,
@@ -28424,10 +28429,10 @@ if context then
  }
 end
 
-end --- [luaotfload, fontloader-2020-12-30.lua scope for “font-ocl”] ---
+end --- [luaotfload, fontloader-2021-01-07.lua scope for “font-ocl”] ---
 
 
-do  --- [luaotfload, fontloader-2020-12-30.lua scope for “font-otc” 0f12230ea07b5151f75d52726977e91f] ---
+do  --- [luaotfload, fontloader-2021-01-07.lua scope for “font-otc” 0f12230ea07b5151f75d52726977e91f] ---
 
 if not modules then modules={} end modules ['font-otc']={
  version=1.001,
@@ -29184,10 +29189,10 @@ end
 otf.enhancers.enhance=enhance
 otf.enhancers.register("check extra features",enhance)
 
-end --- [luaotfload, fontloader-2020-12-30.lua scope for “font-otc”] ---
+end --- [luaotfload, fontloader-2021-01-07.lua scope for “font-otc”] ---
 
 
-do  --- [luaotfload, fontloader-2020-12-30.lua scope for “font-onr” 6d161533f3437435e12a0ad64866df44] ---
+do  --- [luaotfload, fontloader-2021-01-07.lua scope for “font-onr” 6d161533f3437435e12a0ad64866df44] ---
 
 if not modules then modules={} end modules ['font-onr']={
  version=1.001,
@@ -29560,10 +29565,10 @@ function readers.getinfo(filename)
  end
 end
 
-end --- [luaotfload, fontloader-2020-12-30.lua scope for “font-onr”] ---
+end --- [luaotfload, fontloader-2021-01-07.lua scope for “font-onr”] ---
 
 
-do  --- [luaotfload, fontloader-2020-12-30.lua scope for “font-one” 53cd565030e919da984b50471cc3be37] ---
+do  --- [luaotfload, fontloader-2021-01-07.lua scope for “font-one” 53cd565030e919da984b50471cc3be37] ---
 
 if not modules then modules={} end modules ['font-one']={
  version=1.001,
@@ -30277,10 +30282,10 @@ registerafmenhancer("normalize features",enhance_normalize_features)
 registerafmenhancer("check extra features",otfenhancers.enhance)
 registerafmenhancer("fix names",enhance_fix_names)
 
-end --- [luaotfload, fontloader-2020-12-30.lua scope for “font-one”] ---
+end --- [luaotfload, fontloader-2021-01-07.lua scope for “font-one”] ---
 
 
-do  --- [luaotfload, fontloader-2020-12-30.lua scope for “font-afk” 9da14e0fb22129c053acc599d1312544] ---
+do  --- [luaotfload, fontloader-2021-01-07.lua scope for “font-afk” 9da14e0fb22129c053acc599d1312544] ---
 
 if not modules then modules={} end modules ['font-afk']={
  version=1.001,
@@ -30447,10 +30452,10 @@ fonts.handlers.afm.helpdata={
  }
 }
 
-end --- [luaotfload, fontloader-2020-12-30.lua scope for “font-afk”] ---
+end --- [luaotfload, fontloader-2021-01-07.lua scope for “font-afk”] ---
 
 
-do  --- [luaotfload, fontloader-2020-12-30.lua scope for “fonts-tfm” f0eb5e2a8068b17ad401bb7efdba1630] ---
+do  --- [luaotfload, fontloader-2021-01-07.lua scope for “fonts-tfm” f0eb5e2a8068b17ad401bb7efdba1630] ---
 
 if not modules then modules={} end modules ['luatex-fonts-tfm']={
  version=1.001,
@@ -30965,10 +30970,10 @@ registertfmfeature {
  }
 }
 
-end --- [luaotfload, fontloader-2020-12-30.lua scope for “fonts-tfm”] ---
+end --- [luaotfload, fontloader-2021-01-07.lua scope for “fonts-tfm”] ---
 
 
-do  --- [luaotfload, fontloader-2020-12-30.lua scope for “font-lua” 1fbfdf7b689b2bdfd0e3bb9bf74ce136] ---
+do  --- [luaotfload, fontloader-2021-01-07.lua scope for “font-lua” 1fbfdf7b689b2bdfd0e3bb9bf74ce136] ---
 
 if not modules then modules={} end modules ['font-lua']={
  version=1.001,
@@ -31008,10 +31013,10 @@ function readers.lua(specification)
  return check_lua(specification,fullname)
 end
 
-end --- [luaotfload, fontloader-2020-12-30.lua scope for “font-lua”] ---
+end --- [luaotfload, fontloader-2021-01-07.lua scope for “font-lua”] ---
 
 
-do  --- [luaotfload, fontloader-2020-12-30.lua scope for “font-def” b9d908c2338b7dc443ce9d1e9fcb7139] ---
+do  --- [luaotfload, fontloader-2021-01-07.lua scope for “font-def” b9d908c2338b7dc443ce9d1e9fcb7139] ---
 
 if not modules then modules={} end modules ['font-def']={
  version=1.001,
@@ -31411,10 +31416,10 @@ if not context then
  callbacks.register('define_font',definers.read,"definition of fonts (tfmdata preparation)")
 end
 
-end --- [luaotfload, fontloader-2020-12-30.lua scope for “font-def”] ---
+end --- [luaotfload, fontloader-2021-01-07.lua scope for “font-def”] ---
 
 
-do  --- [luaotfload, fontloader-2020-12-30.lua scope for “font-shp” 5ff497c993112d4fef4c148348d964eb] ---
+do  --- [luaotfload, fontloader-2021-01-07.lua scope for “font-shp” 5ff497c993112d4fef4c148348d964eb] ---
 
 if not modules then modules={} end modules ['font-shp']={
  version=1.001,
@@ -31779,10 +31784,10 @@ callback.register("glyph_stream_provider",function(id,index,mode)
  return ""
 end)
 
-end --- [luaotfload, fontloader-2020-12-30.lua scope for “font-shp”] ---
+end --- [luaotfload, fontloader-2021-01-07.lua scope for “font-shp”] ---
 
 
-do  --- [luaotfload, fontloader-2020-12-30.lua scope for “fonts-def” f435e0875f203f343157baeff876ec9c] ---
+do  --- [luaotfload, fontloader-2021-01-07.lua scope for “fonts-def” f435e0875f203f343157baeff876ec9c] ---
 
 if not modules then modules={} end modules ['luatex-fonts-def']={
  version=1.001,
@@ -31863,10 +31868,10 @@ function fonts.definers.applypostprocessors(tfmdata)
  return tfmdata
 end
 
-end --- [luaotfload, fontloader-2020-12-30.lua scope for “fonts-def”] ---
+end --- [luaotfload, fontloader-2021-01-07.lua scope for “fonts-def”] ---
 
 
-do  --- [luaotfload, fontloader-2020-12-30.lua scope for “fonts-ext” 32013cbc5d5d336be8b1d1e5879d86c4] ---
+do  --- [luaotfload, fontloader-2021-01-07.lua scope for “fonts-ext” 32013cbc5d5d336be8b1d1e5879d86c4] ---
 
 if not modules then modules={} end modules ['luatex-fonts-ext']={
  version=1.001,
@@ -32052,10 +32057,10 @@ registerotffeature {
  }
 }
 
-end --- [luaotfload, fontloader-2020-12-30.lua scope for “fonts-ext”] ---
+end --- [luaotfload, fontloader-2021-01-07.lua scope for “fonts-ext”] ---
 
 
-do  --- [luaotfload, fontloader-2020-12-30.lua scope for “font-imp-tex” ceb087ef6fa2f89aed7179f60ddf8f35] ---
+do  --- [luaotfload, fontloader-2021-01-07.lua scope for “font-imp-tex” ceb087ef6fa2f89aed7179f60ddf8f35] ---
 
 if not modules then modules={} end modules ['font-imp-tex']={
  version=1.001,
@@ -32154,10 +32159,10 @@ registerotffeature {
  description="arabic digits",
 }
 
-end --- [luaotfload, fontloader-2020-12-30.lua scope for “font-imp-tex”] ---
+end --- [luaotfload, fontloader-2021-01-07.lua scope for “font-imp-tex”] ---
 
 
-do  --- [luaotfload, fontloader-2020-12-30.lua scope for “font-imp-ligatures” 26ffcf089391445f7af59536c8814364] ---
+do  --- [luaotfload, fontloader-2021-01-07.lua scope for “font-imp-ligatures” 26ffcf089391445f7af59536c8814364] ---
 
 if not modules then modules={} end modules ['font-imp-ligatures']={
  version=1.001,
@@ -32271,10 +32276,10 @@ if context then
  }
 end
 
-end --- [luaotfload, fontloader-2020-12-30.lua scope for “font-imp-ligatures”] ---
+end --- [luaotfload, fontloader-2021-01-07.lua scope for “font-imp-ligatures”] ---
 
 
-do  --- [luaotfload, fontloader-2020-12-30.lua scope for “font-imp-italics” ae563638fa29a4ff3e8e4d1e81fd35ae] ---
+do  --- [luaotfload, fontloader-2021-01-07.lua scope for “font-imp-italics” defcb415bc1e0a0999b27773902adc18] ---
 
 if not modules then modules={} end modules ['font-imp-italics']={
  version=1.001,
@@ -32378,10 +32383,10 @@ if context then
  registerafmfeature(dimensions_specification)
 end
 
-end --- [luaotfload, fontloader-2020-12-30.lua scope for “font-imp-italics”] ---
+end --- [luaotfload, fontloader-2021-01-07.lua scope for “font-imp-italics”] ---
 
 
-do  --- [luaotfload, fontloader-2020-12-30.lua scope for “font-imp-effects” a2dde5e071fcb3fc7b90f2bcd5aa4f22] ---
+do  --- [luaotfload, fontloader-2021-01-07.lua scope for “font-imp-effects” a2dde5e071fcb3fc7b90f2bcd5aa4f22] ---
 
 if not modules then modules={} end modules ['font-imp-effects']={
  version=1.001,
@@ -32764,10 +32769,10 @@ local specification={
 registerotffeature(specification)
 registerafmfeature(specification)
 
-end --- [luaotfload, fontloader-2020-12-30.lua scope for “font-imp-effects”] ---
+end --- [luaotfload, fontloader-2021-01-07.lua scope for “font-imp-effects”] ---
 
 
-do  --- [luaotfload, fontloader-2020-12-30.lua scope for “fonts-lig” fbd251eea3810a43a8d5542319361d68] ---
+do  --- [luaotfload, fontloader-2021-01-07.lua scope for “fonts-lig” fbd251eea3810a43a8d5542319361d68] ---
 
 
 fonts.handlers.otf.addfeature {
@@ -34836,10 +34841,10 @@ fonts.handlers.otf.addfeature {
  ["type"]="ligature",
 }
 
-end --- [luaotfload, fontloader-2020-12-30.lua scope for “fonts-lig”] ---
+end --- [luaotfload, fontloader-2021-01-07.lua scope for “fonts-lig”] ---
 
 
-do  --- [luaotfload, fontloader-2020-12-30.lua scope for “fonts-gbn” 10ecdf01e7c926e5128ad8a9dff4d677] ---
+do  --- [luaotfload, fontloader-2021-01-07.lua scope for “fonts-gbn” 10ecdf01e7c926e5128ad8a9dff4d677] ---
 
 if not modules then modules={} end modules ['luatex-fonts-gbn']={
  version=1.001,
@@ -35104,7 +35109,7 @@ function nodes.simple_font_handler(head,groupcode,size,packtype,direction)
  return head
 end
 
-end --- [luaotfload, fontloader-2020-12-30.lua scope for “fonts-gbn”] ---
+end --- [luaotfload, fontloader-2021-01-07.lua scope for “fonts-gbn”] ---
 
 
 --- vim:ft=lua:sw=2:ts=8:et:tw=79
diff --git a/src/auto/luaotfload-status.lua b/src/auto/luaotfload-status.lua
index 4a507b2..b483974 100644
--- a/src/auto/luaotfload-status.lua
+++ b/src/auto/luaotfload-status.lua
@@ -1,99 +1,99 @@
 return {
  ["hashes"]={
-  { "fontloader-2020-12-30.lua", "68ad807e7fdc2161801a16d1d404e1c4" },
-  { "fontloader-util-fil.lua", "a617cad49fc028e99f0f30bce8b2b623" },
-  { "fontloader-util-str.lua", "a2041dad54b982ad124cbc764f5de43b" },
-  { "fontloader-l-unicode.lua", "a4464b61c123f0454bea92c1cf502891" },
-  { "fontloader-l-math.lua", "a373be3ed2db0d5f98588fa81abca48f" },
-  { "fontloader-l-boolean.lua", "18ed6c4b2c40dd87224ea33229548d20" },
-  { "fontloader-l-file.lua", "60ddd3948d9de7bde8b4a0f5c51ff9f5" },
-  { "fontloader-l-io.lua", "a4042e9d6bce71c61fdd94e6e17f2bf4" },
-  { "fontloader-l-table.lua", "20c03ae1b81e902217f3f76995b9d294" },
-  { "fontloader-l-string.lua", "e1347bef0eeeff9f098df83b30b32df9" },
-  { "fontloader-l-function.lua", "f771cc91839ebcdfc094083434fbe00f" },
-  { "fontloader-l-lpeg.lua", "c3407de16bcedd73652250b000b39e98" },
-  { "fontloader-l-lua.lua", "c8dbb33df962e1b945b91b906b3c15c4" },
-  { "fontloader-fonts-gbn.lua", "d25472d54c4841db43a745764a63533e" },
-  { "fontloader-fonts-lig.lua", "b9dbe77ce747d4c35bb2a20ffbe5aa51" },
-  { "fontloader-fonts-ext.lua", "01015ab3758cdc2af29394e6d502a91a" },
-  { "fontloader-fonts-def.lua", "5ad79120ebc5e60f4d322fb3ee13bffe" },
-  { "fontloader-fonts-tfm.lua", "3bbba3214fd0b8c6f35ad85592fc2917" },
-  { "fontloader-fonts-enc.lua", "3e71a54297e8f85a1ac438bb0f20dd79" },
-  { "fontloader-fonts-mis.lua", "bc9eb43c27f63ce9d0fff67e104fe1c6" },
-  { "fontloader-basics-chr.lua", "58b7ef0c486e06090b362971b9f85e27" },
-  { "fontloader-basics-nod.lua", "6549c88db8cf4c6ae005a2e08f223d4b" },
-  { "fontloader-font-imp-effects.lua", "231cda056b88f6dc282fab9d7643d380" },
-  { "fontloader-font-imp-italics.lua", "058fb834c11c6ac30c280b29e496966e" },
-  { "fontloader-font-imp-ligatures.lua", "043daa4fcccf2560868da359d71d3a4a" },
-  { "fontloader-font-imp-tex.lua", "77c374b0ef00c2fb12188ec42beb4257" },
-  { "fontloader-font-shp.lua", "72de6029980ac796ec6ec76fa3ec8684" },
-  { "fontloader-font-def.lua", "226b4d26ede7fa7be8e45b7f0d93e781" },
-  { "fontloader-font-lua.lua", "55b281fb98f7bd848fc19928f376f647" },
-  { "fontloader-font-afk.lua", "54d554530e75c57c56ee76234724e26d" },
-  { "fontloader-font-one.lua", "2e52d1e42764f68b779522bda9569480" },
-  { "fontloader-font-onr.lua", "7a9ece7bf3e36b5f0adf295a9a2a2989" },
-  { "fontloader-font-ocl.lua", "ab81576f20e2d37bc8707e1dbd3decf2" },
-  { "fontloader-font-osd.lua", "61f05fcf91add1aa5dac9bc8b235adc9" },
-  { "fontloader-font-otc.lua", "1204a2fdc436e644127c0aa38ab69607" },
-  { "fontloader-font-ots.lua", "a83d5992a82b706c0ffdb5c2778534f1" },
-  { "fontloader-font-ota.lua", "f31232af3a694ae3d50380a5a92f88d3" },
-  { "fontloader-font-oup.lua", "1700a2dac4f8b105c187d4e5b84cecdf" },
-  { "fontloader-font-otj.lua", "a37a1007b8a92c9e7d24064180c2a772" },
-  { "fontloader-font-oto.lua", "24238a7c600d090a8ee88312321dd9b3" },
-  { "fontloader-font-otl.lua", "70237f19b76c4bc75f0c6e89038fb49a" },
-  { "fontloader-font-ott.lua", "1249b7018dba80e080fc478a38aa6756" },
-  { "fontloader-font-oti.lua", "dbae7722baae24d917a17176553825cf" },
-  { "fontloader-font-dsp.lua", "10eb256f4bcb9c5eabd48048e2da5eab" },
-  { "fontloader-font-ttf.lua", "ebef049a169c04edd19902fd66ddea44" },
-  { "fontloader-font-cff.lua", "aa9038651d9fedd2b76cacd1f69fd742" },
-  { "fontloader-font-otr.lua", "7a2f7a9e9627b29158e1822ea3c650ab" },
-  { "fontloader-font-vfc.lua", "04fa0ffad5c51198c7c19462949f54ed" },
-  { "fontloader-font-map.lua", "a03653ea3c5f042b457d54ed678d6df3" },
-  { "fontloader-font-cid.lua", "4d87988efa86020a14708ee03c23415f" },
-  { "fontloader-font-con.lua", "cbccccc4a5016196d62332a365aa8b72" },
-  { "fontloader-font-ini.lua", "4dee96e1e1474d324dd126bd5d375df8" },
-  { "fontloader-data-con.lua", "de6ae0997b0e70a23bcc9afff5d8b072" },
-  { "fontloader-reference.lua", "957f358a48ea6fcbc78a8701f947d7e5" },
-  { "fontloader-basics-gen.lua", "e1f261b2c429d366cff061d8a66b8cc9" },
-  { "mktests", "c7cff7025962922944376acc1ffa9c47" },
-  { "mkstatus", "37c87ff2e02b5b1074796caa04bca871" },
-  { "mkcharacters", "92c24bb582fc84c0365634f29eb89863" },
-  { "mkglyphlist", "95bbf91338214d40b2102114285ccd3f" },
-  { "mkimport", "5dacc09f3358ba9b90cf3a804f9a535c" },
-  { "luaotfload-glyphlist.lua", "35b95768f2371f59dc1d7ce3aacbd525" },
-  { "luaotfload-characters.lua", "6a46f4749368e4f56a863da9c61b7bd6" },
-  { "luaotfload-dvi.lua", "0eb3c0f5597afb0707c876375368fdb2" },
-  { "luaotfload-tounicode.lua", "ffcc4976a40ee968343227ec43c37663" },
-  { "luaotfload-unicode.lua", "5ad8a58b26b1e50bffa53c0450c3a1cb" },
-  { "luaotfload-resolvers.lua", "f549d99fb8d487de0ef44ee4e39085cf" },
-  { "luaotfload-parsers.lua", "0e0d41517488321551d62384b568a3f6" },
-  { "luaotfload-fallback.lua", "610d1c38957aa22e9713e9d7434a520c" },
-  { "luaotfload-szss.lua", "ece0df476fee128904534863d47257d4" },
-  { "luaotfload-scripts.lua", "8584d0f9ffe1f338b65cdb82a5a2a910" },
-  { "luaotfload-multiscript.lua", "3866b7c2dc5383fbe12043666debe770" },
-  { "luaotfload-loaders.lua", "7e1e00a3f133a2de060de631c58d1ca9" },
-  { "luaotfload-harf-plug.lua", "addb1701cd275c727b09cb76394d2dc5" },
-  { "luaotfload-harf-define.lua", "8e7c8eb108b7454d4cc4a3222c532651" },
-  { "luaotfload-notdef.lua", "c2e528cbb75c928796c72cc7274442f8" },
-  { "luaotfload-embolden.lua", "51e4b85d44557a71418651b15c7d74c5" },
-  { "luaotfload-letterspace.lua", "53e017bfc7e9da4fe9f84b7ae49a1305" },
-  { "luaotfload-features.lua", "ec07adf353c8cab528700551dba18ed0" },
-  { "luaotfload-database.lua", "703d49c401d995b8f913519d9842294e" },
-  { "luaotfload-configuration.lua", "f2b92634c981925a0549ec536c98cbee" },
-  { "luaotfload-colors.lua", "67077ffc917265caabe724e45c677845" },
-  { "luaotfload-auxiliary.lua", "2d14e6db67e5d22575fec2c78e392a08" },
-  { "luaotfload-filelist.lua", "c137cec99dee5c39f4c4748d5c709a02" },
-  { "luaotfload-tool.lua", "9d5d13569537c02cc796260637f389a5" },
-  { "luaotfload-diagnostics.lua", "da62e0025a2610c6652d155c1f9c066e" },
-  { "luaotfload-log.lua", "67c18d3a56da6017bbe4ab17b3f6ac1e" },
-  { "luaotfload-init.lua", "569a8679ffd8423723a35041684a487f" },
-  { "luaotfload-main.lua", "f5f771d1cf5c8c4a2519a8d46aed1241" },
+  { "fontloader-2021-01-07.lua", "ef54bfa34416e2c85fa48d3195c67fd2" },
+  { "fontloader-util-fil.lua", "aae2a2add764144bb58dd8216fd59260" },
+  { "fontloader-util-str.lua", "c975ff7bbd178163cf47d9e9296c8b4b" },
+  { "fontloader-l-unicode.lua", "f368874f11f3c525de5864fd413e4b24" },
+  { "fontloader-l-math.lua", "082add08e0bb79f39191ae9534a79849" },
+  { "fontloader-l-boolean.lua", "abe28515dd33e8f6c416c09bca351cf8" },
+  { "fontloader-l-file.lua", "352b42b8360ada02ceb26a41f0bd2a76" },
+  { "fontloader-l-io.lua", "bbcc4824d0ded30b415d7d2d5763028a" },
+  { "fontloader-l-table.lua", "0330da8b3a08d39876def70df8d9c0e5" },
+  { "fontloader-l-string.lua", "9457f2af85723e0e6c46d0b5122e9000" },
+  { "fontloader-l-function.lua", "a7e68a9703c35238729da41a474e951b" },
+  { "fontloader-l-lpeg.lua", "10bdaef44175902917691835010ae5f5" },
+  { "fontloader-l-lua.lua", "420bc442e6d81f4624728a6c56fcd175" },
+  { "fontloader-fonts-gbn.lua", "10ecdf01e7c926e5128ad8a9dff4d677" },
+  { "fontloader-fonts-lig.lua", "fbd251eea3810a43a8d5542319361d68" },
+  { "fontloader-fonts-ext.lua", "32013cbc5d5d336be8b1d1e5879d86c4" },
+  { "fontloader-fonts-def.lua", "f435e0875f203f343157baeff876ec9c" },
+  { "fontloader-fonts-tfm.lua", "f0eb5e2a8068b17ad401bb7efdba1630" },
+  { "fontloader-fonts-enc.lua", "5ff4ca50493d7c4ecea0e15c203099f0" },
+  { "fontloader-fonts-mis.lua", "17e967c9ec4d001deefd43ddf25e98f7" },
+  { "fontloader-basics-chr.lua", "64fafe4eaf55d64aead6513c1e74a024" },
+  { "fontloader-basics-nod.lua", "4b5c3c63e19df1b3f37fae7f87c25bda" },
+  { "fontloader-font-imp-effects.lua", "a2dde5e071fcb3fc7b90f2bcd5aa4f22" },
+  { "fontloader-font-imp-italics.lua", "defcb415bc1e0a0999b27773902adc18" },
+  { "fontloader-font-imp-ligatures.lua", "26ffcf089391445f7af59536c8814364" },
+  { "fontloader-font-imp-tex.lua", "ceb087ef6fa2f89aed7179f60ddf8f35" },
+  { "fontloader-font-shp.lua", "5ff497c993112d4fef4c148348d964eb" },
+  { "fontloader-font-def.lua", "b9d908c2338b7dc443ce9d1e9fcb7139" },
+  { "fontloader-font-lua.lua", "1fbfdf7b689b2bdfd0e3bb9bf74ce136" },
+  { "fontloader-font-afk.lua", "9da14e0fb22129c053acc599d1312544" },
+  { "fontloader-font-one.lua", "53cd565030e919da984b50471cc3be37" },
+  { "fontloader-font-onr.lua", "6d161533f3437435e12a0ad64866df44" },
+  { "fontloader-font-ocl.lua", "797b5c71bf819c5f4fb314a4d646e9a7" },
+  { "fontloader-font-osd.lua", "73c9531c79df5ada320cb20777f7ed49" },
+  { "fontloader-font-otc.lua", "0f12230ea07b5151f75d52726977e91f" },
+  { "fontloader-font-ots.lua", "c780a471147527f4ddc139e017927ffe" },
+  { "fontloader-font-ota.lua", "ad1d5de06400f88829509e1f3ff2b473" },
+  { "fontloader-font-oup.lua", "6f46aa00ae1c20c43f8ffaf329dc8695" },
+  { "fontloader-font-otj.lua", "8de59cb9b043e5f73c6b9f7cc8f6978e" },
+  { "fontloader-font-oto.lua", "2b1d6bc63b2ebf8f2655a15e1cda6541" },
+  { "fontloader-font-otl.lua", "f4e6652a191003493389de230b14cfb3" },
+  { "fontloader-font-ott.lua", "673ed11e1d159997f535bfec5fa73808" },
+  { "fontloader-font-oti.lua", "309a75f9c14b77d87e94eba827dc4e71" },
+  { "fontloader-font-dsp.lua", "174ce11f3ba0bddf270f48d8d2addd56" },
+  { "fontloader-font-ttf.lua", "ffffc827e1bcddc33a2b615340ecff7f" },
+  { "fontloader-font-cff.lua", "2b677fad52d9999d0685e8525271a8cc" },
+  { "fontloader-font-otr.lua", "64dcbbc7107538723990e1119a80a9f8" },
+  { "fontloader-font-vfc.lua", "a81c29eda98cd62cbebdb6c93544b50d" },
+  { "fontloader-font-map.lua", "c4a39db5ad822b348aa61bca5f4a599a" },
+  { "fontloader-font-cid.lua", "22b0367742fb253deef84ef7ccf5e8de" },
+  { "fontloader-font-con.lua", "724e5dd14aec2d4d189f8619898004cf" },
+  { "fontloader-font-ini.lua", "5343de60613adb24cdd7a8d2ee1d153c" },
+  { "fontloader-data-con.lua", "23a0f5386d46a1c157ae82a373e35fa0" },
+  { "fontloader-reference.lua", "4807209e6a35420dd7528e9ec02f11da" },
+  { "fontloader-basics-gen.lua", "e470c13b1ed41e38932e93518219ad74" },
+  { "mktests", "918cb50be9ee8bd645ac1a27dc501e8c" },
+  { "mkstatus", "27615b6512f9083361df322badcb5736" },
+  { "mkcharacters", "bfca0e96e1e351afe7077502f9595af9" },
+  { "mkglyphlist", "7a8a8fdc0eac7fac2f13ec8f4e8e7aa9" },
+  { "mkimport", "7d62f1042e548f8b9368f26b9ba4be5c" },
+  { "luaotfload-glyphlist.lua", "f3f5c1d156a145142a6c6a96e2cba634" },
+  { "luaotfload-characters.lua", "76415ca3ede312cad6e09038323489ae" },
+  { "luaotfload-dvi.lua", "66957718c905f2295eef6ef9754c8314" },
+  { "luaotfload-tounicode.lua", "07d90a30cd104b1f946fbc1b5dd35831" },
+  { "luaotfload-unicode.lua", "827c66608fa1abf0ce2c5556b7c6273b" },
+  { "luaotfload-resolvers.lua", "6c73ad803932f502325dd2f5663ec28b" },
+  { "luaotfload-parsers.lua", "fb19544aad36808869f6bf14a1ae9697" },
+  { "luaotfload-fallback.lua", "b672592afb9308238f34533d1cb7b203" },
+  { "luaotfload-szss.lua", "aa69d5cc7af01b6f3926a4745deda54a" },
+  { "luaotfload-scripts.lua", "859ad4590443e0a61086bc6feec2c6a1" },
+  { "luaotfload-multiscript.lua", "a1c1e06e69ad38ab1787c42c3bcb82aa" },
+  { "luaotfload-loaders.lua", "6f8cbdf718c9ec904245e7e8a6220f3f" },
+  { "luaotfload-harf-plug.lua", "0b78dc477d0c7363d0e6f526c7c13835" },
+  { "luaotfload-harf-define.lua", "b48b498869c05ea9f9c21468e2807fda" },
+  { "luaotfload-notdef.lua", "bf93413ebefa099246c8644eeaed63b3" },
+  { "luaotfload-embolden.lua", "eaf50ab519b513ed9a080dfd23da8e43" },
+  { "luaotfload-letterspace.lua", "b8d6108fef76467a8b77a9ec15efbf71" },
+  { "luaotfload-features.lua", "3242e241b1e8695679ca875412488090" },
+  { "luaotfload-database.lua", "5b3cf7add7975c07d0dde3696f1cc415" },
+  { "luaotfload-configuration.lua", "758ea4fa24ea65d7a0957800f38f878b" },
+  { "luaotfload-colors.lua", "c3fd3c92f0a89135c23a11a62a4c37cf" },
+  { "luaotfload-auxiliary.lua", "49e2a60c80a8c66a51daad137d5ce26b" },
+  { "luaotfload-filelist.lua", "adae075bc8290469c4faa395f722ecfc" },
+  { "luaotfload-tool.lua", "b88fd12270938ca999ac189a2b5d8612" },
+  { "luaotfload-diagnostics.lua", "b29841ce4021eb5de992f744fbf7c198" },
+  { "luaotfload-log.lua", "ae8c3f01304563ce1347e56f5c94fb97" },
+  { "luaotfload-init.lua", "69ef36d1b1076f41f7d5ce962e76e33c" },
+  { "luaotfload-main.lua", "b19c9cc34cf1d676c39f872cfb41aef6" },
  },
  ["notes"]={
   ["committer"]="Ulrike Fischer <fischer at troubleshooting-tex.de>",
   ["description"]="v3.17-dev/2020-12-31",
-  ["loader"]="fontloader-2020-12-30.lua",
-  ["revision"]="4be690d9822f8d21b4a1e68adf22bf0be7bac8fb",
-  ["timestamp"]="2020-12-31 13:19:56 +0100",
+  ["loader"]="fontloader-2021-01-07.lua",
+  ["revision"]="11868f3e0ed95a6fd41d3c6fa52525db399d7706",
+  ["timestamp"]="2020-12-31 16:03:21 +0100",
  },
 }
\ No newline at end of file
diff --git a/src/fontloader/misc/fontloader-font-cff.lua b/src/fontloader/misc/fontloader-font-cff.lua
index b7d4539..4e29810 100644
--- a/src/fontloader/misc/fontloader-font-cff.lua
+++ b/src/fontloader/misc/fontloader-font-cff.lua
@@ -1425,13 +1425,15 @@ do
     -- to wrap my head around the rather complex variable font specification
     -- with regions and axis, the following approach kind of works but is more
     -- some trial and error trick. It's still not clear how much of the complex
-    -- truetype description applies to cff.
+    -- truetype description applies to cff. Once there are fonts out there we'll
+    -- get there. (Marcel and friends did some tests with recent cff2 fonts so
+    -- the code has been adapted accordingly.)
 
     local reginit = false
 
     local function updateregions(n) -- n + 1
         if regions then
-            local current = regions[n] or regions[1]
+            local current = regions[n+1] or regions[1]
             nofregions = #current
             if axis and n ~= reginit then
                 factors = { }
@@ -2155,7 +2157,14 @@ do
         popped   = 3
         seacs    = { }
         if regions then
-            regions = { regions } -- needs checking
+            -- this was:
+         -- regions = { regions } -- needs checking
+            -- and is now (MFC):
+            regions = { }
+            local deltas = data.deltas
+            for i = 1, #deltas do
+                regions[i] = deltas[i].regions
+            end
             axis = data.factors or false
         end
     end
diff --git a/src/fontloader/misc/fontloader-font-con.lua b/src/fontloader/misc/fontloader-font-con.lua
index 7162338..f650e5b 100644
--- a/src/fontloader/misc/fontloader-font-con.lua
+++ b/src/fontloader/misc/fontloader-font-con.lua
@@ -600,13 +600,17 @@ function constructors.scale(tfmdata,specification)
     --
     if hasmath then
         constructors.assignmathparameters(target,tfmdata) -- does scaling and whatever is needed
-        properties.hasmath      = true
-        target.nomath           = false
-        target.MathConstants    = target.mathparameters
+        properties.hasmath       = true
+        target.nomath            = false
+        target.MathConstants     = target.mathparameters
+        --
+        local oldmath            = properties.oldmath
+        targetproperties.oldmath = oldmath
+        target.oldmath           = oldmath
     else
-        properties.hasmath      = false
-        target.nomath           = true
-        target.mathparameters   = nil -- nop
+        properties.hasmath       = false
+        target.nomath            = true
+        target.mathparameters    = nil -- nop
     end
     --
     -- Here we support some context specific trickery (this might move to a plugin). During the
diff --git a/src/fontloader/misc/fontloader-font-dsp.lua b/src/fontloader/misc/fontloader-font-dsp.lua
index 91ee83b..8d7c3d3 100644
--- a/src/fontloader/misc/fontloader-font-dsp.lua
+++ b/src/fontloader/misc/fontloader-font-dsp.lua
@@ -503,7 +503,7 @@ local function readvariationdata(f,storeoffset,factors) -- store
         regions[i] = t
     end
     -- deltas
-    if factors then
+ -- if factors then
         for i=1,nofdeltadata do
             setposition(f,storeoffset+deltadata[i])
             local nofdeltasets = readushort(f)
@@ -528,7 +528,7 @@ local function readvariationdata(f,storeoffset,factors) -- store
                 scales  = factors and getscales(usedregions,factors) or nil,
             }
         end
-    end
+ -- end
     setposition(f,position)
     return regions, deltadata
 end
diff --git a/src/fontloader/misc/fontloader-font-imp-italics.lua b/src/fontloader/misc/fontloader-font-imp-italics.lua
index 3e172be..6c432d7 100644
--- a/src/fontloader/misc/fontloader-font-imp-italics.lua
+++ b/src/fontloader/misc/fontloader-font-imp-italics.lua
@@ -79,24 +79,6 @@ if context then
     registerotffeature(specification)
     registerafmfeature(specification)
 
-    -- no longer used
-
-    -- local function initializemathitalics(tfmdata,value) -- yes no delay
-    --     tfmdata.properties.mathitalics = toboolean(value)
-    -- end
-    --
-    -- local specification = {
-    --     name         = "mathitalics",
-    --     description  = "use alternative math italic correction",
-    --     initializers = {
-    --         base = initializemathitalics,
-    --         node = initializemathitalics,
-    --     }
-    -- }
-    --
-    -- registerotffeature(specification)
-    -- registerafmfeature(specification)
-
     -- only used when testing
 
     local letter = characters.is_letter
diff --git a/src/fontloader/misc/fontloader-font-otl.lua b/src/fontloader/misc/fontloader-font-otl.lua
index b8e13f1..19de2bb 100644
--- a/src/fontloader/misc/fontloader-font-otl.lua
+++ b/src/fontloader/misc/fontloader-font-otl.lua
@@ -52,7 +52,7 @@ local report_otf          = logs.reporter("fonts","otf loading")
 local fonts               = fonts
 local otf                 = fonts.handlers.otf
 
-otf.version               = 3.112 -- beware: also sync font-mis.lua and in mtx-fonts
+otf.version               = 3.113 -- beware: also sync font-mis.lua and in mtx-fonts
 otf.cache                 = containers.define("fonts", "otl", otf.version, true)
 otf.svgcache              = containers.define("fonts", "svg", otf.version, true)
 otf.pngcache              = containers.define("fonts", "png", otf.version, true)
diff --git a/src/fontloader/misc/fontloader-font-ots.lua b/src/fontloader/misc/fontloader-font-ots.lua
index 1f4806e..880bcb6 100644
--- a/src/fontloader/misc/fontloader-font-ots.lua
+++ b/src/fontloader/misc/fontloader-font-ots.lua
@@ -829,6 +829,9 @@ function handlers.gsub_ligature(head,start,dataset,sequence,ligature,rlmode,skip
         -- of{f-}{}{f}e  o{f-}{}{f}fe  o{-}{}{ff}e (oe and ff ligature)
         -- we can end up here when we have a start run .. testruns start at a disc but
         -- so here we have the other case: char + disc
+        --
+        -- Challenge for Kai (latinmodern):  \hyphenation{fii-f-f-iif} fiiffiif
+        --
         if discfound then
             -- don't assume marks in a disc and we don't run over a disc (for now)
             local pre, post, replace = getdisc(discfound)
diff --git a/src/fontloader/runtime/fontloader-reference.lua b/src/fontloader/runtime/fontloader-reference.lua
index 0b22032..dde25ac 100644
--- a/src/fontloader/runtime/fontloader-reference.lua
+++ b/src/fontloader/runtime/fontloader-reference.lua
@@ -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  : 2020-12-30 16:42
+-- merge date  : 2021-01-07 16:56
 
 do -- begin closure to overcome local limits and interference
 
@@ -9268,6 +9268,9 @@ function constructors.scale(tfmdata,specification)
   properties.hasmath=true
   target.nomath=false
   target.MathConstants=target.mathparameters
+  local oldmath=properties.oldmath
+  targetproperties.oldmath=oldmath
+  target.oldmath=oldmath
  else
   properties.hasmath=false
   target.nomath=true
@@ -14016,7 +14019,7 @@ do
  local reginit=false
  local function updateregions(n) 
   if regions then
-   local current=regions[n] or regions[1]
+   local current=regions[n+1] or regions[1]
    nofregions=#current
    if axis and n~=reginit then
     factors={}
@@ -14585,7 +14588,11 @@ do
   popped=3
   seacs={}
   if regions then
-   regions={ regions } 
+   regions={}
+   local deltas=data.deltas
+   for i=1,#deltas do
+    regions[i]=deltas[i].regions
+   end
    axis=data.factors or false
   end
  end
@@ -16570,7 +16577,6 @@ local function readvariationdata(f,storeoffset,factors)
   end
   regions[i]=t
  end
- if factors then
   for i=1,nofdeltadata do
    setposition(f,storeoffset+deltadata[i])
    local nofdeltasets=readushort(f)
@@ -16594,7 +16600,6 @@ local function readvariationdata(f,storeoffset,factors)
     scales=factors and getscales(usedregions,factors) or nil,
    }
   end
- end
  setposition(f,position)
  return regions,deltadata
 end
@@ -20779,7 +20784,7 @@ local trace_defining=false  registertracker("fonts.defining",function(v) trace_d
 local report_otf=logs.reporter("fonts","otf loading")
 local fonts=fonts
 local otf=fonts.handlers.otf
-otf.version=3.112 
+otf.version=3.113 
 otf.cache=containers.define("fonts","otl",otf.version,true)
 otf.svgcache=containers.define("fonts","svg",otf.version,true)
 otf.pngcache=containers.define("fonts","png",otf.version,true)
diff --git a/testfiles/aaaaa-luakern.tlg b/testfiles/aaaaa-luakern.tlg
index e4ca42a..6bd6179 100644
--- a/testfiles/aaaaa-luakern.tlg
+++ b/testfiles/aaaaa-luakern.tlg
@@ -1,6 +1,6 @@
 This is a generated file for the l3build validation system.
 Don't change this file in any respect.
-3.17-dev with fontloaderxxx2020xxx12xxx30.lua
+3.17-dev with fontloaderxxx2021xxx01xxx07.lua
 Completed box being shipped out [1]
 \vbox(633.0+0.0)x407.0, direction TLT
 .\glue 16.0





More information about the latex3-commits mailing list.