summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--metapost/context/base/mpiv/mp-page.mpiv1
-rw-r--r--tex/context/base/context-version.pdfbin4249 -> 4253 bytes
-rw-r--r--tex/context/base/mkiv/cont-new.mkiv2
-rw-r--r--tex/context/base/mkiv/context-todo.tex3
-rw-r--r--tex/context/base/mkiv/context.mkiv2
-rw-r--r--tex/context/base/mkiv/font-one.lua14
-rw-r--r--tex/context/base/mkiv/grph-rul.lua9
-rw-r--r--tex/context/base/mkiv/node-met.lua1
-rw-r--r--tex/context/base/mkiv/node-rul.lua9
-rw-r--r--tex/context/base/mkiv/node-rul.mkiv5
-rw-r--r--tex/context/base/mkiv/spac-hor.mkiv32
-rw-r--r--tex/context/base/mkiv/status-files.pdfbin9270 -> 9213 bytes
-rw-r--r--tex/context/base/mkiv/status-lua.pdfbin266494 -> 266561 bytes
-rw-r--r--tex/context/base/mkiv/task-ini.lua2
-rw-r--r--tex/context/base/mkiv/typo-lin.lua22
-rw-r--r--tex/context/interface/mkiv/i-context.pdfbin820738 -> 820940 bytes
-rw-r--r--tex/context/interface/mkiv/i-context.xml20
-rw-r--r--tex/context/interface/mkiv/i-readme.pdfbin60791 -> 60789 bytes
-rw-r--r--tex/context/modules/mkiv/x-setups-basics.mkiv2
-rw-r--r--tex/context/modules/mkiv/x-setups-overview.mkiv2
-rw-r--r--tex/generic/context/luatex/luatex-fonts-merged.lua10
21 files changed, 97 insertions, 39 deletions
diff --git a/metapost/context/base/mpiv/mp-page.mpiv b/metapost/context/base/mpiv/mp-page.mpiv
index 4ccf4448e..07d264f60 100644
--- a/metapost/context/base/mpiv/mp-page.mpiv
+++ b/metapost/context/base/mpiv/mp-page.mpiv
@@ -665,6 +665,7 @@ enddef ;
% for the moment we put these here:
+string RuleOption ; RuleOption := "" ;
numeric RuleWidth ; RuleWidth := 0 ;
numeric RuleHeight ; RuleHeight := 0 ;
numeric RuleDepth ; RuleDepth := 0 ;
diff --git a/tex/context/base/context-version.pdf b/tex/context/base/context-version.pdf
index 5e69d7114..ccee6f2ea 100644
--- a/tex/context/base/context-version.pdf
+++ b/tex/context/base/context-version.pdf
Binary files differ
diff --git a/tex/context/base/mkiv/cont-new.mkiv b/tex/context/base/mkiv/cont-new.mkiv
index ee9b7de6c..099286a4f 100644
--- a/tex/context/base/mkiv/cont-new.mkiv
+++ b/tex/context/base/mkiv/cont-new.mkiv
@@ -11,7 +11,7 @@
%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
%C details.
-\newcontextversion{2016.05.13 16:21}
+\newcontextversion{2016.05.14 02:20}
%D This file is loaded at runtime, thereby providing an excellent place for
%D hacks, patches, extensions and new features.
diff --git a/tex/context/base/mkiv/context-todo.tex b/tex/context/base/mkiv/context-todo.tex
index 39cca9a3a..9569e5352 100644
--- a/tex/context/base/mkiv/context-todo.tex
+++ b/tex/context/base/mkiv/context-todo.tex
@@ -13,6 +13,9 @@
head||tail cleanup in disc nodes (get rid of temp i.e.\ delay till linebreak)
\stopitem
\startitem
+ cleanup passive nodes
+ \stopitem
+ \startitem
optimize some callback resolution (more direct)
\stopitem
\startitem
diff --git a/tex/context/base/mkiv/context.mkiv b/tex/context/base/mkiv/context.mkiv
index bf9d46270..574f2ae49 100644
--- a/tex/context/base/mkiv/context.mkiv
+++ b/tex/context/base/mkiv/context.mkiv
@@ -39,7 +39,7 @@
%D up and the dependencies are more consistent.
\edef\contextformat {\jobname}
-\edef\contextversion{2016.05.13 16:21}
+\edef\contextversion{2016.05.14 02:20}
\edef\contextkind {beta}
%D For those who want to use this:
diff --git a/tex/context/base/mkiv/font-one.lua b/tex/context/base/mkiv/font-one.lua
index 5d54150c5..631a5e56c 100644
--- a/tex/context/base/mkiv/font-one.lua
+++ b/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.510 -- incrementing this number one up will force a re-cache
+afm.version = 1.511 -- 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.*)
@@ -92,6 +92,11 @@ and <l n='otf'/> reader.</p>
and new vectors (we actually had one bad vector with the old loader).</p>
--ldx]]--
+-- StartComposites 55
+-- CC Aacute 2 ; PCC A 0 0 ; PCC acute 83 157 ;
+-- CC Acircumflex 2 ; PCC A 0 0 ; PCC circumflex 71 157 ;
+-- CC Adieresis 2 ; PCC A 0 0 ; PCC dieresis 71 157 ;
+
local get_indexes
do
@@ -183,7 +188,10 @@ do
local vector = lpegmatch(p_filternames,binary)
- vector[0] = table.remove(vector,1)
+ if vector[1] == ".notdef" then
+ -- tricky
+ vector[0] = table.remove(vector,1)
+ end
if not vector then
print("no vector",filename)
@@ -245,7 +253,7 @@ 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 number = spacing * S("+-")^-1 * (R("09") + S("."))^1 / tonumber
local name = spacing * C((1-spacing)^1)
local words = spacing * (1 - lineend)^1 / strip
local rest = (1 - lineend)^0
diff --git a/tex/context/base/mkiv/grph-rul.lua b/tex/context/base/mkiv/grph-rul.lua
index 5d3cb8ad5..e5aa05396 100644
--- a/tex/context/base/mkiv/grph-rul.lua
+++ b/tex/context/base/mkiv/grph-rul.lua
@@ -23,6 +23,10 @@ local a_colorspace = attributes.private('colormodel')
local mpcolor = attributes.colors.mpcolor
+local trace_mp = false trackers.register("rules.mp", function(v) trace_mp = v end)
+
+local report_mp = logs.reporter("rules","mp")
+
local floor = math.floor
local random = math.random
@@ -65,6 +69,7 @@ FakeWord(%width%,%height%,%depth%,%line%,%color%);
FakeRule(%width%,%height%,%depth%,%line%,%color%);
]],
["fake:rest"] = replacer [[
+RuleOption := "%option%" ;
RuleWidth := %width% ;
RuleHeight := %height% ;
RuleDepth := %depth% ;
@@ -87,8 +92,12 @@ def RuleColor = %color% enddef ;
offset = p.offset or 0,
line = (p.line or 65536) * bpfactor,
color = mpcolor(p.ma,p.ca,p.ta),
+ option = p.option or "",
}
local m = cache[code]
+ if trace_mp then
+ report_mp(m)
+ end
if m and m ~= "" then
pdfprint("direct",m)
end
diff --git a/tex/context/base/mkiv/node-met.lua b/tex/context/base/mkiv/node-met.lua
index 272b1d176..432ecd1ec 100644
--- a/tex/context/base/mkiv/node-met.lua
+++ b/tex/context/base/mkiv/node-met.lua
@@ -91,6 +91,7 @@ nodes.slide = node.slide
nodes.vpack = node.vpack
nodes.fields = node.fields
nodes.is_node = node.is_node
+nodes.setglue = node.setglue
nodes.first_glyph = node.first_glyph
nodes.has_glyph = node.has_glyph or node.first_glyph
diff --git a/tex/context/base/mkiv/node-rul.lua b/tex/context/base/mkiv/node-rul.lua
index 5ac43ea4a..a1ac67657 100644
--- a/tex/context/base/mkiv/node-rul.lua
+++ b/tex/context/base/mkiv/node-rul.lua
@@ -490,6 +490,15 @@ function nodes.shifts.enable()
tasks.enableaction("shipouts","nodes.shifts.handler")
end
+-- linefillers (placeholder)
+
+nodes.linefillers = nodes.linefillers or { }
+nodes.linefillers.data = nodes.linefillers.data or { }
+
+function nodes.linefillers.handler(head)
+ return head, false
+end
+
-- interface
local implement = interfaces.implement
diff --git a/tex/context/base/mkiv/node-rul.mkiv b/tex/context/base/mkiv/node-rul.mkiv
index 8706b8ecf..8c7f1d08b 100644
--- a/tex/context/base/mkiv/node-rul.mkiv
+++ b/tex/context/base/mkiv/node-rul.mkiv
@@ -348,8 +348,8 @@
\clf_defineshift
continue {\shiftparameter\c!continue}%
unit {\shiftparameter\c!unit}%
- method \shiftparameter\c!method
- dy \shiftparameter\c!dy % number
+ method \shiftparameter\c!method
+ dy \shiftparameter\c!dy % number
\relax}}
\unexpanded\def\node_shifts_redefine#1%
@@ -366,6 +366,7 @@
{\def\currentshift{#1}%
\expandafter\let\expandafter\c_node_shifts_index\csname\??shiftindex#1\endcsname
\advance\c_node_shifts_index\plusone
+ \clf_enableshifts % will be relaxed
\attribute\shiftedattribute\numexpr
\plusthousand*\c_node_shifts_index
+\csname\??shiftattribute#1\ifcsname\??shift#1:\number\c_node_shifts_index\s!parent\endcsname:\number\c_node_shifts_index\fi\endcsname
diff --git a/tex/context/base/mkiv/spac-hor.mkiv b/tex/context/base/mkiv/spac-hor.mkiv
index 19f2f53b3..08e5f6343 100644
--- a/tex/context/base/mkiv/spac-hor.mkiv
+++ b/tex/context/base/mkiv/spac-hor.mkiv
@@ -631,7 +631,7 @@
\newskip\s_spac_narrower_left
\newskip\s_spac_narrower_right
-\newskip\s_spac_narrower_mid
+\newskip\s_spac_narrower_middle
\installcommandhandler \??narrower {narrower} \??narrower
@@ -655,21 +655,21 @@
{\ifcsname\??narrowermethod#1\endcsname
\lastnamedcs
\else
- \global\advance\s_spac_narrower_mid#1\relax
+ \global\advance\s_spac_narrower_middle#1\relax
\fi}
\def\spac_narrower_initialize[#1]% hm, can be dorepeat directly
{\dorepeatwithcommand[#1]\spac_narrower_method_analyze}
-\installnarrowermethod \v!left {\global\advance\s_spac_narrower_left \narrowerparameter\c!left \relax}
-\installnarrowermethod \v!middle {\global\advance\s_spac_narrower_mid \narrowerparameter\c!middle\relax}
-\installnarrowermethod \v!right {\global\advance\s_spac_narrower_right \narrowerparameter\c!right \relax}
-\installnarrowermethod{-\v!left }{\global\advance\s_spac_narrower_left -\narrowerparameter\c!left \relax}
-\installnarrowermethod{-\v!middle}{\global\advance\s_spac_narrower_mid -\narrowerparameter\c!middle\relax}
-\installnarrowermethod{-\v!right }{\global\advance\s_spac_narrower_right-\narrowerparameter\c!right \relax}
-\installnarrowermethod \v!reset {\global \s_spac_narrower_left \zeropoint
- \global \s_spac_narrower_mid \zeropoint
- \global \s_spac_narrower_right \zeropoint\relax}
+\installnarrowermethod \v!left {\global\advance\s_spac_narrower_left \narrowerparameter\c!left \relax}
+\installnarrowermethod \v!middle {\global\advance\s_spac_narrower_middle \narrowerparameter\c!middle\relax}
+\installnarrowermethod \v!right {\global\advance\s_spac_narrower_right \narrowerparameter\c!right \relax}
+\installnarrowermethod{-\v!left }{\global\advance\s_spac_narrower_left -\narrowerparameter\c!left \relax}
+\installnarrowermethod{-\v!middle}{\global\advance\s_spac_narrower_middle-\narrowerparameter\c!middle\relax}
+\installnarrowermethod{-\v!right }{\global\advance\s_spac_narrower_right -\narrowerparameter\c!right \relax}
+\installnarrowermethod \v!reset {\global \s_spac_narrower_left \zeropoint
+ \global \s_spac_narrower_middle \zeropoint
+ \global \s_spac_narrower_right \zeropoint\relax}
\installnarrowermethod \v!none {}
\unexpanded\def\spac_narrower_start#1%
@@ -686,12 +686,12 @@
\def\spac_narrower_start_apply#1%
{\narrowerparameter\c!before
- \global\s_spac_narrower_left \zeropoint
- \global\s_spac_narrower_right\zeropoint
- \global\s_spac_narrower_mid \zeropoint
+ \global\s_spac_narrower_left \zeropoint
+ \global\s_spac_narrower_right \zeropoint
+ \global\s_spac_narrower_middle\zeropoint
\processcommalistwithparameters[#1]\spac_narrower_initialize
- \advance\leftskip \dimexpr\s_spac_narrower_left +\s_spac_narrower_mid\relax
- \advance\rightskip\dimexpr\s_spac_narrower_right+\s_spac_narrower_mid\relax
+ \advance\leftskip \dimexpr\s_spac_narrower_left +\s_spac_narrower_middle\relax
+ \advance\rightskip\dimexpr\s_spac_narrower_right+\s_spac_narrower_middle\relax
\seteffectivehsize}
\unexpanded\def\spac_narrower_stop
diff --git a/tex/context/base/mkiv/status-files.pdf b/tex/context/base/mkiv/status-files.pdf
index 50c9c743a..fffdb6bfa 100644
--- a/tex/context/base/mkiv/status-files.pdf
+++ b/tex/context/base/mkiv/status-files.pdf
Binary files differ
diff --git a/tex/context/base/mkiv/status-lua.pdf b/tex/context/base/mkiv/status-lua.pdf
index c59d3c52f..b148d82cb 100644
--- a/tex/context/base/mkiv/status-lua.pdf
+++ b/tex/context/base/mkiv/status-lua.pdf
Binary files differ
diff --git a/tex/context/base/mkiv/task-ini.lua b/tex/context/base/mkiv/task-ini.lua
index eaf342234..696a3b4a9 100644
--- a/tex/context/base/mkiv/task-ini.lua
+++ b/tex/context/base/mkiv/task-ini.lua
@@ -117,6 +117,7 @@ appendaction("finalizers", "lists", "builders.paragraphs.keeptogether")
------------("finalizers", "lists", "nodes.handlers.graphicvadjust") -- todo
appendaction("finalizers", "fonts", "builders.paragraphs.solutions.splitters.optimize") -- experimental
appendaction("finalizers", "lists", "builders.paragraphs.tag")
+appendaction("finalizers", "lists", "nodes.linefillers.handler")
-- still experimental
@@ -191,6 +192,7 @@ disableaction("finalizers", "builders.paragraphs.keeptogether")
disableaction("finalizers", "builders.paragraphs.solutions.splitters.optimize")
-------------("finalizers", "nodes.handlers.graphicvadjust") -- sort of obsolete
disableaction("finalizers", "builders.paragraphs.tag")
+disableaction("finalizers", "nodes.linefillers.handler")
disableaction("math", "noads.handlers.showtree")
disableaction("math", "noads.handlers.tags")
diff --git a/tex/context/base/mkiv/typo-lin.lua b/tex/context/base/mkiv/typo-lin.lua
index 5fc26a354..a74a635f6 100644
--- a/tex/context/base/mkiv/typo-lin.lua
+++ b/tex/context/base/mkiv/typo-lin.lua
@@ -372,21 +372,21 @@ function paragraphs.moveinline(n,blob,dx,dy)
end
end
-local f_anchor = formatters["_plib_.set('md:h',%i,{x=true,c=true})"]
-local s_anchor = 'md:h'
+-- local f_anchor = formatters["_plib_.set('md:h',%i,{x=true,c=true})"]
+-- local s_anchor = 'md:h'
+--
+-- local function setanchor(h_anchor)
+-- return new_latelua(f_anchor(h_anchor))
+-- end
+
+local lateluafunction = nodepool.lateluafunction
+local setposition = job.positions.set
+local t_anchor = { x = true, c = true }
local function setanchor(h_anchor)
- return new_latelua(f_anchor(h_anchor))
+ return lateluafunction(function() setposition("md:h",h_anchor,t_anchor) end)
end
--- local lateluafunction = nodepool.lateluafunction
--- local setposition = job.positions.set
--- local t_anchor = { x = true, c = true }
-
--- local function setanchor(h_anchor)
--- return lateluafunction(function() setposition("md:h",h_anchor,t_anchor) end)
--- end
-
function paragraphs.calculatedelta(n,width,delta,atleft,islocal,followshape,area)
local line = type(n) ~= "table" and getprop(n,"line") or n
if not line then
diff --git a/tex/context/interface/mkiv/i-context.pdf b/tex/context/interface/mkiv/i-context.pdf
index 890c34fa7..fc44f7846 100644
--- a/tex/context/interface/mkiv/i-context.pdf
+++ b/tex/context/interface/mkiv/i-context.pdf
Binary files differ
diff --git a/tex/context/interface/mkiv/i-context.xml b/tex/context/interface/mkiv/i-context.xml
index 606950c10..f1e85658f 100644
--- a/tex/context/interface/mkiv/i-context.xml
+++ b/tex/context/interface/mkiv/i-context.xml
@@ -2,6 +2,26 @@
<?context-directive job ctxfile x-setups.ctx ?>
+<!--
+
+ Right from the start the ConTeXt user interface was sytematic enough to be described using a
+ common framework. First it was done in the TeX language at the top of the files where features
+ were implemented. Later we switched to XML where all definitions were moved to one file. That
+ file could be translated to different user interfaces.
+
+ The current XML files are a follow up on this. Instead of one big file we now have many small
+ files, and support for shared (XML) definitions has been extended. Many more commands are defined,
+ including those considered low level. There are no longer translated files needed but you can
+ still generate them.
+
+ These files can be used to generate overviews (see x-setups-*.mkiv) but also for generating
+ information for text editors. We also use them for the (local) help service.
+
+ Wolfgang Schuster & Hans Hagen
+
+-->
+
+
<cd:interface xmlns:cd="http://www.pragma-ade.com/commands">
<cd:interfacefile filename="i-common-definitions.xml"/>
diff --git a/tex/context/interface/mkiv/i-readme.pdf b/tex/context/interface/mkiv/i-readme.pdf
index f75f051ba..b7379b55b 100644
--- a/tex/context/interface/mkiv/i-readme.pdf
+++ b/tex/context/interface/mkiv/i-readme.pdf
Binary files differ
diff --git a/tex/context/modules/mkiv/x-setups-basics.mkiv b/tex/context/modules/mkiv/x-setups-basics.mkiv
index 283067fcb..fd6998013 100644
--- a/tex/context/modules/mkiv/x-setups-basics.mkiv
+++ b/tex/context/modules/mkiv/x-setups-basics.mkiv
@@ -444,7 +444,7 @@
\nohyphens
\veryraggedright
\global\c_cmd_current_argument\zerocount
- \global\c_cmd_maximum_argument\xmlfilter{#1}{/arguments/*/s_count()}\relax
+ \global\c_cmd_maximum_argument0\xmlfilter{#1}{/arguments/*/s_count()}\relax
\xmlsetup{#1}{xml:setups:make:prepare}
\ttbf
\directsetup{xml:setups:make:start}
diff --git a/tex/context/modules/mkiv/x-setups-overview.mkiv b/tex/context/modules/mkiv/x-setups-overview.mkiv
index a0d0aa1b8..8cfe14439 100644
--- a/tex/context/modules/mkiv/x-setups-overview.mkiv
+++ b/tex/context/modules/mkiv/x-setups-overview.mkiv
@@ -12,6 +12,8 @@
%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
%C details.
+% context --interface=en --global --result=setup-en x-setups-overview.mkiv
+
\usemodule[setups-basics]
\unprotect
diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua
index d913e27de..63c1d4b59 100644
--- a/tex/generic/context/luatex/luatex-fonts-merged.lua
+++ b/tex/generic/context/luatex/luatex-fonts-merged.lua
@@ -1,6 +1,6 @@
-- merged file : c:/data/develop/context/sources/luatex-fonts-merged.lua
-- parent file : c:/data/develop/context/sources/luatex-fonts.lua
--- merge date : 05/13/16 16:21:29
+-- merge date : 05/14/16 02:20:40
do -- begin closure to overcome local limits and interference
@@ -22287,7 +22287,7 @@ local otfreaders=otf.readers
local otfenhancers=otf.enhancers
local afmfeatures=constructors.newfeatures("afm")
local registerafmfeature=afmfeatures.register
-afm.version=1.510
+afm.version=1.511
afm.cache=containers.define("fonts","afm",afm.version,true)
afm.autoprefixed=true
afm.helpdata={}
@@ -22352,7 +22352,9 @@ do
end
binary=decrypt(binary,4)
local vector=lpegmatch(p_filternames,binary)
- vector[0]=table.remove(vector,1)
+ if vector[1]==".notdef" then
+ vector[0]=table.remove(vector,1)
+ end
if not vector then
print("no vector",filename)
return
@@ -22383,7 +22385,7 @@ local readafm
do
local spacing=patterns.spacer
local lineend=patterns.newline
- local number=spacing*(R("09")+S("."))^1/tonumber
+ local number=spacing*S("+-")^-1*(R("09")+S("."))^1/tonumber
local name=spacing*C((1-spacing)^1)
local words=spacing*(1-lineend)^1/strip
local rest=(1-lineend)^0