diff options
author | Hans Hagen <pragma@wxs.nl> | 2016-11-04 12:01:00 +0100 |
---|---|---|
committer | Context Git Mirror Bot <phg42.2a@gmail.com> | 2016-11-04 12:01:00 +0100 |
commit | 2ad220abb483dea0ba0d85d9963095f5c7dfdfa1 (patch) | |
tree | f2bdb02c48bf671d1e57da3d759c602231ac9a22 | |
parent | 5a501d72ddc9ab9003746aa46fad3a12046e20ec (diff) | |
download | context-2ad220abb483dea0ba0d85d9963095f5c7dfdfa1.tar.gz |
2016-11-04 11:12:00
34 files changed, 694 insertions, 92 deletions
diff --git a/doc/context/documents/general/qrcs/setup-cs.pdf b/doc/context/documents/general/qrcs/setup-cs.pdf Binary files differindex c8d397e5c..dfdd807a6 100644 --- a/doc/context/documents/general/qrcs/setup-cs.pdf +++ b/doc/context/documents/general/qrcs/setup-cs.pdf diff --git a/doc/context/documents/general/qrcs/setup-de.pdf b/doc/context/documents/general/qrcs/setup-de.pdf Binary files differindex ae6ce38d8..f24d4d90c 100644 --- a/doc/context/documents/general/qrcs/setup-de.pdf +++ b/doc/context/documents/general/qrcs/setup-de.pdf diff --git a/doc/context/documents/general/qrcs/setup-en.pdf b/doc/context/documents/general/qrcs/setup-en.pdf Binary files differindex eaf2b6fa1..34fc2a0fb 100644 --- a/doc/context/documents/general/qrcs/setup-en.pdf +++ b/doc/context/documents/general/qrcs/setup-en.pdf diff --git a/doc/context/documents/general/qrcs/setup-fr.pdf b/doc/context/documents/general/qrcs/setup-fr.pdf Binary files differindex 273ea5c1c..5d8c9ba14 100644 --- a/doc/context/documents/general/qrcs/setup-fr.pdf +++ b/doc/context/documents/general/qrcs/setup-fr.pdf diff --git a/doc/context/documents/general/qrcs/setup-it.pdf b/doc/context/documents/general/qrcs/setup-it.pdf Binary files differindex 2f0f559d8..88e8e36f8 100644 --- a/doc/context/documents/general/qrcs/setup-it.pdf +++ b/doc/context/documents/general/qrcs/setup-it.pdf diff --git a/doc/context/documents/general/qrcs/setup-nl.pdf b/doc/context/documents/general/qrcs/setup-nl.pdf Binary files differindex 2d7bcedd0..eca6d6bc4 100644 --- a/doc/context/documents/general/qrcs/setup-nl.pdf +++ b/doc/context/documents/general/qrcs/setup-nl.pdf diff --git a/doc/context/documents/general/qrcs/setup-ro.pdf b/doc/context/documents/general/qrcs/setup-ro.pdf Binary files differindex 65f8cc284..59a328dc9 100644 --- a/doc/context/documents/general/qrcs/setup-ro.pdf +++ b/doc/context/documents/general/qrcs/setup-ro.pdf diff --git a/doc/context/presentations/present-readme.tex b/doc/context/presentations/present-readme.tex index f6c6fb10f..e5025a3fe 100644 --- a/doc/context/presentations/present-readme.tex +++ b/doc/context/presentations/present-readme.tex @@ -20,7 +20,7 @@ ones are not here anyway. Some presentations build upon a previous one although try to avoid duplicate talks. Of course status reports can be somewhat redundant but keep in mind that meetings are also for developers. -\ConTeXt, \LuaTeX and \MetaPost related presentations happened at meetings of \TeX\ +\ConTeXt, \LuaTeX and \MetaPost\ related presentations happened at meetings of \TeX\ user groups like TUG, NTG, Bacho\TeX, Dante, CSTUG, UKTUG, GUTENBERG, but also at other occasions but not all make sense to collect here, if only because when they were close in time some were similar. Also, I just deleted some sources when I diff --git a/doc/context/sources/general/manuals/still/still-opentypemath.tex b/doc/context/sources/general/manuals/still/still-opentypemath.tex index 93732ebc5..43a340866 100644 --- a/doc/context/sources/general/manuals/still/still-opentypemath.tex +++ b/doc/context/sources/general/manuals/still/still-opentypemath.tex @@ -29,14 +29,14 @@ virtual ones that match traditional \TEX\ properties, but this would not be a nice solution. It must be noted that in the process of implementing support for the new fonts, -Taco turned some noad types (see below) into a generic noad with a subtype. This +Taco (Hoekwater) turned some noad types (see below) into a generic noad with a subtype. This simplified the transition. At the same time, a lot of detailed control was added in the way successive characters are spaced. -In \LUATEX\ pre 0.85, the italic correction was always added when a character got +In \LUATEX\ before 0.85, the italic correction was always added when a character got boxed (a frequently used preparation in the math builder). Now this is only done for the traditional fonts because, concerning italic correction, the \OPENTYPE\ -standard states: \footnote {Recently version 1.7 was published on the Microsoft +standard states: \footnote {Recently version 1.8 has been published on the Microsoft website.} \startitemize[n] @@ -47,7 +47,7 @@ website.} \stopitem \startitem When positioning limits on an N-ary operator (e.g., integral sign), the - horizontal position of the upper limit is moved to the right by ½ of the + horizontal position of the upper limit is moved to the right by half of the italics correction, while the position of the lower limit is moved to the left by the same distance. \stopitem @@ -69,24 +69,26 @@ And, with respect to kerning: \stopitemize I must admit that when the first implementation showed up, my natural reaction to -unexpected behaviour was just to compensate it. One such solution was simply not +unexpected behaviour was just to compensate for it. One such solution was simply not to pass the italic correction to the engine and deal with it in \LUA. In -practice, that didn't work out well for all cases; one reason was that the engine +practice, that didn't work well for all cases; one reason was that the engine saw the combination of old fonts as a new one and followed a mixed code path. \footnote {\CONTEXT\ employed \UNICODE\ math right from the start of \LUATEX.} Another approach I tried was a mix of manipulated italic values and \LUA, but -finally as specifications settled I decided to leave it to the engine completely, +finally, as specifications settled I decided to leave it to the engine completely, if only because successive versions of \LUATEX\ behaved much better. -So, as we are closing in on the first release of \LUATEX, I decided to fix the -pending issues and sat down to look at the math related code. I must admit that I +So, as we were closing in on the first stable release of \LUATEX\ (1.0.0 +was released on September~27, 2016; this note was mostly written in the +early part of 2016), I decided to fix the +pending issues and sat down to look at the math|-|related code. I must admit that I had never looked in depth into that part of the machinery. In the next sections I -will discuss some of the outcome of this exercise. +will discuss some of the outcomes of this exercise. I will also discuss some extensions that have been on the agenda for years. They are rather generic and handy, but I must also admit that the \MKIV\ code related to math has so many options to control rendering that I'm not sure if they will -ever be used in \CONTEXT. Nevertheless, these generic extensions fit will into +ever be used in \CONTEXT. Nevertheless, these generic extensions fit well into the set of basic features of \LUATEX. \stopsection @@ -94,15 +96,15 @@ the set of basic features of \LUATEX. \startsection[title=Italic correction] As stated above, the normal code path included italic correction in all the math -boxes that are made. This meant that, in some places, this correction had to be +boxes made. This meant that, in some places, the correction had to be removed and/or moved to another place in the chain. This is a natural side effect of the fact that \TEX\ runs over the intermediate list of math nodes (noads) and turns them into regular nodes, mostly glyphs, kerns, glue and boxes. -The complication is not so much these italic corrections themselves, because we +The complication is not so much the italic corrections themselves, because we could just continue to do the same, but the fact that these corrections are to be interpreted differently in case of integrals. There, the problem is that we have -to (kind of) look back at what is done in order to determine what italic +to (kind of) look backward at what is done in order to determine what italic corrections are to be applied. The original solution was to keep track of the applied correction via variables @@ -138,7 +140,7 @@ that will (for sure) show up in the future. \placefigure [here] [fig:italic-correction-1] - {Some examples of italic correction (1).} + {Italic correction examples (1): superscripts shifted right and subscripts left.} {\scale[width=\textwidth]{\getbuffer[ic-1]}} In \in {figure} [fig:italic-correction-1] we show two examples of inline italic @@ -147,24 +149,24 @@ left. In the case of an integral sign, we need to move half the correction. This is triggered by the \type {\nolimits} primitive. In \in {figure} [fig:italic-correction-2] we show the difference between just an integral character and one tagged as having limits. \footnote {We show some boxes so that -you get an idea what \TEX\ is doing. Basically \TEX\ puts superscripts and +you can get an idea what \TEX\ is doing. Essentially, \TEX\ puts superscripts and subscripts on top of each other with some kern in between and then corrects the dimensions.} \placefigure [here] [fig:italic-correction-2] - {Some examples of italic correction (2).} + {Italic correction examples (2): plain integral vs.\ integral with limits} {\scale[width=\textwidth]{\getbuffer[ic-2]}} The amount of correction, if present at all, depends on the font, and in this -document we use Dejavu math. \in {Figure} [fig:italic-correction-3] shows a few -variants. As you can see, the amount of correction is very font dependent. +document we use DejaVu math. \in {Figure} [fig:italic-correction-3] shows a few +variants. As you can see, the amount of correction is highly font dependent. \placefigure [here] [fig:italic-correction-3] - {Some examples of italic correction (3).} + {Italic correction examples (3): correction amounts are font-dependent.} {\startcombination[1*4] {\switchtobodyfont [pagella]\scale[width=\textwidth]{\getbuffer[ic-1]}} {cambria} {\switchtobodyfont [cambria]\scale[width=\textwidth]{\getbuffer[ic-1]}} {pagella} @@ -256,7 +258,9 @@ predictable. \placefigure [here] [fig:demoint] - {pagella, cambria, latin modern and lucida} + {Comparison of integral variants (standard, wrapped, bigger, even + bigger) among fonts: \TeX\ Gyre Pagella, Cambria, Latin Modern, and + Lucida OT.} {\scale[width=\textwidth]{\getbuffer}} Another observation is that Latin Modern does not provide (at least not yet) @@ -300,8 +304,8 @@ use the stepwise larger glyphs and before we end up using the composed shapes. When no dimensions are specified, the normal construction takes place and the only keyword that can be used then is \type {noaxis} which keeps the axis out of the calculations. After about a week of experimenting and exploring options, this -combination made most sense, read: no fuzzy heuristics but predictable behaviour; -after all, one might need different solutions for different fonts or +combination made most sense, read: no fuzzy heuristics but predictable behaviour. +After all, one might need different solutions for different fonts or circumstances and the applied logic (and expectations) can (and will, for sure) differ per macro package. @@ -351,13 +355,13 @@ differ per macro package. \placefigure [here] [fig:integral-spec] - {cambria integrals with dimensions} + {Cambria integrals, with dimensions.} {\getbuffer[nocontext,cambria,delimiter-integral-spec]} \placefigure [here] [fig:leftparent-spec] - {cambria left parenthesis with dimensions} + {Cambria left parenthesis, with dimensions.} {\getbuffer[nocontext,cambria,delimiter-leftparent-spec]} \def\SampleDelimiterAuto#1#2% @@ -389,20 +393,19 @@ differ per macro package. \placefigure [here] [fig:integral] - {cambria integrals adaptive} + {Cambria integrals, adaptive: \type {axis} left and \type {noaxis} right.} {\getbuffer[nocontext,cambria,delimiter-integral-auto]} \placefigure [here] [fig:leftparent] - {cambria left parenthesis adaptive} + {Cambria left parenthesis, adaptive: \type {axis} left and \type {noaxis} right.} {\getbuffer[nocontext,cambria,delimiter-leftparent-auto]} - \stopsection \startsection[title=Horizontal delimiters] -Horizontal extenders also got some new options. Although one can achieve similar +Horizontal extenders also have some new options. Although one can achieve similar results with macros, the following might look a bit more natural. Also, some properties are lost once the delimiter is constructed, so macros can become complex when trying to determine the original dimensions involved. @@ -428,8 +431,8 @@ $\Uhextensible width 30pt 0 "2194$ The \type {left}, \type {middle} and \type {right} keywords are only interpreted when the requested size can't be met due to stepwise larger glyph selection (i.e., before we start using arbitrary sizes made of snippets). \in {Figure} -[fig:hextensible] shows what we get when we step from 2 up to 20 points with -increments of 2 points in cambria. +[fig:hextensible] shows what we get when we step from 2--20 points by +increments of 2 points in Cambria. \unexpanded\def\ExtensibleFunA#1% {\switchtobodyfont[cambria,17.3pt]% @@ -467,9 +470,8 @@ increments of 2 points in cambria. {Stepwise wider \type {\Uhextensible} with options (cambria).} {\getbuffer} -The dimensions and options can also be given to the \type {\Uoverdelimiter}, -\type {\Uunderdelimiter}, \type {\Udelimiterover} and \type {\Udelimiterunder} -primitives. \in {Figure} [fig:delimiterunder] shows what happens when the +The dimensions and options can also be given to the four primitives \type {\Uoverdelimiter}, +\type {\Uunderdelimiter}, \type {\Udelimiterover} and \type {\Udelimiterunder}. \in {Figure} [fig:delimiterunder] shows what happens when the delimiter is smaller than requested. The samples look like this: \starttyping @@ -477,7 +479,7 @@ $\Udelimiterunder width 1pt 0 "2194 {\hbox{\strut !}} \stoptyping When no dimension is given the keywords are ignored as it makes no sense to -mess with the extensible then. +mess with the extensible in that case. \unexpanded\def\DelimiterFunA#1% {\switchtobodyfont[cambria,20.7pt]% @@ -520,15 +522,15 @@ mess with the extensible then. \startsection[title=Accents] -Already many years ago, I observed that overlaying characters (which happens when -we negate an operator that has no composed glyph) didn't always give nice results +Many years ago, I observed that overlaying characters (which happens when +we negate an operator which has no composed negation glyph) didn't always give nice results and, therefore, a tracker item was created. When going over the todo list, I ran across a suggested patch by Khaled Hosny that added an overlay accent type. As the suggested solution fits in with the other extensions, a variant has been implemented. -The results really depend on the quality and completeness of the font, so here we -will show xits. The placement of an \type {overlay} also depends on the top +The results definitely depend on the quality and completeness of the font, so here we +will show \type {xits}. The placement of an \type {overlay} also depends on the top accent shift as specified in the font for the used glyph. Instead of a fixed criterion for trying to find the best match, an additional \type {fraction} (numerator) parameter can be specified. A value of $800$ means that the target @@ -558,7 +560,7 @@ specification is: \stoptyping \in {Figure} [fig:accent-1] shows what we get when we use different fractions -(from 800 upto 1500 with a step of 100). We see that \type {\overlay} is not +(from 800 up to 1500 with a step of 100). We see that \type {\overlay} is not always useful. \startbuffer[accents-1] @@ -592,7 +594,7 @@ $\Umathaccent overlay "0 "0 "0338 {\tf xxx}$ \stopbuffer Normally you can forget about the factor because overlays make most sense for -inline math, which uses relative small glyphs, so we can get \getbuffer +inline math, which uses relatively small glyphs, so we can get \getbuffer [accents-2] with the following code: \typebuffer[accents-2] @@ -635,7 +637,7 @@ Such a fraction is specified as: x + { {a} \abovewithdelims () 5pt {b} } \stoptyping -A new keyword \type {exact} will nil the excessive spacing: +A new keyword \type {exact} avoids the excessive spacing: \starttyping x + { {a} \abovewithdelims () exact 5pt {b} } @@ -722,11 +724,11 @@ $\displaystyle x + {{\strut a} \abovewithdelims() exact 2pt {\strut b}}$ \startsection[title=Skewed fractions] -The math parameter table contains some parameters that specify a horizontal and a -vertical gap for skewed fractions. Some guessing is needed in order to implement +The math parameter table contains values specifying horizontal and +vertical gaps for skewed fractions. Some guessing is needed in order to implement something that uses them, so we now provide a primitive similar to the other fraction related ones but with a few options that one can use to influence the -rendering. Of course, a user can mess around a bit with the parameters \type +rendering. Of course, a user can mess around directly with the parameters \type {\Umathskewedfractionhgap} and \type {\Umathskewedfractionvgap}. The syntax used here is: @@ -738,7 +740,7 @@ The syntax used here is: The options can be \type {noaxis} and \type {exact}, a combination of them or just nothing. By default we add half the axis to the shifts and also by default -we zero the width of the middle character. For Latin Modern the result looks as +we zero the width of the middle character. For Latin Modern, the result looks as follows: \def\ShowA#1#2#3{$x + { {#1} \Uskewed / #3 {#2} } + x$} @@ -827,7 +829,7 @@ $b_{\scriptstyle x=xx}^{\scriptstyle x=xx}$ $b_{\crampedscriptstyle x=xx}^{\crampedscriptstyle x=xx}$ \stoptyping -Now we set the following parameters +Now we set the following parameters: \startbuffer[setup] \Umathordrelspacing\scriptstyle=30mu @@ -871,7 +873,7 @@ alone or in combinations. When we set \type {\mathscriptsmode} to a value other than zero, these are used for calculating fixed positions. This is something that is needed in, for instance, chemical equations. You can manipulate the mentioned variables to -achieve different effects, and the logic is shown in the following table. In +achieve different effects, and the specifications are shown in the following table. In order to see the differences in more detail, they are enlarged in \in {figure} [fig:mathscriptsmode]. @@ -907,7 +909,7 @@ order to see the differences in more detail, they are enlarged in \in {figure} The changes that we have made are hopefully not too intrusive. Instead of extending existing commands, new ones were introduced so that compatibility -should not really be a problem. To some extend, these extensions violate the +should not be a significant problem. To some extent, these extensions violate the principle that extensions should be done in \LUA, but \TEX\ being a math renderer and \OPENTYPE\ replacing old font technology, we felt that we should make an exception here. Hopefully, not too many bugs were introduced. diff --git a/metapost/context/base/mpiv/mp-tool.mpiv b/metapost/context/base/mpiv/mp-tool.mpiv index a4528a2f8..65e4c3624 100644 --- a/metapost/context/base/mpiv/mp-tool.mpiv +++ b/metapost/context/base/mpiv/mp-tool.mpiv @@ -95,28 +95,15 @@ vardef image@#(text t) = currentpicture := nullpicture ; t ; currentpicture - shifted (mfun_labxf@#*lrcorner currentpicture + - mfun_labyf@#*ulcorner currentpicture + - (1-mfun_labxf@#-mfun_labyf@#)*llcorner currentpicture) + if str @# <> "" : + shifted ( + mfun_labxf@# * lrcorner p + + mfun_labyf@# * ulcorner p + + (1-mfun_labxf@#-mfun_labyf@#) * llcorner p + ) + fi enddef ; -% 10% faster -% -% vardef image@#(text t) = -% save currentpicture ; -% picture currentpicture ; -% currentpicture := nullpicture ; -% t ; -% currentpicture -% if str @# <> "" : -% shifted ( -% mfun_labxf@# * lrcorner currentpicture -% + mfun_labyf@# * ulcorner currentpicture -% + (1-mfun_labxf@#-mfun_labyf@#) * llcorner currentpicture -% ) -% fi -% enddef ; - %D Colors: newinternal nocolormodel ; nocolormodel := 1 ; diff --git a/tex/context/base/mkii/cont-new.mkii b/tex/context/base/mkii/cont-new.mkii index 3e4ba8a57..9b133226d 100644 --- a/tex/context/base/mkii/cont-new.mkii +++ b/tex/context/base/mkii/cont-new.mkii @@ -11,7 +11,7 @@ %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. -\newcontextversion{2016.11.01 10:08} +\newcontextversion{2016.11.04 11:06} %D This file is loaded at runtime, thereby providing an %D excellent place for hacks, patches, extensions and new diff --git a/tex/context/base/mkii/context.mkii b/tex/context/base/mkii/context.mkii index 47fce6bfe..b93ed8140 100644 --- a/tex/context/base/mkii/context.mkii +++ b/tex/context/base/mkii/context.mkii @@ -20,7 +20,7 @@ %D your styles an modules. \edef\contextformat {\jobname} -\edef\contextversion{2016.11.01 10:08} +\edef\contextversion{2016.11.04 11:06} %D For those who want to use this: diff --git a/tex/context/base/mkiv/buff-imp-parsed-xml.lua b/tex/context/base/mkiv/buff-imp-parsed-xml.lua index 22611ac8a..b18fb65aa 100644 --- a/tex/context/base/mkiv/buff-imp-parsed-xml.lua +++ b/tex/context/base/mkiv/buff-imp-parsed-xml.lua @@ -92,7 +92,7 @@ local function parsedxml(root,pattern) end local function parser(str,settings) - parsedxml(xml.convert(str),settings and settings.pattern) + parsedxml(xml.convert(string.strip(str)),settings and settings.pattern) end visualizers.parsedxml = parsedxml -- for use at the lua end (maybe namespace needed) diff --git a/tex/context/base/mkiv/buff-ver.lua b/tex/context/base/mkiv/buff-ver.lua index a9d6696cb..ed0e327a1 100644 --- a/tex/context/base/mkiv/buff-ver.lua +++ b/tex/context/base/mkiv/buff-ver.lua @@ -554,7 +554,7 @@ local beginline = C(patterns.beginline) * CargOne / f_beginline local anything = C(patterns.somecontent) * CargOne / f_default ----- verbosed = (space + newline * (emptyline^0) * beginline + anything)^0 -local verbosed = (space + newline * (emptyline^0) * beginline + emptyline + newline + anything)^0 +local verbosed = (space + newline * (emptyline^0) * beginline + newline * emptyline + newline + anything)^0 local function write(s,settings) -- bad name lpegmatch(verbosed,s,1,settings or false) diff --git a/tex/context/base/mkiv/buff-ver.mkiv b/tex/context/base/mkiv/buff-ver.mkiv index 8f222b1ff..27535dba9 100644 --- a/tex/context/base/mkiv/buff-ver.mkiv +++ b/tex/context/base/mkiv/buff-ver.mkiv @@ -974,7 +974,8 @@ \fi\fi\fi} \unexpanded\def\dodisplayverbatiminitialize#1% - {\c_buff_verbatim_noflines#1\relax + {\forgetparindent % maybe more + \c_buff_verbatim_noflines#1\relax \c_buff_verbatim_current\zerocount} \loadmarkfile{buff-imp-default} % preloaded as otherwise spurious spaces inline due to loading diff --git a/tex/context/base/mkiv/cont-new.mkiv b/tex/context/base/mkiv/cont-new.mkiv index f1b595bd9..6815414db 100644 --- a/tex/context/base/mkiv/cont-new.mkiv +++ b/tex/context/base/mkiv/cont-new.mkiv @@ -11,7 +11,7 @@ %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. -\newcontextversion{2016.11.01 10:08} +\newcontextversion{2016.11.04 11:06} %D This file is loaded at runtime, thereby providing an excellent place for %D hacks, patches, extensions and new features. diff --git a/tex/context/base/mkiv/context.mkiv b/tex/context/base/mkiv/context.mkiv index d27ac04e8..aceb8fe35 100644 --- a/tex/context/base/mkiv/context.mkiv +++ b/tex/context/base/mkiv/context.mkiv @@ -39,7 +39,7 @@ %D up and the dependencies are more consistent. \edef\contextformat {\jobname} -\edef\contextversion{2016.11.01 10:08} +\edef\contextversion{2016.11.04 11:06} \edef\contextkind {beta} %D For those who want to use this: diff --git a/tex/context/base/mkiv/mtx-context-domotica.tex b/tex/context/base/mkiv/mtx-context-domotica.tex new file mode 100644 index 000000000..a904d865b --- /dev/null +++ b/tex/context/base/mkiv/mtx-context-domotica.tex @@ -0,0 +1,133 @@ +%D \module +%D [ file=mtx-context-domotica, +%D version=2016.10.20, +%D title=\CONTEXT\ Extra Trickry, +%D subtitle=Domotica Goodies, +%D author=Hans Hagen, +%D date=\currentdate, +%D copyright={PRAGMA ADE \& \CONTEXT\ Development Team}] +%C +%C This module is part of the \CONTEXT\ macro||package and is +%C therefore copyrighted by \PRAGMA. See mreadme.pdf for +%C details. + +% begin help +% +% usage: context --extra=domotica [options] list-of-files +% +% --topspace=dimension : distance above first line +% --backspace=dimension : distance before left margin +% --bodyfont=list : additional bodyfont settings +% --paperformat=spec : paper*print or paperxprint +% --compact : small margins, 8pt font +% --verycompact : small margins, 7pt font +% +% --openzwave : process openzwave xml files +% +% --pattern=spec : files to process +% +% example: context --extra=domotica --openzwave ./config/fibaro/fgms.xml ./open-zwave-master/config/aeotec/zw100.xml +% example: context --extra=domotica --openzwave --pattern="./open-zwave-master/config/**.xml" +% +% end help + +% --pattern="e:/domotica/open-zwave/open-zwave-master/config/**.xml" + +\input mtx-context-common.tex + +\usemodule[domotica-settings] + +\doifdocumentargument {compact} { + \setdocumentargument{topspace} {5mm} + \setdocumentargument{backspace}{5mm} + \setdocumentargument{bodyfont} {8pt} +} + +\doifdocumentargument {verycompact} { + \setdocumentargument{topspace} {5mm} + \setdocumentargument{backspace}{5mm} + \setdocumentargument{bodyfont} {7pt} +} + +\setupbodyfont + [dejavu,11pt,\getdocumentargument{bodyfont}] % dejavu is more complete + +\setuplayout + [header=0cm, + footer=1.5cm, + topspace=\getdocumentargumentdefault{topspace}{1.5cm}, + backspace=\getdocumentargumentdefault{backspace}{1.5cm}, + width=middle, + height=middle] + +\setuppapersize + [\getdocumentargument{paperformat_paper}] + [\getdocumentargument{paperformat_print}] + +\doifdocumentargument {openzwave} {\enablemode[openzwave]} + +\startmode[openzwave] + + \starttext + + \setuplist + [chapter] + [style=bold, + width=4em] + + \setuplist + [section] + [width=4em] + + \setuphead + [section] + [style=bold] + + \setupheadertexts + + \setupheadertexts + [chapter][pagenumber] + + \setupheader + [style=bold] + + \starttitle[title=Zwave devices] + + \placelist[chapter,section] + + \stoptitle + + \startluacode + local arguments = document.arguments + local files = document.files + local pattern = arguments.pattern + local noffiles = #files + + if type(pattern) == "string" then + + local pattern = file.addsuffix(pattern,"xml") + + moduledata.zwave.show_settings(pattern) + + elseif noffiles > 0 then + + -- if arguments.sort then + -- table.sort(files) + -- end + + for i=1,#files do + local filename = file.addsuffix(files[i],"xml") + moduledata.zwave.show_settings(filename) + end + + else + + context("no files given") + + end + \stopluacode + + \stoptext + +\stopmode + diff --git a/tex/context/base/mkiv/publ-aut.lua b/tex/context/base/mkiv/publ-aut.lua index b434872f3..6ad8b1296 100644 --- a/tex/context/base/mkiv/publ-aut.lua +++ b/tex/context/base/mkiv/publ-aut.lua @@ -80,13 +80,13 @@ local andsplitter = Ct { "start", local commasplitter = Ct { "start", start = Cs(V("outer")) + (p_empty + Cs((V("inner") + (1-p_comma))^1) + p_comma)^1, - outer = (P("{")/"") * ((V("inner") + P(1-P("}")))^1) * (P("}")/""), + outer = (P("{")/"") * ((V("inner") + P(1-P("}")))^1) * ((P("}") * P(-1))/""), inner = P("{") * ((V("inner") + P(1-P("}")))^1) * P("}"), } local spacesplitter = Ct { "start", start = Cs(V("outer")) + (Cs((V("inner") + (1-p_space))^1) + p_space)^1, - outer = (P("{")/"") * ((V("inner") + P(1-P("}")))^1) * (P("}")/""), + outer = (P("{")/"") * ((V("inner") + P(1-P("}")))^1) * ((P("}") * P(-1))/""), inner = P("{") * ((V("inner") + P(1-P("}")))^1) * P("}"), } diff --git a/tex/context/base/mkiv/status-files.pdf b/tex/context/base/mkiv/status-files.pdf Binary files differindex 5f58a77d6..4e44163d8 100644 --- a/tex/context/base/mkiv/status-files.pdf +++ b/tex/context/base/mkiv/status-files.pdf diff --git a/tex/context/base/mkiv/status-lua.pdf b/tex/context/base/mkiv/status-lua.pdf Binary files differindex c09d22644..adc58e56e 100644 --- a/tex/context/base/mkiv/status-lua.pdf +++ b/tex/context/base/mkiv/status-lua.pdf diff --git a/tex/context/interface/mkiv/i-context.pdf b/tex/context/interface/mkiv/i-context.pdf Binary files differindex eaf2b6fa1..34fc2a0fb 100644 --- a/tex/context/interface/mkiv/i-context.pdf +++ b/tex/context/interface/mkiv/i-context.pdf diff --git a/tex/context/interface/mkiv/i-readme.pdf b/tex/context/interface/mkiv/i-readme.pdf Binary files differindex 8ea3d9335..b5463a4e8 100644 --- a/tex/context/interface/mkiv/i-readme.pdf +++ b/tex/context/interface/mkiv/i-readme.pdf diff --git a/tex/context/modules/common/s-pre-50.tex b/tex/context/modules/common/s-pre-50.tex index ff3e48631..8b55cf67a 100644 --- a/tex/context/modules/common/s-pre-50.tex +++ b/tex/context/modules/common/s-pre-50.tex @@ -90,9 +90,9 @@ \StartSteps \title[whow]{How Much?} \FlushStep - \item More \FlushStep - \item And More \FlushStep - \item And Even More \FlushStep + \startitem More \stopitem \FlushStep + \startitem And More \stopitem \FlushStep + \startitem And Even More \stopitem \FlushStep \StartStep And So On \StopStep diff --git a/tex/context/modules/common/s-pre-63.tex b/tex/context/modules/mkii/s-pre-63.mkii index 974c67a5f..9ecb2cb1a 100644 --- a/tex/context/modules/common/s-pre-63.tex +++ b/tex/context/modules/mkii/s-pre-63.mkii @@ -11,10 +11,6 @@ %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. -this module is under reconstruction - -\endinput - \usemodule[pre-61,streams] \definemeasure[textgap] [\dimexpr24pt\relax] @@ -62,7 +58,7 @@ this module is under reconstruction \def\StartPair {} \def\StopPair {\setups[place:both]} -% \doifnotmode {demo} {\endinput} +\doifnotmode {demo} {\endinput} \setupbodyfont[8pt] \definefont[BigFont][Normal sa 4] diff --git a/tex/context/modules/common/s-pre-64.tex b/tex/context/modules/mkii/s-pre-64.mkii index ef4889bbb..ef4889bbb 100644 --- a/tex/context/modules/common/s-pre-64.tex +++ b/tex/context/modules/mkii/s-pre-64.mkii diff --git a/tex/context/modules/common/s-pre-68.tex b/tex/context/modules/mkii/s-pre-68.mkii index 3c04a87e1..c22640efd 100644 --- a/tex/context/modules/common/s-pre-68.tex +++ b/tex/context/modules/mkii/s-pre-68.mkii @@ -77,8 +77,10 @@ \setupitemgroup[itemize][each][symbol=MyBullet] -\usetypescript[cambria] -\setupbodyfont[cambria,14.4pt] +\startmode[asintended] + \usetypescript[cambria] + \setupbodyfont[cambria,14.4pt] +\stopmode % interface diff --git a/tex/context/modules/mkiv/s-characters-properties.mkiv b/tex/context/modules/mkiv/s-characters-properties.mkiv index 0beea4868..3c486c39c 100644 --- a/tex/context/modules/mkiv/s-characters-properties.mkiv +++ b/tex/context/modules/mkiv/s-characters-properties.mkiv @@ -1,5 +1,5 @@ %D \module -%D [ file=s-characters-propertis, +%D [ file=s-characters-properties, %D version=2016.07.24, % moved here %D title=\CONTEXT\ Style File, %D subtitle=Character properties, diff --git a/tex/context/modules/mkiv/s-domotica-settings.lua b/tex/context/modules/mkiv/s-domotica-settings.lua new file mode 100644 index 000000000..e7e8c309b --- /dev/null +++ b/tex/context/modules/mkiv/s-domotica-settings.lua @@ -0,0 +1,98 @@ +if not modules then modules = { } end modules ['s-domotica-settings'] = { + version = 1.001, + comment = "companion to s-domotica-settings.mkiv", + author = "Hans Hagen, PRAGMA-ADE, Hasselt NL", + copyright = "PRAGMA ADE / ConTeXt Development Team", + license = "see context related readme files" +} + +moduledata.domotica = moduledata.domotica or { } +moduledata.domotica.settings = moduledata.domotica.settings or { } + +-- bah, no proper wrapper around value|help + +moduledata.zwave = moduledata.zwave or { } + +local NC = context.NC +local BC = context.BC +local NR = context.NR + +function moduledata.zwave.show_settings(pattern) + + local function show(setting) + + context.starttabulate { "|r|r|r|r|l|p|" } + BC() context("index") + -- BC() context("genre") + -- BC() context("instance") + BC() context("value") + BC() context("min") + BC() context("max") + BC() context("type") + BC() context("label") + BC() NR() + for value in xml.collected(setting,"/Value") do + local at = value.at + NC() context(at.index) + -- NC() context(at.genre) + -- NC() context(at.instance) + NC() context(at.value) + NC() context(at.min) + NC() context(at.max) + NC() context(at.type) + NC() context.escaped(at.label) + NC() NR() + end + context.stoptabulate() + + end + + if string.find(pattern,"%*") then + + local list = dir.glob(pattern) + local last = nil + + for i=1,#list do + + local filename = list[i] + local root = xml.load(filename) + local settings = xml.all(root,"/Product/CommandClass[@id='112']") + + if settings then + + local brand = file.nameonly(file.pathpart(filename)) + local device = file.nameonly(filename) + + if last ~= brand then + context.startchapter { title = brand } + end + + context.startsection { title = device } + for i=1,#settings do + show(settings[i]) + end + context.stopsection() + + if last ~= brand then + last = brand + context.stopchapter() + end + + end + + end + + else + + local root = xml.load(pattern) + local settings = xml.all(root,"/Product/CommandClass[@id='112']") + + if settings then + for i=1,#settings do + show(settings[i]) + end + end + + end + +end diff --git a/tex/context/modules/mkiv/s-domotica-settings.mkiv b/tex/context/modules/mkiv/s-domotica-settings.mkiv new file mode 100644 index 000000000..e8c483e32 --- /dev/null +++ b/tex/context/modules/mkiv/s-domotica-settings.mkiv @@ -0,0 +1,26 @@ +%D \module +%D [ file=s-domotica-setting, +%D version=2016.10.20, +%D title=\CONTEXT\ Style File, +%D subtitle=Domotica Helpers, +%D author=Hans Hagen, +%D date=\currentdate, +%D copyright={PRAGMA ADE \& \CONTEXT\ Development Team}] +%C +%C This module is part of the \CONTEXT\ macro||package and is +%C therefore copyrighted by \PRAGMA. See mreadme.pdf for +%C details. + +%D This module is part of some experiments that I do with gadgets that +%D communicate with zwave, zigbee and other (wireless) protocols used in +%D smart home applications. + +% see mtx-context-domotica.tex for usage example(s) + +\startmodule[domotica-] + +\registerctxluafile{s-domotica-settings}{} + +% \installmodulecommandluasingle \showopenzwavesettings {.....} + +\stopmodule diff --git a/tex/context/modules/mkiv/s-present-banner.mkiv b/tex/context/modules/mkiv/s-present-banner.mkiv index 3f9f360ab..d93c033f2 100644 --- a/tex/context/modules/mkiv/s-present-banner.mkiv +++ b/tex/context/modules/mkiv/s-present-banner.mkiv @@ -1,4 +1,4 @@ -D \module + %D [ file=s-present-banner, %D version=2016.04.30, % around %D title=\CONTEXT\ Style File, diff --git a/tex/context/modules/mkiv/s-present-simple.mkiv b/tex/context/modules/mkiv/s-present-simple.mkiv new file mode 100644 index 000000000..4fadf1f9f --- /dev/null +++ b/tex/context/modules/mkiv/s-present-simple.mkiv @@ -0,0 +1,151 @@ +%D \module +%D [ file=s-present-simple, % was: s-pre-68, +%D version=2009.08.28, +%D title=\CONTEXT\ Style File, +%D subtitle=Presentation Environment Simple, +%D author=Hans Hagen, +%D date=\currentdate, +%D copyright={PRAGMA ADE \& \CONTEXT\ Development Team}] +%C +%C This module is part of the \CONTEXT\ macro||package and is +%C therefore copyrighted by \PRAGMA. See mreadme.pdf for +%C details. + +\usemodule[present-stepwise] + +\startmodule[present-simple] + +% style + +\setuppapersize + [S66][S66] + +\setuplayout + [height=middle, + width=middle, + header=0pt, + footer=0pt, + backspace=2cm, + topspace=2cm] + +\setupinteraction + [state=start, + click=no] + +\definecolor[maincolor][r=.4] + +\startreusableMPgraphic{page} + StartPage ; + fill Page enlarged 5mm withcolor "maincolor" ; + StopPage ; +\stopreusableMPgraphic + +\startreusableMPgraphic{next} + fill ultriangle scaled .15PaperWidth withcolor white ; +\stopreusableMPgraphic + +\startreusableMPgraphic{last} + fill boundingbox(ultriangle scaled .15PaperWidth) withcolor white ; +\stopreusableMPgraphic + +\startuniqueMPgraphic{bullit} + fill ultriangle scaled 2ExHeight withcolor white ; +\stopuniqueMPgraphic + +\definelayer + [extra] + [width=\paperwidth, + height=\paperheight] + +\defineoverlay + [page] + [\reuseMPgraphic{page}] + +\setupbackgrounds + [page] + [background={page,extra}] + +\setupcolors + [state=start, + textcolor=white] + +\setuphead + [chapter] + [style=\bfc] + +\definehead + [Title] + [title] + +\definesymbol + [MyBullet] + [\uniqueMPgraphic{bullit}] + +\setupitemgroup + [itemize] + [each] + [symbol=MyBullet] + +\doifelsemode {asintended,atpragma} { + \setupbodyfont[cambria,14.4pt] +} { + \setupbodyfont[pagella,14.4pt] +} + +% interface + +\unexpanded\def\StartItems + {\begingroup + \StartSteps + \startitemize + \unexpanded\def\StartItems{\startitemize\unexpanded\def\StopItems{\stopitemize}}} + +\unexpanded\def\StopItems + {\FlushStep + \stopitemize + \NextPageSymbol + \StopSteps + \endgroup} + +\unexpanded\def\Item + {\unexpanded\def\Item{\FlushStep\item} + \item} + +\unexpanded\def\NextPageSymbol + {\setlayer + [extra] + [preset=rightbottom,offset=2mm] + {\ifnum\realpageno=\lastpage\relax + \reuseMPgraphic{last}% + \else\ifnum\realpageno>\plusone + \reuseMPgraphic{next}% + \fi\fi + \FlushStep}} + +\unexpanded\def\TitlePage#1#2% + {\startstandardmakeup[bottom=,top=] + \scale[width=\textwidth]{\framed[align=flushleft,foregroundstyle=\bf,frame=off]{#1}} + \vfilll + \hfill\scale[width=.5\textwidth]{\framed[align=flushright,foregroundstyle=\bf,frame=off]{#2}} + \stopstandardmakeup} + +\unexpanded\def\StartTopic#1% + {\Title{#1}} + +\unexpanded\def\StopTopic + {\page} + +\startsetups document:start + \TitlePage + {\documentvariable{title}} + {\documentvariable{author}\\ + \documentvariable{location}} +\stopsetups + +\stopmodule + +\continueifinputfile{s-present-simple.mkiv} + +\usemodule[present-common] + +\inputpresentationfile{examples/present-simple-001.tex} diff --git a/tex/context/modules/mkiv/s-present-slanted.mkiv b/tex/context/modules/mkiv/s-present-slanted.mkiv new file mode 100644 index 000000000..a68e0cd8e --- /dev/null +++ b/tex/context/modules/mkiv/s-present-slanted.mkiv @@ -0,0 +1,206 @@ +%D \module +%D [ file=s-present-slanted, % was: s-pre-64, +%D version=2006.05.11, +%D title=\CONTEXT\ Style File, +%D subtitle=Presentation Environment Slanted, +%D author=Hans Hagen, +%D date=\currentdate, +%D copyright={PRAGMA ADE \& \CONTEXT\ Development Team}] +%C +%C This module is part of the \CONTEXT\ macro||package and is +%C therefore copyrighted by \PRAGMA. See mreadme.pdf for +%C details. + +%D This style is kept as reference (but can be usedof course). It was used at the +%D TUG conference in San Diego in 2007 (the very early days if \LUATEX\ and \MKIV). +%D +%D This was one of he four presentations, each with a different style. The other +%D styles were quite ok but I just lack time (ane motivation) to generalize them, + +\usemodule[s][pre-60] + +\newcounter\shapesynctag +\newdimen \slantedshapedimen +\newdimen \slantedshapestep +\newdimen \slantedshapeleftskip +\newdimen \slantedshapeoffset +\newdimen \slantedshapeextra +\newdimen \slantedshapedelta + +\positioningtrue + +\unexpanded\def\AdaptShape + {\doglobal\increment\shapesynctag + \getnoflines\textheight + \slantedshapestep\dimexpr\slantedshapeleftskip/\noflines\relax + \leftskip\slantedshapeleftskip + \scratchdimen\dimexpr + \MPy{text:\MPp\shapesynctag} + +\MPh{text:\MPp\shapesynctag} + -\topskip + -\MPy\shapesynctag + +\slantedshapeextra + \relax + \getnoflines\scratchdimen + \slantedshapedimen \noflines \slantedshapestep + \scratchtoks\emptytoks + \dorecurse{30} + {\appendetoks + \the\dimexpr + -\slantedshapedimen + +\slantedshapeoffset + +\slantedshapedelta + \relax + \space + \the\dimexpr + \hsize + -2\slantedshapeoffset + \relax + \space + \to\scratchtoks + \advance\slantedshapedimen \slantedshapestep}% + \parshape 30 \the\scratchtoks + \strut\xypos\shapesynctag} + +\setuppapersize[S6][S6] + +\setupinteraction + [state=start, + click=no] + +\setupinteractionscreen + [option=max] + +\setuplayout + [backspace=12pt, + topspace=24pt, + height=middle, + width=middle, + header=0pt, + footer=0pt] + +\definecolor[maincolor][b=.5] +\definecolor[somecolor][g=.5] +\definecolor[morecolor][r=.5] + +\setupcolors + [textcolor=maincolor] + +\setupbodyfont + [pagella] + +\setupbackgrounds + [text]% [text] + [background={base,text,invoke}] + +\definelayer + [text] + [width=\textwidth, + height=\textheight] + +\definelayer + [base] + [width=\textwidth, + height=\textheight] + +\definetype [epet] [style=,color=morecolor] +\setuptype [style=,color=somecolor] +\slantedshapeleftskip150pt +\slantedshapeoffset 12pt +\slantedshapeextra 10pt + +\startreusableMPgraphic{page} + StartPage ; + fill Page withcolor \MPcolor{maincolor} ; + path p ; p := Field[Text][Text] enlarged 6pt ; + p := + llcorner p shifted (0,-12pt) -- + lrcorner p shifted (-150pt,0) -- + urcorner p shifted (0,12pt) -- + ulcorner p shifted (150pt,0) -- + cycle ; + fill p + withcolor .9white ; + StopPage ; +\stopreusableMPgraphic + +\defineoverlay + [page] + [\reuseMPgraphic{page}] + +\setupbackgrounds + [page] + [background=page] + +\setupalign + [flushleft] + +\unexpanded\def\StartItem + {\blank[line] + \begingroup + \EveryPar {\AdaptShape}} % beware: \ABBREV aan begin gaat fout + +\unexpanded\def\StopItem + {\endgraf + \endgroup + \blank[line]} + +\unexpanded\def\StartType + {\blank[halfline] + \begingroup + \EveryPar {\AdaptShape} + \dontleavehmode \quad} + +\unexpanded\def\StopType + {\endgraf + \endgroup + \blank[halfline]} + +\unexpanded\def\StartTopic#1% + {\page + \setlayer + [text] + [preset=lefttop, + rotation=90] + {\color[white]{\scale[height=24pt]{\strut#1}}}} + +\unexpanded\def\StopTopic + {\page} + +\startsetups document:start + \ifdefined\TitleFont \else + \definedfont[TitleFont][Bold*default sa 4] + \fi + \ifdefined\MainTextFont + \MainTextFont + \fi + \Banner{\documentvariable{location}} + \StartTopic{\documentvariable{author}} + \startstandardmakeup + \TitleFont + \setupinterlinespace[line=3ex] + \vfill + \def\docommand##1{\StartItem\dontleavehmode\quad{\morecolor##1}\StopItem} + \processcommacommand[\documentvariable{title}]\docommand + \vfill + \stopstandardmakeup + \StopTopic +\stopsetups + +\startsetups document:stop +\stopsetups + +\unexpanded\def\Banner#1% + {\setuplayer + [base] + [state=repeat] + \setlayer + [base] + [preset=rightbottom] + {\color[white]{\scale[height=9pt]{\strut#1}}}} + +\continueifinputfile{s-present-slanted.mkiv} + +\usemodule[present-common] + +\inputpresentationfile{tug/2007/tug-2007-fonts.tex} diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua index e72fa8027..0fb2eff32 100644 --- a/tex/generic/context/luatex/luatex-fonts-merged.lua +++ b/tex/generic/context/luatex/luatex-fonts-merged.lua @@ -1,6 +1,6 @@ -- merged file : c:/data/develop/context/sources/luatex-fonts-merged.lua -- parent file : c:/data/develop/context/sources/luatex-fonts.lua --- merge date : 11/01/16 10:08:25 +-- merge date : 11/04/16 11:06:23 do -- begin closure to overcome local limits and interference |