summaryrefslogtreecommitdiff
path: root/tex/context/base
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/base')
-rw-r--r--tex/context/base/back-exp.lua25
-rw-r--r--tex/context/base/cont-new.mkiv2
-rw-r--r--tex/context/base/context-version.pdfbin4388 -> 4387 bytes
-rw-r--r--tex/context/base/context.mkiv2
-rw-r--r--tex/context/base/export-example.css31
-rw-r--r--tex/context/base/l-unicode.lua4
-rw-r--r--tex/context/base/lpdf-epd.lua38
-rw-r--r--tex/context/base/lpdf-ini.lua2
-rw-r--r--tex/context/base/status-files.pdfbin24694 -> 24729 bytes
-rw-r--r--tex/context/base/status-lua.pdfbin333462 -> 333492 bytes
-rw-r--r--tex/context/base/strc-ren.mkiv2
11 files changed, 81 insertions, 25 deletions
diff --git a/tex/context/base/back-exp.lua b/tex/context/base/back-exp.lua
index 5fa765b79..7350d927f 100644
--- a/tex/context/base/back-exp.lua
+++ b/tex/context/base/back-exp.lua
@@ -1301,9 +1301,13 @@ do
checkmath(di)
i = i + 1
elseif tg == "mroot" then
- if #di.data == 1 then
+ local data = di.data
+ local size = #data
+ if size == 1 then
-- else firefox complains
di.element = "msqrt"
+ elseif size == 2 then
+ data[1], data[2] = data[2], data[1]
end
checkmath(di)
i = i + 1
@@ -1550,6 +1554,13 @@ do
extras.msup = extras.msub
+-- function extras.mroot(result,element,detail,n,fulltag,di)
+-- local data = di.data
+-- if size == #data then
+-- data[1], data[2] = data[2], data[1]
+-- end
+-- end
+
end
do
@@ -3206,9 +3217,15 @@ end
local list = table.unique(settings_to_array(cssfile))
for i=1,#list do
local source = file.addsuffix(list[i],"css")
- local target = source
- cssfiles[#cssfiles+1] = target
- -- todo: warning if no file yet
+ local target = file.join(stylepath,file.basename(source))
+ cssfiles[#cssfiles+1] = source
+ if not lfs.isfile(source) then
+ source = file.join("../",source)
+ end
+ if lfs.isfile(source) then
+ report_export("copying %s",source)
+ file.copy(source,target)
+ end
end
end
diff --git a/tex/context/base/cont-new.mkiv b/tex/context/base/cont-new.mkiv
index c58ec05bd..2da1fb0f6 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{2014.10.07 11:14}
+\newcontextversion{2014.10.08 00:33}
%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 68d39a739..d7d03f969 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 08aaa01c0..8e9d95fa3 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{2014.10.07 11:14}
+\edef\contextversion{2014.10.08 00:33}
\edef\contextkind {beta}
%D For those who want to use this:
diff --git a/tex/context/base/export-example.css b/tex/context/base/export-example.css
index 2962a790f..fb48e9426 100644
--- a/tex/context/base/export-example.css
+++ b/tex/context/base/export-example.css
@@ -373,6 +373,19 @@ register, div.register {
display: none ;
}
+registerlocation, div.registerlocation {
+ display: inline ;
+}
+
+registerlocation:after, div.registerlocation:after {
+ content : "\25B6\00A0\00A0" ;
+ color : rgb(40%,40%,40%) ;
+ font-size : x-small ;
+ line-height : 0 ;
+ padding-top : 0.5ex ;
+ vertical-align : top ;
+}
+
/* table : display */
/* tablerow : display */
/* tablecell : mixed */
@@ -463,7 +476,7 @@ combination, div.combination {
margin-bottom : 0em ;
}
-combinationpair, div.combinaitonpair {
+combinationpair, div.combinationpair {
display : table-cell ;
padding-right : 1em ;
}
@@ -740,11 +753,11 @@ quantity, div.quantity {
display : inline ;
}
-quantity>unit, div.quantity div.unit {
+quantity>unit, div.quantity>div.unit {
display : inline ;
}
-quantity>number, div.quantity div.number {
+quantity>number, div.quantity>div.number {
display : inline ;
}
@@ -755,25 +768,21 @@ quantity>number, div.quantity div.number {
sup, div.sup {
display : inline-block ;
font-size : xx-small ;
- line-height : 0 ;
- padding-top : 0.5ex ;
- vertical-align : top ;
+ vertical-align : super ;
}
sub, div.sub {
display : inline-block ;
font-size : xx-small ;
- line-height : 0 ;
- padding-bottom : 0.5ex ;
- vertical-align : bottom ;
+ vertical-align : sub ;
}
-subsup>sup, div.subsup div.sup {
+subsup>sup, div.subsup>div.sup {
display : inline ;
vertical-align : top ;
}
-subsup>sub, div.subsup div.sub {
+subsup>sub, div.subsup>div.sub {
display : inline ;
vertical-align : bottom ;
}
diff --git a/tex/context/base/l-unicode.lua b/tex/context/base/l-unicode.lua
index b3a4c35e6..53a23260a 100644
--- a/tex/context/base/l-unicode.lua
+++ b/tex/context/base/l-unicode.lua
@@ -883,7 +883,7 @@ local p_utf16_to_utf8_be = C(1) * C(1) /function(left,right)
return utfchar(now)
elseif now >= 0xD800 and now <= 0xDBFF then
more = now
- -- return ""
+ return "" -- else the c's end up in the stream
else
return utfchar(now)
end
@@ -897,7 +897,7 @@ local p_utf16_to_utf8_le = C(1) * C(1) /function(right,left)
return utfchar(now)
elseif now >= 0xD800 and now <= 0xDBFF then
more = now
- -- return ""
+ return "" -- else the c's end up in the stream
else
return utfchar(now)
end
diff --git a/tex/context/base/lpdf-epd.lua b/tex/context/base/lpdf-epd.lua
index 44e1a04c2..1d1d62cb6 100644
--- a/tex/context/base/lpdf-epd.lua
+++ b/tex/context/base/lpdf-epd.lua
@@ -39,7 +39,7 @@ local concat = table.concat
local toutf, toeight, utfchar = string.toutf, utf.toeight, utf.char
local lpegmatch, lpegpatterns = lpeg.match, lpeg.patterns
-local P, C, S, R, Ct, Cc, V, Carg, Cs = lpeg.P, lpeg.C, lpeg.S, lpeg.R, lpeg.Ct, lpeg.Cc, lpeg.V, lpeg.Carg, lpeg.Cs
+local P, C, S, R, Ct, Cc, V, Carg, Cs, Cf, Cg = lpeg.P, lpeg.C, lpeg.S, lpeg.R, lpeg.Ct, lpeg.Cc, lpeg.V, lpeg.Carg, lpeg.Cs, lpeg.Cf, lpeg.Cg
local epdf = epdf
lpdf = lpdf or { }
@@ -606,13 +606,16 @@ local hexdigit = R("09","AF")
local numchar = ( P("\\") * ( (R("09")^3/tonumber) + C(1) ) ) + C(1)
local number = lpegpatterns.number / tonumber
local spaces = lpegpatterns.whitespace^1
+local optspaces = lpegpatterns.whitespace^0
local keyword = P("/") * C(R("AZ","az","09")^1)
local operator = C((R("AZ","az")+P("'")+P('"'))^1)
local grammar = P { "start",
start = (keyword + number + V("dictionary") + V("unicode") + V("string") + V("unicode")+ V("array") + spaces)^1,
+ -- keyvalue = (keyword * spaces * V("start") + spaces)^1,
+ keyvalue = optspaces * Cf(Ct("") * Cg(keyword * optspaces * V("start") * optspaces)^1,rawset),
array = P("[") * Ct(V("start")^1) * P("]"),
- dictionary = P("<<") * Ct(V("start")^1) * P(">>"),
+ dictionary = P("<<") * V("keyvalue") * P(">>"),
unicode = P("<") * Ct(Cc("hex") * C((1-P(">"))^1)) * P(">"),
string = P("(") * Ct(Cc("dec") * C((V("string")+numchar)^1)) * P(")"), -- untested
}
@@ -742,9 +745,9 @@ function lpdf.epdf.getpagecontent(document,pagenumber)
elseif operator == "Tj" or operator == "'" or operator == '"' then -- { string, Tj } { string, ' } { n, m, string, " }
local list = entry[size-1]
if list[1] == "hex" then
- list[2] = lpegmatch(p_hex_to_utf,li[2],1,unic)
+ list[2] = lpegmatch(p_hex_to_utf,li[2])
else
- list[2] = lpegmatch(p_dec_to_utf,li[2],1,unic)
+ list[2] = lpegmatch(p_dec_to_utf,li[2])
end
end
end
@@ -809,6 +812,33 @@ function lpdf.epdf.contenttotext(document,list) -- maybe signal fonts
return concat(text)
end
+function lpdf.epdf.getstructure(document,list) -- just a test
+ local depth = 0
+ for i=1,#list do
+ local entry = list[i]
+ local size = #entry
+ local operator = entry[size]
+ if operator == "BDC" then
+ report_epdf("%w%s : %s",depth,entry[1] or "?",entry[2].MCID or "?")
+ depth = depth + 1
+ elseif operator == "EMC" then
+ depth = depth - 1
+ elseif operator == "TJ" then
+ local list = entry[1]
+ for i=1,#list do
+ local li = list[i]
+ if type(li) == "string" then
+ report_epdf("%w > %s",depth,li)
+ elseif li < -50 then
+ report_epdf("%w >",depth,li)
+ end
+ end
+ elseif operator == "Tj" then
+ report_epdf("%w > %s",depth,entry[size-1])
+ end
+ end
+end
+
-- document.Catalog.StructTreeRoot.ParentTree.Nums[2][1].A.P[1])
-- helpers
diff --git a/tex/context/base/lpdf-ini.lua b/tex/context/base/lpdf-ini.lua
index 76fa5cbb2..033895cdc 100644
--- a/tex/context/base/lpdf-ini.lua
+++ b/tex/context/base/lpdf-ini.lua
@@ -254,7 +254,7 @@ local pattern = C(4) / function(s) -- needs checking !
return utfchar(now)
elseif now >= 0xD800 and now <= 0xDBFF then
more = now
- -- return ""
+ return "" -- else the c's end up in the stream
else
return utfchar(now)
end
diff --git a/tex/context/base/status-files.pdf b/tex/context/base/status-files.pdf
index f4d86b843..b77dd85a1 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 9ee869ef6..ac68be555 100644
--- a/tex/context/base/status-lua.pdf
+++ b/tex/context/base/status-lua.pdf
Binary files differ
diff --git a/tex/context/base/strc-ren.mkiv b/tex/context/base/strc-ren.mkiv
index baeb3ab04..3ff144e81 100644
--- a/tex/context/base/strc-ren.mkiv
+++ b/tex/context/base/strc-ren.mkiv
@@ -673,7 +673,7 @@
\strut
\headnumbercontent
\par
- else
+ \else
\fakeheadnumbercontent % will also be done in the other ones (force consistency with numbered)
\fi
\begstrut