Funzione ScriptPlaceOpenType (usp10.h)
Genera glifi e attributi visivi per un'esecuzione Unicode con informazioni OpenType dall'output di ScriptShapeOpenType.
Sintassi
HRESULT ScriptPlaceOpenType(
[in, optional] HDC hdc,
[in, out] SCRIPT_CACHE *psc,
[in, out] SCRIPT_ANALYSIS *psa,
[in] OPENTYPE_TAG tagScript,
[in] OPENTYPE_TAG tagLangSys,
[in, optional] int *rcRangeChars,
[in, optional] TEXTRANGE_PROPERTIES **rpRangeProperties,
[in] int cRanges,
[in] const WCHAR *pwcChars,
[in] WORD *pwLogClust,
[in] SCRIPT_CHARPROP *pCharProps,
[in] int cChars,
[in] const WORD *pwGlyphs,
[in] const SCRIPT_GLYPHPROP *pGlyphProps,
[in] int cGlyphs,
[out] int *piAdvance,
[out] GOFFSET *pGoffset,
[out, optional] ABC *pABC
);
Parametri
[in, optional] hdc
Gestire il contesto del dispositivo. Per altre informazioni, vedere Memorizzazione nella cache.
[in, out] psc
Puntatore a una struttura SCRIPT_CACHE che identifica la cache degli script.
[in, out] psa
Puntatore a una struttura SCRIPT_ANALYSIS ottenuta da una chiamata precedente a ScriptItemizeOpenType. Queste strutture identificano il motore di forma che regola l'elenco generato di glifi e le relative larghezze associate e gli offset di posizionamento x e y.
In alternativa, l'applicazione può impostare questo parametro su NULL per ricevere risultati non filtrati.
[in] tagScript
Struttura OPENTYPE_TAG contenente il tag di script OpenType da usare per il sistema di scrittura.
[in] tagLangSys
Struttura OPENTYPE_TAG contenente il tag di lingua OpenType per il sistema di scrittura.
[in, optional] rcRangeChars
Matrice del numero di caratteri in ogni intervallo. Il numero di membri è indicato nel parametro cRanges . Il totale dei valori deve essere uguale al valore di cChars.
[in, optional] rpRangeProperties
Matrice di strutture TEXTRANGE_PROPERTIES che definiscono le proprietà per ogni intervallo. Il numero di elementi è definito dal parametro cRanges .
[in] cRanges
Numero di intervalli di funzionalità OpenType.
[in] pwcChars
Puntatore a una matrice di caratteri Unicode contenenti l'esecuzione. Il numero di elementi è definito dal parametro cRanges .
[in] pwLogClust
Puntatore a una matrice di informazioni del cluster logico. Ogni elemento della matrice corrisponde a un carattere nella matrice definita da pwcChars. Il valore di ogni elemento è l'offset dal primo glifo nell'esecuzione al primo glifo nel cluster contenente il carattere corrispondente. Si noti che, quando il membro fRTL della struttura SCRIPT_ANALYSIS è impostato su TRUE, gli elementi in pwLogClust diminuiscono man mano che la matrice viene letto.
[in] pCharProps
Puntatore a una matrice di valori delle proprietà carattere nell'esecuzione Unicode.
[in] cChars
Numero di caratteri nell'esecuzione Unicode.
[in] pwGlyphs
Puntatore a un buffer del glifo ottenuto da una chiamata precedente alla funzione ScriptShapeOpenType .
[in] pGlyphProps
Puntatore a una matrice di attributi per ognuno dei glifi da recuperare. Il numero di valori è uguale al valore di cGlyphs. Poiché esiste una proprietà del glifo per glifo, questo parametro ha il numero di elementi indicati da cGlyphs.
[in] cGlyphs
Numero di glifi in un buffer della matrice di glifi.
[out] piAdvance
Puntatore a una matrice, di lunghezza indicata da cGlyphs, in cui questa funzione recupera informazioni avanzate sulla larghezza .
[out] pGoffset
Puntatore a una matrice di strutture GOFFSET in cui questa struttura recupera glifi x e y. Questa matrice deve essere di lunghezza indicata da cGlyphs.
[out, optional] pABC
Puntatore a una struttura ABC in cui questa funzione recupera la larghezza ABC per l'intera esecuzione.
Valore restituito
Restituisce 0 in caso di esito positivo. La funzione restituisce un valore HRESULT diverso da zero se non riesce. In tutti i casi di errore, i valori di output non sono definiti. L'applicazione può testare il valore restituito con le macro SUCCESSED e FAILED .
La funzione restituisce E_OUTOFMEMORY se la lunghezza del buffer di output indicato da cGlyphs è troppo piccola. L'applicazione può riprovare a chiamare con buffer più grandi.
La funzione restituisce E_PENDING se la cache dello script specificata dal parametro psc non contiene informazioni sufficienti per inserire glifi e il parametro hdc viene passato come NULL in modo che la funzione non sia in grado di completare il processo di posizionamento. L'applicazione deve configurare un contesto di dispositivo corretto per l'esecuzione e chiamare nuovamente questa funzione con il valore appropriato in hdc e con tutti gli altri parametri uguali.
Commenti
Questa funzione è preferita rispetto alla funzione ScriptPlace precedente. Alcuni vantaggi di ScriptPlaceOpenType includono quanto segue:
- I parametri corrispondono direttamente ai tag OpenType nelle tabelle di layout dei tipi di carattere.
- I parametri definiscono le funzionalità applicate a ogni carattere. L'input è suddiviso in intervalli e ogni intervallo include proprietà OpenType associate.
Tutte le matrici sono in ordine visivo a meno che il membro fLogicalOrder non sia impostato nella struttura SCRIPT_ANALYSIS indicata dal parametro psa .
Requisiti
Client minimo supportato | Windows Vista [solo app desktop] |
Server minimo supportato | Windows Server 2008 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | usp10.h |
Libreria | Usp10.lib |
DLL | Usp10.dll |
Componente ridistribuibile | Usp10.dll versione 1.600 o successiva in Windows XP |