Condividi tramite


Elaborazione script complessa

Di seguito sono riportate le opzioni per la visualizzazione e l'elaborazione correlata del testo per supportare effetti tipografici o script complessi:

  • Funzioni di testo
  • Modifica controlli
  • Controlli di modifica avanzati
  • Uniscribe

Le opzioni scelte dipendono dai fattori seguenti:

  • Tipo di testo o script.
  • Il modello di implementazione, ad esempio, il layout di testo e la gestione dell'interruzione della riga dall'applicazione.
  • Aggiornamento di un'applicazione esistente rispetto alla creazione di una nuova applicazione.

In generale, un'applicazione che esegue l'elaborazione di script relativamente semplice può scegliere qualsiasi opzione per l'elaborazione di script complessi. Tuttavia, per il controllo più completo dell'elaborazione di script complessi, è consigliabile Uniscribe.

Elaborazione di script complessi tramite funzioni di testo

Le applicazioni che usano principalmente testo normale, ovvero testo che usa lo stesso carattere di tipo, peso, colore e così via, hanno tradizionalmente scritto testo e lunghezze misurate usando funzioni di testo standard, ad esempio TextOut, ExtTextOut, TabbedTextOut, DrawTextOut, DrawText e GetTextExtentExPoint. Queste funzioni supportano l'elaborazione per script complessi e effetti tipografici fine. Per altre informazioni, vedere Tipi di carattere e testo.

In generale, il supporto di testo standard è trasparente per le applicazioni che elaborano script complessi. Tuttavia, è consigliabile tenere presente alcune regole specifiche da seguire nella scrittura di applicazioni che supportano la tipografia fine e elaborare script complessi:

  • L'applicazione deve salvare i caratteri in un buffer e visualizzare un'intera riga di testo alla volta anziché, ad esempio, chiamando ExtTextOut in ogni carattere come digitato dall'utente. Questo meccanismo consente ai moduli di forma di testo avanzati di usare il contesto per riordinare e generare correttamente glifi .
  • L'applicazione deve usare GetTextExtentExPoint per determinare la lunghezza della riga, anziché calcolare le lunghezze della linea dalle larghezze dei caratteri memorizzate nella cache, poiché la larghezza di un glifo può variare in base al contesto.
  • L'applicazione deve facoltativamente aggiungere il supporto per l'ordine di lettura da destra a sinistra e l'allineamento destro.
  • La riordinazione e l'elaborazione contestuale necessaria per script complessi o tipografia fine richiede un aumento significativo dell'elaborazione rispetto alla visualizzazione di testo di base per gli script semplici. Pertanto, per evitare problemi di prestazioni, l'applicazione non deve elaborare grandi quantità di testo prima di visualizzare i risultati e restituire il controllo all'utente.

Elaborazione script complessa con controlli di modifica

I controlli di modifica standard di Windows sono stati estesi per supportare il testo multilingue e gli script complessi. Il supporto esteso include input e visualizzazione, nonché lo spostamento corretto del cursore sui cluster di caratteri, ad esempio in script Thai e Devanagari. Per altre informazioni, vedere Modifica controlli.

Elaborazione di script complessi con controlli di modifica avanzati

Rich Edit 3.0 è una raccolta di interfacce di livello superiore che sfrutta Uniscribe per isolare le applicazioni di layout di testo dalle complessità di determinati script. Rich Edit è il modo più semplice per visualizzare script complessi anche se lo scopo principale non è necessariamente il layout di testo. Rich Edit offre una modifica rapida e versatile di testo multilingue Unicode avanzato e testo semplice. Include interfacce com e messaggi estesi, modifica del testo, formattazione, interruzione della riga, layout di tabella semplice, layout di testo verticale, layout di testo bidirezionale, supporto indic e thai, un'interfaccia utente modificante molto simile a Microsoft Word e interfacce del modello a oggetti di testo.

Oltre alle interfacce di modifica avanzate, le applicazioni possono usare la funzione Rich Edit TextOut per analizzare automaticamente, modellare, posizionare e interrompere le righe. Per altre informazioni, vedere Controlli di modifica avanzati.

Elaborazione script complessa con Uniscribe

Uniscribe offre il supporto più ampio per l'elaborazione del testo che implica effetti tipografici e script complessi. Supporta le regole complesse trovate negli script come arabo, Devanagari e Thai. Gestisce gli script scritti da destra a sinistra, ad esempio arabo ed ebraico, e supporta la combinazione di script. Uniscribe espone anche le funzionalità del tipo di carattere OpenType che possono essere usate dalle applicazioni per controllare gli effetti tipografici fine. Per altre informazioni, vedere Elaborazione di script complessi.

Informazioni su Uniscribe

Elaborazione di script complessi