procedural text rendering