If an attributed string has only one range, set the font on the view instead of updating the attributed text. There is no apparent reason for the failure of the previous approach, but numerous cases exhibited this behavior.
Disabled protected attributes since some of the attributes (at least font name) can be set as a result of modifying symbolic traits.
Added a generic mechanism for updating fonts within views temporarily removed from the view hierarchy, such as reused table cells or views in non-top controllers in a navigation controller.