From d9aa299de0f736f75f90b98ab284e5bc73515949 Mon Sep 17 00:00:00 2001 From: Hans Hagen Date: Thu, 26 Mar 2020 22:27:51 +0100 Subject: 2020-03-26 21:49:00 --- .../documents/general/manuals/luametatex.pdf | Bin 1189457 -> 1194728 bytes .../manuals/luametatex/luametatex-fonts.tex | 24 ++++++++++++++++- .../general/manuals/luametatex/luametatex-math.tex | 30 ++++++++++++++++++++- .../manuals/luametatex/luametatex-nodes.tex | 2 +- .../manuals/luametatex/luametatex-style.tex | 26 +++++++++++------- .../sources/general/manuals/luatex/luatex-math.tex | 2 +- 6 files changed, 70 insertions(+), 14 deletions(-) (limited to 'doc') diff --git a/doc/context/documents/general/manuals/luametatex.pdf b/doc/context/documents/general/manuals/luametatex.pdf index fd83dfb5a..f74a5aa73 100644 Binary files a/doc/context/documents/general/manuals/luametatex.pdf and b/doc/context/documents/general/manuals/luametatex.pdf differ diff --git a/doc/context/sources/general/manuals/luametatex/luametatex-fonts.tex b/doc/context/sources/general/manuals/luametatex/luametatex-fonts.tex index 917ebfeb8..7cea6f865 100644 --- a/doc/context/sources/general/manuals/luametatex/luametatex-fonts.tex +++ b/doc/context/sources/general/manuals/luametatex/luametatex-fonts.tex @@ -140,7 +140,6 @@ For example, here is the character \quote {f} (decimal 102) in the font \type } \stoptyping - Two very special string indexes can be used also: \type {left_boundary} is a virtual character whose ligatures and kerns are used to handle word boundary processing. \type {right_boundary} is similar but not actually used for anything @@ -589,6 +588,29 @@ font.current( i) % % \stopsubsection +\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 + \stopsection \stopchapter diff --git a/doc/context/sources/general/manuals/luametatex/luametatex-math.tex b/doc/context/sources/general/manuals/luametatex/luametatex-math.tex index 7f77bbd6d..6ae648e34 100644 --- a/doc/context/sources/general/manuals/luametatex/luametatex-math.tex +++ b/doc/context/sources/general/manuals/luametatex/luametatex-math.tex @@ -1096,7 +1096,35 @@ with in the engine). The full list of flags is given in the next table: \LL \stoptabulate -The effect can depend on the font (and for Cambria one can use for instance \type {"16}). +The effect can depend on the font (and for Cambria one can use for instance \type +{"16}). + +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. + +\getbuffer \subsection[mathacc]{Accent handling with \lpr {Umathaccent}} diff --git a/doc/context/sources/general/manuals/luametatex/luametatex-nodes.tex b/doc/context/sources/general/manuals/luametatex/luametatex-nodes.tex index 50356da42..63386ed02 100644 --- a/doc/context/sources/general/manuals/luametatex/luametatex-nodes.tex +++ b/doc/context/sources/general/manuals/luametatex/luametatex-nodes.tex @@ -521,7 +521,7 @@ nodes: \showfields {boundary} are the only fields. \TB \NC \type{subtype} \NC number \NC \showsubtypes{boundary} \NC \NR \NC \type{attr} \NC node \NC list of attributes \NC \NR -\NC \type{value} \NC number \NC values 0--255 are reserved \NC \NR +\NC \type{data} \NC number \NC values 0--255 are reserved \NC \NR \LL \stoptabulate diff --git a/doc/context/sources/general/manuals/luametatex/luametatex-style.tex b/doc/context/sources/general/manuals/luametatex/luametatex-style.tex index 3f4b0ad21..a07cbe9dd 100644 --- a/doc/context/sources/general/manuals/luametatex/luametatex-style.tex +++ b/doc/context/sources/general/manuals/luametatex/luametatex-style.tex @@ -130,8 +130,10 @@ %definecolor[othercolor][r=.5,g=.5] \definecolor[maincolor] [b=.5] +\definecolor[mooncolor] [b=.5] \definecolor[keptcolor] [b=.5] -\definecolor[othercolor][s=.5] +%\efinecolor[othercolor][s=.5] +\definecolor[othercolor][r=.5,g=.5] \writestatus{luametatex manual}{} \writestatus{luametatex manual}{defining lucodaot} \usebodyfont [lucidaot] @@ -195,10 +197,11 @@ \startMPdefinitions - color luaplanetcolor ; luaplanetcolor := \MPcolor{maincolor} ; - color luaholecolor ; luaholecolor := white ; + string luaplanetcolor ; luaplanetcolor := "maincolor" ; + string luamooncolor ; luaplanetcolor := "mooncolor" ; + string luaholecolor ; luaholecolor := "white" ; + string luaorbitcolor ; luaorbitcolor := "darkgray" ; numeric luaextraangle ; luaextraangle := 0 ; - numeric luaorbitfactor ; luaorbitfactor := .25 ; vardef lualogo = image ( @@ -213,10 +216,10 @@ draw fullcircle rotated 40.5 scaled (1+r) dashed evenly scaled p withpen pencircle scaled (p/2) - withcolor (luaorbitfactor * luaholecolor) ; + withcolor luaorbitcolor ; fill fullcircle scaled r shifted (d+1/8,d+1/8) rotated - luaextraangle - withcolor luaplanetcolor ; + withcolor luamooncolor ; fill fullcircle scaled r shifted (d-1/8,d-1/8) withcolor luaholecolor ; luaorbitfactor := .25 ; @@ -229,7 +232,8 @@ fill Page withcolor \MPcolor{othercolor} ; - luaorbitfactor := 1 ; + luaorbitcolor := "white" ; + luamooncolor := "maincolor" ; picture p ; p := lualogo ysized (5*\measure{paperheight}/10) ; draw p @@ -251,9 +255,11 @@ % \stoptexdefinition \startuseMPgraphic{luanumber} - % luaextraangle := \luaextraangle; - luaextraangle := if (LastPageNumber < 10) : 10 else : (RealPageNumber / LastPageNumber) * 360 fi; - luaorbitfactor := 0.25 ; + % luaextraangle := \luaextraangle; + luaextraangle := if (LastPageNumber < 10) : 10 else : (RealPageNumber / LastPageNumber) * 360 fi; + luaorbitcolor := "darkgray" ; + luamooncolor := "othercolor" ; + % luamooncolor := "maincolor" ; picture p ; p := lualogo ; setbounds p to boundingbox fullcircle ; draw p ysized 1cm ; diff --git a/doc/context/sources/general/manuals/luatex/luatex-math.tex b/doc/context/sources/general/manuals/luatex/luatex-math.tex index 4623ce706..e5999e72f 100644 --- a/doc/context/sources/general/manuals/luatex/luatex-math.tex +++ b/doc/context/sources/general/manuals/luatex/luatex-math.tex @@ -1454,7 +1454,7 @@ $ $ \stopbuffer -\typebuffer +\typebuffer[script] results in \inlinebuffer[script]. -- cgit v1.2.3