# C1.Util.DX.DirectWrite.TextAnalyzer.GetGlyphPlacements

## Content

<div class="doc-site-dotnet-api-container">



<h1 id="C1_Util_DX_DirectWrite_TextAnalyzer_GetGlyphPlacements_" data-uid="C1.Util.DX.DirectWrite.TextAnalyzer.GetGlyphPlacements*">GetGlyphPlacements Method
</h1>
<div class="markdown level0 summary"></div>
<div class="markdown level0 conceptual"></div>



<a id="C1_Util_DX_DirectWrite_TextAnalyzer_GetGlyphPlacements_" data-uid="C1.Util.DX.DirectWrite.TextAnalyzer.GetGlyphPlacements*"></a>
<h4 id="C1_Util_DX_DirectWrite_TextAnalyzer_GetGlyphPlacements_System_String_System_Int16___C1_Util_DX_DirectWrite_ShapingTextProperties___System_Int32_System_Int16___C1_Util_DX_DirectWrite_ShapingGlyphProperties___System_Int32_C1_Util_DX_DirectWrite_FontFace_System_Single_System_Boolean_System_Boolean_C1_Util_DX_DirectWrite_ScriptAnalysis_System_String_C1_Util_DX_DirectWrite_FontFeature_____System_Int32___System_Single___C1_Util_DX_DirectWrite_GlyphOffset___" data-uid="C1.Util.DX.DirectWrite.TextAnalyzer.GetGlyphPlacements(System.String,System.Int16[],C1.Util.DX.DirectWrite.ShapingTextProperties[],System.Int32,System.Int16[],C1.Util.DX.DirectWrite.ShapingGlyphProperties[],System.Int32,C1.Util.DX.DirectWrite.FontFace,System.Single,System.Boolean,System.Boolean,C1.Util.DX.DirectWrite.ScriptAnalysis,System.String,C1.Util.DX.DirectWrite.FontFeature[][],System.Int32[],System.Single[],C1.Util.DX.DirectWrite.GlyphOffset[])">GetGlyphPlacements(string, short[], ShapingTextProperties[], int, short[], ShapingGlyphProperties[], int, FontFace, float, bool, bool, ScriptAnalysis, string, FontFeature[][], int[], float[], GlyphOffset[])</h4>
<div class="markdown level1 summary"><p>Gets the glyph placements.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="declaration">Declaration</h5>
<div class="codewrapper">
  <pre><code class="lang-csharp hljs">public void GetGlyphPlacements(string textString, short[] clusterMap, ShapingTextProperties[] textProps, int textLength, short[] glyphIndices, ShapingGlyphProperties[] glyphProps, int glyphCount, FontFace fontFace, float fontEmSize, bool isSideways, bool isRightToLeft, ScriptAnalysis scriptAnalysis, string localeName, FontFeature[][] features, int[] featureRangeLengths, float[] glyphAdvances, GlyphOffset[] glyphOffsets)</code></pre>
</div>
<div class="codewrapper">
  <pre><code class="lang-vbnet hljs">Public Sub GetGlyphPlacements(textString As String, clusterMap As Short(), textProps As ShapingTextProperties(), textLength As Integer, glyphIndices As Short(), glyphProps As ShapingGlyphProperties(), glyphCount As Integer, fontFace As FontFace, fontEmSize As Single, isSideways As Boolean, isRightToLeft As Boolean, scriptAnalysis As ScriptAnalysis, localeName As String, features As FontFeature()(), featureRangeLengths As Integer(), glyphAdvances As Single(), glyphOffsets As GlyphOffset())</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-condensed">
  <thead>
    <tr>
      <th>Type</th>
      <th>Name</th>
      <th>Description</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></td>
      <td><span class="parametername">textString</span></td>
      <td><p>The text string.</p>
</td>
    </tr>
    <tr>
      <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int16">short</a>[]</td>
      <td><span class="parametername">clusterMap</span></td>
      <td><p>The cluster map.</p>
</td>
    </tr>
    <tr>
      <td><a class="xref" href="C1.Util.DX.DirectWrite.ShapingTextProperties.html">ShapingTextProperties</a>[]</td>
      <td><span class="parametername">textProps</span></td>
      <td><p>The text props.</p>
