[latex3-commits] [git/LaTeX3-latex3-luaotfload] dev: Import new fontloader (3ded360)
Marcel Fabian Krüger
tex at 2krueger.de
Thu May 20 19:44:53 CEST 2021
Repository : https://github.com/latex3/luaotfload
On branch : dev
Link : https://github.com/latex3/luaotfload/commit/3ded360750ac7353f911fd752e87ef1b289aed6d
>---------------------------------------------------------------
commit 3ded360750ac7353f911fd752e87ef1b289aed6d
Author: Marcel Fabian Krüger <tex at 2krueger.de>
Date: Thu May 20 19:44:53 2021 +0200
Import new fontloader
>---------------------------------------------------------------
3ded360750ac7353f911fd752e87ef1b289aed6d
src/auto/fontloader-2021-05-20.lua | 42 ++++++++++++-------------
src/auto/luaotfload-status.lua | 16 +++++-----
src/fontloader/misc/fontloader-font-otj.lua | 35 ++++++++++-----------
src/fontloader/misc/fontloader-font-otl.lua | 2 +-
src/fontloader/misc/fontloader-font-oup.lua | 4 +--
src/fontloader/runtime/fontloader-reference.lua | 36 ++++++++++-----------
6 files changed, 64 insertions(+), 71 deletions(-)
diff --git a/src/auto/fontloader-2021-05-20.lua b/src/auto/fontloader-2021-05-20.lua
index d74f1c9..f541668 100644
--- a/src/auto/fontloader-2021-05-20.lua
+++ b/src/auto/fontloader-2021-05-20.lua
@@ -1,6 +1,6 @@
--[[info-----------------------------------------------------------------------
Luaotfload fontloader package
- build 2021-05-20 11:42:54
+ build 2021-05-20 19:43:52
-------------------------------------------------------------------------------
© 2021 PRAGMA ADE / ConTeXt Development Team
@@ -16048,7 +16048,7 @@ end
end --- [luaotfload, fontloader-2021-05-20.lua scope for “font-dsp”] ---
-do --- [luaotfload, fontloader-2021-05-20.lua scope for “font-oup” 59894b3fc1629c7ca71d2ab94c8befef] ---
+do --- [luaotfload, fontloader-2021-05-20.lua scope for “font-oup” 4eb2f26e51835239e26a8df2ecf04366] ---
if not modules then modules={} end modules ['font-oup']={
version=1.001,
@@ -18327,7 +18327,7 @@ local function checkpairs(lookup)
else
local v=d2[1]
if v==true then
- elseif v and (v[1]~=0 or v[2]~=0 or v[3]~=0 or v[4]~=0) then
+ elseif v and (v[1]~=0 or v[2]~=0 or v[4]~=0) then
return false
end
end
@@ -18722,7 +18722,7 @@ end
end --- [luaotfload, fontloader-2021-05-20.lua scope for “font-oup”] ---
-do --- [luaotfload, fontloader-2021-05-20.lua scope for “font-otl” a7580a47d0c1655255d5ddbf531ffd38] ---
+do --- [luaotfload, fontloader-2021-05-20.lua scope for “font-otl” 6f701653de713e8aa80d82c7cdf32d75] ---
if not modules then modules={} end modules ['font-otl']={
version=1.001,
@@ -18750,7 +18750,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.115
+otf.version=3.116
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)
@@ -19893,7 +19893,7 @@ otf.basemodeinitializer=featuresinitializer
end --- [luaotfload, fontloader-2021-05-20.lua scope for “font-oto”] ---
-do --- [luaotfload, fontloader-2021-05-20.lua scope for “font-otj” e77357c4ad5f7fab278be57db0b51012] ---
+do --- [luaotfload, fontloader-2021-05-20.lua scope for “font-otj” b2c165bd6771a57633f992d07384b739] ---
if not modules then modules={} end modules ['font-otj']={
version=1.001,
@@ -19943,6 +19943,8 @@ local getoffsets=nuts.getoffsets
local getboth=nuts.getboth
local getdisc=nuts.getdisc
local setdisc=nuts.setdisc
+local getreplace=nuts.getreplace
+local setreplace=nuts.setreplace
local setoffsets=nuts.setoffsets
local ischar=nuts.ischar
local getkern=nuts.getkern
@@ -20608,17 +20610,15 @@ local function inject_positions_only(head,where)
insertnodeafter(head,current,fontkern(rightkern))
end
end
- else
+ elseif next then
local i=p.emptyinjections
if i then
local rightkern=i.rightkern
- if rightkern and rightkern~=0 then
- if next and getid(next)==disc_code then
- if replace then
- else
- replace=fontkern(rightkern)
- done=true
- end
+ if rightkern and rightkern~=0 and getid(next)==disc_code then
+ local replace=getreplace(next)
+ if replace then
+ else
+ setreplace(next,fontkern(rightkern))
end
end
end
@@ -20976,17 +20976,15 @@ local function inject_everything(head,where)
end
end
end
- else
+ elseif next then
local i=p.emptyinjections
if i then
local rightkern=i.rightkern
- if rightkern and rightkern~=0 then
- if next and getid(next)==disc_code then
- if replace then
- else
- replace=fontkern(rightkern)
- done=true
- end
+ if rightkern and rightkern~=0 and getid(next)==disc_code then
+ local replace=getreplace(next)
+ if replace then
+ else
+ setreplace(next,fontkern(rightkern))
end
end
end
diff --git a/src/auto/luaotfload-status.lua b/src/auto/luaotfload-status.lua
index df46ff1..6fa21df 100644
--- a/src/auto/luaotfload-status.lua
+++ b/src/auto/luaotfload-status.lua
@@ -1,6 +1,6 @@
return {
["hashes"]={
- { "fontloader-2021-05-20.lua", "639fe83c53a69d78cd9c5b1ec5a97c62" },
+ { "fontloader-2021-05-20.lua", "d3d971e3e79aefcb828157b97cc33378" },
{ "fontloader-util-fil.lua", "aae2a2add764144bb58dd8216fd59260" },
{ "fontloader-util-str.lua", "f3480da8f9a6f34fe320900f7224719b" },
{ "fontloader-l-unicode.lua", "f368874f11f3c525de5864fd413e4b24" },
@@ -37,10 +37,10 @@ return {
{ "fontloader-font-otc.lua", "0f12230ea07b5151f75d52726977e91f" },
{ "fontloader-font-ots.lua", "cb106ae882e8548051f00aac8b7fa862" },
{ "fontloader-font-ota.lua", "2bb12d708e35bc05443eba791e2554e7" },
- { "fontloader-font-oup.lua", "59894b3fc1629c7ca71d2ab94c8befef" },
- { "fontloader-font-otj.lua", "e77357c4ad5f7fab278be57db0b51012" },
+ { "fontloader-font-oup.lua", "4eb2f26e51835239e26a8df2ecf04366" },
+ { "fontloader-font-otj.lua", "b2c165bd6771a57633f992d07384b739" },
{ "fontloader-font-oto.lua", "2b1d6bc63b2ebf8f2655a15e1cda6541" },
- { "fontloader-font-otl.lua", "a7580a47d0c1655255d5ddbf531ffd38" },
+ { "fontloader-font-otl.lua", "6f701653de713e8aa80d82c7cdf32d75" },
{ "fontloader-font-ott.lua", "3f67b1b1d40bbc222681d8db4aff0f42" },
{ "fontloader-font-oti.lua", "309a75f9c14b77d87e94eba827dc4e71" },
{ "fontloader-font-dsp.lua", "174ce11f3ba0bddf270f48d8d2addd56" },
@@ -53,8 +53,8 @@ return {
{ "fontloader-font-con.lua", "724e5dd14aec2d4d189f8619898004cf" },
{ "fontloader-font-ini.lua", "5343de60613adb24cdd7a8d2ee1d153c" },
{ "fontloader-data-con.lua", "23a0f5386d46a1c157ae82a373e35fa0" },
- { "fontloader-reference.lua", "00d4e6ccada15f40fd8112dc2ab2a760" },
- { "fontloader-basics-gen.lua", "4bc43036e9796fccb0b8869f4b05bf2e" },
+ { "fontloader-reference.lua", "29911e74397766ee36205736166dd763" },
+ { "fontloader-basics-gen.lua", "e470c13b1ed41e38932e93518219ad74" },
{ "mktests", "918cb50be9ee8bd645ac1a27dc501e8c" },
{ "mkstatus", "b4815eec1b616a4a7877d2b3b32a8f57" },
{ "mkcharacters", "bfca0e96e1e351afe7077502f9595af9" },
@@ -93,7 +93,7 @@ return {
["committer"]="Marcel Fabian Krüger <tex at 2krueger.de>",
["description"]="v3.18-dev/2021-01-08",
["loader"]="fontloader-2021-05-20.lua",
- ["revision"]="4e176e66dd0c23ead6b1e20b72dc64948f12330f",
- ["timestamp"]="2021-05-16 18:55:18 +0200",
+ ["revision"]="651f1e554d90b6ad3dcb77da0489bd15d91f9db5",
+ ["timestamp"]="2021-05-20 11:51:41 +0200",
},
}
\ No newline at end of file
diff --git a/src/fontloader/misc/fontloader-font-otj.lua b/src/fontloader/misc/fontloader-font-otj.lua
index c217901..c4ec997 100644
--- a/src/fontloader/misc/fontloader-font-otj.lua
+++ b/src/fontloader/misc/fontloader-font-otj.lua
@@ -90,6 +90,8 @@ local getoffsets = nuts.getoffsets
local getboth = nuts.getboth
local getdisc = nuts.getdisc
local setdisc = nuts.setdisc
+local getreplace = nuts.getreplace
+local setreplace = nuts.setreplace
local setoffsets = nuts.setoffsets
local ischar = nuts.ischar
local getkern = nuts.getkern
@@ -847,20 +849,17 @@ local function inject_positions_only(head,where)
insertnodeafter(head,current,fontkern(rightkern))
end
end
- else
+ elseif next then
local i = p.emptyinjections
if i then
-- glyph|disc|glyph (special case)
local rightkern = i.rightkern
- if rightkern and rightkern ~= 0 then
- if next and getid(next) == disc_code then
- if replace then
- -- error, we expect an empty one
- else
- -- KE setfield(next,"replace",fontkern(rightkern)) -- maybe also leftkern
- replace = fontkern(rightkern) -- maybe also leftkern
- done = true --KE
- end
+ if rightkern and rightkern ~= 0 and getid(next) == disc_code then
+ local replace = getreplace(next)
+ if replace then
+ -- can't happen
+ else
+ setreplace(next,fontkern(rightkern))
end
end
end
@@ -1313,19 +1312,17 @@ local function inject_everything(head,where)
end
end
end
- else
+ elseif next then
local i = p.emptyinjections
if i then
-- glyph|disc|glyph (special case)
local rightkern = i.rightkern
- if rightkern and rightkern ~= 0 then
- if next and getid(next) == disc_code then
- if replace then
- -- error, we expect an empty one
- else
- replace = fontkern(rightkern)
- done = true
- end
+ if rightkern and rightkern ~= 0 and getid(next) == disc_code then
+ local replace = getreplace(next)
+ if replace then
+ -- can't happen
+ else
+ setreplace(next,fontkern(rightkern))
end
end
end
diff --git a/src/fontloader/misc/fontloader-font-otl.lua b/src/fontloader/misc/fontloader-font-otl.lua
index c13011f..4619e13 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.115 -- beware: also sync font-mis.lua and in mtx-fonts
+otf.version = 3.116 -- 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-oup.lua b/src/fontloader/misc/fontloader-font-oup.lua
index 93a1d52..c93ad47 100644
--- a/src/fontloader/misc/fontloader-font-oup.lua
+++ b/src/fontloader/misc/fontloader-font-oup.lua
@@ -2608,8 +2608,8 @@ local function checkpairs(lookup)
local v = d2[1]
if v == true then
-- all zero
- -- elseif v and (v[1] ~= 0 or v[2] ~= 0 or v[4] ~= 0) then
- elseif v and (v[1] ~= 0 or v[2] ~= 0 or v[3] ~= 0 or v[4] ~= 0) then -- vkrn has v[3] ~= 0
+ elseif v and (v[1] ~= 0 or v[2] ~= 0 or v[4] ~= 0) then
+ -- complex kerns
return false
end
end
diff --git a/src/fontloader/runtime/fontloader-reference.lua b/src/fontloader/runtime/fontloader-reference.lua
index f3af378..59cbd9e 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 : 2021-05-19 18:18
+-- merge date : 2021-05-20 15:57
do -- begin closure to overcome local limits and interference
@@ -20858,7 +20858,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.115
+otf.version=3.116
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)
@@ -22049,6 +22049,8 @@ local getoffsets=nuts.getoffsets
local getboth=nuts.getboth
local getdisc=nuts.getdisc
local setdisc=nuts.setdisc
+local getreplace=nuts.getreplace
+local setreplace=nuts.setreplace
local setoffsets=nuts.setoffsets
local ischar=nuts.ischar
local getkern=nuts.getkern
@@ -22714,17 +22716,15 @@ local function inject_positions_only(head,where)
insertnodeafter(head,current,fontkern(rightkern))
end
end
- else
+ elseif next then
local i=p.emptyinjections
if i then
local rightkern=i.rightkern
- if rightkern and rightkern~=0 then
- if next and getid(next)==disc_code then
- if replace then
- else
- replace=fontkern(rightkern)
- done=true
- end
+ if rightkern and rightkern~=0 and getid(next)==disc_code then
+ local replace=getreplace(next)
+ if replace then
+ else
+ setreplace(next,fontkern(rightkern))
end
end
end
@@ -23082,17 +23082,15 @@ local function inject_everything(head,where)
end
end
end
- else
+ elseif next then
local i=p.emptyinjections
if i then
local rightkern=i.rightkern
- if rightkern and rightkern~=0 then
- if next and getid(next)==disc_code then
- if replace then
- else
- replace=fontkern(rightkern)
- done=true
- end
+ if rightkern and rightkern~=0 and getid(next)==disc_code then
+ local replace=getreplace(next)
+ if replace then
+ else
+ setreplace(next,fontkern(rightkern))
end
end
end
@@ -25768,7 +25766,7 @@ local function checkpairs(lookup)
else
local v=d2[1]
if v==true then
- elseif v and (v[1]~=0 or v[2]~=0 or v[3]~=0 or v[4]~=0) then
+ elseif v and (v[1]~=0 or v[2]~=0 or v[4]~=0) then
return false
end
end
More information about the latex3-commits
mailing list.