summaryrefslogtreecommitdiff
path: root/tex/context/base/font-ctx.lua
diff options
context:
space:
mode:
authorHans Hagen <pragma@wxs.nl>2011-03-29 12:49:00 +0200
committerHans Hagen <pragma@wxs.nl>2011-03-29 12:49:00 +0200
commit28621e7ae94bca4954eecd07da1d542711daeb18 (patch)
treea71bc7bc0e6d86c301459be4a8681f5a714853aa /tex/context/base/font-ctx.lua
parent1a2108ffa6b5808b0117aee0e6ff26d4503a06e2 (diff)
downloadcontext-28621e7ae94bca4954eecd07da1d542711daeb18.tar.gz
beta 2011.03.29 12:49
Diffstat (limited to 'tex/context/base/font-ctx.lua')
-rw-r--r--tex/context/base/font-ctx.lua12
1 files changed, 10 insertions, 2 deletions
diff --git a/tex/context/base/font-ctx.lua b/tex/context/base/font-ctx.lua
index e68874a4a..fe32a2420 100644
--- a/tex/context/base/font-ctx.lua
+++ b/tex/context/base/font-ctx.lua
@@ -99,11 +99,13 @@ setmetatablekey(fontdata, "__index", function(t,k)
end)
local chardata = allocate() -- chardata
+local parameters = allocate()
local csnames = allocate() -- namedata
local quaddata = allocate() -- quaddata
local xheightdata = allocate() -- xheightdata
hashes.characters = chardata
+hashes.parameters = parameters
hashes.quads = quaddata
hashes.xheights = xheightdata
@@ -113,15 +115,21 @@ setmetatablekey(chardata, "__index", function(t,k)
return characters
end)
-setmetatablekey(quaddata, "__index", function(t,k)
+setmetatablekey(parameters, "__index", function(t,k)
local parameters = fontdata[k].parameters
+ t[k] = parameters
+ return parameters
+end)
+
+setmetatablekey(quaddata, "__index", function(t,k)
+ local parameters = parameters[k]
local quad = parameters and parameters.quad or 0
t[k] = quad
return quad
end)
setmetatablekey(xheightdata, "__index", function(t,k)
- local parameters = fontdata[k].parameters
+ local parameters = parameters[k]
local xheight = parameters and parameters.xheight or 0
t[k] = xheight
return quad