METODE IDWriteTextAnalyzer::GetGlyphs (dwrite.h)
Mengurai string teks input dan memetakannya ke kumpulan glyph dan data glyph terkait sesuai dengan font dan aturan penyajian sistem penulisan.
Sintaks
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
);
Parameter
[in] textString
Jenis: const WCHAR*
Array karakter untuk dikonversi menjadi glyph.
textLength
Jenis: UINT32
Panjang textString.
fontFace
Jenis: IDWriteFontFace*
Wajah font yang merupakan sumber glyph output.
isSideways
Jenis: BOOL
Bendera Boolean diatur ke TRUE jika teks dimaksudkan untuk digambar secara vertikal.
isRightToLeft
Jenis: BOOL
Bendera Boolean diatur ke TRUE untuk teks kanan ke kiri.
[in] scriptAnalysis
Jenis: const DWRITE_SCRIPT_ANALYSIS*
Penunjuk ke hasil analisis Skrip dari panggilan AnalyzeScript .
[in, optional] localeName
Jenis: const WCHAR*
Lokal yang digunakan saat memilih glyph. Misalnya karakter yang sama dapat memetakan ke glyph yang berbeda untuk ja-jp versus zh-chs. Jika ini ADALAH NULL, maka pemetaan default berdasarkan skrip digunakan.
[optional] numberSubstitution
Jenis: IDWriteNumberSubstitution*
Penunjuk ke substitusi angka opsional yang memilih glyph yang sesuai untuk digit dan karakter numerik terkait, tergantung pada hasil yang diperoleh dari AnalyzeNumberSubstitution. Melewati NULL menunjukkan bahwa tidak ada substitusi yang diperlukan dan bahwa digit harus menerima glyph nominal.
[in, optional] features
Jenis: const DWRITE_TYPOGRAPHIC_FEATURES**
Array pointer ke set fitur tipografi untuk digunakan di setiap rentang fitur.
[in, optional] featureRangeLengths
Jenis: const UINT32*
Panjang setiap rentang fitur, dalam karakter.
Jumlah semua panjang harus sama dengan textLength.
featureRanges
Jenis: UINT32
Jumlah rentang fitur.
maxGlyphCount
Jenis: UINT32
Jumlah maksimum glyph yang dapat dikembalikan.
[out] clusterMap
Jenis: UINT16*
Ketika metode ini kembali, berisi pemetaan dari rentang karakter ke rentang glyph.
[out] textProps
Jenis: DWRITE_SHAPING_TEXT_PROPERTIES*
Ketika metode ini kembali, berisi penunjuk ke array struktur yang berisi properti pembentukan untuk setiap karakter.
[out] glyphIndices
Jenis: UINT16*
Indeks glyph output.
[out] glyphProps
Jenis: DWRITE_SHAPING_GLYPH_PROPERTIES*
Ketika metode ini kembali, berisi pointer ke array struktur yang berisi properti pembentukan untuk setiap glyph output.
[out] actualGlyphCount
Jenis: UINT32*
Ketika metode ini kembali, berisi jumlah glyph aktual yang dikembalikan jika panggilan berhasil.
Nilai kembali
Jenis: HRESULT
Jika metode ini berhasil, metode ini mengembalikan S_OK. Jika tidak, kode kesalahan HRESULT akan dikembalikan.
Keterangan
Perhatikan bahwa pemetaan dari karakter ke glyph adalah, secara umum, banyak ke banyak. Perkiraan yang direkomendasikan untuk buffer output per glyph adalah (3 * textLength / 2 + 16). Ini tidak dijamin cukup.
Nilai parameter actualGlyphCount hanya valid jika panggilan berhasil. Jika maxGlyphCount tidak cukup besar, HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER) akan dikembalikan. Aplikasi harus mengalokasikan buffer yang lebih besar dan mencoba lagi.
Persyaratan
Klien minimum yang didukung | Windows 7, Windows Vista dengan SP2 dan Pembaruan Platform untuk Windows Vista [aplikasi desktop | Aplikasi UWP] |
Server minimum yang didukung | Windows Server 2008 R2, Windows Server 2008 dengan SP2 dan Pembaruan Platform untuk Windows Server 2008 [aplikasi desktop | Aplikasi UWP] |
Target Platform | Windows |
Header | dwrite.h |
Pustaka | Dwrite.lib |
DLL | Dwrite.dll |