From fd0c4577a4b6e85ca2db664906e1a03807ce133f Mon Sep 17 00:00:00 2001 From: Hans Hagen Date: Sun, 14 May 2017 19:58:50 +0200 Subject: 2017-05-14 19:15:00 --- doc/context/documents/general/fonts/fonts-mkiv.pdf | Bin 0 -> 1216898 bytes .../documents/general/magazines/mag-0000-mkiv.pdf | Bin 0 -> 33071 bytes .../documents/general/magazines/mag-0002-mkiv.pdf | Bin 0 -> 71022 bytes .../documents/general/magazines/mag-0006-mkiv.pdf | Bin 0 -> 108799 bytes .../documents/general/magazines/mag-0007-mkiv.pdf | Bin 0 -> 221333 bytes .../documents/general/magazines/mag-0010-mkiv.pdf | Bin 0 -> 117980 bytes .../documents/general/magazines/mag-1101-mkiv.pdf | Bin 0 -> 52022 bytes .../documents/general/magazines/mag-1102-mkiv.pdf | Bin 0 -> 81087 bytes .../documents/general/magazines/mag-1103-mkiv.pdf | Bin 0 -> 71423 bytes doc/context/documents/general/manuals/about.pdf | Bin 0 -> 803763 bytes .../documents/general/manuals/charts-mkiv.pdf | Bin 0 -> 144092 bytes .../documents/general/manuals/colors-mkiv.pdf | Bin 0 -> 2129948 bytes .../documents/general/manuals/columnsets.pdf | Bin 0 -> 4512620 bytes doc/context/documents/general/manuals/details.pdf | Bin 0 -> 2841669 bytes doc/context/documents/general/manuals/hybrid.pdf | Bin 0 -> 3339048 bytes .../documents/general/manuals/languages-mkiv.pdf | Bin 669405 -> 678284 bytes doc/context/documents/general/manuals/luatex.pdf | Bin 995319 -> 1099068 bytes .../documents/general/manuals/math-mkiv.pdf | Bin 0 -> 2934019 bytes doc/context/documents/general/manuals/mk.pdf | Bin 0 -> 9044010 bytes doc/context/documents/general/manuals/mmlexamp.pdf | Bin 0 -> 136092 bytes doc/context/documents/general/manuals/mmlprime.pdf | Bin 0 -> 772848 bytes doc/context/documents/general/manuals/mreadme.pdf | Bin 41455 -> 41444 bytes .../documents/general/manuals/rules-mkiv.pdf | Bin 0 -> 155730 bytes .../documents/general/manuals/spacing-mkiv.pdf | Bin 38452 -> 39828 bytes .../general/manuals/spreadsheets-mkiv.pdf | Bin 0 -> 110662 bytes doc/context/documents/general/manuals/sql-mkiv.pdf | Bin 90609 -> 94131 bytes .../documents/general/manuals/steps-mkiv.pdf | Bin 0 -> 307883 bytes doc/context/documents/general/manuals/still.pdf | Bin 0 -> 1773534 bytes .../documents/general/manuals/swiglib-mkiv.pdf | Bin 167938 -> 163664 bytes .../documents/general/manuals/workflows-mkiv.pdf | Bin 94468 -> 96859 bytes doc/context/documents/general/manuals/xml-mkiv.pdf | Bin 1308267 -> 1351042 bytes doc/context/documents/general/qrcs/setup-cs.pdf | Bin 0 -> 808528 bytes doc/context/documents/general/qrcs/setup-de.pdf | Bin 0 -> 809657 bytes doc/context/documents/general/qrcs/setup-en.pdf | Bin 0 -> 812376 bytes doc/context/documents/general/qrcs/setup-fr.pdf | Bin 0 -> 806147 bytes doc/context/documents/general/qrcs/setup-it.pdf | Bin 0 -> 810008 bytes doc/context/documents/general/qrcs/setup-nl.pdf | Bin 0 -> 806419 bytes doc/context/documents/general/qrcs/setup-ro.pdf | Bin 0 -> 805215 bytes .../bachotex/2010/bachotex-2010-clash.pdf | Bin 0 -> 33412 bytes .../bachotex/2010/bachotex-2010-clash.tex | 231 + .../bachotex/2010/bachotex-2010-move.pdf | Bin 0 -> 21690 bytes .../bachotex/2010/bachotex-2010-move.tex | 114 + .../bachotex/2011/bachotex-2011-cld-and-mkvi.pdf | Bin 0 -> 59142 bytes .../bachotex/2011/bachotex-2011-cld-and-mkvi.tex | 154 + .../bachotex/2013/bachotex-2013-bits.pdf | Bin 0 -> 43359 bytes .../bachotex/2013/bachotex-2013-bits.tex | 223 + .../bachotex/2013/bachotex-2013-luatex.pdf | Bin 0 -> 50957 bytes .../bachotex/2013/bachotex-2013-luatex.tex | 205 + .../bachotex/2013/bachotex-2013-sense.pdf | Bin 0 -> 81302 bytes .../bachotex/2013/bachotex-2013-sense.tex | 319 + .../bachotex/2013/bachotex-2013-speed.pdf | Bin 0 -> 33198 bytes .../bachotex/2013/bachotex-2013-speed.tex | 115 + .../bachotex/2015/bachotex-2015-ligatures.pdf | Bin 0 -> 95633 bytes .../bachotex/2015/bachotex-2015-ligatures.tex | 138 + .../bachotex/2016/bachotex-2016-opentype.pdf | Bin 0 -> 40433 bytes .../bachotex/2016/bachotex-2016-opentype.tex | 631 + .../bachotex/2016/bachotex-2016-toolbox.pdf | Bin 0 -> 52712 bytes .../bachotex/2016/bachotex-2016-toolbox.tex | 212 + .../context/2011/context-2011-ebook-export.pdf | Bin 0 -> 28897 bytes .../context/2011/context-2011-ebook-export.tex | 94 + .../context/2011/context-2011-mathml-update.pdf | Bin 0 -> 23283 bytes .../context/2011/context-2011-mathml-update.tex | 67 + .../2011/context-2011-metapost-how-we-adapt.pdf | Bin 0 -> 27010 bytes .../2011/context-2011-metapost-how-we-adapt.tex | 104 + .../2011/context-2011-sorting-registers.pdf | Bin 0 -> 36234 bytes .../2011/context-2011-sorting-registers.tex | 161 + .../2012/context-2012-after-the-cleanup.pdf | Bin 0 -> 44728 bytes .../2012/context-2012-after-the-cleanup.tex | 162 + .../context/2012/context-2012-lexing-sources.pdf | Bin 0 -> 41024 bytes .../context/2012/context-2012-lexing-sources.tex | 81 + .../context/2012/context-2012-mixed-columns.pdf | Bin 0 -> 37833 bytes .../context/2012/context-2012-mixed-columns.tex | 79 + .../context/2012/context-2012-the-script.pdf | Bin 0 -> 63646 bytes .../context/2012/context-2012-the-script.tex | 453 + .../context/2012/context-2012-visual-debugging.pdf | Bin 0 -> 72039 bytes .../context/2012/context-2012-visual-debugging.tex | 296 + .../context/2012/context-2012-xml-news.pdf | Bin 0 -> 49133 bytes .../context/2012/context-2012-xml-news.tex | 131 + .../context/2013/context-2013-math.pdf | Bin 0 -> 51849 bytes .../context/2013/context-2013-math.tex | 244 + .../context/2013/context-2013-speed.pdf | Bin 0 -> 33773 bytes .../context/2013/context-2013-speed.tex | 108 + .../context/2015/context-2015-status.pdf | Bin 0 -> 90938 bytes .../context/2015/context-2015-status.tex | 87 + .../context/2016/context-2016-luatex.pdf | Bin 0 -> 90097 bytes .../context/2016/context-2016-luatex.tex | 242 + .../presentations/examples/present-balls-001.pdf | Bin 0 -> 31968 bytes .../presentations/examples/present-balls-001.tex | 19 + .../examples/present-colorful-001.pdf | Bin 0 -> 84698 bytes .../examples/present-colorful-001.tex | 25 + .../presentations/examples/present-funny-001.pdf | Bin 0 -> 29024 bytes .../presentations/examples/present-funny-001.tex | 20 + .../presentations/examples/present-fuzzy-001.pdf | Bin 0 -> 67584 bytes .../presentations/examples/present-fuzzy-001.tex | 19 + .../presentations/examples/present-green-001.pdf | Bin 0 -> 23210 bytes .../presentations/examples/present-green-001.tex | 19 + .../presentations/examples/present-grow-001.pdf | Bin 0 -> 50136 bytes .../presentations/examples/present-grow-001.tex | 138 + .../presentations/examples/present-organic-001.pdf | Bin 0 -> 29745 bytes .../presentations/examples/present-organic-001.tex | 17 + .../examples/present-original-001.pdf | Bin 0 -> 29520 bytes .../examples/present-original-001.tex | 19 + .../presentations/examples/present-punk-001.pdf | Bin 0 -> 41701 bytes .../presentations/examples/present-punk-001.tex | 22 + .../presentations/examples/present-random-001.pdf | Bin 0 -> 15621 bytes .../presentations/examples/present-random-001.tex | 38 + .../presentations/examples/present-shaded-001.pdf | Bin 0 -> 34486 bytes .../presentations/examples/present-shaded-001.tex | 11 + .../presentations/examples/present-split-001.pdf | Bin 0 -> 23404 bytes .../presentations/examples/present-split-001.tex | 15 + .../presentations/examples/present-stepper-001.pdf | Bin 0 -> 18566 bytes .../presentations/examples/present-stepper-001.tex | 51 + .../presentations/examples/present-tiles-001.pdf | Bin 0 -> 42542 bytes .../presentations/examples/present-tiles-001.tex | 20 + .../presentations/examples/present-windows-001.pdf | Bin 0 -> 48495 bytes .../presentations/examples/present-windows-001.tex | 41 + doc/context/presentations/present-readme.pdf | Bin 0 -> 33697 bytes doc/context/presentations/present-readme.tex | 33 + doc/context/scripts/mkii/ctxtools.html | 2 +- doc/context/scripts/mkii/ctxtools.man | 2 +- doc/context/scripts/mkii/imgtopdf.html | 2 +- doc/context/scripts/mkii/imgtopdf.man | 2 +- doc/context/scripts/mkii/mptopdf.html | 2 +- doc/context/scripts/mkii/mptopdf.man | 2 +- doc/context/scripts/mkii/pdftools.html | 2 +- doc/context/scripts/mkii/pdftools.man | 2 +- doc/context/scripts/mkii/pstopdf.html | 2 +- doc/context/scripts/mkii/pstopdf.man | 2 +- doc/context/scripts/mkii/rlxtools.html | 2 +- doc/context/scripts/mkii/rlxtools.man | 2 +- doc/context/scripts/mkii/texexec.html | 2 +- doc/context/scripts/mkii/texexec.man | 2 +- doc/context/scripts/mkii/texmfstart.html | 3 +- doc/context/scripts/mkii/texmfstart.man | 5 +- doc/context/scripts/mkii/texmfstart.xml | 3 +- doc/context/scripts/mkii/textools.html | 2 +- doc/context/scripts/mkii/textools.man | 2 +- doc/context/scripts/mkii/texutil.html | 2 +- doc/context/scripts/mkii/texutil.man | 2 +- doc/context/scripts/mkii/tmftools.html | 2 +- doc/context/scripts/mkii/tmftools.man | 2 +- doc/context/scripts/mkii/xmltools.html | 2 +- doc/context/scripts/mkii/xmltools.man | 2 +- doc/context/scripts/mkiv/context.html | 9 +- doc/context/scripts/mkiv/context.man | 7 +- doc/context/scripts/mkiv/context.xml | 7 +- doc/context/scripts/mkiv/luatools.html | 2 +- doc/context/scripts/mkiv/luatools.man | 2 +- doc/context/scripts/mkiv/mtx-babel.html | 2 +- doc/context/scripts/mkiv/mtx-babel.man | 2 +- doc/context/scripts/mkiv/mtx-base.html | 2 +- doc/context/scripts/mkiv/mtx-base.man | 2 +- doc/context/scripts/mkiv/mtx-bibtex.html | 2 +- doc/context/scripts/mkiv/mtx-bibtex.man | 2 +- doc/context/scripts/mkiv/mtx-cache.html | 4 +- doc/context/scripts/mkiv/mtx-cache.man | 6 +- doc/context/scripts/mkiv/mtx-cache.xml | 4 +- doc/context/scripts/mkiv/mtx-chars.html | 2 +- doc/context/scripts/mkiv/mtx-chars.man | 2 +- doc/context/scripts/mkiv/mtx-check.html | 2 +- doc/context/scripts/mkiv/mtx-check.man | 2 +- doc/context/scripts/mkiv/mtx-colors.html | 2 +- doc/context/scripts/mkiv/mtx-colors.man | 2 +- doc/context/scripts/mkiv/mtx-context.html | 9 +- doc/context/scripts/mkiv/mtx-context.man | 7 +- doc/context/scripts/mkiv/mtx-context.xml | 7 +- doc/context/scripts/mkiv/mtx-dvi.html | 48 + doc/context/scripts/mkiv/mtx-dvi.man | 27 + doc/context/scripts/mkiv/mtx-dvi.xml | 15 + doc/context/scripts/mkiv/mtx-epub.html | 2 +- doc/context/scripts/mkiv/mtx-epub.man | 2 +- doc/context/scripts/mkiv/mtx-fcd.html | 2 +- doc/context/scripts/mkiv/mtx-fcd.man | 2 +- doc/context/scripts/mkiv/mtx-flac.html | 2 +- doc/context/scripts/mkiv/mtx-flac.man | 2 +- doc/context/scripts/mkiv/mtx-fonts.html | 2 +- doc/context/scripts/mkiv/mtx-fonts.man | 2 +- doc/context/scripts/mkiv/mtx-grep.html | 14 +- doc/context/scripts/mkiv/mtx-grep.man | 11 +- doc/context/scripts/mkiv/mtx-grep.xml | 16 + doc/context/scripts/mkiv/mtx-interface.html | 2 +- doc/context/scripts/mkiv/mtx-interface.man | 2 +- doc/context/scripts/mkiv/mtx-metapost.html | 2 +- doc/context/scripts/mkiv/mtx-metapost.man | 2 +- doc/context/scripts/mkiv/mtx-metatex.html | 2 +- doc/context/scripts/mkiv/mtx-metatex.man | 2 +- doc/context/scripts/mkiv/mtx-modules.html | 2 +- doc/context/scripts/mkiv/mtx-modules.man | 2 +- doc/context/scripts/mkiv/mtx-package.html | 2 +- doc/context/scripts/mkiv/mtx-package.man | 2 +- doc/context/scripts/mkiv/mtx-patterns.html | 2 +- doc/context/scripts/mkiv/mtx-patterns.man | 2 +- doc/context/scripts/mkiv/mtx-pdf.html | 2 +- doc/context/scripts/mkiv/mtx-pdf.man | 2 +- doc/context/scripts/mkiv/mtx-plain.html | 2 +- doc/context/scripts/mkiv/mtx-plain.man | 2 +- doc/context/scripts/mkiv/mtx-profile.html | 2 +- doc/context/scripts/mkiv/mtx-profile.man | 2 +- doc/context/scripts/mkiv/mtx-rsync.html | 2 +- doc/context/scripts/mkiv/mtx-rsync.man | 2 +- doc/context/scripts/mkiv/mtx-scite.html | 2 +- doc/context/scripts/mkiv/mtx-scite.man | 2 +- doc/context/scripts/mkiv/mtx-server.html | 2 +- doc/context/scripts/mkiv/mtx-server.man | 2 +- doc/context/scripts/mkiv/mtx-texworks.html | 2 +- doc/context/scripts/mkiv/mtx-texworks.man | 2 +- doc/context/scripts/mkiv/mtx-timing.html | 2 +- doc/context/scripts/mkiv/mtx-timing.man | 2 +- doc/context/scripts/mkiv/mtx-tools.html | 2 +- doc/context/scripts/mkiv/mtx-tools.man | 2 +- doc/context/scripts/mkiv/mtx-unicode.html | 2 +- doc/context/scripts/mkiv/mtx-unicode.man | 2 +- doc/context/scripts/mkiv/mtx-unzip.html | 2 +- doc/context/scripts/mkiv/mtx-unzip.man | 2 +- doc/context/scripts/mkiv/mtx-update.html | 2 +- doc/context/scripts/mkiv/mtx-update.man | 2 +- doc/context/scripts/mkiv/mtx-watch.html | 2 +- doc/context/scripts/mkiv/mtx-watch.man | 2 +- doc/context/scripts/mkiv/mtx-youless.html | 2 +- doc/context/scripts/mkiv/mtx-youless.man | 2 +- doc/context/scripts/mkiv/mtxrun.html | 7 +- doc/context/scripts/mkiv/mtxrun.man | 5 +- doc/context/scripts/mkiv/mtxrun.xml | 3 +- .../sources/general/fonts/fonts/fonts-appendix.tex | 484 + .../general/fonts/fonts/fonts-environment.tex | 34 + .../general/fonts/fonts/fonts-extensions.tex | 2411 + .../sources/general/fonts/fonts/fonts-features.tex | 2631 + .../sources/general/fonts/fonts/fonts-formats.tex | 873 + .../sources/general/fonts/fonts/fonts-hooks.tex | 585 + .../general/fonts/fonts/fonts-introduction.tex | 95 + .../sources/general/fonts/fonts/fonts-lookups.tex | 410 + .../sources/general/fonts/fonts/fonts-math.tex | 1093 + .../sources/general/fonts/fonts/fonts-methods.tex | 376 + .../sources/general/fonts/fonts/fonts-mkiv.tex | 75 + .../sources/general/fonts/fonts/fonts-modes.tex | 817 + .../sources/general/fonts/fonts/fonts-scripts.tex | 18 + .../general/fonts/manuals-explaining-contents.tex | 11 + .../general/fonts/manuals-explaining-cover.tex | 199 + .../fonts/manuals-explaining-environment.tex | 325 + .../sources/general/magazines/mag-0000-mkiv.tex | 50 + .../sources/general/magazines/mag-0002-mkiv.tex | 106 + .../sources/general/magazines/mag-0006-mkiv.tex | 310 + .../sources/general/magazines/mag-0007-mkiv.tex | 206 + .../sources/general/magazines/mag-0010-mkiv.tex | 531 + .../sources/general/magazines/mag-1101-mkiv.tex | 254 + .../sources/general/magazines/mag-1102-mkiv.tex | 433 + .../sources/general/magazines/mag-1103-mkiv.tex | 320 + .../sources/general/manuals/about/about-calls.tex | 739 + .../general/manuals/about/about-contents.tex | 17 + .../general/manuals/about/about-environment.tex | 71 + .../general/manuals/about/about-expanding.tex | 188 + .../general/manuals/about/about-hashing.tex | 616 + .../sources/general/manuals/about/about-hz.tex | 96 + .../general/manuals/about/about-introduction.tex | 38 + .../manuals/about/about-jitting-jit-2013-06-04.lua | 148 + .../general/manuals/about/about-jitting-jit.lua | 163 + .../general/manuals/about/about-jitting.tex | 439 + .../general/manuals/about/about-luafunctions.tex | 292 + .../general/manuals/about/about-mathstackers.tex | 765 + .../general/manuals/about/about-mathstyles.tex | 457 + .../general/manuals/about/about-metafun.tex | 834 + .../general/manuals/about/about-mobility.tex | 205 + .../sources/general/manuals/about/about-nodes.tex | 603 + .../sources/general/manuals/about/about-nuts.tex | 619 + .../general/manuals/about/about-properties.tex | 209 + .../sources/general/manuals/about/about-speed.tex | 732 + .../general/manuals/about/about-threequarters.tex | 330 + .../general/manuals/about/about-titlepage.tex | 31 + .../sources/general/manuals/about/about.tex | 47 + .../sources/general/manuals/about/demo-data.lua | 10 + .../about/luatest-hash-luajittex-073-JIT20.lua | 406 + .../luatest-hash-luajittex-073-LUA51-40-6.lua | 406 + .../about/luatest-hash-luajittex-073-LUA51.lua | 406 + .../about/luatest-hash-luatex-073-LUA52-40-6.lua | 406 + .../about/luatest-hash-luatex-073-LUA52.lua | 406 + .../sources/general/manuals/about/pi-speed-1.tex | 3 + .../sources/general/manuals/about/pi-speed-2.tex | 3 + .../sources/general/manuals/about/pi-speed-3.tex | 10 + .../sources/general/manuals/about/pi-speed-4.tex | 10 + .../sources/general/manuals/about/pi-speed-5.tex | 16 + .../general/manuals/about/still-expanding-1.png | Bin 0 -> 15785 bytes .../general/manuals/about/still-expanding-10.png | Bin 0 -> 21898 bytes .../general/manuals/about/still-expanding-2.png | Bin 0 -> 20975 bytes .../general/manuals/about/still-expanding-3.png | Bin 0 -> 7745 bytes .../general/manuals/about/still-expanding-4.png | Bin 0 -> 11516 bytes .../general/manuals/about/still-expanding-5.png | Bin 0 -> 14316 bytes .../general/manuals/about/still-expanding-6.png | Bin 0 -> 12295 bytes .../general/manuals/about/still-expanding-7.png | Bin 0 -> 8126 bytes .../general/manuals/about/still-expanding-8.png | Bin 0 -> 14815 bytes .../general/manuals/about/still-expanding-9.png | Bin 0 -> 16643 bytes .../sources/general/manuals/charts/charts-mkiv.tex | 1339 + .../general/manuals/colors/colors-basics.tex | 1204 + .../general/manuals/colors/colors-environment.tex | 7 + .../general/manuals/colors/colors-graphics.tex | 234 + .../general/manuals/colors/colors-introduction.tex | 49 + .../general/manuals/colors/colors-metafun.tex | 695 + .../sources/general/manuals/colors/colors-mkiv.tex | 56 + .../general/manuals/columnsets/columnsets-000.tex | 63 + .../general/manuals/columnsets/columnsets-001.tex | 17 + .../general/manuals/columnsets/columnsets-002.tex | 17 + .../general/manuals/columnsets/columnsets-003.tex | 35 + .../general/manuals/columnsets/columnsets-004.tex | 32 + .../general/manuals/columnsets/columnsets-005.tex | 29 + .../general/manuals/columnsets/columnsets-006.tex | 35 + .../general/manuals/columnsets/columnsets-007.tex | 43 + .../general/manuals/columnsets/columnsets-101.tex | 30 + .../general/manuals/columnsets/columnsets-102.tex | 36 + .../general/manuals/columnsets/columnsets-103.tex | 37 + .../general/manuals/columnsets/columnsets-201.tex | 31 + .../general/manuals/columnsets/columnsets-202.tex | 32 + .../general/manuals/columnsets/columnsets-203.tex | 29 + .../general/manuals/columnsets/columnsets-204.tex | 41 + .../general/manuals/columnsets/columnsets-205.tex | 42 + .../general/manuals/columnsets/columnsets-206.tex | 29 + .../general/manuals/columnsets/columnsets-301.tex | 29 + .../general/manuals/columnsets/columnsets-401.tex | 26 + .../general/manuals/columnsets/columnsets-402.tex | 24 + .../general/manuals/columnsets/columnsets-403.tex | 23 + .../general/manuals/columnsets/columnsets-404.tex | 34 + .../general/manuals/columnsets/columnsets-405.tex | 29 + .../general/manuals/columnsets/columnsets-601.tex | 29 + .../general/manuals/columnsets/columnsets-701.tex | 23 + .../general/manuals/columnsets/columnsets-702.tex | 27 + .../general/manuals/columnsets/columnsets-703.tex | 34 + .../general/manuals/columnsets/columnsets-704.tex | 69 + .../general/manuals/columnsets/columnsets-801.tex | 19 + .../general/manuals/columnsets/columnsets-802.tex | 22 + .../general/manuals/columnsets/columnsets-803.tex | 26 + .../general/manuals/columnsets/columnsets-804.tex | 26 + .../general/manuals/columnsets/columnsets-805.tex | 26 + .../general/manuals/columnsets/columnsets-806.tex | 26 + .../general/manuals/columnsets/columnsets-901.tex | 38 + .../general/manuals/columnsets/columnsets-902.tex | 38 + .../general/manuals/columnsets/columnsets-903.tex | 41 + .../general/manuals/columnsets/columnsets.tex | 886 + .../sources/general/manuals/epub/epub-mkiv.tex | 17 + .../sources/general/manuals/hybrid/benchmark-1.tex | 39 + .../sources/general/manuals/hybrid/benchmark-2.tex | 30 + .../sources/general/manuals/hybrid/benchmark-3.tex | 28 + .../sources/general/manuals/hybrid/benchmark-4.tex | 60 + .../sources/general/manuals/hybrid/benchmark-5.tex | 29 + .../general/manuals/hybrid/calibri-fontshop.png | Bin 0 -> 49415 bytes .../general/manuals/hybrid/ebook-metafun-1.png | Bin 0 -> 58058 bytes .../general/manuals/hybrid/ebook-metafun-2.png | Bin 0 -> 169846 bytes .../sources/general/manuals/hybrid/ebook-pdf.png | Bin 0 -> 191688 bytes .../sources/general/manuals/hybrid/ebook-xhtml.png | Bin 0 -> 105358 bytes .../general/manuals/hybrid/hybrid-backend.tex | 389 + .../sources/general/manuals/hybrid/hybrid-bidi.tex | 194 + .../general/manuals/hybrid/hybrid-callbacks.tex | 229 + .../general/manuals/hybrid/hybrid-characters.tex | 630 + .../general/manuals/hybrid/hybrid-codebase.tex | 1290 + .../general/manuals/hybrid/hybrid-contents.tex | 17 + .../general/manuals/hybrid/hybrid-ebooks.tex | 593 + .../general/manuals/hybrid/hybrid-environment.tex | 127 + .../general/manuals/hybrid/hybrid-export.tex | 293 + .../general/manuals/hybrid/hybrid-fontnames.tex | 444 + .../general/manuals/hybrid/hybrid-glocal.tex | 269 + .../general/manuals/hybrid/hybrid-goodies.tex | 648 + .../general/manuals/hybrid/hybrid-grouping.tex | 545 + .../general/manuals/hybrid/hybrid-inserts.tex | 506 + .../general/manuals/hybrid/hybrid-intermezzo.tex | 21 + .../general/manuals/hybrid/hybrid-introduction.tex | 152 + .../general/manuals/hybrid/hybrid-italics.tex | 378 + .../sources/general/manuals/hybrid/hybrid-jit.tex | 653 + .../general/manuals/hybrid/hybrid-languages.tex | 496 + .../sources/general/manuals/hybrid/hybrid-math.tex | 347 + .../general/manuals/hybrid/hybrid-mathml.tex | 915 + .../general/manuals/hybrid/hybrid-merge.tex | 225 + .../sources/general/manuals/hybrid/hybrid-mkvi.tex | 275 + .../general/manuals/hybrid/hybrid-optimize.tex | 501 + .../general/manuals/hybrid/hybrid-parbuilder.tex | 340 + .../general/manuals/hybrid/hybrid-partests.tex | 313 + .../sources/general/manuals/hybrid/hybrid-tags.tex | 361 + .../general/manuals/hybrid/hybrid-titlepage.tex | 63 + .../general/manuals/hybrid/hybrid-weird.tex | 129 + .../sources/general/manuals/hybrid/hybrid.tex | 63 + .../manuals/hybrid/luatex-co-acceptablelowres.jpg | Bin 0 -> 1123825 bytes .../manuals/hybrid/mtx-server-ctx-fonttest.png | Bin 0 -> 109850 bytes .../sources/general/manuals/hybrid/tagged-001.png | Bin 0 -> 28600 bytes .../sources/general/manuals/hybrid/tagged-002.png | Bin 0 -> 309006 bytes .../sources/general/manuals/hybrid/tagged-003.png | Bin 0 -> 142104 bytes .../sources/general/manuals/hybrid/tagged-004.png | Bin 0 -> 141349 bytes .../sources/general/manuals/hybrid/tagged-005.png | Bin 0 -> 39300 bytes .../sources/general/manuals/hybrid/tagged-006.png | Bin 0 -> 27267 bytes .../sources/general/manuals/hybrid/tagged-007.png | Bin 0 -> 28751 bytes .../sources/general/manuals/hybrid/tagged-008.png | Bin 0 -> 60773 bytes .../sources/general/manuals/hybrid/tagged-009.png | Bin 0 -> 21536 bytes .../sources/general/manuals/hybrid/tagged-010.png | Bin 0 -> 40805 bytes .../sources/general/manuals/hybrid/tagged-011.png | Bin 0 -> 78593 bytes .../general/manuals/languages/languages-basics.tex | 20 +- .../manuals/languages/languages-environment.tex | 350 +- .../manuals/languages/languages-goodies.tex | 4 +- .../manuals/languages/languages-hyphenation.tex | 102 +- .../general/manuals/languages/languages-labels.tex | 4 +- .../general/manuals/languages/languages-mkiv.tex | 81 +- .../manuals/languages/languages-numbering.tex | 44 +- .../manuals/languages/languages-sorting.tex | 4 +- .../sources/general/manuals/lua/lua-mkiv.tex | 4 + .../general/manuals/luatex/luatex-enhancements.tex | 15 +- .../general/manuals/luatex/luatex-fonts.tex | 6 +- .../general/manuals/luatex/luatex-introduction.tex | 14 +- .../general/manuals/luatex/luatex-languages.tex | 202 + .../sources/general/manuals/luatex/luatex-math.tex | 270 +- .../manuals/luatex/luatex-modifications.tex | 363 +- .../general/manuals/luatex/luatex-nodes.tex | 657 +- .../general/manuals/luatex/luatex-style.tex | 6 +- .../sources/general/manuals/luatex/luatex.tex | 24 +- .../manuals/manuals-explaining-contents.tex | 11 + .../general/manuals/manuals-explaining-cover.tex | 199 + .../manuals/manuals-explaining-environment.tex | 325 + .../general/manuals/manuals-xml-environment.tex | 385 + .../general/manuals/math/math-combining.tex | 58 + .../sources/general/manuals/math/math-contents.tex | 11 + .../sources/general/manuals/math/math-features.tex | 127 + .../general/manuals/math/math-framing-001.tex | 113 + .../sources/general/manuals/math/math-framing.tex | 232 + .../general/manuals/math/math-introduction.tex | 20 + .../sources/general/manuals/math/math-layout.tex | 59 + .../sources/general/manuals/math/math-mkiv.tex | 64 + .../general/manuals/math/math-numbering.tex | 74 + .../general/manuals/math/math-spacing-001.tex | 73 + .../sources/general/manuals/math/math-spacing.tex | 397 + .../general/manuals/math/math-titlepage.tex | 29 + .../sources/general/manuals/mathml/envexamp.tex | 291 + .../sources/general/manuals/mathml/mmlexamp.tex | 124 + .../sources/general/manuals/mathml/mmlprime.tex | 6053 ++ .../sources/general/manuals/mathml/pc-d-001.xml | 9 + .../sources/general/manuals/mathml/pc-d-002.xml | 9 + .../sources/general/manuals/mathml/pc-d-003.xml | 18 + .../sources/general/manuals/mathml/pc-d-004.xml | 26 + .../sources/general/manuals/mathml/pc-d-005.xml | 27 + .../sources/general/manuals/mathml/pc-d-006.xml | 38 + .../sources/general/manuals/mathml/pc-d-007.xml | 58 + .../sources/general/manuals/mathml/pc-d-008.xml | 25 + .../sources/general/manuals/mathml/pc-d-009.xml | 25 + .../sources/general/manuals/mathml/pc-d-010.xml | 26 + .../sources/general/manuals/mathml/pc-d-011.xml | 32 + .../sources/general/manuals/mathml/pc-d-043.xml | 47 + .../sources/general/manuals/mathml/pc-d-051.xml | 17 + .../sources/general/manuals/mathml/pc-i-022.xml | 52 + .../sources/general/manuals/mathml/pc-i-380.xml | 73 + .../sources/general/manuals/mathml/pc-s-001.xml | 28 + .../sources/general/manuals/mathml/pc-s-002.xml | 36 + .../sources/general/manuals/mathml/pc-s-003.xml | 40 + .../sources/general/manuals/mathml/wh-g-001.xml | 28 + .../sources/general/manuals/mathml/wh-g-002.xml | 28 + .../sources/general/manuals/mathml/wh-g-003.xml | 28 + .../sources/general/manuals/mathml/wh-g-004.xml | 28 + .../sources/general/manuals/mathml/wh-g-005.xml | 31 + .../sources/general/manuals/mathml/wh-g-006.xml | 31 + .../sources/general/manuals/mathml/wh-g-007.xml | 33 + .../sources/general/manuals/mathml/wh-g-008.xml | 33 + .../sources/general/manuals/mathml/wh-g-009.xml | 33 + .../sources/general/manuals/mathml/wh-g-010.xml | 35 + .../sources/general/manuals/mathml/wh-g-011.xml | 27 + .../sources/general/manuals/mathml/wh-g-012.xml | 27 + .../sources/general/manuals/mathml/wh-g-013.xml | 27 + .../sources/general/manuals/mathml/wh-g-014.xml | 29 + .../sources/general/manuals/mathml/wh-g-015.xml | 32 + .../sources/general/manuals/mathml/wh-g-016.xml | 90 + .../sources/general/manuals/mathml/wh-l-001.xml | 35 + .../sources/general/manuals/mathml/wh-l-002.xml | 35 + .../sources/general/manuals/mathml/wh-l-003.xml | 32 + .../sources/general/manuals/mathml/wh-l-004.xml | 28 + .../sources/general/manuals/mathml/wh-s-001.xml | 49 + .../sources/general/manuals/mathml/wh-s-002.xml | 63 + doc/context/sources/general/manuals/mcommon.tex | 2 +- .../luatexref-t-luatex-progress-intermediate.lut | 3927 ++ .../mk/luatexref-t-luatex-progress-runtime.lut | 3927 ++ .../sources/general/manuals/mk/mk-arabic.tex | 324 + .../general/manuals/mk/mk-breakingapart.tex | 287 + .../sources/general/manuals/mk/mk-calcmath.tex | 130 + doc/context/sources/general/manuals/mk/mk-cjk.tex | 320 + doc/context/sources/general/manuals/mk/mk-code.tex | 219 + .../sources/general/manuals/mk/mk-colors.tex | 467 + .../sources/general/manuals/mk/mk-contents.tex | 11 + .../sources/general/manuals/mk/mk-debug.png | Bin 0 -> 64336 bytes .../sources/general/manuals/mk/mk-dirtytricks.tex | 144 + .../sources/general/manuals/mk/mk-environment.tex | 209 + .../sources/general/manuals/mk/mk-error.png | Bin 0 -> 59168 bytes .../sources/general/manuals/mk/mk-fallback.tex | 176 + .../sources/general/manuals/mk/mk-fonts.tex | 841 + .../sources/general/manuals/mk/mk-goingbeta.tex | 343 + .../sources/general/manuals/mk/mk-goingutf.tex | 187 + .../sources/general/manuals/mk/mk-halfway.tex | 377 + .../sources/general/manuals/mk/mk-iitoiv.tex | 118 + .../general/manuals/mk/mk-initialization.tex | 214 + .../sources/general/manuals/mk/mk-introduction.tex | 61 + .../sources/general/manuals/mk/mk-itworks.tex | 142 + .../sources/general/manuals/mk/mk-last-state.pdf | Bin 0 -> 20735 bytes doc/context/sources/general/manuals/mk/mk-last.tex | 404 + .../sources/general/manuals/mk/mk-luafitsin.tex | 556 + .../general/manuals/mk/mk-luatex-progress.lut | 12907 ++++ doc/context/sources/general/manuals/mk/mk-math.tex | 1024 + .../sources/general/manuals/mk/mk-memory.tex | 142 + doc/context/sources/general/manuals/mk/mk-mix.tex | 1014 + .../sources/general/manuals/mk/mk-mplib.tex | 924 + .../sources/general/manuals/mk/mk-nicetoknow.tex | 77 + .../sources/general/manuals/mk/mk-nodes.tex | 462 + doc/context/sources/general/manuals/mk/mk-open.tex | 276 + .../sources/general/manuals/mk/mk-optimization.tex | 265 + .../sources/general/manuals/mk/mk-order.tex | 375 + .../sources/general/manuals/mk/mk-performance.tex | 410 + .../sources/general/manuals/mk/mk-plain.tex | 285 + doc/context/sources/general/manuals/mk/mk-punk.tex | 456 + .../sources/general/manuals/mk/mk-reflection.tex | 782 + .../sources/general/manuals/mk/mk-structure.tex | 437 + .../manuals/mk/mk-timing-1-luatex-progress.lut | 64030 +++++++++++++++++++ .../sources/general/manuals/mk/mk-timing-1.tex | 3 + .../manuals/mk/mk-timing-2-luatex-progress.lut | 44350 +++++++++++++ .../sources/general/manuals/mk/mk-timing-2.tex | 4 + .../manuals/mk/mk-timing-3-luatex-progress.lut | 44350 +++++++++++++ .../sources/general/manuals/mk/mk-timing-3.tex | 19 + .../sources/general/manuals/mk/mk-titlepage.tex | 64 + .../sources/general/manuals/mk/mk-tokenspeak.tex | 266 + .../sources/general/manuals/mk/mk-tracking.tex | 341 + doc/context/sources/general/manuals/mk/mk-xml.tex | 613 + doc/context/sources/general/manuals/mk/mk-xml.xml | 24 + .../sources/general/manuals/mk/mk-zapfino.tex | 561 + doc/context/sources/general/manuals/mk/mk.tex | 70 + .../sources/general/manuals/readme/mreadme.tex | 6 +- .../sources/general/manuals/rules/rules-mkiv.tex | 821 + .../general/manuals/spacing/spacing-mkiv.tex | 17 + .../manuals/spreadsheets/spreadsheets-mkiv.tex | 760 + .../sources/general/manuals/sql/sql-mkiv.tex | 105 +- .../sources/general/manuals/steps/steps-mkiv.tex | 760 + .../general/manuals/still/still-acrobat-math.png | Bin 0 -> 57851 bytes .../general/manuals/still/still-acrobat-text.png | Bin 0 -> 56826 bytes .../general/manuals/still/still-backend.tex | 474 + .../general/manuals/still/still-contents.tex | 7 + .../general/manuals/still/still-environment.tex | 71 + .../general/manuals/still/still-expanding.tex | 987 + .../general/manuals/still/still-introduction.tex | 28 + .../general/manuals/still/still-math-stripe.png | Bin 0 -> 1830 bytes .../sources/general/manuals/still/still-math.tex | 2880 + .../sources/general/manuals/still/still-one.tex | 234 + .../general/manuals/still/still-opentypemath.tex | 921 + .../general/manuals/still/still-profiling.tex | 802 + .../sources/general/manuals/still/still-simple.tex | 330 + .../general/manuals/still/still-sumatra-math.png | Bin 0 -> 31799 bytes .../general/manuals/still/still-sumatra-text.png | Bin 0 -> 30412 bytes .../general/manuals/still/still-titlepage.tex | 38 + .../sources/general/manuals/still/still-tokens.tex | 903 + .../sources/general/manuals/still/still.tex | 46 + .../general/manuals/swiglib/swiglib-mkiv-gm-1.pdf | Bin 20433 -> 20433 bytes .../general/manuals/swiglib/swiglib-mkiv.tex | 183 +- .../general/manuals/templates/templates-mkiv.tex | 4 + .../sources/general/manuals/tiptrick/tiptrick.tex | 17 +- .../sources/general/manuals/tools/tools-mkiv.tex | 4 + .../sources/general/manuals/units/units-mkiv.tex | 17 + .../manuals/workflows/workflows-injectors.tex | 57 +- .../general/manuals/workflows/workflows-mkiv.tex | 17 + .../sources/general/manuals/xml/xml-mkiv.tex | 588 +- .../general/manuals/xtables/xtables-mkiv.tex | 4 + doc/fonts/hoekwater/koeieletters/koeieletters.rme | 52 +- 555 files changed, 255567 insertions(+), 843 deletions(-) create mode 100644 doc/context/documents/general/fonts/fonts-mkiv.pdf create mode 100644 doc/context/documents/general/magazines/mag-0000-mkiv.pdf create mode 100644 doc/context/documents/general/magazines/mag-0002-mkiv.pdf create mode 100644 doc/context/documents/general/magazines/mag-0006-mkiv.pdf create mode 100644 doc/context/documents/general/magazines/mag-0007-mkiv.pdf create mode 100644 doc/context/documents/general/magazines/mag-0010-mkiv.pdf create mode 100644 doc/context/documents/general/magazines/mag-1101-mkiv.pdf create mode 100644 doc/context/documents/general/magazines/mag-1102-mkiv.pdf create mode 100644 doc/context/documents/general/magazines/mag-1103-mkiv.pdf create mode 100644 doc/context/documents/general/manuals/about.pdf create mode 100644 doc/context/documents/general/manuals/charts-mkiv.pdf create mode 100644 doc/context/documents/general/manuals/colors-mkiv.pdf create mode 100644 doc/context/documents/general/manuals/columnsets.pdf create mode 100644 doc/context/documents/general/manuals/details.pdf create mode 100644 doc/context/documents/general/manuals/hybrid.pdf create mode 100644 doc/context/documents/general/manuals/math-mkiv.pdf create mode 100644 doc/context/documents/general/manuals/mk.pdf create mode 100644 doc/context/documents/general/manuals/mmlexamp.pdf create mode 100644 doc/context/documents/general/manuals/mmlprime.pdf create mode 100644 doc/context/documents/general/manuals/rules-mkiv.pdf create mode 100644 doc/context/documents/general/manuals/spreadsheets-mkiv.pdf create mode 100644 doc/context/documents/general/manuals/steps-mkiv.pdf create mode 100644 doc/context/documents/general/manuals/still.pdf create mode 100644 doc/context/documents/general/qrcs/setup-cs.pdf create mode 100644 doc/context/documents/general/qrcs/setup-de.pdf create mode 100644 doc/context/documents/general/qrcs/setup-en.pdf create mode 100644 doc/context/documents/general/qrcs/setup-fr.pdf create mode 100644 doc/context/documents/general/qrcs/setup-it.pdf create mode 100644 doc/context/documents/general/qrcs/setup-nl.pdf create mode 100644 doc/context/documents/general/qrcs/setup-ro.pdf create mode 100644 doc/context/presentations/bachotex/2010/bachotex-2010-clash.pdf create mode 100644 doc/context/presentations/bachotex/2010/bachotex-2010-clash.tex create mode 100644 doc/context/presentations/bachotex/2010/bachotex-2010-move.pdf create mode 100644 doc/context/presentations/bachotex/2010/bachotex-2010-move.tex create mode 100644 doc/context/presentations/bachotex/2011/bachotex-2011-cld-and-mkvi.pdf create mode 100644 doc/context/presentations/bachotex/2011/bachotex-2011-cld-and-mkvi.tex create mode 100644 doc/context/presentations/bachotex/2013/bachotex-2013-bits.pdf create mode 100644 doc/context/presentations/bachotex/2013/bachotex-2013-bits.tex create mode 100644 doc/context/presentations/bachotex/2013/bachotex-2013-luatex.pdf create mode 100644 doc/context/presentations/bachotex/2013/bachotex-2013-luatex.tex create mode 100644 doc/context/presentations/bachotex/2013/bachotex-2013-sense.pdf create mode 100644 doc/context/presentations/bachotex/2013/bachotex-2013-sense.tex create mode 100644 doc/context/presentations/bachotex/2013/bachotex-2013-speed.pdf create mode 100644 doc/context/presentations/bachotex/2013/bachotex-2013-speed.tex create mode 100644 doc/context/presentations/bachotex/2015/bachotex-2015-ligatures.pdf create mode 100644 doc/context/presentations/bachotex/2015/bachotex-2015-ligatures.tex create mode 100644 doc/context/presentations/bachotex/2016/bachotex-2016-opentype.pdf create mode 100644 doc/context/presentations/bachotex/2016/bachotex-2016-opentype.tex create mode 100644 doc/context/presentations/bachotex/2016/bachotex-2016-toolbox.pdf create mode 100644 doc/context/presentations/bachotex/2016/bachotex-2016-toolbox.tex create mode 100644 doc/context/presentations/context/2011/context-2011-ebook-export.pdf create mode 100644 doc/context/presentations/context/2011/context-2011-ebook-export.tex create mode 100644 doc/context/presentations/context/2011/context-2011-mathml-update.pdf create mode 100644 doc/context/presentations/context/2011/context-2011-mathml-update.tex create mode 100644 doc/context/presentations/context/2011/context-2011-metapost-how-we-adapt.pdf create mode 100644 doc/context/presentations/context/2011/context-2011-metapost-how-we-adapt.tex create mode 100644 doc/context/presentations/context/2011/context-2011-sorting-registers.pdf create mode 100644 doc/context/presentations/context/2011/context-2011-sorting-registers.tex create mode 100644 doc/context/presentations/context/2012/context-2012-after-the-cleanup.pdf create mode 100644 doc/context/presentations/context/2012/context-2012-after-the-cleanup.tex create mode 100644 doc/context/presentations/context/2012/context-2012-lexing-sources.pdf create mode 100644 doc/context/presentations/context/2012/context-2012-lexing-sources.tex create mode 100644 doc/context/presentations/context/2012/context-2012-mixed-columns.pdf create mode 100644 doc/context/presentations/context/2012/context-2012-mixed-columns.tex create mode 100644 doc/context/presentations/context/2012/context-2012-the-script.pdf create mode 100644 doc/context/presentations/context/2012/context-2012-the-script.tex create mode 100644 doc/context/presentations/context/2012/context-2012-visual-debugging.pdf create mode 100644 doc/context/presentations/context/2012/context-2012-visual-debugging.tex create mode 100644 doc/context/presentations/context/2012/context-2012-xml-news.pdf create mode 100644 doc/context/presentations/context/2012/context-2012-xml-news.tex create mode 100644 doc/context/presentations/context/2013/context-2013-math.pdf create mode 100644 doc/context/presentations/context/2013/context-2013-math.tex create mode 100644 doc/context/presentations/context/2013/context-2013-speed.pdf create mode 100644 doc/context/presentations/context/2013/context-2013-speed.tex create mode 100644 doc/context/presentations/context/2015/context-2015-status.pdf create mode 100644 doc/context/presentations/context/2015/context-2015-status.tex create mode 100644 doc/context/presentations/context/2016/context-2016-luatex.pdf create mode 100644 doc/context/presentations/context/2016/context-2016-luatex.tex create mode 100644 doc/context/presentations/examples/present-balls-001.pdf create mode 100644 doc/context/presentations/examples/present-balls-001.tex create mode 100644 doc/context/presentations/examples/present-colorful-001.pdf create mode 100644 doc/context/presentations/examples/present-colorful-001.tex create mode 100644 doc/context/presentations/examples/present-funny-001.pdf create mode 100644 doc/context/presentations/examples/present-funny-001.tex create mode 100644 doc/context/presentations/examples/present-fuzzy-001.pdf create mode 100644 doc/context/presentations/examples/present-fuzzy-001.tex create mode 100644 doc/context/presentations/examples/present-green-001.pdf create mode 100644 doc/context/presentations/examples/present-green-001.tex create mode 100644 doc/context/presentations/examples/present-grow-001.pdf create mode 100644 doc/context/presentations/examples/present-grow-001.tex create mode 100644 doc/context/presentations/examples/present-organic-001.pdf create mode 100644 doc/context/presentations/examples/present-organic-001.tex create mode 100644 doc/context/presentations/examples/present-original-001.pdf create mode 100644 doc/context/presentations/examples/present-original-001.tex create mode 100644 doc/context/presentations/examples/present-punk-001.pdf create mode 100644 doc/context/presentations/examples/present-punk-001.tex create mode 100644 doc/context/presentations/examples/present-random-001.pdf create mode 100644 doc/context/presentations/examples/present-random-001.tex create mode 100644 doc/context/presentations/examples/present-shaded-001.pdf create mode 100644 doc/context/presentations/examples/present-shaded-001.tex create mode 100644 doc/context/presentations/examples/present-split-001.pdf create mode 100644 doc/context/presentations/examples/present-split-001.tex create mode 100644 doc/context/presentations/examples/present-stepper-001.pdf create mode 100644 doc/context/presentations/examples/present-stepper-001.tex create mode 100644 doc/context/presentations/examples/present-tiles-001.pdf create mode 100644 doc/context/presentations/examples/present-tiles-001.tex create mode 100644 doc/context/presentations/examples/present-windows-001.pdf create mode 100644 doc/context/presentations/examples/present-windows-001.tex create mode 100644 doc/context/presentations/present-readme.pdf create mode 100644 doc/context/presentations/present-readme.tex create mode 100644 doc/context/scripts/mkiv/mtx-dvi.html create mode 100644 doc/context/scripts/mkiv/mtx-dvi.man create mode 100644 doc/context/scripts/mkiv/mtx-dvi.xml create mode 100644 doc/context/sources/general/fonts/fonts/fonts-appendix.tex create mode 100644 doc/context/sources/general/fonts/fonts/fonts-environment.tex create mode 100644 doc/context/sources/general/fonts/fonts/fonts-extensions.tex create mode 100644 doc/context/sources/general/fonts/fonts/fonts-features.tex create mode 100644 doc/context/sources/general/fonts/fonts/fonts-formats.tex create mode 100644 doc/context/sources/general/fonts/fonts/fonts-hooks.tex create mode 100644 doc/context/sources/general/fonts/fonts/fonts-introduction.tex create mode 100644 doc/context/sources/general/fonts/fonts/fonts-lookups.tex create mode 100644 doc/context/sources/general/fonts/fonts/fonts-math.tex create mode 100644 doc/context/sources/general/fonts/fonts/fonts-methods.tex create mode 100644 doc/context/sources/general/fonts/fonts/fonts-mkiv.tex create mode 100644 doc/context/sources/general/fonts/fonts/fonts-modes.tex create mode 100644 doc/context/sources/general/fonts/fonts/fonts-scripts.tex create mode 100644 doc/context/sources/general/fonts/manuals-explaining-contents.tex create mode 100644 doc/context/sources/general/fonts/manuals-explaining-cover.tex create mode 100644 doc/context/sources/general/fonts/manuals-explaining-environment.tex create mode 100644 doc/context/sources/general/magazines/mag-0000-mkiv.tex create mode 100644 doc/context/sources/general/magazines/mag-0002-mkiv.tex create mode 100644 doc/context/sources/general/magazines/mag-0006-mkiv.tex create mode 100644 doc/context/sources/general/magazines/mag-0007-mkiv.tex create mode 100644 doc/context/sources/general/magazines/mag-0010-mkiv.tex create mode 100644 doc/context/sources/general/magazines/mag-1101-mkiv.tex create mode 100644 doc/context/sources/general/magazines/mag-1102-mkiv.tex create mode 100644 doc/context/sources/general/magazines/mag-1103-mkiv.tex create mode 100644 doc/context/sources/general/manuals/about/about-calls.tex create mode 100644 doc/context/sources/general/manuals/about/about-contents.tex create mode 100644 doc/context/sources/general/manuals/about/about-environment.tex create mode 100644 doc/context/sources/general/manuals/about/about-expanding.tex create mode 100644 doc/context/sources/general/manuals/about/about-hashing.tex create mode 100644 doc/context/sources/general/manuals/about/about-hz.tex create mode 100644 doc/context/sources/general/manuals/about/about-introduction.tex create mode 100644 doc/context/sources/general/manuals/about/about-jitting-jit-2013-06-04.lua create mode 100644 doc/context/sources/general/manuals/about/about-jitting-jit.lua create mode 100644 doc/context/sources/general/manuals/about/about-jitting.tex create mode 100644 doc/context/sources/general/manuals/about/about-luafunctions.tex create mode 100644 doc/context/sources/general/manuals/about/about-mathstackers.tex create mode 100644 doc/context/sources/general/manuals/about/about-mathstyles.tex create mode 100644 doc/context/sources/general/manuals/about/about-metafun.tex create mode 100644 doc/context/sources/general/manuals/about/about-mobility.tex create mode 100644 doc/context/sources/general/manuals/about/about-nodes.tex create mode 100644 doc/context/sources/general/manuals/about/about-nuts.tex create mode 100644 doc/context/sources/general/manuals/about/about-properties.tex create mode 100644 doc/context/sources/general/manuals/about/about-speed.tex create mode 100644 doc/context/sources/general/manuals/about/about-threequarters.tex create mode 100644 doc/context/sources/general/manuals/about/about-titlepage.tex create mode 100644 doc/context/sources/general/manuals/about/about.tex create mode 100644 doc/context/sources/general/manuals/about/demo-data.lua create mode 100644 doc/context/sources/general/manuals/about/luatest-hash-luajittex-073-JIT20.lua create mode 100644 doc/context/sources/general/manuals/about/luatest-hash-luajittex-073-LUA51-40-6.lua create mode 100644 doc/context/sources/general/manuals/about/luatest-hash-luajittex-073-LUA51.lua create mode 100644 doc/context/sources/general/manuals/about/luatest-hash-luatex-073-LUA52-40-6.lua create mode 100644 doc/context/sources/general/manuals/about/luatest-hash-luatex-073-LUA52.lua create mode 100644 doc/context/sources/general/manuals/about/pi-speed-1.tex create mode 100644 doc/context/sources/general/manuals/about/pi-speed-2.tex create mode 100644 doc/context/sources/general/manuals/about/pi-speed-3.tex create mode 100644 doc/context/sources/general/manuals/about/pi-speed-4.tex create mode 100644 doc/context/sources/general/manuals/about/pi-speed-5.tex create mode 100644 doc/context/sources/general/manuals/about/still-expanding-1.png create mode 100644 doc/context/sources/general/manuals/about/still-expanding-10.png create mode 100644 doc/context/sources/general/manuals/about/still-expanding-2.png create mode 100644 doc/context/sources/general/manuals/about/still-expanding-3.png create mode 100644 doc/context/sources/general/manuals/about/still-expanding-4.png create mode 100644 doc/context/sources/general/manuals/about/still-expanding-5.png create mode 100644 doc/context/sources/general/manuals/about/still-expanding-6.png create mode 100644 doc/context/sources/general/manuals/about/still-expanding-7.png create mode 100644 doc/context/sources/general/manuals/about/still-expanding-8.png create mode 100644 doc/context/sources/general/manuals/about/still-expanding-9.png create mode 100644 doc/context/sources/general/manuals/charts/charts-mkiv.tex create mode 100644 doc/context/sources/general/manuals/colors/colors-basics.tex create mode 100644 doc/context/sources/general/manuals/colors/colors-environment.tex create mode 100644 doc/context/sources/general/manuals/colors/colors-graphics.tex create mode 100644 doc/context/sources/general/manuals/colors/colors-introduction.tex create mode 100644 doc/context/sources/general/manuals/colors/colors-metafun.tex create mode 100644 doc/context/sources/general/manuals/colors/colors-mkiv.tex create mode 100644 doc/context/sources/general/manuals/columnsets/columnsets-000.tex create mode 100644 doc/context/sources/general/manuals/columnsets/columnsets-001.tex create mode 100644 doc/context/sources/general/manuals/columnsets/columnsets-002.tex create mode 100644 doc/context/sources/general/manuals/columnsets/columnsets-003.tex create mode 100644 doc/context/sources/general/manuals/columnsets/columnsets-004.tex create mode 100644 doc/context/sources/general/manuals/columnsets/columnsets-005.tex create mode 100644 doc/context/sources/general/manuals/columnsets/columnsets-006.tex create mode 100644 doc/context/sources/general/manuals/columnsets/columnsets-007.tex create mode 100644 doc/context/sources/general/manuals/columnsets/columnsets-101.tex create mode 100644 doc/context/sources/general/manuals/columnsets/columnsets-102.tex create mode 100644 doc/context/sources/general/manuals/columnsets/columnsets-103.tex create mode 100644 doc/context/sources/general/manuals/columnsets/columnsets-201.tex create mode 100644 doc/context/sources/general/manuals/columnsets/columnsets-202.tex create mode 100644 doc/context/sources/general/manuals/columnsets/columnsets-203.tex create mode 100644 doc/context/sources/general/manuals/columnsets/columnsets-204.tex create mode 100644 doc/context/sources/general/manuals/columnsets/columnsets-205.tex create mode 100644 doc/context/sources/general/manuals/columnsets/columnsets-206.tex create mode 100644 doc/context/sources/general/manuals/columnsets/columnsets-301.tex create mode 100644 doc/context/sources/general/manuals/columnsets/columnsets-401.tex create mode 100644 doc/context/sources/general/manuals/columnsets/columnsets-402.tex create mode 100644 doc/context/sources/general/manuals/columnsets/columnsets-403.tex create mode 100644 doc/context/sources/general/manuals/columnsets/columnsets-404.tex create mode 100644 doc/context/sources/general/manuals/columnsets/columnsets-405.tex create mode 100644 doc/context/sources/general/manuals/columnsets/columnsets-601.tex create mode 100644 doc/context/sources/general/manuals/columnsets/columnsets-701.tex create mode 100644 doc/context/sources/general/manuals/columnsets/columnsets-702.tex create mode 100644 doc/context/sources/general/manuals/columnsets/columnsets-703.tex create mode 100644 doc/context/sources/general/manuals/columnsets/columnsets-704.tex create mode 100644 doc/context/sources/general/manuals/columnsets/columnsets-801.tex create mode 100644 doc/context/sources/general/manuals/columnsets/columnsets-802.tex create mode 100644 doc/context/sources/general/manuals/columnsets/columnsets-803.tex create mode 100644 doc/context/sources/general/manuals/columnsets/columnsets-804.tex create mode 100644 doc/context/sources/general/manuals/columnsets/columnsets-805.tex create mode 100644 doc/context/sources/general/manuals/columnsets/columnsets-806.tex create mode 100644 doc/context/sources/general/manuals/columnsets/columnsets-901.tex create mode 100644 doc/context/sources/general/manuals/columnsets/columnsets-902.tex create mode 100644 doc/context/sources/general/manuals/columnsets/columnsets-903.tex create mode 100644 doc/context/sources/general/manuals/columnsets/columnsets.tex create mode 100644 doc/context/sources/general/manuals/hybrid/benchmark-1.tex create mode 100644 doc/context/sources/general/manuals/hybrid/benchmark-2.tex create mode 100644 doc/context/sources/general/manuals/hybrid/benchmark-3.tex create mode 100644 doc/context/sources/general/manuals/hybrid/benchmark-4.tex create mode 100644 doc/context/sources/general/manuals/hybrid/benchmark-5.tex create mode 100644 doc/context/sources/general/manuals/hybrid/calibri-fontshop.png create mode 100644 doc/context/sources/general/manuals/hybrid/ebook-metafun-1.png create mode 100644 doc/context/sources/general/manuals/hybrid/ebook-metafun-2.png create mode 100644 doc/context/sources/general/manuals/hybrid/ebook-pdf.png create mode 100644 doc/context/sources/general/manuals/hybrid/ebook-xhtml.png create mode 100644 doc/context/sources/general/manuals/hybrid/hybrid-backend.tex create mode 100644 doc/context/sources/general/manuals/hybrid/hybrid-bidi.tex create mode 100644 doc/context/sources/general/manuals/hybrid/hybrid-callbacks.tex create mode 100644 doc/context/sources/general/manuals/hybrid/hybrid-characters.tex create mode 100644 doc/context/sources/general/manuals/hybrid/hybrid-codebase.tex create mode 100644 doc/context/sources/general/manuals/hybrid/hybrid-contents.tex create mode 100644 doc/context/sources/general/manuals/hybrid/hybrid-ebooks.tex create mode 100644 doc/context/sources/general/manuals/hybrid/hybrid-environment.tex create mode 100644 doc/context/sources/general/manuals/hybrid/hybrid-export.tex create mode 100644 doc/context/sources/general/manuals/hybrid/hybrid-fontnames.tex create mode 100644 doc/context/sources/general/manuals/hybrid/hybrid-glocal.tex create mode 100644 doc/context/sources/general/manuals/hybrid/hybrid-goodies.tex create mode 100644 doc/context/sources/general/manuals/hybrid/hybrid-grouping.tex create mode 100644 doc/context/sources/general/manuals/hybrid/hybrid-inserts.tex create mode 100644 doc/context/sources/general/manuals/hybrid/hybrid-intermezzo.tex create mode 100644 doc/context/sources/general/manuals/hybrid/hybrid-introduction.tex create mode 100644 doc/context/sources/general/manuals/hybrid/hybrid-italics.tex create mode 100644 doc/context/sources/general/manuals/hybrid/hybrid-jit.tex create mode 100644 doc/context/sources/general/manuals/hybrid/hybrid-languages.tex create mode 100644 doc/context/sources/general/manuals/hybrid/hybrid-math.tex create mode 100644 doc/context/sources/general/manuals/hybrid/hybrid-mathml.tex create mode 100644 doc/context/sources/general/manuals/hybrid/hybrid-merge.tex create mode 100644 doc/context/sources/general/manuals/hybrid/hybrid-mkvi.tex create mode 100644 doc/context/sources/general/manuals/hybrid/hybrid-optimize.tex create mode 100644 doc/context/sources/general/manuals/hybrid/hybrid-parbuilder.tex create mode 100644 doc/context/sources/general/manuals/hybrid/hybrid-partests.tex create mode 100644 doc/context/sources/general/manuals/hybrid/hybrid-tags.tex create mode 100644 doc/context/sources/general/manuals/hybrid/hybrid-titlepage.tex create mode 100644 doc/context/sources/general/manuals/hybrid/hybrid-weird.tex create mode 100644 doc/context/sources/general/manuals/hybrid/hybrid.tex create mode 100644 doc/context/sources/general/manuals/hybrid/luatex-co-acceptablelowres.jpg create mode 100644 doc/context/sources/general/manuals/hybrid/mtx-server-ctx-fonttest.png create mode 100644 doc/context/sources/general/manuals/hybrid/tagged-001.png create mode 100644 doc/context/sources/general/manuals/hybrid/tagged-002.png create mode 100644 doc/context/sources/general/manuals/hybrid/tagged-003.png create mode 100644 doc/context/sources/general/manuals/hybrid/tagged-004.png create mode 100644 doc/context/sources/general/manuals/hybrid/tagged-005.png create mode 100644 doc/context/sources/general/manuals/hybrid/tagged-006.png create mode 100644 doc/context/sources/general/manuals/hybrid/tagged-007.png create mode 100644 doc/context/sources/general/manuals/hybrid/tagged-008.png create mode 100644 doc/context/sources/general/manuals/hybrid/tagged-009.png create mode 100644 doc/context/sources/general/manuals/hybrid/tagged-010.png create mode 100644 doc/context/sources/general/manuals/hybrid/tagged-011.png create mode 100644 doc/context/sources/general/manuals/manuals-explaining-contents.tex create mode 100644 doc/context/sources/general/manuals/manuals-explaining-cover.tex create mode 100644 doc/context/sources/general/manuals/manuals-explaining-environment.tex create mode 100644 doc/context/sources/general/manuals/manuals-xml-environment.tex create mode 100644 doc/context/sources/general/manuals/math/math-combining.tex create mode 100644 doc/context/sources/general/manuals/math/math-contents.tex create mode 100644 doc/context/sources/general/manuals/math/math-features.tex create mode 100644 doc/context/sources/general/manuals/math/math-framing-001.tex create mode 100644 doc/context/sources/general/manuals/math/math-framing.tex create mode 100644 doc/context/sources/general/manuals/math/math-introduction.tex create mode 100644 doc/context/sources/general/manuals/math/math-layout.tex create mode 100644 doc/context/sources/general/manuals/math/math-mkiv.tex create mode 100644 doc/context/sources/general/manuals/math/math-numbering.tex create mode 100644 doc/context/sources/general/manuals/math/math-spacing-001.tex create mode 100644 doc/context/sources/general/manuals/math/math-spacing.tex create mode 100644 doc/context/sources/general/manuals/math/math-titlepage.tex create mode 100644 doc/context/sources/general/manuals/mathml/envexamp.tex create mode 100644 doc/context/sources/general/manuals/mathml/mmlexamp.tex create mode 100644 doc/context/sources/general/manuals/mathml/mmlprime.tex create mode 100644 doc/context/sources/general/manuals/mathml/pc-d-001.xml create mode 100644 doc/context/sources/general/manuals/mathml/pc-d-002.xml create mode 100644 doc/context/sources/general/manuals/mathml/pc-d-003.xml create mode 100644 doc/context/sources/general/manuals/mathml/pc-d-004.xml create mode 100644 doc/context/sources/general/manuals/mathml/pc-d-005.xml create mode 100644 doc/context/sources/general/manuals/mathml/pc-d-006.xml create mode 100644 doc/context/sources/general/manuals/mathml/pc-d-007.xml create mode 100644 doc/context/sources/general/manuals/mathml/pc-d-008.xml create mode 100644 doc/context/sources/general/manuals/mathml/pc-d-009.xml create mode 100644 doc/context/sources/general/manuals/mathml/pc-d-010.xml create mode 100644 doc/context/sources/general/manuals/mathml/pc-d-011.xml create mode 100644 doc/context/sources/general/manuals/mathml/pc-d-043.xml create mode 100644 doc/context/sources/general/manuals/mathml/pc-d-051.xml create mode 100644 doc/context/sources/general/manuals/mathml/pc-i-022.xml create mode 100644 doc/context/sources/general/manuals/mathml/pc-i-380.xml create mode 100644 doc/context/sources/general/manuals/mathml/pc-s-001.xml create mode 100644 doc/context/sources/general/manuals/mathml/pc-s-002.xml create mode 100644 doc/context/sources/general/manuals/mathml/pc-s-003.xml create mode 100644 doc/context/sources/general/manuals/mathml/wh-g-001.xml create mode 100644 doc/context/sources/general/manuals/mathml/wh-g-002.xml create mode 100644 doc/context/sources/general/manuals/mathml/wh-g-003.xml create mode 100644 doc/context/sources/general/manuals/mathml/wh-g-004.xml create mode 100644 doc/context/sources/general/manuals/mathml/wh-g-005.xml create mode 100644 doc/context/sources/general/manuals/mathml/wh-g-006.xml create mode 100644 doc/context/sources/general/manuals/mathml/wh-g-007.xml create mode 100644 doc/context/sources/general/manuals/mathml/wh-g-008.xml create mode 100644 doc/context/sources/general/manuals/mathml/wh-g-009.xml create mode 100644 doc/context/sources/general/manuals/mathml/wh-g-010.xml create mode 100644 doc/context/sources/general/manuals/mathml/wh-g-011.xml create mode 100644 doc/context/sources/general/manuals/mathml/wh-g-012.xml create mode 100644 doc/context/sources/general/manuals/mathml/wh-g-013.xml create mode 100644 doc/context/sources/general/manuals/mathml/wh-g-014.xml create mode 100644 doc/context/sources/general/manuals/mathml/wh-g-015.xml create mode 100644 doc/context/sources/general/manuals/mathml/wh-g-016.xml create mode 100644 doc/context/sources/general/manuals/mathml/wh-l-001.xml create mode 100644 doc/context/sources/general/manuals/mathml/wh-l-002.xml create mode 100644 doc/context/sources/general/manuals/mathml/wh-l-003.xml create mode 100644 doc/context/sources/general/manuals/mathml/wh-l-004.xml create mode 100644 doc/context/sources/general/manuals/mathml/wh-s-001.xml create mode 100644 doc/context/sources/general/manuals/mathml/wh-s-002.xml create mode 100644 doc/context/sources/general/manuals/mk/luatexref-t-luatex-progress-intermediate.lut create mode 100644 doc/context/sources/general/manuals/mk/luatexref-t-luatex-progress-runtime.lut create mode 100644 doc/context/sources/general/manuals/mk/mk-arabic.tex create mode 100644 doc/context/sources/general/manuals/mk/mk-breakingapart.tex create mode 100644 doc/context/sources/general/manuals/mk/mk-calcmath.tex create mode 100644 doc/context/sources/general/manuals/mk/mk-cjk.tex create mode 100644 doc/context/sources/general/manuals/mk/mk-code.tex create mode 100644 doc/context/sources/general/manuals/mk/mk-colors.tex create mode 100644 doc/context/sources/general/manuals/mk/mk-contents.tex create mode 100644 doc/context/sources/general/manuals/mk/mk-debug.png create mode 100644 doc/context/sources/general/manuals/mk/mk-dirtytricks.tex create mode 100644 doc/context/sources/general/manuals/mk/mk-environment.tex create mode 100644 doc/context/sources/general/manuals/mk/mk-error.png create mode 100644 doc/context/sources/general/manuals/mk/mk-fallback.tex create mode 100644 doc/context/sources/general/manuals/mk/mk-fonts.tex create mode 100644 doc/context/sources/general/manuals/mk/mk-goingbeta.tex create mode 100644 doc/context/sources/general/manuals/mk/mk-goingutf.tex create mode 100644 doc/context/sources/general/manuals/mk/mk-halfway.tex create mode 100644 doc/context/sources/general/manuals/mk/mk-iitoiv.tex create mode 100644 doc/context/sources/general/manuals/mk/mk-initialization.tex create mode 100644 doc/context/sources/general/manuals/mk/mk-introduction.tex create mode 100644 doc/context/sources/general/manuals/mk/mk-itworks.tex create mode 100644 doc/context/sources/general/manuals/mk/mk-last-state.pdf create mode 100644 doc/context/sources/general/manuals/mk/mk-last.tex create mode 100644 doc/context/sources/general/manuals/mk/mk-luafitsin.tex create mode 100644 doc/context/sources/general/manuals/mk/mk-luatex-progress.lut create mode 100644 doc/context/sources/general/manuals/mk/mk-math.tex create mode 100644 doc/context/sources/general/manuals/mk/mk-memory.tex create mode 100644 doc/context/sources/general/manuals/mk/mk-mix.tex create mode 100644 doc/context/sources/general/manuals/mk/mk-mplib.tex create mode 100644 doc/context/sources/general/manuals/mk/mk-nicetoknow.tex create mode 100644 doc/context/sources/general/manuals/mk/mk-nodes.tex create mode 100644 doc/context/sources/general/manuals/mk/mk-open.tex create mode 100644 doc/context/sources/general/manuals/mk/mk-optimization.tex create mode 100644 doc/context/sources/general/manuals/mk/mk-order.tex create mode 100644 doc/context/sources/general/manuals/mk/mk-performance.tex create mode 100644 doc/context/sources/general/manuals/mk/mk-plain.tex create mode 100644 doc/context/sources/general/manuals/mk/mk-punk.tex create mode 100644 doc/context/sources/general/manuals/mk/mk-reflection.tex create mode 100644 doc/context/sources/general/manuals/mk/mk-structure.tex create mode 100644 doc/context/sources/general/manuals/mk/mk-timing-1-luatex-progress.lut create mode 100644 doc/context/sources/general/manuals/mk/mk-timing-1.tex create mode 100644 doc/context/sources/general/manuals/mk/mk-timing-2-luatex-progress.lut create mode 100644 doc/context/sources/general/manuals/mk/mk-timing-2.tex create mode 100644 doc/context/sources/general/manuals/mk/mk-timing-3-luatex-progress.lut create mode 100644 doc/context/sources/general/manuals/mk/mk-timing-3.tex create mode 100644 doc/context/sources/general/manuals/mk/mk-titlepage.tex create mode 100644 doc/context/sources/general/manuals/mk/mk-tokenspeak.tex create mode 100644 doc/context/sources/general/manuals/mk/mk-tracking.tex create mode 100644 doc/context/sources/general/manuals/mk/mk-xml.tex create mode 100644 doc/context/sources/general/manuals/mk/mk-xml.xml create mode 100644 doc/context/sources/general/manuals/mk/mk-zapfino.tex create mode 100644 doc/context/sources/general/manuals/mk/mk.tex create mode 100644 doc/context/sources/general/manuals/rules/rules-mkiv.tex create mode 100644 doc/context/sources/general/manuals/spreadsheets/spreadsheets-mkiv.tex create mode 100644 doc/context/sources/general/manuals/steps/steps-mkiv.tex create mode 100644 doc/context/sources/general/manuals/still/still-acrobat-math.png create mode 100644 doc/context/sources/general/manuals/still/still-acrobat-text.png create mode 100644 doc/context/sources/general/manuals/still/still-backend.tex create mode 100644 doc/context/sources/general/manuals/still/still-contents.tex create mode 100644 doc/context/sources/general/manuals/still/still-environment.tex create mode 100644 doc/context/sources/general/manuals/still/still-expanding.tex create mode 100644 doc/context/sources/general/manuals/still/still-introduction.tex create mode 100644 doc/context/sources/general/manuals/still/still-math-stripe.png create mode 100644 doc/context/sources/general/manuals/still/still-math.tex create mode 100644 doc/context/sources/general/manuals/still/still-one.tex create mode 100644 doc/context/sources/general/manuals/still/still-opentypemath.tex create mode 100644 doc/context/sources/general/manuals/still/still-profiling.tex create mode 100644 doc/context/sources/general/manuals/still/still-simple.tex create mode 100644 doc/context/sources/general/manuals/still/still-sumatra-math.png create mode 100644 doc/context/sources/general/manuals/still/still-sumatra-text.png create mode 100644 doc/context/sources/general/manuals/still/still-titlepage.tex create mode 100644 doc/context/sources/general/manuals/still/still-tokens.tex create mode 100644 doc/context/sources/general/manuals/still/still.tex (limited to 'doc') diff --git a/doc/context/documents/general/fonts/fonts-mkiv.pdf b/doc/context/documents/general/fonts/fonts-mkiv.pdf new file mode 100644 index 000000000..d388df3e9 Binary files /dev/null and b/doc/context/documents/general/fonts/fonts-mkiv.pdf differ diff --git a/doc/context/documents/general/magazines/mag-0000-mkiv.pdf b/doc/context/documents/general/magazines/mag-0000-mkiv.pdf new file mode 100644 index 000000000..c904eb0f5 Binary files /dev/null and b/doc/context/documents/general/magazines/mag-0000-mkiv.pdf differ diff --git a/doc/context/documents/general/magazines/mag-0002-mkiv.pdf b/doc/context/documents/general/magazines/mag-0002-mkiv.pdf new file mode 100644 index 000000000..5b88e63bb Binary files /dev/null and b/doc/context/documents/general/magazines/mag-0002-mkiv.pdf differ diff --git a/doc/context/documents/general/magazines/mag-0006-mkiv.pdf b/doc/context/documents/general/magazines/mag-0006-mkiv.pdf new file mode 100644 index 000000000..a556dc75b Binary files /dev/null and b/doc/context/documents/general/magazines/mag-0006-mkiv.pdf differ diff --git a/doc/context/documents/general/magazines/mag-0007-mkiv.pdf b/doc/context/documents/general/magazines/mag-0007-mkiv.pdf new file mode 100644 index 000000000..987ddbf7b Binary files /dev/null and b/doc/context/documents/general/magazines/mag-0007-mkiv.pdf differ diff --git a/doc/context/documents/general/magazines/mag-0010-mkiv.pdf b/doc/context/documents/general/magazines/mag-0010-mkiv.pdf new file mode 100644 index 000000000..41e82974f Binary files /dev/null and b/doc/context/documents/general/magazines/mag-0010-mkiv.pdf differ diff --git a/doc/context/documents/general/magazines/mag-1101-mkiv.pdf b/doc/context/documents/general/magazines/mag-1101-mkiv.pdf new file mode 100644 index 000000000..6b7c19fc6 Binary files /dev/null and b/doc/context/documents/general/magazines/mag-1101-mkiv.pdf differ diff --git a/doc/context/documents/general/magazines/mag-1102-mkiv.pdf b/doc/context/documents/general/magazines/mag-1102-mkiv.pdf new file mode 100644 index 000000000..47c00b05b Binary files /dev/null and b/doc/context/documents/general/magazines/mag-1102-mkiv.pdf differ diff --git a/doc/context/documents/general/magazines/mag-1103-mkiv.pdf b/doc/context/documents/general/magazines/mag-1103-mkiv.pdf new file mode 100644 index 000000000..6cfe20113 Binary files /dev/null and b/doc/context/documents/general/magazines/mag-1103-mkiv.pdf differ diff --git a/doc/context/documents/general/manuals/about.pdf b/doc/context/documents/general/manuals/about.pdf new file mode 100644 index 000000000..75714f628 Binary files /dev/null and b/doc/context/documents/general/manuals/about.pdf differ diff --git a/doc/context/documents/general/manuals/charts-mkiv.pdf b/doc/context/documents/general/manuals/charts-mkiv.pdf new file mode 100644 index 000000000..1a0289aa5 Binary files /dev/null and b/doc/context/documents/general/manuals/charts-mkiv.pdf differ diff --git a/doc/context/documents/general/manuals/colors-mkiv.pdf b/doc/context/documents/general/manuals/colors-mkiv.pdf new file mode 100644 index 000000000..f211288d9 Binary files /dev/null and b/doc/context/documents/general/manuals/colors-mkiv.pdf differ diff --git a/doc/context/documents/general/manuals/columnsets.pdf b/doc/context/documents/general/manuals/columnsets.pdf new file mode 100644 index 000000000..32a7f8b06 Binary files /dev/null and b/doc/context/documents/general/manuals/columnsets.pdf differ diff --git a/doc/context/documents/general/manuals/details.pdf b/doc/context/documents/general/manuals/details.pdf new file mode 100644 index 000000000..b99ae19a9 Binary files /dev/null and b/doc/context/documents/general/manuals/details.pdf differ diff --git a/doc/context/documents/general/manuals/hybrid.pdf b/doc/context/documents/general/manuals/hybrid.pdf new file mode 100644 index 000000000..4d5c2df84 Binary files /dev/null and b/doc/context/documents/general/manuals/hybrid.pdf differ diff --git a/doc/context/documents/general/manuals/languages-mkiv.pdf b/doc/context/documents/general/manuals/languages-mkiv.pdf index 480b30d1f..026acfca5 100644 Binary files a/doc/context/documents/general/manuals/languages-mkiv.pdf and b/doc/context/documents/general/manuals/languages-mkiv.pdf differ diff --git a/doc/context/documents/general/manuals/luatex.pdf b/doc/context/documents/general/manuals/luatex.pdf index 92424d805..db570e634 100644 Binary files a/doc/context/documents/general/manuals/luatex.pdf and b/doc/context/documents/general/manuals/luatex.pdf differ diff --git a/doc/context/documents/general/manuals/math-mkiv.pdf b/doc/context/documents/general/manuals/math-mkiv.pdf new file mode 100644 index 000000000..1dd24f225 Binary files /dev/null and b/doc/context/documents/general/manuals/math-mkiv.pdf differ diff --git a/doc/context/documents/general/manuals/mk.pdf b/doc/context/documents/general/manuals/mk.pdf new file mode 100644 index 000000000..f81cf3bc4 Binary files /dev/null and b/doc/context/documents/general/manuals/mk.pdf differ diff --git a/doc/context/documents/general/manuals/mmlexamp.pdf b/doc/context/documents/general/manuals/mmlexamp.pdf new file mode 100644 index 000000000..d86238a5a Binary files /dev/null and b/doc/context/documents/general/manuals/mmlexamp.pdf differ diff --git a/doc/context/documents/general/manuals/mmlprime.pdf b/doc/context/documents/general/manuals/mmlprime.pdf new file mode 100644 index 000000000..0d48394c0 Binary files /dev/null and b/doc/context/documents/general/manuals/mmlprime.pdf differ diff --git a/doc/context/documents/general/manuals/mreadme.pdf b/doc/context/documents/general/manuals/mreadme.pdf index 031be0fda..36d31f277 100644 Binary files a/doc/context/documents/general/manuals/mreadme.pdf and b/doc/context/documents/general/manuals/mreadme.pdf differ diff --git a/doc/context/documents/general/manuals/rules-mkiv.pdf b/doc/context/documents/general/manuals/rules-mkiv.pdf new file mode 100644 index 000000000..97ac2fe4d Binary files /dev/null and b/doc/context/documents/general/manuals/rules-mkiv.pdf differ diff --git a/doc/context/documents/general/manuals/spacing-mkiv.pdf b/doc/context/documents/general/manuals/spacing-mkiv.pdf index c717e6abf..1f0057f1d 100644 Binary files a/doc/context/documents/general/manuals/spacing-mkiv.pdf and b/doc/context/documents/general/manuals/spacing-mkiv.pdf differ diff --git a/doc/context/documents/general/manuals/spreadsheets-mkiv.pdf b/doc/context/documents/general/manuals/spreadsheets-mkiv.pdf new file mode 100644 index 000000000..d8709f169 Binary files /dev/null and b/doc/context/documents/general/manuals/spreadsheets-mkiv.pdf differ diff --git a/doc/context/documents/general/manuals/sql-mkiv.pdf b/doc/context/documents/general/manuals/sql-mkiv.pdf index fa9a5ad61..ff9824bad 100644 Binary files a/doc/context/documents/general/manuals/sql-mkiv.pdf and b/doc/context/documents/general/manuals/sql-mkiv.pdf differ diff --git a/doc/context/documents/general/manuals/steps-mkiv.pdf b/doc/context/documents/general/manuals/steps-mkiv.pdf new file mode 100644 index 000000000..f263d9e43 Binary files /dev/null and b/doc/context/documents/general/manuals/steps-mkiv.pdf differ diff --git a/doc/context/documents/general/manuals/still.pdf b/doc/context/documents/general/manuals/still.pdf new file mode 100644 index 000000000..5918f91cb Binary files /dev/null and b/doc/context/documents/general/manuals/still.pdf differ diff --git a/doc/context/documents/general/manuals/swiglib-mkiv.pdf b/doc/context/documents/general/manuals/swiglib-mkiv.pdf index 57b717f9b..19ad12c4e 100644 Binary files a/doc/context/documents/general/manuals/swiglib-mkiv.pdf and b/doc/context/documents/general/manuals/swiglib-mkiv.pdf differ diff --git a/doc/context/documents/general/manuals/workflows-mkiv.pdf b/doc/context/documents/general/manuals/workflows-mkiv.pdf index 9b8e1f142..cbbec0a5a 100644 Binary files a/doc/context/documents/general/manuals/workflows-mkiv.pdf and b/doc/context/documents/general/manuals/workflows-mkiv.pdf differ diff --git a/doc/context/documents/general/manuals/xml-mkiv.pdf b/doc/context/documents/general/manuals/xml-mkiv.pdf index 7305fb7a8..4ca2570d3 100644 Binary files a/doc/context/documents/general/manuals/xml-mkiv.pdf and b/doc/context/documents/general/manuals/xml-mkiv.pdf differ diff --git a/doc/context/documents/general/qrcs/setup-cs.pdf b/doc/context/documents/general/qrcs/setup-cs.pdf new file mode 100644 index 000000000..f16447a53 Binary files /dev/null and b/doc/context/documents/general/qrcs/setup-cs.pdf differ diff --git a/doc/context/documents/general/qrcs/setup-de.pdf b/doc/context/documents/general/qrcs/setup-de.pdf new file mode 100644 index 000000000..d7733b4a1 Binary files /dev/null and b/doc/context/documents/general/qrcs/setup-de.pdf differ diff --git a/doc/context/documents/general/qrcs/setup-en.pdf b/doc/context/documents/general/qrcs/setup-en.pdf new file mode 100644 index 000000000..27a797b07 Binary files /dev/null and b/doc/context/documents/general/qrcs/setup-en.pdf differ diff --git a/doc/context/documents/general/qrcs/setup-fr.pdf b/doc/context/documents/general/qrcs/setup-fr.pdf new file mode 100644 index 000000000..fc0f336f6 Binary files /dev/null and b/doc/context/documents/general/qrcs/setup-fr.pdf differ diff --git a/doc/context/documents/general/qrcs/setup-it.pdf b/doc/context/documents/general/qrcs/setup-it.pdf new file mode 100644 index 000000000..935eab1f1 Binary files /dev/null and b/doc/context/documents/general/qrcs/setup-it.pdf differ diff --git a/doc/context/documents/general/qrcs/setup-nl.pdf b/doc/context/documents/general/qrcs/setup-nl.pdf new file mode 100644 index 000000000..d99f290f4 Binary files /dev/null and b/doc/context/documents/general/qrcs/setup-nl.pdf differ diff --git a/doc/context/documents/general/qrcs/setup-ro.pdf b/doc/context/documents/general/qrcs/setup-ro.pdf new file mode 100644 index 000000000..7f7e85ce9 Binary files /dev/null and b/doc/context/documents/general/qrcs/setup-ro.pdf differ diff --git a/doc/context/presentations/bachotex/2010/bachotex-2010-clash.pdf b/doc/context/presentations/bachotex/2010/bachotex-2010-clash.pdf new file mode 100644 index 000000000..8dfb31d11 Binary files /dev/null and b/doc/context/presentations/bachotex/2010/bachotex-2010-clash.pdf 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 Binary files /dev/null and b/doc/context/presentations/bachotex/2010/bachotex-2010-move.pdf 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 Binary files /dev/null and b/doc/context/presentations/bachotex/2011/bachotex-2011-cld-and-mkvi.pdf 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 Binary files /dev/null and b/doc/context/presentations/bachotex/2013/bachotex-2013-bits.pdf 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 Binary files /dev/null and b/doc/context/presentations/bachotex/2013/bachotex-2013-luatex.pdf 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 Binary files /dev/null and b/doc/context/presentations/bachotex/2013/bachotex-2013-sense.pdf 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 Binary files /dev/null and b/doc/context/presentations/bachotex/2013/bachotex-2013-speed.pdf 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 Binary files /dev/null and b/doc/context/presentations/bachotex/2015/bachotex-2015-ligatures.pdf 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 Binary files /dev/null and b/doc/context/presentations/bachotex/2016/bachotex-2016-opentype.pdf 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 Binary files /dev/null and b/doc/context/presentations/bachotex/2016/bachotex-2016-toolbox.pdf 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 diff --git a/doc/context/presentations/context/2011/context-2011-ebook-export.pdf b/doc/context/presentations/context/2011/context-2011-ebook-export.pdf new file mode 100644 index 000000000..327a25bd3 Binary files /dev/null and b/doc/context/presentations/context/2011/context-2011-ebook-export.pdf differ diff --git a/doc/context/presentations/context/2011/context-2011-ebook-export.tex b/doc/context/presentations/context/2011/context-2011-ebook-export.tex new file mode 100644 index 000000000..dfa050ae4 --- /dev/null +++ b/doc/context/presentations/context/2011/context-2011-ebook-export.tex @@ -0,0 +1,94 @@ +% \enablemode[print] + +\usemodule[present-overlap,abr-02] + +\startdocument + [title=e-books, + subtitle=old wine in new bottles, + location=\ConTeXt\ Meeting 2011] + +\Topic{Some observations} + +\StartSteps +\startitemize +\item Most ebooks are just books (or try to be). \FlushStep +\item Only a small portion has (or needs) design. \FlushStep +\item To what extent appreciation matters is hard to measure. \FlushStep +\item Vendor locking is spoiling much. \FlushStep +\item 10 years of low res screens have made readers tolerant. \FlushStep +\item Publishers already lost the edge. \FlushStep +\item Eventually authors will publish themselves. \FlushStep +\stopitemize +\StopSteps + +% Does quality matter (just look around you) +% Does livetime matter (much tolerance for potentially crappy old stuff anyway) +% Does timebound look and feel matter (it helps to put into perspective) + +\Topic{What is an ebook} + +\StartSteps +\startitemize +\item Nicest is it being a \PDF\ (some design). \FlushStep +\item Easiest is it being an \XHTML\ file (with some \CSS). \FlushStep +\item Pointless it is being a frozen app. \FlushStep +\item We can already provide a \PDF\ for paper and screen for quite a while. \FlushStep +\item We can consider providing an \XHTML\ alongside as reflowable variant. \FlushStep +\item Who knows what we can provide in the future. \FlushStep +\stopitemize +\StopSteps + +\Topic{The starting point} + +\StartSteps +\startitemize +\item No output is better than the input. \FlushStep +\item Fixing bad coding is a waste of energy. \FlushStep +\item Not that many publishers want to invest in coding. \FlushStep +\item Not that many tools enforce structure. \FlushStep +\item The real good devices still have to come but we can be ready for it. \FlushStep +\item The intelligence has to be in the macro package, not in the engine. \FlushStep +\stopitemize +\StopSteps + +\Topic{Implementation} + +\StartSteps +\startitemize +\item Some users have to produce tagged pdf (to satisfy validators). \FlushStep +\item It helps that many commands in \CONTEXT\ are built upon a relatively small generic set. \FlushStep +\item So, given some basic structure, supporting tags is easy. \FlushStep +\item It integrates in the core. \FlushStep +\item And as a side effect an export was equally easy to support. \FlushStep +\item The overhead is not that large (upto 10\%). \FlushStep +\item Instead of going for freaky solutions (no need for challenges) we assume proper structure. \FlushStep +\item It's not to hard to extend the current features. \FlushStep +\stopitemize +\StopSteps + +\Topic{Consequence for users} + +\StartSteps +\startitemize +\item Use \type{\startchapter} cum suis, but that was already the \MKIV\ fashion. \FlushStep +\item Preferable use \type{\startitem} instead of \type {\item}. \FlushStep +\item Playing safe means tagging paragraphs with \type {\startparagraph}. \FlushStep +\item Use style environments instead of font switches. \FlushStep +\item Just use whatever structural markup that \CONTEXT\ already provides for ages. \FlushStep +\stopitemize +\StopSteps + +\Topic{An example} + +\StartSteps +\startitemize +\item A normal input with \TEX\ commands (cld-mkiv.tex) \FlushStep +\item Regular (tagged) output (cld-mkiv.pdf) \FlushStep +\item Structured output (cld-mkiv.xml) \FlushStep +\item Reflowable output (cld-mkiv-export.xhtml) \FlushStep +\item Dynamic styling (cld-mkiv-export.css) \FlushStep +\item Basic template (cld-mkiv-export.template) \FlushStep +\stopitemize +\StopSteps + +\stopdocument diff --git a/doc/context/presentations/context/2011/context-2011-mathml-update.pdf b/doc/context/presentations/context/2011/context-2011-mathml-update.pdf new file mode 100644 index 000000000..b6f00d904 Binary files /dev/null and b/doc/context/presentations/context/2011/context-2011-mathml-update.pdf differ diff --git a/doc/context/presentations/context/2011/context-2011-mathml-update.tex b/doc/context/presentations/context/2011/context-2011-mathml-update.tex new file mode 100644 index 000000000..fb18ef36a --- /dev/null +++ b/doc/context/presentations/context/2011/context-2011-mathml-update.tex @@ -0,0 +1,67 @@ +\usemodule[present-overlap,abr-02] + +\startdocument + [title=MathML, + subtitle=or math in general, + location=\ConTeXt\ Meeting 2011] + +\Topic{Some developments} + +\StartSteps +\startitemize +\startitem \MATHML\ started as an interchange format on the one hand (content) \stopitem \FlushStep +\startitem but also provides a rendering variant (presentation) \stopitem \FlushStep +\startitem and in the meantime has been merged with what is called open math \stopitem \FlushStep +\startitem we now have \MATHML\ 3 and \CONTEXT\ has been updated a while ago to support this \stopitem \FlushStep +\stopitemize +\StopSteps + +\Topic{Some history} + +\StartSteps +\startitemize +\startitem we supported \MATHML\ right from the start \stopitem \FlushStep +\startitem in \MKII\ quite some data juggling takes place because we need to do some analysis \stopitem \FlushStep +\startitem the \MKII\ code has been upgraded a few times but is now frozen \stopitem \FlushStep +\startitem in \MKIV\ we have rewritten all code using the first version of the new \XML\ parser \stopitem \FlushStep +\startitem it currently is a mixture of \LUA, \TEX\ and \METAPOST \stopitem \FlushStep +\startitem there will probably be a partial rewrite some day in the future \stopitem \FlushStep +\stopitemize +\StopSteps + +\Topic{\UNICODE} + +\StartSteps +\startitemize +\startitem in the meantime \UNICODE\ has been extended with math \stopitem \FlushStep +\startitem in the past in \MATHML\ special characters and symbols were accessed by entity \stopitem \FlushStep +\startitem but now we can exclusively use \UNICODE\ characters and forget about the entities \stopitem \FlushStep +\startitem no matter what, we do need to do some analysis on the content of (presentation) elements \stopitem \FlushStep +\stopitemize +\StopSteps + +\Topic{Rendering} + +\StartSteps +\startitemize +\startitem we still provide rendering options as there might be (cultural) differences \stopitem \FlushStep +\startitem in both marks we just need to load the module \stopitem \FlushStep +\startitem in \MKIV\ you need a reasonable namespace directive \stopitem \FlushStep +\startitem content markup can give better results than presentation markup \stopitem \FlushStep +\stopitemize +\StopSteps + +\Topic{Consequences} + +\StartSteps +\startitemize +\startitem we already use a database or definitions \stopitem \FlushStep +\startitem we won't go the (somewhat extreme) route of more commands \stopitem \FlushStep +\startitem we're working on a subsystem for field driven rendering \stopitem \FlushStep +\startitem bidirectional math already works but will be integrated in the layout model \stopitem \FlushStep +\startitem cultural specific solutions are possible (we already provide language specific functions) \stopitem \FlushStep +\startitem more information is carried around (for rendering as well as export), for instance functions \stopitem \FlushStep +\stopitemize +\StopSteps + +\stopdocument diff --git a/doc/context/presentations/context/2011/context-2011-metapost-how-we-adapt.pdf b/doc/context/presentations/context/2011/context-2011-metapost-how-we-adapt.pdf new file mode 100644 index 000000000..0f7fef0ee Binary files /dev/null and b/doc/context/presentations/context/2011/context-2011-metapost-how-we-adapt.pdf differ diff --git a/doc/context/presentations/context/2011/context-2011-metapost-how-we-adapt.tex b/doc/context/presentations/context/2011/context-2011-metapost-how-we-adapt.tex new file mode 100644 index 000000000..77a9cf993 --- /dev/null +++ b/doc/context/presentations/context/2011/context-2011-metapost-how-we-adapt.tex @@ -0,0 +1,104 @@ +% \enablemode[print] + +\usemodule[present-overlap,abr-02] + +\startdocument + [title=MetaPost, + subtitle=how we adapt, + location=\ConTeXt\ Meeting 2011] + +\Topic{Development Stage} + +\StartSteps +\startitemize +\startitem we started with simple usage (logos) and \POSTSCRIPT\ output \stopitem \FlushStep +\startitem then we moved on to conversion to \PDF\ using \TEX\ macro solution \stopitem \FlushStep +\startitem this has the advantage that fonts are handled by \TEX \stopitem \FlushStep +\startitem for a long time this was a generic solution (later became the \MKII\ variant) \stopitem \FlushStep +\stopitemize +\StopSteps + +\Topic{Development Stage} + +\StartSteps +\startitemize +\startitem we added some extensions (transparency, cmyk, etc) and \METAFUN\ showed up \stopitem \FlushStep +\startitem that extension mechanism uses special colors as signals \stopitem \FlushStep +\startitem we always collected btex ... etex in order to speed up processing \stopitem \FlushStep +\startitem in addition we added textext and similar features \stopitem \FlushStep +\startitem communication between \METAFUN\ and \CONTEXT\ became more advanced over time \stopitem \FlushStep +\stopitemize +\StopSteps + +\Topic{Development Stage} + +\StartSteps +\startitemize +\startitem when \LUATEX\ showed up a substitution based lua converter was written \stopitem \FlushStep +\startitem later when \LPEG\ came around an experimental lpeg converter showed up \stopitem \FlushStep +\startitem some changes were made to textext processing and run management \stopitem \FlushStep +\stopitemize +\StopSteps + +\Topic{Development Stage} + +\StartSteps +\startitemize +\startitem the arrival of mplib had rather big consequences \stopitem \FlushStep +\startitem integration of \METAFUN\ became less of a runtime burden \stopitem \FlushStep +\startitem a more definitive lpeg converter was written \stopitem \FlushStep +\startitem text handling was kept internal (but still needs two passes) \stopitem \FlushStep +\stopitemize +\StopSteps + +\Topic{Development Stage} + +\StartSteps +\startitemize +\startitem some extensions were changed to use the new pre/postscripts functionality \stopitem \FlushStep +\startitem the lpeg converter was adapted accordingly \stopitem \FlushStep +\startitem multiple (independent) \METAPOST\ instances were now supported \stopitem \FlushStep +\startitem the chemical code was overhauled and moved to the core \stopitem \FlushStep +\stopitemize +\StopSteps + +\Topic{Development Stage} + +\StartSteps +\startitemize +\startitem by now all extensions use pre/postscripts \stopitem \FlushStep +\startitem this made it easier to add more extend functionality \stopitem \FlushStep +\startitem again the lpeg converter was adapted (simplified) \stopitem \FlushStep +\startitem it became possible to do some color trickery with text \stopitem \FlushStep +\startitem but (till now) color spaces are more complex (mp has a mixed model) \stopitem \FlushStep +\startitem so we might move towards a slightly different approach \stopitem \FlushStep +\startitem a couple of helpers were added for Mojca (some more will follow) \stopitem \FlushStep +\stopitemize +\StopSteps + +\Topic{Development Stage} + +\StartSteps +\startitemize +\startitem we're now splitting the code in \MPII\ and \MPIV\ code bases \stopitem \FlushStep +\startitem from now on the focus will be on \MPIV \stopitem \FlushStep +\startitem the (rather old) \METAFUN\ code will be cleaned up \stopitem \FlushStep +\startitem where possible namespaces will be added \stopitem \FlushStep +\startitem as \METAFUN\ us loaded runtime we see an impact on startup time (quite some files) \stopitem \FlushStep +\startitem so maybe we will use a packed and/or zipped pseudo format file for faster loading \stopitem \FlushStep +\stopitemize +\StopSteps + +\Topic{Development Stage} + +\StartSteps +\startitemize +\startitem an overhaul of the flowchart code is on the agenda \stopitem \FlushStep +\startitem we also want to finish (and cleanup) the chemical related code \stopitem \FlushStep +\startitem simple data/graphics helpers will be provided (graph replacement) \stopitem \FlushStep +\startitem and of course we keep moving on (who knows what \METAPOST\ 2 will bring us) \stopitem \FlushStep +\startitem some examples: tests/mkiv/metapost/plugins-* \stopitem \FlushStep +\stopitemize +\StopSteps + +\stopdocument diff --git a/doc/context/presentations/context/2011/context-2011-sorting-registers.pdf b/doc/context/presentations/context/2011/context-2011-sorting-registers.pdf new file mode 100644 index 000000000..db0d9da2b Binary files /dev/null and b/doc/context/presentations/context/2011/context-2011-sorting-registers.pdf differ diff --git a/doc/context/presentations/context/2011/context-2011-sorting-registers.tex b/doc/context/presentations/context/2011/context-2011-sorting-registers.tex new file mode 100644 index 000000000..f05290906 --- /dev/null +++ b/doc/context/presentations/context/2011/context-2011-sorting-registers.tex @@ -0,0 +1,161 @@ +% tests/mkiv/scripts/korean-005.tex +% examplex elsewhere + +% \enablemode[print] + +\usemodule[present-overlap,abr-02] + +\startdocument + [title=Sorting, + subtitle=registers, + location=\ConTeXt\ Meeting 2011] + +\startluacode + +local function show(t,start,stop) + if type(t) == "table" then + start = start or 1 + stop = stop or #t + for i=start,stop do + if i > start then + context.space() + end + if type(t[i]) == "number" then + context(utf.char(t[i])) + else + context(t[i]) + end + end + elseif type(t) == "string" then + context(t) + elseif type(t) == "number" then + context(utf.char(t)) + end +end + +function context.ShowCharacterData(n) + local d = characters.data[n] + if d then + local bTR, bTD, eTD, eTR = context.bTR, context.bTD, context.eTD, context.eTR + context.bTABLE() + bTR() bTD() context("unicode") eTD() bTD() show(n) eTD() eTR() + bTR() bTD() context("shcode") eTD() bTD() show(characters.shchars [n]) eTD() eTR() + bTR() bTD() context("lccode") eTD() bTD() show(characters.lcchars [n]) eTD() eTR() + bTR() bTD() context("uccode") eTD() bTD() show(characters.ucchars [n]) eTD() eTR() + bTR() bTD() context("fscode") eTD() bTD() show(characters.fschars [n]) eTD() eTR() -- leadconsonant + bTR() bTD() context("specials") eTD() bTD() show( + characters.remap_hangul_syllabe(characters.specials[n]),2) eTD() eTR() + context.eTABLE() + end +end + +\stopluacode + +\unexpanded\def\ShowCharacterData#1{\cldcommand{ShowCharacterData("#1")}} + +\Topic{The old way} + +\StartSteps +\startitemize +\startitem in \MKII\ sorting is delegated to \TEXUTIL\ i.e.\ a multipass action \stopitem \FlushStep +\startitem encoding vectors are passed along \stopitem \FlushStep +\startitem sort vectors depend on the language \stopitem \FlushStep +\startitem there are the usual complications with direct characters and commands \stopitem \FlushStep +\stopitemize +\StopSteps + +\Topic{Moving on} + +\StartSteps +\startitemize +\startitem in \MKIV\ sorting happens during the run \stopitem \FlushStep +\startitem we only have to deal with \UNICODE\ (utf) \stopitem \FlushStep +\startitem sort vectors still depend on the language \stopitem \FlushStep +\startitem sorting can be controlled by methods \stopitem \FlushStep +\startitem there is no universal solution (conflicting user demands, mixed languages) \stopitem \FlushStep +\stopitemize +\StopSteps + +\Topic{Character data} + +\setupTABLE[background=color,backgroundcolor=lightgray,rulethickness=.75bp,framecolor=darkgray] + +\StartSteps +\startcombination[5*1] + {\definedfont[Normal*none]\ShowCharacterData{a}} {regular\FlushStep} + {\definedfont[Normal*none]\ShowCharacterData{ä}} {accent\FlushStep} + {\definedfont[Normal*none]\ShowCharacterData{æ}} {ligature\FlushStep} + {\definedfont[adobemyungjostd-medium]\ShowCharacterData{그}} {hangul\FlushStep} + {\definedfont[adobemyungjostd-medium]\ShowCharacterData{학}} {hangul\FlushStep} +\stopcombination +\StopSteps + +\Topic{Sorting methods} + +\StartSteps +\starttabulate[|l|l|r|] + \NC ch \NC raw character \NC \FlushStep \NC \NR + \NC uc \NC unicode \NC \FlushStep \NC \NR + \NC mm \NC mapping \NC minus \FlushStep \NC \NR + \NC zm \NC \NC zero \FlushStep \NC \NR + \NC pm \NC \NC plus \FlushStep \NC \NR + \NC mc \NC lower case \NC minus \FlushStep \NC \NR + \NC zc \NC \NC zero \FlushStep \NC \NR + \NC pc \NC \NC plus \FlushStep \NC \NR +\stoptabulate +\StopSteps + +\Topic{Predefined methods} + +\StartSteps +\starttabulate[|l|l|] + \NC before \NC mm,mc,uc \NC \NR + \NC after \NC pm,mc,uc \NC \NR + \NC first \NC pc,mm,uc \NC \NR + \NC last \NC mc,mm,uc \NC \NR +\stoptabulate + +\FlushStep + +\starttyping +\enabletrackers[sorters.tests] +\enabletrackers[sorters.methods] +\stoptyping + +\FlushStep +\StopSteps + +\Topic{An example (1)} + +\startbuffer +àâá\index{àâá} +aaa\index{aaa} +aab\index{aab} +Aaa\index{Aaa} +Aab\index{Aab} +\stopbuffer + +\StartSteps +\typebuffer \FlushStep + +\startlines \getbuffer \stoplines \FlushStep +\StopSteps + +\Topic{An example (2)} + +% \enabletrackers[sorters.tests] +% \enabletrackers[sorters.methods] + +\setupregister[index][criterium=text,n=1,before=,after=] +\defineframed[indexframed][align=normal,width=.2\textwidth,strut=no] + +\StartSteps +\startcombination[4*1] + {\setupinteraction[state=stop]\indexframed{\placeregister[index][method={mm,mc,uc}]}} {mm,mc,uc\FlushStep} + {\setupinteraction[state=stop]\indexframed{\placeregister[index][method={pm,mc,uc}]}} {pm,mc,uc\FlushStep} + {\setupinteraction[state=stop]\indexframed{\placeregister[index][method={pc,mm,uc}]}} {pc,mm,uc\FlushStep} + {\setupinteraction[state=stop]\indexframed{\placeregister[index][method={mc,mm,uc}]}} {mc,mm,uc\FlushStep} +\stopcombination +\StopSteps + +\stopdocument diff --git a/doc/context/presentations/context/2012/context-2012-after-the-cleanup.pdf b/doc/context/presentations/context/2012/context-2012-after-the-cleanup.pdf new file mode 100644 index 000000000..dc0e85ed4 Binary files /dev/null and b/doc/context/presentations/context/2012/context-2012-after-the-cleanup.pdf differ diff --git a/doc/context/presentations/context/2012/context-2012-after-the-cleanup.tex b/doc/context/presentations/context/2012/context-2012-after-the-cleanup.tex new file mode 100644 index 000000000..a127ca09a --- /dev/null +++ b/doc/context/presentations/context/2012/context-2012-after-the-cleanup.tex @@ -0,0 +1,162 @@ +\usemodule[present-stepwise,present-bars,abr-01] + +\startdocument + [title=After the cleanup, + color=darkred] + +\StartSteps + +\startsubject[title=The update] + + \startitemize[packed] + + \startitem The move to \MKIV\ is more than supporting an engine. \stopitem \FlushStep + \startitem It is a complete rewrite (pruning, extending, cleaning). \stopitem \FlushStep + \startitem Although somewhat crippled by the fact that we want to remain compatible. \stopitem \FlushStep + \startitem But sometimes we sacrifice compatibility by getting rid of old stuff. \stopitem \FlushStep + + \stopitemize + +\stopsubject + +\startsubject[title=The current state] + + \startitemize[packed] + + \startitem A lot of work, more than I had thought, so it takes longer. \stopitem \FlushStep + \startitem Most \TEX\ code is done (some structure and column code left). \stopitem \FlushStep + \startitem New namespaces and helpers mostly done, but will be checked for constency. \stopitem \FlushStep + + \stopitemize + +\stopsubject + +\StopSteps + +\page + +\StartSteps + +\startsubject[title=What is there todo] + + \startitemize[packed] + + \startitem Some code might become generalized (also depends on others). \stopitem \FlushStep + \startitem Layer and positioning code might get a more extensive \LUA\ and \XML\ interface. \stopitem \FlushStep + \startitem Structure related code will support setups (some already in place). \stopitem \FlushStep + \startitem New page builder variants will be explored (anyway more column support and floats). \stopitem \FlushStep + \startitem Math domains cq.\ dictionaries (basics already in place, just needs time). \stopitem \FlushStep + \startitem Math list optimization (pet project). \stopitem \FlushStep + \startitem Generate dependecy trees (easier now) and more consistent code loading order. \stopitem \FlushStep + \startitem All error messages needs checking (some gone, some not yet translated). \stopitem \FlushStep + \startitem Update all xml definitions (work in progress, also relates to wiki). \stopitem \FlushStep + \startitem Optimize positioning system (a bit more powerful now, but also more resources). \stopitem \FlushStep + \startitem More support for css like styling (makes it easier to share code). \stopitem \FlushStep + \startitem Modules (especially those for tracing) need to be normalized. \stopitem \FlushStep + \startitem Some styles (mostly private presentation styles) needs to be fixed. \stopitem \FlushStep + \startitem Pick up the \quote {lean and mean} \CONTEXT\ variant project. \stopitem \FlushStep + \startitem Now that we have more code isolated, we can define an api. \stopitem \FlushStep + \startitem Some manuals need to be updated (most still applies). \stopitem \FlushStep + + \stopitemize + +\stopsubject + +\StopSteps + +\page + +\StartSteps + +\startsubject[title=What I have to keep in mind] + + \startitemize[packed] + + \startitem What is handy for me is not always handy for all users. \stopitem \FlushStep + + \stopitemize + +\stopsubject + +\startsubject[title=But nevertheless there will be new things] + + \startitemize[packed] + + \startitem Elements of our processing framework will show up in the distribution. \stopitem \FlushStep + \startitem It's just more convenient to have one installation for related things. \stopitem \FlushStep + \startitem This is also why support for databases has been added recently. \stopitem \FlushStep + \startitem Running (blocking) \TEX\ jobs needs special treatment (ticket management). \stopitem \FlushStep + \startitem It makes sense to use the well developed \TDS\ infrastructure. \stopitem \FlushStep + + \stopitemize + +\stopsubject + +\StopSteps + +\page + +\StartSteps + +\startsubject[title=Keep an eye on updates] + + \startitemize[packed] + + \startitem Rewriting the code base leads to bugs but these are often resolved quickly + (indeed by Wolfgang). \stopitem \FlushStep + \startitem Following the mailing list helps and nowadays the wiki is adapted close to + realtime (coordinated by Sietse). \stopitem \FlushStep + \startitem Changes in standards and related tools are supported and followed by those who + depend on them (ask Peter). \stopitem \FlushStep + \startitem Sometimes users have demands and these end up as extensions to existing + mechanisms (Aditya's elastic modules). \stopitem \FlushStep + \startitem Issues with platforms are often quickly dealt with (if Luigi doesn't know it + \unknown). \stopitem \FlushStep + \startitem And of course I add new things driven by projects, challenges (and an occasional + stack of new \CD's). \stopitem \FlushStep + \startitem New releases (and betas) are checked against a growing set of test files (Lukas + mails a report after each update). \stopitem \FlushStep + \stopitemize + +\stopsubject + +\StopSteps + +\page + +\StartSteps + +\startsubject[title=Just ask] + + \startitemize[packed] + + \startitem We started long ago with what ended up as \MKII\ and \MPII. \stopitem \FlushStep + \startitem We currently have \MKIV\ and \MPIV. \stopitem \FlushStep + \startitem It has some features that we tag as \MKVI. \stopitem \FlushStep + \startitem Recently \MKIX\ and \MKXI\ were introduced. \stopitem \FlushStep + \blank + \startitem Examples: \MKIV, \MKVI, \MKIX, \MKXI \stopitem \FlushStep + \blank + \startitem So, what should \MKIC\ provide \stopitem \FlushStep + + \stopitemize + +\stopsubject + +\startsubject[title=What I'm working on] + + \startitemize[packed] + + \startitem Proper dependency chain so that we can make small dedicated formats. \stopitem \FlushStep + \startitem Support for typesetting from databases (text, graphics). \stopitem \FlushStep + \startitem Next iteration if (job) tickets processing system cq. framework. \stopitem \FlushStep + + \stopitemize + +\stopsubject + +\StopSteps + +% show latest manuals + +\stopdocument diff --git a/doc/context/presentations/context/2012/context-2012-lexing-sources.pdf b/doc/context/presentations/context/2012/context-2012-lexing-sources.pdf new file mode 100644 index 000000000..be51108b3 Binary files /dev/null and b/doc/context/presentations/context/2012/context-2012-lexing-sources.pdf differ diff --git a/doc/context/presentations/context/2012/context-2012-lexing-sources.tex b/doc/context/presentations/context/2012/context-2012-lexing-sources.tex new file mode 100644 index 000000000..1135148e1 --- /dev/null +++ b/doc/context/presentations/context/2012/context-2012-lexing-sources.tex @@ -0,0 +1,81 @@ +\usemodule[present-stepwise,present-bars,abr-01] + +\definecolor[verydark][s=.2] + +\startdocument + [title=Lexing sources, + color=verydark] + +\StartSteps + +\startsubject[title=What is lexing] + + \startitemize[packed] + \startitem Computer languages have mandate structure. \stopitem \FlushStep + \startitem You can avoid errors by checking the input. \stopitem \FlushStep + \startitem Editors can help by coloring reserved words, concept etc. \stopitem \FlushStep + \startitem Consistency in coloring different languages makes sense. \stopitem \FlushStep + \stopitemize + +\stopsubject + +\startsubject[title=When did we start] + + \startitemize[packed] + \startitem We wrote our first editor begin 90's. \stopitem \FlushStep + \startitem An extension quickly followed when we moved to \TEX: \TEXEDIT. \stopitem \FlushStep + \startitem When \MODULA\ was no longer fashion we moved on to \PERL: \TEXWORK\ (quick demo) \stopitem \FlushStep + \startitem When we ran into \SCITE\ we start using that. \stopitem \FlushStep + \startitem I provided syntax highlighting for \TEX\ and \METAPOST\ (support for multiple formats etc.). \stopitem \FlushStep + \stopitemize + +\stopsubject + +\StopSteps + +\page + +\StartSteps + +\startsubject[title=Side effect of \MKIV] + + \startitemize[packed] + \startitem \SCITE\ got \LPEG\ based lexing (external lexing). \stopitem \FlushStep + \startitem I already had already written some lexers for the pretty printers. \stopitem \FlushStep + \startitem So I gave it a go and made some more advanced lexers. \stopitem \FlushStep + \startitem These ship with \CONTEXT: \TEX, \XML, \PDF, \LUA, \CLD, \METAPOST, text. \stopitem \FlushStep + \stopitemize + +\stopsubject + +\startsubject[title=Characteristics] + + \startitemize[packed] + \startitem The \TEX\ lexer supports nested lexing of \LUA\ and \METAPOST. \stopitem \FlushStep + \startitem Integrated spell checking is provided. \stopitem \FlushStep + \startitem Unfortunately there is no lexing for \SCITE\ on \MACOSX\ (not that I care too much nowadays). \stopitem \FlushStep + \startitem It is a pitty that we have no access to \SCITE\ internal as with the regular \LUA\ interface. \stopitem \FlushStep + \startitem On my good old machine huge files lex somewhat slow (at the end). \stopitem \FlushStep + \stopitemize + +\stopsubject + +\StopSteps + +\page + +\StartSteps + +\startsubject[title=The future] + + \startitemize[packed] + \startitem I will improve the current lexers. \stopitem \FlushStep + \startitem An \SQL\ lexer will be added at some point \stopitem \FlushStep + \startitem I might make an \HTML/\CSS\ variant that supports nexted \LMX. \stopitem \FlushStep + \stopitemize + +\stopsubject + +\StopSteps + +\stopdocument diff --git a/doc/context/presentations/context/2012/context-2012-mixed-columns.pdf b/doc/context/presentations/context/2012/context-2012-mixed-columns.pdf new file mode 100644 index 000000000..f2dc8ecaf Binary files /dev/null and b/doc/context/presentations/context/2012/context-2012-mixed-columns.pdf differ diff --git a/doc/context/presentations/context/2012/context-2012-mixed-columns.tex b/doc/context/presentations/context/2012/context-2012-mixed-columns.tex new file mode 100644 index 000000000..af35917f0 --- /dev/null +++ b/doc/context/presentations/context/2012/context-2012-mixed-columns.tex @@ -0,0 +1,79 @@ +\usemodule[present-stepwise,present-bars,abr-01] + +\startdocument + [title=The scripts, + color=darkyellow] + +\StartSteps + +\startsubject[title=Output] + + \startitemize[packed] + + \startitem \TEX\ collects content paragraph wise. \stopitem \FlushStep + \startitem In between it can trigger the so called output routine. \stopitem \FlushStep + \startitem At that moment you can do something with the result. \stopitem \FlushStep + \startitem One of the things you can do is package all collected so far in a page. \stopitem \FlushStep + + \stopitemize + +\stopsubject + +\startsubject[title=Bonus] + + \startitemize[packed] + + \startitem In \LUATEX\ we can also intercept content at more places. \stopitem \FlushStep + \startitem For instance before and after each paragraph is processed. \stopitem \FlushStep + + \stopitemize + +\stopsubject + +\StopSteps \page \StartSteps + +\startsubject[title=Columns] + + \startitemize[packed] + + \startitem \TEX\ has no concept of columns. \stopitem \FlushStep + \startitem You need to fake them by fiddling with the width and spitting boxes. \stopitem \FlushStep + \startitem Often we can use tabulate (no output routine). \stopitem \FlushStep + \startitem For some local applications we use simple columns. \stopitem \FlushStep + \startitem In for instance itemize we used a mixed one- and multi-column model. \stopitem \FlushStep + \startitem Columnsets are another (independent) mechanism, strongly grid based. \stopitem \FlushStep + \startitem Traditional multicolumns are being replaced by a new mechanism: mixed columns. \stopitem \FlushStep + + \stopitemize + +\stopsubject + +\startsubject[title=Pitfalls] + + \startitemize[packed] + + \startitem Footnotes: page, first or last column, each column (delayed, immediate). \stopitem \FlushStep + \startitem Graphics: moving floats around is more complex than in single columns. \stopitem \FlushStep + \startitem Nesting: how about columns inside columns. \stopitem \FlushStep + \startitem Balancing: can be hard taking all into account. \stopitem \FlushStep + + \stopitemize + +\stopsubject + +\StopSteps \page \StartSteps + +\startsubject[title=Questions] + + \startitemize[packed] + + \startitem Do complex column mechanisms still make sense given the move to electronic paper. \stopitem \FlushStep + \startitem If so, what functionality should be provided. \stopitem \FlushStep + + \stopitemize + +\stopsubject + +\StopSteps + +\stopdocument diff --git a/doc/context/presentations/context/2012/context-2012-the-script.pdf b/doc/context/presentations/context/2012/context-2012-the-script.pdf new file mode 100644 index 000000000..935e6600e Binary files /dev/null and b/doc/context/presentations/context/2012/context-2012-the-script.pdf differ diff --git a/doc/context/presentations/context/2012/context-2012-the-script.tex b/doc/context/presentations/context/2012/context-2012-the-script.tex new file mode 100644 index 000000000..be586e2ff --- /dev/null +++ b/doc/context/presentations/context/2012/context-2012-the-script.tex @@ -0,0 +1,453 @@ +\usemodule[present-stepwise,present-bars,abr-01] + +\startdocument + [title=The scripts, + color=darkblue] + +\StartSteps + +\startsubject[title=Some myths] + + \startitemize[packed] + + \startitem \CONTEXT\ looks al lot like plain \TEX\ and expects users to program macros. \stopitem \FlushStep + \startitem \CONTEXT\ depends on \RUBY. \stopitem \FlushStep + + \stopitemize + +\stopsubject + +\startsubject[title=The truth] + + \startitemize[packed] + + \startitem On the average users don't have to program. Configuring is not programming. \stopitem \FlushStep + \startitem As \TEX\ lacks commandline handling and job control, helpers are provided. \stopitem \FlushStep + \startitem Of course users can still program a lot, but not all need that. \stopitem \FlushStep + \startitem Of course users can directly run \CONTEXT, but why should they. \stopitem \FlushStep + + \stopitemize + +\stopsubject + +\startsubject[title=A few facts] + + \startitemize[packed] + + \startitem The \CONTEXT\ distribution provides a sort of ecosystem. \stopitem \FlushStep + \startitem In \MKII\ indeed we use \RUBY\ for some job control. \stopitem \FlushStep + \startitem But in \MKIV\ all is (of course) done in \LUA. \stopitem \FlushStep + \startitem Two scripts play an important role: mtxrun and context. \stopitem \FlushStep + + \stopitemize + +\stopsubject + +\StopSteps + +\page + +\StartSteps + +\startsubject[title=The \quote {mtxrun} script] + + \startitemize[packed] + + \startitem Locates and runs scripts, has a lot of helpers preloaded. \stopitem \FlushStep + \startitem It is in fact my \LUA\ runner on top the \TEXLUA. \stopitem \FlushStep + \startitem It knows about files and the environment we run in. \stopitem \FlushStep + \startitem It has some features that makes it easier to integrate in services. \stopitem \FlushStep + \startitem This way we don't need stubs (and avoid potential conflicts in name). \stopitem \FlushStep + + \stopitemize + +\stopsubject + +\startsubject[title=The \quote {context} script] + +\startitemize[packed] + + \startitem It runs \CONTEXT\ and keeps track of how many runs are needed. \stopitem \FlushStep + \startitem Contrary to its \MKII\ ancestor it is not needed for index sorting etc. \stopitem \FlushStep + \startitem It has a few extensions that are loaded on demand: extras \stopitem \FlushStep + +\stopitemize + +\stopsubject + +\StopSteps + +\page + +\StartSteps + +\startsubject[title=A regular run] + + \starttyping + context [--run] filename + \stoptyping \FlushStep + +\stopsubject + +\startsubject[title=Running from an editor] + + \starttyping + context --autopdf filename + \stoptyping \FlushStep + +\stopsubject + +\startsubject[title=Running from an service] + + \starttyping + mtxrun --path=somepath --script context filename + \stoptyping \FlushStep + +\stopsubject + +\StopSteps + +\page + +\StartSteps + +\startsubject[title=Controlling the rendering] + + \starttyping + --usemodule=list + --environment=list + --mode=list + --arguments=list + --path=list + \stoptyping \FlushStep + +\stopsubject + +\startsubject[title=Controlling with ctx files] + + \starttyping + --ctx=name + \stoptyping \FlushStep + +\stopsubject + +\startsubject[title=Also in preamble] + + \starttyping + + \stoptyping \FlushStep + +\stopsubject + +\StopSteps + +\page + +\StartSteps + +\startsubject[title=A ctx file] + +\starttyping + + + + EPUB Formatter + + purge + global + + + + epub-01 + + + +\stoptyping \FlushStep + +\stopsubject + +\StopSteps + +\page + +\StartSteps + +\startsubject[title=Multiple products from one source] + + \starttyping + --result=name + \stoptyping \FlushStep + +\stopsubject + +\startsubject[title=When imposition is needed] + + \starttyping + --arrange + \stoptyping \FlushStep + +\stopsubject + +\startsubject[title=Cleanup after runs] + + \starttyping + --batchmode + --purge(all) + --purgeresult + \stoptyping \FlushStep + +\stopsubject + +\StopSteps + +\page + +\StartSteps + +\startsubject[title=Sometimes faster (in services)] + + \starttyping + --once + --runs=2 + \stoptyping \FlushStep + +\stopsubject + +\startsubject[title=Normally automatically done] + + \starttyping + --make + --generate + --touch + \stoptyping \FlushStep + +\stopsubject + +\startsubject[title=Seldom used] + + \starttyping + --interface + --randomseed=number + \stoptyping \FlushStep + +\stopsubject + +\StopSteps + +\page + +\StartSteps + +\startsubject[title=Information about extra control] + + \starttyping + --trackers + --directives + --showlogcategories + --version + \stoptyping \FlushStep + +\stopsubject + +\startsubject[title=Controlling the machinery] + + \starttyping + --trackers=list + --directives=list + --silent=list + --noconsole + --nostatistics + \stoptyping \FlushStep + +\stopsubject + +\StopSteps + +\page + +\StartSteps + +\startsubject[title=When no local file is used] + + \starttyping + --global + --nofile + \stoptyping \FlushStep + +\stopsubject + +\startsubject[title=When the automatics recognition doesn't work] + + \starttyping + --forcexml + --forcecld + --forcelua + --forcemp + \stoptyping \FlushStep + +\stopsubject + +\StopSteps + +\page + +\StartSteps + +\startsubject[title=Only handy for development (or me)] + + \starttyping + --profile + --timing + \stoptyping \FlushStep + +\stopsubject + +\startsubject[title=Forget about these] + + \starttyping + --paranoid + --update + \stoptyping \FlushStep + +\stopsubject + +\startsubject[title=Some hidden treasures] + + \starttyping + --extras + --extra=name + \stoptyping \FlushStep + +\stopsubject + +\StopSteps + +\page + +\StartSteps + +\startsubject[title=Arguments can be prefixed] + + \starttyping + environment: + relative: + auto: + locate: + filename: + pathname: + home: + selfautoloc: + selfautoparent: + selfautodir: + \stoptyping \FlushStep + +\stopsubject + +\StopSteps + +\page + +\StartSteps + +\startsubject[title=Recent (probably unnoticed) change] + + \starttyping + luatex + --fmt=".../tex/texmf-cache/luatex-cache/context/.../formats/cont-en" + --lua=".../tex/texmf-cache/luatex-cache/context/.../formats/cont-en.lui" + --jobname="context-the-script" + --no-parse-first-line + --c:autopdf + --c:currentrun=1 + --c:fulljobname="./context-the-script.tex" + --c:input="./context-the-script.tex" + --c:kindofrun=1 + "cont-yes.mkiv" + \stoptyping \FlushStep + +\stopsubject + +\startsubject[title=Another change] + +\startitemize[packed] + + \startitem The (runtime generated) options file is no longer there. \stopitem \FlushStep + \startitem For as far as possible arguments are passed directly. \stopitem \FlushStep + \startitem Input files are always loaded indirectly, no more stubs. \stopitem \FlushStep + +\stopitemize + +\stopsubject + +\StopSteps + +\page + +\StartSteps + +\startsubject[title=About 30 mtx/lmx scripts] + + \starttyping + mtx-check.lua + mtx-convert.lua + mtx-epub.lua + mtx-fonts.lua + mtx-modules.lua + mtx-patterns.lua + mtx-pdf.lua + \stoptyping \FlushStep + +\stopsubject + +\startsubject[title=These are run like] + + \starttyping + mtxrun --script pdf + \stoptyping \FlushStep + +\stopsubject + +\StopSteps + +\page + +\StartSteps + +\startsubject[title=Several mtx templates] + + \starttyping + mtx-context-arrange.lua + mtx-context-combine.lua + mtx-context-listing.lua + mtx-context-select.lua + mtx-context-timing.lua + \stoptyping \FlushStep + +\stopsubject + +\startsubject[title=These are run like] + + \starttyping + context --extra=arrange [--help] ... + \stoptyping \FlushStep + +\stopsubject + +\StopSteps + +\page + +\StartSteps + +\startsubject[title=Local preferences] + + \starttyping + texmfcnf.lua + \stoptyping \FlushStep + +\stopsubject + +\StopSteps + +\stopdocument + diff --git a/doc/context/presentations/context/2012/context-2012-visual-debugging.pdf b/doc/context/presentations/context/2012/context-2012-visual-debugging.pdf new file mode 100644 index 000000000..879a1ff69 Binary files /dev/null and b/doc/context/presentations/context/2012/context-2012-visual-debugging.pdf differ diff --git a/doc/context/presentations/context/2012/context-2012-visual-debugging.tex b/doc/context/presentations/context/2012/context-2012-visual-debugging.tex new file mode 100644 index 000000000..4be8d5e72 --- /dev/null +++ b/doc/context/presentations/context/2012/context-2012-visual-debugging.tex @@ -0,0 +1,296 @@ +\usemodule[present-stepwise,present-bars,abr-01] + +\startdocument + [title=Visual debugging, + color=darkmagenta] + +\StartSteps + +\startsubject[title=How it started] + + \startitemize[packed] + + \startitem Some 15 years ago I wanted some more feedback. \stopitem \FlushStep + \startitem So I figured out a way to visualize boxes, kerns, glue, etc. \stopitem \FlushStep + \startitem Some aspects were tricky, like stretch and shrink (no \ETEX\ yet), fillers, leaders, etc. \stopitem \FlushStep + \startitem I gave some presentations and it was nice to see the puzzled faces. \stopitem \FlushStep + \startitem As unboxing does not work, it is somewhat interfering. \stopitem \FlushStep + \startitem When not enabed there is no overhead but we did disable it at some places. \stopitem \FlushStep + + \stopitemize + +\stopsubject + +\startsubject[title=Do we need it] + + \startitemize[packed] + + \startitem I wonder if anyone ever used it. \stopitem \FlushStep + \startitem Some of the helpers are quite handy, like \type {\ruledhbox}. \stopitem \FlushStep + \startitem So these had to be provided anyway, so: where to stop? \stopitem \FlushStep + + \stopitemize + +\stopsubject + +\StopSteps \page \StartSteps + +\startsubject[title=All kind of debugging] + + \startitemize[packed] + + \startitem We have more debugging, much shows up when writing new code. \stopitem \FlushStep + \startitem Think of fonts, math, graphics, characters, etc. \stopitem \FlushStep + \startitem Some make no sense in \MKIV, so they're gone, but new ones show up. \stopitem \FlushStep + \startitem In due time this will all be normalized (as most lives in modules). \stopitem \FlushStep + + \stopitemize + +\stopsubject + +\StopSteps \page \StartSteps + +\startsubject[title=Why we kept it] + + \startitemize[packed] + + \startitem When cleaning up the code I had to decide to keep it or redo it as it could be done \MKIV-ish. \stopitem \FlushStep + \startitem But as we already had some \LUA\ based extras it made sense to redo it. \stopitem \FlushStep + \startitem The old code is still there as module (also because it had some more funstuff). \stopitem \FlushStep + + \stopitemize + +\stopsubject + +\startsubject[title=How it worked] + + \startitemize[packed] + + \startitem In \MKII\ primitives are overloaded. \stopitem \FlushStep + \startitem So effectively, when enabled, \type {\hbox} cum suis become macros. \stopitem \FlushStep + \startitem We use rules (and leaders) to visualize properties. \stopitem \FlushStep + \startitem Some constructs interfere so we need to compensate side effects. \stopitem \FlushStep + + \stopitemize + +\stopsubject + +\StopSteps \page \StartSteps + +\startsubject[title=How it works] + + \startitemize[packed] + + \startitem The basics were a rather trivial quick job as we had a lot in place already. \stopitem \FlushStep + \startitem Interpreting the node list and injecting visualizers. \stopitem \FlushStep + \startitem We use colors, rules and text but much can be overlayed. \stopitem \FlushStep + \startitem Control over what gets visualized at the \TEX\ end. \stopitem \FlushStep + \startitem Control over what gets shown by using layers. \stopitem \FlushStep + \startitem As usual most time went into visualization choices and optimzation. \stopitem \FlushStep + \startitem Some visualizers interfered with (hardcoded) expectations in the backend. \stopitem \FlushStep + \startitem When I decided to use layers I had to adapt some oter code (mostly out of efficiency). \stopitem \FlushStep + \startitem There is room for more (but first I want the bitlib of \LUA\ 5.2). \stopitem \FlushStep + + \stopitemize + +\stopsubject + +\StopSteps + +\page + +\defineoverlay[invoke][\overlaybutton{NextPage}] + +\defineframed + [MyFramed] + [background=color, + backgroundcolor=yellow, + offset=overlay, + frame=off] + +\startbuffer +\ruledhbox{j} +\ruledhbox{jj} +\ruledhbox{jjj} +\ruledhbox{jjjj} +\ruledhbox{jjjjj} +\stopbuffer + +\startsubject[title=Details 1] + + \scale[width=\textwidth]{\MyFramed \bgroup + {\getbuffer}\removeunwantedspaces + \egroup} + + \typebuffer + +\stopsubject + +\page + +\startbuffer +\ruledhbox{take boxes} +\stopbuffer + +\startsubject[title=Details 2a] + + \scale[width=\textwidth]{\MyFramed \bgroup + {\getbuffer}\removeunwantedspaces + \egroup} + + \typebuffer + +\stopsubject + +\page + +\startbuffer +\ruledhbox{some depth too} +\stopbuffer + +\startsubject[title=Details 2b] + + \scale[width=\textwidth]{\MyFramed \bgroup + {\getbuffer}\removeunwantedspaces + \egroup} + + \typebuffer + +\stopsubject + +\page + +\startbuffer +\showmakeup \hbox{again an hbox} +\stopbuffer + +\startsubject[title=Details 3a] + + \scale[width=\textwidth]{\MyFramed \bgroup + {\getbuffer}\removeunwantedspaces + \egroup} + + \typebuffer + +\stopsubject + +\page + +\startbuffer +\ruledvtop{\ruledvbox{\ruledhbox{multiple boxes}}} +\stopbuffer + +\startsubject[title=Details 3b] + + \scale[width=\textwidth]{\MyFramed \bgroup + {\getbuffer}\removeunwantedspaces + \egroup} + + \typebuffer + +\stopsubject + +\page + +\startbuffer +\showmakeup \hbox{multiple boxes} +\stopbuffer + +\startsubject[title=Details 3c] + + \scale[width=\textwidth]{\MyFramed \bgroup + \hskip.5em + {\getbuffer}\removeunwantedspaces + \hskip.5em + \egroup} + + \typebuffer + +\stopsubject + +\page + +\startbuffer +\showmakeup \vbox{\hbox{multiple boxes}} +\stopbuffer + +\startsubject[title=Details 3c] + + \scale[width=\textwidth]{\MyFramed \bgroup + \hskip.5em + {\getbuffer}\removeunwantedspaces + \hskip.5em + \egroup} + + \typebuffer + +\stopsubject + +\page + +\startbuffer +\showmakeup \vtop{\vbox{\hbox{multiple boxes}}} +\stopbuffer + +\startsubject[title=Details 3d] + + \scale[width=\textwidth]{\MyFramed \bgroup + \hskip.5em + {\getbuffer}\removeunwantedspaces + \hskip.5em + \egroup} + + \typebuffer + +\stopsubject + +\page + +\startbuffer +\showstruts why \strut use \strut's +\stopbuffer + +\startsubject[title=Details 4] + + \scale[width=\textwidth]{\MyFramed \bgroup + {\getbuffer}\removeunwantedspaces + \egroup} + + \typebuffer + +\stopsubject + +\page + +\startbuffer +\showglyphs glyphs +\stopbuffer + +\startsubject[title=Details 5] + + \scale[width=\textwidth]{\MyFramed \bgroup + {\getbuffer}\removeunwantedspaces + \egroup} + + \typebuffer + +\stopsubject +\page + +\startbuffer +\enabletrackers[visualizers.whatsit]glyphs \righttoleft glyphs +\stopbuffer + +\startsubject[title=Details 6] + + \scale[width=\textwidth]{\MyFramed \bgroup + \hskip.75em + {\getbuffer}\removeunwantedspaces + \hskip.75em + \egroup} + + \typebuffer + +\stopsubject + +\stopdocument diff --git a/doc/context/presentations/context/2012/context-2012-xml-news.pdf b/doc/context/presentations/context/2012/context-2012-xml-news.pdf new file mode 100644 index 000000000..ddbf138d7 Binary files /dev/null and b/doc/context/presentations/context/2012/context-2012-xml-news.pdf differ diff --git a/doc/context/presentations/context/2012/context-2012-xml-news.tex b/doc/context/presentations/context/2012/context-2012-xml-news.tex new file mode 100644 index 000000000..c11c35d31 --- /dev/null +++ b/doc/context/presentations/context/2012/context-2012-xml-news.tex @@ -0,0 +1,131 @@ +\usemodule[present-stepwise,present-bars,abr-01] + +\startdocument + [title={Processing XML, some basics}, + color=darkcyan] + +\StartSteps + +\startsubject[title=Topics] + + \startitemize[packed] + + \startitem processing \stopitem \FlushStep + \startitem selecting \stopitem \FlushStep + \startitem flushing \stopitem \FlushStep + \startitem testing \stopitem \FlushStep + \startitem basics only \stopitem \FlushStep + + \stopitemize + +\stopsubject + +\StopSteps \page \StartSteps + +\startsubject[title=Processing] + + \starttyping + \xmlprocessfile {name} {filename} {setup} + \xmlprocessbuffer {name} {filename} {setup} + \xmlloadonly {name} {filename} {setup} + \stoptyping \FlushStep + +\stopsubject + +\startsubject[title=Loading] + + \starttyping + \xmlload {name} {filename} {setup} + \xmlloadbuffer {name} {buffername} {setup} + \stoptyping \FlushStep + +\stopsubject + +\StopSteps \page \StartSteps + +\startsubject[title=Injecting elements] + + \starttyping + \xmlall {node} {pattern} + \xmlfirst {node} {pattern} + \xmllast {node} {pattern} + \xmlflush {node} + \stoptyping \FlushStep + + \starttyping + \xmlraw {node} {pattern} + \xmlcontext {node} {pattern} + \xmlstrip {node} {pattern} + \xmltag {node} + \xmltext {node} {pattern} + \stoptyping \FlushStep + +\stopsubject + +\StopSteps \page \StartSteps + +\startsubject[title=Injecting attributes] + + \starttyping + \xmlatt {node} {name} + \xmlattdef {node} {namev {default} + \xmlattribute {node} {pattern} {name} + \xmlattributedef {node} {pattern} {name} {default} + \stoptyping \FlushStep + +\stopsubject + +\startsubject[title=Injecting properties] + + \starttyping + \xmlcount {node} {pattern} + \xmlname {node} + \xmlnamespace {node} + \stoptyping \FlushStep + +\stopsubject + +\StopSteps \page \StartSteps + +\startsubject[title=Filters] + + \starttyping + \xmlcommand {node} {pattern} {setup + \xmlfilter {node} {pattern} + \stoptyping \FlushStep + +\stopsubject + +\startsubject[title=Much more] + + \starttyping + \xmlverbatim {node} + \xmldisplayverbatim {node} + \xmlinlineverbatim {node} + \stoptyping \FlushStep + + \starttyping + \xmlinclude {node} {pattern} {attribute} + \xmlshow {node} + \stoptyping \FlushStep + +\stopsubject + +\StopSteps \page \StartSteps + +\startsubject[title=Testing] + + \starttyping + \xmldoif {node} {pattern} {true} + \xmldoifnot {node} {pattern} {true} + \xmldoifelse {node} {pattern} {true} {false} + \xmldoiftext {node} {pattern} {true} + \xmldoifnottext {node} {pattern} {true} + \xmldoifelsetext {node} {pattern} {true} {false} + \stoptyping \FlushStep + +\stopsubject + +\StopSteps + +\stopdocument diff --git a/doc/context/presentations/context/2013/context-2013-math.pdf b/doc/context/presentations/context/2013/context-2013-math.pdf new file mode 100644 index 000000000..4272d4144 Binary files /dev/null and b/doc/context/presentations/context/2013/context-2013-math.pdf differ diff --git a/doc/context/presentations/context/2013/context-2013-math.tex b/doc/context/presentations/context/2013/context-2013-math.tex new file mode 100644 index 000000000..d15fffec2 --- /dev/null +++ b/doc/context/presentations/context/2013/context-2013-math.tex @@ -0,0 +1,244 @@ +% \enablemode[print] + +\usemodule[present-stepwise,present-tiles,abr-02] + +\definecolor[maincolor] [darkgray] +\definecolor[othercolor][b=.3] + +\setupinteractionscreen + [option=max] + +% \setupalign +% [flushleft,tolerant] + +\defineframed + [conclusion] + [location=low, + width=max, + align=flushleft, + background=color, + backgroundcolor=white, + foregroundcolor=othercolor] + +\setupbodyfont[15pt] + +\startdocument + [title={Math:\\\\progress or standing still}, + %subtitle={Hans Hagen\\TUG Conference\\October 2013}] + subtitle={Hans Hagen\\\ConTeXt\ Meeting\\September 2013}] + +\StartSteps \starttopic [title={Math as script}] + + \startitem math can be input using the \TEX\ syntax, \MATHML, calculator like sequences, \unknown \FlushStep \stopitem + \startitem but apart from content \MATHML\ all stay close to good old \TEX \FlushStep \stopitem + \startitem although not officially a script, \OPENTYPE\ treats it as such, but without control \FlushStep \stopitem + + \blank[2*big] + + \starttyping + $ ( (x + 1) / a + 1 )^2 = (x - 1) / b $ + \stoptyping + + \FlushStep + + \starttyping + $ \left( \frac{x + 1}{a} + 1 \right)^2 = \frac{x - 1}{b} $ + \stoptyping + + \FlushStep + + \starttyping + + ... + 1 + + \stoptyping + + \FlushStep + + \starttyping + + ( ... + 1 ) + + \stoptyping + + \FlushStep + + \vfilll \conclusion{There is recognition of math as a proper (but not standardized) script.} \FlushStep + +\stoptopic \StopSteps + +\StartSteps \starttopic [title={Alphabets}] + + \startitem the shape (style) of a character determines its meaning \FlushStep \stopitem + \startitem but in most cases an type {a} is entered as \ASCII\ character \FlushStep \stopitem + \startitem and tagged with some rendering directive, often indicating a font style \FlushStep \stopitem + \startitem in traditional \TEX\ we have alphabets in different fonts, so we're talking switches \FlushStep \stopitem + \startitem in \UNICODE\ and \OPENTYPE\ we have alphabets with standardized code points (but gaps too) \FlushStep \stopitem + \startitem this has big advantages for communicating, transferring data etc \FlushStep \stopitem + \startitem but a math engine still has to deal with \ASCII\ input as well \FlushStep \stopitem + \startitem multiple axis: types, alphabets, styles, variants, shapes, modifiers \FlushStep \stopitem + + \vfilll \conclusion{We're off better but the gaps are an anomality.} \FlushStep + +\stoptopic \StopSteps + +\StartSteps \starttopic [title={Heavy bold}] + + \startitem for titles and captions we might need bolder math \FlushStep \stopitem + \startitem bold symbols in math have special meaning \FlushStep \stopitem + \startitem so when going full bold they should become heavy \FlushStep \stopitem + \startitem heavy math involves boldening everything, including extensibles \FlushStep \stopitem + \startitem there are currently no fonts that have such complete heavy companions \FlushStep \stopitem + + \vfilll \conclusion{We need proper bold fonts, but they need to be relatively complete.} \FlushStep + +\stoptopic \StopSteps + +\StartSteps \starttopic [title={Radicals}] + + \startitem this always has been (and still is) a combination of vertical extensibles and horizontal rules \FlushStep \stopitem + \startitem it is the only two dimensional extensible so always a bit of an exception \FlushStep \stopitem + \startitem in the wide engines we now have more direct support primitive for that (no macro needed) \FlushStep \stopitem + \startitem in practice (at least in \MKIV) we still use macros because we want control \FlushStep \stopitem + + \vfilll \conclusion{Native support for radicals is nice to have and makes coding cleaner.} \FlushStep + +\stoptopic \StopSteps + +\StartSteps \starttopic [title={Primes}] + + \startitem this is a special case as we (sort of) have upto two superscripts \FlushStep \stopitem + \startitem and also need to handle an optional subscript of the base symbol \FlushStep \stopitem + \startitem and in order to be visually okay, we need to collect multiple primes \FlushStep \stopitem + \startitem some fonts have primes raised, some have them flying high \FlushStep \stopitem + \startitem maybe at some point the upcoming math pre- and postscripts will help \FlushStep \stopitem + + \vfilll \conclusion{Supporting primes will always be a bit of a pain but I stay on top of it.} \FlushStep + +\stoptopic \StopSteps + +\StartSteps \starttopic [title={Accents}] + + \startitem they can go on top or below one or more characters (also in combination) \FlushStep \stopitem + \startitem accents have some hard codes positional properties \FlushStep \stopitem + \startitem the wide engines have more direct support for this \FlushStep \stopitem + \startitem fonts provide a limited set of sizes, such accents cannot extend (by design) \FlushStep \stopitem + + \vfilll \conclusion{Engine support for accents is better now but maybe fonts need to have more sizes.} \FlushStep + +\stoptopic \StopSteps + +\StartSteps \starttopic [title={Stackers}] + + \startitem arrows (and other horizontal extensibles) traditionally were made from snippets \FlushStep \stopitem + \startitem we need them also for chemistry, in rather flexible ways \FlushStep \stopitem + \startitem in upcoming math fonts they are become real extensibles \FlushStep \stopitem + \startitem but then we still need to deal with existing fonts that lack them (one font in the end) \FlushStep \stopitem + \startitem there will be native support for so called character leaders \FlushStep \stopitem + + \vfilll \conclusion{Stackers are more easily implemented although fonts pose some challenges.} \FlushStep + +\stoptopic \StopSteps + +\StartSteps \starttopic [title={Fences}] + + \startitem these go left and right (or in the middle) of things \FlushStep \stopitem + \startitem there need to be a matching pair else we get an error \FlushStep \stopitem + \startitem they have to adapt their size to what they wrap \FlushStep \stopitem + \startitem \TEX ies can take care of that in their input \FlushStep \stopitem + \startitem but in for instance \MATHML\ checking all this is a bit of a pain \FlushStep \stopitem + \startitem this is still the domain of macros \FlushStep \stopitem + \startitem but we could make the engines a bit more tolerant (hard to do) \FlushStep \stopitem + + \vfilll \conclusion{Matching fences will always be a bit of a problem.} \FlushStep + +\stoptopic \StopSteps + +\StartSteps \starttopic [title={Directions}] + + \startitem bidirectional math is mostly a matter of the availability of fonts \FlushStep \stopitem + \startitem there need to be some agreement (at the macro package level) of control \FlushStep \stopitem + \startitem it's (for me) a visually interesting challenge \FlushStep \stopitem + \startitem there are some \TEX ies working on these matters (quite some research is done already) \FlushStep \stopitem + + \vfilll \conclusion{Right to left math will show up thanks to pioneers.} \FlushStep + +\stoptopic \StopSteps + +\StartSteps \starttopic [title={Structure}] + + \startitem demand for tagging also means that we need to carry a bit more info around \FlushStep \stopitem + \startitem this puts a little more burden on the user \FlushStep \stopitem + \startitem in the end it largely is a macro package issue \FlushStep \stopitem + \startitem better tagging of input can also help rendering \FlushStep \stopitem + \startitem detailed control at the \TEX\ level makes that users can spoil the game \FlushStep \stopitem + + \vfilll \conclusion{In these times structure gets more important so minimal coding is less an option.} \FlushStep + +\stoptopic \StopSteps + +\StartSteps \starttopic [title={Italic correction}] + + \startitem in traditional \TEX\ fonts this was used for spacing as well as special purposed \FlushStep \stopitem + \startitem across fonts there was never much correction \FlushStep \stopitem + \startitem \OPENTYPE\ doesn't have this concept \FlushStep \stopitem + \startitem \OPENTYPE\ math has some of if but also more powerful kerning \FlushStep \stopitem + \startitem generally speaking: we can ignore italic corrections \FlushStep \stopitem + + \vfilll \conclusion{We need to accept that old concepts die and new onces show up.} \FlushStep + +\stoptopic \StopSteps + +\StartSteps \starttopic [title={Big}] + + \startitem normally extensible fences are chosen automatically \FlushStep \stopitem + \startitem but macro packages provide tricks to choose a size \FlushStep \stopitem + \startitem extensible steps are unpredictable but still several mechanisms can be provided \FlushStep \stopitem + + \vfilll \conclusion{Users will always want control and no engine can provide that but macros can.} \FlushStep + +\stoptopic \StopSteps + +\StartSteps \starttopic [title={Macros}] + + \startitem some special symbols were constructed by macros (and using special font properties) \FlushStep \stopitem + \startitem these are mostly gone (the diagonal dots) \FlushStep \stopitem + \startitem if it is ever needed again, we should extend the fonts \FlushStep \stopitem + + \vfilll \conclusion{Thanks to new font technologies and wide engines need less dirty tricks.} \FlushStep + +\stoptopic \StopSteps + +\StartSteps \starttopic [title={Unscripting}] + + \startitem you can bet on those funny \UNICODE\ super and subscripts showing up in input \FlushStep \stopitem + \startitem it's a somewhat limited and unuseable lot for math (a modifier would have made more sense) \FlushStep \stopitem + \startitem it's one of these legacies that we need to deal with \FlushStep \stopitem + \startitem so the macro package needs to intercept them and map them onto proper math \FlushStep \stopitem + + \vfilll \conclusion{We always need to deal with weird input, if only because standards lack.} \FlushStep + +\stoptopic \StopSteps + +\StartSteps \starttopic [title={Combining fonts}] + + \startitem we can expect math fonts to be rather complete and if not, one should choose another one \FlushStep \stopitem + \startitem but sometimes (for simple math) you want to swap in alphabets and digits that match the text font \FlushStep \stopitem + \startitem given that we talk of ranges this is easy to support at the macro package level \FlushStep \stopitem + + \vfilll \conclusion{Although fonts are more complete, occasional combinations should remain possible.} \FlushStep + +\stoptopic \StopSteps + +\StartSteps \starttopic [title={Tracing}] + + \startitem there are lots of symbols involved \FlushStep \stopitem + \startitem and we have those extensibles too \FlushStep \stopitem + \startitem the larger the fonts get the more checking we need to do \FlushStep \stopitem + \startitem so macro packages need to provide some tracing options (or tables in print) \FlushStep \stopitem + + \vfilll \conclusion{We keep an eye on things.} \FlushStep + +\stoptopic \StopSteps + +\stopdocument diff --git a/doc/context/presentations/context/2013/context-2013-speed.pdf b/doc/context/presentations/context/2013/context-2013-speed.pdf new file mode 100644 index 000000000..0f70fe9c8 Binary files /dev/null and b/doc/context/presentations/context/2013/context-2013-speed.pdf differ diff --git a/doc/context/presentations/context/2013/context-2013-speed.tex b/doc/context/presentations/context/2013/context-2013-speed.tex new file mode 100644 index 000000000..2c8fc1d31 --- /dev/null +++ b/doc/context/presentations/context/2013/context-2013-speed.tex @@ -0,0 +1,108 @@ +% language=uk + +% \enablemode[print] + +\usemodule[present-stepwise,present-tiles,abr-02] + +\definecolor[maincolor] [darkgray] +\definecolor[othercolor][r=.3,g=.3] + +\setupinteractionscreen + [option=max] + +% \setupalign +% [flushleft,tolerant] + +\setupbodyfont[15pt] + +\startdocument + [title={Speed:\\\\why it matters\\and why we care}, + subtitle={Hans Hagen\\\ConTeXt\ Meeting\\September 2013}] + +\StartSteps \starttopic [title={Speed}] + + \startitemize + \startitem speed matters in a edit-run-preview cycle although this is mostly perception \FlushStep \stopitem + \startitem the nicer the interface, the slower it gets, but you seldom set something up so that is not much of a burden\FlushStep \stopitem + \startitem everything you provide gets used at some point, also in inefficient ways, so best know your weak spots \FlushStep \stopitem + \startitem lots of local (grouped) tweaks leads to many mechanisms kicking in unseen, grouping matters \FlushStep \stopitem + \startitem wrong use of functionality can have drastic and unexpected speed penalties \FlushStep \stopitem + \stopitemize + +\stoptopic \StopSteps + +\StartSteps \starttopic [title={Pages per minute}] + + \startitemize + \startitem we have speed up the baseline performance (in pages per second) as much as possible \FlushStep \stopitem + \startitem we try to identify and optimize critical routines, both at the \TEX\ and \LUA\ end \FlushStep \stopitem + \startitem of course the used hardware machine and versions of \LUATEX\ and \CONTEXT\ matter \FlushStep \stopitem + \stopitemize + + \blank + + \starttyping + \dorecurse {1000} {test \page} + \stoptyping + + \FlushStep + + \blank + + \starttabulate[|r|r|r|r|r|r|] + \HL + \NC \bf \# pages \NC \bf Jan \NC \bf Apr \NC \bf May \NC \bf Sep \NC (nuts) \NC \NR + \HL + \NC 1 \NC 2 \NC 2 \NC 2 \NC 4 \NC 4 \NC \NR + \NC 10 \NC 15 \NC 17 \NC 17 \NC 36 \NC 37 \NC \NR + \NC 100 \NC 90 \NC 109 \NC 110 \NC 237 \NC 236 \NC \NR + \NC 1000 \NC 185 \NC 234 \NC 259 \NC 509 \NC 512 \NC \NR + \NC 10000 \NC 215 \NC 258 \NC 289 \NC 548 \NC 557 \NC \NR + \HL + \stoptabulate + + < 06/2013, \LUATEX: 0.72+, Dell M90, SSD, 4GB, 2.33 Ghz T7600, Windows 8/32 bit\par + > 06/2013, \LUATEX: 0.72+, Dell 6700, SSD, 16GB, 2.80 Ghz 3840QM, Windows 8/64 bit\par + + \FlushStep + +\stoptopic \StopSteps + +\StartSteps \starttopic [title={What happens}] + + \startitemize + \startitem load macros and \LUA\ code is loaded from the format \FlushStep \stopitem + \startitem the system gets initialized, think of fonts and languages \FlushStep \stopitem + \startitem additional (runtime) files are loaded \FlushStep \stopitem + \startitem text is typeset and eventually gets passed to the page builder \FlushStep \stopitem + \startitem pages are packaged, this includes reverting to global document states \FlushStep \stopitem + \startitem the \PDF\ representation is created \FlushStep \stopitem + \startitem each of these steps has its bottlenecks \FlushStep \stopitem + \startitem the more we don, the more \LUA\ gets involved \FlushStep \stopitem + \stopitemize + +\stoptopic \StopSteps + +\StartSteps \starttopic [title={What we can do}] + + \startitemize + \startitem avoid copying boxes where possible \FlushStep \stopitem + \startitem only enable initializers and finalizers when functionality is used \FlushStep \stopitem + \startitem be clever with fonts, in usage as well as in supporting features \FlushStep \stopitem + \startitem use trial runs in multi||pass mechanisms \FlushStep \stopitem + \startitem avoid too much macro expansion (only matters for tracing) \FlushStep \stopitem + \startitem accept that more functionality has a price \FlushStep \stopitem + \startitem improve the engine and cook up more clever low level code \FlushStep \stopitem + \stopitemize + + but + + \startitemize + \startitem don't compromise functionality \FlushStep \stopitem + \startitem avoid too obscure code \FlushStep \stopitem + \startitem forget about optimization by means of combining functionality \FlushStep \stopitem + \stopitemize + +\stoptopic \StopSteps + +\stopdocument diff --git a/doc/context/presentations/context/2015/context-2015-status.pdf b/doc/context/presentations/context/2015/context-2015-status.pdf new file mode 100644 index 000000000..49ef295c2 Binary files /dev/null and b/doc/context/presentations/context/2015/context-2015-status.pdf differ diff --git a/doc/context/presentations/context/2015/context-2015-status.tex b/doc/context/presentations/context/2015/context-2015-status.tex new file mode 100644 index 000000000..6ccdea876 --- /dev/null +++ b/doc/context/presentations/context/2015/context-2015-status.tex @@ -0,0 +1,87 @@ +\usemodule[present-ovals] + +\setupwhitespace + [halfline] + +\doifelsemode {atpragma} { + \usetypescriptfile[ghz] + \setupbodyfont[palatino-informal] + \setupbodyfont[24pt,ss] + \definefont[whatever][file:palatinosansinflcom-med*default at 10pt] +} { + \setupbodyfont[palatino] + \setupbodyfont[24pt,ss] + \definefont[whatever][Bold*default at 10pt] +} + +\setuplayout[topspace=.10\paperheight] + +\definecolor[maincolor][orange] +%definecolor[othercolor][black] + +\startuseMPgraphic{common} + + detailpaths ; % let draw = detaileddraw ; + + drawoptionsfactor := .03bp ; + + drawlineoptions (withpen pencircle scaled 1.0 drawoptionsfactor withcolor .5white) ; + drawpointoptions (withpen pencircle scaled 4.0 drawoptionsfactor withcolor white) ; + drawcontroloptions(withpen pencircle scaled 2.5 drawoptionsfactor withcolor white) ; + drawpathoptions (withpen pencircle scaled 5.0 drawoptionsfactor withcolor .8white) ; + + vardef oneliner(expr t, x, y) = + outlinetext.b (t) (withcolor .75white) (withcolor .25white) ysized 2cm shifted (x,y) + enddef ; + +\stopuseMPgraphic + +\startuseMPgraphic{whatif} + \includeMPgraphic{common} + normaldraw oneliner("\whatever \setstrut \strut \ConTeXt", 0mm, 0mm) ; + normaldraw oneliner("\whatever \setstrut \strut 2015", 11mm,-20mm) ; +\stopuseMPgraphic + +\startdocument + +\startstandardmakeup + \scale[width=\textwidth]{\useMPgraphic{whatif}} +\stopstandardmakeup + +\starttexdefinition statusstep #1 + \startparagraph + #1 + \stopparagraph +\stoptexdefinition + +\starttexdefinition status #1#2 + \starttitle[title={#1}] + \processcommalist[#2]\statusstep + \stoptitle +\stoptexdefinition + +\status{fonts} {new loader, stable interfaces, related mechanisms can be cleaned up, extensions possible} +\status{hyphenation} {experimental, normalization considered} +\status{spacing} {functional stable, maybe some cleanup needed} +\status{metafun} {updated tex and backend interface, occasional additions, module for graphs pending} +\status{math} {stable, some improvements possible, maybe lua variant (fun project)} +\status{margins} {quite okay, right2left adaption in progress} +\status{structure} {stable, maybe cleanup} +\status{conversions} {stable} +\status{sorting} {works, extension possible, japanese in progress} +\status{publications}{getting there, documentation pending} +\status{color} {stable} +\status{backend} {stable, awaiting some cleanup in engine backend} +\status{images} {stable} +\status{epub} {always work in progress} +\status{columns} {mixed more or less stable, columsets to be redone, better float support needed} +\status{file io} {stable} +\status{tables} {stable, maybe some xtables extensions} +\status{verbatim} {stable, maybe some cleanup} +\status{xml} {stable, maybe some more helpers} +\status{positioning} {okay, optimization possible} +\status{cldf} {okay, always more possible} +\status{layout} {okay, bidi model neeed} +\status{scripts} {work in progress} + +\stopdocument diff --git a/doc/context/presentations/context/2016/context-2016-luatex.pdf b/doc/context/presentations/context/2016/context-2016-luatex.pdf new file mode 100644 index 000000000..2319aa995 Binary files /dev/null and b/doc/context/presentations/context/2016/context-2016-luatex.pdf differ diff --git a/doc/context/presentations/context/2016/context-2016-luatex.tex b/doc/context/presentations/context/2016/context-2016-luatex.tex new file mode 100644 index 000000000..348c2ea5f --- /dev/null +++ b/doc/context/presentations/context/2016/context-2016-luatex.tex @@ -0,0 +1,242 @@ +\usemodule[present-luatex] + +\startdocument + [title={\luaTeX}, + subtitle={Version 1.00}, + location={ConTeXt meeting \emdash\ September 2016}, + mp:title={luatex}, + mp:subtitle={1.00\space\endash\space2016}] + +\startstandardmakeup + +After ten years of stepwise development and experimenting we release version 1.00 +of \LuaTeX\ during the 10\high{th} \ConTeXt\ meeting in the Netherlands, September +2016. + +The interface is now rather stable and will not change significantly which means +that one can write stable packages. + +So, it's time for a bit reflection as well as time to tell what we will be doing +next. + +\stopstandardmakeup + +\startstandardmakeup + +Around 2005, after we talked a bit about it, Hartmut added the \Lua\ scripting +language to \pdfTeX\ as an experiment. + +This add|-|on was inspired by the \Lua\ extension to the Scite editor that I +(still) use. + +\stopstandardmakeup + +\startstandardmakeup + +One could query counter registers and box dimensions and print strings to the +\TeX\ input buffer. + +The Oriental \TeX\ project then made it possible to go forward and come up with a +complete interface. + +For this, Taco converted the code base from Pascal to C, an impressive effort. + +\stopstandardmakeup + +\startstandardmakeup + +We spent more than a year intensively discussing, testing and implementing +the interface between \TeX\ and \Lua. + +In successive years we polished things and extended bits and pieces. + +The last few years we cleaned up, filled in gaps and reached the point where we +were more of less satisfied. + +\stopstandardmakeup + +\startstandardmakeup + +The core is still traditional \TeX, but extended with \pdfTeX\ protrusion and +expansion (reworked) and directional features from Aleph (cleaned up). + +\stopstandardmakeup + +\startstandardmakeup + +The font subsystem accept now wide fonts. + +The hyphenation machinery can use runtime loaded (and extended) patterns. + +Hyphenation, ligaturing, kerning are separated. + +Most steps in processing node lists can be intercepted using callbacks. + +The math machinery has opentype math code paths. + +\stopstandardmakeup + +\startstandardmakeup + +All in- and output can be controlled and intercepted. + +The backend code has been separated better. + +You can write (simple) parsers. + +Nodes can be accessed and manipulated. + +Images and reuseable boxes are now native. + +\stopstandardmakeup + +\startstandardmakeup + +The project is driven by \ConTeXt\ users and \ConTeXt\ development. + +Right from the start \ConTeXt\ supported \LuaTeX. + +This means that most mechanisms have been tested in production. + +Raw performance is less than 8 bit \pdfTeX\ but in practice and on modern +machines \LuaTeX\ behaves well. + +\stopstandardmakeup + +\startstandardmakeup + +We will continue development, but functionality will stay stable within versions. +Of course bugs will be fixed. + +The code will be further streamlined and documented. We deliberately postponed some +cleanup till after version 1.00. + +Of course the manual will be improved over time. + +\stopstandardmakeup + +\startstandardmakeup[bottom=,top=] + + \vfil + + \ssbf + + Hans Hagen \par + Hartmut Henkel \par + Taco Hoekwater \par + Luigi Scarso \par + + \vfil \vfil \vfil + + \txx + + many thanks to all the\break + early adopters + + \vfil + +\stopstandardmakeup + +% ideas + +\startstandardmakeup + + \midaligned{Some ideas (1)} + + So far we managed to avoid extensions beyond those needed as part of the opening + up. + + We stick close to Don Knuths concepts so that existing documentation still + conceptualy applies. We keep our promise of not adding to the core. + + We might open up (make configureable) some of the still hard coded properties. + +\stopstandardmakeup + +\startstandardmakeup + + \midaligned{Some ideas (2)} + + Some node lists can use a bit of (non critical) cleanup, for instance passive + nodes, local par nodes, and other left|-|overs. Maybe we should add missing + left|/|right skips. + +\stopstandardmakeup + +\startstandardmakeup + + \midaligned{Some ideas (3)} + + We can optimize some callback resolution (more direct) so that we can gain a little + performance. + +\stopstandardmakeup + +\startstandardmakeup + + \midaligned{Some ideas (4)} + + Inheritance of attributes needs checking and maybe we need to permits some more + explicit settings. + +\stopstandardmakeup + +\startstandardmakeup + + \midaligned{Some ideas (5)} + + Bring some more code to the api file. Use the global PDF and \Lua\ states + consistently. Some macros can probably go away. + +\stopstandardmakeup + +\startstandardmakeup + + \midaligned{Some ideas (6)} + + Minimize return values of \Lua\ functions; only return nil when we expect + multiple calls in in one line. + +\stopstandardmakeup + +\startstandardmakeup + + \midaligned{Some ideas (7)} + + Figure out a way to deal with literals in virtual characters (relates to font + switching in the result). + +\stopstandardmakeup + +\startstandardmakeup + + \midaligned{Some ideas (8)} + + Maybe reorganize some code so that documentation is easier. See if we can stick + close to what Don Knuth documents. + +\stopstandardmakeup + +\startstandardmakeup + + \midaligned{Some ideas (9)} + + Cleanup and isolate the backend a bit more. Maybe add a bit more options to + delegate to \Lua. Get rid of some historic PDF artifacts. + +\stopstandardmakeup + +\startstandardmakeup + + \midaligned{Some ideas (10)} + + It is tempting to think of a (lean and mean) \LuaTeX\ variant for \ConTeXt. + + We will not touch stable unless it concerns bug fixes, but we will expose + \ConTeXt\ users to the experimental branch (as we do now). + + So \unknown\ be prepared. + +\stopstandardmakeup + +\stopdocument diff --git a/doc/context/presentations/examples/present-balls-001.pdf b/doc/context/presentations/examples/present-balls-001.pdf new file mode 100644 index 000000000..7960df97c Binary files /dev/null and b/doc/context/presentations/examples/present-balls-001.pdf differ diff --git a/doc/context/presentations/examples/present-balls-001.tex b/doc/context/presentations/examples/present-balls-001.tex new file mode 100644 index 000000000..e806fc9e8 --- /dev/null +++ b/doc/context/presentations/examples/present-balls-001.tex @@ -0,0 +1,19 @@ +\usemodule[present-balls] + +\starttext + +\TitlePage{Do you know \TEX ?} + +\startbuffer +\StartIdea + \StartItem We use \TEX\ for typesetting \unknown \StopItem + \StartItem mathematical text \unknown \StopItem + \StartItem but also for text that has no math \unknown \StopItem + \StartItem or presentations like this \unknown \StopItem + \StartItem and whatever you can come up with! \StopItem +\StopIdea +\stopbuffer + +\dorecurse{6}{\getbuffer} + +\stoptext diff --git a/doc/context/presentations/examples/present-colorful-001.pdf b/doc/context/presentations/examples/present-colorful-001.pdf new file mode 100644 index 000000000..9db2ba07a Binary files /dev/null and b/doc/context/presentations/examples/present-colorful-001.pdf differ diff --git a/doc/context/presentations/examples/present-colorful-001.tex b/doc/context/presentations/examples/present-colorful-001.tex new file mode 100644 index 000000000..ea4e758b4 --- /dev/null +++ b/doc/context/presentations/examples/present-colorful-001.tex @@ -0,0 +1,25 @@ +\usemodule[present-colorful] + +\starttext + +\TitlePage{Title Page\\pre-colorfull} + +\Topics{Some Nice Quotes} + +\Topic{A Few} + +\Subject{Knuth} \input knuth +\Subject{Tufte} \input tufte + +\startitemize +\item test +\item test +\item test +\stopitemize + +\Topic{Some More} + +\Subject{Zapf} \input zapf +\Subject{Bryson} \input bryson + +\stoptext diff --git a/doc/context/presentations/examples/present-funny-001.pdf b/doc/context/presentations/examples/present-funny-001.pdf new file mode 100644 index 000000000..05a50de83 Binary files /dev/null and b/doc/context/presentations/examples/present-funny-001.pdf differ diff --git a/doc/context/presentations/examples/present-funny-001.tex b/doc/context/presentations/examples/present-funny-001.tex new file mode 100644 index 000000000..b475721ac --- /dev/null +++ b/doc/context/presentations/examples/present-funny-001.tex @@ -0,0 +1,20 @@ +\usemodule[present-funny] + +\starttext + +\TitlePage{Title Page\\pre-funny} + +\Topics{Some Nice Quotes} + +\Topic{A Few} + +\Subject{Knuth} \input knuth +\Subject{Tufte} \input tufte + +\Topic{Some More} + +\Subject{Zapf} \input zapf +\Subject{Bryson} \input bryson + +\stoptext + diff --git a/doc/context/presentations/examples/present-fuzzy-001.pdf b/doc/context/presentations/examples/present-fuzzy-001.pdf new file mode 100644 index 000000000..04c0230e2 Binary files /dev/null and b/doc/context/presentations/examples/present-fuzzy-001.pdf differ diff --git a/doc/context/presentations/examples/present-fuzzy-001.tex b/doc/context/presentations/examples/present-fuzzy-001.tex new file mode 100644 index 000000000..9351d0980 --- /dev/null +++ b/doc/context/presentations/examples/present-fuzzy-001.tex @@ -0,0 +1,19 @@ +\usemodule[present-fuzzy] + +\starttext + +\TitlePage{Title Page\\pre-fuzzy} + +\Topics{Some Nice Quotes} + +\Topic{A Few} + +\Subject{Knuth} \input knuth +\Subject{Tufte} \input tufte + +\Topic{Some More} + +\Subject{Zapf} \input zapf +\Subject{Bryson} \input bryson + +\stoptext diff --git a/doc/context/presentations/examples/present-green-001.pdf b/doc/context/presentations/examples/present-green-001.pdf new file mode 100644 index 000000000..f7ee69d4a Binary files /dev/null and b/doc/context/presentations/examples/present-green-001.pdf differ diff --git a/doc/context/presentations/examples/present-green-001.tex b/doc/context/presentations/examples/present-green-001.tex new file mode 100644 index 000000000..41dd2da16 --- /dev/null +++ b/doc/context/presentations/examples/present-green-001.tex @@ -0,0 +1,19 @@ +\usemodule[present-green] + +\starttext + +\TitlePage{Title Page\\present-green} + +\Topics{Some Nice Quotes} + +\Topic{A Few} + +\Subject{Knuth} \input knuth +\Subject{Tufte} \input tufte + +\Topic{Some More} + +\Subject{Zapf} \input zapf +\Subject{Bryson} \input bryson + +\stoptext diff --git a/doc/context/presentations/examples/present-grow-001.pdf b/doc/context/presentations/examples/present-grow-001.pdf new file mode 100644 index 000000000..fcd5086e1 Binary files /dev/null and b/doc/context/presentations/examples/present-grow-001.pdf differ diff --git a/doc/context/presentations/examples/present-grow-001.tex b/doc/context/presentations/examples/present-grow-001.tex new file mode 100644 index 000000000..0a9d1db6b --- /dev/null +++ b/doc/context/presentations/examples/present-grow-001.tex @@ -0,0 +1,138 @@ +\usemodule[present-grow] + +\def\SomeSymbol#1#2{\definedfont[ContextNavigation at #1]\fontcharbyindex{#2}} + +\setupcombinations[distance=\FrameOffset,inbetween=\vskip\FrameOffset] + +\starttext + +\TitlePage{Some Famous Symbols} + +\Topic{Symbols} + +\StartSample + \startcombination[2*2] + {\SomeSymbol{5cm}{1}} {} + {\SomeSymbol{5cm}{3}} {} + {\SomeSymbol{5cm}{2}} {} + {\SomeSymbol{5cm}{4}} {} + \stopcombination +\StopSample + +\Topic{Previous} + +\StartIdea + \StartSample + \SomeSymbol{7cm}{1} + \StopSample + \StartText + This symbol can be used to indicate a hyperlink to a + previous page. + \StopText +\StopIdea + +\StartIdea + \StartSubText + As one can expect there is also a symbol for going to + the next page. + \StopSubText +\StopIdea + +\Topic{Previous} + +\StartIdea + \StartSample + \SomeSymbol{9cm}{2} + \StopSample + \StartText + This symbol is actually just a mirrored version of the + first symbol we showed. + \StopText +\StopIdea + +\NoTopic + +\StartText + Is this nice or not? +\StopText + +\Topic{First and Last} + +\StartSample + \SomeSymbol{11cm}{3} +\StopSample + +\StartSample + \SomeSymbol{11cm}{4} +\StopSample + +\StartIdea + \StartSample + \SomeSymbol{5cm}{3} + \StopSample + \StartText + A few screens back, we saw this symbol. + \StopText +\StopIdea + +\StartIdea + \StartSubText + This symbol represents the beginning of something. + \StopSubText +\StopIdea + +\StartIdea + \StartSample + \SomeSymbol{5cm}{4} + \StopSample + \StartSubText + Just like this one represents an end. + \StopSubText +\StopIdea + +\StartIdea + \StartSubText + They look just like the symbols found on audio and + video players. + \StopSubText +\StopIdea + +\Topic{Summary} + +\StartIdea + \StartSample + \SomeSymbol{6cm}{1} + \StopSample + \StartText + So we have a symbol for previous \unknown + \StopText +\StopIdea + +\StartIdea + \StartSample + \SomeSymbol{6cm}{2} + \StopSample + \StartSubText + \unknown\ and one for next \unknown + \StopSubText +\StopIdea + +\StartIdea + \StartSample + \SomeSymbol{6cm}{3} + \StopSample + \StartSubText + \unknown\ and yet another for first \unknown + \StopSubText +\StopIdea + +\StartIdea + \StartSample + \SomeSymbol{6cm}{4} + \StopSample + \StartSubText + \unknown\ and of course for last. + \StopSubText +\StopIdea + +\stoptext diff --git a/doc/context/presentations/examples/present-organic-001.pdf b/doc/context/presentations/examples/present-organic-001.pdf new file mode 100644 index 000000000..b49a4437a Binary files /dev/null and b/doc/context/presentations/examples/present-organic-001.pdf differ diff --git a/doc/context/presentations/examples/present-organic-001.tex b/doc/context/presentations/examples/present-organic-001.tex new file mode 100644 index 000000000..bdd56c5c6 --- /dev/null +++ b/doc/context/presentations/examples/present-organic-001.tex @@ -0,0 +1,17 @@ +\usemodule[present-organic] + +\setupMPvariables[page][alternative=3] + +\startdocument + [title={A Few Nice Quotes}, + subtitle={A Simple Style Demo}, + location={Hans Hagen, August 2000}] + + \Topic {Douglas R. Hofstadter} \input douglas \page + \Topic {Donald E. Knuth} \input knuth \page + \Topic {Edward R. Tufte} \input tufte \page + \Topic {Hermann Zapf} \input zapf \page + %Topic {David F. Stork} \input stork \page + +\stoptext + diff --git a/doc/context/presentations/examples/present-original-001.pdf b/doc/context/presentations/examples/present-original-001.pdf new file mode 100644 index 000000000..06052f284 Binary files /dev/null and b/doc/context/presentations/examples/present-original-001.pdf differ diff --git a/doc/context/presentations/examples/present-original-001.tex b/doc/context/presentations/examples/present-original-001.tex new file mode 100644 index 000000000..bd7dec414 --- /dev/null +++ b/doc/context/presentations/examples/present-original-001.tex @@ -0,0 +1,19 @@ +\usemodule[present-original] + +\starttext + +\TitlePage{Title Page\\present-original} + +\Topics{Some Nice Quotes} + +\Topic{A Few} + +\Subject{Knuth} \input knuth +\Subject{Tufte} \input tufte + +\Topic{Some More} + +\Subject{Zapf} \input zapf +\Subject{Bryson} \input bryson + +\stoptext diff --git a/doc/context/presentations/examples/present-punk-001.pdf b/doc/context/presentations/examples/present-punk-001.pdf new file mode 100644 index 000000000..e49761287 Binary files /dev/null and b/doc/context/presentations/examples/present-punk-001.pdf differ diff --git a/doc/context/presentations/examples/present-punk-001.tex b/doc/context/presentations/examples/present-punk-001.tex new file mode 100644 index 000000000..932cb1b2f --- /dev/null +++ b/doc/context/presentations/examples/present-punk-001.tex @@ -0,0 +1,22 @@ +\usemodule[present-stepwise,present-punk] + +\starttext + +\title {Punk for dummies} + +\dorecurse{10} { + + \title{Just a few dummy pages} + + \StartSteps + \startitemize[packed] + \startitem bla \FlushStep \stopitem + \startitem bla bla \FlushStep \stopitem + \startitem bla bla bla \FlushStep \stopitem + \startitem bla bla bla bla \FlushStep \stopitem + \stopitemize + \StopSteps + +} + +\stoptext diff --git a/doc/context/presentations/examples/present-random-001.pdf b/doc/context/presentations/examples/present-random-001.pdf new file mode 100644 index 000000000..eaed9e641 Binary files /dev/null and b/doc/context/presentations/examples/present-random-001.pdf differ diff --git a/doc/context/presentations/examples/present-random-001.tex b/doc/context/presentations/examples/present-random-001.tex new file mode 100644 index 000000000..87e328e55 --- /dev/null +++ b/doc/context/presentations/examples/present-random-001.tex @@ -0,0 +1,38 @@ +% \enablemode[paper] +% \usemodule[present-stepwise] + +\usemodule[present-random] + +\usemodule[abr-02] + +\doifelsemode {atpragma} { + \usetypescriptfile[type-hgz] + \usetypescript[palatino-informal] + \setupbodyfont[palatino-informal,15pt] +} { + \setupbodyfont[modern-variable,15pt] +} + +\logo [METAPOST] {MetaPost} + +\starttext + +\StartTopics + \StartTopic[1] A \StopTopic + \StartTopic[5] B \StopTopic + \StartTopic[9] C \StopTopic +\StopTopics + +\StartTopics + \StartTopic A \StopTopic + \StartTopic B \StopTopic + \StartTopic C \StopTopic + \StartTopic D \StopTopic + \StartTopic E \StopTopic + \StartTopic F \StopTopic + \StartTopic G \StopTopic + \StartTopic H \StopTopic + \StartTopic I \StopTopic +\StopTopics + +\stoptext diff --git a/doc/context/presentations/examples/present-shaded-001.pdf b/doc/context/presentations/examples/present-shaded-001.pdf new file mode 100644 index 000000000..da760f3cd Binary files /dev/null and b/doc/context/presentations/examples/present-shaded-001.pdf differ diff --git a/doc/context/presentations/examples/present-shaded-001.tex b/doc/context/presentations/examples/present-shaded-001.tex new file mode 100644 index 000000000..d71c620ca --- /dev/null +++ b/doc/context/presentations/examples/present-shaded-001.tex @@ -0,0 +1,11 @@ +\usemodule[present-shaded] + +\startdocument + \dorecurse {10} { + \startchapter[title={Whatever}][color=shade:#1] + \section{test} + test #1 + \namedstructureuservariable{chapter}{color} + \stopchapter + } +\stopdocument diff --git a/doc/context/presentations/examples/present-split-001.pdf b/doc/context/presentations/examples/present-split-001.pdf new file mode 100644 index 000000000..04d99c848 Binary files /dev/null and b/doc/context/presentations/examples/present-split-001.pdf differ diff --git a/doc/context/presentations/examples/present-split-001.tex b/doc/context/presentations/examples/present-split-001.tex new file mode 100644 index 000000000..6d6cc7f99 --- /dev/null +++ b/doc/context/presentations/examples/present-split-001.tex @@ -0,0 +1,15 @@ +\usemodule[present-split] + +\startdocument + [title=Some Quotes, + subtitle=that you probably know by now] + + \Topic{Tufte} \input tufte + \Topic{Knuth} \input knuth + \Topic{Reich} \input reich + \Topic{Zapf} \input zapf + \Topic{Materie} \input materie + %Topic{Stork} \input stork + +\stopdocument + diff --git a/doc/context/presentations/examples/present-stepper-001.pdf b/doc/context/presentations/examples/present-stepper-001.pdf new file mode 100644 index 000000000..d803c1706 Binary files /dev/null and b/doc/context/presentations/examples/present-stepper-001.pdf differ diff --git a/doc/context/presentations/examples/present-stepper-001.tex b/doc/context/presentations/examples/present-stepper-001.tex new file mode 100644 index 000000000..5be4cf691 --- /dev/null +++ b/doc/context/presentations/examples/present-stepper-001.tex @@ -0,0 +1,51 @@ +\usemodule[present-stepper] + +\starttext + +\TitlePage{Stepwise\\Refinement} + +\Topics{Topics} + +\Topic{Female Artists} + +\StartSteps + +\startitemize +\item Fiona Apple \FlushStep +\item Tori Amos \FlushStep +\item Kate Bush \FlushStep +\item Heather Nova \FlushStep +\item Alanis Morissette \FlushStep +\item Suzanne Vega \FlushStep +\stopitemize + +\StopSteps + +\Topic{Male Composers} + +\StartSteps + +\startitemize +\item John Adams \FlushStep +\item Steve Reich \FlushStep +\item Louis Andriessen \FlushStep +\item Olivier Messiaen \FlushStep +\stopitemize + +\StopSteps + +\Topic{And Some More} + +\StartSteps + +\startitemize +\item Mark Hollis \FlushStep +\item Roger Waters \FlushStep +\item David Gilmore \FlushStep +\item Peter Gabriel \FlushStep +\item Randy Newman \FlushStep +\stopitemize + +\StopSteps + +\stoptext diff --git a/doc/context/presentations/examples/present-tiles-001.pdf b/doc/context/presentations/examples/present-tiles-001.pdf new file mode 100644 index 000000000..ca04eff4e Binary files /dev/null and b/doc/context/presentations/examples/present-tiles-001.pdf differ diff --git a/doc/context/presentations/examples/present-tiles-001.tex b/doc/context/presentations/examples/present-tiles-001.tex new file mode 100644 index 000000000..ca9799a71 --- /dev/null +++ b/doc/context/presentations/examples/present-tiles-001.tex @@ -0,0 +1,20 @@ +\usemodule[present-tiles] + +\startdocument[title=Whatever We\\Want Here,subtitle=Whatever We\\Want There] + +\dorecurse {12} { + \starttopic[title=Topic #1] + \input tufte + \blank[3*line] + \bold{Buttons (roll-over in acrobat):} + \blank[line] + \starttabulate[|T||] + \NC click left top \NC home \NC \NR + \NC click right top \NC contents \NC \NR + \NC click left bottom \NC previous \NC \NR + \NC click left bottom \NC next page \NC \NR + \stoptabulate + \stoptopic +} + +\stopdocument diff --git a/doc/context/presentations/examples/present-windows-001.pdf b/doc/context/presentations/examples/present-windows-001.pdf new file mode 100644 index 000000000..58fdf684d Binary files /dev/null and b/doc/context/presentations/examples/present-windows-001.pdf differ diff --git a/doc/context/presentations/examples/present-windows-001.tex b/doc/context/presentations/examples/present-windows-001.tex new file mode 100644 index 000000000..3a08ff4af --- /dev/null +++ b/doc/context/presentations/examples/present-windows-001.tex @@ -0,0 +1,41 @@ +\usemodule[present-windows] + +\starttext + +\setupbodyfont[12pt] + +\TitlePage{Quotes, Quotes\\and more quotes} + +\StartIdea + \StartSample + sample: \input knuth \par + \StopSample + \StartText + \Topic{Tufte} + text: \input tufte \par + \StopText +\StopIdea + +\StartIdea + \StartSample + sample: \input materie \par + \StopSample + \StartText + text: \input reich \par + \StopText +\StopIdea + +\StartText + text: \input tufte \par +\StopText + +\StartIdea + \StartSample + sample: \input knuth \par + \StopSample + \StartText + text: \input tufte \par + \StopText +\StopIdea + +\stoptext diff --git a/doc/context/presentations/present-readme.pdf b/doc/context/presentations/present-readme.pdf new file mode 100644 index 000000000..e937a5e3e Binary files /dev/null and b/doc/context/presentations/present-readme.pdf differ diff --git a/doc/context/presentations/present-readme.tex b/doc/context/presentations/present-readme.tex new file mode 100644 index 000000000..e5025a3fe --- /dev/null +++ b/doc/context/presentations/present-readme.tex @@ -0,0 +1,33 @@ +\usemodule[art-01] + +\noheaderandfooterlines + +\starttext + +\subject{Presentations} + +For demonstration purposes we ship some presentations. Some of these are called +up when a style is processed (in demo mode). The look and feel evolves with +\ConTeXt\ and often a style uses some trickery (\TeX, \ConTeXt, \MetaPost, \Lua\ +etc.) I was playing with at that moment. The older styles therefore use more PDF +trickery than the later ones (especially because in the end the viewers were less +stable than we hoped). + +Of the hundreds of presentations made so far only a subset can be found here. You +can find some more on the web (conference websites). Many presentations are +outdated but might have some historic value or show some tricks. The real old +ones are not here anyway. Some presentations build upon a previous one although I +try to avoid duplicate talks. Of course status reports can be somewhat redundant +but keep in mind that meetings are also for developers. + +\ConTeXt, \LuaTeX and \MetaPost\ related presentations happened at meetings of \TeX\ +user groups like TUG, NTG, Bacho\TeX, Dante, CSTUG, UKTUG, GUTENBERG, but also at +other occasions but not all make sense to collect here, if only because when they +were close in time some were similar. Also, I just deleted some sources when I +found them irrelevant for reuse. You can always report a missing one in which +case I'll see if I can find back the source. If you really want some MkII style +in MkIV too, let me know. + +Hans Hagen + +\stoptext diff --git a/doc/context/scripts/mkii/ctxtools.html b/doc/context/scripts/mkii/ctxtools.html index 06ab4ba0d..405965c1e 100644 --- a/doc/context/scripts/mkii/ctxtools.html +++ b/doc/context/scripts/mkii/ctxtools.html @@ -17,7 +17,7 @@ CtxTools 1.3.5 diff --git a/doc/context/scripts/mkii/ctxtools.man b/doc/context/scripts/mkii/ctxtools.man index a741aca56..d85ab59e4 100644 --- a/doc/context/scripts/mkii/ctxtools.man +++ b/doc/context/scripts/mkii/ctxtools.man @@ -1,4 +1,4 @@ -.TH "ctxtools" "1" "01-01-2016" "version 1.3.5" "CtxTools" +.TH "ctxtools" "1" "01-01-2017" "version 1.3.5" "CtxTools" .SH NAME .B ctxtools .SH SYNOPSIS diff --git a/doc/context/scripts/mkii/imgtopdf.html b/doc/context/scripts/mkii/imgtopdf.html index 40863c4b8..ec75e4886 100644 --- a/doc/context/scripts/mkii/imgtopdf.html +++ b/doc/context/scripts/mkii/imgtopdf.html @@ -17,7 +17,7 @@ ImgToPdf 1.1.2 diff --git a/doc/context/scripts/mkii/imgtopdf.man b/doc/context/scripts/mkii/imgtopdf.man index 220cbd4a7..4cebf81fe 100644 --- a/doc/context/scripts/mkii/imgtopdf.man +++ b/doc/context/scripts/mkii/imgtopdf.man @@ -1,4 +1,4 @@ -.TH "imgtopdf" "1" "01-01-2016" "version 1.1.2" "ImgToPdf" +.TH "imgtopdf" "1" "01-01-2017" "version 1.1.2" "ImgToPdf" .SH NAME .B imgtopdf .SH SYNOPSIS diff --git a/doc/context/scripts/mkii/mptopdf.html b/doc/context/scripts/mkii/mptopdf.html index 4508402b2..24f1325dd 100644 --- a/doc/context/scripts/mkii/mptopdf.html +++ b/doc/context/scripts/mkii/mptopdf.html @@ -17,7 +17,7 @@ MPtoPDF 1.4.1 diff --git a/doc/context/scripts/mkii/mptopdf.man b/doc/context/scripts/mkii/mptopdf.man index 908fba5ce..e1c4ff914 100644 --- a/doc/context/scripts/mkii/mptopdf.man +++ b/doc/context/scripts/mkii/mptopdf.man @@ -1,4 +1,4 @@ -.TH "mptopdf" "1" "01-01-2016" "version 1.4.1" "convert MetaPost figures to PDF" +.TH "mptopdf" "1" "01-01-2017" "version 1.4.1" "convert MetaPost figures to PDF" .SH NAME .B mptopdf .SH SYNOPSIS diff --git a/doc/context/scripts/mkii/pdftools.html b/doc/context/scripts/mkii/pdftools.html index 77e3efef3..94b5f1a2a 100644 --- a/doc/context/scripts/mkii/pdftools.html +++ b/doc/context/scripts/mkii/pdftools.html @@ -17,7 +17,7 @@ PDFTools 1.2.1 diff --git a/doc/context/scripts/mkii/pdftools.man b/doc/context/scripts/mkii/pdftools.man index acb3b8c92..b59b9494e 100644 --- a/doc/context/scripts/mkii/pdftools.man +++ b/doc/context/scripts/mkii/pdftools.man @@ -1,4 +1,4 @@ -.TH "pdftools" "1" "01-01-2016" "version 1.2.1" "PDFTools" +.TH "pdftools" "1" "01-01-2017" "version 1.2.1" "PDFTools" .SH NAME .B pdftools .SH SYNOPSIS diff --git a/doc/context/scripts/mkii/pstopdf.html b/doc/context/scripts/mkii/pstopdf.html index 43593195e..9b8f50762 100644 --- a/doc/context/scripts/mkii/pstopdf.html +++ b/doc/context/scripts/mkii/pstopdf.html @@ -17,7 +17,7 @@ PStoPDF 2.0.1 diff --git a/doc/context/scripts/mkii/pstopdf.man b/doc/context/scripts/mkii/pstopdf.man index 628903964..b633c731f 100644 --- a/doc/context/scripts/mkii/pstopdf.man +++ b/doc/context/scripts/mkii/pstopdf.man @@ -1,4 +1,4 @@ -.TH "pstopdf" "1" "01-01-2016" "version 2.0.1" "PStoPDF" +.TH "pstopdf" "1" "01-01-2017" "version 2.0.1" "PStoPDF" .SH NAME .B pstopdf .SH SYNOPSIS diff --git a/doc/context/scripts/mkii/rlxtools.html b/doc/context/scripts/mkii/rlxtools.html index bb377860d..5aeffa129 100644 --- a/doc/context/scripts/mkii/rlxtools.html +++ b/doc/context/scripts/mkii/rlxtools.html @@ -17,7 +17,7 @@ RlxTools 1.0.1 diff --git a/doc/context/scripts/mkii/rlxtools.man b/doc/context/scripts/mkii/rlxtools.man index 0810b3a35..934623a79 100644 --- a/doc/context/scripts/mkii/rlxtools.man +++ b/doc/context/scripts/mkii/rlxtools.man @@ -1,4 +1,4 @@ -.TH "rlxtools" "1" "01-01-2016" "version 1.0.1" "RlxTools" +.TH "rlxtools" "1" "01-01-2017" "version 1.0.1" "RlxTools" .SH NAME .B rlxtools .SH SYNOPSIS diff --git a/doc/context/scripts/mkii/texexec.html b/doc/context/scripts/mkii/texexec.html index 1ba325ba9..8a3a60abd 100644 --- a/doc/context/scripts/mkii/texexec.html +++ b/doc/context/scripts/mkii/texexec.html @@ -17,7 +17,7 @@ TeXExec 6.2.1 diff --git a/doc/context/scripts/mkii/texexec.man b/doc/context/scripts/mkii/texexec.man index a2c3325d0..c0b2a0f35 100644 --- a/doc/context/scripts/mkii/texexec.man +++ b/doc/context/scripts/mkii/texexec.man @@ -1,4 +1,4 @@ -.TH "texexec" "1" "01-01-2016" "version 6.2.1" "TeXExec" +.TH "texexec" "1" "01-01-2017" "version 6.2.1" "TeXExec" .SH NAME .B texexec .SH SYNOPSIS diff --git a/doc/context/scripts/mkii/texmfstart.html b/doc/context/scripts/mkii/texmfstart.html index ed149a0d0..9a86eeee3 100644 --- a/doc/context/scripts/mkii/texmfstart.html +++ b/doc/context/scripts/mkii/texmfstart.html @@ -17,7 +17,7 @@ texmfstart 7.0.0 @@ -86,6 +86,7 @@ --experimentsshow (known) experiments --expand-bracesexpand complex variable + --resolve-pathexpand variable (completely resolve paths) --expand-pathexpand variable (resolve paths) --expand-varexpand variable (resolve references) --show-pathshow path expansion of ... diff --git a/doc/context/scripts/mkii/texmfstart.man b/doc/context/scripts/mkii/texmfstart.man index 90a0f9152..5ddb5f6b2 100644 --- a/doc/context/scripts/mkii/texmfstart.man +++ b/doc/context/scripts/mkii/texmfstart.man @@ -1,4 +1,4 @@ -.TH "mtxrun" "1" "01-01-2016" "version 1.31" "ConTeXt TDS Runner Tool" +.TH "mtxrun" "1" "01-01-2017" "version 1.32" "ConTeXt TDS Runner Tool" .SH NAME .B mtxrun .SH SYNOPSIS @@ -119,6 +119,9 @@ show (known) experiments .B --expand-braces expand complex variable .TP +.B --resolve-path +expand variable (completely resolve paths) +.TP .B --expand-path expand variable (resolve paths) .TP diff --git a/doc/context/scripts/mkii/texmfstart.xml b/doc/context/scripts/mkii/texmfstart.xml index c7e719541..a10fef328 100644 --- a/doc/context/scripts/mkii/texmfstart.xml +++ b/doc/context/scripts/mkii/texmfstart.xml @@ -2,7 +2,7 @@ mtxrun ConTeXt TDS Runner Tool - 1.31 + 1.32 @@ -65,6 +65,7 @@ expand complex variable + expand variable (completely resolve paths) expand variable (resolve paths) expand variable (resolve references) show path expansion of ... diff --git a/doc/context/scripts/mkii/textools.html b/doc/context/scripts/mkii/textools.html index 6e7b2d8aa..397de9d8b 100644 --- a/doc/context/scripts/mkii/textools.html +++ b/doc/context/scripts/mkii/textools.html @@ -17,7 +17,7 @@ TeXTools 1.3.1 diff --git a/doc/context/scripts/mkii/textools.man b/doc/context/scripts/mkii/textools.man index 17830ffae..578c0ded5 100644 --- a/doc/context/scripts/mkii/textools.man +++ b/doc/context/scripts/mkii/textools.man @@ -1,4 +1,4 @@ -.TH "textools" "1" "01-01-2016" "version 1.3.1" "TeXTools" +.TH "textools" "1" "01-01-2017" "version 1.3.1" "TeXTools" .SH NAME .B textools .SH SYNOPSIS diff --git a/doc/context/scripts/mkii/texutil.html b/doc/context/scripts/mkii/texutil.html index c98571a07..b5974ab99 100644 --- a/doc/context/scripts/mkii/texutil.html +++ b/doc/context/scripts/mkii/texutil.html @@ -17,7 +17,7 @@ TeXUtil 9.1.0 diff --git a/doc/context/scripts/mkii/texutil.man b/doc/context/scripts/mkii/texutil.man index c8062b7f6..c086eb603 100644 --- a/doc/context/scripts/mkii/texutil.man +++ b/doc/context/scripts/mkii/texutil.man @@ -1,4 +1,4 @@ -.TH "texutil" "1" "01-01-2016" "version 9.1.0" "TeXUtil" +.TH "texutil" "1" "01-01-2017" "version 9.1.0" "TeXUtil" .SH NAME .B texutil .SH SYNOPSIS diff --git a/doc/context/scripts/mkii/tmftools.html b/doc/context/scripts/mkii/tmftools.html index af275f69c..1e13062b9 100644 --- a/doc/context/scripts/mkii/tmftools.html +++ b/doc/context/scripts/mkii/tmftools.html @@ -17,7 +17,7 @@ TMFTools 1.2.1 diff --git a/doc/context/scripts/mkii/tmftools.man b/doc/context/scripts/mkii/tmftools.man index f6c0d7dfe..f3fe4cade 100644 --- a/doc/context/scripts/mkii/tmftools.man +++ b/doc/context/scripts/mkii/tmftools.man @@ -1,4 +1,4 @@ -.TH "tmftools" "1" "01-01-2016" "version 1.1.0" "TMFTools" +.TH "tmftools" "1" "01-01-2017" "version 1.1.0" "TMFTools" .SH NAME .B tmftools .SH SYNOPSIS diff --git a/doc/context/scripts/mkii/xmltools.html b/doc/context/scripts/mkii/xmltools.html index 5d7d25d3a..fcb27aaf4 100644 --- a/doc/context/scripts/mkii/xmltools.html +++ b/doc/context/scripts/mkii/xmltools.html @@ -17,7 +17,7 @@ XMLTools 1.2.1 diff --git a/doc/context/scripts/mkii/xmltools.man b/doc/context/scripts/mkii/xmltools.man index 7596f20ac..1da86756c 100644 --- a/doc/context/scripts/mkii/xmltools.man +++ b/doc/context/scripts/mkii/xmltools.man @@ -1,4 +1,4 @@ -.TH "xmltools" "1" "01-01-2016" "version 1.2.2" "XMLTools" +.TH "xmltools" "1" "01-01-2017" "version 1.2.2" "XMLTools" .SH NAME .B xmltools .SH SYNOPSIS diff --git a/doc/context/scripts/mkiv/context.html b/doc/context/scripts/mkiv/context.html index 5fbf49d2b..c63c81132 100644 --- a/doc/context/scripts/mkiv/context.html +++ b/doc/context/scripts/mkiv/context.html @@ -14,17 +14,17 @@ - ConTeXt Process Management 0.63 + ConTeXt Process Management 1.01
-
ConTeXt Process Management 0.63
+
ConTeXt Process Management 1.01
@@ -81,7 +81,8 @@ --batchmoderun without stopping and do not show messages on the console --nonstopmoderun without stopping - --synctexrun with synctex enabled (optional value: zipped, unzipped, 1, -1) + --synctexrun with synctex enabled (optional value: zipped, unzipped, 1, -1, context) + --syncttxa shortcut for --synctex=context --nodatesomit runtime dates in pdf file (optional value: a number (this 1970 offset time) or string "YYYY-MM-DD HH:MM") --nocompressionforcefully turns off compression in the backend --traileridalternative trailer id (or constant one) diff --git a/doc/context/scripts/mkiv/context.man b/doc/context/scripts/mkiv/context.man index c8359e9e8..88f970e7b 100644 --- a/doc/context/scripts/mkiv/context.man +++ b/doc/context/scripts/mkiv/context.man @@ -1,4 +1,4 @@ -.TH "mtx-context" "1" "01-01-2016" "version 0.62" "ConTeXt Process Management" +.TH "mtx-context" "1" "01-01-2017" "version 1.01" "ConTeXt Process Management" .SH NAME .B mtx-context .SH SYNOPSIS @@ -111,7 +111,10 @@ run without stopping and do not show messages on the console run without stopping .TP .B --synctex -run with synctex enabled (optional value: zipped, unzipped, 1, -1) +run with synctex enabled (optional value: zipped, unzipped, 1, -1, context) +.TP +.B --syncttx +a shortcut for --synctex=context .TP .B --nodates omit runtime dates in pdf file (optional value: a number (this 1970 offset time) or string "YYYY-MM-DD HH:MM") diff --git a/doc/context/scripts/mkiv/context.xml b/doc/context/scripts/mkiv/context.xml index 2ba7ee59e..25e92d7a6 100644 --- a/doc/context/scripts/mkiv/context.xml +++ b/doc/context/scripts/mkiv/context.xml @@ -4,7 +4,7 @@ mtx-context ConTeXt Process Management - 0.62 + 1.01 external helpinfo file @@ -126,7 +126,10 @@ run without stopping - run with synctex enabled (optional value: zipped, unzipped, 1, -1) + run with synctex enabled (optional value: zipped, unzipped, 1, -1, context) + + + a shortcut for --synctex=context omit runtime dates in pdf file (optional value: a number (this 1970 offset time) or string "YYYY-MM-DD HH:MM") diff --git a/doc/context/scripts/mkiv/luatools.html b/doc/context/scripts/mkiv/luatools.html index 614896880..5ec428efd 100644 --- a/doc/context/scripts/mkiv/luatools.html +++ b/doc/context/scripts/mkiv/luatools.html @@ -17,7 +17,7 @@ luatools 1.35 diff --git a/doc/context/scripts/mkiv/luatools.man b/doc/context/scripts/mkiv/luatools.man index bcf7fb514..7795a18a4 100644 --- a/doc/context/scripts/mkiv/luatools.man +++ b/doc/context/scripts/mkiv/luatools.man @@ -1,4 +1,4 @@ -.TH "luatools" "1" "01-01-2016" "version 1.35" "ConTeXt TDS Management Tool (aka luatools)" +.TH "luatools" "1" "01-01-2017" "version 1.35" "ConTeXt TDS Management Tool (aka luatools)" .SH NAME .B luatools .SH SYNOPSIS diff --git a/doc/context/scripts/mkiv/mtx-babel.html b/doc/context/scripts/mkiv/mtx-babel.html index a26e94ed6..97f891516 100644 --- a/doc/context/scripts/mkiv/mtx-babel.html +++ b/doc/context/scripts/mkiv/mtx-babel.html @@ -17,7 +17,7 @@ Babel Input To UTF Conversion 1.20 diff --git a/doc/context/scripts/mkiv/mtx-babel.man b/doc/context/scripts/mkiv/mtx-babel.man index a0a3f312f..236434f94 100644 --- a/doc/context/scripts/mkiv/mtx-babel.man +++ b/doc/context/scripts/mkiv/mtx-babel.man @@ -1,4 +1,4 @@ -.TH "mtx-babel" "1" "01-01-2016" "version 1.20" "Babel Input To UTF Conversion" +.TH "mtx-babel" "1" "01-01-2017" "version 1.20" "Babel Input To UTF Conversion" .SH NAME .B mtx-babel .SH SYNOPSIS diff --git a/doc/context/scripts/mkiv/mtx-base.html b/doc/context/scripts/mkiv/mtx-base.html index 93d79f40b..7eceb57fc 100644 --- a/doc/context/scripts/mkiv/mtx-base.html +++ b/doc/context/scripts/mkiv/mtx-base.html @@ -17,7 +17,7 @@ ConTeXt TDS Management Tool (aka luatools) 1.35 diff --git a/doc/context/scripts/mkiv/mtx-base.man b/doc/context/scripts/mkiv/mtx-base.man index fdd239c68..d092ae514 100644 --- a/doc/context/scripts/mkiv/mtx-base.man +++ b/doc/context/scripts/mkiv/mtx-base.man @@ -1,4 +1,4 @@ -.TH "mtx-base" "1" "01-01-2016" "version 1.35" "ConTeXt TDS Management Tool (aka luatools)" +.TH "mtx-base" "1" "01-01-2017" "version 1.35" "ConTeXt TDS Management Tool (aka luatools)" .SH NAME .B mtx-base .SH SYNOPSIS diff --git a/doc/context/scripts/mkiv/mtx-bibtex.html b/doc/context/scripts/mkiv/mtx-bibtex.html index 61a679716..a70c88483 100644 --- a/doc/context/scripts/mkiv/mtx-bibtex.html +++ b/doc/context/scripts/mkiv/mtx-bibtex.html @@ -17,7 +17,7 @@ bibtex helpers diff --git a/doc/context/scripts/mkiv/mtx-bibtex.man b/doc/context/scripts/mkiv/mtx-bibtex.man index 7fdb304a5..c7fbe4261 100644 --- a/doc/context/scripts/mkiv/mtx-bibtex.man +++ b/doc/context/scripts/mkiv/mtx-bibtex.man @@ -1,4 +1,4 @@ -.TH "mtx-bibtex" "1" "01-01-2016" "version 1.00" "bibtex helpers" +.TH "mtx-bibtex" "1" "01-01-2017" "version 1.00" "bibtex helpers" .SH NAME .B mtx-bibtex .SH SYNOPSIS diff --git a/doc/context/scripts/mkiv/mtx-cache.html b/doc/context/scripts/mkiv/mtx-cache.html index fdab3ed20..e69a73977 100644 --- a/doc/context/scripts/mkiv/mtx-cache.html +++ b/doc/context/scripts/mkiv/mtx-cache.html @@ -17,7 +17,7 @@ ConTeXt & MetaTeX Cache Management 0.10 @@ -43,7 +43,7 @@ --erasecompletely remove cache --listshow cache - --allall (not yet implemented) + --fontsonly wipe fonts
diff --git a/doc/context/scripts/mkiv/mtx-cache.man b/doc/context/scripts/mkiv/mtx-cache.man index 91c9aa45e..f0f6a11ac 100644 --- a/doc/context/scripts/mkiv/mtx-cache.man +++ b/doc/context/scripts/mkiv/mtx-cache.man @@ -1,4 +1,4 @@ -.TH "mtx-cache" "1" "01-01-2016" "version 0.10" "ConTeXt & MetaTeX Cache Management" +.TH "mtx-cache" "1" "01-01-2017" "version 0.10" "ConTeXt & MetaTeX Cache Management" .SH NAME .B mtx-cache .SH SYNOPSIS @@ -20,8 +20,8 @@ completely remove cache .B --list show cache .TP -.B --all -all (not yet implemented) +.B --fonts +only wipe fonts .SH AUTHOR More information about ConTeXt and the tools that come with it can be found at: diff --git a/doc/context/scripts/mkiv/mtx-cache.xml b/doc/context/scripts/mkiv/mtx-cache.xml index 2e37f036c..4bd3acc3d 100644 --- a/doc/context/scripts/mkiv/mtx-cache.xml +++ b/doc/context/scripts/mkiv/mtx-cache.xml @@ -2,7 +2,7 @@ mtx-cache - ConTeXt & MetaTeX Cache Management + ConTeXt & MetaTeX Cache Management 0.10 @@ -13,7 +13,7 @@ show cache - all (not yet implemented) + only wipe fonts diff --git a/doc/context/scripts/mkiv/mtx-chars.html b/doc/context/scripts/mkiv/mtx-chars.html index 93f1995b9..0cc3840e6 100644 --- a/doc/context/scripts/mkiv/mtx-chars.html +++ b/doc/context/scripts/mkiv/mtx-chars.html @@ -17,7 +17,7 @@ MkII Character Table Generators 0.10 diff --git a/doc/context/scripts/mkiv/mtx-chars.man b/doc/context/scripts/mkiv/mtx-chars.man index f05536430..9afac1b5c 100644 --- a/doc/context/scripts/mkiv/mtx-chars.man +++ b/doc/context/scripts/mkiv/mtx-chars.man @@ -1,4 +1,4 @@ -.TH "mtx-chars" "1" "01-01-2016" "version 0.10" "MkII Character Table Generators" +.TH "mtx-chars" "1" "01-01-2017" "version 0.10" "MkII Character Table Generators" .SH NAME .B mtx-chars .SH SYNOPSIS diff --git a/doc/context/scripts/mkiv/mtx-check.html b/doc/context/scripts/mkiv/mtx-check.html index 0ebbe750f..df50c7288 100644 --- a/doc/context/scripts/mkiv/mtx-check.html +++ b/doc/context/scripts/mkiv/mtx-check.html @@ -17,7 +17,7 @@ Basic ConTeXt Syntax Checking 0.10 diff --git a/doc/context/scripts/mkiv/mtx-check.man b/doc/context/scripts/mkiv/mtx-check.man index 85a352d04..2a23dce7f 100644 --- a/doc/context/scripts/mkiv/mtx-check.man +++ b/doc/context/scripts/mkiv/mtx-check.man @@ -1,4 +1,4 @@ -.TH "mtx-check" "1" "01-01-2016" "version 0.10" "Basic ConTeXt Syntax Checking" +.TH "mtx-check" "1" "01-01-2017" "version 0.10" "Basic ConTeXt Syntax Checking" .SH NAME .B mtx-check .SH SYNOPSIS diff --git a/doc/context/scripts/mkiv/mtx-colors.html b/doc/context/scripts/mkiv/mtx-colors.html index 1a62f1891..f9b05c74c 100644 --- a/doc/context/scripts/mkiv/mtx-colors.html +++ b/doc/context/scripts/mkiv/mtx-colors.html @@ -17,7 +17,7 @@ ConTeXt Color Management 0.10 diff --git a/doc/context/scripts/mkiv/mtx-colors.man b/doc/context/scripts/mkiv/mtx-colors.man index 9d1de2b35..fb7800586 100644 --- a/doc/context/scripts/mkiv/mtx-colors.man +++ b/doc/context/scripts/mkiv/mtx-colors.man @@ -1,4 +1,4 @@ -.TH "mtx-colors" "1" "01-01-2016" "version 0.10" "ConTeXt Color Management" +.TH "mtx-colors" "1" "01-01-2017" "version 0.10" "ConTeXt Color Management" .SH NAME .B mtx-colors .SH SYNOPSIS diff --git a/doc/context/scripts/mkiv/mtx-context.html b/doc/context/scripts/mkiv/mtx-context.html index 5fbf49d2b..c63c81132 100644 --- a/doc/context/scripts/mkiv/mtx-context.html +++ b/doc/context/scripts/mkiv/mtx-context.html @@ -14,17 +14,17 @@ - ConTeXt Process Management 0.63 + ConTeXt Process Management 1.01
-
ConTeXt Process Management 0.63
+
ConTeXt Process Management 1.01
@@ -81,7 +81,8 @@ --batchmoderun without stopping and do not show messages on the console --nonstopmoderun without stopping - --synctexrun with synctex enabled (optional value: zipped, unzipped, 1, -1) + --synctexrun with synctex enabled (optional value: zipped, unzipped, 1, -1, context) + --syncttxa shortcut for --synctex=context --nodatesomit runtime dates in pdf file (optional value: a number (this 1970 offset time) or string "YYYY-MM-DD HH:MM") --nocompressionforcefully turns off compression in the backend --traileridalternative trailer id (or constant one) diff --git a/doc/context/scripts/mkiv/mtx-context.man b/doc/context/scripts/mkiv/mtx-context.man index c8359e9e8..88f970e7b 100644 --- a/doc/context/scripts/mkiv/mtx-context.man +++ b/doc/context/scripts/mkiv/mtx-context.man @@ -1,4 +1,4 @@ -.TH "mtx-context" "1" "01-01-2016" "version 0.62" "ConTeXt Process Management" +.TH "mtx-context" "1" "01-01-2017" "version 1.01" "ConTeXt Process Management" .SH NAME .B mtx-context .SH SYNOPSIS @@ -111,7 +111,10 @@ run without stopping and do not show messages on the console run without stopping .TP .B --synctex -run with synctex enabled (optional value: zipped, unzipped, 1, -1) +run with synctex enabled (optional value: zipped, unzipped, 1, -1, context) +.TP +.B --syncttx +a shortcut for --synctex=context .TP .B --nodates omit runtime dates in pdf file (optional value: a number (this 1970 offset time) or string "YYYY-MM-DD HH:MM") diff --git a/doc/context/scripts/mkiv/mtx-context.xml b/doc/context/scripts/mkiv/mtx-context.xml index 2ba7ee59e..25e92d7a6 100644 --- a/doc/context/scripts/mkiv/mtx-context.xml +++ b/doc/context/scripts/mkiv/mtx-context.xml @@ -4,7 +4,7 @@ mtx-context ConTeXt Process Management - 0.62 + 1.01 external helpinfo file @@ -126,7 +126,10 @@ run without stopping - run with synctex enabled (optional value: zipped, unzipped, 1, -1) + run with synctex enabled (optional value: zipped, unzipped, 1, -1, context) + + + a shortcut for --synctex=context omit runtime dates in pdf file (optional value: a number (this 1970 offset time) or string "YYYY-MM-DD HH:MM") diff --git a/doc/context/scripts/mkiv/mtx-dvi.html b/doc/context/scripts/mkiv/mtx-dvi.html new file mode 100644 index 000000000..e83c43748 --- /dev/null +++ b/doc/context/scripts/mkiv/mtx-dvi.html @@ -0,0 +1,48 @@ + + + + + + + + + + + ConTeXt DVI Helpers 0.10 + + + + + +
+
ConTeXt DVI Helpers 0.10
+
+
+
+
wiki: http://contextgarden.net | mail: ntg-context@ntg.nl | website: http://www.pragma-ade.nl
+
+
+
+ +
+
+

