<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>
<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>