表示luatex
連字的字形節點有一個components
類型字段node
,該字段應該「指向連字組件」。我無法理解如何使用此連結獲取組件,任何幫助將不勝感激。
對於具有固定程式碼(U+FB00 到U+FB04)的「標準」連字ff、fi、fl、ffi、ffl 來說,很容易製作一個表格來解決問題,但是像ct 這樣不太常見的連字呢?
答案1
它是節點列表的頭部,所以看起來(對於 ff)就像你有一個帶有兩個 f 的 hbox
\documentclass{article}
\begin{document}
\setbox0\hbox{fish diff --- abc}
\directlua{
glyphn=node.id('glyph')
h=tex.getbox(0)
print('\string\n=====')
for n in node.traverse_id(glyphn,h.list) do
if (n.components) then
print(n.char .. ' ' .. utf8.char(n.char))
for nn in node.traverse_id(glyphn,n.components) do
print('>> ' .. nn.char .. ' ' .. utf8.char(nn.char) )
end
end
end
print('\string\n=====')
}
\end{document}
印刷:
=====
64257 fi
>> 102 f
>> 105 i
64256 ff
>> 102 f
>> 102 f
8212 —
>> 45 -
>> 45 -
>> 45 -
=====
fi
顯示,ff
和的組件的字形編號---
我添加了字元和數字的列印,雖然這會列印使用非 Unicode 插槽的連字的無意義內容,但它有助於閱讀簡單的情況