diff options
Diffstat (limited to 'tex/context/base')
-rw-r--r-- | tex/context/base/mkii/cont-new.mkii | 2 | ||||
-rw-r--r-- | tex/context/base/mkii/context.mkii | 2 | ||||
-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-ttf.lua | 6 | ||||
-rw-r--r-- | tex/context/base/mkiv/mult-prm.lua | 3 | ||||
-rw-r--r-- | tex/context/base/mkiv/status-files.pdf | bin | 23949 -> 23948 bytes | |||
-rw-r--r-- | tex/context/base/mkiv/status-lua.pdf | bin | 230146 -> 230191 bytes | |||
-rw-r--r-- | tex/context/base/mkxl/cont-new.mkxl | 2 | ||||
-rw-r--r-- | tex/context/base/mkxl/context.mkxl | 2 | ||||
-rw-r--r-- | tex/context/base/mkxl/font-chk.lmt | 1 | ||||
-rw-r--r-- | tex/context/base/mkxl/font-tex.lmt | 24 | ||||
-rw-r--r-- | tex/context/base/mkxl/lpdf-emb.lmt | 6 | ||||
-rw-r--r-- | tex/context/base/mkxl/math-del.mkxl | 4 | ||||
-rw-r--r-- | tex/context/base/mkxl/math-fnt.lmt | 50 | ||||
-rw-r--r-- | tex/context/base/mkxl/math-ini.mkxl | 1 | ||||
-rw-r--r-- | tex/context/base/mkxl/node-shp.lmt | 2 |
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 Binary files differindex f1d723687..592ac1160 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 a8c81db5d..9ee55e834 100644 --- a/tex/context/base/mkiv/status-lua.pdf +++ b/tex/context/base/mkiv/status-lua.pdf 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 |