</td>
    </tr>
    <tr>
      <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></td>
      <td><span class="parametername">textLength</span></td>
      <td><p>Length of the text.</p>
</td>
    </tr>
    <tr>
      <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int16">short</a>[]</td>
      <td><span class="parametername">glyphIndices</span></td>
      <td><p>The glyph indices.</p>
</td>
    </tr>
    <tr>
      <td><a class="xref" href="C1.Util.DX.DirectWrite.ShapingGlyphProperties.html">ShapingGlyphProperties</a>[]</td>
      <td><span class="parametername">glyphProps</span></td>
      <td><p>The glyph props.</p>
</td>
    </tr>
    <tr>
      <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></td>
      <td><span class="parametername">glyphCount</span></td>
      <td><p>The glyph count.</p>
</td>
    </tr>
    <tr>
      <td><a class="xref" href="C1.Util.DX.DirectWrite.FontFace.html">FontFace</a></td>
      <td><span class="parametername">fontFace</span></td>
      <td><p>The font face.</p>
</td>
    </tr>
    <tr>
      <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.single">float</a></td>
      <td><span class="parametername">fontEmSize</span></td>
      <td><p>Size of the font in ems.</p>
</td>
    </tr>
    <tr>
      <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.boolean">bool</a></td>
      <td><span class="parametername">isSideways</span></td>
      <td><p>if set to <code>true</code> [is sideways].</p>
</td>
    </tr>
    <tr>
      <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.boolean">bool</a></td>
      <td><span class="parametername">isRightToLeft</span></td>
      <td><p>if set to <code>true</code> [is right to left].</p>
</td>
    </tr>
    <tr>
      <td><a class="xref" href="C1.Util.DX.DirectWrite.ScriptAnalysis.html">ScriptAnalysis</a></td>
      <td><span class="parametername">scriptAnalysis</span></td>
      <td><p>The script analysis.</p>
</td>
    </tr>
    <tr>
      <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></td>
      <td><span class="parametername">localeName</span></td>
      <td><p>Name of the locale.</p>
</td>
    </tr>
    <tr>
      <td><a class="xref" href="C1.Util.DX.DirectWrite.FontFeature.html">FontFeature</a>[][]</td>
      <td><span class="parametername">features</span></td>
      <td><p>The features.</p>
</td>
    </tr>
    <tr>
      <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a>[]</td>
      <td><span class="parametername">featureRangeLengths</span></td>
      <td><p>The feature range lengths.</p>
</td>
    </tr>
    <tr>
      <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.single">float</a>[]</td>
      <td><span class="parametername">glyphAdvances</span></td>
      <td><p>The glyph advances.</p>
</td>
    </tr>
    <tr>
      <td><a class="xref" href="C1.Util.DX.DirectWrite.GlyphOffset.html">GlyphOffset</a>[]</td>
      <td><span class="parametername">glyphOffsets</span></td>
      <td><p>The glyph offsets.</p>
</td>
    </tr>
  </tbody>
</table>


