diff options
author | Context Git Mirror Bot <phg42.2a@gmail.com> | 2016-05-14 03:10:20 +0200 |
---|---|---|
committer | Context Git Mirror Bot <phg42.2a@gmail.com> | 2016-05-14 03:10:20 +0200 |
commit | b29553f008e315297b56570fa5ef303b1fda39d1 (patch) | |
tree | 0d44d3fa5d4be3e98411703f1566b70d71b5c0c4 /tex | |
parent | c364453fcfff40c1a300b4b6d45bfe25257f8e8d (diff) | |
download | context-b29553f008e315297b56570fa5ef303b1fda39d1.tar.gz |
2016-05-14 02:25:00
Diffstat (limited to 'tex')
20 files changed, 96 insertions, 39 deletions
diff --git a/tex/context/base/context-version.pdf b/tex/context/base/context-version.pdf Binary files differindex 5e69d7114..ccee6f2ea 100644 --- a/tex/context/base/context-version.pdf +++ b/tex/context/base/context-version.pdf 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 Binary files differindex 50c9c743a..fffdb6bfa 100644 --- a/tex/context/base/mkiv/status-files.pdf +++ b/tex/context/base/mkiv/status-files.pdf diff --git a/tex/context/base/mkiv/status-lua.pdf b/tex/context/base/mkiv/status-lua.pdf Binary files differindex c59d3c52f..b148d82cb 100644 --- a/tex/context/base/mkiv/status-lua.pdf +++ b/tex/context/base/mkiv/status-lua.pdf 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 Binary files differindex 890c34fa7..fc44f7846 100644 --- a/tex/context/interface/mkiv/i-context.pdf +++ b/tex/context/interface/mkiv/i-context.pdf 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 Binary files differindex f75f051ba..b7379b55b 100644 --- a/tex/context/interface/mkiv/i-readme.pdf +++ b/tex/context/interface/mkiv/i-readme.pdf 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 |