import { parse } from "pb-parser"; import { base_url } from "./utils"; async function font_metadata_folder(folder, font, mirror) { let url = base_url(mirror, folder, font) + "/METADATA.pb"; try { let response = await (await fetch(url)); if (response.ok) { return [url, await response.text()]; } return null; } catch (e) { return null; } } export async function retrieve_font_metadata(font, mirror) { let fontname = font.replace(" ", "").toLowerCase(); let [url, raw_metadata] = (await font_metadata_folder("ofl", fontname, mirror)) || (await font_metadata_folder("ufl", fontname, mirror)) || (await font_metadata_folder("apache", fontname, mirror)); return { url, metadata: parse(raw_metadata) }; }