# C1.Util.DX.DirectWrite.FontFace

## Content

<div class="doc-site-dotnet-api-container">



  <h1 id="C1_Util_DX_DirectWrite_FontFace" data-uid="C1.Util.DX.DirectWrite.FontFace" class="text-break">FontFace Class
</h1>
  <div class="markdown level0 summary"><p>IDWriteFontFace</p>
</div>
  <div class="markdown level0 conceptual"></div>
  <div class="inheritance">
    <h5>Inheritance</h5>
    <div class="level0"><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a></div>
    <div class="level1"><a class="xref" href="C1.Util.DX.DisposeBase.html">DisposeBase</a></div>
    <div class="level2"><a class="xref" href="C1.Util.DX.CppObject.html">CppObject</a></div>
    <div class="level3"><a class="xref" href="C1.Util.DX.ComObject.html">ComObject</a></div>
    <div class="level4"><span class="xref">FontFace</span></div>
      <div class="level5"><a class="xref" href="C1.Util.DX.DirectWrite.FontFace1.html">FontFace1</a></div>
  </div>
  <div class="implements">
    <h5>Implements</h5>
    <div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.idisposable">IDisposable</a></div>
    <div><a class="xref" href="C1.Util.DX.IUnknown.html">IUnknown</a></div>
  </div>
  <h6><strong>Namespace</strong>: <a class="xref" href="C1.Util.DX.DirectWrite.html">C1.Util.DX.DirectWrite</a></h6>
  <h6><strong>Assembly</strong>: C1.Win.DX.4.8.dll</h6>
  <h5 id="C1_Util_DX_DirectWrite_FontFace_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">[Guid(&quot;5f49804d-7024-4d43-bfa9-d25984f53849&quot;)]
public class FontFace : ComObject, IDisposable, IUnknown</code></pre>
  </div>
  <div class="codewrapper">
    <pre><code class="lang-vbnet hljs">&lt;Guid(&quot;5f49804d-7024-4d43-bfa9-d25984f53849&quot;)&gt;
Public Class FontFace
    Inherits ComObject
    Implements IDisposable, IUnknown</code></pre>
  </div>
  <h3 id="constructors">Constructors
</h3>
  <table class="table table-bordered table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td id="C1_Util_DX_DirectWrite_FontFace__ctor_System_IntPtr_" data-uid="C1.Util.DX.DirectWrite.FontFace.#ctor(System.IntPtr)">
          <a class="xref" href="C1.Util.DX.DirectWrite.FontFace.-ctor.html#C1_Util_DX_DirectWrite_FontFace__ctor_System_IntPtr_">FontFace(IntPtr)</a>
        </td>
        <td class="markdown level1 summary"><p>Initializes a new instance of the <a class="xref" href="C1.Util.DX.DirectWrite.FontFace.html">FontFace</a> class.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h3 id="properties">Properties
</h3>
  <table class="table table-bordered table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td id="C1_Util_DX_DirectWrite_FontFace_Metrics" data-uid="C1.Util.DX.DirectWrite.FontFace.Metrics">
          <a class="xref" href="C1.Util.DX.DirectWrite.FontFace.Metrics.html#C1_Util_DX_DirectWrite_FontFace_Metrics">Metrics</a>
        </td>
        <td class="markdown level1 summary"><p>GetMetrics</p>
</td>
      </tr>
    </tbody>
  </table>
  <h3 id="methods">Methods
