Switched to using a UITextView to do the character mapping, its much more accurate than a standalone NSLayoutManager and friends yet not perfect. I might have to try and switch to UITextView for displaying the content. UILabel still aligning things half a line down.