Как использовать новый шрифт Apple San Francisco на веб-странице


114

Я хотел бы использовать новый шрифт San Francisco на своем сайте. Я пробовал:

font: 'San Francisco', Helvetica, Arial, san-serif;

но безрезультатно. Я пробовал ответы на этот вопрос , но @font-faceэто не решение.


1
Шрифты веб-сайтов либо зависят от того, что установлено в системе пользователя, либо загружаются извне. Это довольно просто, особенно если шрифт доступен для использования.
Спарки

Ответы:


210

Новый системный шрифт Apple не публикуется. Apple начала абстрагировать имена системных шрифтов:

Мотивация для этой абстракции заключается в том, чтобы операционная система могла лучше выбирать, какую грань использовать при заданном весе. Apple также работает над функциями шрифтов, такими как выбираемые глифы «6 ″ и« 9 ″ или немоноширинные числа. Я предполагаю, что они также хотели бы перенести эти функции в Интернет.

Safari и Firefox используют SF для -apple-system; Chrome распознает BlinkMacSystemFont:

body {
    font-family: -apple-system, BlinkMacSystemFont, sans-serif;
}

Есть и другие варианты:

font-family: -apple-system-body
font-family: -apple-system-headline
font-family: -apple-system-subheadline
font-family: -apple-system-caption1
font-family: -apple-system-caption2
font-family: -apple-system-footnote
font-family: -apple-system-short-body
font-family: -apple-system-short-headline
font-family: -apple-system-short-subheadline
font-family: -apple-system-short-caption1
font-family: -apple-system-short-footnote
font-family: -apple-system-tall-body

Вы можете продемонстрировать их на следующей скрипке; большинство из них еще не поддерживаются: http://jsfiddle.net/v94gw9nx/

Я получил информацию из статьи Крейга Хоккенберри, в которой есть много полезной информации об использовании шрифта: http://furbo.org/2015/07/09/i-left-my-system-fonts-in-san-francisco/

Также есть отличная информация в блоге Surfin 'Safari об использовании абстрактных системных шрифтов: https://www.webkit.org/blog/3709/using-the-system-font-in-web-content/

И, очевидно, Apple работает с W3C над стандартизацией использования общего «системного» имени шрифта в CSS. https://lists.w3.org/Archives/Public/www-style/2015Jul/0169.html

Загрузите файлы шрифтов SF .otf для личного использования: https://developer.apple.com/fonts/


или вы можете просто использовать названия шрифтов, напримерSanFranciscoText-Regular

4
Если вам нужны моноширинные числа для отображения в таблице, это -apple-systemтакже поддерживается через CSS font-variant-numeric: tabular-nums;.
Палимондо

@ j08691, какая лицензия?
Pacerier

1
@BryanBryce Это была хитрость для Эль Кэпа. Это больше не работает, я думаю, это называется .SF NS Textи .SF NS Displayсейчас, но вы не должны их использовать. Я бы использовал -apple-system. SF Text/ SF Proработать, только если у вас установлен шрифт вручную.

1
По-видимому, -system-uiэто новый стандартный способ в Chrome и Safari. (Я не хотел украсть ваш замечательный ответ, поэтому просто помещаю его в комментарии. Furbo.org/2018/03/28/system-fonts-in-css )
Вил Шипли,

65

Ни один из текущих ответов, включая принятый, не будет использовать шрифт Apple San Francisco в системах, в которых он не установлен в качестве системного шрифта. Поскольку вопрос заключается не в том, «как использовать системный шрифт OS X на веб-странице», правильным решением является использование веб-шрифтов:

@font-face {
  font-family: "San Francisco";
  font-weight: 400;
  src: url("https://applesocial.s3.amazonaws.com/assets/styles/fonts/sanfrancisco/sanfranciscodisplay-regular-webfont.woff");
}

Источник


3
Если кому-то нужен смелый: sanfranciscodisplay-bold-webfont.woff
Snow Bases

11
Примечание: этот ответ нарушает условия лицензии на шрифты Apple, в которых говорится, что «[...] вы можете использовать шрифт Apple Font исключительно для создания макетов пользовательских интерфейсов, которые будут использоваться в программных продуктах, работающих на iOS, iPadOS, macOS или tvOS от Apple. операционные системы, если применимо " .
Teh

36

Последний раз тестировался: март 2018 г.


Чтобы ответить на вопрос

Как использовать новый шрифт Apple San Francisco на веб-странице

font-family: -apple-system, system-ui, BlinkMacSystemFont;

или (даже короче):

font-family: -apple-system, BlinkMacSystemFont;

должно хватить.

Если вы хотите по умолчанию использовать системный шрифт на нескольких платформах, я бы посоветовал:

font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, Ubuntu;
  • -apple-system- Сан-Франциско в Safari (на Mac OS X и iOS); Neue Helvetica и Lucida Grande в более старых версиях Mac OS X.
  • system-ui - шрифт пользовательского интерфейса по умолчанию на данной платформе.
  • BlinkMacSystemFont- эквивалент -apple-systemдля Chrome в Mac OS X.
  • "Segoe UI" - Windows (Vista +) и Windows Phone.
  • Roboto - Android (Ice Cream Sandwich (4.0) +) и Chrome OS.
  • Ubuntu - все версии Ubuntu.

