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
___________________________________________________________________________________

Reply via email to