diff options
Diffstat (limited to 'tex/context/base/mkiv')
-rw-r--r-- | tex/context/base/mkiv/cont-new.mkiv | 2 | ||||
-rw-r--r-- | tex/context/base/mkiv/context.mkiv | 2 | ||||
-rw-r--r-- | tex/context/base/mkiv/file-res.lua | 2 | ||||
-rw-r--r-- | tex/context/base/mkiv/grph-fil.lua | 1 | ||||
-rw-r--r-- | tex/context/base/mkiv/lpdf-ano.lua | 20 | ||||
-rw-r--r-- | tex/context/base/mkiv/lpdf-mov.lua | 42 | ||||
-rw-r--r-- | tex/context/base/mkiv/mult-def.lua | 3 | ||||
-rw-r--r-- | tex/context/base/mkiv/scrn-wid.lua | 16 | ||||
-rw-r--r-- | tex/context/base/mkiv/status-files.pdf | bin | 23606 -> 24854 bytes | |||
-rw-r--r-- | tex/context/base/mkiv/status-lua.pdf | bin | 248677 -> 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 Binary files differindex f258bcfba..4edea249a 100644 --- a/tex/context/base/mkiv/status-files.pdf +++ b/tex/context/base/mkiv/status-files.pdf diff --git a/tex/context/base/mkiv/status-lua.pdf b/tex/context/base/mkiv/status-lua.pdf Binary files differindex 11b45b798..a3561d70c 100644 --- a/tex/context/base/mkiv/status-lua.pdf +++ b/tex/context/base/mkiv/status-lua.pdf |