Come utilizzare il nuovo font San Francisco di Apple su una pagina web


114

Vorrei utilizzare il nuovo carattere San Francisco su un sito. Ho provato:

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

inutilmente. Ho provato le risposte a questa domanda , ma @font-facenon è la soluzione qui.


1
I caratteri del sito Web dipendono da ciò che è installato nel sistema dell'utente o vengono caricati esternamente. È roba piuttosto semplice, soprattutto se il carattere è reso disponibile per l'uso.
Sparky

Risposte:


210

Il nuovo font di sistema di Apple non è pubblicamente esposto. Apple ha iniziato ad astrarre i nomi dei font di sistema:

La motivazione di questa astrazione è che il sistema operativo può fare scelte migliori su quale faccia utilizzare a un dato peso. Apple sta anche lavorando sulle caratteristiche dei caratteri, come glifi selezionabili "6" e "9" o numeri non a spaziatura fissa. Suppongo che vorrebbero portare queste funzionalità anche sul Web.

Safari e Firefox utilizzano SF per -apple-system; Chrome riconosce BlinkMacSystemFont:

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

Esistono anche altre varianti:

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

Puoi dimostrarli nel seguente violino; la maggior parte non è ancora supportata: http://jsfiddle.net/v94gw9nx/

Ho ricevuto le mie informazioni dall'articolo di Craig Hockenberry che contiene molte ottime informazioni sull'utilizzo del carattere: http://furbo.org/2015/07/09/i-left-my-system-fonts-in-san-francisco/

Inoltre, alcune ottime informazioni sul blog Safari di Surfin sull'uso di caratteri di sistema astratti: https://www.webkit.org/blog/3709/using-the-system-font-in-web-content/

E a quanto pare Apple sta lavorando con il W3C per standardizzare utilizzando un nome di carattere "di sistema" generico nei CSS. https://lists.w3.org/Archives/Public/www-style/2015Jul/0169.html

Scarica i file .otf dei font SF per uso personale: https://developer.apple.com/fonts/


oppure puoi semplicemente usare nomi di caratteri comeSanFranciscoText-Regular

4
Se sono necessari numeri a spaziatura fissa per la visualizzazione in tabella, lo -apple-systemsupporta anche tramite CSS font-variant-numeric: tabular-nums;.
Palimondo

@ j08691, Qual è la licenza?
Pacerier

1
@BryanBryce Quello è stato un trucco per El Cap. Non funziona più, penso che si chiami .SF NS Texte .SF NS Displayora, ma non dovresti usarli. Lo userei -apple-system. SF Text/ SF Profunziona solo se hai il font installato manualmente.

1
Apparentemente -system-uiè il nuovo modo standard su Chrome e Safari. (Non volevo rubare credito alla tua fantastica risposta, quindi lo metto nei commenti. Furbo.org/2018/03/28/system-fonts-in-css )
Wil Shipley,

65

Nessuna delle risposte attuali, inclusa quella accettata , utilizzerà il carattere San Francisco di Apple su sistemi che non lo hanno installato come carattere di sistema. Poiché la domanda non è "come posso utilizzare il carattere di sistema OS X su una pagina Web", la soluzione corretta è utilizzare i caratteri Web:

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

fonte


3
Se qualcuno ne volesse uno audace: sanfranciscodisplay-bold-webfont.woff
Snow Bases

11
Nota: questa risposta viola i termini della licenza dei font di Apple , che affermano che "[...] puoi utilizzare il font Apple esclusivamente per creare modelli di interfacce utente da utilizzare in prodotti software in esecuzione su iOS, iPadOS, macOS o tvOS di Apple sistemi operativi, a seconda dei casi " .
Teh

36

Ultima volta testato: marzo 2018


Per rispondere alla domanda

Come utilizzare il nuovo font San Francisco di Apple su una pagina web

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

o (anche più breve):

font-family: -apple-system, BlinkMacSystemFont;

dovrebbe essere sufficiente.

Se si desidera impostare il carattere di sistema predefinito su più piattaforme, tuttavia, suggerirei:

font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, Ubuntu;
  • -apple-system- San Francisco in Safari (su Mac OS X e iOS); Neue Helvetica e Lucida Grande su versioni precedenti di Mac OS X.
  • system-ui - carattere dell'interfaccia utente predefinito su una determinata piattaforma.
  • BlinkMacSystemFont- equivalente a -apple-system, per Chrome su Mac OS X.
  • "Segoe UI" - Windows (Vista +) e Windows Phone.
  • Roboto - Android (Ice Cream Sandwich (4.0) +) e Chrome OS.
  • Ubuntu - tutte le versioni di Ubuntu.

L'idea è stata presa in prestito dal seguente numero su GitHub .

Puoi cercare i caratteri per altri sistemi operativi o versioni precedenti di essi in questo articolo sui trucchi css .


Sei sicuro che questa sia effettivamente San Francisco che viene utilizzata per il rendering su iOS? Su iOS 12 (Simulator) non sembra; su iOS 13 sembra, ma non tutti i glifi sono disponibili .
Fabien Snauwaert,

