summaryrefslogtreecommitdiff
path: root/tex/context/base/mkiv
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/base/mkiv')
-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/file-res.lua2
-rw-r--r--tex/context/base/mkiv/grph-fil.lua1
-rw-r--r--tex/context/base/mkiv/lpdf-ano.lua20
-rw-r--r--tex/context/base/mkiv/lpdf-mov.lua42
-rw-r--r--tex/context/base/mkiv/mult-def.lua3
-rw-r--r--tex/context/base/mkiv/scrn-wid.lua16
-rw-r--r--tex/context/base/mkiv/status-files.pdfbin23606 -> 24854 bytes
-rw-r--r--tex/context/base/mkiv/status-lua.pdfbin248677 -> 250063 bytes
10 files changed, 48 insertions, 40 deletions
diff --git a/tex/context/base/mkiv/cont-new.mkiv b/tex/context/base/mkiv/cont-new.mkiv
index 48164c9fc..d454c8d15 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{2021.07.27 19:24}
+\newcontextversion{2021.07.30 00:41}
%D This file is loaded at runtime, thereby providing an excellent place for hacks,
%D patches, extensions and new features. There can be local overloads in cont-loc
diff --git a/tex/context/base/mkiv/context.mkiv b/tex/context/base/mkiv/context.mkiv
index b75a70285..32af5b99b 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{2021.07.27 19:24}
+\edef\contextversion{2021.07.30 00:41}
%D Kind of special:
diff --git a/tex/context/base/mkiv/file-res.lua b/tex/context/base/mkiv/file-res.lua
index 8b16ff7da..3ed7abc8d 100644
--- a/tex/context/base/mkiv/file-res.lua
+++ b/tex/context/base/mkiv/file-res.lua
@@ -64,7 +64,7 @@ local function readfilename(specification,backtrack,treetoo)
local fname = names[i]
for i=1,backtrack,1 do
fname = "../" .. fname
- local pname = path and (path .. "/" .. fname) or fname
+ local pname = path and (path ~= "") and (path .. "/" .. fname) or fname
if isfile(pname) then
if trace_files then
report_files("found by backtracking: %s",pname)
diff --git a/tex/context/base/mkiv/grph-fil.lua b/tex/context/base/mkiv/grph-fil.lua
index e40420125..005657947 100644
--- a/tex/context/base/mkiv/grph-fil.lua
+++ b/tex/context/base/mkiv/grph-fil.lua
@@ -97,6 +97,7 @@ function jobfiles.run(name,action)
-- can be anything but we assume it gets checked by the sandbox
os.execute(action)
elseif ta == "table" then
+ -- these paths will be ignored when they are not set
local path = action.path
local runpath = action.runpath
action.path = environment.arguments.path
diff --git a/tex/context/base/mkiv/lpdf-ano.lua b/tex/context/base/mkiv/lpdf-ano.lua
index a120ff2f4..ebed9aec6 100644
--- a/tex/context/base/mkiv/lpdf-ano.lua
+++ b/tex/context/base/mkiv/lpdf-ano.lua
@@ -1215,24 +1215,24 @@ local pdf_stop = pdfconstant("Stop")
local pdf_resume = pdfconstant("Resume")
local pdf_pause = pdfconstant("Pause")
-local function movie_or_sound(operation,arguments)
+local function movie_or_sound(operation,what,arguments)
arguments = (type(arguments) == "table" and arguments) or settings_to_array(arguments)
return pdfdictionary {
S = pdf_movie,
- T = format("movie %s",arguments[1] or "noname"),
+ T = format("%s %s",what,arguments[1] or "noname"),
Operation = operation,
}
end
-function executers.startmovie (arguments) return movie_or_sound(pdf_start ,arguments) end
-function executers.stopmovie (arguments) return movie_or_sound(pdf_stop ,arguments) end
-function executers.resumemovie(arguments) return movie_or_sound(pdf_resume,arguments) end
-function executers.pausemovie (arguments) return movie_or_sound(pdf_pause ,arguments) end
+function executers.startmovie (arguments) return movie_or_sound(pdf_start ,"movie",arguments) end
+function executers.stopmovie (arguments) return movie_or_sound(pdf_stop ,"movie",arguments) end
+function executers.resumemovie(arguments) return movie_or_sound(pdf_resume,"movie",arguments) end
+function executers.pausemovie (arguments) return movie_or_sound(pdf_pause ,"movie",arguments) end
-function executers.startsound (arguments) return movie_or_sound(pdf_start ,arguments) end
-function executers.stopsound (arguments) return movie_or_sound(pdf_stop ,arguments) end
-function executers.resumesound(arguments) return movie_or_sound(pdf_resume,arguments) end
-function executers.pausesound (arguments) return movie_or_sound(pdf_pause ,arguments) end
+function executers.startsound (arguments) return movie_or_sound(pdf_start ,"sound",arguments) end
+function executers.stopsound (arguments) return movie_or_sound(pdf_stop ,"sound",arguments) end
+function executers.resumesound(arguments) return movie_or_sound(pdf_resume,"sound",arguments) end
+function executers.pausesound (arguments) return movie_or_sound(pdf_pause ,"sound",arguments) end
function specials.action(var)
local operation = var.operation
diff --git a/tex/context/base/mkiv/lpdf-mov.lua b/tex/context/base/mkiv/lpdf-mov.lua
index a0f82b25b..0f0eefd2f 100644
--- a/tex/context/base/mkiv/lpdf-mov.lua
+++ b/tex/context/base/mkiv/lpdf-mov.lua
@@ -17,13 +17,16 @@ local pdfdictionary = lpdf.dictionary
local pdfarray = lpdf.array
local pdfborder = lpdf.border
+-- We should actually make sure that inclusion only happens once. But this mechanism
+-- is dropped in pdf anyway so it will go away (read: mapped onto the newer mechanisms).
+
function nodeinjections.insertmovie(specification)
-- managed in figure inclusion: width, height, factor, repeat, controls, preview, label, foundname
local width = specification.width
local height = specification.height
local factor = specification.factor or number.dimenfactors.bp
local moviedict = pdfdictionary {
- F = specification.foundname,
+ F = specification.foundname or specification.file,
Aspect = pdfarray { factor * width, factor * height },
Poster = (specification.preview and true) or false,
}
@@ -36,7 +39,7 @@ function nodeinjections.insertmovie(specification)
Subtype = pdfconstant("Movie"),
Border = bs,
C = bc,
- T = format("movie %s",specification.label),
+ T = format("movie %s",specification.tag or specification.label),
Movie = moviedict,
A = controldict,
}
@@ -44,24 +47,23 @@ function nodeinjections.insertmovie(specification)
end
function nodeinjections.insertsound(specification)
- -- managed in interaction: repeat, label, foundname
- local soundclip = interactions.soundclips.soundclip(specification.label)
- if soundclip then
- local controldict = pdfdictionary {
- Mode = (specification["repeat"] and pdfconstant("Repeat")) or nil
- }
- local sounddict = pdfdictionary {
- F = soundclip.filename
- }
- local bs, bc = pdfborder()
- local action = pdfdictionary {
- Subtype = pdfconstant("Movie"),
- Border = bs,
- C = bc,
- T = format("sound %s",specification.label),
- Movie = sounddict,
- A = controldict,
+ local controldict = nil
+ if specification["repeat"] then
+ controldict = pdfdictionary {
+ Mode = pdfconstant("Repeat")
}
- context(nodeinjections.annotation(0,0,0,action())) -- test: context(...)
end
+ local sounddict = pdfdictionary {
+ F = specification.foundname or specification.file
+ }
+ local bs, bc = pdfborder()
+ local action = pdfdictionary {
+ Subtype = pdfconstant("Movie"),
+ Border = bs,
+ C = bc,
+ T = format("sound %s",specification.tag or specification.label),
+ Movie = sounddict,
+ A = controldict,
+ }
+ context(nodeinjections.annotation(0,0,0,action())) -- test: context(...)
end
diff --git a/tex/context/base/mkiv/mult-def.lua b/tex/context/base/mkiv/mult-def.lua
index d720a5b21..d65c7bcf6 100644
--- a/tex/context/base/mkiv/mult-def.lua
+++ b/tex/context/base/mkiv/mult-def.lua
@@ -12884,6 +12884,9 @@ return {
["pe"]="آرایش",
["ro"]="makeup",
},
+ ["namedtyping"]={
+ ["en"]="namedtyping",
+ },
["next"]={
["cs"]="dalsi",
["de"]="folgende",
diff --git a/tex/context/base/mkiv/scrn-wid.lua b/tex/context/base/mkiv/scrn-wid.lua
index 17c9ebddc..e8688e4b2 100644
--- a/tex/context/base/mkiv/scrn-wid.lua
+++ b/tex/context/base/mkiv/scrn-wid.lua
@@ -231,13 +231,15 @@ function soundclips.register(specification)
end
end
-function soundclips.insert(tag)
- local sc = soundclips[tag]
- if not sc then
- -- todo: message
- return soundclips.register { tag = tag }
- else
- return sc
+function soundclips.insert(specification)
+ local tag = specification.tag
+ if tag and tag ~= "" then
+ local sc = soundclips[tag]
+ if not sc then
+ -- todo: message
+ sc = soundclips.register { tag = tag }
+ end
+ nodeinjections.insertsound(sc)
end
end
diff --git a/tex/context/base/mkiv/status-files.pdf b/tex/context/base/mkiv/status-files.pdf
index f258bcfba..4edea249a 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 11b45b798..a3561d70c 100644
--- a/tex/context/base/mkiv/status-lua.pdf
+++ b/tex/context/base/mkiv/status-lua.pdf
Binary files differ