separate logical and visual widths