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.
Per fornire una giustificazione testuale, un'applicazione può usare uno dei due metodi. Per una semplice implementazione di giustificazione multilingue, l'applicazione deve chiamare ScriptJustify. Genera l'array dx del delta considerando kashida, quindi la spaziatura tra parole e quindi la spaziatura tra caratteri. Per una giustificazione più sofisticata, l'applicazione può generare una matrice dx delta aggiornata usando la propria conoscenza del linguaggio e le informazioni recuperate da ScriptShape nella matrice SCRIPT_VISATTR.
Lo spazio di giustificazione o kashida deve essere inserito dove identificato dal membro di SCRIPT_VISATTR. Quando si esegue una giustificazione tra caratteri, l'applicazione deve inserire spazio aggiuntivo solo dopo i glifi contrassegnati con SCRIPT_JUSTIFY_CHARACTER.
L'applicazione esegue il posizionamento del cursore e l'hit testing usando ScriptXtoCP e ScriptCPtoX. Per altre informazioni, vedere Gestione del Posizionamento del Cursore e Test di Hit.
Per ottenere larghezze in modo indipendente dal tipo di carattere, l'applicazione chiama ScriptGetLogicalWidths. Passando le larghezze logiche a ScriptApplyLogicalWidth, è possibile riprodurre un blocco di testo negli stessi limiti con perdita di qualità accettabile anche quando il tipo di carattere originale non è disponibile. Genera una matrice di larghezze del glifo (larghezze avanzate) adatta per il passaggio a ScriptTextOut. Tale registrazione e riapplicazione di informazioni avanzate sulla larghezza in modo indipendente dai tipi di carattere può essere utile in situazioni come la metafiling in un formato definito dall'applicazione.
Nota
I metafile non supportano gli indici del glifo. Per scrivere in un metafile avanzato, l'applicazione deve usare ExtTextOut e scrivere direttamente i caratteri logici. Usando questo meccanismo, la generazione e il posizionamento del glifo non si verificano finché il testo non viene riprodotto.
Per recuperare i glifi specifici usati per i predefiniti, spazi, kashida e così via, per il tipo di carattere corrente, l'applicazione deve invocare ScriptGetFontProperties. Per determinare quali caratteri in un'esecuzione sono supportati dal tipo di carattere selezionato, l'applicazione chiama ScriptGetCMap. I caratteri non disponibili hanno il glifo predefinito nel buffer del glifo. Si noti che questo metodo ha esito negativo se un tipo di carattere esegue il rendering di un carattere usando una combinazione di glifi anziché un singolo glifo. Ad esempio, 00C9: La LETTERA MAIUSCOLA LATINA E CON ACCENTO ACUTO può essere resa utilizzando un glifo di E maiuscola e uno di accento acuto. Per determinare il supporto del tipo di carattere per una stringa contenente questi tipi di punti di codice, l'applicazione può chiamare ScriptShape. Per ulteriori informazioni, vedere Utilizzo dei motori di formatura.
La funzione ScriptCacheGetHeight restituisce l'altezza del tipo di carattere dalla cache dei tipi di carattere. ScriptGetProperties fornisce informazioni sull'elaborazione speciale necessaria per tutti gli script, indicizzati dallo script. Ad esempio, include il linguaggio primario associato allo script, i dati che indicano se lo script è numerico e i dati che indicano se lo script è uno script complesso.
scriptGetGlyphABCWidth restituisce la larghezza ABC di un glifo specificato, che potrebbe essere utile per disegnare grafici glifi. Tuttavia, non deve essere usato per la normale formattazione di testo di script complessi.
Argomenti correlati