UIFontDescriptor does not allow for all-caps styling

Originator:richy486
Number:rdar://33268141 Date Originated:July 12 2017
Status:closed Resolved:yes
Product:iOS Product Version:iOS 10.1
Classification: Reproducible:yes
 
If we want to add font styling to display a string that has lower case letters as upper case, there doesn't appear to be an option for that any more.

Currently we have `kLowerCaseType` but that only has small or petite caps.

There is also the `String` function `uppercased()` but that changes the string value.

There use to be `kLetterCaseType` and `kAllCapsSelector` but its deprecated.

It would be ideal to add a `kLowerCaseAllCapsSelector` to `kLowerCaseType`.
This might also need a `kUpperCaseNoCapsSelector` for `kUpperCaseType` but this is not the subject for this Suggestion.

Steps to Reproduce:
Create an attributed string
Use UIFontDescriptor to set the font style
Notice no option for all-caps

Expected Results:
A `kLowerCaseType` selector for all-caps

Observed Results:
There use to be `kLetterCaseType` and `kAllCapsSelector` but its deprecated. There may be a regression to lose an all-caps option.

Comments

Apple Developer Relations

Engineering has provided the following information regarding this issue:

Casing operations have many edge cases and should be performed on strings, not glyphs.


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!