NumberSubstitutionMethod Enum
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Defines an enumerator class that specifies the type of number substitution to perform on numbers in a text run.
public enum class NumberSubstitutionMethod
public enum NumberSubstitutionMethod
type NumberSubstitutionMethod =
Public Enum NumberSubstitutionMethod
- Inheritance
Fields
Name | Value | Description |
---|---|---|
AsCulture | 0 | Default. Specifies that the substitution method should be determined based on the number culture's DigitSubstitution property value. |
Context | 1 | If the number culture is an Arabic, Persian, or Dari culture, specifies that the digits depend on the context. Either traditional or Latin digits are used depending on the nearest preceding strong character, or, if there is none, the text direction of the paragraph. |
European | 2 | Specifies that code points 0x30-0x39 are always rendered as European digits, in which case, no number substitution is performed. |
NativeNational | 3 | Specifies that numbers are rendered using the national digits for the number culture, as specified by the culture's NativeDigits property value. |
Traditional | 4 | Specifies that numbers are rendered using the traditional digits for the number culture. For most cultures, this is the same as the NativeNational enumeration value. However, using NativeNational can result in Latin digits for some Arabic cultures, whereas using Traditional results in Arabic digits for all Arabic cultures. |
Remarks
Most cultures use the decimal system to represent numbers, but many cultures use different digit shapes. The following table shows several numbering systems used by different cultures.
Example of the appearance of digits in different cultures
It is not sufficient to provide alternate Unicode code points for each set of digit shapes, because, unlike letters, digits are used in calculations. Every application, every operating system, and every run-time library contains code dedicated to converting an internal binary format numeric value to a string of characters, and vice versa. These conversion routines are coded to use Unicode digits "0030" through "0039".
The NumberSubstitution class provides functionality that allows different cultures to substitute the appropriate digit shapes at rendering time. This functionality is similar to the one used for providing font substitution and language dependent font rendering.
Note
Many cultures are discarding their traditional digits shapes and adopting Western digits shapes, therefore the number substitution functionality recognizes the distinction for each culture between traditional digit shapes and national standard digit shapes.