title: Determine text boundary box with Direct2D/DirectWrite
body: <p><code>ID2D1RenderTarget::DrawGlyphRun</code> takes the following params:</p>
  
  <pre><code>D2D1_POINT_2F baselineOrigin,
  __in CONST DWRITE_GLYPH_RUN *glyphRun,
  __in ID2D1Brush *foregroundBrush,
  DWRITE_MEASURING_MODE measuringMode /*= DWRITE_MEASURING_MODE_NATURAL */
  </code></pre>
  
  <p>Where DWRITE_GLYPH_RUN is </p>
  
  <pre><code>struct DWRITE_GLYPH_RUN
  {
      __notnull IDWriteFontFace* fontFace;
      FLOAT fontEmSize;
      UINT32 glyphCount;
      __field_ecount(glyphCount) UINT16 const* glyphIndices;
      __field_ecount_opt(glyphCount) FLOAT const* glyphAdvances;
      __field_ecount_opt(glyphCount) DWRITE_GLYPH_OFFSET const* glyphOffsets;
      BOOL isSideways;
      UINT32 bidiLevel;
  };
  </code></pre>
  
  <p>I am trying to find out the smallest rect that contains the output glyphs.</p>
  
  <p>This is all data I have. Note that I have 1 point which is <code>baselineOrigin</code> and I can potentially calculate the width using <code>glyphAdvances</code> and <code>glyphOffsets</code> from the <code>DWRITE_GLYPH_RUN</code>. The question is how to determine the height?</p>
  
  <p>Thanks.</p>