summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans Hagen <pragma@wxs.nl>2012-09-23 12:40:00 +0200
committerHans Hagen <pragma@wxs.nl>2012-09-23 12:40:00 +0200
commitbd88b34201a32e8c936f518336016f0abae49a09 (patch)
tree6f9fb7dcd3cd480dfc7466d703ed880a5f113b46
parent0c505920129b0e27f00c7e7fa328c182b1576d67 (diff)
downloadcontext-bd88b34201a32e8c936f518336016f0abae49a09.tar.gz
beta 2012.09.23 12:40
-rw-r--r--context/data/scite/scite-context-readme.pdfbin204979 -> 206760 bytes
-rw-r--r--tex/context/base/cont-new.mkii2
-rw-r--r--tex/context/base/cont-new.mkiv2
-rw-r--r--tex/context/base/context-version.pdfbin4140 -> 4146 bytes
-rw-r--r--tex/context/base/context-version.pngbin106731 -> 106782 bytes
-rw-r--r--tex/context/base/context.mkii2
-rw-r--r--tex/context/base/context.mkiv2
-rw-r--r--tex/context/base/font-sol.lua45
-rw-r--r--tex/context/base/lpdf-fmt.lua1
-rw-r--r--tex/context/base/node-tra.lua2
-rw-r--r--tex/context/base/status-files.pdfbin24577 -> 24590 bytes
-rw-r--r--tex/context/base/status-lua.pdfbin195092 -> 195090 bytes
-rw-r--r--tex/context/base/typo-mar.mkiv2
-rw-r--r--tex/context/test/pdf-x1a-2001.mkiv2
-rw-r--r--tex/context/test/pdf-x1a-2003.mkiv2
-rw-r--r--tex/context/test/pdf-x3-2002.mkiv2
-rw-r--r--tex/context/test/pdf-x3-2003.mkiv2
-rw-r--r--tex/context/test/pdf-x4.mkiv2
-rw-r--r--tex/context/test/pdf-x4p.mkiv4
-rw-r--r--tex/generic/context/luatex/luatex-fonts-merged.lua2
20 files changed, 46 insertions, 28 deletions
diff --git a/context/data/scite/scite-context-readme.pdf b/context/data/scite/scite-context-readme.pdf
index 4c6160191..5d5113528 100644
--- a/context/data/scite/scite-context-readme.pdf
+++ b/context/data/scite/scite-context-readme.pdf
Binary files differ
diff --git a/tex/context/base/cont-new.mkii b/tex/context/base/cont-new.mkii
index d7edc921c..cf8f6e8fc 100644
--- a/tex/context/base/cont-new.mkii
+++ b/tex/context/base/cont-new.mkii
@@ -11,7 +11,7 @@
%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
%C details.
-\newcontextversion{2012.09.21 20:58}
+\newcontextversion{2012.09.23 12:40}
%D This file is loaded at runtime, thereby providing an
%D excellent place for hacks, patches, extensions and new
diff --git a/tex/context/base/cont-new.mkiv b/tex/context/base/cont-new.mkiv
index 2f90130c7..1903c8021 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{2012.09.21 20:58}
+\newcontextversion{2012.09.23 12:40}
%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 e232cfeb6..5704374eb 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-version.png b/tex/context/base/context-version.png
index 048d04143..cd12a10ca 100644
--- a/tex/context/base/context-version.png
+++ b/tex/context/base/context-version.png
Binary files differ
diff --git a/tex/context/base/context.mkii b/tex/context/base/context.mkii
index 0aab24aad..ba9e7146b 100644
--- a/tex/context/base/context.mkii
+++ b/tex/context/base/context.mkii
@@ -20,7 +20,7 @@
%D your styles an modules.
\edef\contextformat {\jobname}
-\edef\contextversion{2012.09.21 20:58}
+\edef\contextversion{2012.09.23 12:40}
%D For those who want to use this:
diff --git a/tex/context/base/context.mkiv b/tex/context/base/context.mkiv
index d19d90a93..36401fbd3 100644
--- a/tex/context/base/context.mkiv
+++ b/tex/context/base/context.mkiv
@@ -25,7 +25,7 @@
%D up and the dependencies are more consistent.
\edef\contextformat {\jobname}
-\edef\contextversion{2012.09.21 20:58}
+\edef\contextversion{2012.09.23 12:40}
%D For those who want to use this:
diff --git a/tex/context/base/font-sol.lua b/tex/context/base/font-sol.lua
index 1c341129c..b44594349 100644
--- a/tex/context/base/font-sol.lua
+++ b/tex/context/base/font-sol.lua
@@ -53,8 +53,6 @@ local free_node = node.free
local free_nodelist = node.flush_list
local has_attribute = node.has_attribute
local set_attribute = node.set_attribute
-local new_node = node.new
-local copy_node = node.copy
local copy_nodelist = node.copy_list
local traverse_nodes = node.traverse
local traverse_ids = node.traverse_id
@@ -89,6 +87,8 @@ local usernodeids = nodepool.userids
local new_textdir = nodepool.textdir
local new_usernumber = nodepool.usernumber
+local new_glue = nodepool.glue
+local new_leftskip = nodepool.leftskip
local starttiming = statistics.starttiming
local stoptiming = statistics.stoptiming
@@ -355,7 +355,7 @@ function splitters.split(head)
font = font
}
if trace_split then
- report_splitters("cached %4i: font: %s, attribute: %s, word: %s, direction: %s",
+ report_splitters("cached %4i: font: %s, attribute: %s, direction: %s, word: %s",
n, font, attribute, nodes_to_utf(list,true), rlmode and "r2l" or "l2r")
end
cache[n] = c
@@ -439,7 +439,7 @@ local function collect_words(list) -- can be made faster for attributes
while current do
-- todo: disc and kern
local id = current.id
- if id == glyph_code then
+ if id == glyph_code or id == disc_code then
local a = has_attribute(current,a_word)
if a then
if a == index then
@@ -467,7 +467,11 @@ local function collect_words(list) -- can be made faster for attributes
index = nil
first = nil
elseif trace_split then
- report_splitters("skipped: %s",utfchar(current.char))
+ if id == disc_code then
+ report_splitters("skipped: disc node")
+ else
+ report_splitters("skipped: %s",utfchar(current.char))
+ end
end
elseif id == kern_code and (current.subtype == fontkern_code or has_attribute(current,a_fontkern)) then
if first then
@@ -506,7 +510,7 @@ local function collect_words(list) -- can be made faster for attributes
end
end
end
- return words -- check for empty (elsewhere)
+ return words, list -- check for empty (elsewhere)
end
-- we could avoid a hpack but hpack is not that slow
@@ -524,7 +528,6 @@ local function doit(word,list,best,width,badness,line,set,listdir)
h = word[2]
t = word[3]
end
-
if splitwords then
-- there are no lines crossed in a word
else
@@ -540,10 +543,10 @@ local function doit(word,list,best,width,badness,line,set,listdir)
end
if not ok then
report_solutions("skipping hyphenated word (for now)")
+ -- todo: mark in words as skipped, saves a bit runtime
return false, changed
end
end
-
local original, attribute, direction = found.original, found.attribute, found.direction
local solution = solutions[attribute]
local features = solution and solution[set]
@@ -596,10 +599,13 @@ local function doit(word,list,best,width,badness,line,set,listdir)
end
local last = find_node_tail(first)
-- replace [u]h->t by [u]first->last
- local next, prev = t.next, h.prev
- prev.next, first.prev = first, prev
+ local prev = h.prev
+ local next = t.next
+ prev.next = first
+ first.prev = prev
if next then
- last.next, next.prev = next, last
+ last.next = next
+ next.prev = last
end
-- check new pack
local temp, b = repack_hlist(list,width,'exactly',listdir)
@@ -608,9 +614,11 @@ local function doit(word,list,best,width,badness,line,set,listdir)
report_optimizers("line %s, badness before: %s, after: %s, criterium: %s -> quit",line,badness,b,criterium)
end
-- remove last insert
- prev.next, h.prev = h, prev
+ prev.next = h
+ h.prev = prev
if next then
- t.next, next.prev = next, t
+ t.next = next
+ next.prev = t
else
t.next = nil
end
@@ -622,7 +630,11 @@ local function doit(word,list,best,width,badness,line,set,listdir)
end
-- free old h->t
t.next = nil
- free_nodelist(h)
+ free_nodelist(h) -- somhow fails
+ if not encapsulate then
+ word[2] = first
+ word[3] = last
+ end
changed, badness = changed + 1, b
end
if b <= criterium then
@@ -731,6 +743,11 @@ function splitters.optimize(head)
-- report_splitters("before: [%s] => %s",current.dir,nodes.tosequence(current.list,nil))
line = line + 1
local sign, dir, list, width = current.glue_sign, current.dir, current.list, current.width
+if not encapsulate and list.id == glyph_code then
+ -- nasty .. we always assume a prev being there .. future luatex will always have a leftskip set
+ -- current.list, list = insert_node_before(list,list,new_glue(0))
+ current.list, list = insert_node_before(list,list,new_leftskip(0))
+end
local temp, badness = repack_hlist(list,width,'exactly',dir) -- it would be nice if the badness was stored in the node
if badness > 0 then
if sign == 0 then
diff --git a/tex/context/base/lpdf-fmt.lua b/tex/context/base/lpdf-fmt.lua
index 626e66d3c..859a489ef 100644
--- a/tex/context/base/lpdf-fmt.lua
+++ b/tex/context/base/lpdf-fmt.lua
@@ -629,6 +629,7 @@ lpdf.registerdocumentfinalizer(flushoutputintents,2,"output intents")
function codeinjections.setformat(s)
local format = s.format or ""
local level = tonumber(s.level)
+ local intent = s.intent or ""
local profile = s.profile or ""
local option = s.option or ""
local filename = s.file or ""
diff --git a/tex/context/base/node-tra.lua b/tex/context/base/node-tra.lua
index 4ff6c1033..387dd99a6 100644
--- a/tex/context/base/node-tra.lua
+++ b/tex/context/base/node-tra.lua
@@ -557,7 +557,7 @@ local function listtoutf(h,joiner,textonly,last)
mid and listtoutf(mid,joiner,textonly) or ""
)
elseif textonly then
- if id == glue_code and h.width > 0 then
+ if id == glue_code and h.spec and h.spec.width > 0 then
w[#w+1] = " "
end
else
diff --git a/tex/context/base/status-files.pdf b/tex/context/base/status-files.pdf
index e5263bffa..68184675b 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 6a8332f63..a2d807b15 100644
--- a/tex/context/base/status-lua.pdf
+++ b/tex/context/base/status-lua.pdf
Binary files differ
diff --git a/tex/context/base/typo-mar.mkiv b/tex/context/base/typo-mar.mkiv
index 4db0a9b66..08d8b0cf0 100644
--- a/tex/context/base/typo-mar.mkiv
+++ b/tex/context/base/typo-mar.mkiv
@@ -243,7 +243,7 @@
\hsize\currentmargindatawidth
\raggedcommand
\ifx\currentmargindatastrut\empty \else
- \dosetupstrut[\currentmargindatastrut]%
+ \synchronizestrut\currentmargindatastrut
\fi
\begstrut
\strc_references_flush_destination_nodes
diff --git a/tex/context/test/pdf-x1a-2001.mkiv b/tex/context/test/pdf-x1a-2001.mkiv
index a304c8963..f1c5ef531 100644
--- a/tex/context/test/pdf-x1a-2001.mkiv
+++ b/tex/context/test/pdf-x1a-2001.mkiv
@@ -1,6 +1,6 @@
% PDF/X-1a:2001
-\enabletrackers[backend.pdfx]
+\enabletrackers[backend.format,backend.variables]
\setupbackend
[format=PDF/X-1a:2001,
diff --git a/tex/context/test/pdf-x1a-2003.mkiv b/tex/context/test/pdf-x1a-2003.mkiv
index 89a0f6066..7fbec5acb 100644
--- a/tex/context/test/pdf-x1a-2003.mkiv
+++ b/tex/context/test/pdf-x1a-2003.mkiv
@@ -1,6 +1,6 @@
% PDF/X-1a:2003
-\enabletrackers[backend.pdfx]
+\enabletrackers[backend.format,backend.variables]
\setupbackend
[format=PDF/X-1a:2003,
diff --git a/tex/context/test/pdf-x3-2002.mkiv b/tex/context/test/pdf-x3-2002.mkiv
index 1e2310135..be757212e 100644
--- a/tex/context/test/pdf-x3-2002.mkiv
+++ b/tex/context/test/pdf-x3-2002.mkiv
@@ -1,6 +1,6 @@
% PDF/X-3:2002
-\enabletrackers[backend.pdfx]
+\enabletrackers[backend.format,backend.variables]
\setupbackend
[format=PDF/X-3:2002,
diff --git a/tex/context/test/pdf-x3-2003.mkiv b/tex/context/test/pdf-x3-2003.mkiv
index bedcde527..cbebe1033 100644
--- a/tex/context/test/pdf-x3-2003.mkiv
+++ b/tex/context/test/pdf-x3-2003.mkiv
@@ -1,6 +1,6 @@
% PDF/X-3:2003
-\enabletrackers[backend.pdfx]
+\enabletrackers[backend.format,backend.variables]
\setupbackend
[format=PDF/X-3:2003,
diff --git a/tex/context/test/pdf-x4.mkiv b/tex/context/test/pdf-x4.mkiv
index 0566475b5..062de3b34 100644
--- a/tex/context/test/pdf-x4.mkiv
+++ b/tex/context/test/pdf-x4.mkiv
@@ -2,7 +2,7 @@
% \nopdfcompression
-\enabletrackers[backend.pdfx]
+\enabletrackers[backend.format,backend.variables]
\setupbackend
[format=PDF/X-4,
diff --git a/tex/context/test/pdf-x4p.mkiv b/tex/context/test/pdf-x4p.mkiv
index 9ec8897f8..bfee0b238 100644
--- a/tex/context/test/pdf-x4p.mkiv
+++ b/tex/context/test/pdf-x4p.mkiv
@@ -1,10 +1,10 @@
% PDF/X-4p
-\enabletrackers[backend.pdfx]
+\enabletrackers[backend.format,backend.variables]
\setupbackend
[format=PDF/X-4p,
- intent=ISOcoated_v2_eci.icc,
+ intent={ISO Coated v2 (ECI)},
profile=sRGB.icc] % test for default colorspace
\input pdf-x-common.mkiv
diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua
index 323c70c3e..36a74ff01 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 : 09/21/12 20:58:19
+-- merge date : 09/23/12 12:40:12
do -- begin closure to overcome local limits and interference