summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/context/base/mkiv/font-otr.lua
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2017-05-10 17:56:24 +0000
committerKarl Berry <karl@freefriends.org>2017-05-10 17:56:24 +0000
commit347d616d3cb26d19d9c79f8b0439712cf5f9012b (patch)
tree7e7766f16f342eb6a8fb4824d3c9e8376a65f2f1 /Master/texmf-dist/tex/context/base/mkiv/font-otr.lua
parentb74dd6fa976d54286d0465def3cbd3a725770307 (diff)
context (May 9 10:39)
git-svn-id: svn://tug.org/texlive/trunk@44279 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/context/base/mkiv/font-otr.lua')
-rw-r--r--Master/texmf-dist/tex/context/base/mkiv/font-otr.lua43
1 files changed, 38 insertions, 5 deletions
diff --git a/Master/texmf-dist/tex/context/base/mkiv/font-otr.lua b/Master/texmf-dist/tex/context/base/mkiv/font-otr.lua
index 977be70a6a5..3addf332493 100644
--- a/Master/texmf-dist/tex/context/base/mkiv/font-otr.lua
+++ b/Master/texmf-dist/tex/context/base/mkiv/font-otr.lua
@@ -2075,6 +2075,39 @@ local function readdata(f,offset,specification)
if variablefonts_supported then
+ local variabledata = fontdata.variabledata
+
+ if variabledata then
+ local instances = variabledata.instances
+ local axis = variabledata.axis
+ if axis and (not instances or #instances == 0) then
+ instances = { }
+ variabledata.instances = instances
+ local function add(n,subfamily,value)
+ local values = { }
+ for i=1,#axis do
+ local a = axis[i]
+ values[i] = {
+ axis = a.tag,
+ value = i == n and value or a.default,
+ }
+ end
+ instances[#instances+1] = {
+ subfamily = subfamily,
+ values = values,
+ }
+ end
+ for i=1,#axis do
+ local a = axis[i]
+ local tag = a.tag
+ add(i,"default"..tag,a.default)
+ add(i,"minimum"..tag,a.minimum)
+ add(i,"maximum"..tag,a.maximum)
+ end
+ -- report("%i fake instances added",#instances)
+ end
+ end
+
if not specification.factors then
local instance = specification.instance
if type(instance) == "string" then
@@ -2089,19 +2122,19 @@ local function readdata(f,offset,specification)
end
end
end
+
if not fontdata.factors then
if fontdata.variabledata then
local factors = helpers.getfactors(fontdata,true)
if factors then
specification.factors = factors
- fontdata.factors = factors
- fontdata.instance = instance
- report("font instance: %s, factors: % t",instance,factors)
+ fontdata.factors = factors
+ report("factors: % t",factors)
else
- report("user instance: %s, bad factors",instance)
+ report("bad factors")
end
else
- report("unknown instance")
+ -- report("unknown instance")
end
end