Hallo Wissende,
Ich wollte herausfinden, wie groß ein Geviert (ein em) mit dem Font und der Font-Größe wäre, die ein Glyph verwendet:
Dazu kopierte ich in pre_linebreak_filter einen glyph-node, setzte als char ein M ein und prüfte die Größe:
\documentclass{scrbook} \usepackage{luacode} \begin{luacode*} local find_em_size = function (head) local glyph_id = node.id "glyph" local kern_id = node.id "kern" while head do if head.id == kern_id then print ("kerning found: ", head.kern) elseif head.id == glyph_id then local curFont = font.fonts [head.font] local fontSize = curFont.size local emNode = node.copy (head) emNode.char = 77 local emSize = emNode.height + emNode.depth print ("char: "..unicode.utf8.char(head.char).." emSize: "..tostring(emSize).." fontSize: "..tostring(fontSize)) end head = head.next end return true end luatexbase.add_to_callback("pre_linebreak_filter",find_em_size,"~") \end{luacode*} \begin{document} \typeout{} x\large y\Large z A\kern1emB \end{document}
Merkwürdigerweise erhalte ich in emSize einen viel zu kleinen Wert – doch in fontsize bekomme ich den Wert, den ich auch in einem kern-Node bekomme, wenn ich im Dokument \kern1em schriebe.
Wie kann das sein? Ist das immer so?
Herzliche Grüße
Karl-Heinz