summaryrefslogtreecommitdiff
path: root/macros/luatex/generic
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-11-12 03:01:13 +0000
committerNorbert Preining <norbert@preining.info>2019-11-12 03:01:13 +0000
commita6d73b76eb19794e956fe1f3ab1f9bab3915cd7a (patch)
tree26a9e14dec31508c4c4bd3ec69dfccef8c39bad2 /macros/luatex/generic
parent0e71c26d9aa79c6e92c3095d6c71f28a566e6054 (diff)
CTAN sync 201911120301
Diffstat (limited to 'macros/luatex/generic')
-rw-r--r--macros/luatex/generic/luaotfload/NEWS5
-rw-r--r--macros/luatex/generic/luaotfload/README.md4
-rw-r--r--macros/luatex/generic/luaotfload/filegraph.pdfbin39841 -> 39841 bytes
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-auxiliary.lua7
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-colors.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-conf.pdfbin77675 -> 77676 bytes
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-configuration.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-database.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-diagnostics.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-embolden.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-features.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-filelist.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-glyphlist.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-harf-define.lua28
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-harf-plug.lua11
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-init.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-latex.pdfbin394415 -> 394746 bytes
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-letterspace.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-loaders.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-log.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-main.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-main.tex17
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-multiscript.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-notdef.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-parsers.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-resolvers.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-scripts.lua91
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-status.lua54
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-tool.12
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-tool.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-tool.pdfbin76923 -> 76928 bytes
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-tool.rst4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-tounicode.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-unicode.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload.conf.52
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload.conf.rst4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload.sty2
-rw-r--r--macros/luatex/generic/luaotfload/scripts-demo.pdfbin21422 -> 21422 bytes
-rw-r--r--macros/luatex/generic/luaotfload/scripts-demo.tex8
-rw-r--r--macros/luatex/generic/luaotfload/shaper-demo-graphite.pdfbin8487 -> 8487 bytes
-rw-r--r--macros/luatex/generic/luaotfload/shaper-demo.pdfbin8411 -> 8411 bytes
41 files changed, 215 insertions, 104 deletions
diff --git a/macros/luatex/generic/luaotfload/NEWS b/macros/luatex/generic/luaotfload/NEWS
index 86b9dd9b2d..d8c05e500a 100644
--- a/macros/luatex/generic/luaotfload/NEWS
+++ b/macros/luatex/generic/luaotfload/NEWS
@@ -1,5 +1,10 @@
Change History
--------------
+2019-11-10 luaotfload v3.11
+ * Changed the handling of the script key in harf mode to be more compatible with behaviour of the node mode.
+ It now expects the name of a script that is actually in the font instead of a ISO 15924 script tag. See issue 117.
+ * Corrected a number of small typos and bugs in harf mode.
+
2019-11-04 luaotfload v3.1
* added code to use the harfbuzz library of luahbtex ("mode=harf")
* fonts in ttc can now be indexed by name
diff --git a/macros/luatex/generic/luaotfload/README.md b/macros/luatex/generic/luaotfload/README.md
index ca760b1bab..57cae2d99b 100644
--- a/macros/luatex/generic/luaotfload/README.md
+++ b/macros/luatex/generic/luaotfload/README.md
@@ -1,8 +1,8 @@
# The Luaotfload Package
-VERSION: 3.1
+VERSION: 3.11
-DATE: 2019-11-04
+DATE: 2019-11-10
## Description
diff --git a/macros/luatex/generic/luaotfload/filegraph.pdf b/macros/luatex/generic/luaotfload/filegraph.pdf
index 95b296c599..9fc854a941 100644
--- a/macros/luatex/generic/luaotfload/filegraph.pdf
+++ b/macros/luatex/generic/luaotfload/filegraph.pdf
Binary files differ
diff --git a/macros/luatex/generic/luaotfload/luaotfload-auxiliary.lua b/macros/luatex/generic/luaotfload/luaotfload-auxiliary.lua
index 9538a15bb0..fd4291f67c 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-auxiliary.lua
+++ b/macros/luatex/generic/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/macros/luatex/generic/luaotfload/luaotfload-colors.lua b/macros/luatex/generic/luaotfload/luaotfload-colors.lua
index ae78130b4f..ddc564b05b 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-colors.lua
+++ b/macros/luatex/generic/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/macros/luatex/generic/luaotfload/luaotfload-conf.pdf b/macros/luatex/generic/luaotfload/luaotfload-conf.pdf
index 031fb0987a..0515095402 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-conf.pdf
+++ b/macros/luatex/generic/luaotfload/luaotfload-conf.pdf
Binary files differ
diff --git a/macros/luatex/generic/luaotfload/luaotfload-configuration.lua b/macros/luatex/generic/luaotfload/luaotfload-configuration.lua
index e9b818df2d..b9ee9a6c7a 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-configuration.lua
+++ b/macros/luatex/generic/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/macros/luatex/generic/luaotfload/luaotfload-database.lua b/macros/luatex/generic/luaotfload/luaotfload-database.lua
index 10a0853c89..ad00bb26f7 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-database.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-database.lua
@@ -5,8 +5,8 @@
do -- block to avoid to many local variables error
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/macros/luatex/generic/luaotfload/luaotfload-diagnostics.lua b/macros/luatex/generic/luaotfload/luaotfload-diagnostics.lua
index 1dc24ba6ee..0df0be7ff5 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-diagnostics.lua
+++ b/macros/luatex/generic/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/macros/luatex/generic/luaotfload/luaotfload-embolden.lua b/macros/luatex/generic/luaotfload/luaotfload-embolden.lua
index 8d51249976..4e16a992d0 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-embolden.lua
+++ b/macros/luatex/generic/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/macros/luatex/generic/luaotfload/luaotfload-features.lua b/macros/luatex/generic/luaotfload/luaotfload-features.lua
index bf56c4e3d1..de129891e3 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-features.lua
+++ b/macros/luatex/generic/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/macros/luatex/generic/luaotfload/luaotfload-filelist.lua b/macros/luatex/generic/luaotfload/luaotfload-filelist.lua
index 24868eb315..4a1348b5f0 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-filelist.lua
+++ b/macros/luatex/generic/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/macros/luatex/generic/luaotfload/luaotfload-glyphlist.lua b/macros/luatex/generic/luaotfload/luaotfload-glyphlist.lua
index fe655149ad..8e0a2dec5f 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-glyphlist.lua
+++ b/macros/luatex/generic/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/macros/luatex/generic/luaotfload/luaotfload-harf-define.lua b/macros/luatex/generic/luaotfload/luaotfload-harf-define.lua
index e8154cb719..ad02cdb99a 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-harf-define.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-harf-define.lua
@@ -5,8 +5,8 @@
do -- block to avoid to many local variables error
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/macros/luatex/generic/luaotfload/luaotfload-harf-plug.lua b/macros/luatex/generic/luaotfload/luaotfload-harf-plug.lua
index 123a1c4563..528d8c1e60 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-harf-plug.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-harf-plug.lua
@@ -5,8 +5,8 @@
do -- block to avoid to many local variables error
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/macros/luatex/generic/luaotfload/luaotfload-init.lua b/macros/luatex/generic/luaotfload/luaotfload-init.lua
index 5f7b710d9b..e136d6cf63 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-init.lua
+++ b/macros/luatex/generic/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/macros/luatex/generic/luaotfload/luaotfload-latex.pdf b/macros/luatex/generic/luaotfload/luaotfload-latex.pdf
index 28391b2e8a..815d215d6b 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-latex.pdf
+++ b/macros/luatex/generic/luaotfload/luaotfload-latex.pdf
Binary files differ
diff --git a/macros/luatex/generic/luaotfload/luaotfload-letterspace.lua b/macros/luatex/generic/luaotfload/luaotfload-letterspace.lua
index a58d59ba1a..905fc6acce 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-letterspace.lua
+++ b/macros/luatex/generic/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/macros/luatex/generic/luaotfload/luaotfload-loaders.lua b/macros/luatex/generic/luaotfload/luaotfload-loaders.lua
index c2c2320ff8..2865bf5516 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-loaders.lua
+++ b/macros/luatex/generic/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/macros/luatex/generic/luaotfload/luaotfload-log.lua b/macros/luatex/generic/luaotfload/luaotfload-log.lua
index e6bb042b4f..9532877127 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-log.lua
+++ b/macros/luatex/generic/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/macros/luatex/generic/luaotfload/luaotfload-main.lua b/macros/luatex/generic/luaotfload/luaotfload-main.lua
index d17a1d9b26..65fdc9fc00 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-main.lua
+++ b/macros/luatex/generic/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/macros/luatex/generic/luaotfload/luaotfload-main.tex b/macros/luatex/generic/luaotfload/luaotfload-main.tex
index dbc8d73e7d..9fe9060695 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-main.tex
+++ b/macros/luatex/generic/luaotfload/luaotfload-main.tex
@@ -32,7 +32,7 @@
\beginfrontmatter
\setdocumenttitle {The \identifier{luaotfload} package}
- \setdocumentdate {2019-11-04 v3.1}
+ \setdocumentdate {2019-11-10 v3.11}
\setdocumentauthor {LaTeX3 Project\\
Elie Roux · Khaled Hosny · Philipp Gesang · Ulrike Fischer · Marcel Krüger\\
Home: \hyperlink {https://github.com/latex3/luaotfload}}
@@ -62,12 +62,17 @@ Supported is the \identifier{luatex} versions of a current TeXLive 2019 (and a c
\endsection
\beginsection{Changes}
+\beginsubsection {New in version 3.11 (by Ulrike Fischer/Marcel Krüger)}
+\begin{itemize}
+\item Changed the handling of the \identifier{script} key in harf mode to be more compatible with behaviour of the node mode. It now expects the name of a script that is actually in the font instead of a ISO 15924 script tag. See issue 117.
+\item Corrected a number of small typos and bugs in harf mode.
+\end{itemize}
\beginsubsection {New in version 3.1 (by Ulrike Fischer/Marcel Krüger)}
\begin{itemize}
\item The package has been moved to the github of the LaTeX3 Project and is now maintained
officially by the LaTeX3 Project team.
\item Code to use the harfbuzz library of luahbtex has been added. See the description of the harf mode.
-\item fonts in ttc-collections can now be indexed by name.
+\item fonts in ttc-collections can now be indexed by name.
\item To reduce the polution of the global lua enviroment a number of lua tables have been removed.
Only the tables \identifier{luaotfload}, \identifier{fonts} and \identifier{nodes} have been kept there.
\item The fontloader has been synched with the context files from 2019-10-29.
@@ -766,13 +771,13 @@ obviously, \inlinecode{random}.
\identifier{harf} mode is new in version 3.1 and needs the new \identifier{luahbtex} engine (the mode is ignored if \identifier{luahbtex} is not used). With it is possible to render a font using the harfbuzz library in-built in the new engine. \identifier{harf} mode improves greatly the rendering of indic and arabic scripts and is highly recommended for such scripts.
- When using \identifier{harf} mode it is required to set also the script correctly:
+ When using \identifier{harf} mode it is required to set also the script correctly.
\beginlisting
- \font\burmesefont={file:NotoSerifMyanmar-Regular.ttf:mode=harf;script=mymr;}
- \font\devafont={file:NotoSansDevanagari-Regular.ttf:mode=harf;script=deva;}
- \font\banglafont={name:Noto Sans Bengali:mode=harf;script=beng;}
+ \font\burmesefont={file:NotoSerifMyanmar-Regular.ttf:mode=harf;script=mym2;}
+ \font\devafont={file:NotoSansDevanagari-Regular.ttf:mode=harf;script=dev2;}
+ \font\banglafont={name:Noto Sans Bengali:mode=harf;script=ben2;}
\font\tibetanfont={name:Noto Serif Tibetan:mode=harf;script=tibt;}
\endlisting
diff --git a/macros/luatex/generic/luaotfload/luaotfload-multiscript.lua b/macros/luatex/generic/luaotfload/luaotfload-multiscript.lua
index 56d381a911..c2aa664fab 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-multiscript.lua
+++ b/macros/luatex/generic/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/macros/luatex/generic/luaotfload/luaotfload-notdef.lua b/macros/luatex/generic/luaotfload/luaotfload-notdef.lua
index 53f4af8e3a..9c0634f90d 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-notdef.lua
+++ b/macros/luatex/generic/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/macros/luatex/generic/luaotfload/luaotfload-parsers.lua b/macros/luatex/generic/luaotfload/luaotfload-parsers.lua
index 4a2d6305e1..4cf46fe329 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-parsers.lua
+++ b/macros/luatex/generic/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/macros/luatex/generic/luaotfload/luaotfload-resolvers.lua b/macros/luatex/generic/luaotfload/luaotfload-resolvers.lua
index 97e85f0a41..61949621cb 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-resolvers.lua
+++ b/macros/luatex/generic/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/macros/luatex/generic/luaotfload/luaotfload-scripts.lua b/macros/luatex/generic/luaotfload/luaotfload-scripts.lua
new file mode 100644
index 0000000000..48ececf890
--- /dev/null
+++ b/macros/luatex/generic/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/macros/luatex/generic/luaotfload/luaotfload-status.lua b/macros/luatex/generic/luaotfload/luaotfload-status.lua
index 3221986ca7..b4bad63474 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-status.lua
+++ b/macros/luatex/generic/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/macros/luatex/generic/luaotfload/luaotfload-tool.1 b/macros/luatex/generic/luaotfload/luaotfload-tool.1
index c2d754baa3..03b8373858 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-tool.1
+++ b/macros/luatex/generic/luaotfload/luaotfload-tool.1
@@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
-.TH LUAOTFLOAD-TOOL 1 "2019-11-04" "3.1" "text processing"
+.TH LUAOTFLOAD-TOOL 1 "2019-11-10" "3.11" "text processing"
.SH NAME
luaotfload-tool \- generate and query the Luaotfload font names database
.
diff --git a/macros/luatex/generic/luaotfload/luaotfload-tool.lua b/macros/luatex/generic/luaotfload/luaotfload-tool.lua
index 12bf2b3a42..b83cbb84bc 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-tool.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-tool.lua
@@ -9,8 +9,8 @@
local ProvidesLuaModule = {
name = "luaotfload-tool",
- version = "3.1", --TAGVERSION
- date = "2019-11-04", --TAGDATE
+ version = "3.11", --TAGVERSION
+ date = "2019-11-10", --TAGDATE
description = "luaotfload-tool / database functionality",
license = "GPL v2.0"
}
diff --git a/macros/luatex/generic/luaotfload/luaotfload-tool.pdf b/macros/luatex/generic/luaotfload/luaotfload-tool.pdf
index 76c2bb6df8..e810fa2ff6 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-tool.pdf
+++ b/macros/luatex/generic/luaotfload/luaotfload-tool.pdf
Binary files differ
diff --git a/macros/luatex/generic/luaotfload/luaotfload-tool.rst b/macros/luatex/generic/luaotfload/luaotfload-tool.rst
index 1c1ec3161e..09e4023882 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-tool.rst
+++ b/macros/luatex/generic/luaotfload/luaotfload-tool.rst
@@ -6,9 +6,9 @@
generate and query the Luaotfload font names database
-----------------------------------------------------------------------
-:Date: 2019-11-04
+:Date: 2019-11-10
:Copyright: GPL v2.0
-:Version: 3.1
+:Version: 3.11
:Manual section: 1
:Manual group: text processing
diff --git a/macros/luatex/generic/luaotfload/luaotfload-tounicode.lua b/macros/luatex/generic/luaotfload/luaotfload-tounicode.lua
index 3636f79220..560f2c83aa 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-tounicode.lua
+++ b/macros/luatex/generic/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/macros/luatex/generic/luaotfload/luaotfload-unicode.lua b/macros/luatex/generic/luaotfload/luaotfload-unicode.lua
index c1bdf3cbd2..659e92d938 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-unicode.lua
+++ b/macros/luatex/generic/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/macros/luatex/generic/luaotfload/luaotfload.conf.5 b/macros/luatex/generic/luaotfload/luaotfload.conf.5
index 9726ad7aac..c6969eaec6 100644
--- a/macros/luatex/generic/luaotfload/luaotfload.conf.5
+++ b/macros/luatex/generic/luaotfload/luaotfload.conf.5
@@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
-.TH LUAOTFLOAD.CONF 5 "2019-11-04" "3.1" "text processing"
+.TH LUAOTFLOAD.CONF 5 "2019-11-10" "3.11" "text processing"
.SH NAME
luaotfload.conf \- Luaotfload configuration file
.
diff --git a/macros/luatex/generic/luaotfload/luaotfload.conf.rst b/macros/luatex/generic/luaotfload/luaotfload.conf.rst
index 18042188b8..39faaa5040 100644
--- a/macros/luatex/generic/luaotfload/luaotfload.conf.rst
+++ b/macros/luatex/generic/luaotfload/luaotfload.conf.rst
@@ -6,9 +6,9 @@
Luaotfload configuration file
-----------------------------------------------------------------------
-:Date: 2019-11-04
+:Date: 2019-11-10
:Copyright: GPL v2.0
-:Version: 3.1
+:Version: 3.11
:Manual section: 5
:Manual group: text processing
diff --git a/macros/luatex/generic/luaotfload/luaotfload.sty b/macros/luatex/generic/luaotfload/luaotfload.sty
index 4dc2553d33..2c9582e464 100644
--- a/macros/luatex/generic/luaotfload/luaotfload.sty
+++ b/macros/luatex/generic/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 ()%
diff --git a/macros/luatex/generic/luaotfload/scripts-demo.pdf b/macros/luatex/generic/luaotfload/scripts-demo.pdf
index f0f1bb0065..34fb4bad45 100644
--- a/macros/luatex/generic/luaotfload/scripts-demo.pdf
+++ b/macros/luatex/generic/luaotfload/scripts-demo.pdf
Binary files differ
diff --git a/macros/luatex/generic/luaotfload/scripts-demo.tex b/macros/luatex/generic/luaotfload/scripts-demo.tex
index 4bbe06064c..63a60e5f9b 100644
--- a/macros/luatex/generic/luaotfload/scripts-demo.tex
+++ b/macros/luatex/generic/luaotfload/scripts-demo.tex
@@ -1,8 +1,8 @@
\documentclass{standalone}
-\font\burmesefont={file:NotoSerifMyanmar-Regular.ttf:mode=harf;script=mymr;}
-\font\devafont={file:NotoSansDevanagari-Regular.ttf:mode=harf;script=deva;}
-\font\banglafont={file:NotoSansBengali-Regular.ttf:mode=harf;script=beng;}
+\font\burmesefont={file:NotoSerifMyanmar-Regular.ttf:mode=harf;script=mym2;}
+\font\devafont={file:NotoSansDevanagari-Regular.ttf:mode=harf;script=dev2;}
+\font\banglafont={file:NotoSansBengali-Regular.ttf:mode=harf;script=bng2;}
\font\tibetanfont={file:NotoSerifTibetan-Regular.ttf:mode=harf;script=tibt;}
\standaloneenv{tabular}
\begin{document}
@@ -12,4 +12,4 @@
\banglafont কণ্যা এখন কি করিবে\\
\tibetanfont སྐྱེས་ཙམ་ཉིད་ནས་ཆེ་མཐོངས་དང༌།
\end{tabular}
-\end{document} \ No newline at end of file
+\end{document}
diff --git a/macros/luatex/generic/luaotfload/shaper-demo-graphite.pdf b/macros/luatex/generic/luaotfload/shaper-demo-graphite.pdf
index 3c97c23522..b0ca589b30 100644
--- a/macros/luatex/generic/luaotfload/shaper-demo-graphite.pdf
+++ b/macros/luatex/generic/luaotfload/shaper-demo-graphite.pdf
Binary files differ
diff --git a/macros/luatex/generic/luaotfload/shaper-demo.pdf b/macros/luatex/generic/luaotfload/shaper-demo.pdf
index 183b062e1f..6baf30aa1d 100644
--- a/macros/luatex/generic/luaotfload/shaper-demo.pdf
+++ b/macros/luatex/generic/luaotfload/shaper-demo.pdf
Binary files differ