Condividi tramite


Enumerazione e selezione dei tipi di carattere internazionali

In ogni versione principale di Windows sono stati aggiunti tipi di carattere per supportare lingue e script internazionali. Fare riferimento al supporto di script e tipi di carattere in Windows per i tipi di carattere aggiunti in ogni versione di Windows a partire da Windows 2000, nonché per gli script, le aree e le lingue supportati.

EnumFontFamiliesEx

Per enumerare i tipi di carattere internazionali nell'applicazione, è possibile usare la funzione EnumFontFamiliesEx . EnumFontFamiliesEx consente di enumerare i tipi di carattere in base al nome del carattere tipografico e al charset passando un puntatore a una struttura LOGFONT che contiene il nome del carattere tipografico e le informazioni sul set di caratteri. Per chiamare EnumFontFamiliesEx, è possibile specificare un nome di carattere tipografico o un set di caratteri oppure richiedere qualsiasi elemento disponibile. L'impostazione del nome del carattere tipografico di LOGFONT su NULL enumera tutti i nomi di carattere tipografico. L'impostazione del campo charset su DEFAULT_CHARSET enumera tutti i charset.

Si noti che i set di caratteri sono un concetto legacy corrispondente ai set di caratteri pre-Unicode. Al momento, non esiste alcun meccanismo per enumerare i tipi di carattere che supportano script arbitrari o intervalli di caratteri in Unicode. La struttura NEWTEXTMETRICEX passata da EnumFontFamExProc include la struttura FONTSIGNATURA , che include dichiarazioni più dettagliate fornite dallo sviluppatore di tipi di carattere per quanto riguarda le tabelle codici e gli intervalli Unicode supportati dal tipo di carattere. Per determinare con maggiore precisione gli intervalli di caratteri supportati da un determinato tipo di carattere, selezionare il tipo di carattere in un contesto di dispositivo e chiamare GetFontUnicodeRanges. Si noti che questa API non supporta i piani supplementari Unicode.

ScegliFont

È possibile utilizzare la funzione ChooseFont per visualizzare una finestra di dialogo comune che consente all'utente di selezionare i tipi di carattere internazionali in base al set di caratteri. È possibile specificare uno dei tre flag da determinare, in base al set di caratteri, i tipi di carattere visualizzati nella finestra di dialogo ChooseFont: CF_SCRIPTSONLY, CF_SELECTSCRIPT o CF_NOSCRIPTSEL.

Il flag CF_SCRIPTSONLY indica all'API di elencare i tipi di carattere per tutti i set di caratteri che non sono Symbol o OEM.

Se si desidera visualizzare solo i tipi di carattere che coprono un determinato set di caratteri, è necessario specificare il flag CF_SELECTSCRIPT. Prima di chiamare ChooseFont, inizializzare il campo lfCharSet della struttura LOGFONT . Se si è interessati a specificare solo il set di caratteri, impostare gli altri campi della struttura LOGFONT su NULL. Per fare in modo che ChooseFont osservi la struttura LOGFONT , è necessario specificare anche il flag CF_INITTOLOGFONTSTRUCT .

Infine, come per qualsiasi altro campo nella finestra di dialogo Tipo di carattere, è possibile scegliere di visualizzare una casella di riepilogo script vuota. Questa funzionalità è utile se l'utente ha evidenziato diversi tipi di carattere che si estendono su più set di caratteri. In questo caso, si chiamerebbe ChooseFont con il flag CF_NOSCRIPTSEL .

A partire da Windows 7, ChooseFont implementa il supporto per nascondere i tipi di carattere dagli elenchi di selezione dei tipi di carattere. ScegliFont elenca solo i tipi di carattere visualizzati e filtra i tipi di carattere nascosti durante la visualizzazione dei tipi di carattere nella casella di riepilogo. Il flag aggiuntivo (CF_INACTIVEFONTS) nel membro flag della struttura ChooseFont viene aggiunto per consentire di visualizzare tutti i tipi di carattere installati nell'elenco dei tipi di carattere, lo stesso comportamento di ChooseFont prima di Windows 7. Per informazioni dettagliate sulle differenze di comportamento in Windows 7 per la funzione ChooseFont , vedi La finestra di dialogo comune ChooseFont() Win32 nel cookbook Qualità dell'applicazione di Windows 7. Fare riferimento alla funzione ChooseFont e alla struttura CHOOSEFONT per le differenze dell'esperienza utente finale in Windows 7.

Si noti che i set di caratteri sono un concetto legacy corrispondente ai set di caratteri pre-Unicode. Al momento, non esiste alcun meccanismo per filtrare i tipi di carattere in base a script Unicode o intervalli di caratteri.

Controlli carattere nella barra multifunzione Panoramica di Windows

Windows 7 introduce la barra multifunzione panoramica di Windows fornita con un set di controlli destinati alla selezione dei tipi di carattere. Questi controlli carattere supportano il nuovo comportamento di nascondere il tipo di carattere di Windows 7. È possibile utilizzare questi controlli carattere per elencare solo i tipi di carattere visualizzati e consentire all'utente di selezionare il tipo di carattere.

Nota

Il supporto per nascondere i tipi di carattere non è disponibile quando la barra multifunzione Panoramica di Windows è in esecuzione su qualsiasi piattaforma prima di Windows 7.

 

EnumFontFamiliesEx

ScegliFont

Struttura CHOOSEFONT

Controlli carattere nella barra multifunzione Panoramica di Windows

Finestra di dialogo comune ChooseFont() Win32