How to calculate font height in WPF? How to calculate font height in WPF? wpf wpf

How to calculate font height in WPF?


The maximum height range for a font can be calculated using its LineSpacing property which is a proportional figure for the font. This can be used to give a line height which can accommodate all glyphs for that font at a particular size.

    FontFamily fontFamily = new FontFamily("Segoe UI");    double fontDpiSize = 16;    double fontHeight = Math.Ceiling(fontDpiSize * fontFamily.LineSpacing);

Result:

   22.0

This figure will contain a small amount of leading which is desirable when needing a height for rows of text (so that ascenders and descenders from adjacent rows of text have spacing).

enter image description here


Use System.Windows.Media.FormattedText class.

Example:

FormattedText ft = new FormattedText("Quick Brown Fox Jumps Over A Lazy Dog.",                                     CultureInfo.CurrentCulture,                                     CultureInfo.CurrentCulture.TextInfo.IsRightToLeft ? FlowDirection.RightToLeft : FlowDirection.LeftToRight,                                     new Typeface("Verdana"),                                     9,                                     new SolidColorBrush(Colors.White)Double maxHeight = ft.MaxTextHeight;