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

 

À propos de la prise en charge linguistique nationale

GetLocaleInfo

GetLocaleInfoEx