Estilo superíndice de NSAttributedString

Quiero sobrescribir todas las instancias de ® carácter en un bloque de texto (renuncia legal, naturalmente;)) y la forma predeterminadaNSAttributedString no es muy bueno.

Si solo dejo que el personaje sea y solo use sin modificar.NSString, se representa del mismo tamaño que una letra mayúscula y se coloca aproximadamente en la línea de base. Si agrego el atributo superíndice aNSAttributedString como sigue:

[attrStr setAttributes:@{(NSString *)kCTSuperscriptAttributeName : @1} range:NSMakeRange(locationOfReg, 1)];

El carácter se levanta de la línea de base, su tamaño no se modifica, pero el interlineado ahora se ve afectado porque, de lo contrario, el carácter elevado se entrometería en la línea anterior.

Para ilustrar:

Creé esta imagen en Photoshop donde se logró la posición deseada al reducir el tamaño del personaje y cambiar la línea de base. Sé cómo cambiar el tamaño de fuente en iOS, pero cambiar la línea de base parece más complicado. ¿Alguna sugerencia sobre cómo lograr esto?

Edición: Supongo que podría usar el atributo superíndice como una forma de cambiar la línea de base hacia arriba. Ahora sería genial encontrar una manera de obtener el tamaño de fuente actual y, posteriormente, reducirlo para permitir el uso del mismo método en bloques de texto de diferente tamaño.

Respuestas a la pregunta(3)

Su respuesta a la pregunta