The Delphi 11.3 System.Character.pas
unit implements some character helper methods to query Unicode character properties, like, for instance, the IsControl
method.
This method uses a table defined in System.Characters.inc
to look up these properties.
Which version of the Unicode specification is used by Delphi 11.3 to build up this table, and is therefore used for the functions in System.Character?
I want to know which characters are specified as control characters according to the IsControl method. The Unicode organization is releasing new versions of the Unicode standard every now and then, and new versions may include additional control characters.
Of course this also applies to the other methods that check for other types of characters.
You can use the TCharacter.UnicodeDataVersion()
or TCharHelper.UnicodeDataVersion()
static methods to know which Unicode version is being used.
I don't have Delphi 11.3 to look at, but in Delphi 10.3 those methods returned '12.1.0'
, and in Delphi 12.2 they returned '15.0.0'
, so Delphi 11.3 falls somewhere in between those Unicode versions. At the time of Delphi 11.3's release, the current Unicode version was 15.0, but I don't know when exactly Embarcadero started using Unicode 15.0.