Condividi tramite


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

Vedi anche

IDWriteTextAnalyzer