IDWriteTextAnalyzer.GetGlyphs

<summary> Parses the input text string and maps it to the set of glyphs and associated glyph data according to the font and the writing system's rendering rules. </summary> <param name="textString">The string to convert to glyphs.</param> <param name="textLength">The length of textString.</param> <param name="fontFace">The font face to get glyphs from.</param> <param name="isSideways">Set to true if the text is intended to be drawn vertically.</param> <param name="isRightToLeft">Set to TRUE for right-to-left text.</param> <param name="scriptAnalysis">Script analysis result from AnalyzeScript.</param> <param name="localeName">The locale to use when selecting glyphs. e.g. the same character may map to different glyphs for ja-jp vs zh-chs. If this is NULL then the default mapping based on the script is used.</param> <param name="numberSubstitution">Optional number substitution which selects the appropriate glyphs for digits and related numeric characters, depending on the results obtained from AnalyzeNumberSubstitution. Passing null indicates that no substitution is needed and that the digits should receive nominal glyphs.</param> <param name="features">An array of pointers to the sets of typographic features to use in each feature range.</param> <param name="featureRangeLengths">The length of each feature range, in characters. The sum of all lengths should be equal to textLength.</param> <param name="featureRanges">The number of feature ranges.</param> <param name="maxGlyphCount">The maximum number of glyphs that can be returned.</param> <param name="clusterMap">The mapping from character ranges to glyph ranges.</param> <param name="textProps">Per-character output properties.</param> <param name="glyphIndices">Output glyph indices.</param> <param name="glyphProps">Per-glyph output properties.</param> <param name="actualGlyphCount">The actual number of glyphs returned if the call succeeds.</param> <returns> Standard HRESULT error code. </returns> <remarks> Note that the mapping from characters to glyphs is, in general, many- to-many. The recommended estimate for the per-glyph output buffers is (3 * textLength / 2 + 16). This is not guaranteed to be sufficient.

The value of the actualGlyphCount parameter is only valid if the call succeeds. In the event that maxGlyphCount is not big enough E_NOT_SUFFICIENT_BUFFER, which is equivalent to HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER), will be returned. The application should allocate a larger buffer and try again. </remarks>

Meta