</h3>
  <table class="table table-bordered table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td id="C1_Util_DX_DirectWrite_FontFace_Create_C1_Util_DX_DirectWrite_Factory_C1_Util_DX_DirectWrite_FontFaceType_C1_Util_DX_DirectWrite_FontFile___System_Int32_C1_Util_DX_DirectWrite_FontSimulations_" data-uid="C1.Util.DX.DirectWrite.FontFace.Create(C1.Util.DX.DirectWrite.Factory,C1.Util.DX.DirectWrite.FontFaceType,C1.Util.DX.DirectWrite.FontFile[],System.Int32,C1.Util.DX.DirectWrite.FontSimulations)">
          <a class="xref" href="C1.Util.DX.DirectWrite.FontFace.Create.html#C1_Util_DX_DirectWrite_FontFace_Create_C1_Util_DX_DirectWrite_Factory_C1_Util_DX_DirectWrite_FontFaceType_C1_Util_DX_DirectWrite_FontFile___System_Int32_C1_Util_DX_DirectWrite_FontSimulations_">Create(Factory, FontFaceType, FontFile[], int, FontSimulations)</a>
        </td>
        <td class="markdown level1 summary"><p>Creates an object that represents a font face.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DirectWrite_FontFace_Create_C1_Util_DX_DirectWrite_Font_" data-uid="C1.Util.DX.DirectWrite.FontFace.Create(C1.Util.DX.DirectWrite.Font)">
          <a class="xref" href="C1.Util.DX.DirectWrite.FontFace.Create.html#C1_Util_DX_DirectWrite_FontFace_Create_C1_Util_DX_DirectWrite_Font_">Create(Font)</a>
        </td>
        <td class="markdown level1 summary"><p>Creates a font face object for the font.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DirectWrite_FontFace_GetDesignGlyphMetrics_System_Int16___System_Boolean_" data-uid="C1.Util.DX.DirectWrite.FontFace.GetDesignGlyphMetrics(System.Int16[],System.Boolean)">
          <a class="xref" href="C1.Util.DX.DirectWrite.FontFace.GetDesignGlyphMetrics.html#C1_Util_DX_DirectWrite_FontFace_GetDesignGlyphMetrics_System_Int16___System_Boolean_">GetDesignGlyphMetrics(short[], bool)</a>
        </td>
        <td class="markdown level1 summary"><p>Obtains ideal (resolution-independent) glyph metrics in font design units.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DirectWrite_FontFace_GetDesignGlyphMetrics_System_Int16___System_Int32_C1_Util_DX_DirectWrite_GlyphMetrics___C1_Util_DX_Bool_" data-uid="C1.Util.DX.DirectWrite.FontFace.GetDesignGlyphMetrics(System.Int16[],System.Int32,C1.Util.DX.DirectWrite.GlyphMetrics[],C1.Util.DX.Bool)">
          <a class="xref" href="C1.Util.DX.DirectWrite.FontFace.GetDesignGlyphMetrics.html#C1_Util_DX_DirectWrite_FontFace_GetDesignGlyphMetrics_System_Int16___System_Int32_C1_Util_DX_DirectWrite_GlyphMetrics___C1_Util_DX_Bool_">GetDesignGlyphMetrics(short[], int, GlyphMetrics[], Bool)</a>
        </td>
        <td class="markdown level1 summary"><p>HRESULT IDWriteFontFace::GetDesignGlyphMetrics([In, Buffer] const unsigned short* glyphIndices,[In] unsigned int glyphCount,[Out, Buffer] DWRITE_GLYPH_METRICS* glyphMetrics,[In] BOOL isSideways)</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DirectWrite_FontFace_GetFaceType" data-uid="C1.Util.DX.DirectWrite.FontFace.GetFaceType">
          <a class="xref" href="C1.Util.DX.DirectWrite.FontFace.GetFaceType.html#C1_Util_DX_DirectWrite_FontFace_GetFaceType">GetFaceType()</a>
        </td>
        <td class="markdown level1 summary"><p>DWRITE_FONT_FACE_TYPE IDWriteFontFace::GetType()</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DirectWrite_FontFace_GetFiles" data-uid="C1.Util.DX.DirectWrite.FontFace.GetFiles">
          <a class="xref" href="C1.Util.DX.DirectWrite.FontFace.GetFiles.html#C1_Util_DX_DirectWrite_FontFace_GetFiles">GetFiles()</a>
        </td>
        <td class="markdown level1 summary"><p>Obtains the font files representing a font face.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DirectWrite_FontFace_GetFiles_System_Int32__C1_Util_DX_DirectWrite_FontFile___" data-uid="C1.Util.DX.DirectWrite.FontFace.GetFiles(System.Int32@,C1.Util.DX.DirectWrite.FontFile[])">
          <a class="xref" href="C1.Util.DX.DirectWrite.FontFace.GetFiles.html#C1_Util_DX_DirectWrite_FontFace_GetFiles_System_Int32__C1_Util_DX_DirectWrite_FontFile___">GetFiles(ref int, FontFile[])</a>
        </td>
        <td class="markdown level1 summary"><p>HRESULT IDWriteFontFace::GetFiles([InOut] unsigned int* numberOfFiles,[Out, Buffer, Optional] IDWriteFontFile** fontFiles)</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DirectWrite_FontFace_GetGdiCompatibleGlyphMetrics_System_Single_System_Single_System_Nullable_C1_Util_DX_Matrix3x2__C1_Util_DX_Bool_System_Int16___System_Int32_C1_Util_DX_DirectWrite_GlyphMetrics___C1_Util_DX_Bool_" data-uid="C1.Util.DX.DirectWrite.FontFace.GetGdiCompatibleGlyphMetrics(System.Single,System.Single,System.Nullable{C1.Util.DX.Matrix3x2},C1.Util.DX.Bool,System.Int16[],System.Int32,C1.Util.DX.DirectWrite.GlyphMetrics[],C1.Util.DX.Bool)">
          <a class="xref" href="C1.Util.DX.DirectWrite.FontFace.GetGdiCompatibleGlyphMetrics.html#C1_Util_DX_DirectWrite_FontFace_GetGdiCompatibleGlyphMetrics_System_Single_System_Single_System_Nullable_C1_Util_DX_Matrix3x2__C1_Util_DX_Bool_System_Int16___System_Int32_C1_Util_DX_DirectWrite_GlyphMetrics___C1_Util_DX_Bool_">GetGdiCompatibleGlyphMetrics(float, float, Matrix3x2?, Bool, short[], int, GlyphMetrics[], Bool)</a>
        </td>
        <td class="markdown level1 summary"><p>HRESULT IDWriteFontFace::GetGdiCompatibleGlyphMetrics([In] float emSize,[In] float pixelsPerDip,[In, Optional] const DWRITE_MATRIX* transform,[In] BOOL useGdiNatural,[In, Buffer] const unsigned short* glyphIndices,[In] unsigned int glyphCount,[Out, Buffer] DWRITE_GLYPH_METRICS* glyphMetrics,[In] BOOL isSideways)</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DirectWrite_FontFace_GetGdiCompatibleGlyphMetrics_System_Single_System_Single_System_Nullable_C1_Util_DX_Matrix3x2__System_Boolean_System_Int16___System_Boolean_" data-uid="C1.Util.DX.DirectWrite.FontFace.GetGdiCompatibleGlyphMetrics(System.Single,System.Single,System.Nullable{C1.Util.DX.Matrix3x2},System.Boolean,System.Int16[],System.Boolean)">
          <a class="xref" href="C1.Util.DX.DirectWrite.FontFace.GetGdiCompatibleGlyphMetrics.html#C1_Util_DX_DirectWrite_FontFace_GetGdiCompatibleGlyphMetrics_System_Single_System_Single_System_Nullable_C1_Util_DX_Matrix3x2__System_Boolean_System_Int16___System_Boolean_">GetGdiCompatibleGlyphMetrics(float, float, Matrix3x2?, bool, short[], bool)</a>
        </td>
        <td class="markdown level1 summary"><p>Obtains glyph metrics in font design units with the return values compatible with what GDI would produce.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DirectWrite_FontFace_GetGdiCompatibleMetrics_System_Single_System_Single_System_Nullable_C1_Util_DX_Matrix3x2__" data-uid="C1.Util.DX.DirectWrite.FontFace.GetGdiCompatibleMetrics(System.Single,System.Single,System.Nullable{C1.Util.DX.Matrix3x2})">
          <a class="xref" href="C1.Util.DX.DirectWrite.FontFace.GetGdiCompatibleMetrics.html#C1_Util_DX_DirectWrite_FontFace_GetGdiCompatibleMetrics_System_Single_System_Single_System_Nullable_C1_Util_DX_Matrix3x2__">GetGdiCompatibleMetrics(float, float, Matrix3x2?)</a>
        </td>
        <td class="markdown level1 summary"><p>HRESULT IDWriteFontFace::GetGdiCompatibleMetrics([In] float emSize,[In] float pixelsPerDip,[In, Optional] const DWRITE_MATRIX* transform,[Out] DWRITE_FONT_METRICS* fontFaceMetrics)</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DirectWrite_FontFace_GetGlyphCount" data-uid="C1.Util.DX.DirectWrite.FontFace.GetGlyphCount">
          <a class="xref" href="C1.Util.DX.DirectWrite.FontFace.GetGlyphCount.html#C1_Util_DX_DirectWrite_FontFace_GetGlyphCount">GetGlyphCount()</a>
        </td>
        <td class="markdown level1 summary"><p>unsigned short IDWriteFontFace::GetGlyphCount()</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DirectWrite_FontFace_GetGlyphIndices_System_Int32___" data-uid="C1.Util.DX.DirectWrite.FontFace.GetGlyphIndices(System.Int32[])">
          <a class="xref" href="C1.Util.DX.DirectWrite.FontFace.GetGlyphIndices.html#C1_Util_DX_DirectWrite_FontFace_GetGlyphIndices_System_Int32___">GetGlyphIndices(int[])</a>
        </td>
        <td class="markdown level1 summary"><p>Returns the nominal mapping of UCS4 Unicode code points to glyph indices as defined by the font 'CMAP' table.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DirectWrite_FontFace_GetGlyphIndices_System_Int32___System_Int32_System_Int16___" data-uid="C1.Util.DX.DirectWrite.FontFace.GetGlyphIndices(System.Int32[],System.Int32,System.Int16[])">
          <a class="xref" href="C1.Util.DX.DirectWrite.FontFace.GetGlyphIndices.html#C1_Util_DX_DirectWrite_FontFace_GetGlyphIndices_System_Int32___System_Int32_System_Int16___">GetGlyphIndices(int[], int, short[])</a>
        </td>
        <td class="markdown level1 summary"><p>HRESULT IDWriteFontFace::GetGlyphIndices([In, Buffer] const unsigned int* codePoints,[In] unsigned int codePointCount,[Out, Buffer] unsigned short* glyphIndices)</p>
