diff options
Diffstat (limited to 'tex/context/base/mkiv')
-rw-r--r-- | tex/context/base/mkiv/cont-new.mkiv | 2 | ||||
-rw-r--r-- | tex/context/base/mkiv/context.mkiv | 2 | ||||
-rw-r--r-- | tex/context/base/mkiv/font-con.lua | 18 | ||||
-rw-r--r-- | tex/context/base/mkiv/font-otl.lua | 40 | ||||
-rw-r--r-- | tex/context/base/mkiv/font-pre.mkiv | 8 | ||||
-rw-r--r-- | tex/context/base/mkiv/spac-chr.lua | 35 | ||||
-rw-r--r-- | tex/context/base/mkiv/status-files.pdf | bin | 24564 -> 24578 bytes | |||
-rw-r--r-- | tex/context/base/mkiv/status-lua.pdf | bin | 263628 -> 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 Binary files differindex 13b79a990..c5ec75d70 100644 --- a/tex/context/base/mkiv/status-files.pdf +++ b/tex/context/base/mkiv/status-files.pdf diff --git a/tex/context/base/mkiv/status-lua.pdf b/tex/context/base/mkiv/status-lua.pdf Binary files differindex bd256d4ec..afc189b09 100644 --- a/tex/context/base/mkiv/status-lua.pdf +++ b/tex/context/base/mkiv/status-lua.pdf |