Metodo IDWriteTextAnalyzer::GetGlyphs (dwrite.h)
Analizza la stringa di testo di input e la esegue il mapping al set di glifi e ai dati del glifo associati in base al tipo di carattere e alle regole di rendering del sistema di scrittura.
Sintassi
HRESULT GetGlyphs(
[in] WCHAR const *textString,
UINT32 textLength,
IDWriteFontFace *fontFace,
BOOL isSideways,
BOOL isRightToLeft,
[in] DWRITE_SCRIPT_ANALYSIS const *scriptAnalysis,
[in, optional] WCHAR const *localeName,
[optional] IDWriteNumberSubstitution *numberSubstitution,
[in, optional] DWRITE_TYPOGRAPHIC_FEATURES const **features,
[in, optional] UINT32 const *featureRangeLengths,
UINT32 featureRanges,
UINT32 maxGlyphCount,
[out] UINT16 *clusterMap,
[out] DWRITE_SHAPING_TEXT_PROPERTIES *textProps,
[out] UINT16 *glyphIndices,
[out] DWRITE_SHAPING_GLYPH_PROPERTIES *glyphProps,
[out] UINT32 *actualGlyphCount
);
Parametri
[in] textString
Tipo: const WCHAR*
Matrice di caratteri da convertire in glifi.
textLength
Tipo: UINT32
Lunghezza di textString.
fontFace
Tipo: IDWriteFontFace*
Viso del tipo di carattere che rappresenta l'origine degli glifi di output.
isSideways
Tipo: BOOL
Flag booleano impostato su TRUE se il testo deve essere disegnato verticalmente.
isRightToLeft
Tipo: BOOL
Flag booleano impostato su TRUE per il testo da destra a sinistra.
[in] scriptAnalysis
Tipo: const DWRITE_SCRIPT_ANALYSIS*
Puntatore a un'analisi script risultante da una chiamata AnalysisScript .
[in, optional] localeName
Tipo: const WCHAR*
Impostazioni locali da usare quando si selezionano glifi. Ad esempio, lo stesso carattere può essere mappato a glifi diversi per ja-jp rispetto a zh-chs. Se si tratta di NULL, viene usato il mapping predefinito basato sullo script.
[optional] numberSubstitution
Tipo: IDWriteNumberSubstitution*
Puntatore a una sostituzione facoltativa del numero che seleziona i glifi appropriati per le cifre e i caratteri numerici correlati, a seconda dei risultati ottenuti da AnalysisNumberSubstitution. Il passaggio di NULL indica che non è necessaria alcuna sostituzione e che le cifre devono ricevere glifi nominale.
[in, optional] features
Tipo: const DWRITE_TYPOGRAPHIC_FEATURES**
Matrice di puntatori ai set di funzionalità tipografiche da usare in ogni intervallo di funzionalità.
[in, optional] featureRangeLengths
Tipo: const UINT32*
Lunghezza di ogni intervallo di funzionalità, in caratteri.
La somma di tutte le lunghezze deve essere uguale a textLength.
featureRanges
Tipo: UINT32
Numero di intervalli di funzionalità.
maxGlyphCount
Tipo: UINT32
Numero massimo di glifi che possono essere restituiti.
[out] clusterMap
Tipo: UINT16*
Quando questo metodo restituisce, contiene il mapping da intervalli di caratteri a intervalli di glifi.
[out] textProps
Tipo: DWRITE_SHAPING_TEXT_PROPERTIES*
Quando questo metodo restituisce, contiene un puntatore a una matrice di strutture che contiene le proprietà di forma per ogni carattere.
[out] glyphIndices
Tipo: UINT16*
Indici del glifo di output.
[out] glyphProps
Tipo: DWRITE_SHAPING_GLYPH_PROPERTIES*
Quando questo metodo restituisce, contiene un puntatore a una matrice di strutture che contengono proprietà di forma per ogni glifo di output.
[out] actualGlyphCount
Tipo: UINT32*
Quando questo metodo restituisce, contiene il numero effettivo di glifi restituiti se la chiamata ha esito positivo.
Valore restituito
Tipo: HRESULT
Se questo metodo ha esito positivo, restituisce S_OK. In caso contrario, restituisce un codice di errore HRESULT .
Commenti
Si noti che il mapping tra caratteri e glifi è, in generale, molti-a-molti. La stima consigliata per i buffer di output per glifi è (3 * textLength / 2 + 16). Non è garantito che sia sufficiente.
Il valore del parametro actualGlyphCount è valido solo se la chiamata ha esito positivo. Nel caso in cui maxGlyphCount non sia abbastanza grande, verrà restituito HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER). L'applicazione deve allocare un buffer più grande e riprovare.
Requisiti
Client minimo supportato | Windows 7, Windows Vista con SP2 e Aggiornamento della piattaforma per Windows Vista [app desktop | App UWP] |
Server minimo supportato | Windows Server 2008 R2, Windows Server 2008 con SP2 e Platform Update per Windows Server 2008 [app desktop | App UWP] |
Piattaforma di destinazione | Windows |
Intestazione | dwrite.h |
Libreria | Dwrite.lib |
DLL | Dwrite.dll |