2.5.22 CodeName

The CodeName structure is an XLWideString (section 2.5.169) structure that specifies a name to be used in a scripting application. The length of this string MUST NOT exceed 31 characters. If this string is not empty, it MUST contain only the characters that can be mapped from Unicode to a multibyte American National Standards Institute (ANSI) character set specified by the system locale. If the system locale is Chinese, Japanese, or Korean, the fullwidth characters in the resulting ANSI string are further mapped to corresponding halfwidth characters where applicable.

In the resulting ANSI string, the first character MUST be either a letter, a single-byte character with a code greater than 0x7F, or a multibyte character. The subsequent characters in the resulting ANSI string MUST be either a letter, a digit, an underscore, a single-byte character with a code greater than 0x7F, or a multibyte character.

If the system locale is Japanese, the original Unicode string MUST NOT contain a character with a code equal to 0xFFE3.