title: Override/Change .NET Winforms Font Vertical Alignment Behavior for Label Control
body: <p>I have a regular label with the TextAlign property set to MiddleCenter.  The label is intended to hold a time value with minutes and seconds and will function as a stopwatch.</p>
  
  <p>If the font size is small the label is vertically aligned correctly.  However, as the font size increases the vertical alignment becomes problematic...</p>
  
  <p>See screenshot here and you will see what I mean:</p>
  
  <p><a href="https://i.stack.imgur.com/oWV8l.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/oWV8l.png" alt="screenshot"></a>
  </p>
  
  <p>As far as I understand, I think .NET is technically correct - I think the vertical alignment is correct from a typographical sense because of things like font ascent and descent.  However this doesn't really fit my needs in this case.  In the screenshot the top portion of the label has more space than bottom portion of the label.  I would like these two portions to be equal when the numbers are displayed.  I'm only using numbers and the colon, so I'm not interested in how it might look if other characters were included such as a "g" which obviously would have pixels hanging below the baseline.</p>
  
  <p>I tried tweaking the padding to force this behavior but it just resulted in the text being clipped and .NET won't let me use negative padding/margin.  Is there any easy way to accomplish what I want here?  I also tried to manually edit the ttf font file and change the font ascent / descent so that .NET aligns it differently but was not able to figure it out.  Thanks for your advice.</p>
  
  <p>The font file I am using was downloaded here:
  <a href="http://www.fontspace.com/style-7/digital-7" rel="nofollow noreferrer">http://www.fontspace.com/style-7/digital-7</a></p>