| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/fr/docs/Web/API/Window/queryLocalFonts | [Back] [Original] |
Get to know MDN better
Cette page a t traduite partir de l'anglais par la communaut. Vous pouvez contribuer en rejoignant la communaut francophone sur MDN Web Docs.
Cette fonctionnalit n'est pas Compatible car elle ne fonctionne pas dans certains des navigateurs les plus utiliss.
Vous voulez une meilleure prise en charge pour cette fonctionnalit ? Dites-nous pourquoi.
Exprimental: Il s'agit d'une technologie exprimentale.
Vrifiez attentivement le tableau de compatibilit des navigateurs avant de l'utiliser en production.
Contexte scuris: Cette fonctionnalit est uniquement disponible dans des contextes scuriss (HTTPS), pour certains navigateurs qui la prennent en charge.
La mthode queryLocalFonts() de l'interface Window retourne une promesse (Promise) qui se rsout avec un tableau d'objets FontData reprsentant les polices disponibles localement.
Pour utiliser cette mthode, l'utilisateurice doit accorder l'autorisation d'accder aux local-fonts (le statut de l'autorisation peut tre interrog avec l'API Permissions). De plus, cette fonctionnalit peut tre bloque par une Politique d'autorisations dfinie sur votre serveur.
queryLocalFonts(options)
options FacultatifContient des paramtres de configuration optionnels. Actuellement, une seule proprit est dfinie :
postscriptNames FacultatifUn tableau de noms PostScript de polices. Si cette option est dfinie, seules les polices dont les noms PostScript correspondent ceux du tableau seront incluses dans les rsultats ; sinon, toutes les polices seront incluses dans les rsultats.
Une promesse (Promise) qui se rsout avec un tableau d'objets FontData reprsentant les polices disponibles localement.
NotAllowedError DOMExceptionL'utilisateurice a choisi de refuser l'autorisation d'utiliser cette fonctionnalit lorsqu'il a t prsent avec l'invite de permission du navigateur aprs que la mthode a t invoque pour la premire fois.
SecurityError DOMExceptionL'utilisation de cette fonctionnalit a t bloque par une Politique d'autorisations, ou elle n'a pas t appele via une interaction de l'utilisateurice telle qu'un clic sur un bouton, ou l'origine actuelle est une origine opaque.
Pour un exemple interactif fonctionnel, consultez notre dmonstration de l'API d'accs aux polices locales (angl.).
L'extrait suivant interrogera toutes les polices disponibles et enregistrera les mtadonnes. Cela pourrait tre utilis, par exemple, pour remplir un contrle de slection de polices.
async function journaliserFontData() {
try {
const policesDisponibles = await window.queryLocalFonts();
for (const fontData of policesDisponibles) {
console.log(fontData.postscriptName);
console.log(fontData.fullName);
console.log(fontData.family);
console.log(fontData.style);
}
} catch (err) {
console.error(err.name, err.message);
}
}
Pour limiter les donnes de polices retournes une liste spcifique de polices, utilisez l'option postscriptNames.
async function retournerPolicesSpecifiques() {
const policesDisponibles = await window.queryLocalFonts({
postscriptNames: ["Verdana", "Verdana-Bold", "Verdana-Italic"],
});
return policesDisponibles;
}
La mthode blob() fournit un accs aux donnes SFNT (angl.) de bas niveau il s'agit d'un format de fichier de police qui peut contenir d'autres formats de police, tels que PostScript, TrueType, OpenType ou Web Open Font Format (WOFF).
async function calculerFormatContour() {
try {
const policesDisponibles = await window.queryLocalFonts({
postscriptNames: ["ComicSansMS"],
});
for (const fontData of policesDisponibles) {
// `blob()` retourne un Blob contenant des donnes SFNT valides et compltes.
const sfnt = await fontData.blob();
// Extraire uniquement les octets dont nous avons besoin : les 4 premiers octets sont les informations de version SFNT.
// Spcification : https://learn.microsoft.com/en-us/typography/opentype/spec/otff#organization-of-an-opentype-font
const sfntVersion = await sfnt.slice(0, 4).text();
let formatContour = "UNKNOWN";
switch (sfntVersion) {
case "\x00\x01\x00\x00":
case "true":
case "typ1":
formatContour = "truetype";
break;
case "OTTO":
formatContour = "cff";
break;
}
console.log("Format de contour :", formatContour);
}
} catch (err) {
console.error(err.name, err.message);
}
}
| Spcification |
|---|
| Local Font Access API # dom-window-querylocalfonts |
@font-faceCette page a t modifie le 17 mars 2026 par les contributeurices du MDN.
WindowcachesclosedcookieStorecrashReportcredentiallesscrossOriginIsolatedcryptocustomElementsdevicePixelRatiodocumentdocumentPictureInPictureeventexternalfenceframeElementframesfullScreenhistoryindexedDBinnerHeightinnerWidthisSecureContextlaunchQueuelengthlocalStoragelocationlocationbarmenubarmozInnerScreenXmozInnerScreenYnamenavigationnavigatoropenerorientationoriginoriginAgentClusterouterHeightouterWidthparentperformancepersonalbarschedulerscreenscreenLeftscreenTopscreenXscreenYscrollbarsscrollMaxXscrollMaxYscrollXscrollYselfsessionStoragesharedStoragespeechSynthesisstatusstatusbartoolbartoptrustedTypesviewportvisualViewportwindowalert()atob()blur()btoa()cancelAnimationFrame()cancelIdleCallback()captureEvents()clearImmediate()clearInterval()clearTimeout()close()confirm()createImageBitmap()dump()fetch()fetchLater()find()focus()getComputedStyle()getDefaultComputedStyle()getScreenDetails()getSelection()matchMedia()moveBy()moveTo()open()postMessage()print()prompt()queryLocalFonts()queueMicrotask()releaseEvents()reportError()requestAnimationFrame()requestFileSystem()requestIdleCallback()requestResize()resizeBy()resizeTo()scroll()scrollBy()scrollByLines()scrollByPages()scrollTo()setImmediate()setInterval()setResizable()setTimeout()showDirectoryPicker()showOpenFilePicker()showSaveFilePicker()sizeToContent()stop()structuredClone()webkitConvertPointFromNodeToPage()webkitConvertPointFromPageToNode()afterprintappinstalledbeforeinstallpromptbeforeprintbeforeunloadblurdevicemotiondeviceorientationdeviceorientationabsoluteerrorfocusgamepadconnectedgamepaddisconnectedhashchangelanguagechangeloadmessagemessageerrorofflineonlineorientationchangepagehidepagerevealpageshowpageswappopstaterejectionhandledresizescrollsnapchangescrollsnapchangingstorageunhandledrejectionunloadvrdisplayactivatevrdisplayconnectvrdisplaydeactivatevrdisplaydisconnectvrdisplaypresentchangeCertaines parties de ce contenu sont protges par le droit d'auteur 19982026 des contributeurs individuels de mozilla.org. Contenu disponible sous une licence Creative Commons.
| Web Proxy Viewer | New URL | Original Page |