summaryrefslogtreecommitdiff
path: root/doc/context/presentations/bachotex
diff options
context:
space:
mode:
Diffstat (limited to 'doc/context/presentations/bachotex')
-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
20 files changed, 2342 insertions, 0 deletions
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..972630fbb
--- /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 is 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