### Character Properties

IUnicode provides static member functions that let you access the semantic information provided by the Unicode character standard. These functions let you determine the script of a `UniChar` character or query whether that character has a particular property.

IUnicode includes an enum, EUnicodeScript, that defines the set of scripts supported by Unicode. The function script returns the correct enumerated value that indicates the script of the character. Other functions return a boolean value that indicates whether the character has a particular property.

This figure shows the IUnicode interface:

ICharacterPropertyIterator lets you scan the set of Unicode characters for characters that have a specific set of properties. For example, you might use this class to return a list of punctuation characters for a particular script. The iterator takes a range of character properties, defined by the IUnicode enum ECharacterProperty, and identifies the characters that have the properties in that range.

This figure shows the ICharacterPropertyIterator interface:

- operator++ lets you advance the iterator
- operator* lets you access the character currently referenced by the iterator
- operator bool indicates when the iterator has reached the last character with the specified properties