Freigeben über


Ziffernformen

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

Unicode-Name der Ziffern Land/Region, in dem/der/der verwendet wird
Europäische Ziffern Europa, Amerika 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 und ähnliches Verschiedene Länder/Regionen

 

Unicode stellt separate Codepunkte für jede Ziffernform bereit. Damit Ihre Anwendung auf spezielle Sprachziffern-Shapes zugreifen kann, können Sie die relevanten Unicode-Zeichencodes für die obigen Ziffern, U+0030 bis U+0039, verwenden. Diese Codes werden immer mit der entsprechenden Form angezeigt, vorbehaltlich der Schriftartverfügbarkeit.

Die Unicode-Zeichencodes U+0030 bis U+0039 stellen nominal die europäischen Ziffern 0 bis 9 dar, ihre Ziffern können jedoch geändert werden. GDI- und DirectWrite-Text-APIs bieten Mechanismen für Anwendungen zur Steuerung dieses Verhaltens. (Siehe z. B. ScriptApplyDigitSubstitution oder IDWriteTextAnalysisSink::SetNumberSubstitution.) Das Verhalten in einigen Shellsteuerelementen und Benutzeroberflächenframeworks reagiert möglicherweise auf Benutzergebietsschemaeinstellungen für die Ersetzung von Ziffern; die 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 Ziffernersetzung zu erhalten.

Native Ziffern

Native Ziffern sind die vom Benutzer im Eigenschaftenblatt Number Eigenschaftenblatts im Bereich "Regions- und Sprachoptionen" der Systemsteuerung ausgewählten Ziffern. Um die vom Benutzer bevorzugte Ziffernpräsentation zu finden, verwendet Ihre Anwendung die GetLocaleInfo oder GetLocaleInfoEx--Funktion mit der LOCALE_SNATIVEDIGITS Konstante, die gebietsschemainformationen darstellt.

Anmerkung

In der Regel werden Unicode-Zifferncodes in Laufzeitbetriebssystemroutinen generiert. Daher müssen gängige Laufzeitbetriebssysteme aktualisiert werden, damit die Anwendung LOCALE_SNATIVEDIGITS entsprechend prüfen kann.

 

Ziffernersetzung

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

Ziffernformung für eine einzelne Funktion

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

Flaggen Verwendete Ziffern Verwendet in
ETO_NUMERICSLATIN Europäische Ziffern ExtTextOut-
ETO_NUMERICSLOCAL Ziffern, die für das Gebietsschema geeignet sind ExtTextOut-
GCP_NUMERICSLATIN Europäische Ziffern GetCharacterPlacement-
GCP_NUMERICSLOCAL Ziffern, die für das Gebietsschema geeignet sind GetCharacterPlacement-
GCPCLASS_LATINNUMBER Europäische Ziffern GCP_RESULTS
GCPCLASS_LOCALNUMBER Ziffern, die für das Gebietsschema geeignet sind GCP_RESULTS

 

über

GetLocaleInfo-

GetLocaleInfoEx-