@FabienSnauwaert, no, non sono sicuro di iOS 12 e 13. Ecco perché ho aggiunto la data all'inizio della risposta (cioè la risposta ha più di 2 anni ora ed è stata pubblicata prima che iOS 12 fosse persino annunciato).

26

-apple-system ti permette di scegliere San Francisco in Safari. BlinkMacSystemFont è l'alternativa corrispondente per Chrome.

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

Roboto o Helvetica Neue potrebbero essere inseriti come fallback anche prima del sans-serif.

https://www.smashingmagazine.com/2015/11/using-system-ui-fonts-practical-guide/#details-of-approach-a (come o in precedenza http://furbo.org/2015/07/ 09 / i-left-my-system-fonts-in-san-francisco / faccio un ottimo lavoro spiegando i dettagli.


10

Se l'utente esegue El Capitan o versioni successive, funzionerà in Chrome con

font-family: 'BlinkMacSystemFont';

3
Hai un link a qualche documentazione ufficiale (o di altro tipo) su questo?
Moshe Katz

4

Apple sta astraggendo i caratteri di sistema in futuro. Questa struttura utilizza un nuovo nome di famiglia generico -apple-system. Quindi qualcosa come sotto dovrebbe darti quello che vuoi.

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

E la tela HTML?
clearlight

4

Questo è un aggiornamento a questa domanda piuttosto vecchia. Volevo utilizzare i nuovi caratteri SF Pro su un sito Web e non ho trovato alcun CDN di caratteri, oltre a quelli sopra indicati (appleocial.s3.amazonaws.com).

Chiaramente, questo non è un repository di contenuti ufficiale approvato da Apple. In realtà, non ho trovato NESSUN repository ufficiale di caratteri che serva caratteri Apple, pronti per essere utilizzati dagli sviluppatori web.

E c'è un motivo: se leggi il contratto di licenza fornito con il download del nuovo SF Pro e di altri font da https://developer.apple.com/fonts/ , nei primi paragrafi si afferma molto chiaramente:

[...] puoi utilizzare il carattere Apple esclusivamente per la creazione di modelli di interfacce utente da utilizzare in prodotti software in esecuzione sui sistemi operativi iOS, macOS o tvOS di Apple, a seconda dei casi. Il diritto di cui sopra include il diritto di mostrare il carattere Apple in schermate, immagini, modelli o altre rappresentazioni, digitali e / o stampate, di tali prodotti software in esecuzione esclusivamente su iOS, macOS o tvOS. [...]

E:

Ad eccezione di quanto espressamente previsto nel presente documento, non puoi utilizzare il carattere Apple per creare, sviluppare, visualizzare o distribuire in altro modo documentazione, grafica, contenuto del sito Web o qualsiasi altro prodotto di lavoro.

Ulteriore:

Salvo quanto diversamente espressamente consentito [...] (i) solo un utente alla volta può utilizzare il carattere Apple e (ii) l'utente non può rendere disponibile il carattere Apple su una rete in cui potrebbe essere eseguito o utilizzato da più computer allo stesso tempo.

Niente più domande per me. Apple chiaramente non vuole che i propri font siano condivisi sul Web al di fuori dei propri prodotti.


3
Nella risposta accettata puoi vedere che non stiamo servendo i webfont di Apple, stiamo dicendo al browser di utilizzare il font di sistema Apple, che attualmente è SF. Certamente non puoi servire SFPro, ma puoi specificare che sia utilizzato per le persone con dispositivi Apple.
inorganik

4

Non è possibile utilizzare il carattere di sistema Apple servito direttamente da un database. È contro la licenza, ma puoi usarlo per sistemi Mac superiori a High Sierra

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

Oppure puoi usare questo:

font-family: 'BlinkMacSystemFont';

2

Ultimo test nel 2015

Dovrebbe usare questa soluzione come ultima scelta, quando altre soluzioni non funzionano.


Risposta originale:

Lavora su macOS Chrome / Safari

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

1
Un blocco di codice da solo non fornisce una buona risposta. Si prega di aggiungere spiegazioni.
Louis Barranqueiro

1
Questo è l'unico che ha funzionato per me su un foglio di stile della sintassi Atom.
Kai

2
Nota che questo non funziona in iOS mentre -apple-system, 'BlinkMacSystemFont'funziona in iOS Chrome + Safari e OS X Chrome + Safari.
Charlie Schliesser

1
Inoltre, devo sottolineare che il motivo per cui questo non funziona su iOS è perché i caratteri di sistema iniziano con .SFNS su macOS mentre iniziano con .SFUI su iOS. Se devi assolutamente farlo per qualche motivo, questo risolverebbe il problema ... ma non farlo!
Jonathan Thornton

1
grazie, l'ho applicato al font SF e funziona alla grande. Il problema con -apple-system viene applicato a tutti i contenuti e sovrascrive lo stile della famiglia di caratteri.
Hardik Darji
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.