In the end, I used textRectForBounds:limitedToNumberOfLines: to find the dynamic start point of the word (minus some x coordinate pixels), and then removed the first letter uilabel with stringByReplacingCharactersInRange:withString: and then added another uilabel starting from the original label, only with in a different font.
Marty source share