What is the best way to convert a Delphi XE AnsiString containing escaped combining diacritical marks like “Fu\u0308rst” into a frienly WideString “Fürst”?
I am aware of the fact that this is not always possible for all combinations, but the common Latin blocks should be supported without building silly conversion tables on my own. I guess the solution can be found somewhere in the new Characters unit, but I don’t get it.
I think you need to perform Unicode Normalization. on your string.
I don’t know if there’s a specific call in Delphi XE RTL to do this, but the WinAPI call NormalizeString should help you here, with mode NormalizationKC: