summaryrefslogtreecommitdiff
path: root/macros/luatex/generic
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2021-01-17 03:02:33 +0000
committerNorbert Preining <norbert@preining.info>2021-01-17 03:02:33 +0000
commit8591b56496b93eed20f638ee1ce46b11c3f7be58 (patch)
treeb2afe58ae1a4b7b138a752410d3d7232485a4f9d /macros/luatex/generic
parent07a2495c5aecc2f871625ae63d25ee1cc18b2ca5 (diff)
CTAN sync 202101170302
Diffstat (limited to 'macros/luatex/generic')
-rw-r--r--macros/luatex/generic/luaotfload/NEWS5
-rw-r--r--macros/luatex/generic/luaotfload/README.md4
-rw-r--r--macros/luatex/generic/luaotfload/filegraph.pdfbin40030 -> 41362 bytes
-rw-r--r--macros/luatex/generic/luaotfload/fontloader-2021-01-07.lua (renamed from macros/luatex/generic/luaotfload/fontloader-2020-12-30.lua)179
-rw-r--r--macros/luatex/generic/luaotfload/fontloader-font-cff.lua15
-rw-r--r--macros/luatex/generic/luaotfload/fontloader-font-con.lua16
-rw-r--r--macros/luatex/generic/luaotfload/fontloader-font-dsp.lua4
-rw-r--r--macros/luatex/generic/luaotfload/fontloader-font-imp-italics.lua18
-rw-r--r--macros/luatex/generic/luaotfload/fontloader-font-otl.lua2
-rw-r--r--macros/luatex/generic/luaotfload/fontloader-font-ots.lua3
-rw-r--r--macros/luatex/generic/luaotfload/fontloader-reference.lua17
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-auxiliary.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-case-el.lua294
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-colors.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-conf.pdfbin77331 -> 78522 bytes
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-configuration.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-database.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-diagnostics.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-dvi.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-embolden.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-fakesc.lua204
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-fallback.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-features.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-filelist.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-glyphlist.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-harf-define.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-harf-plug.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-init.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-latex.pdfbin493305 -> 501958 bytes
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-letterspace.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-loaders.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-log.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-main.tex12
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-multiscript.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-notdef.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-parsers.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-resolvers.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-scripts.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-status.lua186
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-suppress.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-szss.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-tool.12
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-tool.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-tool.pdfbin76773 -> 78960 bytes
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-tool.rst4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-tounicode.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-unicode.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload.conf.52
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload.conf.rst4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload.sty4
-rw-r--r--macros/luatex/generic/luaotfload/scripts-demo.pdfbin21696 -> 21837 bytes
-rw-r--r--macros/luatex/generic/luaotfload/shaper-demo-graphite.pdfbin8566 -> 8559 bytes
-rw-r--r--macros/luatex/generic/luaotfload/shaper-demo.pdfbin8486 -> 8479 bytes
54 files changed, 803 insertions, 284 deletions
diff --git a/macros/luatex/generic/luaotfload/NEWS b/macros/luatex/generic/luaotfload/NEWS
index b0a7f124c1..5b17fe46c1 100644
--- a/macros/luatex/generic/luaotfload/NEWS
+++ b/macros/luatex/generic/luaotfload/NEWS
@@ -1,5 +1,10 @@
Change History
--------------
+2021-01-08 luaotfload v3.17
+
+ * The fontloader has been synced with the context code from 2021-01-07.
+ This improves support for advanced CFF based OpenType variable fonts.
+
2020-12-31 luaotfload v3.16
* The fontloader has been synced with the context code from 2020-12-30
diff --git a/macros/luatex/generic/luaotfload/README.md b/macros/luatex/generic/luaotfload/README.md
index f19c4c5563..6704e66b90 100644
--- a/macros/luatex/generic/luaotfload/README.md
+++ b/macros/luatex/generic/luaotfload/README.md
@@ -1,8 +1,8 @@
# The Luaotfload Package
-VERSION: 3.16
+VERSION: 3.17
-DATE: 2020-12-31
+DATE: 2021-01-08
## Description
diff --git a/macros/luatex/generic/luaotfload/filegraph.pdf b/macros/luatex/generic/luaotfload/filegraph.pdf
index ac40ce55f9..c019d96ba8 100644
--- a/macros/luatex/generic/luaotfload/filegraph.pdf
+++ b/macros/luatex/generic/luaotfload/filegraph.pdf
Binary files differ
diff --git a/macros/luatex/generic/luaotfload/fontloader-2020-12-30.lua b/macros/luatex/generic/luaotfload/fontloader-2021-01-07.lua
index 835eca6695..e333584b00 100644
--- a/macros/luatex/generic/luaotfload/fontloader-2020-12-30.lua
+++ b/macros/luatex/generic/luaotfload/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/macros/luatex/generic/luaotfload/fontloader-font-cff.lua b/macros/luatex/generic/luaotfload/fontloader-font-cff.lua
index b7d45392d6..4e2981011a 100644
--- a/macros/luatex/generic/luaotfload/fontloader-font-cff.lua
+++ b/macros/luatex/generic/luaotfload/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/macros/luatex/generic/luaotfload/fontloader-font-con.lua b/macros/luatex/generic/luaotfload/fontloader-font-con.lua
index 7162338c66..f650e5b03d 100644
--- a/macros/luatex/generic/luaotfload/fontloader-font-con.lua
+++ b/macros/luatex/generic/luaotfload/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/macros/luatex/generic/luaotfload/fontloader-font-dsp.lua b/macros/luatex/generic/luaotfload/fontloader-font-dsp.lua
index 91ee83b19b..8d7c3d359d 100644
--- a/macros/luatex/generic/luaotfload/fontloader-font-dsp.lua
+++ b/macros/luatex/generic/luaotfload/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/macros/luatex/generic/luaotfload/fontloader-font-imp-italics.lua b/macros/luatex/generic/luaotfload/fontloader-font-imp-italics.lua
index 3e172bedee..6c432d7cf4 100644
--- a/macros/luatex/generic/luaotfload/fontloader-font-imp-italics.lua
+++ b/macros/luatex/generic/luaotfload/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/macros/luatex/generic/luaotfload/fontloader-font-otl.lua b/macros/luatex/generic/luaotfload/fontloader-font-otl.lua
index b8e13f1070..19de2bb777 100644
--- a/macros/luatex/generic/luaotfload/fontloader-font-otl.lua
+++ b/macros/luatex/generic/luaotfload/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/macros/luatex/generic/luaotfload/fontloader-font-ots.lua b/macros/luatex/generic/luaotfload/fontloader-font-ots.lua
index 1f4806ee25..880bcb6d50 100644
--- a/macros/luatex/generic/luaotfload/fontloader-font-ots.lua
+++ b/macros/luatex/generic/luaotfload/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/macros/luatex/generic/luaotfload/fontloader-reference.lua b/macros/luatex/generic/luaotfload/fontloader-reference.lua
index 0b220327c3..dde25ac75d 100644
--- a/macros/luatex/generic/luaotfload/fontloader-reference.lua
+++ b/macros/luatex/generic/luaotfload/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/macros/luatex/generic/luaotfload/luaotfload-auxiliary.lua b/macros/luatex/generic/luaotfload/luaotfload-auxiliary.lua
index 2d4e757bc0..fcbd644158 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-auxiliary.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-auxiliary.lua
@@ -6,8 +6,8 @@
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-auxiliary",
- version = "3.16", --TAGVERSION
- date = "2020-12-31", --TAGDATE
+ version = "3.17", --TAGVERSION
+ date = "2021-01-08", --TAGDATE
description = "luaotfload submodule / auxiliary functions",
license = "GPL v2.0"
}
diff --git a/macros/luatex/generic/luaotfload/luaotfload-case-el.lua b/macros/luatex/generic/luaotfload/luaotfload-case-el.lua
new file mode 100644
index 0000000000..1b329c4a65
--- /dev/null
+++ b/macros/luatex/generic/luaotfload/luaotfload-case-el.lua
@@ -0,0 +1,294 @@
+local unicode_data = require'luaotfload-unicode'
+
+local has_accent = 1
+local has_combining_dialytika = 2
+local has_ypogegrammeni = 4
+local has_other_diacritic = 8
+local has_vowel = 16
+local vowels = {
+ [0x03B1] = true,
+ [0x0391] = true,
+ [0x03B5] = true,
+ [0x0395] = true,
+ [0x03B7] = true,
+ [0x0397] = true,
+ [0x03B9] = true,
+ [0x0399] = true,
+ [0x03BF] = true,
+ [0x039F] = true,
+ [0x03C9] = true,
+ [0x03A9] = true,
+ [0x03C5] = true,
+ [0x03A5] = true,
+ [0x03F5] = true,
+}
+local diacritic_data = {
+ [0x0300] = has_accent,
+ [0x0301] = has_accent,
+ [0x0302] = has_accent,
+ [0x0303] = has_accent,
+ [0x0311] = has_accent,
+ [0x0342] = has_accent,
+ [0x0308] = has_combining_dialytika,
+ [0x0344] = has_accent | has_combining_dialytika,
+ [0x0345] = has_ypogegrammeni,
+ [0x0304] = has_other_diacritic,
+ [0x0306] = has_other_diacritic,
+ [0x0313] = has_other_diacritic,
+ [0x0314] = has_other_diacritic,
+ [0x0343] = has_other_diacritic,
+}
+
+local mapping_tables = unicode_data.casemapping
+local soft_dotted = unicode_data.soft_dotted
+local ccc = unicode_data.ccc
+
+local uppercase = mapping_tables.uppercase
+local lowercase = mapping_tables.lowercase
+local cased = mapping_tables.cased
+local case_ignorable = mapping_tables.case_ignorable
+
+local otfregister = fonts.constructors.features.otf.register
+
+local direct = node.direct
+local is_char = direct.is_char
+local has_glyph = direct.has_glyph
+local uses_font = direct.uses_font
+local getnext = direct.getnext
+local setchar = direct.setchar
+local setdisc = direct.setdisc
+local getdisc = direct.getdisc
+local getfield = direct.getfield
+local remove = direct.remove
+local copy = direct.copy
+local insert_after = direct.insert_after
+local traverse = direct.traverse
+
+local disc = node.id'disc'
+
+local nfd = {} -- FIXME: Data
+
+local data do
+ for cp = 1, 0xFF, 1 do -- FIXME: Correct limits
+ local decomposed = nfd[cp]
+ local first = decomposed and decomposed[1] or cp
+ local upper = uppercase[first]
+ local data = vowels[first] and has_vowel or 0
+ if decomposed then
+ for i=1, #decomposed do
+ data = data | (diacritic_data[decomposed[i]] or 0)
+ end
+ end
+ end
+end
+
+--[[ We make some implicit assumptions about contexts in SpecialCasing.txt here which happened to be true when I wrote the code:
+--
+-- * Before_Dot only appears as Not_Before_Dot
+-- * No other context appears with Not_
+-- * Final_Sigma is never language dependent
+-- * Other contexts are always language dependent
+-- * The only languages with special mappings are Lithuanian (lt/"LTH "/lit), Turkish (tr/"TRK "/tur), and Azeri/Azerbaijani (az/"AZE "/aze)
+]]
+
+local font_lang = setmetatable({}, {__index = function(t, fid)
+ local f = font.getfont(fid)
+ local lang = f.specification.features.normal.language
+ lang = lang == 'lth' and 'lt' or lang == 'trk' and 'tr' or lang == 'aze' and 'az' or false
+ t[fid] = lang
+ return lang
+end})
+
+local function is_Final_Sigma(font, mapping, n, after)
+ mapping = mapping.Final_Sigma
+ if not mapping then return false end
+ mapping = mapping._
+ if not mapping then return false end
+ n = getnext(n)
+ repeat
+ while n do
+ local char, id = is_char(n, font)
+ if id == disc then
+ after = getnext(n)
+ n = getfield(n, 'replace')
+ char, id = is_char(n, font)
+ elseif char then
+ if not case_ignorable[char] then
+ return not cased[char] and mapping
+ end
+ n = getnext(n)
+ else
+ return mapping
+ end
+ end
+ n, after = after
+ until not n
+ return mapping
+end
+
+local function is_More_Above(font, mapping, n, after)
+ mapping = mapping.More_Above
+ if not mapping then return false end
+ mapping = mapping._
+ if not mapping then return false end
+ n = getnext(n)
+ repeat
+ while n do
+ local char, id = is_char(n, font)
+ if id == disc then
+ after = getnext(n)
+ n = getfield(n, 'replace')
+ char, id = is_char(n, font)
+ elseif char then
+ local char_ccc = ccc[char]
+ if not char_ccc then
+ return false
+ elseif char_ccc == 230 then
+ return mapping
+ end
+ n = getnext(n)
+ else
+ return false
+ end
+ end
+ n, after = after
+ until not n
+ return false
+end
+
+local function is_Not_Before_Dot(font, mapping, n, after)
+ mapping = mapping.Not_Before_Dot
+ if not mapping then return false end
+ mapping = mapping._
+ if not mapping then return false end
+ n = getnext(n)
+ repeat
+ while n do
+ local char, id = is_char(n, font)
+ if id == disc then
+ after = getnext(n)
+ n = getfield(n, 'replace')
+ char, id = is_char(n, font)
+ elseif char then
+ local char_ccc = ccc[char]
+ if not char_ccc then
+ return mapping
+ elseif char_ccc == 230 then
+ return char ~= 0x0307 and mapping
+ end
+ n = getnext(n)
+ else
+ return mapping
+ end
+ end
+ n, after = after
+ until not n
+ return mapping
+end
+
+local function is_Language_Mapping(font, mapping, n, after, seen_soft_dotted, seen_I)
+ if not mapping then return false end
+ if seen_soft_dotted then
+ local mapping = mapping.After_Soft_Dotted
+ mapping = mapping and mapping._
+ if mapping then
+ return mapping
+ end
+ end
+ if seen_I then
+ local mapping = mapping.After_I
+ mapping = mapping and mapping._
+ if mapping then
+ return mapping
+ end
+ end
+ return is_More_Above(font, mapping, n, after) or is_Not_Before_Dot(font, mapping, n, after) or mapping._ -- Might be nil
+end
+
+local function process(table)
+ local function processor(head, font, after, seen_cased, seen_soft_dotted, seen_I)
+ local lang = font_lang[font]
+ local n = head
+ while n do
+ do
+ local new = has_glyph(n)
+ if n ~= new then
+ seen_cased, seen_soft_dotted, seen_I = nil
+ end
+ n = new
+ end
+ if not n then break end
+ local char, id = is_char(n, font)
+ if char then
+ local mapping = table[char]
+ if mapping then
+ if tonumber(mapping) then
+ setchar(n, mapping)
+ else
+ mapping = seen_cased and is_Final_Sigma(font, mapping, n, after)
+ or lang and is_Language_Mapping(font, mapping[lang], n, after, seen_soft_dotted, seen_I)
+ or mapping._
+ if #mapping == 0 then
+ head, n = remove(head, n)
+ goto continue
+ else
+ setchar(n, mapping[1])
+ for i=2, #mapping do
+ head, n = insert_after(head, n, copy(n))
+ setchar(n, mapping[i])
+ end
+ end
+ end
+ end
+ if not case_ignorable[char] then
+ seen_cased = cased[char] or nil
+ end
+ local char_ccc = ccc[char]
+ if not char_ccc or char_ccc == 230 then
+ seen_I = char == 0x49 or nil
+ seen_soft_dotted = soft_dotted[char]
+ end
+ elseif id == disc and uses_font(n, font) then
+ local pre, post, rep = getdisc(n)
+ local after = getnext(n)
+ pre, post, rep, seen_cased, seen_soft_dotted, seen_I =
+ processor(pre, font, nil, seen_cased, seen_soft_dotted, seen_I),
+ processor(post, font, after),
+ processor(rep, font, after, seen_cased, seen_soft_dotted, seen_I)
+ setdisc(n, pre, post, rep)
+ else
+ seen_cased, seen_soft_dotted, seen_I = nil
+ end
+ n = getnext(n)
+ ::continue::
+ end
+ return head, seen_cased, seen_soft_dotted, seen_I
+ end
+ return function(head, font) return (processor(head, font)) end
+end
+
+local upper_process = process(uppercase)
+otfregister {
+ name = 'upper',
+ description = 'Map to uppercase',
+ default = false,
+ processors = {
+ position = 1,
+ plug = upper_process,
+ node = upper_process,
+ base = upper_process,
+ },
+}
+
+local lower_process = process(lowercase)
+otfregister {
+ name = 'lower',
+ description = 'Map to lowercase',
+ default = false,
+ processors = {
+ position = 1,
+ plug = lower_process,
+ node = lower_process,
+ base = lower_process,
+ },
+}
diff --git a/macros/luatex/generic/luaotfload/luaotfload-colors.lua b/macros/luatex/generic/luaotfload/luaotfload-colors.lua
index c1f8a63a8e..fb1cbd3487 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-colors.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-colors.lua
@@ -5,8 +5,8 @@
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-colors",
- version = "3.16", --TAGVERSION
- date = "2020-12-31", --TAGDATE
+ version = "3.17", --TAGVERSION
+ date = "2021-01-08", --TAGDATE
description = "luaotfload submodule / color",
license = "GPL v2.0",
author = "Khaled Hosny, Elie Roux, Philipp Gesang, Dohyun Kim, David Carlisle",
diff --git a/macros/luatex/generic/luaotfload/luaotfload-conf.pdf b/macros/luatex/generic/luaotfload/luaotfload-conf.pdf
index 52137882d4..afb5a2a4f5 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-conf.pdf
+++ b/macros/luatex/generic/luaotfload/luaotfload-conf.pdf
Binary files differ
diff --git a/macros/luatex/generic/luaotfload/luaotfload-configuration.lua b/macros/luatex/generic/luaotfload/luaotfload-configuration.lua
index e5e1ed24f0..07ac92096d 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-configuration.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-configuration.lua
@@ -7,8 +7,8 @@
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-configuration",
- version = "3.16", --TAGVERSION
- date = "2020-12-31", --TAGDATE
+ version = "3.17", --TAGVERSION
+ date = "2021-01-08", --TAGDATE
description = "luaotfload submodule / config file reader",
license = "GPL v2.0"
}
diff --git a/macros/luatex/generic/luaotfload/luaotfload-database.lua b/macros/luatex/generic/luaotfload/luaotfload-database.lua
index da2d9965a3..288f4a21b2 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-database.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-database.lua
@@ -5,8 +5,8 @@
do -- block to avoid to many local variables error
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-database",
- version = "3.16", --TAGVERSION
- date = "2020-12-31", --TAGDATE
+ version = "3.17", --TAGVERSION
+ date = "2021-01-08", --TAGDATE
description = "luaotfload submodule / database",
license = "GPL v2.0",
author = "Khaled Hosny, Elie Roux, Philipp Gesang, Marcel Krüger",
diff --git a/macros/luatex/generic/luaotfload/luaotfload-diagnostics.lua b/macros/luatex/generic/luaotfload/luaotfload-diagnostics.lua
index 366c7c98ec..67970dc4c5 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-diagnostics.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-diagnostics.lua
@@ -7,8 +7,8 @@
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-diagnostics",
- version = "3.16", --TAGVERSION
- date = "2020-12-31", --TAGDATE
+ version = "3.17", --TAGVERSION
+ date = "2021-01-08", --TAGDATE
description = "luaotfload-tool submodule / diagnostics",
license = "GPL v2.0"
}
diff --git a/macros/luatex/generic/luaotfload/luaotfload-dvi.lua b/macros/luatex/generic/luaotfload/luaotfload-dvi.lua
index 33083045d4..12ca5d7d56 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-dvi.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-dvi.lua
@@ -6,8 +6,8 @@
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-dvi",
- version = "3.16", --TAGVERSION
- date = "2020-12-31", --TAGDATE
+ version = "3.17", --TAGVERSION
+ date = "2021-01-08", --TAGDATE
description = "luaotfload submodule / DVI",
license = "GPL v2.0",
author = "Marcel Krüger",
diff --git a/macros/luatex/generic/luaotfload/luaotfload-embolden.lua b/macros/luatex/generic/luaotfload/luaotfload-embolden.lua
index 73993eead8..d9f68f4d4d 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-embolden.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-embolden.lua
@@ -5,8 +5,8 @@
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-embolden",
- version = "3.16", --TAGVERSION
- date = "2020-12-31", --TAGDATE
+ version = "3.17", --TAGVERSION
+ date = "2021-01-08", --TAGDATE
description = "luaotfload submodule / embolden",
license = "GPL v2.0",
author = "Marcel Krüger"
diff --git a/macros/luatex/generic/luaotfload/luaotfload-fakesc.lua b/macros/luatex/generic/luaotfload/luaotfload-fakesc.lua
new file mode 100644
index 0000000000..421f6fd24d
--- /dev/null
+++ b/macros/luatex/generic/luaotfload/luaotfload-fakesc.lua
@@ -0,0 +1,204 @@
+-----------------------------------------------------------------------
+-- FILE: luaotfload-fakesc.lua
+-- DESCRIPTION: part of luaotfload / fakesc
+-----------------------------------------------------------------------
+
+assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
+ name = "luaotfload-fakesc",
+ version = "3.17", --TAGVERSION
+ date = "2021-01-08", --TAGDATE
+ description = "luaotfload submodule / fakesc",
+ license = "GPL v2.0",
+ author = "Marcel Krüger"
+}
+
+local nodenew = node.direct.new
+local getfont = font.getfont
+local setfont = node.direct.setfont
+local getwhd = node.direct.getwhd
+local insert_after = node.direct.insert_after
+local traverse_char = node.direct.traverse_char
+local protect_glyph = node.direct.protect_glyph
+local otffeatures = fonts.constructors.newfeatures "otf"
+
+local sep = lpeg.P' '^0 * ';' * lpeg.P' '^0
+local codepoint = lpeg.S'0123456789ABCDEF'^4/function(c)return tonumber(c, 16)end
+local codepoint_range = codepoint * ('..' * codepoint + lpeg.Cc(false))
+local function multirawset(table, key1, key2, value)
+ for key = key1,(key2 or key1) do
+ rawset(table, key, value)
+ end
+ return table
+end
+local script_extensions do
+ local entry = lpeg.Cg(codepoint_range * sep * lpeg.Ct((lpeg.C(lpeg.R'AZ' * lpeg.R'az'^1))^1 * ' ') * '#')^-1 * (1-lpeg.P'\n')^0 * '\n'
+ local file = lpeg.Cf(
+ lpeg.Ct''
+ * entry^0
+ , multirawset)
+
+ local f = io.open(kpse.find_file"ScriptExtensions.txt")
+ script_extensions = file:match(f:read'*a')
+ f:close()
+ for cp,t in next, script_extensions do
+ for i=1,#t do
+ t[t[i]] = true
+ end
+ end
+end
+local script_mapping do
+ -- We could extract these from PropertyValueAliases.txt...
+ local script_aliases = {
+ Adlam = "Adlm", Caucasian_Albanian = "Aghb", Ahom = "Ahom", Arabic = "Arab",
+ Imperial_Aramaic = "Armi", Armenian = "Armn", Avestan = "Avst",
+ Balinese = "Bali", Bamum = "Bamu", Bassa_Vah = "Bass", Batak = "Batk",
+ Bengali = "Beng", Bhaiksuki = "Bhks", Bopomofo = "Bopo", Brahmi = "Brah",
+ Braille = "Brai", Buginese = "Bugi", Buhid = "Buhd", Chakma = "Cakm",
+ Canadian_Aboriginal = "Cans", Carian = "Cari", Cham = "Cham",
+ Cherokee = "Cher", Coptic = "Copt", Cypriot = "Cprt", Cyrillic = "Cyrl",
+ Devanagari = "Deva", Dogra = "Dogr", Deseret = "Dsrt", Duployan = "Dupl",
+ Egyptian_Hieroglyphs = "Egyp", Elbasan = "Elba", Elymaic = "Elym",
+ Ethiopic = "Ethi", Georgian = "Geor", Glagolitic = "Glag",
+ Gunjala_Gondi = "Gong", Masaram_Gondi = "Gonm", Gothic = "Goth",
+ Grantha = "Gran", Greek = "Grek", Gujarati = "Gujr", Gurmukhi = "Guru",
+ Hangul = "Hang", Han = "Hani", Hanunoo = "Hano", Hatran = "Hatr",
+ Hebrew = "Hebr", Hiragana = "Hira", Anatolian_Hieroglyphs = "Hluw",
+ Pahawh_Hmong = "Hmng", Nyiakeng_Puachue_Hmong = "Hmnp",
+ Katakana_Or_Hiragana = "Hrkt", Old_Hungarian = "Hung", Old_Italic = "Ital",
+ Javanese = "Java", Kayah_Li = "Kali", Katakana = "Kana",
+ Kharoshthi = "Khar", Khmer = "Khmr", Khojki = "Khoj", Kannada = "Knda",
+ Kaithi = "Kthi", Tai_Tham = "Lana", Lao = "Laoo", Latin = "Latn",
+ Lepcha = "Lepc", Limbu = "Limb", Linear_A = "Lina", Linear_B = "Linb",
+ Lisu = "Lisu", Lycian = "Lyci", Lydian = "Lydi", Mahajani = "Mahj",
+ Makasar = "Maka", Mandaic = "Mand", Manichaean = "Mani", Marchen = "Marc",
+ Medefaidrin = "Medf", Mende_Kikakui = "Mend", Meroitic_Cursive = "Merc",
+ Meroitic_Hieroglyphs = "Mero", Malayalam = "Mlym", Modi = "Modi",
+ Mongolian = "Mong", Mro = "Mroo", Meetei_Mayek = "Mtei", Multani = "Mult",
+ Myanmar = "Mymr", Nandinagari = "Nand", Old_North_Arabian = "Narb",
+ Nabataean = "Nbat", Newa = "Newa", Nko = "Nkoo", Nushu = "Nshu",
+ Ogham = "Ogam", Ol_Chiki = "Olck", Old_Turkic = "Orkh", Oriya = "Orya",
+ Osage = "Osge", Osmanya = "Osma", Palmyrene = "Palm", Pau_Cin_Hau = "Pauc",
+ Old_Permic = "Perm", Phags_Pa = "Phag", Inscriptional_Pahlavi = "Phli",
+ Psalter_Pahlavi = "Phlp", Phoenician = "Phnx", Miao = "Plrd",
+ Inscriptional_Parthian = "Prti", Rejang = "Rjng", Hanifi_Rohingya = "Rohg",
+ Runic = "Runr", Samaritan = "Samr", Old_South_Arabian = "Sarb",
+ Saurashtra = "Saur", SignWriting = "Sgnw", Shavian = "Shaw",
+ Sharada = "Shrd", Siddham = "Sidd", Khudawadi = "Sind", Sinhala = "Sinh",
+ Sogdian = "Sogd", Old_Sogdian = "Sogo", Sora_Sompeng = "Sora",
+ Soyombo = "Soyo", Sundanese = "Sund", Syloti_Nagri = "Sylo",
+ Syriac = "Syrc", Tagbanwa = "Tagb", Takri = "Takr", Tai_Le = "Tale",
+ New_Tai_Lue = "Talu", Tamil = "Taml", Tangut = "Tang", Tai_Viet = "Tavt",
+ Telugu = "Telu", Tifinagh = "Tfng", Tagalog = "Tglg", Thaana = "Thaa",
+ Thai = "Thai", Tibetan = "Tibt", Tirhuta = "Tirh", Ugaritic = "Ugar",
+ Vai = "Vaii", Warang_Citi = "Wara", Wancho = "Wcho", Old_Persian = "Xpeo",
+ Cuneiform = "Xsux", Yi = "Yiii", Zanabazar_Square = "Zanb",
+ Inherited = "Zinh", Common = "Zyyy", Unknown = "Zzzz",
+ }
+ local entry = lpeg.Cg(codepoint_range * sep * ((lpeg.R'AZ' + lpeg.R'az' + '_')^1/script_aliases))^-1 * (1-lpeg.P'\n')^0 * '\n'
+ -- local entry = lpeg.Cg(codepoint_range * sep * lpeg.Cc(true))^-1 * (1-lpeg.P'\n')^0 * '\n'
+ local file = lpeg.Cf(
+ lpeg.Ct''
+ * entry^0
+ , multirawset)
+
+ local f = io.open(kpse.find_file"Scripts.txt")
+ script_mapping = file:match(f:read'*a')
+ f:close()
+end
+
+local additional_scripts_tables = { }
+
+local additional_scripts_fonts = setmetatable({}, {
+ __index = function(t, fid)
+ local f = font.getfont(fid)
+ -- table.tofile('myfont2', f)
+ local res = f and f.additional_scripts or false
+ t[fid] = res
+ return res
+ end,
+})
+
+local function makecombifont(tfmdata, _, additional_scripts)
+ local basescript = tfmdata.properties.script
+ local scripts = {basescript = false}
+ additional_scripts = additional_scripts_tables[additional_scripts]
+ for script, fontname in pairs(additional_scripts) do
+ if script ~= basescript then
+ local f = fonts.definers.read(fontname, tfmdata.size)
+ local fid
+ if type(f) == 'table' then
+ fid = font.define(f)
+ else
+ error[[FIXME???]]
+ end
+ scripts[script] = {
+ fid = fid,
+ font = f,
+ characters = f.characters,
+ }
+ end
+ end
+ tfmdata.additional_scripts = scripts
+end
+
+local glyph_id = node.id'glyph'
+-- TODO: unset last_script, matching parentheses etc
+function domultiscript(head, _, _, _, direction)
+ head = node.direct.todirect(head)
+ local last_fid, last_fonts, last_script
+ for cur, cid, fid in traverse_char(head) do
+ if fid ~= last_fid then
+ last_fid, last_fonts, last_script = fid, additional_scripts_fonts[fid]
+ end
+ if last_fonts then
+ local mapped_scr = script_mapping[cid]
+ if mapped_scr == "Zinh" then
+ mapped_scr = last_script
+ else
+ local additional_scr = script_extensions[cid]
+ if additional_scripts then
+ if additional_scripts[last_script] then
+ mapped_scr = last_script
+ elseif not last_fonts[mapped_scr] then
+ for i = 1, #additional_scripts do
+ if last_fonts[additional_scripts[i]] then
+ mapped_scr = additional_scripts[i]
+ break
+ end
+ end
+ end
+ elseif mapped_scr == "Zyyy" then
+ mapped_scr = last_script
+ end
+ end
+ last_script = mapped_scr
+ local mapped_font = last_fonts[mapped_scr]
+ if mapped_font then
+ setfont(cur, mapped_font.fid)
+ end
+ end
+ end
+end
+
+function luaotfload.add_multiscript(name, fonts)
+ if fonts == nil then
+ fonts = name
+ name = #additional_scripts_fonts + 1
+ end
+ additional_scripts_tables[name] = fonts
+ return name
+end
+
+otffeatures.register {
+ name = "multiscript",
+ description = "Combine fonts for multiple scripts",
+ manipulators = {
+ node = makecombifont,
+ },
+ -- processors = { -- processors would be nice, but they are applied
+ -- -- too late for our purposes
+ -- node = donotdef,
+ -- }
+}
+
+--- vim:sw=2:ts=2:expandtab:tw=71
diff --git a/macros/luatex/generic/luaotfload/luaotfload-fallback.lua b/macros/luatex/generic/luaotfload/luaotfload-fallback.lua
index 17bd7ca404..0caef93589 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-fallback.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-fallback.lua
@@ -5,8 +5,8 @@
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-fallback",
- version = "3.16", --TAGVERSION
- date = "2020-12-31", --TAGDATE
+ version = "3.17", --TAGVERSION
+ date = "2021-01-08", --TAGDATE
description = "luaotfload submodule / fallback",
license = "GPL v2.0",
author = "Marcel Krüger"
diff --git a/macros/luatex/generic/luaotfload/luaotfload-features.lua b/macros/luatex/generic/luaotfload/luaotfload-features.lua
index 67c9f93565..adce910c4e 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-features.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-features.lua
@@ -5,8 +5,8 @@
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-features",
- version = "3.16", --TAGVERSION
- date = "2020-12-31", --TAGDATE
+ version = "3.17", --TAGVERSION
+ date = "2021-01-08", --TAGDATE
description = "luaotfload submodule / features",
license = "GPL v2.0",
author = "Hans Hagen, Khaled Hosny, Elie Roux, Philipp Gesang, Marcel Krüger",
diff --git a/macros/luatex/generic/luaotfload/luaotfload-filelist.lua b/macros/luatex/generic/luaotfload/luaotfload-filelist.lua
index 69195603ed..10421ee372 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-filelist.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-filelist.lua
@@ -6,8 +6,8 @@
if luaotfload_module then luaotfload_module {
name = "luaotfload-filelist",
- version = "3.16", --TAGVERSION
- date = "2020-12-31", --TAGDATE
+ version = "3.17", --TAGVERSION
+ date = "2021-01-08", --TAGDATE
description = "luaotfload submodule / filelist",
license = "GPL v2.0"
} end
diff --git a/macros/luatex/generic/luaotfload/luaotfload-glyphlist.lua b/macros/luatex/generic/luaotfload/luaotfload-glyphlist.lua
index aefc8369c6..7a34f29ca1 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-glyphlist.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-glyphlist.lua
@@ -1,8 +1,8 @@
if luaotfload_module then
luaotfload_module {
name = "luaotfload-glyphlist",
- version = "3.16", --TAGVERSION
- date = "2020-12-31", --TAGDATE
+ version = "3.17", --TAGVERSION
+ date = "2021-01-08", --TAGDATE
description = "luaotfload submodule / autogenerated glyphlist",
copyright = "derived from https://raw.githubusercontent.com/adobe-type-tools/agl-aglfn/master/glyphlist.txt",
original = "Adobe Glyph List, version 2.0, September 20, 2002",
diff --git a/macros/luatex/generic/luaotfload/luaotfload-harf-define.lua b/macros/luatex/generic/luaotfload/luaotfload-harf-define.lua
index 5be4acfa65..f470b13772 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-harf-define.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-harf-define.lua
@@ -5,8 +5,8 @@
do -- block to avoid to many local variables error
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-harf-define",
- version = "3.16", --TAGVERSION
- date = "2020-12-31", --TAGDATE
+ version = "3.17", --TAGVERSION
+ date = "2021-01-08", --TAGDATE
description = "luaotfload submodule / HarfBuzz font loading",
license = "GPL v2.0",
author = "Khaled Hosny, Marcel Krüger",
diff --git a/macros/luatex/generic/luaotfload/luaotfload-harf-plug.lua b/macros/luatex/generic/luaotfload/luaotfload-harf-plug.lua
index c40aa3b72e..bf7028c54d 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-harf-plug.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-harf-plug.lua
@@ -5,8 +5,8 @@
do -- block to avoid to many local variables error
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-harf-plug",
- version = "3.16", --TAGVERSION
- date = "2020-12-31", --TAGDATE
+ version = "3.17", --TAGVERSION
+ date = "2021-01-08", --TAGDATE
description = "luaotfload submodule / HarfBuzz shaping",
license = "GPL v2.0",
author = "Khaled Hosny, Marcel Krüger",
diff --git a/macros/luatex/generic/luaotfload/luaotfload-init.lua b/macros/luatex/generic/luaotfload/luaotfload-init.lua
index 3b67738fe5..c0ec8cd84b 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-init.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-init.lua
@@ -7,8 +7,8 @@
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-init",
- version = "3.16", --TAGVERSION
- date = "2020-12-31", --TAGDATE
+ version = "3.17", --TAGVERSION
+ date = "2021-01-08", --TAGDATE
description = "luaotfload submodule / initialization",
license = "GPL v2.0"
}
diff --git a/macros/luatex/generic/luaotfload/luaotfload-latex.pdf b/macros/luatex/generic/luaotfload/luaotfload-latex.pdf
index 299ff211aa..84c541dc0c 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-latex.pdf
+++ b/macros/luatex/generic/luaotfload/luaotfload-latex.pdf
Binary files differ
diff --git a/macros/luatex/generic/luaotfload/luaotfload-letterspace.lua b/macros/luatex/generic/luaotfload/luaotfload-letterspace.lua
index c1a3d6f1b7..bbdaa729e2 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-letterspace.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-letterspace.lua
@@ -5,8 +5,8 @@
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-letterspace",
- version = "3.16", --TAGVERSION
- date = "2020-12-31", --TAGDATE
+ version = "3.17", --TAGVERSION
+ date = "2021-01-08", --TAGDATE
description = "luaotfload submodule / letterspacing",
license = "GPL v2.0",
copyright = "PRAGMA ADE / ConTeXt Development Team",
diff --git a/macros/luatex/generic/luaotfload/luaotfload-loaders.lua b/macros/luatex/generic/luaotfload/luaotfload-loaders.lua
index 84c5555f5d..e58f2429fe 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-loaders.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-loaders.lua
@@ -8,8 +8,8 @@
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-loaders",
- version = "3.16", --TAGVERSION
- date = "2020-12-31", --TAGDATE
+ version = "3.17", --TAGVERSION
+ date = "2021-01-08", --TAGDATE
description = "luaotfload submodule / callback handling",
license = "GPL v2.0"
}
diff --git a/macros/luatex/generic/luaotfload/luaotfload-log.lua b/macros/luatex/generic/luaotfload/luaotfload-log.lua
index 58fc403e62..38208241f7 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-log.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-log.lua
@@ -6,8 +6,8 @@
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-log",
- version = "3.16", --TAGVERSION
- date = "2020-12-31", --TAGDATE
+ version = "3.17", --TAGVERSION
+ date = "2021-01-08", --TAGDATE
description = "luaotfload submodule / logging",
license = "GPL v2.0",
author = "Khaled Hosny, Elie Roux, Philipp Gesang",
diff --git a/macros/luatex/generic/luaotfload/luaotfload-main.tex b/macros/luatex/generic/luaotfload/luaotfload-main.tex
index d1f698f684..acc136fd9d 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-main.tex
+++ b/macros/luatex/generic/luaotfload/luaotfload-main.tex
@@ -1,4 +1,4 @@
-%% Copyright (C) 2009-2020
+%% Copyright (C) 2009-2021
%%
%% by Elie Roux <elie.roux@telecom-bretagne.eu>
%% and Khaled Hosny <khaledhosny@eglug.org>
@@ -32,7 +32,7 @@
\beginfrontmatter
\setdocumenttitle {The \identifier{luaotfload} package}
- \setdocumentdate {2020-12-31 v3.16}
+ \setdocumentdate {2021-01-08 v3.17}
\setdocumentauthor {LaTeX3 Project\\
Elie Roux · Khaled Hosny · Philipp Gesang · Ulrike Fischer · Marcel Krüger\\
Home: \hyperlink {https://github.com/latex3/luaotfload}}
@@ -62,6 +62,14 @@ Supported is the \identifier{luatex} versions of a current TeXLive 2019 (and a c
\endsection
\beginsection{Changes}
+\beginsubsection {New in version 3.17 (by Ulrike Fischer/Marcel Krüger)}
+\begin{itemize}
+ \item The experimental support for OpenType variable fonts has been extended
+ to more reliably support modern fonts.
+ \item A number of small bugfixes.
+ \end{itemize}
+\endsubsection
+
\beginsubsection {New in version 3.16 (by Ulrike Fischer/Marcel Krüger)}
\begin{itemize}
\item The entry point is called \identifier{luaotfload.lua} instead of
diff --git a/macros/luatex/generic/luaotfload/luaotfload-multiscript.lua b/macros/luatex/generic/luaotfload/luaotfload-multiscript.lua
index a632ab4c6a..7caae3a222 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-multiscript.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-multiscript.lua
@@ -5,8 +5,8 @@
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-multiscript",
- version = "3.16", --TAGVERSION
- date = "2020-12-31", --TAGDATE
+ version = "3.17", --TAGVERSION
+ date = "2021-01-08", --TAGDATE
description = "luaotfload submodule / multiscript",
license = "GPL v2.0",
author = "Marcel Krüger"
diff --git a/macros/luatex/generic/luaotfload/luaotfload-notdef.lua b/macros/luatex/generic/luaotfload/luaotfload-notdef.lua
index 7b9664fa7e..aa4ce3076e 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-notdef.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-notdef.lua
@@ -5,8 +5,8 @@
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-notdef",
- version = "3.16", --TAGVERSION
- date = "2020-12-31", --TAGDATE
+ version = "3.17", --TAGVERSION
+ date = "2021-01-08", --TAGDATE
description = "luaotfload submodule / notdef",
license = "GPL v2.0",
author = "Marcel Krüger"
diff --git a/macros/luatex/generic/luaotfload/luaotfload-parsers.lua b/macros/luatex/generic/luaotfload/luaotfload-parsers.lua
index 7810c3a49e..40973db882 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-parsers.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-parsers.lua
@@ -7,8 +7,8 @@
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-parsers",
- version = "3.16", --TAGVERSION
- date = "2020-12-31", --TAGDATE
+ version = "3.17", --TAGVERSION
+ date = "2021-01-08", --TAGDATE
description = "luaotfload submodule / parsers",
license = "GPL v2.0"
}
diff --git a/macros/luatex/generic/luaotfload/luaotfload-resolvers.lua b/macros/luatex/generic/luaotfload/luaotfload-resolvers.lua
index 2ea85de781..4aa27a513b 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-resolvers.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-resolvers.lua
@@ -11,8 +11,8 @@
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-resolvers",
- version = "3.16", --TAGVERSION
- date = "2020-12-31", --TAGDATE
+ version = "3.17", --TAGVERSION
+ date = "2021-01-08", --TAGDATE
description = "luaotfload submodule / resolvers",
license = "GPL v2.0"
}
diff --git a/macros/luatex/generic/luaotfload/luaotfload-scripts.lua b/macros/luatex/generic/luaotfload/luaotfload-scripts.lua
index b6c34b9e3e..003dda6c07 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-scripts.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-scripts.lua
@@ -5,8 +5,8 @@
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-script",
- version = "3.16", --TAGVERSION
- date = "2020-12-31", --TAGDATE
+ version = "3.17", --TAGVERSION
+ date = "2021-01-08", --TAGDATE
description = "luaotfload submodule / Script helpers",
license = "CC0 1.0 Universal",
author = "Marcel Krüger"
diff --git a/macros/luatex/generic/luaotfload/luaotfload-status.lua b/macros/luatex/generic/luaotfload/luaotfload-status.lua
index 0ad3c01ead..ef89e65010 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-status.lua
+++ b/macros/luatex/generic/luaotfload/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", "7bcfb5e4f48a1a34be6ddfcee2b1e49d" },
- { "mktests", "c7cff7025962922944376acc1ffa9c47" },
- { "mkstatus", "f3b00b5999440afce64bdc448f3fda9a" },
- { "mkcharacters", "92c24bb582fc84c0365634f29eb89863" },
- { "mkglyphlist", "95bbf91338214d40b2102114285ccd3f" },
- { "mkimport", "5dacc09f3358ba9b90cf3a804f9a535c" },
- { "luaotfload-glyphlist.lua", "bb6a9912a0944b3b21a61fce247dd728" },
- { "luaotfload-characters.lua", "6a46f4749368e4f56a863da9c61b7bd6" },
- { "luaotfload-dvi.lua", "34e1550905555da63304e07797168c69" },
- { "luaotfload-tounicode.lua", "09fa475eeb7b160d3eb124e9107d4e03" },
- { "luaotfload-unicode.lua", "153f97b086fd38dcb7f4850d95a41016" },
- { "luaotfload-resolvers.lua", "2441b9624775fbcea6617e6cc72b424d" },
- { "luaotfload-parsers.lua", "623d33f43813eda562cbfef5528753de" },
- { "luaotfload-fallback.lua", "ec702c1c9407eba7bfe80b59c36f3f67" },
- { "luaotfload-szss.lua", "ee4c0c070dcacf4d3e43f52948611392" },
- { "luaotfload-scripts.lua", "14a19085cd5288592ebd5e24acf8514a" },
- { "luaotfload-multiscript.lua", "4a283df608be713b0b666515fb6b9789" },
- { "luaotfload-loaders.lua", "f0eeb293d8f448413631b1ffff554e39" },
- { "luaotfload-harf-plug.lua", "34182344e7985d1267dacde37f387433" },
- { "luaotfload-harf-define.lua", "252c36178f4f9ab066bdc15adfe809f1" },
- { "luaotfload-notdef.lua", "06278786a6f2f8ddd3749b5d75f611db" },
- { "luaotfload-embolden.lua", "8bdfebc528d078086c7fd0747815df74" },
- { "luaotfload-letterspace.lua", "57d6026196fa62f9891d7a7a7300f63f" },
- { "luaotfload-features.lua", "2219adcecef7362bbbe46da2e5ed005b" },
- { "luaotfload-database.lua", "e2bea14191641d3a18b04064752d0fd4" },
- { "luaotfload-configuration.lua", "dfa0521ef327c68573ea587ed7b989c8" },
- { "luaotfload-colors.lua", "32bf6714aa19f6c291922cd1be01b629" },
- { "luaotfload-auxiliary.lua", "4c18ffcc0d1cbef3ad4db2b6440a863e" },
- { "luaotfload-filelist.lua", "8bb0a321254e6f04a1fa776d2f67747f" },
- { "luaotfload-tool.lua", "ac7b0adfd9d0096228bed8ae61540a70" },
- { "luaotfload-diagnostics.lua", "21bca70ad0b6f7dd1d9d57c7b1513809" },
- { "luaotfload-log.lua", "d9c45eff233d71c3824f3a579694d737" },
- { "luaotfload-init.lua", "265f1bfe8789fbb0cc3bff3a780f5494" },
- { "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", "4bc43036e9796fccb0b8869f4b05bf2e" },
+ { "mktests", "918cb50be9ee8bd645ac1a27dc501e8c" },
+ { "mkstatus", "d3bc6e7d0f6deb80db4edc6975e2ac5c" },
+ { "mkcharacters", "bfca0e96e1e351afe7077502f9595af9" },
+ { "mkglyphlist", "7a8a8fdc0eac7fac2f13ec8f4e8e7aa9" },
+ { "mkimport", "7d62f1042e548f8b9368f26b9ba4be5c" },
+ { "luaotfload-glyphlist.lua", "6097b4fd28b303a3ae7577e94f86610d" },
+ { "luaotfload-characters.lua", "76415ca3ede312cad6e09038323489ae" },
+ { "luaotfload-dvi.lua", "a0d33e699c250c0e4abd4cfa1b974b6e" },
+ { "luaotfload-tounicode.lua", "e07e112222777070250fbc980b2e6b85" },
+ { "luaotfload-unicode.lua", "1d7fd6ab63640cb6c8e2091ac5a57915" },
+ { "luaotfload-resolvers.lua", "b387d9435738f7ce8cf1e6af86b565a6" },
+ { "luaotfload-parsers.lua", "dba42cb2f6bbfa13b9a56d0e4a2b2f44" },
+ { "luaotfload-fallback.lua", "a3c8c048b14a304d3352871014ef1343" },
+ { "luaotfload-szss.lua", "2413a2be98181fe77f7e110369194769" },
+ { "luaotfload-scripts.lua", "2b924be852e17191e651faf5a2097e12" },
+ { "luaotfload-multiscript.lua", "db7b6c7791b4b909d12234620ff7973d" },
+ { "luaotfload-loaders.lua", "d169564522ac7194e7410d8263cd1b31" },
+ { "luaotfload-harf-plug.lua", "8fdc1ba513a6026546b883259e559c7e" },
+ { "luaotfload-harf-define.lua", "1c9a663bb7bfa650b93dcf01d5450675" },
+ { "luaotfload-notdef.lua", "26fed1a76150718e05c8c56b1983ebdd" },
+ { "luaotfload-embolden.lua", "5506419bc583d450f252542b1105d6ce" },
+ { "luaotfload-letterspace.lua", "1a518a55f6663ce13866416a5b94d6a4" },
+ { "luaotfload-features.lua", "33fdd06674606d043599dc4ea9b2a56b" },
+ { "luaotfload-database.lua", "4a0f9f3b500df0d8a8234a0954065e46" },
+ { "luaotfload-configuration.lua", "589ca99522479a0929d6824bafa36f63" },
+ { "luaotfload-colors.lua", "7c201914c79310d9e79e75dfc7ee982b" },
+ { "luaotfload-auxiliary.lua", "8e427ec79ced91d9fc6fbcece159d042" },
+ { "luaotfload-filelist.lua", "3cd6b9d12ba2fb48783e393593cd9afd" },
+ { "luaotfload-tool.lua", "f4534033397387433601040694b70c6b" },
+ { "luaotfload-diagnostics.lua", "473e1a3cd00e4b277b1f7e17b13254da" },
+ { "luaotfload-log.lua", "809e4afac4e070b619512461a6fedd90" },
+ { "luaotfload-init.lua", "e3b832a9efc91c977044383640835069" },
+ { "luaotfload-main.lua", "b19c9cc34cf1d676c39f872cfb41aef6" },
},
["notes"]={
- ["committer"]="Ulrike Fischer <fischer@troubleshooting-tex.de>",
- ["description"]="v3.16/2020-12-31",
- ["loader"]="fontloader-2020-12-30.lua",
- ["revision"]="d1423b56efe2649e2881657747cee8d54cf64e12",
- ["timestamp"]="2020-12-31 12:35:44 +0100",
+ ["committer"]="Marcel Fabian Krüger <tex@2krueger.de>",
+ ["description"]="v3.17/2021-01-08",
+ ["loader"]="fontloader-2021-01-07.lua",
+ ["revision"]="359a8a50a0d1f778e358cc1507b6f08ec17b6898",
+ ["timestamp"]="2021-01-08 14:15:42 +0100",
},
} \ No newline at end of file
diff --git a/macros/luatex/generic/luaotfload/luaotfload-suppress.lua b/macros/luatex/generic/luaotfload/luaotfload-suppress.lua
index c4c0c1010e..d78428ca96 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-suppress.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-suppress.lua
@@ -5,8 +5,8 @@
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-suppress",
- version = "3.16", --TAGVERSION
- date = "2020-12-31", --TAGDATE
+ version = "3.17", --TAGVERSION
+ date = "2021-01-08", --TAGDATE
description = "luaotfload submodule / suppress",
license = "GPL v2.0",
author = "Marcel Krüger"
diff --git a/macros/luatex/generic/luaotfload/luaotfload-szss.lua b/macros/luatex/generic/luaotfload/luaotfload-szss.lua
index 4c7de4d11b..88b02350f0 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-szss.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-szss.lua
@@ -5,8 +5,8 @@
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-szss",
- version = "3.16", --TAGVERSION
- date = "2020-12-31", --TAGDATE
+ version = "3.17", --TAGVERSION
+ date = "2021-01-08", --TAGDATE
description = "luaotfload submodule / Special feature handling",
license = "GPL v2.0",
author = "Marcel Krüger"
diff --git a/macros/luatex/generic/luaotfload/luaotfload-tool.1 b/macros/luatex/generic/luaotfload/luaotfload-tool.1
index 7cd4934ab0..86f70ac706 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-tool.1
+++ b/macros/luatex/generic/luaotfload/luaotfload-tool.1
@@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
-.TH LUAOTFLOAD-TOOL 1 "2020-12-31" "3.16" "text processing"
+.TH LUAOTFLOAD-TOOL 1 "2021-01-08" "3.17" "text processing"
.SH NAME
luaotfload-tool \- generate and query the Luaotfload font names database
.
diff --git a/macros/luatex/generic/luaotfload/luaotfload-tool.lua b/macros/luatex/generic/luaotfload/luaotfload-tool.lua
index fd66a9f79c..0c58363903 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-tool.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-tool.lua
@@ -9,8 +9,8 @@
local ProvidesLuaModule = {
name = "luaotfload-tool",
- version = "3.16", --TAGVERSION
- date = "2020-12-31", --TAGDATE
+ version = "3.17", --TAGVERSION
+ date = "2021-01-08", --TAGDATE
description = "luaotfload-tool / database functionality",
license = "GPL v2.0"
}
diff --git a/macros/luatex/generic/luaotfload/luaotfload-tool.pdf b/macros/luatex/generic/luaotfload/luaotfload-tool.pdf
index e35752ab17..3836a25b15 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-tool.pdf
+++ b/macros/luatex/generic/luaotfload/luaotfload-tool.pdf
Binary files differ
diff --git a/macros/luatex/generic/luaotfload/luaotfload-tool.rst b/macros/luatex/generic/luaotfload/luaotfload-tool.rst
index c4c15d916f..9ebc3127a1 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-tool.rst
+++ b/macros/luatex/generic/luaotfload/luaotfload-tool.rst
@@ -6,9 +6,9 @@
generate and query the Luaotfload font names database
-----------------------------------------------------------------------
-:Date: 2020-12-31
+:Date: 2021-01-08
:Copyright: GPL v2.0
-:Version: 3.16
+:Version: 3.17
:Manual section: 1
:Manual group: text processing
diff --git a/macros/luatex/generic/luaotfload/luaotfload-tounicode.lua b/macros/luatex/generic/luaotfload/luaotfload-tounicode.lua
index f4eeec1125..5c92785066 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-tounicode.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-tounicode.lua
@@ -5,8 +5,8 @@
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-tounicode",
- version = "3.16", --TAGVERSION
- date = "2020-12-31", --TAGDATE
+ version = "3.17", --TAGVERSION
+ date = "2021-01-08", --TAGDATE
description = "luaotfload submodule / tounicode",
license = "GPL v2.0",
author = "Hans Hagen, Khaled Hosny, Elie Roux, Philipp Gesang, Marcel Krüger",
diff --git a/macros/luatex/generic/luaotfload/luaotfload-unicode.lua b/macros/luatex/generic/luaotfload/luaotfload-unicode.lua
index a05c660a36..5320c48ab2 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-unicode.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-unicode.lua
@@ -5,8 +5,8 @@
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-unicode",
- version = "3.16", --TAGVERSION
- date = "2020-12-31", --TAGDATE
+ version = "3.17", --TAGVERSION
+ date = "2021-01-08", --TAGDATE
description = "luaotfload submodule / Unicode helpers",
license = "CC0 1.0 Universal",
author = "Marcel Krüger"
diff --git a/macros/luatex/generic/luaotfload/luaotfload.conf.5 b/macros/luatex/generic/luaotfload/luaotfload.conf.5
index 4620ef0f2f..efb8b5fff3 100644
--- a/macros/luatex/generic/luaotfload/luaotfload.conf.5
+++ b/macros/luatex/generic/luaotfload/luaotfload.conf.5
@@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
-.TH LUAOTFLOAD.CONF 5 "2020-12-31" "3.16" "text processing"
+.TH LUAOTFLOAD.CONF 5 "2021-01-08" "3.17" "text processing"
.SH NAME
luaotfload.conf \- Luaotfload configuration file
.
diff --git a/macros/luatex/generic/luaotfload/luaotfload.conf.rst b/macros/luatex/generic/luaotfload/luaotfload.conf.rst
index 5905eb3811..645a659d2b 100644
--- a/macros/luatex/generic/luaotfload/luaotfload.conf.rst
+++ b/macros/luatex/generic/luaotfload/luaotfload.conf.rst
@@ -6,9 +6,9 @@
Luaotfload configuration file
-----------------------------------------------------------------------
-:Date: 2020-12-31
+:Date: 2021-01-08
:Copyright: GPL v2.0
-:Version: 3.16
+:Version: 3.17
:Manual section: 5
:Manual group: text processing
diff --git a/macros/luatex/generic/luaotfload/luaotfload.lua b/macros/luatex/generic/luaotfload/luaotfload.lua
index 843c84a3bf..4a3cdb78ae 100644
--- a/macros/luatex/generic/luaotfload/luaotfload.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload.lua
@@ -20,8 +20,8 @@ local authors = "\z
-- version number is used below!
local ProvidesLuaModule = {
name = "luaotfload",
- version = "3.16", --TAGVERSION
- date = "2020-12-31", --TAGDATE
+ version = "3.17", --TAGVERSION
+ date = "2021-01-08", --TAGDATE
description = "Lua based OpenType font support",
author = authors,
copyright = authors,
diff --git a/macros/luatex/generic/luaotfload/luaotfload.sty b/macros/luatex/generic/luaotfload/luaotfload.sty
index d9a3397d14..915b418693 100644
--- a/macros/luatex/generic/luaotfload/luaotfload.sty
+++ b/macros/luatex/generic/luaotfload/luaotfload.sty
@@ -1,4 +1,4 @@
-%% Copyright (C) 2009-2020
+%% Copyright (C) 2009-2021
%%
%% by Elie Roux <elie.roux@telecom-bretagne.eu>
%% and Khaled Hosny <khaledhosny@eglug.org>
@@ -39,7 +39,7 @@
\fi
\ifdefined\ProvidesPackage
\ProvidesPackage{luaotfload}%
- [2020/12/31 v3.16 OpenType layout system]
+ [2021/01/08 v3.17 OpenType layout system]
\fi
\directlua{
if xpcall(function ()%
diff --git a/macros/luatex/generic/luaotfload/scripts-demo.pdf b/macros/luatex/generic/luaotfload/scripts-demo.pdf
index 5c00e2f4a6..29d47c2695 100644
--- a/macros/luatex/generic/luaotfload/scripts-demo.pdf
+++ b/macros/luatex/generic/luaotfload/scripts-demo.pdf
Binary files differ
diff --git a/macros/luatex/generic/luaotfload/shaper-demo-graphite.pdf b/macros/luatex/generic/luaotfload/shaper-demo-graphite.pdf
index fa1bda41bb..bfb4258474 100644
--- a/macros/luatex/generic/luaotfload/shaper-demo-graphite.pdf
+++ b/macros/luatex/generic/luaotfload/shaper-demo-graphite.pdf
Binary files differ
diff --git a/macros/luatex/generic/luaotfload/shaper-demo.pdf b/macros/luatex/generic/luaotfload/shaper-demo.pdf
index b19632bbc7..056db0fac3 100644
--- a/macros/luatex/generic/luaotfload/shaper-demo.pdf
+++ b/macros/luatex/generic/luaotfload/shaper-demo.pdf
Binary files differ