Идея позаимствована из следующего выпуска на github .

Вы можете найти шрифты для других ОС или их более старых версий в этой статье о css-трюках .


Вы уверены, что это действительно Сан-Франциско , который используется для рендеринга на iOS? На iOS 12 (Симулятор) не похоже; на iOS 13 похоже, но не все глифы доступны .
Фабьен Снауверт,

@FabienSnauwaert, нет, я не уверен насчет iOS 12 и 13. Вот почему я добавил дату в верхнюю часть ответа (то есть ответу уже более двух лет, и он был опубликован до того, как iOS 12 была объявлена).

26

-apple-system позволяет выбрать Сан-Франциско в Safari. BlinkMacSystemFont - соответствующая альтернатива для Chrome.

font-family: -apple-system, BlinkMacSystemFont, sans-serif;

Roboto или Helvetica Neue можно было вставить в качестве запасных вариантов даже до шрифта без засечек.

https://www.smashingmagazine.com/2015/11/using-system-ui-fonts-practical-guide/#details-of-approach-a (как или ранее http://furbo.org/2015/07/ 09 / i-left-my-system-fonts-in-san-francisco / отлично объяснили детали.


10

Если пользователь использует El Capitan или выше, он будет работать в Chrome с

font-family: 'BlinkMacSystemFont';

3
У вас есть ссылка на какую-либо официальную (или другую) документацию по этому поводу?
Моше Кац

4

Apple абстрагируется от системных шрифтов в будущем. Это средство использует новое родовое название семейства -apple-system. Таким образом, что-то вроде ниже должно дать вам то, что вы хотите.

body 
{
  font-family: -apple-system, "Helvetica Neue", "Lucida Grande";
}

А как насчет холста HTML?
clearlight 02

4

Это обновление этого довольно старого вопроса. Я хотел использовать новые шрифты SF Pro на веб-сайте и не нашел CDN шрифтов, кроме отмеченного выше (applesocial.s3.amazonaws.com).

Ясно, что это не официальный репозиторий контента, одобренный Apple. На самом деле, я не нашел НИКАКОГО официального репозитория шрифтов, обслуживающего шрифты Apple, готового к использованию веб-разработчиками.

И есть причина - если вы читаете лицензионное соглашение, которое поставляется с загрузкой нового SF Pro и других шрифтов с https://developer.apple.com/fonts/ - в первых нескольких абзацах очень четко указано:

[...] вы можете использовать шрифт Apple Font исключительно для создания макетов пользовательских интерфейсов, которые будут использоваться в программных продуктах, работающих на операционных системах Apple iOS, macOS или tvOS, в зависимости от обстоятельств. Вышеупомянутое право включает в себя право показывать шрифт Apple Font на снимках экрана, изображениях, макетах или других изображениях, в цифровом и / или печатном виде, таких программных продуктов, работающих исключительно на iOS, macOS или tvOS. [...]

И:

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

Дальше:

За исключением случаев, когда прямо разрешено иное [...] (i) только один пользователь может использовать шрифт Apple Font одновременно, и (ii) вы не можете делать Apple Font доступным по сети, где он может запускаться или использоваться на нескольких компьютерах. в то же время.

Ко мне больше нет вопросов. Apple явно не хочет, чтобы их шрифты распространялись в сети за пределами их продуктов.


3
В принятом ответе вы можете видеть, что мы не обслуживаем веб-шрифты Apple, мы говорим браузеру использовать системный шрифт Apple, которым в настоящее время является SF. Вы, конечно, не можете обслуживать SFPro, но вы можете указать, что он будет использоваться для людей с устройствами Apple.
inorganik

4

Вы не можете использовать системный шрифт Apple, обслуживаемый непосредственно из базы данных. Это противоречит лицензии, но вы можете использовать это для Mac систем выше, чем High Sierra.

body 
{
  font-family: -apple-system, "Helvetica Neue", "Lucida Grande";
}

Или вы можете использовать это:

font-family: 'BlinkMacSystemFont';

2

Последнее тестирование в 2015 г.

Следует использовать это решение как последний выбор, когда другие решения не работают.


Оригинальный ответ:

Работайте в macOS Chrome / Safari

body { font-family: '.SFNSDisplay-Regular', sans-serif; }

1
Один только блок кода не дает хорошего ответа. Добавьте пояснения.
Луи Барранкейро,

1
Это единственный метод, который работал у меня с таблицей стилей синтаксиса Atom.
Кай

2
Обратите внимание, что это не работает в iOS, но -apple-system, 'BlinkMacSystemFont'работает в iOS Chrome + Safari и OS X Chrome + Safari.
Чарли Шлиссер,

1
Кроме того, я должен указать, что причина того, что это не работает на iOS, заключается в том, что системные шрифты начинаются с .SFNS в macOS, а в iOS они начинаются с .SFUI. Если вам абсолютно необходимо это сделать по какой-то причине, это исправит ... но не делайте этого!
Джонатан Торнтон

1
спасибо, я применил его к шрифту SF и отлично работает. Проблема с -apple-system применяется ко всему контенту и отменяет стиль семейства шрифтов.
Hardik Darji 08
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.