Formes numériques
L’arabe et de nombreuses autres langues ont des formes classiques pour les nombres qui sont différents des chiffres occidentaux conventionnels le plus souvent utilisés sur les ordinateurs. Pour éviter toute ambiguïté dans le nommage de ces formes, ce document utilise les noms suivants de la norme Unicode.
Nom Unicode des chiffres | Pays/région où il est utilisé |
---|---|
Chiffres européens | Europe, Amériques et bien d’autres pays/régions |
Arabic-Indic chiffres | Pays/régions arabes (bien que beaucoup utilisent des chiffres européens) |
Autres chiffres nationaux : chiffres indics, chiffres thaïlandais, et similaires | Différents pays/régions |
Unicode fournit des points de code distincts pour chaque forme de chiffre. Ainsi, pour accéder à des formes numériques de langue spéciales, votre application peut utiliser les codes caractères Unicode appropriés pour les chiffres ci-dessus, U+0030 à U+0039. Ces codes sont toujours affichés avec la forme appropriée, sous réserve de la disponibilité de la police.
Les codes caractères Unicode U+0030 à U+0039 représentent nominalement les chiffres européens 0 à 9, mais leur forme de chiffre peut être modifiée. Les API GDI et DirectWrite texte fournissent des mécanismes permettant aux applications de contrôler ce comportement. (Pour instance, consultez ScriptApplyDigitSubstitution ou IDWriteTextAnalysisSink::SetNumberSubstitution.) Le comportement de certains contrôles d’interpréteur de commandes et infrastructures d’interface utilisateur peut répondre aux paramètres régionaux de l’utilisateur pour la substitution de chiffres ; le LOCALE_IDIGITSUBSTITUTION LCTYPE peut être utilisé pour obtenir les paramètres de substitution de chiffres par défaut pour différents paramètres régionaux ou les paramètres de bureau de l’utilisateur actuel pour la substitution de chiffres.
Chiffres natifs
Les chiffres natifs sont les formes de chiffres choisies par l’utilisateur dans la feuille de propriétés Nombre dans la partie options régionales et linguistiques du Panneau de configuration. Pour rechercher la présentation de chiffres préférée par l’utilisateur, votre application utilise la fonction GetLocaleInfo ou GetLocaleInfoEx avec la constante LOCALE_SNATIVEDIGITS représentant les informations de paramètres régionaux.
Notes
En règle générale, les codes chiffres Unicode sont générés dans les routines du système d’exploitation du runtime. Par conséquent, les systèmes d’exploitation common runtime doivent être mis à niveau pour que l’application inspecte LOCALE_SNATIVEDIGITS de manière appropriée.
Substitution de chiffres
L’application peut utiliser la substitution de chiffres pour indiquer au système d’exploitation comment imprimer des chiffres U+0030 à U+0039. La constante LOCALE_IDIGITSUBSTITUTION contrôle cette opération.
Mise en forme de chiffres pour une fonction unique
Les fonctions ExtTextOut, GetCharacterPlacement et GCP_RESULTS ont des indicateurs qui régissent la substitution des codes Unicode U+0030 à U+0039 pendant la durée de l’appel de fonction. Ces indicateurs remplacent les paramètres régionaux dans le Panneau de configuration, mais ne les réinitialisent pas. En outre, ils ne remplacent pas les codes Unicode NADS et NODS. Les indicateurs suivants sont disponibles.
Indicateurs | Chiffres utilisés | Utilisé dans |
---|---|---|
ETO_NUMERICSLATIN | Chiffres européens | ExtTextOut |
ETO_NUMERICSLOCAL | Chiffres appropriés aux paramètres régionaux | ExtTextOut |
GCP_NUMERICSLATIN | Chiffres européens | GetCharacterPlacement |
GCP_NUMERICSLOCAL | Chiffres appropriés aux paramètres régionaux | GetCharacterPlacement |
GCPCLASS_LATINNUMBER | Chiffres européens | GCP_RESULTS |
GCPCLASS_LOCALNUMBER | Chiffres appropriés aux paramètres régionaux | GCP_RESULTS |
Rubriques connexes