diff options
author | Context Git Mirror Bot <phg42.2a@gmail.com> | 2015-05-22 20:15:05 +0200 |
---|---|---|
committer | Context Git Mirror Bot <phg42.2a@gmail.com> | 2015-05-22 20:15:05 +0200 |
commit | 84c9614c8d2e0a3beaa9fdf42530087f3df4b807 (patch) | |
tree | 0af5c8744892cda558d5420fbf8473985b7355d7 /tex/context/base/font-hsh.lua | |
parent | c77671a43d94378e828762b50b94b2adebcafe32 (diff) | |
download | context-84c9614c8d2e0a3beaa9fdf42530087f3df4b807.tar.gz |
2015-05-22 19:27:00
Diffstat (limited to 'tex/context/base/font-hsh.lua')
-rw-r--r-- | tex/context/base/font-hsh.lua | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/tex/context/base/font-hsh.lua b/tex/context/base/font-hsh.lua index 07acf2138..46d82d78f 100644 --- a/tex/context/base/font-hsh.lua +++ b/tex/context/base/font-hsh.lua @@ -37,6 +37,7 @@ local dynamics = hashes.dynamics or allocate() local unicodes = hashes.unicodes or allocate() local originals = hashes.originals or allocate() local modes = hashes.modes or allocate() +local variants = hashes.variants or allocate() hashes.characters = characters hashes.descriptions = descriptions @@ -56,6 +57,7 @@ hashes.dynamics = dynamics hashes.unicodes = unicodes hashes.originals = originals hashes.modes = modes +hashes.variants = variants local nodepool = nodes.pool local dummyglyph = nodepool.register(nodepool.glyph()) @@ -303,6 +305,23 @@ setmetatableindex(modes, function(t,k) end end) +setmetatableindex(variants, function(t,k) + if k == true then + return variants[currentfont()] + else + local resources = resources[k] + if resources then + local variants = resources.variants + if variants and next(variants) then + t[k] = variants + return variants + end + end + t[k] = false + return false + end +end) + function font.getfont(id) return identifiers[id] end |