WPF定义FontSize

时间:2010-03-01 19:14:22

标签: c# wpf vb.net fonts

我知道在WPF中,FontSize = 1/96英寸(与我认为的1像素相同)。 FontSize维度是字符的高度,宽度还是对角线大小?我猜它是字体高度,但Microsoft documentation并没有真正表明它是什么。

另外,有一种简单的方法可以获得字体大小的高度和宽度吗?

答案: 因此,看起来FontSize是高度,宽度只能在等宽字体上确定(不知道实际字符),因为比例字体的宽度不同。

1 个答案:

答案 0 :(得分:3)

它们指的是字体大小,用于排版的字体。

您可以在此处阅读:Wikipedia: Typeface

  

字体和字体的大小传统上以磅为单位测量; 2点在不同时间的定义不同,但现在最受欢迎的是桌面出版点1/72英寸(0.0139英寸/0.35毫米) )。当以印刷尺寸(点,kyus)指定时,em-square的高度,通常比从最高上升器到最低下行器的距离略大的不可见框,被缩放到等于指定的大小。[3 ]例如,在12点设置Helvetica时,Helvetica字体中定义的em方形缩放为12点或1/6英寸(0.17英寸/ 4.3毫米)。然而,12点Helvetica的特定元素不需要精确测量12个点。

本维基百科文章中所述的一个注释... 72就是WinForms使用的内容。 WPF切换到96。

至于问题的第二部分,我从MSDN Link找到了这个资源:

FormattedText formattedText = new FormattedText(
            textBox1.Text.Substring(0, 1),  
            CultureInfo.GetCultureInfo("en-us"),
            FlowDirection.LeftToRight,
            new Typeface(textBox1.FontFamily.ToString()),
             textBox1.FontSize,
            Brushes.Black 
            );

... formattedText.WidthIncludingTrailingWhitespace;

... formattedText.Height;