Как рассчитать высоту x, то есть ex объекта Font? - PullRequest
5 голосов
/ 28 октября 2010

x-высота - это метрика шрифта, которая дается в терминах em-высоты, и составляет примерно 0,48 от em, но это зависит от шрифта ...

В CSS эти две единицы доступны, меня интересует бывшая единица. Существует также единица em, такая, что единица ex дана в терминах ее.

В следующей таблице приведены некоторые метрики, доступные на следующем сайте:

http://www.cs.tut.fi/~jkorpela/x-height.html

Arial               0.519
Arial Unicode MS    0.518
Calibri             0.466
Cambria             0.466
Candara             0.463
Code2000            0.444
Comics Sans MS      0.532
Courier             0.425
Courier New         0.423
Garamond            0.384
Georgia             0.481
Helvetica           0.523
Tahoma              0.545
Times New Roman     0.448
Trebuchet MS        0.523
Verdana             0.545

Я хочу знать высоту x данного объекта Font в C #. Я получаю высоту М вот так:

TextRenderer.MeasureText("M", font).Height

Но я не могу понять, как получить х-высоту.

Использование WinAPI допустимо. Неважно, как это делают браузеры. Они знают, как рассчитать бывшее значение, я хочу знать, как получить это значение тоже. Пожалуйста, помогите !!

Спасибо.

Схожий вопрос, который помогает конвертировать Шрифт для гарнитуры:

Как преобразовать System.Drawing.font в System.Windows.Media.Fonts или Typeface

1 Ответ

2 голосов
/ 29 октября 2010

Проверьте класс GlyphTypeface или Класс FamilyTypeface .

...