Command line options

+ + + + +
flagvaluedescription
--listlist dvi commands
+
+
+
+ + diff --git a/doc/context/scripts/mkiv/mtx-dvi.man b/doc/context/scripts/mkiv/mtx-dvi.man new file mode 100644 index 000000000..09a1301c0 --- /dev/null +++ b/doc/context/scripts/mkiv/mtx-dvi.man @@ -0,0 +1,27 @@ +.TH "mtx-dvi" "1" "01-01-2017" "version 0.01" "ConTeXt DVI Helpers" +.SH NAME +.B mtx-dvi +.SH SYNOPSIS +.B mtxrun --script dvi [ +.I OPTIONS ... +.B ] [ +.I FILENAMES +.B ] +.SH DESCRIPTION +.B ConTeXt DVI Helpers +.SH OPTIONS +.TP +.B --list +list dvi commands +.SH AUTHOR +More information about ConTeXt and the tools that come with it can be found at: + + +.B "maillist:" +ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context + +.B "webpage:" +http://www.pragma-ade.nl / http://tex.aanhet.net + +.B "wiki:" +http://contextgarden.net diff --git a/doc/context/scripts/mkiv/mtx-dvi.xml b/doc/context/scripts/mkiv/mtx-dvi.xml new file mode 100644 index 000000000..e27adf2f2 --- /dev/null +++ b/doc/context/scripts/mkiv/mtx-dvi.xml @@ -0,0 +1,15 @@ + + + + mtx-dvi + ConTeXt DVI Helpers + 0.01 + + + + + list dvi commands + + + + diff --git a/doc/context/scripts/mkiv/mtx-epub.html b/doc/context/scripts/mkiv/mtx-epub.html index 9b63234be..1a92a794a 100644 --- a/doc/context/scripts/mkiv/mtx-epub.html +++ b/doc/context/scripts/mkiv/mtx-epub.html @@ -17,7 +17,7 @@ ConTeXt EPUB Helpers 1.10 diff --git a/doc/context/scripts/mkiv/mtx-epub.man b/doc/context/scripts/mkiv/mtx-epub.man index f40501270..a3101e84b 100644 --- a/doc/context/scripts/mkiv/mtx-epub.man +++ b/doc/context/scripts/mkiv/mtx-epub.man @@ -1,4 +1,4 @@ -.TH "mtx-epub" "1" "01-01-2016" "version 1.10" "ConTeXt EPUB Helpers" +.TH "mtx-epub" "1" "01-01-2017" "version 1.10" "ConTeXt EPUB Helpers" .SH NAME .B mtx-epub .SH SYNOPSIS diff --git a/doc/context/scripts/mkiv/mtx-fcd.html b/doc/context/scripts/mkiv/mtx-fcd.html index 4b29b62eb..ec928f79d 100644 --- a/doc/context/scripts/mkiv/mtx-fcd.html +++ b/doc/context/scripts/mkiv/mtx-fcd.html @@ -17,7 +17,7 @@ Fast Directory Change 1.00 diff --git a/doc/context/scripts/mkiv/mtx-fcd.man b/doc/context/scripts/mkiv/mtx-fcd.man index 80d8670e4..c322b55ed 100644 --- a/doc/context/scripts/mkiv/mtx-fcd.man +++ b/doc/context/scripts/mkiv/mtx-fcd.man @@ -1,4 +1,4 @@ -.TH "mtx-fcd" "1" "01-01-2016" "version 1.00" "Fast Directory Change" +.TH "mtx-fcd" "1" "01-01-2017" "version 1.00" "Fast Directory Change" .SH NAME .B mtx-fcd .SH SYNOPSIS diff --git a/doc/context/scripts/mkiv/mtx-flac.html b/doc/context/scripts/mkiv/mtx-flac.html index cbb3167c0..c4fb4efc4 100644 --- a/doc/context/scripts/mkiv/mtx-flac.html +++ b/doc/context/scripts/mkiv/mtx-flac.html @@ -17,7 +17,7 @@ ConTeXt Flac Helpers 0.10 diff --git a/doc/context/scripts/mkiv/mtx-flac.man b/doc/context/scripts/mkiv/mtx-flac.man index 693cb71ed..87aa90dda 100644 --- a/doc/context/scripts/mkiv/mtx-flac.man +++ b/doc/context/scripts/mkiv/mtx-flac.man @@ -1,4 +1,4 @@ -.TH "mtx-flac" "1" "01-01-2016" "version 0.10" "ConTeXt Flac Helpers" +.TH "mtx-flac" "1" "01-01-2017" "version 0.10" "ConTeXt Flac Helpers" .SH NAME .B mtx-flac .SH SYNOPSIS diff --git a/doc/context/scripts/mkiv/mtx-fonts.html b/doc/context/scripts/mkiv/mtx-fonts.html index e4548b255..43d81015f 100644 --- a/doc/context/scripts/mkiv/mtx-fonts.html +++ b/doc/context/scripts/mkiv/mtx-fonts.html @@ -17,7 +17,7 @@ ConTeXt Font Database Management 0.21 diff --git a/doc/context/scripts/mkiv/mtx-fonts.man b/doc/context/scripts/mkiv/mtx-fonts.man index 676ca17ab..1a8d3023b 100644 --- a/doc/context/scripts/mkiv/mtx-fonts.man +++ b/doc/context/scripts/mkiv/mtx-fonts.man @@ -1,4 +1,4 @@ -.TH "mtx-fonts" "1" "01-01-2016" "version 0.21" "ConTeXt Font Database Management" +.TH "mtx-fonts" "1" "01-01-2017" "version 0.21" "ConTeXt Font Database Management" .SH NAME .B mtx-fonts .SH SYNOPSIS diff --git a/doc/context/scripts/mkiv/mtx-grep.html b/doc/context/scripts/mkiv/mtx-grep.html index 45a32f987..184ca0df3 100644 --- a/doc/context/scripts/mkiv/mtx-grep.html +++ b/doc/context/scripts/mkiv/mtx-grep.html @@ -17,7 +17,7 @@ Simple Grepper 0.10 @@ -42,10 +42,20 @@ --patternsearch for pattern (optional) --countcount matches only --nocommentskip lines that start with %% or # + --nshow at most n matches + --firstonly show first match + --matchreturn the match (if it is one) --xmlpattern is lpath expression
-
+

