Condividi tramite


Funzione ScriptPlace (usp10.h)

Genera le informazioni di avanzamento del glifo e offset bidimensionale dall'output di ScriptShape.

Sintassi

HRESULT ScriptPlace(
  [in]      HDC                  hdc,
  [in, out] SCRIPT_CACHE         *psc,
  [in]      const WORD           *pwGlyphs,
  [in]      int                  cGlyphs,
  [in]      const SCRIPT_VISATTR *psva,
  [in, out] SCRIPT_ANALYSIS      *psa,
  [out]     int                  *piAdvance,
  [out]     GOFFSET              *pGoffset,
  [out]     ABC                  *pABC
);

Parametri

[in] hdc

Facoltativo. 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] pwGlyphs

Puntatore a un buffer di glifi ottenuto da una chiamata precedente alla funzione ScriptShape .

[in] cGlyphs

Numero di glifi nel buffer del glifo.

[in] psva

Puntatore a una matrice di strutture SCRIPT_VISATTR che indicano gli attributi visivi.

[in, out] psa

Puntatore a una struttura SCRIPT_ANALYSIS . In input, questa struttura viene ottenuta da una chiamata precedente a ScriptItemize. In output, questa struttura contiene valori recuperati da ScriptPlace.

[out] piAdvance

Puntatore a una matrice in cui questa funzione recupera informazioni avanzate sulla larghezza.

[out] pGoffset

facoltativo. Puntatore a una matrice di strutture GOFFSET in cui questa funzione recupera glifi x e y. Questa matrice deve essere di lunghezza indicata da cGlyphs.

[out] 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. L'applicazione può testare il valore restituito con le macro SUCCESSED e FAILED .

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 è impostato su NULL in modo che la funzione non possa completare il processo di posizionamento. L'applicazione deve configurare un contesto di dispositivo corretto per l'esecuzione e chiamare nuovamente questa funzione con il contesto del dispositivo appropriato e con tutti gli altri parametri uguali.

Commenti

Per una discussione sul contesto in cui viene normalmente chiamata questa funzione, vedere Visualizzazione del testo con Uniscrivimento .

La larghezza ABC composita per l'intero elemento identifica la quantità di glifi a sinistra della posizione iniziale e a destra della lunghezza implicita dalla somma delle larghezze avanzate. La larghezza totale di avanzamento della linea è esattamente abcA+abcB+abcC. I valori abcA e abcC vengono mantenuti come proporzioni dell'altezza della cella rappresentata in 8 bit e sono quindi approssimativamente +/-1%. La larghezza totale recuperata, ovvero la somma dei valori abcA+abcB+abcC indicati da piAdvance, è accurata per la risoluzione del motore di modellazione TrueType.

Tutte le matrici sono in ordine visivo a meno che il membro fLogicalOrder non sia impostato nella struttura SCRIPT_ANALYSIS indicata dal parametro psa .

Importante A partire da Windows 8: per mantenere la possibilità di eseguire in Windows 7, un modulo che usa Uniscribe deve specificare Usp10.lib prima di gdi32.lib nell'elenco delle librerie.
 

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione usp10.h
Libreria Usp10.lib
DLL Usp10.dll

Vedi anche

Visualizzazione del testo con Uniscribe

GOFFSET

SCRIPT_ANALYSIS

SCRIPT_CACHE

SCRIPT_VISATTR

ScriptItemize

ScriptPlaceOpenType

ScriptShape

Uniscribe

Funzioni uniscrivere