</td>
      </tr>
      <tr>
        <td 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)">
          <a class="xref" href="C1.Util.DX.DirectWrite.FontFace.GetGlyphRunOutline.html#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)</a>
        </td>
        <td class="markdown level1 summary"><p>Computes the outline of a run of glyphs by calling back to the outline sink interface.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DirectWrite_FontFace_GetIndex" data-uid="C1.Util.DX.DirectWrite.FontFace.GetIndex">
          <a class="xref" href="C1.Util.DX.DirectWrite.FontFace.GetIndex.html#C1_Util_DX_DirectWrite_FontFace_GetIndex">GetIndex()</a>
        </td>
        <td class="markdown level1 summary"><p>unsigned int IDWriteFontFace::GetIndex()</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DirectWrite_FontFace_GetMetrics_C1_Util_DX_DirectWrite_FontMetrics__" data-uid="C1.Util.DX.DirectWrite.FontFace.GetMetrics(C1.Util.DX.DirectWrite.FontMetrics@)">
          <a class="xref" href="C1.Util.DX.DirectWrite.FontFace.GetMetrics.html#C1_Util_DX_DirectWrite_FontFace_GetMetrics_C1_Util_DX_DirectWrite_FontMetrics__">GetMetrics(out FontMetrics)</a>
        </td>
        <td class="markdown level1 summary"><p>void IDWriteFontFace::GetMetrics([Out] DWRITE_FONT_METRICS* fontFaceMetrics)</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DirectWrite_FontFace_GetRecommendedRenderingMode_System_Single_System_Single_C1_Util_DX_DirectWrite_MeasuringMode_C1_Util_DX_DirectWrite_RenderingParams_" data-uid="C1.Util.DX.DirectWrite.FontFace.GetRecommendedRenderingMode(System.Single,System.Single,C1.Util.DX.DirectWrite.MeasuringMode,C1.Util.DX.DirectWrite.RenderingParams)">
          <a class="xref" href="C1.Util.DX.DirectWrite.FontFace.GetRecommendedRenderingMode.html#C1_Util_DX_DirectWrite_FontFace_GetRecommendedRenderingMode_System_Single_System_Single_C1_Util_DX_DirectWrite_MeasuringMode_C1_Util_DX_DirectWrite_RenderingParams_">GetRecommendedRenderingMode(float, float, MeasuringMode, RenderingParams)</a>
        </td>
        <td class="markdown level1 summary"><p>HRESULT IDWriteFontFace::GetRecommendedRenderingMode([In] float emSize,[In] float pixelsPerDip,[In] DWRITE_MEASURING_MODE measuringMode,[In] IDWriteRenderingParams* renderingParams,[Out] DWRITE_RENDERING_MODE* renderingMode)</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DirectWrite_FontFace_GetSimulations" data-uid="C1.Util.DX.DirectWrite.FontFace.GetSimulations">
          <a class="xref" href="C1.Util.DX.DirectWrite.FontFace.GetSimulations.html#C1_Util_DX_DirectWrite_FontFace_GetSimulations">GetSimulations()</a>
        </td>
        <td class="markdown level1 summary"><p>DWRITE_FONT_SIMULATIONS IDWriteFontFace::GetSimulations()</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DirectWrite_FontFace_IsSymbolFont" data-uid="C1.Util.DX.DirectWrite.FontFace.IsSymbolFont">
          <a class="xref" href="C1.Util.DX.DirectWrite.FontFace.IsSymbolFont.html#C1_Util_DX_DirectWrite_FontFace_IsSymbolFont">IsSymbolFont()</a>
        </td>
        <td class="markdown level1 summary"><p>BOOL IDWriteFontFace::IsSymbolFont()</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DirectWrite_FontFace_ReleaseFontTable_System_IntPtr_" data-uid="C1.Util.DX.DirectWrite.FontFace.ReleaseFontTable(System.IntPtr)">
          <a class="xref" href="C1.Util.DX.DirectWrite.FontFace.ReleaseFontTable.html#C1_Util_DX_DirectWrite_FontFace_ReleaseFontTable_System_IntPtr_">ReleaseFontTable(IntPtr)</a>
        </td>
        <td class="markdown level1 summary"><p>void IDWriteFontFace::ReleaseFontTable([In] void* tableContext)</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DirectWrite_FontFace_TryGetFontTable_System_Int32_C1_Util_DX_DataPointer__System_IntPtr__" data-uid="C1.Util.DX.DirectWrite.FontFace.TryGetFontTable(System.Int32,C1.Util.DX.DataPointer@,System.IntPtr@)">
          <a class="xref" href="C1.Util.DX.DirectWrite.FontFace.TryGetFontTable.html#C1_Util_DX_DirectWrite_FontFace_TryGetFontTable_System_Int32_C1_Util_DX_DataPointer__System_IntPtr__">TryGetFontTable(int, out DataPointer, out IntPtr)</a>
        </td>
        <td class="markdown level1 summary"><p>Finds the specified OpenType font table if it exists and returns a reference to it. The function accesses the underlying font data through the <span class="xref">C1.Win.DX.DirectWrite.FontFileStream</span> interface implemented by the font file loader.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DirectWrite_FontFace_TryGetFontTable_System_Int32_System_IntPtr_System_Int32__System_IntPtr__" data-uid="C1.Util.DX.DirectWrite.FontFace.TryGetFontTable(System.Int32,System.IntPtr,System.Int32@,System.IntPtr@)">
          <a class="xref" href="C1.Util.DX.DirectWrite.FontFace.TryGetFontTable.html#C1_Util_DX_DirectWrite_FontFace_TryGetFontTable_System_Int32_System_IntPtr_System_Int32__System_IntPtr__">TryGetFontTable(int, IntPtr, out int, out IntPtr)</a>
        </td>
        <td class="markdown level1 summary"><p>HRESULT IDWriteFontFace::TryGetFontTable([In] unsigned int openTypeTableTag,[Out, Buffer] const void** tableData,[Out] unsigned int* tableSize,[Out] void** tableContext,[Out] BOOL* exists)</p>
</td>
      </tr>
    </tbody>
  </table>
  <h3 id="operators">Operators
</h3>
  <table class="table table-bordered table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td id="C1_Util_DX_DirectWrite_FontFace_op_Explicit_System_IntPtr__C1_Util_DX_DirectWrite_FontFace" data-uid="C1.Util.DX.DirectWrite.FontFace.op_Explicit(System.IntPtr)~C1.Util.DX.DirectWrite.FontFace">
          <a class="xref" href="C1.Util.DX.DirectWrite.FontFace.op_Explicit.html#C1_Util_DX_DirectWrite_FontFace_op_Explicit_System_IntPtr__C1_Util_DX_DirectWrite_FontFace">explicit operator FontFace(IntPtr)</a>
        </td>
        <td class="markdown level1 summary"><p>Performs an explicit conversion from <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.intptr">IntPtr</a> to <a class="xref" href="C1.Util.DX.DirectWrite.FontFace.html">FontFace</a>.</p>
</td>
      </tr>
    </tbody>
  </table>

</div>
