Text this: An optimal algorithm for computing angle-constrained spanners