summaryrefslogtreecommitdiff
path: root/tex/context/base/font-hsh.lua
diff options
context:
space:
mode:
authorContext Git Mirror Bot <phg42.2a@gmail.com>2015-05-22 20:15:05 +0200
committerContext Git Mirror Bot <phg42.2a@gmail.com>2015-05-22 20:15:05 +0200
commit84c9614c8d2e0a3beaa9fdf42530087f3df4b807 (patch)
tree0af5c8744892cda558d5420fbf8473985b7355d7 /tex/context/base/font-hsh.lua
parentc77671a43d94378e828762b50b94b2adebcafe32 (diff)
downloadcontext-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.lua19
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