diff options
author | Hans Hagen <pragma@wxs.nl> | 2011-04-11 16:45:00 +0200 |
---|---|---|
committer | Hans Hagen <pragma@wxs.nl> | 2011-04-11 16:45:00 +0200 |
commit | 612f23ed1b01240fdc9ca5132dbd3164e96ed570 (patch) | |
tree | 8eafde3944b1b46eae32e68b240a5eb9cf5f71fc /tex/context/base/font-ott.lua | |
parent | 0bd8dee4e7e38cfb027bf788505de24aca28261c (diff) | |
download | context-612f23ed1b01240fdc9ca5132dbd3164e96ed570.tar.gz |
beta 2011.04.11 16:45
Diffstat (limited to 'tex/context/base/font-ott.lua')
-rw-r--r-- | tex/context/base/font-ott.lua | 43 |
1 files changed, 23 insertions, 20 deletions
diff --git a/tex/context/base/font-ott.lua b/tex/context/base/font-ott.lua index 1dbf626ca..800fd3c65 100644 --- a/tex/context/base/font-ott.lua +++ b/tex/context/base/font-ott.lua @@ -6,20 +6,21 @@ if not modules then modules = { } end modules ['font-otf'] = { license = "see context related readme files" } -local type, next, tonumber, tostring, rawget, setmetatable = type, next, tonumber, tostring, rawget, setmetatable +local type, next, tonumber, tostring, rawget = type, next, tonumber, tostring, rawget local gsub, lower, format, match = string.gsub, string.lower, string.format, string.match local is_boolean = string.is_boolean -local allocate = utilities.storage.allocate +local setmetatableindex = table.setmetatableindex +local setmetatablenewindex = table.setmetatablenewindex +local allocate = utilities.storage.allocate -local fonts = fonts -local otf = fonts.handlers.otf +local fonts = fonts +local otf = fonts.handlers.otf +local tables = { } +otf.tables = tables -local tables = { } -otf.tables = tables - -local otffeatures = fonts.constructors.newfeatures("otf") -local registerotffeature = otffeatures.register +local otffeatures = fonts.constructors.newfeatures("otf") +local registerotffeature = otffeatures.register local scripts = allocate { ['arab'] = 'arabic', @@ -672,10 +673,10 @@ local function resolve(t,k) return "dflt" end -setmetatable(verbosescripts, { __index = resolve }) -setmetatable(verboselanguages, { __index = resolve }) -setmetatable(verbosefeatures, { __index = resolve }) -setmetatable(verbosebaselines, { __index = resolve }) +setmetatableindex(verbosescripts, resolve) +setmetatableindex(verboselanguages, resolve) +setmetatableindex(verbosefeatures, resolve) +setmetatableindex(verbosebaselines, resolve) local function resolve(t,k) if k then @@ -688,13 +689,13 @@ local function resolve(t,k) return "dflt" end -local function assign(t,k,v) - -- forget about it -end +setmetatableindex(scripts, resolve) +setmetatableindex(scripts, resolve) +setmetatableindex(languages, resolve) -setmetatable(scripts, { __index = resolve, __newindex = assign }) -setmetatable(languages, { __index = resolve, __newindex = assign }) -setmetatable(baselines, { __index = resolve, __newindex = assign }) +setmetatablenewindex(languages, "ignore") +setmetatablenewindex(baselines, "ignore") +setmetatablenewindex(baselines, "ignore") local function resolve(t,k) if k then @@ -719,6 +720,8 @@ local function resolve(t,k) return "dflt" end +setmetatableindex(features, resolve) + local function assign(t,k,v) if k then v = lower(v) @@ -727,7 +730,7 @@ local function assign(t,k,v) end end -setmetatable(features, { __index = resolve, __newindex = assign }) +setmetatablenewindex(features, assign) local checkers = { rand = function(v) |