From f740345a433f2b9736b14f61a98173763e093b6f Mon Sep 17 00:00:00 2001 From: Hans Hagen Date: Wed, 20 Apr 2022 20:17:28 +0200 Subject: 2022-04-20 19:17:00 --- tex/context/base/mkii/cont-new.mkii | 2 +- tex/context/base/mkii/context.mkii | 2 +- tex/context/base/mkiv/cont-new.mkiv | 2 +- tex/context/base/mkiv/context.mkiv | 2 +- tex/context/base/mkiv/publ-ini.lua | 26 ++--- tex/context/base/mkiv/status-files.pdf | Bin 24624 -> 24636 bytes tex/context/base/mkiv/status-lua.pdf | Bin 257224 -> 257224 bytes tex/context/base/mkiv/util-tbs.lua | 114 +++++++++++++++++++++ tex/context/base/mkxl/cont-new.mkxl | 2 +- tex/context/base/mkxl/context.mkxl | 2 +- tex/context/fonts/mkiv/bonum-math.lfg | 6 +- tex/context/fonts/mkiv/cambria-math.lfg | 40 ++++---- tex/context/fonts/mkiv/garamond-math.lfg | 36 +++---- tex/context/fonts/mkiv/lm.lfg | 50 ++++----- tex/context/fonts/mkiv/lucida-opentype-math.lfg | 10 +- tex/context/fonts/mkiv/pagella-math.lfg | 24 ++--- tex/context/fonts/mkiv/schola-math.lfg | 6 +- tex/context/fonts/mkiv/stix-two-math.lfg | 40 ++++---- tex/context/fonts/mkiv/termes-math.lfg | 4 +- tex/context/modules/mkxl/m-json.mkxl | 86 +++------------- tex/generic/context/luatex/luatex-fonts-merged.lua | 2 +- 21 files changed, 254 insertions(+), 202 deletions(-) create mode 100644 tex/context/base/mkiv/util-tbs.lua diff --git a/tex/context/base/mkii/cont-new.mkii b/tex/context/base/mkii/cont-new.mkii index 7f4ff92d9..527dc57d5 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{2022.04.19 19:50} +\newcontextversion{2022.04.20 19:15} %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 f149ddb8e..9a9b43ee8 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{2022.04.19 19:50} +\edef\contextversion{2022.04.20 19:15} %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 d34252711..094648239 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.04.19 19:50} +\newcontextversion{2022.04.20 19: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 a6ef280ad..1165bfced 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.04.19 19:50} +\edef\contextversion{2022.04.20 19:15} %D Kind of special: diff --git a/tex/context/base/mkiv/publ-ini.lua b/tex/context/base/mkiv/publ-ini.lua index d6a7bf3de..210a14deb 100644 --- a/tex/context/base/mkiv/publ-ini.lua +++ b/tex/context/base/mkiv/publ-ini.lua @@ -1428,8 +1428,8 @@ do local function get(dataset,tag,field,what,check,catspec) -- somewhat more extensive local current = rawget(datasets,dataset) if current then - tag = lowered.tag - field = lowered.field + tag = lowered[tag] + field = lowered[field] local data = current.luadata[tag] if data then local category = data.category @@ -1479,8 +1479,8 @@ do local function btxflush(name,tag,field) local dataset = rawget(datasets,name) if dataset then - tag = lowered.tag - field = lowered.field + tag = lowered[tag] + field = lowered[field] local fields = dataset.luadata[tag] if fields then local manipulator, field = splitmanipulation(field) @@ -1507,8 +1507,8 @@ do local function btxfield(name,tag,field) local dataset = rawget(datasets,name) if dataset then - tag = lowered.tag - field = lowered.field + tag = lowered[tag] + field = lowered[field] local fields = dataset.luadata[tag] if fields then local category = fields.category @@ -1534,8 +1534,8 @@ do local function btxdetail(name,tag,field) local dataset = rawget(datasets,name) if dataset then - tag = lowered.tag - field = lowered.field + tag = lowered[tag] + field = lowered[field] local fields = dataset.luadata[tag] if fields then local details = dataset.details[tag] @@ -1566,11 +1566,11 @@ do local function btxdirect(name,tag,field) local dataset = rawget(datasets,name) if dataset then - tag = lowered.tag - field = lowered.field + tag = lowered[tag] + field = lowered[field] local fields = dataset.luadata[tag] if fields then - field = lowered.field + field = lowered[field] local manipulator, field = splitmanipulation(field) local value = fields[field] if value then @@ -1589,8 +1589,8 @@ do local function okay(name,tag,field) local dataset = rawget(datasets,name) if dataset then - tag = lowered.tag - field = lowered.field + tag = lowered[tag] + field = lowered[field] local fields = dataset.luadata[tag] if fields then local category = fields.category diff --git a/tex/context/base/mkiv/status-files.pdf b/tex/context/base/mkiv/status-files.pdf index d464c29ca..f6ca25caa 100644 Binary files a/tex/context/base/mkiv/status-files.pdf and b/tex/context/base/mkiv/status-files.pdf differ diff --git a/tex/context/base/mkiv/status-lua.pdf b/tex/context/base/mkiv/status-lua.pdf index 9c4d2c54e..bdb717f7d 100644 Binary files a/tex/context/base/mkiv/status-lua.pdf and b/tex/context/base/mkiv/status-lua.pdf differ diff --git a/tex/context/base/mkiv/util-tbs.lua b/tex/context/base/mkiv/util-tbs.lua new file mode 100644 index 000000000..140e43a03 --- /dev/null +++ b/tex/context/base/mkiv/util-tbs.lua @@ -0,0 +1,114 @@ +if not modules then modules = { } end modules ['util-tbs'] = { + version = 1.001, + comment = "companion to luat-lib.mkiv", + author = "Hans Hagen, PRAGMA-ADE, Hasselt NL", + copyright = "PRAGMA ADE / ConTeXt Development Team", + license = "see context related readme files" +} + +local tonumber, type, rawget = tonumber, type, rawget + +utilities = utilities or {} +local tablestore = { } +utilities.tablestore = tablestore + +local loaded = { } +local current = nil + +function tablestore.load(namespace,filename) + local data = loaded[namespace] + if not data then + if type(filename) == "table" then + data = filename + else + local fullname = resolvers.findfile(filename) + if fullname and fullname ~= "" then + if file.suffix(fullname,"json") and utilities.json then + data = io.loaddata(fullname) + if data then + data = utilities.json.tolua(data) + else + -- error + end + else + data = table.load(fullname) + end + end + end + if not data then + data = { } + end + loaded[namespace] = data + if metapost then + metapost.setparameterset(namespace,data) + end + end + current = data + return data +end + +function tablestore.loaded(namespace) + return (namespace and loaded[namespace]) or current or { } +end + +function tablestore.known(namespace) + return namespace and rawget(loaded,namespace) or false +end + +do + + local find, gmatch = string.find, string.gmatch + + local P, C, Ct, Cc, R = lpeg.P, lpeg.C, lpeg.Ct, lpeg.Cc, lpeg.R + + local separator = P(".") + local equal = P("=") + local digit = R("09") + local lbracket = P("[") + local rbracket = P("]") + local index = Ct(Cc("index") * lbracket * (digit^1 / tonumber) * rbracket) + local test = Ct(Cc("test") * lbracket * C((1-equal)^1) * equal * C((1-rbracket)^1) * rbracket) + local entry = Ct(Cc("entry") * C((1-lbracket-separator)^1)) + + local specifier = Ct ((entry + (separator + index + test))^1) + + function tablestore.field(namespace,name,default) + local data = loaded[namespace] or current + if data then + -- if find(name,"%[") then + local t = lpeg.match(specifier,name) + for i=1,#t do + local ti = t[i] + local t1 = ti[1] + local k = ti[2] + if t1 == "test" then + local v = ti[3] + for j=1,#data do + local dj = data[j] + if dj[k] == v then + data = dj + goto OKAY + end + end + return + else + data = data[k] + if not data then + return + end + end + ::OKAY:: + end + -- else + -- for s in gmatch(name,"[^%.]+") do + -- data = data[s] or data[tonumber(s) or 0] + -- if not data then + -- return + -- end + -- end + -- end + return data + end + end + +end diff --git a/tex/context/base/mkxl/cont-new.mkxl b/tex/context/base/mkxl/cont-new.mkxl index 6dbbe3ccb..0f17e11a6 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{2022.04.19 19:50} +\newcontextversion{2022.04.20 19: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/mkxl/context.mkxl b/tex/context/base/mkxl/context.mkxl index a34772bbb..114ec31ba 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{2022.04.19 19:50} +\immutable\edef\contextversion{2022.04.20 19:15} %overloadmode 1 % check frozen / warning %overloadmode 2 % check frozen / error diff --git a/tex/context/fonts/mkiv/bonum-math.lfg b/tex/context/fonts/mkiv/bonum-math.lfg index 766baa610..f946e2a80 100644 --- a/tex/context/fonts/mkiv/bonum-math.lfg +++ b/tex/context/fonts/mkiv/bonum-math.lfg @@ -135,7 +135,7 @@ return { [0x1D484] = { 0, 1, 0, 0.95 }, -- bold lowercase italic c [0x1D485] = { 0, 1, 0, 0.75 }, -- bold lowercase italic d [0x1D486] = { 0, 1, 0, 0.95 }, -- bold lowercase italic e - -- [0x1D487] = { 0, 1, 0, 0.95 }, -- bold lowercase italic f + -- [0x1D487] = { 0, 1, 0, 0.95 }, -- bold lowercase italic f [0x1D488] = { 0, 1, 0, 0.9 }, -- bold lowercase italic g [0x1D489] = { 0, 1, 0, 1.2 }, -- bold lowercase italic h -- [0x1D48A] = { 0, 1, 0, 0.6 }, -- bold lowercase italic i @@ -164,8 +164,8 @@ return { }, { tweak = "fixprimes", - -- scale = 0.8, - -- smaller = true, + -- scale = 0.8, + -- smaller = true, factor = 1.1, }, { diff --git a/tex/context/fonts/mkiv/cambria-math.lfg b/tex/context/fonts/mkiv/cambria-math.lfg index f73bc3ab7..a97a3f709 100644 --- a/tex/context/fonts/mkiv/cambria-math.lfg +++ b/tex/context/fonts/mkiv/cambria-math.lfg @@ -66,31 +66,31 @@ return { { tweak = "dimensions", list = { - -- [0x00060] = { yoffset = -0.1 }, -- grave - -- [0x000B4] = { yoffset = -0.1 }, -- acute - -- [0x002C6] = { yoffset = -0.1 }, -- hat - -- [0x002DC] = { yoffset = -0.1 }, -- tilde - -- [0x000AF] = { yoffset = -0.1 }, -- bar - -- [0x002D8] = { yoffset = -0.15 }, -- breve - -- [0x002D9] = { yoffset = -0.15 }, -- dot - -- [0x000A8] = { yoffset = -0.1 }, -- ddot + -- [0x00060] = { yoffset = -0.1 }, -- grave + -- [0x000B4] = { yoffset = -0.1 }, -- acute + -- [0x002C6] = { yoffset = -0.1 }, -- hat + -- [0x002DC] = { yoffset = -0.1 }, -- tilde + -- [0x000AF] = { yoffset = -0.1 }, -- bar + -- [0x002D8] = { yoffset = -0.15 }, -- breve + -- [0x002D9] = { yoffset = -0.15 }, -- dot + -- [0x000A8] = { yoffset = -0.1 }, -- ddot [0x020DB] = { yoffset = -0.05 }, -- dddot - -- [0x002C7] = { yoffset = -0.1 }, -- check + -- [0x002C7] = { yoffset = -0.1 }, -- check [0x020D7] = { yoffset = -0.05 }, -- vec - -- [0x00300] = { yoffset = -0.12 , all=true }, -- widegrave - -- [0x00301] = { yoffset = -0.12 , all=true }, -- wideacute - -- [0x00302] = { yoffset = -0.12 , all=true }, -- widehat - -- [0x00303] = { yoffset = -0.12 , all=true }, -- widetilde - -- [0x00304] = { yoffset = -0.12 , all=true }, -- widebar - -- [0x00306] = { yoffset = -0.12 , all=true }, -- widebreve + -- [0x00300] = { yoffset = -0.12 , all=true }, -- widegrave + -- [0x00301] = { yoffset = -0.12 , all=true }, -- wideacute + -- [0x00302] = { yoffset = -0.12 , all=true }, -- widehat + -- [0x00303] = { yoffset = -0.12 , all=true }, -- widetilde + -- [0x00304] = { yoffset = -0.12 , all=true }, -- widebar + -- [0x00306] = { yoffset = -0.12 , all=true }, -- widebreve [0x00307] = { yoffset = -0.025 , all=true }, -- widedot [0x00308] = { yoffset = -0.025 , all=true }, -- wideddot - -- [0x020DB] = { yoffset = -0.1 , all=true }, -- widedddot - -- [0x0030A] = { yoffset = -0.12 , all=true }, -- widering - -- [0x0030C] = { yoffset = -0.12 , all=true }, -- widecheck - [0x1D43D] = { 0.25, 1.15, 0.2 }, -- J + -- [0x020DB] = { yoffset = -0.1 , all=true }, -- widedddot + -- [0x0030A] = { yoffset = -0.12 , all=true }, -- widering + -- [0x0030C] = { yoffset = -0.12 , all=true }, -- widecheck + [0x1D43D] = { 0.25, 1.15, 0.2 }, -- J [0x1D487] = { anchor = 0.8 }, -- bold lower case italic f - -- [0x1D487] = { 0, 1, 0, 1.3}, -- bold lower case italic f + -- [0x1D487] = { 0, 1, 0, 1.3}, -- bold lower case italic f }, }, { diff --git a/tex/context/fonts/mkiv/garamond-math.lfg b/tex/context/fonts/mkiv/garamond-math.lfg index 4c5eb5ba6..e6778d4b7 100644 --- a/tex/context/fonts/mkiv/garamond-math.lfg +++ b/tex/context/fonts/mkiv/garamond-math.lfg @@ -6,16 +6,16 @@ return { copyright = "ConTeXt development team", mathematics = { parameters = { - NoLimitSupFactor = 0, - NoLimitSubFactor = 1200, - FractionRuleThickness = 60, - OverbarRuleThickness = 60, - -- RadicalRuleThickness = 60, - UnderbarRuleThickness = 60, - -- AccentBaseHeight = 0, - AccentBaseDepth = 75, - -- AccentTopShiftUp = -75, - -- FlattenedAccentTopShiftUp = -100, + NoLimitSupFactor = 0, + NoLimitSubFactor = 1200, + FractionRuleThickness = 60, + OverbarRuleThickness = 60, + -- RadicalRuleThickness = 60, + UnderbarRuleThickness = 60, + -- AccentBaseHeight = 0, + AccentBaseDepth = 75, + -- AccentTopShiftUp = -75, + -- FlattenedAccentTopShiftUp = -100, }, tweaks = { aftercopying = { @@ -27,14 +27,14 @@ return { tweak = "dimensions", list = { -- offset width italic - -- [0x00060] = { yoffset = -0.1 }, -- grave - -- [0x000B4] = { yoffset = -0.1 }, -- acute + -- [0x00060] = { yoffset = -0.1 }, -- grave + -- [0x000B4] = { yoffset = -0.1 }, -- acute [0x002C6] = { yoffset = -0.1 }, -- hat [0x002DC] = { yoffset = -0.1 }, -- tilde - -- [0x000AF] = { yoffset = -0.1 }, -- bar + -- [0x000AF] = { yoffset = -0.1 }, -- bar [0x002D8] = { yoffset = -0.15 }, -- breve [0x002D9] = { yoffset = -0.15 }, -- dot - -- [0x000A8] = { yoffset = -0.1 }, -- ddot + -- [0x000A8] = { yoffset = -0.1 }, -- ddot [0x020DB] = { yoffset = -0.115 }, -- dddot [0x002C7] = { yoffset = -0.1 }, -- check [0x020D7] = { yoffset = -0.1 }, -- vec @@ -46,10 +46,10 @@ return { [0x00306] = { yoffset = -0.12 , all=true }, -- widebreve [0x00307] = { yoffset = -0.12 , all=true }, -- widedot [0x00308] = { yoffset = -0.12 , all=true }, -- wideddot - -- [0x020DB] = { yoffset = -0.1 , all=true }, -- widedddot + -- [0x020DB] = { yoffset = -0.1 , all=true }, -- widedddot [0x0030A] = { yoffset = -0.12 , all=true }, -- widering [0x0030C] = { yoffset = -0.12 , all=true }, -- widecheck - -- [0x002C6] = { scale=.85, yoffset = .1, width = .85, height = .935 }, -- hat + -- [0x002C6] = { scale=.85, yoffset = .1, width = .85, height = .935 }, -- hat [0x00393] = { 0.05, 1.05, 0.075 }, -- \Gamma -- [0x003A6] = { 0.05, 1.05, 0 }, -- \Phi difficult! [0x003A8] = { 0.05, 1.05, 0.075 }, -- \Psi @@ -107,9 +107,9 @@ return { { tweak = "fixprimes", scale = 0.9, - -- smaller = true, + -- smaller = true, factor = 0.9, - -- fake = 0.75, + -- fake = 0.75, }, { tweak = "checkspacing", diff --git a/tex/context/fonts/mkiv/lm.lfg b/tex/context/fonts/mkiv/lm.lfg index 44ea14571..5ea043b55 100644 --- a/tex/context/fonts/mkiv/lm.lfg +++ b/tex/context/fonts/mkiv/lm.lfg @@ -76,17 +76,17 @@ return { [0x002DA] = { yoffset = -0.05 }, -- ring [0x002C7] = { yoffset = -0.05 }, -- check [0x020D7] = { yoffset = -0.05 }, -- vec - [0x00300] = { yoffset = -0.07 , all=true }, -- widegrave - [0x00301] = { yoffset = -0.07 , all=true }, -- wideacute - [0x00302] = { yoffset = -0.1 , all=true }, -- widehat - [0x00303] = { yoffset = -0.09 , all=true }, -- widetilde - [0x00304] = { yoffset = -0.1 , all=true }, -- widebar - [0x00306] = { yoffset = -0.07 , all=true }, -- widebreve - [0x00307] = { yoffset = -0.05 , all=true }, -- widedot - [0x00308] = { yoffset = -0.05 , all=true }, -- wideddot - [0x020DB] = { yoffset = -0.075 , all=true }, -- widedddot - [0x0030A] = { yoffset = -0.05 , all=true }, -- widering - [0x0030C] = { yoffset = -0.075 , all=true }, -- widecheck + [0x00300] = { yoffset = -0.07, all = true }, -- widegrave + [0x00301] = { yoffset = -0.07, all = true }, -- wideacute + [0x00302] = { yoffset = -0.1, all = true }, -- widehat + [0x00303] = { yoffset = -0.09, all = true }, -- widetilde + [0x00304] = { yoffset = -0.1, all = true }, -- widebar + [0x00306] = { yoffset = -0.07, all = true }, -- widebreve + [0x00307] = { yoffset = -0.05, all = true }, -- widedot + [0x00308] = { yoffset = -0.05, all = true }, -- wideddot + [0x020DB] = { yoffset = -0.075, all = true }, -- widedddot + [0x0030A] = { yoffset = -0.05, all = true }, -- widering + [0x0030C] = { yoffset = -0.075, all = true }, -- widecheck }, }, { @@ -103,9 +103,9 @@ return { { tweak = "fixprimes", factor = 1.05, - -- smaller = true, + -- smaller = true, scale = 0.9, - -- fake = 0.6, + -- fake = 0.6, }, { tweak = "checkspacing", @@ -125,21 +125,15 @@ return { }, }, parameters = { - FractionNumeratorDisplayStyleShiftUp = function(value,target,original) - local o = original.mathparameters.FractionNumeratorDisplayStyleShiftUp - if o > 675 then - o = 600 - else - -- probably tuned - end - return o * target.parameters.factor - end, - NoLimitSupFactor = 0, - NoLimitSubFactor = 900, - -- AccentBaseHeight = 0, - AccentBaseDepth = 50, - }, - bigs = {1, 3, 5, 7}, + FractionNumeratorDisplayStyleShiftUp = 600, -- used to be a function + NoLimitSupFactor = 0, + NoLimitSubFactor = 900, + -- AccentBaseHeight = 0, + AccentBaseDepth = 50, + }, + bigslots = { + 1, 3, 5, 7 + }, -- -- experimental fixes for mkiv: -- diff --git a/tex/context/fonts/mkiv/lucida-opentype-math.lfg b/tex/context/fonts/mkiv/lucida-opentype-math.lfg index 72f4ca9e6..44d470650 100644 --- a/tex/context/fonts/mkiv/lucida-opentype-math.lfg +++ b/tex/context/fonts/mkiv/lucida-opentype-math.lfg @@ -37,7 +37,7 @@ return { NoLimitSupFactor = 0, NoLimitSubFactor = 900, FractionRuleThickness = 55, - -- AccentBaseHeight = 650, + -- AccentBaseHeight = 650, AccentBaseDepth = 150, }, tweaks = { @@ -102,10 +102,10 @@ return { }, { tweak = "fixprimes", - factor = 0.8, -- accent base height - -- smaller = true, -- replace multiples - scale = 1.1, -- glyph scale - -- fake = 0.65, -- replace multiples with this width proportion + factor = 0.8, -- accent base height + -- smaller = true, -- replace multiples + scale = 1.1, -- glyph scale + -- fake = 0.65, -- replace multiples with this width proportion -- keep = true, -- keep the text size prime (aka minute) }, { diff --git a/tex/context/fonts/mkiv/pagella-math.lfg b/tex/context/fonts/mkiv/pagella-math.lfg index d1e77e9bf..17f59d952 100644 --- a/tex/context/fonts/mkiv/pagella-math.lfg +++ b/tex/context/fonts/mkiv/pagella-math.lfg @@ -38,8 +38,8 @@ return { NoLimitSupFactor = 0, NoLimitSubFactor = 900, AccentTopShiftUp = 30, - -- AccentBaseHeight = 0, - AccentBaseDepth = 80, + -- AccentBaseHeight = 0, + AccentBaseDepth = 80, }, tweaks = { aftercopying = { @@ -62,8 +62,8 @@ return { { tweak = "dimensions", list = { -- offset width italic - -- [0x002C6] = { scale=.85, yoffset = .1, width = .85, height = .935 }, -- hat - -- [0x00302] = { scale=.85, yoffset = .1, width = .85, height = .935 }, -- hat + -- [0x002C6] = { scale=.85, yoffset = .1, width = .85, height = .935 }, -- hat + -- [0x00302] = { scale=.85, yoffset = .1, width = .85, height = .935 }, -- hat -- [0x002C6] = { scale=.75, yoffset = .2, advance = .75, width = .75, height = .90 }, -- hat -- [0x00302] = { scale=.75, yoffset = .2, advance = .75, width = .75, height = .90 }, -- hat [0x00060] = { yoffset = -0.035 }, -- grave @@ -75,19 +75,19 @@ return { [0x002D9] = { yoffset = -0.035 }, -- dot [0x000A8] = { yoffset = -0.05 }, -- ddot [0x020DB] = { yoffset = -0.06 }, -- dddot - -- [0x002DA] = { yoffset = -0.05 }, -- ring - -- [0x002C7] = { yoffset = -0.05 }, -- check + -- [0x002DA] = { yoffset = -0.05 }, -- ring + -- [0x002C7] = { yoffset = -0.05 }, -- check [0x020D7] = { yoffset = -0.05 }, -- vec - -- [0x00300] = { yoffset = -0.07 , all=true }, -- widegrave - -- [0x00301] = { yoffset = -0.07 , all=true }, -- wideacute + -- [0x00300] = { yoffset = -0.07 , all=true }, -- widegrave + -- [0x00301] = { yoffset = -0.07 , all=true }, -- wideacute [0x00302] = { yoffset = -0.02 , all=true }, -- widehat [0x00303] = { yoffset = -0.02 , all=true }, -- widetilde [0x00304] = { yoffset = -0.05 , all=true }, -- widebar [0x00306] = { yoffset = -0.03 , all=true }, -- widebreve [0x00307] = { yoffset = -0.03 , all=true }, -- widedot [0x00308] = { yoffset = -0.03 , all=true }, -- wideddot - -- [0x020DB] = { yoffset = 0.0 , all=true }, -- widedddot - -- [0x0030A] = { yoffset = -0.05 , all=true }, -- widering + -- [0x020DB] = { yoffset = 0.0 , all=true }, -- widedddot + -- [0x0030A] = { yoffset = -0.05 , all=true }, -- widering [0x0030C] = { yoffset = -0.03 , all=true }, -- widecheck [0x1D44E] = { 0, 1, 0, 0.9 }, -- a [0x1D44F] = { 0, 1, 0, 1.3 }, -- b @@ -128,9 +128,9 @@ return { { tweak = "fixprimes", factor = 0.9, - -- smaller = true, + -- smaller = true, scale = 0.9, - -- fake = 0.65, + -- fake = 0.65, }, { tweak = "checkspacing", diff --git a/tex/context/fonts/mkiv/schola-math.lfg b/tex/context/fonts/mkiv/schola-math.lfg index cea6b501c..02bfa8925 100644 --- a/tex/context/fonts/mkiv/schola-math.lfg +++ b/tex/context/fonts/mkiv/schola-math.lfg @@ -20,8 +20,8 @@ return { parameters = { NoLimitSupFactor = 0, NoLimitSubFactor = 900, - -- AccentBaseHeight = 0, - AccentBaseDepth = 30, + -- AccentBaseHeight = 0, + AccentBaseDepth = 30, }, tweaks = { aftercopying = { @@ -49,7 +49,7 @@ return { { tweak = "fixprimes", scale = 0.85, - -- smaller = true, + -- smaller = true, factor = 1, }, { diff --git a/tex/context/fonts/mkiv/stix-two-math.lfg b/tex/context/fonts/mkiv/stix-two-math.lfg index 351c6a8ee..5761e53a2 100644 --- a/tex/context/fonts/mkiv/stix-two-math.lfg +++ b/tex/context/fonts/mkiv/stix-two-math.lfg @@ -50,7 +50,7 @@ return { -- feature = false, -- use the saved ones (see typescript) selector = 0xFE00, }, - -- 0xFEO1 should be roundhand style, if present + -- 0xFEO1 should be roundhand style, if present { tweak = "variants", kind = "script", @@ -60,34 +60,34 @@ return { { tweak = "dimensions", list = { - -- [0x00060] = { yoffset = -0.035 }, -- grave - -- [0x000B4] = { yoffset = -0.035 }, -- acute - -- [0x002C6] = { yoffset = -0.035 }, -- hat - -- [0x002DC] = { yoffset = -0.035 }, -- tilde - -- [0x000AF] = { yoffset = -0.05 }, -- bar - -- [0x002D8] = { yoffset = -0.035 }, -- breve + -- [0x00060] = { yoffset = -0.035 }, -- grave + -- [0x000B4] = { yoffset = -0.035 }, -- acute + -- [0x002C6] = { yoffset = -0.035 }, -- hat + -- [0x002DC] = { yoffset = -0.035 }, -- tilde + -- [0x000AF] = { yoffset = -0.05 }, -- bar + -- [0x002D8] = { yoffset = -0.035 }, -- breve [0x002D9] = { yoffset = -0.02 }, -- dot [0x000A8] = { yoffset = -0.02 }, -- ddot [0x020DB] = { yoffset = 0.04 }, -- dddot - -- [0x002DA] = { yoffset = -0.05 }, -- ring - -- [0x002C7] = { yoffset = -0.05 }, -- check + -- [0x002DA] = { yoffset = -0.05 }, -- ring + -- [0x002C7] = { yoffset = -0.05 }, -- check [0x020D7] = { yoffset = -0.07 }, -- vec - -- [0x00300] = { yoffset = -0.07 , all=true }, -- widegrave - -- [0x00301] = { yoffset = -0.07 , all=true }, -- wideacute - -- [0x00302] = { yoffset = -0.02 , all=true }, -- widehat - -- [0x00303] = { yoffset = -0.02 , all=true }, -- widetilde - -- [0x00304] = { yoffset = -0.05 , all=true }, -- widebar - -- [0x00306] = { yoffset = -0.03 , all=true }, -- widebreve - -- [0x00307] = { yoffset = -0.03 , all=true }, -- widedot - -- [0x00308] = { yoffset = -0.03 , all=true }, -- wideddot - -- [0x020DB] = { yoffset = 0.0 , all=true }, -- widedddot - -- [0x0030A] = { yoffset = -0.05 , all=true }, -- widering + -- [0x00300] = { yoffset = -0.07 , all=true }, -- widegrave + -- [0x00301] = { yoffset = -0.07 , all=true }, -- wideacute + -- [0x00302] = { yoffset = -0.02 , all=true }, -- widehat + -- [0x00303] = { yoffset = -0.02 , all=true }, -- widetilde + -- [0x00304] = { yoffset = -0.05 , all=true }, -- widebar + -- [0x00306] = { yoffset = -0.03 , all=true }, -- widebreve + -- [0x00307] = { yoffset = -0.03 , all=true }, -- widedot + -- [0x00308] = { yoffset = -0.03 , all=true }, -- wideddot + -- [0x020DB] = { yoffset = 0.0 , all=true }, -- widedddot + -- [0x0030A] = { yoffset = -0.05 , all=true }, -- widering }, }, { tweak = "fixprimes", scale = 1, - -- smaller = true, + -- smaller = true, factor = 1, }, { diff --git a/tex/context/fonts/mkiv/termes-math.lfg b/tex/context/fonts/mkiv/termes-math.lfg index 45eaa0505..e9796dc31 100644 --- a/tex/context/fonts/mkiv/termes-math.lfg +++ b/tex/context/fonts/mkiv/termes-math.lfg @@ -28,7 +28,7 @@ return { parameters = { NoLimitSupFactor = 0, NoLimitSubFactor = 900, - -- AccentBaseHeight = 0, + -- AccentBaseHeight = 0, AccentBaseDepth = 50, }, tweaks = { @@ -70,7 +70,7 @@ return { { tweak = "fixprimes", scale = 0.85, - -- smaller = true, + -- smaller = true, factor = 0.95, }, { diff --git a/tex/context/modules/mkxl/m-json.mkxl b/tex/context/modules/mkxl/m-json.mkxl index 061a15ba0..b08286b08 100644 --- a/tex/context/modules/mkxl/m-json.mkxl +++ b/tex/context/modules/mkxl/m-json.mkxl @@ -11,102 +11,46 @@ %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. -%D This module is a side effect of looking into json. Currently there are -%D only a few helpers: -%D -%D \starttyping -%D moduledata.json.tolua (str) -%D moduledata.json.tostring(val) -%D \stoptyping -%D -%D Nothing spectacular but maybe handy to have around. - \startmodule [json] -% check for: utilities.json - \registerctxluafile{util-jsn}{} +\registerctxluafile{util-tbs}{} % \def\u#1#2#3#4{\cldcontext{utf.char(0x#1#2#3#4)}} \startluacode - -- when we are at the lua end we can just use the table directly but - -- otherwise we can use accessors at the tex end and if needed some - -- special formatters - -- - -- we can actually map the json to xml and then use xml accessors - -- which has some benefits - - local tonumber = tonumber - local context = context - local gmatch = string.gmatch - - local loaded = { } - local current = nil - local json = utilities.json - - local function loadjsonfile(namespace,filename) - local data = loaded[namespace] - if not data then - local fullname = resolvers.findfile(filename) - if fullname and fullname ~= "" then - data = io.loaddata(fullname) - if data then - data = utilities.json.tolua(data) - end - end - if not data then - data = { } - end - loaded[namespace] = data - metapost.setparameterset(namespace,data) - end - current = data - return data - end - - local function jsonfield(namespace,name,default) - local data = loaded[namespace] or current - if current then - for s in gmatch(name,"[^%.]+") do - data = data[s] or data[tonumber(s) or 0] - if not data then - return - end - end - return data - end - end - - json.field = jsonfield - - function json.loaded(namespace) - return (namespace and loaded[namespace]) or current or { } - end + local tablestore = utilities.tablestore interfaces.implement { - name = "loadjsonfile", - actions = loadjsonfile, + name = "loadtable", + actions = tablestore.load, arguments = { "optional", "optional" }, public = true, protected = true, } interfaces.implement { - name = "jsonfield", - actions = { jsonfield, context }, + name = "tablefield", + actions = { tablestore.field, context }, arguments = "2 arguments", public = true, } interfaces.implement { - name = "jsonfielddefault", - actions = { jsonfield, context }, + name = "tablefielddefault", + actions = { tablestore.field, context }, arguments = "3 arguments", public = true, } + utilities.json.field = tablestore.field + utilities.json.loaded = tablestore.loaded + \stopluacode +\let\loadjsonfile \loadtable +\let\jsonfield \tablefield +\let\jsonfielddefault \tablefielddefault + \stopmodule diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua index 4f01e92df..3c0b95c6d 100644 --- a/tex/generic/context/luatex/luatex-fonts-merged.lua +++ b/tex/generic/context/luatex/luatex-fonts-merged.lua @@ -1,6 +1,6 @@ -- merged file : c:/data/develop/context/sources/luatex-fonts-merged.lua -- parent file : c:/data/develop/context/sources/luatex-fonts.lua --- merge date : 2022-04-19 19:50 +-- merge date : 2022-04-20 19:15 do -- begin closure to overcome local limits and interference -- cgit v1.2.3