"Shark8" wrote in message news:00aab01c-7d18-408a-9a4c-feb80ac9a1e1@googlegroups.com... >I thought I had come across a unicode Equals_Case_Insensitive >(and less than) for unicode using Wide_Wide_Strings some time >ago, but I cannot seem to find them again; am I misremembering, >or were they in a really odd place? Not an odd place, but they have their own subclause (A.4.10). >For this particular application I would rather use Wide_Wide_String than > Wide_String so I wouldn't have to worry about invalid character > [sequences] > for the non-ASCII characters. (And, while UTF-8 encoded strings have the > nice property of being endian agnostic, they still have that property.) -- > But I > suppose the main thing is to have a good case insensitive compare such > that > PRUSSIAN and Prußian are considered equal. Sorry, the language-defined equality won't do that. It uses "locale-independent simple case folding", which means that strings of different lengths are always different. (That's the same case comparison that's used for Ada identifiers.) The much more complex "locale-independent full case folding" is not provided by the language, we didn't want to inflict that level of pain on Ada implementers (especially as the need was unclear). The AARM note A.4.10(3.a/3) gives a bit of background. Randy. Thanks.