# C1.Util.DX.DirectWrite.FontFace.GetGlyphRunOutline

## Content

<div class="doc-site-dotnet-api-container">



<h1 id="C1_Util_DX_DirectWrite_FontFace_GetGlyphRunOutline_" data-uid="C1.Util.DX.DirectWrite.FontFace.GetGlyphRunOutline*">GetGlyphRunOutline Method
</h1>
<div class="markdown level0 summary"></div>
<div class="markdown level0 conceptual"></div>



<a id="C1_Util_DX_DirectWrite_FontFace_GetGlyphRunOutline_" data-uid="C1.Util.DX.DirectWrite.FontFace.GetGlyphRunOutline*"></a>
<h4 id="C1_Util_DX_DirectWrite_FontFace_GetGlyphRunOutline_System_Single_System_Int16___System_Single___C1_Util_DX_DirectWrite_GlyphOffset___System_Boolean_System_Boolean_C1_Util_DX_Direct2D_SimplifiedGeometrySink_" data-uid="C1.Util.DX.DirectWrite.FontFace.GetGlyphRunOutline(System.Single,System.Int16[],System.Single[],C1.Util.DX.DirectWrite.GlyphOffset[],System.Boolean,System.Boolean,C1.Util.DX.Direct2D.SimplifiedGeometrySink)">GetGlyphRunOutline(float, short[], float[], GlyphOffset[], bool, bool, SimplifiedGeometrySink)</h4>
<div class="markdown level1 summary"><p>Computes the outline of a run of glyphs by calling back to the outline sink interface.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="declaration">Declaration</h5>
<div class="codewrapper">
  <pre><code class="lang-csharp hljs">public void GetGlyphRunOutline(float emSize, short[] glyphIndices, float[] glyphAdvances, GlyphOffset[] glyphOffsets, bool isSideways, bool isRightToLeft, SimplifiedGeometrySink geometrySink)</code></pre>
</div>
<div class="codewrapper">
  <pre><code class="lang-vbnet hljs">Public Sub GetGlyphRunOutline(emSize As Single, glyphIndices As Short(), glyphAdvances As Single(), glyphOffsets As GlyphOffset(), isSideways As Boolean, isRightToLeft As Boolean, geometrySink As SimplifiedGeometrySink)</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.single">float</a></td>
      <td><span class="parametername">emSize</span></td>
      <td><p>The logical size of the font in DIP units. A DIP (&quot;device-independent pixel&quot;) equals 1/96 inch.</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>An array of glyph indices. The glyphs are in logical order and the advance direction depends on the isRightToLeft parameter. The array must be allocated and be able to contain the number of elements specified by glyphCount.</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>An optional array of glyph advances in DIPs. The advance of a glyph is the amount to advance the position (in the direction of the baseline) after drawing the glyph. glyphAdvances contains the number of elements specified by glyphIndices.Length.</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>An optional array of glyph offsets, each of which specifies the offset along the baseline and offset perpendicular to the baseline of a glyph relative to the current pen position.   glyphOffsets contains the number of elements specified by glyphIndices.Length.</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 TRUE, the ascender of the glyph runs alongside the baseline. If FALSE, the glyph ascender runs perpendicular to the baseline. For example, an English alphabet on a vertical baseline would have isSideways set to FALSE. A client can render a vertical run by setting isSideways to TRUE and rotating the resulting geometry 90 degrees to the right using a transform. The isSideways and isRightToLeft parameters cannot both be true.</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>The visual order of the glyphs. If this parameter is FALSE, then glyph advances are from left to right. If TRUE, the advance direction is right to left. By default, the advance direction is left to right.</p>
</td>
    </tr>
    <tr>
      <td><a class="xref" href="C1.Util.DX.Direct2D.SimplifiedGeometrySink.html">SimplifiedGeometrySink</a></td>
      <td><span class="parametername">geometrySink</span></td>
      <td><p>A reference to the interface that is called back to perform outline drawing operations.</p>
</td>
    </tr>
  </tbody>
</table>
</div>
