Почему шрифт в .NET размером 8 отображается как 8.25?
Вопрос
Когда вы выбираете, например, размер 8 в диалоговом окне Шрифт для Microsoft без засечек, он возвращает шрифт, который .NET отображает как имеющий размер 8.25?
Почему именно это происходит?
Решение
Точка равна 1/72 дюйма, поэтому шрифт должен иметь высоту 8/72 (0,11111) дюйма.Windows предполагает, что стандартный дисплей имеет разрешение 96 точек на дюйм, если только вы не потрудитесь настроить его иначе.Это означает, что он пытается создать шрифт высотой 10.66667 пикселей;он округляется до 11 пикселей.Когда вы преобразуете это обратно в баллы ((11 / 96) * 72), это становится 8,25.
Другие советы
Скорее всего, это связано с тем, как программа сопоставления шрифтов Windows вычисляет размеры шрифта.Существует небольшая разница между высотой пикселей ячеек шрифта и обычными "точками" в 1/72 дюйма.
Более подробная информация здесь: http://msdn.microsoft.com/en-us/library/ms969909.aspx