diff options
Diffstat (limited to 'doc/context/sources/general/manuals/luatex')
4 files changed, 70 insertions, 1 deletions
diff --git a/doc/context/sources/general/manuals/luatex/luatex-enhancements.tex b/doc/context/sources/general/manuals/luatex/luatex-enhancements.tex index b81e1dbda..537961661 100644 --- a/doc/context/sources/general/manuals/luatex/luatex-enhancements.tex +++ b/doc/context/sources/general/manuals/luatex/luatex-enhancements.tex @@ -1266,6 +1266,29 @@ related primitives. \stopsubsection +\startsubsection[title={\prm {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 behaviour: 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 + \stopsection \startsection[title={Control and debugging}] diff --git a/doc/context/sources/general/manuals/luatex/luatex-fonts.tex b/doc/context/sources/general/manuals/luatex/luatex-fonts.tex index 400550a96..e944b2c5b 100644 --- a/doc/context/sources/general/manuals/luatex/luatex-fonts.tex +++ b/doc/context/sources/general/manuals/luatex/luatex-fonts.tex @@ -861,6 +861,27 @@ 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 + \stopsection \stopchapter diff --git a/doc/context/sources/general/manuals/luatex/luatex-math.tex b/doc/context/sources/general/manuals/luatex/luatex-math.tex index e5999e72f..b4a2d4b05 100644 --- a/doc/context/sources/general/manuals/luatex/luatex-math.tex +++ b/doc/context/sources/general/manuals/luatex/luatex-math.tex @@ -1242,6 +1242,31 @@ $\Uhextensible width 1pt middle 0 "2194$ font metrics are involved we have a different code path for traditional fonts end \OPENTYPE\ fonts. +Sometimes you might want to act upon the size of a delimiter, something that is +not really possible because of the fact that they are calculated {\em after} most +has been typeset already. In the following example the all|-|zero specification +is the trigger to make a fake box with the last delimiter dimensions and shift. +It's an ugly hack but its relative simple and not intrusive implementation has no +side effects. Any other heuristic solution would not satisfy possible demands +anyway. Here is a rather low level example: + +\startbuffer +\startformula +\Uleft \Udelimiter 5 0 "222B +\frac{\frac{a}{b}}{\frac{c}{d}} +\Uright \Udelimiter 5 0 "222B +\kern-2\fontcharwd\textfont0 "222B +\mathlimop{\Uvextensible \Udelimiter 0 0 0}_1^2 x +\stopformula +\stopbuffer + +\typebuffer + +The last line, by passing zero values, results in a fake operator that has the +dimensions of the previous delimiter. We can then backtrack over the (presumed) +width and the two numbers become limit operators. As said, it's not pretty but it +works. + \subsection{Fractions} \topicindex {math+fractions} diff --git a/doc/context/sources/general/manuals/luatex/luatex.tex b/doc/context/sources/general/manuals/luatex/luatex.tex index 24fcf979b..46739513a 100644 --- a/doc/context/sources/general/manuals/luatex/luatex.tex +++ b/doc/context/sources/general/manuals/luatex/luatex.tex @@ -1,4 +1,4 @@ -% macros=mkvi +% macros=mkvi engine=luatex % \nopdfcompression |