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 |
Argomenti correlati