Just in case it is of interest (and assuming this won’t change in future versions), after digging again in lua code I replaced nodes.handlers.characters(head) with

local proc = nodes.tasks.actions('processors') -- not sure finalizers tasks are needed ?
head = proc(head)

before passing returned head to linebreak:

local vbox, info = tex.linebreak(head, {})
node.write(vbox)

and it shows kern in ouput, apparently identical to vanilla typesetting.

Joseph

From: josephcanedo@gmail.com
Sent: ‎Tuesday‎, ‎November‎ ‎17‎, ‎2015 ‎9‎:‎15‎ ‎AM
To: ntg-context@ntg.nl

Hello,

I was wondering if someone could have some hints on this question, anyway, I found the function mknodes() from luaTeX wiki and nodes.handlers.characters(head) function in ConTeXt (as it seems that node.ligaturing(head) and node.kerning(head) do not seem to do anything).

It seems to work fine (ligatures and font features) expect the kerning. Does someone know how to perform the kerning as well ?

Best regards

Joseph Canedo

From: josephcanedo@gmail.com
Sent: ‎Saturday‎, ‎November‎ ‎14‎, ‎2015 ‎11‎:‎16‎ ‎AM
To: ntg-context@ntg.nl

Dear all,

Is it possible in ConTeXt within lua code to do “trial typesetting” (not sure that’s best name for what I would like to achieve) ? By this I mean store some input (with text and macros) in some buffer and do what ConTeXt does normally (parsing, create nodes …) but instead of shipping the nodes to line breaking algorithm and to the page output, only retrieve the nodes and after discard them. This is to get an estimate of the total text width within a paragraph (to calculate some shape on the paragraph).

I browsed the lua code from http://source.contextgarden.net/ but I do not dare to use too low level lua functionality.

Many thanks for any hint (even a pointer to lua function).

Best regards

Joseph Canedo