Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Microsoft Rich Edit 3.0 assegna un set di caratteri a caratteri non crittografati a seconda del contesto. Ecco alcuni esempi:
- Ai caratteri greci vengono assegnati GREEK_CHARSET.
- I simboli Hangul vengono assegnati HANGUL_CHARSET.
- Ai caratteri cinesi vengono assegnati SHIFTJIS_CHARSET se vengono trovati caratteri kana nelle vicinanze o GB2312_CHARSET se non viene trovato alcun kana nelle vicinanze.
- Ai caratteri ANSI non neutrali vengono assegnati ANSI_CHARSET in qualsiasi caso.
Nota
Il controllo rich edit utilizza internamente Unicode, pertanto questo uso di set di caratteri differisce da quello originale usato nelle specifiche dei tipi di carattere. Ma la struttura CHARFORMAT ha una posizione ben definita per il set di caratteri.
Ai caratteri neutri, ad esempio spazi vuoti e cifre, viene assegnato un set di caratteri a seconda del contesto. Ad esempio, uno spazio vuoto racchiuso tra caratteri dello stesso set di caratteri viene associato a quel set di caratteri. Le cifre e le neutre usate per il testo bidirezionale vengono assegnati set di caratteri in modo basato sull'algoritmo bidirezionale Unicode.
Cosa è necessario sapere
Tecnologie
Prerequisiti
- C/C++
- Programmazione dell'interfaccia utente di Windows
Disposizioni
Usare l'associazione di tipi di carattere in un controllo Rich Edit
Dopo l'assegnazione dei set di caratteri, Rich Edit analizza il testo intorno al punto di inserimento in avanti e indietro per trovare i tipi di carattere più vicini utilizzati per i set di caratteri. Se non viene trovato alcun tipo di carattere per un set di caratteri, Rich Edit utilizza il tipo di carattere scelto dal client per tale set di caratteri. Se il client non ha specificato un tipo di carattere per il set di caratteri, Rich Edit utilizza il tipo di carattere predefinito per tale set di caratteri. Se il client vuole un altro tipo di carattere, il client può sempre modificarlo, ma questo approccio funzionerà la maggior parte del tempo. Le scelte correnti dei tipi di carattere predefinite sono basate sulla tabella seguente. Si noti che i tipi di carattere predefiniti sono impostati per processo e sono presenti elenchi separati per l'utilizzo dell'interfaccia utente e per l'utilizzo non dell'interfaccia utente.
| Lingua | Nome del tipo di carattere dell'interfaccia utente | Dimensioni del carattere dell'interfaccia utente | nome del tipo di carattere non dell'interfaccia utente | dimensioni del carattere non relative all'interfaccia utente |
|---|---|---|---|---|
| Western, CE, ME, Vietnamita | Tahoma | 8 | Arial | 10 |
| Giapponese | MS UI Gothic | 9 | MS P Gothic | 10 |
| Coreano | Gulim | 9 | Gulim | 9 |
| Cinese semplificato | Simsun | 9 | SimSun | 10 |
| Cinese tradizionale | PMingLiU | 9 | PMingLiU | 9 |
| Tailandese | MS Sans Serif | 8 | Tahoma | 14 |
| Simboli | Wingdings | 8 | Wingdings | 10 |
| Devanagari | Mangal | 8 | Mangal | 10 |
| Tamil | Latha | 8 | Latha | 10 |
| Georgiano, Armeno | Arial Unicode | 8 | Arial Unicode | 10 |
Pertanto, nella tabella di associazione dei caratteri predefinita (le voci hanno un set di caratteri, il nome del carattere e le dimensioni), Rich Edit consente ANSI_CHARSET di trovare la corrispondenza con diversi set di caratteri, mentre il set di caratteri appropriato corrisponde ad altri tipi di carattere su base uno-a-uno. Più precisamente, la modifica avanzata utilizza l'opzione ANSI_CHARSET ogni volta che non viene trovata un'altra alternativa. Sarà possibile specificare una granularità più fine di questa; Ad esempio, assegnare un ARABIC_CHARSET specifico per le esecuzioni arabe, un tipo di carattere greco specifico per le esecuzioni greche e così via. Questa granularità più fine verrà utilizzata anche se un font con l'etichetta del set di caratteri desiderato si trova in qualche parte del documento prima dell'area associata al font.
Si noti che la funzione Rich Edit non gestisce attualmente un glifo mancante in un font che afferma di supportare un set di caratteri ma è incompleto. In fase di visualizzazione in uno script complesso, Rich Edit finisce per sapere che tale glifo è mancante, ma non fa sì che l'archivio di backup usi un nuovo tipo di carattere. In genere, il collegamento del tipo di carattere sottostante del sistema operativo eseguirà questa operazione.
Osservazioni
Rich Edit 4.1: Per impostare il tipo di carattere predefinito per uno script, chiamare EM_SETCHARFORMAT con CHARFORMAT2, specificando i valori per il yHeight, bCharSet, bPitchAndFamily, szFaceNamee membri lcid. Inoltre, per ottenere il tipo di carattere predefinito per una tabella di codici specifica, chiamare EM_GETCHARFORMAT con CHARFORMAT2, specificando i valori per i membri bCharSet e lcid.
Argomenti correlati