На що точно перекладається розмір шрифту?


81

У мене є шрифт 40 пікселів, який я намагаюся перетворити на власні зображення. Я намагаюся точно відповідати розміру зображення, але у мене виникають проблеми з отриманням саме потрібного розміру. В основному, це зводиться до цього. Коли шрифт каже, що це X пікселів, що це фізично означає?


у шрифті у нас є термінологія x висоти, ти говориш про те саме ??
Джек

5
Якщо ви вводите документ, зазвичай використовується шрифт 12. Що означає 12?
PearsonArtPhoto

12 = 12pt тип (як правило)
DA01

Відповіді:


67

Це відмінне запитання, на яке є досить незадовільна відповідь.

Розмір типу, будь то вказаний у пікселях, точках (1/72 ") або міліметрах, - це висота em-квадрата, невидимий ящик, який, як правило, трохи більший за відстань від найвищого сходження до найнижчого низхідника.

Враховуючи це дещо довільна міра, яка

  • залежить від точного технічного оформлення шрифту
  • не може бути точно виміряний з друкованого або растрового зразка

це не дуже змістовно чи корисно, крім наближення.

У вашому випадку визначте, який розмір потрібно вказати у Photoshop, щоб відповідати візуалізації браузера шляхом експерименту. Ви повинні вважати, що це постійне співвідношення для будь-якого шрифту, але я б не очікував, що це так, якщо ви зміните браузер або ОС.


49

Час ASCII! Зробіть вигляд, що два поля нижче - це шматки свинцевого типу з 1900 року. Тоді шрифти відливали свинцем (або обкладали деревом). Для того, щоб тип був встановлений у друкарський замок, їх потрібно було з'єднати із суцільними блоками. Тут походить розмірність типу (у точках):

+--------------+  +-------------+  <----+
|              |  |             |       |
|      XX      |  |             |       |
|     X  X     |  |             |       |
|    XX  XX    |  |             |       |
|    XX  XX    |  |     X       |
|    XXXXXX    |  |    X X      |   Point size of the type
|   XX    XX   |  |    XXX      |
|   XX    XX   |  |   X   X     |       |
|  XX      XX  |  |   X   X     |       |
|  XX      XX  |  |             |       |
|              |  |             |       |
+--------------+  +-------------+  <----+

Зверніть увагу, що дві букви вище є різного розміру, але їх обмежувальне поле однакове. Таким чином, з точки зору точок, обидва ці шрифти мають однаковий розмір.

Сьогодні ми не робимо великого типу свинцю та деревини, і більшість із них є цифровими. Однак концепція розміру точки все ще існує в тому, що існує віртуальне поле, що має однакову висоту для кожної літери, на яку розміщено тип. Знову-таки, саме ця віртуальна скринька визначає розмір точки, а не фізичні вимірювання самих літерних форм. Фактичний розмір форм букв часто менший за розмір точки (але може бути і більшим).

Вимірювання типу в пікселях не працює, тому ви можете "встановити" тип пікселів у CSS тощо. Веб-переглядач робить переклад якнайкраще між заявленим розміром px. Але це завжди нечітка оцінка.

Зрештою, немає точного способу отримати дві форми шрифтів, що мають однаковий розмір, не дивлячись на них візуально та змінювати розмір кожної, поки ви не побачите їх як однакові розміри.


У своєму комп’ютері ви обчислюєте "Очки до пікселів", наприклад, цей PX = Points * SystemDPI / 72. DPI у відеосвіті (моніторі) - це чиста довільна величина, введена Apple в 1984 році. Відеопристрої використовують лише пікселі; DPI не існує у світі відео / зображень. Сучасні шрифти базуються на цій концепції, де 1 бал, 1/72 визначається як 1/72 дюйма.

5
@AbdiasSoftware Так, 1 бал в середньому становив 1/72 дюйма, і перший Mac мав екран 72 піп. Але не впевнений, що це стосується поставленого питання чи відповіді, яку я дав. Факт залишається фактом, що шрифти, будь то цифрові або аналогові, мають обмежувальне поле, і що обмежувальне поле - це те, про що йдеться у розмірі.
DA01

41

"Розмір шрифту" шрифту відноситься до "em висоти" шрифту, який не обов'язково такий же, як висота окремих символів шрифту.

Зазвичай висота шрифту дотримується тієї ж основної ідеї - вона буде орієнтовно встановлена ​​на відстань від найнижчого низменника (наприклад, внизу літери g) до найвищого висхідного (наприклад, у верхній частині літери h):

Як бачите, жодна з окремих літер не охоплює цілого проміжку.

У цифрових шрифтах "висота em" шрифту - це вибір, зроблений дизайнером шрифтів, і зовсім не повинен відповідати цій умові: дизайнер цифрового типу може вибрати будь-яку основу для їх розміру. Однак шрифти все ще мають тенденцію дотримуватися, принаймні, приблизно, такого типу конвенції, описаного вище. У старі часи, коли тип складався з металевих блоків, "висота em" була висотою одного з тих блоків, який повинен бути достатньо високим не тільки для будь-якого символу в цьому шрифті, але і для будь-яких підйомів, спусків та наголосів.

Зараз багато сучасних шрифтів включають також наголоси на великі літери (такі як Ć) - ці наголоси виходять за рамки традиційного типографічного сходження, і таким чином (та, можливо, інші спеціальні символи) опиняються поза вершиною "em". З історичних причин ми не коригуємо розмір em, щоб дозволити їх, ми зберігаємо розмір em та просто розширюємо їх - будь-який друкар, що використовує такі наголоси, повинен забезпечити, щоб у них було місця для поширення, хоча зазвичай Рядок рядка адекватний тексту тексту.

Розрив рядка в тексті є простір , залишене між спусковий одним рядком тексту і наголосами лінії під ним - тобто, «розміром шрифту» не включає в себе цей вимір лінії розриву. На нього може впливати поле CSS line-height, де1.4означає, що лінійний проміжок у 0,4 рази перевищує висоту em, і, таким чином, весь текст тексту тіла буде в 1,4 рази більше висоти em, включаючи проміжок лінії. В інших додатках розрив рядків може бути визначений по-різному: текстові процесори часто вказують у вигляді кратного "одиночного" міжрядкового інтервалу, але, на відміну від CSS, зазвичай "одинарний" інтервал не означає не розрив рядка, а деякий рядок "за замовчуванням" пробіл, де програма намагається придумати стандартний файл на основі метаданих у файлі шрифту. Існує кілька стандартів для визначення метрик шрифту (наприклад, у Truetype, існують різні стандарти Mac та Windows / OS2), тому розрив у рядку за замовчуванням може змінюватись між додатками та операційними системами.

Тепер, навіть якщо дизайнер робить в відповідно до передбачуваної конвенцією по їх висоті ем, це ще не говорить вам розмір заголовних букв (капсуль-висота) або розміром говорити з o(х висотами або середньої лінії) , так як вони можуть варіюватися вільно між шрифтами по відношенню до висоти сходження. У сімействі шрифтів вони, як правило, є послідовними. Так, наприклад, Times New Roman Bold та Times New Roman Regular матимуть однакові розміри символів для однакового розміру em, які повинні включати підйоми, спуски, висоту шапки та x-висоту.


2
Так - існують конвенції (наприклад, що вони знаходяться внизу від 'g' до вершини 'h'), але все ще є дисперсія, і формати шрифтів взагалі не залучають дизайнерів до цих конвенцій.
thomasrutter

7

Спробуйте ввести символ вертикальної смуги ('|') і виміряйте це. Якщо я правильно скопіював вашу ситуацію і ваш антиалізинг не надто розмиває її, вона повинна бути 22 пікселів.

22px представляє висоту блоку типу. Але кожен персонаж заповнює блок по-різному. 'G' або 'q' займатимуть нижню область цього 22px, тоді як великі літери та малі літери, такі як 'b' або 'd', будуть займати верхні частини. '|' це одна з єдиного (якщо не тільки) символу , який буде повністю заповнити 22px простір.

Я не знаю, як порівняти ваші налаштування CSS, але це пояснює, як Photoshop інтерпретує висоту тексту.


1
Крім того, ви можете встановити два шрифти однакового розміру, і ви часто бачите, що самі форми букв не є. Вони просто мають однаковий розмір «блоку».
DA01

3
Труба не завжди заповнює загальний відведений простір. Це виключно уподобання дизайнера типу. Він часто відповідає верхній частині висхідних і нижній частині спусків, але навіть тоді відведений для персонажів простір все ще може бути значно більшим.
DA01

2
Символ вертикальної смуги не завжди дорівнює розміру em (наприклад, "повна висота") шрифту, ні. Насправді зазвичай це буде менше.
thomasrutter

2
Вертикальні символи, що малюють коробку, теоретично повинні покривати всю висоту em (і, ймовірно, перекривати її невеликою кількістю). Але дуже мало шрифтів містять цих символів. Звичайна вертикальна смуга ( |) зазвичай НЕ дорівнює розміру em. Він навіть не робить цього в основних шрифтах Microsoft (Arial, Georgia тощо).
thomasrutter

2
Символ вертикальної смуги не заповнює всю висоту. Наголоси для великих літер, наприклад "Á", розташовуються вище. Порівняйте себе: "Á" "|"
znq

0

Ви впевнені, що ваш шрифт вимірюється в пікселях? Більшість шрифтів часу вимірюється в балах. Точка становить 1/72 дюйма. Тож шрифт 40 pt має висоту 40/72 "або 5/9". Кікер полягає в тому, що це розмір від вершини східців високими літерами до низу спусків на літерах, які висять нижче базової лінії. Ось чому іноді використовується висота x, як згадувалося вище. Це висота малих літер, які не стикаються вгору або вниз.

Так чи інакше, на жаль, вимірювання ніколи не є точними. Вам просто доведеться здійснити вимірювання та фігурування (та / або пробну помилку), щоб виконати те, що ви намагаєтесь.


Але точки стосуються лише фізичного типу (друковані, різьблені, гравіровані тощо).
e100

Не зовсім коректно. Тип не вимірюється від вершини східців до низу спусків, а, скоріше, вимірюється обмежувальним вікном, який може або не може співвідноситися з висотою сходження / спуску. Це сходить до часів свинцю та деревини, де тип був поставлений на блок. Саме висота цього блоку диктувала, який розмір маркується типом. Таким чином, два шрифти, обидва встановлені в 12pt, можуть мати дуже різні розміри порівняно один з одним. (Я не буду вникати в той факт, що 1pt традиційно не становить 1/72 дюйма ...;)
DA01
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.