summaryrefslogtreecommitdiff
path: root/tex/context/modules
diff options
context:
space:
mode:
authorHans Hagen <pragma@wxs.nl>2022-05-02 17:02:40 +0200
committerContext Git Mirror Bot <phg@phi-gamma.net>2022-05-02 17:02:40 +0200
commitd2e1112ef8921f361ac7cf1b49e30923cce6d5f0 (patch)
tree0d909528bec22b69bdd671aa7fe560d5d0104021 /tex/context/modules
parentf740345a433f2b9736b14f61a98173763e093b6f (diff)
downloadcontext-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.mkiv5
-rw-r--r--tex/context/modules/mkxl/m-json.mkxl40
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