I would like to do a drop cap first character in a UILabel using the attributedText NSAttributedString property only. Like this:
No, this cannot be done with an NSAttributedString and standard string drawing only.
Since the drop cap is a property of a paragraph the CTParagraphStyle would have to contain the information about the drop cap. The only property in CTParagraphStyle that affects indentation of the start of the paragraph is kCTParagraphStyleSpecifierFirstLineHeadIndent, but that affects the first line only.
There's just no way to tell the CTFramesetter how to calculate the beginnings for the second and more rows.
The only way is to define your own attribute and write code to draw the string using CTFramesetter and CTTypesetter that acknowledge this custom attribute.