One of many bigger downloads when requesting a webpage are customized fonts. There are various nice methods for lazy loading fonts to enhance efficiency for these on poor connections. By getting perception into what fonts the consumer has obtainable, we are able to keep away from loading customized fonts. That is the place queryLocalFonts
is available in — an native JavaScript operate to assemble consumer font info.
queryLocalFonts
is an async
operate that requires consumer permission by way of a browser immediate when first executed. queryLocalFonts
returns an array of FontData
objects which comprise details about all obtainable fonts:
const localFonts = await window.queryLocalFonts(); // [FontData, FontData, ...] /* { household: "Academy Engraved LET", fullName: "Academy Engraved LET Plain:1.0", postscriptName: "AcademyEngravedLetPlain", type: "Plain", } */
If you would like to focus on a particular font face, it’s also possible to straight question the postscriptName
property:
const canelaFonts = await window.queryLocalFonts({ postscriptNames: ["Canela", "Canela-Bold"], }); // [FontData, FontData, ...]
With queryLocalFonts
you possibly can leverage a fonts a consumer already has as a substitute of downloading costly customized fonts. The immediate for permissions looks as if it will deter customers from permitting the API, nonetheless. It is so cool that this API exists although!