summaryrefslogtreecommitdiff
path: root/tex
diff options
context:
space:
mode:
authorContext Git Mirror Bot <phg42.2a@gmail.com>2015-01-02 12:15:04 +0100
committerContext Git Mirror Bot <phg42.2a@gmail.com>2015-01-02 12:15:04 +0100
commitf001d9ba5954210bfe37144d6aff612260c754a7 (patch)
tree6c9101cff02dc8e4ce6e87521697193d64ac13c1 /tex
parentd60864031986987f840bae4bf36922af3b324477 (diff)
downloadcontext-f001d9ba5954210bfe37144d6aff612260c754a7.tar.gz
2015-01-02 11:58:00
Diffstat (limited to 'tex')
-rw-r--r--tex/context/base/cont-new.mkiv2
-rw-r--r--tex/context/base/context-version.pdfbin4378 -> 4392 bytes
-rw-r--r--tex/context/base/context.mkiv2
-rw-r--r--tex/context/base/publ-sor.lua31
-rw-r--r--tex/context/base/status-files.pdfbin24910 -> 24903 bytes
-rw-r--r--tex/context/base/status-lua.pdfbin356655 -> 356660 bytes
-rw-r--r--tex/context/base/tabl-xtb.lua34
-rw-r--r--tex/generic/context/luatex/luatex-fonts-merged.lua2
8 files changed, 60 insertions, 11 deletions
diff --git a/tex/context/base/cont-new.mkiv b/tex/context/base/cont-new.mkiv
index fa756369d..c846aeb3f 100644
--- a/tex/context/base/cont-new.mkiv
+++ b/tex/context/base/cont-new.mkiv
@@ -11,7 +11,7 @@
%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
%C details.
-\newcontextversion{2015.01.01 13:15}
+\newcontextversion{2015.01.02 11:55}
%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/context-version.pdf b/tex/context/base/context-version.pdf
index abae22c5d..bd456b7f1 100644
--- a/tex/context/base/context-version.pdf
+++ b/tex/context/base/context-version.pdf
Binary files differ
diff --git a/tex/context/base/context.mkiv b/tex/context/base/context.mkiv
index 2f3248eb6..558e749fa 100644
--- a/tex/context/base/context.mkiv
+++ b/tex/context/base/context.mkiv
@@ -28,7 +28,7 @@
%D up and the dependencies are more consistent.
\edef\contextformat {\jobname}
-\edef\contextversion{2015.01.01 13:15}
+\edef\contextversion{2015.01.02 11:55}
\edef\contextkind {beta}
%D For those who want to use this:
diff --git a/tex/context/base/publ-sor.lua b/tex/context/base/publ-sor.lua
index 5f0764472..acef99aa0 100644
--- a/tex/context/base/publ-sor.lua
+++ b/tex/context/base/publ-sor.lua
@@ -13,6 +13,10 @@ local type = type
local concat = table.concat
local formatters = string.formatters
local compare = sorters.comparers.basic -- (a,b)
+local sort = table.sort
+
+local toarray = utilities.parsers.settings_to_array
+local utfchar = utf.char
local publications = publications
local writers = publications.writers
@@ -108,12 +112,26 @@ local function sortsequence(dataset,list,sorttype)
local method = sortmethods and sortmethods[sorttype] or sharedmethods[sorttype]
local sequence = method and method.sequence
+ local s_default = "<before end>"
+ local s_unknown = "<at the end>"
+
+ local c_default = utfchar(0xFFFE)
+ local c_unknown = utfchar(0xFFFF)
+
if not sequence and type(sorttype) == "string" then
- local list = utilities.parsers.settings_to_array(sorttype)
+ local list = toarray(sorttype)
if #list > 0 then
sequence = { }
for i=1,#list do
- sequence[i] = { field = list[i] }
+ local entry = toarray(list[i])
+ local field = entry[1]
+ local default = entry[2]
+ local unknown = entry[3] or default
+ sequence[i] = {
+ field = field,
+ default = default == s_default and c_default or default or c_default,
+ unknown = unknown == s_unknown and c_unknown or unknown or c_unknown,
+ }
end
end
if trace_sorters then
@@ -134,13 +152,16 @@ local function sortsequence(dataset,list,sorttype)
for i=1,#sequence do
local step = sequence[i]
local field = step.field or "?"
- local default = step.default or ""
- local unknown = step.unknown or ""
+ local default = step.default or c_default
+ local unknown = step.unknown or c_unknown
local fldtype = types[field]
local writer = fldtype and writers[fldtype]
if trace_sorters then
- report("% 3i : field %a, type %a, default %a, unknown %a",i,field,fldtype,default,unknown)
+ report("% 3i : field %a, type %a, default %a, unknown %a",i,field,fldtype,
+ default == c_default and s_default or default,
+ unknown == c_unknown and s_unknown or unknown
+ )
end
if writer then
diff --git a/tex/context/base/status-files.pdf b/tex/context/base/status-files.pdf
index 8cca48991..137acb6f7 100644
--- a/tex/context/base/status-files.pdf
+++ b/tex/context/base/status-files.pdf
Binary files differ
diff --git a/tex/context/base/status-lua.pdf b/tex/context/base/status-lua.pdf
index 23b6fa723..badc82b03 100644
--- a/tex/context/base/status-lua.pdf
+++ b/tex/context/base/status-lua.pdf
Binary files differ
diff --git a/tex/context/base/tabl-xtb.lua b/tex/context/base/tabl-xtb.lua
index 3503d5351..ca02616e3 100644
--- a/tex/context/base/tabl-xtb.lua
+++ b/tex/context/base/tabl-xtb.lua
@@ -89,6 +89,7 @@ local v_before = variables.before
local v_after = variables.after
local v_both = variables.both
local v_samepage = variables.samepage
+local v_tight = variables.tight
local xtables = { }
typesetters.xtables = xtables
@@ -126,6 +127,7 @@ function xtables.create(settings)
local modes = { }
local fixedrows = { }
local fixedcolumns = { }
+ local fixedcspans = { }
local frozencolumns = { }
local options = { }
local rowproperties = { }
@@ -140,6 +142,7 @@ function xtables.create(settings)
autowidths = autowidths,
fixedrows = fixedrows,
fixedcolumns = fixedcolumns,
+ fixedcspans = fixedcspans,
frozencolumns = frozencolumns,
options = options,
nofrows = 0,
@@ -191,6 +194,7 @@ function xtables.create(settings)
setmetatableindex(fixedrows,add_zero)
setmetatableindex(fixedcolumns,add_zero)
setmetatableindex(options,add_table)
+ setmetatableindex(fixedcspans,add_table)
--
settings.columndistance = tonumber(settings.columndistance) or 0
settings.rowdistance = tonumber(settings.rowdistance) or 0
@@ -221,7 +225,7 @@ function xtables.initialize_reflow_width(option,width)
end
if option and option ~= "" then
local options = settings_to_hash(option)
- -- data.options[r][c] = options -- not yet used (commented elsewhere)
+ data.options[r][c] = options
if options[v_fixed] then
data.frozencolumns[c] = true
end
@@ -251,9 +255,30 @@ function xtables.set_reflow_width()
local widths = data.widths
local heights = data.heights
local depths = data.depths
- if width > widths[c] then
- widths[c] = width
+ local cspan = drc.nx
+ if cspan < 2 then
+ if width > widths[c] then
+ widths[c] = width
+ end
+ else
+ local options = data.options[r][c]
+ if not options then
+ if width > widths[c] then
+ widths[c] = width
+ end
+ elseif not options[v_tight] then
+ if width > widths[c] then
+ widths[c] = width
+ end
+ end
end
+-- if cspan > 1 then
+-- local f = data.fixedcspans[c]
+-- local w = f[cspan] or 0
+-- if width > w then
+-- f[cspan] = width -- maybe some day a solution for autospanmax and so
+-- end
+-- end
if drc.ny < 2 then
if height > heights[r] then
heights[r] = height
@@ -514,6 +539,9 @@ function xtables.reflow_width()
showwidths("stage 1",widths,autowidths)
end
local noffrozen = 0
+
+-- inspect(data.fixedcspans)
+
if options[v_max] then
for c=1,nofcolumns do
width = width + widths[c]
diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua
index 523de8fd4..100ce3ef0 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 : luatex-fonts-merged.lua
-- parent file : luatex-fonts.lua
--- merge date : 01/01/15 13:15:11
+-- merge date : 01/02/15 11:55:50
do -- begin closure to overcome local limits and interference