summaryrefslogtreecommitdiff
path: root/tex/context/base
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/base')
-rw-r--r--tex/context/base/mkii/cont-new.mkii2
-rw-r--r--tex/context/base/mkii/context.mkii2
-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-ttf.lua6
-rw-r--r--tex/context/base/mkiv/mult-prm.lua3
-rw-r--r--tex/context/base/mkiv/status-files.pdfbin23949 -> 23948 bytes
-rw-r--r--tex/context/base/mkiv/status-lua.pdfbin230146 -> 230191 bytes
-rw-r--r--tex/context/base/mkxl/cont-new.mkxl2
-rw-r--r--tex/context/base/mkxl/context.mkxl2
-rw-r--r--tex/context/base/mkxl/font-chk.lmt1
-rw-r--r--tex/context/base/mkxl/font-tex.lmt24
-rw-r--r--tex/context/base/mkxl/lpdf-emb.lmt6
-rw-r--r--tex/context/base/mkxl/math-del.mkxl4
-rw-r--r--tex/context/base/mkxl/math-fnt.lmt50
-rw-r--r--tex/context/base/mkxl/math-ini.mkxl1
-rw-r--r--tex/context/base/mkxl/node-shp.lmt2
17 files changed, 96 insertions, 13 deletions
diff --git a/tex/context/base/mkii/cont-new.mkii b/tex/context/base/mkii/cont-new.mkii
index 90e3723f7..9fdbddad2 100644
--- a/tex/context/base/mkii/cont-new.mkii
+++ b/tex/context/base/mkii/cont-new.mkii
@@ -11,7 +11,7 @@
%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
%C details.
-\newcontextversion{2021.06.10 23:09}
+\newcontextversion{2021.06.11 17:55}
%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/mkii/context.mkii b/tex/context/base/mkii/context.mkii
index 15405b852..23852307b 100644
--- a/tex/context/base/mkii/context.mkii
+++ b/tex/context/base/mkii/context.mkii
@@ -20,7 +20,7 @@
%D your styles an modules.
\edef\contextformat {\jobname}
-\edef\contextversion{2021.06.10 23:09}
+\edef\contextversion{2021.06.11 17:55}
%D For those who want to use this:
diff --git a/tex/context/base/mkiv/cont-new.mkiv b/tex/context/base/mkiv/cont-new.mkiv
index 69e142b5f..c633a8582 100644
--- a/tex/context/base/mkiv/cont-new.mkiv
+++ b/tex/context/base/mkiv/cont-new.mkiv
@@ -13,7 +13,7 @@
% \normalend % uncomment this to get the real base runtime
-\newcontextversion{2021.06.10 23:09}
+\newcontextversion{2021.06.11 17:55}
%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 0eaaf8682..296d63924 100644
--- a/tex/context/base/mkiv/context.mkiv
+++ b/tex/context/base/mkiv/context.mkiv
@@ -45,7 +45,7 @@
%D {YYYY.MM.DD HH:MM} format.
\edef\contextformat {\jobname}
-\edef\contextversion{2021.06.10 23:09}
+\edef\contextversion{2021.06.11 17:55}
%D Kind of special:
diff --git a/tex/context/base/mkiv/font-ttf.lua b/tex/context/base/mkiv/font-ttf.lua
index a2732aa5f..8573d3a06 100644
--- a/tex/context/base/mkiv/font-ttf.lua
+++ b/tex/context/base/mkiv/font-ttf.lua
@@ -136,8 +136,10 @@ local function mergecomposites(glyphs,shapes)
local y = p[2]
nofpoints = nofpoints + 1
points[nofpoints] = {
- xscale * x + xrotate * y + xoffset,
- yscale * y + yrotate * x + yoffset,
+-- xscale * x + xrotate * y + xoffset,
+-- yscale * y + yrotate * x + yoffset,
+ xscale * x + yrotate * y + xoffset,
+ xrotate * x + yscale * y + yoffset,
p[3]
}
end
diff --git a/tex/context/base/mkiv/mult-prm.lua b/tex/context/base/mkiv/mult-prm.lua
index a3e2f2115..364243963 100644
--- a/tex/context/base/mkiv/mult-prm.lua
+++ b/tex/context/base/mkiv/mult-prm.lua
@@ -85,6 +85,8 @@ return {
"Umathaccent",
"Umathaccentbaseheight",
"Umathaccentvariant",
+ "Umathadapttoleft",
+ "Umathadapttoright",
"Umathaxis",
"Umathbinbinspacing",
"Umathbinclosespacing",
@@ -228,6 +230,7 @@ return {
"Umathunderdelimitervariant",
"Umathunderdelimitervgap",
"Umathunderlinevariant",
+ "Umathvextensiblevariant",
"Umiddle",
"Unosubprescript",
"Unosubscript",
diff --git a/tex/context/base/mkiv/status-files.pdf b/tex/context/base/mkiv/status-files.pdf
index f1d723687..592ac1160 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 a8c81db5d..9ee55e834 100644
--- a/tex/context/base/mkiv/status-lua.pdf
+++ b/tex/context/base/mkiv/status-lua.pdf
Binary files differ
diff --git a/tex/context/base/mkxl/cont-new.mkxl b/tex/context/base/mkxl/cont-new.mkxl
index 017357e88..e20c03d1b 100644
--- a/tex/context/base/mkxl/cont-new.mkxl
+++ b/tex/context/base/mkxl/cont-new.mkxl
@@ -13,7 +13,7 @@
% \normalend % uncomment this to get the real base runtime
-\newcontextversion{2021.06.10 23:09}
+\newcontextversion{2021.06.11 17:55}
%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/mkxl/context.mkxl b/tex/context/base/mkxl/context.mkxl
index 1eb9519c2..cb9fcb0d2 100644
--- a/tex/context/base/mkxl/context.mkxl
+++ b/tex/context/base/mkxl/context.mkxl
@@ -29,7 +29,7 @@
%D {YYYY.MM.DD HH:MM} format.
\immutable\edef\contextformat {\jobname}
-\immutable\edef\contextversion{2021.06.10 23:09}
+\immutable\edef\contextversion{2021.06.11 17:55}
%overloadmode 1 % check frozen / warning
%overloadmode 2 % check frozen / error
diff --git a/tex/context/base/mkxl/font-chk.lmt b/tex/context/base/mkxl/font-chk.lmt
index 269e14e81..f14e89aeb 100644
--- a/tex/context/base/mkxl/font-chk.lmt
+++ b/tex/context/base/mkxl/font-chk.lmt
@@ -42,7 +42,6 @@ local fontdata = fonthashes.identifiers
local fontcharacters = fonthashes.characters
local currentfont = font.current
-local addcharacters = font.addcharacters
local definers = fonts.definers
local helpers = fonts.helpers
diff --git a/tex/context/base/mkxl/font-tex.lmt b/tex/context/base/mkxl/font-tex.lmt
index c960953a7..c1908dc48 100644
--- a/tex/context/base/mkxl/font-tex.lmt
+++ b/tex/context/base/mkxl/font-tex.lmt
@@ -84,6 +84,30 @@ local function setboxglyph(specification)
end
end
+function fonts.helpers.setboxdirectly(font,unicode,box) -- hash based on wd/ht/dp
+ if box then
+ local tfmdata = fontdata[font]
+ local glyphboxes = (tfmdata.glyphboxes or 0) + 1
+ tfmdata.glyphboxes = glyphboxes
+ local private = newprivateslot(formatters["BG:%05X"](glyphboxes))
+ local newdata = {
+ width = box.width or 0,
+ height = box.height or 0,
+ depth = box.depth or 0,
+ unicode = unicode,
+ objnum = tex.saveboxresource(box,nil,nil,true),
+ }
+ local specification = {
+ code = newdata
+ }
+ tfmdata.characters[private] = newdata
+ addcharacters(font, { characters = { [private] = newdata } })
+ fonts.dropins.swapone("box",tfmdata,specification,private)
+ checkenabled()
+ return private
+ end
+end
+
local boxes = table.setmetatableindex("table")
function fonts.helpers.registerglyphbox(specification)
diff --git a/tex/context/base/mkxl/lpdf-emb.lmt b/tex/context/base/mkxl/lpdf-emb.lmt
index 35e5cae18..f66753e9b 100644
--- a/tex/context/base/mkxl/lpdf-emb.lmt
+++ b/tex/context/base/mkxl/lpdf-emb.lmt
@@ -271,9 +271,9 @@ end
if minindex > maxindex then
minindex = maxindex
end
- if next(copies) then
- inspect(copies)
- end
+ -- if next(copies) then
+ -- inspect(copies)
+ -- end
return indices, copies, minindex, maxindex
end
diff --git a/tex/context/base/mkxl/math-del.mkxl b/tex/context/base/mkxl/math-del.mkxl
index 538883bfc..8f2596359 100644
--- a/tex/context/base/mkxl/math-del.mkxl
+++ b/tex/context/base/mkxl/math-del.mkxl
@@ -121,7 +121,9 @@
% \definemathdelimiter[integral][\c!symbol="222B]
-\permanent\protected\def\integral{\int\Umathadaptsize}
+\permanent\protected\def\integral{\int\Umathadapttoright}
+
+\aliased\let\Umathadaptsize\Umathadapttoright
% \setupmathdelimiter[integral][rightoffset=-3mu,exact=yes,factor=2]
%
diff --git a/tex/context/base/mkxl/math-fnt.lmt b/tex/context/base/mkxl/math-fnt.lmt
new file mode 100644
index 000000000..a3ac1aea3
--- /dev/null
+++ b/tex/context/base/mkxl/math-fnt.lmt
@@ -0,0 +1,50 @@
+if not modules then modules = { } end modules ['math-fnt'] = {
+ version = 1.001,
+ comment = "companion to math-ini.mkiv",
+ author = "Hans Hagen, PRAGMA-ADE, Hasselt NL",
+ copyright = "PRAGMA ADE / ConTeXt Development Team",
+ license = "see context related readme files"
+}
+
+local nuts = nodes.nuts
+local tonut = nodes.tonut
+local tonode = nodes.tonode
+local nodepool = nuts.pool
+
+local vlist_code = nodes.nodecodes.vlist
+
+local new_hlist = nodepool.hlist
+local new_vlist = nodepool.vlist
+local new_glyph = nodepool.glyph
+
+local getattrlst = nuts.getattributelist
+local setattrlst = nuts.setattributelist
+local setwhd = nuts.setwhd
+local getwhd = nuts.getwhd
+local getid = nuts.getid
+
+local chardata = fonts.hashes.characters
+
+local function register_extensible(font,char,style,box)
+ local bx = tonut(box)
+ nodes.handlers.finalizelist(bx)
+ local id = getid(bx)
+ local al = getattrlst(bx)
+ local wd, ht, dp = getwhd(bx)
+ local private = fonts.helpers.setboxdirectly(font,chardata[font][char].unicode or char,box)
+ local g = new_glyph(font,private)
+ setattrlst(g,al)
+ local n = new_hlist(g)
+ setwhd(n,wd,ht,dp)
+ setattrlst(n,al)
+ if id == vlist_code then
+ h = new_vlist(n)
+ setwhd(n,wd,ht,dp)
+ setattrlst(n,al)
+ end
+ return tonode(n)
+end
+
+experiments.register("math.extensibles", function(v)
+ callback.register("register_extensible", v and register_extensible or nil)
+end)
diff --git a/tex/context/base/mkxl/math-ini.mkxl b/tex/context/base/mkxl/math-ini.mkxl
index c97cfbb77..df2bb7ccb 100644
--- a/tex/context/base/mkxl/math-ini.mkxl
+++ b/tex/context/base/mkxl/math-ini.mkxl
@@ -77,6 +77,7 @@
\registerctxluafile{math-fbk}{}
\registerctxluafile{math-dir}{}
\registerctxluafile{math-spa}{}
+\registerctxluafile{math-fnt}{autosuffix}
%D A starter:
%D
diff --git a/tex/context/base/mkxl/node-shp.lmt b/tex/context/base/mkxl/node-shp.lmt
index a4171e379..983d2dbbe 100644
--- a/tex/context/base/mkxl/node-shp.lmt
+++ b/tex/context/base/mkxl/node-shp.lmt
@@ -30,6 +30,8 @@ local implement = interfaces.implement
local actions = tasks.actions("shipouts")
+handlers.finalizelist = actions
+
function handlers.finalizebox(box)
actions(getbox(box)) -- nut
end