[NTG-context] \setextrafontkerns can cause an infinite loop
Max Chernoff
mseven at telus.net
Thu Jun 30 11:16:38 CEST 2022
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
More information about the ntg-context
mailing list