ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
From: Hans Hagen via ntg-context <ntg-context@ntg.nl>
To: mailing list for ConTeXt users <ntg-context@ntg.nl>
Cc: "Hans Hagen" <j.hagen@xs4all.nl>, "Marcel Krüger" <tex@2krueger.de>
Subject: Re: Failure when loading variable font
Date: Sat, 14 Aug 2021 21:05:45 +0200	[thread overview]
Message-ID: <42607175-b678-5be3-3583-d948bedafeac@xs4all.nl> (raw)
In-Reply-To: <20210814155613.y2lm6h7aryr6uifr@beeblebrox>

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	other threads:[~2021-08-14 19:05 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-14 15:56 Marcel Krüger via ntg-context
2021-08-14 19:05 ` Hans Hagen via ntg-context [this message]
2021-08-15 16:03   ` Marcel Fabian Krüger via ntg-context

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=42607175-b678-5be3-3583-d948bedafeac@xs4all.nl \
    --to=ntg-context@ntg.nl \
    --cc=j.hagen@xs4all.nl \
    --cc=tex@2krueger.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).