summaryrefslogtreecommitdiff
path: root/tex/context/base/mkxl/font-tex.lmt
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/base/mkxl/font-tex.lmt')
-rw-r--r--tex/context/base/mkxl/font-tex.lmt25
1 files changed, 17 insertions, 8 deletions
diff --git a/tex/context/base/mkxl/font-tex.lmt b/tex/context/base/mkxl/font-tex.lmt
index ba356bc29..c960953a7 100644
--- a/tex/context/base/mkxl/font-tex.lmt
+++ b/tex/context/base/mkxl/font-tex.lmt
@@ -63,17 +63,21 @@ end
local function setboxglyph(specification)
if specification then
- local name = specification.name
- if name then
- local private = newprivateslot(name)
- local font = currentfont()
+ local name = specification.name
+ local unicode = specification.unicode
+ local font = currentfont()
+ if not unicode and name then
+ unicode = newprivateslot(name)
+ specification.unicode = unicode
+ end
+ if unicode then
if not specification.setups then
specification.setups = name
end
-- we can actually delay font if needed
- register(font,private,function(font,private)
- makeglyphbox(private,specification)
- return setboxglyphs(category,font,private,specification)
+ register(font,unicode,function(font,private)
+ makeglyphbox(unicode,specification)
+ return setboxglyphs(category,font,unicode,specification)
end)
checkenabled()
end
@@ -133,7 +137,12 @@ interfaces.implement {
public = true,
protected = true,
actions = setboxglyph,
- arguments = { { "*" } },
+ arguments = { {
+ { "category" },
+ { "unicode", "integer" },
+ { "name" },
+ { "*" }
+ } },
}
fonts.handlers.otf.features.register {