summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/luatex/base
diff options
context:
space:
mode:
authorLuigi Scarso <luigi.scarso@gmail.com>2021-12-31 10:40:15 +0000
committerLuigi Scarso <luigi.scarso@gmail.com>2021-12-31 10:40:15 +0000
commit04bb9784af600b927145a399b3b87017a0af96c3 (patch)
tree6b09101fef3879daabdba6aef720cfe720ab5697 /Master/texmf-dist/doc/luatex/base
parentcb71b62afd23fc35a04304858ee2d221b8a51dcb (diff)
Updated luatex manual.
git-svn-id: svn://tug.org/texlive/trunk@61454 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/luatex/base')
-rw-r--r--Master/texmf-dist/doc/luatex/base/luatex-backend.tex6
-rw-r--r--Master/texmf-dist/doc/luatex/base/luatex-fonts.tex47
-rw-r--r--Master/texmf-dist/doc/luatex/base/luatex-graphics.tex4
-rw-r--r--Master/texmf-dist/doc/luatex/base/luatex-lua.tex4
-rw-r--r--Master/texmf-dist/doc/luatex/base/luatex-math.tex38
-rw-r--r--Master/texmf-dist/doc/luatex/base/luatex-modifications.tex18
-rw-r--r--Master/texmf-dist/doc/luatex/base/luatex-nodes.tex7
-rw-r--r--Master/texmf-dist/doc/luatex/base/luatex.pdfbin1763334 -> 1784672 bytes
-rw-r--r--Master/texmf-dist/doc/luatex/base/luatex.tex2
9 files changed, 115 insertions, 11 deletions
diff --git a/Master/texmf-dist/doc/luatex/base/luatex-backend.tex b/Master/texmf-dist/doc/luatex/base/luatex-backend.tex
index cfadd46f25c..c2479238f3c 100644
--- a/Master/texmf-dist/doc/luatex/base/luatex-backend.tex
+++ b/Master/texmf-dist/doc/luatex/base/luatex-backend.tex
@@ -93,6 +93,12 @@ normally~1 but when set to~2 some data will not be written to the file in order
to comply with the standard. What minor version you set depends on what \PDF\
features you use. This is out of control of \LUATEX.
+One can set the major version number to~2 but we cannot guarantee that the engine
+adapts itself correctly, because there is no public and free specification that
+we know of. Also, user constructed annotations are not checked and just passed
+to the file. On the other hand, the \PDF\ that the engine generated is rather
+simple and not that version depending.
+
\stopsubsection
\startsubsection[title={\type {getcreationdate}}]
diff --git a/Master/texmf-dist/doc/luatex/base/luatex-fonts.tex b/Master/texmf-dist/doc/luatex/base/luatex-fonts.tex
index 400550a96dd..136d20dd3b4 100644
--- a/Master/texmf-dist/doc/luatex/base/luatex-fonts.tex
+++ b/Master/texmf-dist/doc/luatex/base/luatex-fonts.tex
@@ -1,4 +1,4 @@
-% language=uk
+% language=uk engine=luatex
\environment luatex-style
@@ -861,6 +861,51 @@ value is the index in \type {font.fonts}, the second the font itself, as a \LUA\
table. The indices are listed incrementally, but they do not always form an array
of consecutive numbers: in some cases there can be holes in the sequence.
+\startsubsection[title={\type{\glyphdimensionsmode}}]
+
+Already in the early days of \LUATEX\ the decision was made to calculate the
+effective height and depth of glyphs in a way that reflected the applied vertical
+offset. The height got that offset added, the depth only when the offset was
+larger than zero. We can now control this in more detail with this mode
+parameter. An offset is added to the height and|/|or subtracted from the depth.
+The effective values are never negative. The zero mode is the default.
+
+\starttabulate[|l|pl|]
+\DB value \BC effect \NC\NR
+\TB
+\NC \type {0} \NC the old behavior: add the offset to the height and only subtract
+ the offset only from the depth when it is positive \NC \NR
+\NC \type {1} \NC add the offset to the height and subtract it from the depth \NC \NR
+\NC \type {2} \NC add the offset to the height and subtract it from the depth but
+ keep the maxima of the current and previous results \NC \NR
+\NC \type {3} \NC use the height and depth of the glyph, so no offset is applied \NC \NR
+\LL
+\stoptabulate
+
+\stopsubsection
+
+\startsubsection[title={\type {\discretionaryligaturemode}}]
+
+This parameter controls how complex ligatures interact with discretionaries (as
+injected by the hyphenator). The non||zero values prevent the construction of
+so called init and select discretionaries.
+
+\definefontfeature[ligmodetest][default][mode=base]
+\definefont [ligmodefont][Serif*ligmodetest]
+
+\hyphenation{xx-f-f-i-xx}
+
+\starttabulate[|p|p|p|]
+ \DB 0 \BC 1 \BC 2 \NC \NR
+ \TB
+ \NC \ligmodefont \discretionaryligaturemode0 \hsize1pt xxffixx
+ \NC \ligmodefont \discretionaryligaturemode1 \hsize1pt xxffixx
+ \NC \ligmodefont \discretionaryligaturemode2 \hsize1pt xxffixx \NC \NR
+ \LL
+\stoptabulate
+
+\stopsubsection
+
\stopsection
\stopchapter
diff --git a/Master/texmf-dist/doc/luatex/base/luatex-graphics.tex b/Master/texmf-dist/doc/luatex/base/luatex-graphics.tex
index 3f12762b68b..0e34a65284e 100644
--- a/Master/texmf-dist/doc/luatex/base/luatex-graphics.tex
+++ b/Master/texmf-dist/doc/luatex/base/luatex-graphics.tex
@@ -515,9 +515,9 @@ In contrast with the normal stand alone \type {mpost} command, there is
\stopfunctioncall
If for some reason you want to stop using an \MPLIB\ instance while processing is
-not yet actually done, you can call \type finish}. Eventually, used memory
+not yet actually done, you can call \type{finish}. Eventually, used memory
will be freed and open files will be closed by the \LUA\ garbage collector, but
-an explicit \type finish} is the only way to capture the final part of the
+an explicit \type{finish} is the only way to capture the final part of the
output streams.
\subsection{Result table}
diff --git a/Master/texmf-dist/doc/luatex/base/luatex-lua.tex b/Master/texmf-dist/doc/luatex/base/luatex-lua.tex
index 04dceda64ff..94dead9e14c 100644
--- a/Master/texmf-dist/doc/luatex/base/luatex-lua.tex
+++ b/Master/texmf-dist/doc/luatex/base/luatex-lua.tex
@@ -372,7 +372,7 @@ piecemeal: \libidx {string} {utfvalues}, \libidx {string} {utfcharacters},
\type {string.utfcharacters(s)}: a string with a single \UTF-8 token in it
\stopitem
\startitem
- \type {string.cWharacters(s)}: a string containing one byte
+ \type {string.characters(s)}: a string containing one byte
\stopitem
\startitem
\type {string.characterpairs(s)}: two strings each containing one byte or an
@@ -421,7 +421,7 @@ and \libidx {string} {utflength}.
the given code points
\stopitem
\startitem
- \type {string.utflength(s)}: returns the length oif the given string
+ \type {string.utflength(s)}: returns the length of the given string
\stopitem
\stopitemize
diff --git a/Master/texmf-dist/doc/luatex/base/luatex-math.tex b/Master/texmf-dist/doc/luatex/base/luatex-math.tex
index 89c0836ba76..54de255da76 100644
--- a/Master/texmf-dist/doc/luatex/base/luatex-math.tex
+++ b/Master/texmf-dist/doc/luatex/base/luatex-math.tex
@@ -1,4 +1,4 @@
-% language=uk
+% language=uk engine=luatex
\environment luatex-style
@@ -1575,6 +1575,40 @@ Because there are quite some math related parameters and values, it is possible
to limit tracing. Only when \type {tracingassigns} and|/|or \type
{tracingrestores} are set to~2 or more they will be traced.
+\subsection {Math options with \lpr {mathdefaultsmode}}
+
+This option has been introduced because \LATEX\ developers wanted some of the
+defaults to be different from the ones that were set in stone when we froze
+\LUATEX. The default values are:
+
+\starttabulate[|l|c|c|]
+\DB \BC scanning \BC rendering \NC \NR
+\TB
+\NC radical/root \NC cramped \NC cramped \NC \NR
+\NC under delimiter \NC cramped \NC supstyle \NC \NR
+\NC over delimiter \NC cramped \NC substyle \NC \NR
+\NC delimiter under \NC cramped \NC current \NC \NR
+\NC delimiter over \NC cramped \NC current \NC \NR
+\LL
+\stoptabulate
+
+When \type {\mathdefaultsmode} is larger than zero, we have:
+
+\starttabulate[|l|c|c|]
+\DB \BC scanning \BC rendering \NC \NR
+\TB
+\NC radical/root \NC cramped \NC cramped \NC \NR
+\NC under delimiter \NC substyle \NC substyle \NC \NR
+\NC over delimiter \NC supstyle \NC supstyle \NC \NR
+\NC delimiter under \NC current \NC current \NC \NR
+\NC delimiter over \NC cramped \NC cramped \NC \NR
+\LL
+\stoptabulate
+
+It is outside the scope of this manual to discuss the rationale behind these
+defaults. The zero values date back from the early times. If needed you can
+explicitly set the style in the content argument.
+
\subsection {Math options with \lpr {mathoption}}
The logic in the math engine is rather complex and there are often no universal
@@ -1588,7 +1622,7 @@ This option was introduced for testing purposes when the math engine got split
code paths and it forces the engine to treat new fonts as old ones with respect
to italic correction etc. There are no guarantees given with respect to the final
result and unexpected side effects are not seen as bugs as they relate to font
-properties. Ther eis currently only one option:
+properties. There is currently only one option:
\startbuffer
\mathoption old 1
diff --git a/Master/texmf-dist/doc/luatex/base/luatex-modifications.tex b/Master/texmf-dist/doc/luatex/base/luatex-modifications.tex
index bf4233165b9..caf643913f4 100644
--- a/Master/texmf-dist/doc/luatex/base/luatex-modifications.tex
+++ b/Master/texmf-dist/doc/luatex/base/luatex-modifications.tex
@@ -1,4 +1,4 @@
-% language=uk
+% language=us engine=luatex runpath=texruns:manuals/luatex
\environment luatex-style
@@ -507,6 +507,14 @@ opened it up.
\stopsubsection
+\startsubsection[title=Changes from anywhere]
+
+The \type {\partokenname} and \type {\partokencontext} primitives are taken from
+the \PDFTEX\ change file posted on the implementers list. They are explained in
+the \PDFTEX\ manual and are classified as \ETEX\ extensions.
+
+\stopsubsection
+
\startsubsection[title=Changes from standard \WEBC]
\topicindex {\WEBC}
@@ -1129,6 +1137,14 @@ kerns, should be handled in the input or macro package because there is no way w
can predict the expected behaviour. In fact, the \lpr {linedir} is just a
convenience extra which could also have been implemented using node list parsing.
+Directions are complicated by the fact that they often need to work over groups
+so a separate grouping related stack is used. A side effect is that there can be
+paragraphs with only a local par node followed by direction synchronization
+nodes. Paragraphs like that are seen as empty paragraphs and therefore ignored.
+Because \type {\noindent} doesn't inject anything but a \type {\indent} injects
+an box, paragraphs with only an indent and directions are handles as paragraphs
+with content.
+
\stopsubsection
\startsubsection[title={Controlling glue with \lpr {breakafterdirmode}}]
diff --git a/Master/texmf-dist/doc/luatex/base/luatex-nodes.tex b/Master/texmf-dist/doc/luatex/base/luatex-nodes.tex
index a379b7b0a4d..5a48b4c18ad 100644
--- a/Master/texmf-dist/doc/luatex/base/luatex-nodes.tex
+++ b/Master/texmf-dist/doc/luatex/base/luatex-nodes.tex
@@ -1002,7 +1002,7 @@ what you generate.
\NC \NC string \NC the destination name \NC \NR
\NC \type{dest_type} \NC number \NC type of destination \NC \NR
\NC \type{xyz_zoom} \NC number \NC the zoom factor (times 1000) \NC \NR
-\NC \type{objnum} \NC number \NC the \PDF\ object number \NC \NR
+\NC \type{objnum} \NC number \NC the \PDF\ object number; for structure references the \PDF\ object number of the linked structure element \NC \NR
\LL
\stoptabulate
@@ -1016,10 +1016,13 @@ objects.
\TB
\NC \type{action_type} \NC number \NC the kind of action involved \NC \NR
\NC \type{action_id} \NC number or string \NC token list reference or string \NC \NR
-\NC \type{named_id} \NC number \NC the index of the destination \NC \NR
+\NC \type{named_id} \NC number \NC are \type {dest_id} and \type {struct_id} string values? \NC \NR
\NC \type{file} \NC string \NC the target filename \NC \NR
\NC \type{new_window} \NC number \NC the window state of the target \NC \NR
\NC \type{data} \NC string \NC the name of the destination \NC \NR
+\NC \type{struct_id} \NC nil \NC the action does not reference a structure destination \NC \NR
+\NC \NC number \NC id of the referenced structure destination \NC \NR
+\NC \NC string \NC name of the referenced structure destination \NC \NR
\LL
\stoptabulate
diff --git a/Master/texmf-dist/doc/luatex/base/luatex.pdf b/Master/texmf-dist/doc/luatex/base/luatex.pdf
index 467a43ff442..ea45ac532e4 100644
--- a/Master/texmf-dist/doc/luatex/base/luatex.pdf
+++ b/Master/texmf-dist/doc/luatex/base/luatex.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/luatex/base/luatex.tex b/Master/texmf-dist/doc/luatex/base/luatex.tex
index b4c13c4de2d..9f7236b284a 100644
--- a/Master/texmf-dist/doc/luatex/base/luatex.tex
+++ b/Master/texmf-dist/doc/luatex/base/luatex.tex
@@ -73,7 +73,7 @@
\startdocument
[manual=Lua\TeX,
status=stable,
- version=1.13]
+ version=1.15]
\startnotmode[*export]
\component luatex-titlepage