Examples

+mtxrun --script grep --pattern=module *.mkiv +
mtxrun --script grep --pattern="modules.-%['(.-)'%]" char-*.lua --first +
mtxrun --script grep --pattern=module --count *.mkiv +
mtxrun --script grep --pattern=module --first *.mkiv +
mtxrun --script grep --pattern=module --nocomment *.mkiv +
mtxrun --script grep --pattern=module --n=10 *.mkiv +

diff --git a/doc/context/scripts/mkiv/mtx-grep.man b/doc/context/scripts/mkiv/mtx-grep.man index 2a3d30316..3254c904d 100644 --- a/doc/context/scripts/mkiv/mtx-grep.man +++ b/doc/context/scripts/mkiv/mtx-grep.man @@ -1,4 +1,4 @@ -.TH "mtx-grep" "1" "01-01-2016" "version 0.10" "Simple Grepper" +.TH "mtx-grep" "1" "01-01-2017" "version 0.10" "Simple Grepper" .SH NAME .B mtx-grep .SH SYNOPSIS @@ -20,6 +20,15 @@ count matches only .B --nocomment skip lines that start with %% or # .TP +.B --n +show at most n matches +.TP +.B --first +only show first match +.TP +.B --match +return the match (if it is one) +.TP .B --xml pattern is lpath expression .SH AUTHOR diff --git a/doc/context/scripts/mkiv/mtx-grep.xml b/doc/context/scripts/mkiv/mtx-grep.xml index d8567e035..a78565b57 100644 --- a/doc/context/scripts/mkiv/mtx-grep.xml +++ b/doc/context/scripts/mkiv/mtx-grep.xml @@ -11,10 +11,26 @@ search for pattern (optional) count matches only skip lines that start with %% or # + show at most n matches + only show first match + return the match (if it is one) pattern is lpath expression
+ + + Examples + + mtxrun --script grep --pattern=module *.mkiv + mtxrun --script grep --pattern="modules.-%['(.-)'%]" char-*.lua --first + mtxrun --script grep --pattern=module --count *.mkiv + mtxrun --script grep --pattern=module --first *.mkiv + mtxrun --script grep --pattern=module --nocomment *.mkiv + mtxrun --script grep --pattern=module --n=10 *.mkiv + + + patterns are lua patterns and need to be escaped accordingly diff --git a/doc/context/scripts/mkiv/mtx-interface.html b/doc/context/scripts/mkiv/mtx-interface.html index 468342893..045dea546 100644 --- a/doc/context/scripts/mkiv/mtx-interface.html +++ b/doc/context/scripts/mkiv/mtx-interface.html @@ -17,7 +17,7 @@ ConTeXt Interface Related Goodies 0.13 diff --git a/doc/context/scripts/mkiv/mtx-interface.man b/doc/context/scripts/mkiv/mtx-interface.man index 2b21c8dba..831b9acc9 100644 --- a/doc/context/scripts/mkiv/mtx-interface.man +++ b/doc/context/scripts/mkiv/mtx-interface.man @@ -1,4 +1,4 @@ -.TH "mtx-interface" "1" "01-01-2016" "version 0.13" "ConTeXt Interface Related Goodies" +.TH "mtx-interface" "1" "01-01-2017" "version 0.13" "ConTeXt Interface Related Goodies" .SH NAME .B mtx-interface .SH SYNOPSIS diff --git a/doc/context/scripts/mkiv/mtx-metapost.html b/doc/context/scripts/mkiv/mtx-metapost.html index 51708663b..793a411b9 100644 --- a/doc/context/scripts/mkiv/mtx-metapost.html +++ b/doc/context/scripts/mkiv/mtx-metapost.html @@ -17,7 +17,7 @@ MetaPost to PDF processor 0.10 diff --git a/doc/context/scripts/mkiv/mtx-metapost.man b/doc/context/scripts/mkiv/mtx-metapost.man index ca712c7f8..66f178287 100644 --- a/doc/context/scripts/mkiv/mtx-metapost.man +++ b/doc/context/scripts/mkiv/mtx-metapost.man @@ -1,4 +1,4 @@ -.TH "mtx-metapost" "1" "01-01-2016" "version 0.10" "MetaPost to PDF processor" +.TH "mtx-metapost" "1" "01-01-2017" "version 0.10" "MetaPost to PDF processor" .SH NAME .B mtx-metapost .SH SYNOPSIS diff --git a/doc/context/scripts/mkiv/mtx-metatex.html b/doc/context/scripts/mkiv/mtx-metatex.html index 0c563e566..0bdc78987 100644 --- a/doc/context/scripts/mkiv/mtx-metatex.html +++ b/doc/context/scripts/mkiv/mtx-metatex.html @@ -17,7 +17,7 @@ MetaTeX Process Management 0.10 diff --git a/doc/context/scripts/mkiv/mtx-metatex.man b/doc/context/scripts/mkiv/mtx-metatex.man index 68e090031..1ff5ec367 100644 --- a/doc/context/scripts/mkiv/mtx-metatex.man +++ b/doc/context/scripts/mkiv/mtx-metatex.man @@ -1,4 +1,4 @@ -.TH "mtx-metatex" "1" "01-01-2016" "version 0.10" "MetaTeX Process Management" +.TH "mtx-metatex" "1" "01-01-2017" "version 0.10" "MetaTeX Process Management" .SH NAME .B mtx-metatex .SH SYNOPSIS diff --git a/doc/context/scripts/mkiv/mtx-modules.html b/doc/context/scripts/mkiv/mtx-modules.html index f13ccbb6f..8278c1aca 100644 --- a/doc/context/scripts/mkiv/mtx-modules.html +++ b/doc/context/scripts/mkiv/mtx-modules.html @@ -17,7 +17,7 @@ ConTeXt Module Documentation Generators 1.00 diff --git a/doc/context/scripts/mkiv/mtx-modules.man b/doc/context/scripts/mkiv/mtx-modules.man index 1e1e34fc2..0455d83c9 100644 --- a/doc/context/scripts/mkiv/mtx-modules.man +++ b/doc/context/scripts/mkiv/mtx-modules.man @@ -1,4 +1,4 @@ -.TH "mtx-modules" "1" "01-01-2016" "version 1.00" "ConTeXt Module Documentation Generators" +.TH "mtx-modules" "1" "01-01-2017" "version 1.00" "ConTeXt Module Documentation Generators" .SH NAME .B mtx-modules .SH SYNOPSIS diff --git a/doc/context/scripts/mkiv/mtx-package.html b/doc/context/scripts/mkiv/mtx-package.html index 51dd6189f..3ebf5c5be 100644 --- a/doc/context/scripts/mkiv/mtx-package.html +++ b/doc/context/scripts/mkiv/mtx-package.html @@ -17,7 +17,7 @@ Distribution Related Goodies 0.10 diff --git a/doc/context/scripts/mkiv/mtx-package.man b/doc/context/scripts/mkiv/mtx-package.man index dfd8d21f0..2ff4a165a 100644 --- a/doc/context/scripts/mkiv/mtx-package.man +++ b/doc/context/scripts/mkiv/mtx-package.man @@ -1,4 +1,4 @@ -.TH "mtx-package" "1" "01-01-2016" "version 0.10" "Distribution Related Goodies" +.TH "mtx-package" "1" "01-01-2017" "version 0.10" "Distribution Related Goodies" .SH NAME .B mtx-package .SH SYNOPSIS diff --git a/doc/context/scripts/mkiv/mtx-patterns.html b/doc/context/scripts/mkiv/mtx-patterns.html index 8aa0d8132..8aa378298 100644 --- a/doc/context/scripts/mkiv/mtx-patterns.html +++ b/doc/context/scripts/mkiv/mtx-patterns.html @@ -17,7 +17,7 @@ ConTeXt Pattern File Management 0.20 diff --git a/doc/context/scripts/mkiv/mtx-patterns.man b/doc/context/scripts/mkiv/mtx-patterns.man index fd0088cca..c962da2e8 100644 --- a/doc/context/scripts/mkiv/mtx-patterns.man +++ b/doc/context/scripts/mkiv/mtx-patterns.man @@ -1,4 +1,4 @@ -.TH "mtx-patterns" "1" "01-01-2016" "version 0.20" "ConTeXt Pattern File Management" +.TH "mtx-patterns" "1" "01-01-2017" "version 0.20" "ConTeXt Pattern File Management" .SH NAME .B mtx-patterns .SH SYNOPSIS diff --git a/doc/context/scripts/mkiv/mtx-pdf.html b/doc/context/scripts/mkiv/mtx-pdf.html index f292c0089..e2961d94d 100644 --- a/doc/context/scripts/mkiv/mtx-pdf.html +++ b/doc/context/scripts/mkiv/mtx-pdf.html @@ -17,7 +17,7 @@ ConTeXt PDF Helpers 0.10 diff --git a/doc/context/scripts/mkiv/mtx-pdf.man b/doc/context/scripts/mkiv/mtx-pdf.man index 60fa91e50..fa702b86c 100644 --- a/doc/context/scripts/mkiv/mtx-pdf.man +++ b/doc/context/scripts/mkiv/mtx-pdf.man @@ -1,4 +1,4 @@ -.TH "mtx-pdf" "1" "01-01-2016" "version 0.10" "ConTeXt PDF Helpers" +.TH "mtx-pdf" "1" "01-01-2017" "version 0.10" "ConTeXt PDF Helpers" .SH NAME .B mtx-pdf .SH SYNOPSIS diff --git a/doc/context/scripts/mkiv/mtx-plain.html b/doc/context/scripts/mkiv/mtx-plain.html index d7600397a..2ceda35e7 100644 --- a/doc/context/scripts/mkiv/mtx-plain.html +++ b/doc/context/scripts/mkiv/mtx-plain.html @@ -17,7 +17,7 @@ Plain TeX Runner 1.00 diff --git a/doc/context/scripts/mkiv/mtx-plain.man b/doc/context/scripts/mkiv/mtx-plain.man index 174402377..73c1a9377 100644 --- a/doc/context/scripts/mkiv/mtx-plain.man +++ b/doc/context/scripts/mkiv/mtx-plain.man @@ -1,4 +1,4 @@ -.TH "mtx-plain" "1" "01-01-2016" "version 1.00" "Plain TeX Runner" +.TH "mtx-plain" "1" "01-01-2017" "version 1.00" "Plain TeX Runner" .SH NAME .B mtx-plain .SH SYNOPSIS diff --git a/doc/context/scripts/mkiv/mtx-profile.html b/doc/context/scripts/mkiv/mtx-profile.html index 46714e67b..50ac0c42e 100644 --- a/doc/context/scripts/mkiv/mtx-profile.html +++ b/doc/context/scripts/mkiv/mtx-profile.html @@ -17,7 +17,7 @@ ConTeXt MkIV LuaTeX Profiler 1.00 diff --git a/doc/context/scripts/mkiv/mtx-profile.man b/doc/context/scripts/mkiv/mtx-profile.man index d09563415..862afe5fb 100644 --- a/doc/context/scripts/mkiv/mtx-profile.man +++ b/doc/context/scripts/mkiv/mtx-profile.man @@ -1,4 +1,4 @@ -.TH "mtx-profile" "1" "01-01-2016" "version 1.00" "ConTeXt MkIV LuaTeX Profiler" +.TH "mtx-profile" "1" "01-01-2017" "version 1.00" "ConTeXt MkIV LuaTeX Profiler" .SH NAME .B mtx-profile .SH SYNOPSIS diff --git a/doc/context/scripts/mkiv/mtx-rsync.html b/doc/context/scripts/mkiv/mtx-rsync.html index 9b2b3af3a..5a55fcbe5 100644 --- a/doc/context/scripts/mkiv/mtx-rsync.html +++ b/doc/context/scripts/mkiv/mtx-rsync.html @@ -17,7 +17,7 @@ Rsync Helpers 0.10 diff --git a/doc/context/scripts/mkiv/mtx-rsync.man b/doc/context/scripts/mkiv/mtx-rsync.man index 7297ace50..13c838fd7 100644 --- a/doc/context/scripts/mkiv/mtx-rsync.man +++ b/doc/context/scripts/mkiv/mtx-rsync.man @@ -1,4 +1,4 @@ -.TH "mtx-rsync" "1" "01-01-2016" "version 0.10" "Rsync Helpers" +.TH "mtx-rsync" "1" "01-01-2017" "version 0.10" "Rsync Helpers" .SH NAME .B mtx-rsync .SH SYNOPSIS diff --git a/doc/context/scripts/mkiv/mtx-scite.html b/doc/context/scripts/mkiv/mtx-scite.html index 24229db73..3b540fa81 100644 --- a/doc/context/scripts/mkiv/mtx-scite.html +++ b/doc/context/scripts/mkiv/mtx-scite.html @@ -17,7 +17,7 @@ Scite Helper Script 1.00 diff --git a/doc/context/scripts/mkiv/mtx-scite.man b/doc/context/scripts/mkiv/mtx-scite.man index f88d4b016..4911790f2 100644 --- a/doc/context/scripts/mkiv/mtx-scite.man +++ b/doc/context/scripts/mkiv/mtx-scite.man @@ -1,4 +1,4 @@ -.TH "mtx-scite" "1" "01-01-2016" "version 1.00" "Scite Helper Script" +.TH "mtx-scite" "1" "01-01-2017" "version 1.00" "Scite Helper Script" .SH NAME .B mtx-scite .SH SYNOPSIS diff --git a/doc/context/scripts/mkiv/mtx-server.html b/doc/context/scripts/mkiv/mtx-server.html index 11d3c59c3..01cf1cdf7 100644 --- a/doc/context/scripts/mkiv/mtx-server.html +++ b/doc/context/scripts/mkiv/mtx-server.html @@ -17,7 +17,7 @@ Simple Webserver For Helpers 0.10 diff --git a/doc/context/scripts/mkiv/mtx-server.man b/doc/context/scripts/mkiv/mtx-server.man index 3c115c0c1..5dec932e3 100644 --- a/doc/context/scripts/mkiv/mtx-server.man +++ b/doc/context/scripts/mkiv/mtx-server.man @@ -1,4 +1,4 @@ -.TH "mtx-server" "1" "01-01-2016" "version 0.10" "Simple Webserver For Helpers" +.TH "mtx-server" "1" "01-01-2017" "version 0.10" "Simple Webserver For Helpers" .SH NAME .B mtx-server .SH SYNOPSIS diff --git a/doc/context/scripts/mkiv/mtx-texworks.html b/doc/context/scripts/mkiv/mtx-texworks.html index 624e9ab18..5de6a748f 100644 --- a/doc/context/scripts/mkiv/mtx-texworks.html +++ b/doc/context/scripts/mkiv/mtx-texworks.html @@ -17,7 +17,7 @@ TeXworks Startup Script 1.00 diff --git a/doc/context/scripts/mkiv/mtx-texworks.man b/doc/context/scripts/mkiv/mtx-texworks.man index 1422b802a..e475dc10e 100644 --- a/doc/context/scripts/mkiv/mtx-texworks.man +++ b/doc/context/scripts/mkiv/mtx-texworks.man @@ -1,4 +1,4 @@ -.TH "mtx-texworks" "1" "01-01-2016" "version 1.00" "TeXworks Startup Script" +.TH "mtx-texworks" "1" "01-01-2017" "version 1.00" "TeXworks Startup Script" .SH NAME .B mtx-texworks .SH SYNOPSIS diff --git a/doc/context/scripts/mkiv/mtx-timing.html b/doc/context/scripts/mkiv/mtx-timing.html index 9626f6d81..1da0e6439 100644 --- a/doc/context/scripts/mkiv/mtx-timing.html +++ b/doc/context/scripts/mkiv/mtx-timing.html @@ -17,7 +17,7 @@ ConTeXt Timing Tools 0.10 diff --git a/doc/context/scripts/mkiv/mtx-timing.man b/doc/context/scripts/mkiv/mtx-timing.man index 9a5b98790..3a9f76a5e 100644 --- a/doc/context/scripts/mkiv/mtx-timing.man +++ b/doc/context/scripts/mkiv/mtx-timing.man @@ -1,4 +1,4 @@ -.TH "mtx-timing" "1" "01-01-2016" "version 0.10" "ConTeXt Timing Tools" +.TH "mtx-timing" "1" "01-01-2017" "version 0.10" "ConTeXt Timing Tools" .SH NAME .B mtx-timing .SH SYNOPSIS diff --git a/doc/context/scripts/mkiv/mtx-tools.html b/doc/context/scripts/mkiv/mtx-tools.html index ae3933f24..0cb6d6de3 100644 --- a/doc/context/scripts/mkiv/mtx-tools.html +++ b/doc/context/scripts/mkiv/mtx-tools.html @@ -17,7 +17,7 @@ Some File Related Goodies 1.01 diff --git a/doc/context/scripts/mkiv/mtx-tools.man b/doc/context/scripts/mkiv/mtx-tools.man index b828f48d0..adebb7202 100644 --- a/doc/context/scripts/mkiv/mtx-tools.man +++ b/doc/context/scripts/mkiv/mtx-tools.man @@ -1,4 +1,4 @@ -.TH "mtx-tools" "1" "01-01-2016" "version 1.01" "Some File Related Goodies" +.TH "mtx-tools" "1" "01-01-2017" "version 1.01" "Some File Related Goodies" .SH NAME .B mtx-tools .SH SYNOPSIS diff --git a/doc/context/scripts/mkiv/mtx-unicode.html b/doc/context/scripts/mkiv/mtx-unicode.html index c042b28c0..6c0729e0e 100644 --- a/doc/context/scripts/mkiv/mtx-unicode.html +++ b/doc/context/scripts/mkiv/mtx-unicode.html @@ -17,7 +17,7 @@ Checker for char-def.lua 1.02 diff --git a/doc/context/scripts/mkiv/mtx-unicode.man b/doc/context/scripts/mkiv/mtx-unicode.man index 4f520b9b8..3d9ec0785 100644 --- a/doc/context/scripts/mkiv/mtx-unicode.man +++ b/doc/context/scripts/mkiv/mtx-unicode.man @@ -1,4 +1,4 @@ -.TH "mtx-unicode" "1" "01-01-2016" "version 1.02" "Checker for char-dat.lua" +.TH "mtx-unicode" "1" "01-01-2017" "version 1.02" "Checker for char-dat.lua" .SH NAME .B mtx-unicode .SH SYNOPSIS diff --git a/doc/context/scripts/mkiv/mtx-unzip.html b/doc/context/scripts/mkiv/mtx-unzip.html index 6bc987e8f..885599f8f 100644 --- a/doc/context/scripts/mkiv/mtx-unzip.html +++ b/doc/context/scripts/mkiv/mtx-unzip.html @@ -17,7 +17,7 @@ Simple Unzipper 0.10 diff --git a/doc/context/scripts/mkiv/mtx-unzip.man b/doc/context/scripts/mkiv/mtx-unzip.man index 548ca1dc3..d6e3ded10 100644 --- a/doc/context/scripts/mkiv/mtx-unzip.man +++ b/doc/context/scripts/mkiv/mtx-unzip.man @@ -1,4 +1,4 @@ -.TH "mtx-unzip" "1" "01-01-2016" "version 0.10" "Simple Unzipper" +.TH "mtx-unzip" "1" "01-01-2017" "version 0.10" "Simple Unzipper" .SH NAME .B mtx-unzip .SH SYNOPSIS diff --git a/doc/context/scripts/mkiv/mtx-update.html b/doc/context/scripts/mkiv/mtx-update.html index feae398ec..577453246 100644 --- a/doc/context/scripts/mkiv/mtx-update.html +++ b/doc/context/scripts/mkiv/mtx-update.html @@ -17,7 +17,7 @@ ConTeXt Minimals Updater 1.02 diff --git a/doc/context/scripts/mkiv/mtx-update.man b/doc/context/scripts/mkiv/mtx-update.man index 3a3ca6ae8..5e1313aa6 100644 --- a/doc/context/scripts/mkiv/mtx-update.man +++ b/doc/context/scripts/mkiv/mtx-update.man @@ -1,4 +1,4 @@ -.TH "mtx-update" "1" "01-01-2016" "version 1.02" "ConTeXt Minimals Updater" +.TH "mtx-update" "1" "01-01-2017" "version 1.02" "ConTeXt Minimals Updater" .SH NAME .B mtx-update .SH SYNOPSIS diff --git a/doc/context/scripts/mkiv/mtx-watch.html b/doc/context/scripts/mkiv/mtx-watch.html index 42b55280e..1f0e49bb4 100644 --- a/doc/context/scripts/mkiv/mtx-watch.html +++ b/doc/context/scripts/mkiv/mtx-watch.html @@ -17,7 +17,7 @@ ConTeXt Request Watchdog 1.00 diff --git a/doc/context/scripts/mkiv/mtx-watch.man b/doc/context/scripts/mkiv/mtx-watch.man index 1fcb090d0..acb5ff22d 100644 --- a/doc/context/scripts/mkiv/mtx-watch.man +++ b/doc/context/scripts/mkiv/mtx-watch.man @@ -1,4 +1,4 @@ -.TH "mtx-watch" "1" "01-01-2016" "version 1.00" "ConTeXt Request Watchdog" +.TH "mtx-watch" "1" "01-01-2017" "version 1.00" "ConTeXt Request Watchdog" .SH NAME .B mtx-watch .SH SYNOPSIS diff --git a/doc/context/scripts/mkiv/mtx-youless.html b/doc/context/scripts/mkiv/mtx-youless.html index 7f7fda694..6edb3fee6 100644 --- a/doc/context/scripts/mkiv/mtx-youless.html +++ b/doc/context/scripts/mkiv/mtx-youless.html @@ -17,7 +17,7 @@ YouLess Fetcher 1.00 diff --git a/doc/context/scripts/mkiv/mtx-youless.man b/doc/context/scripts/mkiv/mtx-youless.man index d360430bd..b48113381 100644 --- a/doc/context/scripts/mkiv/mtx-youless.man +++ b/doc/context/scripts/mkiv/mtx-youless.man @@ -1,4 +1,4 @@ -.TH "mtx-youless" "1" "01-01-2016" "version 1.00" "youless Fetcher" +.TH "mtx-youless" "1" "01-01-2017" "version 1.00" "youless Fetcher" .SH NAME .B mtx-youless .SH SYNOPSIS diff --git a/doc/context/scripts/mkiv/mtxrun.html b/doc/context/scripts/mkiv/mtxrun.html index 6e4146899..8b6155041 100644 --- a/doc/context/scripts/mkiv/mtxrun.html +++ b/doc/context/scripts/mkiv/mtxrun.html @@ -14,17 +14,17 @@ - ConTeXt TDS Runner Tool 1.31 + ConTeXt TDS Runner Tool 1.32
-
ConTeXt TDS Runner Tool 1.31
+
ConTeXt TDS Runner Tool 1.32
@@ -86,6 +86,7 @@ --experimentsshow (known) experiments --expand-bracesexpand complex variable + --resolve-pathexpand variable (completely resolve paths) --expand-pathexpand variable (resolve paths) --expand-varexpand variable (resolve references) --show-pathshow path expansion of ... diff --git a/doc/context/scripts/mkiv/mtxrun.man b/doc/context/scripts/mkiv/mtxrun.man index 90a0f9152..5ddb5f6b2 100644 --- a/doc/context/scripts/mkiv/mtxrun.man +++ b/doc/context/scripts/mkiv/mtxrun.man @@ -1,4 +1,4 @@ -.TH "mtxrun" "1" "01-01-2016" "version 1.31" "ConTeXt TDS Runner Tool" +.TH "mtxrun" "1" "01-01-2017" "version 1.32" "ConTeXt TDS Runner Tool" .SH NAME .B mtxrun .SH SYNOPSIS @@ -119,6 +119,9 @@ show (known) experiments .B --expand-braces expand complex variable .TP +.B --resolve-path +expand variable (completely resolve paths) +.TP .B --expand-path expand variable (resolve paths) .TP diff --git a/doc/context/scripts/mkiv/mtxrun.xml b/doc/context/scripts/mkiv/mtxrun.xml index 138afc96e..25f58545f 100644 --- a/doc/context/scripts/mkiv/mtxrun.xml +++ b/doc/context/scripts/mkiv/mtxrun.xml @@ -3,7 +3,7 @@ mtxrun ConTeXt TDS Runner Tool - 1.31 + 1.32 @@ -66,6 +66,7 @@ expand complex variable + expand variable (completely resolve paths) expand variable (resolve paths) expand variable (resolve references) show path expansion of ... diff --git a/doc/context/sources/general/fonts/fonts/fonts-appendix.tex b/doc/context/sources/general/fonts/fonts/fonts-appendix.tex new file mode 100644 index 000000000..ae42b10fa --- /dev/null +++ b/doc/context/sources/general/fonts/fonts/fonts-appendix.tex @@ -0,0 +1,484 @@ +% language=uk + +\startcomponent fonts-appendix + +\environment fonts-environment + +\startchapter[title=Appendix][color=darkgray] + +\startsection[title=The \type {tfm} file,reference=fontdata:tfm] + +The (binary) \type {tfm} file is not human readable but can be turned into a +verbose property list which is not that hard to understand. + +\starttyping +tftopl texnansi-lmr10.tfm +\stoptyping + +Here is an excerpt from the data file. It starts with some general properties of +the font. The \type {O} means that the value is in octal while the \type {R} is a +real. Keep in mind that \TEX\ has no datatype \quote {real} so internally it is +just integers representing scaled points. + +\startnarrowtyping +(FAMILY LMROMAN10) +(FACE O 352) +(CODINGSCHEME LY1 ENCODING /TEX'N'ANSI, Y&Y/) +(DESIGNSIZE R 10.0) +(COMMENT DESIGNSIZE IS IN POINTS) +(COMMENT OTHER SIZES ARE MULTIPLES OF DESIGNSIZE) +(CHECKSUM O 4720464277) +\stopnarrowtyping + +A text font has the following font dimensions: + +\startnarrowtyping +(FONTDIMEN + (SLANT R 0.0) + (SPACE R 0.333333) + (STRETCH R 0.166667) + (SHRINK R 0.111112) + (XHEIGHT R 0.43055) + (QUAD R 1.0) + (EXTRASPACE R 0.111112) + ... +) +\stopnarrowtyping + +Kerns and ligatures are packed into a table that is basically a sequence of +labelled entries. Here we see the entry for the character \type {f} which has +three ligatures: \type {ff}, \type {fi} and \type {fl}. Because ligatures can be +chained, octal slot 13 will have ligature entries for \type {ffl} and \type +{ffi}. + +\startnarrowtyping +(LIGTABLE + ... + (LABEL C f) + (LIG C f O 13) + (LIG C i O 14) + (LIG C l O 10) + (KRN O 135 R 0.027779) + (KRN O 41 R 0.027779) + (KRN O 51 R 0.027779) + (KRN O 77 R 0.027779) + (KRN O 223 R 0.027779) + (KRN O 224 R 0.027779) + (KRN O 140 R 0.027779) + (KRN O 47 R 0.027779) + (STOP) + ... +) +\stopnarrowtyping + +Each character gets its own entry. In this case there is no depth involved so it +is not shown. The comment is just a repetition of the entry in the ligtable. + +\startnarrowtyping +(CHARACTER C f + (CHARWD R 0.30555) + (CHARHT R 0.688875) + (CHARIC R 0.079222) + (COMMENT + (LIG C f O 13) + (LIG C i O 14) + (LIG C l O 10) + (KRN O 135 R 0.027779) + (KRN O 41 R 0.027779) + (KRN O 51 R 0.027779) + (KRN O 77 R 0.027779) + (KRN O 223 R 0.027779) + (KRN O 224 R 0.027779) + (KRN O 140 R 0.027779) + (KRN O 47 R 0.027779) + ) +) +\stopnarrowtyping + +\stopsection + +\startsection[title=The \type {vf} file,reference=fontdata:vf] + +A virtual font specification file can be converted to a more readable format with +\type {vftovp}, for instance: + +\starttyping +vftovp eurm10.vf +\stoptyping + +The information in a \type {vf} file will be combined with the data in the +accompanying \type {tfm} file so the output looks similar: + +\startnarrowtyping +(VTITLE ) +(FAMILY UNSPECIFIED) +(FACE F MRR) +(CODINGSCHEME TEX MATH ITALIC) +(DESIGNSIZE R 10.0) +(COMMENT DESIGNSIZE IS IN POINTS) +(COMMENT OTHER SIZES ARE MULTIPLES OF DESIGNSIZE) +(CHECKSUM O 24401046203) +(SEVENBITSAFEFLAG TRUE) +\stopnarrowtyping + +Because this font is a math font there is no space defined. + +\startnarrowtyping +(FONTDIMEN + (SLANT R 0.0) + (SPACE R 0.0) + (STRETCH R 0.0) + (SHRINK R 0.0) + (XHEIGHT R 0.459) + (QUAD R 1.0) + (EXTRASPACE R 0.0) +) +\stopnarrowtyping + +A virtual font will take glyphs from another font and therefore there are entries +that refer to these fonts. In the following definition index \type {0} is created +(the \type {D} specifies a decimal entry). + +\startnarrowtyping +(MAPFONT D 0 + (FONTNAME eurm10) + (FONTCHECKSUM O 4276740471) + (FONTAT R 1.0) + (FONTDSIZE R 10.0) +) +(MAPFONT D 1 + (FONTNAME cmmi10) + (FONTCHECKSUM O 1350061076) + (FONTAT R 1.0) + (FONTDSIZE R 10.0) +) +\stopnarrowtyping + +The zero indexed font is the default, so in the following entry this font is +taken: + +\startnarrowtyping +(CHARACTER C W + (CHARWD R 0.986) + (CHARHT R 0.691) + (CHARIC R 0.056) + (COMMENT + (KRN O 177 R 0.056) + (KRN O 75 R -0.056) + (KRN O 73 R -0.083) + (KRN O 72 R -0.083) + ) + (MAP + (SETCHAR C W) + ) +) +\stopnarrowtyping + +The next specification is a combination of two other glyphs becoming a new +glyph. We see here that the \type {MAP} table is actually a sort of program: + +\startnarrowtyping +(CHARACTER O 200 + (CHARWD R 0.622) + (CHARHT R 0.691) + (MAP + (PUSH) + (MOVEDOWN R -0.18) + (MOVERIGHT R 0.015) + (SELECTFONT D 2) + (SETCHAR O 40) + (POP) + (SELECTFONT D 0) + (SETCHAR C h) + ) +) +\stopnarrowtyping + +The character information is also in the \type {tfm} companion and that is what +\TEX\ uses. The virtual information kicks in when the backend is creating the +page stream and embedding the fonts. + +\stopsection + +\startsection[title=The \type {map} file,reference=fontdata:map] + +In a map file each line maps a font name onto a file that contains the font +shapes in bitmap or outline format. For instance in the file \type +{lm-texnansi.map} we find the line: + +\startnarrowtyping +texnansi-lmr10 LMRoman10-Regular "enclmtexnansi ReEncodeFont" combining > }\hbox to .5em{\hss Ѷ\hss}\type{ (U+00476) = }\hbox to .5em{\hss Ѵ\hss}\type{ (U+00474) + ̏ (U+0030F)} +\type{fonts > combining > }\hbox to .5em{\hss ѷ\hss}\type{ (U+00477) = }\hbox to .5em{\hss ѵ\hss}\type{ (U+00475) + ̏ (U+0030F)} +\stoplines + +This trace showed up after giving: + +\starttyping +\enabletrackers + [fonts.composing.define] + +\definefontfeature + [default-plus-compose] + [compose=yes] + +\definefont + [MyFont] + [Serif*default-plus-compose] +\stoptyping + +Fonts like Latin Modern have lots of glyphs but still lack some. Although the +composer can add some of the missing, some of those new virtual glyphs probably +will never look real good. For instance, putting additional accents on top of +already accented uppercase characters will fail when that character has a rather +tight (or even clipped) boundingbox in order not to spoil the lineheight. You can +get some more insight in the process by turning on tracing: + +\starttyping +\enabletrackers[fonts.composing.visualize] +\stoptyping + +One reason why composing can be suboptimal is that it uses the boundingbox of the +characters that are combined. If you really depend on a specific font and need +some of the missing characters it makes sense to spend some time on optimizing +the rendering. This can be done via the goodies mechanism. As an example we've +added \type {lm-compose-test.lfg} to the distribution. First we show how it +looks at the \TEX\ end: + +\startbuffer +\enabletrackers[fonts.composing.visualize] + +\definefontfeature + [default-plus-compose] + [compose=yes] + +\loadfontgoodies + [lm-compose-test] % playground + +\definefont + [MyComposedSerif] + [file:lmroman10regular*default-plus-compose at 48pt] +\stopbuffer + +\typebuffer \getbuffer + +\blank +\backgroundline + [halfcolor] + {\MyComposedSerif B\quad\char"1E02\quad\char"1E04} +\blank + +The positions of the dot accents on top and below the capital B is defined +in a goodie file: + +\starttyping +return { + name = "lm-compose-test", + version = "1.00", + comment = "Goodies that demonstrate composition.", + author = "Hans and Mojca", + copyright = "ConTeXt development team", + compositions = { + ["lmroman12-regular"] = compose, + } +} +\stoptyping + +As this is an experimental feature there are several ways to deal with +this. For instance: + +\starttyping +local defaultfraction = 10.0 + +local compose = { + dy = defaultfraction, + [0x1E02] = { -- B dot above + dy = 150 + }, + [0x1E04] = { -- B dot below + dy = 150 + }, +} +\stoptyping + +Here the fraction is relative to the difference between the height of the +accentee and the accent. A better solution is the following: + +\starttyping +local compose = { + [0x1E02] = { -- B dot above + anchored = "top", + }, + [0x1E04] = { -- B dot below + anchored = "bottom", + }, + [0x0042] = { -- B + anchors = { + top = { + x = 300, y = 700, + }, + bottom = { + x = 300, y = -30, + }, + }, + }, + [0x0307] = { + anchors = { + top = { + x = -250, y = 550, + }, + }, + }, + [0x0323] = { + anchors = { + bottom = { + x = -250, y = -80, + }, + }, + }, +} +\stoptyping + +This approach is more or less the same as \OPENTYPE\ anchoring. It takes a bit +more effort to define these tables but the result is better. + +\stopsection + +\startsection[title=Kerning] + +Inter|-|character kerning is not supported at the font level and with good +reason. The fact that something is conceptually possible doesn't mean that we +should use or support it. Normally proper kerning (or the lack of it) is part +of a font design and for some scripts different kerning is not even an option. + +On the average \TEX\ does a proper job on justification but not all programs +are that capable. As a consequence designers (at least we ran into it) tend to +stick to flush left rendering because they don't trust their system to do a +proper job otherwise. On the other hand they seem to have no problem with +messing up the inter|-|character spacing and even combine that with excessive +inter|-|word spacing {\em if} they want to achieve justification (without +hyphenation). And it can become even worse when extreme glyph expansion (like +hz) is applied. + +Anyhow, it will be clear that consider messing with properties like kerning that +are part of the font design is to be done careful. + +\definecharacterkerning [extremekerning] [factor=.125] + +\start \setcharacterkerning[extremekerning] + +For running text additional kerning makes no sense. It not only looks +bad, it also spoils the grayness of a text. When it is applied we need +to deal with special cases. For instance ligatures make no sense so they +should be disabled. Additional kerning should relate to already present +kerning and interword spacing should be adapted accordingly. Embedded +non|-|characters also need to be treated well. + +\par \stop + +This paragraph was typeset as follows: + +\starttyping +\definecharacterkerning [extremekerning] [factor=.125] + +\setcharacterkerning[extremekerning] ... text ... +\stoptyping + +Where additional kerning can make sense, is in titles. The previous +command can do that job. In addition we have a mechanism that +fills a given space. This mechanism uses the following definition: + +\starttyping +\setupcharacterkerning + [stretched] + [factor=max, + width=\availablehsize] +\stoptyping + +\startbuffer +\stretched{\bfd to the limit} +\stopbuffer + +\typebuffer + +\blank \start \color[maincolor]{\getbuffer} \stop \blank + +The following does not work: + +\startbuffer +\ruledhbox to 5cm{\stretched{\bfd to the limit}} +\stopbuffer + +\typebuffer + +\blank \start \color[maincolor]{\getbuffer} \stop \blank + +But this works ok: + +\startbuffer +\setupcharacterkerning + [stretched] + [width=] + +\stretched{\bfd to the limit} +\stopbuffer + +\typebuffer + +\blank \start \color[maincolor]{\getbuffer} \stop \blank + +You can also say this: + +\startbuffer +\stretched[width=]{\bfd to the limit} +\stopbuffer + +\typebuffer + +\blank \start \color[maincolor]{\getbuffer} \stop \blank + +or: + +\startbuffer +\ruledhbox{\stretched[width=10cm]{\bfd to the limit}} +\stopbuffer + +\typebuffer + +\blank \start \color[maincolor]{\getbuffer} \stop \blank + +You can get some insight in what kerning does to your font by the following +command: + +\startbuffer +\usemodule[typesetting-kerning] + +\starttext + \showcharacterkerningsteps + [style=Bold, + sample=how to violate a proper font design, + text=rubish, + first=0, + last=45, + step=5] +\stoptext +\stopbuffer + +\typebuffer + +\blank \getbuffer \blank + +\stopsection + +\startsection[title=Extra font kerns] + +Fonts are processed independent of each other. Sometimes that is unfortunate for +kerning, although in practice it won't happen that often. We can enable an +additional kerning mechanism to deal with these cases. The \type +{\setextrafontkerns} command takes one argument between square brackets. The +effect can be seen below: + +\startbuffer + VA {\smallcaps va} V{\smallcaps a} + VA {\bf VA} V{\bf A} {\bf V}A + V{\it A} +\stopbuffer + +\starttabulate[|Tl|l|p|] +\HL +\BC key \BC result \BC logic \NC \NR +\HL +\NC no kerns \NC \showfontkerns\setextrafontkerns[reset]\subff{f:kern}\inlinebuffer \NC no kerns at all \NC \NR +\NC kerns \NC \showfontkerns\setextrafontkerns[reset]\inlinebuffer \NC kerns within a font (feature) run \NC \NR +\HL +\NC none \NC \showfontkerns\setextrafontkerns [none]\inlinebuffer \NC only extra kerns within fonts \NC \NR +\NC min \NC \showfontkerns\setextrafontkerns [min]\inlinebuffer \NC minimal kerns within and across fonts \NC \NR +\NC max \NC \showfontkerns\setextrafontkerns [max]\inlinebuffer \NC maximum kerns within and across fonts \NC \NR +\NC mixed \NC \showfontkerns\setextrafontkerns[mixed]\inlinebuffer \NC averaged kerns within and across fonts \NC \NR +\HL +\stoptabulate + +The content is defined as: + +\typebuffer + +This mechanism obeys grouping so you have complete control over where and when +it gets applied. The \type {\showfontkerns} command can be used to trace the +injection of (font) kerns. + +\stopsection + +\startsection[title=Ligatures] + +For some Latin fonts ligature building is quite advanced, take Unifraktur. I have no +problem admitting that I find fraktur hard to read, but this one actually is sort of +an exception. It's also a good candidate for a screen presentation where you mainly +made notes for yourself: no one has to read it, but it looks great, especially if +you consider it to be drawn by a pen. + +Anyway, we will use the following code as example (based on some remarks on the +fonts website). + +\startbuffer[sample] +sitzen / ſitzen / effe fietsen / ch ck ſt tz ſi fi +\stopbuffer + +\typebuffer[sample] + +Some ligatures are implemented in the usual way, using the \type {liga} and \type {dlig} +features, others kick in thanks to \type {ccmp}. This fact alone is an illustration that +the low level \OPENTYPE\ ligature feature is not related to ligatures at all but a more +generic mechanism: you can basically combine multiple shapes into one in all features +exposed to the user. + +We define a bunch of specific feature sets: + +\startbuffer +\definefontfeature + [unifraktur-a] + [default] +\definefontfeature + [unifraktur-b] + [default] + [goodies=unifraktur,keepligatures=yes] +\definefontfeature + [unifraktur-c] + [default] + [ccmp=yes] +\definefontfeature + [unifraktur-d] + [default] + [ccmp=yes,goodies=unifraktur,keepligatures=yes] +\definefontfeature + [unifraktur-e] + [default] + [liga=no,rlig=no,clig=no,dlig=no,ccmp=yes,keepligatures=auto] +\stopbuffer + +\getbuffer \typebuffer + +and also some fonts: + +\startbuffer +\definefont[TestA][UnifrakturCook*unifraktur-a sa 0.9] +\definefont[TestB][UnifrakturCook*unifraktur-b sa 0.9] +\definefont[TestC][UnifrakturCook*unifraktur-c sa 0.9] +\definefont[TestD][UnifrakturCook*unifraktur-d sa 0.9] +\definefont[TestE][UnifrakturCook*unifraktur-e sa 0.9] +\stopbuffer + +\getbuffer \typebuffer + +We show these five alternatives here: + +\starttabulate[|T||] +\NC liga \NC \TestA\getbuffer[sample] \NC \NR +\NC liga + keepligatures \NC \TestB\getbuffer[sample] \NC \NR +\NC liga + ccmp \NC \TestC\getbuffer[sample] \NC \NR +\NC liga + ccmp + keepligatures \NC \TestD\getbuffer[sample] \NC \NR +\NC ccmp + keepligatures \NC \TestE\getbuffer[sample] \NC \NR +\stoptabulate + +The real fun starts when we want to add extra spacing between characters. Some +ligatures need to get broken and some kept. + +\startbuffer +\setupcharacterkerning[kerncharacters][factor=0.5] +\setupcharacterkerning[letterspacing] [factor=0.5] +\stopbuffer + +\getbuffer \typebuffer + +\enabletrackers[typesetters.kerns.ligatures] + +Next we will see how ligatures behave depending on how the mechanisms are set +up. The colors indicate what trickery is used: + +\starttabulate[|T||] +\NC \color[darkred] {red} \NC kept by dynamic feature \NC \NR +\NC \color[darkgreen]{green} \NC kept by static feature \NC \NR +\NC \color[darkblue] {blue} \NC keep by goodie \NC \NR +\stoptabulate + +First we use \type {\kerncharacters}: + +\starttabulate[|T||] +\NC liga \NC \kerncharacters {\TestA\getbuffer[sample]} \NC \NR +\NC liga + keepligatures \NC \kerncharacters {\TestB\getbuffer[sample]} \NC \NR +\NC liga + ccmp \NC \kerncharacters {\TestC\getbuffer[sample]} \NC \NR +\NC liga + ccmp + keepligatures \NC \kerncharacters {\TestD\getbuffer[sample]} \NC \NR +\NC ccmp + keepligatures \NC \kerncharacters {\TestE\getbuffer[sample]} \NC \NR +\stoptabulate + +In the next example we use \type {\letterspacing}: + +\starttabulate[|T||] +\NC liga \NC \letterspacing {\TestA\getbuffer[sample]} \NC \NR +\NC liga + keepligatures \NC \letterspacing {\TestB\getbuffer[sample]} \NC \NR +\NC liga + ccmp \NC \letterspacing {\TestC\getbuffer[sample]} \NC \NR +\NC liga + ccmp + keepligatures \NC \letterspacing {\TestD\getbuffer[sample]} \NC \NR +\NC ccmp + keepligatures \NC \letterspacing {\TestE\getbuffer[sample]} \NC \NR +\stoptabulate + +\disabletrackers[typesetters.kerns.ligatures] + +The difference is that the letterspacing variant dynamically adds the predefined +featureset \type {letterspacing} which is defined in a similar way as \type +{unifraktur-e}. In the case of this font, this variant is the better one to use. +In fact, this variant probably works okay with most fonts. However, by not hard +coding this behaviour we keep control, as one never knows what the demands are. +When no features are used, information from the (given) goodie file \type +{unifraktur.lfg} is consulted: + +\starttyping +letterspacing = { + -- watch it: zwnj's are used (in the tounicodes too) + keptligatures = { + ["c_afii301_k.ccmp"] = true, -- ck + ["c_afii301_h.ccmp"] = true, -- ch + ["t_afii301_z.ccmp"] = true, -- tz + ["uniFB05"] = true, -- ſt + }, +} +\stoptyping + +These kick in when we don't disable ligatures by setting features (case~e). + +There are two pseudo features that can help us out when a font doesn't provide +the wanted ligatures but has the right glyphs for building them. The \UNICODE\ +database has some information about how characters can be (de)composed and we can +use that information to create virtual glyphs: + +\starttyping +\definefontfeature + [default] [default] + [char-ligatures=yes,mode=node] +\stoptyping + +and: + +\starttyping +\definefontfeature + [default] [default] + [compat-ligatures=yes,mode=node] +\stoptyping + +This feature was added after some discussion on the \CONTEXT\ mailing list about +the following use case. + +\startbuffer +\definefontfeature + [default-l] [default] + [char-ligatures=yes, + compat-ligatures=yes, + mode=node] + +\definefont[LigCd][cambria*default] +\definefont[LigPd][texgyrepagellaregular*default] +\definefont[LigCl][cambria*default-l] +\definefont[LigPl][texgyrepagellaregular*default-l] +\stopbuffer + +\typebuffer \getbuffer + +These definitions result in: + +\starttabulate[|l|l|l|l|l|] +\NC \NC \type {\LigCd} \NC \type {\LigPd} \NC \type {\LigCl} \NC \type {\LigPl} \NC \NR +\NC \type{PEL·LÍCULES} \NC \LigCd PEL·LÍCULES \NC \LigPd PEL·LÍCULES \NC \LigCl PEL·LÍCULES \NC \LigPl PEL·LÍCULES \NC \NR +\NC \type{pel·lícules} \NC \LigCd pel·lícules \NC \LigPd pel·lícules \NC \LigCl pel·lícules \NC \LigPl pel·lícules \NC \NR +\NC \type{PEĿLÍCULES} \NC \LigCd PEĿLÍCULES \NC \LigPd PEĿLÍCULES \NC \LigCl PEĿLÍCULES \NC \LigPl PEĿLÍCULES \NC \NR +\NC \type{peŀlícules} \NC \LigCd peŀlícules \NC \LigPd peŀlícules \NC \LigCl peŀlícules \NC \LigPl peŀlícules \NC \NR +\stoptabulate + +Of course one can wonder is this is the right approach and if it's not better to +use a font that provides the needed characters in the first place. + +\stopsection + +\startsection[title=New features] + +\startsubsection[title=Substitution] + +It is possible to add new features via \LUA. Here is an example of a single +substitution: + +\startbuffer +\startluacode + fonts.handlers.otf.addfeature { + name = "stest", + type = "substitution", + data = { + a = "X", + b = "P", + } + } +\stopluacode +\stopbuffer + +\typebuffer \getbuffer + +We show an overview at the end of this section, but here is a simple example +already. You need to define the feature before defining a font because otherwise +the font will not know about it. + +\startbuffer +\definefontfeature[stest][stest=yes] +\definedfont[file:dejavu-serifbold.ttf*default] +abracadabra: \addff{stest}abracadabra +\stopbuffer + +\typebuffer \start \blank \maincolor \getbuffer \blank \stop + +Instead of (more readable) glyph names you can also give \UNICODE\ numbers: + +\starttyping +\startluacode + fonts.handlers.otf.addfeature { + name = "stest", + type = "substitution", + data = { + [0x61] = 0x58 + [0x62] = 0x50 + } + } +\stopluacode +\stoptyping + +The definition is quite simple: we just map glyph names (or unicodes) onto +other ones. An alternate is also possible: + +\startbuffer +\startluacode + fonts.handlers.otf.addfeature { + name = "atest", + type = "alternate", + data = { + a = { "X", "Y" }, + b = { "P", "Q" }, + } + } +\stopluacode +\stopbuffer + +\typebuffer \getbuffer + +Less useful is a multiple substitution. Normally this one is part of a chain of +replacements. + +\startbuffer +\startluacode + fonts.handlers.otf.addfeature { + name = "mtest", + type = "multiple", + data = { + a = { "X", "Y" }, + b = { "P", "Q" }, + } + } +\stopluacode +\stopbuffer + +\typebuffer \getbuffer + +A ligature (or multiple to one) is also possible but normally only makes sense when +there is indeed a ligature. We use a similar definition for mapping the \TEX\ input +sequence \type {---} onto an \emdash. + +\startbuffer +\startluacode + fonts.handlers.otf.addfeature { + name = "ltest", + type = "ligature", + data = { + ['1'] = { "a", "b" }, + ['2'] = { "d", "a" }, + } + } +\stopluacode +\stopbuffer + +\typebuffer \getbuffer + +\stopsubsection + +\startsubsection[title=Positioning] + +You can define a kern feature too but when doing so you need to use measures in +font units. + +\startbuffer +\startluacode + fonts.handlers.otf.addfeature { + name = "ktest", + type = "kern", + data = { + a = { b = -500 }, + } + } +\stopluacode +\stopbuffer + +\typebuffer \getbuffer + +Pairwise positioning is more complex and involves two (optional) arrays +that specify \type {{dx dy wd ht}} for each of the two glyphs. In the next +example we only displace the second glyph. + +\startbuffer +\startluacode + fonts.handlers.otf.addfeature { + name = "ptest", + type = "pair", + data = { + ["a"] = { ["b"] = { false, { -1000, 1200, 0, 0 } } }, + } + } +\stopluacode +\stopbuffer + +\typebuffer \getbuffer + +Of course you need to know a bit about the metrics of the glyphs involved so in +practice this boils down to trial and error. + +\stopsubsection + +\startsubsection[title=Examples] + +We didn't show usage yet. This is because we need to define a feature before we +define a font. New features will be added to a font when it gets defined. + +\startbuffer +\definefontfeature[stest][stest=yes] +\definefontfeature[atest][atest=2] +\definefontfeature[mtest][mtest=yes] +\definefontfeature[ltest][ltest=yes] +\definefontfeature[ktest][ktest=yes] +\definefontfeature[ptest][ptest=yes] +\definefontfeature[ctest][ctest=yes] + +\definedfont[file:dejavu-serif.ttf*default] + +\starttabulate[|l|l|l|] +\NC operation \NC feature \NC abracadabra \NC \NR +\HL +\NC substitution \NC \type {stest} \NC \addff{stest}abracadabra \NC \NR +\NC alternate \NC \type {atest} \NC \addff{atest}abracadabra \NC \NR +\NC multiple \NC \type {mtest} \NC \addff{mtest}abracadabra \NC \NR +\NC ligature \NC \type {ltest} \NC \addff{ltest}abracadabra \NC \NR +\NC kern \NC \type {ktest} \NC \addff{ktest}abracadabra \NC \NR +\NC pair \NC \type {ptest} \NC \addff{ptest}abracadabra \NC \NR +\NC chain sub \NC \type {ctest} \NC \addff{ctest}abracadabra \NC \NR +\stoptabulate +\stopbuffer + +\typebuffer \getbuffer + +\stopsubsection + +\startsubsection[title=Contexts] + +A more complex substitution is the following: + +\startbuffer +\startluacode + fonts.handlers.otf.addfeature { + name = "ytest", + type = "chainsubstitution", + lookups = { + { + type = "substitution", + data = { + ["b"] = "B", + ["c"] = "C", + }, + }, + }, + data = { + rules = { + { + before = { { "a" } }, + current = { { "b", "c" } }, + lookups = { 1 }, + }, + }, + }, + } +\stopluacode +\stopbuffer + +\typebuffer \getbuffer + +Here the dataset is a sequence of rules. There can be a \type {before}, \type +{current} and \type {after} match. The replacements are specified with the \type +{lookups} entry and the numbers are indices in the provided \type {lookups} +table. + +\stopsubsection + +\startsubsection[title={Language dependencies}] + +When \OPENTYPE\ was not around we only had to deal with ligatures, smallcaps and +oldstyle and of course kerns. Their number was so small that the term \quote +{features} was not even used. In practice one just loaded a font that had +oldstyle or smallcaps or none of that and was done. There were different fonts and +sold separately. + +In \OPENTYPE\ we have more variation and although these fonts can be much more +advanced the lack of standardization (for instance what gets initialized, or what +shapes are in the default slots) can lead to messy setups. Some fonts bind +features to scripts, some don't, which means that: + +\starttyping +\definefontfeature[smallcaps][smcp=yes,script=dflt] +\definefontfeature[smallcaps][smcp=yes,script=latn] +\definefontfeature[smallcaps][smcp=yes,script=cyrl] +\stoptyping + +are in fact different and you don't know in advance if you need to specify \type +{dflt} or \type {latn}. In practice for a feature like smallcaps there is no +difference between languages, but for ligatures there can be. + +When we extend an existing feature we can think of: + +\starttyping +\definefontfeature[smallcaps][default][smcp=yes,script=auto] +\definefontfeature[smallcaps][default][smcp=yes,script=*] +\stoptyping + +but that can have side effects too (for instance disabling language specific +features). The easiest way to explore this language dependency is to make +a feature of our own. + +\startbuffer +\startluacode +fonts.handlers.otf.addfeature { + name = "simplify", + type = "multiple", + prepend = true, + features = { + ["*"] = { + ["deu"] = true + } + }, + data = { + [utf.byte("ä")] = { "a", "e" }, + [utf.byte("Ä")] = { "A", "E" }, + [utf.byte("ü")] = { "u", "e" }, + [utf.byte("Ü")] = { "U", "E" }, + [utf.byte("ö")] = { "o", "e" }, + [utf.byte("Ö")] = { "O", "E" }, + [utf.byte("ß")] = { "s", "z" }, + [utf.byte("ẞ")] = { "S", "Z" }, + }, +} +\stopluacode +\stopbuffer + +\typebuffer \getbuffer + +Here we implement a language specific feature that we use at the \TEX\ end: + +\startbuffer +\definefontfeature + [simplify-de] + [simplify=yes, + language=deu] +\stopbuffer + +\typebuffer \getbuffer + +that we can use as: + +\startbuffer +\definedfont[Serif*default,simplify-de]% +äüöß +{\de äüöß} +{\nl äüöß} +\stopbuffer + +\typebuffer + +and get: \start \maincolor \inlinebuffer \stop, but as you see, both German and +Dutch get the same treatment, which might not be what you want, because in Dutch +the diearesis has a different meaning. + +\startbuffer +\definedfont[Serif*default]% + äüöß +{\de\addff{simplify-de}äüöß} +{\nl äüöß} +\stopbuffer + +\typebuffer + +The above is restricts the usage so now we get: \start \maincolor \inlinebuffer +\stop, which is more language bound. You don't need much imagination for +extending this: + +\startbuffer +\definefontfeature + [simplify] + [simplify=yes, + language=deu] +\stopbuffer + +\typebuffer \getbuffer + +\startbuffer +\definedfont[Serif*default]% + äüöß +{\de\addff{simplify}äüöß} +{\nl\addff{simplify}äüöß} +\stopbuffer + +So what do we expect with the next? + +\typebuffer + +We get: \start \maincolor \inlinebuffer \stop, and we see that the language +setting is not taken into account! This is because the font already has been set +up with a script and language combination. The solution is to temporary set the +font related language explicitly: + +\definefontfeature + [simplify] + [simplify=yes] + +\startbuffer +\definedfont[Serif*default]% + äüöß +{\de\addfflanguage\addff{simplify}äüöß} +{\nl\addfflanguage\addff{simplify}äüöß} +\stopbuffer + +\typebuffer + +So we can automatically switch to language specific features if we want to: +\start \maincolor \inlinebuffer \stop. + +Let's now move to another level of complexity: support for more than one language +as in fact this example was made for Dutch in the first place, but the German +outcome is a bit more visible. + +\startbuffer +\startluacode +fonts.handlers.otf.addfeature { + name = "simplify", + type = "multiple", + prepend = true, + -- prepend = "smcp", + dataset = + { + { + features = { + ["*"] = { + ["nld"] = true + } + }, + data = { + -- [utf.byte("ä")] = { "a" }, + -- [utf.byte("Ä")] = { "A" }, + -- [utf.byte("ü")] = { "u" }, + -- [utf.byte("Ü")] = { "U" }, + -- [utf.byte("ö")] = { "o" }, + -- [utf.byte("Ö")] = { "O" }, + [utf.byte("ij")] = { "i", "j" }, + [utf.byte("IJ")] = { "I", "J" }, + [utf.byte("æ")] = { "a", "e" }, + [utf.byte("Æ")] = { "A", "E" }, + }, + }, + { + -- type = "multiple", -- local values possible + features = { + ["*"] = { + ["deu"] = true + } + }, + data = { + [utf.byte("ä")] = { "a", "e" }, + [utf.byte("Ä")] = { "A", "E" }, + [utf.byte("ü")] = { "u", "e" }, + [utf.byte("Ü")] = { "U", "E" }, + [utf.byte("ö")] = { "o", "e" }, + [utf.byte("Ö")] = { "O", "E" }, + [utf.byte("ß")] = { "s", "z" }, + [utf.byte("ẞ")] = { "S", "Z" }, + }, + } + } +} +\stopluacode +\stopbuffer + +\typebuffer \getbuffer + +For this we use the following example: + +\startbuffer +\definedfont[Serif*default,simplify]% + äüöß ijæ +{\de\addfflanguage äüöß ijæ} +{\nl\addfflanguage äüöß ijæ} +\stopbuffer + +\typebuffer + +Because the Dutch is hard to check we use an \type {æ} replacement too and +commented the similarities with German: \start \maincolor \inlinebuffer \stop. +But still we're not done, say that we want smallcaps too: + +\startbuffer +\definefontfeature[alwayssmcp][smcp=always]% +\definedfont[Serif*default,simplify,alwayssmcp]% + äüöß ijæ +{\de\addfflanguage äüöß ijæ} +{\nl\addfflanguage äüöß ijæ} +\stopbuffer + +\typebuffer + +This comes out as: \start \maincolor \inlinebuffer \stop. + +The reason for specifying \type{smcp} as \type {always} is that otherwise we +get language specific smallcaps while often they are not bound to a language +but to the defaults. The good news is that we can do this automatically: + +\startbuffer +\setupfonts[language=auto]% +\definefontfeature[alwayssmcp][smcp=always]% +\definedfont[Serif*default,simplify,alwayssmcp]% + äüöß ijæ +{\de äüöß ijæ} +{\nl äüöß ijæ} +\stopbuffer + +\typebuffer + +But be aware that this applies to all situations. Here we get: \start \maincolor +\inlinebuffer \stop. + +\stopsubsection + +\startsubsection[title=Syntax summary] + +In the examples we have seen several ways to define features. One of the +differences is that you either set a \type {data} field directly, or that you +specify a dataset. The fields in a dataset entry overload the ones given at the +top level or when not set the top level value will be taken. There is a bit +of (downward compatibility) tolerance built in, but best not depend on that. + +\starttyping +fonts.handlers.otf.addfeature { + name = "demo", + features = { + [