HervéRenault.fr

Logo non-officiel de JavaScript

Savoir quand toutes les fontes sont chargées

Avec les fontes téléchargées popularisées par Google Fonts, on a vu apparaître des Flashes Of Unstyled Text (variante du FOUC) parce qu'il n'est pas toujours facile ou possible de trouver une fonte de repli qui s'approche suffisamment de la fonte téléchargée souhaitée, et parce que le téléchargement entraine forcément un temps de réponse parfois un peu long 🥱

Heureusement, ces dernières années une nouvelle API a été créée, FontFaceSet, qui permet de savoir quand toutes les fontes sont chargées (ready) ou bien si une fonte particulière est chargée (check)

Voici un exemple pour déclencher une action lorsque toutes les fontes sont chargées. Il utilise une Promise d'ECMAScript 6 donc ça ne fonctionne pas dans IE11 (on peut néanmoins éviter de le faire planter). Ça fonctionne dans Safari 14, mais pas dans Safari 12 (je ne sais pas pour la version 13). Ça fonctionne dans Chrome, Edge, et Firefox à l'heure où j'écris.

J'ai ralenti de 5 secondes (en PHP) le chargement de la fonte "Mochiy Pop P One" qui s'appliquera au deuxième exemplaire du Pangramme ci-dessous :

n° 1

Portez ce vieux whisky au juge blond qui fume

n° 2

Portez ce vieux whisky au juge blond qui fume

Description de l'exemple