Unfortunately, this is not the same semantics as Character.isUppercased
. You can see an explanation of the different notions of casing in Unicode in my post on the scalar properties thread. Character.isUppercased
follows the 3rd notion of casing in that post, while Character follows the first.
Sorry for all the questions; I want to cut to the root of your concern. Do you view a proliferation of properties on Character to be a greater cause of concern than elsewhere in the standard library? That is, the first part of the argument seems like a general statement regarding any addition to the Swift standard library, and I'm very interested in why you think properties on Character are different.
As far as being tied to internationalization, these properties are Swift-specific semantics defined in terms of Unicode.Scalar.Properties
or operations on String
, which are kept up-to-date through use of ICU (as well as needing to be kept up to date anyways).