summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/luatex/luaotfload
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2019-11-11 21:44:06 +0000
committerKarl Berry <karl@freefriends.org>2019-11-11 21:44:06 +0000
commit22e10147c4ead5fdba94de7efb6e2aef2cd65e91 (patch)
treeefc01ae064b1a1d5d47950b7ac4f3a64cb8c4209 /Master/texmf-dist/tex/luatex/luaotfload
parenta9b431f0fc003d22ebc69720bce6e5630983192c (diff)
luaotfload (11nov19)
git-svn-id: svn://tug.org/texlive/trunk@52738 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/luatex/luaotfload')
-rw-r--r--Master/texmf-dist/tex/luatex/luaotfload/luaotfload-auxiliary.lua7
-rw-r--r--Master/texmf-dist/tex/luatex/luaotfload/luaotfload-colors.lua4
-rw-r--r--Master/texmf-dist/tex/luatex/luaotfload/luaotfload-configuration.lua4
-rw-r--r--Master/texmf-dist/tex/luatex/luaotfload/luaotfload-database.lua4
-rw-r--r--Master/texmf-dist/tex/luatex/luaotfload/luaotfload-diagnostics.lua4
-rw-r--r--Master/texmf-dist/tex/luatex/luaotfload/luaotfload-embolden.lua4
-rw-r--r--Master/texmf-dist/tex/luatex/luaotfload/luaotfload-features.lua4
-rw-r--r--Master/texmf-dist/tex/luatex/luaotfload/luaotfload-filelist.lua4
-rw-r--r--Master/texmf-dist/tex/luatex/luaotfload/luaotfload-glyphlist.lua4
-rw-r--r--Master/texmf-dist/tex/luatex/luaotfload/luaotfload-harf-define.lua28
-rw-r--r--Master/texmf-dist/tex/luatex/luaotfload/luaotfload-harf-plug.lua11
-rw-r--r--Master/texmf-dist/tex/luatex/luaotfload/luaotfload-init.lua4
-rw-r--r--Master/texmf-dist/tex/luatex/luaotfload/luaotfload-letterspace.lua4
-rw-r--r--Master/texmf-dist/tex/luatex/luaotfload/luaotfload-loaders.lua4
-rw-r--r--Master/texmf-dist/tex/luatex/luaotfload/luaotfload-log.lua4
-rw-r--r--Master/texmf-dist/tex/luatex/luaotfload/luaotfload-main.lua4
-rw-r--r--Master/texmf-dist/tex/luatex/luaotfload/luaotfload-multiscript.lua4
-rw-r--r--Master/texmf-dist/tex/luatex/luaotfload/luaotfload-notdef.lua4
-rw-r--r--Master/texmf-dist/tex/luatex/luaotfload/luaotfload-parsers.lua4
-rw-r--r--Master/texmf-dist/tex/luatex/luaotfload/luaotfload-resolvers.lua4
-rw-r--r--Master/texmf-dist/tex/luatex/luaotfload/luaotfload-scripts.lua91
-rw-r--r--Master/texmf-dist/tex/luatex/luaotfload/luaotfload-status.lua54
-rw-r--r--Master/texmf-dist/tex/luatex/luaotfload/luaotfload-tounicode.lua4
-rw-r--r--Master/texmf-dist/tex/luatex/luaotfload/luaotfload-unicode.lua4
-rw-r--r--Master/texmf-dist/tex/luatex/luaotfload/luaotfload.sty2
25 files changed, 185 insertions, 84 deletions
diff --git a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-auxiliary.lua b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-auxiliary.lua
index 9538a15bb01..fd4291f67cc 100644
--- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-auxiliary.lua
+++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-auxiliary.lua
@@ -6,8 +6,8 @@
local ProvidesLuaModule = {
name = "luaotfload-auxiliary",
- version = "3.1", --TAGVERSION
- date = "2019-11-04", --TAGDATE
+ version = "3.11", --TAGVERSION
+ date = "2019-11-10", --TAGDATE
description = "luaotfload submodule / auxiliary functions",
license = "GPL v2.0"
}
@@ -33,6 +33,7 @@ local getmetatable = getmetatable
local setmetatable = setmetatable
local utfcodepoint = utf8.codepoint
local stringlower = string.lower
+local stringupper = string.upper
local stringformat = string.format
local stringgsub = string.gsub
local stringbyte = string.byte
@@ -441,7 +442,7 @@ end
local function get_hbface(tfmdata)
if not tfmdata.hb then return end
- return tfmdata.hbshared.face
+ return tfmdata.hb.shared.face
end
--[[doc--
diff --git a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-colors.lua b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-colors.lua
index ae78130b4f8..ddc564b05bc 100644
--- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-colors.lua
+++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-colors.lua
@@ -5,8 +5,8 @@
local ProvidesLuaModule = {
name = "luaotfload-colors",
- version = "3.1", --TAGVERSION
- date = "2019-11-04", --TAGDATE
+ version = "3.11", --TAGVERSION
+ date = "2019-11-10", --TAGDATE
description = "luaotfload submodule / color",
license = "GPL v2.0",
author = "Khaled Hosny, Elie Roux, Philipp Gesang, Dohyun Kim, David Carlisle",
diff --git a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-configuration.lua b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-configuration.lua
index e9b818df2d8..b9ee9a6c7ac 100644
--- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-configuration.lua
+++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-configuration.lua
@@ -7,8 +7,8 @@
local ProvidesLuaModule = {
name = "luaotfload-configuration",
- version = "3.1", --TAGVERSION
- date = "2019-11-04", --TAGDATE
+ version = "3.11", --TAGVERSION
+ date = "2019-11-10", --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 10a0853c890..ad00bb26f72 100644
--- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-database.lua
+++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-database.lua
@@ -5,8 +5,8 @@
do -- block to avoid to many local variables error
local ProvidesLuaModule = {
name = "luaotfload-database",
- version = "3.1", --TAGVERSION
- date = "2019-11-04", --TAGDATE
+ version = "3.11", --TAGVERSION
+ date = "2019-11-10", --TAGDATE
description = "luaotfload submodule / database",
license = "GPL v2.0",
author = "Khaled Hosny, Elie Roux, Philipp Gesang, Marcel Krüger",
diff --git a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-diagnostics.lua b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-diagnostics.lua
index 1dc24ba6ee7..0df0be7ff52 100644
--- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-diagnostics.lua
+++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-diagnostics.lua
@@ -7,8 +7,8 @@
local ProvidesLuaModule = {
name = "luaotfload-diagnostics",
- version = "3.1", --TAGVERSION
- date = "2019-11-04", --TAGDATE
+ version = "3.11", --TAGVERSION
+ date = "2019-11-10", --TAGDATE
description = "luaotfload-tool submodule / diagnostics",
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 8d512499764..4e16a992d05 100644
--- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-embolden.lua
+++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-embolden.lua
@@ -5,8 +5,8 @@
local ProvidesLuaModule = {
name = "luaotfload-embolden",
- version = "3.1", --TAGVERSION
- date = "2019-11-04", --TAGDATE
+ version = "3.11", --TAGVERSION
+ date = "2019-11-10", --TAGDATE
description = "luaotfload submodule / color",
license = "GPL v2.0",
author = "Marcel Krüger"
diff --git a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-features.lua b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-features.lua
index bf56c4e3d14..de129891e3f 100644
--- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-features.lua
+++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-features.lua
@@ -5,8 +5,8 @@
local ProvidesLuaModule = {
name = "luaotfload-features",
- version = "3.1", --TAGVERSION
- date = "2019-11-04", --TAGDATE
+ version = "3.11", --TAGVERSION
+ date = "2019-11-10", --TAGDATE
description = "luaotfload submodule / features",
license = "GPL v2.0",
author = "Hans Hagen, Khaled Hosny, Elie Roux, Philipp Gesang, Marcel Krüger",
diff --git a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-filelist.lua b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-filelist.lua
index 24868eb3154..4a1348b5f06 100644
--- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-filelist.lua
+++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-filelist.lua
@@ -6,8 +6,8 @@
local ProvidesLuaModule = {
name = "luaotfload-filelist",
- version = "3.1", --TAGVERSION
- date = "2019-11-04", --TAGDATE
+ version = "3.11", --TAGVERSION
+ date = "2019-11-10", --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 fe655149ada..8e0a2dec5f2 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 @@
local ProvidesLuaModule = {
name = "luaotfload-glyphlist",
- version = "3.1", --TAGVERSION
- date = "2019-11-04", --TAGDATE
+ version = "3.11", --TAGVERSION
+ date = "2019-11-10", --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/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-harf-define.lua b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-harf-define.lua
index e8154cb719d..ad02cdb99a0 100644
--- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-harf-define.lua
+++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-harf-define.lua
@@ -5,8 +5,8 @@
do -- block to avoid to many local variables error
local ProvidesLuaModule = {
name = "luaotfload-harf-define",
- version = "3.1", --TAGVERSION
- date = "2019-11-04", --TAGDATE
+ version = "3.11", --TAGVERSION
+ date = "2019-11-10", --TAGDATE
description = "luaotfload submodule / database",
license = "GPL v2.0",
author = "Khaled Hosny, Marcel Krüger",
@@ -23,6 +23,7 @@ local stringupper = string.upper
local gsub = string.gsub
local hb = luaotfload.harfbuzz
+local scriptlang_to_harfbuzz = require'luaotfload-scripts'.to_harfbuzz
local hbfonts = {}
@@ -32,6 +33,9 @@ local os2tag = hb.Tag.new("OS/2")
local posttag = hb.Tag.new("post")
local glyftag = hb.Tag.new("glyf")
+local invalid_l = hb.Language.new()
+local invalid_s = hb.Script.new()
+
local containers = luaotfload.fontloader.containers
local hbcacheversion = 1.0
local facecache = containers.define("fonts", "hb", hbcacheversion, true)
@@ -366,15 +370,23 @@ fonts.readers.harf = function(spec)
local hb_features = {}
spec.hb_features = hb_features
- if rawfeatures.language then
+ if rawfeatures.script then
+ local script = stringlower(rawfeatures.script)
+ if script == "dflt" then -- Probably a noop, HarfBuzz normalizes anyway
+ script = "DFLT"
+ end
+ local language = stringupper(rawfeatures.language or 'dflt')
+ language = language == "DFLT" and "dflt" or language
+ local hb_script, hb_lang = scriptlang_to_harfbuzz(script, language)
+ spec.script, spec.language = hb.Script.new(hb_script), hb.Language.new(hb_lang)
+ elseif rawfeatures.language then
local language = stringupper(rawfeatures.language)
spec.language = hb.Language.new(language == "DFLT" and "dflt"
or language)
- end
- if rawfeatures.script then
- local script = stringlower(rawfeatures.script)
- spec.script = hb.Script.new(script == "dflt" and "DFLT"
- or script)
+ spec.script = invalid_s
+ else
+ spec.script = invalid_s
+ spec.language = invalid_l
end
for key, val in next, rawfeatures do
if key:len() == 4 then
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 123a1c4563e..528d8c1e60b 100644
--- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-harf-plug.lua
+++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-harf-plug.lua
@@ -5,8 +5,8 @@
do -- block to avoid to many local variables error
local ProvidesLuaModule = {
name = "luaotfload-harf-plug",
- version = "3.1", --TAGVERSION
- date = "2019-11-04", --TAGDATE
+ version = "3.11", --TAGVERSION
+ date = "2019-11-10", --TAGDATE
description = "luaotfload submodule / database",
license = "GPL v2.0",
author = "Khaled Hosny, Marcel Krüger",
@@ -98,9 +98,6 @@ local italiccorr_t = 3
local regulardisc_t = 3
local spaceskip_t = 13
-local invalid_l = hb.Language.new()
-local invalid_s = hb.Script.new()
-
local dir_ltr = hb.Direction.new("ltr")
local dir_rtl = hb.Direction.new("rtl")
local fl_unsafe = hb.Buffer.GLYPH_FLAG_UNSAFE_TO_BREAK
@@ -322,8 +319,8 @@ function shape(head, node, run)
local hbshared = hbdata.shared
local hbfont = hbshared.font
- local lang = spec.language or invalid_l
- local script = spec.script or invalid_s
+ local lang = spec.language
+ local script = spec.script
local shapers = options.shaper and { options.shaper } or {}
local buf = hb.Buffer.new()
diff --git a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-init.lua b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-init.lua
index 5f7b710d9b1..e136d6cf63c 100644
--- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-init.lua
+++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-init.lua
@@ -7,8 +7,8 @@
local ProvidesLuaModule = {
name = "luaotfload-init",
- version = "3.1", --TAGVERSION
- date = "2019-11-04", --TAGDATE
+ version = "3.11", --TAGVERSION
+ date = "2019-11-10", --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 a58d59ba1a5..905fc6acce8 100644
--- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-letterspace.lua
+++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-letterspace.lua
@@ -5,8 +5,8 @@
local ProvidesLuaModule = {
name = "luaotfload-letterspace",
- version = "3.1", --TAGVERSION
- date = "2019-11-04", --TAGDATE
+ version = "3.11", --TAGVERSION
+ date = "2019-11-10", --TAGDATE
description = "luaotfload submodule / color",
license = "GPL v2.0",
copyright = "PRAGMA ADE / ConTeXt Development Team",
diff --git a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-loaders.lua b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-loaders.lua
index c2c2320ff8b..2865bf55165 100644
--- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-loaders.lua
+++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-loaders.lua
@@ -8,8 +8,8 @@
local ProvidesLuaModule = {
name = "luaotfload-loaders",
- version = "3.1", --TAGVERSION
- date = "2019-11-04", --TAGDATE
+ version = "3.11", --TAGVERSION
+ date = "2019-11-10", --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 e6bb042b4f5..95328771272 100644
--- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-log.lua
+++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-log.lua
@@ -6,8 +6,8 @@
local ProvidesLuaModule = {
name = "luaotfload-log",
- version = "3.1", --TAGVERSION
- date = "2019-11-04", --TAGDATE
+ version = "3.11", --TAGVERSION
+ date = "2019-11-10", --TAGDATE
description = "luaotfload submodule / logging",
license = "GPL v2.0",
author = "Khaled Hosny, Elie Roux, Philipp Gesang",
diff --git a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-main.lua b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-main.lua
index d17a1d9b264..65fdc9fc00b 100644
--- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-main.lua
+++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-main.lua
@@ -20,8 +20,8 @@ local authors = "\z
-- version number is used below!
local ProvidesLuaModule = {
name = "luaotfload-main",
- version = "3.1", --TAGVERSION
- date = "2019-11-04", --TAGDATE
+ version = "3.11", --TAGVERSION
+ date = "2019-11-10", --TAGDATE
description = "luaotfload entry point",
author = authors,
copyright = authors,
diff --git a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-multiscript.lua b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-multiscript.lua
index 56d381a9118..c2aa664fabc 100644
--- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-multiscript.lua
+++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-multiscript.lua
@@ -5,8 +5,8 @@
local ProvidesLuaModule = {
name = "luaotfload-multiscript",
- version = "3.1", --TAGVERSION
- date = "2019-11-04", --TAGDATE
+ version = "3.11", --TAGVERSION
+ date = "2019-11-10", --TAGDATE
description = "luaotfload submodule / multiscript",
license = "GPL v2.0",
author = "Marcel Krüger"
diff --git a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-notdef.lua b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-notdef.lua
index 53f4af8e3ae..9c0634f90d7 100644
--- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-notdef.lua
+++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-notdef.lua
@@ -5,8 +5,8 @@
local ProvidesLuaModule = {
name = "luaotfload-notdef",
- version = "3.1", --TAGVERSION
- date = "2019-11-04", --TAGDATE
+ version = "3.11", --TAGVERSION
+ date = "2019-11-10", --TAGDATE
description = "luaotfload submodule / color",
license = "GPL v2.0",
author = "Marcel Krüger"
diff --git a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-parsers.lua b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-parsers.lua
index 4a2d6305e1c..4cf46fe3293 100644
--- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-parsers.lua
+++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-parsers.lua
@@ -7,8 +7,8 @@
local ProvidesLuaModule = {
name = "luaotfload-parsers",
- version = "3.1", --TAGVERSION
- date = "2019-11-04", --TAGDATE
+ version = "3.11", --TAGVERSION
+ date = "2019-11-10", --TAGDATE
description = "luaotfload submodule / filelist",
license = "GPL v2.0"
}
diff --git a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-resolvers.lua b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-resolvers.lua
index 97e85f0a41e..61949621cb0 100644
--- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-resolvers.lua
+++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-resolvers.lua
@@ -11,8 +11,8 @@
local ProvidesLuaModule = {
name = "luaotfload-resolvers",
- version = "3.1", --TAGVERSION
- date = "2019-11-04", --TAGDATE
+ version = "3.11", --TAGVERSION
+ date = "2019-11-10", --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
new file mode 100644
index 00000000000..48ececf8908
--- /dev/null
+++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-scripts.lua
@@ -0,0 +1,91 @@
+-----------------------------------------------------------------------
+-- FILE: luaotfload-script.lua
+-- DESCRIPTION: part of luaotfload / script
+-----------------------------------------------------------------------
+
+local ProvidesLuaModule = {
+ name = "luaotfload-script",
+ version = "3.11", --TAGVERSION
+ date = "2019-11-10", --TAGDATE
+ description = "luaotfload submodule / Script helpers",
+ license = "CC0 1.0 Universal",
+ author = "Marcel Krüger"
+}
+
+if luatexbase and luatexbase.provides_module then
+ luatexbase.provides_module (ProvidesLuaModule)
+end
+
+local canonical_name = {
+ dflt = "DFLT",
+ hira = "kana",
+ laoo = "lao",
+ yiii = "yi",
+ nkoo = "nko",
+ yaii = "vai",
+ ["lao "] = "lao",
+ ["yi "] = "yi",
+ ["nko "] = "nko",
+ ["vai "] = "vai",
+}
+local versioned_script = {
+ mym = "mymr", mymr = "mym",
+ bng = "beng", beng = "bng",
+ dev = "deva", deva = "dev",
+ gjr = "gujr", gujr = "gjr",
+ gur = "guru", guru = "gur",
+ knd = "knda", knda = "knd",
+ mlm = "mlym", mlym = "mlm",
+ ory = "orya", orya = "ory",
+ tml = "taml", taml = "tml",
+ tel = "telu", telu = "tel",
+}
+local function get_versioned(original)
+ local base = original:gsub("%d$", "") -- Strip any existing version
+ local versioned = versioned_script[base]
+ if not versioned then
+ return original
+ end
+ if #base == 3 then
+ local t = base
+ base = versioned
+ versioned = t
+ end
+ if base == "mymr" then
+ return "mym2", "mymr"
+ end
+ return versioned .. '3', versioned .. '2', base
+end
+
+-- We never return trailing spaces because I consider them implementation details.
+local function script_to_ot(iso)
+ iso = iso:lower()
+ return get_versioned(canonical_name[iso] or iso)
+end
+
+local function script_to_iso(tag)
+ tag = tag:lower()
+ tag = canonical_name[tag] or tag
+ local stripped, did_strip = tag:gsub("%d$", "")
+ tag = did_strip == 1 and versioned_script[stripped] or tag
+ local tag_length = #tag
+ if tag_length == 4 then return tag end -- Optimization for common case
+ -- I promise you, I am not making this one up
+ return tag .. string.rep(tag:sub(tag_length, tag_length), 4-tag_length)
+end
+
+local function to_harfbuzz(script, language)
+ local otscript = script_to_iso(script)
+ -- if script_to_ot(otscript) == script then
+ -- return otscript, language
+ -- end
+ return otscript, "x-hbot" .. language .. "-hbsc" .. script
+end
+
+return {
+ to_harfbuzz = to_harfbuzz,
+ script = {
+ to_ot = script_to_ot,
+ to_iso = script_to_iso,
+ },
+}
diff --git a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-status.lua b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-status.lua
index 3221986ca78..b4bad63474f 100644
--- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-status.lua
+++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-status.lua
@@ -55,40 +55,40 @@ return {
{ "fontloader-reference.lua", "5be3565068a1929b173bde862b48a30e" },
{ "fontloader-basics-gen.lua", "b21e91bbd534f77e368f0ec13f865aed" },
{ "mktests", "c7cff7025962922944376acc1ffa9c47" },
- { "mkstatus", "32b8eee5316ca3100e4434db79d08230" },
+ { "mkstatus", "1a9f8bbf36426071b6970678975360a9" },
{ "mkcharacters", "92c24bb582fc84c0365634f29eb89863" },
{ "mkglyphlist", "557836886d4f0e6d656eac3ded4456a2" },
{ "mkimport", "60e0b11a1a68719033e86a3e0f4d5e86" },
- { "luaotfload-glyphlist.lua", "6dc41351ebdb122e044bed6d3fc2ca4b" },
+ { "luaotfload-glyphlist.lua", "bb67952ea9fb1c3766402457bd477629" },
{ "luaotfload-characters.lua", "593ce9dccf6ddc4f7d4be0514f581102" },
- { "luaotfload-tounicode.lua", "b87cab857631c47f5c2bbfa4dc1b5598" },
- { "luaotfload-unicode.lua", "eaf637834d735afce54cf81721b89626" },
- { "luaotfload-resolvers.lua", "7bcd23bf0c4079174679f61c315f54ed" },
- { "luaotfload-parsers.lua", "23b0550fcc6bf872714d882b8d15f465" },
- { "luaotfload-multiscript.lua", "bd0b25f9b9b21ad1e1a24fb88dc5cdbf" },
- { "luaotfload-loaders.lua", "34d130aa4e365639baecfa0481e34d13" },
- { "luaotfload-harf-plug.lua", "59429664d9bebfbf0e0bfa8a8bdd85e3" },
- { "luaotfload-harf-define.lua", "f0aafaecaddbc43f665a076195ed9205" },
- { "luaotfload-notdef.lua", "ce00644d5801c6fac2e274626a52ecf2" },
- { "luaotfload-embolden.lua", "7ff4b7e2970f2748a4d881b23085495d" },
- { "luaotfload-letterspace.lua", "2b24d57529363de4a004510da84bafd9" },
- { "luaotfload-features.lua", "b8c279955bcc473f02ad77b46942eb29" },
- { "luaotfload-database.lua", "131587572dcf49769bec7e085ab61281" },
- { "luaotfload-configuration.lua", "a59a94e07e20998144c91d5eb44b9302" },
- { "luaotfload-colors.lua", "c13f4c88058e2c4869205ad015765070" },
- { "luaotfload-auxiliary.lua", "77bcb55f9d215ad8a61701dc64e9a07e" },
- { "luaotfload-filelist.lua", "96967c2f4ad091f2a8c74a50294c25d5" },
- { "luaotfload-tool.lua", "9a53d4aedf71012530be90303aabe0d9" },
- { "luaotfload-diagnostics.lua", "f521a2b70b24bd23fb23d3d08d7845bf" },
- { "luaotfload-log.lua", "28c5c63d7af789ab7ca5757870dfc595" },
- { "luaotfload-init.lua", "ebb2e936d4c95cab76649897f6af0e25" },
- { "luaotfload-main.lua", "e4208f459c12b57a6996b4c7e9adbb8b" },
+ { "luaotfload-tounicode.lua", "f37eab5828b4aee392de359bf4d57027" },
+ { "luaotfload-unicode.lua", "861eb4a6332e0b7d8e757cab4759a734" },
+ { "luaotfload-resolvers.lua", "5d9e254413ba333a4f559be023355224" },
+ { "luaotfload-parsers.lua", "e1f4a54c2f29550d3c8ff18e19841ee4" },
+ { "luaotfload-multiscript.lua", "05d2f1c9a27afdbc4b9ad95f958cb6cb" },
+ { "luaotfload-loaders.lua", "cc475c8b04368d3f8ef6e52495fb579a" },
+ { "luaotfload-harf-plug.lua", "ec3ad02c41bd174aedc350dc4cabbc54" },
+ { "luaotfload-harf-define.lua", "7e85627ae64b749f41de5863d7c5ca86" },
+ { "luaotfload-notdef.lua", "23d514bea20fcb0343a8382537ab3924" },
+ { "luaotfload-embolden.lua", "bd0cd6e3951dab2862ca2d2dc1c6bccb" },
+ { "luaotfload-letterspace.lua", "352d83726eead3902323d451907aeb66" },
+ { "luaotfload-features.lua", "c60d2fcaab63dc338d9abd82176f96ee" },
+ { "luaotfload-database.lua", "3f126f3acdcf4b90f13d6c3c41b83147" },
+ { "luaotfload-configuration.lua", "fdb8f0e3b826e91b8598d4b4a387aaa5" },
+ { "luaotfload-colors.lua", "7f63ffde97bb798b63f2c94c5a7e474f" },
+ { "luaotfload-auxiliary.lua", "5e027ad1dde5655eaa74204cdb709098" },
+ { "luaotfload-filelist.lua", "3194c19d0618e4784711e87864e625ea" },
+ { "luaotfload-tool.lua", "3f989f7646d8df2aea584d2333cfb894" },
+ { "luaotfload-diagnostics.lua", "b31b30dd151cd2e6c359b56f4c9fd12c" },
+ { "luaotfload-log.lua", "30d00c154254ce70fe7c1a33692110e2" },
+ { "luaotfload-init.lua", "e22c43529440994d0c99734c736dbb65" },
+ { "luaotfload-main.lua", "9fc20061c7af28ccfcfb95a69115c3e4" },
},
["notes"]={
["committer"]="Ulrike Fischer <fischer@troubleshooting-tex.de>",
- ["description"]="v3.1/2019-11-04",
+ ["description"]="v3.11/2019-11-10",
["loader"]="fontloader-2019-10-29.lua",
- ["revision"]="cdc212ae76bc0f839d116c8f66af98445ba9f307",
- ["timestamp"]="2019-11-03 15:29:57 +0100",
+ ["revision"]="d2ab135f432eadbc68f529447aa47b906ff961ab",
+ ["timestamp"]="2019-11-10 21:29:47 +0100",
},
} \ No newline at end of file
diff --git a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-tounicode.lua b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-tounicode.lua
index 3636f79220d..560f2c83aa0 100644
--- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-tounicode.lua
+++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-tounicode.lua
@@ -5,8 +5,8 @@
local ProvidesLuaModule = {
name = "luaotfload-tounicode",
- version = "3.1", --TAGVERSION
- date = "2019-11-04", --TAGDATE
+ version = "3.11", --TAGVERSION
+ date = "2019-11-10", --TAGDATE
description = "luaotfload submodule / tounicode",
license = "GPL v2.0",
author = "Hans Hagen, Khaled Hosny, Elie Roux, Philipp Gesang, Marcel Krüger",
diff --git a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-unicode.lua b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-unicode.lua
index c1bdf3cbd26..659e92d9387 100644
--- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-unicode.lua
+++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-unicode.lua
@@ -5,8 +5,8 @@
local ProvidesLuaModule = {
name = "luaotfload-unicode",
- version = "3.1", --TAGVERSION
- date = "2019-11-04", --TAGDATE
+ version = "3.11", --TAGVERSION
+ date = "2019-11-10", --TAGDATE
description = "luaotfload submodule / Unicode helpers",
license = "CC0 1.0 Universal",
author = "Marcel Krüger"
diff --git a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload.sty b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload.sty
index 4dc2553d334..2c9582e4645 100644
--- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload.sty
+++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload.sty
@@ -40,7 +40,7 @@
\fi
\ifdefined\ProvidesPackage
\ProvidesPackage{luaotfload}%
- [2019/11/04 v3.1 OpenType layout system]
+ [2019/11/10 v3.11 OpenType layout system]
\fi
\directlua{
if xpcall(function ()%