<a id="C1_Util_DX_DirectWrite_TextAnalyzer_GetGlyphPlacements_" data-uid="C1.Util.DX.DirectWrite.TextAnalyzer.GetGlyphPlacements*"></a>
<h4 id="C1_Util_DX_DirectWrite_TextAnalyzer_GetGlyphPlacements_System_String_System_Int16___C1_Util_DX_DirectWrite_ShapingTextProperties___System_Int32_System_Int16___C1_Util_DX_DirectWrite_ShapingGlyphProperties___System_Int32_C1_Util_DX_DirectWrite_FontFace_System_Single_C1_Util_DX_Bool_C1_Util_DX_Bool_C1_Util_DX_DirectWrite_ScriptAnalysis_System_String_System_IntPtr_System_Int32___System_Int32_System_Single___C1_Util_DX_DirectWrite_GlyphOffset___" data-uid="C1.Util.DX.DirectWrite.TextAnalyzer.GetGlyphPlacements(System.String,System.Int16[],C1.Util.DX.DirectWrite.ShapingTextProperties[],System.Int32,System.Int16[],C1.Util.DX.DirectWrite.ShapingGlyphProperties[],System.Int32,C1.Util.DX.DirectWrite.FontFace,System.Single,C1.Util.DX.Bool,C1.Util.DX.Bool,C1.Util.DX.DirectWrite.ScriptAnalysis,System.String,System.IntPtr,System.Int32[],System.Int32,System.Single[],C1.Util.DX.DirectWrite.GlyphOffset[])">GetGlyphPlacements(string, short[], ShapingTextProperties[], int, short[], ShapingGlyphProperties[], int, FontFace, float, Bool, Bool, ScriptAnalysis, string, IntPtr, int[], int, float[], GlyphOffset[])</h4>
<div class="markdown level1 summary"><p>HRESULT IDWriteTextAnalyzer::GetGlyphPlacements([In, Buffer] const wchar_t* textString,[In, Buffer] const unsigned short* clusterMap,[In, Buffer] DWRITE_SHAPING_TEXT_PROPERTIES* textProps,[In] unsigned int textLength,[In, Buffer] const unsigned short* glyphIndices,[In, Buffer] const DWRITE_SHAPING_GLYPH_PROPERTIES* glyphProps,[In] unsigned int glyphCount,[In] IDWriteFontFace* fontFace,[In] float fontEmSize,[In] BOOL isSideways,[In] BOOL isRightToLeft,[In] const DWRITE_SCRIPT_ANALYSIS* scriptAnalysis,[In, Optional] const wchar_t* localeName,[In, Optional] const void** features,[In, Buffer, Optional] const unsigned int* featureRangeLengths,[In] unsigned int featureRanges,[Out, Buffer] float* glyphAdvances,[Out, Buffer] DWRITE_GLYPH_OFFSET* glyphOffsets)</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="declaration">Declaration</h5>
<div class="codewrapper">
  <pre><code class="lang-csharp hljs">public void GetGlyphPlacements(string textString, short[] clusterMap, ShapingTextProperties[] textProps, int textLength, short[] glyphIndices, ShapingGlyphProperties[] glyphProps, int glyphCount, FontFace fontFace, float fontEmSize, Bool isSideways, Bool isRightToLeft, ScriptAnalysis scriptAnalysis, string localeName, IntPtr features, int[] featureRangeLengths, int featureRanges, float[] glyphAdvances, GlyphOffset[] glyphOffsets)</code></pre>
</div>
<div class="codewrapper">
  <pre><code class="lang-vbnet hljs">Public Sub GetGlyphPlacements(textString As String, clusterMap As Short(), textProps As ShapingTextProperties(), textLength As Integer, glyphIndices As Short(), glyphProps As ShapingGlyphProperties(), glyphCount As Integer, fontFace As FontFace, fontEmSize As Single, isSideways As Bool, isRightToLeft As Bool, scriptAnalysis As ScriptAnalysis, localeName As String, features As IntPtr, featureRangeLengths As Integer(), featureRanges As Integer, glyphAdvances As Single(), glyphOffsets As GlyphOffset())</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-condensed">
  <thead>
    <tr>
      <th>Type</th>
      <th>Name</th>
      <th>Description</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></td>
      <td><span class="parametername">textString</span></td>
      <td></td>
    </tr>
    <tr>
      <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int16">short</a>[]</td>
      <td><span class="parametername">clusterMap</span></td>
      <td></td>
    </tr>
    <tr>
      <td><a class="xref" href="C1.Util.DX.DirectWrite.ShapingTextProperties.html">ShapingTextProperties</a>[]</td>
      <td><span class="parametername">textProps</span></td>
      <td></td>
    </tr>
    <tr>
      <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></td>
      <td><span class="parametername">textLength</span></td>
      <td></td>
    </tr>
    <tr>
      <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int16">short</a>[]</td>
      <td><span class="parametername">glyphIndices</span></td>
      <td></td>
    </tr>
    <tr>
      <td><a class="xref" href="C1.Util.DX.DirectWrite.ShapingGlyphProperties.html">ShapingGlyphProperties</a>[]</td>
      <td><span class="parametername">glyphProps</span></td>
      <td></td>
    </tr>
    <tr>
      <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></td>
      <td><span class="parametername">glyphCount</span></td>
      <td></td>
    </tr>
    <tr>
      <td><a class="xref" href="C1.Util.DX.DirectWrite.FontFace.html">FontFace</a></td>
      <td><span class="parametername">fontFace</span></td>
      <td></td>
    </tr>
    <tr>
      <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.single">float</a></td>
      <td><span class="parametername">fontEmSize</span></td>
      <td></td>
    </tr>
    <tr>
      <td><a class="xref" href="C1.Util.DX.Bool.html">Bool</a></td>
      <td><span class="parametername">isSideways</span></td>
      <td></td>
    </tr>
    <tr>
      <td><a class="xref" href="C1.Util.DX.Bool.html">Bool</a></td>
      <td><span class="parametername">isRightToLeft</span></td>
      <td></td>
    </tr>
    <tr>
      <td><a class="xref" href="C1.Util.DX.DirectWrite.ScriptAnalysis.html">ScriptAnalysis</a></td>
      <td><span class="parametername">scriptAnalysis</span></td>
      <td></td>
    </tr>
    <tr>
      <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></td>
      <td><span class="parametername">localeName</span></td>
      <td></td>
    </tr>
    <tr>
      <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.intptr">IntPtr</a></td>
      <td><span class="parametername">features</span></td>
      <td></td>
    </tr>
    <tr>
      <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a>[]</td>
      <td><span class="parametername">featureRangeLengths</span></td>
      <td></td>
    </tr>
    <tr>
      <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></td>
      <td><span class="parametername">featureRanges</span></td>
      <td></td>
    </tr>
    <tr>
      <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.single">float</a>[]</td>
      <td><span class="parametername">glyphAdvances</span></td>
      <td></td>
    </tr>
    <tr>
      <td><a class="xref" href="C1.Util.DX.DirectWrite.GlyphOffset.html">GlyphOffset</a>[]</td>
      <td><span class="parametername">glyphOffsets</span></td>
      <td></td>
    </tr>
  </tbody>
