Sometimes using \setextrafontkerns can cause an infinite loop.

Example 1:

    \setextrafontkerns[max]

    \starttext
        l\it l
    \stoptext

Example 2:

    \setupbodyfont[libertinus]

    \setextrafontkerns[max]

    \starttext
        x\ss x
    \stoptext

Both of these examples cause ConTeXt to get stuck until it runs out of
memory. This happens in both MkIV and MkXL.

This patch seems to fix the issue (although it may break other things...):

--- texmf-context/tex/context/base/mkiv/typo-fkr.old    2022-06-30 
03:05:17.702804200 -0600
+++ texmf-context/tex/context/base/mkiv/typo-fkr.lua    2022-06-30 
03:05:22.286858200 -0600
@@ -57,6 +57,7 @@
                         end
                         if kern ~= 0 then
                             head, current = 
insertbefore(head,current,new_kern(kern))
+                            current = getnext(current)
                         end
                         lastdata = data
                     else
@@ -69,6 +70,7 @@
                     local kern = getkernpair(lastdata,lastchar,char)
                     if kern ~= 0 then
                         head, current = 
insertbefore(head,current,new_kern(kern))
+                        current = getnext(current)
                     end
                 end
                 lastchar = char

-- Max


___________________________________________________________________________________
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