summaryrefslogtreecommitdiff
path: root/tex
diff options
context:
space:
mode:
Diffstat (limited to 'tex')
-rw-r--r--tex/context/base/attr-eff.lua7
-rw-r--r--tex/context/base/attr-lay.lua6
-rw-r--r--tex/context/base/back-exp.lua110
-rw-r--r--tex/context/base/bibl-bib.lua20
-rw-r--r--tex/context/base/buff-ini.lua5
-rw-r--r--tex/context/base/buff-ver.lua2
-rw-r--r--tex/context/base/chem-str.lua35
-rw-r--r--tex/context/base/cldf-prs.lua27
-rw-r--r--tex/context/base/colo-ini.lua2
-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 -> 4137 bytes
-rw-r--r--tex/context/base/context-version.pngbin40442 -> 40388 bytes
-rw-r--r--tex/context/base/context.mkii2
-rw-r--r--tex/context/base/context.mkiv2
-rw-r--r--tex/context/base/core-con.lua12
-rw-r--r--tex/context/base/core-sys.lua2
-rw-r--r--tex/context/base/file-job.lua9
-rw-r--r--tex/context/base/font-ctx.lua38
-rw-r--r--tex/context/base/font-fea.mkvi45
-rw-r--r--tex/context/base/font-otb.lua6
-rw-r--r--tex/context/base/font-otf.lua4
-rw-r--r--tex/context/base/font-otn.lua20
-rw-r--r--tex/context/base/java-ini.lua7
-rw-r--r--tex/context/base/l-lua.lua10
-rw-r--r--tex/context/base/l-string.lua2
-rw-r--r--tex/context/base/lang-ini.lua4
-rw-r--r--tex/context/base/lang-lab.lua68
-rw-r--r--tex/context/base/lpdf-ano.lua8
-rw-r--r--tex/context/base/lpdf-col.lua90
-rw-r--r--tex/context/base/lpdf-epa.lua11
-rw-r--r--tex/context/base/luat-cbk.lua4
-rw-r--r--tex/context/base/luat-lua.lua34
-rw-r--r--tex/context/base/luat-sto.lua1
-rw-r--r--tex/context/base/lxml-ctx.lua2
-rw-r--r--tex/context/base/lxml-dir.lua37
-rw-r--r--tex/context/base/m-spreadsheet.lua17
-rw-r--r--tex/context/base/m-spreadsheet.mkiv8
-rw-r--r--tex/context/base/math-ini.lua44
-rw-r--r--tex/context/base/mult-chk.lua2
-rw-r--r--tex/context/base/mult-de.mkii2
-rw-r--r--tex/context/base/mult-def.lua8
-rw-r--r--tex/context/base/mult-en.mkii2
-rw-r--r--tex/context/base/mult-fr.mkii2
-rw-r--r--tex/context/base/mult-ini.lua18
-rw-r--r--tex/context/base/mult-it.mkii2
-rw-r--r--tex/context/base/mult-mes.lua1892
-rw-r--r--tex/context/base/mult-nl.mkii2
-rw-r--r--tex/context/base/mult-pe.mkii2
-rw-r--r--tex/context/base/mult-ro.mkii2
-rw-r--r--tex/context/base/scrn-but.lua4
-rw-r--r--tex/context/base/spac-ver.lua2
-rw-r--r--tex/context/base/status-files.pdfbin24796 -> 24800 bytes
-rw-r--r--tex/context/base/status-lua.pdfbin210050 -> 210821 bytes
-rw-r--r--tex/context/base/strc-ini.lua6
-rw-r--r--tex/context/base/strc-lev.lua7
-rw-r--r--tex/context/base/strc-lst.lua2
-rw-r--r--tex/context/base/strc-pag.lua6
-rw-r--r--tex/context/base/strc-ref.lua9
-rw-r--r--tex/context/base/trac-vis.lua21
-rw-r--r--tex/context/base/typo-mar.lua8
-rw-r--r--tex/context/base/x-chemml.lua4
-rw-r--r--tex/context/interface/keys-cs.xml2
-rw-r--r--tex/context/interface/keys-de.xml2
-rw-r--r--tex/context/interface/keys-en.xml2
-rw-r--r--tex/context/interface/keys-fr.xml2
-rw-r--r--tex/context/interface/keys-it.xml2
-rw-r--r--tex/context/interface/keys-nl.xml2
-rw-r--r--tex/context/interface/keys-pe.xml2
-rw-r--r--tex/context/interface/keys-ro.xml2
-rw-r--r--tex/generic/context/luatex/luatex-fonts-merged.lua44
71 files changed, 1402 insertions, 1366 deletions
diff --git a/tex/context/base/attr-eff.lua b/tex/context/base/attr-eff.lua
index 60e0c08ac..4dce5419a 100644
--- a/tex/context/base/attr-eff.lua
+++ b/tex/context/base/attr-eff.lua
@@ -6,8 +6,6 @@ if not modules then modules = { } end modules ['attr-eff'] = {
license = "see context related readme files"
}
-local format = string.format
-
local commands, interfaces = commands, interfaces
local attributes, nodes, backends, utilities = attributes, nodes, backends, utilities
local tex = tex
@@ -18,6 +16,7 @@ local nodeinjections = backends.nodeinjections
local settexattribute = tex.setattribute
local allocate = utilities.storage.allocate
local setmetatableindex = table.setmetatableindex
+local formatters = string.formatters
local variables = interfaces.variables
local v_normal = variables.normal
@@ -36,7 +35,7 @@ local data = effects.data
local registered = effects.registered
local values = effects.values
-local template = "%s:%s:%s"
+local f_stamp = formatters["%s:%s:%s"]
storage.register("attributes/effects/registered", registered, "attributes.effects.registered")
storage.register("attributes/effects/values", values, "attributes.effects.values")
@@ -82,7 +81,7 @@ local function register(specification)
stretch = 0
rulethickness = 0
end
- local stamp = format(template,alternative,stretch,rulethickness)
+ local stamp = f_stamp(alternative,stretch,rulethickness)
local n = registered[stamp]
if not n then
n = #values + 1
diff --git a/tex/context/base/attr-lay.lua b/tex/context/base/attr-lay.lua
index 9762bb202..4bcc70b0c 100644
--- a/tex/context/base/attr-lay.lua
+++ b/tex/context/base/attr-lay.lua
@@ -13,7 +13,6 @@ if not modules then modules = { } end modules ['attr-lay'] = {
-- maybe use backends.registrations here too
local type = type
-local format = string.format
local insert, remove = table.insert, table.remove
local attributes, nodes, utilities, logs, backends = attributes, nodes, utilities, logs, backends
@@ -22,6 +21,7 @@ local tex = tex
local allocate = utilities.storage.allocate
local setmetatableindex = table.setmetatableindex
+local formatters = string.formatters
local report_viewerlayers = logs.reporter("viewerlayers")
@@ -69,7 +69,7 @@ local listwise = viewerlayers.listwise
local registered = viewerlayers.registered
local scopes = viewerlayers.scopes
-local template = "%s"
+local f_stamp = formatters["%s"]
storage.register("attributes/viewerlayers/registered", registered, "attributes.viewerlayers.registered")
storage.register("attributes/viewerlayers/values", values, "attributes.viewerlayers.values")
@@ -163,7 +163,7 @@ local function register(name,lw) -- if not inimode redefine data[n] in first cal
if not enabled then
viewerlayers.enable(true)
end
- local stamp = format(template,name)
+ local stamp = f_stamp(name)
local n = registered[stamp]
if not n then
n = #values + 1
diff --git a/tex/context/base/back-exp.lua b/tex/context/base/back-exp.lua
index 24bc9b432..c9081013d 100644
--- a/tex/context/base/back-exp.lua
+++ b/tex/context/base/back-exp.lua
@@ -18,7 +18,7 @@ if not modules then modules = { } end modules ['back-exp'] = {
-- We can optimize the code ... currently the overhead is some 10% for xml + html so
-- there is no hurry.
--- todo: use more formatters.. needs testing ... also we can every 1000 results do a collapse
+-- todo: move critital formatters out of functions
-- todo: delay loading (apart from basic tag stuff)
local next, type = next, type
@@ -231,7 +231,7 @@ end)
local function attribute(key,value)
if value and value ~= "" then
- return format(' %s="%s"',key,gsub(value,".",attribentities))
+ return formatters[' %s="%s"'](key,gsub(value,".",attribentities))
else
return ""
end
@@ -345,7 +345,7 @@ local function allusedstyles(xmlfile)
for detail, data in sortedhash(details) do
local s = fontspecification(data.style)
local c = colorspecification(data.color)
- result[#result+1] = format(styletemplate,element,detail,
+ result[#result+1] = formatters[styletemplate](element,detail,
s.style or "inherit",
s.variant or "inherit",
s.weight or "inherit",
@@ -377,7 +377,7 @@ local function allusedimages(xmlfile)
-- temp hack .. we will have a remapper
name = file.replacesuffix(name,"svg")
end
- result[#result+1] = format(imagetemplate,element,detail,name,data.width,data.height)
+ result[#result+1] = formatters[imagetemplate](element,detail,name,data.width,data.height)
end
end
return concat(result,"\n\n")
@@ -466,7 +466,7 @@ function extras.document(result,element,detail,n,fulltag,di)
local key = fields[i]
local value = identity[key]
if value and value ~= "" then
- result[#result+1] = format(" %s=%q",key,value)
+ result[#result+1] = formatters[" %s=%q"](key,value)
end
end
end
@@ -505,7 +505,7 @@ end
function extras.synonym(result,element,detail,n,fulltag,di)
local tag = synonyms[fulltag]
if tag then
- result[#result+1] = format(" tag='%s'",tag)
+ result[#result+1] = formatters[" tag='%s'"](tag)
end
end
@@ -518,7 +518,7 @@ end
function extras.sorting(result,element,detail,n,fulltag,di)
local tag = sortings[fulltag]
if tag then
- result[#result+1] = format(" tag='%s'",tag)
+ result[#result+1] = formatters[" tag='%s'"](tag)
end
end
@@ -566,14 +566,14 @@ end
function extras.description(result,element,detail,n,fulltag,di)
local id = linked[fulltag]
if id then
- result[#result+1] = format(" insert='%s'",id) -- maybe just fulltag
+ result[#result+1] = formatters[" insert='%s'"](id) -- maybe just fulltag
end
end
function extras.descriptionsymbol(result,element,detail,n,fulltag,di)
local id = linked[fulltag]
if id then
- result[#result+1] = format(" insert='%s'",id)
+ result[#result+1] = formatters[" insert='%s'"](id)
end
end
@@ -593,9 +593,9 @@ function extras.image(result,element,detail,n,fulltag,di)
if data then
result[#result+1] = attribute("name",data.name)
if tonumber(data.page) > 1 then
- result[#result+1] = format(" page='%s'",data.page)
+ result[#result+1] = formatters[" page='%s'"](data.page)
end
- result[#result+1] = format(" id='%s' width='%s' height='%s'",fulltag,data.width,data.height)
+ result[#result+1] = formatters[" id='%s' width='%s' height='%s'"](fulltag,data.width,data.height)
end
end
@@ -611,7 +611,7 @@ end
function extras.combination(result,element,detail,n,fulltag,di)
local data = combinations[fulltag]
if data then
- result[#result+1] = format(" nx='%s' ny='%s'",data.nx,data.ny)
+ result[#result+1] = formatters[" nx='%s' ny='%s'"](data.nx,data.ny)
end
end
@@ -684,7 +684,7 @@ end
function specials.internal(result,var)
local internal = references.checkedurl(var.operation)
if internal then
- result[#result+1] = format(" location='aut:%s'",internal)
+ result[#result+1] = formatters[" location='aut:%s'"](internal)
end
end
@@ -696,9 +696,9 @@ local function adddestination(result,references) -- todo: specials -> exporters
if reference and reference ~= "" then
local prefix = references.prefix
if prefix and prefix ~= "" then
- result[#result+1] = format(" prefix='%s'",prefix)
+ result[#result+1] = formatters[" prefix='%s'"](prefix)
end
- result[#result+1] = format(" destination='%s'",reference)
+ result[#result+1] = formatters[" destination='%s'"](reference)
for i=1,#references do
local r = references[i]
local e = evaluators[r.kind]
@@ -716,13 +716,13 @@ local function addreference(result,references)
if reference and reference ~= "" then
local prefix = references.prefix
if prefix and prefix ~= "" then
- result[#result+1] = format(" prefix='%s'",prefix)
+ result[#result+1] = formatters[" prefix='%s'"](prefix)
end
- result[#result+1] = format(" reference='%s'",reference)
+ result[#result+1] = formatters[" reference='%s'"](reference)
end
local internal = references.internal
if internal and internal ~= "" then
- result[#result+1] = format(" location='aut:%s'",internal)
+ result[#result+1] = formatters[" location='aut:%s'"](internal)
end
end
end
@@ -1153,11 +1153,11 @@ function extras.tablecell(result,element,detail,n,fulltag,di)
if hash then
local v = hash.columns
if v and v > 1 then
- result[#result+1] = format(" columns='%s'",v)
+ result[#result+1] = formatters[" columns='%s'"](v)
end
local v = hash.rows
if v and v > 1 then
- result[#result+1] = format(" rows='%s'",v)
+ result[#result+1] = formatters[" rows='%s'"](v)
end
local v = hash.align
if not v or v == 0 then
@@ -1230,19 +1230,19 @@ local function emptytag(result,element,nature,depth,di) -- currently only break
local a = di.attributes -- we might add detail etc
if a then -- happens seldom
if linedone then
- result[#result+1] = format("%s<%s",spaces[depth],namespaced[element])
+ result[#result+1] = formatters["%w<%s"](depth,namespaced[element])
else
- result[#result+1] = format("\n%s<%s",spaces[depth],namespaced[element])
+ result[#result+1] = formatters["\n%w<%s"](depth,namespaced[element])
end
for k, v in next, a do
- result[#result+1] = format(" %s=%q",k,v)
+ result[#result+1] = formatters[" %s=%q"](k,v)
end
result[#result+1] = "/>\n"
else
if linedone then
- result[#result+1] = format("%s<%s/>\n",spaces[depth],namespaced[element])
+ result[#result+1] = formatters["%w<%s/>\n"](depth,namespaced[element])
else
- result[#result+1] = format("\n%s<%s/>\n",spaces[depth],namespaced[element])
+ result[#result+1] = formatters["\n%w<%s/>\n"](depth,namespaced[element])
end
end
linedone = false
@@ -1258,57 +1258,57 @@ local function begintag(result,element,nature,depth,di,skip)
linedone = false
inlinedepth = inlinedepth + 1
if show_comment and comment then
- result[#result+1] = format("<!-- %s -->",comment)
+ result[#result+1] = formatters["<!-- %s -->"](comment)
end
elseif nature == "mixed" then
if inlinedepth > 0 then
if show_comment and comment then
- result[#result+1] = format("<!-- %s -->",comment)
+ result[#result+1] = formatters["<!-- %s -->"](comment)
end
elseif linedone then
result[#result+1] = spaces[depth]
if show_comment and comment then
- result[#result+1] = format("<!-- %s -->",comment)
+ result[#result+1] = formatters["<!-- %s -->"](comment)
end
else
- result[#result+1] = format("\n%s",spaces[depth])
+ result[#result+1] = formatters["\n%w"](depth)
linedone = false
if show_comment and comment then
- result[#result+1] = format("<!-- %s -->\n%s",comment,spaces[depth])
+ result[#result+1] = formatters["<!-- %s -->\n%w"](comment,depth)
end
end
inlinedepth = inlinedepth + 1
else
if inlinedepth > 0 then
if show_comment and comment then
- result[#result+1] = format("<!-- %s -->",comment)
+ result[#result+1] = formatters["<!-- %s -->"](comment)
end
elseif linedone then
result[#result+1] = spaces[depth]
if show_comment and comment then
- result[#result+1] = format("<!-- %s -->",comment)
+ result[#result+1] = formatters["<!-- %s -->"](comment)
end
else
- result[#result+1] = format("\n%s",spaces[depth]) -- can introduced extra line in mixed+mixed (filtered later on)
+ result[#result+1] = formatters["\n%w"](depth) -- can introduced extra line in mixed+mixed (filtered later on)
linedone = false
if show_comment and comment then
- result[#result+1] = format("<!-- %s -->\n%s",comment,spaces[depth])
+ result[#result+1] = formatters["<!-- %s -->\n%w"](comment,depth)
end
end
end
if skip == "comment" then
if show_comment then
- result[#result+1] = format("<!-- begin %s -->",namespaced[element])
+ result[#result+1] = formatters["<!-- begin %s -->"](namespaced[element])
end
elseif skip then
-- ignore
else
- result[#result+1] = format("<%s",namespaced[element])
+ result[#result+1] = formatters["<%s"](namespaced[element])
if detail then
- result[#result+1] = format(" detail=%q",detail)
+ result[#result+1] = formatters[" detail=%q"](detail)
end
if indexing and n then
- result[#result+1] = format(" n=%q",n)
+ result[#result+1] = formatters[" n=%q"](n)
end
local extra = extras[element]
if extra then
@@ -1317,13 +1317,13 @@ local function begintag(result,element,nature,depth,di,skip)
local u = userdata[fulltag]
if u then
for k, v in next, u do
- result[#result+1] = format(" %s=%q",k,v)
+ result[#result+1] = formatters[" %s=%q"](k,v)
end
end
local a = di.attributes
if a then
for k, v in next, a do
- result[#result+1] = format(" %s=%q",k,v)
+ result[#result+1] = formatters[" %s=%q"](k,v)
end
end
result[#result+1] = ">"
@@ -1340,12 +1340,12 @@ local function begintag(result,element,nature,depth,di,skip)
result[#result+1] = "\n"
linedone = true
end
- result[#result+1] = format("%s<metadata>\n",spaces[depth])
+ result[#result+1] = formatters["%w<metadata>\n"](depth)
for k, v in table.sortedpairs(metadata) do
v = entityremapper(v)
- result[#result+1] = format("%s<metavariable name=%q>%s</metavariable>\n",spaces[depth+1],k,v)
+ result[#result+1] = formatters["%w<metavariable name=%q>%s</metavariable>\n"](depth+1,k,v)
end
- result[#result+1] = format("%s</metadata>\n",spaces[depth])
+ result[#result+1] = formatters["%w</metadata>\n"](depth)
end
end
@@ -1357,35 +1357,35 @@ local function endtag(result,element,nature,depth,skip)
end
if skip == "comment" then
if show_comment then
- result[#result+1] = format("%s<!-- end %s -->\n",spaces[depth],namespaced[element])
+ result[#result+1] = formatters["%w<!-- end %s -->\n"](depth,namespaced[element])
end
elseif skip then
-- ignore
else
- result[#result+1] = format("%s</%s>\n",spaces[depth],namespaced[element])
+ result[#result+1] = formatters["%w</%s>\n"](depth,namespaced[element])
end
linedone = true
else
if skip == "comment" then
if show_comment then
- result[#result+1] = format("<!-- end %s -->",namespaced[element])
+ result[#result+1] = formatters["<!-- end %s -->"](namespaced[element])
end
elseif skip then
-- ignore
else
- result[#result+1] = format("</%s>",namespaced[element])
+ result[#result+1] = formatters["</%s>"](namespaced[element])
end
end
else
inlinedepth = inlinedepth - 1
if skip == "comment" then
if show_comment then
- result[#result+1] = format("<!-- end %s -->",namespaced[element])
+ result[#result+1] = formatters["<!-- end %s -->"](namespaced[element])
end
elseif skip then
-- ignore
else
- result[#result+1] = format("</%s>",namespaced[element])
+ result[#result+1] = formatters["</%s>"](namespaced[element])
end
linedone = false
end
@@ -1404,14 +1404,14 @@ local function flushtree(result,data,nature,depth)
if i == nofdata and sub(content,-1) == "\n" then -- move check
-- can be an end of line in par but can also be the last line
if trace_spacing then
- result[#result+1] = format("<c n='%s'>%s</c>",di.parnumber or 0,sub(content,1,-2))
+ result[#result+1] = formatters["<c n='%s'>%s</c>"](di.parnumber or 0,sub(content,1,-2))
else
result[#result+1] = sub(content,1,-2)
end
result[#result+1] = " "
else
if trace_spacing then
- result[#result+1] = format("<c n='%s'>%s</c>",di.parnumber or 0,content)
+ result[#result+1] = formatters["<c n='%s'>%s</c>"](di.parnumber or 0,content)
else
result[#result+1] = content
end
@@ -2194,14 +2194,14 @@ local displaymapping = {
local function allusedelements(xmlfile)
local result = { format("/* template for file %s */",xmlfile) }
- for element, details in table.sortedhash(used) do
+ for element, details in sortedhash(used) do
result[#result+1] = format("/* category: %s */",element)
- for detail, nature in table.sortedhash(details) do
+ for detail, nature in sortedhash(details) do
local d = displaymapping[nature or "display"] or "block"
if detail == "" then
- result[#result+1] = format(e_template,element,d)
+ result[#result+1] = formatters[e_template](element,d)
else
- result[#result+1] = format(d_template,element,detail,d)
+ result[#result+1] = formatters[d_template](element,detail,d)
end
end
end
diff --git a/tex/context/base/bibl-bib.lua b/tex/context/base/bibl-bib.lua
index 6ea3bc567..c86a0c0c2 100644
--- a/tex/context/base/bibl-bib.lua
+++ b/tex/context/base/bibl-bib.lua
@@ -21,6 +21,7 @@ local variables = interfaces and interfaces.variables
local settings_to_hash = utilities.parsers.settings_to_hash
local finalizers = xml.finalizers.tex
local xmlfilter, xmltext, getid = xml.filter, xml.text, lxml.getid
+local formatters = string.formatters
local P, R, S, C, Cc, Cs, Ct = lpeg.P, lpeg.R, lpeg.S, lpeg.C, lpeg.Cc, lpeg.Cs, lpeg.Ct
@@ -162,7 +163,7 @@ function bibtex.new()
}
end
-local escaped_pattern = lpegpatterns.xml.escaped
+local p_escaped = lpegpatterns.xml.escaped
local ihatethis = {
f = "\\f",
@@ -202,17 +203,16 @@ function bibtex.toxml(session,options)
local convert = options.convert -- todo: interface
local strip = options.strip -- todo: interface
local entries = session.entries
- r = r + 1 ; result[r] = format("<?xml version='1.0' standalone='yes'?>")
- r = r + 1 ; result[r] = format("<bibtex>")
+ r = r + 1 ; result[r] = "<?xml version='1.0' standalone='yes'?>"
+ r = r + 1 ; result[r] = "<bibtex>"
for id, categories in next, session.data do
id = lower(gsub(id,"^@",""))
for name, entry in next, categories do
if not entries or entries[name] then
- r = r + 1 ; result[r] = format("<entry tag='%s' category='%s'>",lower(name),id)
+ r = r + 1 ; result[r] = formatters["<entry tag='%s' category='%s'>"](lower(name),id)
for key, value in next, entry do
- value = gsub(value,"\\(.)",ihatethis)
- value = lpegmatch(escaped_pattern,value)
-
+ value = gsub(value,"\\(.)",ihatethis) -- this really needs checking
+ value = lpegmatch(p_escaped,value)
if value ~= "" then
if convert then
value = textoutf(value,true)
@@ -222,14 +222,14 @@ function bibtex.toxml(session,options)
-- kind of hackery ... bibtex databases are quite unportable
value = lpegmatch(filter,value) or value
end
- r = r + 1 ; result[r] = format(" <field name='%s'>%s</field>",key,value)
+ r = r + 1 ; result[r] = formatters[" <field name='%s'>%s</field>"](key,value)
end
end
- r = r + 1 ; result[r] = format("</entry>")
+ r = r + 1 ; result[r] = "</entry>"
end
end
end
- r = r + 1 ; result[r] = format("</bibtex>")
+ r = r + 1 ; result[r] = "</bibtex>"
result = concat(result,"\n")
-- alternatively we could use lxml.convert
session.xml = xml.convert(result, {
diff --git a/tex/context/base/buff-ini.lua b/tex/context/base/buff-ini.lua
index 8ed8c71b2..f45dd0728 100644
--- a/tex/context/base/buff-ini.lua
+++ b/tex/context/base/buff-ini.lua
@@ -23,6 +23,7 @@ local P, Cs, patterns, lpegmatch = lpeg.P, lpeg.Cs, lpeg.patterns, lpeg.match
local variables = interfaces.variables
local settings_to_array = utilities.parsers.settings_to_array
+local formatters = string.formatters
local v_yes = variables.yes
@@ -321,12 +322,12 @@ end
function commands.getbuffer(name)
local str = getcontent(name)
if str ~= "" then
- context.viafile(str,format("buffer.%s",validstring(name,"noname")))
+ context.viafile(str,formatters["buffer.%s"](validstring(name,"noname")))
end
end
function commands.getbuffermkvi(name) -- rather direct !
- context.viafile(resolvers.macros.preprocessed(getcontent(name)),format("buffer.%s.mkiv",validstring(name,"noname")))
+ context.viafile(resolvers.macros.preprocessed(getcontent(name)),formatters["buffer.%s.mkiv"](validstring(name,"noname")))
end
function commands.gettexbuffer(name)
diff --git a/tex/context/base/buff-ver.lua b/tex/context/base/buff-ver.lua
index 49e3788ac..a5dd808fd 100644
--- a/tex/context/base/buff-ver.lua
+++ b/tex/context/base/buff-ver.lua
@@ -198,7 +198,7 @@ local fallback = context.verbatim
local function makepattern(visualizer,replacement,pattern)
if not pattern then
- report_visualizers("error in visualizer: %s",replacement)
+ report_visualizers("error in visualizer %a",replacement)
return patterns.alwaystrue
else
if type(visualizer) == "table" and type(replacement) == "string" then
diff --git a/tex/context/base/chem-str.lua b/tex/context/base/chem-str.lua
index d0f0b9d29..d497007b2 100644
--- a/tex/context/base/chem-str.lua
+++ b/tex/context/base/chem-str.lua
@@ -36,6 +36,7 @@ local concat, insert, remove, unique, sorted = table.concat, table.insert, table
local processor_tostring = typesetters and typesetters.processors.tostring
local settings_to_array = utilities.parsers.settings_to_array
local settings_to_array_with_repeat = utilities.parsers.settings_to_array_with_repeat
+local formatters = string.formatters
local lpegmatch = lpeg.match
local P, R, S, C, Cs, Ct, Cc, Cmt = lpeg.P, lpeg.R, lpeg.S, lpeg.C, lpeg.Cs, lpeg.Ct, lpeg.Cc, lpeg.Cmt
@@ -214,21 +215,21 @@ local syntax = {
sixfront = { max = 6, keys = front_keys, },
chair = { max = 6, keys = front_keys, },
boat = { max = 6, keys = front_keys, },
- pb = { direct = 'chem_pb ;' },
- pe = { direct = 'chem_pe ;' },
- save = { direct = 'chem_save ;' },
- restore = { direct = 'chem_restore ;' },
- chem = { direct = 'chem_symbol("\\chemicaltext{%s}") ;', arguments = 1 },
- space = { direct = 'chem_symbol("\\chemicalsymbol[space]") ;' },
- plus = { direct = 'chem_symbol("\\chemicalsymbol[plus]") ;' },
- minus = { direct = 'chem_symbol("\\chemicalsymbol[minus]") ;' },
- gives = { direct = 'chem_symbol("\\chemicalsymbol[gives]{%s}{%s}") ;', arguments = 2 },
- equilibrium = { direct = 'chem_symbol("\\chemicalsymbol[equilibrium]{%s}{%s}") ;', arguments = 2 },
- mesomeric = { direct = 'chem_symbol("\\chemicalsymbol[mesomeric]{%s}{%s}") ;', arguments = 2 },
- opencomplex = { direct = 'chem_symbol("\\chemicalsymbol[opencomplex]") ;' },
- closecomplex = { direct = 'chem_symbol("\\chemicalsymbol[closecomplex]") ;' },
- reset = { direct = 'chem_reset ;' },
- mp = { direct = '%s', arguments = 1 }, -- backdoor MP code - dangerous!
+ pb = { direct = formatters['chem_pb;'] },
+ pe = { direct = formatters['chem_pe;'] },
+ save = { direct = formatters['chem_save;'] },
+ restore = { direct = formatters['chem_restore;'] },
+ chem = { direct = formatters['chem_symbol("\\chemicaltext{%s}");'], arguments = 1 },
+ space = { direct = formatters['chem_symbol("\\chemicalsymbol[space]");'] },
+ plus = { direct = formatters['chem_symbol("\\chemicalsymbol[plus]");'] },
+ minus = { direct = formatters['chem_symbol("\\chemicalsymbol[minus]");'] },
+ gives = { direct = formatters['chem_symbol("\\chemicalsymbol[gives]{%s}{%s}");'], arguments = 2 },
+ equilibrium = { direct = formatters['chem_symbol("\\chemicalsymbol[equilibrium]{%s}{%s}");'], arguments = 2 },
+ mesomeric = { direct = formatters['chem_symbol("\\chemicalsymbol[mesomeric]{%s}{%s}");'], arguments = 2 },
+ opencomplex = { direct = formatters['chem_symbol("\\chemicalsymbol[opencomplex]");'] },
+ closecomplex = { direct = formatters['chem_symbol("\\chemicalsymbol[closecomplex]");'] },
+ reset = { direct = formatters['chem_reset;'] },
+ mp = { direct = formatters['%s'], arguments = 1 }, -- backdoor MP code - dangerous!
}
chemistry.definitions = chemistry.definitions or { }
@@ -469,11 +470,11 @@ local function process(level,spec,text,n,rulethickness,rulecolor,offset,default_
local sa = ss.arguments
if sa == 1 then
local one ; txt, one = fetch(txt)
- m = m + 1 ; metacode[m] = format(ds,one or "")
+ m = m + 1 ; metacode[m] = ds(one or "")
elseif sa == 2 then
local one ; txt, one = fetch(txt)
local two ; txt, two = fetch(txt)
- m = m + 1 ; metacode[m] = format(ds,one or "",two or "")
+ m = m + 1 ; metacode[m] = ds(one or "",two or "")
else
m = m + 1 ; metacode[m] = ds
end
diff --git a/tex/context/base/cldf-prs.lua b/tex/context/base/cldf-prs.lua
index 42757be19..be3f190f7 100644
--- a/tex/context/base/cldf-prs.lua
+++ b/tex/context/base/cldf-prs.lua
@@ -25,18 +25,21 @@ local superscript = P("^")
local utf8char = patterns.utf8char
local cardinal = patterns.cardinal
--- local content = Cs(csname + nested + sign^-1 * (csname + cardinal + utf8char))
--- local lowfirst = subscript * ( Cc("\\lohi{%s}{%s}") * content * superscript + Cc("\\low{%s}" ) ) * content / format
--- local highfirst = superscript * ( Cc("\\hilo{%s}{%s}") * content * subscript + Cc("\\high{%s}") ) * content / format
--- local scripts = Cs(lowfirst + highfirst)
+-- local scripts = P { "start",
+-- start = V("csname") + V("lowfirst") + V("highfirst"),
+-- csname = csname,
+-- content = Cs(V("csname") + nested + sign^-1 * (cardinal + utf8char)),
+-- lowfirst = subscript * ( Cc("\\lohi{%s}{%s}") * V("content") * superscript + Cc("\\low{%s}" ) ) * V("content") / format,
+-- highfirst = superscript * ( Cc("\\hilo{%s}{%s}") * V("content") * subscript + Cc("\\high{%s}") ) * V("content") / format,
+-- }
local scripts = P { "start",
- start = V("csname") + V("lowfirst") + V("highfirst"),
- csname = csname,
- content = Cs(V("csname") + nested + sign^-1 * (cardinal + utf8char)),
- lowfirst = subscript * ( Cc("\\lohi{%s}{%s}") * V("content") * superscript + Cc("\\low{%s}" ) ) * V("content") / format,
- highfirst = superscript * ( Cc("\\hilo{%s}{%s}") * V("content") * subscript + Cc("\\high{%s}") ) * V("content") / format,
- }
+ start = V("csname") + V("lowfirst") + V("highfirst"),
+ csname = csname,
+ content = Cs(V("csname") + nested + sign^-1 * (cardinal + utf8char)),
+ lowfirst = (subscript /"") * ( Cc("\\lohi{") * V("content") * Cc("}{") * (superscript/"") + Cc("\\low{" ) ) * V("content") * Cc("}"),
+ highfirst = (superscript/"") * ( Cc("\\hilo{") * V("content") * Cc("}{") * (subscript /"") + Cc("\\high{") ) * V("content") * Cc("}"),
+ }
local scripted = Cs((csname + scripts + utf8char)^0)
@@ -47,6 +50,6 @@ cpatterns.nested = nested
-- inspect(scripted)
--- print(lpegmatch(scripted,"10^-3"))
--- print(lpegmatch(scripted,"10^-a"))
+print(lpegmatch(scripted,"10^-3_x"))
+print(lpegmatch(scripted,"10^-a"))
diff --git a/tex/context/base/colo-ini.lua b/tex/context/base/colo-ini.lua
index c94058b11..148733932 100644
--- a/tex/context/base/colo-ini.lua
+++ b/tex/context/base/colo-ini.lua
@@ -426,7 +426,7 @@ function colors.definemultitonecolor(name,multispec,colorspec,selfspec)
max = max + 1
dd[max] = k
pp[max] = v
- nn[max] = format("%s_%1.3g",k,tonumber(v) or 0) -- 0 can't happen
+ nn[max] = formatters["%s_%1.3g"](k,tonumber(v) or 0) -- 0 can't happen
end
if max > 0 then
nn = concat(nn,'_')
diff --git a/tex/context/base/cont-new.mkii b/tex/context/base/cont-new.mkii
index 5d1b5468a..80abb9ff6 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{2013.03.15 11:59}
+\newcontextversion{2013.03.15 19:22}
%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 3e1e00c34..26eb00a9e 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{2013.03.15 11:59}
+\newcontextversion{2013.03.15 19:22}
%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 e2b4165ed..d34e7e92a 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 80fe04690..828e90b95 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 ef51cfefe..fab2ab6fd 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{2013.03.15 11:59}
+\edef\contextversion{2013.03.15 19:22}
%D For those who want to use this:
diff --git a/tex/context/base/context.mkiv b/tex/context/base/context.mkiv
index 2f59b4831..30a89aa46 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{2013.03.15 11:59}
+\edef\contextversion{2013.03.15 19:22}
%D For those who want to use this:
diff --git a/tex/context/base/core-con.lua b/tex/context/base/core-con.lua
index 11558102e..06102188c 100644
--- a/tex/context/base/core-con.lua
+++ b/tex/context/base/core-con.lua
@@ -17,15 +17,15 @@ slower but look nicer this way.</p>
local command, context = commands, context
local floor, date, time, concat = math.floor, os.date, os.time, table.concat
-local lower, format, rep, match = string.lower, string.format, string.rep, string.match
+local lower, rep, match = string.lower, string.rep, string.match
local utfchar, utfbyte = utf.char, utf.byte
local tonumber, tostring = tonumber, tostring
-local settings_to_array = utilities.parsers.settings_to_array
-local allocate = utilities.storage.allocate
-
local context = context
+local settings_to_array = utilities.parsers.settings_to_array
+local allocate = utilities.storage.allocate
+local formatters = string.formatters
local variables = interfaces.variables
converters = converters or { }
@@ -164,7 +164,7 @@ local function maxchrs(n,m,cmd,t)
maxchrs(floor((n-1)/m),m,cmd)
n = (n-1)%m + 1
end
- t[#t+1] = format("%s{%s}",cmd,n)
+ t[#t+1] = formatters["%s{%s}"](cmd,n)
if n <= m then
return concat(t)
end
@@ -1097,7 +1097,7 @@ function commands.currentdate(str,currentlanguage) -- second argument false : no
if currentlanguage == false then
-- ignore
else
- context("%s",converters.ordinal(whatordinal,currentlanguage))
+ context(converters.ordinal(whatordinal,currentlanguage)) -- no "%s" needed
end
end
end
diff --git a/tex/context/base/core-sys.lua b/tex/context/base/core-sys.lua
index a790be19e..1741bbe0a 100644
--- a/tex/context/base/core-sys.lua
+++ b/tex/context/base/core-sys.lua
@@ -43,7 +43,7 @@ local report_files = logs.reporter("system","files")
-- end)
-- --
-- statistics.register("job file properties", function()
--- return format("jobname: %s, input: %s, suffix: %s",jobfilename,inputfilename,inputfilesuffix)
+-- return format("jobname %a, input %a, suffix %a",jobfilename,inputfilename,inputfilesuffix)
-- end)
-- --
-- end
diff --git a/tex/context/base/file-job.lua b/tex/context/base/file-job.lua
index 9e5912bc7..ea4623d77 100644
--- a/tex/context/base/file-job.lua
+++ b/tex/context/base/file-job.lua
@@ -9,10 +9,11 @@ if not modules then modules = { } end modules ['file-job'] = {
-- in retrospect dealing it's not that bad to deal with the nesting
-- and push/poppign at the tex end
-local format, gsub, match, find = string.format, string.gsub, string.match, string.find
+local gsub, match, find = string.gsub, string.match, string.find
local insert, remove, concat = table.insert, table.remove, table.concat
local validstring = string.valid
local sortedhash = table.sortedhash
+local formatters = string.formatters
local commands, resolvers, context = commands, resolvers, context
@@ -97,9 +98,9 @@ end
function commands.usezipfile(name,tree)
if tree and tree ~= "" then
- resolvers.usezipfile(format("zip:///%s?tree=%s",name,tree))
+ resolvers.usezipfile(formatters["zip:///%s?tree=%s"](name,tree))
else
- resolvers.usezipfile(format("zip:///%s",name))
+ resolvers.usezipfile(formatters["zip:///%s"](name))
end
end
@@ -676,7 +677,7 @@ local function convertexamodes(str)
local data = xml.text(e)
local mode = match(label,"^mode:(.+)$")
if mode then
- context.enablemode { format("%s:%s",mode,data) }
+ context.enablemode { formatters["%s:%s"](mode,data) }
end
context.setvariable("exa:variables",label,(gsub(data,"([{}])","\\%1")))
end
diff --git a/tex/context/base/font-ctx.lua b/tex/context/base/font-ctx.lua
index 0c99268a4..2e5b9b6cd 100644
--- a/tex/context/base/font-ctx.lua
+++ b/tex/context/base/font-ctx.lua
@@ -147,7 +147,7 @@ end
commands.resetnullfont = definers.resetnullfont
-setmetatableindex(fontdata, function(t,k) return nulldata end)
+setmetatableindex(fontdata, function(t,k) return k == true and t[currentfont()] or nulldata end)
-- we might make an font-hsh.lua
@@ -315,7 +315,6 @@ local function checkedscript(tfmdata,resources,features)
script = latn and "latn" or "dflt"
end
if trace_automode then
--- report_defining("auto script mode, using script %a in font %a",script,file.basename(tfmdata.properties.name))
report_defining("auto script mode, using script %a in font %!font:name!",script,tfmdata)
end
features.script = script
@@ -341,8 +340,6 @@ local function checkedmode(tfmdata,resources,features)
if found then
-- more than one lookup
if trace_automode then
--- report_defining("forcing mode %a, font %a, feature %a, script %a, language %a, %s",
--- "node",file.basename(tfmdata.properties.name),feature,script,language,"multiple lookups")
report_defining("forcing mode %a, font %!font:name!, feature %a, script %a, language %a, %s",
"node",tfmdata,feature,script,language,"multiple lookups")
end
@@ -350,8 +347,6 @@ local function checkedmode(tfmdata,resources,features)
return "node"
elseif needsnodemode[sequence.type] then
if trace_automode then
--- report_defining("forcing mode %a, font %a, feature %a, script %a, language %a, %s",
--- "node",file.basename(tfmdata.properties.name),feature,script,language,"no base support")
report_defining("forcing mode %a, font %!font:name!, feature %a, script %a, language %a, %s",
"node",tfmdata,feature,script,language,"no base support")
end
@@ -377,7 +372,6 @@ definers.checkedmode = checkedmode
local function modechecker(tfmdata,features,mode) -- we cannot adapt features as they are shared!
if trace_features then
--- report_features("fontname %a, features % a",file.basename(tfmdata.properties.name),features)
report_features("fontname %!font:name!, features %!font:features!",tfmdata,features)
end
local rawdata = tfmdata.shared.rawdata
@@ -391,7 +385,6 @@ local function modechecker(tfmdata,features,mode) -- we cannot adapt features as
mode = checkedmode(tfmdata,resources,features)
end
else
--- report_features("missing resources for font %a",file.basename(tfmdata.properties.name))
report_features("missing resources for font %!font:name!",tfmdata)
end
return mode
@@ -709,11 +702,10 @@ local function registercontext(fontnumber,extraname,option)
end
end
-local function registercontextfeature(fontnumber,extraname,how)
+local function registercontextfeature(mergedname,extraname,how)
local extra = setups[extraname]
if extra then
- local mergedfeatures, mergedname = { }, nil
- mergedname = fontnumber .. how .. extraname
+ local mergedfeatures = { }
for k, v in next, extra do
mergedfeatures[k] = v
end
@@ -1700,25 +1692,33 @@ local cache = { }
function commands.feature(how,parent,name,font)
if not how then
+ if trace_features and texattribute[0] ~= 0 then
+ report_cummulative("font %!font:name!, reset",fontdata[font or true])
+ end
texattribute[0] = 0
+ elseif how == true then
+ local hash = "feature > " .. parent
+ local done = cache[hash]
+ if trace_features and done then
+ report_cummulative("font %!font:name!, revive %a : %!font:features!",fontdata[font or true],parent,setups[numbers[done]])
+ end
+ texattribute[0] = done or 0
else
- local font = font or currentfont()
local full = parent .. how .. name
- local hash = font .. how .. full -- what, hm
+ local hash = "feature > " .. full
local done = cache[hash]
- if done then
- else
+ if not done then
local n = setups[full]
if n then
-- already defined
else
- n = mergecontextfeatures(parent,name,how,full) -- registers parent .. "+" .. name
+ n = mergecontextfeatures(parent,name,how,full)
end
- done = registercontextfeature(font,full,how)
+ done = registercontextfeature(hash,full,how)
cache[hash] = done
if trace_features then
- report_cummulative("font %!font:name!, number %a, set %a : %!font:features!",
- fontdata[font],done,full,setups[numbers[done]])
+ report_cummulative("font %!font:name!, %s %a : %!font:features!",
+ fontdata[font or true],how == "+" and "add" or how == "-" and "subtract" or "replace",full,setups[numbers[done]])
end
end
texattribute[0] = done
diff --git a/tex/context/base/font-fea.mkvi b/tex/context/base/font-fea.mkvi
index f3d915c1b..d23e15ccc 100644
--- a/tex/context/base/font-fea.mkvi
+++ b/tex/context/base/font-fea.mkvi
@@ -179,6 +179,7 @@
\unexpanded\def\addfeature {\doifnextoptionalelse\font_feature_add_yes \font_feature_add_nop }
\unexpanded\def\subtractfeature{\doifnextoptionalelse\font_feature_subtract_yes\font_feature_subtract_nop}
\unexpanded\def\replacefeature {\doifnextoptionalelse\font_feature_replace_yes \font_feature_replace_nop }
+\unexpanded\def\feature {\doifnextoptionalelse\font_feature_yes \font_feature_nop }
\unexpanded\def\font_feature_add_yes [#1]{\edef\m_font_feature_asked{#1}\font_feature_add}
\unexpanded\def\font_feature_add_nop #1{\edef\m_font_feature_asked{#1}\font_feature_add}
@@ -249,7 +250,49 @@
\let\m_font_feature_list \s!current
\ctxcommand{feature(false)}}
-\let\feature\addfeature
+\unexpanded\def\revivefeature
+ {\ifx\currentfeature\s!current \else
+ \font_feature_revive_indeed
+ \fi}
+
+\def\font_feature_revive_indeed
+ {\ctxcommand{feature(true,"\m_font_feature_list")}}
+
+\installcorenamespace{featureyes}
+\installcorenamespace{featurenop}
+
+\unexpanded\def\font_feature_yes[#1]{\csname\??featureyes\ifcsname\??featureyes#1\endcsname#1\else\s!unknown\fi\endcsname}
+\unexpanded\def\font_feature_nop #1{\csname\??featurenop\ifcsname\??featurenop#1\endcsname#1\else\s!unknown\fi\endcsname}
+
+\letvalue{\??featureyes+}\addfeature
+\letvalue{\??featurenop+}\addfeature
+
+\letvalue{\??featureyes\v!more}\addfeature
+\letvalue{\??featurenop\v!more}\addfeature
+
+\letvalue{\??featureyes-}\subtractfeature
+\letvalue{\??featurenop-}\subtractfeature
+
+\letvalue{\??featureyes\v!less}\subtractfeature
+\letvalue{\??featurenop\v!less}\subtractfeature
+
+\letvalue{\??featureyes=}\replacefeature
+\letvalue{\??featurenop=}\replacefeature
+
+\letvalue{\??featureyes\v!new}\replacefeature
+\letvalue{\??featurenop\v!new}\replacefeature
+
+\letvalue{\??featureyes\v!reset}\resetfeature
+\letvalue{\??featurenop\v!reset}\resetfeature
+
+\letvalue{\??featureyes\v!default}\revivefeature
+\letvalue{\??featurenop\v!default}\revivefeature
+
+\letvalue{\??featureyes\v!old}\revivefeature
+\letvalue{\??featurenop\v!old}\revivefeature
+
+\letvalue{\??featureyes\s!unknown}\empty
+\letvalue{\??featurenop\s!unknown}\empty
%D \macros
%D {os}
diff --git a/tex/context/base/font-otb.lua b/tex/context/base/font-otb.lua
index 0ae46c6f0..6abe7c6f4 100644
--- a/tex/context/base/font-otb.lua
+++ b/tex/context/base/font-otb.lua
@@ -189,7 +189,7 @@ local function finalize_ligatures(tfmdata,ligatures)
if ligature then
local unicode, lookupdata = ligature[1], ligature[2]
if trace then
- trace_ligatures_detail("building %q into %q",concat(lookupdata," "),unicode)
+ trace_ligatures_detail("building % a into %a",lookupdata,unicode)
end
local size = #lookupdata
local firstcode = lookupdata[1] -- [2]
@@ -202,7 +202,7 @@ local function finalize_ligatures(tfmdata,ligatures)
if not firstdata then
firstcode = private
if trace then
- trace_ligatures_detail("defining %q as %q",firstname,firstcode)
+ trace_ligatures_detail("defining %a as %a",firstname,firstcode)
end
unicodes[firstname] = firstcode
firstdata = { intermediate = true, ligatures = { } }
@@ -226,7 +226,7 @@ local function finalize_ligatures(tfmdata,ligatures)
end
end
if trace then
- trace_ligatures_detail("codes (%s,%s) + (%s,%s) -> %s",firstname,firstcode,secondname,secondcode,target)
+ trace_ligatures_detail("codes (%a,%a) + (%a,%a) -> %a",firstname,firstcode,secondname,secondcode,target)
end
local firstligs = firstdata.ligatures
if firstligs then
diff --git a/tex/context/base/font-otf.lua b/tex/context/base/font-otf.lua
index 8270f3410..b8abd590a 100644
--- a/tex/context/base/font-otf.lua
+++ b/tex/context/base/font-otf.lua
@@ -535,7 +535,7 @@ actions["add dimensions"] = function(data,filename)
if not wd then
d.width = defaultwidth
elseif trace_markwidth and wd ~= 0 and d.class == "mark" then
- report_otf("mark %a with width %b found in %s",d.name or "<noname>",wd,basename)
+ report_otf("mark %a with width %b found in %a",d.name or "<noname>",wd,basename)
-- d.width = -wd
end
setmetatable(d,mt)
@@ -546,7 +546,7 @@ actions["add dimensions"] = function(data,filename)
if not wd then
d.width = defaultwidth
elseif trace_markwidth and wd ~= 0 and d.class == "mark" then
- report_otf("mark %a with width %b found in %s",d.name or "<noname>",wd,basename)
+ report_otf("mark %a with width %b found in %a",d.name or "<noname>",wd,basename)
-- d.width = -wd
end
-- if forcenotdef and not d.name then
diff --git a/tex/context/base/font-otn.lua b/tex/context/base/font-otn.lua
index 4a0052904..72216f9db 100644
--- a/tex/context/base/font-otn.lua
+++ b/tex/context/base/font-otn.lua
@@ -533,12 +533,12 @@ function handlers.gsub_alternate(head,start,kind,lookupname,alternative,sequence
local choice = get_alternative_glyph(start,alternative,value)
if choice then
if trace_alternatives then
- logprocess("%s: replacing %s by alternative %s (%s)",pref(kind,lookupname),gref(start.char),gref(choice),choice)
+ logprocess("%s: replacing %s by alternative %a to %s",pref(kind,lookupname),gref(start.char),choice,gref(choice))
end
start.char = choice
else
if trace_alternatives then
- logwarning("%s: no variant %s for %s",pref(kind,lookupname),tostring(value),gref(start.char))
+ logwarning("%s: no variant %a for %s",pref(kind,lookupname),value,gref(start.char))
end
end
return head, start, true
@@ -1161,12 +1161,12 @@ function chainprocs.gsub_alternate(head,start,stop,kind,chainname,currentcontext
local choice = get_alternative_glyph(current,alternatives,value)
if choice then
if trace_alternatives then
- logprocess("%s: replacing %s by alternative %s (%s)",cref(kind,chainname,chainlookupname,lookupname),gref(char),gref(choice),choice)
+ logprocess("%s: replacing %s by alternative %a to %s",cref(kind,chainname,chainlookupname,lookupname),gref(char),choice,gref(choice))
end
start.char = choice
else
if trace_alternatives then
- logwarning("%s: no variant %s for %s",cref(kind,chainname,chainlookupname,lookupname),tostring(value),gref(char))
+ logwarning("%s: no variant %a for %s",cref(kind,chainname,chainlookupname,lookupname),value,gref(char))
end
end
elseif trace_bugs then
@@ -1628,9 +1628,9 @@ end
local function show_skip(kind,chainname,char,ck,class)
if ck[9] then
- logwarning("%s: skipping char %s (%s) in rule %s, lookuptype %s (%s=>%s)",cref(kind,chainname),gref(char),class,ck[1],ck[2],ck[9],ck[10])
+ logwarning("%s: skipping char %s, class %a, rule %a, lookuptype %a, %a => %a",cref(kind,chainname),gref(char),class,ck[1],ck[2],ck[9],ck[10])
else
- logwarning("%s: skipping char %s (%s) in rule %s, lookuptype %s",cref(kind,chainname),gref(char),class,ck[1],ck[2])
+ logwarning("%s: skipping char %s, class %a, rule %a, lookuptype %a",cref(kind,chainname),gref(char),class,ck[1],ck[2])
end
end
@@ -1843,10 +1843,10 @@ local function normal_handle_contextchain(head,start,kind,chainname,contexts,seq
local rule, lookuptype, f, l = ck[1], ck[2], ck[4], ck[5]
local char = start.char
if ck[9] then
- logwarning("%s: rule %s matches at char %s for (%s,%s,%s) chars, lookuptype %s (%s=>%s)",
+ logwarning("%s: rule %s matches at char %s for (%s,%s,%s) chars, lookuptype %a, %a => %a",
cref(kind,chainname),rule,gref(char),f-1,l-f+1,s-l,lookuptype,ck[9],ck[10])
else
- logwarning("%s: rule %s matches at char %s for (%s,%s,%s) chars, lookuptype %s",
+ logwarning("%s: rule %s matches at char %s for (%s,%s,%s) chars, lookuptype %a",
cref(kind,chainname),rule,gref(char),f-1,l-f+1,s-l,lookuptype)
end
end
@@ -1945,7 +1945,7 @@ function otf.setcontextchain(method)
end
handlers.contextchain = normal_handle_contextchain
else
- logwarning("installing contextchain handler '%s'",method)
+ logwarning("installing contextchain handler %a",method)
local handler = otf.chainhandlers[method]
handlers.contextchain = function(...)
return handler(currentfont,...) -- hm, get rid of ...
@@ -1976,7 +1976,7 @@ local function report_missing_cache(typ,lookup)
local t = f[typ] if not t then t = { } f[typ] = t end
if not t[lookup] then
t[lookup] = true
- logwarning("missing cache for lookup %s of type %s in font %s (%s)",lookup,typ,currentfont,tfmdata.properties.fullname)
+ logwarning("missing cache for lookup %a, type %a, font %a, name %a",lookup,typ,currentfont,tfmdata.properties.fullname)
end
end
diff --git a/tex/context/base/java-ini.lua b/tex/context/base/java-ini.lua
index e9328737a..321e4e24d 100644
--- a/tex/context/base/java-ini.lua
+++ b/tex/context/base/java-ini.lua
@@ -13,6 +13,7 @@ local lpegmatch, P, S, C, Carg, Cc = lpeg.match, lpeg.P, lpeg.S, lpeg.C, lpeg.Ca
local allocate = utilities.storage.allocate
local settings_to_array = utilities.parsers.settings_to_array
local variables = interfaces.variables
+local formatters = string.formatters
-- todo: don't flush scripts if no JS key
@@ -164,11 +165,11 @@ function javascripts.code(name,arguments)
if arguments then
local args = lpegmatch(splitter,arguments)
for i=1,#args do -- can be a helper
- args[i] = format("%q",args[i])
+ args[i] = formatters["%q"](args[i])
end
- return format("%s(%s)",name,concat(args,","))
+ return formatters["%s(%s)"](name,concat(args,","))
else
- return format("%s()",name)
+ return formatters["%s()"](name)
end
end
end
diff --git a/tex/context/base/l-lua.lua b/tex/context/base/l-lua.lua
index 401808772..39f15cd65 100644
--- a/tex/context/base/l-lua.lua
+++ b/tex/context/base/l-lua.lua
@@ -260,7 +260,7 @@ end
local function loadedbylua(name)
if helpers.trace then
- helpers.report("! locating %q using normal loader",name)
+ helpers.report("! locating '%s' using normal loader",name)
end
return searchers[-2](name)
end
@@ -269,17 +269,17 @@ local function loadedbypath(name,rawname,paths,islib,what)
local trace = helpers.trace
local report = helpers.report
if trace then
- report("! locating %q as %q on %q paths",rawname,name,what)
+ report("! locating '%s' as '%s' on '%s' paths",rawname,name,what)
end
for p=1,#paths do
local path = paths[p]
local resolved = filejoin(path,name)
if trace then -- mode detail
- report("! checking for %q using %q path %q",name,what,path)
+ report("! checking for '%s' using '%s' path '%s'",name,what,path)
end
if isreadable(resolved) then
if trace then
- report("! lib %q located on %q",name,resolved)
+ report("! lib '%s' located on '%s'",name,resolved)
end
if islib then
return loadedaslib(resolved,rawname)
@@ -292,7 +292,7 @@ end
local function notloaded(name)
if helpers.trace then
- helpers.report("? unable to locate library %q",name)
+ helpers.report("? unable to locate library '%s'",name)
end
end
diff --git a/tex/context/base/l-string.lua b/tex/context/base/l-string.lua
index b6e3576f0..77c076cc5 100644
--- a/tex/context/base/l-string.lua
+++ b/tex/context/base/l-string.lua
@@ -156,7 +156,7 @@ function string.escapedpattern(str,simple)
end
function string.topattern(str,lowercase,strict)
- if str == "" then
+ if str=="" or type(str) ~= "string" then
return ".*"
elseif strict then
str = lpegmatch(pattern_c,str)
diff --git a/tex/context/base/lang-ini.lua b/tex/context/base/lang-ini.lua
index 4dcfd2f36..771a502e4 100644
--- a/tex/context/base/lang-ini.lua
+++ b/tex/context/base/lang-ini.lua
@@ -311,10 +311,10 @@ function languages.logger.report()
for tag, l in sortedpairs(registered) do
if l.loaded then
r = r + 1
- result[r] = format("%s:%s:%s", tag, l.parent, l.number)
+ result[r] = format("%s:%s:%s",tag,l.parent,l.number)
end
end
- return (r > 0 and concat(result," ")) or "none"
+ return r > 0 and concat(result," ") or "none"
end
-- must happen at the tex end
diff --git a/tex/context/base/lang-lab.lua b/tex/context/base/lang-lab.lua
index aba068296..311c84e35 100644
--- a/tex/context/base/lang-lab.lua
+++ b/tex/context/base/lang-lab.lua
@@ -6,70 +6,16 @@ if not modules then modules = { } end modules ['lang-lab'] = {
license = "see context related readme files"
}
---~ local function complete()
---~ local function process(what)
---~ for tag, data in next, what do
---~ for k, v in next, data.labels do
---~ languages[k] = true
---~ end
---~ end
---~ end
---~ process(languages.labels.data.titles)
---~ process(languages.labels.data.texts)
---~ process(languages.labels.data.functions)
---~ process(languages.labels.data.tags)
---~ local function process(what)
---~ for tag, data in next, what do
---~ local labels = data.labels
---~ for k, v in next, languages do
---~ if not labels[k] then
---~ labels[k] = ""
---~ end
---~ end
---~ end
---~ end
---~ process(languages.data.labels.titles)
---~ process(languages.data.labels.texts)
---~ process(languages.data.labels.functions)
---~ process(languages.data.labels.tags)
---~ end
---~
---~ local function strip(default)
---~ local function process(what)
---~ for tag, data in next, what do
---~ local labels = data.labels
---~ for k, v in next, labels do
---~ if v == "" then
---~ labels[k] = default
---~ end
---~ end
---~ end
---~ end
---~ process(languages.data.labels.titles)
---~ process(languages.data.labels.texts)
---~ process(languages.data.labels.functions)
---~ process(languages.data.labels.tags)
---~ end
---~
---~ complete()
---~ strip(false)
---~ strip()
-
---~ table.print(languages.data.labels,"languages.data.labels",false,true,true)
-
--- this will move
-
local format, find = string.format, string.find
local next, rawget, type = next, rawget, type
local lpegmatch = lpeg.match
+local formatters = string.formatters
local prtcatcodes = catcodes.numbers.prtcatcodes -- todo: use different method
local trace_labels = false trackers.register("languages.labels", function(v) trace_labels = v end)
local report_labels = logs.reporter("languages","labels")
--- trace_labels = true
-
languages.labels = languages.labels or { }
local labels = languages.labels
@@ -116,17 +62,17 @@ function labels.define(class,name,prefixed)
if second then
if rawget(variables,first) then
if rawget(variables,second) then
- definelanguagelabels(data,class,format("\\v!%s:\\v!%s",first,second),tag)
+ definelanguagelabels(data,class,formatters["\\v!%s:\\v!%s"](first,second),tag)
else
- definelanguagelabels(data,class,format("\\v!%s:%s",first,second),tag)
+ definelanguagelabels(data,class,formatters["\\v!%s:%s"](first,second),tag)
end
- elseif rawget(variables,second) then
- definelanguagelabels(data,class,format("%s:\\v!%s",first,second),tag)
+ elseif rawget(variables,second) then
+ definelanguagelabels(data,class,formatters["%s:\\v!%s"](first,second),tag)
else
- definelanguagelabels(data,class,format("%s:%s",first,second),tag)
+ definelanguagelabels(data,class,formatters["%s:%s"](first,second),tag)
end
elseif rawget(variables,rawtag) then
- definelanguagelabels(data,class,format("\\v!%s",tag),tag)
+ definelanguagelabels(data,class,formatters["\\v!%s"](tag),tag)
else
definelanguagelabels(data,class,tag,tag)
end
diff --git a/tex/context/base/lpdf-ano.lua b/tex/context/base/lpdf-ano.lua
index 96bb85c5f..e722446ee 100644
--- a/tex/context/base/lpdf-ano.lua
+++ b/tex/context/base/lpdf-ano.lua
@@ -14,6 +14,7 @@ local next, tostring = next, tostring
local rep, format = string.rep, string.format
local texcount = tex.count
local lpegmatch = lpeg.match
+local formatters = string.formatters
local backends, lpdf = backends, lpdf
@@ -251,6 +252,9 @@ end
local hashed, nofunique, nofused = { }, 0, 0
+local f_annot = formatters["<< /Type /Annot %s /Rect [%0.3f %0.3f %0.3f %0.3f] >>"]
+local f_bpnf = formatters["_bpnf_(%s,%s,%s,'%s')"]
+
local function use_shared_annotations()
local factor = number.dimenfactors.bp
@@ -259,7 +263,7 @@ local function use_shared_annotations()
local h, v = pdf.h, pdf.v
local llx, lly = h*factor, (v - depth)*factor
local urx, ury = (h + width)*factor, (v + height)*factor
- local annot = format("<< /Type /Annot %s /Rect [%0.3f %0.3f %0.3f %0.3f] >>",prerolled,llx,lly,urx,ury)
+ local annot = f_annot(prerolled,llx,lly,urx,ury)
local n = hashed[annot]
if not n then
n = pdfdelayedobject(annot)
@@ -277,7 +281,7 @@ local function use_shared_annotations()
if trace_references then
report_reference("width %p, height %p, depth %p, prerolled %a",width,height,depth,prerolled)
end
- local luacode = format("_bpnf_(%s,%s,%s,'%s')",width,height,depth,prerolled)
+ local luacode = f_bpnf(width,height,depth,prerolled)
return latelua_node(luacode)
end
end
diff --git a/tex/context/base/lpdf-col.lua b/tex/context/base/lpdf-col.lua
index 0109ca602..b358d0820 100644
--- a/tex/context/base/lpdf-col.lua
+++ b/tex/context/base/lpdf-col.lua
@@ -6,10 +6,11 @@ if not modules then modules = { } end modules ['lpdf-col'] = {
license = "see context related readme files"
}
-local type, next, tostring = type, next, tostring
+local type, next, tostring, tonumber = type, next, tostring, tonumber
local char, byte, format, gsub, rep, gmatch = string.char, string.byte, string.format, string.gsub, string.rep, string.gmatch
local concat = table.concat
local round = math.round
+local formatters = string.formatters
local backends, lpdf, nodes = backends, lpdf, nodes
@@ -43,10 +44,18 @@ local forcedmodel = colors.forcedmodel
local c_transparency = pdfconstant("Transparency")
-local f_gray = formatters["%.3f g %.3f G"]
-local f_rgb = formatters["%.3f %.3f %.3f rg %.3f %.3f %.3f RG"]
-local f_cmyk = formatters["%.3f %.3f %.3f %.3f k %.3f %.3f %.3f %.3f K"]
-local f_cm = formatters["q %f %f %f %f %f %f cm"]
+local f_gray = formatters["%.3f g %.3f G"]
+local f_rgb = formatters["%.3f %.3f %.3f rg %.3f %.3f %.3f RG"]
+local f_cmyk = formatters["%.3f %.3f %.3f %.3f k %.3f %.3f %.3f %.3f K"]
+local f_spot = formatters["/%s cs /%s CS %s SCN %s scn"]
+local f_tr = formatters["Tr%s"]
+local f_cm = formatters["q %f %f %f %f %f %f cm"]
+local f_effect = formatters["%s Tc %s w %s Tr"]
+local f_tr_gs = formatters["/Tr%s gs"]
+local f_num_1 = tostring
+local f_num_2 = formatters["%s %s"]
+local f_num_3 = formatters["%s %s %s"]
+local f_num_4 = formatters["%s %s %s %s"]
local report_color = logs.reporter("colors","backend")
@@ -120,11 +129,11 @@ function nodeinjections.spotcolor(n,f,d,p)
if type(p) == "string" then
p = gsub(p,","," ") -- brr misuse of spot
end
- return register(pdfliteral(format("/%s cs /%s CS %s SCN %s scn",n,n,p,p)))
+ return register(pdfliteral(f_spot(n,n,p,p)))
end
function nodeinjections.transparency(n)
- return register(pdfliteral(format("/Tr%s gs",n)))
+ return register(pdfliteral(f_tr_gs(n)))
end
-- a bit weird but let's keep it here for a while
@@ -143,7 +152,7 @@ function nodeinjections.effect(effect,stretch,rulethickness)
-- always, no zero test (removed)
rulethickness = bp * rulethickness
effect = effects[effect] or effects['normal']
- return register(pdfliteral(format("%s Tc %s w %s Tr",stretch,rulethickness,effect))) -- watch order
+ return register(pdfliteral(f_effect(stretch,rulethickness,effect))) -- watch order
end
-- spot- and indexcolors
@@ -199,12 +208,12 @@ local function registersomespotcolor(name,noffractions,names,p,colorspace,range,
Range = range,
}
local calculations = pdfflushstreamobject(format("{ %s }",funct),dictionary)
- -- local calculations = pdfobject {
- -- type = "stream",
- -- immediate = true,
- -- string = format("{ %s }",funct),
- -- attr = dictionary(),
- -- }
+ -- local calculations = pdfobject {
+ -- type = "stream",
+ -- immediate = true,
+ -- string = format("{ %s }",funct),
+ -- attr = dictionary(),
+ -- }
local array = pdfarray {
pdf_separation,
pdfconstant(spotcolornames[name] or name),
@@ -353,7 +362,7 @@ function registrations.rgbspotcolor(name,noffractions,names,p,r,g,b)
if noffractions == 1 then
registersomespotcolor(name,noffractions,names,p,pdf_device_rgb,pdf_rbg_range,f_rgb_function(r,g,b))
else
- registersomespotcolor(name,noffractions,names,p,pdf_device_rgb,pdf_rbg_range,format("%s %s %s",r,g,b))
+ registersomespotcolor(name,noffractions,names,p,pdf_device_rgb,pdf_rbg_range,f_num_3(r,g,b))
end
delayindexcolor(name,names,function()
return registersomeindexcolor(name,noffractions,names,p,pdf_device_rgb,pdf_rgb_range,f_rgb_function(r,g,b))
@@ -364,7 +373,7 @@ function registrations.cmykspotcolor(name,noffractions,names,p,c,m,y,k)
if noffractions == 1 then
registersomespotcolor(name,noffractions,names,p,pdf_device_cmyk,pdf_cmyk_range,f_cmyk_function(c,m,y,k))
else
- registersomespotcolor(name,noffractions,names,p,pdf_device_cmyk,pdf_cmyk_range,format("%s %s %s %s",c,m,y,k))
+ registersomespotcolor(name,noffractions,names,p,pdf_device_cmyk,pdf_cmyk_range,f_num_4(c,m,y,k))
end
delayindexcolor(name,names,function()
return registersomeindexcolor(name,noffractions,names,p,pdf_device_cmyk,pdf_cmyk_range,f_cmyk_function(c,m,y,k))
@@ -375,7 +384,7 @@ function registrations.grayspotcolor(name,noffractions,names,p,s)
if noffractions == 1 then
registersomespotcolor(name,noffractions,names,p,pdf_device_gray,pdf_gray_range,f_gray_function(s))
else
- registersomespotcolor(name,noffractions,names,p,pdf_device_gray,pdf_gray_range,s)
+ registersomespotcolor(name,noffractions,names,p,pdf_device_gray,pdf_gray_range,f_num_1(s))
end
delayindexcolor(name,names,function()
return registersomeindexcolor(name,noffractions,names,p,pdf_device_gray,pdf_gray_range,f_gray_function(s))
@@ -461,7 +470,7 @@ function registrations.transparency(n,a,t)
local mr = pdfreference(m)
transparencyhash[n] = m
documenttransparencies[n] = mr
- lpdf.adddocumentextgstate(format("Tr%s",n),mr)
+ lpdf.adddocumentextgstate(f_tr(n),mr)
end
end
@@ -499,7 +508,7 @@ local function lpdfcolor(model,ca,default) -- todo: use gray when no color
if type(p) == "string" then
p = gsub(p,","," ") -- brr misuse of spot
end
- return format("/%s cs /%s CS %s SCN %s scn",n,n,p,p)
+ return f_spot(n,n,p,p)
end
else
return f_gray(default or 0,default or 0)
@@ -545,9 +554,9 @@ function lpdf.transparency(ct,default) -- kind of overlaps with transparencycode
if transparencies.supported then
local ct = transparenciesvalue(ct)
if ct then
- return format("/Tr%s gs",registertransparancy(nil,ct[1],ct[2],true))
+ return f_tr_gs(registertransparancy(nil,ct[1],ct[2],true))
else
- return "/Tr0 gs"
+ return f_tr_gs(0)
end
else
return ""
@@ -562,40 +571,19 @@ function lpdf.colorvalue(model,ca,default)
end
model = forcedmodel(model)
if model == 2 then
- return format("%s",cv[2])
+ return f_num_1(cv[2])
elseif model == 3 then
- return format("%s %s %s",cv[3],cv[4],cv[5])
+ return f_num_3(cv[3],cv[4],cv[5])
elseif model == 4 then
- return format("%s %s %s %s",cv[6],cv[7],cv[8],cv[9])
+ return f_num_4(cv[6],cv[7],cv[8],cv[9])
else
- return format("%s",cv[13])
+ return f_num_1(cv[13])
end
else
- return format("%s",default or 0)
+ return f_num_1(default or 0)
end
end
---~ function lpdf.fdfcolor(model,ca,default)
---~ local cv = colorsvalue(ca)
---~ if cv then
---~ if model == 1 then
---~ model = cv[1]
---~ end
---~ model = forcedmodel(model)
---~ if model == 2 then
---~ return format("[%s]",cv[2])
---~ elseif model == 3 then
---~ return format("[%s %s %s]",cv[3],cv[4],cv[5])
---~ elseif model == 4 then
---~ return format("[%s %s %s %s]",cv[6],cv[7],cv[8],cv[9])
---~ elseif model == 4 then
---~ return format("[%s]",cv[13])
---~ end
---~ else
---~ return format("[%s]",default or 0)
---~ end
---~ end
-
function lpdf.colorvalues(model,ca,default)
local cv = colorsvalue(ca)
if cv then
@@ -684,7 +672,7 @@ end
function lpdf.transparencycode(a,t)
if transparencies.supported then
intransparency = true
- return format("/Tr%s gs",registertransparancy(nil,a,t,true)) -- true forces resource
+ return f_tr_gs(registertransparancy(nil,a,t,true)) -- true forces resource
else
return ""
end
@@ -693,7 +681,7 @@ end
function lpdf.finishtransparencycode()
if transparencies.supported and intransparency then
intransparency = false
- return "/Tr0 gs" -- we happen to know this -)
+ return f_tr_gs(0) -- we happen to know this -)
else
return ""
end
@@ -701,6 +689,8 @@ end
-- this will move to lpdf-spe.lua
+local f_slant = formatters["pdf: q 1 0 %f 1 0 0 cm"]
+
backends.pdf.tables.vfspecials = allocate { -- todo: distinguish between glyph and rule color
red = { "special", 'pdf: 1 0 0 rg 1 0 0 RG' },
@@ -721,7 +711,7 @@ backends.pdf.tables.vfspecials = allocate { -- todo: distinguish between glyph a
palegray = { "special", 'pdf: .75 g' },
},
- startslant = function(a) return { "special", format("pdf: q 1 0 %f 1 0 0 cm",a) } end,
+ startslant = function(a) return { "special", f_slant(a) } end,
stopslant = { "special", "pdf: Q" },
}
diff --git a/tex/context/base/lpdf-epa.lua b/tex/context/base/lpdf-epa.lua
index dc7cef310..034e6d7e2 100644
--- a/tex/context/base/lpdf-epa.lua
+++ b/tex/context/base/lpdf-epa.lua
@@ -11,6 +11,7 @@ if not modules then modules = { } end modules ['lpdf-epa'] = {
local type, tonumber = type, tonumber
local format, gsub = string.format, string.gsub
+local formatters = string.formatters
----- lpegmatch, lpegpatterns = lpeg.match, lpeg.patterns
@@ -88,7 +89,7 @@ local function link_uri(x,y,w,h,document,annotation)
-- url = lpegmatch(urlescaper,url)
-- url = lpegmatch(utftohigh,url)
url = escapetex(url)
- add_link(x,y,w,h,format("url(%s)",url),"url")
+ add_link(x,y,w,h,formatters["url(%s)"](url),"url")
end
end
@@ -100,15 +101,15 @@ local function link_file(x,y,w,h,document,annotation)
filename = escapetex(filename)
local destination = a.D
if not destination then
- add_link(x,y,w,h,format("file(%s)",filename),"file")
+ add_link(x,y,w,h,formatters["file(%s)"](filename),"file")
elseif type(destination) == "string" then
- add_link(x,y,w,h,format("%s::%s",filename,destination),"file (named)")
+ add_link(x,y,w,h,formatters["%s::%s"](filename,destination),"file (named)")
else
destination = destination[1] -- array
if tonumber(destination) then
- add_link(x,y,w,h,format("%s::page(%s)",filename,destination),"file (page)")
+ add_link(x,y,w,h,formatters["%s::page(%s)"](filename,destination),"file (page)")
else
- add_link(x,y,w,h,format("file(%s)",filename),"file")
+ add_link(x,y,w,h,formatters["file(%s)"](filename),"file")
end
end
end
diff --git a/tex/context/base/luat-cbk.lua b/tex/context/base/luat-cbk.lua
index b59978f6d..f8c6926f0 100644
--- a/tex/context/base/luat-cbk.lua
+++ b/tex/context/base/luat-cbk.lua
@@ -83,11 +83,11 @@ if trace_calls then
end
local function frozen_message(what,name)
- report_callbacks("not %s frozen %a (%s)",what,name,frozen[name])
+ report_callbacks("not %s frozen %a to %a",what,name,frozen[name])
end
local function frozen_callback(name)
- return nil, format("callback '%s' is frozen (%s)",name,frozen[name]) -- no formatter yet
+ return nil, format("callback '%s' is frozen to '%s'",name,frozen[name]) -- no formatter yet
end
local function state(name)
diff --git a/tex/context/base/luat-lua.lua b/tex/context/base/luat-lua.lua
index d319508f0..972004e88 100644
--- a/tex/context/base/luat-lua.lua
+++ b/tex/context/base/luat-lua.lua
@@ -6,8 +6,6 @@ if not modules then modules = { } end modules ['luat-lua'] = {
license = "see context related readme files"
}
-local concat = table.concat
-
if lua then do
local delayed = { }
@@ -25,23 +23,23 @@ if lua then do
end
function lua.flush(...)
- context.directlua("lua.flushdelayed(%s)",concat({...},','))
+ context.directlua("lua.flushdelayed(%,t)",{...})
end
end end
---~ See mk.pdf for an explanation of the following code:
---~
---~ function test(n)
---~ lua.delay(function(...)
---~ context("pi: %s %s %s",...)
---~ context.par()
---~ end)
---~ lua.delay(function(...)
---~ context("more pi: %s %s %s",...)
---~ context.par()
---~ end)
---~ context("\\setbox0=\\hbox{%s}",math.pi*n)
---~ local box = tex.box[0]
---~ lua.flush(box.width,box.height,box.depth)
---~ end
+-- See mk.pdf for an explanation of the following code:
+--
+-- function test(n)
+-- lua.delay(function(...)
+-- context("pi: %s %s %s",...)
+-- context.par()
+-- end)
+-- lua.delay(function(...)
+-- context("more pi: %s %s %s",...)
+-- context.par()
+-- end)
+-- context("\\setbox0=\\hbox{%s}",math.pi*n)
+-- local box = tex.box[0]
+-- lua.flush(box.width,box.height,box.depth)
+-- end
diff --git a/tex/context/base/luat-sto.lua b/tex/context/base/luat-sto.lua
index c2c89004f..92ac3ad41 100644
--- a/tex/context/base/luat-sto.lua
+++ b/tex/context/base/luat-sto.lua
@@ -51,6 +51,7 @@ function storage.register(...)
return t
end
+local n = 0
local function dump()
local max = storage.max
for i=1,#data do
diff --git a/tex/context/base/lxml-ctx.lua b/tex/context/base/lxml-ctx.lua
index 3319dc638..968dbda71 100644
--- a/tex/context/base/lxml-ctx.lua
+++ b/tex/context/base/lxml-ctx.lua
@@ -23,7 +23,7 @@ function xml.ctx.enhancers.compound(root,lpath,before,tokens,after) -- todo lpeg
local after = after or "[%a%d][%a%d][%a%d]"
local pattern = "(" .. before .. ")(" .. tokens .. ")(" .. after .. ")"
local action = function(a,b,c)
- return a .. "<compound token=" .. format("%q",b) .. "/>" .. c
+ return a .. "<compound token=" .. format("%q",b) .. "/>" .. c -- formatters["%s<compound token=%q/>%s"](a,b,c)
end
xml.enhance(root,lpath,pattern,action) -- still present?
end
diff --git a/tex/context/base/lxml-dir.lua b/tex/context/base/lxml-dir.lua
index 22a7ba3bb..3c68664ae 100644
--- a/tex/context/base/lxml-dir.lua
+++ b/tex/context/base/lxml-dir.lua
@@ -6,22 +6,23 @@ if not modules then modules = { } end modules ['lxml-dir'] = {
license = "see context related readme files"
}
-local format, gsub = string.format, string.gsub
+local gsub = string.gsub
+local formatters = string.formatters
---~ <?xml version="1.0" standalone="yes"?>
---~ <!-- demo.cdx -->
---~ <directives>
---~ <!--
---~ <directive attribute='id' value="100" setup="cdx:100"/>
---~ <directive attribute='id' value="101" setup="cdx:101"/>
---~ -->
---~ <!--
---~ <directive attribute='cdx' value="colors" element="cals:table" setup="cdx:cals:table:colors"/>
---~ <directive attribute='cdx' value="vertical" element="cals:table" setup="cdx:cals:table:vertical"/>
---~ <directive attribute='cdx' value="noframe" element="cals:table" setup="cdx:cals:table:noframe"/>
---~ -->
---~ <directive attribute='cdx' value="*" element="cals:table" setup="cdx:cals:table:*"/>
---~ </directives>
+-- <?xml version="1.0" standalone="yes"?>
+-- <!-- demo.cdx -->
+-- <directives>
+-- <!--
+-- <directive attribute='id' value="100" setup="cdx:100"/>
+-- <directive attribute='id' value="101" setup="cdx:101"/>
+-- -->
+-- <!--
+-- <directive attribute='cdx' value="colors" element="cals:table" setup="cdx:cals:table:colors"/>
+-- <directive attribute='cdx' value="vertical" element="cals:table" setup="cdx:cals:table:vertical"/>
+-- <directive attribute='cdx' value="noframe" element="cals:table" setup="cdx:cals:table:noframe"/>
+-- -->
+-- <directive attribute='cdx' value="*" element="cals:table" setup="cdx:cals:table:*"/>
+-- </directives>
local lxml, context = lxml, context
@@ -51,7 +52,7 @@ local function load_setup(filename)
local attribute, value, element = at.attribute or "", at.value or "", at.element or '*'
local setup, before, after = at.setup or "", at.before or "", at.after or ""
if attribute ~= "" and value ~= "" then
- local key = format("%s::%s::%s",element,attribute,value)
+ local key = formatters["%s::%s::%s"](element,attribute,value)
local t = data[key] or { }
if setup ~= "" then t.setup = setup end
if before ~= "" then t.before = before end
@@ -79,14 +80,14 @@ local function handle_setup(category,root,attribute,element)
element = ns .. ':' .. tg
end
end
- local setup = data[format("%s::%s::%s",element,attribute,value)]
+ local setup = data[formatters["%s::%s::%s"](element,attribute,value)]
if setup then
setup = setup[category]
end
if setup then
context.directsetup(setup)
else
- setup = data[format("%s::%s::*",element,attribute)]
+ setup = data[formatters["%s::%s::*"](element,attribute)]
if setup then
setup = setup[category]
end
diff --git a/tex/context/base/m-spreadsheet.lua b/tex/context/base/m-spreadsheet.lua
index 30980684f..9d5106e35 100644
--- a/tex/context/base/m-spreadsheet.lua
+++ b/tex/context/base/m-spreadsheet.lua
@@ -10,6 +10,7 @@ local byte, format, gsub, find = string.byte, string.format, string.gsub, string
local R, P, S, C, V, Cs, Cc, Ct, Cg, Cf, Carg = lpeg.R, lpeg.P, lpeg.S, lpeg.C, lpeg.V, lpeg.Cs, lpeg.Cc, lpeg.Ct, lpeg.Cg, lpeg.Cf, lpeg.Carg
local lpegmatch, patterns = lpeg.match, lpeg.patterns
local setmetatable, loadstring, next, tostring, tonumber,rawget = setmetatable, loadstring, next, tostring, tonumber, rawget
+local formatters = string.formatters
local context = context
@@ -111,7 +112,7 @@ spreadsheets.reset()
local offset = byte("A") - 1
local function assign(s,n)
- return format("moduledata.spreadsheets.data['%s'].data[%s]",n,byte(s)-offset)
+ return formatters["moduledata.spreadsheets.data['%s'].data[%s]"](n,byte(s)-offset)
end
function datacell(a,b,...)
@@ -124,7 +125,7 @@ function datacell(a,b,...)
else
n = byte(a) - offset
end
- return format("dat[%s]",n)
+ return formatters["dat[%s]"](n)
end
local function checktemplate(s)
@@ -177,9 +178,9 @@ function functions._s_(row,col,c,f,t)
return r
end
-functions.fmt= string.tformat
+functions.fmt = string.tformat
-local template = [[
+local f_code = formatters [ [[
local _m_ = moduledata.spreadsheets
local dat = _m_.data['%s'].data
local tmp = _m_.temp
@@ -190,7 +191,7 @@ local template = [[
local sum = fnc.sum
local fmt = fnc.fmt
return %s
-]]
+]] ]
-- to be considered: a weak cache
@@ -223,7 +224,7 @@ local function execute(name,r,c,str)
else
local code = specification.code
if code and code ~= "" then
- code = format(template,name,r,c,code or "")
+ code = f_code(name,r,c,code or "")
local result = loadstring(code) -- utilities.lua.strippedloadstring(code,true) -- when tracing
result = result and result()
if type(result) == "function" then
@@ -237,7 +238,7 @@ local function execute(name,r,c,str)
elseif kind == "set" then
-- no return
elseif kind == "format" then
- return format(specification.template,result)
+ return formatters[specification.template](result)
else
return result
end
@@ -315,7 +316,7 @@ local function serialize(name)
if s then
return table.serialize(s,name)
else
- return format("<unknown spreadsheet %q>",name)
+ return formatters["<unknown spreadsheet %a>"](name)
end
end
diff --git a/tex/context/base/m-spreadsheet.mkiv b/tex/context/base/m-spreadsheet.mkiv
index ed9a92d05..a05968990 100644
--- a/tex/context/base/m-spreadsheet.mkiv
+++ b/tex/context/base/m-spreadsheet.mkiv
@@ -25,9 +25,9 @@
\appendtoks
\ctxlua{moduledata.spreadsheets.setup{ % global !
- period = "\spreadsheetparameter\c!period",
- comma = "\spreadsheetparameter\c!comma",
- split = "\spreadsheetparameter\c!split",
+ period = \!!bs\spreadsheetparameter\c!period\!!es,
+ comma = \!!bs\spreadsheetparameter\c!comma\!!es,
+ split = \!!bs\spreadsheetparameter\c!split\!!es,
}}%
\to \everysetupspreadsheet
@@ -54,7 +54,7 @@
\ctxlua{moduledata.spreadsheets.start("#1", {
period = \!!bs\detokenize\expandafter{\m_spreadsheet_period}\!!es,
comma = \!!bs\detokenize\expandafter{\m_spreadsheet_comma}\!!es,
- split = "\spreadsheetparameter\c!split",
+ split = \!!bs\spreadsheetparameter\c!split\!!es,
})}}
\unexpanded\def\stopspreadsheet
diff --git a/tex/context/base/math-ini.lua b/tex/context/base/math-ini.lua
index 314d2ed05..52a9f8628 100644
--- a/tex/context/base/math-ini.lua
+++ b/tex/context/base/math-ini.lua
@@ -11,7 +11,7 @@ if not modules then modules = { } end modules ['math-ini'] = {
--
-- isn't characters.data loaded already ... shortcut it here
-local format = string.format
+local formatters = string.formatters
local utfchar, utfbyte = utf.char, utf.byte
local setmathcode, setdelcode = tex.setmathcode, tex.setdelcode
local texattribute = tex.attribute
@@ -124,47 +124,47 @@ mathematics.families = families
-- no need for " in class and family (saves space)
local function delcode(target,family,slot)
- return format('\\Udelcode%s="%X "%X ',target,family,slot)
+ return formatters['\\Udelcode%s="%X "%X '](target,family,slot)
end
local function mathchar(class,family,slot)
- return format('\\Umathchar "%X "%X "%X ',class,family,slot)
+ return formatters['\\Umathchar "%X "%X "%X '](class,family,slot)
end
local function mathaccent(class,family,slot)
- return format('\\Umathaccent "%X "%X "%X ',0,family,slot) -- no class
+ return formatters['\\Umathaccent "%X "%X "%X '](0,family,slot) -- no class
end
local function delimiter(class,family,slot)
- return format('\\Udelimiter "%X "%X "%X ',class,family,slot)
+ return formatters['\\Udelimiter "%X "%X "%X '](class,family,slot)
end
local function radical(family,slot)
- return format('\\Uradical "%X "%X ',family,slot)
+ return formatters['\\Uradical "%X "%X '](family,slot)
end
local function mathchardef(name,class,family,slot)
- return format('\\Umathchardef\\%s "%X "%X "%X ',name,class,family,slot)
+ return formatters['\\Umathchardef\\%s "%X "%X "%X '](name,class,family,slot)
end
local function mathcode(target,class,family,slot)
- return format('\\Umathcode%s="%X "%X "%X ',target,class,family,slot)
+ return formatters['\\Umathcode%s="%X "%X "%X '](target,class,family,slot)
end
local function mathtopaccent(class,family,slot)
- return format('\\Umathaccent "%X "%X "%X ',0,family,slot) -- no class
+ return formatters['\\Umathaccent "%X "%X "%X '](0,family,slot) -- no class
end
local function mathbotaccent(class,family,slot)
- return format('\\Umathaccent bottom "%X "%X "%X ',0,family,slot) -- no class
+ return formatters['\\Umathaccent bottom "%X "%X "%X '](0,family,slot) -- no class
end
local function mathtopdelimiter(class,family,slot)
- return format('\\Udelimiterover "%X "%X ',family,slot) -- no class
+ return formatters['\\Udelimiterover "%X "%X '](family,slot) -- no class
end
local function mathbotdelimiter(class,family,slot)
- return format('\\Udelimiterunder "%X "%X ',family,slot) -- no class
+ return formatters['\\Udelimiterunder "%X "%X '](family,slot) -- no class
end
local escapes = characters.filters.utf.private.escapes
@@ -188,27 +188,27 @@ end
local setmathsymbol = function(name,class,family,slot) -- hex is nicer for tracing
if class == classes.accent then
- contextsprint(format([[\ugdef\%s{\Umathaccent 0 "%X "%X }]],name,family,slot))
+ contextsprint(formatters[ [[\ugdef\%s{\Umathaccent 0 "%X "%X }]] ](name,family,slot))
elseif class == classes.topaccent then
- contextsprint(format([[\ugdef\%s{\Umathaccent 0 "%X "%X }]],name,family,slot))
+ contextsprint(formatters[ [[\ugdef\%s{\Umathaccent 0 "%X "%X }]] ](name,family,slot))
elseif class == classes.botaccent then
- contextsprint(format([[\ugdef\%s{\Umathbotaccent 0 "%X "%X }]],name,family,slot))
+ contextsprint(formatters[ [[\ugdef\%s{\Umathbotaccent 0 "%X "%X }]] ](name,family,slot))
elseif class == classes.over then
- contextsprint(format([[\ugdef\%s{\Udelimiterover "%X "%X }]],name,family,slot))
+ contextsprint(formatters[ [[\ugdef\%s{\Udelimiterover "%X "%X }]] ](name,family,slot))
elseif class == classes.under then
- contextsprint(format([[\ugdef\%s{\Udelimiterunder "%X "%X }]],name,family,slot))
+ contextsprint(formatters[ [[\ugdef\%s{\Udelimiterunder "%X "%X }]] ](name,family,slot))
elseif class == classes.open or class == classes.close then
setdelcode(slot,{family,slot,0,0})
- contextsprint(format([[\ugdef\%s{\Udelimiter "%X "%X "%X }]],name,class,family,slot))
+ contextsprint(formatters[ [[\ugdef\%s{\Udelimiter "%X "%X "%X }]] ](name,class,family,slot))
elseif class == classes.delimiter then
setdelcode(slot,{family,slot,0,0})
- contextsprint(format([[\ugdef\%s{\Udelimiter 0 "%X "%X }]],name,family,slot))
+ contextsprint(formatters[ [[\ugdef\%s{\Udelimiter 0 "%X "%X }]] ](name,family,slot))
elseif class == classes.radical then
- contextsprint(format([[\ugdef\%s{\Uradical "%X "%X }]],name,family,slot))
+ contextsprint(formatters[ [[\ugdef\%s{\Uradical "%X "%X }]] ](name,family,slot))
else
-- beware, open/close and other specials should not end up here
- -- contextsprint(format([[\ugdef\%s{\Umathchar "%X "%X "%X }]],name,class,family,slot))
- contextsprint(format([[\Umathchardef\%s "%X "%X "%X ]],name,class,family,slot))
+ -- contextsprint(formatters[ [[\ugdef\%s{\Umathchar "%X "%X "%X }]],name,class,family,slot))
+ contextsprint(formatters[ [[\Umathchardef\%s "%X "%X "%X ]] ](name,class,family,slot))
end
end
diff --git a/tex/context/base/mult-chk.lua b/tex/context/base/mult-chk.lua
index 33995ddcc..2a2dfcd4b 100644
--- a/tex/context/base/mult-chk.lua
+++ b/tex/context/base/mult-chk.lua
@@ -23,7 +23,7 @@ interfaces.syntax = allocate {
}
function interfaces.invalidkey(category,key)
- report_interface("invalid key %a for %a in line %s",key,category,tex.inputlineno)
+ report_interface("invalid key %a for %a in line %a",key,category,tex.inputlineno)
end
function interfaces.setvalidkeys(category,list)
diff --git a/tex/context/base/mult-de.mkii b/tex/context/base/mult-de.mkii
index 6e489a6e3..893a9d358 100644
--- a/tex/context/base/mult-de.mkii
+++ b/tex/context/base/mult-de.mkii
@@ -260,6 +260,7 @@
\setinterfacevariable{leftpage}{linkerseite}
\setinterfacevariable{lefttoright}{lefttoright}
\setinterfacevariable{legend}{legende}
+\setinterfacevariable{less}{less}
\setinterfacevariable{lesshyphenation}{lesshyphenation}
\setinterfacevariable{line}{zeile}
\setinterfacevariable{linenote}{linenote}
@@ -300,6 +301,7 @@
\setinterfacevariable{monday}{montag}
\setinterfacevariable{mono}{mono}
\setinterfacevariable{month}{monat}
+\setinterfacevariable{more}{more}
\setinterfacevariable{morehyphenation}{morehyphenation}
\setinterfacevariable{name}{name}
\setinterfacevariable{narrow}{schmall}
diff --git a/tex/context/base/mult-def.lua b/tex/context/base/mult-def.lua
index 27701863e..fdb8803bf 100644
--- a/tex/context/base/mult-def.lua
+++ b/tex/context/base/mult-def.lua
@@ -11325,6 +11325,14 @@ return {
},
},
["variables"]={
+ ["more"]={
+ ["en"]="more",
+ ["nl"]="meer",
+ },
+ ["less"]={
+ ["en"]="less",
+ ["nl"]="minder",
+ },
["embed"]={
["en"]="embed",
["nl"]="sluitin",
diff --git a/tex/context/base/mult-en.mkii b/tex/context/base/mult-en.mkii
index f000fc308..c3ab2fc16 100644
--- a/tex/context/base/mult-en.mkii
+++ b/tex/context/base/mult-en.mkii
@@ -260,6 +260,7 @@
\setinterfacevariable{leftpage}{leftpage}
\setinterfacevariable{lefttoright}{lefttoright}
\setinterfacevariable{legend}{legend}
+\setinterfacevariable{less}{less}
\setinterfacevariable{lesshyphenation}{lesshyphenation}
\setinterfacevariable{line}{line}
\setinterfacevariable{linenote}{linenote}
@@ -300,6 +301,7 @@
\setinterfacevariable{monday}{monday}
\setinterfacevariable{mono}{mono}
\setinterfacevariable{month}{month}
+\setinterfacevariable{more}{more}
\setinterfacevariable{morehyphenation}{morehyphenation}
\setinterfacevariable{name}{name}
\setinterfacevariable{narrow}{narrow}
diff --git a/tex/context/base/mult-fr.mkii b/tex/context/base/mult-fr.mkii
index 53e96c2eb..1ba4f3c8c 100644
--- a/tex/context/base/mult-fr.mkii
+++ b/tex/context/base/mult-fr.mkii
@@ -260,6 +260,7 @@
\setinterfacevariable{leftpage}{pagegauche}
\setinterfacevariable{lefttoright}{lefttoright}
\setinterfacevariable{legend}{legende}
+\setinterfacevariable{less}{less}
\setinterfacevariable{lesshyphenation}{lesshyphenation}
\setinterfacevariable{line}{ligne}
\setinterfacevariable{linenote}{noteligne}
@@ -300,6 +301,7 @@
\setinterfacevariable{monday}{lundi}
\setinterfacevariable{mono}{mono}
\setinterfacevariable{month}{mois}
+\setinterfacevariable{more}{more}
\setinterfacevariable{morehyphenation}{morehyphenation}
\setinterfacevariable{name}{nom}
\setinterfacevariable{narrow}{etroit}
diff --git a/tex/context/base/mult-ini.lua b/tex/context/base/mult-ini.lua
index 59eed7d83..5571ee3b9 100644
--- a/tex/context/base/mult-ini.lua
+++ b/tex/context/base/mult-ini.lua
@@ -6,7 +6,7 @@ if not modules then modules = { } end modules ['mult-ini'] = {
license = "see context related readme files"
}
-local format, gmatch, gsub, match = string.format, string.gmatch, string.gsub, string.match
+local format, gmatch, match = string.format, string.gmatch, string.match
local lpegmatch = lpeg.match
local serialize = table.serialize
@@ -15,6 +15,7 @@ local mark = utilities.storage.mark
local prtcatcodes = catcodes.numbers.prtcatcodes
local contextsprint = context.sprint
local setmetatableindex = table.setmetatableindex
+local formatters = string.formatters
local report_interface = logs.reporter("interface","initialization")
@@ -126,9 +127,10 @@ end
-- the old method:
+local replacer = lpeg.replacer { { "--", "%%a" } }
+
local function fulltag(category,tag)
- tag = gsub(tag,"%-%-","%%s")
- return format("%s:%s",category,tag)
+ return formatters["%s:%s"](category,lpegmatch(replacer,tag))
end
function interfaces.setmessages(category,str)
@@ -136,13 +138,13 @@ function interfaces.setmessages(category,str)
if tag == "title" then
translations[tag] = translations[tag] or tag
else
- formats[fulltag(category,tag)] = gsub(message,"%-%-","%%s")
+ formats[fulltag(category,tag)] = lpegmatch(replacer,message)
end
end
end
function interfaces.setmessage(category,tag,message)
- formats[fulltag(category,tag)] = gsub(message,"%-%-","%%s")
+ formats[fulltag(category,tag)] = lpegmatch(replacer,message)
end
function interfaces.getmessage(category,tag,default)
@@ -233,7 +235,7 @@ function interfaces.setuserinterface(interface,response)
translations[given] = translation[interface] or translation.en or given
noftranslations = noftranslations + 1
end
- report_interface("definitions: %s constants, %s variables, %s elements, %s commands, %s formats, %s translations",
+ report_interface("definitions: %a constants, %a variables, %a elements, %a commands, %a formats, %a translations",
nofconstants,nofvariables,nofelements,nofcommands,nofformats,noftranslations)
end
end
@@ -300,8 +302,8 @@ function commands.showassignerror(namespace,key,value,line)
namespace = corenamespaces[tonumber(ns)] or ns
end
if instance then
- context.writestatus("setup",format("error in line %s, namespace %q, instance %q, key %q",line,namespace,instance,key))
+ context.writestatus("setup",formatters["error in line %a, namespace %a, instance %a, key %a"](line,namespace,instance,key))
else
- context.writestatus("setup",format("error in line %s, namespace %q, key %q",line,namespace,key))
+ context.writestatus("setup",formatters["error in line %a, namespace %a, key %a"](line,namespace,key))
end
end
diff --git a/tex/context/base/mult-it.mkii b/tex/context/base/mult-it.mkii
index 0cff5e809..0d1ea911d 100644
--- a/tex/context/base/mult-it.mkii
+++ b/tex/context/base/mult-it.mkii
@@ -260,6 +260,7 @@
\setinterfacevariable{leftpage}{paginasinistra}
\setinterfacevariable{lefttoright}{lefttoright}
\setinterfacevariable{legend}{legenda}
+\setinterfacevariable{less}{less}
\setinterfacevariable{lesshyphenation}{lesshyphenation}
\setinterfacevariable{line}{riga}
\setinterfacevariable{linenote}{linenote}
@@ -300,6 +301,7 @@
\setinterfacevariable{monday}{lunedi}
\setinterfacevariable{mono}{mono}
\setinterfacevariable{month}{mese}
+\setinterfacevariable{more}{more}
\setinterfacevariable{morehyphenation}{morehyphenation}
\setinterfacevariable{name}{nome}
\setinterfacevariable{narrow}{stretto}
diff --git a/tex/context/base/mult-mes.lua b/tex/context/base/mult-mes.lua
index 68a392190..aed417c92 100644
--- a/tex/context/base/mult-mes.lua
+++ b/tex/context/base/mult-mes.lua
@@ -16,67 +16,67 @@ if not modules then modules = { } end modules ['mult-mes'] = {
return {
formats = {
- ["adapted: preamble '%s', state '%s', order '%s'"] = {
- nl = "aangepast: preamble '%s', status '%s', volgorde '%s'",
+ ["adapted: preamble %a, state %a, order %a"] = {
+ nl = "aangepast: preamble %a, status %a, volgorde %a",
},
- ["already loaded: '%s'"] = {
- nl = "al geladen: '%s'",
+ ["already loaded: %a"] = {
+ nl = "al geladen: %a",
},
["check:1"] = {
- cs = "postradam '=' po '%s' na radku %s",
- de = "Fehlendes '=' nach '%s' in Zeile %s",
- en = "missing or ungrouped '=' after '%s' in line %s",
- fr = "manquant ou dégroupé '=' après '%s' à la ligne %s",
- it = "'=' mancante o non raggruppato dopo '%s' alla riga %s",
- nl = "'=' ontbreekt of zonder {} na '%s' in regel %s",
- no = "manglende '=' etter '%s' i linje %s",
- ro = "lipseste '=' dupa '%s' in linia %s",
+ cs = "postradam '=' po %a na radku %a",
+ de = "Fehlendes '=' nach %a in Zeile %a",
+ en = "missing or ungrouped '=' after %a in line %a",
+ fr = "manquant ou dégroupé '=' après %a à la ligne %a",
+ it = "'=' mancante o non raggruppato dopo %a alla riga %a",
+ nl = "'=' ontbreekt of zonder {} na %a in regel %a",
+ no = "manglende '=' etter %a i linje %a",
+ ro = "lipseste '=' dupa %a in linia %a",
},
["check:2"] = {
- cs = "ocekavam %s argument(y) na radku %s",
- de = "%s Argument(e) in Zeile %s erwartet",
- en = "%s argument(s) expected in line %s",
- fr = "%s argument(s) attendu(s) à la ligne %s",
- it = "%s argomento/i attesi alla riga %s",
- nl = "%s argument(en) verwacht in regel %s",
- no = "%s argument forventet i linje %s",
- ro = "argumentul(ele) %s sunt asteptate in linia %s",
+ cs = "ocekavam %a argument(y) na radku %a",
+ de = "%a Argument(e) in Zeile %a erwartet",
+ en = "%a argument(s) expected in line %a",
+ fr = "%a argument(s) attendu(s) à la ligne %a",
+ it = "%a argomento/i attesi alla riga %a",
+ nl = "%a argument(en) verwacht in regel %a",
+ no = "%a argument forventet i linje %a",
+ ro = "argumentul(ele) %a sunt asteptate in linia %a",
},
["check:3"] = {
- cs = "%s %s nahrazuje makro, uzijte VERZALKY!",
- de = "%s %s ersetzt ein Makro, verwende VERSALIEN!",
- en = "%s %s replaces a macro, use CAPITALS!",
- fr = "%s %s remplace une macro, utilisez des MAJUSCULES !",
- it = "%s %s sostituisce una macro, usare le MAIUSCOLE!",
- nl = "%s %s vervangt een macro, gebruik HOOFDLETTERS!",
- no = "%s %s overskygger en makro, bruk STORE BOKSTAVER!",
- ro = "%s %s inlocuieste un macro, folositi MAJUSCULE!",
+ cs = "%a %a nahrazuje makro, uzijte VERZALKY!",
+ de = "%a %a ersetzt ein Makro, verwende VERSALIEN!",
+ en = "%a %a replaces a macro, use CAPITALS!",
+ fr = "%a %a remplace une macro, utilisez des MAJUSCULES !",
+ it = "%a %a sostituisce una macro, usare le MAIUSCOLE!",
+ nl = "%a %a vervangt een macro, gebruik HOOFDLETTERS!",
+ no = "%a %a overskygger en makro, bruk STORE BOKSTAVER!",
+ ro = "%a %a inlocuieste un macro, folositi MAJUSCULE!",
},
- ["checking file: '%s'"] = {
- nl = "controleren file: '%s'",
+ ["checking file: %a"] = {
+ nl = "controleren file: %a",
},
- ["checking url: '%s'"] = {
- nl = "controleren url: '%s'",
+ ["checking url: %a"] = {
+ nl = "controleren url: %a",
},
["colors:1"] = {
- cs = "system %s je globalne aktivovana",
- de = "system %s ist global aktiviert",
- en = "system %s is global activated",
- fr = "le système %s est globalement activé",
- it = "sistema %s attivato globalmente",
- nl = "systeem %s is globaal actief",
- no = "system %s er aktivert globalt",
- ro = "sistem %s este activata global",
+ cs = "system %a je globalne aktivovana",
+ de = "system %a ist global aktiviert",
+ en = "system %a is global activated",
+ fr = "le système %a est globalement activé",
+ it = "sistema %a attivato globalmente",
+ nl = "systeem %a is globaal actief",
+ no = "system %a er aktivert globalt",
+ ro = "sistem %a este activata global",
},
["colors:10"] = {
- cs = "%s prostor barev je podporovan",
- de = "%s Farbraum wird unterstuetzt",
- en = "%s color space is supported",
- fr = "%s l'espace de couleur est supporté",
- it = "spazio dei colori %s supportato",
- nl = "%s kleurruimte wordt ondersteund",
- no = "%s fargerom er støttet",
- ro = "spatiul de culoare %s este suportat",
+ cs = "%a prostor barev je podporovan",
+ de = "%a Farbraum wird unterstuetzt",
+ en = "%a color space is supported",
+ fr = "%a l'espace de couleur est supporté",
+ it = "spazio dei colori %a supportato",
+ nl = "%a kleurruimte wordt ondersteund",
+ no = "%a fargerom er støttet",
+ ro = "spatiul de culoare %a este suportat",
},
["colors:11"] = {
cs = "barva je prevedena na sed",
@@ -89,104 +89,104 @@ return {
ro = "culoarea este convertita la gri",
},
["colors:12"] = {
- cs = "%s is registered",
- de = "%s is registered",
- en = "%s is registered",
- fr = "%s est enregistré",
- it = "%s is registered",
- nl = "%s is geregistreerd",
- no = "%s is registered",
- ro = "%s is registered",
+ cs = "%a is registered",
+ de = "%a is registered",
+ en = "%a is registered",
+ fr = "%a est enregistré",
+ it = "%a is registered",
+ nl = "%a is geregistreerd",
+ no = "%a is registered",
+ ro = "%a is registered",
},
["colors:2"] = {
- cs = "system %s je lokalne activovana",
- de = "system %s ist lokal aktiviert",
- en = "system %s is local activated",
- fr = "le système %s est localement activé",
- it = "sistema %s attivato localmente",
- nl = "systeem %s is lokaal actief",
- no = "system %s er aktivert lokalt",
- ro = "sistem %s este activata local",
+ cs = "system %a je lokalne activovana",
+ de = "system %a ist lokal aktiviert",
+ en = "system %a is local activated",
+ fr = "le système %a est localement activé",
+ it = "sistema %a attivato localmente",
+ nl = "systeem %a is lokaal actief",
+ no = "system %a er aktivert lokalt",
+ ro = "sistem %a este activata local",
},
["colors:3"] = {
- cs = "%s neni definovana %s",
- de = "%s ist undefiniert %s",
- en = "%s is not defined %s",
- fr = "%s n'est pas défini %s",
- it = "%s non definito %s",
- nl = "%s is niet gedefinieerd %s",
- no = "%s er udefinert %s",
- ro = "%s nu este definita %s",
+ cs = "%a neni definovana %a",
+ de = "%a ist undefiniert %a",
+ en = "%a is not defined %a",
+ fr = "%a n'est pas défini %a",
+ it = "%a non definito %a",
+ nl = "%a is niet gedefinieerd %a",
+ no = "%a er udefinert %a",
+ ro = "%a nu este definita %a",
},
["colors:4"] = {
- cs = "system %s je nacten",
- de = "system %s ist geladen",
- en = "system %s is loaded",
- fr = "le système %s est chargé",
- it = "sistema %s caricato",
- nl = "systeem %s wordt geladen",
- no = "system %s er lest inn",
- ro = "sistem %s este incarcata",
+ cs = "system %a je nacten",
+ de = "system %a ist geladen",
+ en = "system %a is loaded",
+ fr = "le système %a est chargé",
+ it = "sistema %a caricato",
+ nl = "systeem %a wordt geladen",
+ no = "system %a er lest inn",
+ ro = "sistem %a este incarcata",
},
["colors:5"] = {
- cs = "neznamy system %s",
- de = "unbekanntes System %s",
- en = "unknown system %s",
- fr = "système %s inconnu",
- it = "sistema %s sconosciuto",
- nl = "onbekend systeem %s",
- no = "ukjent system %s",
- ro = "sistem %s necunoscuta",
+ cs = "neznamy system %a",
+ de = "unbekanntes System %a",
+ en = "unknown system %a",
+ fr = "système %a inconnu",
+ it = "sistema %a sconosciuto",
+ nl = "onbekend systeem %a",
+ no = "ukjent system %a",
+ ro = "sistem %a necunoscuta",
},
["colors:6"] = {
- cs = "palette %s je k dispozici",
- de = "palette %s ist verfuegbar",
- en = "palette %s is available",
- fr = "la palette %s est disponible",
- it = "tavolozza %s resa disponibile",
- nl = "palet %s is beschikbaar",
- no = "palett %s er tilgjengelig",
- ro = "paleta %s este disponibila",
+ cs = "palette %a je k dispozici",
+ de = "palette %a ist verfuegbar",
+ en = "palette %a is available",
+ fr = "la palette %a est disponible",
+ it = "tavolozza %a resa disponibile",
+ nl = "palet %a is beschikbaar",
+ no = "palett %a er tilgjengelig",
+ ro = "paleta %a este disponibila",
},
["colors:7"] = {
- cs = "palette %s neni k dispozici",
- de = "palette %s ist nicht verfuegbar",
- en = "palette %s is not available",
- fr = "le palette %s n'est pas disponible",
- it = "tavolozza %s non disponibile",
- nl = "palet %s is niet beschikbaar",
- no = "palett %s er ikke tilgjengelig",
- ro = "palette %s nu este disponibila",
+ cs = "palette %a neni k dispozici",
+ de = "palette %a ist nicht verfuegbar",
+ en = "palette %a is not available",
+ fr = "le palette %a n'est pas disponible",
+ it = "tavolozza %a non disponibile",
+ nl = "palet %a is niet beschikbaar",
+ no = "palett %a er ikke tilgjengelig",
+ ro = "palette %a nu este disponibila",
},
["colors:8"] = {
- cs = "specifikace %s v barve %s bude cerna",
- de = "Spezifikation %s bei Farbe %s wird schwarz",
- en = "specification %s at color %s becomes black",
- fr = "la spécification %s de la couleur %s devient noire",
- it = "specifica %s del colore %s convertita in nero",
- nl = "specificatie %s bij %s wordt zwart",
- no = "spesifikasjon %s for farge %s gir kun svart",
- ro = "specificatia %s la culoarea %s devine neagra",
+ cs = "specifikace %a v barve %a bude cerna",
+ de = "Spezifikation %a bei Farbe %a wird schwarz",
+ en = "specification %a at color %a becomes black",
+ fr = "la spécification %a de la couleur %a devient noire",
+ it = "specifica %a del colore %a convertita in nero",
+ nl = "specificatie %a bij %a wordt zwart",
+ no = "spesifikasjon %a for farge %a gir kun svart",
+ ro = "specificatia %a la culoarea %a devine neagra",
},
["colors:9"] = {
- cs = "%s prostor barev neni podporovan",
- de = "%s Farbraum wird nicht unterstuetzt",
- en = "%s color space is not supported",
- fr = "l'espace de couleur %s n'est pas supporté",
- it = "spazio dei colori %s non supportato",
- nl = "%s kleurruimte wordt niet ondersteund",
- no = "%s fargerom er ikke støttet",
- ro = "spatiul de culoare %s nu este suportat",
+ cs = "%a prostor barev neni podporovan",
+ de = "%a Farbraum wird nicht unterstuetzt",
+ en = "%a color space is not supported",
+ fr = "l'espace de couleur %a n'est pas supporté",
+ it = "spazio dei colori %a non supportato",
+ nl = "%a kleurruimte wordt niet ondersteund",
+ no = "%a fargerom er ikke støttet",
+ ro = "spatiul de culoare %a nu este suportat",
},
["columns:1"] = {
- cs = "je mozno pouze %s sloupcu",
- de = "nur %s Spalten moeglich",
- en = "only %s columns possible",
- fr = "seules %s colonnes possibles",
- it = "solo %s colonne possibili",
- nl = "maximaal %s kolommen",
- no = "maksimalt %s kolonner",
- ro = "este posibil numai %s coloane",
+ cs = "je mozno pouze %a sloupcu",
+ de = "nur %a Spalten moeglich",
+ en = "only %a columns possible",
+ fr = "seules %a colonnes possibles",
+ it = "solo %a colonne possibili",
+ nl = "maximaal %a kolommen",
+ no = "maksimalt %a kolonner",
+ ro = "este posibil numai %a coloane",
},
["columns:10"] = {
cs = "zbyl (mene nez) 1 radek",
@@ -209,14 +209,14 @@ return {
ro = "blocul este prea lat pentru coloana",
},
["columns:12"] = {
- cs = "plovouci objekt je presunut do nasledujiciho sloupce / %s",
- de = "Gleitobjekt in naechste Zeile verschoben / %s",
- en = "float moved to next column / %s",
- fr = "flottant déplacé à la colonne suivante / %s",
- it = "oggetto mobile spostata alla colonna successiva / %s",
- nl = "plaatsblok verplaatst naar volgende kolom / %s",
- no = "flytblokk forskjøvet til neste kolonne / %s",
- ro = "blocul este mutat pe urmatoarea coloana / %s",
+ cs = "plovouci objekt je presunut do nasledujiciho sloupce / %a",
+ de = "Gleitobjekt in naechste Zeile verschoben / %a",
+ en = "float moved to next column / %a",
+ fr = "flottant déplacé à la colonne suivante / %a",
+ it = "oggetto mobile spostata alla colonna successiva / %a",
+ nl = "plaatsblok verplaatst naar volgende kolom / %a",
+ no = "flytblokk forskjøvet til neste kolonne / %a",
+ ro = "blocul este mutat pe urmatoarea coloana / %a",
},
["columns:13"] = {
cs = "siroky plovouci objekt je presunut nad sloupce",
@@ -269,14 +269,14 @@ return {
ro = "cadrele bottom (bottom float) nu sunt inca suportate",
},
["columns:6"] = {
- cs = "%s plovouci objekt(y) odlozeny",
- de = "%s Gleitobjekt(e) verschoben",
- en = "%s float(s) postponed",
- fr = "%s flottant(s) reporté(s)",
- it = "%s float(s) posticipate",
- nl = "%s plaatsblok(en) opgeschort",
- no = "%s flytblokk forskjøvet",
- ro = "%s blocurile sunt amanate",
+ cs = "%a plovouci objekt(y) odlozeny",
+ de = "%a Gleitobjekt(e) verschoben",
+ en = "%a float(s) postponed",
+ fr = "%a flottant(s) reporté(s)",
+ it = "%a float(s) posticipate",
+ nl = "%a plaatsblok(en) opgeschort",
+ no = "%a flytblokk forskjøvet",
+ ro = "%a blocurile sunt amanate",
},
["columns:7"] = {
cs = "vyvazovani ukonceno po 100 krocich",
@@ -289,14 +289,14 @@ return {
ro = "alinierea este oprita dupa 100 de incercari",
},
["columns:8"] = {
- cs = "vyvazeno v %s krocich",
- de = "ausgeglichen nach %s Schritt(en)",
- en = "balanced in %s step(s)",
- fr = "équilibré en %s pas",
- it = "bilanciamento in %s passo/i",
- nl = "gebalanceerd in %s stap(pen)",
- no = "balansert etter %s iterasjoner",
- ro = "aliniat in %s pas(i)",
+ cs = "vyvazeno v %a krocich",
+ de = "ausgeglichen nach %a Schritt(en)",
+ en = "balanced in %a step(s)",
+ fr = "équilibré en %a pas",
+ it = "bilanciamento in %a passo/i",
+ nl = "gebalanceerd in %a stap(pen)",
+ no = "balansert etter %a iterasjoner",
+ ro = "aliniat in %a pas(i)",
},
["columns:9"] = {
cs = "kontrola nerovnost",
@@ -309,156 +309,156 @@ return {
ro = "verificat alinierea",
},
["databases:1"] = {
- cs = "%s",
- de = "%s",
- en = "%s",
- fr = "%s",
- it = "%s",
- nl = "%s",
- no = "%s",
- ro = "%s",
+ cs = "%a",
+ de = "%a",
+ en = "%a",
+ fr = "%a",
+ it = "%a",
+ nl = "%a",
+ no = "%a",
+ ro = "%a",
},
["databases:2"] = {
- cs = "local file %s",
- de = "lokale Datei %s",
- en = "local file %s",
- fr = "fichier local %s",
- it = "file locale %s",
- nl = "lokaal bestand %s",
- no = "lokal fil %s",
- ro = "fisier local %s",
+ cs = "local file %a",
+ de = "lokale Datei %a",
+ en = "local file %a",
+ fr = "fichier local %a",
+ it = "file locale %a",
+ nl = "lokaal bestand %a",
+ no = "lokal fil %a",
+ ro = "fisier local %a",
},
["databases:3"] = {
- cs = "global file %s",
- de = "globale Datei %s",
- en = "global file %s",
- fr = "fichier global %s",
- it = "file globale %s",
- nl = "globaal bestand %s",
- no = "global fil %s",
- ro = "fisier global %s",
+ cs = "global file %a",
+ de = "globale Datei %a",
+ en = "global file %a",
+ fr = "fichier global %a",
+ it = "file globale %a",
+ nl = "globaal bestand %a",
+ no = "global fil %a",
+ ro = "fisier global %a",
},
["databases:4"] = {
- cs = "unknown file %s",
- de = "unbekannte Datei %s",
- en = "unknown file %s",
- fr = "fichier inconnu %s",
- it = "file sconosciuto %s",
- nl = "onbekend bestand %s",
- no = "ukjent fil %s",
- ro = "fisier necunoscut %s",
- },
- ["extended: preamble '%s', state '%s', order '%s'"] = {
- nl = "uitgebreid: preamble '%s', status '%s', volgorde '%s'",
+ cs = "unknown file %a",
+ de = "unbekannte Datei %a",
+ en = "unknown file %a",
+ fr = "fichier inconnu %a",
+ it = "file sconosciuto %a",
+ nl = "onbekend bestand %a",
+ no = "ukjent fil %a",
+ ro = "fisier necunoscut %a",
+ },
+ ["extended: preamble %a, state %a, order %a"] = {
+ nl = "uitgebreid: preamble %a, status %a, volgorde %a",
},
["figures:1"] = {
- cs = "obraz %s nelze nalezt",
- de = "Abbildung %s kann nicht gefunden werden",
- en = "figure %s can not be found",
- fr = "la figure %s ne peut être trouvée",
- it = "figura %s non trovata",
- nl = "figuur %s is niet te vinden",
- ro = "figura %s nu poate fi gasita",
+ cs = "obraz %a nelze nalezt",
+ de = "Abbildung %a kann nicht gefunden werden",
+ en = "figure %a can not be found",
+ fr = "la figure %a ne peut être trouvée",
+ it = "figura %a non trovata",
+ nl = "figuur %a is niet te vinden",
+ ro = "figura %a nu poate fi gasita",
},
["figures:2"] = {
- cs = "obraz %s nepritomen",
- de = "Abbildung %s wird nicht erstellt",
- en = "figure %s is not preset",
- fr = "la figure %s n'est pas pré-sélectionnée",
- it = "la figura %s non è preimpostata",
- nl = "figuur %s wordt niet preset",
- ro = "figura %s nu este presetata",
+ cs = "obraz %a nepritomen",
+ de = "Abbildung %a wird nicht erstellt",
+ en = "figure %a is not preset",
+ fr = "la figure %a n'est pas pré-sélectionnée",
+ it = "la figura %a non è preimpostata",
+ nl = "figuur %a wordt niet preset",
+ ro = "figura %a nu este presetata",
},
["figures:3"] = {
- cs = "dimensions of %s are determined externally",
- de = "dimensions of %s are determined externally",
- en = "dimensions of %s are determined externally",
- fr = "dimensions of %s are determined externally",
- it = "dimensions of %s are determined externally",
- nl = "maten van %s worden extern vastgesteld",
- ro = "dimensions of %s are determined externally",
+ cs = "dimensions of %a are determined externally",
+ de = "dimensions of %a are determined externally",
+ en = "dimensions of %a are determined externally",
+ fr = "dimensions of %a are determined externally",
+ it = "dimensions of %a are determined externally",
+ nl = "maten van %a worden extern vastgesteld",
+ ro = "dimensions of %a are determined externally",
},
["figures:4"] = {
- cs = "dimenze obrazu %s nacteny primo z jeho souboru",
- de = "Dimensionen von %s geladen aus der Abbildungsdatei selbst",
- en = "dimensions of %s loaded from figurefile itself",
- fr = "les dimensions de %s chargées implicitement à partir du fichier de figure",
- it = "dimensioni di %s caricate dal file di immagini stesso",
- nl = "maten van %s geladen uit figuurfile zelf",
- ro = "dimensiunea figurii %s se incarca din fisierul insusi",
+ cs = "dimenze obrazu %a nacteny primo z jeho souboru",
+ de = "Dimensionen von %a geladen aus der Abbildungsdatei selbst",
+ en = "dimensions of %a loaded from figurefile itself",
+ fr = "les dimensions de %a chargées implicitement à partir du fichier de figure",
+ it = "dimensioni di %a caricate dal file di immagini stesso",
+ nl = "maten van %a geladen uit figuurfile zelf",
+ ro = "dimensiunea figurii %a se incarca din fisierul insusi",
},
["figures:5"] = {
- cs = "dimensions of %s are unknown",
- de = "Dimensions of %s are unknown",
- en = "dimensions of %s are unknown",
- fr = "dimensions of %s are unknown",
- it = "dimensions of %s are unknown",
- nl = "maten van %s zijn onbekend",
- ro = "dimensions of %s are unknown",
+ cs = "dimensions of %a are unknown",
+ de = "Dimensions of %a are unknown",
+ en = "dimensions of %a are unknown",
+ fr = "dimensions of %a are unknown",
+ it = "dimensions of %a are unknown",
+ nl = "maten van %a zijn onbekend",
+ ro = "dimensions of %a are unknown",
},
["figures:6"] = {
- cs = "dimenze obrazu %s spocteny programem rlxtools",
- de = "Dimensionen von %s ausgerechnet durch rlxtools",
- en = "dimensions of %s calculated by rlxtools",
- fr = "les dimensions de %s calculées par rlxtools",
- it = "dimensioni di %s calcolate da rlxtools",
- nl = "maten van %s berekend door rlxtools",
- ro = "dimensiunea figurii %s este calculata de rlxtools",
+ cs = "dimenze obrazu %a spocteny programem rlxtools",
+ de = "Dimensionen von %a ausgerechnet durch rlxtools",
+ en = "dimensions of %a calculated by rlxtools",
+ fr = "les dimensions de %a calculées par rlxtools",
+ it = "dimensioni di %a calcolate da rlxtools",
+ nl = "maten van %a berekend door rlxtools",
+ ro = "dimensiunea figurii %a este calculata de rlxtools",
},
["figures:8"] = {
- cs = "obrazovy objekt %s je znovu pouzit",
- de = "Abbildungobjekt %s wurde wiederverwandt",
- en = "figureobject %s is reused",
- fr = "figureobject %s est réutilisé",
- it = "oggetto-figura %s riutilizzato",
- nl = "figuurobject %s wordt opnieuw gebruikt",
- ro = "obiectul figura %s este refolosit",
+ cs = "obrazovy objekt %a je znovu pouzit",
+ de = "Abbildungobjekt %a wurde wiederverwandt",
+ en = "figureobject %a is reused",
+ fr = "figureobject %a est réutilisé",
+ it = "oggetto-figura %a riutilizzato",
+ nl = "figuurobject %a wordt opnieuw gebruikt",
+ ro = "obiectul figura %a este refolosit",
},
["files:1"] = {
- cs = "synonymum souboru %s je jiz pouzito pro %s",
- de = "Dateisynonym %s wird bereits fuer %s benutzt",
- en = "file synonym %s is already used for %s",
- fr = "le synonyme de fichier %s est déjà utilisé pour %s",
- it = "sinonimo file %s già in uso per %s",
- nl = "file synoniem %s is al in gebruik voor %s",
- no = "filesynonym %s er allerede brukt for %s",
- ro = "sinonimul fisierelor %s este folosit deja pentru %s",
+ cs = "synonymum souboru %a je jiz pouzito pro %a",
+ de = "Dateisynonym %a wird bereits fuer %a benutzt",
+ en = "file synonym %a is already used for %a",
+ fr = "le synonyme de fichier %a est déjà utilisé pour %a",
+ it = "sinonimo file %a già in uso per %a",
+ nl = "file synoniem %a is al in gebruik voor %a",
+ no = "filesynonym %a er allerede brukt for %a",
+ ro = "sinonimul fisierelor %a este folosit deja pentru %a",
},
["filters:1"] = {
- cs = "filter %s is loaded",
- de = "filter %s ist geladen",
- en = "filter %s is loaded",
- fr = "le filtre %s est chargé",
- it = "filtro %s caricato",
- nl = "filter %s wordt geladen",
+ cs = "filter %a is loaded",
+ de = "filter %a ist geladen",
+ en = "filter %a is loaded",
+ fr = "le filtre %a est chargé",
+ it = "filtro %a caricato",
+ nl = "filter %a wordt geladen",
},
["filters:2"] = {
- cs = "unknown filter %s",
- de = "unknown filter %s",
- en = "unknown filter %s",
- fr = "filtre %s inconnu",
- it = "filtro sconosciuto %s",
- nl = "onbekend filter %s",
+ cs = "unknown filter %a",
+ de = "unknown filter %a",
+ en = "unknown filter %a",
+ fr = "filtre %a inconnu",
+ it = "filtro sconosciuto %a",
+ nl = "onbekend filter %a",
},
["floatblocks:1"] = {
- cs = "%s precislovano / %s => %s",
- de = "%s neu nummeriert / %s => %s",
- en = "%s renumbered / %s => %s",
- fr = "%s renuméroté / %s => %s",
- it = "%s rinumerato / %s => %s",
- nl = "%s hernummerd / %s => %s",
- no = "%s renummerert / %s => %s",
- ro = "%s renumerotat / %s => %s",
+ cs = "%a precislovano / %a => %a",
+ de = "%a neu nummeriert / %a => %a",
+ en = "%a renumbered / %a => %a",
+ fr = "%a renuméroté / %a => %a",
+ it = "%a rinumerato / %a => %a",
+ nl = "%a hernummerd / %a => %a",
+ no = "%a renummerert / %a => %a",
+ ro = "%a renumerotat / %a => %a",
},
["floatblocks:10"] = {
- cs = "%s omezeno",
- de = "%s begrenzt",
- en = "%s limited",
- fr = "%s limité",
- it = "%s limitato",
- nl = "%s begrensd",
- no = "%s begrenset",
- ro = "%s limitat",
+ cs = "%a omezeno",
+ de = "%a begrenzt",
+ en = "%a limited",
+ fr = "%a limité",
+ it = "%a limitato",
+ nl = "%a begrensd",
+ no = "%a begrenset",
+ ro = "%a limitat",
},
["floatblocks:11"] = {
cs = "nedan zadny blok",
@@ -491,34 +491,34 @@ return {
ro = "there is nothing to split",
},
["floatblocks:2"] = {
- cs = "%s ulozeno",
- de = "%s gespeichert",
- en = "%s saved",
- fr = "%s sauvegardé",
- it = "%s salvato",
- nl = "%s bewaard",
- no = "%s lagret",
- ro = "%s salvat",
+ cs = "%a ulozeno",
+ de = "%a gespeichert",
+ en = "%a saved",
+ fr = "%a sauvegardé",
+ it = "%a salvato",
+ nl = "%a bewaard",
+ no = "%a lagret",
+ ro = "%a salvat",
},
["floatblocks:3"] = {
- cs = "%s presunuto",
- de = "%s verschoben",
- en = "%s moved",
- fr = "%s déplacé",
- it = "%s mosso",
- nl = "%s verplaatst",
- no = "%s flyttet",
- ro = "%s mutat",
+ cs = "%a presunuto",
+ de = "%a verschoben",
+ en = "%a moved",
+ fr = "%a déplacé",
+ it = "%a mosso",
+ nl = "%a verplaatst",
+ no = "%a flyttet",
+ ro = "%a mutat",
},
["floatblocks:4"] = {
- cs = "%s umisteno",
- de = "%s plaziert",
- en = "%s placed",
- fr = "%s placé",
- it = "%s sistemato",
- nl = "%s geplaatst",
- no = "%s plassert",
- ro = "%s plasat",
+ cs = "%a umisteno",
+ de = "%a plaziert",
+ en = "%a placed",
+ fr = "%a placé",
+ it = "%a sistemato",
+ nl = "%a geplaatst",
+ no = "%a plassert",
+ ro = "%a plasat",
},
["floatblocks:5"] = {
cs = "poradi prizpusobeno",
@@ -531,34 +531,34 @@ return {
ro = "ordinea adaptata",
},
["floatblocks:6"] = {
- cs = "pocet hornich plovoucich objektu je omezen na %s",
- de = "Anz. der oberen Gleitobjekte beschraengt auf %s",
- en = "n of top floats limited to %s",
- fr = "n flottants de haut de page limité à %s",
- it = "n di top floats limitato a %s",
- nl = "maximaal %s boven",
- no = "maksimalt %s flytblokker øverst",
- ro = "nr. cadrelor de sus limitat la %s",
+ cs = "pocet hornich plovoucich objektu je omezen na %a",
+ de = "Anz. der oberen Gleitobjekte beschraengt auf %a",
+ en = "n of top floats limited to %a",
+ fr = "n flottants de haut de page limité à %a",
+ it = "n di top floats limitato a %a",
+ nl = "maximaal %a boven",
+ no = "maksimalt %a flytblokker øverst",
+ ro = "nr. cadrelor de sus limitat la %a",
},
["floatblocks:7"] = {
- cs = "pocet spodnich plovoucich objektu je omezen na %s",
- de = "Anz. der unteren Gleitobjekte beschraengt auf %s",
- en = "n of bottom floats limited to %s",
- fr = "n flottants de bas de page limité à %s",
- it = "n di bottom floats limitato a %s",
- nl = "maximaal %s onder",
- no = "maksimalt %s flytblokker nederst",
- ro = "nr. blocurilor de jos limitat la %s",
+ cs = "pocet spodnich plovoucich objektu je omezen na %a",
+ de = "Anz. der unteren Gleitobjekte beschraengt auf %a",
+ en = "n of bottom floats limited to %a",
+ fr = "n flottants de bas de page limité à %a",
+ it = "n di bottom floats limitato a %a",
+ nl = "maximaal %a onder",
+ no = "maksimalt %a flytblokker nederst",
+ ro = "nr. blocurilor de jos limitat la %a",
},
["floatblocks:8"] = {
- cs = "radku je mene nez %s",
- de = "weniger als %s zeilen",
- en = "less than %s lines",
- fr = "moins de %s lignes",
- it = "meno di %s righe",
- nl = "minder dan %s regels",
- no = "mindre enn %s linjer",
- ro = "mai putin de %s linii",
+ cs = "radku je mene nez %a",
+ de = "weniger als %a zeilen",
+ en = "less than %a lines",
+ fr = "moins de %a lignes",
+ it = "meno di %a righe",
+ nl = "minder dan %a regels",
+ no = "mindre enn %a linjer",
+ ro = "mai putin de %a linii",
},
["floatblocks:9"] = {
cs = "poradi naruseno",
@@ -570,118 +570,118 @@ return {
no = "rekkefølge endret",
ro = "ordinea deranjata",
},
- ["flushed: preamble '%s'"] = {
- nl = "weggeschreven: preamble '%s'",
+ ["flushed: preamble %a"] = {
+ nl = "weggeschreven: preamble %a",
},
["fonts:1"] = {
- cs = "kodovani %s",
- de = "Kodierung %s",
- en = "coding %s",
- fr = "encodage %s",
- it = "codifica %s",
- nl = "codering %s",
- no = "koding %s",
- ro = "codificarea %s",
+ cs = "kodovani %a",
+ de = "Kodierung %a",
+ en = "coding %a",
+ fr = "encodage %a",
+ it = "codifica %a",
+ nl = "codering %a",
+ no = "koding %a",
+ ro = "codificarea %a",
},
["fonts:10"] = {
- cs = "neznamy font %s",
- de = "unbekanntes Font %s",
- en = "unknown font file %s",
- fr = "fichier de police %s inconnu",
- it = "file di font sconosciuto %s",
- nl = "onbekende font file %s",
- no = "ukjent fontfil %s",
- ro = "fisier font necunoscut %s",
+ cs = "neznamy font %a",
+ de = "unbekanntes Font %a",
+ en = "unknown font file %a",
+ fr = "fichier de police %a inconnu",
+ it = "file di font sconosciuto %a",
+ nl = "onbekende font file %a",
+ no = "ukjent fontfil %a",
+ ro = "fisier font necunoscut %a",
},
["fonts:14"] = {
- cs = "bodyfont %s is defined (can better be done global)",
- de = "Fliesstext %s wurde definiert (besser waere globale Definition)",
- en = "bodyfont %s is defined (can better be done global)",
- fr = "policecorps %s est défini (une définition globale pourrait être plus adéquat)",
- it = "corpo del testo %s definito (sarebbe meglio globale)",
- nl = "korps %s is gedefinieerd (kan beter globaal plaatsvinden)",
- no = "bodyfont %s is defined (can better be done global)",
- ro = "bodyfont %s is defined (can better be done global)",
+ cs = "bodyfont %a is defined (can better be done global)",
+ de = "Fliesstext %a wurde definiert (besser waere globale Definition)",
+ en = "bodyfont %a is defined (can better be done global)",
+ fr = "policecorps %a est défini (une définition globale pourrait être plus adéquat)",
+ it = "corpo del testo %a definito (sarebbe meglio globale)",
+ nl = "korps %a is gedefinieerd (kan beter globaal plaatsvinden)",
+ no = "bodyfont %a is defined (can better be done global)",
+ ro = "bodyfont %a is defined (can better be done global)",
},
["fonts:2"] = {
- cs = "varianta %s je nactena",
- de = "Variante %s ist geladen",
- en = "variant %s is loaded",
- fr = "la variante %s est chargée",
- it = "variante %s caricata",
- nl = "variant %s wordt geladen",
- no = "variant %s er lest inn",
- ro = "varianta %s este incarcata",
+ cs = "varianta %a je nactena",
+ de = "Variante %a ist geladen",
+ en = "variant %a is loaded",
+ fr = "la variante %a est chargée",
+ it = "variante %a caricata",
+ nl = "variant %a wordt geladen",
+ no = "variant %a er lest inn",
+ ro = "varianta %a este incarcata",
},
["fonts:3"] = {
- cs = "neznama varianta %s",
- de = "Unbekannte Variante %s",
- en = "unknown variant %s",
- fr = "variante %s inconnue",
- it = "variante sconosciuta %s",
- nl = "onbekende variant %s",
- no = "ukjent variant %s",
- ro = "varianta necunoscuta %s",
+ cs = "neznama varianta %a",
+ de = "Unbekannte Variante %a",
+ en = "unknown variant %a",
+ fr = "variante %a inconnue",
+ it = "variante sconosciuta %a",
+ nl = "onbekende variant %a",
+ no = "ukjent variant %a",
+ ro = "varianta necunoscuta %a",
},
["fonts:4"] = {
- cs = "zakladni font %s neni definovan",
- de = "Fliesstext %s ist nicht definiert",
- en = "bodyfont %s is not defined",
- fr = "policecorps %s n'est pas définie",
- it = "corpo del testo %s non definito",
- nl = "korps %s is niet gedefinieerd",
- no = "hovedfont %s er ikke definert",
- ro = "corpul de litere %s nu este definit",
+ cs = "zakladni font %a neni definovan",
+ de = "Fliesstext %a ist nicht definiert",
+ en = "bodyfont %a is not defined",
+ fr = "policecorps %a n'est pas définie",
+ it = "corpo del testo %a non definito",
+ nl = "korps %a is niet gedefinieerd",
+ no = "hovedfont %a er ikke definert",
+ ro = "corpul de litere %a nu este definit",
},
["fonts:5"] = {
- cs = "styl %s neni definovan",
- de = "Stil %s ist nicht definiert",
- en = "style %s is not defined",
- fr = "le style %s n'est pas défini",
- it = "stile %s non definito",
- nl = "stijl %s is niet gedefinieerd",
- no = "stil %s er ikke definert",
- ro = "stilul %s nu este definit",
+ cs = "styl %a neni definovan",
+ de = "Stil %a ist nicht definiert",
+ en = "style %a is not defined",
+ fr = "le style %a n'est pas défini",
+ it = "stile %a non definito",
+ nl = "stijl %a is niet gedefinieerd",
+ no = "stil %a er ikke definert",
+ ro = "stilul %a nu este definit",
},
["fonts:6"] = {
- cs = "%s je nacten",
- de = "%s ist geladen",
- en = "%s is loaded",
- fr = "%s est chargé",
- it = "%s caricato",
- nl = "%s wordt geladen",
- no = "%s er lest inn",
- ro = "%s este incarcat",
+ cs = "%a je nacten",
+ de = "%a ist geladen",
+ en = "%a is loaded",
+ fr = "%a est chargé",
+ it = "%a caricato",
+ nl = "%a wordt geladen",
+ no = "%a er lest inn",
+ ro = "%a este incarcat",
},
["fonts:7"] = {
- cs = "neznamy format %s",
- de = "unbekanntes Format %s",
- en = "unknown format %s",
- fr = "format %s inconnu",
- it = "formato sconosciuto %s",
- nl = "onbekend formaat %s",
- no = "ukjent format %s",
- ro = "format necunoscut %s",
+ cs = "neznamy format %a",
+ de = "unbekanntes Format %a",
+ en = "unknown format %a",
+ fr = "format %a inconnu",
+ it = "formato sconosciuto %a",
+ nl = "onbekend formaat %a",
+ no = "ukjent format %a",
+ ro = "format necunoscut %a",
},
["fonts:8"] = {
- cs = "styl %s definovan",
- de = "Stil %s definiert",
- en = "style %s defined",
- fr = "style %s défini",
- it = "stile %s definito",
- nl = "stijl %s gedefinieerd",
- no = "stil %s definert",
- ro = "stilul %s definit",
+ cs = "styl %a definovan",
+ de = "Stil %a definiert",
+ en = "style %a defined",
+ fr = "style %a défini",
+ it = "stile %a definito",
+ nl = "stijl %a gedefinieerd",
+ no = "stil %a definert",
+ ro = "stilul %a definit",
},
["interactions:1"] = {
- cs = "pomer %s x %s (s x v)",
- de = "Seitenverhaeltnis %s x %s (B x H)",
- en = "aspect ratio %s x %s (b x h)",
- fr = "ratio d'aspect %s x %s (b x h)",
- it = "rapporto %s x %s (b x a)",
- nl = "aspect ratio %s x %s (b x h)",
- no = "forholdstall %s x %s (b x h)",
- ro = "aspectul %s x %s (b x h)",
+ cs = "pomer %a x %a (s x v)",
+ de = "Seitenverhaeltnis %a x %a (B x H)",
+ en = "aspect ratio %a x %a (b x h)",
+ fr = "ratio d'aspect %a x %a (b x h)",
+ it = "rapporto %a x %a (b x a)",
+ nl = "aspect ratio %a x %a (b x h)",
+ no = "forholdstall %a x %a (b x h)",
+ ro = "aspectul %a x %a (b x h)",
},
["interactions:2"] = {
cs = "aktivni",
@@ -694,14 +694,14 @@ return {
ro = "activ",
},
["interactions:21"] = {
- cs = "%s kod vlozen",
- de = "%s Code eingefuegt",
- en = "%s code inserted",
- fr = "%s code inseré",
- it = "codice %s inserito",
- nl = "%s code tussengevoegd",
- no = "%s kode satt inn / tilføyd",
- ro = "%s cod inserat",
+ cs = "%a kod vlozen",
+ de = "%a Code eingefuegt",
+ en = "%a code inserted",
+ fr = "%a code inseré",
+ it = "codice %a inserito",
+ nl = "%a code tussengevoegd",
+ no = "%a kode satt inn / tilføyd",
+ ro = "%a cod inserat",
},
["interactions:3"] = {
cs = "neaktivni",
@@ -714,184 +714,184 @@ return {
ro = "inactiv",
},
["interactions:4"] = {
- cs = "zadna strankova synchronizace (%s) v hmode",
- de = "keine Seitensynchronisation (%s) im hmode",
- en = "no pagesynchronisation (%s) in hmode",
- fr = "pas de synchronisation de page (%s) dans le hmode",
- it = "sincronizzazione di pagina (%s) non disponibile in hmode",
- nl = "geen paginasynchronisatie (%s) in hmode",
- no = "ingen sidesynkronisering (%s) i hmode",
- ro = "nu exista sincronizare pt. pagini (%s) in hmode",
+ cs = "zadna strankova synchronizace (%a) v hmode",
+ de = "keine Seitensynchronisation (%a) im hmode",
+ en = "no pagesynchronisation (%a) in hmode",
+ fr = "pas de synchronisation de page (%a) dans le hmode",
+ it = "sincronizzazione di pagina (%a) non disponibile in hmode",
+ nl = "geen paginasynchronisatie (%a) in hmode",
+ no = "ingen sidesynkronisering (%a) i hmode",
+ ro = "nu exista sincronizare pt. pagini (%a) in hmode",
},
["interactions:5"] = {
- cs = "unknown attachment %s",
- de = "unknown attachment %s",
- en = "unknown attachment %s",
- fr = "le fichier joint %s est inconnu",
- it = "unknown attachment %s",
- nl = "onbekend attachment %s",
- no = "unknown attachment %s",
- ro = "unknown attachment %s",
+ cs = "unknown attachment %a",
+ de = "unknown attachment %a",
+ en = "unknown attachment %a",
+ fr = "le fichier joint %a est inconnu",
+ it = "unknown attachment %a",
+ nl = "onbekend attachment %a",
+ no = "unknown attachment %a",
+ ro = "unknown attachment %a",
},
["interactions:6"] = {
- cs = "attachment file %s does not exist",
- de = "attachment file %s does not exist",
- en = "attachment file %s does not exist",
- fr = "le fichier joint %s n'existe pas",
- it = "attachment file %s does not exist",
- nl = "attachment file %s bestaat niet",
- no = "attachment file %s does not exist",
- ro = "attachment file %s does not exist",
+ cs = "attachment file %a does not exist",
+ de = "attachment file %a does not exist",
+ en = "attachment file %a does not exist",
+ fr = "le fichier joint %a n'existe pas",
+ it = "attachment file %a does not exist",
+ nl = "attachment file %a bestaat niet",
+ no = "attachment file %a does not exist",
+ ro = "attachment file %a does not exist",
},
["languages:1"] = {
- cs = "vzory %s pro %s nacteny (n=%s,e=%s,m=%s)",
- de = "Trennmuster %s fuer %s geladen (n=%s,e=%s,m=%s)",
- en = "patterns %s for %s loaded (n=%s,e=%s,m=%s)",
- fr = "les motifs %s pour %s sont chargés (n=%s,e=%s,m=%s)",
- it = "schemi %s per %s caricati (n=%s,e=%s,m=%s)",
- nl = "afbreekpatronen %s voor %s geladen (n=%s,e=%s,m=%s)",
- no = "orddelingsmønster %s for %s er lest inn (n=%s,e=%s,m=%s)",
- ro = "sablonul %s pentru %s s-a incarcat (n=%s,e=%s,m=%s)",
+ cs = "vzory %a pro %a nacteny (n=%a,e=%a,m=%a)",
+ de = "Trennmuster %a fuer %a geladen (n=%a,e=%a,m=%a)",
+ en = "patterns %a for %a loaded (n=%a,e=%a,m=%a)",
+ fr = "les motifs %a pour %a sont chargés (n=%a,e=%a,m=%a)",
+ it = "schemi %a per %a caricati (n=%a,e=%a,m=%a)",
+ nl = "afbreekpatronen %a voor %a geladen (n=%a,e=%a,m=%a)",
+ no = "orddelingsmønster %a for %a er lest inn (n=%a,e=%a,m=%a)",
+ ro = "sablonul %a pentru %a s-a incarcat (n=%a,e=%a,m=%a)",
},
["languages:10"] = {
- cs = "vzory %s nacteny",
- de = "Trennmuster %s geladen",
- en = "patterns %s loaded",
- fr = "motifs %s chargés",
- it = "schemi %s caricati",
- nl = "patronen %sgeladen",
- no = "orddelingsmønster %s er lest inn",
- ro = "sabloanele %s incarcate",
+ cs = "vzory %a nacteny",
+ de = "Trennmuster %a geladen",
+ en = "patterns %a loaded",
+ fr = "motifs %a chargés",
+ it = "schemi %a caricati",
+ nl = "patronen %ageladen",
+ no = "orddelingsmønster %a er lest inn",
+ ro = "sabloanele %a incarcate",
},
["languages:2"] = {
- cs = "zadne vzory %s pro %s (n=%s,e=%s,m=%s) (%s,%s)",
- de = "Keine Trennmuster %s fuer %s (n=%s,e=%s,m=%s) (%s,%s)",
- en = "no patterns %s for %s (n=%s,e=%s,m=%s) (%s,%s)",
- fr = "pas de motifs %s pour %s (n=%s,e=%s,m=%s) (%s,%s)",
- it = "niente schemi %s per %s (n=%s,e=%s,m=%s) (%s,%s)",
- nl = "geen afbreekpatronen %s voor %s (n=%s,e=%s,m=%s) (%s,%s)",
- no = "ingen orddelingsmønster %s for %s (n=%s,e=%s,m=%s) (%s,%s)",
- ro = "nu exista sabloane %s pentru %s (n=%s,e=%s,m=%s) (%s,%s)",
+ cs = "zadne vzory %a pro %a (n=%a,e=%a,m=%a) (%a,%a)",
+ de = "Keine Trennmuster %a fuer %a (n=%a,e=%a,m=%a) (%a,%a)",
+ en = "no patterns %a for %a (n=%a,e=%a,m=%a) (%a,%a)",
+ fr = "pas de motifs %a pour %a (n=%a,e=%a,m=%a) (%a,%a)",
+ it = "niente schemi %a per %a (n=%a,e=%a,m=%a) (%a,%a)",
+ nl = "geen afbreekpatronen %a voor %a (n=%a,e=%a,m=%a) (%a,%a)",
+ no = "ingen orddelingsmønster %a for %a (n=%a,e=%a,m=%a) (%a,%a)",
+ ro = "nu exista sabloane %a pentru %a (n=%a,e=%a,m=%a) (%a,%a)",
},
["languages:3"] = {
- cs = "deleni slov %s pro %s nacteno (n=%s,e=%s,m=%s)",
- de = "Trenndefinitionen %s fuer %s geladen (n=%s,e=%s,m=%s)",
- en = "hyphenations %s for %s loaded (n=%s,e=%s,m=%s)",
- fr = "hyphenations %s pour %s chargés (n=%s,e=%s,m=%s)",
- it = "sillabazione %s per %s caricata (n=%s,e=%s,m=%s)",
- nl = "afbreekdefinities %s voor %s geladen (n=%s,e=%s,m=%s)",
- no = "orddelingsdefinisjon %s for %s er lest inn (n=%s,e=%s,m=%s)",
- ro = "despartirea in silabe %s pentru %s s-a incarcat (n=%s,e=%s,m=%s)",
+ cs = "deleni slov %a pro %a nacteno (n=%a,e=%a,m=%a)",
+ de = "Trenndefinitionen %a fuer %a geladen (n=%a,e=%a,m=%a)",
+ en = "hyphenations %a for %a loaded (n=%a,e=%a,m=%a)",
+ fr = "hyphenations %a pour %a chargés (n=%a,e=%a,m=%a)",
+ it = "sillabazione %a per %a caricata (n=%a,e=%a,m=%a)",
+ nl = "afbreekdefinities %a voor %a geladen (n=%a,e=%a,m=%a)",
+ no = "orddelingsdefinisjon %a for %a er lest inn (n=%a,e=%a,m=%a)",
+ ro = "despartirea in silabe %a pentru %a s-a incarcat (n=%a,e=%a,m=%a)",
},
["languages:4"] = {
- cs = "zadne deleni slov %s pro %s (n=%s,e=%s,m=%s)",
- de = "Keine Trenndefinitionen %s fuer %s (n=%s,e=%s,m=%s)",
- en = "no hyphenations %s for %s (n=%s,e=%s,m=%s)",
- fr = "pas d'hyphenations %s pour %s (n=%s,e=%s,m=%s)",
- it = "niente sillabazione %s per %s (n=%s,e=%s,m=%s)",
- nl = "geen afbreekdefinities %s voor %s (n=%s,e=%s,m=%s)",
- no = "ingen orddelingsdefinisjon %s for %s (n=%s,e=%s,m=%s)",
- ro = "nu exista despartire in silabe %s pentru %s (n=%s,e=%s,m=%s)",
+ cs = "zadne deleni slov %a pro %a (n=%a,e=%a,m=%a)",
+ de = "Keine Trenndefinitionen %a fuer %a (n=%a,e=%a,m=%a)",
+ en = "no hyphenations %a for %a (n=%a,e=%a,m=%a)",
+ fr = "pas d'hyphenations %a pour %a (n=%a,e=%a,m=%a)",
+ it = "niente sillabazione %a per %a (n=%a,e=%a,m=%a)",
+ nl = "geen afbreekdefinities %a voor %a (n=%a,e=%a,m=%a)",
+ no = "ingen orddelingsdefinisjon %a for %a (n=%a,e=%a,m=%a)",
+ ro = "nu exista despartire in silabe %a pentru %a (n=%a,e=%a,m=%a)",
},
["languages:5"] = {
- cs = "vzory pro %s nenacteny",
- de = "Trennmuster fuer %s nicht geladen",
- en = "patterns for %s not loaded",
- fr = "les motifs pour %s ne sont pas chargés",
- it = "schemi per %s non caricati",
- nl = "afbreekpatronen voor %s niet geladen",
- no = "orddelingsmønster for %s er ikke lest inn",
- ro = "sabloanele pentru %s nu sunt incarcate",
+ cs = "vzory pro %a nenacteny",
+ de = "Trennmuster fuer %a nicht geladen",
+ en = "patterns for %a not loaded",
+ fr = "les motifs pour %a ne sont pas chargés",
+ it = "schemi per %a non caricati",
+ nl = "afbreekpatronen voor %a niet geladen",
+ no = "orddelingsmønster for %a er ikke lest inn",
+ ro = "sabloanele pentru %a nu sunt incarcate",
},
["languages:6"] = {
- cs = "jazyk %s neni definovan",
- de = "Sprache %s ist undefiniert",
- en = "language %s is undefined",
- fr = "langue %s non définie",
- it = "lingua %s non definita",
- nl = "taal %s is niet gedefinieerd",
- no = "spràk %s er udefinert",
- ro = "limba %s nu este definita",
+ cs = "jazyk %a neni definovan",
+ de = "Sprache %a ist undefiniert",
+ en = "language %a is undefined",
+ fr = "langue %a non définie",
+ it = "lingua %a non definita",
+ nl = "taal %a is niet gedefinieerd",
+ no = "spràk %a er udefinert",
+ ro = "limba %a nu este definita",
},
["languages:7"] = {
- cs = "specificke volby jazyka [%s] zavadeji %s (zavlecenou) mezeru",
- de = "Sprachenspezifische Option [%s] fuegt eine Luecke von %s ein",
- en = "language specific options [%s] introduce a %s skip",
- fr = "les options spécifiques de langue [%s] introduisent un %s saut",
- it = "opzioni specifiche per la lingua [%s] introducono un salto %s",
- nl = "taal specifieke opties [%s] introduceren een skip van %s",
- no = "spràk spesifikk opsjon [%s] introduserer et %s hopp",
- ro = "optiunile specifice ale limbii [%s] introduc un spatiu %s",
+ cs = "specificke volby jazyka [%a] zavadeji %a (zavlecenou) mezeru",
+ de = "Sprachenspezifische Option [%a] fuegt eine Luecke von %a ein",
+ en = "language specific options [%a] introduce a %a skip",
+ fr = "les options spécifiques de langue [%a] introduisent un %a saut",
+ it = "opzioni specifiche per la lingua [%a] introducono un salto %a",
+ nl = "taal specifieke opties [%a] introduceren een skip van %a",
+ no = "spràk spesifikk opsjon [%a] introduserer et %a hopp",
+ ro = "optiunile specifice ale limbii [%a] introduc un spatiu %a",
},
["languages:8"] = {
- cs = "specificke volby jazyka [%s] bez mezer pripojeny",
- de = "Sprachenspezifische Option [%s] nahtlos hinzugefuegt",
- en = "language specific options [%s] seamless appended",
- fr = "les options spécifiques de langue [%s] sont ajoutés en douceur",
- it = "opzioni specifiche per la lingua [%s] aggiunte trasparentemente",
- nl = "taal specifieke opties [%s] naadloos toegevoegd",
- no = "spràk spesifikk opsjon [%s] problemfritt tilføyd",
- ro = "optiunile specifice ale limbii [%s] adaugate",
+ cs = "specificke volby jazyka [%a] bez mezer pripojeny",
+ de = "Sprachenspezifische Option [%a] nahtlos hinzugefuegt",
+ en = "language specific options [%a] seamless appended",
+ fr = "les options spécifiques de langue [%a] sont ajoutés en douceur",
+ it = "opzioni specifiche per la lingua [%a] aggiunte trasparentemente",
+ nl = "taal specifieke opties [%a] naadloos toegevoegd",
+ no = "spràk spesifikk opsjon [%a] problemfritt tilføyd",
+ ro = "optiunile specifice ale limbii [%a] adaugate",
},
["languages:9"] = {
- cs = "language %s is active",
- de = "Sprache %s ist aktiv",
- en = "language %s is active",
- fr = "la langue %s est active",
- it = "lingua %s attiva",
- nl = "taal %s is actief",
- no = "spràk %s er aktivt",
- ro = "limba %s este activa",
+ cs = "language %a is active",
+ de = "Sprache %a ist aktiv",
+ en = "language %a is active",
+ fr = "la langue %a est active",
+ it = "lingua %a attiva",
+ nl = "taal %a is actief",
+ no = "spràk %a er aktivt",
+ ro = "limba %a este activa",
},
["layouts:1"] = {
- cs = "vyska textu prizpusobena s %s na strane %s",
- de = "Texthoehe angepasst mit %s auf Seite %s",
- en = "textheight adapted with %s at page %s",
- fr = "hauteurtexte adaptée avec %s à la page %s",
- it = "altezza del testo adattata con %s a pagina %s",
- nl = "teksthoogte aangepast met %s op pagina %s",
- no = "teksthøyde tilpasset med %s på side %s",
- ro = "textheight adaptat cu %s la pagina %s",
+ cs = "vyska textu prizpusobena s %a na strane %a",
+ de = "Texthoehe angepasst mit %a auf Seite %a",
+ en = "textheight adapted with %a at page %a",
+ fr = "hauteurtexte adaptée avec %a à la page %a",
+ it = "altezza del testo adattata con %a a pagina %a",
+ nl = "teksthoogte aangepast met %a op pagina %a",
+ no = "teksthøyde tilpasset med %a på side %a",
+ ro = "textheight adaptat cu %a la pagina %a",
},
["layouts:10"] = {
- cs = "%s a %s nedava dohromady 1.0",
- de = "%s und %s ergeben zusammen nicht 1.0",
- en = "%s and %s don't add up to 1.0",
- fr = "%s et %s ne sont pas ajoutés à 1.0",
- it = "%s e %s non sommano a 1.0",
- nl = "%s en %s tellen niet op tot 1.0",
- no = "%s og %s er ikke 1.0 til sammen",
- ro = "%s si %s nu se adauga pana la 1.0",
+ cs = "%a a %a nedava dohromady 1.0",
+ de = "%a und %a ergeben zusammen nicht 1.0",
+ en = "%a and %a don't add up to 1.0",
+ fr = "%a et %a ne sont pas ajoutés à 1.0",
+ it = "%a e %a non sommano a 1.0",
+ nl = "%a en %a tellen niet op tot 1.0",
+ no = "%a og %a er ikke 1.0 til sammen",
+ ro = "%a si %a nu se adauga pana la 1.0",
},
["layouts:11"] = {
- cs = "svisla mezera %s neni povolena v pevnem radkovem rejstriku",
- de = "Zwischenraum %s nicht im Grittermoduserlau",
- en = "spacing %s not permitted in gridmode",
- fr = "espacement %s non permis en modegrille",
- it = "spaziatura %s non permessa in modo griglia",
- nl = "interlinie %s niet toegestaan in gridmode",
- no = "mellomrom %s ikke tillatt i gridmodus",
- ro = "spatierea %s nu este permisa in gridmode",
+ cs = "svisla mezera %a neni povolena v pevnem radkovem rejstriku",
+ de = "Zwischenraum %a nicht im Grittermoduserlau",
+ en = "spacing %a not permitted in gridmode",
+ fr = "espacement %a non permis en modegrille",
+ it = "spaziatura %a non permessa in modo griglia",
+ nl = "interlinie %a niet toegestaan in gridmode",
+ no = "mellomrom %a ikke tillatt i gridmodus",
+ ro = "spatierea %a nu este permisa in gridmode",
},
["layouts:2"] = {
- cs = "%s krat odlozeny text umisten",
- de = "%s mal verschobener Text plaziert",
- en = "%s times postponed text placed",
- fr = "%s times postponed text placed",
- it = "posizionato testo posticipato %s volte",
- nl = "%s maal uitgestelde tekst tussengevoegd",
- no = "%s ganger forskjøvet tekst plassert",
- ro = "textul amanat de %s ori a fost plasat",
+ cs = "%a krat odlozeny text umisten",
+ de = "%a mal verschobener Text plaziert",
+ en = "%a times postponed text placed",
+ fr = "%a times postponed text placed",
+ it = "posizionato testo posticipato %a volte",
+ nl = "%a maal uitgestelde tekst tussengevoegd",
+ no = "%a ganger forskjøvet tekst plassert",
+ ro = "textul amanat de %a ori a fost plasat",
},
["layouts:3"] = {
- cs = "%s krat text odlozen",
- de = "%s mal Text verschoben",
- en = "%s times text postponed",
- fr = "%s times text postponed",
- it = "testo posticipato %s volte",
- nl = "%s maal tekst plaatsen uitstellen",
- no = "%s ganger tekst forskjøvet",
- ro = "textul amanat de %s ori",
+ cs = "%a krat text odlozen",
+ de = "%a mal Text verschoben",
+ en = "%a times text postponed",
+ fr = "%a times text postponed",
+ it = "testo posticipato %a volte",
+ nl = "%a maal tekst plaatsen uitstellen",
+ no = "%a ganger tekst forskjøvet",
+ ro = "textul amanat de %a ori",
},
["layouts:4"] = {
cs = "okrajove bloky aktivni",
@@ -914,14 +914,14 @@ return {
ro = "blocuri marginale inactive",
},
["layouts:6"] = {
- cs = "sada stran %s zpracovana (velikost %s)",
- de = "Unterseitenfolge %s verarbeitet (Groesse %s)",
- en = "subpage set %s processed (size %s)",
- fr = "jeu de souspage %s traité (taille %s)",
- it = "gruppo di sottopagine %s elaborato (dimensione %s)",
- nl = "subpagina reeks %s verwerkt (aantal %s)",
- no = "delside sett %s behandlet (størrelse %s)",
- ro = "setul %s de subpagini procesat (dimensiunea %s)",
+ cs = "sada stran %a zpracovana (velikost %a)",
+ de = "Unterseitenfolge %a verarbeitet (Groesse %a)",
+ en = "subpage set %a processed (size %a)",
+ fr = "jeu de souspage %a traité (taille %a)",
+ it = "gruppo di sottopagine %a elaborato (dimensione %a)",
+ nl = "subpagina reeks %a verwerkt (aantal %a)",
+ no = "delside sett %a behandlet (størrelse %a)",
+ ro = "setul %a de subpagini procesat (dimensiunea %a)",
},
["layouts:7"] = {
cs = "pocita se misto pro logo",
@@ -944,201 +944,201 @@ return {
ro = "se calculeaza fundalurile",
},
["layouts:9"] = {
- cs = "aktualne ne vice nez %s urovne/urovni vyctu",
- de = "z.Z. nicht mehr als %s Ebenen in Aufzaehlungen",
- en = "currently no more than %s levels in itemizations",
- fr = "pas plus de %s niveaux pour l'instant dans les élémentarisations",
- it = "attualmente non più di %s livelli di elencazione",
- nl = "momenteel maximaal %s niveaus in opsommingen",
- no = "for øyeblikket maksimalt %s nivåer i opplisting",
- ro = "acum nu se supota mai mult de %s nivele de adancime la iteratii",
+ cs = "aktualne ne vice nez %a urovne/urovni vyctu",
+ de = "z.Z. nicht mehr als %a Ebenen in Aufzaehlungen",
+ en = "currently no more than %a levels in itemizations",
+ fr = "pas plus de %a niveaux pour l'instant dans les élémentarisations",
+ it = "attualmente non più di %a livelli di elencazione",
+ nl = "momenteel maximaal %a niveaus in opsommingen",
+ no = "for øyeblikket maksimalt %a nivåer i opplisting",
+ ro = "acum nu se supota mai mult de %a nivele de adancime la iteratii",
},
- ["loaded: '%s'"] = {
- nl = "geladen: '%s'",
+ ["loaded: %a"] = {
+ nl = "geladen: %a",
},
- ["loaded: library '%s'"] = {
- nl = "geladen: bibliotheek '%s'",
+ ["loaded: library %a"] = {
+ nl = "geladen: bibliotheek %a",
},
- ["loading: '%s'"] = {
- nl = "laden: '%s'",
+ ["loading: %a"] = {
+ nl = "laden: %a",
},
- ["locating: '%s'"] = {
- nl = "zoeken: '%s'",
+ ["locating: %a"] = {
+ nl = "zoeken: %a",
},
- ["not found: '%s'"] = {
- nl = "niet gevonden: '%s'",
+ ["not found: %a"] = {
+ nl = "niet gevonden: %a",
},
- ["number 1: %s, number 2: %s"] = {
- en = "number 1: (%s), number 2: (%s)",
- nl = "nummer 1: (%s), nummer 2: (%s)",
+ ["number 1: %a, number 2: %a"] = {
+ en = "number 1: (%a), number 2: (%a)",
+ nl = "nummer 1: (%a), nummer 2: (%a)",
},
- ["popping level: %s"] = {
- nl = "niveau omlaag: %s",
+ ["popping level: %a"] = {
+ nl = "niveau omlaag: %a",
},
["publications:1"] = {
- en = "file %s not found, unknown style ignored",
+ en = "file %a not found, unknown style ignored",
},
["publications:2"] = {
- en = "file %s not found, waiting for bibtex",
+ en = "file %a not found, waiting for bibtex",
},
["publications:3"] = {
en = "wrote a new auxiliary file \\jobname.aux",
},
["publications:4"] = {
- en = "loading database from %s",
+ en = "loading database from %a",
},
["publications:5"] = {
- en = "warning: unknown cite argument %s on line \\the\\inputlineno",
+ en = "warning: unknown cite argument %a on line \\the\\inputlineno",
},
["publications:6"] = {
- en = "loading formatting style from %s",
+ en = "loading formatting style from %a",
},
["publications:7"] = {
en = "placing all entries, use 'text' to be more selective",
},
- ["pushing level: %s"] = {
- nl = "niveau omhoog: %s",
+ ["pushing level: %a"] = {
+ nl = "niveau omhoog: %a",
},
["references:1"] = {
- cs = "neznama reference %s",
- de = "unbekannte Referenz %s",
- en = "unknown reference %s",
- fr = "réference %s inconnue",
- it = "riferimento sconosciuto %s",
- nl = "onbekende verwijzing %s",
- no = "ukjent referanse %s",
- ro = "referinta necunoscuta %s",
+ cs = "neznama reference %a",
+ de = "unbekannte Referenz %a",
+ en = "unknown reference %a",
+ fr = "réference %a inconnue",
+ it = "riferimento sconosciuto %a",
+ nl = "onbekende verwijzing %a",
+ no = "ukjent referanse %a",
+ ro = "referinta necunoscuta %a",
},
["references:2"] = {
- cs = "duplicitni reference %s na strane %s",
- de = "doppelte Referenz %s auf Seite %s",
- en = "duplicate reference %s on page %s",
- fr = "réference %s dupliquée à la page %s",
- it = "riferimento duplicato %s a pagina %s",
- nl = "dubbele verwijzing %s op pagina %s",
- no = "duplikat referanse %s pø side %s",
- ro = "referinta duplicat %s la pagina %s",
+ cs = "duplicitni reference %a na strane %a",
+ de = "doppelte Referenz %a auf Seite %a",
+ en = "duplicate reference %a on page %a",
+ fr = "réference %a dupliquée à la page %a",
+ it = "riferimento duplicato %a a pagina %a",
+ nl = "dubbele verwijzing %a op pagina %a",
+ no = "duplikat referanse %a pø side %a",
+ ro = "referinta duplicat %a la pagina %a",
},
["references:21"] = {
- cs = "dokument %s nacten",
- de = "Dokument %s geladen",
- en = "document %s loaded",
- fr = "document %s chargé",
- it = "documento %s caricato",
- nl = "document %s geladen",
- no = "dokument %s er lest inn",
- ro = "documentul %s este incarcat",
+ cs = "dokument %a nacten",
+ de = "Dokument %a geladen",
+ en = "document %a loaded",
+ fr = "document %a chargé",
+ it = "documento %a caricato",
+ nl = "document %a geladen",
+ no = "dokument %a er lest inn",
+ ro = "documentul %a este incarcat",
},
["references:22"] = {
- cs = "dokument %s neni interaktivni",
- de = "Dokument %s ist nicht aktiv",
- en = "document %s is not interactive",
- fr = "le document %s n'est pas interactif",
- it = "il documento %s non ø interattivo",
- nl = "document %s is niet interactief",
- no = "dokument %s er ikke interaktivt",
- ro = "documentul %s nu este interactiv",
+ cs = "dokument %a neni interaktivni",
+ de = "Dokument %a ist nicht aktiv",
+ en = "document %a is not interactive",
+ fr = "le document %a n'est pas interactif",
+ it = "il documento %a non ø interattivo",
+ nl = "document %a is niet interactief",
+ no = "dokument %a er ikke interaktivt",
+ ro = "documentul %a nu este interactiv",
},
["references:23"] = {
- cs = "obskurni (nejasna) reference %s (prefix=%s)",
- de = "Obskure Referenz %s (Prefix=%s)",
- en = "obscure reference %s (prefix=%s)",
- fr = "reference %s indéterminé (préfixe=%s)",
- it = "riferimento ambiguo %s (prefisso=%s)",
- nl = "onduidelijke verwijzing %s (prefix=%s)",
- no = "obskur referanse %s (Prefix=%s)",
- ro = "referinta obscura %s (prefix=%s)",
+ cs = "obskurni (nejasna) reference %a (prefix=%a)",
+ de = "Obskure Referenz %a (Prefix=%a)",
+ en = "obscure reference %a (prefix=%a)",
+ fr = "reference %a indéterminé (préfixe=%a)",
+ it = "riferimento ambiguo %a (prefisso=%a)",
+ nl = "onduidelijke verwijzing %a (prefix=%a)",
+ no = "obskur referanse %a (Prefix=%a)",
+ ro = "referinta obscura %a (prefix=%a)",
},
["references:24"] = {
- en = "references from document '%s' are not exported",
+ en = "references from document %a are not exported",
},
["references:25"] = {
- en = "references from document '%s' are not imported (export again)",
+ en = "references from document %a are not imported (export again)",
},
["references:26"] = {
- en = "references from document '%s' are imported",
+ en = "references from document %a are imported",
},
["references:3"] = {
- cs = "neznamy typ reference %s",
- de = "unbekannte Referenz Typ %s",
- en = "unknown reference type %s",
- fr = "type %s de réference inconnu",
- it = "riferimento di tipo sconosciuto %s",
- nl = "type verwijzing %s onbekend",
- no = "ukjent referansetype %s",
- ro = "tip necunoscut de referinta %s",
+ cs = "neznamy typ reference %a",
+ de = "unbekannte Referenz Typ %a",
+ en = "unknown reference type %a",
+ fr = "type %a de réference inconnu",
+ it = "riferimento di tipo sconosciuto %a",
+ nl = "type verwijzing %a onbekend",
+ no = "ukjent referansetype %a",
+ ro = "tip necunoscut de referinta %a",
},
["references:30"] = {
- cs = "neznamy objekt %s",
- de = "unbekanntes Object %s",
- en = "unknown object %s",
- fr = "objet %s inconnu",
- it = "oggetto sconosciuto %s",
- nl = "onbekend object %s",
- no = "ukjent objekt %s",
- ro = "obiect necunoscut %s",
+ cs = "neznamy objekt %a",
+ de = "unbekanntes Object %a",
+ en = "unknown object %a",
+ fr = "objet %a inconnu",
+ it = "oggetto sconosciuto %a",
+ nl = "onbekend object %a",
+ no = "ukjent objekt %a",
+ ro = "obiect necunoscut %a",
},
["references:31"] = {
- cs = "duplicitni object %s",
- de = "doppeltes Object %s",
- en = "duplicate object %s",
- fr = "objet %s dupliqué",
- it = "oggetto duplicato %s",
- nl = "dubbel object %s",
- no = "duplikat objekt %s",
- ro = "obiect duplicat %s",
+ cs = "duplicitni object %a",
+ de = "doppeltes Object %a",
+ en = "duplicate object %a",
+ fr = "objet %a dupliqué",
+ it = "oggetto duplicato %a",
+ nl = "dubbel object %a",
+ no = "duplikat objekt %a",
+ ro = "obiect duplicat %a",
},
["references:4"] = {
- cs = "nedovolena reference %s",
- de = "illegale Referenz %s",
- en = "illegal reference %s",
- fr = "réference %s inconnue",
- it = "riferimento illecito %s",
- nl = "verboden verwijzing %s",
- no = "ulovlig referanse %s",
- ro = "referinta eronata %s",
- },
- -- ["number of unknown references: %s"] = {
+ cs = "nedovolena reference %a",
+ de = "illegale Referenz %a",
+ en = "illegal reference %a",
+ fr = "réference %a inconnue",
+ it = "riferimento illecito %a",
+ nl = "verboden verwijzing %a",
+ no = "ulovlig referanse %a",
+ ro = "referinta eronata %a",
+ },
+ -- ["number of unknown references: %a"] = {
-- },
["references:6"] = {
- en = "number of illegal references: %s",
+ en = "number of illegal references: %a",
},
- ["start: '%s'"] = {
+ ["start: %a"] = {
},
- ["stop: '%s'"] = {
+ ["stop: %a"] = {
},
- ["stored: preamble '%s', state '%s', order '%s'"] = {
- nl = "opgeslagen: preamble '%s', status '%s', volgorde '%s'",
+ ["stored: preamble %a, state %a, order %a"] = {
+ nl = "opgeslagen: preamble %a, status %a, volgorde %a",
},
["structures:1"] = {
- cs = "zacatek oddilu (sekce) %s",
- de = "Begin des Abschnittsblocks %s",
- en = "begin of sectionblock %s",
- fr = "début de blocsection %s",
- it = "inizio del blocco (sezione) %s",
- nl = "begin van sectieblok %s",
- no = "starten av blokk %s (seksjon)",
- ro = "inceput de bloc sectiune %s",
+ cs = "zacatek oddilu (sekce) %a",
+ de = "Begin des Abschnittsblocks %a",
+ en = "begin of sectionblock %a",
+ fr = "début de blocsection %a",
+ it = "inizio del blocco (sezione) %a",
+ nl = "begin van sectieblok %a",
+ no = "starten av blokk %a (seksjon)",
+ ro = "inceput de bloc sectiune %a",
},
["structures:2"] = {
- cs = "konec oddilu (sekce) %s",
- de = "Ende des Abschnittsblocks %s",
- en = "end of sectionblock %s",
- fr = "fin de blocsection %s",
- it = "fine del blocco (sezione) %s",
- nl = "eind van sectieblok %s",
- no = "slutten av blokk %s (seksjon)",
- ro = "sfarsit de bloc sectiune %s",
+ cs = "konec oddilu (sekce) %a",
+ de = "Ende des Abschnittsblocks %a",
+ en = "end of sectionblock %a",
+ fr = "fin de blocsection %a",
+ it = "fine del blocco (sezione) %a",
+ nl = "eind van sectieblok %a",
+ no = "slutten av blokk %a (seksjon)",
+ ro = "sfarsit de bloc sectiune %a",
},
["symbols:1"] = {
- cs = "nacita se soubor symbolu %s",
- de = "Lade Symboldatei %s",
- en = "loading symbolset %s",
- fr = "chargement du jeu de symbole %s",
- it = "caricamento gruppo di simboli %s",
- nl = "symboolset %s wordt geladen",
- no = "leser inn symbolsett %s",
- ro = "se incarca setul de simboluri %s",
+ cs = "nacita se soubor symbolu %a",
+ de = "Lade Symboldatei %a",
+ en = "loading symbolset %a",
+ fr = "chargement du jeu de symbole %a",
+ it = "caricamento gruppo di simboli %a",
+ nl = "symboolset %a wordt geladen",
+ no = "leser inn symbolsett %a",
+ ro = "se incarca setul de simboluri %a",
},
["system:1"] = {
cs = "nacteni pomocneho souboru odlozeno (typemode)",
@@ -1151,14 +1151,14 @@ return {
ro = "se incarca utilitarul-fisierul este amanat (typemode)",
},
["system:10"] = {
- cs = "nepouzivejte em v %s",
- de = "Benutzte kein em in %s",
- en = "don't use em in %s",
- fr = "n'utilisez pas em dans %s",
- it = "non usare em in %s",
- nl = "gebruik geen em in %s",
- no = "ikke bruk em i %s",
- ro = "nu folositi em in %s",
+ cs = "nepouzivejte em v %a",
+ de = "Benutzte kein em in %a",
+ en = "don't use em in %a",
+ fr = "n'utilisez pas em dans %a",
+ it = "non usare em in %a",
+ nl = "gebruik geen em in %a",
+ no = "ikke bruk em i %a",
+ ro = "nu folositi em in %a",
},
["system:11"] = {
cs = "vytvarim jednoduchy pomocny soubor",
@@ -1181,94 +1181,94 @@ return {
ro = "fisierul utilitar nu este sortat, folositi texutil",
},
["system:13"] = {
- cs = "znacka %s definovana %s",
- de = "Beschriftung %s definiert %s",
- en = "mark %s defined %s",
- fr = "marquage %s defini %s",
- it = "marcatura %s definita %s",
- nl = "markering %s gedefinieerd %s",
- no = "markering %s definert %s",
- ro = "marcajul %s definit %s",
+ cs = "znacka %a definovana %a",
+ de = "Beschriftung %a definiert %a",
+ en = "mark %a defined %a",
+ fr = "marquage %a defini %a",
+ it = "marcatura %a definita %a",
+ nl = "markering %a gedefinieerd %a",
+ no = "markering %a definert %a",
+ ro = "marcajul %a definit %a",
},
["system:14"] = {
- cs = "vynucena nova stranka v seznamu na %s",
- de = "Erzwungendes Seitenumbruch in Liste bei %s",
- en = "forced newpage in list at %s",
- fr = "nouvellepage forcée dans la liste à %s",
- it = "nuova pagina obbligata in lista a %s",
- nl = "geforceerde paginaovergang in lijst voor %s",
- no = "tvunget sideskift i liste ved %s",
- ro = "s-a fortat trecere pa pagina noua in lista la %s",
+ cs = "vynucena nova stranka v seznamu na %a",
+ de = "Erzwungendes Seitenumbruch in Liste bei %a",
+ en = "forced newpage in list at %a",
+ fr = "nouvellepage forcée dans la liste à %a",
+ it = "nuova pagina obbligata in lista a %a",
+ nl = "geforceerde paginaovergang in lijst voor %a",
+ no = "tvunget sideskift i liste ved %a",
+ ro = "s-a fortat trecere pa pagina noua in lista la %a",
},
["system:15"] = {
- cs = "uklada se buffer %s",
- de = "Speichere Buffer %s",
- en = "saving buffer %s",
- fr = "sauvegarde du tampon (buffer) %s",
- it = "salvataggio del buffer %s",
- nl = "wegschrijven buffer %s",
- no = "lagrer Buffer %s",
- ro = "buffer salvat %s",
+ cs = "uklada se buffer %a",
+ de = "Speichere Buffer %a",
+ en = "saving buffer %a",
+ fr = "sauvegarde du tampon (buffer) %a",
+ it = "salvataggio del buffer %a",
+ nl = "wegschrijven buffer %a",
+ no = "lagrer Buffer %a",
+ ro = "buffer salvat %a",
},
["system:16"] = {
- cs = "sazi se buffer %s",
- de = "Setzte Buffer %s",
- en = "typesetting buffer %s",
- fr = "composition du tampon (buffer) %s",
- it = "composizione del buffer %s",
- nl = "inlezen buffer %s",
- no = "tegnsetter buffer %s",
- ro = "buffer-ul %s s-a cules",
+ cs = "sazi se buffer %a",
+ de = "Setzte Buffer %a",
+ en = "typesetting buffer %a",
+ fr = "composition du tampon (buffer) %a",
+ it = "composizione del buffer %a",
+ nl = "inlezen buffer %a",
+ no = "tegnsetter buffer %a",
+ ro = "buffer-ul %a s-a cules",
},
["system:17"] = {
- cs = "sazi se doslovny (verbatim) buffer %s",
- de = "Setzte tippen-Buffer %s",
- en = "typesetting verbatim buffer %s",
- fr = "composition textuelle du tampon (buffer) %s",
- it = "composizione verbatim del buffer %s",
- nl = "verbatim inlezen buffer %s",
- no = "tegnsetter verbatim-buffer %s",
- ro = "se culege buffer-ul verbatim %s",
+ cs = "sazi se doslovny (verbatim) buffer %a",
+ de = "Setzte tippen-Buffer %a",
+ en = "typesetting verbatim buffer %a",
+ fr = "composition textuelle du tampon (buffer) %a",
+ it = "composizione verbatim del buffer %a",
+ nl = "verbatim inlezen buffer %a",
+ no = "tegnsetter verbatim-buffer %a",
+ ro = "se culege buffer-ul verbatim %a",
},
["system:18"] = {
- cs = "synonymum %s %s neexistuje",
- de = "Synonym %s %s existiert nicht",
- en = "synonym %s %s does not exist",
- fr = "le synonyme %s %s n'existe pas",
- it = "sinonimo %s %s non esistente",
- nl = "synoniem %s %s bestaat niet",
- no = "synonym %s %s eksisterer ikke",
- ro = "sinonimul %s %s nu exista",
+ cs = "synonymum %a %a neexistuje",
+ de = "Synonym %a %a existiert nicht",
+ en = "synonym %a %a does not exist",
+ fr = "le synonyme %a %a n'existe pas",
+ it = "sinonimo %a %a non esistente",
+ nl = "synoniem %a %a bestaat niet",
+ no = "synonym %a %a eksisterer ikke",
+ ro = "sinonimul %a %a nu exista",
},
["system:19"] = {
- cs = "vyznam (synonyma) %s nacten",
- de = "Bedeutung (synonyme) von %s geladen",
- en = "meaning (synonyms) of %s loaded",
- fr = "signification (synonymes) de %s chargée",
- it = "significato (sinonimi) di %s caricato",
- nl = "betekenissen (synoniemen) van %s geladen",
- no = "betydning (synonymer) av %s er lest inn",
- ro = "intelesul (sinonimele) pentru %s incarcat",
+ cs = "vyznam (synonyma) %a nacten",
+ de = "Bedeutung (synonyme) von %a geladen",
+ en = "meaning (synonyms) of %a loaded",
+ fr = "signification (synonymes) de %a chargée",
+ it = "significato (sinonimi) di %a caricato",
+ nl = "betekenissen (synoniemen) van %a geladen",
+ no = "betydning (synonymer) av %a er lest inn",
+ ro = "intelesul (sinonimele) pentru %a incarcat",
},
["system:2"] = {
- cs = "%s nacteno",
- de = "%s geladen",
- en = "%s loaded",
- fr = "%s chargé",
- it = "%s caricato",
- nl = "%s geladen",
- no = "%s er lest inn",
- ro = "%s s-a incarcat",
+ cs = "%a nacteno",
+ de = "%a geladen",
+ en = "%a loaded",
+ fr = "%a chargé",
+ it = "%a caricato",
+ nl = "%a geladen",
+ no = "%a er lest inn",
+ ro = "%a s-a incarcat",
},
["system:20"] = {
- cs = "vyznam (trideni) %s nacten",
- de = "Bedeutung (sortieren) von %s geladen",
- en = "meaning (sorts) of %s loaded",
- fr = "signification (tris) de %s chargée",
- it = "significato (specie) di %s caricato",
- nl = "betekenissen (sorteren) van %s geladen",
- no = "betydning (sorterer) av %s er lest inn",
- ro = "intelesul (ordinea) pentru %s incarcat",
+ cs = "vyznam (trideni) %a nacten",
+ de = "Bedeutung (sortieren) von %a geladen",
+ en = "meaning (sorts) of %a loaded",
+ fr = "signification (tris) de %a chargée",
+ it = "significato (specie) di %a caricato",
+ nl = "betekenissen (sorteren) van %a geladen",
+ no = "betydning (sorterer) av %a er lest inn",
+ ro = "intelesul (ordinea) pentru %a incarcat",
},
["system:21"] = {
cs = "pomocny soubor necten",
@@ -1291,14 +1291,14 @@ return {
ro = "folositi un fisier utilitar valid",
},
["system:23"] = {
- cs = "%s upraveno na %s",
- de = "%s angeordnet auf %s",
- en = "%s arranged at %s",
- fr = "%s arrangé à %s",
- it = "%s sistemato a %s",
- nl = "%s gearrangeerd op %s",
- no = "%s arrangert på %s",
- ro = "%s aranjat la %s",
+ cs = "%a upraveno na %a",
+ de = "%a angeordnet auf %a",
+ en = "%a arranged at %a",
+ fr = "%a arrangé à %a",
+ it = "%a sistemato a %a",
+ nl = "%a gearrangeerd op %a",
+ no = "%a arrangert på %a",
+ ro = "%a aranjat la %a",
},
["system:24"] = {
cs = "plovouci bloky",
@@ -1341,54 +1341,54 @@ return {
ro = "Versiune",
},
["system:4"] = {
- cs = "prikaz %s je jiz definovan",
- de = "Befehl %s ist bereits definiert",
- en = "command %s is already defined",
- fr = "la commande %s est déjà définie",
- it = "comando %s già definito",
- nl = "commando %s is al gedefinieerd",
- no = "kommando %s er allerede definert",
- ro = "comanda %s este deja definita",
+ cs = "prikaz %a je jiz definovan",
+ de = "Befehl %a ist bereits definiert",
+ en = "command %a is already defined",
+ fr = "la commande %a est déjà définie",
+ it = "comando %a già definito",
+ nl = "commando %a is al gedefinieerd",
+ no = "kommando %a er allerede definert",
+ ro = "comanda %a este deja definita",
},
["system:41"] = {
- cs = "externi soubor %s ve skupine %s neexistuje",
- de = "Externe Datei %s in Gruppe %s existiert nicht",
- en = "external file %s in group %s does not exist",
- fr = "le fichier externe %s du groupe %s n'existe pas",
- it = "il file esterno %s del gruppo %s non esiste",
- nl = "externe file %s in groep %s bestaat niet",
- no = "ekstern fil %s i gruppe %s eksisterer ikke",
- ro = "fisierul extern %s din grupul %s nu exista",
+ cs = "externi soubor %a ve skupine %a neexistuje",
+ de = "Externe Datei %a in Gruppe %a existiert nicht",
+ en = "external file %a in group %a does not exist",
+ fr = "le fichier externe %a du groupe %a n'existe pas",
+ it = "il file esterno %a del gruppo %a non esiste",
+ nl = "externe file %a in groep %a bestaat niet",
+ no = "ekstern fil %a i gruppe %a eksisterer ikke",
+ ro = "fisierul extern %a din grupul %a nu exista",
},
["system:5"] = {
- cs = "makra z %s nactena",
- de = "Modul %s geladen",
- en = "module %s loaded",
- fr = "module %s chargé",
- it = "macro del modulo %s caricate",
- nl = "module %s geladen",
- no = "makroene i modul %s er lest inn",
- ro = "macro-urile din modulul %s s-au incarcat",
+ cs = "makra z %a nactena",
+ de = "Modul %a geladen",
+ en = "module %a loaded",
+ fr = "module %a chargé",
+ it = "macro del modulo %a caricate",
+ nl = "module %a geladen",
+ no = "makroene i modul %a er lest inn",
+ ro = "macro-urile din modulul %a s-au incarcat",
},
["system:6"] = {
- cs = "zadna makra v %s nenalezena",
- de = "Modul %s gefunden",
- en = "module %s not found",
- fr = "module %s non trouvé",
- it = "nessuna macro trovata nel modulo %s",
- nl = "geen module %s gevonden",
- no = "ingen makroer funnet i modul %s-",
- ro = "nu s-au gasit macro-uri in modulul %s",
+ cs = "zadna makra v %a nenalezena",
+ de = "Modul %a gefunden",
+ en = "module %a not found",
+ fr = "module %a non trouvé",
+ it = "nessuna macro trovata nel modulo %a",
+ nl = "geen module %a gevonden",
+ no = "ingen makroer funnet i modul %a-",
+ ro = "nu s-au gasit macro-uri in modulul %a",
},
["system:7"] = {
- cs = "makra z %s jsou jiz nactena",
- de = "Modul %s bereits geladen",
- en = "module %s already loaded",
- fr = "module %s déjà chargé",
- it = "macro del modulo %s già caricate",
- nl = "module %s reeds geladen",
- no = "makroene i modul %s er allerede lest inn",
- ro = "macro-urile din modulul %s s-au incarcat deja",
+ cs = "makra z %a jsou jiz nactena",
+ de = "Modul %a bereits geladen",
+ en = "module %a already loaded",
+ fr = "module %a déjà chargé",
+ it = "macro del modulo %a già caricate",
+ nl = "module %a reeds geladen",
+ no = "makroene i modul %a er allerede lest inn",
+ ro = "macro-urile din modulul %a s-au incarcat deja",
},
["system:8"] = {
cs = "nova verze pomocneho souboru, je treba druheho behu",
@@ -1401,18 +1401,18 @@ return {
ro = "o noua versiune de fisier utilitar, este necesara o noua trecere",
},
["system:9"] = {
- cs = "%s nenalezeno/nezpracovano",
- de = "%s nicht gefunden/verarbeitet",
- en = "%s not found/processed",
- fr = "%s non trouvé/traité",
- it = "%s non trovato/elaborato",
- nl = "%s niet gevonden/geplaatst",
- no = "%s ikke funnet/behandlet",
- ro = "%s nu este gasit/procesat",
+ cs = "%a nenalezeno/nezpracovano",
+ de = "%a nicht gefunden/verarbeitet",
+ en = "%a not found/processed",
+ fr = "%a non trouvé/traité",
+ it = "%a non trovato/elaborato",
+ nl = "%a niet gevonden/geplaatst",
+ no = "%a ikke funnet/behandlet",
+ ro = "%a nu este gasit/procesat",
},
["system:91"] = {
- en = "papertray %s",
- nl = "papierlade %s",
+ en = "papertray %a",
+ nl = "papierlade %a",
},
["textblocks:1"] = {
cs = "nova verze, je treba druhy beh",
@@ -1425,54 +1425,54 @@ return {
ro = "o noua versiune, este nevoie de inca o trecere",
},
["textblocks:10"] = {
- cs = "%s nacteno a zpracovano",
- de = "%s geladen und verarbeitet",
- en = "%s loaded and processed",
- fr = "%s chargé et traité",
- it = "%s caricato ed elaborato",
- nl = "%s geladen en verwerkt",
- no = "%s lest inn og behandlet",
- ro = "%s incarcat si procesat",
+ cs = "%a nacteno a zpracovano",
+ de = "%a geladen und verarbeitet",
+ en = "%a loaded and processed",
+ fr = "%a chargé et traité",
+ it = "%a caricato ed elaborato",
+ nl = "%a geladen en verwerkt",
+ no = "%a lest inn og behandlet",
+ ro = "%a incarcat si procesat",
},
["textblocks:11"] = {
- cs = "%s nacteno a vysazeno",
- de = "%s geladen und gesetzt",
- en = "%s loaded and typeset",
- fr = "%s chargé et composé",
- it = "%s caricato e composto",
- nl = "%s geladen en geplaatst",
- no = "%s lest inn og tegnsatt",
- ro = "%s incarcat si cules",
+ cs = "%a nacteno a vysazeno",
+ de = "%a geladen und gesetzt",
+ en = "%a loaded and typeset",
+ fr = "%a chargé et composé",
+ it = "%a caricato e composto",
+ nl = "%a geladen en geplaatst",
+ no = "%a lest inn og tegnsatt",
+ ro = "%a incarcat si cules",
},
["textblocks:12"] = {
- cs = "%s preskoceno",
- de = "%s ausgelassen",
- en = "%s skipped",
- fr = "%s sauté",
- it = "%s saltato",
- nl = "%s overgeslagen",
- no = "%s utelatt",
- ro = "%s sarit peste",
+ cs = "%a preskoceno",
+ de = "%a ausgelassen",
+ en = "%a skipped",
+ fr = "%a sauté",
+ it = "%a saltato",
+ nl = "%a overgeslagen",
+ no = "%a utelatt",
+ ro = "%a sarit peste",
},
["textblocks:2"] = {
- cs = "zapisuji bloky do %s",
- de = "schreibe Bloecke zu %s",
- en = "writing blocks to %s",
- fr = "ecriture des blocs vers %s",
- it = "scrittura dei blocchi su %s",
- nl = "wegschrijven blokken naar %s",
- no = "skriver blokker til %s",
- ro = "se scriu blocurile in %s",
+ cs = "zapisuji bloky do %a",
+ de = "schreibe Bloecke zu %a",
+ en = "writing blocks to %a",
+ fr = "ecriture des blocs vers %a",
+ it = "scrittura dei blocchi su %a",
+ nl = "wegschrijven blokken naar %a",
+ no = "skriver blokker til %a",
+ ro = "se scriu blocurile in %a",
},
["textblocks:3"] = {
- cs = "ctu bloky z %s",
- de = "lese Bloecke von %s",
- en = "reading blocks from %s",
- fr = "lecture des blocs en provenance de %s",
- it = "lettura dei blocchi da %s",
- nl = "inlezen blokken uit %s",
- no = "leser blokker fra %s",
- ro = "se citesc blocurile din %s",
+ cs = "ctu bloky z %a",
+ de = "lese Bloecke von %a",
+ en = "reading blocks from %a",
+ fr = "lecture des blocs en provenance de %a",
+ it = "lettura dei blocchi da %a",
+ nl = "inlezen blokken uit %a",
+ no = "leser blokker fra %a",
+ ro = "se citesc blocurile din %a",
},
["textblocks:4"] = {
cs = "je treba druhy beh",
@@ -1485,85 +1485,85 @@ return {
ro = "este nevoie de inca o trecere",
},
["textblocks:5"] = {
- cs = "%s neni skryto",
- de = "%s nicht verborgen",
- en = "%s not hidden",
- fr = "%s non caché",
- it = "%s non nascosto",
- nl = "%s niet verborgen",
- no = "%s ikke skjult",
- ro = "%s nu este ascuns",
+ cs = "%a neni skryto",
+ de = "%a nicht verborgen",
+ en = "%a not hidden",
+ fr = "%a non caché",
+ it = "%a non nascosto",
+ nl = "%a niet verborgen",
+ no = "%a ikke skjult",
+ ro = "%a nu este ascuns",
},
["textblocks:6"] = {
- cs = "%s skryto a zpracovano",
- de = "%s verborgen und verarbeitet",
- en = "%s hidden and processed",
- fr = "%s caché et traité",
- it = "%s nascosto ed elaborato",
- nl = "%s verborgen en verwerkt",
- no = "%s skjult og behandlet",
- ro = "%s ascuns si procesat",
+ cs = "%a skryto a zpracovano",
+ de = "%a verborgen und verarbeitet",
+ en = "%a hidden and processed",
+ fr = "%a caché et traité",
+ it = "%a nascosto ed elaborato",
+ nl = "%a verborgen en verwerkt",
+ no = "%a skjult og behandlet",
+ ro = "%a ascuns si procesat",
},
["textblocks:7"] = {
- cs = "%s skryto",
- de = "%s verborgen",
- en = "%s hidden",
- fr = "%s caché",
- it = "%s nascosto",
- nl = "%s verborgen",
- no = "%s skjult",
- ro = "%s ascuns",
+ cs = "%a skryto",
+ de = "%a verborgen",
+ en = "%a hidden",
+ fr = "%a caché",
+ it = "%a nascosto",
+ nl = "%a verborgen",
+ no = "%a skjult",
+ ro = "%a ascuns",
},
["textblocks:8"] = {
- cs = "%s vysazeno",
- de = "%s gesetzt",
- en = "%s typeset",
- fr = "%s composé",
- it = "%s composto",
- nl = "%s gehandhaafd",
- no = "%s tegnsatt",
- ro = "%s cules",
+ cs = "%a vysazeno",
+ de = "%a gesetzt",
+ en = "%a typeset",
+ fr = "%a composé",
+ it = "%a composto",
+ nl = "%a gehandhaafd",
+ no = "%a tegnsatt",
+ ro = "%a cules",
},
["textblocks:9"] = {
- cs = "%s nevysazeno",
- de = "%s nicht gesetzt",
- en = "%s not typeset",
- fr = "%s non composé",
- it = "%s non composto",
- nl = "%s niet gehandhaafd",
- no = "%s ikke tegnsatt",
- ro = "%s nu este cules",
+ cs = "%a nevysazeno",
+ de = "%a nicht gesetzt",
+ en = "%a not typeset",
+ fr = "%a non composé",
+ it = "%a non composto",
+ nl = "%a niet gehandhaafd",
+ no = "%a ikke tegnsatt",
+ ro = "%a nu este cules",
},
- ["unknown: library '%s'"] = {
- nl = "onbekend: bibliotheek '%s'",
+ ["unknown: library %a"] = {
+ nl = "onbekend: bibliotheek %a",
},
- ["used: code '%s'"] = {
- nl = "gebruikt: code '%s'",
+ ["used: code %a"] = {
+ nl = "gebruikt: code %a",
},
- ["used: code '%s', preamble '%s'"] = {
- nl = "gebruikt: code '%s', preamble '%s'",
+ ["used: code %a, preamble %a"] = {
+ nl = "gebruikt: code %a, preamble %a",
},
- ["used: function '%s'"] = {
- nl = "gebruikt: functie '%s'",
+ ["used: function %a"] = {
+ nl = "gebruikt: functie %a",
},
- ["used: preamble '%s', state '%s', order '%s'"] = {
- nl = "gebruikt: preamble '%s', status '%s', volgorde '%s'",
+ ["used: preamble %a, state %a, order %a"] = {
+ nl = "gebruikt: preamble %a, status %a, volgorde %a",
},
- ["vector '%s' is loaded"] = {
- nl = "vector '%s' is geladen",
+ ["vector %a is loaded"] = {
+ nl = "vector %a is geladen",
},
- ["vector '%s' is unknown"] = {
- nl = "onbekende vector '%s'",
+ ["vector %a is unknown"] = {
+ nl = "onbekende vector %a",
},
["verbatims:1"] = {
- cs = "soubor %s neexistuje",
- de = "Datei %s existiert nicht",
- en = "file %s does not exist",
- fr = "le fichier %s n'existe pas",
- it = "il file %s non esiste",
- nl = "file %s bestaat niet",
- no = "fil %s eksisterer ikke",
- ro = "fisierul %s nu exista",
+ cs = "soubor %a neexistuje",
+ de = "Datei %a existiert nicht",
+ en = "file %a does not exist",
+ fr = "le fichier %a n'existe pas",
+ it = "il file %a non esiste",
+ nl = "file %a bestaat niet",
+ no = "fil %a eksisterer ikke",
+ ro = "fisierul %a nu exista",
},
},
translations = {
diff --git a/tex/context/base/mult-nl.mkii b/tex/context/base/mult-nl.mkii
index cb0e25052..5f1bada7a 100644
--- a/tex/context/base/mult-nl.mkii
+++ b/tex/context/base/mult-nl.mkii
@@ -260,6 +260,7 @@
\setinterfacevariable{leftpage}{linkerpagina}
\setinterfacevariable{lefttoright}{lefttoright}
\setinterfacevariable{legend}{legenda}
+\setinterfacevariable{less}{minder}
\setinterfacevariable{lesshyphenation}{lesshyphenation}
\setinterfacevariable{line}{regel}
\setinterfacevariable{linenote}{regelnoot}
@@ -300,6 +301,7 @@
\setinterfacevariable{monday}{maandag}
\setinterfacevariable{mono}{mono}
\setinterfacevariable{month}{maand}
+\setinterfacevariable{more}{meer}
\setinterfacevariable{morehyphenation}{morehyphenation}
\setinterfacevariable{name}{naam}
\setinterfacevariable{narrow}{smal}
diff --git a/tex/context/base/mult-pe.mkii b/tex/context/base/mult-pe.mkii
index fdd2d5eda..f55a7ab59 100644
--- a/tex/context/base/mult-pe.mkii
+++ b/tex/context/base/mult-pe.mkii
@@ -260,6 +260,7 @@
\setinterfacevariable{leftpage}{صفحه‌چپ}
\setinterfacevariable{lefttoright}{lefttoright}
\setinterfacevariable{legend}{راهنما}
+\setinterfacevariable{less}{less}
\setinterfacevariable{lesshyphenation}{شکست‌کلمات‌کمتر}
\setinterfacevariable{line}{خط}
\setinterfacevariable{linenote}{خط‌نوشت}
@@ -300,6 +301,7 @@
\setinterfacevariable{monday}{دوشنبه}
\setinterfacevariable{mono}{مونو}
\setinterfacevariable{month}{ماه}
+\setinterfacevariable{more}{more}
\setinterfacevariable{morehyphenation}{شکست‌کلمات‌بیشتر}
\setinterfacevariable{name}{نام}
\setinterfacevariable{narrow}{نازک}
diff --git a/tex/context/base/mult-ro.mkii b/tex/context/base/mult-ro.mkii
index 17a870310..34dd385a3 100644
--- a/tex/context/base/mult-ro.mkii
+++ b/tex/context/base/mult-ro.mkii
@@ -260,6 +260,7 @@
\setinterfacevariable{leftpage}{paginastanga}
\setinterfacevariable{lefttoright}{lefttoright}
\setinterfacevariable{legend}{legenda}
+\setinterfacevariable{less}{less}
\setinterfacevariable{lesshyphenation}{lesshyphenation}
\setinterfacevariable{line}{linie}
\setinterfacevariable{linenote}{linenote}
@@ -300,6 +301,7 @@
\setinterfacevariable{monday}{luni}
\setinterfacevariable{mono}{mono}
\setinterfacevariable{month}{luna}
+\setinterfacevariable{more}{more}
\setinterfacevariable{morehyphenation}{morehyphenation}
\setinterfacevariable{name}{nume}
\setinterfacevariable{narrow}{ingust}
diff --git a/tex/context/base/scrn-but.lua b/tex/context/base/scrn-but.lua
index b5b0a8ae4..e49372ce9 100644
--- a/tex/context/base/scrn-but.lua
+++ b/tex/context/base/scrn-but.lua
@@ -6,7 +6,7 @@ if not modules then modules = { } end modules ['scrn-but'] = {
license = "see context related readme files"
}
-local format = string.format
+local f_two_colon = string.formatters["%s:%s"]
function commands.registerbuttons(tag,register,language)
local data = sorters.definitions[language]
@@ -14,6 +14,6 @@ function commands.registerbuttons(tag,register,language)
local tag = tag == "" and { "" } or { tag }
for i=1,#orders do
local order = orders[i]
- context.menubutton(tag,format("%s:%s",register,order),order)
+ context.menubutton(tag,f_two_colon(register,order),order)
end
end
diff --git a/tex/context/base/spac-ver.lua b/tex/context/base/spac-ver.lua
index 1120675f1..cb38a4d66 100644
--- a/tex/context/base/spac-ver.lua
+++ b/tex/context/base/spac-ver.lua
@@ -767,7 +767,7 @@ function vspacing.snapbox(n,how)
if false then -- todo: already_done
-- assume that the box is already snapped
if trace_vsnapping then
- report_snapper("box list already snapped at (%s,%s): %s",
+ report_snapper("box list already snapped at (%p,%p): %s",
ht,dp,listtoutf(list))
end
else
diff --git a/tex/context/base/status-files.pdf b/tex/context/base/status-files.pdf
index 7b3262411..91c1fcf64 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 36f38780e..877cdb237 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-ini.lua b/tex/context/base/strc-ini.lua
index 2e30d9310..fd7c10f79 100644
--- a/tex/context/base/strc-ini.lua
+++ b/tex/context/base/strc-ini.lua
@@ -20,7 +20,7 @@ but it does not make sense to store all processdata.
]]--
-local format = string.format
+local formatters = string.formatters
local lpegmatch = lpeg.match
local count = tex.count
local type, next, tonumber, select = type, next, tonumber, select
@@ -190,7 +190,7 @@ local tags = {
-- (optionally) as a setups to be applied but keep in mind that document setups
-- also get applied (when they use #1's).
--
--- local command = format("\\xmlprocessbuffer{%s}{%s}{}",metadata.xmlroot or "main",tag)
+-- local command = formatters["\\xmlprocessbuffer{%s}{%s}{}"](metadata.xmlroot or "main",tag)
local experiment = true
@@ -201,7 +201,7 @@ function helpers.title(title,metadata) -- coding is xml is rather old and not th
if metadata.coding == "xml" then
-- title can contain raw xml
local tag = tags[metadata.kind] or tags.generic
- local xmldata = format("<?xml version='1.0'?><%s>%s</%s>",tag,title,tag)
+ local xmldata = formatters["<?xml version='1.0'?><%s>%s</%s>"](tag,title,tag)
if not experiment then
buffers.assign(tag,xmldata)
end
diff --git a/tex/context/base/strc-lev.lua b/tex/context/base/strc-lev.lua
index 4ca049d7a..50a63c938 100644
--- a/tex/context/base/strc-lev.lua
+++ b/tex/context/base/strc-lev.lua
@@ -6,7 +6,6 @@ if not modules then modules = { } end modules ['strc-lev'] = {
license = "see context related readme files"
}
-local format = string.format
local insert, remove = table.insert, table.remove
local sections = structures.sections
@@ -18,6 +17,8 @@ local level, levels, categories = 0, sections.levels, { }
storage.register("structures/sections/levels", levels, "structures.sections.levels")
+local f_two_colon = string.formatters["%s:%s"]
+
function commands.definesectionlevels(category,list)
levels[category] = utilities.parsers.settings_to_array(list)
end
@@ -27,7 +28,7 @@ function commands.startsectionlevel(category)
level = level + 1
local lc = levels[category]
if not lc or level > #lc then
- context.nostarthead { format("%s:%s",category,level) }
+ context.nostarthead { f_two_colon(category,level) }
else
context.dostarthead { lc[level] }
end
@@ -39,7 +40,7 @@ function commands.stopsectionlevel()
if category then
local lc = levels[category]
if not lc or level > #lc then
- context.nostophead { format("%s:%s",category,level) }
+ context.nostophead { f_two_colon(category,level) }
else
context.dostophead { lc[level] }
end
diff --git a/tex/context/base/strc-lst.lua b/tex/context/base/strc-lst.lua
index 104a7b7bb..e3c0d60a9 100644
--- a/tex/context/base/strc-lst.lua
+++ b/tex/context/base/strc-lst.lua
@@ -411,7 +411,7 @@ local function filtercollected(names, criterium, number, collected, forced, nest
local number = tonumber(number) or numberatdepth(depth) or 0
if trace_lists then
local t = sections.numbers()
- detail = format("depth: %s, number: %s, numbers: %s, startset: %s",depth,number,(#t>0 and concat(t,".",1,depth)) or "?",#collected)
+ detail = format("depth %s, number %s, numbers %s, startset %s",depth,number,(#t>0 and concat(t,".",1,depth)) or "?",#collected)
end
if number > 0 then
local pnumbers = nil
diff --git a/tex/context/base/strc-pag.lua b/tex/context/base/strc-pag.lua
index bce965546..f70d37d63 100644
--- a/tex/context/base/strc-pag.lua
+++ b/tex/context/base/strc-pag.lua
@@ -6,7 +6,7 @@ if not modules then modules = { } end modules ['strc-pag'] = {
license = "see context related readme files"
}
-local texcount, format = tex.count, string.format
+local texcount = tex.count
local allocate, mark = utilities.storage.allocate, utilities.storage.mark
@@ -94,8 +94,10 @@ function counters.specials.userpage()
end
end
+local f_convert = string.formatters["\\convertnumber{%s}{%s}"]
+
local function convertnumber(str,n)
- return format("\\convertnumber{%s}{%s}",str or "numbers",n)
+ return f_convert(str or "numbers",n)
end
function pages.number(realdata,pagespec)
diff --git a/tex/context/base/strc-ref.lua b/tex/context/base/strc-ref.lua
index 88a1dc480..b38608966 100644
--- a/tex/context/base/strc-ref.lua
+++ b/tex/context/base/strc-ref.lua
@@ -19,6 +19,7 @@ local texcount, texsetcount = tex.count, tex.setcount
local rawget, tonumber = rawget, tonumber
local lpegmatch = lpeg.match
local copytable = table.copy
+local formatters = string.formatters
local allocate = utilities.storage.allocate
local mark = utilities.storage.mark
@@ -433,7 +434,7 @@ function references.urls.get(name)
if u then
local url, file = u[1], u[2]
if file and file ~= "" then
- return format("%s/%s",url,file)
+ return formatters["%s/%s"](url,file)
else
return url
end
@@ -1576,14 +1577,14 @@ end
references.identify = identify
-local unknowns, nofunknowns = { }, 0
+local unknowns, nofunknowns, f_valid = { }, 0, formatters["[%s][%s]"]
function references.valid(prefix,reference,highlight,newwindow,layer)
local set, bug = identify(prefix,reference)
local unknown = bug or #set == 0
if unknown then
currentreference = nil -- will go away
- local str = format("[%s][%s]",prefix,reference)
+ local str = f_valid(prefix,reference)
local u = unknowns[str]
if not u then
interfaces.showmessage("references",1,str) -- 1 = unknown, 4 = illegal
@@ -1593,7 +1594,7 @@ function references.valid(prefix,reference,highlight,newwindow,layer)
unknowns[str] = u + 1
end
else
- set.highlight, set.newwindow,set.layer = highlight, newwindow, layer
+ set.highlight, set.newwindow, set.layer = highlight, newwindow, layer
currentreference = set[1]
end
-- we can do the expansion here which saves a call
diff --git a/tex/context/base/trac-vis.lua b/tex/context/base/trac-vis.lua
index 05b6c724c..39dc2b34d 100644
--- a/tex/context/base/trac-vis.lua
+++ b/tex/context/base/trac-vis.lua
@@ -10,6 +10,7 @@ local string, number, table = string, number, table
local node, nodes, attributes, fonts, tex = node, nodes, attributes, fonts, tex
local type = type
local format = string.format
+local formatters = string.formatters
-- This module started out in the early days of mkiv and luatex with
-- visualizing kerns related to fonts. In the process of cleaning up the
@@ -200,10 +201,10 @@ local function setvisual(n,a,what) -- this will become more efficient when we ha
visualizers.setfont(fonts.definers.define { name = "lmmonoltcond10regular", size = tex.sp("4pt") })
end
for mode, value in next, modes do
- local tag = format("v_%s",mode)
+ local tag = formatters["v_%s"](mode)
attributes.viewerlayers.define {
- tag = format(tag),
- title = format("visualizer %s",mode),
+ tag = tag,
+ title = formatters["visualizer %s"](mode),
visible = "start",
editable = "yes",
printable = "yes"
@@ -248,7 +249,7 @@ local function set(mode,v)
end
for mode, value in next, modes do
- trackers.register(format("visualizers.%s",mode), function(v) set(mode,v) end)
+ trackers.register(formatters["visualizers.%s"](mode), function(v) set(mode,v) end)
end
trackers.register("visualizers.reset", function(v) set("reset", v) end)
@@ -305,7 +306,7 @@ local function fontkern(head,current)
if info then
-- print("hit fontkern")
else
- local text = fast_hpack_string(format(" %0.3f",kern*pt_factor),usedfont)
+ local text = fast_hpack_string(formatters[" %0.3f"](kern*pt_factor),usedfont)
local rule = new_rule(emwidth/10,6*exheight,2*exheight)
local list = text.list
if kern > 0 then
@@ -373,7 +374,7 @@ local function whatsit(head,current)
-- print("hit whatsit")
else
local tag = whatsitcodes[what]
- info = sometext(format("W:%s",tag and tags[tag] or what),usedfont)
+ info = sometext(formatters["W:%s"](tag and tags[tag] or what),usedfont)
info[a_layer] = l_whatsit
w_cache[what] = info
end
@@ -387,7 +388,7 @@ local function user(head,current)
if info then
-- print("hit user")
else
- info = sometext(format("U:%s",what),usedfont)
+ info = sometext(formatters["U:%s"](what),usedfont)
info[a_layer] = l_user
w_cache[what] = info
end
@@ -587,7 +588,7 @@ local function ruledglue(head,current,vertical)
local spec = current.spec
local width = spec.width
local subtype = current.subtype
- local amount = format("%s:%0.3f",tags[subtype] or (vertical and "VS") or "HS",width*pt_factor)
+ local amount = formatters["%s:%0.3f"](tags[subtype] or (vertical and "VS") or "HS",width*pt_factor)
local info = g_cache[amount]
if info then
-- print("glue hit")
@@ -625,7 +626,7 @@ local function ruledkern(head,current,vertical)
if info then
-- print("kern hit")
else
- local amount = format("%s:%0.3f",vertical and "VK" or "HK",kern*pt_factor)
+ local amount = formatters["%s:%0.3f"](vertical and "VK" or "HK",kern*pt_factor)
if kern > 0 then
info = sometext(amount,l_kern,c_positive)
elseif kern < 0 then
@@ -651,7 +652,7 @@ local function ruledpenalty(head,current,vertical)
if info then
-- print("penalty hit")
else
- local amount = format("%s:%s",vertical and "VP" or "HP",penalty)
+ local amount = formatters["%s:%s"](vertical and "VP" or "HP",penalty)
if penalty > 0 then
info = sometext(amount,l_penalty,c_positive)
elseif penalty < 0 then
diff --git a/tex/context/base/typo-mar.lua b/tex/context/base/typo-mar.lua
index 9f9fe9168..ec827883d 100644
--- a/tex/context/base/typo-mar.lua
+++ b/tex/context/base/typo-mar.lua
@@ -56,19 +56,19 @@ if not modules then modules = { } end modules ['typo-mar'] = {
-- local latelua = nodes.pool.latelua
--
-- function anchors.node_set(tag)
--- return latelua(format("anchors.set(%q)",tag))
+-- return latelua(formatters["anchors.set(%q)"](tag))
-- end
--
-- function anchors.node_reset(tag)
--- return latelua(format("anchors.reset(%q)",tag))
+-- return latelua(formatters["anchors.reset(%q)"](tag))
-- end
--
-- function anchors.node_start_move(tag,how)
--- return latelua(format("anchors.startmove(%q,%q)",tag,how))
+-- return latelua(formatters["anchors.startmove(%q,%q)](tag,how))
-- end
--
-- function anchors.node_stop_move(tag)
--- return latelua(format("anchors.stopmove(%q)",tag))
+-- return latelua(formatters["anchors.stopmove(%q)"](tag))
-- end
-- so far
diff --git a/tex/context/base/x-chemml.lua b/tex/context/base/x-chemml.lua
index 64bbb3408..79c1d9525 100644
--- a/tex/context/base/x-chemml.lua
+++ b/tex/context/base/x-chemml.lua
@@ -8,7 +8,7 @@ if not modules then modules = { } end modules ['x-chemml'] = {
-- not yet acceptable cld
-local format, lower, upper, gsub, sub = string.format, string.lower, string.upper, string.gsub, string.sub
+local format, lower, upper, gsub, sub, match = string.format, string.lower, string.upper, string.gsub, string.sub, string.match
local concat = table.concat
local chemml = { }
@@ -17,7 +17,7 @@ moduledata.chemml = chemml
function chemml.pi(id)
local str = xml.content(lxml.id(id))
- local _, class, key, value = str:match("^(%S+)%s+(%S+)%s+(%S+)%s+(%S+)%s*$")
+ local _, class, key, value = match(str,"^(%S+)%s+(%S+)%s+(%S+)%s+(%S+)%s*$")
if key and value then
context("\\setupCMLappearance[%s][%s=%s]",class, key, value)
end
diff --git a/tex/context/interface/keys-cs.xml b/tex/context/interface/keys-cs.xml
index d23b118bf..ad0cf2dca 100644
--- a/tex/context/interface/keys-cs.xml
+++ b/tex/context/interface/keys-cs.xml
@@ -263,6 +263,7 @@
<cd:variable name='leftpage' value='levastranka'/>
<cd:variable name='lefttoright' value='lefttoright'/>
<cd:variable name='legend' value='legenda'/>
+ <cd:variable name='less' value='less'/>
<cd:variable name='lesshyphenation' value='lesshyphenation'/>
<cd:variable name='line' value='radek'/>
<cd:variable name='linenote' value='linenote'/>
@@ -303,6 +304,7 @@
<cd:variable name='monday' value='pondeli'/>
<cd:variable name='mono' value='mono'/>
<cd:variable name='month' value='mesic'/>
+ <cd:variable name='more' value='more'/>
<cd:variable name='morehyphenation' value='morehyphenation'/>
<cd:variable name='name' value='jmeno'/>
<cd:variable name='narrow' value='uzky'/>
diff --git a/tex/context/interface/keys-de.xml b/tex/context/interface/keys-de.xml
index 8212bbcee..5d107ca40 100644
--- a/tex/context/interface/keys-de.xml
+++ b/tex/context/interface/keys-de.xml
@@ -263,6 +263,7 @@
<cd:variable name='leftpage' value='linkerseite'/>
<cd:variable name='lefttoright' value='lefttoright'/>
<cd:variable name='legend' value='legende'/>
+ <cd:variable name='less' value='less'/>
<cd:variable name='lesshyphenation' value='lesshyphenation'/>
<cd:variable name='line' value='zeile'/>
<cd:variable name='linenote' value='linenote'/>
@@ -303,6 +304,7 @@
<cd:variable name='monday' value='montag'/>
<cd:variable name='mono' value='mono'/>
<cd:variable name='month' value='monat'/>
+ <cd:variable name='more' value='more'/>
<cd:variable name='morehyphenation' value='morehyphenation'/>
<cd:variable name='name' value='name'/>
<cd:variable name='narrow' value='schmall'/>
diff --git a/tex/context/interface/keys-en.xml b/tex/context/interface/keys-en.xml
index a45d0fa74..d9166d107 100644
--- a/tex/context/interface/keys-en.xml
+++ b/tex/context/interface/keys-en.xml
@@ -263,6 +263,7 @@
<cd:variable name='leftpage' value='leftpage'/>
<cd:variable name='lefttoright' value='lefttoright'/>
<cd:variable name='legend' value='legend'/>
+ <cd:variable name='less' value='less'/>
<cd:variable name='lesshyphenation' value='lesshyphenation'/>
<cd:variable name='line' value='line'/>
<cd:variable name='linenote' value='linenote'/>
@@ -303,6 +304,7 @@
<cd:variable name='monday' value='monday'/>
<cd:variable name='mono' value='mono'/>
<cd:variable name='month' value='month'/>
+ <cd:variable name='more' value='more'/>
<cd:variable name='morehyphenation' value='morehyphenation'/>
<cd:variable name='name' value='name'/>
<cd:variable name='narrow' value='narrow'/>
diff --git a/tex/context/interface/keys-fr.xml b/tex/context/interface/keys-fr.xml
index 3736c85db..c98826cf3 100644
--- a/tex/context/interface/keys-fr.xml
+++ b/tex/context/interface/keys-fr.xml
@@ -263,6 +263,7 @@
<cd:variable name='leftpage' value='pagegauche'/>
<cd:variable name='lefttoright' value='lefttoright'/>
<cd:variable name='legend' value='legende'/>
+ <cd:variable name='less' value='less'/>
<cd:variable name='lesshyphenation' value='lesshyphenation'/>
<cd:variable name='line' value='ligne'/>
<cd:variable name='linenote' value='noteligne'/>
@@ -303,6 +304,7 @@
<cd:variable name='monday' value='lundi'/>
<cd:variable name='mono' value='mono'/>
<cd:variable name='month' value='mois'/>
+ <cd:variable name='more' value='more'/>
<cd:variable name='morehyphenation' value='morehyphenation'/>
<cd:variable name='name' value='nom'/>
<cd:variable name='narrow' value='etroit'/>
diff --git a/tex/context/interface/keys-it.xml b/tex/context/interface/keys-it.xml
index a007be298..afe3b8360 100644
--- a/tex/context/interface/keys-it.xml
+++ b/tex/context/interface/keys-it.xml
@@ -263,6 +263,7 @@
<cd:variable name='leftpage' value='paginasinistra'/>
<cd:variable name='lefttoright' value='lefttoright'/>
<cd:variable name='legend' value='legenda'/>
+ <cd:variable name='less' value='less'/>
<cd:variable name='lesshyphenation' value='lesshyphenation'/>
<cd:variable name='line' value='riga'/>
<cd:variable name='linenote' value='linenote'/>
@@ -303,6 +304,7 @@
<cd:variable name='monday' value='lunedi'/>
<cd:variable name='mono' value='mono'/>
<cd:variable name='month' value='mese'/>
+ <cd:variable name='more' value='more'/>
<cd:variable name='morehyphenation' value='morehyphenation'/>
<cd:variable name='name' value='nome'/>
<cd:variable name='narrow' value='stretto'/>
diff --git a/tex/context/interface/keys-nl.xml b/tex/context/interface/keys-nl.xml
index cfa2d94bf..226c96839 100644
--- a/tex/context/interface/keys-nl.xml
+++ b/tex/context/interface/keys-nl.xml
@@ -263,6 +263,7 @@
<cd:variable name='leftpage' value='linkerpagina'/>
<cd:variable name='lefttoright' value='lefttoright'/>
<cd:variable name='legend' value='legenda'/>
+ <cd:variable name='less' value='minder'/>
<cd:variable name='lesshyphenation' value='lesshyphenation'/>
<cd:variable name='line' value='regel'/>
<cd:variable name='linenote' value='regelnoot'/>
@@ -303,6 +304,7 @@
<cd:variable name='monday' value='maandag'/>
<cd:variable name='mono' value='mono'/>
<cd:variable name='month' value='maand'/>
+ <cd:variable name='more' value='meer'/>
<cd:variable name='morehyphenation' value='morehyphenation'/>
<cd:variable name='name' value='naam'/>
<cd:variable name='narrow' value='smal'/>
diff --git a/tex/context/interface/keys-pe.xml b/tex/context/interface/keys-pe.xml
index 5c3420a21..9303c29fd 100644
--- a/tex/context/interface/keys-pe.xml
+++ b/tex/context/interface/keys-pe.xml
@@ -263,6 +263,7 @@
<cd:variable name='leftpage' value='صفحه‌چپ'/>
<cd:variable name='lefttoright' value='lefttoright'/>
<cd:variable name='legend' value='راهنما'/>
+ <cd:variable name='less' value='less'/>
<cd:variable name='lesshyphenation' value='شکست‌کلمات‌کمتر'/>
<cd:variable name='line' value='خط'/>
<cd:variable name='linenote' value='خط‌نوشت'/>
@@ -303,6 +304,7 @@
<cd:variable name='monday' value='دوشنبه'/>
<cd:variable name='mono' value='مونو'/>
<cd:variable name='month' value='ماه'/>
+ <cd:variable name='more' value='more'/>
<cd:variable name='morehyphenation' value='شکست‌کلمات‌بیشتر'/>
<cd:variable name='name' value='نام'/>
<cd:variable name='narrow' value='نازک'/>
diff --git a/tex/context/interface/keys-ro.xml b/tex/context/interface/keys-ro.xml
index b4f8f6276..29368c9bc 100644
--- a/tex/context/interface/keys-ro.xml
+++ b/tex/context/interface/keys-ro.xml
@@ -263,6 +263,7 @@
<cd:variable name='leftpage' value='paginastanga'/>
<cd:variable name='lefttoright' value='lefttoright'/>
<cd:variable name='legend' value='legenda'/>
+ <cd:variable name='less' value='less'/>
<cd:variable name='lesshyphenation' value='lesshyphenation'/>
<cd:variable name='line' value='linie'/>
<cd:variable name='linenote' value='linenote'/>
@@ -303,6 +304,7 @@
<cd:variable name='monday' value='luni'/>
<cd:variable name='mono' value='mono'/>
<cd:variable name='month' value='luna'/>
+ <cd:variable name='more' value='more'/>
<cd:variable name='morehyphenation' value='morehyphenation'/>
<cd:variable name='name' value='nume'/>
<cd:variable name='narrow' value='ingust'/>
diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua
index 9445993e2..4aac7d36b 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 : 03/15/13 11:59:36
+-- merge date : 03/15/13 19:22:42
do -- begin closure to overcome local limits and interference
@@ -164,7 +164,7 @@ local function loadedaslib(resolved,rawname)
end
local function loadedbylua(name)
if helpers.trace then
- helpers.report("! locating %q using normal loader",name)
+ helpers.report("! locating '%s' using normal loader",name)
end
return searchers[-2](name)
end
@@ -172,17 +172,17 @@ local function loadedbypath(name,rawname,paths,islib,what)
local trace=helpers.trace
local report=helpers.report
if trace then
- report("! locating %q as %q on %q paths",rawname,name,what)
+ report("! locating '%s' as '%s' on '%s' paths",rawname,name,what)
end
for p=1,#paths do
local path=paths[p]
local resolved=filejoin(path,name)
if trace then
- report("! checking for %q using %q path %q",name,what,path)
+ report("! checking for '%s' using '%s' path '%s'",name,what,path)
end
if isreadable(resolved) then
if trace then
- report("! lib %q located on %q",name,resolved)
+ report("! lib '%s' located on '%s'",name,resolved)
end
if islib then
return loadedaslib(resolved,rawname)
@@ -194,7 +194,7 @@ local function loadedbypath(name,rawname,paths,islib,what)
end
local function notloaded(name)
if helpers.trace then
- helpers.report("? unable to locate library %q",name)
+ helpers.report("? unable to locate library '%s'",name)
end
end
helpers.loadedaslib=loadedaslib
@@ -869,7 +869,7 @@ function string.escapedpattern(str,simple)
return lpegmatch(simple and pattern_b or pattern_a,str)
end
function string.topattern(str,lowercase,strict)
- if str=="" then
+ if str=="" or type(str)~="string" then
return ".*"
elseif strict then
str=lpegmatch(pattern_c,str)
@@ -5582,7 +5582,7 @@ actions["add dimensions"]=function(data,filename)
if not wd then
d.width=defaultwidth
elseif trace_markwidth and wd~=0 and d.class=="mark" then
- report_otf("mark %a with width %b found in %s",d.name or "<noname>",wd,basename)
+ report_otf("mark %a with width %b found in %a",d.name or "<noname>",wd,basename)
end
setmetatable(d,mt)
end
@@ -5592,7 +5592,7 @@ actions["add dimensions"]=function(data,filename)
if not wd then
d.width=defaultwidth
elseif trace_markwidth and wd~=0 and d.class=="mark" then
- report_otf("mark %a with width %b found in %s",d.name or "<noname>",wd,basename)
+ report_otf("mark %a with width %b found in %a",d.name or "<noname>",wd,basename)
end
if bb then
local ht,dp=bb[4],-bb[2]
@@ -7075,7 +7075,7 @@ local function finalize_ligatures(tfmdata,ligatures)
if ligature then
local unicode,lookupdata=ligature[1],ligature[2]
if trace then
- trace_ligatures_detail("building %q into %q",concat(lookupdata," "),unicode)
+ trace_ligatures_detail("building % a into %a",lookupdata,unicode)
end
local size=#lookupdata
local firstcode=lookupdata[1]
@@ -7088,7 +7088,7 @@ local function finalize_ligatures(tfmdata,ligatures)
if not firstdata then
firstcode=private
if trace then
- trace_ligatures_detail("defining %q as %q",firstname,firstcode)
+ trace_ligatures_detail("defining %a as %a",firstname,firstcode)
end
unicodes[firstname]=firstcode
firstdata={ intermediate=true,ligatures={} }
@@ -7112,7 +7112,7 @@ local function finalize_ligatures(tfmdata,ligatures)
end
end
if trace then
- trace_ligatures_detail("codes (%s,%s) + (%s,%s) -> %s",firstname,firstcode,secondname,secondcode,target)
+ trace_ligatures_detail("codes (%a,%a) + (%a,%a) -> %a",firstname,firstcode,secondname,secondcode,target)
end
local firstligs=firstdata.ligatures
if firstligs then
@@ -8588,12 +8588,12 @@ function handlers.gsub_alternate(head,start,kind,lookupname,alternative,sequence
local choice=get_alternative_glyph(start,alternative,value)
if choice then
if trace_alternatives then
- logprocess("%s: replacing %s by alternative %s (%s)",pref(kind,lookupname),gref(start.char),gref(choice),choice)
+ logprocess("%s: replacing %s by alternative %a to %s",pref(kind,lookupname),gref(start.char),choice,gref(choice))
end
start.char=choice
else
if trace_alternatives then
- logwarning("%s: no variant %s for %s",pref(kind,lookupname),tostring(value),gref(start.char))
+ logwarning("%s: no variant %a for %s",pref(kind,lookupname),value,gref(start.char))
end
end
return head,start,true
@@ -9116,12 +9116,12 @@ function chainprocs.gsub_alternate(head,start,stop,kind,chainname,currentcontext
local choice=get_alternative_glyph(current,alternatives,value)
if choice then
if trace_alternatives then
- logprocess("%s: replacing %s by alternative %s (%s)",cref(kind,chainname,chainlookupname,lookupname),gref(char),gref(choice),choice)
+ logprocess("%s: replacing %s by alternative %a to %s",cref(kind,chainname,chainlookupname,lookupname),gref(char),choice,gref(choice))
end
start.char=choice
else
if trace_alternatives then
- logwarning("%s: no variant %s for %s",cref(kind,chainname,chainlookupname,lookupname),tostring(value),gref(char))
+ logwarning("%s: no variant %a for %s",cref(kind,chainname,chainlookupname,lookupname),value,gref(char))
end
end
elseif trace_bugs then
@@ -9545,9 +9545,9 @@ function chainprocs.gpos_pair(head,start,stop,kind,chainname,currentcontext,look
end
local function show_skip(kind,chainname,char,ck,class)
if ck[9] then
- logwarning("%s: skipping char %s (%s) in rule %s, lookuptype %s (%s=>%s)",cref(kind,chainname),gref(char),class,ck[1],ck[2],ck[9],ck[10])
+ logwarning("%s: skipping char %s, class %a, rule %a, lookuptype %a, %a => %a",cref(kind,chainname),gref(char),class,ck[1],ck[2],ck[9],ck[10])
else
- logwarning("%s: skipping char %s (%s) in rule %s, lookuptype %s",cref(kind,chainname),gref(char),class,ck[1],ck[2])
+ logwarning("%s: skipping char %s, class %a, rule %a, lookuptype %a",cref(kind,chainname),gref(char),class,ck[1],ck[2])
end
end
local function normal_handle_contextchain(head,start,kind,chainname,contexts,sequence,lookuphash)
@@ -9743,10 +9743,10 @@ local function normal_handle_contextchain(head,start,kind,chainname,contexts,seq
local rule,lookuptype,f,l=ck[1],ck[2],ck[4],ck[5]
local char=start.char
if ck[9] then
- logwarning("%s: rule %s matches at char %s for (%s,%s,%s) chars, lookuptype %s (%s=>%s)",
+ logwarning("%s: rule %s matches at char %s for (%s,%s,%s) chars, lookuptype %a, %a => %a",
cref(kind,chainname),rule,gref(char),f-1,l-f+1,s-l,lookuptype,ck[9],ck[10])
else
- logwarning("%s: rule %s matches at char %s for (%s,%s,%s) chars, lookuptype %s",
+ logwarning("%s: rule %s matches at char %s for (%s,%s,%s) chars, lookuptype %a",
cref(kind,chainname),rule,gref(char),f-1,l-f+1,s-l,lookuptype)
end
end
@@ -9834,7 +9834,7 @@ function otf.setcontextchain(method)
end
handlers.contextchain=normal_handle_contextchain
else
- logwarning("installing contextchain handler '%s'",method)
+ logwarning("installing contextchain handler %a",method)
local handler=otf.chainhandlers[method]
handlers.contextchain=function(...)
return handler(currentfont,...)
@@ -9860,7 +9860,7 @@ local function report_missing_cache(typ,lookup)
local t=f[typ] if not t then t={} f[typ]=t end
if not t[lookup] then
t[lookup]=true
- logwarning("missing cache for lookup %s of type %s in font %s (%s)",lookup,typ,currentfont,tfmdata.properties.fullname)
+ logwarning("missing cache for lookup %a, type %a, font %a, name %a",lookup,typ,currentfont,tfmdata.properties.fullname)
end
end
local resolved={}