Forme cifre

Arabo e molte altre lingue hanno forme classiche per numeri diversi dalle cifre occidentali convenzionali più spesso usate nei computer. Per evitare ambiguità nella denominazione di queste forme, questo documento usa i nomi seguenti dello standard Unicode.

Nome Unicode delle cifre Paese/area geografica in cui viene usato
Cifre europee Europa, America e molti altri paesi/regioni
Arabic-Indic cifre Paesi arabi/regioni (anche se molti usano cifre europee)
Altre cifre nazionali: cifre indic, cifre thai e simili Vari paesi/aree geografiche

 

Unicode fornisce punti di codice separati per ogni forma di cifra. Pertanto, per accedere a forme di lingua speciali, l'applicazione può usare i codici di carattere Unicode pertinenti per le cifre precedenti, U+0030 a U+0039. Questi codici vengono sempre visualizzati con la forma appropriata, soggetto alla disponibilità dei tipi di carattere.

I codici di carattere Unicode U+0030 fino a U+0039 rappresentano in modo nominale le cifre europee da 0 a 9, ma la forma della cifra può essere modificata. Le API di testo GDI e DirectWrite forniscono meccanismi per le applicazioni per controllare questo comportamento. Vedere, ad esempio , ScriptApplyDigitSubstitution o IDWriteTextAnalysisSink::SetNumberSubstitution. Il comportamento in alcuni controlli shell e framework dell'interfaccia utente può rispondere alle impostazioni delle impostazioni delle impostazioni locali utente per la sostituzione delle cifre; il LOCALE_IDIGITSUBSTITUTION LCTYPE può essere usato per ottenere le impostazioni di sostituzione delle cifre predefinite per impostazioni locali diverse o le impostazioni desktop dell'utente corrente per la sostituzione delle cifre.

Cifre native

Le cifre native sono le forme cifre scelte dall'utente nel foglio delle proprietà Number nella parte delle opzioni internazionali e linguistiche del Pannello di controllo. Per trovare la presentazione di cifre preferita dall'utente, l'applicazione usa la funzione GetLocaleInfo o GetLocaleInfoEx con la costante LOCALE_SNATIVEDIGITS che rappresenta le informazioni sulle impostazioni locali.

Nota

In genere, i codici di cifra Unicode vengono generati nelle routine del sistema operativo di runtime. Pertanto, i sistemi operativi common runtime devono essere aggiornati per l'applicazione per controllare LOCALE_SNATIVEDIGITS in modo appropriato.

 

Sostituzione cifre

L'applicazione può usare la sostituzione delle cifre per indicare al sistema operativo come stampare cifre U+0030 tramite U+0039. La costante LOCALE_IDIGITSUBSTITUTION controlla questa operazione.

Digit Shaping per una singola funzione

Le funzioni ExtTextOut, GetCharacterPlacement e GCP_RESULTS hanno flag che regolano la sostituzione dei codici Unicode U+0030 a U+0039 per la durata della chiamata alla funzione. Questi flag eseguono l'override delle impostazioni internazionali nella Pannello di controllo, ma non reimpostano le impostazioni. Inoltre, non esegue l'override dei codici Unicode NADS e NODS. Sono disponibili i flag seguenti.

Flags Cifre usate Campo di utilizzo
ETO_NUMERICSLATIN Cifre europee Exttextout
ETO_NUMERICSLOCAL Cifre appropriate alle impostazioni locali Exttextout
GCP_NUMERICSLATIN Cifre europee GetCharacterPlacement
GCP_NUMERICSLOCAL Cifre appropriate alle impostazioni locali GetCharacterPlacement
GCPCLASS_LATINNUMBER Cifre europee GCP_RESULTS
GCPCLASS_LOCALNUMBER Cifre appropriate alle impostazioni locali GCP_RESULTS

 

Informazioni sul supporto della lingua nazionale

GetLocaleInfo

GetLocaleInfoEx