WPF中如何计算字体高度?
对于 FontFamily
,如何以编程方式检索/计算该字体在特定 FontSize
下的最大高度范围?
我需要一个值来设置文本块的高度,该文本块将以指定的 FontSize 显示字体 - 这必须以编程方式执行。
我需要一个考虑上升部分和下降部分等的值。
更新
为了澄清,我需要整个 FontFamily
的最大高度范围,而不是某些样本的高度该字体的文本。我事先不知道文本会是什么。
For a FontFamily
how do I programatically retrieve/calculate the maximum height range for that font at a particular FontSize
?
I need a value to set the height of a textblock that will display the font at the specified FontSize
- this has to be carried out programatically.
I need a value that will take into consideration ascenders and descenders, etc.
Update
To clarify, I need the maximum height range for the entire FontFamily
, not the height of some sample text in that font. I do not know what the text will be in advance.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
字体的最大高度范围可以使用其 LineSpacing 属性,它是字体的比例数字。这可用于给出可以容纳特定大小的该字体的所有字形的行高。
结果:
该数字将包含少量的前导,当需要文本行的高度时,这是理想的(以便相邻文本行的上升部分和下降部分有间距)。
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.
Result:
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).
使用 System.Windows.Media.FormattedText 类。
例子:
Use
System.Windows.Media.FormattedText
class.Example: