diff options
author | Karl Berry <karl@freefriends.org> | 2020-12-31 21:51:56 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2020-12-31 21:51:56 +0000 |
commit | 0d3cb8095777faa6f0790ce9f2a73c08882b775e (patch) | |
tree | 11ece030bd8bdf6557675f8e58ce847552035e84 /Master/texmf-dist/doc/luatex | |
parent | 0cbf90fb1d02a12129a697341cdc3dcf1ca63789 (diff) |
luaotfload (31dec20)
git-svn-id: svn://tug.org/texlive/trunk@57274 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/luatex')
14 files changed, 130 insertions, 15 deletions
diff --git a/Master/texmf-dist/doc/luatex/luaotfload/NEWS b/Master/texmf-dist/doc/luatex/luaotfload/NEWS index 658c5d420e6..b0a7f124c10 100644 --- a/Master/texmf-dist/doc/luatex/luaotfload/NEWS +++ b/Master/texmf-dist/doc/luatex/luaotfload/NEWS @@ -1,6 +1,32 @@ Change History -------------- -2020-08-31 luaotfload v3.15 +2020-12-31 luaotfload v3.16 + + * The fontloader has been synced with the context code from 2020-12-30 + * The entry point is called luaotfload.lua instead of + luaotfload-main.lua (but the old name is still provided for + compatibility). + * pre/post_shaping_filter callbacks has been added. + * The number of lua-files and submodules shown in the log-file + has been reduced. But it is extended again by setting the environment + variable LUAOTFLOAD_TRACE_SUBMODULES=1. + * The HarfBuzz based shaper will in some situations drop hyphenation + points. This happens less frequently now since the new version uses + first/second discretionaries (the mechanism described in the LuaTeX manual, + section 5.6 for the of-f-ice example) to support a limited amount of + nesting. + * When the node shaper is used, experimental support for + OpenType variable fonts has been added. To use them, set the font + feature axis to a comma separated list of axis names and values. + (E.g. axis={weight=600}) The supported axis names and value + range depend on the font. + * The font features upper and lower can be used to map + the text of a font to upper or lowercase before displaying it. Currently + this implements the untailored Unicode case mapping algorithm, but it is + planned to add tailoring later. + * A number of small bugfixes. + +2020-09-02 luaotfload v3.15 * The font database is updated more reliably if fonts get deleted. * In multiple error cases, error messages are shown instead of silently generating bad output. diff --git a/Master/texmf-dist/doc/luatex/luaotfload/README.md b/Master/texmf-dist/doc/luatex/luaotfload/README.md index 626e1c9b8ba..f19c4c5563e 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.15 +VERSION: 3.16 -DATE: 2020-09-02 +DATE: 2020-12-31 ## Description diff --git a/Master/texmf-dist/doc/luatex/luaotfload/filegraph.pdf b/Master/texmf-dist/doc/luatex/luaotfload/filegraph.pdf Binary files differindex 5e90db1544b..ac40ce55f99 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/filegraph.tex b/Master/texmf-dist/doc/luatex/luaotfload/filegraph.tex index ee76912b786..13013198805 100644 --- a/Master/texmf-dist/doc/luatex/luaotfload/filegraph.tex +++ b/Master/texmf-dist/doc/luatex/luaotfload/filegraph.tex @@ -103,7 +103,7 @@ label={[name=mL3,font=\itshape,anchor=south]above:Lualibs -- Lua Libraries from %>>>>>>>>>>>>>>>> }; % m4 -\node[left=2cm of m3,fill=gray!20,draw=gray!30,thick,basic,inner sep=6mm] (m4) {luaotfload-main.lua}; +\node[left=2cm of m3,fill=gray!20,draw=gray!30,thick,basic,inner sep=6mm] (m4) {luaotfload.lua}; % m5 \node[fill=gray!20,draw=gray!30,dashed,basic,inner sep=6mm,anchor=south west] at (m3.south -| m2.west)(m5){% 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 85768faf2fd..52137882d4c 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 df1a8e0e867..299ff211aa1 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-latex.tex b/Master/texmf-dist/doc/luatex/luaotfload/luaotfload-latex.tex index dcf65078812..40b01af0de9 100644 --- a/Master/texmf-dist/doc/luatex/luaotfload/luaotfload-latex.tex +++ b/Master/texmf-dist/doc/luatex/luaotfload/luaotfload-latex.tex @@ -260,7 +260,7 @@ local stringsub = string.sub local stringgsub = string.gsub %local backslash = unicode.utf8.char (0x200c) - local backslash = unicode.utf8.char (0x5c) + local backslash = string.char(0x5c) local escaped = [[\string\string\string\]] document.printlines = function (buffer) local lines = string.explode (buffer, "\noexpand\n") diff --git a/Master/texmf-dist/doc/luatex/luaotfload/luaotfload-main.tex b/Master/texmf-dist/doc/luatex/luaotfload/luaotfload-main.tex index a1f79b7da40..d1f698f6842 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 {2020-09-02 v3.15} + \setdocumentdate {2020-12-31 v3.16} \setdocumentauthor {LaTeX3 Project\\ Elie Roux · Khaled Hosny · Philipp Gesang · Ulrike Fischer · Marcel Krüger\\ Home: \hyperlink {https://github.com/latex3/luaotfload}} @@ -62,6 +62,30 @@ Supported is the \identifier{luatex} versions of a current TeXLive 2019 (and a c \endsection \beginsection{Changes} +\beginsubsection {New in version 3.16 (by Ulrike Fischer/Marcel Krüger)} +\begin{itemize} + \item The entry point is called \identifier{luaotfload.lua} instead of + \identifier{luaotfload-main.lua} (but the old name is still provided for compatibility). + \item \inlinecode{pre/post_shaping_filter} callbacks has been added. + \item The number of \abbrev{lua}-files and submodules shown in the \abbrev{log}-file has been reduced. But it + is extended again by setting the environment variable \inlinecode{LUAOTFLOAD_TRACE_SUBMODULES=1}. + \item The HarfBuzz based shaper will in some situations drop hyphenation + points. This happens less frequently now since the new version uses + first/second discretionaries (the mechanism described in the LuaTeX manual, + section 5.6 for the of-f-ice example) to support a limited amount of + nesting. + \item When the \texttt{node} shaper is used, experimental support for OpenType variable + fonts has been added. To use them, set the font feature \texttt{axis} to + a comma separated list of axis names and values. (E.g. \texttt{axis={weight=600}}) + The supported axis names and value range depend on the font (see~page~\pageref{variablefonts}). + \item The font features \texttt{upper} and \texttt{lower} can be used to map + the text of a font to upper or lowercase before displaying it. Currently + this implements the untailored Unicode case mapping algorithm, but it is + planned to add tailoring later (see~page~\pageref{upperlower}). + \item A number of small bugfixes. + \end{itemize} +\endsubsection + \beginsubsection {New in version 3.15 (by Ulrike Fischer/Marcel Krüger)} \begin{itemize} \item The font database is updated more reliably if fonts get deleted. @@ -1166,8 +1190,8 @@ obviously, \inlinecode{random}. \endaltitem - \beginaltitem {multiscript}\phantomsection\label{multiscript} - In\marginpar{New in 3.12 -- experimental} fonts many shaping rules are implemented only for specific scripts and so you get correct typesetting only if the \identifier{script} feature is correctly set. This means that to write a text which uses more than one script you have to declare a font for each script and switch fonts even if the font contains glyphs for all scripts. + \beginaltitem {multiscript} + In\phantomsection\label{multiscript}\marginpar{New in 3.12 -- experimental} fonts many shaping rules are implemented only for specific scripts and so you get correct typesetting only if the \identifier{script} feature is correctly set. This means that to write a text which uses more than one script you have to declare a font for each script and switch fonts even if the font contains glyphs for all scripts. \identifier{multiscript} tries to help here. The feature is experimental and bound to change. Feedback is welcome but you use it at your risk. \identifier{multiscript} allows you to declare fonts for various script. The value is either \identifier{auto} described below, or a name which has been previously declared or a combination of both. An example for such a named multiscript could look like this (the colors are only for demonstration): @@ -1221,8 +1245,10 @@ obviously, \inlinecode{random}. \endaltitem - \beginaltitem {fallback}\label{fallback} - This\marginpar{New in 3.12 -- experimental} allows you to define a chain of fonts which are used if glyphs are missing in the main font. It works only for text fonts, not for math fonts set with the \identifier{unicode-math} package. + \beginaltitem {fallback} + This\label{fallback}\marginpar{New in 3.12 -- experimental} + allows you to define a chain of fonts which are used if glyphs are missing in the main font. + It works only for text fonts, not for math fonts set with the \identifier{unicode-math} package. The feature is experimental and bound to change. Feedback is welcome but you use it at your risk. For example @@ -1276,7 +1302,69 @@ obviously, \inlinecode{random}. As with the \identifier{multiscript} key more control over the used glyph and script in edge cases will be needed. \endaltitem -\enddescriptions + + \beginaltitem {upper/lower} + The\phantomsection\label{upperlower}\marginpar{New in 3.16} + font features \texttt{upper} and \texttt{lower} can be used to map + the text of a font to upper or lowercase before displaying it. Currently + this implements the untailored Unicode case mapping algorithm, but it is + planned to add tailoring later. For example + + \beginlisting + \font\test={name:LatinModernRoman:mode=node;+upper;} + \test Grüße + \endlisting + + {\Large\font\test={name:LatinModernRoman:mode=node;+upper;}\test Grüße} + + \endaltitem + + \beginaltitem {Variable fonts} + When\phantomsection\label{variablefonts}\marginpar{New in 3.16} + the \texttt{node} shaper is used, + experimental support for OpenType variable + fonts has been added. To use them, set the font feature \texttt{axis} to + a comma separated list of axis names and values. (E.g. \texttt{axis={weight=600}}) + The supported axis names and value range depend on the font (see~page~\pageref{variablefonts}). + The following listing shows an example with the Source Code Variable font: + + \begin{lstlisting}[columns=fullflexible] +\documentclass{article} + \DeclareFontFamily{TU}{sourcecode-variable}{} + \newcommand\DeclareSourceVariable[2]{% + \DeclareFontShape{TU}{sourcecode-variable}{#1}{n}{% + <-> \UnicodeFontFile{SourceCodeVariable-Roman.otf} + {\UnicodeFontTeXLigatures axis={weight=#2};}% + }{}% + \DeclareFontShape{TU}{sourcecode-variable}{#1}{it}{% + <-> \UnicodeFontFile{SourceCodeVariable-Italic.otf} + {\UnicodeFontTeXLigatures axis={weight=#2};}% + }{}% + } + \DeclareSourceVariable{ul}{200} + \DeclareSourceVariable{el}{250} + \DeclareSourceVariable{l}{300} + \DeclareSourceVariable{sl}{350} + \DeclareSourceVariable{m}{400} + \DeclareSourceVariable{sb}{500} + \DeclareSourceVariable{b}{600} + \DeclareSourceVariable{eb}{700} + \DeclareSourceVariable{ub}{900} + \begin{document} + \fontfamily{sourcecode-variable}\selectfont + \fontseries{ul}\selectfont a\textit{b} + \fontseries{el}\selectfont c\textit{d} + \fontseries{l}\selectfont e\textit{f} + \fontseries{sl}\selectfont g\textit{h} + \fontseries{m}\selectfont i\textit{j} + \fontseries{sb}\selectfont k\textit{l} + \fontseries{b}\selectfont m\textit{n} + \fontseries{eb}\selectfont o\textit{p} + \fontseries{ub}\selectfont q\textit{r} + \end{document} +\end{lstlisting} + + \enddescriptions \endsubsection @@ -1339,6 +1427,7 @@ Currently (2014) there are three of them: \enddescriptions \endsubsection + \endsection %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 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 6697476a0ea..e35752ab175 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 c030ab81f22..c4c15d916f9 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: 2020-09-02 +:Date: 2020-12-31 :Copyright: GPL v2.0 -:Version: 3.15 +:Version: 3.16 :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 d40cb3a9679..5905eb3811a 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: 2020-09-02 +:Date: 2020-12-31 :Copyright: GPL v2.0 -:Version: 3.15 +:Version: 3.16 :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 60b7e524dee..5c00e2f4a63 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/shaper-demo-graphite.pdf b/Master/texmf-dist/doc/luatex/luaotfload/shaper-demo-graphite.pdf Binary files differindex 8eb287e081e..fa1bda41bbe 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 77a74636305..b19632bbc70 100644 --- a/Master/texmf-dist/doc/luatex/luaotfload/shaper-demo.pdf +++ b/Master/texmf-dist/doc/luatex/luaotfload/shaper-demo.pdf |