Размер шрифта. О чем я могу быть уверен?
Что означает размер шрифта?
Возьмем CSS. У меня font-size
, где я могу указать число в pixels
, points
и т.д.
Итак, что означает 12px
? А что означает 20pt
? Является ли это максимальной шириной символа, является ли она минимальной, является ли она максимальной высотой?
Могу ли я точно знать, что 5 символов font-size: 10px
будут иметь не более 50px
, не менее того, или точно такую ширину?
Ответы
Ответ 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 пикселей.
Мы видим, что (по крайней мере, для этих шрифтов, помните: никаких гарантий) размер может быть ассимилирован до "номинальной высоты", который охватывает потомков и потомков большинства (но не обязательно всех) общих символов.
Ответ 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))) ...