</table>


<a id="C1_Util_DX_DirectWrite_TextAnalyzer_GetGlyphPlacements_" data-uid="C1.Util.DX.DirectWrite.TextAnalyzer.GetGlyphPlacements*"></a>
<h4 id="C1_Util_DX_DirectWrite_TextAnalyzer_GetGlyphPlacements_System_IntPtr_System_IntPtr_System_IntPtr_System_Int32_System_IntPtr_System_IntPtr_System_Int32_System_IntPtr_System_Single_C1_Util_DX_Bool_C1_Util_DX_Bool_C1_Util_DX_DirectWrite_ScriptAnalysis_System_IntPtr_System_IntPtr_System_IntPtr_System_Int32_System_IntPtr_System_IntPtr_" data-uid="C1.Util.DX.DirectWrite.TextAnalyzer.GetGlyphPlacements(System.IntPtr,System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.Single,C1.Util.DX.Bool,C1.Util.DX.Bool,C1.Util.DX.DirectWrite.ScriptAnalysis,System.IntPtr,System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr)">GetGlyphPlacements(IntPtr, IntPtr, IntPtr, int, IntPtr, IntPtr, int, IntPtr, float, Bool, Bool, ScriptAnalysis, IntPtr, IntPtr, IntPtr, int, IntPtr, IntPtr)</h4>
<div class="markdown level1 summary"><p>HRESULT IDWriteTextAnalyzer::GetGlyphPlacements([In, Buffer] const wchar_t* textString,[In, Buffer] const unsigned short* clusterMap,[In, Buffer] DWRITE_SHAPING_TEXT_PROPERTIES* textProps,[In] unsigned int textLength,[In, Buffer] const unsigned short* glyphIndices,[In, Buffer] const DWRITE_SHAPING_GLYPH_PROPERTIES* glyphProps,[In] unsigned int glyphCount,[In] IDWriteFontFace* fontFace,[In] float fontEmSize,[In] BOOL isSideways,[In] BOOL isRightToLeft,[In] const DWRITE_SCRIPT_ANALYSIS* scriptAnalysis,[In, Optional] const wchar_t* localeName,[In, Optional] const void** features,[In, Buffer, Optional] const unsigned int* featureRangeLengths,[In] unsigned int featureRanges,[Out, Buffer] float* glyphAdvances,[Out, Buffer] DWRITE_GLYPH_OFFSET* glyphOffsets)</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="declaration">Declaration</h5>
<div class="codewrapper">
  <pre><code class="lang-csharp hljs">public void GetGlyphPlacements(IntPtr textString, IntPtr clusterMap, IntPtr textProps, int textLength, IntPtr glyphIndices, IntPtr glyphProps, int glyphCount, IntPtr fontFace, float fontEmSize, Bool isSideways, Bool isRightToLeft, ScriptAnalysis scriptAnalysis, IntPtr localeName, IntPtr features, IntPtr featureRangeLengths, int featureRanges, IntPtr glyphAdvances, IntPtr glyphOffsets)</code></pre>
