astrotype 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +52 -0
- package/bin/astrotypes.mjs +78 -0
- package/cli/commands/add-font.mjs +39 -0
- package/cli/commands/add.mjs +53 -0
- package/cli/commands/build-registry.mjs +39 -0
- package/cli/commands/generate-candidates.mjs +300 -0
- package/cli/commands/generate-fonts.mjs +169 -0
- package/cli/commands/sync-pairings.mjs +22 -0
- package/cli/data/pairing-recipes.mjs +57 -0
- package/cli/lib/add-utils.mjs +65 -0
- package/cli/lib/fs-utils.mjs +30 -0
- package/cli/lib/paths.mjs +17 -0
- package/cli/lib/registry.mjs +94 -0
- package/cli/lib/schema.mjs +43 -0
- package/package.json +55 -0
- package/registry/fonts/abeezee.json +21 -0
- package/registry/fonts/abel.json +20 -0
- package/registry/fonts/abhaya-libre.json +26 -0
- package/registry/fonts/aboreto.json +21 -0
- package/registry/fonts/abril-fatface.json +21 -0
- package/registry/fonts/abyssinica-sil.json +22 -0
- package/registry/fonts/aclonica.json +21 -0
- package/registry/fonts/acme.json +20 -0
- package/registry/fonts/actor.json +20 -0
- package/registry/fonts/adamina.json +20 -0
- package/registry/fonts/adlam-display.json +22 -0
- package/registry/fonts/advent-pro.json +32 -0
- package/registry/fonts/afacad-flux.json +31 -0
- package/registry/fonts/afacad.json +28 -0
- package/registry/fonts/agbalumo.json +24 -0
- package/registry/fonts/agdasima.json +22 -0
- package/registry/fonts/agu-display.json +22 -0
- package/registry/fonts/aguafina-script.json +21 -0
- package/registry/fonts/akatab.json +27 -0
- package/registry/fonts/akaya-kanadaka.json +22 -0
- package/registry/fonts/akaya-telivigala.json +22 -0
- package/registry/fonts/akronim.json +21 -0
- package/registry/fonts/akshar.json +26 -0
- package/registry/fonts/aladin.json +21 -0
- package/registry/fonts/alan-sans.json +27 -0
- package/registry/fonts/alata.json +22 -0
- package/registry/fonts/alatsi.json +23 -0
- package/registry/fonts/albert-sans.json +29 -0
- package/registry/fonts/aldrich.json +20 -0
- package/registry/fonts/alef.json +22 -0
- package/registry/fonts/alegreya-sans-sc.json +32 -0
- package/registry/fonts/alegreya-sans.json +32 -0
- package/registry/fonts/alegreya-sc.json +30 -0
- package/registry/fonts/alegreya.json +31 -0
- package/registry/fonts/aleo.json +30 -0
- package/registry/fonts/alex-brush.json +22 -0
- package/registry/fonts/alexandria.json +31 -0
- package/registry/fonts/alfa-slab-one.json +22 -0
- package/registry/fonts/alice.json +23 -0
- package/registry/fonts/alike-angular.json +23 -0
- package/registry/fonts/alike.json +23 -0
- package/registry/fonts/alkalami.json +22 -0
- package/registry/fonts/alkatra.json +27 -0
- package/registry/fonts/allan.json +22 -0
- package/registry/fonts/allerta-stencil.json +20 -0
- package/registry/fonts/allerta.json +20 -0
- package/registry/fonts/allison.json +22 -0
- package/registry/fonts/allkin.json +19 -0
- package/registry/fonts/allura.json +22 -0
- package/registry/fonts/almarai.json +24 -0
- package/registry/fonts/almendra-display.json +21 -0
- package/registry/fonts/almendra-sc.json +20 -0
- package/registry/fonts/almendra.json +22 -0
- package/registry/fonts/alumni-sans-collegiate-one.json +23 -0
- package/registry/fonts/alumni-sans-inline-one.json +22 -0
- package/registry/fonts/alumni-sans-pinstripe.json +24 -0
- package/registry/fonts/alumni-sans-sc.json +32 -0
- package/registry/fonts/alumni-sans.json +32 -0
- package/registry/fonts/alyamama.json +29 -0
- package/registry/fonts/amarante.json +21 -0
- package/registry/fonts/amaranth.json +21 -0
- package/registry/fonts/amarna.json +27 -0
- package/registry/fonts/amatic-sc.json +25 -0
- package/registry/fonts/amethysta.json +20 -0
- package/registry/fonts/amiko.json +24 -0
- package/registry/fonts/amiri-quran.json +21 -0
- package/registry/fonts/amiri.json +23 -0
- package/registry/fonts/amita.json +23 -0
- package/registry/fonts/anaheim.json +26 -0
- package/registry/fonts/ancizar-sans.json +31 -0
- package/registry/fonts/ancizar-serif.json +28 -0
- package/registry/fonts/andada-pro.json +26 -0
- package/registry/fonts/andika.json +25 -0
- package/registry/fonts/anek-bangla.json +29 -0
- package/registry/fonts/anek-devanagari.json +29 -0
- package/registry/fonts/anek-gujarati.json +29 -0
- package/registry/fonts/anek-gurmukhi.json +29 -0
- package/registry/fonts/anek-kannada.json +29 -0
- package/registry/fonts/anek-latin.json +29 -0
- package/registry/fonts/anek-malayalam.json +29 -0
- package/registry/fonts/anek-odia.json +29 -0
- package/registry/fonts/anek-tamil.json +29 -0
- package/registry/fonts/anek-telugu.json +29 -0
- package/registry/fonts/angkor.json +21 -0
- package/registry/fonts/annapurna-sil.json +25 -0
- package/registry/fonts/annie-use-your-telescope.json +21 -0
- package/registry/fonts/anonymous-pro.json +24 -0
- package/registry/fonts/anta.json +23 -0
- package/registry/fonts/antic-didone.json +20 -0
- package/registry/fonts/antic-slab.json +20 -0
- package/registry/fonts/antic.json +20 -0
- package/registry/fonts/anton-sc.json +22 -0
- package/registry/fonts/anton.json +22 -0
- package/registry/fonts/antonio.json +27 -0
- package/registry/fonts/anuphan.json +29 -0
- package/registry/fonts/anybody.json +30 -0
- package/registry/fonts/aoboshi-one.json +22 -0
- package/registry/fonts/ar-one-sans.json +25 -0
- package/registry/fonts/arapey.json +20 -0
- package/registry/fonts/arbutus-slab.json +21 -0
- package/registry/fonts/arbutus.json +21 -0
- package/registry/fonts/architects-daughter.json +21 -0
- package/registry/fonts/archivo-black.json +21 -0
- package/registry/fonts/archivo-narrow.json +25 -0
- package/registry/fonts/archivo.json +30 -0
- package/registry/fonts/are-you-serious.json +22 -0
- package/registry/fonts/aref-ruqaa-ink.json +23 -0
- package/registry/fonts/aref-ruqaa.json +23 -0
- package/registry/fonts/arima.json +32 -0
- package/registry/fonts/arimo.json +30 -0
- package/registry/fonts/arizonia.json +22 -0
- package/registry/fonts/armata.json +21 -0
- package/registry/fonts/arsenal-sc.json +25 -0
- package/registry/fonts/arsenal.json +25 -0
- package/registry/fonts/artifika.json +20 -0
- package/registry/fonts/arvo.json +21 -0
- package/registry/fonts/arya.json +23 -0
- package/registry/fonts/asap-condensed.json +29 -0
- package/registry/fonts/asap.json +30 -0
- package/registry/fonts/asar.json +22 -0
- package/registry/fonts/asimovian.json +22 -0
- package/registry/fonts/asset.json +24 -0
- package/registry/fonts/assistant.json +28 -0
- package/registry/fonts/asta-sans.json +26 -0
- package/registry/fonts/astloch.json +21 -0
- package/registry/fonts/asul.json +21 -0
- package/registry/fonts/athiti.json +28 -0
- package/registry/fonts/atkinson-hyperlegible-mono.json +27 -0
- package/registry/fonts/atkinson-hyperlegible-next.json +27 -0
- package/registry/fonts/atkinson-hyperlegible.json +22 -0
- package/registry/fonts/atma.json +26 -0
- package/registry/fonts/atomic-age.json +21 -0
- package/registry/fonts/aubrey.json +20 -0
- package/registry/fonts/audiowide.json +21 -0
- package/registry/fonts/autour-one.json +21 -0
- package/registry/fonts/average-sans.json +21 -0
- package/registry/fonts/average.json +21 -0
- package/registry/fonts/averia-gruesa-libre.json +21 -0
- package/registry/fonts/averia-libre.json +22 -0
- package/registry/fonts/averia-sans-libre.json +22 -0
- package/registry/fonts/averia-serif-libre.json +22 -0
- package/registry/fonts/azeret-mono.json +29 -0
- package/registry/fonts/b612-mono.json +21 -0
- package/registry/fonts/b612.json +21 -0
- package/registry/fonts/babylonica.json +22 -0
- package/registry/fonts/bacasime-antique.json +21 -0
- package/registry/fonts/bad-script.json +24 -0
- package/registry/fonts/badeen-display.json +22 -0
- package/registry/fonts/bagel-fat-one.json +22 -0
- package/registry/fonts/bahiana.json +21 -0
- package/registry/fonts/bahianita.json +22 -0
- package/registry/fonts/bai-jamjuree.json +28 -0
- package/registry/fonts/bakbak-one.json +22 -0
- package/registry/fonts/ballet.json +22 -0
- package/registry/fonts/baloo-2.json +27 -0
- package/registry/fonts/baloo-bhai-2.json +27 -0
- package/registry/fonts/baloo-bhaijaan-2.json +27 -0
- package/registry/fonts/baloo-bhaina-2.json +27 -0
- package/registry/fonts/baloo-chettan-2.json +27 -0
- package/registry/fonts/baloo-da-2.json +27 -0
- package/registry/fonts/baloo-paaji-2.json +27 -0
- package/registry/fonts/baloo-tamma-2.json +27 -0
- package/registry/fonts/baloo-tammudu-2.json +27 -0
- package/registry/fonts/baloo-thambi-2.json +27 -0
- package/registry/fonts/balsamiq-sans.json +24 -0
- package/registry/fonts/balthazar.json +20 -0
- package/registry/fonts/bangers.json +22 -0
- package/registry/fonts/barlow-condensed.json +30 -0
- package/registry/fonts/barlow-semi-condensed.json +30 -0
- package/registry/fonts/barlow.json +30 -0
- package/registry/fonts/barriecito.json +22 -0
- package/registry/fonts/barrio.json +21 -0
- package/registry/fonts/basic.json +21 -0
- package/registry/fonts/baskervville-sc.json +24 -0
- package/registry/fonts/baskervville.json +24 -0
- package/registry/fonts/battambang.json +25 -0
- package/registry/fonts/baumans.json +20 -0
- package/registry/fonts/bayon.json +21 -0
- package/registry/fonts/bbh-bartle.json +20 -0
- package/registry/fonts/bbh-bogle.json +20 -0
- package/registry/fonts/bbh-hegarty.json +20 -0
- package/registry/fonts/be-vietnam-pro.json +30 -0
- package/registry/fonts/beau-rivage.json +22 -0
- package/registry/fonts/bebas-neue.json +21 -0
- package/registry/fonts/beiruti.json +30 -0
- package/registry/fonts/belanosima.json +23 -0
- package/registry/fonts/belgrano.json +20 -0
- package/registry/fonts/bellefair.json +22 -0
- package/registry/fonts/belleza.json +21 -0
- package/registry/fonts/bellota-text.json +25 -0
- package/registry/fonts/bellota.json +25 -0
- package/registry/fonts/benchnine.json +23 -0
- package/registry/fonts/benne.json +22 -0
- package/registry/fonts/bentham.json +21 -0
- package/registry/fonts/berkshire-swash.json +21 -0
- package/registry/fonts/besley.json +26 -0
- package/registry/fonts/betania-patmos-gdl.json +21 -0
- package/registry/fonts/betania-patmos-in-gdl.json +21 -0
- package/registry/fonts/betania-patmos-in.json +21 -0
- package/registry/fonts/betania-patmos.json +21 -0
- package/registry/fonts/beth-ellen.json +20 -0
- package/registry/fonts/bevan.json +22 -0
- package/registry/fonts/bhutuka-expanded-one.json +22 -0
- package/registry/fonts/big-shoulders-inline.json +30 -0
- package/registry/fonts/big-shoulders-stencil.json +30 -0
- package/registry/fonts/big-shoulders.json +30 -0
- package/registry/fonts/bigelow-rules.json +21 -0
- package/registry/fonts/bigshot-one.json +20 -0
- package/registry/fonts/bilbo-swash-caps.json +21 -0
- package/registry/fonts/bilbo.json +22 -0
- package/registry/fonts/biorhyme-expanded.json +25 -0
- package/registry/fonts/biorhyme.json +27 -0
- package/registry/fonts/birthstone-bounce.json +23 -0
- package/registry/fonts/birthstone.json +22 -0
- package/registry/fonts/biryani.json +28 -0
- package/registry/fonts/bitcount-grid-double-ink.json +29 -0
- package/registry/fonts/bitcount-grid-double.json +29 -0
- package/registry/fonts/bitcount-grid-single-ink.json +29 -0
- package/registry/fonts/bitcount-grid-single.json +29 -0
- package/registry/fonts/bitcount-ink.json +29 -0
- package/registry/fonts/bitcount-prop-double-ink.json +29 -0
- package/registry/fonts/bitcount-prop-double.json +29 -0
- package/registry/fonts/bitcount-prop-single-ink.json +29 -0
- package/registry/fonts/bitcount-prop-single.json +29 -0
- package/registry/fonts/bitcount-single-ink.json +29 -0
- package/registry/fonts/bitcount-single.json +29 -0
- package/registry/fonts/bitcount.json +29 -0
- package/registry/fonts/bitter.json +32 -0
- package/registry/fonts/biz-udgothic.json +25 -0
- package/registry/fonts/biz-udmincho.json +25 -0
- package/registry/fonts/biz-udpgothic.json +25 -0
- package/registry/fonts/biz-udpmincho.json +25 -0
- package/registry/fonts/black-and-white-picture.json +21 -0
- package/registry/fonts/black-han-sans.json +21 -0
- package/registry/fonts/black-ops-one.json +23 -0
- package/registry/fonts/blaka-hollow.json +22 -0
- package/registry/fonts/blaka-ink.json +22 -0
- package/registry/fonts/blaka.json +22 -0
- package/registry/fonts/blinker.json +28 -0
- package/registry/fonts/bodoni-moda-sc.json +28 -0
- package/registry/fonts/bodoni-moda.json +28 -0
- package/registry/fonts/bokor.json +21 -0
- package/registry/fonts/boldonse.json +21 -0
- package/registry/fonts/bona-nova-sc.json +27 -0
- package/registry/fonts/bona-nova.json +27 -0
- package/registry/fonts/bonbon.json +20 -0
- package/registry/fonts/bonheur-royale.json +22 -0
- package/registry/fonts/boogaloo.json +20 -0
- package/registry/fonts/borel.json +24 -0
- package/registry/fonts/bowlby-one-sc.json +21 -0
- package/registry/fonts/bowlby-one.json +20 -0
- package/registry/fonts/bpmf-huninn.json +22 -0
- package/registry/fonts/bpmf-iansui.json +22 -0
- package/registry/fonts/bpmf-zihi-kai-std.json +22 -0
- package/registry/fonts/braah-one.json +23 -0
- package/registry/fonts/brawler.json +21 -0
- package/registry/fonts/bree-serif.json +21 -0
- package/registry/fonts/bricolage-grotesque.json +28 -0
- package/registry/fonts/bruno-ace-sc.json +21 -0
- package/registry/fonts/bruno-ace.json +21 -0
- package/registry/fonts/brygada-1918.json +28 -0
- package/registry/fonts/bubblegum-sans.json +21 -0
- package/registry/fonts/bubbler-one.json +21 -0
- package/registry/fonts/buda.json +20 -0
- package/registry/fonts/buenard.json +24 -0
- package/registry/fonts/bungee-hairline.json +22 -0
- package/registry/fonts/bungee-inline.json +22 -0
- package/registry/fonts/bungee-outline.json +22 -0
- package/registry/fonts/bungee-shade.json +22 -0
- package/registry/fonts/bungee-spice.json +22 -0
- package/registry/fonts/bungee-tint.json +22 -0
- package/registry/fonts/bungee.json +22 -0
- package/registry/fonts/butcherman.json +21 -0
- package/registry/fonts/butterfly-kids.json +21 -0
- package/registry/fonts/bytesized.json +21 -0
- package/registry/fonts/cabin-condensed.json +25 -0
- package/registry/fonts/cabin-sketch.json +21 -0
- package/registry/fonts/cabin.json +25 -0
- package/registry/fonts/cactus-classical-serif.json +24 -0
- package/registry/fonts/caesar-dressing.json +20 -0
- package/registry/fonts/cagliostro.json +20 -0
- package/registry/fonts/cairo-play.json +30 -0
- package/registry/fonts/cairo.json +30 -0
- package/registry/fonts/cal-sans.json +22 -0
- package/registry/fonts/caladea.json +22 -0
- package/registry/fonts/calistoga.json +22 -0
- package/registry/fonts/calligraffitti.json +20 -0
- package/registry/fonts/cambay.json +23 -0
- package/registry/fonts/cambo.json +21 -0
- package/registry/fonts/candal.json +20 -0
- package/registry/fonts/cantarell.json +22 -0
- package/registry/fonts/cantata-one.json +21 -0
- package/registry/fonts/cantora-one.json +21 -0
- package/registry/fonts/caprasimo.json +21 -0
- package/registry/fonts/capriola.json +21 -0
- package/registry/fonts/caramel.json +22 -0
- package/registry/fonts/carattere.json +22 -0
- package/registry/fonts/cardo.json +28 -0
- package/registry/fonts/carlito.json +27 -0
- package/registry/fonts/carme.json +20 -0
- package/registry/fonts/carrois-gothic-sc.json +20 -0
- package/registry/fonts/carrois-gothic.json +20 -0
- package/registry/fonts/carter-one.json +20 -0
- package/registry/fonts/cascadia-code.json +34 -0
- package/registry/fonts/cascadia-mono.json +34 -0
- package/registry/fonts/castoro-titling.json +21 -0
- package/registry/fonts/castoro.json +21 -0
- package/registry/fonts/catamaran.json +30 -0
- package/registry/fonts/caudex.json +26 -0
- package/registry/fonts/cause.json +29 -0
- package/registry/fonts/caveat-brush.json +21 -0
- package/registry/fonts/caveat.json +26 -0
- package/registry/fonts/cedarville-cursive.json +20 -0
- package/registry/fonts/ceviche-one.json +21 -0
- package/registry/fonts/chakra-petch.json +27 -0
- package/registry/fonts/changa-one.json +20 -0
- package/registry/fonts/changa.json +28 -0
- package/registry/fonts/chango.json +21 -0
- package/registry/fonts/charis-sil.json +25 -0
- package/registry/fonts/charm.json +24 -0
- package/registry/fonts/charmonman.json +24 -0
- package/registry/fonts/chathura.json +25 -0
- package/registry/fonts/chau-philomene-one.json +21 -0
- package/registry/fonts/chela-one.json +21 -0
- package/registry/fonts/chelsea-market.json +21 -0
- package/registry/fonts/chenla.json +20 -0
- package/registry/fonts/cherish.json +22 -0
- package/registry/fonts/cherry-bomb-one.json +23 -0
- package/registry/fonts/cherry-cream-soda.json +20 -0
- package/registry/fonts/cherry-swash.json +22 -0
- package/registry/fonts/chewy.json +20 -0
- package/registry/fonts/chicle.json +21 -0
- package/registry/fonts/chilanka.json +22 -0
- package/registry/fonts/chiron-goround-tc.json +32 -0
- package/registry/fonts/chiron-hei-hk.json +35 -0
- package/registry/fonts/chiron-sung-hk.json +34 -0
- package/registry/fonts/chivo-mono.json +30 -0
- package/registry/fonts/chivo.json +30 -0
- package/registry/fonts/chocolate-classical-sans.json +24 -0
- package/registry/fonts/chokokutai.json +23 -0
- package/registry/fonts/chonburi.json +23 -0
- package/registry/fonts/cinzel-decorative.json +23 -0
- package/registry/fonts/cinzel.json +26 -0
- package/registry/fonts/clicker-script.json +21 -0
- package/registry/fonts/climate-crisis.json +23 -0
- package/registry/fonts/coda.json +22 -0
- package/registry/fonts/codystar.json +22 -0
- package/registry/fonts/coiny.json +23 -0
- package/registry/fonts/combo.json +21 -0
- package/registry/fonts/comfortaa.json +29 -0
- package/registry/fonts/comforter-brush.json +23 -0
- package/registry/fonts/comforter.json +23 -0
- package/registry/fonts/comic-neue.json +22 -0
- package/registry/fonts/comic-relief.json +24 -0
- package/registry/fonts/coming-soon.json +20 -0
- package/registry/fonts/comme.json +29 -0
- package/registry/fonts/commissioner.json +33 -0
- package/registry/fonts/concert-one.json +21 -0
- package/registry/fonts/condiment.json +21 -0
- package/registry/fonts/content.json +21 -0
- package/registry/fonts/contrail-one.json +20 -0
- package/registry/fonts/convergence.json +21 -0
- package/registry/fonts/cookie.json +20 -0
- package/registry/fonts/copse.json +20 -0
- package/registry/fonts/coral-pixels.json +21 -0
- package/registry/fonts/corben.json +22 -0
- package/registry/fonts/corinthia.json +23 -0
- package/registry/fonts/cormorant-garamond.json +28 -0
- package/registry/fonts/cormorant-infant.json +28 -0
- package/registry/fonts/cormorant-sc.json +28 -0
- package/registry/fonts/cormorant-unicase.json +28 -0
- package/registry/fonts/cormorant-upright.json +26 -0
- package/registry/fonts/cormorant.json +28 -0
- package/registry/fonts/cossette-texte.json +22 -0
- package/registry/fonts/cossette-titre.json +22 -0
- package/registry/fonts/courgette.json +21 -0
- package/registry/fonts/courier-prime.json +22 -0
- package/registry/fonts/cousine.json +28 -0
- package/registry/fonts/coustard.json +21 -0
- package/registry/fonts/covered-by-your-grace.json +21 -0
- package/registry/fonts/crafty-girls.json +20 -0
- package/registry/fonts/creepster.json +20 -0
- package/registry/fonts/crete-round.json +21 -0
- package/registry/fonts/crimson-pro.json +29 -0
- package/registry/fonts/crimson-text.json +24 -0
- package/registry/fonts/croissant-one.json +21 -0
- package/registry/fonts/crushed.json +21 -0
- package/registry/fonts/cuprum.json +27 -0
- package/registry/fonts/cute-font.json +21 -0
- package/registry/fonts/cutive-mono.json +21 -0
- package/registry/fonts/cutive.json +21 -0
- package/registry/fonts/dai-banna-sil.json +26 -0
- package/registry/fonts/damion.json +21 -0
- package/registry/fonts/dancing-script.json +25 -0
- package/registry/fonts/danfo.json +22 -0
- package/registry/fonts/dangrek.json +21 -0
- package/registry/fonts/darker-grotesque.json +28 -0
- package/registry/fonts/darumadrop-one.json +22 -0
- package/registry/fonts/datatype.json +29 -0
- package/registry/fonts/david-libre.json +27 -0
- package/registry/fonts/dawning-of-a-new-day.json +20 -0
- package/registry/fonts/days-one.json +21 -0
- package/registry/fonts/dekko.json +22 -0
- package/registry/fonts/dela-gothic-one.json +25 -0
- package/registry/fonts/delicious-handrawn.json +21 -0
- package/registry/fonts/delius-swash-caps.json +20 -0
- package/registry/fonts/delius-unicase.json +21 -0
- package/registry/fonts/delius.json +20 -0
- package/registry/fonts/della-respira.json +20 -0
- package/registry/fonts/denk-one.json +23 -0
- package/registry/fonts/devonshire.json +21 -0
- package/registry/fonts/dhurjati.json +21 -0
- package/registry/fonts/didact-gothic.json +25 -0
- package/registry/fonts/diphylleia.json +22 -0
- package/registry/fonts/diplomata-sc.json +21 -0
- package/registry/fonts/diplomata.json +21 -0
- package/registry/fonts/dm-mono.json +23 -0
- package/registry/fonts/dm-sans.json +30 -0
- package/registry/fonts/dm-serif-display.json +21 -0
- package/registry/fonts/dm-serif-text.json +21 -0
- package/registry/fonts/do-hyeon.json +21 -0
- package/registry/fonts/dokdo.json +21 -0
- package/registry/fonts/domine.json +24 -0
- package/registry/fonts/donegal-one.json +21 -0
- package/registry/fonts/dongle.json +25 -0
- package/registry/fonts/doppio-one.json +21 -0
- package/registry/fonts/dorsa.json +20 -0
- package/registry/fonts/dosis.json +28 -0
- package/registry/fonts/dotgothic16.json +23 -0
- package/registry/fonts/doto.json +29 -0
- package/registry/fonts/dr-sugiyama.json +21 -0
- package/registry/fonts/duru-sans.json +21 -0
- package/registry/fonts/dynalight.json +21 -0
- package/registry/fonts/dynapuff.json +25 -0
- package/registry/fonts/eagle-lake.json +21 -0
- package/registry/fonts/east-sea-dokdo.json +21 -0
- package/registry/fonts/eater.json +21 -0
- package/registry/fonts/eb-garamond.json +30 -0
- package/registry/fonts/economica.json +22 -0
- package/registry/fonts/eczar.json +28 -0
- package/registry/fonts/edu-au-vic-wa-nt-arrows.json +24 -0
- package/registry/fonts/edu-au-vic-wa-nt-dots.json +24 -0
- package/registry/fonts/edu-au-vic-wa-nt-guides.json +24 -0
- package/registry/fonts/edu-au-vic-wa-nt-hand.json +24 -0
- package/registry/fonts/edu-au-vic-wa-nt-pre.json +24 -0
- package/registry/fonts/edu-nsw-act-cursive.json +24 -0
- package/registry/fonts/edu-nsw-act-foundation.json +23 -0
- package/registry/fonts/edu-nsw-act-hand-pre.json +24 -0
- package/registry/fonts/edu-qld-beginner.json +23 -0
- package/registry/fonts/edu-qld-hand.json +25 -0
- package/registry/fonts/edu-sa-beginner.json +23 -0
- package/registry/fonts/edu-sa-hand.json +24 -0
- package/registry/fonts/edu-tas-beginner.json +23 -0
- package/registry/fonts/edu-vic-wa-nt-beginner.json +23 -0
- package/registry/fonts/edu-vic-wa-nt-hand-pre.json +24 -0
- package/registry/fonts/edu-vic-wa-nt-hand.json +24 -0
- package/registry/fonts/el-messiri.json +26 -0
- package/registry/fonts/electrolize.json +20 -0
- package/registry/fonts/elms-sans.json +30 -0
- package/registry/fonts/elsie-swash-caps.json +22 -0
- package/registry/fonts/elsie.json +22 -0
- package/registry/fonts/emblema-one.json +21 -0
- package/registry/fonts/emilys-candy.json +21 -0
- package/registry/fonts/encode-sans-condensed.json +30 -0
- package/registry/fonts/encode-sans-expanded.json +30 -0
- package/registry/fonts/encode-sans-sc.json +30 -0
- package/registry/fonts/encode-sans-semi-condensed.json +30 -0
- package/registry/fonts/encode-sans-semi-expanded.json +30 -0
- package/registry/fonts/encode-sans.json +30 -0
- package/registry/fonts/engagement.json +21 -0
- package/registry/fonts/englebert.json +21 -0
- package/registry/fonts/enriqueta.json +24 -0
- package/registry/fonts/ephesis.json +22 -0
- package/registry/fonts/epilogue.json +30 -0
- package/registry/fonts/epunda-sans.json +27 -0
- package/registry/fonts/epunda-slab.json +27 -0
- package/registry/fonts/erica-one.json +21 -0
- package/registry/fonts/esteban.json +21 -0
- package/registry/fonts/estonia.json +22 -0
- package/registry/fonts/euphoria-script.json +21 -0
- package/registry/fonts/ewert.json +21 -0
- package/registry/fonts/exile.json +21 -0
- package/registry/fonts/exo-2.json +32 -0
- package/registry/fonts/exo.json +30 -0
- package/registry/fonts/expletus-sans.json +24 -0
- package/registry/fonts/explora.json +23 -0
- package/registry/fonts/faculty-glyphic.json +21 -0
- package/registry/fonts/fahkwang.json +28 -0
- package/registry/fonts/familjen-grotesk.json +25 -0
- package/registry/fonts/fanwood-text.json +21 -0
- package/registry/fonts/farro.json +24 -0
- package/registry/fonts/farsan.json +23 -0
- package/registry/fonts/fascinate-inline.json +21 -0
- package/registry/fonts/fascinate.json +21 -0
- package/registry/fonts/faster-one.json +21 -0
- package/registry/fonts/fasthand.json +21 -0
- package/registry/fonts/fauna-one.json +21 -0
- package/registry/fonts/faustina.json +27 -0
- package/registry/fonts/federant.json +20 -0
- package/registry/fonts/federo.json +20 -0
- package/registry/fonts/felipa.json +21 -0
- package/registry/fonts/fenix.json +21 -0
- package/registry/fonts/festive.json +22 -0
- package/registry/fonts/figtree.json +27 -0
- package/registry/fonts/finger-paint.json +20 -0
- package/registry/fonts/finlandica.json +26 -0
- package/registry/fonts/fira-code.json +30 -0
- package/registry/fonts/fira-mono.json +28 -0
- package/registry/fonts/fira-sans-condensed.json +34 -0
- package/registry/fonts/fira-sans-extra-condensed.json +34 -0
- package/registry/fonts/fira-sans.json +34 -0
- package/registry/fonts/fjalla-one.json +23 -0
- package/registry/fonts/fjord-one.json +20 -0
- package/registry/fonts/flamenco.json +21 -0
- package/registry/fonts/flavors.json +21 -0
- package/registry/fonts/fleur-de-leah.json +22 -0
- package/registry/fonts/flow-block.json +24 -0
- package/registry/fonts/flow-circular.json +24 -0
- package/registry/fonts/flow-rounded.json +24 -0
- package/registry/fonts/foldit.json +30 -0
- package/registry/fonts/fondamento.json +21 -0
- package/registry/fonts/fontdiner-swanky.json +20 -0
- package/registry/fonts/forum.json +23 -0
- package/registry/fonts/fragment-mono.json +22 -0
- package/registry/fonts/francois-one.json +22 -0
- package/registry/fonts/frank-ruhl-libre.json +28 -0
- package/registry/fonts/fraunces.json +30 -0
- package/registry/fonts/freckle-face.json +21 -0
- package/registry/fonts/fredericka-the-great.json +21 -0
- package/registry/fonts/fredoka.json +26 -0
- package/registry/fonts/freehand.json +21 -0
- package/registry/fonts/freeman.json +22 -0
- package/registry/fonts/fresca.json +21 -0
- package/registry/fonts/frijole.json +20 -0
- package/registry/fonts/fruktur.json +23 -0
- package/registry/fonts/fugaz-one.json +20 -0
- package/registry/fonts/fuggles.json +22 -0
- package/registry/fonts/funnel-display.json +26 -0
- package/registry/fonts/funnel-sans.json +26 -0
- package/registry/fonts/fustat.json +28 -0
- package/registry/fonts/fuzzy-bubbles.json +23 -0
- package/registry/fonts/ga-maamli.json +22 -0
- package/registry/fonts/gabarito.json +26 -0
- package/registry/fonts/gabriela.json +23 -0
- package/registry/fonts/gaegu.json +23 -0
- package/registry/fonts/gafata.json +21 -0
- package/registry/fonts/gajraj-one.json +22 -0
- package/registry/fonts/galada.json +21 -0
- package/registry/fonts/galdeano.json +20 -0
- package/registry/fonts/galindo.json +21 -0
- package/registry/fonts/gamja-flower.json +21 -0
- package/registry/fonts/gantari.json +29 -0
- package/registry/fonts/gasoek-one.json +22 -0
- package/registry/fonts/gayathri.json +23 -0
- package/registry/fonts/geist-mono.json +29 -0
- package/registry/fonts/geist.json +29 -0
- package/registry/fonts/gelasio.json +25 -0
- package/registry/fonts/gemunu-libre.json +28 -0
- package/registry/fonts/genos.json +31 -0
- package/registry/fonts/gentium-book-plus.json +27 -0
- package/registry/fonts/gentium-plus.json +27 -0
- package/registry/fonts/geo.json +20 -0
- package/registry/fonts/geologica.json +33 -0
- package/registry/fonts/geom.json +28 -0
- package/registry/fonts/georama.json +30 -0
- package/registry/fonts/geostar-fill.json +20 -0
- package/registry/fonts/geostar.json +20 -0
- package/registry/fonts/germania-one.json +20 -0
- package/registry/fonts/gfs-didot.json +23 -0
- package/registry/fonts/gfs-neohellenic.json +24 -0
- package/registry/fonts/gideon-roman.json +22 -0
- package/registry/fonts/gidole.json +24 -0
- package/registry/fonts/gidugu.json +22 -0
- package/registry/fonts/gilda-display.json +21 -0
- package/registry/fonts/girassol.json +21 -0
- package/registry/fonts/give-you-glory.json +21 -0
- package/registry/fonts/glass-antiqua.json +21 -0
- package/registry/fonts/glegoo.json +23 -0
- package/registry/fonts/gloock.json +22 -0
- package/registry/fonts/gloria-hallelujah.json +21 -0
- package/registry/fonts/glory.json +29 -0
- package/registry/fonts/gluten.json +30 -0
- package/registry/fonts/goblin-one.json +20 -0
- package/registry/fonts/gochi-hand.json +20 -0
- package/registry/fonts/goldman.json +23 -0
- package/registry/fonts/golos-text.json +28 -0
- package/registry/fonts/google-sans-code.json +35 -0
- package/registry/fonts/google-sans-flex.json +39 -0
- package/registry/fonts/google-sans.json +47 -0
- package/registry/fonts/gorditas.json +21 -0
- package/registry/fonts/gothic-a1.json +35 -0
- package/registry/fonts/gotu.json +23 -0
- package/registry/fonts/goudy-bookletter-1911.json +20 -0
- package/registry/fonts/gowun-batang.json +24 -0
- package/registry/fonts/gowun-dodum.json +23 -0
- package/registry/fonts/graduate.json +20 -0
- package/registry/fonts/grand-hotel.json +21 -0
- package/registry/fonts/grandiflora-one.json +22 -0
- package/registry/fonts/grandstander.json +30 -0
- package/registry/fonts/grape-nuts.json +22 -0
- package/registry/fonts/gravitas-one.json +20 -0
- package/registry/fonts/great-vibes.json +25 -0
- package/registry/fonts/grechen-fuemen.json +22 -0
- package/registry/fonts/grenze-gotisch.json +30 -0
- package/registry/fonts/grenze.json +30 -0
- package/registry/fonts/grey-qo.json +22 -0
- package/registry/fonts/griffy.json +21 -0
- package/registry/fonts/gruppo.json +21 -0
- package/registry/fonts/gudea.json +22 -0
- package/registry/fonts/gugi.json +21 -0
- package/registry/fonts/gulzar.json +22 -0
- package/registry/fonts/gupter.json +22 -0
- package/registry/fonts/gurajada.json +22 -0
- package/registry/fonts/gveret-levin.json +21 -0
- package/registry/fonts/gwendolyn.json +23 -0
- package/registry/fonts/habibi.json +21 -0
- package/registry/fonts/hachi-maru-pop.json +23 -0
- package/registry/fonts/hahmlet.json +31 -0
- package/registry/fonts/halant.json +26 -0
- package/registry/fonts/hammersmith-one.json +21 -0
- package/registry/fonts/hanalei-fill.json +21 -0
- package/registry/fonts/hanalei.json +21 -0
- package/registry/fonts/handjet.json +36 -0
- package/registry/fonts/handlee.json +20 -0
- package/registry/fonts/hanken-grotesk.json +31 -0
- package/registry/fonts/hanuman.json +29 -0
- package/registry/fonts/happy-monkey.json +21 -0
- package/registry/fonts/harmattan.json +25 -0
- package/registry/fonts/headland-one.json +21 -0
- package/registry/fonts/hedvig-letters-sans.json +23 -0
- package/registry/fonts/hedvig-letters-serif.json +23 -0
- package/registry/fonts/heebo.json +32 -0
- package/registry/fonts/henny-penny.json +20 -0
- package/registry/fonts/hepta-slab.json +31 -0
- package/registry/fonts/herr-von-muellerhoff.json +21 -0
- package/registry/fonts/hi-melody.json +21 -0
- package/registry/fonts/hina-mincho.json +24 -0
- package/registry/fonts/hind-guntur.json +26 -0
- package/registry/fonts/hind-madurai.json +26 -0
- package/registry/fonts/hind-mysuru.json +26 -0
- package/registry/fonts/hind-siliguri.json +26 -0
- package/registry/fonts/hind-vadodara.json +26 -0
- package/registry/fonts/hind.json +26 -0
- package/registry/fonts/holtwood-one-sc.json +21 -0
- package/registry/fonts/homemade-apple.json +20 -0
- package/registry/fonts/homenaje.json +20 -0
- package/registry/fonts/honk.json +24 -0
- package/registry/fonts/host-grotesk.json +26 -0
- package/registry/fonts/hubballi.json +22 -0
- package/registry/fonts/hubot-sans.json +29 -0
- package/registry/fonts/huninn.json +24 -0
- package/registry/fonts/hurricane.json +22 -0
- package/registry/fonts/iansui.json +23 -0
- package/registry/fonts/ibarra-real-nova.json +24 -0
- package/registry/fonts/ibm-plex-mono.json +30 -0
- package/registry/fonts/ibm-plex-sans-arabic.json +29 -0
- package/registry/fonts/ibm-plex-sans-condensed.json +29 -0
- package/registry/fonts/ibm-plex-sans-devanagari.json +29 -0
- package/registry/fonts/ibm-plex-sans-hebrew.json +29 -0
- package/registry/fonts/ibm-plex-sans-jp.json +29 -0
- package/registry/fonts/ibm-plex-sans-kr.json +28 -0
- package/registry/fonts/ibm-plex-sans-thai-looped.json +29 -0
- package/registry/fonts/ibm-plex-sans-thai.json +29 -0
- package/registry/fonts/ibm-plex-sans.json +31 -0
- package/registry/fonts/ibm-plex-serif.json +30 -0
- package/registry/fonts/iceberg.json +20 -0
- package/registry/fonts/iceland.json +20 -0
- package/registry/fonts/idiqlat.json +23 -0
- package/registry/fonts/im-fell-double-pica-sc.json +20 -0
- package/registry/fonts/im-fell-double-pica.json +20 -0
- package/registry/fonts/im-fell-dw-pica-sc.json +20 -0
- package/registry/fonts/im-fell-dw-pica.json +20 -0
- package/registry/fonts/im-fell-english-sc.json +20 -0
- package/registry/fonts/im-fell-english.json +20 -0
- package/registry/fonts/im-fell-french-canon-sc.json +20 -0
- package/registry/fonts/im-fell-french-canon.json +20 -0
- package/registry/fonts/im-fell-great-primer-sc.json +20 -0
- package/registry/fonts/im-fell-great-primer.json +20 -0
- package/registry/fonts/imbue.json +30 -0
- package/registry/fonts/imperial-script.json +22 -0
- package/registry/fonts/imprima.json +21 -0
- package/registry/fonts/inclusive-sans.json +26 -0
- package/registry/fonts/inconsolata.json +29 -0
- package/registry/fonts/inder.json +21 -0
- package/registry/fonts/indie-flower.json +21 -0
- package/registry/fonts/ingrid-darling.json +22 -0
- package/registry/fonts/inika.json +22 -0
- package/registry/fonts/inknut-antiqua.json +28 -0
- package/registry/fonts/inria-sans.json +23 -0
- package/registry/fonts/inria-serif.json +23 -0
- package/registry/fonts/inspiration.json +22 -0
- package/registry/fonts/instrument-sans.json +24 -0
- package/registry/fonts/instrument-serif.json +21 -0
- package/registry/fonts/intel-one-mono.json +27 -0
- package/registry/fonts/inter-tight.json +34 -0
- package/registry/fonts/inter.json +34 -0
- package/registry/fonts/iosevka-charon-mono.json +34 -0
- package/registry/fonts/iosevka-charon.json +34 -0
- package/registry/fonts/irish-grover.json +20 -0
- package/registry/fonts/island-moments.json +22 -0
- package/registry/fonts/istok-web.json +24 -0
- package/registry/fonts/italiana.json +20 -0
- package/registry/fonts/italianno.json +22 -0
- package/registry/fonts/itim.json +23 -0
- package/registry/fonts/jacquard-12-charted.json +23 -0
- package/registry/fonts/jacquard-12.json +23 -0
- package/registry/fonts/jacquard-24-charted.json +21 -0
- package/registry/fonts/jacquard-24.json +21 -0
- package/registry/fonts/jacquarda-bastarda-9-charted.json +23 -0
- package/registry/fonts/jacquarda-bastarda-9.json +23 -0
- package/registry/fonts/jacques-francois-shadow.json +20 -0
- package/registry/fonts/jacques-francois.json +20 -0
- package/registry/fonts/jaini-purva.json +22 -0
- package/registry/fonts/jaini.json +22 -0
- package/registry/fonts/jaldi.json +23 -0
- package/registry/fonts/jaro.json +22 -0
- package/registry/fonts/jersey-10-charted.json +21 -0
- package/registry/fonts/jersey-10.json +21 -0
- package/registry/fonts/jersey-15-charted.json +21 -0
- package/registry/fonts/jersey-15.json +21 -0
- package/registry/fonts/jersey-20-charted.json +21 -0
- package/registry/fonts/jersey-20.json +21 -0
- package/registry/fonts/jersey-25-charted.json +21 -0
- package/registry/fonts/jersey-25.json +21 -0
- package/registry/fonts/jetbrains-mono.json +32 -0
- package/registry/fonts/jim-nightshade.json +21 -0
- package/registry/fonts/joan.json +21 -0
- package/registry/fonts/jockey-one.json +21 -0
- package/registry/fonts/jolly-lodger.json +21 -0
- package/registry/fonts/jomhuria.json +21 -0
- package/registry/fonts/jomolhari.json +21 -0
- package/registry/fonts/josefin-sans.json +28 -0
- package/registry/fonts/josefin-slab.json +26 -0
- package/registry/fonts/jost.json +30 -0
- package/registry/fonts/joti-one.json +21 -0
- package/registry/fonts/jua.json +21 -0
- package/registry/fonts/judson.json +23 -0
- package/registry/fonts/julee.json +21 -0
- package/registry/fonts/julius-sans-one.json +21 -0
- package/registry/fonts/junge.json +20 -0
- package/registry/fonts/jura.json +31 -0
- package/registry/fonts/just-another-hand.json +21 -0
- package/registry/fonts/just-me-again-down-here.json +21 -0
- package/registry/fonts/k2d.json +30 -0
- package/registry/fonts/kablammo.json +25 -0
- package/registry/fonts/kadwa.json +22 -0
- package/registry/fonts/kaisei-decol.json +25 -0
- package/registry/fonts/kaisei-harunoumi.json +25 -0
- package/registry/fonts/kaisei-opti.json +25 -0
- package/registry/fonts/kaisei-tokumin.json +26 -0
- package/registry/fonts/kalam.json +24 -0
- package/registry/fonts/kalnia-glaze.json +27 -0
- package/registry/fonts/kalnia.json +28 -0
- package/registry/fonts/kameron.json +24 -0
- package/registry/fonts/kanchenjunga.json +24 -0
- package/registry/fonts/kanit.json +31 -0
- package/registry/fonts/kantumruy-pro.json +28 -0
- package/registry/fonts/kapakana.json +23 -0
- package/registry/fonts/karantina.json +24 -0
- package/registry/fonts/karla-tamil-inclined.json +21 -0
- package/registry/fonts/karla-tamil-upright.json +21 -0
- package/registry/fonts/karla.json +27 -0
- package/registry/fonts/karma.json +26 -0
- package/registry/fonts/katibeh.json +22 -0
- package/registry/fonts/kaushan-script.json +21 -0
- package/registry/fonts/kavivanar.json +22 -0
- package/registry/fonts/kavoon.json +21 -0
- package/registry/fonts/kay-pho-du.json +25 -0
- package/registry/fonts/kdam-thmor-pro.json +22 -0
- package/registry/fonts/keania-one.json +21 -0
- package/registry/fonts/kedebideri.json +26 -0
- package/registry/fonts/kelly-slab.json +22 -0
- package/registry/fonts/kenia.json +20 -0
- package/registry/fonts/khand.json +26 -0
- package/registry/fonts/khmer.json +20 -0
- package/registry/fonts/khula.json +26 -0
- package/registry/fonts/kings.json +22 -0
- package/registry/fonts/kirang-haerang.json +21 -0
- package/registry/fonts/kite-one.json +21 -0
- package/registry/fonts/kiwi-maru.json +25 -0
- package/registry/fonts/klee-one.json +25 -0
- package/registry/fonts/knewave.json +21 -0
- package/registry/fonts/kodchasan.json +28 -0
- package/registry/fonts/kode-mono.json +24 -0
- package/registry/fonts/koh-santepheap.json +25 -0
- package/registry/fonts/koho.json +28 -0
- package/registry/fonts/kolker-brush.json +22 -0
- package/registry/fonts/konkhmer-sleokchher.json +22 -0
- package/registry/fonts/kosugi-maru.json +23 -0
- package/registry/fonts/kosugi.json +23 -0
- package/registry/fonts/kotta-one.json +21 -0
- package/registry/fonts/koulen.json +21 -0
- package/registry/fonts/kranky.json +20 -0
- package/registry/fonts/kreon.json +25 -0
- package/registry/fonts/kristi.json +20 -0
- package/registry/fonts/krona-one.json +21 -0
- package/registry/fonts/krub.json +28 -0
- package/registry/fonts/kufam.json +28 -0
- package/registry/fonts/kulim-park.json +25 -0
- package/registry/fonts/kumar-one-outline.json +22 -0
- package/registry/fonts/kumar-one.json +22 -0
- package/registry/fonts/kumbh-sans.json +31 -0
- package/registry/fonts/kurale.json +24 -0
- package/registry/fonts/la-belle-aurore.json +21 -0
- package/registry/fonts/labrada.json +30 -0
- package/registry/fonts/lacquer.json +20 -0
- package/registry/fonts/laila.json +26 -0
- package/registry/fonts/lakki-reddy.json +21 -0
- package/registry/fonts/lalezar.json +23 -0
- package/registry/fonts/lancelot.json +21 -0
- package/registry/fonts/langar.json +22 -0
- package/registry/fonts/lateef.json +28 -0
- package/registry/fonts/lato.json +25 -0
- package/registry/fonts/lavishly-yours.json +22 -0
- package/registry/fonts/league-gothic.json +22 -0
- package/registry/fonts/league-script.json +20 -0
- package/registry/fonts/league-spartan.json +30 -0
- package/registry/fonts/leckerli-one.json +20 -0
- package/registry/fonts/ledger.json +22 -0
- package/registry/fonts/lekton.json +22 -0
- package/registry/fonts/lemon.json +21 -0
- package/registry/fonts/lemonada.json +27 -0
- package/registry/fonts/lexend-deca.json +30 -0
- package/registry/fonts/lexend-exa.json +30 -0
- package/registry/fonts/lexend-giga.json +30 -0
- package/registry/fonts/lexend-mega.json +30 -0
- package/registry/fonts/lexend-peta.json +30 -0
- package/registry/fonts/lexend-tera.json +30 -0
- package/registry/fonts/lexend-zetta.json +30 -0
- package/registry/fonts/lexend.json +30 -0
- package/registry/fonts/libertinus-keyboard.json +21 -0
- package/registry/fonts/libertinus-math.json +27 -0
- package/registry/fonts/libertinus-mono.json +21 -0
- package/registry/fonts/libertinus-sans.json +27 -0
- package/registry/fonts/libertinus-serif-display.json +26 -0
- package/registry/fonts/libertinus-serif.json +29 -0
- package/registry/fonts/libre-barcode-128-text.json +20 -0
- package/registry/fonts/libre-barcode-128.json +20 -0
- package/registry/fonts/libre-barcode-39-extended-text.json +20 -0
- package/registry/fonts/libre-barcode-39-extended.json +20 -0
- package/registry/fonts/libre-barcode-39-text.json +20 -0
- package/registry/fonts/libre-barcode-39.json +20 -0
- package/registry/fonts/libre-barcode-ean13-text.json +20 -0
- package/registry/fonts/libre-baskerville.json +24 -0
- package/registry/fonts/libre-bodoni.json +25 -0
- package/registry/fonts/libre-caslon-display.json +21 -0
- package/registry/fonts/libre-caslon-text.json +22 -0
- package/registry/fonts/libre-franklin.json +32 -0
- package/registry/fonts/licorice.json +22 -0
- package/registry/fonts/life-savers.json +23 -0
- package/registry/fonts/lilex.json +32 -0
- package/registry/fonts/lilita-one.json +21 -0
- package/registry/fonts/lily-script-one.json +21 -0
- package/registry/fonts/limelight.json +21 -0
- package/registry/fonts/linden-hill.json +21 -0
- package/registry/fonts/line-seed-jp.json +27 -0
- package/registry/fonts/linefont.json +28 -0
- package/registry/fonts/lisu-bosa.json +29 -0
- package/registry/fonts/liter.json +22 -0
- package/registry/fonts/literata.json +33 -0
- package/registry/fonts/liu-jian-mao-cao.json +21 -0
- package/registry/fonts/livvic.json +29 -0
- package/registry/fonts/lobster-two.json +21 -0
- package/registry/fonts/lobster.json +24 -0
- package/registry/fonts/londrina-outline.json +20 -0
- package/registry/fonts/londrina-shadow.json +20 -0
- package/registry/fonts/londrina-sketch.json +20 -0
- package/registry/fonts/londrina-solid.json +23 -0
- package/registry/fonts/long-cang.json +21 -0
- package/registry/fonts/lora.json +29 -0
- package/registry/fonts/love-light.json +22 -0
- package/registry/fonts/love-ya-like-a-sister.json +21 -0
- package/registry/fonts/loved-by-the-king.json +21 -0
- package/registry/fonts/lovers-quarrel.json +22 -0
- package/registry/fonts/luckiest-guy.json +21 -0
- package/registry/fonts/lugrasimo.json +21 -0
- package/registry/fonts/lumanosimo.json +21 -0
- package/registry/fonts/lunasima.json +28 -0
- package/registry/fonts/lusitana.json +21 -0
- package/registry/fonts/lustria.json +20 -0
- package/registry/fonts/luxurious-roman.json +22 -0
- package/registry/fonts/luxurious-script.json +22 -0
- package/registry/fonts/lxgw-marker-gothic.json +27 -0
- package/registry/fonts/lxgw-wenkai-mono-tc.json +30 -0
- package/registry/fonts/lxgw-wenkai-tc.json +30 -0
- package/registry/fonts/m-plus-1-code.json +29 -0
- package/registry/fonts/m-plus-1.json +31 -0
- package/registry/fonts/m-plus-1p.json +34 -0
- package/registry/fonts/m-plus-2.json +31 -0
- package/registry/fonts/m-plus-code-latin.json +28 -0
- package/registry/fonts/m-plus-rounded-1c.json +34 -0
- package/registry/fonts/ma-shan-zheng.json +21 -0
- package/registry/fonts/macondo-swash-caps.json +20 -0
- package/registry/fonts/macondo.json +20 -0
- package/registry/fonts/mada.json +29 -0
- package/registry/fonts/madimi-one.json +23 -0
- package/registry/fonts/magra.json +22 -0
- package/registry/fonts/maiden-orange.json +21 -0
- package/registry/fonts/maitree.json +28 -0
- package/registry/fonts/major-mono-display.json +22 -0
- package/registry/fonts/mako.json +21 -0
- package/registry/fonts/mali.json +28 -0
- package/registry/fonts/mallanna.json +21 -0
- package/registry/fonts/maname.json +23 -0
- package/registry/fonts/mandali.json +21 -0
- package/registry/fonts/manjari.json +24 -0
- package/registry/fonts/manrope.json +31 -0
- package/registry/fonts/mansalva.json +23 -0
- package/registry/fonts/manuale.json +27 -0
- package/registry/fonts/manufacturing-consent.json +21 -0
- package/registry/fonts/marcellus-sc.json +21 -0
- package/registry/fonts/marcellus.json +21 -0
- package/registry/fonts/marck-script.json +22 -0
- package/registry/fonts/margarine.json +21 -0
- package/registry/fonts/marhey.json +26 -0
- package/registry/fonts/markazi-text.json +26 -0
- package/registry/fonts/marko-one.json +20 -0
- package/registry/fonts/marmelad.json +24 -0
- package/registry/fonts/martel-sans.json +28 -0
- package/registry/fonts/martel.json +28 -0
- package/registry/fonts/martian-mono.json +30 -0
- package/registry/fonts/marvel.json +21 -0
- package/registry/fonts/matangi.json +28 -0
- package/registry/fonts/mate-sc.json +21 -0
- package/registry/fonts/mate.json +21 -0
- package/registry/fonts/matemasie.json +21 -0
- package/registry/fonts/maven-pro.json +27 -0
- package/registry/fonts/mclaren.json +21 -0
- package/registry/fonts/mea-culpa.json +22 -0
- package/registry/fonts/meddon.json +21 -0
- package/registry/fonts/medievalsharp.json +21 -0
- package/registry/fonts/medula-one.json +20 -0
- package/registry/fonts/meera-inimai.json +21 -0
- package/registry/fonts/megrim.json +21 -0
- package/registry/fonts/meie-script.json +21 -0
- package/registry/fonts/menbere.json +29 -0
- package/registry/fonts/meow-script.json +22 -0
- package/registry/fonts/merienda.json +28 -0
- package/registry/fonts/merriweather-sans.json +28 -0
- package/registry/fonts/merriweather.json +30 -0
- package/registry/fonts/metal-mania.json +21 -0
- package/registry/fonts/metal.json +21 -0
- package/registry/fonts/metamorphous.json +21 -0
- package/registry/fonts/metrophobic.json +22 -0
- package/registry/fonts/michroma.json +21 -0
- package/registry/fonts/micro-5-charted.json +23 -0
- package/registry/fonts/micro-5.json +23 -0
- package/registry/fonts/milonga.json +21 -0
- package/registry/fonts/miltonian-tattoo.json +20 -0
- package/registry/fonts/miltonian.json +20 -0
- package/registry/fonts/mina.json +23 -0
- package/registry/fonts/mingzat.json +22 -0
- package/registry/fonts/miniver.json +20 -0
- package/registry/fonts/miriam-libre.json +25 -0
- package/registry/fonts/mirza.json +25 -0
- package/registry/fonts/miss-fajardose.json +21 -0
- package/registry/fonts/mitr.json +28 -0
- package/registry/fonts/mochiy-pop-one.json +21 -0
- package/registry/fonts/mochiy-pop-p-one.json +21 -0
- package/registry/fonts/modak.json +22 -0
- package/registry/fonts/modern-antiqua.json +21 -0
- package/registry/fonts/moderustic.json +29 -0
- package/registry/fonts/mogra.json +22 -0
- package/registry/fonts/mohave.json +25 -0
- package/registry/fonts/moirai-one.json +22 -0
- package/registry/fonts/molengo.json +21 -0
- package/registry/fonts/molle.json +21 -0
- package/registry/fonts/momo-signature.json +22 -0
- package/registry/fonts/momo-trust-display.json +22 -0
- package/registry/fonts/momo-trust-sans.json +28 -0
- package/registry/fonts/mona-sans.json +29 -0
- package/registry/fonts/monda.json +25 -0
- package/registry/fonts/monofett.json +21 -0
- package/registry/fonts/monomakh.json +23 -0
- package/registry/fonts/monomaniac-one.json +22 -0
- package/registry/fonts/monoton.json +21 -0
- package/registry/fonts/monsieur-la-doulaise.json +21 -0
- package/registry/fonts/montaga.json +20 -0
- package/registry/fonts/montagu-slab.json +28 -0
- package/registry/fonts/montecarlo.json +22 -0
- package/registry/fonts/montez.json +21 -0
- package/registry/fonts/montserrat-alternates.json +32 -0
- package/registry/fonts/montserrat-underline.json +32 -0
- package/registry/fonts/montserrat.json +32 -0
- package/registry/fonts/moo-lah-lah.json +22 -0
- package/registry/fonts/mooli.json +21 -0
- package/registry/fonts/moon-dance.json +22 -0
- package/registry/fonts/moul.json +21 -0
- package/registry/fonts/moulpali.json +21 -0
- package/registry/fonts/mountains-of-christmas.json +21 -0
- package/registry/fonts/mouse-memoirs.json +21 -0
- package/registry/fonts/mozilla-headline.json +26 -0
- package/registry/fonts/mozilla-text.json +26 -0
- package/registry/fonts/mr-bedfort.json +21 -0
- package/registry/fonts/mr-dafoe.json +21 -0
- package/registry/fonts/mr-de-haviland.json +21 -0
- package/registry/fonts/mrs-saint-delafield.json +21 -0
- package/registry/fonts/mrs-sheppards.json +21 -0
- package/registry/fonts/ms-madi.json +22 -0
- package/registry/fonts/mukta-mahee.json +28 -0
- package/registry/fonts/mukta-malar.json +28 -0
- package/registry/fonts/mukta-vaani.json +28 -0
- package/registry/fonts/mukta.json +28 -0
- package/registry/fonts/mulish.json +32 -0
- package/registry/fonts/murecho.json +33 -0
- package/registry/fonts/museomoderno.json +30 -0
- package/registry/fonts/my-soul.json +22 -0
- package/registry/fonts/mynerve.json +23 -0
- package/registry/fonts/mystery-quest.json +21 -0
- package/registry/fonts/nabla.json +24 -0
- package/registry/fonts/namdhinggo.json +26 -0
- package/registry/fonts/nanum-brush-script.json +21 -0
- package/registry/fonts/nanum-gothic-coding.json +22 -0
- package/registry/fonts/nanum-gothic.json +23 -0
- package/registry/fonts/nanum-myeongjo.json +23 -0
- package/registry/fonts/nanum-pen-script.json +21 -0
- package/registry/fonts/narnoor.json +28 -0
- package/registry/fonts/nata-sans.json +32 -0
- package/registry/fonts/national-park.json +28 -0
- package/registry/fonts/neonderthaw.json +22 -0
- package/registry/fonts/nerko-one.json +21 -0
- package/registry/fonts/neucha.json +21 -0
- package/registry/fonts/neuton.json +25 -0
- package/registry/fonts/new-amsterdam.json +21 -0
- package/registry/fonts/new-rocker.json +21 -0
- package/registry/fonts/new-tegomin.json +22 -0
- package/registry/fonts/news-cycle.json +27 -0
- package/registry/fonts/newsreader.json +28 -0
- package/registry/fonts/niconne.json +21 -0
- package/registry/fonts/niramit.json +28 -0
- package/registry/fonts/nixie-one.json +20 -0
- package/registry/fonts/nobile.json +24 -0
- package/registry/fonts/nokora.json +29 -0
- package/registry/fonts/norican.json +21 -0
- package/registry/fonts/nosifer.json +21 -0
- package/registry/fonts/notable.json +20 -0
- package/registry/fonts/nothing-you-could-do.json +20 -0
- package/registry/fonts/noticia-text.json +23 -0
- package/registry/fonts/noto-color-emoji.json +20 -0
- package/registry/fonts/noto-emoji.json +24 -0
- package/registry/fonts/noto-kufi-arabic.json +32 -0
- package/registry/fonts/noto-music.json +22 -0
- package/registry/fonts/noto-naskh-arabic.json +27 -0
- package/registry/fonts/noto-nastaliq-urdu.json +25 -0
- package/registry/fonts/noto-rashi-hebrew.json +31 -0
- package/registry/fonts/noto-sans-adlam-unjoined.json +25 -0
- package/registry/fonts/noto-sans-adlam.json +25 -0
- package/registry/fonts/noto-sans-anatolian-hieroglyphs.json +22 -0
- package/registry/fonts/noto-sans-arabic.json +32 -0
- package/registry/fonts/noto-sans-armenian.json +30 -0
- package/registry/fonts/noto-sans-avestan.json +22 -0
- package/registry/fonts/noto-sans-balinese.json +25 -0
- package/registry/fonts/noto-sans-bamum.json +25 -0
- package/registry/fonts/noto-sans-bassa-vah.json +25 -0
- package/registry/fonts/noto-sans-batak.json +22 -0
- package/registry/fonts/noto-sans-bengali.json +30 -0
- package/registry/fonts/noto-sans-bhaiksuki.json +22 -0
- package/registry/fonts/noto-sans-brahmi.json +24 -0
- package/registry/fonts/noto-sans-buginese.json +22 -0
- package/registry/fonts/noto-sans-buhid.json +22 -0
- package/registry/fonts/noto-sans-canadian-aboriginal.json +32 -0
- package/registry/fonts/noto-sans-carian.json +22 -0
- package/registry/fonts/noto-sans-caucasian-albanian.json +22 -0
- package/registry/fonts/noto-sans-chakma.json +22 -0
- package/registry/fonts/noto-sans-cham.json +30 -0
- package/registry/fonts/noto-sans-cherokee.json +30 -0
- package/registry/fonts/noto-sans-chorasmian.json +24 -0
- package/registry/fonts/noto-sans-coptic.json +22 -0
- package/registry/fonts/noto-sans-cuneiform.json +22 -0
- package/registry/fonts/noto-sans-cypriot.json +22 -0
- package/registry/fonts/noto-sans-cypro-minoan.json +22 -0
- package/registry/fonts/noto-sans-deseret.json +22 -0
- package/registry/fonts/noto-sans-devanagari.json +30 -0
- package/registry/fonts/noto-sans-display.json +34 -0
- package/registry/fonts/noto-sans-duployan.json +23 -0
- package/registry/fonts/noto-sans-egyptian-hieroglyphs.json +22 -0
- package/registry/fonts/noto-sans-elbasan.json +22 -0
- package/registry/fonts/noto-sans-elymaic.json +22 -0
- package/registry/fonts/noto-sans-ethiopic.json +30 -0
- package/registry/fonts/noto-sans-georgian.json +34 -0
- package/registry/fonts/noto-sans-glagolitic.json +25 -0
- package/registry/fonts/noto-sans-gothic.json +22 -0
- package/registry/fonts/noto-sans-grantha.json +22 -0
- package/registry/fonts/noto-sans-gujarati.json +32 -0
- package/registry/fonts/noto-sans-gunjala-gondi.json +25 -0
- package/registry/fonts/noto-sans-gurmukhi.json +30 -0
- package/registry/fonts/noto-sans-hanifi-rohingya.json +25 -0
- package/registry/fonts/noto-sans-hanunoo.json +22 -0
- package/registry/fonts/noto-sans-hatran.json +22 -0
- package/registry/fonts/noto-sans-hebrew.json +32 -0
- package/registry/fonts/noto-sans-hk.json +32 -0
- package/registry/fonts/noto-sans-imperial-aramaic.json +22 -0
- package/registry/fonts/noto-sans-indic-siyaq-numbers.json +22 -0
- package/registry/fonts/noto-sans-inscriptional-pahlavi.json +22 -0
- package/registry/fonts/noto-sans-inscriptional-parthian.json +22 -0
- package/registry/fonts/noto-sans-javanese.json +25 -0
- package/registry/fonts/noto-sans-jp.json +32 -0
- package/registry/fonts/noto-sans-kaithi.json +22 -0
- package/registry/fonts/noto-sans-kannada.json +30 -0
- package/registry/fonts/noto-sans-kawi.json +25 -0
- package/registry/fonts/noto-sans-kayah-li.json +25 -0
- package/registry/fonts/noto-sans-kharoshthi.json +22 -0
- package/registry/fonts/noto-sans-khmer.json +30 -0
- package/registry/fonts/noto-sans-khojki.json +22 -0
- package/registry/fonts/noto-sans-khudawadi.json +22 -0
- package/registry/fonts/noto-sans-kr.json +32 -0
- package/registry/fonts/noto-sans-lao-looped.json +30 -0
- package/registry/fonts/noto-sans-lao.json +30 -0
- package/registry/fonts/noto-sans-lepcha.json +22 -0
- package/registry/fonts/noto-sans-limbu.json +22 -0
- package/registry/fonts/noto-sans-linear-a.json +22 -0
- package/registry/fonts/noto-sans-linear-b.json +22 -0
- package/registry/fonts/noto-sans-lisu.json +25 -0
- package/registry/fonts/noto-sans-lycian.json +20 -0
- package/registry/fonts/noto-sans-lydian.json +22 -0
- package/registry/fonts/noto-sans-mahajani.json +22 -0
- package/registry/fonts/noto-sans-malayalam.json +30 -0
- package/registry/fonts/noto-sans-mandaic.json +22 -0
- package/registry/fonts/noto-sans-manichaean.json +22 -0
- package/registry/fonts/noto-sans-marchen.json +22 -0
- package/registry/fonts/noto-sans-masaram-gondi.json +22 -0
- package/registry/fonts/noto-sans-math.json +22 -0
- package/registry/fonts/noto-sans-mayan-numerals.json +22 -0
- package/registry/fonts/noto-sans-medefaidrin.json +25 -0
- package/registry/fonts/noto-sans-meetei-mayek.json +30 -0
- package/registry/fonts/noto-sans-mende-kikakui.json +22 -0
- package/registry/fonts/noto-sans-meroitic.json +24 -0
- package/registry/fonts/noto-sans-miao.json +22 -0
- package/registry/fonts/noto-sans-modi.json +22 -0
- package/registry/fonts/noto-sans-mongolian.json +24 -0
- package/registry/fonts/noto-sans-mono.json +34 -0
- package/registry/fonts/noto-sans-mro.json +22 -0
- package/registry/fonts/noto-sans-multani.json +22 -0
- package/registry/fonts/noto-sans-myanmar.json +30 -0
- package/registry/fonts/noto-sans-nabataean.json +22 -0
- package/registry/fonts/noto-sans-nag-mundari.json +25 -0
- package/registry/fonts/noto-sans-nandinagari.json +22 -0
- package/registry/fonts/noto-sans-new-tai-lue.json +25 -0
- package/registry/fonts/noto-sans-newa.json +22 -0
- package/registry/fonts/noto-sans-nko-unjoined.json +25 -0
- package/registry/fonts/noto-sans-nko.json +22 -0
- package/registry/fonts/noto-sans-nushu.json +22 -0
- package/registry/fonts/noto-sans-ogham.json +22 -0
- package/registry/fonts/noto-sans-ol-chiki.json +25 -0
- package/registry/fonts/noto-sans-old-hungarian.json +22 -0
- package/registry/fonts/noto-sans-old-italic.json +22 -0
- package/registry/fonts/noto-sans-old-north-arabian.json +22 -0
- package/registry/fonts/noto-sans-old-permic.json +23 -0
- package/registry/fonts/noto-sans-old-persian.json +22 -0
- package/registry/fonts/noto-sans-old-sogdian.json +22 -0
- package/registry/fonts/noto-sans-old-south-arabian.json +22 -0
- package/registry/fonts/noto-sans-old-turkic.json +22 -0
- package/registry/fonts/noto-sans-oriya.json +30 -0
- package/registry/fonts/noto-sans-osage.json +22 -0
- package/registry/fonts/noto-sans-osmanya.json +22 -0
- package/registry/fonts/noto-sans-pahawh-hmong.json +22 -0
- package/registry/fonts/noto-sans-palmyrene.json +22 -0
- package/registry/fonts/noto-sans-pau-cin-hau.json +22 -0
- package/registry/fonts/noto-sans-phagspa.json +24 -0
- package/registry/fonts/noto-sans-phoenician.json +22 -0
- package/registry/fonts/noto-sans-psalter-pahlavi.json +22 -0
- package/registry/fonts/noto-sans-rejang.json +22 -0
- package/registry/fonts/noto-sans-runic.json +22 -0
- package/registry/fonts/noto-sans-samaritan.json +22 -0
- package/registry/fonts/noto-sans-saurashtra.json +22 -0
- package/registry/fonts/noto-sans-sc.json +32 -0
- package/registry/fonts/noto-sans-sharada.json +22 -0
- package/registry/fonts/noto-sans-shavian.json +22 -0
- package/registry/fonts/noto-sans-siddham.json +22 -0
- package/registry/fonts/noto-sans-signwriting.json +22 -0
- package/registry/fonts/noto-sans-sinhala.json +30 -0
- package/registry/fonts/noto-sans-sogdian.json +22 -0
- package/registry/fonts/noto-sans-sora-sompeng.json +25 -0
- package/registry/fonts/noto-sans-soyombo.json +22 -0
- package/registry/fonts/noto-sans-sundanese.json +25 -0
- package/registry/fonts/noto-sans-sunuwar.json +22 -0
- package/registry/fonts/noto-sans-syloti-nagri.json +22 -0
- package/registry/fonts/noto-sans-symbols-2.json +25 -0
- package/registry/fonts/noto-sans-symbols.json +30 -0
- package/registry/fonts/noto-sans-syriac-eastern.json +30 -0
- package/registry/fonts/noto-sans-syriac-western.json +30 -0
- package/registry/fonts/noto-sans-syriac.json +30 -0
- package/registry/fonts/noto-sans-tagalog.json +22 -0
- package/registry/fonts/noto-sans-tagbanwa.json +22 -0
- package/registry/fonts/noto-sans-tai-le.json +22 -0
- package/registry/fonts/noto-sans-tai-tham.json +25 -0
- package/registry/fonts/noto-sans-tai-viet.json +22 -0
- package/registry/fonts/noto-sans-takri.json +22 -0
- package/registry/fonts/noto-sans-tamil-supplement.json +22 -0
- package/registry/fonts/noto-sans-tamil.json +30 -0
- package/registry/fonts/noto-sans-tangsa.json +25 -0
- package/registry/fonts/noto-sans-tc.json +32 -0
- package/registry/fonts/noto-sans-telugu.json +30 -0
- package/registry/fonts/noto-sans-thaana.json +30 -0
- package/registry/fonts/noto-sans-thai-looped.json +30 -0
- package/registry/fonts/noto-sans-thai.json +30 -0
- package/registry/fonts/noto-sans-tifinagh.json +22 -0
- package/registry/fonts/noto-sans-tirhuta.json +22 -0
- package/registry/fonts/noto-sans-ugaritic.json +22 -0
- package/registry/fonts/noto-sans-vai.json +22 -0
- package/registry/fonts/noto-sans-vithkuqi.json +25 -0
- package/registry/fonts/noto-sans-wancho.json +22 -0
- package/registry/fonts/noto-sans-warang-citi.json +22 -0
- package/registry/fonts/noto-sans-yi.json +22 -0
- package/registry/fonts/noto-sans-zanabazar-square.json +22 -0
- package/registry/fonts/noto-sans.json +35 -0
- package/registry/fonts/noto-serif-ahom.json +22 -0
- package/registry/fonts/noto-serif-armenian.json +30 -0
- package/registry/fonts/noto-serif-balinese.json +22 -0
- package/registry/fonts/noto-serif-bengali.json +30 -0
- package/registry/fonts/noto-serif-devanagari.json +30 -0
- package/registry/fonts/noto-serif-display.json +34 -0
- package/registry/fonts/noto-serif-dives-akuru.json +22 -0
- package/registry/fonts/noto-serif-dogra.json +22 -0
- package/registry/fonts/noto-serif-ethiopic.json +30 -0
- package/registry/fonts/noto-serif-georgian.json +30 -0
- package/registry/fonts/noto-serif-grantha.json +22 -0
- package/registry/fonts/noto-serif-gujarati.json +32 -0
- package/registry/fonts/noto-serif-gurmukhi.json +30 -0
- package/registry/fonts/noto-serif-hebrew.json +30 -0
- package/registry/fonts/noto-serif-hentaigana.json +29 -0
- package/registry/fonts/noto-serif-hk.json +31 -0
- package/registry/fonts/noto-serif-jp.json +31 -0
- package/registry/fonts/noto-serif-kannada.json +30 -0
- package/registry/fonts/noto-serif-khitan-small-script.json +22 -0
- package/registry/fonts/noto-serif-khmer.json +30 -0
- package/registry/fonts/noto-serif-khojki.json +25 -0
- package/registry/fonts/noto-serif-kr.json +31 -0
- package/registry/fonts/noto-serif-lao.json +30 -0
- package/registry/fonts/noto-serif-makasar.json +22 -0
- package/registry/fonts/noto-serif-malayalam.json +30 -0
- package/registry/fonts/noto-serif-myanmar.json +28 -0
- package/registry/fonts/noto-serif-np-hmong.json +24 -0
- package/registry/fonts/noto-serif-old-uyghur.json +22 -0
- package/registry/fonts/noto-serif-oriya.json +25 -0
- package/registry/fonts/noto-serif-ottoman-siyaq.json +22 -0
- package/registry/fonts/noto-serif-sc.json +31 -0
- package/registry/fonts/noto-serif-sinhala.json +30 -0
- package/registry/fonts/noto-serif-tamil.json +30 -0
- package/registry/fonts/noto-serif-tangut.json +22 -0
- package/registry/fonts/noto-serif-tc.json +31 -0
- package/registry/fonts/noto-serif-telugu.json +30 -0
- package/registry/fonts/noto-serif-thai.json +30 -0
- package/registry/fonts/noto-serif-tibetan.json +30 -0
- package/registry/fonts/noto-serif-todhri.json +22 -0
- package/registry/fonts/noto-serif-toto.json +25 -0
- package/registry/fonts/noto-serif-vithkuqi.json +25 -0
- package/registry/fonts/noto-serif-yezidi.json +25 -0
- package/registry/fonts/noto-serif.json +35 -0
- package/registry/fonts/noto-traditional-nushu.json +26 -0
- package/registry/fonts/noto-znamenny-musical-notation.json +24 -0
- package/registry/fonts/nova-cut.json +21 -0
- package/registry/fonts/nova-flat.json +21 -0
- package/registry/fonts/nova-mono.json +22 -0
- package/registry/fonts/nova-oval.json +21 -0
- package/registry/fonts/nova-round.json +21 -0
- package/registry/fonts/nova-script.json +21 -0
- package/registry/fonts/nova-slim.json +21 -0
- package/registry/fonts/nova-square.json +21 -0
- package/registry/fonts/ntr.json +21 -0
- package/registry/fonts/numans.json +20 -0
- package/registry/fonts/nunito-sans.json +32 -0
- package/registry/fonts/nunito.json +32 -0
- package/registry/fonts/nuosu-sil.json +22 -0
- package/registry/fonts/odibee-sans.json +20 -0
- package/registry/fonts/odor-mean-chey.json +21 -0
- package/registry/fonts/offside.json +21 -0
- package/registry/fonts/oi.json +27 -0
- package/registry/fonts/ojuju.json +30 -0
- package/registry/fonts/old-standard-tt.json +25 -0
- package/registry/fonts/oldenburg.json +21 -0
- package/registry/fonts/ole.json +22 -0
- package/registry/fonts/oleo-script-swash-caps.json +22 -0
- package/registry/fonts/oleo-script.json +22 -0
- package/registry/fonts/onest.json +31 -0
- package/registry/fonts/oooh-baby.json +22 -0
- package/registry/fonts/open-sans.json +34 -0
- package/registry/fonts/oranienbaum.json +23 -0
- package/registry/fonts/orbit.json +22 -0
- package/registry/fonts/orbitron.json +25 -0
- package/registry/fonts/oregano.json +21 -0
- package/registry/fonts/orelega-one.json +23 -0
- package/registry/fonts/orienta.json +21 -0
- package/registry/fonts/original-surfer.json +21 -0
- package/registry/fonts/oswald.json +29 -0
- package/registry/fonts/outfit.json +29 -0
- package/registry/fonts/over-the-rainbow.json +21 -0
- package/registry/fonts/overlock-sc.json +21 -0
- package/registry/fonts/overlock.json +23 -0
- package/registry/fonts/overpass-mono.json +28 -0
- package/registry/fonts/overpass.json +32 -0
- package/registry/fonts/ovo.json +20 -0
- package/registry/fonts/oxanium.json +27 -0
- package/registry/fonts/oxygen-mono.json +21 -0
- package/registry/fonts/oxygen.json +23 -0
- package/registry/fonts/pacifico.json +24 -0
- package/registry/fonts/padauk.json +23 -0
- package/registry/fonts/padyakke-expanded-one.json +22 -0
- package/registry/fonts/palanquin-dark.json +25 -0
- package/registry/fonts/palanquin.json +28 -0
- package/registry/fonts/palette-mosaic.json +21 -0
- package/registry/fonts/pangolin.json +24 -0
- package/registry/fonts/paprika.json +21 -0
- package/registry/fonts/parastoo.json +26 -0
- package/registry/fonts/parisienne.json +21 -0
- package/registry/fonts/parkinsans.json +26 -0
- package/registry/fonts/passero-one.json +21 -0
- package/registry/fonts/passion-one.json +23 -0
- package/registry/fonts/passions-conflict.json +22 -0
- package/registry/fonts/pathway-extreme.json +30 -0
- package/registry/fonts/pathway-gothic-one.json +21 -0
- package/registry/fonts/patrick-hand-sc.json +22 -0
- package/registry/fonts/patrick-hand.json +22 -0
- package/registry/fonts/pattaya.json +24 -0
- package/registry/fonts/patua-one.json +20 -0
- package/registry/fonts/pavanam.json +22 -0
- package/registry/fonts/paytone-one.json +22 -0
- package/registry/fonts/peddana.json +21 -0
- package/registry/fonts/peralta.json +21 -0
- package/registry/fonts/permanent-marker.json +20 -0
- package/registry/fonts/petemoss.json +22 -0
- package/registry/fonts/petit-formal-script.json +21 -0
- package/registry/fonts/petrona.json +30 -0
- package/registry/fonts/phetsarath.json +21 -0
- package/registry/fonts/philosopher.json +25 -0
- package/registry/fonts/phudu.json +29 -0
- package/registry/fonts/piazzolla.json +34 -0
- package/registry/fonts/piedra.json +21 -0
- package/registry/fonts/pinyon-script.json +22 -0
- package/registry/fonts/pirata-one.json +21 -0
- package/registry/fonts/pixelify-sans.json +25 -0
- package/registry/fonts/plaster.json +21 -0
- package/registry/fonts/platypi.json +27 -0
- package/registry/fonts/play.json +26 -0
- package/registry/fonts/playball.json +22 -0
- package/registry/fonts/playfair-display-sc.json +25 -0
- package/registry/fonts/playfair-display.json +28 -0
- package/registry/fonts/playfair.json +30 -0
- package/registry/fonts/playpen-sans-arabic.json +31 -0
- package/registry/fonts/playpen-sans-deva.json +30 -0
- package/registry/fonts/playpen-sans-hebrew.json +31 -0
- package/registry/fonts/playpen-sans-thai.json +31 -0
- package/registry/fonts/playpen-sans.json +34 -0
- package/registry/fonts/playwrite-ar-guides.json +19 -0
- package/registry/fonts/playwrite-ar.json +22 -0
- package/registry/fonts/playwrite-at-guides.json +19 -0
- package/registry/fonts/playwrite-at.json +22 -0
- package/registry/fonts/playwrite-au-nsw-guides.json +19 -0
- package/registry/fonts/playwrite-au-nsw.json +22 -0
- package/registry/fonts/playwrite-au-qld-guides.json +19 -0
- package/registry/fonts/playwrite-au-qld.json +22 -0
- package/registry/fonts/playwrite-au-sa-guides.json +19 -0
- package/registry/fonts/playwrite-au-sa.json +22 -0
- package/registry/fonts/playwrite-au-tas-guides.json +19 -0
- package/registry/fonts/playwrite-au-tas.json +22 -0
- package/registry/fonts/playwrite-au-vic-guides.json +19 -0
- package/registry/fonts/playwrite-au-vic.json +22 -0
- package/registry/fonts/playwrite-be-vlg-guides.json +19 -0
- package/registry/fonts/playwrite-be-vlg.json +22 -0
- package/registry/fonts/playwrite-be-wal-guides.json +19 -0
- package/registry/fonts/playwrite-be-wal.json +22 -0
- package/registry/fonts/playwrite-br-guides.json +19 -0
- package/registry/fonts/playwrite-br.json +22 -0
- package/registry/fonts/playwrite-ca-guides.json +19 -0
- package/registry/fonts/playwrite-ca.json +22 -0
- package/registry/fonts/playwrite-cl-guides.json +19 -0
- package/registry/fonts/playwrite-cl.json +22 -0
- package/registry/fonts/playwrite-co-guides.json +19 -0
- package/registry/fonts/playwrite-co.json +22 -0
- package/registry/fonts/playwrite-cu-guides.json +19 -0
- package/registry/fonts/playwrite-cu.json +22 -0
- package/registry/fonts/playwrite-cz-guides.json +19 -0
- package/registry/fonts/playwrite-cz.json +22 -0
- package/registry/fonts/playwrite-de-grund-guides.json +19 -0
- package/registry/fonts/playwrite-de-grund.json +22 -0
- package/registry/fonts/playwrite-de-la-guides.json +19 -0
- package/registry/fonts/playwrite-de-la.json +22 -0
- package/registry/fonts/playwrite-de-sas-guides.json +19 -0
- package/registry/fonts/playwrite-de-sas.json +22 -0
- package/registry/fonts/playwrite-de-va-guides.json +19 -0
- package/registry/fonts/playwrite-de-va.json +22 -0
- package/registry/fonts/playwrite-dk-loopet-guides.json +19 -0
- package/registry/fonts/playwrite-dk-loopet.json +22 -0
- package/registry/fonts/playwrite-dk-uloopet-guides.json +19 -0
- package/registry/fonts/playwrite-dk-uloopet.json +22 -0
- package/registry/fonts/playwrite-es-deco-guides.json +19 -0
- package/registry/fonts/playwrite-es-deco.json +22 -0
- package/registry/fonts/playwrite-es-guides.json +19 -0
- package/registry/fonts/playwrite-es.json +22 -0
- package/registry/fonts/playwrite-fr-moderne-guides.json +19 -0
- package/registry/fonts/playwrite-fr-moderne.json +22 -0
- package/registry/fonts/playwrite-fr-trad-guides.json +19 -0
- package/registry/fonts/playwrite-fr-trad.json +22 -0
- package/registry/fonts/playwrite-gb-j-guides.json +19 -0
- package/registry/fonts/playwrite-gb-j.json +22 -0
- package/registry/fonts/playwrite-gb-s-guides.json +19 -0
- package/registry/fonts/playwrite-gb-s.json +22 -0
- package/registry/fonts/playwrite-hr-guides.json +19 -0
- package/registry/fonts/playwrite-hr-lijeva-guides.json +19 -0
- package/registry/fonts/playwrite-hr-lijeva.json +22 -0
- package/registry/fonts/playwrite-hr.json +22 -0
- package/registry/fonts/playwrite-hu-guides.json +19 -0
- package/registry/fonts/playwrite-hu.json +22 -0
- package/registry/fonts/playwrite-id-guides.json +19 -0
- package/registry/fonts/playwrite-id.json +22 -0
- package/registry/fonts/playwrite-ie-guides.json +19 -0
- package/registry/fonts/playwrite-ie.json +22 -0
- package/registry/fonts/playwrite-in-guides.json +19 -0
- package/registry/fonts/playwrite-in.json +22 -0
- package/registry/fonts/playwrite-is-guides.json +19 -0
- package/registry/fonts/playwrite-is.json +22 -0
- package/registry/fonts/playwrite-it-moderna-guides.json +19 -0
- package/registry/fonts/playwrite-it-moderna.json +22 -0
- package/registry/fonts/playwrite-it-trad-guides.json +19 -0
- package/registry/fonts/playwrite-it-trad.json +22 -0
- package/registry/fonts/playwrite-mx-guides.json +19 -0
- package/registry/fonts/playwrite-mx.json +22 -0
- package/registry/fonts/playwrite-ng-modern-guides.json +19 -0
- package/registry/fonts/playwrite-ng-modern.json +22 -0
- package/registry/fonts/playwrite-nl-guides.json +19 -0
- package/registry/fonts/playwrite-nl.json +22 -0
- package/registry/fonts/playwrite-no-guides.json +19 -0
- package/registry/fonts/playwrite-no.json +22 -0
- package/registry/fonts/playwrite-nz-basic-guides.json +19 -0
- package/registry/fonts/playwrite-nz-basic.json +22 -0
- package/registry/fonts/playwrite-nz-guides.json +19 -0
- package/registry/fonts/playwrite-nz.json +22 -0
- package/registry/fonts/playwrite-pe-guides.json +19 -0
- package/registry/fonts/playwrite-pe.json +22 -0
- package/registry/fonts/playwrite-pl-guides.json +19 -0
- package/registry/fonts/playwrite-pl.json +22 -0
- package/registry/fonts/playwrite-pt-guides.json +19 -0
- package/registry/fonts/playwrite-pt.json +22 -0
- package/registry/fonts/playwrite-ro-guides.json +19 -0
- package/registry/fonts/playwrite-ro.json +22 -0
- package/registry/fonts/playwrite-sk-guides.json +19 -0
- package/registry/fonts/playwrite-sk.json +22 -0
- package/registry/fonts/playwrite-tz-guides.json +19 -0
- package/registry/fonts/playwrite-tz.json +22 -0
- package/registry/fonts/playwrite-us-modern-guides.json +19 -0
- package/registry/fonts/playwrite-us-modern.json +22 -0
- package/registry/fonts/playwrite-us-trad-guides.json +19 -0
- package/registry/fonts/playwrite-us-trad.json +22 -0
- package/registry/fonts/playwrite-vn-guides.json +19 -0
- package/registry/fonts/playwrite-vn.json +22 -0
- package/registry/fonts/playwrite-za-guides.json +19 -0
- package/registry/fonts/playwrite-za.json +22 -0
- package/registry/fonts/plus-jakarta-sans.json +29 -0
- package/registry/fonts/pochaevsk.json +22 -0
- package/registry/fonts/podkova.json +28 -0
- package/registry/fonts/poetsen-one.json +21 -0
- package/registry/fonts/poiret-one.json +22 -0
- package/registry/fonts/poller-one.json +20 -0
- package/registry/fonts/poltawski-nowy.json +25 -0
- package/registry/fonts/poly.json +21 -0
- package/registry/fonts/pompiere.json +20 -0
- package/registry/fonts/ponnala.json +21 -0
- package/registry/fonts/ponomar.json +22 -0
- package/registry/fonts/pontano-sans.json +25 -0
- package/registry/fonts/poor-story.json +21 -0
- package/registry/fonts/poppins.json +30 -0
- package/registry/fonts/port-lligat-sans.json +20 -0
- package/registry/fonts/port-lligat-slab.json +20 -0
- package/registry/fonts/potta-one.json +23 -0
- package/registry/fonts/pragati-narrow.json +23 -0
- package/registry/fonts/praise.json +22 -0
- package/registry/fonts/prata.json +23 -0
- package/registry/fonts/preahvihear.json +21 -0
- package/registry/fonts/press-start-2p.json +24 -0
- package/registry/fonts/pridi.json +28 -0
- package/registry/fonts/princess-sofia.json +21 -0
- package/registry/fonts/prociono.json +20 -0
- package/registry/fonts/prompt.json +31 -0
- package/registry/fonts/prosto-one.json +22 -0
- package/registry/fonts/protest-guerrilla.json +24 -0
- package/registry/fonts/protest-revolution.json +24 -0
- package/registry/fonts/protest-riot.json +24 -0
- package/registry/fonts/protest-strike.json +24 -0
- package/registry/fonts/proza-libre.json +25 -0
- package/registry/fonts/pt-mono.json +23 -0
- package/registry/fonts/pt-sans-caption.json +24 -0
- package/registry/fonts/pt-sans-narrow.json +24 -0
- package/registry/fonts/pt-sans.json +24 -0
- package/registry/fonts/pt-serif-caption.json +23 -0
- package/registry/fonts/pt-serif.json +24 -0
- package/registry/fonts/public-sans.json +30 -0
- package/registry/fonts/puppies-play.json +22 -0
- package/registry/fonts/puritan.json +21 -0
- package/registry/fonts/purple-purse.json +21 -0
- package/registry/fonts/qahiri.json +21 -0
- package/registry/fonts/quando.json +21 -0
- package/registry/fonts/quantico.json +21 -0
- package/registry/fonts/quattrocento-sans.json +22 -0
- package/registry/fonts/quattrocento.json +22 -0
- package/registry/fonts/questrial.json +22 -0
- package/registry/fonts/quicksand.json +26 -0
- package/registry/fonts/quintessential.json +21 -0
- package/registry/fonts/qwigley.json +22 -0
- package/registry/fonts/qwitcher-grypen.json +23 -0
- package/registry/fonts/racing-sans-one.json +21 -0
- package/registry/fonts/radio-canada-big.json +24 -0
- package/registry/fonts/radio-canada.json +27 -0
- package/registry/fonts/radley.json +21 -0
- package/registry/fonts/rajdhani.json +26 -0
- package/registry/fonts/rakkas.json +22 -0
- package/registry/fonts/raleway-dots.json +21 -0
- package/registry/fonts/raleway.json +32 -0
- package/registry/fonts/ramabhadra.json +21 -0
- package/registry/fonts/ramaraja.json +21 -0
- package/registry/fonts/rambla.json +22 -0
- package/registry/fonts/rammetto-one.json +21 -0
- package/registry/fonts/rampart-one.json +23 -0
- package/registry/fonts/ramsina.json +21 -0
- package/registry/fonts/ranchers.json +21 -0
- package/registry/fonts/rancho.json +20 -0
- package/registry/fonts/ranga.json +23 -0
- package/registry/fonts/rasa.json +27 -0
- package/registry/fonts/rationale.json +20 -0
- package/registry/fonts/ravi-prakash.json +21 -0
- package/registry/fonts/readex-pro.json +28 -0
- package/registry/fonts/recursive.json +30 -0
- package/registry/fonts/red-hat-display.json +27 -0
- package/registry/fonts/red-hat-mono.json +25 -0
- package/registry/fonts/red-hat-text.json +25 -0
- package/registry/fonts/red-rose.json +26 -0
- package/registry/fonts/redacted-script.json +23 -0
- package/registry/fonts/redacted.json +21 -0
- package/registry/fonts/reddit-mono.json +29 -0
- package/registry/fonts/reddit-sans-condensed.json +29 -0
- package/registry/fonts/reddit-sans.json +29 -0
- package/registry/fonts/redressed.json +21 -0
- package/registry/fonts/reem-kufi-fun.json +26 -0
- package/registry/fonts/reem-kufi-ink.json +23 -0
- package/registry/fonts/reem-kufi.json +26 -0
- package/registry/fonts/reenie-beanie.json +20 -0
- package/registry/fonts/reggae-one.json +23 -0
- package/registry/fonts/rem.json +30 -0
- package/registry/fonts/rethink-sans.json +25 -0
- package/registry/fonts/revalia.json +21 -0
- package/registry/fonts/rhodium-libre.json +22 -0
- package/registry/fonts/ribeye-marrow.json +21 -0
- package/registry/fonts/ribeye.json +21 -0
- package/registry/fonts/righteous.json +21 -0
- package/registry/fonts/risque.json +21 -0
- package/registry/fonts/road-rage.json +22 -0
- package/registry/fonts/roboto-condensed.json +34 -0
- package/registry/fonts/roboto-flex.json +34 -0
- package/registry/fonts/roboto-mono.json +31 -0
- package/registry/fonts/roboto-serif.json +32 -0
- package/registry/fonts/roboto-slab.json +34 -0
- package/registry/fonts/roboto.json +36 -0
- package/registry/fonts/rochester.json +20 -0
- package/registry/fonts/rock-3d.json +21 -0
- package/registry/fonts/rock-salt.json +20 -0
- package/registry/fonts/rocknroll-one.json +22 -0
- package/registry/fonts/rokkitt.json +30 -0
- package/registry/fonts/romanesco.json +21 -0
- package/registry/fonts/ropa-sans.json +21 -0
- package/registry/fonts/rosario.json +26 -0
- package/registry/fonts/rosarivo.json +21 -0
- package/registry/fonts/rouge-script.json +20 -0
- package/registry/fonts/rowdies.json +24 -0
- package/registry/fonts/rozha-one.json +22 -0
- package/registry/fonts/rubik-80s-fade.json +24 -0
- package/registry/fonts/rubik-beastly.json +24 -0
- package/registry/fonts/rubik-broken-fax.json +26 -0
- package/registry/fonts/rubik-bubbles.json +24 -0
- package/registry/fonts/rubik-burned.json +24 -0
- package/registry/fonts/rubik-dirt.json +24 -0
- package/registry/fonts/rubik-distressed.json +24 -0
- package/registry/fonts/rubik-doodle-shadow.json +26 -0
- package/registry/fonts/rubik-doodle-triangles.json +26 -0
- package/registry/fonts/rubik-gemstones.json +24 -0
- package/registry/fonts/rubik-glitch-pop.json +26 -0
- package/registry/fonts/rubik-glitch.json +24 -0
- package/registry/fonts/rubik-iso.json +24 -0
- package/registry/fonts/rubik-lines.json +26 -0
- package/registry/fonts/rubik-maps.json +26 -0
- package/registry/fonts/rubik-marker-hatch.json +24 -0
- package/registry/fonts/rubik-maze.json +24 -0
- package/registry/fonts/rubik-microbe.json +24 -0
- package/registry/fonts/rubik-mono-one.json +22 -0
- package/registry/fonts/rubik-moonrocks.json +24 -0
- package/registry/fonts/rubik-pixels.json +24 -0
- package/registry/fonts/rubik-puddles.json +24 -0
- package/registry/fonts/rubik-scribble.json +26 -0
- package/registry/fonts/rubik-spray-paint.json +24 -0
- package/registry/fonts/rubik-storm.json +24 -0
- package/registry/fonts/rubik-vinyl.json +24 -0
- package/registry/fonts/rubik-wet-paint.json +24 -0
- package/registry/fonts/rubik.json +31 -0
- package/registry/fonts/ruda.json +28 -0
- package/registry/fonts/rufina.json +22 -0
- package/registry/fonts/ruge-boogie.json +22 -0
- package/registry/fonts/ruluko.json +21 -0
- package/registry/fonts/rum-raisin.json +21 -0
- package/registry/fonts/ruslan-display.json +24 -0
- package/registry/fonts/russo-one.json +22 -0
- package/registry/fonts/ruthie.json +22 -0
- package/registry/fonts/ruwudu.json +25 -0
- package/registry/fonts/rye.json +21 -0
- package/registry/fonts/sacramento.json +21 -0
- package/registry/fonts/sahitya.json +22 -0
- package/registry/fonts/sail.json +21 -0
- package/registry/fonts/saira-condensed.json +30 -0
- package/registry/fonts/saira-extra-condensed.json +30 -0
- package/registry/fonts/saira-semi-condensed.json +30 -0
- package/registry/fonts/saira-stencil-one.json +22 -0
- package/registry/fonts/saira.json +30 -0
- package/registry/fonts/salsa.json +20 -0
- package/registry/fonts/sanchez.json +21 -0
- package/registry/fonts/sancreek.json +21 -0
- package/registry/fonts/sankofa-display.json +22 -0
- package/registry/fonts/sansation.json +25 -0
- package/registry/fonts/sansita-swashed.json +28 -0
- package/registry/fonts/sansita.json +24 -0
- package/registry/fonts/sarabun.json +30 -0
- package/registry/fonts/sarala.json +23 -0
- package/registry/fonts/sarina.json +21 -0
- package/registry/fonts/sarpanch.json +27 -0
- package/registry/fonts/sassy-frass.json +22 -0
- package/registry/fonts/satisfy.json +20 -0
- package/registry/fonts/savate.json +28 -0
- package/registry/fonts/sawarabi-gothic.json +24 -0
- package/registry/fonts/sawarabi-mincho.json +23 -0
- package/registry/fonts/scada.json +24 -0
- package/registry/fonts/scheherazade-new.json +25 -0
- package/registry/fonts/schibsted-grotesk.json +26 -0
- package/registry/fonts/schoolbell.json +20 -0
- package/registry/fonts/science-gothic.json +32 -0
- package/registry/fonts/scope-one.json +21 -0
- package/registry/fonts/seaweed-script.json +21 -0
- package/registry/fonts/secular-one.json +22 -0
- package/registry/fonts/sedan-sc.json +21 -0
- package/registry/fonts/sedan.json +21 -0
- package/registry/fonts/sedgwick-ave-display.json +22 -0
- package/registry/fonts/sedgwick-ave.json +22 -0
- package/registry/fonts/sekuya.json +21 -0
- package/registry/fonts/sen.json +25 -0
- package/registry/fonts/send-flowers.json +22 -0
- package/registry/fonts/sevillana.json +21 -0
- package/registry/fonts/seymour-one.json +22 -0
- package/registry/fonts/shadows-into-light-two.json +21 -0
- package/registry/fonts/shadows-into-light.json +21 -0
- package/registry/fonts/shafarik.json +24 -0
- package/registry/fonts/shalimar.json +22 -0
- package/registry/fonts/shantell-sans.json +29 -0
- package/registry/fonts/shanti.json +21 -0
- package/registry/fonts/share-tech-mono.json +20 -0
- package/registry/fonts/share-tech.json +20 -0
- package/registry/fonts/share.json +22 -0
- package/registry/fonts/shippori-antique-b1.json +22 -0
- package/registry/fonts/shippori-antique.json +22 -0
- package/registry/fonts/shippori-mincho-b1.json +26 -0
- package/registry/fonts/shippori-mincho.json +26 -0
- package/registry/fonts/shizuru.json +21 -0
- package/registry/fonts/shojumaru.json +21 -0
- package/registry/fonts/short-stack.json +20 -0
- package/registry/fonts/shrikhand.json +22 -0
- package/registry/fonts/siemreap.json +20 -0
- package/registry/fonts/sigmar-one.json +22 -0
- package/registry/fonts/sigmar.json +22 -0
- package/registry/fonts/signika-negative.json +26 -0
- package/registry/fonts/signika.json +26 -0
- package/registry/fonts/silkscreen.json +22 -0
- package/registry/fonts/simonetta.json +22 -0
- package/registry/fonts/single-day.json +20 -0
- package/registry/fonts/sintony.json +22 -0
- package/registry/fonts/sirin-stencil.json +20 -0
- package/registry/fonts/sirivennela.json +21 -0
- package/registry/fonts/six-caps.json +21 -0
- package/registry/fonts/sixtyfour-convergence.json +23 -0
- package/registry/fonts/sixtyfour.json +23 -0
- package/registry/fonts/skranji.json +22 -0
- package/registry/fonts/slabo-13px.json +21 -0
- package/registry/fonts/slabo-27px.json +21 -0
- package/registry/fonts/slackey.json +20 -0
- package/registry/fonts/slackside-one.json +22 -0
- package/registry/fonts/smokum.json +21 -0
- package/registry/fonts/smooch-sans.json +30 -0
- package/registry/fonts/smooch.json +22 -0
- package/registry/fonts/smythe.json +20 -0
- package/registry/fonts/sn-pro.json +31 -0
- package/registry/fonts/sniglet.json +22 -0
- package/registry/fonts/snippet.json +20 -0
- package/registry/fonts/snowburst-one.json +21 -0
- package/registry/fonts/sofadi-one.json +20 -0
- package/registry/fonts/sofia-sans-condensed.json +34 -0
- package/registry/fonts/sofia-sans-extra-condensed.json +34 -0
- package/registry/fonts/sofia-sans-semi-condensed.json +34 -0
- package/registry/fonts/sofia-sans.json +34 -0
- package/registry/fonts/sofia.json +20 -0
- package/registry/fonts/solitreo.json +22 -0
- package/registry/fonts/solway.json +24 -0
- package/registry/fonts/sometype-mono.json +24 -0
- package/registry/fonts/song-myung.json +20 -0
- package/registry/fonts/sono.json +28 -0
- package/registry/fonts/sonsie-one.json +21 -0
- package/registry/fonts/sora.json +28 -0
- package/registry/fonts/sorts-mill-goudy.json +21 -0
- package/registry/fonts/sour-gummy.json +29 -0
- package/registry/fonts/source-code-pro.json +33 -0
- package/registry/fonts/source-sans-3.json +33 -0
- package/registry/fonts/source-serif-4.json +32 -0
- package/registry/fonts/space-grotesk.json +26 -0
- package/registry/fonts/space-mono.json +23 -0
- package/registry/fonts/special-elite.json +21 -0
- package/registry/fonts/special-gothic-condensed-one.json +21 -0
- package/registry/fonts/special-gothic-expanded-one.json +21 -0
- package/registry/fonts/special-gothic.json +24 -0
- package/registry/fonts/spectral-sc.json +30 -0
- package/registry/fonts/spectral.json +30 -0
- package/registry/fonts/spicy-rice.json +21 -0
- package/registry/fonts/spinnaker.json +21 -0
- package/registry/fonts/spirax.json +20 -0
- package/registry/fonts/splash.json +22 -0
- package/registry/fonts/spline-sans-mono.json +25 -0
- package/registry/fonts/spline-sans.json +25 -0
- package/registry/fonts/squada-one.json +20 -0
- package/registry/fonts/square-peg.json +22 -0
- package/registry/fonts/sree-krushnadevaraya.json +21 -0
- package/registry/fonts/sriracha.json +23 -0
- package/registry/fonts/srisakdi.json +24 -0
- package/registry/fonts/staatliches.json +21 -0
- package/registry/fonts/stack-sans-headline.json +26 -0
- package/registry/fonts/stack-sans-notch.json +26 -0
- package/registry/fonts/stack-sans-text.json +26 -0
- package/registry/fonts/stalemate.json +21 -0
- package/registry/fonts/stalinist-one.json +22 -0
- package/registry/fonts/stardos-stencil.json +21 -0
- package/registry/fonts/stick-no-bills.json +28 -0
- package/registry/fonts/stick.json +23 -0
- package/registry/fonts/stint-ultra-condensed.json +21 -0
- package/registry/fonts/stint-ultra-expanded.json +21 -0
- package/registry/fonts/stix-two-text.json +28 -0
- package/registry/fonts/stoke.json +22 -0
- package/registry/fonts/story-script.json +22 -0
- package/registry/fonts/strait.json +21 -0
- package/registry/fonts/style-script.json +22 -0
- package/registry/fonts/stylish.json +20 -0
- package/registry/fonts/sue-ellen-francisco.json +20 -0
- package/registry/fonts/suez-one.json +22 -0
- package/registry/fonts/sulphur-point.json +23 -0
- package/registry/fonts/sumana.json +23 -0
- package/registry/fonts/sunflower.json +22 -0
- package/registry/fonts/sunshiney.json +20 -0
- package/registry/fonts/supermercado-one.json +21 -0
- package/registry/fonts/sura.json +23 -0
- package/registry/fonts/suranna.json +21 -0
- package/registry/fonts/suravaram.json +21 -0
- package/registry/fonts/suse-mono.json +29 -0
- package/registry/fonts/suse.json +30 -0
- package/registry/fonts/suwannaphum.json +25 -0
- package/registry/fonts/swanky-and-moo-moo.json +21 -0
- package/registry/fonts/syncopate.json +22 -0
- package/registry/fonts/syne-mono.json +21 -0
- package/registry/fonts/syne-tactile.json +21 -0
- package/registry/fonts/syne.json +26 -0
- package/registry/fonts/tac-one.json +24 -0
- package/registry/fonts/tagesschrift.json +21 -0
- package/registry/fonts/tai-heritage-pro.json +24 -0
- package/registry/fonts/tajawal.json +27 -0
- package/registry/fonts/tangerine.json +21 -0
- package/registry/fonts/tapestry.json +22 -0
- package/registry/fonts/taprom.json +21 -0
- package/registry/fonts/tasa-explorer.json +25 -0
- package/registry/fonts/tasa-orbiter.json +25 -0
- package/registry/fonts/tauri.json +21 -0
- package/registry/fonts/taviraj.json +31 -0
- package/registry/fonts/teachers.json +26 -0
- package/registry/fonts/teko.json +26 -0
- package/registry/fonts/tektur.json +30 -0
- package/registry/fonts/telex.json +21 -0
- package/registry/fonts/tenali-ramakrishna.json +21 -0
- package/registry/fonts/tenor-sans.json +22 -0
- package/registry/fonts/text-me-one.json +21 -0
- package/registry/fonts/texturina.json +30 -0
- package/registry/fonts/thasadith.json +24 -0
- package/registry/fonts/the-girl-next-door.json +21 -0
- package/registry/fonts/the-nautigal.json +23 -0
- package/registry/fonts/tienne.json +22 -0
- package/registry/fonts/tiktok-sans.json +31 -0
- package/registry/fonts/tillana.json +26 -0
- package/registry/fonts/tilt-neon.json +22 -0
- package/registry/fonts/tilt-prism.json +22 -0
- package/registry/fonts/tilt-warp.json +22 -0
- package/registry/fonts/timmana.json +21 -0
- package/registry/fonts/tinos.json +28 -0
- package/registry/fonts/tiny5.json +24 -0
- package/registry/fonts/tiro-bangla.json +22 -0
- package/registry/fonts/tiro-devanagari-hindi.json +22 -0
- package/registry/fonts/tiro-devanagari-marathi.json +22 -0
- package/registry/fonts/tiro-devanagari-sanskrit.json +22 -0
- package/registry/fonts/tiro-gurmukhi.json +22 -0
- package/registry/fonts/tiro-kannada.json +22 -0
- package/registry/fonts/tiro-tamil.json +22 -0
- package/registry/fonts/tiro-telugu.json +22 -0
- package/registry/fonts/tirra.json +27 -0
- package/registry/fonts/titan-one.json +21 -0
- package/registry/fonts/titillium-web.json +26 -0
- package/registry/fonts/tomorrow.json +29 -0
- package/registry/fonts/tourney.json +30 -0
- package/registry/fonts/trade-winds.json +20 -0
- package/registry/fonts/train-one.json +23 -0
- package/registry/fonts/triodion.json +22 -0
- package/registry/fonts/trirong.json +31 -0
- package/registry/fonts/trispace.json +29 -0
- package/registry/fonts/trocchi.json +21 -0
- package/registry/fonts/trochut.json +21 -0
- package/registry/fonts/truculenta.json +30 -0
- package/registry/fonts/trykker.json +21 -0
- package/registry/fonts/tsukimi-rounded.json +26 -0
- package/registry/fonts/tuffy.json +27 -0
- package/registry/fonts/tulpen-one.json +20 -0
- package/registry/fonts/turret-road.json +26 -0
- package/registry/fonts/twinkle-star.json +22 -0
- package/registry/fonts/ubuntu-condensed.json +25 -0
- package/registry/fonts/ubuntu-mono.json +26 -0
- package/registry/fonts/ubuntu-sans-mono.json +28 -0
- package/registry/fonts/ubuntu-sans.json +32 -0
- package/registry/fonts/ubuntu.json +28 -0
- package/registry/fonts/uchen.json +21 -0
- package/registry/fonts/ultra.json +21 -0
- package/registry/fonts/unbounded.json +31 -0
- package/registry/fonts/uncial-antiqua.json +21 -0
- package/registry/fonts/underdog.json +22 -0
- package/registry/fonts/unica-one.json +22 -0
- package/registry/fonts/unifrakturcook.json +20 -0
- package/registry/fonts/unifrakturmaguntia.json +20 -0
- package/registry/fonts/unkempt.json +21 -0
- package/registry/fonts/unlock.json +21 -0
- package/registry/fonts/unna.json +22 -0
- package/registry/fonts/uoqmunthenkhung.json +23 -0
- package/registry/fonts/updock.json +22 -0
- package/registry/fonts/urbanist.json +29 -0
- package/registry/fonts/vampiro-one.json +21 -0
- package/registry/fonts/varela-round.json +23 -0
- package/registry/fonts/varela.json +21 -0
- package/registry/fonts/varta.json +26 -0
- package/registry/fonts/vast-shadow.json +20 -0
- package/registry/fonts/vazirmatn.json +30 -0
- package/registry/fonts/vend-sans.json +25 -0
- package/registry/fonts/vesper-libre.json +25 -0
- package/registry/fonts/viaoda-libre.json +24 -0
- package/registry/fonts/vibes.json +21 -0
- package/registry/fonts/vibur.json +20 -0
- package/registry/fonts/victor-mono.json +31 -0
- package/registry/fonts/vidaloka.json +20 -0
- package/registry/fonts/viga.json +21 -0
- package/registry/fonts/vina-sans.json +22 -0
- package/registry/fonts/voces.json +21 -0
- package/registry/fonts/volkhov.json +21 -0
- package/registry/fonts/vollkorn-sc.json +27 -0
- package/registry/fonts/vollkorn.json +30 -0
- package/registry/fonts/voltaire.json +22 -0
- package/registry/fonts/vt323.json +22 -0
- package/registry/fonts/vujahday-script.json +22 -0
- package/registry/fonts/waiting-for-the-sunrise.json +21 -0
- package/registry/fonts/wallpoet.json +20 -0
- package/registry/fonts/walter-turncoat.json +20 -0
- package/registry/fonts/warnes.json +21 -0
- package/registry/fonts/water-brush.json +22 -0
- package/registry/fonts/waterfall.json +22 -0
- package/registry/fonts/wavefont.json +28 -0
- package/registry/fonts/wdxl-lubrifont-jp-n.json +24 -0
- package/registry/fonts/wdxl-lubrifont-sc.json +24 -0
- package/registry/fonts/wdxl-lubrifont-tc.json +24 -0
- package/registry/fonts/wellfleet.json +21 -0
- package/registry/fonts/wendy-one.json +21 -0
- package/registry/fonts/whisper.json +22 -0
- package/registry/fonts/windsong.json +23 -0
- package/registry/fonts/winky-rough.json +27 -0
- package/registry/fonts/winky-sans.json +27 -0
- package/registry/fonts/wire-one.json +20 -0
- package/registry/fonts/wittgenstein.json +26 -0
- package/registry/fonts/wix-madefor-display.json +28 -0
- package/registry/fonts/wix-madefor-text.json +28 -0
- package/registry/fonts/work-sans.json +30 -0
- package/registry/fonts/workbench.json +22 -0
- package/registry/fonts/xanh-mono.json +22 -0
- package/registry/fonts/yaldevi.json +27 -0
- package/registry/fonts/yanone-kaffeesatz.json +31 -0
- package/registry/fonts/yantramanav.json +27 -0
- package/registry/fonts/yarndings-12-charted.json +22 -0
- package/registry/fonts/yarndings-12.json +22 -0
- package/registry/fonts/yarndings-20-charted.json +22 -0
- package/registry/fonts/yarndings-20.json +22 -0
- package/registry/fonts/yatra-one.json +22 -0
- package/registry/fonts/yellowtail.json +21 -0
- package/registry/fonts/yeon-sung.json +21 -0
- package/registry/fonts/yeseva-one.json +24 -0
- package/registry/fonts/yesteryear.json +21 -0
- package/registry/fonts/yomogi.json +24 -0
- package/registry/fonts/young-serif.json +21 -0
- package/registry/fonts/yrsa.json +26 -0
- package/registry/fonts/ysabeau-infant.json +37 -0
- package/registry/fonts/ysabeau-office.json +37 -0
- package/registry/fonts/ysabeau-sc.json +37 -0
- package/registry/fonts/ysabeau.json +37 -0
- package/registry/fonts/yuji-boku.json +23 -0
- package/registry/fonts/yuji-hentaigana-akari.json +22 -0
- package/registry/fonts/yuji-hentaigana-akebono.json +22 -0
- package/registry/fonts/yuji-mai.json +23 -0
- package/registry/fonts/yuji-syuku.json +23 -0
- package/registry/fonts/yusei-magic.json +22 -0
- package/registry/fonts/zain.json +26 -0
- package/registry/fonts/zalando-sans-expanded.json +28 -0
- package/registry/fonts/zalando-sans-semiexpanded.json +28 -0
- package/registry/fonts/zalando-sans.json +28 -0
- package/registry/fonts/zcool-kuaile.json +21 -0
- package/registry/fonts/zcool-qingke-huangyou.json +21 -0
- package/registry/fonts/zcool-xiaowei.json +21 -0
- package/registry/fonts/zen-antique-soft.json +24 -0
- package/registry/fonts/zen-antique.json +24 -0
- package/registry/fonts/zen-dots.json +21 -0
- package/registry/fonts/zen-kaku-gothic-antique.json +27 -0
- package/registry/fonts/zen-kaku-gothic-new.json +27 -0
- package/registry/fonts/zen-kurenaido.json +24 -0
- package/registry/fonts/zen-loop.json +21 -0
- package/registry/fonts/zen-maru-gothic.json +28 -0
- package/registry/fonts/zen-old-mincho.json +28 -0
- package/registry/fonts/zen-tokyo-zoo.json +21 -0
- package/registry/fonts/zeyada.json +21 -0
- package/registry/fonts/zhi-mang-xing.json +21 -0
- package/registry/fonts/zilla-slab-highlight.json +22 -0
- package/registry/fonts/zilla-slab.json +25 -0
- package/registry/pairings/abalone.json +72 -0
- package/registry/pairings/acacia.json +72 -0
- package/registry/pairings/agate.json +72 -0
- package/registry/pairings/aileron.json +72 -0
- package/registry/pairings/alchemy.json +72 -0
- package/registry/pairings/alpine.json +72 -0
- package/registry/pairings/amber.json +72 -0
- package/registry/pairings/anchor.json +72 -0
- package/registry/pairings/anvil.json +72 -0
- package/registry/pairings/apex.json +72 -0
- package/registry/pairings/aria.json +72 -0
- package/registry/pairings/atlas.json +72 -0
- package/registry/pairings/aurora.json +72 -0
- package/registry/pairings/azimuth.json +72 -0
- package/registry/pairings/badger.json +72 -0
- package/registry/pairings/barley.json +72 -0
- package/registry/pairings/basil.json +72 -0
- package/registry/pairings/beacon.json +72 -0
- package/registry/pairings/birch.json +72 -0
- package/registry/pairings/bison.json +72 -0
- package/registry/pairings/blackboard.json +72 -0
- package/registry/pairings/blizzard.json +72 -0
- package/registry/pairings/bluebird.json +72 -0
- package/registry/pairings/briar.json +72 -0
- package/registry/pairings/bronze.json +72 -0
- package/registry/pairings/brook.json +72 -0
- package/registry/pairings/brushwood.json +72 -0
- package/registry/pairings/butte.json +72 -0
- package/registry/pairings/caldera.json +72 -0
- package/registry/pairings/canvas.json +72 -0
- package/registry/pairings/cardinal.json +72 -0
- package/registry/pairings/cedar.json +72 -0
- package/registry/pairings/chalk.json +72 -0
- package/registry/pairings/chisel.json +72 -0
- package/registry/pairings/citadel.json +72 -0
- package/registry/pairings/cobalt.json +72 -0
- package/registry/pairings/comet.json +72 -0
- package/registry/pairings/compass.json +72 -0
- package/registry/pairings/coral.json +72 -0
- package/registry/pairings/corbel.json +72 -0
- package/registry/pairings/cormorant.json +72 -0
- package/registry/pairings/crag.json +72 -0
- package/registry/pairings/crescent.json +72 -0
- package/registry/pairings/crowbar.json +72 -0
- package/registry/pairings/crystal.json +72 -0
- package/registry/pairings/cypress.json +72 -0
- package/registry/pairings/delta.json +72 -0
- package/registry/pairings/denim.json +72 -0
- package/registry/pairings/desert.json +72 -0
- package/registry/pairings/dune.json +72 -0
- package/registry/pairings/eagle.json +72 -0
- package/registry/pairings/eddy.json +72 -0
- package/registry/pairings/elm.json +72 -0
- package/registry/pairings/ember.json +72 -0
- package/registry/pairings/equinox.json +73 -0
- package/registry/pairings/falcon.json +73 -0
- package/registry/pairings/fathom.json +73 -0
- package/registry/pairings/fern.json +73 -0
- package/registry/pairings/finch.json +73 -0
- package/registry/pairings/fjord.json +73 -0
- package/registry/pairings/flint.json +73 -0
- package/registry/pairings/fogbank.json +73 -0
- package/registry/pairings/forge.json +73 -0
- package/registry/pairings/fossil.json +73 -0
- package/registry/pairings/frost.json +73 -0
- package/registry/pairings/galaxy.json +73 -0
- package/registry/pairings/garnet.json +73 -0
- package/registry/pairings/gecko.json +73 -0
- package/registry/pairings/glacier.json +73 -0
- package/registry/pairings/glen.json +73 -0
- package/registry/pairings/glyph.json +73 -0
- package/registry/pairings/granite.json +73 -0
- package/registry/pairings/graphite.json +73 -0
- package/registry/pairings/grebe.json +73 -0
- package/registry/pairings/grove.json +73 -0
- package/registry/pairings/gull.json +73 -0
- package/registry/pairings/harbor.json +73 -0
- package/registry/pairings/harvest.json +73 -0
- package/registry/pairings/haven.json +73 -0
- package/registry/pairings/hawthorn.json +73 -0
- package/registry/pairings/hazel.json +73 -0
- package/registry/pairings/heath.json +73 -0
- package/registry/pairings/heron.json +73 -0
- package/registry/pairings/hoarfrost.json +73 -0
- package/registry/pairings/horizon.json +73 -0
- package/registry/pairings/ibis.json +73 -0
- package/registry/pairings/inkwell.json +73 -0
- package/registry/pairings/iris.json +73 -0
- package/registry/pairings/islet.json +73 -0
- package/registry/pairings/ivory.json +73 -0
- package/registry/pairings/jade.json +73 -0
- package/registry/pairings/jasper.json +73 -0
- package/registry/pairings/jetty.json +73 -0
- package/registry/pairings/kestrel.json +73 -0
- package/registry/pairings/kiln.json +73 -0
- package/registry/pairings/lagoon.json +73 -0
- package/registry/pairings/lark.json +73 -0
- package/registry/pairings/latitude.json +73 -0
- package/registry/pairings/laurel.json +73 -0
- package/registry/pairings/ledger.json +73 -0
- package/registry/pairings/lichen.json +73 -0
- package/registry/pairings/lighthouse.json +73 -0
- package/registry/pairings/limestone.json +73 -0
- package/registry/pairings/lotus.json +73 -0
- package/registry/pairings/lumen.json +73 -0
- package/registry/pairings/lunar.json +73 -0
- package/registry/pairings/lynx.json +73 -0
- package/registry/pairings/magnet.json +73 -0
- package/registry/pairings/malachite.json +73 -0
- package/registry/pairings/maple.json +73 -0
- package/registry/pairings/marble.json +73 -0
- package/registry/pairings/marlin.json +73 -0
- package/registry/pairings/meridian.json +73 -0
- package/registry/pairings/meteor.json +73 -0
- package/registry/pairings/mica.json +73 -0
- package/registry/pairings/midnight.json +73 -0
- package/registry/pairings/millet.json +73 -0
- package/registry/pairings/mist.json +73 -0
- package/registry/pairings/mongoose.json +73 -0
- package/registry/pairings/monsoon.json +73 -0
- package/registry/pairings/moor.json +73 -0
- package/registry/pairings/mosaic.json +73 -0
- package/registry/pairings/moss.json +73 -0
- package/registry/pairings/narwhal.json +73 -0
- package/registry/pairings/nebula.json +73 -0
- package/registry/pairings/nettle.json +73 -0
- package/registry/pairings/nexus.json +73 -0
- package/registry/pairings/nickel.json +73 -0
- package/registry/pairings/nightshade.json +73 -0
- package/registry/pairings/nutmeg.json +73 -0
- package/registry/pairings/oak.json +73 -0
- package/registry/pairings/obsidian.json +73 -0
- package/registry/pairings/ocelot.json +73 -0
- package/registry/pairings/octagon.json +73 -0
- package/registry/pairings/onyx.json +73 -0
- package/registry/pairings/opal.json +73 -0
- package/registry/pairings/orbit.json +73 -0
- package/registry/pairings/osprey.json +73 -0
- package/registry/pairings/otter.json +73 -0
- package/registry/pairings/oxbow.json +73 -0
- package/registry/pairings/oyster.json +73 -0
- package/registry/pairings/parchment.json +73 -0
- package/registry/pairings/patina.json +73 -0
- package/registry/pairings/pearl.json +73 -0
- package/registry/pairings/pelican.json +73 -0
- package/registry/pairings/peridot.json +73 -0
- package/registry/pairings/petrel.json +73 -0
- package/registry/pairings/phoenix.json +73 -0
- package/registry/pairings/pigeon.json +73 -0
- package/registry/pairings/pine.json +73 -0
- package/registry/pairings/pivot.json +73 -0
- package/registry/pairings/plenum.json +73 -0
- package/registry/pairings/plumage.json +73 -0
- package/registry/pairings/polaris.json +73 -0
- package/registry/pairings/pollen.json +73 -0
- package/registry/pairings/porpoise.json +73 -0
- package/registry/pairings/prairie.json +73 -0
- package/registry/pairings/prism.json +73 -0
- package/registry/pairings/prow.json +73 -0
- package/registry/pairings/pulsar.json +73 -0
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
import path from "node:path";
|
|
2
|
+
import { PAIRING_RECIPES } from "../data/pairing-recipes.mjs";
|
|
3
|
+
import { REGISTRY_FONTS_DIR, toKebab } from "../lib/paths.mjs";
|
|
4
|
+
import { ensureDir, writeJson } from "../lib/fs-utils.mjs";
|
|
5
|
+
|
|
6
|
+
const MANUAL_FONTS = [
|
|
7
|
+
{
|
|
8
|
+
family: "Geist",
|
|
9
|
+
category: "sans-serif",
|
|
10
|
+
weights: ["100", "200", "300", "400", "500", "600", "700", "800", "900"],
|
|
11
|
+
subsets: ["latin", "latin-ext"],
|
|
12
|
+
provider: "npm",
|
|
13
|
+
npmPackage: "geist",
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
family: "Geist Mono",
|
|
17
|
+
category: "monospace",
|
|
18
|
+
weights: ["100", "200", "300", "400", "500", "600", "700", "800", "900"],
|
|
19
|
+
subsets: ["latin", "latin-ext"],
|
|
20
|
+
provider: "npm",
|
|
21
|
+
npmPackage: "geist",
|
|
22
|
+
},
|
|
23
|
+
];
|
|
24
|
+
|
|
25
|
+
function importNameForFamily(family) {
|
|
26
|
+
return family.replace(/ /g, "_");
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
function extractWeights(variants) {
|
|
30
|
+
const weights = new Set();
|
|
31
|
+
for (const variant of variants) {
|
|
32
|
+
const match = String(variant).match(/^(\d+)/);
|
|
33
|
+
if (match) weights.add(match[1]);
|
|
34
|
+
if (variant === "regular" || variant === "italic") weights.add("400");
|
|
35
|
+
}
|
|
36
|
+
return [...weights].sort();
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
function toAstrotypesFontEntry({ family, category, weights, subsets, provider, dependency, npmPackage }) {
|
|
40
|
+
const name = toKebab(family);
|
|
41
|
+
const usesVariablePackage = provider === "google" && !dependency;
|
|
42
|
+
return {
|
|
43
|
+
name,
|
|
44
|
+
type: "astrotypes:font",
|
|
45
|
+
title: family,
|
|
46
|
+
description: `${family} font definition for Astrotypes.`,
|
|
47
|
+
category,
|
|
48
|
+
font: {
|
|
49
|
+
family: usesVariablePackage ? `${family} Variable` : family,
|
|
50
|
+
provider,
|
|
51
|
+
import: importNameForFamily(family),
|
|
52
|
+
variable: `--font-${name}`,
|
|
53
|
+
weight: weights,
|
|
54
|
+
subsets,
|
|
55
|
+
...(dependency ? { dependency } : {}),
|
|
56
|
+
...(npmPackage ? { npmPackage } : {}),
|
|
57
|
+
},
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
function parseWebfontsItem(item) {
|
|
62
|
+
const rawVariants = Array.isArray(item.variants) ? item.variants : ["regular"];
|
|
63
|
+
return {
|
|
64
|
+
family: item.family,
|
|
65
|
+
category: item.category || "sans-serif",
|
|
66
|
+
subsets: Array.isArray(item.subsets) && item.subsets.length > 0 ? item.subsets : ["latin"],
|
|
67
|
+
variants: rawVariants,
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
function parseMetadataItem(item) {
|
|
72
|
+
const weights = Object.keys(item.fonts || {}).filter((key) => !key.includes("i"));
|
|
73
|
+
return {
|
|
74
|
+
family: item.family,
|
|
75
|
+
category: item.category || "sans-serif",
|
|
76
|
+
subsets: item.subsets || ["latin"],
|
|
77
|
+
variants: weights.length > 0 ? weights : ["400"],
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
async function loadGoogleFamilies(apiKey) {
|
|
82
|
+
if (apiKey) {
|
|
83
|
+
const webfontsUrl = `https://www.googleapis.com/webfonts/v1/webfonts?key=${encodeURIComponent(
|
|
84
|
+
apiKey
|
|
85
|
+
)}`;
|
|
86
|
+
const response = await fetch(webfontsUrl);
|
|
87
|
+
if (!response.ok) {
|
|
88
|
+
throw new Error(`Google Webfonts API failed (${response.status}).`);
|
|
89
|
+
}
|
|
90
|
+
const payload = await response.json();
|
|
91
|
+
return (payload.items ?? []).map(parseWebfontsItem);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
const response = await fetch("https://fonts.google.com/metadata/fonts");
|
|
95
|
+
const responseText = await response.text();
|
|
96
|
+
const metadata = JSON.parse(responseText.replace(/^\)]\}'?\n?/, ""));
|
|
97
|
+
const familyList = metadata.familyMetadataList ?? [];
|
|
98
|
+
return familyList.map(parseMetadataItem);
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
export async function generateFontsCommand(options = {}) {
|
|
102
|
+
ensureDir(REGISTRY_FONTS_DIR);
|
|
103
|
+
|
|
104
|
+
const requiredByRecipes = new Set();
|
|
105
|
+
for (const recipe of PAIRING_RECIPES) {
|
|
106
|
+
requiredByRecipes.add(toKebab(recipe.heading));
|
|
107
|
+
requiredByRecipes.add(toKebab(recipe.body));
|
|
108
|
+
requiredByRecipes.add(toKebab(recipe.mono));
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
const apiKey = options.apiKey || process.env.GOOGLE_FONTS_API_KEY;
|
|
112
|
+
if (apiKey) {
|
|
113
|
+
console.log("Using Google Webfonts API with key from env/flag.");
|
|
114
|
+
} else {
|
|
115
|
+
console.log("Using public Google metadata endpoint (no API key).");
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
const familyList = await loadGoogleFamilies(apiKey);
|
|
119
|
+
const parsedTarget = Number(options.targetFonts);
|
|
120
|
+
const targetFonts =
|
|
121
|
+
Number.isFinite(parsedTarget) && parsedTarget > 0
|
|
122
|
+
? Math.floor(parsedTarget)
|
|
123
|
+
: familyList.length;
|
|
124
|
+
|
|
125
|
+
const selectedFamilyNames = new Set(requiredByRecipes);
|
|
126
|
+
if (targetFonts > selectedFamilyNames.size) {
|
|
127
|
+
for (const item of familyList) {
|
|
128
|
+
const name = toKebab(item.family);
|
|
129
|
+
selectedFamilyNames.add(name);
|
|
130
|
+
if (selectedFamilyNames.size >= targetFonts) break;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
let generated = 0;
|
|
135
|
+
for (const item of familyList) {
|
|
136
|
+
const family = item.family;
|
|
137
|
+
const name = toKebab(family);
|
|
138
|
+
if (!selectedFamilyNames.has(name)) continue;
|
|
139
|
+
|
|
140
|
+
const entry = toAstrotypesFontEntry({
|
|
141
|
+
family,
|
|
142
|
+
category: item.category || "sans-serif",
|
|
143
|
+
weights: extractWeights(item.variants ?? ["400"]),
|
|
144
|
+
subsets: item.subsets || ["latin"],
|
|
145
|
+
provider: "google",
|
|
146
|
+
dependency: undefined,
|
|
147
|
+
});
|
|
148
|
+
writeJson(path.join(REGISTRY_FONTS_DIR, `${entry.name}.json`), entry);
|
|
149
|
+
generated++;
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
for (const manual of MANUAL_FONTS) {
|
|
153
|
+
const entry = toAstrotypesFontEntry({
|
|
154
|
+
family: manual.family,
|
|
155
|
+
category: manual.category,
|
|
156
|
+
weights: manual.weights,
|
|
157
|
+
subsets: manual.subsets,
|
|
158
|
+
provider: manual.provider,
|
|
159
|
+
npmPackage: manual.npmPackage,
|
|
160
|
+
});
|
|
161
|
+
writeJson(path.join(REGISTRY_FONTS_DIR, `${entry.name}.json`), entry);
|
|
162
|
+
generated++;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
console.log(
|
|
166
|
+
`Generated ${generated} Astrotypes font entries in registry/fonts (target ${targetFonts}).`,
|
|
167
|
+
);
|
|
168
|
+
}
|
|
169
|
+
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import fs from "node:fs";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { GENERATED_DATA_DIR, REGISTRY_PAIRINGS_DIR } from "../lib/paths.mjs";
|
|
4
|
+
import { ensureDir, listJsonFiles, readJson } from "../lib/fs-utils.mjs";
|
|
5
|
+
|
|
6
|
+
export async function syncPairingsCommand() {
|
|
7
|
+
ensureDir(GENERATED_DATA_DIR);
|
|
8
|
+
const files = listJsonFiles(REGISTRY_PAIRINGS_DIR);
|
|
9
|
+
const entries = files.map((fileName) =>
|
|
10
|
+
readJson(path.join(REGISTRY_PAIRINGS_DIR, fileName))
|
|
11
|
+
);
|
|
12
|
+
|
|
13
|
+
const output = `// AUTO-GENERATED FILE. DO NOT EDIT.
|
|
14
|
+
// Source: registry/pairings/*.json
|
|
15
|
+
|
|
16
|
+
export const PAIRINGS_DATA = ${JSON.stringify(entries, null, 2)};
|
|
17
|
+
`;
|
|
18
|
+
|
|
19
|
+
fs.writeFileSync(path.join(GENERATED_DATA_DIR, "pairings.generated.mjs"), output);
|
|
20
|
+
console.log(`Synced ${entries.length} pairings to src/data/pairings.generated.mjs`);
|
|
21
|
+
}
|
|
22
|
+
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
export const PAIRING_RECIPES = [
|
|
2
|
+
{ name: "product", heading: "Plus Jakarta Sans", body: "Inter", mono: "JetBrains Mono", description: "Product-focused clarity. Jakarta's slightly warmer geometry gives headings personality without the noise, while Inter handles the fine print with surgical precision.", categories: ["sans-serif", "complementary", "product"], mood: ["friendly", "professional"], useCase: ["SaaS", "product", "web app"] },
|
|
3
|
+
{ name: "editorial", heading: "Playfair Display", body: "DM Sans", mono: "JetBrains Mono", description: "High-contrast editorial pairing for storytelling and long-form writing.", categories: ["serif", "contrast", "editorial"], mood: ["sophisticated", "expressive"], useCase: ["blog", "magazine", "content"] },
|
|
4
|
+
{ name: "technical", heading: "IBM Plex Sans", body: "Inter", mono: "IBM Plex Mono", description: "Engineering-focused pairing tuned for docs, changelogs, and product UI.", categories: ["sans-serif", "developer", "technical"], mood: ["precise", "neutral"], useCase: ["docs", "developer-tools", "enterprise"] },
|
|
5
|
+
{ name: "minimal", heading: "Geist", body: "Geist", mono: "Geist Mono", description: "Systematic pairing with Geist family for modern interfaces.", categories: ["system", "minimal"], mood: ["minimal", "focused"], useCase: ["app", "portfolio", "landing"] },
|
|
6
|
+
{ name: "broadsheet", heading: "Playfair Display", body: "DM Sans", mono: "JetBrains Mono", description: "High-contrast editorial with a modern twist.", categories: ["serif", "contrast", "editorial"], mood: ["sophisticated", "editorial"], useCase: ["news", "magazine", "blog"] },
|
|
7
|
+
{ name: "scholar", heading: "EB Garamond", body: "Inter", mono: "Source Code Pro", description: "Academic precision meets digital clarity.", categories: ["serif", "contrast", "academic"], mood: ["academic", "refined"], useCase: ["documentation", "research", "education"] },
|
|
8
|
+
{ name: "hearth", heading: "Lora", body: "Nunito Sans", mono: "Inconsolata", description: "Warm and inviting with narrative personality.", categories: ["serif", "contrast", "warm"], mood: ["warm", "narrative"], useCase: ["blog", "storytelling", "content"] },
|
|
9
|
+
{ name: "journal", heading: "Merriweather", body: "Mulish", mono: "Source Code Pro", description: "Purpose-built reading experience for long-form content.", categories: ["serif", "contrast", "readable"], mood: ["reliable", "readable"], useCase: ["blog", "journal", "publishing"] },
|
|
10
|
+
{ name: "gazette", heading: "Cormorant Garamond", body: "Raleway", mono: "Roboto Mono", description: "Old-world elegance with contemporary grace.", categories: ["serif", "contrast", "elegant"], mood: ["elegant", "dramatic"], useCase: ["magazine", "luxury", "fashion"] },
|
|
11
|
+
{ name: "thesis", heading: "Noto Serif", body: "Noto Sans", mono: "Inconsolata", description: "Universal typography for multilingual products.", categories: ["serif", "contrast", "universal"], mood: ["universal", "professional"], useCase: ["documentation", "i18n", "enterprise"] },
|
|
12
|
+
{ name: "facade", heading: "Outfit", body: "Libre Baskerville", mono: "IBM Plex Mono", description: "Structured headings contrasted with refined body text.", categories: ["sans-serif", "contrast", "structured"], mood: ["structured", "professional"], useCase: ["portfolio", "agency", "architecture"] },
|
|
13
|
+
{ name: "curator", heading: "Plus Jakarta Sans", body: "PT Serif", mono: "Source Code Pro", description: "Contemporary curation with typographic depth.", categories: ["sans-serif", "contrast", "curated"], mood: ["curated", "contemporary"], useCase: ["gallery", "museum", "portfolio"] },
|
|
14
|
+
{ name: "dashboard", heading: "Manrope", body: "DM Sans", mono: "Fira Code", description: "Data-driven clarity for dense interfaces.", categories: ["sans-serif", "complementary", "data"], mood: ["analytical", "clear"], useCase: ["dashboard", "analytics", "admin"] },
|
|
15
|
+
{ name: "ledger", heading: "Outfit", body: "IBM Plex Sans", mono: "IBM Plex Mono", description: "Trustworthy product typography for finance.", categories: ["sans-serif", "complementary", "finance"], mood: ["trustworthy", "precise"], useCase: ["fintech", "banking", "enterprise"] },
|
|
16
|
+
{ name: "studio", heading: "Bricolage Grotesque", body: "Figtree", mono: "Fira Code", description: "Design-forward pairing with strong identity.", categories: ["sans-serif", "creative", "design"], mood: ["creative", "distinctive"], useCase: ["design studio", "agency", "creative"] },
|
|
17
|
+
{ name: "corporate", heading: "Roboto", body: "Roboto", mono: "Roboto Mono", description: "A cohesive and systematic Roboto stack.", categories: ["sans-serif", "superfamily", "corporate"], mood: ["neutral", "systematic"], useCase: ["enterprise", "Android", "Material Design"] },
|
|
18
|
+
{ name: "document", heading: "Source Sans 3", body: "Source Sans 3", mono: "Source Code Pro", description: "Open-source superfamily optimized for docs.", categories: ["sans-serif", "superfamily", "document"], mood: ["professional", "versatile"], useCase: ["documentation", "enterprise", "publishing"] },
|
|
19
|
+
{ name: "startup", heading: "Nunito", body: "Nunito Sans", mono: "Fira Code", description: "Friendly startup-friendly typography stack.", categories: ["sans-serif", "superfamily", "friendly"], mood: ["friendly", "approachable"], useCase: ["startup", "consumer app", "landing page"] },
|
|
20
|
+
{ name: "headline", heading: "Anton", body: "Work Sans", mono: "Roboto Mono", description: "Bold display-first pairing for impact.", categories: ["display", "bold", "impactful"], mood: ["bold", "impactful"], useCase: ["news", "sports", "media"] },
|
|
21
|
+
{ name: "poster", heading: "Oswald", body: "Barlow", mono: "Inconsolata", description: "Condensed, commanding headlines with readable body.", categories: ["display", "condensed", "bold"], mood: ["commanding", "editorial"], useCase: ["media", "news", "marketing"] },
|
|
22
|
+
{ name: "brutalist", heading: "Archivo Black", body: "Archivo", mono: "Source Code Pro", description: "Raw typographic force for expressive layouts.", categories: ["display", "brutalist", "bold"], mood: ["raw", "brutalist"], useCase: ["portfolio", "art", "experimental"] },
|
|
23
|
+
{ name: "handbook", heading: "Lexend", body: "Lexend", mono: "Inconsolata", description: "Readability-first pair for educational content.", categories: ["sans-serif", "superfamily", "readable"], mood: ["accessible", "clear"], useCase: ["education", "documentation", "accessibility"] },
|
|
24
|
+
{ name: "agency", heading: "Schibsted Grotesk", body: "Karla", mono: "Fira Code", description: "Nordic minimalism with grotesque warmth.", categories: ["sans-serif", "complementary", "nordic"], mood: ["minimal", "nordic"], useCase: ["agency", "design", "portfolio"] },
|
|
25
|
+
{ name: "literary", heading: "EB Garamond", body: "Crimson Text", mono: "Inconsolata", description: "A scholarly serif harmony for long reading.", categories: ["serif", "harmonious", "literary"], mood: ["scholarly", "literary"], useCase: ["publishing", "literature", "academic"] },
|
|
26
|
+
{ name: "novel", heading: "Cormorant Garamond", body: "Lora", mono: "JetBrains Mono", description: "Dramatic serif display with narrative warmth.", categories: ["serif", "harmonious", "narrative"], mood: ["dramatic", "literary"], useCase: ["publishing", "book", "longform"] },
|
|
27
|
+
{ name: "launch", heading: "Sora", body: "Public Sans", mono: "Fira Code", description: "Launch-ready confidence and clear UI body text.", categories: ["sans-serif", "complementary", "startup"], mood: ["modern", "confident"], useCase: ["startup", "landing page", "product"] },
|
|
28
|
+
{ name: "saas", heading: "Urbanist", body: "Libre Franklin", mono: "JetBrains Mono", description: "SaaS-native typography for product pages.", categories: ["sans-serif", "complementary", "product"], mood: ["clean", "startup"], useCase: ["SaaS", "pricing page", "product"] },
|
|
29
|
+
{ name: "playful", heading: "Quicksand", body: "Cabin", mono: "Inconsolata", description: "Rounded and approachable UI voice.", categories: ["sans-serif", "complementary", "friendly"], mood: ["playful", "approachable"], useCase: ["kids", "education", "consumer app"] },
|
|
30
|
+
{ name: "venture", heading: "Jost", body: "Rubik", mono: "Roboto Mono", description: "Geometric ambition for modern landing pages.", categories: ["sans-serif", "complementary", "geometric"], mood: ["bold", "geometric"], useCase: ["venture capital", "finance", "landing page"] },
|
|
31
|
+
{ name: "civic", heading: "Public Sans", body: "Lato", mono: "Source Code Pro", description: "Accessible clarity for civic and public services.", categories: ["sans-serif", "complementary", "accessible"], mood: ["trustworthy", "accessible"], useCase: ["government", "healthcare", "public sector"] },
|
|
32
|
+
{ name: "devtool", heading: "Red Hat Display", body: "Red Hat Display", mono: "Fira Code", description: "Technical but approachable devtool typography.", categories: ["sans-serif", "superfamily", "developer"], mood: ["technical", "open-source"], useCase: ["developer tools", "documentation", "open source"] },
|
|
33
|
+
{ name: "social", heading: "Poppins", body: "Hind", mono: "Roboto Mono", description: "Global-ready friendly social product stack.", categories: ["sans-serif", "complementary", "global"], mood: ["friendly", "warm"], useCase: ["social media", "consumer app", "i18n"] },
|
|
34
|
+
{ name: "swiss", heading: "Inter Tight", body: "Open Sans", mono: "IBM Plex Mono", description: "Neo-grotesque precision for admin interfaces.", categories: ["sans-serif", "complementary", "neutral"], mood: ["neutral", "systematic"], useCase: ["enterprise", "dashboard", "admin"] },
|
|
35
|
+
{ name: "wellness", heading: "Figtree", body: "Overpass", mono: "Inconsolata", description: "Calm, clear, and highly legible in critical flows.", categories: ["sans-serif", "complementary", "healthcare"], mood: ["calm", "clear"], useCase: ["healthcare", "wellness", "medical"] },
|
|
36
|
+
{ name: "digest", heading: "Bitter", body: "Open Sans", mono: "Source Code Pro", description: "Substantial slab-serif headlines with neutral body.", categories: ["serif", "contrast", "editorial"], mood: ["reliable", "editorial"], useCase: ["newsletter", "blog", "content"] },
|
|
37
|
+
{ name: "manifesto", heading: "Roboto Slab", body: "Roboto", mono: "Roboto Mono", description: "Complete Roboto system with slab authority.", categories: ["serif", "superfamily", "systematic"], mood: ["systematic", "professional"], useCase: ["enterprise", "Material Design", "documentation"] },
|
|
38
|
+
{ name: "zine", heading: "PT Serif", body: "PT Sans", mono: "Inconsolata", description: "Authoritative serif/sans duo for publishing.", categories: ["serif", "superfamily", "universal"], mood: ["authoritative", "universal"], useCase: ["news", "publishing", "i18n"] },
|
|
39
|
+
{ name: "impact", heading: "Fjalla One", body: "Josefin Sans", mono: "Fira Code", description: "Condensed power with art deco body character.", categories: ["display", "condensed", "bold"], mood: ["impactful", "commanding"], useCase: ["media", "sports", "marketing"] },
|
|
40
|
+
{ name: "capsule", heading: "Montserrat", body: "Karla", mono: "JetBrains Mono", description: "Urban geometric headlines with warm body copy.", categories: ["sans-serif", "complementary", "urban"], mood: ["modern", "bold"], useCase: ["fashion", "retail", "branding"] },
|
|
41
|
+
{ name: "beacon", heading: "Exo 2", body: "Titillium Web", mono: "Source Code Pro", description: "Futuristic geometry with technical readability.", categories: ["sans-serif", "geometric", "futuristic"], mood: ["futuristic", "technical"], useCase: ["tech", "space", "gaming"] },
|
|
42
|
+
{ name: "manila", heading: "Barlow Condensed", body: "Barlow", mono: "IBM Plex Mono", description: "Condensed superfamily optimized for information density.", categories: ["sans-serif", "superfamily", "condensed"], mood: ["efficient", "modern"], useCase: ["dashboard", "data", "news"] },
|
|
43
|
+
{ name: "memoir", heading: "Bitter", body: "Lora", mono: "Inconsolata", description: "Warm long-form serif pairing for story-heavy content.", categories: ["serif", "harmonious", "warm"], mood: ["warm", "narrative"], useCase: ["blog", "memoir", "longform"] },
|
|
44
|
+
{ name: "folio", heading: "Josefin Sans", body: "Raleway", mono: "Roboto Mono", description: "Vintage geometry with elegant fashion-forward tone.", categories: ["sans-serif", "complementary", "elegant"], mood: ["elegant", "sophisticated"], useCase: ["portfolio", "fashion", "luxury"] },
|
|
45
|
+
{ name: "commons", heading: "Cabin", body: "Mukta", mono: "Fira Code", description: "Inclusive humanist pairing across scripts.", categories: ["sans-serif", "complementary", "inclusive"], mood: ["approachable", "inclusive"], useCase: ["community", "nonprofit", "education"] },
|
|
46
|
+
{ name: "protocol", heading: "Saira", body: "Ubuntu", mono: "IBM Plex Mono", description: "Distinctive technical pairing for dev-facing products.", categories: ["sans-serif", "complementary", "technical"], mood: ["technical", "distinctive"], useCase: ["developer tools", "Linux", "open source"] },
|
|
47
|
+
{ name: "dispatch", heading: "Heebo", body: "Assistant", mono: "Source Code Pro", description: "Global communication pairing with script versatility.", categories: ["sans-serif", "complementary", "global"], mood: ["neutral", "inclusive"], useCase: ["i18n", "enterprise", "communication"] },
|
|
48
|
+
{ name: "orbit", heading: "Space Grotesk", body: "Manrope", mono: "JetBrains Mono", description: "High-contrast geometric UI stack for product and docs surfaces.", categories: ["sans-serif", "geometric", "product"], mood: ["modern", "focused"], useCase: ["saas", "dashboard", "docs"] },
|
|
49
|
+
{ name: "atlas", heading: "Merriweather Sans", body: "Inter", mono: "IBM Plex Mono", description: "Pragmatic structure with strong heading rhythm and neutral body copy.", categories: ["sans-serif", "structured", "readable"], mood: ["reliable", "calm"], useCase: ["knowledge base", "editorial", "platform"] },
|
|
50
|
+
{ name: "forge", heading: "Barlow", body: "Noto Sans", mono: "Source Code Pro", description: "Industrial clarity for technical products and enterprise dashboards.", categories: ["sans-serif", "technical", "systematic"], mood: ["systematic", "precise"], useCase: ["enterprise", "admin", "ops"] },
|
|
51
|
+
{ name: "canvas", heading: "Lora", body: "Figtree", mono: "Fira Code", description: "Expressive serif headlines balanced by soft geometric body text.", categories: ["serif", "contrast", "creative"], mood: ["expressive", "warm"], useCase: ["portfolio", "publishing", "studio"] },
|
|
52
|
+
{ name: "signal", heading: "Inter Tight", body: "Public Sans", mono: "JetBrains Mono", description: "Dense information layout pair optimized for fast scanning.", categories: ["sans-serif", "neutral", "data"], mood: ["neutral", "efficient"], useCase: ["analytics", "monitoring", "newsroom"] },
|
|
53
|
+
{ name: "northstar", heading: "Sora", body: "Mulish", mono: "IBM Plex Mono", description: "Balanced startup type system with clean hierarchy and stable rhythm.", categories: ["sans-serif", "complementary", "startup"], mood: ["clean", "confident"], useCase: ["landing page", "product", "marketing"] },
|
|
54
|
+
{ name: "geist", heading: "Geist", body: "Inter", mono: "Geist Mono", description: "Geist for display, Inter for dense UI copy, Geist Mono for code—easy to spot in search and installs.", categories: ["sans-serif", "system", "developer"], mood: ["modern", "precise"], useCase: ["app", "dashboard", "docs"] },
|
|
55
|
+
{ name: "workspace", heading: "Geist", body: "DM Sans", mono: "Geist Mono", description: "Geist headlines with DM Sans body and Geist Mono for snippets.", categories: ["sans-serif", "complementary", "product"], mood: ["modern", "friendly"], useCase: ["SaaS", "workspace", "marketing"] },
|
|
56
|
+
];
|
|
57
|
+
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import fs from "node:fs";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { ensureDir } from "./fs-utils.mjs";
|
|
4
|
+
|
|
5
|
+
export function isAstroProject(targetDir) {
|
|
6
|
+
const astroConfigCandidates = [
|
|
7
|
+
"astro.config.mjs",
|
|
8
|
+
"astro.config.js",
|
|
9
|
+
"astro.config.ts",
|
|
10
|
+
"astro.config.cjs",
|
|
11
|
+
];
|
|
12
|
+
const hasConfig = astroConfigCandidates.some((file) =>
|
|
13
|
+
fs.existsSync(path.join(targetDir, file))
|
|
14
|
+
);
|
|
15
|
+
if (!hasConfig) return false;
|
|
16
|
+
|
|
17
|
+
const packageJsonPath = path.join(targetDir, "package.json");
|
|
18
|
+
if (!fs.existsSync(packageJsonPath)) return false;
|
|
19
|
+
const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, "utf-8"));
|
|
20
|
+
return Boolean(
|
|
21
|
+
packageJson?.dependencies?.astro || packageJson?.devDependencies?.astro
|
|
22
|
+
);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export function buildFontImports(fontEntries) {
|
|
26
|
+
const lines = [];
|
|
27
|
+
for (const font of fontEntries) {
|
|
28
|
+
if (!font) continue;
|
|
29
|
+
if (font.font.provider === "npm" && font.font.npmPackage === "geist") {
|
|
30
|
+
if (font.name === "geist") lines.push('@import "geist/font/sans.css";');
|
|
31
|
+
if (font.name === "geist-mono") lines.push('@import "geist/font/mono.css";');
|
|
32
|
+
continue;
|
|
33
|
+
}
|
|
34
|
+
if (font.font.dependency) {
|
|
35
|
+
lines.push(`@import "${font.font.dependency}";`);
|
|
36
|
+
continue;
|
|
37
|
+
}
|
|
38
|
+
if (font.font.provider === "google") {
|
|
39
|
+
lines.push(
|
|
40
|
+
`@import url("https://fonts.googleapis.com/css2?family=${encodeURIComponent(
|
|
41
|
+
font.title
|
|
42
|
+
).replace(/%20/g, "+")}:wght@400;500;600;700&display=swap");`
|
|
43
|
+
);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
return [...new Set(lines)].join("\n");
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
export function ensureImport(globalCssPath, importLine) {
|
|
50
|
+
const css = fs.existsSync(globalCssPath) ? fs.readFileSync(globalCssPath, "utf-8") : "";
|
|
51
|
+
if (css.includes(importLine)) return;
|
|
52
|
+
fs.writeFileSync(globalCssPath, `${importLine}\n${css}`);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
export function writeAstrotypeCss(targetDir, slug, cssText) {
|
|
56
|
+
const stylesDir = path.join(targetDir, "src", "styles", "astrotypes");
|
|
57
|
+
ensureDir(stylesDir);
|
|
58
|
+
const cssPath = path.join(stylesDir, `${slug}.css`);
|
|
59
|
+
fs.writeFileSync(cssPath, cssText);
|
|
60
|
+
|
|
61
|
+
const globalCssPath = path.join(targetDir, "src", "styles", "global.css");
|
|
62
|
+
ensureDir(path.dirname(globalCssPath));
|
|
63
|
+
ensureImport(globalCssPath, `@import "./astrotypes/${slug}.css";`);
|
|
64
|
+
return cssPath;
|
|
65
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import fs from "node:fs";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
|
|
4
|
+
export function ensureDir(dirPath) {
|
|
5
|
+
fs.mkdirSync(dirPath, { recursive: true });
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export function readJson(filePath) {
|
|
9
|
+
return JSON.parse(fs.readFileSync(filePath, "utf-8"));
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export function writeJson(filePath, value) {
|
|
13
|
+
ensureDir(path.dirname(filePath));
|
|
14
|
+
fs.writeFileSync(filePath, JSON.stringify(value, null, 2) + "\n");
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export function listJsonFiles(dirPath) {
|
|
18
|
+
if (!fs.existsSync(dirPath)) return [];
|
|
19
|
+
return fs
|
|
20
|
+
.readdirSync(dirPath)
|
|
21
|
+
.filter((name) => name.endsWith(".json"))
|
|
22
|
+
.sort();
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export function readJsonDirectory(dirPath) {
|
|
26
|
+
return listJsonFiles(dirPath).map((fileName) =>
|
|
27
|
+
readJson(path.join(dirPath, fileName))
|
|
28
|
+
);
|
|
29
|
+
}
|
|
30
|
+
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import path from "node:path";
|
|
2
|
+
|
|
3
|
+
export const PROJECT_ROOT = process.cwd();
|
|
4
|
+
export const REGISTRY_DIR = path.join(PROJECT_ROOT, "registry");
|
|
5
|
+
export const REGISTRY_FONTS_DIR = path.join(REGISTRY_DIR, "fonts");
|
|
6
|
+
export const REGISTRY_PAIRINGS_DIR = path.join(REGISTRY_DIR, "pairings");
|
|
7
|
+
export const PUBLIC_DIR = path.join(PROJECT_ROOT, "public");
|
|
8
|
+
export const PUBLIC_REGISTRY_DIR = path.join(PUBLIC_DIR, "registry");
|
|
9
|
+
export const GENERATED_DATA_DIR = path.join(PROJECT_ROOT, "src", "data");
|
|
10
|
+
|
|
11
|
+
export function toKebab(value) {
|
|
12
|
+
return value
|
|
13
|
+
.toLowerCase()
|
|
14
|
+
.replace(/[^a-z0-9]+/g, "-")
|
|
15
|
+
.replace(/(^-|-$)/g, "");
|
|
16
|
+
}
|
|
17
|
+
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import fs from "node:fs";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import {
|
|
4
|
+
REGISTRY_FONTS_DIR,
|
|
5
|
+
REGISTRY_PAIRINGS_DIR,
|
|
6
|
+
} from "./paths.mjs";
|
|
7
|
+
import { readJson, readJsonDirectory } from "./fs-utils.mjs";
|
|
8
|
+
import { validateFontEntry, validatePairingEntry } from "./schema.mjs";
|
|
9
|
+
|
|
10
|
+
export function getAllFonts() {
|
|
11
|
+
return readJsonDirectory(REGISTRY_FONTS_DIR);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export function getAllPairings() {
|
|
15
|
+
return readJsonDirectory(REGISTRY_PAIRINGS_DIR);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export function getFontByName(name) {
|
|
19
|
+
const normalized = String(name || "").replace(/^font-/, "");
|
|
20
|
+
const filePath = path.join(REGISTRY_FONTS_DIR, `${normalized}.json`);
|
|
21
|
+
if (fs.existsSync(filePath)) {
|
|
22
|
+
try {
|
|
23
|
+
return readJson(filePath);
|
|
24
|
+
} catch {
|
|
25
|
+
/* fall through */
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
for (const font of getAllFonts()) {
|
|
29
|
+
if (font.name === normalized) return font;
|
|
30
|
+
if (Array.isArray(font.aliases) && font.aliases.includes(normalized)) {
|
|
31
|
+
return font;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
return null;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export function getPairingByName(name) {
|
|
38
|
+
const normalized = name.replace(/^pairing-/, "");
|
|
39
|
+
const filePath = path.join(REGISTRY_PAIRINGS_DIR, `${normalized}.json`);
|
|
40
|
+
if (fs.existsSync(filePath)) {
|
|
41
|
+
try {
|
|
42
|
+
return readJson(filePath);
|
|
43
|
+
} catch {
|
|
44
|
+
/* fall through */
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
for (const pairing of getAllPairings()) {
|
|
48
|
+
if (pairing.name === normalized) return pairing;
|
|
49
|
+
if (Array.isArray(pairing.aliases) && pairing.aliases.includes(normalized)) {
|
|
50
|
+
return pairing;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
return null;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
export function validateRegistry() {
|
|
57
|
+
const fontErrors = [];
|
|
58
|
+
const pairingErrors = [];
|
|
59
|
+
for (const font of getAllFonts()) {
|
|
60
|
+
const error = validateFontEntry(font);
|
|
61
|
+
if (error) fontErrors.push(`[font:${font?.name ?? "unknown"}] ${error}`);
|
|
62
|
+
}
|
|
63
|
+
for (const pairing of getAllPairings()) {
|
|
64
|
+
const error = validatePairingEntry(pairing);
|
|
65
|
+
if (error) pairingErrors.push(`[pairing:${pairing?.name ?? "unknown"}] ${error}`);
|
|
66
|
+
}
|
|
67
|
+
return { fontErrors, pairingErrors };
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
export function buildRegistryIndex(baseUrl) {
|
|
71
|
+
const fonts = getAllFonts();
|
|
72
|
+
const pairings = getAllPairings();
|
|
73
|
+
return {
|
|
74
|
+
generatedAt: new Date().toISOString(),
|
|
75
|
+
baseUrl,
|
|
76
|
+
fonts: fonts.map((font) => ({
|
|
77
|
+
name: font.name,
|
|
78
|
+
title: font.title,
|
|
79
|
+
provider: font.font.provider,
|
|
80
|
+
variable: font.font.variable,
|
|
81
|
+
url: `${baseUrl}/registry/${font.name}.json`,
|
|
82
|
+
})),
|
|
83
|
+
pairings: pairings.map((pairing) => ({
|
|
84
|
+
name: pairing.name,
|
|
85
|
+
title: pairing.title,
|
|
86
|
+
description: pairing.description,
|
|
87
|
+
category: pairing.category ?? null,
|
|
88
|
+
mood: pairing.meta?.mood ?? [],
|
|
89
|
+
useCase: pairing.meta?.useCase ?? [],
|
|
90
|
+
url: `${baseUrl}/registry/${pairing.name}.json`,
|
|
91
|
+
})),
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
export function validateFontEntry(entry) {
|
|
2
|
+
if (!entry || typeof entry !== "object") return "Font entry must be an object";
|
|
3
|
+
if (entry.type !== "astrotypes:font") return "Font entry type must be astrotypes:font";
|
|
4
|
+
if (!entry.name || typeof entry.name !== "string") return "Font entry name is required";
|
|
5
|
+
if (!entry.title || typeof entry.title !== "string") return "Font entry title is required";
|
|
6
|
+
if (!entry.font || typeof entry.font !== "object") return "Font entry font block is required";
|
|
7
|
+
if (!entry.font.family || typeof entry.font.family !== "string") {
|
|
8
|
+
return "Font family is required";
|
|
9
|
+
}
|
|
10
|
+
if (!entry.font.variable || typeof entry.font.variable !== "string") {
|
|
11
|
+
return "Font variable is required";
|
|
12
|
+
}
|
|
13
|
+
if (!Array.isArray(entry.font.weight)) return "Font weight must be an array";
|
|
14
|
+
if (!Array.isArray(entry.font.subsets)) return "Font subsets must be an array";
|
|
15
|
+
return null;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export function validatePairingEntry(entry) {
|
|
19
|
+
if (!entry || typeof entry !== "object") return "Pairing entry must be an object";
|
|
20
|
+
if (entry.type !== "astrotypes:pairing") {
|
|
21
|
+
return "Pairing entry type must be astrotypes:pairing";
|
|
22
|
+
}
|
|
23
|
+
if (!entry.name || typeof entry.name !== "string") return "Pairing entry name is required";
|
|
24
|
+
if (!entry.title || typeof entry.title !== "string") return "Pairing title is required";
|
|
25
|
+
if (!entry.fonts || typeof entry.fonts !== "object") return "Pairing fonts block is required";
|
|
26
|
+
for (const key of ["heading", "body", "mono"]) {
|
|
27
|
+
if (!entry.fonts[key] || typeof entry.fonts[key] !== "string") {
|
|
28
|
+
return `Pairing fonts.${key} is required`;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
if (!entry.tokens || typeof entry.tokens !== "object") return "Pairing tokens block is required";
|
|
32
|
+
if (entry.id !== undefined) {
|
|
33
|
+
if (typeof entry.id !== "string" || !entry.id.trim()) return "Pairing id must be a non-empty string";
|
|
34
|
+
}
|
|
35
|
+
if (entry.aliases !== undefined) {
|
|
36
|
+
if (!Array.isArray(entry.aliases)) return "Pairing aliases must be an array";
|
|
37
|
+
for (const a of entry.aliases) {
|
|
38
|
+
if (typeof a !== "string" || !a.trim()) return "Each pairing alias must be a non-empty string";
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
return null;
|
|
42
|
+
}
|
|
43
|
+
|
package/package.json
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "astrotype",
|
|
3
|
+
"description": "Astro-first font registry and CLI for installing pairings or single fonts.",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"version": "0.1.1",
|
|
6
|
+
"private": false,
|
|
7
|
+
"keywords": [
|
|
8
|
+
"astro",
|
|
9
|
+
"typography",
|
|
10
|
+
"fonts",
|
|
11
|
+
"font-pairing",
|
|
12
|
+
"cli"
|
|
13
|
+
],
|
|
14
|
+
"license": "MIT",
|
|
15
|
+
"repository": {
|
|
16
|
+
"type": "git",
|
|
17
|
+
"url": "git+https://github.com/Lexington-Themes/astrotypes.com.git"
|
|
18
|
+
},
|
|
19
|
+
"homepage": "https://github.com/Lexington-Themes/astrotypes.com#readme",
|
|
20
|
+
"bugs": {
|
|
21
|
+
"url": "https://github.com/Lexington-Themes/astrotypes.com/issues"
|
|
22
|
+
},
|
|
23
|
+
"files": [
|
|
24
|
+
"bin/",
|
|
25
|
+
"cli/",
|
|
26
|
+
"registry/",
|
|
27
|
+
"README.md",
|
|
28
|
+
"LICENSE"
|
|
29
|
+
],
|
|
30
|
+
"bin": {
|
|
31
|
+
"astrotypes": "./bin/astrotypes.mjs"
|
|
32
|
+
},
|
|
33
|
+
"scripts": {
|
|
34
|
+
"dev": "astro dev",
|
|
35
|
+
"start": "astro dev",
|
|
36
|
+
"build": "npm run build:registry && astro build",
|
|
37
|
+
"preview": "astro preview",
|
|
38
|
+
"astro": "astro",
|
|
39
|
+
"generate:fonts": "node ./bin/astrotypes.mjs generate:fonts",
|
|
40
|
+
"generate:candidates": "node ./bin/astrotypes.mjs generate:candidates",
|
|
41
|
+
"sync:pairings": "node ./bin/astrotypes.mjs sync:pairings",
|
|
42
|
+
"build:registry": "node ./bin/astrotypes.mjs build:registry",
|
|
43
|
+
"add:pairing": "node ./bin/astrotypes.mjs add"
|
|
44
|
+
},
|
|
45
|
+
"dependencies": {
|
|
46
|
+
"@astrojs/sitemap": "^3.7.1",
|
|
47
|
+
"@lexingtonthemes/seo": "^0.1.0",
|
|
48
|
+
"astro": "^6.0.6",
|
|
49
|
+
"reading-time": "^1.5.0"
|
|
50
|
+
},
|
|
51
|
+
"devDependencies": {
|
|
52
|
+
"@tailwindcss/vite": "^4.1.18",
|
|
53
|
+
"tailwindcss": "^4.1.18"
|
|
54
|
+
}
|
|
55
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "abeezee",
|
|
3
|
+
"type": "astrotypes:font",
|
|
4
|
+
"title": "ABeeZee",
|
|
5
|
+
"description": "ABeeZee font definition for Astrotypes.",
|
|
6
|
+
"category": "Sans Serif",
|
|
7
|
+
"font": {
|
|
8
|
+
"family": "ABeeZee Variable",
|
|
9
|
+
"provider": "google",
|
|
10
|
+
"import": "ABeeZee",
|
|
11
|
+
"variable": "--font-abeezee",
|
|
12
|
+
"weight": [
|
|
13
|
+
"400"
|
|
14
|
+
],
|
|
15
|
+
"subsets": [
|
|
16
|
+
"menu",
|
|
17
|
+
"latin",
|
|
18
|
+
"latin-ext"
|
|
19
|
+
]
|
|
20
|
+
}
|
|
21
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "abel",
|
|
3
|
+
"type": "astrotypes:font",
|
|
4
|
+
"title": "Abel",
|
|
5
|
+
"description": "Abel font definition for Astrotypes.",
|
|
6
|
+
"category": "Sans Serif",
|
|
7
|
+
"font": {
|
|
8
|
+
"family": "Abel Variable",
|
|
9
|
+
"provider": "google",
|
|
10
|
+
"import": "Abel",
|
|
11
|
+
"variable": "--font-abel",
|
|
12
|
+
"weight": [
|
|
13
|
+
"400"
|
|
14
|
+
],
|
|
15
|
+
"subsets": [
|
|
16
|
+
"menu",
|
|
17
|
+
"latin"
|
|
18
|
+
]
|
|
19
|
+
}
|
|
20
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "abhaya-libre",
|
|
3
|
+
"type": "astrotypes:font",
|
|
4
|
+
"title": "Abhaya Libre",
|
|
5
|
+
"description": "Abhaya Libre font definition for Astrotypes.",
|
|
6
|
+
"category": "Serif",
|
|
7
|
+
"font": {
|
|
8
|
+
"family": "Abhaya Libre Variable",
|
|
9
|
+
"provider": "google",
|
|
10
|
+
"import": "Abhaya_Libre",
|
|
11
|
+
"variable": "--font-abhaya-libre",
|
|
12
|
+
"weight": [
|
|
13
|
+
"400",
|
|
14
|
+
"500",
|
|
15
|
+
"600",
|
|
16
|
+
"700",
|
|
17
|
+
"800"
|
|
18
|
+
],
|
|
19
|
+
"subsets": [
|
|
20
|
+
"menu",
|
|
21
|
+
"latin",
|
|
22
|
+
"latin-ext",
|
|
23
|
+
"sinhala"
|
|
24
|
+
]
|
|
25
|
+
}
|
|
26
|
+
}
|