Metodo IDWriteTextAnalyzer1::GetJustifiedGlyphs (dwrite_1.h)
Inserisce nuovi glifi per script complessi in cui la giustificazione ha aumentato i progressi dei glifi, ad esempio l'arabo con kashida.
Sintassi
HRESULT GetJustifiedGlyphs(
IDWriteFontFace *fontFace,
FLOAT fontEmSize,
DWRITE_SCRIPT_ANALYSIS scriptAnalysis,
UINT32 textLength,
UINT32 glyphCount,
UINT32 maxGlyphCount,
[in, optional] UINT16 const *clusterMap,
[in] UINT16 const *glyphIndices,
[in] FLOAT const *glyphAdvances,
[in] FLOAT const *justifiedGlyphAdvances,
[in] DWRITE_GLYPH_OFFSET const *justifiedGlyphOffsets,
[in] DWRITE_SHAPING_GLYPH_PROPERTIES const *glyphProperties,
[out] UINT32 *actualGlyphCount,
[out, optional] UINT16 *modifiedClusterMap,
[out] UINT16 *modifiedGlyphIndices,
[out] FLOAT *modifiedGlyphAdvances,
[out] DWRITE_GLYPH_OFFSET *modifiedGlyphOffsets
);
Parametri
fontFace
Tipo: IDWriteFontFace*
Tipo di carattere utilizzato per la forma.
Può essere Null.
fontEmSize
Tipo: FLOAT
Dimensione del carattere em utilizzata per l'esecuzione del glifo.
scriptAnalysis
Tipo: DWRITE_SCRIPT_ANALYSIS
Script del testo dell'elementoizer.
textLength
Tipo: UINT32
Lunghezza del testo.
glyphCount
Tipo: UINT32
Numero di glifi.
maxGlyphCount
Tipo: UINT32
Numero massimo di glifi di output allocati dal chiamante.
[in, optional] clusterMap
Tipo: const UINT16*
Mappa cluster prodotta dalla modellazione.
[in] glyphIndices
Tipo: const UINT16*
Glifi originali prodotti dalla forma.
[in] glyphAdvances
Tipo: const FLOAT*
Glifi originali avanzano dalla forma.
[in] justifiedGlyphAdvances
Tipo: const FLOAT*
Glifi giustificati avanzano da IDWriteTextAnalyzer1::JustifyGlyphAdvances.
[in] justifiedGlyphOffsets
Tipo: const DWRITE_GLYPH_OFFSET*
Offset giustificati del glifo da IDWriteTextAnalyzer1::JustifyGlyphAdvances.
[in] glyphProperties
Tipo: const DWRITE_SHAPING_GLYPH_PROPERTIES*
Proprietà di ogni glifo, da IDWriteTextAnalyzer::GetGlyphs.
[out] actualGlyphCount
Tipo: UINT32*
Il nuovo numero di glifi scritto nelle matrici modificate o il numero di glifi necessari se le dimensioni non sono sufficienti.
[out, optional] modifiedClusterMap
Tipo: UINT16*
Mappa cluster aggiornata.
[out] modifiedGlyphIndices
Tipo: UINT16*
Glifi aggiornati con nuovi glifi inseriti dove necessario.
[out] modifiedGlyphAdvances
Tipo: FLOAT*
Avanzamenti del glifo aggiornati.
[out] modifiedGlyphOffsets
Tipo: DWRITE_GLYPH_OFFSET*
Offset del glifo aggiornati.
Valore restituito
Tipo: HRESULT
Se questo metodo ha esito positivo, restituisce S_OK. In caso contrario, restituisce un codice di errore HRESULT .
Commenti
Si chiama GetJustifiedGlyphs dopo che la riga è stata giustificata ed è per esecuzione.
È consigliabile chiamare GetJustifiedGlyphs se IDWriteTextAnalyzer1::GetScriptProperties restituisce un DWRITE_SCRIPT_PROPERTIES.justificationCharacter diverso da Null per tale script.
Usare GetJustifiedGlyphs principalmente per gli script curvi come l'arabo. Se maxGlyphCount non è sufficientemente grande, GetJustifiedGlyphs restituisce l'errore E_NOT_SUFFICIENT_BUFFER e riempie la variabile in cui actualGlyphCount punta con il numero di glifi necessario.
Requisiti
Client minimo supportato | Windows 8 e Platform Update per Windows 7 [app desktop | App UWP] |
Server minimo supportato | Windows Server 2012 e Aggiornamento della piattaforma per Windows Server 2008 R2 [app desktop | App UWP] |
Piattaforma di destinazione | Windows |
Intestazione | dwrite_1.h |
Libreria | Dwrite.lib |
DLL | Dwrite.dll |
Vedi anche
IDWriteTextAnalyzer1::GetScriptProperties