Natural attrStr.size is (width = 1578, height = 15)
NSRect stringRect = ...
[attrString drawWithRect:stringRect options:NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingTruncatesLastVisibleLine];
Drawn with size {500, 60} works as expected (wraps, no squeezing):
Drawn with size {500, 15} squeezes which is probably wrong, but truncates which is right:
Drawn with Monaco font and size {500, 15} it starts to squeeze ridiculously:
{500, 15} but no NSStringDrawingTruncatesLastVisibleLine, and it's better:
But I want the truncated line…
Answer!
Set allowsDefaultTighteningForTruncation to NO on the paragraph style applied to the whole attributed string.