Ссылки на локальные шрифты

#html #css #fonts #webfonts

#HTML #css #шрифты #веб-шрифты

Вопрос:

Обычно я вижу, как люди делают что-то вроде этого:

  font-family: -apple-system, ...., Tahoma, ..., or whatever other system font
 

Теперь, если мы добавим шрифт из Google Fonts или где-либо еще, мы получим большой

  @font-face {
      font-family: name;
      src: url() or local(NameWeight-Type), local(Name Weight Type), ......
      font-style: style corresponding to "-Type"
      font-weight: weight corresponding to named Weight of font
}
 

включение со всеми выбранными через платформу для встраивания или получение встраивания по запросу от самой платформы.

С локальными шрифтами это все еще необходимо? Значение, если я сделаю:

  font-family: local font 1, local font 2, ....;
 

как указано выше в стереотипном «системном стеке шрифтов» с множеством весов шрифтов, стилей и т. Д. По всему сайту, Мне все еще нужно явно определять или браузер просто использует font-synthesis их для создания?

Я не понимаю, как он ссылается на соответствующие файлы без этого. Кроме того, как system-ui , system , ui-sans-serif , ui-serif , …. детерминирован таким образом?

Комментарии:

1. system-ui просто спросите «систему», какой шрифт используется «пользовательским интерфейсом», и заполните этот шрифт. Аналогичное поведение для ui- общих имен шрифтов с префиксами. Итак, это так же детерминировано, как и системная ОС.

2. @HereticMonkey Да, я в курсе этого…. Я спрашивал больше в соответствии с ответом Роберта Каробинса. Детерминированный в смысле сопоставления вариантов шрифтов, а не того, какое (общее) семейство шрифтов заполняется, поскольку всегда есть детерминированный системный шрифт для заполнения. Но, учитывая это, я думаю, имеет смысл, что браузер также может обрабатывать сопоставления с соответствующими шрифтами и стилями, поскольку на них ссылаются в других стилях.

Ответ №1:

Если вы используете локальный шрифт, то нет необходимости включать дополнительные веса / стили, если они обычно привязаны к базовому шрифту. Если другие приложения могут выяснить, как сделать шрифт жирным / курсивным / любым другим, то и ваш браузер сможет это сделать.

Обратите внимание, что это относится только к локальным шрифтам. Вашему браузеру требуется дополнительная спецификация для шрифтов, размещенных удаленно, потому что система шрифтов вашего компьютера не сможет «помочь» этому.

Комментарии:

1. Имеет смысл. Копаем глубже…. Давайте возьмем системный шрифт, подобный этому: /usr/share/fonts/wenquanyi/wqy-zenhei/wqy-zenhei.ttc: WenQuanYi Zen Hei Mono,文泉驛等寬正黑,文泉驿等宽正黑:style=Regular в Arch Linux. Второй явно является локальным вариантом (с точки зрения языка), так правильно ли делать local(english name) , local(other name) , ….? Мне кажется, что это может привести к ошибкам, если в рассматриваемой системе нет правильных сопоставлений шрифтов. Я, конечно, могу легко представить системы, в которых ссылаются только на локальное имя, а не на полные сопоставления i18n в системе шрифтов….

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

3. Согласен для простых сайтов. Но для i18n / CJK это необходимо. Файлы шрифтов имеют большой размер (2-3 МБ на вес ), поэтому … 10 МБ . Следовательно, почему стеки i18n полагаются на системные шрифты так же, как стеки emoji. Для смайликов…. Кого это волнует? У вас нет соображений «шрифт». Это просто цвет и не имеет значения. Для i18n… как вы заявили, все становится сложнее. В последнем случае, который может быть ошибочным, как описано, я бы также поставил под сомнение сопоставления весов и т. Д. Теоретически, как вы заявили, должно быть хорошо, если система шрифтов надежна, что является большим, если. Даже подстановка внешних шрифтов в большинстве случаев является «нет».

4. В качестве реального конкретного примера с помощью быстрого поиска. Стек локальных шрифтов для японского языка: font-family : 'ヒラギノ角ゴ ProN' , 'Hiragino Kaku Gothic ProN' , '游ゴシック' , '游ゴシック体' , YuGothic , 'Yu Gothic' , 'メイリオ' , Meiryo , 'MS ゴシック' , 'MS Gothic' , HiraKakuProN-W3 , 'TakaoExゴシック' , TakaoExGothic , 'MotoyaLCedar' , 'Droid Sans Japanese' , sans-serif;

5. Да, я не рассматривал смайлики. Честно говоря, 10 МБ не кажутся такими уж большими, особенно учитывая, что шрифт будет кэшироваться. Конечно, у вас могут быть особые обстоятельства, когда вам нужно особенно внимательно относиться к размеру загрузки. В любом случае, похоже, вам нужно выбрать свой яд: либо возиться font-synthesis и подвергать себя риску неправильной настройки устройства пользователя, либо заставить пользователя использовать больший размер загрузки.

Ответ №2:

если вы работаете с Visual Studio, вы можете просто перетащить его на кодовую страницу css, она покажет вам название семейства шрифтов

Комментарии:

1. Это не то, что было задано, и это не ответ. Это также основано на предположениях, которые не имеют отношения к делу…..

2. я также могу видеть ваше имя idk, если я правильно его прочитал, обезьяна