Hans Hagen wrote:
Still, why is the subtype ia bitfield anyway? Can a glyph node i.e. be both a character node as well as a ligature node?
a ligature is not really a character -)
anyhow, zero means 'nothing done', while other values < 256 means, something done; you can use bits >= 256 for your own usage since luatex only looks at the first 8 bits
A glyph_node is either a pre-hyphenation character (only bit 0 is set == its value is 1), or it is something else. Some of the "something elses" really make more sense when subtype is a bit field (ligatures and ghosts). The advantage of using a the first and second bit for "character" and "glyph", is that we could make tests like: is this a pre-ligkern node (0 and 1 both unset), or a post-ligkern glyph node (with bit 1 set), or a character (bit 0 set). Such a split allows speedups as some processing steps can be skipped. Currently however, only the character test is implemented.
- If I handle accented characters this way, I do not have to create a "ligaturing" callback, do I?
correct.
- Does the "char" font command move the output pointer?
yes. Best wishes, Taco