1. A method for typesetting a set of glyphs, comprising: selecting a current glyph from the set of glyphs; selecting a current position of the current glyph; and determining a next position of a next glyph, the next glyph selected from the set of glyphs, the selection continuing until a termination condition is satisfied, the determining further comprising: representing the current glyph as a two-dimensional distance field; determining the next position using the current position, an escapement of the current glyph, and an alignment of the two-dimensional distance field; updating the current glyph to be the next glyph; and updating the current position to be the next position.