On 8/14/2021 5:56 PM, Marcel Krüger via ntg-context wrote:
Hi,
the latest ConTeXt version fails for the following
document:
\definefontfeature
[default:test]
[default]
[axis={Weight=100}]
\definefont
[SomeFont]
[file:Fraunces.ttf*default:test]
\starttext
\SomeFont Abcdef
\stoptext
and the font from
https://github.com/undercasetype/Fraunces/raw/master/fonts/Fraunces%5BSOFT%2CWONK%2Copsz%2Cwght%5D.ttf
renamed to Fraunces.ttf
with the error message
otf reader > user instance: weight=100, factors: 0 -1.0 0 0
otf reader > fatal error in file 'Fraunces.ttf':
...e0dde776fb1556f32e/formats/luametatex/font-ttf-macro.lua:274: attempt to index
a nil value (local 'p1')
stack traceback:
...e0dde776fb1556f32e/formats/luametatex/font-otr-macro.lua:2339:
in metamethod 'index'
...e0dde776fb1556f32e/formats/luametatex/font-ttf-macro.lua:274: in
upvalue 'applyaxis'
...e0dde776fb1556f32e/formats/luametatex/font-ttf-macro.lua:1428:
in field 'gvar'
...e0dde776fb1556f32e/formats/luametatex/font-ttf-macro.lua:1155:
in local 'reader'
...e0dde776fb1556f32e/formats/luametatex/font-otr-macro.lua:2084:
in upvalue 'readtable'
...e0dde776fb1556f32e/formats/luametatex/font-otr-macro.lua:2197:
in upvalue 'readdata'
...e0dde776fb1556f32e/formats/luametatex/font-otr-macro.lua:2252: in
function <...e0dde776fb1556f32e/formats/luametatex/font-otr-macro.lua:2235>
[C]: in function 'xpcall'
...e0dde776fb1556f32e/formats/luametatex/font-otr-macro.lua:2341:
in upvalue 'loadfont'
...e0dde776fb1556f32e/formats/luametatex/font-otr-macro.lua:2396:
in field 'loadfont'
...mtx/tex/texmf-context/tex/context/base/mkiv/font-otl.lua:160: in
field 'load'
...mtx/tex/texmf-context/tex/context/base/mkiv/font-otl.lua:599: in
upvalue 'otftotfm'
...mtx/tex/texmf-context/tex/context/base/mkiv/font-otl.lua:627: in
function <...mtx/tex/texmf-context/tex/context/base/mkiv/font-otl.lua:626>
(...tail calls...)
...mtx/tex/texmf-context/tex/context/base/mkxl/font-def.lmt:377: in
function <...mtx/tex/texmf-context/tex/context/base/mkxl/font-def.lmt:365>
(...tail calls...)
...mtx/tex/texmf-context/tex/context/base/mkxl/font-def.lmt:483: in
field 'read'
...mtx/tex/texmf-context/tex/context/base/mkxl/font-ctx.lmt:1336: in
function <...mtx/tex/texmf-context/tex/context/base/mkxl/font-ctx.lmt:1193>
(...tail calls...)
fonts > otf loading > loading failed due to read error
(This run used luametatex, but the same issue occurs when using luatex)
The same font worked correctly with the ConTeXt version from 2021-05-20.
that's because since then we check for the cycle (otherwise artifacts)
it probably relates to these extra points (the 'standard' is somewhat
fuzzy in that respect also because some fonts have them and some don't
so it's the usual wait till we run into something issue)
we can check for bounds
for i=1,nofpoints do
local d1, d2, d3 = find(i)
local p2 = points[i]
if d2 then
xv[i] = xvalues[d2]
yv[i] = yvalues[d2]
else
local n1 = dpoints[d1]
local n3 = dpoints[d3]
if n1 > nofpoints then
n1 = nofpoints
end
if n3 > nofpoints then
n3 = nofpoints
end
no crash then (the resulting shapes look good enough to me, assumign
that the weird f is intended)
Hans
-----------------------------------------------------------------
Hans Hagen | PRAGMA ADE
Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-----------------------------------------------------------------
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the
Wiki!
maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage : http://www.pragma-ade.nl / http://context.aanhet.net
archive : https://bitbucket.org/phg/context-mirror/commits/
wiki : http://contextgarden.net
___________________________________________________________________________________