diff options
author | Karl Berry <karl@freefriends.org> | 2024-02-28 21:27:09 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2024-02-28 21:27:09 +0000 |
commit | 23f88cc1ad6a4e738306da4ca6e1e4df67cebd6d (patch) | |
tree | da7b14c18a781c8424aeb2db1115f1ca6068efea /Master/texmf-dist/tex/luatex/luaotfload | |
parent | fa898d0d22ca509e7b88f7c5486b437c36f565f9 (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')
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 ()% |