Informazioni sugli script complessi
Uno script complesso è uno script per il quale il membro fComplex di SCRIPT_PROPERTIES è impostato su TRUE. In questo argomento vengono descritte in dettaglio le proprietà che potrebbero avere uno script complesso.
Rendering bidirezionale
Il rendering bidirezionale gestisce il testo che viene letto sia da sinistra a destra che da destra a sinistra. Ad esempio, nel rendering bidirezionale dell'arabo, la direzione di lettura predefinita per il testo è da destra a sinistra, ma è da sinistra a destra per alcuni numeri. L'elaborazione di uno script complesso deve tenere conto della differenza tra l'ordine logico (sequenza di tasti) e l'ordine visivo dei glifi. Inoltre, l'elaborazione deve gestire correttamente il movimento del cursore e il rilevamento dei punti di contatto (hit testing). Il mapping tra la posizione dello schermo e un indice di carattere richiede una comprensione degli algoritmi di layout per il display specifico, ad esempio la selezione di testo o la visualizzazione del cursore.
Modellazione contestuale
Nella forma contestuale, i caratteri di script cambiano forma a seconda dei caratteri che li circondano. Tale forma si verifica nella scrittura corsiva inglese quando una "l" minuscola cambia forma a seconda del carattere che la precede, ad esempio una "a" (si connette in basso alla "l") o una "o" (si connette in alto). Ad esempio, l'arabo è una scrittura che mostra la modellazione contestuale.
Combinazione di caratteri
La combinazione di caratteri, denominata anche "legature", sono caratteri che si uniscono in un unico carattere quando vengono posizionati insieme. L'arabo è uno script che ha molti caratteri combinati. Un esempio dell'uso della combinazione di caratteri è "a" seguito da "combinazione grave", per cui la rappresentazione sottoposta a rendering è "à". Il flusso Unicode "U+0061 U+0300" richiede un'elaborazione per assicurarsi che la "tomba combinata" sia posizionata correttamente sopra "a".
Specializzazione di interruzione di parola e giustificazione
Alcuni script, ad esempio Thai, hanno regole complesse per dividere le parole tra righe o giustificare il testo su una riga.
Filtro per combinazioni di caratteri non valide
Uno script complesso, ad esempio thai, può escludere combinazioni di caratteri illegali quando una lingua non consente determinate combinazioni di caratteri.
Fallback del tipo di carattere
Il fallback del tipo di carattere è la selezione automatica di un tipo di carattere diverso dal tipo di carattere selezionato dall'utente. In Uniscribe, il fallback del font viene applicato dalla funzione ScriptStringAnalyse quando parte o tutto il testo è in uno script non supportato dal font selezionato dall'utente. Per altre informazioni, vedere Using Font Fallback.
Argomenti correlati