summaryrefslogtreecommitdiff
path: root/doc/context
diff options
context:
space:
mode:
authorHans Hagen <pragma@wxs.nl>2022-09-10 03:48:41 +0200
committerContext Git Mirror Bot <phg@phi-gamma.net>2022-09-10 03:48:41 +0200
commit809177a0640771ac59eb13a1b52c91acb644e3a1 (patch)
tree8c616d0045d905f78555d5be9bdd9285bddac42d /doc/context
parent0a51e22e296356871498d2925dff025680be8779 (diff)
downloadcontext-809177a0640771ac59eb13a1b52c91acb644e3a1.tar.gz
2022-09-10 02:44:00
Diffstat (limited to 'doc/context')
-rw-r--r--doc/context/sources/general/manuals/luametatex/luametatex-callbacks.tex13
-rw-r--r--doc/context/sources/general/manuals/luametatex/luametatex-math.tex81
-rw-r--r--doc/context/sources/general/manuals/luametatex/luametatex-nodes.tex1
-rw-r--r--doc/context/sources/general/manuals/luametatex/luametatex.tex4
-rw-r--r--doc/context/sources/general/manuals/ontarget/ontarget-anchoring.tex3
5 files changed, 95 insertions, 7 deletions
diff --git a/doc/context/sources/general/manuals/luametatex/luametatex-callbacks.tex b/doc/context/sources/general/manuals/luametatex/luametatex-callbacks.tex
index 5e96bddb5..0469d0cc8 100644
--- a/doc/context/sources/general/manuals/luametatex/luametatex-callbacks.tex
+++ b/doc/context/sources/general/manuals/luametatex/luametatex-callbacks.tex
@@ -227,7 +227,7 @@ state is with respect to the \quote {current page}. The possible values for the
\topicindex{callbacks+inserts}
-This callback is called when the pagebuilder adds an insert. There is not much
+This callback is called when the page builder adds an insert. There is not much
control over this mechanism but this callback permits some last minute
manipulations of the spacing before an insert, something that might be handy when
for instance multiple inserts (types) are appended in a row.
@@ -897,7 +897,7 @@ loading completely but will nevertheless generate errors.
\stopsubsection
-\startsubsection[title={\cbk {missing_character}}]
+\startsubsection[title={\cbk {missing_character} and \cbk {process_character}}]
\topicindex{callbacks+fonts}
\topicindex{callbacks+characters}
@@ -911,6 +911,15 @@ function(<node> glyph, <number> font, <number> character)
end
\stopfunctioncall
+The \type {process_character} callback is experimental and gets called when a
+glyph node is created and the callback field in a character is set.
+
+\startfunctioncall
+function(<number> font, <number> character)
+ -- no return value
+end
+\stopfunctioncall
+
\stopsubsection
\stopsection
diff --git a/doc/context/sources/general/manuals/luametatex/luametatex-math.tex b/doc/context/sources/general/manuals/luametatex/luametatex-math.tex
index 1b26c1ad1..d7bd50eea 100644
--- a/doc/context/sources/general/manuals/luametatex/luametatex-math.tex
+++ b/doc/context/sources/general/manuals/luametatex/luametatex-math.tex
@@ -1035,6 +1035,7 @@ undefined will get presets, quite likely zero):
\NC \prm {Umathaccentbottomovershoot} \NC \NC \NR
\NC \prm {Umathaccentsuperscriptdrop} \NC \NC \NR
\NC \prm {Umathaccentsuperscriptpercent} \NC \NC \NR
+\NC \prm {Umathaccentextendmargin} \NC margins added to automatically extended accents \NC \NR
\NC \prm {Umathflattenedaccenttopshiftup} \NC the amount that a wide top accent is shifted up \NC \NR
\NC \prm {Umathflattenedaccentbottomshiftdown} \NC the amount that a wide bottom accent is shifted down \NC \NR
\NC \prm {Umathdelimiterpercent} \NC \NC \NR
@@ -1070,6 +1071,7 @@ defaults and tweak them in the goodie files:
\NC AccentBottomOvershoot \NC \prm {Umathaccentbottomovershoot} \NC 0 \NC \NR
\NC AccentSuperscriptDrop \NC \prm {Umathaccentsuperscriptdrop} \NC 0 \NC \NR
\NC AccentSuperscriptPercent \NC \prm {Umathaccentsuperscriptpercent} \NC 0 \NC \NR
+\NC AccentExtendMargin \NC \prm {Umathaccentextendmargin} \NC 0 \NC \NR
\NC FlattenedAccentTopShiftUp \NC \prm {Umathflattenedaccenttopshiftup} \NC undefined \NC \NR
\NC FlattenedAccentBottomShiftDown \NC \prm {Umathflattenedaccentbottomshiftdown} \NC undefined \NC \NR
\NC DelimiterPercent \NC \prm {Umathdelimiterpercent} \NC 0 \NC \NR
@@ -1795,16 +1797,27 @@ concerns the width.
\stopsubsection
-\startsubsection[title={Building radicals with \prm {Uradical} and \prm {Uroot}}]
+\startsubsection[title={Building radicals with \prm {Uradical}, \prm {Uroot} and \prm {Urooted}}]
\topicindex {math+radicals}
+\topicindex {math+roots}
The new primitive \prm {Uroot} allows the construction of a radical noad
including a degree field. Its syntax is an extension of \prm {Uradical}:
\starttyping
-\Uradical <fam integer> <char integer> <radicand>
-\Uroot <fam integer> <char integer> <degree> <radicand>
+\Uradical
+ <fam integer> <left char integer>
+ <content>
+\Uroot
+ <fam integer> <left char integer>
+ <degree>
+ <content>
+\Urooted
+ <fam integer> <left char integer>
+ <fam integer> <right char integer>
+ <degree>
+ <content>
\stoptyping
The placement of the degree is controlled by the math parameters \prm
@@ -1812,6 +1825,35 @@ The placement of the degree is controlled by the math parameters \prm
{Umathradicaldegreeraise}. The degree will be typeset in \prm
{scriptscriptstyle}.
+In \CONTEXT\ we use \prm {Urooted} to wrap something in an \quote {annuity}
+umbrella where there is a symbol at the end that has to behave like the radical
+does at the left end: adapt its size. In order to support variants this primitive
+supports two delimiters.
+
+{\em todo: mention optional keywords}
+
+\stopsubsection
+
+\startsubsection[title={Tight delimiters with \prm {Udelimited}}]
+
+\topicindex {math+radicals}
+\topicindex {math+delimiters}
+
+This new primitive is like \prm {Rooted} in that it takes two delimiters but it
+takes no degree and no rule is drawn.
+
+\starttyping
+\Udelimited
+ <fam integer> <left char integer>
+ <fam integer> <right char integer>
+ <content>
+\stoptyping
+
+In \CONTEXT\ we use it for fourier notations in which case there is only a right
+symbol (like a hat).
+
+{\em todo: mention optional keywords}
+
\stopsubsection
\startsubsection[title={Super- and subscripts}]
@@ -2845,6 +2887,39 @@ You'll notice that we apply more severe penalties at the edges:
\stopsection
+\startsubsection[title={\prm {Umathdiscretionary} and \prm {hmcode}}]
+
+\topicindex {math+discretionaries}
+
+The usual \prm {discretionary} command is supported in math mode but it has the
+disadvantage that one needs to make sure that the content triplet does the math
+right (especially the style). This command takes an optional class specification.
+
+\starttyping
+\Umathdiscretionary [class n] {+} {+} {+}
+\stoptyping
+
+It uses the same logic as \prm {mathchoice} but in this case we handle three
+snippets in the current style.
+
+A fully automatic mechanism kicks in when a character has a \prm {hmcode} set:
+
+\starttabulate[|c|l|p|]
+\DB bit \BC meaning \BC explanation \NC \NR
+\TB
+\NC 1 \NC normal \NC a discretionary is created with the same components \NC \NR
+\NC 2 \NC italic \NC following italic correction is kept with the component \NC \NR
+\LL
+\stoptabulate
+
+So we can say:
+
+\starttyping
+\hmcode `+ 3
+\stoptyping
+
+When the \type {italic} bit is set italic correction is kept at a linebreak.
+
\stopchapter
\stopcomponent
diff --git a/doc/context/sources/general/manuals/luametatex/luametatex-nodes.tex b/doc/context/sources/general/manuals/luametatex/luametatex-nodes.tex
index 3fe330295..c3ac0a294 100644
--- a/doc/context/sources/general/manuals/luametatex/luametatex-nodes.tex
+++ b/doc/context/sources/general/manuals/luametatex/luametatex-nodes.tex
@@ -2207,6 +2207,7 @@ emulated in \LUA\ and not in the engine, so we retain downward compatibility.
\supported {getattributelist} \nop \yes \relax
\supported {getboth} \nop \yes \relax
\supported {getbox} \nop \yes \relax
+\supported {getclass} \nop \yes \relax
\supported {getchar} \nop \yes \relax
\supported {getdata} \nop \yes \relax
\supported {getdepth} \nop \yes \relax
diff --git a/doc/context/sources/general/manuals/luametatex/luametatex.tex b/doc/context/sources/general/manuals/luametatex/luametatex.tex
index fcedbc6e1..aead9b304 100644
--- a/doc/context/sources/general/manuals/luametatex/luametatex.tex
+++ b/doc/context/sources/general/manuals/luametatex/luametatex.tex
@@ -1,5 +1,7 @@
% language=us runpath=texruns:manuals/luametatex
+% \enabledirectives[backend.pdf.inmemory]
+
% ------------------------ ------ ------------------ ------------------------
% 2019-12-17 32bit 64bit 2020-01-10 32bit 64bit 2020-11-30 32bit 64bit
% ------------------------ ------------------------ ------------------------
@@ -105,7 +107,7 @@
% \enableexperiments [tabulateusesize]
% \enableexperiments [tabulatesparseskips]
-\linebuffering
+\ifdefined\linebuffering \linebuffering \fi
\enableexperiments[fonts.compact]
% \enabledirectives[fonts.injections.method=advance] % tricky ... not all xoffsets are advance robust
diff --git a/doc/context/sources/general/manuals/ontarget/ontarget-anchoring.tex b/doc/context/sources/general/manuals/ontarget/ontarget-anchoring.tex
index 12852ba13..4cdb72950 100644
--- a/doc/context/sources/general/manuals/ontarget/ontarget-anchoring.tex
+++ b/doc/context/sources/general/manuals/ontarget/ontarget-anchoring.tex
@@ -183,7 +183,8 @@ hooks into layers is shown:
{\DemoAnchor{#1}{darkred} {#2}{left,top}%
\DemoAnchor{#1}{darkblue} {#2}{left,bottom}%
\DemoAnchor{#1}{darkgreen} {#2}{right,bottom}%
- \DemoAnchor{#1}{darkyellow}{#2}{right,top}}%
+ \DemoAnchor{#1}{darkyellow}{#2}{right,top}%
+ }%
\startsetups framed:demo
\DemoAnchorX{framed:background}{left,top}%