diff options
author | Hans Hagen <pragma@wxs.nl> | 2022-05-02 17:02:40 +0200 |
---|---|---|
committer | Context Git Mirror Bot <phg@phi-gamma.net> | 2022-05-02 17:02:40 +0200 |
commit | d2e1112ef8921f361ac7cf1b49e30923cce6d5f0 (patch) | |
tree | 0d909528bec22b69bdd671aa7fe560d5d0104021 /tex/context/modules | |
parent | f740345a433f2b9736b14f61a98173763e093b6f (diff) | |
download | context-d2e1112ef8921f361ac7cf1b49e30923cce6d5f0.tar.gz |
2022-05-02 15:50:00
Diffstat (limited to 'tex/context/modules')
-rw-r--r-- | tex/context/modules/mkiv/s-fonts-charts.mkiv | 5 | ||||
-rw-r--r-- | tex/context/modules/mkxl/m-json.mkxl | 40 |
2 files changed, 42 insertions, 3 deletions
diff --git a/tex/context/modules/mkiv/s-fonts-charts.mkiv b/tex/context/modules/mkiv/s-fonts-charts.mkiv index 36fec22f0..b7fcc9f9e 100644 --- a/tex/context/modules/mkiv/s-fonts-charts.mkiv +++ b/tex/context/modules/mkiv/s-fonts-charts.mkiv @@ -172,7 +172,10 @@ \starttext - \showfontchart[filename=texgyredejavu-math.otf,page=yes,option=all] +% \showfontchart[filename=texgyredejavu-math.otf,page=yes,option=all] + + \showfontchart[filename=danlan.otf] % ,page=yes,option=all] + \showfontchart[filename=danlan-bold.otf] % ,page=yes,option=all] % \showfontchart[filename=aegean,page=yes] % \showfontchart[filename=veramono.ttf,page=yes] diff --git a/tex/context/modules/mkxl/m-json.mkxl b/tex/context/modules/mkxl/m-json.mkxl index b08286b08..46c2f79a7 100644 --- a/tex/context/modules/mkxl/m-json.mkxl +++ b/tex/context/modules/mkxl/m-json.mkxl @@ -21,6 +21,7 @@ \startluacode local tablestore = utilities.tablestore + local field = tablestore.field interfaces.implement { name = "loadtable", @@ -32,25 +33,60 @@ interfaces.implement { name = "tablefield", - actions = { tablestore.field, context }, + actions = function(namespace,name) + local data = field(namespace,name) + if data then + context(data) + end + end, arguments = "2 arguments", public = true, +protected = true, } interfaces.implement { name = "tablefielddefault", - actions = { tablestore.field, context }, + actions = function(namespace,name,default) + local data = field(namespace,name,default) + if data then + context(data) + end + end, arguments = "3 arguments", public = true, } + local replace = lpeg.replacer("@","%%") + local lpegmatch = lpeg.match + + interfaces.implement { + name = "tableformatted", + actions = function(namespace,name,fmt) + local data = field(namespace,name) + if data then + context(lpegmatch(replace,fmt),data) + end + end, + arguments = "3 arguments", + public = true, + } + + interfaces.implement { + name = "tablelength", + actions = { tablestore.length, context }, + arguments = "2 arguments", + public = true, + } + utilities.json.field = tablestore.field utilities.json.loaded = tablestore.loaded + utilities.json.length = tablestore.length \stopluacode \let\loadjsonfile \loadtable \let\jsonfield \tablefield \let\jsonfielddefault \tablefielddefault +\let\jsonlength \tablelength \stopmodule |