Condividi tramite


Forme cifre

L'arabo e molte altre lingue hanno forme classiche per i numeri che sono 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/aree geografiche (anche se molti utilizzano 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 cifre di lingua speciali, l'applicazione può usare i codici carattere Unicode pertinenti per le cifre precedenti, da U+0030 a U+0039. Questi codici vengono sempre visualizzati con la forma appropriata, in base alla disponibilità del carattere.

I codici carattere Unicode da U+0030 a U+0039 rappresentano nominalemente le cifre europee da 0 a 9, ma la loro forma di 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 locali dell'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 di cifra scelte dall'utente nella finestra delle proprietà Numero nella parte delle opzioni internazionali e della lingua del Pannello di controllo. Per trovare la presentazione delle 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 affinché l'applicazione controlli LOCALE_SNATIVEDIGITS in modo appropriato.

 

Sostituzione cifre

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

Digit Shaping per una singola funzione

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

Bandiere Cifre usate Usato in
ETO_NUMERICSLATIN Cifre europee ExtTextOut
ETO_NUMERICSLOCAL Cifre appropriate per le impostazioni locali ExtTextOut
GCP_NUMERICSLATIN Cifre europee GetCharacterPlacement
GCP_NUMERICSLOCAL Cifre appropriate per le impostazioni locali GetCharacterPlacement
GCPCLASS_LATINNUMBER Cifre europee GCP_RESULTS
GCPCLASS_LOCALNUMBER Cifre appropriate per le impostazioni locali GCP_RESULTS

 

informazioni sul supporto linguistico nazionale

GetLocaleInfo

GetLocaleInfoEx