IDWriteTextAnalyzer1.GetJustifiedGlyphs

<summary> Fills in new glyphs for complex scripts where justification increased the advances of glyphs, such as Arabic with kashida. </summary> <param name="fontFace">Font face used for shaping.</param> <param name="fontEmSize">Font em size used for the glyph run.</param> <param name="scriptAnalysis">Script of the text from the itemizer.</param> <param name="textLength">Length of the text.</param> <param name="glyphCount">Number of glyphs.</param> <param name="maxGlyphCount">Maximum number of output glyphs allocated by caller.</param> <param name="clusterMap">Clustermap produced from shaping.</param> <param name="glyphIndices">Original glyphs produced from shaping.</param> <param name="glyphAdvances">Original glyph advances produced from shaping.</param> <param name="justifiedGlyphAdvances">Justified glyph advances from JustifyGlyphAdvances().</param> <param name="justifiedGlyphOffsets">Justified glyph offsets from JustifyGlyphAdvances().</param> <param name="glyphProperties">Properties of each glyph, from GetGlyphs.</param> <param name="actualGlyphCount">The new glyph count written to the modified arrays, or the needed glyph count if the size is not large enough.</param> <param name="modifiedClusterMap">Updated clustermap.</param> <param name="modifiedGlyphIndices">Updated glyphs with new glyphs inserted where needed.</param> <param name="modifiedGlyphAdvances">Updated glyph advances.</param> <param name="modifiedGlyphOffsets">Updated glyph offsets.</param> <remarks> This is called after the line has been justified, and it is per-run. It only needs to be called if the script has a specific justification character via GetScriptProperties, and it is mainly for cursive scripts like Arabic. If maxGlyphCount is not large enough, the error E_NOT_SUFFICIENT_BUFFER will be returned, with actualGlyphCount holding the final/needed glyph count. </remarks> <returns> Standard HRESULT error code. </returns>

Meta