summaryrefslogtreecommitdiff
path: root/tex/context/base/mkiv
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/base/mkiv')
-rw-r--r--tex/context/base/mkiv/cont-new.mkiv2
-rw-r--r--tex/context/base/mkiv/context.mkiv2
-rw-r--r--tex/context/base/mkiv/font-con.lua18
-rw-r--r--tex/context/base/mkiv/font-otl.lua40
-rw-r--r--tex/context/base/mkiv/font-pre.mkiv8
-rw-r--r--tex/context/base/mkiv/spac-chr.lua35
-rw-r--r--tex/context/base/mkiv/status-files.pdfbin24564 -> 24578 bytes
-rw-r--r--tex/context/base/mkiv/status-lua.pdfbin263628 -> 263632 bytes
8 files changed, 73 insertions, 32 deletions
diff --git a/tex/context/base/mkiv/cont-new.mkiv b/tex/context/base/mkiv/cont-new.mkiv
index 333a3dc54..db7e8f9a2 100644
--- a/tex/context/base/mkiv/cont-new.mkiv
+++ b/tex/context/base/mkiv/cont-new.mkiv
@@ -13,7 +13,7 @@
% \normalend % uncomment this to get the real base runtime
-\newcontextversion{2022.11.14 22:54}
+\newcontextversion{2022.11.18 13:15}
%D This file is loaded at runtime, thereby providing an excellent place for hacks,
%D patches, extensions and new features. There can be local overloads in cont-loc
diff --git a/tex/context/base/mkiv/context.mkiv b/tex/context/base/mkiv/context.mkiv
index db4a0a66f..107874ffd 100644
--- a/tex/context/base/mkiv/context.mkiv
+++ b/tex/context/base/mkiv/context.mkiv
@@ -49,7 +49,7 @@
%D {YYYY.MM.DD HH:MM} format.
\edef\contextformat {\jobname}
-\edef\contextversion{2022.11.14 22:54}
+\edef\contextversion{2022.11.18 13:15}
%D Kind of special:
diff --git a/tex/context/base/mkiv/font-con.lua b/tex/context/base/mkiv/font-con.lua
index 820e45f52..066ea33ed 100644
--- a/tex/context/base/mkiv/font-con.lua
+++ b/tex/context/base/mkiv/font-con.lua
@@ -390,15 +390,15 @@ function constructors.scale(tfmdata,specification)
local textsize = tonumber(specification.textsize) or scaledpoints
-- local forcedsize = tonumber(parameters.mathsize ) or 0 -- can be set by the feature "mathsize"
local extrafactor = tonumber(specification.factor ) or 1
- -- if (mathsize == 2 or forcedsize == 2) and parameters.scriptpercentage then
- -- scaledpoints = parameters.scriptpercentage * textsize / 100
- -- elseif (mathsize == 3 or forcedsize == 3) and parameters.scriptscriptpercentage then
- -- scaledpoints = parameters.scriptscriptpercentage * textsize / 100
- -- elseif forcedsize > 1000 then -- safeguard
- -- scaledpoints = forcedsize
- -- else
- -- -- in context x and xx also use mathsize
- -- end
+ -- if context then
+ -- -- do nothing, as we moved this upstream
+ -- elseif (mathsize == 2 or forcedsize == 2) and parameters.scriptpercentage then
+ -- scaledpoints = parameters.scriptpercentage * textsize / 100
+ -- elseif (mathsize == 3 or forcedsize == 3) and parameters.scriptscriptpercentage then
+ -- scaledpoints = parameters.scriptscriptpercentage * textsize / 100
+ -- elseif forcedsize > 1000 then -- safeguard
+ -- scaledpoints = forcedsize
+ -- end
targetparameters.mathsize = mathsize -- context specific
targetparameters.textsize = textsize -- context specific
-- targetparameters.forcedsize = forcedsize -- context specific
diff --git a/tex/context/base/mkiv/font-otl.lua b/tex/context/base/mkiv/font-otl.lua
index 4199db03f..fc101c9c9 100644
--- a/tex/context/base/mkiv/font-otl.lua
+++ b/tex/context/base/mkiv/font-otl.lua
@@ -643,25 +643,33 @@ local function read_from_otf(specification)
return tfmdata
end
--- local function checkmathsize(tfmdata,mathsize)
--- local mathdata = tfmdata.shared.rawdata.metadata.math
--- local mathsize = tonumber(mathsize)
--- if mathdata then -- we cannot use mathparameters as luatex will complain
--- local parameters = tfmdata.parameters
--- parameters.scriptpercentage = mathdata.ScriptPercentScaleDown
--- parameters.scriptscriptpercentage = mathdata.ScriptScriptPercentScaleDown
--- parameters.mathsize = mathsize -- only when a number !
+-- if context then
+--
+-- -- so the next will go to some generic module instead
+--
+-- else
+--
+-- local function checkmathsize(tfmdata,mathsize)
+-- local mathdata = tfmdata.shared.rawdata.metadata.math
+-- local mathsize = tonumber(mathsize)
+-- if mathdata then -- we cannot use mathparameters as luatex will complain
+-- local parameters = tfmdata.parameters
+-- parameters.scriptpercentage = mathdata.ScriptPercentScaleDown
+-- parameters.scriptscriptpercentage = mathdata.ScriptScriptPercentScaleDown
+-- parameters.mathsize = mathsize -- only when a number !
+-- end
-- end
--- end
--
--- registerotffeature {
--- name = "mathsize",
--- description = "apply mathsize specified in the font",
--- initializers = {
--- base = checkmathsize,
--- node = checkmathsize,
+-- registerotffeature {
+-- name = "mathsize",
+-- description = "apply mathsize specified in the font",
+-- initializers = {
+-- base = checkmathsize,
+-- node = checkmathsize,
+-- }
-- }
--- }
+--
+-- end
-- readers
diff --git a/tex/context/base/mkiv/font-pre.mkiv b/tex/context/base/mkiv/font-pre.mkiv
index 5cd107c23..91a2e818e 100644
--- a/tex/context/base/mkiv/font-pre.mkiv
+++ b/tex/context/base/mkiv/font-pre.mkiv
@@ -417,10 +417,14 @@
% [oldmath]
% [oldmath=yes]
-\ifdefined\mathnolimitsmode
- \mathnolimitsmode\plusone % font driven (only opentype)
+\ifdefined\variablefam
+ \variablefam\pluscclv
\fi
+% \ifdefined\mathnolimitsmode
+% \mathnolimitsmode\plusone % font driven (only opentype)
+% \fi
+
\ifdefined\mathitalicsmode
\mathitalicsmode\plusone % simple noads become zero
% \mathitalicsmode\plustwo % idem but inner is kept (for testing)
diff --git a/tex/context/base/mkiv/spac-chr.lua b/tex/context/base/mkiv/spac-chr.lua
index f9b4da31a..5bc8ae8f6 100644
--- a/tex/context/base/mkiv/spac-chr.lua
+++ b/tex/context/base/mkiv/spac-chr.lua
@@ -186,18 +186,20 @@ local methods = {
-- maybe also 0x0008 : backspace
+ -- Watch out: a return value means "remove"!
+
[0x001E] = function(head,current) -- kind of special
local next = getnext(current)
- head, current = remove_node(head,current,true)
if next and getid(next) == glue_code and getsubtype(next) == spaceskip_code then
local nextnext = getnext(next)
if nextnext then
local char, font = isglyph(nextnext)
if char and not canhavespace[char] then
- remove_node(head,next,true)
+ head, current = remove_node(head,next,true)
end
end
end
+ return head, current
end,
[0x001F] = function(head,current) -- kind of special
@@ -205,13 +207,13 @@ local methods = {
if next then
local char, font = isglyph(next)
if char then
- head, current = remove_node(head,current,true)
if not ispunctuation[char] then
local p = fontparameters[font]
head, current = insertnodebefore(head,current,new_glue(p.space,p.space_stretch,p.space_shrink))
end
end
end
+ return head, current
end,
[0x00A0] = function(head,current) -- nbsp
@@ -338,3 +340,30 @@ function characters.handler(head)
end
return head
end
+
+-- function characters.handler(head)
+-- local wiped = false
+-- for current, char in nextchar, head do
+-- local method = methods[char]
+-- if method then
+-- if wiped then
+-- wiped[#wiped+1] = current
+-- else
+-- wiped = { current }
+-- end
+-- if trace_characters then
+-- report_characters("replacing character %C, description %a",char,lower(chardata[char].description))
+-- end
+-- local h = method(head,current)
+-- if h then
+-- head = h
+-- end
+-- end
+-- end
+-- if wiped then
+-- for i=1,#wiped do
+-- head = remove_node(head,wiped[i],true)
+-- end
+-- end
+-- return head
+-- end
diff --git a/tex/context/base/mkiv/status-files.pdf b/tex/context/base/mkiv/status-files.pdf
index 13b79a990..c5ec75d70 100644
--- a/tex/context/base/mkiv/status-files.pdf
+++ b/tex/context/base/mkiv/status-files.pdf
Binary files differ
diff --git a/tex/context/base/mkiv/status-lua.pdf b/tex/context/base/mkiv/status-lua.pdf
index bd256d4ec..afc189b09 100644
--- a/tex/context/base/mkiv/status-lua.pdf
+++ b/tex/context/base/mkiv/status-lua.pdf
Binary files differ