WPF определение FontSize

3

Я знаю, что в WPF FontSize = 1/96 дюйма (так же, как 1 пиксель, я думаю). Является ли размер FontSize высотой, шириной или диагональным размером символа? Я предполагаю, что это высота шрифта, но документация Microsoft на самом деле не указывает, что это такое.

Кроме того, есть ли простой способ получить высоту и ширину размера шрифта?

Ответ: Таким образом, он выглядит как FontSize - это высота, а ширина может быть определена (без знания фактического символа) только на моноширинных шрифтах, поскольку пропорциональные шрифты имеют разную ширину.

Теги:
wpf
fonts

1 ответ

3
Лучший ответ

Они относятся к размеру шрифта, который используется в Typefaces для Typography.

Вы можете прочитать об этом здесь: Wikipedia: Typeface

Размер шрифтов и шрифтов традиционно измеряется в точках, 2 точка была определена по-разному в разное время, но теперь Наиболее популярной является точка Desktop Publishing 1/72 дюйма (0,0139 дюйма /0,35 мм). Если указано в типографических размерах (точках, кюсе), высота em-квадрата, невидимая коробка, которая обычно немного больше, чем расстояние от самого высокого уровня до самого нижнего спускового устройства, масштабируется до указанного размера. [3 ] Например, при установке Helvetica в 12 точках, квадрат em, определенный в шрифте Helvetica, масштабируется до 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;

  • 0
    Похоже, что FontSize - это действительно высота, а ширину можно определить (не зная фактического символа) для моноширинных шрифтов. Спасибо!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню