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/luaotfload/luaotfload-main.tex | |
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/luaotfload/luaotfload-main.tex')
-rw-r--r-- | Master/texmf-dist/doc/luatex/luaotfload/luaotfload-main.tex | 101 |
1 files changed, 95 insertions, 6 deletions
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 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |