Funzione ScriptPositionSingleGlyph (usp10.h)
Posiziona un singolo glifo con una singola regolazione usando una funzionalità specificata fornita nel tipo di carattere per l'elaborazione di OpenType. Spesso, le applicazioni usano questa funzione per allineare un glifo in modo ottico all'inizio o alla fine di una riga.
Sintassi
HRESULT ScriptPositionSingleGlyph(
[in, optional] HDC hdc,
[in, out] SCRIPT_CACHE *psc,
[in, optional] SCRIPT_ANALYSIS *psa,
[in] OPENTYPE_TAG tagScript,
[in] OPENTYPE_TAG tagLangSys,
[in] OPENTYPE_TAG tagFeature,
[in] LONG lParameter,
[in] WORD wGlyphId,
[in] int iAdvance,
[in] GOFFSET GOffset,
[out] int *piOutAdvance,
[out] GOFFSET *pOutGoffset
);
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, optional] psa
Puntatore a una struttura SCRIPT_ANALYSIS ottenuta da una chiamata precedente a ScriptItemizeOpenType. Questa struttura identifica il motore di forma, in modo che sia possibile recuperare le larghezze avanzate.
In alternativa, l'applicazione può impostare questo parametro su NULL per recuperare risultati non filtrati.
[in] tagScript
Struttura OPENTYPE_TAG che definisce il tag di script per la modellazione.
[in] tagLangSys
Struttura OPENTYPE_TAG che definisce il tag di lingua per la forma.
[in] tagFeature
Struttura OPENTYPE_TAG che definisce il tag di funzionalità da usare per modellare il glifo alternativo.
[in] lParameter
Flag che specifica se deve essere applicata una singola sostituzione all'identificatore specificato in wGlyphId. L'applicazione imposta questo parametro su 1 per applicare la singola funzionalità di sostituzione all'identificatore. L'applicazione imposta il parametro su 0 se la funzione non deve applicare la funzionalità.
[in] wGlyphId
Identificatore del glifo originale a forma.
[in] iAdvance
Larghezza di avanzamento del glifo originale.
[in] GOffset
Offset del glifo originale. In genere, questo valore è un output di ScriptPlaceOpenType o ScriptPlace.
[out] piOutAdvance
Puntatore alla posizione in cui questa funzione recupera la nuova larghezza di avanzamento modificata per il glifo alternativo.
[out] pOutGoffset
Puntatore alla posizione in cui questa funzione recupera il nuovo offset del glifo modificato per il glifo alternativo.
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 .
Commenti
Questa funzione posiziona un singolo glifo modificando la larghezza avanzata e/o l'offset del glifo specificato. La funzione presuppone che il tipo di carattere richieda solo una regolazione.
Un uso tipico di questa funzione è la leggera regolazione del margine per tenere conto dell'impressione visiva effettuata da determinati caratteri. Nello script latino, ad esempio, all'inizio di una riga è comune apportare una leggera regolazione a sinistra per una capitale iniziale (ad esempio "T" o "O") che non ha una linea verticale sulla parte sinistra del glifo. Anche se questa operazione interrompe il margine lineare rigoroso, l'occhio percepisce il margine come più ancora.
Gli esempi seguenti illustrano questo effetto. Il primo esempio mostra l'allineamento rigoroso; i due esempi successivi mostrano una regolazione della "T" iniziale a sinistra. Le regolazioni sono di un pixel e due pixel, rispettivamente. Le immagini magnificate a destra mostrano come il "T" spinge leggermente più lontano nel margine sinistro in ogni caso successivo.
Requisiti
Requisito | Valore |
---|---|
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 |