diff options
Diffstat (limited to 'tex/context/base/mkiv/syst-aux.lua')
-rw-r--r-- | tex/context/base/mkiv/syst-aux.lua | 37 |
1 files changed, 26 insertions, 11 deletions
diff --git a/tex/context/base/mkiv/syst-aux.lua b/tex/context/base/mkiv/syst-aux.lua index 34e5c4e88..06f6176b1 100644 --- a/tex/context/base/mkiv/syst-aux.lua +++ b/tex/context/base/mkiv/syst-aux.lua @@ -11,7 +11,7 @@ if not modules then modules = { } end modules ['syst-aux'] = { -- utfmatch(str,"(.?)(.*)$") -- utf.sub(str,1,1) -local tonumber = tonumber +local tonumber, next = tonumber, next local utfsub = utf.sub local P, S, R, C, Cc, Cs, Carg, lpegmatch = lpeg.P, lpeg.S, lpeg.R, lpeg.C, lpeg.Cc, lpeg.Cs, lpeg.Carg, lpeg.match local next = next @@ -23,7 +23,7 @@ local formatters = string.formatters local setcatcode = tex.setcatcode local utf8character = lpeg.patterns.utf8character local settings_to_array = utilities.parsers.settings_to_array -local settings_to_set = utilities.parsers.settings_to_set +local settings_to_set = utilities.parsers.settings_to_set local setmacro = interfaces.setmacro local pattern = C(utf8character^-1) * C(P(1)^0) @@ -390,8 +390,8 @@ local function doifelsecommon(a,b) end return end - local ba = find(a,",") - local bb = find(b,",") + local ba = find(a,",",1,true) + local bb = find(b,",",1,true) if ba and bb then local ha = hash[a] local hb = hash[b] @@ -433,8 +433,8 @@ local function doifcommon(a,b) end return end - local ba = find(a,",") - local bb = find(b,",") + local ba = find(a,",",1,true) + local bb = find(b,",",1,true) if ba and bb then local ha = hash[a] local hb = hash[b] @@ -476,8 +476,8 @@ local function doifnotcommon(a,b) end return end - local ba = find(a,",") - local bb = find(b,",") + local ba = find(a,",",1,true) + local bb = find(b,",",1,true) if ba and bb then local ha = hash[a] local hb = hash[b] @@ -519,7 +519,7 @@ local function doifelseinset(a,b) end return end - local bb = find(b,",") + local bb = find(b,",",1,true) if bb then if hash[b][a] then -- if settings_to_set(b)[a] then @@ -542,7 +542,7 @@ local function doifinset(a,b) end return end - local bb = find(b,",") + local bb = find(b,",",1,true) if bb then if hash[b][a] then -- if settings_to_set(b)[a] then @@ -565,7 +565,7 @@ local function doifnotinset(a,b) end return end - local bb = find(b,",") + local bb = find(b,",",1,true) if bb then if hash[b][a] then -- if settings_to_set(b)[a] then @@ -652,3 +652,18 @@ implement { -- context(s) -- end -- } + +local bp = number.dimenfactors.bp + +interfaces.implement { + name = "tobigpoints", + actions = function(d) context("%.5F",bp * d) end, + arguments = "dimension", +} + +interfaces.implement { + name = "towholebigpoints", + actions = function(d) context("%r",bp * d) end, + arguments = "dimension", +} + |