字体的宽度或字母的字母

时间:2015-05-12 07:03:26

标签: wpf typeface

我想知道特定字母的特定字母或字母的宽度(单位)是多少。

例如,如果我在Arial 10 pnts中键入A,它将在面板或文本框或记事本中占用多少空间。

1 个答案:

答案 0 :(得分:0)

我不会过分担心宽度,而是将它留给WPF,以便在我正在使用的任何控件中很好地格式化文本。

但是,我认为您可以使用字体和字符串"A"(以及其他内容)创建FormattedText对象,然后使用其MinWidth属性以单位为单位获取宽度 1 / 96th

此代码有望帮助您入门:

FormattedText ft = new FormattedText(
    "A",
    CultureInfo.GetCultureInfo("en-us"),
    FlowDirection.LeftToRight,
    new Typeface("Arial"),
    32,
    Brushes.Black);
double width = ft.MinWidth;

在我的系统上,将width设置为大约21.343。如果你将em-dash 放在A当前所在的位置,你得到(正如预期的那样)32.0,你在{{的第五个参数中为em指定的大小1}}构造函数。