</div>
<div class="codewrapper">
  <pre><code class="lang-vbnet hljs">Public Sub GetGlyphPlacements(textString As IntPtr, clusterMap As IntPtr, textProps As IntPtr, textLength As Integer, glyphIndices As IntPtr, glyphProps As IntPtr, glyphCount As Integer, fontFace As IntPtr, fontEmSize As Single, isSideways As Bool, isRightToLeft As Bool, scriptAnalysis As ScriptAnalysis, localeName As IntPtr, features As IntPtr, featureRangeLengths As IntPtr, featureRanges As Integer, glyphAdvances As IntPtr, glyphOffsets As IntPtr)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-condensed">
  <thead>
    <tr>
      <th>Type</th>
      <th>Name</th>
      <th>Description</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.intptr">IntPtr</a></td>
      <td><span class="parametername">textString</span></td>
      <td></td>
    </tr>
    <tr>
      <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.intptr">IntPtr</a></td>
      <td><span class="parametername">clusterMap</span></td>
      <td></td>
    </tr>
    <tr>
      <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.intptr">IntPtr</a></td>
      <td><span class="parametername">textProps</span></td>
      <td></td>
    </tr>
    <tr>
      <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></td>
      <td><span class="parametername">textLength</span></td>
      <td></td>
    </tr>
    <tr>
      <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.intptr">IntPtr</a></td>
      <td><span class="parametername">glyphIndices</span></td>
      <td></td>
    </tr>
    <tr>
      <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.intptr">IntPtr</a></td>
      <td><span class="parametername">glyphProps</span></td>
      <td></td>
    </tr>
    <tr>
      <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></td>
      <td><span class="parametername">glyphCount</span></td>
      <td></td>
    </tr>
    <tr>
      <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.intptr">IntPtr</a></td>
      <td><span class="parametername">fontFace</span></td>
      <td></td>
    </tr>
    <tr>
      <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.single">float</a></td>
      <td><span class="parametername">fontEmSize</span></td>
      <td></td>
    </tr>
    <tr>
      <td><a class="xref" href="C1.Util.DX.Bool.html">Bool</a></td>
      <td><span class="parametername">isSideways</span></td>
      <td></td>
    </tr>
    <tr>
      <td><a class="xref" href="C1.Util.DX.Bool.html">Bool</a></td>
      <td><span class="parametername">isRightToLeft</span></td>
      <td></td>
    </tr>
    <tr>
      <td><a class="xref" href="C1.Util.DX.DirectWrite.ScriptAnalysis.html">ScriptAnalysis</a></td>
      <td><span class="parametername">scriptAnalysis</span></td>
      <td></td>
    </tr>
    <tr>
      <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.intptr">IntPtr</a></td>
      <td><span class="parametername">localeName</span></td>
      <td></td>
    </tr>
    <tr>
      <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.intptr">IntPtr</a></td>
      <td><span class="parametername">features</span></td>
      <td></td>
    </tr>
    <tr>
      <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.intptr">IntPtr</a></td>
      <td><span class="parametername">featureRangeLengths</span></td>
      <td></td>
    </tr>
    <tr>
      <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></td>
      <td><span class="parametername">featureRanges</span></td>
      <td></td>
    </tr>
    <tr>
      <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.intptr">IntPtr</a></td>
      <td><span class="parametername">glyphAdvances</span></td>
      <td></td>
    </tr>
    <tr>
      <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.intptr">IntPtr</a></td>
      <td><span class="parametername">glyphOffsets</span></td>
      <td></td>
    </tr>
  </tbody>
</table>
</div>
