summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/context/presentations
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2018-03-20 22:10:59 +0000
committerKarl Berry <karl@freefriends.org>2018-03-20 22:10:59 +0000
commit65d009a0596b194597f47531523addd3e64ed005 (patch)
treee13bd9beecf63e26491a66aa7a8fa702482f0067 /Master/texmf-dist/doc/context/presentations
parentd1a186333ced7b341e26877907343f08211199f7 (diff)
context [current] (20mar18)
git-svn-id: svn://tug.org/texlive/trunk@47050 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/context/presentations')
-rw-r--r--Master/texmf-dist/doc/context/presentations/bachotex/2017/bachotex-2017-emoji-demo.pdfbin0 -> 46443 bytes
-rw-r--r--Master/texmf-dist/doc/context/presentations/bachotex/2017/bachotex-2017-emoji-demo.tex26
-rw-r--r--Master/texmf-dist/doc/context/presentations/bachotex/2017/bachotex-2017-emoji.pdfbin0 -> 308972 bytes
-rw-r--r--Master/texmf-dist/doc/context/presentations/bachotex/2017/bachotex-2017-emoji.tex374
-rw-r--r--Master/texmf-dist/doc/context/presentations/bachotex/2017/bachotex-2017-variablefonts-demo.pdfbin0 -> 219237 bytes
-rw-r--r--Master/texmf-dist/doc/context/presentations/bachotex/2017/bachotex-2017-variablefonts-demo.tex44
-rw-r--r--Master/texmf-dist/doc/context/presentations/bachotex/2017/bachotex-2017-variablefonts.pdfbin0 -> 251093 bytes
-rw-r--r--Master/texmf-dist/doc/context/presentations/bachotex/2017/bachotex-2017-variablefonts.tex500
-rw-r--r--Master/texmf-dist/doc/context/presentations/examples/present-weird-001.pdfbin0 -> 334905 bytes
-rw-r--r--Master/texmf-dist/doc/context/presentations/examples/present-weird-001.tex113
-rw-r--r--Master/texmf-dist/doc/context/presentations/tug/2007/tug-2007-fonts.tex242
11 files changed, 1299 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/context/presentations/bachotex/2017/bachotex-2017-emoji-demo.pdf b/Master/texmf-dist/doc/context/presentations/bachotex/2017/bachotex-2017-emoji-demo.pdf
new file mode 100644
index 00000000000..cce61e1b3cd
--- /dev/null
+++ b/Master/texmf-dist/doc/context/presentations/bachotex/2017/bachotex-2017-emoji-demo.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/context/presentations/bachotex/2017/bachotex-2017-emoji-demo.tex b/Master/texmf-dist/doc/context/presentations/bachotex/2017/bachotex-2017-emoji-demo.tex
new file mode 100644
index 00000000000..ada27160b45
--- /dev/null
+++ b/Master/texmf-dist/doc/context/presentations/bachotex/2017/bachotex-2017-emoji-demo.tex
@@ -0,0 +1,26 @@
+\starttext
+
+\definefontfeature
+ [seguiemj-cl]
+ [default]
+ [colr=yes,
+ ccmp=yes,
+ dist=yes]
+
+\definefont
+ [MyEmoji]
+ [seguiemj*seguiemj-cl]
+
+\typefile{emoji-demo-001.tex}
+
+\showotfcomposition
+ {seguiemj*seguiemj-cl}
+ {1}
+ {\resolvedemoji
+ {family
+ man light skin tone
+ woman dark skin tone
+ girl medium skin tone
+ boy medium skin tone}}
+
+\stoptext
diff --git a/Master/texmf-dist/doc/context/presentations/bachotex/2017/bachotex-2017-emoji.pdf b/Master/texmf-dist/doc/context/presentations/bachotex/2017/bachotex-2017-emoji.pdf
new file mode 100644
index 00000000000..d7e01f59c5a
--- /dev/null
+++ b/Master/texmf-dist/doc/context/presentations/bachotex/2017/bachotex-2017-emoji.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/context/presentations/bachotex/2017/bachotex-2017-emoji.tex b/Master/texmf-dist/doc/context/presentations/bachotex/2017/bachotex-2017-emoji.tex
new file mode 100644
index 00000000000..c6deb387310
--- /dev/null
+++ b/Master/texmf-dist/doc/context/presentations/bachotex/2017/bachotex-2017-emoji.tex
@@ -0,0 +1,374 @@
+% language=uk
+
+\setuppapersize
+ [S6]
+
+\setupbackgrounds
+ [page]
+ [background=color,
+ backgroundcolor=darkgray]
+
+\setuplayout
+ [backspace=24pt,
+ topspace=20pt,
+ bottomspace=8pt,
+ width=middle,
+ height=middle,
+ footerdistance=8pt,
+ footer=8pt,
+ header=0pt]
+
+\setupcolors
+ [textcolor=white]
+
+\setupbodyfont
+ [dejavu,14.4pt]
+
+\definecolor[trace:o] [s=1]
+\definecolor[trace:r] [s=1]
+\definecolor[trace:do][s=1]
+\definecolor[trace:dr][s=1]
+
+\usemodule[abr-03]
+
+\definefontfeature[noligatures][liga=no]
+
+\setuphead
+ [section]
+ [page=yes,
+ style=\bfb,
+ after={\blank[3*medium]}]
+
+\setuphead
+ [subsection]
+ [page=no,
+ style=\bf\addfeature{noligatures},
+ before={\blank[3*medium]},
+ after={\blank}]
+
+\setupfooter
+ [strut=no,
+ style=\bf]
+
+\startdocument
+ [title={Picture Fonts},
+ subtitle={welcome to a (beautiful) mess},
+ author={Hans Hagen},
+ occasion={BachoTUG 2017}]
+
+\startstandardmakeup
+ \vskip32pt
+ \bfd \setupinterlinespace
+ \documentvariable{title}
+ \crlf
+ \bfb \setupinterlinespace
+ \vskip12pt
+ \documentvariable{subtitle}
+ \vfill
+ \bfb \setupinterlinespace
+ \documentvariable{author}
+ \crlf
+ \documentvariable{occasion}
+\stopstandardmakeup
+
+\startsubject[title=A Summary]
+
+\startitemize
+\startitem
+ {\bf the macro package's view:} just a font like any other but it needs to configure
+ some extra color related properties
+\stopitem
+\startitem
+ {\bf the engine's view:} depending on the technology a normal font that needs a bit
+ special treatment or needs to be dealt with as collection of graphics
+\stopitem
+\startitem
+ {\bf the viewer's view:} regular outline glyphs or images tagged as kind of
+ characters so that their unicode representation can be cut and paste
+\stopitem
+\startitem
+ {\bf the user's view:} more pictures than glyphs although some people one can
+ communicate using them
+\stopitem
+\stopitemize
+
+So, in practice, for most \TEX\ users it's probably not a high priority font but more a fun
+one.
+
+\stopsubject
+
+\startsubject[title=Technologies]
+
+As each vendor came up with something, we have to deal with a all kinds of formats. And or
+course, as eagerness pushes things on the market before it's perfect we now have to deal
+with all of them.
+
+\startitemize
+\startitem
+ {\bf overlapping glyphs:} this technique uses the \type {colr} and \type {cpal} tables
+ and is actually a quite clean technology, you can combine in different ways
+\stopitem
+\startitem
+ {\bf svg graphics:} this technique uses the \type {svg} table that contains a svg vector
+ image
+\stopitem
+\startitem
+ {\bf bitmap graphics:} this technique uses for instance \type {sbix} tables that can have
+ various graphic images
+\stopitem
+\stopitemize
+
+The first two are already supported in the \CONTEXT\ font loader and processor
+for a while, the last one was added recently.
+
+\blank
+
+Only the overlapping method is useable for the tens of thousands of skin tone combinations of
+families, (kissing) couples, and professions.
+
+\stopsubject
+
+\startsubject[title=Preparation]
+
+For now one has to enable the feature:
+
+\startbuffer
+\definefontfeature[overlay][default][ccmp=yes,colr=yes,dist=yes]
+\definefontfeature[svg] [default][svg=yes]
+\definefontfeature[bitmap] [default][sbix=yes]
+
+\definefontfeature [colored] [default]
+ [cmcp=yes,dist=yes,
+ colr=yes,svg=yes,sbix=yes]
+\stopbuffer
+
+\typebuffer \getbuffer
+
+Defining a font is not different from others
+
+\starttyping
+\definefont[MyEmojiFont] [seguiemj*overlay]
+\definefontsynonym[emoji][seguiemj*overlay]
+\stoptyping
+
+As is using:
+
+\starttyping
+{\MyEmojiFont\resolvedemoji{woman}}
+\emoji{woman}
+\stoptyping
+
+\stopsubject
+
+\startsubject[title=Accessing shapes]
+
+\startbuffer
+\definesymbol[man] [\emoji{man}]
+\definesymbol[woman][\emoji{woman}]
+\definesymbol[girl] [\emoji{girl}]
+\definesymbol[boy] [\emoji{boy}]
+
+\definesymbol[family][\emoji{family man woman girl boy}]
+\stopbuffer
+
+\typebuffer \getbuffer
+
+\starttyping
+\definefontsynonym[emoji][file:seguiemj.ttf*default,overlay]
+
+\symbol[boy] \symbol[girl] \symbol[man] \symbol[woman]
+
+\symbol[family]
+\stoptyping
+
+\stopsubject
+
+\startsubject[title=Different fonts]
+
+\def\ShowThem#1#2#3%
+ {\NC #1
+ \NC default
+ \NC \definefontsynonym[emoji][#3*default]\symbol[boy] \symbol[girl] \symbol[man] \symbol[woman]
+ \NC \definefontsynonym[emoji][#3*default]\symbol[family]
+ \NC \NR
+ \NC
+ \NC #2
+ \NC \definefontsynonym[emoji][#3*#2]\symbol[boy] \symbol[girl] \symbol[man] \symbol[woman]
+ \NC \definefontsynonym[emoji][#3*#2]\symbol[family]
+ \NC \NR}
+
+\starttabulate[|T|T|||]
+ \ShowThem{seguiemj} {overlay}{file:seguiemj.ttf}
+ \ShowThem{emojionecolor-svginot}{svg} {file:emojionecolor-svginot.ttf}
+ \ShowThem{emojionemozilla} {overlay}{file:emojionemozilla.ttf}
+ \ShowThem{applecoloremoji} {bitmap} {file:applecoloremoji.ttc}
+\stoptabulate
+
+\stopsubject
+
+\startsubject[title=Ligatures]
+
+\definefontfeature[seguiemj-cl][default][colr=yes,ccmp=yes,dist=yes]
+\definefontfeature[seguiemj-bw][default][ccmp=yes]
+
+% \definefont[MyEmoji][emojionecolor-svginot*default,svg]
+% \definefont[MyEmoji][seguiemj*seguiemj-bw]
+\definefont[MyEmoji][seguiemj*seguiemj-cl]
+% \definefont[MyEmoji][emojionemozilla*default,overlay]
+% \definefont[MyEmoji][applecoloremoji*default,bitmap]
+
+{\MyEmoji 👨🏽‍🌾 👨🏽‍🍳 👨🏽‍🎓 👨🏽‍🎤 👨🏽‍🎨 👨🏽‍🏫 👨🏽‍🏭 👨🏽‍💻 👨🏽‍💼 👨🏽‍🔧 👨🏽‍🔬 👨🏽‍🚀}
+
+\starttabulate[|T|T||]
+\NC character \NC 1F477 \NC \MyEmoji \utfchar{"1F477} \NC \NR % construction worker
+\NC skin modifier \NC 1F3FE \NC \MyEmoji \utfchar{"1F3FE} \NC \NR % medium dark skin
+\NC ligature \NC 1F477 1F3FE \NC \MyEmoji \utfchar{"1F477}%
+ \utfchar{"1F3FE} \NC \NR
+\NC zero width joiner \NC 0200D \NC \MyEmoji \utfchar{"0200D} \NC \NR
+\NC female modifier \NC 02640 0FE0F \NC \MyEmoji \utfchar{"02640}%
+ \utfchar{"0FE0F} \NC \NR
+\NC the whole lot \NC \NC \MyEmoji \utfchar{"1F477}%
+ \utfchar{"1F3FE}%
+ \utfchar{"0200D}%
+ \utfchar{"02640}%
+ \utfchar{"0FE0F} \NC \NR
+\stoptabulate
+
+\starttabulate[|T|T||]
+\NC 1F468 1F3FD 200D 1F33E \NC \MyEmoji 👨🏽‍🌾 \NC man farmer medium skin tone \NC \NR
+\NC 1F468 1F3FD 200D 1F373 \NC \MyEmoji 👨🏽‍🍳 \NC man cook medium skin tone \NC \NR
+\NC 1F468 1F3FD 200D 1F393 \NC \MyEmoji 👨🏽‍🎓 \NC man student medium skin tone \NC \NR
+\NC 1F468 1F3FD 200D 1F3A4 \NC \MyEmoji 👨🏽‍🎤 \NC man singer medium skin tone \NC \NR
+\NC 1F468 1F3FD 200D 1F3A8 \NC \MyEmoji 👨🏽‍🎨 \NC man artist medium skin tone \NC \NR
+\NC 1F468 1F3FD 200D 1F3EB \NC \MyEmoji 👨🏽‍🏫 \NC man teacher medium skin tone \NC \NR
+\NC 1F468 1F3FD 200D 1F3ED \NC \MyEmoji 👨🏽‍🏭 \NC man factory worker medium skin tone \NC \NR
+\NC 1F468 1F3FD 200D 1F4BB \NC \MyEmoji 👨🏽‍💻 \NC man technologist medium skin tone \NC \NR
+\NC 1F468 1F3FD 200D 1F4BC \NC \MyEmoji 👨🏽‍💼 \NC man office worker medium skin tone \NC \NR
+\NC 1F468 1F3FD 200D 1F527 \NC \MyEmoji 👨🏽‍🔧 \NC man mechanic medium skin tone \NC \NR
+\NC 1F468 1F3FD 200D 1F52C \NC \MyEmoji 👨🏽‍🔬 \NC man scientist medium skin tone \NC \NR
+\NC 1F468 1F3FD 200D 1F680 \NC \MyEmoji 👨🏽‍🚀 \NC man astronaut medium skin tone \NC \NR
+\stoptabulate
+
+\stopsubject
+
+\usemodule[fonts-emoji]
+
+\startsubject[title=Snippets]
+
+\start
+
+ \definedfont[seguiemj*seguiemj-cl @ 32pt]
+
+ \ShowEmojiSnippets
+ [family man light skin tone woman dark skin tone girl medium skin tone boy medium skin tone]
+
+ \vskip1ex
+
+ \ShowEmojiSnippetsOverlay
+ [family man light skin tone woman dark skin tone girl medium skin tone boy medium skin tone]
+
+ \vskip1ex
+
+ \ShowEmojiGlyphs
+ [family man light skin tone woman dark skin tone girl medium skin tone boy medium skin tone]
+
+\stop
+
+\stopsubject
+
+\startsubject[title=Using \type{\ShowEmoji[^man]}]
+
+\start
+
+ \MyEmoji
+
+ \ShowEmoji[^man]
+
+\stop
+
+\stopsubject
+
+\startsubject[title=Recoloring Seguiem]
+
+\start
+
+\definecolor[emoji-red] [r=.4]
+\definecolor[emoji-blue] [b=.4]
+\definecolor[emoji-yellow][y=.4]
+\definecolor[emoji-gray] [s=.5,t=.5,a=1]
+
+\definefontcolorpalette
+ [emoji-red]
+ [emoji-red,emoji-gray]
+
+\definefontcolorpalette
+ [emoji-blue]
+ [emoji-blue,emoji-gray]
+
+\definefontcolorpalette
+ [emoji-yellow]
+ [emoji-yellow,emoji-gray]
+
+\definefontfeature[seguiemj-r][default][ccmp=yes,dist=yes,colr=emoji-red]
+\definefontfeature[seguiemj-b][default][ccmp=yes,dist=yes,colr=emoji-blue]
+\definefontfeature[seguiemj-y][default][ccmp=yes,dist=yes,colr=emoji-yellow]
+
+\definefont[MyColoredEmojiR][seguiemj*seguiemj-r @ 80pt]
+\definefont[MyColoredEmojiB][seguiemj*seguiemj-b @ 80pt]
+\definefont[MyColoredEmojiY][seguiemj*seguiemj-y @ 80pt]
+
+\MyColoredEmojiR
+ \resolvedemoji{man}
+ \resolvedemoji{woman}
+ \resolvedemoji{baby}
+
+\vskip24pt
+
+\MyColoredEmojiB
+ \resolvedemoji{triangular ruler}
+ \resolvedemoji{rabbit face}
+ \resolvedemoji{family man woman girl boy}
+
+\vskip24pt
+
+\MyColoredEmojiY
+ \resolvedemoji{triangular ruler}
+ \resolvedemoji{rabbit face}
+ \resolvedemoji{family man woman girl boy}
+
+\stop
+
+\page
+
+\starttyping
+\definecolor [emoji-red] [r=.4]
+\definecolor [emoji-gray] [s=.5,t=.5,a=1]
+
+\definefontcolorpalette
+ [emoji-red]
+ [emoji-red,emoji-gray]
+
+\definefontfeature
+ [seguiemj-r]
+ [default]
+ [ccmp=yes,dist=yes,colr=emoji-red]
+
+\definefont
+ [MyColoredEmojiR]
+ [seguiemj*seguiemj-r @ 80pt]
+
+\MyColoredEmojiR
+ \emoji{man}
+ \emoji{woman}
+ \emoji{baby}
+\stoptyping
+
+\stopsubject
+
+\startsubject[title=Pallet \type{\ShowEmojiPalettes[1]}]
+
+{\MyEmoji \ShowEmojiPalettes[1]}
+
+\stopsubject
+
+\stopdocument
diff --git a/Master/texmf-dist/doc/context/presentations/bachotex/2017/bachotex-2017-variablefonts-demo.pdf b/Master/texmf-dist/doc/context/presentations/bachotex/2017/bachotex-2017-variablefonts-demo.pdf
new file mode 100644
index 00000000000..bac8d54c15a
--- /dev/null
+++ b/Master/texmf-dist/doc/context/presentations/bachotex/2017/bachotex-2017-variablefonts-demo.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/context/presentations/bachotex/2017/bachotex-2017-variablefonts-demo.tex b/Master/texmf-dist/doc/context/presentations/bachotex/2017/bachotex-2017-variablefonts-demo.tex
new file mode 100644
index 00000000000..e9543a30a14
--- /dev/null
+++ b/Master/texmf-dist/doc/context/presentations/bachotex/2017/bachotex-2017-variablefonts-demo.tex
@@ -0,0 +1,44 @@
+% macros=mkvi
+
+\usemodule[art-01] \dontcomplain
+
+\starttexdefinition unexpanded TestFont #font#variant#size
+ \bgroup
+ \definedfont[name:#font#variant*default @ #size]
+ \setupinterlinespace
+ % \showstruts
+ % \strut
+ \samplefile{tufte}
+ \par
+ \egroup
+\stoptexdefinition
+
+\starttext
+
+\dorecurse {5} {
+
+ \dostepwiserecurse {8} {14} {1} { % 30 fonts
+ \TestFont {adobevariablefontprototype} {extralight} {##1pt}
+ \TestFont {adobevariablefontprototype} {light} {##1pt}
+ \TestFont {adobevariablefontprototype} {regular} {##1pt}
+ \TestFont {adobevariablefontprototype} {semibold} {##1pt}
+ \TestFont {adobevariablefontprototype} {bold} {##1pt}
+ \TestFont {adobevariablefontprototype} {black} {##1pt}
+ }
+
+ \page
+
+ % \dostepwiserecurse {8} {14} {1} { % 40 fonts
+ % \TestFont {avenirnextvariable} {regular} {##1pt}
+ % \TestFont {avenirnextvariable} {medium} {##1pt}
+ % \TestFont {avenirnextvariable} {bold} {##1pt}
+ % \TestFont {avenirnextvariable} {heavy } {##1pt}
+ % \TestFont {avenirnextvariable} {condensed} {##1pt}
+ % \TestFont {avenirnextvariable} {medium condensed} {##1pt}
+ % \TestFont {avenirnextvariable} {bold condensed} {##1pt}
+ % \TestFont {avenirnextvariable} {heavy condensed} {##1pt}
+ % }
+
+}
+
+\stoptext
diff --git a/Master/texmf-dist/doc/context/presentations/bachotex/2017/bachotex-2017-variablefonts.pdf b/Master/texmf-dist/doc/context/presentations/bachotex/2017/bachotex-2017-variablefonts.pdf
new file mode 100644
index 00000000000..ee3537bd24b
--- /dev/null
+++ b/Master/texmf-dist/doc/context/presentations/bachotex/2017/bachotex-2017-variablefonts.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/context/presentations/bachotex/2017/bachotex-2017-variablefonts.tex b/Master/texmf-dist/doc/context/presentations/bachotex/2017/bachotex-2017-variablefonts.tex
new file mode 100644
index 00000000000..08050a57d0d
--- /dev/null
+++ b/Master/texmf-dist/doc/context/presentations/bachotex/2017/bachotex-2017-variablefonts.tex
@@ -0,0 +1,500 @@
+% language=uk
+
+\setuppapersize
+ [S6]
+
+\setupbackgrounds
+ [page]
+ [background=color,
+ backgroundcolor=darkblue]
+
+\setuplayout
+ [backspace=24pt,
+ topspace=20pt,
+ bottomspace=8pt,
+ width=middle,
+ height=middle,
+ footerdistance=8pt,
+ footer=8pt,
+ header=0pt]
+
+\setupcolors
+ [textcolor=white]
+
+\setupbodyfont
+ [dejavu,14.4pt]
+
+\definecolor[trace:o] [s=1]
+\definecolor[trace:r] [s=1]
+\definecolor[trace:do][s=1]
+\definecolor[trace:dr][s=1]
+
+\usemodule[abr-03]
+
+\definefontfeature[noligatures][liga=no]
+
+\setuphead
+ [section]
+ [page=yes,
+ style=\bfb,
+ after={\blank[3*medium]}]
+
+\setuphead
+ [subsection]
+ [page=no,
+ style=\bf\addfeature{noligatures},
+ before={\blank[3*medium]},
+ after={\blank}]
+
+\setupfooter
+ [strut=no,
+ style=\bf]
+
+\startuseMPgraphic{pagenumber}
+ if LastPageNumber > 0 :
+ draw outlinetext.f
+ (decimal RealPageNumber)
+ (withcolor "darkgray")
+ xysized ((RealPageNumber/LastPageNumber) * TextWidth/2,FooterHeight) ;
+ fi ;
+\stopuseMPgraphic
+
+\setupfootertexts
+ [\useMPgraphic{pagenumber}]
+
+\startdocument
+ [title={Variable Fonts},
+ subtitle={we're ready for them},
+ author={Hans Hagen},
+ occasion={BachoTUG 2017}]
+
+\startstandardmakeup
+ \vskip32pt
+ \bfd \setupinterlinespace
+ \documentvariable{title}
+ \crlf
+ \bfb \setupinterlinespace
+ \vskip12pt
+ \documentvariable{subtitle}
+ \vfill
+ \bfb \setupinterlinespace
+ \documentvariable{author}
+ \crlf
+ \documentvariable{occasion}
+\stopstandardmakeup
+
+\startsubject[title=A Summary]
+
+\startitemize
+\startitem
+ {\bf the macro package's view:} just a font but with many possible variations
+ in shapes (width, weight, slope, etc) and therefore a bit more complex user
+ interface
+\stopitem
+\startitem
+ {\bf the engine's view:} an abstraction not different from other fonts but
+ that needs a special treatment in the backend
+\stopitem
+\startitem
+ {\bf the viewer's view:} a font to be displayed like any other with outlines
+ in cff of ttf format
+\stopitem
+\startitem
+ {\bf the user's view:} an opentype font with possibly surprising shapes of
+ which you need to know a bit more than usual if you want to profit from it
+\stopitem
+\stopitemize
+
+So, in practice, for most \TEX\ users it's just a font that has to be supported by
+\TEX\ and friends.
+
+\stopsubject
+
+\startsubject[title=Starting point]
+
+\startitemize
+\startitem
+ The OpenType 1.8 specification at the MicroSoft website defined the extra
+ tables and explains bits and pieces.
+\stopitem
+\startitem
+ There a few fonts that have relevant tables (not all) and implement variants
+ as well as features.
+\stopitem
+\startitem
+ There are some posts on the internet that show a bit about axis and other things
+ that go on in these fonts.
+\stopitem
+\startitem
+ Luckily we have ways (in \CONTEXT) to explore what goes on in these fonts and
+ how they could look.
+\stopitem
+\startitem
+ Condition: no tricks, no fuzzy heuristics, just the specification should be
+ enough.
+\stopitem
+\stopitemize
+
+\stopsubject
+
+\startsubject[title=Implementation steps]
+
+\startitemize
+\startitem
+ First try to render variants in order to see what we're dealing with. This was not too
+ hard (starting with cff) because we have already virtual font support.
+\stopitem
+\startitem
+ Next try to load the relevant tables and figure out what these deltas and such really
+ mean and how axis and regions and \unknown\ have to be applied.
+\stopitem
+\startitem
+ Try to make it all work on a real piece of text, so not only shapes but also features
+ and dimensions.
+\stopitem
+\startitem
+ Finally make sure that the font can get embedded as a normal font and not as inline
+ (tagged) graphic.
+\stopitem
+\startitem
+ Also, try to generalize the helpers and methods in such ways that we can experiment
+ with additional tricks (after all, \TEX\ is about control).
+\stopitem
+\startitem
+ Todo: once there are more fonts (with the right data tables), check the code with the
+ specification.
+\stopitem
+\stopitemize
+
+\stopsubject
+
+\setupTABLE[c][1][style=tttf,align={flushleft,lohi}]
+
+\startsubject[title=Adobe Variable Font Prototype (cff)]
+
+\unexpanded\def\SampleFont#1#2% weight / contrast
+ {\definedfont[name:adobevariablefontprototype#1*default at 32pt]It looks like this!}
+
+\bTABLE[distance=2em,frame=off]
+\bTR \bTD extralight 0/0 \eTD \bTD \SampleFont {extralight} \eTD \eTR
+\bTR \bTD light 150/0 \eTD \bTD \SampleFont {light} \eTD \eTR
+\bTR \bTD regular 394/0 \eTD \bTD \SampleFont {regular} \eTD \eTR
+\bTR \bTD semibold 600/0 \eTD \bTD \SampleFont {semibold} \eTD \eTR
+\bTR \bTD bold 824/0 \eTD \bTD \SampleFont {bold} \eTD \eTR
+\bTR \bTD black high contrast 1000/100 \eTD \bTD \SampleFont {blackhighcontrast} \eTD \eTR
+\bTR \bTD black medium contrast 1000/50 \eTD \bTD \SampleFont {blackmediumcontrast} \eTD \eTR
+\bTR \bTD black 1000/0 \eTD \bTD \SampleFont {black} \eTD \eTR
+\eTABLE
+
+\stopsubject
+
+% \starttyping
+% \definefont
+% [MyLightFont]
+% [name:adobevariablefontprototypelight*default]
+% \stoptyping
+
+\unexpanded\def\SampleFont#1#2% weight / width
+ {\definedfont[name:avenirnextvariable#1*default at 32pt]It looks like this!}
+
+\startsubject[title=Avenir Next Variable (ttf)]
+
+\bTABLE[distance=2em,frame=off]
+\bTR \bTD regular 400/100 \eTD \bTD \SampleFont {regular} \eTD \eTR
+\bTR \bTD medium 500/100 \eTD \bTD \SampleFont {medium} \eTD \eTR
+\bTR \bTD bold 700/100 \eTD \bTD \SampleFont {bold} \eTD \eTR
+\bTR \bTD heavy 900/100 \eTD \bTD \SampleFont {heavy} \eTD \eTR
+\bTR \bTD condensed 400/75 \eTD \bTD \SampleFont {condensed} \eTD \eTR
+\bTR \bTD medium condensed 500/75 \eTD \bTD \SampleFont {mediumcondensed} \eTD \eTR
+\bTR \bTD bold condensed 700/75 \eTD \bTD \SampleFont {boldcondensed} \eTD \eTR
+\bTR \bTD heavy condensed 900/75 \eTD \bTD \SampleFont {heavycondensed} \eTD \eTR
+\eTABLE
+
+\stopsubject
+
+\startbuffer[both]
+\vfill
+\startMPcode
+ draw outlinetext.b
+ ("\getbuffer[a]")
+ (withcolor "white")
+ (withcolor "red" withpen pencircle scaled 1/10)
+ xsized .9TextWidth ;
+\stopMPcode
+\vfill
+\startMPcode
+ draw outlinetext.b
+ ("\getbuffer[b]")
+ (withcolor "white")
+ (withcolor "red" withpen pencircle scaled 1/10)
+ xsized .9TextWidth ;
+\stopMPcode
+\vfill
+\startMPcode
+ draw outlinetext.b
+ ("\getbuffer[c]")
+ (withcolor "white")
+ (withcolor "red" withpen pencircle scaled 1/10)
+ xsized .90TextWidth ;
+\stopMPcode
+\vfill
+\stopbuffer
+
+\startbuffer[fill]
+\vfill
+\startMPcode
+ draw outlinetext.f
+ ("\getbuffer[a]")
+ (withcolor "white")
+ xsized .9TextWidth ;
+\stopMPcode
+\vfill
+\startMPcode
+ draw outlinetext.f
+ ("\getbuffer[b]")
+ (withcolor "white")
+ xsized .9TextWidth ;
+\stopMPcode
+\vfill
+\startMPcode
+ draw outlinetext.f
+ ("\getbuffer[c]")
+ (withcolor "white")
+ xsized .9TextWidth ;
+\stopMPcode
+\vfill
+\stopbuffer
+
+\startbuffer[draw]
+\vfill
+\startMPcode
+ draw outlinetext.d
+ ("\getbuffer[a]")
+ (withcolor "white" withpen pencircle scaled 1/10)
+ xsized .9TextWidth ;
+\stopMPcode
+\vfill
+\startMPcode
+ draw outlinetext.d
+ ("\getbuffer[b]")
+ (withcolor "white" withpen pencircle scaled 1/10)
+ xsized .9TextWidth ;
+\stopMPcode
+\vfill
+\startMPcode
+ draw outlinetext.d
+ ("\getbuffer[c]")
+ (withcolor "white" withpen pencircle scaled 1/10)
+ xsized .9TextWidth ;
+\stopMPcode
+\vfill
+\stopbuffer
+
+\startbuffer[overlay]
+\startoverlay{%
+\startMPcode
+ draw outlinetext.d
+ ("\getbuffer[a]")
+ (withcolor "green" withtransparency (3,0.5) withpen pencircle scaled 1/10)
+ xsized .9TextWidth ;
+\stopMPcode
+}{%
+\startMPcode
+ draw outlinetext.d
+ ("\getbuffer[b]")
+ (withcolor "yellow" withtransparency (3,0.5) withpen pencircle scaled 1/10)
+ xsized .9TextWidth ;
+\stopMPcode
+}{%
+\startMPcode
+ draw outlinetext.d
+ ("\getbuffer[c]")
+ (withcolor "red" withtransparency (3,0.5) withpen pencircle scaled 1/10)
+ xsized .9TextWidth ;
+\stopMPcode
+}
+\stopoverlay
+\stopbuffer
+
+\startbuffer[a]
+\definedfont[name:adobevariablefontprototypeextralight]bachotex%
+\stopbuffer
+
+\startbuffer[b]
+\definedfont[name:adobevariablefontprototypelight]bachotex%
+\stopbuffer
+
+\startbuffer[c]
+\definedfont[name:adobevariablefontprototypebold]bachotex%
+\stopbuffer
+
+\startsubject[title=Metafontisch overlap (1)]
+ \getbuffer[both]
+\stopsubject
+
+\startbuffer[a]
+\definefontfeature[whatever][axis={weight:50}]%
+\definedfont[name:adobevariablefontprototype*whatever]bachotex%
+\stopbuffer
+
+\startbuffer[b]
+\definefontfeature[whatever][axis={weight:300}]%
+\definedfont[name:adobevariablefontprototype*whatever]bachotex%
+\stopbuffer
+
+\startbuffer[c]
+\definefontfeature[whatever][axis={weight:700}]%
+\definedfont[name:adobevariablefontprototype*whatever]bachotex%
+\stopbuffer
+
+\startsubject[title=Metafontisch overlap (2)]
+ \getbuffer[both]
+\stopsubject
+\startsubject[title=Fills hide the details]
+ \getbuffer[fill]
+\stopsubject
+\startsubject[title=Unsuitable outlines]
+ \getbuffer[draw]
+\stopsubject
+
+\startbuffer[a]
+\definefontfeature[whatever][axis={weight:100,contrast:0}]%
+\definedfont[name:adobevariablefontprototype*whatever]bachotex%
+\stopbuffer
+
+\startbuffer[b]
+\definefontfeature[whatever][axis={weight:200,contrast:20}]%
+\definedfont[name:adobevariablefontprototype*whatever]bachotex%
+\stopbuffer
+
+\startbuffer[c]
+\definefontfeature[whatever][axis={weight:200,contrast:50}]%
+\definedfont[name:adobevariablefontprototype*whatever]bachotex%
+\stopbuffer
+
+\startsubject[title=Stay within specification]
+ \getbuffer[draw]
+\stopsubject
+
+\startsubject[title=Subjective choices]
+ \getbuffer[fill]
+\stopsubject
+
+\startbuffer[a]
+\definefontfeature[whatever][axis={weight:100,contrast:0}]%
+\definedfont[name:adobevariablefontprototype*whatever]tex%
+\stopbuffer
+
+\startbuffer[b]
+\definefontfeature[whatever][axis={weight:200,contrast:20}]%
+\definedfont[name:adobevariablefontprototype*whatever]tex%
+\stopbuffer
+
+\startbuffer[c]
+\definefontfeature[whatever][axis={weight:200,contrast:50}]%
+\definedfont[name:adobevariablefontprototype*whatever]tex%
+\stopbuffer
+
+\startsubject[title=Difficult choices]
+ \getbuffer[overlay]
+\stopsubject
+
+\startsubject[title=Definitions (1)]
+
+\startbuffer
+\definefontfeature
+ [default:shaped]
+ [default]
+ [axis={width:10}]
+
+\definefont
+ [SomeFont]
+ [file:avenirnextvariable*default:shaped]
+\stopbuffer
+
+\typebuffer \getbuffer
+
+\start \setupinterlinespace \showglyphs \showfontkerns \SomeFont \input zapf \wordright{Hermann Zapf}\par \stop
+
+\stopsubject
+
+\startsubject[title=Definitions (2)]
+
+\startbuffer
+\definefontfeature
+ [default:shaped]
+ [default]
+ [axis={width:100,weight=200}]
+
+\definefont
+ [SomeFont]
+ [file:avenirnextvariable*default:shaped @ 12pt]
+\stopbuffer
+
+\typebuffer \getbuffer
+
+\start \setupinterlinespace \showglyphs \showfontkerns \SomeFont \input zapf \wordright{Hermann Zapf}\par \stop
+
+\stopsubject
+
+\startsubject[title=Transformations]
+
+\subsubject{correction:}
+
+\startformula
+ x^\prime = x
+ + s_{x1} \cdot x_1
+ + s_{x2} \cdot x_2
+ + s_{x3} \cdot x_3
+ + s_{x4} \cdot x_4
+\stopformula
+
+\startformula
+ y^\prime = y
+ + s_{y1} \cdot y_1
+ + s_{y2} \cdot y_2
+ + s_{y3} \cdot y_3
+ + s_{y4} \cdot y_4
+\stopformula
+
+\subsubject{internal cff:}
+
+\starttyping
+1 <setvstore>
+120 [10 -30 40 -60] 1 <blend> ... <operator>
+100 120 [10 -30 40 -60] [30 -10 -30 20] 2 <blend> .. <operator>
+\stoptyping
+
+\subsubject{external ttf:}
+
+\starttyping
+apply x deltas [10 -30 40 -60] to x 120
+apply y deltas [30 -10 -30 20] to y 100
+\stoptyping
+
+\stopsubject
+
+\startsubject[title=Follow up]
+
+\startitemize
+\startitem
+ Performance is quite okay because we cache instances. I might come up with an
+ alternative way but there is not much to gain.
+\stopitem
+\startitem
+ Once fonts show up alternative interfaces to axis and scaling can be explored
+ and provided.
+\stopitem
+\startitem
+ I will look into ways to do all the backend font code in \CONTEXT\ in \LUA\
+ (easier to update and more flexible).
+\stopitem
+\startitem
+ Luigi and I will play with variable fonts defined in the traditional meta tools
+ that come with \TEX.
+\stopitem
+\stopitemize
+
+\stopsubject
+
+\stopdocument
diff --git a/Master/texmf-dist/doc/context/presentations/examples/present-weird-001.pdf b/Master/texmf-dist/doc/context/presentations/examples/present-weird-001.pdf
new file mode 100644
index 00000000000..e3533a31ea7
--- /dev/null
+++ b/Master/texmf-dist/doc/context/presentations/examples/present-weird-001.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/context/presentations/examples/present-weird-001.tex b/Master/texmf-dist/doc/context/presentations/examples/present-weird-001.tex
new file mode 100644
index 00000000000..7049bac59e9
--- /dev/null
+++ b/Master/texmf-dist/doc/context/presentations/examples/present-weird-001.tex
@@ -0,0 +1,113 @@
+\usemodule[present-weird]
+
+\starttext
+
+\TitlePage{About Text\\Today's Talk\\Hans Hagen}
+
+\StartPage{The First Page}
+
+ \StartTopic{Some Text}
+ \StartText \input tufte \StopText
+ \StartText \input knuth \StopText
+ \StartText \input zapf \StopText
+ \StartText \input knuth \StopText
+ \StopTopic
+
+ \StartTopic{Another Text}
+ \StartText \input tufte \StopText
+ \StartText \input zapf \StopText
+ \StartText \input knuth \StopText
+ \StopTopic
+
+ \StartTopic{Some More Text}
+ \StartText \input tufte \StopText
+ \StartText \input knuth \StopText
+ \StartText \input zapf \StopText
+ \StartText \input tufte \StopText
+ \StopTopic
+
+ \StartTopic{Some Text Again}
+ \StartText \input tufte \StopText
+ \StartText \input zapf \StopText
+ \StartText \input knuth \StopText
+ \StartText \input tufte \StopText
+ \StopTopic
+
+\StopPage
+
+\StartPage{The Second Page}
+
+ \StartTopic{Some Text}
+ \StartText \input tufte \StopText
+ \StartText \input knuth \StopText
+ \StartText \input zapf \StopText
+ \StartText \input tufte \StopText
+ \StartText \input knuth \StopText
+ \StartText \input zapf \StopText
+ \StopTopic
+
+ \StartTopic{Another Text}
+ \StartText \input tufte \StopText
+ \StartText \input knuth \StopText
+ \StartText \input zapf \StopText
+ \StopTopic
+
+ \StartTopic{Some Nice Text}
+ \StartText \input tufte \StopText
+ \StartText \input knuth \StopText
+ \StartText \input zapf \StopText
+ \StartText \input tufte \StopText
+ \StartText \input tufte \StopText
+ \StopTopic
+
+ \StartTopic{Some Funny Text}
+ \StartText \input tufte \StopText
+ \StartText \input knuth \StopText
+ \StopTopic
+
+ \StartTopic{Quite Some Text}
+ \StartText \input tufte \StopText
+ \StartText \input knuth \StopText
+ \StartText \input zapf \StopText
+ \StartText \input tufte \StopText
+ \StartText \input knuth \StopText
+ \StartText \input zapf \StopText
+ \StartText \input tufte \StopText
+ \StartText \input knuth \StopText
+ \StartText \input zapf \StopText
+ \StopTopic
+
+ \StartTopic{Even More Text}
+ \StartText \input knuth \StopText
+ \StartText \input zapf \StopText
+ \StartText \input tufte \StopText
+ \StartText \input knuth \StopText
+ \StartText \input zapf \StopText
+ \StopTopic
+
+\StopPage
+
+\StartPage{The Third Page}
+
+ \StartTopic{Some Short Text}
+ \StartText \input tufte \StopText
+ \StartText \input knuth \StopText
+ \StartText \input zapf \StopText
+ \StopTopic
+
+ \StartTopic{Some Minimal Text}
+ \StartText \input tufte \StopText
+ \StartText \input zapf \StopText
+ \StopTopic
+
+ \StartTopic{Some More Text}
+ \StartText \input tufte \StopText
+ \StartText \input knuth \StopText
+ \StartText \input zapf \StopText
+ \StartText \input tufte \StopText
+ \StartText \input tufte \StopText
+ \StopTopic
+
+\StopPage
+
+\stoptext
diff --git a/Master/texmf-dist/doc/context/presentations/tug/2007/tug-2007-fonts.tex b/Master/texmf-dist/doc/context/presentations/tug/2007/tug-2007-fonts.tex
new file mode 100644
index 00000000000..8ec97d68c8c
--- /dev/null
+++ b/Master/texmf-dist/doc/context/presentations/tug/2007/tug-2007-fonts.tex
@@ -0,0 +1,242 @@
+\usemodule[present-slanted]
+
+\usemodule[abr-01]
+
+\definefontfeature
+ [default]
+ [method=node,
+ script=latn,
+ onum=yes]
+
+\definefont[TitleFont] [palatinosanscom-bold*default at 48pt] % is used when defined
+\definefont[MainTextFont][palatinosanscom-regular*default at 12pt]
+
+\setupinterlinespace
+ [line=15pt]
+
+\def\XETEX {\dontleavehmode{\morecolor xetex}}
+\def\PDFTEX {\dontleavehmode{\morecolor pdftex}}
+\def\LUATEX {\dontleavehmode{\morecolor luatex}}
+\def\LUA {\dontleavehmode{\morecolor lua}}
+\def\FONTFORGE{\dontleavehmode{\morecolor fontforge}}
+\def\OPENTYPE {\dontleavehmode{\morecolor opentype}}
+\def\TFM {\dontleavehmode{\morecolor tfm}}
+\def\TEX {\dontleavehmode{\morecolor tex}}
+\def\MKIV {\dontleavehmode{\morecolor mkiv}}
+
+\def|#1|{-}
+
+\startdocument
+ [location={tug 2007 san diego},
+ author={hans hagen},
+ title={{zapfino, a},{torture test},{for luatex}}]
+
+\StartTopic{loading fonts}
+
+\StartSteps
+
+\StartItem the \OPENTYPE\ font reader is borrowed from \FONTFORGE\ \FlushStep \StopItem
+\StartItem once it was ready, we could look into such a font \FlushStep \StopItem
+\StartItem it tooks while to figure out the format due to rather fuzzy specs \FlushStep \StopItem
+\StartItem it took us even more time to find out that the loader was flawed \FlushStep \StopItem
+\StartItem one reason was that fonts themselves may have bugs or be incomplete \FlushStep \StopItem
+\StartItem then we changed to \FONTFORGE\ version 2 \FlushStep \StopItem
+\StartItem this made the missing pieces surface in more complex feature handling \FlushStep \StopItem
+\StartItem while implementing features the new table format was cleaned up \FlushStep \StopItem
+
+\StopSteps
+
+\StopTopic
+
+\StartTopic{making it work}
+
+\StartSteps
+
+\StartItem the \FONTFORGE\ library loads the fonts into memory \FlushStep \StopItem
+\StartItem the internal data structures are mapped into a \LUA\ table \FlushStep \StopItem
+\StartItem we enhance this table a bit (extra hashes as well as rearranging glyphs) \FlushStep \StopItem
+\StartItem we save the table in a cache and compile it to bytecode \FlushStep \StopItem
+\StartItem after that reloading is fast and efficient \FlushStep \StopItem
+\StartItem when defining a font instance we share data as much as possible \FlushStep \StopItem
+\StartItem the open type specific table is translated into a \TFM\ one \FlushStep \StopItem
+\StartItem but for handling features we keep the original table available \FlushStep \StopItem
+
+\StopSteps
+
+\StopTopic
+
+\StartTopic{user control}
+
+\StartSteps
+
+\StartItem in context \MKIV\ currently we provide several interfaces \FlushStep \StopItem
+\StartItem the \XETEX\ syntax is (more or less) supported \FlushStep \StopItem
+\StartItem there is a higher level interface to associating features with fonts \FlushStep \StopItem
+\StartItem there will be a font instance independent feature switch mechanism \FlushStep \StopItem
+\StartItem there can be generic treatments unrelated to the specific font \FlushStep \StopItem
+\StartItem fonts can be accessed by various names \FlushStep \StopItem
+\StartItem but \unknown\ using features demands that users know what they're doing \FlushStep \StopItem
+
+\StopSteps
+
+\StopTopic
+
+\StartTopic{zapfino}
+
+\StartSteps
+
+\StartItem we needed this exercise as a prelude to handling arab (which we cannot really read) \FlushStep \StopItem
+\StartItem this font provides a good testbed because has many features defined \FlushStep \StopItem
+\StartItem the associated \LUATEX\ tables are rather large \FlushStep \StopItem
+\StartItem there can be hundreds of lookups per character with lookahead and backtracking \FlushStep \StopItem
+\StartItem when writing support for such features, bugs in such fonts complicate matters \FlushStep \StopItem
+\StartItem visually checking the output is complicated by the fact that wrong alternatives may look good \FlushStep \StopItem
+\StartItem we must make sure that \TEX's other mechanisms don't spoil the game \FlushStep \StopItem
+\StartItem special care is needed for lookups that involve spaces \FlushStep \StopItem
+
+\StopSteps
+
+\page \start
+
+\definefontfeature[zapfino-a][mode=node,script=latn,language=dflt,liga=no]
+\definefontfeature[zapfino-b][mode=node,script=latn,language=dflt,liga=yes]
+\definefontfeature[zapfino-c][mode=node,script=latn,language=dflt,liga=no,clig=yes]
+\definefontfeature[zapfino-d][mode=node,script=latn,language=dflt,liga=no,calt=yes]
+\definefontfeature[zapfino-e][mode=node,script=latn,language=dflt,liga=yes,clig=yes,calt=yes]
+
+\font\testa=ZapfinoExtraLTPro*zapfino-a at 24pt
+\font\testb=ZapfinoExtraLTPro*zapfino-b at 24pt
+\font\testc=ZapfinoExtraLTPro*zapfino-c at 24pt
+\font\testd=ZapfinoExtraLTPro*zapfino-d at 24pt
+\font\teste=ZapfinoExtraLTPro*zapfino-e at 24pt
+
+\unexpanded\def\ShowSample #1 #2 %
+ {\StartTopic{examples : #2}
+ \start
+ \noligs1\nokerns1\language0
+ \setupinterlinespace[line=35pt]
+ \StartItem
+ \getvalue{test#1}%
+ \input tufte \wordright{\morecolor Mr. E.R.~Tufte}
+ \StopItem
+ \stop
+ \StopTopic}
+
+\ShowSample a nothing
+\ShowSample b ligatures
+\ShowSample c {cont ligs}
+\ShowSample d {cont alts}
+\ShowSample e all of these
+
+\page \stop
+
+\StartTopic{arabtype}
+
+\StartSteps
+
+\StartItem this font has many advanced arab related features \FlushStep \StopItem
+\StartItem there is quite some kerning and positioning going on \FlushStep \StopItem
+\StartItem vowels travel with the base characters (glyphs) and ligatures \FlushStep \StopItem
+\StartItem vowels need to be positioned relative to each other as well \FlushStep \StopItem
+
+\StopSteps
+
+\page
+
+\definefontfeature
+ [arab-none]
+ [mode=node,language=dflt,script=arab,kern=no,liga=no,dlig=no,rlig=no]
+
+\definefontfeature
+ [arab-replace]
+ [mode=node,language=dflt,script=arab,kern=no,liga=no,dlig=no,rlig=no,
+ init=yes,medi=yes,fina=yes,isol=yes]
+
+\definefontfeature
+ [arab-mark]
+ [mode=node,language=dflt,script=arab,kern=no,liga=no,dlig=no,rlig=no,
+ init=yes,medi=yes,fina=yes,isol=yes,mark=yes]
+
+\definefontfeature
+ [arab-mkmk]
+ [mode=node,language=dflt,script=arab,kern=no,liga=no,dlig=no,rlig=no,
+ init=yes,medi=yes,fina=yes,isol=yes,mkmk=yes,mark=yes]
+
+\definefontfeature
+ [arab-curs]
+ [mode=node,language=dflt,script=arab,kern=no,liga=no,dlig=no,rlig=no,
+ init=yes,medi=yes,fina=yes,isol=yes,mkmk=yes,mark=yes,curs=yes]
+
+\definefontfeature
+ [arab-kern]
+ [mode=node,language=dflt,script=arab,kern=no,liga=no,dlig=no,rlig=no,
+ init=yes,medi=yes,fina=yes,isol=yes,mkmk=yes,mark=yes,kern=yes]
+
+\definefontfeature
+ [arab-context]
+ [mode=node,language=dflt,script=arab,kern=no,liga=no,dlig=no,rlig=no,
+ init=yes,medi=yes,fina=yes,isol=yes,mkmk=yes,mark=yes,kern=yes,calt=yes]
+
+\definefontfeature
+ [arab-ligs]
+ [mode=node,language=dflt,script=arab,kern=no,liga=yes,dlig=yes,rlig=yes,
+ init=yes,medi=yes,fina=yes,isol=yes,mkmk=yes,mark=yes,curs=yes]
+
+\definefontfeature
+ [arab-ligkern]
+ [mode=node,language=dflt,script=arab,kern=no,liga=yes,dlig=yes,rlig=yes,
+ init=yes,medi=yes,fina=yes,isol=yes,mkmk=yes,mark=yes,kern=yes,curs=yes]
+
+\startbuffer
+اَلْحَمْدُ لِلّٰهِ حَمْدَ مُعْتَرِفٍ بِحَمْدِهٖ، مُغْتَرِفٌ مِنْ بِحَارِ مَجْدِهٖ، بِلِسَانِ
+الثَّنَاۤءِ شَاكِرًا، وَلِحُسْنِ اٰلاۤئِهٖ نَاشِرًا؛ اَلَّذِيْ خَلَقَ الْمَوْتَ وَالْحَيٰوةَ، وَالْخَيْرَ
+وَالشَّرَّ، وَالنَّفْعَ وَالضَّرَّ، وَالسُّكُوْنَ وَالْحَرَكَةَ، وَالْأَرْوَاحَ
+وَالْأَجْسَامَ، وَالذِّكْرَ وَالنِّسْيَانَ.
+\stopbuffer
+
+\unexpanded\def\ShowSample #1 #2 #3 %
+ {\StartTopic{arab : #1}
+ \start \setuptolerance[verytolerant,stretch]
+ \noligs1\nokerns1\language0
+ \setupinterlinespace[line=35pt]
+ \font\Test=arabtype*#3 at 35pt \Test
+ \setupinterlinespace
+ \textdir TRT
+ \pardir TRT
+ \ifnum#2=1
+ \enabletrackers[otf.analyzing]
+ \fi
+ \slantedshapedelta5cm
+ \StartItem \getbuffer \par \StopItem
+ \slantedshapedelta\zeropoint
+ \ifnum#2=1
+ \disabletrackers[otf.analyzing]
+ \fi
+ \stop
+ \StopTopic}
+
+\ShowSample analyze 1 arab-none
+\ShowSample replace 0 arab-replace
+\ShowSample mark 0 arab-mark
+\ShowSample mkmk 0 arab-mkmk
+\ShowSample curs 0 arab-curs
+\ShowSample kern 0 arab-kern
+\ShowSample context 0 arab-context
+\ShowSample ligs 0 arab-ligs
+\ShowSample ligkern 0 arab-ligkern
+
+\StartTopic{Remark}
+
+\StartItem
+ the samples on the previous pages were generated with an experimental version
+ of \LUATEX\ and \MKIV\ code and therefore may contain errors
+\StopItem
+
+\StartItem
+ when this document is generated with a post-beta version of \LUATEX\ and \CONTEXT\ the results
+ can be different
+\StopItem
+
+\StopTopic
+
+\stopdocument