La API de acceso a fuentes es una feature experimental, y por tanto no está soportada en Chrome a menos que la actives manualmente desde
chrome://flags/#font-access
. Debes ponerla en "Enabled" y reiniciar chrome. Depués comprobarás que sí te pide el permiso correctamente para acceder a tus fuentes, que deberás aceptar:
Código HTML:
<script>
const getInstalledFonts = async () => {
const { state } = await navigator.permissions.query({ name: "font-access" })
if (state === "denied") {
return []
}
const fonts = []
try {
for (const { family, fullName } of await navigator.fonts.query()) {
fonts.push({ family, fullName })
}
} catch {}
return fonts;
}
function getFonts(){
getInstalledFonts().then((res) => {
console.log(res);
})
}
</script>
<body onload="getFonts()">
Si abres la consola de tu navegador verás que efectivamente salen todas las fuentes que estás utilizando.
De todas formas, es un API no estándar que todavía no está implementada en la mayoría de navegadores.
Saludos