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.