support text alignment: start, middle, end