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.

Figura che mostra lo stesso blocco di testo tre volte, con ingrandimenti di ognuno che mostra un allineamento leggermente diverso
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 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

Vedi anche

Memorizzazione nella cache

OPENTYPE_TAG

SCRIPT_ANALYSIS

SCRIPT_CACHE

ScriptItemizeOpenType

Uniscribe

Funzioni uniscrivere