diff options
Diffstat (limited to 'tex/context/base/mkiv/cldf-int.lua')
-rw-r--r-- | tex/context/base/mkiv/cldf-int.lua | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/tex/context/base/mkiv/cldf-int.lua b/tex/context/base/mkiv/cldf-int.lua index 937e1da60..86420f422 100644 --- a/tex/context/base/mkiv/cldf-int.lua +++ b/tex/context/base/mkiv/cldf-int.lua @@ -45,7 +45,7 @@ if CONTEXTLMTXMODE > 0 then local equal = byte('=') local comma = byte(',') - function scanhash(t) + function scanhash(scanners) if scanpeek() == open then local data = { } scanskip() @@ -61,7 +61,16 @@ if CONTEXTLMTXMODE > 0 then if key then if scanpeek() == equal then scanskip() - data[key] = scanvalue(comma,close) or "" + if scanners then + local scanner = scanners[key] + if scanner then + data[key] = scanner() + else + data[key] = scanvalue(comma,close) or "" + end + else + data[key] = scanvalue(comma,close) or "" + end else break end @@ -74,7 +83,7 @@ if CONTEXTLMTXMODE > 0 then end end - function scanarray(t) + function scanarray() if scanpeek() == open then local data = { } local d = 0 |