diff options
author | Karl Berry <karl@freefriends.org> | 2019-11-11 21:44:06 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2019-11-11 21:44:06 +0000 |
commit | 22e10147c4ead5fdba94de7efb6e2aef2cd65e91 (patch) | |
tree | efc01ae064b1a1d5d47950b7ac4f3a64cb8c4209 | |
parent | a9b431f0fc003d22ebc69720bce6e5630983192c (diff) |
luaotfload (11nov19)
git-svn-id: svn://tug.org/texlive/trunk@52738 c570f23f-e606-0410-a88d-b1316a301751
45 files changed, 230 insertions, 117 deletions
diff --git a/Build/source/texk/texlive/linked_scripts/luaotfload/luaotfload-tool.lua b/Build/source/texk/texlive/linked_scripts/luaotfload/luaotfload-tool.lua index 12bf2b3a42c..b83cbb84bcd 100755 --- a/Build/source/texk/texlive/linked_scripts/luaotfload/luaotfload-tool.lua +++ b/Build/source/texk/texlive/linked_scripts/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/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl b/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl index a72cc44f45e..58c5ce81c55 100755 --- a/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl +++ b/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl @@ -5666,6 +5666,7 @@ sub check_executes { my %missingbins; my %missingengines; my %missinginis; + my @archs_to_check = $localtlpdb->available_architectures; for (keys %fmtlines) { my %r = TeXLive::TLUtils::parse_AddFormat_line("$_"); if (defined($r{"error"})) { @@ -5678,10 +5679,11 @@ sub check_executes { # special case for cont-en ... next if ($name eq "cont-en"); # we check that the name exist in bin/$arch - my @archs_to_check = $localtlpdb->available_architectures; - if ($engine eq "luajittex") { + if ($engine =~ /^lua(jit|hb)tex$/) { # luajittex is special since it is not available on all architectures - # due to inherent reasons (machine code) + # due to inherent reasons (machine code); + # luahbtex is special until we build it everywhere for TL'20. + # # We do not want to have error messages here, so we do the following: # * if tlpkg/tlpsrc/luatex.tlpsrc is available, then load it # and filter away those archs that are excluded with f/!... @@ -5689,6 +5691,7 @@ sub check_executes { # we just ignore it completely. my $tlpsrc_file = $localtlpdb->root . "/tlpkg/tlpsrc/luatex.tlpsrc"; if (-r $tlpsrc_file) { + ddebug("check_executes: found $tlpsrc_file\n"); require TeXLive::TLPSRC; my $tlpsrc = new TeXLive::TLPSRC; $tlpsrc->from_file($tlpsrc_file); @@ -5699,25 +5702,24 @@ sub check_executes { my $pt = $1; my $aa = $2; my $pr = $3; - if ($pr =~ m!/luajittex$!) { + if ($pr =~ m!/$engine$!) { # bingo, get the negative patterns if ($aa =~ m/^!(.*)$/) { @negarchs = split(/,/,$1); + ddebug("check_executes: negative arches: @negarchs\n"); } } } } - my %foo; + my @new_archs = (); for my $a (@archs_to_check) { - $foo{$a} = 1; - } - for my $a (@negarchs) { - delete $foo{$a} if defined($foo{$a}); + push (@new_archs, $a) unless grep { $a eq $_ } @negarchs; } - @archs_to_check = keys %foo; + @archs_to_check = @new_archs; } else { - @archs_to_check = (); + @archs_to_check = (); # no tlpsrc, check nothing. } + ddebug("check_executes: final arches to check: @archs_to_check"); } for my $a (@archs_to_check) { my $f = "$Master/bin/$a/$name"; diff --git a/Master/texmf-dist/doc/luatex/luaotfload/NEWS b/Master/texmf-dist/doc/luatex/luaotfload/NEWS index 86b9dd9b2da..d8c05e500a8 100644 --- a/Master/texmf-dist/doc/luatex/luaotfload/NEWS +++ b/Master/texmf-dist/doc/luatex/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/Master/texmf-dist/doc/luatex/luaotfload/README.md b/Master/texmf-dist/doc/luatex/luaotfload/README.md index ca760b1bab4..57cae2d99b1 100644 --- a/Master/texmf-dist/doc/luatex/luaotfload/README.md +++ b/Master/texmf-dist/doc/luatex/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/Master/texmf-dist/doc/luatex/luaotfload/filegraph.pdf b/Master/texmf-dist/doc/luatex/luaotfload/filegraph.pdf Binary files differindex 95b296c5997..9fc854a941c 100644 --- a/Master/texmf-dist/doc/luatex/luaotfload/filegraph.pdf +++ b/Master/texmf-dist/doc/luatex/luaotfload/filegraph.pdf diff --git a/Master/texmf-dist/doc/luatex/luaotfload/luaotfload-conf.pdf b/Master/texmf-dist/doc/luatex/luaotfload/luaotfload-conf.pdf Binary files differindex 031fb0987aa..0515095402d 100644 --- a/Master/texmf-dist/doc/luatex/luaotfload/luaotfload-conf.pdf +++ b/Master/texmf-dist/doc/luatex/luaotfload/luaotfload-conf.pdf diff --git a/Master/texmf-dist/doc/luatex/luaotfload/luaotfload-latex.pdf b/Master/texmf-dist/doc/luatex/luaotfload/luaotfload-latex.pdf Binary files differindex 28391b2e8ab..815d215d6bb 100644 --- a/Master/texmf-dist/doc/luatex/luaotfload/luaotfload-latex.pdf +++ b/Master/texmf-dist/doc/luatex/luaotfload/luaotfload-latex.pdf diff --git a/Master/texmf-dist/doc/luatex/luaotfload/luaotfload-main.tex b/Master/texmf-dist/doc/luatex/luaotfload/luaotfload-main.tex index dbc8d73e7db..9fe90606959 100644 --- a/Master/texmf-dist/doc/luatex/luaotfload/luaotfload-main.tex +++ b/Master/texmf-dist/doc/luatex/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/Master/texmf-dist/doc/luatex/luaotfload/luaotfload-tool.pdf b/Master/texmf-dist/doc/luatex/luaotfload/luaotfload-tool.pdf Binary files differindex 76c2bb6df83..e810fa2ff61 100644 --- a/Master/texmf-dist/doc/luatex/luaotfload/luaotfload-tool.pdf +++ b/Master/texmf-dist/doc/luatex/luaotfload/luaotfload-tool.pdf diff --git a/Master/texmf-dist/doc/luatex/luaotfload/luaotfload-tool.rst b/Master/texmf-dist/doc/luatex/luaotfload/luaotfload-tool.rst index 1c1ec3161e3..09e4023882e 100644 --- a/Master/texmf-dist/doc/luatex/luaotfload/luaotfload-tool.rst +++ b/Master/texmf-dist/doc/luatex/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/Master/texmf-dist/doc/luatex/luaotfload/luaotfload.conf.rst b/Master/texmf-dist/doc/luatex/luaotfload/luaotfload.conf.rst index 18042188b82..39faaa5040c 100644 --- a/Master/texmf-dist/doc/luatex/luaotfload/luaotfload.conf.rst +++ b/Master/texmf-dist/doc/luatex/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/Master/texmf-dist/doc/luatex/luaotfload/scripts-demo.pdf b/Master/texmf-dist/doc/luatex/luaotfload/scripts-demo.pdf Binary files differindex f0f1bb00655..34fb4bad45b 100644 --- a/Master/texmf-dist/doc/luatex/luaotfload/scripts-demo.pdf +++ b/Master/texmf-dist/doc/luatex/luaotfload/scripts-demo.pdf diff --git a/Master/texmf-dist/doc/luatex/luaotfload/scripts-demo.tex b/Master/texmf-dist/doc/luatex/luaotfload/scripts-demo.tex index 4bbe06064c8..63a60e5f9b0 100644 --- a/Master/texmf-dist/doc/luatex/luaotfload/scripts-demo.tex +++ b/Master/texmf-dist/doc/luatex/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/Master/texmf-dist/doc/luatex/luaotfload/shaper-demo-graphite.pdf b/Master/texmf-dist/doc/luatex/luaotfload/shaper-demo-graphite.pdf Binary files differindex 3c97c23522c..b0ca589b306 100644 --- a/Master/texmf-dist/doc/luatex/luaotfload/shaper-demo-graphite.pdf +++ b/Master/texmf-dist/doc/luatex/luaotfload/shaper-demo-graphite.pdf diff --git a/Master/texmf-dist/doc/luatex/luaotfload/shaper-demo.pdf b/Master/texmf-dist/doc/luatex/luaotfload/shaper-demo.pdf Binary files differindex 183b062e1f2..6baf30aa1d1 100644 --- a/Master/texmf-dist/doc/luatex/luaotfload/shaper-demo.pdf +++ b/Master/texmf-dist/doc/luatex/luaotfload/shaper-demo.pdf diff --git a/Master/texmf-dist/doc/man/man1/luaotfload-tool.1 b/Master/texmf-dist/doc/man/man1/luaotfload-tool.1 index c2d754baa34..03b8373858f 100644 --- a/Master/texmf-dist/doc/man/man1/luaotfload-tool.1 +++ b/Master/texmf-dist/doc/man/man1/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/Master/texmf-dist/doc/man/man1/luaotfload-tool.man1.pdf b/Master/texmf-dist/doc/man/man1/luaotfload-tool.man1.pdf Binary files differindex 5e58a2f3577..268814f2680 100644 --- a/Master/texmf-dist/doc/man/man1/luaotfload-tool.man1.pdf +++ b/Master/texmf-dist/doc/man/man1/luaotfload-tool.man1.pdf diff --git a/Master/texmf-dist/doc/man/man5/luaotfload.conf.5 b/Master/texmf-dist/doc/man/man5/luaotfload.conf.5 index 9726ad7aaca..c6969eaec6e 100644 --- a/Master/texmf-dist/doc/man/man5/luaotfload.conf.5 +++ b/Master/texmf-dist/doc/man/man5/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/Master/texmf-dist/doc/man/man5/luaotfload.conf.man5.pdf b/Master/texmf-dist/doc/man/man5/luaotfload.conf.man5.pdf Binary files differindex 2d6608e530f..c340e705d3e 100644 --- a/Master/texmf-dist/doc/man/man5/luaotfload.conf.man5.pdf +++ b/Master/texmf-dist/doc/man/man5/luaotfload.conf.man5.pdf diff --git a/Master/texmf-dist/scripts/luaotfload/luaotfload-tool.lua b/Master/texmf-dist/scripts/luaotfload/luaotfload-tool.lua index 12bf2b3a42c..b83cbb84bcd 100755 --- a/Master/texmf-dist/scripts/luaotfload/luaotfload-tool.lua +++ b/Master/texmf-dist/scripts/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/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 ()% |