Freigeben über


Formen von Ziffern

Arabisch und viele andere Sprachen haben klassische Formen für Zahlen, die sich von den herkömmlichen westlichen Ziffern unterscheiden, die am häufigsten auf Computern verwendet werden. Um Mehrdeutigkeiten bei der Benennung dieser Formen zu vermeiden, verwendet dieses Dokument die folgenden Namen aus dem Unicode-Standard.

Unicodename der Ziffern Land/Region, in dem/der verwendet wird
Europäische Ziffern Europa, Nord- und Südamerika und viele andere Länder/Regionen
Arabic-Indic Ziffern Arabische Länder/Regionen (obwohl viele europäische Ziffern verwenden)
Andere nationale Ziffern: Indische Ziffern, thailändische Ziffern usw. Verschiedene Länder/Regionen

 

Unicode stellt separate Codepunkte für jede Ziffernform bereit. Daher kann Ihre Anwendung für den Zugriff auf spezielle Formen von Sprachziffern die relevanten Unicode-Zeichencodes für die obigen Ziffern verwenden, U+0030 bis U+0039. Diese Codes werden immer mit der entsprechenden Form angezeigt, sofern die Schriftart verfügbar ist.

Die Unicode-Zeichencodes U+0030 bis U+0039 stellen die europäischen Ziffern 0 bis 9 nominal dar, aber ihre Ziffernform kann geändert werden. GDI und DirectWrite Text-APIs bieten Mechanismen für Anwendungen, um dieses Verhalten zu steuern. (Siehe instance, ScriptApplyDigitSubstitution oder IDWriteTextAnalysisSink::SetNumberSubstitution.) Das Verhalten in einigen Shellsteuerelementen und Benutzeroberflächenframeworks reagiert möglicherweise auf Einstellungen des Benutzergebietsschemas für die Ersetzung von Ziffern; der LOCALE_IDIGITSUBSTITUTION LCTYPE kann verwendet werden, um Standardeinstellungen für die Ersetzung von Ziffern für verschiedene Gebietsschemas oder die Desktopeinstellungen des aktuellen Benutzers für die Ersetzung von Ziffern abzurufen.

Native Ziffern

Native Ziffern sind die Ziffernformen, die der Benutzer im Bereich Der Regions- und Sprachoptionen des Systemsteuerung im Eigenschaftenblatt Number ausgewählt hat. Um die vom Benutzer bevorzugte Zifferndarstellung zu finden, verwendet Ihre Anwendung die GetLocaleInfo - oder GetLocaleInfoEx-Funktion mit der LOCALE_SNATIVEDIGITS Konstante, die die Gebietsschemainformationen darstellt.

Hinweis

In der Regel werden Unicode-Zifferncodes in Laufzeitbetriebssystemroutinen generiert. Daher müssen Common Runtime-Betriebssysteme aktualisiert werden, damit die Anwendung LOCALE_SNATIVEDIGITS entsprechend überprüfen kann.

 

Ziffernersetzung

Die Anwendung kann die Ziffernersetzung verwenden, um dem Betriebssystem mitzuteilen, wie die Ziffern U+0030 bis U+0039 gedruckt werden sollen. Die LOCALE_IDIGITSUBSTITUTION-Konstante steuert diesen Vorgang.

Digit Shaping für eine einzelne Funktion

Die Funktionen ExtTextOut, GetCharacterPlacement und GCP_RESULTS verfügen über Flags, die die Ersetzung von Unicode-Codes U+0030 durch U+0039 für die Dauer des Funktionsaufrufs steuern. Diese Flags überschreiben regionale Einstellungen im Systemsteuerung, setzen die Einstellungen jedoch nicht zurück. Außerdem überschreiben sie nicht die Unicode-Codes NADS und NODS. Die folgenden Flags sind verfügbar.

Flags Verwendete Ziffern Verwendung in
ETO_NUMERICSLATIN Europäische Ziffern ExtTextOut
ETO_NUMERICSLOCAL Für das Gebietsschema geeignete Ziffern ExtTextOut
GCP_NUMERICSLATIN Europäische Ziffern GetCharacterPlacement
GCP_NUMERICSLOCAL Für das Gebietsschema geeignete Ziffern GetCharacterPlacement
GCPCLASS_LATINNUMBER Europäische Ziffern GCP_RESULTS
GCPCLASS_LOCALNUMBER Für das Gebietsschema geeignete Ziffern GCP_RESULTS

 

Informationen zur Unterstützung von Landessprachen

GetLocaleInfo

GetLocaleInfoEx