summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/luatex/luaotfload
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2024-02-28 21:27:09 +0000
committerKarl Berry <karl@freefriends.org>2024-02-28 21:27:09 +0000
commit23f88cc1ad6a4e738306da4ca6e1e4df67cebd6d (patch)
treeda7b14c18a781c8424aeb2db1115f1ca6068efea /Master/texmf-dist/tex/luatex/luaotfload
parentfa898d0d22ca509e7b88f7c5486b437c36f565f9 (diff)
luaotfload (28feb24)
git-svn-id: svn://tug.org/texlive/trunk@70232 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/luatex/luaotfload')
-rw-r--r--Master/texmf-dist/tex/luatex/luaotfload/fontloader-basics-gen.lua3
-rw-r--r--Master/texmf-dist/tex/luatex/luaotfload/luaotfload-arabic.lua2
-rw-r--r--Master/texmf-dist/tex/luatex/luaotfload/luaotfload-auxiliary.lua2
-rw-r--r--Master/texmf-dist/tex/luatex/luaotfload/luaotfload-colors.lua2
-rw-r--r--Master/texmf-dist/tex/luatex/luaotfload/luaotfload-configuration.lua2
-rw-r--r--Master/texmf-dist/tex/luatex/luaotfload/luaotfload-database.lua2
-rw-r--r--Master/texmf-dist/tex/luatex/luaotfload/luaotfload-diagnostics.lua2
-rw-r--r--Master/texmf-dist/tex/luatex/luaotfload/luaotfload-dvi.lua2
-rw-r--r--Master/texmf-dist/tex/luatex/luaotfload/luaotfload-embolden.lua2
-rw-r--r--Master/texmf-dist/tex/luatex/luaotfload/luaotfload-fallback.lua2
-rw-r--r--Master/texmf-dist/tex/luatex/luaotfload/luaotfload-features.lua2
-rw-r--r--Master/texmf-dist/tex/luatex/luaotfload/luaotfload-filelist.lua2
-rw-r--r--Master/texmf-dist/tex/luatex/luaotfload/luaotfload-glyphlist.lua2
-rw-r--r--Master/texmf-dist/tex/luatex/luaotfload/luaotfload-harf-define.lua2
-rw-r--r--Master/texmf-dist/tex/luatex/luaotfload/luaotfload-harf-plug.lua21
-rw-r--r--Master/texmf-dist/tex/luatex/luaotfload/luaotfload-harf-var-cff2.lua2
-rw-r--r--Master/texmf-dist/tex/luatex/luaotfload/luaotfload-harf-var-t2-writer.lua2
-rw-r--r--Master/texmf-dist/tex/luatex/luaotfload/luaotfload-harf-var-ttf.lua2
-rw-r--r--Master/texmf-dist/tex/luatex/luaotfload/luaotfload-init.lua2
-rw-r--r--Master/texmf-dist/tex/luatex/luaotfload/luaotfload-letterspace.lua2
-rw-r--r--Master/texmf-dist/tex/luatex/luaotfload/luaotfload-loaders.lua2
-rw-r--r--Master/texmf-dist/tex/luatex/luaotfload/luaotfload-log.lua2
-rw-r--r--Master/texmf-dist/tex/luatex/luaotfload/luaotfload-multiscript.lua2
-rw-r--r--Master/texmf-dist/tex/luatex/luaotfload/luaotfload-notdef.lua2
-rw-r--r--Master/texmf-dist/tex/luatex/luaotfload/luaotfload-parsers.lua2
-rw-r--r--Master/texmf-dist/tex/luatex/luaotfload/luaotfload-realpath.lua28
-rw-r--r--Master/texmf-dist/tex/luatex/luaotfload/luaotfload-resolvers.lua2
-rw-r--r--Master/texmf-dist/tex/luatex/luaotfload/luaotfload-scripts.lua2
-rw-r--r--Master/texmf-dist/tex/luatex/luaotfload/luaotfload-status.lua62
-rw-r--r--Master/texmf-dist/tex/luatex/luaotfload/luaotfload-suppress.lua2
-rw-r--r--Master/texmf-dist/tex/luatex/luaotfload/luaotfload-szss.lua2
-rw-r--r--Master/texmf-dist/tex/luatex/luaotfload/luaotfload-tounicode.lua2
-rw-r--r--Master/texmf-dist/tex/luatex/luaotfload/luaotfload-unicode.lua2
-rw-r--r--Master/texmf-dist/tex/luatex/luaotfload/luaotfload.lua2
-rw-r--r--Master/texmf-dist/tex/luatex/luaotfload/luaotfload.sty2
35 files changed, 98 insertions, 78 deletions
diff --git a/Master/texmf-dist/tex/luatex/luaotfload/fontloader-basics-gen.lua b/Master/texmf-dist/tex/luatex/luaotfload/fontloader-basics-gen.lua
index 5a6e90ceee7..c79c31392bb 100644
--- a/Master/texmf-dist/tex/luatex/luaotfload/fontloader-basics-gen.lua
+++ b/Master/texmf-dist/tex/luatex/luaotfload/fontloader-basics-gen.lua
@@ -19,6 +19,7 @@ local formatters, split, format, dump = string.formatters, string.split, string.
local loadfile, type = loadfile, type
local setmetatable, getmetatable, collectgarbage = setmetatable, getmetatable, collectgarbage
local floor = math.floor
+local mkdirp = lfs.mkdirp or lfs.mkdirs
local dummyfunction = function()
end
@@ -231,7 +232,7 @@ do
for i=1,#cachepaths do
local cachepath = cachepaths[i]
if not lfs.isdir(cachepath) then
- lfs.mkdirs(cachepath) -- needed for texlive and latex
+ mkdirp(cachepath .. '/') -- needed for texlive and latex
if lfs.isdir(cachepath) then
logs.report("system","creating cache path '%s'",cachepath)
end
diff --git a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-arabic.lua b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-arabic.lua
index ac599ebca76..110e0d46942 100644
--- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-arabic.lua
+++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-arabic.lua
@@ -5,7 +5,7 @@
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-arabic",
- version = "3.27", --TAGVERSION
+ version = "3.28", --TAGVERSION
date = "2024-02-14", --TAGDATE
description = "luaotfload submodule / features",
license = "GPL v2.0",
diff --git a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-auxiliary.lua b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-auxiliary.lua
index 71abb0e1bdb..ae7316f9df0 100644
--- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-auxiliary.lua
+++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-auxiliary.lua
@@ -6,7 +6,7 @@
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-auxiliary",
- version = "3.27", --TAGVERSION
+ version = "3.28", --TAGVERSION
date = "2024-02-14", --TAGDATE
description = "luaotfload submodule / auxiliary functions",
license = "GPL v2.0"
diff --git a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-colors.lua b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-colors.lua
index 944d1745e42..1504cb72695 100644
--- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-colors.lua
+++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-colors.lua
@@ -5,7 +5,7 @@
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-colors",
- version = "3.27", --TAGVERSION
+ version = "3.28", --TAGVERSION
date = "2024-02-14", --TAGDATE
description = "luaotfload submodule / color",
license = "GPL v2.0",
diff --git a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-configuration.lua b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-configuration.lua
index d8590666afc..53d0543b840 100644
--- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-configuration.lua
+++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-configuration.lua
@@ -7,7 +7,7 @@
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-configuration",
- version = "3.27", --TAGVERSION
+ version = "3.28", --TAGVERSION
date = "2024-02-14", --TAGDATE
description = "luaotfload submodule / config file reader",
license = "GPL v2.0"
diff --git a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-database.lua b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-database.lua
index f1b59fcc7ba..a466921d00f 100644
--- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-database.lua
+++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-database.lua
@@ -5,7 +5,7 @@
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.27", --TAGVERSION
+ version = "3.28", --TAGVERSION
date = "2024-02-14", --TAGDATE
description = "luaotfload submodule / database",
license = "GPL v2.0",
diff --git a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-diagnostics.lua b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-diagnostics.lua
index 83780b99291..d3a195c6cf6 100644
--- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-diagnostics.lua
+++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-diagnostics.lua
@@ -7,7 +7,7 @@
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-diagnostics",
- version = "3.27", --TAGVERSION
+ version = "3.28", --TAGVERSION
date = "2024-02-14", --TAGDATE
description = "luaotfload-tool submodule / diagnostics",
license = "GPL v2.0"
diff --git a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-dvi.lua b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-dvi.lua
index f8d4d268f72..0200fc6ed18 100644
--- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-dvi.lua
+++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-dvi.lua
@@ -6,7 +6,7 @@
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-dvi",
- version = "3.27", --TAGVERSION
+ version = "3.28", --TAGVERSION
date = "2024-02-14", --TAGDATE
description = "luaotfload submodule / DVI",
license = "GPL v2.0",
diff --git a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-embolden.lua b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-embolden.lua
index caff50ed4d4..30abf27ba45 100644
--- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-embolden.lua
+++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-embolden.lua
@@ -5,7 +5,7 @@
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-embolden",
- version = "3.27", --TAGVERSION
+ version = "3.28", --TAGVERSION
date = "2024-02-14", --TAGDATE
description = "luaotfload submodule / embolden",
license = "GPL v2.0",
diff --git a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-fallback.lua b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-fallback.lua
index a527095618d..3a47473699b 100644
--- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-fallback.lua
+++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-fallback.lua
@@ -5,7 +5,7 @@
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-fallback",
- version = "3.27", --TAGVERSION
+ version = "3.28", --TAGVERSION
date = "2024-02-14", --TAGDATE
description = "luaotfload submodule / fallback",
license = "GPL v2.0",
diff --git a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-features.lua b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-features.lua
index d4d96217aab..1029809fc73 100644
--- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-features.lua
+++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-features.lua
@@ -5,7 +5,7 @@
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-features",
- version = "3.27", --TAGVERSION
+ version = "3.28", --TAGVERSION
date = "2024-02-14", --TAGDATE
description = "luaotfload submodule / features",
license = "GPL v2.0",
diff --git a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-filelist.lua b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-filelist.lua
index 9b5f618cc24..33c8b16f827 100644
--- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-filelist.lua
+++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-filelist.lua
@@ -6,7 +6,7 @@
if luaotfload_module then luaotfload_module {
name = "luaotfload-filelist",
- version = "3.27", --TAGVERSION
+ version = "3.28", --TAGVERSION
date = "2024-02-14", --TAGDATE
description = "luaotfload submodule / filelist",
license = "GPL v2.0"
diff --git a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-glyphlist.lua b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-glyphlist.lua
index f300d4955d6..2a931282a38 100644
--- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-glyphlist.lua
+++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-glyphlist.lua
@@ -1,7 +1,7 @@
if luaotfload_module then
luaotfload_module {
name = "luaotfload-glyphlist",
- version = "3.27", --TAGVERSION
+ version = "3.28", --TAGVERSION
date = "2024-02-14", --TAGDATE
description = "luaotfload submodule / autogenerated glyphlist",
copyright = "derived from https://raw.githubusercontent.com/adobe-type-tools/agl-aglfn/master/glyphlist.txt",
diff --git a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-harf-define.lua b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-harf-define.lua
index 7eb795d1763..3dfb74a3025 100644
--- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-harf-define.lua
+++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-harf-define.lua
@@ -5,7 +5,7 @@
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.27", --TAGVERSION
+ version = "3.28", --TAGVERSION
date = "2024-02-14", --TAGDATE
description = "luaotfload submodule / HarfBuzz font loading",
license = "GPL v2.0",
diff --git a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-harf-plug.lua b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-harf-plug.lua
index 5c2d13df00f..f26c872734e 100644
--- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-harf-plug.lua
+++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-harf-plug.lua
@@ -4,7 +4,7 @@
-----------------------------------------------------------------------
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-harf-plug",
- version = "3.27", --TAGVERSION
+ version = "3.28", --TAGVERSION
date = "2024-02-14", --TAGDATE
description = "luaotfload submodule / HarfBuzz shaping",
license = "GPL v2.0",
@@ -23,8 +23,10 @@ local format = string.format
local open = io.open
local tableinsert = table.insert
local tableremove = table.remove
-local ostmpname = os.tmpname
+local ostmpdir = os.tmpdir
local osremove = os.remove
+local dir = lfs.dir
+local rmdir = lfs.rmdir
local direct = node.direct
local tonode = direct.tonode
@@ -704,13 +706,17 @@ end
-- Cache of color glyph PNG data for bookkeeping, only because I couldn't
-- figure how to make the engine load the image from the binary data directly.
+local tmpdirname
+local tmpcount = 0
local pngcache = {}
local pngcachefiles = {}
local function cachedpng(data)
local hash = md5.sumhexa(data)
local i = pngcache[hash]
if not i then
- local path = ostmpname()
+ tmpdirname = tmpdirname or ostmpdir()
+ tmpcount = tmpcount + 1
+ local path = format('%s/%i.png', tmpdirname, tmpcount)
pngcachefiles[#pngcachefiles + 1] = path
open(path, "wb"):write(data):close()
-- local file = open(path, "wb"):write():close()
@@ -1106,9 +1112,14 @@ end
local function run_cleanup()
-- Remove temporary PNG files that we created, if any.
-- FIXME: It would be nice if we wouldn't need this
- for _, path in next, pngcachefiles do
- osremove(path)
+ if not tmpdirname then return end
+ for file in dir(tmpdirname) do
+ if file ~= '.' and file ~= '..' then
+ assert(osremove(format('%s/%s', tmpdirname, file)))
+ end
end
+ assert(rmdir(tmpdirname))
+ tmpdirname = nil
end
local function set_tounicode()
diff --git a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-harf-var-cff2.lua b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-harf-var-cff2.lua
index ad8fbdcd26f..3dbf28fc1d2 100644
--- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-harf-var-cff2.lua
+++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-harf-var-cff2.lua
@@ -5,7 +5,7 @@
do
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-harf-var-cff2",
- version = "3.27", --TAGVERSION
+ version = "3.28", --TAGVERSION
date = "2024-02-14", --TAGDATE
description = "luaotfload submodule / CFF2 table processing",
license = "GPL v2.0",
diff --git a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-harf-var-t2-writer.lua b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-harf-var-t2-writer.lua
index 1d40d09ad00..78f403473cd 100644
--- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-harf-var-t2-writer.lua
+++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-harf-var-t2-writer.lua
@@ -5,7 +5,7 @@
do
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-harf-var-t2-writer",
- version = "3.27", --TAGVERSION
+ version = "3.28", --TAGVERSION
date = "2024-02-14", --TAGDATE
description = "luaotfload submodule / Type 2 charstring writer",
license = "GPL v2.0",
diff --git a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-harf-var-ttf.lua b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-harf-var-ttf.lua
index a6d4d36aba0..508e35a1d0c 100644
--- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-harf-var-ttf.lua
+++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-harf-var-ttf.lua
@@ -5,7 +5,7 @@
do
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-harf-var-ttf",
- version = "3.27", --TAGVERSION
+ version = "3.28", --TAGVERSION
date = "2024-02-14", --TAGDATE
description = "luaotfload submodule / gvar table processing",
license = "GPL v2.0",
diff --git a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-init.lua b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-init.lua
index 13b1099752c..cbfcdd77744 100644
--- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-init.lua
+++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-init.lua
@@ -7,7 +7,7 @@
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-init",
- version = "3.27", --TAGVERSION
+ version = "3.28", --TAGVERSION
date = "2024-02-14", --TAGDATE
description = "luaotfload submodule / initialization",
license = "GPL v2.0"
diff --git a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-letterspace.lua b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-letterspace.lua
index b2b848bfc68..957ae8564c9 100644
--- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-letterspace.lua
+++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-letterspace.lua
@@ -5,7 +5,7 @@
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-letterspace",
- version = "3.27", --TAGVERSION
+ version = "3.28", --TAGVERSION
date = "2024-02-14", --TAGDATE
description = "luaotfload submodule / letterspacing",
license = "GPL v2.0",
diff --git a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-loaders.lua b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-loaders.lua
index 86f48ee69a2..88f791a4879 100644
--- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-loaders.lua
+++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-loaders.lua
@@ -8,7 +8,7 @@
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-loaders",
- version = "3.27", --TAGVERSION
+ version = "3.28", --TAGVERSION
date = "2024-02-14", --TAGDATE
description = "luaotfload submodule / callback handling",
license = "GPL v2.0"
diff --git a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-log.lua b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-log.lua
index d22c48eda56..99ac182a4ba 100644
--- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-log.lua
+++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-log.lua
@@ -6,7 +6,7 @@
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-log",
- version = "3.27", --TAGVERSION
+ version = "3.28", --TAGVERSION
date = "2024-02-14", --TAGDATE
description = "luaotfload submodule / logging",
license = "GPL v2.0",
diff --git a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-multiscript.lua b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-multiscript.lua
index c3a611a1f87..c4b0a28f909 100644
--- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-multiscript.lua
+++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-multiscript.lua
@@ -5,7 +5,7 @@
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-multiscript",
- version = "3.27", --TAGVERSION
+ version = "3.28", --TAGVERSION
date = "2024-02-14", --TAGDATE
description = "luaotfload submodule / multiscript",
license = "GPL v2.0",
diff --git a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-notdef.lua b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-notdef.lua
index f738fbdae99..7c298d9c58d 100644
--- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-notdef.lua
+++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-notdef.lua
@@ -5,7 +5,7 @@
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-notdef",
- version = "3.27", --TAGVERSION
+ version = "3.28", --TAGVERSION
date = "2024-02-14", --TAGDATE
description = "luaotfload submodule / notdef",
license = "GPL v2.0",
diff --git a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-parsers.lua b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-parsers.lua
index 27c8c449ca8..edbd6aa07d6 100644
--- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-parsers.lua
+++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-parsers.lua
@@ -7,7 +7,7 @@
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-parsers",
- version = "3.27", --TAGVERSION
+ version = "3.28", --TAGVERSION
date = "2024-02-14", --TAGDATE
description = "luaotfload submodule / parsers",
license = "GPL v2.0"
diff --git a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-realpath.lua b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-realpath.lua
index 2738da8a1b2..34f60f4d82e 100644
--- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-realpath.lua
+++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-realpath.lua
@@ -9,18 +9,22 @@ local move = table.move
local newtable = lua.newtable
local setmetatable = setmetatable
+-- Windows should just adapt reasonable path conventions like every other operating system.
+-- But some people like to do their own thing, so we need lots of special casing here.
+local windows_style_paths = os.type ~= 'unix'
+
-- Marker key for elements of result_tree to indicate the path components entry and the file mode
local path_components, file_mode = {}, {}
local tree_root
local split_path do
local l = lpeg
- local separator = os.type == 'unix' and l.S'/' or l.S'/\\'
+ local separator = windows_style_paths and l.S'/\\' or l.S'/'
-- We do not allow empty segments here because they get ignored.
local segment = l.C((1 - separator)^1)
-- Duplicate and trailing separators are dropped.
- local unc = os.type == 'unix' and l.P(false) or separator * separator * l.Cg(l.P(1)^0 * -1, 'unc')
- local drive_letter = os.type == 'unix' and l.P(false) or l.Cg(l.R('az', 'AZ') * ':', 'drive')
+ local unc = windows_style_paths and separator * separator * l.Cg(l.P(1)^0 * -1, 'unc') or l.P(false)
+ local drive_letter = windows_style_paths and l.Cg(l.R('az', 'AZ') * ':', 'drive') or l.P(false)
local path_pat = l.Ct(unc + drive_letter^-1 * (l.Cc'' * separator^1)^-1 * (segment * separator^1)^0 * segment^-1 * -1)
function split_path(path)
local splitted = path_pat:match(path)
@@ -45,7 +49,11 @@ end
local function lookup_split_path_in_tree(components, tree)
if components[1] == '' then
- tree = tree_root
+ if windows_style_paths then
+ tree = tree_root[components.drive or tree[path_components].drive]
+ else
+ tree = tree_root
+ end
end
for i=1, #components do
local next_tree = tree[components[i]]
@@ -62,8 +70,8 @@ tree_meta = {
__index = function(parent, component)
local parent_components = parent[path_components]
local depth = #parent_components
- local components = move(parent[path_components], 1, depth, 1, newtable(depth + 1, 0))
- components[depth + 1] = component
+ local components = move(parent_components, 1, depth, 1, newtable(depth + 1, 1))
+ components.drive, components[depth + 1] = parent_components.drive, component
local path = recombine_path(components)
local mode = symlinkattributes(path, 'mode')
@@ -101,17 +109,17 @@ function build_root_dir(drive)
}, tree_meta)
root_dir['.'] = root_dir
root_dir['..'] = root_dir
- return root_dir
+ return {[''] = root_dir}
end
-tree_root = os.type == 'unix' and build_root_dir() or setmetatable({}, {__index = function(t, drive)
+tree_root = windows_style_paths and setmetatable({}, {__index = function(t, drive)
local root_dir = build_root_dir(drive)
t[drive] = root_dir
return root_dir
-end})
+end}) or build_root_dir()
local function resolve_path_to_tree(path)
local splitted = split_path(path)
- if splitted[1] == '' then -- Optimization to avoid currentdir lookup.
+ if splitted[1] == '' and (not windows_style_paths or splitted.drive) then -- Optimization to avoid currentdir lookup.
return lookup_split_path_in_tree(splitted, tree_root)
else
local splitted_currentdir = split_path(currentdir())
diff --git a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-resolvers.lua b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-resolvers.lua
index 93e8f61c301..2b6575f2fd4 100644
--- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-resolvers.lua
+++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-resolvers.lua
@@ -11,7 +11,7 @@
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-resolvers",
- version = "3.27", --TAGVERSION
+ version = "3.28", --TAGVERSION
date = "2024-02-14", --TAGDATE
description = "luaotfload submodule / resolvers",
license = "GPL v2.0"
diff --git a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-scripts.lua b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-scripts.lua
index 75f9e3b579c..cabb5b1c811 100644
--- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-scripts.lua
+++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-scripts.lua
@@ -5,7 +5,7 @@
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-script",
- version = "3.27", --TAGVERSION
+ version = "3.28", --TAGVERSION
date = "2024-02-14", --TAGDATE
description = "luaotfload submodule / Script helpers",
license = "CC0 1.0 Universal",
diff --git a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-status.lua b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-status.lua
index 530fc06eddd..07959f2cd53 100644
--- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-status.lua
+++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-status.lua
@@ -54,46 +54,46 @@ return {
{ "fontloader-font-ini.lua", "16b855c98602e4a3e9df39512916a427" },
{ "fontloader-data-con.lua", "b4ab51aaeab872d86d827f3e216bf05e" },
{ "fontloader-reference.lua", "23d03b682af6417aa08995f2ec10de22" },
- { "fontloader-basics-gen.lua", "4bc43036e9796fccb0b8869f4b05bf2e" },
+ { "fontloader-basics-gen.lua", "578c251c496bed783075709e94c2be26" },
{ "mktests", "918cb50be9ee8bd645ac1a27dc501e8c" },
- { "mkstatus", "201011fcb01d8d804cc27b69d184b1e5" },
+ { "mkstatus", "855ec00d090bd8949a1e2d2a59ca553e" },
{ "mkcharacters", "bfca0e96e1e351afe7077502f9595af9" },
{ "mkglyphlist", "7a8a8fdc0eac7fac2f13ec8f4e8e7aa9" },
{ "mkimport", "7d62f1042e548f8b9368f26b9ba4be5c" },
- { "luaotfload-glyphlist.lua", "5b7427a864ba333f2f674b172bba2b63" },
+ { "luaotfload-glyphlist.lua", "61c0df805e753d4408972d93c1f4fef4" },
{ "luaotfload-characters.lua", "76415ca3ede312cad6e09038323489ae" },
- { "luaotfload-dvi.lua", "a88ce85492b935becf9de00d168b9fc6" },
- { "luaotfload-tounicode.lua", "834c7cb80bd7793c516187aa67a5dab8" },
- { "luaotfload-unicode.lua", "7559a279476f189206b248117d80f70d" },
- { "luaotfload-resolvers.lua", "aa07ed5021ce7bfb381ddd584910af6b" },
- { "luaotfload-parsers.lua", "eb862d8075e5e0b6130beed3f89f29be" },
- { "luaotfload-fallback.lua", "49bc7a9f026fd23e13cd1b4be30be43c" },
- { "luaotfload-szss.lua", "b174020a2eb6021e0b8838f0ad4f0fe4" },
- { "luaotfload-scripts.lua", "cf7669cbc2e1585e5e9f63b2ebef5a0f" },
- { "luaotfload-multiscript.lua", "478c8afcc416be47c861474a3b64096b" },
- { "luaotfload-loaders.lua", "178c47e50037b1455c29b10a826b8ebc" },
- { "luaotfload-harf-plug.lua", "eb202ef8123cf63e6d4820452391697f" },
- { "luaotfload-harf-define.lua", "5723873002793c7ea723c8f1abfc412d" },
- { "luaotfload-notdef.lua", "ffae44eac263adc9e7b6c5f6373637ed" },
- { "luaotfload-embolden.lua", "85ef9409937b25da3f3f4bbb0d72cebc" },
- { "luaotfload-letterspace.lua", "b608dac037f4b173833eac25d205ed91" },
- { "luaotfload-features.lua", "b43dedff88145a0626bdfcb77f8791ee" },
- { "luaotfload-database.lua", "d92cce26908694dbbb30232252e12f80" },
- { "luaotfload-configuration.lua", "84379ea613f7e55c07f17b55b9dfb67b" },
- { "luaotfload-colors.lua", "89386fcb44e2887b1be60b8acbe251b3" },
- { "luaotfload-auxiliary.lua", "a43134987a5cf7fc22bfd240745440fe" },
- { "luaotfload-filelist.lua", "e40105831b58e5f0fa4908a7a131da1f" },
- { "luaotfload-tool.lua", "89fc6f4c6e2630305a91dd6a29c1449d" },
- { "luaotfload-diagnostics.lua", "7e07c0b2d9470c016d72d36900904792" },
- { "luaotfload-log.lua", "e008c6135446dff77813079ce11a10e8" },
- { "luaotfload-init.lua", "9f354ea115993d9a9238d5f74c7d7e63" },
+ { "luaotfload-dvi.lua", "8d3f9adeaf8896eb94baf4f4a7cb72a4" },
+ { "luaotfload-tounicode.lua", "245271ce518c136c96f22fee6cb810ab" },
+ { "luaotfload-unicode.lua", "cebc6454abe34f2fe1c1248f8b2453da" },
+ { "luaotfload-resolvers.lua", "0f87b7c297120189ddbd31f6ee324a9f" },
+ { "luaotfload-parsers.lua", "73f67f95af947fe741c931e6f60b84cb" },
+ { "luaotfload-fallback.lua", "3b1569703b22fabe9661f2188fa0dbd3" },
+ { "luaotfload-szss.lua", "bdf184e24947478dc89307adf866a3ca" },
+ { "luaotfload-scripts.lua", "2026f40b86c3e93eba401524424e71d9" },
+ { "luaotfload-multiscript.lua", "1415dc53c2ad56f6dc892212090d7c03" },
+ { "luaotfload-loaders.lua", "80907f5cf87e2d5f946936a1ef08b6a8" },
+ { "luaotfload-harf-plug.lua", "201bbdd109fa1f0b02068e59f2f5384d" },
+ { "luaotfload-harf-define.lua", "f1319af7f3837fbda6db470b77627c71" },
+ { "luaotfload-notdef.lua", "920854a37e695604457cb1fcad35a814" },
+ { "luaotfload-embolden.lua", "6b15c8ae9e49cfb4a5e319aadf1ef3ac" },
+ { "luaotfload-letterspace.lua", "45fe7d691be75f6ef7f0c058c40113d9" },
+ { "luaotfload-features.lua", "756bc857a0d63bf1a6abbd1406e85844" },
+ { "luaotfload-database.lua", "0e2f26fead21ffdb36f36a5090220f8d" },
+ { "luaotfload-configuration.lua", "0abab568ba9c0082c9ad3e1b75897d49" },
+ { "luaotfload-colors.lua", "cda35651d19ec5ae24d18f3b0e1cfeec" },
+ { "luaotfload-auxiliary.lua", "6dbe1a2a3f36cf57845e54c1927ccfee" },
+ { "luaotfload-filelist.lua", "bd805bc5b92346005cde05679a4db421" },
+ { "luaotfload-tool.lua", "244ec7b1febf40d9e153e7aab7ad7237" },
+ { "luaotfload-diagnostics.lua", "8a51337bd7dcaf772ced0c16d13654cc" },
+ { "luaotfload-log.lua", "b0cd5d77653fae19eceb1c1f195d9b77" },
+ { "luaotfload-init.lua", "5808f9c69b6a266fef8b923aefaecdc3" },
{ "luaotfload-main.lua", "b19c9cc34cf1d676c39f872cfb41aef6" },
},
["notes"]={
["committer"]="Marcel Fabian Krüger <tex@2krueger.de>",
- ["description"]="v3.27/2024-02-14",
+ ["description"]="v3.28/2024-02-14",
["loader"]="fontloader-2023-12-28.lua",
- ["revision"]="17a160cd9eacf04cb179e7405f2d616824314868",
- ["timestamp"]="2024-02-14 22:31:40 +0100",
+ ["revision"]="73dac18445938c6c54118045944817c4e8c59a1c",
+ ["timestamp"]="2024-02-28 06:18:10 +0100",
},
} \ No newline at end of file
diff --git a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-suppress.lua b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-suppress.lua
index 1df46db80b5..9735dbf6791 100644
--- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-suppress.lua
+++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-suppress.lua
@@ -5,7 +5,7 @@
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-suppress",
- version = "3.27", --TAGVERSION
+ version = "3.28", --TAGVERSION
date = "2024-02-14", --TAGDATE
description = "luaotfload submodule / suppress",
license = "GPL v2.0",
diff --git a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-szss.lua b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-szss.lua
index c01d271d597..9c88f6f1e51 100644
--- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-szss.lua
+++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-szss.lua
@@ -5,7 +5,7 @@
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-szss",
- version = "3.27", --TAGVERSION
+ version = "3.28", --TAGVERSION
date = "2024-02-14", --TAGDATE
description = "luaotfload submodule / Special feature handling",
license = "GPL v2.0",
diff --git a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-tounicode.lua b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-tounicode.lua
index c0d7046689c..da89ee97696 100644
--- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-tounicode.lua
+++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-tounicode.lua
@@ -5,7 +5,7 @@
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-tounicode",
- version = "3.27", --TAGVERSION
+ version = "3.28", --TAGVERSION
date = "2024-02-14", --TAGDATE
description = "luaotfload submodule / tounicode",
license = "GPL v2.0",
diff --git a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-unicode.lua b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-unicode.lua
index b83ac25461c..afeb4293fec 100644
--- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-unicode.lua
+++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-unicode.lua
@@ -5,7 +5,7 @@
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-unicode",
- version = "3.27", --TAGVERSION
+ version = "3.28", --TAGVERSION
date = "2024-02-14", --TAGDATE
description = "luaotfload submodule / Unicode helpers",
license = "CC0 1.0 Universal",
diff --git a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload.lua b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload.lua
index 893309f9db7..97c6d2ed752 100644
--- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload.lua
+++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload.lua
@@ -20,7 +20,7 @@ local authors = "\z
-- version number is used below!
local ProvidesLuaModule = {
name = "luaotfload",
- version = "3.27", --TAGVERSION
+ version = "3.28", --TAGVERSION
date = "2024-02-14", --TAGDATE
description = "Lua based OpenType font support",
author = authors,
diff --git a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload.sty b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload.sty
index 262834e95c5..de64836531c 100644
--- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload.sty
+++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload.sty
@@ -39,7 +39,7 @@
\fi
\ifdefined\ProvidesPackage
\ProvidesPackage{luaotfload}%
- [2024/02/14 v3.27 OpenType layout system]
+ [2024/02/14 v3.28 OpenType layout system]
\fi
\directlua{
if xpcall(function ()%