Reformatted because this was messy.  The only real changes are dp->sp for text size and setting ellipsize to end.