summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/context/documents/general/qrcs/setup-cs.pdfbin830941 -> 831078 bytes
-rw-r--r--doc/context/documents/general/qrcs/setup-de.pdfbin830379 -> 830513 bytes
-rw-r--r--doc/context/documents/general/qrcs/setup-en.pdfbin836074 -> 836213 bytes
-rw-r--r--doc/context/documents/general/qrcs/setup-fr.pdfbin828246 -> 828380 bytes
-rw-r--r--doc/context/documents/general/qrcs/setup-it.pdfbin830164 -> 830300 bytes
-rw-r--r--doc/context/documents/general/qrcs/setup-nl.pdfbin827278 -> 827407 bytes
-rw-r--r--doc/context/documents/general/qrcs/setup-ro.pdfbin826929 -> 827070 bytes
-rw-r--r--doc/context/presentations/bachotex/2010/bachotex-2010-clash.pdfbin0 -> 33412 bytes
-rw-r--r--doc/context/presentations/bachotex/2010/bachotex-2010-clash.tex231
-rw-r--r--doc/context/presentations/bachotex/2010/bachotex-2010-move.pdfbin0 -> 21690 bytes
-rw-r--r--doc/context/presentations/bachotex/2010/bachotex-2010-move.tex114
-rw-r--r--doc/context/presentations/bachotex/2011/bachotex-2011-cld-and-mkvi.pdfbin0 -> 59142 bytes
-rw-r--r--doc/context/presentations/bachotex/2011/bachotex-2011-cld-and-mkvi.tex154
-rw-r--r--doc/context/presentations/bachotex/2013/bachotex-2013-bits.pdfbin0 -> 43359 bytes
-rw-r--r--doc/context/presentations/bachotex/2013/bachotex-2013-bits.tex223
-rw-r--r--doc/context/presentations/bachotex/2013/bachotex-2013-luatex.pdfbin0 -> 50957 bytes
-rw-r--r--doc/context/presentations/bachotex/2013/bachotex-2013-luatex.tex205
-rw-r--r--doc/context/presentations/bachotex/2013/bachotex-2013-sense.pdfbin0 -> 81302 bytes
-rw-r--r--doc/context/presentations/bachotex/2013/bachotex-2013-sense.tex319
-rw-r--r--doc/context/presentations/bachotex/2013/bachotex-2013-speed.pdfbin0 -> 33198 bytes
-rw-r--r--doc/context/presentations/bachotex/2013/bachotex-2013-speed.tex115
-rw-r--r--doc/context/presentations/bachotex/2015/bachotex-2015-ligatures.pdfbin0 -> 95633 bytes
-rw-r--r--doc/context/presentations/bachotex/2015/bachotex-2015-ligatures.tex138
-rw-r--r--doc/context/presentations/bachotex/2016/bachotex-2016-opentype.pdfbin0 -> 40433 bytes
-rw-r--r--doc/context/presentations/bachotex/2016/bachotex-2016-opentype.tex631
-rw-r--r--doc/context/presentations/bachotex/2016/bachotex-2016-toolbox.pdfbin0 -> 52712 bytes
-rw-r--r--doc/context/presentations/bachotex/2016/bachotex-2016-toolbox.tex212
-rw-r--r--doc/context/presentations/context/2011/context-2011-ebook-export.pdfbin0 -> 28897 bytes
-rw-r--r--doc/context/presentations/context/2011/context-2011-ebook-export.tex94
-rw-r--r--doc/context/presentations/context/2011/context-2011-mathml-update.pdfbin0 -> 23283 bytes
-rw-r--r--doc/context/presentations/context/2011/context-2011-mathml-update.tex67
-rw-r--r--doc/context/presentations/context/2011/context-2011-metapost-how-we-adapt.pdfbin0 -> 27010 bytes
-rw-r--r--doc/context/presentations/context/2011/context-2011-metapost-how-we-adapt.tex104
-rw-r--r--doc/context/presentations/context/2011/context-2011-sorting-registers.pdfbin0 -> 36234 bytes
-rw-r--r--doc/context/presentations/context/2011/context-2011-sorting-registers.tex161
-rw-r--r--doc/context/presentations/context/2012/context-2012-after-the-cleanup.pdfbin0 -> 44728 bytes
-rw-r--r--doc/context/presentations/context/2012/context-2012-after-the-cleanup.tex162
-rw-r--r--doc/context/presentations/context/2012/context-2012-lexing-sources.pdfbin0 -> 41024 bytes
-rw-r--r--doc/context/presentations/context/2012/context-2012-lexing-sources.tex81
-rw-r--r--doc/context/presentations/context/2012/context-2012-mixed-columns.pdfbin0 -> 37833 bytes
-rw-r--r--doc/context/presentations/context/2012/context-2012-mixed-columns.tex79
-rw-r--r--doc/context/presentations/context/2012/context-2012-the-script.pdfbin0 -> 63646 bytes
-rw-r--r--doc/context/presentations/context/2012/context-2012-the-script.tex453
-rw-r--r--doc/context/presentations/context/2012/context-2012-visual-debugging.pdfbin0 -> 72039 bytes
-rw-r--r--doc/context/presentations/context/2012/context-2012-visual-debugging.tex296
-rw-r--r--doc/context/presentations/context/2012/context-2012-xml-news.pdfbin0 -> 49133 bytes
-rw-r--r--doc/context/presentations/context/2012/context-2012-xml-news.tex131
-rw-r--r--doc/context/presentations/context/2013/context-2013-math.pdfbin0 -> 51849 bytes
-rw-r--r--doc/context/presentations/context/2013/context-2013-math.tex244
-rw-r--r--doc/context/presentations/context/2013/context-2013-speed.pdfbin0 -> 33773 bytes
-rw-r--r--doc/context/presentations/context/2013/context-2013-speed.tex108
-rw-r--r--doc/context/presentations/context/2015/context-2015-status.pdfbin0 -> 90938 bytes
-rw-r--r--doc/context/presentations/context/2015/context-2015-status.tex87
-rw-r--r--doc/context/presentations/context/2016/context-2016-luatex.pdfbin0 -> 90097 bytes
-rw-r--r--doc/context/presentations/context/2016/context-2016-luatex.tex242
-rw-r--r--doc/context/presentations/examples/present-tiles-001.pdfbin0 -> 42542 bytes
-rw-r--r--doc/context/presentations/examples/present-tiles-001.tex20
-rw-r--r--doc/context/presentations/present-readme.pdfbin0 -> 33697 bytes
-rw-r--r--doc/context/presentations/present-readme.tex33
-rw-r--r--metapost/context/base/mpiv/mp-core.mpiv3
-rw-r--r--scripts/context/lua/mtxrun.lua9
-rw-r--r--scripts/context/stubs/mswin/mtxrun.lua9
-rw-r--r--scripts/context/stubs/unix/mtxrun9
-rw-r--r--scripts/context/stubs/win64/mtxrun.lua9
-rw-r--r--tex/context/base/mkii/cont-new.mkii2
-rw-r--r--tex/context/base/mkii/context.mkii2
-rw-r--r--tex/context/base/mkiv/cont-fil.mkiv20
-rw-r--r--tex/context/base/mkiv/cont-new.mkiv2
-rw-r--r--tex/context/base/mkiv/context.mkiv2
-rw-r--r--tex/context/base/mkiv/file-job.mkvi11
-rw-r--r--tex/context/base/mkiv/font-ctx.lua12
-rw-r--r--tex/context/base/mkiv/font-pre.mkiv1
-rw-r--r--tex/context/base/mkiv/font-sel.mkvi4
-rw-r--r--tex/context/base/mkiv/lpdf-ini.lua22
-rw-r--r--tex/context/base/mkiv/math-act.lua4
-rw-r--r--tex/context/base/mkiv/mlib-int.lua8
-rw-r--r--tex/context/base/mkiv/status-files.pdfbin25657 -> 25670 bytes
-rw-r--r--tex/context/base/mkiv/status-lua.pdfbin368424 -> 368426 bytes
-rw-r--r--tex/context/base/mkiv/strc-tag.lua2
-rw-r--r--tex/context/base/mkiv/util-tab.lua3
-rw-r--r--tex/context/fonts/mkiv/lm.lfg9
-rw-r--r--tex/context/fonts/mkiv/type-imp-asana.mkiv2
-rw-r--r--tex/context/fonts/mkiv/type-imp-cambria.mkiv6
-rw-r--r--tex/context/fonts/mkiv/type-imp-dejavu.mkiv3
-rw-r--r--tex/context/fonts/mkiv/type-imp-euler.mkiv6
-rw-r--r--tex/context/fonts/mkiv/type-imp-koeielettersot.mkiv10
-rw-r--r--tex/context/fonts/mkiv/type-imp-latinmodern.mkiv8
-rw-r--r--tex/context/fonts/mkiv/type-imp-libertinus.mkiv4
-rw-r--r--tex/context/fonts/mkiv/type-imp-lucida-opentype.mkiv4
-rw-r--r--tex/context/fonts/mkiv/type-imp-minion.mkiv8
-rw-r--r--tex/context/fonts/mkiv/type-imp-source.mkiv2
-rw-r--r--tex/context/fonts/mkiv/type-imp-texgyre.mkiv16
-rw-r--r--tex/context/fonts/mkiv/type-imp-xits.mkiv12
-rw-r--r--tex/context/interface/mkiv/i-context.pdfbin836074 -> 836213 bytes
-rw-r--r--tex/context/interface/mkiv/i-readme.pdfbin60766 -> 60767 bytes
-rw-r--r--tex/context/modules/common/s-pre-11.tex58
-rw-r--r--tex/context/modules/mkii/s-pre-61.mkii (renamed from tex/context/modules/common/s-pre-61.tex)0
-rw-r--r--tex/context/modules/mkii/s-pre-62.mkii (renamed from tex/context/modules/common/s-pre-62.tex)0
-rw-r--r--tex/context/modules/mkiv/s-pre-69.mkiv336
-rw-r--r--tex/context/modules/mkiv/s-pre-71.mkiv170
-rw-r--r--tex/context/modules/mkiv/s-present-banner.mkiv132
-rw-r--r--tex/context/modules/mkiv/s-present-bars.mkiv128
-rw-r--r--tex/context/modules/mkiv/s-present-common.mkiv41
-rw-r--r--tex/context/modules/mkiv/s-present-four.mkiv188
-rw-r--r--tex/context/modules/mkiv/s-present-ovals.mkiv94
-rw-r--r--tex/context/modules/mkiv/s-present-overlap.mkiv233
-rw-r--r--tex/context/modules/mkiv/s-present-phone.mkiv108
-rw-r--r--tex/context/modules/mkiv/s-present-punk.mkiv (renamed from tex/context/modules/mkiv/s-pre-70.mkiv)23
-rw-r--r--tex/context/modules/mkiv/s-present-random.lua (renamed from tex/context/modules/mkiv/s-pre-71.lua)7
-rw-r--r--tex/context/modules/mkiv/s-present-random.mkiv243
-rw-r--r--tex/context/modules/mkiv/s-present-shaded.mkiv167
-rw-r--r--tex/context/modules/mkiv/s-present-stepper.mkiv275
-rw-r--r--tex/context/modules/mkiv/s-present-stepwise.mkiv (renamed from tex/context/modules/mkiv/s-pre-60.mkiv)0
-rw-r--r--tex/context/modules/mkiv/s-present-tiles.mkiv49
-rw-r--r--tex/context/modules/mkiv/s-present-wobbling.mkiv339
-rw-r--r--tex/generic/context/luatex/luatex-fonts-merged.lua2
116 files changed, 6846 insertions, 675 deletions
diff --git a/doc/context/documents/general/qrcs/setup-cs.pdf b/doc/context/documents/general/qrcs/setup-cs.pdf
index bbdb1f322..ab9c1bbe3 100644
--- a/doc/context/documents/general/qrcs/setup-cs.pdf
+++ b/doc/context/documents/general/qrcs/setup-cs.pdf
Binary files differ
diff --git a/doc/context/documents/general/qrcs/setup-de.pdf b/doc/context/documents/general/qrcs/setup-de.pdf
index e48cdd391..ecf6e348b 100644
--- a/doc/context/documents/general/qrcs/setup-de.pdf
+++ b/doc/context/documents/general/qrcs/setup-de.pdf
Binary files differ
diff --git a/doc/context/documents/general/qrcs/setup-en.pdf b/doc/context/documents/general/qrcs/setup-en.pdf
index 2951ea756..1db82c2d1 100644
--- a/doc/context/documents/general/qrcs/setup-en.pdf
+++ b/doc/context/documents/general/qrcs/setup-en.pdf
Binary files differ
diff --git a/doc/context/documents/general/qrcs/setup-fr.pdf b/doc/context/documents/general/qrcs/setup-fr.pdf
index 72413bf26..0549c424c 100644
--- a/doc/context/documents/general/qrcs/setup-fr.pdf
+++ b/doc/context/documents/general/qrcs/setup-fr.pdf
Binary files differ
diff --git a/doc/context/documents/general/qrcs/setup-it.pdf b/doc/context/documents/general/qrcs/setup-it.pdf
index 4cc5316b6..e21539b2e 100644
--- a/doc/context/documents/general/qrcs/setup-it.pdf
+++ b/doc/context/documents/general/qrcs/setup-it.pdf
Binary files differ
diff --git a/doc/context/documents/general/qrcs/setup-nl.pdf b/doc/context/documents/general/qrcs/setup-nl.pdf
index 4b1b82091..333f71bc0 100644
--- a/doc/context/documents/general/qrcs/setup-nl.pdf
+++ b/doc/context/documents/general/qrcs/setup-nl.pdf
Binary files differ
diff --git a/doc/context/documents/general/qrcs/setup-ro.pdf b/doc/context/documents/general/qrcs/setup-ro.pdf
index d8104ffd9..4ec372d29 100644
--- a/doc/context/documents/general/qrcs/setup-ro.pdf
+++ b/doc/context/documents/general/qrcs/setup-ro.pdf
Binary files differ
diff --git a/doc/context/presentations/bachotex/2010/bachotex-2010-clash.pdf b/doc/context/presentations/bachotex/2010/bachotex-2010-clash.pdf
new file mode 100644
index 000000000..8dfb31d11
--- /dev/null
+++ b/doc/context/presentations/bachotex/2010/bachotex-2010-clash.pdf
Binary files differ
diff --git a/doc/context/presentations/bachotex/2010/bachotex-2010-clash.tex b/doc/context/presentations/bachotex/2010/bachotex-2010-clash.tex
new file mode 100644
index 000000000..bda1934e9
--- /dev/null
+++ b/doc/context/presentations/bachotex/2010/bachotex-2010-clash.tex
@@ -0,0 +1,231 @@
+% \enablemode[paper]
+
+\usemodule[present-stepwise,present-wobbling,abr-02]
+
+\setuppapersize[S6][S6] \setupbodyfont[10pt] \def\METAPOST{MetaPost}
+
+% \StartText{...}{...}
+
+\startdocument
+ [title={\TEX\ and Reality\crlf Clashing Mindsets?},
+ topic={Bacho\TEX, May 1, 2010}]
+
+\StartItems{Some reasons to use \TEX}
+ \StartItem
+ There can be several reasons for using \TEX. Some are subjective.
+ \StopItem
+ \StartItem
+ You like the way it works: you edit a document using a simple editor,
+ add a couple of directives and delay rendering. It's the content and
+ structure that matter.
+ \StopItem
+ \StartItem
+ You need it for instance because you have to typeset math and you believe that
+ no other tool can do a better job on that.
+ \StopItem
+ \StartItem
+ You found out that it can save time because it is programmable and after all,
+ programming is a nice distraction from writing.
+ \StopItem
+ \StartItem
+ You don't want to change a 20 year old habit and why quit using something that
+ you know well by now.
+ \StopItem
+ \StartItem
+ You like an occasional fight with a batch oriented system and updating (sometimes to
+ the extend of compiling) can be done while watching a movie.
+ \StopItem
+ \StartItem
+ You dislike learning a new program every 5 years. Of course it would be different
+ if we'd live for 500 years.
+ \StopItem
+\StopItems
+
+\StartItems{My reasons to use \TEX}
+ \StartItem
+ I've always used \TEX\ and can do what I need to do with it. I like to
+ focus on what can be done instead of what can't.
+ \StopItem
+ \StartItem
+ I don't like disposable tools and am quite lucky that \TEX\ still
+ can adapt to my needs.
+ \StopItem
+ \StartItem
+ I like my job but only when using the current tools and cooking up
+ reuseable solutions.
+ \StopItem
+ \StartItem
+ I need it for rendering (often educational) content and also use it
+ for fun.
+ \StopItem
+ \StartItem
+ In the process I need to implement styles based on designs provided by
+ designers, most probably only know click and point tools but some of them
+ can think outside that box.
+ \StopItem
+\StopItems
+
+
+\StartItems{Using \TEX\ in projects}
+ \StartItem
+ Each project has at least a few challenges, the input,
+ the design, graphics, the boundary conditions, interfaces, etc.
+ \StopItem
+ \StartItem
+ In quite some cases a printed product is an afterthought and coding is
+ driven by viewing on the web.
+ \StopItem
+ \StartItem
+ Most time goes into mapping structure. Coding is done in \XML\ because
+ we can then manipulate content and publishers can reuse it.
+ \StopItem
+ \StartItem
+ Publishers often use a preselected designer and ask him/her to come
+ up with a design.
+ \StopItem
+ \StartItem
+ Chapter openings and title pages take some effort as well, especially
+ if the implementation has to be exact. For some reason design comes before
+ content so the designer has to guess.
+ \StopItem
+ \StartItem
+ Although one can try to catch bordercases it hardly pays off as the eventual
+ solutions are not that logic. Simplification is preferred over heuristics.
+ \StopItem
+ \StartItem
+ Unfortunately designers never use the fact that we can program variations and
+ and flexible solutions. On the other hand in a later stage we can quite conveniently
+ provide solutions for problems resulting in the editorial workflow.
+ \StopItem
+\StopItems
+
+\StartItems{Struggling with structure}
+ \StartItem
+ Structure in regular \TEX\ documents assumes a proper nesting of chapters,
+ sections, subsections etc.
+ \StopItem
+ \StartItem
+ In \CONTEXT\ we can clone heads and configure them independently. Often we end up with
+ tens of variants.
+ \StopItem
+ \StartItem
+ In practice numberings can intermix, for instance subsections can be numbered
+ per chapter instead of per subsection.
+ \StopItem
+ \StartItem
+ Numbers seldom run like 1 \unknown\ 1.1 \unknown\ 1.1.1 and individual components can be omitted and can
+ have different properties (font, color). This quickly becomes messy as more (unexpected)
+ structure is added.
+ \StopItem
+ \StartItem
+ It's for this reason that we now have a more complex model of resetting and synchronization
+ of states in \CONTEXT. Actually we keep adding more structure support.
+ \StopItem
+ \StartItem
+ Additional information that is used in a chapter sometimes is also used elsewhere, as
+ in tables of contents (for instance icons). Therefore in \CONTEXT\ \MKIV\ we now have
+ the possibility to let userdata travel around.
+ \StopItem
+\StopItems
+
+\StartItems{Bringing system in color}
+ \StartItem
+ When making a product line it helps if there is some systematic
+ approach in defining colors but it does not work out that way.
+ \StopItem
+ \StartItem
+ Unfortunately we can never use the colorpalet and colorgroup features
+ that have been present in \CONTEXT\ from the start.
+ \StopItem
+ \StartItem
+ Spotcolors are nice as they enforce a more systematic approach than
+ process colors. In such cases there is often some system.
+ \StopItem
+ \StartItem
+ With processcolors we often have to fight the \quotation {on my screen 0.01
+ \letterpercent\ makes a big difference} dilemma.
+ \StopItem
+ \StartItem
+ Automatically converting graphics to such color spaces can save a lot of time and
+ money.
+ \StopItem
+\StopItems
+
+\StartItems{Relations between fonts}
+ \StartItem
+ Although there is some fashion in using fonts most designs use at least
+ a few different ones.
+ \StopItem
+ \StartItem
+ Not all fonts are equally well equipped and one cannot rely too much on
+ features without testing them first. Although \OPENTYPE\ makes things
+ easier it also introduces problems due to incomplete features.
+ \StopItem
+ \StartItem
+ A macro package assumes some logic in sizes and relations but this is of no
+ use in practice. Most if the font mechanism is simply not used.
+ \StopItem
+ \StartItem
+ The same is true for interline spacing. Often some standard latin quote and
+ title is used to determine the spec. Not seldom most spacing is inconsistent.
+ \StopItem
+ \StartItem
+ It looks like justification is not wanted that much, let alone advanced features
+ like protrusion and expansion. Inter|-|character spacing is sometimes requested.
+ \StopItem
+\StopItems
+
+\StartItems{Why I still use \TEX}
+ \StartItem
+ We started making \CONTEXT\ for our own use, especially complex and demanding
+ educational documents.
+ \StopItem
+ \StartItem
+ Nowadays we stick to typesetting and as we specialize in automated processing
+ we have to operate within strict bounds.
+ \StopItem
+ \StartItem
+ We use not that many handy features as there is hardly any structure in the designs
+ we have to implement.
+ \StopItem
+ \StartItem
+ But we use quite some of the manipulative power of \CONTEXT. Also, we are able to
+ fulfil even the most extreme demands.
+ \StopItem
+ \StartItem
+ It's user demand that is the driving force behind most new features. Users typically
+ use \CONTEXT\ in a different way than we do.
+ \StopItem
+ \StartItem
+ And \unknown\ some things can probably only be done with \TEX, especially in automated
+ workflows.
+ \StopItem
+\StopItems
+
+\StartItems{Suggestions for designers}
+ \StartItem
+ Talk to those implementing the design, let them show you what can be done. Stick to
+ general designs and don't go into much detail. It's the look and feel that matters.
+ \StopItem
+ \StartItem
+ Think in systematic solutions. Lack of freedom in interactive placement of graphics can
+ be compensated by other variations.
+ \StopItem
+ \StartItem
+ Think outside the box. Use the fact that the system is programmable and can adapt. And it
+ probably goes beyond what you can think of.
+ \StopItem
+ \StartItem
+ Try to make a design extensible. There will always be more structure. Some components
+ will have less text that expected. Titles can be very short or quite long. Keep in mind
+ that you cannot tweak.
+ \StopItem
+ \StartItem
+ Try to see a pattern in structure and provide escapes for strange cases. Give the implementor
+ some freedom.
+ \StopItem
+\StopItems
+
+\stopdocument
+
+% \StopText
diff --git a/doc/context/presentations/bachotex/2010/bachotex-2010-move.pdf b/doc/context/presentations/bachotex/2010/bachotex-2010-move.pdf
new file mode 100644
index 000000000..e4c087b64
--- /dev/null
+++ b/doc/context/presentations/bachotex/2010/bachotex-2010-move.pdf
Binary files differ
diff --git a/doc/context/presentations/bachotex/2010/bachotex-2010-move.tex b/doc/context/presentations/bachotex/2010/bachotex-2010-move.tex
new file mode 100644
index 000000000..6c016e911
--- /dev/null
+++ b/doc/context/presentations/bachotex/2010/bachotex-2010-move.tex
@@ -0,0 +1,114 @@
+% \enablemode[paper]
+
+\usemodule[present-stepwise,present-wobbling,abr-02]
+
+\setuppapersize[S6][S6] \setupbodyfont[11pt] \def\METAPOST{MetaPost}
+
+% \definecolor[maincolor] [red]
+% \definecolor[extracolor][blue]
+
+\definecolor[maincolor] [green]
+\definecolor[extracolor][red]
+
+% \StartText{...}{...}
+
+\startdocument
+ [title={Hybrids: \crlf the evolution of \CONTEXT},
+ topic={Bacho\TEX, May 3, 2010}]
+
+\StartItems{How you code your documents}
+ \StartItem
+ Coding in \TEX\ is quite natural and given a proper macro set
+ the overhead is not that large.
+ \StopItem
+ \StartItem
+ Coding in \XML\ makes sense when you have to manipulate or reuse
+ your data and when \TEX\ is just the renderer.
+ \StopItem
+ \StartItem
+ For non|-|artistic graphics \METAPOST\ provides a convenient input
+ language. It also plays well with \TEX.
+ \StopItem
+ \StartItem
+ Some problems can more conveniently be solved in a procedural programming
+ language and \LUA\ perfectly fits in there.
+ \StopItem
+\StopItems
+
+\StartItems{How the codebase evolves}
+ \StartItem
+ Of course we started with only \TEX\ code. Functionality has been nicely
+ split in modules
+ \StopItem
+ \StartItem
+ Front- and backend code has always been separated.
+ \StopItem
+ \StartItem
+ The user interface is quite consistent which provides backward compatibility
+ as well extensibility.
+ \StopItem
+ \StartItem
+ For quite some time \METAPOST\ support has been tightly integrated, including
+ a two way communication between these subsystems.
+ \StopItem
+ \StartItem
+ When we decided on \LUA\ as language it didn't take long before large chunks of
+ \CONTEXT\ were rewritten using it.
+ \StopItem
+\StopItems
+
+\StartItems{How the codebase evolves}
+ \StartItem
+ Most font handling takes place in \LUA\ and as usual with \TEX\ we can do more
+ than fonts provide.
+ \StopItem
+ \StartItem
+ Other subsystems, like languages, input encoding, file io and xml also were among
+ the first to be supported by \LUA.
+ \StopItem
+ \StartItem
+ Lots of information is now carried around, especially related to structure. This will
+ permit users more freedom.
+ \StopItem
+ \StartItem
+ Notes, descriptions and enumerations also rely on \LUA.
+ \StopItem
+ \StartItem
+ Graphics (including \METAPOST) is all dealt with in \LUA. Float management is currently
+ on the agenda.
+ \StopItem
+ \StartItem
+ The backend code is completely rewritten in \LUA. We've disabled the low level primitives
+ so that third party modules can not spoil the game (this was already the case in \MKII).
+ \StopItem
+ \StartItem
+ Eventually most management tasks will move from \TEX\ to \LUA, but we keep in pace with
+ \LUATEX\ development and don't push things to the limit.
+ \StopItem
+\StopItems
+
+\StartItems{where we will end up}
+ \StartItem
+ Eventually we will have a more layered macro package so that one can make specialized
+ versions.
+ \StopItem
+ \StartItem
+ In addition to the regular \TEX\ interface there will be a \LUA\ interface. We already have
+ one such interface but there will be more.
+ \StopItem
+ \StartItem
+ It will be possible to avoid \TEX\ code completely which makes sense in predictable
+ workflows where no artistic intervening is needed.
+ \StopItem
+ \StartItem
+ Core \TEX\ functionality will also be available as (often less efficient) \LUA\ variant
+ so that we can extend it. We already provide hooks into the callback subsystem.
+ \StopItem
+ \StartItem
+ We can already all of this intermixed so the user has complete freedom of choice.
+ \StopItem
+\StopItems
+
+\stopdocument
+
+% \StopText
diff --git a/doc/context/presentations/bachotex/2011/bachotex-2011-cld-and-mkvi.pdf b/doc/context/presentations/bachotex/2011/bachotex-2011-cld-and-mkvi.pdf
new file mode 100644
index 000000000..7b98216fd
--- /dev/null
+++ b/doc/context/presentations/bachotex/2011/bachotex-2011-cld-and-mkvi.pdf
Binary files differ
diff --git a/doc/context/presentations/bachotex/2011/bachotex-2011-cld-and-mkvi.tex b/doc/context/presentations/bachotex/2011/bachotex-2011-cld-and-mkvi.tex
new file mode 100644
index 000000000..24cb665a3
--- /dev/null
+++ b/doc/context/presentations/bachotex/2011/bachotex-2011-cld-and-mkvi.tex
@@ -0,0 +1,154 @@
+% \enablemode[print]
+
+\usemodule[present-stepwise,present-four,abr-02]
+
+\abbreviation [METAPOST] {MetaPost} {}
+
+\startdocument
+ [title=Finding\par the\par balance]
+
+%D This style is mostly for myself \unknown\ to get an idea of what I need to
+%D talk about, in this case the rather drastic transformation of the \CONTEXT\
+%D code base to \MKIV\ and \LUA.
+
+\startsubject[title={No way back}]
+
+\StartSteps
+
+\startitemize
+\startitem We have passed the point of no return already years ago. \stopitem \FlushStep
+\startitem Most users now use \MKIV, with an occasional fall-back on \MKII. \stopitem \FlushStep
+\startitem The code base is now completely split, with the exception of some modules. \stopitem \FlushStep
+\startitem Some solutions are implemented in \LUA\ with only a small wrapper at the \TEX\ end. \stopitem \FlushStep
+\stopitemize
+
+\StopSteps
+
+\stopsubject
+
+\startsubject[title={To get an idea}]
+
+\StartSteps
+
+\startitemize
+\startitem structure: sectioning, notes, descriptions, registers, synonyms \stopitem \FlushStep
+\startitem typesetting: sectioning, notes, descriptions, \stopitem \FlushStep
+\stopitemize
+
+\StopSteps
+
+\stopsubject
+
+\startsubject[title={Hybrid coding}]
+
+\StartSteps
+
+\startitemize
+\startitem The complete \CONTEXT\ user interface is available at the \LUA\ end (context namespace). \stopitem \FlushStep
+\startitem Eventually all \LUA\ solutions will have a dual interface: \LUA\ (all kind of namespaces) and
+towards \TEX\ (the command namespace). \stopitem \FlushStep
+\startitem Some of the support \LUA\ modules can also be used independent from \CONTEXT. \stopitem \FlushStep
+\stopitemize
+
+\StopSteps \StopPage
+
+\startsubject[title={Coding in \TEX}]
+
+\StartSteps
+
+\starttyping
+\starttabulate[|l|c|r|]
+\NC one \NC 1 \NC first \NC \NR
+\NC two \NC 2 \NC second \NC \NR
+\NC three \NC 3 \NC third \NC \NR
+\stoptabulate
+\stoptyping
+\FlushStep
+
+\StopSteps \StopPage
+
+\startsubject[title={Coding in \LUA}]
+
+\StartSteps
+
+\starttyping
+local NC = context.NC
+local NR = context.NR
+
+context.starttabulate { "|l|c|r|" }
+NC() one NC() 1 NC() first NC() NR()
+NC() two NC() 2 NC() second NC() NR()
+NC() three NC() 3 NC() third NC() NR()
+context.stoptabulate()
+\stoptyping
+\FlushStep
+
+\StopSteps \StopPage
+
+\startsubject[title={Pure \LUA\ vs \TEX}]
+
+\StartSteps
+
+\starttyping
+function converters.ordinal(n,language)
+ local t = ordinals[language]
+ return t and t(n)
+end
+
+function commands.ordinal(n,language)
+ local t = ordinals[language]
+ local o = t and t(n)
+ if o then
+ context.highordinalstr(o)
+ end
+end
+\stoptyping
+\FlushStep
+
+\StopSteps \StopPage
+
+\startsubject[title={Up to \MKVI}]
+
+\StartSteps
+
+\starttyping
+\def\MyPlace#Country#City%
+ {\blank
+ #City is situated in #Country
+ \blank}
+
+\starttexdefinition MyName #Name
+ My name is: #Name.
+\stoptexdefinition
+
+\MyPlace{Netherlands}{Hasselt}
+\MyPlace{Poland} {Bachotek}
+
+\MyName{Hans Hagen}
+\stoptyping
+\FlushStep
+
+\StopSteps \StopPage
+
+\startsubject[title={\CONTEXT\ \LUA\ Documents}]
+
+\StartSteps
+
+Let's look at some examples: \FlushStep
+
+\starttyping
+cld-math-001.cld
+music-001.cld
+m-zint.mkiv
+s-edu-01.mkiv
+m-morse.mkvi
+scrn-wid.[lua|mkvi]
+[grph|lpdf|back]-swf.mkiv
+\stoptyping
+\FlushStep
+
+(In 2016 I'd show different examples.) \FlushStep
+
+\StopSteps \StopPage
+
+\stopdocument
diff --git a/doc/context/presentations/bachotex/2013/bachotex-2013-bits.pdf b/doc/context/presentations/bachotex/2013/bachotex-2013-bits.pdf
new file mode 100644
index 000000000..cadfb197a
--- /dev/null
+++ b/doc/context/presentations/bachotex/2013/bachotex-2013-bits.pdf
Binary files differ
diff --git a/doc/context/presentations/bachotex/2013/bachotex-2013-bits.tex b/doc/context/presentations/bachotex/2013/bachotex-2013-bits.tex
new file mode 100644
index 000000000..96db6bdeb
--- /dev/null
+++ b/doc/context/presentations/bachotex/2013/bachotex-2013-bits.tex
@@ -0,0 +1,223 @@
+% \enablemode[print]
+
+\usemodule[pre-stepwise,present-tiles,abr-02]
+
+\definecolor[maincolor] [darkgray]
+\definecolor[othercolor][r=.3,b=.3]
+
+% \setupinteractionscreen
+% [option=max]
+
+\startdocument
+ [title={Bits and pieces:\\\\ConTeXt\\MetaPost\\Lua and more},
+ subtitle={Hans Hagen\\EuroBacho\TeX\\May 2013}]
+
+\StartSteps
+
+\starttopic[title={ConTeXt\\recently done}]
+
+ \startitemize
+ \startitem some more cleanup of old left||overs \FlushStep \stopitem
+ \startitem most mechanisms now use the new level of parameter abstraction \FlushStep \stopitem
+ \startitem only a few fundamental incompatibilities (split of mechanisms, more control) \FlushStep \stopitem
+ \startitem slow introduction of hooks and extensions via setups \FlushStep \stopitem
+ \startitem first version of new multi|| column routines \FlushStep \stopitem
+ \startitem replacing mechanism that have a (too) complex implementation \FlushStep \stopitem
+ \startitem exploring the mix (e.g. chemistry with Alan) \FlushStep \stopitem
+ \startitem remove some ugly left||overs from \MKII\ math \FlushStep \stopitem
+ \startitem normalized dynamic fonts (mostly interfacing) \FlushStep \stopitem
+ \stopitemize
+
+\stoptopic
+
+\StopSteps
+
+\StartSteps
+
+\starttopic[title={ConTeXt\\next on the todo list}]
+
+ \startitemize
+ \startitem more definitive split between generic and context (generated) \FlushStep \stopitem
+ \startitem some math extensions, maybe already math dictionaries \FlushStep \stopitem
+ \startitem normalize all styles and modules \FlushStep \stopitem
+ \startitem play a bit more with the \LUA\ parbuilder \FlushStep \stopitem
+ \startitem add more integrated bidi layout support \FlushStep \stopitem
+ \startitem finalize experimental (auto)script code \FlushStep \stopitem
+ \startitem investigate what more is needed in the \CLD\ interface \FlushStep \stopitem
+ \startitem check multi||lingual interface translations (not entirely in sync now) \FlushStep \stopitem
+ \stopitemize
+
+\stoptopic
+
+\StopSteps
+
+\StartSteps
+
+\starttopic[title={MetaPost\\recently done}]
+
+ \startitemize
+ \startitem we already had instances, a bit more configurability added \FlushStep \stopitem
+ \startitem instances now can be initialized to a number model \FlushStep \stopitem
+ \startitem some of the (runtime loaded) \METAFUN\ code has been optimized (as \METAPOST\ has become somewhat slower and now has dynamic memory management \FlushStep \stopitem
+ \stopitemize
+
+\stoptopic
+
+\StopSteps
+
+\StartSteps
+
+\starttopic[title={MetaPost\\next on the todo list}]
+
+ \startitemize
+ \startitem reimplement and extend graph (with Alan) \FlushStep \stopitem
+ \stopitemize
+
+\stoptopic
+
+\StopSteps
+
+\StartSteps
+
+\starttopic[title={Lua\\recently done}]
+
+ \startitemize
+ \startitem font code has been better isolated \FlushStep \stopitem
+ \startitem basic modules are more or less stable now \FlushStep \stopitem
+ \startitem support for \SQL, templates and other workflow helper code \FlushStep \stopitem
+ \startitem the \CLD\ manual has been extended (continuous effort) \FlushStep \stopitem
+ \startitem messages and tracing have been checked and made more consistent \FlushStep \stopitem
+ \startitem it is possible to build libraries so that one can use the same kind of code in projects (\type {mtxrun} using \LUATEX\ vs \type {mtxlibs} using \LUA) \FlushStep \stopitem
+ \stopitemize
+
+\stoptopic
+
+\StopSteps
+
+\StartSteps
+
+\starttopic[title={Lua\\next on the todo list}]
+
+ \startitemize
+ \startitem maybe cleanup of file database code (no real need to be completely \type {kpse} and \TDS\ compatible) \FlushStep \stopitem
+ \startitem pick up run||from|||zip experiment \FlushStep \stopitem
+ \startitem maybe more some framework code in the distribution \FlushStep \stopitem
+ \startitem experiment with some libraries (sockets, graphics, \type {gsl}) \FlushStep \stopitem
+ \stopitemize
+
+\stoptopic
+
+\StopSteps
+
+\StartSteps
+
+\starttopic[title={Lua\TeX\\recently done}]
+
+ \startitemize
+ \startitem
+ Luigi cooked up \LUAJITTEX\ and we did lots of experiments \unknown\
+ our pet project turned into an persistent extra engine \unknown\ some
+ 10 upto 40\% speedup due to faster \LUA\ interpreter (no \type {jit})
+ \FlushStep \stopitem
+ \startitem
+ I prototyped some speedups with access to node properties \unknown\
+ Luigi and I tested this across platforms \unknown\ and Taco finalized
+ and integrated all into the codebase
+ \FlushStep \stopitem
+ \startitem
+ Taco did the periodical check of tracker items \unknown\ some not too
+ intrusive patches and fixes have been applied \unknown\ the new
+ \METAPOST\ library has been integrated.
+ \FlushStep \stopitem
+ \startitem
+ I played with a speedup of logging to the console and identified some
+ bottlenecks \unknown\ Taco decided to make some improvements in the
+ code base.
+ \FlushStep \stopitem
+ \startitem
+ I did some parbuilder experiments in \CONTEXT\ with simplified hz
+ \unknown\ trivial extension needed in backend \unknown\ in the
+ meantime Hartmut decided to drastically cleanup the whole code path.
+ \FlushStep \stopitem
+ \stopitemize
+
+\stoptopic
+
+\StopSteps
+
+\StartSteps
+
+\starttopic[title={Lua\TeX\\next on the todo list}]
+
+ \startitemize
+ \startitem remove some old engine stuff (after tl 2013 is out) \FlushStep \stopitem
+ \startitem with Luigi, get \SWIGLIB\ project upto speed (and running) \FlushStep \stopitem
+ \startitem with Hartmut, get ex||factor implemented in the backend (explored in the \LUA\ parbuilder) \FlushStep \stopitem
+ \startitem with Taco, catch up on some ideas we have accumulated \FlushStep \stopitem
+ \stopitemize
+
+\stoptopic
+
+\StopSteps
+
+\StartSteps
+
+\starttopic[title={Fonts\\next on the todo list}]
+
+ \startitemize
+ \startitem normalize a few extensions \FlushStep \stopitem
+ \startitem implement some more detailed control \FlushStep \stopitem
+ \startitem play with the \LUA\ parbuilder (if it makes sense at all) \FlushStep \stopitem
+ \startitem finish (and test) support for Devanagari \FlushStep \stopitem
+ \stopitemize
+
+\stoptopic
+
+\StopSteps
+
+\StartSteps
+
+\starttopic[title=Manuals]
+
+ \startitemize
+ \startitem new manuals for templates, \SQL, \SCITE, extreme tables, etc. \FlushStep \stopitem
+ \startitem first uploads of the (technical) font manual \FlushStep \stopitem
+ \startitem package some sources to the documentation zip \FlushStep \stopitem
+ \stopitemize
+
+ todo:
+
+ \startitemize
+ \startitem check metafun for additions \FlushStep \stopitem
+ \startitem check and extend the \XML\ manual \FlushStep \stopitem
+ \startitem check and republish the mathml manual \FlushStep \stopitem
+ \startitem redo some of the specific manuals for \MKIV \FlushStep \stopitem
+ \startitem beginners manual is being redone (by Ton) \FlushStep \stopitem
+ \startitem chemistry manual is being redone (by Alan) \FlushStep \stopitem
+ \stopitemize
+
+\stoptopic
+
+\StopSteps
+
+\StartSteps
+
+\starttopic[title=Scripts]
+
+ \startitemize
+ \startitem additional help info support (\TEXLIVE\ requirement) \FlushStep \stopitem
+ \startitem relatively stable but most are still a first||version \FlushStep \stopitem
+ \startitem improve the \SCITE\ reference lexers \FlushStep \stopitem
+ \stopitemize
+
+\stoptopic
+
+\StopSteps
+
+\starttopic[title=Speed]
+
+\goto{pre-bt-2013-speed}[file(pre-bt-2013-speed)] \FlushStep
+
+\stoptopic
+
+\stopdocument
diff --git a/doc/context/presentations/bachotex/2013/bachotex-2013-luatex.pdf b/doc/context/presentations/bachotex/2013/bachotex-2013-luatex.pdf
new file mode 100644
index 000000000..147c34ac3
--- /dev/null
+++ b/doc/context/presentations/bachotex/2013/bachotex-2013-luatex.pdf
Binary files differ
diff --git a/doc/context/presentations/bachotex/2013/bachotex-2013-luatex.tex b/doc/context/presentations/bachotex/2013/bachotex-2013-luatex.tex
new file mode 100644
index 000000000..1dc6f2f89
--- /dev/null
+++ b/doc/context/presentations/bachotex/2013/bachotex-2013-luatex.tex
@@ -0,0 +1,205 @@
+% \enablemode[print]
+
+\usemodule[pre-stepwise,present-tiles,abr-02]
+
+\definecolor[maincolor] [darkgray]
+\definecolor[othercolor][g=.3,b=.3]
+
+% \setupinteractionscreen
+% [option=max]
+
+\setupbodyfont[opendyslexic,ss]
+
+\startdocument
+ [title={Lua\TeX\ for dummies\\\\(so you can still leave)},
+ subtitle={Hans Hagen\\EuroBacho\TeX\\May 2013}]
+
+\StartSteps
+
+\starttopic[title={The \TEX\ perspective}]
+
+ \startitemize
+ \startitem it started out as \PDFTEX \FlushStep \stopitem
+ \startitem then got merged with \ALEPH \FlushStep \stopitem
+ \startitem but we left out the ugly bits of both \FlushStep \stopitem
+ \startitem it's exclusively \UTF-8 \FlushStep \stopitem
+ \startitem it's math machinery got extended with \OPENTYPE\ like features \FlushStep \stopitem
+ \startitem there are no fundamental extensions as it's impossible to agree in them \FlushStep \stopitem
+ \stopitemize
+
+\stoptopic
+
+\StopSteps
+
+\StartSteps
+
+\starttopic[title={The \LUA\ perspective}]
+
+ \startitemize
+ \startitem it just a \LUA\ engine \FlushStep \stopitem
+ \startitem it has some extra libraries on board \FlushStep \stopitem
+ \startitem you don't even have to use \TEX \FlushStep \stopitem
+ \startitem but there are hooks into the \TEX\ machinery \FlushStep \stopitem
+ \startitem and we can go further by loading libraries \FlushStep \stopitem
+ \stopitemize
+
+\stoptopic
+
+\StopSteps
+
+\StartSteps
+
+\starttopic[title={The hybrid perspective}]
+
+ \startitemize
+ \startitem we can extend \TEX\ using \LUA \FlushStep \stopitem
+ \startitem eventually everything will be opened up \FlushStep \stopitem
+ \startitem users never have to see any of that \FlushStep \stopitem
+ \startitem they can simply use \LUA\ for scripting and print results to \TEX \FlushStep \stopitem
+ \startitem but developers can go deep into the \TEX\ internals and mess around \FlushStep \stopitem
+ \startitem the average user will just depend on what a macro package will provide \FlushStep \stopitem
+ \stopitemize
+
+\stoptopic
+
+\StopSteps
+
+\StartSteps
+
+\starttopic[title={The complications}]
+
+ \startitemize
+ \startitem normally one wants a bit of infrastructure (management) \FlushStep \stopitem
+ \startitem and maybe a special user space, hidden from core extensions \FlushStep \stopitem
+ \startitem but history has tought that users can't be controlled that way \FlushStep \stopitem
+ \startitem so we stick to just providing the mechanisms \FlushStep \stopitem
+ \stopitemize
+
+\stoptopic
+
+\StopSteps
+
+\StartSteps
+
+\starttopic[title={The future}]
+
+ \startitemize
+ \startitem there are a couple of generic modules (derived from \CONTEXT) \FlushStep \stopitem
+ \startitem in principle I can make more generic modules \FlushStep \stopitem
+ \startitem that's after all the idea behind the (to be) \METATEX\ variant \FlushStep \stopitem
+ \startitem but does it really make sense as one still needs substantial subsystems \FlushStep \stopitem
+ \stopitemize
+
+\stoptopic
+
+\StopSteps
+
+\StartSteps
+
+\starttopic[title={This workshop}]
+
+ \startitemize
+ \startitem just using \LUA: it's what most users will do \FlushStep \stopitem
+ \startitem showing the hooks: it's what developers want to use \FlushStep \stopitem
+ \startitem answering questions: it's probably the most I can do \FlushStep \stopitem
+ \stopitemize
+
+\stoptopic
+
+\StopSteps
+
+\StartSteps
+
+\starttopic[title={Just plain}]
+
+ We need to make a format, like:
+
+ \starttyping
+ luatex --ini plain \dump
+ \stoptyping
+
+ \FlushStep
+
+ and can then run files with:
+
+ \starttyping
+ luatex --fmt=plain somefile.tex
+ \stoptyping
+
+ \FlushStep
+
+ This is a another way:
+
+ \starttyping
+ mtxrun --script plain --make --texformat=plain
+ \stoptyping
+
+ \FlushStep
+
+ with:
+
+ \starttyping
+ mtxrun --script plain --texformat=plain somefile.tex
+ \stoptyping
+
+ \FlushStep
+
+\stoptopic
+
+\StopSteps
+
+\StartSteps
+
+\starttopic[title={A bit less plain}]
+
+ In order to profit from \OPENTYPE\ fonts:
+
+ \starttyping
+ mtxrun --script plain --make
+ \stoptyping
+
+ \FlushStep
+
+ with:
+
+ \starttyping
+ mtxrun --script plain somefile.tex
+ \stoptyping
+
+ \FlushStep
+
+ On windows you can copy \type {mtxrun.exe} to \type {plain.exe} and stick to:
+
+ \starttyping
+ plain --make
+ \stoptyping
+
+ \FlushStep
+
+ with:
+
+ \starttyping
+ plain somefile.tex
+ \stoptyping
+
+\stoptopic
+
+\StopSteps
+
+\StartSteps
+
+\starttopic[title={Hardly plain}]
+
+ If you can live with a bit less plain:
+
+ \starttyping
+ context yourfile.tex
+ \stoptyping
+
+ \FlushStep
+
+\stoptopic
+
+\StopSteps
+
+\stopdocument
diff --git a/doc/context/presentations/bachotex/2013/bachotex-2013-sense.pdf b/doc/context/presentations/bachotex/2013/bachotex-2013-sense.pdf
new file mode 100644
index 000000000..be0939b40
--- /dev/null
+++ b/doc/context/presentations/bachotex/2013/bachotex-2013-sense.pdf
Binary files differ
diff --git a/doc/context/presentations/bachotex/2013/bachotex-2013-sense.tex b/doc/context/presentations/bachotex/2013/bachotex-2013-sense.tex
new file mode 100644
index 000000000..72e3f4dc2
--- /dev/null
+++ b/doc/context/presentations/bachotex/2013/bachotex-2013-sense.tex
@@ -0,0 +1,319 @@
+% \enablemode[print]
+
+\usemodule[pre-stepwise,present-tiles,abr-02]
+
+\definecolor[maincolor] [s=.6]
+\definecolor[othercolor][s=.2]
+
+% \setupinteractionscreen
+% [option=max]
+
+\startdocument
+ [title={How about those\\typographic virtues:\\do they still make sense?},
+ subtitle={Hans Hagen\\EuroBacho\TeX\\May 2013}]
+
+\StartSteps
+
+\starttopic[title=Typesetting]
+
+ \FlushStep
+
+ \startitemize
+ \startitem somehow we turned sounds into speech into language \FlushStep \stopitem
+ \startitem and after that it may have started with writing in the sand \FlushStep \stopitem
+ \startitem followed by painting on cave walls \FlushStep \stopitem
+ \startitem or maybe carving symbols in wood \FlushStep \stopitem
+ \startitem and figuring out some writing system \FlushStep \stopitem
+ \startitem that made it possible to chisel thoughts in stone \FlushStep \stopitem
+ \startitem and eventually putting blobs on paper \FlushStep \stopitem
+ \startitem that we somehow managed to map onto pixels \FlushStep \stopitem
+ \stopitemize
+
+ but \FlushStep
+
+ \startitemize
+ \startitem typesetting only happened very lately \FlushStep \stopitem
+ \stopitemize
+
+\stoptopic
+
+\StopSteps
+
+\StartSteps
+
+\starttopic[title=In the process]
+
+ \FlushStep
+
+ \startitemize
+ \startitem mankind optimized the basic shapes (to suit the language) \FlushStep \stopitem
+ \startitem and kept inventing new symbols \FlushStep \stopitem
+ \startitem more and more automated typesetting and rendering and printing \FlushStep \stopitem
+ \startitem and of course this went with all kind of silly arguments \FlushStep \stopitem
+ \stopitemize
+
+ think of this: \FlushStep
+
+ \startitemize
+ \startitem for ages scribes were the only way to get high end arabic typesetting \FlushStep \stopitem
+ \startitem and now we can do this mostly automatic (in good and bad ways) \FlushStep \stopitem
+ \startitem so we endangered yet another craft \FlushStep \stopitem
+ \stopitemize
+
+
+\stoptopic
+
+\StopSteps
+
+\StartSteps
+
+\starttopic[title=But eventually]
+
+ \FlushStep
+
+ \startitemize
+ \startitem new interfaces will bring new ways of reading (how about leap motion) \FlushStep \stopitem
+ \startitem and we'll go from manual to visual (glasses, look at gaming) \FlushStep \stopitem
+ \startitem so information will be pushed more or less directly into our brain \FlushStep \stopitem
+ \startitem while high quality rendering moves to the arts department \FlushStep \stopitem
+ \startitem and in the end probably not much gets printed any more \FlushStep \stopitem
+ \startitem so we will share, stare at and discuss books no longer the way we do now \FlushStep \stopitem
+ \startitem just look at how kids deal with information nowadays \FlushStep \stopitem
+ \stopitemize
+
+\stoptopic
+
+\StopSteps
+
+\StartSteps
+
+\starttopic[title=Targeting paper]
+
+ \FlushStep
+
+ \startitemize
+ \startitem we kept trying to save space by combine shapes and using umlauts and accents \FlushStep \stopitem
+ \startitem we can make it look better, using ligatures, alternative shapes \FlushStep \stopitem
+ \startitem color comes cheap, as does mixing fonts \FlushStep \stopitem
+ \startitem went from left to right and vise versa and top to bottom and mixed all this \FlushStep \stopitem
+ \startitem papers and magazines squeezed more into columns (in fact, we get less newspapers and magazines, but more advertising, so for a while there's as much print but more of dubious quality) \FlushStep \stopitem
+ \startitem and we even optimized the art of unreadability as in anti||smoke warnings \FlushStep \stopitem
+ \startitem thanks to software we can tweak fonts, mess with kerning, fool ourselve with expansion and protrusion \FlushStep \stopitem
+ \startitem we mess around with margins, aspect ratios, scaling, rotating, and justification \FlushStep \stopitem
+ \startitem and yes, we introduced conventions but also entered endless debates \FlushStep \stopitem
+ \stopitemize
+
+\stoptopic
+
+\StopSteps
+
+\StartSteps
+
+\starttopic[title=Towards displays]
+
+ \FlushStep
+
+ \startitemize
+ \startitem nowadays we can fake the old stuff on the screen and simulate paper \FlushStep \stopitem
+ \startitem we have weird user interfaces as we still want to recognize the old e.g.\ funny borders and strange buttons \FlushStep \stopitem
+ \startitem and we're told how less pixels are actually needed to keep us happy \FlushStep \stopitem
+ \startitem while we stare at ourselves on those mirroring and radiating displays \FlushStep \stopitem
+ \startitem lack of detail gets nicely compensated with special reading compensation programs at school \FlushStep \stopitem
+ \startitem and still progress is hampered by copyrighting trivial properties and inventions that anyone can come up with given the machinery \FlushStep \stopitem
+ \stopitemize
+
+\stoptopic
+
+\StopSteps
+
+\StartSteps
+
+\starttopic[title=The state of affairs]
+
+ \FlushStep
+
+ \startitemize
+ \startitem we already lost (or maybe never reached) optimal quality \FlushStep \stopitem
+ \startitem it looks like ragged right won the battle \FlushStep \stopitem
+ \startitem and messing with fonts beyond what designers had in mind is okay \FlushStep \stopitem
+ \startitem the users start controlling the layout by scaling, rotating and setting properties \FlushStep \stopitem
+ \stopitemize
+
+ so \FlushStep
+
+ \startitemize
+ \startitem why do we texies still bother about typography, hobyism apart \FlushStep \stopitem
+ \startitem does paying so much attention and trying to be original still fit into rappidly changing times \FlushStep \stopitem
+ \startitem we're not alone: the same is true for programs, apps, operating systems, etc \FlushStep \stopitem
+ \stopitemize
+
+\stoptopic
+
+\StopSteps
+
+\StartSteps
+
+\starttopic[title=Take ligatures]
+
+ \FlushStep
+
+ \definefont[TestA][texgyrepagella-regular*default]
+ \definefont[TestB][cambria*default]
+ \definefont[TestC][dejavuserif*default]
+ \definefont[TestD][lmroman10-regular*default]
+
+ \startcombination[alternative=none,nx=1,ny=4]
+ {\hbox to \textwidth{\scale[height=.1\textheight]{\TestA fi ffi fl ffl ij}\hss}}
+ {\hbox to \textwidth{\scale[height=.1\textheight]{\TestB fi ffi fl ffl ij}\hss\tlap{\scale[height=.25\textheight]{\TestB ffl\hskip.1emffi}}}}
+ {\hbox to \textwidth{\scale[height=.1\textheight]{\TestC fi ffi fl ffl ij}\hss}}
+ {\hbox to \textwidth{\scale[height=.1\textheight]{\TestD fi ffi fl ffl ij}\hss\tlap{\scale[height=.25\textheight]{\TestD ffl\hskip.1emffi}}}}
+ \stopcombination
+
+ \FlushStep
+
+ Subtle kerning, partial substitution, different shapes: take your
+ choice. Can texies really claim that their ffi looks the best? Just
+ stare at it for a while.
+
+ \FlushStep
+
+\stoptopic
+
+\StopSteps
+
+\StartSteps
+
+\starttopic[title=Accent battles]
+
+ \FlushStep
+
+ \startcombination[alternative=label,nx=5,ny=2]
+ {\scale[height=.25\textheight]{\definedfont[texgyrepagella-regular]Å¡}}
+ {\scale[height=.25\textheight]{\definedfont[dejavuserif]Å¡}}
+ {\scale[height=.25\textheight]{\definedfont[cambria]Å¡}}
+ {\scale[height=.25\textheight]{\definedfont[texgyretermes-regular]Å¡}}
+ {\scale[height=.25\textheight]{\definedfont[lucidabrightot]Å¡}}
+ {\scale[height=.25\textheight]{\definedfont[texgyrebonum-regular]Å¡}}
+ {\scale[height=.25\textheight]{\definedfont[texgyreheros-regular]Å¡}}
+ {\scale[height=.25\textheight]{\definedfont[lmroman10-regular]Å¡}}
+ {\scale[height=.25\textheight]{\definedfont[KozMinPr6N-Regular]Å¡}}
+ {\scale[height=.25\textheight]{\definedfont[zapfinoextraltpro]Å¡}}
+ \stopcombination
+
+ \FlushStep
+
+ \blank
+
+ Of course there are some conventions, but given that designs are \unknown\ well,
+ designs \unknown\ it's never going to be okay for all of us.
+
+ \FlushStep
+
+\stoptopic
+
+\StopSteps
+
+\StartSteps
+
+\starttopic[title=Justification]
+
+ \FlushStep
+
+ % \externalfigure[chinese-courier.jpg][height=.7\textheight]
+ \externalfigure[chinese-courier.jpg][width=\textwidth]
+
+ \FlushStep
+
+ \blank
+
+ Intercharacter spacing, interglyph spacing, tightening symbols: why bother
+ any longer: let's play safe and from now on advice to use monospaced ragged
+ right.
+
+ \FlushStep
+
+\stoptopic
+
+\StopSteps
+
+\StartSteps
+
+\starttopic[title=Backslashes]
+
+ \FlushStep
+
+ \startitemize
+ \startitem you always need a way to escape formatting directives \FlushStep \stopitem
+ \startitem so texies have the backslash and a few more special characters \FlushStep \stopitem
+ \startitem coding in \XML\ seems to be too complex and awkward for most users \FlushStep \stopitem
+ \startitem but \ASCII\ based quick and dirty formatting becomes a fashion (\type {*doc}) \FlushStep \stopitem
+ \startitem of course influencing the makeup and making things nice involves even nastier escapes \FlushStep \stopitem
+ \startitem and in the process we eventually loose quality \FlushStep \stopitem
+ \stopitemize
+
+ but \FlushStep
+
+ \startitemize
+ \startitem it fits nicely into quick and dirty often one||time markup \FlushStep \stopitem
+ \startitem and real markup, maybe targeted at reuse, becomes a speciality, craft, hobby or disappears \FlushStep \stopitem
+ \startitem there is no reason why what we do now stays \unknown\ we have no copying monks left either \FlushStep \stopitem
+ \stopitemize
+
+\stoptopic
+
+\StopSteps
+
+\StartSteps
+
+\starttopic[title=Endangered features]
+
+ \FlushStep
+
+ \startitemize
+ \startitem ebooks are mostly single sided \FlushStep \stopitem
+ \startitem but somehow we still care about pages (or can't look beyond them) \FlushStep \stopitem
+ \startitem there is no longer room and need for multi||columns \FlushStep \stopitem
+ \startitem and also no need for footnotes as we can have roll||overs \FlushStep \stopitem
+ \startitem paper size can still be different but can swap to landscape\FlushStep \stopitem
+ \startitem floats become cumbersome compared to paper books, so no floats \FlushStep \stopitem
+ \startitem margins, they waste space and we already have hardware margins \FlushStep \stopitem
+ \startitem a proper tables of contents still make some sense \FlushStep \stopitem
+ \startitem indices can be replaced but searching in most cases \FlushStep \stopitem
+ \startitem bibliographies can become pop||ups \FlushStep \stopitem
+ \startitem readers are encouraged to choose and scale fonts so the design has limitations \FlushStep \stopitem
+ \startitem and why even bother optimizing the look and feel \FlushStep \stopitem
+ \stopitemize
+
+\stoptopic
+
+\StopSteps
+
+\StartSteps
+
+\starttopic[title=The future of \TEX]
+
+ \FlushStep
+
+ \startitemize
+ \startitem as it happens: these are all mechanisms that complicate the \TEX\ machinery and workflow \FlushStep \stopitem
+ \startitem and removing the need for them might as well remove the need for \TEX \FlushStep \stopitem
+ \startitem but still, for a long time \CONTEXT\ \MKIV\ can fulfill the needs as demands probably only become more simple \FlushStep \stopitem
+ \startitem and I can start working on a simple version: twittertexâ„¢, monospaced, one paragraph fat most 140 characters, no pages, no structure, maybe random generated content, etc. \FlushStep \stopitem
+ \startitem or maybe first make some intermediate version: markuptexâ„¢, geared at ebooks in some kind of \XML\ format \FlushStep \stopitem
+ \startitem and Luigi will make \type {livetex}, a dna based typesetting plugin that connects to our already built||in retina \FlushStep \stopitem
+ \stopitemize
+
+ however, \FlushStep
+
+ \startitemize
+ \startitem looking at the still active \TEX\ crowd we will stay around for a while \FlushStep \stopitem
+ \startitem given that we manage to advocate the virtues of typographical traditions \FlushStep \stopitem
+ \startitem and for that, we might need to reinvent ourselves (a nice theme for a conference) \FlushStep \stopitem
+ \stopitemize
+
+\stoptopic
+
+\StopSteps
+
+\stopdocument
+
diff --git a/doc/context/presentations/bachotex/2013/bachotex-2013-speed.pdf b/doc/context/presentations/bachotex/2013/bachotex-2013-speed.pdf
new file mode 100644
index 000000000..6dcd5478c
--- /dev/null
+++ b/doc/context/presentations/bachotex/2013/bachotex-2013-speed.pdf
Binary files differ
diff --git a/doc/context/presentations/bachotex/2013/bachotex-2013-speed.tex b/doc/context/presentations/bachotex/2013/bachotex-2013-speed.tex
new file mode 100644
index 000000000..df7ca2f3a
--- /dev/null
+++ b/doc/context/presentations/bachotex/2013/bachotex-2013-speed.tex
@@ -0,0 +1,115 @@
+% \enablemode[print]
+
+\usemodule[pre-stepwise,present-tiles,abr-02]
+
+\definecolor[maincolor] [darkgray]
+\definecolor[othercolor][r=.3,g=.3]
+
+% \setupinteractionscreen
+% [option=max]
+
+\setupbodyfont[15pt]
+
+\startdocument
+ [title={Speed:\\\\can we make\\it any faster},
+ subtitle={Hans Hagen\\EuroBacho\TeX\\May 2013}]
+
+\StartSteps
+
+\starttopic[title={Speed}]
+
+ \startitemize
+ \startitem speed matters in a edit-run-preview cycle although this is mostly perception \FlushStep \stopitem
+ \startitem the nicer the interface, the slower it gets, but you seldom set something up \FlushStep \stopitem
+ \startitem everything you provide gets used at some point, also in inefficient ways \FlushStep \stopitem
+ \startitem lots of local (grouped) tweaks leads to many mechanisms kicking in unseen \FlushStep \stopitem
+ \startitem wrong use of functionality can have drastic and unexpected speed penalties \FlushStep \stopitem
+ \stopitemize
+
+\stoptopic
+
+\StopSteps
+
+\StartSteps
+
+\starttopic[title={Pages per minute}]
+
+ \startitemize
+ \startitem we try to speed up baseline performance (in pages per second) \FlushStep \stopitem
+ \startitem identify and optimize critical routines, both at the \TEX\ and \LUA\ end \FlushStep \stopitem
+ \startitem of course the machine (Dell M90, SSD, 4GB, 2.33 Ghz T7600, Windows 8) and versions if \LUATEX\ (0.72+) and \CONTEXT\ matter \FlushStep \stopitem
+ \stopitemize
+
+ \blank
+
+ \starttyping
+ \dorecurse {1000} {test \page}
+ \stoptyping
+
+ \FlushStep
+
+ \blank
+
+ \starttabulate[|r|r|r|r|]
+ \HL
+ \NC \bf \# pages \NC \bf Januari \NC \bf April \NC \bf May\rlap{\quad(2013)} \NR
+ \HL
+ \NC 1 \NC 2 \NC 2 \NC 2 \NC \NR
+ \NC 10 \NC 15 \NC 17 \NC 17 \NC \NR
+ \NC 100 \NC 90 \NC 109 \NC 110 \NC \NR
+ \NC 1000 \NC 185 \NC 234 \NC 259 \NC \NR
+ \NC 10000 \NC 215 \NC 258 \NC 289 \NC \NR
+ \HL
+ \stoptabulate
+
+ \FlushStep
+
+\stoptopic
+
+\StopSteps
+
+\StartSteps
+
+\starttopic[title={What happens}]
+
+ \startitemize
+ \startitem load macros and \LUA\ code is loaded from the format \FlushStep \stopitem
+ \startitem the system gets initialized, think of fonts and languages \FlushStep \stopitem
+ \startitem additional (runtime) files are loaded \FlushStep \stopitem
+ \startitem text is typeset and eventually gets passed to the page builder \FlushStep \stopitem
+ \startitem pages are packaged, this includes reverting to global document states \FlushStep \stopitem
+ \startitem the \PDF\ representation is created \FlushStep \stopitem
+ \startitem each of these steps has its bottlenecks \FlushStep \stopitem
+ \startitem the more we don, the more \LUA\ gets involved \FlushStep \stopitem
+ \stopitemize
+
+\stoptopic
+
+\StopSteps
+
+\StartSteps
+
+\starttopic[title={What we can do}]
+
+ \startitemize
+ \startitem avoid copying boxes where possible \FlushStep \stopitem
+ \startitem only enable initializers and finalizers when functionality is used \FlushStep \stopitem
+ \startitem be clever with fonts, in usage as well as in supporting features \FlushStep \stopitem
+ \startitem use trial runs in multi||pass mechanisms \FlushStep \stopitem
+ \startitem avoid too much macro expansion (only matters for tracing) \FlushStep \stopitem
+ \startitem accept that more functionality has a price \FlushStep \stopitem
+ \stopitemize
+
+ but
+
+ \startitemize
+ \startitem don't compromise functionality \FlushStep \stopitem
+ \startitem avoid too obscure code \FlushStep \stopitem
+ \startitem forget about optimization by means of combining functionality \FlushStep \stopitem
+ \stopitemize
+
+\stoptopic
+
+\StopSteps
+
+\stopdocument
diff --git a/doc/context/presentations/bachotex/2015/bachotex-2015-ligatures.pdf b/doc/context/presentations/bachotex/2015/bachotex-2015-ligatures.pdf
new file mode 100644
index 000000000..96147dfdc
--- /dev/null
+++ b/doc/context/presentations/bachotex/2015/bachotex-2015-ligatures.pdf
Binary files differ
diff --git a/doc/context/presentations/bachotex/2015/bachotex-2015-ligatures.tex b/doc/context/presentations/bachotex/2015/bachotex-2015-ligatures.tex
new file mode 100644
index 000000000..0a59afbe9
--- /dev/null
+++ b/doc/context/presentations/bachotex/2015/bachotex-2015-ligatures.tex
@@ -0,0 +1,138 @@
+\usemodule[present-ovals]
+
+\definecolor[maincolor][darkgray]
+
+\definefont[largett][Mono sa 3]
+
+\starttext
+
+\startstandardmakeup
+ \bfc\setstrut
+ \vfil
+ \midaligned{\strut the interaction between}
+ \vfil
+ \midaligned{\strut ligatures hyphenation}
+ \vfil
+ \midaligned{\strut and kerning}
+ \vfil
+ \bf\setstrut
+ \vfil
+ \midaligned{\strut Hans Hagen}
+ \vfil
+ \midaligned{\strut Bacho\TeX\ 2015}
+ \vfil
+\stopstandardmakeup
+
+\starttitle[title={Ligature}]
+\startlines \largett\setupinterlinespace
+ {\red e}{\red f}{\red f}{\red e}
+ {\red e}{\blue ff}{\red e}
+ {\red e}{\vl}{\blue ff}{\vl}{\red e}
+\stoplines
+\stoptitle
+
+\starttitle[title={Discretionary}]
+\startlines \bigger \setupinterlinespace
+ \type{\discretionary{pre}{post}{replace}}
+ \blank
+ \type{explicit: \-}
+ \blank
+ \type{automatic: -}
+ \blank
+ \type{regular: patterns}
+ \blank
+ \type{first: internal}
+ \type{second: internal}
+\stoplines
+\stoptitle
+
+\starttitle[title={Hyphenated ligature}]
+\startlines \largett\setupinterlinespace
+ {\red e}{\red f}{\green -}{\red f}{\red e}
+ {\red e}[{\red f}{\green -}][{\red f}][{\blue ff}]{\red e}
+ {\red e}[{\vl}{\red f}{\vl}{\green -}][{\red f}{\vl}][{\vl}{\blue ff}{\vl}]{\red e}
+\stoplines
+\stoptitle
+
+\starttitle[title={Substitution}]
+\startlines \largett\setupinterlinespace
+{\red e}{\red f}{\red f}{\red e}
+{\red e}{\magenta f}{\cyan f}{\red e}
+{\red e}{\vl}{\magenta f}{\vl}{\cyan f}{\vl}{\red e}
+\stoplines
+\stoptitle
+\stoptitle
+
+\starttitle[title={Hyphenation substitution}]
+\startlines \largett\setupinterlinespace
+{\red e}{\red f}{\green -}{\red f}{\red e}
+{\red e}[{\red f}{\green -}][{\red f}][{\magenta f}{\cyan f}]{\red e}
+{\red e}[{\vl}{\red f}{\vl}{\green -}][{\red f}{\vl}][{\vl}{\magenta f}{\vl}{\cyan f}{\vl}]{\red e}
+\stoplines
+\stoptitle
+
+\starttitle[title={Hyphenation substitution (2)}]
+\startlines \largett\setupinterlinespace
+{\red e}{\red f}{\green -}{\red f}{\red e}
+{\red e}[{\red f}{\green -}][{\green -}{\red f}][{\magenta f}{\cyan f}]{\red e}
+{\red e}[{\vl}{\red f}{\vl}{\green -}][{\green -}{\vl}{\red f}{\vl}][{\vl}{\magenta f}{\vl}{\cyan f}{\vl}]{\red e}
+\stoplines
+\stoptitle
+
+\starttitle[title={Hyphenation substitution (3)}]
+\startlines \largett\setupinterlinespace
+{\red e}{\red f}{\green -}{\red f}{\red e}
+{\red e}[{\yellow f}{\green -}][{\green -}{\red f}][{\magenta f}{\cyan f}]{\red e}
+{\red e}[{\vl}{\yellow f}{\vl}{\green -}][{\green -}{\vl}{\red f}{\vl}][{\vl}{\magenta f}{\vl}{\cyan f}{\vl}]{\red e}
+\stoplines
+\stoptitle
+
+\starttitle[title={Hyphenation substitution (4)}]
+\startlines \largett\setupinterlinespace
+\dontleavehmode\hbox{{\red e}{\red f}{\green -}{\red f}{\red i}{\green -}{\red c}{\red i}{\red e}{\red n}{\red t}}
+\dontleavehmode\hbox{{\red e}[{\red f}{\green -}][{\blue fi}][{\blue ffi}{\green -}]{\red c}}
+\dontleavehmode\hbox{{\red e}[{\vl}{\red f}{\vl}{\green -}][{\blue fi}{\vl}][{\vl}{\blue ffi}{\vl}{\green -}{\vl}]{\red c}}
+\stoplines
+\stoptitle
+
+\starttitle[title={Languages}]
+\startlines \largett\setupinterlinespace
+{\red f}{\red i}{\red j}{\red n}
+{\blue fi}{\red j}{\red n}
+{\red f}{\blue ij}{\red n}
+\stoplines
+\stoptitle
+
+\starttitle[title={Relevance of typesetting}]
+\startparagraph glyphs (shapes) are a way to communicate \stopparagraph
+\startparagraph writing and reading are complementary \stopparagraph
+\startparagraph both were instrumental to progress \stopparagraph
+\startparagraph and both are under pressure \stopparagraph
+\startparagraph we need to distinguish between art and useability \stopparagraph
+\startparagraph typography is a tool, not an aim \stopparagraph
+\stoptitle
+
+\starttitle[title={Relevance of ligatures}]
+\startparagraph save space (less medium needed) \stopparagraph
+\startparagraph kind of arbitrary applied / provided \stopparagraph
+\startparagraph less relevant apart from look \stopparagraph
+\startparagraph alien for most readers \stopparagraph
+\startparagraph not always better readable \stopparagraph
+\startparagraph better spend energy elsewhere \stopparagraph
+\stoptitle
+
+\page
+
+\usemodule[punk] \usetypescript[punk]
+
+\startstandardmakeup
+
+ \definedfont[demo@punk at 40pt] \setupinterlinespace \EnableRandomPunk
+
+ Should we really care about such features in a time when kids no
+ longer need to write and don't seem to care at all about how things
+ look.
+
+\stopstandardmakeup
+
+\stoptext
diff --git a/doc/context/presentations/bachotex/2016/bachotex-2016-opentype.pdf b/doc/context/presentations/bachotex/2016/bachotex-2016-opentype.pdf
new file mode 100644
index 000000000..cacdc4c56
--- /dev/null
+++ b/doc/context/presentations/bachotex/2016/bachotex-2016-opentype.pdf
Binary files differ
diff --git a/doc/context/presentations/bachotex/2016/bachotex-2016-opentype.tex b/doc/context/presentations/bachotex/2016/bachotex-2016-opentype.tex
new file mode 100644
index 000000000..aa9cb60fd
--- /dev/null
+++ b/doc/context/presentations/bachotex/2016/bachotex-2016-opentype.tex
@@ -0,0 +1,631 @@
+\usemodule[present-banner]
+
+\startdocument
+ [title={OPENTYPE FONTS},
+ subtitle={the generic loader},
+ location={Hans Hagen \endash\ bacho\TeX\ 2016}]
+
+\starttitle[title={how engines sees a font}]
+
+\startsubject[title={\TeX}]
+
+ \highlight [nb] {fields:} width, height, depth, italic correction, kern table,
+ ligature tree, vf commands, next size pointer, extensible specification
+ \highlight [nb] {and} a set of text and math parameters
+
+\stopsubject
+
+\startsubject[title={\pdfTeX}]
+
+ \highlight [nb] {extra fields:} left protruding, right protruding, expansion
+ factor \highlight [nb] {and} parameters to control these
+
+\stopsubject
+
+\startsubject[title={\LuaTeX}]
+
+ \highlight [nb] {extra fields:} math top accent, math bot accent, tounicode,
+ adapted extensible specification, vertical variants, horizontal variants,
+ name, index, used status, math kerns \highlight [nb] {and} extra parameters
+ \highlight [nb] {and} math constants \highlight [nb] {and} no 8~bit
+ limitations
+
+\stopsubject
+
+\startsubject[title={\XeTeX}]
+
+ probably something similar
+
+\stopsubject
+
+\stoptitle
+
+\starttitle[title={font handling}]
+
+\startsubject[title={loading opentype font data}]
+
+ \startitemize
+ \startitem
+ till recently we used the built|-|in fontforge loader library
+ \stopitem
+ \startitem
+ but now we use a recently written \Lua\ loader
+ \stopitem
+ \startitem
+ but use a similar feature handler
+ \stopitem
+ \startitem
+ in \ConTeXt\ one can fall back to the old loader/handler
+ \stopitem
+ \stopitemize
+
+\stopsubject
+
+\startsubject[title={applying (opentype) features}]
+
+ \highlight [nb] {generic modes:} base, node \crlf
+ \highlight [nb] {\ConTeXt\ modes:} base, node, auto, dynamic
+
+\stopsubject
+
+\startsubject[title={locating (opentype) fonts}]
+
+ \startitemize
+ \startitem
+ \highlight [nb] {file}: kpse in generic, resolvers in \ConTeXt
+ \stopitem
+ \startitem
+ \highlight [nb] {name}: simple in generic, extended in \ConTeXt,
+ different in \LaTeX
+ \stopitem
+ \startitem
+ \highlight [nb] {spec}: not in generic (uses font database)
+ \stopitem
+ \startitem
+ \highlight [nb] {virtual}: not in generic
+ \stopitem
+ \startitem
+ \highlight [nb] {lua}: delegated to low level interfaces
+ \stopitem
+ \stopitemize
+
+\stopsubject
+
+\stoptitle
+
+\starttitle[title={preparations}]
+
+\startsubject[title={after loading}]
+
+ \startitemize
+ \startitem
+ initialize format driven substitution
+ \stopitem
+ \startitem
+ initialize format driven positioning
+ \stopitem
+ \startitem
+ enable analysis of states/properties
+ \stopitem
+ \startitem
+ initialize additional data for engine (protrusion, expansion, extend,
+ slant)
+ \stopitem
+ \startitem
+ apply user or \TeX\ format extensions
+ \stopitem
+ \startitem
+ apply manipulations before and after loading
+ \stopitem
+ \startitem
+ (build virtual fonts)
+ \stopitem
+ \startitem
+ enable special script handlers (fuzzy side of opentype)
+ \stopitem
+ \startitem
+ pass metrics and some metadata to \TeX
+ \stopitem
+ \stopitemize
+
+\stopsubject
+
+\startsubject[title={benefit}]
+
+ efficient access to all font properties for additional processing beforehand
+ or afterwards
+
+\stopsubject
+
+\stoptitle
+
+\starttitle[title={processing}]
+
+\startsubject[title={steps}]
+
+ \startitemize
+ \startitem
+ (comes after hyphenation)
+ \stopitem
+ \startitem
+ first identifies to be handled modes
+ \stopitem
+ \startitem
+ normalization (in \ConTeXt) node list
+ \stopitem
+ \startitem
+ delegate handling to \TeX\ or \Lua
+ \stopitem
+ \startitem
+ when using \Lua\ features are applied in prescribed order:
+ substitution, positioning, etc.
+ \stopitem
+ \startitem
+ as last step positioning is finalized (left/right kern injection,
+ space kerning, anchoring, cursives)
+ \stopitem
+ \stopitemize
+
+\stopsubject
+
+\startsubject[title={remarks}]
+
+ \startitemize
+ \startitem
+ efficient contextual analysis is|-|non trivial
+ \stopitem
+ \startitem
+ discretionaries need special care: ...pre ...replace... post...
+ \stopitem
+ \startitem
+ there is no real limit in extensions
+ \stopitem
+ \startitem
+ it's not too hard to inject experimental code
+ \stopitem
+ \startitem
+ so users can add their own features
+ \stopitem
+ \startitem
+ some day there may be alternative handlers
+ \stopitem
+ \stopitemize
+
+\stopsubject
+
+\stoptitle
+
+\starttitle[title={math}]
+
+\startsubject[title={format}]
+
+ the opentype math specification stays close to \TeX, but has extensions and
+ more control (see articles & presentations by Ulrik Vieth)
+
+\stopsubject
+
+\startsubject[title={loading}]
+
+ \startitemize
+ \startitem
+ maps more or less directly onto internal structures
+ \stopitem
+ \startitem
+ in \ConTeXt\ we use(d) virtual unicode fonts awaiting lm/gyre
+ \stopitem
+ \stopitemize
+
+\stopsubject
+
+\startsubject[title={processing}]
+
+ character mapping and special element handling remains macro package
+ dependent
+
+\stopsubject
+
+\startsubject[title={construction}]
+
+ \startitemize
+ \startitem
+ we split code paths when needed: traditional or opentype (no longer
+ heuristics)
+ \stopitem
+ \startitem
+ the \luaTeX\ engine provides much control over spacing and a bit more
+ over rendering
+ \stopitem
+ \stopitemize
+
+\stopsubject
+
+\stoptitle
+
+\starttitle[title={the basics of loading}]
+
+\startsubject[title={the format}]
+
+ \startitemize
+ \startitem
+ it evolved out of competing formats by apple, microsoft and adobe
+ \stopitem
+ \startitem
+ two flavours can normally be recognized by suffix: \type {ttf} and
+ \type {otf}
+ \stopitem
+ \startitem
+ main differences are bounding box info, global kern tables, cubic vs
+ quadratic curves
+ \stopitem
+ \startitem
+ multiple sub fonts inside \type {ttc} files (font collections)
+ \stopitem
+ \startitem
+ it's considered a standard (so it should be possible to implement)
+ \stopitem
+ \stopitemize
+
+\stopsubject
+
+\startsubject[title={the specification}]
+
+ \startitemize
+ \startitem
+ the only useable reference is on the microsoft website
+ \stopitem
+ \startitem
+ (the iso mpeg standard is more or less a bunch of ugly rendered
+ webpages)
+ \stopitem
+ \startitem
+ trial and error helps understanding/identifying fuzzy aspects
+ \stopitem
+ \stopitemize
+
+\stopsubject
+
+\stoptitle
+
+\starttitle[title={the available loaders}]
+
+\startsubject[title={the fontforge loader}]
+
+ \startitemize
+ \startitem
+ offers the same view on the font as the editor (good for debugging)
+ \stopitem
+ \startitem
+ in order to process a font some optimal data structures are created
+ after loading
+ \stopitem
+ \startitem
+ we cache fonts because loading and creating these structures takes
+ time and it saves memory too
+ \stopitem
+ \startitem
+ fontforge has a lot of heuristics (catching issues collected over
+ time) but these are hard to get rid of when they're wrong
+ \stopitem
+ \stopitemize
+
+\stopsubject
+
+\startsubject[title={the lua loader}]
+
+ \startitemize
+ \startitem
+ this started out as experiment for loading outlines in \MetaFun
+ \stopitem
+ \startitem
+ it avoids the conversion to optimal structures for handling
+ \stopitem
+ \startitem
+ we can hook in better heuristics (data is more raw)
+ \stopitem
+ \startitem
+ it fits in the wish for maximum flexibility (next stage \ConTeXt)
+ \stopitem
+ \startitem
+ it's rather trivial to extend and adapt without hard coding
+ \stopitem
+ \startitem
+ the performance can be a bit less on initial loading (pre|-|cache)
+ but there is a bit of room to improve
+ \stopitem
+ \startitem
+ it's much more efficient in identifying fonts (not a real issue in
+ practice)
+ \stopitem
+ \startitem
+ in practice most fonts behave ok (no recovery needed) but there are
+ some sloppy fonts around
+ \stopitem
+ \stopitemize
+
+\stopsubject
+
+\stoptitle
+
+\starttitle[title={what do we load}]
+
+\startsubject[title={tables}]
+
+ \startitemize
+ \startitem
+ opentype is mostly tables with lots of subtables
+ \stopitem
+ \startitem
+ there are required, truetype outline, postscript outline, (svg and
+ bitmap), typography & additional ones
+ \stopitem
+ \startitem
+ the typographic tables specify transformations to apply (gdef, gsub,
+ gpos)
+ \stopitem
+ \stopitemize
+
+\stopsubject
+
+\startsubject[title={calculations}]
+
+ \startitemize
+ \startitem
+ as we need ht/dp we need to calculate the boundingbox of postscript
+ outlines (cff parser)
+ \stopitem
+ \startitem
+ internally we use unicodes instead of indices
+ \stopitem
+ \startitem
+ we need to identify/filter the right unicode information
+ \stopitem
+ \startitem
+ we want to do more so we need to carry around more info (tounicode etc)
+ \stopitem
+ \stopitemize
+
+\stopsubject
+
+\startsubject[title={pitfalls}]
+
+ \startitemize
+ \startitem
+ there is no real consistent approach to use of basic features:
+ single, one to multiple, multiple to one & many to many replacements,
+ and look ahead and/or back based solutions
+ \stopitem
+ \startitem
+ in principle consistent families like lm/gyre could share common data
+ and logic but otherwise there is much diversity around
+ \stopitem
+ \stopitemize
+
+\stopsubject
+
+\stoptitle
+
+\starttitle[title={a few details}]
+
+\startsubject[title={loading}]
+
+ \startitemize
+ \startitem
+ load the file (subfont if needed) in a \Lua\ friendly format
+ \stopitem
+ \startitem
+ prepare for later processing and/or access
+ \stopitem
+ \startitem
+ optimize data structures
+ \stopitem
+ \startitem
+ cache the instance (and compile to bytecode)
+ \stopitem
+ \startitem
+ share loaded font data where possible
+ \stopitem
+ \startitem
+ initialize & mark enabled features
+ \stopitem
+ \startitem
+ pass metrics, parameters and some properties to \TeX
+ \stopitem
+ \stopitemize
+
+\stopsubject
+
+\startsubject[title={processing}]
+
+ \startitemize
+ \startitem
+ we need to run over enabled features (also virtual non|-|opentype
+ ones)
+ \stopitem
+ \startitem
+ we use lookup hashes to determine if action is needed
+ \stopitem
+ \startitem
+ if needed we access detailed data and apply it
+ \stopitem
+ \startitem
+ there can be a few but also many hundreds of loops over the node list
+ \stopitem
+ \startitem
+ contextual matching can make us end up with a real lot of access and
+ analysis
+ \stopitem
+ \startitem
+ descending into discretionaries adds significant overhead (so it's
+ optimized)
+ \stopitem
+ \stopitemize
+
+\stopsubject
+
+\stoptitle
+
+\starttitle[title={traditional fonts}]
+
+\startsubject[title={tfm}]
+
+ \startitemize
+ \startitem
+ there is a built|-|in loader for \type {tfm}, \type {ofm}, \type {vf}
+ and \type {ovf} files
+ \stopitem
+ \startitem
+ encoding and filename mapping is as usual (\type {enc} and \type
+ {map} files)
+ \stopitem
+ \startitem
+ (in the early days \ConTeXt\ filtered info from those \type {enc}
+ files too)
+ \stopitem
+ \stopitemize
+
+\stopsubject
+
+\startsubject[title={type one}]
+
+ \startitemize
+ \startitem
+ type one fonts have their own loader that gets information from \type
+ {afm} files
+ \stopitem
+ \startitem
+ the \type {pfb} file is consulted to get the index (to unicode)
+ mapping
+ \stopitem
+ \startitem
+ the \type {afm} loader was already written in \Lua\ but we now can also use
+ \Lua\ for the \type {pfb} file
+ \stopitem
+ \stopitemize
+
+\stopsubject
+
+\stoptitle
+
+\starttitle[title={remarks}]
+
+ \startitemize
+ \startitem
+ features like additional character kerning don't belong in the font
+ handler as they are (to some extent) macro package dependant
+ \stopitem
+ \startitem
+ the same is true for italic correction (often input related and
+ therefore a macro package specific issue)
+ \stopitem
+ \startitem
+ setting up protrusion and expansion is again somewhat macro package
+ dependent
+ \stopitem
+ \startitem
+ \ConTeXt\ has many extra font related mechanisms and features
+ (described in a more technical manual)
+ \stopitem
+ \blank
+ \startitem
+ this has to work well with the core subsystems: languages especially
+ hyphenators, specific script demands, typesetting (all kind), builders
+ (paragraph, page), etc.
+ \stopitem
+ \startitem
+ a complication is that we do this more and more in \Lua, but still need to
+ support the built|-|in mechanismsm too
+ \stopitem
+ \blank
+ \startitem
+ the interfacing to macro packages differs (for plain \TeX\ we use
+ code that ships with \ConTeXt)
+ \stopitem
+ \startitem
+ for bugs and issues of with fonts in \ConTeXt\ you use its mailing list (or
+ mail me)
+ \stopitem
+ \startitem
+ the \LaTeX\ interface is handled by Philipp Gesang
+ \stopitemize
+
+\stoptitle
+
+\starttitle[title={future}]
+
+ \startitemize
+ \startitem
+ we'll improve handling of border cases (within the constraints of
+ performance)
+ \stopitem
+ \startitem
+ we might provide a few more hooks for plug|-|ins
+ \stopitem
+ \startitem
+ the type one \type {pfb} reader will be extended to provide outlines
+ (not complex, needed for \MetaFun)
+ \stopitem
+ \startitem
+ we keep playing with extra new features and virtual fonts
+ \stopitem
+ \blank
+ \startitem
+ maybe some more code can be made generic (fwiw)
+ \stopitem
+ \stopitemize
+
+\stoptitle
+
+\starttitle[title={credits}]
+
+ \startitemize
+ \startitem
+ Kai Eigner and Ivo Geradts for (experimental) patches in the handlers
+ for rare, complex & creepy fonts
+ \stopitem
+ \startitem
+ Philipp Gesang for binding the generic code to \LaTeX\ font mechanims.
+ \stopitem
+ \startitem
+ Idris Samawi Hamid for testing and providing the very complex and
+ demanding Husayni font
+ \stopitem
+ \startitem
+ Hartmut Henkel for the initial cleaning up of expansion and protrusion
+ \stopitem
+ \startitem
+ Taco Hoekwater for the original loader and discussions and a lot more
+ \stopitem
+ \startitem
+ Boguslaw Jackowski and friends for the fonts and patience with us
+ \stopitem
+ \startitem
+ Dohyun Kim for testing and suggestions on CJK font support
+ \stopitem
+ \startitem
+ Mojca Miklavec for distributions, managing us, and basically everything
+ \stopitem
+ \startitem
+ Luigi Scarso for patiently testing and managing my patches and testing
+ very beta code
+ \stopitem
+ \startitem
+ Thomas Schmitz for using betas in deadline critital book production
+ and making sure we patch fast
+ \stopitem
+ \startitem
+ Ton Otten for permitting me to work on all this \TeX\ related stuff for
+ ever and ever (and using to the extreme)
+ \stopitem
+ \startitem
+ Wolfgang Schuster for knowing and testing every detail of \ConTeXt\
+ and writing selectfont (for system fonts)
+ \stopitem
+ \blank
+ \startitem
+ and all (\ConTeXt) users who patiently accept betas and testing
+ \stopitem
+ \stopitemize
+
+\stoptitle
+
+\stopdocument
diff --git a/doc/context/presentations/bachotex/2016/bachotex-2016-toolbox.pdf b/doc/context/presentations/bachotex/2016/bachotex-2016-toolbox.pdf
new file mode 100644
index 000000000..1d93243f0
--- /dev/null
+++ b/doc/context/presentations/bachotex/2016/bachotex-2016-toolbox.pdf
Binary files differ
diff --git a/doc/context/presentations/bachotex/2016/bachotex-2016-toolbox.tex b/doc/context/presentations/bachotex/2016/bachotex-2016-toolbox.tex
new file mode 100644
index 000000000..7d958d907
--- /dev/null
+++ b/doc/context/presentations/bachotex/2016/bachotex-2016-toolbox.tex
@@ -0,0 +1,212 @@
+\usemodule[present-phone]
+
+\startdocument
+
+\startstandardmakeup[bottom=,top=]
+
+ \raggedcenter
+
+ \vfil\vfil
+ \dontleavehmode\scale[height=2ex]{\ssbf Grandpa's toolbox}
+ \vfil
+ \dontleavehmode\scale[height=1ex]{\ssbf (making closets)}
+ \vfil
+ \dontleavehmode\scale[height=2ex]{\ssbf Dad's hobby}
+ \vfil
+ \dontleavehmode\scale[height=1ex]{\ssbf (cleaning closets)}
+ \vfil
+ \dontleavehmode\scale[height=2ex]{\ssbf Uncle's friends}
+ \vfil
+ \dontleavehmode\scale[height=1ex]{\ssbf (talking closets)}
+ \vfil
+ \vfil
+ \dontleavehmode\scale[width=0.45\textwidth]{\ssbf bacho\TeX\ 2016}
+ \vfil\vfil\vfil\vfil
+
+\stopstandardmakeup
+
+% walk in front
+% use my personal phone
+
+\startsection[title={closets}]
+ \startitemize
+ \startitem there's closets and closets \stopitem
+ \startitem take the ones you put stuff in ... e.g.\ that you buy at ikea \stopitem
+ \startitem you have to assemble them so you get out your toolbox \stopitem
+ \startitem this kid sits next to you wondering what that tool is \stopitem
+ \startitem what is natural for you to use might not be so for them \stopitem
+ \startitem but grandpa likes to carry over his knowledge and experiences \stopitem
+ \stopitemize
+\stopsection
+
+% \startitem look at their toolbox in their garage or shed wondering \unknown \stopitem
+% \startitem \unknown\ what tools their kids will keep (or even understand) \stopitem
+
+\startsection[title={interest}]
+ \startitemize
+ \startitem but \unknown\ kids get their information from the internet, not from you \stopitem
+ \startitem (they watch discovery channel or national geographic and know a lot) \stopitem
+ \startitem or they look at vloggers (no bloggers) trying to learn something \stopitem
+ \startitem and they keep moving on \unknown\ and on \stopitem
+ \startitem do gp's live long tools really make sense to them? \stopitem
+ \stopitemize
+\stopsection
+
+\startsection[title={grandpas}]
+ \startitemize
+ \startitem grandpa also has a vlogger, he is called knuth \stopitem
+ \startitem gp is as locked into tex as the kids are into apps \stopitem
+ \startitem he's a do-it-him-self kind of person \stopitem
+ \startitem will his grandkids love watching him crafting \stopitem
+ \startitem and hear his stories about meetings and journals \stopitem
+ \stopitemize
+\stopsection
+
+\startsection[title={writing}]
+ \startitemize
+ \startitem will future generations still putting things on paper \stopitem
+ \startitem just watch how handwriting evolves \stopitem
+ \startitem compare todays scribbles to your grandmothers letters \stopitem
+ \startitem the possibility of reuse doesn't even ring a bell \stopitem
+ \startitem after all, why should they keep that text \stopitem
+ \startitem eventually they will de-facebook, un-twitter and no-app \stopitem
+ \startitem and who cares what get lost (most eventually gets lost anyway) \stopitem
+ \stopitemize
+\stopsection
+
+\startsection[title={quality}]
+ \startitemize
+ \startitem say you help someone out with some graphic work \stopitem
+ \startitem you send them an example \stopitem
+ \startitem and then get remarks based on previewing on a phone \stopitem
+ \startitem possibly with a broken screen \stopitem
+ \startitem of a fuzzy backlight \stopitem
+ \startitem or some blue|-|filtering going on \stopitem
+ \startitem no color profiled monitors needed \stopitem
+ \stopitemize
+\stopsection
+
+\startsection[title={low impact}]
+ \startitemize
+ \startitem going to a meeting with you is no problem \stopitem
+ \startitem they are even willing to attend workshops \stopitem
+ \startitem the impressions they get are great, but what was it about? \stopitem
+ \startitem oh, that backslash (slanted thingie), they might recognize that (and never need it) \stopitem
+ \startitem fonts, languages, clever solutions, beautiful macros \unknown\ what impresses us
+ leaves no dent \stopitem
+ % \startitem it all sounds polish to them \stopitem
+ \startitem and let's face it: topics get weirder (much has been told by now) \stopitem
+ \stopitemize
+\stopsection
+
+\startsection[title={devices}]
+ \startitemize
+ \startitem phones, phablets and tables .. retinal project some day \stopitem
+ \startitem epub devices are accepted, probably for as long as phone battery life is bad \stopitem
+ \startitem quality rendering is irrelevant \stopitem
+ \startitem larger laptops are still popular but not for long \stopitem
+ \startitem so in the end ... do they need typesetting at all \stopitem
+ \startitem a one|-|time enforced user doesn't count \stopitem
+ \startitem does \quote {installed on 3 billion devices} really impress \stopitem
+ \stopitemize
+\stopsection
+
+% \startsection[title={moving on}]
+% \startitemize
+% \startitem not real when no ads \stopitem
+% \startitem why should one pay \stopitem
+% \startitem how many subscriptions do you need \stopitem
+% \startitem no tv, no books, no newspapers \stopitem
+% \stopitemize
+% \stopsection
+
+% \startsection[title={throw away}]
+% \startitemize
+% \startitem we store and trust the cloud \stopitem
+% \startitem delete when space is needed \stopitem
+% \startitem loose or crash, and just forget about it \stopitem
+% \startitem one moves from phone to phone \stopitem
+% \startitem device full, buy new, wipe old and sell or give away \stopitem
+% \stopitemize
+% \stopsection
+
+\startsection[title={future}]
+ \startitemize
+ \startitem accept your fate: what is current now, is obsolete tomorrow (take cars) \stopitem
+ \startitem how to determine what is stable (quality) anyway (how much stayed) \stopitem
+ \startitem how to locate the good in the pool of mediocre \stopitem
+ \startitem how to be able to use your live long tools at work \stopitem
+ \startitem just in a few generations: scratches, chisseling, scribes, monks, gutenberg, tex, ... \stopitem
+ \startitem the longer we live, the more old fashioned we'll look: we live on islands of technology \stopitem
+ \stopitemize
+\stopsection
+
+\startsection[title={history cycles}]
+ \startitemize
+ \startitem there id this historic cycle (reinvent the wheel) \stopitem
+ \startitem for instance we currently see a revival of vinyl \stopitem
+ \startitem is this a side effect of crappy mp3 and/or poor digital equipment? \stopitem
+ \startitem does it mean that eventually paper books will florish again too? \stopitem
+ \startitem and that old fashioned rendering and printing will return? \stopitem
+ \stopitemize
+\stopsection
+
+\startsection[title={consider the following}]
+ \startitemize
+ \startitem will superintelligence really show up soon and make all our efforts futile \stopitem
+ \startitem maybe moderate artificial intelligence is already a killer \stopitem
+ \startitem scifi books seldom mention reading books \stopitem
+ \startitem let alone high quality typeset books \stopitem
+ \startitem we have an experimental hive|-|mind outside the canteen here that we're learning to typeset a paragraph\stopitem
+ \stopitemize
+\stopsection
+
+\startsection[title={think of this 1}]
+ \startitemize
+ \startitem there is something called context \stopitem
+ \startitem say that we want to make it popular \stopitem
+ \startitem we make it into an phone app \stopitem
+ \startitem that sits in its own namespace \stopitem
+ \startitem but wants access to all your document \stopitem
+ \startitem and your adressbook, so that we can tell your friends \stopitem
+ \startitem it is free for personal use \stopitem
+ \startitem but mixed with advertisements \stopitem
+ \startitem and it predicts your favourite look and feel \stopitem
+ \startitem of course it collects your data (for your benefit) \stopitem
+ \startitem it organizes your content the way it thinks best \stopitem
+ \startitem and offers you only all kind of benefits \stopitem
+ \startitem and it keep buzzing and popping up \stopitem
+ \startitem this is what kids find normal \stopitem
+ \startitem and discard at a daily basis \stopitem
+ \stopitemize
+\stopsection
+
+\startsection[title={think of this 2}]
+ \startitemize
+ \startitem or we can take the business view (for the old folks) \stopitem
+ \startitem let's call it context professional or enterprise \stopitem
+ \startitem subscription (only affordable for large companies, no simple plans) \stopitem
+ \startitem support is charged per cpu / core \stopitem
+ \startitem forget about the small, go 5 digit numbers \stopitem
+ \startitem configurations happen via the cloud (only) \stopitem
+ \startitem we use open source but don't tell that \stopitem
+ \startitem we make sure we use a many page license, we share because we ... \stopitem
+ \startitem we then need investors ... going big is a \quote {must} \stopitem
+ \startitem so eventually we sell ourselves \stopitem
+ \startitem naturally we get sold over and over again \stopitem
+ \startitem and then quit and start new \stopitem
+ \startitem and expect sympathy from users in the process \stopitem
+ \stopitemize
+\stopsection
+
+\startsection[title={so \unknown\ grandpa}]
+ \startitemize
+ \startitem do we really want that kind of adapting \stopitem
+ \startitem do we really expect next generations to take over \stopitem
+ \startitem maybe we should keep tex in our closet \stopitem
+ \startitem you don't want it to become a dirty (highway) closet, does you? \stopitem
+ \startitem think different, think like kids (jc example) \stopitem
+ \stopitemize
+\stopsection
+
+\stopdocument
diff --git a/doc/context/presentations/context/2011/context-2011-ebook-export.pdf b/doc/context/presentations/context/2011/context-2011-ebook-export.pdf
new file mode 100644
index 000000000..327a25bd3
--- /dev/null
+++ b/doc/context/presentations/context/2011/context-2011-ebook-export.pdf
Binary files differ
diff --git a/doc/context/presentations/context/2011/context-2011-ebook-export.tex b/doc/context/presentations/context/2011/context-2011-ebook-export.tex
new file mode 100644
index 000000000..dfa050ae4
--- /dev/null
+++ b/doc/context/presentations/context/2011/context-2011-ebook-export.tex
@@ -0,0 +1,94 @@
+% \enablemode[print]
+
+\usemodule[present-overlap,abr-02]
+
+\startdocument
+ [title=e-books,
+ subtitle=old wine in new bottles,
+ location=\ConTeXt\ Meeting 2011]
+
+\Topic{Some observations}
+
+\StartSteps
+\startitemize
+\item Most ebooks are just books (or try to be). \FlushStep
+\item Only a small portion has (or needs) design. \FlushStep
+\item To what extent appreciation matters is hard to measure. \FlushStep
+\item Vendor locking is spoiling much. \FlushStep
+\item 10 years of low res screens have made readers tolerant. \FlushStep
+\item Publishers already lost the edge. \FlushStep
+\item Eventually authors will publish themselves. \FlushStep
+\stopitemize
+\StopSteps
+
+% Does quality matter (just look around you)
+% Does livetime matter (much tolerance for potentially crappy old stuff anyway)
+% Does timebound look and feel matter (it helps to put into perspective)
+
+\Topic{What is an ebook}
+
+\StartSteps
+\startitemize
+\item Nicest is it being a \PDF\ (some design). \FlushStep
+\item Easiest is it being an \XHTML\ file (with some \CSS). \FlushStep
+\item Pointless it is being a frozen app. \FlushStep
+\item We can already provide a \PDF\ for paper and screen for quite a while. \FlushStep
+\item We can consider providing an \XHTML\ alongside as reflowable variant. \FlushStep
+\item Who knows what we can provide in the future. \FlushStep
+\stopitemize
+\StopSteps
+
+\Topic{The starting point}
+
+\StartSteps
+\startitemize
+\item No output is better than the input. \FlushStep
+\item Fixing bad coding is a waste of energy. \FlushStep
+\item Not that many publishers want to invest in coding. \FlushStep
+\item Not that many tools enforce structure. \FlushStep
+\item The real good devices still have to come but we can be ready for it. \FlushStep
+\item The intelligence has to be in the macro package, not in the engine. \FlushStep
+\stopitemize
+\StopSteps
+
+\Topic{Implementation}
+
+\StartSteps
+\startitemize
+\item Some users have to produce tagged pdf (to satisfy validators). \FlushStep
+\item It helps that many commands in \CONTEXT\ are built upon a relatively small generic set. \FlushStep
+\item So, given some basic structure, supporting tags is easy. \FlushStep
+\item It integrates in the core. \FlushStep
+\item And as a side effect an export was equally easy to support. \FlushStep
+\item The overhead is not that large (upto 10\%). \FlushStep
+\item Instead of going for freaky solutions (no need for challenges) we assume proper structure. \FlushStep
+\item It's not to hard to extend the current features. \FlushStep
+\stopitemize
+\StopSteps
+
+\Topic{Consequence for users}
+
+\StartSteps
+\startitemize
+\item Use \type{\startchapter} cum suis, but that was already the \MKIV\ fashion. \FlushStep
+\item Preferable use \type{\startitem} instead of \type {\item}. \FlushStep
+\item Playing safe means tagging paragraphs with \type {\startparagraph}. \FlushStep
+\item Use style environments instead of font switches. \FlushStep
+\item Just use whatever structural markup that \CONTEXT\ already provides for ages. \FlushStep
+\stopitemize
+\StopSteps
+
+\Topic{An example}
+
+\StartSteps
+\startitemize
+\item A normal input with \TEX\ commands (cld-mkiv.tex) \FlushStep
+\item Regular (tagged) output (cld-mkiv.pdf) \FlushStep
+\item Structured output (cld-mkiv.xml) \FlushStep
+\item Reflowable output (cld-mkiv-export.xhtml) \FlushStep
+\item Dynamic styling (cld-mkiv-export.css) \FlushStep
+\item Basic template (cld-mkiv-export.template) \FlushStep
+\stopitemize
+\StopSteps
+
+\stopdocument
diff --git a/doc/context/presentations/context/2011/context-2011-mathml-update.pdf b/doc/context/presentations/context/2011/context-2011-mathml-update.pdf
new file mode 100644
index 000000000..b6f00d904
--- /dev/null
+++ b/doc/context/presentations/context/2011/context-2011-mathml-update.pdf
Binary files differ
diff --git a/doc/context/presentations/context/2011/context-2011-mathml-update.tex b/doc/context/presentations/context/2011/context-2011-mathml-update.tex
new file mode 100644
index 000000000..fb18ef36a
--- /dev/null
+++ b/doc/context/presentations/context/2011/context-2011-mathml-update.tex
@@ -0,0 +1,67 @@
+\usemodule[present-overlap,abr-02]
+
+\startdocument
+ [title=MathML,
+ subtitle=or math in general,
+ location=\ConTeXt\ Meeting 2011]
+
+\Topic{Some developments}
+
+\StartSteps
+\startitemize
+\startitem \MATHML\ started as an interchange format on the one hand (content) \stopitem \FlushStep
+\startitem but also provides a rendering variant (presentation) \stopitem \FlushStep
+\startitem and in the meantime has been merged with what is called open math \stopitem \FlushStep
+\startitem we now have \MATHML\ 3 and \CONTEXT\ has been updated a while ago to support this \stopitem \FlushStep
+\stopitemize
+\StopSteps
+
+\Topic{Some history}
+
+\StartSteps
+\startitemize
+\startitem we supported \MATHML\ right from the start \stopitem \FlushStep
+\startitem in \MKII\ quite some data juggling takes place because we need to do some analysis \stopitem \FlushStep
+\startitem the \MKII\ code has been upgraded a few times but is now frozen \stopitem \FlushStep
+\startitem in \MKIV\ we have rewritten all code using the first version of the new \XML\ parser \stopitem \FlushStep
+\startitem it currently is a mixture of \LUA, \TEX\ and \METAPOST \stopitem \FlushStep
+\startitem there will probably be a partial rewrite some day in the future \stopitem \FlushStep
+\stopitemize
+\StopSteps
+
+\Topic{\UNICODE}
+
+\StartSteps
+\startitemize
+\startitem in the meantime \UNICODE\ has been extended with math \stopitem \FlushStep
+\startitem in the past in \MATHML\ special characters and symbols were accessed by entity \stopitem \FlushStep
+\startitem but now we can exclusively use \UNICODE\ characters and forget about the entities \stopitem \FlushStep
+\startitem no matter what, we do need to do some analysis on the content of (presentation) elements \stopitem \FlushStep
+\stopitemize
+\StopSteps
+
+\Topic{Rendering}
+
+\StartSteps
+\startitemize
+\startitem we still provide rendering options as there might be (cultural) differences \stopitem \FlushStep
+\startitem in both marks we just need to load the module \stopitem \FlushStep
+\startitem in \MKIV\ you need a reasonable namespace directive \stopitem \FlushStep
+\startitem content markup can give better results than presentation markup \stopitem \FlushStep
+\stopitemize
+\StopSteps
+
+\Topic{Consequences}
+
+\StartSteps
+\startitemize
+\startitem we already use a database or definitions \stopitem \FlushStep
+\startitem we won't go the (somewhat extreme) route of more commands \stopitem \FlushStep
+\startitem we're working on a subsystem for field driven rendering \stopitem \FlushStep
+\startitem bidirectional math already works but will be integrated in the layout model \stopitem \FlushStep
+\startitem cultural specific solutions are possible (we already provide language specific functions) \stopitem \FlushStep
+\startitem more information is carried around (for rendering as well as export), for instance functions \stopitem \FlushStep
+\stopitemize
+\StopSteps
+
+\stopdocument
diff --git a/doc/context/presentations/context/2011/context-2011-metapost-how-we-adapt.pdf b/doc/context/presentations/context/2011/context-2011-metapost-how-we-adapt.pdf
new file mode 100644
index 000000000..0f7fef0ee
--- /dev/null
+++ b/doc/context/presentations/context/2011/context-2011-metapost-how-we-adapt.pdf
Binary files differ
diff --git a/doc/context/presentations/context/2011/context-2011-metapost-how-we-adapt.tex b/doc/context/presentations/context/2011/context-2011-metapost-how-we-adapt.tex
new file mode 100644
index 000000000..77a9cf993
--- /dev/null
+++ b/doc/context/presentations/context/2011/context-2011-metapost-how-we-adapt.tex
@@ -0,0 +1,104 @@
+% \enablemode[print]
+
+\usemodule[present-overlap,abr-02]
+
+\startdocument
+ [title=MetaPost,
+ subtitle=how we adapt,
+ location=\ConTeXt\ Meeting 2011]
+
+\Topic{Development Stage}
+
+\StartSteps
+\startitemize
+\startitem we started with simple usage (logos) and \POSTSCRIPT\ output \stopitem \FlushStep
+\startitem then we moved on to conversion to \PDF\ using \TEX\ macro solution \stopitem \FlushStep
+\startitem this has the advantage that fonts are handled by \TEX \stopitem \FlushStep
+\startitem for a long time this was a generic solution (later became the \MKII\ variant) \stopitem \FlushStep
+\stopitemize
+\StopSteps
+
+\Topic{Development Stage}
+
+\StartSteps
+\startitemize
+\startitem we added some extensions (transparency, cmyk, etc) and \METAFUN\ showed up \stopitem \FlushStep
+\startitem that extension mechanism uses special colors as signals \stopitem \FlushStep
+\startitem we always collected btex ... etex in order to speed up processing \stopitem \FlushStep
+\startitem in addition we added textext and similar features \stopitem \FlushStep
+\startitem communication between \METAFUN\ and \CONTEXT\ became more advanced over time \stopitem \FlushStep
+\stopitemize
+\StopSteps
+
+\Topic{Development Stage}
+
+\StartSteps
+\startitemize
+\startitem when \LUATEX\ showed up a substitution based lua converter was written \stopitem \FlushStep
+\startitem later when \LPEG\ came around an experimental lpeg converter showed up \stopitem \FlushStep
+\startitem some changes were made to textext processing and run management \stopitem \FlushStep
+\stopitemize
+\StopSteps
+
+\Topic{Development Stage}
+
+\StartSteps
+\startitemize
+\startitem the arrival of mplib had rather big consequences \stopitem \FlushStep
+\startitem integration of \METAFUN\ became less of a runtime burden \stopitem \FlushStep
+\startitem a more definitive lpeg converter was written \stopitem \FlushStep
+\startitem text handling was kept internal (but still needs two passes) \stopitem \FlushStep
+\stopitemize
+\StopSteps
+
+\Topic{Development Stage}
+
+\StartSteps
+\startitemize
+\startitem some extensions were changed to use the new pre/postscripts functionality \stopitem \FlushStep
+\startitem the lpeg converter was adapted accordingly \stopitem \FlushStep
+\startitem multiple (independent) \METAPOST\ instances were now supported \stopitem \FlushStep
+\startitem the chemical code was overhauled and moved to the core \stopitem \FlushStep
+\stopitemize
+\StopSteps
+
+\Topic{Development Stage}
+
+\StartSteps
+\startitemize
+\startitem by now all extensions use pre/postscripts \stopitem \FlushStep
+\startitem this made it easier to add more extend functionality \stopitem \FlushStep
+\startitem again the lpeg converter was adapted (simplified) \stopitem \FlushStep
+\startitem it became possible to do some color trickery with text \stopitem \FlushStep
+\startitem but (till now) color spaces are more complex (mp has a mixed model) \stopitem \FlushStep
+\startitem so we might move towards a slightly different approach \stopitem \FlushStep
+\startitem a couple of helpers were added for Mojca (some more will follow) \stopitem \FlushStep
+\stopitemize
+\StopSteps
+
+\Topic{Development Stage}
+
+\StartSteps
+\startitemize
+\startitem we're now splitting the code in \MPII\ and \MPIV\ code bases \stopitem \FlushStep
+\startitem from now on the focus will be on \MPIV \stopitem \FlushStep
+\startitem the (rather old) \METAFUN\ code will be cleaned up \stopitem \FlushStep
+\startitem where possible namespaces will be added \stopitem \FlushStep
+\startitem as \METAFUN\ us loaded runtime we see an impact on startup time (quite some files) \stopitem \FlushStep
+\startitem so maybe we will use a packed and/or zipped pseudo format file for faster loading \stopitem \FlushStep
+\stopitemize
+\StopSteps
+
+\Topic{Development Stage}
+
+\StartSteps
+\startitemize
+\startitem an overhaul of the flowchart code is on the agenda \stopitem \FlushStep
+\startitem we also want to finish (and cleanup) the chemical related code \stopitem \FlushStep
+\startitem simple data/graphics helpers will be provided (graph replacement) \stopitem \FlushStep
+\startitem and of course we keep moving on (who knows what \METAPOST\ 2 will bring us) \stopitem \FlushStep
+\startitem some examples: tests/mkiv/metapost/plugins-* \stopitem \FlushStep
+\stopitemize
+\StopSteps
+
+\stopdocument
diff --git a/doc/context/presentations/context/2011/context-2011-sorting-registers.pdf b/doc/context/presentations/context/2011/context-2011-sorting-registers.pdf
new file mode 100644
index 000000000..db0d9da2b
--- /dev/null
+++ b/doc/context/presentations/context/2011/context-2011-sorting-registers.pdf
Binary files differ
diff --git a/doc/context/presentations/context/2011/context-2011-sorting-registers.tex b/doc/context/presentations/context/2011/context-2011-sorting-registers.tex
new file mode 100644
index 000000000..f05290906
--- /dev/null
+++ b/doc/context/presentations/context/2011/context-2011-sorting-registers.tex
@@ -0,0 +1,161 @@
+% tests/mkiv/scripts/korean-005.tex
+% examplex elsewhere
+
+% \enablemode[print]
+
+\usemodule[present-overlap,abr-02]
+
+\startdocument
+ [title=Sorting,
+ subtitle=registers,
+ location=\ConTeXt\ Meeting 2011]
+
+\startluacode
+
+local function show(t,start,stop)
+ if type(t) == "table" then
+ start = start or 1
+ stop = stop or #t
+ for i=start,stop do
+ if i > start then
+ context.space()
+ end
+ if type(t[i]) == "number" then
+ context(utf.char(t[i]))
+ else
+ context(t[i])
+ end
+ end
+ elseif type(t) == "string" then
+ context(t)
+ elseif type(t) == "number" then
+ context(utf.char(t))
+ end
+end
+
+function context.ShowCharacterData(n)
+ local d = characters.data[n]
+ if d then
+ local bTR, bTD, eTD, eTR = context.bTR, context.bTD, context.eTD, context.eTR
+ context.bTABLE()
+ bTR() bTD() context("unicode") eTD() bTD() show(n) eTD() eTR()
+ bTR() bTD() context("shcode") eTD() bTD() show(characters.shchars [n]) eTD() eTR()
+ bTR() bTD() context("lccode") eTD() bTD() show(characters.lcchars [n]) eTD() eTR()
+ bTR() bTD() context("uccode") eTD() bTD() show(characters.ucchars [n]) eTD() eTR()
+ bTR() bTD() context("fscode") eTD() bTD() show(characters.fschars [n]) eTD() eTR() -- leadconsonant
+ bTR() bTD() context("specials") eTD() bTD() show(
+ characters.remap_hangul_syllabe(characters.specials[n]),2) eTD() eTR()
+ context.eTABLE()
+ end
+end
+
+\stopluacode
+
+\unexpanded\def\ShowCharacterData#1{\cldcommand{ShowCharacterData("#1")}}
+
+\Topic{The old way}
+
+\StartSteps
+\startitemize
+\startitem in \MKII\ sorting is delegated to \TEXUTIL\ i.e.\ a multipass action \stopitem \FlushStep
+\startitem encoding vectors are passed along \stopitem \FlushStep
+\startitem sort vectors depend on the language \stopitem \FlushStep
+\startitem there are the usual complications with direct characters and commands \stopitem \FlushStep
+\stopitemize
+\StopSteps
+
+\Topic{Moving on}
+
+\StartSteps
+\startitemize
+\startitem in \MKIV\ sorting happens during the run \stopitem \FlushStep
+\startitem we only have to deal with \UNICODE\ (utf) \stopitem \FlushStep
+\startitem sort vectors still depend on the language \stopitem \FlushStep
+\startitem sorting can be controlled by methods \stopitem \FlushStep
+\startitem there is no universal solution (conflicting user demands, mixed languages) \stopitem \FlushStep
+\stopitemize
+\StopSteps
+
+\Topic{Character data}
+
+\setupTABLE[background=color,backgroundcolor=lightgray,rulethickness=.75bp,framecolor=darkgray]
+
+\StartSteps
+\startcombination[5*1]
+ {\definedfont[Normal*none]\ShowCharacterData{a}} {regular\FlushStep}
+ {\definedfont[Normal*none]\ShowCharacterData{ä}} {accent\FlushStep}
+ {\definedfont[Normal*none]\ShowCharacterData{æ}} {ligature\FlushStep}
+ {\definedfont[adobemyungjostd-medium]\ShowCharacterData{ê·¸}} {hangul\FlushStep}
+ {\definedfont[adobemyungjostd-medium]\ShowCharacterData{í•™}} {hangul\FlushStep}
+\stopcombination
+\StopSteps
+
+\Topic{Sorting methods}
+
+\StartSteps
+\starttabulate[|l|l|r|]
+ \NC ch \NC raw character \NC \FlushStep \NC \NR
+ \NC uc \NC unicode \NC \FlushStep \NC \NR
+ \NC mm \NC mapping \NC minus \FlushStep \NC \NR
+ \NC zm \NC \NC zero \FlushStep \NC \NR
+ \NC pm \NC \NC plus \FlushStep \NC \NR
+ \NC mc \NC lower case \NC minus \FlushStep \NC \NR
+ \NC zc \NC \NC zero \FlushStep \NC \NR
+ \NC pc \NC \NC plus \FlushStep \NC \NR
+\stoptabulate
+\StopSteps
+
+\Topic{Predefined methods}
+
+\StartSteps
+\starttabulate[|l|l|]
+ \NC before \NC mm,mc,uc \NC \NR
+ \NC after \NC pm,mc,uc \NC \NR
+ \NC first \NC pc,mm,uc \NC \NR
+ \NC last \NC mc,mm,uc \NC \NR
+\stoptabulate
+
+\FlushStep
+
+\starttyping
+\enabletrackers[sorters.tests]
+\enabletrackers[sorters.methods]
+\stoptyping
+
+\FlushStep
+\StopSteps
+
+\Topic{An example (1)}
+
+\startbuffer
+àâá\index{àâá}
+aaa\index{aaa}
+aab\index{aab}
+Aaa\index{Aaa}
+Aab\index{Aab}
+\stopbuffer
+
+\StartSteps
+\typebuffer \FlushStep
+
+\startlines \getbuffer \stoplines \FlushStep
+\StopSteps
+
+\Topic{An example (2)}
+
+% \enabletrackers[sorters.tests]
+% \enabletrackers[sorters.methods]
+
+\setupregister[index][criterium=text,n=1,before=,after=]
+\defineframed[indexframed][align=normal,width=.2\textwidth,strut=no]
+
+\StartSteps
+\startcombination[4*1]
+ {\setupinteraction[state=stop]\indexframed{\placeregister[index][method={mm,mc,uc}]}} {mm,mc,uc\FlushStep}
+ {\setupinteraction[state=stop]\indexframed{\placeregister[index][method={pm,mc,uc}]}} {pm,mc,uc\FlushStep}
+ {\setupinteraction[state=stop]\indexframed{\placeregister[index][method={pc,mm,uc}]}} {pc,mm,uc\FlushStep}
+ {\setupinteraction[state=stop]\indexframed{\placeregister[index][method={mc,mm,uc}]}} {mc,mm,uc\FlushStep}
+\stopcombination
+\StopSteps
+
+\stopdocument
diff --git a/doc/context/presentations/context/2012/context-2012-after-the-cleanup.pdf b/doc/context/presentations/context/2012/context-2012-after-the-cleanup.pdf
new file mode 100644
index 000000000..dc0e85ed4
--- /dev/null
+++ b/doc/context/presentations/context/2012/context-2012-after-the-cleanup.pdf
Binary files differ
diff --git a/doc/context/presentations/context/2012/context-2012-after-the-cleanup.tex b/doc/context/presentations/context/2012/context-2012-after-the-cleanup.tex
new file mode 100644
index 000000000..a127ca09a
--- /dev/null
+++ b/doc/context/presentations/context/2012/context-2012-after-the-cleanup.tex
@@ -0,0 +1,162 @@
+\usemodule[present-stepwise,present-bars,abr-01]
+
+\startdocument
+ [title=After the cleanup,
+ color=darkred]
+
+\StartSteps
+
+\startsubject[title=The update]
+
+ \startitemize[packed]
+
+ \startitem The move to \MKIV\ is more than supporting an engine. \stopitem \FlushStep
+ \startitem It is a complete rewrite (pruning, extending, cleaning). \stopitem \FlushStep
+ \startitem Although somewhat crippled by the fact that we want to remain compatible. \stopitem \FlushStep
+ \startitem But sometimes we sacrifice compatibility by getting rid of old stuff. \stopitem \FlushStep
+
+ \stopitemize
+
+\stopsubject
+
+\startsubject[title=The current state]
+
+ \startitemize[packed]
+
+ \startitem A lot of work, more than I had thought, so it takes longer. \stopitem \FlushStep
+ \startitem Most \TEX\ code is done (some structure and column code left). \stopitem \FlushStep
+ \startitem New namespaces and helpers mostly done, but will be checked for constency. \stopitem \FlushStep
+
+ \stopitemize
+
+\stopsubject
+
+\StopSteps
+
+\page
+
+\StartSteps
+
+\startsubject[title=What is there todo]
+
+ \startitemize[packed]
+
+ \startitem Some code might become generalized (also depends on others). \stopitem \FlushStep
+ \startitem Layer and positioning code might get a more extensive \LUA\ and \XML\ interface. \stopitem \FlushStep
+ \startitem Structure related code will support setups (some already in place). \stopitem \FlushStep
+ \startitem New page builder variants will be explored (anyway more column support and floats). \stopitem \FlushStep
+ \startitem Math domains cq.\ dictionaries (basics already in place, just needs time). \stopitem \FlushStep
+ \startitem Math list optimization (pet project). \stopitem \FlushStep
+ \startitem Generate dependecy trees (easier now) and more consistent code loading order. \stopitem \FlushStep
+ \startitem All error messages needs checking (some gone, some not yet translated). \stopitem \FlushStep
+ \startitem Update all xml definitions (work in progress, also relates to wiki). \stopitem \FlushStep
+ \startitem Optimize positioning system (a bit more powerful now, but also more resources). \stopitem \FlushStep
+ \startitem More support for css like styling (makes it easier to share code). \stopitem \FlushStep
+ \startitem Modules (especially those for tracing) need to be normalized. \stopitem \FlushStep
+ \startitem Some styles (mostly private presentation styles) needs to be fixed. \stopitem \FlushStep
+ \startitem Pick up the \quote {lean and mean} \CONTEXT\ variant project. \stopitem \FlushStep
+ \startitem Now that we have more code isolated, we can define an api. \stopitem \FlushStep
+ \startitem Some manuals need to be updated (most still applies). \stopitem \FlushStep
+
+ \stopitemize
+
+\stopsubject
+
+\StopSteps
+
+\page
+
+\StartSteps
+
+\startsubject[title=What I have to keep in mind]
+
+ \startitemize[packed]
+
+ \startitem What is handy for me is not always handy for all users. \stopitem \FlushStep
+
+ \stopitemize
+
+\stopsubject
+
+\startsubject[title=But nevertheless there will be new things]
+
+ \startitemize[packed]
+
+ \startitem Elements of our processing framework will show up in the distribution. \stopitem \FlushStep
+ \startitem It's just more convenient to have one installation for related things. \stopitem \FlushStep
+ \startitem This is also why support for databases has been added recently. \stopitem \FlushStep
+ \startitem Running (blocking) \TEX\ jobs needs special treatment (ticket management). \stopitem \FlushStep
+ \startitem It makes sense to use the well developed \TDS\ infrastructure. \stopitem \FlushStep
+
+ \stopitemize
+
+\stopsubject
+
+\StopSteps
+
+\page
+
+\StartSteps
+
+\startsubject[title=Keep an eye on updates]
+
+ \startitemize[packed]
+
+ \startitem Rewriting the code base leads to bugs but these are often resolved quickly
+ (indeed by Wolfgang). \stopitem \FlushStep
+ \startitem Following the mailing list helps and nowadays the wiki is adapted close to
+ realtime (coordinated by Sietse). \stopitem \FlushStep
+ \startitem Changes in standards and related tools are supported and followed by those who
+ depend on them (ask Peter). \stopitem \FlushStep
+ \startitem Sometimes users have demands and these end up as extensions to existing
+ mechanisms (Aditya's elastic modules). \stopitem \FlushStep
+ \startitem Issues with platforms are often quickly dealt with (if Luigi doesn't know it
+ \unknown). \stopitem \FlushStep
+ \startitem And of course I add new things driven by projects, challenges (and an occasional
+ stack of new \CD's). \stopitem \FlushStep
+ \startitem New releases (and betas) are checked against a growing set of test files (Lukas
+ mails a report after each update). \stopitem \FlushStep
+ \stopitemize
+
+\stopsubject
+
+\StopSteps
+
+\page
+
+\StartSteps
+
+\startsubject[title=Just ask]
+
+ \startitemize[packed]
+
+ \startitem We started long ago with what ended up as \MKII\ and \MPII. \stopitem \FlushStep
+ \startitem We currently have \MKIV\ and \MPIV. \stopitem \FlushStep
+ \startitem It has some features that we tag as \MKVI. \stopitem \FlushStep
+ \startitem Recently \MKIX\ and \MKXI\ were introduced. \stopitem \FlushStep
+ \blank
+ \startitem Examples: \MKIV, \MKVI, \MKIX, \MKXI \stopitem \FlushStep
+ \blank
+ \startitem So, what should \MKIC\ provide \stopitem \FlushStep
+
+ \stopitemize
+
+\stopsubject
+
+\startsubject[title=What I'm working on]
+
+ \startitemize[packed]
+
+ \startitem Proper dependency chain so that we can make small dedicated formats. \stopitem \FlushStep
+ \startitem Support for typesetting from databases (text, graphics). \stopitem \FlushStep
+ \startitem Next iteration if (job) tickets processing system cq. framework. \stopitem \FlushStep
+
+ \stopitemize
+
+\stopsubject
+
+\StopSteps
+
+% show latest manuals
+
+\stopdocument
diff --git a/doc/context/presentations/context/2012/context-2012-lexing-sources.pdf b/doc/context/presentations/context/2012/context-2012-lexing-sources.pdf
new file mode 100644
index 000000000..be51108b3
--- /dev/null
+++ b/doc/context/presentations/context/2012/context-2012-lexing-sources.pdf
Binary files differ
diff --git a/doc/context/presentations/context/2012/context-2012-lexing-sources.tex b/doc/context/presentations/context/2012/context-2012-lexing-sources.tex
new file mode 100644
index 000000000..1135148e1
--- /dev/null
+++ b/doc/context/presentations/context/2012/context-2012-lexing-sources.tex
@@ -0,0 +1,81 @@
+\usemodule[present-stepwise,present-bars,abr-01]
+
+\definecolor[verydark][s=.2]
+
+\startdocument
+ [title=Lexing sources,
+ color=verydark]
+
+\StartSteps
+
+\startsubject[title=What is lexing]
+
+ \startitemize[packed]
+ \startitem Computer languages have mandate structure. \stopitem \FlushStep
+ \startitem You can avoid errors by checking the input. \stopitem \FlushStep
+ \startitem Editors can help by coloring reserved words, concept etc. \stopitem \FlushStep
+ \startitem Consistency in coloring different languages makes sense. \stopitem \FlushStep
+ \stopitemize
+
+\stopsubject
+
+\startsubject[title=When did we start]
+
+ \startitemize[packed]
+ \startitem We wrote our first editor begin 90's. \stopitem \FlushStep
+ \startitem An extension quickly followed when we moved to \TEX: \TEXEDIT. \stopitem \FlushStep
+ \startitem When \MODULA\ was no longer fashion we moved on to \PERL: \TEXWORK\ (quick demo) \stopitem \FlushStep
+ \startitem When we ran into \SCITE\ we start using that. \stopitem \FlushStep
+ \startitem I provided syntax highlighting for \TEX\ and \METAPOST\ (support for multiple formats etc.). \stopitem \FlushStep
+ \stopitemize
+
+\stopsubject
+
+\StopSteps
+
+\page
+
+\StartSteps
+
+\startsubject[title=Side effect of \MKIV]
+
+ \startitemize[packed]
+ \startitem \SCITE\ got \LPEG\ based lexing (external lexing). \stopitem \FlushStep
+ \startitem I already had already written some lexers for the pretty printers. \stopitem \FlushStep
+ \startitem So I gave it a go and made some more advanced lexers. \stopitem \FlushStep
+ \startitem These ship with \CONTEXT: \TEX, \XML, \PDF, \LUA, \CLD, \METAPOST, text. \stopitem \FlushStep
+ \stopitemize
+
+\stopsubject
+
+\startsubject[title=Characteristics]
+
+ \startitemize[packed]
+ \startitem The \TEX\ lexer supports nested lexing of \LUA\ and \METAPOST. \stopitem \FlushStep
+ \startitem Integrated spell checking is provided. \stopitem \FlushStep
+ \startitem Unfortunately there is no lexing for \SCITE\ on \MACOSX\ (not that I care too much nowadays). \stopitem \FlushStep
+ \startitem It is a pitty that we have no access to \SCITE\ internal as with the regular \LUA\ interface. \stopitem \FlushStep
+ \startitem On my good old machine huge files lex somewhat slow (at the end). \stopitem \FlushStep
+ \stopitemize
+
+\stopsubject
+
+\StopSteps
+
+\page
+
+\StartSteps
+
+\startsubject[title=The future]
+
+ \startitemize[packed]
+ \startitem I will improve the current lexers. \stopitem \FlushStep
+ \startitem An \SQL\ lexer will be added at some point \stopitem \FlushStep
+ \startitem I might make an \HTML/\CSS\ variant that supports nexted \LMX. \stopitem \FlushStep
+ \stopitemize
+
+\stopsubject
+
+\StopSteps
+
+\stopdocument
diff --git a/doc/context/presentations/context/2012/context-2012-mixed-columns.pdf b/doc/context/presentations/context/2012/context-2012-mixed-columns.pdf
new file mode 100644
index 000000000..f2dc8ecaf
--- /dev/null
+++ b/doc/context/presentations/context/2012/context-2012-mixed-columns.pdf
Binary files differ
diff --git a/doc/context/presentations/context/2012/context-2012-mixed-columns.tex b/doc/context/presentations/context/2012/context-2012-mixed-columns.tex
new file mode 100644
index 000000000..af35917f0
--- /dev/null
+++ b/doc/context/presentations/context/2012/context-2012-mixed-columns.tex
@@ -0,0 +1,79 @@
+\usemodule[present-stepwise,present-bars,abr-01]
+
+\startdocument
+ [title=The scripts,
+ color=darkyellow]
+
+\StartSteps
+
+\startsubject[title=Output]
+
+ \startitemize[packed]
+
+ \startitem \TEX\ collects content paragraph wise. \stopitem \FlushStep
+ \startitem In between it can trigger the so called output routine. \stopitem \FlushStep
+ \startitem At that moment you can do something with the result. \stopitem \FlushStep
+ \startitem One of the things you can do is package all collected so far in a page. \stopitem \FlushStep
+
+ \stopitemize
+
+\stopsubject
+
+\startsubject[title=Bonus]
+
+ \startitemize[packed]
+
+ \startitem In \LUATEX\ we can also intercept content at more places. \stopitem \FlushStep
+ \startitem For instance before and after each paragraph is processed. \stopitem \FlushStep
+
+ \stopitemize
+
+\stopsubject
+
+\StopSteps \page \StartSteps
+
+\startsubject[title=Columns]
+
+ \startitemize[packed]
+
+ \startitem \TEX\ has no concept of columns. \stopitem \FlushStep
+ \startitem You need to fake them by fiddling with the width and spitting boxes. \stopitem \FlushStep
+ \startitem Often we can use tabulate (no output routine). \stopitem \FlushStep
+ \startitem For some local applications we use simple columns. \stopitem \FlushStep
+ \startitem In for instance itemize we used a mixed one- and multi-column model. \stopitem \FlushStep
+ \startitem Columnsets are another (independent) mechanism, strongly grid based. \stopitem \FlushStep
+ \startitem Traditional multicolumns are being replaced by a new mechanism: mixed columns. \stopitem \FlushStep
+
+ \stopitemize
+
+\stopsubject
+
+\startsubject[title=Pitfalls]
+
+ \startitemize[packed]
+
+ \startitem Footnotes: page, first or last column, each column (delayed, immediate). \stopitem \FlushStep
+ \startitem Graphics: moving floats around is more complex than in single columns. \stopitem \FlushStep
+ \startitem Nesting: how about columns inside columns. \stopitem \FlushStep
+ \startitem Balancing: can be hard taking all into account. \stopitem \FlushStep
+
+ \stopitemize
+
+\stopsubject
+
+\StopSteps \page \StartSteps
+
+\startsubject[title=Questions]
+
+ \startitemize[packed]
+
+ \startitem Do complex column mechanisms still make sense given the move to electronic paper. \stopitem \FlushStep
+ \startitem If so, what functionality should be provided. \stopitem \FlushStep
+
+ \stopitemize
+
+\stopsubject
+
+\StopSteps
+
+\stopdocument
diff --git a/doc/context/presentations/context/2012/context-2012-the-script.pdf b/doc/context/presentations/context/2012/context-2012-the-script.pdf
new file mode 100644
index 000000000..935e6600e
--- /dev/null
+++ b/doc/context/presentations/context/2012/context-2012-the-script.pdf
Binary files differ
diff --git a/doc/context/presentations/context/2012/context-2012-the-script.tex b/doc/context/presentations/context/2012/context-2012-the-script.tex
new file mode 100644
index 000000000..be586e2ff
--- /dev/null
+++ b/doc/context/presentations/context/2012/context-2012-the-script.tex
@@ -0,0 +1,453 @@
+\usemodule[present-stepwise,present-bars,abr-01]
+
+\startdocument
+ [title=The scripts,
+ color=darkblue]
+
+\StartSteps
+
+\startsubject[title=Some myths]
+
+ \startitemize[packed]
+
+ \startitem \CONTEXT\ looks al lot like plain \TEX\ and expects users to program macros. \stopitem \FlushStep
+ \startitem \CONTEXT\ depends on \RUBY. \stopitem \FlushStep
+
+ \stopitemize
+
+\stopsubject
+
+\startsubject[title=The truth]
+
+ \startitemize[packed]
+
+ \startitem On the average users don't have to program. Configuring is not programming. \stopitem \FlushStep
+ \startitem As \TEX\ lacks commandline handling and job control, helpers are provided. \stopitem \FlushStep
+ \startitem Of course users can still program a lot, but not all need that. \stopitem \FlushStep
+ \startitem Of course users can directly run \CONTEXT, but why should they. \stopitem \FlushStep
+
+ \stopitemize
+
+\stopsubject
+
+\startsubject[title=A few facts]
+
+ \startitemize[packed]
+
+ \startitem The \CONTEXT\ distribution provides a sort of ecosystem. \stopitem \FlushStep
+ \startitem In \MKII\ indeed we use \RUBY\ for some job control. \stopitem \FlushStep
+ \startitem But in \MKIV\ all is (of course) done in \LUA. \stopitem \FlushStep
+ \startitem Two scripts play an important role: mtxrun and context. \stopitem \FlushStep
+
+ \stopitemize
+
+\stopsubject
+
+\StopSteps
+
+\page
+
+\StartSteps
+
+\startsubject[title=The \quote {mtxrun} script]
+
+ \startitemize[packed]
+
+ \startitem Locates and runs scripts, has a lot of helpers preloaded. \stopitem \FlushStep
+ \startitem It is in fact my \LUA\ runner on top the \TEXLUA. \stopitem \FlushStep
+ \startitem It knows about files and the environment we run in. \stopitem \FlushStep
+ \startitem It has some features that makes it easier to integrate in services. \stopitem \FlushStep
+ \startitem This way we don't need stubs (and avoid potential conflicts in name). \stopitem \FlushStep
+
+ \stopitemize
+
+\stopsubject
+
+\startsubject[title=The \quote {context} script]
+
+\startitemize[packed]
+
+ \startitem It runs \CONTEXT\ and keeps track of how many runs are needed. \stopitem \FlushStep
+ \startitem Contrary to its \MKII\ ancestor it is not needed for index sorting etc. \stopitem \FlushStep
+ \startitem It has a few extensions that are loaded on demand: extras \stopitem \FlushStep
+
+\stopitemize
+
+\stopsubject
+
+\StopSteps
+
+\page
+
+\StartSteps
+
+\startsubject[title=A regular run]
+
+ \starttyping
+ context [--run] filename
+ \stoptyping \FlushStep
+
+\stopsubject
+
+\startsubject[title=Running from an editor]
+
+ \starttyping
+ context --autopdf filename
+ \stoptyping \FlushStep
+
+\stopsubject
+
+\startsubject[title=Running from an service]
+
+ \starttyping
+ mtxrun --path=somepath --script context filename
+ \stoptyping \FlushStep
+
+\stopsubject
+
+\StopSteps
+
+\page
+
+\StartSteps
+
+\startsubject[title=Controlling the rendering]
+
+ \starttyping
+ --usemodule=list
+ --environment=list
+ --mode=list
+ --arguments=list
+ --path=list
+ \stoptyping \FlushStep
+
+\stopsubject
+
+\startsubject[title=Controlling with ctx files]
+
+ \starttyping
+ --ctx=name
+ \stoptyping \FlushStep
+
+\stopsubject
+
+\startsubject[title=Also in preamble]
+
+ \starttyping
+ <?context-directive job ctxfile m4all.ctx ?>
+ \stoptyping \FlushStep
+
+\stopsubject
+
+\StopSteps
+
+\page
+
+\StartSteps
+
+\startsubject[title=A ctx file]
+
+\starttyping
+<?xml version='1.0' standalone='yes'?>
+
+<ctx:job>
+ <ctx:message>EPUB Formatter</ctx:message>
+ <ctx:flags>
+ <ctx:flag>purge</ctx:flag>
+ <ctx:flag>global</ctx:flag>
+ </ctx:flags>
+ <ctx:process>
+ <ctx:resources>
+ <ctx:module>epub-01</ctx:module>
+ </ctx:resources>
+ </ctx:process>
+</ctx:job>
+\stoptyping \FlushStep
+
+\stopsubject
+
+\StopSteps
+
+\page
+
+\StartSteps
+
+\startsubject[title=Multiple products from one source]
+
+ \starttyping
+ --result=name
+ \stoptyping \FlushStep
+
+\stopsubject
+
+\startsubject[title=When imposition is needed]
+
+ \starttyping
+ --arrange
+ \stoptyping \FlushStep
+
+\stopsubject
+
+\startsubject[title=Cleanup after runs]
+
+ \starttyping
+ --batchmode
+ --purge(all)
+ --purgeresult
+ \stoptyping \FlushStep
+
+\stopsubject
+
+\StopSteps
+
+\page
+
+\StartSteps
+
+\startsubject[title=Sometimes faster (in services)]
+
+ \starttyping
+ --once
+ --runs=2
+ \stoptyping \FlushStep
+
+\stopsubject
+
+\startsubject[title=Normally automatically done]
+
+ \starttyping
+ --make
+ --generate
+ --touch
+ \stoptyping \FlushStep
+
+\stopsubject
+
+\startsubject[title=Seldom used]
+
+ \starttyping
+ --interface
+ --randomseed=number
+ \stoptyping \FlushStep
+
+\stopsubject
+
+\StopSteps
+
+\page
+
+\StartSteps
+
+\startsubject[title=Information about extra control]
+
+ \starttyping
+ --trackers
+ --directives
+ --showlogcategories
+ --version
+ \stoptyping \FlushStep
+
+\stopsubject
+
+\startsubject[title=Controlling the machinery]
+
+ \starttyping
+ --trackers=list
+ --directives=list
+ --silent=list
+ --noconsole
+ --nostatistics
+ \stoptyping \FlushStep
+
+\stopsubject
+
+\StopSteps
+
+\page
+
+\StartSteps
+
+\startsubject[title=When no local file is used]
+
+ \starttyping
+ --global
+ --nofile
+ \stoptyping \FlushStep
+
+\stopsubject
+
+\startsubject[title=When the automatics recognition doesn't work]
+
+ \starttyping
+ --forcexml
+ --forcecld
+ --forcelua
+ --forcemp
+ \stoptyping \FlushStep
+
+\stopsubject
+
+\StopSteps
+
+\page
+
+\StartSteps
+
+\startsubject[title=Only handy for development (or me)]
+
+ \starttyping
+ --profile
+ --timing
+ \stoptyping \FlushStep
+
+\stopsubject
+
+\startsubject[title=Forget about these]
+
+ \starttyping
+ --paranoid
+ --update
+ \stoptyping \FlushStep
+
+\stopsubject
+
+\startsubject[title=Some hidden treasures]
+
+ \starttyping
+ --extras
+ --extra=name
+ \stoptyping \FlushStep
+
+\stopsubject
+
+\StopSteps
+
+\page
+
+\StartSteps
+
+\startsubject[title=Arguments can be prefixed]
+
+ \starttyping
+ environment:
+ relative:
+ auto:
+ locate:
+ filename:
+ pathname:
+ home:
+ selfautoloc:
+ selfautoparent:
+ selfautodir:
+ \stoptyping \FlushStep
+
+\stopsubject
+
+\StopSteps
+
+\page
+
+\StartSteps
+
+\startsubject[title=Recent (probably unnoticed) change]
+
+ \starttyping
+ luatex
+ --fmt=".../tex/texmf-cache/luatex-cache/context/.../formats/cont-en"
+ --lua=".../tex/texmf-cache/luatex-cache/context/.../formats/cont-en.lui"
+ --jobname="context-the-script"
+ --no-parse-first-line
+ --c:autopdf
+ --c:currentrun=1
+ --c:fulljobname="./context-the-script.tex"
+ --c:input="./context-the-script.tex"
+ --c:kindofrun=1
+ "cont-yes.mkiv"
+ \stoptyping \FlushStep
+
+\stopsubject
+
+\startsubject[title=Another change]
+
+\startitemize[packed]
+
+ \startitem The (runtime generated) options file is no longer there. \stopitem \FlushStep
+ \startitem For as far as possible arguments are passed directly. \stopitem \FlushStep
+ \startitem Input files are always loaded indirectly, no more stubs. \stopitem \FlushStep
+
+\stopitemize
+
+\stopsubject
+
+\StopSteps
+
+\page
+
+\StartSteps
+
+\startsubject[title=About 30 mtx/lmx scripts]
+
+ \starttyping
+ mtx-check.lua
+ mtx-convert.lua
+ mtx-epub.lua
+ mtx-fonts.lua
+ mtx-modules.lua
+ mtx-patterns.lua
+ mtx-pdf.lua
+ \stoptyping \FlushStep
+
+\stopsubject
+
+\startsubject[title=These are run like]
+
+ \starttyping
+ mtxrun --script pdf
+ \stoptyping \FlushStep
+
+\stopsubject
+
+\StopSteps
+
+\page
+
+\StartSteps
+
+\startsubject[title=Several mtx templates]
+
+ \starttyping
+ mtx-context-arrange.lua
+ mtx-context-combine.lua
+ mtx-context-listing.lua
+ mtx-context-select.lua
+ mtx-context-timing.lua
+ \stoptyping \FlushStep
+
+\stopsubject
+
+\startsubject[title=These are run like]
+
+ \starttyping
+ context --extra=arrange [--help] ...
+ \stoptyping \FlushStep
+
+\stopsubject
+
+\StopSteps
+
+\page
+
+\StartSteps
+
+\startsubject[title=Local preferences]
+
+ \starttyping
+ texmfcnf.lua
+ \stoptyping \FlushStep
+
+\stopsubject
+
+\StopSteps
+
+\stopdocument
+
diff --git a/doc/context/presentations/context/2012/context-2012-visual-debugging.pdf b/doc/context/presentations/context/2012/context-2012-visual-debugging.pdf
new file mode 100644
index 000000000..879a1ff69
--- /dev/null
+++ b/doc/context/presentations/context/2012/context-2012-visual-debugging.pdf
Binary files differ
diff --git a/doc/context/presentations/context/2012/context-2012-visual-debugging.tex b/doc/context/presentations/context/2012/context-2012-visual-debugging.tex
new file mode 100644
index 000000000..4be8d5e72
--- /dev/null
+++ b/doc/context/presentations/context/2012/context-2012-visual-debugging.tex
@@ -0,0 +1,296 @@
+\usemodule[present-stepwise,present-bars,abr-01]
+
+\startdocument
+ [title=Visual debugging,
+ color=darkmagenta]
+
+\StartSteps
+
+\startsubject[title=How it started]
+
+ \startitemize[packed]
+
+ \startitem Some 15 years ago I wanted some more feedback. \stopitem \FlushStep
+ \startitem So I figured out a way to visualize boxes, kerns, glue, etc. \stopitem \FlushStep
+ \startitem Some aspects were tricky, like stretch and shrink (no \ETEX\ yet), fillers, leaders, etc. \stopitem \FlushStep
+ \startitem I gave some presentations and it was nice to see the puzzled faces. \stopitem \FlushStep
+ \startitem As unboxing does not work, it is somewhat interfering. \stopitem \FlushStep
+ \startitem When not enabed there is no overhead but we did disable it at some places. \stopitem \FlushStep
+
+ \stopitemize
+
+\stopsubject
+
+\startsubject[title=Do we need it]
+
+ \startitemize[packed]
+
+ \startitem I wonder if anyone ever used it. \stopitem \FlushStep
+ \startitem Some of the helpers are quite handy, like \type {\ruledhbox}. \stopitem \FlushStep
+ \startitem So these had to be provided anyway, so: where to stop? \stopitem \FlushStep
+
+ \stopitemize
+
+\stopsubject
+
+\StopSteps \page \StartSteps
+
+\startsubject[title=All kind of debugging]
+
+ \startitemize[packed]
+
+ \startitem We have more debugging, much shows up when writing new code. \stopitem \FlushStep
+ \startitem Think of fonts, math, graphics, characters, etc. \stopitem \FlushStep
+ \startitem Some make no sense in \MKIV, so they're gone, but new ones show up. \stopitem \FlushStep
+ \startitem In due time this will all be normalized (as most lives in modules). \stopitem \FlushStep
+
+ \stopitemize
+
+\stopsubject
+
+\StopSteps \page \StartSteps
+
+\startsubject[title=Why we kept it]
+
+ \startitemize[packed]
+
+ \startitem When cleaning up the code I had to decide to keep it or redo it as it could be done \MKIV-ish. \stopitem \FlushStep
+ \startitem But as we already had some \LUA\ based extras it made sense to redo it. \stopitem \FlushStep
+ \startitem The old code is still there as module (also because it had some more funstuff). \stopitem \FlushStep
+
+ \stopitemize
+
+\stopsubject
+
+\startsubject[title=How it worked]
+
+ \startitemize[packed]
+
+ \startitem In \MKII\ primitives are overloaded. \stopitem \FlushStep
+ \startitem So effectively, when enabled, \type {\hbox} cum suis become macros. \stopitem \FlushStep
+ \startitem We use rules (and leaders) to visualize properties. \stopitem \FlushStep
+ \startitem Some constructs interfere so we need to compensate side effects. \stopitem \FlushStep
+
+ \stopitemize
+
+\stopsubject
+
+\StopSteps \page \StartSteps
+
+\startsubject[title=How it works]
+
+ \startitemize[packed]
+
+ \startitem The basics were a rather trivial quick job as we had a lot in place already. \stopitem \FlushStep
+ \startitem Interpreting the node list and injecting visualizers. \stopitem \FlushStep
+ \startitem We use colors, rules and text but much can be overlayed. \stopitem \FlushStep
+ \startitem Control over what gets visualized at the \TEX\ end. \stopitem \FlushStep
+ \startitem Control over what gets shown by using layers. \stopitem \FlushStep
+ \startitem As usual most time went into visualization choices and optimzation. \stopitem \FlushStep
+ \startitem Some visualizers interfered with (hardcoded) expectations in the backend. \stopitem \FlushStep
+ \startitem When I decided to use layers I had to adapt some oter code (mostly out of efficiency). \stopitem \FlushStep
+ \startitem There is room for more (but first I want the bitlib of \LUA\ 5.2). \stopitem \FlushStep
+
+ \stopitemize
+
+\stopsubject
+
+\StopSteps
+
+\page
+
+\defineoverlay[invoke][\overlaybutton{NextPage}]
+
+\defineframed
+ [MyFramed]
+ [background=color,
+ backgroundcolor=yellow,
+ offset=overlay,
+ frame=off]
+
+\startbuffer
+\ruledhbox{j}
+\ruledhbox{jj}
+\ruledhbox{jjj}
+\ruledhbox{jjjj}
+\ruledhbox{jjjjj}
+\stopbuffer
+
+\startsubject[title=Details 1]
+
+ \scale[width=\textwidth]{\MyFramed \bgroup
+ {\getbuffer}\removeunwantedspaces
+ \egroup}
+
+ \typebuffer
+
+\stopsubject
+
+\page
+
+\startbuffer
+\ruledhbox{take boxes}
+\stopbuffer
+
+\startsubject[title=Details 2a]
+
+ \scale[width=\textwidth]{\MyFramed \bgroup
+ {\getbuffer}\removeunwantedspaces
+ \egroup}
+
+ \typebuffer
+
+\stopsubject
+
+\page
+
+\startbuffer
+\ruledhbox{some depth too}
+\stopbuffer
+
+\startsubject[title=Details 2b]
+
+ \scale[width=\textwidth]{\MyFramed \bgroup
+ {\getbuffer}\removeunwantedspaces
+ \egroup}
+
+ \typebuffer
+
+\stopsubject
+
+\page
+
+\startbuffer
+\showmakeup \hbox{again an hbox}
+\stopbuffer
+
+\startsubject[title=Details 3a]
+
+ \scale[width=\textwidth]{\MyFramed \bgroup
+ {\getbuffer}\removeunwantedspaces
+ \egroup}
+
+ \typebuffer
+
+\stopsubject
+
+\page
+
+\startbuffer
+\ruledvtop{\ruledvbox{\ruledhbox{multiple boxes}}}
+\stopbuffer
+
+\startsubject[title=Details 3b]
+
+ \scale[width=\textwidth]{\MyFramed \bgroup
+ {\getbuffer}\removeunwantedspaces
+ \egroup}
+
+ \typebuffer
+
+\stopsubject
+
+\page
+
+\startbuffer
+\showmakeup \hbox{multiple boxes}
+\stopbuffer
+
+\startsubject[title=Details 3c]
+
+ \scale[width=\textwidth]{\MyFramed \bgroup
+ \hskip.5em
+ {\getbuffer}\removeunwantedspaces
+ \hskip.5em
+ \egroup}
+
+ \typebuffer
+
+\stopsubject
+
+\page
+
+\startbuffer
+\showmakeup \vbox{\hbox{multiple boxes}}
+\stopbuffer
+
+\startsubject[title=Details 3c]
+
+ \scale[width=\textwidth]{\MyFramed \bgroup
+ \hskip.5em
+ {\getbuffer}\removeunwantedspaces
+ \hskip.5em
+ \egroup}
+
+ \typebuffer
+
+\stopsubject
+
+\page
+
+\startbuffer
+\showmakeup \vtop{\vbox{\hbox{multiple boxes}}}
+\stopbuffer
+
+\startsubject[title=Details 3d]
+
+ \scale[width=\textwidth]{\MyFramed \bgroup
+ \hskip.5em
+ {\getbuffer}\removeunwantedspaces
+ \hskip.5em
+ \egroup}
+
+ \typebuffer
+
+\stopsubject
+
+\page
+
+\startbuffer
+\showstruts why \strut use \strut's
+\stopbuffer
+
+\startsubject[title=Details 4]
+
+ \scale[width=\textwidth]{\MyFramed \bgroup
+ {\getbuffer}\removeunwantedspaces
+ \egroup}
+
+ \typebuffer
+
+\stopsubject
+
+\page
+
+\startbuffer
+\showglyphs glyphs
+\stopbuffer
+
+\startsubject[title=Details 5]
+
+ \scale[width=\textwidth]{\MyFramed \bgroup
+ {\getbuffer}\removeunwantedspaces
+ \egroup}
+
+ \typebuffer
+
+\stopsubject
+\page
+
+\startbuffer
+\enabletrackers[visualizers.whatsit]glyphs \righttoleft glyphs
+\stopbuffer
+
+\startsubject[title=Details 6]
+
+ \scale[width=\textwidth]{\MyFramed \bgroup
+ \hskip.75em
+ {\getbuffer}\removeunwantedspaces
+ \hskip.75em
+ \egroup}
+
+ \typebuffer
+
+\stopsubject
+
+\stopdocument
diff --git a/doc/context/presentations/context/2012/context-2012-xml-news.pdf b/doc/context/presentations/context/2012/context-2012-xml-news.pdf
new file mode 100644
index 000000000..ddbf138d7
--- /dev/null
+++ b/doc/context/presentations/context/2012/context-2012-xml-news.pdf
Binary files differ
diff --git a/doc/context/presentations/context/2012/context-2012-xml-news.tex b/doc/context/presentations/context/2012/context-2012-xml-news.tex
new file mode 100644
index 000000000..c11c35d31
--- /dev/null
+++ b/doc/context/presentations/context/2012/context-2012-xml-news.tex
@@ -0,0 +1,131 @@
+\usemodule[present-stepwise,present-bars,abr-01]
+
+\startdocument
+ [title={Processing XML, some basics},
+ color=darkcyan]
+
+\StartSteps
+
+\startsubject[title=Topics]
+
+ \startitemize[packed]
+
+ \startitem processing \stopitem \FlushStep
+ \startitem selecting \stopitem \FlushStep
+ \startitem flushing \stopitem \FlushStep
+ \startitem testing \stopitem \FlushStep
+ \startitem basics only \stopitem \FlushStep
+
+ \stopitemize
+
+\stopsubject
+
+\StopSteps \page \StartSteps
+
+\startsubject[title=Processing]
+
+ \starttyping
+ \xmlprocessfile {name} {filename} {setup}
+ \xmlprocessbuffer {name} {filename} {setup}
+ \xmlloadonly {name} {filename} {setup}
+ \stoptyping \FlushStep
+
+\stopsubject
+
+\startsubject[title=Loading]
+
+ \starttyping
+ \xmlload {name} {filename} {setup}
+ \xmlloadbuffer {name} {buffername} {setup}
+ \stoptyping \FlushStep
+
+\stopsubject
+
+\StopSteps \page \StartSteps
+
+\startsubject[title=Injecting elements]
+
+ \starttyping
+ \xmlall {node} {pattern}
+ \xmlfirst {node} {pattern}
+ \xmllast {node} {pattern}
+ \xmlflush {node}
+ \stoptyping \FlushStep
+
+ \starttyping
+ \xmlraw {node} {pattern}
+ \xmlcontext {node} {pattern}
+ \xmlstrip {node} {pattern}
+ \xmltag {node}
+ \xmltext {node} {pattern}
+ \stoptyping \FlushStep
+
+\stopsubject
+
+\StopSteps \page \StartSteps
+
+\startsubject[title=Injecting attributes]
+
+ \starttyping
+ \xmlatt {node} {name}
+ \xmlattdef {node} {namev {default}
+ \xmlattribute {node} {pattern} {name}
+ \xmlattributedef {node} {pattern} {name} {default}
+ \stoptyping \FlushStep
+
+\stopsubject
+
+\startsubject[title=Injecting properties]
+
+ \starttyping
+ \xmlcount {node} {pattern}
+ \xmlname {node}
+ \xmlnamespace {node}
+ \stoptyping \FlushStep
+
+\stopsubject
+
+\StopSteps \page \StartSteps
+
+\startsubject[title=Filters]
+
+ \starttyping
+ \xmlcommand {node} {pattern} {setup
+ \xmlfilter {node} {pattern}
+ \stoptyping \FlushStep
+
+\stopsubject
+
+\startsubject[title=Much more]
+
+ \starttyping
+ \xmlverbatim {node}
+ \xmldisplayverbatim {node}
+ \xmlinlineverbatim {node}
+ \stoptyping \FlushStep
+
+ \starttyping
+ \xmlinclude {node} {pattern} {attribute}
+ \xmlshow {node}
+ \stoptyping \FlushStep
+
+\stopsubject
+
+\StopSteps \page \StartSteps
+
+\startsubject[title=Testing]
+
+ \starttyping
+ \xmldoif {node} {pattern} {true}
+ \xmldoifnot {node} {pattern} {true}
+ \xmldoifelse {node} {pattern} {true} {false}
+ \xmldoiftext {node} {pattern} {true}
+ \xmldoifnottext {node} {pattern} {true}
+ \xmldoifelsetext {node} {pattern} {true} {false}
+ \stoptyping \FlushStep
+
+\stopsubject
+
+\StopSteps
+
+\stopdocument
diff --git a/doc/context/presentations/context/2013/context-2013-math.pdf b/doc/context/presentations/context/2013/context-2013-math.pdf
new file mode 100644
index 000000000..4272d4144
--- /dev/null
+++ b/doc/context/presentations/context/2013/context-2013-math.pdf
Binary files differ
diff --git a/doc/context/presentations/context/2013/context-2013-math.tex b/doc/context/presentations/context/2013/context-2013-math.tex
new file mode 100644
index 000000000..d15fffec2
--- /dev/null
+++ b/doc/context/presentations/context/2013/context-2013-math.tex
@@ -0,0 +1,244 @@
+% \enablemode[print]
+
+\usemodule[present-stepwise,present-tiles,abr-02]
+
+\definecolor[maincolor] [darkgray]
+\definecolor[othercolor][b=.3]
+
+\setupinteractionscreen
+ [option=max]
+
+% \setupalign
+% [flushleft,tolerant]
+
+\defineframed
+ [conclusion]
+ [location=low,
+ width=max,
+ align=flushleft,
+ background=color,
+ backgroundcolor=white,
+ foregroundcolor=othercolor]
+
+\setupbodyfont[15pt]
+
+\startdocument
+ [title={Math:\\\\progress or standing still},
+ %subtitle={Hans Hagen\\TUG Conference\\October 2013}]
+ subtitle={Hans Hagen\\\ConTeXt\ Meeting\\September 2013}]
+
+\StartSteps \starttopic [title={Math as script}]
+
+ \startitem math can be input using the \TEX\ syntax, \MATHML, calculator like sequences, \unknown \FlushStep \stopitem
+ \startitem but apart from content \MATHML\ all stay close to good old \TEX \FlushStep \stopitem
+ \startitem although not officially a script, \OPENTYPE\ treats it as such, but without control \FlushStep \stopitem
+
+ \blank[2*big]
+
+ \starttyping
+ $ ( (x + 1) / a + 1 )^2 = (x - 1) / b $
+ \stoptyping
+
+ \FlushStep
+
+ \starttyping
+ $ \left( \frac{x + 1}{a} + 1 \right)^2 = \frac{x - 1}{b} $
+ \stoptyping
+
+ \FlushStep
+
+ \starttyping
+ <mfenced open="(" close = ")">
+ <mfrac>...</mfrac> <mo>+</mo> <mn>1</mn>
+ </mfenced>
+ \stoptyping
+
+ \FlushStep
+
+ \starttyping
+ <mrow>
+ <mo>(</mo> <mfrac>...</mfrac> <mo>+</mo> <mn>1</mn> <mo>)</mo>
+ </mrow>
+ \stoptyping
+
+ \FlushStep
+
+ \vfilll \conclusion{There is recognition of math as a proper (but not standardized) script.} \FlushStep
+
+\stoptopic \StopSteps
+
+\StartSteps \starttopic [title={Alphabets}]
+
+ \startitem the shape (style) of a character determines its meaning \FlushStep \stopitem
+ \startitem but in most cases an type {a} is entered as \ASCII\ character \FlushStep \stopitem
+ \startitem and tagged with some rendering directive, often indicating a font style \FlushStep \stopitem
+ \startitem in traditional \TEX\ we have alphabets in different fonts, so we're talking switches \FlushStep \stopitem
+ \startitem in \UNICODE\ and \OPENTYPE\ we have alphabets with standardized code points (but gaps too) \FlushStep \stopitem
+ \startitem this has big advantages for communicating, transferring data etc \FlushStep \stopitem
+ \startitem but a math engine still has to deal with \ASCII\ input as well \FlushStep \stopitem
+ \startitem multiple axis: types, alphabets, styles, variants, shapes, modifiers \FlushStep \stopitem
+
+ \vfilll \conclusion{We're off better but the gaps are an anomality.} \FlushStep
+
+\stoptopic \StopSteps
+
+\StartSteps \starttopic [title={Heavy bold}]
+
+ \startitem for titles and captions we might need bolder math \FlushStep \stopitem
+ \startitem bold symbols in math have special meaning \FlushStep \stopitem
+ \startitem so when going full bold they should become heavy \FlushStep \stopitem
+ \startitem heavy math involves boldening everything, including extensibles \FlushStep \stopitem
+ \startitem there are currently no fonts that have such complete heavy companions \FlushStep \stopitem
+
+ \vfilll \conclusion{We need proper bold fonts, but they need to be relatively complete.} \FlushStep
+
+\stoptopic \StopSteps
+
+\StartSteps \starttopic [title={Radicals}]
+
+ \startitem this always has been (and still is) a combination of vertical extensibles and horizontal rules \FlushStep \stopitem
+ \startitem it is the only two dimensional extensible so always a bit of an exception \FlushStep \stopitem
+ \startitem in the wide engines we now have more direct support primitive for that (no macro needed) \FlushStep \stopitem
+ \startitem in practice (at least in \MKIV) we still use macros because we want control \FlushStep \stopitem
+
+ \vfilll \conclusion{Native support for radicals is nice to have and makes coding cleaner.} \FlushStep
+
+\stoptopic \StopSteps
+
+\StartSteps \starttopic [title={Primes}]
+
+ \startitem this is a special case as we (sort of) have upto two superscripts \FlushStep \stopitem
+ \startitem and also need to handle an optional subscript of the base symbol \FlushStep \stopitem
+ \startitem and in order to be visually okay, we need to collect multiple primes \FlushStep \stopitem
+ \startitem some fonts have primes raised, some have them flying high \FlushStep \stopitem
+ \startitem maybe at some point the upcoming math pre- and postscripts will help \FlushStep \stopitem
+
+ \vfilll \conclusion{Supporting primes will always be a bit of a pain but I stay on top of it.} \FlushStep
+
+\stoptopic \StopSteps
+
+\StartSteps \starttopic [title={Accents}]
+
+ \startitem they can go on top or below one or more characters (also in combination) \FlushStep \stopitem
+ \startitem accents have some hard codes positional properties \FlushStep \stopitem
+ \startitem the wide engines have more direct support for this \FlushStep \stopitem
+ \startitem fonts provide a limited set of sizes, such accents cannot extend (by design) \FlushStep \stopitem
+
+ \vfilll \conclusion{Engine support for accents is better now but maybe fonts need to have more sizes.} \FlushStep
+
+\stoptopic \StopSteps
+
+\StartSteps \starttopic [title={Stackers}]
+
+ \startitem arrows (and other horizontal extensibles) traditionally were made from snippets \FlushStep \stopitem
+ \startitem we need them also for chemistry, in rather flexible ways \FlushStep \stopitem
+ \startitem in upcoming math fonts they are become real extensibles \FlushStep \stopitem
+ \startitem but then we still need to deal with existing fonts that lack them (one font in the end) \FlushStep \stopitem
+ \startitem there will be native support for so called character leaders \FlushStep \stopitem
+
+ \vfilll \conclusion{Stackers are more easily implemented although fonts pose some challenges.} \FlushStep
+
+\stoptopic \StopSteps
+
+\StartSteps \starttopic [title={Fences}]
+
+ \startitem these go left and right (or in the middle) of things \FlushStep \stopitem
+ \startitem there need to be a matching pair else we get an error \FlushStep \stopitem
+ \startitem they have to adapt their size to what they wrap \FlushStep \stopitem
+ \startitem \TEX ies can take care of that in their input \FlushStep \stopitem
+ \startitem but in for instance \MATHML\ checking all this is a bit of a pain \FlushStep \stopitem
+ \startitem this is still the domain of macros \FlushStep \stopitem
+ \startitem but we could make the engines a bit more tolerant (hard to do) \FlushStep \stopitem
+
+ \vfilll \conclusion{Matching fences will always be a bit of a problem.} \FlushStep
+
+\stoptopic \StopSteps
+
+\StartSteps \starttopic [title={Directions}]
+
+ \startitem bidirectional math is mostly a matter of the availability of fonts \FlushStep \stopitem
+ \startitem there need to be some agreement (at the macro package level) of control \FlushStep \stopitem
+ \startitem it's (for me) a visually interesting challenge \FlushStep \stopitem
+ \startitem there are some \TEX ies working on these matters (quite some research is done already) \FlushStep \stopitem
+
+ \vfilll \conclusion{Right to left math will show up thanks to pioneers.} \FlushStep
+
+\stoptopic \StopSteps
+
+\StartSteps \starttopic [title={Structure}]
+
+ \startitem demand for tagging also means that we need to carry a bit more info around \FlushStep \stopitem
+ \startitem this puts a little more burden on the user \FlushStep \stopitem
+ \startitem in the end it largely is a macro package issue \FlushStep \stopitem
+ \startitem better tagging of input can also help rendering \FlushStep \stopitem
+ \startitem detailed control at the \TEX\ level makes that users can spoil the game \FlushStep \stopitem
+
+ \vfilll \conclusion{In these times structure gets more important so minimal coding is less an option.} \FlushStep
+
+\stoptopic \StopSteps
+
+\StartSteps \starttopic [title={Italic correction}]
+
+ \startitem in traditional \TEX\ fonts this was used for spacing as well as special purposed \FlushStep \stopitem
+ \startitem across fonts there was never much correction \FlushStep \stopitem
+ \startitem \OPENTYPE\ doesn't have this concept \FlushStep \stopitem
+ \startitem \OPENTYPE\ math has some of if but also more powerful kerning \FlushStep \stopitem
+ \startitem generally speaking: we can ignore italic corrections \FlushStep \stopitem
+
+ \vfilll \conclusion{We need to accept that old concepts die and new onces show up.} \FlushStep
+
+\stoptopic \StopSteps
+
+\StartSteps \starttopic [title={Big}]
+
+ \startitem normally extensible fences are chosen automatically \FlushStep \stopitem
+ \startitem but macro packages provide tricks to choose a size \FlushStep \stopitem
+ \startitem extensible steps are unpredictable but still several mechanisms can be provided \FlushStep \stopitem
+
+ \vfilll \conclusion{Users will always want control and no engine can provide that but macros can.} \FlushStep
+
+\stoptopic \StopSteps
+
+\StartSteps \starttopic [title={Macros}]
+
+ \startitem some special symbols were constructed by macros (and using special font properties) \FlushStep \stopitem
+ \startitem these are mostly gone (the diagonal dots) \FlushStep \stopitem
+ \startitem if it is ever needed again, we should extend the fonts \FlushStep \stopitem
+
+ \vfilll \conclusion{Thanks to new font technologies and wide engines need less dirty tricks.} \FlushStep
+
+\stoptopic \StopSteps
+
+\StartSteps \starttopic [title={Unscripting}]
+
+ \startitem you can bet on those funny \UNICODE\ super and subscripts showing up in input \FlushStep \stopitem
+ \startitem it's a somewhat limited and unuseable lot for math (a modifier would have made more sense) \FlushStep \stopitem
+ \startitem it's one of these legacies that we need to deal with \FlushStep \stopitem
+ \startitem so the macro package needs to intercept them and map them onto proper math \FlushStep \stopitem
+
+ \vfilll \conclusion{We always need to deal with weird input, if only because standards lack.} \FlushStep
+
+\stoptopic \StopSteps
+
+\StartSteps \starttopic [title={Combining fonts}]
+
+ \startitem we can expect math fonts to be rather complete and if not, one should choose another one \FlushStep \stopitem
+ \startitem but sometimes (for simple math) you want to swap in alphabets and digits that match the text font \FlushStep \stopitem
+ \startitem given that we talk of ranges this is easy to support at the macro package level \FlushStep \stopitem
+
+ \vfilll \conclusion{Although fonts are more complete, occasional combinations should remain possible.} \FlushStep
+
+\stoptopic \StopSteps
+
+\StartSteps \starttopic [title={Tracing}]
+
+ \startitem there are lots of symbols involved \FlushStep \stopitem
+ \startitem and we have those extensibles too \FlushStep \stopitem
+ \startitem the larger the fonts get the more checking we need to do \FlushStep \stopitem
+ \startitem so macro packages need to provide some tracing options (or tables in print) \FlushStep \stopitem
+
+ \vfilll \conclusion{We keep an eye on things.} \FlushStep
+
+\stoptopic \StopSteps
+
+\stopdocument
diff --git a/doc/context/presentations/context/2013/context-2013-speed.pdf b/doc/context/presentations/context/2013/context-2013-speed.pdf
new file mode 100644
index 000000000..0f70fe9c8
--- /dev/null
+++ b/doc/context/presentations/context/2013/context-2013-speed.pdf
Binary files differ
diff --git a/doc/context/presentations/context/2013/context-2013-speed.tex b/doc/context/presentations/context/2013/context-2013-speed.tex
new file mode 100644
index 000000000..2c8fc1d31
--- /dev/null
+++ b/doc/context/presentations/context/2013/context-2013-speed.tex
@@ -0,0 +1,108 @@
+% language=uk
+
+% \enablemode[print]
+
+\usemodule[present-stepwise,present-tiles,abr-02]
+
+\definecolor[maincolor] [darkgray]
+\definecolor[othercolor][r=.3,g=.3]
+
+\setupinteractionscreen
+ [option=max]
+
+% \setupalign
+% [flushleft,tolerant]
+
+\setupbodyfont[15pt]
+
+\startdocument
+ [title={Speed:\\\\why it matters\\and why we care},
+ subtitle={Hans Hagen\\\ConTeXt\ Meeting\\September 2013}]
+
+\StartSteps \starttopic [title={Speed}]
+
+ \startitemize
+ \startitem speed matters in a edit-run-preview cycle although this is mostly perception \FlushStep \stopitem
+ \startitem the nicer the interface, the slower it gets, but you seldom set something up so that is not much of a burden\FlushStep \stopitem
+ \startitem everything you provide gets used at some point, also in inefficient ways, so best know your weak spots \FlushStep \stopitem
+ \startitem lots of local (grouped) tweaks leads to many mechanisms kicking in unseen, grouping matters \FlushStep \stopitem
+ \startitem wrong use of functionality can have drastic and unexpected speed penalties \FlushStep \stopitem
+ \stopitemize
+
+\stoptopic \StopSteps
+
+\StartSteps \starttopic [title={Pages per minute}]
+
+ \startitemize
+ \startitem we have speed up the baseline performance (in pages per second) as much as possible \FlushStep \stopitem
+ \startitem we try to identify and optimize critical routines, both at the \TEX\ and \LUA\ end \FlushStep \stopitem
+ \startitem of course the used hardware machine and versions of \LUATEX\ and \CONTEXT\ matter \FlushStep \stopitem
+ \stopitemize
+
+ \blank
+
+ \starttyping
+ \dorecurse {1000} {test \page}
+ \stoptyping
+
+ \FlushStep
+
+ \blank
+
+ \starttabulate[|r|r|r|r|r|r|]
+ \HL
+ \NC \bf \# pages \NC \bf Jan \NC \bf Apr \NC \bf May \NC \bf Sep \NC (nuts) \NC \NR
+ \HL
+ \NC 1 \NC 2 \NC 2 \NC 2 \NC 4 \NC 4 \NC \NR
+ \NC 10 \NC 15 \NC 17 \NC 17 \NC 36 \NC 37 \NC \NR
+ \NC 100 \NC 90 \NC 109 \NC 110 \NC 237 \NC 236 \NC \NR
+ \NC 1000 \NC 185 \NC 234 \NC 259 \NC 509 \NC 512 \NC \NR
+ \NC 10000 \NC 215 \NC 258 \NC 289 \NC 548 \NC 557 \NC \NR
+ \HL
+ \stoptabulate
+
+ < 06/2013, \LUATEX: 0.72+, Dell M90, SSD, 4GB, 2.33 Ghz T7600, Windows 8/32 bit\par
+ > 06/2013, \LUATEX: 0.72+, Dell 6700, SSD, 16GB, 2.80 Ghz 3840QM, Windows 8/64 bit\par
+
+ \FlushStep
+
+\stoptopic \StopSteps
+
+\StartSteps \starttopic [title={What happens}]
+
+ \startitemize
+ \startitem load macros and \LUA\ code is loaded from the format \FlushStep \stopitem
+ \startitem the system gets initialized, think of fonts and languages \FlushStep \stopitem
+ \startitem additional (runtime) files are loaded \FlushStep \stopitem
+ \startitem text is typeset and eventually gets passed to the page builder \FlushStep \stopitem
+ \startitem pages are packaged, this includes reverting to global document states \FlushStep \stopitem
+ \startitem the \PDF\ representation is created \FlushStep \stopitem
+ \startitem each of these steps has its bottlenecks \FlushStep \stopitem
+ \startitem the more we don, the more \LUA\ gets involved \FlushStep \stopitem
+ \stopitemize
+
+\stoptopic \StopSteps
+
+\StartSteps \starttopic [title={What we can do}]
+
+ \startitemize
+ \startitem avoid copying boxes where possible \FlushStep \stopitem
+ \startitem only enable initializers and finalizers when functionality is used \FlushStep \stopitem
+ \startitem be clever with fonts, in usage as well as in supporting features \FlushStep \stopitem
+ \startitem use trial runs in multi||pass mechanisms \FlushStep \stopitem
+ \startitem avoid too much macro expansion (only matters for tracing) \FlushStep \stopitem
+ \startitem accept that more functionality has a price \FlushStep \stopitem
+ \startitem improve the engine and cook up more clever low level code \FlushStep \stopitem
+ \stopitemize
+
+ but
+
+ \startitemize
+ \startitem don't compromise functionality \FlushStep \stopitem
+ \startitem avoid too obscure code \FlushStep \stopitem
+ \startitem forget about optimization by means of combining functionality \FlushStep \stopitem
+ \stopitemize
+
+\stoptopic \StopSteps
+
+\stopdocument
diff --git a/doc/context/presentations/context/2015/context-2015-status.pdf b/doc/context/presentations/context/2015/context-2015-status.pdf
new file mode 100644
index 000000000..49ef295c2
--- /dev/null
+++ b/doc/context/presentations/context/2015/context-2015-status.pdf
Binary files differ
diff --git a/doc/context/presentations/context/2015/context-2015-status.tex b/doc/context/presentations/context/2015/context-2015-status.tex
new file mode 100644
index 000000000..6ccdea876
--- /dev/null
+++ b/doc/context/presentations/context/2015/context-2015-status.tex
@@ -0,0 +1,87 @@
+\usemodule[present-ovals]
+
+\setupwhitespace
+ [halfline]
+
+\doifelsemode {atpragma} {
+ \usetypescriptfile[ghz]
+ \setupbodyfont[palatino-informal]
+ \setupbodyfont[24pt,ss]
+ \definefont[whatever][file:palatinosansinflcom-med*default at 10pt]
+} {
+ \setupbodyfont[palatino]
+ \setupbodyfont[24pt,ss]
+ \definefont[whatever][Bold*default at 10pt]
+}
+
+\setuplayout[topspace=.10\paperheight]
+
+\definecolor[maincolor][orange]
+%definecolor[othercolor][black]
+
+\startuseMPgraphic{common}
+
+ detailpaths ; % let draw = detaileddraw ;
+
+ drawoptionsfactor := .03bp ;
+
+ drawlineoptions (withpen pencircle scaled 1.0 drawoptionsfactor withcolor .5white) ;
+ drawpointoptions (withpen pencircle scaled 4.0 drawoptionsfactor withcolor white) ;
+ drawcontroloptions(withpen pencircle scaled 2.5 drawoptionsfactor withcolor white) ;
+ drawpathoptions (withpen pencircle scaled 5.0 drawoptionsfactor withcolor .8white) ;
+
+ vardef oneliner(expr t, x, y) =
+ outlinetext.b (t) (withcolor .75white) (withcolor .25white) ysized 2cm shifted (x,y)
+ enddef ;
+
+\stopuseMPgraphic
+
+\startuseMPgraphic{whatif}
+ \includeMPgraphic{common}
+ normaldraw oneliner("\whatever \setstrut \strut \ConTeXt", 0mm, 0mm) ;
+ normaldraw oneliner("\whatever \setstrut \strut 2015", 11mm,-20mm) ;
+\stopuseMPgraphic
+
+\startdocument
+
+\startstandardmakeup
+ \scale[width=\textwidth]{\useMPgraphic{whatif}}
+\stopstandardmakeup
+
+\starttexdefinition statusstep #1
+ \startparagraph
+ #1
+ \stopparagraph
+\stoptexdefinition
+
+\starttexdefinition status #1#2
+ \starttitle[title={#1}]
+ \processcommalist[#2]\statusstep
+ \stoptitle
+\stoptexdefinition
+
+\status{fonts} {new loader, stable interfaces, related mechanisms can be cleaned up, extensions possible}
+\status{hyphenation} {experimental, normalization considered}
+\status{spacing} {functional stable, maybe some cleanup needed}
+\status{metafun} {updated tex and backend interface, occasional additions, module for graphs pending}
+\status{math} {stable, some improvements possible, maybe lua variant (fun project)}
+\status{margins} {quite okay, right2left adaption in progress}
+\status{structure} {stable, maybe cleanup}
+\status{conversions} {stable}
+\status{sorting} {works, extension possible, japanese in progress}
+\status{publications}{getting there, documentation pending}
+\status{color} {stable}
+\status{backend} {stable, awaiting some cleanup in engine backend}
+\status{images} {stable}
+\status{epub} {always work in progress}
+\status{columns} {mixed more or less stable, columsets to be redone, better float support needed}
+\status{file io} {stable}
+\status{tables} {stable, maybe some xtables extensions}
+\status{verbatim} {stable, maybe some cleanup}
+\status{xml} {stable, maybe some more helpers}
+\status{positioning} {okay, optimization possible}
+\status{cldf} {okay, always more possible}
+\status{layout} {okay, bidi model neeed}
+\status{scripts} {work in progress}
+
+\stopdocument
diff --git a/doc/context/presentations/context/2016/context-2016-luatex.pdf b/doc/context/presentations/context/2016/context-2016-luatex.pdf
new file mode 100644
index 000000000..2319aa995
--- /dev/null
+++ b/doc/context/presentations/context/2016/context-2016-luatex.pdf
Binary files differ
diff --git a/doc/context/presentations/context/2016/context-2016-luatex.tex b/doc/context/presentations/context/2016/context-2016-luatex.tex
new file mode 100644
index 000000000..348c2ea5f
--- /dev/null
+++ b/doc/context/presentations/context/2016/context-2016-luatex.tex
@@ -0,0 +1,242 @@
+\usemodule[present-luatex]
+
+\startdocument
+ [title={\luaTeX},
+ subtitle={Version 1.00},
+ location={ConTeXt meeting \emdash\ September 2016},
+ mp:title={luatex},
+ mp:subtitle={1.00\space\endash\space2016}]
+
+\startstandardmakeup
+
+After ten years of stepwise development and experimenting we release version 1.00
+of \LuaTeX\ during the 10\high{th} \ConTeXt\ meeting in the Netherlands, September
+2016.
+
+The interface is now rather stable and will not change significantly which means
+that one can write stable packages.
+
+So, it's time for a bit reflection as well as time to tell what we will be doing
+next.
+
+\stopstandardmakeup
+
+\startstandardmakeup
+
+Around 2005, after we talked a bit about it, Hartmut added the \Lua\ scripting
+language to \pdfTeX\ as an experiment.
+
+This add|-|on was inspired by the \Lua\ extension to the Scite editor that I
+(still) use.
+
+\stopstandardmakeup
+
+\startstandardmakeup
+
+One could query counter registers and box dimensions and print strings to the
+\TeX\ input buffer.
+
+The Oriental \TeX\ project then made it possible to go forward and come up with a
+complete interface.
+
+For this, Taco converted the code base from Pascal to C, an impressive effort.
+
+\stopstandardmakeup
+
+\startstandardmakeup
+
+We spent more than a year intensively discussing, testing and implementing
+the interface between \TeX\ and \Lua.
+
+In successive years we polished things and extended bits and pieces.
+
+The last few years we cleaned up, filled in gaps and reached the point where we
+were more of less satisfied.
+
+\stopstandardmakeup
+
+\startstandardmakeup
+
+The core is still traditional \TeX, but extended with \pdfTeX\ protrusion and
+expansion (reworked) and directional features from Aleph (cleaned up).
+
+\stopstandardmakeup
+
+\startstandardmakeup
+
+The font subsystem accept now wide fonts.
+
+The hyphenation machinery can use runtime loaded (and extended) patterns.
+
+Hyphenation, ligaturing, kerning are separated.
+
+Most steps in processing node lists can be intercepted using callbacks.
+
+The math machinery has opentype math code paths.
+
+\stopstandardmakeup
+
+\startstandardmakeup
+
+All in- and output can be controlled and intercepted.
+
+The backend code has been separated better.
+
+You can write (simple) parsers.
+
+Nodes can be accessed and manipulated.
+
+Images and reuseable boxes are now native.
+
+\stopstandardmakeup
+
+\startstandardmakeup
+
+The project is driven by \ConTeXt\ users and \ConTeXt\ development.
+
+Right from the start \ConTeXt\ supported \LuaTeX.
+
+This means that most mechanisms have been tested in production.
+
+Raw performance is less than 8 bit \pdfTeX\ but in practice and on modern
+machines \LuaTeX\ behaves well.
+
+\stopstandardmakeup
+
+\startstandardmakeup
+
+We will continue development, but functionality will stay stable within versions.
+Of course bugs will be fixed.
+
+The code will be further streamlined and documented. We deliberately postponed some
+cleanup till after version 1.00.
+
+Of course the manual will be improved over time.
+
+\stopstandardmakeup
+
+\startstandardmakeup[bottom=,top=]
+
+ \vfil
+
+ \ssbf
+
+ Hans Hagen \par
+ Hartmut Henkel \par
+ Taco Hoekwater \par
+ Luigi Scarso \par
+
+ \vfil \vfil \vfil
+
+ \txx
+
+ many thanks to all the\break
+ early adopters
+
+ \vfil
+
+\stopstandardmakeup
+
+% ideas
+
+\startstandardmakeup
+
+ \midaligned{Some ideas (1)}
+
+ So far we managed to avoid extensions beyond those needed as part of the opening
+ up.
+
+ We stick close to Don Knuths concepts so that existing documentation still
+ conceptualy applies. We keep our promise of not adding to the core.
+
+ We might open up (make configureable) some of the still hard coded properties.
+
+\stopstandardmakeup
+
+\startstandardmakeup
+
+ \midaligned{Some ideas (2)}
+
+ Some node lists can use a bit of (non critical) cleanup, for instance passive
+ nodes, local par nodes, and other left|-|overs. Maybe we should add missing
+ left|/|right skips.
+
+\stopstandardmakeup
+
+\startstandardmakeup
+
+ \midaligned{Some ideas (3)}
+
+ We can optimize some callback resolution (more direct) so that we can gain a little
+ performance.
+
+\stopstandardmakeup
+
+\startstandardmakeup
+
+ \midaligned{Some ideas (4)}
+
+ Inheritance of attributes needs checking and maybe we need to permits some more
+ explicit settings.
+
+\stopstandardmakeup
+
+\startstandardmakeup
+
+ \midaligned{Some ideas (5)}
+
+ Bring some more code to the api file. Use the global PDF and \Lua\ states
+ consistently. Some macros can probably go away.
+
+\stopstandardmakeup
+
+\startstandardmakeup
+
+ \midaligned{Some ideas (6)}
+
+ Minimize return values of \Lua\ functions; only return nil when we expect
+ multiple calls in in one line.
+
+\stopstandardmakeup
+
+\startstandardmakeup
+
+ \midaligned{Some ideas (7)}
+
+ Figure out a way to deal with literals in virtual characters (relates to font
+ switching in the result).
+
+\stopstandardmakeup
+
+\startstandardmakeup
+
+ \midaligned{Some ideas (8)}
+
+ Maybe reorganize some code so that documentation is easier. See if we can stick
+ close to what Don Knuth documents.
+
+\stopstandardmakeup
+
+\startstandardmakeup
+
+ \midaligned{Some ideas (9)}
+
+ Cleanup and isolate the backend a bit more. Maybe add a bit more options to
+ delegate to \Lua. Get rid of some historic PDF artifacts.
+
+\stopstandardmakeup
+
+\startstandardmakeup
+
+ \midaligned{Some ideas (10)}
+
+ It is tempting to think of a (lean and mean) \LuaTeX\ variant for \ConTeXt.
+
+ We will not touch stable unless it concerns bug fixes, but we will expose
+ \ConTeXt\ users to the experimental branch (as we do now).
+
+ So \unknown\ be prepared.
+
+\stopstandardmakeup
+
+\stopdocument
diff --git a/doc/context/presentations/examples/present-tiles-001.pdf b/doc/context/presentations/examples/present-tiles-001.pdf
new file mode 100644
index 000000000..ca04eff4e
--- /dev/null
+++ b/doc/context/presentations/examples/present-tiles-001.pdf
Binary files differ
diff --git a/doc/context/presentations/examples/present-tiles-001.tex b/doc/context/presentations/examples/present-tiles-001.tex
new file mode 100644
index 000000000..ca9799a71
--- /dev/null
+++ b/doc/context/presentations/examples/present-tiles-001.tex
@@ -0,0 +1,20 @@
+\usemodule[present-tiles]
+
+\startdocument[title=Whatever We\\Want Here,subtitle=Whatever We\\Want There]
+
+\dorecurse {12} {
+ \starttopic[title=Topic #1]
+ \input tufte
+ \blank[3*line]
+ \bold{Buttons (roll-over in acrobat):}
+ \blank[line]
+ \starttabulate[|T||]
+ \NC click left top \NC home \NC \NR
+ \NC click right top \NC contents \NC \NR
+ \NC click left bottom \NC previous \NC \NR
+ \NC click left bottom \NC next page \NC \NR
+ \stoptabulate
+ \stoptopic
+}
+
+\stopdocument
diff --git a/doc/context/presentations/present-readme.pdf b/doc/context/presentations/present-readme.pdf
new file mode 100644
index 000000000..e937a5e3e
--- /dev/null
+++ b/doc/context/presentations/present-readme.pdf
Binary files differ
diff --git a/doc/context/presentations/present-readme.tex b/doc/context/presentations/present-readme.tex
new file mode 100644
index 000000000..f6c6fb10f
--- /dev/null
+++ b/doc/context/presentations/present-readme.tex
@@ -0,0 +1,33 @@
+\usemodule[art-01]
+
+\noheaderandfooterlines
+
+\starttext
+
+\subject{Presentations}
+
+For demonstration purposes we ship some presentations. Some of these are called
+up when a style is processed (in demo mode). The look and feel evolves with
+\ConTeXt\ and often a style uses some trickery (\TeX, \ConTeXt, \MetaPost, \Lua\
+etc.) I was playing with at that moment. The older styles therefore use more PDF
+trickery than the later ones (especially because in the end the viewers were less
+stable than we hoped).
+
+Of the hundreds of presentations made so far only a subset can be found here. You
+can find some more on the web (conference websites). Many presentations are
+outdated but might have some historic value or show some tricks. The real old
+ones are not here anyway. Some presentations build upon a previous one although I
+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\
+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
+found them irrelevant for reuse. You can always report a missing one in which
+case I'll see if I can find back the source. If you really want some MkII style
+in MkIV too, let me know.
+
+Hans Hagen
+
+\stoptext
diff --git a/metapost/context/base/mpiv/mp-core.mpiv b/metapost/context/base/mpiv/mp-core.mpiv
index 9b7182908..e826e837c 100644
--- a/metapost/context/base/mpiv/mp-core.mpiv
+++ b/metapost/context/base/mpiv/mp-core.mpiv
@@ -513,9 +513,6 @@ def do_initialize_par (expr fpos, tpos, mpos, ppos, rw,rl,rr,rh,ra,ri) =
enddef ;
-TopSkip := 0 ; % will move
-StrutHeight := 0 ; % will move
-
pair last_multi_par_shift ; last_multi_par_shift := origin ;
def relocate_multipars (expr xy) =
diff --git a/scripts/context/lua/mtxrun.lua b/scripts/context/lua/mtxrun.lua
index d13a290a5..b90f535fc 100644
--- a/scripts/context/lua/mtxrun.lua
+++ b/scripts/context/lua/mtxrun.lua
@@ -6007,7 +6007,7 @@ do -- create closure to overcome 200 locals limit
package.loaded["util-tab"] = package.loaded["util-tab"] or true
--- original size: 29054, stripped down to: 18735
+-- original size: 29032, stripped down to: 18719
if not modules then modules={} end modules ['util-tab']={
version=1.001,
@@ -6398,7 +6398,7 @@ function table.twowaymapper(t)
t={}
else
local zero=rawget(t,0)
- for i=zero or 1,#t do
+ for i=zero and 0 or 1,#t do
local ti=t[i]
if ti then
local i=tostring(i)
@@ -6406,7 +6406,6 @@ function table.twowaymapper(t)
t[ti]=i
end
end
- t[""]=zero or ""
end
setmetatable(t,selfmapper)
return t
@@ -19000,8 +18999,8 @@ end -- of closure
-- used libraries : l-lua.lua l-package.lua l-lpeg.lua l-function.lua l-string.lua l-table.lua l-io.lua l-number.lua l-set.lua l-os.lua l-file.lua l-gzip.lua l-md5.lua l-url.lua l-dir.lua l-boolean.lua l-unicode.lua l-math.lua util-str.lua util-tab.lua util-fil.lua util-sac.lua util-sto.lua util-prs.lua util-fmt.lua trac-set.lua trac-log.lua trac-inf.lua trac-pro.lua util-lua.lua util-deb.lua util-mrg.lua util-tpl.lua util-env.lua luat-env.lua lxml-tab.lua lxml-lpt.lua lxml-mis.lua lxml-aux.lua lxml-xml.lua trac-xml.lua data-ini.lua data-exp.lua data-env.lua data-tmp.lua data-met.lua data-res.lua data-pre.lua data-inp.lua data-out.lua data-fil.lua data-con.lua data-use.lua data-zip.lua data-tre.lua data-sch.lua data-lua.lua data-aux.lua data-tmf.lua data-lst.lua util-lib.lua luat-sta.lua luat-fmt.lua
-- skipped libraries : -
--- original bytes : 806828
--- stripped bytes : 292984
+-- original bytes : 806806
+-- stripped bytes : 292978
-- end library merge
diff --git a/scripts/context/stubs/mswin/mtxrun.lua b/scripts/context/stubs/mswin/mtxrun.lua
index d13a290a5..b90f535fc 100644
--- a/scripts/context/stubs/mswin/mtxrun.lua
+++ b/scripts/context/stubs/mswin/mtxrun.lua
@@ -6007,7 +6007,7 @@ do -- create closure to overcome 200 locals limit
package.loaded["util-tab"] = package.loaded["util-tab"] or true
--- original size: 29054, stripped down to: 18735
+-- original size: 29032, stripped down to: 18719
if not modules then modules={} end modules ['util-tab']={
version=1.001,
@@ -6398,7 +6398,7 @@ function table.twowaymapper(t)
t={}
else
local zero=rawget(t,0)
- for i=zero or 1,#t do
+ for i=zero and 0 or 1,#t do
local ti=t[i]
if ti then
local i=tostring(i)
@@ -6406,7 +6406,6 @@ function table.twowaymapper(t)
t[ti]=i
end
end
- t[""]=zero or ""
end
setmetatable(t,selfmapper)
return t
@@ -19000,8 +18999,8 @@ end -- of closure
-- used libraries : l-lua.lua l-package.lua l-lpeg.lua l-function.lua l-string.lua l-table.lua l-io.lua l-number.lua l-set.lua l-os.lua l-file.lua l-gzip.lua l-md5.lua l-url.lua l-dir.lua l-boolean.lua l-unicode.lua l-math.lua util-str.lua util-tab.lua util-fil.lua util-sac.lua util-sto.lua util-prs.lua util-fmt.lua trac-set.lua trac-log.lua trac-inf.lua trac-pro.lua util-lua.lua util-deb.lua util-mrg.lua util-tpl.lua util-env.lua luat-env.lua lxml-tab.lua lxml-lpt.lua lxml-mis.lua lxml-aux.lua lxml-xml.lua trac-xml.lua data-ini.lua data-exp.lua data-env.lua data-tmp.lua data-met.lua data-res.lua data-pre.lua data-inp.lua data-out.lua data-fil.lua data-con.lua data-use.lua data-zip.lua data-tre.lua data-sch.lua data-lua.lua data-aux.lua data-tmf.lua data-lst.lua util-lib.lua luat-sta.lua luat-fmt.lua
-- skipped libraries : -
--- original bytes : 806828
--- stripped bytes : 292984
+-- original bytes : 806806
+-- stripped bytes : 292978
-- end library merge
diff --git a/scripts/context/stubs/unix/mtxrun b/scripts/context/stubs/unix/mtxrun
index d13a290a5..b90f535fc 100644
--- a/scripts/context/stubs/unix/mtxrun
+++ b/scripts/context/stubs/unix/mtxrun
@@ -6007,7 +6007,7 @@ do -- create closure to overcome 200 locals limit
package.loaded["util-tab"] = package.loaded["util-tab"] or true
--- original size: 29054, stripped down to: 18735
+-- original size: 29032, stripped down to: 18719
if not modules then modules={} end modules ['util-tab']={
version=1.001,
@@ -6398,7 +6398,7 @@ function table.twowaymapper(t)
t={}
else
local zero=rawget(t,0)
- for i=zero or 1,#t do
+ for i=zero and 0 or 1,#t do
local ti=t[i]
if ti then
local i=tostring(i)
@@ -6406,7 +6406,6 @@ function table.twowaymapper(t)
t[ti]=i
end
end
- t[""]=zero or ""
end
setmetatable(t,selfmapper)
return t
@@ -19000,8 +18999,8 @@ end -- of closure
-- used libraries : l-lua.lua l-package.lua l-lpeg.lua l-function.lua l-string.lua l-table.lua l-io.lua l-number.lua l-set.lua l-os.lua l-file.lua l-gzip.lua l-md5.lua l-url.lua l-dir.lua l-boolean.lua l-unicode.lua l-math.lua util-str.lua util-tab.lua util-fil.lua util-sac.lua util-sto.lua util-prs.lua util-fmt.lua trac-set.lua trac-log.lua trac-inf.lua trac-pro.lua util-lua.lua util-deb.lua util-mrg.lua util-tpl.lua util-env.lua luat-env.lua lxml-tab.lua lxml-lpt.lua lxml-mis.lua lxml-aux.lua lxml-xml.lua trac-xml.lua data-ini.lua data-exp.lua data-env.lua data-tmp.lua data-met.lua data-res.lua data-pre.lua data-inp.lua data-out.lua data-fil.lua data-con.lua data-use.lua data-zip.lua data-tre.lua data-sch.lua data-lua.lua data-aux.lua data-tmf.lua data-lst.lua util-lib.lua luat-sta.lua luat-fmt.lua
-- skipped libraries : -
--- original bytes : 806828
--- stripped bytes : 292984
+-- original bytes : 806806
+-- stripped bytes : 292978
-- end library merge
diff --git a/scripts/context/stubs/win64/mtxrun.lua b/scripts/context/stubs/win64/mtxrun.lua
index d13a290a5..b90f535fc 100644
--- a/scripts/context/stubs/win64/mtxrun.lua
+++ b/scripts/context/stubs/win64/mtxrun.lua
@@ -6007,7 +6007,7 @@ do -- create closure to overcome 200 locals limit
package.loaded["util-tab"] = package.loaded["util-tab"] or true
--- original size: 29054, stripped down to: 18735
+-- original size: 29032, stripped down to: 18719
if not modules then modules={} end modules ['util-tab']={
version=1.001,
@@ -6398,7 +6398,7 @@ function table.twowaymapper(t)
t={}
else
local zero=rawget(t,0)
- for i=zero or 1,#t do
+ for i=zero and 0 or 1,#t do
local ti=t[i]
if ti then
local i=tostring(i)
@@ -6406,7 +6406,6 @@ function table.twowaymapper(t)
t[ti]=i
end
end
- t[""]=zero or ""
end
setmetatable(t,selfmapper)
return t
@@ -19000,8 +18999,8 @@ end -- of closure
-- used libraries : l-lua.lua l-package.lua l-lpeg.lua l-function.lua l-string.lua l-table.lua l-io.lua l-number.lua l-set.lua l-os.lua l-file.lua l-gzip.lua l-md5.lua l-url.lua l-dir.lua l-boolean.lua l-unicode.lua l-math.lua util-str.lua util-tab.lua util-fil.lua util-sac.lua util-sto.lua util-prs.lua util-fmt.lua trac-set.lua trac-log.lua trac-inf.lua trac-pro.lua util-lua.lua util-deb.lua util-mrg.lua util-tpl.lua util-env.lua luat-env.lua lxml-tab.lua lxml-lpt.lua lxml-mis.lua lxml-aux.lua lxml-xml.lua trac-xml.lua data-ini.lua data-exp.lua data-env.lua data-tmp.lua data-met.lua data-res.lua data-pre.lua data-inp.lua data-out.lua data-fil.lua data-con.lua data-use.lua data-zip.lua data-tre.lua data-sch.lua data-lua.lua data-aux.lua data-tmf.lua data-lst.lua util-lib.lua luat-sta.lua luat-fmt.lua
-- skipped libraries : -
--- original bytes : 806828
--- stripped bytes : 292984
+-- original bytes : 806806
+-- stripped bytes : 292978
-- end library merge
diff --git a/tex/context/base/mkii/cont-new.mkii b/tex/context/base/mkii/cont-new.mkii
index 0a50da857..ccbf33ef8 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.10.22 10:43}
+\newcontextversion{2016.10.25 09:57}
%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 f275566cc..a8c8bd00b 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.10.22 10:43}
+\edef\contextversion{2016.10.25 09:57}
%D For those who want to use this:
diff --git a/tex/context/base/mkiv/cont-fil.mkiv b/tex/context/base/mkiv/cont-fil.mkiv
index 19c1c93ac..4e5075b6b 100644
--- a/tex/context/base/mkiv/cont-fil.mkiv
+++ b/tex/context/base/mkiv/cont-fil.mkiv
@@ -81,13 +81,19 @@
%definefilesynonym [pre-more] [pre-29]
%definefilesynonym [pre-more] [pre-30]
-\definefilesynonym [pre-tiles] [pre-41]
-
-\definefilesynonym [pre-stepwise] [pre-60]
-\definefilesynonym [pre-stepper] [pre-61]
-
-\definefilesynonym [pre-punk] [pre-70]
-\definefilesynonym [pre-random] [pre-71]
+\definefilesynonym [pre-41] [present-tiles]
+\definefilesynonym [pre-62] [present-overlap]
+
+\definefilesynonym [pre-60] [present-stepwise]
+\definefilesynonym [pre-61] [present-stepper]
+\definefilesynonym [pre-69] [present-wobbling]
+\definefilesynonym [pre-70] [present-punk]
+\definefilesynonym [pre-71] [present-random]
+
+\definefilesynonym [pre-stepwise] [present-stepwise]
+\definefilesynonym [pre-stepper] [present-stepper]
+\definefilesynonym [pre-random] [present-random]
+\definefilesynonym [pre-punk] [present-punk]
\definefilesynonym [abr-pseudocaps] [abr-01]
\definefilesynonym [abr-smallcaps] [abr-02]
diff --git a/tex/context/base/mkiv/cont-new.mkiv b/tex/context/base/mkiv/cont-new.mkiv
index 980b1502b..e78789676 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.10.22 10:43}
+\newcontextversion{2016.10.25 09:57}
%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 1dee0f025..8f31103a2 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.10.22 10:43}
+\edef\contextversion{2016.10.25 09:57}
\edef\contextkind {beta}
%D For those who want to use this:
diff --git a/tex/context/base/mkiv/file-job.mkvi b/tex/context/base/mkiv/file-job.mkvi
index 78ec0d9a4..75362d5a9 100644
--- a/tex/context/base/mkiv/file-job.mkvi
+++ b/tex/context/base/mkiv/file-job.mkvi
@@ -325,6 +325,17 @@
\unexpanded\def\presetdocument[#settings]%
{\checkvariables[\s!document][#settings]}
+% We silently ignore missing documents. Beware: there are no begin/end setups
+% invoked as we expect the loaded document to be wrapped in \startdocument ...
+% \stopdocument. This is just a convenient variant of input.
+%
+% \unexpanded\def\document
+% {\dosingleempty\syst_document}
+%
+% \def\syst_document[#1]#2%
+% \startdocument[#1]
+% \readfile{#2}{}{}}
+
% metadata:author metadata:title metadata:subject
\setvariables
diff --git a/tex/context/base/mkiv/font-ctx.lua b/tex/context/base/mkiv/font-ctx.lua
index 0eb6955d0..8905cabc0 100644
--- a/tex/context/base/mkiv/font-ctx.lua
+++ b/tex/context/base/mkiv/font-ctx.lua
@@ -160,9 +160,10 @@ if _LUAVERSION < 5.2 then
formatters.add(formatters,"font:features",[["'"..sequenced(%s," ",true).."'"]],"local sequenced = table.sequenced")
else
+ -- somehow can fail:
formatters.add(formatters,"font:name", [["'"..fontname(%s).."'"]], { fontname = helpers.name })
- formatters.add(formatters,"font:features",[["'"..sequenced(%s," ",true).."'"]],{ sequenced = table.sequenced })
+ formatters.add(formatters,"font:features",[["'"..sequenced(%s," ",true).."'"]],{ sequenced = table.sequenced })
end
@@ -540,10 +541,11 @@ local function presetcontext(name,parent,features) -- will go to con and shared
for p in gmatch(parent,"[^, ]+") do
local s = setups[p]
if s then
- for k,v in next, s do
- if features[k] == nil then
+ for k, v in next, s do
+-- no, as then we cannot overload: e.g. math,mathextra
+-- if features[k] == nil then
features[k] = v
- end
+-- end
end
else
-- just ignore an undefined one .. i.e. we can refer to not yet defined
@@ -1093,7 +1095,7 @@ do -- else too many locals
local scaledfontmode = scaninteger() -- \scaledfontmode
if trace_defining then
- report_defining("start stage two: %s (size %s)",str,size)
+ report_defining("start stage two: %s, size %s, features %a & %a",str,size,classfeatures,fontfeatures)
end
-- name is now resolved and size is scaled cf sa/mo
local lookup, name, sub, method, detail = getspecification(str or "")
diff --git a/tex/context/base/mkiv/font-pre.mkiv b/tex/context/base/mkiv/font-pre.mkiv
index 732a9e6fb..d3a4d5584 100644
--- a/tex/context/base/mkiv/font-pre.mkiv
+++ b/tex/context/base/mkiv/font-pre.mkiv
@@ -252,6 +252,7 @@
mathnolimitsmode={0,800}, % this looks okay on the average font
mathalternates=yes,
mathitalics=yes, % we pass them
+ mathdimensions=all,
% mathgaps=yes,
language=dflt,
script=math]
diff --git a/tex/context/base/mkiv/font-sel.mkvi b/tex/context/base/mkiv/font-sel.mkvi
index 83b7a6b25..a78742928 100644
--- a/tex/context/base/mkiv/font-sel.mkvi
+++ b/tex/context/base/mkiv/font-sel.mkvi
@@ -176,7 +176,7 @@
%D The \tex{definefontfamily} creates like \tex{definetypeface} a collection of font
%D with different styles which can be later called with the \tex{setupbodyfont} command.
%D
-%D The command takes three mendatory commands which are (a) the name of the fontclass,
+%D The command takes three mandatory commands which are (a) the name of the fontclass,
%D (b) the styles of the font and (c) the name of the font.
%D
%D \starttyping
@@ -290,4 +290,4 @@
\s!rscale=\selectfontparameter\c!scale,
\c!scale=1]
-\protect \ No newline at end of file
+\protect
diff --git a/tex/context/base/mkiv/lpdf-ini.lua b/tex/context/base/mkiv/lpdf-ini.lua
index c36f629c5..b4c8be7b1 100644
--- a/tex/context/base/mkiv/lpdf-ini.lua
+++ b/tex/context/base/mkiv/lpdf-ini.lua
@@ -1188,23 +1188,13 @@ end
do
- -- local f_actual_text_one = formatters["BT /Span << /ActualText <feff%04x> >> BDC [<feff>] TJ %s EMC ET"]
- -- local f_actual_text_two = formatters["BT /Span << /ActualText <feff%04x%04x> >> BDC [<feff>] TJ %s EMC ET"]
- -- local f_actual_text_one_b = formatters["BT /Span << /ActualText <feff%04x> >> BDC [<feff>] TJ "]
- -- local f_actual_text_two_b = formatters["BT /Span << /ActualText <feff%04x%04x> >> BDC [<feff>] TJ "]
- -- local f_actual_text_b = formatters["BT /Span << /ActualText <feff%s> >> BDC [<feff>] TJ "]
- -- local s_actual_text_e = "EMC ET"
- -- local f_actual_text_b_not = formatters["/Span << /ActualText <feff%s> >> BDC [<feff>] TJ "]
- -- local s_actual_text_e_not = "EMC"
- -- local f_actual_text = formatters["/Span <</ActualText %s >> BDC"]
-
- local f_actual_text_one = formatters["BT /Span << /ActualText <feff%04x> >> %s EMC ET"]
- local f_actual_text_two = formatters["BT /Span << /ActualText <feff%04x%04x> >> %s EMC ET"]
- local f_actual_text_one_b = formatters["BT /Span << /ActualText <feff%04x> >> "]
- local f_actual_text_two_b = formatters["BT /Span << /ActualText <feff%04x%04x> >> "]
- local f_actual_text_b = formatters["BT /Span << /ActualText <feff%s> >> "]
+ local f_actual_text_one = formatters["BT /Span << /ActualText <feff%04x> >> BDC %s EMC ET"]
+ local f_actual_text_two = formatters["BT /Span << /ActualText <feff%04x%04x> >> BDC %s EMC ET"]
+ local f_actual_text_one_b = formatters["BT /Span << /ActualText <feff%04x> >> BDC"]
+ local f_actual_text_two_b = formatters["BT /Span << /ActualText <feff%04x%04x> >> BDC"]
+ local f_actual_text_b = formatters["BT /Span << /ActualText <feff%s> >> BDC"]
local s_actual_text_e = "EMC ET"
- local f_actual_text_b_not = formatters["/Span << /ActualText <feff%s> >> "]
+ local f_actual_text_b_not = formatters["/Span << /ActualText <feff%s> >> BDC"]
local s_actual_text_e_not = "EMC"
local f_actual_text = formatters["/Span <</ActualText %s >> BDC"]
diff --git a/tex/context/base/mkiv/math-act.lua b/tex/context/base/mkiv/math-act.lua
index 83ea0996b..602c3dc89 100644
--- a/tex/context/base/mkiv/math-act.lua
+++ b/tex/context/base/mkiv/math-act.lua
@@ -301,7 +301,9 @@ function mathematics.overloaddimensions(target,original,set)
end
end
-sequencers.appendaction("aftercopyingcharacters", "system","mathematics.overloaddimensions")
+-- no, it's a feature now (see good-mth):
+--
+-- sequencers.appendaction("aftercopyingcharacters", "system","mathematics.overloaddimensions")
-- a couple of predefined tweaks:
diff --git a/tex/context/base/mkiv/mlib-int.lua b/tex/context/base/mkiv/mlib-int.lua
index 91ac970ba..13124807d 100644
--- a/tex/context/base/mkiv/mlib-int.lua
+++ b/tex/context/base/mkiv/mlib-int.lua
@@ -68,11 +68,11 @@ function mp.NOfPages () mpprint(getcount("lastpageno"))
function mp.CurrentColumn () mpprint(getcount("mofcolumns")) end
function mp.NOfColumns () mpprint(getcount("nofcolumns")) end
-function mp.BaseLineSkip () mpprint(getdimen("baselineskip") *factor) end
+function mp.BaseLineSkip () mpprint(get ("baselineskip").width *factor) end
function mp.LineHeight () mpprint(getdimen("lineheight") *factor) end
function mp.BodyFontSize () mpprint(getdimen("bodyfontsize") *factor) end
-function mp.TopSkip () mpprint(getdimen("topskip") *factor) end
+function mp.TopSkip () mpprint(get ("topskip").width *factor) end
function mp.StrutHeight () mpprint(getdimen("strutht") *factor) end
function mp.StrutDepth () mpprint(getdimen("strutdp") *factor) end
@@ -80,8 +80,8 @@ function mp.PageNumber () mpprint(getcount("pageno"))
function mp.RealPageNumber () mpprint(getcount("realpageno")) end
function mp.NOfPages () mpprint(getcount("lastpageno")) end
-function mp.CurrentWidth () mpprint(get("hsize") *factor) end
-function mp.CurrentHeight () mpprint(get("vsize") *factor) end
+function mp.CurrentWidth () mpprint(get ("hsize") *factor) end
+function mp.CurrentHeight () mpprint(get ("vsize") *factor) end
function mp.EmWidth () mpprint(emwidths [false]*factor) end
function mp.ExHeight () mpprint(exheights[false]*factor) end
diff --git a/tex/context/base/mkiv/status-files.pdf b/tex/context/base/mkiv/status-files.pdf
index 1b3bf27bf..3e2ac5f8c 100644
--- a/tex/context/base/mkiv/status-files.pdf
+++ b/tex/context/base/mkiv/status-files.pdf
Binary files differ
diff --git a/tex/context/base/mkiv/status-lua.pdf b/tex/context/base/mkiv/status-lua.pdf
index 8d45cf09a..f98279189 100644
--- a/tex/context/base/mkiv/status-lua.pdf
+++ b/tex/context/base/mkiv/status-lua.pdf
Binary files differ
diff --git a/tex/context/base/mkiv/strc-tag.lua b/tex/context/base/mkiv/strc-tag.lua
index 8f2e18978..9d1fec33e 100644
--- a/tex/context/base/mkiv/strc-tag.lua
+++ b/tex/context/base/mkiv/strc-tag.lua
@@ -315,7 +315,7 @@ function tags.start(tag,specification)
metadata = nil
end
local userdata = specification.userdata
- if user ~= "" and type(userdata) == "string" then
+ if userdata ~= "" and type(userdata) == "string" then
specification.userdata = settings_to_hash(userdata)
end
local detail = specification.detail
diff --git a/tex/context/base/mkiv/util-tab.lua b/tex/context/base/mkiv/util-tab.lua
index 9266598db..0ebe1b5b1 100644
--- a/tex/context/base/mkiv/util-tab.lua
+++ b/tex/context/base/mkiv/util-tab.lua
@@ -491,7 +491,7 @@ function table.twowaymapper(t)
t = { }
else
local zero = rawget(t,0)
- for i=zero or 1,#t do
+ for i=zero and 0 or 1,#t do
local ti = t[i] -- t[1] = "one"
if ti then
local i = tostring(i)
@@ -499,7 +499,6 @@ function table.twowaymapper(t)
t[ti] = i -- t["one"] = "1"
end
end
- t[""] = zero or ""
end
-- setmetatableindex(t,"key")
setmetatable(t,selfmapper)
diff --git a/tex/context/fonts/mkiv/lm.lfg b/tex/context/fonts/mkiv/lm.lfg
index 7ea5059e9..aebedd01b 100644
--- a/tex/context/fonts/mkiv/lm.lfg
+++ b/tex/context/fonts/mkiv/lm.lfg
@@ -26,6 +26,15 @@ return {
-- default = {
-- },
-- driven by 'mathdimensions' feature
+ default = {
+ -- the root is quite displaced
+ [0x221A] = {
+ -- 73, -960, 853, 40
+ yoffset = 960 - 40,
+ height = 960,
+ depth = 40,
+ },
+ },
signs = {
-- set dimensions
-- [0x00B1] = { -- ±
diff --git a/tex/context/fonts/mkiv/type-imp-asana.mkiv b/tex/context/fonts/mkiv/type-imp-asana.mkiv
index b87c969e2..c48d3b7ad 100644
--- a/tex/context/fonts/mkiv/type-imp-asana.mkiv
+++ b/tex/context/fonts/mkiv/type-imp-asana.mkiv
@@ -21,7 +21,7 @@
\starttypescript [\s!math] [asana] [\s!name]
\loadfontgoodies[asana-math]
- \definefontsynonym [MathRoman] [AsanaMath] [\s!features=\s!math\mathsizesuffix,\s!goodies=asana-math]
+ \definefontsynonym [MathRoman] [AsanaMath] [\s!features={\s!math\mathsizesuffix,mathextra},\s!goodies=asana-math]
\stoptypescript
\starttypescript[asana]
diff --git a/tex/context/fonts/mkiv/type-imp-cambria.mkiv b/tex/context/fonts/mkiv/type-imp-cambria.mkiv
index 8154817bd..f5679fd92 100644
--- a/tex/context/fonts/mkiv/type-imp-cambria.mkiv
+++ b/tex/context/fonts/mkiv/type-imp-cambria.mkiv
@@ -42,15 +42,15 @@
\starttypescript [\s!math] [cambria,cambria-m,cambria-a] [\s!name]
\loadfontgoodies[cambria-math]
- \definefontsynonym [\s!MathRoman] [CambriaMath] [\s!features=\s!math\mathsizesuffix,\s!goodies=cambria-math]
+ \definefontsynonym [\s!MathRoman] [CambriaMath] [\s!features={\s!math\mathsizesuffix,mathextra},\s!goodies=cambria-math]
\stoptypescript
\starttypescript [\s!math] [cambria-x] [\s!name]
\loadfontgoodies[cambria-math]
- \definefontsynonym [\s!MathRoman] [CambriaMath] [\s!features=\s!math,\s!goodies=cambria-math]
+ \definefontsynonym [\s!MathRoman] [CambriaMath] [\s!features={\s!math,mathextra},\s!goodies=cambria-math]
\stoptypescript
\starttypescript [\s!math] [cambria-y] [\s!name]
\loadfontgoodies[cambria-math]
- \definefontsynonym [\s!MathRoman] [CambriaMath] [\s!features=\s!math-nostack\mathsizesuffix,\s!goodies=cambria-math]
+ \definefontsynonym [\s!MathRoman] [CambriaMath] [\s!features={\s!math-nostack\mathsizesuffix,mathextra},\s!goodies=cambria-math]
\stoptypescript
\starttypescript [\s!serif] [cambria,cambria-m,cambria-a] [\s!name]
diff --git a/tex/context/fonts/mkiv/type-imp-dejavu.mkiv b/tex/context/fonts/mkiv/type-imp-dejavu.mkiv
index 6ae26e0a7..710aada5d 100644
--- a/tex/context/fonts/mkiv/type-imp-dejavu.mkiv
+++ b/tex/context/fonts/mkiv/type-imp-dejavu.mkiv
@@ -41,8 +41,7 @@
\starttypescript [\s!math][dejavu][\s!name]
\loadfontgoodies[dejavu-math]
- % \definefontsynonym[\s!MathRoman][file:dejavu-math.otf][\s!features=\s!math\mathsizesuffix]
- \definefontsynonym[\s!MathRoman][file:texgyredejavu-math][\s!features=\s!math\mathsizesuffix,\s!goodies=dejavu-math]
+ \definefontsynonym[\s!MathRoman][file:texgyredejavu-math][\s!features={\s!math\mathsizesuffix,mathextra},\s!goodies=dejavu-math]
\stoptypescript
\starttypescript[dejavu]
diff --git a/tex/context/fonts/mkiv/type-imp-euler.mkiv b/tex/context/fonts/mkiv/type-imp-euler.mkiv
index d3b552b56..e98a6e963 100644
--- a/tex/context/fonts/mkiv/type-imp-euler.mkiv
+++ b/tex/context/fonts/mkiv/type-imp-euler.mkiv
@@ -49,7 +49,7 @@
\starttypescript [\s!math] [eulernova] [\s!name]
\loadfontgoodies[euler-math]
- \definefontsynonym [MathRoman] [\s!file:euler.otf] [\s!features=\s!math\mathsizesuffix]
+ \definefontsynonym [MathRoman] [\s!file:euler.otf] [\s!features={\s!math\mathsizesuffix,mathextra}]
\stoptypescript
\starttypescript [pagella-eulernova]
@@ -67,11 +67,11 @@
\stoptypescript
\starttypescript [\s!math] [euleroverpagella] [\s!name]
- \definefontsynonym [MathRoman] [texgyrepagella-math] [\s!features=\s!math\mathsizesuffix,\s!fallbacks=euleroverpagella]
+ \definefontsynonym [MathRoman] [texgyrepagella-math] [\s!features={\s!math\mathsizesuffix,mathextra},\s!fallbacks=euleroverpagella]
\stoptypescript
\starttypescript [\s!math] [pagellaovereuler] [\s!name]
- \definefontsynonym [MathRoman] [\s!file:euler.otf] [\s!features=\s!math\mathsizesuffix,\s!fallbacks=pagellaovereuler]
+ \definefontsynonym [MathRoman] [\s!file:euler.otf] [\s!features={\s!math\mathsizesuffix,mathextra},\s!fallbacks=pagellaovereuler]
\stoptypescript
\starttypescript [pagella-with-euler]
diff --git a/tex/context/fonts/mkiv/type-imp-koeielettersot.mkiv b/tex/context/fonts/mkiv/type-imp-koeielettersot.mkiv
index 44176b67c..b878c9f4e 100644
--- a/tex/context/fonts/mkiv/type-imp-koeielettersot.mkiv
+++ b/tex/context/fonts/mkiv/type-imp-koeielettersot.mkiv
@@ -72,27 +72,27 @@
\starttypescript [\s!all] [cowsotf]
\definefontsynonym [Cows] [koeielettersot][\s!features=cowsdefault]
\definefontsynonym [CowsLogo] [koeielettersot][\s!features=cowslogos]
- \definefontsynonym [CowsMathRoman][koeielettersot][\s!goodies=koeielettersot]
+ \definefontsynonym [CowsMathRoman][koeielettersot][\s!features=mathextra,\s!goodies=koeielettersot]
\stoptypescript
\starttypescript [\s!all] [koeielettersotf,sheepotf]
\definefontsynonym [Sheep] [koeielettersot][\s!features=sheepdefault]
\definefontsynonym [SheepLogo] [koeielettersot][\s!features=cowslogos]
- \definefontsynonym [SheepMathRoman][koeielettersot][\s!features=mathsheepdigits,\s!goodies=koeielettersot]
+ \definefontsynonym [SheepMathRoman][koeielettersot][\s!features={mathsheepdigits,mathextra},\s!goodies=koeielettersot]
\stoptypescript
-% \definefontsynonym[\s!MathRoman][file:texgyredejavu-math][\s!features=\s!math\mathsizesuffix,\s!goodies=dejavu-math]
+% \definefontsynonym[\s!MathRoman][file:texgyredejavu-math][\s!features={\s!math\mathsizesuffix,mathextra},\s!goodies=dejavu-math]
\starttypescript [\s!all] [coloredcowsotf]
\definefontsynonym [Cows] [koeielettersot][\s!features=cowscolored]
\definefontsynonym [CowsLogo] [koeielettersot][\s!features=cowslogos]
- \definefontsynonym [CowsMathRoman][koeielettersot][\s!goodies=koeielettersot]
+ \definefontsynonym [CowsMathRoman][koeielettersot][\s!features=mathextra,\s!goodies=koeielettersot]
\stoptypescript
\starttypescript [\s!all] [coloredsheepotf]
\definefontsynonym [Sheep] [koeielettersot][\s!features=sheepcolored]
\definefontsynonym [SheepLogo] [koeielettersot][\s!features=cowslogos]
- \definefontsynonym [SheepMathRoman][koeielettersot][\s!features=mathsheepdigits,\s!goodies=koeielettersot]
+ \definefontsynonym [SheepMathRoman][koeielettersot][\s!features={mathsheepdigits,mathextra},\s!goodies=koeielettersot]
\stoptypescript
\starttypescript [\s!serif] [cowsotf,coloredcowsotf]
diff --git a/tex/context/fonts/mkiv/type-imp-latinmodern.mkiv b/tex/context/fonts/mkiv/type-imp-latinmodern.mkiv
index fe4b669bd..0ff75a977 100644
--- a/tex/context/fonts/mkiv/type-imp-latinmodern.mkiv
+++ b/tex/context/fonts/mkiv/type-imp-latinmodern.mkiv
@@ -173,14 +173,14 @@
% \starttypescript [\s!math] [modern,latin-modern]
% \loadfontgoodies[lm]
-% \definefontsynonym [LMMathRoman-Regular] [\v!file:latinmodern-math-regular.otf] [\s!features=\s!math\mathsizesuffix,\s!goodies=lm]
-% \definefontsynonym [LMMathRoman-Bold] [\v!file:latinmodern-math-regular.otf] [\s!features=\s!math\mathsizesuffix,\s!goodies=lm]
+% \definefontsynonym [LMMathRoman-Regular] [\v!file:latinmodern-math-regular.otf] [\s!features={\s!math\mathsizesuffix,mathextra},\s!goodies=lm]
+% \definefontsynonym [LMMathRoman-Bold] [\v!file:latinmodern-math-regular.otf] [\s!features={\s!math\mathsizesuffix,mathextra},\s!goodies=lm]
% \stoptypescript
\starttypescript [\s!math] [modern,latin-modern]
\loadfontgoodies[lm]
- \definefontsynonym [LMMathRoman-Regular] [\v!file:latinmodern-math-regular.otf] [\s!features={\s!math\mathsizesuffix,lm-math},\s!goodies=lm]
- \definefontsynonym [LMMathRoman-Bold] [\v!file:latinmodern-math-regular.otf] [\s!features={\s!math\mathsizesuffix,lm-math},\s!goodies=lm]
+ \definefontsynonym [LMMathRoman-Regular] [\v!file:latinmodern-math-regular.otf] [\s!features={\s!math\mathsizesuffix,lm-math,mathextra},\s!goodies=lm]
+ \definefontsynonym [LMMathRoman-Bold] [\v!file:latinmodern-math-regular.otf] [\s!features={\s!math\mathsizesuffix,lm-math,mathextra},\s!goodies=lm]
\stoptypescript
\starttypescript [modern-designsize-virtual]
diff --git a/tex/context/fonts/mkiv/type-imp-libertinus.mkiv b/tex/context/fonts/mkiv/type-imp-libertinus.mkiv
index 62da09e16..1ceda8737 100644
--- a/tex/context/fonts/mkiv/type-imp-libertinus.mkiv
+++ b/tex/context/fonts/mkiv/type-imp-libertinus.mkiv
@@ -67,8 +67,8 @@
\stoptypescript
\starttypescript [\s!math] [libertinus] [\s!name]
- \definefontsynonym[\s!MathRoman ] [\s!file:libertinusmath-regular.otf] [\s!features=\s!math\mathsizesuffix]
- \definefontsynonym[\s!MathRomanBold] [\s!file:libertinusmath-regular.otf] [\s!features=\s!math\mathsizesuffix]
+ \definefontsynonym[\s!MathRoman ] [\s!file:libertinusmath-regular.otf] [\s!features={\s!math\mathsizesuffix,mathextra}]
+ \definefontsynonym[\s!MathRomanBold] [\s!file:libertinusmath-regular.otf] [\s!features={\s!math\mathsizesuffix,mathextra}]
\stoptypescript
\starttypescript [libertinus]
diff --git a/tex/context/fonts/mkiv/type-imp-lucida-opentype.mkiv b/tex/context/fonts/mkiv/type-imp-lucida-opentype.mkiv
index f39ed6e1f..61002ff06 100644
--- a/tex/context/fonts/mkiv/type-imp-lucida-opentype.mkiv
+++ b/tex/context/fonts/mkiv/type-imp-lucida-opentype.mkiv
@@ -65,8 +65,8 @@
\stoptypescript
\starttypescript [\s!math] [lucidaot,lucidadk]
- \definefontsynonym [\s!MathRoman] [\s!file:LucidaBrightMathOT.otf] [\s!features=\s!math\mathsizesuffix,\s!goodies=lucida-opentype-math]
- \definefontsynonym [\s!MathRomanBold] [\s!file:LucidaBrightMathOT-Demi.otf] [\s!features=\s!math\mathsizesuffix,\s!goodies=lucida-opentype-math]
+ \definefontsynonym [\s!MathRoman] [\s!file:LucidaBrightMathOT.otf] [\s!features={\s!math\mathsizesuffix,mathextra},\s!goodies=lucida-opentype-math]
+ \definefontsynonym [\s!MathRomanBold] [\s!file:LucidaBrightMathOT-Demi.otf] [\s!features={\s!math\mathsizesuffix,mathextra},\s!goodies=lucida-opentype-math]
\stoptypescript
\starttypescript [\s!handwriting] [lucidaot,lucidadk]
diff --git a/tex/context/fonts/mkiv/type-imp-minion.mkiv b/tex/context/fonts/mkiv/type-imp-minion.mkiv
index 06bc842ac..b158deddf 100644
--- a/tex/context/fonts/mkiv/type-imp-minion.mkiv
+++ b/tex/context/fonts/mkiv/type-imp-minion.mkiv
@@ -34,14 +34,14 @@
\starttypescript [\s!math][minion][\s!all]
\loadfontgoodies[minion-math]
- \definefontsynonym[\s!MathRoman] [Minion-Math] [\s!features=\s!math\mathsizesuffix,\s!designsize=\s!auto,\s!goodies=minion-math,\s!fallbacks=MinionMathFallback]
- \definefontsynonym[\s!MathRomanBold][Minion-BoldMath][\s!features=\s!math\mathsizesuffix,\s!designsize=\s!auto,\s!goodies=minion-math,\s!fallbacks=MinionBoldMathFallback]
+ \definefontsynonym[\s!MathRoman] [Minion-Math] [\s!features={\s!math\mathsizesuffix,mathextra},\s!designsize=\s!auto,\s!goodies=minion-math,\s!fallbacks=MinionMathFallback]
+ \definefontsynonym[\s!MathRomanBold][Minion-BoldMath][\s!features={\s!math\mathsizesuffix,mathextra},\s!designsize=\s!auto,\s!goodies=minion-math,\s!fallbacks=MinionBoldMathFallback]
\stoptypescript
\starttypescript [\s!math][minion-medium][\s!all]
\loadfontgoodies[minion-math]
- \definefontsynonym[\s!MathRoman] [Minion-Math] [\s!features=\s!math\mathsizesuffix,\s!designsize=\s!auto,\s!goodies=minion-math,\s!fallbacks=MinionMathFallback]
- \definefontsynonym[\s!MathRomanBold][Minion-MediumMath][\s!features=\s!math\mathsizesuffix,\s!designsize=\s!auto,\s!goodies=minion-math,\s!fallbacks=MinionBoldMathFallback]
+ \definefontsynonym[\s!MathRoman] [Minion-Math] [\s!features={\s!math\mathsizesuffix,mathextra},\s!designsize=\s!auto,\s!goodies=minion-math,\s!fallbacks=MinionMathFallback]
+ \definefontsynonym[\s!MathRomanBold][Minion-MediumMath][\s!features={\s!math\mathsizesuffix,mathextra},\s!designsize=\s!auto,\s!goodies=minion-math,\s!fallbacks=MinionBoldMathFallback]
\stoptypescript
\starttypescript [minion,minion-medium]
diff --git a/tex/context/fonts/mkiv/type-imp-source.mkiv b/tex/context/fonts/mkiv/type-imp-source.mkiv
index b20c6383c..91396f965 100644
--- a/tex/context/fonts/mkiv/type-imp-source.mkiv
+++ b/tex/context/fonts/mkiv/type-imp-source.mkiv
@@ -53,7 +53,7 @@
\starttypescript [\s!math][source][\s!name]
% \loadfontgoodies[texgyre]
- \definefontsynonym[\s!MathRoman][file:texgyredejavu-math][\s!features=\s!math\mathsizesuffix,\s!goodies=dejavu-math]
+ \definefontsynonym[\s!MathRoman][file:texgyredejavu-math][\s!features={\s!math\mathsizesuffix,mathextra},\s!goodies=dejavu-math]
\stoptypescript
\starttypescript[source]
diff --git a/tex/context/fonts/mkiv/type-imp-texgyre.mkiv b/tex/context/fonts/mkiv/type-imp-texgyre.mkiv
index 64861a6ef..a7c2d06be 100644
--- a/tex/context/fonts/mkiv/type-imp-texgyre.mkiv
+++ b/tex/context/fonts/mkiv/type-imp-texgyre.mkiv
@@ -237,8 +237,8 @@
\starttypescript [\s!math][times,termes][\s!all]
% \loadfontgoodies[texgyre]
- % \definefontsynonym[\s!MathRoman][file:texgyre-termes-math-regular.otf][\s!features=\s!math\mathsizesuffix,\s!goodies=texgyre]
- \definefontsynonym[\s!MathRoman][file:texgyretermes-math.otf][\s!features=\s!math\mathsizesuffix,\s!goodies=termes-math]
+ % \definefontsynonym[\s!MathRoman][file:texgyre-termes-math-regular.otf][\s!features={\s!math\mathsizesuffix,mathextra},\s!goodies=texgyre]
+ \definefontsynonym[\s!MathRoman][file:texgyretermes-math.otf][\s!features={\s!math\mathsizesuffix,mathextra},\s!goodies=termes-math]
\stoptypescript
\stoptypescriptcollection
@@ -265,8 +265,8 @@
\starttypescript [\s!math][palatino,pagella][\s!all]
% \loadfontgoodies[texgyre]
- % \definefontsynonym[\s!MathRoman][file:texgyre-pagella-math-regular.otf][\s!features=\s!math\mathsizesuffix,\s!goodies=texgyre]
- \definefontsynonym[\s!MathRoman][file:texgyrepagella-math.otf][\s!features=\s!math\mathsizesuffix,\s!goodies=pagella-math]
+ % \definefontsynonym[\s!MathRoman][file:texgyre-pagella-math-regular.otf][\s!features={\s!math\mathsizesuffix,mathextra},\s!goodies=texgyre]
+ \definefontsynonym[\s!MathRoman][file:texgyrepagella-math.otf][\s!features={\s!math\mathsizesuffix,mathextra},\s!goodies=pagella-math]
\stoptypescript
\stoptypescriptcollection
@@ -277,8 +277,8 @@
\starttypescript [\s!math][bookman,bonum][\s!all]
% \loadfontgoodies[texgyre]
- % \definefontsynonym[\s!MathRoman][file:texgyre-bonum-math-regular.otf][\s!features=\s!math\mathsizesuffix,\s!goodies=texgyre]
- \definefontsynonym[\s!MathRoman][file:texgyrebonum-math.otf][\s!features=\s!math\mathsizesuffix,\s!goodies=bonum-math]
+ % \definefontsynonym[\s!MathRoman][file:texgyre-bonum-math-regular.otf][\s!features={\s!math\mathsizesuffix,mathextra},\s!goodies=texgyre]
+ \definefontsynonym[\s!MathRoman][file:texgyrebonum-math.otf][\s!features={\s!math\mathsizesuffix,mathextra},\s!goodies=bonum-math]
\stoptypescript
\stoptypescriptcollection
@@ -287,8 +287,8 @@
\starttypescript [\s!math][schoolbook,schola][\s!all]
% \loadfontgoodies[texgyre]
- % \definefontsynonym[\s!MathRoman][file:texgyre-schola-math-regular.otf][\s!features=\s!math\mathsizesuffix,\s!goodies=texgyre]
- \definefontsynonym[\s!MathRoman][file:texgyreschola-math.otf][\s!features=\s!math\mathsizesuffix,\s!goodies=schola-math]
+ % \definefontsynonym[\s!MathRoman][file:texgyre-schola-math-regular.otf][\s!features={\s!math\mathsizesuffix,mathextra},\s!goodies=texgyre]
+ \definefontsynonym[\s!MathRoman][file:texgyreschola-math.otf][\s!features={\s!math\mathsizesuffix,mathextra},\s!goodies=schola-math]
\stoptypescript
\stoptypescriptcollection
diff --git a/tex/context/fonts/mkiv/type-imp-xits.mkiv b/tex/context/fonts/mkiv/type-imp-xits.mkiv
index f83050e14..145ddc7a8 100644
--- a/tex/context/fonts/mkiv/type-imp-xits.mkiv
+++ b/tex/context/fonts/mkiv/type-imp-xits.mkiv
@@ -23,12 +23,12 @@
\starttypescript [\s!math] [xits,xitsbidi] [\s!name]
\loadfontgoodies[xits-math]
- \definefontsynonym[\s!MathRoman ][\s!file:xits-math.otf] [\s!features=\s!math\mathsizesuffix,\s!goodies=xits-math]
- \definefontsynonym[\s!MathRoman L2R][\s!file:xits-math.otf] [\s!features=\s!math\mathsizesuffix-l2r,\s!goodies=xits-math]
- \definefontsynonym[\s!MathRoman R2L][\s!file:xits-math.otf] [\s!features=\s!math\mathsizesuffix-r2l,\s!goodies=xits-math]
- \definefontsynonym[\s!MathRomanBold ][\s!file:xits-mathbold.otf][\s!features=\s!math\mathsizesuffix,\s!goodies=xits-math]
- \definefontsynonym[\s!MathRomanBold L2R][\s!file:xits-mathbold.otf][\s!features=\s!math\mathsizesuffix-l2r,\s!goodies=xits-math]
- \definefontsynonym[\s!MathRomanBold R2L][\s!file:xits-mathbold.otf][\s!features=\s!math\mathsizesuffix-r2l,\s!goodies=xits-math]
+ \definefontsynonym[\s!MathRoman ][\s!file:xits-math.otf] [\s!features={\s!math\mathsizesuffix,mathextra},\s!goodies=xits-math]
+ \definefontsynonym[\s!MathRoman L2R][\s!file:xits-math.otf] [\s!features={\s!math\mathsizesuffix-l2r,mathextra},\s!goodies=xits-math]
+ \definefontsynonym[\s!MathRoman R2L][\s!file:xits-math.otf] [\s!features={\s!math\mathsizesuffix-r2l,mathextra},\s!goodies=xits-math]
+ \definefontsynonym[\s!MathRomanBold ][\s!file:xits-mathbold.otf][\s!features={\s!math\mathsizesuffix,mathextra},\s!goodies=xits-math]
+ \definefontsynonym[\s!MathRomanBold L2R][\s!file:xits-mathbold.otf][\s!features={\s!math\mathsizesuffix-l2r,mathextra},\s!goodies=xits-math]
+ \definefontsynonym[\s!MathRomanBold R2L][\s!file:xits-mathbold.otf][\s!features={\s!math\mathsizesuffix-r2l,mathextra},\s!goodies=xits-math]
\stoptypescript
\starttypescript [\s!serif] [xits] [\s!name]
diff --git a/tex/context/interface/mkiv/i-context.pdf b/tex/context/interface/mkiv/i-context.pdf
index 2951ea756..1db82c2d1 100644
--- a/tex/context/interface/mkiv/i-context.pdf
+++ b/tex/context/interface/mkiv/i-context.pdf
Binary files differ
diff --git a/tex/context/interface/mkiv/i-readme.pdf b/tex/context/interface/mkiv/i-readme.pdf
index 09567097e..93802e7c4 100644
--- a/tex/context/interface/mkiv/i-readme.pdf
+++ b/tex/context/interface/mkiv/i-readme.pdf
Binary files differ
diff --git a/tex/context/modules/common/s-pre-11.tex b/tex/context/modules/common/s-pre-11.tex
index 551c5ebbc..48974f6c5 100644
--- a/tex/context/modules/common/s-pre-11.tex
+++ b/tex/context/modules/common/s-pre-11.tex
@@ -57,7 +57,7 @@
\dorecurse{\CurrentMaxItem}
{\startMPdrawing
initialize_box(\MPpos{item-\realfolio-\recurselevel}) ;
- linewidth := .25cm ;
+ linewidth := .25cm ;
q[\recurselevel] := tensecircle (wxy,hxy,linewidth) shifted cxy ;
fill q[\recurselevel] withcolor .9white ;
pickup pencircle scaled linewidth ;
@@ -69,20 +69,20 @@
\stopMPdrawing}%
\dostepwiserecurse{2}{\CurrentTopic}{1}
{\startMPdrawing
- draw
- rt point 3 of p[\recurselevel-1] --
- lft point 7 of p[\recurselevel]
- withcolor \MPcolor{ArrowColor} ;
+ draw
+ rt point 3 of p[\recurselevel-1] --
+ lft point 7 of p[\recurselevel]
+ withcolor \MPcolor{ArrowColor} ;
\stopMPdrawing}%
\dostepwiserecurse{2}{\CurrentMaxItem}{1}
{\startMPdrawing
- draw
- bot point 9 of q[\recurselevel-1] --
- top point 5 of q[\recurselevel]
- withcolor \MPcolor{ArrowColor} ;
+ draw
+ bot point 9 of q[\recurselevel-1] --
+ top point 5 of q[\recurselevel]
+ withcolor \MPcolor{ArrowColor} ;
\stopMPdrawing}%
\startMPdrawing
- draw Page
+ draw Page
withpen pencircle scaled .5cm
withcolor \MPcolor{EdgeColor} ;
StopPage ;
@@ -139,7 +139,7 @@
{\startstandardmakeup
\dontcomplain
\vskip.875cm
- \hbox to \makeupwidth
+ \hbox to \makeupwidth
{\hfill
\dorecurse{\CurrentTopic}
{\edef\Topic{topic-\realfolio-\recurselevel}%
@@ -156,7 +156,7 @@
\vfilll
\dorecurse{\CurrentMaxItem}
{\edef\Item{item-\realfolio-\recurselevel}
- \hbox to \makeupwidth
+ \hbox to \makeupwidth
{\hfill
\hpos
{\Item}
@@ -179,42 +179,42 @@
\doifnotmode{demo}{\endinput}
-\starttext
+\starttext
-\StartIdea
+\StartIdea
\StartTopic
A Nice Idea
\StopTopic
- \StartItem
+ \StartItem
\input reich \relax
- \StopItem
- \StartItem
+ \StopItem
+ \StartItem
\input reich \relax
- \StopItem
- \StartItem
+ \StopItem
+ \StartItem
\input reich \relax
- \StopItem
+ \StopItem
\StopIdea
-\StartIdea
+\StartIdea
\StartTopic
One More Nice Idea
\StopTopic
- \StartItem
+ \StartItem
\input reich \relax
- \StopItem
- \StartItem
+ \StopItem
+ \StartItem
\input reich \relax
- \StopItem
+ \StopItem
\StopIdea
-\StartIdea
+\StartIdea
\StartTopic
The Last Idea
\StopTopic
- \StartItem
+ \StartItem
\input tufte \relax
- \StopItem
+ \StopItem
\StopIdea
-\stoptext
+\stoptext
diff --git a/tex/context/modules/common/s-pre-61.tex b/tex/context/modules/mkii/s-pre-61.mkii
index 48b9d09a0..48b9d09a0 100644
--- a/tex/context/modules/common/s-pre-61.tex
+++ b/tex/context/modules/mkii/s-pre-61.mkii
diff --git a/tex/context/modules/common/s-pre-62.tex b/tex/context/modules/mkii/s-pre-62.mkii
index a1a405c23..a1a405c23 100644
--- a/tex/context/modules/common/s-pre-62.tex
+++ b/tex/context/modules/mkii/s-pre-62.mkii
diff --git a/tex/context/modules/mkiv/s-pre-69.mkiv b/tex/context/modules/mkiv/s-pre-69.mkiv
deleted file mode 100644
index cc6af9ad3..000000000
--- a/tex/context/modules/mkiv/s-pre-69.mkiv
+++ /dev/null
@@ -1,336 +0,0 @@
-%D \module
-%D [ file=s-pre-69,
-%D version=2010.04.28,
-%D title=\CONTEXT\ Style File,
-%D subtitle=Presentation Environment 69,
-%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.
-
-\setuppapersize[S6][S6]
-\setuppapersize[SM][SM]
-
-\usemodule
- [abr-01,pre-60]
-
-\setupinteraction
- [state=start,
- contrastcolor=white,
- color=white,
- click=no]
-
-\setuplayout
- [location=middle,
- topspace=60pt,
- bottomspace=80pt,
- backspace=80pt,
- header=0pt,
- footer=0pt,
- width=middle,
- height=middle]
-
-\setupcolors
- [textcolor=white]
-
-\setupbodyfont[euler]
-
-\definecolor[maincolor] [blue]
-\definecolor[extracolor][green]
-
-% \definecolor[maincolor] [red]
-% \definecolor[extracolor][blue]
-
-\startMPinitializations
- if unknown MyColor[1] :
- color MyColor[] ;
- MyColor[1] := transparent(1,.25,\MPcolor{maincolor}) ;
- MyColor[2] := transparent(1,.25,\MPcolor{extracolor}) ;
-
- picture MySoFar ; MySoFar := nullpicture ;
- path MyLastOne ; MyLastOne := origin -- cycle ;
- color MyPageColor ; MyPageColor := MyColor[1] ;
- path MyLeftSteps, MyRightSteps ;
- boolean MyPageDone ; MyPageDone := false ;
-
- vardef MySmallShape(expr parent) =
- path p ; p := boundingbox parent ;
- p := boundingbox parent ;
- numeric w, h ; w := bbwidth(p) ; h := bbheight(p) ;
- urcorner p shifted (-uniformdeviate w/4,0) --
- lrcorner p shifted (0,uniformdeviate h/4) --
- llcorner p shifted (uniformdeviate w/4,0) --
- ulcorner p shifted (0,-uniformdeviate h/4) -- cycle
- enddef ;
-
- vardef MyShape(expr parent) =
- path p ; p := boundingbox parent ;
- if MyPageDone :
- MyPageDone := false ;
- urcorner p shifted (-EmWidth + -uniformdeviate CutSpace/2,0) --
- lrcorner p shifted (0,EmWidth + uniformdeviate BottomSpace/2) --
- llcorner p shifted (EmWidth + uniformdeviate BackSpace/2,0) --
- ulcorner p shifted (0,-EmWidth + -uniformdeviate TopSpace/2) -- cycle
- else :
- MyPageDone := true ;
- urcorner p shifted (0,-EmWidth + -uniformdeviate TopSpace/2) --
- lrcorner p shifted (-EmWidth + -uniformdeviate CutSpace/2,0) --
- llcorner p shifted (0,EmWidth + uniformdeviate BottomSpace/2) --
- ulcorner p shifted (EmWidth + uniformdeviate BackSpace/2,0) -- cycle
- fi
- enddef ;
-
- vardef MyMakeOne =
- MyLastOne := MyShape(Page) ;
- enddef ;
-
- vardef MyAddOne =
- addto MySoFar also image(fill MyLastOne withcolor MyPageColor ; ) ;
- enddef ;
-
- vardef MyDrawOne =
- fill MyLastOne withcolor black ;
- fill MyLastOne withcolor MyPageColor ;
- enddef ;
-
- vardef MyDrawPage =
- draw MySoFar ;
- enddef ;
-
- vardef MySetSteps =
- path l, r ; numeric s ; path ll[], rr[] ; path t ;
- l := point 2 of MyLastOne -- point 3 of MyLastOne ;
- r := point 0 of MyLastOne -- point 1 of MyLastOne ;
- t := topboundary Field[Text][Text] rightenlarged TextWidth leftenlarged TextWidth ;
- s := bbheight(Field[Text][Text])/LineHeight + 2 ;
- t := t shifted (0,-TopSkip) ;
- for i=1 upto s :
- ll[i] := t intersectionpoint l ;
- rr[i] := t intersectionpoint r ;
- t := t shifted (0,-LineHeight) ;
- endfor ;
- MyLeftSteps := for i=1 upto s : ll[i] -- endfor cycle ;
- MyRightSteps := for i=1 upto s : rr[i] -- endfor cycle ;
- enddef ;
-
- vardef MyDrawText(expr txt) =
- pair a ; a := (point 1 of MyLastOne) - (point 2 of MyLastOne) ;
- picture p ; p := txt ;
- p := p
- shifted (-EmWidth,EmWidth)
- shifted ulcorner txt
- shifted point 1 of MyLastOne ;
- p := p rotatedaround(lrcorner p, radian * tan(ypart a/xpart a)) ;
- setbounds p to origin -- cycle ;
- draw p ;
- enddef ;
-
- vardef MyDrawTitle(expr txt) =
- % pair a ; a := (point 2 of MyLastOne) - (point 3 of MyLastOne) ;
- pair a ; a := (point 3 of MyLastOne) - (point 4 of MyLastOne) ;
- picture p ;
- if bbheight(txt) > bbwidth(txt) :
- p := txt ysized(0.8*TextHeight) ;
- else :
- p := txt xsized(0.8*TextWidth) ;
- fi ;
- numeric d ; d := arclength(point 2 of MyLastOne -- point 3 of MyLastOne) - bbheight(p) ;
- p := p
- shifted (BackSpace,-d/2)
- shifted -ulcorner p
- shifted point 3 of MyLastOne ;
- % p := p rotatedaround(ulcorner p, - radian * tan(xpart a/ypart a)) ;
- % p := p rotatedaround(ulcorner p, radian * tan(ypart a/xpart a)) ;
- setbounds p to origin -- cycle ;
- draw p ;
- enddef ;
-
- vardef MyDrawSteps =
- s := bbheight(Field[Text][Text])/LineHeight + 2 ;
- for i=1 upto s :
- draw ll[i] withpen pencircle scaled 1mm ;
- draw rr[i] withpen pencircle scaled 1mm ;
- draw ll[i] -- rr[i] ;
- endfor ;
- draw Field[Text][Text] ;
- enddef ;
-
- fi ;
-\stopMPinitializations
-
-\startuseMPgraphic{initialization}
- StartPage ;
- MySoFar := image(fill Page enlarged 12pt withcolor MyPageColor) ;
- MyMakeOne ;
- MySetSteps ;
- StopPage ;
-\stopuseMPgraphic
-
-\appendtoks
- \startnointerference
- \useMPgraphic{initialization}
- \stopnointerference
-\to \everystarttext
-
-\startuseMPgraphic{page}
- StartPage ;
- MyDrawPage ;
- MyDrawOne ;
- MySetSteps ;
- MyDrawTitle(textext("\getvariable{document}{title}")) ;
- MyDrawText(textext("\getvariable{document}{topic}")) ;
- %
- % we have multiple runs when we have text
- %
-% MyDrawSteps ;
-% MyMakeOne ;
-% MySetSteps ;
- StopPage ;
-\stopuseMPgraphic
-
-\appendtoks
- \startnointerference
- \startMPcode
- MyAddOne ;
- MyMakeOne ;
- MySetSteps ;
- \stopMPcode
- \stopnointerference
-\to \everyshipout
-
-\defineoverlay[page][\useMPgraphic{page}]
-
-\startuseMPgraphic{symbol}
- color cc ; cc := MyColor[2] ;
- path p ; p := MySmallShape(unitsquare scaled (.6*LineHeight)) ;
- fill p withcolor white ;
- fill p withcolor cc ;
-\stopuseMPgraphic
-
-\definesymbol[mysymbol][\struttedbox{\useMPgraphic{symbol}}]
-
-\setupitemgroup[itemize][1][symbol=mysymbol]
-
-\setupbackgrounds
- [page]
- [background=page]
-
-\startluacode
- local texdimen = tex.dimen
- function document.SetParShape()
- local leftpath = metapost.getclippath("metafun","metafun","clip currentpicture to MyLeftSteps ;")
- local rightpath = metapost.getclippath("metafun","metafun","clip currentpicture to MyRightSteps ;")
- local shape = { }
- for i=1,#leftpath do
- local left = leftpath[i].x_coord
- local right = rightpath[i].x_coord
- local hsize = right - left - (texdimen.backspace + texdimen.cutspace)*number.dimenfactors.bp
- shape[#shape+1] = string.format("%sbp %sbp",left,hsize)
- end
- -- print(table.serialize(shape))
- -- context.parshape(string.format("%s %s ",#shape,table.concat(shape," ")))
- context("\\parshape %s %s ",#shape,table.concat(shape," "))
- end
-\stopluacode
-
-\nopenalties \dontcomplain
-
-\setupwhitespace[none]
-
-\def\StartText#1#2%
- {\starttext
- \setvariable{document}{title}{\framed[frame=off,offset=0pt,align=flushleft,foregroundstyle=\tfd\setupinterlinespace]{\begstrut#1\endstrut}}
- \setvariable{document}{topic}{\tfb#2}
- \startstandardmakeup
- % dummy page
- \stopstandardmakeup
- \setvariable{document}{title}{}
- \setvariable{document}{topic}{}}
-
-\def\StopText
- {\stoptext}
-
-\def\StartItems#1%
- {\setvariable{document}{topic}{\tfb#1}
- \startstandardmakeup[top=,bottom=\vss]
- \startelement[items][title={#1}]%
- \ctxlua{document.SetParShape()}
- \StartSteps}
-
-\def\StopItems
- {\StopSteps
- \stopelement
- \stopstandardmakeup}
-
-\def\StartItem
- {\dontleavehmode
- \startelement[item]%
- \llap{\symbol[mysymbol]\quad}% graphic
- \ignorespaces}
-
-\def\StopItem
- {\removeunwantedspaces
- \nobreak
- \crlf
- \stopelement
- \crlf
- \FlushStep}
-
-\def\ShapeParagraph
- {\ctxlua{document.SetParShape()}}
-
-% no parshape yet
-
-\def\StartParagraphs#1%
- {\setvariable{document}{topic}{\tfb#1}
- \startstandardmakeup[top=,bottom=\vss]
- %\ctxlua{document.SetParShape()}
- \startelement[paragraphs]%
- \StartSteps}
-
-\def\StopParagraphs
- {\StopSteps
- \stopelement
- \stopstandardmakeup}
-
-\def\StartParagraph
- {\startelement[paragraph]}
-
-\def\StopParagraph
- {\par
- \stopelement
- \FlushStep}
-
-% experiment .. likely to change
-
-\setelementexporttag[items] [nature][display]
-\setelementexporttag[item] [nature][mixed]
-\setelementexporttag[paragraphs][nature][display]
-\setelementexporttag[paragraph] [nature][mixed]
-
-\continueifinputfile{s-pre-69.mkiv}
-
-% finetuning: \StartText{\TEX\ and Reality\vskip2exClashing Mindsets?\vskip1ex}{Bacho\TEX, May 1, 2010}
-
-\StartText{Just\\A Demo}{Bacho\TEX, May 1, 2010}
-
-\StartItems{Quote from Tufte and Ward}
- \StartItem
- \input tufte
- \StopItem
- \StartItem
- \input ward
- \StopItem
-\StopItems
-
-% \dorecurse{20}{
-% \ctxlua{document.SetParShape()}
-% \input tufte
-% \page
-% }
-
-\StopText
-
diff --git a/tex/context/modules/mkiv/s-pre-71.mkiv b/tex/context/modules/mkiv/s-pre-71.mkiv
deleted file mode 100644
index 38dae61df..000000000
--- a/tex/context/modules/mkiv/s-pre-71.mkiv
+++ /dev/null
@@ -1,170 +0,0 @@
-% engine=luatex
-
-%D \module
-%D [ file=s-pre-71,
-%D version=2008.08.05,
-%D title=\CONTEXT\ Style File,
-%D subtitle=Presentation Environment 71,
-%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 I might improve this module so consider it experimental.
-
-% \enablemode[numbers]
-% \enablemode[paper]
-
-\usemodule[pre-60,abr-02]
-
-\registerctxluafile{s-pre-71}{}
-
-\setupinteraction[state=start,click=off]
-
-\definepapersize[wide][width=900pt,height=600pt]
-
-\setuppapersize[wide][wide]
-
-\setuplayout[page]
-
-% \setupbodyfont[15pt]
-
-\usetypescriptfile[type-hgz]
-\usetypescript[palatino-informal]
-\setupbodyfont[palatino-informal,15pt]
-
-\setupsorting[logo][style=]
-
-\startnotmode[paper]
- \setupbackgrounds[page][background=color,backgroundcolor=black]
-\stopnotmode
-
-\TransparencyHack
-
-\definelayer[page][width=\paperwidth,height=\paperheight]
-
-\definecolor[TopicColor-1][r=.3,g=.4,b=.5]
-\definecolor[TopicColor-2][r=.3,g=.5,b=.4]
-\definecolor[TopicColor-3][r=.4,g=.3,b=.5]
-\definecolor[TopicColor-4][r=.4,g=.5,b=.3]
-\definecolor[TopicColor-5][r=.5,g=.3,b=.4]
-\definecolor[TopicColor-6][r=.5,g=.4,b=.3]
-\definecolor[TopicColor-7][r=.35,g=.35,b=.6]
-\definecolor[TopicColor-8][r=.6,g=.35,b=.35]
-\definecolor[TopicColor-9][r=.35,g=.6,b=.35]
-
-\definecolor[TopicColor-0][t=.5,a=1,s=.5]
-\definecolor[TopicColor] [s=1]
-
-\setupcolors[state=start]
-\setupcolors[textcolor=TopicColor]
-
-\def\StartTopics
- {\startstandardmakeup
- \ctxlua{moduledata.steps.reset_locations()}
- \doifnotmode{paper}{\StartLocalSteps}}
-
-\def\StopTopics
- {\doifnotmode{paper}{\StopLocalSteps}
- \flushlayer[page]
- \stopstandardmakeup}
-
-\def\StartTopic
- {\dosingleempty\doStartTopic}
-
-\def\doStartTopic[#1]%
- {\doifnotmode{paper}{\NextStep}
- \ctxlua{moduledata.steps.next_location("#1")}
- \startnotmode[paper]
- \doifnothing{#1}
- {\ifcase\ctxlua{moduledata.steps.previous_n()}\else
- \setlayer
- [page]
- [preset=\ctxlua{moduledata.steps.previous_location()}]
- \bgroup
- \doifnotmode{paper}{\startviewerlayer[\StepLayer]}%
- \framed
- [offset=20pt,
- strut=no,
- align=normal,
- frame=off,
- height=\dimexpr\paperheight/3\relax,
- width=\dimexpr\paperwidth/3\relax,
- background=color,
- backgroundcolor=TopicColor-0]
- {}%
- \doifnotmode{paper}{\stopviewerlayer}%
- \egroup
- \fi}
- \stopnotmode
- \setlayer
- [page]
- [preset=\ctxlua{moduledata.steps.current_location()}]
- \bgroup
- \doifnotmode{paper}{\startviewerlayer[\StepLayer]}%
- \framed
- [offset=20pt,
- strut=no,
- align=\expdoifelse{#1}{}{normal}{middle,lohi},
- align=\expdoifelse{#1}{}{flushleft,verytolerant}{middle,lohi},
- frame=off,
- height=\dimexpr\paperheight/3\relax,
- width=\dimexpr\paperwidth/3\relax,
- background=color,
- backgroundcolor=TopicColor-\ctxlua{moduledata.steps.current_n()}]
- \bgroup
- \ignorespaces}
-
-\def\StopTopic
- {\removeunwantedspaces
- \egroup
- \doifnotmode{paper}{\stopviewerlayer}%
- \egroup
- \startmode[numbers]
- \setlayerframed
- [page]
- [preset=\ctxlua{moduledata.steps.current_location()}]
- [height=\dimexpr\paperheight/3\relax,
- width=\dimexpr\paperwidth/3\relax,
- frame=off,
- foregroundstyle=\bfa,
- align={flushright,low}]
- {\doifnotmode{paper}{\startviewerlayer[\StepLayer]}%
- \ctxlua{moduledata.steps.step()}\kern\strutdepth
- \doifnotmode{paper}{\stopviewerlayer}}
- \stopmode}
-
-\logo [METAPOST] {MetaPost}
-
-\definefont[TitleFont][SansBold at 60pt]
-\definefont[TempFont] [SansBold at 12pt]
-
-\let\StartText\starttext
-\let\StopText \stoptext
-
-\continueifinputfile{s-pre-71.mkiv}
-
-\starttext
-
-\StartTopics
- \StartTopic[1] A \StopTopic
- \StartTopic[5] B \StopTopic
- \StartTopic[9] C \StopTopic
-\StopTopics
-
-\StartTopics
- \StartTopic A \StopTopic
- \StartTopic B \StopTopic
- \StartTopic C \StopTopic
- \StartTopic D \StopTopic
- \StartTopic E \StopTopic
- \StartTopic F \StopTopic
- \StartTopic G \StopTopic
- \StartTopic H \StopTopic
- \StartTopic I \StopTopic
-\StopTopics
-
-\stoptext
diff --git a/tex/context/modules/mkiv/s-present-banner.mkiv b/tex/context/modules/mkiv/s-present-banner.mkiv
new file mode 100644
index 000000000..2ecafe3b9
--- /dev/null
+++ b/tex/context/modules/mkiv/s-present-banner.mkiv
@@ -0,0 +1,132 @@
+%D \module
+%D [ file=s-present-banner,
+%D version=2016.04.30, % around
+%D title=\CONTEXT\ Style File,
+%D subtitle=Presentation Environment Banner,
+%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 was made for the Bacho\TeX\ 2016 conference. The banner below
+%D the text advances through the title.
+
+\startmodule[present-banner]
+
+\definecolor[maincolor] [b=.65]
+\definecolor[othercolor][s=.35]
+
+\startluacode
+ function mp.Banner(s,mode)
+ -- local r = tex.count.realpageno
+ local r = tex.count.realpageno - 1
+ local n = #s
+ local i = mode and 1 or 0
+ local t = string.gsub(s,".",function(s)
+ if s == " " or i > n then
+ return s
+ elseif i == r then
+ i = i + 1
+ if mode then
+ return "\\color[othercolor]{" .. s .. "}"
+ else
+ return "\\maincolor " .. s
+ end
+ else
+ i = i + 1
+ return s
+ end
+ end)
+ mp.quoted(t)
+ end
+\stopluacode
+
+\startuseMPgraphic{page}
+ StartPage ;
+ fill Page withcolor \MPcolor{maincolor} ;
+ draw anchored(image (
+ % draw textext.top (lua.mp.Banner("\documentvariable{title}",true))
+ draw textext.top (lua.mp.Banner("\documentvariable{title}",false))
+ xsized (.9PaperWidth)
+ withcolor white;
+ ), center bottomboundary Page);
+ % fill Field[Text][Text] enlarged 10pt withcolor (\MPcolor{maincolor})/1.5 ;
+ fill Field[Text][Text] enlarged 10pt withcolor .1white ;
+ StopPage ;
+\stopuseMPgraphic
+
+\setupbackgrounds
+ [page]
+ [background=page]
+
+\defineoverlay
+ [page]
+ [\useMPgraphic{page}]
+
+\setupbodyfont
+ [lucidaot,10pt]
+
+\setuppapersize
+ [S6]
+
+\setuplayout
+ [backspace=30pt,
+ width=middle,
+ height=middle,
+ topspace=30pt,
+ bottomspace=100pt,
+ header=0pt,
+ footer=0pt,
+ margin=0pt]
+
+\setupcolors
+ [textcolor=white]
+
+\setupwhitespace
+ [big]
+
+\setuphead
+ [chapter]
+ [style=\bfd,
+ after={\blank[big]}]
+
+\setuphead
+ [section]
+ [style=\bfa,
+ before=\blank,
+ after={\blank[medium]}]
+
+\definehighlight[nb][style=bold]
+
+\setupitemgroup[itemize][before=,after=]
+\setupitemgroup[itemize][packed]
+
+\setupdocument
+ [title=Title,
+ subtitle=Subtitle,
+ location=\currentdate]
+
+\startsetups document:start
+
+ \startstandardmakeup
+
+ \raggedcenter
+
+ \dontleavehmode\scale[width=1.00\textwidth]{\documentvariable{title}} \vfil
+ \dontleavehmode\scale[width=0.75\textwidth]{\documentvariable{subtitle}} \vfil
+ \dontleavehmode\scale[width=0.45\textwidth]{\documentvariable{location}} \vfil
+
+ \stopstandardmakeup
+
+\stopsetups
+
+\stopmodule
+
+\continueifinputfile{s-present-banner.mkiv}
+
+\usemodule[present-common]
+
+\inputpresentationfile{bachotex/2016/bachotex-2016-opentype.tex}
diff --git a/tex/context/modules/mkiv/s-present-bars.mkiv b/tex/context/modules/mkiv/s-present-bars.mkiv
new file mode 100644
index 000000000..13c09ff3b
--- /dev/null
+++ b/tex/context/modules/mkiv/s-present-bars.mkiv
@@ -0,0 +1,128 @@
+%D \module
+%D [ file=s-present-bars,
+%D version=2012.07.10,
+%D title=\CONTEXT\ Style File,
+%D subtitle=Presentation Environment bars,
+%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 Okay, this one makes me a bit ashamed as it's probably too simple and unattractive but
+%D as it was used for a whole bunch of presentations it made it into a module anyway.
+
+\startmodule[present-bars]
+
+\setupbodyfont
+ [dejavu]
+
+\setuppapersize
+ [S6]
+
+\setuplayout
+ [backspace=12pt,
+ width=middle,
+ height=middle,
+ topspace=12pt,
+ header=36pt,
+ footer=36pt,
+ headerdistance=12pt,
+ footerdistance=12pt]
+
+\definecolor
+ [maincolor]
+ [darkblue]
+
+\startreusableMPgraphic{page}
+ StartPage ;
+ fill
+ Page
+ withcolor \MPcolor{maincolor} ;
+ fill
+ Field[Text][Header]
+ leftenlarged BackSpace
+ rightenlarged CutSpace
+ withcolor darkgray ;
+ fill
+ Field[Text][Footer]
+ leftenlarged BackSpace
+ rightenlarged CutSpace
+ withcolor darkgray ;
+ StopPage ;
+\stopreusableMPgraphic
+
+\setupheader
+ [color=maincolor,
+ style=bold,
+ before=\vss,
+ after=\vss]
+
+\setupheader
+ [color=maincolor,
+ style=bold,
+ before=\vss,
+ after=\vss]
+
+\setupheadertexts
+ [Breskens 2012]
+ [\getvariable{document}{title}]
+
+\setupbackgrounds
+ [page]
+ [background=page]
+
+\defineoverlay
+ [page]
+ [\reuseMPgraphic{page}]
+
+\setupbackgrounds
+ [footer][text]
+ [background=goback]
+
+\defineoverlay
+ [goback]
+ [\overlaybutton{PreviousPage}]
+
+\setuppagenumbering
+ [location=]
+
+\setupcolors
+ [textcolor=white]
+
+\setvariables
+ [document]
+ [maincolor=darkblue,
+ set=\setups{document:setup}]
+
+\startsetups document:setup
+
+ \doifsomething {\getvariable{document}{color}} {
+
+ \definecolor[maincolor][\getvariable{document}{color}]
+
+ }
+
+\stopsetups
+
+\setupinteraction
+ [state=start,
+ click=no]
+
+\usemodule[abr-01]
+\usemodule[pre-60]
+
+\stopmodule
+
+\continueifinputfile{s-present-bars.mkiv}
+
+\usemodule[present-common]
+
+%\inputpresentationfile{context/2012/context-2012-after-the-cleanup.tex}
+%\inputpresentationfile{context/2012/context-2012-the-script.tex}
+%\inputpresentationfile{context/2012/context-2012-lexing-sources.tex}
+%\inputpresentationfile{context/2012/context-2012-mixed-columns.tex}
+%\inputpresentationfile{context/2012/context-2012-visual-debugging.tex}
+\inputpresentationfile{context/2012/context-2012-xml-news.tex}
diff --git a/tex/context/modules/mkiv/s-present-common.mkiv b/tex/context/modules/mkiv/s-present-common.mkiv
new file mode 100644
index 000000000..64da8b700
--- /dev/null
+++ b/tex/context/modules/mkiv/s-present-common.mkiv
@@ -0,0 +1,41 @@
+%D \module
+%D [ file=s-present-common,
+%D version=2016.10.20,
+%D title=\CONTEXT\ Style File,
+%D subtitle=Presentation Common 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.
+
+\startluacode
+
+ -- sources -> presentations
+ -- tex/context/base/mkiv -> doc/context/presentations
+
+ function commands.inputpresentationfile(name)
+ local mkivpath = file.pathpart(resolvers.findfile("context.mkiv"))
+ local filename = file.join(mkivpath,"../presentations",name)
+ if lfs.isfile(filename) then
+ context.input(filename)
+ return
+ end
+ filename = file.join(mkivpath,"../../../../doc/context/presentations",name)
+ if lfs.isfile(filename) then
+ context.input(filename)
+ return
+ end
+ context.starttext()
+ context.formatted.type("missing file: %s",name)
+ context.stoptext()
+ end
+
+\stopluacode
+
+\unexpanded\def\inputpresentationfile#1%
+ {\ctxcommand{inputpresentationfile("#1")}}
+
+\endinput
diff --git a/tex/context/modules/mkiv/s-present-four.mkiv b/tex/context/modules/mkiv/s-present-four.mkiv
new file mode 100644
index 000000000..347790e26
--- /dev/null
+++ b/tex/context/modules/mkiv/s-present-four.mkiv
@@ -0,0 +1,188 @@
+%D \module
+%D [ file=s-present-four,
+%D version=2011.04.15, % about
+%D title=\CONTEXT\ Style File,
+%D subtitle=Presentation Environment Four,
+%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 Just another one-time used Bacho\TEX\ presentation style that I found back
+%D when cleaning up old files. It's just simple pages in a shape and this time
+%D we hook it into a section command.
+
+\startmodule[present-four]
+
+\setupbodyfont
+ [dejavu,11pt]
+
+\setupcolors
+ [textcolor=white]
+
+\setupalign
+ [flushleft]
+
+\startuseMPgraphic{page}
+ vardef One =
+ ulcorner Page --
+ .75[ulcorner Page, urcorner Page] --
+ .60[ulcorner Page, lrcorner Page] --
+ .75[ulcorner Page, llcorner Page] --
+ cycle
+ enddef;
+ vardef One =
+ ulcorner Page --
+ .80[ulcorner Page, urcorner Page] --
+ .65[ulcorner Page, lrcorner Page] --
+ .80[ulcorner Page, llcorner Page] --
+ cycle
+ enddef;
+ vardef Two = One rotatedaround(center Page, 90) enddef ;
+ vardef Three = One rotatedaround(center Page,180) enddef ;
+ vardef Four = One rotatedaround(center Page,270) enddef ;
+ StartPage ;
+ if CurrentLayout = "layout:0" :
+ fill Two withcolor .25[red,blue] ;
+ fill Three withcolor .25[blue,yellow] ;
+ fill Four withcolor .25[yellow,blue] ;
+ fill One withcolor .5white ;
+ elseif CurrentLayout = "layout:1" :
+ fill Two withcolor .25[red,blue] ;
+ fill Three withcolor .25[blue,yellow] ;
+ fill Four withcolor .25[yellow,blue] ;
+ fill One withcolor .25[green,red] ;
+ elseif CurrentLayout = "layout:2" :
+ fill One withcolor .25[green,red] ;
+ fill Two withcolor .25[red,blue] ;
+ fill Three withcolor .25[blue,yellow] ;
+ fill Four withcolor .25[yellow,blue] ;
+ elseif CurrentLayout = "layout:3" :
+ fill One withcolor .25[green,red] ;
+ fill Two withcolor .25[red,blue] ;
+ fill Four withcolor .25[yellow,blue] ;
+ fill Three withcolor .25[blue,yellow] ;
+ elseif CurrentLayout = "layout:4" :
+ fill One withcolor .25[green,red] ;
+ fill Three withcolor .25[blue,yellow] ;
+ fill Four withcolor .25[yellow,blue] ;
+ fill Two withcolor .25[red,blue] ;
+ fi ;
+ StopPage ;
+\stopuseMPgraphic
+
+\setupbackgrounds
+ [page]
+ [background={page}]
+
+\setupinteraction
+ [state=start,
+ click=no]
+
+\setupinteractionscreen
+ [option=max]
+
+\defineoverlay
+ [page]
+ [\useMPgraphic{page}]
+
+\definepapersize
+ [mine]
+ [width=400pt,
+ height=400pt]
+
+\setuppapersize
+ [mine]
+
+\setuplayout
+ [header=0pt,
+ footer=0pt,
+ margin=0pt,
+ width=middle,
+ height=middle]
+
+% \showframe
+
+\definelayout
+ [layout:0]
+ [backspace=10pt,cutspace=.375\paperwidth,
+ bottomspace=.35\paperheight,topspace=10pt]
+
+\definelayout
+ [layout:1]
+ [backspace=10pt,cutspace=.375\paperwidth,
+ bottomspace=.35\paperheight,topspace=10pt]
+
+\definelayout
+ [layout:2]
+ [backspace=.35\paperwidth,cutspace=10pt,
+ bottomspace=.375\paperheight,topspace=10pt]
+
+\definelayout
+ [layout:3]
+ [backspace=.375\paperwidth,cutspace=10pt,
+ bottomspace=10pt,topspace=.375\paperheight]
+
+\definelayout
+ [layout:4]
+ [backspace=10pt,cutspace=.375\paperwidth,
+ bottomspace=10pt,topspace=.35\paperheight]
+
+\setuptyping
+ [space=fixed]
+
+\startluacode
+ local n = -1
+ function documentdata.StartPage()
+ if n == 4 then
+ n = 1
+ else
+ n = n + 1
+ end
+ context.setuplayout { string.format("layout:%s",n) }
+ end
+ function documentdata.StopPage()
+ context.page()
+ end
+\stopluacode
+
+\unexpanded\def\StartPage
+ {\bgroup
+ \ctxlua{documentdata.StartPage()}}
+
+\unexpanded\def\StopPage
+ {\ctxlua{documentdata.StopPage()}
+ \egroup}
+
+\startsetups subject:start
+ \bgroup
+ \ctxlua{documentdata.StartPage()}
+\stopsetups
+
+\startsetups subject:stop
+ \ctxlua{documentdata.StopPage()}
+ \egroup
+\stopsetups
+
+\setuphead[subject]
+ [beforesection=\directsetup{subject:start},
+ aftersection=\directsetup{subject:stop}]
+
+\startsetups document:start
+ \StartPage
+ \definedfont[SerifBold*default at 48pt]
+ \setupinterlinespace
+ \documentvariable{title}
+ \StopPage
+\stopsetups
+
+\stopmodule
+
+\continueifinputfile{s-present-four.mkiv}
+
+\usemodule[present-common]
+
+\inputpresentationfile{bachotex/2011/bachotex-2011-cld-and-mkvi.tex}
diff --git a/tex/context/modules/mkiv/s-present-ovals.mkiv b/tex/context/modules/mkiv/s-present-ovals.mkiv
new file mode 100644
index 000000000..45af6c823
--- /dev/null
+++ b/tex/context/modules/mkiv/s-present-ovals.mkiv
@@ -0,0 +1,94 @@
+%D \module
+%D [ file=s-present-ovals,
+%D version=2015.04.20,
+%D title=\CONTEXT\ Style File,
+%D subtitle=Presentation Environment Ovals,
+%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 was made for some of the font and language related presentations at
+%D Bacho\TeX\ 2015. It's a bit boring but it suits simple presentations. It provides
+%D no structure as each page content is kind of special.
+
+\startmodule[s-present-ovals]
+
+\setuppapersize[S6]
+
+\definecolor[maincolor] [darkred]
+\definecolor[othercolor][maincolor]
+
+\startuseMPgraphic{page}
+
+ fill Page enlarged 2mm withcolor .5[white,\MPcolor{othercolor}] ;
+
+ if NOfPages > 1 :
+
+ numeric PageFraction ; PageFraction := (RealPageNumber-1) / (NOfPages-1) ;
+ numeric WidthDelta ; WidthDelta := 2 * PaperWidth / 10 ;
+ numeric HeightDelta ; HeightDelta := 2 * PaperHeight / 10 ;
+ numeric WidthOffset ; WidthOffset := WidthDelta + PageFraction*(PaperWidth - 2WidthDelta ) ;
+ numeric HeightOffset ; HeightOffset := HeightDelta + PageFraction*(PaperHeight - 2HeightDelta) ;
+
+ fill
+ (ulcorner Page) shifted (WidthOffset,0) ..
+ (urcorner Page) shifted (0,-HeightOffset) ..
+ (lrcorner Page) shifted (-WidthOffset,0) ..
+ (llcorner Page) shifted (0,HeightOffset) ..
+ cycle withcolor \MPcolor{maincolor} ;
+
+ clip currentpicture to Page ;
+
+ fi ;
+
+\stopuseMPgraphic
+
+% e-mess has always been okay by definition which makes it easier to blame generators
+
+\defineoverlay
+ [page]
+ [\useMPgraphic{page}]
+
+\setupbackgrounds
+ [page]
+ [background=page]
+
+\setupalign
+ [middle,broad]
+
+\setupcolors
+ [textcolor=white]
+
+\setupbodyfont
+ [pagella,17.3pt]
+
+\setuplayout
+ [height=middle,
+ width=middle,
+ topspace=.05\paperheight,
+ backspace=.15\paperwidth,
+ header=0pt,
+ footer=0pt]
+
+\setupwhitespace
+ [line]
+
+\setuphead
+ [title]
+ [style=\bfb,
+ alternative=middle,
+ before=,
+ number=no]
+
+\stopmodule
+
+\continueifinputfile{s-present-ovals.mkiv}
+
+\usemodule[present-common]
+
+\inputpresentationfile{bachotex/2015/bachotex-2015-ligatures.tex}
+%inputpresentationfile{bachotex/2015/context-2015-status.tex}
diff --git a/tex/context/modules/mkiv/s-present-overlap.mkiv b/tex/context/modules/mkiv/s-present-overlap.mkiv
new file mode 100644
index 000000000..053455b4b
--- /dev/null
+++ b/tex/context/modules/mkiv/s-present-overlap.mkiv
@@ -0,0 +1,233 @@
+%D \module
+%D [ file=s-present-overlap, % was s-pre-62,
+%D version=2005.03.04,
+%D title=\CONTEXT\ Style File,
+%D subtitle=Presentation Environment Overlap,
+%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-overlap]
+
+\doifmodeelse {atpragma} {
+
+ \usetypescriptfile
+ [type-ghz]
+
+ \definetypeface[mainface][rm][serif][melior] [default][encoding=texnansi]
+ \definetypeface[mainface][tt][mono] [modern] [default][encoding=texnansi,rscale=1.05]
+ \definetypeface[mainface][ss][serif][melior] [default][encoding=texnansi]
+ \definetypeface[mainface][mm][math] [palatino][default][encoding=texnansi,rscale=0.95]
+
+ \setupbodyfont
+ [mainface,14.4pt]
+
+} {
+
+ \setupbodyfont[dejavu,14.4pt]
+
+}
+
+\setuppapersize
+ [S6][S6]
+
+\setvariables[layout][dx=0,dy=1,nx=2,ny=2,step=64]
+
+\definemeasure[layoutwd][\dimexpr\paperwidth /\getvariable{layout}{step}\relax]
+\definemeasure[layoutht][\dimexpr\paperheight/\getvariable{layout}{step}\relax]
+
+\setuplayout
+ [ width=middle,
+ height=middle,
+ header=0pt,
+ footer=0pt,
+ margin=0pt,
+ backspace=5\measured{layoutwd},
+ topspace=5\measured{layoutht}]
+
+\definelayout
+ [step]
+ [ backspace=\numexpr2+ \getvariable{layout}{dx}\relax\measured{layoutwd},
+ cutspace=\numexpr3+\getvariable{layout}{nx}-\getvariable{layout}{dx}\relax\measured{layoutwd},
+ topspace=\numexpr2+ \getvariable{layout}{dy}\relax\measured{layoutht},
+ bottomspace=\numexpr3+\getvariable{layout}{ny}-\getvariable{layout}{dy}\relax\measured{layoutht}]
+
+\definecolor[layout:left] [t=.5,a=1,b=1]
+\definecolor[layout:right] [t=.5,a=1,r=1]
+\definecolor[layout:top] [t=.5,a=1,g=1]
+\definecolor[layout:bottom][t=.5,a=1,y=1]
+\definecolor[layout:page] [s=.75]
+
+\definehspace[menu][\measured{layoutwd}]
+
+\setupinteraction
+ [state=start,
+ click=off,
+ style=,
+ color=interactioncolor,
+ contrastcolor=interactioncolor]
+
+\setupinteractionscreen
+ [option=max]
+
+\setupbuttons
+ [color=maincolor,
+ contrastcolor=maincolor,
+ style=\tf, % acceptable
+ height=2\measure{layoutht},
+ width=2\measure{layoutwd},
+ offset=overlay,
+ frame=off]
+
+\definecolor[interactioncolor][darkgray]
+\definecolor[maincolor] [lightgray]
+
+\setuptexttexts
+ []
+ [\vbox to \textheight{\vfill\hfill\setups{menu:content}}]
+
+\startsetups menu:content
+
+ \button{\symbol[firstpage]}[firstpage]
+ \hspace[menu]
+ \button{\symbol[previouspage]}[previouspage]
+ \hspace[menu]
+ \button{\StartBusy\symbol[PauseRendering]\StopBusy}[InvokeStepper]
+ \hspace[menu]
+ \button{\symbol[nextpage]}[nextpage]
+ \hspace[menu]
+ \button{\symbol[lastpage]}[lastpage]
+ \hspace[menu]
+ \button{\symbol[CloseDocument]}[CloseDocument]
+
+\stopsetups
+
+\startuseMPgraphic{page}{step}
+ StartPage ;
+ numeric dx ; dx := PaperWidth /\MPvar{step} ;
+ numeric dy ; dy := PaperHeight/\MPvar{step} ;
+ fill Page withcolor .5white ;
+ fill
+ ulcorner Page -- urcorner Page --
+ urcorner Page shifted (0,-TopSpace+dy) -- ulcorner Page shifted (0,-TopSpace+dy) -- cycle
+ withcolor "layout:top" ;
+ fill
+ llcorner Page -- lrcorner Page --
+ lrcorner Page shifted (0,BottomSpace-dy) -- llcorner Page shifted (0,BottomSpace-dy) -- cycle
+ withcolor "layout:bottom" ;
+ fill
+ ulcorner Page -- llcorner Page --
+ llcorner Page shifted (BackSpace-dx,0) -- ulcorner Page shifted (BackSpace-dx,0) -- cycle
+ withcolor "layout:left" ;
+ fill
+ urcorner Page -- lrcorner Page --
+ lrcorner Page shifted (-CutSpace+dx,0) -- urcorner Page shifted (-CutSpace+dx,0) -- cycle
+ withcolor "layout:right" ;
+ fill Field[Text][Text] enlarged (dx,dy) withcolor white ;
+ fill Field[Text][Text] enlarged (dx,dy) withcolor "layout:page" ;
+ StopPage ;
+\stopuseMPgraphic
+
+\defineoverlay[page][\useMPgraphic{page}{step=\getvariable{layout}{step}}]
+
+\setupbackgrounds
+ [page]
+ [background=page]
+
+\setupcolors
+ [state=start]
+
+\startsetups nextstep
+ % pagebreak handlers are grouped, so we need to set global
+ \ifnum\getvariable{layout}{dx}=\getvariable{layout}{nx}\relax
+ \ifnum\getvariable{layout}{dy}=\getvariable{layout}{ny}\relax
+ \setxvariables[layout][dy=1]
+ \else
+ \setxvariables[layout][dy=\the\numexpr\getvariable{layout}{dy}+1\relax]
+ \fi
+ \setxvariables[layout][dx=1]
+ \else
+ \setxvariables[layout][dx=\the\numexpr\getvariable{layout}{dx}+1\relax]
+ \fi
+ % global anyway
+ \setuplayout[step]
+\stopsetups
+
+\appendtoks
+ \definefont[ChapterTitleFont][SerifBold*default sa 2]
+ \NormalizeFontHeight \SubTitleFont {\setstrut\strut\quad} {3\lineheight} {SerifBold*default}
+ \NormalizeFontHeight \ChapterNumberFont {XVI} {4\lineheight} {SerifBold*default}
+\to \everystarttext
+
+\setupsection
+ [section-2]
+ [bodypartconversion=Romannumerals]
+
+\installpagebreakhandler {step} {\setups{nextstep}}
+
+\definepagebreak[chapter][yes,step]
+
+\setuphead
+ [chapter]
+ [page=chapter,
+ command=\MyChapterCommand,
+ after=\nowhitespace]
+
+\definehead[Topic][chapter]
+\definehead[Nopic][title]
+
+\setuphead[chapter,Topic,Nopic]
+ [numberstyle=\ChapterNumberFont,
+ textstyle=\ChapterTitleFont,
+ numbercolor=lightgray,
+ textcolor=darkgray]
+
+\unexpanded\def\MyChapterCommand#1#2%
+ {\hbox \bgroup % we need to nil the strut added by the headplacement
+ \setupframed[frame=off,lines=3,offset=overlay]%
+ \rlap{\hskip2\lineheight\framed{\setnostrut#1}}%
+ \framed{#2}%
+ \egroup}
+
+\setupitemize
+ [each]
+ [R,broad]
+ [stopper=,
+ color=lightgray]
+
+\startsetups document:start
+
+ \startstandardmakeup[headerstate=high,textstate=stop]
+
+ \setupalign[middle]
+
+ \vfil
+ \startcolor[darkgray]
+ \dontleavehmode\scale[width=.9\textwidth]{\bf\setstrut\strut\documentvariable{title}}
+ \vfil
+ \dontleavehmode\scale[width=.7\textwidth]{\bf\setstrut\strut\documentvariable{subtitle}}
+ \vfil \vfil \vfil
+ \dontleavehmode\scale[width=.5\textwidth]{\bf\setstrut\strut\documentvariable{location}}
+ \stopcolor
+ \vfil \vfil \vfil
+
+ \stopstandardmakeup
+
+\stopsetups
+
+\stopmodule
+
+\continueifinputfile{s-present-overlap.mkiv}
+
+\usemodule[present-common]
+
+\inputpresentationfile{context/2011/context-2011-mathml-update.tex}
+%\inputpresentationfile{context/2011/context-2011-metapost-how-we-adapt.tex}
+%\inputpresentationfile{context/2011/context-2011-ebook-export.tex}
+%\inputpresentationfile{context/2011/context-2011-sorting-registers.tex}
diff --git a/tex/context/modules/mkiv/s-present-phone.mkiv b/tex/context/modules/mkiv/s-present-phone.mkiv
new file mode 100644
index 000000000..d041ad822
--- /dev/null
+++ b/tex/context/modules/mkiv/s-present-phone.mkiv
@@ -0,0 +1,108 @@
+%D \module
+%D [ file=s-present-phone,
+%D version=2016.04.20, % or about
+%D title=\CONTEXT\ Style File,
+%D subtitle=Presentation Environment Phone,
+%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 The theme of Bacho\TeX\ was \quote {Getting \TEX\ out of the closet}. And, as I'm
+%D always a bit sceptical about efforts to get a specialized toolbox like \TEX\
+%D accepted in a large scale generic user base, I decided to give a talk dedicated
+%D to Jerzy (the always optimistic organizer). (One can actually wonder if \TEX\ was
+%D ever hidden in a closet.) And, because I had to get the attention of some nephew
+%D and nieces I took there I gave the presentation without beamer but on my phone.
+%D On such a device one just swipes but I still added two buttons. Watch the small
+%D full|-|hd|-|ratio paper dimensions and 6 point font size.
+
+\startmodule[s-present-phone]
+
+\setupinteraction
+ [state=start]
+
+\definepapersize
+ [phone]
+ [width=108.0pt,
+ height=192.0pt]
+
+\definelayout
+ [phone]
+ [backspace=3pt,
+ topspace=6pt,
+ bottomspace=3pt,
+ header=0pt,
+ footer=0pt,
+ bottom=10pt,
+ bottomdistance=5pt,
+ height=fit,
+ width=middle]
+
+\setuplayout
+ [phone]
+
+\setuppapersize
+ [phone]
+
+\setupbodyfont
+ [dejavu,ss,6pt]
+
+\setupalign
+ [tolerant,flushleft]
+
+\setupbackgrounds
+ [page]
+ [background=color,
+ backgroundcolor=maincolor]
+
+\setupbackgrounds
+ [bottom]
+ [text]
+ [background=color,
+ backgroundcolor=othercolor,
+ backgroundoffset=\backspace]
+
+\definecolor[maincolor] [r=.7,g=.3,b=0]
+\definecolor[othercolor][r=0,g=.3,b=.7]
+
+\setupcolors
+ [textcolor=white]
+
+\setupinteraction
+ [menu=on,
+ color=white,
+ contrastcolor=white]
+
+\setupinteractionmenu
+ [bottom]
+ [state=start,
+ style=\ss\bf]
+
+\setupitemgroup
+ [itemize]
+ [inbetween={\blank[medium]}]
+
+\startinteractionmenu[bottom]
+ \startgot [previouspage] \textminus \stopgot
+ \starttxt \getmarking[section] \stoptxt
+ \startgot [nextpage] \textplus \stopgot
+\stopinteractionmenu
+
+\setuphead
+ [section]
+ [page=yes,
+ before=,
+ after={\blank[disable]},
+ placehead=empty]
+
+\stopmodule
+
+\continueifinputfile{s-present-phone.mkiv}
+
+\usemodule[present-common]
+
+\inputpresentationfile{bachotex/2016/bachotex-2016-toolbox.tex}
diff --git a/tex/context/modules/mkiv/s-pre-70.mkiv b/tex/context/modules/mkiv/s-present-punk.mkiv
index 2c8bb2d26..a43639690 100644
--- a/tex/context/modules/mkiv/s-pre-70.mkiv
+++ b/tex/context/modules/mkiv/s-present-punk.mkiv
@@ -1,8 +1,8 @@
%D \module
-%D [ file=s-pre-70,
+%D [ file=s-present-punk,
%D version=2008.04.15,
%D title=\CONTEXT\ Style File,
-%D subtitle=Presentation Environment 70,
+%D subtitle=Presentation Environment Punk,
%D author=Hans Hagen,
%D date=\currentdate,
%D copyright={PRAGMA ADE \& \CONTEXT\ Development Team}]
@@ -48,7 +48,7 @@
\setupinteraction
[state=start,
- %click=off,
+ %click=off,
menu=on]
%D We predefine a few palets. Of course you can define more.
@@ -67,8 +67,8 @@
\setuppalet[punk-one]
-%D We use a few backgrounds. The hyperlink that invokes the
-%D stepper is hooked into the text background.
+%D We use a few backgrounds. The hyperlink that invokes the stepper is hooked
+%D into the text background.
\definelayer
[page]
@@ -101,8 +101,7 @@
color=white, % pagecolor,
contrastcolor=white] % pagecolor,
-%D We define a rather simple navigational panel at the
-%D bottom
+%D We define a rather simple navigational panel at the bottom
\setupinteractionmenu
[bottom]
@@ -139,7 +138,8 @@
\definesymbol[next] [\string>\string>]
\stopsymbolset
-\setupinteraction[symbolset=punk]
+\setupinteraction
+ [symbolset=punk]
%D Because the font is rather large, we use less whitespace.
@@ -147,12 +147,9 @@
[chapter]
[after={\blank[big]}]
-%D Run this file with the command: \type {context --mode=demo s-pre-70}
-%D in order to get an example.
-
-\continueifinputfile{s-pre-70.mkiv}
+\continueifinputfile{s-present-punk.mkiv}
-\usemodule[pre-60] % use the stepper
+\usemodule[pre-stepwise]
\starttext
diff --git a/tex/context/modules/mkiv/s-pre-71.lua b/tex/context/modules/mkiv/s-present-random.lua
index bfa45a705..f32d7aaea 100644
--- a/tex/context/modules/mkiv/s-pre-71.lua
+++ b/tex/context/modules/mkiv/s-present-random.lua
@@ -1,11 +1,14 @@
-if not modules then modules = { } end modules ['steps'] = {
+if not modules then modules = { } end modules ['present-random'] = {
version = 1.001,
- comment = "companion to steps.mkiv",
+ comment = "companion to s-present-random.mkiv",
author = "Hans Hagen, PRAGMA-ADE, Hasselt NL",
copyright = "PRAGMA ADE / ConTeXt Development Team",
license = "see context related readme files"
}
+-- For the moment we keep the namespace steps because it can become some
+-- shared module some day.
+
moduledata.steps = moduledata.steps or { }
local steps = moduledata.steps
diff --git a/tex/context/modules/mkiv/s-present-random.mkiv b/tex/context/modules/mkiv/s-present-random.mkiv
new file mode 100644
index 000000000..f63dc7851
--- /dev/null
+++ b/tex/context/modules/mkiv/s-present-random.mkiv
@@ -0,0 +1,243 @@
+%D \module
+%D [ file=s-present-random,
+%D version=2008.08.05, % updated 2016.10.20
+%D title=\CONTEXT\ Style File,
+%D subtitle=Presentation Environment Random,
+%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 Unfortunately there are not that many viewers that support javascript
+%D control over layers.
+
+% \enablemode[numbers]
+% \enablemode[paper]
+% \usemodule[present-stepwise]
+
+\registerctxluafile{s-present-random}{}
+
+\setupinteraction
+ [state=start,
+ click=off]
+
+\definepapersize
+ [wide]
+ [width=900pt,
+ height=600pt]
+
+\setuppapersize
+ [wide]
+ [wide]
+
+\setuplayout
+ [page]
+
+\setupsorting
+ [logo]
+ [style=]
+
+\startnotmode[paper]
+
+ \setupbackgrounds
+ [page]
+ [background=color,
+ backgroundcolor=black]
+
+\stopnotmode
+
+\definelayer
+ [page]
+ [width=\paperwidth,
+ height=\paperheight]
+
+\definecolor[TopicColor-1][r=.3,g=.4,b=.5]
+\definecolor[TopicColor-2][r=.3,g=.5,b=.4]
+\definecolor[TopicColor-3][r=.4,g=.3,b=.5]
+\definecolor[TopicColor-4][r=.4,g=.5,b=.3]
+\definecolor[TopicColor-5][r=.5,g=.3,b=.4]
+\definecolor[TopicColor-6][r=.5,g=.4,b=.3]
+\definecolor[TopicColor-7][r=.35,g=.35,b=.6]
+\definecolor[TopicColor-8][r=.6,g=.35,b=.35]
+\definecolor[TopicColor-9][r=.35,g=.6,b=.35]
+
+\definecolor[TopicColor-0][t=.5,a=1,s=.5]
+\definecolor[TopicColor] [s=1]
+
+\setupcolors
+ [textcolor=TopicColor]
+
+\starttexdefinition unexpanded StartTopics
+ \doifelsemode {paper} {
+ \disablemode[stepper]
+ \enablemode[onepagestepper]
+ } {
+ \doifelsedefined {NextStep} {
+ \enablemode[stepper]
+ \disablemode[onepagestepper]
+ } {
+ \disablemode[stepper]
+ \disablemode[onepagestepper]
+ }
+ }
+ \doifelsemode {onepagestepper} {
+ \startstandardmakeup[top=,bottom=\vfill]
+ } {
+ \setuplayer[state=repeat]
+ \resetlayer[page]
+ }
+ \ctxlua{moduledata.steps.reset_locations()}
+ \doifmode {interactivestepper} {
+ \StartLocalSteps
+ }
+\stoptexdefinition
+
+\starttexdefinition unexpanded StopTopics
+ \doifmode {interactivestepper} {
+ \StopLocalSteps
+ }
+ \doifelsemode {onepagestepper} {
+ \flushlayer[page]
+ \stopstandardmakeup
+ } {
+ \resetlayer[page]
+ }
+\stoptexdefinition
+
+\starttexdefinition unexpanded StartTopic
+ \dosingleempty\doStartTopic
+\stoptexdefinition
+
+\starttexdefinition unexpanded doStartTopic [#1]
+ \doifmode {interactivestepper} {
+ \NextStep
+ }
+ \ctxlua{moduledata.steps.next_location("#1")}
+ \doifmode {paper} {
+ \doifnothing {#1} {
+ \ifcase\ctxlua{moduledata.steps.previous_n()}\else
+ \setlayer
+ [page]
+ [preset=\ctxlua{moduledata.steps.previous_location()}]
+ \bgroup
+ \doifmode {interactivestepper} {
+ \startviewerlayer[\StepLayer]
+ }
+ \framed
+ [offset=20pt,
+ strut=no,
+ align=normal,
+ frame=off,
+ height=\dimexpr\paperheight/3\relax,
+ width=\dimexpr\paperwidth/3\relax,
+ background=color,
+ backgroundcolor=TopicColor-0]
+ {}
+ \doifmode {interactivestepper} {
+ \stopviewerlayer
+ }
+ \egroup
+ \fi
+ }
+ }
+ \setlayer
+ [page]
+ [preset=\ctxlua{moduledata.steps.current_location()}]
+ \bgroup
+ \doifmode {interactivestepper} {
+ \startviewerlayer[\StepLayer]
+ }
+ \framed
+ [offset=20pt,
+ strut=no,
+ align=\expdoifelse{#1}{}{normal}{middle,lohi},
+ align=\expdoifelse{#1}{}{flushleft,verytolerant}{middle,lohi},
+ frame=off,
+ height=\dimexpr\paperheight/3\relax,
+ width=\dimexpr\paperwidth/3\relax,
+ background=color,
+ backgroundcolor=TopicColor-\ctxlua{moduledata.steps.current_n()}]
+ \bgroup
+ \ignorespaces
+\stoptexdefinition
+
+\starttexdefinition unexpanded StopTopic
+ \removeunwantedspaces
+ \egroup
+ \doifmode {interactivestepper} {
+ \stopviewerlayer
+ }
+ \egroup
+ \doifmode {numbers} {
+ \setlayerframed
+ [page]
+ [preset=\ctxlua{moduledata.steps.current_location()}]
+ [height=\dimexpr\paperheight/3\relax,
+ width=\dimexpr\paperwidth/3\relax,
+ frame=off,
+ foregroundstyle=\bfa,
+ align={flushright,low}]
+ \bgroup
+ \doifmode {interactivestepper} {
+ \startviewerlayer[\StepLayer]
+ }
+ \ctxlua{moduledata.steps.step()}\kern\strutdepth
+ \doifmode {interactivestepper} {
+ \stopviewerlayer
+ }
+ \egroup
+ }
+ \doifnotmode {onepagestepper} {
+ \startstandardmakeup[top=,bottom=\vfill]
+ \flushlayer[page]
+ \stopstandardmakeup
+ }
+\stoptexdefinition
+
+\definefont[TitleFont][SansBold*default at 60pt]
+\definefont[TempFont] [SansBold*default at 12pt]
+
+\let\StartText\starttext % for old times sake
+\let\StopText \stoptext % for old times sake
+
+\continueifinputfile{s-present-random.mkiv}
+
+% \enablemode[paper]
+
+% \usemodule[present-stepwise]
+\usemodule[abr-02]
+
+\doifelsemode {atpragma} {
+ \usetypescriptfile[type-hgz]
+ \usetypescript[palatino-informal]
+ \setupbodyfont[palatino-informal,15pt]
+} {
+ \setupbodyfont[modern-variable,15pt]
+}
+
+\logo [METAPOST] {MetaPost}
+
+\starttext
+
+\StartTopics
+ \StartTopic[1] A \StopTopic
+ \StartTopic[5] B \StopTopic
+ \StartTopic[9] C \StopTopic
+\StopTopics
+
+\StartTopics
+ \StartTopic A \StopTopic
+ \StartTopic B \StopTopic
+ \StartTopic C \StopTopic
+ \StartTopic D \StopTopic
+ \StartTopic E \StopTopic
+ \StartTopic F \StopTopic
+ \StartTopic G \StopTopic
+ \StartTopic H \StopTopic
+ \StartTopic I \StopTopic
+\StopTopics
+
+\stoptext
diff --git a/tex/context/modules/mkiv/s-present-shaded.mkiv b/tex/context/modules/mkiv/s-present-shaded.mkiv
new file mode 100644
index 000000000..debcca0f1
--- /dev/null
+++ b/tex/context/modules/mkiv/s-present-shaded.mkiv
@@ -0,0 +1,167 @@
+%D \module
+%D [ file=s-present-shaded,
+%D version=2014.04.30,
+%D title=\CONTEXT\ Style File,
+%D subtitle=Presentation Environment Shaded Content,
+%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 As usual, this style was made for a Bacho\TeX\ conference. It doesn't do anything
+%D special apart from progressively changing the shaded backgrounds. You can
+%D redefine the colors \type {maincolor} and \type {othercolor} to suit your taste.
+
+\startmodule[present-shaded]
+
+\setuppapersize[S6]
+
+\setuplayout
+ [cutspace=120pt,
+ rightmargin=100pt,
+ margindistance=10pt,
+ rightmargin=0pt,
+ margindistance=0pt,
+ rightedge=100pt,
+ edgedistance=12.5pt,
+ backspace=10pt,
+ topspace=10pt,
+ bottomspace=10pt,
+ header=0pt,
+ footer=0pt,
+ width=middle,
+ height=middle]
+
+\setupbodyfont
+ [dejavu]
+
+\setuplist
+ [chapter]
+ [before=,
+ after=,
+ inbetween=\vskip5pt,
+ inbetween=\vfill,
+ alternative=e,
+ width=\hsize,
+ height=\measure{menu-item-height},
+ style=bold,
+ frame=off,
+ background=color,
+ backgroundcolor=\structurelistuservariable{color},
+ criterium=text]
+
+\setupcolors
+ [textcolor=white]
+
+\setupinteraction
+ [state=start,
+ menu=on,
+ color=white,
+ click=off,
+ contrastcolor=white]
+
+\setupinteractionmenu
+ [right]
+ [topoffset=5pt,
+ bottomoffset=5pt]
+
+\startinteractionmenu[right]
+ \placelist[chapter]
+\stopinteractionmenu
+
+\definecolor[maincolor] [b=.4]
+\definecolor[othercolor][s=.4]
+
+\definecolor[verydark][s=.2]
+\definecolor[lessdark][1.5(verydark)]
+
+% we need some extra counter values: \getstructurenumber{self}
+
+\setupmodule
+ [n=\the\numexpr\lastpage-\plusone\relax]
+
+\appendtoks
+ \dorecurse {\moduleparameter{present-shaded}{n}} {
+ \definecolor[shade:#1][\luaexpr{.8*#1/\moduleparameter{present-shaded}{n}}(maincolor,othercolor)]
+ }
+\to \everystarttext
+
+\setupbackgrounds
+ [page]
+ [background=color,
+ backgroundoffset=5pt,
+ backgroundcolor=verydark]
+
+\setupbackgrounds
+ [text]
+ [background={invoke,color},
+ backgroundoffset=5pt,
+ backgroundcolor=\namedstructureuservariable{chapter}{color}]
+
+\definemeasure
+ [menu-item-height]
+ [(\textheight-\numexpr\moduleparameter{present-shaded}{n}-1\relax\dimexpr5pt\relax)/\moduleparameter{present-shaded}{n}]
+
+\setupitemgroup
+ [itemize]
+ [packed]
+
+\setuphead
+ [chapter]
+ [number=no,
+ style=\bfc]
+
+\setuphead
+ [section]
+ [number=no,
+ style=\bf,
+ before=\blank,
+ after=\blank]
+
+\setupdocument
+ [title=Title,
+ subtitle=Subtitle,
+ location=\currentdate]
+
+\startsetups document:start
+
+ \setupbackgrounds
+ [text]
+ [backgroundcolor=lessdark]
+
+ \startstandardmakeup
+
+ \setupalign[middle]
+
+ \vfil
+ \dontleavehmode \scale[width=.8\textwidth] {\documentvariable{title}}
+ \vfil
+ \dontleavehmode \scale[width=.6\textwidth] {\documentvariable{subtitle}}
+ \vfil \vfil \vfil
+ \dontleavehmode \scale[width=.4\textwidth] {\documentvariable{location}}
+ \vfil
+
+ \stopstandardmakeup
+
+ \setupbackgrounds
+ [text]
+ [backgroundcolor=\namedstructureuservariable{chapter}{color}]
+
+\stopsetups
+
+\stopmodule
+
+\continueifinputfile{s-present-shaded.mkiv}
+
+\startdocument
+ \dorecurse {10} {
+ \startchapter[title={Whatever}][color=shade:#1]
+ \section{test}
+ test #1
+ \namedstructureuservariable{chapter}{color}
+ \stopchapter
+ }
+\stopdocument
diff --git a/tex/context/modules/mkiv/s-present-stepper.mkiv b/tex/context/modules/mkiv/s-present-stepper.mkiv
new file mode 100644
index 000000000..c697a36e3
--- /dev/null
+++ b/tex/context/modules/mkiv/s-present-stepper.mkiv
@@ -0,0 +1,275 @@
+%D \module
+%D [ file=s-pre-61,
+%D version=2004.03.15,
+%D title=\CONTEXT\ Style File,
+%D subtitle=Presentation Environment 61,
+%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 Optima
+
+\usemodule[pre-60]
+
+\doifmodeelse {mkiv} {
+ \usetypescriptfile[ghz]
+ \definetypeface[mainface][ss][sans][optima-nova][default]
+} {
+ \usetypescriptfile[type-ghz]
+ \definetypeface[mainface][ss][sans][optima-nova][default][encoding=\defaultencoding]
+}
+
+\setupbodyfont[mainface,ss,18pt]
+\setupinterlinespace[line=3.25ex]
+
+\setuppapersize
+ [S6][S6]
+
+% \setuppapersize
+% [SW][SW]
+
+\setuplayout
+ [topspace=10pt,
+ header=30pt,
+ headerdistance=20pt,
+ height=middle,
+ footerdistance=20pt,
+ footer=0pt,
+ bottomdistance=20pt,
+ bottom=20pt,
+ bottomspace=50pt,
+ backspace=30pt,
+ width=middle]
+
+\setupinteraction
+ [state=start,
+ click=off,
+ menu=on,
+ style=,
+ color=interactioncolor,
+ contrastcolor=interactioncolor]
+
+\setupinteractionscreen
+ [option=max]
+
+\setupinteractionmenu
+ [bottom]
+ [color=maincolor,
+ contrastcolor=maincolor,
+ style=\tfa, % acceptable
+ left=\hfill,
+ middle=,
+ right=,
+ height=\bottomheight,
+ width=2\bottomheight,
+ offset=overlay,
+ frame=off]
+
+\startinteractionmenu[bottom]
+ \but [firstpage] \symbol[firstpage] \\
+ \but [previouspage] \symbol[previouspage] \\
+ \but [InvokeStepper] \StartBusy\symbol[PauseRendering]\StopBusy \\
+ \but [nextpage] \symbol[nextpage] \\
+ \but [lastpage] \symbol[lastpage] \\
+ \but [CloseDocument] \symbol[CloseDocument] \\
+\stopinteractionmenu
+
+% maybe in colo-sjk : \setupcolor[sjk]
+
+\definecolor [dark] [s=.4]
+\definecolor [bright] [s=.9]
+
+\definecolor [red] [r=.4,g=.2,b=.2]
+\definecolor [green] [r=.2,g=.4,b=.2]
+\definecolor [blue] [r=.2,g=.2,b=.4]
+
+\definecolor [cyan] [r=.2,g=.4,b=.4]
+\definecolor [magenta] [r=.4,g=.2,b=.4]
+\definecolor [yellow] [r=.4,g=.4,b=.2]
+
+\definecolor [pagecolor] [dark]
+\definecolor [maincolor] [bright]
+\definecolor [textcolor] [red]
+
+\definecolor [interactioncolor] [r=.8,g=.8,b=.6]
+
+\setupcolors
+ [state=start,
+ textcolor=maincolor]
+
+\setupbackgrounds
+ [page]
+ [background=page,
+ backgroundcolor=textcolor]
+
+\setupbackgrounds
+ [text]% [text]
+ [background={comments,text,invoke}]
+
+\definelayer
+ [text]
+ [width=\textwidth,
+ height=\textheight]
+
+\defineoverlay
+ [comments]
+ [{\setlayer[text][preset=middle]{\placecomments}}]
+
+\defineoverlay[page][\uniqueMPgraphic{page-\ifcase\realpageno\or one\else plus\fi}]
+
+\startuniqueMPgraphic{page-one}
+ StartPage ;
+ fill Page
+ enlarged 4pt
+ withcolor \MPcolor{pagecolor} ;
+ fill Field[Text][Text]
+ enlarged 10pt
+ % topenlarged (HeaderHeight+HeaderDistance)
+ leftenlarged (BackSpace+4pt)
+ rightenlarged (CutSpace +4pt)
+ withcolor OverlayColor ;
+ StopPage ;
+\stopuniqueMPgraphic
+
+\startuniqueMPgraphic{page-plus}
+ StartPage ;
+ fill Page
+ enlarged 4pt
+ withcolor \MPcolor{pagecolor} ;
+ fill Field[Text][Text]
+ enlarged 10pt
+ leftenlarged (BackSpace+4pt)
+ rightenlarged (CutSpace+4pt)
+ withcolor OverlayColor ;
+ StopPage ;
+\stopuniqueMPgraphic
+
+% this needs to be sorted out !
+
+\appendtoks
+ \NormalizeFontHeight \HeadFont {\setstrut\strut\quad} {1.0\headerheight} {SansBold}
+ \NormalizeFontHeight \TitleFont {\setstrut\strut\quad} {2.0\headerheight} {SansBold}
+ \NormalizeFontHeight \SubTitleFont {\setstrut\strut\quad} {1.5\headerheight} {SansBold}
+ \NormalizeFontHeight \SubSubTitleFont {\setstrut\strut\quad} {1.0\headerheight} {SansBold}
+\to \everystarttext
+
+\appendtoks
+ \NormalizeFontHeight \HeadFont {\setstrut\strut\quad} {1.0\headerheight} {SansBold}
+ \NormalizeFontHeight \TitleFont {\setstrut\strut\quad} {2.0\headerheight} {SansBold}
+ \NormalizeFontHeight \SubTitleFont {\setstrut\strut\quad} {1.5\headerheight} {SansBold}
+ \NormalizeFontHeight \SubSubTitleFont {\setstrut\strut\quad} {1.0\headerheight} {SansBold}
+\to \everystoptext
+
+\setuphead
+ [chapter]
+ [placehead=empty,
+ after={\blank[medium]},
+ color=maincolor,
+ placenumber=no,
+ style=\HeadFont]
+
+\setupheadertexts
+ [\doiftextelse{\currentheadnumber}{\placeheadtext[Topic]}{\placeheadtext[Nopic]}]
+ []
+
+\setuppagenumbering
+ [location=]
+
+\definesymbol
+ [emdash]
+ [\emdash]
+
+\setupitemize
+ [each]
+ [loose,serried,joinedup,broad]
+ [symbol=emdash]
+
+\setupalign
+ [broad,right]
+
+\def\doTitlePage#1#2#3%
+ {\startstandardmakeup[headerstate=high]
+ \def\\{\def\\{\endgraf\quad\quad}\endgraf\quad\ignorespaces#2}%
+ #1\setstrut\setupinterlinespace\vfil#3\vfil\vfil
+ \stopstandardmakeup}
+
+\unexpanded\def\TitlePage {\doTitlePage\TitleFont\relax}
+\unexpanded\def\SubTitlePage{\doTitlePage\TitleFont\SubTitleFont}
+
+\definehead[Topic][chapter]
+\definehead[Nopic][title]
+
+\unexpanded\def\Topics#1%
+ {\Nopic[topics]{#1}
+ \startcolumns
+ \placelist[Topic]
+ \stopcolumns}
+
+\setuplist
+ [Topic]
+ [alternative=f,
+ color=maincolor,
+ contrastcolor=maincolor,
+ criterium=all]
+
+\defineoverlay[topics][\overlaybutton{topics}]
+
+\setupbackgrounds
+ [bottom] [text]
+ [background=topics]
+
+\continueifinputfile{s-present-stepper.tex}
+
+\starttext
+
+\TitlePage{Stepwise\\Refinement}
+
+\Topics{Topics}
+
+\Topic{Female Artists}
+
+\StartSteps
+
+\startitemize
+\item Fiona Apple \FlushStep
+\item Tori Amos \FlushStep
+\item Kate Bush \FlushStep
+\item Heather Nova \FlushStep
+\item Alanis Morissette \FlushStep
+\item Suzanne Vega \FlushStep
+\stopitemize
+
+\StopSteps
+
+\Topic{Male Composers}
+
+\StartSteps
+
+\startitemize
+\item John Adams \FlushStep
+\item Steve Reich \FlushStep
+\item Louis Andriessen \FlushStep
+\item Olivier Messiaen \FlushStep
+\stopitemize
+
+\StopSteps
+
+\Topic{And Some More}
+
+\StartSteps
+
+\startitemize
+\item Mark Hollis \FlushStep
+\item Roger Waters \FlushStep
+\item David Gilmore \FlushStep
+\item Peter Gabriel \FlushStep
+\item Randy Newman \FlushStep
+\stopitemize
+
+\StopSteps
+
+\stoptext
diff --git a/tex/context/modules/mkiv/s-pre-60.mkiv b/tex/context/modules/mkiv/s-present-stepwise.mkiv
index 70f8978b0..70f8978b0 100644
--- a/tex/context/modules/mkiv/s-pre-60.mkiv
+++ b/tex/context/modules/mkiv/s-present-stepwise.mkiv
diff --git a/tex/context/modules/mkiv/s-present-tiles.mkiv b/tex/context/modules/mkiv/s-present-tiles.mkiv
index b68a34ef4..566a610a4 100644
--- a/tex/context/modules/mkiv/s-present-tiles.mkiv
+++ b/tex/context/modules/mkiv/s-present-tiles.mkiv
@@ -11,15 +11,18 @@
%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
%C details.
-%D The Bacho\TeX\ 2013 style.
+%D In this style the table of contents is a bunch of rectangular blobs. The layout
+%D adapts itself upto 25 pages. This style was made for Bacho\TeX\ 2013.
+
+\startmodule[present-tiles]
\setupbodyfont[pagella,14.4pt]
\setuppapersize[S6][S6]
-\definecolor[primarycolor] [.50(darkblue,darkgreen)]
-\definecolor[secondarycolor][.25(darkblue,darkyellow)]
-\definecolor[mixedcolor] [s=.35]
+\definecolor[maincolor] [.50(darkblue,darkgreen)]
+\definecolor[othercolor][.25(darkblue,darkyellow)]
+\definecolor[mixedcolor][s=.35]
\setupcolors
[textcolor=white]
@@ -88,7 +91,7 @@
background=color,
frame=off,
foregroundstyle=MyTopicListFont,
- backgroundcolor=primarycolor,
+ backgroundcolor=maincolor,
foregroundcolor=white]
\setupwhitespace
@@ -171,7 +174,7 @@
frame=off]
\defineframed[nb] [bb] [empty=yes]
-\defineframed[rb] [bb] [backgroundcolor=white,foregroundcolor=secondarycolor]
+\defineframed[rb] [bb] [backgroundcolor=white,foregroundcolor=othercolor]
\defineframed[db] [bb] [backgroundcolor=mixedcolor,foregroundcolor=white]
\definepushbutton [prev]
@@ -235,7 +238,7 @@
align={flushleft,lohi},
background=color,
backgroundcolor=white,
- foregroundcolor=secondarycolor]
+ foregroundcolor=othercolor]
\startsetups [document:titlepage]
@@ -245,12 +248,12 @@
\setupbackgrounds
[page]
[background={color,menupage},
- backgroundcolor=secondarycolor]
+ backgroundcolor=othercolor]
\setupbackgrounds
[text]
[background={color,menupage},
- backgroundcolor=secondarycolor]
+ backgroundcolor=othercolor]
\starttopicmakeup[reference=homepage]
@@ -277,12 +280,12 @@
\setupbackgrounds
[page]
[background={color,homepage},
- backgroundcolor=secondarycolor]
+ backgroundcolor=othercolor]
\setupbackgrounds
[text]
[background={color,menupage},
- backgroundcolor=secondarycolor]
+ backgroundcolor=othercolor]
\startcontentmakeup[reference=menupage]
@@ -296,23 +299,33 @@
[page]
% [background={color,menupage},
[background={color,invoke},
- backgroundcolor=primarycolor]
+ backgroundcolor=maincolor]
\setupbackgrounds
[text]
% [background={color,nextpage,setbuttons,buttons},
[background={color,setbuttons,buttons},
- backgroundcolor=secondarycolor]
+ backgroundcolor=othercolor]
\stopsetups
\setupdocument
[before=\directsetup{document:titlepage}]
-\continueifinputfile{s-present-tiles.mkiv}
-
-\startdocument[title=Whatever We\\Want Here,subtitle=Whatever We\\Want There]
+\stopmodule
- \dorecurse{12}{\starttopic[title=Topic #1]\input tufte \stoptopic}
+\continueifinputfile{s-present-tiles.mkiv}
-\stopdocument
+\usemodule[present-common]
+
+%inputpresentationfile{examples/present-tiles-001.tex}
+%inputpresentationfile{context/2013/context-2013-speed.tex}
+\inputpresentationfile{context/2013/context-2013-math.tex}
+%inputpresentationfile{bachotex/2013/bachotex-2013-bits.tex}
+%inputpresentationfile{bachotex/2013/bachotex-2013-bits.pdf}
+%inputpresentationfile{bachotex/2013/bachotex-2013-luatex.tex}
+%inputpresentationfile{bachotex/2013/bachotex-2013-luatex.pdf}
+%inputpresentationfile{bachotex/2013/bachotex-2013-sense.tex}
+%inputpresentationfile{bachotex/2013/bachotex-2013-sense.pdf}
+%inputpresentationfile{bachotex/2013/bachotex-2013-speed.tex}
+%inputpresentationfile{bachotex/2013/bachotex-2013-speed.pdf}
diff --git a/tex/context/modules/mkiv/s-present-wobbling.mkiv b/tex/context/modules/mkiv/s-present-wobbling.mkiv
new file mode 100644
index 000000000..e61b262f4
--- /dev/null
+++ b/tex/context/modules/mkiv/s-present-wobbling.mkiv
@@ -0,0 +1,339 @@
+%D \module
+%D [ file=s-prent-wobbling,
+%D version=2010.04.28,
+%D title=\CONTEXT\ Style File,
+%D subtitle=Presentation Environment Wobbling,
+%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 a bit old stuyls and I should adapt it a bit but as it sort of works ok I'll
+%D not do that now.
+
+\startmodule[present-wobbling]
+
+%setuppapersize[S6][S6]
+\setuppapersize[SM][SM]
+
+\setupinteraction
+ [state=start,
+ contrastcolor=white,
+ color=white,
+ click=no]
+
+\setuplayout
+ [location=middle,
+ topspace=60pt,
+ bottomspace=80pt,
+ backspace=80pt,
+ header=0pt,
+ footer=0pt,
+ width=middle,
+ height=middle]
+
+\setupcolors
+ [textcolor=white]
+
+\setupbodyfont[pagella]
+
+\definecolor[maincolor] [blue]
+\definecolor[extracolor][green]
+
+% \definecolor[maincolor] [red]
+% \definecolor[extracolor][blue]
+
+\startMPdefinitions
+ picture MySoFar ; MySoFar := nullpicture ;
+ path MyLastOne ; MyLastOne := origin -- cycle ;
+ path MyLeftSteps, MyRightSteps ;
+ boolean MyPageDone ; MyPageDone := false ;
+
+ vardef MySmallShape(expr parent) =
+ path p ; p := boundingbox parent ;
+ numeric w, h ; w := bbwidth(p) ; h := bbheight(p) ;
+ urcorner p shifted (-uniformdeviate w/4,0) --
+ lrcorner p shifted (0,uniformdeviate h/4) --
+ llcorner p shifted (uniformdeviate w/4,0) --
+ ulcorner p shifted (0,-uniformdeviate h/4) -- cycle
+ enddef ;
+
+ vardef MyShape(expr parent) =
+ path p ; p := boundingbox parent ;
+ if MyPageDone :
+ MyPageDone := false ;
+ urcorner p shifted (-EmWidth + -uniformdeviate CutSpace/2,0) --
+ lrcorner p shifted (0,EmWidth + uniformdeviate BottomSpace/2) --
+ llcorner p shifted (EmWidth + uniformdeviate BackSpace/2,0) --
+ ulcorner p shifted (0,-EmWidth + -uniformdeviate TopSpace/2) -- cycle
+ else :
+ MyPageDone := true ;
+ urcorner p shifted (0,-EmWidth + -uniformdeviate TopSpace/2) --
+ lrcorner p shifted (-EmWidth + -uniformdeviate CutSpace/2,0) --
+ llcorner p shifted (0,EmWidth + uniformdeviate BottomSpace/2) --
+ ulcorner p shifted (EmWidth + uniformdeviate BackSpace/2,0) -- cycle
+ fi
+ enddef ;
+
+ vardef MyMakeOne =
+ MyLastOne := MyShape(Page) ;
+ enddef ;
+
+ vardef MyAddOne =
+ addto MySoFar also image(fill MyLastOne withcolor "maincolor" withtransparency(1,.25) ; ) ;
+ enddef ;
+
+ vardef MyDrawOne =
+ fill MyLastOne withcolor black ;
+ fill MyLastOne withcolor "maincolor" withtransparency(1,.25) ;
+ enddef ;
+
+ vardef MyDrawPage =
+ draw MySoFar ;
+ enddef ;
+
+ vardef MySetSteps =
+ path l, r ; numeric s ; path ll[], rr[] ; path t ;
+ l := point 2 of MyLastOne -- point 3 of MyLastOne ;
+ r := point 0 of MyLastOne -- point 1 of MyLastOne ;
+ t := topboundary Field[Text][Text] rightenlarged TextWidth leftenlarged TextWidth ;
+ s := bbheight(Field[Text][Text])/LineHeight + 2 ;
+ t := t shifted (0,-TopSkip) ;
+ for i=1 upto s :
+ ll[i] := t intersectionpoint l ;
+ rr[i] := t intersectionpoint r ;
+ t := t shifted (0,-LineHeight) ;
+ endfor ;
+ MyLeftSteps := for i=1 upto s : ll[i] -- endfor cycle ;
+ MyRightSteps := for i=1 upto s : rr[i] -- endfor cycle ;
+ enddef ;
+
+ vardef MyDrawText(expr txt) =
+ pair a ; a := (point 1 of MyLastOne) - (point 2 of MyLastOne) ;
+ picture p ; p := txt ;
+ p := p
+ shifted (-EmWidth,EmWidth)
+ shifted ulcorner txt
+ shifted point 1 of MyLastOne ;
+ p := p rotatedaround(lrcorner p, radian * tan(ypart a/xpart a)) ;
+ setbounds p to origin -- cycle ;
+ draw p ;
+ enddef ;
+
+ vardef MyDrawTitle(expr txt) =
+ % pair a ; a := (point 2 of MyLastOne) - (point 3 of MyLastOne) ;
+ pair a ; a := (point 3 of MyLastOne) - (point 4 of MyLastOne) ;
+ picture p ;
+ if bbheight(txt) > bbwidth(txt) :
+ p := txt ysized(0.8*TextHeight) ;
+ else :
+ p := txt xsized(0.8*TextWidth) ;
+ fi ;
+ numeric d ; d := arclength(point 2 of MyLastOne -- point 3 of MyLastOne) - bbheight(p) ;
+ p := p
+ shifted (BackSpace,-d/2)
+ shifted -ulcorner p
+ shifted point 3 of MyLastOne ;
+ % p := p rotatedaround(ulcorner p, - radian * tan(xpart a/ypart a)) ;
+ % p := p rotatedaround(ulcorner p, radian * tan(ypart a/xpart a)) ;
+ setbounds p to origin -- cycle ;
+ draw p ;
+ enddef ;
+
+ vardef MyDrawSteps =
+ s := bbheight(Field[Text][Text])/LineHeight + 2 ;
+ for i=1 upto s :
+ draw ll[i] withpen pencircle scaled 1mm ;
+ draw rr[i] withpen pencircle scaled 1mm ;
+ draw ll[i] -- rr[i] ;
+ endfor ;
+ draw Field[Text][Text] ;
+ enddef ;
+
+\stopMPdefinitions
+
+\startuseMPgraphic{initialization}
+ StartPage ;
+ MySoFar := image(fill Page enlarged 12pt withcolor "maincolor" withtransparency(1,.25) ;) ;
+ MyMakeOne ;
+ MySetSteps ;
+ StopPage ;
+\stopuseMPgraphic
+
+\appendtoks
+ \startnointerference
+ \useMPgraphic{initialization}
+ \stopnointerference
+\to \everystarttext
+
+\unexpanded\def\TitleCommand#1%
+ {\framed
+ [frame=off,
+ offset=overlay,
+ align=flushleft,
+ foregroundcolor=white,
+ foregroundstyle={\tfd},
+ bottom=\vskip2\lineheight]
+ {\setupinterlinespace
+ \setupwhitespace[halfline]%
+ %\showstruts
+ \begstrut
+ #1%
+ \endstrut}}
+
+\unexpanded\def\TopicCommand#1%
+ {\color[white]{\tfb#1}}
+
+\startuseMPgraphic{page}
+ StartPage ;
+ MyDrawPage ;
+ MyDrawOne ;
+ MySetSteps ;
+ if RealPageNumber == 1 :
+ MyDrawTitle(textext("\TitleCommand{\documentvariable{title}}")) ;
+ MyDrawText (textext("\TopicCommand{\documentvariable{topic}}")) ;
+ fi ;
+ %
+ % we have multiple runs when we have text
+ %
+ % MyDrawSteps ;
+ % MyMakeOne ;
+ % MySetSteps ;
+ StopPage ;
+\stopuseMPgraphic
+
+\appendtoks
+ \startnointerference
+ \startMPcode
+ MyAddOne ;
+ MyMakeOne ;
+ MySetSteps ;
+ \stopMPcode
+ \stopnointerference
+\to \everyshipout
+
+\defineoverlay[page][\useMPgraphic{page}]
+
+\startuseMPgraphic{symbol}
+ path p ; p := MySmallShape(unitsquare scaled (.6*LineHeight)) ;
+ fill p withcolor white ;
+ fill p withcolor "extracolor" withtransparency(1,.25) ;
+\stopuseMPgraphic
+
+\definesymbol[mysymbol][\struttedbox{\useMPgraphic{symbol}}]
+
+\setupitemgroup
+ [itemize] [1]
+ [symbol=mysymbol]
+
+\setupbackgrounds
+ [page]
+ [background=page]
+
+\startluacode
+ local texdimen = tex.dimen
+ function document.SetParShape()
+ local leftpath = metapost.getclippath { mpx = "metafun", data = "clip currentpicture to MyLeftSteps ;" }
+ local rightpath = metapost.getclippath { mpx = "metafun", data = "clip currentpicture to MyRightSteps ;" }
+ local shape = { }
+ for i=1,#leftpath do
+ local left = leftpath[i].x_coord
+ local right = rightpath[i].x_coord
+ local hsize = right - left - (texdimen.backspace + texdimen.cutspace)*number.dimenfactors.bp
+ shape[#shape+1] = string.format("%sbp %sbp",left,hsize)
+ end
+ -- print(table.serialize(shape))
+ -- context.parshape(string.format("%s %s ",#shape,table.concat(shape," ")))
+ context("\\parshape %s %s ",#shape,table.concat(shape," "))
+ end
+\stopluacode
+
+\nopenalties \dontcomplain
+
+\setupwhitespace[none]
+
+\startsetups document:start
+ \bgroup
+ \let\crlf\endgraf % \par in a mp textext doesn't work well
+ \startstandardmakeup
+ % dummy page
+ \stopstandardmakeup
+ \egroup
+\stopsetups
+
+\unexpanded\def\StartText#1#2% for old times sake
+ {\startdocument[title={#1},subtitle={#2}]}
+
+\unexpanded\def\StopText
+ {\stopdocument
+ \setupdocument[title=,topic=]}
+
+\unexpanded\def\StartItems#1%
+ {\setupdocument[topic={#1}]
+ \startstandardmakeup[top=,bottom=\vss]
+ \startelement[items][title={#1}]%
+ \ctxlua{document.SetParShape()}
+ \StartSteps}
+
+\unexpanded\def\StopItems
+ {\StopSteps
+ \stopelement
+ \stopstandardmakeup}
+
+\unexpanded\def\StartItem
+ {\dontleavehmode
+ \startelement[item]%
+ \llap{\symbol[mysymbol]\quad}% graphic
+ \ignorespaces}
+
+\unexpanded\def\StopItem
+ {\removeunwantedspaces
+ \nobreak
+ \crlf
+ \stopelement
+ \crlf
+ \FlushStep}
+
+\unexpanded\def\ShapeParagraph
+ {\ctxlua{document.SetParShape()}}
+
+% no parshape yet
+
+\unexpanded\def\StartParagraphs#1%
+ {\setupdocument[topic={#1}]
+ \startstandardmakeup[top=,bottom=\vss]
+ %\ctxlua{document.SetParShape()}
+ \startelement[paragraphs]%
+ \StartSteps}
+
+\unexpanded\def\StopParagraphs
+ {\StopSteps
+ \stopelement
+ \stopstandardmakeup}
+
+\unexpanded\def\StartParagraph
+ {\startelement[paragraph]}
+
+\unexpanded\def\StopParagraph
+ {\par
+ \stopelement
+ \FlushStep}
+
+% experiment .. likely to change
+
+\setelementexporttag[items] [nature][display]
+\setelementexporttag[item] [nature][mixed]
+\setelementexporttag[paragraphs][nature][display]
+\setelementexporttag[paragraph] [nature][mixed]
+
+\stopmodule
+
+\continueifinputfile{s-present-wobbling.mkiv}
+
+\usemodule[present-common]
+
+%inputpresentationfile{bachotex/2010/bachotex-2010-clash.tex}
+\inputpresentationfile{bachotex/2010/bachotex-2010-move.tex}
diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua
index 287ef1a0d..3b4f6effd 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 : 10/22/16 10:43:17
+-- merge date : 10/25/16 09:57:25
do -- begin closure to overcome local limits and interference