确定 LuaTeX 节点列表中的单词边界

确定 LuaTeX 节点列表中的单词边界

关于确定 LuaTeX 节点列表中的单词边界,应将什么视为最佳实践?

我看到一些包使用了类似这样的东西:

while ((MOVE.id == node.id("glyph")) or (MOVE.id == node.id("kern")) or (MOVE.id == node.id("disc")) or (MOVE.id == node.id("hlist"))) do
    MOVE = MOVE.next
end

但我想知道那里是否存在问题,例如包插入其他节点。

目前我使用:

if MOVE.id == node.id ( "glue" ) or ( MOVE.id == node.id ( "kern" ) and MOVE.subtype == 1 ) then break end

在 luatex 手册的第 72 页上,显示了连字符的单词边界规则的表格:

在此处输入图片描述

那么我应该包括边界节点吗?

为什么惩罚或核节点一定需要指示单词的结束?

“否则:是”是什么意思?

相关内容