Подтвердить что ты не робот

Размер шрифта. О чем я могу быть уверен?

Что означает размер шрифта?
Возьмем CSS. У меня font-size, где я могу указать число в pixels, points и т.д.

Итак, что означает 12px? А что означает 20pt? Является ли это максимальной шириной символа, является ли она минимальной, является ли она максимальной высотой?
Могу ли я точно знать, что 5 символов font-size: 10px будут иметь не более 50px, не менее того, или точно такую ​​ширину?

4b9b3361

Ответ 1

Обычно размер шрифта определяется в пикселях= px или пунктах= pt

Примечание: 72 pt равно одному дюйму = 2,54 см

Разрешение экрана определяется в px. Очевидно, что чем больше пикселей на мониторе равных размеров, тем меньше каждый пиксель и, следовательно, чем меньше размер шрифта, если размер шрифта определяется в px.

Итак, Whats the Difference?

Его легко понять разницу между единицами размера шрифта, когда вы видите их в действии. Как правило, 1em = 12pt = 16px = 100%. При использовании этих размеров шрифта, давайте посмотрим, что произойдет, когда вы увеличите размер базового шрифта (используя селектор CSS тела) от 100% до 120%.

enter image description here

Как вы можете видеть, и размеры em, и процентов становятся больше по мере увеличения базового размера шрифта, но пиксели и точки нет. Можно легко установить абсолютный размер для вашего текста, но гораздо проще у ваших посетителей использовать масштабируемый текст, который может отображаться на любом устройстве или на любой машине. По этой причине предпочтительными для текста веб-документа являются em и проценты.

Источник: http://kyleschaeffer.com/best-practices/css-font-size-em-vs-px-vs-pt-vs/

Ответ 2

Каждый шрифт имеет внутренний масштаб, по которому глифы рисуются относительно. Это произвольно и зависит от дизайнера шрифтов. Буква "М" может иметь внутреннюю высоту 0,5, 1 или 700 внутренних единиц.

При размере 10px один внутренний блок шрифта = 10px.

В зависимости от дизайна шрифта это может отображать глифы любого размера без ограничений.

  • Q. Является ли это максимальной шириной символа?
  • A. Нет
  • Q. это минимальный?
  • A. Нет
  • Q. это максимальная высота?
  • A. Нет
  • Q. Я точно знаю, что 5 символов шрифта: 10 пикселей будут иметь не более 50 пикселей?
  • A. Нет
  • Q. не менее чем?
  • A. Нет
  • Q. точно такой ширины?
  • A. Нет
  • Q. Это x-высота?
  • A. Нет

Ответ 3

Как говорили другие ответы, нет никаких гарантий, но нам часто нужно приблизительное эмпирическое правило. Эмпирически: вот три истинных шрифта, на 120 пикселей. Серые блоки соответствуют span, отображаемым в Chrome (padding = 0), наложенные красные прямоугольники имеют высоту 120 пикселей.

enter image description here Мы видим, что (по крайней мере, для этих шрифтов, помните: никаких гарантий) размер может быть ассимилирован до "номинальной высоты", который охватывает потомков и потомков большинства (но не обязательно всех) общих символов.

Ответ 4

В соответствии с рекомендацией W3 pt обычно используется для печати, а px - для экрана.

Но вещь CSS px не обязательно является фактическим пикселем экрана. Это очевидно, когда речь заходит о мобильных устройствах, которые имеют шкалу пикселей по умолчанию, отличную от 1-к-1.

Посмотрите эту статью для более подробной информации.

Обычно для сайтов вы должны установить размер базового шрифта в px и последующие размеры для разных элементов с помощью em.

Ответ 5

Хорошо... все уже объяснили, что означают единицы, поэтому единственное, на что нужно ответить, - это где и где измерить. Мое предположение было бы от самой низкой до самой высокой возможной точки всех символов в том шрифте, который вы используете. То есть, от высоты "высоты" до "высоты спуска" в этой статье: Wiki - Typeface

Ответ 6

Это сильно зависит от используемого вами шрифта. Возьмите шрифт SO по умолчанию, например: 10 'м шире 10' i: мммммммммм iiiiiiiiii

Но объявив его "кодом", мы получим так называемый моноширинный шрифт, где обе имеют одинаковую ширину:

mmmmmmmmmm
iiiiiiiiii

И даже здесь отношение высоты к ширине зависит от шрифта.

Таким образом, ваш определенный ответ будет следующим: Нет. Вы не можете точно сказать.

Ответ 7

pt = point (1 pt совпадает с 1/72 дюйма)

px = пиксели (точка на экране компьютера)

Ответ 8

Попробуйте, если это calc может быть полезно

Кроме того, в куске кода (для отображения рисунка графики/текста, а затем его печати) я использовал два независимых направления для выполнения кода: один для случая печати, другой для отображения.

  • Все в pt. Чтобы преобразовать входные данные в cm в pt, я использовал:

    double mesUnitCm = 1 / 2.54 * 72; // pt in 1 cm.
    
  • Расчет размера окна дисплея отличается от случая печати, поскольку они зависят от разрешения экрана, масштабирования рисунка на экране и т.д. Затем вы получаете количество отображаемых очков, которые соответствуют размеру 1 см на печатной странице:

    double in1cm = a.pageFormat.getImageableHeight() / yourPatternSizeInCm;
    
  • Масштаб отображаемого может быть рассчитан как:

    double scale = in1cm / mesUnitCm;
    
  • Чтобы перемасштабировать шрифт, вы получите его номер размера (то есть в pt) и измените его размер с помощью коэффициента масштабирования:

    ... (TextAttribute.FONT, Font.decode(myFontName + "-" + myFontStyle + "-" + (int) (myFontSize * scale))) ...