summaryrefslogtreecommitdiff
path: root/tex
diff options
context:
space:
mode:
Diffstat (limited to 'tex')
-rw-r--r--tex/context/base/mkii/cont-new.mkii2
-rw-r--r--tex/context/base/mkii/context.mkii2
-rw-r--r--tex/context/base/mkiv/cont-new.mkiv2
-rw-r--r--tex/context/base/mkiv/context.mkiv2
-rw-r--r--tex/context/base/mkiv/context.mkxl2
-rw-r--r--tex/context/base/mkiv/font-ctx.lua23
-rw-r--r--tex/context/base/mkiv/font-def.lua10
-rw-r--r--tex/context/base/mkiv/lpdf-pde.lua2
-rw-r--r--tex/context/base/mkiv/lpdf-wid.lua8
-rw-r--r--tex/context/base/mkiv/mtx-context-copy.tex6
-rw-r--r--tex/context/base/mkiv/status-files.pdfbin26570 -> 26572 bytes
-rw-r--r--tex/context/base/mkiv/status-lua.pdfbin268816 -> 269625 bytes
-rw-r--r--tex/context/base/mkiv/symb-emj.lua1
-rw-r--r--tex/context/interface/mkiv/i-context.pdfbin894125 -> 893714 bytes
-rw-r--r--tex/context/interface/mkiv/i-readme.pdfbin61165 -> 61165 bytes
-rw-r--r--tex/generic/context/luatex/luatex-fonts-merged.lua11
16 files changed, 44 insertions, 27 deletions
diff --git a/tex/context/base/mkii/cont-new.mkii b/tex/context/base/mkii/cont-new.mkii
index 646791414..430ffe4d1 100644
--- a/tex/context/base/mkii/cont-new.mkii
+++ b/tex/context/base/mkii/cont-new.mkii
@@ -11,7 +11,7 @@
%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
%C details.
-\newcontextversion{2019.12.12 19:23}
+\newcontextversion{2019.12.15 17:24}
%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/mkii/context.mkii b/tex/context/base/mkii/context.mkii
index a495e5759..b62f0d456 100644
--- a/tex/context/base/mkii/context.mkii
+++ b/tex/context/base/mkii/context.mkii
@@ -20,7 +20,7 @@
%D your styles an modules.
\edef\contextformat {\jobname}
-\edef\contextversion{2019.12.12 19:23}
+\edef\contextversion{2019.12.15 17:24}
%D For those who want to use this:
diff --git a/tex/context/base/mkiv/cont-new.mkiv b/tex/context/base/mkiv/cont-new.mkiv
index 5116e2190..df06ac855 100644
--- a/tex/context/base/mkiv/cont-new.mkiv
+++ b/tex/context/base/mkiv/cont-new.mkiv
@@ -13,7 +13,7 @@
% \normalend % uncomment this to get the real base runtime
-\newcontextversion{2019.12.12 19:23}
+\newcontextversion{2019.12.15 17:24}
%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.mkiv b/tex/context/base/mkiv/context.mkiv
index e3d03915d..8ae058407 100644
--- a/tex/context/base/mkiv/context.mkiv
+++ b/tex/context/base/mkiv/context.mkiv
@@ -45,7 +45,7 @@
%D {YYYY.MM.DD HH:MM} format.
\edef\contextformat {\jobname}
-\edef\contextversion{2019.12.12 19:23}
+\edef\contextversion{2019.12.15 17:24}
\edef\contextkind {beta}
%D Kind of special:
diff --git a/tex/context/base/mkiv/context.mkxl b/tex/context/base/mkiv/context.mkxl
index 4df482faf..e0359e631 100644
--- a/tex/context/base/mkiv/context.mkxl
+++ b/tex/context/base/mkiv/context.mkxl
@@ -29,7 +29,7 @@
%D {YYYY.MM.DD HH:MM} format.
\edef\contextformat {\jobname}
-\edef\contextversion{2019.12.12 19:23}
+\edef\contextversion{2019.12.15 17:24}
\edef\contextkind {beta}
%D Kind of special:
diff --git a/tex/context/base/mkiv/font-ctx.lua b/tex/context/base/mkiv/font-ctx.lua
index ca02d28cf..535b46610 100644
--- a/tex/context/base/mkiv/font-ctx.lua
+++ b/tex/context/base/mkiv/font-ctx.lua
@@ -1498,7 +1498,7 @@ do -- else too many locals
--
- function definers.define(specification)
+ local function define(specification)
--
local name = specification.name
if not name or name == "" then
@@ -1546,6 +1546,7 @@ do -- else too many locals
texdefinefont(specification.global,cs,tfmdata)
csnames[tfmdata] = cs
end
+ stoptiming(fonts)
return tfmdata, fontdata[tfmdata]
else
local id = definefont(tfmdata)
@@ -1557,12 +1558,14 @@ do -- else too many locals
end
constructors.cleanuptable(tfmdata)
constructors.finalize(tfmdata)
+ stoptiming(fonts)
return id, tfmdata
end
- stoptiming(fonts)
end
end
+ definers.define = define
+
-- local id, cs = fonts.definers.internal { }
-- local id, cs = fonts.definers.internal { number = 2 }
-- local id, cs = fonts.definers.internal { name = "dejavusans" }
@@ -1589,7 +1592,7 @@ do -- else too many locals
else
specification.cs = cs
end
- id = definers.define {
+ id = define {
name = name,
size = size,
cs = cs,
@@ -1601,13 +1604,25 @@ do -- else too many locals
return id, csnames[id]
end
+ local read
+
+ if CONTEXTLMTXMODE and CONTEXTLMTXMODE > 0 then -- maybe always
+ read = function(name,size)
+ return (define { name = name, size = size } or 0)
+ end
+ else
+ read = definers.read
+ end
+
+ callbacks.register('define_font', read, "definition of fonts (tfmdata preparation)")
+
-- here
local infofont = 0
function fonts.infofont()
if infofont == 0 then
- infofont = definers.define { name = "dejavusansmono", size = texsp("6pt") }
+ infofont = define { name = "dejavusansmono", size = texsp("6pt") }
end
return infofont
end
diff --git a/tex/context/base/mkiv/font-def.lua b/tex/context/base/mkiv/font-def.lua
index f3d0f8187..e287bf79c 100644
--- a/tex/context/base/mkiv/font-def.lua
+++ b/tex/context/base/mkiv/font-def.lua
@@ -45,7 +45,6 @@ specifiers.variants = variants
definers.methods = definers.methods or { }
local internalized = allocate() -- internal tex numbers (private)
-local lastdefined = nil -- we don't want this one to end up in s-tra-02
local loadedfonts = constructors.loadedfonts
local designsizes = constructors.designsizes
@@ -455,10 +454,6 @@ not gain much. By the way, passing id's back to in the callback was
introduced later in the development.</p>
--ldx]]--
-function definers.current() -- or maybe current
- return lastdefined
-end
-
function definers.registered(hash)
local id = internalized[hash]
return id, id and fontdata[id]
@@ -511,7 +506,6 @@ function definers.read(specification,size,id) -- id can be optional, name can al
end
end
end
- lastdefined = tfmdata or id -- todo ! ! ! ! !
if not tfmdata then -- or id?
report_defining( "unknown font %a, loading aborted",specification.name)
elseif trace_defining and type(tfmdata) == "table" then
@@ -533,4 +527,6 @@ end
<p>We overload the <l n='tfm'/> reader.</p>
--ldx]]--
-callbacks.register('define_font', definers.read, "definition of fonts (tfmdata preparation)")
+if not context then
+ callbacks.register('define_font', definers.read, "definition of fonts (tfmdata preparation)")
+end
diff --git a/tex/context/base/mkiv/lpdf-pde.lua b/tex/context/base/mkiv/lpdf-pde.lua
index 2a8cfeede..eaeea5df3 100644
--- a/tex/context/base/mkiv/lpdf-pde.lua
+++ b/tex/context/base/mkiv/lpdf-pde.lua
@@ -903,6 +903,8 @@ if images then do
value = pdfnull()
elseif kind == reference_object_code then
value = deepcopyobject(xref,copied,entry)
+ elseif entry == nil then
+ value = pdfnull()
else
value = tostring(entry)
end
diff --git a/tex/context/base/mkiv/lpdf-wid.lua b/tex/context/base/mkiv/lpdf-wid.lua
index d1c88ae35..b8648b32a 100644
--- a/tex/context/base/mkiv/lpdf-wid.lua
+++ b/tex/context/base/mkiv/lpdf-wid.lua
@@ -57,6 +57,7 @@ local v_max = variables.max
local v_yes = variables.yes
local pdfconstant = lpdf.constant
+local pdfnull = lpdf.null
local pdfdictionary = lpdf.dictionary
local pdfarray = lpdf.array
local pdfreference = lpdf.reference
@@ -254,7 +255,8 @@ local function flushembeddedfiles()
for tag, reference in sortedhash(filestreams) do
if not reference then
report_attachment("unreferenced file, tag %a",tag)
- elseif referenced[tag] == "hidden" then
+-- elseif referenced[tag] == "hidden" then
+ elseif referenced[tag] ~= "hidden" then
e[#e+1] = pdfstring(tag)
e[#e+1] = reference -- already a reference
else
@@ -440,7 +442,7 @@ function nodeinjections.attachfile(specification)
CA = analyzetransparency(specification.transparencyvalue),
AP = appearance,
OC = analyzelayer(specification.layer),
- F = 0, -- another rediculous need to satisfy validation (optional and zero is default)
+ F = pdfnull(), -- another rediculous need to satisfy validation
}
local width = specification.width or 0
local height = specification.height or 0
@@ -532,7 +534,7 @@ function nodeinjections.comment(specification) -- brrr: seems to be done twice
Name = name,
NM = pdfstring("comment:"..nofcomments),
AP = appearance,
- F = 0, -- another rediculous need to satisfy validation (optional and zero is default)
+ F = pdfnull(), -- another rediculous need to satisfy validation
}
local width = specification.width or 0
local height = specification.height or 0
diff --git a/tex/context/base/mkiv/mtx-context-copy.tex b/tex/context/base/mkiv/mtx-context-copy.tex
index b798b3f8d..8e4336609 100644
--- a/tex/context/base/mkiv/mtx-context-copy.tex
+++ b/tex/context/base/mkiv/mtx-context-copy.tex
@@ -59,7 +59,11 @@
if #document.files == 0 then
context("no files given")
else
- for _, filename in ipairs(document.files) do
+ if document.arguments.pattern then
+ document.files = dir.glob(document.arguments.pattern)
+ end
+ for i=1,#document.files do
+ local filename = document.files[i]
if not string.find(filename,"^mtx%-context%-") then
logs.report("copy",filename)
context.getfiguredimensions
diff --git a/tex/context/base/mkiv/status-files.pdf b/tex/context/base/mkiv/status-files.pdf
index f43c2b065..27d8875b4 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 b2189471f..252e8561b 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/symb-emj.lua b/tex/context/base/mkiv/symb-emj.lua
index d6e2aebea..4d16bbb73 100644
--- a/tex/context/base/mkiv/symb-emj.lua
+++ b/tex/context/base/mkiv/symb-emj.lua
@@ -24,6 +24,7 @@ local tonode = nuts.tonode
local tonut = nuts.tonut
local remove_node = nuts.remove
local isglyph = nuts.isglyph
+local getnext = nuts.getnext
local function removemodifiers(head)
local head = tonut(head)
diff --git a/tex/context/interface/mkiv/i-context.pdf b/tex/context/interface/mkiv/i-context.pdf
index 89c42db3c..4a0c834d8 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-readme.pdf b/tex/context/interface/mkiv/i-readme.pdf
index fb21ea8ef..804b417df 100644
--- a/tex/context/interface/mkiv/i-readme.pdf
+++ b/tex/context/interface/mkiv/i-readme.pdf
Binary files differ
diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua
index a9bb1cd98..b50ea7651 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 : 12/12/19 19:23:52
+-- merge date : 12/15/19 17:24:31
do -- begin closure to overcome local limits and interference
@@ -35346,7 +35346,6 @@ local variants=allocate()
specifiers.variants=variants
definers.methods=definers.methods or {}
local internalized=allocate()
-local lastdefined=nil
local loadedfonts=constructors.loadedfonts
local designsizes=constructors.designsizes
local resolvefile=fontgoodies and fontgoodies.filenames and fontgoodies.filenames.resolve or function(s) return s end
@@ -35607,9 +35606,6 @@ function constructors.readanddefine(name,size)
end
return fontdata[id],id
end
-function definers.current()
- return lastdefined
-end
function definers.registered(hash)
local id=internalized[hash]
return id,id and fontdata[id]
@@ -35660,7 +35656,6 @@ function definers.read(specification,size,id)
end
end
end
- lastdefined=tfmdata or id
if not tfmdata then
report_defining("unknown font %a, loading aborted",specification.name)
elseif trace_defining and type(tfmdata)=="table" then
@@ -35676,7 +35671,9 @@ end
function font.getfont(id)
return fontdata[id]
end
-callbacks.register('define_font',definers.read,"definition of fonts (tfmdata preparation)")
+if not context then
+ callbacks.register('define_font',definers.read,"definition of fonts (tfmdata preparation)")
+end
end -- closure