NumberSubstitutionMethod NumberSubstitutionMethod NumberSubstitutionMethod NumberSubstitutionMethod Enum


テキスト ランの数字に対して実行される数字置換の種類を指定する、列挙子クラスを定義します。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


AsCulture AsCulture AsCulture AsCulture 0

既定モード。Default. 数字カルチャの DigitSubstitution プロパティ値に基づいて置換方法を決定することを指定します。Specifies that the substitution method should be determined based on the number culture's DigitSubstitution property value.

Context Context Context 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 European European European 2

コード ポイント 0x30 ~ 0x39 を常にヨーロッパ数字で表示することを指定します。この場合、数字の置換は行われません。Specifies that code points 0x30-0x39 are always rendered as European digits, in which case, no number substitution is performed.

NativeNational NativeNational NativeNational NativeNational 3

カルチャの NativeDigits プロパティ値の指定に従い、数字カルチャに対応する国の数字を使用して数字を表示することを指定します。Specifies that numbers are rendered using the national digits for the number culture, as specified by the culture's NativeDigits property value.

Traditional Traditional Traditional Traditional 4

数字カルチャの通常の数字を使用して数字を表示することを指定します。Specifies that numbers are rendered using the traditional digits for the number culture. ほとんどのカルチャでは、これは NativeNational 列挙値と同じです。For most cultures, this is the same as the NativeNational enumeration value. ただし、NativeNational を使用すると一部のアラビア カルチャでラテン数字が表示されますが、Traditional を使用するとすべてのアラビア カルチャでアラビア数字が表示されます。However, using NativeNational can result in Latin digits for some Arabic cultures, whereas using Traditional results in Arabic digits for all Arabic cultures.


ほとんどのカルチャでは、10進システムを使用して数値を表しますが、多くのカルチャでは異なる数字形状が使用されます。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.

数字の置換グリフの表Table of number substitution glyphs
さまざまなカルチャにおける数字の外観の例Example of the appearance of digits in different cultures

数字とは異なり、数字は計算で使用されるため、数字図形のセットごとに代替 Unicode コードポイントを指定するだけでは十分ではありません。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. これらの変換ルーチンは、Unicode 数字 "0030 ~" ~ "0039" を使用するようにコード化されています。These conversion routines are coded to use Unicode digits "0030" through "0039".

クラスNumberSubstitutionには、レンダリング時に異なるカルチャが適切な数字図形を置き換えることができるようにする機能が用意されています。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.


多くのカルチャは、従来の数字の形状を破棄し、西洋の数字の形状を採用しています。したがって、数値の置換機能では、従来の数字の図形と国の標準の数字の図形の間の各カルチャの区別が認識されます。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.