summaryrefslogtreecommitdiff
path: root/Master
diff options
context:
space:
mode:
Diffstat (limited to 'Master')
-rw-r--r--Master/texmf-dist/doc/context/documents/general/manuals/lua-mkiv.pdfbin57313 -> 57290 bytes
-rw-r--r--Master/texmf-dist/doc/context/documents/general/manuals/luatex.pdfbin994575 -> 994871 bytes
-rw-r--r--Master/texmf-dist/doc/context/documents/general/manuals/mreadme.pdfbin40644 -> 41455 bytes
-rw-r--r--Master/texmf-dist/doc/context/documents/general/manuals/sql-mkiv.pdfbin90246 -> 90609 bytes
-rw-r--r--Master/texmf-dist/doc/context/documents/general/manuals/swiglib-mkiv.pdfbin169592 -> 167938 bytes
-rw-r--r--Master/texmf-dist/doc/context/documents/general/manuals/templates-mkiv.pdfbin92388 -> 92572 bytes
-rw-r--r--Master/texmf-dist/doc/context/documents/general/manuals/tools-mkiv.pdfbin374627 -> 358708 bytes
-rw-r--r--Master/texmf-dist/doc/context/documents/general/manuals/xtables-mkiv.pdfbin136910 -> 138152 bytes
-rw-r--r--Master/texmf-dist/doc/context/sources/general/manuals/lua/lua-mkiv.tex14
-rw-r--r--Master/texmf-dist/doc/context/sources/general/manuals/luatex/luatex-nodes.tex17
-rw-r--r--Master/texmf-dist/doc/context/sources/general/manuals/mcommon.tex28
-rw-r--r--Master/texmf-dist/doc/context/sources/general/manuals/readme/mreadme.tex46
-rw-r--r--Master/texmf-dist/doc/context/sources/general/manuals/sql/sql-mkiv.tex14
-rw-r--r--Master/texmf-dist/doc/context/sources/general/manuals/swiglib/swiglib-mkiv-gm-1.jpgbin0 -> 15689 bytes
-rw-r--r--Master/texmf-dist/doc/context/sources/general/manuals/swiglib/swiglib-mkiv-gm-1.pdfbin0 -> 20433 bytes
-rw-r--r--Master/texmf-dist/doc/context/sources/general/manuals/swiglib/swiglib-mkiv-gm-1.pngbin0 -> 46978 bytes
-rw-r--r--Master/texmf-dist/doc/context/sources/general/manuals/swiglib/swiglib-mkiv.tex37
-rw-r--r--Master/texmf-dist/doc/context/sources/general/manuals/templates/templates-mkiv.tex14
-rw-r--r--Master/texmf-dist/doc/context/sources/general/manuals/tools/tools-mkiv.tex14
-rw-r--r--Master/texmf-dist/doc/context/sources/general/manuals/xtables/xtables-mkiv.tex14
-rw-r--r--Master/texmf-dist/doc/man/man1/context.man1.pdfbin22864 -> 22864 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/luatools.man1.pdfbin18421 -> 18421 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/mtx-babel.man1.pdfbin16108 -> 16108 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/mtx-base.man1.pdfbin18441 -> 18441 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/mtx-bibtex.man1.pdfbin14827 -> 14827 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/mtx-cache.man1.pdfbin15820 -> 15820 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/mtx-chars.man1.pdfbin15813 -> 15813 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/mtx-check.man1.pdfbin15975 -> 15975 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/mtx-colors.man1.pdfbin14800 -> 14800 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/mtx-context.man1.pdfbin22864 -> 22864 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/mtx-epub.man1.pdfbin16489 -> 16489 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/mtx-fcd.man1.pdfbin16754 -> 16754 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/mtx-flac.man1.pdfbin15723 -> 15723 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/mtx-fonts.man1.pdfbin18052 -> 18052 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/mtx-grep.man1.pdfbin15660 -> 15660 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/mtx-interface.man1.pdfbin17357 -> 17357 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/mtx-metapost.man1.pdfbin15741 -> 15741 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/mtx-metatex.man1.pdfbin15253 -> 15253 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/mtx-modules.man1.pdfbin16073 -> 16073 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/mtx-package.man1.pdfbin15725 -> 15725 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/mtx-patterns.man1.pdfbin16861 -> 16861 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/mtx-pdf.man1.pdfbin16029 -> 16029 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/mtx-plain.man1.pdfbin15788 -> 15788 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/mtx-profile.man1.pdfbin16365 -> 16365 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/mtx-rsync.man1.pdfbin15783 -> 15783 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/mtx-scite.man1.pdfbin15878 -> 15878 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/mtx-server.man1.pdfbin16014 -> 16014 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/mtx-texworks.man1.pdfbin15331 -> 15331 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/mtx-timing.man1.pdfbin15477 -> 15477 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/mtx-tools.man1.pdfbin16727 -> 16727 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/mtx-unicode.man1.pdfbin15225 -> 15225 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/mtx-unzip.man1.pdfbin15640 -> 15640 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/mtx-update.man1.pdfbin17604 -> 17604 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/mtx-watch.man1.pdfbin16561 -> 16561 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/mtx-youless.man1.pdfbin16126 -> 16126 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/mtxrun.man1.pdfbin20513 -> 20513 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/texexec.man1.pdfbin17189 -> 17189 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/texmfstart.man1.pdfbin20513 -> 20513 bytes
-rw-r--r--Master/texmf-dist/tex/context/base/context-version.pdfbin4249 -> 4253 bytes
-rw-r--r--Master/texmf-dist/tex/context/base/mkii/mult-de.mkii1
-rw-r--r--Master/texmf-dist/tex/context/base/mkii/mult-en.mkii1
-rw-r--r--Master/texmf-dist/tex/context/base/mkii/mult-fr.mkii1
-rw-r--r--Master/texmf-dist/tex/context/base/mkii/mult-it.mkii1
-rw-r--r--Master/texmf-dist/tex/context/base/mkii/mult-nl.mkii1
-rw-r--r--Master/texmf-dist/tex/context/base/mkii/mult-pe.mkii1
-rw-r--r--Master/texmf-dist/tex/context/base/mkii/mult-ro.mkii1
-rw-r--r--Master/texmf-dist/tex/context/base/mkiv/anch-pos.lua64
-rw-r--r--Master/texmf-dist/tex/context/base/mkiv/cont-new.mkiv2
-rw-r--r--Master/texmf-dist/tex/context/base/mkiv/context-todo.tex3
-rw-r--r--Master/texmf-dist/tex/context/base/mkiv/context.mkiv2
-rw-r--r--Master/texmf-dist/tex/context/base/mkiv/font-one.lua407
-rw-r--r--Master/texmf-dist/tex/context/base/mkiv/grph-inc.lua31
-rw-r--r--Master/texmf-dist/tex/context/base/mkiv/grph-inc.mkiv81
-rw-r--r--Master/texmf-dist/tex/context/base/mkiv/mult-def.lua3
-rw-r--r--Master/texmf-dist/tex/context/base/mkiv/pack-rul.mkiv18
-rw-r--r--Master/texmf-dist/tex/context/base/mkiv/spac-ver.mkiv2
-rw-r--r--Master/texmf-dist/tex/context/base/mkiv/status-files.pdfbin9125 -> 9126 bytes
-rw-r--r--Master/texmf-dist/tex/context/base/mkiv/status-lua.pdfbin266625 -> 268187 bytes
-rw-r--r--Master/texmf-dist/tex/context/interface/mkii/keys-cs.xml1
-rw-r--r--Master/texmf-dist/tex/context/interface/mkii/keys-de.xml1
-rw-r--r--Master/texmf-dist/tex/context/interface/mkii/keys-en.xml1
-rw-r--r--Master/texmf-dist/tex/context/interface/mkii/keys-fr.xml1
-rw-r--r--Master/texmf-dist/tex/context/interface/mkii/keys-it.xml1
-rw-r--r--Master/texmf-dist/tex/context/interface/mkii/keys-nl.xml1
-rw-r--r--Master/texmf-dist/tex/context/interface/mkii/keys-pe.xml1
-rw-r--r--Master/texmf-dist/tex/context/interface/mkii/keys-ro.xml1
-rw-r--r--Master/texmf-dist/tex/context/interface/mkiv/i-context.pdfbin820451 -> 820456 bytes
-rw-r--r--Master/texmf-dist/tex/context/interface/mkiv/i-readme.pdfbin60792 -> 60793 bytes
-rw-r--r--Master/texmf-dist/tex/generic/context/luatex/luatex-fonts-merged.lua304
89 files changed, 699 insertions, 431 deletions
diff --git a/Master/texmf-dist/doc/context/documents/general/manuals/lua-mkiv.pdf b/Master/texmf-dist/doc/context/documents/general/manuals/lua-mkiv.pdf
index 2c1e444e316..9e92ebad975 100644
--- a/Master/texmf-dist/doc/context/documents/general/manuals/lua-mkiv.pdf
+++ b/Master/texmf-dist/doc/context/documents/general/manuals/lua-mkiv.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/context/documents/general/manuals/luatex.pdf b/Master/texmf-dist/doc/context/documents/general/manuals/luatex.pdf
index a63c4d9179a..8b746b0f213 100644
--- a/Master/texmf-dist/doc/context/documents/general/manuals/luatex.pdf
+++ b/Master/texmf-dist/doc/context/documents/general/manuals/luatex.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/context/documents/general/manuals/mreadme.pdf b/Master/texmf-dist/doc/context/documents/general/manuals/mreadme.pdf
index 35aca89fc8d..031be0fdae7 100644
--- a/Master/texmf-dist/doc/context/documents/general/manuals/mreadme.pdf
+++ b/Master/texmf-dist/doc/context/documents/general/manuals/mreadme.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/context/documents/general/manuals/sql-mkiv.pdf b/Master/texmf-dist/doc/context/documents/general/manuals/sql-mkiv.pdf
index bf6013d33a7..fa9a5ad61da 100644
--- a/Master/texmf-dist/doc/context/documents/general/manuals/sql-mkiv.pdf
+++ b/Master/texmf-dist/doc/context/documents/general/manuals/sql-mkiv.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/context/documents/general/manuals/swiglib-mkiv.pdf b/Master/texmf-dist/doc/context/documents/general/manuals/swiglib-mkiv.pdf
index c61666845a5..57b717f9b8d 100644
--- a/Master/texmf-dist/doc/context/documents/general/manuals/swiglib-mkiv.pdf
+++ b/Master/texmf-dist/doc/context/documents/general/manuals/swiglib-mkiv.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/context/documents/general/manuals/templates-mkiv.pdf b/Master/texmf-dist/doc/context/documents/general/manuals/templates-mkiv.pdf
index 02a4aee0de5..47a0d70a669 100644
--- a/Master/texmf-dist/doc/context/documents/general/manuals/templates-mkiv.pdf
+++ b/Master/texmf-dist/doc/context/documents/general/manuals/templates-mkiv.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/context/documents/general/manuals/tools-mkiv.pdf b/Master/texmf-dist/doc/context/documents/general/manuals/tools-mkiv.pdf
index 53118457e8c..1da11dcb034 100644
--- a/Master/texmf-dist/doc/context/documents/general/manuals/tools-mkiv.pdf
+++ b/Master/texmf-dist/doc/context/documents/general/manuals/tools-mkiv.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/context/documents/general/manuals/xtables-mkiv.pdf b/Master/texmf-dist/doc/context/documents/general/manuals/xtables-mkiv.pdf
index 9dbf4469e5c..fb04a53d994 100644
--- a/Master/texmf-dist/doc/context/documents/general/manuals/xtables-mkiv.pdf
+++ b/Master/texmf-dist/doc/context/documents/general/manuals/xtables-mkiv.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/context/sources/general/manuals/lua/lua-mkiv.tex b/Master/texmf-dist/doc/context/sources/general/manuals/lua/lua-mkiv.tex
index a6a2b465a22..40e885eac94 100644
--- a/Master/texmf-dist/doc/context/sources/general/manuals/lua/lua-mkiv.tex
+++ b/Master/texmf-dist/doc/context/sources/general/manuals/lua/lua-mkiv.tex
@@ -1,7 +1,17 @@
% language=uk
-% author : Hans Hagen, PRAGMA ADE, NL
-% license : Creative Commons, Attribution-NonCommercial-ShareAlike 3.0 Unported
+% author : Hans Hagen
+% copyright : PRAGMA ADE & ConTeXt Development Team
+% license : Creative Commons Attribution ShareAlike 4.0 International
+% reference : pragma-ade.nl | contextgarden.net | texlive (related) distributions
+% origin : the ConTeXt distribution
+%
+% comment : Because this manual is distributed with TeX distributions it comes with a rather
+% liberal license. We try to adapt these documents to upgrades in the (sub)systems
+% that they describe. Using parts of the content otherwise can therefore conflict
+% with existing functionality and we cannot be held responsible for that. Many of
+% the manuals contain characteristic graphics and personal notes or examples that
+% make no sense when used out-of-context.
\usemodule[art-01,abr-02]
diff --git a/Master/texmf-dist/doc/context/sources/general/manuals/luatex/luatex-nodes.tex b/Master/texmf-dist/doc/context/sources/general/manuals/luatex/luatex-nodes.tex
index 372aca1e58b..03c0774c7ca 100644
--- a/Master/texmf-dist/doc/context/sources/general/manuals/luatex/luatex-nodes.tex
+++ b/Master/texmf-dist/doc/context/sources/general/manuals/luatex/luatex-nodes.tex
@@ -642,15 +642,18 @@ will simply step over such whatsits without ever looking at the contents.
\NC \NC table \NC a \LUA\ table \NC \NR
\stoptabulate
-The \type {type} can have one of five distinct values:
+The \type {type} can have one of six distinct values. The number is the \ASCII\
+value if the first character if the type name (so you can use string.byte("l")
+instead of \type {108}).
\starttabulate[|lT|p|]
-\NC \rmbf value \NC \bf explanation \NC \NR
-\NC 97 \NC list of attributes \NC \NR
-\NC 100 \NC a \LUA\ number \NC \NR
-\NC 110 \NC a node list \NC \NR
-\NC 115 \NC a \LUA\ string \NC \NR
-\NC 116 \NC a \LUA\ token list in \LUA\ table form \NC \NR
+\NC \rmbf value \NC \bf meaning \NC \bf explanation \NC \NR
+\NC 97 \NC a \NC list of attributes (a node list) \NC \NR
+\NC 100 \NC d \NC a \LUA\ number \NC \NR
+\NC 108 \NC l \NC a \LUA\ value (table, number, boolean, etc) \NC \NR
+\NC 110 \NC n \NC a node list \NC \NR
+\NC 115 \NC s \NC a \LUA\ string \NC \NR
+\NC 116 \NC t \NC a \LUA\ token list in \LUA\ table form (a list of triplets) \NC \NR
\stoptabulate
\subsubsubsection{save_pos whatsits}
diff --git a/Master/texmf-dist/doc/context/sources/general/manuals/mcommon.tex b/Master/texmf-dist/doc/context/sources/general/manuals/mcommon.tex
index b6b6026e968..94b5f9bf534 100644
--- a/Master/texmf-dist/doc/context/sources/general/manuals/mcommon.tex
+++ b/Master/texmf-dist/doc/context/sources/general/manuals/mcommon.tex
@@ -192,19 +192,19 @@
% urls
-\useurl[gpl-simple] [http://creativecommons.org/licenses/GPL/2.0/]
-\useurl[gpl-legal] [http://creativecommons.org/licenses/GPL/2.0/legalcode]
-\useurl[byncsa-simple][http://creativecommons.org/licenses/by-nc-sa/2.5/]
-\useurl[byncsa-legal] [http://creativecommons.org/licenses/by-nc-sa/2.5/legalcode]
-
-\useurl[garden] [http://contextgarden.net]
-\useurl[install] [http://wiki.contextgarden.net/ConTeXt_Standalone]
-\useurl[texlive] [http://www.tug.org/texlive/]
-\useurl[group] [http://group.contextgarden.net]
-\useurl[list] [http://www.ntg.nl/mailman/listinfo/ntg-context]
-\useurl[development] [http://www.ntg.nl/mailman/listinfo/dev-context]
-\useurl[announce] [http://www.ntg.nl/mailman/listinfo/ann-context]
-\useurl[collector] [http://tracker.luatex.org]
-\useurl[pragma] [http://www.pragma-ade.com]
+\useurl[gpl-simple] [http://creativecommons.org/licenses/GPL/2.0/]
+\useurl[gpl-legal] [http://creativecommons.org/licenses/GPL/2.0/legalcode]
+\useurl[bysa-simple][http://creativecommons.org/licenses/by-sa/4.0/]
+\useurl[bysa-legal] [http://creativecommons.org/licenses/by-sa/4.0/legalcode]
+
+\useurl[garden] [http://contextgarden.net]
+\useurl[install] [http://wiki.contextgarden.net/ConTeXt_Standalone]
+\useurl[texlive] [http://www.tug.org/texlive/]
+\useurl[group] [http://group.contextgarden.net]
+\useurl[list] [http://www.ntg.nl/mailman/listinfo/ntg-context]
+\useurl[development][http://www.ntg.nl/mailman/listinfo/dev-context]
+\useurl[announce] [http://www.ntg.nl/mailman/listinfo/ann-context]
+\useurl[collector] [http://tracker.luatex.org]
+\useurl[pragma] [http://www.pragma-ade.com]
\stopenvironment
diff --git a/Master/texmf-dist/doc/context/sources/general/manuals/readme/mreadme.tex b/Master/texmf-dist/doc/context/sources/general/manuals/readme/mreadme.tex
index b2af11bc4de..32c1684d914 100644
--- a/Master/texmf-dist/doc/context/sources/general/manuals/readme/mreadme.tex
+++ b/Master/texmf-dist/doc/context/sources/general/manuals/readme/mreadme.tex
@@ -1,6 +1,17 @@
% interface=en engine=luatex language=uk
+
+% author : Hans Hagen
+% copyright : PRAGMA ADE & ConTeXt Development Team
+% license : Creative Commons Attribution ShareAlike 4.0 International
+% reference : pragma-ade.nl | contextgarden.net | texlive (related) distributions
+% origin : the ConTeXt distribution
%
-% copyright=pragma-ade readme=readme.pdf licence=cc-by-nc-sa
+% comment : Because this manual is distributed with TeX distributions it comes with a rather
+% liberal license. We try to adapt these documents to upgrades in the (sub)systems
+% that they describe. Using parts of the content otherwise can therefore conflict
+% with existing functionality and we cannot be held responsible for that. Many of
+% the manuals contain characteristic graphics and personal notes or examples that
+% make no sense when used out-of-context.
\environment mcommon
@@ -104,8 +115,8 @@ distributed under the
\stopnarrower
For practical purposes distributers may also choose the \LATEX\ project licence,
-which is considered to be a bit more \TEX\ friendly. (BSD alike licences, the
-Ruby Licence and the Apache are all licences that apply well for \CONTEXT.)
+which is considered to be a bit more \TEX\ friendly. (BSD alike licences also
+apply well for \CONTEXT.)
In practice, users may forget about the legal part, if only because I haven't
even read (and understood) it completely myself, so let's stick to what Creative
@@ -157,6 +168,12 @@ holder.
Your fair use and other rights are in no way affected by the above.
\stopcolor
+Many source filed mention the \quotation {\CONTEXT\ Development Team} as
+copyright holder. This is because over time users submit patches and whenever
+something happens to the main author, those involved in development can take
+over without the need to bother about derived work. In the end the \CONTEXT\
+group is the place to get more information.
+
\stopsubject
\startsubject[title={Recommendations}]
@@ -224,13 +241,20 @@ Here are a few recommendations in case you want to distribute, extend of embed
\startsubject[title={Documents}]
-The documentation is provided under another Creative Commons licence
+The documentation is provided under another Creative Commons licence:
\startnarrower
- \goto{Attribution NonCommercial ShareAlike}[url(byncsa-simple)]
+ \goto{Attribution ShareAlike}[url(bysa-simple)]
\stopnarrower
-This one says:
+The manuals that are distributed with \CONTEXT\ comes with a rather liberal
+license. However, we try to adapt these documents to upgrades in the (sub)systems
+that they describe and derived work can therefore conflict with existing
+functionality and we cannot be held responsible for that. Many of the manuals
+contain characteristic graphics and personal notes or examples that make no sense
+when used out|-|of|-|context.
+
+The mentioned license says:
\startcolor[blue]
You are free:
@@ -243,8 +267,6 @@ You are free:
{\sc Attribution:} You must attribute the work in the manner specified by the
author or licensor.
-{\sc NonCommercial:} You may not use this work for commercial purposes.
-
{\sc Share Alike:} If you alter, transform, or build upon this work, you may
distribute the resulting work only under a license identical to this one.
@@ -262,10 +284,6 @@ distribute the resulting work only under a license identical to this one.
Your fair use and other rights are in no way affected by the above.
\stopcolor
-The non||commercial part is mostly a safeguard. We don't mind if user groups
-distribute printed copies, publish (parts of) manuals and|/|or if authors use
-example code in manuals and books about \CONTEXT.
-
If you distribute \CONTEXT\ and related software on electronic media as part of
\TEX\ distributions (either or not for money), you may also distribute the
manuals and their sources in electronic form, preferable as provided by the
@@ -295,8 +313,8 @@ few starting points:
\stoplines
\startlines
-\goto{\url[byncsa-simple]}[url(byncsa-simple)]
-\goto{\url[byncsa-legal]}[url(byncsa-legal)]
+\goto{\url[bysa-simple]}[url(bysa-simple)]
+\goto{\url[bysa-legal]}[url(bysa-legal)]
\stoplines
\CONTEXT\ itself can be fetched from the main site or the garden:
diff --git a/Master/texmf-dist/doc/context/sources/general/manuals/sql/sql-mkiv.tex b/Master/texmf-dist/doc/context/sources/general/manuals/sql/sql-mkiv.tex
index 520532e0bee..ec2c999aacc 100644
--- a/Master/texmf-dist/doc/context/sources/general/manuals/sql/sql-mkiv.tex
+++ b/Master/texmf-dist/doc/context/sources/general/manuals/sql/sql-mkiv.tex
@@ -1,7 +1,17 @@
% language=uk
-% author : Hans Hagen, PRAGMA ADE, NL
-% license : Creative Commons, Attribution-NonCommercial-ShareAlike 3.0 Unported
+% author : Hans Hagen
+% copyright : PRAGMA ADE & ConTeXt Development Team
+% license : Creative Commons Attribution ShareAlike 4.0 International
+% reference : pragma-ade.nl | contextgarden.net | texlive (related) distributions
+% origin : the ConTeXt distribution
+%
+% comment : Because this manual is distributed with TeX distributions it comes with a rather
+% liberal license. We try to adapt these documents to upgrades in the (sub)systems
+% that they describe. Using parts of the content otherwise can therefore conflict
+% with existing functionality and we cannot be held responsible for that. Many of
+% the manuals contain characteristic graphics and personal notes or examples that
+% make no sense when used out-of-context.
\usemodule[art-01,abr-02]
diff --git a/Master/texmf-dist/doc/context/sources/general/manuals/swiglib/swiglib-mkiv-gm-1.jpg b/Master/texmf-dist/doc/context/sources/general/manuals/swiglib/swiglib-mkiv-gm-1.jpg
new file mode 100644
index 00000000000..8c45b41b96b
--- /dev/null
+++ b/Master/texmf-dist/doc/context/sources/general/manuals/swiglib/swiglib-mkiv-gm-1.jpg
Binary files differ
diff --git a/Master/texmf-dist/doc/context/sources/general/manuals/swiglib/swiglib-mkiv-gm-1.pdf b/Master/texmf-dist/doc/context/sources/general/manuals/swiglib/swiglib-mkiv-gm-1.pdf
new file mode 100644
index 00000000000..d576c7d914a
--- /dev/null
+++ b/Master/texmf-dist/doc/context/sources/general/manuals/swiglib/swiglib-mkiv-gm-1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/context/sources/general/manuals/swiglib/swiglib-mkiv-gm-1.png b/Master/texmf-dist/doc/context/sources/general/manuals/swiglib/swiglib-mkiv-gm-1.png
new file mode 100644
index 00000000000..fba526e9f46
--- /dev/null
+++ b/Master/texmf-dist/doc/context/sources/general/manuals/swiglib/swiglib-mkiv-gm-1.png
Binary files differ
diff --git a/Master/texmf-dist/doc/context/sources/general/manuals/swiglib/swiglib-mkiv.tex b/Master/texmf-dist/doc/context/sources/general/manuals/swiglib/swiglib-mkiv.tex
index fc7a269bb5d..c24be76bf48 100644
--- a/Master/texmf-dist/doc/context/sources/general/manuals/swiglib/swiglib-mkiv.tex
+++ b/Master/texmf-dist/doc/context/sources/general/manuals/swiglib/swiglib-mkiv.tex
@@ -1,7 +1,17 @@
% language=uk
-% author : Hans Hagen, PRAGMA ADE, NL
-% license : Creative Commons, Attribution-NonCommercial-ShareAlike 3.0 Unported
+% author : Hans Hagen
+% copyright : PRAGMA ADE & ConTeXt Development Team
+% license : Creative Commons Attribution ShareAlike 4.0 International
+% reference : pragma-ade.nl | contextgarden.net | texlive (related) distributions
+% origin : the ConTeXt distribution
+%
+% comment : Because this manual is distributed with TeX distributions it comes with a rather
+% liberal license. We try to adapt these documents to upgrades in the (sub)systems
+% that they describe. Using parts of the content otherwise can therefore conflict
+% with existing functionality and we cannot be held responsible for that. Many of
+% the manuals contain characteristic graphics and personal notes or examples that
+% make no sense when used out-of-context.
\usemodule[art-01,abr-02]
@@ -72,11 +82,11 @@ StartPage ;
shifted (-1cm,2cm)
withcolor \MPcolor{maincolor} ;
-% draw textext.ulft("\definedfont[TitlePageMono]in context mkiv")
-% xsized .6PaperWidth
-% shifted lrcorner Page
-% shifted (-1cm,6cm)
-% withcolor \MPcolor{maincolor} ;
+ % draw textext.ulft("\definedfont[TitlePageMono]in context mkiv")
+ % xsized .6PaperWidth
+ % shifted lrcorner Page
+ % shifted (-1cm,6cm)
+ % withcolor \MPcolor{maincolor} ;
StopPage ;
@@ -135,6 +145,12 @@ Here is an example of using such a library (by Luigi):
local gm = swiglib("gmwand.core")
local findfile = resolvers.findfile
+if not gm then
+ -- no big deal for this manual as we use a system in flux
+ logs.report("swiglib","no swiglib libraries loaded")
+ return
+end
+
gm.InitializeMagick(".")
local magick_wand = gm.NewMagickWand()
@@ -174,7 +190,9 @@ gm.DestroyMagickWand(magick_wand)
\stopluacode
\stopbuffer
-\typebuffer \getbuffer
+\typebuffer
+
+\getbuffer
In practice you will probably stay away from manipulating text this way, but it
illustrates that you can use the regular \CONTEXT\ helpers to locate files.
@@ -316,7 +334,7 @@ needs a lot of them) it will first look on its own path (which is remembered).
The \MKIV\ lookups are somewhat more robust in the sense that they first check
for matches on engine specific paths. This comes in handy when the search
patterns are too generic and one can match on for instance \type {luajittex}
-whilc \type {luatex} is used.
+while \type {luatex} is used.
\stopsection
@@ -326,7 +344,6 @@ whilc \type {luatex} is used.
\NC author \NC \getvariable{document}{author}, \getvariable{document}{affiliation}, \getvariable{document}{location} \NC \NR
\NC version \NC \currentdate \NC \NR
\NC website \NC \getvariable{document}{website} \endash\ \getvariable{document}{support} \NC \NR
-\NC copyright \NC \symbol[cc][cc-by-sa-nc] \NC \NR
\NC comment \NC the swiglib infrastructure is implemented by Luigi Scarso \NC \NR
\stoptabulate
diff --git a/Master/texmf-dist/doc/context/sources/general/manuals/templates/templates-mkiv.tex b/Master/texmf-dist/doc/context/sources/general/manuals/templates/templates-mkiv.tex
index 9361d1a8d30..01f2c429ea8 100644
--- a/Master/texmf-dist/doc/context/sources/general/manuals/templates/templates-mkiv.tex
+++ b/Master/texmf-dist/doc/context/sources/general/manuals/templates/templates-mkiv.tex
@@ -1,7 +1,17 @@
% language=uk
-% author : Hans Hagen, PRAGMA ADE, NL
-% license : Creative Commons, Attribution-NonCommercial-ShareAlike 3.0 Unported
+% author : Hans Hagen
+% copyright : PRAGMA ADE & ConTeXt Development Team
+% license : Creative Commons Attribution ShareAlike 4.0 International
+% reference : pragma-ade.nl | contextgarden.net | texlive (related) distributions
+% origin : the ConTeXt distribution
+%
+% comment : Because this manual is distributed with TeX distributions it comes with a rather
+% liberal license. We try to adapt these documents to upgrades in the (sub)systems
+% that they describe. Using parts of the content otherwise can therefore conflict
+% with existing functionality and we cannot be held responsible for that. Many of
+% the manuals contain characteristic graphics and personal notes or examples that
+% make no sense when used out-of-context.
\usemodule[art-01,abr-02]
diff --git a/Master/texmf-dist/doc/context/sources/general/manuals/tools/tools-mkiv.tex b/Master/texmf-dist/doc/context/sources/general/manuals/tools/tools-mkiv.tex
index 5f20e6985d3..2ac1e15f4c7 100644
--- a/Master/texmf-dist/doc/context/sources/general/manuals/tools/tools-mkiv.tex
+++ b/Master/texmf-dist/doc/context/sources/general/manuals/tools/tools-mkiv.tex
@@ -1,7 +1,17 @@
% language=uk
-% author : Hans Hagen, PRAGMA ADE, NL
-% license : Creative Commons, Attribution-NonCommercial-ShareAlike 3.0 Unported
+% author : Hans Hagen
+% copyright : PRAGMA ADE & ConTeXt Development Team
+% license : Creative Commons Attribution ShareAlike 4.0 International
+% reference : pragma-ade.nl | contextgarden.net | texlive (related) distributions
+% origin : the ConTeXt distribution
+%
+% comment : Because this manual is distributed with TeX distributions it comes with a rather
+% liberal license. We try to adapt these documents to upgrades in the (sub)systems
+% that they describe. Using parts of the content otherwise can therefore conflict
+% with existing functionality and we cannot be held responsible for that. Many of
+% the manuals contain characteristic graphics and personal notes or examples that
+% make no sense when used out-of-context.
\usemodule[abr-02]
diff --git a/Master/texmf-dist/doc/context/sources/general/manuals/xtables/xtables-mkiv.tex b/Master/texmf-dist/doc/context/sources/general/manuals/xtables/xtables-mkiv.tex
index 302f2880cc4..a412826225e 100644
--- a/Master/texmf-dist/doc/context/sources/general/manuals/xtables/xtables-mkiv.tex
+++ b/Master/texmf-dist/doc/context/sources/general/manuals/xtables/xtables-mkiv.tex
@@ -1,7 +1,17 @@
% language=uk
-% author : Hans Hagen, PRAGMA ADE, NL
-% license : Creative Commons, Attribution-NonCommercial-ShareAlike 3.0 Unported
+% author : Hans Hagen
+% copyright : PRAGMA ADE & ConTeXt Development Team
+% license : Creative Commons Attribution ShareAlike 4.0 International
+% reference : pragma-ade.nl | contextgarden.net | texlive (related) distributions
+% origin : the ConTeXt distribution
+%
+% comment : Because this manual is distributed with TeX distributions it comes with a rather
+% liberal license. We try to adapt these documents to upgrades in the (sub)systems
+% that they describe. Using parts of the content otherwise can therefore conflict
+% with existing functionality and we cannot be held responsible for that. Many of
+% the manuals contain characteristic graphics and personal notes or examples that
+% make no sense when used out-of-context.
\usemodule[art-01,abr-02]
diff --git a/Master/texmf-dist/doc/man/man1/context.man1.pdf b/Master/texmf-dist/doc/man/man1/context.man1.pdf
index b18c7983ef6..4a5f980a6ae 100644
--- a/Master/texmf-dist/doc/man/man1/context.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/context.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/luatools.man1.pdf b/Master/texmf-dist/doc/man/man1/luatools.man1.pdf
index 634c1c30a43..c0c5943ab74 100644
--- a/Master/texmf-dist/doc/man/man1/luatools.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/luatools.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/mtx-babel.man1.pdf b/Master/texmf-dist/doc/man/man1/mtx-babel.man1.pdf
index 6335e81647b..3227d894b4f 100644
--- a/Master/texmf-dist/doc/man/man1/mtx-babel.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/mtx-babel.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/mtx-base.man1.pdf b/Master/texmf-dist/doc/man/man1/mtx-base.man1.pdf
index 68f5dccd317..5ccf9e1fcd0 100644
--- a/Master/texmf-dist/doc/man/man1/mtx-base.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/mtx-base.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/mtx-bibtex.man1.pdf b/Master/texmf-dist/doc/man/man1/mtx-bibtex.man1.pdf
index 7e55917ccd2..ff084905d04 100644
--- a/Master/texmf-dist/doc/man/man1/mtx-bibtex.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/mtx-bibtex.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/mtx-cache.man1.pdf b/Master/texmf-dist/doc/man/man1/mtx-cache.man1.pdf
index 56e1de5c94a..f5060c847c6 100644
--- a/Master/texmf-dist/doc/man/man1/mtx-cache.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/mtx-cache.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/mtx-chars.man1.pdf b/Master/texmf-dist/doc/man/man1/mtx-chars.man1.pdf
index 3b58dc4c633..c61d14e1cd6 100644
--- a/Master/texmf-dist/doc/man/man1/mtx-chars.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/mtx-chars.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/mtx-check.man1.pdf b/Master/texmf-dist/doc/man/man1/mtx-check.man1.pdf
index 4cb15d81aa5..b95d0464259 100644
--- a/Master/texmf-dist/doc/man/man1/mtx-check.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/mtx-check.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/mtx-colors.man1.pdf b/Master/texmf-dist/doc/man/man1/mtx-colors.man1.pdf
index e009509f085..22f859c93f1 100644
--- a/Master/texmf-dist/doc/man/man1/mtx-colors.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/mtx-colors.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/mtx-context.man1.pdf b/Master/texmf-dist/doc/man/man1/mtx-context.man1.pdf
index 5019d7b6e16..65a1e7179df 100644
--- a/Master/texmf-dist/doc/man/man1/mtx-context.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/mtx-context.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/mtx-epub.man1.pdf b/Master/texmf-dist/doc/man/man1/mtx-epub.man1.pdf
index 72b91b8b50d..b5ff7c6d5b3 100644
--- a/Master/texmf-dist/doc/man/man1/mtx-epub.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/mtx-epub.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/mtx-fcd.man1.pdf b/Master/texmf-dist/doc/man/man1/mtx-fcd.man1.pdf
index 45d02f3b25a..7a65779b1c0 100644
--- a/Master/texmf-dist/doc/man/man1/mtx-fcd.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/mtx-fcd.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/mtx-flac.man1.pdf b/Master/texmf-dist/doc/man/man1/mtx-flac.man1.pdf
index 37705915e40..b77435bab3b 100644
--- a/Master/texmf-dist/doc/man/man1/mtx-flac.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/mtx-flac.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/mtx-fonts.man1.pdf b/Master/texmf-dist/doc/man/man1/mtx-fonts.man1.pdf
index 87fb100a849..b23f413ba50 100644
--- a/Master/texmf-dist/doc/man/man1/mtx-fonts.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/mtx-fonts.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/mtx-grep.man1.pdf b/Master/texmf-dist/doc/man/man1/mtx-grep.man1.pdf
index 330e8da63bb..0d4303c73a2 100644
--- a/Master/texmf-dist/doc/man/man1/mtx-grep.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/mtx-grep.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/mtx-interface.man1.pdf b/Master/texmf-dist/doc/man/man1/mtx-interface.man1.pdf
index 6926cb0096a..59b9d96135f 100644
--- a/Master/texmf-dist/doc/man/man1/mtx-interface.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/mtx-interface.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/mtx-metapost.man1.pdf b/Master/texmf-dist/doc/man/man1/mtx-metapost.man1.pdf
index 3ba84505908..53a17b66920 100644
--- a/Master/texmf-dist/doc/man/man1/mtx-metapost.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/mtx-metapost.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/mtx-metatex.man1.pdf b/Master/texmf-dist/doc/man/man1/mtx-metatex.man1.pdf
index 427cee3a258..0eddeddc06e 100644
--- a/Master/texmf-dist/doc/man/man1/mtx-metatex.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/mtx-metatex.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/mtx-modules.man1.pdf b/Master/texmf-dist/doc/man/man1/mtx-modules.man1.pdf
index 0e1312b57ba..4bf961030c3 100644
--- a/Master/texmf-dist/doc/man/man1/mtx-modules.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/mtx-modules.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/mtx-package.man1.pdf b/Master/texmf-dist/doc/man/man1/mtx-package.man1.pdf
index 52ae452b7f7..431dae00983 100644
--- a/Master/texmf-dist/doc/man/man1/mtx-package.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/mtx-package.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/mtx-patterns.man1.pdf b/Master/texmf-dist/doc/man/man1/mtx-patterns.man1.pdf
index 64d23d1aba0..5eead7d0235 100644
--- a/Master/texmf-dist/doc/man/man1/mtx-patterns.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/mtx-patterns.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/mtx-pdf.man1.pdf b/Master/texmf-dist/doc/man/man1/mtx-pdf.man1.pdf
index 2da6398d2e5..d2d18919974 100644
--- a/Master/texmf-dist/doc/man/man1/mtx-pdf.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/mtx-pdf.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/mtx-plain.man1.pdf b/Master/texmf-dist/doc/man/man1/mtx-plain.man1.pdf
index 5045b04bdca..9ffd758c5bf 100644
--- a/Master/texmf-dist/doc/man/man1/mtx-plain.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/mtx-plain.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/mtx-profile.man1.pdf b/Master/texmf-dist/doc/man/man1/mtx-profile.man1.pdf
index 3631e3c666a..5d9c78081dc 100644
--- a/Master/texmf-dist/doc/man/man1/mtx-profile.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/mtx-profile.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/mtx-rsync.man1.pdf b/Master/texmf-dist/doc/man/man1/mtx-rsync.man1.pdf
index 6b27893067b..8e008c6fbf2 100644
--- a/Master/texmf-dist/doc/man/man1/mtx-rsync.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/mtx-rsync.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/mtx-scite.man1.pdf b/Master/texmf-dist/doc/man/man1/mtx-scite.man1.pdf
index 39b534031e7..db75ee9779d 100644
--- a/Master/texmf-dist/doc/man/man1/mtx-scite.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/mtx-scite.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/mtx-server.man1.pdf b/Master/texmf-dist/doc/man/man1/mtx-server.man1.pdf
index 786beea8aae..149c8f355e6 100644
--- a/Master/texmf-dist/doc/man/man1/mtx-server.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/mtx-server.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/mtx-texworks.man1.pdf b/Master/texmf-dist/doc/man/man1/mtx-texworks.man1.pdf
index abf31dcb326..21318278d20 100644
--- a/Master/texmf-dist/doc/man/man1/mtx-texworks.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/mtx-texworks.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/mtx-timing.man1.pdf b/Master/texmf-dist/doc/man/man1/mtx-timing.man1.pdf
index 4fb2508faf7..4404409b84d 100644
--- a/Master/texmf-dist/doc/man/man1/mtx-timing.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/mtx-timing.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/mtx-tools.man1.pdf b/Master/texmf-dist/doc/man/man1/mtx-tools.man1.pdf
index 046baf10d51..b30295fe8d4 100644
--- a/Master/texmf-dist/doc/man/man1/mtx-tools.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/mtx-tools.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/mtx-unicode.man1.pdf b/Master/texmf-dist/doc/man/man1/mtx-unicode.man1.pdf
index 16b630fbc08..5846a7ab40a 100644
--- a/Master/texmf-dist/doc/man/man1/mtx-unicode.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/mtx-unicode.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/mtx-unzip.man1.pdf b/Master/texmf-dist/doc/man/man1/mtx-unzip.man1.pdf
index 570ac97c9ce..005dfd8ab4d 100644
--- a/Master/texmf-dist/doc/man/man1/mtx-unzip.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/mtx-unzip.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/mtx-update.man1.pdf b/Master/texmf-dist/doc/man/man1/mtx-update.man1.pdf
index cc63d4f2db5..50bf2847bb7 100644
--- a/Master/texmf-dist/doc/man/man1/mtx-update.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/mtx-update.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/mtx-watch.man1.pdf b/Master/texmf-dist/doc/man/man1/mtx-watch.man1.pdf
index cc2a5aebc03..bc77e1f73e1 100644
--- a/Master/texmf-dist/doc/man/man1/mtx-watch.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/mtx-watch.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/mtx-youless.man1.pdf b/Master/texmf-dist/doc/man/man1/mtx-youless.man1.pdf
index f1181ec40eb..20aca93b8f0 100644
--- a/Master/texmf-dist/doc/man/man1/mtx-youless.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/mtx-youless.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/mtxrun.man1.pdf b/Master/texmf-dist/doc/man/man1/mtxrun.man1.pdf
index 8b16274a4af..db7c7c0214a 100644
--- a/Master/texmf-dist/doc/man/man1/mtxrun.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/mtxrun.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/texexec.man1.pdf b/Master/texmf-dist/doc/man/man1/texexec.man1.pdf
index 21e5cd02595..c5e509a8e99 100644
--- a/Master/texmf-dist/doc/man/man1/texexec.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/texexec.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/texmfstart.man1.pdf b/Master/texmf-dist/doc/man/man1/texmfstart.man1.pdf
index 6396069976f..8d412c9eea1 100644
--- a/Master/texmf-dist/doc/man/man1/texmfstart.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/texmfstart.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/tex/context/base/context-version.pdf b/Master/texmf-dist/tex/context/base/context-version.pdf
index 50805410f23..f0938c90253 100644
--- a/Master/texmf-dist/tex/context/base/context-version.pdf
+++ b/Master/texmf-dist/tex/context/base/context-version.pdf
Binary files differ
diff --git a/Master/texmf-dist/tex/context/base/mkii/mult-de.mkii b/Master/texmf-dist/tex/context/base/mkii/mult-de.mkii
index f3bdc074013..0762fadfcfd 100644
--- a/Master/texmf-dist/tex/context/base/mkii/mult-de.mkii
+++ b/Master/texmf-dist/tex/context/base/mkii/mult-de.mkii
@@ -726,6 +726,7 @@
\setinterfaceconstant{couplingway}{verkopplungsart}
\setinterfaceconstant{criterium}{kriterium}
\setinterfaceconstant{cropoffset}{cropoffset}
+\setinterfaceconstant{crossreference}{crossreference}
\setinterfaceconstant{cssfile}{cssfile}
\setinterfaceconstant{current}{aktuell}
\setinterfaceconstant{cutspace}{cutspace}
diff --git a/Master/texmf-dist/tex/context/base/mkii/mult-en.mkii b/Master/texmf-dist/tex/context/base/mkii/mult-en.mkii
index 262b4fde562..a16b87a488e 100644
--- a/Master/texmf-dist/tex/context/base/mkii/mult-en.mkii
+++ b/Master/texmf-dist/tex/context/base/mkii/mult-en.mkii
@@ -726,6 +726,7 @@
\setinterfaceconstant{couplingway}{couplingway}
\setinterfaceconstant{criterium}{criterium}
\setinterfaceconstant{cropoffset}{cropoffset}
+\setinterfaceconstant{crossreference}{crossreference}
\setinterfaceconstant{cssfile}{cssfile}
\setinterfaceconstant{current}{current}
\setinterfaceconstant{cutspace}{cutspace}
diff --git a/Master/texmf-dist/tex/context/base/mkii/mult-fr.mkii b/Master/texmf-dist/tex/context/base/mkii/mult-fr.mkii
index 6d9bf898228..6c71d4aad89 100644
--- a/Master/texmf-dist/tex/context/base/mkii/mult-fr.mkii
+++ b/Master/texmf-dist/tex/context/base/mkii/mult-fr.mkii
@@ -726,6 +726,7 @@
\setinterfaceconstant{couplingway}{modecouplage}
\setinterfaceconstant{criterium}{critere}
\setinterfaceconstant{cropoffset}{cropoffset}
+\setinterfaceconstant{crossreference}{crossreference}
\setinterfaceconstant{cssfile}{cssfile}
\setinterfaceconstant{current}{courant}
\setinterfaceconstant{cutspace}{cutspace}
diff --git a/Master/texmf-dist/tex/context/base/mkii/mult-it.mkii b/Master/texmf-dist/tex/context/base/mkii/mult-it.mkii
index a5367dfbbb6..a875555bdb4 100644
--- a/Master/texmf-dist/tex/context/base/mkii/mult-it.mkii
+++ b/Master/texmf-dist/tex/context/base/mkii/mult-it.mkii
@@ -726,6 +726,7 @@
\setinterfaceconstant{couplingway}{modoaccoppiamento}
\setinterfaceconstant{criterium}{criterio}
\setinterfaceconstant{cropoffset}{cropoffset}
+\setinterfaceconstant{crossreference}{crossreference}
\setinterfaceconstant{cssfile}{cssfile}
\setinterfaceconstant{current}{corrente}
\setinterfaceconstant{cutspace}{cutspace}
diff --git a/Master/texmf-dist/tex/context/base/mkii/mult-nl.mkii b/Master/texmf-dist/tex/context/base/mkii/mult-nl.mkii
index 6cd6a7b5df3..efc0d2be380 100644
--- a/Master/texmf-dist/tex/context/base/mkii/mult-nl.mkii
+++ b/Master/texmf-dist/tex/context/base/mkii/mult-nl.mkii
@@ -726,6 +726,7 @@
\setinterfaceconstant{couplingway}{koppelwijze}
\setinterfaceconstant{criterium}{criterium}
\setinterfaceconstant{cropoffset}{cropoffset}
+\setinterfaceconstant{crossreference}{crossreference}
\setinterfaceconstant{cssfile}{cssfile}
\setinterfaceconstant{current}{huidige}
\setinterfaceconstant{cutspace}{snijwit}
diff --git a/Master/texmf-dist/tex/context/base/mkii/mult-pe.mkii b/Master/texmf-dist/tex/context/base/mkii/mult-pe.mkii
index 371b6407462..7e5c537918b 100644
--- a/Master/texmf-dist/tex/context/base/mkii/mult-pe.mkii
+++ b/Master/texmf-dist/tex/context/base/mkii/mult-pe.mkii
@@ -726,6 +726,7 @@
\setinterfaceconstant{couplingway}{روش‌تزویج}
\setinterfaceconstant{criterium}{criterium}
\setinterfaceconstant{cropoffset}{cropoffset}
+\setinterfaceconstant{crossreference}{crossreference}
\setinterfaceconstant{cssfile}{cssfile}
\setinterfaceconstant{current}{جاری}
\setinterfaceconstant{cutspace}{فضای‌برش}
diff --git a/Master/texmf-dist/tex/context/base/mkii/mult-ro.mkii b/Master/texmf-dist/tex/context/base/mkii/mult-ro.mkii
index 00e2f30cc9a..f7121f70398 100644
--- a/Master/texmf-dist/tex/context/base/mkii/mult-ro.mkii
+++ b/Master/texmf-dist/tex/context/base/mkii/mult-ro.mkii
@@ -726,6 +726,7 @@
\setinterfaceconstant{couplingway}{modcuplare}
\setinterfaceconstant{criterium}{criteriu}
\setinterfaceconstant{cropoffset}{cropoffset}
+\setinterfaceconstant{crossreference}{crossreference}
\setinterfaceconstant{cssfile}{cssfile}
\setinterfaceconstant{current}{curent}
\setinterfaceconstant{cutspace}{cutspace}
diff --git a/Master/texmf-dist/tex/context/base/mkiv/anch-pos.lua b/Master/texmf-dist/tex/context/base/mkiv/anch-pos.lua
index c01e9017976..fef1a8474f6 100644
--- a/Master/texmf-dist/tex/context/base/mkiv/anch-pos.lua
+++ b/Master/texmf-dist/tex/context/base/mkiv/anch-pos.lua
@@ -110,18 +110,19 @@ local f_e_tag = formatters["e:%s"]
local f_p_tag = formatters["p:%s"]
local f_w_tag = formatters["w:%s"]
-local f_b_column = formatters["_plib_.b_col(%q)"]
-local f_e_column = formatters["_plib_.e_col()"]
-
-local f_enhance = formatters["_plib_.enhance(%q)"]
local f_region = formatters["region:%s"]
-local f_b_region = formatters["_plib_.b_region(%q)"]
-local f_e_region = formatters["_plib_.e_region(%s)"]
-
local f_tag_three = formatters["%s:%s:%s"]
local f_tag_two = formatters["%s:%s"]
+----- f_enhance = formatters["_plib_.enhance(%q)"]
+
+----- f_b_column = formatters["_plib_.b_column(%q)"]
+----- f_e_column = formatters["_plib_.e_column()"]
+
+----- f_b_region = formatters["_plib_.b_region(%q)"]
+----- f_e_region = formatters["_plib_.e_region(%s)"]
+
local function sorter(a,b)
return a.y > b.y
end
@@ -272,7 +273,7 @@ local function enhance(data)
data.y = getvpos()
end
if data.p == true then
- data.p = texgetcount("realpageno")
+ data.p = texgetcount("realpageno") -- we should use a variable set in otr
end
if data.c == true then
data.c = column
@@ -351,7 +352,7 @@ scanners.dosavepositionplus = compilescanner {
-- not much gain in keeping stack (inc/dec instead of insert/remove)
-function jobpositions.b_col(tag)
+local function b_column(tag)
tobesaved[tag] = {
r = true,
x = gethpos(),
@@ -361,7 +362,7 @@ function jobpositions.b_col(tag)
column = tag
end
-function jobpositions.e_col(tag)
+local function e_column(tag)
local t = tobesaved[column]
if not t then
-- something's wrong
@@ -373,6 +374,9 @@ function jobpositions.e_col(tag)
column = columns[#columns]
end
+jobpositions.b_column = b_column
+jobpositions.e_column = e_column
+
scanners.bposcolumn = function() -- tag
local tag = scanstring()
insert(columns,tag)
@@ -383,7 +387,8 @@ scanners.bposcolumnregistered = function() -- tag
local tag = scanstring()
insert(columns,tag)
column = tag
- context(new_latelua_node(f_b_column(tag)))
+ -- context(new_latelua_node(f_b_column(tag)))
+ context(new_latelua_node(function() b_column(tag) end))
end
scanners.eposcolumn = function()
@@ -392,14 +397,15 @@ scanners.eposcolumn = function()
end
scanners.eposcolumnregistered = function()
- context(new_latelua_node(f_e_column()))
+ -- context(new_latelua_node(f_e_column()))
+ context(new_latelua_node(e_column))
remove(columns)
column = columns[#columns]
end
-- regions
-function jobpositions.b_region(tag)
+local function b_region(tag)
local last = tobesaved[tag]
last.x, last.y = getpos()
last.p = texgetcount("realpageno")
@@ -407,7 +413,7 @@ function jobpositions.b_region(tag)
region = tag
end
-function jobpositions.e_region(correct)
+local function e_region(correct)
local last = tobesaved[region]
local v = getvpos()
if correct then
@@ -418,6 +424,9 @@ function jobpositions.e_region(correct)
region = regions[#regions]
end
+jobpositions.b_region = b_region
+jobpositions.e_region = e_region
+
local function setregionbox(n,tag)
if not tag or tag == "" then
nofregions = nofregions + 1
@@ -438,10 +447,13 @@ local function setregionbox(n,tag)
return tag, box
end
-local function markregionbox(n,tag,correct)
+local function markregionbox(n,tag,correct) -- correct needs checking
local tag, box = setregionbox(n,tag)
- local push = new_latelua(f_b_region(tag))
- local pop = new_latelua(f_e_region(tostring(correct))) -- todo: check if tostring is needed with formatter
+ -- todo: check if tostring is needed with formatter
+ -- local push = new_latelua(f_b_region(tag))
+ -- local pop = new_latelua(f_e_region(tostring(correct)))
+ local push = new_latelua(function() b_region(tag) end)
+ local pop = new_latelua(function() e_region(tostring(correct)) end)
-- maybe we should construct a hbox first (needs experimenting) so that we can avoid some at the tex end
local head = getlist(box)
if head then
@@ -509,7 +521,8 @@ scanners.parpos = function() -- todo: relate to localpar (so this is an intermed
end
local tag = f_p_tag(nofparagraphs)
tobesaved[tag] = t
- context(new_latelua_node(f_enhance(tag)))
+ -- context(new_latelua_node(f_enhance(tag)))
+ context(new_latelua_node(function() enhance(tobesaved[tag]) end))
end
scanners.dosetposition = function() -- name
@@ -522,7 +535,8 @@ scanners.dosetposition = function() -- name
y = true,
n = nofparagraphs > 0 and nofparagraphs or nil,
}
- context(new_latelua_node(f_enhance(name)))
+ -- context(new_latelua_node(f_enhance(name)))
+ context(new_latelua_node(function() enhance(tobesaved[name]) end))
end
scanners.dosetpositionwhd = function() -- name w h d extra
@@ -538,7 +552,8 @@ scanners.dosetpositionwhd = function() -- name w h d extra
d = scandimen(),
n = nofparagraphs > 0 and nofparagraphs or nil,
}
- context(new_latelua_node(f_enhance(name)))
+ -- context(new_latelua_node(f_enhance(name)))
+ context(new_latelua_node(function() enhance(tobesaved[name]) end))
end
scanners.dosetpositionbox = function() -- name box
@@ -555,7 +570,8 @@ scanners.dosetpositionbox = function() -- name box
d = getfield(box,"depth"),
n = nofparagraphs > 0 and nofparagraphs or nil,
}
- context(new_latelua_node(f_enhance(name)))
+ -- context(new_latelua_node(f_enhance(name)))
+ context(new_latelua_node(function() enhance(tobesaved[name]) end))
end
scanners.dosetpositionplus = function() -- name w h d extra
@@ -572,7 +588,8 @@ scanners.dosetpositionplus = function() -- name w h d extra
n = nofparagraphs > 0 and nofparagraphs or nil,
e = scanstring(),
}
- context(new_latelua_node(f_enhance(name)))
+ -- context(new_latelua_node(f_enhance(name)))
+ context(new_latelua_node(function() enhance(tobesaved[name]) end))
end
scanners.dosetpositionstrut = function() -- name
@@ -588,7 +605,8 @@ scanners.dosetpositionstrut = function() -- name
d = getfield(strutbox,"depth"),
n = nofparagraphs > 0 and nofparagraphs or nil,
}
- context(new_latelua_node(f_enhance(name)))
+ -- context(new_latelua_node(f_enhance(name)))
+ context(new_latelua_node(function() enhance(tobesaved[name]) end))
end
function jobpositions.getreserved(tag,n)
diff --git a/Master/texmf-dist/tex/context/base/mkiv/cont-new.mkiv b/Master/texmf-dist/tex/context/base/mkiv/cont-new.mkiv
index 7925f879719..79aa939d433 100644
--- a/Master/texmf-dist/tex/context/base/mkiv/cont-new.mkiv
+++ b/Master/texmf-dist/tex/context/base/mkiv/cont-new.mkiv
@@ -11,7 +11,7 @@
%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
%C details.
-\newcontextversion{2016.05.10 23:43}
+\newcontextversion{2016.05.12 23:49}
%D This file is loaded at runtime, thereby providing an excellent place for
%D hacks, patches, extensions and new features.
diff --git a/Master/texmf-dist/tex/context/base/mkiv/context-todo.tex b/Master/texmf-dist/tex/context/base/mkiv/context-todo.tex
index 66889c4d37c..bf7d198c958 100644
--- a/Master/texmf-dist/tex/context/base/mkiv/context-todo.tex
+++ b/Master/texmf-dist/tex/context/base/mkiv/context-todo.tex
@@ -47,6 +47,9 @@
redo some of the spacing (adapt to improvements in engine)
\stopitem
\startitem
+ reorganize position data (more subtables)
+ \stopitem
+ \startitem
use \type {\matheqnogapstep}, \type {\Ustack}, \type {\mathscriptsmode}, \
\type {\mathdisplayskipmode} and other new math primitives
\stopitem
diff --git a/Master/texmf-dist/tex/context/base/mkiv/context.mkiv b/Master/texmf-dist/tex/context/base/mkiv/context.mkiv
index 228e3f0cd39..b670c40c1d6 100644
--- a/Master/texmf-dist/tex/context/base/mkiv/context.mkiv
+++ b/Master/texmf-dist/tex/context/base/mkiv/context.mkiv
@@ -39,7 +39,7 @@
%D up and the dependencies are more consistent.
\edef\contextformat {\jobname}
-\edef\contextversion{2016.05.10 23:43}
+\edef\contextversion{2016.05.12 23:49}
\edef\contextkind {beta}
%D For those who want to use this:
diff --git a/Master/texmf-dist/tex/context/base/mkiv/font-one.lua b/Master/texmf-dist/tex/context/base/mkiv/font-one.lua
index af32463427f..5d54150c527 100644
--- a/Master/texmf-dist/tex/context/base/mkiv/font-one.lua
+++ b/Master/texmf-dist/tex/context/base/mkiv/font-one.lua
@@ -55,7 +55,7 @@ local otfenhancers = otf.enhancers
local afmfeatures = constructors.newfeatures("afm")
local registerafmfeature = afmfeatures.register
-afm.version = 1.507 -- incrementing this number one up will force a re-cache
+afm.version = 1.510 -- incrementing this number one up will force a re-cache
afm.cache = containers.define("fonts", "afm", afm.version, true)
afm.autoprefixed = true -- this will become false some day (catches texnansi-blabla.*)
@@ -87,143 +87,6 @@ and <l n='otf'/> reader.</p>
-- Comment DELIM 2390 1010
-- Comment AXISHEIGHT 250
-local comment = P("Comment")
-local spacing = patterns.spacer -- S(" \t")^1
-local lineend = patterns.newline -- S("\n\r")
-local words = spacing * C((1 - lineend)^1)
-local number = spacing * C((R("09") + S("."))^1) / tonumber * spacing^0
-local data = Carg(1)
-local plus = P("plus") * number
-local minus = P("minus") * number
-
-local pattern = ( -- needs testing ... not used anyway as we no longer need math afm's
- comment * spacing * (
- data * (
- ("CODINGSCHEME" * words ) / function(t,a) end +
- ("DESIGNSIZE" * number * words ) / function(t,a) t[ 1] = a end +
- ("CHECKSUM" * number * words ) / function(t,a) t[ 2] = a end +
- ("SPACE" * number * plus * minus ) / function(t,a,b,c) t[ 3], t[ 4], t[ 5] = a, b, c end +
- ("QUAD" * number ) / function(t,a) t[ 6] = a end +
- ("EXTRASPACE" * number ) / function(t,a) t[ 7] = a end +
- ("NUM" * number * number * number ) / function(t,a,b,c) t[ 8], t[ 9], t[10] = a, b, c end +
- ("DENOM" * number * number ) / function(t,a,b) t[11], t[12] = a, b end +
- ("SUP" * number * number * number ) / function(t,a,b,c) t[13], t[14], t[15] = a, b, c end +
- ("SUB" * number * number ) / function(t,a,b) t[16], t[17] = a, b end +
- ("SUPDROP" * number ) / function(t,a) t[18] = a end +
- ("SUBDROP" * number ) / function(t,a) t[19] = a end +
- ("DELIM" * number * number ) / function(t,a,b) t[20], t[21] = a, b end +
- ("AXISHEIGHT" * number ) / function(t,a) t[22] = a end
- )
- + (1-lineend)^0
- )
- + (1-comment)^1
-)^0
-
-local function scan_comment(str)
- local fd = { }
- lpegmatch(pattern,str,1,fd)
- return fd
-end
-
--- Comment DesignSize 12 (pts)
--- Comment TFM designsize: 12 (in points)
-
-local keys = {
-
- FontName = function(data,line)
- data.metadata.fontname = strip(line) -- get rid of spaces
- data.metadata.fullname = strip(line)
- end,
-
- ItalicAngle = function(data,line)
- data.metadata.italicangle = tonumber(line)
- end,
-
- IsFixedPitch = function(data,line)
- data.metadata.monospaced = toboolean(line,true)
- end,
-
- CharWidth = function(data,line)
- data.metadata.charwidth = tonumber(line)
- end,
-
- XHeight = function(data,line)
- data.metadata.xheight = tonumber(line)
- end,
-
- Descender = function(data,line)
- data.metadata.descender = tonumber (line)
- end,
-
- Ascender = function(data,line)
- data.metadata.ascender = tonumber (line)
- end,
-
- Comment = function(data,line)
- line = lower(line)
- local designsize = match(line,"designsize[^%d]*(%d+)")
- if designsize then data.metadata.designsize = tonumber(designsize) end
- end,
-
-}
-
-local function get_charmetrics(data,charmetrics,vector)
- local characters = data.characters
- local chr, ind = { }, 0
- for k, v in gmatch(charmetrics,"([%a]+) +(.-) *;") do
- if k == 'C' then
- v = tonumber(v)
- if v < 0 then
- ind = ind + 1 -- ?
- else
- ind = v
- end
- chr = {
- index = ind
- }
- elseif k == 'WX' then
- chr.width = tonumber(v)
- elseif k == 'N' then
- characters[v] = chr
- elseif k == 'B' then
- local llx, lly, urx, ury = match(v,"^ *(.-) +(.-) +(.-) +(.-)$")
- chr.boundingbox = { tonumber(llx), tonumber(lly), tonumber(urx), tonumber(ury) }
- elseif k == 'L' then
- local plus, becomes = match(v,"^(.-) +(.-)$")
- local ligatures = chr.ligatures
- if ligatures then
- ligatures[plus] = becomes
- else
- chr.ligatures = { [plus] = becomes }
- end
- end
- end
-end
-
-local function get_kernpairs(data,kernpairs)
- local characters = data.characters
- for one, two, value in gmatch(kernpairs,"KPX +(.-) +(.-) +(.-)\n") do
- local chr = characters[one]
- if chr then
- local kerns = chr.kerns
- if kerns then
- kerns[two] = tonumber(value)
- else
- chr.kerns = { [two] = tonumber(value) }
- end
- end
- end
-end
-
-local function get_variables(data,fontmetrics)
- for key, rest in gmatch(fontmetrics,"(%a+) *(.-)[\n\r]") do
- local keyhandler = keys[key]
- if keyhandler then
- keyhandler(data,rest)
- end
- end
-end
-
--[[ldx--
<p>We now use a new (unfinished) pfb loader but I see no differences between the old
and new vectors (we actually had one bad vector with the old loader).</p>
@@ -353,61 +216,205 @@ do
end
-local function readafm(filename)
- local ok, afmblob, size = resolvers.loadbinfile(filename) -- has logging
- if ok and afmblob then
- local data = {
- resources = {
- filename = resolvers.unresolve(filename),
- version = afm.version,
- creator = "context mkiv",
- },
- properties = {
- hasitalics = false,
- },
- goodies = {
- },
- metadata = {
- filename = file.removesuffix(file.basename(filename))
- },
- characters = {
- -- a temporary store
- },
- descriptions = {
- -- the final store
- },
- }
--- afmblob = gsub(afmblob,"StartCharMetrics(.-)EndCharMetrics", function(charmetrics)
- for charmetrics in gmatch(afmblob,"StartCharMetrics(.-)EndCharMetrics") do
- if trace_loading then
- report_afm("loading char metrics")
+--[[ldx--
+<p>We start with the basic reader which we give a name similar to the built in <l n='tfm'/>
+and <l n='otf'/> reader.</p>
+--ldx]]--
+
+-- Comment FONTIDENTIFIER LMMATHSYMBOLS10
+-- Comment CODINGSCHEME TEX MATH SYMBOLS
+-- Comment DESIGNSIZE 10.0 pt
+-- Comment CHECKSUM O 4261307036
+-- Comment SPACE 0 plus 0 minus 0
+-- Comment QUAD 1000
+-- Comment EXTRASPACE 0
+-- Comment NUM 676.508 393.732 443.731
+-- Comment DENOM 685.951 344.841
+-- Comment SUP 412.892 362.892 288.889
+-- Comment SUB 150 247.217
+-- Comment SUPDROP 386.108
+-- Comment SUBDROP 50
+-- Comment DELIM 2390 1010
+-- Comment AXISHEIGHT 250
+-- Comment DesignSize 12 (pts)
+-- Comment TFM designsize: 12 (in points)
+
+local readafm
+
+do -- no need for a further speedup with locals
+
+ local spacing = patterns.spacer
+ local lineend = patterns.newline
+ local number = spacing * (R("09") + S("."))^1 / tonumber
+ local name = spacing * C((1-spacing)^1)
+ local words = spacing * (1 - lineend)^1 / strip
+ local rest = (1 - lineend)^0
+ local fontdata = Carg(1)
+ local semicolon = spacing * P(";")
+ local plus = P("plus") * number
+ local minus = P("minus") * number
+
+ -- kern pairs
+
+ local function addkernpair(data,one,two,value)
+ local chr = data.characters[one]
+ if chr then
+ local kerns = chr.kerns
+ if kerns then
+ kerns[two] = tonumber(value)
+ else
+ chr.kerns = { [two] = tonumber(value) }
end
- get_charmetrics(data,charmetrics,vector)
- break
end
- for kernpairs in gmatch(afmblob,"StartKernPairs(.-)EndKernPairs") do
+ end
+
+ local p_kernpair = (fontdata * P("KPX") * name * name * number) / addkernpair
+
+ -- char metrics
+
+ local chr = false
+ local ind = 0
+
+ local function start()
+ ind = 0
+ chr = { }
+ end
+
+ local function stop()
+ ind = 0
+ chr = false
+ end
+
+ local function setindex(i)
+ if i < 0 then
+ ind = ind + 1 -- ?
+ else
+ ind = i
+ end
+ chr = {
+ index = ind
+ }
+ end
+
+ local function setwidth(width)
+ chr.width = width
+ end
+
+ local function setname(data,name)
+ data.characters[name] = chr
+ end
+
+ local function setboundingbox(boundingbox)
+ chr.boundingbox = boundingbox
+ end
+
+ local function setligature(plus,becomes)
+ local ligatures = chr.ligatures
+ if ligatures then
+ ligatures[plus] = becomes
+ else
+ chr.ligatures = { [plus] = becomes }
+ end
+ end
+
+ local p_charmetric = ( (
+ P("C") * number / setindex
+ + P("WX") * number / setwidth
+ + P("N") * fontdata * name / setname
+ + P("B") * Ct((number)^4) / setboundingbox
+ + P("L") * (name)^2 / setligature
+ ) * semicolon )^1
+
+ local p_charmetrics = P("StartCharMetrics") * number * (p_charmetric + (1-P("EndCharMetrics")))^0 * P("EndCharMetrics")
+ local p_kernpairs = P("StartKernPairs") * number * (p_kernpair + (1-P("EndKernPairs")) )^0 * P("EndKernPairs")
+
+ local function set_1(data,key,a) data.metadata[lower(key)] = a end
+ local function set_2(data,key,a,b) data.metadata[lower(key)] = { a, b } end
+ local function set_3(data,key,a,b,c) data.metadata[lower(key)] = { a, b, c } end
+
+ local p_parameters = P(false)
+ + P("FontName") * fontdata * words / function(data,line)
+ data.metadata.fontname = line
+ data.metadata.fullname = line
+ end
+ + P("ItalicAngle") * fontdata * number / function(data,angle)
+ data.metadata.italicangle = angle
+ end
+ + P("IsFixedPitch") * fontdata * name / function(data,pitch)
+ data.metadata.monospaced = toboolean(pitch,true)
+ end
+ + P("CharWidth") * fontdata * number / function(data,width)
+ data.metadata.charwidth = width
+ end
+ + P("XHeight") * fontdata * number / function(data,xheight)
+ data.metadata.xheight = xheight
+ end
+ + P("Descender") * fontdata * number / function(data,descender)
+ data.metadata.descender = descender
+ end
+ + P("Ascender") * fontdata * number / function(data,ascender)
+ data.metadata.ascender = ascender
+ end
+ + P("Comment") * spacing * ( P(false)
+ + (fontdata * C("DESIGNSIZE") * number * rest) / set_1 -- 1
+ + (fontdata * C("TFM designsize") * number * rest) / set_1
+ + (fontdata * C("DesignSize") * number * rest) / set_1
+ + (fontdata * C("CODINGSCHEME") * words * rest) / set_1 --
+ + (fontdata * C("CHECKSUM") * number * words * rest) / set_1 -- 2
+ + (fontdata * C("SPACE") * number * plus * minus * rest) / set_3 -- 3 4 5
+ + (fontdata * C("QUAD") * number * rest) / set_1 -- 6
+ + (fontdata * C("EXTRASPACE") * number * rest) / set_1 -- 7
+ + (fontdata * C("NUM") * number * number * number * rest) / set_3 -- 8 9 10
+ + (fontdata * C("DENOM") * number * number * rest) / set_2 -- 11 12
+ + (fontdata * C("SUP") * number * number * number * rest) / set_3 -- 13 14 15
+ + (fontdata * C("SUB") * number * number * rest) / set_2 -- 16 17
+ + (fontdata * C("SUPDROP") * number * rest) / set_1 -- 18
+ + (fontdata * C("SUBDROP") * number * rest) / set_1 -- 19
+ + (fontdata * C("DELIM") * number * number * rest) / set_2 -- 20 21
+ + (fontdata * C("AXISHEIGHT") * number * rest) / set_1 -- 22
+ )
+
+ local parser = ( P("StartFontMetrics") / start )
+ * ( p_charmetrics + p_kernpairs + p_parameters + (1-P("EndFontMetrics")) )^0
+ * ( P("EndFontMetrics") / stop )
+
+ readafm = function(filename)
+ local ok, afmblob, size = resolvers.loadbinfile(filename) -- has logging
+ if ok and afmblob then
+ local data = {
+ resources = {
+ filename = resolvers.unresolve(filename),
+ version = afm.version,
+ creator = "context mkiv",
+ },
+ properties = {
+ hasitalics = false,
+ },
+ goodies = {
+ },
+ metadata = {
+ filename = file.removesuffix(file.basename(filename))
+ },
+ characters = {
+ -- a temporary store
+ },
+ descriptions = {
+ -- the final store
+ },
+ }
if trace_loading then
- report_afm("loading kern pairs")
+ report_afm("parsing afm file %a",filename)
end
- get_kernpairs(data,kernpairs)
- break
- end
- for version, fontmetrics in gmatch(afmblob,"StartFontMetrics%s+([%d%.]+)(.-)EndFontMetrics") do
+ lpegmatch(parser,afmblob,1,data)
+ return data
+ else
if trace_loading then
- report_afm("loading variables")
+ report_afm("no valid afm file %a",filename)
end
- data.afmversion = version
- get_variables(data,fontmetrics)
- data.fontdimens = scan_comment(fontmetrics) -- todo: all lpeg, no time now
- break
- end
- return data
- else
- if trace_loading then
- report_afm("no valid afm file %a",filename)
+ return nil
end
- return nil
end
+
end
--[[ldx--
@@ -929,11 +936,31 @@ local function copytotfm(data)
end
--
end
- local fd = data.fontdimens
- if fd and fd[8] and fd[9] and fd[10] then -- math
- for k,v in next, fd do
- parameters[k] = v
- end
+ --
+ if metadata.sup then
+ local dummy = { 0, 0, 0 }
+ parameters[ 1] = metadata.designsize or 0
+ parameters[ 2] = metadata.checksum or 0
+ parameters[ 3],
+ parameters[ 4],
+ parameters[ 5] = unpack(metadata.space or dummy)
+ parameters[ 6] = metadata.quad or 0
+ parameters[ 7] = metadata.extraspace or 0
+ parameters[ 8],
+ parameters[ 9],
+ parameters[10] = unpack(metadata.num or dummy)
+ parameters[11],
+ parameters[12] = unpack(metadata.denom or dummy)
+ parameters[13],
+ parameters[14],
+ parameters[15] = unpack(metadata.sup or dummy)
+ parameters[16],
+ parameters[17] = unpack(metadata.sub or dummy)
+ parameters[18] = metadata.supdrop or 0
+ parameters[19] = metadata.subdrop or 0
+ parameters[20],
+ parameters[21] = unpack(metadata.delim or dummy)
+ parameters[22] = metadata.axisheight or 0
end
--
parameters.designsize = (metadata.designsize or 10)*65536
diff --git a/Master/texmf-dist/tex/context/base/mkiv/grph-inc.lua b/Master/texmf-dist/tex/context/base/mkiv/grph-inc.lua
index cf4a702697f..d13d45a29c5 100644
--- a/Master/texmf-dist/tex/context/base/mkiv/grph-inc.lua
+++ b/Master/texmf-dist/tex/context/base/mkiv/grph-inc.lua
@@ -2117,3 +2117,34 @@ implement {
-- end
--
-- \externalfigure[t:/sources/hakker1b.tiff]
+
+-- something relatively new:
+
+local registered = { }
+
+interfaces.implement {
+ name = "figure_register_page",
+ arguments = { "string", "string", "string" },
+ actions = function(a,b,c)
+ registered[#registered+1] = { a, b, c }
+ context(#registered)
+ end
+}
+
+interfaces.implement {
+ name = "figure_nof_registered_pages",
+ actions = function()
+ context(#registered)
+ end
+}
+
+interfaces.implement {
+ name = "figure_flush_registered_pages",
+ arguments = "string",
+ actions = function(n)
+ local f = registered[tonumber(n)]
+ if f then
+ context.doexternalfigurerepeat(f[1],f[2],f[3],n)
+ end
+ end
+}
diff --git a/Master/texmf-dist/tex/context/base/mkiv/grph-inc.mkiv b/Master/texmf-dist/tex/context/base/mkiv/grph-inc.mkiv
index deba82c583d..de5a2227ac1 100644
--- a/Master/texmf-dist/tex/context/base/mkiv/grph-inc.mkiv
+++ b/Master/texmf-dist/tex/context/base/mkiv/grph-inc.mkiv
@@ -99,6 +99,7 @@
\c!ymax =24,
\c!xmax =,
\c!align =\v!none, % New, for Tacos extremely large graphics.
+ \c!crossreference =\v!no,
]
%D Defining figures.
@@ -305,9 +306,10 @@
%
\the\t_grph_include_local_settings
%
- \edef\p_width {\externalfigureparameter\c!width}%
- \edef\p_height{\externalfigureparameter\c!height}%
- \edef\p_label {\externalfigureparameter\c!label}%
+ \edef\p_width {\externalfigureparameter\c!width}%
+ \edef\p_height {\externalfigureparameter\c!height}%
+ \edef\p_label {\externalfigureparameter\c!label}%
+ \edef\p_reference{\externalfigureparameter\c!reference}%
%
\dostarttagged\t!image\empty
\clf_figure_push
@@ -361,10 +363,81 @@
\fi
\clf_figure_pop
\dotagfigure
- \naturalvbox attr \imageattribute 2 {\box\foundexternalfigure}%
+ %
+ \scratchcounter\zerocount
+ \edef\p_crossreference{\externalfigureparameter\c!crossreference}%
+ \iflocation\iftrialtypesetting\else
+ \ifx\p_crossreference\empty
+ % nothing
+ \else\ifx\p_crossreference\v!no
+ % nothing
+ \else\ifx\p_crossreference\v!yes
+ \ifassignment
+ \scratchcounter\clf_figure_register_page{#1}{}{#2}\relax
+ \else
+ \scratchcounter\clf_figure_register_page{#1}{#2}{#3}\relax
+ \fi
+ \else
+ \scratchcounter-\p_crossreference % passed by repeater
+ \fi\fi\fi
+ \fi\fi
+ \naturalvpack
+ attr \imageattribute \plustwo
+ \ifnum\scratchcounter>\zerocount
+ {\strc_references_cross_forward {ex:\number \scratchcounter}{\box\foundexternalfigure}}%
+ \else\ifnum\scratchcounter<\zerocount
+ {\strc_references_cross_backward{ex:\number-\scratchcounter}{\box\foundexternalfigure}}%
+ \else
+ {\box\foundexternalfigure}%
+ \fi\fi
+ %
\dostoptagged
\egroup}
+%D Next we provide a cross referenced scale-up mechanism:
+
+\def\strc_references_cross_forward#1#2%
+ {\begingroup
+ \strc_references_set_simple_internal_reference{cross:b:#1}%
+ \naturalhpack
+ attr \destinationattribute\number\lastdestinationattribute
+ {\naturalhpack{\strc_references_flush_destination_nodes\directgotodumbbox{#2}[cross:f:#1]}}%
+ \endgroup}
+
+\def\strc_references_cross_backward#1#2%
+ {\begingroup
+ \strc_references_set_simple_internal_reference{cross:f:#1}%
+ \naturalhpack
+ attr \destinationattribute\number\lastdestinationattribute
+ {\naturalhpack{\strc_references_flush_destination_nodes\directgotodumbbox{#2}[cross:b:#1]}}%
+ \endgroup}
+
+\let\doexternalfigurerepeat\gobblefourarguments % called from lua end
+
+\unexpanded\def\placeregisteredexternalfigures
+ {\dosingleempty\grph_include_place_registered}
+
+\unexpanded\def\grph_include_place_registered[#1]%
+ {\page
+ \begingroup
+ \unexpanded\def\doexternalfigurerepeat{\grph_include_place_registered_indeed{#1}}%
+ \dorecurse\clf_figure_nof_registered_pages
+ {\page
+ \clf_figure_flush_registered_pages\recurselevel
+ \page}%
+ \endgroup
+ \page}
+
+\unexpanded\def\grph_include_place_registered_indeed#1#2#3#4#5% called from lua end
+ {\grph_include_place[#2][#3][#4,%
+ \c!hfactor=,\c!wfactor=,\c!factor=,%
+ \c!maxwidth=,\c!maxheight=,%
+ \c!xscale=,\c!yscale=,\c!scale=,%
+ \c!sx=,\c!sy=,\c!s=,%
+ \c!width=,\c!height=,%
+ \c!crossreference=#5,%
+ #1]}
+
%D Scaling:
\let\dowithfigure\relax % name might change (into a proper hook)
diff --git a/Master/texmf-dist/tex/context/base/mkiv/mult-def.lua b/Master/texmf-dist/tex/context/base/mkiv/mult-def.lua
index 99e0eb60466..68114481698 100644
--- a/Master/texmf-dist/tex/context/base/mkiv/mult-def.lua
+++ b/Master/texmf-dist/tex/context/base/mkiv/mult-def.lua
@@ -7362,6 +7362,9 @@ return {
["pe"]="criterium",
["ro"]="criteriu",
},
+ ["crossreference"]={
+ ["en"]="crossreference",
+ },
["cropoffset"]={
["en"]="cropoffset",
},
diff --git a/Master/texmf-dist/tex/context/base/mkiv/pack-rul.mkiv b/Master/texmf-dist/tex/context/base/mkiv/pack-rul.mkiv
index c8288586f4b..635863302cd 100644
--- a/Master/texmf-dist/tex/context/base/mkiv/pack-rul.mkiv
+++ b/Master/texmf-dist/tex/context/base/mkiv/pack-rul.mkiv
@@ -2727,6 +2727,8 @@
{\pack_framed_text_start_continue\empty{#1}}
{\pack_framed_text_start_continue{#1}{#2}}}
+% todo: sort out first/lastline ht/dp
+
\def\pack_framed_text_start_continue#1#2%
{\setupframedtexts[\currentframedtext][#2]%
\doifsomething{#1}{\setframedtextparameter\c!location{#1}}% does not listen to #3
@@ -2739,10 +2741,10 @@
\hsize\localhsize
% \insidefloattrue % ? better
\usebodyfontparameter\framedtextparameter
+ % \edef\p_framed_text_strut{\letframedtextparameter\c!strut}% to be used
\letframedtextparameter\c!strut\v!no
\inheritedframedtextframed\bgroup
\let\\=\endgraf
- \framedtextparameter\c!inner % oud spul
\edef\p_framed_text_depthcorrection{\framedtextparameter\c!depthcorrection}%
\ifx\p_framed_text_depthcorrection\v!on
\pack_framed_text_start_depth_correction
@@ -2753,6 +2755,7 @@
\doinhibitblank
\useindentingparameter\framedtextparameter
\useframedtextstyleandcolor\c!style\c!color
+ \framedtextparameter\c!inner
\ignorespaces}
% testcase 1:
@@ -2855,17 +2858,26 @@
\def\pack_framed_text_start_direct[#1]%
{\usebodyfontparameter\framedtextparameter
- \letframedtextparameter\c!strut\v!no
\iffirstargument
\setupcurrentframedtext[#1]%
\fi
+ \edef\p_framed_text_strut{\letframedtextparameter\c!strut}%
+ \letframedtextparameter\c!strut\v!no
\inheritedframedtextframed\bgroup
\blank[\v!disable]%
\let\\=\endgraf
- \framedtextparameter\c!inner
\useframedtextstyleandcolor\c!style\c!color
+ \vskip-\strutdp % brrr why is this needed ... needs to be sorted out, see testcase 1
+ \framedtextparameter\c!inner
+ \ifx\p_framed_text_strut\v!no
+ \let\pack_framed_strut\relax
+ \else
+ \let\pack_framed_strut\strut
+ \fi
\bgroup
\aftergroup\pack_framed_text_stop_direct
+ \afterassignment\ignorespaces
+ \afterassignment\pack_framed_strut
\let\next=}
\def\pack_framed_text_stop_direct
diff --git a/Master/texmf-dist/tex/context/base/mkiv/spac-ver.mkiv b/Master/texmf-dist/tex/context/base/mkiv/spac-ver.mkiv
index bbe53fb2aa3..e591d85f6a3 100644
--- a/Master/texmf-dist/tex/context/base/mkiv/spac-ver.mkiv
+++ b/Master/texmf-dist/tex/context/base/mkiv/spac-ver.mkiv
@@ -1139,7 +1139,7 @@
% when enabled, sigstruts will remove themselves if nothing
% goes inbetween
-%D For poractical reasons we define some boundary characters here.
+%D For practical reasons we define some boundary characters here.
\unexpanded\def\leftboundary {\protrusionboundary\plusone}
\unexpanded\def\rightboundary {\protrusionboundary\plustwo}
diff --git a/Master/texmf-dist/tex/context/base/mkiv/status-files.pdf b/Master/texmf-dist/tex/context/base/mkiv/status-files.pdf
index bc8c201e7b3..ce4ce0520e9 100644
--- a/Master/texmf-dist/tex/context/base/mkiv/status-files.pdf
+++ b/Master/texmf-dist/tex/context/base/mkiv/status-files.pdf
Binary files differ
diff --git a/Master/texmf-dist/tex/context/base/mkiv/status-lua.pdf b/Master/texmf-dist/tex/context/base/mkiv/status-lua.pdf
index 5260d86f029..c3f475e425c 100644
--- a/Master/texmf-dist/tex/context/base/mkiv/status-lua.pdf
+++ b/Master/texmf-dist/tex/context/base/mkiv/status-lua.pdf
Binary files differ
diff --git a/Master/texmf-dist/tex/context/interface/mkii/keys-cs.xml b/Master/texmf-dist/tex/context/interface/mkii/keys-cs.xml
index e8df8ee303a..ce8e41016fb 100644
--- a/Master/texmf-dist/tex/context/interface/mkii/keys-cs.xml
+++ b/Master/texmf-dist/tex/context/interface/mkii/keys-cs.xml
@@ -732,6 +732,7 @@
<cd:constant name='couplingway' value='zpusobpropojeni'/>
<cd:constant name='criterium' value='kriterium'/>
<cd:constant name='cropoffset' value='cropoffset'/>
+ <cd:constant name='crossreference' value='crossreference'/>
<cd:constant name='cssfile' value='cssfile'/>
<cd:constant name='current' value='aktualni'/>
<cd:constant name='cutspace' value='cutspace'/>
diff --git a/Master/texmf-dist/tex/context/interface/mkii/keys-de.xml b/Master/texmf-dist/tex/context/interface/mkii/keys-de.xml
index 94314bf6118..5c7ecc6514e 100644
--- a/Master/texmf-dist/tex/context/interface/mkii/keys-de.xml
+++ b/Master/texmf-dist/tex/context/interface/mkii/keys-de.xml
@@ -732,6 +732,7 @@
<cd:constant name='couplingway' value='verkopplungsart'/>
<cd:constant name='criterium' value='kriterium'/>
<cd:constant name='cropoffset' value='cropoffset'/>
+ <cd:constant name='crossreference' value='crossreference'/>
<cd:constant name='cssfile' value='cssfile'/>
<cd:constant name='current' value='aktuell'/>
<cd:constant name='cutspace' value='cutspace'/>
diff --git a/Master/texmf-dist/tex/context/interface/mkii/keys-en.xml b/Master/texmf-dist/tex/context/interface/mkii/keys-en.xml
index b0cb6fa2c50..621cbd76368 100644
--- a/Master/texmf-dist/tex/context/interface/mkii/keys-en.xml
+++ b/Master/texmf-dist/tex/context/interface/mkii/keys-en.xml
@@ -732,6 +732,7 @@
<cd:constant name='couplingway' value='couplingway'/>
<cd:constant name='criterium' value='criterium'/>
<cd:constant name='cropoffset' value='cropoffset'/>
+ <cd:constant name='crossreference' value='crossreference'/>
<cd:constant name='cssfile' value='cssfile'/>
<cd:constant name='current' value='current'/>
<cd:constant name='cutspace' value='cutspace'/>
diff --git a/Master/texmf-dist/tex/context/interface/mkii/keys-fr.xml b/Master/texmf-dist/tex/context/interface/mkii/keys-fr.xml
index dae2ecfe0b8..301f9462813 100644
--- a/Master/texmf-dist/tex/context/interface/mkii/keys-fr.xml
+++ b/Master/texmf-dist/tex/context/interface/mkii/keys-fr.xml
@@ -732,6 +732,7 @@
<cd:constant name='couplingway' value='modecouplage'/>
<cd:constant name='criterium' value='critere'/>
<cd:constant name='cropoffset' value='cropoffset'/>
+ <cd:constant name='crossreference' value='crossreference'/>
<cd:constant name='cssfile' value='cssfile'/>
<cd:constant name='current' value='courant'/>
<cd:constant name='cutspace' value='cutspace'/>
diff --git a/Master/texmf-dist/tex/context/interface/mkii/keys-it.xml b/Master/texmf-dist/tex/context/interface/mkii/keys-it.xml
index 0d661c5e14b..458acd5c108 100644
--- a/Master/texmf-dist/tex/context/interface/mkii/keys-it.xml
+++ b/Master/texmf-dist/tex/context/interface/mkii/keys-it.xml
@@ -732,6 +732,7 @@
<cd:constant name='couplingway' value='modoaccoppiamento'/>
<cd:constant name='criterium' value='criterio'/>
<cd:constant name='cropoffset' value='cropoffset'/>
+ <cd:constant name='crossreference' value='crossreference'/>
<cd:constant name='cssfile' value='cssfile'/>
<cd:constant name='current' value='corrente'/>
<cd:constant name='cutspace' value='cutspace'/>
diff --git a/Master/texmf-dist/tex/context/interface/mkii/keys-nl.xml b/Master/texmf-dist/tex/context/interface/mkii/keys-nl.xml
index d9f192ec59c..5e214c8bbaf 100644
--- a/Master/texmf-dist/tex/context/interface/mkii/keys-nl.xml
+++ b/Master/texmf-dist/tex/context/interface/mkii/keys-nl.xml
@@ -732,6 +732,7 @@
<cd:constant name='couplingway' value='koppelwijze'/>
<cd:constant name='criterium' value='criterium'/>
<cd:constant name='cropoffset' value='cropoffset'/>
+ <cd:constant name='crossreference' value='crossreference'/>
<cd:constant name='cssfile' value='cssfile'/>
<cd:constant name='current' value='huidige'/>
<cd:constant name='cutspace' value='snijwit'/>
diff --git a/Master/texmf-dist/tex/context/interface/mkii/keys-pe.xml b/Master/texmf-dist/tex/context/interface/mkii/keys-pe.xml
index ec120ee06d1..1afb96c9ab1 100644
--- a/Master/texmf-dist/tex/context/interface/mkii/keys-pe.xml
+++ b/Master/texmf-dist/tex/context/interface/mkii/keys-pe.xml
@@ -732,6 +732,7 @@
<cd:constant name='couplingway' value='روش‌تزویج'/>
<cd:constant name='criterium' value='criterium'/>
<cd:constant name='cropoffset' value='cropoffset'/>
+ <cd:constant name='crossreference' value='crossreference'/>
<cd:constant name='cssfile' value='cssfile'/>
<cd:constant name='current' value='جاری'/>
<cd:constant name='cutspace' value='فضای‌برش'/>
diff --git a/Master/texmf-dist/tex/context/interface/mkii/keys-ro.xml b/Master/texmf-dist/tex/context/interface/mkii/keys-ro.xml
index 71fa22e923a..8a7707a2d54 100644
--- a/Master/texmf-dist/tex/context/interface/mkii/keys-ro.xml
+++ b/Master/texmf-dist/tex/context/interface/mkii/keys-ro.xml
@@ -732,6 +732,7 @@
<cd:constant name='couplingway' value='modcuplare'/>
<cd:constant name='criterium' value='criteriu'/>
<cd:constant name='cropoffset' value='cropoffset'/>
+ <cd:constant name='crossreference' value='crossreference'/>
<cd:constant name='cssfile' value='cssfile'/>
<cd:constant name='current' value='curent'/>
<cd:constant name='cutspace' value='cutspace'/>
diff --git a/Master/texmf-dist/tex/context/interface/mkiv/i-context.pdf b/Master/texmf-dist/tex/context/interface/mkiv/i-context.pdf
index 525127f6f21..99c3cce1fa5 100644
--- a/Master/texmf-dist/tex/context/interface/mkiv/i-context.pdf
+++ b/Master/texmf-dist/tex/context/interface/mkiv/i-context.pdf
Binary files differ
diff --git a/Master/texmf-dist/tex/context/interface/mkiv/i-readme.pdf b/Master/texmf-dist/tex/context/interface/mkiv/i-readme.pdf
index cc920a21b3c..5dc85d2f541 100644
--- a/Master/texmf-dist/tex/context/interface/mkiv/i-readme.pdf
+++ b/Master/texmf-dist/tex/context/interface/mkiv/i-readme.pdf
Binary files differ
diff --git a/Master/texmf-dist/tex/generic/context/luatex/luatex-fonts-merged.lua b/Master/texmf-dist/tex/generic/context/luatex/luatex-fonts-merged.lua
index b84893719eb..183135443ab 100644
--- a/Master/texmf-dist/tex/generic/context/luatex/luatex-fonts-merged.lua
+++ b/Master/texmf-dist/tex/generic/context/luatex/luatex-fonts-merged.lua
@@ -1,6 +1,6 @@
-- merged file : c:/data/develop/context/sources/luatex-fonts-merged.lua
-- parent file : c:/data/develop/context/sources/luatex-fonts.lua
--- merge date : 05/10/16 23:43:55
+-- merge date : 05/12/16 23:49:15
do -- begin closure to overcome local limits and interference
@@ -22287,116 +22287,13 @@ local otfreaders=otf.readers
local otfenhancers=otf.enhancers
local afmfeatures=constructors.newfeatures("afm")
local registerafmfeature=afmfeatures.register
-afm.version=1.507
+afm.version=1.510
afm.cache=containers.define("fonts","afm",afm.version,true)
afm.autoprefixed=true
afm.helpdata={}
afm.syncspace=true
local overloads=fonts.mappings.overloads
local applyruntimefixes=fonts.treatments and fonts.treatments.applyfixes
-local comment=P("Comment")
-local spacing=patterns.spacer
-local lineend=patterns.newline
-local words=spacing*C((1-lineend)^1)
-local number=spacing*C((R("09")+S("."))^1)/tonumber*spacing^0
-local data=Carg(1)
-local plus=P("plus")*number
-local minus=P("minus")*number
-local pattern=(
- comment*spacing*(
- data*(
- ("CODINGSCHEME"*words )/function(t,a) end+("DESIGNSIZE"*number*words )/function(t,a) t[ 1]=a end+("CHECKSUM"*number*words )/function(t,a) t[ 2]=a end+("SPACE"*number*plus*minus )/function(t,a,b,c) t[ 3],t[ 4],t[ 5]=a,b,c end+("QUAD"*number )/function(t,a) t[ 6]=a end+("EXTRASPACE"*number )/function(t,a) t[ 7]=a end+("NUM"*number*number*number )/function(t,a,b,c) t[ 8],t[ 9],t[10]=a,b,c end+("DENOM"*number*number )/function(t,a,b) t[11],t[12]=a,b end+("SUP"*number*number*number )/function(t,a,b,c) t[13],t[14],t[15]=a,b,c end+("SUB"*number*number )/function(t,a,b) t[16],t[17]=a,b end+("SUPDROP"*number )/function(t,a) t[18]=a end+("SUBDROP"*number )/function(t,a) t[19]=a end+("DELIM"*number*number )/function(t,a,b) t[20],t[21]=a,b end+("AXISHEIGHT"*number )/function(t,a) t[22]=a end
- )+(1-lineend)^0
- )+(1-comment)^1
-)^0
-local function scan_comment(str)
- local fd={}
- lpegmatch(pattern,str,1,fd)
- return fd
-end
-local keys={
- FontName=function(data,line)
- data.metadata.fontname=strip(line)
- data.metadata.fullname=strip(line)
- end,
- ItalicAngle=function(data,line)
- data.metadata.italicangle=tonumber(line)
- end,
- IsFixedPitch=function(data,line)
- data.metadata.monospaced=toboolean(line,true)
- end,
- CharWidth=function(data,line)
- data.metadata.charwidth=tonumber(line)
- end,
- XHeight=function(data,line)
- data.metadata.xheight=tonumber(line)
- end,
- Descender=function(data,line)
- data.metadata.descender=tonumber (line)
- end,
- Ascender=function(data,line)
- data.metadata.ascender=tonumber (line)
- end,
- Comment=function(data,line)
- line=lower(line)
- local designsize=match(line,"designsize[^%d]*(%d+)")
- if designsize then data.metadata.designsize=tonumber(designsize) end
- end,
-}
-local function get_charmetrics(data,charmetrics,vector)
- local characters=data.characters
- local chr,ind={},0
- for k,v in gmatch(charmetrics,"([%a]+) +(.-) *;") do
- if k=='C' then
- v=tonumber(v)
- if v<0 then
- ind=ind+1
- else
- ind=v
- end
- chr={
- index=ind
- }
- elseif k=='WX' then
- chr.width=tonumber(v)
- elseif k=='N' then
- characters[v]=chr
- elseif k=='B' then
- local llx,lly,urx,ury=match(v,"^ *(.-) +(.-) +(.-) +(.-)$")
- chr.boundingbox={ tonumber(llx),tonumber(lly),tonumber(urx),tonumber(ury) }
- elseif k=='L' then
- local plus,becomes=match(v,"^(.-) +(.-)$")
- local ligatures=chr.ligatures
- if ligatures then
- ligatures[plus]=becomes
- else
- chr.ligatures={ [plus]=becomes }
- end
- end
- end
-end
-local function get_kernpairs(data,kernpairs)
- local characters=data.characters
- for one,two,value in gmatch(kernpairs,"KPX +(.-) +(.-) +(.-)\n") do
- local chr=characters[one]
- if chr then
- local kerns=chr.kerns
- if kerns then
- kerns[two]=tonumber(value)
- else
- chr.kerns={ [two]=tonumber(value) }
- end
- end
- end
-end
-local function get_variables(data,fontmetrics)
- for key,rest in gmatch(fontmetrics,"(%a+) *(.-)[\n\r]") do
- local keyhandler=keys[key]
- if keyhandler then
- keyhandler(data,rest)
- end
- end
-end
local get_indexes
do
local n,m
@@ -22482,56 +22379,138 @@ do
end
end
end
-local function readafm(filename)
- local ok,afmblob,size=resolvers.loadbinfile(filename)
- if ok and afmblob then
- local data={
- resources={
- filename=resolvers.unresolve(filename),
- version=afm.version,
- creator="context mkiv",
- },
- properties={
- hasitalics=false,
- },
- goodies={},
- metadata={
- filename=file.removesuffix(file.basename(filename))
- },
- characters={
- },
- descriptions={
- },
- }
- for charmetrics in gmatch(afmblob,"StartCharMetrics(.-)EndCharMetrics") do
- if trace_loading then
- report_afm("loading char metrics")
+local readafm
+do
+ local spacing=patterns.spacer
+ local lineend=patterns.newline
+ local number=spacing*(R("09")+S("."))^1/tonumber
+ local name=spacing*C((1-spacing)^1)
+ local words=spacing*(1-lineend)^1/strip
+ local rest=(1-lineend)^0
+ local fontdata=Carg(1)
+ local semicolon=spacing*P(";")
+ local plus=P("plus")*number
+ local minus=P("minus")*number
+ local function addkernpair(data,one,two,value)
+ local chr=data.characters[one]
+ if chr then
+ local kerns=chr.kerns
+ if kerns then
+ kerns[two]=tonumber(value)
+ else
+ chr.kerns={ [two]=tonumber(value) }
end
- get_charmetrics(data,charmetrics,vector)
- break
end
- for kernpairs in gmatch(afmblob,"StartKernPairs(.-)EndKernPairs") do
+ end
+ local p_kernpair=(fontdata*P("KPX")*name*name*number)/addkernpair
+ local chr=false
+ local ind=0
+ local function start()
+ ind=0
+ chr={}
+ end
+ local function stop()
+ ind=0
+ chr=false
+ end
+ local function setindex(i)
+ if i<0 then
+ ind=ind+1
+ else
+ ind=i
+ end
+ chr={
+ index=ind
+ }
+ end
+ local function setwidth(width)
+ chr.width=width
+ end
+ local function setname(data,name)
+ data.characters[name]=chr
+ end
+ local function setboundingbox(boundingbox)
+ chr.boundingbox=boundingbox
+ end
+ local function setligature(plus,becomes)
+ local ligatures=chr.ligatures
+ if ligatures then
+ ligatures[plus]=becomes
+ else
+ chr.ligatures={ [plus]=becomes }
+ end
+ end
+ local p_charmetric=((
+ P("C")*number/setindex+P("WX")*number/setwidth+P("N")*fontdata*name/setname+P("B")*Ct((number)^4)/setboundingbox+P("L")*(name)^2/setligature
+ )*semicolon )^1
+ local p_charmetrics=P("StartCharMetrics")*number*(p_charmetric+(1-P("EndCharMetrics")))^0*P("EndCharMetrics")
+ local p_kernpairs=P("StartKernPairs")*number*(p_kernpair+(1-P("EndKernPairs")) )^0*P("EndKernPairs")
+ local function set_1(data,key,a) data.metadata[lower(key)]=a end
+ local function set_2(data,key,a,b) data.metadata[lower(key)]={ a,b } end
+ local function set_3(data,key,a,b,c) data.metadata[lower(key)]={ a,b,c } end
+ local p_parameters=P(false)+P("FontName")*fontdata*words/function(data,line)
+ data.metadata.fontname=line
+ data.metadata.fullname=line
+ end+P("ItalicAngle")*fontdata*number/function(data,angle)
+ data.metadata.italicangle=angle
+ end+P("IsFixedPitch")*fontdata*name/function(data,pitch)
+ data.metadata.monospaced=toboolean(pitch,true)
+ end+P("CharWidth")*fontdata*number/function(data,width)
+ data.metadata.charwidth=width
+ end+P("XHeight")*fontdata*number/function(data,xheight)
+ data.metadata.xheight=xheight
+ end+P("Descender")*fontdata*number/function(data,descender)
+ data.metadata.descender=descender
+ end+P("Ascender")*fontdata*number/function(data,ascender)
+ data.metadata.ascender=ascender
+ end+P("Comment")*spacing*(P(false)+(fontdata*C("DESIGNSIZE")*number*rest)/set_1
++(fontdata*C("TFM designsize")*number*rest)/set_1+(fontdata*C("DesignSize")*number*rest)/set_1+(fontdata*C("CODINGSCHEME")*words*rest)/set_1
++(fontdata*C("CHECKSUM")*number*words*rest)/set_1
++(fontdata*C("SPACE")*number*plus*minus*rest)/set_3
++(fontdata*C("QUAD")*number*rest)/set_1
++(fontdata*C("EXTRASPACE")*number*rest)/set_1
++(fontdata*C("NUM")*number*number*number*rest)/set_3
++(fontdata*C("DENOM")*number*number*rest)/set_2
++(fontdata*C("SUP")*number*number*number*rest)/set_3
++(fontdata*C("SUB")*number*number*rest)/set_2
++(fontdata*C("SUPDROP")*number*rest)/set_1
++(fontdata*C("SUBDROP")*number*rest)/set_1
++(fontdata*C("DELIM")*number*number*rest)/set_2
++(fontdata*C("AXISHEIGHT")*number*rest)/set_1
+ )
+ local parser=(P("StartFontMetrics")/start )*(p_charmetrics+p_kernpairs+p_parameters+(1-P("EndFontMetrics")) )^0*(P("EndFontMetrics")/stop )
+ readafm=function(filename)
+ local ok,afmblob,size=resolvers.loadbinfile(filename)
+ if ok and afmblob then
+ local data={
+ resources={
+ filename=resolvers.unresolve(filename),
+ version=afm.version,
+ creator="context mkiv",
+ },
+ properties={
+ hasitalics=false,
+ },
+ goodies={},
+ metadata={
+ filename=file.removesuffix(file.basename(filename))
+ },
+ characters={
+ },
+ descriptions={
+ },
+ }
if trace_loading then
- report_afm("loading kern pairs")
+ report_afm("parsing afm file %a",filename)
end
- get_kernpairs(data,kernpairs)
- break
- end
- for version,fontmetrics in gmatch(afmblob,"StartFontMetrics%s+([%d%.]+)(.-)EndFontMetrics") do
+ lpegmatch(parser,afmblob,1,data)
+ return data
+ else
if trace_loading then
- report_afm("loading variables")
+ report_afm("no valid afm file %a",filename)
end
- data.afmversion=version
- get_variables(data,fontmetrics)
- data.fontdimens=scan_comment(fontmetrics)
- break
+ return nil
end
- return data
- else
- if trace_loading then
- report_afm("no valid afm file %a",filename)
- end
- return nil
end
end
local enhancers={
@@ -22975,11 +22954,30 @@ local function copytotfm(data)
end
end
end
- local fd=data.fontdimens
- if fd and fd[8] and fd[9] and fd[10] then
- for k,v in next,fd do
- parameters[k]=v
- end
+ if metadata.sup then
+ local dummy={ 0,0,0 }
+ parameters[ 1]=metadata.designsize or 0
+ parameters[ 2]=metadata.checksum or 0
+ parameters[ 3],
+ parameters[ 4],
+ parameters[ 5]=unpack(metadata.space or dummy)
+ parameters[ 6]=metadata.quad or 0
+ parameters[ 7]=metadata.extraspace or 0
+ parameters[ 8],
+ parameters[ 9],
+ parameters[10]=unpack(metadata.num or dummy)
+ parameters[11],
+ parameters[12]=unpack(metadata.denom or dummy)
+ parameters[13],
+ parameters[14],
+ parameters[15]=unpack(metadata.sup or dummy)
+ parameters[16],
+ parameters[17]=unpack(metadata.sub or dummy)
+ parameters[18]=metadata.supdrop or 0
+ parameters[19]=metadata.subdrop or 0
+ parameters[20],
+ parameters[21]=unpack(metadata.delim or dummy)
+ parameters[22]=metadata.axisheight or 0
end
parameters.designsize=(metadata.designsize or 10)*65536
parameters.ascender=abs(metadata.ascender or 0)